// KUTE.js Standard v2.1.1-alpha1 | thednp © 2021 | MIT-License !function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).KUTE=e()}(this,(function(){"use strict";var t=function(t,e,n,r,a){var i=this;this.cx=3*t,this.bx=3*(n-t)-this.cx,this.ax=1-this.cx-this.bx,this.cy=3*e,this.by=3*(r-e)-this.cy,this.ay=1-this.cy-this.by;var s=function(t){return i.sampleCurveY(i.solveCurveX(t))};return Object.defineProperty(s,"name",{writable:!0}),s.name=a||"cubic-bezier("+[t,e,n,r]+")",s};t.prototype.sampleCurveX=function(t){return((this.ax*t+this.bx)*t+this.cx)*t},t.prototype.sampleCurveY=function(t){return((this.ay*t+this.by)*t+this.cy)*t},t.prototype.sampleCurveDerivativeX=function(t){return(3*this.ax*t+2*this.bx)*t+this.cx},t.prototype.solveCurveX=function(t){var e,n,r,a,i,s,o=1e-5;for(r=t,s=0;s<32;s+=1){if(a=this.sampleCurveX(r)-t,Math.abs(a)(n=1))return n;for(;ea?e=r:n=r,r=.5*(n-e)+e}return r};var e={},n=[],r="undefined"!=typeof global?global:void 0!==window.self?window.self:"undefined"!=typeof window?window:{},a={},i={},s={},o=window.self||window||{};s.now=o.performance.now.bind(o.performance);var u=0,c=function(t){for(var e=0;e1?1:n;var i=this._easing(n);return Object.keys(this.valuesEnd).forEach((function(t){e[t](r.element,r.valuesStart[t],r.valuesEnd[t],i)})),this._onUpdate&&this._onUpdate.call(this),1!==n||(this._onComplete&&this._onComplete.call(this),this.playing=!1,this.close(),void 0!==this._chain&&this._chain.length&&this._chain.map((function(t){return t.start()})),!1)},A.tween=N,d.repeat=0,d.repeatDelay=0,d.yoyo=!1,d.resetStart=!1;var V=function(t){function n(){for(var e=this,n=[],r=arguments.length;r--;)n[r]=arguments[r];t.apply(this,n),this.valuesStart={},this.valuesEnd={};var a=n[1],i=n[2];T.call(this,i,"end"),this._resetStart?this.valuesStart=a:T.call(this,a,"start"),this._resetStart||Object.keys(g).forEach((function(t){Object.keys(g[t]).forEach((function(n){g[t][n].call(e,n)}))})),this.paused=!1,this._pauseTime=null;var s=n[3];return this._repeat=s.repeat||d.repeat,this._repeatDelay=s.repeatDelay||d.repeatDelay,this._repeatOption=this._repeat,this.valuesRepeat={},this._yoyo=s.yoyo||d.yoyo,this._reversed=!1,this}return t&&(n.__proto__=t),n.prototype=Object.create(t&&t.prototype),n.prototype.constructor=n,n.prototype.start=function(e){var n=this;return this._resetStart&&(this.valuesStart=this._resetStart,S.call(this),Object.keys(g).forEach((function(t){Object.keys(g[t]).forEach((function(e){g[t][e].call(n,e)}))}))),this.paused=!1,this._yoyo&&Object.keys(this.valuesEnd).forEach((function(t){n.valuesRepeat[t]=n.valuesStart[t]})),t.prototype.start.call(this,e),this},n.prototype.stop=function(){return t.prototype.stop.call(this),!this.paused&&this.playing&&(this.paused=!1,this.stopChainedTweens()),this},n.prototype.close=function(){return t.prototype.close.call(this),this._repeatOption>0&&(this._repeat=this._repeatOption),this._yoyo&&!0===this._reversed&&(this.reverse(),this._reversed=!1),this},n.prototype.resume=function(){return this.paused&&this.playing&&(this.paused=!1,void 0!==this._onResume&&this._onResume.call(this),P.call(this),this._startTime+=e.Time()-this._pauseTime,E(this),u||c()),this},n.prototype.pause=function(){return!this.paused&&this.playing&&(M(this),this.paused=!0,this._pauseTime=e.Time(),void 0!==this._onPause&&this._onPause.call(this)),this},n.prototype.reverse=function(){var t=this;Object.keys(this.valuesEnd).forEach((function(e){var n=t.valuesRepeat[e];t.valuesRepeat[e]=t.valuesEnd[e],t.valuesEnd[e]=n,t.valuesStart[e]=t.valuesRepeat[e]}))},n.prototype.update=function(t){var n,r=this,a=void 0!==t?t:e.Time();if(a1?1:n;var i=this._easing(n);return Object.keys(this.valuesEnd).forEach((function(t){e[t](r.element,r.valuesStart[t],r.valuesEnd[t],i)})),this._onUpdate&&this._onUpdate.call(this),1!==n||(this._repeat>0?(Number.isFinite(this._repeat)&&(this._repeat-=1),this._startTime=a,Number.isFinite(this._repeat)&&this._yoyo&&!this._reversed&&(this._startTime+=this._repeatDelay),this._yoyo&&(this._reversed=!this._reversed,this.reverse()),!0):(this._onComplete&&this._onComplete.call(this),this.playing=!1,this.close(),void 0!==this._chain&&this._chain.length&&this._chain.forEach((function(t){return t.start()})),!1))},n}(N);A.tween=V;var q=function(t,e,n,r){var a=this;this.tweens=[],"offset"in d||(d.offset=0);var i=r||{};i.delay=i.delay||d.delay;var s=[];return Array.from(t).forEach((function(t,r){var o=A.tween;if(s[r]=i||{},s[r].delay=r>0?i.delay+(i.offset||d.offset):i.delay,!(t instanceof Element))throw Error("KUTE.js - "+t+" not instanceof [Element]");a.tweens.push(new o(t,e,n,s[r]))})),this.length=this.tweens.length,this};q.prototype.start=function(t){var n=void 0===t?e.Time():t;return this.tweens.map((function(t){return t.start(n)})),this},q.prototype.stop=function(){return this.tweens.map((function(t){return t.stop()})),this},q.prototype.pause=function(t){var n=void 0===t?e.Time():t;return this.tweens.map((function(t){return t.pause(n)})),this},q.prototype.resume=function(t){var n=void 0===t?e.Time():t;return this.tweens.map((function(t){return t.resume(n)})),this},q.prototype.chain=function(t){var e=this.tweens[this.length-1];if(t instanceof q)e.chain(t.tweens);else{if(!(t instanceof A.tween))throw new TypeError("KUTE.js - invalid chain value");e.chain(t)}return this},q.prototype.playing=function(){return this.tweens.some((function(t){return t.playing}))},q.prototype.removeTweens=function(){this.tweens=[]},q.prototype.getMaxDuration=function(){var t=[];return this.tweens.forEach((function(e){t.push(e._duration+e._delay+e._repeat*e._repeatDelay)})),Math.max(t)};var H=function(t){try{if(t.component in p)throw Error("KUTE.js - "+t.component+" already registered");if(t.property in f)throw Error("KUTE.js - "+t.property+" already registered");this.setComponent(t)}catch(t){throw Error(t)}};function F(t,e){for(var n,r=parseInt(t,10)||0,a=["px","%","deg","rad","em","rem","vh","vw"],i=0;i.99||a<.01?(10*Q(n,r,a)>>0)/10:Q(n,r,a)>>0)+"px"})}H.prototype.setComponent=function(t){var e=this,n=t.component,r={prepareProperty:v,prepareStart:y,onStart:i,onComplete:m,crossCheck:g},s=t.category,o=t.property,u=t.properties&&t.properties.length||t.subProperties&&t.subProperties.length;return p[n]=t.properties||t.subProperties||t.property,"defaultValue"in t?(f[o]=t.defaultValue,e.supports=o+" property"):t.defaultValues&&(Object.keys(t.defaultValues).forEach((function(e){f[e]=t.defaultValues[e]})),e.supports=(u||o)+" "+(o||s)+" properties"),t.defaultOptions&&Object.keys(t.defaultOptions).forEach((function(e){d[e]=t.defaultOptions[e]})),t.functions&&Object.keys(r).forEach((function(e){e in t.functions&&("function"==typeof t.functions[e]?(r[e][n]||(r[e][n]={}),r[e][n][s||o]||(r[e][n][s||o]=t.functions[e])):Object.keys(t.functions[e]).forEach((function(a){r[e][n]||(r[e][n]={}),r[e][n][a]||(r[e][n][a]=t.functions[e][a])})))})),t.Interpolate&&(Object.keys(t.Interpolate).forEach((function(e){var n=t.Interpolate[e];"function"!=typeof n||a[e]?Object.keys(n).forEach((function(t){"function"!=typeof n[t]||a[e]||(a[e]=n[t])})):a[e]=n})),b[n]=t.Interpolate),t.Util&&Object.keys(t.Util).forEach((function(e){w[e]||(w[e]=t.Util[e])})),e};var D=["top","left","width","height"],R={};D.forEach((function(t){R[t]=U}));var X={component:"essentialBoxModel",category:"boxModel",properties:D,defaultValues:{top:0,left:0,width:0,height:0},Interpolate:{numbers:Q},functions:{prepareStart:function(t){return C(this.element,t)||f[t]},prepareProperty:function(t,e){var n=F(e),r="height"===t?"offsetHeight":"offsetWidth";return"%"===n.u?n.v*this.element[r]/100:n.v},onStart:R},Util:{trueDimension:F}};function B(t){var e;if(/rgb|rgba/.test(t)){var n=t.replace(/\s|\)/,"").split("(")[1].split(","),r=n[3]?n[3]:null;r||(e={r:parseInt(n[0],10),g:parseInt(n[1],10),b:parseInt(n[2],10)}),e={r:parseInt(n[0],10),g:parseInt(n[1],10),b:parseInt(n[2],10),a:parseFloat(r)}}if(/^#/.test(t)){var a=function(t){var e=t.replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i,(function(t,e,n,r){return e+e+n+n+r+r})),n=/^#?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(e);return n?{r:parseInt(n[1],16),g:parseInt(n[2],16),b:parseInt(n[3],16)}:null}(t);e={r:a.r,g:a.g,b:a.b}}if(/transparent|none|initial|inherit/.test(t)&&(e={r:0,g:0,b:0,a:0}),!/^#|^rgb/.test(t)){var i=document.getElementsByTagName("head")[0];i.style.color=t;var s=getComputedStyle(i,null).color;s=/rgb/.test(s)?s.replace(/[^\d,]/g,"").split(","):[0,0,0],i.style.color="",e={r:parseInt(s[0],10),g:parseInt(s[1],10),b:parseInt(s[2],10)}}return e}function Z(t,e,n){var r={},a=",";return Object.keys(e).forEach((function(a){"a"!==a?r[a]=Q(t[a],e[a],n)>>0||0:t[a]&&e[a]&&(r[a]=(100*Q(t[a],e[a],n)>>0)/100)})),r.a?"rgba("+r.r+a+r.g+a+r.b+a+r.a+")":"rgb("+r.r+a+r.g+a+r.b+")"}function z(t){this.valuesEnd[t]&&!e[t]&&(e[t]=function(e,n,r,a){e.style[t]=Z(n,r,a)})}var Y=["color","backgroundColor","borderColor","borderTopColor","borderRightColor","borderBottomColor","borderLeftColor","outlineColor"],K={};Y.forEach((function(t){K[t]="#000"}));var $={};Y.forEach((function(t){$[t]=z}));var W={component:"colorProperties",category:"colors",properties:Y,defaultValues:K,Interpolate:{numbers:Q,colors:Z},functions:{prepareStart:function(t){return C(this.element,t)||f[t]},prepareProperty:function(t,e){return B(e)},onStart:$},Util:{trueColor:B}},G={},J="htmlAttributes",tt=["fill","stroke","stop-color"];function et(t){return t.replace(/[A-Z]/g,"-$&").toLowerCase()}var nt={prepareStart:function(t,e){var n=this,r={};return Object.keys(e).forEach((function(t){var e=et(t).replace(/_+[a-z]+/,""),a=n.element.getAttribute(e);r[e]=tt.includes(e)?a||"rgba(0,0,0,0)":a||(/opacity/i.test(t)?1:0)})),r},prepareProperty:function(t,e){var n=this,r={};return Object.keys(e).forEach((function(a){var s=et(a),o=/(%|[a-z]+)$/,u=n.element.getAttribute(s.replace(/_+[a-z]+/,""));if(tt.includes(s))i.htmlAttributes[s]=function(e){n.valuesEnd[t]&&n.valuesEnd[t][e]&&!(e in G)&&(G[e]=function(t,e,n,r,a){t.setAttribute(e,Z(n,r,a))})},r[s]=B(e[a])||f.htmlAttributes[a];else if(null!==u&&o.test(u)){var c=F(u).u||F(e[a]).u,l=/%/.test(c)?"_percent":"_"+c;i.htmlAttributes[s+l]=function(e){n.valuesEnd[t]&&n.valuesEnd[t][e]&&!(e in G)&&(G[e]=function(t,e,n,r,a){var i=e.replace(l,"");t.setAttribute(i,(1e3*Q(n.v,r.v,a)>>0)/1e3+r.u)})},r[s+l]=F(e[a])}else o.test(e[a])&&null!==u&&(null===u||o.test(u))||(i.htmlAttributes[s]=function(e){n.valuesEnd[t]&&n.valuesEnd[t][e]&&!(e in G)&&(G[e]=function(t,e,n,r,a){t.setAttribute(e,(1e3*Q(n,r,a)>>0)/1e3)})},r[s]=parseFloat(e[a]))})),r},onStart:{attr:function(t){!e[t]&&this.valuesEnd[t]&&(e[t]=function(t,n,r,a){Object.keys(r).forEach((function(i){e.attributes[i](t,i,n[i],r[i],a)}))})},attributes:function(t){!e[t]&&this.valuesEnd.attr&&(e[t]=G)}}},rt={component:J,property:"attr",subProperties:["fill","stroke","stop-color","fill-opacity","stroke-opacity"],defaultValue:{fill:"rgb(0,0,0)",stroke:"rgb(0,0,0)","stop-color":"rgb(0,0,0)",opacity:1,"stroke-opacity":1,"fill-opacity":1},Interpolate:{numbers:Q,colors:Z},functions:nt,Util:{replaceUppercase:et,trueColor:B,trueDimension:F}};var at={prepareStart:function(t){return C(this.element,t)},prepareProperty:function(t,e){return parseFloat(e)},onStart:function(t){t in this.valuesEnd&&!e[t]&&(e[t]=function(e,n,r,a){e.style[t]=(1e3*Q(n,r,a)>>0)/1e3})}},it={component:"opacityProperty",property:"opacity",defaultValue:1,Interpolate:{numbers:Q},functions:at},st=String("abcdefghijklmnopqrstuvwxyz").split(""),ot=String("abcdefghijklmnopqrstuvwxyz").toUpperCase().split(""),ut=String("~!@#$%^&*()_+{}[];'<>,./?=-").split(""),ct=String("0123456789").split(""),lt=st.concat(ot,ct),ht=lt.concat(ut),pt={alpha:st,upper:ot,symbols:ut,numeric:ct,alphanumeric:lt,all:ht},ft={text:function(t){if(!e[t]&&this.valuesEnd[t]){var n=this._textChars,r=pt[d.textChars];n in pt?r=pt[n]:n&&n.length&&(r=n),e[t]=function(t,e,n,a){var i="",s="",o=""===n?" ":n,u=e.substring(0),c=n.substring(0),l=r[Math.random()*r.length>>0];" "===e?(s=c.substring(Math.min(a*c.length,c.length)>>0,0),t.innerHTML=a<1?s+l:o):" "===n?(i=u.substring(0,Math.min((1-a)*u.length,u.length)>>0),t.innerHTML=a<1?i+l:o):(i=u.substring(u.length,Math.min(a*u.length,u.length)>>0),s=c.substring(0,Math.min(a*c.length,c.length)>>0),t.innerHTML=a<1?s+l+i:o)}}},number:function(t){t in this.valuesEnd&&!e[t]&&(e[t]=function(t,e,n,r){t.innerHTML=Q(e,n,r)>>0})}};function dt(t,e){var n,r;if("string"==typeof t)return(r=document.createElement("SPAN")).innerHTML=t,r.className=e,r;if(!t.children.length||t.children.length&&t.children[0].className!==e){var a=t.innerHTML;(n=document.createElement("SPAN")).className=e,n.innerHTML=a,t.appendChild(n),t.innerHTML=n.outerHTML}else t.children.length&&t.children[0].className===e&&(n=t.children[0]);return n}function vt(t,e){var n=[],r=t.children.length;if(r){for(var a,i=[],s=t.innerHTML,o=0,u=void 0,c=void 0,l=void 0;o>0)/1e3+n+")"}function gt(t,e,n,r){for(var a=[],i=0;i<3;i+=1)a[i]=(t[i]||e[i]?(1e3*(t[i]+(e[i]-t[i])*r)>>0)/1e3:0)+n;return"translate3d("+a.join(",")+")"}function mt(t,e,n,r){var a="";return a+=t[0]||e[0]?"rotateX("+(1e3*(t[0]+(e[0]-t[0])*r)>>0)/1e3+n+")":"",a+=t[1]||e[1]?"rotateY("+(1e3*(t[1]+(e[1]-t[1])*r)>>0)/1e3+n+")":"",a+=t[2]||e[2]?"rotateZ("+(1e3*(t[2]+(e[2]-t[2])*r)>>0)/1e3+n+")":""}function bt(t,e,n){return"scale("+(1e3*(t+(e-t)*n)>>0)/1e3+")"}function xt(t,e,n,r){var a=[];return a[0]=(t[0]===e[0]?e[0]:(1e3*(t[0]+(e[0]-t[0])*r)>>0)/1e3)+n,a[1]=t[1]||e[1]?(t[1]===e[1]?e[1]:(1e3*(t[1]+(e[1]-t[1])*r)>>0)/1e3)+n:"0","skew("+a.join(",")+")"}function wt(t,e){return parseFloat(t)/100*e}function Et(t){return 2*t.getAttribute("width")+2*t.getAttribute("height")}function Mt(t){var e=t.getAttribute("points").split(" "),n=0;if(e.length>1){var r=function(t){var e=t.split(",");return 2!==e.length||Number.isNaN(1*e[0])||Number.isNaN(1*e[1])?0:[parseFloat(e[0]),parseFloat(e[1])]},a=function(t,e){return void 0!==t&&void 0!==e?Math.sqrt(Math.pow(e[0]-t[0],2)+Math.pow(e[1]-t[1],2)):0};if(e.length>2)for(var i=0;i>0)/100,i=0-(100*Q(e.s,n.s,r)>>0)/100,s=(100*Q(e.e,n.e,r)>>0)/100+i;t.style.strokeDashoffset=i+"px",t.style.strokeDasharray=(100*(s<1?0:s)>>0)/100+"px, "+a+"px"})}},It=4;function At(t){return t.map((function(t){return Array.isArray(t)?At(t):Number.isNaN(+t)?t:+t}))}function jt(t,e){var n=Number.isNaN(+e)?It:+e;return n?t.map((function(t){return t.map((function(t){var e=+t,r=Math.pow(10,n);return e?e%1==0?e:Math.round(e*r)/r:t}))})):At(t)}function Lt(t,e,n){if(t[n].length>7){t[n].shift();for(var r=t[n],a=n;r.length;)e[n]="A",t.splice(a+=1,0,["C"].concat(r.splice(0,6)));t.splice(n,1)}}var Pt={a:7,c:6,h:1,l:2,m:2,r:4,q:4,s:4,t:2,v:1,z:0};function Nt(t){return Array.isArray(t)&&t.every((function(t){var e=t[0].toLowerCase();return Pt[e]===t.length-1&&/[achlmrqstvz]/g.test(e)}))}function Vt(t){var e=t.pathValue[t.segmentStart],n=e.toLowerCase(),r=t.data;if("m"===n&&r.length>2&&(t.segments.push([e,r[0],r[1]]),r=r.slice(2),n="l",e="m"===e?"l":"L"),"r"===n)t.segments.push([e].concat(r));else for(;r.length>=Pt[n]&&(t.segments.push([e].concat(r.splice(0,Pt[n]))),Pt[n]););}var qt="Invalid path value";function Ht(t){var e=t.pathValue.charCodeAt(t.index);return 48===e?(t.param=0,void(t.index+=1)):49===e?(t.param=1,void(t.index+=1)):void(t.err=qt+": invalid Arc flag "+e)}function Ft(t){return t>=48&&t<=57}function Qt(t){var e,n=t.index,r=t.max,a=n,i=!1,s=!1,o=!1,u=!1;if(a>=r)t.err=qt+": missing param "+t.pathValue[a];else if(43!==(e=t.pathValue.charCodeAt(a))&&45!==e||(e=(a+=1)=5760&&[5760,6158,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(e)>=0);)t.index+=1;var e}function Dt(t){return t>=48&&t<=57||43===t||45===t||46===t}function Rt(t){var e=t.max,n=t.pathValue.charCodeAt(t.index),r=Pt[t.pathValue[t.index].toLowerCase()];if(t.segmentStart=t.index,function(t){switch(32|t){case 109:case 122:case 108:case 104:case 118:case 99:case 115:case 113:case 116:case 97:case 114:return!0;default:return!1}}(n))if(t.index+=1,Ut(t),t.data=[],r){for(;;){for(var a=r;a>0;a-=1){if(97!=(32|n)||3!==a&&4!==a?Qt(t):Ht(t),t.err.length)return;t.data.push(t.param),Ut(t),t.index=t.max)break;if(!Dt(t.pathValue.charCodeAt(t.index)))break}Vt(t)}else Vt(t);else t.err=qt+": "+t.pathValue[t.index]+" not a path command"}function Xt(t){return this.segments=[],this.pathValue=t,this.max=t.length,this.index=0,this.param=0,this.segmentStart=0,this.data=[],this.err="",this}function Bt(t,e){if(function(t){return Nt(t)&&t.every((function(t){return t[0]===t[0].toUpperCase()}))}(t))return At(t);var n=function(t,e){if(Nt(t))return At(t);var n=new Xt(t);for(Ut(n);n.index-1?{x1:2*t-n,y1:2*e-r}:{x1:t,y1:e}}(e.x1,e.y1,e.x2,e.y2,n),o=s.x1,u=s.y1;e.x1=o,e.y1=u,i=["C",o,u].concat(a)}else if("T"===r){var c=function(t,e,n,r,a){return"QT".indexOf(a)>-1?{qx:2*t-n,qy:2*e-r}:{qx:t,qy:e}}(e.x1,e.y1,e.qx,e.qy,n),l=c.qx,h=c.qy;e.qx=l,e.qy=h,i=["Q",l,h].concat(a)}else if("Q"===r){var p=a[0],f=a[1];e.qx=p,e.qy=f}return i}function zt(t,e){if(function(t){return Array.isArray(t)&&t.every((function(t){var e=t[0].toLowerCase();return Pt[e]===t.length-1&&/[ACLMQZ]/.test(t[0])}))}(t))return At(t);for(var n,r,a=Bt(t,e),i={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null},s=[],o=a.length,u="",c=0;c1&&(E*=O=Math.sqrt(O),M*=O);var C=Math.pow(E,2),T=Math.pow(M,2),S=(i===s?-1:1)*Math.sqrt(Math.abs((C*T-C*k*k-T*_*_)/(C*k*k+T*_*_)));f=S*E*k/M+(m+b)/2,d=S*-M*_/E+(x+w)/2,h=Math.asin(((x-d)/M*Math.pow(10,9)>>0)/Math.pow(10,9)),p=Math.asin(((w-d)/M*Math.pow(10,9)>>0)/Math.pow(10,9)),h=mp&&(h-=2*Math.PI),!s&&p>h&&(p-=2*Math.PI)}var I=p-h;if(Math.abs(I)>v){var A=p,j=b,L=w;p=h+v*(s&&p>h?1:-1),b=f+E*Math.cos(p),w=d+M*Math.sin(p),g=Kt(b,w,E,M,a,0,s,j,L,[p,A,f,d])}I=p-h;var P=Math.cos(h),N=Math.sin(h),V=Math.cos(p),q=Math.sin(p),H=Math.tan(I/4),F=4/3*E*H,Q=4/3*M*H,U=[m,x],D=[m+F*N,x-Q*P],R=[b+F*q,w-Q*V],X=[b,w];return D[0]=2*U[0]-D[0],D[1]=2*U[1]-D[1],c?[D,R,X].concat(g):(g=[D,R,X].concat(g).join().split(",")).map((function(t,e){return e%2?Yt(g[e-1],t,y).y:Yt(t,g[e+1],y).x}))}function $t(t,e,n,r,a,i){var s=1/3,o=2/3;return[s*t+o*n,s*e+o*r,s*a+o*n,s*i+o*r,a,i]}function Wt(t,e,n,r,a,i,s,o,u){var c=1-u;return{x:Math.pow(c,3)*t+c*c*3*u*n+3*c*u*u*a+Math.pow(u,3)*s,y:Math.pow(c,3)*e+c*c*3*u*r+3*c*u*u*i+Math.pow(u,3)*o}}function Gt(t,e,n){var r=t[0],a=t[1];return[r+(e[0]-r)*n,a+(e[1]-a)*n]}function Jt(t,e,n,r){var a=.5,i=[t,e],s=[n,r],o=Gt(i,s,a),u=Gt(s,o,a),c=Gt(o,u,a),l=Gt(u,c,a),h=Gt(c,l,a),p=Wt.apply(0,i.concat(o,c,h,a)),f=Wt.apply(0,h.concat(l,u,s,0));return[p.x,p.y,f.x,f.y,n,r]}function te(t,e){"TQ".indexOf(t[0])<0&&(e.qx=null,e.qy=null);var n=t.slice(1),r=n[0],a=n[1];switch(t[0]){case"M":return e.x=r,e.y=a,t;case"A":return["C"].concat(Kt.apply(0,[e.x1,e.y1].concat(t.slice(1))));case"Q":return e.qx=r,e.qy=a,["C"].concat($t.apply(0,[e.x1,e.y1].concat(t.slice(1))));case"L":return["C"].concat(Jt(e.x1,e.y1,t[1],t[2]));case"Z":return["C"].concat(Jt(e.x1,e.y1,e.x,e.y))}return t}function ee(t,e){if(function(t){return Nt(t)&&t.slice(1).every((function(t){return"C"===t[0]}))}(t))return At(t);for(var n,r,a=zt(t,e),i={x1:0,y1:0,x2:0,y2:0,x:0,y:0,qx:null,qy:null},s=[],o="",u=a.length,c=0;c1&&(c=1),c<0&&(c=0);var l=c/2,h=0,p=0,f=0,d=0,v=[.2491,.2491,.2335,.2335,.2032,.2032,.1601,.1601,.1069,.1069,.0472,.0472];return[-.1252,.1252,-.3678,.3678,-.5873,.5873,-.7699,.7699,-.9041,.9041,-.9816,.9816].forEach((function(u,c){p=re(t,n,a,s,h=l*u+l),f=re(e,r,i,o,h),d+=v[c]*Math.sqrt(p*p+f*f)})),l*d}function ie(t,e){var n=0;return ee(t,e).forEach((function(t,e,r){n+="M"!==t[0]?ae.apply(0,r[e-1].slice(-2).concat(t.slice(1))):0})),n}function se(t,e){var n,r,a=0;return ee(t,9).map((function(t,i,s){return r=i?s[i-1].slice(-2).concat(t.slice(1)):t.slice(1),n=i?ae.apply(0,r):0,a+=n,0===i?{x:r[0],y:r[1]}:a>e&&e>a-n?Wt.apply(0,r.concat(1-(a-e)/n)):null})).filter((function(t){return t})).slice(-1)[0]}function oe(t,e,n,r,a,i,s,o){return 3*((o-e)*(n+a)-(s-t)*(r+i)+r*(t-a)-n*(e-i)+o*(a+t/3)-s*(i+e/3))/20}function ue(t,e){return function(t,e){var n=0,r=0,a=0,i=0,s=0;return ee(t,e).map((function(t){var e;switch(t[0]){case"M":case"Z":return a="M"===t[0]?t[1]:a,i="M"===t[0]?t[2]:i,n=a,r=i,0;default:return s=oe.apply(0,[n,r].concat(t.slice(1))),e=t.slice(-2),n=e[0],r=e[1],s}})).reduce((function(t,e){return t+e}),0)}(ee(t,e))>=0}function ce(t,e){return Math.sqrt((t[0]-e[0])*(t[0]-e[0])+(t[1]-e[1])*(t[1]-e[1]))}function le(t,e,n,r){for(var a=[],i=0;i>0)/1e3)}return a}function he(t){return t.reduce((function(e,n,r){return r?e+ce(t[r-1],n):0}),0)}function pe(t,e){var n,r,a=ee((n=ne(t),ne(Bt(n,0)).replace(/(m|M)/g,"|$1").split("|").map((function(t){return t.trim()})).filter((function(t){return t})))[0],4),i=ie(a),s=[],o=3;e&&!Number.isNaN(e)&&+e>0&&(o=Math.max(o,Math.ceil(i/e)));for(var u=0;u-1))return!1;n.push([a[1],a[2]])}return e=he(n),!!r&&{ring:n,pathLength:e}}(n)||pe(n,e)}function de(t,e){for(var n,r,a,i,s=t.length,o=1/0,u=0,c=0;ce;)r=Gt(n,r,.5),t.splice(a+1,0,r)}function ge(t){return Array.isArray(t)&&t.every((function(t){return Array.isArray(t)&&2===t.length&&!Number.isNaN(t[0])&&!Number.isNaN(t[1])}))}function me(t,e){var n,r,a=t;if("string"==typeof a){var i=fe(a,e);a=i.ring,n=i.skipBisect,r=i.pathLength}else if(!Array.isArray(a))throw Error(qt+": "+a);var s=a.slice(0);if(s.pathLength=r,!ge(s))throw Error(qt+": "+s);return s.length>1&&ce(s[0],s[s.length-1])<1e-9&&s.pop(),!n&&e&&!Number.isNaN(e)&&+e>0&&ye(s,e),s}function be(t,e,n){var r=n||d.morphPrecision,a=me(t,r),i=me(e,r),s=a.length-i.length;return ve(a,s<0?-1*s:0),ve(i,s>0?s:0),de(a,i),[jt(a),jt(i)]}var xe={prepareStart:function(){return this.element.getAttribute("d")},prepareProperty:function(t,e){var n={},r=new RegExp("\\n","ig"),a=null;return e instanceof SVGElement?a=e:/^\.|^#/.test(e)&&(a=L(e)),"object"==typeof e&&e.pathArray?e:(a&&["path","glyph"].includes(a.tagName)?n.original=a.getAttribute("d").replace(r,""):a||"string"!=typeof e||(n.original=e.replace(r,"")),n)},onStart:function(t){!e[t]&&this.valuesEnd[t]&&(e[t]=function(t,e,n,r){var a=e.pathArray,i=n.pathArray,s=i.length;t.setAttribute("d",1===r?n.original:"M"+le(a,i,s,r).join("L")+"Z")})},crossCheck:function(t){if(this.valuesEnd[t]){var e=this.valuesStart[t].pathArray,n=this.valuesEnd[t].pathArray;if(!e||!n||e&&n&&e.length!==n.length){var r=be(this.valuesStart[t].original,this.valuesEnd[t].original,this._morphPrecision?parseInt(this._morphPrecision,10):d.morphPrecision),a=r[0],i=r[1];this.valuesStart[t].pathArray=a,this.valuesEnd[t].pathArray=i}}}},we={EssentialBoxModel:X,ColorsProperties:W,HTMLAttributes:rt,OpacityProperty:it,TextWrite:{component:"textWriteProperties",category:"textWrite",properties:["text","number"],defaultValues:{text:" ",numbers:"0"},defaultOptions:{textChars:"alpha"},Interpolate:{numbers:Q},functions:{prepareStart:function(){return this.element.innerHTML},prepareProperty:function(t,e){return"number"===t?parseFloat(e):""===e?" ":e},onStart:ft},Util:{charSet:pt,createTextTweens:function(t,e,n){if(t.playing)return!1;var r=n||{};r.duration=1e3,"auto"===n.duration?r.duration="auto":Number.isFinite(1*n.duration)&&(r.duration=1*n.duration);var a=A.tween,i=function(t,e){var n=vt(t,"text-part"),r=vt(dt(e),"text-part");return t.innerHTML="",t.innerHTML+=n.map((function(t){return t.className+=" oldText",t.outerHTML})).join(""),t.innerHTML+=r.map((function(t){return t.className+=" newText",t.outerHTML.replace(t.innerHTML,"")})).join(""),[n,r]}(t,e),s=i[0],o=i[1],u=[].slice.call(t.getElementsByClassName("oldText")).reverse(),c=[].slice.call(t.getElementsByClassName("newText")),l=[],h=0;return(l=(l=l.concat(u.map((function(t,e){return r.duration="auto"===r.duration?75*s[e].innerHTML.length:r.duration,r.delay=h,r.onComplete=null,h+=r.duration,new a(t,{text:t.innerHTML},{text:""},r)})))).concat(c.map((function(n,i){return r.duration="auto"===r.duration?75*o[i].innerHTML.length:r.duration,r.delay=h,r.onComplete=i===o.length-1?function(){t.innerHTML=e,t.playing=!1}:null,h+=r.duration,new a(n,{text:""},{text:o[i].innerHTML},r)})))).start=function(){t.playing||(l.forEach((function(t){return t.start()})),t.playing=!0)},l}}},TransformFunctions:{component:"transformFunctions",property:"transform",subProperties:["perspective","translate3d","translateX","translateY","translateZ","translate","rotate3d","rotateX","rotateY","rotateZ","rotate","skewX","skewY","skew","scale"],defaultValues:{perspective:400,translate3d:[0,0,0],translateX:0,translateY:0,translateZ:0,translate:[0,0],rotate3d:[0,0,0],rotateX:0,rotateY:0,rotateZ:0,rotate:0,skewX:0,skewY:0,skew:[0,0],scale:1},functions:{prepareStart:function(t){var e=O(this.element);return e[t]?e[t]:f[t]},prepareProperty:function(t,e){var n=["X","Y","Z"],r={},a=[],i=[],s=[],o=["translate3d","translate","rotate3d","skew"];return Object.keys(e).forEach((function(t){var u="object"==typeof e[t]&&e[t].length?e[t].map((function(t){return parseInt(t,10)})):parseInt(e[t],10);if(o.includes(t)){var c="translate"===t||"rotate"===t?t+"3d":t;r[c]="skew"===t?u.length?[u[0]||0,u[1]||0]:[u||0,0]:"translate"===t?u.length?[u[0]||0,u[1]||0,u[2]||0]:[u||0,0,0]:[u[0]||0,u[1]||0,u[2]||0]}else if(/[XYZ]/.test(t)){var l=t.replace(/[XYZ]/,""),h="skew"===l?l:l+"3d",p="skew"===l?2:3,f=[];"translate"===l?f=a:"rotate"===l?f=i:"skew"===l&&(f=s);for(var d=0;d>0)/1e3)+n,a[1]=t[1]||e[1]?(t[1]===e[1]?e[1]:(1e3*(t[1]+(e[1]-t[1])*r)>>0)/1e3)+n:"0","translate("+a.join(",")+")"},rotate:function(t,e,n,r){return"rotate("+(1e3*(t+(e-t)*r)>>0)/1e3+n+")"},scale:bt,skew:xt}},SVGDraw:{component:"svgDraw",property:"draw",defaultValue:"0% 0%",Interpolate:{numbers:Q},functions:St,Util:{getRectLength:Et,getPolyLength:Mt,getLineLength:_t,getCircleLength:kt,getEllipseLength:Ot,getTotalLength:Ct,resetDraw:function(t){t.style.strokeDashoffset="",t.style.strokeDasharray=""},getDraw:Tt,percent:wt}},SVGMorph:{component:"svgMorph",property:"path",defaultValue:[],Interpolate:le,defaultOptions:{morphPrecision:10,morphIndex:0},functions:xe,Util:{addPoints:ve,bisect:ye,normalizeRing:me,validRing:ge,getInterpolationPoints:be,pathStringToRing:fe,distanceSquareRoot:ce,midPoint:Gt,approximateRing:pe,rotateRing:de,pathToString:ne,pathToCurve:ee,getPathLength:ie,getPointAtLength:se,getDrawDirection:ue,roundPath:jt}}};return Object.keys(we).forEach((function(t){var e=we[t];we[t]=new H(e)})),{Animation:H,Components:we,Tween:V,fromTo:function(t,e,n,r){var a=r||{};return new(0,A.tween)(L(t),e,n,a)},to:function(t,e,n){var r=n||{},a=A.tween;return r.resetStart=e,new a(L(t),e,e,r)},TweenCollection:q,allFromTo:function(t,e,n,r){var a=r||{};return new q(L(t,!0),e,n,a)},allTo:function(t,e,n){var r=n||{};return n.resetStart=e,new q(L(t,!0),e,e,r)},Objects:x,Util:w,Easing:j,CubicBezier:t,Render:h,Interpolate:a,Process:I,Internals:k,Selector:L,Version:"2.1.1-alpha1"}}));