/*! * Material Design for Bootstrap * Version: MDB FREE 3.4.1 * * Copyright: Material Design for Bootstrap * www.mdbootstrap.com * * Read the license: http://mdbootstrap.com/license/ * * Atribution: Animate CSS, Twitter Bootstrap, Materialize CSS, Normalize CSS, Waves JS, WOW JS, Toastr, Chart.js , Hammer.js *//*! * Chart.js * http://chartjs.org/ * Version: 1.0.2 * * Copyright 2015 Nick Downie * Released under the MIT license * https://github.com/nnnick/Chart.js/blob/master/LICENSE.md */(function(){"use strict";var root=this,previous=root.Chart;var Chart=function(context){var chart=this;this.canvas=context.canvas;this.ctx=context;var computeDimension=function(element,dimension) {if(element['offset'+dimension]) {return element['offset'+dimension];} else {return document.defaultView.getComputedStyle(element).getPropertyValue(dimension);}};var width=this.width=computeDimension(context.canvas,'Width')||context.canvas.width;var height=this.height=computeDimension(context.canvas,'Height')||context.canvas.height;width=this.width=context.canvas.width;height=this.height=context.canvas.height;this.aspectRatio=this.width/this.height;helpers.retinaScale(this);return this;};Chart.defaults={global:{animation:true,animationSteps:60,animationEasing:"easeOutQuart",showScale:true,scaleOverride:false,scaleSteps:null,scaleStepWidth:null,scaleStartValue:null,scaleLineColor:"rgba(0,0,0,.1)",scaleLineWidth:1,scaleShowLabels:true,scaleLabel:"<%=value%>",scaleIntegersOnly:true,scaleBeginAtZero:false,scaleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",scaleFontSize:12,scaleFontStyle:"normal",scaleFontColor:"#666",responsive:false,maintainAspectRatio:true,showTooltips:true,customTooltips:false,tooltipEvents:["mousemove","touchstart","touchmove","mouseout"],tooltipFillColor:"rgba(0,0,0,0.8)",tooltipFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipFontSize:14,tooltipFontStyle:"normal",tooltipFontColor:"#fff",tooltipTitleFontFamily:"'Helvetica Neue', 'Helvetica', 'Arial', sans-serif",tooltipTitleFontSize:14,tooltipTitleFontStyle:"bold",tooltipTitleFontColor:"#fff",tooltipTitleTemplate:"<%= label%>",tooltipYPadding:6,tooltipXPadding:6,tooltipCaretSize:8,tooltipCornerRadius:6,tooltipXOffset:10,tooltipTemplate:"<%if (label){%><%=label%>: <%}%><%= value %>",multiTooltipTemplate:"<%= value %>",multiTooltipKeyBackground:'#fff',segmentColorDefault:["#A6CEE3","#1F78B4","#B2DF8A","#33A02C","#FB9A99","#E31A1C","#FDBF6F","#FF7F00","#CAB2D6","#6A3D9A","#B4B482","#B15928"],segmentHighlightColorDefaults:["#CEF6FF","#47A0DC","#DAFFB2","#5BC854","#FFC2C1","#FF4244","#FFE797","#FFA728","#F2DAFE","#9265C2","#DCDCAA","#D98150"],onAnimationProgress:function(){},onAnimationComplete:function(){}}};Chart.types={};var helpers=Chart.helpers={};var each=helpers.each=function(loopable,callback,self){var additionalArgs=Array.prototype.slice.call(arguments,3);if(loopable){if(loopable.length===+loopable.length){var i;for(i=0;i=0;i--){var currentItem=arrayToSearch[i];if(filterCallback(currentItem)){return currentItem;}}},inherits=helpers.inherits=function(extensions){var parent=this;var ChartElement=(extensions&&extensions.hasOwnProperty("constructor"))?extensions.constructor:function(){return parent.apply(this,arguments);};var Surrogate=function(){this.constructor=ChartElement;};Surrogate.prototype=parent.prototype;ChartElement.prototype=new Surrogate();ChartElement.extend=inherits;if(extensions)extend(ChartElement.prototype,extensions);ChartElement.__super__=parent.prototype;return ChartElement;},noop=helpers.noop=function(){},uid=helpers.uid=(function(){var id=0;return function(){return "chart-"+id++;};})(),warn=helpers.warn=function(str){if(window.console&&typeof window.console.warn==="function")console.warn(str);},amd=helpers.amd=(typeof define==='function'&&define.amd),isNumber=helpers.isNumber=function(n){return!isNaN(parseFloat(n))&&isFinite(n);},max=helpers.max=function(array){return Math.max.apply(Math,array);},min=helpers.min=function(array){return Math.min.apply(Math,array);},cap=helpers.cap=function(valueToCap,maxValue,minValue){if(isNumber(maxValue)){if(valueToCap>maxValue){return maxValue;}} else if(isNumber(minValue)){if(valueToCap=maxSteps);var values=[];each(valuesArray,function(v){v==null||values.push(v);});var minValue=min(values),maxValue=max(values);if(maxValue===minValue){maxValue+=0.5;if(minValue>=0.5&&!startFromZero){minValue-=0.5;} else{maxValue+=0.5;}} var valueRange=Math.abs(maxValue-minValue),rangeOrderOfMagnitude=calculateOrderOfMagnitude(valueRange),graphMax=Math.ceil(maxValue/(1*Math.pow(10,rangeOrderOfMagnitude)))*Math.pow(10,rangeOrderOfMagnitude),graphMin=(startFromZero)?0:Math.floor(minValue/(1*Math.pow(10,rangeOrderOfMagnitude)))*Math.pow(10,rangeOrderOfMagnitude),graphRange=graphMax-graphMin,stepValue=Math.pow(10,rangeOrderOfMagnitude),numberOfSteps=Math.round(graphRange/stepValue);while((numberOfSteps>maxSteps||(numberOfSteps*2)maxSteps){stepValue*=2;numberOfSteps=Math.round(graphRange/stepValue);if(numberOfSteps%1!==0){skipFitting=true;}} else{if(integersOnly&&rangeOrderOfMagnitude>=0){if(stepValue/2%1===0){stepValue/=2;numberOfSteps=Math.round(graphRange/stepValue);} else{break;}} else{stepValue/=2;numberOfSteps=Math.round(graphRange/stepValue);}}} if(skipFitting){numberOfSteps=minSteps;stepValue=graphRange/numberOfSteps;} return{steps:numberOfSteps,stepValue:stepValue,min:graphMin,max:graphMin+(numberOfSteps*stepValue)};},template=helpers.template=function(templateString,valuesObject){if(templateString instanceof Function){return templateString(valuesObject);} var cache={};function tmpl(str,data){var fn=!/\W/.test(str)?cache[str]=cache[str]:new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};"+ "with(obj){p.push('"+ str.replace(/[\r\t\n]/g," ").split("<%").join("\t").replace(/((^|%>)[^\t]*)'/g,"$1\r").replace(/\t=(.*?)%>/g,"',$1,'").split("\t").join("');").split("%>").join("p.push('").split("\r").join("\\'")+ "');}return p.join('');");return data?fn(data):fn;} return tmpl(templateString,valuesObject);},generateLabels=helpers.generateLabels=function(templateString,numberOfSteps,graphMin,stepValue){var labelsArray=new Array(numberOfSteps);if(templateString){each(labelsArray,function(val,index){labelsArray[index]=template(templateString,{value:(graphMin+(stepValue*(index+1)))});});} return labelsArray;},easingEffects=helpers.easingEffects={linear:function(t){return t;},easeInQuad:function(t){return t*t;},easeOutQuad:function(t){return-1*t*(t-2);},easeInOutQuad:function(t){if((t/=1/2)<1){return 1/2*t*t;} return-1/2*((--t)*(t-2)-1);},easeInCubic:function(t){return t*t*t;},easeOutCubic:function(t){return 1*((t=t/1-1)*t*t+1);},easeInOutCubic:function(t){if((t/=1/2)<1){return 1/2*t*t*t;} return 1/2*((t-=2)*t*t+2);},easeInQuart:function(t){return t*t*t*t;},easeOutQuart:function(t){return-1*((t=t/1-1)*t*t*t-1);},easeInOutQuart:function(t){if((t/=1/2)<1){return 1/2*t*t*t*t;} return-1/2*((t-=2)*t*t*t-2);},easeInQuint:function(t){return 1*(t/=1)*t*t*t*t;},easeOutQuint:function(t){return 1*((t=t/1-1)*t*t*t*t+1);},easeInOutQuint:function(t){if((t/=1/2)<1){return 1/2*t*t*t*t*t;} return 1/2*((t-=2)*t*t*t*t+2);},easeInSine:function(t){return-1*Math.cos(t/1*(Math.PI/2))+1;},easeOutSine:function(t){return 1*Math.sin(t/1*(Math.PI/2));},easeInOutSine:function(t){return-1/2*(Math.cos(Math.PI*t/1)-1);},easeInExpo:function(t){return(t===0)?1:1*Math.pow(2,10*(t/1-1));},easeOutExpo:function(t){return(t===1)?1:1*(-Math.pow(2,-10*t/1)+1);},easeInOutExpo:function(t){if(t===0){return 0;} if(t===1){return 1;} if((t/=1/2)<1){return 1/2*Math.pow(2,10*(t-1));} return 1/2*(-Math.pow(2,-10*--t)+2);},easeInCirc:function(t){if(t>=1){return t;} return-1*(Math.sqrt(1-(t/=1)*t)-1);},easeOutCirc:function(t){return 1*Math.sqrt(1-(t=t/1-1)*t);},easeInOutCirc:function(t){if((t/=1/2)<1){return-1/2*(Math.sqrt(1-t*t)-1);} return 1/2*(Math.sqrt(1-(t-=2)*t)+1);},easeInElastic:function(t){var s=1.70158;var p=0;var a=1;if(t===0){return 0;} if((t/=1)==1){return 1;} if(!p){p=1*0.3;} if(alongest)?textWidth:longest;});return longest;},drawRoundedRectangle=helpers.drawRoundedRectangle=function(ctx,x,y,width,height,radius){ctx.beginPath();ctx.moveTo(x+radius,y);ctx.lineTo(x+width-radius,y);ctx.quadraticCurveTo(x+width,y,x+width,y+radius);ctx.lineTo(x+width,y+height-radius);ctx.quadraticCurveTo(x+width,y+height,x+width-radius,y+height);ctx.lineTo(x+radius,y+height);ctx.quadraticCurveTo(x,y+height,x,y+height-radius);ctx.lineTo(x,y+radius);ctx.quadraticCurveTo(x,y,x+radius,y);ctx.closePath();};Chart.instances={};Chart.Type=function(data,options,chart){this.options=options;this.chart=chart;this.id=uid();Chart.instances[this.id]=this;if(options.responsive){this.resize();} this.initialize.call(this,data);};extend(Chart.Type.prototype,{initialize:function(){return this;},clear:function(){clear(this.chart);return this;},stop:function(){Chart.animationService.cancelAnimation(this);return this;},resize:function(callback){this.stop();var canvas=this.chart.canvas,newWidth=getMaximumWidth(this.chart.canvas),newHeight=this.options.maintainAspectRatio?newWidth/this.chart.aspectRatio:getMaximumHeight(this.chart.canvas);canvas.width=this.chart.width=newWidth;canvas.height=this.chart.height=newHeight;retinaScale(this.chart);if(typeof callback==="function"){callback.apply(this,Array.prototype.slice.call(arguments,1));} return this;},reflow:noop,render:function(reflow){if(reflow){this.reflow();} if(this.options.animation&&!reflow){var animation=new Chart.Animation();animation.numSteps=this.options.animationSteps;animation.easing=this.options.animationEasing;animation.render=function(chartInstance,animationObject){var easingFunction=helpers.easingEffects[animationObject.easing];var stepDecimal=animationObject.currentStep/animationObject.numSteps;var easeDecimal=easingFunction(stepDecimal);chartInstance.draw(easeDecimal,stepDecimal,animationObject.currentStep);};animation.onAnimationProgress=this.options.onAnimationProgress;animation.onAnimationComplete=this.options.onAnimationComplete;Chart.animationService.addAnimation(this,animation);} else{this.draw();this.options.onAnimationComplete.call(this);} return this;},generateLegend:function(){return template(this.options.legendTemplate,this);},destroy:function(){this.clear();unbindEvents(this,this.events);var canvas=this.chart.canvas;canvas.width=this.chart.width;canvas.height=this.chart.height;if(canvas.style.removeProperty){canvas.style.removeProperty('width');canvas.style.removeProperty('height');}else{canvas.style.removeAttribute('width');canvas.style.removeAttribute('height');} delete Chart.instances[this.id];},showTooltip:function(ChartElements,forceRedraw){if(typeof this.activeElements==='undefined')this.activeElements=[];var isChanged=(function(Elements){var changed=false;if(Elements.length!==this.activeElements.length){changed=true;return changed;} each(Elements,function(element,index){if(element!==this.activeElements[index]){changed=true;}},this);return changed;}).call(this,ChartElements);if(!isChanged&&!forceRedraw){return;} else{this.activeElements=ChartElements;} this.draw();if(this.options.customTooltips){this.options.customTooltips(false);} if(ChartElements.length>0){if(this.datasets&&this.datasets.length>1){var dataArray,dataIndex;for(var i=this.datasets.length-1;i>=0;i--){dataArray=this.datasets[i].points||this.datasets[i].bars||this.datasets[i].segments;dataIndex=indexOf(dataArray,ChartElements[0]);if(dataIndex!==-1){break;}} var tooltipLabels=[],tooltipColors=[],medianPosition=(function(index){var Elements=[],dataCollection,xPositions=[],yPositions=[],xMax,yMax,xMin,yMin;helpers.each(this.datasets,function(dataset){dataCollection=dataset.points||dataset.bars||dataset.segments;if(dataCollection[dataIndex]&&dataCollection[dataIndex].hasValue()){Elements.push(dataCollection[dataIndex]);}});helpers.each(Elements,function(element){xPositions.push(element.x);yPositions.push(element.y);tooltipLabels.push(helpers.template(this.options.multiTooltipTemplate,element));tooltipColors.push({fill:element._saved.fillColor||element.fillColor,stroke:element._saved.strokeColor||element.strokeColor});},this);yMin=min(yPositions);yMax=max(yPositions);xMin=min(xPositions);xMax=max(xPositions);return{x:(xMin>this.chart.width/2)?xMin:xMax,y:(yMin+yMax)/2};}).call(this,dataIndex);new Chart.MultiTooltip({x:medianPosition.x,y:medianPosition.y,xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,xOffset:this.options.tooltipXOffset,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,titleTextColor:this.options.tooltipTitleFontColor,titleFontFamily:this.options.tooltipTitleFontFamily,titleFontStyle:this.options.tooltipTitleFontStyle,titleFontSize:this.options.tooltipTitleFontSize,cornerRadius:this.options.tooltipCornerRadius,labels:tooltipLabels,legendColors:tooltipColors,legendColorBackground:this.options.multiTooltipKeyBackground,title:template(this.options.tooltipTitleTemplate,ChartElements[0]),chart:this.chart,ctx:this.chart.ctx,custom:this.options.customTooltips}).draw();}else{each(ChartElements,function(Element){var tooltipPosition=Element.tooltipPosition();new Chart.Tooltip({x:Math.round(tooltipPosition.x),y:Math.round(tooltipPosition.y),xPadding:this.options.tooltipXPadding,yPadding:this.options.tooltipYPadding,fillColor:this.options.tooltipFillColor,textColor:this.options.tooltipFontColor,fontFamily:this.options.tooltipFontFamily,fontStyle:this.options.tooltipFontStyle,fontSize:this.options.tooltipFontSize,caretHeight:this.options.tooltipCaretSize,cornerRadius:this.options.tooltipCornerRadius,text:template(this.options.tooltipTemplate,Element),chart:this.chart,custom:this.options.customTooltips}).draw();},this);}} return this;},toBase64Image:function(){return this.chart.canvas.toDataURL.apply(this.chart.canvas,arguments);}});Chart.Type.extend=function(extensions){var parent=this;var ChartType=function(){return parent.apply(this,arguments);};ChartType.prototype=clone(parent.prototype);extend(ChartType.prototype,extensions);ChartType.extend=Chart.Type.extend;if(extensions.name||parent.prototype.name){var chartName=extensions.name||parent.prototype.name;var baseDefaults=(Chart.defaults[parent.prototype.name])?clone(Chart.defaults[parent.prototype.name]):{};Chart.defaults[chartName]=extend(baseDefaults,extensions.defaults);Chart.types[chartName]=ChartType;Chart.prototype[chartName]=function(data,options){var config=merge(Chart.defaults.global,Chart.defaults[chartName],options||{});return new ChartType(data,config,this);};}else{warn("Name not provided for this chart, so it hasn't been registered");} return parent;};Chart.Element=function(configuration){extend(this,configuration);this.initialize.apply(this,arguments);this.save();};extend(Chart.Element.prototype,{initialize:function(){},restore:function(props){if(!props){extend(this,this._saved);}else{each(props,function(key){this[key]=this._saved[key];},this);} return this;},save:function(){this._saved=clone(this);delete this._saved._saved;return this;},update:function(newProps){each(newProps,function(value,key){this._saved[key]=this[key];this[key]=value;},this);return this;},transition:function(props,ease){each(props,function(value,key){this[key]=((value-this._saved[key])*ease)+this._saved[key];},this);return this;},tooltipPosition:function(){return{x:this.x,y:this.y};},hasValue:function(){return isNumber(this.value);}});Chart.Element.extend=inherits;Chart.Point=Chart.Element.extend({display:true,inRange:function(chartX,chartY){var hitDetectionRange=this.hitDetectionRadius+this.radius;return((Math.pow(chartX-this.x,2)+Math.pow(chartY-this.y,2))=startAngle:pointRelativeAngle>=startAngle&&pointRelativeAngle<=endAngle;var withinRadius=(pointRelativePosition.distance>=this.innerRadius&&pointRelativePosition.distance<=this.outerRadius);return(betweenAngles&&withinRadius);},tooltipPosition:function(){var centreAngle=this.startAngle+((this.endAngle-this.startAngle)/2),rangeFromCentre=(this.outerRadius-this.innerRadius)/2+this.innerRadius;return{x:this.x+(Math.cos(centreAngle)*rangeFromCentre),y:this.y+(Math.sin(centreAngle)*rangeFromCentre)};},draw:function(animationPercent){var easingDecimal=animationPercent||1;var ctx=this.ctx;ctx.beginPath();ctx.arc(this.x,this.y,this.outerRadius<0?0:this.outerRadius,this.startAngle,this.endAngle);ctx.arc(this.x,this.y,this.innerRadius<0?0:this.innerRadius,this.endAngle,this.startAngle,true);ctx.closePath();ctx.strokeStyle=this.strokeColor;ctx.lineWidth=this.strokeWidth;ctx.fillStyle=this.fillColor;ctx.fill();ctx.lineJoin='bevel';if(this.showStroke){ctx.stroke();}}});Chart.Rectangle=Chart.Element.extend({draw:function(){var ctx=this.ctx,halfWidth=this.width/2,leftX=this.x-halfWidth,rightX=this.x+halfWidth,top=this.base-(this.base-this.y),halfStroke=this.strokeWidth/2;if(this.showStroke){leftX+=halfStroke;rightX-=halfStroke;top+=halfStroke;} ctx.beginPath();ctx.fillStyle=this.fillColor;ctx.strokeStyle=this.strokeColor;ctx.lineWidth=this.strokeWidth;ctx.moveTo(leftX,this.base);ctx.lineTo(leftX,top);ctx.lineTo(rightX,top);ctx.lineTo(rightX,this.base);ctx.fill();if(this.showStroke){ctx.stroke();}},height:function(){return this.base-this.y;},inRange:function(chartX,chartY){return(chartX>=this.x-this.width/2&&chartX<=this.x+this.width/2)&&(chartY>=this.y&&chartY<=this.base);}});Chart.Animation=Chart.Element.extend({currentStep:null,numSteps:60,easing:"",render:null,onAnimationProgress:null,onAnimationComplete:null,});Chart.Tooltip=Chart.Element.extend({draw:function(){var ctx=this.chart.ctx;ctx.font=fontString(this.fontSize,this.fontStyle,this.fontFamily);this.xAlign="center";this.yAlign="above";var caretPadding=this.caretPadding=2;var tooltipWidth=ctx.measureText(this.text).width+2*this.xPadding,tooltipRectHeight=this.fontSize+2*this.yPadding,tooltipHeight=tooltipRectHeight+this.caretHeight+caretPadding;if(this.x+tooltipWidth/2>this.chart.width){this.xAlign="left";}else if(this.x-tooltipWidth/2<0){this.xAlign="right";} if(this.y-tooltipHeight<0){this.yAlign="below";} var tooltipX=this.x-tooltipWidth/2,tooltipY=this.y-tooltipHeight;ctx.fillStyle=this.fillColor;if(this.custom){this.custom(this);} else{switch(this.yAlign) {case "above":ctx.beginPath();ctx.moveTo(this.x,this.y-caretPadding);ctx.lineTo(this.x+this.caretHeight,this.y-(caretPadding+this.caretHeight));ctx.lineTo(this.x-this.caretHeight,this.y-(caretPadding+this.caretHeight));ctx.closePath();ctx.fill();break;case "below":tooltipY=this.y+caretPadding+this.caretHeight;ctx.beginPath();ctx.moveTo(this.x,this.y+caretPadding);ctx.lineTo(this.x+this.caretHeight,this.y+caretPadding+this.caretHeight);ctx.lineTo(this.x-this.caretHeight,this.y+caretPadding+this.caretHeight);ctx.closePath();ctx.fill();break;} switch(this.xAlign) {case "left":tooltipX=this.x-tooltipWidth+(this.cornerRadius+this.caretHeight);break;case "right":tooltipX=this.x-(this.cornerRadius+this.caretHeight);break;} drawRoundedRectangle(ctx,tooltipX,tooltipY,tooltipWidth,tooltipRectHeight,this.cornerRadius);ctx.fill();ctx.fillStyle=this.textColor;ctx.textAlign="center";ctx.textBaseline="middle";ctx.fillText(this.text,tooltipX+tooltipWidth/2,tooltipY+tooltipRectHeight/2);}}});Chart.MultiTooltip=Chart.Element.extend({initialize:function(){this.font=fontString(this.fontSize,this.fontStyle,this.fontFamily);this.titleFont=fontString(this.titleFontSize,this.titleFontStyle,this.titleFontFamily);this.titleHeight=this.title?this.titleFontSize*1.5:0;this.height=(this.labels.length*this.fontSize)+((this.labels.length-1)*(this.fontSize/2))+(this.yPadding*2)+this.titleHeight;this.ctx.font=this.titleFont;var titleWidth=this.ctx.measureText(this.title).width,labelWidth=longestText(this.ctx,this.font,this.labels)+this.fontSize+3,longestTextWidth=max([labelWidth,titleWidth]);this.width=longestTextWidth+(this.xPadding*2);var halfHeight=this.height/2;if(this.y-halfHeight<0){this.y=halfHeight;}else if(this.y+halfHeight>this.chart.height){this.y=this.chart.height-halfHeight;} if(this.x>this.chart.width/2){this.x-=this.xOffset+this.width;}else{this.x+=this.xOffset;}},getLineHeight:function(index){var baseLineHeight=this.y-(this.height/2)+this.yPadding,afterTitleIndex=index-1;if(index===0){return baseLineHeight+this.titleHeight/3;}else{return baseLineHeight+((this.fontSize*1.5*afterTitleIndex)+this.fontSize/2)+this.titleHeight;}},draw:function(){if(this.custom){this.custom(this);} else{drawRoundedRectangle(this.ctx,this.x,this.y-this.height/2,this.width,this.height,this.cornerRadius);var ctx=this.ctx;ctx.fillStyle=this.fillColor;ctx.fill();ctx.closePath();ctx.textAlign="left";ctx.textBaseline="middle";ctx.fillStyle=this.titleTextColor;ctx.font=this.titleFont;ctx.fillText(this.title,this.x+this.xPadding,this.getLineHeight(0));ctx.font=this.font;helpers.each(this.labels,function(label,index){ctx.fillStyle=this.textColor;ctx.fillText(label,this.x+this.xPadding+this.fontSize+3,this.getLineHeight(index+1));ctx.fillStyle=this.legendColorBackground;ctx.fillRect(this.x+this.xPadding,this.getLineHeight(index+1)-this.fontSize/2,this.fontSize,this.fontSize);ctx.fillStyle=this.legendColors[index].fill;ctx.fillRect(this.x+this.xPadding,this.getLineHeight(index+1)-this.fontSize/2,this.fontSize,this.fontSize);},this);}}});Chart.Scale=Chart.Element.extend({initialize:function(){this.fit();},buildYLabels:function(){this.yLabels=[];var stepDecimalPlaces=getDecimalPlaces(this.stepValue);for(var i=0;i<=this.steps;i++){this.yLabels.push(template(this.templateString,{value:(this.min+(i*this.stepValue)).toFixed(stepDecimalPlaces)}));} this.yLabelWidth=(this.display&&this.showLabels)?longestText(this.ctx,this.font,this.yLabels)+10:0;},addXLabel:function(label){this.xLabels.push(label);this.valuesCount++;this.fit();},removeXLabel:function(){this.xLabels.shift();this.valuesCount--;this.fit();},fit:function(){this.startPoint=(this.display)?this.fontSize:0;this.endPoint=(this.display)?this.height-(this.fontSize*1.5)-5:this.height;this.startPoint+=this.padding;this.endPoint-=this.padding;var cachedEndPoint=this.endPoint;var cachedHeight=this.endPoint-this.startPoint,cachedYLabelWidth;this.calculateYRange(cachedHeight);this.buildYLabels();this.calculateXLabelRotation();while((cachedHeight>this.endPoint-this.startPoint)){cachedHeight=this.endPoint-this.startPoint;cachedYLabelWidth=this.yLabelWidth;this.calculateYRange(cachedHeight);this.buildYLabels();if(cachedYLabelWidththis.yLabelWidth)?firstWidth/2:this.yLabelWidth;this.xLabelRotation=0;if(this.display){var originalLabelWidth=longestText(this.ctx,this.font,this.xLabels),cosRotation,firstRotatedWidth;this.xLabelWidth=originalLabelWidth;var xGridWidth=Math.floor(this.calculateX(1)-this.calculateX(0))-6;while((this.xLabelWidth>xGridWidth&&this.xLabelRotation===0)||(this.xLabelWidth>xGridWidth&&this.xLabelRotation<=90&&this.xLabelRotation>0)){cosRotation=Math.cos(toRadians(this.xLabelRotation));firstRotated=cosRotation*firstWidth;lastRotated=cosRotation*lastWidth;if(firstRotated+this.fontSize/2>this.yLabelWidth){this.xScalePaddingLeft=firstRotated+this.fontSize/2;} this.xScalePaddingRight=this.fontSize/2;this.xLabelRotation++;this.xLabelWidth=cosRotation*originalLabelWidth;} if(this.xLabelRotation>0){this.endPoint-=Math.sin(toRadians(this.xLabelRotation))*originalLabelWidth+3;}} else{this.xLabelWidth=0;this.xScalePaddingRight=this.padding;this.xScalePaddingLeft=this.padding;}},calculateYRange:noop,drawingArea:function(){return this.startPoint-this.endPoint;},calculateY:function(value){var scalingFactor=this.drawingArea()/(this.min-this.max);return this.endPoint-(scalingFactor*(value-this.min));},calculateX:function(index){var isRotated=(this.xLabelRotation>0),innerWidth=this.width-(this.xScalePaddingLeft+this.xScalePaddingRight),valueWidth=innerWidth/Math.max((this.valuesCount-((this.offsetGridLines)?0:1)),1),valueOffset=(valueWidth*index)+this.xScalePaddingLeft;if(this.offsetGridLines){valueOffset+=(valueWidth/2);} return Math.round(valueOffset);},update:function(newProps){helpers.extend(this,newProps);this.fit();},draw:function(){var ctx=this.ctx,yLabelGap=(this.endPoint-this.startPoint)/this.steps,xStart=Math.round(this.xScalePaddingLeft);if(this.display){ctx.fillStyle=this.textColor;ctx.font=this.font;each(this.yLabels,function(labelString,index){var yLabelCenter=this.endPoint-(yLabelGap*index),linePositionY=Math.round(yLabelCenter),drawHorizontalLine=this.showHorizontalLines;ctx.textAlign="right";ctx.textBaseline="middle";if(this.showLabels){ctx.fillText(labelString,xStart-10,yLabelCenter);} if(index===0&&!drawHorizontalLine){drawHorizontalLine=true;} if(drawHorizontalLine){ctx.beginPath();} if(index>0){ctx.lineWidth=this.gridLineWidth;ctx.strokeStyle=this.gridLineColor;}else{ctx.lineWidth=this.lineWidth;ctx.strokeStyle=this.lineColor;} linePositionY+=helpers.aliasPixel(ctx.lineWidth);if(drawHorizontalLine){ctx.moveTo(xStart,linePositionY);ctx.lineTo(this.width,linePositionY);ctx.stroke();ctx.closePath();} ctx.lineWidth=this.lineWidth;ctx.strokeStyle=this.lineColor;ctx.beginPath();ctx.moveTo(xStart-5,linePositionY);ctx.lineTo(xStart,linePositionY);ctx.stroke();ctx.closePath();},this);each(this.xLabels,function(label,index){var xPos=this.calculateX(index)+aliasPixel(this.lineWidth),linePos=this.calculateX(index-(this.offsetGridLines?0.5:0))+aliasPixel(this.lineWidth),isRotated=(this.xLabelRotation>0),drawVerticalLine=this.showVerticalLines;if(index===0&&!drawVerticalLine){drawVerticalLine=true;} if(drawVerticalLine){ctx.beginPath();} if(index>0){ctx.lineWidth=this.gridLineWidth;ctx.strokeStyle=this.gridLineColor;}else{ctx.lineWidth=this.lineWidth;ctx.strokeStyle=this.lineColor;} if(drawVerticalLine){ctx.moveTo(linePos,this.endPoint);ctx.lineTo(linePos,this.startPoint-3);ctx.stroke();ctx.closePath();} ctx.lineWidth=this.lineWidth;ctx.strokeStyle=this.lineColor;ctx.beginPath();ctx.moveTo(linePos,this.endPoint);ctx.lineTo(linePos,this.endPoint+5);ctx.stroke();ctx.closePath();ctx.save();ctx.translate(xPos,(isRotated)?this.endPoint+12:this.endPoint+8);ctx.rotate(toRadians(this.xLabelRotation)*-1);ctx.font=this.font;ctx.textAlign=(isRotated)?"right":"center";ctx.textBaseline=(isRotated)?"middle":"top";ctx.fillText(label,0,0);ctx.restore();},this);}}});Chart.RadialScale=Chart.Element.extend({initialize:function(){this.size=min([this.height,this.width]);this.drawingArea=(this.display)?(this.size/2)-(this.fontSize/2+this.backdropPaddingY):(this.size/2);},calculateCenterOffset:function(value){var scalingFactor=this.drawingArea/(this.max-this.min);return(value-this.min)*scalingFactor;},update:function(){if(!this.lineArc){this.setScaleSize();}else{this.drawingArea=(this.display)?(this.size/2)-(this.fontSize/2+this.backdropPaddingY):(this.size/2);} this.buildYLabels();},buildYLabels:function(){this.yLabels=[];var stepDecimalPlaces=getDecimalPlaces(this.stepValue);for(var i=0;i<=this.steps;i++){this.yLabels.push(template(this.templateString,{value:(this.min+(i*this.stepValue)).toFixed(stepDecimalPlaces)}));}},getCircumference:function(){return((Math.PI*2)/this.valuesCount);},setScaleSize:function(){var largestPossibleRadius=min([(this.height/2-this.pointLabelFontSize-5),this.width/2]),pointPosition,i,textWidth,halfTextWidth,furthestRight=this.width,furthestRightIndex,furthestRightAngle,furthestLeft=0,furthestLeftIndex,furthestLeftAngle,xProtrusionLeft,xProtrusionRight,radiusReductionRight,radiusReductionLeft,maxWidthRadius;this.ctx.font=fontString(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily);for(i=0;ifurthestRight){furthestRight=pointPosition.x+halfTextWidth;furthestRightIndex=i;} if(pointPosition.x-halfTextWidthfurthestRight){furthestRight=pointPosition.x+textWidth;furthestRightIndex=i;}} else if(i>this.valuesCount/2){if(pointPosition.x-textWidth0){var yCenterOffset=index*(this.drawingArea/this.steps),yHeight=this.yCenter-yCenterOffset,pointPosition;if(this.lineWidth>0){ctx.strokeStyle=this.lineColor;ctx.lineWidth=this.lineWidth;if(this.lineArc){ctx.beginPath();ctx.arc(this.xCenter,this.yCenter,yCenterOffset,0,Math.PI*2);ctx.closePath();ctx.stroke();}else{ctx.beginPath();for(var i=0;i=0;i--){var centerOffset=null,outerPosition=null;if(this.angleLineWidth>0){centerOffset=this.calculateCenterOffset(this.max);outerPosition=this.getPointPosition(i,centerOffset);ctx.beginPath();ctx.moveTo(this.xCenter,this.yCenter);ctx.lineTo(outerPosition.x,outerPosition.y);ctx.stroke();ctx.closePath();} if(this.backgroundColors&&this.backgroundColors.length==this.valuesCount){if(centerOffset==null) centerOffset=this.calculateCenterOffset(this.max);if(outerPosition==null) outerPosition=this.getPointPosition(i,centerOffset);var previousOuterPosition=this.getPointPosition(i===0?this.valuesCount-1:i-1,centerOffset);var nextOuterPosition=this.getPointPosition(i===this.valuesCount-1?0:i+1,centerOffset);var previousOuterHalfway={x:(previousOuterPosition.x+outerPosition.x)/2,y:(previousOuterPosition.y+outerPosition.y)/2};var nextOuterHalfway={x:(outerPosition.x+nextOuterPosition.x)/2,y:(outerPosition.y+nextOuterPosition.y)/2};ctx.beginPath();ctx.moveTo(this.xCenter,this.yCenter);ctx.lineTo(previousOuterHalfway.x,previousOuterHalfway.y);ctx.lineTo(outerPosition.x,outerPosition.y);ctx.lineTo(nextOuterHalfway.x,nextOuterHalfway.y);ctx.fillStyle=this.backgroundColors[i];ctx.fill();ctx.closePath();} var pointLabelPosition=this.getPointPosition(i,this.calculateCenterOffset(this.max)+5);ctx.font=fontString(this.pointLabelFontSize,this.pointLabelFontStyle,this.pointLabelFontFamily);ctx.fillStyle=this.pointLabelFontColor;var labelsCount=this.labels.length,halfLabelsCount=this.labels.length/2,quarterLabelsCount=halfLabelsCount/2,upperHalf=(ilabelsCount-quarterLabelsCount),exactQuarter=(i===quarterLabelsCount||i===labelsCount-quarterLabelsCount);if(i===0){ctx.textAlign='center';}else if(i===halfLabelsCount){ctx.textAlign='center';}else if(i1){framesToDrop=Math.floor(this.dropFrames);this.dropFrames-=framesToDrop;} for(var i=0;ithis.animations[i].animationObject.numSteps){this.animations[i].animationObject.currentStep=this.animations[i].animationObject.numSteps;} this.animations[i].animationObject.render(this.animations[i].chartInstance,this.animations[i].animationObject);if(this.animations[i].animationObject.currentStep==this.animations[i].animationObject.numSteps){this.animations[i].animationObject.onAnimationComplete.call(this.animations[i].chartInstance);this.animations.splice(i,1);i--;}} var endTime=Date.now();var delay=endTime-startTime-this.frameDuration;var frameDelay=delay/this.frameDuration;if(frameDelay>1){this.dropFrames+=frameDelay;} if(this.animations.length>0){helpers.requestAnimFrame.call(window,this.digestWrapper);}}};helpers.addEvent(window,"resize",(function(){var timeout;return function(){clearTimeout(timeout);timeout=setTimeout(function(){each(Chart.instances,function(instance){if(instance.options.responsive){instance.resize(instance.render,true);}});},50);};})());if(amd){define(function(){return Chart;});}else if(typeof module==='object'&&module.exports){module.exports=Chart;} root.Chart=Chart;Chart.noConflict=function(){root.Chart=previous;return Chart;};}).call(this);(function(){"use strict";var root=this,Chart=root.Chart,helpers=Chart.helpers;var defaultConfig={scaleBeginAtZero:true,scaleShowGridLines:true,scaleGridLineColor:"rgba(0,0,0,.05)",scaleGridLineWidth:1,scaleShowHorizontalLines:true,scaleShowVerticalLines:true,barShowStroke:true,barStrokeWidth:2,barValueSpacing:5,barDatasetSpacing:1,legendTemplate:"
    -legend\"><% for (var i=0; i
  • \"><%if(datasets[i].label){%><%=datasets[i].label%><%}%>
  • <%}%>
"};Chart.Type.extend({name:"Bar",defaults:defaultConfig,initialize:function(data){var options=this.options;this.ScaleClass=Chart.Scale.extend({offsetGridLines:true,calculateBarX:function(datasetCount,datasetIndex,barIndex){var xWidth=this.calculateBaseWidth(),xAbsolute=this.calculateX(barIndex)-(xWidth/2),barWidth=this.calculateBarWidth(datasetCount);return xAbsolute+(barWidth*datasetIndex)+(datasetIndex*options.barDatasetSpacing)+barWidth/2;},calculateBaseWidth:function(){return(this.calculateX(1)-this.calculateX(0))-(2*options.barValueSpacing);},calculateBarWidth:function(datasetCount){var baseWidth=this.calculateBaseWidth()-((datasetCount-1)*options.barDatasetSpacing);return(baseWidth/datasetCount);}});this.datasets=[];if(this.options.showTooltips){helpers.bindEvents(this,this.options.tooltipEvents,function(evt){var activeBars=(evt.type!=='mouseout')?this.getBarsAtEvent(evt):[];this.eachBars(function(bar){bar.restore(['fillColor','strokeColor']);});helpers.each(activeBars,function(activeBar){activeBar.fillColor=activeBar.highlightFill;activeBar.strokeColor=activeBar.highlightStroke;});this.showTooltip(activeBars);});} this.BarClass=Chart.Rectangle.extend({strokeWidth:this.options.barStrokeWidth,showStroke:this.options.barShowStroke,ctx:this.chart.ctx});helpers.each(data.datasets,function(dataset,datasetIndex){var datasetObject={label:dataset.label||null,fillColor:dataset.fillColor,strokeColor:dataset.strokeColor,bars:[]};this.datasets.push(datasetObject);helpers.each(dataset.data,function(dataPoint,index){datasetObject.bars.push(new this.BarClass({value:dataPoint,label:data.labels[index],datasetLabel:dataset.label,strokeColor:dataset.strokeColor,fillColor:dataset.fillColor,highlightFill:dataset.highlightFill||dataset.fillColor,highlightStroke:dataset.highlightStroke||dataset.strokeColor}));},this);},this);this.buildScale(data.labels);this.BarClass.prototype.base=this.scale.endPoint;this.eachBars(function(bar,index,datasetIndex){helpers.extend(bar,{width:this.scale.calculateBarWidth(this.datasets.length),x:this.scale.calculateBarX(this.datasets.length,datasetIndex,index),y:this.scale.endPoint});bar.save();},this);this.render();},update:function(){this.scale.update();helpers.each(this.activeElements,function(activeElement){activeElement.restore(['fillColor','strokeColor']);});this.eachBars(function(bar){bar.save();});this.render();},eachBars:function(callback){helpers.each(this.datasets,function(dataset,datasetIndex){helpers.each(dataset.bars,callback,this,datasetIndex);},this);},getBarsAtEvent:function(e){var barsArray=[],eventPosition=helpers.getRelativePosition(e),datasetIterator=function(dataset){barsArray.push(dataset.bars[barIndex]);},barIndex;for(var datasetIndex=0;datasetIndex-legend\"><% for (var i=0; i
  • \"><%if(segments[i].label){%><%=segments[i].label%><%}%>
  • <%}%>"};Chart.Type.extend({name:"Doughnut",defaults:defaultConfig,initialize:function(data){this.segments=[];this.outerRadius=(helpers.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2;this.SegmentArc=Chart.Arc.extend({ctx:this.chart.ctx,x:this.chart.width/2,y:this.chart.height/2});if(this.options.showTooltips){helpers.bindEvents(this,this.options.tooltipEvents,function(evt){var activeSegments=(evt.type!=='mouseout')?this.getSegmentsAtEvent(evt):[];helpers.each(this.segments,function(segment){segment.restore(["fillColor"]);});helpers.each(activeSegments,function(activeSegment){activeSegment.fillColor=activeSegment.highlightColor;});this.showTooltip(activeSegments);});} this.calculateTotal(data);helpers.each(data,function(datapoint,index){if(!datapoint.color){datapoint.color='hsl('+(360*index/data.length)+', 100%, 50%)';} this.addData(datapoint,index,true);},this);this.render();},getSegmentsAtEvent:function(e){var segmentsArray=[];var location=helpers.getRelativePosition(e);helpers.each(this.segments,function(segment){if(segment.inRange(location.x,location.y))segmentsArray.push(segment);},this);return segmentsArray;},addData:function(segment,atIndex,silent){var index=atIndex!==undefined?atIndex:this.segments.length;if(typeof(segment.color)==="undefined"){segment.color=Chart.defaults.global.segmentColorDefault[index%Chart.defaults.global.segmentColorDefault.length];segment.highlight=Chart.defaults.global.segmentHighlightColorDefaults[index%Chart.defaults.global.segmentHighlightColorDefaults.length];} this.segments.splice(index,0,new this.SegmentArc({value:segment.value,outerRadius:(this.options.animateScale)?0:this.outerRadius,innerRadius:(this.options.animateScale)?0:(this.outerRadius/100)*this.options.percentageInnerCutout,fillColor:segment.color,highlightColor:segment.highlight||segment.color,showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,startAngle:Math.PI*1.5,circumference:(this.options.animateRotate)?0:this.calculateCircumference(segment.value),label:segment.label}));if(!silent){this.reflow();this.update();}},calculateCircumference:function(value){if(this.total>0){return(Math.PI*2)*(value/this.total);}else{return 0;}},calculateTotal:function(data){this.total=0;helpers.each(data,function(segment){this.total+=Math.abs(segment.value);},this);},update:function(){this.calculateTotal(this.segments);helpers.each(this.activeElements,function(activeElement){activeElement.restore(['fillColor']);});helpers.each(this.segments,function(segment){segment.save();});this.render();},removeData:function(atIndex){var indexToDelete=(helpers.isNumber(atIndex))?atIndex:this.segments.length-1;this.segments.splice(indexToDelete,1);this.reflow();this.update();},reflow:function(){helpers.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2});this.outerRadius=(helpers.min([this.chart.width,this.chart.height])-this.options.segmentStrokeWidth/2)/2;helpers.each(this.segments,function(segment){segment.update({outerRadius:this.outerRadius,innerRadius:(this.outerRadius/100)*this.options.percentageInnerCutout});},this);},draw:function(easeDecimal){var animDecimal=(easeDecimal)?easeDecimal:1;this.clear();helpers.each(this.segments,function(segment,index){segment.transition({circumference:this.calculateCircumference(segment.value),outerRadius:this.outerRadius,innerRadius:(this.outerRadius/100)*this.options.percentageInnerCutout},animDecimal);segment.endAngle=segment.startAngle+segment.circumference;segment.draw();if(index===0){segment.startAngle=Math.PI*1.5;} if(index-legend\"><% for (var i=0; i
  • \"><%if(datasets[i].label){%><%=datasets[i].label%><%}%>
  • <%}%>",offsetGridLines:false};Chart.Type.extend({name:"Line",defaults:defaultConfig,initialize:function(data){this.PointClass=Chart.Point.extend({offsetGridLines:this.options.offsetGridLines,strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx,inRange:function(mouseX){return(Math.pow(mouseX-this.x,2)0&&indexthis.scale.endPoint){point.controlPoints.outer.y=this.scale.endPoint;} else if(point.controlPoints.outer.ythis.scale.endPoint){point.controlPoints.inner.y=this.scale.endPoint;} else if(point.controlPoints.inner.y0){ctx.lineTo(pointsWithValues[pointsWithValues.length-1].x,this.scale.endPoint);ctx.lineTo(pointsWithValues[0].x,this.scale.endPoint);ctx.fillStyle=dataset.fillColor;ctx.closePath();ctx.fill();} helpers.each(pointsWithValues,function(point){point.draw();});},this);}});}).call(this);(function(){"use strict";var root=this,Chart=root.Chart,helpers=Chart.helpers;var defaultConfig={scaleShowLabelBackdrop:true,scaleBackdropColor:"rgba(255,255,255,0.75)",scaleBeginAtZero:true,scaleBackdropPaddingY:2,scaleBackdropPaddingX:2,scaleShowLine:true,segmentShowStroke:true,segmentStrokeColor:"#fff",segmentStrokeWidth:2,animationSteps:100,animationEasing:"easeOutBounce",animateRotate:true,animateScale:false,legendTemplate:"
      -legend\"><% for (var i=0; i
    • \"><%if(segments[i].label){%><%=segments[i].label%><%}%>
    • <%}%>
    "};Chart.Type.extend({name:"PolarArea",defaults:defaultConfig,initialize:function(data){this.segments=[];this.SegmentArc=Chart.Arc.extend({showStroke:this.options.segmentShowStroke,strokeWidth:this.options.segmentStrokeWidth,strokeColor:this.options.segmentStrokeColor,ctx:this.chart.ctx,innerRadius:0,x:this.chart.width/2,y:this.chart.height/2});this.scale=new Chart.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:(this.options.scaleShowLine)?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,lineArc:true,width:this.chart.width,height:this.chart.height,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,valuesCount:data.length});this.updateScaleRange(data);this.scale.update();helpers.each(data,function(segment,index){this.addData(segment,index,true);},this);if(this.options.showTooltips){helpers.bindEvents(this,this.options.tooltipEvents,function(evt){var activeSegments=(evt.type!=='mouseout')?this.getSegmentsAtEvent(evt):[];helpers.each(this.segments,function(segment){segment.restore(["fillColor"]);});helpers.each(activeSegments,function(activeSegment){activeSegment.fillColor=activeSegment.highlightColor;});this.showTooltip(activeSegments);});} this.render();},getSegmentsAtEvent:function(e){var segmentsArray=[];var location=helpers.getRelativePosition(e);helpers.each(this.segments,function(segment){if(segment.inRange(location.x,location.y))segmentsArray.push(segment);},this);return segmentsArray;},addData:function(segment,atIndex,silent){var index=atIndex||this.segments.length;this.segments.splice(index,0,new this.SegmentArc({fillColor:segment.color,highlightColor:segment.highlight||segment.color,label:segment.label,value:segment.value,outerRadius:(this.options.animateScale)?0:this.scale.calculateCenterOffset(segment.value),circumference:(this.options.animateRotate)?0:this.scale.getCircumference(),startAngle:Math.PI*1.5}));if(!silent){this.reflow();this.update();}},removeData:function(atIndex){var indexToDelete=(helpers.isNumber(atIndex))?atIndex:this.segments.length-1;this.segments.splice(indexToDelete,1);this.reflow();this.update();},calculateTotal:function(data){this.total=0;helpers.each(data,function(segment){this.total+=segment.value;},this);this.scale.valuesCount=this.segments.length;},updateScaleRange:function(datapoints){var valuesArray=[];helpers.each(datapoints,function(segment){valuesArray.push(segment.value);});var scaleSizes=(this.options.scaleOverride)?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+(this.options.scaleSteps*this.options.scaleStepWidth)}:helpers.calculateScaleRange(valuesArray,helpers.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);helpers.extend(this.scale,scaleSizes,{size:helpers.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2});},update:function(){this.calculateTotal(this.segments);helpers.each(this.segments,function(segment){segment.save();});this.reflow();this.render();},reflow:function(){helpers.extend(this.SegmentArc.prototype,{x:this.chart.width/2,y:this.chart.height/2});this.updateScaleRange(this.segments);this.scale.update();helpers.extend(this.scale,{xCenter:this.chart.width/2,yCenter:this.chart.height/2});helpers.each(this.segments,function(segment){segment.update({outerRadius:this.scale.calculateCenterOffset(segment.value)});},this);},draw:function(ease){var easingDecimal=ease||1;this.clear();helpers.each(this.segments,function(segment,index){segment.transition({circumference:this.scale.getCircumference(),outerRadius:this.scale.calculateCenterOffset(segment.value)},easingDecimal);segment.endAngle=segment.startAngle+segment.circumference;if(index===0){segment.startAngle=Math.PI*1.5;} if(index-legend\"><% for (var i=0; i
  • \"><%if(datasets[i].label){%><%=datasets[i].label%><%}%>
  • <%}%>"},initialize:function(data){this.PointClass=Chart.Point.extend({strokeWidth:this.options.pointDotStrokeWidth,radius:this.options.pointDotRadius,display:this.options.pointDot,hitDetectionRadius:this.options.pointHitDetectionRadius,ctx:this.chart.ctx});this.datasets=[];this.buildScale(data);if(this.options.showTooltips){helpers.bindEvents(this,this.options.tooltipEvents,function(evt){var activePointsCollection=(evt.type!=='mouseout')?this.getPointsAtEvent(evt):[];this.eachPoints(function(point){point.restore(['fillColor','strokeColor']);});helpers.each(activePointsCollection,function(activePoint){activePoint.fillColor=activePoint.highlightFill;activePoint.strokeColor=activePoint.highlightStroke;});this.showTooltip(activePointsCollection);});} helpers.each(data.datasets,function(dataset){var datasetObject={label:dataset.label||null,fillColor:dataset.fillColor,strokeColor:dataset.strokeColor,pointColor:dataset.pointColor,pointStrokeColor:dataset.pointStrokeColor,points:[]};this.datasets.push(datasetObject);helpers.each(dataset.data,function(dataPoint,index){var pointPosition;if(!this.scale.animation){pointPosition=this.scale.getPointPosition(index,this.scale.calculateCenterOffset(dataPoint));} datasetObject.points.push(new this.PointClass({value:dataPoint,label:data.labels[index],datasetLabel:dataset.label,x:(this.options.animation)?this.scale.xCenter:pointPosition.x,y:(this.options.animation)?this.scale.yCenter:pointPosition.y,strokeColor:dataset.pointStrokeColor,fillColor:dataset.pointColor,highlightFill:dataset.pointHighlightFill||dataset.pointColor,highlightStroke:dataset.pointHighlightStroke||dataset.pointStrokeColor}));},this);},this);this.render();},eachPoints:function(callback){helpers.each(this.datasets,function(dataset){helpers.each(dataset.points,callback,this);},this);},getPointsAtEvent:function(evt){var mousePosition=helpers.getRelativePosition(evt),fromCenter=helpers.getAngleFromPoint({x:this.scale.xCenter,y:this.scale.yCenter},mousePosition);var anglePerIndex=(Math.PI*2)/this.scale.valuesCount,pointIndex=Math.round((fromCenter.angle-Math.PI*1.5)/anglePerIndex),activePointsCollection=[];if(pointIndex>=this.scale.valuesCount||pointIndex<0){pointIndex=0;} if(fromCenter.distance<=this.scale.drawingArea){helpers.each(this.datasets,function(dataset){activePointsCollection.push(dataset.points[pointIndex]);});} return activePointsCollection;},buildScale:function(data){this.scale=new Chart.RadialScale({display:this.options.showScale,fontStyle:this.options.scaleFontStyle,fontSize:this.options.scaleFontSize,fontFamily:this.options.scaleFontFamily,fontColor:this.options.scaleFontColor,showLabels:this.options.scaleShowLabels,showLabelBackdrop:this.options.scaleShowLabelBackdrop,backdropColor:this.options.scaleBackdropColor,backgroundColors:this.options.scaleBackgroundColors,backdropPaddingY:this.options.scaleBackdropPaddingY,backdropPaddingX:this.options.scaleBackdropPaddingX,lineWidth:(this.options.scaleShowLine)?this.options.scaleLineWidth:0,lineColor:this.options.scaleLineColor,angleLineColor:this.options.angleLineColor,angleLineWidth:(this.options.angleShowLineOut)?this.options.angleLineWidth:0,pointLabelFontColor:this.options.pointLabelFontColor,pointLabelFontSize:this.options.pointLabelFontSize,pointLabelFontFamily:this.options.pointLabelFontFamily,pointLabelFontStyle:this.options.pointLabelFontStyle,height:this.chart.height,width:this.chart.width,xCenter:this.chart.width/2,yCenter:this.chart.height/2,ctx:this.chart.ctx,templateString:this.options.scaleLabel,labels:data.labels,valuesCount:data.datasets[0].data.length});this.scale.setScaleSize();this.updateScaleRange(data.datasets);this.scale.buildYLabels();},updateScaleRange:function(datasets){var valuesArray=(function(){var totalDataArray=[];helpers.each(datasets,function(dataset){if(dataset.data){totalDataArray=totalDataArray.concat(dataset.data);} else{helpers.each(dataset.points,function(point){totalDataArray.push(point.value);});}});return totalDataArray;})();var scaleSizes=(this.options.scaleOverride)?{steps:this.options.scaleSteps,stepValue:this.options.scaleStepWidth,min:this.options.scaleStartValue,max:this.options.scaleStartValue+(this.options.scaleSteps*this.options.scaleStepWidth)}:helpers.calculateScaleRange(valuesArray,helpers.min([this.chart.width,this.chart.height])/2,this.options.scaleFontSize,this.options.scaleBeginAtZero,this.options.scaleIntegersOnly);helpers.extend(this.scale,scaleSizes);},addData:function(valuesArray,label){this.scale.valuesCount++;helpers.each(valuesArray,function(value,datasetIndex){var pointPosition=this.scale.getPointPosition(this.scale.valuesCount,this.scale.calculateCenterOffset(value));this.datasets[datasetIndex].points.push(new this.PointClass({value:value,label:label,datasetLabel:this.datasets[datasetIndex].label,x:pointPosition.x,y:pointPosition.y,strokeColor:this.datasets[datasetIndex].pointStrokeColor,fillColor:this.datasets[datasetIndex].pointColor}));},this);this.scale.labels.push(label);this.reflow();this.update();},removeData:function(){this.scale.valuesCount--;this.scale.labels.shift();helpers.each(this.datasets,function(dataset){dataset.points.shift();},this);this.reflow();this.update();},update:function(){this.eachPoints(function(point){point.save();});this.reflow();this.render();},reflow:function(){helpers.extend(this.scale,{width:this.chart.width,height:this.chart.height,size:helpers.min([this.chart.width,this.chart.height]),xCenter:this.chart.width/2,yCenter:this.chart.height/2});this.updateScaleRange(this.datasets);this.scale.setScaleSize();this.scale.buildYLabels();},draw:function(ease){var easeDecimal=ease||1,ctx=this.chart.ctx;this.clear();this.scale.draw();helpers.each(this.datasets,function(dataset){helpers.each(dataset.points,function(point,index){if(point.hasValue()){point.transition(this.scale.getPointPosition(index,this.scale.calculateCenterOffset(point.value)),easeDecimal);}},this);ctx.lineWidth=this.options.datasetStrokeWidth;ctx.strokeStyle=dataset.strokeColor;ctx.beginPath();helpers.each(dataset.points,function(point,index){if(index===0){ctx.moveTo(point.x,point.y);} else{ctx.lineTo(point.x,point.y);}},this);ctx.closePath();ctx.stroke();ctx.fillStyle=dataset.fillColor;if(this.options.datasetFill){ctx.fill();} helpers.each(dataset.points,function(point){if(point.hasValue()){point.draw();}});},this);}});}).call(this);$(window).scroll(function(){if($(".navbar").offset()){if($(".navbar").offset().top>50){$(".scrolling-navbar").addClass("top-nav-collapse");}else{$(".scrolling-navbar").removeClass("top-nav-collapse");}}});$(function(){$('a.page-scroll').bind('click',function(event){var $anchor=$(this);$('html, body').stop().animate({scrollTop:$($anchor.attr('href')).offset().top},1500,'easeInOutExpo');event.preventDefault();});});(function(){var MutationObserver,Util,WeakMap,getComputedStyle,getComputedStyleRX,bind=function(fn,me){return function(){return fn.apply(me,arguments);};},indexOf=[].indexOf||function(item){for(var i=0,l=this.length;i=0){target=event.target||event.srcElement;return target.className=target.className.replace(this.config.animateClass,'').trim();}};WOW.prototype.customStyle=function(box,hidden,duration,delay,iteration){if(hidden){this.cacheAnimationName(box);} box.style.visibility=hidden?'hidden':'visible';if(duration){this.vendorSet(box.style,{animationDuration:duration});} if(delay){this.vendorSet(box.style,{animationDelay:delay});} if(iteration){this.vendorSet(box.style,{animationIterationCount:iteration});} this.vendorSet(box.style,{animationName:hidden?'none':this.cachedAnimationName(box)});return box;};WOW.prototype.vendors=["moz","webkit"];WOW.prototype.vendorSet=function(elem,properties){var name,results,value,vendor;results=[];for(name in properties){value=properties[name];elem[""+name]=value;results.push((function(){var j,len,ref,results1;ref=this.vendors;results1=[];for(j=0,len=ref.length;j=viewTop;};WOW.prototype.util=function(){return this._util!=null?this._util:this._util=new Util();};WOW.prototype.disabled=function(){return!this.config.mobile&&this.util().isMobile(navigator.userAgent);};return WOW;})();}).call(this);$(document).ready(function(){scaleVideoContainer();initBannerVideoSize('.video-container .poster img');initBannerVideoSize('.video-container .filter');initBannerVideoSize('.video-container video');$(window).on('resize',function(){scaleVideoContainer();scaleBannerVideoSize('.video-container .poster img');scaleBannerVideoSize('.video-container .filter');scaleBannerVideoSize('.video-container video');});});function scaleVideoContainer(){var height=$(window).height()+5;var unitHeight=parseInt(height)+'px';$('.homepage-hero-module').css('height',unitHeight);} function initBannerVideoSize(element){$(element).each(function(){$(this).data('height',$(this).height());$(this).data('width',$(this).width());});scaleBannerVideoSize(element);} function scaleBannerVideoSize(element){var windowWidth=$(window).width(),windowHeight=$(window).height()+5,videoWidth,videoHeight;$(element).each(function(){var videoAspectRatio=$(this).data('height')/$(this).data('width');$(this).width(windowWidth);if(windowWidth<1000){videoHeight=windowHeight;videoWidth=videoHeight/videoAspectRatio;$(this).css({'margin-top':0,'margin-left':-(videoWidth-windowWidth)/2+'px'});$(this).width(videoWidth).height(videoHeight);} $('.homepage-hero-module .video-container video').addClass('fadeIn animated');});} (function($){$.fn.collapsible=function(options){var defaults={accordion:undefined};options=$.extend(defaults,options);return this.each(function(){var $this=$(this);var $panel_headers=$(this).find('> li > .collapsible-header');var collapsible_type=$this.data("collapsible");$this.off('click.collapse','.collapsible-header');$panel_headers.off('click.collapse');function accordionOpen(object){$panel_headers=$this.find('> li > .collapsible-header');if(object.hasClass('active')){object.parent().addClass('active');}else{object.parent().removeClass('active');} if(object.parent().hasClass('active')){object.siblings('.collapsible-body').stop(true,false).slideDown({duration:350,easing:"easeOutQuart",queue:false,complete:function(){$(this).css('height','');}});}else{object.siblings('.collapsible-body').stop(true,false).slideUp({duration:350,easing:"easeOutQuart",queue:false,complete:function(){$(this).css('height','');}});} $panel_headers.not(object).removeClass('active').parent().removeClass('active');$panel_headers.not(object).parent().children('.collapsible-body').stop(true,false).slideUp({duration:350,easing:"easeOutQuart",queue:false,complete:function(){$(this).css('height','');}});} function expandableOpen(object){if(object.hasClass('active')){object.parent().addClass('active');}else{object.parent().removeClass('active');} if(object.parent().hasClass('active')){object.siblings('.collapsible-body').stop(true,false).slideDown({duration:350,easing:"easeOutQuart",queue:false,complete:function(){$(this).css('height','');}});}else{object.siblings('.collapsible-body').stop(true,false).slideUp({duration:350,easing:"easeOutQuart",queue:false,complete:function(){$(this).css('height','');}});}} function isChildrenOfPanelHeader(object){var panelHeader=getPanelHeader(object);return panelHeader.length>0;} function getPanelHeader(object){return object.closest('li > .collapsible-header');} if(options.accordion||collapsible_type==="accordion"||collapsible_type===undefined){$panel_headers=$this.find('> li > .collapsible-header');$panel_headers.on('click.collapse',function(e){var element=$(e.target);if(isChildrenOfPanelHeader(element)){element=getPanelHeader(element);} element.toggleClass('active');accordionOpen(element);});accordionOpen($panel_headers.filter('.active').first());}else{$panel_headers.each(function(){$(this).on('click.collapse',function(e){var element=$(e.target);if(isChildrenOfPanelHeader(element)){element=getPanelHeader(element);} element.toggleClass('active');expandableOpen(element);});if($(this).hasClass('active')){expandableOpen($(this));}});}});};$(document).ready(function(){$('.collapsible').collapsible();});}(jQuery));jQuery.easing['jswing']=jQuery.easing['swing'];jQuery.extend(jQuery.easing,{def:'easeOutQuad',swing:function(x,t,b,c,d){return jQuery.easing[jQuery.easing.def](x,t,b,c,d);},easeInQuad:function(x,t,b,c,d){return c*(t/=d)*t+b;},easeOutQuad:function(x,t,b,c,d){return-c*(t/=d)*(t-2)+b;},easeInOutQuad:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t+b;return-c/2*((--t)*(t-2)-1)+b;},easeInCubic:function(x,t,b,c,d){return c*(t/=d)*t*t+b;},easeOutCubic:function(x,t,b,c,d){return c*((t=t/d-1)*t*t+1)+b;},easeInOutCubic:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t+b;return c/2*((t-=2)*t*t+2)+b;},easeInQuart:function(x,t,b,c,d){return c*(t/=d)*t*t*t+b;},easeOutQuart:function(x,t,b,c,d){return-c*((t=t/d-1)*t*t*t-1)+b;},easeInOutQuart:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t+b;return-c/2*((t-=2)*t*t*t-2)+b;},easeInQuint:function(x,t,b,c,d){return c*(t/=d)*t*t*t*t+b;},easeOutQuint:function(x,t,b,c,d){return c*((t=t/d-1)*t*t*t*t+1)+b;},easeInOutQuint:function(x,t,b,c,d){if((t/=d/2)<1)return c/2*t*t*t*t*t+b;return c/2*((t-=2)*t*t*t*t+2)+b;},easeInSine:function(x,t,b,c,d){return-c*Math.cos(t/d*(Math.PI/2))+c+b;},easeOutSine:function(x,t,b,c,d){return c*Math.sin(t/d*(Math.PI/2))+b;},easeInOutSine:function(x,t,b,c,d){return-c/2*(Math.cos(Math.PI*t/d)-1)+b;},easeInExpo:function(x,t,b,c,d){return(t==0)?b:c*Math.pow(2,10*(t/d-1))+b;},easeOutExpo:function(x,t,b,c,d){return(t==d)?b+c:c*(-Math.pow(2,-10*t/d)+1)+b;},easeInOutExpo:function(x,t,b,c,d){if(t==0)return b;if(t==d)return b+c;if((t/=d/2)<1)return c/2*Math.pow(2,10*(t-1))+b;return c/2*(-Math.pow(2,-10*--t)+2)+b;},easeInCirc:function(x,t,b,c,d){return-c*(Math.sqrt(1-(t/=d)*t)-1)+b;},easeOutCirc:function(x,t,b,c,d){return c*Math.sqrt(1-(t=t/d-1)*t)+b;},easeInOutCirc:function(x,t,b,c,d){if((t/=d/2)<1)return-c/2*(Math.sqrt(1-t*t)-1)+b;return c/2*(Math.sqrt(1-(t-=2)*t)+1)+b;},easeInElastic:function(x,t,b,c,d){var s=1.70158;var p=0;var a=c;if(t==0)return b;if((t/=d)==1)return b+c;if(!p)p=d*.3;if(a$(window).width()){width_difference=origin.innerWidth()-activates.innerWidth();gutter_spacing=gutter_spacing*-1;} activates.css({position:'absolute',top:origin.position().top+offset,left:origin.position().left+width_difference+gutter_spacing});activates.stop(true,true).css('opacity',0).slideDown({queue:false,duration:options.inDuration,easing:'easeOutCubic',complete:function(){$(this).css('height','');}}).animate({opacity:1},{queue:false,duration:options.inDuration,easing:'easeOutSine'});} function hideDropdown(){activates.fadeOut(options.outDuration);activates.removeClass('active');} if(options.hover){var open=false;origin.unbind('click.'+origin.attr('id'));origin.on('mouseenter',function(e){if(open===false){placeDropdown();open=true;}});origin.on('mouseleave',function(e){var toEl=e.toElement||e.relatedTarget;if(!$(toEl).closest('.dropdown-content').is(activates)){activates.stop(true,true);hideDropdown();open=false;}});activates.on('mouseleave',function(e){var toEl=e.toElement||e.relatedTarget;if(!$(toEl).closest('.dropdown-button').is(origin)){activates.stop(true,true);hideDropdown();open=false;}});}else{origin.unbind('click.'+origin.attr('id'));origin.bind('click.'+origin.attr('id'),function(e){if(origin[0]==e.currentTarget&&($(e.target).closest('.dropdown-content').length===0)){e.preventDefault();placeDropdown();} else{if(origin.hasClass('active')){hideDropdown();$(document).unbind('click.'+activates.attr('id'));}} if(activates.hasClass('active')){$(document).bind('click.'+activates.attr('id'),function(e){if(!activates.is(e.target)&&!origin.is(e.target)&&(!origin.find(e.target).length>0)){hideDropdown();$(document).unbind('click.'+activates.attr('id'));}});}});} origin.on('open',placeDropdown);origin.on('close',hideDropdown);});};$(document).ready(function(){$('.dropdown-button').dropdown();});}(jQuery));Materialize={};Materialize.guid=(function(){function s4(){return Math.floor((1+Math.random())*0x10000).toString(16).substring(1);} return function(){return s4()+s4()+'-'+s4()+'-'+s4()+'-'+ s4()+'-'+s4()+s4()+s4();};})();Materialize.elementOrParentIsFixed=function(element){var $element=$(element);var $checkElements=$element.add($element.parents());var isFixed=false;$checkElements.each(function(){if($(this).css("position")==="fixed"){isFixed=true;return false;}});return isFixed;};var Vel;if($){Vel=$.Velocity;}else{Vel=Velocity;} (function($){$(document).ready(function(){Materialize.updateTextFields=function(){var input_selector='input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea';$(input_selector).each(function(index,element){if($(element).val().length>0||$(this).attr('placeholder')!==undefined||$(element)[0].validity.badInput===true){$(this).siblings('label, i').addClass('active');}else{$(this).siblings('label, i').removeClass('active');}});};var input_selector='input[type=text], input[type=password], input[type=email], input[type=url], input[type=tel], input[type=number], input[type=search], textarea';$('input[autofocus]').siblings('label, i').addClass('active');$(document).on('change',input_selector,function(){if($(this).val().length!==0||$(this).attr('placeholder')!==undefined){$(this).siblings('label, i').addClass('active');} validate_field($(this));});$(document).ready(function(){Materialize.updateTextFields();});$(document).on('reset',function(e){var formReset=$(e.target);if(formReset.is('form')){formReset.find(input_selector).removeClass('valid').removeClass('invalid');formReset.find(input_selector).each(function(){if($(this).attr('value')===''){$(this).siblings('label, i').removeClass('active');}});formReset.find('select.initialized').each(function(){var reset_text=formReset.find('option[selected]').text();formReset.siblings('input.select-dropdown').val(reset_text);});}});$(document).on('focus',input_selector,function(){$(this).siblings('label, i').addClass('active');});$(document).on('blur',input_selector,function(){var $inputElement=$(this);if($inputElement.val().length===0&&$inputElement[0].validity.badInput!==true&&$inputElement.attr('placeholder')===undefined){$inputElement.siblings('label, i').removeClass('active');} validate_field($inputElement);});validate_field=function(object){var hasLength=object.attr('length')!==undefined;var lenAttr=parseInt(object.attr('length'));var len=object.val().length;if(object.val().length===0&&object[0].validity.badInput===false){if(object.hasClass('validate')){object.removeClass('valid');object.removeClass('invalid');}}else{if(object.hasClass('validate')){if((object.is(':valid')&&hasLength&&(len');$('body').append(hiddenDiv);} var text_area_selector='.materialize-textarea';function textareaAutoResize($textarea){var fontFamily=$textarea.css('font-family');var fontSize=$textarea.css('font-size');if(fontSize){hiddenDiv.css('font-size',fontSize);} if(fontFamily){hiddenDiv.css('font-family',fontFamily);} if($textarea.attr('wrap')==="off"){hiddenDiv.css('overflow-wrap',"normal").css('white-space',"pre");} hiddenDiv.text($textarea.val()+'\n');var content=hiddenDiv.html().replace(/\n/g,'
    ');hiddenDiv.html(content);if($textarea.is(':visible')){hiddenDiv.css('width',$textarea.width());}else{hiddenDiv.css('width',$(window).width()/2);} $textarea.css('height',hiddenDiv.height());} $(text_area_selector).each(function(){var $textarea=$(this);if($textarea.val().length){textareaAutoResize($textarea);}});$('body').on('keyup keydown',text_area_selector,function(){textareaAutoResize($(this));});});}(jQuery));/*!VelocityJS.org (1.2.2). (C) 2014 Julian Shapiro. MIT @license: en.wikipedia.org/wiki/MIT_License*//*!VelocityJS.org jQuery Shim (1.0.1). (C) 2014 The jQuery Foundation. MIT @license: en.wikipedia.org/wiki/MIT_License.*/!function(e){function t(e){var t=e.length,r=$.type(e);return "function"===r||$.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===r||0===t||"number"==typeof t&&t>0&&t-1 in e} if(!e.jQuery){var $=function(e,t){return new $.fn.init(e,t)};$.isWindow=function(e){return null!=e&&e==e.window},$.type=function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?a[o.call(e)]||"object":typeof e},$.isArray=Array.isArray||function(e){return "array"===$.type(e)},$.isPlainObject=function(e){var t;if(!e||"object"!==$.type(e)||e.nodeType||$.isWindow(e))return!1;try{if(e.constructor&&!n.call(e,"constructor")&&!n.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1} for(t in e);return void 0===t||n.call(e,t)},$.each=function(e,r,a){var n,o=0,i=e.length,s=t(e);if(a){if(s) for(;i>o&&(n=r.apply(e[o],a),n!==!1);o++);else for(o in e) if(n=r.apply(e[o],a),n===!1)break}else if(s) for(;i>o&&(n=r.call(e[o],o,e[o]),n!==!1);o++);else for(o in e) if(n=r.call(e[o],o,e[o]),n===!1)break;return e},$.data=function(e,t,a){if(void 0===a){var n=e[$.expando],o=n&&r[n];if(void 0===t)return o;if(o&&t in o)return o[t]}else if(void 0!==t){var n=e[$.expando]||(e[$.expando]=++$.uuid);return r[n]=r[n]||{},r[n][t]=a,a}},$.removeData=function(e,t){var a=e[$.expando],n=a&&r[a];n&&$.each(t,function(e,t){delete n[t]})},$.extend=function(){var e,t,r,a,n,o,i=arguments[0]||{},s=1,l=arguments.length,u=!1;for("boolean"==typeof i&&(u=i,i=arguments[s]||{},s++),"object"!=typeof i&&"function"!==$.type(i)&&(i={}),s===l&&(i=this,s--);l>s;s++) if(null!=(n=arguments[s])) for(a in n)e=i[a],r=n[a],i!==r&&(u&&r&&($.isPlainObject(r)||(t=$.isArray(r)))?(t?(t=!1,o=e&&$.isArray(e)?e:[]):o=e&&$.isPlainObject(e)?e:{},i[a]=$.extend(u,o,r)):void 0!==r&&(i[a]=r));return i},$.queue=function(e,r,a){function n(e,r){var a=r||[];return null!=e&&(t(Object(e))?!function(e,t){for(var r=+t.length,a=0,n=e.length;r>a;)e[n++]=t[a++];if(r!==r) for(;void 0!==t[a];)e[n++]=t[a++];return e.length=n,e}(a,"string"==typeof e?[e]:e):[].push.call(a,e)),a} if(e){r=(r||"fx")+"queue";var o=$.data(e,r);return a?(!o||$.isArray(a)?o=$.data(e,r,n(a)):o.push(a),o):o||[]}},$.dequeue=function(e,t){$.each(e.nodeType?[e]:e,function(e,r){t=t||"fx";var a=$.queue(r,t),n=a.shift();"inprogress"===n&&(n=a.shift()),n&&("fx"===t&&a.unshift("inprogress"),n.call(r,function(){$.dequeue(r,t)}))})},$.fn=$.prototype={init:function(e){if(e.nodeType)return this[0]=e,this;throw new Error("Not a DOM node.")},offset:function(){var t=this[0].getBoundingClientRect?this[0].getBoundingClientRect():{top:0,left:0};return{top:t.top+(e.pageYOffset||document.scrollTop||0)-(document.clientTop||0),left:t.left+(e.pageXOffset||document.scrollLeft||0)-(document.clientLeft||0)}},position:function(){function e(){for(var e=this.offsetParent||document;e&&"html"===!e.nodeType.toLowerCase&&"static"===e.style.position;)e=e.offsetParent;return e||document} var t=this[0],e=e.apply(t),r=this.offset(),a=/^(?:body|html)$/i.test(e.nodeName)?{top:0,left:0}:$(e).offset();return r.top-=parseFloat(t.style.marginTop)||0,r.left-=parseFloat(t.style.marginLeft)||0,e.style&&(a.top+=parseFloat(e.style.borderTopWidth)||0,a.left+=parseFloat(e.style.borderLeftWidth)||0),{top:r.top-a.top,left:r.left-a.left}}};var r={};$.expando="velocity"+(new Date).getTime(),$.uuid=0;for(var a={},n=a.hasOwnProperty,o=a.toString,i="Boolean Number String Function Array Date RegExp Object Error".split(" "),s=0;sn;++n){var o=u(r,e,a);if(0===o)return r;var i=l(r,e,a)-t;r-=i/o} return r} function p(){for(var t=0;b>t;++t)w[t]=l(t*x,e,a)} function f(t,r,n){var o,i,s=0;do i=r+(n-r)/2,o=l(i,e,a)-t,o>0?n=i:r=i;while(Math.abs(o)>h&&++s=y?c(t,s):0==l?s:f(t,r,r+x)} function g(){V=!0,(e!=r||a!=n)&&p()} var m=4,y=.001,h=1e-7,v=10,b=11,x=1/(b-1),S="Float32Array"in t;if(4!==arguments.length)return!1;for(var P=0;4>P;++P) if("number"!=typeof arguments[P]||isNaN(arguments[P])||!isFinite(arguments[P]))return!1;e=Math.min(e,1),a=Math.min(a,1),e=Math.max(e,0),a=Math.max(a,0);var w=S?new Float32Array(b):new Array(b),V=!1,C=function(t){return V||g(),e===r&&a===n?t:0===t?0:1===t?1:l(d(t),r,n)};C.getControlPoints=function(){return[{x:e,y:r},{x:a,y:n}]};var T="generateBezier("+[e,r,a,n]+")";return C.toString=function(){return T},C} function u(e,t){var r=e;return g.isString(e)?v.Easings[e]||(r=!1):r=g.isArray(e)&&1===e.length?s.apply(null,e):g.isArray(e)&&2===e.length?b.apply(null,e.concat([t])):g.isArray(e)&&4===e.length?l.apply(null,e):!1,r===!1&&(r=v.Easings[v.defaults.easing]?v.defaults.easing:h),r} function c(e){if(e){var t=(new Date).getTime(),r=v.State.calls.length;r>1e4&&(v.State.calls=n(v.State.calls));for(var o=0;r>o;o++) if(v.State.calls[o]){var s=v.State.calls[o],l=s[0],u=s[2],f=s[3],d=!!f,m=null;f||(f=v.State.calls[o][3]=t-16);for(var y=Math.min((t-f)/u.duration,1),h=0,b=l.length;b>h;h++){var S=l[h],w=S.element;if(i(w)){var V=!1;if(u.display!==a&&null!==u.display&&"none"!==u.display){if("flex"===u.display){var C=["-webkit-box","-moz-box","-ms-flexbox","-webkit-flex"];$.each(C,function(e,t){x.setPropertyValue(w,"display",t)})} x.setPropertyValue(w,"display",u.display)} u.visibility!==a&&"hidden"!==u.visibility&&x.setPropertyValue(w,"visibility",u.visibility);for(var T in S) if("element"!==T){var k=S[T],A,F=g.isString(k.easing)?v.Easings[k.easing]:k.easing;if(1===y)A=k.endValue;else{var E=k.endValue-k.startValue;if(A=k.startValue+E*F(y,u,E),!d&&A===k.currentValue)continue} if(k.currentValue=A,"tween"===T)m=A;else{if(x.Hooks.registered[T]){var j=x.Hooks.getRoot(T),H=i(w).rootPropertyValueCache[j];H&&(k.rootPropertyValue=H)} var N=x.setPropertyValue(w,T,k.currentValue+(0===parseFloat(A)?"":k.unitType),k.rootPropertyValue,k.scrollData);x.Hooks.registered[T]&&(i(w).rootPropertyValueCache[j]=x.Normalizations.registered[j]?x.Normalizations.registered[j]("extract",null,N[1]):N[1]),"transform"===N[0]&&(V=!0)}} u.mobileHA&&i(w).transformCache.translate3d===a&&(i(w).transformCache.translate3d="(0px, 0px, 0px)",V=!0),V&&x.flushTransformCache(w)}} u.display!==a&&"none"!==u.display&&(v.State.calls[o][2].display=!1),u.visibility!==a&&"hidden"!==u.visibility&&(v.State.calls[o][2].visibility=!1),u.progress&&u.progress.call(s[1],s[1],y,Math.max(0,f+u.duration-t),f,m),1===y&&p(o)}} v.State.isTicking&&P(c)} function p(e,t){if(!v.State.calls[e])return!1;for(var r=v.State.calls[e][0],n=v.State.calls[e][1],o=v.State.calls[e][2],s=v.State.calls[e][4],l=!1,u=0,c=r.length;c>u;u++){var p=r[u].element;if(t||o.loop||("none"===o.display&&x.setPropertyValue(p,"display",o.display),"hidden"===o.visibility&&x.setPropertyValue(p,"visibility",o.visibility)),o.loop!==!0&&($.queue(p)[1]===a||!/\.velocityQueueEntryFlag/i.test($.queue(p)[1]))&&i(p)){i(p).isAnimating=!1,i(p).rootPropertyValueCache={};var f=!1;$.each(x.Lists.transforms3D,function(e,t){var r=/^scale/.test(t)?1:0,n=i(p).transformCache[t];i(p).transformCache[t]!==a&&new RegExp("^\\("+r+"[^.]").test(n)&&(f=!0,delete i(p).transformCache[t])}),o.mobileHA&&(f=!0,delete i(p).transformCache.translate3d),f&&x.flushTransformCache(p),x.Values.removeClass(p,"velocity-animating")} if(!t&&o.complete&&!o.loop&&u===c-1)try{o.complete.call(n,n)}catch(d){setTimeout(function(){throw d},1)} s&&o.loop!==!0&&s(n),i(p)&&o.loop===!0&&!t&&($.each(i(p).tweensContainer,function(e,t){/^rotate/.test(e)&&360===parseFloat(t.endValue)&&(t.endValue=0,t.startValue=360),/^backgroundPosition/.test(e)&&100===parseFloat(t.endValue)&&"%"===t.unitType&&(t.endValue=0,t.startValue=100)}),v(p,"reverse",{loop:!0,delay:o.delay})),o.queue!==!1&&$.dequeue(p,o.queue)} v.State.calls[e]=!1;for(var g=0,m=v.State.calls.length;m>g;g++) if(v.State.calls[g]!==!1){l=!0;break} l===!1&&(v.State.isTicking=!1,delete v.State.calls,v.State.calls=[])} var f=function(){if(r.documentMode)return r.documentMode;for(var e=7;e>4;e--){var t=r.createElement("div");if(t.innerHTML="",t.getElementsByTagName("span").length)return t=null,e} return a}(),d=function(){var e=0;return t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||function(t){var r=(new Date).getTime(),a;return a=Math.max(0,16-(r-e)),e=r+a,setTimeout(function(){t(r+a)},a)}}(),g={isString:function(e){return "string"==typeof e},isArray:Array.isArray||function(e){return "[object Array]"===Object.prototype.toString.call(e)},isFunction:function(e){return "[object Function]"===Object.prototype.toString.call(e)},isNode:function(e){return e&&e.nodeType},isNodeList:function(e){return "object"==typeof e&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(Object.prototype.toString.call(e))&&e.length!==a&&(0===e.length||"object"==typeof e[0]&&e[0].nodeType>0)},isWrapped:function(e){return e&&(e.jquery||t.Zepto&&t.Zepto.zepto.isZ(e))},isSVG:function(e){return t.SVGElement&&e instanceof t.SVGElement},isEmptyObject:function(e){for(var t in e)return!1;return!0}},$,m=!1;if(e.fn&&e.fn.jquery?($=e,m=!0):$=t.Velocity.Utilities,8>=f&&!m)throw new Error("Velocity: IE8 and below require jQuery to be loaded before Velocity.");if(7>=f)return void(jQuery.fn.velocity=jQuery.fn.animate);var y=400,h="swing",v={State:{isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),isAndroid:/Android/i.test(navigator.userAgent),isGingerbread:/Android 2\.3\.[3-7]/i.test(navigator.userAgent),isChrome:t.chrome,isFirefox:/Firefox/i.test(navigator.userAgent),prefixElement:r.createElement("div"),prefixMatches:{},scrollAnchor:null,scrollPropertyLeft:null,scrollPropertyTop:null,isTicking:!1,calls:[]},CSS:{},Utilities:$,Redirects:{},Easings:{},Promise:t.Promise,defaults:{queue:"",duration:y,easing:h,begin:a,complete:a,progress:a,display:a,visibility:a,loop:!1,delay:!1,mobileHA:!0,_cacheValues:!0},init:function(e){$.data(e,"velocity",{isSVG:g.isSVG(e),isAnimating:!1,computedStyle:null,tweensContainer:null,rootPropertyValueCache:{},transformCache:{}})},hook:null,mock:!1,version:{major:1,minor:2,patch:2},debug:!1};t.pageYOffset!==a?(v.State.scrollAnchor=t,v.State.scrollPropertyLeft="pageXOffset",v.State.scrollPropertyTop="pageYOffset"):(v.State.scrollAnchor=r.documentElement||r.body.parentNode||r.body,v.State.scrollPropertyLeft="scrollLeft",v.State.scrollPropertyTop="scrollTop");var b=function(){function e(e){return-e.tension*e.x-e.friction*e.v} function t(t,r,a){var n={x:t.x+a.dx*r,v:t.v+a.dv*r,tension:t.tension,friction:t.friction};return{dx:n.v,dv:e(n)}} function r(r,a){var n={dx:r.v,dv:e(r)},o=t(r,.5*a,n),i=t(r,.5*a,o),s=t(r,a,i),l=1/6*(n.dx+2*(o.dx+i.dx)+s.dx),u=1/6*(n.dv+2*(o.dv+i.dv)+s.dv);return r.x=r.x+l*a,r.v=r.v+u*a,r} return function a(e,t,n){var o={x:-1,v:0,tension:null,friction:null},i=[0],s=0,l=1e-4,u=.016,c,p,f;for(e=parseFloat(e)||500,t=parseFloat(t)||20,n=n||null,o.tension=e,o.friction=t,c=null!==n,c?(s=a(e,t),p=s/n*u):p=u;;) if(f=r(f||o,p),i.push(1+f.x),s+=16,!(Math.abs(f.x)>l&&Math.abs(f.v)>l))break;return c?function(e){return i[e*(i.length-1)|0]}:s}}();v.Easings={linear:function(e){return e},swing:function(e){return .5-Math.cos(e*Math.PI)/2},spring:function(e){return 1-Math.cos(4.5*e*Math.PI)*Math.exp(6*-e)}},$.each([["ease",[.25,.1,.25,1]],["ease-in",[.42,0,1,1]],["ease-out",[0,0,.58,1]],["ease-in-out",[.42,0,.58,1]],["easeInSine",[.47,0,.745,.715]],["easeOutSine",[.39,.575,.565,1]],["easeInOutSine",[.445,.05,.55,.95]],["easeInQuad",[.55,.085,.68,.53]],["easeOutQuad",[.25,.46,.45,.94]],["easeInOutQuad",[.455,.03,.515,.955]],["easeInCubic",[.55,.055,.675,.19]],["easeOutCubic",[.215,.61,.355,1]],["easeInOutCubic",[.645,.045,.355,1]],["easeInQuart",[.895,.03,.685,.22]],["easeOutQuart",[.165,.84,.44,1]],["easeInOutQuart",[.77,0,.175,1]],["easeInQuint",[.755,.05,.855,.06]],["easeOutQuint",[.23,1,.32,1]],["easeInOutQuint",[.86,0,.07,1]],["easeInExpo",[.95,.05,.795,.035]],["easeOutExpo",[.19,1,.22,1]],["easeInOutExpo",[1,0,0,1]],["easeInCirc",[.6,.04,.98,.335]],["easeOutCirc",[.075,.82,.165,1]],["easeInOutCirc",[.785,.135,.15,.86]]],function(e,t){v.Easings[t[0]]=l.apply(null,t[1])});var x=v.CSS={RegEx:{isHex:/^#([A-f\d]{3}){1,2}$/i,valueUnwrap:/^[A-z]+\((.*)\)$/i,wrappedValueAlreadyExtracted:/[0-9.]+ [0-9.]+ [0-9.]+( [0-9.]+)?/,valueSplit:/([A-z]+\(.+\))|(([A-z0-9#-.]+?)(?=\s|$))/gi},Lists:{colors:["fill","stroke","stopColor","color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],transformsBase:["translateX","translateY","scale","scaleX","scaleY","skewX","skewY","rotateZ"],transforms3D:["transformPerspective","translateZ","scaleZ","rotateX","rotateY"]},Hooks:{templates:{textShadow:["Color X Y Blur","black 0px 0px 0px"],boxShadow:["Color X Y Blur Spread","black 0px 0px 0px 0px"],clip:["Top Right Bottom Left","0px 0px 0px 0px"],backgroundPosition:["X Y","0% 0%"],transformOrigin:["X Y Z","50% 50% 0px"],perspectiveOrigin:["X Y","50% 50%"]},registered:{},register:function(){for(var e=0;e=f)switch(e){case "name":return "filter";case "extract":var a=r.toString().match(/alpha\(opacity=(.*)\)/i);return r=a?a[1]/100:1;case "inject":return t.style.zoom=1,parseFloat(r)>=1?"":"alpha(opacity="+parseInt(100*parseFloat(r),10)+")"}else switch(e){case "name":return "opacity";case "extract":return r;case "inject":return r}}},register:function(){9>=f||v.State.isGingerbread||(x.Lists.transformsBase=x.Lists.transformsBase.concat(x.Lists.transforms3D));for(var e=0;en&&(n=1),o=!/(\d)$/i.test(n);break;case "skew":o=!/(deg|\d)$/i.test(n);break;case "rotate":o=!/(deg|\d)$/i.test(n)} return o||(i(r).transformCache[t]="("+n+")"),i(r).transformCache[t]}}}();for(var e=0;e=f||3!==o.split(" ").length||(o+=" 1"),o;case "inject":return 8>=f?4===n.split(" ").length&&(n=n.split(/\s+/).slice(0,3).join(" ")):3===n.split(" ").length&&(n+=" 1"),(8>=f?"rgb":"rgba")+"("+n.replace(/\s+/g,",").replace(/\.(\d)+(?=,)/g,"")+")"}}}()}},Names:{camelCase:function(e){return e.replace(/-(\w)/g,function(e,t){return t.toUpperCase()})},SVGAttribute:function(e){var t="width|height|x|y|cx|cy|r|rx|ry|x1|x2|y1|y2";return(f||v.State.isAndroid&&!v.State.isChrome)&&(t+="|transform"),new RegExp("^("+t+")$","i").test(e)},prefixCheck:function(e){if(v.State.prefixMatches[e])return[v.State.prefixMatches[e],!0];for(var t=["","Webkit","Moz","ms","O"],r=0,a=t.length;a>r;r++){var n;if(n=0===r?e:t[r]+e.replace(/^\w/,function(e){return e.toUpperCase()}),g.isString(v.State.prefixElement.style[n]))return v.State.prefixMatches[e]=n,[n,!0]} return[e,!1]}},Values:{hexToRgb:function(e){var t=/^#?([a-f\d])([a-f\d])([a-f\d])$/i,r=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i,a;return e=e.replace(t,function(e,t,r,a){return t+t+r+r+a+a}),a=r.exec(e),a?[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]:[0,0,0]},isCSSNullValue:function(e){return 0==e||/^(none|auto|transparent|(rgba\(0, ?0, ?0, ?0\)))$/i.test(e)},getUnitType:function(e){return /^(rotate|skew)/i.test(e)?"deg":/(^(scale|scaleX|scaleY|scaleZ|alpha|flexGrow|flexHeight|zIndex|fontWeight)$)|((opacity|red|green|blue|alpha)$)/i.test(e)?"":"px"},getDisplayType:function(e){var t=e&&e.tagName.toString().toLowerCase();return /^(b|big|i|small|tt|abbr|acronym|cite|code|dfn|em|kbd|strong|samp|var|a|bdo|br|img|map|object|q|script|span|sub|sup|button|input|label|select|textarea)$/i.test(t)?"inline":/^(li)$/i.test(t)?"list-item":/^(tr)$/i.test(t)?"table-row":/^(table)$/i.test(t)?"table":/^(tbody)$/i.test(t)?"table-row-group":"block"},addClass:function(e,t){e.classList?e.classList.add(t):e.className+=(e.className.length?" ":"")+t},removeClass:function(e,t){e.classList?e.classList.remove(t):e.className=e.className.toString().replace(new RegExp("(^|\\s)"+t.split(" ").join("|")+"(\\s|$)","gi")," ")}},getPropertyValue:function(e,r,n,o){function s(e,r){function n(){u&&x.setPropertyValue(e,"display","none")} var l=0;if(8>=f)l=$.css(e,r);else{var u=!1;if(/^(width|height)$/.test(r)&&0===x.getPropertyValue(e,"display")&&(u=!0,x.setPropertyValue(e,"display",x.Values.getDisplayType(e))),!o){if("height"===r&&"border-box"!==x.getPropertyValue(e,"boxSizing").toString().toLowerCase()){var c=e.offsetHeight-(parseFloat(x.getPropertyValue(e,"borderTopWidth"))||0)-(parseFloat(x.getPropertyValue(e,"borderBottomWidth"))||0)-(parseFloat(x.getPropertyValue(e,"paddingTop"))||0)-(parseFloat(x.getPropertyValue(e,"paddingBottom"))||0);return n(),c} if("width"===r&&"border-box"!==x.getPropertyValue(e,"boxSizing").toString().toLowerCase()){var p=e.offsetWidth-(parseFloat(x.getPropertyValue(e,"borderLeftWidth"))||0)-(parseFloat(x.getPropertyValue(e,"borderRightWidth"))||0)-(parseFloat(x.getPropertyValue(e,"paddingLeft"))||0)-(parseFloat(x.getPropertyValue(e,"paddingRight"))||0);return n(),p}} var d;d=i(e)===a?t.getComputedStyle(e,null):i(e).computedStyle?i(e).computedStyle:i(e).computedStyle=t.getComputedStyle(e,null),"borderColor"===r&&(r="borderTopColor"),l=9===f&&"filter"===r?d.getPropertyValue(r):d[r],(""===l||null===l)&&(l=e.style[r]),n()} if("auto"===l&&/^(top|right|bottom|left)$/i.test(r)){var g=s(e,"position");("fixed"===g||"absolute"===g&&/top|left/i.test(r))&&(l=$(e).position()[r]+"px")} return l} var l;if(x.Hooks.registered[r]){var u=r,c=x.Hooks.getRoot(u);n===a&&(n=x.getPropertyValue(e,x.Names.prefixCheck(c)[0])),x.Normalizations.registered[c]&&(n=x.Normalizations.registered[c]("extract",e,n)),l=x.Hooks.extractValue(u,n)}else if(x.Normalizations.registered[r]){var p,d;p=x.Normalizations.registered[r]("name",e),"transform"!==p&&(d=s(e,x.Names.prefixCheck(p)[0]),x.Values.isCSSNullValue(d)&&x.Hooks.templates[r]&&(d=x.Hooks.templates[r][1])),l=x.Normalizations.registered[r]("extract",e,d)} if(!/^[\d-]/.test(l)) if(i(e)&&i(e).isSVG&&x.Names.SVGAttribute(r)) if(/^(height|width)$/i.test(r))try{l=e.getBBox()[r]}catch(g){l=0}else l=e.getAttribute(r);else l=s(e,x.Names.prefixCheck(r)[0]);return x.Values.isCSSNullValue(l)&&(l=0),v.debug>=2&&console.log("Get "+r+": "+l),l},setPropertyValue:function(e,r,a,n,o){var s=r;if("scroll"===r)o.container?o.container["scroll"+o.direction]=a:"Left"===o.direction?t.scrollTo(a,o.alternateValue):t.scrollTo(o.alternateValue,a);else if(x.Normalizations.registered[r]&&"transform"===x.Normalizations.registered[r]("name",e))x.Normalizations.registered[r]("inject",e,a),s="transform",a=i(e).transformCache[r];else{if(x.Hooks.registered[r]){var l=r,u=x.Hooks.getRoot(r);n=n||x.getPropertyValue(e,u),a=x.Hooks.injectValue(l,a,n),r=u} if(x.Normalizations.registered[r]&&(a=x.Normalizations.registered[r]("inject",e,a),r=x.Normalizations.registered[r]("name",e)),s=x.Names.prefixCheck(r)[0],8>=f)try{e.style[s]=a}catch(c){v.debug&&console.log("Browser does not support ["+a+"] for ["+s+"]")}else i(e)&&i(e).isSVG&&x.Names.SVGAttribute(r)?e.setAttribute(r,a):e.style[s]=a;v.debug>=2&&console.log("Set "+r+" ("+s+"): "+a)} return[s,a]},flushTransformCache:function(e){function t(t){return parseFloat(x.getPropertyValue(e,t))} var r="";if((f||v.State.isAndroid&&!v.State.isChrome)&&i(e).isSVG){var a={translate:[t("translateX"),t("translateY")],skewX:[t("skewX")],skewY:[t("skewY")],scale:1!==t("scale")?[t("scale"),t("scale")]:[t("scaleX"),t("scaleY")],rotate:[t("rotateZ"),0,0]};$.each(i(e).transformCache,function(e){/^translate/i.test(e)?e="translate":/^scale/i.test(e)?e="scale":/^rotate/i.test(e)&&(e="rotate"),a[e]&&(r+=e+"("+a[e].join(" ")+") ",delete a[e])})}else{var n,o;$.each(i(e).transformCache,function(t){return n=i(e).transformCache[t],"transformPerspective"===t?(o=n,!0):(9===f&&"rotateZ"===t&&(t="rotate"),void(r+=t+n+" "))}),o&&(r="perspective"+o+" "+r)} x.setPropertyValue(e,"transform",r)}};x.Hooks.register(),x.Normalizations.register(),v.hook=function(e,t,r){var n=a;return e=o(e),$.each(e,function(e,o){if(i(o)===a&&v.init(o),r===a)n===a&&(n=v.CSS.getPropertyValue(o,t));else{var s=v.CSS.setPropertyValue(o,t,r);"transform"===s[0]&&v.CSS.flushTransformCache(o),n=s}}),n};var S=function(){function e(){return l?T.promise||null:f} function n(){function e(e){function p(e,t){var r=a,i=a,s=a;return g.isArray(e)?(r=e[0],!g.isArray(e[1])&&/^[\d-]/.test(e[1])||g.isFunction(e[1])||x.RegEx.isHex.test(e[1])?s=e[1]:(g.isString(e[1])&&!x.RegEx.isHex.test(e[1])||g.isArray(e[1]))&&(i=t?e[1]:u(e[1],o.duration),e[2]!==a&&(s=e[2]))):r=e,t||(i=i||o.easing),g.isFunction(r)&&(r=r.call(n,w,P)),g.isFunction(s)&&(s=s.call(n,w,P)),[r||0,i,s]} function f(e,t){var r,a;return a=(t||"0").toString().toLowerCase().replace(/[%A-z]+$/,function(e){return r=e,""}),r||(r=x.Values.getUnitType(e)),[a,r]} function d(){var e={myParent:n.parentNode||r.body,position:x.getPropertyValue(n,"position"),fontSize:x.getPropertyValue(n,"fontSize")},a=e.position===N.lastPosition&&e.myParent===N.lastParent,o=e.fontSize===N.lastFontSize;N.lastParent=e.myParent,N.lastPosition=e.position,N.lastFontSize=e.fontSize;var s=100,l={};if(o&&a)l.emToPx=N.lastEmToPx,l.percentToPxWidth=N.lastPercentToPxWidth,l.percentToPxHeight=N.lastPercentToPxHeight;else{var u=i(n).isSVG?r.createElementNS("http://www.w3.org/2000/svg","rect"):r.createElement("div");v.init(u),e.myParent.appendChild(u),$.each(["overflow","overflowX","overflowY"],function(e,t){v.CSS.setPropertyValue(u,t,"hidden")}),v.CSS.setPropertyValue(u,"position",e.position),v.CSS.setPropertyValue(u,"fontSize",e.fontSize),v.CSS.setPropertyValue(u,"boxSizing","content-box"),$.each(["minWidth","maxWidth","width","minHeight","maxHeight","height"],function(e,t){v.CSS.setPropertyValue(u,t,s+"%")}),v.CSS.setPropertyValue(u,"paddingLeft",s+"em"),l.percentToPxWidth=N.lastPercentToPxWidth=(parseFloat(x.getPropertyValue(u,"width",null,!0))||1)/s,l.percentToPxHeight=N.lastPercentToPxHeight=(parseFloat(x.getPropertyValue(u,"height",null,!0))||1)/s,l.emToPx=N.lastEmToPx=(parseFloat(x.getPropertyValue(u,"paddingLeft"))||1)/s,e.myParent.removeChild(u)} return null===N.remToPx&&(N.remToPx=parseFloat(x.getPropertyValue(r.body,"fontSize"))||16),null===N.vwToPx&&(N.vwToPx=parseFloat(t.innerWidth)/100,N.vhToPx=parseFloat(t.innerHeight)/100),l.remToPx=N.remToPx,l.vwToPx=N.vwToPx,l.vhToPx=N.vhToPx,v.debug>=1&&console.log("Unit ratios: "+JSON.stringify(l),n),l} if(o.begin&&0===w)try{o.begin.call(m,m)}catch(y){setTimeout(function(){throw y},1)} if("scroll"===k){var S=/^x$/i.test(o.axis)?"Left":"Top",V=parseFloat(o.offset)||0,C,A,F;o.container?g.isWrapped(o.container)||g.isNode(o.container)?(o.container=o.container[0]||o.container,C=o.container["scroll"+S],F=C+$(n).position()[S.toLowerCase()]+V):o.container=null:(C=v.State.scrollAnchor[v.State["scrollProperty"+S]],A=v.State.scrollAnchor[v.State["scrollProperty"+("Left"===S?"Top":"Left")]],F=$(n).offset()[S.toLowerCase()]+V),s={scroll:{rootPropertyValue:!1,startValue:C,currentValue:C,endValue:F,unitType:"",easing:o.easing,scrollData:{container:o.container,direction:S,alternateValue:A}},element:n},v.debug&&console.log("tweensContainer (scroll): ",s.scroll,n)}else if("reverse"===k){if(!i(n).tweensContainer)return void $.dequeue(n,o.queue);"none"===i(n).opts.display&&(i(n).opts.display="auto"),"hidden"===i(n).opts.visibility&&(i(n).opts.visibility="visible"),i(n).opts.loop=!1,i(n).opts.begin=null,i(n).opts.complete=null,b.easing||delete o.easing,b.duration||delete o.duration,o=$.extend({},i(n).opts,o);var E=$.extend(!0,{},i(n).tweensContainer);for(var j in E) if("element"!==j){var H=E[j].startValue;E[j].startValue=E[j].currentValue=E[j].endValue,E[j].endValue=H,g.isEmptyObject(b)||(E[j].easing=o.easing),v.debug&&console.log("reverse tweensContainer ("+j+"): "+JSON.stringify(E[j]),n)} s=E}else if("start"===k){var E;i(n).tweensContainer&&i(n).isAnimating===!0&&(E=i(n).tweensContainer),$.each(h,function(e,t){if(RegExp("^"+x.Lists.colors.join("$|^")+"$").test(e)){var r=p(t,!0),n=r[0],o=r[1],i=r[2];if(x.RegEx.isHex.test(n)){for(var s=["Red","Green","Blue"],l=x.Values.hexToRgb(n),u=i?x.Values.hexToRgb(i):a,c=0;cO;O++){var z={delay:F.delay,progress:F.progress};O===R-1&&(z.display=F.display,z.visibility=F.visibility,z.complete=F.complete),S(m,"reverse",z)} return e()}};v=$.extend(S,v),v.animate=S;var P=t.requestAnimationFrame||d;return v.State.isMobile||r.hidden===a||r.addEventListener("visibilitychange",function(){r.hidden?(P=function(e){return setTimeout(function(){e(!0)},16)},c()):P=t.requestAnimationFrame||d}),e.Velocity=v,e!==t&&(e.fn.velocity=S,e.fn.velocity.defaults=v.defaults),$.each(["Down","Up"],function(e,t){v.Redirects["slide"+t]=function(e,r,n,o,i,s){var l=$.extend({},r),u=l.begin,c=l.complete,p={height:"",marginTop:"",marginBottom:"",paddingTop:"",paddingBottom:""},f={};l.display===a&&(l.display="Down"===t?"inline"===v.CSS.Values.getDisplayType(e)?"inline-block":"block":"none"),l.begin=function(){u&&u.call(i,i);for(var r in p){f[r]=e.style[r];var a=v.CSS.getPropertyValue(e,r);p[r]="Down"===t?[a,0]:[0,a]} f.overflow=e.style.overflow,e.style.overflow="hidden"},l.complete=function(){for(var t in f)e.style[t]=f[t];c&&c.call(i,i),s&&s.resolver(i)},v(e,p,l)}}),$.each(["In","Out"],function(e,t){v.Redirects["fade"+t]=function(e,r,n,o,i,s){var l=$.extend({},r),u={opacity:"In"===t?1:0},c=l.complete;l.complete=n!==o-1?l.begin=null:function(){c&&c.call(i,i),s&&s.resolver(i)},l.display===a&&(l.display="In"===t?"auto":"none"),v(this,u,l)}}),v}(window.jQuery||window.Zepto||window,window,document)});(function($){$(document).ready(function(){$.fn.reverse=[].reverse;$(document).on('mouseenter.fixedActionBtn','.fixed-action-btn',function(e){var $this=$(this);openFABMenu($this);});$(document).on('mouseleave.fixedActionBtn','.fixed-action-btn',function(e){var $this=$(this);closeFABMenu($this);});});$.fn.extend({openFAB:function(){var $this=$(this);openFABMenu($this);},closeFAB:function(){closeFABMenu($this);}});var openFABMenu=function(btn){$this=btn;if($this.hasClass('active')===false){$this.addClass('active');$this.find('ul .btn-floating').velocity({scaleY:".4",scaleX:".4",translateY:"40px"},{duration:0});var time=0;$this.find('ul .btn-floating').reverse().each(function(){$(this).velocity({opacity:"1",scaleX:"1",scaleY:"1",translateY:"0"},{duration:80,delay:time});time+=40;});}};var closeFABMenu=function(btn){$this=btn;$this.removeClass('active');var time=0;$this.find('ul .btn-floating').velocity("stop",true);$this.find('ul .btn-floating').velocity({opacity:"0",scaleX:".4",scaleY:".4",translateY:"40px"},{duration:80});};}(jQuery));/*! * Waves v0.6.4 * http://fian.my.id/Waves * * Copyright 2014 Alfiana E. Sibuea and other contributors * Released under the MIT license * https://github.com/fians/Waves/blob/master/LICENSE */;(function(window){'use strict';var Waves=Waves||{};var $$=document.querySelectorAll.bind(document);function isWindow(obj){return obj!==null&&obj===obj.window;} function getWindow(elem){return isWindow(elem)?elem:elem.nodeType===9&&elem.defaultView;} function offset(elem){var docElem,win,box={top:0,left:0},doc=elem&&elem.ownerDocument;docElem=doc.documentElement;if(typeof elem.getBoundingClientRect!==typeof undefined){box=elem.getBoundingClientRect();} win=getWindow(doc);return{top:box.top+win.pageYOffset-docElem.clientTop,left:box.left+win.pageXOffset-docElem.clientLeft};} function convertStyle(obj){var style='';for(var a in obj){if(obj.hasOwnProperty(a)){style+=(a+':'+obj[a]+';');}} return style;} var Effect={duration:750,show:function(e,element){if(e.button===2){return false;} var el=element||this;var ripple=document.createElement('div');ripple.className='waves-ripple';el.appendChild(ripple);var pos=offset(el);var relativeY=(e.pageY-pos.top);var relativeX=(e.pageX-pos.left);var scale='scale('+((el.clientWidth/100)*10)+')';if('touches'in e){relativeY=(e.touches[0].pageY-pos.top);relativeX=(e.touches[0].pageX-pos.left);} ripple.setAttribute('data-hold',Date.now());ripple.setAttribute('data-scale',scale);ripple.setAttribute('data-x',relativeX);ripple.setAttribute('data-y',relativeY);var rippleStyle={'top':relativeY+'px','left':relativeX+'px'};ripple.className=ripple.className+' waves-notransition';ripple.setAttribute('style',convertStyle(rippleStyle));ripple.className=ripple.className.replace('waves-notransition','');rippleStyle['-webkit-transform']=scale;rippleStyle['-moz-transform']=scale;rippleStyle['-ms-transform']=scale;rippleStyle['-o-transform']=scale;rippleStyle.transform=scale;rippleStyle.opacity='1';rippleStyle['-webkit-transition-duration']=Effect.duration+'ms';rippleStyle['-moz-transition-duration']=Effect.duration+'ms';rippleStyle['-o-transition-duration']=Effect.duration+'ms';rippleStyle['transition-duration']=Effect.duration+'ms';rippleStyle['-webkit-transition-timing-function']='cubic-bezier(0.250, 0.460, 0.450, 0.940)';rippleStyle['-moz-transition-timing-function']='cubic-bezier(0.250, 0.460, 0.450, 0.940)';rippleStyle['-o-transition-timing-function']='cubic-bezier(0.250, 0.460, 0.450, 0.940)';rippleStyle['transition-timing-function']='cubic-bezier(0.250, 0.460, 0.450, 0.940)';ripple.setAttribute('style',convertStyle(rippleStyle));},hide:function(e){TouchHandler.touchup(e);var el=this;var width=el.clientWidth*1.4;var ripple=null;var ripples=el.getElementsByClassName('waves-ripple');if(ripples.length>0){ripple=ripples[ripples.length-1];}else{return false;} var relativeX=ripple.getAttribute('data-x');var relativeY=ripple.getAttribute('data-y');var scale=ripple.getAttribute('data-scale');var diff=Date.now()-Number(ripple.getAttribute('data-hold'));var delay=350-diff;if(delay<0){delay=0;} setTimeout(function(){var style={'top':relativeY+'px','left':relativeX+'px','opacity':'0','-webkit-transition-duration':Effect.duration+'ms','-moz-transition-duration':Effect.duration+'ms','-o-transition-duration':Effect.duration+'ms','transition-duration':Effect.duration+'ms','-webkit-transform':scale,'-moz-transform':scale,'-ms-transform':scale,'-o-transform':scale,'transform':scale,};ripple.setAttribute('style',convertStyle(style));setTimeout(function(){try{el.removeChild(ripple);}catch(e){return false;}},Effect.duration);},delay);},wrapInput:function(elements){for(var a=0;a0){TouchHandler.touches-=1;}},500);}else if(e.type==='mousedown'&&TouchHandler.touches>0){allow=false;} return allow;},touchup:function(e){TouchHandler.allowEvent(e);}};function getWavesEffectElement(e){if(TouchHandler.allowEvent(e)===false){return null;} var element=null;var target=e.target||e.srcElement;while(target.parentElement!==null){if(!(target instanceof SVGElement)&&target.className.indexOf('waves-effect')!==-1){element=target;break;}else if(target.classList.contains('waves-effect')){element=target;break;} target=target.parentElement;} return element;} function showEffect(e){var element=getWavesEffectElement(e);if(element!==null){Effect.show(e,element);if('ontouchstart'in window){element.addEventListener('touchend',Effect.hide,false);element.addEventListener('touchcancel',Effect.hide,false);} element.addEventListener('mouseup',Effect.hide,false);element.addEventListener('mouseleave',Effect.hide,false);}} Waves.displayEffect=function(options){options=options||{};if('duration'in options){Effect.duration=options.duration;} Effect.wrapInput($$('.waves-effect'));if('ontouchstart'in window){document.body.addEventListener('touchstart',showEffect,false);} document.body.addEventListener('mousedown',showEffect,false);};Waves.attach=function(element){if(element.tagName.toLowerCase()==='input'){Effect.wrapInput([element]);element=element.parentElement;} if('ontouchstart'in window){element.addEventListener('touchstart',showEffect,false);} element.addEventListener('mousedown',showEffect,false);};window.Waves=Waves;document.addEventListener('DOMContentLoaded',function(){Waves.displayEffect();},false);})(window);