1"use strict";function Vivus(a,b,c){this.isReady=!1,this.setElement(a,b),this.setOptions(b),this.setCallback(c),this.isReady&&this.init()}var requestAnimFrame,cancelAnimFrame,parsePositiveInt;Vivus.LINEAR=function(a){return a},Vivus.EASE=function(a){return-Math.cos(a*Math.PI)/2+.5},Vivus.EASE_OUT=function(a){return 1-Math.pow(1-a,3)},Vivus.EASE_IN=function(a){return Math.pow(a,3)},Vivus.EASE_OUT_BOUNCE=function(a){var b=-Math.cos(a*(.5*Math.PI))+1,c=Math.pow(b,1.5),d=Math.pow(1-a,2),e=-Math.abs(Math.cos(c*(2.5*Math.PI)))+1;return 1-d+e*d},Vivus.prototype.setElement=function(a,b){if("undefined"==typeof a)throw new Error('Vivus [constructor]: "element" parameter is required');if(a.constructor===String&&(a=document.getElementById(a),!a))throw new Error('Vivus [constructor]: "element" parameter is not related to an existing ID');if(this.parentEl=a,b&&b.file){var c=document.createElement("object");c.setAttribute("type","image/svg+xml"),c.setAttribute("data",b.file),c.setAttribute("width","100%"),c.setAttribute("height","100%"),a.appendChild(c),a=c}switch(a.constructor){case window.SVGSVGElement:case window.SVGElement:this.el=a,this.isReady=!0;break;case window.HTMLObjectElement:if(this.el=a.contentDocument&&a.contentDocument.querySelector("svg"),this.el)return void(this.isReady=!0);var d=this;a.addEventListener("load",function(){if(d.el=a.contentDocument&&a.contentDocument.querySelector("svg"),!d.el)throw new Error("Vivus [constructor]: object loaded does not contain any SVG");d.isReady=!0,d.init()});break;default:throw new Error('Vivus [constructor]: "element" parameter is not valid (or miss the "file" attribute)')}},Vivus.prototype.setOptions=function(a){var b=["delayed","async","oneByOne","scenario","scenario-sync"],c=["inViewport","manual","autostart"];if(void 0!==a&&a.constructor!==Object)throw new Error('Vivus [constructor]: "options" parameter must be an object');if(a=a||{},a.type&&b.indexOf(a.type)===-1)throw new Error("Vivus [constructor]: "+a.type+" is not an existing animation `type`");if(this.type=a.type||b[0],a.start&&c.indexOf(a.start)===-1)throw new Error("Vivus [constructor]: "+a.start+" is not an existing `start` option");if(this.start=a.start||c[0],this.isIE=window.navigator.userAgent.indexOf("MSIE")!==-1||window.navigator.userAgent.indexOf("Trident/")!==-1||window.navigator.userAgent.indexOf("Edge/")!==-1,this.duration=parsePositiveInt(a.duration,120),this.delay=parsePositiveInt(a.delay,null),this.dashGap=parsePositiveInt(a.dashGap,2),this.forceRender=a.hasOwnProperty("forceRender")?!!a.forceRender:this.isIE,this.selfDestroy=!!a.selfDestroy,this.onReady=a.onReady,this.ignoreInvisible=!!a.hasOwnProperty("ignoreInvisible")&&!!a.ignoreInvisible,this.animTimingFunction=a.animTimingFunction||Vivus.LINEAR,this.pathTimingFunction=a.pathTimingFunction||Vivus.LINEAR,this.delay>=this.duration)throw new Error("Vivus [constructor]: delay must be shorter than duration")},Vivus.prototype.setCallback=function(a){if(a&&a.constructor!==Function)throw new Error('Vivus [constructor]: "callback" parameter must be a function');this.callback=a||function(){}},Vivus.prototype.mapping=function(){var a,b,c,d,e,f,g,h;for(h=f=g=0,b=this.el.querySelectorAll("path"),a=0;a<b.length;a++)b[a].setAttribute("stroke",""),c=b[a],this.isInvisible(c)||(e={el:c,length:Math.ceil(c.getTotalLength())},isNaN(e.length)?window.console&&console.warn&&console.warn("Vivus [mapping]: cannot retrieve a path element length",c):(f+=e.length,this.map.push(e),c.style.strokeDasharray=e.length+" "+(e.length+this.dashGap),c.style.strokeDashoffset=e.length,this.isIE&&(e.length+=this.dashGap),this.renderPath(a)));for(f=0===f?1:f,this.delay=null===this.delay?this.duration/3:this.delay,this.delayUnit=this.delay/(b.length>1?b.length-1:1),a=0;a<this.map.length;a++){switch(e=this.map[a],this.type){case"delayed":e.startAt=this.delayUnit*a,e.duration=this.duration-this.delay;break;case"oneByOne":e.startAt=g/f*this.duration,e.duration=e.length/f*this.duration;break;case"async":e.startAt=0,e.duration=this.duration;break;case"scenario-sync":c=b[a],d=this.parseAttr(c),e.startAt=h+(parsePositiveInt(d["data-delay"],this.delayUnit)||0),e.duration=parsePositiveInt(d["data-duration"],this.duration),h=void 0!==d["data-async"]?e.startAt:e.startAt+e.duration,this.frameLength=Math.max(this.frameLength,e.startAt+e.duration);break;case"scenario":c=b[a],d=this.parseAttr(c),e.startAt=parsePositiveInt(d["data-start"],this.delayUnit)||0,e.duration=parsePositiveInt(d["data-duration"],this.duration),this.frameLength=Math.max(this.frameLength,e.startAt+e.duration)}g+=e.length,this.frameLength=this.frameLength||this.duration}},Vivus.prototype.drawer=function(){var a=this;this.currentFrame+=this.speed,this.currentFrame<=0?(this.stop(),this.reset(),this.callback(this)):this.currentFrame>=this.frameLength?(this.stop(),this.currentFrame=this.frameLength,this.trace(),this.selfDe
1stroy&&this.destroy(),this.callback(this)):(this.trace(),this.handle=requestAnimFrame(function(){a.drawer()}))},Vivus.prototype.trace=function(){var a,b,c,d;for(d=this.animTimingFunction(this.currentFrame/this.frameLength)*this.frameLength,a=0;a<this.map.length;a++)c=this.map[a],b=(d-c.startAt)/c.duration,b=this.pathTimingFunction(Math.max(0,Math.min(1,b))),c.progress!==b&&(c.progress=b,c.el.style.strokeDashoffset=Math.floor(c.length*(1-b)),this.renderPath(a))},Vivus.prototype.renderPath=function(a){if(this.forceRender&&this.map&&this.map[a]){var b=this.map[a],c=b.el.cloneNode(!0);b.el.parentNode.replaceChild(c,b.el),b.el=c}},Vivus.prototype.init=function(){this.frameLength=0,this.currentFrame=0,this.map=[],new Pathformer(this.el),this.mapping(),this.starter(),this.onReady&&this.onReady(this)},Vivus.prototype.starter=function(){switch(this.start){case"manual":return;case"autostart":this.play();break;case"inViewport":var a=this,b=function(){a.isInViewport(a.parentEl,1)&&(a.play(),window.removeEventListener("scroll",b))};window.addEventListener("scroll",b),b()}},Vivus.prototype.getStatus=function(){return 0===this.currentFrame?"start":this.currentFrame===this.frameLength?"end":"progress"},Vivus.prototype.reset=function(){return this.setFrameProgress(0)},Vivus.prototype.finish=function(){return this.setFrameProgress(1)},Vivus.prototype.setFrameProgress=function(a){return a=Math.min(1,Math.max(0,a)),this.currentFrame=Math.round(this.frameLength*a),this.trace(),this},Vivus.prototype.play=function(a){if(a&&"number"!=typeof a)throw new Error("Vivus [play]: invalid speed");return this.speed=a||1,this.handle||this.drawer(),this},Vivus.prototype.stop=function(){return this.handle&&(cancelAnimFrame(this.handle),delete this.handle),this},Vivus.prototype.destroy=function(){var a,b;for(a=0;a<this.map.length;a++)b=this.map[a],b.el.style.strokeDashoffset=null,b.el.style.strokeDasharray=null,this.renderPath(a)},Vivus.prototype.isInvisible=function(a){var b,c=a.getAttribute("data-ignore");return null!==c?"false"!==c:!!this.ignoreInvisible&&(b=a.getBoundingClientRect(),!b.width&&!b.height)},Vivus.prototype.parseAttr=function(a){var b,c={};if(a&&a.attributes)for(var d=0;d<a.attributes.length;d++)b=a.attributes[d],c[b.name]=b.value;return c},Vivus.prototype.isInViewport=function(a,b){var c=this.scrollY(),d=c+this.getViewportH(),e=a.getBoundingClientRect(),f=e.height,g=c+e.top,h=g+f;return b=b||0,g+f*b<=d&&h>=c},Vivus.prototype.docElem=window.document.documentElement,Vivus.prototype.getViewportH=function(){var a=this.docElem.clientHeight,b=window.innerHeight;return a<b?b:a},Vivus.prototype.scrollY=function(){return window.pageYOffset||this.docElem.scrollTop},requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){return window.setTimeout(a,1e3/60)}}(),cancelAnimFrame=function(){return window.cancelAnimationFrame||window.webkitCancelAnimationFrame||window.mozCancelAnimationFrame||window.oCancelAnimationFrame||window.msCancelAnimationFrame||function(a){return window.clearTimeout(a)}}(),parsePositiveInt=function(a,b){var c=parseInt(a,10);return c>=0?c:b};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.