@betorigami/games 2.3.2 → 2.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +45 -45
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -6,7 +6,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
6
6
|
By Ken Fyrstenberg
|
|
7
7
|
Contributions by leeoniya.
|
|
8
8
|
License: MIT, header required.
|
|
9
|
-
*/var Matrix=function(){var{cos:a,sin:e,tan:i,round:r}=Math;function n(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this.props[3]=0,this.props[4]=0,this.props[5]=1,this.props[6]=0,this.props[7]=0,this.props[8]=0,this.props[9]=0,this.props[10]=1,this.props[11]=0,this.props[12]=0,this.props[13]=0,this.props[14]=0,this.props[15]=1,this}function t(H){if(H===0)return this;var M=a(H),Q=e(H);return this._t(M,-Q,0,0,Q,M,0,0,0,0,1,0,0,0,0,1)}function l(H){if(H===0)return this;var M=a(H),Q=e(H);return this._t(1,0,0,0,0,M,-Q,0,0,Q,M,0,0,0,0,1)}function o(H){if(H===0)return this;var M=a(H),Q=e(H);return this._t(M,0,Q,0,0,1,0,0,-Q,0,M,0,0,0,0,1)}function s(H){if(H===0)return this;var M=a(H),Q=e(H);return this._t(M,-Q,0,0,Q,M,0,0,0,0,1,0,0,0,0,1)}function d(H,M){return this._t(1,M,H,1,0,0)}function c(H,M){return this.shear(i(H),i(M))}function m(H,M){var Q=a(M),L=e(M);return this._t(Q,L,0,0,-L,Q,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,i(H),1,0,0,0,0,1,0,0,0,0,1)._t(Q,-L,0,0,L,Q,0,0,0,0,1,0,0,0,0,1)}function h(H,M,Q){if(!Q&&Q!==0)Q=1;if(H===1&&M===1&&Q===1)return this;return this._t(H,0,0,0,0,M,0,0,0,0,Q,0,0,0,0,1)}function f(H,M,Q,L,_,i1,l1,c1,k1,A1,ia,ta,T1,X1,ra,y1){return this.props[0]=H,this.props[1]=M,this.props[2]=Q,this.props[3]=L,this.props[4]=_,this.props[5]=i1,this.props[6]=l1,this.props[7]=c1,this.props[8]=k1,this.props[9]=A1,this.props[10]=ia,this.props[11]=ta,this.props[12]=T1,this.props[13]=X1,this.props[14]=ra,this.props[15]=y1,this}function v(H,M,Q){if(Q=Q||0,H!==0||M!==0||Q!==0)return this._t(1,0,0,0,0,1,0,0,0,0,1,0,H,M,Q,1);return this}function g(H,M,Q,L,_,i1,l1,c1,k1,A1,ia,ta,T1,X1,ra,y1){var r1=this.props;if(H===1&&M===0&&Q===0&&L===0&&_===0&&i1===1&&l1===0&&c1===0&&k1===0&&A1===0&&ia===1&&ta===0)return r1[12]=r1[12]*H+r1[15]*T1,r1[13]=r1[13]*i1+r1[15]*X1,r1[14]=r1[14]*ia+r1[15]*ra,r1[15]*=y1,this._identityCalculated=!1,this;var ga=r1[0],ya=r1[1],ua=r1[2],wa=r1[3],xa=r1[4],da=r1[5],D1=r1[6],Da=r1[7],Na=r1[8],Za=r1[9],Ga=r1[10],Ia=r1[11],s0=r1[12],Q2=r1[13],Y2=r1[14],X2=r1[15];return r1[0]=ga*H+ya*_+ua*k1+wa*T1,r1[1]=ga*M+ya*i1+ua*A1+wa*X1,r1[2]=ga*Q+ya*l1+ua*ia+wa*ra,r1[3]=ga*L+ya*c1+ua*ta+wa*y1,r1[4]=xa*H+da*_+D1*k1+Da*T1,r1[5]=xa*M+da*i1+D1*A1+Da*X1,r1[6]=xa*Q+da*l1+D1*ia+Da*ra,r1[7]=xa*L+da*c1+D1*ta+Da*y1,r1[8]=Na*H+Za*_+Ga*k1+Ia*T1,r1[9]=Na*M+Za*i1+Ga*A1+Ia*X1,r1[10]=Na*Q+Za*l1+Ga*ia+Ia*ra,r1[11]=Na*L+Za*c1+Ga*ta+Ia*y1,r1[12]=s0*H+Q2*_+Y2*k1+X2*T1,r1[13]=s0*M+Q2*i1+Y2*A1+X2*X1,r1[14]=s0*Q+Q2*l1+Y2*ia+X2*ra,r1[15]=s0*L+Q2*c1+Y2*ta+X2*y1,this._identityCalculated=!1,this}function x(H){var M=H.props;return this.transform(M[0],M[1],M[2],M[3],M[4],M[5],M[6],M[7],M[8],M[9],M[10],M[11],M[12],M[13],M[14],M[15])}function z(){if(!this._identityCalculated)this._identity=!(this.props[0]!==1||this.props[1]!==0||this.props[2]!==0||this.props[3]!==0||this.props[4]!==0||this.props[5]!==1||this.props[6]!==0||this.props[7]!==0||this.props[8]!==0||this.props[9]!==0||this.props[10]!==1||this.props[11]!==0||this.props[12]!==0||this.props[13]!==0||this.props[14]!==0||this.props[15]!==1),this._identityCalculated=!0;return this._identity}function p(H){var M=0;while(M<16){if(H.props[M]!==this.props[M])return!1;M+=1}return!0}function w(H){var M;for(M=0;M<16;M+=1)H.props[M]=this.props[M];return H}function b(H){var M;for(M=0;M<16;M+=1)this.props[M]=H[M]}function y(H,M,Q){return{x:H*this.props[0]+M*this.props[4]+Q*this.props[8]+this.props[12],y:H*this.props[1]+M*this.props[5]+Q*this.props[9]+this.props[13],z:H*this.props[2]+M*this.props[6]+Q*this.props[10]+this.props[14]}}function I(H,M,Q){return H*this.props[0]+M*this.props[4]+Q*this.props[8]+this.props[12]}function O(H,M,Q){return H*this.props[1]+M*this.props[5]+Q*this.props[9]+this.props[13]}function K(H,M,Q){return H*this.props[2]+M*this.props[6]+Q*this.props[10]+this.props[14]}function j(){var H=this.props[0]*this.props[5]-this.props[1]*this.props[4],M=this.props[5]/H,Q=-this.props[1]/H,L=-this.props[4]/H,_=this.props[0]/H,i1=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/H,l1=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/H,c1=new Matrix;return c1.props[0]=M,c1.props[1]=Q,c1.props[4]=L,c1.props[5]=_,c1.props[12]=i1,c1.props[13]=l1,c1}function T(H){var M=this.getInverseMatrix();return M.applyToPointArray(H[0],H[1],H[2]||0)}function A(H){var M,Q=H.length,L=[];for(M=0;M<Q;M+=1)L[M]=T(H[M]);return L}function V(H,M,Q){var L=createTypedArray("float32",6);if(this.isIdentity())L[0]=H[0],L[1]=H[1],L[2]=M[0],L[3]=M[1],L[4]=Q[0],L[5]=Q[1];else{var _=this.props[0],i1=this.props[1],l1=this.props[4],c1=this.props[5],k1=this.props[12],A1=this.props[13];L[0]=H[0]*_+H[1]*l1+k1,L[1]=H[0]*i1+H[1]*c1+A1,L[2]=M[0]*_+M[1]*l1+k1,L[3]=M[0]*i1+M[1]*c1+A1,L[4]=Q[0]*_+Q[1]*l1+k1,L[5]=Q[0]*i1+Q[1]*c1+A1}return L}function N(H,M,Q){var L;if(this.isIdentity())L=[H,M,Q];else L=[H*this.props[0]+M*this.props[4]+Q*this.props[8]+this.props[12],H*this.props[1]+M*this.props[5]+Q*this.props[9]+this.props[13],H*this.props[2]+M*this.props[6]+Q*this.props[10]+this.props[14]];return L}function G(H,M){if(this.isIdentity())return H+","+M;var Q=this.props;return Math.round((H*Q[0]+M*Q[4]+Q[12])*100)/100+","+Math.round((H*Q[1]+M*Q[5]+Q[13])*100)/100}function D(){var H=0,M=this.props,Q="matrix3d(",L=1e4;while(H<16)Q+=r(M[H]*L)/L,Q+=H===15?")":",",H+=1;return Q}function F(H){var M=1e4;if(H<0.000001&&H>0||H>-0.000001&&H<0)return r(H*M)/M;return H}function E(){var H=this.props,M=F(H[0]),Q=F(H[1]),L=F(H[4]),_=F(H[5]),i1=F(H[12]),l1=F(H[13]);return"matrix("+M+","+Q+","+L+","+_+","+i1+","+l1+")"}return function(){this.reset=n,this.rotate=t,this.rotateX=l,this.rotateY=o,this.rotateZ=s,this.skew=c,this.skewFromAxis=m,this.shear=d,this.scale=h,this.setTransform=f,this.translate=v,this.transform=g,this.multiply=x,this.applyToPoint=y,this.applyToX=I,this.applyToY=O,this.applyToZ=K,this.applyToPointArray=N,this.applyToTriplePoints=V,this.applyToPointStringified=G,this.toCSS=D,this.to2dCSS=E,this.clone=w,this.cloneFromProps=b,this.equals=p,this.inversePoints=A,this.inversePoint=T,this.getInverseMatrix=j,this._t=this.transform,this.isIdentity=z,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(a){return _typeof$3=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$3(a)}var lottie={},standalone="__[STANDALONE]__",animationData="__[ANIMATIONDATA]__",renderer="";function setLocation(a){setLocationHref(a)}function searchAnimations(){if(standalone===!0)animationManager.searchAnimations(animationData,standalone,renderer);else animationManager.searchAnimations()}function setSubframeRendering(a){setSubframeEnabled(a)}function setPrefix(a){setIdPrefix(a)}function loadAnimation(a){if(standalone===!0)a.animationData=JSON.parse(animationData);return animationManager.loadAnimation(a)}function setQuality(a){if(typeof a==="string")switch(a){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10);break}else if(!isNaN(a)&&a>1)setDefaultCurveSegments(a);if(getDefaultCurveSegments()>=50)roundValues(!1);else roundValues(!0)}function inBrowser(){return typeof navigator!=="undefined"}function installPlugin(a,e){if(a==="expressions")setExpressionsPlugin(e)}function getFactory(a){switch(a){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version="5.13.0";function checkReady(){if(document.readyState==="complete")clearInterval(readyStateCheckInterval),searchAnimations()}function getQueryVariable(a){var e=queryString.split("&");for(var i=0;i<e.length;i+=1){var r=e[i].split("=");if(decodeURIComponent(r[0])==a)return decodeURIComponent(r[1])}return null}var queryString="";if(standalone){var scripts=document.getElementsByTagName("script"),index=scripts.length-1,myScript=scripts[index]||{src:""};queryString=myScript.src?myScript.src.replace(/^[^\?]+\??/,""):"",renderer=getQueryVariable("renderer")}var readyStateCheckInterval=setInterval(checkReady,100);try{if(!((typeof A0==="undefined"?"undefined":_typeof$3(A0))==="object"&&typeof z2!=="undefined")&&!(typeof define==="function"&&define.amd))window.bodymovin=lottie}catch(a){}var ShapeModifiers=function(){var a={},e={};a.registerModifier=i,a.getModifier=r;function i(n,t){if(!e[n])e[n]=t}function r(n,t,l){return new e[n](t,l)}return a}();function ShapeModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(a){if(!this.closed){a.sh.container.addDynamicProperty(a.sh);var e={shape:a.sh,data:a,localShapeCollection:shapeCollectionPool.newShapeCollection()};if(this.shapes.push(e),this.addShapeToModifier(e),this._isAnimated)a.setAsAnimated()}},ShapeModifier.prototype.init=function(a,e){if(this.shapes=[],this.elem=a,this.initDynamicPropertyContainer(a),this.initModifierProperties(a,e),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length)this.k=!0;else this.getValue(!0)},ShapeModifier.prototype.processKeys=function(){if(this.elem.globalData.frameId===this.frameId)return;this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties()},extendPrototype([DynamicPropertyContainer],ShapeModifier);function TrimModifier(){}extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(a,e){this.s=PropertyFactory.getProp(a,e.s,0,0.01,this),this.e=PropertyFactory.getProp(a,e.e,0,0.01,this),this.o=PropertyFactory.getProp(a,e.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=e.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length},TrimModifier.prototype.addShapeToModifier=function(a){a.pathsData=[]},TrimModifier.prototype.calculateShapeEdges=function(a,e,i,r,n){var t=[];if(e<=1)t.push({s:a,e});else if(a>=1)t.push({s:a-1,e:e-1});else t.push({s:a,e:1}),t.push({s:0,e:e-1});var l=[],o,s=t.length,d;for(o=0;o<s;o+=1)if(d=t[o],!(d.e*n<r||d.s*n>r+i)){var c,m;if(d.s*n<=r)c=0;else c=(d.s*n-r)/i;if(d.e*n>=r+i)m=1;else m=(d.e*n-r)/i;l.push([c,m])}if(!l.length)l.push([0,0]);return l},TrimModifier.prototype.releasePathsData=function(a){var e,i=a.length;for(e=0;e<i;e+=1)segmentsLengthPool.release(a[e]);return a.length=0,a},TrimModifier.prototype.processShapes=function(a){var e,i;if(this._mdf||a){var r=this.o.v%360/360;if(r<0)r+=1;if(this.s.v>1)e=1+r;else if(this.s.v<0)e=0+r;else e=this.s.v+r;if(this.e.v>1)i=1+r;else if(this.e.v<0)i=0+r;else i=this.e.v+r;if(e>i){var n=e;e=i,i=n}e=Math.round(e*1e4)*0.0001,i=Math.round(i*1e4)*0.0001,this.sValue=e,this.eValue=i}else e=this.sValue,i=this.eValue;var t,l,o=this.shapes.length,s,d,c,m,h,f=0;if(i===e){for(l=0;l<o;l+=1)if(this.shapes[l].localShapeCollection.releaseShapes(),this.shapes[l].shape._mdf=!0,this.shapes[l].shape.paths=this.shapes[l].localShapeCollection,this._mdf)this.shapes[l].pathsData.length=0}else if(!(i===1&&e===0||i===0&&e===1)){var v=[],g,x;for(l=0;l<o;l+=1)if(g=this.shapes[l],!g.shape._mdf&&!this._mdf&&!a&&this.m!==2)g.shape.paths=g.localShapeCollection;else{if(t=g.shape.paths,d=t._length,h=0,!g.shape._mdf&&g.pathsData.length)h=g.totalShapeLength;else{c=this.releasePathsData(g.pathsData);for(s=0;s<d;s+=1)m=bez.getSegmentsLength(t.shapes[s]),c.push(m),h+=m.totalLength;g.totalShapeLength=h,g.pathsData=c}f+=h,g.shape._mdf=!0}var z=e,p=i,w=0,b;for(l=o-1;l>=0;l-=1)if(g=this.shapes[l],g.shape._mdf){if(x=g.localShapeCollection,x.releaseShapes(),this.m===2&&o>1)b=this.calculateShapeEdges(e,i,g.totalShapeLength,w,f),w+=g.totalShapeLength;else b=[[z,p]];d=b.length;for(s=0;s<d;s+=1){if(z=b[s][0],p=b[s][1],v.length=0,p<=1)v.push({s:g.totalShapeLength*z,e:g.totalShapeLength*p});else if(z>=1)v.push({s:g.totalShapeLength*(z-1),e:g.totalShapeLength*(p-1)});else v.push({s:g.totalShapeLength*z,e:g.totalShapeLength}),v.push({s:0,e:g.totalShapeLength*(p-1)});var y=this.addShapes(g,v[0]);if(v[0].s!==v[0].e){if(v.length>1){var I=g.shape.paths.shapes[g.shape.paths._length-1];if(I.c){var O=y.pop();this.addPaths(y,x),y=this.addShapes(g,v[1],O)}else this.addPaths(y,x),y=this.addShapes(g,v[1])}this.addPaths(y,x)}}g.shape.paths=x}}else if(this._mdf)for(l=0;l<o;l+=1)this.shapes[l].pathsData.length=0,this.shapes[l].shape._mdf=!0},TrimModifier.prototype.addPaths=function(a,e){var i,r=a.length;for(i=0;i<r;i+=1)e.addShape(a[i])},TrimModifier.prototype.addSegment=function(a,e,i,r,n,t,l){if(n.setXYAt(e[0],e[1],"o",t),n.setXYAt(i[0],i[1],"i",t+1),l)n.setXYAt(a[0],a[1],"v",t);n.setXYAt(r[0],r[1],"v",t+1)},TrimModifier.prototype.addSegmentFromArray=function(a,e,i,r){if(e.setXYAt(a[1],a[5],"o",i),e.setXYAt(a[2],a[6],"i",i+1),r)e.setXYAt(a[0],a[4],"v",i);e.setXYAt(a[3],a[7],"v",i+1)},TrimModifier.prototype.addShapes=function(a,e,i){var r=a.pathsData,n=a.shape.paths.shapes,t,l=a.shape.paths._length,o,s,d=0,c,m,h,f,v=[],g,x=!0;if(!i)i=shapePool.newElement(),m=0,g=0;else m=i._length,g=i._length;v.push(i);for(t=0;t<l;t+=1){h=r[t].lengths,i.c=n[t].c,s=n[t].c?h.length:h.length+1;for(o=1;o<s;o+=1)if(c=h[o-1],d+c.addedLength<e.s)d+=c.addedLength,i.c=!1;else if(d>e.e){i.c=!1;break}else{if(e.s<=d&&e.e>=d+c.addedLength)this.addSegment(n[t].v[o-1],n[t].o[o-1],n[t].i[o],n[t].v[o],i,m,x),x=!1;else f=bez.getNewSegment(n[t].v[o-1],n[t].v[o],n[t].o[o-1],n[t].i[o],(e.s-d)/c.addedLength,(e.e-d)/c.addedLength,h[o-1]),this.addSegmentFromArray(f,i,m,x),x=!1,i.c=!1;d+=c.addedLength,m+=1}if(n[t].c&&h.length){if(c=h[o-1],d<=e.e){var z=h[o-1].addedLength;if(e.s<=d&&e.e>=d+z)this.addSegment(n[t].v[o-1],n[t].o[o-1],n[t].i[0],n[t].v[0],i,m,x),x=!1;else f=bez.getNewSegment(n[t].v[o-1],n[t].v[0],n[t].o[o-1],n[t].i[0],(e.s-d)/z,(e.e-d)/z,h[o-1]),this.addSegmentFromArray(f,i,m,x),x=!1,i.c=!1}else i.c=!1;d+=c.addedLength,m+=1}if(i._length)i.setXYAt(i.v[g][0],i.v[g][1],"i",g),i.setXYAt(i.v[i._length-1][0],i.v[i._length-1][1],"o",i._length-1);if(d>e.e)break;if(t<l-1)i=shapePool.newElement(),x=!0,v.push(i),m=0}return v};function PuckerAndBloatModifier(){}extendPrototype([ShapeModifier],PuckerAndBloatModifier),PuckerAndBloatModifier.prototype.initModifierProperties=function(a,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(a,e.a,0,null,this),this._isAnimated=!!this.amount.effectsSequence.length},PuckerAndBloatModifier.prototype.processPath=function(a,e){var i=e/100,r=[0,0],n=a._length,t=0;for(t=0;t<n;t+=1)r[0]+=a.v[t][0],r[1]+=a.v[t][1];r[0]/=n,r[1]/=n;var l=shapePool.newElement();l.c=a.c;var o,s,d,c,m,h;for(t=0;t<n;t+=1)o=a.v[t][0]+(r[0]-a.v[t][0])*i,s=a.v[t][1]+(r[1]-a.v[t][1])*i,d=a.o[t][0]+(r[0]-a.o[t][0])*-i,c=a.o[t][1]+(r[1]-a.o[t][1])*-i,m=a.i[t][0]+(r[0]-a.i[t][0])*-i,h=a.i[t][1]+(r[1]-a.i[t][1])*-i,l.setTripleAt(o,s,d,c,m,h,t);return l},PuckerAndBloatModifier.prototype.processShapes=function(a){var e,i,r=this.shapes.length,n,t,l=this.amount.v;if(l!==0){var o,s;for(i=0;i<r;i+=1){if(o=this.shapes[i],s=o.localShapeCollection,!(!o.shape._mdf&&!this._mdf&&!a)){s.releaseShapes(),o.shape._mdf=!0,e=o.shape.paths.shapes,t=o.shape.paths._length;for(n=0;n<t;n+=1)s.addShape(this.processPath(e[n],l))}o.shape.paths=o.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};var TransformPropertyFactory=function(){var a=[0,0];function e(s){var d=this._mdf;if(this.iterateDynamicProperties(),this._mdf=this._mdf||d,this.a)s.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]);if(this.s)s.scale(this.s.v[0],this.s.v[1],this.s.v[2]);if(this.sk)s.skewFromAxis(-this.sk.v,this.sa.v);if(this.r)s.rotate(-this.r.v);else s.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);if(this.data.p.s)if(this.data.p.z)s.translate(this.px.v,this.py.v,-this.pz.v);else s.translate(this.px.v,this.py.v,0);else s.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}function i(s){if(this.elem.globalData.frameId===this.frameId)return;if(this._isDirty)this.precalculateMatrix(),this._isDirty=!1;if(this.iterateDynamicProperties(),this._mdf||s){var d;if(this.v.cloneFromProps(this.pre.props),this.appliedTransformations<1)this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]);if(this.appliedTransformations<2)this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2]);if(this.sk&&this.appliedTransformations<3)this.v.skewFromAxis(-this.sk.v,this.sa.v);if(this.r&&this.appliedTransformations<4)this.v.rotate(-this.r.v);else if(!this.r&&this.appliedTransformations<4)this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);if(this.autoOriented){var c,m;if(d=this.elem.globalData.frameRate,this.p&&this.p.keyframes&&this.p.getValueAtTime)if(this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t)c=this.p.getValueAtTime((this.p.keyframes[0].t+0.01)/d,0),m=this.p.getValueAtTime(this.p.keyframes[0].t/d,0);else if(this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t)c=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/d,0),m=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-0.05)/d,0);else c=this.p.pv,m=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-0.01)/d,this.p.offsetTime);else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){c=[],m=[];var h=this.px,f=this.py;if(h._caching.lastFrame+h.offsetTime<=h.keyframes[0].t)c[0]=h.getValueAtTime((h.keyframes[0].t+0.01)/d,0),c[1]=f.getValueAtTime((f.keyframes[0].t+0.01)/d,0),m[0]=h.getValueAtTime(h.keyframes[0].t/d,0),m[1]=f.getValueAtTime(f.keyframes[0].t/d,0);else if(h._caching.lastFrame+h.offsetTime>=h.keyframes[h.keyframes.length-1].t)c[0]=h.getValueAtTime(h.keyframes[h.keyframes.length-1].t/d,0),c[1]=f.getValueAtTime(f.keyframes[f.keyframes.length-1].t/d,0),m[0]=h.getValueAtTime((h.keyframes[h.keyframes.length-1].t-0.01)/d,0),m[1]=f.getValueAtTime((f.keyframes[f.keyframes.length-1].t-0.01)/d,0);else c=[h.pv,f.pv],m[0]=h.getValueAtTime((h._caching.lastFrame+h.offsetTime-0.01)/d,h.offsetTime),m[1]=f.getValueAtTime((f._caching.lastFrame+f.offsetTime-0.01)/d,f.offsetTime)}else m=a,c=m;this.v.rotate(-Math.atan2(c[1]-m[1],c[0]-m[0]))}if(this.data.p&&this.data.p.s)if(this.data.p.z)this.v.translate(this.px.v,this.py.v,-this.pz.v);else this.v.translate(this.px.v,this.py.v,0);else this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}function r(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;if(this.r){if(!this.r.effectsSequence.length)this.pre.rotate(-this.r.v),this.appliedTransformations=4}else if(!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length)this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4}function n(){}function t(s){this._addDynamicProperty(s),this.elem.addDynamicProperty(s),this._isDirty=!0}function l(s,d,c){if(this.elem=s,this.frameId=-1,this.propType="transform",this.data=d,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(c||s),d.p&&d.p.s){if(this.px=PropertyFactory.getProp(s,d.p.x,0,0,this),this.py=PropertyFactory.getProp(s,d.p.y,0,0,this),d.p.z)this.pz=PropertyFactory.getProp(s,d.p.z,0,0,this)}else this.p=PropertyFactory.getProp(s,d.p||{k:[0,0,0]},1,0,this);if(d.rx){if(this.rx=PropertyFactory.getProp(s,d.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(s,d.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(s,d.rz,0,degToRads,this),d.or.k[0].ti){var m,h=d.or.k.length;for(m=0;m<h;m+=1)d.or.k[m].to=null,d.or.k[m].ti=null}this.or=PropertyFactory.getProp(s,d.or,1,degToRads,this),this.or.sh=!0}else this.r=PropertyFactory.getProp(s,d.r||{k:0},0,degToRads,this);if(d.sk)this.sk=PropertyFactory.getProp(s,d.sk,0,degToRads,this),this.sa=PropertyFactory.getProp(s,d.sa,0,degToRads,this);if(this.a=PropertyFactory.getProp(s,d.a||{k:[0,0,0]},1,0,this),this.s=PropertyFactory.getProp(s,d.s||{k:[100,100,100]},1,0.01,this),d.o)this.o=PropertyFactory.getProp(s,d.o,0,0.01,s);else this.o={_mdf:!1,v:1};if(this._isDirty=!0,!this.dynamicProperties.length)this.getValue(!0)}l.prototype={applyToMatrix:e,getValue:i,precalculateMatrix:r,autoOrient:n},extendPrototype([DynamicPropertyContainer],l),l.prototype.addDynamicProperty=t,l.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty;function o(s,d,c){return new l(s,d,c)}return{getTransformProperty:o}}();function RepeaterModifier(){}extendPrototype([ShapeModifier],RepeaterModifier),RepeaterModifier.prototype.initModifierProperties=function(a,e){if(this.getValue=this.processKeys,this.c=PropertyFactory.getProp(a,e.c,0,null,this),this.o=PropertyFactory.getProp(a,e.o,0,null,this),this.tr=TransformPropertyFactory.getTransformProperty(a,e.tr,this),this.so=PropertyFactory.getProp(a,e.tr.so,0,0.01,this),this.eo=PropertyFactory.getProp(a,e.tr.eo,0,0.01,this),this.data=e,!this.dynamicProperties.length)this.getValue(!0);this._isAnimated=!!this.dynamicProperties.length,this.pMatrix=new Matrix,this.rMatrix=new Matrix,this.sMatrix=new Matrix,this.tMatrix=new Matrix,this.matrix=new Matrix},RepeaterModifier.prototype.applyTransforms=function(a,e,i,r,n,t){var l=t?-1:1,o=r.s.v[0]+(1-r.s.v[0])*(1-n),s=r.s.v[1]+(1-r.s.v[1])*(1-n);a.translate(r.p.v[0]*l*n,r.p.v[1]*l*n,r.p.v[2]),e.translate(-r.a.v[0],-r.a.v[1],r.a.v[2]),e.rotate(-r.r.v*l*n),e.translate(r.a.v[0],r.a.v[1],r.a.v[2]),i.translate(-r.a.v[0],-r.a.v[1],r.a.v[2]),i.scale(t?1/o:o,t?1/s:s),i.translate(r.a.v[0],r.a.v[1],r.a.v[2])},RepeaterModifier.prototype.init=function(a,e,i,r){this.elem=a,this.arr=e,this.pos=i,this.elemsData=r,this._currentCopies=0,this._elements=[],this._groups=[],this.frameId=-1,this.initDynamicPropertyContainer(a),this.initModifierProperties(a,e[i]);while(i>0)i-=1,this._elements.unshift(e[i]);if(this.dynamicProperties.length)this.k=!0;else this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(a){var e,i=a.length;for(e=0;e<i;e+=1)if(a[e]._processed=!1,a[e].ty==="gr")this.resetElements(a[e].it)},RepeaterModifier.prototype.cloneElements=function(a){var e=JSON.parse(JSON.stringify(a));return this.resetElements(e),e},RepeaterModifier.prototype.changeGroupRender=function(a,e){var i,r=a.length;for(i=0;i<r;i+=1)if(a[i]._render=e,a[i].ty==="gr")this.changeGroupRender(a[i].it,e)},RepeaterModifier.prototype.processShapes=function(a){var e,i,r,n,t,l=!1;if(this._mdf||a){var o=Math.ceil(this.c.v);if(this._groups.length<o){while(this._groups.length<o){var s={it:this.cloneElements(this._elements),ty:"gr"};s.it.push({a:{a:0,ix:1,k:[0,0]},nm:"Transform",o:{a:0,ix:7,k:100},p:{a:0,ix:2,k:[0,0]},r:{a:1,ix:6,k:[{s:0,e:0,t:0},{s:0,e:0,t:1}]},s:{a:0,ix:3,k:[100,100]},sa:{a:0,ix:5,k:0},sk:{a:0,ix:4,k:0},ty:"tr"}),this.arr.splice(0,0,s),this._groups.splice(0,0,s),this._currentCopies+=1}this.elem.reloadShapes(),l=!0}t=0;var d;for(r=0;r<=this._groups.length-1;r+=1){if(d=t<o,this._groups[r]._render=d,this.changeGroupRender(this._groups[r].it,d),!d){var c=this.elemsData[r].it,m=c[c.length-1];if(m.transform.op.v!==0)m.transform.op._mdf=!0,m.transform.op.v=0;else m.transform.op._mdf=!1}t+=1}this._currentCopies=o;var h=this.o.v,f=h%1,v=h>0?Math.floor(h):Math.ceil(h),g=this.pMatrix.props,x=this.rMatrix.props,z=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var p=0;if(h>0){while(p<v)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),p+=1;if(f)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,f,!1),p+=f}else if(h<0){while(p>v)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),p-=1;if(f)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-f,!0),p-=f}r=this.data.m===1?0:this._currentCopies-1,n=this.data.m===1?1:-1,t=this._currentCopies;var w,b;while(t){if(e=this.elemsData[r].it,i=e[e.length-1].transform.mProps.v.props,b=i.length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(r/(this._currentCopies-1)),p!==0){if(r!==0&&n===1||r!==this._currentCopies-1&&n===-1)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1);this.matrix.transform(x[0],x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15]),this.matrix.transform(z[0],z[1],z[2],z[3],z[4],z[5],z[6],z[7],z[8],z[9],z[10],z[11],z[12],z[13],z[14],z[15]),this.matrix.transform(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]);for(w=0;w<b;w+=1)i[w]=this.matrix.props[w];this.matrix.reset()}else{this.matrix.reset();for(w=0;w<b;w+=1)i[w]=this.matrix.props[w]}p+=1,t-=1,r+=n}}else{t=this._currentCopies,r=0,n=1;while(t)e=this.elemsData[r].it,i=e[e.length-1].transform.mProps.v.props,e[e.length-1].transform.mProps._mdf=!1,e[e.length-1].transform.op._mdf=!1,t-=1,r+=n}return l},RepeaterModifier.prototype.addShape=function(){};function RoundCornersModifier(){}extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(a,e){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(a,e.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length},RoundCornersModifier.prototype.processPath=function(a,e){var i=shapePool.newElement();i.c=a.c;var r,n=a._length,t,l,o,s,d,c,m=0,h,f,v,g,x,z;for(r=0;r<n;r+=1)if(t=a.v[r],o=a.o[r],l=a.i[r],t[0]===o[0]&&t[1]===o[1]&&t[0]===l[0]&&t[1]===l[1])if((r===0||r===n-1)&&!a.c)i.setTripleAt(t[0],t[1],o[0],o[1],l[0],l[1],m),m+=1;else{if(r===0)s=a.v[n-1];else s=a.v[r-1];if(d=Math.sqrt(Math.pow(t[0]-s[0],2)+Math.pow(t[1]-s[1],2)),c=d?Math.min(d/2,e)/d:0,x=t[0]+(s[0]-t[0])*c,h=x,z=t[1]-(t[1]-s[1])*c,f=z,v=h-(h-t[0])*roundCorner,g=f-(f-t[1])*roundCorner,i.setTripleAt(h,f,v,g,x,z,m),m+=1,r===n-1)s=a.v[0];else s=a.v[r+1];d=Math.sqrt(Math.pow(t[0]-s[0],2)+Math.pow(t[1]-s[1],2)),c=d?Math.min(d/2,e)/d:0,v=t[0]+(s[0]-t[0])*c,h=v,g=t[1]+(s[1]-t[1])*c,f=g,x=h-(h-t[0])*roundCorner,z=f-(f-t[1])*roundCorner,i.setTripleAt(h,f,v,g,x,z,m),m+=1}else i.setTripleAt(a.v[r][0],a.v[r][1],a.o[r][0],a.o[r][1],a.i[r][0],a.i[r][1],m),m+=1;return i},RoundCornersModifier.prototype.processShapes=function(a){var e,i,r=this.shapes.length,n,t,l=this.rd.v;if(l!==0){var o,s;for(i=0;i<r;i+=1){if(o=this.shapes[i],s=o.localShapeCollection,!(!o.shape._mdf&&!this._mdf&&!a)){s.releaseShapes(),o.shape._mdf=!0,e=o.shape.paths.shapes,t=o.shape.paths._length;for(n=0;n<t;n+=1)s.addShape(this.processPath(e[n],l))}o.shape.paths=o.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};function floatEqual(a,e){return Math.abs(a-e)*1e5<=Math.min(Math.abs(a),Math.abs(e))}function floatZero(a){return Math.abs(a)<=0.00001}function lerp(a,e,i){return a*(1-i)+e*i}function lerpPoint(a,e,i){return[lerp(a[0],e[0],i),lerp(a[1],e[1],i)]}function quadRoots(a,e,i){if(a===0)return[];var r=e*e-4*a*i;if(r<0)return[];var n=-e/(2*a);if(r===0)return[n];var t=Math.sqrt(r)/(2*a);return[n-t,n+t]}function polynomialCoefficients(a,e,i,r){return[-a+3*e-3*i+r,3*a-6*e+3*i,-3*a+3*e,a]}function singlePoint(a){return new PolynomialBezier(a,a,a,a,!1)}function PolynomialBezier(a,e,i,r,n){if(n&&pointEqual(a,e))e=lerpPoint(a,r,0.3333333333333333);if(n&&pointEqual(i,r))i=lerpPoint(a,r,0.6666666666666666);var t=polynomialCoefficients(a[0],e[0],i[0],r[0]),l=polynomialCoefficients(a[1],e[1],i[1],r[1]);this.a=[t[0],l[0]],this.b=[t[1],l[1]],this.c=[t[2],l[2]],this.d=[t[3],l[3]],this.points=[a,e,i,r]}PolynomialBezier.prototype.point=function(a){return[((this.a[0]*a+this.b[0])*a+this.c[0])*a+this.d[0],((this.a[1]*a+this.b[1])*a+this.c[1])*a+this.d[1]]},PolynomialBezier.prototype.derivative=function(a){return[(3*a*this.a[0]+2*this.b[0])*a+this.c[0],(3*a*this.a[1]+2*this.b[1])*a+this.c[1]]},PolynomialBezier.prototype.tangentAngle=function(a){var e=this.derivative(a);return Math.atan2(e[1],e[0])},PolynomialBezier.prototype.normalAngle=function(a){var e=this.derivative(a);return Math.atan2(e[0],e[1])},PolynomialBezier.prototype.inflectionPoints=function(){var a=this.a[1]*this.b[0]-this.a[0]*this.b[1];if(floatZero(a))return[];var e=-0.5*(this.a[1]*this.c[0]-this.a[0]*this.c[1])/a,i=e*e-0.3333333333333333*(this.b[1]*this.c[0]-this.b[0]*this.c[1])/a;if(i<0)return[];var r=Math.sqrt(i);if(floatZero(r)){if(r>0&&r<1)return[e];return[]}return[e-r,e+r].filter(function(n){return n>0&&n<1})},PolynomialBezier.prototype.split=function(a){if(a<=0)return[singlePoint(this.points[0]),this];if(a>=1)return[this,singlePoint(this.points[this.points.length-1])];var e=lerpPoint(this.points[0],this.points[1],a),i=lerpPoint(this.points[1],this.points[2],a),r=lerpPoint(this.points[2],this.points[3],a),n=lerpPoint(e,i,a),t=lerpPoint(i,r,a),l=lerpPoint(n,t,a);return[new PolynomialBezier(this.points[0],e,n,l,!0),new PolynomialBezier(l,t,r,this.points[3],!0)]};function extrema(a,e){var i=a.points[0][e],r=a.points[a.points.length-1][e];if(i>r){var n=r;r=i,i=n}var t=quadRoots(3*a.a[e],2*a.b[e],a.c[e]);for(var l=0;l<t.length;l+=1)if(t[l]>0&&t[l]<1){var o=a.point(t[l])[e];if(o<i)i=o;else if(o>r)r=o}return{min:i,max:r}}PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var a=this.bounds();return{left:a.x.min,right:a.x.max,top:a.y.min,bottom:a.y.max,width:a.x.max-a.x.min,height:a.y.max-a.y.min,cx:(a.x.max+a.x.min)/2,cy:(a.y.max+a.y.min)/2}};function intersectData(a,e,i){var r=a.boundingBox();return{cx:r.cx,cy:r.cy,width:r.width,height:r.height,bez:a,t:(e+i)/2,t1:e,t2:i}}function splitData(a){var e=a.bez.split(0.5);return[intersectData(e[0],a.t1,a.t),intersectData(e[1],a.t,a.t2)]}function boxIntersect(a,e){return Math.abs(a.cx-e.cx)*2<a.width+e.width&&Math.abs(a.cy-e.cy)*2<a.height+e.height}function intersectsImpl(a,e,i,r,n,t){if(!boxIntersect(a,e))return;if(i>=t||a.width<=r&&a.height<=r&&e.width<=r&&e.height<=r){n.push([a.t,e.t]);return}var l=splitData(a),o=splitData(e);intersectsImpl(l[0],o[0],i+1,r,n,t),intersectsImpl(l[0],o[1],i+1,r,n,t),intersectsImpl(l[1],o[0],i+1,r,n,t),intersectsImpl(l[1],o[1],i+1,r,n,t)}PolynomialBezier.prototype.intersections=function(a,e,i){if(e===void 0)e=2;if(i===void 0)i=7;var r=[];return intersectsImpl(intersectData(this,0,1),intersectData(a,0,1),0,e,r,i),r},PolynomialBezier.shapeSegment=function(a,e){var i=(e+1)%a.length();return new PolynomialBezier(a.v[e],a.o[e],a.i[i],a.v[i],!0)},PolynomialBezier.shapeSegmentInverted=function(a,e){var i=(e+1)%a.length();return new PolynomialBezier(a.v[i],a.i[i],a.o[e],a.v[e],!0)};function crossProduct(a,e){return[a[1]*e[2]-a[2]*e[1],a[2]*e[0]-a[0]*e[2],a[0]*e[1]-a[1]*e[0]]}function lineIntersection(a,e,i,r){var n=[a[0],a[1],1],t=[e[0],e[1],1],l=[i[0],i[1],1],o=[r[0],r[1],1],s=crossProduct(crossProduct(n,t),crossProduct(l,o));if(floatZero(s[2]))return null;return[s[0]/s[2],s[1]/s[2]]}function polarOffset(a,e,i){return[a[0]+Math.cos(e)*i,a[1]-Math.sin(e)*i]}function pointDistance(a,e){return Math.hypot(a[0]-e[0],a[1]-e[1])}function pointEqual(a,e){return floatEqual(a[0],e[0])&&floatEqual(a[1],e[1])}function ZigZagModifier(){}extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(a,e){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(a,e.s,0,null,this),this.frequency=PropertyFactory.getProp(a,e.r,0,null,this),this.pointsType=PropertyFactory.getProp(a,e.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0};function setPoint(a,e,i,r,n,t,l){var o=i-Math.PI/2,s=i+Math.PI/2,d=e[0]+Math.cos(i)*r*n,c=e[1]-Math.sin(i)*r*n;a.setTripleAt(d,c,d+Math.cos(o)*t,c-Math.sin(o)*t,d+Math.cos(s)*l,c-Math.sin(s)*l,a.length())}function getPerpendicularVector(a,e){var i=[e[0]-a[0],e[1]-a[1]],r=-Math.PI*0.5,n=[Math.cos(r)*i[0]-Math.sin(r)*i[1],Math.sin(r)*i[0]+Math.cos(r)*i[1]];return n}function getProjectingAngle(a,e){var i=e===0?a.length()-1:e-1,r=(e+1)%a.length(),n=a.v[i],t=a.v[r],l=getPerpendicularVector(n,t);return Math.atan2(0,1)-Math.atan2(l[1],l[0])}function zigZagCorner(a,e,i,r,n,t,l){var o=getProjectingAngle(e,i),s=e.v[i%e._length],d=e.v[i===0?e._length-1:i-1],c=e.v[(i+1)%e._length],m=t===2?Math.sqrt(Math.pow(s[0]-d[0],2)+Math.pow(s[1]-d[1],2)):0,h=t===2?Math.sqrt(Math.pow(s[0]-c[0],2)+Math.pow(s[1]-c[1],2)):0;setPoint(a,e.v[i%e._length],o,l,r,h/((n+1)*2),m/((n+1)*2),t)}function zigZagSegment(a,e,i,r,n,t){for(var l=0;l<r;l+=1){var o=(l+1)/(r+1),s=n===2?Math.sqrt(Math.pow(e.points[3][0]-e.points[0][0],2)+Math.pow(e.points[3][1]-e.points[0][1],2)):0,d=e.normalAngle(o),c=e.point(o);setPoint(a,c,d,t,i,s/((r+1)*2),s/((r+1)*2),n),t=-t}return t}ZigZagModifier.prototype.processPath=function(a,e,i,r){var n=a._length,t=shapePool.newElement();if(t.c=a.c,!a.c)n-=1;if(n===0)return t;var l=-1,o=PolynomialBezier.shapeSegment(a,0);zigZagCorner(t,a,0,e,i,r,l);for(var s=0;s<n;s+=1){if(l=zigZagSegment(t,o,e,i,r,-l),s===n-1&&!a.c)o=null;else o=PolynomialBezier.shapeSegment(a,(s+1)%n);zigZagCorner(t,a,s+1,e,i,r,l)}return t},ZigZagModifier.prototype.processShapes=function(a){var e,i,r=this.shapes.length,n,t,l=this.amplitude.v,o=Math.max(0,Math.round(this.frequency.v)),s=this.pointsType.v;if(l!==0){var d,c;for(i=0;i<r;i+=1){if(d=this.shapes[i],c=d.localShapeCollection,!(!d.shape._mdf&&!this._mdf&&!a)){c.releaseShapes(),d.shape._mdf=!0,e=d.shape.paths.shapes,t=d.shape.paths._length;for(n=0;n<t;n+=1)c.addShape(this.processPath(e[n],l,o,s))}d.shape.paths=d.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};function linearOffset(a,e,i){var r=Math.atan2(e[0]-a[0],e[1]-a[1]);return[polarOffset(a,r,i),polarOffset(e,r,i)]}function offsetSegment(a,e){var i,r,n,t,l,o,s;s=linearOffset(a.points[0],a.points[1],e),i=s[0],r=s[1],s=linearOffset(a.points[1],a.points[2],e),n=s[0],t=s[1],s=linearOffset(a.points[2],a.points[3],e),l=s[0],o=s[1];var d=lineIntersection(i,r,n,t);if(d===null)d=r;var c=lineIntersection(l,o,n,t);if(c===null)c=l;return new PolynomialBezier(i,d,c,o)}function joinLines(a,e,i,r,n){var t=e.points[3],l=i.points[0];if(r===3)return t;if(pointEqual(t,l))return t;if(r===2){var o=-e.tangentAngle(1),s=-i.tangentAngle(0)+Math.PI,d=lineIntersection(t,polarOffset(t,o+Math.PI/2,100),l,polarOffset(l,o+Math.PI/2,100)),c=d?pointDistance(d,t):pointDistance(t,l)/2,m=polarOffset(t,o,2*c*roundCorner);return a.setXYAt(m[0],m[1],"o",a.length()-1),m=polarOffset(l,s,2*c*roundCorner),a.setTripleAt(l[0],l[1],l[0],l[1],m[0],m[1],a.length()),l}var h=pointEqual(t,e.points[2])?e.points[0]:e.points[2],f=pointEqual(l,i.points[1])?i.points[3]:i.points[1],v=lineIntersection(h,t,l,f);if(v&&pointDistance(v,t)<n)return a.setTripleAt(v[0],v[1],v[0],v[1],v[0],v[1],a.length()),v;return t}function getIntersection(a,e){var i=a.intersections(e);if(i.length&&floatEqual(i[0][0],1))i.shift();if(i.length)return i[0];return null}function pruneSegmentIntersection(a,e){var i=a.slice(),r=e.slice(),n=getIntersection(a[a.length-1],e[0]);if(n)i[a.length-1]=a[a.length-1].split(n[0])[0],r[0]=e[0].split(n[1])[1];if(a.length>1&&e.length>1){if(n=getIntersection(a[0],e[e.length-1]),n)return[[a[0].split(n[0])[0]],[e[e.length-1].split(n[1])[1]]]}return[i,r]}function pruneIntersections(a){var e;for(var i=1;i<a.length;i+=1)e=pruneSegmentIntersection(a[i-1],a[i]),a[i-1]=e[0],a[i]=e[1];if(a.length>1)e=pruneSegmentIntersection(a[a.length-1],a[0]),a[a.length-1]=e[0],a[0]=e[1];return a}function offsetSegmentSplit(a,e){var i=a.inflectionPoints(),r,n,t,l;if(i.length===0)return[offsetSegment(a,e)];if(i.length===1||floatEqual(i[1],1))return t=a.split(i[0]),r=t[0],n=t[1],[offsetSegment(r,e),offsetSegment(n,e)];t=a.split(i[0]),r=t[0];var o=(i[1]-i[0])/(1-i[0]);return t=t[1].split(o),l=t[0],n=t[1],[offsetSegment(r,e),offsetSegment(l,e),offsetSegment(n,e)]}function OffsetPathModifier(){}extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(a,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(a,e.a,0,null,this),this.miterLimit=PropertyFactory.getProp(a,e.ml,0,null,this),this.lineJoin=e.lj,this._isAnimated=this.amount.effectsSequence.length!==0},OffsetPathModifier.prototype.processPath=function(a,e,i,r){var n=shapePool.newElement();n.c=a.c;var t=a.length();if(!a.c)t-=1;var l,o,s,d=[];for(l=0;l<t;l+=1)s=PolynomialBezier.shapeSegment(a,l),d.push(offsetSegmentSplit(s,e));if(!a.c)for(l=t-1;l>=0;l-=1)s=PolynomialBezier.shapeSegmentInverted(a,l),d.push(offsetSegmentSplit(s,e));d=pruneIntersections(d);var c=null,m=null;for(l=0;l<d.length;l+=1){var h=d[l];if(m)c=joinLines(n,m,h[0],i,r);m=h[h.length-1];for(o=0;o<h.length;o+=1){if(s=h[o],c&&pointEqual(s.points[0],c))n.setXYAt(s.points[1][0],s.points[1][1],"o",n.length()-1);else n.setTripleAt(s.points[0][0],s.points[0][1],s.points[1][0],s.points[1][1],s.points[0][0],s.points[0][1],n.length());n.setTripleAt(s.points[3][0],s.points[3][1],s.points[3][0],s.points[3][1],s.points[2][0],s.points[2][1],n.length()),c=s.points[3]}}if(d.length)joinLines(n,m,d[0][0],i,r);return n},OffsetPathModifier.prototype.processShapes=function(a){var e,i,r=this.shapes.length,n,t,l=this.amount.v,o=this.miterLimit.v,s=this.lineJoin;if(l!==0){var d,c;for(i=0;i<r;i+=1){if(d=this.shapes[i],c=d.localShapeCollection,!(!d.shape._mdf&&!this._mdf&&!a)){c.releaseShapes(),d.shape._mdf=!0,e=d.shape.paths.shapes,t=d.shape.paths._length;for(n=0;n<t;n+=1)c.addShape(this.processPath(e[n],l,s,o))}d.shape.paths=d.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};function getFontProperties(a){var e=a.fStyle?a.fStyle.split(" "):[],i="normal",r="normal",n=e.length,t;for(var l=0;l<n;l+=1)switch(t=e[l].toLowerCase(),t){case"italic":r="italic";break;case"bold":i="700";break;case"black":i="900";break;case"medium":i="500";break;case"regular":case"normal":i="400";break;case"light":case"thin":i="200";break;default:break}return{style:r,weight:a.fWeight||i}}var FontManager=function(){var a=5000,e={w:0,size:0,shapes:[],data:{shapes:[]}},i=[];i=i.concat([2304,2305,2306,2307,2362,2363,2364,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2387,2388,2389,2390,2391,2402,2403]);var r=127988,n=917631,t=917601,l=917626,o=65039,s=8205,d=127462,c=127487,m=["d83cdffb","d83cdffc","d83cdffd","d83cdffe","d83cdfff"];function h(F){var E=F.split(","),H,M=E.length,Q=[];for(H=0;H<M;H+=1)if(E[H]!=="sans-serif"&&E[H]!=="monospace")Q.push(E[H]);return Q.join(",")}function f(F,E){var H=createTag("span");H.setAttribute("aria-hidden",!0),H.style.fontFamily=E;var M=createTag("span");M.innerText="giItT1WQy@!-/#",H.style.position="absolute",H.style.left="-10000px",H.style.top="-10000px",H.style.fontSize="300px",H.style.fontVariant="normal",H.style.fontStyle="normal",H.style.fontWeight="normal",H.style.letterSpacing="0",H.appendChild(M),document.body.appendChild(H);var Q=M.offsetWidth;return M.style.fontFamily=h(F)+", "+E,{node:M,w:Q,parent:H}}function v(){var F,E=this.fonts.length,H,M,Q=E;for(F=0;F<E;F+=1)if(this.fonts[F].loaded)Q-=1;else if(this.fonts[F].fOrigin==="n"||this.fonts[F].origin===0)this.fonts[F].loaded=!0;else{if(H=this.fonts[F].monoCase.node,M=this.fonts[F].monoCase.w,H.offsetWidth!==M)Q-=1,this.fonts[F].loaded=!0;else if(H=this.fonts[F].sansCase.node,M=this.fonts[F].sansCase.w,H.offsetWidth!==M)Q-=1,this.fonts[F].loaded=!0;if(this.fonts[F].loaded)this.fonts[F].sansCase.parent.parentNode.removeChild(this.fonts[F].sansCase.parent),this.fonts[F].monoCase.parent.parentNode.removeChild(this.fonts[F].monoCase.parent)}if(Q!==0&&Date.now()-this.initTime<a)setTimeout(this.checkLoadedFontsBinded,20);else setTimeout(this.setIsLoadedBinded,10)}function g(F,E){var H=document.body&&E?"svg":"canvas",M,Q=getFontProperties(F);if(H==="svg"){var L=createNS("text");if(L.style.fontSize="100px",L.setAttribute("font-family",F.fFamily),L.setAttribute("font-style",Q.style),L.setAttribute("font-weight",Q.weight),L.textContent="1",F.fClass)L.style.fontFamily="inherit",L.setAttribute("class",F.fClass);else L.style.fontFamily=F.fFamily;E.appendChild(L),M=L}else{var _=new OffscreenCanvas(500,500).getContext("2d");_.font=Q.style+" "+Q.weight+" 100px "+F.fFamily,M=_}function i1(l1){if(H==="svg")return M.textContent=l1,M.getComputedTextLength();return M.measureText(l1).width}return{measureText:i1}}function x(F,E){if(!F){this.isLoaded=!0;return}if(this.chars){this.isLoaded=!0,this.fonts=F.list;return}if(!document.body){this.isLoaded=!0,F.list.forEach(function(ia){ia.helper=g(ia),ia.cache={}}),this.fonts=F.list;return}var H=F.list,M,Q=H.length,L=Q;for(M=0;M<Q;M+=1){var _=!0,i1,l1;if(H[M].loaded=!1,H[M].monoCase=f(H[M].fFamily,"monospace"),H[M].sansCase=f(H[M].fFamily,"sans-serif"),!H[M].fPath)H[M].loaded=!0,L-=1;else if(H[M].fOrigin==="p"||H[M].origin===3){if(i1=document.querySelectorAll('style[f-forigin="p"][f-family="'+H[M].fFamily+'"], style[f-origin="3"][f-family="'+H[M].fFamily+'"]'),i1.length>0)_=!1;if(_){var c1=createTag("style");c1.setAttribute("f-forigin",H[M].fOrigin),c1.setAttribute("f-origin",H[M].origin),c1.setAttribute("f-family",H[M].fFamily),c1.type="text/css",c1.innerText="@font-face {font-family: "+H[M].fFamily+"; font-style: normal; src: url('"+H[M].fPath+"');}",E.appendChild(c1)}}else if(H[M].fOrigin==="g"||H[M].origin===1){i1=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]');for(l1=0;l1<i1.length;l1+=1)if(i1[l1].href.indexOf(H[M].fPath)!==-1)_=!1;if(_){var k1=createTag("link");k1.setAttribute("f-forigin",H[M].fOrigin),k1.setAttribute("f-origin",H[M].origin),k1.type="text/css",k1.rel="stylesheet",k1.href=H[M].fPath,document.body.appendChild(k1)}}else if(H[M].fOrigin==="t"||H[M].origin===2){i1=document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]');for(l1=0;l1<i1.length;l1+=1)if(H[M].fPath===i1[l1].src)_=!1;if(_){var A1=createTag("link");A1.setAttribute("f-forigin",H[M].fOrigin),A1.setAttribute("f-origin",H[M].origin),A1.setAttribute("rel","stylesheet"),A1.setAttribute("href",H[M].fPath),E.appendChild(A1)}}H[M].helper=g(H[M],E),H[M].cache={},this.fonts.push(H[M])}if(L===0)this.isLoaded=!0;else setTimeout(this.checkLoadedFonts.bind(this),100)}function z(F){if(!F)return;if(!this.chars)this.chars=[];var E,H=F.length,M,Q=this.chars.length,L;for(E=0;E<H;E+=1){M=0,L=!1;while(M<Q){if(this.chars[M].style===F[E].style&&this.chars[M].fFamily===F[E].fFamily&&this.chars[M].ch===F[E].ch)L=!0;M+=1}if(!L)this.chars.push(F[E]),Q+=1}}function p(F,E,H){var M=0,Q=this.chars.length;while(M<Q){if(this.chars[M].ch===F&&this.chars[M].style===E&&this.chars[M].fFamily===H)return this.chars[M];M+=1}if((typeof F==="string"&&F.charCodeAt(0)!==13||!F)&&console&&console.warn&&!this._warned)this._warned=!0,console.warn("Missing character from exported characters list: ",F,E,H);return e}function w(F,E,H){var M=this.getFontByName(E),Q=F;if(!M.cache[Q]){var L=M.helper;if(F===" "){var _=L.measureText("|"+F+"|"),i1=L.measureText("||");M.cache[Q]=(_-i1)/100}else M.cache[Q]=L.measureText(F)/100}return M.cache[Q]*H}function b(F){var E=0,H=this.fonts.length;while(E<H){if(this.fonts[E].fName===F)return this.fonts[E];E+=1}return this.fonts[0]}function y(F){var E=0,H=F.charCodeAt(0);if(H>=55296&&H<=56319){var M=F.charCodeAt(1);if(M>=56320&&M<=57343)E=(H-55296)*1024+M-56320+65536}return E}function I(F,E){var H=F.toString(16)+E.toString(16);return m.indexOf(H)!==-1}function O(F){return F===s}function K(F){return F===o}function j(F){var E=y(F);if(E>=d&&E<=c)return!0;return!1}function T(F){return j(F.substr(0,2))&&j(F.substr(2,2))}function A(F){return i.indexOf(F)!==-1}function V(F,E){var H=y(F.substr(E,2));if(H!==r)return!1;var M=0;E+=2;while(M<5){if(H=y(F.substr(E,2)),H<t||H>l)return!1;M+=1,E+=2}return y(F.substr(E,2))===n}function N(){this.isLoaded=!0}var G=function F(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};G.isModifier=I,G.isZeroWidthJoiner=O,G.isFlagEmoji=T,G.isRegionalCode=j,G.isCombinedCharacter=A,G.isRegionalFlag=V,G.isVariationSelector=K,G.BLACK_FLAG_CODE_POINT=r;var D={addChars:z,addFonts:x,getCharData:p,getFontByName:b,measureText:w,checkLoadedFonts:v,setIsLoaded:N};return G.prototype=D,G}();function SlotManager(a){this.animationData=a}SlotManager.prototype.getProp=function(a){if(this.animationData.slots&&this.animationData.slots[a.sid])return Object.assign(a,this.animationData.slots[a.sid].p);return a};function slotFactory(a){return new SlotManager(a)}function RenderableElement(){}RenderableElement.prototype={initRenderable:function a(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function a(e){if(this.renderableComponents.indexOf(e)===-1)this.renderableComponents.push(e)},removeRenderableComponent:function a(e){if(this.renderableComponents.indexOf(e)!==-1)this.renderableComponents.splice(this.renderableComponents.indexOf(e),1)},prepareRenderableFrame:function a(e){this.checkLayerLimits(e)},checkTransparency:function a(){if(this.finalTransform.mProp.o.v<=0){if(!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent)this.isTransparent=!0,this.hide()}else if(this.isTransparent)this.isTransparent=!1,this.show()},checkLayerLimits:function a(e){if(this.data.ip-this.data.st<=e&&this.data.op-this.data.st>e){if(this.isInRange!==!0)this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()}else if(this.isInRange!==!1)this.globalData._mdf=!0,this.isInRange=!1,this.hide()},renderRenderable:function a(){var e,i=this.renderableComponents.length;for(e=0;e<i;e+=1)this.renderableComponents[e].renderFrame(this._isFirstFrame)},sourceRectAtTime:function a(){return{top:0,left:0,width:100,height:100}},getLayerSize:function a(){if(this.data.ty===5)return{w:this.data.textData.width,h:this.data.textData.height};return{w:this.data.width,h:this.data.height}}};var getBlendMode=function(){var a={0:"source-over",1:"multiply",2:"screen",3:"overlay",4:"darken",5:"lighten",6:"color-dodge",7:"color-burn",8:"hard-light",9:"soft-light",10:"difference",11:"exclusion",12:"hue",13:"saturation",14:"color",15:"luminosity"};return function(e){return a[e]||""}}();function SliderEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,0,0,i)}function AngleEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,0,0,i)}function ColorEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,1,0,i)}function PointEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,1,0,i)}function LayerIndexEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,0,0,i)}function MaskIndexEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,0,0,i)}function CheckboxEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,0,0,i)}function NoValueEffect(){this.p={}}function EffectsManager(a,e){var i=a.ef||[];this.effectElements=[];var r,n=i.length,t;for(r=0;r<n;r+=1)t=new GroupEffect(i[r],e),this.effectElements.push(t)}function GroupEffect(a,e){this.init(a,e)}extendPrototype([DynamicPropertyContainer],GroupEffect),GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties,GroupEffect.prototype.init=function(a,e){this.data=a,this.effectElements=[],this.initDynamicPropertyContainer(e);var i,r=this.data.ef.length,n,t=this.data.ef;for(i=0;i<r;i+=1){switch(n=null,t[i].ty){case 0:n=new SliderEffect(t[i],e,this);break;case 1:n=new AngleEffect(t[i],e,this);break;case 2:n=new ColorEffect(t[i],e,this);break;case 3:n=new PointEffect(t[i],e,this);break;case 4:case 7:n=new CheckboxEffect(t[i],e,this);break;case 10:n=new LayerIndexEffect(t[i],e,this);break;case 11:n=new MaskIndexEffect(t[i],e,this);break;case 5:n=new EffectsManager(t[i],e,this);break;default:n=new NoValueEffect(t[i],e,this);break}if(n)this.effectElements.push(n)}};function BaseElement(){}BaseElement.prototype={checkMasks:function a(){if(!this.data.hasMask)return!1;var e=0,i=this.data.masksProperties.length;while(e<i){if(this.data.masksProperties[e].mode!=="n"&&this.data.masksProperties[e].cl!==!1)return!0;e+=1}return!1},initExpressions:function a(){var e=getExpressionInterfaces();if(!e)return;var i=e("layer"),r=e("effects"),n=e("shape"),t=e("text"),l=e("comp");if(this.layerInterface=i(this),this.data.hasMask&&this.maskManager)this.layerInterface.registerMaskInterface(this.maskManager);var o=r.createEffectsInterface(this,this.layerInterface);if(this.layerInterface.registerEffectsInterface(o),this.data.ty===0||this.data.xt)this.compInterface=l(this);else if(this.data.ty===4)this.layerInterface.shapeInterface=n(this.shapesData,this.itemsData,this.layerInterface),this.layerInterface.content=this.layerInterface.shapeInterface;else if(this.data.ty===5)this.layerInterface.textInterface=t(this),this.layerInterface.text=this.layerInterface.textInterface},setBlendMode:function a(){var e=getBlendMode(this.data.bm),i=this.baseElement||this.layerElement;i.style["mix-blend-mode"]=e},initBaseData:function a(e,i,r){if(this.globalData=i,this.comp=r,this.data=e,this.layerId=createElementID(),!this.data.sr)this.data.sr=1;this.effectsManager=new EffectsManager(this.data,this,this.dynamicProperties)},getType:function a(){return this.type},sourceRectAtTime:function a(){}};function FrameElement(){}FrameElement.prototype={initFrame:function a(){this._isFirstFrame=!1,this.dynamicProperties=[],this._mdf=!1},prepareProperties:function a(e,i){var r,n=this.dynamicProperties.length;for(r=0;r<n;r+=1)if(i||this._isParent&&this.dynamicProperties[r].propType==="transform"){if(this.dynamicProperties[r].getValue(),this.dynamicProperties[r]._mdf)this.globalData._mdf=!0,this._mdf=!0}},addDynamicProperty:function a(e){if(this.dynamicProperties.indexOf(e)===-1)this.dynamicProperties.push(e)}};function FootageElement(a,e,i){this.initFrame(),this.initRenderable(),this.assetData=e.getAssetData(a.refId),this.footageData=e.imageLoader.getAsset(this.assetData),this.initBaseData(a,e,i)}FootageElement.prototype.prepareFrame=function(){},extendPrototype([RenderableElement,BaseElement,FrameElement],FootageElement),FootageElement.prototype.getBaseElement=function(){return null},FootageElement.prototype.renderFrame=function(){},FootageElement.prototype.destroy=function(){},FootageElement.prototype.initExpressions=function(){var a=getExpressionInterfaces();if(!a)return;var e=a("footage");this.layerInterface=e(this)},FootageElement.prototype.getFootageData=function(){return this.footageData};function AudioElement(a,e,i){this.initFrame(),this.initRenderable(),this.assetData=e.getAssetData(a.refId),this.initBaseData(a,e,i),this._isPlaying=!1,this._canPlay=!1;var r=this.globalData.getAssetsPath(this.assetData);this.audio=this.globalData.audioController.createAudio(r),this._currentTime=0,this.globalData.audioController.addAudio(this),this._volumeMultiplier=1,this._volume=1,this._previousVolume=null,this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,e.frameRate,this):{_placeholder:!0},this.lv=PropertyFactory.getProp(this,a.au&&a.au.lv?a.au.lv:{k:[100]},1,0.01,this)}AudioElement.prototype.prepareFrame=function(a){if(this.prepareRenderableFrame(a,!0),this.prepareProperties(a,!0),!this.tm._placeholder){var e=this.tm.v;this._currentTime=e}else this._currentTime=a/this.data.sr;this._volume=this.lv.v[0];var i=this._volume*this._volumeMultiplier;if(this._previousVolume!==i)this._previousVolume=i,this.audio.volume(i)},extendPrototype([RenderableElement,BaseElement,FrameElement],AudioElement),AudioElement.prototype.renderFrame=function(){if(this.isInRange&&this._canPlay){if(!this._isPlaying)this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0;else if(!this.audio.playing()||Math.abs(this._currentTime/this.globalData.frameRate-this.audio.seek())>0.1)this.audio.seek(this._currentTime/this.globalData.frameRate)}},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(a){this.audio.rate(a)},AudioElement.prototype.volume=function(a){this._volumeMultiplier=a,this._previousVolume=a*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){};function BaseRenderer(){}BaseRenderer.prototype.checkLayers=function(a){var e,i=this.layers.length,r;this.completeLayers=!0;for(e=i-1;e>=0;e-=1){if(!this.elements[e]){if(r=this.layers[e],r.ip-r.st<=a-this.layers[e].st&&r.op-r.st>a-this.layers[e].st)this.buildItem(e)}this.completeLayers=this.elements[e]?this.completeLayers:!1}this.checkPendingElements()},BaseRenderer.prototype.createItem=function(a){switch(a.ty){case 2:return this.createImage(a);case 0:return this.createComp(a);case 1:return this.createSolid(a);case 3:return this.createNull(a);case 4:return this.createShape(a);case 5:return this.createText(a);case 6:return this.createAudio(a);case 13:return this.createCamera(a);case 15:return this.createFootage(a);default:return this.createNull(a)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(a){return new AudioElement(a,this.globalData,this)},BaseRenderer.prototype.createFootage=function(a){return new FootageElement(a,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var a,e=this.layers.length;for(a=0;a<e;a+=1)this.buildItem(a);this.checkPendingElements()},BaseRenderer.prototype.includeLayers=function(a){this.completeLayers=!1;var e,i=a.length,r,n=this.layers.length;for(e=0;e<i;e+=1){r=0;while(r<n){if(this.layers[r].id===a[e].id){this.layers[r]=a[e];break}r+=1}}},BaseRenderer.prototype.setProjectInterface=function(a){this.globalData.projectInterface=a},BaseRenderer.prototype.initItems=function(){if(!this.globalData.progressiveLoad)this.buildAllItems()},BaseRenderer.prototype.buildElementParenting=function(a,e,i){var r=this.elements,n=this.layers,t=0,l=n.length;while(t<l){if(n[t].ind==e)if(!r[t]||r[t]===!0)this.buildItem(t),this.addPendingElement(a);else if(i.push(r[t]),r[t].setAsParent(),n[t].parent!==void 0)this.buildElementParenting(a,n[t].parent,i);else a.setHierarchy(i);t+=1}},BaseRenderer.prototype.addPendingElement=function(a){this.pendingElements.push(a)},BaseRenderer.prototype.searchExtraCompositions=function(a){var e,i=a.length;for(e=0;e<i;e+=1)if(a[e].xt){var r=this.createComp(a[e]);r.initExpressions(),this.globalData.projectInterface.registerComposition(r)}},BaseRenderer.prototype.getElementById=function(a){var e,i=this.elements.length;for(e=0;e<i;e+=1)if(this.elements[e].data.ind===a)return this.elements[e];return null},BaseRenderer.prototype.getElementByPath=function(a){var e=a.shift(),i;if(typeof e==="number")i=this.elements[e];else{var r,n=this.elements.length;for(r=0;r<n;r+=1)if(this.elements[r].data.nm===e){i=this.elements[r];break}}if(a.length===0)return i;return i.getElementByPath(a)},BaseRenderer.prototype.setupGlobalData=function(a,e){this.globalData.fontManager=new FontManager,this.globalData.slotManager=slotFactory(a),this.globalData.fontManager.addChars(a.chars),this.globalData.fontManager.addFonts(a.fonts,e),this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem),this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem),this.globalData.imageLoader=this.animationItem.imagePreloader,this.globalData.audioController=this.animationItem.audioController,this.globalData.frameId=0,this.globalData.frameRate=a.fr,this.globalData.nm=a.nm,this.globalData.compSize={w:a.w,h:a.h}};var effectTypes={TRANSFORM_EFFECT:"transformEFfect"};function TransformElement(){}TransformElement.prototype={initTransform:function a(){var e=new Matrix;if(this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_localMatMdf:!1,_opMdf:!1,mat:e,localMat:e,localOpacity:1},this.data.ao)this.finalTransform.mProp.autoOriented=!0;if(this.data.ty!==11);},renderTransform:function a(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var e,i=this.finalTransform.mat,r=0,n=this.hierarchy.length;if(!this.finalTransform._matMdf)while(r<n){if(this.hierarchy[r].finalTransform.mProp._mdf){this.finalTransform._matMdf=!0;break}r+=1}if(this.finalTransform._matMdf){e=this.finalTransform.mProp.v.props,i.cloneFromProps(e);for(r=0;r<n;r+=1)i.multiply(this.hierarchy[r].finalTransform.mProp.v)}}if(!this.localTransforms||this.finalTransform._matMdf)this.finalTransform._localMatMdf=this.finalTransform._matMdf;if(this.finalTransform._opMdf)this.finalTransform.localOpacity=this.finalTransform.mProp.o.v},renderLocalTransform:function a(){if(this.localTransforms){var e=0,i=this.localTransforms.length;if(this.finalTransform._localMatMdf=this.finalTransform._matMdf,!this.finalTransform._localMatMdf||!this.finalTransform._opMdf)while(e<i){if(this.localTransforms[e]._mdf)this.finalTransform._localMatMdf=!0;if(this.localTransforms[e]._opMdf&&!this.finalTransform._opMdf)this.finalTransform.localOpacity=this.finalTransform.mProp.o.v,this.finalTransform._opMdf=!0;e+=1}if(this.finalTransform._localMatMdf){var r=this.finalTransform.localMat;this.localTransforms[0].matrix.clone(r);for(e=1;e<i;e+=1){var n=this.localTransforms[e].matrix;r.multiply(n)}r.multiply(this.finalTransform.mat)}if(this.finalTransform._opMdf){var t=this.finalTransform.localOpacity;for(e=0;e<i;e+=1)t*=this.localTransforms[e].opacity*0.01;this.finalTransform.localOpacity=t}}},searchEffectTransforms:function a(){if(this.renderableEffectsManager){var e=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);if(e.length){this.localTransforms=[],this.finalTransform.localMat=new Matrix;var i=0,r=e.length;for(i=0;i<r;i+=1)this.localTransforms.push(e[i])}}},globalToLocal:function a(e){var i=[];i.push(this.finalTransform);var r=!0,n=this.comp;while(r)if(n.finalTransform){if(n.data.hasMask)i.splice(0,0,n.finalTransform);n=n.comp}else r=!1;var t,l=i.length,o;for(t=0;t<l;t+=1)o=i[t].mat.applyToPointArray(0,0,0),e=[e[0]-o[0],e[1]-o[1],0];return e},mHelper:new Matrix};function MaskElement(a,e,i){this.data=a,this.element=e,this.globalData=i,this.storedData=[],this.masksProperties=this.data.masksProperties||[],this.maskElement=null;var r=this.globalData.defs,n,t=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(t),this.solidPath="";var l,o=this.masksProperties,s=0,d=[],c,m,h=createElementID(),f,v,g,x,z="clipPath",p="clip-path";for(n=0;n<t;n+=1){if(o[n].mode!=="a"&&o[n].mode!=="n"||o[n].inv||o[n].o.k!==100||o[n].o.x)z="mask",p="mask";if((o[n].mode==="s"||o[n].mode==="i")&&s===0)f=createNS("rect"),f.setAttribute("fill","#ffffff"),f.setAttribute("width",this.element.comp.data.w||0),f.setAttribute("height",this.element.comp.data.h||0),d.push(f);else f=null;if(l=createNS("path"),o[n].mode==="n")this.viewData[n]={op:PropertyFactory.getProp(this.element,o[n].o,0,0.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,o[n],3),elem:l,lastPath:""},r.appendChild(l);else{s+=1,l.setAttribute("fill",o[n].mode==="s"?"#000000":"#ffffff"),l.setAttribute("clip-rule","nonzero");var w;if(o[n].x.k!==0)z="mask",p="mask",x=PropertyFactory.getProp(this.element,o[n].x,0,null,this.element),w=createElementID(),v=createNS("filter"),v.setAttribute("id",w),g=createNS("feMorphology"),g.setAttribute("operator","erode"),g.setAttribute("in","SourceGraphic"),g.setAttribute("radius","0"),v.appendChild(g),r.appendChild(v),l.setAttribute("stroke",o[n].mode==="s"?"#000000":"#ffffff");else g=null,x=null;if(this.storedData[n]={elem:l,x,expan:g,lastPath:"",lastOperator:"",filterId:w,lastRadius:0},o[n].mode==="i"){m=d.length;var b=createNS("g");for(c=0;c<m;c+=1)b.appendChild(d[c]);var y=createNS("mask");y.setAttribute("mask-type","alpha"),y.setAttribute("id",h+"_"+s),y.appendChild(l),r.appendChild(y),b.setAttribute("mask","url("+getLocationHref()+"#"+h+"_"+s+")"),d.length=0,d.push(b)}else d.push(l);if(o[n].inv&&!this.solidPath)this.solidPath=this.createLayerSolidPath();if(this.viewData[n]={elem:l,lastPath:"",op:PropertyFactory.getProp(this.element,o[n].o,0,0.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,o[n],3),invRect:f},!this.viewData[n].prop.k)this.drawPath(o[n],this.viewData[n].prop.v,this.viewData[n])}}this.maskElement=createNS(z),t=d.length;for(n=0;n<t;n+=1)this.maskElement.appendChild(d[n]);if(s>0)this.maskElement.setAttribute("id",h),this.element.maskedElement.setAttribute(p,"url("+getLocationHref()+"#"+h+")"),r.appendChild(this.maskElement);if(this.viewData.length)this.element.addRenderableComponent(this)}MaskElement.prototype.getMaskProperty=function(a){return this.viewData[a].prop},MaskElement.prototype.renderFrame=function(a){var e=this.element.finalTransform.mat,i,r=this.masksProperties.length;for(i=0;i<r;i+=1){if(this.viewData[i].prop._mdf||a)this.drawPath(this.masksProperties[i],this.viewData[i].prop.v,this.viewData[i]);if(this.viewData[i].op._mdf||a)this.viewData[i].elem.setAttribute("fill-opacity",this.viewData[i].op.v);if(this.masksProperties[i].mode!=="n"){if(this.viewData[i].invRect&&(this.element.finalTransform.mProp._mdf||a))this.viewData[i].invRect.setAttribute("transform",e.getInverseMatrix().to2dCSS());if(this.storedData[i].x&&(this.storedData[i].x._mdf||a)){var n=this.storedData[i].expan;if(this.storedData[i].x.v<0){if(this.storedData[i].lastOperator!=="erode")this.storedData[i].lastOperator="erode",this.storedData[i].elem.setAttribute("filter","url("+getLocationHref()+"#"+this.storedData[i].filterId+")");n.setAttribute("radius",-this.storedData[i].x.v)}else{if(this.storedData[i].lastOperator!=="dilate")this.storedData[i].lastOperator="dilate",this.storedData[i].elem.setAttribute("filter",null);this.storedData[i].elem.setAttribute("stroke-width",this.storedData[i].x.v*2)}}}}},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var a="M0,0 ";return a+=" h"+this.globalData.compSize.w,a+=" v"+this.globalData.compSize.h,a+=" h-"+this.globalData.compSize.w,a+=" v-"+this.globalData.compSize.h+" ",a},MaskElement.prototype.drawPath=function(a,e,i){var r=" M"+e.v[0][0]+","+e.v[0][1],n,t;t=e._length;for(n=1;n<t;n+=1)r+=" C"+e.o[n-1][0]+","+e.o[n-1][1]+" "+e.i[n][0]+","+e.i[n][1]+" "+e.v[n][0]+","+e.v[n][1];if(e.c&&t>1)r+=" C"+e.o[n-1][0]+","+e.o[n-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1];if(i.lastPath!==r){var l="";if(i.elem){if(e.c)l=a.inv?this.solidPath+r:r;i.elem.setAttribute("d",l)}i.lastPath=r}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var a={};a.createFilter=e,a.createAlphaToLuminanceFilter=i;function e(r,n){var t=createNS("filter");if(t.setAttribute("id",r),n!==!0)t.setAttribute("filterUnits","objectBoundingBox"),t.setAttribute("x","0%"),t.setAttribute("y","0%"),t.setAttribute("width","100%"),t.setAttribute("height","100%");return t}function i(){var r=createNS("feColorMatrix");return r.setAttribute("type","matrix"),r.setAttribute("color-interpolation-filters","sRGB"),r.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),r}return a}(),featureSupport=function(){var a={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas!=="undefined"};if(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))a.maskType=!1;if(/firefox/i.test(navigator.userAgent))a.svgLumaHidden=!1;return a}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(a){var e,i="SourceGraphic",r=a.data.ef?a.data.ef.length:0,n=createElementID(),t=filtersFactory.createFilter(n,!0),l=0;this.filters=[];var o;for(e=0;e<r;e+=1){o=null;var s=a.data.ef[e].ty;if(registeredEffects$1[s]){var d=registeredEffects$1[s].effect;if(o=new d(t,a.effectsManager.effectElements[e],a,idPrefix+l,i),i=idPrefix+l,registeredEffects$1[s].countsAsEffect)l+=1}if(o)this.filters.push(o)}if(l)a.globalData.defs.appendChild(t),a.layerElement.setAttribute("filter","url("+getLocationHref()+"#"+n+")");if(this.filters.length)a.addRenderableComponent(this)}SVGEffects.prototype.renderFrame=function(a){var e,i=this.filters.length;for(e=0;e<i;e+=1)this.filters[e].renderFrame(a)},SVGEffects.prototype.getEffects=function(a){var e,i=this.filters.length,r=[];for(e=0;e<i;e+=1)if(this.filters[e].type===a)r.push(this.filters[e]);return r};function registerEffect$1(a,e,i){registeredEffects$1[a]={effect:e,countsAsEffect:i}}function SVGBaseElement(){}SVGBaseElement.prototype={initRendererElement:function a(){this.layerElement=createNS("g")},createContainerElements:function a(){this.matteElement=createNS("g"),this.transformedElement=this.layerElement,this.maskedElement=this.layerElement,this._sizeChanged=!1;var e=null;if(this.data.td){this.matteMasks={};var i=createNS("g");i.setAttribute("id",this.layerId),i.appendChild(this.layerElement),e=i,this.globalData.defs.appendChild(i)}else if(this.data.tt)this.matteElement.appendChild(this.layerElement),e=this.matteElement,this.baseElement=this.matteElement;else this.baseElement=this.layerElement;if(this.data.ln)this.layerElement.setAttribute("id",this.data.ln);if(this.data.cl)this.layerElement.setAttribute("class",this.data.cl);if(this.data.ty===0&&!this.data.hd){var r=createNS("clipPath"),n=createNS("path");n.setAttribute("d","M0,0 L"+this.data.w+",0 L"+this.data.w+","+this.data.h+" L0,"+this.data.h+"z");var t=createElementID();if(r.setAttribute("id",t),r.appendChild(n),this.globalData.defs.appendChild(r),this.checkMasks()){var l=createNS("g");if(l.setAttribute("clip-path","url("+getLocationHref()+"#"+t+")"),l.appendChild(this.layerElement),this.transformedElement=l,e)e.appendChild(this.transformedElement);else this.baseElement=this.transformedElement}else this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+t+")")}if(this.data.bm!==0)this.setBlendMode()},renderElement:function a(){if(this.finalTransform._localMatMdf)this.transformedElement.setAttribute("transform",this.finalTransform.localMat.to2dCSS());if(this.finalTransform._opMdf)this.transformedElement.setAttribute("opacity",this.finalTransform.localOpacity)},destroyBaseElement:function a(){this.layerElement=null,this.matteElement=null,this.maskManager.destroy()},getBaseElement:function a(){if(this.data.hd)return null;return this.baseElement},createRenderableComponents:function a(){this.maskManager=new MaskElement(this.data,this,this.globalData),this.renderableEffectsManager=new SVGEffects(this),this.searchEffectTransforms()},getMatte:function a(e){if(!this.matteMasks)this.matteMasks={};if(!this.matteMasks[e]){var i=this.layerId+"_"+e,r,n,t,l;if(e===1||e===3){var o=createNS("mask");if(o.setAttribute("id",i),o.setAttribute("mask-type",e===3?"luminance":"alpha"),t=createNS("use"),t.setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),o.appendChild(t),this.globalData.defs.appendChild(o),!featureSupport.maskType&&e===1)o.setAttribute("mask-type","luminance"),r=createElementID(),n=filtersFactory.createFilter(r),this.globalData.defs.appendChild(n),n.appendChild(filtersFactory.createAlphaToLuminanceFilter()),l=createNS("g"),l.appendChild(t),o.appendChild(l),l.setAttribute("filter","url("+getLocationHref()+"#"+r+")")}else if(e===2){var s=createNS("mask");s.setAttribute("id",i),s.setAttribute("mask-type","alpha");var d=createNS("g");s.appendChild(d),r=createElementID(),n=filtersFactory.createFilter(r);var c=createNS("feComponentTransfer");c.setAttribute("in","SourceGraphic"),n.appendChild(c);var m=createNS("feFuncA");m.setAttribute("type","table"),m.setAttribute("tableValues","1.0 0.0"),c.appendChild(m),this.globalData.defs.appendChild(n);var h=createNS("rect");if(h.setAttribute("width",this.comp.data.w),h.setAttribute("height",this.comp.data.h),h.setAttribute("x","0"),h.setAttribute("y","0"),h.setAttribute("fill","#ffffff"),h.setAttribute("opacity","0"),d.setAttribute("filter","url("+getLocationHref()+"#"+r+")"),d.appendChild(h),t=createNS("use"),t.setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),d.appendChild(t),!featureSupport.maskType)s.setAttribute("mask-type","luminance"),n.appendChild(filtersFactory.createAlphaToLuminanceFilter()),l=createNS("g"),d.appendChild(h),l.appendChild(this.layerElement),d.appendChild(l);this.globalData.defs.appendChild(s)}this.matteMasks[e]=i}return this.matteMasks[e]},setMatte:function a(e){if(!this.matteElement)return;this.matteElement.setAttribute("mask","url("+getLocationHref()+"#"+e+")")}};function HierarchyElement(){}HierarchyElement.prototype={initHierarchy:function a(){this.hierarchy=[],this._isParent=!1,this.checkParenting()},setHierarchy:function a(e){this.hierarchy=e},setAsParent:function a(){this._isParent=!0},checkParenting:function a(){if(this.data.parent!==void 0)this.comp.buildElementParenting(this,this.data.parent,[])}};function RenderableDOMElement(){}(function(){var a={initElement:function e(i,r,n){this.initFrame(),this.initBaseData(i,r,n),this.initTransform(i,r,n),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide()},hide:function e(){if(!this.hidden&&(!this.isInRange||this.isTransparent)){var i=this.baseElement||this.layerElement;i.style.display="none",this.hidden=!0}},show:function e(){if(this.isInRange&&!this.isTransparent){if(!this.data.hd){var i=this.baseElement||this.layerElement;i.style.display="block"}this.hidden=!1,this._isFirstFrame=!0}},renderFrame:function e(){if(this.data.hd||this.hidden)return;if(this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame)this._isFirstFrame=!1},renderInnerContent:function e(){},prepareFrame:function e(i){this._mdf=!1,this.prepareRenderableFrame(i),this.prepareProperties(i,this.isInRange),this.checkTransparency()},destroy:function e(){this.innerElem=null,this.destroyBaseElement()}};extendPrototype([RenderableElement,createProxyFunction(a)],RenderableDOMElement)})();function IImageElement(a,e,i){if(this.assetData=e.getAssetData(a.refId),this.assetData&&this.assetData.sid)this.assetData=e.slotManager.getProp(this.assetData);this.initElement(a,e,i),this.sourceRect={top:0,left:0,width:this.assetData.w,height:this.assetData.h}}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],IImageElement),IImageElement.prototype.createContent=function(){var a=this.globalData.getAssetsPath(this.assetData);this.innerElem=createNS("image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.innerElem.setAttribute("preserveAspectRatio",this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio),this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",a),this.layerElement.appendChild(this.innerElem)},IImageElement.prototype.sourceRectAtTime=function(){return this.sourceRect};function ProcessedElement(a,e){this.elem=a,this.pos=e}function IShapeElement(){}IShapeElement.prototype={addShapeToModifiers:function a(e){var i,r=this.shapeModifiers.length;for(i=0;i<r;i+=1)this.shapeModifiers[i].addShape(e)},isShapeInAnimatedModifiers:function a(e){var i=0,r=this.shapeModifiers.length;while(i<r)if(this.shapeModifiers[i].isAnimatedWithShape(e))return!0;return!1},renderModifiers:function a(){if(!this.shapeModifiers.length)return;var e,i=this.shapes.length;for(e=0;e<i;e+=1)this.shapes[e].sh.reset();i=this.shapeModifiers.length;var r;for(e=i-1;e>=0;e-=1)if(r=this.shapeModifiers[e].processShapes(this._isFirstFrame),r)break},searchProcessedElement:function a(e){var i=this.processedElements,r=0,n=i.length;while(r<n){if(i[r].elem===e)return i[r].pos;r+=1}return 0},addProcessedElement:function a(e,i){var r=this.processedElements,n=r.length;while(n)if(n-=1,r[n].elem===e){r[n].pos=i;return}r.push(new ProcessedElement(e,i))},prepareFrame:function a(e){this.prepareRenderableFrame(e),this.prepareProperties(e,this.isInRange)}};var lineCapEnum={1:"butt",2:"round",3:"square"},lineJoinEnum={1:"miter",2:"round",3:"bevel"};function SVGShapeData(a,e,i){this.caches=[],this.styles=[],this.transformers=a,this.lStr="",this.sh=i,this.lvl=e,this._isAnimated=!!i.k;var r=0,n=a.length;while(r<n){if(a[r].mProps.dynamicProperties.length){this._isAnimated=!0;break}r+=1}}SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=!0};function SVGStyleData(a,e){this.data=a,this.type=a.ty,this.d="",this.lvl=e,this._mdf=!1,this.closed=a.hd===!0,this.pElem=createNS("path"),this.msElem=null}SVGStyleData.prototype.reset=function(){this.d="",this._mdf=!1};function DashProperty(a,e,i,r){this.elem=a,this.frameId=-1,this.dataProps=createSizedArray(e.length),this.renderer=i,this.k=!1,this.dashStr="",this.dashArray=createTypedArray("float32",e.length?e.length-1:0),this.dashoffset=createTypedArray("float32",1),this.initDynamicPropertyContainer(r);var n,t=e.length||0,l;for(n=0;n<t;n+=1)l=PropertyFactory.getProp(a,e[n].v,0,0,this),this.k=l.k||this.k,this.dataProps[n]={n:e[n].n,p:l};if(!this.k)this.getValue(!0);this._isAnimated=this.k}DashProperty.prototype.getValue=function(a){if(this.elem.globalData.frameId===this.frameId&&!a)return;if(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf=this._mdf||a,this._mdf){var e=0,i=this.dataProps.length;if(this.renderer==="svg")this.dashStr="";for(e=0;e<i;e+=1)if(this.dataProps[e].n!=="o")if(this.renderer==="svg")this.dashStr+=" "+this.dataProps[e].p.v;else this.dashArray[e]=this.dataProps[e].p.v;else this.dashoffset[0]=this.dataProps[e].p.v}},extendPrototype([DynamicPropertyContainer],DashProperty);function SVGStrokeStyleData(a,e,i){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(a,e.o,0,0.01,this),this.w=PropertyFactory.getProp(a,e.w,0,null,this),this.d=new DashProperty(a,e.d||{},"svg",this),this.c=PropertyFactory.getProp(a,e.c,1,255,this),this.style=i,this._isAnimated=!!this._isAnimated}extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData);function SVGFillStyleData(a,e,i){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(a,e.o,0,0.01,this),this.c=PropertyFactory.getProp(a,e.c,1,255,this),this.style=i}extendPrototype([DynamicPropertyContainer],SVGFillStyleData);function SVGNoStyleData(a,e,i){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.style=i}extendPrototype([DynamicPropertyContainer],SVGNoStyleData);function GradientProperty(a,e,i){this.data=e,this.c=createTypedArray("uint8c",e.p*4);var r=e.k.k[0].s?e.k.k[0].s.length-e.p*4:e.k.k.length-e.p*4;this.o=createTypedArray("float32",r),this._cmdf=!1,this._omdf=!1,this._collapsable=this.checkCollapsable(),this._hasOpacity=r,this.initDynamicPropertyContainer(i),this.prop=PropertyFactory.getProp(a,e.k,1,null,this),this.k=this.prop.k,this.getValue(!0)}GradientProperty.prototype.comparePoints=function(a,e){var i=0,r=this.o.length/2,n;while(i<r){if(n=Math.abs(a[i*4]-a[e*4+i*2]),n>0.01)return!1;i+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return!1;if(this.data.k.k[0].s){var a=0,e=this.data.k.k.length;while(a<e){if(!this.comparePoints(this.data.k.k[a].s,this.data.p))return!1;a+=1}}else if(!this.comparePoints(this.data.k.k,this.data.p))return!1;return!0},GradientProperty.prototype.getValue=function(a){if(this.prop.getValue(),this._mdf=!1,this._cmdf=!1,this._omdf=!1,this.prop._mdf||a){var e,i=this.data.p*4,r,n;for(e=0;e<i;e+=1)if(r=e%4===0?100:255,n=Math.round(this.prop.v[e]*r),this.c[e]!==n)this.c[e]=n,this._cmdf=!a;if(this.o.length){i=this.prop.v.length;for(e=this.data.p*4;e<i;e+=1)if(r=e%2===0?100:1,n=e%2===0?Math.round(this.prop.v[e]*100):this.prop.v[e],this.o[e-this.data.p*4]!==n)this.o[e-this.data.p*4]=n,this._omdf=!a}this._mdf=!a}},extendPrototype([DynamicPropertyContainer],GradientProperty);function SVGGradientFillStyleData(a,e,i){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.initGradientData(a,e,i)}SVGGradientFillStyleData.prototype.initGradientData=function(a,e,i){this.o=PropertyFactory.getProp(a,e.o,0,0.01,this),this.s=PropertyFactory.getProp(a,e.s,1,null,this),this.e=PropertyFactory.getProp(a,e.e,1,null,this),this.h=PropertyFactory.getProp(a,e.h||{k:0},0,0.01,this),this.a=PropertyFactory.getProp(a,e.a||{k:0},0,degToRads,this),this.g=new GradientProperty(a,e.g,this),this.style=i,this.stops=[],this.setGradientData(i.pElem,e),this.setGradientOpacity(e,i),this._isAnimated=!!this._isAnimated},SVGGradientFillStyleData.prototype.setGradientData=function(a,e){var i=createElementID(),r=createNS(e.t===1?"linearGradient":"radialGradient");r.setAttribute("id",i),r.setAttribute("spreadMethod","pad"),r.setAttribute("gradientUnits","userSpaceOnUse");var n=[],t,l,o;o=e.g.p*4;for(l=0;l<o;l+=4)t=createNS("stop"),r.appendChild(t),n.push(t);a.setAttribute(e.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+i+")"),this.gf=r,this.cst=n},SVGGradientFillStyleData.prototype.setGradientOpacity=function(a,e){if(this.g._hasOpacity&&!this.g._collapsable){var i,r,n,t=createNS("mask"),l=createNS("path");t.appendChild(l);var o=createElementID(),s=createElementID();t.setAttribute("id",s);var d=createNS(a.t===1?"linearGradient":"radialGradient");d.setAttribute("id",o),d.setAttribute("spreadMethod","pad"),d.setAttribute("gradientUnits","userSpaceOnUse"),n=a.g.k.k[0].s?a.g.k.k[0].s.length:a.g.k.k.length;var c=this.stops;for(r=a.g.p*4;r<n;r+=2)i=createNS("stop"),i.setAttribute("stop-color","rgb(255,255,255)"),d.appendChild(i),c.push(i);if(l.setAttribute(a.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+o+")"),a.ty==="gs"){if(l.setAttribute("stroke-linecap",lineCapEnum[a.lc||2]),l.setAttribute("stroke-linejoin",lineJoinEnum[a.lj||2]),a.lj===1)l.setAttribute("stroke-miterlimit",a.ml)}this.of=d,this.ms=t,this.ost=c,this.maskId=s,e.msElem=l}},extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData);function SVGGradientStrokeStyleData(a,e,i){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.w=PropertyFactory.getProp(a,e.w,0,null,this),this.d=new DashProperty(a,e.d||{},"svg",this),this.initGradientData(a,e,i),this._isAnimated=!!this._isAnimated}extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=createNS("g")}function SVGTransformData(a,e,i){this.transform={mProps:a,op:e,container:i},this.elements=[],this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length}var buildShapeString=function a(e,i,r,n){if(i===0)return"";var{o:t,i:l,v:o}=e,s,d=" M"+n.applyToPointStringified(o[0][0],o[0][1]);for(s=1;s<i;s+=1)d+=" C"+n.applyToPointStringified(t[s-1][0],t[s-1][1])+" "+n.applyToPointStringified(l[s][0],l[s][1])+" "+n.applyToPointStringified(o[s][0],o[s][1]);if(r&&i)d+=" C"+n.applyToPointStringified(t[s-1][0],t[s-1][1])+" "+n.applyToPointStringified(l[0][0],l[0][1])+" "+n.applyToPointStringified(o[0][0],o[0][1]),d+="z";return d},SVGElementsRenderer=function(){var a=new Matrix,e=new Matrix,i={createRenderFunction:r};function r(m){switch(m.ty){case"fl":return o;case"gf":return d;case"gs":return s;case"st":return c;case"sh":case"el":case"rc":case"sr":return l;case"tr":return n;case"no":return t;default:return null}}function n(m,h,f){if(f||h.transform.op._mdf)h.transform.container.setAttribute("opacity",h.transform.op.v);if(f||h.transform.mProps._mdf)h.transform.container.setAttribute("transform",h.transform.mProps.v.to2dCSS())}function t(){}function l(m,h,f){var v,g,x,z,p,w,b=h.styles.length,y=h.lvl,I,O,K,j;for(w=0;w<b;w+=1){if(z=h.sh._mdf||f,h.styles[w].lvl<y){O=e.reset(),K=y-h.styles[w].lvl,j=h.transformers.length-1;while(!z&&K>0)z=h.transformers[j].mProps._mdf||z,K-=1,j-=1;if(z){K=y-h.styles[w].lvl,j=h.transformers.length-1;while(K>0)O.multiply(h.transformers[j].mProps.v),K-=1,j-=1}}else O=a;if(I=h.sh.paths,g=I._length,z){x="";for(v=0;v<g;v+=1)if(p=I.shapes[v],p&&p._length)x+=buildShapeString(p,p._length,p.c,O);h.caches[w]=x}else x=h.caches[w];h.styles[w].d+=m.hd===!0?"":x,h.styles[w]._mdf=z||h.styles[w]._mdf}}function o(m,h,f){var v=h.style;if(h.c._mdf||f)v.pElem.setAttribute("fill","rgb("+bmFloor(h.c.v[0])+","+bmFloor(h.c.v[1])+","+bmFloor(h.c.v[2])+")");if(h.o._mdf||f)v.pElem.setAttribute("fill-opacity",h.o.v)}function s(m,h,f){d(m,h,f),c(m,h,f)}function d(m,h,f){var v=h.gf,g=h.g._hasOpacity,x=h.s.v,z=h.e.v;if(h.o._mdf||f){var p=m.ty==="gf"?"fill-opacity":"stroke-opacity";h.style.pElem.setAttribute(p,h.o.v)}if(h.s._mdf||f){var w=m.t===1?"x1":"cx",b=w==="x1"?"y1":"cy";if(v.setAttribute(w,x[0]),v.setAttribute(b,x[1]),g&&!h.g._collapsable)h.of.setAttribute(w,x[0]),h.of.setAttribute(b,x[1])}var y,I,O,K;if(h.g._cmdf||f){y=h.cst;var j=h.g.c;O=y.length;for(I=0;I<O;I+=1)K=y[I],K.setAttribute("offset",j[I*4]+"%"),K.setAttribute("stop-color","rgb("+j[I*4+1]+","+j[I*4+2]+","+j[I*4+3]+")")}if(g&&(h.g._omdf||f)){var T=h.g.o;if(h.g._collapsable)y=h.cst;else y=h.ost;O=y.length;for(I=0;I<O;I+=1){if(K=y[I],!h.g._collapsable)K.setAttribute("offset",T[I*2]+"%");K.setAttribute("stop-opacity",T[I*2+1])}}if(m.t===1){if(h.e._mdf||f){if(v.setAttribute("x2",z[0]),v.setAttribute("y2",z[1]),g&&!h.g._collapsable)h.of.setAttribute("x2",z[0]),h.of.setAttribute("y2",z[1])}}else{var A;if(h.s._mdf||h.e._mdf||f){if(A=Math.sqrt(Math.pow(x[0]-z[0],2)+Math.pow(x[1]-z[1],2)),v.setAttribute("r",A),g&&!h.g._collapsable)h.of.setAttribute("r",A)}if(h.s._mdf||h.e._mdf||h.h._mdf||h.a._mdf||f){if(!A)A=Math.sqrt(Math.pow(x[0]-z[0],2)+Math.pow(x[1]-z[1],2));var V=Math.atan2(z[1]-x[1],z[0]-x[0]),N=h.h.v;if(N>=1)N=0.99;else if(N<=-1)N=-0.99;var G=A*N,D=Math.cos(V+h.a.v)*G+x[0],F=Math.sin(V+h.a.v)*G+x[1];if(v.setAttribute("fx",D),v.setAttribute("fy",F),g&&!h.g._collapsable)h.of.setAttribute("fx",D),h.of.setAttribute("fy",F)}}}function c(m,h,f){var{style:v,d:g}=h;if(g&&(g._mdf||f)&&g.dashStr)v.pElem.setAttribute("stroke-dasharray",g.dashStr),v.pElem.setAttribute("stroke-dashoffset",g.dashoffset[0]);if(h.c&&(h.c._mdf||f))v.pElem.setAttribute("stroke","rgb("+bmFloor(h.c.v[0])+","+bmFloor(h.c.v[1])+","+bmFloor(h.c.v[2])+")");if(h.o._mdf||f)v.pElem.setAttribute("stroke-opacity",h.o.v);if(h.w._mdf||f){if(v.pElem.setAttribute("stroke-width",h.w.v),v.msElem)v.msElem.setAttribute("stroke-width",h.w.v)}}return i}();function SVGShapeElement(a,e,i){this.shapes=[],this.shapesData=a.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(a,e,i),this.prevViewData=[]}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var a,e=this.shapes.length,i,r,n=this.stylesList.length,t,l=[],o=!1;for(r=0;r<n;r+=1){t=this.stylesList[r],o=!1,l.length=0;for(a=0;a<e;a+=1)if(i=this.shapes[a],i.styles.indexOf(t)!==-1)l.push(i),o=i._isAnimated||o;if(l.length>1&&o)this.setShapesAsAnimated(l)}},SVGShapeElement.prototype.setShapesAsAnimated=function(a){var e,i=a.length;for(e=0;e<i;e+=1)a[e].setAsAnimated()},SVGShapeElement.prototype.createStyleElement=function(a,e){var i,r=new SVGStyleData(a,e),n=r.pElem;if(a.ty==="st")i=new SVGStrokeStyleData(this,a,r);else if(a.ty==="fl")i=new SVGFillStyleData(this,a,r);else if(a.ty==="gf"||a.ty==="gs"){var t=a.ty==="gf"?SVGGradientFillStyleData:SVGGradientStrokeStyleData;if(i=new t(this,a,r),this.globalData.defs.appendChild(i.gf),i.maskId)this.globalData.defs.appendChild(i.ms),this.globalData.defs.appendChild(i.of),n.setAttribute("mask","url("+getLocationHref()+"#"+i.maskId+")")}else if(a.ty==="no")i=new SVGNoStyleData(this,a,r);if(a.ty==="st"||a.ty==="gs"){if(n.setAttribute("stroke-linecap",lineCapEnum[a.lc||2]),n.setAttribute("stroke-linejoin",lineJoinEnum[a.lj||2]),n.setAttribute("fill-opacity","0"),a.lj===1)n.setAttribute("stroke-miterlimit",a.ml)}if(a.r===2)n.setAttribute("fill-rule","evenodd");if(a.ln)n.setAttribute("id",a.ln);if(a.cl)n.setAttribute("class",a.cl);if(a.bm)n.style["mix-blend-mode"]=getBlendMode(a.bm);return this.stylesList.push(r),this.addToAnimatedContents(a,i),i},SVGShapeElement.prototype.createGroupElement=function(a){var e=new ShapeGroupData;if(a.ln)e.gr.setAttribute("id",a.ln);if(a.cl)e.gr.setAttribute("class",a.cl);if(a.bm)e.gr.style["mix-blend-mode"]=getBlendMode(a.bm);return e},SVGShapeElement.prototype.createTransformElement=function(a,e){var i=TransformPropertyFactory.getTransformProperty(this,a,this),r=new SVGTransformData(i,i.o,e);return this.addToAnimatedContents(a,r),r},SVGShapeElement.prototype.createShapeElement=function(a,e,i){var r=4;if(a.ty==="rc")r=5;else if(a.ty==="el")r=6;else if(a.ty==="sr")r=7;var n=ShapePropertyFactory.getShapeProp(this,a,r,this),t=new SVGShapeData(e,i,n);return this.shapes.push(t),this.addShapeToModifiers(t),this.addToAnimatedContents(a,t),t},SVGShapeElement.prototype.addToAnimatedContents=function(a,e){var i=0,r=this.animatedContents.length;while(i<r){if(this.animatedContents[i].element===e)return;i+=1}this.animatedContents.push({fn:SVGElementsRenderer.createRenderFunction(a),element:e,data:a})},SVGShapeElement.prototype.setElementStyles=function(a){var e=a.styles,i,r=this.stylesList.length;for(i=0;i<r;i+=1)if(e.indexOf(this.stylesList[i])===-1&&!this.stylesList[i].closed)e.push(this.stylesList[i])},SVGShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var a,e=this.itemsData.length;for(a=0;a<e;a+=1)this.prevViewData[a]=this.itemsData[a];this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes(),e=this.dynamicProperties.length;for(a=0;a<e;a+=1)this.dynamicProperties[a].getValue();this.renderModifiers()},SVGShapeElement.prototype.searchShapes=function(a,e,i,r,n,t,l){var o=[].concat(t),s,d=a.length-1,c,m,h=[],f=[],v,g,x;for(s=d;s>=0;s-=1){if(x=this.searchProcessedElement(a[s]),!x)a[s]._render=l;else e[s]=i[x-1];if(a[s].ty==="fl"||a[s].ty==="st"||a[s].ty==="gf"||a[s].ty==="gs"||a[s].ty==="no"){if(!x)e[s]=this.createStyleElement(a[s],n);else e[s].style.closed=a[s].hd;if(a[s]._render){if(e[s].style.pElem.parentNode!==r)r.appendChild(e[s].style.pElem)}h.push(e[s].style)}else if(a[s].ty==="gr"){if(!x)e[s]=this.createGroupElement(a[s]);else{m=e[s].it.length;for(c=0;c<m;c+=1)e[s].prevViewData[c]=e[s].it[c]}if(this.searchShapes(a[s].it,e[s].it,e[s].prevViewData,e[s].gr,n+1,o,l),a[s]._render){if(e[s].gr.parentNode!==r)r.appendChild(e[s].gr)}}else if(a[s].ty==="tr"){if(!x)e[s]=this.createTransformElement(a[s],r);v=e[s].transform,o.push(v)}else if(a[s].ty==="sh"||a[s].ty==="rc"||a[s].ty==="el"||a[s].ty==="sr"){if(!x)e[s]=this.createShapeElement(a[s],o,n);this.setElementStyles(e[s])}else if(a[s].ty==="tm"||a[s].ty==="rd"||a[s].ty==="ms"||a[s].ty==="pb"||a[s].ty==="zz"||a[s].ty==="op"){if(!x)g=ShapeModifiers.getModifier(a[s].ty),g.init(this,a[s]),e[s]=g,this.shapeModifiers.push(g);else g=e[s],g.closed=!1;f.push(g)}else if(a[s].ty==="rp"){if(!x)g=ShapeModifiers.getModifier(a[s].ty),e[s]=g,g.init(this,a,s,e),this.shapeModifiers.push(g),l=!1;else g=e[s],g.closed=!0;f.push(g)}this.addProcessedElement(a[s],s+1)}d=h.length;for(s=0;s<d;s+=1)h[s].closed=!0;d=f.length;for(s=0;s<d;s+=1)f[s].closed=!0},SVGShapeElement.prototype.renderInnerContent=function(){this.renderModifiers();var a,e=this.stylesList.length;for(a=0;a<e;a+=1)this.stylesList[a].reset();this.renderShape();for(a=0;a<e;a+=1)if(this.stylesList[a]._mdf||this._isFirstFrame){if(this.stylesList[a].msElem)this.stylesList[a].msElem.setAttribute("d",this.stylesList[a].d),this.stylesList[a].d="M0 0"+this.stylesList[a].d;this.stylesList[a].pElem.setAttribute("d",this.stylesList[a].d||"M0 0")}},SVGShapeElement.prototype.renderShape=function(){var a,e=this.animatedContents.length,i;for(a=0;a<e;a+=1)if(i=this.animatedContents[a],(this._isFirstFrame||i.element._isAnimated)&&i.data!==!0)i.fn(i.data,i.element,this._isFirstFrame)},SVGShapeElement.prototype.destroy=function(){this.destroyBaseElement(),this.shapesData=null,this.itemsData=null};function LetterProps(a,e,i,r,n,t){this.o=a,this.sw=e,this.sc=i,this.fc=r,this.m=n,this.p=t,this._mdf={o:!0,sw:!!e,sc:!!i,fc:!!r,m:!0,p:!0}}LetterProps.prototype.update=function(a,e,i,r,n,t){this._mdf.o=!1,this._mdf.sw=!1,this._mdf.sc=!1,this._mdf.fc=!1,this._mdf.m=!1,this._mdf.p=!1;var l=!1;if(this.o!==a)this.o=a,this._mdf.o=!0,l=!0;if(this.sw!==e)this.sw=e,this._mdf.sw=!0,l=!0;if(this.sc!==i)this.sc=i,this._mdf.sc=!0,l=!0;if(this.fc!==r)this.fc=r,this._mdf.fc=!0,l=!0;if(this.m!==n)this.m=n,this._mdf.m=!0,l=!0;if(t.length&&(this.p[0]!==t[0]||this.p[1]!==t[1]||this.p[4]!==t[4]||this.p[5]!==t[5]||this.p[12]!==t[12]||this.p[13]!==t[13]))this.p=t,this._mdf.p=!0,l=!0;return l};function TextProperty(a,e){if(this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,e.d&&e.d.sid)e.d=a.globalData.slotManager.getProp(e.d);if(this.data=e,this.elem=a,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),!this.searchProperty())this.completeTextData(this.currentData)}TextProperty.prototype.defaultBoxWidth=[0,0],TextProperty.prototype.copyData=function(a,e){for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i))a[i]=e[i];return a},TextProperty.prototype.setCurrentData=function(a){if(!a.__complete)this.completeTextData(a);this.currentData=a,this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth,this._mdf=!0},TextProperty.prototype.searchProperty=function(){return this.searchKeyframes()},TextProperty.prototype.searchKeyframes=function(){if(this.kf=this.data.d.k.length>1,this.kf)this.addEffect(this.getKeyframeValue.bind(this));return this.kf},TextProperty.prototype.addEffect=function(a){this.effectsSequence.push(a),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(a){if((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!a)return;this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,i=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var r,n=this.effectsSequence.length,t=a||this.data.d.k[this.keysIndex].s;for(r=0;r<n;r+=1)if(i!==this.keysIndex)t=this.effectsSequence[r](t,t.t);else t=this.effectsSequence[r](this.currentData,t.t);if(e!==t)this.setCurrentData(t);this.v=this.currentData,this.pv=this.v,this.lock=!1,this.frameId=this.elem.globalData.frameId},TextProperty.prototype.getKeyframeValue=function(){var a=this.data.d.k,e=this.elem.comp.renderedFrame,i=0,r=a.length;while(i<=r-1){if(i===r-1||a[i+1].t>e)break;i+=1}if(this.keysIndex!==i)this.keysIndex=i;return this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(a){var e=[],i=0,r=a.length,n,t,l=!1,o=!1,s="";while(i<r){if(l=o,o=!1,n=a.charCodeAt(i),s=a.charAt(i),FontManager.isCombinedCharacter(n))l=!0;else if(n>=55296&&n<=56319){if(FontManager.isRegionalFlag(a,i))s=a.substr(i,14);else if(t=a.charCodeAt(i+1),t>=56320&&t<=57343)if(FontManager.isModifier(n,t))s=a.substr(i,2),l=!0;else if(FontManager.isFlagEmoji(a.substr(i,4)))s=a.substr(i,4);else s=a.substr(i,2)}else if(n>56319){if(t=a.charCodeAt(i+1),FontManager.isVariationSelector(n))l=!0}else if(FontManager.isZeroWidthJoiner(n))l=!0,o=!0;if(l)e[e.length-1]+=s,l=!1;else e.push(s);i+=s.length}return e},TextProperty.prototype.completeTextData=function(a){a.__complete=!0;var e=this.elem.globalData.fontManager,i=this.data,r=[],n,t,l,o=0,s,d=i.m.g,c=0,m=0,h=0,f=[],v=0,g=0,x,z,p=e.getFontByName(a.f),w,b=0,y=getFontProperties(p);a.fWeight=y.weight,a.fStyle=y.style,a.finalSize=a.s,a.finalText=this.buildFinalText(a.t),t=a.finalText.length,a.finalLineHeight=a.lh;var I=a.tr/1000*a.finalSize,O;if(a.sz){var K=!0,j=a.sz[0],T=a.sz[1],A,V;while(K){V=this.buildFinalText(a.t),A=0,v=0,t=V.length,I=a.tr/1000*a.finalSize;var N=-1;for(n=0;n<t;n+=1){if(O=V[n].charCodeAt(0),l=!1,V[n]===" ")N=n;else if(O===13||O===3)v=0,l=!0,A+=a.finalLineHeight||a.finalSize*1.2;if(e.chars)w=e.getCharData(V[n],p.fStyle,p.fFamily),b=l?0:w.w*a.finalSize/100;else b=e.measureText(V[n],a.f,a.finalSize);if(v+b>j&&V[n]!==" "){if(N===-1)t+=1;else n=N;A+=a.finalLineHeight||a.finalSize*1.2,V.splice(n,N===n?1:0,"\r"),N=-1,v=0}else v+=b,v+=I}if(A+=p.ascent*a.finalSize/100,this.canResize&&a.finalSize>this.minimumFontSize&&T<A)a.finalSize-=1,a.finalLineHeight=a.finalSize*a.lh/a.s;else a.finalText=V,t=a.finalText.length,K=!1}}v=-I,b=0;var G=0,D;for(n=0;n<t;n+=1){if(l=!1,D=a.finalText[n],O=D.charCodeAt(0),O===13||O===3)G=0,f.push(v),g=v>g?v:g,v=-2*I,s="",l=!0,h+=1;else s=D;if(e.chars)w=e.getCharData(D,p.fStyle,e.getFontByName(a.f).fFamily),b=l?0:w.w*a.finalSize/100;else b=e.measureText(s,a.f,a.finalSize);if(D===" ")G+=b+I;else v+=b+I+G,G=0;if(r.push({l:b,an:b,add:c,n:l,anIndexes:[],val:s,line:h,animatorJustifyOffset:0}),d==2){if(c+=b,s===""||s===" "||n===t-1){if(s===""||s===" ")c-=b;while(m<=n)r[m].an=c,r[m].ind=o,r[m].extra=b,m+=1;o+=1,c=0}}else if(d==3){if(c+=b,s===""||n===t-1){if(s==="")c-=b;while(m<=n)r[m].an=c,r[m].ind=o,r[m].extra=b,m+=1;c=0,o+=1}}else r[o].ind=o,r[o].extra=0,o+=1}if(a.l=r,g=v>g?v:g,f.push(v),a.sz)a.boxWidth=a.sz[0],a.justifyOffset=0;else switch(a.boxWidth=g,a.j){case 1:a.justifyOffset=-a.boxWidth;break;case 2:a.justifyOffset=-a.boxWidth/2;break;default:a.justifyOffset=0}a.lineWidths=f;var F=i.a,E,H;z=F.length;var M,Q,L=[];for(x=0;x<z;x+=1){if(E=F[x],E.a.sc)a.strokeColorAnim=!0;if(E.a.sw)a.strokeWidthAnim=!0;if(E.a.fc||E.a.fh||E.a.fs||E.a.fb)a.fillColorAnim=!0;Q=0,M=E.s.b;for(n=0;n<t;n+=1)if(H=r[n],H.anIndexes[x]=Q,M==1&&H.val!==""||M==2&&H.val!==""&&H.val!==" "||M==3&&(H.n||H.val==" "||n==t-1)||M==4&&(H.n||n==t-1)){if(E.s.rn===1)L.push(Q);Q+=1}i.a[x].s.totalChars=Q;var _=-1,i1;if(E.s.rn===1)for(n=0;n<t;n+=1){if(H=r[n],_!=H.anIndexes[x])_=H.anIndexes[x],i1=L.splice(Math.floor(Math.random()*L.length),1)[0];H.anIndexes[x]=i1}}a.yOffset=a.finalLineHeight||a.finalSize*1.2,a.ls=a.ls||0,a.ascent=p.ascent*a.finalSize/100},TextProperty.prototype.updateDocumentData=function(a,e){e=e===void 0?this.keysIndex:e;var i=this.copyData({},this.data.d.k[e].s);i=this.copyData(i,a),this.data.d.k[e].s=i,this.recalculate(e),this.setCurrentData(i),this.elem.addDynamicProperty(this)},TextProperty.prototype.recalculate=function(a){var e=this.data.d.k[a].s;e.__complete=!1,this.keysIndex=0,this._isFirstFrame=!0,this.getValue(e)},TextProperty.prototype.canResizeFont=function(a){this.canResize=a,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)},TextProperty.prototype.setMinimumFontSize=function(a){this.minimumFontSize=Math.floor(a)||1,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)};var TextSelectorProp=function(){var{max:a,min:e,floor:i}=Math;function r(t,l){if(this._currentTextLength=-1,this.k=!1,this.data=l,this.elem=t,this.comp=t.comp,this.finalS=0,this.finalE=0,this.initDynamicPropertyContainer(t),this.s=PropertyFactory.getProp(t,l.s||{k:0},0,0,this),"e"in l)this.e=PropertyFactory.getProp(t,l.e,0,0,this);else this.e={v:100};if(this.o=PropertyFactory.getProp(t,l.o||{k:0},0,0,this),this.xe=PropertyFactory.getProp(t,l.xe||{k:0},0,0,this),this.ne=PropertyFactory.getProp(t,l.ne||{k:0},0,0,this),this.sm=PropertyFactory.getProp(t,l.sm||{k:100},0,0,this),this.a=PropertyFactory.getProp(t,l.a,0,0.01,this),!this.dynamicProperties.length)this.getValue()}r.prototype={getMult:function t(l){if(this._currentTextLength!==this.elem.textProperty.currentData.l.length)this.getValue();var o=0,s=0,d=1,c=1;if(this.ne.v>0)o=this.ne.v/100;else s=-this.ne.v/100;if(this.xe.v>0)d=1-this.xe.v/100;else c=1+this.xe.v/100;var m=BezierFactory.getBezierEasing(o,s,d,c).get,h=0,f=this.finalS,v=this.finalE,g=this.data.sh;if(g===2){if(v===f)h=l>=v?1:0;else h=a(0,e(0.5/(v-f)+(l-f)/(v-f),1));h=m(h)}else if(g===3){if(v===f)h=l>=v?0:1;else h=1-a(0,e(0.5/(v-f)+(l-f)/(v-f),1));h=m(h)}else if(g===4){if(v===f)h=0;else if(h=a(0,e(0.5/(v-f)+(l-f)/(v-f),1)),h<0.5)h*=2;else h=1-2*(h-0.5);h=m(h)}else if(g===5){if(v===f)h=0;else{var x=v-f;l=e(a(0,l+0.5-f),v-f);var z=-x/2+l,p=x/2;h=Math.sqrt(1-z*z/(p*p))}h=m(h)}else if(g===6){if(v===f)h=0;else l=e(a(0,l+0.5-f),v-f),h=(1+Math.cos(Math.PI+Math.PI*2*l/(v-f)))/2;h=m(h)}else{if(l>=i(f))if(l-f<0)h=a(0,e(e(v,1)-(f-l),1));else h=a(0,e(v-l,1));h=m(h)}if(this.sm.v!==100){var w=this.sm.v*0.01;if(w===0)w=0.00000001;var b=0.5-w*0.5;if(h<b)h=0;else if(h=(h-b)/w,h>1)h=1}return h*this.a.v},getValue:function t(l){if(this.iterateDynamicProperties(),this._mdf=l||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,l&&this.data.r===2)this.e.v=this._currentTextLength;var o=this.data.r===2?1:100/this.data.totalChars,s=this.o.v/o,d=this.s.v/o+s,c=this.e.v/o+s;if(d>c){var m=d;d=c,c=m}this.finalS=d,this.finalE=c}},extendPrototype([DynamicPropertyContainer],r);function n(t,l,o){return new r(t,l,o)}return{getTextSelectorProp:n}}();function TextAnimatorDataProperty(a,e,i){var r={propType:!1},n=PropertyFactory.getProp,t=e.a;this.a={r:t.r?n(a,t.r,0,degToRads,i):r,rx:t.rx?n(a,t.rx,0,degToRads,i):r,ry:t.ry?n(a,t.ry,0,degToRads,i):r,sk:t.sk?n(a,t.sk,0,degToRads,i):r,sa:t.sa?n(a,t.sa,0,degToRads,i):r,s:t.s?n(a,t.s,1,0.01,i):r,a:t.a?n(a,t.a,1,0,i):r,o:t.o?n(a,t.o,0,0.01,i):r,p:t.p?n(a,t.p,1,0,i):r,sw:t.sw?n(a,t.sw,0,0,i):r,sc:t.sc?n(a,t.sc,1,0,i):r,fc:t.fc?n(a,t.fc,1,0,i):r,fh:t.fh?n(a,t.fh,0,0,i):r,fs:t.fs?n(a,t.fs,0,0.01,i):r,fb:t.fb?n(a,t.fb,0,0.01,i):r,t:t.t?n(a,t.t,0,0,i):r},this.s=TextSelectorProp.getTextSelectorProp(a,e.s,i),this.s.t=e.s.t}function TextAnimatorProperty(a,e,i){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=a,this._renderType=e,this._elem=i,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(i)}TextAnimatorProperty.prototype.searchProperties=function(){var a,e=this._textData.a.length,i,r=PropertyFactory.getProp;for(a=0;a<e;a+=1)i=this._textData.a[a],this._animatorsData[a]=new TextAnimatorDataProperty(this._elem,i,this);if(this._textData.p&&"m"in this._textData.p)this._pathData={a:r(this._elem,this._textData.p.a,0,0,this),f:r(this._elem,this._textData.p.f,0,0,this),l:r(this._elem,this._textData.p.l,0,0,this),r:r(this._elem,this._textData.p.r,0,0,this),p:r(this._elem,this._textData.p.p,0,0,this),m:this._elem.maskManager.getMaskProperty(this._textData.p.m)},this._hasMaskedPath=!0;else this._hasMaskedPath=!1;this._moreOptions.alignment=r(this._elem,this._textData.m.a,1,0,this)},TextAnimatorProperty.prototype.getMeasures=function(a,e){if(this.lettersChangedFlag=e,!this._mdf&&!this._isFirstFrame&&!e&&(!this._hasMaskedPath||!this._pathData.m._mdf))return;this._isFirstFrame=!1;var i=this._moreOptions.alignment.v,r=this._animatorsData,n=this._textData,t=this.mHelper,l=this._renderType,o=this.renderedLetters.length,s,d,c,m,h=a.l,f,v,g,x,z,p,w,b,y,I,O,K,j,T,A;if(this._hasMaskedPath){if(A=this._pathData.m,!this._pathData.n||this._pathData._mdf){var V=A.v;if(this._pathData.r.v)V=V.reverse();f={tLength:0,segments:[]},m=V._length-1;var N;K=0;for(c=0;c<m;c+=1)N=bez.buildBezierData(V.v[c],V.v[c+1],[V.o[c][0]-V.v[c][0],V.o[c][1]-V.v[c][1]],[V.i[c+1][0]-V.v[c+1][0],V.i[c+1][1]-V.v[c+1][1]]),f.tLength+=N.segmentLength,f.segments.push(N),K+=N.segmentLength;if(c=m,A.v.c)N=bez.buildBezierData(V.v[c],V.v[0],[V.o[c][0]-V.v[c][0],V.o[c][1]-V.v[c][1]],[V.i[0][0]-V.v[0][0],V.i[0][1]-V.v[0][1]]),f.tLength+=N.segmentLength,f.segments.push(N),K+=N.segmentLength;this._pathData.pi=f}if(f=this._pathData.pi,v=this._pathData.f.v,w=0,p=1,x=0,z=!0,I=f.segments,v<0&&A.v.c){if(f.tLength<Math.abs(v))v=-Math.abs(v)%f.tLength;w=I.length-1,y=I[w].points,p=y.length-1;while(v<0)if(v+=y[p].partialLength,p-=1,p<0)w-=1,y=I[w].points,p=y.length-1}y=I[w].points,b=y[p-1],g=y[p],O=g.partialLength}m=h.length,s=0,d=0;var G=a.finalSize*1.2*0.714,D=!0,F,E,H,M,Q;M=r.length;var L,_=-1,i1,l1,c1,k1=v,A1=w,ia=p,ta=-1,T1,X1,ra,y1,r1,ga,ya,ua,wa="",xa=this.defaultPropsArray,da;if(a.j===2||a.j===1){var D1=0,Da=0,Na=a.j===2?-0.5:-1,Za=0,Ga=!0;for(c=0;c<m;c+=1)if(h[c].n){if(D1)D1+=Da;while(Za<c)h[Za].animatorJustifyOffset=D1,Za+=1;D1=0,Ga=!0}else{for(H=0;H<M;H+=1)if(F=r[H].a,F.t.propType){if(Ga&&a.j===2)Da+=F.t.v*Na;if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),L.length)D1+=F.t.v*L[0]*Na;else D1+=F.t.v*L*Na}Ga=!1}if(D1)D1+=Da;while(Za<c)h[Za].animatorJustifyOffset=D1,Za+=1}for(c=0;c<m;c+=1){if(t.reset(),T1=1,h[c].n){if(s=0,d+=a.yOffset,d+=D?1:0,v=k1,D=!1,this._hasMaskedPath)w=A1,p=ia,y=I[w].points,b=y[p-1],g=y[p],O=g.partialLength,x=0;wa="",ua="",ga="",da="",xa=this.defaultPropsArray}else{if(this._hasMaskedPath){if(ta!==h[c].line){switch(a.j){case 1:v+=K-a.lineWidths[h[c].line];break;case 2:v+=(K-a.lineWidths[h[c].line])/2;break;default:break}ta=h[c].line}if(_!==h[c].ind){if(h[_])v+=h[_].extra;v+=h[c].an/2,_=h[c].ind}v+=i[0]*h[c].an*0.005;var Ia=0;for(H=0;H<M;H+=1){if(F=r[H].a,F.p.propType)if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),L.length)Ia+=F.p.v[0]*L[0];else Ia+=F.p.v[0]*L;if(F.a.propType)if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),L.length)Ia+=F.a.v[0]*L[0];else Ia+=F.a.v[0]*L}if(z=!0,this._pathData.a.v)v=h[0].an*0.5+(K-this._pathData.f.v-h[0].an*0.5-h[h.length-1].an*0.5)*_/(m-1),v+=this._pathData.f.v;while(z)if(x+O>=v+Ia||!y)j=(v+Ia-x)/g.partialLength,l1=b.point[0]+(g.point[0]-b.point[0])*j,c1=b.point[1]+(g.point[1]-b.point[1])*j,t.translate(-i[0]*h[c].an*0.005,-(i[1]*G)*0.01),z=!1;else if(y){if(x+=g.partialLength,p+=1,p>=y.length)if(p=0,w+=1,!I[w])if(A.v.c)p=0,w=0,y=I[w].points;else x-=g.partialLength,y=null;else y=I[w].points;if(y)b=g,g=y[p],O=g.partialLength}i1=h[c].an/2-h[c].add,t.translate(-i1,0,0)}else i1=h[c].an/2-h[c].add,t.translate(-i1,0,0),t.translate(-i[0]*h[c].an*0.005,-i[1]*G*0.01,0);for(H=0;H<M;H+=1)if(F=r[H].a,F.t.propType){if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),s!==0||a.j!==0)if(this._hasMaskedPath)if(L.length)v+=F.t.v*L[0];else v+=F.t.v*L;else if(L.length)s+=F.t.v*L[0];else s+=F.t.v*L}if(a.strokeWidthAnim)ra=a.sw||0;if(a.strokeColorAnim)if(a.sc)X1=[a.sc[0],a.sc[1],a.sc[2]];else X1=[0,0,0];if(a.fillColorAnim&&a.fc)y1=[a.fc[0],a.fc[1],a.fc[2]];for(H=0;H<M;H+=1)if(F=r[H].a,F.a.propType)if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),L.length)t.translate(-F.a.v[0]*L[0],-F.a.v[1]*L[1],F.a.v[2]*L[2]);else t.translate(-F.a.v[0]*L,-F.a.v[1]*L,F.a.v[2]*L);for(H=0;H<M;H+=1)if(F=r[H].a,F.s.propType)if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),L.length)t.scale(1+(F.s.v[0]-1)*L[0],1+(F.s.v[1]-1)*L[1],1);else t.scale(1+(F.s.v[0]-1)*L,1+(F.s.v[1]-1)*L,1);for(H=0;H<M;H+=1){if(F=r[H].a,E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),F.sk.propType)if(L.length)t.skewFromAxis(-F.sk.v*L[0],F.sa.v*L[1]);else t.skewFromAxis(-F.sk.v*L,F.sa.v*L);if(F.r.propType)if(L.length)t.rotateZ(-F.r.v*L[2]);else t.rotateZ(-F.r.v*L);if(F.ry.propType)if(L.length)t.rotateY(F.ry.v*L[1]);else t.rotateY(F.ry.v*L);if(F.rx.propType)if(L.length)t.rotateX(F.rx.v*L[0]);else t.rotateX(F.rx.v*L);if(F.o.propType)if(L.length)T1+=(F.o.v*L[0]-T1)*L[0];else T1+=(F.o.v*L-T1)*L;if(a.strokeWidthAnim&&F.sw.propType)if(L.length)ra+=F.sw.v*L[0];else ra+=F.sw.v*L;if(a.strokeColorAnim&&F.sc.propType)for(r1=0;r1<3;r1+=1)if(L.length)X1[r1]+=(F.sc.v[r1]-X1[r1])*L[0];else X1[r1]+=(F.sc.v[r1]-X1[r1])*L;if(a.fillColorAnim&&a.fc){if(F.fc.propType)for(r1=0;r1<3;r1+=1)if(L.length)y1[r1]+=(F.fc.v[r1]-y1[r1])*L[0];else y1[r1]+=(F.fc.v[r1]-y1[r1])*L;if(F.fh.propType)if(L.length)y1=addHueToRGB(y1,F.fh.v*L[0]);else y1=addHueToRGB(y1,F.fh.v*L);if(F.fs.propType)if(L.length)y1=addSaturationToRGB(y1,F.fs.v*L[0]);else y1=addSaturationToRGB(y1,F.fs.v*L);if(F.fb.propType)if(L.length)y1=addBrightnessToRGB(y1,F.fb.v*L[0]);else y1=addBrightnessToRGB(y1,F.fb.v*L)}}for(H=0;H<M;H+=1)if(F=r[H].a,F.p.propType)if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),this._hasMaskedPath)if(L.length)t.translate(0,F.p.v[1]*L[0],-F.p.v[2]*L[1]);else t.translate(0,F.p.v[1]*L,-F.p.v[2]*L);else if(L.length)t.translate(F.p.v[0]*L[0],F.p.v[1]*L[1],-F.p.v[2]*L[2]);else t.translate(F.p.v[0]*L,F.p.v[1]*L,-F.p.v[2]*L);if(a.strokeWidthAnim)ga=ra<0?0:ra;if(a.strokeColorAnim)ya="rgb("+Math.round(X1[0]*255)+","+Math.round(X1[1]*255)+","+Math.round(X1[2]*255)+")";if(a.fillColorAnim&&a.fc)ua="rgb("+Math.round(y1[0]*255)+","+Math.round(y1[1]*255)+","+Math.round(y1[2]*255)+")";if(this._hasMaskedPath){if(t.translate(0,-a.ls),t.translate(0,i[1]*G*0.01+d,0),this._pathData.p.v){T=(g.point[1]-b.point[1])/(g.point[0]-b.point[0]);var s0=Math.atan(T)*180/Math.PI;if(g.point[0]<b.point[0])s0+=180;t.rotate(-s0*Math.PI/180)}if(t.translate(l1,c1,0),v-=i[0]*h[c].an*0.005,h[c+1]&&_!==h[c+1].ind)v+=h[c].an/2,v+=a.tr*0.001*a.finalSize}else{if(t.translate(s,d,0),a.ps)t.translate(a.ps[0],a.ps[1]+a.ascent,0);switch(a.j){case 1:t.translate(h[c].animatorJustifyOffset+a.justifyOffset+(a.boxWidth-a.lineWidths[h[c].line]),0,0);break;case 2:t.translate(h[c].animatorJustifyOffset+a.justifyOffset+(a.boxWidth-a.lineWidths[h[c].line])/2,0,0);break;default:break}t.translate(0,-a.ls),t.translate(i1,0,0),t.translate(i[0]*h[c].an*0.005,i[1]*G*0.01,0),s+=h[c].l+a.tr*0.001*a.finalSize}if(l==="html")wa=t.toCSS();else if(l==="svg")wa=t.to2dCSS();else xa=[t.props[0],t.props[1],t.props[2],t.props[3],t.props[4],t.props[5],t.props[6],t.props[7],t.props[8],t.props[9],t.props[10],t.props[11],t.props[12],t.props[13],t.props[14],t.props[15]];da=T1}if(o<=c)Q=new LetterProps(da,ga,ya,ua,wa,xa),this.renderedLetters.push(Q),o+=1,this.lettersChangedFlag=!0;else Q=this.renderedLetters[c],this.lettersChangedFlag=Q.update(da,ga,ya,ua,wa,xa)||this.lettersChangedFlag}},TextAnimatorProperty.prototype.getValue=function(){if(this._elem.globalData.frameId===this._frameId)return;this._frameId=this._elem.globalData.frameId,this.iterateDynamicProperties()},TextAnimatorProperty.prototype.mHelper=new Matrix,TextAnimatorProperty.prototype.defaultPropsArray=[],extendPrototype([DynamicPropertyContainer],TextAnimatorProperty);function ITextElement(){}ITextElement.prototype.initElement=function(a,e,i){this.lettersChangedFlag=!0,this.initFrame(),this.initBaseData(a,e,i),this.textProperty=new TextProperty(this,a.t,this.dynamicProperties),this.textAnimator=new TextAnimatorProperty(a.t,this.renderType,this),this.initTransform(a,e,i),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide(),this.textAnimator.searchProperties(this.dynamicProperties)},ITextElement.prototype.prepareFrame=function(a){this._mdf=!1,this.prepareRenderableFrame(a),this.prepareProperties(a,this.isInRange)},ITextElement.prototype.createPathShape=function(a,e){var i,r=e.length,n,t="";for(i=0;i<r;i+=1)if(e[i].ty==="sh")n=e[i].ks.k,t+=buildShapeString(n,n.i.length,!0,a);return t},ITextElement.prototype.updateDocumentData=function(a,e){this.textProperty.updateDocumentData(a,e)},ITextElement.prototype.canResizeFont=function(a){this.textProperty.canResizeFont(a)},ITextElement.prototype.setMinimumFontSize=function(a){this.textProperty.setMinimumFontSize(a)},ITextElement.prototype.applyTextPropertiesToMatrix=function(a,e,i,r,n){if(a.ps)e.translate(a.ps[0],a.ps[1]+a.ascent,0);switch(e.translate(0,-a.ls,0),a.j){case 1:e.translate(a.justifyOffset+(a.boxWidth-a.lineWidths[i]),0,0);break;case 2:e.translate(a.justifyOffset+(a.boxWidth-a.lineWidths[i])/2,0,0);break;default:break}e.translate(r,n,0)},ITextElement.prototype.buildColor=function(a){return"rgb("+Math.round(a[0]*255)+","+Math.round(a[1]*255)+","+Math.round(a[2]*255)+")"},ITextElement.prototype.emptyProp=new LetterProps,ITextElement.prototype.destroy=function(){},ITextElement.prototype.validateText=function(){if(this.textProperty._mdf||this.textProperty._isFirstFrame)this.buildNewText(),this.textProperty._isFirstFrame=!1,this.textProperty._mdf=!1};var emptyShapeData={shapes:[]};function SVGTextLottieElement(a,e,i){this.textSpans=[],this.renderType="svg",this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],SVGTextLottieElement),SVGTextLottieElement.prototype.createContent=function(){if(this.data.singleShape&&!this.globalData.fontManager.chars)this.textContainer=createNS("text")},SVGTextLottieElement.prototype.buildTextContents=function(a){var e=0,i=a.length,r=[],n="";while(e<i){if(a[e]===String.fromCharCode(13)||a[e]===String.fromCharCode(3))r.push(n),n="";else n+=a[e];e+=1}return r.push(n),r},SVGTextLottieElement.prototype.buildShapeData=function(a,e){if(a.shapes&&a.shapes.length){var i=a.shapes[0];if(i.it){var r=i.it[i.it.length-1];if(r.s)r.s.k[0]=e,r.s.k[1]=e}}return a},SVGTextLottieElement.prototype.buildNewText=function(){this.addDynamicProperty(this);var a,e,i=this.textProperty.currentData;if(this.renderedLetters=createSizedArray(i?i.l.length:0),i.fc)this.layerElement.setAttribute("fill",this.buildColor(i.fc));else this.layerElement.setAttribute("fill","rgba(0,0,0,0)");if(i.sc)this.layerElement.setAttribute("stroke",this.buildColor(i.sc)),this.layerElement.setAttribute("stroke-width",i.sw);this.layerElement.setAttribute("font-size",i.finalSize);var r=this.globalData.fontManager.getFontByName(i.f);if(r.fClass)this.layerElement.setAttribute("class",r.fClass);else{this.layerElement.setAttribute("font-family",r.fFamily);var{fWeight:n,fStyle:t}=i;this.layerElement.setAttribute("font-style",t),this.layerElement.setAttribute("font-weight",n)}this.layerElement.setAttribute("aria-label",i.t);var l=i.l||[],o=!!this.globalData.fontManager.chars;e=l.length;var s,d=this.mHelper,c="",m=this.data.singleShape,h=0,f=0,v=!0,g=i.tr*0.001*i.finalSize;if(m&&!o&&!i.sz){var x=this.textContainer,z="start";switch(i.j){case 1:z="end";break;case 2:z="middle";break;default:z="start";break}x.setAttribute("text-anchor",z),x.setAttribute("letter-spacing",g);var p=this.buildTextContents(i.finalText);e=p.length,f=i.ps?i.ps[1]+i.ascent:0;for(a=0;a<e;a+=1){if(s=this.textSpans[a].span||createNS("tspan"),s.textContent=p[a],s.setAttribute("x",0),s.setAttribute("y",f),s.style.display="inherit",x.appendChild(s),!this.textSpans[a])this.textSpans[a]={span:null,glyph:null};this.textSpans[a].span=s,f+=i.finalLineHeight}this.layerElement.appendChild(x)}else{var w=this.textSpans.length,b;for(a=0;a<e;a+=1){if(!this.textSpans[a])this.textSpans[a]={span:null,childSpan:null,glyph:null};if(!o||!m||a===0){if(s=w>a?this.textSpans[a].span:createNS(o?"g":"text"),w<=a){if(s.setAttribute("stroke-linecap","butt"),s.setAttribute("stroke-linejoin","round"),s.setAttribute("stroke-miterlimit","4"),this.textSpans[a].span=s,o){var y=createNS("g");s.appendChild(y),this.textSpans[a].childSpan=y}this.textSpans[a].span=s,this.layerElement.appendChild(s)}s.style.display="inherit"}if(d.reset(),m){if(l[a].n)h=-g,f+=i.yOffset,f+=v?1:0,v=!1;this.applyTextPropertiesToMatrix(i,d,l[a].line,h,f),h+=l[a].l||0,h+=g}if(o){b=this.globalData.fontManager.getCharData(i.finalText[a],r.fStyle,this.globalData.fontManager.getFontByName(i.f).fFamily);var I;if(b.t===1)I=new SVGCompElement(b.data,this.globalData,this);else{var O=emptyShapeData;if(b.data&&b.data.shapes)O=this.buildShapeData(b.data,i.finalSize);I=new SVGShapeElement(O,this.globalData,this)}if(this.textSpans[a].glyph){var K=this.textSpans[a].glyph;this.textSpans[a].childSpan.removeChild(K.layerElement),K.destroy()}if(this.textSpans[a].glyph=I,I._debug=!0,I.prepareFrame(0),I.renderFrame(),this.textSpans[a].childSpan.appendChild(I.layerElement),b.t===1)this.textSpans[a].childSpan.setAttribute("transform","scale("+i.finalSize/100+","+i.finalSize/100+")")}else{if(m)s.setAttribute("transform","translate("+d.props[12]+","+d.props[13]+")");s.textContent=l[a].val,s.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}}if(m&&s)s.setAttribute("d",c)}while(a<this.textSpans.length)this.textSpans[a].span.style.display="none",a+=1;this._sizeChanged=!0},SVGTextLottieElement.prototype.sourceRectAtTime=function(){if(this.prepareFrame(this.comp.renderedFrame-this.data.st),this.renderInnerContent(),this._sizeChanged){this._sizeChanged=!1;var a=this.layerElement.getBBox();this.bbox={top:a.y,left:a.x,width:a.width,height:a.height}}return this.bbox},SVGTextLottieElement.prototype.getValue=function(){var a,e=this.textSpans.length,i;this.renderedFrame=this.comp.renderedFrame;for(a=0;a<e;a+=1)if(i=this.textSpans[a].glyph,i){if(i.prepareFrame(this.comp.renderedFrame-this.data.st),i._mdf)this._mdf=!0}},SVGTextLottieElement.prototype.renderInnerContent=function(){if(this.validateText(),!this.data.singleShape||this._mdf){if(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag){this._sizeChanged=!0;var a,e,i=this.textAnimator.renderedLetters,r=this.textProperty.currentData.l;e=r.length;var n,t,l;for(a=0;a<e;a+=1)if(!r[a].n){if(n=i[a],t=this.textSpans[a].span,l=this.textSpans[a].glyph,l)l.renderFrame();if(n._mdf.m)t.setAttribute("transform",n.m);if(n._mdf.o)t.setAttribute("opacity",n.o);if(n._mdf.sw)t.setAttribute("stroke-width",n.sw);if(n._mdf.sc)t.setAttribute("stroke",n.sc);if(n._mdf.fc)t.setAttribute("fill",n.fc)}}}};function ISolidElement(a,e,i){this.initElement(a,e,i)}extendPrototype([IImageElement],ISolidElement),ISolidElement.prototype.createContent=function(){var a=createNS("rect");a.setAttribute("width",this.data.sw),a.setAttribute("height",this.data.sh),a.setAttribute("fill",this.data.sc),this.layerElement.appendChild(a)};function NullElement(a,e,i){this.initFrame(),this.initBaseData(a,e,i),this.initFrame(),this.initTransform(a,e,i),this.initHierarchy()}NullElement.prototype.prepareFrame=function(a){this.prepareProperties(a,!0)},NullElement.prototype.renderFrame=function(){},NullElement.prototype.getBaseElement=function(){return null},NullElement.prototype.destroy=function(){},NullElement.prototype.sourceRectAtTime=function(){},NullElement.prototype.hide=function(){},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement],NullElement);function SVGRendererBase(){}extendPrototype([BaseRenderer],SVGRendererBase),SVGRendererBase.prototype.createNull=function(a){return new NullElement(a,this.globalData,this)},SVGRendererBase.prototype.createShape=function(a){return new SVGShapeElement(a,this.globalData,this)},SVGRendererBase.prototype.createText=function(a){return new SVGTextLottieElement(a,this.globalData,this)},SVGRendererBase.prototype.createImage=function(a){return new IImageElement(a,this.globalData,this)},SVGRendererBase.prototype.createSolid=function(a){return new ISolidElement(a,this.globalData,this)},SVGRendererBase.prototype.configAnimation=function(a){if(this.svgElement.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.svgElement.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),this.renderConfig.viewBoxSize)this.svgElement.setAttribute("viewBox",this.renderConfig.viewBoxSize);else this.svgElement.setAttribute("viewBox","0 0 "+a.w+" "+a.h);if(!this.renderConfig.viewBoxOnly)this.svgElement.setAttribute("width",a.w),this.svgElement.setAttribute("height",a.h),this.svgElement.style.width="100%",this.svgElement.style.height="100%",this.svgElement.style.transform="translate3d(0,0,0)",this.svgElement.style.contentVisibility=this.renderConfig.contentVisibility;if(this.renderConfig.width)this.svgElement.setAttribute("width",this.renderConfig.width);if(this.renderConfig.height)this.svgElement.setAttribute("height",this.renderConfig.height);if(this.renderConfig.className)this.svgElement.setAttribute("class",this.renderConfig.className);if(this.renderConfig.id)this.svgElement.setAttribute("id",this.renderConfig.id);if(this.renderConfig.focusable!==void 0)this.svgElement.setAttribute("focusable",this.renderConfig.focusable);this.svgElement.setAttribute("preserveAspectRatio",this.renderConfig.preserveAspectRatio),this.animationItem.wrapper.appendChild(this.svgElement);var e=this.globalData.defs;this.setupGlobalData(a,e),this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.data=a;var i=createNS("clipPath"),r=createNS("rect");r.setAttribute("width",a.w),r.setAttribute("height",a.h),r.setAttribute("x",0),r.setAttribute("y",0);var n=createElementID();i.setAttribute("id",n),i.appendChild(r),this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+n+")"),e.appendChild(i),this.layers=a.layers,this.elements=createSizedArray(a.layers.length)},SVGRendererBase.prototype.destroy=function(){if(this.animationItem.wrapper)this.animationItem.wrapper.innerText="";this.layerElement=null,this.globalData.defs=null;var a,e=this.layers?this.layers.length:0;for(a=0;a<e;a+=1)if(this.elements[a]&&this.elements[a].destroy)this.elements[a].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},SVGRendererBase.prototype.updateContainerSize=function(){},SVGRendererBase.prototype.findIndexByInd=function(a){var e=0,i=this.layers.length;for(e=0;e<i;e+=1)if(this.layers[e].ind===a)return e;return-1},SVGRendererBase.prototype.buildItem=function(a){var e=this.elements;if(e[a]||this.layers[a].ty===99)return;e[a]=!0;var i=this.createItem(this.layers[a]);if(e[a]=i,getExpressionsPlugin()){if(this.layers[a].ty===0)this.globalData.projectInterface.registerComposition(i);i.initExpressions()}if(this.appendElementInPos(i,a),this.layers[a].tt){var r="tp"in this.layers[a]?this.findIndexByInd(this.layers[a].tp):a-1;if(r===-1)return;if(!this.elements[r]||this.elements[r]===!0)this.buildItem(r),this.addPendingElement(i);else{var n=e[r],t=n.getMatte(this.layers[a].tt);i.setMatte(t)}}},SVGRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var a=this.pendingElements.pop();if(a.checkParenting(),a.data.tt){var e=0,i=this.elements.length;while(e<i){if(this.elements[e]===a){var r="tp"in a.data?this.findIndexByInd(a.data.tp):e-1,n=this.elements[r],t=n.getMatte(this.layers[e].tt);a.setMatte(t);break}e+=1}}}},SVGRendererBase.prototype.renderFrame=function(a){if(this.renderedFrame===a||this.destroyed)return;if(a===null)a=this.renderedFrame;else this.renderedFrame=a;this.globalData.frameNum=a,this.globalData.frameId+=1,this.globalData.projectInterface.currentFrame=a,this.globalData._mdf=!1;var e,i=this.layers.length;if(!this.completeLayers)this.checkLayers(a);for(e=i-1;e>=0;e-=1)if(this.completeLayers||this.elements[e])this.elements[e].prepareFrame(a-this.layers[e].st);if(this.globalData._mdf){for(e=0;e<i;e+=1)if(this.completeLayers||this.elements[e])this.elements[e].renderFrame()}},SVGRendererBase.prototype.appendElementInPos=function(a,e){var i=a.getBaseElement();if(!i)return;var r=0,n;while(r<e){if(this.elements[r]&&this.elements[r]!==!0&&this.elements[r].getBaseElement())n=this.elements[r].getBaseElement();r+=1}if(n)this.layerElement.insertBefore(i,n);else this.layerElement.appendChild(i)},SVGRendererBase.prototype.hide=function(){this.layerElement.style.display="none"},SVGRendererBase.prototype.show=function(){this.layerElement.style.display="block"};function ICompElement(){}extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement,RenderableDOMElement],ICompElement),ICompElement.prototype.initElement=function(a,e,i){if(this.initFrame(),this.initBaseData(a,e,i),this.initTransform(a,e,i),this.initRenderable(),this.initHierarchy(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.data.xt||!e.progressiveLoad)this.buildAllItems();this.hide()},ICompElement.prototype.prepareFrame=function(a){if(this._mdf=!1,this.prepareRenderableFrame(a),this.prepareProperties(a,this.isInRange),!this.isInRange&&!this.data.xt)return;if(!this.tm._placeholder){var e=this.tm.v;if(e===this.data.op)e=this.data.op-1;this.renderedFrame=e}else this.renderedFrame=a/this.data.sr;var i,r=this.elements.length;if(!this.completeLayers)this.checkLayers(this.renderedFrame);for(i=r-1;i>=0;i-=1)if(this.completeLayers||this.elements[i]){if(this.elements[i].prepareFrame(this.renderedFrame-this.layers[i].st),this.elements[i]._mdf)this._mdf=!0}},ICompElement.prototype.renderInnerContent=function(){var a,e=this.layers.length;for(a=0;a<e;a+=1)if(this.completeLayers||this.elements[a])this.elements[a].renderFrame()},ICompElement.prototype.setElements=function(a){this.elements=a},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroyElements=function(){var a,e=this.layers.length;for(a=0;a<e;a+=1)if(this.elements[a])this.elements[a].destroy()},ICompElement.prototype.destroy=function(){this.destroyElements(),this.destroyBaseElement()};function SVGCompElement(a,e,i){this.layers=a.layers,this.supports3d=!0,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(a,e,i),this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,e.frameRate,this):{_placeholder:!0}}extendPrototype([SVGRendererBase,ICompElement,SVGBaseElement],SVGCompElement),SVGCompElement.prototype.createComp=function(a){return new SVGCompElement(a,this.globalData,this)};function SVGRenderer(a,e){this.animationItem=a,this.layers=null,this.renderedFrame=-1,this.svgElement=createNS("svg");var i="";if(e&&e.title){var r=createNS("title"),n=createElementID();r.setAttribute("id",n),r.textContent=e.title,this.svgElement.appendChild(r),i+=n}if(e&&e.description){var t=createNS("desc"),l=createElementID();t.setAttribute("id",l),t.textContent=e.description,this.svgElement.appendChild(t),i+=" "+l}if(i)this.svgElement.setAttribute("aria-labelledby",i);var o=createNS("defs");this.svgElement.appendChild(o);var s=createNS("g");this.svgElement.appendChild(s),this.layerElement=s,this.renderConfig={preserveAspectRatio:e&&e.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:e&&e.contentVisibility||"visible",progressiveLoad:e&&e.progressiveLoad||!1,hideOnTransparent:!(e&&e.hideOnTransparent===!1),viewBoxOnly:e&&e.viewBoxOnly||!1,viewBoxSize:e&&e.viewBoxSize||!1,className:e&&e.className||"",id:e&&e.id||"",focusable:e&&e.focusable,filterSize:{width:e&&e.filterSize&&e.filterSize.width||"100%",height:e&&e.filterSize&&e.filterSize.height||"100%",x:e&&e.filterSize&&e.filterSize.x||"0%",y:e&&e.filterSize&&e.filterSize.y||"0%"},width:e&&e.width,height:e&&e.height,runExpressions:!e||e.runExpressions===void 0||e.runExpressions},this.globalData={_mdf:!1,frameNum:-1,defs:o,renderConfig:this.renderConfig},this.elements=[],this.pendingElements=[],this.destroyed=!1,this.rendererType="svg"}extendPrototype([SVGRendererBase],SVGRenderer),SVGRenderer.prototype.createComp=function(a){return new SVGCompElement(a,this.globalData,this)};function ShapeTransformManager(){this.sequences={},this.sequenceList=[],this.transform_key_count=0}ShapeTransformManager.prototype={addTransformSequence:function a(e){var i,r=e.length,n="_";for(i=0;i<r;i+=1)n+=e[i].transform.key+"_";var t=this.sequences[n];if(!t)t={transforms:[].concat(e),finalTransform:new Matrix,_mdf:!1},this.sequences[n]=t,this.sequenceList.push(t);return t},processSequence:function a(e,i){var r=0,n=e.transforms.length,t=i;while(r<n&&!i){if(e.transforms[r].transform.mProps._mdf){t=!0;break}r+=1}if(t){e.finalTransform.reset();for(r=n-1;r>=0;r-=1)e.finalTransform.multiply(e.transforms[r].transform.mProps.v)}e._mdf=t},processSequences:function a(e){var i,r=this.sequenceList.length;for(i=0;i<r;i+=1)this.processSequence(this.sequenceList[i],e)},getNewKey:function a(){return this.transform_key_count+=1,"_"+this.transform_key_count}};var lumaLoader=function a(){var e="__lottie_element_luma_buffer",i=null,r=null,n=null;function t(){var s=createNS("svg"),d=createNS("filter"),c=createNS("feColorMatrix");if(d.setAttribute("id",e),c.setAttribute("type","matrix"),c.setAttribute("color-interpolation-filters","sRGB"),c.setAttribute("values","0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0"),d.appendChild(c),s.appendChild(d),s.setAttribute("id",e+"_svg"),featureSupport.svgLumaHidden)s.style.display="none";return s}function l(){if(!i)n=t(),document.body.appendChild(n),i=createTag("canvas"),r=i.getContext("2d"),r.filter="url(#"+e+")",r.fillStyle="rgba(0,0,0,0)",r.fillRect(0,0,1,1)}function o(s){if(!i)l();return i.width=s.width,i.height=s.height,r.filter="url(#"+e+")",i}return{load:l,get:o}};function createCanvas(a,e){if(featureSupport.offscreenCanvas)return new OffscreenCanvas(a,e);var i=createTag("canvas");return i.width=a,i.height=e,i}var assetLoader=function(){return{loadLumaCanvas:lumaLoader.load,getLumaCanvas:lumaLoader.get,createCanvas}}(),registeredEffects={};function CVEffects(a){var e,i=a.data.ef?a.data.ef.length:0;this.filters=[];var r;for(e=0;e<i;e+=1){r=null;var n=a.data.ef[e].ty;if(registeredEffects[n]){var t=registeredEffects[n].effect;r=new t(a.effectsManager.effectElements[e],a)}if(r)this.filters.push(r)}if(this.filters.length)a.addRenderableComponent(this)}CVEffects.prototype.renderFrame=function(a){var e,i=this.filters.length;for(e=0;e<i;e+=1)this.filters[e].renderFrame(a)},CVEffects.prototype.getEffects=function(a){var e,i=this.filters.length,r=[];for(e=0;e<i;e+=1)if(this.filters[e].type===a)r.push(this.filters[e]);return r};function registerEffect(a,e){registeredEffects[a]={effect:e}}function CVMaskElement(a,e){this.data=a,this.element=e,this.masksProperties=this.data.masksProperties||[],this.viewData=createSizedArray(this.masksProperties.length);var i,r=this.masksProperties.length,n=!1;for(i=0;i<r;i+=1){if(this.masksProperties[i].mode!=="n")n=!0;this.viewData[i]=ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[i],3)}if(this.hasMasks=n,n)this.element.addRenderableComponent(this)}CVMaskElement.prototype.renderFrame=function(){if(!this.hasMasks)return;var a=this.element.finalTransform.mat,e=this.element.canvasContext,i,r=this.masksProperties.length,n,t,l;e.beginPath();for(i=0;i<r;i+=1)if(this.masksProperties[i].mode!=="n"){if(this.masksProperties[i].inv)e.moveTo(0,0),e.lineTo(this.element.globalData.compSize.w,0),e.lineTo(this.element.globalData.compSize.w,this.element.globalData.compSize.h),e.lineTo(0,this.element.globalData.compSize.h),e.lineTo(0,0);l=this.viewData[i].v,n=a.applyToPointArray(l.v[0][0],l.v[0][1],0),e.moveTo(n[0],n[1]);var o,s=l._length;for(o=1;o<s;o+=1)t=a.applyToTriplePoints(l.o[o-1],l.i[o],l.v[o]),e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]);t=a.applyToTriplePoints(l.o[o-1],l.i[0],l.v[0]),e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5])}this.element.globalData.renderer.save(!0),e.clip()},CVMaskElement.prototype.getMaskProperty=MaskElement.prototype.getMaskProperty,CVMaskElement.prototype.destroy=function(){this.element=null};function CVBaseElement(){}var operationsMap={1:"source-in",2:"source-out",3:"source-in",4:"source-out"};CVBaseElement.prototype={createElements:function a(){},initRendererElement:function a(){},createContainerElements:function a(){if(this.data.tt>=1){this.buffers=[];var e=this.globalData.canvasContext,i=assetLoader.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(i);var r=assetLoader.createCanvas(e.canvas.width,e.canvas.height);if(this.buffers.push(r),this.data.tt>=3&&!document._isProxy)assetLoader.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms()},createContent:function a(){},setBlendMode:function a(){var e=this.globalData;if(e.blendMode!==this.data.bm){e.blendMode=this.data.bm;var i=getBlendMode(this.data.bm);e.canvasContext.globalCompositeOperation=i}},createRenderableComponents:function a(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)},hideElement:function a(){if(!this.hidden&&(!this.isInRange||this.isTransparent))this.hidden=!0},showElement:function a(){if(this.isInRange&&!this.isTransparent)this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0},clearCanvas:function a(e){e.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function a(){if(this.data.tt>=1){var e=this.buffers[0],i=e.getContext("2d");this.clearCanvas(i),i.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function a(){if(this.data.tt>=1){var e=this.buffers[1],i=e.getContext("2d");this.clearCanvas(i),i.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);var r=this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1);if(r.renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var n=assetLoader.getLumaCanvas(this.canvasContext.canvas),t=n.getContext("2d");t.drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(n,0,0)}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(e,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function a(e){if(this.hidden||this.data.hd)return;if(this.data.td===1&&!e)return;this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var i=this.data.ty===0;if(this.prepareLayer(),this.globalData.renderer.save(i),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(i),this.exitLayer(),this.maskManager.hasMasks)this.globalData.renderer.restore(!0);if(this._isFirstFrame)this._isFirstFrame=!1},destroy:function a(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement;function CVShapeData(a,e,i,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var n=4;if(e.ty==="rc")n=5;else if(e.ty==="el")n=6;else if(e.ty==="sr")n=7;this.sh=ShapePropertyFactory.getShapeProp(a,e,n,a);var t,l=i.length,o;for(t=0;t<l;t+=1)if(!i[t].closed)o={transforms:r.addTransformSequence(i[t].transforms),trNodes:[]},this.styledShapes.push(o),i[t].elements.push(o)}CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated;function CVShapeElement(a,e,i){this.shapes=[],this.shapesData=a.shapes,this.stylesList=[],this.itemsData=[],this.prevViewData=[],this.shapeModifiers=[],this.processedElements=[],this.transformsManager=new ShapeTransformManager,this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement),CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement,CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[])},CVShapeElement.prototype.createStyleElement=function(a,e){var i={data:a,type:a.ty,preTransforms:this.transformsManager.addTransformSequence(e),transforms:[],elements:[],closed:a.hd===!0},r={};if(a.ty==="fl"||a.ty==="st"){if(r.c=PropertyFactory.getProp(this,a.c,1,255,this),!r.c.k)i.co="rgb("+bmFloor(r.c.v[0])+","+bmFloor(r.c.v[1])+","+bmFloor(r.c.v[2])+")"}else if(a.ty==="gf"||a.ty==="gs")r.s=PropertyFactory.getProp(this,a.s,1,null,this),r.e=PropertyFactory.getProp(this,a.e,1,null,this),r.h=PropertyFactory.getProp(this,a.h||{k:0},0,0.01,this),r.a=PropertyFactory.getProp(this,a.a||{k:0},0,degToRads,this),r.g=new GradientProperty(this,a.g,this);if(r.o=PropertyFactory.getProp(this,a.o,0,0.01,this),a.ty==="st"||a.ty==="gs"){if(i.lc=lineCapEnum[a.lc||2],i.lj=lineJoinEnum[a.lj||2],a.lj==1)i.ml=a.ml;if(r.w=PropertyFactory.getProp(this,a.w,0,null,this),!r.w.k)i.wi=r.w.v;if(a.d){var n=new DashProperty(this,a.d,"canvas",this);if(r.d=n,!r.d.k)i.da=r.d.dashArray,i.do=r.d.dashoffset[0]}}else i.r=a.r===2?"evenodd":"nonzero";return this.stylesList.push(i),r.style=i,r},CVShapeElement.prototype.createGroupElement=function(){var a={it:[],prevViewData:[]};return a},CVShapeElement.prototype.createTransformElement=function(a){var e={transform:{opacity:1,_opMdf:!1,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,a.o,0,0.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,a,this)}};return e},CVShapeElement.prototype.createShapeElement=function(a){var e=new CVShapeData(this,a,this.stylesList,this.transformsManager);return this.shapes.push(e),this.addShapeToModifiers(e),e},CVShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var a,e=this.itemsData.length;for(a=0;a<e;a+=1)this.prevViewData[a]=this.itemsData[a];this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[]),e=this.dynamicProperties.length;for(a=0;a<e;a+=1)this.dynamicProperties[a].getValue();this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame)},CVShapeElement.prototype.addTransformToStyleList=function(a){var e,i=this.stylesList.length;for(e=0;e<i;e+=1)if(!this.stylesList[e].closed)this.stylesList[e].transforms.push(a)},CVShapeElement.prototype.removeTransformFromStyleList=function(){var a,e=this.stylesList.length;for(a=0;a<e;a+=1)if(!this.stylesList[a].closed)this.stylesList[a].transforms.pop()},CVShapeElement.prototype.closeStyles=function(a){var e,i=a.length;for(e=0;e<i;e+=1)a[e].closed=!0},CVShapeElement.prototype.searchShapes=function(a,e,i,r,n){var t,l=a.length-1,o,s,d=[],c=[],m,h,f,v=[].concat(n);for(t=l;t>=0;t-=1){if(m=this.searchProcessedElement(a[t]),!m)a[t]._shouldRender=r;else e[t]=i[m-1];if(a[t].ty==="fl"||a[t].ty==="st"||a[t].ty==="gf"||a[t].ty==="gs"){if(!m)e[t]=this.createStyleElement(a[t],v);else e[t].style.closed=!1;d.push(e[t].style)}else if(a[t].ty==="gr"){if(!m)e[t]=this.createGroupElement(a[t]);else{s=e[t].it.length;for(o=0;o<s;o+=1)e[t].prevViewData[o]=e[t].it[o]}this.searchShapes(a[t].it,e[t].it,e[t].prevViewData,r,v)}else if(a[t].ty==="tr"){if(!m)f=this.createTransformElement(a[t]),e[t]=f;v.push(e[t]),this.addTransformToStyleList(e[t])}else if(a[t].ty==="sh"||a[t].ty==="rc"||a[t].ty==="el"||a[t].ty==="sr"){if(!m)e[t]=this.createShapeElement(a[t])}else if(a[t].ty==="tm"||a[t].ty==="rd"||a[t].ty==="pb"||a[t].ty==="zz"||a[t].ty==="op"){if(!m)h=ShapeModifiers.getModifier(a[t].ty),h.init(this,a[t]),e[t]=h,this.shapeModifiers.push(h);else h=e[t],h.closed=!1;c.push(h)}else if(a[t].ty==="rp"){if(!m)h=ShapeModifiers.getModifier(a[t].ty),e[t]=h,h.init(this,a,t,e),this.shapeModifiers.push(h),r=!1;else h=e[t],h.closed=!0;c.push(h)}this.addProcessedElement(a[t],t+1)}this.removeTransformFromStyleList(),this.closeStyles(d),l=c.length;for(t=0;t<l;t+=1)c[t].closed=!0},CVShapeElement.prototype.renderInnerContent=function(){this.transformHelper.opacity=1,this.transformHelper._opMdf=!1,this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame),this.renderShape(this.transformHelper,this.shapesData,this.itemsData,!0)},CVShapeElement.prototype.renderShapeTransform=function(a,e){if(a._opMdf||e.op._mdf||this._isFirstFrame)e.opacity=a.opacity,e.opacity*=e.op.v,e._opMdf=!0},CVShapeElement.prototype.drawLayer=function(){var a,e=this.stylesList.length,i,r,n,t,l,o,s=this.globalData.renderer,d=this.globalData.canvasContext,c,m;for(a=0;a<e;a+=1)if(m=this.stylesList[a],c=m.type,!((c==="st"||c==="gs")&&m.wi===0||!m.data._shouldRender||m.coOp===0||this.globalData.currentGlobalAlpha===0)){if(s.save(),l=m.elements,c==="st"||c==="gs")s.ctxStrokeStyle(c==="st"?m.co:m.grd),s.ctxLineWidth(m.wi),s.ctxLineCap(m.lc),s.ctxLineJoin(m.lj),s.ctxMiterLimit(m.ml||0);else s.ctxFillStyle(c==="fl"?m.co:m.grd);if(s.ctxOpacity(m.coOp),c!=="st"&&c!=="gs")d.beginPath();s.ctxTransform(m.preTransforms.finalTransform.props),r=l.length;for(i=0;i<r;i+=1){if(c==="st"||c==="gs"){if(d.beginPath(),m.da)d.setLineDash(m.da),d.lineDashOffset=m.do}o=l[i].trNodes,t=o.length;for(n=0;n<t;n+=1)if(o[n].t==="m")d.moveTo(o[n].p[0],o[n].p[1]);else if(o[n].t==="c")d.bezierCurveTo(o[n].pts[0],o[n].pts[1],o[n].pts[2],o[n].pts[3],o[n].pts[4],o[n].pts[5]);else d.closePath();if(c==="st"||c==="gs"){if(s.ctxStroke(),m.da)d.setLineDash(this.dashResetter)}}if(c!=="st"&&c!=="gs")this.globalData.renderer.ctxFill(m.r);s.restore()}},CVShapeElement.prototype.renderShape=function(a,e,i,r){var n,t=e.length-1,l;l=a;for(n=t;n>=0;n-=1)if(e[n].ty==="tr")l=i[n].transform,this.renderShapeTransform(a,l);else if(e[n].ty==="sh"||e[n].ty==="el"||e[n].ty==="rc"||e[n].ty==="sr")this.renderPath(e[n],i[n]);else if(e[n].ty==="fl")this.renderFill(e[n],i[n],l);else if(e[n].ty==="st")this.renderStroke(e[n],i[n],l);else if(e[n].ty==="gf"||e[n].ty==="gs")this.renderGradientFill(e[n],i[n],l);else if(e[n].ty==="gr")this.renderShape(l,e[n].it,i[n].it);else if(e[n].ty==="tm");if(r)this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(a,e){if(this._isFirstFrame||e._mdf||a.transforms._mdf){var i=a.trNodes,r=e.paths,n,t,l,o=r._length;i.length=0;var s=a.transforms.finalTransform;for(l=0;l<o;l+=1){var d=r.shapes[l];if(d&&d.v){t=d._length;for(n=1;n<t;n+=1){if(n===1)i.push({t:"m",p:s.applyToPointArray(d.v[0][0],d.v[0][1],0)});i.push({t:"c",pts:s.applyToTriplePoints(d.o[n-1],d.i[n],d.v[n])})}if(t===1)i.push({t:"m",p:s.applyToPointArray(d.v[0][0],d.v[0][1],0)});if(d.c&&t)i.push({t:"c",pts:s.applyToTriplePoints(d.o[n-1],d.i[0],d.v[0])}),i.push({t:"z"})}}a.trNodes=i}},CVShapeElement.prototype.renderPath=function(a,e){if(a.hd!==!0&&a._shouldRender){var i,r=e.styledShapes.length;for(i=0;i<r;i+=1)this.renderStyledShape(e.styledShapes[i],e.sh)}},CVShapeElement.prototype.renderFill=function(a,e,i){var r=e.style;if(e.c._mdf||this._isFirstFrame)r.co="rgb("+bmFloor(e.c.v[0])+","+bmFloor(e.c.v[1])+","+bmFloor(e.c.v[2])+")";if(e.o._mdf||i._opMdf||this._isFirstFrame)r.coOp=e.o.v*i.opacity},CVShapeElement.prototype.renderGradientFill=function(a,e,i){var r=e.style,n;if(!r.grd||e.g._mdf||e.s._mdf||e.e._mdf||a.t!==1&&(e.h._mdf||e.a._mdf)){var t=this.globalData.canvasContext,l=e.s.v,o=e.e.v;if(a.t===1)n=t.createLinearGradient(l[0],l[1],o[0],o[1]);else{var s=Math.sqrt(Math.pow(l[0]-o[0],2)+Math.pow(l[1]-o[1],2)),d=Math.atan2(o[1]-l[1],o[0]-l[0]),c=e.h.v;if(c>=1)c=0.99;else if(c<=-1)c=-0.99;var m=s*c,h=Math.cos(d+e.a.v)*m+l[0],f=Math.sin(d+e.a.v)*m+l[1];n=t.createRadialGradient(h,f,0,l[0],l[1],s)}var v,g=a.g.p,x=e.g.c,z=1;for(v=0;v<g;v+=1){if(e.g._hasOpacity&&e.g._collapsable)z=e.g.o[v*2+1];n.addColorStop(x[v*4]/100,"rgba("+x[v*4+1]+","+x[v*4+2]+","+x[v*4+3]+","+z+")")}r.grd=n}r.coOp=e.o.v*i.opacity},CVShapeElement.prototype.renderStroke=function(a,e,i){var{style:r,d:n}=e;if(n&&(n._mdf||this._isFirstFrame))r.da=n.dashArray,r.do=n.dashoffset[0];if(e.c._mdf||this._isFirstFrame)r.co="rgb("+bmFloor(e.c.v[0])+","+bmFloor(e.c.v[1])+","+bmFloor(e.c.v[2])+")";if(e.o._mdf||i._opMdf||this._isFirstFrame)r.coOp=e.o.v*i.opacity;if(e.w._mdf||this._isFirstFrame)r.wi=e.w.v},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.itemsData.length=0};function CVTextElement(a,e,i){this.textSpans=[],this.yOffset=0,this.fillColorAnim=!1,this.strokeColorAnim=!1,this.strokeWidthAnim=!1,this.stroke=!1,this.fill=!1,this.justifyOffset=0,this.currentRender=null,this.renderType="canvas",this.values={fill:"rgba(0,0,0,0)",stroke:"rgba(0,0,0,0)",sWidth:0,fValue:""},this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement],CVTextElement),CVTextElement.prototype.tHelper=createTag("canvas").getContext("2d"),CVTextElement.prototype.buildNewText=function(){var a=this.textProperty.currentData;this.renderedLetters=createSizedArray(a.l?a.l.length:0);var e=!1;if(a.fc)e=!0,this.values.fill=this.buildColor(a.fc);else this.values.fill="rgba(0,0,0,0)";this.fill=e;var i=!1;if(a.sc)i=!0,this.values.stroke=this.buildColor(a.sc),this.values.sWidth=a.sw;var r=this.globalData.fontManager.getFontByName(a.f),n,t,l=a.l,o=this.mHelper;this.stroke=i,this.values.fValue=a.finalSize+"px "+this.globalData.fontManager.getFontByName(a.f).fFamily,t=a.finalText.length;var s,d,c,m,h,f,v,g,x,z,p=this.data.singleShape,w=a.tr*0.001*a.finalSize,b=0,y=0,I=!0,O=0;for(n=0;n<t;n+=1){if(s=this.globalData.fontManager.getCharData(a.finalText[n],r.fStyle,this.globalData.fontManager.getFontByName(a.f).fFamily),d=s&&s.data||{},o.reset(),p&&l[n].n)b=-w,y+=a.yOffset,y+=I?1:0,I=!1;if(h=d.shapes?d.shapes[0].it:[],v=h.length,o.scale(a.finalSize/100,a.finalSize/100),p)this.applyTextPropertiesToMatrix(a,o,l[n].line,b,y);x=createSizedArray(v-1);var K=0;for(f=0;f<v;f+=1)if(h[f].ty==="sh"){m=h[f].ks.k.i.length,g=h[f].ks.k,z=[];for(c=1;c<m;c+=1){if(c===1)z.push(o.applyToX(g.v[0][0],g.v[0][1],0),o.applyToY(g.v[0][0],g.v[0][1],0));z.push(o.applyToX(g.o[c-1][0],g.o[c-1][1],0),o.applyToY(g.o[c-1][0],g.o[c-1][1],0),o.applyToX(g.i[c][0],g.i[c][1],0),o.applyToY(g.i[c][0],g.i[c][1],0),o.applyToX(g.v[c][0],g.v[c][1],0),o.applyToY(g.v[c][0],g.v[c][1],0))}z.push(o.applyToX(g.o[c-1][0],g.o[c-1][1],0),o.applyToY(g.o[c-1][0],g.o[c-1][1],0),o.applyToX(g.i[0][0],g.i[0][1],0),o.applyToY(g.i[0][0],g.i[0][1],0),o.applyToX(g.v[0][0],g.v[0][1],0),o.applyToY(g.v[0][0],g.v[0][1],0)),x[K]=z,K+=1}if(p)b+=l[n].l,b+=w;if(this.textSpans[O])this.textSpans[O].elem=x;else this.textSpans[O]={elem:x};O+=1}},CVTextElement.prototype.renderInnerContent=function(){this.validateText();var a=this.canvasContext;if(a.font=this.values.fValue,this.globalData.renderer.ctxLineCap("butt"),this.globalData.renderer.ctxLineJoin("miter"),this.globalData.renderer.ctxMiterLimit(4),!this.data.singleShape)this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);var e,i,r,n,t,l,o=this.textAnimator.renderedLetters,s=this.textProperty.currentData.l;i=s.length;var d,c=null,m=null,h=null,f,v,g=this.globalData.renderer;for(e=0;e<i;e+=1)if(!s[e].n){if(d=o[e],d)g.save(),g.ctxTransform(d.p),g.ctxOpacity(d.o);if(this.fill){if(d&&d.fc){if(c!==d.fc)g.ctxFillStyle(d.fc),c=d.fc}else if(c!==this.values.fill)c=this.values.fill,g.ctxFillStyle(this.values.fill);f=this.textSpans[e].elem,n=f.length,this.globalData.canvasContext.beginPath();for(r=0;r<n;r+=1){v=f[r],l=v.length,this.globalData.canvasContext.moveTo(v[0],v[1]);for(t=2;t<l;t+=6)this.globalData.canvasContext.bezierCurveTo(v[t],v[t+1],v[t+2],v[t+3],v[t+4],v[t+5])}this.globalData.canvasContext.closePath(),g.ctxFill()}if(this.stroke){if(d&&d.sw){if(h!==d.sw)h=d.sw,g.ctxLineWidth(d.sw)}else if(h!==this.values.sWidth)h=this.values.sWidth,g.ctxLineWidth(this.values.sWidth);if(d&&d.sc){if(m!==d.sc)m=d.sc,g.ctxStrokeStyle(d.sc)}else if(m!==this.values.stroke)m=this.values.stroke,g.ctxStrokeStyle(this.values.stroke);f=this.textSpans[e].elem,n=f.length,this.globalData.canvasContext.beginPath();for(r=0;r<n;r+=1){v=f[r],l=v.length,this.globalData.canvasContext.moveTo(v[0],v[1]);for(t=2;t<l;t+=6)this.globalData.canvasContext.bezierCurveTo(v[t],v[t+1],v[t+2],v[t+3],v[t+4],v[t+5])}this.globalData.canvasContext.closePath(),g.ctxStroke()}if(d)this.globalData.renderer.restore()}};function CVImageElement(a,e,i){this.assetData=e.getAssetData(a.refId),this.img=e.imageLoader.getAsset(this.assetData),this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVImageElement),CVImageElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVImageElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVImageElement.prototype.createContent=function(){if(this.img.width&&(this.assetData.w!==this.img.width||this.assetData.h!==this.img.height)){var a=createTag("canvas");a.width=this.assetData.w,a.height=this.assetData.h;var e=a.getContext("2d"),i=this.img.width,r=this.img.height,n=i/r,t=this.assetData.w/this.assetData.h,l,o,s=this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio;if(n>t&&s==="xMidYMid slice"||n<t&&s!=="xMidYMid slice")o=r,l=o*t;else l=i,o=l/t;e.drawImage(this.img,(i-l)/2,(r-o)/2,l,o,0,0,this.assetData.w,this.assetData.h),this.img=a}},CVImageElement.prototype.renderInnerContent=function(){this.canvasContext.drawImage(this.img,0,0)},CVImageElement.prototype.destroy=function(){this.img=null};function CVSolidElement(a,e,i){this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVSolidElement),CVSolidElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVSolidElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVSolidElement.prototype.renderInnerContent=function(){this.globalData.renderer.ctxFillStyle(this.data.sc),this.globalData.renderer.ctxFillRect(0,0,this.data.sw,this.data.sh)};function CanvasRendererBase(){}extendPrototype([BaseRenderer],CanvasRendererBase),CanvasRendererBase.prototype.createShape=function(a){return new CVShapeElement(a,this.globalData,this)},CanvasRendererBase.prototype.createText=function(a){return new CVTextElement(a,this.globalData,this)},CanvasRendererBase.prototype.createImage=function(a){return new CVImageElement(a,this.globalData,this)},CanvasRendererBase.prototype.createSolid=function(a){return new CVSolidElement(a,this.globalData,this)},CanvasRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,CanvasRendererBase.prototype.ctxTransform=function(a){if(a[0]===1&&a[1]===0&&a[4]===0&&a[5]===1&&a[12]===0&&a[13]===0)return;this.canvasContext.transform(a[0],a[1],a[4],a[5],a[12],a[13])},CanvasRendererBase.prototype.ctxOpacity=function(a){this.canvasContext.globalAlpha*=a<0?0:a},CanvasRendererBase.prototype.ctxFillStyle=function(a){this.canvasContext.fillStyle=a},CanvasRendererBase.prototype.ctxStrokeStyle=function(a){this.canvasContext.strokeStyle=a},CanvasRendererBase.prototype.ctxLineWidth=function(a){this.canvasContext.lineWidth=a},CanvasRendererBase.prototype.ctxLineCap=function(a){this.canvasContext.lineCap=a},CanvasRendererBase.prototype.ctxLineJoin=function(a){this.canvasContext.lineJoin=a},CanvasRendererBase.prototype.ctxMiterLimit=function(a){this.canvasContext.miterLimit=a},CanvasRendererBase.prototype.ctxFill=function(a){this.canvasContext.fill(a)},CanvasRendererBase.prototype.ctxFillRect=function(a,e,i,r){this.canvasContext.fillRect(a,e,i,r)},CanvasRendererBase.prototype.ctxStroke=function(){this.canvasContext.stroke()},CanvasRendererBase.prototype.reset=function(){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}this.contextData.reset()},CanvasRendererBase.prototype.save=function(){this.canvasContext.save()},CanvasRendererBase.prototype.restore=function(a){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}if(a)this.globalData.blendMode="source-over";this.contextData.restore(a)},CanvasRendererBase.prototype.configAnimation=function(a){if(this.animationItem.wrapper){this.animationItem.container=createTag("canvas");var e=this.animationItem.container.style;e.width="100%",e.height="100%";var i="0px 0px 0px";if(e.transformOrigin=i,e.mozTransformOrigin=i,e.webkitTransformOrigin=i,e["-webkit-transform"]=i,e.contentVisibility=this.renderConfig.contentVisibility,this.animationItem.wrapper.appendChild(this.animationItem.container),this.canvasContext=this.animationItem.container.getContext("2d"),this.renderConfig.className)this.animationItem.container.setAttribute("class",this.renderConfig.className);if(this.renderConfig.id)this.animationItem.container.setAttribute("id",this.renderConfig.id)}else this.canvasContext=this.renderConfig.context;this.contextData.setContext(this.canvasContext),this.data=a,this.layers=a.layers,this.transformCanvas={w:a.w,h:a.h,sx:0,sy:0,tx:0,ty:0},this.setupGlobalData(a,document.body),this.globalData.canvasContext=this.canvasContext,this.globalData.renderer=this,this.globalData.isDashed=!1,this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.globalData.transformCanvas=this.transformCanvas,this.elements=createSizedArray(a.layers.length),this.updateContainerSize()},CanvasRendererBase.prototype.updateContainerSize=function(a,e){this.reset();var i,r;if(a)i=a,r=e,this.canvasContext.canvas.width=i,this.canvasContext.canvas.height=r;else{if(this.animationItem.wrapper&&this.animationItem.container)i=this.animationItem.wrapper.offsetWidth,r=this.animationItem.wrapper.offsetHeight;else i=this.canvasContext.canvas.width,r=this.canvasContext.canvas.height;this.canvasContext.canvas.width=i*this.renderConfig.dpr,this.canvasContext.canvas.height=r*this.renderConfig.dpr}var n,t;if(this.renderConfig.preserveAspectRatio.indexOf("meet")!==-1||this.renderConfig.preserveAspectRatio.indexOf("slice")!==-1){var l=this.renderConfig.preserveAspectRatio.split(" "),o=l[1]||"meet",s=l[0]||"xMidYMid",d=s.substr(0,4),c=s.substr(4);if(n=i/r,t=this.transformCanvas.w/this.transformCanvas.h,t>n&&o==="meet"||t<n&&o==="slice")this.transformCanvas.sx=i/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=i/(this.transformCanvas.w/this.renderConfig.dpr);else this.transformCanvas.sx=r/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.sy=r/(this.transformCanvas.h/this.renderConfig.dpr);if(d==="xMid"&&(t<n&&o==="meet"||t>n&&o==="slice"))this.transformCanvas.tx=(i-this.transformCanvas.w*(r/this.transformCanvas.h))/2*this.renderConfig.dpr;else if(d==="xMax"&&(t<n&&o==="meet"||t>n&&o==="slice"))this.transformCanvas.tx=(i-this.transformCanvas.w*(r/this.transformCanvas.h))*this.renderConfig.dpr;else this.transformCanvas.tx=0;if(c==="YMid"&&(t>n&&o==="meet"||t<n&&o==="slice"))this.transformCanvas.ty=(r-this.transformCanvas.h*(i/this.transformCanvas.w))/2*this.renderConfig.dpr;else if(c==="YMax"&&(t>n&&o==="meet"||t<n&&o==="slice"))this.transformCanvas.ty=(r-this.transformCanvas.h*(i/this.transformCanvas.w))*this.renderConfig.dpr;else this.transformCanvas.ty=0}else if(this.renderConfig.preserveAspectRatio==="none")this.transformCanvas.sx=i/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=r/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.tx=0,this.transformCanvas.ty=0;else this.transformCanvas.sx=this.renderConfig.dpr,this.transformCanvas.sy=this.renderConfig.dpr,this.transformCanvas.tx=0,this.transformCanvas.ty=0;this.transformCanvas.props=[this.transformCanvas.sx,0,0,0,0,this.transformCanvas.sy,0,0,0,0,1,0,this.transformCanvas.tx,this.transformCanvas.ty,0,1],this.ctxTransform(this.transformCanvas.props),this.canvasContext.beginPath(),this.canvasContext.rect(0,0,this.transformCanvas.w,this.transformCanvas.h),this.canvasContext.closePath(),this.canvasContext.clip(),this.renderFrame(this.renderedFrame,!0)},CanvasRendererBase.prototype.destroy=function(){if(this.renderConfig.clearCanvas&&this.animationItem.wrapper)this.animationItem.wrapper.innerText="";var a,e=this.layers?this.layers.length:0;for(a=e-1;a>=0;a-=1)if(this.elements[a]&&this.elements[a].destroy)this.elements[a].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(a,e){if(this.renderedFrame===a&&this.renderConfig.clearCanvas===!0&&!e||this.destroyed||a===-1)return;this.renderedFrame=a,this.globalData.frameNum=a-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||e,this.globalData.projectInterface.currentFrame=a;var i,r=this.layers.length;if(!this.completeLayers)this.checkLayers(a);for(i=r-1;i>=0;i-=1)if(this.completeLayers||this.elements[i])this.elements[i].prepareFrame(a-this.layers[i].st);if(this.globalData._mdf){if(this.renderConfig.clearCanvas===!0)this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h);else this.save();for(i=r-1;i>=0;i-=1)if(this.completeLayers||this.elements[i])this.elements[i].renderFrame();if(this.renderConfig.clearCanvas!==!0)this.restore()}},CanvasRendererBase.prototype.buildItem=function(a){var e=this.elements;if(e[a]||this.layers[a].ty===99)return;var i=this.createItem(this.layers[a],this,this.globalData);e[a]=i,i.initExpressions()},CanvasRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var a=this.pendingElements.pop();a.checkParenting()}},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"};function CanvasContext(){this.opacity=-1,this.transform=createTypedArray("float32",16),this.fillStyle="",this.strokeStyle="",this.lineWidth="",this.lineCap="",this.lineJoin="",this.miterLimit="",this.id=Math.random()}function CVContextData(){this.stack=[],this.cArrPos=0,this.cTr=new Matrix;var a,e=15;for(a=0;a<e;a+=1){var i=new CanvasContext;this.stack[a]=i}this._length=e,this.nativeContext=null,this.transformMat=new Matrix,this.currentOpacity=1,this.currentFillStyle="",this.appliedFillStyle="",this.currentStrokeStyle="",this.appliedStrokeStyle="",this.currentLineWidth="",this.appliedLineWidth="",this.currentLineCap="",this.appliedLineCap="",this.currentLineJoin="",this.appliedLineJoin="",this.appliedMiterLimit="",this.currentMiterLimit=""}CVContextData.prototype.duplicate=function(){var a=this._length*2,e=0;for(e=this._length;e<a;e+=1)this.stack[e]=new CanvasContext;this._length=a},CVContextData.prototype.reset=function(){this.cArrPos=0,this.cTr.reset(),this.stack[this.cArrPos].opacity=1},CVContextData.prototype.restore=function(a){this.cArrPos-=1;var e=this.stack[this.cArrPos],i=e.transform,r,n=this.cTr.props;for(r=0;r<16;r+=1)n[r]=i[r];if(a){this.nativeContext.restore();var t=this.stack[this.cArrPos+1];this.appliedFillStyle=t.fillStyle,this.appliedStrokeStyle=t.strokeStyle,this.appliedLineWidth=t.lineWidth,this.appliedLineCap=t.lineCap,this.appliedLineJoin=t.lineJoin,this.appliedMiterLimit=t.miterLimit}if(this.nativeContext.setTransform(i[0],i[1],i[4],i[5],i[12],i[13]),a||e.opacity!==-1&&this.currentOpacity!==e.opacity)this.nativeContext.globalAlpha=e.opacity,this.currentOpacity=e.opacity;this.currentFillStyle=e.fillStyle,this.currentStrokeStyle=e.strokeStyle,this.currentLineWidth=e.lineWidth,this.currentLineCap=e.lineCap,this.currentLineJoin=e.lineJoin,this.currentMiterLimit=e.miterLimit},CVContextData.prototype.save=function(a){if(a)this.nativeContext.save();var e=this.cTr.props;if(this._length<=this.cArrPos)this.duplicate();var i=this.stack[this.cArrPos],r;for(r=0;r<16;r+=1)i.transform[r]=e[r];this.cArrPos+=1;var n=this.stack[this.cArrPos];n.opacity=i.opacity,n.fillStyle=i.fillStyle,n.strokeStyle=i.strokeStyle,n.lineWidth=i.lineWidth,n.lineCap=i.lineCap,n.lineJoin=i.lineJoin,n.miterLimit=i.miterLimit},CVContextData.prototype.setOpacity=function(a){this.stack[this.cArrPos].opacity=a},CVContextData.prototype.setContext=function(a){this.nativeContext=a},CVContextData.prototype.fillStyle=function(a){if(this.stack[this.cArrPos].fillStyle!==a)this.currentFillStyle=a,this.stack[this.cArrPos].fillStyle=a},CVContextData.prototype.strokeStyle=function(a){if(this.stack[this.cArrPos].strokeStyle!==a)this.currentStrokeStyle=a,this.stack[this.cArrPos].strokeStyle=a},CVContextData.prototype.lineWidth=function(a){if(this.stack[this.cArrPos].lineWidth!==a)this.currentLineWidth=a,this.stack[this.cArrPos].lineWidth=a},CVContextData.prototype.lineCap=function(a){if(this.stack[this.cArrPos].lineCap!==a)this.currentLineCap=a,this.stack[this.cArrPos].lineCap=a},CVContextData.prototype.lineJoin=function(a){if(this.stack[this.cArrPos].lineJoin!==a)this.currentLineJoin=a,this.stack[this.cArrPos].lineJoin=a},CVContextData.prototype.miterLimit=function(a){if(this.stack[this.cArrPos].miterLimit!==a)this.currentMiterLimit=a,this.stack[this.cArrPos].miterLimit=a},CVContextData.prototype.transform=function(a){this.transformMat.cloneFromProps(a);var e=this.cTr;this.transformMat.multiply(e),e.cloneFromProps(this.transformMat.props);var i=e.props;this.nativeContext.setTransform(i[0],i[1],i[4],i[5],i[12],i[13])},CVContextData.prototype.opacity=function(a){var e=this.stack[this.cArrPos].opacity;if(e*=a<0?0:a,this.stack[this.cArrPos].opacity!==e){if(this.currentOpacity!==a)this.nativeContext.globalAlpha=a,this.currentOpacity=a;this.stack[this.cArrPos].opacity=e}},CVContextData.prototype.fill=function(a){if(this.appliedFillStyle!==this.currentFillStyle)this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle;this.nativeContext.fill(a)},CVContextData.prototype.fillRect=function(a,e,i,r){if(this.appliedFillStyle!==this.currentFillStyle)this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle;this.nativeContext.fillRect(a,e,i,r)},CVContextData.prototype.stroke=function(){if(this.appliedStrokeStyle!==this.currentStrokeStyle)this.appliedStrokeStyle=this.currentStrokeStyle,this.nativeContext.strokeStyle=this.appliedStrokeStyle;if(this.appliedLineWidth!==this.currentLineWidth)this.appliedLineWidth=this.currentLineWidth,this.nativeContext.lineWidth=this.appliedLineWidth;if(this.appliedLineCap!==this.currentLineCap)this.appliedLineCap=this.currentLineCap,this.nativeContext.lineCap=this.appliedLineCap;if(this.appliedLineJoin!==this.currentLineJoin)this.appliedLineJoin=this.currentLineJoin,this.nativeContext.lineJoin=this.appliedLineJoin;if(this.appliedMiterLimit!==this.currentMiterLimit)this.appliedMiterLimit=this.currentMiterLimit,this.nativeContext.miterLimit=this.appliedMiterLimit;this.nativeContext.stroke()};function CVCompElement(a,e,i){this.completeLayers=!1,this.layers=a.layers,this.pendingElements=[],this.elements=createSizedArray(this.layers.length),this.initElement(a,e,i),this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,e.frameRate,this):{_placeholder:!0}}extendPrototype([CanvasRendererBase,ICompElement,CVBaseElement],CVCompElement),CVCompElement.prototype.renderInnerContent=function(){var a=this.canvasContext;a.beginPath(),a.moveTo(0,0),a.lineTo(this.data.w,0),a.lineTo(this.data.w,this.data.h),a.lineTo(0,this.data.h),a.lineTo(0,0),a.clip();var e,i=this.layers.length;for(e=i-1;e>=0;e-=1)if(this.completeLayers||this.elements[e])this.elements[e].renderFrame()},CVCompElement.prototype.destroy=function(){var a,e=this.layers.length;for(a=e-1;a>=0;a-=1)if(this.elements[a])this.elements[a].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(a){return new CVCompElement(a,this.globalData,this)};function CanvasRenderer(a,e){if(this.animationItem=a,this.renderConfig={clearCanvas:e&&e.clearCanvas!==void 0?e.clearCanvas:!0,context:e&&e.context||null,progressiveLoad:e&&e.progressiveLoad||!1,preserveAspectRatio:e&&e.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:e&&e.contentVisibility||"visible",className:e&&e.className||"",id:e&&e.id||"",runExpressions:!e||e.runExpressions===void 0||e.runExpressions},this.renderConfig.dpr=e&&e.dpr||1,this.animationItem.wrapper)this.renderConfig.dpr=e&&e.dpr||window.devicePixelRatio||1;if(this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new CVContextData,this.elements=[],this.pendingElements=[],this.transformMat=new Matrix,this.completeLayers=!1,this.rendererType="canvas",this.renderConfig.clearCanvas)this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData)}extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(a){return new CVCompElement(a,this.globalData,this)};function HBaseElement(){}HBaseElement.prototype={checkBlendMode:function a(){},initRendererElement:function a(){if(this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask)this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement);else this.layerElement=this.baseElement;styleDiv(this.baseElement)},createContainerElements:function a(){if(this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln)this.layerElement.setAttribute("id",this.data.ln);if(this.data.cl)this.layerElement.setAttribute("class",this.data.cl);if(this.data.bm!==0)this.setBlendMode()},renderElement:function a(){var e=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var i=this.finalTransform.mat.toCSS();e.transform=i,e.webkitTransform=i}if(this.finalTransform._opMdf)e.opacity=this.finalTransform.mProp.o.v},renderFrame:function a(){if(this.data.hd||this.hidden)return;if(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame)this._isFirstFrame=!1},destroy:function a(){if(this.layerElement=null,this.transformedElement=null,this.matteElement)this.matteElement=null;if(this.maskManager)this.maskManager.destroy(),this.maskManager=null},createRenderableComponents:function a(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function a(){},setMatte:function a(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting;function HSolidElement(a,e,i){this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var a;if(this.data.hasMask)a=createNS("rect"),a.setAttribute("width",this.data.sw),a.setAttribute("height",this.data.sh),a.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh);else a=createTag("div"),a.style.width=this.data.sw+"px",a.style.height=this.data.sh+"px",a.style.backgroundColor=this.data.sc;this.layerElement.appendChild(a)};function HShapeElement(a,e,i){this.shapes=[],this.shapesData=a.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.shapesContainer=createNS("g"),this.initElement(a,e,i),this.prevViewData=[],this.currentBBox={x:999999,y:-999999,h:0,w:0}}extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var a;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),a=this.svgElement;else{a=createNS("svg");var e=this.comp.data?this.comp.data:this.globalData.compSize;a.setAttribute("width",e.w),a.setAttribute("height",e.h),a.appendChild(this.shapesContainer),this.layerElement.appendChild(a)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=a},HShapeElement.prototype.getTransformedPoint=function(a,e){var i,r=a.length;for(i=0;i<r;i+=1)e=a[i].mProps.v.applyToPointArray(e[0],e[1],0);return e},HShapeElement.prototype.calculateShapeBoundingBox=function(a,e){var i=a.sh.v,r=a.transformers,n,t=i._length,l,o,s,d;if(t<=1)return;for(n=0;n<t-1;n+=1)l=this.getTransformedPoint(r,i.v[n]),o=this.getTransformedPoint(r,i.o[n]),s=this.getTransformedPoint(r,i.i[n+1]),d=this.getTransformedPoint(r,i.v[n+1]),this.checkBounds(l,o,s,d,e);if(i.c)l=this.getTransformedPoint(r,i.v[n]),o=this.getTransformedPoint(r,i.o[n]),s=this.getTransformedPoint(r,i.i[0]),d=this.getTransformedPoint(r,i.v[0]),this.checkBounds(l,o,s,d,e)},HShapeElement.prototype.checkBounds=function(a,e,i,r,n){this.getBoundsOfCurve(a,e,i,r);var t=this.shapeBoundingBox;n.x=bmMin(t.left,n.x),n.xMax=bmMax(t.right,n.xMax),n.y=bmMin(t.top,n.y),n.yMax=bmMax(t.bottom,n.yMax)},HShapeElement.prototype.shapeBoundingBox={left:0,right:0,top:0,bottom:0},HShapeElement.prototype.tempBoundingBox={x:0,xMax:0,y:0,yMax:0,width:0,height:0},HShapeElement.prototype.getBoundsOfCurve=function(a,e,i,r){var n=[[a[0],r[0]],[a[1],r[1]]];for(var t,l,o,s,d,c,m,h=0;h<2;++h)if(l=6*a[h]-12*e[h]+6*i[h],t=-3*a[h]+9*e[h]-9*i[h]+3*r[h],o=3*e[h]-3*a[h],l|=0,t|=0,o|=0,t===0&&l===0);else if(t===0){if(s=-o/l,s>0&&s<1)n[h].push(this.calculateF(s,a,e,i,r,h))}else if(d=l*l-4*o*t,d>=0){if(c=(-l+bmSqrt(d))/(2*t),c>0&&c<1)n[h].push(this.calculateF(c,a,e,i,r,h));if(m=(-l-bmSqrt(d))/(2*t),m>0&&m<1)n[h].push(this.calculateF(m,a,e,i,r,h))}this.shapeBoundingBox.left=bmMin.apply(null,n[0]),this.shapeBoundingBox.top=bmMin.apply(null,n[1]),this.shapeBoundingBox.right=bmMax.apply(null,n[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,n[1])},HShapeElement.prototype.calculateF=function(a,e,i,r,n,t){return bmPow(1-a,3)*e[t]+3*bmPow(1-a,2)*a*i[t]+3*(1-a)*bmPow(a,2)*r[t]+bmPow(a,3)*n[t]},HShapeElement.prototype.calculateBoundingBox=function(a,e){var i,r=a.length;for(i=0;i<r;i+=1)if(a[i]&&a[i].sh)this.calculateShapeBoundingBox(a[i],e);else if(a[i]&&a[i].it)this.calculateBoundingBox(a[i].it,e);else if(a[i]&&a[i].style&&a[i].w)this.expandStrokeBoundingBox(a[i].w,e)},HShapeElement.prototype.expandStrokeBoundingBox=function(a,e){var i=0;if(a.keyframes){for(var r=0;r<a.keyframes.length;r+=1){var n=a.keyframes[r].s;if(n>i)i=n}i*=a.mult}else i=a.v*a.mult;e.x-=i,e.xMax+=i,e.y-=i,e.yMax+=i},HShapeElement.prototype.currentBoxContains=function(a){return this.currentBBox.x<=a.x&&this.currentBBox.y<=a.y&&this.currentBBox.width+this.currentBBox.x>=a.x+a.width&&this.currentBBox.height+this.currentBBox.y>=a.y+a.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var a=this.tempBoundingBox,e=999999;if(a.x=e,a.xMax=-e,a.y=e,a.yMax=-e,this.calculateBoundingBox(this.itemsData,a),a.width=a.xMax<a.x?0:a.xMax-a.x,a.height=a.yMax<a.y?0:a.yMax-a.y,this.currentBoxContains(a))return;var i=!1;if(this.currentBBox.w!==a.width)this.currentBBox.w=a.width,this.shapeCont.setAttribute("width",a.width),i=!0;if(this.currentBBox.h!==a.height)this.currentBBox.h=a.height,this.shapeCont.setAttribute("height",a.height),i=!0;if(i||this.currentBBox.x!==a.x||this.currentBBox.y!==a.y){this.currentBBox.w=a.width,this.currentBBox.h=a.height,this.currentBBox.x=a.x,this.currentBBox.y=a.y,this.shapeCont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h);var r=this.shapeCont.style,n="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";r.transform=n,r.webkitTransform=n}}};function HTextElement(a,e,i){this.textSpans=[],this.textPaths=[],this.currentBBox={x:999999,y:-999999,h:0,w:0},this.renderType="svg",this.isMasked=!1,this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],HTextElement),HTextElement.prototype.createContent=function(){if(this.isMasked=this.checkMasks(),this.isMasked){this.renderType="svg",this.compW=this.comp.data.w,this.compH=this.comp.data.h,this.svgElement.setAttribute("width",this.compW),this.svgElement.setAttribute("height",this.compH);var a=createNS("g");this.maskedElement.appendChild(a),this.innerElem=a}else this.renderType="html",this.innerElem=this.layerElement;this.checkParenting()},HTextElement.prototype.buildNewText=function(){var a=this.textProperty.currentData;this.renderedLetters=createSizedArray(a.l?a.l.length:0);var e=this.innerElem.style,i=a.fc?this.buildColor(a.fc):"rgba(0,0,0,0)";if(e.fill=i,e.color=i,a.sc)e.stroke=this.buildColor(a.sc),e.strokeWidth=a.sw+"px";var r=this.globalData.fontManager.getFontByName(a.f);if(!this.globalData.fontManager.chars)if(e.fontSize=a.finalSize+"px",e.lineHeight=a.finalSize+"px",r.fClass)this.innerElem.className=r.fClass;else{e.fontFamily=r.fFamily;var{fWeight:n,fStyle:t}=a;e.fontStyle=t,e.fontWeight=n}var l,o,s=a.l;o=s.length;var d,c,m,h=this.mHelper,f,v="",g=0;for(l=0;l<o;l+=1){if(this.globalData.fontManager.chars){if(!this.textPaths[g])d=createNS("path"),d.setAttribute("stroke-linecap",lineCapEnum[1]),d.setAttribute("stroke-linejoin",lineJoinEnum[2]),d.setAttribute("stroke-miterlimit","4");else d=this.textPaths[g];if(!this.isMasked)if(this.textSpans[g])c=this.textSpans[g],m=c.children[0];else c=createTag("div"),c.style.lineHeight=0,m=createNS("svg"),m.appendChild(d),styleDiv(c)}else if(!this.isMasked)if(this.textSpans[g])c=this.textSpans[g],d=this.textPaths[g];else c=createTag("span"),styleDiv(c),d=createTag("span"),styleDiv(d),c.appendChild(d);else d=this.textPaths[g]?this.textPaths[g]:createNS("text");if(this.globalData.fontManager.chars){var x=this.globalData.fontManager.getCharData(a.finalText[l],r.fStyle,this.globalData.fontManager.getFontByName(a.f).fFamily),z;if(x)z=x.data;else z=null;if(h.reset(),z&&z.shapes&&z.shapes.length)f=z.shapes[0].it,h.scale(a.finalSize/100,a.finalSize/100),v=this.createPathShape(h,f),d.setAttribute("d",v);if(!this.isMasked){if(this.innerElem.appendChild(c),z&&z.shapes){document.body.appendChild(m);var p=m.getBBox();m.setAttribute("width",p.width+2),m.setAttribute("height",p.height+2),m.setAttribute("viewBox",p.x-1+" "+(p.y-1)+" "+(p.width+2)+" "+(p.height+2));var w=m.style,b="translate("+(p.x-1)+"px,"+(p.y-1)+"px)";w.transform=b,w.webkitTransform=b,s[l].yOffset=p.y-1}else m.setAttribute("width",1),m.setAttribute("height",1);c.appendChild(m)}else this.innerElem.appendChild(d)}else if(d.textContent=s[l].val,d.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),!this.isMasked){this.innerElem.appendChild(c);var y=d.style,I="translate3d(0,"+-a.finalSize/1.2+"px,0)";y.transform=I,y.webkitTransform=I}else this.innerElem.appendChild(d);if(!this.isMasked)this.textSpans[g]=c;else this.textSpans[g]=d;this.textSpans[g].style.display="block",this.textPaths[g]=d,g+=1}while(g<this.textSpans.length)this.textSpans[g].style.display="none",g+=1},HTextElement.prototype.renderInnerContent=function(){this.validateText();var a;if(this.data.singleShape){if(!this._isFirstFrame&&!this.lettersChangedFlag)return;if(this.isMasked&&this.finalTransform._matMdf){this.svgElement.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),a=this.svgElement.style;var e="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)";a.transform=e,a.webkitTransform=e}}if(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),!this.lettersChangedFlag&&!this.textAnimator.lettersChangedFlag)return;var i,r,n=0,t=this.textAnimator.renderedLetters,l=this.textProperty.currentData.l;r=l.length;var o,s,d;for(i=0;i<r;i+=1)if(l[i].n)n+=1;else{if(s=this.textSpans[i],d=this.textPaths[i],o=t[n],n+=1,o._mdf.m)if(!this.isMasked)s.style.webkitTransform=o.m,s.style.transform=o.m;else s.setAttribute("transform",o.m);if(s.style.opacity=o.o,o.sw&&o._mdf.sw)d.setAttribute("stroke-width",o.sw);if(o.sc&&o._mdf.sc)d.setAttribute("stroke",o.sc);if(o.fc&&o._mdf.fc)d.setAttribute("fill",o.fc),d.style.color=o.fc}if(this.innerElem.getBBox&&!this.hidden&&(this._isFirstFrame||this._mdf)){var c=this.innerElem.getBBox();if(this.currentBBox.w!==c.width)this.currentBBox.w=c.width,this.svgElement.setAttribute("width",c.width);if(this.currentBBox.h!==c.height)this.currentBBox.h=c.height,this.svgElement.setAttribute("height",c.height);var m=1;if(this.currentBBox.w!==c.width+m*2||this.currentBBox.h!==c.height+m*2||this.currentBBox.x!==c.x-m||this.currentBBox.y!==c.y-m){this.currentBBox.w=c.width+m*2,this.currentBBox.h=c.height+m*2,this.currentBBox.x=c.x-m,this.currentBBox.y=c.y-m,this.svgElement.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),a=this.svgElement.style;var h="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";a.transform=h,a.webkitTransform=h}}};function HCameraElement(a,e,i){this.initFrame(),this.initBaseData(a,e,i),this.initHierarchy();var r=PropertyFactory.getProp;if(this.pe=r(this,a.pe,0,0,this),a.ks.p.s)this.px=r(this,a.ks.p.x,1,0,this),this.py=r(this,a.ks.p.y,1,0,this),this.pz=r(this,a.ks.p.z,1,0,this);else this.p=r(this,a.ks.p,1,0,this);if(a.ks.a)this.a=r(this,a.ks.a,1,0,this);if(a.ks.or.k.length&&a.ks.or.k[0].to){var n,t=a.ks.or.k.length;for(n=0;n<t;n+=1)a.ks.or.k[n].to=null,a.ks.or.k[n].ti=null}this.or=r(this,a.ks.or,1,degToRads,this),this.or.sh=!0,this.rx=r(this,a.ks.rx,0,degToRads,this),this.ry=r(this,a.ks.ry,0,degToRads,this),this.rz=r(this,a.ks.rz,0,degToRads,this),this.mat=new Matrix,this._prevMat=new Matrix,this._isFirstFrame=!0,this.finalTransform={mProp:this}}extendPrototype([BaseElement,FrameElement,HierarchyElement],HCameraElement),HCameraElement.prototype.setup=function(){var a,e=this.comp.threeDElements.length,i,r,n;for(a=0;a<e;a+=1)if(i=this.comp.threeDElements[a],i.type==="3d"){r=i.perspectiveElem.style,n=i.container.style;var t=this.pe.v+"px",l="0px 0px 0px",o="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";r.perspective=t,r.webkitPerspective=t,n.transformOrigin=l,n.mozTransformOrigin=l,n.webkitTransformOrigin=l,r.transform=o,r.webkitTransform=o}},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var a=this._isFirstFrame,e,i;if(this.hierarchy){i=this.hierarchy.length;for(e=0;e<i;e+=1)a=this.hierarchy[e].finalTransform.mProp._mdf||a}if(a||this.pe._mdf||this.p&&this.p._mdf||this.px&&(this.px._mdf||this.py._mdf||this.pz._mdf)||this.rx._mdf||this.ry._mdf||this.rz._mdf||this.or._mdf||this.a&&this.a._mdf){if(this.mat.reset(),this.hierarchy){i=this.hierarchy.length-1;for(e=i;e>=0;e-=1){var r=this.hierarchy[e].finalTransform.mProp;this.mat.translate(-r.p.v[0],-r.p.v[1],r.p.v[2]),this.mat.rotateX(-r.or.v[0]).rotateY(-r.or.v[1]).rotateZ(r.or.v[2]),this.mat.rotateX(-r.rx.v).rotateY(-r.ry.v).rotateZ(r.rz.v),this.mat.scale(1/r.s.v[0],1/r.s.v[1],1/r.s.v[2]),this.mat.translate(r.a.v[0],r.a.v[1],r.a.v[2])}}if(this.p)this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]);else this.mat.translate(-this.px.v,-this.py.v,this.pz.v);if(this.a){var n;if(this.p)n=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]];else n=[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var t=Math.sqrt(Math.pow(n[0],2)+Math.pow(n[1],2)+Math.pow(n[2],2)),l=[n[0]/t,n[1]/t,n[2]/t],o=Math.sqrt(l[2]*l[2]+l[0]*l[0]),s=Math.atan2(l[1],o),d=Math.atan2(l[0],-l[2]);this.mat.rotateY(d).rotateX(-s)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var c=!this._prevMat.equals(this.mat);if((c||this.pe._mdf)&&this.comp.threeDElements){i=this.comp.threeDElements.length;var m,h,f;for(e=0;e<i;e+=1)if(m=this.comp.threeDElements[e],m.type==="3d"){if(c){var v=this.mat.toCSS();f=m.container.style,f.transform=v,f.webkitTransform=v}if(this.pe._mdf)h=m.perspectiveElem.style,h.perspective=this.pe.v+"px",h.webkitPerspective=this.pe.v+"px"}this.mat.clone(this._prevMat)}}this._isFirstFrame=!1},HCameraElement.prototype.prepareFrame=function(a){this.prepareProperties(a,!0)},HCameraElement.prototype.destroy=function(){},HCameraElement.prototype.getBaseElement=function(){return null};function HImageElement(a,e,i){this.assetData=e.getAssetData(a.refId),this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,HBaseElement,HSolidElement,HierarchyElement,FrameElement,RenderableElement],HImageElement),HImageElement.prototype.createContent=function(){var a=this.globalData.getAssetsPath(this.assetData),e=new Image;if(this.data.hasMask)this.imageElem=createNS("image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",a),this.layerElement.appendChild(this.imageElem),this.baseElement.setAttribute("width",this.assetData.w),this.baseElement.setAttribute("height",this.assetData.h);else this.layerElement.appendChild(e);if(e.crossOrigin="anonymous",e.src=a,this.data.ln)this.baseElement.setAttribute("id",this.data.ln)};function HybridRendererBase(a,e){this.animationItem=a,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:e&&e.className||"",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(e&&e.hideOnTransparent===!1),filterSize:{width:e&&e.filterSize&&e.filterSize.width||"400%",height:e&&e.filterSize&&e.filterSize.height||"400%",x:e&&e.filterSize&&e.filterSize.x||"-100%",y:e&&e.filterSize&&e.filterSize.y||"-100%"}},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}extendPrototype([BaseRenderer],HybridRendererBase),HybridRendererBase.prototype.buildItem=SVGRenderer.prototype.buildItem,HybridRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var a=this.pendingElements.pop();a.checkParenting()}},HybridRendererBase.prototype.appendElementInPos=function(a,e){var i=a.getBaseElement();if(!i)return;var r=this.layers[e];if(!r.ddd||!this.supports3d)if(this.threeDElements)this.addTo3dContainer(i,e);else{var n=0,t,l,o;while(n<e){if(this.elements[n]&&this.elements[n]!==!0&&this.elements[n].getBaseElement)l=this.elements[n],o=this.layers[n].ddd?this.getThreeDContainerByPos(n):l.getBaseElement(),t=o||t;n+=1}if(t){if(!r.ddd||!this.supports3d)this.layerElement.insertBefore(i,t)}else if(!r.ddd||!this.supports3d)this.layerElement.appendChild(i)}else this.addTo3dContainer(i,e)},HybridRendererBase.prototype.createShape=function(a){if(!this.supports3d)return new SVGShapeElement(a,this.globalData,this);return new HShapeElement(a,this.globalData,this)},HybridRendererBase.prototype.createText=function(a){if(!this.supports3d)return new SVGTextLottieElement(a,this.globalData,this);return new HTextElement(a,this.globalData,this)},HybridRendererBase.prototype.createCamera=function(a){return this.camera=new HCameraElement(a,this.globalData,this),this.camera},HybridRendererBase.prototype.createImage=function(a){if(!this.supports3d)return new IImageElement(a,this.globalData,this);return new HImageElement(a,this.globalData,this)},HybridRendererBase.prototype.createSolid=function(a){if(!this.supports3d)return new ISolidElement(a,this.globalData,this);return new HSolidElement(a,this.globalData,this)},HybridRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,HybridRendererBase.prototype.getThreeDContainerByPos=function(a){var e=0,i=this.threeDElements.length;while(e<i){if(this.threeDElements[e].startPos<=a&&this.threeDElements[e].endPos>=a)return this.threeDElements[e].perspectiveElem;e+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(a,e){var i=createTag("div"),r,n;styleDiv(i);var t=createTag("div");if(styleDiv(t),e==="3d"){r=i.style,r.width=this.globalData.compSize.w+"px",r.height=this.globalData.compSize.h+"px";var l="50% 50%";r.webkitTransformOrigin=l,r.mozTransformOrigin=l,r.transformOrigin=l,n=t.style;var o="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";n.transform=o,n.webkitTransform=o}i.appendChild(t);var s={container:t,perspectiveElem:i,startPos:a,endPos:a,type:e};return this.threeDElements.push(s),s},HybridRendererBase.prototype.build3dContainers=function(){var a,e=this.layers.length,i,r="";for(a=0;a<e;a+=1)if(this.layers[a].ddd&&this.layers[a].ty!==3){if(r!=="3d")r="3d",i=this.createThreeDContainer(a,"3d");i.endPos=Math.max(i.endPos,a)}else{if(r!=="2d")r="2d",i=this.createThreeDContainer(a,"2d");i.endPos=Math.max(i.endPos,a)}e=this.threeDElements.length;for(a=e-1;a>=0;a-=1)this.resizerElem.appendChild(this.threeDElements[a].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(a,e){var i=0,r=this.threeDElements.length;while(i<r){if(e<=this.threeDElements[i].endPos){var n=this.threeDElements[i].startPos,t;while(n<e){if(this.elements[n]&&this.elements[n].getBaseElement)t=this.elements[n].getBaseElement();n+=1}if(t)this.threeDElements[i].container.insertBefore(a,t);else this.threeDElements[i].container.appendChild(a);break}i+=1}},HybridRendererBase.prototype.configAnimation=function(a){var e=createTag("div"),i=this.animationItem.wrapper,r=e.style;if(r.width=a.w+"px",r.height=a.h+"px",this.resizerElem=e,styleDiv(e),r.transformStyle="flat",r.mozTransformStyle="flat",r.webkitTransformStyle="flat",this.renderConfig.className)e.setAttribute("class",this.renderConfig.className);i.appendChild(e),r.overflow="hidden";var n=createNS("svg");n.setAttribute("width","1"),n.setAttribute("height","1"),styleDiv(n),this.resizerElem.appendChild(n);var t=createNS("defs");n.appendChild(t),this.data=a,this.setupGlobalData(a,n),this.globalData.defs=t,this.layers=a.layers,this.layerElement=this.resizerElem,this.build3dContainers(),this.updateContainerSize()},HybridRendererBase.prototype.destroy=function(){if(this.animationItem.wrapper)this.animationItem.wrapper.innerText="";this.animationItem.container=null,this.globalData.defs=null;var a,e=this.layers?this.layers.length:0;for(a=0;a<e;a+=1)if(this.elements[a]&&this.elements[a].destroy)this.elements[a].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},HybridRendererBase.prototype.updateContainerSize=function(){var a=this.animationItem.wrapper.offsetWidth,e=this.animationItem.wrapper.offsetHeight,i=a/e,r=this.globalData.compSize.w/this.globalData.compSize.h,n,t,l,o;if(r>i)n=a/this.globalData.compSize.w,t=a/this.globalData.compSize.w,l=0,o=(e-this.globalData.compSize.h*(a/this.globalData.compSize.w))/2;else n=e/this.globalData.compSize.h,t=e/this.globalData.compSize.h,l=(a-this.globalData.compSize.w*(e/this.globalData.compSize.h))/2,o=0;var s=this.resizerElem.style;s.webkitTransform="matrix3d("+n+",0,0,0,0,"+t+",0,0,0,0,1,0,"+l+","+o+",0,1)",s.transform=s.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var a=this.globalData.compSize.w,e=this.globalData.compSize.h,i,r=this.threeDElements.length;for(i=0;i<r;i+=1){var n=this.threeDElements[i].perspectiveElem.style;n.webkitPerspective=Math.sqrt(Math.pow(a,2)+Math.pow(e,2))+"px",n.perspective=n.webkitPerspective}}},HybridRendererBase.prototype.searchExtraCompositions=function(a){var e,i=a.length,r=createTag("div");for(e=0;e<i;e+=1)if(a[e].xt){var n=this.createComp(a[e],r,this.globalData.comp,null);n.initExpressions(),this.globalData.projectInterface.registerComposition(n)}};function HCompElement(a,e,i){this.layers=a.layers,this.supports3d=!a.hasMask,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(a,e,i),this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,e.frameRate,this):{_placeholder:!0}}extendPrototype([HybridRendererBase,ICompElement,HBaseElement],HCompElement),HCompElement.prototype._createBaseContainerElements=HCompElement.prototype.createContainerElements,HCompElement.prototype.createContainerElements=function(){if(this._createBaseContainerElements(),this.data.hasMask)this.svgElement.setAttribute("width",this.data.w),this.svgElement.setAttribute("height",this.data.h),this.transformedElement=this.baseElement;else this.transformedElement=this.layerElement},HCompElement.prototype.addTo3dContainer=function(a,e){var i=0,r;while(i<e){if(this.elements[i]&&this.elements[i].getBaseElement)r=this.elements[i].getBaseElement();i+=1}if(r)this.layerElement.insertBefore(a,r);else this.layerElement.appendChild(a)},HCompElement.prototype.createComp=function(a){if(!this.supports3d)return new SVGCompElement(a,this.globalData,this);return new HCompElement(a,this.globalData,this)};function HybridRenderer(a,e){this.animationItem=a,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:e&&e.className||"",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(e&&e.hideOnTransparent===!1),filterSize:{width:e&&e.filterSize&&e.filterSize.width||"400%",height:e&&e.filterSize&&e.filterSize.height||"400%",x:e&&e.filterSize&&e.filterSize.x||"-100%",y:e&&e.filterSize&&e.filterSize.y||"-100%"},runExpressions:!e||e.runExpressions===void 0||e.runExpressions},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}extendPrototype([HybridRendererBase],HybridRenderer),HybridRenderer.prototype.createComp=function(a){if(!this.supports3d)return new SVGCompElement(a,this.globalData,this);return new HCompElement(a,this.globalData,this)};var CompExpressionInterface=function(){return function(a){function e(i){var r=0,n=a.layers.length;while(r<n){if(a.layers[r].nm===i||a.layers[r].ind===i)return a.elements[r].layerInterface;r+=1}return null}return Object.defineProperty(e,"_name",{value:a.data.nm}),e.layer=e,e.pixelAspect=1,e.height=a.data.h||a.globalData.compSize.h,e.width=a.data.w||a.globalData.compSize.w,e.pixelAspect=1,e.frameDuration=1/a.globalData.frameRate,e.displayStartTime=0,e.numLayers=a.layers.length,e}}();function _typeof$2(a){return _typeof$2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$2(a)}function seedRandom(a,e){var i=this,r=256,n=6,t=52,l="random",o=e.pow(r,n),s=e.pow(2,t),d=s*2,c=r-1,m;function h(w,b,y){var I=[];b=b===!0?{entropy:!0}:b||{};var O=x(g(b.entropy?[w,p(a)]:w===null?z():w,3),I),K=new f(I),j=function T(){var A=K.g(n),V=o,N=0;while(A<s)A=(A+N)*r,V*=r,N=K.g(1);while(A>=d)A/=2,V/=2,N>>>=1;return(A+N)/V};return j.int32=function(){return K.g(4)|0},j.quick=function(){return K.g(4)/4294967296},j.double=j,x(p(K.S),a),(b.pass||y||function(T,A,V,N){if(N){if(N.S)v(N,K);T.state=function(){return v(K,{})}}if(V)return e[l]=T,A;else return T})(j,O,"global"in b?b.global:this==e,b.state)}e["seed"+l]=h;function f(w){var b,y=w.length,I=this,O=0,K=I.i=I.j=0,j=I.S=[];if(!y)w=[y++];while(O<r)j[O]=O++;for(O=0;O<r;O++)j[O]=j[K=c&K+w[O%y]+(b=j[O])],j[K]=b;I.g=function(T){var A,V=0,N=I.i,G=I.j,D=I.S;while(T--)A=D[N=c&N+1],V=V*r+D[c&(D[N]=D[G=c&G+A])+(D[G]=A)];return I.i=N,I.j=G,V}}function v(w,b){return b.i=w.i,b.j=w.j,b.S=w.S.slice(),b}function g(w,b){var y=[],I=_typeof$2(w),O;if(b&&I=="object")for(O in w)try{y.push(g(w[O],b-1))}catch(K){}return y.length?y:I=="string"?w:w+"\x00"}function x(w,b){var y=w+"",I,O=0;while(O<y.length)b[c&O]=c&(I^=b[c&O]*19)+y.charCodeAt(O++);return p(b)}function z(){try{if(m)return p(m.randomBytes(r));var w=new Uint8Array(r);return(i.crypto||i.msCrypto).getRandomValues(w),p(w)}catch(I){var b=i.navigator,y=b&&b.plugins;return[+new Date,i,y,i.screen,p(a)]}}function p(w){return String.fromCharCode.apply(0,w)}x(e.random(),a)}function initialize$2(a){seedRandom([],a)}var propTypes={SHAPE:"shape"};function _typeof$1(a){return _typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1(a)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null,_lottieGlobal={};initialize$2(BMMath);function resetFrame(){_lottieGlobal={}}function $bm_isInstanceOfArray(a){return a.constructor===Array||a.constructor===Float32Array}function isNumerable(a,e){return a==="number"||e instanceof Number||a==="boolean"||a==="string"}function $bm_neg(a){var e=_typeof$1(a);if(e==="number"||a instanceof Number||e==="boolean")return-a;if($bm_isInstanceOfArray(a)){var i,r=a.length,n=[];for(i=0;i<r;i+=1)n[i]=-a[i];return n}if(a.propType)return a.v;return-a}var easeInBez=BezierFactory.getBezierEasing(0.333,0,0.833,0.833,"easeIn").get,easeOutBez=BezierFactory.getBezierEasing(0.167,0.167,0.667,1,"easeOut").get,easeInOutBez=BezierFactory.getBezierEasing(0.33,0,0.667,1,"easeInOut").get;function sum(a,e){var i=_typeof$1(a),r=_typeof$1(e);if(isNumerable(i,a)&&isNumerable(r,e)||i==="string"||r==="string")return a+e;if($bm_isInstanceOfArray(a)&&isNumerable(r,e))return a=a.slice(0),a[0]+=e,a;if(isNumerable(i,a)&&$bm_isInstanceOfArray(e))return e=e.slice(0),e[0]=a+e[0],e;if($bm_isInstanceOfArray(a)&&$bm_isInstanceOfArray(e)){var n=0,t=a.length,l=e.length,o=[];while(n<t||n<l){if((typeof a[n]==="number"||a[n]instanceof Number)&&(typeof e[n]==="number"||e[n]instanceof Number))o[n]=a[n]+e[n];else o[n]=e[n]===void 0?a[n]:a[n]||e[n];n+=1}return o}return 0}var add=sum;function sub(a,e){var i=_typeof$1(a),r=_typeof$1(e);if(isNumerable(i,a)&&isNumerable(r,e)){if(i==="string")a=parseInt(a,10);if(r==="string")e=parseInt(e,10);return a-e}if($bm_isInstanceOfArray(a)&&isNumerable(r,e))return a=a.slice(0),a[0]-=e,a;if(isNumerable(i,a)&&$bm_isInstanceOfArray(e))return e=e.slice(0),e[0]=a-e[0],e;if($bm_isInstanceOfArray(a)&&$bm_isInstanceOfArray(e)){var n=0,t=a.length,l=e.length,o=[];while(n<t||n<l){if((typeof a[n]==="number"||a[n]instanceof Number)&&(typeof e[n]==="number"||e[n]instanceof Number))o[n]=a[n]-e[n];else o[n]=e[n]===void 0?a[n]:a[n]||e[n];n+=1}return o}return 0}function mul(a,e){var i=_typeof$1(a),r=_typeof$1(e),n;if(isNumerable(i,a)&&isNumerable(r,e))return a*e;var t,l;if($bm_isInstanceOfArray(a)&&isNumerable(r,e)){l=a.length,n=createTypedArray("float32",l);for(t=0;t<l;t+=1)n[t]=a[t]*e;return n}if(isNumerable(i,a)&&$bm_isInstanceOfArray(e)){l=e.length,n=createTypedArray("float32",l);for(t=0;t<l;t+=1)n[t]=a*e[t];return n}return 0}function div(a,e){var i=_typeof$1(a),r=_typeof$1(e),n;if(isNumerable(i,a)&&isNumerable(r,e))return a/e;var t,l;if($bm_isInstanceOfArray(a)&&isNumerable(r,e)){l=a.length,n=createTypedArray("float32",l);for(t=0;t<l;t+=1)n[t]=a[t]/e;return n}if(isNumerable(i,a)&&$bm_isInstanceOfArray(e)){l=e.length,n=createTypedArray("float32",l);for(t=0;t<l;t+=1)n[t]=a/e[t];return n}return 0}function mod(a,e){if(typeof a==="string")a=parseInt(a,10);if(typeof e==="string")e=parseInt(e,10);return a%e}var $bm_sum=sum,$bm_sub=sub,$bm_mul=mul,$bm_div=div,$bm_mod=mod;function clamp(a,e,i){if(e>i){var r=i;i=e,e=r}return Math.min(Math.max(a,e),i)}function radiansToDegrees(a){return a/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(a){return a*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(a,e){if(typeof a==="number"||a instanceof Number)return e=e||0,Math.abs(a-e);if(!e)e=helperLengthArray;var i,r=Math.min(a.length,e.length),n=0;for(i=0;i<r;i+=1)n+=Math.pow(e[i]-a[i],2);return Math.sqrt(n)}function normalize(a){return div(a,length(a))}function rgbToHsl(a){var e=a[0],i=a[1],r=a[2],n=Math.max(e,i,r),t=Math.min(e,i,r),l,o,s=(n+t)/2;if(n===t)l=0,o=0;else{var d=n-t;switch(o=s>0.5?d/(2-n-t):d/(n+t),n){case e:l=(i-r)/d+(i<r?6:0);break;case i:l=(r-e)/d+2;break;case r:l=(e-i)/d+4;break;default:break}l/=6}return[l,o,s,a[3]]}function hue2rgb(a,e,i){if(i<0)i+=1;if(i>1)i-=1;if(i<0.16666666666666666)return a+(e-a)*6*i;if(i<0.5)return e;if(i<0.6666666666666666)return a+(e-a)*(0.6666666666666666-i)*6;return a}function hslToRgb(a){var e=a[0],i=a[1],r=a[2],n,t,l;if(i===0)n=r,l=r,t=r;else{var o=r<0.5?r*(1+i):r+i-r*i,s=2*r-o;n=hue2rgb(s,o,e+0.3333333333333333),t=hue2rgb(s,o,e),l=hue2rgb(s,o,e-0.3333333333333333)}return[n,t,l,a[3]]}function linear(a,e,i,r,n){if(r===void 0||n===void 0)r=e,n=i,e=0,i=1;if(i<e){var t=i;i=e,e=t}if(a<=e)return r;if(a>=i)return n;var l=i===e?0:(a-e)/(i-e);if(!r.length)return r+(n-r)*l;var o,s=r.length,d=createTypedArray("float32",s);for(o=0;o<s;o+=1)d[o]=r[o]+(n[o]-r[o])*l;return d}function random(a,e){if(e===void 0)if(a===void 0)a=0,e=1;else e=a,a=void 0;if(e.length){var i,r=e.length;if(!a)a=createTypedArray("float32",r);var n=createTypedArray("float32",r),t=BMMath.random();for(i=0;i<r;i+=1)n[i]=a[i]+t*(e[i]-a[i]);return n}if(a===void 0)a=0;var l=BMMath.random();return a+l*(e-a)}function createPath(a,e,i,r){var n,t=a.length,l=shapePool.newElement();l.setPathData(!!r,t);var o=[0,0],s,d;for(n=0;n<t;n+=1)s=e&&e[n]?e[n]:o,d=i&&i[n]?i[n]:o,l.setTripleAt(a[n][0],a[n][1],d[0]+a[n][0],d[1]+a[n][1],s[0]+a[n][0],s[1]+a[n][1],n,!0);return l}function initiateExpression(elem,data,property){function noOp(a){return a}if(!elem.globalData.renderConfig.runExpressions)return noOp;var val=data.x,needsVelocity=/velocity(?![\w\d])/.test(val),_needsRandom=val.indexOf("random")!==-1,elemType=elem.data.ty,transform,$bm_transform,content,effect,thisProperty=property;thisProperty._name=elem.data.nm,thisProperty.valueAtTime=thisProperty.getValueAtTime,Object.defineProperty(thisProperty,"value",{get:function a(){return thisProperty.v}}),elem.comp.frameDuration=1/elem.comp.globalData.frameRate,elem.comp.displayStartTime=0;var inPoint=elem.data.ip/elem.comp.globalData.frameRate,outPoint=elem.data.op/elem.comp.globalData.frameRate,width=elem.data.sw?elem.data.sw:0,height=elem.data.sh?elem.data.sh:0,name=elem.data.nm,loopIn,loop_in,loopOut,loop_out,smooth,toWorld,fromWorld,fromComp,toComp,fromCompToSurface,position,rotation,anchorPoint,scale,thisLayer,thisComp,mask,valueAtTime,velocityAtTime,scoped_bm_rt,expression_function=eval("[function _expression_function(){"+val+";scoped_bm_rt=$bm_rt}]")[0],numKeys=property.kf?data.k.length:0,active=!this.data||this.data.hd!==!0,wiggle=function a(e,i){var r,n,t=this.pv.length?this.pv.length:1,l=createTypedArray("float32",t);e=5;var o=Math.floor(time*e);r=0,n=0;while(r<o){for(n=0;n<t;n+=1)l[n]+=-i+i*2*BMMath.random();r+=1}var s=time*e,d=s-Math.floor(s),c=createTypedArray("float32",t);if(t>1){for(n=0;n<t;n+=1)c[n]=this.pv[n]+l[n]+(-i+i*2*BMMath.random())*d;return c}return this.pv+l[0]+(-i+i*2*BMMath.random())*d}.bind(this);if(thisProperty.loopIn)loopIn=thisProperty.loopIn.bind(thisProperty),loop_in=loopIn;if(thisProperty.loopOut)loopOut=thisProperty.loopOut.bind(thisProperty),loop_out=loopOut;if(thisProperty.smooth)smooth=thisProperty.smooth.bind(thisProperty);function loopInDuration(a,e){return loopIn(a,e,!0)}function loopOutDuration(a,e){return loopOut(a,e,!0)}if(this.getValueAtTime)valueAtTime=this.getValueAtTime.bind(this);if(this.getVelocityAtTime)velocityAtTime=this.getVelocityAtTime.bind(this);var comp=elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);function lookAt(a,e){var i=[e[0]-a[0],e[1]-a[1],e[2]-a[2]],r=Math.atan2(i[0],Math.sqrt(i[1]*i[1]+i[2]*i[2]))/degToRads,n=-Math.atan2(i[1],i[2])/degToRads;return[n,r,0]}function easeOut(a,e,i,r,n){return applyEase(easeOutBez,a,e,i,r,n)}function easeIn(a,e,i,r,n){return applyEase(easeInBez,a,e,i,r,n)}function ease(a,e,i,r,n){return applyEase(easeInOutBez,a,e,i,r,n)}function applyEase(a,e,i,r,n,t){if(n===void 0)n=i,t=r;else e=(e-i)/(r-i);if(e>1)e=1;else if(e<0)e=0;var l=a(e);if($bm_isInstanceOfArray(n)){var o,s=n.length,d=createTypedArray("float32",s);for(o=0;o<s;o+=1)d[o]=(t[o]-n[o])*l+n[o];return d}return(t-n)*l+n}function nearestKey(a){var e,i=data.k.length,r,n;if(!data.k.length||typeof data.k[0]==="number")r=0,n=0;else if(r=-1,a*=elem.comp.globalData.frameRate,a<data.k[0].t)r=1,n=data.k[0].t;else{for(e=0;e<i-1;e+=1)if(a===data.k[e].t){r=e+1,n=data.k[e].t;break}else if(a>data.k[e].t&&a<data.k[e+1].t){if(a-data.k[e].t>data.k[e+1].t-a)r=e+2,n=data.k[e+1].t;else r=e+1,n=data.k[e].t;break}if(r===-1)r=e+1,n=data.k[e].t}var t={};return t.index=r,t.time=n/elem.comp.globalData.frameRate,t}function key(a){var e,i,r;if(!data.k.length||typeof data.k[0]==="number")throw new Error("The property has no keyframe at index "+a);a-=1,e={time:data.k[a].t/elem.comp.globalData.frameRate,value:[]};var n=Object.prototype.hasOwnProperty.call(data.k[a],"s")?data.k[a].s:data.k[a-1].e;r=n.length;for(i=0;i<r;i+=1)e[i]=n[i],e.value[i]=n[i];return e}function framesToTime(a,e){if(!e)e=elem.comp.globalData.frameRate;return a/e}function timeToFrames(a,e){if(!a&&a!==0)a=time;if(!e)e=elem.comp.globalData.frameRate;return a*e}function seedRandom(a){BMMath.seedrandom(randSeed+a)}function sourceRectAtTime(){return elem.sourceRectAtTime()}function substring(a,e){if(typeof value==="string"){if(e===void 0)return value.substring(a);return value.substring(a,e)}return""}function substr(a,e){if(typeof value==="string"){if(e===void 0)return value.substr(a);return value.substr(a,e)}return""}function posterizeTime(a){time=a===0?0:Math.floor(time*a)/a,value=valueAtTime(time)}var time,velocity,value,text,textIndex,textTotal,selectorValue,index=elem.data.ind,hasParent=!!(elem.hierarchy&&elem.hierarchy.length),parent,randSeed=Math.floor(Math.random()*1e6),globalData=elem.globalData;function executeExpression(a){if(value=a,this.frameExpressionId===elem.globalData.frameId&&this.propType!=="textSelector")return value;if(this.propType==="textSelector")textIndex=this.textIndex,textTotal=this.textTotal,selectorValue=this.selectorValue;if(!thisLayer)text=elem.layerInterface.text,thisLayer=elem.layerInterface,thisComp=elem.comp.compInterface,toWorld=thisLayer.toWorld.bind(thisLayer),fromWorld=thisLayer.fromWorld.bind(thisLayer),fromComp=thisLayer.fromComp.bind(thisLayer),toComp=thisLayer.toComp.bind(thisLayer),mask=thisLayer.mask?thisLayer.mask.bind(thisLayer):null,fromCompToSurface=fromComp;if(!transform){if(transform=elem.layerInterface("ADBE Transform Group"),$bm_transform=transform,transform)anchorPoint=transform.anchorPoint}if(elemType===4&&!content)content=thisLayer("ADBE Root Vectors Group");if(!effect)effect=thisLayer(4);if(hasParent=!!(elem.hierarchy&&elem.hierarchy.length),hasParent&&!parent)parent=elem.hierarchy[0].layerInterface;if(time=this.comp.renderedFrame/this.comp.globalData.frameRate,_needsRandom)seedRandom(randSeed+time);if(needsVelocity)velocity=velocityAtTime(time);return expression_function(),this.frameExpressionId=elem.globalData.frameId,scoped_bm_rt=scoped_bm_rt.propType===propTypes.SHAPE?scoped_bm_rt.v:scoped_bm_rt,scoped_bm_rt}return executeExpression.__preventDeadCodeRemoval=[$bm_transform,anchorPoint,time,velocity,inPoint,outPoint,width,height,name,loop_in,loop_out,smooth,toComp,fromCompToSurface,toWorld,fromWorld,mask,position,rotation,scale,thisComp,numKeys,active,wiggle,loopInDuration,loopOutDuration,comp,lookAt,easeOut,easeIn,ease,nearestKey,key,text,textIndex,textTotal,selectorValue,framesToTime,timeToFrames,sourceRectAtTime,substring,substr,posterizeTime,index,globalData],executeExpression}return ob.initiateExpression=initiateExpression,ob.__preventDeadCodeRemoval=[window,document,XMLHttpRequest,fetch,frames,$bm_neg,add,$bm_sum,$bm_sub,$bm_mul,$bm_div,$bm_mod,clamp,radians_to_degrees,degreesToRadians,degrees_to_radians,normalize,rgbToHsl,hslToRgb,linear,random,createPath,_lottieGlobal],ob.resetFrame=resetFrame,ob}(),Expressions=function(){var a={};a.initExpressions=e,a.resetFrame=ExpressionManager.resetFrame;function e(i){var r=0,n=[];function t(){r+=1}function l(){if(r-=1,r===0)s()}function o(d){if(n.indexOf(d)===-1)n.push(d)}function s(){var d,c=n.length;for(d=0;d<c;d+=1)n[d].release();n.length=0}i.renderer.compInterface=CompExpressionInterface(i.renderer),i.renderer.globalData.projectInterface.registerComposition(i.renderer),i.renderer.globalData.pushExpression=t,i.renderer.globalData.popExpression=l,i.renderer.globalData.registerExpressionProperty=o}return a}(),MaskManagerInterface=function(){function a(i,r){this._mask=i,this._data=r}Object.defineProperty(a.prototype,"maskPath",{get:function i(){if(this._mask.prop.k)this._mask.prop.getValue();return this._mask.prop}}),Object.defineProperty(a.prototype,"maskOpacity",{get:function i(){if(this._mask.op.k)this._mask.op.getValue();return this._mask.op.v*100}});var e=function i(r){var n=createSizedArray(r.viewData.length),t,l=r.viewData.length;for(t=0;t<l;t+=1)n[t]=new a(r.viewData[t],r.masksProperties[t]);var o=function s(d){t=0;while(t<l){if(r.masksProperties[t].nm===d)return n[t];t+=1}return null};return o};return e}(),ExpressionPropertyInterface=function(){var a={pv:0,v:0,mult:1},e={pv:[0,0,0],v:[0,0,0],mult:1};function i(l,o,s){Object.defineProperty(l,"velocity",{get:function d(){return o.getVelocityAtTime(o.comp.currentFrame)}}),l.numKeys=o.keyframes?o.keyframes.length:0,l.key=function(d){if(!l.numKeys)return 0;var c="";if("s"in o.keyframes[d-1])c=o.keyframes[d-1].s;else if("e"in o.keyframes[d-2])c=o.keyframes[d-2].e;else c=o.keyframes[d-2].s;var m=s==="unidimensional"?new Number(c):Object.assign({},c);return m.time=o.keyframes[d-1].t/o.elem.comp.globalData.frameRate,m.value=s==="unidimensional"?c[0]:c,m},l.valueAtTime=o.getValueAtTime,l.speedAtTime=o.getSpeedAtTime,l.velocityAtTime=o.getVelocityAtTime,l.propertyGroup=o.propertyGroup}function r(l){if(!l||!("pv"in l))l=a;var o=1/l.mult,s=l.pv*o,d=new Number(s);return d.value=s,i(d,l,"unidimensional"),function(){if(l.k)l.getValue();if(s=l.v*o,d.value!==s)d=new Number(s),d.value=s,d[0]=s,i(d,l,"unidimensional");return d}}function n(l){if(!l||!("pv"in l))l=e;var o=1/l.mult,s=l.data&&l.data.l||l.pv.length,d=createTypedArray("float32",s),c=createTypedArray("float32",s);return d.value=c,i(d,l,"multidimensional"),function(){if(l.k)l.getValue();for(var m=0;m<s;m+=1)c[m]=l.v[m]*o,d[m]=c[m];return d}}function t(){return a}return function(l){if(!l)return t;if(l.propType==="unidimensional")return r(l);return n(l)}}(),TransformExpressionInterface=function(){return function(a){function e(l){switch(l){case"scale":case"Scale":case"ADBE Scale":case 6:return e.scale;case"rotation":case"Rotation":case"ADBE Rotation":case"ADBE Rotate Z":case 10:return e.rotation;case"ADBE Rotate X":return e.xRotation;case"ADBE Rotate Y":return e.yRotation;case"position":case"Position":case"ADBE Position":case 2:return e.position;case"ADBE Position_0":return e.xPosition;case"ADBE Position_1":return e.yPosition;case"ADBE Position_2":return e.zPosition;case"anchorPoint":case"AnchorPoint":case"Anchor Point":case"ADBE AnchorPoint":case 1:return e.anchorPoint;case"opacity":case"Opacity":case 11:return e.opacity;default:return null}}Object.defineProperty(e,"rotation",{get:ExpressionPropertyInterface(a.r||a.rz)}),Object.defineProperty(e,"zRotation",{get:ExpressionPropertyInterface(a.rz||a.r)}),Object.defineProperty(e,"xRotation",{get:ExpressionPropertyInterface(a.rx)}),Object.defineProperty(e,"yRotation",{get:ExpressionPropertyInterface(a.ry)}),Object.defineProperty(e,"scale",{get:ExpressionPropertyInterface(a.s)});var i,r,n,t;if(a.p)t=ExpressionPropertyInterface(a.p);else if(i=ExpressionPropertyInterface(a.px),r=ExpressionPropertyInterface(a.py),a.pz)n=ExpressionPropertyInterface(a.pz);return Object.defineProperty(e,"position",{get:function l(){if(a.p)return t();return[i(),r(),n?n():0]}}),Object.defineProperty(e,"xPosition",{get:ExpressionPropertyInterface(a.px)}),Object.defineProperty(e,"yPosition",{get:ExpressionPropertyInterface(a.py)}),Object.defineProperty(e,"zPosition",{get:ExpressionPropertyInterface(a.pz)}),Object.defineProperty(e,"anchorPoint",{get:ExpressionPropertyInterface(a.a)}),Object.defineProperty(e,"opacity",{get:ExpressionPropertyInterface(a.o)}),Object.defineProperty(e,"skew",{get:ExpressionPropertyInterface(a.sk)}),Object.defineProperty(e,"skewAxis",{get:ExpressionPropertyInterface(a.sa)}),Object.defineProperty(e,"orientation",{get:ExpressionPropertyInterface(a.or)}),e}}(),LayerExpressionInterface=function(){function a(d){var c=new Matrix;if(d!==void 0){var m=this._elem.finalTransform.mProp.getValueAtTime(d);m.clone(c)}else{var h=this._elem.finalTransform.mProp;h.applyToMatrix(c)}return c}function e(d,c){var m=this.getMatrix(c);return m.props[12]=0,m.props[13]=0,m.props[14]=0,this.applyPoint(m,d)}function i(d,c){var m=this.getMatrix(c);return this.applyPoint(m,d)}function r(d,c){var m=this.getMatrix(c);return m.props[12]=0,m.props[13]=0,m.props[14]=0,this.invertPoint(m,d)}function n(d,c){var m=this.getMatrix(c);return this.invertPoint(m,d)}function t(d,c){if(this._elem.hierarchy&&this._elem.hierarchy.length){var m,h=this._elem.hierarchy.length;for(m=0;m<h;m+=1)this._elem.hierarchy[m].finalTransform.mProp.applyToMatrix(d)}return d.applyToPointArray(c[0],c[1],c[2]||0)}function l(d,c){if(this._elem.hierarchy&&this._elem.hierarchy.length){var m,h=this._elem.hierarchy.length;for(m=0;m<h;m+=1)this._elem.hierarchy[m].finalTransform.mProp.applyToMatrix(d)}return d.inversePoint(c)}function o(d){var c=new Matrix;if(c.reset(),this._elem.finalTransform.mProp.applyToMatrix(c),this._elem.hierarchy&&this._elem.hierarchy.length){var m,h=this._elem.hierarchy.length;for(m=0;m<h;m+=1)this._elem.hierarchy[m].finalTransform.mProp.applyToMatrix(c);return c.inversePoint(d)}return c.inversePoint(d)}function s(){return[1,1,1,1]}return function(d){var c;function m(g){f.mask=new MaskManagerInterface(g,d)}function h(g){f.effect=g}function f(g){switch(g){case"ADBE Root Vectors Group":case"Contents":case 2:return f.shapeInterface;case 1:case 6:case"Transform":case"transform":case"ADBE Transform Group":return c;case 4:case"ADBE Effect Parade":case"effects":case"Effects":return f.effect;case"ADBE Text Properties":return f.textInterface;default:return null}}f.getMatrix=a,f.invertPoint=l,f.applyPoint=t,f.toWorld=i,f.toWorldVec=e,f.fromWorld=n,f.fromWorldVec=r,f.toComp=i,f.fromComp=o,f.sampleImage=s,f.sourceRectAtTime=d.sourceRectAtTime.bind(d),f._elem=d,c=TransformExpressionInterface(d.finalTransform.mProp);var v=getDescriptor(c,"anchorPoint");return Object.defineProperties(f,{hasParent:{get:function g(){return d.hierarchy.length}},parent:{get:function g(){return d.hierarchy[0].layerInterface}},rotation:getDescriptor(c,"rotation"),scale:getDescriptor(c,"scale"),position:getDescriptor(c,"position"),opacity:getDescriptor(c,"opacity"),anchorPoint:v,anchor_point:v,transform:{get:function g(){return c}},active:{get:function g(){return d.isInRange}}}),f.startTime=d.data.st,f.index=d.data.ind,f.source=d.data.refId,f.height=d.data.ty===0?d.data.h:100,f.width=d.data.ty===0?d.data.w:100,f.inPoint=d.data.ip/d.comp.globalData.frameRate,f.outPoint=d.data.op/d.comp.globalData.frameRate,f._name=d.data.nm,f.registerMaskInterface=m,f.registerEffectsInterface=h,f}}(),propertyGroupFactory=function(){return function(a,e){return function(i){if(i=i===void 0?1:i,i<=0)return a;return e(i-1)}}}(),PropertyInterface=function(){return function(a,e){var i={_name:a};function r(n){if(n=n===void 0?1:n,n<=0)return i;return e(n-1)}return r}}(),EffectsExpressionInterface=function(){var a={createEffectsInterface:e};function e(n,t){if(n.effectsManager){var l=[],o=n.data.ef,s,d=n.effectsManager.effectElements.length;for(s=0;s<d;s+=1)l.push(i(o[s],n.effectsManager.effectElements[s],t,n));var c=n.data.ef||[],m=function h(f){s=0,d=c.length;while(s<d){if(f===c[s].nm||f===c[s].mn||f===c[s].ix)return l[s];s+=1}return null};return Object.defineProperty(m,"numProperties",{get:function h(){return c.length}}),m}return null}function i(n,t,l,o){function s(f){var v=n.ef,g=0,x=v.length;while(g<x){if(f===v[g].nm||f===v[g].mn||f===v[g].ix){if(v[g].ty===5)return c[g];return c[g]()}g+=1}throw new Error}var d=propertyGroupFactory(s,l),c=[],m,h=n.ef.length;for(m=0;m<h;m+=1)if(n.ef[m].ty===5)c.push(i(n.ef[m],t.effectElements[m],t.effectElements[m].propertyGroup,o));else c.push(r(t.effectElements[m],n.ef[m].ty,o,d));if(n.mn==="ADBE Color Control")Object.defineProperty(s,"color",{get:function f(){return c[0]()}});return Object.defineProperties(s,{numProperties:{get:function f(){return n.np}},_name:{value:n.nm},propertyGroup:{value:d}}),s.enabled=n.en!==0,s.active=s.enabled,s}function r(n,t,l,o){var s=ExpressionPropertyInterface(n.p);function d(){if(t===10)return l.comp.compInterface(n.p.v);return s()}if(n.p.setGroupProperty)n.p.setGroupProperty(PropertyInterface("",o));return d}return a}(),ShapePathInterface=function(){return function a(e,i,r){var n=i.sh;function t(o){if(o==="Shape"||o==="shape"||o==="Path"||o==="path"||o==="ADBE Vector Shape"||o===2)return t.path;return null}var l=propertyGroupFactory(t,r);return n.setGroupProperty(PropertyInterface("Path",l)),Object.defineProperties(t,{path:{get:function o(){if(n.k)n.getValue();return n}},shape:{get:function o(){if(n.k)n.getValue();return n}},_name:{value:e.nm},ix:{value:e.ix},propertyIndex:{value:e.ix},mn:{value:e.mn},propertyGroup:{value:r}}),t}}(),ShapeExpressionInterface=function(){function a(v,g,x){var z=[],p,w=v?v.length:0;for(p=0;p<w;p+=1)if(v[p].ty==="gr")z.push(i(v[p],g[p],x));else if(v[p].ty==="fl")z.push(r(v[p],g[p],x));else if(v[p].ty==="st")z.push(l(v[p],g[p],x));else if(v[p].ty==="tm")z.push(o(v[p],g[p],x));else if(v[p].ty==="tr");else if(v[p].ty==="el")z.push(d(v[p],g[p],x));else if(v[p].ty==="sr")z.push(c(v[p],g[p],x));else if(v[p].ty==="sh")z.push(ShapePathInterface(v[p],g[p],x));else if(v[p].ty==="rc")z.push(m(v[p],g[p],x));else if(v[p].ty==="rd")z.push(h(v[p],g[p],x));else if(v[p].ty==="rp")z.push(f(v[p],g[p],x));else if(v[p].ty==="gf")z.push(n(v[p],g[p],x));else z.push(t(v[p],g[p],x));return z}function e(v,g,x){var z,p=function b(y){var I=0,O=z.length;while(I<O){if(z[I]._name===y||z[I].mn===y||z[I].propertyIndex===y||z[I].ix===y||z[I].ind===y)return z[I];I+=1}if(typeof y==="number")return z[y-1];return null};p.propertyGroup=propertyGroupFactory(p,x),z=a(v.it,g.it,p.propertyGroup),p.numProperties=z.length;var w=s(v.it[v.it.length-1],g.it[g.it.length-1],p.propertyGroup);return p.transform=w,p.propertyIndex=v.cix,p._name=v.nm,p}function i(v,g,x){var z=function b(y){switch(y){case"ADBE Vectors Group":case"Contents":case 2:return z.content;default:return z.transform}};z.propertyGroup=propertyGroupFactory(z,x);var p=e(v,g,z.propertyGroup),w=s(v.it[v.it.length-1],g.it[g.it.length-1],z.propertyGroup);return z.content=p,z.transform=w,Object.defineProperty(z,"_name",{get:function b(){return v.nm}}),z.numProperties=v.np,z.propertyIndex=v.ix,z.nm=v.nm,z.mn=v.mn,z}function r(v,g,x){function z(p){if(p==="Color"||p==="color")return z.color;if(p==="Opacity"||p==="opacity")return z.opacity;return null}return Object.defineProperties(z,{color:{get:ExpressionPropertyInterface(g.c)},opacity:{get:ExpressionPropertyInterface(g.o)},_name:{value:v.nm},mn:{value:v.mn}}),g.c.setGroupProperty(PropertyInterface("Color",x)),g.o.setGroupProperty(PropertyInterface("Opacity",x)),z}function n(v,g,x){function z(p){if(p==="Start Point"||p==="start point")return z.startPoint;if(p==="End Point"||p==="end point")return z.endPoint;if(p==="Opacity"||p==="opacity")return z.opacity;return null}return Object.defineProperties(z,{startPoint:{get:ExpressionPropertyInterface(g.s)},endPoint:{get:ExpressionPropertyInterface(g.e)},opacity:{get:ExpressionPropertyInterface(g.o)},type:{get:function p(){return"a"}},_name:{value:v.nm},mn:{value:v.mn}}),g.s.setGroupProperty(PropertyInterface("Start Point",x)),g.e.setGroupProperty(PropertyInterface("End Point",x)),g.o.setGroupProperty(PropertyInterface("Opacity",x)),z}function t(){function v(){return null}return v}function l(v,g,x){var z=propertyGroupFactory(O,x),p=propertyGroupFactory(I,z);function w(K){Object.defineProperty(I,v.d[K].nm,{get:ExpressionPropertyInterface(g.d.dataProps[K].p)})}var b,y=v.d?v.d.length:0,I={};for(b=0;b<y;b+=1)w(b),g.d.dataProps[b].p.setGroupProperty(p);function O(K){if(K==="Color"||K==="color")return O.color;if(K==="Opacity"||K==="opacity")return O.opacity;if(K==="Stroke Width"||K==="stroke width")return O.strokeWidth;return null}return Object.defineProperties(O,{color:{get:ExpressionPropertyInterface(g.c)},opacity:{get:ExpressionPropertyInterface(g.o)},strokeWidth:{get:ExpressionPropertyInterface(g.w)},dash:{get:function K(){return I}},_name:{value:v.nm},mn:{value:v.mn}}),g.c.setGroupProperty(PropertyInterface("Color",z)),g.o.setGroupProperty(PropertyInterface("Opacity",z)),g.w.setGroupProperty(PropertyInterface("Stroke Width",z)),O}function o(v,g,x){function z(w){if(w===v.e.ix||w==="End"||w==="end")return z.end;if(w===v.s.ix)return z.start;if(w===v.o.ix)return z.offset;return null}var p=propertyGroupFactory(z,x);return z.propertyIndex=v.ix,g.s.setGroupProperty(PropertyInterface("Start",p)),g.e.setGroupProperty(PropertyInterface("End",p)),g.o.setGroupProperty(PropertyInterface("Offset",p)),z.propertyIndex=v.ix,z.propertyGroup=x,Object.defineProperties(z,{start:{get:ExpressionPropertyInterface(g.s)},end:{get:ExpressionPropertyInterface(g.e)},offset:{get:ExpressionPropertyInterface(g.o)},_name:{value:v.nm}}),z.mn=v.mn,z}function s(v,g,x){function z(w){if(v.a.ix===w||w==="Anchor Point")return z.anchorPoint;if(v.o.ix===w||w==="Opacity")return z.opacity;if(v.p.ix===w||w==="Position")return z.position;if(v.r.ix===w||w==="Rotation"||w==="ADBE Vector Rotation")return z.rotation;if(v.s.ix===w||w==="Scale")return z.scale;if(v.sk&&v.sk.ix===w||w==="Skew")return z.skew;if(v.sa&&v.sa.ix===w||w==="Skew Axis")return z.skewAxis;return null}var p=propertyGroupFactory(z,x);if(g.transform.mProps.o.setGroupProperty(PropertyInterface("Opacity",p)),g.transform.mProps.p.setGroupProperty(PropertyInterface("Position",p)),g.transform.mProps.a.setGroupProperty(PropertyInterface("Anchor Point",p)),g.transform.mProps.s.setGroupProperty(PropertyInterface("Scale",p)),g.transform.mProps.r.setGroupProperty(PropertyInterface("Rotation",p)),g.transform.mProps.sk)g.transform.mProps.sk.setGroupProperty(PropertyInterface("Skew",p)),g.transform.mProps.sa.setGroupProperty(PropertyInterface("Skew Angle",p));return g.transform.op.setGroupProperty(PropertyInterface("Opacity",p)),Object.defineProperties(z,{opacity:{get:ExpressionPropertyInterface(g.transform.mProps.o)},position:{get:ExpressionPropertyInterface(g.transform.mProps.p)},anchorPoint:{get:ExpressionPropertyInterface(g.transform.mProps.a)},scale:{get:ExpressionPropertyInterface(g.transform.mProps.s)},rotation:{get:ExpressionPropertyInterface(g.transform.mProps.r)},skew:{get:ExpressionPropertyInterface(g.transform.mProps.sk)},skewAxis:{get:ExpressionPropertyInterface(g.transform.mProps.sa)},_name:{value:v.nm}}),z.ty="tr",z.mn=v.mn,z.propertyGroup=x,z}function d(v,g,x){function z(b){if(v.p.ix===b)return z.position;if(v.s.ix===b)return z.size;return null}var p=propertyGroupFactory(z,x);z.propertyIndex=v.ix;var w=g.sh.ty==="tm"?g.sh.prop:g.sh;return w.s.setGroupProperty(PropertyInterface("Size",p)),w.p.setGroupProperty(PropertyInterface("Position",p)),Object.defineProperties(z,{size:{get:ExpressionPropertyInterface(w.s)},position:{get:ExpressionPropertyInterface(w.p)},_name:{value:v.nm}}),z.mn=v.mn,z}function c(v,g,x){function z(b){if(v.p.ix===b)return z.position;if(v.r.ix===b)return z.rotation;if(v.pt.ix===b)return z.points;if(v.or.ix===b||b==="ADBE Vector Star Outer Radius")return z.outerRadius;if(v.os.ix===b)return z.outerRoundness;if(v.ir&&(v.ir.ix===b||b==="ADBE Vector Star Inner Radius"))return z.innerRadius;if(v.is&&v.is.ix===b)return z.innerRoundness;return null}var p=propertyGroupFactory(z,x),w=g.sh.ty==="tm"?g.sh.prop:g.sh;if(z.propertyIndex=v.ix,w.or.setGroupProperty(PropertyInterface("Outer Radius",p)),w.os.setGroupProperty(PropertyInterface("Outer Roundness",p)),w.pt.setGroupProperty(PropertyInterface("Points",p)),w.p.setGroupProperty(PropertyInterface("Position",p)),w.r.setGroupProperty(PropertyInterface("Rotation",p)),v.ir)w.ir.setGroupProperty(PropertyInterface("Inner Radius",p)),w.is.setGroupProperty(PropertyInterface("Inner Roundness",p));return Object.defineProperties(z,{position:{get:ExpressionPropertyInterface(w.p)},rotation:{get:ExpressionPropertyInterface(w.r)},points:{get:ExpressionPropertyInterface(w.pt)},outerRadius:{get:ExpressionPropertyInterface(w.or)},outerRoundness:{get:ExpressionPropertyInterface(w.os)},innerRadius:{get:ExpressionPropertyInterface(w.ir)},innerRoundness:{get:ExpressionPropertyInterface(w.is)},_name:{value:v.nm}}),z.mn=v.mn,z}function m(v,g,x){function z(b){if(v.p.ix===b)return z.position;if(v.r.ix===b)return z.roundness;if(v.s.ix===b||b==="Size"||b==="ADBE Vector Rect Size")return z.size;return null}var p=propertyGroupFactory(z,x),w=g.sh.ty==="tm"?g.sh.prop:g.sh;return z.propertyIndex=v.ix,w.p.setGroupProperty(PropertyInterface("Position",p)),w.s.setGroupProperty(PropertyInterface("Size",p)),w.r.setGroupProperty(PropertyInterface("Rotation",p)),Object.defineProperties(z,{position:{get:ExpressionPropertyInterface(w.p)},roundness:{get:ExpressionPropertyInterface(w.r)},size:{get:ExpressionPropertyInterface(w.s)},_name:{value:v.nm}}),z.mn=v.mn,z}function h(v,g,x){function z(b){if(v.r.ix===b||b==="Round Corners 1")return z.radius;return null}var p=propertyGroupFactory(z,x),w=g;return z.propertyIndex=v.ix,w.rd.setGroupProperty(PropertyInterface("Radius",p)),Object.defineProperties(z,{radius:{get:ExpressionPropertyInterface(w.rd)},_name:{value:v.nm}}),z.mn=v.mn,z}function f(v,g,x){function z(b){if(v.c.ix===b||b==="Copies")return z.copies;if(v.o.ix===b||b==="Offset")return z.offset;return null}var p=propertyGroupFactory(z,x),w=g;return z.propertyIndex=v.ix,w.c.setGroupProperty(PropertyInterface("Copies",p)),w.o.setGroupProperty(PropertyInterface("Offset",p)),Object.defineProperties(z,{copies:{get:ExpressionPropertyInterface(w.c)},offset:{get:ExpressionPropertyInterface(w.o)},_name:{value:v.nm}}),z.mn=v.mn,z}return function(v,g,x){var z;function p(b){if(typeof b==="number"){if(b=b===void 0?1:b,b===0)return x;return z[b-1]}var y=0,I=z.length;while(y<I){if(z[y]._name===b)return z[y];y+=1}return null}function w(){return x}return p.propertyGroup=propertyGroupFactory(p,w),z=a(v,g,p.propertyGroup),p.numProperties=z.length,p._name="Contents",p}}(),TextExpressionInterface=function(){return function(a){var e;function i(r){switch(r){case"ADBE Text Document":return i.sourceText;default:return null}}return Object.defineProperty(i,"sourceText",{get:function r(){a.textProperty.getValue();var n=a.textProperty.currentData.t;if(!e||n!==e.value)e=new String(n),e.value=n||new String(n),Object.defineProperty(e,"style",{get:function t(){return{fillColor:a.textProperty.currentData.fc}}});return e}}),i}}();function _typeof(a){return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(a)}var FootageInterface=function(){var a=function i(r){var n="",t=r.getFootageData();function l(){return n="",t=r.getFootageData(),o}function o(s){if(t[s]){if(n=s,t=t[s],_typeof(t)==="object")return o;return t}var d=s.indexOf(n);if(d!==-1){var c=parseInt(s.substr(d+n.length),10);if(t=t[c],_typeof(t)==="object")return o;return t}return""}return l},e=function i(r){function n(t){if(t==="Outline")return n.outlineInterface();return null}return n._name="Outline",n.outlineInterface=a(r),n};return function(i){function r(n){if(n==="Data")return r.dataInterface;return null}return r._name="Data",r.dataInterface=e(i),r}}(),interfaces={layer:LayerExpressionInterface,effects:EffectsExpressionInterface,comp:CompExpressionInterface,shape:ShapeExpressionInterface,text:TextExpressionInterface,footage:FootageInterface};function getInterface(a){return interfaces[a]||null}var expressionHelpers=function(){function a(l,o,s){if(o.x)s.k=!0,s.x=!0,s.initiateExpression=ExpressionManager.initiateExpression,s.effectsSequence.push(s.initiateExpression(l,o,s).bind(s))}function e(l){if(l*=this.elem.globalData.frameRate,l-=this.offsetTime,l!==this._cachingAtTime.lastFrame)this._cachingAtTime.lastIndex=this._cachingAtTime.lastFrame<l?this._cachingAtTime.lastIndex:0,this._cachingAtTime.value=this.interpolateValue(l,this._cachingAtTime),this._cachingAtTime.lastFrame=l;return this._cachingAtTime.value}function i(l){var o=-0.01,s=this.getValueAtTime(l),d=this.getValueAtTime(l+o),c=0;if(s.length){var m;for(m=0;m<s.length;m+=1)c+=Math.pow(d[m]-s[m],2);c=Math.sqrt(c)*100}else c=0;return c}function r(l){if(this.vel!==void 0)return this.vel;var o=-0.001,s=this.getValueAtTime(l),d=this.getValueAtTime(l+o),c;if(s.length){c=createTypedArray("float32",s.length);var m;for(m=0;m<s.length;m+=1)c[m]=(d[m]-s[m])/o}else c=(d-s)/o;return c}function n(){return this.pv}function t(l){this.propertyGroup=l}return{searchExpressions:a,getSpeedAtTime:i,getVelocityAtTime:r,getValueAtTime:e,getStaticValueAtTime:n,setGroupProperty:t}}();function addPropertyDecorator(){function a(h,f,v){if(!this.k||!this.keyframes)return this.pv;h=h?h.toLowerCase():"";var g=this.comp.renderedFrame,x=this.keyframes,z=x[x.length-1].t;if(g<=z)return this.pv;var p,w;if(!v){if(!f||f>x.length-1)f=x.length-1;w=x[x.length-1-f].t,p=z-w}else{if(!f)p=Math.max(0,z-this.elem.data.ip);else p=Math.abs(z-this.elem.comp.globalData.frameRate*f);w=z-p}var b,y,I;if(h==="pingpong"){var O=Math.floor((g-w)/p);if(O%2!==0)return this.getValueAtTime((p-(g-w)%p+w)/this.comp.globalData.frameRate,0)}else if(h==="offset"){var K=this.getValueAtTime(w/this.comp.globalData.frameRate,0),j=this.getValueAtTime(z/this.comp.globalData.frameRate,0),T=this.getValueAtTime(((g-w)%p+w)/this.comp.globalData.frameRate,0),A=Math.floor((g-w)/p);if(this.pv.length){I=new Array(K.length),y=I.length;for(b=0;b<y;b+=1)I[b]=(j[b]-K[b])*A+T[b];return I}return(j-K)*A+T}else if(h==="continue"){var V=this.getValueAtTime(z/this.comp.globalData.frameRate,0),N=this.getValueAtTime((z-0.001)/this.comp.globalData.frameRate,0);if(this.pv.length){I=new Array(V.length),y=I.length;for(b=0;b<y;b+=1)I[b]=V[b]+(V[b]-N[b])*((g-z)/this.comp.globalData.frameRate)/0.0005;return I}return V+(V-N)*((g-z)/0.001)}return this.getValueAtTime(((g-w)%p+w)/this.comp.globalData.frameRate,0)}function e(h,f,v){if(!this.k)return this.pv;h=h?h.toLowerCase():"";var g=this.comp.renderedFrame,x=this.keyframes,z=x[0].t;if(g>=z)return this.pv;var p,w;if(!v){if(!f||f>x.length-1)f=x.length-1;w=x[f].t,p=w-z}else{if(!f)p=Math.max(0,this.elem.data.op-z);else p=Math.abs(this.elem.comp.globalData.frameRate*f);w=z+p}var b,y,I;if(h==="pingpong"){var O=Math.floor((z-g)/p);if(O%2===0)return this.getValueAtTime(((z-g)%p+z)/this.comp.globalData.frameRate,0)}else if(h==="offset"){var K=this.getValueAtTime(z/this.comp.globalData.frameRate,0),j=this.getValueAtTime(w/this.comp.globalData.frameRate,0),T=this.getValueAtTime((p-(z-g)%p+z)/this.comp.globalData.frameRate,0),A=Math.floor((z-g)/p)+1;if(this.pv.length){I=new Array(K.length),y=I.length;for(b=0;b<y;b+=1)I[b]=T[b]-(j[b]-K[b])*A;return I}return T-(j-K)*A}else if(h==="continue"){var V=this.getValueAtTime(z/this.comp.globalData.frameRate,0),N=this.getValueAtTime((z+0.001)/this.comp.globalData.frameRate,0);if(this.pv.length){I=new Array(V.length),y=I.length;for(b=0;b<y;b+=1)I[b]=V[b]+(V[b]-N[b])*(z-g)/0.001;return I}return V+(V-N)*(z-g)/0.001}return this.getValueAtTime((p-((z-g)%p+z))/this.comp.globalData.frameRate,0)}function i(h,f){if(!this.k)return this.pv;if(h=(h||0.4)*0.5,f=Math.floor(f||5),f<=1)return this.pv;var v=this.comp.renderedFrame/this.comp.globalData.frameRate,g=v-h,x=v+h,z=f>1?(x-g)/(f-1):1,p=0,w=0,b;if(this.pv.length)b=createTypedArray("float32",this.pv.length);else b=0;var y;while(p<f){if(y=this.getValueAtTime(g+p*z),this.pv.length)for(w=0;w<this.pv.length;w+=1)b[w]+=y[w];else b+=y;p+=1}if(this.pv.length)for(w=0;w<this.pv.length;w+=1)b[w]/=f;else b/=f;return b}function r(h){if(!this._transformCachingAtTime)this._transformCachingAtTime={v:new Matrix};var f=this._transformCachingAtTime.v;if(f.cloneFromProps(this.pre.props),this.appliedTransformations<1){var v=this.a.getValueAtTime(h);f.translate(-v[0]*this.a.mult,-v[1]*this.a.mult,v[2]*this.a.mult)}if(this.appliedTransformations<2){var g=this.s.getValueAtTime(h);f.scale(g[0]*this.s.mult,g[1]*this.s.mult,g[2]*this.s.mult)}if(this.sk&&this.appliedTransformations<3){var x=this.sk.getValueAtTime(h),z=this.sa.getValueAtTime(h);f.skewFromAxis(-x*this.sk.mult,z*this.sa.mult)}if(this.r&&this.appliedTransformations<4){var p=this.r.getValueAtTime(h);f.rotate(-p*this.r.mult)}else if(!this.r&&this.appliedTransformations<4){var w=this.rz.getValueAtTime(h),b=this.ry.getValueAtTime(h),y=this.rx.getValueAtTime(h),I=this.or.getValueAtTime(h);f.rotateZ(-w*this.rz.mult).rotateY(b*this.ry.mult).rotateX(y*this.rx.mult).rotateZ(-I[2]*this.or.mult).rotateY(I[1]*this.or.mult).rotateX(I[0]*this.or.mult)}if(this.data.p&&this.data.p.s){var O=this.px.getValueAtTime(h),K=this.py.getValueAtTime(h);if(this.data.p.z){var j=this.pz.getValueAtTime(h);f.translate(O*this.px.mult,K*this.py.mult,-j*this.pz.mult)}else f.translate(O*this.px.mult,K*this.py.mult,0)}else{var T=this.p.getValueAtTime(h);f.translate(T[0]*this.p.mult,T[1]*this.p.mult,-T[2]*this.p.mult)}return f}function n(){return this.v.clone(new Matrix)}var t=TransformPropertyFactory.getTransformProperty;TransformPropertyFactory.getTransformProperty=function(h,f,v){var g=t(h,f,v);if(g.dynamicProperties.length)g.getValueAtTime=r.bind(g);else g.getValueAtTime=n.bind(g);return g.setGroupProperty=expressionHelpers.setGroupProperty,g};var l=PropertyFactory.getProp;PropertyFactory.getProp=function(h,f,v,g,x){var z=l(h,f,v,g,x);if(z.kf)z.getValueAtTime=expressionHelpers.getValueAtTime.bind(z);else z.getValueAtTime=expressionHelpers.getStaticValueAtTime.bind(z);z.setGroupProperty=expressionHelpers.setGroupProperty,z.loopOut=a,z.loopIn=e,z.smooth=i,z.getVelocityAtTime=expressionHelpers.getVelocityAtTime.bind(z),z.getSpeedAtTime=expressionHelpers.getSpeedAtTime.bind(z),z.numKeys=f.a===1?f.k.length:0,z.propertyIndex=f.ix;var p=0;if(v!==0)p=createTypedArray("float32",f.a===1?f.k[0].s.length:f.k.length);if(z._cachingAtTime={lastFrame:initialDefaultFrame,lastIndex:0,value:p},expressionHelpers.searchExpressions(h,f,z),z.k)x.addDynamicProperty(z);return z};function o(h){if(!this._cachingAtTime)this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame};if(h*=this.elem.globalData.frameRate,h-=this.offsetTime,h!==this._cachingAtTime.lastTime)this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime<h?this._caching.lastIndex:0,this._cachingAtTime.lastTime=h,this.interpolateShape(h,this._cachingAtTime.shapeValue,this._cachingAtTime);return this._cachingAtTime.shapeValue}var s=ShapePropertyFactory.getConstructorFunction(),d=ShapePropertyFactory.getKeyframedConstructorFunction();function c(){}c.prototype={vertices:function h(f,v){if(this.k)this.getValue();var g=this.v;if(v!==void 0)g=this.getValueAtTime(v,0);var x,z=g._length,p=g[f],w=g.v,b=createSizedArray(z);for(x=0;x<z;x+=1)if(f==="i"||f==="o")b[x]=[p[x][0]-w[x][0],p[x][1]-w[x][1]];else b[x]=[p[x][0],p[x][1]];return b},points:function h(f){return this.vertices("v",f)},inTangents:function h(f){return this.vertices("i",f)},outTangents:function h(f){return this.vertices("o",f)},isClosed:function h(){return this.v.c},pointOnPath:function h(f,v){var g=this.v;if(v!==void 0)g=this.getValueAtTime(v,0);if(!this._segmentsLength)this._segmentsLength=bez.getSegmentsLength(g);var x=this._segmentsLength,z=x.lengths,p=x.totalLength*f,w=0,b=z.length,y=0,I;while(w<b){if(y+z[w].addedLength>p){var O=w,K=g.c&&w===b-1?0:w+1,j=(p-y)/z[w].addedLength;I=bez.getPointInSegment(g.v[O],g.v[K],g.o[O],g.i[K],j,z[w]);break}else y+=z[w].addedLength;w+=1}if(!I)I=g.c?[g.v[0][0],g.v[0][1]]:[g.v[g._length-1][0],g.v[g._length-1][1]];return I},vectorOnPath:function h(f,v,g){if(f==1)f=this.v.c;else if(f==0)f=0.999;var x=this.pointOnPath(f,v),z=this.pointOnPath(f+0.001,v),p=z[0]-x[0],w=z[1]-x[1],b=Math.sqrt(Math.pow(p,2)+Math.pow(w,2));if(b===0)return[0,0];var y=g==="tangent"?[p/b,w/b]:[-w/b,p/b];return y},tangentOnPath:function h(f,v){return this.vectorOnPath(f,v,"tangent")},normalOnPath:function h(f,v){return this.vectorOnPath(f,v,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([c],s),extendPrototype([c],d),d.prototype.getValueAtTime=o,d.prototype.initiateExpression=ExpressionManager.initiateExpression;var m=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(h,f,v,g,x){var z=m(h,f,v,g,x);if(z.propertyIndex=f.ix,z.lock=!1,v===3)expressionHelpers.searchExpressions(h,f.pt,z);else if(v===4)expressionHelpers.searchExpressions(h,f.ks,z);if(z.k)h.addDynamicProperty(z);return z}}function initialize$1(){addPropertyDecorator()}function addDecorator(){function a(){if(this.data.d.x)return this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0;return null}TextProperty.prototype.getExpressionValue=function(e,i){var r=this.calculateExpression(i);if(e.t!==r){var n={};return this.copyData(n,e),n.t=r.toString(),n.__complete=!1,n}return e},TextProperty.prototype.searchProperty=function(){var e=this.searchKeyframes(),i=this.searchExpressions();return this.kf=e||i,this.kf},TextProperty.prototype.searchExpressions=a}function initialize(){addDecorator()}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function a(e,i){var r=createNS("feMerge");r.setAttribute("result",e);var n,t;for(t=0;t<i.length;t+=1)n=createNS("feMergeNode"),n.setAttribute("in",i[t]),r.appendChild(n),r.appendChild(n);return r}};var linearFilterValue="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0";function SVGTintFilter(a,e,i,r,n){this.filterManager=e;var t=createNS("feColorMatrix");t.setAttribute("type","matrix"),t.setAttribute("color-interpolation-filters","linearRGB"),t.setAttribute("values",linearFilterValue+" 1 0"),this.linearFilter=t,t.setAttribute("result",r+"_tint_1"),a.appendChild(t),t=createNS("feColorMatrix"),t.setAttribute("type","matrix"),t.setAttribute("color-interpolation-filters","sRGB"),t.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),t.setAttribute("result",r+"_tint_2"),a.appendChild(t),this.matrixFilter=t;var l=this.createMergeNode(r,[n,r+"_tint_1",r+"_tint_2"]);a.appendChild(l)}extendPrototype([SVGComposableEffect],SVGTintFilter),SVGTintFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var e=this.filterManager.effectElements[0].p.v,i=this.filterManager.effectElements[1].p.v,r=this.filterManager.effectElements[2].p.v/100;this.linearFilter.setAttribute("values",linearFilterValue+" "+r+" 0"),this.matrixFilter.setAttribute("values",i[0]-e[0]+" 0 0 0 "+e[0]+" "+(i[1]-e[1])+" 0 0 0 "+e[1]+" "+(i[2]-e[2])+" 0 0 0 "+e[2]+" 0 0 0 1 0")}};function SVGFillFilter(a,e,i,r){this.filterManager=e;var n=createNS("feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("color-interpolation-filters","sRGB"),n.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),n.setAttribute("result",r),a.appendChild(n),this.matrixFilter=n}SVGFillFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var e=this.filterManager.effectElements[2].p.v,i=this.filterManager.effectElements[6].p.v;this.matrixFilter.setAttribute("values","0 0 0 0 "+e[0]+" 0 0 0 0 "+e[1]+" 0 0 0 0 "+e[2]+" 0 0 0 "+i+" 0")}};function SVGStrokeEffect(a,e,i){this.initialized=!1,this.filterManager=e,this.elem=i,this.paths=[]}SVGStrokeEffect.prototype.initialize=function(){var a=this.elem.layerElement.children||this.elem.layerElement.childNodes,e,i,r,n;if(this.filterManager.effectElements[1].p.v===1)n=this.elem.maskManager.masksProperties.length,r=0;else r=this.filterManager.effectElements[0].p.v-1,n=r+1;i=createNS("g"),i.setAttribute("fill","none"),i.setAttribute("stroke-linecap","round"),i.setAttribute("stroke-dashoffset",1);for(r;r<n;r+=1)e=createNS("path"),i.appendChild(e),this.paths.push({p:e,m:r});if(this.filterManager.effectElements[10].p.v===3){var t=createNS("mask"),l=createElementID();t.setAttribute("id",l),t.setAttribute("mask-type","alpha"),t.appendChild(i),this.elem.globalData.defs.appendChild(t);var o=createNS("g");o.setAttribute("mask","url("+getLocationHref()+"#"+l+")");while(a[0])o.appendChild(a[0]);this.elem.layerElement.appendChild(o),this.masker=t,i.setAttribute("stroke","#fff")}else if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(this.filterManager.effectElements[10].p.v===2){a=this.elem.layerElement.children||this.elem.layerElement.childNodes;while(a.length)this.elem.layerElement.removeChild(a[0])}this.elem.layerElement.appendChild(i),this.elem.layerElement.removeAttribute("mask"),i.setAttribute("stroke","#fff")}this.initialized=!0,this.pathMasker=i},SVGStrokeEffect.prototype.renderFrame=function(a){if(!this.initialized)this.initialize();var e,i=this.paths.length,r,n;for(e=0;e<i;e+=1)if(this.paths[e].m!==-1){if(r=this.elem.maskManager.viewData[this.paths[e].m],n=this.paths[e].p,a||this.filterManager._mdf||r.prop._mdf)n.setAttribute("d",r.lastPath);if(a||this.filterManager.effectElements[9].p._mdf||this.filterManager.effectElements[4].p._mdf||this.filterManager.effectElements[7].p._mdf||this.filterManager.effectElements[8].p._mdf||r.prop._mdf){var t;if(this.filterManager.effectElements[7].p.v!==0||this.filterManager.effectElements[8].p.v!==100){var l=Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*0.01,o=Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*0.01,s=n.getTotalLength();t="0 0 0 "+s*l+" ";var d=s*(o-l),c=1+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01,m=Math.floor(d/c),h;for(h=0;h<m;h+=1)t+="1 "+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01+" ";t+="0 "+s*10+" 0 0"}else t="1 "+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01;n.setAttribute("stroke-dasharray",t)}}if(a||this.filterManager.effectElements[4].p._mdf)this.pathMasker.setAttribute("stroke-width",this.filterManager.effectElements[4].p.v*2);if(a||this.filterManager.effectElements[6].p._mdf)this.pathMasker.setAttribute("opacity",this.filterManager.effectElements[6].p.v);if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(a||this.filterManager.effectElements[3].p._mdf){var f=this.filterManager.effectElements[3].p.v;this.pathMasker.setAttribute("stroke","rgb("+bmFloor(f[0]*255)+","+bmFloor(f[1]*255)+","+bmFloor(f[2]*255)+")")}}};function SVGTritoneFilter(a,e,i,r){this.filterManager=e;var n=createNS("feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("color-interpolation-filters","linearRGB"),n.setAttribute("values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"),a.appendChild(n);var t=createNS("feComponentTransfer");t.setAttribute("color-interpolation-filters","sRGB"),t.setAttribute("result",r),this.matrixFilter=t;var l=createNS("feFuncR");l.setAttribute("type","table"),t.appendChild(l),this.feFuncR=l;var o=createNS("feFuncG");o.setAttribute("type","table"),t.appendChild(o),this.feFuncG=o;var s=createNS("feFuncB");s.setAttribute("type","table"),t.appendChild(s),this.feFuncB=s,a.appendChild(t)}SVGTritoneFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var e=this.filterManager.effectElements[0].p.v,i=this.filterManager.effectElements[1].p.v,r=this.filterManager.effectElements[2].p.v,n=r[0]+" "+i[0]+" "+e[0],t=r[1]+" "+i[1]+" "+e[1],l=r[2]+" "+i[2]+" "+e[2];this.feFuncR.setAttribute("tableValues",n),this.feFuncG.setAttribute("tableValues",t),this.feFuncB.setAttribute("tableValues",l)}};function SVGProLevelsFilter(a,e,i,r){this.filterManager=e;var n=this.filterManager.effectElements,t=createNS("feComponentTransfer");if(n[10].p.k||n[10].p.v!==0||n[11].p.k||n[11].p.v!==1||n[12].p.k||n[12].p.v!==1||n[13].p.k||n[13].p.v!==0||n[14].p.k||n[14].p.v!==1)this.feFuncR=this.createFeFunc("feFuncR",t);if(n[17].p.k||n[17].p.v!==0||n[18].p.k||n[18].p.v!==1||n[19].p.k||n[19].p.v!==1||n[20].p.k||n[20].p.v!==0||n[21].p.k||n[21].p.v!==1)this.feFuncG=this.createFeFunc("feFuncG",t);if(n[24].p.k||n[24].p.v!==0||n[25].p.k||n[25].p.v!==1||n[26].p.k||n[26].p.v!==1||n[27].p.k||n[27].p.v!==0||n[28].p.k||n[28].p.v!==1)this.feFuncB=this.createFeFunc("feFuncB",t);if(n[31].p.k||n[31].p.v!==0||n[32].p.k||n[32].p.v!==1||n[33].p.k||n[33].p.v!==1||n[34].p.k||n[34].p.v!==0||n[35].p.k||n[35].p.v!==1)this.feFuncA=this.createFeFunc("feFuncA",t);if(this.feFuncR||this.feFuncG||this.feFuncB||this.feFuncA)t.setAttribute("color-interpolation-filters","sRGB"),a.appendChild(t);if(n[3].p.k||n[3].p.v!==0||n[4].p.k||n[4].p.v!==1||n[5].p.k||n[5].p.v!==1||n[6].p.k||n[6].p.v!==0||n[7].p.k||n[7].p.v!==1)t=createNS("feComponentTransfer"),t.setAttribute("color-interpolation-filters","sRGB"),t.setAttribute("result",r),a.appendChild(t),this.feFuncRComposed=this.createFeFunc("feFuncR",t),this.feFuncGComposed=this.createFeFunc("feFuncG",t),this.feFuncBComposed=this.createFeFunc("feFuncB",t)}SVGProLevelsFilter.prototype.createFeFunc=function(a,e){var i=createNS(a);return i.setAttribute("type","table"),e.appendChild(i),i},SVGProLevelsFilter.prototype.getTableValue=function(a,e,i,r,n){var t=0,l=256,o,s=Math.min(a,e),d=Math.max(a,e),c=Array.call(null,{length:l}),m,h=0,f=n-r,v=e-a;while(t<=256){if(o=t/256,o<=s)m=v<0?n:r;else if(o>=d)m=v<0?r:n;else m=r+f*Math.pow((o-a)/v,1/i);c[h]=m,h+=1,t+=256/(l-1)}return c.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var e,i=this.filterManager.effectElements;if(this.feFuncRComposed&&(a||i[3].p._mdf||i[4].p._mdf||i[5].p._mdf||i[6].p._mdf||i[7].p._mdf))e=this.getTableValue(i[3].p.v,i[4].p.v,i[5].p.v,i[6].p.v,i[7].p.v),this.feFuncRComposed.setAttribute("tableValues",e),this.feFuncGComposed.setAttribute("tableValues",e),this.feFuncBComposed.setAttribute("tableValues",e);if(this.feFuncR&&(a||i[10].p._mdf||i[11].p._mdf||i[12].p._mdf||i[13].p._mdf||i[14].p._mdf))e=this.getTableValue(i[10].p.v,i[11].p.v,i[12].p.v,i[13].p.v,i[14].p.v),this.feFuncR.setAttribute("tableValues",e);if(this.feFuncG&&(a||i[17].p._mdf||i[18].p._mdf||i[19].p._mdf||i[20].p._mdf||i[21].p._mdf))e=this.getTableValue(i[17].p.v,i[18].p.v,i[19].p.v,i[20].p.v,i[21].p.v),this.feFuncG.setAttribute("tableValues",e);if(this.feFuncB&&(a||i[24].p._mdf||i[25].p._mdf||i[26].p._mdf||i[27].p._mdf||i[28].p._mdf))e=this.getTableValue(i[24].p.v,i[25].p.v,i[26].p.v,i[27].p.v,i[28].p.v),this.feFuncB.setAttribute("tableValues",e);if(this.feFuncA&&(a||i[31].p._mdf||i[32].p._mdf||i[33].p._mdf||i[34].p._mdf||i[35].p._mdf))e=this.getTableValue(i[31].p.v,i[32].p.v,i[33].p.v,i[34].p.v,i[35].p.v),this.feFuncA.setAttribute("tableValues",e)}};function SVGDropShadowEffect(a,e,i,r,n){var t=e.container.globalData.renderConfig.filterSize,l=e.data.fs||t;a.setAttribute("x",l.x||t.x),a.setAttribute("y",l.y||t.y),a.setAttribute("width",l.width||t.width),a.setAttribute("height",l.height||t.height),this.filterManager=e;var o=createNS("feGaussianBlur");o.setAttribute("in","SourceAlpha"),o.setAttribute("result",r+"_drop_shadow_1"),o.setAttribute("stdDeviation","0"),this.feGaussianBlur=o,a.appendChild(o);var s=createNS("feOffset");s.setAttribute("dx","25"),s.setAttribute("dy","0"),s.setAttribute("in",r+"_drop_shadow_1"),s.setAttribute("result",r+"_drop_shadow_2"),this.feOffset=s,a.appendChild(s);var d=createNS("feFlood");d.setAttribute("flood-color","#00ff00"),d.setAttribute("flood-opacity","1"),d.setAttribute("result",r+"_drop_shadow_3"),this.feFlood=d,a.appendChild(d);var c=createNS("feComposite");c.setAttribute("in",r+"_drop_shadow_3"),c.setAttribute("in2",r+"_drop_shadow_2"),c.setAttribute("operator","in"),c.setAttribute("result",r+"_drop_shadow_4"),a.appendChild(c);var m=this.createMergeNode(r,[r+"_drop_shadow_4",n]);a.appendChild(m)}extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){if(a||this.filterManager.effectElements[4].p._mdf)this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4);if(a||this.filterManager.effectElements[0].p._mdf){var e=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(e[0]*255),Math.round(e[1]*255),Math.round(e[2]*255)))}if(a||this.filterManager.effectElements[1].p._mdf)this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255);if(a||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var i=this.filterManager.effectElements[3].p.v,r=(this.filterManager.effectElements[2].p.v-90)*degToRads,n=i*Math.cos(r),t=i*Math.sin(r);this.feOffset.setAttribute("dx",n),this.feOffset.setAttribute("dy",t)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(a,e,i){this.initialized=!1,this.filterManager=e,this.filterElem=a,this.elem=i,i.matteElement=createNS("g"),i.matteElement.appendChild(i.layerElement),i.matteElement.appendChild(i.transformedElement),i.baseElement=i.matteElement}SVGMatte3Effect.prototype.findSymbol=function(a){var e=0,i=_svgMatteSymbols.length;while(e<i){if(_svgMatteSymbols[e]===a)return _svgMatteSymbols[e];e+=1}return null},SVGMatte3Effect.prototype.replaceInParent=function(a,e){var i=a.layerElement.parentNode;if(!i)return;var r=i.children,n=0,t=r.length;while(n<t){if(r[n]===a.layerElement)break;n+=1}var l;if(n<=t-2)l=r[n+1];var o=createNS("use");if(o.setAttribute("href","#"+e),l)i.insertBefore(o,l);else i.appendChild(o)},SVGMatte3Effect.prototype.setElementAsMask=function(a,e){if(!this.findSymbol(e)){var i=createElementID(),r=createNS("mask");r.setAttribute("id",e.layerId),r.setAttribute("mask-type","alpha"),_svgMatteSymbols.push(e);var n=a.globalData.defs;n.appendChild(r);var t=createNS("symbol");t.setAttribute("id",i),this.replaceInParent(e,i),t.appendChild(e.layerElement),n.appendChild(t);var l=createNS("use");l.setAttribute("href","#"+i),r.appendChild(l),e.data.hd=!1,e.show()}a.setMatte(e.layerId)},SVGMatte3Effect.prototype.initialize=function(){var a=this.filterManager.effectElements[0].p.v,e=this.elem.comp.elements,i=0,r=e.length;while(i<r){if(e[i]&&e[i].data.ind===a)this.setElementAsMask(this.elem,e[i]);i+=1}this.initialized=!0},SVGMatte3Effect.prototype.renderFrame=function(){if(!this.initialized)this.initialize()};function SVGGaussianBlurEffect(a,e,i,r){a.setAttribute("x","-100%"),a.setAttribute("y","-100%"),a.setAttribute("width","300%"),a.setAttribute("height","300%"),this.filterManager=e;var n=createNS("feGaussianBlur");n.setAttribute("result",r),a.appendChild(n),this.feGaussianBlur=n}SVGGaussianBlurEffect.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var e=0.3,i=this.filterManager.effectElements[0].p.v*e,r=this.filterManager.effectElements[1].p.v,n=r==3?0:i,t=r==2?0:i;this.feGaussianBlur.setAttribute("stdDeviation",n+" "+t);var l=this.filterManager.effectElements[2].p.v==1?"wrap":"duplicate";this.feGaussianBlur.setAttribute("edgeMode",l)}};function TransformEffect(){}TransformEffect.prototype.init=function(a){this.effectsManager=a,this.type=effectTypes.TRANSFORM_EFFECT,this.matrix=new Matrix,this.opacity=-1,this._mdf=!1,this._opMdf=!1},TransformEffect.prototype.renderFrame=function(a){if(this._opMdf=!1,this._mdf=!1,a||this.effectsManager._mdf){var e=this.effectsManager.effectElements,i=e[0].p.v,r=e[1].p.v,n=e[2].p.v===1,t=e[3].p.v,l=n?t:e[4].p.v,o=e[5].p.v,s=e[6].p.v,d=e[7].p.v;if(this.matrix.reset(),this.matrix.translate(-i[0],-i[1],i[2]),this.matrix.scale(l*0.01,t*0.01,1),this.matrix.rotate(-d*degToRads),this.matrix.skewFromAxis(-o*degToRads,(s+90)*degToRads),this.matrix.translate(r[0],r[1],0),this._mdf=!0,this.opacity!==e[8].p.v)this.opacity=e[8].p.v,this._opMdf=!0}};function SVGTransformEffect(a,e){this.init(e)}extendPrototype([TransformEffect],SVGTransformEffect);function CVTransformEffect(a){this.init(a)}return extendPrototype([TransformEffect],CVTransformEffect),registerRenderer("canvas",CanvasRenderer),registerRenderer("html",HybridRenderer),registerRenderer("svg",SVGRenderer),ShapeModifiers.registerModifier("tm",TrimModifier),ShapeModifiers.registerModifier("pb",PuckerAndBloatModifier),ShapeModifiers.registerModifier("rp",RepeaterModifier),ShapeModifiers.registerModifier("rd",RoundCornersModifier),ShapeModifiers.registerModifier("zz",ZigZagModifier),ShapeModifiers.registerModifier("op",OffsetPathModifier),setExpressionsPlugin(Expressions),setExpressionInterfaces(getInterface),initialize$1(),initialize(),registerEffect$1(20,SVGTintFilter,!0),registerEffect$1(21,SVGFillFilter,!0),registerEffect$1(22,SVGStrokeEffect,!1),registerEffect$1(23,SVGTritoneFilter,!0),registerEffect$1(24,SVGProLevelsFilter,!0),registerEffect$1(25,SVGDropShadowEffect,!0),registerEffect$1(28,SVGMatte3Effect,!1),registerEffect$1(29,SVGGaussianBlurEffect,!0),registerEffect$1(35,SVGTransformEffect,!1),registerEffect(35,CVTransformEffect),lottie})});var Z6=C1((H2,Qi)=>{/*!
|
|
9
|
+
*/var Matrix=function(){var{cos:a,sin:e,tan:i,round:r}=Math;function n(){return this.props[0]=1,this.props[1]=0,this.props[2]=0,this.props[3]=0,this.props[4]=0,this.props[5]=1,this.props[6]=0,this.props[7]=0,this.props[8]=0,this.props[9]=0,this.props[10]=1,this.props[11]=0,this.props[12]=0,this.props[13]=0,this.props[14]=0,this.props[15]=1,this}function t(H){if(H===0)return this;var M=a(H),Q=e(H);return this._t(M,-Q,0,0,Q,M,0,0,0,0,1,0,0,0,0,1)}function l(H){if(H===0)return this;var M=a(H),Q=e(H);return this._t(1,0,0,0,0,M,-Q,0,0,Q,M,0,0,0,0,1)}function o(H){if(H===0)return this;var M=a(H),Q=e(H);return this._t(M,0,Q,0,0,1,0,0,-Q,0,M,0,0,0,0,1)}function s(H){if(H===0)return this;var M=a(H),Q=e(H);return this._t(M,-Q,0,0,Q,M,0,0,0,0,1,0,0,0,0,1)}function d(H,M){return this._t(1,M,H,1,0,0)}function c(H,M){return this.shear(i(H),i(M))}function m(H,M){var Q=a(M),L=e(M);return this._t(Q,L,0,0,-L,Q,0,0,0,0,1,0,0,0,0,1)._t(1,0,0,0,i(H),1,0,0,0,0,1,0,0,0,0,1)._t(Q,-L,0,0,L,Q,0,0,0,0,1,0,0,0,0,1)}function h(H,M,Q){if(!Q&&Q!==0)Q=1;if(H===1&&M===1&&Q===1)return this;return this._t(H,0,0,0,0,M,0,0,0,0,Q,0,0,0,0,1)}function f(H,M,Q,L,_,i1,l1,c1,k1,A1,ia,ta,T1,X1,ra,x1){return this.props[0]=H,this.props[1]=M,this.props[2]=Q,this.props[3]=L,this.props[4]=_,this.props[5]=i1,this.props[6]=l1,this.props[7]=c1,this.props[8]=k1,this.props[9]=A1,this.props[10]=ia,this.props[11]=ta,this.props[12]=T1,this.props[13]=X1,this.props[14]=ra,this.props[15]=x1,this}function v(H,M,Q){if(Q=Q||0,H!==0||M!==0||Q!==0)return this._t(1,0,0,0,0,1,0,0,0,0,1,0,H,M,Q,1);return this}function g(H,M,Q,L,_,i1,l1,c1,k1,A1,ia,ta,T1,X1,ra,x1){var r1=this.props;if(H===1&&M===0&&Q===0&&L===0&&_===0&&i1===1&&l1===0&&c1===0&&k1===0&&A1===0&&ia===1&&ta===0)return r1[12]=r1[12]*H+r1[15]*T1,r1[13]=r1[13]*i1+r1[15]*X1,r1[14]=r1[14]*ia+r1[15]*ra,r1[15]*=x1,this._identityCalculated=!1,this;var ga=r1[0],ya=r1[1],ua=r1[2],wa=r1[3],xa=r1[4],da=r1[5],D1=r1[6],Da=r1[7],Na=r1[8],Za=r1[9],Ga=r1[10],Ia=r1[11],s0=r1[12],Q2=r1[13],Y2=r1[14],X2=r1[15];return r1[0]=ga*H+ya*_+ua*k1+wa*T1,r1[1]=ga*M+ya*i1+ua*A1+wa*X1,r1[2]=ga*Q+ya*l1+ua*ia+wa*ra,r1[3]=ga*L+ya*c1+ua*ta+wa*x1,r1[4]=xa*H+da*_+D1*k1+Da*T1,r1[5]=xa*M+da*i1+D1*A1+Da*X1,r1[6]=xa*Q+da*l1+D1*ia+Da*ra,r1[7]=xa*L+da*c1+D1*ta+Da*x1,r1[8]=Na*H+Za*_+Ga*k1+Ia*T1,r1[9]=Na*M+Za*i1+Ga*A1+Ia*X1,r1[10]=Na*Q+Za*l1+Ga*ia+Ia*ra,r1[11]=Na*L+Za*c1+Ga*ta+Ia*x1,r1[12]=s0*H+Q2*_+Y2*k1+X2*T1,r1[13]=s0*M+Q2*i1+Y2*A1+X2*X1,r1[14]=s0*Q+Q2*l1+Y2*ia+X2*ra,r1[15]=s0*L+Q2*c1+Y2*ta+X2*x1,this._identityCalculated=!1,this}function x(H){var M=H.props;return this.transform(M[0],M[1],M[2],M[3],M[4],M[5],M[6],M[7],M[8],M[9],M[10],M[11],M[12],M[13],M[14],M[15])}function z(){if(!this._identityCalculated)this._identity=!(this.props[0]!==1||this.props[1]!==0||this.props[2]!==0||this.props[3]!==0||this.props[4]!==0||this.props[5]!==1||this.props[6]!==0||this.props[7]!==0||this.props[8]!==0||this.props[9]!==0||this.props[10]!==1||this.props[11]!==0||this.props[12]!==0||this.props[13]!==0||this.props[14]!==0||this.props[15]!==1),this._identityCalculated=!0;return this._identity}function p(H){var M=0;while(M<16){if(H.props[M]!==this.props[M])return!1;M+=1}return!0}function w(H){var M;for(M=0;M<16;M+=1)H.props[M]=this.props[M];return H}function b(H){var M;for(M=0;M<16;M+=1)this.props[M]=H[M]}function y(H,M,Q){return{x:H*this.props[0]+M*this.props[4]+Q*this.props[8]+this.props[12],y:H*this.props[1]+M*this.props[5]+Q*this.props[9]+this.props[13],z:H*this.props[2]+M*this.props[6]+Q*this.props[10]+this.props[14]}}function I(H,M,Q){return H*this.props[0]+M*this.props[4]+Q*this.props[8]+this.props[12]}function O(H,M,Q){return H*this.props[1]+M*this.props[5]+Q*this.props[9]+this.props[13]}function K(H,M,Q){return H*this.props[2]+M*this.props[6]+Q*this.props[10]+this.props[14]}function j(){var H=this.props[0]*this.props[5]-this.props[1]*this.props[4],M=this.props[5]/H,Q=-this.props[1]/H,L=-this.props[4]/H,_=this.props[0]/H,i1=(this.props[4]*this.props[13]-this.props[5]*this.props[12])/H,l1=-(this.props[0]*this.props[13]-this.props[1]*this.props[12])/H,c1=new Matrix;return c1.props[0]=M,c1.props[1]=Q,c1.props[4]=L,c1.props[5]=_,c1.props[12]=i1,c1.props[13]=l1,c1}function T(H){var M=this.getInverseMatrix();return M.applyToPointArray(H[0],H[1],H[2]||0)}function A(H){var M,Q=H.length,L=[];for(M=0;M<Q;M+=1)L[M]=T(H[M]);return L}function V(H,M,Q){var L=createTypedArray("float32",6);if(this.isIdentity())L[0]=H[0],L[1]=H[1],L[2]=M[0],L[3]=M[1],L[4]=Q[0],L[5]=Q[1];else{var _=this.props[0],i1=this.props[1],l1=this.props[4],c1=this.props[5],k1=this.props[12],A1=this.props[13];L[0]=H[0]*_+H[1]*l1+k1,L[1]=H[0]*i1+H[1]*c1+A1,L[2]=M[0]*_+M[1]*l1+k1,L[3]=M[0]*i1+M[1]*c1+A1,L[4]=Q[0]*_+Q[1]*l1+k1,L[5]=Q[0]*i1+Q[1]*c1+A1}return L}function N(H,M,Q){var L;if(this.isIdentity())L=[H,M,Q];else L=[H*this.props[0]+M*this.props[4]+Q*this.props[8]+this.props[12],H*this.props[1]+M*this.props[5]+Q*this.props[9]+this.props[13],H*this.props[2]+M*this.props[6]+Q*this.props[10]+this.props[14]];return L}function G(H,M){if(this.isIdentity())return H+","+M;var Q=this.props;return Math.round((H*Q[0]+M*Q[4]+Q[12])*100)/100+","+Math.round((H*Q[1]+M*Q[5]+Q[13])*100)/100}function D(){var H=0,M=this.props,Q="matrix3d(",L=1e4;while(H<16)Q+=r(M[H]*L)/L,Q+=H===15?")":",",H+=1;return Q}function F(H){var M=1e4;if(H<0.000001&&H>0||H>-0.000001&&H<0)return r(H*M)/M;return H}function E(){var H=this.props,M=F(H[0]),Q=F(H[1]),L=F(H[4]),_=F(H[5]),i1=F(H[12]),l1=F(H[13]);return"matrix("+M+","+Q+","+L+","+_+","+i1+","+l1+")"}return function(){this.reset=n,this.rotate=t,this.rotateX=l,this.rotateY=o,this.rotateZ=s,this.skew=c,this.skewFromAxis=m,this.shear=d,this.scale=h,this.setTransform=f,this.translate=v,this.transform=g,this.multiply=x,this.applyToPoint=y,this.applyToX=I,this.applyToY=O,this.applyToZ=K,this.applyToPointArray=N,this.applyToTriplePoints=V,this.applyToPointStringified=G,this.toCSS=D,this.to2dCSS=E,this.clone=w,this.cloneFromProps=b,this.equals=p,this.inversePoints=A,this.inversePoint=T,this.getInverseMatrix=j,this._t=this.transform,this.isIdentity=z,this._identity=!0,this._identityCalculated=!1,this.props=createTypedArray("float32",16),this.reset()}}();function _typeof$3(a){return _typeof$3=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$3(a)}var lottie={},standalone="__[STANDALONE]__",animationData="__[ANIMATIONDATA]__",renderer="";function setLocation(a){setLocationHref(a)}function searchAnimations(){if(standalone===!0)animationManager.searchAnimations(animationData,standalone,renderer);else animationManager.searchAnimations()}function setSubframeRendering(a){setSubframeEnabled(a)}function setPrefix(a){setIdPrefix(a)}function loadAnimation(a){if(standalone===!0)a.animationData=JSON.parse(animationData);return animationManager.loadAnimation(a)}function setQuality(a){if(typeof a==="string")switch(a){case"high":setDefaultCurveSegments(200);break;default:case"medium":setDefaultCurveSegments(50);break;case"low":setDefaultCurveSegments(10);break}else if(!isNaN(a)&&a>1)setDefaultCurveSegments(a);if(getDefaultCurveSegments()>=50)roundValues(!1);else roundValues(!0)}function inBrowser(){return typeof navigator!=="undefined"}function installPlugin(a,e){if(a==="expressions")setExpressionsPlugin(e)}function getFactory(a){switch(a){case"propertyFactory":return PropertyFactory;case"shapePropertyFactory":return ShapePropertyFactory;case"matrix":return Matrix;default:return null}}lottie.play=animationManager.play,lottie.pause=animationManager.pause,lottie.setLocationHref=setLocation,lottie.togglePause=animationManager.togglePause,lottie.setSpeed=animationManager.setSpeed,lottie.setDirection=animationManager.setDirection,lottie.stop=animationManager.stop,lottie.searchAnimations=searchAnimations,lottie.registerAnimation=animationManager.registerAnimation,lottie.loadAnimation=loadAnimation,lottie.setSubframeRendering=setSubframeRendering,lottie.resize=animationManager.resize,lottie.goToAndStop=animationManager.goToAndStop,lottie.destroy=animationManager.destroy,lottie.setQuality=setQuality,lottie.inBrowser=inBrowser,lottie.installPlugin=installPlugin,lottie.freeze=animationManager.freeze,lottie.unfreeze=animationManager.unfreeze,lottie.setVolume=animationManager.setVolume,lottie.mute=animationManager.mute,lottie.unmute=animationManager.unmute,lottie.getRegisteredAnimations=animationManager.getRegisteredAnimations,lottie.useWebWorker=setWebWorker,lottie.setIDPrefix=setPrefix,lottie.__getFactory=getFactory,lottie.version="5.13.0";function checkReady(){if(document.readyState==="complete")clearInterval(readyStateCheckInterval),searchAnimations()}function getQueryVariable(a){var e=queryString.split("&");for(var i=0;i<e.length;i+=1){var r=e[i].split("=");if(decodeURIComponent(r[0])==a)return decodeURIComponent(r[1])}return null}var queryString="";if(standalone){var scripts=document.getElementsByTagName("script"),index=scripts.length-1,myScript=scripts[index]||{src:""};queryString=myScript.src?myScript.src.replace(/^[^\?]+\??/,""):"",renderer=getQueryVariable("renderer")}var readyStateCheckInterval=setInterval(checkReady,100);try{if(!((typeof A0==="undefined"?"undefined":_typeof$3(A0))==="object"&&typeof z2!=="undefined")&&!(typeof define==="function"&&define.amd))window.bodymovin=lottie}catch(a){}var ShapeModifiers=function(){var a={},e={};a.registerModifier=i,a.getModifier=r;function i(n,t){if(!e[n])e[n]=t}function r(n,t,l){return new e[n](t,l)}return a}();function ShapeModifier(){}ShapeModifier.prototype.initModifierProperties=function(){},ShapeModifier.prototype.addShapeToModifier=function(){},ShapeModifier.prototype.addShape=function(a){if(!this.closed){a.sh.container.addDynamicProperty(a.sh);var e={shape:a.sh,data:a,localShapeCollection:shapeCollectionPool.newShapeCollection()};if(this.shapes.push(e),this.addShapeToModifier(e),this._isAnimated)a.setAsAnimated()}},ShapeModifier.prototype.init=function(a,e){if(this.shapes=[],this.elem=a,this.initDynamicPropertyContainer(a),this.initModifierProperties(a,e),this.frameId=initialDefaultFrame,this.closed=!1,this.k=!1,this.dynamicProperties.length)this.k=!0;else this.getValue(!0)},ShapeModifier.prototype.processKeys=function(){if(this.elem.globalData.frameId===this.frameId)return;this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties()},extendPrototype([DynamicPropertyContainer],ShapeModifier);function TrimModifier(){}extendPrototype([ShapeModifier],TrimModifier),TrimModifier.prototype.initModifierProperties=function(a,e){this.s=PropertyFactory.getProp(a,e.s,0,0.01,this),this.e=PropertyFactory.getProp(a,e.e,0,0.01,this),this.o=PropertyFactory.getProp(a,e.o,0,0,this),this.sValue=0,this.eValue=0,this.getValue=this.processKeys,this.m=e.m,this._isAnimated=!!this.s.effectsSequence.length||!!this.e.effectsSequence.length||!!this.o.effectsSequence.length},TrimModifier.prototype.addShapeToModifier=function(a){a.pathsData=[]},TrimModifier.prototype.calculateShapeEdges=function(a,e,i,r,n){var t=[];if(e<=1)t.push({s:a,e});else if(a>=1)t.push({s:a-1,e:e-1});else t.push({s:a,e:1}),t.push({s:0,e:e-1});var l=[],o,s=t.length,d;for(o=0;o<s;o+=1)if(d=t[o],!(d.e*n<r||d.s*n>r+i)){var c,m;if(d.s*n<=r)c=0;else c=(d.s*n-r)/i;if(d.e*n>=r+i)m=1;else m=(d.e*n-r)/i;l.push([c,m])}if(!l.length)l.push([0,0]);return l},TrimModifier.prototype.releasePathsData=function(a){var e,i=a.length;for(e=0;e<i;e+=1)segmentsLengthPool.release(a[e]);return a.length=0,a},TrimModifier.prototype.processShapes=function(a){var e,i;if(this._mdf||a){var r=this.o.v%360/360;if(r<0)r+=1;if(this.s.v>1)e=1+r;else if(this.s.v<0)e=0+r;else e=this.s.v+r;if(this.e.v>1)i=1+r;else if(this.e.v<0)i=0+r;else i=this.e.v+r;if(e>i){var n=e;e=i,i=n}e=Math.round(e*1e4)*0.0001,i=Math.round(i*1e4)*0.0001,this.sValue=e,this.eValue=i}else e=this.sValue,i=this.eValue;var t,l,o=this.shapes.length,s,d,c,m,h,f=0;if(i===e){for(l=0;l<o;l+=1)if(this.shapes[l].localShapeCollection.releaseShapes(),this.shapes[l].shape._mdf=!0,this.shapes[l].shape.paths=this.shapes[l].localShapeCollection,this._mdf)this.shapes[l].pathsData.length=0}else if(!(i===1&&e===0||i===0&&e===1)){var v=[],g,x;for(l=0;l<o;l+=1)if(g=this.shapes[l],!g.shape._mdf&&!this._mdf&&!a&&this.m!==2)g.shape.paths=g.localShapeCollection;else{if(t=g.shape.paths,d=t._length,h=0,!g.shape._mdf&&g.pathsData.length)h=g.totalShapeLength;else{c=this.releasePathsData(g.pathsData);for(s=0;s<d;s+=1)m=bez.getSegmentsLength(t.shapes[s]),c.push(m),h+=m.totalLength;g.totalShapeLength=h,g.pathsData=c}f+=h,g.shape._mdf=!0}var z=e,p=i,w=0,b;for(l=o-1;l>=0;l-=1)if(g=this.shapes[l],g.shape._mdf){if(x=g.localShapeCollection,x.releaseShapes(),this.m===2&&o>1)b=this.calculateShapeEdges(e,i,g.totalShapeLength,w,f),w+=g.totalShapeLength;else b=[[z,p]];d=b.length;for(s=0;s<d;s+=1){if(z=b[s][0],p=b[s][1],v.length=0,p<=1)v.push({s:g.totalShapeLength*z,e:g.totalShapeLength*p});else if(z>=1)v.push({s:g.totalShapeLength*(z-1),e:g.totalShapeLength*(p-1)});else v.push({s:g.totalShapeLength*z,e:g.totalShapeLength}),v.push({s:0,e:g.totalShapeLength*(p-1)});var y=this.addShapes(g,v[0]);if(v[0].s!==v[0].e){if(v.length>1){var I=g.shape.paths.shapes[g.shape.paths._length-1];if(I.c){var O=y.pop();this.addPaths(y,x),y=this.addShapes(g,v[1],O)}else this.addPaths(y,x),y=this.addShapes(g,v[1])}this.addPaths(y,x)}}g.shape.paths=x}}else if(this._mdf)for(l=0;l<o;l+=1)this.shapes[l].pathsData.length=0,this.shapes[l].shape._mdf=!0},TrimModifier.prototype.addPaths=function(a,e){var i,r=a.length;for(i=0;i<r;i+=1)e.addShape(a[i])},TrimModifier.prototype.addSegment=function(a,e,i,r,n,t,l){if(n.setXYAt(e[0],e[1],"o",t),n.setXYAt(i[0],i[1],"i",t+1),l)n.setXYAt(a[0],a[1],"v",t);n.setXYAt(r[0],r[1],"v",t+1)},TrimModifier.prototype.addSegmentFromArray=function(a,e,i,r){if(e.setXYAt(a[1],a[5],"o",i),e.setXYAt(a[2],a[6],"i",i+1),r)e.setXYAt(a[0],a[4],"v",i);e.setXYAt(a[3],a[7],"v",i+1)},TrimModifier.prototype.addShapes=function(a,e,i){var r=a.pathsData,n=a.shape.paths.shapes,t,l=a.shape.paths._length,o,s,d=0,c,m,h,f,v=[],g,x=!0;if(!i)i=shapePool.newElement(),m=0,g=0;else m=i._length,g=i._length;v.push(i);for(t=0;t<l;t+=1){h=r[t].lengths,i.c=n[t].c,s=n[t].c?h.length:h.length+1;for(o=1;o<s;o+=1)if(c=h[o-1],d+c.addedLength<e.s)d+=c.addedLength,i.c=!1;else if(d>e.e){i.c=!1;break}else{if(e.s<=d&&e.e>=d+c.addedLength)this.addSegment(n[t].v[o-1],n[t].o[o-1],n[t].i[o],n[t].v[o],i,m,x),x=!1;else f=bez.getNewSegment(n[t].v[o-1],n[t].v[o],n[t].o[o-1],n[t].i[o],(e.s-d)/c.addedLength,(e.e-d)/c.addedLength,h[o-1]),this.addSegmentFromArray(f,i,m,x),x=!1,i.c=!1;d+=c.addedLength,m+=1}if(n[t].c&&h.length){if(c=h[o-1],d<=e.e){var z=h[o-1].addedLength;if(e.s<=d&&e.e>=d+z)this.addSegment(n[t].v[o-1],n[t].o[o-1],n[t].i[0],n[t].v[0],i,m,x),x=!1;else f=bez.getNewSegment(n[t].v[o-1],n[t].v[0],n[t].o[o-1],n[t].i[0],(e.s-d)/z,(e.e-d)/z,h[o-1]),this.addSegmentFromArray(f,i,m,x),x=!1,i.c=!1}else i.c=!1;d+=c.addedLength,m+=1}if(i._length)i.setXYAt(i.v[g][0],i.v[g][1],"i",g),i.setXYAt(i.v[i._length-1][0],i.v[i._length-1][1],"o",i._length-1);if(d>e.e)break;if(t<l-1)i=shapePool.newElement(),x=!0,v.push(i),m=0}return v};function PuckerAndBloatModifier(){}extendPrototype([ShapeModifier],PuckerAndBloatModifier),PuckerAndBloatModifier.prototype.initModifierProperties=function(a,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(a,e.a,0,null,this),this._isAnimated=!!this.amount.effectsSequence.length},PuckerAndBloatModifier.prototype.processPath=function(a,e){var i=e/100,r=[0,0],n=a._length,t=0;for(t=0;t<n;t+=1)r[0]+=a.v[t][0],r[1]+=a.v[t][1];r[0]/=n,r[1]/=n;var l=shapePool.newElement();l.c=a.c;var o,s,d,c,m,h;for(t=0;t<n;t+=1)o=a.v[t][0]+(r[0]-a.v[t][0])*i,s=a.v[t][1]+(r[1]-a.v[t][1])*i,d=a.o[t][0]+(r[0]-a.o[t][0])*-i,c=a.o[t][1]+(r[1]-a.o[t][1])*-i,m=a.i[t][0]+(r[0]-a.i[t][0])*-i,h=a.i[t][1]+(r[1]-a.i[t][1])*-i,l.setTripleAt(o,s,d,c,m,h,t);return l},PuckerAndBloatModifier.prototype.processShapes=function(a){var e,i,r=this.shapes.length,n,t,l=this.amount.v;if(l!==0){var o,s;for(i=0;i<r;i+=1){if(o=this.shapes[i],s=o.localShapeCollection,!(!o.shape._mdf&&!this._mdf&&!a)){s.releaseShapes(),o.shape._mdf=!0,e=o.shape.paths.shapes,t=o.shape.paths._length;for(n=0;n<t;n+=1)s.addShape(this.processPath(e[n],l))}o.shape.paths=o.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};var TransformPropertyFactory=function(){var a=[0,0];function e(s){var d=this._mdf;if(this.iterateDynamicProperties(),this._mdf=this._mdf||d,this.a)s.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]);if(this.s)s.scale(this.s.v[0],this.s.v[1],this.s.v[2]);if(this.sk)s.skewFromAxis(-this.sk.v,this.sa.v);if(this.r)s.rotate(-this.r.v);else s.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);if(this.data.p.s)if(this.data.p.z)s.translate(this.px.v,this.py.v,-this.pz.v);else s.translate(this.px.v,this.py.v,0);else s.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}function i(s){if(this.elem.globalData.frameId===this.frameId)return;if(this._isDirty)this.precalculateMatrix(),this._isDirty=!1;if(this.iterateDynamicProperties(),this._mdf||s){var d;if(this.v.cloneFromProps(this.pre.props),this.appliedTransformations<1)this.v.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]);if(this.appliedTransformations<2)this.v.scale(this.s.v[0],this.s.v[1],this.s.v[2]);if(this.sk&&this.appliedTransformations<3)this.v.skewFromAxis(-this.sk.v,this.sa.v);if(this.r&&this.appliedTransformations<4)this.v.rotate(-this.r.v);else if(!this.r&&this.appliedTransformations<4)this.v.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]);if(this.autoOriented){var c,m;if(d=this.elem.globalData.frameRate,this.p&&this.p.keyframes&&this.p.getValueAtTime)if(this.p._caching.lastFrame+this.p.offsetTime<=this.p.keyframes[0].t)c=this.p.getValueAtTime((this.p.keyframes[0].t+0.01)/d,0),m=this.p.getValueAtTime(this.p.keyframes[0].t/d,0);else if(this.p._caching.lastFrame+this.p.offsetTime>=this.p.keyframes[this.p.keyframes.length-1].t)c=this.p.getValueAtTime(this.p.keyframes[this.p.keyframes.length-1].t/d,0),m=this.p.getValueAtTime((this.p.keyframes[this.p.keyframes.length-1].t-0.05)/d,0);else c=this.p.pv,m=this.p.getValueAtTime((this.p._caching.lastFrame+this.p.offsetTime-0.01)/d,this.p.offsetTime);else if(this.px&&this.px.keyframes&&this.py.keyframes&&this.px.getValueAtTime&&this.py.getValueAtTime){c=[],m=[];var h=this.px,f=this.py;if(h._caching.lastFrame+h.offsetTime<=h.keyframes[0].t)c[0]=h.getValueAtTime((h.keyframes[0].t+0.01)/d,0),c[1]=f.getValueAtTime((f.keyframes[0].t+0.01)/d,0),m[0]=h.getValueAtTime(h.keyframes[0].t/d,0),m[1]=f.getValueAtTime(f.keyframes[0].t/d,0);else if(h._caching.lastFrame+h.offsetTime>=h.keyframes[h.keyframes.length-1].t)c[0]=h.getValueAtTime(h.keyframes[h.keyframes.length-1].t/d,0),c[1]=f.getValueAtTime(f.keyframes[f.keyframes.length-1].t/d,0),m[0]=h.getValueAtTime((h.keyframes[h.keyframes.length-1].t-0.01)/d,0),m[1]=f.getValueAtTime((f.keyframes[f.keyframes.length-1].t-0.01)/d,0);else c=[h.pv,f.pv],m[0]=h.getValueAtTime((h._caching.lastFrame+h.offsetTime-0.01)/d,h.offsetTime),m[1]=f.getValueAtTime((f._caching.lastFrame+f.offsetTime-0.01)/d,f.offsetTime)}else m=a,c=m;this.v.rotate(-Math.atan2(c[1]-m[1],c[0]-m[0]))}if(this.data.p&&this.data.p.s)if(this.data.p.z)this.v.translate(this.px.v,this.py.v,-this.pz.v);else this.v.translate(this.px.v,this.py.v,0);else this.v.translate(this.p.v[0],this.p.v[1],-this.p.v[2])}this.frameId=this.elem.globalData.frameId}function r(){if(this.appliedTransformations=0,this.pre.reset(),!this.a.effectsSequence.length)this.pre.translate(-this.a.v[0],-this.a.v[1],this.a.v[2]),this.appliedTransformations=1;else return;if(!this.s.effectsSequence.length)this.pre.scale(this.s.v[0],this.s.v[1],this.s.v[2]),this.appliedTransformations=2;else return;if(this.sk)if(!this.sk.effectsSequence.length&&!this.sa.effectsSequence.length)this.pre.skewFromAxis(-this.sk.v,this.sa.v),this.appliedTransformations=3;else return;if(this.r){if(!this.r.effectsSequence.length)this.pre.rotate(-this.r.v),this.appliedTransformations=4}else if(!this.rz.effectsSequence.length&&!this.ry.effectsSequence.length&&!this.rx.effectsSequence.length&&!this.or.effectsSequence.length)this.pre.rotateZ(-this.rz.v).rotateY(this.ry.v).rotateX(this.rx.v).rotateZ(-this.or.v[2]).rotateY(this.or.v[1]).rotateX(this.or.v[0]),this.appliedTransformations=4}function n(){}function t(s){this._addDynamicProperty(s),this.elem.addDynamicProperty(s),this._isDirty=!0}function l(s,d,c){if(this.elem=s,this.frameId=-1,this.propType="transform",this.data=d,this.v=new Matrix,this.pre=new Matrix,this.appliedTransformations=0,this.initDynamicPropertyContainer(c||s),d.p&&d.p.s){if(this.px=PropertyFactory.getProp(s,d.p.x,0,0,this),this.py=PropertyFactory.getProp(s,d.p.y,0,0,this),d.p.z)this.pz=PropertyFactory.getProp(s,d.p.z,0,0,this)}else this.p=PropertyFactory.getProp(s,d.p||{k:[0,0,0]},1,0,this);if(d.rx){if(this.rx=PropertyFactory.getProp(s,d.rx,0,degToRads,this),this.ry=PropertyFactory.getProp(s,d.ry,0,degToRads,this),this.rz=PropertyFactory.getProp(s,d.rz,0,degToRads,this),d.or.k[0].ti){var m,h=d.or.k.length;for(m=0;m<h;m+=1)d.or.k[m].to=null,d.or.k[m].ti=null}this.or=PropertyFactory.getProp(s,d.or,1,degToRads,this),this.or.sh=!0}else this.r=PropertyFactory.getProp(s,d.r||{k:0},0,degToRads,this);if(d.sk)this.sk=PropertyFactory.getProp(s,d.sk,0,degToRads,this),this.sa=PropertyFactory.getProp(s,d.sa,0,degToRads,this);if(this.a=PropertyFactory.getProp(s,d.a||{k:[0,0,0]},1,0,this),this.s=PropertyFactory.getProp(s,d.s||{k:[100,100,100]},1,0.01,this),d.o)this.o=PropertyFactory.getProp(s,d.o,0,0.01,s);else this.o={_mdf:!1,v:1};if(this._isDirty=!0,!this.dynamicProperties.length)this.getValue(!0)}l.prototype={applyToMatrix:e,getValue:i,precalculateMatrix:r,autoOrient:n},extendPrototype([DynamicPropertyContainer],l),l.prototype.addDynamicProperty=t,l.prototype._addDynamicProperty=DynamicPropertyContainer.prototype.addDynamicProperty;function o(s,d,c){return new l(s,d,c)}return{getTransformProperty:o}}();function RepeaterModifier(){}extendPrototype([ShapeModifier],RepeaterModifier),RepeaterModifier.prototype.initModifierProperties=function(a,e){if(this.getValue=this.processKeys,this.c=PropertyFactory.getProp(a,e.c,0,null,this),this.o=PropertyFactory.getProp(a,e.o,0,null,this),this.tr=TransformPropertyFactory.getTransformProperty(a,e.tr,this),this.so=PropertyFactory.getProp(a,e.tr.so,0,0.01,this),this.eo=PropertyFactory.getProp(a,e.tr.eo,0,0.01,this),this.data=e,!this.dynamicProperties.length)this.getValue(!0);this._isAnimated=!!this.dynamicProperties.length,this.pMatrix=new Matrix,this.rMatrix=new Matrix,this.sMatrix=new Matrix,this.tMatrix=new Matrix,this.matrix=new Matrix},RepeaterModifier.prototype.applyTransforms=function(a,e,i,r,n,t){var l=t?-1:1,o=r.s.v[0]+(1-r.s.v[0])*(1-n),s=r.s.v[1]+(1-r.s.v[1])*(1-n);a.translate(r.p.v[0]*l*n,r.p.v[1]*l*n,r.p.v[2]),e.translate(-r.a.v[0],-r.a.v[1],r.a.v[2]),e.rotate(-r.r.v*l*n),e.translate(r.a.v[0],r.a.v[1],r.a.v[2]),i.translate(-r.a.v[0],-r.a.v[1],r.a.v[2]),i.scale(t?1/o:o,t?1/s:s),i.translate(r.a.v[0],r.a.v[1],r.a.v[2])},RepeaterModifier.prototype.init=function(a,e,i,r){this.elem=a,this.arr=e,this.pos=i,this.elemsData=r,this._currentCopies=0,this._elements=[],this._groups=[],this.frameId=-1,this.initDynamicPropertyContainer(a),this.initModifierProperties(a,e[i]);while(i>0)i-=1,this._elements.unshift(e[i]);if(this.dynamicProperties.length)this.k=!0;else this.getValue(!0)},RepeaterModifier.prototype.resetElements=function(a){var e,i=a.length;for(e=0;e<i;e+=1)if(a[e]._processed=!1,a[e].ty==="gr")this.resetElements(a[e].it)},RepeaterModifier.prototype.cloneElements=function(a){var e=JSON.parse(JSON.stringify(a));return this.resetElements(e),e},RepeaterModifier.prototype.changeGroupRender=function(a,e){var i,r=a.length;for(i=0;i<r;i+=1)if(a[i]._render=e,a[i].ty==="gr")this.changeGroupRender(a[i].it,e)},RepeaterModifier.prototype.processShapes=function(a){var e,i,r,n,t,l=!1;if(this._mdf||a){var o=Math.ceil(this.c.v);if(this._groups.length<o){while(this._groups.length<o){var s={it:this.cloneElements(this._elements),ty:"gr"};s.it.push({a:{a:0,ix:1,k:[0,0]},nm:"Transform",o:{a:0,ix:7,k:100},p:{a:0,ix:2,k:[0,0]},r:{a:1,ix:6,k:[{s:0,e:0,t:0},{s:0,e:0,t:1}]},s:{a:0,ix:3,k:[100,100]},sa:{a:0,ix:5,k:0},sk:{a:0,ix:4,k:0},ty:"tr"}),this.arr.splice(0,0,s),this._groups.splice(0,0,s),this._currentCopies+=1}this.elem.reloadShapes(),l=!0}t=0;var d;for(r=0;r<=this._groups.length-1;r+=1){if(d=t<o,this._groups[r]._render=d,this.changeGroupRender(this._groups[r].it,d),!d){var c=this.elemsData[r].it,m=c[c.length-1];if(m.transform.op.v!==0)m.transform.op._mdf=!0,m.transform.op.v=0;else m.transform.op._mdf=!1}t+=1}this._currentCopies=o;var h=this.o.v,f=h%1,v=h>0?Math.floor(h):Math.ceil(h),g=this.pMatrix.props,x=this.rMatrix.props,z=this.sMatrix.props;this.pMatrix.reset(),this.rMatrix.reset(),this.sMatrix.reset(),this.tMatrix.reset(),this.matrix.reset();var p=0;if(h>0){while(p<v)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1),p+=1;if(f)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,f,!1),p+=f}else if(h<0){while(p>v)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!0),p-=1;if(f)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,-f,!0),p-=f}r=this.data.m===1?0:this._currentCopies-1,n=this.data.m===1?1:-1,t=this._currentCopies;var w,b;while(t){if(e=this.elemsData[r].it,i=e[e.length-1].transform.mProps.v.props,b=i.length,e[e.length-1].transform.mProps._mdf=!0,e[e.length-1].transform.op._mdf=!0,e[e.length-1].transform.op.v=this._currentCopies===1?this.so.v:this.so.v+(this.eo.v-this.so.v)*(r/(this._currentCopies-1)),p!==0){if(r!==0&&n===1||r!==this._currentCopies-1&&n===-1)this.applyTransforms(this.pMatrix,this.rMatrix,this.sMatrix,this.tr,1,!1);this.matrix.transform(x[0],x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15]),this.matrix.transform(z[0],z[1],z[2],z[3],z[4],z[5],z[6],z[7],z[8],z[9],z[10],z[11],z[12],z[13],z[14],z[15]),this.matrix.transform(g[0],g[1],g[2],g[3],g[4],g[5],g[6],g[7],g[8],g[9],g[10],g[11],g[12],g[13],g[14],g[15]);for(w=0;w<b;w+=1)i[w]=this.matrix.props[w];this.matrix.reset()}else{this.matrix.reset();for(w=0;w<b;w+=1)i[w]=this.matrix.props[w]}p+=1,t-=1,r+=n}}else{t=this._currentCopies,r=0,n=1;while(t)e=this.elemsData[r].it,i=e[e.length-1].transform.mProps.v.props,e[e.length-1].transform.mProps._mdf=!1,e[e.length-1].transform.op._mdf=!1,t-=1,r+=n}return l},RepeaterModifier.prototype.addShape=function(){};function RoundCornersModifier(){}extendPrototype([ShapeModifier],RoundCornersModifier),RoundCornersModifier.prototype.initModifierProperties=function(a,e){this.getValue=this.processKeys,this.rd=PropertyFactory.getProp(a,e.r,0,null,this),this._isAnimated=!!this.rd.effectsSequence.length},RoundCornersModifier.prototype.processPath=function(a,e){var i=shapePool.newElement();i.c=a.c;var r,n=a._length,t,l,o,s,d,c,m=0,h,f,v,g,x,z;for(r=0;r<n;r+=1)if(t=a.v[r],o=a.o[r],l=a.i[r],t[0]===o[0]&&t[1]===o[1]&&t[0]===l[0]&&t[1]===l[1])if((r===0||r===n-1)&&!a.c)i.setTripleAt(t[0],t[1],o[0],o[1],l[0],l[1],m),m+=1;else{if(r===0)s=a.v[n-1];else s=a.v[r-1];if(d=Math.sqrt(Math.pow(t[0]-s[0],2)+Math.pow(t[1]-s[1],2)),c=d?Math.min(d/2,e)/d:0,x=t[0]+(s[0]-t[0])*c,h=x,z=t[1]-(t[1]-s[1])*c,f=z,v=h-(h-t[0])*roundCorner,g=f-(f-t[1])*roundCorner,i.setTripleAt(h,f,v,g,x,z,m),m+=1,r===n-1)s=a.v[0];else s=a.v[r+1];d=Math.sqrt(Math.pow(t[0]-s[0],2)+Math.pow(t[1]-s[1],2)),c=d?Math.min(d/2,e)/d:0,v=t[0]+(s[0]-t[0])*c,h=v,g=t[1]+(s[1]-t[1])*c,f=g,x=h-(h-t[0])*roundCorner,z=f-(f-t[1])*roundCorner,i.setTripleAt(h,f,v,g,x,z,m),m+=1}else i.setTripleAt(a.v[r][0],a.v[r][1],a.o[r][0],a.o[r][1],a.i[r][0],a.i[r][1],m),m+=1;return i},RoundCornersModifier.prototype.processShapes=function(a){var e,i,r=this.shapes.length,n,t,l=this.rd.v;if(l!==0){var o,s;for(i=0;i<r;i+=1){if(o=this.shapes[i],s=o.localShapeCollection,!(!o.shape._mdf&&!this._mdf&&!a)){s.releaseShapes(),o.shape._mdf=!0,e=o.shape.paths.shapes,t=o.shape.paths._length;for(n=0;n<t;n+=1)s.addShape(this.processPath(e[n],l))}o.shape.paths=o.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};function floatEqual(a,e){return Math.abs(a-e)*1e5<=Math.min(Math.abs(a),Math.abs(e))}function floatZero(a){return Math.abs(a)<=0.00001}function lerp(a,e,i){return a*(1-i)+e*i}function lerpPoint(a,e,i){return[lerp(a[0],e[0],i),lerp(a[1],e[1],i)]}function quadRoots(a,e,i){if(a===0)return[];var r=e*e-4*a*i;if(r<0)return[];var n=-e/(2*a);if(r===0)return[n];var t=Math.sqrt(r)/(2*a);return[n-t,n+t]}function polynomialCoefficients(a,e,i,r){return[-a+3*e-3*i+r,3*a-6*e+3*i,-3*a+3*e,a]}function singlePoint(a){return new PolynomialBezier(a,a,a,a,!1)}function PolynomialBezier(a,e,i,r,n){if(n&&pointEqual(a,e))e=lerpPoint(a,r,0.3333333333333333);if(n&&pointEqual(i,r))i=lerpPoint(a,r,0.6666666666666666);var t=polynomialCoefficients(a[0],e[0],i[0],r[0]),l=polynomialCoefficients(a[1],e[1],i[1],r[1]);this.a=[t[0],l[0]],this.b=[t[1],l[1]],this.c=[t[2],l[2]],this.d=[t[3],l[3]],this.points=[a,e,i,r]}PolynomialBezier.prototype.point=function(a){return[((this.a[0]*a+this.b[0])*a+this.c[0])*a+this.d[0],((this.a[1]*a+this.b[1])*a+this.c[1])*a+this.d[1]]},PolynomialBezier.prototype.derivative=function(a){return[(3*a*this.a[0]+2*this.b[0])*a+this.c[0],(3*a*this.a[1]+2*this.b[1])*a+this.c[1]]},PolynomialBezier.prototype.tangentAngle=function(a){var e=this.derivative(a);return Math.atan2(e[1],e[0])},PolynomialBezier.prototype.normalAngle=function(a){var e=this.derivative(a);return Math.atan2(e[0],e[1])},PolynomialBezier.prototype.inflectionPoints=function(){var a=this.a[1]*this.b[0]-this.a[0]*this.b[1];if(floatZero(a))return[];var e=-0.5*(this.a[1]*this.c[0]-this.a[0]*this.c[1])/a,i=e*e-0.3333333333333333*(this.b[1]*this.c[0]-this.b[0]*this.c[1])/a;if(i<0)return[];var r=Math.sqrt(i);if(floatZero(r)){if(r>0&&r<1)return[e];return[]}return[e-r,e+r].filter(function(n){return n>0&&n<1})},PolynomialBezier.prototype.split=function(a){if(a<=0)return[singlePoint(this.points[0]),this];if(a>=1)return[this,singlePoint(this.points[this.points.length-1])];var e=lerpPoint(this.points[0],this.points[1],a),i=lerpPoint(this.points[1],this.points[2],a),r=lerpPoint(this.points[2],this.points[3],a),n=lerpPoint(e,i,a),t=lerpPoint(i,r,a),l=lerpPoint(n,t,a);return[new PolynomialBezier(this.points[0],e,n,l,!0),new PolynomialBezier(l,t,r,this.points[3],!0)]};function extrema(a,e){var i=a.points[0][e],r=a.points[a.points.length-1][e];if(i>r){var n=r;r=i,i=n}var t=quadRoots(3*a.a[e],2*a.b[e],a.c[e]);for(var l=0;l<t.length;l+=1)if(t[l]>0&&t[l]<1){var o=a.point(t[l])[e];if(o<i)i=o;else if(o>r)r=o}return{min:i,max:r}}PolynomialBezier.prototype.bounds=function(){return{x:extrema(this,0),y:extrema(this,1)}},PolynomialBezier.prototype.boundingBox=function(){var a=this.bounds();return{left:a.x.min,right:a.x.max,top:a.y.min,bottom:a.y.max,width:a.x.max-a.x.min,height:a.y.max-a.y.min,cx:(a.x.max+a.x.min)/2,cy:(a.y.max+a.y.min)/2}};function intersectData(a,e,i){var r=a.boundingBox();return{cx:r.cx,cy:r.cy,width:r.width,height:r.height,bez:a,t:(e+i)/2,t1:e,t2:i}}function splitData(a){var e=a.bez.split(0.5);return[intersectData(e[0],a.t1,a.t),intersectData(e[1],a.t,a.t2)]}function boxIntersect(a,e){return Math.abs(a.cx-e.cx)*2<a.width+e.width&&Math.abs(a.cy-e.cy)*2<a.height+e.height}function intersectsImpl(a,e,i,r,n,t){if(!boxIntersect(a,e))return;if(i>=t||a.width<=r&&a.height<=r&&e.width<=r&&e.height<=r){n.push([a.t,e.t]);return}var l=splitData(a),o=splitData(e);intersectsImpl(l[0],o[0],i+1,r,n,t),intersectsImpl(l[0],o[1],i+1,r,n,t),intersectsImpl(l[1],o[0],i+1,r,n,t),intersectsImpl(l[1],o[1],i+1,r,n,t)}PolynomialBezier.prototype.intersections=function(a,e,i){if(e===void 0)e=2;if(i===void 0)i=7;var r=[];return intersectsImpl(intersectData(this,0,1),intersectData(a,0,1),0,e,r,i),r},PolynomialBezier.shapeSegment=function(a,e){var i=(e+1)%a.length();return new PolynomialBezier(a.v[e],a.o[e],a.i[i],a.v[i],!0)},PolynomialBezier.shapeSegmentInverted=function(a,e){var i=(e+1)%a.length();return new PolynomialBezier(a.v[i],a.i[i],a.o[e],a.v[e],!0)};function crossProduct(a,e){return[a[1]*e[2]-a[2]*e[1],a[2]*e[0]-a[0]*e[2],a[0]*e[1]-a[1]*e[0]]}function lineIntersection(a,e,i,r){var n=[a[0],a[1],1],t=[e[0],e[1],1],l=[i[0],i[1],1],o=[r[0],r[1],1],s=crossProduct(crossProduct(n,t),crossProduct(l,o));if(floatZero(s[2]))return null;return[s[0]/s[2],s[1]/s[2]]}function polarOffset(a,e,i){return[a[0]+Math.cos(e)*i,a[1]-Math.sin(e)*i]}function pointDistance(a,e){return Math.hypot(a[0]-e[0],a[1]-e[1])}function pointEqual(a,e){return floatEqual(a[0],e[0])&&floatEqual(a[1],e[1])}function ZigZagModifier(){}extendPrototype([ShapeModifier],ZigZagModifier),ZigZagModifier.prototype.initModifierProperties=function(a,e){this.getValue=this.processKeys,this.amplitude=PropertyFactory.getProp(a,e.s,0,null,this),this.frequency=PropertyFactory.getProp(a,e.r,0,null,this),this.pointsType=PropertyFactory.getProp(a,e.pt,0,null,this),this._isAnimated=this.amplitude.effectsSequence.length!==0||this.frequency.effectsSequence.length!==0||this.pointsType.effectsSequence.length!==0};function setPoint(a,e,i,r,n,t,l){var o=i-Math.PI/2,s=i+Math.PI/2,d=e[0]+Math.cos(i)*r*n,c=e[1]-Math.sin(i)*r*n;a.setTripleAt(d,c,d+Math.cos(o)*t,c-Math.sin(o)*t,d+Math.cos(s)*l,c-Math.sin(s)*l,a.length())}function getPerpendicularVector(a,e){var i=[e[0]-a[0],e[1]-a[1]],r=-Math.PI*0.5,n=[Math.cos(r)*i[0]-Math.sin(r)*i[1],Math.sin(r)*i[0]+Math.cos(r)*i[1]];return n}function getProjectingAngle(a,e){var i=e===0?a.length()-1:e-1,r=(e+1)%a.length(),n=a.v[i],t=a.v[r],l=getPerpendicularVector(n,t);return Math.atan2(0,1)-Math.atan2(l[1],l[0])}function zigZagCorner(a,e,i,r,n,t,l){var o=getProjectingAngle(e,i),s=e.v[i%e._length],d=e.v[i===0?e._length-1:i-1],c=e.v[(i+1)%e._length],m=t===2?Math.sqrt(Math.pow(s[0]-d[0],2)+Math.pow(s[1]-d[1],2)):0,h=t===2?Math.sqrt(Math.pow(s[0]-c[0],2)+Math.pow(s[1]-c[1],2)):0;setPoint(a,e.v[i%e._length],o,l,r,h/((n+1)*2),m/((n+1)*2),t)}function zigZagSegment(a,e,i,r,n,t){for(var l=0;l<r;l+=1){var o=(l+1)/(r+1),s=n===2?Math.sqrt(Math.pow(e.points[3][0]-e.points[0][0],2)+Math.pow(e.points[3][1]-e.points[0][1],2)):0,d=e.normalAngle(o),c=e.point(o);setPoint(a,c,d,t,i,s/((r+1)*2),s/((r+1)*2),n),t=-t}return t}ZigZagModifier.prototype.processPath=function(a,e,i,r){var n=a._length,t=shapePool.newElement();if(t.c=a.c,!a.c)n-=1;if(n===0)return t;var l=-1,o=PolynomialBezier.shapeSegment(a,0);zigZagCorner(t,a,0,e,i,r,l);for(var s=0;s<n;s+=1){if(l=zigZagSegment(t,o,e,i,r,-l),s===n-1&&!a.c)o=null;else o=PolynomialBezier.shapeSegment(a,(s+1)%n);zigZagCorner(t,a,s+1,e,i,r,l)}return t},ZigZagModifier.prototype.processShapes=function(a){var e,i,r=this.shapes.length,n,t,l=this.amplitude.v,o=Math.max(0,Math.round(this.frequency.v)),s=this.pointsType.v;if(l!==0){var d,c;for(i=0;i<r;i+=1){if(d=this.shapes[i],c=d.localShapeCollection,!(!d.shape._mdf&&!this._mdf&&!a)){c.releaseShapes(),d.shape._mdf=!0,e=d.shape.paths.shapes,t=d.shape.paths._length;for(n=0;n<t;n+=1)c.addShape(this.processPath(e[n],l,o,s))}d.shape.paths=d.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};function linearOffset(a,e,i){var r=Math.atan2(e[0]-a[0],e[1]-a[1]);return[polarOffset(a,r,i),polarOffset(e,r,i)]}function offsetSegment(a,e){var i,r,n,t,l,o,s;s=linearOffset(a.points[0],a.points[1],e),i=s[0],r=s[1],s=linearOffset(a.points[1],a.points[2],e),n=s[0],t=s[1],s=linearOffset(a.points[2],a.points[3],e),l=s[0],o=s[1];var d=lineIntersection(i,r,n,t);if(d===null)d=r;var c=lineIntersection(l,o,n,t);if(c===null)c=l;return new PolynomialBezier(i,d,c,o)}function joinLines(a,e,i,r,n){var t=e.points[3],l=i.points[0];if(r===3)return t;if(pointEqual(t,l))return t;if(r===2){var o=-e.tangentAngle(1),s=-i.tangentAngle(0)+Math.PI,d=lineIntersection(t,polarOffset(t,o+Math.PI/2,100),l,polarOffset(l,o+Math.PI/2,100)),c=d?pointDistance(d,t):pointDistance(t,l)/2,m=polarOffset(t,o,2*c*roundCorner);return a.setXYAt(m[0],m[1],"o",a.length()-1),m=polarOffset(l,s,2*c*roundCorner),a.setTripleAt(l[0],l[1],l[0],l[1],m[0],m[1],a.length()),l}var h=pointEqual(t,e.points[2])?e.points[0]:e.points[2],f=pointEqual(l,i.points[1])?i.points[3]:i.points[1],v=lineIntersection(h,t,l,f);if(v&&pointDistance(v,t)<n)return a.setTripleAt(v[0],v[1],v[0],v[1],v[0],v[1],a.length()),v;return t}function getIntersection(a,e){var i=a.intersections(e);if(i.length&&floatEqual(i[0][0],1))i.shift();if(i.length)return i[0];return null}function pruneSegmentIntersection(a,e){var i=a.slice(),r=e.slice(),n=getIntersection(a[a.length-1],e[0]);if(n)i[a.length-1]=a[a.length-1].split(n[0])[0],r[0]=e[0].split(n[1])[1];if(a.length>1&&e.length>1){if(n=getIntersection(a[0],e[e.length-1]),n)return[[a[0].split(n[0])[0]],[e[e.length-1].split(n[1])[1]]]}return[i,r]}function pruneIntersections(a){var e;for(var i=1;i<a.length;i+=1)e=pruneSegmentIntersection(a[i-1],a[i]),a[i-1]=e[0],a[i]=e[1];if(a.length>1)e=pruneSegmentIntersection(a[a.length-1],a[0]),a[a.length-1]=e[0],a[0]=e[1];return a}function offsetSegmentSplit(a,e){var i=a.inflectionPoints(),r,n,t,l;if(i.length===0)return[offsetSegment(a,e)];if(i.length===1||floatEqual(i[1],1))return t=a.split(i[0]),r=t[0],n=t[1],[offsetSegment(r,e),offsetSegment(n,e)];t=a.split(i[0]),r=t[0];var o=(i[1]-i[0])/(1-i[0]);return t=t[1].split(o),l=t[0],n=t[1],[offsetSegment(r,e),offsetSegment(l,e),offsetSegment(n,e)]}function OffsetPathModifier(){}extendPrototype([ShapeModifier],OffsetPathModifier),OffsetPathModifier.prototype.initModifierProperties=function(a,e){this.getValue=this.processKeys,this.amount=PropertyFactory.getProp(a,e.a,0,null,this),this.miterLimit=PropertyFactory.getProp(a,e.ml,0,null,this),this.lineJoin=e.lj,this._isAnimated=this.amount.effectsSequence.length!==0},OffsetPathModifier.prototype.processPath=function(a,e,i,r){var n=shapePool.newElement();n.c=a.c;var t=a.length();if(!a.c)t-=1;var l,o,s,d=[];for(l=0;l<t;l+=1)s=PolynomialBezier.shapeSegment(a,l),d.push(offsetSegmentSplit(s,e));if(!a.c)for(l=t-1;l>=0;l-=1)s=PolynomialBezier.shapeSegmentInverted(a,l),d.push(offsetSegmentSplit(s,e));d=pruneIntersections(d);var c=null,m=null;for(l=0;l<d.length;l+=1){var h=d[l];if(m)c=joinLines(n,m,h[0],i,r);m=h[h.length-1];for(o=0;o<h.length;o+=1){if(s=h[o],c&&pointEqual(s.points[0],c))n.setXYAt(s.points[1][0],s.points[1][1],"o",n.length()-1);else n.setTripleAt(s.points[0][0],s.points[0][1],s.points[1][0],s.points[1][1],s.points[0][0],s.points[0][1],n.length());n.setTripleAt(s.points[3][0],s.points[3][1],s.points[3][0],s.points[3][1],s.points[2][0],s.points[2][1],n.length()),c=s.points[3]}}if(d.length)joinLines(n,m,d[0][0],i,r);return n},OffsetPathModifier.prototype.processShapes=function(a){var e,i,r=this.shapes.length,n,t,l=this.amount.v,o=this.miterLimit.v,s=this.lineJoin;if(l!==0){var d,c;for(i=0;i<r;i+=1){if(d=this.shapes[i],c=d.localShapeCollection,!(!d.shape._mdf&&!this._mdf&&!a)){c.releaseShapes(),d.shape._mdf=!0,e=d.shape.paths.shapes,t=d.shape.paths._length;for(n=0;n<t;n+=1)c.addShape(this.processPath(e[n],l,s,o))}d.shape.paths=d.localShapeCollection}}if(!this.dynamicProperties.length)this._mdf=!1};function getFontProperties(a){var e=a.fStyle?a.fStyle.split(" "):[],i="normal",r="normal",n=e.length,t;for(var l=0;l<n;l+=1)switch(t=e[l].toLowerCase(),t){case"italic":r="italic";break;case"bold":i="700";break;case"black":i="900";break;case"medium":i="500";break;case"regular":case"normal":i="400";break;case"light":case"thin":i="200";break;default:break}return{style:r,weight:a.fWeight||i}}var FontManager=function(){var a=5000,e={w:0,size:0,shapes:[],data:{shapes:[]}},i=[];i=i.concat([2304,2305,2306,2307,2362,2363,2364,2364,2366,2367,2368,2369,2370,2371,2372,2373,2374,2375,2376,2377,2378,2379,2380,2381,2382,2383,2387,2388,2389,2390,2391,2402,2403]);var r=127988,n=917631,t=917601,l=917626,o=65039,s=8205,d=127462,c=127487,m=["d83cdffb","d83cdffc","d83cdffd","d83cdffe","d83cdfff"];function h(F){var E=F.split(","),H,M=E.length,Q=[];for(H=0;H<M;H+=1)if(E[H]!=="sans-serif"&&E[H]!=="monospace")Q.push(E[H]);return Q.join(",")}function f(F,E){var H=createTag("span");H.setAttribute("aria-hidden",!0),H.style.fontFamily=E;var M=createTag("span");M.innerText="giItT1WQy@!-/#",H.style.position="absolute",H.style.left="-10000px",H.style.top="-10000px",H.style.fontSize="300px",H.style.fontVariant="normal",H.style.fontStyle="normal",H.style.fontWeight="normal",H.style.letterSpacing="0",H.appendChild(M),document.body.appendChild(H);var Q=M.offsetWidth;return M.style.fontFamily=h(F)+", "+E,{node:M,w:Q,parent:H}}function v(){var F,E=this.fonts.length,H,M,Q=E;for(F=0;F<E;F+=1)if(this.fonts[F].loaded)Q-=1;else if(this.fonts[F].fOrigin==="n"||this.fonts[F].origin===0)this.fonts[F].loaded=!0;else{if(H=this.fonts[F].monoCase.node,M=this.fonts[F].monoCase.w,H.offsetWidth!==M)Q-=1,this.fonts[F].loaded=!0;else if(H=this.fonts[F].sansCase.node,M=this.fonts[F].sansCase.w,H.offsetWidth!==M)Q-=1,this.fonts[F].loaded=!0;if(this.fonts[F].loaded)this.fonts[F].sansCase.parent.parentNode.removeChild(this.fonts[F].sansCase.parent),this.fonts[F].monoCase.parent.parentNode.removeChild(this.fonts[F].monoCase.parent)}if(Q!==0&&Date.now()-this.initTime<a)setTimeout(this.checkLoadedFontsBinded,20);else setTimeout(this.setIsLoadedBinded,10)}function g(F,E){var H=document.body&&E?"svg":"canvas",M,Q=getFontProperties(F);if(H==="svg"){var L=createNS("text");if(L.style.fontSize="100px",L.setAttribute("font-family",F.fFamily),L.setAttribute("font-style",Q.style),L.setAttribute("font-weight",Q.weight),L.textContent="1",F.fClass)L.style.fontFamily="inherit",L.setAttribute("class",F.fClass);else L.style.fontFamily=F.fFamily;E.appendChild(L),M=L}else{var _=new OffscreenCanvas(500,500).getContext("2d");_.font=Q.style+" "+Q.weight+" 100px "+F.fFamily,M=_}function i1(l1){if(H==="svg")return M.textContent=l1,M.getComputedTextLength();return M.measureText(l1).width}return{measureText:i1}}function x(F,E){if(!F){this.isLoaded=!0;return}if(this.chars){this.isLoaded=!0,this.fonts=F.list;return}if(!document.body){this.isLoaded=!0,F.list.forEach(function(ia){ia.helper=g(ia),ia.cache={}}),this.fonts=F.list;return}var H=F.list,M,Q=H.length,L=Q;for(M=0;M<Q;M+=1){var _=!0,i1,l1;if(H[M].loaded=!1,H[M].monoCase=f(H[M].fFamily,"monospace"),H[M].sansCase=f(H[M].fFamily,"sans-serif"),!H[M].fPath)H[M].loaded=!0,L-=1;else if(H[M].fOrigin==="p"||H[M].origin===3){if(i1=document.querySelectorAll('style[f-forigin="p"][f-family="'+H[M].fFamily+'"], style[f-origin="3"][f-family="'+H[M].fFamily+'"]'),i1.length>0)_=!1;if(_){var c1=createTag("style");c1.setAttribute("f-forigin",H[M].fOrigin),c1.setAttribute("f-origin",H[M].origin),c1.setAttribute("f-family",H[M].fFamily),c1.type="text/css",c1.innerText="@font-face {font-family: "+H[M].fFamily+"; font-style: normal; src: url('"+H[M].fPath+"');}",E.appendChild(c1)}}else if(H[M].fOrigin==="g"||H[M].origin===1){i1=document.querySelectorAll('link[f-forigin="g"], link[f-origin="1"]');for(l1=0;l1<i1.length;l1+=1)if(i1[l1].href.indexOf(H[M].fPath)!==-1)_=!1;if(_){var k1=createTag("link");k1.setAttribute("f-forigin",H[M].fOrigin),k1.setAttribute("f-origin",H[M].origin),k1.type="text/css",k1.rel="stylesheet",k1.href=H[M].fPath,document.body.appendChild(k1)}}else if(H[M].fOrigin==="t"||H[M].origin===2){i1=document.querySelectorAll('script[f-forigin="t"], script[f-origin="2"]');for(l1=0;l1<i1.length;l1+=1)if(H[M].fPath===i1[l1].src)_=!1;if(_){var A1=createTag("link");A1.setAttribute("f-forigin",H[M].fOrigin),A1.setAttribute("f-origin",H[M].origin),A1.setAttribute("rel","stylesheet"),A1.setAttribute("href",H[M].fPath),E.appendChild(A1)}}H[M].helper=g(H[M],E),H[M].cache={},this.fonts.push(H[M])}if(L===0)this.isLoaded=!0;else setTimeout(this.checkLoadedFonts.bind(this),100)}function z(F){if(!F)return;if(!this.chars)this.chars=[];var E,H=F.length,M,Q=this.chars.length,L;for(E=0;E<H;E+=1){M=0,L=!1;while(M<Q){if(this.chars[M].style===F[E].style&&this.chars[M].fFamily===F[E].fFamily&&this.chars[M].ch===F[E].ch)L=!0;M+=1}if(!L)this.chars.push(F[E]),Q+=1}}function p(F,E,H){var M=0,Q=this.chars.length;while(M<Q){if(this.chars[M].ch===F&&this.chars[M].style===E&&this.chars[M].fFamily===H)return this.chars[M];M+=1}if((typeof F==="string"&&F.charCodeAt(0)!==13||!F)&&console&&console.warn&&!this._warned)this._warned=!0,console.warn("Missing character from exported characters list: ",F,E,H);return e}function w(F,E,H){var M=this.getFontByName(E),Q=F;if(!M.cache[Q]){var L=M.helper;if(F===" "){var _=L.measureText("|"+F+"|"),i1=L.measureText("||");M.cache[Q]=(_-i1)/100}else M.cache[Q]=L.measureText(F)/100}return M.cache[Q]*H}function b(F){var E=0,H=this.fonts.length;while(E<H){if(this.fonts[E].fName===F)return this.fonts[E];E+=1}return this.fonts[0]}function y(F){var E=0,H=F.charCodeAt(0);if(H>=55296&&H<=56319){var M=F.charCodeAt(1);if(M>=56320&&M<=57343)E=(H-55296)*1024+M-56320+65536}return E}function I(F,E){var H=F.toString(16)+E.toString(16);return m.indexOf(H)!==-1}function O(F){return F===s}function K(F){return F===o}function j(F){var E=y(F);if(E>=d&&E<=c)return!0;return!1}function T(F){return j(F.substr(0,2))&&j(F.substr(2,2))}function A(F){return i.indexOf(F)!==-1}function V(F,E){var H=y(F.substr(E,2));if(H!==r)return!1;var M=0;E+=2;while(M<5){if(H=y(F.substr(E,2)),H<t||H>l)return!1;M+=1,E+=2}return y(F.substr(E,2))===n}function N(){this.isLoaded=!0}var G=function F(){this.fonts=[],this.chars=null,this.typekitLoaded=0,this.isLoaded=!1,this._warned=!1,this.initTime=Date.now(),this.setIsLoadedBinded=this.setIsLoaded.bind(this),this.checkLoadedFontsBinded=this.checkLoadedFonts.bind(this)};G.isModifier=I,G.isZeroWidthJoiner=O,G.isFlagEmoji=T,G.isRegionalCode=j,G.isCombinedCharacter=A,G.isRegionalFlag=V,G.isVariationSelector=K,G.BLACK_FLAG_CODE_POINT=r;var D={addChars:z,addFonts:x,getCharData:p,getFontByName:b,measureText:w,checkLoadedFonts:v,setIsLoaded:N};return G.prototype=D,G}();function SlotManager(a){this.animationData=a}SlotManager.prototype.getProp=function(a){if(this.animationData.slots&&this.animationData.slots[a.sid])return Object.assign(a,this.animationData.slots[a.sid].p);return a};function slotFactory(a){return new SlotManager(a)}function RenderableElement(){}RenderableElement.prototype={initRenderable:function a(){this.isInRange=!1,this.hidden=!1,this.isTransparent=!1,this.renderableComponents=[]},addRenderableComponent:function a(e){if(this.renderableComponents.indexOf(e)===-1)this.renderableComponents.push(e)},removeRenderableComponent:function a(e){if(this.renderableComponents.indexOf(e)!==-1)this.renderableComponents.splice(this.renderableComponents.indexOf(e),1)},prepareRenderableFrame:function a(e){this.checkLayerLimits(e)},checkTransparency:function a(){if(this.finalTransform.mProp.o.v<=0){if(!this.isTransparent&&this.globalData.renderConfig.hideOnTransparent)this.isTransparent=!0,this.hide()}else if(this.isTransparent)this.isTransparent=!1,this.show()},checkLayerLimits:function a(e){if(this.data.ip-this.data.st<=e&&this.data.op-this.data.st>e){if(this.isInRange!==!0)this.globalData._mdf=!0,this._mdf=!0,this.isInRange=!0,this.show()}else if(this.isInRange!==!1)this.globalData._mdf=!0,this.isInRange=!1,this.hide()},renderRenderable:function a(){var e,i=this.renderableComponents.length;for(e=0;e<i;e+=1)this.renderableComponents[e].renderFrame(this._isFirstFrame)},sourceRectAtTime:function a(){return{top:0,left:0,width:100,height:100}},getLayerSize:function a(){if(this.data.ty===5)return{w:this.data.textData.width,h:this.data.textData.height};return{w:this.data.width,h:this.data.height}}};var getBlendMode=function(){var a={0:"source-over",1:"multiply",2:"screen",3:"overlay",4:"darken",5:"lighten",6:"color-dodge",7:"color-burn",8:"hard-light",9:"soft-light",10:"difference",11:"exclusion",12:"hue",13:"saturation",14:"color",15:"luminosity"};return function(e){return a[e]||""}}();function SliderEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,0,0,i)}function AngleEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,0,0,i)}function ColorEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,1,0,i)}function PointEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,1,0,i)}function LayerIndexEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,0,0,i)}function MaskIndexEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,0,0,i)}function CheckboxEffect(a,e,i){this.p=PropertyFactory.getProp(e,a.v,0,0,i)}function NoValueEffect(){this.p={}}function EffectsManager(a,e){var i=a.ef||[];this.effectElements=[];var r,n=i.length,t;for(r=0;r<n;r+=1)t=new GroupEffect(i[r],e),this.effectElements.push(t)}function GroupEffect(a,e){this.init(a,e)}extendPrototype([DynamicPropertyContainer],GroupEffect),GroupEffect.prototype.getValue=GroupEffect.prototype.iterateDynamicProperties,GroupEffect.prototype.init=function(a,e){this.data=a,this.effectElements=[],this.initDynamicPropertyContainer(e);var i,r=this.data.ef.length,n,t=this.data.ef;for(i=0;i<r;i+=1){switch(n=null,t[i].ty){case 0:n=new SliderEffect(t[i],e,this);break;case 1:n=new AngleEffect(t[i],e,this);break;case 2:n=new ColorEffect(t[i],e,this);break;case 3:n=new PointEffect(t[i],e,this);break;case 4:case 7:n=new CheckboxEffect(t[i],e,this);break;case 10:n=new LayerIndexEffect(t[i],e,this);break;case 11:n=new MaskIndexEffect(t[i],e,this);break;case 5:n=new EffectsManager(t[i],e,this);break;default:n=new NoValueEffect(t[i],e,this);break}if(n)this.effectElements.push(n)}};function BaseElement(){}BaseElement.prototype={checkMasks:function a(){if(!this.data.hasMask)return!1;var e=0,i=this.data.masksProperties.length;while(e<i){if(this.data.masksProperties[e].mode!=="n"&&this.data.masksProperties[e].cl!==!1)return!0;e+=1}return!1},initExpressions:function a(){var e=getExpressionInterfaces();if(!e)return;var i=e("layer"),r=e("effects"),n=e("shape"),t=e("text"),l=e("comp");if(this.layerInterface=i(this),this.data.hasMask&&this.maskManager)this.layerInterface.registerMaskInterface(this.maskManager);var o=r.createEffectsInterface(this,this.layerInterface);if(this.layerInterface.registerEffectsInterface(o),this.data.ty===0||this.data.xt)this.compInterface=l(this);else if(this.data.ty===4)this.layerInterface.shapeInterface=n(this.shapesData,this.itemsData,this.layerInterface),this.layerInterface.content=this.layerInterface.shapeInterface;else if(this.data.ty===5)this.layerInterface.textInterface=t(this),this.layerInterface.text=this.layerInterface.textInterface},setBlendMode:function a(){var e=getBlendMode(this.data.bm),i=this.baseElement||this.layerElement;i.style["mix-blend-mode"]=e},initBaseData:function a(e,i,r){if(this.globalData=i,this.comp=r,this.data=e,this.layerId=createElementID(),!this.data.sr)this.data.sr=1;this.effectsManager=new EffectsManager(this.data,this,this.dynamicProperties)},getType:function a(){return this.type},sourceRectAtTime:function a(){}};function FrameElement(){}FrameElement.prototype={initFrame:function a(){this._isFirstFrame=!1,this.dynamicProperties=[],this._mdf=!1},prepareProperties:function a(e,i){var r,n=this.dynamicProperties.length;for(r=0;r<n;r+=1)if(i||this._isParent&&this.dynamicProperties[r].propType==="transform"){if(this.dynamicProperties[r].getValue(),this.dynamicProperties[r]._mdf)this.globalData._mdf=!0,this._mdf=!0}},addDynamicProperty:function a(e){if(this.dynamicProperties.indexOf(e)===-1)this.dynamicProperties.push(e)}};function FootageElement(a,e,i){this.initFrame(),this.initRenderable(),this.assetData=e.getAssetData(a.refId),this.footageData=e.imageLoader.getAsset(this.assetData),this.initBaseData(a,e,i)}FootageElement.prototype.prepareFrame=function(){},extendPrototype([RenderableElement,BaseElement,FrameElement],FootageElement),FootageElement.prototype.getBaseElement=function(){return null},FootageElement.prototype.renderFrame=function(){},FootageElement.prototype.destroy=function(){},FootageElement.prototype.initExpressions=function(){var a=getExpressionInterfaces();if(!a)return;var e=a("footage");this.layerInterface=e(this)},FootageElement.prototype.getFootageData=function(){return this.footageData};function AudioElement(a,e,i){this.initFrame(),this.initRenderable(),this.assetData=e.getAssetData(a.refId),this.initBaseData(a,e,i),this._isPlaying=!1,this._canPlay=!1;var r=this.globalData.getAssetsPath(this.assetData);this.audio=this.globalData.audioController.createAudio(r),this._currentTime=0,this.globalData.audioController.addAudio(this),this._volumeMultiplier=1,this._volume=1,this._previousVolume=null,this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,e.frameRate,this):{_placeholder:!0},this.lv=PropertyFactory.getProp(this,a.au&&a.au.lv?a.au.lv:{k:[100]},1,0.01,this)}AudioElement.prototype.prepareFrame=function(a){if(this.prepareRenderableFrame(a,!0),this.prepareProperties(a,!0),!this.tm._placeholder){var e=this.tm.v;this._currentTime=e}else this._currentTime=a/this.data.sr;this._volume=this.lv.v[0];var i=this._volume*this._volumeMultiplier;if(this._previousVolume!==i)this._previousVolume=i,this.audio.volume(i)},extendPrototype([RenderableElement,BaseElement,FrameElement],AudioElement),AudioElement.prototype.renderFrame=function(){if(this.isInRange&&this._canPlay){if(!this._isPlaying)this.audio.play(),this.audio.seek(this._currentTime/this.globalData.frameRate),this._isPlaying=!0;else if(!this.audio.playing()||Math.abs(this._currentTime/this.globalData.frameRate-this.audio.seek())>0.1)this.audio.seek(this._currentTime/this.globalData.frameRate)}},AudioElement.prototype.show=function(){},AudioElement.prototype.hide=function(){this.audio.pause(),this._isPlaying=!1},AudioElement.prototype.pause=function(){this.audio.pause(),this._isPlaying=!1,this._canPlay=!1},AudioElement.prototype.resume=function(){this._canPlay=!0},AudioElement.prototype.setRate=function(a){this.audio.rate(a)},AudioElement.prototype.volume=function(a){this._volumeMultiplier=a,this._previousVolume=a*this._volume,this.audio.volume(this._previousVolume)},AudioElement.prototype.getBaseElement=function(){return null},AudioElement.prototype.destroy=function(){},AudioElement.prototype.sourceRectAtTime=function(){},AudioElement.prototype.initExpressions=function(){};function BaseRenderer(){}BaseRenderer.prototype.checkLayers=function(a){var e,i=this.layers.length,r;this.completeLayers=!0;for(e=i-1;e>=0;e-=1){if(!this.elements[e]){if(r=this.layers[e],r.ip-r.st<=a-this.layers[e].st&&r.op-r.st>a-this.layers[e].st)this.buildItem(e)}this.completeLayers=this.elements[e]?this.completeLayers:!1}this.checkPendingElements()},BaseRenderer.prototype.createItem=function(a){switch(a.ty){case 2:return this.createImage(a);case 0:return this.createComp(a);case 1:return this.createSolid(a);case 3:return this.createNull(a);case 4:return this.createShape(a);case 5:return this.createText(a);case 6:return this.createAudio(a);case 13:return this.createCamera(a);case 15:return this.createFootage(a);default:return this.createNull(a)}},BaseRenderer.prototype.createCamera=function(){throw new Error("You're using a 3d camera. Try the html renderer.")},BaseRenderer.prototype.createAudio=function(a){return new AudioElement(a,this.globalData,this)},BaseRenderer.prototype.createFootage=function(a){return new FootageElement(a,this.globalData,this)},BaseRenderer.prototype.buildAllItems=function(){var a,e=this.layers.length;for(a=0;a<e;a+=1)this.buildItem(a);this.checkPendingElements()},BaseRenderer.prototype.includeLayers=function(a){this.completeLayers=!1;var e,i=a.length,r,n=this.layers.length;for(e=0;e<i;e+=1){r=0;while(r<n){if(this.layers[r].id===a[e].id){this.layers[r]=a[e];break}r+=1}}},BaseRenderer.prototype.setProjectInterface=function(a){this.globalData.projectInterface=a},BaseRenderer.prototype.initItems=function(){if(!this.globalData.progressiveLoad)this.buildAllItems()},BaseRenderer.prototype.buildElementParenting=function(a,e,i){var r=this.elements,n=this.layers,t=0,l=n.length;while(t<l){if(n[t].ind==e)if(!r[t]||r[t]===!0)this.buildItem(t),this.addPendingElement(a);else if(i.push(r[t]),r[t].setAsParent(),n[t].parent!==void 0)this.buildElementParenting(a,n[t].parent,i);else a.setHierarchy(i);t+=1}},BaseRenderer.prototype.addPendingElement=function(a){this.pendingElements.push(a)},BaseRenderer.prototype.searchExtraCompositions=function(a){var e,i=a.length;for(e=0;e<i;e+=1)if(a[e].xt){var r=this.createComp(a[e]);r.initExpressions(),this.globalData.projectInterface.registerComposition(r)}},BaseRenderer.prototype.getElementById=function(a){var e,i=this.elements.length;for(e=0;e<i;e+=1)if(this.elements[e].data.ind===a)return this.elements[e];return null},BaseRenderer.prototype.getElementByPath=function(a){var e=a.shift(),i;if(typeof e==="number")i=this.elements[e];else{var r,n=this.elements.length;for(r=0;r<n;r+=1)if(this.elements[r].data.nm===e){i=this.elements[r];break}}if(a.length===0)return i;return i.getElementByPath(a)},BaseRenderer.prototype.setupGlobalData=function(a,e){this.globalData.fontManager=new FontManager,this.globalData.slotManager=slotFactory(a),this.globalData.fontManager.addChars(a.chars),this.globalData.fontManager.addFonts(a.fonts,e),this.globalData.getAssetData=this.animationItem.getAssetData.bind(this.animationItem),this.globalData.getAssetsPath=this.animationItem.getAssetsPath.bind(this.animationItem),this.globalData.imageLoader=this.animationItem.imagePreloader,this.globalData.audioController=this.animationItem.audioController,this.globalData.frameId=0,this.globalData.frameRate=a.fr,this.globalData.nm=a.nm,this.globalData.compSize={w:a.w,h:a.h}};var effectTypes={TRANSFORM_EFFECT:"transformEFfect"};function TransformElement(){}TransformElement.prototype={initTransform:function a(){var e=new Matrix;if(this.finalTransform={mProp:this.data.ks?TransformPropertyFactory.getTransformProperty(this,this.data.ks,this):{o:0},_matMdf:!1,_localMatMdf:!1,_opMdf:!1,mat:e,localMat:e,localOpacity:1},this.data.ao)this.finalTransform.mProp.autoOriented=!0;if(this.data.ty!==11);},renderTransform:function a(){if(this.finalTransform._opMdf=this.finalTransform.mProp.o._mdf||this._isFirstFrame,this.finalTransform._matMdf=this.finalTransform.mProp._mdf||this._isFirstFrame,this.hierarchy){var e,i=this.finalTransform.mat,r=0,n=this.hierarchy.length;if(!this.finalTransform._matMdf)while(r<n){if(this.hierarchy[r].finalTransform.mProp._mdf){this.finalTransform._matMdf=!0;break}r+=1}if(this.finalTransform._matMdf){e=this.finalTransform.mProp.v.props,i.cloneFromProps(e);for(r=0;r<n;r+=1)i.multiply(this.hierarchy[r].finalTransform.mProp.v)}}if(!this.localTransforms||this.finalTransform._matMdf)this.finalTransform._localMatMdf=this.finalTransform._matMdf;if(this.finalTransform._opMdf)this.finalTransform.localOpacity=this.finalTransform.mProp.o.v},renderLocalTransform:function a(){if(this.localTransforms){var e=0,i=this.localTransforms.length;if(this.finalTransform._localMatMdf=this.finalTransform._matMdf,!this.finalTransform._localMatMdf||!this.finalTransform._opMdf)while(e<i){if(this.localTransforms[e]._mdf)this.finalTransform._localMatMdf=!0;if(this.localTransforms[e]._opMdf&&!this.finalTransform._opMdf)this.finalTransform.localOpacity=this.finalTransform.mProp.o.v,this.finalTransform._opMdf=!0;e+=1}if(this.finalTransform._localMatMdf){var r=this.finalTransform.localMat;this.localTransforms[0].matrix.clone(r);for(e=1;e<i;e+=1){var n=this.localTransforms[e].matrix;r.multiply(n)}r.multiply(this.finalTransform.mat)}if(this.finalTransform._opMdf){var t=this.finalTransform.localOpacity;for(e=0;e<i;e+=1)t*=this.localTransforms[e].opacity*0.01;this.finalTransform.localOpacity=t}}},searchEffectTransforms:function a(){if(this.renderableEffectsManager){var e=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT);if(e.length){this.localTransforms=[],this.finalTransform.localMat=new Matrix;var i=0,r=e.length;for(i=0;i<r;i+=1)this.localTransforms.push(e[i])}}},globalToLocal:function a(e){var i=[];i.push(this.finalTransform);var r=!0,n=this.comp;while(r)if(n.finalTransform){if(n.data.hasMask)i.splice(0,0,n.finalTransform);n=n.comp}else r=!1;var t,l=i.length,o;for(t=0;t<l;t+=1)o=i[t].mat.applyToPointArray(0,0,0),e=[e[0]-o[0],e[1]-o[1],0];return e},mHelper:new Matrix};function MaskElement(a,e,i){this.data=a,this.element=e,this.globalData=i,this.storedData=[],this.masksProperties=this.data.masksProperties||[],this.maskElement=null;var r=this.globalData.defs,n,t=this.masksProperties?this.masksProperties.length:0;this.viewData=createSizedArray(t),this.solidPath="";var l,o=this.masksProperties,s=0,d=[],c,m,h=createElementID(),f,v,g,x,z="clipPath",p="clip-path";for(n=0;n<t;n+=1){if(o[n].mode!=="a"&&o[n].mode!=="n"||o[n].inv||o[n].o.k!==100||o[n].o.x)z="mask",p="mask";if((o[n].mode==="s"||o[n].mode==="i")&&s===0)f=createNS("rect"),f.setAttribute("fill","#ffffff"),f.setAttribute("width",this.element.comp.data.w||0),f.setAttribute("height",this.element.comp.data.h||0),d.push(f);else f=null;if(l=createNS("path"),o[n].mode==="n")this.viewData[n]={op:PropertyFactory.getProp(this.element,o[n].o,0,0.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,o[n],3),elem:l,lastPath:""},r.appendChild(l);else{s+=1,l.setAttribute("fill",o[n].mode==="s"?"#000000":"#ffffff"),l.setAttribute("clip-rule","nonzero");var w;if(o[n].x.k!==0)z="mask",p="mask",x=PropertyFactory.getProp(this.element,o[n].x,0,null,this.element),w=createElementID(),v=createNS("filter"),v.setAttribute("id",w),g=createNS("feMorphology"),g.setAttribute("operator","erode"),g.setAttribute("in","SourceGraphic"),g.setAttribute("radius","0"),v.appendChild(g),r.appendChild(v),l.setAttribute("stroke",o[n].mode==="s"?"#000000":"#ffffff");else g=null,x=null;if(this.storedData[n]={elem:l,x,expan:g,lastPath:"",lastOperator:"",filterId:w,lastRadius:0},o[n].mode==="i"){m=d.length;var b=createNS("g");for(c=0;c<m;c+=1)b.appendChild(d[c]);var y=createNS("mask");y.setAttribute("mask-type","alpha"),y.setAttribute("id",h+"_"+s),y.appendChild(l),r.appendChild(y),b.setAttribute("mask","url("+getLocationHref()+"#"+h+"_"+s+")"),d.length=0,d.push(b)}else d.push(l);if(o[n].inv&&!this.solidPath)this.solidPath=this.createLayerSolidPath();if(this.viewData[n]={elem:l,lastPath:"",op:PropertyFactory.getProp(this.element,o[n].o,0,0.01,this.element),prop:ShapePropertyFactory.getShapeProp(this.element,o[n],3),invRect:f},!this.viewData[n].prop.k)this.drawPath(o[n],this.viewData[n].prop.v,this.viewData[n])}}this.maskElement=createNS(z),t=d.length;for(n=0;n<t;n+=1)this.maskElement.appendChild(d[n]);if(s>0)this.maskElement.setAttribute("id",h),this.element.maskedElement.setAttribute(p,"url("+getLocationHref()+"#"+h+")"),r.appendChild(this.maskElement);if(this.viewData.length)this.element.addRenderableComponent(this)}MaskElement.prototype.getMaskProperty=function(a){return this.viewData[a].prop},MaskElement.prototype.renderFrame=function(a){var e=this.element.finalTransform.mat,i,r=this.masksProperties.length;for(i=0;i<r;i+=1){if(this.viewData[i].prop._mdf||a)this.drawPath(this.masksProperties[i],this.viewData[i].prop.v,this.viewData[i]);if(this.viewData[i].op._mdf||a)this.viewData[i].elem.setAttribute("fill-opacity",this.viewData[i].op.v);if(this.masksProperties[i].mode!=="n"){if(this.viewData[i].invRect&&(this.element.finalTransform.mProp._mdf||a))this.viewData[i].invRect.setAttribute("transform",e.getInverseMatrix().to2dCSS());if(this.storedData[i].x&&(this.storedData[i].x._mdf||a)){var n=this.storedData[i].expan;if(this.storedData[i].x.v<0){if(this.storedData[i].lastOperator!=="erode")this.storedData[i].lastOperator="erode",this.storedData[i].elem.setAttribute("filter","url("+getLocationHref()+"#"+this.storedData[i].filterId+")");n.setAttribute("radius",-this.storedData[i].x.v)}else{if(this.storedData[i].lastOperator!=="dilate")this.storedData[i].lastOperator="dilate",this.storedData[i].elem.setAttribute("filter",null);this.storedData[i].elem.setAttribute("stroke-width",this.storedData[i].x.v*2)}}}}},MaskElement.prototype.getMaskelement=function(){return this.maskElement},MaskElement.prototype.createLayerSolidPath=function(){var a="M0,0 ";return a+=" h"+this.globalData.compSize.w,a+=" v"+this.globalData.compSize.h,a+=" h-"+this.globalData.compSize.w,a+=" v-"+this.globalData.compSize.h+" ",a},MaskElement.prototype.drawPath=function(a,e,i){var r=" M"+e.v[0][0]+","+e.v[0][1],n,t;t=e._length;for(n=1;n<t;n+=1)r+=" C"+e.o[n-1][0]+","+e.o[n-1][1]+" "+e.i[n][0]+","+e.i[n][1]+" "+e.v[n][0]+","+e.v[n][1];if(e.c&&t>1)r+=" C"+e.o[n-1][0]+","+e.o[n-1][1]+" "+e.i[0][0]+","+e.i[0][1]+" "+e.v[0][0]+","+e.v[0][1];if(i.lastPath!==r){var l="";if(i.elem){if(e.c)l=a.inv?this.solidPath+r:r;i.elem.setAttribute("d",l)}i.lastPath=r}},MaskElement.prototype.destroy=function(){this.element=null,this.globalData=null,this.maskElement=null,this.data=null,this.masksProperties=null};var filtersFactory=function(){var a={};a.createFilter=e,a.createAlphaToLuminanceFilter=i;function e(r,n){var t=createNS("filter");if(t.setAttribute("id",r),n!==!0)t.setAttribute("filterUnits","objectBoundingBox"),t.setAttribute("x","0%"),t.setAttribute("y","0%"),t.setAttribute("width","100%"),t.setAttribute("height","100%");return t}function i(){var r=createNS("feColorMatrix");return r.setAttribute("type","matrix"),r.setAttribute("color-interpolation-filters","sRGB"),r.setAttribute("values","0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1"),r}return a}(),featureSupport=function(){var a={maskType:!0,svgLumaHidden:!0,offscreenCanvas:typeof OffscreenCanvas!=="undefined"};if(/MSIE 10/i.test(navigator.userAgent)||/MSIE 9/i.test(navigator.userAgent)||/rv:11.0/i.test(navigator.userAgent)||/Edge\/\d./i.test(navigator.userAgent))a.maskType=!1;if(/firefox/i.test(navigator.userAgent))a.svgLumaHidden=!1;return a}(),registeredEffects$1={},idPrefix="filter_result_";function SVGEffects(a){var e,i="SourceGraphic",r=a.data.ef?a.data.ef.length:0,n=createElementID(),t=filtersFactory.createFilter(n,!0),l=0;this.filters=[];var o;for(e=0;e<r;e+=1){o=null;var s=a.data.ef[e].ty;if(registeredEffects$1[s]){var d=registeredEffects$1[s].effect;if(o=new d(t,a.effectsManager.effectElements[e],a,idPrefix+l,i),i=idPrefix+l,registeredEffects$1[s].countsAsEffect)l+=1}if(o)this.filters.push(o)}if(l)a.globalData.defs.appendChild(t),a.layerElement.setAttribute("filter","url("+getLocationHref()+"#"+n+")");if(this.filters.length)a.addRenderableComponent(this)}SVGEffects.prototype.renderFrame=function(a){var e,i=this.filters.length;for(e=0;e<i;e+=1)this.filters[e].renderFrame(a)},SVGEffects.prototype.getEffects=function(a){var e,i=this.filters.length,r=[];for(e=0;e<i;e+=1)if(this.filters[e].type===a)r.push(this.filters[e]);return r};function registerEffect$1(a,e,i){registeredEffects$1[a]={effect:e,countsAsEffect:i}}function SVGBaseElement(){}SVGBaseElement.prototype={initRendererElement:function a(){this.layerElement=createNS("g")},createContainerElements:function a(){this.matteElement=createNS("g"),this.transformedElement=this.layerElement,this.maskedElement=this.layerElement,this._sizeChanged=!1;var e=null;if(this.data.td){this.matteMasks={};var i=createNS("g");i.setAttribute("id",this.layerId),i.appendChild(this.layerElement),e=i,this.globalData.defs.appendChild(i)}else if(this.data.tt)this.matteElement.appendChild(this.layerElement),e=this.matteElement,this.baseElement=this.matteElement;else this.baseElement=this.layerElement;if(this.data.ln)this.layerElement.setAttribute("id",this.data.ln);if(this.data.cl)this.layerElement.setAttribute("class",this.data.cl);if(this.data.ty===0&&!this.data.hd){var r=createNS("clipPath"),n=createNS("path");n.setAttribute("d","M0,0 L"+this.data.w+",0 L"+this.data.w+","+this.data.h+" L0,"+this.data.h+"z");var t=createElementID();if(r.setAttribute("id",t),r.appendChild(n),this.globalData.defs.appendChild(r),this.checkMasks()){var l=createNS("g");if(l.setAttribute("clip-path","url("+getLocationHref()+"#"+t+")"),l.appendChild(this.layerElement),this.transformedElement=l,e)e.appendChild(this.transformedElement);else this.baseElement=this.transformedElement}else this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+t+")")}if(this.data.bm!==0)this.setBlendMode()},renderElement:function a(){if(this.finalTransform._localMatMdf)this.transformedElement.setAttribute("transform",this.finalTransform.localMat.to2dCSS());if(this.finalTransform._opMdf)this.transformedElement.setAttribute("opacity",this.finalTransform.localOpacity)},destroyBaseElement:function a(){this.layerElement=null,this.matteElement=null,this.maskManager.destroy()},getBaseElement:function a(){if(this.data.hd)return null;return this.baseElement},createRenderableComponents:function a(){this.maskManager=new MaskElement(this.data,this,this.globalData),this.renderableEffectsManager=new SVGEffects(this),this.searchEffectTransforms()},getMatte:function a(e){if(!this.matteMasks)this.matteMasks={};if(!this.matteMasks[e]){var i=this.layerId+"_"+e,r,n,t,l;if(e===1||e===3){var o=createNS("mask");if(o.setAttribute("id",i),o.setAttribute("mask-type",e===3?"luminance":"alpha"),t=createNS("use"),t.setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),o.appendChild(t),this.globalData.defs.appendChild(o),!featureSupport.maskType&&e===1)o.setAttribute("mask-type","luminance"),r=createElementID(),n=filtersFactory.createFilter(r),this.globalData.defs.appendChild(n),n.appendChild(filtersFactory.createAlphaToLuminanceFilter()),l=createNS("g"),l.appendChild(t),o.appendChild(l),l.setAttribute("filter","url("+getLocationHref()+"#"+r+")")}else if(e===2){var s=createNS("mask");s.setAttribute("id",i),s.setAttribute("mask-type","alpha");var d=createNS("g");s.appendChild(d),r=createElementID(),n=filtersFactory.createFilter(r);var c=createNS("feComponentTransfer");c.setAttribute("in","SourceGraphic"),n.appendChild(c);var m=createNS("feFuncA");m.setAttribute("type","table"),m.setAttribute("tableValues","1.0 0.0"),c.appendChild(m),this.globalData.defs.appendChild(n);var h=createNS("rect");if(h.setAttribute("width",this.comp.data.w),h.setAttribute("height",this.comp.data.h),h.setAttribute("x","0"),h.setAttribute("y","0"),h.setAttribute("fill","#ffffff"),h.setAttribute("opacity","0"),d.setAttribute("filter","url("+getLocationHref()+"#"+r+")"),d.appendChild(h),t=createNS("use"),t.setAttributeNS("http://www.w3.org/1999/xlink","href","#"+this.layerId),d.appendChild(t),!featureSupport.maskType)s.setAttribute("mask-type","luminance"),n.appendChild(filtersFactory.createAlphaToLuminanceFilter()),l=createNS("g"),d.appendChild(h),l.appendChild(this.layerElement),d.appendChild(l);this.globalData.defs.appendChild(s)}this.matteMasks[e]=i}return this.matteMasks[e]},setMatte:function a(e){if(!this.matteElement)return;this.matteElement.setAttribute("mask","url("+getLocationHref()+"#"+e+")")}};function HierarchyElement(){}HierarchyElement.prototype={initHierarchy:function a(){this.hierarchy=[],this._isParent=!1,this.checkParenting()},setHierarchy:function a(e){this.hierarchy=e},setAsParent:function a(){this._isParent=!0},checkParenting:function a(){if(this.data.parent!==void 0)this.comp.buildElementParenting(this,this.data.parent,[])}};function RenderableDOMElement(){}(function(){var a={initElement:function e(i,r,n){this.initFrame(),this.initBaseData(i,r,n),this.initTransform(i,r,n),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide()},hide:function e(){if(!this.hidden&&(!this.isInRange||this.isTransparent)){var i=this.baseElement||this.layerElement;i.style.display="none",this.hidden=!0}},show:function e(){if(this.isInRange&&!this.isTransparent){if(!this.data.hd){var i=this.baseElement||this.layerElement;i.style.display="block"}this.hidden=!1,this._isFirstFrame=!0}},renderFrame:function e(){if(this.data.hd||this.hidden)return;if(this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame)this._isFirstFrame=!1},renderInnerContent:function e(){},prepareFrame:function e(i){this._mdf=!1,this.prepareRenderableFrame(i),this.prepareProperties(i,this.isInRange),this.checkTransparency()},destroy:function e(){this.innerElem=null,this.destroyBaseElement()}};extendPrototype([RenderableElement,createProxyFunction(a)],RenderableDOMElement)})();function IImageElement(a,e,i){if(this.assetData=e.getAssetData(a.refId),this.assetData&&this.assetData.sid)this.assetData=e.slotManager.getProp(this.assetData);this.initElement(a,e,i),this.sourceRect={top:0,left:0,width:this.assetData.w,height:this.assetData.h}}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],IImageElement),IImageElement.prototype.createContent=function(){var a=this.globalData.getAssetsPath(this.assetData);this.innerElem=createNS("image"),this.innerElem.setAttribute("width",this.assetData.w+"px"),this.innerElem.setAttribute("height",this.assetData.h+"px"),this.innerElem.setAttribute("preserveAspectRatio",this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio),this.innerElem.setAttributeNS("http://www.w3.org/1999/xlink","href",a),this.layerElement.appendChild(this.innerElem)},IImageElement.prototype.sourceRectAtTime=function(){return this.sourceRect};function ProcessedElement(a,e){this.elem=a,this.pos=e}function IShapeElement(){}IShapeElement.prototype={addShapeToModifiers:function a(e){var i,r=this.shapeModifiers.length;for(i=0;i<r;i+=1)this.shapeModifiers[i].addShape(e)},isShapeInAnimatedModifiers:function a(e){var i=0,r=this.shapeModifiers.length;while(i<r)if(this.shapeModifiers[i].isAnimatedWithShape(e))return!0;return!1},renderModifiers:function a(){if(!this.shapeModifiers.length)return;var e,i=this.shapes.length;for(e=0;e<i;e+=1)this.shapes[e].sh.reset();i=this.shapeModifiers.length;var r;for(e=i-1;e>=0;e-=1)if(r=this.shapeModifiers[e].processShapes(this._isFirstFrame),r)break},searchProcessedElement:function a(e){var i=this.processedElements,r=0,n=i.length;while(r<n){if(i[r].elem===e)return i[r].pos;r+=1}return 0},addProcessedElement:function a(e,i){var r=this.processedElements,n=r.length;while(n)if(n-=1,r[n].elem===e){r[n].pos=i;return}r.push(new ProcessedElement(e,i))},prepareFrame:function a(e){this.prepareRenderableFrame(e),this.prepareProperties(e,this.isInRange)}};var lineCapEnum={1:"butt",2:"round",3:"square"},lineJoinEnum={1:"miter",2:"round",3:"bevel"};function SVGShapeData(a,e,i){this.caches=[],this.styles=[],this.transformers=a,this.lStr="",this.sh=i,this.lvl=e,this._isAnimated=!!i.k;var r=0,n=a.length;while(r<n){if(a[r].mProps.dynamicProperties.length){this._isAnimated=!0;break}r+=1}}SVGShapeData.prototype.setAsAnimated=function(){this._isAnimated=!0};function SVGStyleData(a,e){this.data=a,this.type=a.ty,this.d="",this.lvl=e,this._mdf=!1,this.closed=a.hd===!0,this.pElem=createNS("path"),this.msElem=null}SVGStyleData.prototype.reset=function(){this.d="",this._mdf=!1};function DashProperty(a,e,i,r){this.elem=a,this.frameId=-1,this.dataProps=createSizedArray(e.length),this.renderer=i,this.k=!1,this.dashStr="",this.dashArray=createTypedArray("float32",e.length?e.length-1:0),this.dashoffset=createTypedArray("float32",1),this.initDynamicPropertyContainer(r);var n,t=e.length||0,l;for(n=0;n<t;n+=1)l=PropertyFactory.getProp(a,e[n].v,0,0,this),this.k=l.k||this.k,this.dataProps[n]={n:e[n].n,p:l};if(!this.k)this.getValue(!0);this._isAnimated=this.k}DashProperty.prototype.getValue=function(a){if(this.elem.globalData.frameId===this.frameId&&!a)return;if(this.frameId=this.elem.globalData.frameId,this.iterateDynamicProperties(),this._mdf=this._mdf||a,this._mdf){var e=0,i=this.dataProps.length;if(this.renderer==="svg")this.dashStr="";for(e=0;e<i;e+=1)if(this.dataProps[e].n!=="o")if(this.renderer==="svg")this.dashStr+=" "+this.dataProps[e].p.v;else this.dashArray[e]=this.dataProps[e].p.v;else this.dashoffset[0]=this.dataProps[e].p.v}},extendPrototype([DynamicPropertyContainer],DashProperty);function SVGStrokeStyleData(a,e,i){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(a,e.o,0,0.01,this),this.w=PropertyFactory.getProp(a,e.w,0,null,this),this.d=new DashProperty(a,e.d||{},"svg",this),this.c=PropertyFactory.getProp(a,e.c,1,255,this),this.style=i,this._isAnimated=!!this._isAnimated}extendPrototype([DynamicPropertyContainer],SVGStrokeStyleData);function SVGFillStyleData(a,e,i){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.o=PropertyFactory.getProp(a,e.o,0,0.01,this),this.c=PropertyFactory.getProp(a,e.c,1,255,this),this.style=i}extendPrototype([DynamicPropertyContainer],SVGFillStyleData);function SVGNoStyleData(a,e,i){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.style=i}extendPrototype([DynamicPropertyContainer],SVGNoStyleData);function GradientProperty(a,e,i){this.data=e,this.c=createTypedArray("uint8c",e.p*4);var r=e.k.k[0].s?e.k.k[0].s.length-e.p*4:e.k.k.length-e.p*4;this.o=createTypedArray("float32",r),this._cmdf=!1,this._omdf=!1,this._collapsable=this.checkCollapsable(),this._hasOpacity=r,this.initDynamicPropertyContainer(i),this.prop=PropertyFactory.getProp(a,e.k,1,null,this),this.k=this.prop.k,this.getValue(!0)}GradientProperty.prototype.comparePoints=function(a,e){var i=0,r=this.o.length/2,n;while(i<r){if(n=Math.abs(a[i*4]-a[e*4+i*2]),n>0.01)return!1;i+=1}return!0},GradientProperty.prototype.checkCollapsable=function(){if(this.o.length/2!==this.c.length/4)return!1;if(this.data.k.k[0].s){var a=0,e=this.data.k.k.length;while(a<e){if(!this.comparePoints(this.data.k.k[a].s,this.data.p))return!1;a+=1}}else if(!this.comparePoints(this.data.k.k,this.data.p))return!1;return!0},GradientProperty.prototype.getValue=function(a){if(this.prop.getValue(),this._mdf=!1,this._cmdf=!1,this._omdf=!1,this.prop._mdf||a){var e,i=this.data.p*4,r,n;for(e=0;e<i;e+=1)if(r=e%4===0?100:255,n=Math.round(this.prop.v[e]*r),this.c[e]!==n)this.c[e]=n,this._cmdf=!a;if(this.o.length){i=this.prop.v.length;for(e=this.data.p*4;e<i;e+=1)if(r=e%2===0?100:1,n=e%2===0?Math.round(this.prop.v[e]*100):this.prop.v[e],this.o[e-this.data.p*4]!==n)this.o[e-this.data.p*4]=n,this._omdf=!a}this._mdf=!a}},extendPrototype([DynamicPropertyContainer],GradientProperty);function SVGGradientFillStyleData(a,e,i){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.initGradientData(a,e,i)}SVGGradientFillStyleData.prototype.initGradientData=function(a,e,i){this.o=PropertyFactory.getProp(a,e.o,0,0.01,this),this.s=PropertyFactory.getProp(a,e.s,1,null,this),this.e=PropertyFactory.getProp(a,e.e,1,null,this),this.h=PropertyFactory.getProp(a,e.h||{k:0},0,0.01,this),this.a=PropertyFactory.getProp(a,e.a||{k:0},0,degToRads,this),this.g=new GradientProperty(a,e.g,this),this.style=i,this.stops=[],this.setGradientData(i.pElem,e),this.setGradientOpacity(e,i),this._isAnimated=!!this._isAnimated},SVGGradientFillStyleData.prototype.setGradientData=function(a,e){var i=createElementID(),r=createNS(e.t===1?"linearGradient":"radialGradient");r.setAttribute("id",i),r.setAttribute("spreadMethod","pad"),r.setAttribute("gradientUnits","userSpaceOnUse");var n=[],t,l,o;o=e.g.p*4;for(l=0;l<o;l+=4)t=createNS("stop"),r.appendChild(t),n.push(t);a.setAttribute(e.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+i+")"),this.gf=r,this.cst=n},SVGGradientFillStyleData.prototype.setGradientOpacity=function(a,e){if(this.g._hasOpacity&&!this.g._collapsable){var i,r,n,t=createNS("mask"),l=createNS("path");t.appendChild(l);var o=createElementID(),s=createElementID();t.setAttribute("id",s);var d=createNS(a.t===1?"linearGradient":"radialGradient");d.setAttribute("id",o),d.setAttribute("spreadMethod","pad"),d.setAttribute("gradientUnits","userSpaceOnUse"),n=a.g.k.k[0].s?a.g.k.k[0].s.length:a.g.k.k.length;var c=this.stops;for(r=a.g.p*4;r<n;r+=2)i=createNS("stop"),i.setAttribute("stop-color","rgb(255,255,255)"),d.appendChild(i),c.push(i);if(l.setAttribute(a.ty==="gf"?"fill":"stroke","url("+getLocationHref()+"#"+o+")"),a.ty==="gs"){if(l.setAttribute("stroke-linecap",lineCapEnum[a.lc||2]),l.setAttribute("stroke-linejoin",lineJoinEnum[a.lj||2]),a.lj===1)l.setAttribute("stroke-miterlimit",a.ml)}this.of=d,this.ms=t,this.ost=c,this.maskId=s,e.msElem=l}},extendPrototype([DynamicPropertyContainer],SVGGradientFillStyleData);function SVGGradientStrokeStyleData(a,e,i){this.initDynamicPropertyContainer(a),this.getValue=this.iterateDynamicProperties,this.w=PropertyFactory.getProp(a,e.w,0,null,this),this.d=new DashProperty(a,e.d||{},"svg",this),this.initGradientData(a,e,i),this._isAnimated=!!this._isAnimated}extendPrototype([SVGGradientFillStyleData,DynamicPropertyContainer],SVGGradientStrokeStyleData);function ShapeGroupData(){this.it=[],this.prevViewData=[],this.gr=createNS("g")}function SVGTransformData(a,e,i){this.transform={mProps:a,op:e,container:i},this.elements=[],this._isAnimated=this.transform.mProps.dynamicProperties.length||this.transform.op.effectsSequence.length}var buildShapeString=function a(e,i,r,n){if(i===0)return"";var{o:t,i:l,v:o}=e,s,d=" M"+n.applyToPointStringified(o[0][0],o[0][1]);for(s=1;s<i;s+=1)d+=" C"+n.applyToPointStringified(t[s-1][0],t[s-1][1])+" "+n.applyToPointStringified(l[s][0],l[s][1])+" "+n.applyToPointStringified(o[s][0],o[s][1]);if(r&&i)d+=" C"+n.applyToPointStringified(t[s-1][0],t[s-1][1])+" "+n.applyToPointStringified(l[0][0],l[0][1])+" "+n.applyToPointStringified(o[0][0],o[0][1]),d+="z";return d},SVGElementsRenderer=function(){var a=new Matrix,e=new Matrix,i={createRenderFunction:r};function r(m){switch(m.ty){case"fl":return o;case"gf":return d;case"gs":return s;case"st":return c;case"sh":case"el":case"rc":case"sr":return l;case"tr":return n;case"no":return t;default:return null}}function n(m,h,f){if(f||h.transform.op._mdf)h.transform.container.setAttribute("opacity",h.transform.op.v);if(f||h.transform.mProps._mdf)h.transform.container.setAttribute("transform",h.transform.mProps.v.to2dCSS())}function t(){}function l(m,h,f){var v,g,x,z,p,w,b=h.styles.length,y=h.lvl,I,O,K,j;for(w=0;w<b;w+=1){if(z=h.sh._mdf||f,h.styles[w].lvl<y){O=e.reset(),K=y-h.styles[w].lvl,j=h.transformers.length-1;while(!z&&K>0)z=h.transformers[j].mProps._mdf||z,K-=1,j-=1;if(z){K=y-h.styles[w].lvl,j=h.transformers.length-1;while(K>0)O.multiply(h.transformers[j].mProps.v),K-=1,j-=1}}else O=a;if(I=h.sh.paths,g=I._length,z){x="";for(v=0;v<g;v+=1)if(p=I.shapes[v],p&&p._length)x+=buildShapeString(p,p._length,p.c,O);h.caches[w]=x}else x=h.caches[w];h.styles[w].d+=m.hd===!0?"":x,h.styles[w]._mdf=z||h.styles[w]._mdf}}function o(m,h,f){var v=h.style;if(h.c._mdf||f)v.pElem.setAttribute("fill","rgb("+bmFloor(h.c.v[0])+","+bmFloor(h.c.v[1])+","+bmFloor(h.c.v[2])+")");if(h.o._mdf||f)v.pElem.setAttribute("fill-opacity",h.o.v)}function s(m,h,f){d(m,h,f),c(m,h,f)}function d(m,h,f){var v=h.gf,g=h.g._hasOpacity,x=h.s.v,z=h.e.v;if(h.o._mdf||f){var p=m.ty==="gf"?"fill-opacity":"stroke-opacity";h.style.pElem.setAttribute(p,h.o.v)}if(h.s._mdf||f){var w=m.t===1?"x1":"cx",b=w==="x1"?"y1":"cy";if(v.setAttribute(w,x[0]),v.setAttribute(b,x[1]),g&&!h.g._collapsable)h.of.setAttribute(w,x[0]),h.of.setAttribute(b,x[1])}var y,I,O,K;if(h.g._cmdf||f){y=h.cst;var j=h.g.c;O=y.length;for(I=0;I<O;I+=1)K=y[I],K.setAttribute("offset",j[I*4]+"%"),K.setAttribute("stop-color","rgb("+j[I*4+1]+","+j[I*4+2]+","+j[I*4+3]+")")}if(g&&(h.g._omdf||f)){var T=h.g.o;if(h.g._collapsable)y=h.cst;else y=h.ost;O=y.length;for(I=0;I<O;I+=1){if(K=y[I],!h.g._collapsable)K.setAttribute("offset",T[I*2]+"%");K.setAttribute("stop-opacity",T[I*2+1])}}if(m.t===1){if(h.e._mdf||f){if(v.setAttribute("x2",z[0]),v.setAttribute("y2",z[1]),g&&!h.g._collapsable)h.of.setAttribute("x2",z[0]),h.of.setAttribute("y2",z[1])}}else{var A;if(h.s._mdf||h.e._mdf||f){if(A=Math.sqrt(Math.pow(x[0]-z[0],2)+Math.pow(x[1]-z[1],2)),v.setAttribute("r",A),g&&!h.g._collapsable)h.of.setAttribute("r",A)}if(h.s._mdf||h.e._mdf||h.h._mdf||h.a._mdf||f){if(!A)A=Math.sqrt(Math.pow(x[0]-z[0],2)+Math.pow(x[1]-z[1],2));var V=Math.atan2(z[1]-x[1],z[0]-x[0]),N=h.h.v;if(N>=1)N=0.99;else if(N<=-1)N=-0.99;var G=A*N,D=Math.cos(V+h.a.v)*G+x[0],F=Math.sin(V+h.a.v)*G+x[1];if(v.setAttribute("fx",D),v.setAttribute("fy",F),g&&!h.g._collapsable)h.of.setAttribute("fx",D),h.of.setAttribute("fy",F)}}}function c(m,h,f){var{style:v,d:g}=h;if(g&&(g._mdf||f)&&g.dashStr)v.pElem.setAttribute("stroke-dasharray",g.dashStr),v.pElem.setAttribute("stroke-dashoffset",g.dashoffset[0]);if(h.c&&(h.c._mdf||f))v.pElem.setAttribute("stroke","rgb("+bmFloor(h.c.v[0])+","+bmFloor(h.c.v[1])+","+bmFloor(h.c.v[2])+")");if(h.o._mdf||f)v.pElem.setAttribute("stroke-opacity",h.o.v);if(h.w._mdf||f){if(v.pElem.setAttribute("stroke-width",h.w.v),v.msElem)v.msElem.setAttribute("stroke-width",h.w.v)}}return i}();function SVGShapeElement(a,e,i){this.shapes=[],this.shapesData=a.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.initElement(a,e,i),this.prevViewData=[]}extendPrototype([BaseElement,TransformElement,SVGBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableDOMElement],SVGShapeElement),SVGShapeElement.prototype.initSecondaryElement=function(){},SVGShapeElement.prototype.identityMatrix=new Matrix,SVGShapeElement.prototype.buildExpressionInterface=function(){},SVGShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes()},SVGShapeElement.prototype.filterUniqueShapes=function(){var a,e=this.shapes.length,i,r,n=this.stylesList.length,t,l=[],o=!1;for(r=0;r<n;r+=1){t=this.stylesList[r],o=!1,l.length=0;for(a=0;a<e;a+=1)if(i=this.shapes[a],i.styles.indexOf(t)!==-1)l.push(i),o=i._isAnimated||o;if(l.length>1&&o)this.setShapesAsAnimated(l)}},SVGShapeElement.prototype.setShapesAsAnimated=function(a){var e,i=a.length;for(e=0;e<i;e+=1)a[e].setAsAnimated()},SVGShapeElement.prototype.createStyleElement=function(a,e){var i,r=new SVGStyleData(a,e),n=r.pElem;if(a.ty==="st")i=new SVGStrokeStyleData(this,a,r);else if(a.ty==="fl")i=new SVGFillStyleData(this,a,r);else if(a.ty==="gf"||a.ty==="gs"){var t=a.ty==="gf"?SVGGradientFillStyleData:SVGGradientStrokeStyleData;if(i=new t(this,a,r),this.globalData.defs.appendChild(i.gf),i.maskId)this.globalData.defs.appendChild(i.ms),this.globalData.defs.appendChild(i.of),n.setAttribute("mask","url("+getLocationHref()+"#"+i.maskId+")")}else if(a.ty==="no")i=new SVGNoStyleData(this,a,r);if(a.ty==="st"||a.ty==="gs"){if(n.setAttribute("stroke-linecap",lineCapEnum[a.lc||2]),n.setAttribute("stroke-linejoin",lineJoinEnum[a.lj||2]),n.setAttribute("fill-opacity","0"),a.lj===1)n.setAttribute("stroke-miterlimit",a.ml)}if(a.r===2)n.setAttribute("fill-rule","evenodd");if(a.ln)n.setAttribute("id",a.ln);if(a.cl)n.setAttribute("class",a.cl);if(a.bm)n.style["mix-blend-mode"]=getBlendMode(a.bm);return this.stylesList.push(r),this.addToAnimatedContents(a,i),i},SVGShapeElement.prototype.createGroupElement=function(a){var e=new ShapeGroupData;if(a.ln)e.gr.setAttribute("id",a.ln);if(a.cl)e.gr.setAttribute("class",a.cl);if(a.bm)e.gr.style["mix-blend-mode"]=getBlendMode(a.bm);return e},SVGShapeElement.prototype.createTransformElement=function(a,e){var i=TransformPropertyFactory.getTransformProperty(this,a,this),r=new SVGTransformData(i,i.o,e);return this.addToAnimatedContents(a,r),r},SVGShapeElement.prototype.createShapeElement=function(a,e,i){var r=4;if(a.ty==="rc")r=5;else if(a.ty==="el")r=6;else if(a.ty==="sr")r=7;var n=ShapePropertyFactory.getShapeProp(this,a,r,this),t=new SVGShapeData(e,i,n);return this.shapes.push(t),this.addShapeToModifiers(t),this.addToAnimatedContents(a,t),t},SVGShapeElement.prototype.addToAnimatedContents=function(a,e){var i=0,r=this.animatedContents.length;while(i<r){if(this.animatedContents[i].element===e)return;i+=1}this.animatedContents.push({fn:SVGElementsRenderer.createRenderFunction(a),element:e,data:a})},SVGShapeElement.prototype.setElementStyles=function(a){var e=a.styles,i,r=this.stylesList.length;for(i=0;i<r;i+=1)if(e.indexOf(this.stylesList[i])===-1&&!this.stylesList[i].closed)e.push(this.stylesList[i])},SVGShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var a,e=this.itemsData.length;for(a=0;a<e;a+=1)this.prevViewData[a]=this.itemsData[a];this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.layerElement,0,[],!0),this.filterUniqueShapes(),e=this.dynamicProperties.length;for(a=0;a<e;a+=1)this.dynamicProperties[a].getValue();this.renderModifiers()},SVGShapeElement.prototype.searchShapes=function(a,e,i,r,n,t,l){var o=[].concat(t),s,d=a.length-1,c,m,h=[],f=[],v,g,x;for(s=d;s>=0;s-=1){if(x=this.searchProcessedElement(a[s]),!x)a[s]._render=l;else e[s]=i[x-1];if(a[s].ty==="fl"||a[s].ty==="st"||a[s].ty==="gf"||a[s].ty==="gs"||a[s].ty==="no"){if(!x)e[s]=this.createStyleElement(a[s],n);else e[s].style.closed=a[s].hd;if(a[s]._render){if(e[s].style.pElem.parentNode!==r)r.appendChild(e[s].style.pElem)}h.push(e[s].style)}else if(a[s].ty==="gr"){if(!x)e[s]=this.createGroupElement(a[s]);else{m=e[s].it.length;for(c=0;c<m;c+=1)e[s].prevViewData[c]=e[s].it[c]}if(this.searchShapes(a[s].it,e[s].it,e[s].prevViewData,e[s].gr,n+1,o,l),a[s]._render){if(e[s].gr.parentNode!==r)r.appendChild(e[s].gr)}}else if(a[s].ty==="tr"){if(!x)e[s]=this.createTransformElement(a[s],r);v=e[s].transform,o.push(v)}else if(a[s].ty==="sh"||a[s].ty==="rc"||a[s].ty==="el"||a[s].ty==="sr"){if(!x)e[s]=this.createShapeElement(a[s],o,n);this.setElementStyles(e[s])}else if(a[s].ty==="tm"||a[s].ty==="rd"||a[s].ty==="ms"||a[s].ty==="pb"||a[s].ty==="zz"||a[s].ty==="op"){if(!x)g=ShapeModifiers.getModifier(a[s].ty),g.init(this,a[s]),e[s]=g,this.shapeModifiers.push(g);else g=e[s],g.closed=!1;f.push(g)}else if(a[s].ty==="rp"){if(!x)g=ShapeModifiers.getModifier(a[s].ty),e[s]=g,g.init(this,a,s,e),this.shapeModifiers.push(g),l=!1;else g=e[s],g.closed=!0;f.push(g)}this.addProcessedElement(a[s],s+1)}d=h.length;for(s=0;s<d;s+=1)h[s].closed=!0;d=f.length;for(s=0;s<d;s+=1)f[s].closed=!0},SVGShapeElement.prototype.renderInnerContent=function(){this.renderModifiers();var a,e=this.stylesList.length;for(a=0;a<e;a+=1)this.stylesList[a].reset();this.renderShape();for(a=0;a<e;a+=1)if(this.stylesList[a]._mdf||this._isFirstFrame){if(this.stylesList[a].msElem)this.stylesList[a].msElem.setAttribute("d",this.stylesList[a].d),this.stylesList[a].d="M0 0"+this.stylesList[a].d;this.stylesList[a].pElem.setAttribute("d",this.stylesList[a].d||"M0 0")}},SVGShapeElement.prototype.renderShape=function(){var a,e=this.animatedContents.length,i;for(a=0;a<e;a+=1)if(i=this.animatedContents[a],(this._isFirstFrame||i.element._isAnimated)&&i.data!==!0)i.fn(i.data,i.element,this._isFirstFrame)},SVGShapeElement.prototype.destroy=function(){this.destroyBaseElement(),this.shapesData=null,this.itemsData=null};function LetterProps(a,e,i,r,n,t){this.o=a,this.sw=e,this.sc=i,this.fc=r,this.m=n,this.p=t,this._mdf={o:!0,sw:!!e,sc:!!i,fc:!!r,m:!0,p:!0}}LetterProps.prototype.update=function(a,e,i,r,n,t){this._mdf.o=!1,this._mdf.sw=!1,this._mdf.sc=!1,this._mdf.fc=!1,this._mdf.m=!1,this._mdf.p=!1;var l=!1;if(this.o!==a)this.o=a,this._mdf.o=!0,l=!0;if(this.sw!==e)this.sw=e,this._mdf.sw=!0,l=!0;if(this.sc!==i)this.sc=i,this._mdf.sc=!0,l=!0;if(this.fc!==r)this.fc=r,this._mdf.fc=!0,l=!0;if(this.m!==n)this.m=n,this._mdf.m=!0,l=!0;if(t.length&&(this.p[0]!==t[0]||this.p[1]!==t[1]||this.p[4]!==t[4]||this.p[5]!==t[5]||this.p[12]!==t[12]||this.p[13]!==t[13]))this.p=t,this._mdf.p=!0,l=!0;return l};function TextProperty(a,e){if(this._frameId=initialDefaultFrame,this.pv="",this.v="",this.kf=!1,this._isFirstFrame=!0,this._mdf=!1,e.d&&e.d.sid)e.d=a.globalData.slotManager.getProp(e.d);if(this.data=e,this.elem=a,this.comp=this.elem.comp,this.keysIndex=0,this.canResize=!1,this.minimumFontSize=1,this.effectsSequence=[],this.currentData={ascent:0,boxWidth:this.defaultBoxWidth,f:"",fStyle:"",fWeight:"",fc:"",j:"",justifyOffset:"",l:[],lh:0,lineWidths:[],ls:"",of:"",s:"",sc:"",sw:0,t:0,tr:0,sz:0,ps:null,fillColorAnim:!1,strokeColorAnim:!1,strokeWidthAnim:!1,yOffset:0,finalSize:0,finalText:[],finalLineHeight:0,__complete:!1},this.copyData(this.currentData,this.data.d.k[0].s),!this.searchProperty())this.completeTextData(this.currentData)}TextProperty.prototype.defaultBoxWidth=[0,0],TextProperty.prototype.copyData=function(a,e){for(var i in e)if(Object.prototype.hasOwnProperty.call(e,i))a[i]=e[i];return a},TextProperty.prototype.setCurrentData=function(a){if(!a.__complete)this.completeTextData(a);this.currentData=a,this.currentData.boxWidth=this.currentData.boxWidth||this.defaultBoxWidth,this._mdf=!0},TextProperty.prototype.searchProperty=function(){return this.searchKeyframes()},TextProperty.prototype.searchKeyframes=function(){if(this.kf=this.data.d.k.length>1,this.kf)this.addEffect(this.getKeyframeValue.bind(this));return this.kf},TextProperty.prototype.addEffect=function(a){this.effectsSequence.push(a),this.elem.addDynamicProperty(this)},TextProperty.prototype.getValue=function(a){if((this.elem.globalData.frameId===this.frameId||!this.effectsSequence.length)&&!a)return;this.currentData.t=this.data.d.k[this.keysIndex].s.t;var e=this.currentData,i=this.keysIndex;if(this.lock){this.setCurrentData(this.currentData);return}this.lock=!0,this._mdf=!1;var r,n=this.effectsSequence.length,t=a||this.data.d.k[this.keysIndex].s;for(r=0;r<n;r+=1)if(i!==this.keysIndex)t=this.effectsSequence[r](t,t.t);else t=this.effectsSequence[r](this.currentData,t.t);if(e!==t)this.setCurrentData(t);this.v=this.currentData,this.pv=this.v,this.lock=!1,this.frameId=this.elem.globalData.frameId},TextProperty.prototype.getKeyframeValue=function(){var a=this.data.d.k,e=this.elem.comp.renderedFrame,i=0,r=a.length;while(i<=r-1){if(i===r-1||a[i+1].t>e)break;i+=1}if(this.keysIndex!==i)this.keysIndex=i;return this.data.d.k[this.keysIndex].s},TextProperty.prototype.buildFinalText=function(a){var e=[],i=0,r=a.length,n,t,l=!1,o=!1,s="";while(i<r){if(l=o,o=!1,n=a.charCodeAt(i),s=a.charAt(i),FontManager.isCombinedCharacter(n))l=!0;else if(n>=55296&&n<=56319){if(FontManager.isRegionalFlag(a,i))s=a.substr(i,14);else if(t=a.charCodeAt(i+1),t>=56320&&t<=57343)if(FontManager.isModifier(n,t))s=a.substr(i,2),l=!0;else if(FontManager.isFlagEmoji(a.substr(i,4)))s=a.substr(i,4);else s=a.substr(i,2)}else if(n>56319){if(t=a.charCodeAt(i+1),FontManager.isVariationSelector(n))l=!0}else if(FontManager.isZeroWidthJoiner(n))l=!0,o=!0;if(l)e[e.length-1]+=s,l=!1;else e.push(s);i+=s.length}return e},TextProperty.prototype.completeTextData=function(a){a.__complete=!0;var e=this.elem.globalData.fontManager,i=this.data,r=[],n,t,l,o=0,s,d=i.m.g,c=0,m=0,h=0,f=[],v=0,g=0,x,z,p=e.getFontByName(a.f),w,b=0,y=getFontProperties(p);a.fWeight=y.weight,a.fStyle=y.style,a.finalSize=a.s,a.finalText=this.buildFinalText(a.t),t=a.finalText.length,a.finalLineHeight=a.lh;var I=a.tr/1000*a.finalSize,O;if(a.sz){var K=!0,j=a.sz[0],T=a.sz[1],A,V;while(K){V=this.buildFinalText(a.t),A=0,v=0,t=V.length,I=a.tr/1000*a.finalSize;var N=-1;for(n=0;n<t;n+=1){if(O=V[n].charCodeAt(0),l=!1,V[n]===" ")N=n;else if(O===13||O===3)v=0,l=!0,A+=a.finalLineHeight||a.finalSize*1.2;if(e.chars)w=e.getCharData(V[n],p.fStyle,p.fFamily),b=l?0:w.w*a.finalSize/100;else b=e.measureText(V[n],a.f,a.finalSize);if(v+b>j&&V[n]!==" "){if(N===-1)t+=1;else n=N;A+=a.finalLineHeight||a.finalSize*1.2,V.splice(n,N===n?1:0,"\r"),N=-1,v=0}else v+=b,v+=I}if(A+=p.ascent*a.finalSize/100,this.canResize&&a.finalSize>this.minimumFontSize&&T<A)a.finalSize-=1,a.finalLineHeight=a.finalSize*a.lh/a.s;else a.finalText=V,t=a.finalText.length,K=!1}}v=-I,b=0;var G=0,D;for(n=0;n<t;n+=1){if(l=!1,D=a.finalText[n],O=D.charCodeAt(0),O===13||O===3)G=0,f.push(v),g=v>g?v:g,v=-2*I,s="",l=!0,h+=1;else s=D;if(e.chars)w=e.getCharData(D,p.fStyle,e.getFontByName(a.f).fFamily),b=l?0:w.w*a.finalSize/100;else b=e.measureText(s,a.f,a.finalSize);if(D===" ")G+=b+I;else v+=b+I+G,G=0;if(r.push({l:b,an:b,add:c,n:l,anIndexes:[],val:s,line:h,animatorJustifyOffset:0}),d==2){if(c+=b,s===""||s===" "||n===t-1){if(s===""||s===" ")c-=b;while(m<=n)r[m].an=c,r[m].ind=o,r[m].extra=b,m+=1;o+=1,c=0}}else if(d==3){if(c+=b,s===""||n===t-1){if(s==="")c-=b;while(m<=n)r[m].an=c,r[m].ind=o,r[m].extra=b,m+=1;c=0,o+=1}}else r[o].ind=o,r[o].extra=0,o+=1}if(a.l=r,g=v>g?v:g,f.push(v),a.sz)a.boxWidth=a.sz[0],a.justifyOffset=0;else switch(a.boxWidth=g,a.j){case 1:a.justifyOffset=-a.boxWidth;break;case 2:a.justifyOffset=-a.boxWidth/2;break;default:a.justifyOffset=0}a.lineWidths=f;var F=i.a,E,H;z=F.length;var M,Q,L=[];for(x=0;x<z;x+=1){if(E=F[x],E.a.sc)a.strokeColorAnim=!0;if(E.a.sw)a.strokeWidthAnim=!0;if(E.a.fc||E.a.fh||E.a.fs||E.a.fb)a.fillColorAnim=!0;Q=0,M=E.s.b;for(n=0;n<t;n+=1)if(H=r[n],H.anIndexes[x]=Q,M==1&&H.val!==""||M==2&&H.val!==""&&H.val!==" "||M==3&&(H.n||H.val==" "||n==t-1)||M==4&&(H.n||n==t-1)){if(E.s.rn===1)L.push(Q);Q+=1}i.a[x].s.totalChars=Q;var _=-1,i1;if(E.s.rn===1)for(n=0;n<t;n+=1){if(H=r[n],_!=H.anIndexes[x])_=H.anIndexes[x],i1=L.splice(Math.floor(Math.random()*L.length),1)[0];H.anIndexes[x]=i1}}a.yOffset=a.finalLineHeight||a.finalSize*1.2,a.ls=a.ls||0,a.ascent=p.ascent*a.finalSize/100},TextProperty.prototype.updateDocumentData=function(a,e){e=e===void 0?this.keysIndex:e;var i=this.copyData({},this.data.d.k[e].s);i=this.copyData(i,a),this.data.d.k[e].s=i,this.recalculate(e),this.setCurrentData(i),this.elem.addDynamicProperty(this)},TextProperty.prototype.recalculate=function(a){var e=this.data.d.k[a].s;e.__complete=!1,this.keysIndex=0,this._isFirstFrame=!0,this.getValue(e)},TextProperty.prototype.canResizeFont=function(a){this.canResize=a,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)},TextProperty.prototype.setMinimumFontSize=function(a){this.minimumFontSize=Math.floor(a)||1,this.recalculate(this.keysIndex),this.elem.addDynamicProperty(this)};var TextSelectorProp=function(){var{max:a,min:e,floor:i}=Math;function r(t,l){if(this._currentTextLength=-1,this.k=!1,this.data=l,this.elem=t,this.comp=t.comp,this.finalS=0,this.finalE=0,this.initDynamicPropertyContainer(t),this.s=PropertyFactory.getProp(t,l.s||{k:0},0,0,this),"e"in l)this.e=PropertyFactory.getProp(t,l.e,0,0,this);else this.e={v:100};if(this.o=PropertyFactory.getProp(t,l.o||{k:0},0,0,this),this.xe=PropertyFactory.getProp(t,l.xe||{k:0},0,0,this),this.ne=PropertyFactory.getProp(t,l.ne||{k:0},0,0,this),this.sm=PropertyFactory.getProp(t,l.sm||{k:100},0,0,this),this.a=PropertyFactory.getProp(t,l.a,0,0.01,this),!this.dynamicProperties.length)this.getValue()}r.prototype={getMult:function t(l){if(this._currentTextLength!==this.elem.textProperty.currentData.l.length)this.getValue();var o=0,s=0,d=1,c=1;if(this.ne.v>0)o=this.ne.v/100;else s=-this.ne.v/100;if(this.xe.v>0)d=1-this.xe.v/100;else c=1+this.xe.v/100;var m=BezierFactory.getBezierEasing(o,s,d,c).get,h=0,f=this.finalS,v=this.finalE,g=this.data.sh;if(g===2){if(v===f)h=l>=v?1:0;else h=a(0,e(0.5/(v-f)+(l-f)/(v-f),1));h=m(h)}else if(g===3){if(v===f)h=l>=v?0:1;else h=1-a(0,e(0.5/(v-f)+(l-f)/(v-f),1));h=m(h)}else if(g===4){if(v===f)h=0;else if(h=a(0,e(0.5/(v-f)+(l-f)/(v-f),1)),h<0.5)h*=2;else h=1-2*(h-0.5);h=m(h)}else if(g===5){if(v===f)h=0;else{var x=v-f;l=e(a(0,l+0.5-f),v-f);var z=-x/2+l,p=x/2;h=Math.sqrt(1-z*z/(p*p))}h=m(h)}else if(g===6){if(v===f)h=0;else l=e(a(0,l+0.5-f),v-f),h=(1+Math.cos(Math.PI+Math.PI*2*l/(v-f)))/2;h=m(h)}else{if(l>=i(f))if(l-f<0)h=a(0,e(e(v,1)-(f-l),1));else h=a(0,e(v-l,1));h=m(h)}if(this.sm.v!==100){var w=this.sm.v*0.01;if(w===0)w=0.00000001;var b=0.5-w*0.5;if(h<b)h=0;else if(h=(h-b)/w,h>1)h=1}return h*this.a.v},getValue:function t(l){if(this.iterateDynamicProperties(),this._mdf=l||this._mdf,this._currentTextLength=this.elem.textProperty.currentData.l.length||0,l&&this.data.r===2)this.e.v=this._currentTextLength;var o=this.data.r===2?1:100/this.data.totalChars,s=this.o.v/o,d=this.s.v/o+s,c=this.e.v/o+s;if(d>c){var m=d;d=c,c=m}this.finalS=d,this.finalE=c}},extendPrototype([DynamicPropertyContainer],r);function n(t,l,o){return new r(t,l,o)}return{getTextSelectorProp:n}}();function TextAnimatorDataProperty(a,e,i){var r={propType:!1},n=PropertyFactory.getProp,t=e.a;this.a={r:t.r?n(a,t.r,0,degToRads,i):r,rx:t.rx?n(a,t.rx,0,degToRads,i):r,ry:t.ry?n(a,t.ry,0,degToRads,i):r,sk:t.sk?n(a,t.sk,0,degToRads,i):r,sa:t.sa?n(a,t.sa,0,degToRads,i):r,s:t.s?n(a,t.s,1,0.01,i):r,a:t.a?n(a,t.a,1,0,i):r,o:t.o?n(a,t.o,0,0.01,i):r,p:t.p?n(a,t.p,1,0,i):r,sw:t.sw?n(a,t.sw,0,0,i):r,sc:t.sc?n(a,t.sc,1,0,i):r,fc:t.fc?n(a,t.fc,1,0,i):r,fh:t.fh?n(a,t.fh,0,0,i):r,fs:t.fs?n(a,t.fs,0,0.01,i):r,fb:t.fb?n(a,t.fb,0,0.01,i):r,t:t.t?n(a,t.t,0,0,i):r},this.s=TextSelectorProp.getTextSelectorProp(a,e.s,i),this.s.t=e.s.t}function TextAnimatorProperty(a,e,i){this._isFirstFrame=!0,this._hasMaskedPath=!1,this._frameId=-1,this._textData=a,this._renderType=e,this._elem=i,this._animatorsData=createSizedArray(this._textData.a.length),this._pathData={},this._moreOptions={alignment:{}},this.renderedLetters=[],this.lettersChangedFlag=!1,this.initDynamicPropertyContainer(i)}TextAnimatorProperty.prototype.searchProperties=function(){var a,e=this._textData.a.length,i,r=PropertyFactory.getProp;for(a=0;a<e;a+=1)i=this._textData.a[a],this._animatorsData[a]=new TextAnimatorDataProperty(this._elem,i,this);if(this._textData.p&&"m"in this._textData.p)this._pathData={a:r(this._elem,this._textData.p.a,0,0,this),f:r(this._elem,this._textData.p.f,0,0,this),l:r(this._elem,this._textData.p.l,0,0,this),r:r(this._elem,this._textData.p.r,0,0,this),p:r(this._elem,this._textData.p.p,0,0,this),m:this._elem.maskManager.getMaskProperty(this._textData.p.m)},this._hasMaskedPath=!0;else this._hasMaskedPath=!1;this._moreOptions.alignment=r(this._elem,this._textData.m.a,1,0,this)},TextAnimatorProperty.prototype.getMeasures=function(a,e){if(this.lettersChangedFlag=e,!this._mdf&&!this._isFirstFrame&&!e&&(!this._hasMaskedPath||!this._pathData.m._mdf))return;this._isFirstFrame=!1;var i=this._moreOptions.alignment.v,r=this._animatorsData,n=this._textData,t=this.mHelper,l=this._renderType,o=this.renderedLetters.length,s,d,c,m,h=a.l,f,v,g,x,z,p,w,b,y,I,O,K,j,T,A;if(this._hasMaskedPath){if(A=this._pathData.m,!this._pathData.n||this._pathData._mdf){var V=A.v;if(this._pathData.r.v)V=V.reverse();f={tLength:0,segments:[]},m=V._length-1;var N;K=0;for(c=0;c<m;c+=1)N=bez.buildBezierData(V.v[c],V.v[c+1],[V.o[c][0]-V.v[c][0],V.o[c][1]-V.v[c][1]],[V.i[c+1][0]-V.v[c+1][0],V.i[c+1][1]-V.v[c+1][1]]),f.tLength+=N.segmentLength,f.segments.push(N),K+=N.segmentLength;if(c=m,A.v.c)N=bez.buildBezierData(V.v[c],V.v[0],[V.o[c][0]-V.v[c][0],V.o[c][1]-V.v[c][1]],[V.i[0][0]-V.v[0][0],V.i[0][1]-V.v[0][1]]),f.tLength+=N.segmentLength,f.segments.push(N),K+=N.segmentLength;this._pathData.pi=f}if(f=this._pathData.pi,v=this._pathData.f.v,w=0,p=1,x=0,z=!0,I=f.segments,v<0&&A.v.c){if(f.tLength<Math.abs(v))v=-Math.abs(v)%f.tLength;w=I.length-1,y=I[w].points,p=y.length-1;while(v<0)if(v+=y[p].partialLength,p-=1,p<0)w-=1,y=I[w].points,p=y.length-1}y=I[w].points,b=y[p-1],g=y[p],O=g.partialLength}m=h.length,s=0,d=0;var G=a.finalSize*1.2*0.714,D=!0,F,E,H,M,Q;M=r.length;var L,_=-1,i1,l1,c1,k1=v,A1=w,ia=p,ta=-1,T1,X1,ra,x1,r1,ga,ya,ua,wa="",xa=this.defaultPropsArray,da;if(a.j===2||a.j===1){var D1=0,Da=0,Na=a.j===2?-0.5:-1,Za=0,Ga=!0;for(c=0;c<m;c+=1)if(h[c].n){if(D1)D1+=Da;while(Za<c)h[Za].animatorJustifyOffset=D1,Za+=1;D1=0,Ga=!0}else{for(H=0;H<M;H+=1)if(F=r[H].a,F.t.propType){if(Ga&&a.j===2)Da+=F.t.v*Na;if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),L.length)D1+=F.t.v*L[0]*Na;else D1+=F.t.v*L*Na}Ga=!1}if(D1)D1+=Da;while(Za<c)h[Za].animatorJustifyOffset=D1,Za+=1}for(c=0;c<m;c+=1){if(t.reset(),T1=1,h[c].n){if(s=0,d+=a.yOffset,d+=D?1:0,v=k1,D=!1,this._hasMaskedPath)w=A1,p=ia,y=I[w].points,b=y[p-1],g=y[p],O=g.partialLength,x=0;wa="",ua="",ga="",da="",xa=this.defaultPropsArray}else{if(this._hasMaskedPath){if(ta!==h[c].line){switch(a.j){case 1:v+=K-a.lineWidths[h[c].line];break;case 2:v+=(K-a.lineWidths[h[c].line])/2;break;default:break}ta=h[c].line}if(_!==h[c].ind){if(h[_])v+=h[_].extra;v+=h[c].an/2,_=h[c].ind}v+=i[0]*h[c].an*0.005;var Ia=0;for(H=0;H<M;H+=1){if(F=r[H].a,F.p.propType)if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),L.length)Ia+=F.p.v[0]*L[0];else Ia+=F.p.v[0]*L;if(F.a.propType)if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),L.length)Ia+=F.a.v[0]*L[0];else Ia+=F.a.v[0]*L}if(z=!0,this._pathData.a.v)v=h[0].an*0.5+(K-this._pathData.f.v-h[0].an*0.5-h[h.length-1].an*0.5)*_/(m-1),v+=this._pathData.f.v;while(z)if(x+O>=v+Ia||!y)j=(v+Ia-x)/g.partialLength,l1=b.point[0]+(g.point[0]-b.point[0])*j,c1=b.point[1]+(g.point[1]-b.point[1])*j,t.translate(-i[0]*h[c].an*0.005,-(i[1]*G)*0.01),z=!1;else if(y){if(x+=g.partialLength,p+=1,p>=y.length)if(p=0,w+=1,!I[w])if(A.v.c)p=0,w=0,y=I[w].points;else x-=g.partialLength,y=null;else y=I[w].points;if(y)b=g,g=y[p],O=g.partialLength}i1=h[c].an/2-h[c].add,t.translate(-i1,0,0)}else i1=h[c].an/2-h[c].add,t.translate(-i1,0,0),t.translate(-i[0]*h[c].an*0.005,-i[1]*G*0.01,0);for(H=0;H<M;H+=1)if(F=r[H].a,F.t.propType){if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),s!==0||a.j!==0)if(this._hasMaskedPath)if(L.length)v+=F.t.v*L[0];else v+=F.t.v*L;else if(L.length)s+=F.t.v*L[0];else s+=F.t.v*L}if(a.strokeWidthAnim)ra=a.sw||0;if(a.strokeColorAnim)if(a.sc)X1=[a.sc[0],a.sc[1],a.sc[2]];else X1=[0,0,0];if(a.fillColorAnim&&a.fc)x1=[a.fc[0],a.fc[1],a.fc[2]];for(H=0;H<M;H+=1)if(F=r[H].a,F.a.propType)if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),L.length)t.translate(-F.a.v[0]*L[0],-F.a.v[1]*L[1],F.a.v[2]*L[2]);else t.translate(-F.a.v[0]*L,-F.a.v[1]*L,F.a.v[2]*L);for(H=0;H<M;H+=1)if(F=r[H].a,F.s.propType)if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),L.length)t.scale(1+(F.s.v[0]-1)*L[0],1+(F.s.v[1]-1)*L[1],1);else t.scale(1+(F.s.v[0]-1)*L,1+(F.s.v[1]-1)*L,1);for(H=0;H<M;H+=1){if(F=r[H].a,E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),F.sk.propType)if(L.length)t.skewFromAxis(-F.sk.v*L[0],F.sa.v*L[1]);else t.skewFromAxis(-F.sk.v*L,F.sa.v*L);if(F.r.propType)if(L.length)t.rotateZ(-F.r.v*L[2]);else t.rotateZ(-F.r.v*L);if(F.ry.propType)if(L.length)t.rotateY(F.ry.v*L[1]);else t.rotateY(F.ry.v*L);if(F.rx.propType)if(L.length)t.rotateX(F.rx.v*L[0]);else t.rotateX(F.rx.v*L);if(F.o.propType)if(L.length)T1+=(F.o.v*L[0]-T1)*L[0];else T1+=(F.o.v*L-T1)*L;if(a.strokeWidthAnim&&F.sw.propType)if(L.length)ra+=F.sw.v*L[0];else ra+=F.sw.v*L;if(a.strokeColorAnim&&F.sc.propType)for(r1=0;r1<3;r1+=1)if(L.length)X1[r1]+=(F.sc.v[r1]-X1[r1])*L[0];else X1[r1]+=(F.sc.v[r1]-X1[r1])*L;if(a.fillColorAnim&&a.fc){if(F.fc.propType)for(r1=0;r1<3;r1+=1)if(L.length)x1[r1]+=(F.fc.v[r1]-x1[r1])*L[0];else x1[r1]+=(F.fc.v[r1]-x1[r1])*L;if(F.fh.propType)if(L.length)x1=addHueToRGB(x1,F.fh.v*L[0]);else x1=addHueToRGB(x1,F.fh.v*L);if(F.fs.propType)if(L.length)x1=addSaturationToRGB(x1,F.fs.v*L[0]);else x1=addSaturationToRGB(x1,F.fs.v*L);if(F.fb.propType)if(L.length)x1=addBrightnessToRGB(x1,F.fb.v*L[0]);else x1=addBrightnessToRGB(x1,F.fb.v*L)}}for(H=0;H<M;H+=1)if(F=r[H].a,F.p.propType)if(E=r[H].s,L=E.getMult(h[c].anIndexes[H],n.a[H].s.totalChars),this._hasMaskedPath)if(L.length)t.translate(0,F.p.v[1]*L[0],-F.p.v[2]*L[1]);else t.translate(0,F.p.v[1]*L,-F.p.v[2]*L);else if(L.length)t.translate(F.p.v[0]*L[0],F.p.v[1]*L[1],-F.p.v[2]*L[2]);else t.translate(F.p.v[0]*L,F.p.v[1]*L,-F.p.v[2]*L);if(a.strokeWidthAnim)ga=ra<0?0:ra;if(a.strokeColorAnim)ya="rgb("+Math.round(X1[0]*255)+","+Math.round(X1[1]*255)+","+Math.round(X1[2]*255)+")";if(a.fillColorAnim&&a.fc)ua="rgb("+Math.round(x1[0]*255)+","+Math.round(x1[1]*255)+","+Math.round(x1[2]*255)+")";if(this._hasMaskedPath){if(t.translate(0,-a.ls),t.translate(0,i[1]*G*0.01+d,0),this._pathData.p.v){T=(g.point[1]-b.point[1])/(g.point[0]-b.point[0]);var s0=Math.atan(T)*180/Math.PI;if(g.point[0]<b.point[0])s0+=180;t.rotate(-s0*Math.PI/180)}if(t.translate(l1,c1,0),v-=i[0]*h[c].an*0.005,h[c+1]&&_!==h[c+1].ind)v+=h[c].an/2,v+=a.tr*0.001*a.finalSize}else{if(t.translate(s,d,0),a.ps)t.translate(a.ps[0],a.ps[1]+a.ascent,0);switch(a.j){case 1:t.translate(h[c].animatorJustifyOffset+a.justifyOffset+(a.boxWidth-a.lineWidths[h[c].line]),0,0);break;case 2:t.translate(h[c].animatorJustifyOffset+a.justifyOffset+(a.boxWidth-a.lineWidths[h[c].line])/2,0,0);break;default:break}t.translate(0,-a.ls),t.translate(i1,0,0),t.translate(i[0]*h[c].an*0.005,i[1]*G*0.01,0),s+=h[c].l+a.tr*0.001*a.finalSize}if(l==="html")wa=t.toCSS();else if(l==="svg")wa=t.to2dCSS();else xa=[t.props[0],t.props[1],t.props[2],t.props[3],t.props[4],t.props[5],t.props[6],t.props[7],t.props[8],t.props[9],t.props[10],t.props[11],t.props[12],t.props[13],t.props[14],t.props[15]];da=T1}if(o<=c)Q=new LetterProps(da,ga,ya,ua,wa,xa),this.renderedLetters.push(Q),o+=1,this.lettersChangedFlag=!0;else Q=this.renderedLetters[c],this.lettersChangedFlag=Q.update(da,ga,ya,ua,wa,xa)||this.lettersChangedFlag}},TextAnimatorProperty.prototype.getValue=function(){if(this._elem.globalData.frameId===this._frameId)return;this._frameId=this._elem.globalData.frameId,this.iterateDynamicProperties()},TextAnimatorProperty.prototype.mHelper=new Matrix,TextAnimatorProperty.prototype.defaultPropsArray=[],extendPrototype([DynamicPropertyContainer],TextAnimatorProperty);function ITextElement(){}ITextElement.prototype.initElement=function(a,e,i){this.lettersChangedFlag=!0,this.initFrame(),this.initBaseData(a,e,i),this.textProperty=new TextProperty(this,a.t,this.dynamicProperties),this.textAnimator=new TextAnimatorProperty(a.t,this.renderType,this),this.initTransform(a,e,i),this.initHierarchy(),this.initRenderable(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.createContent(),this.hide(),this.textAnimator.searchProperties(this.dynamicProperties)},ITextElement.prototype.prepareFrame=function(a){this._mdf=!1,this.prepareRenderableFrame(a),this.prepareProperties(a,this.isInRange)},ITextElement.prototype.createPathShape=function(a,e){var i,r=e.length,n,t="";for(i=0;i<r;i+=1)if(e[i].ty==="sh")n=e[i].ks.k,t+=buildShapeString(n,n.i.length,!0,a);return t},ITextElement.prototype.updateDocumentData=function(a,e){this.textProperty.updateDocumentData(a,e)},ITextElement.prototype.canResizeFont=function(a){this.textProperty.canResizeFont(a)},ITextElement.prototype.setMinimumFontSize=function(a){this.textProperty.setMinimumFontSize(a)},ITextElement.prototype.applyTextPropertiesToMatrix=function(a,e,i,r,n){if(a.ps)e.translate(a.ps[0],a.ps[1]+a.ascent,0);switch(e.translate(0,-a.ls,0),a.j){case 1:e.translate(a.justifyOffset+(a.boxWidth-a.lineWidths[i]),0,0);break;case 2:e.translate(a.justifyOffset+(a.boxWidth-a.lineWidths[i])/2,0,0);break;default:break}e.translate(r,n,0)},ITextElement.prototype.buildColor=function(a){return"rgb("+Math.round(a[0]*255)+","+Math.round(a[1]*255)+","+Math.round(a[2]*255)+")"},ITextElement.prototype.emptyProp=new LetterProps,ITextElement.prototype.destroy=function(){},ITextElement.prototype.validateText=function(){if(this.textProperty._mdf||this.textProperty._isFirstFrame)this.buildNewText(),this.textProperty._isFirstFrame=!1,this.textProperty._mdf=!1};var emptyShapeData={shapes:[]};function SVGTextLottieElement(a,e,i){this.textSpans=[],this.renderType="svg",this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,SVGBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],SVGTextLottieElement),SVGTextLottieElement.prototype.createContent=function(){if(this.data.singleShape&&!this.globalData.fontManager.chars)this.textContainer=createNS("text")},SVGTextLottieElement.prototype.buildTextContents=function(a){var e=0,i=a.length,r=[],n="";while(e<i){if(a[e]===String.fromCharCode(13)||a[e]===String.fromCharCode(3))r.push(n),n="";else n+=a[e];e+=1}return r.push(n),r},SVGTextLottieElement.prototype.buildShapeData=function(a,e){if(a.shapes&&a.shapes.length){var i=a.shapes[0];if(i.it){var r=i.it[i.it.length-1];if(r.s)r.s.k[0]=e,r.s.k[1]=e}}return a},SVGTextLottieElement.prototype.buildNewText=function(){this.addDynamicProperty(this);var a,e,i=this.textProperty.currentData;if(this.renderedLetters=createSizedArray(i?i.l.length:0),i.fc)this.layerElement.setAttribute("fill",this.buildColor(i.fc));else this.layerElement.setAttribute("fill","rgba(0,0,0,0)");if(i.sc)this.layerElement.setAttribute("stroke",this.buildColor(i.sc)),this.layerElement.setAttribute("stroke-width",i.sw);this.layerElement.setAttribute("font-size",i.finalSize);var r=this.globalData.fontManager.getFontByName(i.f);if(r.fClass)this.layerElement.setAttribute("class",r.fClass);else{this.layerElement.setAttribute("font-family",r.fFamily);var{fWeight:n,fStyle:t}=i;this.layerElement.setAttribute("font-style",t),this.layerElement.setAttribute("font-weight",n)}this.layerElement.setAttribute("aria-label",i.t);var l=i.l||[],o=!!this.globalData.fontManager.chars;e=l.length;var s,d=this.mHelper,c="",m=this.data.singleShape,h=0,f=0,v=!0,g=i.tr*0.001*i.finalSize;if(m&&!o&&!i.sz){var x=this.textContainer,z="start";switch(i.j){case 1:z="end";break;case 2:z="middle";break;default:z="start";break}x.setAttribute("text-anchor",z),x.setAttribute("letter-spacing",g);var p=this.buildTextContents(i.finalText);e=p.length,f=i.ps?i.ps[1]+i.ascent:0;for(a=0;a<e;a+=1){if(s=this.textSpans[a].span||createNS("tspan"),s.textContent=p[a],s.setAttribute("x",0),s.setAttribute("y",f),s.style.display="inherit",x.appendChild(s),!this.textSpans[a])this.textSpans[a]={span:null,glyph:null};this.textSpans[a].span=s,f+=i.finalLineHeight}this.layerElement.appendChild(x)}else{var w=this.textSpans.length,b;for(a=0;a<e;a+=1){if(!this.textSpans[a])this.textSpans[a]={span:null,childSpan:null,glyph:null};if(!o||!m||a===0){if(s=w>a?this.textSpans[a].span:createNS(o?"g":"text"),w<=a){if(s.setAttribute("stroke-linecap","butt"),s.setAttribute("stroke-linejoin","round"),s.setAttribute("stroke-miterlimit","4"),this.textSpans[a].span=s,o){var y=createNS("g");s.appendChild(y),this.textSpans[a].childSpan=y}this.textSpans[a].span=s,this.layerElement.appendChild(s)}s.style.display="inherit"}if(d.reset(),m){if(l[a].n)h=-g,f+=i.yOffset,f+=v?1:0,v=!1;this.applyTextPropertiesToMatrix(i,d,l[a].line,h,f),h+=l[a].l||0,h+=g}if(o){b=this.globalData.fontManager.getCharData(i.finalText[a],r.fStyle,this.globalData.fontManager.getFontByName(i.f).fFamily);var I;if(b.t===1)I=new SVGCompElement(b.data,this.globalData,this);else{var O=emptyShapeData;if(b.data&&b.data.shapes)O=this.buildShapeData(b.data,i.finalSize);I=new SVGShapeElement(O,this.globalData,this)}if(this.textSpans[a].glyph){var K=this.textSpans[a].glyph;this.textSpans[a].childSpan.removeChild(K.layerElement),K.destroy()}if(this.textSpans[a].glyph=I,I._debug=!0,I.prepareFrame(0),I.renderFrame(),this.textSpans[a].childSpan.appendChild(I.layerElement),b.t===1)this.textSpans[a].childSpan.setAttribute("transform","scale("+i.finalSize/100+","+i.finalSize/100+")")}else{if(m)s.setAttribute("transform","translate("+d.props[12]+","+d.props[13]+")");s.textContent=l[a].val,s.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve")}}if(m&&s)s.setAttribute("d",c)}while(a<this.textSpans.length)this.textSpans[a].span.style.display="none",a+=1;this._sizeChanged=!0},SVGTextLottieElement.prototype.sourceRectAtTime=function(){if(this.prepareFrame(this.comp.renderedFrame-this.data.st),this.renderInnerContent(),this._sizeChanged){this._sizeChanged=!1;var a=this.layerElement.getBBox();this.bbox={top:a.y,left:a.x,width:a.width,height:a.height}}return this.bbox},SVGTextLottieElement.prototype.getValue=function(){var a,e=this.textSpans.length,i;this.renderedFrame=this.comp.renderedFrame;for(a=0;a<e;a+=1)if(i=this.textSpans[a].glyph,i){if(i.prepareFrame(this.comp.renderedFrame-this.data.st),i._mdf)this._mdf=!0}},SVGTextLottieElement.prototype.renderInnerContent=function(){if(this.validateText(),!this.data.singleShape||this._mdf){if(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),this.lettersChangedFlag||this.textAnimator.lettersChangedFlag){this._sizeChanged=!0;var a,e,i=this.textAnimator.renderedLetters,r=this.textProperty.currentData.l;e=r.length;var n,t,l;for(a=0;a<e;a+=1)if(!r[a].n){if(n=i[a],t=this.textSpans[a].span,l=this.textSpans[a].glyph,l)l.renderFrame();if(n._mdf.m)t.setAttribute("transform",n.m);if(n._mdf.o)t.setAttribute("opacity",n.o);if(n._mdf.sw)t.setAttribute("stroke-width",n.sw);if(n._mdf.sc)t.setAttribute("stroke",n.sc);if(n._mdf.fc)t.setAttribute("fill",n.fc)}}}};function ISolidElement(a,e,i){this.initElement(a,e,i)}extendPrototype([IImageElement],ISolidElement),ISolidElement.prototype.createContent=function(){var a=createNS("rect");a.setAttribute("width",this.data.sw),a.setAttribute("height",this.data.sh),a.setAttribute("fill",this.data.sc),this.layerElement.appendChild(a)};function NullElement(a,e,i){this.initFrame(),this.initBaseData(a,e,i),this.initFrame(),this.initTransform(a,e,i),this.initHierarchy()}NullElement.prototype.prepareFrame=function(a){this.prepareProperties(a,!0)},NullElement.prototype.renderFrame=function(){},NullElement.prototype.getBaseElement=function(){return null},NullElement.prototype.destroy=function(){},NullElement.prototype.sourceRectAtTime=function(){},NullElement.prototype.hide=function(){},extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement],NullElement);function SVGRendererBase(){}extendPrototype([BaseRenderer],SVGRendererBase),SVGRendererBase.prototype.createNull=function(a){return new NullElement(a,this.globalData,this)},SVGRendererBase.prototype.createShape=function(a){return new SVGShapeElement(a,this.globalData,this)},SVGRendererBase.prototype.createText=function(a){return new SVGTextLottieElement(a,this.globalData,this)},SVGRendererBase.prototype.createImage=function(a){return new IImageElement(a,this.globalData,this)},SVGRendererBase.prototype.createSolid=function(a){return new ISolidElement(a,this.globalData,this)},SVGRendererBase.prototype.configAnimation=function(a){if(this.svgElement.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.svgElement.setAttribute("xmlns:xlink","http://www.w3.org/1999/xlink"),this.renderConfig.viewBoxSize)this.svgElement.setAttribute("viewBox",this.renderConfig.viewBoxSize);else this.svgElement.setAttribute("viewBox","0 0 "+a.w+" "+a.h);if(!this.renderConfig.viewBoxOnly)this.svgElement.setAttribute("width",a.w),this.svgElement.setAttribute("height",a.h),this.svgElement.style.width="100%",this.svgElement.style.height="100%",this.svgElement.style.transform="translate3d(0,0,0)",this.svgElement.style.contentVisibility=this.renderConfig.contentVisibility;if(this.renderConfig.width)this.svgElement.setAttribute("width",this.renderConfig.width);if(this.renderConfig.height)this.svgElement.setAttribute("height",this.renderConfig.height);if(this.renderConfig.className)this.svgElement.setAttribute("class",this.renderConfig.className);if(this.renderConfig.id)this.svgElement.setAttribute("id",this.renderConfig.id);if(this.renderConfig.focusable!==void 0)this.svgElement.setAttribute("focusable",this.renderConfig.focusable);this.svgElement.setAttribute("preserveAspectRatio",this.renderConfig.preserveAspectRatio),this.animationItem.wrapper.appendChild(this.svgElement);var e=this.globalData.defs;this.setupGlobalData(a,e),this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.data=a;var i=createNS("clipPath"),r=createNS("rect");r.setAttribute("width",a.w),r.setAttribute("height",a.h),r.setAttribute("x",0),r.setAttribute("y",0);var n=createElementID();i.setAttribute("id",n),i.appendChild(r),this.layerElement.setAttribute("clip-path","url("+getLocationHref()+"#"+n+")"),e.appendChild(i),this.layers=a.layers,this.elements=createSizedArray(a.layers.length)},SVGRendererBase.prototype.destroy=function(){if(this.animationItem.wrapper)this.animationItem.wrapper.innerText="";this.layerElement=null,this.globalData.defs=null;var a,e=this.layers?this.layers.length:0;for(a=0;a<e;a+=1)if(this.elements[a]&&this.elements[a].destroy)this.elements[a].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},SVGRendererBase.prototype.updateContainerSize=function(){},SVGRendererBase.prototype.findIndexByInd=function(a){var e=0,i=this.layers.length;for(e=0;e<i;e+=1)if(this.layers[e].ind===a)return e;return-1},SVGRendererBase.prototype.buildItem=function(a){var e=this.elements;if(e[a]||this.layers[a].ty===99)return;e[a]=!0;var i=this.createItem(this.layers[a]);if(e[a]=i,getExpressionsPlugin()){if(this.layers[a].ty===0)this.globalData.projectInterface.registerComposition(i);i.initExpressions()}if(this.appendElementInPos(i,a),this.layers[a].tt){var r="tp"in this.layers[a]?this.findIndexByInd(this.layers[a].tp):a-1;if(r===-1)return;if(!this.elements[r]||this.elements[r]===!0)this.buildItem(r),this.addPendingElement(i);else{var n=e[r],t=n.getMatte(this.layers[a].tt);i.setMatte(t)}}},SVGRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var a=this.pendingElements.pop();if(a.checkParenting(),a.data.tt){var e=0,i=this.elements.length;while(e<i){if(this.elements[e]===a){var r="tp"in a.data?this.findIndexByInd(a.data.tp):e-1,n=this.elements[r],t=n.getMatte(this.layers[e].tt);a.setMatte(t);break}e+=1}}}},SVGRendererBase.prototype.renderFrame=function(a){if(this.renderedFrame===a||this.destroyed)return;if(a===null)a=this.renderedFrame;else this.renderedFrame=a;this.globalData.frameNum=a,this.globalData.frameId+=1,this.globalData.projectInterface.currentFrame=a,this.globalData._mdf=!1;var e,i=this.layers.length;if(!this.completeLayers)this.checkLayers(a);for(e=i-1;e>=0;e-=1)if(this.completeLayers||this.elements[e])this.elements[e].prepareFrame(a-this.layers[e].st);if(this.globalData._mdf){for(e=0;e<i;e+=1)if(this.completeLayers||this.elements[e])this.elements[e].renderFrame()}},SVGRendererBase.prototype.appendElementInPos=function(a,e){var i=a.getBaseElement();if(!i)return;var r=0,n;while(r<e){if(this.elements[r]&&this.elements[r]!==!0&&this.elements[r].getBaseElement())n=this.elements[r].getBaseElement();r+=1}if(n)this.layerElement.insertBefore(i,n);else this.layerElement.appendChild(i)},SVGRendererBase.prototype.hide=function(){this.layerElement.style.display="none"},SVGRendererBase.prototype.show=function(){this.layerElement.style.display="block"};function ICompElement(){}extendPrototype([BaseElement,TransformElement,HierarchyElement,FrameElement,RenderableDOMElement],ICompElement),ICompElement.prototype.initElement=function(a,e,i){if(this.initFrame(),this.initBaseData(a,e,i),this.initTransform(a,e,i),this.initRenderable(),this.initHierarchy(),this.initRendererElement(),this.createContainerElements(),this.createRenderableComponents(),this.data.xt||!e.progressiveLoad)this.buildAllItems();this.hide()},ICompElement.prototype.prepareFrame=function(a){if(this._mdf=!1,this.prepareRenderableFrame(a),this.prepareProperties(a,this.isInRange),!this.isInRange&&!this.data.xt)return;if(!this.tm._placeholder){var e=this.tm.v;if(e===this.data.op)e=this.data.op-1;this.renderedFrame=e}else this.renderedFrame=a/this.data.sr;var i,r=this.elements.length;if(!this.completeLayers)this.checkLayers(this.renderedFrame);for(i=r-1;i>=0;i-=1)if(this.completeLayers||this.elements[i]){if(this.elements[i].prepareFrame(this.renderedFrame-this.layers[i].st),this.elements[i]._mdf)this._mdf=!0}},ICompElement.prototype.renderInnerContent=function(){var a,e=this.layers.length;for(a=0;a<e;a+=1)if(this.completeLayers||this.elements[a])this.elements[a].renderFrame()},ICompElement.prototype.setElements=function(a){this.elements=a},ICompElement.prototype.getElements=function(){return this.elements},ICompElement.prototype.destroyElements=function(){var a,e=this.layers.length;for(a=0;a<e;a+=1)if(this.elements[a])this.elements[a].destroy()},ICompElement.prototype.destroy=function(){this.destroyElements(),this.destroyBaseElement()};function SVGCompElement(a,e,i){this.layers=a.layers,this.supports3d=!0,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(a,e,i),this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,e.frameRate,this):{_placeholder:!0}}extendPrototype([SVGRendererBase,ICompElement,SVGBaseElement],SVGCompElement),SVGCompElement.prototype.createComp=function(a){return new SVGCompElement(a,this.globalData,this)};function SVGRenderer(a,e){this.animationItem=a,this.layers=null,this.renderedFrame=-1,this.svgElement=createNS("svg");var i="";if(e&&e.title){var r=createNS("title"),n=createElementID();r.setAttribute("id",n),r.textContent=e.title,this.svgElement.appendChild(r),i+=n}if(e&&e.description){var t=createNS("desc"),l=createElementID();t.setAttribute("id",l),t.textContent=e.description,this.svgElement.appendChild(t),i+=" "+l}if(i)this.svgElement.setAttribute("aria-labelledby",i);var o=createNS("defs");this.svgElement.appendChild(o);var s=createNS("g");this.svgElement.appendChild(s),this.layerElement=s,this.renderConfig={preserveAspectRatio:e&&e.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:e&&e.contentVisibility||"visible",progressiveLoad:e&&e.progressiveLoad||!1,hideOnTransparent:!(e&&e.hideOnTransparent===!1),viewBoxOnly:e&&e.viewBoxOnly||!1,viewBoxSize:e&&e.viewBoxSize||!1,className:e&&e.className||"",id:e&&e.id||"",focusable:e&&e.focusable,filterSize:{width:e&&e.filterSize&&e.filterSize.width||"100%",height:e&&e.filterSize&&e.filterSize.height||"100%",x:e&&e.filterSize&&e.filterSize.x||"0%",y:e&&e.filterSize&&e.filterSize.y||"0%"},width:e&&e.width,height:e&&e.height,runExpressions:!e||e.runExpressions===void 0||e.runExpressions},this.globalData={_mdf:!1,frameNum:-1,defs:o,renderConfig:this.renderConfig},this.elements=[],this.pendingElements=[],this.destroyed=!1,this.rendererType="svg"}extendPrototype([SVGRendererBase],SVGRenderer),SVGRenderer.prototype.createComp=function(a){return new SVGCompElement(a,this.globalData,this)};function ShapeTransformManager(){this.sequences={},this.sequenceList=[],this.transform_key_count=0}ShapeTransformManager.prototype={addTransformSequence:function a(e){var i,r=e.length,n="_";for(i=0;i<r;i+=1)n+=e[i].transform.key+"_";var t=this.sequences[n];if(!t)t={transforms:[].concat(e),finalTransform:new Matrix,_mdf:!1},this.sequences[n]=t,this.sequenceList.push(t);return t},processSequence:function a(e,i){var r=0,n=e.transforms.length,t=i;while(r<n&&!i){if(e.transforms[r].transform.mProps._mdf){t=!0;break}r+=1}if(t){e.finalTransform.reset();for(r=n-1;r>=0;r-=1)e.finalTransform.multiply(e.transforms[r].transform.mProps.v)}e._mdf=t},processSequences:function a(e){var i,r=this.sequenceList.length;for(i=0;i<r;i+=1)this.processSequence(this.sequenceList[i],e)},getNewKey:function a(){return this.transform_key_count+=1,"_"+this.transform_key_count}};var lumaLoader=function a(){var e="__lottie_element_luma_buffer",i=null,r=null,n=null;function t(){var s=createNS("svg"),d=createNS("filter"),c=createNS("feColorMatrix");if(d.setAttribute("id",e),c.setAttribute("type","matrix"),c.setAttribute("color-interpolation-filters","sRGB"),c.setAttribute("values","0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0, 0.3, 0.3, 0.3, 0, 0"),d.appendChild(c),s.appendChild(d),s.setAttribute("id",e+"_svg"),featureSupport.svgLumaHidden)s.style.display="none";return s}function l(){if(!i)n=t(),document.body.appendChild(n),i=createTag("canvas"),r=i.getContext("2d"),r.filter="url(#"+e+")",r.fillStyle="rgba(0,0,0,0)",r.fillRect(0,0,1,1)}function o(s){if(!i)l();return i.width=s.width,i.height=s.height,r.filter="url(#"+e+")",i}return{load:l,get:o}};function createCanvas(a,e){if(featureSupport.offscreenCanvas)return new OffscreenCanvas(a,e);var i=createTag("canvas");return i.width=a,i.height=e,i}var assetLoader=function(){return{loadLumaCanvas:lumaLoader.load,getLumaCanvas:lumaLoader.get,createCanvas}}(),registeredEffects={};function CVEffects(a){var e,i=a.data.ef?a.data.ef.length:0;this.filters=[];var r;for(e=0;e<i;e+=1){r=null;var n=a.data.ef[e].ty;if(registeredEffects[n]){var t=registeredEffects[n].effect;r=new t(a.effectsManager.effectElements[e],a)}if(r)this.filters.push(r)}if(this.filters.length)a.addRenderableComponent(this)}CVEffects.prototype.renderFrame=function(a){var e,i=this.filters.length;for(e=0;e<i;e+=1)this.filters[e].renderFrame(a)},CVEffects.prototype.getEffects=function(a){var e,i=this.filters.length,r=[];for(e=0;e<i;e+=1)if(this.filters[e].type===a)r.push(this.filters[e]);return r};function registerEffect(a,e){registeredEffects[a]={effect:e}}function CVMaskElement(a,e){this.data=a,this.element=e,this.masksProperties=this.data.masksProperties||[],this.viewData=createSizedArray(this.masksProperties.length);var i,r=this.masksProperties.length,n=!1;for(i=0;i<r;i+=1){if(this.masksProperties[i].mode!=="n")n=!0;this.viewData[i]=ShapePropertyFactory.getShapeProp(this.element,this.masksProperties[i],3)}if(this.hasMasks=n,n)this.element.addRenderableComponent(this)}CVMaskElement.prototype.renderFrame=function(){if(!this.hasMasks)return;var a=this.element.finalTransform.mat,e=this.element.canvasContext,i,r=this.masksProperties.length,n,t,l;e.beginPath();for(i=0;i<r;i+=1)if(this.masksProperties[i].mode!=="n"){if(this.masksProperties[i].inv)e.moveTo(0,0),e.lineTo(this.element.globalData.compSize.w,0),e.lineTo(this.element.globalData.compSize.w,this.element.globalData.compSize.h),e.lineTo(0,this.element.globalData.compSize.h),e.lineTo(0,0);l=this.viewData[i].v,n=a.applyToPointArray(l.v[0][0],l.v[0][1],0),e.moveTo(n[0],n[1]);var o,s=l._length;for(o=1;o<s;o+=1)t=a.applyToTriplePoints(l.o[o-1],l.i[o],l.v[o]),e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5]);t=a.applyToTriplePoints(l.o[o-1],l.i[0],l.v[0]),e.bezierCurveTo(t[0],t[1],t[2],t[3],t[4],t[5])}this.element.globalData.renderer.save(!0),e.clip()},CVMaskElement.prototype.getMaskProperty=MaskElement.prototype.getMaskProperty,CVMaskElement.prototype.destroy=function(){this.element=null};function CVBaseElement(){}var operationsMap={1:"source-in",2:"source-out",3:"source-in",4:"source-out"};CVBaseElement.prototype={createElements:function a(){},initRendererElement:function a(){},createContainerElements:function a(){if(this.data.tt>=1){this.buffers=[];var e=this.globalData.canvasContext,i=assetLoader.createCanvas(e.canvas.width,e.canvas.height);this.buffers.push(i);var r=assetLoader.createCanvas(e.canvas.width,e.canvas.height);if(this.buffers.push(r),this.data.tt>=3&&!document._isProxy)assetLoader.loadLumaCanvas()}this.canvasContext=this.globalData.canvasContext,this.transformCanvas=this.globalData.transformCanvas,this.renderableEffectsManager=new CVEffects(this),this.searchEffectTransforms()},createContent:function a(){},setBlendMode:function a(){var e=this.globalData;if(e.blendMode!==this.data.bm){e.blendMode=this.data.bm;var i=getBlendMode(this.data.bm);e.canvasContext.globalCompositeOperation=i}},createRenderableComponents:function a(){this.maskManager=new CVMaskElement(this.data,this),this.transformEffects=this.renderableEffectsManager.getEffects(effectTypes.TRANSFORM_EFFECT)},hideElement:function a(){if(!this.hidden&&(!this.isInRange||this.isTransparent))this.hidden=!0},showElement:function a(){if(this.isInRange&&!this.isTransparent)this.hidden=!1,this._isFirstFrame=!0,this.maskManager._isFirstFrame=!0},clearCanvas:function a(e){e.clearRect(this.transformCanvas.tx,this.transformCanvas.ty,this.transformCanvas.w*this.transformCanvas.sx,this.transformCanvas.h*this.transformCanvas.sy)},prepareLayer:function a(){if(this.data.tt>=1){var e=this.buffers[0],i=e.getContext("2d");this.clearCanvas(i),i.drawImage(this.canvasContext.canvas,0,0),this.currentTransform=this.canvasContext.getTransform(),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform)}},exitLayer:function a(){if(this.data.tt>=1){var e=this.buffers[1],i=e.getContext("2d");this.clearCanvas(i),i.drawImage(this.canvasContext.canvas,0,0),this.canvasContext.setTransform(1,0,0,1,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.setTransform(this.currentTransform);var r=this.comp.getElementById("tp"in this.data?this.data.tp:this.data.ind-1);if(r.renderFrame(!0),this.canvasContext.setTransform(1,0,0,1,0,0),this.data.tt>=3&&!document._isProxy){var n=assetLoader.getLumaCanvas(this.canvasContext.canvas),t=n.getContext("2d");t.drawImage(this.canvasContext.canvas,0,0),this.clearCanvas(this.canvasContext),this.canvasContext.drawImage(n,0,0)}this.canvasContext.globalCompositeOperation=operationsMap[this.data.tt],this.canvasContext.drawImage(e,0,0),this.canvasContext.globalCompositeOperation="destination-over",this.canvasContext.drawImage(this.buffers[0],0,0),this.canvasContext.setTransform(this.currentTransform),this.canvasContext.globalCompositeOperation="source-over"}},renderFrame:function a(e){if(this.hidden||this.data.hd)return;if(this.data.td===1&&!e)return;this.renderTransform(),this.renderRenderable(),this.renderLocalTransform(),this.setBlendMode();var i=this.data.ty===0;if(this.prepareLayer(),this.globalData.renderer.save(i),this.globalData.renderer.ctxTransform(this.finalTransform.localMat.props),this.globalData.renderer.ctxOpacity(this.finalTransform.localOpacity),this.renderInnerContent(),this.globalData.renderer.restore(i),this.exitLayer(),this.maskManager.hasMasks)this.globalData.renderer.restore(!0);if(this._isFirstFrame)this._isFirstFrame=!1},destroy:function a(){this.canvasContext=null,this.data=null,this.globalData=null,this.maskManager.destroy()},mHelper:new Matrix},CVBaseElement.prototype.hide=CVBaseElement.prototype.hideElement,CVBaseElement.prototype.show=CVBaseElement.prototype.showElement;function CVShapeData(a,e,i,r){this.styledShapes=[],this.tr=[0,0,0,0,0,0];var n=4;if(e.ty==="rc")n=5;else if(e.ty==="el")n=6;else if(e.ty==="sr")n=7;this.sh=ShapePropertyFactory.getShapeProp(a,e,n,a);var t,l=i.length,o;for(t=0;t<l;t+=1)if(!i[t].closed)o={transforms:r.addTransformSequence(i[t].transforms),trNodes:[]},this.styledShapes.push(o),i[t].elements.push(o)}CVShapeData.prototype.setAsAnimated=SVGShapeData.prototype.setAsAnimated;function CVShapeElement(a,e,i){this.shapes=[],this.shapesData=a.shapes,this.stylesList=[],this.itemsData=[],this.prevViewData=[],this.shapeModifiers=[],this.processedElements=[],this.transformsManager=new ShapeTransformManager,this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,CVBaseElement,IShapeElement,HierarchyElement,FrameElement,RenderableElement],CVShapeElement),CVShapeElement.prototype.initElement=RenderableDOMElement.prototype.initElement,CVShapeElement.prototype.transformHelper={opacity:1,_opMdf:!1},CVShapeElement.prototype.dashResetter=[],CVShapeElement.prototype.createContent=function(){this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[])},CVShapeElement.prototype.createStyleElement=function(a,e){var i={data:a,type:a.ty,preTransforms:this.transformsManager.addTransformSequence(e),transforms:[],elements:[],closed:a.hd===!0},r={};if(a.ty==="fl"||a.ty==="st"){if(r.c=PropertyFactory.getProp(this,a.c,1,255,this),!r.c.k)i.co="rgb("+bmFloor(r.c.v[0])+","+bmFloor(r.c.v[1])+","+bmFloor(r.c.v[2])+")"}else if(a.ty==="gf"||a.ty==="gs")r.s=PropertyFactory.getProp(this,a.s,1,null,this),r.e=PropertyFactory.getProp(this,a.e,1,null,this),r.h=PropertyFactory.getProp(this,a.h||{k:0},0,0.01,this),r.a=PropertyFactory.getProp(this,a.a||{k:0},0,degToRads,this),r.g=new GradientProperty(this,a.g,this);if(r.o=PropertyFactory.getProp(this,a.o,0,0.01,this),a.ty==="st"||a.ty==="gs"){if(i.lc=lineCapEnum[a.lc||2],i.lj=lineJoinEnum[a.lj||2],a.lj==1)i.ml=a.ml;if(r.w=PropertyFactory.getProp(this,a.w,0,null,this),!r.w.k)i.wi=r.w.v;if(a.d){var n=new DashProperty(this,a.d,"canvas",this);if(r.d=n,!r.d.k)i.da=r.d.dashArray,i.do=r.d.dashoffset[0]}}else i.r=a.r===2?"evenodd":"nonzero";return this.stylesList.push(i),r.style=i,r},CVShapeElement.prototype.createGroupElement=function(){var a={it:[],prevViewData:[]};return a},CVShapeElement.prototype.createTransformElement=function(a){var e={transform:{opacity:1,_opMdf:!1,key:this.transformsManager.getNewKey(),op:PropertyFactory.getProp(this,a.o,0,0.01,this),mProps:TransformPropertyFactory.getTransformProperty(this,a,this)}};return e},CVShapeElement.prototype.createShapeElement=function(a){var e=new CVShapeData(this,a,this.stylesList,this.transformsManager);return this.shapes.push(e),this.addShapeToModifiers(e),e},CVShapeElement.prototype.reloadShapes=function(){this._isFirstFrame=!0;var a,e=this.itemsData.length;for(a=0;a<e;a+=1)this.prevViewData[a]=this.itemsData[a];this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,!0,[]),e=this.dynamicProperties.length;for(a=0;a<e;a+=1)this.dynamicProperties[a].getValue();this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame)},CVShapeElement.prototype.addTransformToStyleList=function(a){var e,i=this.stylesList.length;for(e=0;e<i;e+=1)if(!this.stylesList[e].closed)this.stylesList[e].transforms.push(a)},CVShapeElement.prototype.removeTransformFromStyleList=function(){var a,e=this.stylesList.length;for(a=0;a<e;a+=1)if(!this.stylesList[a].closed)this.stylesList[a].transforms.pop()},CVShapeElement.prototype.closeStyles=function(a){var e,i=a.length;for(e=0;e<i;e+=1)a[e].closed=!0},CVShapeElement.prototype.searchShapes=function(a,e,i,r,n){var t,l=a.length-1,o,s,d=[],c=[],m,h,f,v=[].concat(n);for(t=l;t>=0;t-=1){if(m=this.searchProcessedElement(a[t]),!m)a[t]._shouldRender=r;else e[t]=i[m-1];if(a[t].ty==="fl"||a[t].ty==="st"||a[t].ty==="gf"||a[t].ty==="gs"){if(!m)e[t]=this.createStyleElement(a[t],v);else e[t].style.closed=!1;d.push(e[t].style)}else if(a[t].ty==="gr"){if(!m)e[t]=this.createGroupElement(a[t]);else{s=e[t].it.length;for(o=0;o<s;o+=1)e[t].prevViewData[o]=e[t].it[o]}this.searchShapes(a[t].it,e[t].it,e[t].prevViewData,r,v)}else if(a[t].ty==="tr"){if(!m)f=this.createTransformElement(a[t]),e[t]=f;v.push(e[t]),this.addTransformToStyleList(e[t])}else if(a[t].ty==="sh"||a[t].ty==="rc"||a[t].ty==="el"||a[t].ty==="sr"){if(!m)e[t]=this.createShapeElement(a[t])}else if(a[t].ty==="tm"||a[t].ty==="rd"||a[t].ty==="pb"||a[t].ty==="zz"||a[t].ty==="op"){if(!m)h=ShapeModifiers.getModifier(a[t].ty),h.init(this,a[t]),e[t]=h,this.shapeModifiers.push(h);else h=e[t],h.closed=!1;c.push(h)}else if(a[t].ty==="rp"){if(!m)h=ShapeModifiers.getModifier(a[t].ty),e[t]=h,h.init(this,a,t,e),this.shapeModifiers.push(h),r=!1;else h=e[t],h.closed=!0;c.push(h)}this.addProcessedElement(a[t],t+1)}this.removeTransformFromStyleList(),this.closeStyles(d),l=c.length;for(t=0;t<l;t+=1)c[t].closed=!0},CVShapeElement.prototype.renderInnerContent=function(){this.transformHelper.opacity=1,this.transformHelper._opMdf=!1,this.renderModifiers(),this.transformsManager.processSequences(this._isFirstFrame),this.renderShape(this.transformHelper,this.shapesData,this.itemsData,!0)},CVShapeElement.prototype.renderShapeTransform=function(a,e){if(a._opMdf||e.op._mdf||this._isFirstFrame)e.opacity=a.opacity,e.opacity*=e.op.v,e._opMdf=!0},CVShapeElement.prototype.drawLayer=function(){var a,e=this.stylesList.length,i,r,n,t,l,o,s=this.globalData.renderer,d=this.globalData.canvasContext,c,m;for(a=0;a<e;a+=1)if(m=this.stylesList[a],c=m.type,!((c==="st"||c==="gs")&&m.wi===0||!m.data._shouldRender||m.coOp===0||this.globalData.currentGlobalAlpha===0)){if(s.save(),l=m.elements,c==="st"||c==="gs")s.ctxStrokeStyle(c==="st"?m.co:m.grd),s.ctxLineWidth(m.wi),s.ctxLineCap(m.lc),s.ctxLineJoin(m.lj),s.ctxMiterLimit(m.ml||0);else s.ctxFillStyle(c==="fl"?m.co:m.grd);if(s.ctxOpacity(m.coOp),c!=="st"&&c!=="gs")d.beginPath();s.ctxTransform(m.preTransforms.finalTransform.props),r=l.length;for(i=0;i<r;i+=1){if(c==="st"||c==="gs"){if(d.beginPath(),m.da)d.setLineDash(m.da),d.lineDashOffset=m.do}o=l[i].trNodes,t=o.length;for(n=0;n<t;n+=1)if(o[n].t==="m")d.moveTo(o[n].p[0],o[n].p[1]);else if(o[n].t==="c")d.bezierCurveTo(o[n].pts[0],o[n].pts[1],o[n].pts[2],o[n].pts[3],o[n].pts[4],o[n].pts[5]);else d.closePath();if(c==="st"||c==="gs"){if(s.ctxStroke(),m.da)d.setLineDash(this.dashResetter)}}if(c!=="st"&&c!=="gs")this.globalData.renderer.ctxFill(m.r);s.restore()}},CVShapeElement.prototype.renderShape=function(a,e,i,r){var n,t=e.length-1,l;l=a;for(n=t;n>=0;n-=1)if(e[n].ty==="tr")l=i[n].transform,this.renderShapeTransform(a,l);else if(e[n].ty==="sh"||e[n].ty==="el"||e[n].ty==="rc"||e[n].ty==="sr")this.renderPath(e[n],i[n]);else if(e[n].ty==="fl")this.renderFill(e[n],i[n],l);else if(e[n].ty==="st")this.renderStroke(e[n],i[n],l);else if(e[n].ty==="gf"||e[n].ty==="gs")this.renderGradientFill(e[n],i[n],l);else if(e[n].ty==="gr")this.renderShape(l,e[n].it,i[n].it);else if(e[n].ty==="tm");if(r)this.drawLayer()},CVShapeElement.prototype.renderStyledShape=function(a,e){if(this._isFirstFrame||e._mdf||a.transforms._mdf){var i=a.trNodes,r=e.paths,n,t,l,o=r._length;i.length=0;var s=a.transforms.finalTransform;for(l=0;l<o;l+=1){var d=r.shapes[l];if(d&&d.v){t=d._length;for(n=1;n<t;n+=1){if(n===1)i.push({t:"m",p:s.applyToPointArray(d.v[0][0],d.v[0][1],0)});i.push({t:"c",pts:s.applyToTriplePoints(d.o[n-1],d.i[n],d.v[n])})}if(t===1)i.push({t:"m",p:s.applyToPointArray(d.v[0][0],d.v[0][1],0)});if(d.c&&t)i.push({t:"c",pts:s.applyToTriplePoints(d.o[n-1],d.i[0],d.v[0])}),i.push({t:"z"})}}a.trNodes=i}},CVShapeElement.prototype.renderPath=function(a,e){if(a.hd!==!0&&a._shouldRender){var i,r=e.styledShapes.length;for(i=0;i<r;i+=1)this.renderStyledShape(e.styledShapes[i],e.sh)}},CVShapeElement.prototype.renderFill=function(a,e,i){var r=e.style;if(e.c._mdf||this._isFirstFrame)r.co="rgb("+bmFloor(e.c.v[0])+","+bmFloor(e.c.v[1])+","+bmFloor(e.c.v[2])+")";if(e.o._mdf||i._opMdf||this._isFirstFrame)r.coOp=e.o.v*i.opacity},CVShapeElement.prototype.renderGradientFill=function(a,e,i){var r=e.style,n;if(!r.grd||e.g._mdf||e.s._mdf||e.e._mdf||a.t!==1&&(e.h._mdf||e.a._mdf)){var t=this.globalData.canvasContext,l=e.s.v,o=e.e.v;if(a.t===1)n=t.createLinearGradient(l[0],l[1],o[0],o[1]);else{var s=Math.sqrt(Math.pow(l[0]-o[0],2)+Math.pow(l[1]-o[1],2)),d=Math.atan2(o[1]-l[1],o[0]-l[0]),c=e.h.v;if(c>=1)c=0.99;else if(c<=-1)c=-0.99;var m=s*c,h=Math.cos(d+e.a.v)*m+l[0],f=Math.sin(d+e.a.v)*m+l[1];n=t.createRadialGradient(h,f,0,l[0],l[1],s)}var v,g=a.g.p,x=e.g.c,z=1;for(v=0;v<g;v+=1){if(e.g._hasOpacity&&e.g._collapsable)z=e.g.o[v*2+1];n.addColorStop(x[v*4]/100,"rgba("+x[v*4+1]+","+x[v*4+2]+","+x[v*4+3]+","+z+")")}r.grd=n}r.coOp=e.o.v*i.opacity},CVShapeElement.prototype.renderStroke=function(a,e,i){var{style:r,d:n}=e;if(n&&(n._mdf||this._isFirstFrame))r.da=n.dashArray,r.do=n.dashoffset[0];if(e.c._mdf||this._isFirstFrame)r.co="rgb("+bmFloor(e.c.v[0])+","+bmFloor(e.c.v[1])+","+bmFloor(e.c.v[2])+")";if(e.o._mdf||i._opMdf||this._isFirstFrame)r.coOp=e.o.v*i.opacity;if(e.w._mdf||this._isFirstFrame)r.wi=e.w.v},CVShapeElement.prototype.destroy=function(){this.shapesData=null,this.globalData=null,this.canvasContext=null,this.stylesList.length=0,this.itemsData.length=0};function CVTextElement(a,e,i){this.textSpans=[],this.yOffset=0,this.fillColorAnim=!1,this.strokeColorAnim=!1,this.strokeWidthAnim=!1,this.stroke=!1,this.fill=!1,this.justifyOffset=0,this.currentRender=null,this.renderType="canvas",this.values={fill:"rgba(0,0,0,0)",stroke:"rgba(0,0,0,0)",sWidth:0,fValue:""},this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement,ITextElement],CVTextElement),CVTextElement.prototype.tHelper=createTag("canvas").getContext("2d"),CVTextElement.prototype.buildNewText=function(){var a=this.textProperty.currentData;this.renderedLetters=createSizedArray(a.l?a.l.length:0);var e=!1;if(a.fc)e=!0,this.values.fill=this.buildColor(a.fc);else this.values.fill="rgba(0,0,0,0)";this.fill=e;var i=!1;if(a.sc)i=!0,this.values.stroke=this.buildColor(a.sc),this.values.sWidth=a.sw;var r=this.globalData.fontManager.getFontByName(a.f),n,t,l=a.l,o=this.mHelper;this.stroke=i,this.values.fValue=a.finalSize+"px "+this.globalData.fontManager.getFontByName(a.f).fFamily,t=a.finalText.length;var s,d,c,m,h,f,v,g,x,z,p=this.data.singleShape,w=a.tr*0.001*a.finalSize,b=0,y=0,I=!0,O=0;for(n=0;n<t;n+=1){if(s=this.globalData.fontManager.getCharData(a.finalText[n],r.fStyle,this.globalData.fontManager.getFontByName(a.f).fFamily),d=s&&s.data||{},o.reset(),p&&l[n].n)b=-w,y+=a.yOffset,y+=I?1:0,I=!1;if(h=d.shapes?d.shapes[0].it:[],v=h.length,o.scale(a.finalSize/100,a.finalSize/100),p)this.applyTextPropertiesToMatrix(a,o,l[n].line,b,y);x=createSizedArray(v-1);var K=0;for(f=0;f<v;f+=1)if(h[f].ty==="sh"){m=h[f].ks.k.i.length,g=h[f].ks.k,z=[];for(c=1;c<m;c+=1){if(c===1)z.push(o.applyToX(g.v[0][0],g.v[0][1],0),o.applyToY(g.v[0][0],g.v[0][1],0));z.push(o.applyToX(g.o[c-1][0],g.o[c-1][1],0),o.applyToY(g.o[c-1][0],g.o[c-1][1],0),o.applyToX(g.i[c][0],g.i[c][1],0),o.applyToY(g.i[c][0],g.i[c][1],0),o.applyToX(g.v[c][0],g.v[c][1],0),o.applyToY(g.v[c][0],g.v[c][1],0))}z.push(o.applyToX(g.o[c-1][0],g.o[c-1][1],0),o.applyToY(g.o[c-1][0],g.o[c-1][1],0),o.applyToX(g.i[0][0],g.i[0][1],0),o.applyToY(g.i[0][0],g.i[0][1],0),o.applyToX(g.v[0][0],g.v[0][1],0),o.applyToY(g.v[0][0],g.v[0][1],0)),x[K]=z,K+=1}if(p)b+=l[n].l,b+=w;if(this.textSpans[O])this.textSpans[O].elem=x;else this.textSpans[O]={elem:x};O+=1}},CVTextElement.prototype.renderInnerContent=function(){this.validateText();var a=this.canvasContext;if(a.font=this.values.fValue,this.globalData.renderer.ctxLineCap("butt"),this.globalData.renderer.ctxLineJoin("miter"),this.globalData.renderer.ctxMiterLimit(4),!this.data.singleShape)this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag);var e,i,r,n,t,l,o=this.textAnimator.renderedLetters,s=this.textProperty.currentData.l;i=s.length;var d,c=null,m=null,h=null,f,v,g=this.globalData.renderer;for(e=0;e<i;e+=1)if(!s[e].n){if(d=o[e],d)g.save(),g.ctxTransform(d.p),g.ctxOpacity(d.o);if(this.fill){if(d&&d.fc){if(c!==d.fc)g.ctxFillStyle(d.fc),c=d.fc}else if(c!==this.values.fill)c=this.values.fill,g.ctxFillStyle(this.values.fill);f=this.textSpans[e].elem,n=f.length,this.globalData.canvasContext.beginPath();for(r=0;r<n;r+=1){v=f[r],l=v.length,this.globalData.canvasContext.moveTo(v[0],v[1]);for(t=2;t<l;t+=6)this.globalData.canvasContext.bezierCurveTo(v[t],v[t+1],v[t+2],v[t+3],v[t+4],v[t+5])}this.globalData.canvasContext.closePath(),g.ctxFill()}if(this.stroke){if(d&&d.sw){if(h!==d.sw)h=d.sw,g.ctxLineWidth(d.sw)}else if(h!==this.values.sWidth)h=this.values.sWidth,g.ctxLineWidth(this.values.sWidth);if(d&&d.sc){if(m!==d.sc)m=d.sc,g.ctxStrokeStyle(d.sc)}else if(m!==this.values.stroke)m=this.values.stroke,g.ctxStrokeStyle(this.values.stroke);f=this.textSpans[e].elem,n=f.length,this.globalData.canvasContext.beginPath();for(r=0;r<n;r+=1){v=f[r],l=v.length,this.globalData.canvasContext.moveTo(v[0],v[1]);for(t=2;t<l;t+=6)this.globalData.canvasContext.bezierCurveTo(v[t],v[t+1],v[t+2],v[t+3],v[t+4],v[t+5])}this.globalData.canvasContext.closePath(),g.ctxStroke()}if(d)this.globalData.renderer.restore()}};function CVImageElement(a,e,i){this.assetData=e.getAssetData(a.refId),this.img=e.imageLoader.getAsset(this.assetData),this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVImageElement),CVImageElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVImageElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVImageElement.prototype.createContent=function(){if(this.img.width&&(this.assetData.w!==this.img.width||this.assetData.h!==this.img.height)){var a=createTag("canvas");a.width=this.assetData.w,a.height=this.assetData.h;var e=a.getContext("2d"),i=this.img.width,r=this.img.height,n=i/r,t=this.assetData.w/this.assetData.h,l,o,s=this.assetData.pr||this.globalData.renderConfig.imagePreserveAspectRatio;if(n>t&&s==="xMidYMid slice"||n<t&&s!=="xMidYMid slice")o=r,l=o*t;else l=i,o=l/t;e.drawImage(this.img,(i-l)/2,(r-o)/2,l,o,0,0,this.assetData.w,this.assetData.h),this.img=a}},CVImageElement.prototype.renderInnerContent=function(){this.canvasContext.drawImage(this.img,0,0)},CVImageElement.prototype.destroy=function(){this.img=null};function CVSolidElement(a,e,i){this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,CVBaseElement,HierarchyElement,FrameElement,RenderableElement],CVSolidElement),CVSolidElement.prototype.initElement=SVGShapeElement.prototype.initElement,CVSolidElement.prototype.prepareFrame=IImageElement.prototype.prepareFrame,CVSolidElement.prototype.renderInnerContent=function(){this.globalData.renderer.ctxFillStyle(this.data.sc),this.globalData.renderer.ctxFillRect(0,0,this.data.sw,this.data.sh)};function CanvasRendererBase(){}extendPrototype([BaseRenderer],CanvasRendererBase),CanvasRendererBase.prototype.createShape=function(a){return new CVShapeElement(a,this.globalData,this)},CanvasRendererBase.prototype.createText=function(a){return new CVTextElement(a,this.globalData,this)},CanvasRendererBase.prototype.createImage=function(a){return new CVImageElement(a,this.globalData,this)},CanvasRendererBase.prototype.createSolid=function(a){return new CVSolidElement(a,this.globalData,this)},CanvasRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,CanvasRendererBase.prototype.ctxTransform=function(a){if(a[0]===1&&a[1]===0&&a[4]===0&&a[5]===1&&a[12]===0&&a[13]===0)return;this.canvasContext.transform(a[0],a[1],a[4],a[5],a[12],a[13])},CanvasRendererBase.prototype.ctxOpacity=function(a){this.canvasContext.globalAlpha*=a<0?0:a},CanvasRendererBase.prototype.ctxFillStyle=function(a){this.canvasContext.fillStyle=a},CanvasRendererBase.prototype.ctxStrokeStyle=function(a){this.canvasContext.strokeStyle=a},CanvasRendererBase.prototype.ctxLineWidth=function(a){this.canvasContext.lineWidth=a},CanvasRendererBase.prototype.ctxLineCap=function(a){this.canvasContext.lineCap=a},CanvasRendererBase.prototype.ctxLineJoin=function(a){this.canvasContext.lineJoin=a},CanvasRendererBase.prototype.ctxMiterLimit=function(a){this.canvasContext.miterLimit=a},CanvasRendererBase.prototype.ctxFill=function(a){this.canvasContext.fill(a)},CanvasRendererBase.prototype.ctxFillRect=function(a,e,i,r){this.canvasContext.fillRect(a,e,i,r)},CanvasRendererBase.prototype.ctxStroke=function(){this.canvasContext.stroke()},CanvasRendererBase.prototype.reset=function(){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}this.contextData.reset()},CanvasRendererBase.prototype.save=function(){this.canvasContext.save()},CanvasRendererBase.prototype.restore=function(a){if(!this.renderConfig.clearCanvas){this.canvasContext.restore();return}if(a)this.globalData.blendMode="source-over";this.contextData.restore(a)},CanvasRendererBase.prototype.configAnimation=function(a){if(this.animationItem.wrapper){this.animationItem.container=createTag("canvas");var e=this.animationItem.container.style;e.width="100%",e.height="100%";var i="0px 0px 0px";if(e.transformOrigin=i,e.mozTransformOrigin=i,e.webkitTransformOrigin=i,e["-webkit-transform"]=i,e.contentVisibility=this.renderConfig.contentVisibility,this.animationItem.wrapper.appendChild(this.animationItem.container),this.canvasContext=this.animationItem.container.getContext("2d"),this.renderConfig.className)this.animationItem.container.setAttribute("class",this.renderConfig.className);if(this.renderConfig.id)this.animationItem.container.setAttribute("id",this.renderConfig.id)}else this.canvasContext=this.renderConfig.context;this.contextData.setContext(this.canvasContext),this.data=a,this.layers=a.layers,this.transformCanvas={w:a.w,h:a.h,sx:0,sy:0,tx:0,ty:0},this.setupGlobalData(a,document.body),this.globalData.canvasContext=this.canvasContext,this.globalData.renderer=this,this.globalData.isDashed=!1,this.globalData.progressiveLoad=this.renderConfig.progressiveLoad,this.globalData.transformCanvas=this.transformCanvas,this.elements=createSizedArray(a.layers.length),this.updateContainerSize()},CanvasRendererBase.prototype.updateContainerSize=function(a,e){this.reset();var i,r;if(a)i=a,r=e,this.canvasContext.canvas.width=i,this.canvasContext.canvas.height=r;else{if(this.animationItem.wrapper&&this.animationItem.container)i=this.animationItem.wrapper.offsetWidth,r=this.animationItem.wrapper.offsetHeight;else i=this.canvasContext.canvas.width,r=this.canvasContext.canvas.height;this.canvasContext.canvas.width=i*this.renderConfig.dpr,this.canvasContext.canvas.height=r*this.renderConfig.dpr}var n,t;if(this.renderConfig.preserveAspectRatio.indexOf("meet")!==-1||this.renderConfig.preserveAspectRatio.indexOf("slice")!==-1){var l=this.renderConfig.preserveAspectRatio.split(" "),o=l[1]||"meet",s=l[0]||"xMidYMid",d=s.substr(0,4),c=s.substr(4);if(n=i/r,t=this.transformCanvas.w/this.transformCanvas.h,t>n&&o==="meet"||t<n&&o==="slice")this.transformCanvas.sx=i/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=i/(this.transformCanvas.w/this.renderConfig.dpr);else this.transformCanvas.sx=r/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.sy=r/(this.transformCanvas.h/this.renderConfig.dpr);if(d==="xMid"&&(t<n&&o==="meet"||t>n&&o==="slice"))this.transformCanvas.tx=(i-this.transformCanvas.w*(r/this.transformCanvas.h))/2*this.renderConfig.dpr;else if(d==="xMax"&&(t<n&&o==="meet"||t>n&&o==="slice"))this.transformCanvas.tx=(i-this.transformCanvas.w*(r/this.transformCanvas.h))*this.renderConfig.dpr;else this.transformCanvas.tx=0;if(c==="YMid"&&(t>n&&o==="meet"||t<n&&o==="slice"))this.transformCanvas.ty=(r-this.transformCanvas.h*(i/this.transformCanvas.w))/2*this.renderConfig.dpr;else if(c==="YMax"&&(t>n&&o==="meet"||t<n&&o==="slice"))this.transformCanvas.ty=(r-this.transformCanvas.h*(i/this.transformCanvas.w))*this.renderConfig.dpr;else this.transformCanvas.ty=0}else if(this.renderConfig.preserveAspectRatio==="none")this.transformCanvas.sx=i/(this.transformCanvas.w/this.renderConfig.dpr),this.transformCanvas.sy=r/(this.transformCanvas.h/this.renderConfig.dpr),this.transformCanvas.tx=0,this.transformCanvas.ty=0;else this.transformCanvas.sx=this.renderConfig.dpr,this.transformCanvas.sy=this.renderConfig.dpr,this.transformCanvas.tx=0,this.transformCanvas.ty=0;this.transformCanvas.props=[this.transformCanvas.sx,0,0,0,0,this.transformCanvas.sy,0,0,0,0,1,0,this.transformCanvas.tx,this.transformCanvas.ty,0,1],this.ctxTransform(this.transformCanvas.props),this.canvasContext.beginPath(),this.canvasContext.rect(0,0,this.transformCanvas.w,this.transformCanvas.h),this.canvasContext.closePath(),this.canvasContext.clip(),this.renderFrame(this.renderedFrame,!0)},CanvasRendererBase.prototype.destroy=function(){if(this.renderConfig.clearCanvas&&this.animationItem.wrapper)this.animationItem.wrapper.innerText="";var a,e=this.layers?this.layers.length:0;for(a=e-1;a>=0;a-=1)if(this.elements[a]&&this.elements[a].destroy)this.elements[a].destroy();this.elements.length=0,this.globalData.canvasContext=null,this.animationItem.container=null,this.destroyed=!0},CanvasRendererBase.prototype.renderFrame=function(a,e){if(this.renderedFrame===a&&this.renderConfig.clearCanvas===!0&&!e||this.destroyed||a===-1)return;this.renderedFrame=a,this.globalData.frameNum=a-this.animationItem._isFirstFrame,this.globalData.frameId+=1,this.globalData._mdf=!this.renderConfig.clearCanvas||e,this.globalData.projectInterface.currentFrame=a;var i,r=this.layers.length;if(!this.completeLayers)this.checkLayers(a);for(i=r-1;i>=0;i-=1)if(this.completeLayers||this.elements[i])this.elements[i].prepareFrame(a-this.layers[i].st);if(this.globalData._mdf){if(this.renderConfig.clearCanvas===!0)this.canvasContext.clearRect(0,0,this.transformCanvas.w,this.transformCanvas.h);else this.save();for(i=r-1;i>=0;i-=1)if(this.completeLayers||this.elements[i])this.elements[i].renderFrame();if(this.renderConfig.clearCanvas!==!0)this.restore()}},CanvasRendererBase.prototype.buildItem=function(a){var e=this.elements;if(e[a]||this.layers[a].ty===99)return;var i=this.createItem(this.layers[a],this,this.globalData);e[a]=i,i.initExpressions()},CanvasRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var a=this.pendingElements.pop();a.checkParenting()}},CanvasRendererBase.prototype.hide=function(){this.animationItem.container.style.display="none"},CanvasRendererBase.prototype.show=function(){this.animationItem.container.style.display="block"};function CanvasContext(){this.opacity=-1,this.transform=createTypedArray("float32",16),this.fillStyle="",this.strokeStyle="",this.lineWidth="",this.lineCap="",this.lineJoin="",this.miterLimit="",this.id=Math.random()}function CVContextData(){this.stack=[],this.cArrPos=0,this.cTr=new Matrix;var a,e=15;for(a=0;a<e;a+=1){var i=new CanvasContext;this.stack[a]=i}this._length=e,this.nativeContext=null,this.transformMat=new Matrix,this.currentOpacity=1,this.currentFillStyle="",this.appliedFillStyle="",this.currentStrokeStyle="",this.appliedStrokeStyle="",this.currentLineWidth="",this.appliedLineWidth="",this.currentLineCap="",this.appliedLineCap="",this.currentLineJoin="",this.appliedLineJoin="",this.appliedMiterLimit="",this.currentMiterLimit=""}CVContextData.prototype.duplicate=function(){var a=this._length*2,e=0;for(e=this._length;e<a;e+=1)this.stack[e]=new CanvasContext;this._length=a},CVContextData.prototype.reset=function(){this.cArrPos=0,this.cTr.reset(),this.stack[this.cArrPos].opacity=1},CVContextData.prototype.restore=function(a){this.cArrPos-=1;var e=this.stack[this.cArrPos],i=e.transform,r,n=this.cTr.props;for(r=0;r<16;r+=1)n[r]=i[r];if(a){this.nativeContext.restore();var t=this.stack[this.cArrPos+1];this.appliedFillStyle=t.fillStyle,this.appliedStrokeStyle=t.strokeStyle,this.appliedLineWidth=t.lineWidth,this.appliedLineCap=t.lineCap,this.appliedLineJoin=t.lineJoin,this.appliedMiterLimit=t.miterLimit}if(this.nativeContext.setTransform(i[0],i[1],i[4],i[5],i[12],i[13]),a||e.opacity!==-1&&this.currentOpacity!==e.opacity)this.nativeContext.globalAlpha=e.opacity,this.currentOpacity=e.opacity;this.currentFillStyle=e.fillStyle,this.currentStrokeStyle=e.strokeStyle,this.currentLineWidth=e.lineWidth,this.currentLineCap=e.lineCap,this.currentLineJoin=e.lineJoin,this.currentMiterLimit=e.miterLimit},CVContextData.prototype.save=function(a){if(a)this.nativeContext.save();var e=this.cTr.props;if(this._length<=this.cArrPos)this.duplicate();var i=this.stack[this.cArrPos],r;for(r=0;r<16;r+=1)i.transform[r]=e[r];this.cArrPos+=1;var n=this.stack[this.cArrPos];n.opacity=i.opacity,n.fillStyle=i.fillStyle,n.strokeStyle=i.strokeStyle,n.lineWidth=i.lineWidth,n.lineCap=i.lineCap,n.lineJoin=i.lineJoin,n.miterLimit=i.miterLimit},CVContextData.prototype.setOpacity=function(a){this.stack[this.cArrPos].opacity=a},CVContextData.prototype.setContext=function(a){this.nativeContext=a},CVContextData.prototype.fillStyle=function(a){if(this.stack[this.cArrPos].fillStyle!==a)this.currentFillStyle=a,this.stack[this.cArrPos].fillStyle=a},CVContextData.prototype.strokeStyle=function(a){if(this.stack[this.cArrPos].strokeStyle!==a)this.currentStrokeStyle=a,this.stack[this.cArrPos].strokeStyle=a},CVContextData.prototype.lineWidth=function(a){if(this.stack[this.cArrPos].lineWidth!==a)this.currentLineWidth=a,this.stack[this.cArrPos].lineWidth=a},CVContextData.prototype.lineCap=function(a){if(this.stack[this.cArrPos].lineCap!==a)this.currentLineCap=a,this.stack[this.cArrPos].lineCap=a},CVContextData.prototype.lineJoin=function(a){if(this.stack[this.cArrPos].lineJoin!==a)this.currentLineJoin=a,this.stack[this.cArrPos].lineJoin=a},CVContextData.prototype.miterLimit=function(a){if(this.stack[this.cArrPos].miterLimit!==a)this.currentMiterLimit=a,this.stack[this.cArrPos].miterLimit=a},CVContextData.prototype.transform=function(a){this.transformMat.cloneFromProps(a);var e=this.cTr;this.transformMat.multiply(e),e.cloneFromProps(this.transformMat.props);var i=e.props;this.nativeContext.setTransform(i[0],i[1],i[4],i[5],i[12],i[13])},CVContextData.prototype.opacity=function(a){var e=this.stack[this.cArrPos].opacity;if(e*=a<0?0:a,this.stack[this.cArrPos].opacity!==e){if(this.currentOpacity!==a)this.nativeContext.globalAlpha=a,this.currentOpacity=a;this.stack[this.cArrPos].opacity=e}},CVContextData.prototype.fill=function(a){if(this.appliedFillStyle!==this.currentFillStyle)this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle;this.nativeContext.fill(a)},CVContextData.prototype.fillRect=function(a,e,i,r){if(this.appliedFillStyle!==this.currentFillStyle)this.appliedFillStyle=this.currentFillStyle,this.nativeContext.fillStyle=this.appliedFillStyle;this.nativeContext.fillRect(a,e,i,r)},CVContextData.prototype.stroke=function(){if(this.appliedStrokeStyle!==this.currentStrokeStyle)this.appliedStrokeStyle=this.currentStrokeStyle,this.nativeContext.strokeStyle=this.appliedStrokeStyle;if(this.appliedLineWidth!==this.currentLineWidth)this.appliedLineWidth=this.currentLineWidth,this.nativeContext.lineWidth=this.appliedLineWidth;if(this.appliedLineCap!==this.currentLineCap)this.appliedLineCap=this.currentLineCap,this.nativeContext.lineCap=this.appliedLineCap;if(this.appliedLineJoin!==this.currentLineJoin)this.appliedLineJoin=this.currentLineJoin,this.nativeContext.lineJoin=this.appliedLineJoin;if(this.appliedMiterLimit!==this.currentMiterLimit)this.appliedMiterLimit=this.currentMiterLimit,this.nativeContext.miterLimit=this.appliedMiterLimit;this.nativeContext.stroke()};function CVCompElement(a,e,i){this.completeLayers=!1,this.layers=a.layers,this.pendingElements=[],this.elements=createSizedArray(this.layers.length),this.initElement(a,e,i),this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,e.frameRate,this):{_placeholder:!0}}extendPrototype([CanvasRendererBase,ICompElement,CVBaseElement],CVCompElement),CVCompElement.prototype.renderInnerContent=function(){var a=this.canvasContext;a.beginPath(),a.moveTo(0,0),a.lineTo(this.data.w,0),a.lineTo(this.data.w,this.data.h),a.lineTo(0,this.data.h),a.lineTo(0,0),a.clip();var e,i=this.layers.length;for(e=i-1;e>=0;e-=1)if(this.completeLayers||this.elements[e])this.elements[e].renderFrame()},CVCompElement.prototype.destroy=function(){var a,e=this.layers.length;for(a=e-1;a>=0;a-=1)if(this.elements[a])this.elements[a].destroy();this.layers=null,this.elements=null},CVCompElement.prototype.createComp=function(a){return new CVCompElement(a,this.globalData,this)};function CanvasRenderer(a,e){if(this.animationItem=a,this.renderConfig={clearCanvas:e&&e.clearCanvas!==void 0?e.clearCanvas:!0,context:e&&e.context||null,progressiveLoad:e&&e.progressiveLoad||!1,preserveAspectRatio:e&&e.preserveAspectRatio||"xMidYMid meet",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",contentVisibility:e&&e.contentVisibility||"visible",className:e&&e.className||"",id:e&&e.id||"",runExpressions:!e||e.runExpressions===void 0||e.runExpressions},this.renderConfig.dpr=e&&e.dpr||1,this.animationItem.wrapper)this.renderConfig.dpr=e&&e.dpr||window.devicePixelRatio||1;if(this.renderedFrame=-1,this.globalData={frameNum:-1,_mdf:!1,renderConfig:this.renderConfig,currentGlobalAlpha:-1},this.contextData=new CVContextData,this.elements=[],this.pendingElements=[],this.transformMat=new Matrix,this.completeLayers=!1,this.rendererType="canvas",this.renderConfig.clearCanvas)this.ctxTransform=this.contextData.transform.bind(this.contextData),this.ctxOpacity=this.contextData.opacity.bind(this.contextData),this.ctxFillStyle=this.contextData.fillStyle.bind(this.contextData),this.ctxStrokeStyle=this.contextData.strokeStyle.bind(this.contextData),this.ctxLineWidth=this.contextData.lineWidth.bind(this.contextData),this.ctxLineCap=this.contextData.lineCap.bind(this.contextData),this.ctxLineJoin=this.contextData.lineJoin.bind(this.contextData),this.ctxMiterLimit=this.contextData.miterLimit.bind(this.contextData),this.ctxFill=this.contextData.fill.bind(this.contextData),this.ctxFillRect=this.contextData.fillRect.bind(this.contextData),this.ctxStroke=this.contextData.stroke.bind(this.contextData),this.save=this.contextData.save.bind(this.contextData)}extendPrototype([CanvasRendererBase],CanvasRenderer),CanvasRenderer.prototype.createComp=function(a){return new CVCompElement(a,this.globalData,this)};function HBaseElement(){}HBaseElement.prototype={checkBlendMode:function a(){},initRendererElement:function a(){if(this.baseElement=createTag(this.data.tg||"div"),this.data.hasMask)this.svgElement=createNS("svg"),this.layerElement=createNS("g"),this.maskedElement=this.layerElement,this.svgElement.appendChild(this.layerElement),this.baseElement.appendChild(this.svgElement);else this.layerElement=this.baseElement;styleDiv(this.baseElement)},createContainerElements:function a(){if(this.renderableEffectsManager=new CVEffects(this),this.transformedElement=this.baseElement,this.maskedElement=this.layerElement,this.data.ln)this.layerElement.setAttribute("id",this.data.ln);if(this.data.cl)this.layerElement.setAttribute("class",this.data.cl);if(this.data.bm!==0)this.setBlendMode()},renderElement:function a(){var e=this.transformedElement?this.transformedElement.style:{};if(this.finalTransform._matMdf){var i=this.finalTransform.mat.toCSS();e.transform=i,e.webkitTransform=i}if(this.finalTransform._opMdf)e.opacity=this.finalTransform.mProp.o.v},renderFrame:function a(){if(this.data.hd||this.hidden)return;if(this.renderTransform(),this.renderRenderable(),this.renderElement(),this.renderInnerContent(),this._isFirstFrame)this._isFirstFrame=!1},destroy:function a(){if(this.layerElement=null,this.transformedElement=null,this.matteElement)this.matteElement=null;if(this.maskManager)this.maskManager.destroy(),this.maskManager=null},createRenderableComponents:function a(){this.maskManager=new MaskElement(this.data,this,this.globalData)},addEffects:function a(){},setMatte:function a(){}},HBaseElement.prototype.getBaseElement=SVGBaseElement.prototype.getBaseElement,HBaseElement.prototype.destroyBaseElement=HBaseElement.prototype.destroy,HBaseElement.prototype.buildElementParenting=BaseRenderer.prototype.buildElementParenting;function HSolidElement(a,e,i){this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement],HSolidElement),HSolidElement.prototype.createContent=function(){var a;if(this.data.hasMask)a=createNS("rect"),a.setAttribute("width",this.data.sw),a.setAttribute("height",this.data.sh),a.setAttribute("fill",this.data.sc),this.svgElement.setAttribute("width",this.data.sw),this.svgElement.setAttribute("height",this.data.sh);else a=createTag("div"),a.style.width=this.data.sw+"px",a.style.height=this.data.sh+"px",a.style.backgroundColor=this.data.sc;this.layerElement.appendChild(a)};function HShapeElement(a,e,i){this.shapes=[],this.shapesData=a.shapes,this.stylesList=[],this.shapeModifiers=[],this.itemsData=[],this.processedElements=[],this.animatedContents=[],this.shapesContainer=createNS("g"),this.initElement(a,e,i),this.prevViewData=[],this.currentBBox={x:999999,y:-999999,h:0,w:0}}extendPrototype([BaseElement,TransformElement,HSolidElement,SVGShapeElement,HBaseElement,HierarchyElement,FrameElement,RenderableElement],HShapeElement),HShapeElement.prototype._renderShapeFrame=HShapeElement.prototype.renderInnerContent,HShapeElement.prototype.createContent=function(){var a;if(this.baseElement.style.fontSize=0,this.data.hasMask)this.layerElement.appendChild(this.shapesContainer),a=this.svgElement;else{a=createNS("svg");var e=this.comp.data?this.comp.data:this.globalData.compSize;a.setAttribute("width",e.w),a.setAttribute("height",e.h),a.appendChild(this.shapesContainer),this.layerElement.appendChild(a)}this.searchShapes(this.shapesData,this.itemsData,this.prevViewData,this.shapesContainer,0,[],!0),this.filterUniqueShapes(),this.shapeCont=a},HShapeElement.prototype.getTransformedPoint=function(a,e){var i,r=a.length;for(i=0;i<r;i+=1)e=a[i].mProps.v.applyToPointArray(e[0],e[1],0);return e},HShapeElement.prototype.calculateShapeBoundingBox=function(a,e){var i=a.sh.v,r=a.transformers,n,t=i._length,l,o,s,d;if(t<=1)return;for(n=0;n<t-1;n+=1)l=this.getTransformedPoint(r,i.v[n]),o=this.getTransformedPoint(r,i.o[n]),s=this.getTransformedPoint(r,i.i[n+1]),d=this.getTransformedPoint(r,i.v[n+1]),this.checkBounds(l,o,s,d,e);if(i.c)l=this.getTransformedPoint(r,i.v[n]),o=this.getTransformedPoint(r,i.o[n]),s=this.getTransformedPoint(r,i.i[0]),d=this.getTransformedPoint(r,i.v[0]),this.checkBounds(l,o,s,d,e)},HShapeElement.prototype.checkBounds=function(a,e,i,r,n){this.getBoundsOfCurve(a,e,i,r);var t=this.shapeBoundingBox;n.x=bmMin(t.left,n.x),n.xMax=bmMax(t.right,n.xMax),n.y=bmMin(t.top,n.y),n.yMax=bmMax(t.bottom,n.yMax)},HShapeElement.prototype.shapeBoundingBox={left:0,right:0,top:0,bottom:0},HShapeElement.prototype.tempBoundingBox={x:0,xMax:0,y:0,yMax:0,width:0,height:0},HShapeElement.prototype.getBoundsOfCurve=function(a,e,i,r){var n=[[a[0],r[0]],[a[1],r[1]]];for(var t,l,o,s,d,c,m,h=0;h<2;++h)if(l=6*a[h]-12*e[h]+6*i[h],t=-3*a[h]+9*e[h]-9*i[h]+3*r[h],o=3*e[h]-3*a[h],l|=0,t|=0,o|=0,t===0&&l===0);else if(t===0){if(s=-o/l,s>0&&s<1)n[h].push(this.calculateF(s,a,e,i,r,h))}else if(d=l*l-4*o*t,d>=0){if(c=(-l+bmSqrt(d))/(2*t),c>0&&c<1)n[h].push(this.calculateF(c,a,e,i,r,h));if(m=(-l-bmSqrt(d))/(2*t),m>0&&m<1)n[h].push(this.calculateF(m,a,e,i,r,h))}this.shapeBoundingBox.left=bmMin.apply(null,n[0]),this.shapeBoundingBox.top=bmMin.apply(null,n[1]),this.shapeBoundingBox.right=bmMax.apply(null,n[0]),this.shapeBoundingBox.bottom=bmMax.apply(null,n[1])},HShapeElement.prototype.calculateF=function(a,e,i,r,n,t){return bmPow(1-a,3)*e[t]+3*bmPow(1-a,2)*a*i[t]+3*(1-a)*bmPow(a,2)*r[t]+bmPow(a,3)*n[t]},HShapeElement.prototype.calculateBoundingBox=function(a,e){var i,r=a.length;for(i=0;i<r;i+=1)if(a[i]&&a[i].sh)this.calculateShapeBoundingBox(a[i],e);else if(a[i]&&a[i].it)this.calculateBoundingBox(a[i].it,e);else if(a[i]&&a[i].style&&a[i].w)this.expandStrokeBoundingBox(a[i].w,e)},HShapeElement.prototype.expandStrokeBoundingBox=function(a,e){var i=0;if(a.keyframes){for(var r=0;r<a.keyframes.length;r+=1){var n=a.keyframes[r].s;if(n>i)i=n}i*=a.mult}else i=a.v*a.mult;e.x-=i,e.xMax+=i,e.y-=i,e.yMax+=i},HShapeElement.prototype.currentBoxContains=function(a){return this.currentBBox.x<=a.x&&this.currentBBox.y<=a.y&&this.currentBBox.width+this.currentBBox.x>=a.x+a.width&&this.currentBBox.height+this.currentBBox.y>=a.y+a.height},HShapeElement.prototype.renderInnerContent=function(){if(this._renderShapeFrame(),!this.hidden&&(this._isFirstFrame||this._mdf)){var a=this.tempBoundingBox,e=999999;if(a.x=e,a.xMax=-e,a.y=e,a.yMax=-e,this.calculateBoundingBox(this.itemsData,a),a.width=a.xMax<a.x?0:a.xMax-a.x,a.height=a.yMax<a.y?0:a.yMax-a.y,this.currentBoxContains(a))return;var i=!1;if(this.currentBBox.w!==a.width)this.currentBBox.w=a.width,this.shapeCont.setAttribute("width",a.width),i=!0;if(this.currentBBox.h!==a.height)this.currentBBox.h=a.height,this.shapeCont.setAttribute("height",a.height),i=!0;if(i||this.currentBBox.x!==a.x||this.currentBBox.y!==a.y){this.currentBBox.w=a.width,this.currentBBox.h=a.height,this.currentBBox.x=a.x,this.currentBBox.y=a.y,this.shapeCont.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h);var r=this.shapeCont.style,n="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";r.transform=n,r.webkitTransform=n}}};function HTextElement(a,e,i){this.textSpans=[],this.textPaths=[],this.currentBBox={x:999999,y:-999999,h:0,w:0},this.renderType="svg",this.isMasked=!1,this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,HBaseElement,HierarchyElement,FrameElement,RenderableDOMElement,ITextElement],HTextElement),HTextElement.prototype.createContent=function(){if(this.isMasked=this.checkMasks(),this.isMasked){this.renderType="svg",this.compW=this.comp.data.w,this.compH=this.comp.data.h,this.svgElement.setAttribute("width",this.compW),this.svgElement.setAttribute("height",this.compH);var a=createNS("g");this.maskedElement.appendChild(a),this.innerElem=a}else this.renderType="html",this.innerElem=this.layerElement;this.checkParenting()},HTextElement.prototype.buildNewText=function(){var a=this.textProperty.currentData;this.renderedLetters=createSizedArray(a.l?a.l.length:0);var e=this.innerElem.style,i=a.fc?this.buildColor(a.fc):"rgba(0,0,0,0)";if(e.fill=i,e.color=i,a.sc)e.stroke=this.buildColor(a.sc),e.strokeWidth=a.sw+"px";var r=this.globalData.fontManager.getFontByName(a.f);if(!this.globalData.fontManager.chars)if(e.fontSize=a.finalSize+"px",e.lineHeight=a.finalSize+"px",r.fClass)this.innerElem.className=r.fClass;else{e.fontFamily=r.fFamily;var{fWeight:n,fStyle:t}=a;e.fontStyle=t,e.fontWeight=n}var l,o,s=a.l;o=s.length;var d,c,m,h=this.mHelper,f,v="",g=0;for(l=0;l<o;l+=1){if(this.globalData.fontManager.chars){if(!this.textPaths[g])d=createNS("path"),d.setAttribute("stroke-linecap",lineCapEnum[1]),d.setAttribute("stroke-linejoin",lineJoinEnum[2]),d.setAttribute("stroke-miterlimit","4");else d=this.textPaths[g];if(!this.isMasked)if(this.textSpans[g])c=this.textSpans[g],m=c.children[0];else c=createTag("div"),c.style.lineHeight=0,m=createNS("svg"),m.appendChild(d),styleDiv(c)}else if(!this.isMasked)if(this.textSpans[g])c=this.textSpans[g],d=this.textPaths[g];else c=createTag("span"),styleDiv(c),d=createTag("span"),styleDiv(d),c.appendChild(d);else d=this.textPaths[g]?this.textPaths[g]:createNS("text");if(this.globalData.fontManager.chars){var x=this.globalData.fontManager.getCharData(a.finalText[l],r.fStyle,this.globalData.fontManager.getFontByName(a.f).fFamily),z;if(x)z=x.data;else z=null;if(h.reset(),z&&z.shapes&&z.shapes.length)f=z.shapes[0].it,h.scale(a.finalSize/100,a.finalSize/100),v=this.createPathShape(h,f),d.setAttribute("d",v);if(!this.isMasked){if(this.innerElem.appendChild(c),z&&z.shapes){document.body.appendChild(m);var p=m.getBBox();m.setAttribute("width",p.width+2),m.setAttribute("height",p.height+2),m.setAttribute("viewBox",p.x-1+" "+(p.y-1)+" "+(p.width+2)+" "+(p.height+2));var w=m.style,b="translate("+(p.x-1)+"px,"+(p.y-1)+"px)";w.transform=b,w.webkitTransform=b,s[l].yOffset=p.y-1}else m.setAttribute("width",1),m.setAttribute("height",1);c.appendChild(m)}else this.innerElem.appendChild(d)}else if(d.textContent=s[l].val,d.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),!this.isMasked){this.innerElem.appendChild(c);var y=d.style,I="translate3d(0,"+-a.finalSize/1.2+"px,0)";y.transform=I,y.webkitTransform=I}else this.innerElem.appendChild(d);if(!this.isMasked)this.textSpans[g]=c;else this.textSpans[g]=d;this.textSpans[g].style.display="block",this.textPaths[g]=d,g+=1}while(g<this.textSpans.length)this.textSpans[g].style.display="none",g+=1},HTextElement.prototype.renderInnerContent=function(){this.validateText();var a;if(this.data.singleShape){if(!this._isFirstFrame&&!this.lettersChangedFlag)return;if(this.isMasked&&this.finalTransform._matMdf){this.svgElement.setAttribute("viewBox",-this.finalTransform.mProp.p.v[0]+" "+-this.finalTransform.mProp.p.v[1]+" "+this.compW+" "+this.compH),a=this.svgElement.style;var e="translate("+-this.finalTransform.mProp.p.v[0]+"px,"+-this.finalTransform.mProp.p.v[1]+"px)";a.transform=e,a.webkitTransform=e}}if(this.textAnimator.getMeasures(this.textProperty.currentData,this.lettersChangedFlag),!this.lettersChangedFlag&&!this.textAnimator.lettersChangedFlag)return;var i,r,n=0,t=this.textAnimator.renderedLetters,l=this.textProperty.currentData.l;r=l.length;var o,s,d;for(i=0;i<r;i+=1)if(l[i].n)n+=1;else{if(s=this.textSpans[i],d=this.textPaths[i],o=t[n],n+=1,o._mdf.m)if(!this.isMasked)s.style.webkitTransform=o.m,s.style.transform=o.m;else s.setAttribute("transform",o.m);if(s.style.opacity=o.o,o.sw&&o._mdf.sw)d.setAttribute("stroke-width",o.sw);if(o.sc&&o._mdf.sc)d.setAttribute("stroke",o.sc);if(o.fc&&o._mdf.fc)d.setAttribute("fill",o.fc),d.style.color=o.fc}if(this.innerElem.getBBox&&!this.hidden&&(this._isFirstFrame||this._mdf)){var c=this.innerElem.getBBox();if(this.currentBBox.w!==c.width)this.currentBBox.w=c.width,this.svgElement.setAttribute("width",c.width);if(this.currentBBox.h!==c.height)this.currentBBox.h=c.height,this.svgElement.setAttribute("height",c.height);var m=1;if(this.currentBBox.w!==c.width+m*2||this.currentBBox.h!==c.height+m*2||this.currentBBox.x!==c.x-m||this.currentBBox.y!==c.y-m){this.currentBBox.w=c.width+m*2,this.currentBBox.h=c.height+m*2,this.currentBBox.x=c.x-m,this.currentBBox.y=c.y-m,this.svgElement.setAttribute("viewBox",this.currentBBox.x+" "+this.currentBBox.y+" "+this.currentBBox.w+" "+this.currentBBox.h),a=this.svgElement.style;var h="translate("+this.currentBBox.x+"px,"+this.currentBBox.y+"px)";a.transform=h,a.webkitTransform=h}}};function HCameraElement(a,e,i){this.initFrame(),this.initBaseData(a,e,i),this.initHierarchy();var r=PropertyFactory.getProp;if(this.pe=r(this,a.pe,0,0,this),a.ks.p.s)this.px=r(this,a.ks.p.x,1,0,this),this.py=r(this,a.ks.p.y,1,0,this),this.pz=r(this,a.ks.p.z,1,0,this);else this.p=r(this,a.ks.p,1,0,this);if(a.ks.a)this.a=r(this,a.ks.a,1,0,this);if(a.ks.or.k.length&&a.ks.or.k[0].to){var n,t=a.ks.or.k.length;for(n=0;n<t;n+=1)a.ks.or.k[n].to=null,a.ks.or.k[n].ti=null}this.or=r(this,a.ks.or,1,degToRads,this),this.or.sh=!0,this.rx=r(this,a.ks.rx,0,degToRads,this),this.ry=r(this,a.ks.ry,0,degToRads,this),this.rz=r(this,a.ks.rz,0,degToRads,this),this.mat=new Matrix,this._prevMat=new Matrix,this._isFirstFrame=!0,this.finalTransform={mProp:this}}extendPrototype([BaseElement,FrameElement,HierarchyElement],HCameraElement),HCameraElement.prototype.setup=function(){var a,e=this.comp.threeDElements.length,i,r,n;for(a=0;a<e;a+=1)if(i=this.comp.threeDElements[a],i.type==="3d"){r=i.perspectiveElem.style,n=i.container.style;var t=this.pe.v+"px",l="0px 0px 0px",o="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";r.perspective=t,r.webkitPerspective=t,n.transformOrigin=l,n.mozTransformOrigin=l,n.webkitTransformOrigin=l,r.transform=o,r.webkitTransform=o}},HCameraElement.prototype.createElements=function(){},HCameraElement.prototype.hide=function(){},HCameraElement.prototype.renderFrame=function(){var a=this._isFirstFrame,e,i;if(this.hierarchy){i=this.hierarchy.length;for(e=0;e<i;e+=1)a=this.hierarchy[e].finalTransform.mProp._mdf||a}if(a||this.pe._mdf||this.p&&this.p._mdf||this.px&&(this.px._mdf||this.py._mdf||this.pz._mdf)||this.rx._mdf||this.ry._mdf||this.rz._mdf||this.or._mdf||this.a&&this.a._mdf){if(this.mat.reset(),this.hierarchy){i=this.hierarchy.length-1;for(e=i;e>=0;e-=1){var r=this.hierarchy[e].finalTransform.mProp;this.mat.translate(-r.p.v[0],-r.p.v[1],r.p.v[2]),this.mat.rotateX(-r.or.v[0]).rotateY(-r.or.v[1]).rotateZ(r.or.v[2]),this.mat.rotateX(-r.rx.v).rotateY(-r.ry.v).rotateZ(r.rz.v),this.mat.scale(1/r.s.v[0],1/r.s.v[1],1/r.s.v[2]),this.mat.translate(r.a.v[0],r.a.v[1],r.a.v[2])}}if(this.p)this.mat.translate(-this.p.v[0],-this.p.v[1],this.p.v[2]);else this.mat.translate(-this.px.v,-this.py.v,this.pz.v);if(this.a){var n;if(this.p)n=[this.p.v[0]-this.a.v[0],this.p.v[1]-this.a.v[1],this.p.v[2]-this.a.v[2]];else n=[this.px.v-this.a.v[0],this.py.v-this.a.v[1],this.pz.v-this.a.v[2]];var t=Math.sqrt(Math.pow(n[0],2)+Math.pow(n[1],2)+Math.pow(n[2],2)),l=[n[0]/t,n[1]/t,n[2]/t],o=Math.sqrt(l[2]*l[2]+l[0]*l[0]),s=Math.atan2(l[1],o),d=Math.atan2(l[0],-l[2]);this.mat.rotateY(d).rotateX(-s)}this.mat.rotateX(-this.rx.v).rotateY(-this.ry.v).rotateZ(this.rz.v),this.mat.rotateX(-this.or.v[0]).rotateY(-this.or.v[1]).rotateZ(this.or.v[2]),this.mat.translate(this.globalData.compSize.w/2,this.globalData.compSize.h/2,0),this.mat.translate(0,0,this.pe.v);var c=!this._prevMat.equals(this.mat);if((c||this.pe._mdf)&&this.comp.threeDElements){i=this.comp.threeDElements.length;var m,h,f;for(e=0;e<i;e+=1)if(m=this.comp.threeDElements[e],m.type==="3d"){if(c){var v=this.mat.toCSS();f=m.container.style,f.transform=v,f.webkitTransform=v}if(this.pe._mdf)h=m.perspectiveElem.style,h.perspective=this.pe.v+"px",h.webkitPerspective=this.pe.v+"px"}this.mat.clone(this._prevMat)}}this._isFirstFrame=!1},HCameraElement.prototype.prepareFrame=function(a){this.prepareProperties(a,!0)},HCameraElement.prototype.destroy=function(){},HCameraElement.prototype.getBaseElement=function(){return null};function HImageElement(a,e,i){this.assetData=e.getAssetData(a.refId),this.initElement(a,e,i)}extendPrototype([BaseElement,TransformElement,HBaseElement,HSolidElement,HierarchyElement,FrameElement,RenderableElement],HImageElement),HImageElement.prototype.createContent=function(){var a=this.globalData.getAssetsPath(this.assetData),e=new Image;if(this.data.hasMask)this.imageElem=createNS("image"),this.imageElem.setAttribute("width",this.assetData.w+"px"),this.imageElem.setAttribute("height",this.assetData.h+"px"),this.imageElem.setAttributeNS("http://www.w3.org/1999/xlink","href",a),this.layerElement.appendChild(this.imageElem),this.baseElement.setAttribute("width",this.assetData.w),this.baseElement.setAttribute("height",this.assetData.h);else this.layerElement.appendChild(e);if(e.crossOrigin="anonymous",e.src=a,this.data.ln)this.baseElement.setAttribute("id",this.data.ln)};function HybridRendererBase(a,e){this.animationItem=a,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:e&&e.className||"",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(e&&e.hideOnTransparent===!1),filterSize:{width:e&&e.filterSize&&e.filterSize.width||"400%",height:e&&e.filterSize&&e.filterSize.height||"400%",x:e&&e.filterSize&&e.filterSize.x||"-100%",y:e&&e.filterSize&&e.filterSize.y||"-100%"}},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}extendPrototype([BaseRenderer],HybridRendererBase),HybridRendererBase.prototype.buildItem=SVGRenderer.prototype.buildItem,HybridRendererBase.prototype.checkPendingElements=function(){while(this.pendingElements.length){var a=this.pendingElements.pop();a.checkParenting()}},HybridRendererBase.prototype.appendElementInPos=function(a,e){var i=a.getBaseElement();if(!i)return;var r=this.layers[e];if(!r.ddd||!this.supports3d)if(this.threeDElements)this.addTo3dContainer(i,e);else{var n=0,t,l,o;while(n<e){if(this.elements[n]&&this.elements[n]!==!0&&this.elements[n].getBaseElement)l=this.elements[n],o=this.layers[n].ddd?this.getThreeDContainerByPos(n):l.getBaseElement(),t=o||t;n+=1}if(t){if(!r.ddd||!this.supports3d)this.layerElement.insertBefore(i,t)}else if(!r.ddd||!this.supports3d)this.layerElement.appendChild(i)}else this.addTo3dContainer(i,e)},HybridRendererBase.prototype.createShape=function(a){if(!this.supports3d)return new SVGShapeElement(a,this.globalData,this);return new HShapeElement(a,this.globalData,this)},HybridRendererBase.prototype.createText=function(a){if(!this.supports3d)return new SVGTextLottieElement(a,this.globalData,this);return new HTextElement(a,this.globalData,this)},HybridRendererBase.prototype.createCamera=function(a){return this.camera=new HCameraElement(a,this.globalData,this),this.camera},HybridRendererBase.prototype.createImage=function(a){if(!this.supports3d)return new IImageElement(a,this.globalData,this);return new HImageElement(a,this.globalData,this)},HybridRendererBase.prototype.createSolid=function(a){if(!this.supports3d)return new ISolidElement(a,this.globalData,this);return new HSolidElement(a,this.globalData,this)},HybridRendererBase.prototype.createNull=SVGRenderer.prototype.createNull,HybridRendererBase.prototype.getThreeDContainerByPos=function(a){var e=0,i=this.threeDElements.length;while(e<i){if(this.threeDElements[e].startPos<=a&&this.threeDElements[e].endPos>=a)return this.threeDElements[e].perspectiveElem;e+=1}return null},HybridRendererBase.prototype.createThreeDContainer=function(a,e){var i=createTag("div"),r,n;styleDiv(i);var t=createTag("div");if(styleDiv(t),e==="3d"){r=i.style,r.width=this.globalData.compSize.w+"px",r.height=this.globalData.compSize.h+"px";var l="50% 50%";r.webkitTransformOrigin=l,r.mozTransformOrigin=l,r.transformOrigin=l,n=t.style;var o="matrix3d(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)";n.transform=o,n.webkitTransform=o}i.appendChild(t);var s={container:t,perspectiveElem:i,startPos:a,endPos:a,type:e};return this.threeDElements.push(s),s},HybridRendererBase.prototype.build3dContainers=function(){var a,e=this.layers.length,i,r="";for(a=0;a<e;a+=1)if(this.layers[a].ddd&&this.layers[a].ty!==3){if(r!=="3d")r="3d",i=this.createThreeDContainer(a,"3d");i.endPos=Math.max(i.endPos,a)}else{if(r!=="2d")r="2d",i=this.createThreeDContainer(a,"2d");i.endPos=Math.max(i.endPos,a)}e=this.threeDElements.length;for(a=e-1;a>=0;a-=1)this.resizerElem.appendChild(this.threeDElements[a].perspectiveElem)},HybridRendererBase.prototype.addTo3dContainer=function(a,e){var i=0,r=this.threeDElements.length;while(i<r){if(e<=this.threeDElements[i].endPos){var n=this.threeDElements[i].startPos,t;while(n<e){if(this.elements[n]&&this.elements[n].getBaseElement)t=this.elements[n].getBaseElement();n+=1}if(t)this.threeDElements[i].container.insertBefore(a,t);else this.threeDElements[i].container.appendChild(a);break}i+=1}},HybridRendererBase.prototype.configAnimation=function(a){var e=createTag("div"),i=this.animationItem.wrapper,r=e.style;if(r.width=a.w+"px",r.height=a.h+"px",this.resizerElem=e,styleDiv(e),r.transformStyle="flat",r.mozTransformStyle="flat",r.webkitTransformStyle="flat",this.renderConfig.className)e.setAttribute("class",this.renderConfig.className);i.appendChild(e),r.overflow="hidden";var n=createNS("svg");n.setAttribute("width","1"),n.setAttribute("height","1"),styleDiv(n),this.resizerElem.appendChild(n);var t=createNS("defs");n.appendChild(t),this.data=a,this.setupGlobalData(a,n),this.globalData.defs=t,this.layers=a.layers,this.layerElement=this.resizerElem,this.build3dContainers(),this.updateContainerSize()},HybridRendererBase.prototype.destroy=function(){if(this.animationItem.wrapper)this.animationItem.wrapper.innerText="";this.animationItem.container=null,this.globalData.defs=null;var a,e=this.layers?this.layers.length:0;for(a=0;a<e;a+=1)if(this.elements[a]&&this.elements[a].destroy)this.elements[a].destroy();this.elements.length=0,this.destroyed=!0,this.animationItem=null},HybridRendererBase.prototype.updateContainerSize=function(){var a=this.animationItem.wrapper.offsetWidth,e=this.animationItem.wrapper.offsetHeight,i=a/e,r=this.globalData.compSize.w/this.globalData.compSize.h,n,t,l,o;if(r>i)n=a/this.globalData.compSize.w,t=a/this.globalData.compSize.w,l=0,o=(e-this.globalData.compSize.h*(a/this.globalData.compSize.w))/2;else n=e/this.globalData.compSize.h,t=e/this.globalData.compSize.h,l=(a-this.globalData.compSize.w*(e/this.globalData.compSize.h))/2,o=0;var s=this.resizerElem.style;s.webkitTransform="matrix3d("+n+",0,0,0,0,"+t+",0,0,0,0,1,0,"+l+","+o+",0,1)",s.transform=s.webkitTransform},HybridRendererBase.prototype.renderFrame=SVGRenderer.prototype.renderFrame,HybridRendererBase.prototype.hide=function(){this.resizerElem.style.display="none"},HybridRendererBase.prototype.show=function(){this.resizerElem.style.display="block"},HybridRendererBase.prototype.initItems=function(){if(this.buildAllItems(),this.camera)this.camera.setup();else{var a=this.globalData.compSize.w,e=this.globalData.compSize.h,i,r=this.threeDElements.length;for(i=0;i<r;i+=1){var n=this.threeDElements[i].perspectiveElem.style;n.webkitPerspective=Math.sqrt(Math.pow(a,2)+Math.pow(e,2))+"px",n.perspective=n.webkitPerspective}}},HybridRendererBase.prototype.searchExtraCompositions=function(a){var e,i=a.length,r=createTag("div");for(e=0;e<i;e+=1)if(a[e].xt){var n=this.createComp(a[e],r,this.globalData.comp,null);n.initExpressions(),this.globalData.projectInterface.registerComposition(n)}};function HCompElement(a,e,i){this.layers=a.layers,this.supports3d=!a.hasMask,this.completeLayers=!1,this.pendingElements=[],this.elements=this.layers?createSizedArray(this.layers.length):[],this.initElement(a,e,i),this.tm=a.tm?PropertyFactory.getProp(this,a.tm,0,e.frameRate,this):{_placeholder:!0}}extendPrototype([HybridRendererBase,ICompElement,HBaseElement],HCompElement),HCompElement.prototype._createBaseContainerElements=HCompElement.prototype.createContainerElements,HCompElement.prototype.createContainerElements=function(){if(this._createBaseContainerElements(),this.data.hasMask)this.svgElement.setAttribute("width",this.data.w),this.svgElement.setAttribute("height",this.data.h),this.transformedElement=this.baseElement;else this.transformedElement=this.layerElement},HCompElement.prototype.addTo3dContainer=function(a,e){var i=0,r;while(i<e){if(this.elements[i]&&this.elements[i].getBaseElement)r=this.elements[i].getBaseElement();i+=1}if(r)this.layerElement.insertBefore(a,r);else this.layerElement.appendChild(a)},HCompElement.prototype.createComp=function(a){if(!this.supports3d)return new SVGCompElement(a,this.globalData,this);return new HCompElement(a,this.globalData,this)};function HybridRenderer(a,e){this.animationItem=a,this.layers=null,this.renderedFrame=-1,this.renderConfig={className:e&&e.className||"",imagePreserveAspectRatio:e&&e.imagePreserveAspectRatio||"xMidYMid slice",hideOnTransparent:!(e&&e.hideOnTransparent===!1),filterSize:{width:e&&e.filterSize&&e.filterSize.width||"400%",height:e&&e.filterSize&&e.filterSize.height||"400%",x:e&&e.filterSize&&e.filterSize.x||"-100%",y:e&&e.filterSize&&e.filterSize.y||"-100%"},runExpressions:!e||e.runExpressions===void 0||e.runExpressions},this.globalData={_mdf:!1,frameNum:-1,renderConfig:this.renderConfig},this.pendingElements=[],this.elements=[],this.threeDElements=[],this.destroyed=!1,this.camera=null,this.supports3d=!0,this.rendererType="html"}extendPrototype([HybridRendererBase],HybridRenderer),HybridRenderer.prototype.createComp=function(a){if(!this.supports3d)return new SVGCompElement(a,this.globalData,this);return new HCompElement(a,this.globalData,this)};var CompExpressionInterface=function(){return function(a){function e(i){var r=0,n=a.layers.length;while(r<n){if(a.layers[r].nm===i||a.layers[r].ind===i)return a.elements[r].layerInterface;r+=1}return null}return Object.defineProperty(e,"_name",{value:a.data.nm}),e.layer=e,e.pixelAspect=1,e.height=a.data.h||a.globalData.compSize.h,e.width=a.data.w||a.globalData.compSize.w,e.pixelAspect=1,e.frameDuration=1/a.globalData.frameRate,e.displayStartTime=0,e.numLayers=a.layers.length,e}}();function _typeof$2(a){return _typeof$2=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$2(a)}function seedRandom(a,e){var i=this,r=256,n=6,t=52,l="random",o=e.pow(r,n),s=e.pow(2,t),d=s*2,c=r-1,m;function h(w,b,y){var I=[];b=b===!0?{entropy:!0}:b||{};var O=x(g(b.entropy?[w,p(a)]:w===null?z():w,3),I),K=new f(I),j=function T(){var A=K.g(n),V=o,N=0;while(A<s)A=(A+N)*r,V*=r,N=K.g(1);while(A>=d)A/=2,V/=2,N>>>=1;return(A+N)/V};return j.int32=function(){return K.g(4)|0},j.quick=function(){return K.g(4)/4294967296},j.double=j,x(p(K.S),a),(b.pass||y||function(T,A,V,N){if(N){if(N.S)v(N,K);T.state=function(){return v(K,{})}}if(V)return e[l]=T,A;else return T})(j,O,"global"in b?b.global:this==e,b.state)}e["seed"+l]=h;function f(w){var b,y=w.length,I=this,O=0,K=I.i=I.j=0,j=I.S=[];if(!y)w=[y++];while(O<r)j[O]=O++;for(O=0;O<r;O++)j[O]=j[K=c&K+w[O%y]+(b=j[O])],j[K]=b;I.g=function(T){var A,V=0,N=I.i,G=I.j,D=I.S;while(T--)A=D[N=c&N+1],V=V*r+D[c&(D[N]=D[G=c&G+A])+(D[G]=A)];return I.i=N,I.j=G,V}}function v(w,b){return b.i=w.i,b.j=w.j,b.S=w.S.slice(),b}function g(w,b){var y=[],I=_typeof$2(w),O;if(b&&I=="object")for(O in w)try{y.push(g(w[O],b-1))}catch(K){}return y.length?y:I=="string"?w:w+"\x00"}function x(w,b){var y=w+"",I,O=0;while(O<y.length)b[c&O]=c&(I^=b[c&O]*19)+y.charCodeAt(O++);return p(b)}function z(){try{if(m)return p(m.randomBytes(r));var w=new Uint8Array(r);return(i.crypto||i.msCrypto).getRandomValues(w),p(w)}catch(I){var b=i.navigator,y=b&&b.plugins;return[+new Date,i,y,i.screen,p(a)]}}function p(w){return String.fromCharCode.apply(0,w)}x(e.random(),a)}function initialize$2(a){seedRandom([],a)}var propTypes={SHAPE:"shape"};function _typeof$1(a){return _typeof$1=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof$1(a)}var ExpressionManager=function(){var ob={},Math=BMMath,window=null,document=null,XMLHttpRequest=null,fetch=null,frames=null,_lottieGlobal={};initialize$2(BMMath);function resetFrame(){_lottieGlobal={}}function $bm_isInstanceOfArray(a){return a.constructor===Array||a.constructor===Float32Array}function isNumerable(a,e){return a==="number"||e instanceof Number||a==="boolean"||a==="string"}function $bm_neg(a){var e=_typeof$1(a);if(e==="number"||a instanceof Number||e==="boolean")return-a;if($bm_isInstanceOfArray(a)){var i,r=a.length,n=[];for(i=0;i<r;i+=1)n[i]=-a[i];return n}if(a.propType)return a.v;return-a}var easeInBez=BezierFactory.getBezierEasing(0.333,0,0.833,0.833,"easeIn").get,easeOutBez=BezierFactory.getBezierEasing(0.167,0.167,0.667,1,"easeOut").get,easeInOutBez=BezierFactory.getBezierEasing(0.33,0,0.667,1,"easeInOut").get;function sum(a,e){var i=_typeof$1(a),r=_typeof$1(e);if(isNumerable(i,a)&&isNumerable(r,e)||i==="string"||r==="string")return a+e;if($bm_isInstanceOfArray(a)&&isNumerable(r,e))return a=a.slice(0),a[0]+=e,a;if(isNumerable(i,a)&&$bm_isInstanceOfArray(e))return e=e.slice(0),e[0]=a+e[0],e;if($bm_isInstanceOfArray(a)&&$bm_isInstanceOfArray(e)){var n=0,t=a.length,l=e.length,o=[];while(n<t||n<l){if((typeof a[n]==="number"||a[n]instanceof Number)&&(typeof e[n]==="number"||e[n]instanceof Number))o[n]=a[n]+e[n];else o[n]=e[n]===void 0?a[n]:a[n]||e[n];n+=1}return o}return 0}var add=sum;function sub(a,e){var i=_typeof$1(a),r=_typeof$1(e);if(isNumerable(i,a)&&isNumerable(r,e)){if(i==="string")a=parseInt(a,10);if(r==="string")e=parseInt(e,10);return a-e}if($bm_isInstanceOfArray(a)&&isNumerable(r,e))return a=a.slice(0),a[0]-=e,a;if(isNumerable(i,a)&&$bm_isInstanceOfArray(e))return e=e.slice(0),e[0]=a-e[0],e;if($bm_isInstanceOfArray(a)&&$bm_isInstanceOfArray(e)){var n=0,t=a.length,l=e.length,o=[];while(n<t||n<l){if((typeof a[n]==="number"||a[n]instanceof Number)&&(typeof e[n]==="number"||e[n]instanceof Number))o[n]=a[n]-e[n];else o[n]=e[n]===void 0?a[n]:a[n]||e[n];n+=1}return o}return 0}function mul(a,e){var i=_typeof$1(a),r=_typeof$1(e),n;if(isNumerable(i,a)&&isNumerable(r,e))return a*e;var t,l;if($bm_isInstanceOfArray(a)&&isNumerable(r,e)){l=a.length,n=createTypedArray("float32",l);for(t=0;t<l;t+=1)n[t]=a[t]*e;return n}if(isNumerable(i,a)&&$bm_isInstanceOfArray(e)){l=e.length,n=createTypedArray("float32",l);for(t=0;t<l;t+=1)n[t]=a*e[t];return n}return 0}function div(a,e){var i=_typeof$1(a),r=_typeof$1(e),n;if(isNumerable(i,a)&&isNumerable(r,e))return a/e;var t,l;if($bm_isInstanceOfArray(a)&&isNumerable(r,e)){l=a.length,n=createTypedArray("float32",l);for(t=0;t<l;t+=1)n[t]=a[t]/e;return n}if(isNumerable(i,a)&&$bm_isInstanceOfArray(e)){l=e.length,n=createTypedArray("float32",l);for(t=0;t<l;t+=1)n[t]=a/e[t];return n}return 0}function mod(a,e){if(typeof a==="string")a=parseInt(a,10);if(typeof e==="string")e=parseInt(e,10);return a%e}var $bm_sum=sum,$bm_sub=sub,$bm_mul=mul,$bm_div=div,$bm_mod=mod;function clamp(a,e,i){if(e>i){var r=i;i=e,e=r}return Math.min(Math.max(a,e),i)}function radiansToDegrees(a){return a/degToRads}var radians_to_degrees=radiansToDegrees;function degreesToRadians(a){return a*degToRads}var degrees_to_radians=radiansToDegrees,helperLengthArray=[0,0,0,0,0,0];function length(a,e){if(typeof a==="number"||a instanceof Number)return e=e||0,Math.abs(a-e);if(!e)e=helperLengthArray;var i,r=Math.min(a.length,e.length),n=0;for(i=0;i<r;i+=1)n+=Math.pow(e[i]-a[i],2);return Math.sqrt(n)}function normalize(a){return div(a,length(a))}function rgbToHsl(a){var e=a[0],i=a[1],r=a[2],n=Math.max(e,i,r),t=Math.min(e,i,r),l,o,s=(n+t)/2;if(n===t)l=0,o=0;else{var d=n-t;switch(o=s>0.5?d/(2-n-t):d/(n+t),n){case e:l=(i-r)/d+(i<r?6:0);break;case i:l=(r-e)/d+2;break;case r:l=(e-i)/d+4;break;default:break}l/=6}return[l,o,s,a[3]]}function hue2rgb(a,e,i){if(i<0)i+=1;if(i>1)i-=1;if(i<0.16666666666666666)return a+(e-a)*6*i;if(i<0.5)return e;if(i<0.6666666666666666)return a+(e-a)*(0.6666666666666666-i)*6;return a}function hslToRgb(a){var e=a[0],i=a[1],r=a[2],n,t,l;if(i===0)n=r,l=r,t=r;else{var o=r<0.5?r*(1+i):r+i-r*i,s=2*r-o;n=hue2rgb(s,o,e+0.3333333333333333),t=hue2rgb(s,o,e),l=hue2rgb(s,o,e-0.3333333333333333)}return[n,t,l,a[3]]}function linear(a,e,i,r,n){if(r===void 0||n===void 0)r=e,n=i,e=0,i=1;if(i<e){var t=i;i=e,e=t}if(a<=e)return r;if(a>=i)return n;var l=i===e?0:(a-e)/(i-e);if(!r.length)return r+(n-r)*l;var o,s=r.length,d=createTypedArray("float32",s);for(o=0;o<s;o+=1)d[o]=r[o]+(n[o]-r[o])*l;return d}function random(a,e){if(e===void 0)if(a===void 0)a=0,e=1;else e=a,a=void 0;if(e.length){var i,r=e.length;if(!a)a=createTypedArray("float32",r);var n=createTypedArray("float32",r),t=BMMath.random();for(i=0;i<r;i+=1)n[i]=a[i]+t*(e[i]-a[i]);return n}if(a===void 0)a=0;var l=BMMath.random();return a+l*(e-a)}function createPath(a,e,i,r){var n,t=a.length,l=shapePool.newElement();l.setPathData(!!r,t);var o=[0,0],s,d;for(n=0;n<t;n+=1)s=e&&e[n]?e[n]:o,d=i&&i[n]?i[n]:o,l.setTripleAt(a[n][0],a[n][1],d[0]+a[n][0],d[1]+a[n][1],s[0]+a[n][0],s[1]+a[n][1],n,!0);return l}function initiateExpression(elem,data,property){function noOp(a){return a}if(!elem.globalData.renderConfig.runExpressions)return noOp;var val=data.x,needsVelocity=/velocity(?![\w\d])/.test(val),_needsRandom=val.indexOf("random")!==-1,elemType=elem.data.ty,transform,$bm_transform,content,effect,thisProperty=property;thisProperty._name=elem.data.nm,thisProperty.valueAtTime=thisProperty.getValueAtTime,Object.defineProperty(thisProperty,"value",{get:function a(){return thisProperty.v}}),elem.comp.frameDuration=1/elem.comp.globalData.frameRate,elem.comp.displayStartTime=0;var inPoint=elem.data.ip/elem.comp.globalData.frameRate,outPoint=elem.data.op/elem.comp.globalData.frameRate,width=elem.data.sw?elem.data.sw:0,height=elem.data.sh?elem.data.sh:0,name=elem.data.nm,loopIn,loop_in,loopOut,loop_out,smooth,toWorld,fromWorld,fromComp,toComp,fromCompToSurface,position,rotation,anchorPoint,scale,thisLayer,thisComp,mask,valueAtTime,velocityAtTime,scoped_bm_rt,expression_function=eval("[function _expression_function(){"+val+";scoped_bm_rt=$bm_rt}]")[0],numKeys=property.kf?data.k.length:0,active=!this.data||this.data.hd!==!0,wiggle=function a(e,i){var r,n,t=this.pv.length?this.pv.length:1,l=createTypedArray("float32",t);e=5;var o=Math.floor(time*e);r=0,n=0;while(r<o){for(n=0;n<t;n+=1)l[n]+=-i+i*2*BMMath.random();r+=1}var s=time*e,d=s-Math.floor(s),c=createTypedArray("float32",t);if(t>1){for(n=0;n<t;n+=1)c[n]=this.pv[n]+l[n]+(-i+i*2*BMMath.random())*d;return c}return this.pv+l[0]+(-i+i*2*BMMath.random())*d}.bind(this);if(thisProperty.loopIn)loopIn=thisProperty.loopIn.bind(thisProperty),loop_in=loopIn;if(thisProperty.loopOut)loopOut=thisProperty.loopOut.bind(thisProperty),loop_out=loopOut;if(thisProperty.smooth)smooth=thisProperty.smooth.bind(thisProperty);function loopInDuration(a,e){return loopIn(a,e,!0)}function loopOutDuration(a,e){return loopOut(a,e,!0)}if(this.getValueAtTime)valueAtTime=this.getValueAtTime.bind(this);if(this.getVelocityAtTime)velocityAtTime=this.getVelocityAtTime.bind(this);var comp=elem.comp.globalData.projectInterface.bind(elem.comp.globalData.projectInterface);function lookAt(a,e){var i=[e[0]-a[0],e[1]-a[1],e[2]-a[2]],r=Math.atan2(i[0],Math.sqrt(i[1]*i[1]+i[2]*i[2]))/degToRads,n=-Math.atan2(i[1],i[2])/degToRads;return[n,r,0]}function easeOut(a,e,i,r,n){return applyEase(easeOutBez,a,e,i,r,n)}function easeIn(a,e,i,r,n){return applyEase(easeInBez,a,e,i,r,n)}function ease(a,e,i,r,n){return applyEase(easeInOutBez,a,e,i,r,n)}function applyEase(a,e,i,r,n,t){if(n===void 0)n=i,t=r;else e=(e-i)/(r-i);if(e>1)e=1;else if(e<0)e=0;var l=a(e);if($bm_isInstanceOfArray(n)){var o,s=n.length,d=createTypedArray("float32",s);for(o=0;o<s;o+=1)d[o]=(t[o]-n[o])*l+n[o];return d}return(t-n)*l+n}function nearestKey(a){var e,i=data.k.length,r,n;if(!data.k.length||typeof data.k[0]==="number")r=0,n=0;else if(r=-1,a*=elem.comp.globalData.frameRate,a<data.k[0].t)r=1,n=data.k[0].t;else{for(e=0;e<i-1;e+=1)if(a===data.k[e].t){r=e+1,n=data.k[e].t;break}else if(a>data.k[e].t&&a<data.k[e+1].t){if(a-data.k[e].t>data.k[e+1].t-a)r=e+2,n=data.k[e+1].t;else r=e+1,n=data.k[e].t;break}if(r===-1)r=e+1,n=data.k[e].t}var t={};return t.index=r,t.time=n/elem.comp.globalData.frameRate,t}function key(a){var e,i,r;if(!data.k.length||typeof data.k[0]==="number")throw new Error("The property has no keyframe at index "+a);a-=1,e={time:data.k[a].t/elem.comp.globalData.frameRate,value:[]};var n=Object.prototype.hasOwnProperty.call(data.k[a],"s")?data.k[a].s:data.k[a-1].e;r=n.length;for(i=0;i<r;i+=1)e[i]=n[i],e.value[i]=n[i];return e}function framesToTime(a,e){if(!e)e=elem.comp.globalData.frameRate;return a/e}function timeToFrames(a,e){if(!a&&a!==0)a=time;if(!e)e=elem.comp.globalData.frameRate;return a*e}function seedRandom(a){BMMath.seedrandom(randSeed+a)}function sourceRectAtTime(){return elem.sourceRectAtTime()}function substring(a,e){if(typeof value==="string"){if(e===void 0)return value.substring(a);return value.substring(a,e)}return""}function substr(a,e){if(typeof value==="string"){if(e===void 0)return value.substr(a);return value.substr(a,e)}return""}function posterizeTime(a){time=a===0?0:Math.floor(time*a)/a,value=valueAtTime(time)}var time,velocity,value,text,textIndex,textTotal,selectorValue,index=elem.data.ind,hasParent=!!(elem.hierarchy&&elem.hierarchy.length),parent,randSeed=Math.floor(Math.random()*1e6),globalData=elem.globalData;function executeExpression(a){if(value=a,this.frameExpressionId===elem.globalData.frameId&&this.propType!=="textSelector")return value;if(this.propType==="textSelector")textIndex=this.textIndex,textTotal=this.textTotal,selectorValue=this.selectorValue;if(!thisLayer)text=elem.layerInterface.text,thisLayer=elem.layerInterface,thisComp=elem.comp.compInterface,toWorld=thisLayer.toWorld.bind(thisLayer),fromWorld=thisLayer.fromWorld.bind(thisLayer),fromComp=thisLayer.fromComp.bind(thisLayer),toComp=thisLayer.toComp.bind(thisLayer),mask=thisLayer.mask?thisLayer.mask.bind(thisLayer):null,fromCompToSurface=fromComp;if(!transform){if(transform=elem.layerInterface("ADBE Transform Group"),$bm_transform=transform,transform)anchorPoint=transform.anchorPoint}if(elemType===4&&!content)content=thisLayer("ADBE Root Vectors Group");if(!effect)effect=thisLayer(4);if(hasParent=!!(elem.hierarchy&&elem.hierarchy.length),hasParent&&!parent)parent=elem.hierarchy[0].layerInterface;if(time=this.comp.renderedFrame/this.comp.globalData.frameRate,_needsRandom)seedRandom(randSeed+time);if(needsVelocity)velocity=velocityAtTime(time);return expression_function(),this.frameExpressionId=elem.globalData.frameId,scoped_bm_rt=scoped_bm_rt.propType===propTypes.SHAPE?scoped_bm_rt.v:scoped_bm_rt,scoped_bm_rt}return executeExpression.__preventDeadCodeRemoval=[$bm_transform,anchorPoint,time,velocity,inPoint,outPoint,width,height,name,loop_in,loop_out,smooth,toComp,fromCompToSurface,toWorld,fromWorld,mask,position,rotation,scale,thisComp,numKeys,active,wiggle,loopInDuration,loopOutDuration,comp,lookAt,easeOut,easeIn,ease,nearestKey,key,text,textIndex,textTotal,selectorValue,framesToTime,timeToFrames,sourceRectAtTime,substring,substr,posterizeTime,index,globalData],executeExpression}return ob.initiateExpression=initiateExpression,ob.__preventDeadCodeRemoval=[window,document,XMLHttpRequest,fetch,frames,$bm_neg,add,$bm_sum,$bm_sub,$bm_mul,$bm_div,$bm_mod,clamp,radians_to_degrees,degreesToRadians,degrees_to_radians,normalize,rgbToHsl,hslToRgb,linear,random,createPath,_lottieGlobal],ob.resetFrame=resetFrame,ob}(),Expressions=function(){var a={};a.initExpressions=e,a.resetFrame=ExpressionManager.resetFrame;function e(i){var r=0,n=[];function t(){r+=1}function l(){if(r-=1,r===0)s()}function o(d){if(n.indexOf(d)===-1)n.push(d)}function s(){var d,c=n.length;for(d=0;d<c;d+=1)n[d].release();n.length=0}i.renderer.compInterface=CompExpressionInterface(i.renderer),i.renderer.globalData.projectInterface.registerComposition(i.renderer),i.renderer.globalData.pushExpression=t,i.renderer.globalData.popExpression=l,i.renderer.globalData.registerExpressionProperty=o}return a}(),MaskManagerInterface=function(){function a(i,r){this._mask=i,this._data=r}Object.defineProperty(a.prototype,"maskPath",{get:function i(){if(this._mask.prop.k)this._mask.prop.getValue();return this._mask.prop}}),Object.defineProperty(a.prototype,"maskOpacity",{get:function i(){if(this._mask.op.k)this._mask.op.getValue();return this._mask.op.v*100}});var e=function i(r){var n=createSizedArray(r.viewData.length),t,l=r.viewData.length;for(t=0;t<l;t+=1)n[t]=new a(r.viewData[t],r.masksProperties[t]);var o=function s(d){t=0;while(t<l){if(r.masksProperties[t].nm===d)return n[t];t+=1}return null};return o};return e}(),ExpressionPropertyInterface=function(){var a={pv:0,v:0,mult:1},e={pv:[0,0,0],v:[0,0,0],mult:1};function i(l,o,s){Object.defineProperty(l,"velocity",{get:function d(){return o.getVelocityAtTime(o.comp.currentFrame)}}),l.numKeys=o.keyframes?o.keyframes.length:0,l.key=function(d){if(!l.numKeys)return 0;var c="";if("s"in o.keyframes[d-1])c=o.keyframes[d-1].s;else if("e"in o.keyframes[d-2])c=o.keyframes[d-2].e;else c=o.keyframes[d-2].s;var m=s==="unidimensional"?new Number(c):Object.assign({},c);return m.time=o.keyframes[d-1].t/o.elem.comp.globalData.frameRate,m.value=s==="unidimensional"?c[0]:c,m},l.valueAtTime=o.getValueAtTime,l.speedAtTime=o.getSpeedAtTime,l.velocityAtTime=o.getVelocityAtTime,l.propertyGroup=o.propertyGroup}function r(l){if(!l||!("pv"in l))l=a;var o=1/l.mult,s=l.pv*o,d=new Number(s);return d.value=s,i(d,l,"unidimensional"),function(){if(l.k)l.getValue();if(s=l.v*o,d.value!==s)d=new Number(s),d.value=s,d[0]=s,i(d,l,"unidimensional");return d}}function n(l){if(!l||!("pv"in l))l=e;var o=1/l.mult,s=l.data&&l.data.l||l.pv.length,d=createTypedArray("float32",s),c=createTypedArray("float32",s);return d.value=c,i(d,l,"multidimensional"),function(){if(l.k)l.getValue();for(var m=0;m<s;m+=1)c[m]=l.v[m]*o,d[m]=c[m];return d}}function t(){return a}return function(l){if(!l)return t;if(l.propType==="unidimensional")return r(l);return n(l)}}(),TransformExpressionInterface=function(){return function(a){function e(l){switch(l){case"scale":case"Scale":case"ADBE Scale":case 6:return e.scale;case"rotation":case"Rotation":case"ADBE Rotation":case"ADBE Rotate Z":case 10:return e.rotation;case"ADBE Rotate X":return e.xRotation;case"ADBE Rotate Y":return e.yRotation;case"position":case"Position":case"ADBE Position":case 2:return e.position;case"ADBE Position_0":return e.xPosition;case"ADBE Position_1":return e.yPosition;case"ADBE Position_2":return e.zPosition;case"anchorPoint":case"AnchorPoint":case"Anchor Point":case"ADBE AnchorPoint":case 1:return e.anchorPoint;case"opacity":case"Opacity":case 11:return e.opacity;default:return null}}Object.defineProperty(e,"rotation",{get:ExpressionPropertyInterface(a.r||a.rz)}),Object.defineProperty(e,"zRotation",{get:ExpressionPropertyInterface(a.rz||a.r)}),Object.defineProperty(e,"xRotation",{get:ExpressionPropertyInterface(a.rx)}),Object.defineProperty(e,"yRotation",{get:ExpressionPropertyInterface(a.ry)}),Object.defineProperty(e,"scale",{get:ExpressionPropertyInterface(a.s)});var i,r,n,t;if(a.p)t=ExpressionPropertyInterface(a.p);else if(i=ExpressionPropertyInterface(a.px),r=ExpressionPropertyInterface(a.py),a.pz)n=ExpressionPropertyInterface(a.pz);return Object.defineProperty(e,"position",{get:function l(){if(a.p)return t();return[i(),r(),n?n():0]}}),Object.defineProperty(e,"xPosition",{get:ExpressionPropertyInterface(a.px)}),Object.defineProperty(e,"yPosition",{get:ExpressionPropertyInterface(a.py)}),Object.defineProperty(e,"zPosition",{get:ExpressionPropertyInterface(a.pz)}),Object.defineProperty(e,"anchorPoint",{get:ExpressionPropertyInterface(a.a)}),Object.defineProperty(e,"opacity",{get:ExpressionPropertyInterface(a.o)}),Object.defineProperty(e,"skew",{get:ExpressionPropertyInterface(a.sk)}),Object.defineProperty(e,"skewAxis",{get:ExpressionPropertyInterface(a.sa)}),Object.defineProperty(e,"orientation",{get:ExpressionPropertyInterface(a.or)}),e}}(),LayerExpressionInterface=function(){function a(d){var c=new Matrix;if(d!==void 0){var m=this._elem.finalTransform.mProp.getValueAtTime(d);m.clone(c)}else{var h=this._elem.finalTransform.mProp;h.applyToMatrix(c)}return c}function e(d,c){var m=this.getMatrix(c);return m.props[12]=0,m.props[13]=0,m.props[14]=0,this.applyPoint(m,d)}function i(d,c){var m=this.getMatrix(c);return this.applyPoint(m,d)}function r(d,c){var m=this.getMatrix(c);return m.props[12]=0,m.props[13]=0,m.props[14]=0,this.invertPoint(m,d)}function n(d,c){var m=this.getMatrix(c);return this.invertPoint(m,d)}function t(d,c){if(this._elem.hierarchy&&this._elem.hierarchy.length){var m,h=this._elem.hierarchy.length;for(m=0;m<h;m+=1)this._elem.hierarchy[m].finalTransform.mProp.applyToMatrix(d)}return d.applyToPointArray(c[0],c[1],c[2]||0)}function l(d,c){if(this._elem.hierarchy&&this._elem.hierarchy.length){var m,h=this._elem.hierarchy.length;for(m=0;m<h;m+=1)this._elem.hierarchy[m].finalTransform.mProp.applyToMatrix(d)}return d.inversePoint(c)}function o(d){var c=new Matrix;if(c.reset(),this._elem.finalTransform.mProp.applyToMatrix(c),this._elem.hierarchy&&this._elem.hierarchy.length){var m,h=this._elem.hierarchy.length;for(m=0;m<h;m+=1)this._elem.hierarchy[m].finalTransform.mProp.applyToMatrix(c);return c.inversePoint(d)}return c.inversePoint(d)}function s(){return[1,1,1,1]}return function(d){var c;function m(g){f.mask=new MaskManagerInterface(g,d)}function h(g){f.effect=g}function f(g){switch(g){case"ADBE Root Vectors Group":case"Contents":case 2:return f.shapeInterface;case 1:case 6:case"Transform":case"transform":case"ADBE Transform Group":return c;case 4:case"ADBE Effect Parade":case"effects":case"Effects":return f.effect;case"ADBE Text Properties":return f.textInterface;default:return null}}f.getMatrix=a,f.invertPoint=l,f.applyPoint=t,f.toWorld=i,f.toWorldVec=e,f.fromWorld=n,f.fromWorldVec=r,f.toComp=i,f.fromComp=o,f.sampleImage=s,f.sourceRectAtTime=d.sourceRectAtTime.bind(d),f._elem=d,c=TransformExpressionInterface(d.finalTransform.mProp);var v=getDescriptor(c,"anchorPoint");return Object.defineProperties(f,{hasParent:{get:function g(){return d.hierarchy.length}},parent:{get:function g(){return d.hierarchy[0].layerInterface}},rotation:getDescriptor(c,"rotation"),scale:getDescriptor(c,"scale"),position:getDescriptor(c,"position"),opacity:getDescriptor(c,"opacity"),anchorPoint:v,anchor_point:v,transform:{get:function g(){return c}},active:{get:function g(){return d.isInRange}}}),f.startTime=d.data.st,f.index=d.data.ind,f.source=d.data.refId,f.height=d.data.ty===0?d.data.h:100,f.width=d.data.ty===0?d.data.w:100,f.inPoint=d.data.ip/d.comp.globalData.frameRate,f.outPoint=d.data.op/d.comp.globalData.frameRate,f._name=d.data.nm,f.registerMaskInterface=m,f.registerEffectsInterface=h,f}}(),propertyGroupFactory=function(){return function(a,e){return function(i){if(i=i===void 0?1:i,i<=0)return a;return e(i-1)}}}(),PropertyInterface=function(){return function(a,e){var i={_name:a};function r(n){if(n=n===void 0?1:n,n<=0)return i;return e(n-1)}return r}}(),EffectsExpressionInterface=function(){var a={createEffectsInterface:e};function e(n,t){if(n.effectsManager){var l=[],o=n.data.ef,s,d=n.effectsManager.effectElements.length;for(s=0;s<d;s+=1)l.push(i(o[s],n.effectsManager.effectElements[s],t,n));var c=n.data.ef||[],m=function h(f){s=0,d=c.length;while(s<d){if(f===c[s].nm||f===c[s].mn||f===c[s].ix)return l[s];s+=1}return null};return Object.defineProperty(m,"numProperties",{get:function h(){return c.length}}),m}return null}function i(n,t,l,o){function s(f){var v=n.ef,g=0,x=v.length;while(g<x){if(f===v[g].nm||f===v[g].mn||f===v[g].ix){if(v[g].ty===5)return c[g];return c[g]()}g+=1}throw new Error}var d=propertyGroupFactory(s,l),c=[],m,h=n.ef.length;for(m=0;m<h;m+=1)if(n.ef[m].ty===5)c.push(i(n.ef[m],t.effectElements[m],t.effectElements[m].propertyGroup,o));else c.push(r(t.effectElements[m],n.ef[m].ty,o,d));if(n.mn==="ADBE Color Control")Object.defineProperty(s,"color",{get:function f(){return c[0]()}});return Object.defineProperties(s,{numProperties:{get:function f(){return n.np}},_name:{value:n.nm},propertyGroup:{value:d}}),s.enabled=n.en!==0,s.active=s.enabled,s}function r(n,t,l,o){var s=ExpressionPropertyInterface(n.p);function d(){if(t===10)return l.comp.compInterface(n.p.v);return s()}if(n.p.setGroupProperty)n.p.setGroupProperty(PropertyInterface("",o));return d}return a}(),ShapePathInterface=function(){return function a(e,i,r){var n=i.sh;function t(o){if(o==="Shape"||o==="shape"||o==="Path"||o==="path"||o==="ADBE Vector Shape"||o===2)return t.path;return null}var l=propertyGroupFactory(t,r);return n.setGroupProperty(PropertyInterface("Path",l)),Object.defineProperties(t,{path:{get:function o(){if(n.k)n.getValue();return n}},shape:{get:function o(){if(n.k)n.getValue();return n}},_name:{value:e.nm},ix:{value:e.ix},propertyIndex:{value:e.ix},mn:{value:e.mn},propertyGroup:{value:r}}),t}}(),ShapeExpressionInterface=function(){function a(v,g,x){var z=[],p,w=v?v.length:0;for(p=0;p<w;p+=1)if(v[p].ty==="gr")z.push(i(v[p],g[p],x));else if(v[p].ty==="fl")z.push(r(v[p],g[p],x));else if(v[p].ty==="st")z.push(l(v[p],g[p],x));else if(v[p].ty==="tm")z.push(o(v[p],g[p],x));else if(v[p].ty==="tr");else if(v[p].ty==="el")z.push(d(v[p],g[p],x));else if(v[p].ty==="sr")z.push(c(v[p],g[p],x));else if(v[p].ty==="sh")z.push(ShapePathInterface(v[p],g[p],x));else if(v[p].ty==="rc")z.push(m(v[p],g[p],x));else if(v[p].ty==="rd")z.push(h(v[p],g[p],x));else if(v[p].ty==="rp")z.push(f(v[p],g[p],x));else if(v[p].ty==="gf")z.push(n(v[p],g[p],x));else z.push(t(v[p],g[p],x));return z}function e(v,g,x){var z,p=function b(y){var I=0,O=z.length;while(I<O){if(z[I]._name===y||z[I].mn===y||z[I].propertyIndex===y||z[I].ix===y||z[I].ind===y)return z[I];I+=1}if(typeof y==="number")return z[y-1];return null};p.propertyGroup=propertyGroupFactory(p,x),z=a(v.it,g.it,p.propertyGroup),p.numProperties=z.length;var w=s(v.it[v.it.length-1],g.it[g.it.length-1],p.propertyGroup);return p.transform=w,p.propertyIndex=v.cix,p._name=v.nm,p}function i(v,g,x){var z=function b(y){switch(y){case"ADBE Vectors Group":case"Contents":case 2:return z.content;default:return z.transform}};z.propertyGroup=propertyGroupFactory(z,x);var p=e(v,g,z.propertyGroup),w=s(v.it[v.it.length-1],g.it[g.it.length-1],z.propertyGroup);return z.content=p,z.transform=w,Object.defineProperty(z,"_name",{get:function b(){return v.nm}}),z.numProperties=v.np,z.propertyIndex=v.ix,z.nm=v.nm,z.mn=v.mn,z}function r(v,g,x){function z(p){if(p==="Color"||p==="color")return z.color;if(p==="Opacity"||p==="opacity")return z.opacity;return null}return Object.defineProperties(z,{color:{get:ExpressionPropertyInterface(g.c)},opacity:{get:ExpressionPropertyInterface(g.o)},_name:{value:v.nm},mn:{value:v.mn}}),g.c.setGroupProperty(PropertyInterface("Color",x)),g.o.setGroupProperty(PropertyInterface("Opacity",x)),z}function n(v,g,x){function z(p){if(p==="Start Point"||p==="start point")return z.startPoint;if(p==="End Point"||p==="end point")return z.endPoint;if(p==="Opacity"||p==="opacity")return z.opacity;return null}return Object.defineProperties(z,{startPoint:{get:ExpressionPropertyInterface(g.s)},endPoint:{get:ExpressionPropertyInterface(g.e)},opacity:{get:ExpressionPropertyInterface(g.o)},type:{get:function p(){return"a"}},_name:{value:v.nm},mn:{value:v.mn}}),g.s.setGroupProperty(PropertyInterface("Start Point",x)),g.e.setGroupProperty(PropertyInterface("End Point",x)),g.o.setGroupProperty(PropertyInterface("Opacity",x)),z}function t(){function v(){return null}return v}function l(v,g,x){var z=propertyGroupFactory(O,x),p=propertyGroupFactory(I,z);function w(K){Object.defineProperty(I,v.d[K].nm,{get:ExpressionPropertyInterface(g.d.dataProps[K].p)})}var b,y=v.d?v.d.length:0,I={};for(b=0;b<y;b+=1)w(b),g.d.dataProps[b].p.setGroupProperty(p);function O(K){if(K==="Color"||K==="color")return O.color;if(K==="Opacity"||K==="opacity")return O.opacity;if(K==="Stroke Width"||K==="stroke width")return O.strokeWidth;return null}return Object.defineProperties(O,{color:{get:ExpressionPropertyInterface(g.c)},opacity:{get:ExpressionPropertyInterface(g.o)},strokeWidth:{get:ExpressionPropertyInterface(g.w)},dash:{get:function K(){return I}},_name:{value:v.nm},mn:{value:v.mn}}),g.c.setGroupProperty(PropertyInterface("Color",z)),g.o.setGroupProperty(PropertyInterface("Opacity",z)),g.w.setGroupProperty(PropertyInterface("Stroke Width",z)),O}function o(v,g,x){function z(w){if(w===v.e.ix||w==="End"||w==="end")return z.end;if(w===v.s.ix)return z.start;if(w===v.o.ix)return z.offset;return null}var p=propertyGroupFactory(z,x);return z.propertyIndex=v.ix,g.s.setGroupProperty(PropertyInterface("Start",p)),g.e.setGroupProperty(PropertyInterface("End",p)),g.o.setGroupProperty(PropertyInterface("Offset",p)),z.propertyIndex=v.ix,z.propertyGroup=x,Object.defineProperties(z,{start:{get:ExpressionPropertyInterface(g.s)},end:{get:ExpressionPropertyInterface(g.e)},offset:{get:ExpressionPropertyInterface(g.o)},_name:{value:v.nm}}),z.mn=v.mn,z}function s(v,g,x){function z(w){if(v.a.ix===w||w==="Anchor Point")return z.anchorPoint;if(v.o.ix===w||w==="Opacity")return z.opacity;if(v.p.ix===w||w==="Position")return z.position;if(v.r.ix===w||w==="Rotation"||w==="ADBE Vector Rotation")return z.rotation;if(v.s.ix===w||w==="Scale")return z.scale;if(v.sk&&v.sk.ix===w||w==="Skew")return z.skew;if(v.sa&&v.sa.ix===w||w==="Skew Axis")return z.skewAxis;return null}var p=propertyGroupFactory(z,x);if(g.transform.mProps.o.setGroupProperty(PropertyInterface("Opacity",p)),g.transform.mProps.p.setGroupProperty(PropertyInterface("Position",p)),g.transform.mProps.a.setGroupProperty(PropertyInterface("Anchor Point",p)),g.transform.mProps.s.setGroupProperty(PropertyInterface("Scale",p)),g.transform.mProps.r.setGroupProperty(PropertyInterface("Rotation",p)),g.transform.mProps.sk)g.transform.mProps.sk.setGroupProperty(PropertyInterface("Skew",p)),g.transform.mProps.sa.setGroupProperty(PropertyInterface("Skew Angle",p));return g.transform.op.setGroupProperty(PropertyInterface("Opacity",p)),Object.defineProperties(z,{opacity:{get:ExpressionPropertyInterface(g.transform.mProps.o)},position:{get:ExpressionPropertyInterface(g.transform.mProps.p)},anchorPoint:{get:ExpressionPropertyInterface(g.transform.mProps.a)},scale:{get:ExpressionPropertyInterface(g.transform.mProps.s)},rotation:{get:ExpressionPropertyInterface(g.transform.mProps.r)},skew:{get:ExpressionPropertyInterface(g.transform.mProps.sk)},skewAxis:{get:ExpressionPropertyInterface(g.transform.mProps.sa)},_name:{value:v.nm}}),z.ty="tr",z.mn=v.mn,z.propertyGroup=x,z}function d(v,g,x){function z(b){if(v.p.ix===b)return z.position;if(v.s.ix===b)return z.size;return null}var p=propertyGroupFactory(z,x);z.propertyIndex=v.ix;var w=g.sh.ty==="tm"?g.sh.prop:g.sh;return w.s.setGroupProperty(PropertyInterface("Size",p)),w.p.setGroupProperty(PropertyInterface("Position",p)),Object.defineProperties(z,{size:{get:ExpressionPropertyInterface(w.s)},position:{get:ExpressionPropertyInterface(w.p)},_name:{value:v.nm}}),z.mn=v.mn,z}function c(v,g,x){function z(b){if(v.p.ix===b)return z.position;if(v.r.ix===b)return z.rotation;if(v.pt.ix===b)return z.points;if(v.or.ix===b||b==="ADBE Vector Star Outer Radius")return z.outerRadius;if(v.os.ix===b)return z.outerRoundness;if(v.ir&&(v.ir.ix===b||b==="ADBE Vector Star Inner Radius"))return z.innerRadius;if(v.is&&v.is.ix===b)return z.innerRoundness;return null}var p=propertyGroupFactory(z,x),w=g.sh.ty==="tm"?g.sh.prop:g.sh;if(z.propertyIndex=v.ix,w.or.setGroupProperty(PropertyInterface("Outer Radius",p)),w.os.setGroupProperty(PropertyInterface("Outer Roundness",p)),w.pt.setGroupProperty(PropertyInterface("Points",p)),w.p.setGroupProperty(PropertyInterface("Position",p)),w.r.setGroupProperty(PropertyInterface("Rotation",p)),v.ir)w.ir.setGroupProperty(PropertyInterface("Inner Radius",p)),w.is.setGroupProperty(PropertyInterface("Inner Roundness",p));return Object.defineProperties(z,{position:{get:ExpressionPropertyInterface(w.p)},rotation:{get:ExpressionPropertyInterface(w.r)},points:{get:ExpressionPropertyInterface(w.pt)},outerRadius:{get:ExpressionPropertyInterface(w.or)},outerRoundness:{get:ExpressionPropertyInterface(w.os)},innerRadius:{get:ExpressionPropertyInterface(w.ir)},innerRoundness:{get:ExpressionPropertyInterface(w.is)},_name:{value:v.nm}}),z.mn=v.mn,z}function m(v,g,x){function z(b){if(v.p.ix===b)return z.position;if(v.r.ix===b)return z.roundness;if(v.s.ix===b||b==="Size"||b==="ADBE Vector Rect Size")return z.size;return null}var p=propertyGroupFactory(z,x),w=g.sh.ty==="tm"?g.sh.prop:g.sh;return z.propertyIndex=v.ix,w.p.setGroupProperty(PropertyInterface("Position",p)),w.s.setGroupProperty(PropertyInterface("Size",p)),w.r.setGroupProperty(PropertyInterface("Rotation",p)),Object.defineProperties(z,{position:{get:ExpressionPropertyInterface(w.p)},roundness:{get:ExpressionPropertyInterface(w.r)},size:{get:ExpressionPropertyInterface(w.s)},_name:{value:v.nm}}),z.mn=v.mn,z}function h(v,g,x){function z(b){if(v.r.ix===b||b==="Round Corners 1")return z.radius;return null}var p=propertyGroupFactory(z,x),w=g;return z.propertyIndex=v.ix,w.rd.setGroupProperty(PropertyInterface("Radius",p)),Object.defineProperties(z,{radius:{get:ExpressionPropertyInterface(w.rd)},_name:{value:v.nm}}),z.mn=v.mn,z}function f(v,g,x){function z(b){if(v.c.ix===b||b==="Copies")return z.copies;if(v.o.ix===b||b==="Offset")return z.offset;return null}var p=propertyGroupFactory(z,x),w=g;return z.propertyIndex=v.ix,w.c.setGroupProperty(PropertyInterface("Copies",p)),w.o.setGroupProperty(PropertyInterface("Offset",p)),Object.defineProperties(z,{copies:{get:ExpressionPropertyInterface(w.c)},offset:{get:ExpressionPropertyInterface(w.o)},_name:{value:v.nm}}),z.mn=v.mn,z}return function(v,g,x){var z;function p(b){if(typeof b==="number"){if(b=b===void 0?1:b,b===0)return x;return z[b-1]}var y=0,I=z.length;while(y<I){if(z[y]._name===b)return z[y];y+=1}return null}function w(){return x}return p.propertyGroup=propertyGroupFactory(p,w),z=a(v,g,p.propertyGroup),p.numProperties=z.length,p._name="Contents",p}}(),TextExpressionInterface=function(){return function(a){var e;function i(r){switch(r){case"ADBE Text Document":return i.sourceText;default:return null}}return Object.defineProperty(i,"sourceText",{get:function r(){a.textProperty.getValue();var n=a.textProperty.currentData.t;if(!e||n!==e.value)e=new String(n),e.value=n||new String(n),Object.defineProperty(e,"style",{get:function t(){return{fillColor:a.textProperty.currentData.fc}}});return e}}),i}}();function _typeof(a){return _typeof=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(e){return typeof e}:function(e){return e&&typeof Symbol=="function"&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},_typeof(a)}var FootageInterface=function(){var a=function i(r){var n="",t=r.getFootageData();function l(){return n="",t=r.getFootageData(),o}function o(s){if(t[s]){if(n=s,t=t[s],_typeof(t)==="object")return o;return t}var d=s.indexOf(n);if(d!==-1){var c=parseInt(s.substr(d+n.length),10);if(t=t[c],_typeof(t)==="object")return o;return t}return""}return l},e=function i(r){function n(t){if(t==="Outline")return n.outlineInterface();return null}return n._name="Outline",n.outlineInterface=a(r),n};return function(i){function r(n){if(n==="Data")return r.dataInterface;return null}return r._name="Data",r.dataInterface=e(i),r}}(),interfaces={layer:LayerExpressionInterface,effects:EffectsExpressionInterface,comp:CompExpressionInterface,shape:ShapeExpressionInterface,text:TextExpressionInterface,footage:FootageInterface};function getInterface(a){return interfaces[a]||null}var expressionHelpers=function(){function a(l,o,s){if(o.x)s.k=!0,s.x=!0,s.initiateExpression=ExpressionManager.initiateExpression,s.effectsSequence.push(s.initiateExpression(l,o,s).bind(s))}function e(l){if(l*=this.elem.globalData.frameRate,l-=this.offsetTime,l!==this._cachingAtTime.lastFrame)this._cachingAtTime.lastIndex=this._cachingAtTime.lastFrame<l?this._cachingAtTime.lastIndex:0,this._cachingAtTime.value=this.interpolateValue(l,this._cachingAtTime),this._cachingAtTime.lastFrame=l;return this._cachingAtTime.value}function i(l){var o=-0.01,s=this.getValueAtTime(l),d=this.getValueAtTime(l+o),c=0;if(s.length){var m;for(m=0;m<s.length;m+=1)c+=Math.pow(d[m]-s[m],2);c=Math.sqrt(c)*100}else c=0;return c}function r(l){if(this.vel!==void 0)return this.vel;var o=-0.001,s=this.getValueAtTime(l),d=this.getValueAtTime(l+o),c;if(s.length){c=createTypedArray("float32",s.length);var m;for(m=0;m<s.length;m+=1)c[m]=(d[m]-s[m])/o}else c=(d-s)/o;return c}function n(){return this.pv}function t(l){this.propertyGroup=l}return{searchExpressions:a,getSpeedAtTime:i,getVelocityAtTime:r,getValueAtTime:e,getStaticValueAtTime:n,setGroupProperty:t}}();function addPropertyDecorator(){function a(h,f,v){if(!this.k||!this.keyframes)return this.pv;h=h?h.toLowerCase():"";var g=this.comp.renderedFrame,x=this.keyframes,z=x[x.length-1].t;if(g<=z)return this.pv;var p,w;if(!v){if(!f||f>x.length-1)f=x.length-1;w=x[x.length-1-f].t,p=z-w}else{if(!f)p=Math.max(0,z-this.elem.data.ip);else p=Math.abs(z-this.elem.comp.globalData.frameRate*f);w=z-p}var b,y,I;if(h==="pingpong"){var O=Math.floor((g-w)/p);if(O%2!==0)return this.getValueAtTime((p-(g-w)%p+w)/this.comp.globalData.frameRate,0)}else if(h==="offset"){var K=this.getValueAtTime(w/this.comp.globalData.frameRate,0),j=this.getValueAtTime(z/this.comp.globalData.frameRate,0),T=this.getValueAtTime(((g-w)%p+w)/this.comp.globalData.frameRate,0),A=Math.floor((g-w)/p);if(this.pv.length){I=new Array(K.length),y=I.length;for(b=0;b<y;b+=1)I[b]=(j[b]-K[b])*A+T[b];return I}return(j-K)*A+T}else if(h==="continue"){var V=this.getValueAtTime(z/this.comp.globalData.frameRate,0),N=this.getValueAtTime((z-0.001)/this.comp.globalData.frameRate,0);if(this.pv.length){I=new Array(V.length),y=I.length;for(b=0;b<y;b+=1)I[b]=V[b]+(V[b]-N[b])*((g-z)/this.comp.globalData.frameRate)/0.0005;return I}return V+(V-N)*((g-z)/0.001)}return this.getValueAtTime(((g-w)%p+w)/this.comp.globalData.frameRate,0)}function e(h,f,v){if(!this.k)return this.pv;h=h?h.toLowerCase():"";var g=this.comp.renderedFrame,x=this.keyframes,z=x[0].t;if(g>=z)return this.pv;var p,w;if(!v){if(!f||f>x.length-1)f=x.length-1;w=x[f].t,p=w-z}else{if(!f)p=Math.max(0,this.elem.data.op-z);else p=Math.abs(this.elem.comp.globalData.frameRate*f);w=z+p}var b,y,I;if(h==="pingpong"){var O=Math.floor((z-g)/p);if(O%2===0)return this.getValueAtTime(((z-g)%p+z)/this.comp.globalData.frameRate,0)}else if(h==="offset"){var K=this.getValueAtTime(z/this.comp.globalData.frameRate,0),j=this.getValueAtTime(w/this.comp.globalData.frameRate,0),T=this.getValueAtTime((p-(z-g)%p+z)/this.comp.globalData.frameRate,0),A=Math.floor((z-g)/p)+1;if(this.pv.length){I=new Array(K.length),y=I.length;for(b=0;b<y;b+=1)I[b]=T[b]-(j[b]-K[b])*A;return I}return T-(j-K)*A}else if(h==="continue"){var V=this.getValueAtTime(z/this.comp.globalData.frameRate,0),N=this.getValueAtTime((z+0.001)/this.comp.globalData.frameRate,0);if(this.pv.length){I=new Array(V.length),y=I.length;for(b=0;b<y;b+=1)I[b]=V[b]+(V[b]-N[b])*(z-g)/0.001;return I}return V+(V-N)*(z-g)/0.001}return this.getValueAtTime((p-((z-g)%p+z))/this.comp.globalData.frameRate,0)}function i(h,f){if(!this.k)return this.pv;if(h=(h||0.4)*0.5,f=Math.floor(f||5),f<=1)return this.pv;var v=this.comp.renderedFrame/this.comp.globalData.frameRate,g=v-h,x=v+h,z=f>1?(x-g)/(f-1):1,p=0,w=0,b;if(this.pv.length)b=createTypedArray("float32",this.pv.length);else b=0;var y;while(p<f){if(y=this.getValueAtTime(g+p*z),this.pv.length)for(w=0;w<this.pv.length;w+=1)b[w]+=y[w];else b+=y;p+=1}if(this.pv.length)for(w=0;w<this.pv.length;w+=1)b[w]/=f;else b/=f;return b}function r(h){if(!this._transformCachingAtTime)this._transformCachingAtTime={v:new Matrix};var f=this._transformCachingAtTime.v;if(f.cloneFromProps(this.pre.props),this.appliedTransformations<1){var v=this.a.getValueAtTime(h);f.translate(-v[0]*this.a.mult,-v[1]*this.a.mult,v[2]*this.a.mult)}if(this.appliedTransformations<2){var g=this.s.getValueAtTime(h);f.scale(g[0]*this.s.mult,g[1]*this.s.mult,g[2]*this.s.mult)}if(this.sk&&this.appliedTransformations<3){var x=this.sk.getValueAtTime(h),z=this.sa.getValueAtTime(h);f.skewFromAxis(-x*this.sk.mult,z*this.sa.mult)}if(this.r&&this.appliedTransformations<4){var p=this.r.getValueAtTime(h);f.rotate(-p*this.r.mult)}else if(!this.r&&this.appliedTransformations<4){var w=this.rz.getValueAtTime(h),b=this.ry.getValueAtTime(h),y=this.rx.getValueAtTime(h),I=this.or.getValueAtTime(h);f.rotateZ(-w*this.rz.mult).rotateY(b*this.ry.mult).rotateX(y*this.rx.mult).rotateZ(-I[2]*this.or.mult).rotateY(I[1]*this.or.mult).rotateX(I[0]*this.or.mult)}if(this.data.p&&this.data.p.s){var O=this.px.getValueAtTime(h),K=this.py.getValueAtTime(h);if(this.data.p.z){var j=this.pz.getValueAtTime(h);f.translate(O*this.px.mult,K*this.py.mult,-j*this.pz.mult)}else f.translate(O*this.px.mult,K*this.py.mult,0)}else{var T=this.p.getValueAtTime(h);f.translate(T[0]*this.p.mult,T[1]*this.p.mult,-T[2]*this.p.mult)}return f}function n(){return this.v.clone(new Matrix)}var t=TransformPropertyFactory.getTransformProperty;TransformPropertyFactory.getTransformProperty=function(h,f,v){var g=t(h,f,v);if(g.dynamicProperties.length)g.getValueAtTime=r.bind(g);else g.getValueAtTime=n.bind(g);return g.setGroupProperty=expressionHelpers.setGroupProperty,g};var l=PropertyFactory.getProp;PropertyFactory.getProp=function(h,f,v,g,x){var z=l(h,f,v,g,x);if(z.kf)z.getValueAtTime=expressionHelpers.getValueAtTime.bind(z);else z.getValueAtTime=expressionHelpers.getStaticValueAtTime.bind(z);z.setGroupProperty=expressionHelpers.setGroupProperty,z.loopOut=a,z.loopIn=e,z.smooth=i,z.getVelocityAtTime=expressionHelpers.getVelocityAtTime.bind(z),z.getSpeedAtTime=expressionHelpers.getSpeedAtTime.bind(z),z.numKeys=f.a===1?f.k.length:0,z.propertyIndex=f.ix;var p=0;if(v!==0)p=createTypedArray("float32",f.a===1?f.k[0].s.length:f.k.length);if(z._cachingAtTime={lastFrame:initialDefaultFrame,lastIndex:0,value:p},expressionHelpers.searchExpressions(h,f,z),z.k)x.addDynamicProperty(z);return z};function o(h){if(!this._cachingAtTime)this._cachingAtTime={shapeValue:shapePool.clone(this.pv),lastIndex:0,lastTime:initialDefaultFrame};if(h*=this.elem.globalData.frameRate,h-=this.offsetTime,h!==this._cachingAtTime.lastTime)this._cachingAtTime.lastIndex=this._cachingAtTime.lastTime<h?this._caching.lastIndex:0,this._cachingAtTime.lastTime=h,this.interpolateShape(h,this._cachingAtTime.shapeValue,this._cachingAtTime);return this._cachingAtTime.shapeValue}var s=ShapePropertyFactory.getConstructorFunction(),d=ShapePropertyFactory.getKeyframedConstructorFunction();function c(){}c.prototype={vertices:function h(f,v){if(this.k)this.getValue();var g=this.v;if(v!==void 0)g=this.getValueAtTime(v,0);var x,z=g._length,p=g[f],w=g.v,b=createSizedArray(z);for(x=0;x<z;x+=1)if(f==="i"||f==="o")b[x]=[p[x][0]-w[x][0],p[x][1]-w[x][1]];else b[x]=[p[x][0],p[x][1]];return b},points:function h(f){return this.vertices("v",f)},inTangents:function h(f){return this.vertices("i",f)},outTangents:function h(f){return this.vertices("o",f)},isClosed:function h(){return this.v.c},pointOnPath:function h(f,v){var g=this.v;if(v!==void 0)g=this.getValueAtTime(v,0);if(!this._segmentsLength)this._segmentsLength=bez.getSegmentsLength(g);var x=this._segmentsLength,z=x.lengths,p=x.totalLength*f,w=0,b=z.length,y=0,I;while(w<b){if(y+z[w].addedLength>p){var O=w,K=g.c&&w===b-1?0:w+1,j=(p-y)/z[w].addedLength;I=bez.getPointInSegment(g.v[O],g.v[K],g.o[O],g.i[K],j,z[w]);break}else y+=z[w].addedLength;w+=1}if(!I)I=g.c?[g.v[0][0],g.v[0][1]]:[g.v[g._length-1][0],g.v[g._length-1][1]];return I},vectorOnPath:function h(f,v,g){if(f==1)f=this.v.c;else if(f==0)f=0.999;var x=this.pointOnPath(f,v),z=this.pointOnPath(f+0.001,v),p=z[0]-x[0],w=z[1]-x[1],b=Math.sqrt(Math.pow(p,2)+Math.pow(w,2));if(b===0)return[0,0];var y=g==="tangent"?[p/b,w/b]:[-w/b,p/b];return y},tangentOnPath:function h(f,v){return this.vectorOnPath(f,v,"tangent")},normalOnPath:function h(f,v){return this.vectorOnPath(f,v,"normal")},setGroupProperty:expressionHelpers.setGroupProperty,getValueAtTime:expressionHelpers.getStaticValueAtTime},extendPrototype([c],s),extendPrototype([c],d),d.prototype.getValueAtTime=o,d.prototype.initiateExpression=ExpressionManager.initiateExpression;var m=ShapePropertyFactory.getShapeProp;ShapePropertyFactory.getShapeProp=function(h,f,v,g,x){var z=m(h,f,v,g,x);if(z.propertyIndex=f.ix,z.lock=!1,v===3)expressionHelpers.searchExpressions(h,f.pt,z);else if(v===4)expressionHelpers.searchExpressions(h,f.ks,z);if(z.k)h.addDynamicProperty(z);return z}}function initialize$1(){addPropertyDecorator()}function addDecorator(){function a(){if(this.data.d.x)return this.calculateExpression=ExpressionManager.initiateExpression.bind(this)(this.elem,this.data.d,this),this.addEffect(this.getExpressionValue.bind(this)),!0;return null}TextProperty.prototype.getExpressionValue=function(e,i){var r=this.calculateExpression(i);if(e.t!==r){var n={};return this.copyData(n,e),n.t=r.toString(),n.__complete=!1,n}return e},TextProperty.prototype.searchProperty=function(){var e=this.searchKeyframes(),i=this.searchExpressions();return this.kf=e||i,this.kf},TextProperty.prototype.searchExpressions=a}function initialize(){addDecorator()}function SVGComposableEffect(){}SVGComposableEffect.prototype={createMergeNode:function a(e,i){var r=createNS("feMerge");r.setAttribute("result",e);var n,t;for(t=0;t<i.length;t+=1)n=createNS("feMergeNode"),n.setAttribute("in",i[t]),r.appendChild(n),r.appendChild(n);return r}};var linearFilterValue="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0";function SVGTintFilter(a,e,i,r,n){this.filterManager=e;var t=createNS("feColorMatrix");t.setAttribute("type","matrix"),t.setAttribute("color-interpolation-filters","linearRGB"),t.setAttribute("values",linearFilterValue+" 1 0"),this.linearFilter=t,t.setAttribute("result",r+"_tint_1"),a.appendChild(t),t=createNS("feColorMatrix"),t.setAttribute("type","matrix"),t.setAttribute("color-interpolation-filters","sRGB"),t.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),t.setAttribute("result",r+"_tint_2"),a.appendChild(t),this.matrixFilter=t;var l=this.createMergeNode(r,[n,r+"_tint_1",r+"_tint_2"]);a.appendChild(l)}extendPrototype([SVGComposableEffect],SVGTintFilter),SVGTintFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var e=this.filterManager.effectElements[0].p.v,i=this.filterManager.effectElements[1].p.v,r=this.filterManager.effectElements[2].p.v/100;this.linearFilter.setAttribute("values",linearFilterValue+" "+r+" 0"),this.matrixFilter.setAttribute("values",i[0]-e[0]+" 0 0 0 "+e[0]+" "+(i[1]-e[1])+" 0 0 0 "+e[1]+" "+(i[2]-e[2])+" 0 0 0 "+e[2]+" 0 0 0 1 0")}};function SVGFillFilter(a,e,i,r){this.filterManager=e;var n=createNS("feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("color-interpolation-filters","sRGB"),n.setAttribute("values","1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0"),n.setAttribute("result",r),a.appendChild(n),this.matrixFilter=n}SVGFillFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var e=this.filterManager.effectElements[2].p.v,i=this.filterManager.effectElements[6].p.v;this.matrixFilter.setAttribute("values","0 0 0 0 "+e[0]+" 0 0 0 0 "+e[1]+" 0 0 0 0 "+e[2]+" 0 0 0 "+i+" 0")}};function SVGStrokeEffect(a,e,i){this.initialized=!1,this.filterManager=e,this.elem=i,this.paths=[]}SVGStrokeEffect.prototype.initialize=function(){var a=this.elem.layerElement.children||this.elem.layerElement.childNodes,e,i,r,n;if(this.filterManager.effectElements[1].p.v===1)n=this.elem.maskManager.masksProperties.length,r=0;else r=this.filterManager.effectElements[0].p.v-1,n=r+1;i=createNS("g"),i.setAttribute("fill","none"),i.setAttribute("stroke-linecap","round"),i.setAttribute("stroke-dashoffset",1);for(r;r<n;r+=1)e=createNS("path"),i.appendChild(e),this.paths.push({p:e,m:r});if(this.filterManager.effectElements[10].p.v===3){var t=createNS("mask"),l=createElementID();t.setAttribute("id",l),t.setAttribute("mask-type","alpha"),t.appendChild(i),this.elem.globalData.defs.appendChild(t);var o=createNS("g");o.setAttribute("mask","url("+getLocationHref()+"#"+l+")");while(a[0])o.appendChild(a[0]);this.elem.layerElement.appendChild(o),this.masker=t,i.setAttribute("stroke","#fff")}else if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(this.filterManager.effectElements[10].p.v===2){a=this.elem.layerElement.children||this.elem.layerElement.childNodes;while(a.length)this.elem.layerElement.removeChild(a[0])}this.elem.layerElement.appendChild(i),this.elem.layerElement.removeAttribute("mask"),i.setAttribute("stroke","#fff")}this.initialized=!0,this.pathMasker=i},SVGStrokeEffect.prototype.renderFrame=function(a){if(!this.initialized)this.initialize();var e,i=this.paths.length,r,n;for(e=0;e<i;e+=1)if(this.paths[e].m!==-1){if(r=this.elem.maskManager.viewData[this.paths[e].m],n=this.paths[e].p,a||this.filterManager._mdf||r.prop._mdf)n.setAttribute("d",r.lastPath);if(a||this.filterManager.effectElements[9].p._mdf||this.filterManager.effectElements[4].p._mdf||this.filterManager.effectElements[7].p._mdf||this.filterManager.effectElements[8].p._mdf||r.prop._mdf){var t;if(this.filterManager.effectElements[7].p.v!==0||this.filterManager.effectElements[8].p.v!==100){var l=Math.min(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*0.01,o=Math.max(this.filterManager.effectElements[7].p.v,this.filterManager.effectElements[8].p.v)*0.01,s=n.getTotalLength();t="0 0 0 "+s*l+" ";var d=s*(o-l),c=1+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01,m=Math.floor(d/c),h;for(h=0;h<m;h+=1)t+="1 "+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01+" ";t+="0 "+s*10+" 0 0"}else t="1 "+this.filterManager.effectElements[4].p.v*2*this.filterManager.effectElements[9].p.v*0.01;n.setAttribute("stroke-dasharray",t)}}if(a||this.filterManager.effectElements[4].p._mdf)this.pathMasker.setAttribute("stroke-width",this.filterManager.effectElements[4].p.v*2);if(a||this.filterManager.effectElements[6].p._mdf)this.pathMasker.setAttribute("opacity",this.filterManager.effectElements[6].p.v);if(this.filterManager.effectElements[10].p.v===1||this.filterManager.effectElements[10].p.v===2){if(a||this.filterManager.effectElements[3].p._mdf){var f=this.filterManager.effectElements[3].p.v;this.pathMasker.setAttribute("stroke","rgb("+bmFloor(f[0]*255)+","+bmFloor(f[1]*255)+","+bmFloor(f[2]*255)+")")}}};function SVGTritoneFilter(a,e,i,r){this.filterManager=e;var n=createNS("feColorMatrix");n.setAttribute("type","matrix"),n.setAttribute("color-interpolation-filters","linearRGB"),n.setAttribute("values","0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0"),a.appendChild(n);var t=createNS("feComponentTransfer");t.setAttribute("color-interpolation-filters","sRGB"),t.setAttribute("result",r),this.matrixFilter=t;var l=createNS("feFuncR");l.setAttribute("type","table"),t.appendChild(l),this.feFuncR=l;var o=createNS("feFuncG");o.setAttribute("type","table"),t.appendChild(o),this.feFuncG=o;var s=createNS("feFuncB");s.setAttribute("type","table"),t.appendChild(s),this.feFuncB=s,a.appendChild(t)}SVGTritoneFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var e=this.filterManager.effectElements[0].p.v,i=this.filterManager.effectElements[1].p.v,r=this.filterManager.effectElements[2].p.v,n=r[0]+" "+i[0]+" "+e[0],t=r[1]+" "+i[1]+" "+e[1],l=r[2]+" "+i[2]+" "+e[2];this.feFuncR.setAttribute("tableValues",n),this.feFuncG.setAttribute("tableValues",t),this.feFuncB.setAttribute("tableValues",l)}};function SVGProLevelsFilter(a,e,i,r){this.filterManager=e;var n=this.filterManager.effectElements,t=createNS("feComponentTransfer");if(n[10].p.k||n[10].p.v!==0||n[11].p.k||n[11].p.v!==1||n[12].p.k||n[12].p.v!==1||n[13].p.k||n[13].p.v!==0||n[14].p.k||n[14].p.v!==1)this.feFuncR=this.createFeFunc("feFuncR",t);if(n[17].p.k||n[17].p.v!==0||n[18].p.k||n[18].p.v!==1||n[19].p.k||n[19].p.v!==1||n[20].p.k||n[20].p.v!==0||n[21].p.k||n[21].p.v!==1)this.feFuncG=this.createFeFunc("feFuncG",t);if(n[24].p.k||n[24].p.v!==0||n[25].p.k||n[25].p.v!==1||n[26].p.k||n[26].p.v!==1||n[27].p.k||n[27].p.v!==0||n[28].p.k||n[28].p.v!==1)this.feFuncB=this.createFeFunc("feFuncB",t);if(n[31].p.k||n[31].p.v!==0||n[32].p.k||n[32].p.v!==1||n[33].p.k||n[33].p.v!==1||n[34].p.k||n[34].p.v!==0||n[35].p.k||n[35].p.v!==1)this.feFuncA=this.createFeFunc("feFuncA",t);if(this.feFuncR||this.feFuncG||this.feFuncB||this.feFuncA)t.setAttribute("color-interpolation-filters","sRGB"),a.appendChild(t);if(n[3].p.k||n[3].p.v!==0||n[4].p.k||n[4].p.v!==1||n[5].p.k||n[5].p.v!==1||n[6].p.k||n[6].p.v!==0||n[7].p.k||n[7].p.v!==1)t=createNS("feComponentTransfer"),t.setAttribute("color-interpolation-filters","sRGB"),t.setAttribute("result",r),a.appendChild(t),this.feFuncRComposed=this.createFeFunc("feFuncR",t),this.feFuncGComposed=this.createFeFunc("feFuncG",t),this.feFuncBComposed=this.createFeFunc("feFuncB",t)}SVGProLevelsFilter.prototype.createFeFunc=function(a,e){var i=createNS(a);return i.setAttribute("type","table"),e.appendChild(i),i},SVGProLevelsFilter.prototype.getTableValue=function(a,e,i,r,n){var t=0,l=256,o,s=Math.min(a,e),d=Math.max(a,e),c=Array.call(null,{length:l}),m,h=0,f=n-r,v=e-a;while(t<=256){if(o=t/256,o<=s)m=v<0?n:r;else if(o>=d)m=v<0?r:n;else m=r+f*Math.pow((o-a)/v,1/i);c[h]=m,h+=1,t+=256/(l-1)}return c.join(" ")},SVGProLevelsFilter.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var e,i=this.filterManager.effectElements;if(this.feFuncRComposed&&(a||i[3].p._mdf||i[4].p._mdf||i[5].p._mdf||i[6].p._mdf||i[7].p._mdf))e=this.getTableValue(i[3].p.v,i[4].p.v,i[5].p.v,i[6].p.v,i[7].p.v),this.feFuncRComposed.setAttribute("tableValues",e),this.feFuncGComposed.setAttribute("tableValues",e),this.feFuncBComposed.setAttribute("tableValues",e);if(this.feFuncR&&(a||i[10].p._mdf||i[11].p._mdf||i[12].p._mdf||i[13].p._mdf||i[14].p._mdf))e=this.getTableValue(i[10].p.v,i[11].p.v,i[12].p.v,i[13].p.v,i[14].p.v),this.feFuncR.setAttribute("tableValues",e);if(this.feFuncG&&(a||i[17].p._mdf||i[18].p._mdf||i[19].p._mdf||i[20].p._mdf||i[21].p._mdf))e=this.getTableValue(i[17].p.v,i[18].p.v,i[19].p.v,i[20].p.v,i[21].p.v),this.feFuncG.setAttribute("tableValues",e);if(this.feFuncB&&(a||i[24].p._mdf||i[25].p._mdf||i[26].p._mdf||i[27].p._mdf||i[28].p._mdf))e=this.getTableValue(i[24].p.v,i[25].p.v,i[26].p.v,i[27].p.v,i[28].p.v),this.feFuncB.setAttribute("tableValues",e);if(this.feFuncA&&(a||i[31].p._mdf||i[32].p._mdf||i[33].p._mdf||i[34].p._mdf||i[35].p._mdf))e=this.getTableValue(i[31].p.v,i[32].p.v,i[33].p.v,i[34].p.v,i[35].p.v),this.feFuncA.setAttribute("tableValues",e)}};function SVGDropShadowEffect(a,e,i,r,n){var t=e.container.globalData.renderConfig.filterSize,l=e.data.fs||t;a.setAttribute("x",l.x||t.x),a.setAttribute("y",l.y||t.y),a.setAttribute("width",l.width||t.width),a.setAttribute("height",l.height||t.height),this.filterManager=e;var o=createNS("feGaussianBlur");o.setAttribute("in","SourceAlpha"),o.setAttribute("result",r+"_drop_shadow_1"),o.setAttribute("stdDeviation","0"),this.feGaussianBlur=o,a.appendChild(o);var s=createNS("feOffset");s.setAttribute("dx","25"),s.setAttribute("dy","0"),s.setAttribute("in",r+"_drop_shadow_1"),s.setAttribute("result",r+"_drop_shadow_2"),this.feOffset=s,a.appendChild(s);var d=createNS("feFlood");d.setAttribute("flood-color","#00ff00"),d.setAttribute("flood-opacity","1"),d.setAttribute("result",r+"_drop_shadow_3"),this.feFlood=d,a.appendChild(d);var c=createNS("feComposite");c.setAttribute("in",r+"_drop_shadow_3"),c.setAttribute("in2",r+"_drop_shadow_2"),c.setAttribute("operator","in"),c.setAttribute("result",r+"_drop_shadow_4"),a.appendChild(c);var m=this.createMergeNode(r,[r+"_drop_shadow_4",n]);a.appendChild(m)}extendPrototype([SVGComposableEffect],SVGDropShadowEffect),SVGDropShadowEffect.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){if(a||this.filterManager.effectElements[4].p._mdf)this.feGaussianBlur.setAttribute("stdDeviation",this.filterManager.effectElements[4].p.v/4);if(a||this.filterManager.effectElements[0].p._mdf){var e=this.filterManager.effectElements[0].p.v;this.feFlood.setAttribute("flood-color",rgbToHex(Math.round(e[0]*255),Math.round(e[1]*255),Math.round(e[2]*255)))}if(a||this.filterManager.effectElements[1].p._mdf)this.feFlood.setAttribute("flood-opacity",this.filterManager.effectElements[1].p.v/255);if(a||this.filterManager.effectElements[2].p._mdf||this.filterManager.effectElements[3].p._mdf){var i=this.filterManager.effectElements[3].p.v,r=(this.filterManager.effectElements[2].p.v-90)*degToRads,n=i*Math.cos(r),t=i*Math.sin(r);this.feOffset.setAttribute("dx",n),this.feOffset.setAttribute("dy",t)}}};var _svgMatteSymbols=[];function SVGMatte3Effect(a,e,i){this.initialized=!1,this.filterManager=e,this.filterElem=a,this.elem=i,i.matteElement=createNS("g"),i.matteElement.appendChild(i.layerElement),i.matteElement.appendChild(i.transformedElement),i.baseElement=i.matteElement}SVGMatte3Effect.prototype.findSymbol=function(a){var e=0,i=_svgMatteSymbols.length;while(e<i){if(_svgMatteSymbols[e]===a)return _svgMatteSymbols[e];e+=1}return null},SVGMatte3Effect.prototype.replaceInParent=function(a,e){var i=a.layerElement.parentNode;if(!i)return;var r=i.children,n=0,t=r.length;while(n<t){if(r[n]===a.layerElement)break;n+=1}var l;if(n<=t-2)l=r[n+1];var o=createNS("use");if(o.setAttribute("href","#"+e),l)i.insertBefore(o,l);else i.appendChild(o)},SVGMatte3Effect.prototype.setElementAsMask=function(a,e){if(!this.findSymbol(e)){var i=createElementID(),r=createNS("mask");r.setAttribute("id",e.layerId),r.setAttribute("mask-type","alpha"),_svgMatteSymbols.push(e);var n=a.globalData.defs;n.appendChild(r);var t=createNS("symbol");t.setAttribute("id",i),this.replaceInParent(e,i),t.appendChild(e.layerElement),n.appendChild(t);var l=createNS("use");l.setAttribute("href","#"+i),r.appendChild(l),e.data.hd=!1,e.show()}a.setMatte(e.layerId)},SVGMatte3Effect.prototype.initialize=function(){var a=this.filterManager.effectElements[0].p.v,e=this.elem.comp.elements,i=0,r=e.length;while(i<r){if(e[i]&&e[i].data.ind===a)this.setElementAsMask(this.elem,e[i]);i+=1}this.initialized=!0},SVGMatte3Effect.prototype.renderFrame=function(){if(!this.initialized)this.initialize()};function SVGGaussianBlurEffect(a,e,i,r){a.setAttribute("x","-100%"),a.setAttribute("y","-100%"),a.setAttribute("width","300%"),a.setAttribute("height","300%"),this.filterManager=e;var n=createNS("feGaussianBlur");n.setAttribute("result",r),a.appendChild(n),this.feGaussianBlur=n}SVGGaussianBlurEffect.prototype.renderFrame=function(a){if(a||this.filterManager._mdf){var e=0.3,i=this.filterManager.effectElements[0].p.v*e,r=this.filterManager.effectElements[1].p.v,n=r==3?0:i,t=r==2?0:i;this.feGaussianBlur.setAttribute("stdDeviation",n+" "+t);var l=this.filterManager.effectElements[2].p.v==1?"wrap":"duplicate";this.feGaussianBlur.setAttribute("edgeMode",l)}};function TransformEffect(){}TransformEffect.prototype.init=function(a){this.effectsManager=a,this.type=effectTypes.TRANSFORM_EFFECT,this.matrix=new Matrix,this.opacity=-1,this._mdf=!1,this._opMdf=!1},TransformEffect.prototype.renderFrame=function(a){if(this._opMdf=!1,this._mdf=!1,a||this.effectsManager._mdf){var e=this.effectsManager.effectElements,i=e[0].p.v,r=e[1].p.v,n=e[2].p.v===1,t=e[3].p.v,l=n?t:e[4].p.v,o=e[5].p.v,s=e[6].p.v,d=e[7].p.v;if(this.matrix.reset(),this.matrix.translate(-i[0],-i[1],i[2]),this.matrix.scale(l*0.01,t*0.01,1),this.matrix.rotate(-d*degToRads),this.matrix.skewFromAxis(-o*degToRads,(s+90)*degToRads),this.matrix.translate(r[0],r[1],0),this._mdf=!0,this.opacity!==e[8].p.v)this.opacity=e[8].p.v,this._opMdf=!0}};function SVGTransformEffect(a,e){this.init(e)}extendPrototype([TransformEffect],SVGTransformEffect);function CVTransformEffect(a){this.init(a)}return extendPrototype([TransformEffect],CVTransformEffect),registerRenderer("canvas",CanvasRenderer),registerRenderer("html",HybridRenderer),registerRenderer("svg",SVGRenderer),ShapeModifiers.registerModifier("tm",TrimModifier),ShapeModifiers.registerModifier("pb",PuckerAndBloatModifier),ShapeModifiers.registerModifier("rp",RepeaterModifier),ShapeModifiers.registerModifier("rd",RoundCornersModifier),ShapeModifiers.registerModifier("zz",ZigZagModifier),ShapeModifiers.registerModifier("op",OffsetPathModifier),setExpressionsPlugin(Expressions),setExpressionInterfaces(getInterface),initialize$1(),initialize(),registerEffect$1(20,SVGTintFilter,!0),registerEffect$1(21,SVGFillFilter,!0),registerEffect$1(22,SVGStrokeEffect,!1),registerEffect$1(23,SVGTritoneFilter,!0),registerEffect$1(24,SVGProLevelsFilter,!0),registerEffect$1(25,SVGDropShadowEffect,!0),registerEffect$1(28,SVGMatte3Effect,!1),registerEffect$1(29,SVGGaussianBlurEffect,!0),registerEffect$1(35,SVGTransformEffect,!1),registerEffect(35,CVTransformEffect),lottie})});var Z6=C1((H2,Qi)=>{/*!
|
|
10
10
|
* matter-js 0.18.0 by @liabru
|
|
11
11
|
* http://brm.io/matter-js/
|
|
12
12
|
* License MIT
|
|
@@ -32,7 +32,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
32
32
|
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
33
33
|
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
34
34
|
* THE SOFTWARE.
|
|
35
|
-
*/(function a(e,i){if(typeof H2==="object"&&typeof Qi==="object")Qi.exports=i();else if(typeof define==="function"&&define.amd)define("Matter",[],i);else if(typeof H2==="object")H2.Matter=i();else e.Matter=i()})(H2,function(){return function(a){var e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return a[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=a,i.c=e,i.d=function(r,n,t){if(!i.o(r,n))Object.defineProperty(r,n,{enumerable:!0,get:t})},i.r=function(r){if(typeof Symbol!=="undefined"&&Symbol.toStringTag)Object.defineProperty(r,Symbol.toStringTag,{value:"Module"});Object.defineProperty(r,"__esModule",{value:!0})},i.t=function(r,n){if(n&1)r=i(r);if(n&8)return r;if(n&4&&typeof r==="object"&&r&&r.__esModule)return r;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),n&2&&typeof r!="string")for(var l in r)i.d(t,l,function(o){return r[o]}.bind(null,l));return t},i.n=function(r){var n=r&&r.__esModule?function t(){return r.default}:function t(){return r};return i.d(n,"a",n),n},i.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},i.p="",i(i.s=21)}([function(a,e){var i={};a.exports=i,function(){i._nextId=0,i._seed=0,i._nowStartTime=+new Date,i._warnedOnce={},i._decomp=null,i.extend=function(n,t){var l,o,s;if(typeof t==="boolean")l=2,s=t;else l=1,s=!0;for(var d=l;d<arguments.length;d++){var c=arguments[d];if(c)for(var m in c)if(s&&c[m]&&c[m].constructor===Object)if(!n[m]||n[m].constructor===Object)n[m]=n[m]||{},i.extend(n[m],s,c[m]);else n[m]=c[m];else n[m]=c[m]}return n},i.clone=function(n,t){return i.extend({},t,n)},i.keys=function(n){if(Object.keys)return Object.keys(n);var t=[];for(var l in n)t.push(l);return t},i.values=function(n){var t=[];if(Object.keys){var l=Object.keys(n);for(var o=0;o<l.length;o++)t.push(n[l[o]]);return t}for(var s in n)t.push(n[s]);return t},i.get=function(n,t,l,o){t=t.split(".").slice(l,o);for(var s=0;s<t.length;s+=1)n=n[t[s]];return n},i.set=function(n,t,l,o,s){var d=t.split(".").slice(o,s);return i.get(n,t,0,-1)[d[d.length-1]]=l,l},i.shuffle=function(n){for(var t=n.length-1;t>0;t--){var l=Math.floor(i.random()*(t+1)),o=n[t];n[t]=n[l],n[l]=o}return n},i.choose=function(n){return n[Math.floor(i.random()*n.length)]},i.isElement=function(n){if(typeof HTMLElement!=="undefined")return n instanceof HTMLElement;return!!(n&&n.nodeType&&n.nodeName)},i.isArray=function(n){return Object.prototype.toString.call(n)==="[object Array]"},i.isFunction=function(n){return typeof n==="function"},i.isPlainObject=function(n){return typeof n==="object"&&n.constructor===Object},i.isString=function(n){return toString.call(n)==="[object String]"},i.clamp=function(n,t,l){if(n<t)return t;if(n>l)return l;return n},i.sign=function(n){return n<0?-1:1},i.now=function(){if(typeof window!=="undefined"&&window.performance){if(window.performance.now)return window.performance.now();else if(window.performance.webkitNow)return window.performance.webkitNow()}if(Date.now)return Date.now();return new Date-i._nowStartTime},i.random=function(n,t){return n=typeof n!=="undefined"?n:0,t=typeof t!=="undefined"?t:1,n+r()*(t-n)};var r=function(){return i._seed=(i._seed*9301+49297)%233280,i._seed/233280};i.colorToNumber=function(n){if(n=n.replace("#",""),n.length==3)n=n.charAt(0)+n.charAt(0)+n.charAt(1)+n.charAt(1)+n.charAt(2)+n.charAt(2);return parseInt(n,16)},i.logLevel=1,i.log=function(){if(console&&i.logLevel>0&&i.logLevel<=3)console.log.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},i.info=function(){if(console&&i.logLevel>0&&i.logLevel<=2)console.info.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},i.warn=function(){if(console&&i.logLevel>0&&i.logLevel<=3)console.warn.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},i.warnOnce=function(){var n=Array.prototype.slice.call(arguments).join(" ");if(!i._warnedOnce[n])i.warn(n),i._warnedOnce[n]=!0},i.deprecated=function(n,t,l){n[t]=i.chain(function(){i.warnOnce("\uD83D\uDD05 deprecated \uD83D\uDD05",l)},n[t])},i.nextId=function(){return i._nextId++},i.indexOf=function(n,t){if(n.indexOf)return n.indexOf(t);for(var l=0;l<n.length;l++)if(n[l]===t)return l;return-1},i.map=function(n,t){if(n.map)return n.map(t);var l=[];for(var o=0;o<n.length;o+=1)l.push(t(n[o]));return l},i.topologicalSort=function(n){var t=[],l=[],o=[];for(var s in n)if(!l[s]&&!o[s])i._topologicalSort(s,l,o,n,t);return t},i._topologicalSort=function(n,t,l,o,s){var d=o[n]||[];l[n]=!0;for(var c=0;c<d.length;c+=1){var m=d[c];if(l[m])continue;if(!t[m])i._topologicalSort(m,t,l,o,s)}l[n]=!1,t[n]=!0,s.push(n)},i.chain=function(){var n=[];for(var t=0;t<arguments.length;t+=1){var l=arguments[t];if(l._chained)n.push.apply(n,l._chained);else n.push(l)}var o=function(){var s,d=new Array(arguments.length);for(var c=0,m=arguments.length;c<m;c++)d[c]=arguments[c];for(c=0;c<n.length;c+=1){var h=n[c].apply(s,d);if(typeof h!=="undefined")s=h}return s};return o._chained=n,o},i.chainPathBefore=function(n,t,l){return i.set(n,t,i.chain(l,i.get(n,t)))},i.chainPathAfter=function(n,t,l){return i.set(n,t,i.chain(i.get(n,t),l))},i.setDecomp=function(n){i._decomp=n},i.getDecomp=function(){var n=i._decomp;try{if(!n&&typeof window!=="undefined")n=window.decomp;if(!n&&typeof global!=="undefined")n=global.decomp}catch(t){n=null}return n}}()},function(a,e){var i={};a.exports=i,function(){i.create=function(r){var n={min:{x:0,y:0},max:{x:0,y:0}};if(r)i.update(n,r);return n},i.update=function(r,n,t){r.min.x=1/0,r.max.x=-1/0,r.min.y=1/0,r.max.y=-1/0;for(var l=0;l<n.length;l++){var o=n[l];if(o.x>r.max.x)r.max.x=o.x;if(o.x<r.min.x)r.min.x=o.x;if(o.y>r.max.y)r.max.y=o.y;if(o.y<r.min.y)r.min.y=o.y}if(t){if(t.x>0)r.max.x+=t.x;else r.min.x+=t.x;if(t.y>0)r.max.y+=t.y;else r.min.y+=t.y}},i.contains=function(r,n){return n.x>=r.min.x&&n.x<=r.max.x&&n.y>=r.min.y&&n.y<=r.max.y},i.overlaps=function(r,n){return r.min.x<=n.max.x&&r.max.x>=n.min.x&&r.max.y>=n.min.y&&r.min.y<=n.max.y},i.translate=function(r,n){r.min.x+=n.x,r.max.x+=n.x,r.min.y+=n.y,r.max.y+=n.y},i.shift=function(r,n){var t=r.max.x-r.min.x,l=r.max.y-r.min.y;r.min.x=n.x,r.max.x=n.x+t,r.min.y=n.y,r.max.y=n.y+l}}()},function(a,e){var i={};a.exports=i,function(){i.create=function(r,n){return{x:r||0,y:n||0}},i.clone=function(r){return{x:r.x,y:r.y}},i.magnitude=function(r){return Math.sqrt(r.x*r.x+r.y*r.y)},i.magnitudeSquared=function(r){return r.x*r.x+r.y*r.y},i.rotate=function(r,n,t){var l=Math.cos(n),o=Math.sin(n);if(!t)t={};var s=r.x*l-r.y*o;return t.y=r.x*o+r.y*l,t.x=s,t},i.rotateAbout=function(r,n,t,l){var o=Math.cos(n),s=Math.sin(n);if(!l)l={};var d=t.x+((r.x-t.x)*o-(r.y-t.y)*s);return l.y=t.y+((r.x-t.x)*s+(r.y-t.y)*o),l.x=d,l},i.normalise=function(r){var n=i.magnitude(r);if(n===0)return{x:0,y:0};return{x:r.x/n,y:r.y/n}},i.dot=function(r,n){return r.x*n.x+r.y*n.y},i.cross=function(r,n){return r.x*n.y-r.y*n.x},i.cross3=function(r,n,t){return(n.x-r.x)*(t.y-r.y)-(n.y-r.y)*(t.x-r.x)},i.add=function(r,n,t){if(!t)t={};return t.x=r.x+n.x,t.y=r.y+n.y,t},i.sub=function(r,n,t){if(!t)t={};return t.x=r.x-n.x,t.y=r.y-n.y,t},i.mult=function(r,n){return{x:r.x*n,y:r.y*n}},i.div=function(r,n){return{x:r.x/n,y:r.y/n}},i.perp=function(r,n){return n=n===!0?-1:1,{x:n*-r.y,y:n*r.x}},i.neg=function(r){return{x:-r.x,y:-r.y}},i.angle=function(r,n){return Math.atan2(n.y-r.y,n.x-r.x)},i._temp=[i.create(),i.create(),i.create(),i.create(),i.create(),i.create()]}()},function(a,e,i){var r={};a.exports=r;var n=i(2),t=i(0);(function(){r.create=function(l,o){var s=[];for(var d=0;d<l.length;d++){var c=l[d],m={x:c.x,y:c.y,index:d,body:o,isInternal:!1};s.push(m)}return s},r.fromPath=function(l,o){var s=/L?\s*([-\d.e]+)[\s,]*([-\d.e]+)*/ig,d=[];return l.replace(s,function(c,m,h){d.push({x:parseFloat(m),y:parseFloat(h)})}),r.create(d,o)},r.centre=function(l){var o=r.area(l,!0),s={x:0,y:0},d,c,m;for(var h=0;h<l.length;h++)m=(h+1)%l.length,d=n.cross(l[h],l[m]),c=n.mult(n.add(l[h],l[m]),d),s=n.add(s,c);return n.div(s,6*o)},r.mean=function(l){var o={x:0,y:0};for(var s=0;s<l.length;s++)o.x+=l[s].x,o.y+=l[s].y;return n.div(o,l.length)},r.area=function(l,o){var s=0,d=l.length-1;for(var c=0;c<l.length;c++)s+=(l[d].x-l[c].x)*(l[d].y+l[c].y),d=c;if(o)return s/2;return Math.abs(s)/2},r.inertia=function(l,o){var s=0,d=0,c=l,m,h;for(var f=0;f<c.length;f++)h=(f+1)%c.length,m=Math.abs(n.cross(c[h],c[f])),s+=m*(n.dot(c[h],c[h])+n.dot(c[h],c[f])+n.dot(c[f],c[f])),d+=m;return o/6*(s/d)},r.translate=function(l,o,s){s=typeof s!=="undefined"?s:1;var d=l.length,c=o.x*s,m=o.y*s,h;for(h=0;h<d;h++)l[h].x+=c,l[h].y+=m;return l},r.rotate=function(l,o,s){if(o===0)return;var d=Math.cos(o),c=Math.sin(o),m=s.x,h=s.y,f=l.length,v,g,x,z;for(z=0;z<f;z++)v=l[z],g=v.x-m,x=v.y-h,v.x=m+(g*d-x*c),v.y=h+(g*c+x*d);return l},r.contains=function(l,o){var{x:s,y:d}=o,c=l.length,m=l[c-1],h;for(var f=0;f<c;f++){if(h=l[f],(s-m.x)*(h.y-m.y)+(d-m.y)*(m.x-h.x)>0)return!1;m=h}return!0},r.scale=function(l,o,s,d){if(o===1&&s===1)return l;d=d||r.centre(l);var c,m;for(var h=0;h<l.length;h++)c=l[h],m=n.sub(c,d),l[h].x=d.x+m.x*o,l[h].y=d.y+m.y*s;return l},r.chamfer=function(l,o,s,d,c){if(typeof o==="number")o=[o];else o=o||[8];s=typeof s!=="undefined"?s:-1,d=d||2,c=c||14;var m=[];for(var h=0;h<l.length;h++){var f=l[h-1>=0?h-1:l.length-1],v=l[h],g=l[(h+1)%l.length],x=o[h<o.length?h:o.length-1];if(x===0){m.push(v);continue}var z=n.normalise({x:v.y-f.y,y:f.x-v.x}),p=n.normalise({x:g.y-v.y,y:v.x-g.x}),w=Math.sqrt(2*Math.pow(x,2)),b=n.mult(t.clone(z),x),y=n.normalise(n.mult(n.add(z,p),0.5)),I=n.sub(v,n.mult(y,w)),O=s;if(s===-1)O=Math.pow(x,0.32)*1.75;if(O=t.clamp(O,d,c),O%2===1)O+=1;var K=Math.acos(n.dot(z,p)),j=K/O;for(var T=0;T<O;T++)m.push(n.add(n.rotate(b,j*T),I))}return m},r.clockwiseSort=function(l){var o=r.mean(l);return l.sort(function(s,d){return n.angle(o,s)-n.angle(o,d)}),l},r.isConvex=function(l){var o=0,s=l.length,d,c,m,h;if(s<3)return null;for(d=0;d<s;d++){if(c=(d+1)%s,m=(d+2)%s,h=(l[c].x-l[d].x)*(l[m].y-l[c].y),h-=(l[c].y-l[d].y)*(l[m].x-l[c].x),h<0)o|=1;else if(h>0)o|=2;if(o===3)return!1}if(o!==0)return!0;else return null},r.hull=function(l){var o=[],s=[],d,c;l=l.slice(0),l.sort(function(m,h){var f=m.x-h.x;return f!==0?f:m.y-h.y});for(c=0;c<l.length;c+=1){d=l[c];while(s.length>=2&&n.cross3(s[s.length-2],s[s.length-1],d)<=0)s.pop();s.push(d)}for(c=l.length-1;c>=0;c-=1){d=l[c];while(o.length>=2&&n.cross3(o[o.length-2],o[o.length-1],d)<=0)o.pop();o.push(d)}return o.pop(),s.pop(),o.concat(s)}})()},function(a,e,i){var r={};a.exports=r;var n=i(0);(function(){r.on=function(t,l,o){var s=l.split(" "),d;for(var c=0;c<s.length;c++)d=s[c],t.events=t.events||{},t.events[d]=t.events[d]||[],t.events[d].push(o);return o},r.off=function(t,l,o){if(!l){t.events={};return}if(typeof l==="function")o=l,l=n.keys(t.events).join(" ");var s=l.split(" ");for(var d=0;d<s.length;d++){var c=t.events[s[d]],m=[];if(o&&c){for(var h=0;h<c.length;h++)if(c[h]!==o)m.push(c[h])}t.events[s[d]]=m}},r.trigger=function(t,l,o){var s,d,c,m,h=t.events;if(h&&n.keys(h).length>0){if(!o)o={};s=l.split(" ");for(var f=0;f<s.length;f++)if(d=s[f],c=h[d],c){m=n.clone(o,!1),m.name=d,m.source=t;for(var v=0;v<c.length;v++)c[v].apply(t,[m])}}}})()},function(a,e,i){var r={};a.exports=r;var n=i(4),t=i(0),l=i(1),o=i(6);(function(){r.create=function(s){return t.extend({id:t.nextId(),type:"composite",parent:null,isModified:!1,bodies:[],constraints:[],composites:[],label:"Composite",plugin:{},cache:{allBodies:null,allConstraints:null,allComposites:null}},s)},r.setModified=function(s,d,c,m){if(s.isModified=d,d&&s.cache)s.cache.allBodies=null,s.cache.allConstraints=null,s.cache.allComposites=null;if(c&&s.parent)r.setModified(s.parent,d,c,m);if(m)for(var h=0;h<s.composites.length;h++){var f=s.composites[h];r.setModified(f,d,c,m)}},r.add=function(s,d){var c=[].concat(d);n.trigger(s,"beforeAdd",{object:d});for(var m=0;m<c.length;m++){var h=c[m];switch(h.type){case"body":if(h.parent!==h){t.warn("Composite.add: skipped adding a compound body part (you must add its parent instead)");break}r.addBody(s,h);break;case"constraint":r.addConstraint(s,h);break;case"composite":r.addComposite(s,h);break;case"mouseConstraint":r.addConstraint(s,h.constraint);break}}return n.trigger(s,"afterAdd",{object:d}),s},r.remove=function(s,d,c){var m=[].concat(d);n.trigger(s,"beforeRemove",{object:d});for(var h=0;h<m.length;h++){var f=m[h];switch(f.type){case"body":r.removeBody(s,f,c);break;case"constraint":r.removeConstraint(s,f,c);break;case"composite":r.removeComposite(s,f,c);break;case"mouseConstraint":r.removeConstraint(s,f.constraint);break}}return n.trigger(s,"afterRemove",{object:d}),s},r.addComposite=function(s,d){return s.composites.push(d),d.parent=s,r.setModified(s,!0,!0,!1),s},r.removeComposite=function(s,d,c){var m=t.indexOf(s.composites,d);if(m!==-1)r.removeCompositeAt(s,m);if(c)for(var h=0;h<s.composites.length;h++)r.removeComposite(s.composites[h],d,!0);return s},r.removeCompositeAt=function(s,d){return s.composites.splice(d,1),r.setModified(s,!0,!0,!1),s},r.addBody=function(s,d){return s.bodies.push(d),r.setModified(s,!0,!0,!1),s},r.removeBody=function(s,d,c){var m=t.indexOf(s.bodies,d);if(m!==-1)r.removeBodyAt(s,m);if(c)for(var h=0;h<s.composites.length;h++)r.removeBody(s.composites[h],d,!0);return s},r.removeBodyAt=function(s,d){return s.bodies.splice(d,1),r.setModified(s,!0,!0,!1),s},r.addConstraint=function(s,d){return s.constraints.push(d),r.setModified(s,!0,!0,!1),s},r.removeConstraint=function(s,d,c){var m=t.indexOf(s.constraints,d);if(m!==-1)r.removeConstraintAt(s,m);if(c)for(var h=0;h<s.composites.length;h++)r.removeConstraint(s.composites[h],d,!0);return s},r.removeConstraintAt=function(s,d){return s.constraints.splice(d,1),r.setModified(s,!0,!0,!1),s},r.clear=function(s,d,c){if(c)for(var m=0;m<s.composites.length;m++)r.clear(s.composites[m],d,!0);if(d)s.bodies=s.bodies.filter(function(h){return h.isStatic});else s.bodies.length=0;return s.constraints.length=0,s.composites.length=0,r.setModified(s,!0,!0,!1),s},r.allBodies=function(s){if(s.cache&&s.cache.allBodies)return s.cache.allBodies;var d=[].concat(s.bodies);for(var c=0;c<s.composites.length;c++)d=d.concat(r.allBodies(s.composites[c]));if(s.cache)s.cache.allBodies=d;return d},r.allConstraints=function(s){if(s.cache&&s.cache.allConstraints)return s.cache.allConstraints;var d=[].concat(s.constraints);for(var c=0;c<s.composites.length;c++)d=d.concat(r.allConstraints(s.composites[c]));if(s.cache)s.cache.allConstraints=d;return d},r.allComposites=function(s){if(s.cache&&s.cache.allComposites)return s.cache.allComposites;var d=[].concat(s.composites);for(var c=0;c<s.composites.length;c++)d=d.concat(r.allComposites(s.composites[c]));if(s.cache)s.cache.allComposites=d;return d},r.get=function(s,d,c){var m,h;switch(c){case"body":m=r.allBodies(s);break;case"constraint":m=r.allConstraints(s);break;case"composite":m=r.allComposites(s).concat(s);break}if(!m)return null;return h=m.filter(function(f){return f.id.toString()===d.toString()}),h.length===0?null:h[0]},r.move=function(s,d,c){return r.remove(s,d),r.add(c,d),s},r.rebase=function(s){var d=r.allBodies(s).concat(r.allConstraints(s)).concat(r.allComposites(s));for(var c=0;c<d.length;c++)d[c].id=t.nextId();return s},r.translate=function(s,d,c){var m=c?r.allBodies(s):s.bodies;for(var h=0;h<m.length;h++)o.translate(m[h],d);return s},r.rotate=function(s,d,c,m){var h=Math.cos(d),f=Math.sin(d),v=m?r.allBodies(s):s.bodies;for(var g=0;g<v.length;g++){var x=v[g],z=x.position.x-c.x,p=x.position.y-c.y;o.setPosition(x,{x:c.x+(z*h-p*f),y:c.y+(z*f+p*h)}),o.rotate(x,d)}return s},r.scale=function(s,d,c,m,h){var f=h?r.allBodies(s):s.bodies;for(var v=0;v<f.length;v++){var g=f[v],x=g.position.x-m.x,z=g.position.y-m.y;o.setPosition(g,{x:m.x+x*d,y:m.y+z*c}),o.scale(g,d,c)}return s},r.bounds=function(s){var d=r.allBodies(s),c=[];for(var m=0;m<d.length;m+=1){var h=d[m];c.push(h.bounds.min,h.bounds.max)}return l.create(c)}})()},function(a,e,i){var r={};a.exports=r;var n=i(3),t=i(2),l=i(7),o=i(16),s=i(0),d=i(1),c=i(11);(function(){r._inertiaScale=4,r._nextCollidingGroupId=1,r._nextNonCollidingGroupId=-1,r._nextCategory=1,r.create=function(h){var f={id:s.nextId(),type:"body",label:"Body",parts:[],plugin:{},angle:0,vertices:n.fromPath("L 0 0 L 40 0 L 40 40 L 0 40"),position:{x:0,y:0},force:{x:0,y:0},torque:0,positionImpulse:{x:0,y:0},constraintImpulse:{x:0,y:0,angle:0},totalContacts:0,speed:0,angularSpeed:0,velocity:{x:0,y:0},angularVelocity:0,isSensor:!1,isStatic:!1,isSleeping:!1,motion:0,sleepThreshold:60,density:0.001,restitution:0,friction:0.1,frictionStatic:0.5,frictionAir:0.01,collisionFilter:{category:1,mask:4294967295,group:0},slop:0.05,timeScale:1,render:{visible:!0,opacity:1,strokeStyle:null,fillStyle:null,lineWidth:null,sprite:{xScale:1,yScale:1,xOffset:0,yOffset:0}},events:null,bounds:null,chamfer:null,circleRadius:0,positionPrev:null,anglePrev:0,parent:null,axes:null,area:0,mass:0,inertia:0,_original:null},v=s.extend(f,h);return m(v,h),v},r.nextGroup=function(h){if(h)return r._nextNonCollidingGroupId--;return r._nextCollidingGroupId++},r.nextCategory=function(){return r._nextCategory=r._nextCategory<<1,r._nextCategory};var m=function(h,f){f=f||{},r.set(h,{bounds:h.bounds||d.create(h.vertices),positionPrev:h.positionPrev||t.clone(h.position),anglePrev:h.anglePrev||h.angle,vertices:h.vertices,parts:h.parts||[h],isStatic:h.isStatic,isSleeping:h.isSleeping,parent:h.parent||h}),n.rotate(h.vertices,h.angle,h.position),c.rotate(h.axes,h.angle),d.update(h.bounds,h.vertices,h.velocity),r.set(h,{axes:f.axes||h.axes,area:f.area||h.area,mass:f.mass||h.mass,inertia:f.inertia||h.inertia});var v=h.isStatic?"#14151f":s.choose(["#f19648","#f5d259","#f55a3c","#063e7b","#ececd1"]),g=h.isStatic?"#555":"#ccc",x=h.isStatic&&h.render.fillStyle===null?1:0;h.render.fillStyle=h.render.fillStyle||v,h.render.strokeStyle=h.render.strokeStyle||g,h.render.lineWidth=h.render.lineWidth||x,h.render.sprite.xOffset+=-(h.bounds.min.x-h.position.x)/(h.bounds.max.x-h.bounds.min.x),h.render.sprite.yOffset+=-(h.bounds.min.y-h.position.y)/(h.bounds.max.y-h.bounds.min.y)};r.set=function(h,f,v){var g;if(typeof f==="string")g=f,f={},f[g]=v;for(g in f){if(!Object.prototype.hasOwnProperty.call(f,g))continue;switch(v=f[g],g){case"isStatic":r.setStatic(h,v);break;case"isSleeping":l.set(h,v);break;case"mass":r.setMass(h,v);break;case"density":r.setDensity(h,v);break;case"inertia":r.setInertia(h,v);break;case"vertices":r.setVertices(h,v);break;case"position":r.setPosition(h,v);break;case"angle":r.setAngle(h,v);break;case"velocity":r.setVelocity(h,v);break;case"angularVelocity":r.setAngularVelocity(h,v);break;case"parts":r.setParts(h,v);break;case"centre":r.setCentre(h,v);break;default:h[g]=v}}},r.setStatic=function(h,f){for(var v=0;v<h.parts.length;v++){var g=h.parts[v];if(g.isStatic=f,f)g._original={restitution:g.restitution,friction:g.friction,mass:g.mass,inertia:g.inertia,density:g.density,inverseMass:g.inverseMass,inverseInertia:g.inverseInertia},g.restitution=0,g.friction=1,g.mass=g.inertia=g.density=1/0,g.inverseMass=g.inverseInertia=0,g.positionPrev.x=g.position.x,g.positionPrev.y=g.position.y,g.anglePrev=g.angle,g.angularVelocity=0,g.speed=0,g.angularSpeed=0,g.motion=0;else if(g._original)g.restitution=g._original.restitution,g.friction=g._original.friction,g.mass=g._original.mass,g.inertia=g._original.inertia,g.density=g._original.density,g.inverseMass=g._original.inverseMass,g.inverseInertia=g._original.inverseInertia,g._original=null}},r.setMass=function(h,f){var v=h.inertia/(h.mass/6);h.inertia=v*(f/6),h.inverseInertia=1/h.inertia,h.mass=f,h.inverseMass=1/h.mass,h.density=h.mass/h.area},r.setDensity=function(h,f){r.setMass(h,f*h.area),h.density=f},r.setInertia=function(h,f){h.inertia=f,h.inverseInertia=1/h.inertia},r.setVertices=function(h,f){if(f[0].body===h)h.vertices=f;else h.vertices=n.create(f,h);h.axes=c.fromVertices(h.vertices),h.area=n.area(h.vertices),r.setMass(h,h.density*h.area);var v=n.centre(h.vertices);n.translate(h.vertices,v,-1),r.setInertia(h,r._inertiaScale*n.inertia(h.vertices,h.mass)),n.translate(h.vertices,h.position),d.update(h.bounds,h.vertices,h.velocity)},r.setParts=function(h,f,v){var g;f=f.slice(0),h.parts.length=0,h.parts.push(h),h.parent=h;for(g=0;g<f.length;g++){var x=f[g];if(x!==h)x.parent=h,h.parts.push(x)}if(h.parts.length===1)return;if(v=typeof v!=="undefined"?v:!0,v){var z=[];for(g=0;g<f.length;g++)z=z.concat(f[g].vertices);n.clockwiseSort(z);var p=n.hull(z),w=n.centre(p);r.setVertices(h,p),n.translate(h.vertices,w)}var b=r._totalProperties(h);h.area=b.area,h.parent=h,h.position.x=b.centre.x,h.position.y=b.centre.y,h.positionPrev.x=b.centre.x,h.positionPrev.y=b.centre.y,r.setMass(h,b.mass),r.setInertia(h,b.inertia),r.setPosition(h,b.centre)},r.setCentre=function(h,f,v){if(!v)h.positionPrev.x=f.x-(h.position.x-h.positionPrev.x),h.positionPrev.y=f.y-(h.position.y-h.positionPrev.y),h.position.x=f.x,h.position.y=f.y;else h.positionPrev.x+=f.x,h.positionPrev.y+=f.y,h.position.x+=f.x,h.position.y+=f.y},r.setPosition=function(h,f){var v=t.sub(f,h.position);h.positionPrev.x+=v.x,h.positionPrev.y+=v.y;for(var g=0;g<h.parts.length;g++){var x=h.parts[g];x.position.x+=v.x,x.position.y+=v.y,n.translate(x.vertices,v),d.update(x.bounds,x.vertices,h.velocity)}},r.setAngle=function(h,f){var v=f-h.angle;h.anglePrev+=v;for(var g=0;g<h.parts.length;g++){var x=h.parts[g];if(x.angle+=v,n.rotate(x.vertices,v,h.position),c.rotate(x.axes,v),d.update(x.bounds,x.vertices,h.velocity),g>0)t.rotateAbout(x.position,v,h.position,x.position)}},r.setVelocity=function(h,f){h.positionPrev.x=h.position.x-f.x,h.positionPrev.y=h.position.y-f.y,h.velocity.x=f.x,h.velocity.y=f.y,h.speed=t.magnitude(h.velocity)},r.setAngularVelocity=function(h,f){h.anglePrev=h.angle-f,h.angularVelocity=f,h.angularSpeed=Math.abs(h.angularVelocity)},r.translate=function(h,f){r.setPosition(h,t.add(h.position,f))},r.rotate=function(h,f,v){if(!v)r.setAngle(h,h.angle+f);else{var g=Math.cos(f),x=Math.sin(f),z=h.position.x-v.x,p=h.position.y-v.y;r.setPosition(h,{x:v.x+(z*g-p*x),y:v.y+(z*x+p*g)}),r.setAngle(h,h.angle+f)}},r.scale=function(h,f,v,g){var x=0,z=0;g=g||h.position;for(var p=0;p<h.parts.length;p++){var w=h.parts[p];if(n.scale(w.vertices,f,v,g),w.axes=c.fromVertices(w.vertices),w.area=n.area(w.vertices),r.setMass(w,h.density*w.area),n.translate(w.vertices,{x:-w.position.x,y:-w.position.y}),r.setInertia(w,r._inertiaScale*n.inertia(w.vertices,w.mass)),n.translate(w.vertices,{x:w.position.x,y:w.position.y}),p>0)x+=w.area,z+=w.inertia;w.position.x=g.x+(w.position.x-g.x)*f,w.position.y=g.y+(w.position.y-g.y)*v,d.update(w.bounds,w.vertices,h.velocity)}if(h.parts.length>1){if(h.area=x,!h.isStatic)r.setMass(h,h.density*x),r.setInertia(h,z)}if(h.circleRadius)if(f===v)h.circleRadius*=f;else h.circleRadius=null},r.update=function(h,f,v,g){var x=Math.pow(f*v*h.timeScale,2),z=1-h.frictionAir*v*h.timeScale,p=h.position.x-h.positionPrev.x,w=h.position.y-h.positionPrev.y;h.velocity.x=p*z*g+h.force.x/h.mass*x,h.velocity.y=w*z*g+h.force.y/h.mass*x,h.positionPrev.x=h.position.x,h.positionPrev.y=h.position.y,h.position.x+=h.velocity.x,h.position.y+=h.velocity.y,h.angularVelocity=(h.angle-h.anglePrev)*z*g+h.torque/h.inertia*x,h.anglePrev=h.angle,h.angle+=h.angularVelocity,h.speed=t.magnitude(h.velocity),h.angularSpeed=Math.abs(h.angularVelocity);for(var b=0;b<h.parts.length;b++){var y=h.parts[b];if(n.translate(y.vertices,h.velocity),b>0)y.position.x+=h.velocity.x,y.position.y+=h.velocity.y;if(h.angularVelocity!==0){if(n.rotate(y.vertices,h.angularVelocity,h.position),c.rotate(y.axes,h.angularVelocity),b>0)t.rotateAbout(y.position,h.angularVelocity,h.position,y.position)}d.update(y.bounds,y.vertices,h.velocity)}},r.applyForce=function(h,f,v){h.force.x+=v.x,h.force.y+=v.y;var g={x:f.x-h.position.x,y:f.y-h.position.y};h.torque+=g.x*v.y-g.y*v.x},r._totalProperties=function(h){var f={mass:0,area:0,inertia:0,centre:{x:0,y:0}};for(var v=h.parts.length===1?0:1;v<h.parts.length;v++){var g=h.parts[v],x=g.mass!==1/0?g.mass:1;f.mass+=x,f.area+=g.area,f.inertia+=g.inertia,f.centre=t.add(f.centre,t.mult(g.position,x))}return f.centre=t.div(f.centre,f.mass),f}})()},function(a,e,i){var r={};a.exports=r;var n=i(4);(function(){r._motionWakeThreshold=0.18,r._motionSleepThreshold=0.08,r._minBias=0.9,r.update=function(t,l){var o=l*l*l;for(var s=0;s<t.length;s++){var d=t[s],c=d.speed*d.speed+d.angularSpeed*d.angularSpeed;if(d.force.x!==0||d.force.y!==0){r.set(d,!1);continue}var m=Math.min(d.motion,c),h=Math.max(d.motion,c);if(d.motion=r._minBias*m+(1-r._minBias)*h,d.sleepThreshold>0&&d.motion<r._motionSleepThreshold*o){if(d.sleepCounter+=1,d.sleepCounter>=d.sleepThreshold)r.set(d,!0)}else if(d.sleepCounter>0)d.sleepCounter-=1}},r.afterCollisions=function(t,l){var o=l*l*l;for(var s=0;s<t.length;s++){var d=t[s];if(!d.isActive)continue;var c=d.collision,m=c.bodyA.parent,h=c.bodyB.parent;if(m.isSleeping&&h.isSleeping||m.isStatic||h.isStatic)continue;if(m.isSleeping||h.isSleeping){var f=m.isSleeping&&!m.isStatic?m:h,v=f===m?h:m;if(!f.isStatic&&v.motion>r._motionWakeThreshold*o)r.set(f,!1)}}},r.set=function(t,l){var o=t.isSleeping;if(l){if(t.isSleeping=!0,t.sleepCounter=t.sleepThreshold,t.positionImpulse.x=0,t.positionImpulse.y=0,t.positionPrev.x=t.position.x,t.positionPrev.y=t.position.y,t.anglePrev=t.angle,t.speed=0,t.angularSpeed=0,t.motion=0,!o)n.trigger(t,"sleepStart")}else if(t.isSleeping=!1,t.sleepCounter=0,o)n.trigger(t,"sleepEnd")}})()},function(a,e,i){var r={};a.exports=r;var n=i(3),t=i(9);(function(){var l=[],o={overlap:0,axis:null},s={overlap:0,axis:null};r.create=function(d,c){return{pair:null,collided:!1,bodyA:d,bodyB:c,parentA:d.parent,parentB:c.parent,depth:0,normal:{x:0,y:0},tangent:{x:0,y:0},penetration:{x:0,y:0},supports:[]}},r.collides=function(d,c,m){if(r._overlapAxes(o,d.vertices,c.vertices,d.axes),o.overlap<=0)return null;if(r._overlapAxes(s,c.vertices,d.vertices,c.axes),s.overlap<=0)return null;var h=m&&m.table[t.id(d,c)],f;if(!h)f=r.create(d,c),f.collided=!0,f.bodyA=d.id<c.id?d:c,f.bodyB=d.id<c.id?c:d,f.parentA=f.bodyA.parent,f.parentB=f.bodyB.parent;else f=h.collision;d=f.bodyA,c=f.bodyB;var v;if(o.overlap<s.overlap)v=o;else v=s;var{normal:g,supports:x}=f,z=v.axis,p=z.x,w=z.y;if(p*(c.position.x-d.position.x)+w*(c.position.y-d.position.y)<0)g.x=p,g.y=w;else g.x=-p,g.y=-w;f.tangent.x=-g.y,f.tangent.y=g.x,f.depth=v.overlap,f.penetration.x=g.x*f.depth,f.penetration.y=g.y*f.depth;var b=r._findSupports(d,c,g,1),y=0;if(n.contains(d.vertices,b[0]))x[y++]=b[0];if(n.contains(d.vertices,b[1]))x[y++]=b[1];if(y<2){var I=r._findSupports(c,d,g,-1);if(n.contains(c.vertices,I[0]))x[y++]=I[0];if(y<2&&n.contains(c.vertices,I[1]))x[y++]=I[1]}if(y===0)x[y++]=b[0];return x.length=y,f},r._overlapAxes=function(d,c,m,h){var f=c.length,v=m.length,g=c[0].x,x=c[0].y,z=m[0].x,p=m[0].y,w=h.length,b=Number.MAX_VALUE,y=0,I,O,K,j,T,A;for(T=0;T<w;T++){var V=h[T],N=V.x,G=V.y,D=g*N+x*G,F=z*N+p*G,E=D,H=F;for(A=1;A<f;A+=1)if(j=c[A].x*N+c[A].y*G,j>E)E=j;else if(j<D)D=j;for(A=1;A<v;A+=1)if(j=m[A].x*N+m[A].y*G,j>H)H=j;else if(j<F)F=j;if(O=E-F,K=H-D,I=O<K?O:K,I<b){if(b=I,y=T,I<=0)break}}d.axis=h[y],d.overlap=b},r._projectToAxis=function(d,c,m){var h=c[0].x*m.x+c[0].y*m.y,f=h;for(var v=1;v<c.length;v+=1){var g=c[v].x*m.x+c[v].y*m.y;if(g>f)f=g;else if(g<h)h=g}d.min=h,d.max=f},r._findSupports=function(d,c,m,h){var f=c.vertices,v=f.length,g=d.position.x,x=d.position.y,z=m.x*h,p=m.y*h,w=Number.MAX_VALUE,b,y,I,O,K;for(K=0;K<v;K+=1)if(y=f[K],O=z*(g-y.x)+p*(x-y.y),O<w)w=O,b=y;if(I=f[(v+b.index-1)%v],w=z*(g-I.x)+p*(x-I.y),y=f[(b.index+1)%v],z*(g-y.x)+p*(x-y.y)<w)return l[0]=b,l[1]=y,l;return l[0]=b,l[1]=I,l}})()},function(a,e,i){var r={};a.exports=r;var n=i(17);(function(){r.create=function(t,l){var{bodyA:o,bodyB:s}=t,d={id:r.id(o,s),bodyA:o,bodyB:s,collision:t,contacts:[],activeContacts:[],separation:0,isActive:!0,confirmedActive:!0,isSensor:o.isSensor||s.isSensor,timeCreated:l,timeUpdated:l,inverseMass:0,friction:0,frictionStatic:0,restitution:0,slop:0};return r.update(d,t,l),d},r.update=function(t,l,o){var s=t.contacts,d=l.supports,c=t.activeContacts,m=l.parentA,h=l.parentB,f=m.vertices.length;t.isActive=!0,t.timeUpdated=o,t.collision=l,t.separation=l.depth,t.inverseMass=m.inverseMass+h.inverseMass,t.friction=m.friction<h.friction?m.friction:h.friction,t.frictionStatic=m.frictionStatic>h.frictionStatic?m.frictionStatic:h.frictionStatic,t.restitution=m.restitution>h.restitution?m.restitution:h.restitution,t.slop=m.slop>h.slop?m.slop:h.slop,l.pair=t,c.length=0;for(var v=0;v<d.length;v++){var g=d[v],x=g.body===m?g.index:f+g.index,z=s[x];if(z)c.push(z);else c.push(s[x]=n.create(g))}},r.setActive=function(t,l,o){if(l)t.isActive=!0,t.timeUpdated=o;else t.isActive=!1,t.activeContacts.length=0},r.id=function(t,l){if(t.id<l.id)return"A"+t.id+"B"+l.id;else return"A"+l.id+"B"+t.id}})()},function(a,e,i){var r={};a.exports=r;var n=i(3),t=i(2),l=i(7),o=i(1),s=i(11),d=i(0);(function(){r._warming=0.4,r._torqueDampen=1,r._minLength=0.000001,r.create=function(c){var m=c;if(m.bodyA&&!m.pointA)m.pointA={x:0,y:0};if(m.bodyB&&!m.pointB)m.pointB={x:0,y:0};var h=m.bodyA?t.add(m.bodyA.position,m.pointA):m.pointA,f=m.bodyB?t.add(m.bodyB.position,m.pointB):m.pointB,v=t.magnitude(t.sub(h,f));m.length=typeof m.length!=="undefined"?m.length:v,m.id=m.id||d.nextId(),m.label=m.label||"Constraint",m.type="constraint",m.stiffness=m.stiffness||(m.length>0?1:0.7),m.damping=m.damping||0,m.angularStiffness=m.angularStiffness||0,m.angleA=m.bodyA?m.bodyA.angle:m.angleA,m.angleB=m.bodyB?m.bodyB.angle:m.angleB,m.plugin={};var g={visible:!0,lineWidth:2,strokeStyle:"#ffffff",type:"line",anchors:!0};if(m.length===0&&m.stiffness>0.1)g.type="pin",g.anchors=!1;else if(m.stiffness<0.9)g.type="spring";return m.render=d.extend(g,m.render),m},r.preSolveAll=function(c){for(var m=0;m<c.length;m+=1){var h=c[m],f=h.constraintImpulse;if(h.isStatic||f.x===0&&f.y===0&&f.angle===0)continue;h.position.x+=f.x,h.position.y+=f.y,h.angle+=f.angle}},r.solveAll=function(c,m){for(var h=0;h<c.length;h+=1){var f=c[h],v=!f.bodyA||f.bodyA&&f.bodyA.isStatic,g=!f.bodyB||f.bodyB&&f.bodyB.isStatic;if(v||g)r.solve(c[h],m)}for(h=0;h<c.length;h+=1)if(f=c[h],v=!f.bodyA||f.bodyA&&f.bodyA.isStatic,g=!f.bodyB||f.bodyB&&f.bodyB.isStatic,!v&&!g)r.solve(c[h],m)},r.solve=function(c,m){var{bodyA:h,bodyB:f,pointA:v,pointB:g}=c;if(!h&&!f)return;if(h&&!h.isStatic)t.rotate(v,h.angle-c.angleA,v),c.angleA=h.angle;if(f&&!f.isStatic)t.rotate(g,f.angle-c.angleB,g),c.angleB=f.angle;var x=v,z=g;if(h)x=t.add(h.position,v);if(f)z=t.add(f.position,g);if(!x||!z)return;var p=t.sub(x,z),w=t.magnitude(p);if(w<r._minLength)w=r._minLength;var b=(w-c.length)/w,y=c.stiffness<1?c.stiffness*m:c.stiffness,I=t.mult(p,b*y),O=(h?h.inverseMass:0)+(f?f.inverseMass:0),K=(h?h.inverseInertia:0)+(f?f.inverseInertia:0),j=O+K,T,A,V,N,G;if(c.damping){var D=t.create();V=t.div(p,w),G=t.sub(f&&t.sub(f.position,f.positionPrev)||D,h&&t.sub(h.position,h.positionPrev)||D),N=t.dot(V,G)}if(h&&!h.isStatic){if(A=h.inverseMass/O,h.constraintImpulse.x-=I.x*A,h.constraintImpulse.y-=I.y*A,h.position.x-=I.x*A,h.position.y-=I.y*A,c.damping)h.positionPrev.x-=c.damping*V.x*N*A,h.positionPrev.y-=c.damping*V.y*N*A;T=t.cross(v,I)/j*r._torqueDampen*h.inverseInertia*(1-c.angularStiffness),h.constraintImpulse.angle-=T,h.angle-=T}if(f&&!f.isStatic){if(A=f.inverseMass/O,f.constraintImpulse.x+=I.x*A,f.constraintImpulse.y+=I.y*A,f.position.x+=I.x*A,f.position.y+=I.y*A,c.damping)f.positionPrev.x+=c.damping*V.x*N*A,f.positionPrev.y+=c.damping*V.y*N*A;T=t.cross(g,I)/j*r._torqueDampen*f.inverseInertia*(1-c.angularStiffness),f.constraintImpulse.angle+=T,f.angle+=T}},r.postSolveAll=function(c){for(var m=0;m<c.length;m++){var h=c[m],f=h.constraintImpulse;if(h.isStatic||f.x===0&&f.y===0&&f.angle===0)continue;l.set(h,!1);for(var v=0;v<h.parts.length;v++){var g=h.parts[v];if(n.translate(g.vertices,f),v>0)g.position.x+=f.x,g.position.y+=f.y;if(f.angle!==0){if(n.rotate(g.vertices,f.angle,h.position),s.rotate(g.axes,f.angle),v>0)t.rotateAbout(g.position,f.angle,h.position,g.position)}o.update(g.bounds,g.vertices,h.velocity)}f.angle*=r._warming,f.x*=r._warming,f.y*=r._warming}},r.pointAWorld=function(c){return{x:(c.bodyA?c.bodyA.position.x:0)+c.pointA.x,y:(c.bodyA?c.bodyA.position.y:0)+c.pointA.y}},r.pointBWorld=function(c){return{x:(c.bodyB?c.bodyB.position.x:0)+c.pointB.x,y:(c.bodyB?c.bodyB.position.y:0)+c.pointB.y}}})()},function(a,e,i){var r={};a.exports=r;var n=i(2),t=i(0);(function(){r.fromVertices=function(l){var o={};for(var s=0;s<l.length;s++){var d=(s+1)%l.length,c=n.normalise({x:l[d].y-l[s].y,y:l[s].x-l[d].x}),m=c.y===0?1/0:c.x/c.y;m=m.toFixed(3).toString(),o[m]=c}return t.values(o)},r.rotate=function(l,o){if(o===0)return;var s=Math.cos(o),d=Math.sin(o);for(var c=0;c<l.length;c++){var m=l[c],h;h=m.x*s-m.y*d,m.y=m.x*d+m.y*s,m.x=h}}})()},function(a,e,i){var r={};a.exports=r;var n=i(3),t=i(0),l=i(6),o=i(1),s=i(2);(function(){r.rectangle=function(d,c,m,h,f){f=f||{};var v={label:"Rectangle Body",position:{x:d,y:c},vertices:n.fromPath("L 0 0 L "+m+" 0 L "+m+" "+h+" L 0 "+h)};if(f.chamfer){var g=f.chamfer;v.vertices=n.chamfer(v.vertices,g.radius,g.quality,g.qualityMin,g.qualityMax),delete f.chamfer}return l.create(t.extend({},v,f))},r.trapezoid=function(d,c,m,h,f,v){v=v||{},f*=0.5;var g=(1-f*2)*m,x=m*f,z=x+g,p=z+x,w;if(f<0.5)w="L 0 0 L "+x+" "+-h+" L "+z+" "+-h+" L "+p+" 0";else w="L 0 0 L "+z+" "+-h+" L "+p+" 0";var b={label:"Trapezoid Body",position:{x:d,y:c},vertices:n.fromPath(w)};if(v.chamfer){var y=v.chamfer;b.vertices=n.chamfer(b.vertices,y.radius,y.quality,y.qualityMin,y.qualityMax),delete v.chamfer}return l.create(t.extend({},b,v))},r.circle=function(d,c,m,h,f){h=h||{};var v={label:"Circle Body",circleRadius:m};f=f||25;var g=Math.ceil(Math.max(10,Math.min(f,m)));if(g%2===1)g+=1;return r.polygon(d,c,g,m,t.extend({},v,h))},r.polygon=function(d,c,m,h,f){if(f=f||{},m<3)return r.circle(d,c,h,f);var v=2*Math.PI/m,g="",x=v*0.5;for(var z=0;z<m;z+=1){var p=x+z*v,w=Math.cos(p)*h,b=Math.sin(p)*h;g+="L "+w.toFixed(3)+" "+b.toFixed(3)+" "}var y={label:"Polygon Body",position:{x:d,y:c},vertices:n.fromPath(g)};if(f.chamfer){var I=f.chamfer;y.vertices=n.chamfer(y.vertices,I.radius,I.quality,I.qualityMin,I.qualityMax),delete f.chamfer}return l.create(t.extend({},y,f))},r.fromVertices=function(d,c,m,h,f,v,g,x){var z=t.getDecomp(),p,w,b,y,I,O,K,j,T,A,V;if(p=Boolean(z&&z.quickDecomp),h=h||{},b=[],f=typeof f!=="undefined"?f:!1,v=typeof v!=="undefined"?v:0.01,g=typeof g!=="undefined"?g:10,x=typeof x!=="undefined"?x:0.01,!t.isArray(m[0]))m=[m];for(A=0;A<m.length;A+=1){if(O=m[A],y=n.isConvex(O),I=!y,I&&!p)t.warnOnce("Bodies.fromVertices: Install the 'poly-decomp' library and use Common.setDecomp or provide 'decomp' as a global to decompose concave vertices.");if(y||!p){if(y)O=n.clockwiseSort(O);else O=n.hull(O);b.push({position:{x:d,y:c},vertices:O})}else{var N=O.map(function(l1){return[l1.x,l1.y]});if(z.makeCCW(N),v!==!1)z.removeCollinearPoints(N,v);if(x!==!1&&z.removeDuplicatePoints)z.removeDuplicatePoints(N,x);var G=z.quickDecomp(N);for(K=0;K<G.length;K++){var D=G[K],F=D.map(function(l1){return{x:l1[0],y:l1[1]}});if(g>0&&n.area(F)<g)continue;b.push({position:n.centre(F),vertices:F})}}}for(K=0;K<b.length;K++)b[K]=l.create(t.extend(b[K],h));if(f){var E=5;for(K=0;K<b.length;K++){var H=b[K];for(j=K+1;j<b.length;j++){var M=b[j];if(o.overlaps(H.bounds,M.bounds)){var Q=H.vertices,L=M.vertices;for(T=0;T<H.vertices.length;T++)for(V=0;V<M.vertices.length;V++){var _=s.magnitudeSquared(s.sub(Q[(T+1)%Q.length],L[V])),i1=s.magnitudeSquared(s.sub(Q[T],L[(V+1)%L.length]));if(_<E&&i1<E)Q[T].isInternal=!0,L[V].isInternal=!0}}}}}if(b.length>1)return w=l.create(t.extend({parts:b.slice(0)},h)),l.setPosition(w,{x:d,y:c}),w;else return b[0]}})()},function(a,e,i){var r={};a.exports=r;var n=i(0);(function(){r.create=function(t){var l={};if(!t)n.log("Mouse.create: element was undefined, defaulting to document.body","warn");return l.element=t||document.body,l.absolute={x:0,y:0},l.position={x:0,y:0},l.mousedownPosition={x:0,y:0},l.mouseupPosition={x:0,y:0},l.offset={x:0,y:0},l.scale={x:1,y:1},l.wheelDelta=0,l.button=-1,l.pixelRatio=parseInt(l.element.getAttribute("data-pixel-ratio"),10)||1,l.sourceEvents={mousemove:null,mousedown:null,mouseup:null,mousewheel:null},l.mousemove=function(o){var s=r._getRelativeMousePosition(o,l.element,l.pixelRatio),d=o.changedTouches;if(d)l.button=0,o.preventDefault();l.absolute.x=s.x,l.absolute.y=s.y,l.position.x=l.absolute.x*l.scale.x+l.offset.x,l.position.y=l.absolute.y*l.scale.y+l.offset.y,l.sourceEvents.mousemove=o},l.mousedown=function(o){var s=r._getRelativeMousePosition(o,l.element,l.pixelRatio),d=o.changedTouches;if(d)l.button=0,o.preventDefault();else l.button=o.button;l.absolute.x=s.x,l.absolute.y=s.y,l.position.x=l.absolute.x*l.scale.x+l.offset.x,l.position.y=l.absolute.y*l.scale.y+l.offset.y,l.mousedownPosition.x=l.position.x,l.mousedownPosition.y=l.position.y,l.sourceEvents.mousedown=o},l.mouseup=function(o){var s=r._getRelativeMousePosition(o,l.element,l.pixelRatio),d=o.changedTouches;if(d)o.preventDefault();l.button=-1,l.absolute.x=s.x,l.absolute.y=s.y,l.position.x=l.absolute.x*l.scale.x+l.offset.x,l.position.y=l.absolute.y*l.scale.y+l.offset.y,l.mouseupPosition.x=l.position.x,l.mouseupPosition.y=l.position.y,l.sourceEvents.mouseup=o},l.mousewheel=function(o){l.wheelDelta=Math.max(-1,Math.min(1,o.wheelDelta||-o.detail)),o.preventDefault()},r.setElement(l,l.element),l},r.setElement=function(t,l){t.element=l,l.addEventListener("mousemove",t.mousemove),l.addEventListener("mousedown",t.mousedown),l.addEventListener("mouseup",t.mouseup),l.addEventListener("mousewheel",t.mousewheel),l.addEventListener("DOMMouseScroll",t.mousewheel),l.addEventListener("touchmove",t.mousemove),l.addEventListener("touchstart",t.mousedown),l.addEventListener("touchend",t.mouseup)},r.clearSourceEvents=function(t){t.sourceEvents.mousemove=null,t.sourceEvents.mousedown=null,t.sourceEvents.mouseup=null,t.sourceEvents.mousewheel=null,t.wheelDelta=0},r.setOffset=function(t,l){t.offset.x=l.x,t.offset.y=l.y,t.position.x=t.absolute.x*t.scale.x+t.offset.x,t.position.y=t.absolute.y*t.scale.y+t.offset.y},r.setScale=function(t,l){t.scale.x=l.x,t.scale.y=l.y,t.position.x=t.absolute.x*t.scale.x+t.offset.x,t.position.y=t.absolute.y*t.scale.y+t.offset.y},r._getRelativeMousePosition=function(t,l,o){var s=l.getBoundingClientRect(),d=document.documentElement||document.body.parentNode||document.body,c=window.pageXOffset!==void 0?window.pageXOffset:d.scrollLeft,m=window.pageYOffset!==void 0?window.pageYOffset:d.scrollTop,h=t.changedTouches,f,v;if(h)f=h[0].pageX-s.left-c,v=h[0].pageY-s.top-m;else f=t.pageX-s.left-c,v=t.pageY-s.top-m;return{x:f/(l.clientWidth/(l.width||l.clientWidth)*o),y:v/(l.clientHeight/(l.height||l.clientHeight)*o)}}})()},function(a,e,i){var r={};a.exports=r;var n=i(0),t=i(8);(function(){r.create=function(l){var o={bodies:[],pairs:null};return n.extend(o,l)},r.setBodies=function(l,o){l.bodies=o.slice(0)},r.clear=function(l){l.bodies=[]},r.collisions=function(l){var o=[],s=l.pairs,d=l.bodies,c=d.length,m=r.canCollide,h=t.collides,f,v;d.sort(r._compareBoundsX);for(f=0;f<c;f++){var g=d[f],x=g.bounds,z=g.bounds.max.x,p=g.bounds.max.y,w=g.bounds.min.y,b=g.isStatic||g.isSleeping,y=g.parts.length,I=y===1;for(v=f+1;v<c;v++){var O=d[v],K=O.bounds;if(K.min.x>z)break;if(p<K.min.y||w>K.max.y)continue;if(b&&(O.isStatic||O.isSleeping))continue;if(!m(g.collisionFilter,O.collisionFilter))continue;var j=O.parts.length;if(I&&j===1){var T=h(g,O,s);if(T)o.push(T)}else{var A=y>1?1:0,V=j>1?1:0;for(var N=A;N<y;N++){var G=g.parts[N],x=G.bounds;for(var D=V;D<j;D++){var F=O.parts[D],K=F.bounds;if(x.min.x>K.max.x||x.max.x<K.min.x||x.max.y<K.min.y||x.min.y>K.max.y)continue;var T=h(G,F,s);if(T)o.push(T)}}}}}return o},r.canCollide=function(l,o){if(l.group===o.group&&l.group!==0)return l.group>0;return(l.mask&o.category)!==0&&(o.mask&l.category)!==0},r._compareBoundsX=function(l,o){return l.bounds.min.x-o.bounds.min.x}})()},function(a,e,i){var r={};a.exports=r;var n=i(0);(function(){r._registry={},r.register=function(t){if(!r.isPlugin(t))n.warn("Plugin.register:",r.toString(t),"does not implement all required fields.");if(t.name in r._registry){var l=r._registry[t.name],o=r.versionParse(t.version).number,s=r.versionParse(l.version).number;if(o>s)n.warn("Plugin.register:",r.toString(l),"was upgraded to",r.toString(t)),r._registry[t.name]=t;else if(o<s)n.warn("Plugin.register:",r.toString(l),"can not be downgraded to",r.toString(t));else if(t!==l)n.warn("Plugin.register:",r.toString(t),"is already registered to different plugin object")}else r._registry[t.name]=t;return t},r.resolve=function(t){return r._registry[r.dependencyParse(t).name]},r.toString=function(t){return typeof t==="string"?t:(t.name||"anonymous")+"@"+(t.version||t.range||"0.0.0")},r.isPlugin=function(t){return t&&t.name&&t.version&&t.install},r.isUsed=function(t,l){return t.used.indexOf(l)>-1},r.isFor=function(t,l){var o=t.for&&r.dependencyParse(t.for);return!t.for||l.name===o.name&&r.versionSatisfies(l.version,o.range)},r.use=function(t,l){if(t.uses=(t.uses||[]).concat(l||[]),t.uses.length===0){n.warn("Plugin.use:",r.toString(t),"does not specify any dependencies to install.");return}var o=r.dependencies(t),s=n.topologicalSort(o),d=[];for(var c=0;c<s.length;c+=1){if(s[c]===t.name)continue;var m=r.resolve(s[c]);if(!m){d.push("❌ "+s[c]);continue}if(r.isUsed(t,m.name))continue;if(!r.isFor(m,t))n.warn("Plugin.use:",r.toString(m),"is for",m.for,"but installed on",r.toString(t)+"."),m._warned=!0;if(m.install)m.install(t);else n.warn("Plugin.use:",r.toString(m),"does not specify an install function."),m._warned=!0;if(m._warned)d.push("\uD83D\uDD36 "+r.toString(m)),delete m._warned;else d.push("✅ "+r.toString(m));t.used.push(m.name)}if(d.length>0)n.info(d.join(" "))},r.dependencies=function(t,l){var o=r.dependencyParse(t),s=o.name;if(l=l||{},s in l)return;t=r.resolve(t)||t,l[s]=n.map(t.uses||[],function(c){if(r.isPlugin(c))r.register(c);var m=r.dependencyParse(c),h=r.resolve(c);if(h&&!r.versionSatisfies(h.version,m.range))n.warn("Plugin.dependencies:",r.toString(h),"does not satisfy",r.toString(m),"used by",r.toString(o)+"."),h._warned=!0,t._warned=!0;else if(!h)n.warn("Plugin.dependencies:",r.toString(c),"used by",r.toString(o),"could not be resolved."),t._warned=!0;return m.name});for(var d=0;d<l[s].length;d+=1)r.dependencies(l[s][d],l);return l},r.dependencyParse=function(t){if(n.isString(t)){var l=/^[\w-]+(@(\*|[\^~]?\d+\.\d+\.\d+(-[0-9A-Za-z-+]+)?))?$/;if(!l.test(t))n.warn("Plugin.dependencyParse:",t,"is not a valid dependency string.");return{name:t.split("@")[0],range:t.split("@")[1]||"*"}}return{name:t.name,range:t.range||t.version}},r.versionParse=function(t){var l=/^(\*)|(\^|~|>=|>)?\s*((\d+)\.(\d+)\.(\d+))(-[0-9A-Za-z-+]+)?$/;if(!l.test(t))n.warn("Plugin.versionParse:",t,"is not a valid version or range.");var o=l.exec(t),s=Number(o[4]),d=Number(o[5]),c=Number(o[6]);return{isRange:Boolean(o[1]||o[2]),version:o[3],range:t,operator:o[1]||o[2]||"",major:s,minor:d,patch:c,parts:[s,d,c],prerelease:o[7],number:s*1e8+d*1e4+c}},r.versionSatisfies=function(t,l){l=l||"*";var o=r.versionParse(l),s=r.versionParse(t);if(o.isRange){if(o.operator==="*"||t==="*")return!0;if(o.operator===">")return s.number>o.number;if(o.operator===">=")return s.number>=o.number;if(o.operator==="~")return s.major===o.major&&s.minor===o.minor&&s.patch>=o.patch;if(o.operator==="^"){if(o.major>0)return s.major===o.major&&s.number>=o.number;if(o.minor>0)return s.minor===o.minor&&s.patch>=o.patch;return s.patch===o.patch}}return t===l||t==="*"}})()},function(a,e,i){var r={};a.exports=r;var n=i(0),t=i(5),l=i(1),o=i(4),s=i(2),d=i(13);(function(){var c,m;if(typeof window!=="undefined")c=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(p){window.setTimeout(function(){p(n.now())},16.666666666666668)},m=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame;r._goodFps=30,r._goodDelta=16.666666666666668,r.create=function(p){var w={controller:r,engine:null,element:null,canvas:null,mouse:null,frameRequestId:null,timing:{historySize:60,delta:0,deltaHistory:[],lastTime:0,lastTimestamp:0,lastElapsed:0,timestampElapsed:0,timestampElapsedHistory:[],engineDeltaHistory:[],engineElapsedHistory:[],elapsedHistory:[]},options:{width:800,height:600,pixelRatio:1,background:"#14151f",wireframeBackground:"#14151f",hasBounds:!!p.bounds,enabled:!0,wireframes:!0,showSleeping:!0,showDebug:!1,showStats:!1,showPerformance:!1,showBounds:!1,showVelocity:!1,showCollisions:!1,showSeparations:!1,showAxes:!1,showPositions:!1,showAngleIndicator:!1,showIds:!1,showVertexNumbers:!1,showConvexHulls:!1,showInternalEdges:!1,showMousePosition:!1}},b=n.extend(w,p);if(b.canvas)b.canvas.width=b.options.width||b.canvas.width,b.canvas.height=b.options.height||b.canvas.height;if(b.mouse=p.mouse,b.engine=p.engine,b.canvas=b.canvas||v(b.options.width,b.options.height),b.context=b.canvas.getContext("2d"),b.textures={},b.bounds=b.bounds||{min:{x:0,y:0},max:{x:b.canvas.width,y:b.canvas.height}},b.options.showBroadphase=!1,b.options.pixelRatio!==1)r.setPixelRatio(b,b.options.pixelRatio);if(n.isElement(b.element))b.element.appendChild(b.canvas);else if(!b.canvas.parentNode)n.log("Render.create: options.element was undefined, render.canvas was created but not appended","warn");return b},r.run=function(p){(function w(b){if(p.frameRequestId=c(w),h(p,b),r.world(p,b),p.options.showStats||p.options.showDebug)r.stats(p,p.context,b);if(p.options.showPerformance||p.options.showDebug)r.performance(p,p.context,b)})()},r.stop=function(p){m(p.frameRequestId)},r.setPixelRatio=function(p,w){var{options:b,canvas:y}=p;if(w==="auto")w=g(y);b.pixelRatio=w,y.setAttribute("data-pixel-ratio",w),y.width=b.width*w,y.height=b.height*w,y.style.width=b.width+"px",y.style.height=b.height+"px"},r.lookAt=function(p,w,b,y){y=typeof y!=="undefined"?y:!0,w=n.isArray(w)?w:[w],b=b||{x:0,y:0};var I={min:{x:1/0,y:1/0},max:{x:-1/0,y:-1/0}};for(var O=0;O<w.length;O+=1){var K=w[O],j=K.bounds?K.bounds.min:K.min||K.position||K,T=K.bounds?K.bounds.max:K.max||K.position||K;if(j&&T){if(j.x<I.min.x)I.min.x=j.x;if(T.x>I.max.x)I.max.x=T.x;if(j.y<I.min.y)I.min.y=j.y;if(T.y>I.max.y)I.max.y=T.y}}var A=I.max.x-I.min.x+2*b.x,V=I.max.y-I.min.y+2*b.y,N=p.canvas.height,G=p.canvas.width,D=G/N,F=A/V,E=1,H=1;if(F>D)H=F/D;else E=D/F;if(p.options.hasBounds=!0,p.bounds.min.x=I.min.x,p.bounds.max.x=I.min.x+A*E,p.bounds.min.y=I.min.y,p.bounds.max.y=I.min.y+V*H,y)p.bounds.min.x+=A*0.5-A*E*0.5,p.bounds.max.x+=A*0.5-A*E*0.5,p.bounds.min.y+=V*0.5-V*H*0.5,p.bounds.max.y+=V*0.5-V*H*0.5;if(p.bounds.min.x-=b.x,p.bounds.max.x-=b.x,p.bounds.min.y-=b.y,p.bounds.max.y-=b.y,p.mouse)d.setScale(p.mouse,{x:(p.bounds.max.x-p.bounds.min.x)/p.canvas.width,y:(p.bounds.max.y-p.bounds.min.y)/p.canvas.height}),d.setOffset(p.mouse,p.bounds.min)},r.startViewTransform=function(p){var w=p.bounds.max.x-p.bounds.min.x,b=p.bounds.max.y-p.bounds.min.y,y=w/p.options.width,I=b/p.options.height;p.context.setTransform(p.options.pixelRatio/y,0,0,p.options.pixelRatio/I,0,0),p.context.translate(-p.bounds.min.x,-p.bounds.min.y)},r.endViewTransform=function(p){p.context.setTransform(p.options.pixelRatio,0,0,p.options.pixelRatio,0,0)},r.world=function(p,w){var b=n.now(),y=p.engine,I=y.world,O=p.canvas,K=p.context,j=p.options,T=p.timing,A=t.allBodies(I),V=t.allConstraints(I),N=j.wireframes?j.wireframeBackground:j.background,G=[],D=[],F,E={timestamp:y.timing.timestamp};if(o.trigger(p,"beforeRender",E),p.currentBackground!==N)z(p,N);if(K.globalCompositeOperation="source-in",K.fillStyle="transparent",K.fillRect(0,0,O.width,O.height),K.globalCompositeOperation="source-over",j.hasBounds){for(F=0;F<A.length;F++){var H=A[F];if(l.overlaps(H.bounds,p.bounds))G.push(H)}for(F=0;F<V.length;F++){var M=V[F],Q=M.bodyA,L=M.bodyB,_=M.pointA,i1=M.pointB;if(Q)_=s.add(Q.position,M.pointA);if(L)i1=s.add(L.position,M.pointB);if(!_||!i1)continue;if(l.contains(p.bounds,_)||l.contains(p.bounds,i1))D.push(M)}if(r.startViewTransform(p),p.mouse)d.setScale(p.mouse,{x:(p.bounds.max.x-p.bounds.min.x)/p.options.width,y:(p.bounds.max.y-p.bounds.min.y)/p.options.height}),d.setOffset(p.mouse,p.bounds.min)}else if(D=V,G=A,p.options.pixelRatio!==1)p.context.setTransform(p.options.pixelRatio,0,0,p.options.pixelRatio,0,0);if(!j.wireframes||y.enableSleeping&&j.showSleeping)r.bodies(p,G,K);else{if(j.showConvexHulls)r.bodyConvexHulls(p,G,K);r.bodyWireframes(p,G,K)}if(j.showBounds)r.bodyBounds(p,G,K);if(j.showAxes||j.showAngleIndicator)r.bodyAxes(p,G,K);if(j.showPositions)r.bodyPositions(p,G,K);if(j.showVelocity)r.bodyVelocity(p,G,K);if(j.showIds)r.bodyIds(p,G,K);if(j.showSeparations)r.separations(p,y.pairs.list,K);if(j.showCollisions)r.collisions(p,y.pairs.list,K);if(j.showVertexNumbers)r.vertexNumbers(p,G,K);if(j.showMousePosition)r.mousePosition(p,p.mouse,K);if(r.constraints(D,K),j.hasBounds)r.endViewTransform(p);o.trigger(p,"afterRender",E),T.lastElapsed=n.now()-b},r.stats=function(p,w,b){var y=p.engine,I=y.world,O=t.allBodies(I),K=0,j=55,T=44,A=0,V=0;for(var N=0;N<O.length;N+=1)K+=O[N].parts.length;var G={Part:K,Body:O.length,Cons:t.allConstraints(I).length,Comp:t.allComposites(I).length,Pair:y.pairs.list.length};w.fillStyle="#0e0f19",w.fillRect(A,V,j*5.5,T),w.font="12px Arial",w.textBaseline="top",w.textAlign="right";for(var D in G){var F=G[D];w.fillStyle="#aaa",w.fillText(D,A+j,V+8),w.fillStyle="#eee",w.fillText(F,A+j,V+26),A+=j}},r.performance=function(p,w){var{engine:b,timing:y}=p,I=y.deltaHistory,O=y.elapsedHistory,K=y.timestampElapsedHistory,j=y.engineDeltaHistory,T=y.engineElapsedHistory,A=b.timing.lastDelta,V=f(I),N=f(O),G=f(j),D=f(T),F=f(K),E=F/V||0,H=1000/V||0,M=4,Q=12,L=60,_=34,i1=10,l1=69;w.fillStyle="#0e0f19",w.fillRect(0,50,Q*4+L*5+22,_),r.status(w,i1,l1,L,M,I.length,Math.round(H)+" fps",H/r._goodFps,function(c1){return I[c1]/V-1}),r.status(w,i1+Q+L,l1,L,M,j.length,A.toFixed(2)+" dt",r._goodDelta/A,function(c1){return j[c1]/G-1}),r.status(w,i1+(Q+L)*2,l1,L,M,T.length,D.toFixed(2)+" ut",1-D/r._goodFps,function(c1){return T[c1]/D-1}),r.status(w,i1+(Q+L)*3,l1,L,M,O.length,N.toFixed(2)+" rt",1-N/r._goodFps,function(c1){return O[c1]/N-1}),r.status(w,i1+(Q+L)*4,l1,L,M,K.length,E.toFixed(2)+" x",E*E*E,function(c1){return(K[c1]/I[c1]/E||0)-1})},r.status=function(p,w,b,y,I,O,K,j,T){p.strokeStyle="#888",p.fillStyle="#444",p.lineWidth=1,p.fillRect(w,b+7,y,1),p.beginPath(),p.moveTo(w,b+7-I*n.clamp(0.4*T(0),-2,2));for(var A=0;A<y;A+=1)p.lineTo(w+A,b+7-(A<O?I*n.clamp(0.4*T(A),-2,2):0));p.stroke(),p.fillStyle="hsl("+n.clamp(25+95*j,0,120)+",100%,60%)",p.fillRect(w,b-7,4,4),p.font="12px Arial",p.textBaseline="middle",p.textAlign="right",p.fillStyle="#eee",p.fillText(K,w+y,b-5)},r.constraints=function(p,w){var b=w;for(var y=0;y<p.length;y++){var I=p[y];if(!I.render.visible||!I.pointA||!I.pointB)continue;var{bodyA:O,bodyB:K}=I,j,T;if(O)j=s.add(O.position,I.pointA);else j=I.pointA;if(I.render.type==="pin")b.beginPath(),b.arc(j.x,j.y,3,0,2*Math.PI),b.closePath();else{if(K)T=s.add(K.position,I.pointB);else T=I.pointB;if(b.beginPath(),b.moveTo(j.x,j.y),I.render.type==="spring"){var A=s.sub(T,j),V=s.perp(s.normalise(A)),N=Math.ceil(n.clamp(I.length/5,12,20)),G;for(var D=1;D<N;D+=1)G=D%2===0?1:-1,b.lineTo(j.x+A.x*(D/N)+V.x*G*4,j.y+A.y*(D/N)+V.y*G*4)}b.lineTo(T.x,T.y)}if(I.render.lineWidth)b.lineWidth=I.render.lineWidth,b.strokeStyle=I.render.strokeStyle,b.stroke();if(I.render.anchors)b.fillStyle=I.render.strokeStyle,b.beginPath(),b.arc(j.x,j.y,3,0,2*Math.PI),b.arc(T.x,T.y,3,0,2*Math.PI),b.closePath(),b.fill()}},r.bodies=function(p,w,b){var y=b,I=p.engine,O=p.options,K=O.showInternalEdges||!O.wireframes,j,T,A,V;for(A=0;A<w.length;A++){if(j=w[A],!j.render.visible)continue;for(V=j.parts.length>1?1:0;V<j.parts.length;V++){if(T=j.parts[V],!T.render.visible)continue;if(O.showSleeping&&j.isSleeping)y.globalAlpha=0.5*T.render.opacity;else if(T.render.opacity!==1)y.globalAlpha=T.render.opacity;if(T.render.sprite&&T.render.sprite.texture&&!O.wireframes){var N=T.render.sprite,G=x(p,N.texture);y.translate(T.position.x,T.position.y),y.rotate(T.angle),y.drawImage(G,G.width*-N.xOffset*N.xScale,G.height*-N.yOffset*N.yScale,G.width*N.xScale,G.height*N.yScale),y.rotate(-T.angle),y.translate(-T.position.x,-T.position.y)}else{if(T.circleRadius)y.beginPath(),y.arc(T.position.x,T.position.y,T.circleRadius,0,2*Math.PI);else{y.beginPath(),y.moveTo(T.vertices[0].x,T.vertices[0].y);for(var D=1;D<T.vertices.length;D++){if(!T.vertices[D-1].isInternal||K)y.lineTo(T.vertices[D].x,T.vertices[D].y);else y.moveTo(T.vertices[D].x,T.vertices[D].y);if(T.vertices[D].isInternal&&!K)y.moveTo(T.vertices[(D+1)%T.vertices.length].x,T.vertices[(D+1)%T.vertices.length].y)}y.lineTo(T.vertices[0].x,T.vertices[0].y),y.closePath()}if(!O.wireframes){if(y.fillStyle=T.render.fillStyle,T.render.lineWidth)y.lineWidth=T.render.lineWidth,y.strokeStyle=T.render.strokeStyle,y.stroke();y.fill()}else y.lineWidth=1,y.strokeStyle="#bbb",y.stroke()}y.globalAlpha=1}}},r.bodyWireframes=function(p,w,b){var y=b,I=p.options.showInternalEdges,O,K,j,T,A;y.beginPath();for(j=0;j<w.length;j++){if(O=w[j],!O.render.visible)continue;for(A=O.parts.length>1?1:0;A<O.parts.length;A++){K=O.parts[A],y.moveTo(K.vertices[0].x,K.vertices[0].y);for(T=1;T<K.vertices.length;T++){if(!K.vertices[T-1].isInternal||I)y.lineTo(K.vertices[T].x,K.vertices[T].y);else y.moveTo(K.vertices[T].x,K.vertices[T].y);if(K.vertices[T].isInternal&&!I)y.moveTo(K.vertices[(T+1)%K.vertices.length].x,K.vertices[(T+1)%K.vertices.length].y)}y.lineTo(K.vertices[0].x,K.vertices[0].y)}}y.lineWidth=1,y.strokeStyle="#bbb",y.stroke()},r.bodyConvexHulls=function(p,w,b){var y=b,I,O,K,j,T;y.beginPath();for(K=0;K<w.length;K++){if(I=w[K],!I.render.visible||I.parts.length===1)continue;y.moveTo(I.vertices[0].x,I.vertices[0].y);for(j=1;j<I.vertices.length;j++)y.lineTo(I.vertices[j].x,I.vertices[j].y);y.lineTo(I.vertices[0].x,I.vertices[0].y)}y.lineWidth=1,y.strokeStyle="rgba(255,255,255,0.2)",y.stroke()},r.vertexNumbers=function(p,w,b){var y=b,I,O,K;for(I=0;I<w.length;I++){var j=w[I].parts;for(K=j.length>1?1:0;K<j.length;K++){var T=j[K];for(O=0;O<T.vertices.length;O++)y.fillStyle="rgba(255,255,255,0.2)",y.fillText(I+"_"+O,T.position.x+(T.vertices[O].x-T.position.x)*0.8,T.position.y+(T.vertices[O].y-T.position.y)*0.8)}}},r.mousePosition=function(p,w,b){var y=b;y.fillStyle="rgba(255,255,255,0.8)",y.fillText(w.position.x+" "+w.position.y,w.position.x+5,w.position.y-5)},r.bodyBounds=function(p,w,b){var y=b,I=p.engine,O=p.options;y.beginPath();for(var K=0;K<w.length;K++){var j=w[K];if(j.render.visible){var T=w[K].parts;for(var A=T.length>1?1:0;A<T.length;A++){var V=T[A];y.rect(V.bounds.min.x,V.bounds.min.y,V.bounds.max.x-V.bounds.min.x,V.bounds.max.y-V.bounds.min.y)}}}if(O.wireframes)y.strokeStyle="rgba(255,255,255,0.08)";else y.strokeStyle="rgba(0,0,0,0.1)";y.lineWidth=1,y.stroke()},r.bodyAxes=function(p,w,b){var y=b,I=p.engine,O=p.options,K,j,T,A;y.beginPath();for(j=0;j<w.length;j++){var V=w[j],N=V.parts;if(!V.render.visible)continue;if(O.showAxes)for(T=N.length>1?1:0;T<N.length;T++){K=N[T];for(A=0;A<K.axes.length;A++){var G=K.axes[A];y.moveTo(K.position.x,K.position.y),y.lineTo(K.position.x+G.x*20,K.position.y+G.y*20)}}else for(T=N.length>1?1:0;T<N.length;T++){K=N[T];for(A=0;A<K.axes.length;A++)y.moveTo(K.position.x,K.position.y),y.lineTo((K.vertices[0].x+K.vertices[K.vertices.length-1].x)/2,(K.vertices[0].y+K.vertices[K.vertices.length-1].y)/2)}}if(O.wireframes)y.strokeStyle="indianred",y.lineWidth=1;else y.strokeStyle="rgba(255, 255, 255, 0.4)",y.globalCompositeOperation="overlay",y.lineWidth=2;y.stroke(),y.globalCompositeOperation="source-over"},r.bodyPositions=function(p,w,b){var y=b,I=p.engine,O=p.options,K,j,T,A;y.beginPath();for(T=0;T<w.length;T++){if(K=w[T],!K.render.visible)continue;for(A=0;A<K.parts.length;A++)j=K.parts[A],y.arc(j.position.x,j.position.y,3,0,2*Math.PI,!1),y.closePath()}if(O.wireframes)y.fillStyle="indianred";else y.fillStyle="rgba(0,0,0,0.5)";y.fill(),y.beginPath();for(T=0;T<w.length;T++)if(K=w[T],K.render.visible)y.arc(K.positionPrev.x,K.positionPrev.y,2,0,2*Math.PI,!1),y.closePath();y.fillStyle="rgba(255,165,0,0.8)",y.fill()},r.bodyVelocity=function(p,w,b){var y=b;y.beginPath();for(var I=0;I<w.length;I++){var O=w[I];if(!O.render.visible)continue;y.moveTo(O.position.x,O.position.y),y.lineTo(O.position.x+(O.position.x-O.positionPrev.x)*2,O.position.y+(O.position.y-O.positionPrev.y)*2)}y.lineWidth=3,y.strokeStyle="cornflowerblue",y.stroke()},r.bodyIds=function(p,w,b){var y=b,I,O;for(I=0;I<w.length;I++){if(!w[I].render.visible)continue;var K=w[I].parts;for(O=K.length>1?1:0;O<K.length;O++){var j=K[O];y.font="12px Arial",y.fillStyle="rgba(255,255,255,0.5)",y.fillText(j.id,j.position.x+10,j.position.y-10)}}},r.collisions=function(p,w,b){var y=b,I=p.options,O,K,j,T,A,V,N;y.beginPath();for(V=0;V<w.length;V++){if(O=w[V],!O.isActive)continue;K=O.collision;for(N=0;N<O.activeContacts.length;N++){var G=O.activeContacts[N],D=G.vertex;y.rect(D.x-1.5,D.y-1.5,3.5,3.5)}}if(I.wireframes)y.fillStyle="rgba(255,255,255,0.7)";else y.fillStyle="orange";y.fill(),y.beginPath();for(V=0;V<w.length;V++){if(O=w[V],!O.isActive)continue;if(K=O.collision,O.activeContacts.length>0){var F=O.activeContacts[0].vertex.x,E=O.activeContacts[0].vertex.y;if(O.activeContacts.length===2)F=(O.activeContacts[0].vertex.x+O.activeContacts[1].vertex.x)/2,E=(O.activeContacts[0].vertex.y+O.activeContacts[1].vertex.y)/2;if(K.bodyB===K.supports[0].body||K.bodyA.isStatic===!0)y.moveTo(F-K.normal.x*8,E-K.normal.y*8);else y.moveTo(F+K.normal.x*8,E+K.normal.y*8);y.lineTo(F,E)}}if(I.wireframes)y.strokeStyle="rgba(255,165,0,0.7)";else y.strokeStyle="orange";y.lineWidth=1,y.stroke()},r.separations=function(p,w,b){var y=b,I=p.options,O,K,j,T,A,V,N;y.beginPath();for(V=0;V<w.length;V++){if(O=w[V],!O.isActive)continue;K=O.collision,T=K.bodyA,A=K.bodyB;var G=1;if(!A.isStatic&&!T.isStatic)G=0.5;if(A.isStatic)G=0;if(y.moveTo(A.position.x,A.position.y),y.lineTo(A.position.x-K.penetration.x*G,A.position.y-K.penetration.y*G),G=1,!A.isStatic&&!T.isStatic)G=0.5;if(T.isStatic)G=0;y.moveTo(T.position.x,T.position.y),y.lineTo(T.position.x+K.penetration.x*G,T.position.y+K.penetration.y*G)}if(I.wireframes)y.strokeStyle="rgba(255,165,0,0.5)";else y.strokeStyle="orange";y.stroke()},r.inspector=function(p,w){var{engine:b,selected:y,render:I}=p,O=I.options,K;if(O.hasBounds){var j=I.bounds.max.x-I.bounds.min.x,T=I.bounds.max.y-I.bounds.min.y,A=j/I.options.width,V=T/I.options.height;w.scale(1/A,1/V),w.translate(-I.bounds.min.x,-I.bounds.min.y)}for(var N=0;N<y.length;N++){var G=y[N].data;switch(w.translate(0.5,0.5),w.lineWidth=1,w.strokeStyle="rgba(255,165,0,0.9)",w.setLineDash([1,2]),G.type){case"body":K=G.bounds,w.beginPath(),w.rect(Math.floor(K.min.x-3),Math.floor(K.min.y-3),Math.floor(K.max.x-K.min.x+6),Math.floor(K.max.y-K.min.y+6)),w.closePath(),w.stroke();break;case"constraint":var D=G.pointA;if(G.bodyA)D=G.pointB;w.beginPath(),w.arc(D.x,D.y,10,0,2*Math.PI),w.closePath(),w.stroke();break}w.setLineDash([]),w.translate(-0.5,-0.5)}if(p.selectStart!==null)w.translate(0.5,0.5),w.lineWidth=1,w.strokeStyle="rgba(255,165,0,0.6)",w.fillStyle="rgba(255,165,0,0.1)",K=p.selectBounds,w.beginPath(),w.rect(Math.floor(K.min.x),Math.floor(K.min.y),Math.floor(K.max.x-K.min.x),Math.floor(K.max.y-K.min.y)),w.closePath(),w.stroke(),w.fill(),w.translate(-0.5,-0.5);if(O.hasBounds)w.setTransform(1,0,0,1,0,0)};var h=function(p,w){var{engine:b,timing:y}=p,I=y.historySize,O=b.timing.timestamp;y.delta=w-y.lastTime||r._goodDelta,y.lastTime=w,y.timestampElapsed=O-y.lastTimestamp||0,y.lastTimestamp=O,y.deltaHistory.unshift(y.delta),y.deltaHistory.length=Math.min(y.deltaHistory.length,I),y.engineDeltaHistory.unshift(b.timing.lastDelta),y.engineDeltaHistory.length=Math.min(y.engineDeltaHistory.length,I),y.timestampElapsedHistory.unshift(y.timestampElapsed),y.timestampElapsedHistory.length=Math.min(y.timestampElapsedHistory.length,I),y.engineElapsedHistory.unshift(b.timing.lastElapsed),y.engineElapsedHistory.length=Math.min(y.engineElapsedHistory.length,I),y.elapsedHistory.unshift(y.lastElapsed),y.elapsedHistory.length=Math.min(y.elapsedHistory.length,I)},f=function(p){var w=0;for(var b=0;b<p.length;b+=1)w+=p[b];return w/p.length||0},v=function(p,w){var b=document.createElement("canvas");return b.width=p,b.height=w,b.oncontextmenu=function(){return!1},b.onselectstart=function(){return!1},b},g=function(p){var w=p.getContext("2d"),b=window.devicePixelRatio||1,y=w.webkitBackingStorePixelRatio||w.mozBackingStorePixelRatio||w.msBackingStorePixelRatio||w.oBackingStorePixelRatio||w.backingStorePixelRatio||1;return b/y},x=function(p,w){var b=p.textures[w];if(b)return b;return b=p.textures[w]=new Image,b.src=w,b},z=function(p,w){var b=w;if(/(jpg|gif|png)$/.test(w))b="url("+w+")";p.canvas.style.background=b,p.canvas.style.backgroundSize="contain",p.currentBackground=w}})()},function(a,e){var i={};a.exports=i,function(){i.create=function(r){return{vertex:r,normalImpulse:0,tangentImpulse:0}}}()},function(a,e,i){var r={};a.exports=r;var n=i(7),t=i(19),l=i(14),o=i(20),s=i(4),d=i(5),c=i(10),m=i(0),h=i(6);(function(){r.create=function(f){f=f||{};var v={positionIterations:6,velocityIterations:4,constraintIterations:2,enableSleeping:!1,events:[],plugin:{},gravity:{x:0,y:1,scale:0.001},timing:{timestamp:0,timeScale:1,lastDelta:0,lastElapsed:0}},g=m.extend(v,f);return g.world=f.world||d.create({label:"World"}),g.pairs=f.pairs||o.create(),g.detector=f.detector||l.create(),g.grid={buckets:[]},g.world.gravity=g.gravity,g.broadphase=g.grid,g.metrics={},g},r.update=function(f,v,g){var x=m.now();v=v||16.666666666666668,g=g||1;var{world:z,detector:p,pairs:w,timing:b}=f,y=b.timestamp,I;b.timestamp+=v*b.timeScale,b.lastDelta=v*b.timeScale;var O={timestamp:b.timestamp};s.trigger(f,"beforeUpdate",O);var K=d.allBodies(z),j=d.allConstraints(z);if(z.isModified)l.setBodies(p,K);if(z.isModified)d.setModified(z,!1,!1,!0);if(f.enableSleeping)n.update(K,b.timeScale);r._bodiesApplyGravity(K,f.gravity),r._bodiesUpdate(K,v,b.timeScale,g,z.bounds),c.preSolveAll(K);for(I=0;I<f.constraintIterations;I++)c.solveAll(j,b.timeScale);c.postSolveAll(K),p.pairs=f.pairs;var T=l.collisions(p);if(o.update(w,T,y),f.enableSleeping)n.afterCollisions(w.list,b.timeScale);if(w.collisionStart.length>0)s.trigger(f,"collisionStart",{pairs:w.collisionStart});t.preSolvePosition(w.list);for(I=0;I<f.positionIterations;I++)t.solvePosition(w.list,b.timeScale);t.postSolvePosition(K),c.preSolveAll(K);for(I=0;I<f.constraintIterations;I++)c.solveAll(j,b.timeScale);c.postSolveAll(K),t.preSolveVelocity(w.list);for(I=0;I<f.velocityIterations;I++)t.solveVelocity(w.list,b.timeScale);if(w.collisionActive.length>0)s.trigger(f,"collisionActive",{pairs:w.collisionActive});if(w.collisionEnd.length>0)s.trigger(f,"collisionEnd",{pairs:w.collisionEnd});return r._bodiesClearForces(K),s.trigger(f,"afterUpdate",O),f.timing.lastElapsed=m.now()-x,f},r.merge=function(f,v){if(m.extend(f,v),v.world){f.world=v.world,r.clear(f);var g=d.allBodies(f.world);for(var x=0;x<g.length;x++){var z=g[x];n.set(z,!1),z.id=m.nextId()}}},r.clear=function(f){o.clear(f.pairs),l.clear(f.detector)},r._bodiesClearForces=function(f){for(var v=0;v<f.length;v++){var g=f[v];g.force.x=0,g.force.y=0,g.torque=0}},r._bodiesApplyGravity=function(f,v){var g=typeof v.scale!=="undefined"?v.scale:0.001;if(v.x===0&&v.y===0||g===0)return;for(var x=0;x<f.length;x++){var z=f[x];if(z.isStatic||z.isSleeping)continue;z.force.y+=z.mass*v.y*g,z.force.x+=z.mass*v.x*g}},r._bodiesUpdate=function(f,v,g,x,z){for(var p=0;p<f.length;p++){var w=f[p];if(w.isStatic||w.isSleeping)continue;h.update(w,v,g,x)}}})()},function(a,e,i){var r={};a.exports=r;var n=i(3),t=i(1);(function(){r._restingThresh=4,r._restingThreshTangent=6,r._positionDampen=0.9,r._positionWarming=0.8,r._frictionNormalMultiplier=5,r.preSolvePosition=function(l){var o,s,d,c=l.length;for(o=0;o<c;o++){if(s=l[o],!s.isActive)continue;d=s.activeContacts.length,s.collision.parentA.totalContacts+=d,s.collision.parentB.totalContacts+=d}},r.solvePosition=function(l,o){var s,d,c,m,h,f,v,g,x=r._positionDampen,z=l.length;for(s=0;s<z;s++){if(d=l[s],!d.isActive||d.isSensor)continue;c=d.collision,m=c.parentA,h=c.parentB,f=c.normal,d.separation=f.x*(h.positionImpulse.x+c.penetration.x-m.positionImpulse.x)+f.y*(h.positionImpulse.y+c.penetration.y-m.positionImpulse.y)}for(s=0;s<z;s++){if(d=l[s],!d.isActive||d.isSensor)continue;if(c=d.collision,m=c.parentA,h=c.parentB,f=c.normal,g=(d.separation-d.slop)*o,m.isStatic||h.isStatic)g*=2;if(!(m.isStatic||m.isSleeping))v=x/m.totalContacts,m.positionImpulse.x+=f.x*g*v,m.positionImpulse.y+=f.y*g*v;if(!(h.isStatic||h.isSleeping))v=x/h.totalContacts,h.positionImpulse.x-=f.x*g*v,h.positionImpulse.y-=f.y*g*v}},r.postSolvePosition=function(l){var o=r._positionWarming,s=l.length,d=n.translate,c=t.update;for(var m=0;m<s;m++){var h=l[m],f=h.positionImpulse,v=f.x,g=f.y,x=h.velocity;if(h.totalContacts=0,v!==0||g!==0){for(var z=0;z<h.parts.length;z++){var p=h.parts[z];d(p.vertices,f),c(p.bounds,p.vertices,x),p.position.x+=v,p.position.y+=g}if(h.positionPrev.x+=v,h.positionPrev.y+=g,v*x.x+g*x.y<0)f.x=0,f.y=0;else f.x*=o,f.y*=o}}},r.preSolveVelocity=function(l){var o=l.length,s,d;for(s=0;s<o;s++){var c=l[s];if(!c.isActive||c.isSensor)continue;var m=c.activeContacts,h=m.length,f=c.collision,v=f.parentA,g=f.parentB,x=f.normal,z=f.tangent;for(d=0;d<h;d++){var p=m[d],w=p.vertex,b=p.normalImpulse,y=p.tangentImpulse;if(b!==0||y!==0){var I=x.x*b+z.x*y,O=x.y*b+z.y*y;if(!(v.isStatic||v.isSleeping))v.positionPrev.x+=I*v.inverseMass,v.positionPrev.y+=O*v.inverseMass,v.anglePrev+=v.inverseInertia*((w.x-v.position.x)*O-(w.y-v.position.y)*I);if(!(g.isStatic||g.isSleeping))g.positionPrev.x-=I*g.inverseMass,g.positionPrev.y-=O*g.inverseMass,g.anglePrev-=g.inverseInertia*((w.x-g.position.x)*O-(w.y-g.position.y)*I)}}}},r.solveVelocity=function(l,o){var s=o*o,d=r._restingThresh*s,c=r._frictionNormalMultiplier,m=r._restingThreshTangent*s,h=Number.MAX_VALUE,f=l.length,v,g,x,z;for(x=0;x<f;x++){var p=l[x];if(!p.isActive||p.isSensor)continue;var w=p.collision,b=w.parentA,y=w.parentB,I=b.velocity,O=y.velocity,K=w.normal.x,j=w.normal.y,T=w.tangent.x,A=w.tangent.y,V=p.activeContacts,N=V.length,G=1/N,D=b.inverseMass+y.inverseMass,F=p.friction*p.frictionStatic*c*s;I.x=b.position.x-b.positionPrev.x,I.y=b.position.y-b.positionPrev.y,O.x=y.position.x-y.positionPrev.x,O.y=y.position.y-y.positionPrev.y,b.angularVelocity=b.angle-b.anglePrev,y.angularVelocity=y.angle-y.anglePrev;for(z=0;z<N;z++){var E=V[z],H=E.vertex,M=H.x-b.position.x,Q=H.y-b.position.y,L=H.x-y.position.x,_=H.y-y.position.y,i1=I.x-Q*b.angularVelocity,l1=I.y+M*b.angularVelocity,c1=O.x-_*y.angularVelocity,k1=O.y+L*y.angularVelocity,A1=i1-c1,ia=l1-k1,ta=K*A1+j*ia,T1=T*A1+A*ia,X1=p.separation+ta,ra=Math.min(X1,1);ra=X1<0?0:ra;var y1=ra*F;if(T1>y1||-T1>y1){if(g=T1>0?T1:-T1,v=p.friction*(T1>0?1:-1)*s,v<-g)v=-g;else if(v>g)v=g}else v=T1,g=h;var r1=M*j-Q*K,ga=L*j-_*K,ya=G/(D+b.inverseInertia*r1*r1+y.inverseInertia*ga*ga),ua=(1+p.restitution)*ta*ya;if(v*=ya,ta*ta>d&&ta<0)E.normalImpulse=0;else{var wa=E.normalImpulse;E.normalImpulse+=ua,E.normalImpulse=Math.min(E.normalImpulse,0),ua=E.normalImpulse-wa}if(T1*T1>m)E.tangentImpulse=0;else{var xa=E.tangentImpulse;if(E.tangentImpulse+=v,E.tangentImpulse<-g)E.tangentImpulse=-g;if(E.tangentImpulse>g)E.tangentImpulse=g;v=E.tangentImpulse-xa}var da=K*ua+T*v,D1=j*ua+A*v;if(!(b.isStatic||b.isSleeping))b.positionPrev.x+=da*b.inverseMass,b.positionPrev.y+=D1*b.inverseMass,b.anglePrev+=(M*D1-Q*da)*b.inverseInertia;if(!(y.isStatic||y.isSleeping))y.positionPrev.x-=da*y.inverseMass,y.positionPrev.y-=D1*y.inverseMass,y.anglePrev-=(L*D1-_*da)*y.inverseInertia}}}})()},function(a,e,i){var r={};a.exports=r;var n=i(9),t=i(0);(function(){r.create=function(l){return t.extend({table:{},list:[],collisionStart:[],collisionActive:[],collisionEnd:[]},l)},r.update=function(l,o,s){var d=l.list,c=d.length,m=l.table,h=o.length,f=l.collisionStart,v=l.collisionEnd,g=l.collisionActive,x,z,p,w;f.length=0,v.length=0,g.length=0;for(w=0;w<c;w++)d[w].confirmedActive=!1;for(w=0;w<h;w++)if(x=o[w],p=x.pair,p){if(p.isActive)g.push(p);else f.push(p);n.update(p,x,s),p.confirmedActive=!0}else p=n.create(x,s),m[p.id]=p,f.push(p),d.push(p);var b=[];c=d.length;for(w=0;w<c;w++)if(p=d[w],!p.confirmedActive){if(n.setActive(p,!1,s),v.push(p),!p.collision.bodyA.isSleeping&&!p.collision.bodyB.isSleeping)b.push(w)}for(w=0;w<b.length;w++)z=b[w]-w,p=d[z],d.splice(z,1),delete m[p.id]},r.clear=function(l){return l.table={},l.list.length=0,l.collisionStart.length=0,l.collisionActive.length=0,l.collisionEnd.length=0,l}})()},function(a,e,i){var r=a.exports=i(22);r.Axes=i(11),r.Bodies=i(12),r.Body=i(6),r.Bounds=i(1),r.Collision=i(8),r.Common=i(0),r.Composite=i(5),r.Composites=i(23),r.Constraint=i(10),r.Contact=i(17),r.Detector=i(14),r.Engine=i(18),r.Events=i(4),r.Grid=i(24),r.Mouse=i(13),r.MouseConstraint=i(25),r.Pair=i(9),r.Pairs=i(20),r.Plugin=i(15),r.Query=i(26),r.Render=i(16),r.Resolver=i(19),r.Runner=i(27),r.SAT=i(28),r.Sleeping=i(7),r.Svg=i(29),r.Vector=i(2),r.Vertices=i(3),r.World=i(30),r.Engine.run=r.Runner.run,r.Common.deprecated(r.Engine,"run","Engine.run ➤ use Matter.Runner.run(engine) instead")},function(a,e,i){var r={};a.exports=r;var n=i(15),t=i(0);(function(){r.name="matter-js",r.version="0.18.0",r.uses=[],r.used=[],r.use=function(){n.use(r,Array.prototype.slice.call(arguments))},r.before=function(l,o){return l=l.replace(/^Matter./,""),t.chainPathBefore(r,l,o)},r.after=function(l,o){return l=l.replace(/^Matter./,""),t.chainPathAfter(r,l,o)}})()},function(a,e,i){var r={};a.exports=r;var n=i(5),t=i(10),l=i(0),o=i(6),s=i(12),d=l.deprecated;(function(){r.stack=function(c,m,h,f,v,g,x){var z=n.create({label:"Stack"}),p=c,w=m,b,y=0;for(var I=0;I<f;I++){var O=0;for(var K=0;K<h;K++){var j=x(p,w,K,I,b,y);if(j){var T=j.bounds.max.y-j.bounds.min.y,A=j.bounds.max.x-j.bounds.min.x;if(T>O)O=T;o.translate(j,{x:A*0.5,y:T*0.5}),p=j.bounds.max.x+v,n.addBody(z,j),b=j,y+=1}else p+=v}w+=O+g,p=c}return z},r.chain=function(c,m,h,f,v,g){var x=c.bodies;for(var z=1;z<x.length;z++){var p=x[z-1],w=x[z],b=p.bounds.max.y-p.bounds.min.y,y=p.bounds.max.x-p.bounds.min.x,I=w.bounds.max.y-w.bounds.min.y,O=w.bounds.max.x-w.bounds.min.x,K={bodyA:p,pointA:{x:y*m,y:b*h},bodyB:w,pointB:{x:O*f,y:I*v}},j=l.extend(K,g);n.addConstraint(c,t.create(j))}return c.label+=" Chain",c},r.mesh=function(c,m,h,f,v){var g=c.bodies,x,z,p,w,b;for(x=0;x<h;x++){for(z=1;z<m;z++)p=g[z-1+x*m],w=g[z+x*m],n.addConstraint(c,t.create(l.extend({bodyA:p,bodyB:w},v)));if(x>0)for(z=0;z<m;z++){if(p=g[z+(x-1)*m],w=g[z+x*m],n.addConstraint(c,t.create(l.extend({bodyA:p,bodyB:w},v))),f&&z>0)b=g[z-1+(x-1)*m],n.addConstraint(c,t.create(l.extend({bodyA:b,bodyB:w},v)));if(f&&z<m-1)b=g[z+1+(x-1)*m],n.addConstraint(c,t.create(l.extend({bodyA:b,bodyB:w},v)))}}return c.label+=" Mesh",c},r.pyramid=function(c,m,h,f,v,g,x){return r.stack(c,m,h,f,v,g,function(z,p,w,b,y,I){var O=Math.min(f,Math.ceil(h/2)),K=y?y.bounds.max.x-y.bounds.min.x:0;if(b>O)return;b=O-b;var j=b,T=h-1-b;if(w<j||w>T)return;if(I===1)o.translate(y,{x:(w+(h%2===1?1:-1))*K,y:0});var A=y?w*K:0;return x(c+A+w*v,p,w,b,y,I)})},r.newtonsCradle=function(c,m,h,f,v){var g=n.create({label:"Newtons Cradle"});for(var x=0;x<h;x++){var z=1.9,p=s.circle(c+x*(f*z),m+v,f,{inertia:1/0,restitution:1,friction:0,frictionAir:0.0001,slop:1}),w=t.create({pointA:{x:c+x*(f*z),y:m},bodyB:p});n.addBody(g,p),n.addConstraint(g,w)}return g},d(r,"newtonsCradle","Composites.newtonsCradle ➤ moved to newtonsCradle example"),r.car=function(c,m,h,f,v){var g=o.nextGroup(!0),x=20,z=-h*0.5+x,p=h*0.5-x,w=0,b=n.create({label:"Car"}),y=s.rectangle(c,m,h,f,{collisionFilter:{group:g},chamfer:{radius:f*0.5},density:0.0002}),I=s.circle(c+z,m+w,v,{collisionFilter:{group:g},friction:0.8}),O=s.circle(c+p,m+w,v,{collisionFilter:{group:g},friction:0.8}),K=t.create({bodyB:y,pointB:{x:z,y:w},bodyA:I,stiffness:1,length:0}),j=t.create({bodyB:y,pointB:{x:p,y:w},bodyA:O,stiffness:1,length:0});return n.addBody(b,y),n.addBody(b,I),n.addBody(b,O),n.addConstraint(b,K),n.addConstraint(b,j),b},d(r,"car","Composites.car ➤ moved to car example"),r.softBody=function(c,m,h,f,v,g,x,z,p,w){p=l.extend({inertia:1/0},p),w=l.extend({stiffness:0.2,render:{type:"line",anchors:!1}},w);var b=r.stack(c,m,h,f,v,g,function(y,I){return s.circle(y,I,z,p)});return r.mesh(b,h,f,x,w),b.label="Soft Body",b},d(r,"softBody","Composites.softBody ➤ moved to softBody and cloth examples")})()},function(a,e,i){var r={};a.exports=r;var n=i(9),t=i(0),l=t.deprecated;(function(){r.create=function(o){var s={buckets:{},pairs:{},pairsList:[],bucketWidth:48,bucketHeight:48};return t.extend(s,o)},r.update=function(o,s,d,c){var m,h,f,v=d.world,g=o.buckets,x,z,p=!1;for(m=0;m<s.length;m++){var w=s[m];if(w.isSleeping&&!c)continue;if(v.bounds&&(w.bounds.max.x<v.bounds.min.x||w.bounds.min.x>v.bounds.max.x||w.bounds.max.y<v.bounds.min.y||w.bounds.min.y>v.bounds.max.y))continue;var b=r._getRegion(o,w);if(!w.region||b.id!==w.region.id||c){if(!w.region||c)w.region=b;var y=r._regionUnion(b,w.region);for(h=y.startCol;h<=y.endCol;h++)for(f=y.startRow;f<=y.endRow;f++){z=r._getBucketId(h,f),x=g[z];var I=h>=b.startCol&&h<=b.endCol&&f>=b.startRow&&f<=b.endRow,O=h>=w.region.startCol&&h<=w.region.endCol&&f>=w.region.startRow&&f<=w.region.endRow;if(!I&&O){if(O){if(x)r._bucketRemoveBody(o,x,w)}}if(w.region===b||I&&!O||c){if(!x)x=r._createBucket(g,z);r._bucketAddBody(o,x,w)}}w.region=b,p=!0}}if(p)o.pairsList=r._createActivePairsList(o)},l(r,"update","Grid.update ➤ replaced by Matter.Detector"),r.clear=function(o){o.buckets={},o.pairs={},o.pairsList=[]},l(r,"clear","Grid.clear ➤ replaced by Matter.Detector"),r._regionUnion=function(o,s){var d=Math.min(o.startCol,s.startCol),c=Math.max(o.endCol,s.endCol),m=Math.min(o.startRow,s.startRow),h=Math.max(o.endRow,s.endRow);return r._createRegion(d,c,m,h)},r._getRegion=function(o,s){var d=s.bounds,c=Math.floor(d.min.x/o.bucketWidth),m=Math.floor(d.max.x/o.bucketWidth),h=Math.floor(d.min.y/o.bucketHeight),f=Math.floor(d.max.y/o.bucketHeight);return r._createRegion(c,m,h,f)},r._createRegion=function(o,s,d,c){return{id:o+","+s+","+d+","+c,startCol:o,endCol:s,startRow:d,endRow:c}},r._getBucketId=function(o,s){return"C"+o+"R"+s},r._createBucket=function(o,s){var d=o[s]=[];return d},r._bucketAddBody=function(o,s,d){var c=o.pairs,m=n.id,h=s.length,f;for(f=0;f<h;f++){var v=s[f];if(d.id===v.id||d.isStatic&&v.isStatic)continue;var g=m(d,v),x=c[g];if(x)x[2]+=1;else c[g]=[d,v,1]}s.push(d)},r._bucketRemoveBody=function(o,s,d){var c=o.pairs,m=n.id,h;s.splice(t.indexOf(s,d),1);var f=s.length;for(h=0;h<f;h++){var v=c[m(d,s[h])];if(v)v[2]-=1}},r._createActivePairsList=function(o){var s,d=o.pairs,c=t.keys(d),m=c.length,h=[],f;for(f=0;f<m;f++)if(s=d[c[f]],s[2]>0)h.push(s);else delete d[c[f]];return h}})()},function(a,e,i){var r={};a.exports=r;var n=i(3),t=i(7),l=i(13),o=i(4),s=i(14),d=i(10),c=i(5),m=i(0),h=i(1);(function(){r.create=function(f,v){var g=(f?f.mouse:null)||(v?v.mouse:null);if(!g)if(f&&f.render&&f.render.canvas)g=l.create(f.render.canvas);else if(v&&v.element)g=l.create(v.element);else g=l.create(),m.warn("MouseConstraint.create: options.mouse was undefined, options.element was undefined, may not function as expected");var x=d.create({label:"Mouse Constraint",pointA:g.position,pointB:{x:0,y:0},length:0.01,stiffness:0.1,angularStiffness:1,render:{strokeStyle:"#90EE90",lineWidth:3}}),z={type:"mouseConstraint",mouse:g,element:null,body:null,constraint:x,collisionFilter:{category:1,mask:4294967295,group:0}},p=m.extend(z,v);return o.on(f,"beforeUpdate",function(){var w=c.allBodies(f.world);r.update(p,w),r._triggerEvents(p)}),p},r.update=function(f,v){var{mouse:g,constraint:x,body:z}=f;if(g.button===0)if(!x.bodyB){for(var p=0;p<v.length;p++)if(z=v[p],h.contains(z.bounds,g.position)&&s.canCollide(z.collisionFilter,f.collisionFilter))for(var w=z.parts.length>1?1:0;w<z.parts.length;w++){var b=z.parts[w];if(n.contains(b.vertices,g.position)){x.pointA=g.position,x.bodyB=f.body=z,x.pointB={x:g.position.x-z.position.x,y:g.position.y-z.position.y},x.angleB=z.angle,t.set(z,!1),o.trigger(f,"startdrag",{mouse:g,body:z});break}}}else t.set(x.bodyB,!1),x.pointA=g.position;else if(x.bodyB=f.body=null,x.pointB=null,z)o.trigger(f,"enddrag",{mouse:g,body:z})},r._triggerEvents=function(f){var v=f.mouse,g=v.sourceEvents;if(g.mousemove)o.trigger(f,"mousemove",{mouse:v});if(g.mousedown)o.trigger(f,"mousedown",{mouse:v});if(g.mouseup)o.trigger(f,"mouseup",{mouse:v});l.clearSourceEvents(v)}})()},function(a,e,i){var r={};a.exports=r;var n=i(2),t=i(8),l=i(1),o=i(12),s=i(3);(function(){r.collides=function(d,c){var m=[],h=c.length,f=d.bounds,v=t.collides,g=l.overlaps;for(var x=0;x<h;x++){var z=c[x],p=z.parts.length,w=p===1?0:1;if(g(z.bounds,f))for(var b=w;b<p;b++){var y=z.parts[b];if(g(y.bounds,f)){var I=v(y,d);if(I){m.push(I);break}}}}return m},r.ray=function(d,c,m,h){h=h||0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001;var f=n.angle(c,m),v=n.magnitude(n.sub(c,m)),g=(m.x+c.x)*0.5,x=(m.y+c.y)*0.5,z=o.rectangle(g,x,v,h,{angle:f}),p=r.collides(z,d);for(var w=0;w<p.length;w+=1){var b=p[w];b.body=b.bodyB=b.bodyA}return p},r.region=function(d,c,m){var h=[];for(var f=0;f<d.length;f++){var v=d[f],g=l.overlaps(v.bounds,c);if(g&&!m||!g&&m)h.push(v)}return h},r.point=function(d,c){var m=[];for(var h=0;h<d.length;h++){var f=d[h];if(l.contains(f.bounds,c))for(var v=f.parts.length===1?0:1;v<f.parts.length;v++){var g=f.parts[v];if(l.contains(g.bounds,c)&&s.contains(g.vertices,c)){m.push(f);break}}}return m}})()},function(a,e,i){var r={};a.exports=r;var n=i(4),t=i(18),l=i(0);(function(){var o,s;if(typeof window!=="undefined")o=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame,s=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame;if(!o){var d;o=function(c){d=setTimeout(function(){c(l.now())},16.666666666666668)},s=function(){clearTimeout(d)}}r.create=function(c){var m={fps:60,correction:1,deltaSampleSize:60,counterTimestamp:0,frameCounter:0,deltaHistory:[],timePrev:null,timeScalePrev:1,frameRequestId:null,isFixed:!1,enabled:!0},h=l.extend(m,c);return h.delta=h.delta||1000/h.fps,h.deltaMin=h.deltaMin||1000/h.fps,h.deltaMax=h.deltaMax||1000/(h.fps*0.5),h.fps=1000/h.delta,h},r.run=function(c,m){if(typeof c.positionIterations!=="undefined")m=c,c=r.create();return function h(f){if(c.frameRequestId=o(h),f&&c.enabled)r.tick(c,m,f)}(),c},r.tick=function(c,m,h){var f=m.timing,v=1,g,x={timestamp:f.timestamp};if(n.trigger(c,"beforeTick",x),c.isFixed)g=c.delta;else g=h-c.timePrev||c.delta,c.timePrev=h,c.deltaHistory.push(g),c.deltaHistory=c.deltaHistory.slice(-c.deltaSampleSize),g=Math.min.apply(null,c.deltaHistory),g=g<c.deltaMin?c.deltaMin:g,g=g>c.deltaMax?c.deltaMax:g,v=g/c.delta,c.delta=g;if(c.timeScalePrev!==0)v*=f.timeScale/c.timeScalePrev;if(f.timeScale===0)v=0;if(c.timeScalePrev=f.timeScale,c.correction=v,c.frameCounter+=1,h-c.counterTimestamp>=1000)c.fps=c.frameCounter*((h-c.counterTimestamp)/1000),c.counterTimestamp=h,c.frameCounter=0;n.trigger(c,"tick",x),n.trigger(c,"beforeUpdate",x),t.update(m,g,v),n.trigger(c,"afterUpdate",x),n.trigger(c,"afterTick",x)},r.stop=function(c){s(c.frameRequestId)},r.start=function(c,m){r.run(c,m)}})()},function(a,e,i){var r={};a.exports=r;var n=i(8),t=i(0),l=t.deprecated;(function(){r.collides=function(o,s){return n.collides(o,s)},l(r,"collides","SAT.collides ➤ replaced by Collision.collides")})()},function(a,e,i){var r={};a.exports=r;var n=i(1),t=i(0);(function(){r.pathToVertices=function(l,o){if(typeof window!=="undefined"&&!("SVGPathSeg"in window))t.warn("Svg.pathToVertices: SVGPathSeg not defined, a polyfill is required.");var s,d,c,m,h,f,v,g,x,z,p=[],w,b,y=0,I=0,O=0;o=o||15;var K=function(T,A,V){var N=V%2===1&&V>1;if(!x||T!=x.x||A!=x.y){if(x&&N)w=x.x,b=x.y;else w=0,b=0;var G={x:w+T,y:b+A};if(N||!x)x=G;p.push(G),I=w+T,O=b+A}},j=function(T){var A=T.pathSegTypeAsLetter.toUpperCase();if(A==="Z")return;switch(A){case"M":case"L":case"T":case"C":case"S":case"Q":I=T.x,O=T.y;break;case"H":I=T.x;break;case"V":O=T.y;break}K(I,O,T.pathSegType)};r._svgPathToAbsolute(l),c=l.getTotalLength(),f=[];for(s=0;s<l.pathSegList.numberOfItems;s+=1)f.push(l.pathSegList.getItem(s));v=f.concat();while(y<c){if(z=l.getPathSegAtLength(y),h=f[z],h!=g){while(v.length&&v[0]!=h)j(v.shift());g=h}switch(h.pathSegTypeAsLetter.toUpperCase()){case"C":case"T":case"S":case"Q":case"A":m=l.getPointAtLength(y),K(m.x,m.y,0);break}y+=o}for(s=0,d=v.length;s<d;++s)j(v[s]);return p},r._svgPathToAbsolute=function(l){var o,s,d,c,m,h,f=l.pathSegList,v=0,g=0,x=f.numberOfItems;for(var z=0;z<x;++z){var p=f.getItem(z),w=p.pathSegTypeAsLetter;if(/[MLHVCSQTA]/.test(w)){if("x"in p)v=p.x;if("y"in p)g=p.y}else{if("x1"in p)d=v+p.x1;if("x2"in p)m=v+p.x2;if("y1"in p)c=g+p.y1;if("y2"in p)h=g+p.y2;if("x"in p)v+=p.x;if("y"in p)g+=p.y;switch(w){case"m":f.replaceItem(l.createSVGPathSegMovetoAbs(v,g),z);break;case"l":f.replaceItem(l.createSVGPathSegLinetoAbs(v,g),z);break;case"h":f.replaceItem(l.createSVGPathSegLinetoHorizontalAbs(v),z);break;case"v":f.replaceItem(l.createSVGPathSegLinetoVerticalAbs(g),z);break;case"c":f.replaceItem(l.createSVGPathSegCurvetoCubicAbs(v,g,d,c,m,h),z);break;case"s":f.replaceItem(l.createSVGPathSegCurvetoCubicSmoothAbs(v,g,m,h),z);break;case"q":f.replaceItem(l.createSVGPathSegCurvetoQuadraticAbs(v,g,d,c),z);break;case"t":f.replaceItem(l.createSVGPathSegCurvetoQuadraticSmoothAbs(v,g),z);break;case"a":f.replaceItem(l.createSVGPathSegArcAbs(v,g,p.r1,p.r2,p.angle,p.largeArcFlag,p.sweepFlag),z);break;case"z":case"Z":v=o,g=s;break}}if(w=="M"||w=="m")o=v,s=g}}})()},function(a,e,i){var r={};a.exports=r;var n=i(5),t=i(0);(function(){r.create=n.create,r.add=n.add,r.remove=n.remove,r.clear=n.clear,r.addComposite=n.addComposite,r.addBody=n.addBody,r.addConstraint=n.addConstraint})()}])})});var F6=C1((sZ,M6)=>{M6.exports=function a(e,i){if(e===i)return!0;if(e&&i&&typeof e=="object"&&typeof i=="object"){if(e.constructor!==i.constructor)return!1;var r,n,t;if(Array.isArray(e)){if(r=e.length,r!=i.length)return!1;for(n=r;n--!==0;)if(!a(e[n],i[n]))return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===i.toString();if(t=Object.keys(e),r=t.length,r!==Object.keys(i).length)return!1;for(n=r;n--!==0;)if(!Object.prototype.hasOwnProperty.call(i,t[n]))return!1;for(n=r;n--!==0;){var l=t[n];if(!a(e[l],i[l]))return!1}return!0}return e!==e&&i!==i}});class h0 extends Event{constructor(a,e,i,r){super("context-request",{bubbles:!0,composed:!0}),this.context=a,this.contextTarget=e,this.callback=i,this.subscribe=r??!1}}function Aa(a){return a}class j1{constructor(a,e,i,r){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(n,t)=>{this.unsubscribe&&(this.unsubscribe!==t&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=n,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(n,t)),this.unsubscribe=t},this.host=a,e.context!==void 0){let n=e;this.context=n.context,this.callback=n.callback,this.subscribe=n.subscribe??!1}else this.context=e,this.callback=i,this.subscribe=r??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new h0(this.context,this.host,this.t,this.subscribe))}}class f3{get value(){return this.o}set value(a){this.setValue(a)}setValue(a,e=!1){let i=e||!Object.is(a,this.o);this.o=a,i&&this.updateObservers()}constructor(a){this.subscriptions=new Map,this.updateObservers=()=>{for(let[e,{disposer:i}]of this.subscriptions)e(this.o,i)},a!==void 0&&(this.value=a)}addCallback(a,e,i){if(!i)return void a(this.value);this.subscriptions.has(a)||this.subscriptions.set(a,{disposer:()=>{this.subscriptions.delete(a)},consumerHost:e});let{disposer:r}=this.subscriptions.get(a);a(this.value,r)}clearCallbacks(){this.subscriptions.clear()}}class Q4 extends Event{constructor(a,e){super("context-provider",{bubbles:!0,composed:!0}),this.context=a,this.contextTarget=e}}class u0 extends f3{constructor(a,e,i){super(e.context!==void 0?e.initialValue:i),this.onContextRequest=(r)=>{if(r.context!==this.context)return;let n=r.contextTarget??r.composedPath()[0];n!==this.host&&(r.stopPropagation(),this.addCallback(r.callback,n,r.subscribe))},this.onProviderRequest=(r)=>{if(r.context!==this.context)return;if((r.contextTarget??r.composedPath()[0])===this.host)return;let n=new Set;for(let[t,{consumerHost:l}]of this.subscriptions)n.has(t)||(n.add(t),l.dispatchEvent(new h0(this.context,l,t,!0)));r.stopPropagation()},this.host=a,e.context!==void 0?this.context=e.context:this.context=e,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new Q4(this.context,this.host))}}function U({context:a,subscribe:e}){return(i,r)=>{typeof r=="object"?r.addInitializer(function(){new j1(this,{context:a,callback:(n)=>{i.set.call(this,n)},subscribe:e})}):i.constructor.addInitializer((n)=>{new j1(n,{context:a,callback:(t)=>{n[r]=t},subscribe:e})})}}var C2=globalThis,D2=C2.ShadowRoot&&(C2.ShadyCSS===void 0||C2.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,m3=Symbol(),Y4=new WeakMap;class N2{constructor(a,e,i){if(this._$cssResult$=!0,i!==m3)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=a,this.t=e}get styleSheet(){let a=this.o,e=this.t;if(D2&&a===void 0){let i=e!==void 0&&e.length===1;i&&(a=Y4.get(e)),a===void 0&&((this.o=a=new CSSStyleSheet).replaceSync(this.cssText),i&&Y4.set(e,a))}return a}toString(){return this.cssText}}var X4=(a)=>new N2(typeof a=="string"?a:a+"",void 0,m3),W=(a,...e)=>{let i=a.length===1?a[0]:e.reduce((r,n,t)=>r+((l)=>{if(l._$cssResult$===!0)return l.cssText;if(typeof l=="number")return l;throw Error("Value passed to 'css' function must be a 'css' function result: "+l+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+a[t+1],a[0]);return new N2(i,a,m3)},C4=(a,e)=>{if(D2)a.adoptedStyleSheets=e.map((i)=>i instanceof CSSStyleSheet?i:i.styleSheet);else for(let i of e){let r=document.createElement("style"),n=C2.litNonce;n!==void 0&&r.setAttribute("nonce",n),r.textContent=i.cssText,a.appendChild(r)}},g3=D2?(a)=>a:(a)=>a instanceof CSSStyleSheet?((e)=>{let i="";for(let r of e.cssRules)i+=r.cssText;return X4(i)})(a):a;var{is:Y8,defineProperty:X8,getOwnPropertyDescriptor:C8,getOwnPropertyNames:D8,getOwnPropertySymbols:N8,getPrototypeOf:G8}=Object,G2=globalThis,D4=G2.trustedTypes,P8=D4?D4.emptyScript:"",U8=G2.reactiveElementPolyfillSupport,d2=(a,e)=>a,c2={toAttribute(a,e){switch(e){case Boolean:a=a?P8:null;break;case Object:case Array:a=a==null?a:JSON.stringify(a)}return a},fromAttribute(a,e){let i=a;switch(e){case Boolean:i=a!==null;break;case Number:i=a===null?null:Number(a);break;case Object:case Array:try{i=JSON.parse(a)}catch(r){i=null}}return i}},P2=(a,e)=>!Y8(a,e),N4={attribute:!0,type:String,converter:c2,reflect:!1,useDefault:!1,hasChanged:P2};Symbol.metadata??=Symbol("metadata"),G2.litPropertyMetadata??=new WeakMap;class Pa extends HTMLElement{static addInitializer(a){this._$Ei(),(this.l??=[]).push(a)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(a,e=N4){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(a)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(a,e),!e.noAccessor){let i=Symbol(),r=this.getPropertyDescriptor(a,i,e);r!==void 0&&X8(this.prototype,a,r)}}static getPropertyDescriptor(a,e,i){let{get:r,set:n}=C8(this.prototype,a)??{get(){return this[e]},set(t){this[e]=t}};return{get:r,set(t){let l=r?.call(this);n?.call(this,t),this.requestUpdate(a,l,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(a){return this.elementProperties.get(a)??N4}static _$Ei(){if(this.hasOwnProperty(d2("elementProperties")))return;let a=G8(this);a.finalize(),a.l!==void 0&&(this.l=[...a.l]),this.elementProperties=new Map(a.elementProperties)}static finalize(){if(this.hasOwnProperty(d2("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d2("properties"))){let e=this.properties,i=[...D8(e),...N8(e)];for(let r of i)this.createProperty(r,e[r])}let a=this[Symbol.metadata];if(a!==null){let e=litPropertyMetadata.get(a);if(e!==void 0)for(let[i,r]of e)this.elementProperties.set(i,r)}this._$Eh=new Map;for(let[e,i]of this.elementProperties){let r=this._$Eu(e,i);r!==void 0&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(a){let e=[];if(Array.isArray(a)){let i=new Set(a.flat(1/0).reverse());for(let r of i)e.unshift(g3(r))}else a!==void 0&&e.push(g3(a));return e}static _$Eu(a,e){let i=e.attribute;return i===!1?void 0:typeof i=="string"?i:typeof a=="string"?a.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((a)=>this.enableUpdating=a),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((a)=>a(this))}addController(a){(this._$EO??=new Set).add(a),this.renderRoot!==void 0&&this.isConnected&&a.hostConnected?.()}removeController(a){this._$EO?.delete(a)}_$E_(){let a=new Map,e=this.constructor.elementProperties;for(let i of e.keys())this.hasOwnProperty(i)&&(a.set(i,this[i]),delete this[i]);a.size>0&&(this._$Ep=a)}createRenderRoot(){let a=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return C4(a,this.constructor.elementStyles),a}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((a)=>a.hostConnected?.())}enableUpdating(a){}disconnectedCallback(){this._$EO?.forEach((a)=>a.hostDisconnected?.())}attributeChangedCallback(a,e,i){this._$AK(a,i)}_$ET(a,e){let i=this.constructor.elementProperties.get(a),r=this.constructor._$Eu(a,i);if(r!==void 0&&i.reflect===!0){let n=(i.converter?.toAttribute!==void 0?i.converter:c2).toAttribute(e,i.type);this._$Em=a,n==null?this.removeAttribute(r):this.setAttribute(r,n),this._$Em=null}}_$AK(a,e){let i=this.constructor,r=i._$Eh.get(a);if(r!==void 0&&this._$Em!==r){let n=i.getPropertyOptions(r),t=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:c2;this._$Em=r,this[r]=t.fromAttribute(e,n.type)??this._$Ej?.get(r)??null,this._$Em=null}}requestUpdate(a,e,i){if(a!==void 0){let r=this.constructor,n=this[a];if(i??=r.getPropertyOptions(a),!((i.hasChanged??P2)(n,e)||i.useDefault&&i.reflect&&n===this._$Ej?.get(a)&&!this.hasAttribute(r._$Eu(a,i))))return;this.C(a,e,i)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(a,e,{useDefault:i,reflect:r,wrapped:n},t){i&&!(this._$Ej??=new Map).has(a)&&(this._$Ej.set(a,t??e??this[a]),n!==!0||t!==void 0)||(this._$AL.has(a)||(this.hasUpdated||i||(e=void 0),this._$AL.set(a,e)),r===!0&&this._$Em!==a&&(this._$Eq??=new Set).add(a))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let a=this.scheduleUpdate();return a!=null&&await a,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,n]of this._$Ep)this[r]=n;this._$Ep=void 0}let i=this.constructor.elementProperties;if(i.size>0)for(let[r,n]of i){let{wrapped:t}=n,l=this[r];t!==!0||this._$AL.has(r)||l===void 0||this.C(r,void 0,n,l)}}let a=!1,e=this._$AL;try{a=this.shouldUpdate(e),a?(this.willUpdate(e),this._$EO?.forEach((i)=>i.hostUpdate?.()),this.update(e)):this._$EM()}catch(i){throw a=!1,this._$EM(),i}a&&this._$AE(e)}willUpdate(a){}_$AE(a){this._$EO?.forEach((e)=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(a)),this.updated(a)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(a){return!0}update(a){this._$Eq&&=this._$Eq.forEach((e)=>this._$ET(e,this[e])),this._$EM()}updated(a){}firstUpdated(a){}}Pa.elementStyles=[],Pa.shadowRootOptions={mode:"open"},Pa[d2("elementProperties")]=new Map,Pa[d2("finalized")]=new Map,U8?.({ReactiveElement:Pa}),(G2.reactiveElementVersions??=[]).push("2.1.0");var w3=globalThis,U2=w3.trustedTypes,G4=U2?U2.createPolicy("lit-html",{createHTML:(a)=>a}):void 0;var Ja=`lit$${Math.random().toFixed(9).slice(2)}$`,v3="?"+Ja,B8=`<${v3}>`,f0=document,m2=()=>f0.createComment(""),g2=(a)=>a===null||typeof a!="object"&&typeof a!="function",p3=Array.isArray,e5=(a)=>p3(a)||typeof a?.[Symbol.iterator]=="function";var f2=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,P4=/-->/g,U4=/>/g,d0=RegExp(`>|[
|
|
35
|
+
*/(function a(e,i){if(typeof H2==="object"&&typeof Qi==="object")Qi.exports=i();else if(typeof define==="function"&&define.amd)define("Matter",[],i);else if(typeof H2==="object")H2.Matter=i();else e.Matter=i()})(H2,function(){return function(a){var e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return a[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=a,i.c=e,i.d=function(r,n,t){if(!i.o(r,n))Object.defineProperty(r,n,{enumerable:!0,get:t})},i.r=function(r){if(typeof Symbol!=="undefined"&&Symbol.toStringTag)Object.defineProperty(r,Symbol.toStringTag,{value:"Module"});Object.defineProperty(r,"__esModule",{value:!0})},i.t=function(r,n){if(n&1)r=i(r);if(n&8)return r;if(n&4&&typeof r==="object"&&r&&r.__esModule)return r;var t=Object.create(null);if(i.r(t),Object.defineProperty(t,"default",{enumerable:!0,value:r}),n&2&&typeof r!="string")for(var l in r)i.d(t,l,function(o){return r[o]}.bind(null,l));return t},i.n=function(r){var n=r&&r.__esModule?function t(){return r.default}:function t(){return r};return i.d(n,"a",n),n},i.o=function(r,n){return Object.prototype.hasOwnProperty.call(r,n)},i.p="",i(i.s=21)}([function(a,e){var i={};a.exports=i,function(){i._nextId=0,i._seed=0,i._nowStartTime=+new Date,i._warnedOnce={},i._decomp=null,i.extend=function(n,t){var l,o,s;if(typeof t==="boolean")l=2,s=t;else l=1,s=!0;for(var d=l;d<arguments.length;d++){var c=arguments[d];if(c)for(var m in c)if(s&&c[m]&&c[m].constructor===Object)if(!n[m]||n[m].constructor===Object)n[m]=n[m]||{},i.extend(n[m],s,c[m]);else n[m]=c[m];else n[m]=c[m]}return n},i.clone=function(n,t){return i.extend({},t,n)},i.keys=function(n){if(Object.keys)return Object.keys(n);var t=[];for(var l in n)t.push(l);return t},i.values=function(n){var t=[];if(Object.keys){var l=Object.keys(n);for(var o=0;o<l.length;o++)t.push(n[l[o]]);return t}for(var s in n)t.push(n[s]);return t},i.get=function(n,t,l,o){t=t.split(".").slice(l,o);for(var s=0;s<t.length;s+=1)n=n[t[s]];return n},i.set=function(n,t,l,o,s){var d=t.split(".").slice(o,s);return i.get(n,t,0,-1)[d[d.length-1]]=l,l},i.shuffle=function(n){for(var t=n.length-1;t>0;t--){var l=Math.floor(i.random()*(t+1)),o=n[t];n[t]=n[l],n[l]=o}return n},i.choose=function(n){return n[Math.floor(i.random()*n.length)]},i.isElement=function(n){if(typeof HTMLElement!=="undefined")return n instanceof HTMLElement;return!!(n&&n.nodeType&&n.nodeName)},i.isArray=function(n){return Object.prototype.toString.call(n)==="[object Array]"},i.isFunction=function(n){return typeof n==="function"},i.isPlainObject=function(n){return typeof n==="object"&&n.constructor===Object},i.isString=function(n){return toString.call(n)==="[object String]"},i.clamp=function(n,t,l){if(n<t)return t;if(n>l)return l;return n},i.sign=function(n){return n<0?-1:1},i.now=function(){if(typeof window!=="undefined"&&window.performance){if(window.performance.now)return window.performance.now();else if(window.performance.webkitNow)return window.performance.webkitNow()}if(Date.now)return Date.now();return new Date-i._nowStartTime},i.random=function(n,t){return n=typeof n!=="undefined"?n:0,t=typeof t!=="undefined"?t:1,n+r()*(t-n)};var r=function(){return i._seed=(i._seed*9301+49297)%233280,i._seed/233280};i.colorToNumber=function(n){if(n=n.replace("#",""),n.length==3)n=n.charAt(0)+n.charAt(0)+n.charAt(1)+n.charAt(1)+n.charAt(2)+n.charAt(2);return parseInt(n,16)},i.logLevel=1,i.log=function(){if(console&&i.logLevel>0&&i.logLevel<=3)console.log.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},i.info=function(){if(console&&i.logLevel>0&&i.logLevel<=2)console.info.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},i.warn=function(){if(console&&i.logLevel>0&&i.logLevel<=3)console.warn.apply(console,["matter-js:"].concat(Array.prototype.slice.call(arguments)))},i.warnOnce=function(){var n=Array.prototype.slice.call(arguments).join(" ");if(!i._warnedOnce[n])i.warn(n),i._warnedOnce[n]=!0},i.deprecated=function(n,t,l){n[t]=i.chain(function(){i.warnOnce("\uD83D\uDD05 deprecated \uD83D\uDD05",l)},n[t])},i.nextId=function(){return i._nextId++},i.indexOf=function(n,t){if(n.indexOf)return n.indexOf(t);for(var l=0;l<n.length;l++)if(n[l]===t)return l;return-1},i.map=function(n,t){if(n.map)return n.map(t);var l=[];for(var o=0;o<n.length;o+=1)l.push(t(n[o]));return l},i.topologicalSort=function(n){var t=[],l=[],o=[];for(var s in n)if(!l[s]&&!o[s])i._topologicalSort(s,l,o,n,t);return t},i._topologicalSort=function(n,t,l,o,s){var d=o[n]||[];l[n]=!0;for(var c=0;c<d.length;c+=1){var m=d[c];if(l[m])continue;if(!t[m])i._topologicalSort(m,t,l,o,s)}l[n]=!1,t[n]=!0,s.push(n)},i.chain=function(){var n=[];for(var t=0;t<arguments.length;t+=1){var l=arguments[t];if(l._chained)n.push.apply(n,l._chained);else n.push(l)}var o=function(){var s,d=new Array(arguments.length);for(var c=0,m=arguments.length;c<m;c++)d[c]=arguments[c];for(c=0;c<n.length;c+=1){var h=n[c].apply(s,d);if(typeof h!=="undefined")s=h}return s};return o._chained=n,o},i.chainPathBefore=function(n,t,l){return i.set(n,t,i.chain(l,i.get(n,t)))},i.chainPathAfter=function(n,t,l){return i.set(n,t,i.chain(i.get(n,t),l))},i.setDecomp=function(n){i._decomp=n},i.getDecomp=function(){var n=i._decomp;try{if(!n&&typeof window!=="undefined")n=window.decomp;if(!n&&typeof global!=="undefined")n=global.decomp}catch(t){n=null}return n}}()},function(a,e){var i={};a.exports=i,function(){i.create=function(r){var n={min:{x:0,y:0},max:{x:0,y:0}};if(r)i.update(n,r);return n},i.update=function(r,n,t){r.min.x=1/0,r.max.x=-1/0,r.min.y=1/0,r.max.y=-1/0;for(var l=0;l<n.length;l++){var o=n[l];if(o.x>r.max.x)r.max.x=o.x;if(o.x<r.min.x)r.min.x=o.x;if(o.y>r.max.y)r.max.y=o.y;if(o.y<r.min.y)r.min.y=o.y}if(t){if(t.x>0)r.max.x+=t.x;else r.min.x+=t.x;if(t.y>0)r.max.y+=t.y;else r.min.y+=t.y}},i.contains=function(r,n){return n.x>=r.min.x&&n.x<=r.max.x&&n.y>=r.min.y&&n.y<=r.max.y},i.overlaps=function(r,n){return r.min.x<=n.max.x&&r.max.x>=n.min.x&&r.max.y>=n.min.y&&r.min.y<=n.max.y},i.translate=function(r,n){r.min.x+=n.x,r.max.x+=n.x,r.min.y+=n.y,r.max.y+=n.y},i.shift=function(r,n){var t=r.max.x-r.min.x,l=r.max.y-r.min.y;r.min.x=n.x,r.max.x=n.x+t,r.min.y=n.y,r.max.y=n.y+l}}()},function(a,e){var i={};a.exports=i,function(){i.create=function(r,n){return{x:r||0,y:n||0}},i.clone=function(r){return{x:r.x,y:r.y}},i.magnitude=function(r){return Math.sqrt(r.x*r.x+r.y*r.y)},i.magnitudeSquared=function(r){return r.x*r.x+r.y*r.y},i.rotate=function(r,n,t){var l=Math.cos(n),o=Math.sin(n);if(!t)t={};var s=r.x*l-r.y*o;return t.y=r.x*o+r.y*l,t.x=s,t},i.rotateAbout=function(r,n,t,l){var o=Math.cos(n),s=Math.sin(n);if(!l)l={};var d=t.x+((r.x-t.x)*o-(r.y-t.y)*s);return l.y=t.y+((r.x-t.x)*s+(r.y-t.y)*o),l.x=d,l},i.normalise=function(r){var n=i.magnitude(r);if(n===0)return{x:0,y:0};return{x:r.x/n,y:r.y/n}},i.dot=function(r,n){return r.x*n.x+r.y*n.y},i.cross=function(r,n){return r.x*n.y-r.y*n.x},i.cross3=function(r,n,t){return(n.x-r.x)*(t.y-r.y)-(n.y-r.y)*(t.x-r.x)},i.add=function(r,n,t){if(!t)t={};return t.x=r.x+n.x,t.y=r.y+n.y,t},i.sub=function(r,n,t){if(!t)t={};return t.x=r.x-n.x,t.y=r.y-n.y,t},i.mult=function(r,n){return{x:r.x*n,y:r.y*n}},i.div=function(r,n){return{x:r.x/n,y:r.y/n}},i.perp=function(r,n){return n=n===!0?-1:1,{x:n*-r.y,y:n*r.x}},i.neg=function(r){return{x:-r.x,y:-r.y}},i.angle=function(r,n){return Math.atan2(n.y-r.y,n.x-r.x)},i._temp=[i.create(),i.create(),i.create(),i.create(),i.create(),i.create()]}()},function(a,e,i){var r={};a.exports=r;var n=i(2),t=i(0);(function(){r.create=function(l,o){var s=[];for(var d=0;d<l.length;d++){var c=l[d],m={x:c.x,y:c.y,index:d,body:o,isInternal:!1};s.push(m)}return s},r.fromPath=function(l,o){var s=/L?\s*([-\d.e]+)[\s,]*([-\d.e]+)*/ig,d=[];return l.replace(s,function(c,m,h){d.push({x:parseFloat(m),y:parseFloat(h)})}),r.create(d,o)},r.centre=function(l){var o=r.area(l,!0),s={x:0,y:0},d,c,m;for(var h=0;h<l.length;h++)m=(h+1)%l.length,d=n.cross(l[h],l[m]),c=n.mult(n.add(l[h],l[m]),d),s=n.add(s,c);return n.div(s,6*o)},r.mean=function(l){var o={x:0,y:0};for(var s=0;s<l.length;s++)o.x+=l[s].x,o.y+=l[s].y;return n.div(o,l.length)},r.area=function(l,o){var s=0,d=l.length-1;for(var c=0;c<l.length;c++)s+=(l[d].x-l[c].x)*(l[d].y+l[c].y),d=c;if(o)return s/2;return Math.abs(s)/2},r.inertia=function(l,o){var s=0,d=0,c=l,m,h;for(var f=0;f<c.length;f++)h=(f+1)%c.length,m=Math.abs(n.cross(c[h],c[f])),s+=m*(n.dot(c[h],c[h])+n.dot(c[h],c[f])+n.dot(c[f],c[f])),d+=m;return o/6*(s/d)},r.translate=function(l,o,s){s=typeof s!=="undefined"?s:1;var d=l.length,c=o.x*s,m=o.y*s,h;for(h=0;h<d;h++)l[h].x+=c,l[h].y+=m;return l},r.rotate=function(l,o,s){if(o===0)return;var d=Math.cos(o),c=Math.sin(o),m=s.x,h=s.y,f=l.length,v,g,x,z;for(z=0;z<f;z++)v=l[z],g=v.x-m,x=v.y-h,v.x=m+(g*d-x*c),v.y=h+(g*c+x*d);return l},r.contains=function(l,o){var{x:s,y:d}=o,c=l.length,m=l[c-1],h;for(var f=0;f<c;f++){if(h=l[f],(s-m.x)*(h.y-m.y)+(d-m.y)*(m.x-h.x)>0)return!1;m=h}return!0},r.scale=function(l,o,s,d){if(o===1&&s===1)return l;d=d||r.centre(l);var c,m;for(var h=0;h<l.length;h++)c=l[h],m=n.sub(c,d),l[h].x=d.x+m.x*o,l[h].y=d.y+m.y*s;return l},r.chamfer=function(l,o,s,d,c){if(typeof o==="number")o=[o];else o=o||[8];s=typeof s!=="undefined"?s:-1,d=d||2,c=c||14;var m=[];for(var h=0;h<l.length;h++){var f=l[h-1>=0?h-1:l.length-1],v=l[h],g=l[(h+1)%l.length],x=o[h<o.length?h:o.length-1];if(x===0){m.push(v);continue}var z=n.normalise({x:v.y-f.y,y:f.x-v.x}),p=n.normalise({x:g.y-v.y,y:v.x-g.x}),w=Math.sqrt(2*Math.pow(x,2)),b=n.mult(t.clone(z),x),y=n.normalise(n.mult(n.add(z,p),0.5)),I=n.sub(v,n.mult(y,w)),O=s;if(s===-1)O=Math.pow(x,0.32)*1.75;if(O=t.clamp(O,d,c),O%2===1)O+=1;var K=Math.acos(n.dot(z,p)),j=K/O;for(var T=0;T<O;T++)m.push(n.add(n.rotate(b,j*T),I))}return m},r.clockwiseSort=function(l){var o=r.mean(l);return l.sort(function(s,d){return n.angle(o,s)-n.angle(o,d)}),l},r.isConvex=function(l){var o=0,s=l.length,d,c,m,h;if(s<3)return null;for(d=0;d<s;d++){if(c=(d+1)%s,m=(d+2)%s,h=(l[c].x-l[d].x)*(l[m].y-l[c].y),h-=(l[c].y-l[d].y)*(l[m].x-l[c].x),h<0)o|=1;else if(h>0)o|=2;if(o===3)return!1}if(o!==0)return!0;else return null},r.hull=function(l){var o=[],s=[],d,c;l=l.slice(0),l.sort(function(m,h){var f=m.x-h.x;return f!==0?f:m.y-h.y});for(c=0;c<l.length;c+=1){d=l[c];while(s.length>=2&&n.cross3(s[s.length-2],s[s.length-1],d)<=0)s.pop();s.push(d)}for(c=l.length-1;c>=0;c-=1){d=l[c];while(o.length>=2&&n.cross3(o[o.length-2],o[o.length-1],d)<=0)o.pop();o.push(d)}return o.pop(),s.pop(),o.concat(s)}})()},function(a,e,i){var r={};a.exports=r;var n=i(0);(function(){r.on=function(t,l,o){var s=l.split(" "),d;for(var c=0;c<s.length;c++)d=s[c],t.events=t.events||{},t.events[d]=t.events[d]||[],t.events[d].push(o);return o},r.off=function(t,l,o){if(!l){t.events={};return}if(typeof l==="function")o=l,l=n.keys(t.events).join(" ");var s=l.split(" ");for(var d=0;d<s.length;d++){var c=t.events[s[d]],m=[];if(o&&c){for(var h=0;h<c.length;h++)if(c[h]!==o)m.push(c[h])}t.events[s[d]]=m}},r.trigger=function(t,l,o){var s,d,c,m,h=t.events;if(h&&n.keys(h).length>0){if(!o)o={};s=l.split(" ");for(var f=0;f<s.length;f++)if(d=s[f],c=h[d],c){m=n.clone(o,!1),m.name=d,m.source=t;for(var v=0;v<c.length;v++)c[v].apply(t,[m])}}}})()},function(a,e,i){var r={};a.exports=r;var n=i(4),t=i(0),l=i(1),o=i(6);(function(){r.create=function(s){return t.extend({id:t.nextId(),type:"composite",parent:null,isModified:!1,bodies:[],constraints:[],composites:[],label:"Composite",plugin:{},cache:{allBodies:null,allConstraints:null,allComposites:null}},s)},r.setModified=function(s,d,c,m){if(s.isModified=d,d&&s.cache)s.cache.allBodies=null,s.cache.allConstraints=null,s.cache.allComposites=null;if(c&&s.parent)r.setModified(s.parent,d,c,m);if(m)for(var h=0;h<s.composites.length;h++){var f=s.composites[h];r.setModified(f,d,c,m)}},r.add=function(s,d){var c=[].concat(d);n.trigger(s,"beforeAdd",{object:d});for(var m=0;m<c.length;m++){var h=c[m];switch(h.type){case"body":if(h.parent!==h){t.warn("Composite.add: skipped adding a compound body part (you must add its parent instead)");break}r.addBody(s,h);break;case"constraint":r.addConstraint(s,h);break;case"composite":r.addComposite(s,h);break;case"mouseConstraint":r.addConstraint(s,h.constraint);break}}return n.trigger(s,"afterAdd",{object:d}),s},r.remove=function(s,d,c){var m=[].concat(d);n.trigger(s,"beforeRemove",{object:d});for(var h=0;h<m.length;h++){var f=m[h];switch(f.type){case"body":r.removeBody(s,f,c);break;case"constraint":r.removeConstraint(s,f,c);break;case"composite":r.removeComposite(s,f,c);break;case"mouseConstraint":r.removeConstraint(s,f.constraint);break}}return n.trigger(s,"afterRemove",{object:d}),s},r.addComposite=function(s,d){return s.composites.push(d),d.parent=s,r.setModified(s,!0,!0,!1),s},r.removeComposite=function(s,d,c){var m=t.indexOf(s.composites,d);if(m!==-1)r.removeCompositeAt(s,m);if(c)for(var h=0;h<s.composites.length;h++)r.removeComposite(s.composites[h],d,!0);return s},r.removeCompositeAt=function(s,d){return s.composites.splice(d,1),r.setModified(s,!0,!0,!1),s},r.addBody=function(s,d){return s.bodies.push(d),r.setModified(s,!0,!0,!1),s},r.removeBody=function(s,d,c){var m=t.indexOf(s.bodies,d);if(m!==-1)r.removeBodyAt(s,m);if(c)for(var h=0;h<s.composites.length;h++)r.removeBody(s.composites[h],d,!0);return s},r.removeBodyAt=function(s,d){return s.bodies.splice(d,1),r.setModified(s,!0,!0,!1),s},r.addConstraint=function(s,d){return s.constraints.push(d),r.setModified(s,!0,!0,!1),s},r.removeConstraint=function(s,d,c){var m=t.indexOf(s.constraints,d);if(m!==-1)r.removeConstraintAt(s,m);if(c)for(var h=0;h<s.composites.length;h++)r.removeConstraint(s.composites[h],d,!0);return s},r.removeConstraintAt=function(s,d){return s.constraints.splice(d,1),r.setModified(s,!0,!0,!1),s},r.clear=function(s,d,c){if(c)for(var m=0;m<s.composites.length;m++)r.clear(s.composites[m],d,!0);if(d)s.bodies=s.bodies.filter(function(h){return h.isStatic});else s.bodies.length=0;return s.constraints.length=0,s.composites.length=0,r.setModified(s,!0,!0,!1),s},r.allBodies=function(s){if(s.cache&&s.cache.allBodies)return s.cache.allBodies;var d=[].concat(s.bodies);for(var c=0;c<s.composites.length;c++)d=d.concat(r.allBodies(s.composites[c]));if(s.cache)s.cache.allBodies=d;return d},r.allConstraints=function(s){if(s.cache&&s.cache.allConstraints)return s.cache.allConstraints;var d=[].concat(s.constraints);for(var c=0;c<s.composites.length;c++)d=d.concat(r.allConstraints(s.composites[c]));if(s.cache)s.cache.allConstraints=d;return d},r.allComposites=function(s){if(s.cache&&s.cache.allComposites)return s.cache.allComposites;var d=[].concat(s.composites);for(var c=0;c<s.composites.length;c++)d=d.concat(r.allComposites(s.composites[c]));if(s.cache)s.cache.allComposites=d;return d},r.get=function(s,d,c){var m,h;switch(c){case"body":m=r.allBodies(s);break;case"constraint":m=r.allConstraints(s);break;case"composite":m=r.allComposites(s).concat(s);break}if(!m)return null;return h=m.filter(function(f){return f.id.toString()===d.toString()}),h.length===0?null:h[0]},r.move=function(s,d,c){return r.remove(s,d),r.add(c,d),s},r.rebase=function(s){var d=r.allBodies(s).concat(r.allConstraints(s)).concat(r.allComposites(s));for(var c=0;c<d.length;c++)d[c].id=t.nextId();return s},r.translate=function(s,d,c){var m=c?r.allBodies(s):s.bodies;for(var h=0;h<m.length;h++)o.translate(m[h],d);return s},r.rotate=function(s,d,c,m){var h=Math.cos(d),f=Math.sin(d),v=m?r.allBodies(s):s.bodies;for(var g=0;g<v.length;g++){var x=v[g],z=x.position.x-c.x,p=x.position.y-c.y;o.setPosition(x,{x:c.x+(z*h-p*f),y:c.y+(z*f+p*h)}),o.rotate(x,d)}return s},r.scale=function(s,d,c,m,h){var f=h?r.allBodies(s):s.bodies;for(var v=0;v<f.length;v++){var g=f[v],x=g.position.x-m.x,z=g.position.y-m.y;o.setPosition(g,{x:m.x+x*d,y:m.y+z*c}),o.scale(g,d,c)}return s},r.bounds=function(s){var d=r.allBodies(s),c=[];for(var m=0;m<d.length;m+=1){var h=d[m];c.push(h.bounds.min,h.bounds.max)}return l.create(c)}})()},function(a,e,i){var r={};a.exports=r;var n=i(3),t=i(2),l=i(7),o=i(16),s=i(0),d=i(1),c=i(11);(function(){r._inertiaScale=4,r._nextCollidingGroupId=1,r._nextNonCollidingGroupId=-1,r._nextCategory=1,r.create=function(h){var f={id:s.nextId(),type:"body",label:"Body",parts:[],plugin:{},angle:0,vertices:n.fromPath("L 0 0 L 40 0 L 40 40 L 0 40"),position:{x:0,y:0},force:{x:0,y:0},torque:0,positionImpulse:{x:0,y:0},constraintImpulse:{x:0,y:0,angle:0},totalContacts:0,speed:0,angularSpeed:0,velocity:{x:0,y:0},angularVelocity:0,isSensor:!1,isStatic:!1,isSleeping:!1,motion:0,sleepThreshold:60,density:0.001,restitution:0,friction:0.1,frictionStatic:0.5,frictionAir:0.01,collisionFilter:{category:1,mask:4294967295,group:0},slop:0.05,timeScale:1,render:{visible:!0,opacity:1,strokeStyle:null,fillStyle:null,lineWidth:null,sprite:{xScale:1,yScale:1,xOffset:0,yOffset:0}},events:null,bounds:null,chamfer:null,circleRadius:0,positionPrev:null,anglePrev:0,parent:null,axes:null,area:0,mass:0,inertia:0,_original:null},v=s.extend(f,h);return m(v,h),v},r.nextGroup=function(h){if(h)return r._nextNonCollidingGroupId--;return r._nextCollidingGroupId++},r.nextCategory=function(){return r._nextCategory=r._nextCategory<<1,r._nextCategory};var m=function(h,f){f=f||{},r.set(h,{bounds:h.bounds||d.create(h.vertices),positionPrev:h.positionPrev||t.clone(h.position),anglePrev:h.anglePrev||h.angle,vertices:h.vertices,parts:h.parts||[h],isStatic:h.isStatic,isSleeping:h.isSleeping,parent:h.parent||h}),n.rotate(h.vertices,h.angle,h.position),c.rotate(h.axes,h.angle),d.update(h.bounds,h.vertices,h.velocity),r.set(h,{axes:f.axes||h.axes,area:f.area||h.area,mass:f.mass||h.mass,inertia:f.inertia||h.inertia});var v=h.isStatic?"#14151f":s.choose(["#f19648","#f5d259","#f55a3c","#063e7b","#ececd1"]),g=h.isStatic?"#555":"#ccc",x=h.isStatic&&h.render.fillStyle===null?1:0;h.render.fillStyle=h.render.fillStyle||v,h.render.strokeStyle=h.render.strokeStyle||g,h.render.lineWidth=h.render.lineWidth||x,h.render.sprite.xOffset+=-(h.bounds.min.x-h.position.x)/(h.bounds.max.x-h.bounds.min.x),h.render.sprite.yOffset+=-(h.bounds.min.y-h.position.y)/(h.bounds.max.y-h.bounds.min.y)};r.set=function(h,f,v){var g;if(typeof f==="string")g=f,f={},f[g]=v;for(g in f){if(!Object.prototype.hasOwnProperty.call(f,g))continue;switch(v=f[g],g){case"isStatic":r.setStatic(h,v);break;case"isSleeping":l.set(h,v);break;case"mass":r.setMass(h,v);break;case"density":r.setDensity(h,v);break;case"inertia":r.setInertia(h,v);break;case"vertices":r.setVertices(h,v);break;case"position":r.setPosition(h,v);break;case"angle":r.setAngle(h,v);break;case"velocity":r.setVelocity(h,v);break;case"angularVelocity":r.setAngularVelocity(h,v);break;case"parts":r.setParts(h,v);break;case"centre":r.setCentre(h,v);break;default:h[g]=v}}},r.setStatic=function(h,f){for(var v=0;v<h.parts.length;v++){var g=h.parts[v];if(g.isStatic=f,f)g._original={restitution:g.restitution,friction:g.friction,mass:g.mass,inertia:g.inertia,density:g.density,inverseMass:g.inverseMass,inverseInertia:g.inverseInertia},g.restitution=0,g.friction=1,g.mass=g.inertia=g.density=1/0,g.inverseMass=g.inverseInertia=0,g.positionPrev.x=g.position.x,g.positionPrev.y=g.position.y,g.anglePrev=g.angle,g.angularVelocity=0,g.speed=0,g.angularSpeed=0,g.motion=0;else if(g._original)g.restitution=g._original.restitution,g.friction=g._original.friction,g.mass=g._original.mass,g.inertia=g._original.inertia,g.density=g._original.density,g.inverseMass=g._original.inverseMass,g.inverseInertia=g._original.inverseInertia,g._original=null}},r.setMass=function(h,f){var v=h.inertia/(h.mass/6);h.inertia=v*(f/6),h.inverseInertia=1/h.inertia,h.mass=f,h.inverseMass=1/h.mass,h.density=h.mass/h.area},r.setDensity=function(h,f){r.setMass(h,f*h.area),h.density=f},r.setInertia=function(h,f){h.inertia=f,h.inverseInertia=1/h.inertia},r.setVertices=function(h,f){if(f[0].body===h)h.vertices=f;else h.vertices=n.create(f,h);h.axes=c.fromVertices(h.vertices),h.area=n.area(h.vertices),r.setMass(h,h.density*h.area);var v=n.centre(h.vertices);n.translate(h.vertices,v,-1),r.setInertia(h,r._inertiaScale*n.inertia(h.vertices,h.mass)),n.translate(h.vertices,h.position),d.update(h.bounds,h.vertices,h.velocity)},r.setParts=function(h,f,v){var g;f=f.slice(0),h.parts.length=0,h.parts.push(h),h.parent=h;for(g=0;g<f.length;g++){var x=f[g];if(x!==h)x.parent=h,h.parts.push(x)}if(h.parts.length===1)return;if(v=typeof v!=="undefined"?v:!0,v){var z=[];for(g=0;g<f.length;g++)z=z.concat(f[g].vertices);n.clockwiseSort(z);var p=n.hull(z),w=n.centre(p);r.setVertices(h,p),n.translate(h.vertices,w)}var b=r._totalProperties(h);h.area=b.area,h.parent=h,h.position.x=b.centre.x,h.position.y=b.centre.y,h.positionPrev.x=b.centre.x,h.positionPrev.y=b.centre.y,r.setMass(h,b.mass),r.setInertia(h,b.inertia),r.setPosition(h,b.centre)},r.setCentre=function(h,f,v){if(!v)h.positionPrev.x=f.x-(h.position.x-h.positionPrev.x),h.positionPrev.y=f.y-(h.position.y-h.positionPrev.y),h.position.x=f.x,h.position.y=f.y;else h.positionPrev.x+=f.x,h.positionPrev.y+=f.y,h.position.x+=f.x,h.position.y+=f.y},r.setPosition=function(h,f){var v=t.sub(f,h.position);h.positionPrev.x+=v.x,h.positionPrev.y+=v.y;for(var g=0;g<h.parts.length;g++){var x=h.parts[g];x.position.x+=v.x,x.position.y+=v.y,n.translate(x.vertices,v),d.update(x.bounds,x.vertices,h.velocity)}},r.setAngle=function(h,f){var v=f-h.angle;h.anglePrev+=v;for(var g=0;g<h.parts.length;g++){var x=h.parts[g];if(x.angle+=v,n.rotate(x.vertices,v,h.position),c.rotate(x.axes,v),d.update(x.bounds,x.vertices,h.velocity),g>0)t.rotateAbout(x.position,v,h.position,x.position)}},r.setVelocity=function(h,f){h.positionPrev.x=h.position.x-f.x,h.positionPrev.y=h.position.y-f.y,h.velocity.x=f.x,h.velocity.y=f.y,h.speed=t.magnitude(h.velocity)},r.setAngularVelocity=function(h,f){h.anglePrev=h.angle-f,h.angularVelocity=f,h.angularSpeed=Math.abs(h.angularVelocity)},r.translate=function(h,f){r.setPosition(h,t.add(h.position,f))},r.rotate=function(h,f,v){if(!v)r.setAngle(h,h.angle+f);else{var g=Math.cos(f),x=Math.sin(f),z=h.position.x-v.x,p=h.position.y-v.y;r.setPosition(h,{x:v.x+(z*g-p*x),y:v.y+(z*x+p*g)}),r.setAngle(h,h.angle+f)}},r.scale=function(h,f,v,g){var x=0,z=0;g=g||h.position;for(var p=0;p<h.parts.length;p++){var w=h.parts[p];if(n.scale(w.vertices,f,v,g),w.axes=c.fromVertices(w.vertices),w.area=n.area(w.vertices),r.setMass(w,h.density*w.area),n.translate(w.vertices,{x:-w.position.x,y:-w.position.y}),r.setInertia(w,r._inertiaScale*n.inertia(w.vertices,w.mass)),n.translate(w.vertices,{x:w.position.x,y:w.position.y}),p>0)x+=w.area,z+=w.inertia;w.position.x=g.x+(w.position.x-g.x)*f,w.position.y=g.y+(w.position.y-g.y)*v,d.update(w.bounds,w.vertices,h.velocity)}if(h.parts.length>1){if(h.area=x,!h.isStatic)r.setMass(h,h.density*x),r.setInertia(h,z)}if(h.circleRadius)if(f===v)h.circleRadius*=f;else h.circleRadius=null},r.update=function(h,f,v,g){var x=Math.pow(f*v*h.timeScale,2),z=1-h.frictionAir*v*h.timeScale,p=h.position.x-h.positionPrev.x,w=h.position.y-h.positionPrev.y;h.velocity.x=p*z*g+h.force.x/h.mass*x,h.velocity.y=w*z*g+h.force.y/h.mass*x,h.positionPrev.x=h.position.x,h.positionPrev.y=h.position.y,h.position.x+=h.velocity.x,h.position.y+=h.velocity.y,h.angularVelocity=(h.angle-h.anglePrev)*z*g+h.torque/h.inertia*x,h.anglePrev=h.angle,h.angle+=h.angularVelocity,h.speed=t.magnitude(h.velocity),h.angularSpeed=Math.abs(h.angularVelocity);for(var b=0;b<h.parts.length;b++){var y=h.parts[b];if(n.translate(y.vertices,h.velocity),b>0)y.position.x+=h.velocity.x,y.position.y+=h.velocity.y;if(h.angularVelocity!==0){if(n.rotate(y.vertices,h.angularVelocity,h.position),c.rotate(y.axes,h.angularVelocity),b>0)t.rotateAbout(y.position,h.angularVelocity,h.position,y.position)}d.update(y.bounds,y.vertices,h.velocity)}},r.applyForce=function(h,f,v){h.force.x+=v.x,h.force.y+=v.y;var g={x:f.x-h.position.x,y:f.y-h.position.y};h.torque+=g.x*v.y-g.y*v.x},r._totalProperties=function(h){var f={mass:0,area:0,inertia:0,centre:{x:0,y:0}};for(var v=h.parts.length===1?0:1;v<h.parts.length;v++){var g=h.parts[v],x=g.mass!==1/0?g.mass:1;f.mass+=x,f.area+=g.area,f.inertia+=g.inertia,f.centre=t.add(f.centre,t.mult(g.position,x))}return f.centre=t.div(f.centre,f.mass),f}})()},function(a,e,i){var r={};a.exports=r;var n=i(4);(function(){r._motionWakeThreshold=0.18,r._motionSleepThreshold=0.08,r._minBias=0.9,r.update=function(t,l){var o=l*l*l;for(var s=0;s<t.length;s++){var d=t[s],c=d.speed*d.speed+d.angularSpeed*d.angularSpeed;if(d.force.x!==0||d.force.y!==0){r.set(d,!1);continue}var m=Math.min(d.motion,c),h=Math.max(d.motion,c);if(d.motion=r._minBias*m+(1-r._minBias)*h,d.sleepThreshold>0&&d.motion<r._motionSleepThreshold*o){if(d.sleepCounter+=1,d.sleepCounter>=d.sleepThreshold)r.set(d,!0)}else if(d.sleepCounter>0)d.sleepCounter-=1}},r.afterCollisions=function(t,l){var o=l*l*l;for(var s=0;s<t.length;s++){var d=t[s];if(!d.isActive)continue;var c=d.collision,m=c.bodyA.parent,h=c.bodyB.parent;if(m.isSleeping&&h.isSleeping||m.isStatic||h.isStatic)continue;if(m.isSleeping||h.isSleeping){var f=m.isSleeping&&!m.isStatic?m:h,v=f===m?h:m;if(!f.isStatic&&v.motion>r._motionWakeThreshold*o)r.set(f,!1)}}},r.set=function(t,l){var o=t.isSleeping;if(l){if(t.isSleeping=!0,t.sleepCounter=t.sleepThreshold,t.positionImpulse.x=0,t.positionImpulse.y=0,t.positionPrev.x=t.position.x,t.positionPrev.y=t.position.y,t.anglePrev=t.angle,t.speed=0,t.angularSpeed=0,t.motion=0,!o)n.trigger(t,"sleepStart")}else if(t.isSleeping=!1,t.sleepCounter=0,o)n.trigger(t,"sleepEnd")}})()},function(a,e,i){var r={};a.exports=r;var n=i(3),t=i(9);(function(){var l=[],o={overlap:0,axis:null},s={overlap:0,axis:null};r.create=function(d,c){return{pair:null,collided:!1,bodyA:d,bodyB:c,parentA:d.parent,parentB:c.parent,depth:0,normal:{x:0,y:0},tangent:{x:0,y:0},penetration:{x:0,y:0},supports:[]}},r.collides=function(d,c,m){if(r._overlapAxes(o,d.vertices,c.vertices,d.axes),o.overlap<=0)return null;if(r._overlapAxes(s,c.vertices,d.vertices,c.axes),s.overlap<=0)return null;var h=m&&m.table[t.id(d,c)],f;if(!h)f=r.create(d,c),f.collided=!0,f.bodyA=d.id<c.id?d:c,f.bodyB=d.id<c.id?c:d,f.parentA=f.bodyA.parent,f.parentB=f.bodyB.parent;else f=h.collision;d=f.bodyA,c=f.bodyB;var v;if(o.overlap<s.overlap)v=o;else v=s;var{normal:g,supports:x}=f,z=v.axis,p=z.x,w=z.y;if(p*(c.position.x-d.position.x)+w*(c.position.y-d.position.y)<0)g.x=p,g.y=w;else g.x=-p,g.y=-w;f.tangent.x=-g.y,f.tangent.y=g.x,f.depth=v.overlap,f.penetration.x=g.x*f.depth,f.penetration.y=g.y*f.depth;var b=r._findSupports(d,c,g,1),y=0;if(n.contains(d.vertices,b[0]))x[y++]=b[0];if(n.contains(d.vertices,b[1]))x[y++]=b[1];if(y<2){var I=r._findSupports(c,d,g,-1);if(n.contains(c.vertices,I[0]))x[y++]=I[0];if(y<2&&n.contains(c.vertices,I[1]))x[y++]=I[1]}if(y===0)x[y++]=b[0];return x.length=y,f},r._overlapAxes=function(d,c,m,h){var f=c.length,v=m.length,g=c[0].x,x=c[0].y,z=m[0].x,p=m[0].y,w=h.length,b=Number.MAX_VALUE,y=0,I,O,K,j,T,A;for(T=0;T<w;T++){var V=h[T],N=V.x,G=V.y,D=g*N+x*G,F=z*N+p*G,E=D,H=F;for(A=1;A<f;A+=1)if(j=c[A].x*N+c[A].y*G,j>E)E=j;else if(j<D)D=j;for(A=1;A<v;A+=1)if(j=m[A].x*N+m[A].y*G,j>H)H=j;else if(j<F)F=j;if(O=E-F,K=H-D,I=O<K?O:K,I<b){if(b=I,y=T,I<=0)break}}d.axis=h[y],d.overlap=b},r._projectToAxis=function(d,c,m){var h=c[0].x*m.x+c[0].y*m.y,f=h;for(var v=1;v<c.length;v+=1){var g=c[v].x*m.x+c[v].y*m.y;if(g>f)f=g;else if(g<h)h=g}d.min=h,d.max=f},r._findSupports=function(d,c,m,h){var f=c.vertices,v=f.length,g=d.position.x,x=d.position.y,z=m.x*h,p=m.y*h,w=Number.MAX_VALUE,b,y,I,O,K;for(K=0;K<v;K+=1)if(y=f[K],O=z*(g-y.x)+p*(x-y.y),O<w)w=O,b=y;if(I=f[(v+b.index-1)%v],w=z*(g-I.x)+p*(x-I.y),y=f[(b.index+1)%v],z*(g-y.x)+p*(x-y.y)<w)return l[0]=b,l[1]=y,l;return l[0]=b,l[1]=I,l}})()},function(a,e,i){var r={};a.exports=r;var n=i(17);(function(){r.create=function(t,l){var{bodyA:o,bodyB:s}=t,d={id:r.id(o,s),bodyA:o,bodyB:s,collision:t,contacts:[],activeContacts:[],separation:0,isActive:!0,confirmedActive:!0,isSensor:o.isSensor||s.isSensor,timeCreated:l,timeUpdated:l,inverseMass:0,friction:0,frictionStatic:0,restitution:0,slop:0};return r.update(d,t,l),d},r.update=function(t,l,o){var s=t.contacts,d=l.supports,c=t.activeContacts,m=l.parentA,h=l.parentB,f=m.vertices.length;t.isActive=!0,t.timeUpdated=o,t.collision=l,t.separation=l.depth,t.inverseMass=m.inverseMass+h.inverseMass,t.friction=m.friction<h.friction?m.friction:h.friction,t.frictionStatic=m.frictionStatic>h.frictionStatic?m.frictionStatic:h.frictionStatic,t.restitution=m.restitution>h.restitution?m.restitution:h.restitution,t.slop=m.slop>h.slop?m.slop:h.slop,l.pair=t,c.length=0;for(var v=0;v<d.length;v++){var g=d[v],x=g.body===m?g.index:f+g.index,z=s[x];if(z)c.push(z);else c.push(s[x]=n.create(g))}},r.setActive=function(t,l,o){if(l)t.isActive=!0,t.timeUpdated=o;else t.isActive=!1,t.activeContacts.length=0},r.id=function(t,l){if(t.id<l.id)return"A"+t.id+"B"+l.id;else return"A"+l.id+"B"+t.id}})()},function(a,e,i){var r={};a.exports=r;var n=i(3),t=i(2),l=i(7),o=i(1),s=i(11),d=i(0);(function(){r._warming=0.4,r._torqueDampen=1,r._minLength=0.000001,r.create=function(c){var m=c;if(m.bodyA&&!m.pointA)m.pointA={x:0,y:0};if(m.bodyB&&!m.pointB)m.pointB={x:0,y:0};var h=m.bodyA?t.add(m.bodyA.position,m.pointA):m.pointA,f=m.bodyB?t.add(m.bodyB.position,m.pointB):m.pointB,v=t.magnitude(t.sub(h,f));m.length=typeof m.length!=="undefined"?m.length:v,m.id=m.id||d.nextId(),m.label=m.label||"Constraint",m.type="constraint",m.stiffness=m.stiffness||(m.length>0?1:0.7),m.damping=m.damping||0,m.angularStiffness=m.angularStiffness||0,m.angleA=m.bodyA?m.bodyA.angle:m.angleA,m.angleB=m.bodyB?m.bodyB.angle:m.angleB,m.plugin={};var g={visible:!0,lineWidth:2,strokeStyle:"#ffffff",type:"line",anchors:!0};if(m.length===0&&m.stiffness>0.1)g.type="pin",g.anchors=!1;else if(m.stiffness<0.9)g.type="spring";return m.render=d.extend(g,m.render),m},r.preSolveAll=function(c){for(var m=0;m<c.length;m+=1){var h=c[m],f=h.constraintImpulse;if(h.isStatic||f.x===0&&f.y===0&&f.angle===0)continue;h.position.x+=f.x,h.position.y+=f.y,h.angle+=f.angle}},r.solveAll=function(c,m){for(var h=0;h<c.length;h+=1){var f=c[h],v=!f.bodyA||f.bodyA&&f.bodyA.isStatic,g=!f.bodyB||f.bodyB&&f.bodyB.isStatic;if(v||g)r.solve(c[h],m)}for(h=0;h<c.length;h+=1)if(f=c[h],v=!f.bodyA||f.bodyA&&f.bodyA.isStatic,g=!f.bodyB||f.bodyB&&f.bodyB.isStatic,!v&&!g)r.solve(c[h],m)},r.solve=function(c,m){var{bodyA:h,bodyB:f,pointA:v,pointB:g}=c;if(!h&&!f)return;if(h&&!h.isStatic)t.rotate(v,h.angle-c.angleA,v),c.angleA=h.angle;if(f&&!f.isStatic)t.rotate(g,f.angle-c.angleB,g),c.angleB=f.angle;var x=v,z=g;if(h)x=t.add(h.position,v);if(f)z=t.add(f.position,g);if(!x||!z)return;var p=t.sub(x,z),w=t.magnitude(p);if(w<r._minLength)w=r._minLength;var b=(w-c.length)/w,y=c.stiffness<1?c.stiffness*m:c.stiffness,I=t.mult(p,b*y),O=(h?h.inverseMass:0)+(f?f.inverseMass:0),K=(h?h.inverseInertia:0)+(f?f.inverseInertia:0),j=O+K,T,A,V,N,G;if(c.damping){var D=t.create();V=t.div(p,w),G=t.sub(f&&t.sub(f.position,f.positionPrev)||D,h&&t.sub(h.position,h.positionPrev)||D),N=t.dot(V,G)}if(h&&!h.isStatic){if(A=h.inverseMass/O,h.constraintImpulse.x-=I.x*A,h.constraintImpulse.y-=I.y*A,h.position.x-=I.x*A,h.position.y-=I.y*A,c.damping)h.positionPrev.x-=c.damping*V.x*N*A,h.positionPrev.y-=c.damping*V.y*N*A;T=t.cross(v,I)/j*r._torqueDampen*h.inverseInertia*(1-c.angularStiffness),h.constraintImpulse.angle-=T,h.angle-=T}if(f&&!f.isStatic){if(A=f.inverseMass/O,f.constraintImpulse.x+=I.x*A,f.constraintImpulse.y+=I.y*A,f.position.x+=I.x*A,f.position.y+=I.y*A,c.damping)f.positionPrev.x+=c.damping*V.x*N*A,f.positionPrev.y+=c.damping*V.y*N*A;T=t.cross(g,I)/j*r._torqueDampen*f.inverseInertia*(1-c.angularStiffness),f.constraintImpulse.angle+=T,f.angle+=T}},r.postSolveAll=function(c){for(var m=0;m<c.length;m++){var h=c[m],f=h.constraintImpulse;if(h.isStatic||f.x===0&&f.y===0&&f.angle===0)continue;l.set(h,!1);for(var v=0;v<h.parts.length;v++){var g=h.parts[v];if(n.translate(g.vertices,f),v>0)g.position.x+=f.x,g.position.y+=f.y;if(f.angle!==0){if(n.rotate(g.vertices,f.angle,h.position),s.rotate(g.axes,f.angle),v>0)t.rotateAbout(g.position,f.angle,h.position,g.position)}o.update(g.bounds,g.vertices,h.velocity)}f.angle*=r._warming,f.x*=r._warming,f.y*=r._warming}},r.pointAWorld=function(c){return{x:(c.bodyA?c.bodyA.position.x:0)+c.pointA.x,y:(c.bodyA?c.bodyA.position.y:0)+c.pointA.y}},r.pointBWorld=function(c){return{x:(c.bodyB?c.bodyB.position.x:0)+c.pointB.x,y:(c.bodyB?c.bodyB.position.y:0)+c.pointB.y}}})()},function(a,e,i){var r={};a.exports=r;var n=i(2),t=i(0);(function(){r.fromVertices=function(l){var o={};for(var s=0;s<l.length;s++){var d=(s+1)%l.length,c=n.normalise({x:l[d].y-l[s].y,y:l[s].x-l[d].x}),m=c.y===0?1/0:c.x/c.y;m=m.toFixed(3).toString(),o[m]=c}return t.values(o)},r.rotate=function(l,o){if(o===0)return;var s=Math.cos(o),d=Math.sin(o);for(var c=0;c<l.length;c++){var m=l[c],h;h=m.x*s-m.y*d,m.y=m.x*d+m.y*s,m.x=h}}})()},function(a,e,i){var r={};a.exports=r;var n=i(3),t=i(0),l=i(6),o=i(1),s=i(2);(function(){r.rectangle=function(d,c,m,h,f){f=f||{};var v={label:"Rectangle Body",position:{x:d,y:c},vertices:n.fromPath("L 0 0 L "+m+" 0 L "+m+" "+h+" L 0 "+h)};if(f.chamfer){var g=f.chamfer;v.vertices=n.chamfer(v.vertices,g.radius,g.quality,g.qualityMin,g.qualityMax),delete f.chamfer}return l.create(t.extend({},v,f))},r.trapezoid=function(d,c,m,h,f,v){v=v||{},f*=0.5;var g=(1-f*2)*m,x=m*f,z=x+g,p=z+x,w;if(f<0.5)w="L 0 0 L "+x+" "+-h+" L "+z+" "+-h+" L "+p+" 0";else w="L 0 0 L "+z+" "+-h+" L "+p+" 0";var b={label:"Trapezoid Body",position:{x:d,y:c},vertices:n.fromPath(w)};if(v.chamfer){var y=v.chamfer;b.vertices=n.chamfer(b.vertices,y.radius,y.quality,y.qualityMin,y.qualityMax),delete v.chamfer}return l.create(t.extend({},b,v))},r.circle=function(d,c,m,h,f){h=h||{};var v={label:"Circle Body",circleRadius:m};f=f||25;var g=Math.ceil(Math.max(10,Math.min(f,m)));if(g%2===1)g+=1;return r.polygon(d,c,g,m,t.extend({},v,h))},r.polygon=function(d,c,m,h,f){if(f=f||{},m<3)return r.circle(d,c,h,f);var v=2*Math.PI/m,g="",x=v*0.5;for(var z=0;z<m;z+=1){var p=x+z*v,w=Math.cos(p)*h,b=Math.sin(p)*h;g+="L "+w.toFixed(3)+" "+b.toFixed(3)+" "}var y={label:"Polygon Body",position:{x:d,y:c},vertices:n.fromPath(g)};if(f.chamfer){var I=f.chamfer;y.vertices=n.chamfer(y.vertices,I.radius,I.quality,I.qualityMin,I.qualityMax),delete f.chamfer}return l.create(t.extend({},y,f))},r.fromVertices=function(d,c,m,h,f,v,g,x){var z=t.getDecomp(),p,w,b,y,I,O,K,j,T,A,V;if(p=Boolean(z&&z.quickDecomp),h=h||{},b=[],f=typeof f!=="undefined"?f:!1,v=typeof v!=="undefined"?v:0.01,g=typeof g!=="undefined"?g:10,x=typeof x!=="undefined"?x:0.01,!t.isArray(m[0]))m=[m];for(A=0;A<m.length;A+=1){if(O=m[A],y=n.isConvex(O),I=!y,I&&!p)t.warnOnce("Bodies.fromVertices: Install the 'poly-decomp' library and use Common.setDecomp or provide 'decomp' as a global to decompose concave vertices.");if(y||!p){if(y)O=n.clockwiseSort(O);else O=n.hull(O);b.push({position:{x:d,y:c},vertices:O})}else{var N=O.map(function(l1){return[l1.x,l1.y]});if(z.makeCCW(N),v!==!1)z.removeCollinearPoints(N,v);if(x!==!1&&z.removeDuplicatePoints)z.removeDuplicatePoints(N,x);var G=z.quickDecomp(N);for(K=0;K<G.length;K++){var D=G[K],F=D.map(function(l1){return{x:l1[0],y:l1[1]}});if(g>0&&n.area(F)<g)continue;b.push({position:n.centre(F),vertices:F})}}}for(K=0;K<b.length;K++)b[K]=l.create(t.extend(b[K],h));if(f){var E=5;for(K=0;K<b.length;K++){var H=b[K];for(j=K+1;j<b.length;j++){var M=b[j];if(o.overlaps(H.bounds,M.bounds)){var Q=H.vertices,L=M.vertices;for(T=0;T<H.vertices.length;T++)for(V=0;V<M.vertices.length;V++){var _=s.magnitudeSquared(s.sub(Q[(T+1)%Q.length],L[V])),i1=s.magnitudeSquared(s.sub(Q[T],L[(V+1)%L.length]));if(_<E&&i1<E)Q[T].isInternal=!0,L[V].isInternal=!0}}}}}if(b.length>1)return w=l.create(t.extend({parts:b.slice(0)},h)),l.setPosition(w,{x:d,y:c}),w;else return b[0]}})()},function(a,e,i){var r={};a.exports=r;var n=i(0);(function(){r.create=function(t){var l={};if(!t)n.log("Mouse.create: element was undefined, defaulting to document.body","warn");return l.element=t||document.body,l.absolute={x:0,y:0},l.position={x:0,y:0},l.mousedownPosition={x:0,y:0},l.mouseupPosition={x:0,y:0},l.offset={x:0,y:0},l.scale={x:1,y:1},l.wheelDelta=0,l.button=-1,l.pixelRatio=parseInt(l.element.getAttribute("data-pixel-ratio"),10)||1,l.sourceEvents={mousemove:null,mousedown:null,mouseup:null,mousewheel:null},l.mousemove=function(o){var s=r._getRelativeMousePosition(o,l.element,l.pixelRatio),d=o.changedTouches;if(d)l.button=0,o.preventDefault();l.absolute.x=s.x,l.absolute.y=s.y,l.position.x=l.absolute.x*l.scale.x+l.offset.x,l.position.y=l.absolute.y*l.scale.y+l.offset.y,l.sourceEvents.mousemove=o},l.mousedown=function(o){var s=r._getRelativeMousePosition(o,l.element,l.pixelRatio),d=o.changedTouches;if(d)l.button=0,o.preventDefault();else l.button=o.button;l.absolute.x=s.x,l.absolute.y=s.y,l.position.x=l.absolute.x*l.scale.x+l.offset.x,l.position.y=l.absolute.y*l.scale.y+l.offset.y,l.mousedownPosition.x=l.position.x,l.mousedownPosition.y=l.position.y,l.sourceEvents.mousedown=o},l.mouseup=function(o){var s=r._getRelativeMousePosition(o,l.element,l.pixelRatio),d=o.changedTouches;if(d)o.preventDefault();l.button=-1,l.absolute.x=s.x,l.absolute.y=s.y,l.position.x=l.absolute.x*l.scale.x+l.offset.x,l.position.y=l.absolute.y*l.scale.y+l.offset.y,l.mouseupPosition.x=l.position.x,l.mouseupPosition.y=l.position.y,l.sourceEvents.mouseup=o},l.mousewheel=function(o){l.wheelDelta=Math.max(-1,Math.min(1,o.wheelDelta||-o.detail)),o.preventDefault()},r.setElement(l,l.element),l},r.setElement=function(t,l){t.element=l,l.addEventListener("mousemove",t.mousemove),l.addEventListener("mousedown",t.mousedown),l.addEventListener("mouseup",t.mouseup),l.addEventListener("mousewheel",t.mousewheel),l.addEventListener("DOMMouseScroll",t.mousewheel),l.addEventListener("touchmove",t.mousemove),l.addEventListener("touchstart",t.mousedown),l.addEventListener("touchend",t.mouseup)},r.clearSourceEvents=function(t){t.sourceEvents.mousemove=null,t.sourceEvents.mousedown=null,t.sourceEvents.mouseup=null,t.sourceEvents.mousewheel=null,t.wheelDelta=0},r.setOffset=function(t,l){t.offset.x=l.x,t.offset.y=l.y,t.position.x=t.absolute.x*t.scale.x+t.offset.x,t.position.y=t.absolute.y*t.scale.y+t.offset.y},r.setScale=function(t,l){t.scale.x=l.x,t.scale.y=l.y,t.position.x=t.absolute.x*t.scale.x+t.offset.x,t.position.y=t.absolute.y*t.scale.y+t.offset.y},r._getRelativeMousePosition=function(t,l,o){var s=l.getBoundingClientRect(),d=document.documentElement||document.body.parentNode||document.body,c=window.pageXOffset!==void 0?window.pageXOffset:d.scrollLeft,m=window.pageYOffset!==void 0?window.pageYOffset:d.scrollTop,h=t.changedTouches,f,v;if(h)f=h[0].pageX-s.left-c,v=h[0].pageY-s.top-m;else f=t.pageX-s.left-c,v=t.pageY-s.top-m;return{x:f/(l.clientWidth/(l.width||l.clientWidth)*o),y:v/(l.clientHeight/(l.height||l.clientHeight)*o)}}})()},function(a,e,i){var r={};a.exports=r;var n=i(0),t=i(8);(function(){r.create=function(l){var o={bodies:[],pairs:null};return n.extend(o,l)},r.setBodies=function(l,o){l.bodies=o.slice(0)},r.clear=function(l){l.bodies=[]},r.collisions=function(l){var o=[],s=l.pairs,d=l.bodies,c=d.length,m=r.canCollide,h=t.collides,f,v;d.sort(r._compareBoundsX);for(f=0;f<c;f++){var g=d[f],x=g.bounds,z=g.bounds.max.x,p=g.bounds.max.y,w=g.bounds.min.y,b=g.isStatic||g.isSleeping,y=g.parts.length,I=y===1;for(v=f+1;v<c;v++){var O=d[v],K=O.bounds;if(K.min.x>z)break;if(p<K.min.y||w>K.max.y)continue;if(b&&(O.isStatic||O.isSleeping))continue;if(!m(g.collisionFilter,O.collisionFilter))continue;var j=O.parts.length;if(I&&j===1){var T=h(g,O,s);if(T)o.push(T)}else{var A=y>1?1:0,V=j>1?1:0;for(var N=A;N<y;N++){var G=g.parts[N],x=G.bounds;for(var D=V;D<j;D++){var F=O.parts[D],K=F.bounds;if(x.min.x>K.max.x||x.max.x<K.min.x||x.max.y<K.min.y||x.min.y>K.max.y)continue;var T=h(G,F,s);if(T)o.push(T)}}}}}return o},r.canCollide=function(l,o){if(l.group===o.group&&l.group!==0)return l.group>0;return(l.mask&o.category)!==0&&(o.mask&l.category)!==0},r._compareBoundsX=function(l,o){return l.bounds.min.x-o.bounds.min.x}})()},function(a,e,i){var r={};a.exports=r;var n=i(0);(function(){r._registry={},r.register=function(t){if(!r.isPlugin(t))n.warn("Plugin.register:",r.toString(t),"does not implement all required fields.");if(t.name in r._registry){var l=r._registry[t.name],o=r.versionParse(t.version).number,s=r.versionParse(l.version).number;if(o>s)n.warn("Plugin.register:",r.toString(l),"was upgraded to",r.toString(t)),r._registry[t.name]=t;else if(o<s)n.warn("Plugin.register:",r.toString(l),"can not be downgraded to",r.toString(t));else if(t!==l)n.warn("Plugin.register:",r.toString(t),"is already registered to different plugin object")}else r._registry[t.name]=t;return t},r.resolve=function(t){return r._registry[r.dependencyParse(t).name]},r.toString=function(t){return typeof t==="string"?t:(t.name||"anonymous")+"@"+(t.version||t.range||"0.0.0")},r.isPlugin=function(t){return t&&t.name&&t.version&&t.install},r.isUsed=function(t,l){return t.used.indexOf(l)>-1},r.isFor=function(t,l){var o=t.for&&r.dependencyParse(t.for);return!t.for||l.name===o.name&&r.versionSatisfies(l.version,o.range)},r.use=function(t,l){if(t.uses=(t.uses||[]).concat(l||[]),t.uses.length===0){n.warn("Plugin.use:",r.toString(t),"does not specify any dependencies to install.");return}var o=r.dependencies(t),s=n.topologicalSort(o),d=[];for(var c=0;c<s.length;c+=1){if(s[c]===t.name)continue;var m=r.resolve(s[c]);if(!m){d.push("❌ "+s[c]);continue}if(r.isUsed(t,m.name))continue;if(!r.isFor(m,t))n.warn("Plugin.use:",r.toString(m),"is for",m.for,"but installed on",r.toString(t)+"."),m._warned=!0;if(m.install)m.install(t);else n.warn("Plugin.use:",r.toString(m),"does not specify an install function."),m._warned=!0;if(m._warned)d.push("\uD83D\uDD36 "+r.toString(m)),delete m._warned;else d.push("✅ "+r.toString(m));t.used.push(m.name)}if(d.length>0)n.info(d.join(" "))},r.dependencies=function(t,l){var o=r.dependencyParse(t),s=o.name;if(l=l||{},s in l)return;t=r.resolve(t)||t,l[s]=n.map(t.uses||[],function(c){if(r.isPlugin(c))r.register(c);var m=r.dependencyParse(c),h=r.resolve(c);if(h&&!r.versionSatisfies(h.version,m.range))n.warn("Plugin.dependencies:",r.toString(h),"does not satisfy",r.toString(m),"used by",r.toString(o)+"."),h._warned=!0,t._warned=!0;else if(!h)n.warn("Plugin.dependencies:",r.toString(c),"used by",r.toString(o),"could not be resolved."),t._warned=!0;return m.name});for(var d=0;d<l[s].length;d+=1)r.dependencies(l[s][d],l);return l},r.dependencyParse=function(t){if(n.isString(t)){var l=/^[\w-]+(@(\*|[\^~]?\d+\.\d+\.\d+(-[0-9A-Za-z-+]+)?))?$/;if(!l.test(t))n.warn("Plugin.dependencyParse:",t,"is not a valid dependency string.");return{name:t.split("@")[0],range:t.split("@")[1]||"*"}}return{name:t.name,range:t.range||t.version}},r.versionParse=function(t){var l=/^(\*)|(\^|~|>=|>)?\s*((\d+)\.(\d+)\.(\d+))(-[0-9A-Za-z-+]+)?$/;if(!l.test(t))n.warn("Plugin.versionParse:",t,"is not a valid version or range.");var o=l.exec(t),s=Number(o[4]),d=Number(o[5]),c=Number(o[6]);return{isRange:Boolean(o[1]||o[2]),version:o[3],range:t,operator:o[1]||o[2]||"",major:s,minor:d,patch:c,parts:[s,d,c],prerelease:o[7],number:s*1e8+d*1e4+c}},r.versionSatisfies=function(t,l){l=l||"*";var o=r.versionParse(l),s=r.versionParse(t);if(o.isRange){if(o.operator==="*"||t==="*")return!0;if(o.operator===">")return s.number>o.number;if(o.operator===">=")return s.number>=o.number;if(o.operator==="~")return s.major===o.major&&s.minor===o.minor&&s.patch>=o.patch;if(o.operator==="^"){if(o.major>0)return s.major===o.major&&s.number>=o.number;if(o.minor>0)return s.minor===o.minor&&s.patch>=o.patch;return s.patch===o.patch}}return t===l||t==="*"}})()},function(a,e,i){var r={};a.exports=r;var n=i(0),t=i(5),l=i(1),o=i(4),s=i(2),d=i(13);(function(){var c,m;if(typeof window!=="undefined")c=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame||function(p){window.setTimeout(function(){p(n.now())},16.666666666666668)},m=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame;r._goodFps=30,r._goodDelta=16.666666666666668,r.create=function(p){var w={controller:r,engine:null,element:null,canvas:null,mouse:null,frameRequestId:null,timing:{historySize:60,delta:0,deltaHistory:[],lastTime:0,lastTimestamp:0,lastElapsed:0,timestampElapsed:0,timestampElapsedHistory:[],engineDeltaHistory:[],engineElapsedHistory:[],elapsedHistory:[]},options:{width:800,height:600,pixelRatio:1,background:"#14151f",wireframeBackground:"#14151f",hasBounds:!!p.bounds,enabled:!0,wireframes:!0,showSleeping:!0,showDebug:!1,showStats:!1,showPerformance:!1,showBounds:!1,showVelocity:!1,showCollisions:!1,showSeparations:!1,showAxes:!1,showPositions:!1,showAngleIndicator:!1,showIds:!1,showVertexNumbers:!1,showConvexHulls:!1,showInternalEdges:!1,showMousePosition:!1}},b=n.extend(w,p);if(b.canvas)b.canvas.width=b.options.width||b.canvas.width,b.canvas.height=b.options.height||b.canvas.height;if(b.mouse=p.mouse,b.engine=p.engine,b.canvas=b.canvas||v(b.options.width,b.options.height),b.context=b.canvas.getContext("2d"),b.textures={},b.bounds=b.bounds||{min:{x:0,y:0},max:{x:b.canvas.width,y:b.canvas.height}},b.options.showBroadphase=!1,b.options.pixelRatio!==1)r.setPixelRatio(b,b.options.pixelRatio);if(n.isElement(b.element))b.element.appendChild(b.canvas);else if(!b.canvas.parentNode)n.log("Render.create: options.element was undefined, render.canvas was created but not appended","warn");return b},r.run=function(p){(function w(b){if(p.frameRequestId=c(w),h(p,b),r.world(p,b),p.options.showStats||p.options.showDebug)r.stats(p,p.context,b);if(p.options.showPerformance||p.options.showDebug)r.performance(p,p.context,b)})()},r.stop=function(p){m(p.frameRequestId)},r.setPixelRatio=function(p,w){var{options:b,canvas:y}=p;if(w==="auto")w=g(y);b.pixelRatio=w,y.setAttribute("data-pixel-ratio",w),y.width=b.width*w,y.height=b.height*w,y.style.width=b.width+"px",y.style.height=b.height+"px"},r.lookAt=function(p,w,b,y){y=typeof y!=="undefined"?y:!0,w=n.isArray(w)?w:[w],b=b||{x:0,y:0};var I={min:{x:1/0,y:1/0},max:{x:-1/0,y:-1/0}};for(var O=0;O<w.length;O+=1){var K=w[O],j=K.bounds?K.bounds.min:K.min||K.position||K,T=K.bounds?K.bounds.max:K.max||K.position||K;if(j&&T){if(j.x<I.min.x)I.min.x=j.x;if(T.x>I.max.x)I.max.x=T.x;if(j.y<I.min.y)I.min.y=j.y;if(T.y>I.max.y)I.max.y=T.y}}var A=I.max.x-I.min.x+2*b.x,V=I.max.y-I.min.y+2*b.y,N=p.canvas.height,G=p.canvas.width,D=G/N,F=A/V,E=1,H=1;if(F>D)H=F/D;else E=D/F;if(p.options.hasBounds=!0,p.bounds.min.x=I.min.x,p.bounds.max.x=I.min.x+A*E,p.bounds.min.y=I.min.y,p.bounds.max.y=I.min.y+V*H,y)p.bounds.min.x+=A*0.5-A*E*0.5,p.bounds.max.x+=A*0.5-A*E*0.5,p.bounds.min.y+=V*0.5-V*H*0.5,p.bounds.max.y+=V*0.5-V*H*0.5;if(p.bounds.min.x-=b.x,p.bounds.max.x-=b.x,p.bounds.min.y-=b.y,p.bounds.max.y-=b.y,p.mouse)d.setScale(p.mouse,{x:(p.bounds.max.x-p.bounds.min.x)/p.canvas.width,y:(p.bounds.max.y-p.bounds.min.y)/p.canvas.height}),d.setOffset(p.mouse,p.bounds.min)},r.startViewTransform=function(p){var w=p.bounds.max.x-p.bounds.min.x,b=p.bounds.max.y-p.bounds.min.y,y=w/p.options.width,I=b/p.options.height;p.context.setTransform(p.options.pixelRatio/y,0,0,p.options.pixelRatio/I,0,0),p.context.translate(-p.bounds.min.x,-p.bounds.min.y)},r.endViewTransform=function(p){p.context.setTransform(p.options.pixelRatio,0,0,p.options.pixelRatio,0,0)},r.world=function(p,w){var b=n.now(),y=p.engine,I=y.world,O=p.canvas,K=p.context,j=p.options,T=p.timing,A=t.allBodies(I),V=t.allConstraints(I),N=j.wireframes?j.wireframeBackground:j.background,G=[],D=[],F,E={timestamp:y.timing.timestamp};if(o.trigger(p,"beforeRender",E),p.currentBackground!==N)z(p,N);if(K.globalCompositeOperation="source-in",K.fillStyle="transparent",K.fillRect(0,0,O.width,O.height),K.globalCompositeOperation="source-over",j.hasBounds){for(F=0;F<A.length;F++){var H=A[F];if(l.overlaps(H.bounds,p.bounds))G.push(H)}for(F=0;F<V.length;F++){var M=V[F],Q=M.bodyA,L=M.bodyB,_=M.pointA,i1=M.pointB;if(Q)_=s.add(Q.position,M.pointA);if(L)i1=s.add(L.position,M.pointB);if(!_||!i1)continue;if(l.contains(p.bounds,_)||l.contains(p.bounds,i1))D.push(M)}if(r.startViewTransform(p),p.mouse)d.setScale(p.mouse,{x:(p.bounds.max.x-p.bounds.min.x)/p.options.width,y:(p.bounds.max.y-p.bounds.min.y)/p.options.height}),d.setOffset(p.mouse,p.bounds.min)}else if(D=V,G=A,p.options.pixelRatio!==1)p.context.setTransform(p.options.pixelRatio,0,0,p.options.pixelRatio,0,0);if(!j.wireframes||y.enableSleeping&&j.showSleeping)r.bodies(p,G,K);else{if(j.showConvexHulls)r.bodyConvexHulls(p,G,K);r.bodyWireframes(p,G,K)}if(j.showBounds)r.bodyBounds(p,G,K);if(j.showAxes||j.showAngleIndicator)r.bodyAxes(p,G,K);if(j.showPositions)r.bodyPositions(p,G,K);if(j.showVelocity)r.bodyVelocity(p,G,K);if(j.showIds)r.bodyIds(p,G,K);if(j.showSeparations)r.separations(p,y.pairs.list,K);if(j.showCollisions)r.collisions(p,y.pairs.list,K);if(j.showVertexNumbers)r.vertexNumbers(p,G,K);if(j.showMousePosition)r.mousePosition(p,p.mouse,K);if(r.constraints(D,K),j.hasBounds)r.endViewTransform(p);o.trigger(p,"afterRender",E),T.lastElapsed=n.now()-b},r.stats=function(p,w,b){var y=p.engine,I=y.world,O=t.allBodies(I),K=0,j=55,T=44,A=0,V=0;for(var N=0;N<O.length;N+=1)K+=O[N].parts.length;var G={Part:K,Body:O.length,Cons:t.allConstraints(I).length,Comp:t.allComposites(I).length,Pair:y.pairs.list.length};w.fillStyle="#0e0f19",w.fillRect(A,V,j*5.5,T),w.font="12px Arial",w.textBaseline="top",w.textAlign="right";for(var D in G){var F=G[D];w.fillStyle="#aaa",w.fillText(D,A+j,V+8),w.fillStyle="#eee",w.fillText(F,A+j,V+26),A+=j}},r.performance=function(p,w){var{engine:b,timing:y}=p,I=y.deltaHistory,O=y.elapsedHistory,K=y.timestampElapsedHistory,j=y.engineDeltaHistory,T=y.engineElapsedHistory,A=b.timing.lastDelta,V=f(I),N=f(O),G=f(j),D=f(T),F=f(K),E=F/V||0,H=1000/V||0,M=4,Q=12,L=60,_=34,i1=10,l1=69;w.fillStyle="#0e0f19",w.fillRect(0,50,Q*4+L*5+22,_),r.status(w,i1,l1,L,M,I.length,Math.round(H)+" fps",H/r._goodFps,function(c1){return I[c1]/V-1}),r.status(w,i1+Q+L,l1,L,M,j.length,A.toFixed(2)+" dt",r._goodDelta/A,function(c1){return j[c1]/G-1}),r.status(w,i1+(Q+L)*2,l1,L,M,T.length,D.toFixed(2)+" ut",1-D/r._goodFps,function(c1){return T[c1]/D-1}),r.status(w,i1+(Q+L)*3,l1,L,M,O.length,N.toFixed(2)+" rt",1-N/r._goodFps,function(c1){return O[c1]/N-1}),r.status(w,i1+(Q+L)*4,l1,L,M,K.length,E.toFixed(2)+" x",E*E*E,function(c1){return(K[c1]/I[c1]/E||0)-1})},r.status=function(p,w,b,y,I,O,K,j,T){p.strokeStyle="#888",p.fillStyle="#444",p.lineWidth=1,p.fillRect(w,b+7,y,1),p.beginPath(),p.moveTo(w,b+7-I*n.clamp(0.4*T(0),-2,2));for(var A=0;A<y;A+=1)p.lineTo(w+A,b+7-(A<O?I*n.clamp(0.4*T(A),-2,2):0));p.stroke(),p.fillStyle="hsl("+n.clamp(25+95*j,0,120)+",100%,60%)",p.fillRect(w,b-7,4,4),p.font="12px Arial",p.textBaseline="middle",p.textAlign="right",p.fillStyle="#eee",p.fillText(K,w+y,b-5)},r.constraints=function(p,w){var b=w;for(var y=0;y<p.length;y++){var I=p[y];if(!I.render.visible||!I.pointA||!I.pointB)continue;var{bodyA:O,bodyB:K}=I,j,T;if(O)j=s.add(O.position,I.pointA);else j=I.pointA;if(I.render.type==="pin")b.beginPath(),b.arc(j.x,j.y,3,0,2*Math.PI),b.closePath();else{if(K)T=s.add(K.position,I.pointB);else T=I.pointB;if(b.beginPath(),b.moveTo(j.x,j.y),I.render.type==="spring"){var A=s.sub(T,j),V=s.perp(s.normalise(A)),N=Math.ceil(n.clamp(I.length/5,12,20)),G;for(var D=1;D<N;D+=1)G=D%2===0?1:-1,b.lineTo(j.x+A.x*(D/N)+V.x*G*4,j.y+A.y*(D/N)+V.y*G*4)}b.lineTo(T.x,T.y)}if(I.render.lineWidth)b.lineWidth=I.render.lineWidth,b.strokeStyle=I.render.strokeStyle,b.stroke();if(I.render.anchors)b.fillStyle=I.render.strokeStyle,b.beginPath(),b.arc(j.x,j.y,3,0,2*Math.PI),b.arc(T.x,T.y,3,0,2*Math.PI),b.closePath(),b.fill()}},r.bodies=function(p,w,b){var y=b,I=p.engine,O=p.options,K=O.showInternalEdges||!O.wireframes,j,T,A,V;for(A=0;A<w.length;A++){if(j=w[A],!j.render.visible)continue;for(V=j.parts.length>1?1:0;V<j.parts.length;V++){if(T=j.parts[V],!T.render.visible)continue;if(O.showSleeping&&j.isSleeping)y.globalAlpha=0.5*T.render.opacity;else if(T.render.opacity!==1)y.globalAlpha=T.render.opacity;if(T.render.sprite&&T.render.sprite.texture&&!O.wireframes){var N=T.render.sprite,G=x(p,N.texture);y.translate(T.position.x,T.position.y),y.rotate(T.angle),y.drawImage(G,G.width*-N.xOffset*N.xScale,G.height*-N.yOffset*N.yScale,G.width*N.xScale,G.height*N.yScale),y.rotate(-T.angle),y.translate(-T.position.x,-T.position.y)}else{if(T.circleRadius)y.beginPath(),y.arc(T.position.x,T.position.y,T.circleRadius,0,2*Math.PI);else{y.beginPath(),y.moveTo(T.vertices[0].x,T.vertices[0].y);for(var D=1;D<T.vertices.length;D++){if(!T.vertices[D-1].isInternal||K)y.lineTo(T.vertices[D].x,T.vertices[D].y);else y.moveTo(T.vertices[D].x,T.vertices[D].y);if(T.vertices[D].isInternal&&!K)y.moveTo(T.vertices[(D+1)%T.vertices.length].x,T.vertices[(D+1)%T.vertices.length].y)}y.lineTo(T.vertices[0].x,T.vertices[0].y),y.closePath()}if(!O.wireframes){if(y.fillStyle=T.render.fillStyle,T.render.lineWidth)y.lineWidth=T.render.lineWidth,y.strokeStyle=T.render.strokeStyle,y.stroke();y.fill()}else y.lineWidth=1,y.strokeStyle="#bbb",y.stroke()}y.globalAlpha=1}}},r.bodyWireframes=function(p,w,b){var y=b,I=p.options.showInternalEdges,O,K,j,T,A;y.beginPath();for(j=0;j<w.length;j++){if(O=w[j],!O.render.visible)continue;for(A=O.parts.length>1?1:0;A<O.parts.length;A++){K=O.parts[A],y.moveTo(K.vertices[0].x,K.vertices[0].y);for(T=1;T<K.vertices.length;T++){if(!K.vertices[T-1].isInternal||I)y.lineTo(K.vertices[T].x,K.vertices[T].y);else y.moveTo(K.vertices[T].x,K.vertices[T].y);if(K.vertices[T].isInternal&&!I)y.moveTo(K.vertices[(T+1)%K.vertices.length].x,K.vertices[(T+1)%K.vertices.length].y)}y.lineTo(K.vertices[0].x,K.vertices[0].y)}}y.lineWidth=1,y.strokeStyle="#bbb",y.stroke()},r.bodyConvexHulls=function(p,w,b){var y=b,I,O,K,j,T;y.beginPath();for(K=0;K<w.length;K++){if(I=w[K],!I.render.visible||I.parts.length===1)continue;y.moveTo(I.vertices[0].x,I.vertices[0].y);for(j=1;j<I.vertices.length;j++)y.lineTo(I.vertices[j].x,I.vertices[j].y);y.lineTo(I.vertices[0].x,I.vertices[0].y)}y.lineWidth=1,y.strokeStyle="rgba(255,255,255,0.2)",y.stroke()},r.vertexNumbers=function(p,w,b){var y=b,I,O,K;for(I=0;I<w.length;I++){var j=w[I].parts;for(K=j.length>1?1:0;K<j.length;K++){var T=j[K];for(O=0;O<T.vertices.length;O++)y.fillStyle="rgba(255,255,255,0.2)",y.fillText(I+"_"+O,T.position.x+(T.vertices[O].x-T.position.x)*0.8,T.position.y+(T.vertices[O].y-T.position.y)*0.8)}}},r.mousePosition=function(p,w,b){var y=b;y.fillStyle="rgba(255,255,255,0.8)",y.fillText(w.position.x+" "+w.position.y,w.position.x+5,w.position.y-5)},r.bodyBounds=function(p,w,b){var y=b,I=p.engine,O=p.options;y.beginPath();for(var K=0;K<w.length;K++){var j=w[K];if(j.render.visible){var T=w[K].parts;for(var A=T.length>1?1:0;A<T.length;A++){var V=T[A];y.rect(V.bounds.min.x,V.bounds.min.y,V.bounds.max.x-V.bounds.min.x,V.bounds.max.y-V.bounds.min.y)}}}if(O.wireframes)y.strokeStyle="rgba(255,255,255,0.08)";else y.strokeStyle="rgba(0,0,0,0.1)";y.lineWidth=1,y.stroke()},r.bodyAxes=function(p,w,b){var y=b,I=p.engine,O=p.options,K,j,T,A;y.beginPath();for(j=0;j<w.length;j++){var V=w[j],N=V.parts;if(!V.render.visible)continue;if(O.showAxes)for(T=N.length>1?1:0;T<N.length;T++){K=N[T];for(A=0;A<K.axes.length;A++){var G=K.axes[A];y.moveTo(K.position.x,K.position.y),y.lineTo(K.position.x+G.x*20,K.position.y+G.y*20)}}else for(T=N.length>1?1:0;T<N.length;T++){K=N[T];for(A=0;A<K.axes.length;A++)y.moveTo(K.position.x,K.position.y),y.lineTo((K.vertices[0].x+K.vertices[K.vertices.length-1].x)/2,(K.vertices[0].y+K.vertices[K.vertices.length-1].y)/2)}}if(O.wireframes)y.strokeStyle="indianred",y.lineWidth=1;else y.strokeStyle="rgba(255, 255, 255, 0.4)",y.globalCompositeOperation="overlay",y.lineWidth=2;y.stroke(),y.globalCompositeOperation="source-over"},r.bodyPositions=function(p,w,b){var y=b,I=p.engine,O=p.options,K,j,T,A;y.beginPath();for(T=0;T<w.length;T++){if(K=w[T],!K.render.visible)continue;for(A=0;A<K.parts.length;A++)j=K.parts[A],y.arc(j.position.x,j.position.y,3,0,2*Math.PI,!1),y.closePath()}if(O.wireframes)y.fillStyle="indianred";else y.fillStyle="rgba(0,0,0,0.5)";y.fill(),y.beginPath();for(T=0;T<w.length;T++)if(K=w[T],K.render.visible)y.arc(K.positionPrev.x,K.positionPrev.y,2,0,2*Math.PI,!1),y.closePath();y.fillStyle="rgba(255,165,0,0.8)",y.fill()},r.bodyVelocity=function(p,w,b){var y=b;y.beginPath();for(var I=0;I<w.length;I++){var O=w[I];if(!O.render.visible)continue;y.moveTo(O.position.x,O.position.y),y.lineTo(O.position.x+(O.position.x-O.positionPrev.x)*2,O.position.y+(O.position.y-O.positionPrev.y)*2)}y.lineWidth=3,y.strokeStyle="cornflowerblue",y.stroke()},r.bodyIds=function(p,w,b){var y=b,I,O;for(I=0;I<w.length;I++){if(!w[I].render.visible)continue;var K=w[I].parts;for(O=K.length>1?1:0;O<K.length;O++){var j=K[O];y.font="12px Arial",y.fillStyle="rgba(255,255,255,0.5)",y.fillText(j.id,j.position.x+10,j.position.y-10)}}},r.collisions=function(p,w,b){var y=b,I=p.options,O,K,j,T,A,V,N;y.beginPath();for(V=0;V<w.length;V++){if(O=w[V],!O.isActive)continue;K=O.collision;for(N=0;N<O.activeContacts.length;N++){var G=O.activeContacts[N],D=G.vertex;y.rect(D.x-1.5,D.y-1.5,3.5,3.5)}}if(I.wireframes)y.fillStyle="rgba(255,255,255,0.7)";else y.fillStyle="orange";y.fill(),y.beginPath();for(V=0;V<w.length;V++){if(O=w[V],!O.isActive)continue;if(K=O.collision,O.activeContacts.length>0){var F=O.activeContacts[0].vertex.x,E=O.activeContacts[0].vertex.y;if(O.activeContacts.length===2)F=(O.activeContacts[0].vertex.x+O.activeContacts[1].vertex.x)/2,E=(O.activeContacts[0].vertex.y+O.activeContacts[1].vertex.y)/2;if(K.bodyB===K.supports[0].body||K.bodyA.isStatic===!0)y.moveTo(F-K.normal.x*8,E-K.normal.y*8);else y.moveTo(F+K.normal.x*8,E+K.normal.y*8);y.lineTo(F,E)}}if(I.wireframes)y.strokeStyle="rgba(255,165,0,0.7)";else y.strokeStyle="orange";y.lineWidth=1,y.stroke()},r.separations=function(p,w,b){var y=b,I=p.options,O,K,j,T,A,V,N;y.beginPath();for(V=0;V<w.length;V++){if(O=w[V],!O.isActive)continue;K=O.collision,T=K.bodyA,A=K.bodyB;var G=1;if(!A.isStatic&&!T.isStatic)G=0.5;if(A.isStatic)G=0;if(y.moveTo(A.position.x,A.position.y),y.lineTo(A.position.x-K.penetration.x*G,A.position.y-K.penetration.y*G),G=1,!A.isStatic&&!T.isStatic)G=0.5;if(T.isStatic)G=0;y.moveTo(T.position.x,T.position.y),y.lineTo(T.position.x+K.penetration.x*G,T.position.y+K.penetration.y*G)}if(I.wireframes)y.strokeStyle="rgba(255,165,0,0.5)";else y.strokeStyle="orange";y.stroke()},r.inspector=function(p,w){var{engine:b,selected:y,render:I}=p,O=I.options,K;if(O.hasBounds){var j=I.bounds.max.x-I.bounds.min.x,T=I.bounds.max.y-I.bounds.min.y,A=j/I.options.width,V=T/I.options.height;w.scale(1/A,1/V),w.translate(-I.bounds.min.x,-I.bounds.min.y)}for(var N=0;N<y.length;N++){var G=y[N].data;switch(w.translate(0.5,0.5),w.lineWidth=1,w.strokeStyle="rgba(255,165,0,0.9)",w.setLineDash([1,2]),G.type){case"body":K=G.bounds,w.beginPath(),w.rect(Math.floor(K.min.x-3),Math.floor(K.min.y-3),Math.floor(K.max.x-K.min.x+6),Math.floor(K.max.y-K.min.y+6)),w.closePath(),w.stroke();break;case"constraint":var D=G.pointA;if(G.bodyA)D=G.pointB;w.beginPath(),w.arc(D.x,D.y,10,0,2*Math.PI),w.closePath(),w.stroke();break}w.setLineDash([]),w.translate(-0.5,-0.5)}if(p.selectStart!==null)w.translate(0.5,0.5),w.lineWidth=1,w.strokeStyle="rgba(255,165,0,0.6)",w.fillStyle="rgba(255,165,0,0.1)",K=p.selectBounds,w.beginPath(),w.rect(Math.floor(K.min.x),Math.floor(K.min.y),Math.floor(K.max.x-K.min.x),Math.floor(K.max.y-K.min.y)),w.closePath(),w.stroke(),w.fill(),w.translate(-0.5,-0.5);if(O.hasBounds)w.setTransform(1,0,0,1,0,0)};var h=function(p,w){var{engine:b,timing:y}=p,I=y.historySize,O=b.timing.timestamp;y.delta=w-y.lastTime||r._goodDelta,y.lastTime=w,y.timestampElapsed=O-y.lastTimestamp||0,y.lastTimestamp=O,y.deltaHistory.unshift(y.delta),y.deltaHistory.length=Math.min(y.deltaHistory.length,I),y.engineDeltaHistory.unshift(b.timing.lastDelta),y.engineDeltaHistory.length=Math.min(y.engineDeltaHistory.length,I),y.timestampElapsedHistory.unshift(y.timestampElapsed),y.timestampElapsedHistory.length=Math.min(y.timestampElapsedHistory.length,I),y.engineElapsedHistory.unshift(b.timing.lastElapsed),y.engineElapsedHistory.length=Math.min(y.engineElapsedHistory.length,I),y.elapsedHistory.unshift(y.lastElapsed),y.elapsedHistory.length=Math.min(y.elapsedHistory.length,I)},f=function(p){var w=0;for(var b=0;b<p.length;b+=1)w+=p[b];return w/p.length||0},v=function(p,w){var b=document.createElement("canvas");return b.width=p,b.height=w,b.oncontextmenu=function(){return!1},b.onselectstart=function(){return!1},b},g=function(p){var w=p.getContext("2d"),b=window.devicePixelRatio||1,y=w.webkitBackingStorePixelRatio||w.mozBackingStorePixelRatio||w.msBackingStorePixelRatio||w.oBackingStorePixelRatio||w.backingStorePixelRatio||1;return b/y},x=function(p,w){var b=p.textures[w];if(b)return b;return b=p.textures[w]=new Image,b.src=w,b},z=function(p,w){var b=w;if(/(jpg|gif|png)$/.test(w))b="url("+w+")";p.canvas.style.background=b,p.canvas.style.backgroundSize="contain",p.currentBackground=w}})()},function(a,e){var i={};a.exports=i,function(){i.create=function(r){return{vertex:r,normalImpulse:0,tangentImpulse:0}}}()},function(a,e,i){var r={};a.exports=r;var n=i(7),t=i(19),l=i(14),o=i(20),s=i(4),d=i(5),c=i(10),m=i(0),h=i(6);(function(){r.create=function(f){f=f||{};var v={positionIterations:6,velocityIterations:4,constraintIterations:2,enableSleeping:!1,events:[],plugin:{},gravity:{x:0,y:1,scale:0.001},timing:{timestamp:0,timeScale:1,lastDelta:0,lastElapsed:0}},g=m.extend(v,f);return g.world=f.world||d.create({label:"World"}),g.pairs=f.pairs||o.create(),g.detector=f.detector||l.create(),g.grid={buckets:[]},g.world.gravity=g.gravity,g.broadphase=g.grid,g.metrics={},g},r.update=function(f,v,g){var x=m.now();v=v||16.666666666666668,g=g||1;var{world:z,detector:p,pairs:w,timing:b}=f,y=b.timestamp,I;b.timestamp+=v*b.timeScale,b.lastDelta=v*b.timeScale;var O={timestamp:b.timestamp};s.trigger(f,"beforeUpdate",O);var K=d.allBodies(z),j=d.allConstraints(z);if(z.isModified)l.setBodies(p,K);if(z.isModified)d.setModified(z,!1,!1,!0);if(f.enableSleeping)n.update(K,b.timeScale);r._bodiesApplyGravity(K,f.gravity),r._bodiesUpdate(K,v,b.timeScale,g,z.bounds),c.preSolveAll(K);for(I=0;I<f.constraintIterations;I++)c.solveAll(j,b.timeScale);c.postSolveAll(K),p.pairs=f.pairs;var T=l.collisions(p);if(o.update(w,T,y),f.enableSleeping)n.afterCollisions(w.list,b.timeScale);if(w.collisionStart.length>0)s.trigger(f,"collisionStart",{pairs:w.collisionStart});t.preSolvePosition(w.list);for(I=0;I<f.positionIterations;I++)t.solvePosition(w.list,b.timeScale);t.postSolvePosition(K),c.preSolveAll(K);for(I=0;I<f.constraintIterations;I++)c.solveAll(j,b.timeScale);c.postSolveAll(K),t.preSolveVelocity(w.list);for(I=0;I<f.velocityIterations;I++)t.solveVelocity(w.list,b.timeScale);if(w.collisionActive.length>0)s.trigger(f,"collisionActive",{pairs:w.collisionActive});if(w.collisionEnd.length>0)s.trigger(f,"collisionEnd",{pairs:w.collisionEnd});return r._bodiesClearForces(K),s.trigger(f,"afterUpdate",O),f.timing.lastElapsed=m.now()-x,f},r.merge=function(f,v){if(m.extend(f,v),v.world){f.world=v.world,r.clear(f);var g=d.allBodies(f.world);for(var x=0;x<g.length;x++){var z=g[x];n.set(z,!1),z.id=m.nextId()}}},r.clear=function(f){o.clear(f.pairs),l.clear(f.detector)},r._bodiesClearForces=function(f){for(var v=0;v<f.length;v++){var g=f[v];g.force.x=0,g.force.y=0,g.torque=0}},r._bodiesApplyGravity=function(f,v){var g=typeof v.scale!=="undefined"?v.scale:0.001;if(v.x===0&&v.y===0||g===0)return;for(var x=0;x<f.length;x++){var z=f[x];if(z.isStatic||z.isSleeping)continue;z.force.y+=z.mass*v.y*g,z.force.x+=z.mass*v.x*g}},r._bodiesUpdate=function(f,v,g,x,z){for(var p=0;p<f.length;p++){var w=f[p];if(w.isStatic||w.isSleeping)continue;h.update(w,v,g,x)}}})()},function(a,e,i){var r={};a.exports=r;var n=i(3),t=i(1);(function(){r._restingThresh=4,r._restingThreshTangent=6,r._positionDampen=0.9,r._positionWarming=0.8,r._frictionNormalMultiplier=5,r.preSolvePosition=function(l){var o,s,d,c=l.length;for(o=0;o<c;o++){if(s=l[o],!s.isActive)continue;d=s.activeContacts.length,s.collision.parentA.totalContacts+=d,s.collision.parentB.totalContacts+=d}},r.solvePosition=function(l,o){var s,d,c,m,h,f,v,g,x=r._positionDampen,z=l.length;for(s=0;s<z;s++){if(d=l[s],!d.isActive||d.isSensor)continue;c=d.collision,m=c.parentA,h=c.parentB,f=c.normal,d.separation=f.x*(h.positionImpulse.x+c.penetration.x-m.positionImpulse.x)+f.y*(h.positionImpulse.y+c.penetration.y-m.positionImpulse.y)}for(s=0;s<z;s++){if(d=l[s],!d.isActive||d.isSensor)continue;if(c=d.collision,m=c.parentA,h=c.parentB,f=c.normal,g=(d.separation-d.slop)*o,m.isStatic||h.isStatic)g*=2;if(!(m.isStatic||m.isSleeping))v=x/m.totalContacts,m.positionImpulse.x+=f.x*g*v,m.positionImpulse.y+=f.y*g*v;if(!(h.isStatic||h.isSleeping))v=x/h.totalContacts,h.positionImpulse.x-=f.x*g*v,h.positionImpulse.y-=f.y*g*v}},r.postSolvePosition=function(l){var o=r._positionWarming,s=l.length,d=n.translate,c=t.update;for(var m=0;m<s;m++){var h=l[m],f=h.positionImpulse,v=f.x,g=f.y,x=h.velocity;if(h.totalContacts=0,v!==0||g!==0){for(var z=0;z<h.parts.length;z++){var p=h.parts[z];d(p.vertices,f),c(p.bounds,p.vertices,x),p.position.x+=v,p.position.y+=g}if(h.positionPrev.x+=v,h.positionPrev.y+=g,v*x.x+g*x.y<0)f.x=0,f.y=0;else f.x*=o,f.y*=o}}},r.preSolveVelocity=function(l){var o=l.length,s,d;for(s=0;s<o;s++){var c=l[s];if(!c.isActive||c.isSensor)continue;var m=c.activeContacts,h=m.length,f=c.collision,v=f.parentA,g=f.parentB,x=f.normal,z=f.tangent;for(d=0;d<h;d++){var p=m[d],w=p.vertex,b=p.normalImpulse,y=p.tangentImpulse;if(b!==0||y!==0){var I=x.x*b+z.x*y,O=x.y*b+z.y*y;if(!(v.isStatic||v.isSleeping))v.positionPrev.x+=I*v.inverseMass,v.positionPrev.y+=O*v.inverseMass,v.anglePrev+=v.inverseInertia*((w.x-v.position.x)*O-(w.y-v.position.y)*I);if(!(g.isStatic||g.isSleeping))g.positionPrev.x-=I*g.inverseMass,g.positionPrev.y-=O*g.inverseMass,g.anglePrev-=g.inverseInertia*((w.x-g.position.x)*O-(w.y-g.position.y)*I)}}}},r.solveVelocity=function(l,o){var s=o*o,d=r._restingThresh*s,c=r._frictionNormalMultiplier,m=r._restingThreshTangent*s,h=Number.MAX_VALUE,f=l.length,v,g,x,z;for(x=0;x<f;x++){var p=l[x];if(!p.isActive||p.isSensor)continue;var w=p.collision,b=w.parentA,y=w.parentB,I=b.velocity,O=y.velocity,K=w.normal.x,j=w.normal.y,T=w.tangent.x,A=w.tangent.y,V=p.activeContacts,N=V.length,G=1/N,D=b.inverseMass+y.inverseMass,F=p.friction*p.frictionStatic*c*s;I.x=b.position.x-b.positionPrev.x,I.y=b.position.y-b.positionPrev.y,O.x=y.position.x-y.positionPrev.x,O.y=y.position.y-y.positionPrev.y,b.angularVelocity=b.angle-b.anglePrev,y.angularVelocity=y.angle-y.anglePrev;for(z=0;z<N;z++){var E=V[z],H=E.vertex,M=H.x-b.position.x,Q=H.y-b.position.y,L=H.x-y.position.x,_=H.y-y.position.y,i1=I.x-Q*b.angularVelocity,l1=I.y+M*b.angularVelocity,c1=O.x-_*y.angularVelocity,k1=O.y+L*y.angularVelocity,A1=i1-c1,ia=l1-k1,ta=K*A1+j*ia,T1=T*A1+A*ia,X1=p.separation+ta,ra=Math.min(X1,1);ra=X1<0?0:ra;var x1=ra*F;if(T1>x1||-T1>x1){if(g=T1>0?T1:-T1,v=p.friction*(T1>0?1:-1)*s,v<-g)v=-g;else if(v>g)v=g}else v=T1,g=h;var r1=M*j-Q*K,ga=L*j-_*K,ya=G/(D+b.inverseInertia*r1*r1+y.inverseInertia*ga*ga),ua=(1+p.restitution)*ta*ya;if(v*=ya,ta*ta>d&&ta<0)E.normalImpulse=0;else{var wa=E.normalImpulse;E.normalImpulse+=ua,E.normalImpulse=Math.min(E.normalImpulse,0),ua=E.normalImpulse-wa}if(T1*T1>m)E.tangentImpulse=0;else{var xa=E.tangentImpulse;if(E.tangentImpulse+=v,E.tangentImpulse<-g)E.tangentImpulse=-g;if(E.tangentImpulse>g)E.tangentImpulse=g;v=E.tangentImpulse-xa}var da=K*ua+T*v,D1=j*ua+A*v;if(!(b.isStatic||b.isSleeping))b.positionPrev.x+=da*b.inverseMass,b.positionPrev.y+=D1*b.inverseMass,b.anglePrev+=(M*D1-Q*da)*b.inverseInertia;if(!(y.isStatic||y.isSleeping))y.positionPrev.x-=da*y.inverseMass,y.positionPrev.y-=D1*y.inverseMass,y.anglePrev-=(L*D1-_*da)*y.inverseInertia}}}})()},function(a,e,i){var r={};a.exports=r;var n=i(9),t=i(0);(function(){r.create=function(l){return t.extend({table:{},list:[],collisionStart:[],collisionActive:[],collisionEnd:[]},l)},r.update=function(l,o,s){var d=l.list,c=d.length,m=l.table,h=o.length,f=l.collisionStart,v=l.collisionEnd,g=l.collisionActive,x,z,p,w;f.length=0,v.length=0,g.length=0;for(w=0;w<c;w++)d[w].confirmedActive=!1;for(w=0;w<h;w++)if(x=o[w],p=x.pair,p){if(p.isActive)g.push(p);else f.push(p);n.update(p,x,s),p.confirmedActive=!0}else p=n.create(x,s),m[p.id]=p,f.push(p),d.push(p);var b=[];c=d.length;for(w=0;w<c;w++)if(p=d[w],!p.confirmedActive){if(n.setActive(p,!1,s),v.push(p),!p.collision.bodyA.isSleeping&&!p.collision.bodyB.isSleeping)b.push(w)}for(w=0;w<b.length;w++)z=b[w]-w,p=d[z],d.splice(z,1),delete m[p.id]},r.clear=function(l){return l.table={},l.list.length=0,l.collisionStart.length=0,l.collisionActive.length=0,l.collisionEnd.length=0,l}})()},function(a,e,i){var r=a.exports=i(22);r.Axes=i(11),r.Bodies=i(12),r.Body=i(6),r.Bounds=i(1),r.Collision=i(8),r.Common=i(0),r.Composite=i(5),r.Composites=i(23),r.Constraint=i(10),r.Contact=i(17),r.Detector=i(14),r.Engine=i(18),r.Events=i(4),r.Grid=i(24),r.Mouse=i(13),r.MouseConstraint=i(25),r.Pair=i(9),r.Pairs=i(20),r.Plugin=i(15),r.Query=i(26),r.Render=i(16),r.Resolver=i(19),r.Runner=i(27),r.SAT=i(28),r.Sleeping=i(7),r.Svg=i(29),r.Vector=i(2),r.Vertices=i(3),r.World=i(30),r.Engine.run=r.Runner.run,r.Common.deprecated(r.Engine,"run","Engine.run ➤ use Matter.Runner.run(engine) instead")},function(a,e,i){var r={};a.exports=r;var n=i(15),t=i(0);(function(){r.name="matter-js",r.version="0.18.0",r.uses=[],r.used=[],r.use=function(){n.use(r,Array.prototype.slice.call(arguments))},r.before=function(l,o){return l=l.replace(/^Matter./,""),t.chainPathBefore(r,l,o)},r.after=function(l,o){return l=l.replace(/^Matter./,""),t.chainPathAfter(r,l,o)}})()},function(a,e,i){var r={};a.exports=r;var n=i(5),t=i(10),l=i(0),o=i(6),s=i(12),d=l.deprecated;(function(){r.stack=function(c,m,h,f,v,g,x){var z=n.create({label:"Stack"}),p=c,w=m,b,y=0;for(var I=0;I<f;I++){var O=0;for(var K=0;K<h;K++){var j=x(p,w,K,I,b,y);if(j){var T=j.bounds.max.y-j.bounds.min.y,A=j.bounds.max.x-j.bounds.min.x;if(T>O)O=T;o.translate(j,{x:A*0.5,y:T*0.5}),p=j.bounds.max.x+v,n.addBody(z,j),b=j,y+=1}else p+=v}w+=O+g,p=c}return z},r.chain=function(c,m,h,f,v,g){var x=c.bodies;for(var z=1;z<x.length;z++){var p=x[z-1],w=x[z],b=p.bounds.max.y-p.bounds.min.y,y=p.bounds.max.x-p.bounds.min.x,I=w.bounds.max.y-w.bounds.min.y,O=w.bounds.max.x-w.bounds.min.x,K={bodyA:p,pointA:{x:y*m,y:b*h},bodyB:w,pointB:{x:O*f,y:I*v}},j=l.extend(K,g);n.addConstraint(c,t.create(j))}return c.label+=" Chain",c},r.mesh=function(c,m,h,f,v){var g=c.bodies,x,z,p,w,b;for(x=0;x<h;x++){for(z=1;z<m;z++)p=g[z-1+x*m],w=g[z+x*m],n.addConstraint(c,t.create(l.extend({bodyA:p,bodyB:w},v)));if(x>0)for(z=0;z<m;z++){if(p=g[z+(x-1)*m],w=g[z+x*m],n.addConstraint(c,t.create(l.extend({bodyA:p,bodyB:w},v))),f&&z>0)b=g[z-1+(x-1)*m],n.addConstraint(c,t.create(l.extend({bodyA:b,bodyB:w},v)));if(f&&z<m-1)b=g[z+1+(x-1)*m],n.addConstraint(c,t.create(l.extend({bodyA:b,bodyB:w},v)))}}return c.label+=" Mesh",c},r.pyramid=function(c,m,h,f,v,g,x){return r.stack(c,m,h,f,v,g,function(z,p,w,b,y,I){var O=Math.min(f,Math.ceil(h/2)),K=y?y.bounds.max.x-y.bounds.min.x:0;if(b>O)return;b=O-b;var j=b,T=h-1-b;if(w<j||w>T)return;if(I===1)o.translate(y,{x:(w+(h%2===1?1:-1))*K,y:0});var A=y?w*K:0;return x(c+A+w*v,p,w,b,y,I)})},r.newtonsCradle=function(c,m,h,f,v){var g=n.create({label:"Newtons Cradle"});for(var x=0;x<h;x++){var z=1.9,p=s.circle(c+x*(f*z),m+v,f,{inertia:1/0,restitution:1,friction:0,frictionAir:0.0001,slop:1}),w=t.create({pointA:{x:c+x*(f*z),y:m},bodyB:p});n.addBody(g,p),n.addConstraint(g,w)}return g},d(r,"newtonsCradle","Composites.newtonsCradle ➤ moved to newtonsCradle example"),r.car=function(c,m,h,f,v){var g=o.nextGroup(!0),x=20,z=-h*0.5+x,p=h*0.5-x,w=0,b=n.create({label:"Car"}),y=s.rectangle(c,m,h,f,{collisionFilter:{group:g},chamfer:{radius:f*0.5},density:0.0002}),I=s.circle(c+z,m+w,v,{collisionFilter:{group:g},friction:0.8}),O=s.circle(c+p,m+w,v,{collisionFilter:{group:g},friction:0.8}),K=t.create({bodyB:y,pointB:{x:z,y:w},bodyA:I,stiffness:1,length:0}),j=t.create({bodyB:y,pointB:{x:p,y:w},bodyA:O,stiffness:1,length:0});return n.addBody(b,y),n.addBody(b,I),n.addBody(b,O),n.addConstraint(b,K),n.addConstraint(b,j),b},d(r,"car","Composites.car ➤ moved to car example"),r.softBody=function(c,m,h,f,v,g,x,z,p,w){p=l.extend({inertia:1/0},p),w=l.extend({stiffness:0.2,render:{type:"line",anchors:!1}},w);var b=r.stack(c,m,h,f,v,g,function(y,I){return s.circle(y,I,z,p)});return r.mesh(b,h,f,x,w),b.label="Soft Body",b},d(r,"softBody","Composites.softBody ➤ moved to softBody and cloth examples")})()},function(a,e,i){var r={};a.exports=r;var n=i(9),t=i(0),l=t.deprecated;(function(){r.create=function(o){var s={buckets:{},pairs:{},pairsList:[],bucketWidth:48,bucketHeight:48};return t.extend(s,o)},r.update=function(o,s,d,c){var m,h,f,v=d.world,g=o.buckets,x,z,p=!1;for(m=0;m<s.length;m++){var w=s[m];if(w.isSleeping&&!c)continue;if(v.bounds&&(w.bounds.max.x<v.bounds.min.x||w.bounds.min.x>v.bounds.max.x||w.bounds.max.y<v.bounds.min.y||w.bounds.min.y>v.bounds.max.y))continue;var b=r._getRegion(o,w);if(!w.region||b.id!==w.region.id||c){if(!w.region||c)w.region=b;var y=r._regionUnion(b,w.region);for(h=y.startCol;h<=y.endCol;h++)for(f=y.startRow;f<=y.endRow;f++){z=r._getBucketId(h,f),x=g[z];var I=h>=b.startCol&&h<=b.endCol&&f>=b.startRow&&f<=b.endRow,O=h>=w.region.startCol&&h<=w.region.endCol&&f>=w.region.startRow&&f<=w.region.endRow;if(!I&&O){if(O){if(x)r._bucketRemoveBody(o,x,w)}}if(w.region===b||I&&!O||c){if(!x)x=r._createBucket(g,z);r._bucketAddBody(o,x,w)}}w.region=b,p=!0}}if(p)o.pairsList=r._createActivePairsList(o)},l(r,"update","Grid.update ➤ replaced by Matter.Detector"),r.clear=function(o){o.buckets={},o.pairs={},o.pairsList=[]},l(r,"clear","Grid.clear ➤ replaced by Matter.Detector"),r._regionUnion=function(o,s){var d=Math.min(o.startCol,s.startCol),c=Math.max(o.endCol,s.endCol),m=Math.min(o.startRow,s.startRow),h=Math.max(o.endRow,s.endRow);return r._createRegion(d,c,m,h)},r._getRegion=function(o,s){var d=s.bounds,c=Math.floor(d.min.x/o.bucketWidth),m=Math.floor(d.max.x/o.bucketWidth),h=Math.floor(d.min.y/o.bucketHeight),f=Math.floor(d.max.y/o.bucketHeight);return r._createRegion(c,m,h,f)},r._createRegion=function(o,s,d,c){return{id:o+","+s+","+d+","+c,startCol:o,endCol:s,startRow:d,endRow:c}},r._getBucketId=function(o,s){return"C"+o+"R"+s},r._createBucket=function(o,s){var d=o[s]=[];return d},r._bucketAddBody=function(o,s,d){var c=o.pairs,m=n.id,h=s.length,f;for(f=0;f<h;f++){var v=s[f];if(d.id===v.id||d.isStatic&&v.isStatic)continue;var g=m(d,v),x=c[g];if(x)x[2]+=1;else c[g]=[d,v,1]}s.push(d)},r._bucketRemoveBody=function(o,s,d){var c=o.pairs,m=n.id,h;s.splice(t.indexOf(s,d),1);var f=s.length;for(h=0;h<f;h++){var v=c[m(d,s[h])];if(v)v[2]-=1}},r._createActivePairsList=function(o){var s,d=o.pairs,c=t.keys(d),m=c.length,h=[],f;for(f=0;f<m;f++)if(s=d[c[f]],s[2]>0)h.push(s);else delete d[c[f]];return h}})()},function(a,e,i){var r={};a.exports=r;var n=i(3),t=i(7),l=i(13),o=i(4),s=i(14),d=i(10),c=i(5),m=i(0),h=i(1);(function(){r.create=function(f,v){var g=(f?f.mouse:null)||(v?v.mouse:null);if(!g)if(f&&f.render&&f.render.canvas)g=l.create(f.render.canvas);else if(v&&v.element)g=l.create(v.element);else g=l.create(),m.warn("MouseConstraint.create: options.mouse was undefined, options.element was undefined, may not function as expected");var x=d.create({label:"Mouse Constraint",pointA:g.position,pointB:{x:0,y:0},length:0.01,stiffness:0.1,angularStiffness:1,render:{strokeStyle:"#90EE90",lineWidth:3}}),z={type:"mouseConstraint",mouse:g,element:null,body:null,constraint:x,collisionFilter:{category:1,mask:4294967295,group:0}},p=m.extend(z,v);return o.on(f,"beforeUpdate",function(){var w=c.allBodies(f.world);r.update(p,w),r._triggerEvents(p)}),p},r.update=function(f,v){var{mouse:g,constraint:x,body:z}=f;if(g.button===0)if(!x.bodyB){for(var p=0;p<v.length;p++)if(z=v[p],h.contains(z.bounds,g.position)&&s.canCollide(z.collisionFilter,f.collisionFilter))for(var w=z.parts.length>1?1:0;w<z.parts.length;w++){var b=z.parts[w];if(n.contains(b.vertices,g.position)){x.pointA=g.position,x.bodyB=f.body=z,x.pointB={x:g.position.x-z.position.x,y:g.position.y-z.position.y},x.angleB=z.angle,t.set(z,!1),o.trigger(f,"startdrag",{mouse:g,body:z});break}}}else t.set(x.bodyB,!1),x.pointA=g.position;else if(x.bodyB=f.body=null,x.pointB=null,z)o.trigger(f,"enddrag",{mouse:g,body:z})},r._triggerEvents=function(f){var v=f.mouse,g=v.sourceEvents;if(g.mousemove)o.trigger(f,"mousemove",{mouse:v});if(g.mousedown)o.trigger(f,"mousedown",{mouse:v});if(g.mouseup)o.trigger(f,"mouseup",{mouse:v});l.clearSourceEvents(v)}})()},function(a,e,i){var r={};a.exports=r;var n=i(2),t=i(8),l=i(1),o=i(12),s=i(3);(function(){r.collides=function(d,c){var m=[],h=c.length,f=d.bounds,v=t.collides,g=l.overlaps;for(var x=0;x<h;x++){var z=c[x],p=z.parts.length,w=p===1?0:1;if(g(z.bounds,f))for(var b=w;b<p;b++){var y=z.parts[b];if(g(y.bounds,f)){var I=v(y,d);if(I){m.push(I);break}}}}return m},r.ray=function(d,c,m,h){h=h||0.0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001;var f=n.angle(c,m),v=n.magnitude(n.sub(c,m)),g=(m.x+c.x)*0.5,x=(m.y+c.y)*0.5,z=o.rectangle(g,x,v,h,{angle:f}),p=r.collides(z,d);for(var w=0;w<p.length;w+=1){var b=p[w];b.body=b.bodyB=b.bodyA}return p},r.region=function(d,c,m){var h=[];for(var f=0;f<d.length;f++){var v=d[f],g=l.overlaps(v.bounds,c);if(g&&!m||!g&&m)h.push(v)}return h},r.point=function(d,c){var m=[];for(var h=0;h<d.length;h++){var f=d[h];if(l.contains(f.bounds,c))for(var v=f.parts.length===1?0:1;v<f.parts.length;v++){var g=f.parts[v];if(l.contains(g.bounds,c)&&s.contains(g.vertices,c)){m.push(f);break}}}return m}})()},function(a,e,i){var r={};a.exports=r;var n=i(4),t=i(18),l=i(0);(function(){var o,s;if(typeof window!=="undefined")o=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.msRequestAnimationFrame,s=window.cancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.msCancelAnimationFrame;if(!o){var d;o=function(c){d=setTimeout(function(){c(l.now())},16.666666666666668)},s=function(){clearTimeout(d)}}r.create=function(c){var m={fps:60,correction:1,deltaSampleSize:60,counterTimestamp:0,frameCounter:0,deltaHistory:[],timePrev:null,timeScalePrev:1,frameRequestId:null,isFixed:!1,enabled:!0},h=l.extend(m,c);return h.delta=h.delta||1000/h.fps,h.deltaMin=h.deltaMin||1000/h.fps,h.deltaMax=h.deltaMax||1000/(h.fps*0.5),h.fps=1000/h.delta,h},r.run=function(c,m){if(typeof c.positionIterations!=="undefined")m=c,c=r.create();return function h(f){if(c.frameRequestId=o(h),f&&c.enabled)r.tick(c,m,f)}(),c},r.tick=function(c,m,h){var f=m.timing,v=1,g,x={timestamp:f.timestamp};if(n.trigger(c,"beforeTick",x),c.isFixed)g=c.delta;else g=h-c.timePrev||c.delta,c.timePrev=h,c.deltaHistory.push(g),c.deltaHistory=c.deltaHistory.slice(-c.deltaSampleSize),g=Math.min.apply(null,c.deltaHistory),g=g<c.deltaMin?c.deltaMin:g,g=g>c.deltaMax?c.deltaMax:g,v=g/c.delta,c.delta=g;if(c.timeScalePrev!==0)v*=f.timeScale/c.timeScalePrev;if(f.timeScale===0)v=0;if(c.timeScalePrev=f.timeScale,c.correction=v,c.frameCounter+=1,h-c.counterTimestamp>=1000)c.fps=c.frameCounter*((h-c.counterTimestamp)/1000),c.counterTimestamp=h,c.frameCounter=0;n.trigger(c,"tick",x),n.trigger(c,"beforeUpdate",x),t.update(m,g,v),n.trigger(c,"afterUpdate",x),n.trigger(c,"afterTick",x)},r.stop=function(c){s(c.frameRequestId)},r.start=function(c,m){r.run(c,m)}})()},function(a,e,i){var r={};a.exports=r;var n=i(8),t=i(0),l=t.deprecated;(function(){r.collides=function(o,s){return n.collides(o,s)},l(r,"collides","SAT.collides ➤ replaced by Collision.collides")})()},function(a,e,i){var r={};a.exports=r;var n=i(1),t=i(0);(function(){r.pathToVertices=function(l,o){if(typeof window!=="undefined"&&!("SVGPathSeg"in window))t.warn("Svg.pathToVertices: SVGPathSeg not defined, a polyfill is required.");var s,d,c,m,h,f,v,g,x,z,p=[],w,b,y=0,I=0,O=0;o=o||15;var K=function(T,A,V){var N=V%2===1&&V>1;if(!x||T!=x.x||A!=x.y){if(x&&N)w=x.x,b=x.y;else w=0,b=0;var G={x:w+T,y:b+A};if(N||!x)x=G;p.push(G),I=w+T,O=b+A}},j=function(T){var A=T.pathSegTypeAsLetter.toUpperCase();if(A==="Z")return;switch(A){case"M":case"L":case"T":case"C":case"S":case"Q":I=T.x,O=T.y;break;case"H":I=T.x;break;case"V":O=T.y;break}K(I,O,T.pathSegType)};r._svgPathToAbsolute(l),c=l.getTotalLength(),f=[];for(s=0;s<l.pathSegList.numberOfItems;s+=1)f.push(l.pathSegList.getItem(s));v=f.concat();while(y<c){if(z=l.getPathSegAtLength(y),h=f[z],h!=g){while(v.length&&v[0]!=h)j(v.shift());g=h}switch(h.pathSegTypeAsLetter.toUpperCase()){case"C":case"T":case"S":case"Q":case"A":m=l.getPointAtLength(y),K(m.x,m.y,0);break}y+=o}for(s=0,d=v.length;s<d;++s)j(v[s]);return p},r._svgPathToAbsolute=function(l){var o,s,d,c,m,h,f=l.pathSegList,v=0,g=0,x=f.numberOfItems;for(var z=0;z<x;++z){var p=f.getItem(z),w=p.pathSegTypeAsLetter;if(/[MLHVCSQTA]/.test(w)){if("x"in p)v=p.x;if("y"in p)g=p.y}else{if("x1"in p)d=v+p.x1;if("x2"in p)m=v+p.x2;if("y1"in p)c=g+p.y1;if("y2"in p)h=g+p.y2;if("x"in p)v+=p.x;if("y"in p)g+=p.y;switch(w){case"m":f.replaceItem(l.createSVGPathSegMovetoAbs(v,g),z);break;case"l":f.replaceItem(l.createSVGPathSegLinetoAbs(v,g),z);break;case"h":f.replaceItem(l.createSVGPathSegLinetoHorizontalAbs(v),z);break;case"v":f.replaceItem(l.createSVGPathSegLinetoVerticalAbs(g),z);break;case"c":f.replaceItem(l.createSVGPathSegCurvetoCubicAbs(v,g,d,c,m,h),z);break;case"s":f.replaceItem(l.createSVGPathSegCurvetoCubicSmoothAbs(v,g,m,h),z);break;case"q":f.replaceItem(l.createSVGPathSegCurvetoQuadraticAbs(v,g,d,c),z);break;case"t":f.replaceItem(l.createSVGPathSegCurvetoQuadraticSmoothAbs(v,g),z);break;case"a":f.replaceItem(l.createSVGPathSegArcAbs(v,g,p.r1,p.r2,p.angle,p.largeArcFlag,p.sweepFlag),z);break;case"z":case"Z":v=o,g=s;break}}if(w=="M"||w=="m")o=v,s=g}}})()},function(a,e,i){var r={};a.exports=r;var n=i(5),t=i(0);(function(){r.create=n.create,r.add=n.add,r.remove=n.remove,r.clear=n.clear,r.addComposite=n.addComposite,r.addBody=n.addBody,r.addConstraint=n.addConstraint})()}])})});var F6=C1((sZ,M6)=>{M6.exports=function a(e,i){if(e===i)return!0;if(e&&i&&typeof e=="object"&&typeof i=="object"){if(e.constructor!==i.constructor)return!1;var r,n,t;if(Array.isArray(e)){if(r=e.length,r!=i.length)return!1;for(n=r;n--!==0;)if(!a(e[n],i[n]))return!1;return!0}if(e.constructor===RegExp)return e.source===i.source&&e.flags===i.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===i.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===i.toString();if(t=Object.keys(e),r=t.length,r!==Object.keys(i).length)return!1;for(n=r;n--!==0;)if(!Object.prototype.hasOwnProperty.call(i,t[n]))return!1;for(n=r;n--!==0;){var l=t[n];if(!a(e[l],i[l]))return!1}return!0}return e!==e&&i!==i}});class h0 extends Event{constructor(a,e,i,r){super("context-request",{bubbles:!0,composed:!0}),this.context=a,this.contextTarget=e,this.callback=i,this.subscribe=r??!1}}function Aa(a){return a}class j1{constructor(a,e,i,r){if(this.subscribe=!1,this.provided=!1,this.value=void 0,this.t=(n,t)=>{this.unsubscribe&&(this.unsubscribe!==t&&(this.provided=!1,this.unsubscribe()),this.subscribe||this.unsubscribe()),this.value=n,this.host.requestUpdate(),this.provided&&!this.subscribe||(this.provided=!0,this.callback&&this.callback(n,t)),this.unsubscribe=t},this.host=a,e.context!==void 0){let n=e;this.context=n.context,this.callback=n.callback,this.subscribe=n.subscribe??!1}else this.context=e,this.callback=i,this.subscribe=r??!1;this.host.addController(this)}hostConnected(){this.dispatchRequest()}hostDisconnected(){this.unsubscribe&&(this.unsubscribe(),this.unsubscribe=void 0)}dispatchRequest(){this.host.dispatchEvent(new h0(this.context,this.host,this.t,this.subscribe))}}class f3{get value(){return this.o}set value(a){this.setValue(a)}setValue(a,e=!1){let i=e||!Object.is(a,this.o);this.o=a,i&&this.updateObservers()}constructor(a){this.subscriptions=new Map,this.updateObservers=()=>{for(let[e,{disposer:i}]of this.subscriptions)e(this.o,i)},a!==void 0&&(this.value=a)}addCallback(a,e,i){if(!i)return void a(this.value);this.subscriptions.has(a)||this.subscriptions.set(a,{disposer:()=>{this.subscriptions.delete(a)},consumerHost:e});let{disposer:r}=this.subscriptions.get(a);a(this.value,r)}clearCallbacks(){this.subscriptions.clear()}}class Q4 extends Event{constructor(a,e){super("context-provider",{bubbles:!0,composed:!0}),this.context=a,this.contextTarget=e}}class u0 extends f3{constructor(a,e,i){super(e.context!==void 0?e.initialValue:i),this.onContextRequest=(r)=>{if(r.context!==this.context)return;let n=r.contextTarget??r.composedPath()[0];n!==this.host&&(r.stopPropagation(),this.addCallback(r.callback,n,r.subscribe))},this.onProviderRequest=(r)=>{if(r.context!==this.context)return;if((r.contextTarget??r.composedPath()[0])===this.host)return;let n=new Set;for(let[t,{consumerHost:l}]of this.subscriptions)n.has(t)||(n.add(t),l.dispatchEvent(new h0(this.context,l,t,!0)));r.stopPropagation()},this.host=a,e.context!==void 0?this.context=e.context:this.context=e,this.attachListeners(),this.host.addController?.(this)}attachListeners(){this.host.addEventListener("context-request",this.onContextRequest),this.host.addEventListener("context-provider",this.onProviderRequest)}hostConnected(){this.host.dispatchEvent(new Q4(this.context,this.host))}}function U({context:a,subscribe:e}){return(i,r)=>{typeof r=="object"?r.addInitializer(function(){new j1(this,{context:a,callback:(n)=>{i.set.call(this,n)},subscribe:e})}):i.constructor.addInitializer((n)=>{new j1(n,{context:a,callback:(t)=>{n[r]=t},subscribe:e})})}}var C2=globalThis,D2=C2.ShadowRoot&&(C2.ShadyCSS===void 0||C2.ShadyCSS.nativeShadow)&&"adoptedStyleSheets"in Document.prototype&&"replace"in CSSStyleSheet.prototype,m3=Symbol(),Y4=new WeakMap;class N2{constructor(a,e,i){if(this._$cssResult$=!0,i!==m3)throw Error("CSSResult is not constructable. Use `unsafeCSS` or `css` instead.");this.cssText=a,this.t=e}get styleSheet(){let a=this.o,e=this.t;if(D2&&a===void 0){let i=e!==void 0&&e.length===1;i&&(a=Y4.get(e)),a===void 0&&((this.o=a=new CSSStyleSheet).replaceSync(this.cssText),i&&Y4.set(e,a))}return a}toString(){return this.cssText}}var X4=(a)=>new N2(typeof a=="string"?a:a+"",void 0,m3),W=(a,...e)=>{let i=a.length===1?a[0]:e.reduce((r,n,t)=>r+((l)=>{if(l._$cssResult$===!0)return l.cssText;if(typeof l=="number")return l;throw Error("Value passed to 'css' function must be a 'css' function result: "+l+". Use 'unsafeCSS' to pass non-literal values, but take care to ensure page security.")})(n)+a[t+1],a[0]);return new N2(i,a,m3)},C4=(a,e)=>{if(D2)a.adoptedStyleSheets=e.map((i)=>i instanceof CSSStyleSheet?i:i.styleSheet);else for(let i of e){let r=document.createElement("style"),n=C2.litNonce;n!==void 0&&r.setAttribute("nonce",n),r.textContent=i.cssText,a.appendChild(r)}},g3=D2?(a)=>a:(a)=>a instanceof CSSStyleSheet?((e)=>{let i="";for(let r of e.cssRules)i+=r.cssText;return X4(i)})(a):a;var{is:Y8,defineProperty:X8,getOwnPropertyDescriptor:C8,getOwnPropertyNames:D8,getOwnPropertySymbols:N8,getPrototypeOf:G8}=Object,G2=globalThis,D4=G2.trustedTypes,P8=D4?D4.emptyScript:"",U8=G2.reactiveElementPolyfillSupport,d2=(a,e)=>a,c2={toAttribute(a,e){switch(e){case Boolean:a=a?P8:null;break;case Object:case Array:a=a==null?a:JSON.stringify(a)}return a},fromAttribute(a,e){let i=a;switch(e){case Boolean:i=a!==null;break;case Number:i=a===null?null:Number(a);break;case Object:case Array:try{i=JSON.parse(a)}catch(r){i=null}}return i}},P2=(a,e)=>!Y8(a,e),N4={attribute:!0,type:String,converter:c2,reflect:!1,useDefault:!1,hasChanged:P2};Symbol.metadata??=Symbol("metadata"),G2.litPropertyMetadata??=new WeakMap;class Pa extends HTMLElement{static addInitializer(a){this._$Ei(),(this.l??=[]).push(a)}static get observedAttributes(){return this.finalize(),this._$Eh&&[...this._$Eh.keys()]}static createProperty(a,e=N4){if(e.state&&(e.attribute=!1),this._$Ei(),this.prototype.hasOwnProperty(a)&&((e=Object.create(e)).wrapped=!0),this.elementProperties.set(a,e),!e.noAccessor){let i=Symbol(),r=this.getPropertyDescriptor(a,i,e);r!==void 0&&X8(this.prototype,a,r)}}static getPropertyDescriptor(a,e,i){let{get:r,set:n}=C8(this.prototype,a)??{get(){return this[e]},set(t){this[e]=t}};return{get:r,set(t){let l=r?.call(this);n?.call(this,t),this.requestUpdate(a,l,i)},configurable:!0,enumerable:!0}}static getPropertyOptions(a){return this.elementProperties.get(a)??N4}static _$Ei(){if(this.hasOwnProperty(d2("elementProperties")))return;let a=G8(this);a.finalize(),a.l!==void 0&&(this.l=[...a.l]),this.elementProperties=new Map(a.elementProperties)}static finalize(){if(this.hasOwnProperty(d2("finalized")))return;if(this.finalized=!0,this._$Ei(),this.hasOwnProperty(d2("properties"))){let e=this.properties,i=[...D8(e),...N8(e)];for(let r of i)this.createProperty(r,e[r])}let a=this[Symbol.metadata];if(a!==null){let e=litPropertyMetadata.get(a);if(e!==void 0)for(let[i,r]of e)this.elementProperties.set(i,r)}this._$Eh=new Map;for(let[e,i]of this.elementProperties){let r=this._$Eu(e,i);r!==void 0&&this._$Eh.set(r,e)}this.elementStyles=this.finalizeStyles(this.styles)}static finalizeStyles(a){let e=[];if(Array.isArray(a)){let i=new Set(a.flat(1/0).reverse());for(let r of i)e.unshift(g3(r))}else a!==void 0&&e.push(g3(a));return e}static _$Eu(a,e){let i=e.attribute;return i===!1?void 0:typeof i=="string"?i:typeof a=="string"?a.toLowerCase():void 0}constructor(){super(),this._$Ep=void 0,this.isUpdatePending=!1,this.hasUpdated=!1,this._$Em=null,this._$Ev()}_$Ev(){this._$ES=new Promise((a)=>this.enableUpdating=a),this._$AL=new Map,this._$E_(),this.requestUpdate(),this.constructor.l?.forEach((a)=>a(this))}addController(a){(this._$EO??=new Set).add(a),this.renderRoot!==void 0&&this.isConnected&&a.hostConnected?.()}removeController(a){this._$EO?.delete(a)}_$E_(){let a=new Map,e=this.constructor.elementProperties;for(let i of e.keys())this.hasOwnProperty(i)&&(a.set(i,this[i]),delete this[i]);a.size>0&&(this._$Ep=a)}createRenderRoot(){let a=this.shadowRoot??this.attachShadow(this.constructor.shadowRootOptions);return C4(a,this.constructor.elementStyles),a}connectedCallback(){this.renderRoot??=this.createRenderRoot(),this.enableUpdating(!0),this._$EO?.forEach((a)=>a.hostConnected?.())}enableUpdating(a){}disconnectedCallback(){this._$EO?.forEach((a)=>a.hostDisconnected?.())}attributeChangedCallback(a,e,i){this._$AK(a,i)}_$ET(a,e){let i=this.constructor.elementProperties.get(a),r=this.constructor._$Eu(a,i);if(r!==void 0&&i.reflect===!0){let n=(i.converter?.toAttribute!==void 0?i.converter:c2).toAttribute(e,i.type);this._$Em=a,n==null?this.removeAttribute(r):this.setAttribute(r,n),this._$Em=null}}_$AK(a,e){let i=this.constructor,r=i._$Eh.get(a);if(r!==void 0&&this._$Em!==r){let n=i.getPropertyOptions(r),t=typeof n.converter=="function"?{fromAttribute:n.converter}:n.converter?.fromAttribute!==void 0?n.converter:c2;this._$Em=r,this[r]=t.fromAttribute(e,n.type)??this._$Ej?.get(r)??null,this._$Em=null}}requestUpdate(a,e,i){if(a!==void 0){let r=this.constructor,n=this[a];if(i??=r.getPropertyOptions(a),!((i.hasChanged??P2)(n,e)||i.useDefault&&i.reflect&&n===this._$Ej?.get(a)&&!this.hasAttribute(r._$Eu(a,i))))return;this.C(a,e,i)}this.isUpdatePending===!1&&(this._$ES=this._$EP())}C(a,e,{useDefault:i,reflect:r,wrapped:n},t){i&&!(this._$Ej??=new Map).has(a)&&(this._$Ej.set(a,t??e??this[a]),n!==!0||t!==void 0)||(this._$AL.has(a)||(this.hasUpdated||i||(e=void 0),this._$AL.set(a,e)),r===!0&&this._$Em!==a&&(this._$Eq??=new Set).add(a))}async _$EP(){this.isUpdatePending=!0;try{await this._$ES}catch(e){Promise.reject(e)}let a=this.scheduleUpdate();return a!=null&&await a,!this.isUpdatePending}scheduleUpdate(){return this.performUpdate()}performUpdate(){if(!this.isUpdatePending)return;if(!this.hasUpdated){if(this.renderRoot??=this.createRenderRoot(),this._$Ep){for(let[r,n]of this._$Ep)this[r]=n;this._$Ep=void 0}let i=this.constructor.elementProperties;if(i.size>0)for(let[r,n]of i){let{wrapped:t}=n,l=this[r];t!==!0||this._$AL.has(r)||l===void 0||this.C(r,void 0,n,l)}}let a=!1,e=this._$AL;try{a=this.shouldUpdate(e),a?(this.willUpdate(e),this._$EO?.forEach((i)=>i.hostUpdate?.()),this.update(e)):this._$EM()}catch(i){throw a=!1,this._$EM(),i}a&&this._$AE(e)}willUpdate(a){}_$AE(a){this._$EO?.forEach((e)=>e.hostUpdated?.()),this.hasUpdated||(this.hasUpdated=!0,this.firstUpdated(a)),this.updated(a)}_$EM(){this._$AL=new Map,this.isUpdatePending=!1}get updateComplete(){return this.getUpdateComplete()}getUpdateComplete(){return this._$ES}shouldUpdate(a){return!0}update(a){this._$Eq&&=this._$Eq.forEach((e)=>this._$ET(e,this[e])),this._$EM()}updated(a){}firstUpdated(a){}}Pa.elementStyles=[],Pa.shadowRootOptions={mode:"open"},Pa[d2("elementProperties")]=new Map,Pa[d2("finalized")]=new Map,U8?.({ReactiveElement:Pa}),(G2.reactiveElementVersions??=[]).push("2.1.0");var w3=globalThis,U2=w3.trustedTypes,G4=U2?U2.createPolicy("lit-html",{createHTML:(a)=>a}):void 0;var Ja=`lit$${Math.random().toFixed(9).slice(2)}$`,v3="?"+Ja,B8=`<${v3}>`,f0=document,m2=()=>f0.createComment(""),g2=(a)=>a===null||typeof a!="object"&&typeof a!="function",p3=Array.isArray,e5=(a)=>p3(a)||typeof a?.[Symbol.iterator]=="function";var f2=/<(?:(!--|\/[^a-zA-Z])|(\/?[a-zA-Z][^>\s]*)|(\/?$))/g,P4=/-->/g,U4=/>/g,d0=RegExp(`>|[
|
|
36
36
|
\f\r](?:([^\\s"'>=/]+)([
|
|
37
37
|
\f\r]*=[
|
|
38
38
|
\f\r]*(?:[^
|
|
@@ -74,7 +74,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
74
74
|
}
|
|
75
75
|
}
|
|
76
76
|
|
|
77
|
-
`;var Ot=20,Mt=1,g0=1e6,E5=1e6,Ft=-7,jt=21,qt=!1,p2="[big.js] ",w0=p2+"Invalid ",_2=w0+"decimal places",Et=w0+"rounding mode",T5=p2+"Division by zero",H1={},Ma=void 0,Tt=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function L5(){function a(e){var i=this;if(!(i instanceof a))return e===Ma&&arguments.length===0?L5():new a(e);if(e instanceof a)i.s=e.s,i.e=e.e,i.c=e.c.slice();else{if(typeof e!=="string"){if(a.strict===!0&&typeof e!=="bigint")throw TypeError(w0+"value");e=e===0&&1/e<0?"-0":String(e)}Lt(i,e)}i.constructor=a}return a.prototype=H1,a.DP=Ot,a.RM=Mt,a.NE=Ft,a.PE=jt,a.strict=qt,a.roundDown=0,a.roundHalfUp=1,a.roundHalfEven=2,a.roundUp=3,a}function Lt(a,e){var i,r,n;if(!Tt.test(e))throw Error(w0+"number");if(a.s=e.charAt(0)=="-"?(e=e.slice(1),-1):1,(i=e.indexOf("."))>-1)e=e.replace(".","");if((r=e.search(/e/i))>0){if(i<0)i=r;i+=+e.slice(r+1),e=e.substring(0,r)}else if(i<0)i=e.length;n=e.length;for(r=0;r<n&&e.charAt(r)=="0";)++r;if(r==n)a.c=[a.e=0];else{for(;n>0&&e.charAt(--n)=="0";);a.e=i-r-1,a.c=[];for(i=0;r<=n;)a.c[i++]=+e.charAt(r++)}return a}function v0(a,e,i,r){var n=a.c;if(i===Ma)i=a.constructor.RM;if(i!==0&&i!==1&&i!==2&&i!==3)throw Error(Et);if(e<1)if(r=i===3&&(r||!!n[0])||e===0&&(i===1&&n[0]>=5||i===2&&(n[0]>5||n[0]===5&&(r||n[1]!==Ma))),n.length=1,r)a.e=a.e-e+1,n[0]=1;else n[0]=a.e=0;else if(e<n.length){if(r=i===1&&n[e]>=5||i===2&&(n[e]>5||n[e]===5&&(r||n[e+1]!==Ma||n[e-1]&1))||i===3&&(r||!!n[0]),n.length=e,r){for(;++n[--e]>9;)if(n[e]=0,e===0){++a.e,n.unshift(1);break}}for(e=n.length;!n[--e];)n.pop()}return a}function p0(a,e,i){var r=a.e,n=a.c.join(""),t=n.length;if(e)n=n.charAt(0)+(t>1?"."+n.slice(1):"")+(r<0?"e":"e+")+r;else if(r<0){for(;++r;)n="0"+n;n="0."+n}else if(r>0){if(++r>t)for(r-=t;r--;)n+="0";else if(r<t)n=n.slice(0,r)+"."+n.slice(r)}else if(t>1)n=n.charAt(0)+"."+n.slice(1);return a.s<0&&i?"-"+n:n}H1.abs=function(){var a=new this.constructor(this);return a.s=1,a};H1.cmp=function(a){var e,i=this,r=i.c,n=(a=new i.constructor(a)).c,t=i.s,l=a.s,o=i.e,s=a.e;if(!r[0]||!n[0])return!r[0]?!n[0]?0:-l:t;if(t!=l)return t;if(e=t<0,o!=s)return o>s^e?1:-1;l=(o=r.length)<(s=n.length)?o:s;for(t=-1;++t<l;)if(r[t]!=n[t])return r[t]>n[t]^e?1:-1;return o==s?0:o>s^e?1:-1};H1.div=function(a){var e=this,i=e.constructor,r=e.c,n=(a=new i(a)).c,t=e.s==a.s?1:-1,l=i.DP;if(l!==~~l||l<0||l>g0)throw Error(_2);if(!n[0])throw Error(T5);if(!r[0])return a.s=t,a.c=[a.e=0],a;var o,s,d,c,m,h=n.slice(),f=o=n.length,v=r.length,g=r.slice(0,o),x=g.length,z=a,p=z.c=[],w=0,b=l+(z.e=e.e-a.e)+1;z.s=t,t=b<0?0:b,h.unshift(0);for(;x++<o;)g.push(0);do{for(d=0;d<10;d++){if(o!=(x=g.length))c=o>x?1:-1;else for(m=-1,c=0;++m<o;)if(n[m]!=g[m]){c=n[m]>g[m]?1:-1;break}if(c<0){for(s=x==o?n:h;x;){if(g[--x]<s[x]){m=x;for(;m&&!g[--m];)g[m]=9;--g[m],g[x]+=10}g[x]-=s[x]}for(;!g[0];)g.shift()}else break}if(p[w++]=c?d:++d,g[0]&&c)g[x]=r[f]||0;else g=[r[f]]}while((f++<v||g[0]!==Ma)&&t--);if(!p[0]&&w!=1)p.shift(),z.e--,b--;if(w>b)v0(z,b,i.RM,g[0]!==Ma);return z};H1.eq=function(a){return this.cmp(a)===0};H1.gt=function(a){return this.cmp(a)>0};H1.gte=function(a){return this.cmp(a)>-1};H1.lt=function(a){return this.cmp(a)<0};H1.lte=function(a){return this.cmp(a)<1};H1.minus=H1.sub=function(a){var e,i,r,n,t=this,l=t.constructor,o=t.s,s=(a=new l(a)).s;if(o!=s)return a.s=-s,t.plus(a);var d=t.c.slice(),c=t.e,m=a.c,h=a.e;if(!d[0]||!m[0]){if(m[0])a.s=-s;else if(d[0])a=new l(t);else a.s=1;return a}if(o=c-h){if(n=o<0)o=-o,r=d;else h=c,r=m;r.reverse();for(s=o;s--;)r.push(0);r.reverse()}else{i=((n=d.length<m.length)?d:m).length;for(o=s=0;s<i;s++)if(d[s]!=m[s]){n=d[s]<m[s];break}}if(n)r=d,d=m,m=r,a.s=-a.s;if((s=(i=m.length)-(e=d.length))>0)for(;s--;)d[e++]=0;for(s=e;i>o;){if(d[--i]<m[i]){for(e=i;e&&!d[--e];)d[e]=9;--d[e],d[i]+=10}d[i]-=m[i]}for(;d[--s]===0;)d.pop();for(;d[0]===0;)d.shift(),--h;if(!d[0])a.s=1,d=[h=0];return a.c=d,a.e=h,a};H1.mod=function(a){var e,i=this,r=i.constructor,n=i.s,t=(a=new r(a)).s;if(!a.c[0])throw Error(T5);if(i.s=a.s=1,e=a.cmp(i)==1,i.s=n,a.s=t,e)return new r(i);return n=r.DP,t=r.RM,r.DP=r.RM=0,i=i.div(a),r.DP=n,r.RM=t,this.minus(i.times(a))};H1.neg=function(){var a=new this.constructor(this);return a.s=-a.s,a};H1.plus=H1.add=function(a){var e,i,r,n=this,t=n.constructor;if(a=new t(a),n.s!=a.s)return a.s=-a.s,n.minus(a);var{e:l,c:o}=n,s=a.e,d=a.c;if(!o[0]||!d[0]){if(!d[0])if(o[0])a=new t(n);else a.s=n.s;return a}if(o=o.slice(),e=l-s){if(e>0)s=l,r=d;else e=-e,r=o;r.reverse();for(;e--;)r.push(0);r.reverse()}if(o.length-d.length<0)r=d,d=o,o=r;e=d.length;for(i=0;e;o[e]%=10)i=(o[--e]=o[e]+d[e]+i)/10|0;if(i)o.unshift(i),++s;for(e=o.length;o[--e]===0;)o.pop();return a.c=o,a.e=s,a};H1.pow=function(a){var e=this,i=new e.constructor("1"),r=i,n=a<0;if(a!==~~a||a<-E5||a>E5)throw Error(w0+"exponent");if(n)a=-a;for(;;){if(a&1)r=r.times(e);if(a>>=1,!a)break;e=e.times(e)}return n?i.div(r):r};H1.prec=function(a,e){if(a!==~~a||a<1||a>g0)throw Error(w0+"precision");return v0(new this.constructor(this),a,e)};H1.round=function(a,e){if(a===Ma)a=0;else if(a!==~~a||a<-g0||a>g0)throw Error(_2);return v0(new this.constructor(this),a+this.e+1,e)};H1.sqrt=function(){var a,e,i,r=this,n=r.constructor,t=r.s,l=r.e,o=new n("0.5");if(!r.c[0])return new n(r);if(t<0)throw Error(p2+"No square root");if(t=Math.sqrt(+p0(r,!0,!0)),t===0||t===1/0){if(e=r.c.join(""),!(e.length+l&1))e+="0";t=Math.sqrt(e),l=((l+1)/2|0)-(l<0||l&1),a=new n((t==1/0?"5e":(t=t.toExponential()).slice(0,t.indexOf("e")+1))+l)}else a=new n(t+"");l=a.e+(n.DP+=4);do i=a,a=o.times(i.plus(r.div(i)));while(i.c.slice(0,l).join("")!==a.c.slice(0,l).join(""));return v0(a,(n.DP-=4)+a.e+1,n.RM)};H1.times=H1.mul=function(a){var e,i=this,r=i.constructor,n=i.c,t=(a=new r(a)).c,l=n.length,o=t.length,s=i.e,d=a.e;if(a.s=i.s==a.s?1:-1,!n[0]||!t[0])return a.c=[a.e=0],a;if(a.e=s+d,l<o)e=n,n=t,t=e,d=l,l=o,o=d;for(e=new Array(d=l+o);d--;)e[d]=0;for(s=o;s--;){o=0;for(d=l+s;d>s;)o=e[d]+t[s]*n[d-s-1]+o,e[d--]=o%10,o=o/10|0;e[d]=o}if(o)++a.e;else e.shift();for(s=e.length;!e[--s];)e.pop();return a.c=e,a};H1.toExponential=function(a,e){var i=this,r=i.c[0];if(a!==Ma){if(a!==~~a||a<0||a>g0)throw Error(_2);i=v0(new i.constructor(i),++a,e);for(;i.c.length<a;)i.c.push(0)}return p0(i,!0,!!r)};H1.toFixed=function(a,e){var i=this,r=i.c[0];if(a!==Ma){if(a!==~~a||a<0||a>g0)throw Error(_2);i=v0(new i.constructor(i),a+i.e+1,e);for(a=a+i.e+1;i.c.length<a;)i.c.push(0)}return p0(i,!1,!!r)};H1.toJSON=H1.toString=function(){var a=this,e=a.constructor;return p0(a,a.e<=e.NE||a.e>=e.PE,!!a.c[0])};if(typeof Symbol!=="undefined")H1[Symbol.for("nodejs.util.inspect.custom")]=H1.toJSON;H1.toNumber=function(){var a=+p0(this,!0,!0);if(this.constructor.strict===!0&&!this.eq(a.toString()))throw Error(p2+"Imprecise conversion");return a};H1.toPrecision=function(a,e){var i=this,r=i.constructor,n=i.c[0];if(a!==Ma){if(a!==~~a||a<1||a>g0)throw Error(w0+"precision");i=v0(new r(i),a,e);for(;i.c.length<a;)i.c.push(0)}return p0(i,a<=i.e||i.e<=r.NE||i.e>=r.PE,!!n)};H1.valueOf=function(){var a=this,e=a.constructor;if(e.strict===!0)throw Error(p2+"valueOf disallowed");return p0(a,a.e<=e.NE||a.e>=e.PE,!0)};var Va=L5(),S=Va;class ae extends X{constructor(){super(...arguments);this.currency=p1;this.balance=n1.balance;this.currencyDecimals=n1.currencyDecimals;this.baseUrl=n1.baseUrl;this.authToken=n1.authToken;this.origamiGame="DICE";this.lobbyUrl=n1.lobbyUrl;this.depositUrl=n1.depositUrl;this.maxPayout=n1.maxPayout;this.minBet=n1.minBet;this.maxBet=n1.maxBet;this.edge=n1.edge;this.showCurrencyAsText=!1;this.footerPosition=n1.footerPosition;this.logoUrl=null;this.seasonTheme="DEFAULT";this.alwaysEnableMaxBetButton=n1.alwaysEnableMaxBetButton;this.gcCurrencyIconSvgUrl=n1.gcCurrencyIconSvgUrl;this.scCurrencyIconSvgUrl=n1.scCurrencyIconSvgUrl;this.customMinesBackgroundSvgUrl=n1.customMinesBackgroundSvgUrl;this.customMinesGemSvgUrl=n1.customMinesGemSvgUrl;this.customMinesBombSvgUrl=n1.customMinesBombSvgUrl;this.customMinesTileSvgUrl=n1.customMinesTileSvgUrl;this.customMinesAutobetSelectedTileSvgUrl=n1.customMinesAutobetSelectedTileSvgUrl;this.customKenoBackgroundSvgUrl=n1.customKenoBackgroundSvgUrl;this.customKenoGemSvgUrl=n1.customKenoGemSvgUrl;this.customKenoNonMatchTileSvgUrl=n1.customKenoNonMatchTileSvgUrl;this.customKenoTileSvgUrl=n1.customKenoTileSvgUrl;this.customKenoSelectedTileSvgUrl=n1.customKenoSelectedTileSvgUrl;this.customRouletteBackgroundSvgUrl=n1.customRouletteBackgroundSvgUrl;this.roulettePreventOppositeBets=n1.roulettePreventOppositeBets;this.rouletteDefaultInstantBet=!1;this.customDiceBackgroundSvgUrl=n1.customDiceBackgroundSvgUrl;this.diceMinMultiplier=n1.diceMinMultiplier;this.advancedDiceMinMultiplier=n1.advancedDiceMinMultiplier;this.customAdvancedDiceBackgroundSvgUrl=n1.customAdvancedDiceBackgroundSvgUrl;this.customPlinkoBackgroundSvgUrl=n1.customPlinkoBackgroundSvgUrl;this.customPlinkoEdgeColor=n1.customPlinkoEdgeColor;this.customPlinkoCenterColor=n1.customPlinkoCenterColor;this.customBaccaratBackgroundSvgUrl=n1.customBaccaratBackgroundSvgUrl;this.customBaccaratCardBackSvgUrl=n1.customBaccaratCardBackSvgUrl;this.baccaratPreventOppositeBets=n1.baccaratPreventOppositeBets;this.customLimboBackgroundSvgUrl=n1.customLimboBackgroundSvgUrl;this.customWheelBackgroundSvgUrl=n1.customWheelBackgroundSvgUrl;this.customWheelCenterSvgUrl=n1.customWheelCenterSvgUrl;this.customWheelCenterPadding=n1.customWheelCenterPadding;this.customDiamondsBackgroundSvgUrl=n1.customDiamondsBackgroundSvgUrl;this.customBlackjackBackgroundSvgUrl=n1.customBlackjackBackgroundSvgUrl;this.customCardBackSvgUrl=n1.customCardBackSvgUrl;this.customFooterLobbySvgUrl=n1.customFooterLobbySvgUrl;this.customFooterVolumeSvgUrl=n1.customFooterVolumeSvgUrl;this.customFooterGameInfoSvgUrl=n1.customFooterGameInfoSvgUrl;this.customFooterInstantBetSvgUrl=n1.customFooterInstantBetSvgUrl;this.customFooterHotkeysSvgUrl=n1.customFooterHotkeysSvgUrl;this.customFooterProvablyFairSvgUrl=n1.customFooterProvablyFairSvgUrl;this.betAmount=n1.betAmount;this.autobetNumberOfBets=n1.autobetNumberOfBets;this.hotkeysOpenEnabled=!1;this.showMaxBetButton=n1.showMaxBetButton;this.volume=n1.volume;this.instantBetEnabled=n1.instantBetEnabled;this.mainWidth=n1.mainWidth;this.publicKey=n1.publicKey;this.scale=1;this.language=n1.language;this.hasLoadedBalance=!1}static styles=[q5];_soundEffects=new S3(this);_historyController=new K3(this);_haptics=new R3(this);_resizeObserver=null;_gameProvider=new u0(this,{context:P,initialValue:this.createGameContextValue()});connectedCallback(){if(super.connectedCallback(),this.rouletteDefaultInstantBet&&this.origamiGame==="ROULETTE")this.instantBetEnabled=!0;this.updateProviderValue(),this.fetchBalance(),this.fetchPublicKey(),this.setupResizeObserver(),this.calculateScale(),this.updateMainWidth(document.documentElement.clientWidth)}async firstUpdated(a){if(super.firstUpdated(a),await this.updateComplete,!c5.includes(this.origamiGame))this.updateBetAmount(S(this.minBet??0))}disconnectedCallback(){super.disconnectedCallback(),this.cleanupResizeObserver(),this._soundEffects.destroy(),this._haptics.destroy()}updated(a){if(super.updated(a),a.has("currency")||a.has("balance")||a.has("baseUrl")||a.has("showCurrencyAsText")||a.has("authToken")||a.has("hotkeysOpenEnabled")||a.has("volume")||a.has("instantBetEnabled")||a.has("showMaxBetButton")||a.has("mainWidth")||a.has("footerPosition")||a.has("logoUrl")||a.has("scale")||a.has("seasonTheme")||a.has("customMinesGemSvgUrl")||a.has("customMinesBombSvgUrl")||a.has("customKenoGemSvgUrl")||a.has("edge")||a.has("language")||a.has("maxPayout")||a.has("minBet")||a.has("maxBet")||a.has("depositUrl")||a.has("currencyDecimals")||a.has("lobbyUrl")||a.has("roulettePreventOppositeBets")||a.has("alwaysEnableMaxBetButton")||a.has("gcCurrencyIconSvgUrl")||a.has("scCurrencyIconSvgUrl")||a.has("customMinesBackgroundSvgUrl")||a.has("customMinesTileSvgUrl")||a.has("customMinesAutobetSelectedTileSvgUrl")||a.has("customKenoBackgroundSvgUrl")||a.has("customKenoNonMatchTileSvgUrl")||a.has("customKenoTileSvgUrl")||a.has("customKenoSelectedTileSvgUrl")||a.has("customRouletteBackgroundSvgUrl")||a.has("customDiceBackgroundSvgUrl")||a.has("diceMinMultiplier")||a.has("advancedDiceMinMultiplier")||a.has("customAdvancedDiceBackgroundSvgUrl")||a.has("customPlinkoBackgroundSvgUrl")||a.has("customPlinkoEdgeColor")||a.has("customPlinkoCenterColor")||a.has("customBaccaratBackgroundSvgUrl")||a.has("customBaccaratCardBackSvgUrl")||a.has("baccaratPreventOppositeBets")||a.has("customLimboBackgroundSvgUrl")||a.has("customWheelBackgroundSvgUrl")||a.has("customWheelCenterSvgUrl")||a.has("customWheelCenterPadding")||a.has("customDiamondsBackgroundSvgUrl")||a.has("customBlackjackBackgroundSvgUrl")||a.has("customCardBackSvgUrl")||a.has("customFooterLobbySvgUrl")||a.has("customFooterVolumeSvgUrl")||a.has("customFooterGameInfoSvgUrl")||a.has("customFooterInstantBetSvgUrl")||a.has("customFooterHotkeysSvgUrl")||a.has("customFooterProvablyFairSvgUrl"))this.updateProviderValue()}get gameData(){return this._gameProvider.value}createGameContextValue(){return{betAmount:this.betAmount,updateBetAmount:this.updateBetAmount.bind(this),updateBalance:this.updateBalance.bind(this),currency:this.currency,showCurrencyAsText:this.showCurrencyAsText,currencyDecimals:this.currencyDecimals,lobbyUrl:this.lobbyUrl,depositUrl:this.depositUrl,maxPayout:this.maxPayout,minBet:this.minBet,maxBet:this.maxBet,edge:this.edge,balance:this.balance,hasLoadedBalance:this.hasLoadedBalance,baseUrl:this.baseUrl,authToken:this.authToken,publicKey:this.publicKey,autobetNumberOfBets:this.autobetNumberOfBets,hotkeysOpenEnabled:this.hotkeysOpenEnabled,showMaxBetButton:this.showMaxBetButton,volume:this.volume,instantBetEnabled:this.instantBetEnabled,soundEffects:this._soundEffects,historyController:this._historyController,haptics:this._haptics,updateHotkeysOpenEnabled:this.updateHotkeysOpenEnabled.bind(this),updateShowMaxBetButton:this.updateShowMaxBetButton.bind(this),updateVolume:this.updateVolume.bind(this),updateInstantBetEnabled:this.updateInstantBetEnabled.bind(this),updateAutobetNumberOfBets:this.updateAutobetNumberOfBets.bind(this),mainWidth:this.mainWidth,updateMainWidth:this.updateMainWidth.bind(this),language:this.language,footerPosition:this.footerPosition,logoUrl:this.logoUrl,scale:this.scale,seasonTheme:this.seasonTheme,alwaysEnableMaxBetButton:this.alwaysEnableMaxBetButton,gcCurrencyIconSvgUrl:this.gcCurrencyIconSvgUrl,scCurrencyIconSvgUrl:this.scCurrencyIconSvgUrl,customMinesBackgroundSvgUrl:this.customMinesBackgroundSvgUrl,customMinesGemSvgUrl:this.customMinesGemSvgUrl,customMinesBombSvgUrl:this.customMinesBombSvgUrl,customMinesTileSvgUrl:this.customMinesTileSvgUrl,customMinesAutobetSelectedTileSvgUrl:this.customMinesAutobetSelectedTileSvgUrl,customKenoBackgroundSvgUrl:this.customKenoBackgroundSvgUrl,customKenoGemSvgUrl:this.customKenoGemSvgUrl,customKenoNonMatchTileSvgUrl:this.customKenoNonMatchTileSvgUrl,customKenoTileSvgUrl:this.customKenoTileSvgUrl,customKenoSelectedTileSvgUrl:this.customKenoSelectedTileSvgUrl,customRouletteBackgroundSvgUrl:this.customRouletteBackgroundSvgUrl,roulettePreventOppositeBets:this.roulettePreventOppositeBets,customDiceBackgroundSvgUrl:this.customDiceBackgroundSvgUrl,diceMinMultiplier:this.diceMinMultiplier,advancedDiceMinMultiplier:this.advancedDiceMinMultiplier,customAdvancedDiceBackgroundSvgUrl:this.customAdvancedDiceBackgroundSvgUrl,customPlinkoBackgroundSvgUrl:this.customPlinkoBackgroundSvgUrl,customPlinkoEdgeColor:this.customPlinkoEdgeColor,customPlinkoCenterColor:this.customPlinkoCenterColor,customBaccaratBackgroundSvgUrl:this.customBaccaratBackgroundSvgUrl,customBaccaratCardBackSvgUrl:this.customBaccaratCardBackSvgUrl,baccaratPreventOppositeBets:this.baccaratPreventOppositeBets,customLimboBackgroundSvgUrl:this.customLimboBackgroundSvgUrl,customWheelBackgroundSvgUrl:this.customWheelBackgroundSvgUrl,customWheelCenterSvgUrl:this.customWheelCenterSvgUrl,customWheelCenterPadding:this.customWheelCenterPadding,customDiamondsBackgroundSvgUrl:this.customDiamondsBackgroundSvgUrl,customBlackjackBackgroundSvgUrl:this.customBlackjackBackgroundSvgUrl,customCardBackSvgUrl:this.customCardBackSvgUrl,customFooterLobbySvgUrl:this.customFooterLobbySvgUrl,customFooterVolumeSvgUrl:this.customFooterVolumeSvgUrl,customFooterGameInfoSvgUrl:this.customFooterGameInfoSvgUrl,customFooterInstantBetSvgUrl:this.customFooterInstantBetSvgUrl,customFooterHotkeysSvgUrl:this.customFooterHotkeysSvgUrl,customFooterProvablyFairSvgUrl:this.customFooterProvablyFairSvgUrl}}updateProviderValue(){this._gameProvider.setValue(this.createGameContextValue())}fetchBalance=async()=>{if(!this.authToken||!this.baseUrl){this.balance=1000,this.hasLoadedBalance=!0,this.updateProviderValue();return}try{let a=await fetch(`${this.baseUrl}/users/balance?currency=${this.currency}&origamiGame=${this.origamiGame}`,{headers:{Authorization:`Bearer ${this.authToken}`,"Content-Type":"application/json"}});if(!a.ok){console.error("Failed to fetch balance:",a.statusText),this.hasLoadedBalance=!0;return}let e=await a.json();this.balance=S(e.balance).toNumber(),this.hasLoadedBalance=!0,this.updateProviderValue()}catch(a){console.error("Error fetching balance:",a),this.hasLoadedBalance=!0}};fetchPublicKey=async()=>{if(!this.authToken||!this.baseUrl)return;let a=await fetch(`${this.baseUrl}/provably-fair/public-key`);if(!a.ok){console.error("Failed to fetch public key:",a.statusText);return}let e=await a.json();this.publicKey=e.publicKey};updateHotkeysOpenEnabled(a){this.hotkeysOpenEnabled=a,this.updateProviderValue()}updateShowMaxBetButton(a){this.showMaxBetButton=a,this.updateProviderValue()}updateVolume(a){this.volume=a,this._soundEffects.setVolume(a/100),this.updateProviderValue()}updateInstantBetEnabled(a){this.instantBetEnabled=a,this.updateProviderValue()}updateAutobetNumberOfBets(a){this.autobetNumberOfBets=a,this.updateProviderValue()}updateMainWidth(a){this.mainWidth=a,this.updateProviderValue()}updateBetAmount(a){if(a.lt(0)){this.betAmount="0";return}let e=a.toFixed(this.currencyDecimals);this.betAmount=e,this.updateProviderValue()}updateBalance(a){if(a.lt(0)){this.balance=0;return}this.balance=a.toNumber(),this.updateProviderValue()}_boundCalculateScale=this.calculateScale.bind(this);setupResizeObserver(){if(typeof ResizeObserver!=="undefined")this._resizeObserver=new ResizeObserver(()=>{this.calculateScale(),this.gameData.updateMainWidth(document.documentElement.clientWidth)}),this._resizeObserver.observe(document.body);else window.addEventListener("resize",this._boundCalculateScale)}cleanupResizeObserver(){if(this._resizeObserver)this._resizeObserver.disconnect(),this._resizeObserver=null;else window.removeEventListener("resize",this._boundCalculateScale)}calculateScale(){let a=document.documentElement.clientWidth,e=document.documentElement.clientHeight,i=1200,r=675;if(a/e>1.7777777777777777){let t=e/675;this.scale=t}else{let t=a/1200;this.scale=t}this.requestUpdate()}render(){let a=(()=>{switch(this.origamiGame){case"DICE":return Z`<origami-dice-game></origami-dice-game>`;case"KENO":return Z`<origami-keno-game></origami-keno-game>`;case"MINES":return Z`<origami-mines-game></origami-mines-game>`;case"LIMBO":return Z`<origami-limbo-game></origami-limbo-game>`;case"ADVANCED_DICE":return Z`<origami-advanced-dice-game></origami-advanced-dice-game>`;case"PLINKO":return Z`<origami-plinko-game></origami-plinko-game>`;case"DIAMONDS":return Z`<origami-diamonds-game></origami-diamonds-game>`;case"WHEEL":return Z`<origami-wheel-game></origami-wheel-game>`;case"ROULETTE":return Z`<origami-roulette-game></origami-roulette-game>`;case"BACCARAT":return Z`<origami-baccarat-game></origami-baccarat-game>`;case"BLACKJACK":return Z`<origami-blackjack-game></origami-blackjack-game>`;default:this.origamiGame}})(),e=`
|
|
77
|
+
`;var Ot=20,Mt=1,g0=1e6,E5=1e6,Ft=-7,jt=21,qt=!1,p2="[big.js] ",w0=p2+"Invalid ",_2=w0+"decimal places",Et=w0+"rounding mode",T5=p2+"Division by zero",R1={},Ma=void 0,Tt=/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i;function L5(){function a(e){var i=this;if(!(i instanceof a))return e===Ma&&arguments.length===0?L5():new a(e);if(e instanceof a)i.s=e.s,i.e=e.e,i.c=e.c.slice();else{if(typeof e!=="string"){if(a.strict===!0&&typeof e!=="bigint")throw TypeError(w0+"value");e=e===0&&1/e<0?"-0":String(e)}Lt(i,e)}i.constructor=a}return a.prototype=R1,a.DP=Ot,a.RM=Mt,a.NE=Ft,a.PE=jt,a.strict=qt,a.roundDown=0,a.roundHalfUp=1,a.roundHalfEven=2,a.roundUp=3,a}function Lt(a,e){var i,r,n;if(!Tt.test(e))throw Error(w0+"number");if(a.s=e.charAt(0)=="-"?(e=e.slice(1),-1):1,(i=e.indexOf("."))>-1)e=e.replace(".","");if((r=e.search(/e/i))>0){if(i<0)i=r;i+=+e.slice(r+1),e=e.substring(0,r)}else if(i<0)i=e.length;n=e.length;for(r=0;r<n&&e.charAt(r)=="0";)++r;if(r==n)a.c=[a.e=0];else{for(;n>0&&e.charAt(--n)=="0";);a.e=i-r-1,a.c=[];for(i=0;r<=n;)a.c[i++]=+e.charAt(r++)}return a}function v0(a,e,i,r){var n=a.c;if(i===Ma)i=a.constructor.RM;if(i!==0&&i!==1&&i!==2&&i!==3)throw Error(Et);if(e<1)if(r=i===3&&(r||!!n[0])||e===0&&(i===1&&n[0]>=5||i===2&&(n[0]>5||n[0]===5&&(r||n[1]!==Ma))),n.length=1,r)a.e=a.e-e+1,n[0]=1;else n[0]=a.e=0;else if(e<n.length){if(r=i===1&&n[e]>=5||i===2&&(n[e]>5||n[e]===5&&(r||n[e+1]!==Ma||n[e-1]&1))||i===3&&(r||!!n[0]),n.length=e,r){for(;++n[--e]>9;)if(n[e]=0,e===0){++a.e,n.unshift(1);break}}for(e=n.length;!n[--e];)n.pop()}return a}function p0(a,e,i){var r=a.e,n=a.c.join(""),t=n.length;if(e)n=n.charAt(0)+(t>1?"."+n.slice(1):"")+(r<0?"e":"e+")+r;else if(r<0){for(;++r;)n="0"+n;n="0."+n}else if(r>0){if(++r>t)for(r-=t;r--;)n+="0";else if(r<t)n=n.slice(0,r)+"."+n.slice(r)}else if(t>1)n=n.charAt(0)+"."+n.slice(1);return a.s<0&&i?"-"+n:n}R1.abs=function(){var a=new this.constructor(this);return a.s=1,a};R1.cmp=function(a){var e,i=this,r=i.c,n=(a=new i.constructor(a)).c,t=i.s,l=a.s,o=i.e,s=a.e;if(!r[0]||!n[0])return!r[0]?!n[0]?0:-l:t;if(t!=l)return t;if(e=t<0,o!=s)return o>s^e?1:-1;l=(o=r.length)<(s=n.length)?o:s;for(t=-1;++t<l;)if(r[t]!=n[t])return r[t]>n[t]^e?1:-1;return o==s?0:o>s^e?1:-1};R1.div=function(a){var e=this,i=e.constructor,r=e.c,n=(a=new i(a)).c,t=e.s==a.s?1:-1,l=i.DP;if(l!==~~l||l<0||l>g0)throw Error(_2);if(!n[0])throw Error(T5);if(!r[0])return a.s=t,a.c=[a.e=0],a;var o,s,d,c,m,h=n.slice(),f=o=n.length,v=r.length,g=r.slice(0,o),x=g.length,z=a,p=z.c=[],w=0,b=l+(z.e=e.e-a.e)+1;z.s=t,t=b<0?0:b,h.unshift(0);for(;x++<o;)g.push(0);do{for(d=0;d<10;d++){if(o!=(x=g.length))c=o>x?1:-1;else for(m=-1,c=0;++m<o;)if(n[m]!=g[m]){c=n[m]>g[m]?1:-1;break}if(c<0){for(s=x==o?n:h;x;){if(g[--x]<s[x]){m=x;for(;m&&!g[--m];)g[m]=9;--g[m],g[x]+=10}g[x]-=s[x]}for(;!g[0];)g.shift()}else break}if(p[w++]=c?d:++d,g[0]&&c)g[x]=r[f]||0;else g=[r[f]]}while((f++<v||g[0]!==Ma)&&t--);if(!p[0]&&w!=1)p.shift(),z.e--,b--;if(w>b)v0(z,b,i.RM,g[0]!==Ma);return z};R1.eq=function(a){return this.cmp(a)===0};R1.gt=function(a){return this.cmp(a)>0};R1.gte=function(a){return this.cmp(a)>-1};R1.lt=function(a){return this.cmp(a)<0};R1.lte=function(a){return this.cmp(a)<1};R1.minus=R1.sub=function(a){var e,i,r,n,t=this,l=t.constructor,o=t.s,s=(a=new l(a)).s;if(o!=s)return a.s=-s,t.plus(a);var d=t.c.slice(),c=t.e,m=a.c,h=a.e;if(!d[0]||!m[0]){if(m[0])a.s=-s;else if(d[0])a=new l(t);else a.s=1;return a}if(o=c-h){if(n=o<0)o=-o,r=d;else h=c,r=m;r.reverse();for(s=o;s--;)r.push(0);r.reverse()}else{i=((n=d.length<m.length)?d:m).length;for(o=s=0;s<i;s++)if(d[s]!=m[s]){n=d[s]<m[s];break}}if(n)r=d,d=m,m=r,a.s=-a.s;if((s=(i=m.length)-(e=d.length))>0)for(;s--;)d[e++]=0;for(s=e;i>o;){if(d[--i]<m[i]){for(e=i;e&&!d[--e];)d[e]=9;--d[e],d[i]+=10}d[i]-=m[i]}for(;d[--s]===0;)d.pop();for(;d[0]===0;)d.shift(),--h;if(!d[0])a.s=1,d=[h=0];return a.c=d,a.e=h,a};R1.mod=function(a){var e,i=this,r=i.constructor,n=i.s,t=(a=new r(a)).s;if(!a.c[0])throw Error(T5);if(i.s=a.s=1,e=a.cmp(i)==1,i.s=n,a.s=t,e)return new r(i);return n=r.DP,t=r.RM,r.DP=r.RM=0,i=i.div(a),r.DP=n,r.RM=t,this.minus(i.times(a))};R1.neg=function(){var a=new this.constructor(this);return a.s=-a.s,a};R1.plus=R1.add=function(a){var e,i,r,n=this,t=n.constructor;if(a=new t(a),n.s!=a.s)return a.s=-a.s,n.minus(a);var{e:l,c:o}=n,s=a.e,d=a.c;if(!o[0]||!d[0]){if(!d[0])if(o[0])a=new t(n);else a.s=n.s;return a}if(o=o.slice(),e=l-s){if(e>0)s=l,r=d;else e=-e,r=o;r.reverse();for(;e--;)r.push(0);r.reverse()}if(o.length-d.length<0)r=d,d=o,o=r;e=d.length;for(i=0;e;o[e]%=10)i=(o[--e]=o[e]+d[e]+i)/10|0;if(i)o.unshift(i),++s;for(e=o.length;o[--e]===0;)o.pop();return a.c=o,a.e=s,a};R1.pow=function(a){var e=this,i=new e.constructor("1"),r=i,n=a<0;if(a!==~~a||a<-E5||a>E5)throw Error(w0+"exponent");if(n)a=-a;for(;;){if(a&1)r=r.times(e);if(a>>=1,!a)break;e=e.times(e)}return n?i.div(r):r};R1.prec=function(a,e){if(a!==~~a||a<1||a>g0)throw Error(w0+"precision");return v0(new this.constructor(this),a,e)};R1.round=function(a,e){if(a===Ma)a=0;else if(a!==~~a||a<-g0||a>g0)throw Error(_2);return v0(new this.constructor(this),a+this.e+1,e)};R1.sqrt=function(){var a,e,i,r=this,n=r.constructor,t=r.s,l=r.e,o=new n("0.5");if(!r.c[0])return new n(r);if(t<0)throw Error(p2+"No square root");if(t=Math.sqrt(+p0(r,!0,!0)),t===0||t===1/0){if(e=r.c.join(""),!(e.length+l&1))e+="0";t=Math.sqrt(e),l=((l+1)/2|0)-(l<0||l&1),a=new n((t==1/0?"5e":(t=t.toExponential()).slice(0,t.indexOf("e")+1))+l)}else a=new n(t+"");l=a.e+(n.DP+=4);do i=a,a=o.times(i.plus(r.div(i)));while(i.c.slice(0,l).join("")!==a.c.slice(0,l).join(""));return v0(a,(n.DP-=4)+a.e+1,n.RM)};R1.times=R1.mul=function(a){var e,i=this,r=i.constructor,n=i.c,t=(a=new r(a)).c,l=n.length,o=t.length,s=i.e,d=a.e;if(a.s=i.s==a.s?1:-1,!n[0]||!t[0])return a.c=[a.e=0],a;if(a.e=s+d,l<o)e=n,n=t,t=e,d=l,l=o,o=d;for(e=new Array(d=l+o);d--;)e[d]=0;for(s=o;s--;){o=0;for(d=l+s;d>s;)o=e[d]+t[s]*n[d-s-1]+o,e[d--]=o%10,o=o/10|0;e[d]=o}if(o)++a.e;else e.shift();for(s=e.length;!e[--s];)e.pop();return a.c=e,a};R1.toExponential=function(a,e){var i=this,r=i.c[0];if(a!==Ma){if(a!==~~a||a<0||a>g0)throw Error(_2);i=v0(new i.constructor(i),++a,e);for(;i.c.length<a;)i.c.push(0)}return p0(i,!0,!!r)};R1.toFixed=function(a,e){var i=this,r=i.c[0];if(a!==Ma){if(a!==~~a||a<0||a>g0)throw Error(_2);i=v0(new i.constructor(i),a+i.e+1,e);for(a=a+i.e+1;i.c.length<a;)i.c.push(0)}return p0(i,!1,!!r)};R1.toJSON=R1.toString=function(){var a=this,e=a.constructor;return p0(a,a.e<=e.NE||a.e>=e.PE,!!a.c[0])};if(typeof Symbol!=="undefined")R1[Symbol.for("nodejs.util.inspect.custom")]=R1.toJSON;R1.toNumber=function(){var a=+p0(this,!0,!0);if(this.constructor.strict===!0&&!this.eq(a.toString()))throw Error(p2+"Imprecise conversion");return a};R1.toPrecision=function(a,e){var i=this,r=i.constructor,n=i.c[0];if(a!==Ma){if(a!==~~a||a<1||a>g0)throw Error(w0+"precision");i=v0(new r(i),a,e);for(;i.c.length<a;)i.c.push(0)}return p0(i,a<=i.e||i.e<=r.NE||i.e>=r.PE,!!n)};R1.valueOf=function(){var a=this,e=a.constructor;if(e.strict===!0)throw Error(p2+"valueOf disallowed");return p0(a,a.e<=e.NE||a.e>=e.PE,!0)};var Va=L5(),S=Va;class ae extends X{constructor(){super(...arguments);this.currency=p1;this.balance=n1.balance;this.currencyDecimals=n1.currencyDecimals;this.baseUrl=n1.baseUrl;this.authToken=n1.authToken;this.origamiGame="DICE";this.lobbyUrl=n1.lobbyUrl;this.depositUrl=n1.depositUrl;this.maxPayout=n1.maxPayout;this.minBet=n1.minBet;this.maxBet=n1.maxBet;this.edge=n1.edge;this.showCurrencyAsText=!1;this.footerPosition=n1.footerPosition;this.logoUrl=null;this.seasonTheme="DEFAULT";this.alwaysEnableMaxBetButton=n1.alwaysEnableMaxBetButton;this.gcCurrencyIconSvgUrl=n1.gcCurrencyIconSvgUrl;this.scCurrencyIconSvgUrl=n1.scCurrencyIconSvgUrl;this.customMinesBackgroundSvgUrl=n1.customMinesBackgroundSvgUrl;this.customMinesGemSvgUrl=n1.customMinesGemSvgUrl;this.customMinesBombSvgUrl=n1.customMinesBombSvgUrl;this.customMinesTileSvgUrl=n1.customMinesTileSvgUrl;this.customMinesAutobetSelectedTileSvgUrl=n1.customMinesAutobetSelectedTileSvgUrl;this.customKenoBackgroundSvgUrl=n1.customKenoBackgroundSvgUrl;this.customKenoGemSvgUrl=n1.customKenoGemSvgUrl;this.customKenoNonMatchTileSvgUrl=n1.customKenoNonMatchTileSvgUrl;this.customKenoTileSvgUrl=n1.customKenoTileSvgUrl;this.customKenoSelectedTileSvgUrl=n1.customKenoSelectedTileSvgUrl;this.customRouletteBackgroundSvgUrl=n1.customRouletteBackgroundSvgUrl;this.roulettePreventOppositeBets=n1.roulettePreventOppositeBets;this.rouletteDefaultInstantBet=!1;this.customDiceBackgroundSvgUrl=n1.customDiceBackgroundSvgUrl;this.diceMinMultiplier=n1.diceMinMultiplier;this.advancedDiceMinMultiplier=n1.advancedDiceMinMultiplier;this.customAdvancedDiceBackgroundSvgUrl=n1.customAdvancedDiceBackgroundSvgUrl;this.customPlinkoBackgroundSvgUrl=n1.customPlinkoBackgroundSvgUrl;this.customPlinkoEdgeColor=n1.customPlinkoEdgeColor;this.customPlinkoCenterColor=n1.customPlinkoCenterColor;this.customBaccaratBackgroundSvgUrl=n1.customBaccaratBackgroundSvgUrl;this.customBaccaratCardBackSvgUrl=n1.customBaccaratCardBackSvgUrl;this.baccaratPreventOppositeBets=n1.baccaratPreventOppositeBets;this.customLimboBackgroundSvgUrl=n1.customLimboBackgroundSvgUrl;this.customWheelBackgroundSvgUrl=n1.customWheelBackgroundSvgUrl;this.customWheelCenterSvgUrl=n1.customWheelCenterSvgUrl;this.customWheelCenterPadding=n1.customWheelCenterPadding;this.customDiamondsBackgroundSvgUrl=n1.customDiamondsBackgroundSvgUrl;this.customBlackjackBackgroundSvgUrl=n1.customBlackjackBackgroundSvgUrl;this.customCardBackSvgUrl=n1.customCardBackSvgUrl;this.customFooterLobbySvgUrl=n1.customFooterLobbySvgUrl;this.customFooterVolumeSvgUrl=n1.customFooterVolumeSvgUrl;this.customFooterGameInfoSvgUrl=n1.customFooterGameInfoSvgUrl;this.customFooterInstantBetSvgUrl=n1.customFooterInstantBetSvgUrl;this.customFooterHotkeysSvgUrl=n1.customFooterHotkeysSvgUrl;this.customFooterProvablyFairSvgUrl=n1.customFooterProvablyFairSvgUrl;this.betAmount=n1.betAmount;this.autobetNumberOfBets=n1.autobetNumberOfBets;this.hotkeysOpenEnabled=!1;this.showMaxBetButton=n1.showMaxBetButton;this.volume=n1.volume;this.instantBetEnabled=n1.instantBetEnabled;this.mainWidth=n1.mainWidth;this.publicKey=n1.publicKey;this.scale=1;this.language=n1.language;this.hasLoadedBalance=!1}static styles=[q5];_soundEffects=new S3(this);_historyController=new K3(this);_haptics=new R3(this);_resizeObserver=null;_gameProvider=new u0(this,{context:P,initialValue:this.createGameContextValue()});connectedCallback(){if(super.connectedCallback(),this.rouletteDefaultInstantBet&&this.origamiGame==="ROULETTE")this.instantBetEnabled=!0;this.updateProviderValue(),this.fetchBalance(),this.fetchPublicKey(),this.setupResizeObserver(),this.calculateScale(),this.updateMainWidth(document.documentElement.clientWidth)}async firstUpdated(a){if(super.firstUpdated(a),await this.updateComplete,!c5.includes(this.origamiGame))this.updateBetAmount(S(this.minBet??0))}disconnectedCallback(){super.disconnectedCallback(),this.cleanupResizeObserver(),this._soundEffects.destroy(),this._haptics.destroy()}updated(a){if(super.updated(a),a.has("currency")||a.has("balance")||a.has("baseUrl")||a.has("showCurrencyAsText")||a.has("authToken")||a.has("hotkeysOpenEnabled")||a.has("volume")||a.has("instantBetEnabled")||a.has("showMaxBetButton")||a.has("mainWidth")||a.has("footerPosition")||a.has("logoUrl")||a.has("scale")||a.has("seasonTheme")||a.has("customMinesGemSvgUrl")||a.has("customMinesBombSvgUrl")||a.has("customKenoGemSvgUrl")||a.has("edge")||a.has("language")||a.has("maxPayout")||a.has("minBet")||a.has("maxBet")||a.has("depositUrl")||a.has("currencyDecimals")||a.has("lobbyUrl")||a.has("roulettePreventOppositeBets")||a.has("alwaysEnableMaxBetButton")||a.has("gcCurrencyIconSvgUrl")||a.has("scCurrencyIconSvgUrl")||a.has("customMinesBackgroundSvgUrl")||a.has("customMinesTileSvgUrl")||a.has("customMinesAutobetSelectedTileSvgUrl")||a.has("customKenoBackgroundSvgUrl")||a.has("customKenoNonMatchTileSvgUrl")||a.has("customKenoTileSvgUrl")||a.has("customKenoSelectedTileSvgUrl")||a.has("customRouletteBackgroundSvgUrl")||a.has("customDiceBackgroundSvgUrl")||a.has("diceMinMultiplier")||a.has("advancedDiceMinMultiplier")||a.has("customAdvancedDiceBackgroundSvgUrl")||a.has("customPlinkoBackgroundSvgUrl")||a.has("customPlinkoEdgeColor")||a.has("customPlinkoCenterColor")||a.has("customBaccaratBackgroundSvgUrl")||a.has("customBaccaratCardBackSvgUrl")||a.has("baccaratPreventOppositeBets")||a.has("customLimboBackgroundSvgUrl")||a.has("customWheelBackgroundSvgUrl")||a.has("customWheelCenterSvgUrl")||a.has("customWheelCenterPadding")||a.has("customDiamondsBackgroundSvgUrl")||a.has("customBlackjackBackgroundSvgUrl")||a.has("customCardBackSvgUrl")||a.has("customFooterLobbySvgUrl")||a.has("customFooterVolumeSvgUrl")||a.has("customFooterGameInfoSvgUrl")||a.has("customFooterInstantBetSvgUrl")||a.has("customFooterHotkeysSvgUrl")||a.has("customFooterProvablyFairSvgUrl"))this.updateProviderValue()}get gameData(){return this._gameProvider.value}createGameContextValue(){return{betAmount:this.betAmount,updateBetAmount:this.updateBetAmount.bind(this),updateBalance:this.updateBalance.bind(this),currency:this.currency,showCurrencyAsText:this.showCurrencyAsText,currencyDecimals:this.currencyDecimals,lobbyUrl:this.lobbyUrl,depositUrl:this.depositUrl,maxPayout:this.maxPayout,minBet:this.minBet,maxBet:this.maxBet,edge:this.edge,balance:this.balance,hasLoadedBalance:this.hasLoadedBalance,baseUrl:this.baseUrl,authToken:this.authToken,publicKey:this.publicKey,autobetNumberOfBets:this.autobetNumberOfBets,hotkeysOpenEnabled:this.hotkeysOpenEnabled,showMaxBetButton:this.showMaxBetButton,volume:this.volume,instantBetEnabled:this.instantBetEnabled,soundEffects:this._soundEffects,historyController:this._historyController,haptics:this._haptics,updateHotkeysOpenEnabled:this.updateHotkeysOpenEnabled.bind(this),updateShowMaxBetButton:this.updateShowMaxBetButton.bind(this),updateVolume:this.updateVolume.bind(this),updateInstantBetEnabled:this.updateInstantBetEnabled.bind(this),updateAutobetNumberOfBets:this.updateAutobetNumberOfBets.bind(this),mainWidth:this.mainWidth,updateMainWidth:this.updateMainWidth.bind(this),language:this.language,footerPosition:this.footerPosition,logoUrl:this.logoUrl,scale:this.scale,seasonTheme:this.seasonTheme,alwaysEnableMaxBetButton:this.alwaysEnableMaxBetButton,gcCurrencyIconSvgUrl:this.gcCurrencyIconSvgUrl,scCurrencyIconSvgUrl:this.scCurrencyIconSvgUrl,customMinesBackgroundSvgUrl:this.customMinesBackgroundSvgUrl,customMinesGemSvgUrl:this.customMinesGemSvgUrl,customMinesBombSvgUrl:this.customMinesBombSvgUrl,customMinesTileSvgUrl:this.customMinesTileSvgUrl,customMinesAutobetSelectedTileSvgUrl:this.customMinesAutobetSelectedTileSvgUrl,customKenoBackgroundSvgUrl:this.customKenoBackgroundSvgUrl,customKenoGemSvgUrl:this.customKenoGemSvgUrl,customKenoNonMatchTileSvgUrl:this.customKenoNonMatchTileSvgUrl,customKenoTileSvgUrl:this.customKenoTileSvgUrl,customKenoSelectedTileSvgUrl:this.customKenoSelectedTileSvgUrl,customRouletteBackgroundSvgUrl:this.customRouletteBackgroundSvgUrl,roulettePreventOppositeBets:this.roulettePreventOppositeBets,customDiceBackgroundSvgUrl:this.customDiceBackgroundSvgUrl,diceMinMultiplier:this.diceMinMultiplier,advancedDiceMinMultiplier:this.advancedDiceMinMultiplier,customAdvancedDiceBackgroundSvgUrl:this.customAdvancedDiceBackgroundSvgUrl,customPlinkoBackgroundSvgUrl:this.customPlinkoBackgroundSvgUrl,customPlinkoEdgeColor:this.customPlinkoEdgeColor,customPlinkoCenterColor:this.customPlinkoCenterColor,customBaccaratBackgroundSvgUrl:this.customBaccaratBackgroundSvgUrl,customBaccaratCardBackSvgUrl:this.customBaccaratCardBackSvgUrl,baccaratPreventOppositeBets:this.baccaratPreventOppositeBets,customLimboBackgroundSvgUrl:this.customLimboBackgroundSvgUrl,customWheelBackgroundSvgUrl:this.customWheelBackgroundSvgUrl,customWheelCenterSvgUrl:this.customWheelCenterSvgUrl,customWheelCenterPadding:this.customWheelCenterPadding,customDiamondsBackgroundSvgUrl:this.customDiamondsBackgroundSvgUrl,customBlackjackBackgroundSvgUrl:this.customBlackjackBackgroundSvgUrl,customCardBackSvgUrl:this.customCardBackSvgUrl,customFooterLobbySvgUrl:this.customFooterLobbySvgUrl,customFooterVolumeSvgUrl:this.customFooterVolumeSvgUrl,customFooterGameInfoSvgUrl:this.customFooterGameInfoSvgUrl,customFooterInstantBetSvgUrl:this.customFooterInstantBetSvgUrl,customFooterHotkeysSvgUrl:this.customFooterHotkeysSvgUrl,customFooterProvablyFairSvgUrl:this.customFooterProvablyFairSvgUrl}}updateProviderValue(){this._gameProvider.setValue(this.createGameContextValue())}fetchBalance=async()=>{if(!this.authToken||!this.baseUrl){this.balance=1000,this.hasLoadedBalance=!0,this.updateProviderValue();return}try{let a=await fetch(`${this.baseUrl}/users/balance?currency=${this.currency}&origamiGame=${this.origamiGame}`,{headers:{Authorization:`Bearer ${this.authToken}`,"Content-Type":"application/json"}});if(!a.ok){console.error("Failed to fetch balance:",a.statusText),this.hasLoadedBalance=!0;return}let e=await a.json();this.balance=S(e.balance).toNumber(),this.hasLoadedBalance=!0,this.updateProviderValue()}catch(a){console.error("Error fetching balance:",a),this.hasLoadedBalance=!0}};fetchPublicKey=async()=>{if(!this.authToken||!this.baseUrl)return;let a=await fetch(`${this.baseUrl}/provably-fair/public-key`);if(!a.ok){console.error("Failed to fetch public key:",a.statusText);return}let e=await a.json();this.publicKey=e.publicKey};updateHotkeysOpenEnabled(a){this.hotkeysOpenEnabled=a,this.updateProviderValue()}updateShowMaxBetButton(a){this.showMaxBetButton=a,this.updateProviderValue()}updateVolume(a){this.volume=a,this._soundEffects.setVolume(a/100),this.updateProviderValue()}updateInstantBetEnabled(a){this.instantBetEnabled=a,this.updateProviderValue()}updateAutobetNumberOfBets(a){this.autobetNumberOfBets=a,this.updateProviderValue()}updateMainWidth(a){this.mainWidth=a,this.updateProviderValue()}updateBetAmount(a){if(a.lt(0)){this.betAmount="0";return}let e=a.toFixed(this.currencyDecimals);this.betAmount=e,this.updateProviderValue()}updateBalance(a){if(a.lt(0)){this.balance=0;return}this.balance=a.toNumber(),this.updateProviderValue()}_boundCalculateScale=this.calculateScale.bind(this);setupResizeObserver(){if(typeof ResizeObserver!=="undefined")this._resizeObserver=new ResizeObserver(()=>{this.calculateScale(),this.gameData.updateMainWidth(document.documentElement.clientWidth)}),this._resizeObserver.observe(document.body);else window.addEventListener("resize",this._boundCalculateScale)}cleanupResizeObserver(){if(this._resizeObserver)this._resizeObserver.disconnect(),this._resizeObserver=null;else window.removeEventListener("resize",this._boundCalculateScale)}calculateScale(){let a=document.documentElement.clientWidth,e=document.documentElement.clientHeight,i=1200,r=675;if(a/e>1.7777777777777777){let t=e/675;this.scale=t}else{let t=a/1200;this.scale=t}this.requestUpdate()}render(){let a=(()=>{switch(this.origamiGame){case"DICE":return Z`<origami-dice-game></origami-dice-game>`;case"KENO":return Z`<origami-keno-game></origami-keno-game>`;case"MINES":return Z`<origami-mines-game></origami-mines-game>`;case"LIMBO":return Z`<origami-limbo-game></origami-limbo-game>`;case"ADVANCED_DICE":return Z`<origami-advanced-dice-game></origami-advanced-dice-game>`;case"PLINKO":return Z`<origami-plinko-game></origami-plinko-game>`;case"DIAMONDS":return Z`<origami-diamonds-game></origami-diamonds-game>`;case"WHEEL":return Z`<origami-wheel-game></origami-wheel-game>`;case"ROULETTE":return Z`<origami-roulette-game></origami-roulette-game>`;case"BACCARAT":return Z`<origami-baccarat-game></origami-baccarat-game>`;case"BLACKJACK":return Z`<origami-blackjack-game></origami-blackjack-game>`;default:this.origamiGame}})(),e=`
|
|
78
78
|
position: absolute;
|
|
79
79
|
top: 0%;
|
|
80
80
|
left: 0%;
|
|
@@ -673,7 +673,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
673
673
|
background-color: color-mix(in srgb, var(--primary-color, #DAFF01) 30%, transparent);
|
|
674
674
|
color: inherit;
|
|
675
675
|
}
|
|
676
|
-
`;function
|
|
676
|
+
`;function b1(a){return new Promise((e)=>setTimeout(e,a))}function f1(a){if(a===null||a===void 0)return!1;if(typeof a==="number")return!Number.isNaN(a)&&Number.isFinite(a);if(typeof a==="string"){if(a===""||a!==a.trim())return!1;if(a==="NaN"||a==="Infinity"||a==="-Infinity")return!1;if(/^0[xXbBoO]/.test(a))return!1;if(!/^-?(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i.test(a))return!1;let i=Number(a);return!Number.isNaN(i)&&Number.isFinite(i)}return!1}function E0(a,e="0"){if(f1(a))try{return S(a)}catch{return S(e)}return S(e)}var T0=(a)=>a==="Manual"||a==="Auto";class K1 extends X{constructor(){super(...arguments);this.manualOrAuto="Manual";this.hasPendingBet=!1;this.autobetInProgress=!1;this.autobetStopping=!1}static styles=[C];onBetAmountChange=(a,e)=>{};gameConsumer=new j1(this,{context:P,subscribe:!0});get gameData(){return this.gameConsumer.value??n1}get isDemoMode(){return!this.gameData.authToken||!this.gameData.baseUrl}get isToggleDisabled(){return this.autobetInProgress||this.hasPendingBet}get areInputsDisabled(){return this.autobetInProgress||this.hasPendingBet}getDelay(a){return this.gameData.instantBetEnabled?Math.min(a/10,20):a}getAutobetDelay(){return 300}async forceUIUpdate(){this.requestUpdate(),await this.updateComplete}async executeInstantOrAnimated(a,e){if(this.gameData.instantBetEnabled){let i=await a();return await this.forceUIUpdate(),i}else return await e()}async ensureMinimumDisplayTime(a=!1,e=500,i=500){if(!this.gameData.instantBetEnabled)await this.forceUIUpdate(),await b1(a?e:i)}disconnectedCallback(){if(super.disconnectedCallback(),this.autobetInProgress)this.autobetStopping=!0,this.autobetInProgress=!1,this.hasPendingBet=!1}async toggleAutobet(a){if(this.autobetInProgress){this.autobetStopping=!0;return}let e=0,i=S(0),r={...a.detail,autobetId:crypto.randomUUID(),betIndex:e,pnlSinceStart:i.toString()};this.autobetStopping=!1,this.autobetInProgress=!0;let n=this.gameData.betAmount??"0",t=n;try{this.hasPendingBet=!0;let l=!0;while(l&&!this.autobetStopping){r.betIndex=e,r.pnlSinceStart=i.toString();let o=await this.executeAutobet(r,t);if(e++,o.hasError){if(o.errorMessage)this.emit("show-alert",{detail:{type:"error",message:o.errorMessage}});else this.emit("show-alert",{detail:{type:"error",message:R("alerts.gameError",this.gameData.language)}});l=!1;continue}i=i.plus(o.pnl);let s=t;t=this.adjustBetAmount(r,o.gameOutcome,n,t);let d=!S(t).eq(s);if(this.gameData.updateBetAmount(S(t)),!this.isPnLWithinLimits(r,i)){l=!1;continue}if(l&&d)this.onBetAmountChange(s,t);if(this.gameData.autobetNumberOfBets===0){l=!0;continue}this.gameData.updateAutobetNumberOfBets(this.gameData.autobetNumberOfBets-1),l=f1(this.gameData.autobetNumberOfBets)&&this.gameData.autobetNumberOfBets>0}}catch(l){console.error("Error occurred in toggle autobet",l),this.emit("show-alert",{detail:{type:"error",message:R("alerts.gameError",this.gameData.language)}})}finally{this.autobetInProgress=!1,this.hasPendingBet=!1,this.autobetStopping=!1}}adjustBetAmount(a,e,i,r){if(e==="Draw")return r;if(a.onWinStrategy==="Reset"&&e==="Win"||a.onLossStrategy==="Reset"&&e==="Loss")return i;let n=e==="Win"?a.onWinPercentage:a.onLossPercentage,t=S(n).div(100).plus(1);return S(r).mul(t).toFixed(2)}isPnLWithinLimits(a,e){let i=!S(a.stopOnLoss).eq(0)&&S(e).neg().gte(a.stopOnLoss),r=!S(a.stopOnProfit).eq(0)&&e.gte(a.stopOnProfit);return!i&&!r}updateHistoryWithBet(a){let e=this.gameData.historyController;if(e)e.addNewBet(a)}showError(a){let e=new CustomEvent("show-alert",{detail:{type:"error",message:a},bubbles:!1,composed:!0});this.renderRoot.querySelector("origami-game-layout")?.dispatchEvent(e)}playWinFeedback(){this.gameData.soundEffects?.play(u1.win()),this.gameData.haptics?.winCelebration()}}u([q()],K1.prototype,"manualOrAuto",void 0),u([q()],K1.prototype,"hasPendingBet",void 0),u([q()],K1.prototype,"autobetInProgress",void 0),u([q()],K1.prototype,"autobetStopping",void 0);function J1(a){let e=document.documentElement.clientWidth,i=document.documentElement.clientHeight,n=!(e/i>1.7777777777777777)?`height: ${i/a.scale}px;`:`width: ${e/a.scale}px;`;if(a.mainWidth<768)n="";return n}var dn=W`
|
|
677
677
|
:host {
|
|
678
678
|
width: 100%;
|
|
679
679
|
height: 100%;
|
|
@@ -721,7 +721,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
721
721
|
display: block;
|
|
722
722
|
}
|
|
723
723
|
}
|
|
724
|
-
`;var cn="important",$t=" !"+cn,
|
|
724
|
+
`;var cn="important",$t=" !"+cn,z1=Ha(class extends Ra{constructor(a){if(super(a),a.type!==sa.ATTRIBUTE||a.name!=="style"||a.strings?.length>2)throw Error("The `styleMap` directive must be used in the `style` attribute and must be the only part in the attribute.")}render(a){return Object.keys(a).reduce((e,i)=>{let r=a[i];return r==null?e:e+`${i=i.includes("-")?i:i.replace(/(?:^(webkit|moz|ms|o)|)(?=[A-Z])/g,"-$&").toLowerCase()}:${r};`},"")}update(a,[e]){let{style:i}=a.element;if(this.ft===void 0)return this.ft=new Set(Object.keys(e)),this.render(e);for(let r of this.ft)e[r]==null&&(this.ft.delete(r),r.includes("-")?i.removeProperty(r):i[r]=null);for(let r in e){let n=e[r];if(n!=null){this.ft.add(r);let t=typeof n=="string"&&n.endsWith($t);r.includes("-")||t?i.setProperty(r,t?n.slice(0,-11):n,t?cn:""):i[r]=n}}return P1}});var fn=W`
|
|
725
725
|
:host {
|
|
726
726
|
display: flex;
|
|
727
727
|
flex-direction: column;
|
|
@@ -1166,7 +1166,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
1166
1166
|
`;class B3 extends X{constructor(){super(...arguments);this.step=1;this.isRollLower=!1;this.value=0;this.disabled=!1;this.resultValue=null;this.showDice=!1;this.isWin=!1;this.inGameDisplay=!1;this.persistResult=!1;this.ignoreInstantBet=!1;this.language=$;this.instantBetEnabled=!1;this.isResultVisible=!1;this.dimLosingSide=!1}static styles=[C,fn];fadeOutTimer;lastStepValue=null;lastSoundPlayTime=0;disconnectedCallback(){super.disconnectedCallback(),clearTimeout(this.fadeOutTimer)}updated(a){if(a.has("resultValue")&&this.resultValue!==null){if(requestAnimationFrame(()=>{if(this.isConnected)this.isResultVisible=!0,this.dimLosingSide=!0}),clearTimeout(this.fadeOutTimer),!this.persistResult)this.fadeOutTimer=setTimeout(()=>{requestAnimationFrame(()=>{if(this.isConnected)this.isResultVisible=!1,this.dimLosingSide=!1})},3000)}}handleChange(a){if(!(a.target instanceof HTMLInputElement))return;let e=Number(a.target.value),i=this.clampMin??0,r=this.clampMax??100,n=Math.max(i,Math.min(r,e));if(n!==e)a.target.value=n.toString();if(this.lastStepValue===null)this.lastStepValue=n;else if(Math.floor(n)!==Math.floor(this.lastStepValue)){let t=Date.now();if(t-this.lastSoundPlayTime>50)this.soundEffects?.play(u1.diceTick(n)),this.lastSoundPlayTime=t}if(this.lastStepValue=n,this.value=n,!this.persistResult){if(this.dimLosingSide)this.dimLosingSide=!1;if(this.isResultVisible)this.isResultVisible=!1,clearTimeout(this.fadeOutTimer)}this.emit("dice-selected-value-change",{detail:{selectedValue:n*100}})}handleFocus(a){if(!(a.target instanceof HTMLInputElement))return;a.target.select()}render(){let a={"dice-result":!0,win:this.isWin&&!this.inGameDisplay,lose:!this.isWin&&this.showDice&&!this.inGameDisplay},e=[0,100],i=this.showDice&&this.resultValue!==null&&this.dimLosingSide,r=this.isRollLower!==this.isWin,n={"track-fill":!0,reverse:!this.isRollLower,"losing-side":i&&r,"hide-track-color":this.inGameDisplay},t={"track-remaining":!0,reverse:!this.isRollLower,"losing-side":i&&!r,"hide-track-color":this.inGameDisplay},l=32,o=this.resultValue??0,s=0,d=100,m=`calc(32px + (100% - 64px) * ${Math.max(0,Math.min(100,o))/100})`,h=this.value/100*100,f=Number.isFinite(h)?Math.max(0,Math.min(100,h)):0;return Z`
|
|
1167
1167
|
<div
|
|
1168
1168
|
class=${"slider-container"}
|
|
1169
|
-
style=${
|
|
1169
|
+
style=${z1({["--track-fill-width"]:`${f}%`,["--result-position"]:`${this.resultValue??0}%`,...this.instantBetEnabled&&!this.ignoreInstantBet?{["--dice-result-position-duration"]:"0ms",["--dice-result-opacity-duration"]:"0ms",["--dice-result-color-duration"]:"0ms"}:{}})}
|
|
1170
1170
|
>
|
|
1171
1171
|
<div class="markers" aria-hidden="true">
|
|
1172
1172
|
${e.map((v)=>Z`
|
|
@@ -1213,7 +1213,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
1213
1213
|
|
|
1214
1214
|
${this.showDice?Z`
|
|
1215
1215
|
<div class=${B({"dice-result-container":!0,visible:this.isResultVisible})}>
|
|
1216
|
-
<div class="dice-result-wrapper" style=${
|
|
1216
|
+
<div class="dice-result-wrapper" style=${z1({["--result-position-constrained"]:m})}>
|
|
1217
1217
|
<div class=${B(a)} aria-live="polite" aria-atomic="true">
|
|
1218
1218
|
${this.resultValue!==null?this.resultValue.toFixed(2):"0.00"}
|
|
1219
1219
|
</div>
|
|
@@ -1303,7 +1303,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
1303
1303
|
`;animation=null;containerRef=b0();abortController=null;lottieModule=null;async connectedCallback(){super.connectedCallback(),await this.initialize()}disconnectedCallback(){this.cleanup(),super.disconnectedCallback()}async initialize(){if(!this.src)return;try{let[a,e]=await Promise.all([this.loadLottieModule(),this.loadAnimationData()]);this.lottieModule=a,await this.setupAnimation(e),this.setupTriggers()}catch(a){console.warn("[LottieIcon] Failed to initialize:",a)}}async loadLottieModule(){let a=await Promise.resolve().then(() => w1(pn(),1));return a.default||a}async loadAnimationData(){if(ei.has(this.src))return ei.get(this.src);let a=await fetch(this.src);if(!a.ok)throw new Error(`Failed to load animation: ${a.status}`);let e=await a.json();return ei.set(this.src,e),e}async setupAnimation(a){if(await this.updateComplete,!this.containerRef.value||!this.lottieModule)return;this.animation=this.lottieModule.loadAnimation({container:this.containerRef.value,renderer:"svg",loop:!1,autoplay:this.autoplay,animationData:a,rendererSettings:{preserveAspectRatio:"xMidYMid meet",clearCanvas:!1,hideOnTransparent:!0}})}setupTriggers(){if(!this.animation||this.autoplay)return;let a=this.closest(this.triggerSelector);if(!a){console.warn(`[LottieIcon] Trigger element "${this.triggerSelector}" not found`);return}this.abortController=new AbortController;let e=()=>this.playAnimation(),i={signal:this.abortController.signal,passive:!0};a.addEventListener("pointerover",e,i),a.addEventListener("focusin",e,i)}playAnimation(){if(!this.animation)return;let a=this.closest(this.triggerSelector);if(a&&"disabled"in a&&a.disabled)return;this.animation.goToAndStop(0,!0),this.animation.play()}cleanup(){if(this.abortController?.abort(),this.abortController=null,this.animation)this.animation.destroy(),this.animation=null;this.lottieModule=null}render(){return Z`
|
|
1304
1304
|
<div
|
|
1305
1305
|
class=${B({container:!0,active:this.active})}
|
|
1306
|
-
style=${
|
|
1306
|
+
style=${z1({width:this.size,height:this.size})}
|
|
1307
1307
|
${z0(this.containerRef)}
|
|
1308
1308
|
role="img"
|
|
1309
1309
|
aria-hidden="true"
|
|
@@ -1953,7 +1953,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
1953
1953
|
`;class oi extends X{constructor(){super(...arguments);this.history=[];this.showMultiplierSuffix=!0;this.fadeOpacity=!1;this.animatingInIds=new Set}static styles=[C,xn];betResultCache=ma.getInstance();gameConsumer=new j1(this,{context:P,subscribe:!0});get disableHistoryModal(){return!this.gameConsumer.value?.baseUrl||!this.gameConsumer.value?.authToken}updated(a){if(super.updated(a),a.has("history")){let e=a.get("history");if(e)this.handleHistoryChange(e)}}handleHistoryChange(a){let e=this.history.filter((i)=>!a.includes(i));if(this.isConnected&&!this.gameConsumer.value?.instantBetEnabled)this.animatingInIds=new Set([...this.animatingInIds,...e.map((i)=>i.id)])}handleAnimationEnd(a,e){if(a.animationName==="scaleUp"&&this.animatingInIds.has(e.id))requestAnimationFrame(()=>{if(this.isConnected)this.animatingInIds=new Set([...this.animatingInIds].filter((i)=>i!==e.id))})}formatMultiplier(a){return(Math.trunc(a*100)/100).toFixed(2)}handleHistoryPillClick(a){if(this.disableHistoryModal)return;this.emit("open-bet-result-modal",{detail:{betId:a.id}})}handlePillKeyDown(a,e){if(this.disableHistoryModal)return;let i=a.key;if(i==="Enter"||i===" ")a.preventDefault(),this.handleHistoryPillClick(e)}handleHistoryPillHover(a){if(this.disableHistoryModal)return;let e=this.gameConsumer.value?.baseUrl;if(e&&a)this.betResultCache.preloadBetResult(a,e)}renderHistoryPill(a){let e={"history-pill":!0,"history-pill-won":a.won,"slide-in":this.animatingInIds.has(a.id),"cursor-initial":this.disableHistoryModal},i=a.color?{backgroundColor:a.color}:{},r=this.showMultiplierSuffix?`${this.formatMultiplier(a.multiplier)}X`:this.formatMultiplier(a.multiplier);return Z`
|
|
1954
1954
|
<div
|
|
1955
1955
|
class=${B(e)}
|
|
1956
|
-
style=${
|
|
1956
|
+
style=${z1(i)}
|
|
1957
1957
|
role=${this.disableHistoryModal?"presentation":"button"}
|
|
1958
1958
|
tabindex=${this.disableHistoryModal?"-1":"0"}
|
|
1959
1959
|
aria-disabled=${this.disableHistoryModal}
|
|
@@ -2521,7 +2521,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
2521
2521
|
}
|
|
2522
2522
|
`;var Gt={top:"bottom","top-start":"bottom-start","top-end":"bottom-end",bottom:"top","bottom-start":"top-start","bottom-end":"top-end",left:"right","left-start":"right-start","left-end":"right-end",right:"left","right-start":"left-start","right-end":"left-end"};class ue extends q1{constructor(){super(...arguments);this.content="";this.position="top";this.trigger=["hover","focus"];this.arrow=!0;this.open=!1;this.disabled=!1;this.offset=4;this.edgePadding=12;this.delay=0;this.hideDelay=0;this.fullWidth=!1;this.inline=!1;this.boundarySelector=".game-layout-main, .game-layout-container"}static styles=[C,Hn];tooltipRef=b0();triggerRef=b0();static nextId=0;tooltipId=`tooltip-${++ue.nextId}`;showTimeout=null;hideTimeout=null;scrollTimeout=null;clickOutsideHandler=null;keydownHandler=null;scrollHandler=null;resizeHandler=null;debounceTime=50;disconnectedCallback(){super.disconnectedCallback(),this.removeEventListeners(),this.clearTimeouts()}onOpenChange(){if(this.open){if(!this.disabled&&this.tooltipRef.value&&!this.keydownHandler)this.updatePosition(),this.addEventListeners()}else this.removeEventListeners(),this.clearTimeouts()}onDisabledChange(){if(this.disabled)this.hide()}onPositionChange(){requestAnimationFrame(()=>this.updatePosition())}onBoundaryChange(){requestAnimationFrame(()=>this.updatePosition())}addEventListeners(){if(!this.keydownHandler)this.keydownHandler=this.handleKeyDown,document.addEventListener("keydown",this.keydownHandler);if(this.hasTrigger("click")&&!this.clickOutsideHandler)this.clickOutsideHandler=this.handleClickOutside,document.addEventListener("click",this.clickOutsideHandler,{capture:!0});if(!this.scrollHandler)this.scrollHandler=this.handleScroll,window.addEventListener("scroll",this.scrollHandler,{passive:!0});if(!this.resizeHandler)this.resizeHandler=this.handleResize,window.addEventListener("resize",this.resizeHandler,{passive:!0})}removeEventListeners(){if(this.keydownHandler)document.removeEventListener("keydown",this.keydownHandler),this.keydownHandler=null;if(this.clickOutsideHandler)document.removeEventListener("click",this.clickOutsideHandler,{capture:!0}),this.clickOutsideHandler=null;if(this.scrollHandler)window.removeEventListener("scroll",this.scrollHandler),this.scrollHandler=null;if(this.resizeHandler)window.removeEventListener("resize",this.resizeHandler),this.resizeHandler=null}hasTrigger(a){return(Array.isArray(this.trigger)?this.trigger:[this.trigger]).includes(a)}handleScroll=()=>{if(this.scrollTimeout!==null)window.clearTimeout(this.scrollTimeout);this.scrollTimeout=window.setTimeout(()=>{if(this.open)this.updatePosition();this.scrollTimeout=null},this.debounceTime)};handleResize=()=>{if(this.scrollTimeout!==null)window.clearTimeout(this.scrollTimeout);this.scrollTimeout=window.setTimeout(()=>{if(this.open)this.updatePosition();this.scrollTimeout=null},this.debounceTime)};clearTimeouts(){let a=["showTimeout","hideTimeout","scrollTimeout"];for(let e of a){let i=this[e];if(i!==null)window.clearTimeout(i);this[e]=null}}show(){if(this.disabled||this.open)return;if(this.clearTimeouts(),this.delay>0)this.showTimeout=window.setTimeout(()=>{this.showTooltip()},this.delay);else this.showTooltip()}hide(){if(!this.open)return;if(this.clearTimeouts(),this.hideDelay>0)this.hideTimeout=window.setTimeout(()=>{this.hideTooltip()},this.hideDelay);else this.hideTooltip()}showTooltip(){if(this.tooltipRef.value&&!this.disabled)this.open=!0,this.updatePosition(),this.addEventListeners()}hideTooltip(){if(this.tooltipRef.value)this.open=!1,this.removeEventListeners(),this.clearTimeouts()}updatePosition(){if(!this.tooltipRef.value||!this.triggerRef.value||!this.open)return;let a=this.tooltipRef.value,e=this.triggerRef.value,i=this.triggerSlot.assignedElements()[0]||e,r=this.position,n=this.offset,t=i.getBoundingClientRect(),l=a.getBoundingClientRect(),o=i||e,s=o instanceof HTMLElement&&o.offsetWidth>0?o.offsetWidth:t.width,d=s?t.width/s:1,c=Number.isFinite(d)&&d>0?d:1,m=(O)=>{if(!O)return null;if(O instanceof ShadowRoot)return O.host;return O.parentNode},v=((()=>{let O=(this.boundarySelector||"").split(",").map((j)=>j.trim()).filter(Boolean),K=this;while(K){if(K instanceof HTMLElement){if(O.length>0&&O.some((j)=>{try{return K.matches(j)}catch{return!1}}))return K}K=m(K)}return null})()??document.documentElement).getBoundingClientRect(),g=t.top-v.top,x=v.bottom-t.bottom,z=t.left-v.left,p=v.right-t.right,w=r,b=0,y=(O)=>{let K=6*c;if(O.startsWith("top"))return g>=l.height+n*c+K;else if(O.startsWith("bottom"))return x>=l.height+n*c+K;return!0},I=()=>{let O=t.left+t.width/2,K=l.width/2,j=O-K,T=0,A=v.left+this.edgePadding*c,V=v.right-this.edgePadding*c;if(j<A)T=A-j,j=A;let N=j+l.width;if(N>V)T=V-N;return T};if((r.startsWith("top")||r.startsWith("bottom"))&&y(r)){let O=I();if(O!==0){b=-O;let K=l.width/2-12*c;b=Math.max(-K,Math.min(K,b))}w=r}else{let O=(K)=>{let j=6*c;switch(K){case"top":case"top-start":case"top-end":return g<l.height+n*c+j;case"bottom":case"bottom-start":case"bottom-end":return x<l.height+n*c+j;case"left":case"left-start":case"left-end":return z<l.width+n*c+j;case"right":case"right-start":case"right-end":return p<l.width+n*c+j;default:return!1}};if(O(r)){let K=Gt[r];if(!O(K))w=K;else{let T=["top","right","bottom","left"].find((A)=>!O(A));if(T)w=T}}}if(a.setAttribute("data-position",w),this.triggerRef.value){let O=b/c;if(this.triggerRef.value.style.setProperty("--arrow-offset",`${O}px`),b!==0&&(w.startsWith("top")||w.startsWith("bottom"))){let K=-b/c;this.triggerRef.value.style.setProperty("--tooltip-translate-x",`${K}px`)}else this.triggerRef.value.style.setProperty("--tooltip-translate-x","0px")}}handleMouseEnter=()=>{if(this.hasTrigger("hover"))this.show()};handleMouseLeave=(a)=>{let e=a.relatedTarget;if(this.tooltipRef.value?.contains(e))return;if(this.hasTrigger("hover"))this.hide()};handleFocus=(a)=>{if(a.composedPath().some((r)=>r===this.triggerRef.value||this.triggerRef.value?.contains(r))&&this.hasTrigger("focus"))this.show()};handleBlur=(a)=>{if(a.composedPath().some((r)=>r===this.triggerRef.value||this.triggerRef.value?.contains(r))&&this.hasTrigger("focus"))this.hide()};handleClick=()=>{if(this.hasTrigger("click"))if(!this.open)this.show();else this.hide()};handleClickOutside=(a)=>{if(!this.open||!this.hasTrigger("click"))return;let e=a.composedPath(),i=this.triggerRef.value&&e.includes(this.triggerRef.value),r=this.tooltipRef.value&&e.includes(this.tooltipRef.value);if(!i&&!r)this.hide()};handleKeyDown=(a)=>{if(a.key==="Escape"&&this.open)this.hide()};render(){let a={tooltip:!0,visible:this.open,"full-width":this.fullWidth};return Z`
|
|
2523
2523
|
<div
|
|
2524
|
-
style=${
|
|
2524
|
+
style=${z1({["--tooltip-offset"]:`${this.offset}px`})}
|
|
2525
2525
|
${z0(this.triggerRef)}
|
|
2526
2526
|
class="tooltip-trigger"
|
|
2527
2527
|
aria-describedby=${this.open&&this.content?this.tooltipId:Y}
|
|
@@ -2795,7 +2795,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
2795
2795
|
order: 0;
|
|
2796
2796
|
}
|
|
2797
2797
|
}
|
|
2798
|
-
`;class
|
|
2798
|
+
`;class Z1{static MANUAL_BUTTON_PATH=["#manual-bet-button"];static AUTOBET_BUTTON_PATH=["origami-generic-autobet","#autobet-bet-button"];static findElementThroughShadowDOM(a,e){if(!a?.shadowRoot||e.length===0)return null;let i=a.shadowRoot;for(let r=0;r<e.length;r++){let n=e[r],t=i?.querySelector(n)??null;if(!t)return null;if(r===e.length-1)return t;if(!t.shadowRoot)return null;i=t.shadowRoot}return null}static getNativeButton(a){return a?.shadowRoot?.querySelector("button")??null}static isButtonHostDisabled(a){let e=this.getNativeButton(a);if(e)return e.disabled;if(a instanceof HTMLButtonElement)return a.disabled;return!0}static clickButtonHost(a){let e=this.getNativeButton(a);if(e){e.click();return}a?.dispatchEvent(new CustomEvent("button-click",{detail:{originalEvent:new MouseEvent("click")},bubbles:!1,composed:!1}))}static isManualButtonDisabled(a){let e=this.findElementThroughShadowDOM(a,this.MANUAL_BUTTON_PATH);return this.isButtonHostDisabled(e)}static isAutobetButtonDisabled(a){let e=this.findElementThroughShadowDOM(a,this.AUTOBET_BUTTON_PATH);return this.isButtonHostDisabled(e)}static clickManualButton(a){let e=this.findElementThroughShadowDOM(a,this.MANUAL_BUTTON_PATH);this.clickButtonHost(e)}static clickAutobetButton(a){let e=this.findElementThroughShadowDOM(a,this.AUTOBET_BUTTON_PATH);this.clickButtonHost(e)}static isBetButtonDisabled(a,e,i){return a==="Manual"?this.isManualButtonDisabled(e):this.isAutobetButtonDisabled(i)}static clickBetButton(a,e,i){if(a==="Manual")this.clickManualButton(e);else this.clickAutobetButton(i)}}class mi extends X{constructor(){super(...arguments);this.isPlaying=!1;this.profitOnWin="0.00";this.betDisabled=!1;this.inputsDisabled=!1;this.betMaxMultiplier=1;this.language=$;this.currency=p1;this.isBetAmountValid=!0;this._betAboveBalance=!1}static styles=[C,On];triggerPrimaryAction(){Z1.clickButtonHost(this.actionButtonEl??null)}isPrimaryActionDisabled(){return Z1.isButtonHostDisabled(this.actionButtonEl??null)}render(){return Z`
|
|
2799
2799
|
<origami-deposit-button .betAboveBalance=${this._betAboveBalance}></origami-deposit-button>
|
|
2800
2800
|
|
|
2801
2801
|
<origami-bet-amount-input
|
|
@@ -5413,12 +5413,12 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
5413
5413
|
`];class Zi extends X{constructor(){super(...arguments);this.index=0;this.diamondIndex=null;this.exiting=!1;this.dropDelay="0ms";this.slotColors=null;this.constrainedWidth=!0}static styles=[C,Gn];get gems(){return this.gameData?.seasonTheme==="JOLLYGAMI"?Un:Pn}render(){return Z`
|
|
5414
5414
|
<li
|
|
5415
5415
|
class="diamond-slot"
|
|
5416
|
-
style=${
|
|
5416
|
+
style=${z1(this.slotColors?{"--platform-placeholder-color":this.slotColors.placeholder,"--platform-bar-color":this.slotColors.bar}:{})}
|
|
5417
5417
|
>
|
|
5418
5418
|
<figure class="diamond-slot-figure">
|
|
5419
5419
|
${this.diamondIndex!==null?Z`<div
|
|
5420
5420
|
class=${B({"diamond-gem-wrapper":!0,exiting:this.exiting})}
|
|
5421
|
-
style=${
|
|
5421
|
+
style=${z1({"--drop-delay":this.dropDelay})}
|
|
5422
5422
|
>
|
|
5423
5423
|
<div class="diamond-gem-float">${this.gems[this.diamondIndex]}</div>
|
|
5424
5424
|
</div>`:Z`<div class="diamond-gem-ghost" aria-hidden="true"></div>`}
|
|
@@ -5426,7 +5426,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
5426
5426
|
${this.diamondIndex!==null?Z`
|
|
5427
5427
|
<div
|
|
5428
5428
|
class=${B({"diamond-shadow":!0,exiting:this.exiting})}
|
|
5429
|
-
style=${
|
|
5429
|
+
style=${z1({"--drop-delay":this.dropDelay})}
|
|
5430
5430
|
></div>
|
|
5431
5431
|
`:null}
|
|
5432
5432
|
</div>
|
|
@@ -6503,10 +6503,10 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
6503
6503
|
#fff 8px
|
|
6504
6504
|
);
|
|
6505
6505
|
}
|
|
6506
|
-
`;var Q0=(a)=>[{value:"ROLL_BETWEEN",label:R("games.advancedDice.inside",a)},{value:"ROLL_OUTSIDE",label:R("games.advancedDice.outside",a)},{value:"ROLL_BETWEEN_TWO",label:R("games.advancedDice.between",a)}],v6={ROLL_BETWEEN:{bounds:{lower:2500,upper:7500}},ROLL_OUTSIDE:{bounds:{lower:2500,upper:7500}},ROLL_BETWEEN_TWO:{firstBounds:{lower:2500,upper:5000},secondBounds:{lower:6250,upper:8750}}};var l0=4,Ya=10001,z1=1e4,Y0=0,Xa=2,Li=0,X0=100,la=0.01,C0=1;class g1{static isWithinBoundsInclusive(a,e){return e>=a.lower&&e<=a.upper}static getInclusiveBoundsRange(a){return a.upper-a.lower+1}static isWithinBoundsExclusive(a,e){return e>a.lower&&e<a.upper}static getExclusiveBoundsRange(a){return a.upper-a.lower-1}static calculateMultiplier(a,e){if(a<=0)return"0";return S(100-e).div(a).toFixed(4)}static getMinMultiplier(a,e){let i=S(100-a).div(S((9900-a*100)/100));if(e===null)return i.toFixed(l0);return(i.gt(S(e))?i:S(e)).toFixed(l0)}static getMaxMultiplier(a){return S(100-a).div(la).toFixed(l0)}static getWinChanceFromMultiplier(a,e){try{let i=S(a);if(i.lte(0))return 0;return S(100-e).div(i).toNumber()}catch{return 0}}static getMultiplierFromWinChance(a,e){try{let i=S(a);if(i.lte(0))return"0";return S(100-e).div(i).toFixed(l0)}catch{return"0"}}static isValidMultiplier(a,e,i){if(!f1(a))return!1;try{let r=S(a),n=S(this.getMinMultiplier(e,i)),t=S(this.getMaxMultiplier(e));return r.gte(n)&&r.lte(t)}catch{return!1}}static isValidWinChance(a,e,i){if(!f1(a))return!1;try{let r=S(a),n=g1.getMaxWinChance(e,i);return r.gte(la)&&r.lte(n)}catch{return!1}}static boundToDisplayString(a){return S(a).div(100).toFixed(Xa)}static boundsToSliderPositions(a,e){return{firstBoundsLower:a.lower/100,firstBoundsUpper:a.upper/100,secondBoundsLower:e?e.lower/100:62.5,secondBoundsUpper:e?e.upper/100:87.5}}static getMaxWinRange(a,e){if(e===null)return 9900-a*100;return Math.round(g1.getMaxWinChance(a,e)*100)}static getMaxWinChance(a,e){let i=(9900-a*100)/100;if(e===null)return i;let r=Number(S(100-a).div(S(e)).toFixed(l0));return Math.min(i,r)}}function Z0(a){if(a===0)return"0.00";let e=a.toFixed(2);if(e!=="0.00")return e;let i=-Math.floor(Math.log10(a));return a.toFixed(i)}class I0{calculateWinChance(a,e){return this.calculateWinRange(a,e)/Ya*100}evaluateOutcome(a,e,i){return{winChancePercent:this.calculateWinChance(a,e),isWin:this.isWinningResult(a,e,i)}}validateBounds(a,e,i,r){if(a.lower<Y0)return{valid:!1,error:"Lower bound must be at least 0"};if(a.upper>z1)return{valid:!1,error:`Upper bound must be at most ${X0}`};if(a.lower>=a.upper)return{valid:!1,error:"Lower bound must be less than upper bound"};let n=this.calculateWinChance(a,e),t=g1.getMaxWinChance(i,r);if(n<la)return{valid:!1,error:`Win chance ${Z0(n)}% is too low (min: ${la}%)`};if(n>t)return{valid:!1,error:`Win chance ${Z0(n)}% is too high (max: ${t}%)`};return{valid:!0}}validateKnobInput(a,e,i,r,n,t){if(r<Li||r>X0)return{valid:!1,error:`Value must be between ${Li} and ${X0}`};let l=Math.round(r*100),o=this.buildProposedBounds(a,e,i,l);return this.validateBounds(o.bounds,o.secondBounds,n,t)}buildProposedBounds(a,e,i,r){let n={...a};if(i==="firstBoundsLower")n.lower=r;else n.upper=r;return{bounds:n}}validateSliderKnobMove(a,e,i,r,n){let{min:t,max:l}=this.getKnobAllowedRange(a,i,r,n),o=Math.max(t,Math.min(l,e));if(o!==e)return{valid:!1,clampedValue:o};return{valid:!0}}getKnobAllowedRange(a,e,i,r){let n=this.getMinKnobGap(i,r)/100,t=this.getMaxKnobGap(i,r)/100;switch(a){case"firstBoundsLower":return{min:Math.max(0,e.firstBoundsUpper-t),max:e.firstBoundsUpper-n};case"firstBoundsUpper":return{min:e.firstBoundsLower+n,max:Math.min(100,e.firstBoundsLower+t)};default:throw new Error(`${this.constructor.name} must override getKnobAllowedRange for ${a}`)}}sliderPositionsToBounds(a){return{bounds:{lower:Math.round(a.firstBoundsLower*100),upper:Math.round(a.firstBoundsUpper*100)}}}boundsToSliderPositions(a,e){return{firstBoundsLower:a.lower/100,firstBoundsUpper:a.upper/100,secondBoundsLower:e?e.lower/100:62.5,secondBoundsUpper:e?e.upper/100:87.5}}getBoundsFromKnobChange(a,e,i,r,n,t){let l=Math.round(r*100),o=this.getMinKnobGap(n,t),s={firstBoundsLower:a.lower,firstBoundsUpper:a.upper,secondBoundsLower:0,secondBoundsUpper:0};s[i]=l;let d=this.enforceGapForMovedKnob(s,i,o);return{bounds:{lower:d.firstBoundsLower,upper:d.firstBoundsUpper}}}clampBounds(a,e){return{lower:Math.max(Y0,Math.min(z1,a)),upper:Math.max(Y0,Math.min(z1,e))}}enforceMinGap(a,e){if(a.upper-a.lower<e)return{...a,upper:Math.min(z1,a.lower+e)};return a}scaleZoneAroundCenter(a,e,i){let r=(a.lower+a.upper)/2,t=(e+1)/2,l=Math.round(r-t),o=Math.round(r+t);if(l<0){let s=-l;l=0,o=Math.min(z1,o+s)}if(o>z1){let s=o-z1;o=z1,l=Math.max(0,l-s)}if(o-l<i)o=Math.min(z1,l+i);return{lower:l,upper:o}}pushKnobsRight(a,e,i){let r=[...a];for(let n=e;n<r.length-1;n++)if(r[n+1]-r[n]<i)r[n+1]=r[n]+i;if(r[r.length-1]>z1)r[r.length-1]=z1;return r}pushKnobsLeft(a,e,i){let r=[...a];for(let n=e;n>0;n--)if(r[n]-r[n-1]<i)r[n-1]=r[n]-i;if(r[0]<0)r[0]=0;return r}enforceGapForMovedKnob(a,e,i){let r={firstBoundsLower:0,firstBoundsUpper:1,secondBoundsLower:2,secondBoundsUpper:3},t=["firstBoundsLower","firstBoundsUpper","secondBoundsLower","secondBoundsUpper"].map((s)=>a[s]),l=r[e],o=[...t];if(o=this.pushKnobsRight(o,l,i),o[o.length-1]>z1)o[o.length-1]=z1,o=this.pushKnobsLeft(o,o.length-1,i);if(o=this.pushKnobsLeft(o,l,i),o[0]<0)o[0]=0,o=this.pushKnobsRight(o,0,i);return{firstBoundsLower:o[0],firstBoundsUpper:o[1],secondBoundsLower:o[2],secondBoundsUpper:o[3]}}}class Ai extends I0{rollType="ROLL_BETWEEN";knobCount=2;hasSecondBounds=!1;getMinKnobGap(a,e){return C0+1}getMaxKnobGap(a,e){return g1.getMaxWinRange(a,e)+1}calculateWinRange(a){return a.upper-a.lower-1}isWinningResult(a,e,i){return i>a.lower&&i<a.upper}scaleBoundsForWinChance(a,e,i,r,n){let t=g1.getMaxWinChance(r,n),l=Math.max(la,Math.min(t,i)),o=this.getMinKnobGap(r,n),s=(a.lower+a.upper)/2,c=(l/100*Ya+1)/2,m=Math.round(s-c),h=Math.round(s+c);if(m<0){let f=-m;m=0,h=Math.min(z1,h+f)}if(h>z1){let f=h-z1;h=z1,m=Math.max(0,m-f)}if(h-m<o)h=Math.min(z1,m+o);return{bounds:{lower:m,upper:h}}}}class Ji extends I0{rollType="ROLL_OUTSIDE";knobCount=2;hasSecondBounds=!1;minLowerBound=1;maxUpperBound=9999;getMinKnobGap(a,e){return z1-g1.getMaxWinRange(a,e)}getMaxKnobGap(a,e){return z1-C0}calculateWinRange(a){return a.lower+(z1-a.upper)}isWinningResult(a,e,i){return i<a.lower||i>a.upper}scaleBoundsForWinChance(a,e,i,r,n){let t=g1.getMaxWinChance(r,n),l=Math.max(la,Math.min(t,i)),o=this.getMinKnobGap(r,n),s=(a.lower+a.upper)/2,d=l/100*Ya,m=(z1-d)/2,h=Math.round(s-m),f=Math.round(s+m);if(h<this.minLowerBound){let v=this.minLowerBound-h;h=this.minLowerBound,f=Math.min(this.maxUpperBound,f+v)}if(f>this.maxUpperBound){let v=f-this.maxUpperBound;f=this.maxUpperBound,h=Math.max(this.minLowerBound,h-v)}if(f-h<o)f=Math.min(this.maxUpperBound,h+o);return{bounds:{lower:h,upper:f}}}validateBounds(a,e,i,r){let n=super.validateBounds(a,e,i,r);if(!n.valid)return n;if(a.lower<this.minLowerBound)return{valid:!1,error:"Lower bound must be at least 1 (to have winning spots on left)"};if(a.upper>this.maxUpperBound)return{valid:!1,error:"Upper bound must be at most 9999 (to have winning spots on right)"};return{valid:!0}}getKnobAllowedRange(a,e,i,r){let n=super.getKnobAllowedRange(a,e,i,r);if(a==="firstBoundsLower")return{min:Math.max(0.01,n.min),max:n.max};if(a==="firstBoundsUpper")return{min:n.min,max:Math.min(99.99,n.max)};return n}}class Vi extends I0{rollType="ROLL_BETWEEN_TWO";knobCount=4;hasSecondBounds=!0;getMinKnobGap(a,e){return C0+1}getMaxKnobGap(a,e){return Math.floor(g1.getMaxWinRange(a,e)/2)+1}calculateWinRange(a,e){if(!e)throw new Error("Second bounds required for ROLL_BETWEEN_TWO");let i=a.upper-a.lower-1,r=e.upper-e.lower-1;return i+r}isWinningResult(a,e,i){if(!e)return!1;let r=i>a.lower&&i<a.upper,n=i>e.lower&&i<e.upper;return r||n}scaleBoundsForWinChance(a,e,i,r,n){if(!e)throw new Error("Second bounds required for ROLL_BETWEEN_TWO");let t=g1.getMaxWinChance(r,n),l=Math.max(la,Math.min(t,i)),o=this.getMinKnobGap(r,n),s=a.upper-a.lower-1,d=e.upper-e.lower-1,c=s+d;if(c<=0){let w=l/100*Ya/2;return{bounds:this.scaleZoneAroundCenter(a,w,o),secondBounds:this.scaleZoneAroundCenter(e,w,o)}}let m=s/c,h=d/c,f=l/100*Ya,v=f*m,g=f*h,x=this.scaleZoneAroundCenter(a,v,o),z=this.scaleZoneAroundCenter(e,g,o);if(x.upper>=z.lower-o){let p=x.upper-z.lower+o,w=z.upper+p;if(z={lower:z.lower+p,upper:Math.min(z1,w)},w>z1){let b=w-z1;if(z.lower=Math.max(x.upper+o,z.lower-b),x.upper>=z.lower-o)x.upper=z.lower-o,x.lower=Math.max(0,x.lower-b)}}return{bounds:x,secondBounds:z}}validateBounds(a,e,i,r){let n=super.validateBounds(a,e,i,r);if(!n.valid)return n;if(!e)return{valid:!1,error:"Second bounds are required for ROLL_BETWEEN_TWO"};if(e.lower<0)return{valid:!1,error:"Second lower bound must be at least 0"};if(e.upper>z1)return{valid:!1,error:`Second upper bound must be at most ${X0}`};if(e.lower>=e.upper)return{valid:!1,error:"Second lower bound must be less than second upper bound"};let[t,l]=a.lower<=e.lower?[a,e]:[e,a];if(t.upper>l.lower)return{valid:!1,error:"Bounds ranges must not overlap"};return{valid:!0}}buildProposedBounds(a,e,i,r){let n={...a},t={...e};switch(i){case"firstBoundsLower":n.lower=r;break;case"firstBoundsUpper":n.upper=r;break;case"secondBoundsLower":t.lower=r;break;case"secondBoundsUpper":t.upper=r;break}return{bounds:n,secondBounds:t}}getKnobAllowedRange(a,e,i,r){let n=this.getMinKnobGap(i,r)/100,t=g1.getMaxWinRange(i,r)/100,{firstBoundsLower:l,firstBoundsUpper:o,secondBoundsLower:s,secondBoundsUpper:d}=e,c=o-l-0.01,m=d-s-0.01;switch(a){case"firstBoundsLower":{let h=o-n,f=t-m,v=o-f-0.01;return{min:Math.max(0,v),max:h}}case"firstBoundsUpper":{let h=l+n,f=s-n,v=t-m,g=l+v+0.01;return{min:h,max:Math.min(f,g)}}case"secondBoundsLower":{let h=o+n,f=d-n,v=t-c,g=d-v-0.01;return{min:Math.max(h,g),max:f}}case"secondBoundsUpper":{let h=s+n,f=t-c,v=s+f+0.01;return{min:h,max:Math.min(100,v)}}default:return{min:0,max:100}}}sliderPositionsToBounds(a){return{bounds:{lower:Math.round(a.firstBoundsLower*100),upper:Math.round(a.firstBoundsUpper*100)},secondBounds:{lower:Math.round(a.secondBoundsLower*100),upper:Math.round(a.secondBoundsUpper*100)}}}getBoundsFromKnobChange(a,e,i,r,n,t){if(!e)throw new Error("Second bounds required for ROLL_BETWEEN_TWO");let l=Math.round(r*100),o=this.getMinKnobGap(n,t),s={firstBoundsLower:a.lower,firstBoundsUpper:a.upper,secondBoundsLower:e.lower,secondBoundsUpper:e.upper};s[i]=l;let d=this.enforceGapForMovedKnob(s,i,o);return{bounds:{lower:d.firstBoundsLower,upper:d.firstBoundsUpper},secondBounds:{lower:d.secondBoundsLower,upper:d.secondBoundsUpper}}}}var qa={ROLL_BETWEEN:new Ai,ROLL_OUTSIDE:new Ji,ROLL_BETWEEN_TWO:new Vi};class Wi extends X{constructor(){super(...arguments);this.disabled=!1;this.resultValue=null;this.showDice=!1;this.isWin=!1;this.inGameDisplay=!1;this.persistResult=!1;this.ignoreInstantBet=!1;this.rollType="ROLL_BETWEEN";this.firstBoundsLower=25;this.firstBoundsUpper=75;this.secondBoundsLower=62.5;this.secondBoundsUpper=87.5;this.isResultVisible=!1}static styles=[C,w6];get edge(){return this.gameData?.edge??ha}get strategy(){return qa[this.rollType]}fadeOutTimer;lastStepValue=null;lastStepFeedbackTime=0;disconnectedCallback(){super.disconnectedCallback(),clearTimeout(this.fadeOutTimer)}updated(a){if(a.has("resultValue")&&this.resultValue!==null){if(this.isConnected)this.isResultVisible=!0;if(clearTimeout(this.fadeOutTimer),!this.persistResult)this.fadeOutTimer=setTimeout(()=>{if(this.isConnected)this.isResultVisible=!1},3000)}}handleKnobChange(a,e){if(!(e.target instanceof HTMLInputElement))return;let i=e.target,r=Number(i.value),n={firstBoundsLower:this.firstBoundsLower,firstBoundsUpper:this.firstBoundsUpper,secondBoundsLower:this.secondBoundsLower,secondBoundsUpper:this.secondBoundsUpper},t=this.gameData?.advancedDiceMinMultiplier??null,l=this.strategy.validateSliderKnobMove(a,r,n,this.edge,t),o=l.valid?r:l.clampedValue;if(!l.valid)i.value=o.toString();if(o===n[a])return;this.playKnobStepFeedback(o);let s={...n,[a]:o},d=this.strategy.sliderPositionsToBounds(s);this.emit("advanced-dice-bounds-change",{detail:d})}playKnobStepFeedback(a){let e=Date.now();if(this.lastStepValue===null)this.lastStepValue=a;else if(Math.floor(a)!==Math.floor(this.lastStepValue)){if(e-this.lastStepFeedbackTime>50)this.gameData?.soundEffects?.play(u1.diceTick(a)),this.lastStepFeedbackTime=e;this.lastStepValue=a}}render(){let a={"dice-result":!0,win:this.isWin&&!this.inGameDisplay,lose:!this.isWin&&this.showDice&&!this.inGameDisplay},e=[0,100],i=[];if(this.rollType==="ROLL_BETWEEN"||this.rollType==="ROLL_OUTSIDE"){let c=this.firstBoundsLower,m=this.firstBoundsUpper;if(this.rollType==="ROLL_BETWEEN")i.push({start:0,end:c,kind:"red"},{start:c,end:m,kind:"green"},{start:m,end:100,kind:"red"});else i.push({start:0,end:c,kind:"green"},{start:c,end:m,kind:"red"},{start:m,end:100,kind:"green"})}else if(this.rollType==="ROLL_BETWEEN_TWO")i.push({start:0,end:this.firstBoundsLower,kind:"red"},{start:this.firstBoundsLower,end:this.firstBoundsUpper,kind:"green"},{start:this.firstBoundsUpper,end:this.secondBoundsLower,kind:"red"},{start:this.secondBoundsLower,end:this.secondBoundsUpper,kind:"green"},{start:this.secondBoundsUpper,end:100,kind:"red"});let r=this.gameData?.language||$,n=32,t=this.resultValue??0,s=Math.max(0,Math.min(100,t)),d=`calc(${n}px + (100% - ${n*2}px) * ${s/100})`;return Z`
|
|
6506
|
+
`;var Q0=(a)=>[{value:"ROLL_BETWEEN",label:R("games.advancedDice.inside",a)},{value:"ROLL_OUTSIDE",label:R("games.advancedDice.outside",a)},{value:"ROLL_BETWEEN_TWO",label:R("games.advancedDice.between",a)}],v6={ROLL_BETWEEN:{bounds:{lower:2500,upper:7500}},ROLL_OUTSIDE:{bounds:{lower:2500,upper:7500}},ROLL_BETWEEN_TWO:{firstBounds:{lower:2500,upper:5000},secondBounds:{lower:6250,upper:8750}}};var l0=4,Ya=10001,y1=1e4,Y0=0,Xa=2,Li=0,X0=100,la=0.01,C0=1;class g1{static isWithinBoundsInclusive(a,e){return e>=a.lower&&e<=a.upper}static getInclusiveBoundsRange(a){return a.upper-a.lower+1}static isWithinBoundsExclusive(a,e){return e>a.lower&&e<a.upper}static getExclusiveBoundsRange(a){return a.upper-a.lower-1}static calculateMultiplier(a,e){if(a<=0)return"0";return S(100-e).div(a).toFixed(4)}static getMinMultiplier(a,e){let i=S(100-a).div(S((9900-a*100)/100));if(e===null)return i.toFixed(l0);return(i.gt(S(e))?i:S(e)).toFixed(l0)}static getMaxMultiplier(a){return S(100-a).div(la).toFixed(l0)}static getWinChanceFromMultiplier(a,e){try{let i=S(a);if(i.lte(0))return 0;return S(100-e).div(i).toNumber()}catch{return 0}}static getMultiplierFromWinChance(a,e){try{let i=S(a);if(i.lte(0))return"0";return S(100-e).div(i).toFixed(l0)}catch{return"0"}}static isValidMultiplier(a,e,i){if(!f1(a))return!1;try{let r=S(a),n=S(this.getMinMultiplier(e,i)),t=S(this.getMaxMultiplier(e));return r.gte(n)&&r.lte(t)}catch{return!1}}static isValidWinChance(a,e,i){if(!f1(a))return!1;try{let r=S(a),n=g1.getMaxWinChance(e,i);return r.gte(la)&&r.lte(n)}catch{return!1}}static boundToDisplayString(a){return S(a).div(100).toFixed(Xa)}static boundsToSliderPositions(a,e){return{firstBoundsLower:a.lower/100,firstBoundsUpper:a.upper/100,secondBoundsLower:e?e.lower/100:62.5,secondBoundsUpper:e?e.upper/100:87.5}}static getMaxWinRange(a,e){if(e===null)return 9900-a*100;return Math.round(g1.getMaxWinChance(a,e)*100)}static getMaxWinChance(a,e){let i=(9900-a*100)/100;if(e===null)return i;let r=Number(S(100-a).div(S(e)).toFixed(l0));return Math.min(i,r)}}function Z0(a){if(a===0)return"0.00";let e=a.toFixed(2);if(e!=="0.00")return e;let i=-Math.floor(Math.log10(a));return a.toFixed(i)}class I0{calculateWinChance(a,e){return this.calculateWinRange(a,e)/Ya*100}evaluateOutcome(a,e,i){return{winChancePercent:this.calculateWinChance(a,e),isWin:this.isWinningResult(a,e,i)}}validateBounds(a,e,i,r){if(a.lower<Y0)return{valid:!1,error:"Lower bound must be at least 0"};if(a.upper>y1)return{valid:!1,error:`Upper bound must be at most ${X0}`};if(a.lower>=a.upper)return{valid:!1,error:"Lower bound must be less than upper bound"};let n=this.calculateWinChance(a,e),t=g1.getMaxWinChance(i,r);if(n<la)return{valid:!1,error:`Win chance ${Z0(n)}% is too low (min: ${la}%)`};if(n>t)return{valid:!1,error:`Win chance ${Z0(n)}% is too high (max: ${t}%)`};return{valid:!0}}validateKnobInput(a,e,i,r,n,t){if(r<Li||r>X0)return{valid:!1,error:`Value must be between ${Li} and ${X0}`};let l=Math.round(r*100),o=this.buildProposedBounds(a,e,i,l);return this.validateBounds(o.bounds,o.secondBounds,n,t)}buildProposedBounds(a,e,i,r){let n={...a};if(i==="firstBoundsLower")n.lower=r;else n.upper=r;return{bounds:n}}validateSliderKnobMove(a,e,i,r,n){let{min:t,max:l}=this.getKnobAllowedRange(a,i,r,n),o=Math.max(t,Math.min(l,e));if(o!==e)return{valid:!1,clampedValue:o};return{valid:!0}}getKnobAllowedRange(a,e,i,r){let n=this.getMinKnobGap(i,r)/100,t=this.getMaxKnobGap(i,r)/100;switch(a){case"firstBoundsLower":return{min:Math.max(0,e.firstBoundsUpper-t),max:e.firstBoundsUpper-n};case"firstBoundsUpper":return{min:e.firstBoundsLower+n,max:Math.min(100,e.firstBoundsLower+t)};default:throw new Error(`${this.constructor.name} must override getKnobAllowedRange for ${a}`)}}sliderPositionsToBounds(a){return{bounds:{lower:Math.round(a.firstBoundsLower*100),upper:Math.round(a.firstBoundsUpper*100)}}}boundsToSliderPositions(a,e){return{firstBoundsLower:a.lower/100,firstBoundsUpper:a.upper/100,secondBoundsLower:e?e.lower/100:62.5,secondBoundsUpper:e?e.upper/100:87.5}}getBoundsFromKnobChange(a,e,i,r,n,t){let l=Math.round(r*100),o=this.getMinKnobGap(n,t),s={firstBoundsLower:a.lower,firstBoundsUpper:a.upper,secondBoundsLower:0,secondBoundsUpper:0};s[i]=l;let d=this.enforceGapForMovedKnob(s,i,o);return{bounds:{lower:d.firstBoundsLower,upper:d.firstBoundsUpper}}}clampBounds(a,e){return{lower:Math.max(Y0,Math.min(y1,a)),upper:Math.max(Y0,Math.min(y1,e))}}enforceMinGap(a,e){if(a.upper-a.lower<e)return{...a,upper:Math.min(y1,a.lower+e)};return a}scaleZoneAroundCenter(a,e,i){let r=(a.lower+a.upper)/2,t=(e+1)/2,l=Math.round(r-t),o=Math.round(r+t);if(l<0){let s=-l;l=0,o=Math.min(y1,o+s)}if(o>y1){let s=o-y1;o=y1,l=Math.max(0,l-s)}if(o-l<i)o=Math.min(y1,l+i);return{lower:l,upper:o}}pushKnobsRight(a,e,i){let r=[...a];for(let n=e;n<r.length-1;n++)if(r[n+1]-r[n]<i)r[n+1]=r[n]+i;if(r[r.length-1]>y1)r[r.length-1]=y1;return r}pushKnobsLeft(a,e,i){let r=[...a];for(let n=e;n>0;n--)if(r[n]-r[n-1]<i)r[n-1]=r[n]-i;if(r[0]<0)r[0]=0;return r}enforceGapForMovedKnob(a,e,i){let r={firstBoundsLower:0,firstBoundsUpper:1,secondBoundsLower:2,secondBoundsUpper:3},t=["firstBoundsLower","firstBoundsUpper","secondBoundsLower","secondBoundsUpper"].map((s)=>a[s]),l=r[e],o=[...t];if(o=this.pushKnobsRight(o,l,i),o[o.length-1]>y1)o[o.length-1]=y1,o=this.pushKnobsLeft(o,o.length-1,i);if(o=this.pushKnobsLeft(o,l,i),o[0]<0)o[0]=0,o=this.pushKnobsRight(o,0,i);return{firstBoundsLower:o[0],firstBoundsUpper:o[1],secondBoundsLower:o[2],secondBoundsUpper:o[3]}}}class Ai extends I0{rollType="ROLL_BETWEEN";knobCount=2;hasSecondBounds=!1;getMinKnobGap(a,e){return C0+1}getMaxKnobGap(a,e){return g1.getMaxWinRange(a,e)+1}calculateWinRange(a){return a.upper-a.lower-1}isWinningResult(a,e,i){return i>a.lower&&i<a.upper}scaleBoundsForWinChance(a,e,i,r,n){let t=g1.getMaxWinChance(r,n),l=Math.max(la,Math.min(t,i)),o=this.getMinKnobGap(r,n),s=(a.lower+a.upper)/2,c=(l/100*Ya+1)/2,m=Math.round(s-c),h=Math.round(s+c);if(m<0){let f=-m;m=0,h=Math.min(y1,h+f)}if(h>y1){let f=h-y1;h=y1,m=Math.max(0,m-f)}if(h-m<o)h=Math.min(y1,m+o);return{bounds:{lower:m,upper:h}}}}class Ji extends I0{rollType="ROLL_OUTSIDE";knobCount=2;hasSecondBounds=!1;minLowerBound=1;maxUpperBound=9999;getMinKnobGap(a,e){return y1-g1.getMaxWinRange(a,e)}getMaxKnobGap(a,e){return y1-C0}calculateWinRange(a){return a.lower+(y1-a.upper)}isWinningResult(a,e,i){return i<a.lower||i>a.upper}scaleBoundsForWinChance(a,e,i,r,n){let t=g1.getMaxWinChance(r,n),l=Math.max(la,Math.min(t,i)),o=this.getMinKnobGap(r,n),s=(a.lower+a.upper)/2,d=l/100*Ya,m=(y1-d)/2,h=Math.round(s-m),f=Math.round(s+m);if(h<this.minLowerBound){let v=this.minLowerBound-h;h=this.minLowerBound,f=Math.min(this.maxUpperBound,f+v)}if(f>this.maxUpperBound){let v=f-this.maxUpperBound;f=this.maxUpperBound,h=Math.max(this.minLowerBound,h-v)}if(f-h<o)f=Math.min(this.maxUpperBound,h+o);return{bounds:{lower:h,upper:f}}}validateBounds(a,e,i,r){let n=super.validateBounds(a,e,i,r);if(!n.valid)return n;if(a.lower<this.minLowerBound)return{valid:!1,error:"Lower bound must be at least 1 (to have winning spots on left)"};if(a.upper>this.maxUpperBound)return{valid:!1,error:"Upper bound must be at most 9999 (to have winning spots on right)"};return{valid:!0}}getKnobAllowedRange(a,e,i,r){let n=super.getKnobAllowedRange(a,e,i,r);if(a==="firstBoundsLower")return{min:Math.max(0.01,n.min),max:n.max};if(a==="firstBoundsUpper")return{min:n.min,max:Math.min(99.99,n.max)};return n}}class Vi extends I0{rollType="ROLL_BETWEEN_TWO";knobCount=4;hasSecondBounds=!0;getMinKnobGap(a,e){return C0+1}getMaxKnobGap(a,e){return Math.floor(g1.getMaxWinRange(a,e)/2)+1}calculateWinRange(a,e){if(!e)throw new Error("Second bounds required for ROLL_BETWEEN_TWO");let i=a.upper-a.lower-1,r=e.upper-e.lower-1;return i+r}isWinningResult(a,e,i){if(!e)return!1;let r=i>a.lower&&i<a.upper,n=i>e.lower&&i<e.upper;return r||n}scaleBoundsForWinChance(a,e,i,r,n){if(!e)throw new Error("Second bounds required for ROLL_BETWEEN_TWO");let t=g1.getMaxWinChance(r,n),l=Math.max(la,Math.min(t,i)),o=this.getMinKnobGap(r,n),s=a.upper-a.lower-1,d=e.upper-e.lower-1,c=s+d;if(c<=0){let w=l/100*Ya/2;return{bounds:this.scaleZoneAroundCenter(a,w,o),secondBounds:this.scaleZoneAroundCenter(e,w,o)}}let m=s/c,h=d/c,f=l/100*Ya,v=f*m,g=f*h,x=this.scaleZoneAroundCenter(a,v,o),z=this.scaleZoneAroundCenter(e,g,o);if(x.upper>=z.lower-o){let p=x.upper-z.lower+o,w=z.upper+p;if(z={lower:z.lower+p,upper:Math.min(y1,w)},w>y1){let b=w-y1;if(z.lower=Math.max(x.upper+o,z.lower-b),x.upper>=z.lower-o)x.upper=z.lower-o,x.lower=Math.max(0,x.lower-b)}}return{bounds:x,secondBounds:z}}validateBounds(a,e,i,r){let n=super.validateBounds(a,e,i,r);if(!n.valid)return n;if(!e)return{valid:!1,error:"Second bounds are required for ROLL_BETWEEN_TWO"};if(e.lower<0)return{valid:!1,error:"Second lower bound must be at least 0"};if(e.upper>y1)return{valid:!1,error:`Second upper bound must be at most ${X0}`};if(e.lower>=e.upper)return{valid:!1,error:"Second lower bound must be less than second upper bound"};let[t,l]=a.lower<=e.lower?[a,e]:[e,a];if(t.upper>l.lower)return{valid:!1,error:"Bounds ranges must not overlap"};return{valid:!0}}buildProposedBounds(a,e,i,r){let n={...a},t={...e};switch(i){case"firstBoundsLower":n.lower=r;break;case"firstBoundsUpper":n.upper=r;break;case"secondBoundsLower":t.lower=r;break;case"secondBoundsUpper":t.upper=r;break}return{bounds:n,secondBounds:t}}getKnobAllowedRange(a,e,i,r){let n=this.getMinKnobGap(i,r)/100,t=g1.getMaxWinRange(i,r)/100,{firstBoundsLower:l,firstBoundsUpper:o,secondBoundsLower:s,secondBoundsUpper:d}=e,c=o-l-0.01,m=d-s-0.01;switch(a){case"firstBoundsLower":{let h=o-n,f=t-m,v=o-f-0.01;return{min:Math.max(0,v),max:h}}case"firstBoundsUpper":{let h=l+n,f=s-n,v=t-m,g=l+v+0.01;return{min:h,max:Math.min(f,g)}}case"secondBoundsLower":{let h=o+n,f=d-n,v=t-c,g=d-v-0.01;return{min:Math.max(h,g),max:f}}case"secondBoundsUpper":{let h=s+n,f=t-c,v=s+f+0.01;return{min:h,max:Math.min(100,v)}}default:return{min:0,max:100}}}sliderPositionsToBounds(a){return{bounds:{lower:Math.round(a.firstBoundsLower*100),upper:Math.round(a.firstBoundsUpper*100)},secondBounds:{lower:Math.round(a.secondBoundsLower*100),upper:Math.round(a.secondBoundsUpper*100)}}}getBoundsFromKnobChange(a,e,i,r,n,t){if(!e)throw new Error("Second bounds required for ROLL_BETWEEN_TWO");let l=Math.round(r*100),o=this.getMinKnobGap(n,t),s={firstBoundsLower:a.lower,firstBoundsUpper:a.upper,secondBoundsLower:e.lower,secondBoundsUpper:e.upper};s[i]=l;let d=this.enforceGapForMovedKnob(s,i,o);return{bounds:{lower:d.firstBoundsLower,upper:d.firstBoundsUpper},secondBounds:{lower:d.secondBoundsLower,upper:d.secondBoundsUpper}}}}var qa={ROLL_BETWEEN:new Ai,ROLL_OUTSIDE:new Ji,ROLL_BETWEEN_TWO:new Vi};class Wi extends X{constructor(){super(...arguments);this.disabled=!1;this.resultValue=null;this.showDice=!1;this.isWin=!1;this.inGameDisplay=!1;this.persistResult=!1;this.ignoreInstantBet=!1;this.rollType="ROLL_BETWEEN";this.firstBoundsLower=25;this.firstBoundsUpper=75;this.secondBoundsLower=62.5;this.secondBoundsUpper=87.5;this.isResultVisible=!1}static styles=[C,w6];get edge(){return this.gameData?.edge??ha}get strategy(){return qa[this.rollType]}fadeOutTimer;lastStepValue=null;lastStepFeedbackTime=0;disconnectedCallback(){super.disconnectedCallback(),clearTimeout(this.fadeOutTimer)}updated(a){if(a.has("resultValue")&&this.resultValue!==null){if(this.isConnected)this.isResultVisible=!0;if(clearTimeout(this.fadeOutTimer),!this.persistResult)this.fadeOutTimer=setTimeout(()=>{if(this.isConnected)this.isResultVisible=!1},3000)}}handleKnobChange(a,e){if(!(e.target instanceof HTMLInputElement))return;let i=e.target,r=Number(i.value),n={firstBoundsLower:this.firstBoundsLower,firstBoundsUpper:this.firstBoundsUpper,secondBoundsLower:this.secondBoundsLower,secondBoundsUpper:this.secondBoundsUpper},t=this.gameData?.advancedDiceMinMultiplier??null,l=this.strategy.validateSliderKnobMove(a,r,n,this.edge,t),o=l.valid?r:l.clampedValue;if(!l.valid)i.value=o.toString();if(o===n[a])return;this.playKnobStepFeedback(o);let s={...n,[a]:o},d=this.strategy.sliderPositionsToBounds(s);this.emit("advanced-dice-bounds-change",{detail:d})}playKnobStepFeedback(a){let e=Date.now();if(this.lastStepValue===null)this.lastStepValue=a;else if(Math.floor(a)!==Math.floor(this.lastStepValue)){if(e-this.lastStepFeedbackTime>50)this.gameData?.soundEffects?.play(u1.diceTick(a)),this.lastStepFeedbackTime=e;this.lastStepValue=a}}render(){let a={"dice-result":!0,win:this.isWin&&!this.inGameDisplay,lose:!this.isWin&&this.showDice&&!this.inGameDisplay},e=[0,100],i=[];if(this.rollType==="ROLL_BETWEEN"||this.rollType==="ROLL_OUTSIDE"){let c=this.firstBoundsLower,m=this.firstBoundsUpper;if(this.rollType==="ROLL_BETWEEN")i.push({start:0,end:c,kind:"red"},{start:c,end:m,kind:"green"},{start:m,end:100,kind:"red"});else i.push({start:0,end:c,kind:"green"},{start:c,end:m,kind:"red"},{start:m,end:100,kind:"green"})}else if(this.rollType==="ROLL_BETWEEN_TWO")i.push({start:0,end:this.firstBoundsLower,kind:"red"},{start:this.firstBoundsLower,end:this.firstBoundsUpper,kind:"green"},{start:this.firstBoundsUpper,end:this.secondBoundsLower,kind:"red"},{start:this.secondBoundsLower,end:this.secondBoundsUpper,kind:"green"},{start:this.secondBoundsUpper,end:100,kind:"red"});let r=this.gameData?.language||$,n=32,t=this.resultValue??0,s=Math.max(0,Math.min(100,t)),d=`calc(${n}px + (100% - ${n*2}px) * ${s/100})`;return Z`
|
|
6507
6507
|
<div
|
|
6508
6508
|
class=${"slider-container"}
|
|
6509
|
-
style=${
|
|
6509
|
+
style=${z1({["--result-position"]:`${this.resultValue??0}%`,...this.gameData?.instantBetEnabled&&!this.ignoreInstantBet?{["--dice-result-position-duration"]:"0ms",["--dice-result-opacity-duration"]:"0ms",["--dice-result-color-duration"]:"0ms"}:{}})}
|
|
6510
6510
|
>
|
|
6511
6511
|
<div class="markers" aria-hidden="true">
|
|
6512
6512
|
${e.map((c)=>Z`
|
|
@@ -6529,7 +6529,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
6529
6529
|
<div class="track-segments">
|
|
6530
6530
|
${i.map((c)=>Z`<div
|
|
6531
6531
|
class=${B({segment:!0,green:c.kind==="green",red:c.kind==="red","hide-track-color":this.inGameDisplay})}
|
|
6532
|
-
style=${
|
|
6532
|
+
style=${z1({left:`${c.start}%`,width:`${c.end-c.start}%`})}
|
|
6533
6533
|
></div>`)}
|
|
6534
6534
|
</div>
|
|
6535
6535
|
</div>
|
|
@@ -6615,7 +6615,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
6615
6615
|
<div
|
|
6616
6616
|
class=${B({"dice-result-container":!0,visible:this.isResultVisible})}
|
|
6617
6617
|
>
|
|
6618
|
-
<div class="dice-result-wrapper" style=${
|
|
6618
|
+
<div class="dice-result-wrapper" style=${z1({["--result-position-constrained"]:d})}>
|
|
6619
6619
|
<div class=${B(a)} aria-live="polite" aria-atomic="true">
|
|
6620
6620
|
${this.resultValue!==null?this.resultValue.toFixed(2):"0.00"}
|
|
6621
6621
|
</div>
|
|
@@ -6645,14 +6645,14 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
6645
6645
|
font-size: calc(var(--plinko-bin-font-size, 12px) * var(--text-scale, 1));
|
|
6646
6646
|
}
|
|
6647
6647
|
|
|
6648
|
-
`;var aa=w1(Z6(),1);class
|
|
6648
|
+
`;var aa=w1(Z6(),1);class I1{static SENSOR_HEIGHT=10;static GRAVITY_Y=2.75;static START_GAP=50;static END_GAP=20;static BIN_DESPAWN_OFFSET=45;static WIDTH=1336;static HEIGHT=1002;static BALL_CONFIG={FRICTION:0.5,RESTITUTION:0.7,DENSITY:0.5};static PIN_CATEGORY=1;static BALL_CATEGORY=2;rowCount;engine;pins=[];pinsSet=new Set;sensor;events;balls=new Set;ballToBetId=new Map;ballPositionsCache=[];constructor(a,e={}){this.rowCount=a,this.events=e,this.engine=aa.default.Engine.create(),this.engine.world.gravity.y=I1.GRAVITY_Y,this.placePins(),this.sensor=aa.default.Bodies.rectangle(I1.WIDTH/2,0,I1.WIDTH,I1.SENSOR_HEIGHT,{isSensor:!0,isStatic:!0,render:{visible:!1}}),aa.default.Composite.add(this.engine.world,[this.sensor]),this.updateSensorPosition(),aa.default.Events.on(this.engine,"collisionStart",this.handleCollisionStart),aa.default.Events.on(this.engine,"afterUpdate",this.handleAfterUpdate)}isPin=(a)=>this.pinsSet.has(a);isBall=(a)=>a.collisionFilter.category===I1.BALL_CATEGORY;handleCollisionStart=({pairs:a})=>{for(let e=0;e<a.length;e++){let{bodyA:i,bodyB:r}=a[e];if(i===this.sensor)this.handleBallCrossedSensor(r);else if(r===this.sensor)this.handleBallCrossedSensor(i);let n=this.isPin(i),t=this.isPin(r),l=!n&&this.isBall(i),o=!t&&this.isBall(r);if(n&&o||t&&l){let s=n?i:r,d=n?r:i;this.emitBallHitPin(s,d)}}};emitBallHitPin(a,e){if(!this.events.onBallHitPin)return;let i=this.ballToBetId.get(e);if(!i)return;let r=e.position.x-a.position.x,n=e.position.y-a.position.y,t=Math.hypot(r,n)||1,l=r/t,o=n/t,s=e.velocity,d=Math.abs((s?.x||0)*l+(s?.y||0)*o);this.events.onBallHitPin({betId:i,pinX:a.position.x,pinY:a.position.y,impactSpeed:d})}handleAfterUpdate=()=>{if(!this.events.onBallPositions)return;this.ballPositionsCache=[];for(let a of this.balls){let e=this.ballToBetId.get(a)||"",i=a.circleRadius??this.ballRadius;this.ballPositionsCache.push({betId:e,x:a.position.x,y:a.position.y,r:i})}this.events.onBallPositions(this.ballPositionsCache)};update(){aa.default.Engine.update(this.engine)}setRowCount(a){if(a===this.rowCount)return;this.removeAllBalls(),this.rowCount=a,this.placePins(),this.updateSensorPosition()}dropBallForResult(a,e){let i=y6[this.rowCount-8];if(!i||!i[a]||i[a].length===0)throw new Error(`No starting positions for rowCount=${this.rowCount} binIndex=${a}. Starting positions must be pre-computed for all valid bin indices.`);let r=i[a],n=this.hashStringToIndex(e,r.length),t=r[n],l=this.createBall(t);aa.default.Composite.add(this.engine.world,l),this.balls.add(l),this.ballToBetId.set(l,e)}createBall(a){return aa.default.Bodies.circle(a,0,this.ballRadius,{restitution:I1.BALL_CONFIG.RESTITUTION,friction:I1.BALL_CONFIG.FRICTION,density:I1.BALL_CONFIG.DENSITY,collisionFilter:{category:I1.BALL_CATEGORY,mask:I1.PIN_CATEGORY},render:{visible:!1}})}hashStringToIndex(a,e){let i=0;for(let r=0;r<a.length;r++){let n=a.charCodeAt(r);i=(i<<5)-i+n,i=i&i}return Math.abs(i)%e}get binsWidthPercentage(){let{spacing:a}=this.getPinConfig();return(3+this.rowCount-1-1)*a/I1.WIDTH}get activeBallCount(){return this.balls.size}get ballRadius(){return this.getPinConfig().ballRadius}static getPinConfig(a){let e=I1.HEIGHT-I1.START_GAP-I1.END_GAP,i=8,r=a-1,n=e/(r*8+2),t=8*n,l=Math.sqrt(a)/2,o=n*l;return{pegRadius:n,spacing:t,ballRadius:o}}getPinConfig(){return I1.getPinConfig(this.rowCount)}handleBallCrossedSensor(a){let e=this.ballToBetId.get(a);if(e)this.events.onBallCrossedSensor?.({betId:e});aa.default.Composite.remove(this.engine.world,a),this.balls.delete(a),this.ballToBetId.delete(a)}placePins(){let{PIN_CATEGORY:a,BALL_CATEGORY:e}=I1;if(this.pins.length)aa.default.Composite.remove(this.engine.world,this.pins),this.pins=[],this.pinsSet.clear();let{pegRadius:i,spacing:r}=this.getPinConfig(),n=I1.START_GAP+i,t=r,l=r;for(let o=0;o<this.rowCount;++o){let s=n+o*l,d=3+o,c=(d-1)*t,m=(I1.WIDTH-c)/2;for(let h=0;h<d;++h){let f=m+h*t,v=aa.default.Bodies.circle(f,s,i,{isStatic:!0,density:1e4,render:{visible:!1},collisionFilter:{category:a,mask:e}});this.pins.push(v),this.pinsSet.add(v)}}aa.default.Composite.add(this.engine.world,this.pins)}updateSensorPosition(){if(!this.sensor)return;let a=I1.HEIGHT-I1.END_GAP/2+I1.BIN_DESPAWN_OFFSET;aa.default.Body.setPosition(this.sensor,{x:I1.WIDTH/2,y:a})}removeAllBalls(){if(this.balls.size){for(let a of this.balls)aa.default.Composite.remove(this.engine.world,a);this.balls.clear(),this.ballToBetId.clear()}}destroy(){if(aa.default.Events.off(this.engine,"collisionStart",this.handleCollisionStart),aa.default.Events.off(this.engine,"afterUpdate",this.handleAfterUpdate),this.removeAllBalls(),this.pins.length)aa.default.Composite.remove(this.engine.world,this.pins)}}var Ll=50,R0=(a)=>{let{pegRadius:e,spacing:i}=I1.getPinConfig(a),r=(a+1)*i,n=I1.WIDTH/2-r/2-e,t=r+2*e,l=Ll,o=(a-1)*i+2*e;return{pegRadius:e,spacing:i,viewBoxX:n,viewBoxY:l,viewBoxWidth:t,viewBoxHeight:o}},Ze={LIFE_MS:260,BASE_RADIUS_MULT:1.1,GROWTH_RADIUS_MULT:1.6},I6=(a,e,i)=>{let r=e-a.startMs;if(r>=Ze.LIFE_MS)return null;let n=Math.min(1,r/Ze.LIFE_MS),t=n*(2-n),l=Ze.GROWTH_RADIUS_MULT*(a.impact||1),o=i*(Ze.BASE_RADIUS_MULT+l*t),s=0.28*(1-n);return{x:a.x,y:a.y,r:o,alpha:s}},H6=(a)=>Math.max(0.25,Math.min(1,a/8)),R6=(a)=>{if(a>=1000){let e=a/1000,i=Math.round(e*10)/10;return`${(Number.isInteger(i)?String(i):String(i)).replace(/\.0$/,"")}K`}return`${a}`},Ie=(a,e,i)=>{let{pegRadius:r,spacing:n,viewBoxX:t,viewBoxY:l,viewBoxWidth:o,viewBoxHeight:s}=e;a.setAttribute("viewBox",`${t} ${l} ${o} ${s}`),a.setAttribute("overflow","visible");let d="http://www.w3.org/2000/svg";while(a.firstChild)a.removeChild(a.firstChild);let m=50+r,h=n,f=n;for(let v=0;v<i;++v){let g=m+v*f,x=3+v,z=(x-1)*h,p=(I1.WIDTH-z)/2;for(let w=0;w<x;++w){let b=p+w*h,y=document.createElementNS(d,"circle");y.setAttribute("cx",`${b}`),y.setAttribute("cy",`${g}`),y.setAttribute("r",`${r}`),y.setAttribute("fill","#ffffff"),a.appendChild(y)}}},K6=(a,e,i,r)=>{let{viewBoxX:n,viewBoxY:t,viewBoxWidth:l,viewBoxHeight:o}=i;a.setAttribute("viewBox",`${n} ${t} ${l} ${o}`),a.setAttribute("overflow","visible");let s="http://www.w3.org/2000/svg",d=0.6,c=1.5,m=0.12;a.querySelectorAll("circle[data-id]").forEach((w)=>{let b=w.parentElement;if(b&&b===a)a.removeChild(w)});let h=a.querySelector("g.balls-group");if(!h)h=document.createElementNS(s,"g"),h.setAttribute("class","balls-group"),a.appendChild(h);let f=new Map;h.querySelectorAll("g[data-id]").forEach((w)=>{let b=w.getAttribute("data-id")||"";if(b)f.set(b,w)});let v=new Set,g=performance.now(),{spawnMap:x,reduceMotion:z,useOrnaments:p}=r;for(let w of e){v.add(w.betId);let b=f.get(w.betId);if(!b){if(b=document.createElementNS(s,"g"),b.setAttribute("data-id",w.betId),p){let j=document.createElementNS(s,"image");j.setAttribute("class","ball-image"),j.setAttribute("href",x0(Math.floor(Math.random()*$0.length))),b.appendChild(j)}else{let j=document.createElementNS(s,"circle");j.setAttribute("class","ball-base");let T=document.createElementNS(s,"circle");T.setAttribute("class","ball-ring"),b.appendChild(j),b.appendChild(T)}h.appendChild(b),x.set(w.betId,g)}let y=1,I=1,O=x.get(w.betId);if(O!==void 0&&!z){let j=Math.min(1,(g-O)/160),A=0.6+0.4*(j*(2-j));if(y*=A,I*=A,j>=1)x.delete(w.betId)}if(!z&&(y!==1||I!==1)){let j=y,T=I,A=w.x-w.x*j,V=w.y-w.y*T;b.setAttribute("transform",`matrix(${j},0,0,${T},${A},${V})`)}else b.removeAttribute("transform");let K=b.querySelector("image");if(K){let j=w.r*2.4;K.setAttribute("x",`${w.x-j/2}`),K.setAttribute("y",`${w.y-j/2}`),K.setAttribute("width",`${j}`),K.setAttribute("height",`${j}`)}else{let[j,T]=b.children;j.setAttribute("cx",`${w.x}`),j.setAttribute("cy",`${w.y}`),j.setAttribute("r",`${w.r}`);let A=w.r*d;T.setAttribute("cx",`${w.x}`),T.setAttribute("cy",`${w.y}`),T.setAttribute("r",`${A}`),T.setAttribute("stroke-width",`${Math.max(c,w.r*m)}`)}}for(let[w,b]of f)if(!v.has(w))b.parentElement?.removeChild(b)},S6=(a,e,i)=>{let{viewBoxX:r,viewBoxY:n,viewBoxWidth:t,viewBoxHeight:l}=i;a.setAttribute("viewBox",`${r} ${n} ${t} ${l}`),a.setAttribute("overflow","visible");let o="http://www.w3.org/2000/svg",s=a.querySelector("g.pulses-group");if(!s)s=document.createElementNS(o,"g"),s.setAttribute("class","pulses-group"),a.appendChild(s);let d=s.children;for(let c=0;c<e.length;c++){let m=e[c],h=d[c];if(!h)h=document.createElementNS(o,"circle"),s.appendChild(h);h.setAttribute("cx",`${m.x}`),h.setAttribute("cy",`${m.y}`),h.setAttribute("r",`${m.r}`),h.setAttribute("fill",`rgba(255,255,255,${m.alpha.toFixed(3)})`)}for(let c=e.length;c<d.length;c++)d[c].setAttribute("r","0")},O6=(a,e,i,r)=>{let n=N0(a,i,e),t=D0(i,r.customPlinkoEdgeColor,r.customPlinkoCenterColor)[e],{pegRadius:l,canvasCssWidth:o,isDesktop:s}=r,{spacing:d}=I1.getPinConfig(e),c=(e+1)*d,m=c+2*l,h=c/m,f=s?l/2:0,v=Math.max(0,h-f/m),g=o>0?o/m:0,x=Math.max(0,Math.round(f*g));return{payouts:n,colors:t,paddingPx:0,gapPx:x,adjustedBinsWidthPct:v}};class Yi extends X{constructor(){super(...arguments);this.multiplier=0;this.bounceCount=0;this.backgroundColor="";this.shadowColor=""}static styles=[C,x6];animation;updated(a){if(a.has("bounceCount")&&this.bounceCount>0)this.startBounceAnimation()}startBounceAnimation(){let a=0;if(this.animation?.playState==="running")a=new DOMMatrix(getComputedStyle(this.binEl).transform).m42,this.animation.cancel();let e=window.matchMedia("(prefers-reduced-motion: reduce)").matches?0:xe;this.animation=this.binEl.animate([{transform:`translateY(${a}px)`},{transform:"translateY(8px)",offset:0.55},{transform:"translateY(0)"}],{duration:e,easing:"cubic-bezier(0.215, 0.61, 0.355, 1)"}),this.animation.onfinish=()=>this.animation=void 0}render(){let a=R6(this.multiplier),e=a.length>=5?0.75:1;return Z`
|
|
6649
6649
|
<div
|
|
6650
6650
|
class="bin"
|
|
6651
6651
|
style="background-color: ${this.backgroundColor}; --shadow-color: ${this.shadowColor}; --text-scale: ${e}"
|
|
6652
6652
|
>
|
|
6653
6653
|
${a}
|
|
6654
6654
|
</div>
|
|
6655
|
-
`}}u([k({type:Number})],Yi.prototype,"multiplier",void 0),u([k({type:Number})],Yi.prototype,"bounceCount",void 0),u([k({type:String})],Yi.prototype,"backgroundColor",void 0),u([k({type:String})],Yi.prototype,"shadowColor",void 0),u([a1(".bin")],Yi.prototype,"binEl",void 0),Yi=u([J("origami-plinko-bin")],Yi);class I1{static againstNullOrUndefined(a,e){I1.against(a===null||a===void 0,e)}static againstNull(a,e){I1.againstNullOrUndefined(a,e)}static againstUndefined(a,e){I1.againstNullOrUndefined(a,e)}static againstEmptyArray(a,e){I1.against(a.length===0,e)}static againstEmptyCollection(a,e){I1.against(a.size===0,e)}static againstEmptyString(a,e){I1.against(a.length===0,e)}static againstNonInteger(a,e){I1.against(!Number.isInteger(a),e)}static againstNegativeNumber(a,e){I1.against(a<0,e)}static isOfType(a,e,i){I1.against(!e(a),i)}static againstDefined(a,e){I1.against(a!==null&&a!==void 0,e)}static againstNever(a,e){throw this.createError(e)}static against(a,e){if(!a)return;throw this.createError(e)}static createError(a){return typeof a==="function"?a():new Error(a)}}var D6=w1(F6(),1);var o1=function(a){return a[a.None=0]="None",a[a.Mutable=1]="Mutable",a[a.Watching=2]="Watching",a[a.RecursedCheck=4]="RecursedCheck",a[a.Recursed=8]="Recursed",a[a.Dirty=16]="Dirty",a[a.Pending=32]="Pending",a}({});function Al({update:a,notify:e,unwatched:i}){return{link:r,unlink:n,propagate:t,checkDirty:l,shallowPropagate:o};function r(d,c,m){let h=c.depsTail;if(h!==void 0&&h.dep===d)return;let f=h!==void 0?h.nextDep:c.deps;if(f!==void 0&&f.dep===d){f.version=m,c.depsTail=f;return}let v=d.subsTail;if(v!==void 0&&v.version===m&&v.sub===c)return;let g=c.depsTail=d.subsTail={version:m,dep:d,sub:c,prevDep:h,nextDep:f,prevSub:v,nextSub:void 0};if(f!==void 0)f.prevDep=g;if(h!==void 0)h.nextDep=g;else c.deps=g;if(v!==void 0)v.nextSub=g;else d.subs=g}function n(d,c=d.sub){let{dep:m,prevDep:h,nextDep:f,nextSub:v,prevSub:g}=d;if(f!==void 0)f.prevDep=h;else c.depsTail=h;if(h!==void 0)h.nextDep=f;else c.deps=f;if(v!==void 0)v.prevSub=g;else m.subsTail=g;if(g!==void 0)g.nextSub=v;else if((m.subs=v)===void 0)i(m);return f}function t(d){let c=d.nextSub,m;a:do{let h=d.sub,f=h.flags;if(!(f&(o1.RecursedCheck|o1.Recursed|o1.Dirty|o1.Pending)))h.flags=f|o1.Pending;else if(!(f&(o1.RecursedCheck|o1.Recursed)))f=o1.None;else if(!(f&o1.RecursedCheck))h.flags=f&~o1.Recursed|o1.Pending;else if(!(f&(o1.Dirty|o1.Pending))&&s(d,h))h.flags=f|(o1.Recursed|o1.Pending),f&=o1.Mutable;else f=o1.None;if(f&o1.Watching)e(h);if(f&o1.Mutable){let v=h.subs;if(v!==void 0){let g=(d=v).nextSub;if(g!==void 0)m={value:c,prev:m},c=g;continue}}if((d=c)!==void 0){c=d.nextSub;continue}while(m!==void 0)if(d=m.value,m=m.prev,d!==void 0){c=d.nextSub;continue a}break}while(!0)}function l(d,c){let m,h=0,f=!1;a:do{let v=d.dep,g=v.flags;if(c.flags&o1.Dirty)f=!0;else if((g&(o1.Mutable|o1.Dirty))===(o1.Mutable|o1.Dirty)){if(a(v)){let x=v.subs;if(x.nextSub!==void 0)o(x);f=!0}}else if((g&(o1.Mutable|o1.Pending))===(o1.Mutable|o1.Pending)){if(d.nextSub!==void 0||d.prevSub!==void 0)m={value:d,prev:m};d=v.deps,c=v,++h;continue}if(!f){let x=d.nextDep;if(x!==void 0){d=x;continue}}while(h--){let x=c.subs,z=x.nextSub!==void 0;if(z)d=m.value,m=m.prev;else d=x;if(f){if(a(c)){if(z)o(x);c=d.sub;continue}f=!1}else c.flags&=~o1.Pending;c=d.sub;let p=d.nextDep;if(p!==void 0){d=p;continue a}}return f}while(!0)}function o(d){do{let c=d.sub,m=c.flags;if((m&(o1.Pending|o1.Dirty))===o1.Pending){if(c.flags=m|o1.Dirty,(m&(o1.Watching|o1.RecursedCheck))===o1.Watching)e(c)}}while((d=d.nextSub)!==void 0)}function s(d,c){let m=c.depsTail;while(m!==void 0){if(m===d)return!0;m=m.prevDep}return!1}}function E6(a,e,i){let r=typeof a==="object",n=r?a:void 0;return{next:(r?a.next:a)?.bind(n),error:(r?a.error:e)?.bind(n),complete:(r?a.complete:i)?.bind(n)}}var Xi=[],Re=0,{link:j6,unlink:Jl,propagate:Vl,checkDirty:T6,shallowPropagate:q6}=Al({update(a){return a._update()},notify(a){Xi[Ci++]=a,a.flags&=~o1.Watching},unwatched(a){if(a.depsTail!==void 0)a.depsTail=void 0,a.flags=o1.Mutable|o1.Dirty,Ke(a)}}),He=0,Ci=0,Ta;function Ke(a){let e=a.depsTail,i=e!==void 0?e.nextDep:a.deps;while(i!==void 0)i=Jl(i,a)}function Wl(){while(He<Ci){let a=Xi[He];Xi[He++]=void 0,a.notify()}He=0,Ci=0}function Di(a,e){let i=typeof a==="function",r=a,n={_snapshot:i?void 0:a,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:i?o1.None:o1.Mutable,get(){if(Ta!==void 0)j6(n,Ta,Re);return n._snapshot},subscribe(t){let l=E6(t),o={current:!1},s=$l(()=>{if(n.get(),!o.current)o.current=!0;else l.next?.(n._snapshot)});return{unsubscribe:()=>{s.stop()}}},_update(t){let l=Ta,o=e?.compare??Object.is;if(Ta=n,++Re,n.depsTail=void 0,i)n.flags=o1.Mutable|o1.RecursedCheck;try{let s=n._snapshot,c=typeof t==="function"?t(s):t===void 0&&i?r((m)=>m.get(),s):t;if(s===void 0||!o(s,c))return n._snapshot=c,!0;return!1}finally{if(Ta=l,i)n.flags&=~o1.RecursedCheck;Ke(n)}}};if(i)n.flags=o1.Mutable|o1.Dirty,n.get=function(){let t=n.flags;if(t&o1.Dirty||t&o1.Pending&&T6(n.deps,n)){if(n._update()){let l=n.subs;if(l!==void 0)q6(l)}}else if(t&o1.Pending)n.flags=t&~o1.Pending;if(Ta!==void 0)j6(n,Ta,Re);return n._snapshot};else n.set=function(t){if(n._update(t)){let l=n.subs;if(l!==void 0)Vl(l),q6(l),Wl()}};return n}function $l(a){let e=()=>{let r=Ta;Ta=i,++Re,i.depsTail=void 0,i.flags=o1.Watching|o1.RecursedCheck;try{return a()}finally{Ta=r,i.flags&=~o1.RecursedCheck,Ke(i)}},i={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:o1.Watching|o1.RecursedCheck,notify(){let r=this.flags;if(r&o1.Dirty||r&o1.Pending&&T6(this.deps,this))e();else this.flags=o1.Watching},stop(){this.flags=o1.None,this.depsTail=void 0,Ke(this)}};return e(),i}var Ql=(()=>typeof Symbol==="function"&&Symbol.observable||"@@observable")(),G0=new WeakMap;function Ni(a,e){let i,r=a.getInitialSnapshot(),n=r,t=Di(n),l=(c)=>{if(!i)return;let m=c.type,h=i.get(m);if(h)h.forEach((v)=>v(c));let f=i.get("*");if(f)f.forEach((v)=>v(c))},o=a.transition;function s(c){let[m,h]=o(n,c);n=m,G0.get(d)?.forEach((f)=>{f.next?.({type:"@xstate.snapshot",event:c,snapshot:m,actorRef:d,rootId:d.sessionId})}),t.set(m);for(let f of h)if(typeof f==="function")f();else e?.[f.type]?.(f),l(f)}let d={get _snapshot(){return t._snapshot},on(c,m){if(!i)i=new Map;let h=i.get(c);if(!h)h=new Set,i.set(c,h);let f=m.bind(void 0);return h.add(f),{unsubscribe(){h.delete(f)}}},transition:a.transition,sessionId:Xl(),send(c){G0.get(d)?.forEach((m)=>{m.next?.({type:"@xstate.event",event:c,sourceRef:void 0,actorRef:d,rootId:d.sessionId})}),s(c)},getSnapshot(){return n},get(){return t.get()},getInitialSnapshot(){return r},subscribe:t.subscribe.bind(t),[Ql](){return this},inspect:(c)=>{let m=E6(c);return G0.set(d,G0.get(d)??new Set),G0.get(d).add(m),m.next?.({type:"@xstate.actor",actorRef:d,rootId:d.sessionId}),m.next?.({type:"@xstate.snapshot",snapshot:r,event:{type:"@xstate.init"},actorRef:d,rootId:d.sessionId}),{unsubscribe(){return G0.get(d)?.delete(m)}}},trigger:new Proxy({},{get:(c,m)=>{return(h)=>{d.send({...h,type:m})}}}),select(c,m=Object.is){return Di(()=>c(d.get().context),{compare:m})},with(c){let m=c(a);return Ni(m)}};return d}function Gi(a){if("transition"in a)return Ni(a);let e=Yl(a.on);return Ni({getInitialSnapshot:()=>({status:"active",context:a.context,output:void 0,error:void 0}),transition:e},a.emits)}function Yl(a,e){return(i,r)=>{let n=i.context,t=a?.[r.type],l=[],o={emit:new Proxy({},{get:(d,c)=>{return(m)=>{l.push({...m,type:c})}}}),effect:(d)=>{l.push(d)}};if(!t)return[i,l];let s=e?e(n,(d)=>t(d,r,o)):t(n,r,o)??n;return[s===n?i:{...i,context:s},l]}}function Xl(){return Math.random().toString(36).slice(6)}var Cl;((a)=>{a.DICE="DICE",a.MINES="MINES",a.KENO="KENO",a.LIMBO="LIMBO",a.ADVANCED_DICE="ADVANCED_DICE",a.BACCARAT="BACCARAT",a.DIAMONDS="DIAMONDS",a.PLINKO="PLINKO",a.ROULETTE="ROULETTE",a.WHEEL="WHEEL",a.BLACKJACK="BLACKJACK"})(Cl||={});class Pi{gameId;constructor(a){this.gameId=a}getGameResult(a){return this.determineGameResult(a)}}var Dl;((a)=>a.INPUT_VALIDATION_ERROR="INPUT_VALIDATION_ERROR")(Dl||={});class F1 extends Error{static createValidationError(a){return new F1("INPUT_VALIDATION_ERROR",a)}static isGameError(a){return a instanceof F1}errorCode;constructor(a,e){super(e);this.errorCode=a}}var Nl;((a)=>{a.ROLL_BETWEEN="ROLL_BETWEEN",a.ROLL_OUTSIDE="ROLL_OUTSIDE",a.ROLL_BETWEEN_TWO="ROLL_BETWEEN_TWO"})(Nl||={});var Gl=["Clubs","Diamonds","Hearts","Spades"],Pl=["Ace","2","3","4","5","6","7","8","9","10","Jack","Queen","King"],K2;((a)=>{a.PLAYER_WIN="PLAYER_WIN",a.TIE="TIE",a.BANKER_WIN="BANKER_WIN"})(K2||={});var m1;((a)=>{a.PLAYER="PLAYER",a.TIE="TIE",a.BANKER="BANKER"})(m1||={});var Ul={["PLAYER_WIN"]:{betType:"PLAYER",multiplier:2},["TIE"]:{betType:"TIE",multiplier:9},["BANKER_WIN"]:{betType:"BANKER",multiplier:1.95}},Ui=(a)=>{return new S(0).add(a.bets.reduce((e,i)=>e.add(i.amount),new S(0)))};class Bi extends Pi{constructor(){super("BACCARAT")}determineGameResult({generator:a,gameInputs:e,edge:i}){if(i!==1)throw new Error("Baccarat is only available at 1% edge.");this.validateGameInputs(e);let r=a.getRandomIntsWithReplacement({min:0,max:51,count:6}),n=r.values,t=n.slice(0,3),l=n.slice(3,6),o=[],s=0;for(let x of t.slice(0,2)){let z=this.mapRandomValueToCard(x),p=this.mapRandomValueToCardValue(x);o.push(z),s=(s+p)%10}let d=[],c=0;for(let x of l.slice(0,2)){let z=this.mapRandomValueToCard(x),p=this.mapRandomValueToCardValue(x);d.push(z),c=(c+p)%10}if(!this.isNaturalWin(s,c)){let x=this.shouldDrawThirdPlayerCard(s),z=null;if(x)z=this.mapRandomValueToCardValue(t[2]),o.push(this.mapRandomValueToCard(t[2])),s=(s+z)%10;if(this.shouldDrawThirdBankerCard(c,z))d.push(this.mapRandomValueToCard(l[2])),c=(c+this.mapRandomValueToCardValue(l[2]))%10}let m;if(s===c)m="TIE";else m=s>c?"PLAYER_WIN":"BANKER_WIN";let h=Ui(e),{betType:f,multiplier:v}=Ul[m],g=new S(0);if(g=g.add(e.bets.filter((x)=>x.type===f).reduce((x,z)=>x.add(z.amount.mul(v)),new S(0))),m==="TIE")g=g.add(e.bets.filter((x)=>x.type==="PLAYER"||x.type==="BANKER").reduce((x,z)=>x.add(z.amount),new S(0)));return{isFinished:!0,payoutMultiplier:h.gt(0)?g.div(h):new S(0),outputs:{playerCards:o,playerHandValue:s,bankerCards:d,bankerHandValue:c,gameOutcome:m,result:r.values},randomValues:r}}validateGameInputs(a){if(a.bets.length===0)throw new Error("Must place at least a single bet.");if(!a.bets.every((e)=>e.amount.gte(0)))throw new Error("Invalid bet.")}mapRandomValueToCard(a){let e=Gl[Math.floor(a/13)],i=Pl[a%13];return{suit:e,rank:i}}isNaturalWin(a,e){let i=[8,9];return i.includes(a)||i.includes(e)}mapRandomValueToCardValue(a){let e=a%13;if(e===0)return 1;if(e>=10)return 10;return e+1}shouldDrawThirdPlayerCard(a){return a<=5}shouldDrawThirdBankerCard(a,e){if(e===null)return a<=5;if(a<=2)return!0;if(a===3)return e!==8;if(a===4)return[2,3,4,5,6,7].includes(e);if(a===5)return[4,5,6,7].includes(e);if(a===6)return[6,7].includes(e);return!1}}var Bl;((a)=>{a.START="START",a.HIT="HIT",a.STAND="STAND"})(Bl||={});var _l=0,ao=51,$6=Array.from({length:52},(a,e)=>e),eo=["Spades","Hearts","Diamonds","Clubs"],Q6=["Ace","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King"],io=["Jack","Queen","King"];class Y6{value;constructor(a){let e=$6[a];I1.againstNullOrUndefined(e,`Invalid card value: ${a}`),this.value=e}get suit(){let a=Math.floor(this.value/13),e=eo[a];return I1.againstNullOrUndefined(e,`Invalid suit index: ${a}`),e}get rank(){let a=this.value%13,e=Q6[a];return I1.againstNullOrUndefined(e,`Invalid rank index: ${a}`),e}toDto(){return{rank:this.rank,suit:this.suit,cardValue:this.value}}}var ro=2.5,no=2,to=1,lo=0,oo=17,L6=21,X6=21,A6=63,J6=10,so=10;class U0 extends Y6{get numericRank(){if(io.includes(this.rank))return so;return Q6.indexOf(this.rank)+1}static fromValue(a){return I1.against(!$6.includes(a),`Invalid card value: ${a}`),new U0(a)}}class _i{cards;hardHandValue;softHandValue=null;constructor(a){if(this.cards=a,this.hardHandValue=a.reduce((e,i)=>e+i.numericRank,0),a.some((e)=>e.rank==="Ace")&&this.hardHandValue+J6<=L6)this.softHandValue=this.hardHandValue+J6}get cardCount(){return this.cards.length}get hasSoftHandValue(){return this.softHandValue!==null}get isBusted(){return this.hardHandValue>L6}get isBlackjack(){return this.cardCount===2&&this.highestHandValue===X6}get highestHandValue(){return this.softHandValue!==null?this.softHandValue:this.hardHandValue}}class ar{cards;value;constructor(a){this.cards=a.map((e)=>U0.fromValue(e)),this.value=new _i(this.cards)}get isBusted(){return this.value.isBusted}get isBlackjack(){return this.value.isBlackjack}get highestHandValue(){return this.value.highestHandValue}get rawValues(){return this.cards.map((a)=>a.value)}toDto(){return{cards:this.cards.map((a)=>a.toDto()),value:this.highestHandValue}}}class S2{multipliers;constructor(a){this.multipliers=a}getMultipliers(a){let e=this.multipliers.get(a);if(e===void 0)throw new Error(`Multipliers for ${a} not found`);return e}getAllMultipliers(){return Array.from(this.multipliers.entries()).map(([a,e])=>({edge:a,multipliers:e}))}}var ho;((a)=>{a.PAIR="PAIR",a.TWO_PAIR="TWO_PAIR",a.THREE_OF_A_KIND="THREE_OF_A_KIND",a.FULL_HOUSE="FULL_HOUSE",a.FOUR_OF_A_KIND="FOUR_OF_A_KIND",a.FIVE_OF_A_KIND="FIVE_OF_A_KIND"})(ho||={});var uo={PAIR:0.1,TWO_PAIR:2,THREE_OF_A_KIND:3,FULL_HOUSE:4.3,FOUR_OF_A_KIND:5,FIVE_OF_A_KIND:50},co={PAIR:0.1,TWO_PAIR:2,THREE_OF_A_KIND:3,FULL_HOUSE:4,FOUR_OF_A_KIND:4.8,FIVE_OF_A_KIND:50},fo={PAIR:0.1,TWO_PAIR:2,THREE_OF_A_KIND:3,FULL_HOUSE:3.7,FOUR_OF_A_KIND:4.6,FIVE_OF_A_KIND:50},mo={PAIR:0.1,TWO_PAIR:2,THREE_OF_A_KIND:3,FULL_HOUSE:3.4,FOUR_OF_A_KIND:4.4,FIVE_OF_A_KIND:50},go={PAIR:0.1,TWO_PAIR:2,THREE_OF_A_KIND:2.8,FULL_HOUSE:3.2,FOUR_OF_A_KIND:3.6,FIVE_OF_A_KIND:50},zZ=new S2(new Map([[1,uo],[2,co],[3,fo],[4,mo],[8,go]]));var wo;((a)=>{a.ABOVE="ABOVE",a.BELOW="BELOW"})(wo||={});var vo;((a)=>{a.CLASSIC="CLASSIC",a.LOW_RISK="LOW_RISK",a.MEDIUM_RISK="MEDIUM_RISK",a.HIGH_RISK="HIGH_RISK"})(vo||={});var po={[1]:{CLASSIC:[0,3.96],LOW_RISK:[0.7,1.85],MEDIUM_RISK:[0.4,2.75],HIGH_RISK:[0,3.96]},[2]:{CLASSIC:[0,1.9,4.5],LOW_RISK:[0,2,3.8],MEDIUM_RISK:[0,1.8,5.1],HIGH_RISK:[0,0,17.1]},[3]:{CLASSIC:[0,1,3.1,10.4],LOW_RISK:[0,1.1,1.38,26],MEDIUM_RISK:[0,0,2.8,50],HIGH_RISK:[0,0,0,81.5]},[4]:{CLASSIC:[0,0.8,1.8,5,22.5],LOW_RISK:[0,0,2.2,7.9,90],MEDIUM_RISK:[0,0,1.7,10,100],HIGH_RISK:[0,0,0,10,259]},[5]:{CLASSIC:[0,0.25,1.4,4.1,16.5,36],LOW_RISK:[0,0,1.5,4.2,13,300],MEDIUM_RISK:[0,0,1.4,4,14,390],HIGH_RISK:[0,0,0,4.5,48,450]},[6]:{CLASSIC:[0,0,1,3.68,7,16.5,40],LOW_RISK:[0,0,1.1,2,6.2,100,700],MEDIUM_RISK:[0,0,0,3,9,180,710],HIGH_RISK:[0,0,0,0,11,350,710]},[7]:{CLASSIC:[0,0,0.47,3,4.5,14,31,60],LOW_RISK:[0,0,1.1,1.6,3.5,15,225,700],MEDIUM_RISK:[0,0,0,2,7,30,400,800],HIGH_RISK:[0,0,0,0,7,90,400,800]},[8]:{CLASSIC:[0,0,0,2.2,4,13,22,55,70],LOW_RISK:[0,0,1.1,1.5,2,5.5,39,100,800],MEDIUM_RISK:[0,0,0,2,4,11,67,400,900],HIGH_RISK:[0,0,0,0,5,20,270,600,900]},[9]:{CLASSIC:[0,0,0,1.55,3,8,15,44,60,85],LOW_RISK:[0,0,1.1,1.3,1.7,2.5,7.5,50,250,1000],MEDIUM_RISK:[0,0,0,2,2.5,5,15,100,500,1000],HIGH_RISK:[0,0,0,0,4,11,56,500,800,1000]},[10]:{CLASSIC:[0,0,0,1.4,2.25,4.5,8,17,50,80,100],LOW_RISK:[0,0,1.1,1.2,1.3,1.8,3.5,13,50,250,1000],MEDIUM_RISK:[0,0,0,1.6,2,4,7,26,100,500,1000],HIGH_RISK:[0,0,0,0,3.5,8,13,63,500,800,1000]}},ko={[1]:{CLASSIC:[0,3.92],LOW_RISK:[0.7,1.82],MEDIUM_RISK:[0.4,2.72],HIGH_RISK:[0,3.92]},[2]:{CLASSIC:[0,1.9,4.32],LOW_RISK:[0,2,3.65],MEDIUM_RISK:[0,1.8,5],HIGH_RISK:[0,0,17]},[3]:{CLASSIC:[0,1,3,10.7],LOW_RISK:[0,1.1,1.3,26.2],MEDIUM_RISK:[0,0,2.7,50.3],HIGH_RISK:[0,0,0,80.7]},[4]:{CLASSIC:[0,0.8,1.8,4.75,22.5],LOW_RISK:[0,0,2.2,7.65,90],MEDIUM_RISK:[0,0,1.7,9.8,100],HIGH_RISK:[0,0,0,9.75,259]},[5]:{CLASSIC:[0,0.2,1.4,4.25,16.4,36],LOW_RISK:[0,0,1.5,4.1,12.9,300],MEDIUM_RISK:[0,0,1.4,3.9,13.9,390],HIGH_RISK:[0,0,0,4.5,47,450]},[6]:{CLASSIC:[0,0,1,3.6,7,17,40],LOW_RISK:[0,0,1.1,2,5.8,100,700],MEDIUM_RISK:[0,0,0,3,8.6,180,710],HIGH_RISK:[0,0,0,0,10.6,350,710]},[7]:{CLASSIC:[0,0,0.5,3,4.1,13.7,31,60],LOW_RISK:[0,0,1.1,1.6,3.5,13.5,225,700],MEDIUM_RISK:[0,0,0,2,6.9,29.2,400,800],HIGH_RISK:[0,0,0,0,6.9,89.1,400,800]},[8]:{CLASSIC:[0,0,0,2.2,4,12.2,22,55,70],LOW_RISK:[0,0,1.1,1.5,2,4.8,38,100,800],MEDIUM_RISK:[0,0,0,2,4,10.4,66,400,900],HIGH_RISK:[0,0,0,0,4.9,19.8,270,600,900]},[9]:{CLASSIC:[0,0,0,1.5,3,8.1,15,45,60,85],LOW_RISK:[0,0,1.1,1.3,1.7,2.1,7.4,50,250,1000],MEDIUM_RISK:[0,0,0,2,2.5,4.6,15.2,100,500,1000],HIGH_RISK:[0,0,0,0,4,10.7,55.4,500,800,1000]},[10]:{CLASSIC:[0,0,0,1.4,2.2,4.5,7.6,16,50,80,100],LOW_RISK:[0,0,1.1,1.2,1.3,1.6,3.7,13,50,250,1000],MEDIUM_RISK:[0,0,0,1.6,2,3.8,6.8,26,100,500,1000],HIGH_RISK:[0,0,0,0,3.5,7.8,12.8,63,500,800,1000]}},bo={[1]:{CLASSIC:[0,3.88],LOW_RISK:[0.7,1.78],MEDIUM_RISK:[0.4,2.68],HIGH_RISK:[0,3.88]},[2]:{CLASSIC:[0,1.85,4.48],LOW_RISK:[0,2,3.48],MEDIUM_RISK:[0,1.8,4.8],HIGH_RISK:[0,0,16.8]},[3]:{CLASSIC:[0,1,3,9.9],LOW_RISK:[0,1.1,1.2,26.5],MEDIUM_RISK:[0,0,2.65,50],HIGH_RISK:[0,0,0,79.9]},[4]:{CLASSIC:[0,0.8,1.7,5,23],LOW_RISK:[0,0,2.1,7.95,90],MEDIUM_RISK:[0,0,1.7,9.55,100],HIGH_RISK:[0,0,0,9.5,259]},[5]:{CLASSIC:[0,0.2,1.4,4.1,16.6,36],LOW_RISK:[0,0,1.5,4,12.7,300],MEDIUM_RISK:[0,0,1.4,3.8,13.7,390],HIGH_RISK:[0,0,0,4.4,46.9,450]},[6]:{CLASSIC:[0,0,1,3.6,6.6,16.5,40],LOW_RISK:[0,0,1.1,1.9,5.9,100,700],MEDIUM_RISK:[0,0,0,2.9,8.7,180,710],HIGH_RISK:[0,0,0,0,10.8,342,710]},[7]:{CLASSIC:[0,0,0.5,2.9,4.3,13.5,30.4,60],LOW_RISK:[0,0,1.1,1.6,3.1,14.8,225,700],MEDIUM_RISK:[0,0,0,2,6.7,29,400,800],HIGH_RISK:[0,0,0,0,6.8,88.2,400,800]},[8]:{CLASSIC:[0,0,0,2.2,3.8,12.7,21,54,70],LOW_RISK:[0,0,1.1,1.5,1.8,5.2,38,100,800],MEDIUM_RISK:[0,0,0,2,3.8,10.8,66,400,900],HIGH_RISK:[0,0,0,0,4.9,19.5,265,600,900]},[9]:{CLASSIC:[0,0,0,1.5,2.9,8.2,15,43,60,85],LOW_RISK:[0,0,1.1,1.3,1.6,2.1,7.7,49,250,1000],MEDIUM_RISK:[0,0,0,2,2.4,4.7,15,98,500,1000],HIGH_RISK:[0,0,0,0,3.9,10.8,55,500,800,1000]},[10]:{CLASSIC:[0,0,0,1.4,2.2,4.2,8,16.7,50,80,100],LOW_RISK:[0,0,1.1,1.2,1.3,1.5,2.9,12,50,250,1000],MEDIUM_RISK:[0,0,0,1.6,2,3.6,6.6,26,100,500,1000],HIGH_RISK:[0,0,0,0,3.4,7.9,12.9,62,500,800,1000]}},zo={[1]:{CLASSIC:[0,3.88],LOW_RISK:[0.68,1.84],MEDIUM_RISK:[0.38,2.74],HIGH_RISK:[0,3.88]},[2]:{CLASSIC:[0,1.85,4.48],LOW_RISK:[0,1.96,3.75],MEDIUM_RISK:[0,1.77,5],HIGH_RISK:[0,0,16.82]},[3]:{CLASSIC:[0,1,3.05,9.35],LOW_RISK:[0,1.07,1.37,25.7],MEDIUM_RISK:[0,0,2.74,49],HIGH_RISK:[0,0,0,79.9]},[4]:{CLASSIC:[0,0.8,1.72,4.95,22.3],LOW_RISK:[0,0,2.15,7.86,87],MEDIUM_RISK:[0,0,1.67,9.7,100],HIGH_RISK:[0,0,0,9.7,256]},[5]:{CLASSIC:[0,0.24,1.38,4,16.3,35.5],LOW_RISK:[0,0,1.48,4.1,12.43,300],MEDIUM_RISK:[0,0,1.35,3.96,13.8,389],HIGH_RISK:[0,0,0,4.4,47,444]},[6]:{CLASSIC:[0,0,1,3.57,6.8,16.2,37],LOW_RISK:[0,0,1.06,1.96,6.16,99,700],MEDIUM_RISK:[0,0,0,2.9,8.9,178,709],HIGH_RISK:[0,0,0,0,10.4,347,709]},[7]:{CLASSIC:[0,0,0.45,2.95,4.44,13.85,30,60],LOW_RISK:[0,0,1.07,1.57,3.47,14.57,225,700],MEDIUM_RISK:[0,0,0,1.95,6.8,29.8,400,800],HIGH_RISK:[0,0,0,0,6.8,88.2,400,800]},[8]:{CLASSIC:[0,0,0,2.15,3.9,12.9,21.9,55,70],LOW_RISK:[0,0,1.08,1.45,1.98,5.48,38.8,100,800],MEDIUM_RISK:[0,0,0,1.95,3.96,10.6,66.9,396,896],HIGH_RISK:[0,0,0,0,4.9,19.2,269,599,896]},[9]:{CLASSIC:[0,0,0,1.5,2.95,7.96,14.96,44,60,85],LOW_RISK:[0,0,1.05,1.29,1.69,2.49,7.49,49,250,1000],MEDIUM_RISK:[0,0,0,1.95,2.47,4.9,14.9,99,500,1000],HIGH_RISK:[0,0,0,0,3.96,10.5,55,500,800,1000]},[10]:{CLASSIC:[0,0,0,1.37,2.2,4.45,7.7,16.7,50,80,100],LOW_RISK:[0,0,1.08,1.18,1.28,1.76,3.4,12.9,50,250,1000],MEDIUM_RISK:[0,0,0,1.57,1.95,3.96,6.9,25.5,100,500,1000],HIGH_RISK:[0,0,0,0,3.43,7.9,12.5,60,500,800,1000]}},yo={[1]:{CLASSIC:[0,3.68],LOW_RISK:[0.7,1.58],MEDIUM_RISK:[0.4,2.48],HIGH_RISK:[0,3.68]},[2]:{CLASSIC:[0,1.72,4.48],LOW_RISK:[0,1.9,3.28],MEDIUM_RISK:[0,1.7,4.62],HIGH_RISK:[0,0,15.95]},[3]:{CLASSIC:[0,0.9,2.95,9.9],LOW_RISK:[0,1,1.2,26],MEDIUM_RISK:[0,0,2.29,50],HIGH_RISK:[0,0,0,75.7]},[4]:{CLASSIC:[0,0.8,1.6,4.4,21],LOW_RISK:[0,0,2,7.5,86],MEDIUM_RISK:[0,0,1.5,9.5,98],HIGH_RISK:[0,0,0,9,246]},[5]:{CLASSIC:[0,0.2,1.2,4.2,16.3,37],LOW_RISK:[0,0,1.4,3.8,12,300],MEDIUM_RISK:[0,0,1.3,3.5,14,385],HIGH_RISK:[0,0,0,4,45,450]},[6]:{CLASSIC:[0,0,1,3.3,6.2,15,40],LOW_RISK:[0,0,1.1,1.7,4.9,99,700],MEDIUM_RISK:[0,0,0,2.6,8.5,177,705],HIGH_RISK:[0,0,0,0,10,327,710]},[7]:{CLASSIC:[0,0,0.4,2.8,4.2,14.5,30,60],LOW_RISK:[0,0,1.1,1.4,3,14,210,700],MEDIUM_RISK:[0,0,0,1.8,6.4,29,400,800],HIGH_RISK:[0,0,0,0,6.1,85,400,800]},[8]:{CLASSIC:[0,0,0,2,3.7,13,20,50,70],LOW_RISK:[0,0,1.1,1.4,1.6,4.6,35,90,800],MEDIUM_RISK:[0,0,0,1.9,3.5,10.5,65,400,900],HIGH_RISK:[0,0,0,0,4.5,18,265,600,900]},[9]:{CLASSIC:[0,0,0,1.4,2.6,9,11.5,40,60,85],LOW_RISK:[0,0,1,1.3,1.5,2,7,45,250,1000],MEDIUM_RISK:[0,0,0,2,2.1,4,15,98,500,1000],HIGH_RISK:[0,0,0,0,3.5,10.5,55,500,800,1000]},[10]:{CLASSIC:[0,0,0,1.3,2,4.4,8,16.7,50,80,100],LOW_RISK:[0,0,1,1.2,1.25,1.4,2,10,50,250,1000],MEDIUM_RISK:[0,0,0,1.5,1.9,3.5,6.2,26,100,500,1000],HIGH_RISK:[0,0,0,0,3,8,14,57,500,800,1000]}},IZ=new S2(new Map([[1,po],[2,ko],[3,bo],[4,zo],[8,yo]]));var xo;((a)=>{a.LOW_RISK="LOW_RISK",a.MEDIUM_RISK="MEDIUM_RISK",a.HIGH_RISK="HIGH_RISK"})(xo||={});var Zo={LOW_RISK:{8:[6,2.1,1.1,1,0.5,1,1.1,2.1,6],9:[6,2,1.6,1,0.7,0.7,1,1.6,2,6],10:[9,3,1.4,1.1,1,0.5,1,1.1,1.4,3,9],11:[8,3,1.9,1.3,1,0.7,0.7,1,1.3,1.9,3,8],12:[10,3,1.6,1.4,1.1,1,0.5,1,1.1,1.4,1.6,3,10],13:[8,4,3,1.9,1.2,0.9,0.7,0.7,0.9,1.2,1.9,3,4,8],14:[7,4,1.9,1.4,1.3,1.1,1,0.5,1,1.1,1.3,1.4,1.9,4,7],15:[15,8,3,2,1.5,1.1,1,0.7,0.7,1,1.1,1.5,2,3,8,15],16:[16,9,2,1.4,1.4,1.2,1.1,1,0.5,1,1.1,1.2,1.4,1.4,2,9,16]},MEDIUM_RISK:{8:[13,3,1.3,0.7,0.4,0.7,1.3,3,13],9:[18,4,1.7,0.9,0.5,0.5,0.9,1.7,4,18],10:[22,5,2,1.4,0.6,0.4,0.6,1.4,2,5,22],11:[24,6,3,1.8,0.7,0.5,0.5,0.7,1.8,3,6,24],12:[33,11,4,2,1.1,0.6,0.3,0.6,1.1,2,4,11,33],13:[43,13,6,3,1.3,0.7,0.4,0.4,0.7,1.3,3,6,13,43],14:[58,15,7,4,1.9,1,0.5,0.2,0.5,1,1.9,4,7,15,58],15:[88,18,11,5,3,1.3,0.5,0.3,0.3,0.5,1.3,3,5,11,18,88],16:[110,41.1,10,5,3,1.5,1,0.5,0.3,0.5,1,1.5,3,5,10,41.1,110]},HIGH_RISK:{8:[29,4,1.5,0.3,0.2,0.3,1.5,4,29],9:[43,7,2,0.6,0.2,0.2,0.6,2,7,43],10:[76,10,3,0.9,0.3,0.2,0.3,0.9,3,10,76],11:[120,13.9,5.2,1.4,0.4,0.2,0.2,0.4,1.4,5.2,13.9,120],12:[170,23.8,8.1,2,0.7,0.2,0.2,0.2,0.7,2,8.1,23.8,170],13:[260,36.7,11,4,1,0.2,0.2,0.2,0.2,1,4,11,36.7,260],14:[420,56.1,18,5,1.9,0.3,0.2,0.2,0.2,0.3,1.9,5,18,56.1,420],15:[620,82.8,27,8,3,0.5,0.2,0.2,0.2,0.2,0.5,3,8,27,82.8,620],16:[1000,129.9,26.1,9,4,2,0.2,0.2,0.2,0.2,0.2,2,4,9,26.1,129.9,1000]}},Io={LOW_RISK:{8:[6,1.9,1.1,1,0.5,1,1.1,1.9,6],9:[6,1.7,1.6,1,0.7,0.7,1,1.6,1.7,6],10:[9,2.5,1.4,1.1,1,0.5,1,1.1,1.4,2.5,9],11:[9,2.5,1.8,1.3,1,0.7,0.7,1,1.3,1.8,2.5,9],12:[10,3.2,1.6,1.3,1.1,1,0.5,1,1.1,1.3,1.6,3.2,10],13:[8,3.7,2.9,1.8,1.2,0.9,0.7,0.7,0.9,1.2,1.8,2.9,3.7,8],14:[7,4,1.8,1.2,1.3,1.1,1,0.5,1,1.1,1.3,1.2,1.8,4,7],15:[15,7.6,2.8,2,1.4,1.1,1,0.7,0.7,1,1.1,1.4,2,2.8,7.6,15],16:[16,9,1.7,1.2,1.3,1.2,1.1,1,0.5,1,1.1,1.2,1.3,1.2,1.7,9,16]},MEDIUM_RISK:{8:[13,3.2,1.4,0.6,0.4,0.6,1.4,3.2,13],9:[18,3.7,1.7,0.9,0.5,0.5,0.9,1.7,3.7,18],10:[22,5,1.9,1.4,0.6,0.4,0.6,1.4,1.9,5,22],11:[24,6,2.8,1.8,0.7,0.5,0.5,0.7,1.8,2.8,6,24],12:[33,11.1,4,1.9,1.1,0.6,0.3,0.6,1.1,1.9,4,11.1,33],13:[43,13.7,6.1,2.8,1.3,0.7,0.4,0.4,0.7,1.3,2.8,6.1,13.7,43],14:[58,13.7,6.7,3.9,1.9,1,0.5,0.2,0.5,1,1.9,3.9,6.7,13.7,58],15:[88,17.7,10.8,5,2.9,1.3,0.5,0.3,0.3,0.5,1.3,2.9,5,10.8,17.7,88],16:[110,40.5,9.8,4.8,2.9,1.5,1,0.5,0.3,0.5,1,1.5,2.9,4.8,9.8,40.5,110]},HIGH_RISK:{8:[29,3.8,1.5,0.3,0.2,0.3,1.5,3.8,29],9:[43,7.1,1.9,0.6,0.2,0.2,0.6,1.9,7.1,43],10:[76,9.9,2.9,0.9,0.3,0.2,0.3,0.9,2.9,9.9,76],11:[120,13.4,5.1,1.4,0.4,0.2,0.2,0.4,1.4,5.1,13.4,120],12:[170,23.2,7.9,2,0.7,0.2,0.2,0.2,0.7,2,7.9,23.2,170],13:[260,36.6,10.5,4,1,0.2,0.2,0.2,0.2,1,4,10.5,36.6,260],14:[420,55.5,17.6,4.9,1.9,0.3,0.2,0.2,0.2,0.3,1.9,4.9,17.6,55.5,420],15:[620,82.3,26.8,7.7,3,0.5,0.2,0.2,0.2,0.2,0.5,3,7.7,26.8,82.3,620],16:[1000,129.8,25.2,8.6,4,2,0.2,0.2,0.2,0.2,0.2,2,4,8.6,25.2,129.8,1000]}},Ho={LOW_RISK:{8:[6,2.2,1.1,1,0.4,1,1.1,2.2,6],9:[6,1.8,1.5,1,0.7,0.7,1,1.5,1.8,6],10:[9,2.4,1.3,1.1,1,0.5,1,1.1,1.3,2.4,9],11:[8,2.7,1.9,1.2,1,0.7,0.7,1,1.2,1.9,2.7,8],12:[10,3.3,1.6,1.2,1.1,1,0.5,1,1.1,1.2,1.6,3.3,10],13:[8,3.8,2.9,1.9,1.1,0.9,0.7,0.7,0.9,1.1,1.9,2.9,3.8,8],14:[7,3.9,2,1.4,1.3,1.1,1,0.4,1,1.1,1.3,1.4,2,3.9,7],15:[15,7.9,2.5,2,1.3,1.1,1,0.7,0.7,1,1.1,1.3,2,2.5,7.9,15],16:[16,8.9,1.9,1.4,1.4,1.2,1.1,1,0.4,1,1.1,1.2,1.4,1.4,1.9,8.9,16]},MEDIUM_RISK:{8:[13,3.5,1.2,0.7,0.3,0.7,1.2,3.5,13],9:[18,3.8,1.6,0.9,0.5,0.5,0.9,1.6,3.8,18],10:[22,5.2,2,1.3,0.6,0.4,0.6,1.3,2,5.2,22],11:[24,5.6,2.7,1.8,0.7,0.5,0.5,0.7,1.8,2.7,5.6,24],12:[33,11.3,4,1.8,1.1,0.6,0.3,0.6,1.1,1.8,4,11.3,33],13:[43,12.9,5.7,2.8,1.3,0.7,0.4,0.4,0.7,1.3,2.8,5.7,12.9,43],14:[58,13.7,6.9,3.9,1.8,1,0.5,0.2,0.5,1,1.8,3.9,6.9,13.7,58],15:[88,18,10.9,4.9,2.8,1.3,0.5,0.3,0.3,0.5,1.3,2.8,4.9,10.9,18,88],16:[110,39.9,9.9,5,2.9,1.4,1,0.5,0.3,0.5,1,1.4,2.9,5,9.9,39.9,110]},HIGH_RISK:{8:[29,4,1.4,0.3,0.2,0.3,1.4,4,29],9:[43,7.3,2,0.5,0.2,0.2,0.5,2,7.3,43],10:[76,9.8,2.8,0.9,0.3,0.2,0.3,0.9,2.8,9.8,76],11:[120,13.5,4.9,1.4,0.4,0.2,0.2,0.4,1.4,4.9,13.5,120],12:[170,23.3,7.9,1.9,0.7,0.2,0.2,0.2,0.7,1.9,7.9,23.3,170],13:[260,36.2,10.4,3.9,1,0.2,0.2,0.2,0.2,1,3.9,10.4,36.2,260],14:[420,54.8,17.9,4.9,1.8,0.3,0.2,0.2,0.2,0.3,1.8,4.9,17.9,54.8,420],15:[620,81.9,26.6,7.7,2.9,0.5,0.2,0.2,0.2,0.2,0.5,2.9,7.7,26.6,81.9,620],16:[1000,130,24.9,8.4,3.9,2,0.2,0.2,0.2,0.2,0.2,2,3.9,8.4,24.9,130,1000]}},Ro={LOW_RISK:{8:[6,2,1.1,1,0.4,1,1.1,2,6],9:[6,1.9,1.4,1,0.7,0.7,1,1.4,1.9,6],10:[9,2.8,1.1,1.1,1,0.5,1,1.1,1.1,2.8,9],11:[8,2.7,1.7,1.2,1,0.7,0.7,1,1.2,1.7,2.7,8],12:[10,2.7,1.4,1.2,1.1,1,0.5,1,1.1,1.2,1.4,2.7,10],13:[8,3.5,2.8,1.9,1.3,0.9,0.6,0.6,0.9,1.3,1.9,2.8,3.5,8],14:[7,3.3,1.6,1.3,1.3,1.1,1,0.4,1,1.1,1.3,1.3,1.6,3.3,7],15:[15,8,2.9,2,1.4,1.2,1,0.6,0.6,1,1.2,1.4,2,2.9,8,15],16:[16,9.1,2.2,1.4,1.2,1.2,1.1,1,0.4,1,1.1,1.2,1.2,1.4,2.2,9.1,16]},MEDIUM_RISK:{8:[13,2.9,1.2,0.7,0.4,0.7,1.2,2.9,13],9:[18,3.5,1.6,0.9,0.5,0.5,0.9,1.6,3.5,18],10:[22,4.7,2,1.3,0.6,0.4,0.6,1.3,2,4.7,22],11:[24,5.7,2.5,1.8,0.7,0.5,0.5,0.7,1.8,2.5,5.7,24],12:[33,10.7,3.8,1.8,1.1,0.6,0.3,0.6,1.1,1.8,3.8,10.7,33],13:[43,12.6,5.6,2.7,1.3,0.7,0.4,0.4,0.7,1.3,2.7,5.6,12.6,43],14:[58,13.7,6.4,3.8,1.8,1,0.5,0.2,0.5,1,1.8,3.8,6.4,13.7,58],15:[88,17.7,10.7,4.9,2.7,1.3,0.5,0.3,0.3,0.5,1.3,2.7,4.9,10.7,17.7,88],16:[110,39.7,9.6,4.8,2.8,1.4,1,0.5,0.3,0.5,1,1.4,2.8,4.8,9.6,39.7,110]},HIGH_RISK:{8:[29,3.9,1.4,0.3,0.2,0.3,1.4,3.9,29],9:[43,6.9,1.8,0.6,0.2,0.2,0.6,1.8,6.9,43],10:[76,9.8,2.7,0.9,0.3,0.2,0.3,0.9,2.7,9.8,76],11:[120,13.1,5.1,1.3,0.4,0.2,0.2,0.4,1.3,5.1,13.1,120],12:[170,22.7,7.7,1.9,0.7,0.2,0.2,0.2,0.7,1.9,7.7,22.7,170],13:[260,35.9,10.3,3.8,1,0.2,0.2,0.2,0.2,1,3.8,10.3,35.9,260],14:[420,54.2,17.5,4.8,1.8,0.3,0.2,0.2,0.2,0.3,1.8,4.8,17.5,54.2,420],15:[620,80.6,26.1,7.8,2.8,0.5,0.2,0.2,0.2,0.2,0.5,2.8,7.8,26.1,80.6,620],16:[1000,129.7,24.7,8.2,3.8,2,0.2,0.2,0.2,0.2,0.2,2,3.8,8.2,24.7,129.7,1000]}},Ko={LOW_RISK:{8:[5,1.8,1,1,0.4,1,1,1.8,5],9:[5,1.7,1.2,1,0.7,0.7,1,1.2,1.7,5],10:[9,2.8,1.2,1,1,0.4,1,1,1.2,2.8,9],11:[8,2.5,1.6,1,1,0.7,0.7,1,1,1.6,2.5,8],12:[10,2.5,1.3,1.3,1,1,0.4,1,1,1.3,1.3,2.5,10],13:[8,4.1,2.8,1.8,1.1,0.9,0.6,0.6,0.9,1.1,1.8,2.8,4.1,8],14:[7,3.3,1.7,1.2,1.2,1,1,0.4,1,1,1.2,1.2,1.7,3.3,7],15:[15,7.3,2.9,1.9,1.4,1,1,0.6,0.6,1,1,1.4,1.9,2.9,7.3,15],16:[16,8.7,2,1.5,1.3,1,1.1,1,0.3,1,1.1,1,1.3,1.5,2,8.7,16]},MEDIUM_RISK:{8:[13,2.6,1.1,0.7,0.4,0.7,1.1,2.6,13],9:[17,3.3,1.4,0.9,0.5,0.5,0.9,1.4,3.3,17],10:[21,4.1,1.7,1.3,0.6,0.4,0.6,1.3,1.7,4.1,21],11:[23,5.6,2.4,1.6,0.7,0.5,0.5,0.7,1.6,2.4,5.6,23],12:[32,10.2,3.7,1.7,1.1,0.6,0.2,0.6,1.1,1.7,3.7,10.2,32],13:[42,11.7,5.3,2.5,1.2,0.7,0.4,0.4,0.7,1.2,2.5,5.3,11.7,42],14:[56,13.2,5.9,3.6,1.6,1,0.5,0.2,0.5,1,1.6,3.6,5.9,13.2,56],15:[86,17.3,10,4.6,2.6,1.2,0.5,0.3,0.3,0.5,1.2,2.6,4.6,10,17.3,86],16:[107,39,9.9,4.5,2.4,1.3,1,0.5,0.3,0.5,1,1.3,2.4,4.5,9.9,39,107]},HIGH_RISK:{8:[28,3.3,1.4,0.3,0.2,0.3,1.4,3.3,28],9:[42,6.7,1.6,0.6,0.2,0.2,0.6,1.6,6.7,42],10:[74,9.6,2.6,0.9,0.3,0.1,0.3,0.9,2.6,9.6,74],11:[116,12.7,4.8,1.2,0.4,0.2,0.2,0.4,1.2,4.8,12.7,116],12:[165,20.9,7.2,1.8,0.7,0.2,0.2,0.2,0.7,1.8,7.2,20.9,165],13:[252,33.9,10.1,3.4,1,0.2,0.2,0.2,0.2,1,3.4,10.1,33.9,252],14:[407,51.9,16.3,4.6,1.7,0.3,0.2,0.2,0.2,0.3,1.7,4.6,16.3,51.9,407],15:[600,76.9,24.9,7.4,2.6,0.5,0.2,0.2,0.2,0.2,0.5,2.6,7.4,24.9,76.9,600],16:[1000,122,24.5,8,3.7,1.8,0.2,0.2,0.2,0.2,0.2,1.8,3.7,8,24.5,122,1000]}},SZ=new S2(new Map([[1,Zo],[2,Io],[3,Ho],[4,Ro],[8,Ko]]));var C6=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],So=[37,...C6],B0=[[0,1],[0,2],[0,3],[1,2],[1,4],[2,3],[2,5],[3,6],[4,5],[4,7],[5,6],[5,8],[6,9],[7,8],[7,10],[8,9],[8,11],[9,12],[10,11],[10,13],[11,12],[11,14],[12,15],[13,14],[13,16],[14,15],[14,17],[15,18],[16,17],[16,19],[17,18],[17,20],[18,21],[19,20],[19,22],[20,21],[20,23],[21,24],[22,23],[22,25],[23,24],[23,26],[24,27],[25,26],[25,28],[26,27],[26,29],[27,30],[28,29],[28,31],[29,30],[29,32],[30,33],[31,32],[31,34],[32,33],[32,35],[33,36],[34,35],[35,36]],_0=[[0,1],[0,37],[3,37],[1,2],[1,4],[2,3],[2,5],[3,6],[4,5],[4,7],[5,6],[5,8],[6,9],[7,8],[7,10],[8,9],[8,11],[9,12],[10,11],[10,13],[11,12],[11,14],[12,15],[13,14],[13,16],[14,15],[14,17],[15,18],[16,17],[16,19],[17,18],[17,20],[18,21],[19,20],[19,22],[20,21],[20,23],[21,24],[22,23],[22,25],[23,24],[23,26],[24,27],[25,26],[25,28],[26,27],[26,29],[27,30],[28,29],[28,31],[29,30],[29,32],[30,33],[31,32],[31,34],[32,33],[32,35],[33,36],[34,35],[35,36]],a2=[[0,1,2],[0,2,3],[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15],[16,17,18],[19,20,21],[22,23,24],[25,26,27],[28,29,30],[31,32,33],[34,35,36]],e2=[[0,1,2],[0,2,37],[1,2,3],[2,3,37],[4,5,6],[7,8,9],[10,11,12],[13,14,15],[16,17,18],[19,20,21],[22,23,24],[25,26,27],[28,29,30],[31,32,33],[34,35,36]],i2=[[0,1,2,3],[1,2,4,5],[2,3,5,6],[4,5,7,8],[5,6,8,9],[7,8,10,11],[8,9,11,12],[10,11,13,14],[11,12,14,15],[13,14,16,17],[14,15,17,18],[16,17,19,20],[17,18,20,21],[19,20,22,23],[20,21,23,24],[22,23,25,26],[23,24,26,27],[25,26,28,29],[26,27,29,30],[28,29,31,32],[29,30,32,33],[31,32,34,35],[32,33,35,36]],r2=[[1,2,4,5],[2,3,5,6],[4,5,7,8],[5,6,8,9],[7,8,10,11],[8,9,11,12],[10,11,13,14],[11,12,14,15],[13,14,16,17],[14,15,17,18],[16,17,19,20],[17,18,20,21],[19,20,22,23],[20,21,23,24],[22,23,25,26],[23,24,26,27],[25,26,28,29],[26,27,29,30],[28,29,31,32],[29,30,32,33],[31,32,34,35],[32,33,35,36]],Oo=[0,1,2,3,37],Me=[[1,2,3,4,5,6],[4,5,6,7,8,9],[7,8,9,10,11,12],[10,11,12,13,14,15],[13,14,15,16,17,18],[16,17,18,19,20,21],[19,20,21,22,23,24],[22,23,24,25,26,27],[25,26,27,28,29,30],[28,29,30,31,32,33],[31,32,33,34,35,36]],Fe=[[1,2,3,4,5,6],[4,5,6,7,8,9],[7,8,9,10,11,12],[10,11,12,13,14,15],[13,14,15,16,17,18],[16,17,18,19,20,21],[19,20,21,22,23,24],[22,23,24,25,26,27],[25,26,27,28,29,30],[28,29,30,31,32,33],[31,32,33,34,35,36]],n2;((a)=>{a.EVEN="EVEN",a.ODD="ODD"})(n2||={});var t2;((a)=>{a.RED="RED",a.BLACK="BLACK"})(t2||={});var l2;((a)=>{a.LOW="LOW",a.HIGH="HIGH"})(l2||={});var o2;((a)=>{a.TOP="TOP",a.MIDDLE="MIDDLE",a.BOTTOM="BOTTOM"})(o2||={});var s2;((a)=>{a.FIRST="FIRST",a.SECOND="SECOND",a.THIRD="THIRD"})(s2||={});var h1;((a)=>{a.AMERICAN="AMERICAN",a.EUROPEAN="EUROPEAN"})(h1||={});var Mo=(a)=>{if(a.straightBets.length===0&&a.splitBets.length===0&&a.streetBets.length===0&&a.cornerBets.length===0&&a.doubleStreetBets.length===0&&a.parityBets.length===0&&a.colorBets.length===0&&a.halfBets.length===0&&a.columnBets.length===0&&a.dozenBets.length===0)throw F1.createValidationError("Must place at least a single bet.");if(!a.straightBets.every((e)=>e.amount.gte(0)&&O2(e.value)))throw F1.createValidationError("Invalid straight bet.");if(!a.splitBets.every((e)=>e.amount.gte(0)&&Fo(e.values)))throw F1.createValidationError("Invalid split bet.");if(!a.streetBets.every((e)=>e.amount.gte(0)&&jo(e.values)))throw F1.createValidationError("Invalid street bet.");if(!a.cornerBets.every((e)=>e.amount.gte(0)&&qo(e.values)))throw F1.createValidationError("Invalid corner bet.");if(!a.doubleStreetBets.every((e)=>e.amount.gte(0)&&Eo(e.values)))throw F1.createValidationError("Invalid double street bet.");if(!a.parityBets.every((e)=>e.amount.gte(0)&&Object.values(n2).includes(e.parity)))throw F1.createValidationError("Invalid parity bet.");if(!a.colorBets.every((e)=>e.amount.gte(0)&&Object.values(t2).includes(e.color)))throw F1.createValidationError("Invalid color bet.");if(!a.halfBets.every((e)=>e.amount.gte(0)&&Object.values(l2).includes(e.half)))throw F1.createValidationError("Invalid half bet.");if(!a.columnBets.every((e)=>e.amount.gte(0)&&Object.values(o2).includes(e.column)))throw F1.createValidationError("Invalid column bet.");if(!a.dozenBets.every((e)=>e.amount.gte(0)&&Object.values(s2).includes(e.dozen)))throw F1.createValidationError("Invalid dozen bet.")},O2=(a)=>{return C6.includes(a)},Fo=(a)=>{if(a.length!==2)return!1;if(!a.every(O2))return!1;return B0.some(([e,i])=>e===a[0]&&i===a[1])},jo=(a)=>{if(a.length!==3)return!1;if(!a.every(O2))return!1;return a2.some(([e,i,r])=>e===a[0]&&i===a[1]&&r===a[2])},qo=(a)=>{if(a.length!==4)return!1;if(!a.every(O2))return!1;return i2.some(([e,i,r,n])=>e===a[0]&&i===a[1]&&r===a[2]&&n===a[3])},Eo=(a)=>{if(a.length!==6)return!1;if(!a.every(O2))return!1;return Me.some(([e,i,r,n,t,l])=>e===a[0]&&i===a[1]&&r===a[2]&&n===a[3]&&t===a[4]&&l===a[5])},To=(a)=>{if(a.straightBets.length===0&&a.splitBets.length===0&&a.streetBets.length===0&&a.cornerBets.length===0&&a.basketBets.length===0&&a.doubleStreetBets.length===0&&a.parityBets.length===0&&a.colorBets.length===0&&a.halfBets.length===0&&a.columnBets.length===0&&a.dozenBets.length===0)throw F1.createValidationError("Must place at least a single bet.");if(!a.straightBets.every((e)=>e.amount.gte(0)&&M2(e.value)))throw F1.createValidationError("Invalid straight bet.");if(!a.splitBets.every((e)=>e.amount.gte(0)&&Lo(e.values)))throw F1.createValidationError("Invalid split bet.");if(!a.streetBets.every((e)=>e.amount.gte(0)&&Ao(e.values)))throw F1.createValidationError("Invalid street bet.");if(!a.cornerBets.every((e)=>e.amount.gte(0)&&Jo(e.values)))throw F1.createValidationError("Invalid corner bet.");if(!a.basketBets.every((e)=>e.amount.gte(0)))throw F1.createValidationError("Invalid basket bet.");if(!a.doubleStreetBets.every((e)=>e.amount.gte(0)&&Vo(e.values)))throw F1.createValidationError("Invalid double street bet.");if(!a.parityBets.every((e)=>e.amount.gte(0)&&Object.values(n2).includes(e.parity)))throw F1.createValidationError("Invalid parity bet.");if(!a.colorBets.every((e)=>e.amount.gte(0)&&Object.values(t2).includes(e.color)))throw F1.createValidationError("Invalid color bet.");if(!a.halfBets.every((e)=>e.amount.gte(0)&&Object.values(l2).includes(e.half)))throw F1.createValidationError("Invalid half bet.");if(!a.columnBets.every((e)=>e.amount.gte(0)&&Object.values(o2).includes(e.column)))throw F1.createValidationError("Invalid column bet.");if(!a.dozenBets.every((e)=>e.amount.gte(0)&&Object.values(s2).includes(e.dozen)))throw F1.createValidationError("Invalid dozen bet.")},M2=(a)=>{return So.includes(a)};function Lo(a){if(a.length!==2)return!1;if(!a.every(M2))return!1;return _0.some(([e,i])=>e===a[0]&&i===a[1])}var Ao=(a)=>{if(a.length!==3)return!1;if(!a.every(M2))return!1;return e2.some(([e,i,r])=>e===a[0]&&i===a[1]&&r===a[2])},Jo=(a)=>{if(a.length!==4)return!1;if(!a.every(M2))return!1;return r2.some(([e,i,r,n])=>e===a[0]&&i===a[1]&&r===a[2]&&n===a[3])},Vo=(a)=>{if(a.length!==6)return!1;if(!a.every(M2))return!1;return Fe.some(([e,i,r,n,t,l])=>e===a[0]&&i===a[1]&&r===a[2]&&n===a[3]&&t===a[4]&&l===a[5])},Wo={straightBets:36,splitBets:18,streetBets:12,cornerBets:9,basketBets:7,doubleStreetBets:6,parityBets:2,colorBets:2,halfBets:2,columnBets:3,dozenBets:3},$o=[3,6,9,12,15,18,21,24,27,30,33,36],Qo=[2,5,8,11,14,17,20,23,26,29,32,35],Yo=[1,4,7,10,13,16,19,22,25,28,31,34],Xo=[1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36],Co=[2,4,6,8,10,11,13,15,17,20,22,24,26,28,29,31,33,35];class er extends Pi{constructor(){super("ROULETTE")}determineGameResult({generator:a,gameInputs:e}){this.validateInputs(e);let i=a.getRandomInt({min:0,max:this.maxNumber}),r=i.value,n=this.determineBetOutcomes(e,r),{payoutMultiplier:t}=this.getPayoutDetails(e,r);return{outputs:{betOutcomes:n,result:i.values},payoutMultiplier:t,isFinished:!0,randomValues:i}}getBetAmount(a){return this.calculateTotalBetAmount(this.getBetTotals(a))}getPayoutDetails(a,e){let i=this.determineBetOutcomes(a,e),r=this.getBetTotals(a),n=this.getBetTotals(i.winningBets),t=this.calculateTotalBetAmount(r),l=this.calculateTotalPayout(n);return{payoutMultiplier:t.gt(0)?l.div(t):new Va(0),payoutAmount:l}}determineBetOutcomes(a,e){let i={},r={};for(let n of Object.keys(a)){let t=a[n],l=this.betPredicates[n],{winning:o,losing:s}=this.partitionBets(t,l,e);i[n]=o,r[n]=s}return{winningBets:i,losingBets:r}}calculateTotalAmount(a){return a.reduce((e,i)=>e.plus(i.amount),new Va(0))}isWinningStraightBet(a,e){return a.value===e}isWinningSplitBet(a,e){return a.values.some((i)=>i===e)}isWinningStreetBet(a,e){return a.values.some((i)=>i===e)}isWinningCornerBet(a,e){return a.values.some((i)=>i===e)}isWinningDoubleStreetBet(a,e){return a.values.some((i)=>i===e)}isWinningColorBet(a,e){let i=a;return Xo.includes(e)&&i.color==="RED"||Co.includes(e)&&i.color==="BLACK"}isWinningHalfBet(a,e){let i=a;if(e>0&&e<=18&&i.half==="LOW")return!0;if(e>18&&e<=36&&i.half==="HIGH")return!0;return!1}isWinningColumnBet(a,e){let i=a;return $o.includes(e)&&i.column==="TOP"||Qo.includes(e)&&i.column==="MIDDLE"||Yo.includes(e)&&i.column==="BOTTOM"}isWinningDozenBet(a,e){let i=a;if(e>0&&e<=12&&i.dozen==="FIRST")return!0;if(e>12&&e<=24&&i.dozen==="SECOND")return!0;if(e>24&&e<=36&&i.dozen==="THIRD")return!0;return!1}isWinningParityBet(a,e){let i=a;if(e===0||e===37)return!1;let r=e%2===0?"EVEN":"ODD";return i.parity===r}getBetTotals(a){let e={};for(let i of Object.keys(a))e[i]=this.calculateTotalAmount(a[i]);return e}calculateTotalBetAmount(a){return Object.values(a).reduce((e,i)=>e.plus(i),new Va(0))}partitionBets(a,e,i){return{winning:a.filter((r)=>e(r,i)),losing:a.filter((r)=>!e(r,i))}}calculateTotalPayout(a){return Object.entries(a).reduce((e,[i,r])=>{let n=Wo[i];return e.plus(r.mul(n||0))},new Va(0))}}class ir extends er{maxNumber=36;betPredicates={straightBets:this.isWinningStraightBet,splitBets:this.isWinningSplitBet,streetBets:this.isWinningStreetBet,cornerBets:this.isWinningCornerBet,doubleStreetBets:this.isWinningDoubleStreetBet,parityBets:this.isWinningParityBet,colorBets:this.isWinningColorBet,halfBets:this.isWinningHalfBet,columnBets:this.isWinningColumnBet,dozenBets:this.isWinningDozenBet};validateInputs(a){Mo(a)}}class rr extends er{maxNumber=37;betPredicates={straightBets:this.isWinningStraightBet,splitBets:this.isWinningSplitBet,streetBets:this.isWinningStreetBet,cornerBets:this.isWinningCornerBet,basketBets:this.isWinningBasketBet,doubleStreetBets:this.isWinningDoubleStreetBet,parityBets:this.isWinningParityBet,colorBets:this.isWinningColorBet,halfBets:this.isWinningHalfBet,columnBets:this.isWinningColumnBet,dozenBets:this.isWinningDozenBet};validateInputs(a){To(a)}isWinningBasketBet(a,e){return Oo.some((i)=>i===e)}}var Do;((a)=>{a.LOW_RISK="LOW_RISK",a.MEDIUM_RISK="MEDIUM_RISK",a.HIGH_RISK="HIGH_RISK"})(Do||={});var No;((a)=>{a[a.TEN=10]="TEN",a[a.TWENTY=20]="TWENTY",a[a.THIRTY=30]="THIRTY",a[a.FORTY=40]="FORTY",a[a.FIFTY=50]="FIFTY"})(No||={});var Go={LOW_RISK:{10:{ZERO:0,A:1.2,B:1.5},20:{ZERO:0,A:1.2,B:1.5},30:{ZERO:0,A:1.2,B:1.5},40:{ZERO:0,A:1.2,B:1.5},50:{ZERO:0,A:1.2,B:1.5}},MEDIUM_RISK:{10:{ZERO:0,A:1.5,B:1.9,C:2,D:3},20:{ZERO:0,A:1.5,B:1.8,C:2,D:3},30:{ZERO:0,A:1.5,B:1.7,C:2,D:3,E:4},40:{ZERO:0,A:1.5,B:1.6,C:2,D:3},50:{ZERO:0,A:1.5,B:2,C:3,D:5}},HIGH_RISK:{10:{ZERO:0,A:9.9},20:{ZERO:0,A:19.8},30:{ZERO:0,A:29.7},40:{ZERO:0,A:39.6},50:{ZERO:0,A:49.5}}},Po={LOW_RISK:{10:{ZERO:0,A:1.2,B:1.4},20:{ZERO:0,A:1.2,B:1.4},30:{ZERO:0,A:1.2,B:1.4},40:{ZERO:0,A:1.2,B:1.4},50:{ZERO:0,A:1.2,B:1.4}},MEDIUM_RISK:{10:{ZERO:0,A:1.4,B:1.9,C:2,D:3.1},20:{ZERO:0,A:1.5,B:1.8,C:1.9,D:3.4},30:{ZERO:0,A:1.5,B:1.7,C:1.9,D:3,E:4.3},40:{ZERO:0,A:1.5,B:1.6,C:2,D:2.9},50:{ZERO:0,A:1.5,B:2,C:3,D:4.5}},HIGH_RISK:{10:{ZERO:0,A:9.8},20:{ZERO:0,A:19.6},30:{ZERO:0,A:29.4},40:{ZERO:0,A:39.2},50:{ZERO:0,A:49}}},Uo={LOW_RISK:{10:{ZERO:0,A:1.15,B:1.65},20:{ZERO:0,A:1.15,B:1.65},30:{ZERO:0,A:1.15,B:1.65},40:{ZERO:0,A:1.15,B:1.65},50:{ZERO:0,A:1.15,B:1.65}},MEDIUM_RISK:{10:{ZERO:0,A:1.4,B:1.9,C:2,D:3},20:{ZERO:0,A:1.4,B:1.6,C:2,D:3},30:{ZERO:0,A:1.4,B:1.7,C:2,D:3,E:4},40:{ZERO:0,A:1.5,B:1.6,C:2,D:2.8},50:{ZERO:0,A:1.5,B:2,C:2.7,D:4.9}},HIGH_RISK:{10:{ZERO:0,A:9.7},20:{ZERO:0,A:19.4},30:{ZERO:0,A:29.1},40:{ZERO:0,A:38.8},50:{ZERO:0,A:48.5}}},Bo={LOW_RISK:{10:{ZERO:0,A:1.15,B:1.55},20:{ZERO:0,A:1.15,B:1.55},30:{ZERO:0,A:1.15,B:1.55},40:{ZERO:0,A:1.15,B:1.55},50:{ZERO:0,A:1.15,B:1.55}},MEDIUM_RISK:{10:{ZERO:0,A:1.4,B:1.8,C:2,D:3},20:{ZERO:0,A:1.3,B:1.5,C:2,D:3},30:{ZERO:0,A:1.4,B:1.6,C:2,D:2.9,E:4},40:{ZERO:0,A:1.5,B:1.6,C:2,D:2.7},50:{ZERO:0,A:1.5,B:2,C:2.6,D:4.8}},HIGH_RISK:{10:{ZERO:0,A:9.6},20:{ZERO:0,A:19.2},30:{ZERO:0,A:28.8},40:{ZERO:0,A:38.4},50:{ZERO:0,A:48}}},_o={LOW_RISK:{10:{ZERO:0,A:1.1,B:1.5},20:{ZERO:0,A:1.1,B:1.5},30:{ZERO:0,A:1.1,B:1.45},40:{ZERO:0,A:1.1,B:1.45},50:{ZERO:0,A:1.1,B:1.45}},MEDIUM_RISK:{10:{ZERO:0,A:1.3,B:1.7,C:1.9,D:3},20:{ZERO:0,A:1.3,B:1.4,C:1.9,D:3},30:{ZERO:0,A:1.3,B:1.7,C:1.9,D:2.8,E:3.8},40:{ZERO:0,A:1.4,B:1.8,C:1.9,D:2.6},50:{ZERO:0,A:1.4,B:1.9,C:2.6,D:4.6}},HIGH_RISK:{10:{ZERO:0,A:9.2},20:{ZERO:0,A:18.4},30:{ZERO:0,A:27.6},40:{ZERO:0,A:36.8},50:{ZERO:0,A:46}}},FZ=new S2(new Map([[1,Go],[2,Po],[3,Uo],[4,Bo],[8,_o]])),jZ={LOW_RISK:{10:["B","A","A","A","ZERO","A","A","A","A","ZERO"],20:["B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO"],30:["B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO"],40:["B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO"],50:["B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO"]},MEDIUM_RISK:{10:["ZERO","B","ZERO","A","ZERO","C","ZERO","A","ZERO","D"],20:["A","ZERO","C","ZERO","B","ZERO","C","ZERO","C","ZERO","A","ZERO","C","ZERO","C","ZERO","D","ZERO","C","ZERO"],30:["A","ZERO","C","ZERO","A","ZERO","C","ZERO","D","ZERO","B","ZERO","A","ZERO","C","ZERO","A","ZERO","C","ZERO","A","ZERO","C","ZERO","E","ZERO","A","ZERO","C","ZERO"],40:["C","ZERO","A","ZERO","D","ZERO","C","ZERO","A","ZERO","C","ZERO","A","ZERO","D","ZERO","C","ZERO","A","ZERO","B","ZERO","A","ZERO","D","ZERO","C","ZERO","A","ZERO","C","ZERO","A","ZERO","D","ZERO","C","ZERO","A","ZERO"],50:["A","ZERO","B","ZERO","A","ZERO","C","ZERO","A","ZERO","B","ZERO","A","ZERO","B","ZERO","A","ZERO","C","ZERO","A","ZERO","B","ZERO","A","ZERO","B","ZERO","A","ZERO","C","ZERO","A","ZERO","B","ZERO","A","ZERO","B","ZERO","A","ZERO","D","ZERO","A","ZERO","B","ZERO","A","ZERO"]},HIGH_RISK:{10:[...Array(9).fill("ZERO"),"A"],20:[...Array(19).fill("ZERO"),"A"],30:[...Array(29).fill("ZERO"),"A"],40:[...Array(39).fill("ZERO"),"A"],50:[...Array(49).fill("ZERO"),"A"]}};class nr{source;index=0;constructor(a){this.source=a}static from(a,e){return I1.against(e<=0,`Count must be positive, got ${e}`),I1.against(a.values.length!==e,`Expected ${e} values, got ${a.values.length}`),new nr(a)}get consumedValues(){return{...this.source,count:this.index,values:this.source.values.slice(0,this.index)}}toMultipleRandomValues(){return this.source}takeOne(){let a=this.source.values[this.index];return I1.againstUndefined(a,"RandomValuePool exhausted"),this.index+=1,a}take(a){I1.against(this.index+a>this.source.values.length,`RandomValuePool exhausted: requested ${a} but only ${this.source.values.length-this.index} remain`);let e=this.source.values.slice(this.index,this.index+a);return this.index+=a,e}}class N6{edge;constructor(a){this.edge=a}play(a,e,i=[]){let r=this.createGameStore(),n=this.generateRandomValues(a),t=n.toMultipleRandomValues();for(let s of i)r.send({...s.playerArgument,randomValuePool:n});let l=i[i.length-1];if(l)I1.against(!D6.default(l.state,this.toExternalState(r.getSnapshot().context.state)),"The final state of the game does not match the expected state based on the previous actions");r.send({...e,randomValuePool:n});let o=r.getSnapshot().context;return{playerArgument:o.playerArgument,state:this.toExternalState(o.state),config:o.config,betAmountMultiplier:o.betAmountMultiplier,proof:{proofHash:t.proofHash,proofString:t.proofString}}}}var a9;((a)=>{a.IN_PROGRESS="IN_PROGRESS",a.WIN="WIN",a.LOSE="LOSE"})(a9||={});var e9;((a)=>{a.START="START",a.SELECT_TILE="MINES_SELECT_TILE",a.CASHOUT="CASHOUT",a.AUTO_PLAY="AUTO_PLAY"})(e9||={});class Se extends ar{static withInitialDeal(a){return new Se(a)}addDrawnCards(a){return new Se([...this.rawValues,...a])}}class Oe extends ar{otherCards;upCard;holeCard;constructor(a,e,i=[]){super([a,e,...i]);this.otherCards=i,this.upCard=U0.fromValue(a),this.holeCard=U0.fromValue(e)}static withInitialDeal(a){return new Oe(a.upCard,a.holeCard)}addDrawnCards(a){return new Oe(this.upCard.value,this.holeCard.value,[...this.otherCards,...a])}toDto(a=!1){if(a)return super.toDto();return{cards:[this.upCard.toDto()],value:new _i([this.upCard]).highestHandValue}}}var i9={PLAYER_BLACKJACK:S(ro),WIN:S(no),PUSH:S(to),LOSE:S(lo)},tr;((a)=>{a.START="START",a.HIT="BLACKJACK_HIT",a.STAND="BLACKJACK_STAND"})(tr||={});var r9={state:{isFinished:!1,phase:"uninitialised",multiplier:1},config:{},playerArgument:{type:"START"}},P0=(a)=>U0.fromValue(a).value;function V6(a){I1.against(a.phase!=="in-progress","Expected a started, in-progress game state")}var n9=(a,e)=>{let i=e;while(i.highestHandValue<oo)i=i.addDrawnCards([P0(a.takeOne())]);return i},t9=(a,e)=>{if(a.isBusted)return"LOSE";if(e.isBusted)return"WIN";let i=a.highestHandValue,r=e.highestHandValue;if(i>r)return"WIN";if(i<r)return"LOSE";return"PUSH"},W6=(a,e,i,r)=>{let n=n9(a,i),t=t9(e,n);return R2(e,n,t,a,r)},R2=(a,e,i,r,n)=>({state:{isFinished:!0,phase:"finished",playerHand:a,dealerHand:e,outcome:i,multiplier:i9[i].toNumber(),randomValues:r.consumedValues},config:{},playerArgument:{type:n},betAmountMultiplier:1});class je extends N6{generateRandomValues(a){return nr.from(a.getRandomIntsWithReplacement({min:_l,max:ao,count:A6}),A6)}toExternalState(a){let e=a.phase;switch(e){case"in-progress":return{isFinished:!1,multiplier:a.multiplier,playerHand:a.playerHand.toDto(),dealerHand:a.dealerHand.toDto(!1)};case"finished":return{isFinished:!0,multiplier:a.multiplier,randomValues:a.randomValues,outcome:a.outcome,playerHand:a.playerHand.toDto(),dealerHand:a.dealerHand.toDto(!0)};case"uninitialised":throw new Error("Cannot convert uninitialised state to external state");default:I1.againstNever(e,"Invalid state received")}}createGameStore(){return Gi({context:r9,on:{START:(a,e)=>{I1.against(a.state.phase!=="uninitialised","START action requires a fresh game");let i=P0(e.randomValuePool.takeOne()),r=P0(e.randomValuePool.takeOne()),n=P0(e.randomValuePool.takeOne()),t=P0(e.randomValuePool.takeOne()),l=Se.withInitialDeal([i,r]),o=Oe.withInitialDeal({upCard:n,holeCard:t});if(l.isBlackjack&&o.isBlackjack)return R2(l,o,"PUSH",e.randomValuePool,"START");if(l.isBlackjack)return R2(l,o,"PLAYER_BLACKJACK",e.randomValuePool,"START");if(o.isBlackjack)return R2(l,o,"LOSE",e.randomValuePool,"START");return{state:{isFinished:!1,phase:"in-progress",multiplier:1,playerHand:l,dealerHand:o},config:{},playerArgument:{type:"START"}}},BLACKJACK_HIT:(a,e)=>{V6(a.state);let i=a.state.playerHand.addDrawnCards([P0(e.randomValuePool.takeOne())]);if(i.isBusted)return R2(i,a.state.dealerHand,"LOSE",e.randomValuePool,"BLACKJACK_HIT");if(i.highestHandValue===X6)return W6(e.randomValuePool,i,a.state.dealerHand,"BLACKJACK_HIT");return{state:{isFinished:!1,phase:"in-progress",multiplier:1,playerHand:i,dealerHand:a.state.dealerHand},config:{},playerArgument:{type:"BLACKJACK_HIT"}}},BLACKJACK_STAND:(a,e)=>{return V6(a.state),W6(e.randomValuePool,a.state.playerHand,a.state.dealerHand,"BLACKJACK_STAND")}}})}getValidNextActionTypes(a){return a.isFinished?[]:["BLACKJACK_HIT","BLACKJACK_STAND"]}}var l9;((a)=>a.START="START")(l9||={});var o0=100,qe=[{config:{label:"1K",theme:"red"},baseValue:1000*o0},{config:{label:"100",theme:"purple"},baseValue:100*o0},{config:{label:"10",theme:"blue"},baseValue:10*o0},{config:{label:"1",theme:"green"},baseValue:1*o0},{config:{label:"0.1",theme:"cyan"},baseValue:0.1*o0},{config:{label:"0.01",theme:"gold"},baseValue:0.01*o0}],lr=2;class oa{static formatChipLabel(a,e=2){if(a>=1e6&&Number.isInteger(a)&&a%1e6===0)return`${a/1e6}M`;if(a>=1000&&Number.isInteger(a)&&a%1000===0)return`${a/1000}K`;if(Number.isInteger(a))return`${a}`;return a.toFixed(e).replace(/\.0+$/,"").replace(/(\.\d*[1-9])0+$/,"$1")}static formatStackLabel(a){let i=oa.formatChipLabel(a);if(i.length<=3)return{label:i,truncated:!1};if(a>=1e6)return{label:`${Math.floor(a/1e6)}M`,truncated:!0};if(a>=1000)return{label:`${Math.floor(a/1000)}K`,truncated:!0};if(a>=1){let n=`${Math.floor(a)}`;if(n.length<=3)return{label:n,truncated:!0}}if(a>0)return{label:oa.formatChipLabel(a),truncated:!1};return{label:"0",truncated:!1}}static getStackDisplayLabel(a,e,i){if(e===1)return i;let{label:r,truncated:n}=oa.formatStackLabel(a);return n?`${r}+`:r}static toBaseUnits(a){return Math.round(a*o0)}static buildChipsFromBaseUnits(a){let e=[],i=a;for(let r of qe){if(i<=0)break;let n=Math.floor(i/r.baseValue);for(let t=0;t<Math.min(n,10);t++)e.push({...r.config});i-=n*r.baseValue}return e}static amountToVisualChips(a){let e=oa.toBaseUnits(a),i=oa.buildChipsFromBaseUnits(e),r=i[0]??qe[qe.length-1].config,n=oa.getStackDisplayLabel(a,i.length,r.label);return{chips:i,topLabel:n,highestChip:r}}static undoEvent(a){if(a.length===0)return a;return a.slice(0,-1)}static deriveState(a,e){let i=new Map;for(let n of a){let t=n.type;switch(t){case"add":{let o=(i.get(n.position)??S(0)).plus(n.amount);if(o.lte(0))i.delete(n.position);else i.set(n.position,o);break}case"multiplier-change":{let l=n.multiplier;if(l===1)break;if(l>1){for(let[s,d]of i)i.set(s,S(d.times(l).toFixed(lr,S.roundDown)));let o=S(0);for(let s of i.values())o=o.plus(s);if(o.gt(e)){let s=S(e).div(o);for(let[d,c]of i)i.set(d,S(c.times(s).toFixed(lr,S.roundDown)))}break}for(let[o,s]of i){let d=s.times(l);if(d.gte(0.01))i.set(o,S(d.toFixed(lr,S.roundDown)));else i.delete(o)}break}default:}}let r=new Map;for(let[n,t]of i)r.set(n,Number(t.toFixed(2)));return r}}var G6=40,P6=8,U6=0.75,Ee=12,F2=new Set([1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36]),B6=[0,32,15,19,4,21,2,25,17,34,6,27,13,36,11,30,8,23,10,5,24,16,33,1,20,14,31,9,22,18,29,7,28,12,35,3,26],_6=[0,28,9,26,30,11,7,20,32,17,5,22,34,15,3,24,36,13,1,37,27,10,25,29,12,8,19,31,18,6,21,33,16,4,23,35,14,2],Te=128,or=5,Le=Math.PI*1.5,sr=5,a7=187,e7=5,o9=[{x:260,y:128.8888888888889},{x:250,y:128.0555555555556},{x:240,y:126.94444444444451},{x:230,y:125.55555555555566},{x:220,y:123.88888888888903},{x:210,y:121.94444444444463},{x:200,y:119.72222222222246},{x:190,y:117.22222222222251},{x:180,y:114.4444444444448},{x:170,y:111.38888888888931},{x:160,y:108.05555555555605},{x:150,y:104.44444444444503},{x:140,y:100.55555555555623},{x:130,y:96.38888888888965},{x:120,y:91.94444444444531},{x:110,y:87.2222222222232},{x:100,y:83.94999827222222},{bounceCount:1},{x:91.92723877109552,y:88.06750950353444},{x:83.85447754219103,y:91.90724295706889},{x:75.78171631328655,y:95.46919863282557},{x:67.70895508438207,y:98.75337653080447},{x:59.636193855477586,y:101.75977665100561},{x:51.5634326265731,y:104.48839899342897},{x:43.49067139766862,y:106.93924355807457},{x:35.41791016876414,y:109.11231034494239},{x:27.345148939859655,y:111.00759935403244},{x:19.272387710955172,y:112.62511058534471},{x:11.19962648205069,y:113.96484403887922},{x:3.1268652531462067,y:115.02679971463596},{x:-4.945895975758276,y:115.81097761261492},{x:-13.018657204662759,y:116.31737773281611},{x:-21.09141843356724,y:116.54600007523953},{x:-29.164179662471724,y:116.49684463988518},{x:-37.23694089137621,y:116.16991142675306},{x:-45.30970212028069,y:115.56520043584317},{x:-53.38246334918517,y:114.6827116671555},{x:-61.455224578089656,y:113.52244512069007},{x:-69.52798580699414,y:112.08440079644686},{x:-77.60074703589862,y:110.36857869442588},{x:-85.6735082648031,y:108.37497881462713},{x:-93.74626949370759,y:106.1036011570506},{x:-101.81903072261207,y:103.55444572169631},{x:-109.89179195151655,y:100.72751250856425},{x:-117.96455318042103,y:97.62280151765441},{x:-126.03731440932552,y:94.2403127489668},{x:-134.11007563823,y:90.58004620250142},{x:-142.18283686713448,y:86.64200187825827},{x:-150.25559809603897,y:83.7840989631938},{bounceCount:2},{x:-156.37102114986237,y:87.32692354458038},{x:-162.48644420368578,y:90.5919703481892},{x:-168.60186725750918,y:93.57923937402023},{x:-174.7172903113326,y:96.2887306220735},{x:-180.832713365156,y:98.720444092349},{x:-186.9481364189794,y:100.87437978484672},{x:-193.0635594728028,y:102.75053769956668},{x:-199.1789825266262,y:104.34891783650886},{x:-205.29440558044962,y:105.66952019567327},{x:-211.40982863427303,y:106.71234477705991},{x:-217.52525168809643,y:107.47739158066878},{x:-223.64067474191984,y:107.96466060649988},{x:-229.75609779574324,y:108.1741518545532},{x:-235.87152084956665,y:108.10586532482876},{x:-241.98694390339006,y:107.75980101732654},{x:-248.10236695721346,y:107.13595893204655},{x:-254.21779001103687,y:106.23433906898879},{x:-260.3332130648603,y:105.05494142815326},{x:-266.4486361186837,y:103.59776600953995},{x:-272.5640591725071,y:101.86281281314888},{x:-278.6794822263305,y:99.85008183898003},{x:-284.7949052801539,y:97.55957308703341},{x:-290.9103283339773,y:94.99128655730902},{x:-297.0257513878007,y:92.14522224980686},{x:-303.1411744416241,y:89.02138016452693},{x:-309.2565974954475,y:85.61976030146923},{x:-315.3720205492709,y:83.80664866023704},{bounceCount:3},{x:-319.53056837648023,y:86.88414839816954},{x:-323.68911620368954,y:89.68387035832427},{x:-327.84766403089884,y:92.20581454070123},{x:-332.00621185810814,y:94.44998094530041},{x:-336.16475968531745,y:96.41636957212182},{x:-340.32330751252675,y:98.10498042116546},{x:-344.48185533973606,y:99.51581349243133},{x:-348.64040316694536,y:100.64886878591943},{x:-352.79895099415467,y:101.50414630162976},{x:-356.95749882136397,y:102.08164603956232},{x:-361.1160466485733,y:102.3813679997171},{x:-365.2745944757826,y:102.40331218209411},{x:-369.4331423029919,y:102.14747858669335},{x:-373.5916901302012,y:101.61386721351482},{x:-377.7502379574105,y:100.80247806255852},{x:-381.9087857846198,y:99.71331113382445},{x:-386.0673336118291,y:98.3463664273126},{x:-390.2258814390384,y:96.70164394302299},{x:-394.3844292662477,y:94.7791436809556},{x:-398.542977093457,y:92.57886564111044},{x:-402.7015249206663,y:90.10080982348751},{x:-406.8600727478756,y:87.34497622808681},{x:-411.0186205750849,y:84.31136485490833},{bounceCount:4},{x:-415.1771684022942,y:83.75529806659927},{x:-417.4869098517198,y:86.48546885866637},{x:-419.7966513011454,y:88.9378618729557},{x:-422.106392750571,y:91.11247710946725},{x:-424.4161341999966,y:93.00931456820103},{x:-426.72587564942216,y:94.62837424915705},{x:-429.03561709884775,y:95.96965615233529},{x:-431.34535854827334,y:97.03316027773576},{x:-433.6550999976989,y:97.81888662535846},{x:-435.9648414471245,y:98.32683519520339},{x:-438.2745828965501,y:98.55700598727054},{x:-440.5843243459757,y:98.50939900155993},{x:-442.8940657954013,y:98.18401423807154},{x:-445.20380724482686,y:97.58085169680538},{x:-447.51354869425245,y:96.69991137776145},{x:-449.82329014367804,y:95.54119328093975},{x:-452.1330315931036,y:94.10469740634028},{x:-454.4427730425292,y:92.39042375396303},{x:-456.7525144919548,y:90.39837232380802},{x:-459.0622559413804,y:88.12854311587523},{x:-461.371997390806,y:85.58093613016467},{bounceCount:5},{x:-463.68173884023156,y:83.94120374701237},{x:-465.70528195049405,y:86.56420005607708},{x:-467.72882506075655,y:88.90941858736403},{x:-469.75236817101904,y:90.9768593408732},{x:-471.77591128128154,y:92.76652231660461},{x:-473.79945439154403,y:94.27840751455824},{x:-475.8229975018065,y:95.5125149347341},{x:-477.846540612069,y:96.46884457713219},{x:-479.8700837223315,y:97.1473964417525},{x:-481.893626832594,y:97.54817052859505},{x:-483.9171699428565,y:97.67116683765983},{x:-485.940713053119,y:97.51638536894683},{x:-487.9642561633815,y:97.08382612245606},{x:-489.987799273644,y:96.37348909818752},{x:-492.0113423839065,y:95.38537429614121},{x:-494.034885494169,y:94.11948171631713},{x:-496.05842860443147,y:92.57581135871527},{x:-498.08197171469396,y:90.75436322333564},{x:-500.10551482495646,y:88.65513731017825},{x:-502.12905793521895,y:86.27813361924308},{bounceCount:6},{x:-504.15260104548145,y:83.83750960549332},{x:-505.15602161683216,y:85.89336903069062},{x:-506.1594421881829,y:87.67145067811015},{x:-507.1628627595336,y:89.1717545477519},{x:-508.1662833308843,y:90.39428063961589},{x:-509.169703902235,y:91.3390289537021}],s9=[{x:260,y:128.8888888888889},{x:250,y:128.0555555555556},{x:240,y:126.94444444444451},{x:230,y:125.55555555555566},{x:220,y:123.88888888888903},{x:210,y:121.94444444444463},{x:200,y:119.72222222222246},{x:190,y:117.22222222222251},{x:180,y:114.4444444444448},{x:170,y:111.38888888888931},{x:160,y:108.05555555555605},{x:150,y:104.44444444444503},{x:140,y:100.55555555555623},{x:130,y:96.38888888888965},{x:120,y:91.94444444444531},{x:110,y:87.2222222222232},{x:100,y:83.94999827222222},{bounceCount:1},{x:91.92723877109552,y:87.633880780038},{x:83.85447754219103,y:91.03998551007601},{x:75.78171631328655,y:94.16831246233625},{x:67.70895508438207,y:97.01886163681871},{x:59.636193855477586,y:99.59163303352341},{x:51.5634326265731,y:101.88662665245033},{x:43.49067139766862,y:103.90384249359948},{x:35.41791016876414,y:105.64328055697086},{x:27.345148939859655,y:107.10494084256447},{x:19.272387710955172,y:108.28882335038031},{x:11.19962648205069,y:109.19492808041838},{x:3.1268652531462067,y:109.82325503267867},{x:-4.945895975758276,y:110.1738042071612},{x:-13.018657204662759,y:110.24657560386595},{x:-21.09141843356724,y:110.04156922279293},{x:-29.164179662471724,y:109.55878506394214},{x:-37.23694089137621,y:108.79822312731358},{x:-45.30970212028069,y:107.75988341290724},{x:-53.38246334918517,y:106.44376592072314},{x:-61.455224578089656,y:104.84987065076126},{x:-69.52798580699414,y:102.97819760302161},{x:-77.60074703589862,y:100.8287467775042},{x:-85.6735082648031,y:98.401518174209},{x:-93.74626949370759,y:95.69651179313604},{x:-101.81903072261207,y:92.7137276342853},{x:-109.89179195151655,y:89.4531656976568},{x:-117.96455318042103,y:85.91482598325052},{x:-126.03731440932552,y:83.94956456484863},{bounceCount:2},{x:-132.18102229535384,y:86.61429644597087},{x:-138.32473018138217,y:89.00125054931533},{x:-144.4684380674105,y:91.11042687488202},{x:-150.6121459534388,y:92.94182542267095},{x:-156.75585383946714,y:94.4954461926821},{x:-162.89956172549546,y:95.77128918491547},{x:-169.04326961152378,y:96.76935439937108},{x:-175.1869774975521,y:97.48964183604892},{x:-181.33068538358043,y:97.93215149494898},{x:-187.47439326960875,y:98.09688337607128},{x:-193.61810115563708,y:97.9838374794158},{x:-199.7618090416654,y:97.59301380498255},{x:-205.90551692769372,y:96.92441235277153},{x:-212.04922481372205,y:95.97803312278273},{x:-218.19293269975037,y:94.75387611501617},{x:-224.3366405857787,y:93.25194132947183},{x:-230.48034847180702,y:91.47222876614973},{x:-236.62405635783534,y:89.41473842504985},{x:-242.76776424386367,y:87.0794703061722},{x:-248.911472129892,y:84.46642440951678},{bounceCount:3},{x:-255.0551800159203,y:83.82456182183898},{x:-259.2426187606561,y:85.89507577233672},{x:-263.4300575053919,y:87.6878119450567},{x:-267.6174962501277,y:89.20277033999889},{x:-271.8049349948635,y:90.43995095716332},{x:-275.9923737395993,y:91.39935379654997},{x:-280.1798124843351,y:92.08097885815886},{x:-284.3672512290709,y:92.48482614198997},{x:-288.5546899738067,y:92.61089564804331},{x:-292.7421287185425,y:92.45918737631888},{x:-296.9295674632783,y:92.02970132681668}],h9=[{x:260,y:128.8888888888889},{x:250,y:128.0555555555556},{x:240,y:126.94444444444451},{x:230,y:125.55555555555566},{x:220,y:123.88888888888903},{x:210,y:121.94444444444463},{x:200,y:119.72222222222246},{x:190,y:117.22222222222251},{x:180,y:114.4444444444448},{x:170,y:111.38888888888931},{x:160,y:108.05555555555605},{x:150,y:104.44444444444503},{x:140,y:100.55555555555623},{x:130,y:96.38888888888965},{x:120,y:91.94444444444531},{x:110,y:87.2222222222232},{x:100,y:83.94999827222222},{bounceCount:1},{x:91.92723877109552,y:87.73024271859276},{x:83.85447754219103,y:91.23270938718554},{x:75.78171631328655,y:94.45739827800054},{x:67.70895508438207,y:97.40430939103777},{x:59.636193855477586,y:100.07344272629723},{x:51.5634326265731,y:102.46479828377892},{x:43.49067139766862,y:104.57837606348284},{x:35.41791016876414,y:106.41417606540898},{x:27.345148939859655,y:107.97219828955735},{x:19.272387710955172,y:109.25244273592796},{x:11.19962648205069,y:110.25490940452079},{x:3.1268652531462067,y:110.97959829533585},{x:-4.945895975758276,y:111.42650940837314},{x:-13.018657204662759,y:111.59564274363265},{x:-21.09141843356724,y:111.4869983011144},{x:-29.164179662471724,y:111.10057608081837},{x:-37.23694089137621,y:110.43637608274457},{x:-45.30970212028069,y:109.494398306893},{x:-53.38246334918517,y:108.27464275326366},{x:-61.455224578089656,y:106.77710942185655},{x:-69.52798580699414,y:105.00179831267167},{x:-77.60074703589862,y:102.94870942570901},{x:-85.6735082648031,y:100.61784276096859},{x:-93.74626949370759,y:98.00919831845039},{x:-101.81903072261207,y:95.12277609815442},{x:-109.89179195151655,y:91.95857610008068},{x:-117.96455318042103,y:88.51659832422916},{x:-126.03731440932552,y:84.79684277059988},{x:-134.11007563823,y:83.93714001160077},{bounceCount:2},{x:-140.24248787383567,y:87.02442244310811},{x:-146.37490010944134,y:89.83392709683767},{x:-152.507312345047,y:92.36565397278946},{x:-158.63972458065268,y:94.61960307096348},{x:-164.77213681625835,y:96.59577439135973},{x:-170.90454905186402,y:98.2941679339782},{x:-177.0369612874697,y:99.7147836988189},{x:-183.16937352307536,y:100.85762168588184},{x:-189.30178575868104,y:101.722681895167},{x:-195.4341979942867,y:102.30996432667439},{x:-201.56661022989238,y:102.61946898040401},{x:-207.69902246549805,y:102.65119585635586},{x:-213.83143470110372,y:102.40514495452993},{x:-219.9638469367094,y:101.88131627492623},{x:-226.09625917231506,y:101.07970981754477},{x:-232.22867140792073,y:100.00032558238553},{x:-238.3610836435264,y:98.64316356944852},{x:-244.49349587913207,y:97.00822377873374},{x:-250.62590811473774,y:95.09550621024118},{x:-256.7583203503434,y:92.90501086397086},{x:-262.8907325859491,y:90.43673773992276},{x:-269.02314482155475,y:87.6906868380969},{bounceCount:3},{x:-275.1555570571604,y:84.66685815849326},{x:-281.2879692927661,y:83.77451871525722},{x:-285.46293443573677,y:86.2868541409619},{x:-289.63789957870745,y:88.52141178888883},{x:-293.8128647216781,y:90.47819165903798},{x:-297.9878298646488,y:92.15719375140935},{x:-302.1627950076195,y:93.55841806600296},{x:-306.33776015059016,y:94.68186460281879},{x:-310.51272529356083,y:95.52753336185685},{x:-314.6876904365315,y:96.09542434311714},{x:-318.8626555795022,y:96.38553754659966},{x:-323.03762072247287,y:96.39787297230441},{x:-327.21258586544354,y:96.13243062023139},{x:-331.3875510084142,y:95.5892104903806},{x:-335.5625161513849,y:94.76821258275203},{x:-339.7374812943556,y:93.66943689734569},{x:-343.91244643732625,y:92.29288343416158},{x:-348.08741158029693,y:90.6385521931997},{x:-352.2623767232676,y:88.70644317446005},{x:-356.4373418662383,y:86.49655637794262},{bounceCount:4},{x:-360.61230700920896,y:84.00889180364743},{x:-364.78727215217964,y:83.93296749758815},{x:-367.62671783526935,y:86.29244841066702},{x:-370.46616351835905,y:88.37415154596812},{x:-373.30560920144876,y:90.17807690349144},{x:-376.14505488453847,y:91.704224483237},{x:-378.9845005676282,y:92.95259428520478},{x:-381.8239462507179,y:93.9231863093948},{x:-384.6633919338076,y:94.61600055580703},{x:-387.5028376168973,y:95.0310370244415},{x:-390.342283299987,y:95.1682957152982},{x:-393.1817289830767,y:95.02777662837713},{x:-396.0211746661664,y:94.60947976367828},{x:-398.8606203492561,y:93.91340512120166},{x:-401.70006603234583,y:92.93955270094727},{x:-404.53951171543554,y:91.68792250291511}],hr=[o9,s9,h9];var Ae=(a)=>[...a].sort((e,i)=>e-i),t1={straight:(a)=>`STRAIGHT_${a}`,split:(a,e)=>{let[i,r]=Ae([a,e]);return`SPLIT_${i}_${r}`},street:(a,e,i)=>{let[r,n,t]=Ae([a,e,i]);return`STREET_${r}_${n}_${t}`},corner:(a,e,i,r)=>{let[n,t,l,o]=Ae([a,e,i,r]);return`CORNER_${n}_${t}_${l}_${o}`},line:(a,e,i,r,n,t)=>{let l=Ae([a,e,i,r,n,t]);return`LINE_${l[0]}_${l[1]}_${l[2]}_${l[3]}_${l[4]}_${l[5]}`},dozen:(a)=>`DOZEN_${a}`,half:(a)=>`HALF_${a}`,parity:(a)=>`PARITY_${a}`,color:(a)=>`COLOR_${a}`,column:(a)=>`COLUMN_${a}`,basket:()=>"BASKET"};function ur(a){let e=a.match(/^STRAIGHT_(\d+)$/);if(e)return{type:"straight",value:Number(e[1])};let i=a.match(/^SPLIT_(\d+)_(\d+)$/);if(i)return{type:"split",values:[Number(i[1]),Number(i[2])]};let r=a.match(/^STREET_(\d+)_(\d+)_(\d+)$/);if(r)return{type:"street",values:[Number(r[1]),Number(r[2]),Number(r[3])]};let n=a.match(/^CORNER_(\d+)_(\d+)_(\d+)_(\d+)$/);if(n)return{type:"corner",values:[Number(n[1]),Number(n[2]),Number(n[3]),Number(n[4])]};let t=a.match(/^LINE_(\d+)_(\d+)_(\d+)_(\d+)_(\d+)_(\d+)$/);if(t)return{type:"line",values:[Number(t[1]),Number(t[2]),Number(t[3]),Number(t[4]),Number(t[5]),Number(t[6])]};if(a==="DOZEN_FIRST")return{type:"dozen",dozen:"FIRST"};if(a==="DOZEN_SECOND")return{type:"dozen",dozen:"SECOND"};if(a==="DOZEN_THIRD")return{type:"dozen",dozen:"THIRD"};if(a==="HALF_LOW")return{type:"half",half:"LOW"};if(a==="HALF_HIGH")return{type:"half",half:"HIGH"};if(a==="PARITY_EVEN")return{type:"parity",parity:"EVEN"};if(a==="PARITY_ODD")return{type:"parity",parity:"ODD"};if(a==="COLOR_RED")return{type:"color",color:"RED"};if(a==="COLOR_BLACK")return{type:"color",color:"BLACK"};if(a==="COLUMN_TOP")return{type:"column",column:"TOP"};if(a==="COLUMN_MIDDLE")return{type:"column",column:"MIDDLE"};if(a==="COLUMN_BOTTOM")return{type:"column",column:"BOTTOM"};if(a==="BASKET")return{type:"basket"};return null}function i7(a){let e=new Set,i=a===h1.AMERICAN?37:36;for(let o=0;o<=i;o++)e.add(t1.straight(o));let r=a===h1.EUROPEAN?B0:_0;for(let[o,s]of r)e.add(t1.split(o,s));let n=a===h1.EUROPEAN?a2:e2;for(let[o,s,d]of n)e.add(t1.street(o,s,d));let t=a===h1.EUROPEAN?i2:r2;for(let[o,s,d,c]of t)e.add(t1.corner(o,s,d,c));let l=a===h1.EUROPEAN?Me:Fe;for(let[o,s,d,c,m,h]of l)e.add(t1.line(o,s,d,c,m,h));if(e.add(t1.dozen("FIRST")),e.add(t1.dozen("SECOND")),e.add(t1.dozen("THIRD")),e.add(t1.half("LOW")),e.add(t1.half("HIGH")),e.add(t1.parity("EVEN")),e.add(t1.parity("ODD")),e.add(t1.color("RED")),e.add(t1.color("BLACK")),e.add(t1.column("TOP")),e.add(t1.column("MIDDLE")),e.add(t1.column("BOTTOM")),a===h1.AMERICAN)e.add(t1.basket());return e}var u9=i7(h1.EUROPEAN),d9=i7(h1.AMERICAN);function r7(a,e){return(e===h1.EUROPEAN?u9:d9).has(a)}function n7(a){let e=a%3;if(e===0)return 0;if(e===2)return 1;return 2}function t7(a){let e=new Map,i=new Map,r=new Map,n=new Map,t=new Map,l=a===h1.EUROPEAN?B0:_0;for(let[c,m]of l){let h=t1.split(c,m);if(c===0){if(m<=3)i.set(m,h);continue}if(m===37){if(c===3)i.set(3,h);continue}if(m-c===1)e.set(c,h);else i.set(m,h)}let o=a===h1.EUROPEAN?i2:r2;for(let[c,m,h,f]of o){let v=t1.corner(c,m,h,f);if(c===0)r.set(3,v);else r.set(h,v)}let s=a===h1.EUROPEAN?a2:e2;for(let[c,m,h]of s){let f=t1.street(c,m,h);if(c===0||h===37){if(c===0&&m===1)r.set(1,f);else if(c===0&&m===2&&h===3)r.set(2,f);else if(c===0&&m===2&&h===37)i.set(2,f);else if(c===2&&h===37)r.set(2,f)}else n.set(Math.max(c,m,h),f)}let d=a===h1.EUROPEAN?Me:Fe;for(let[c,m,h,f,v,g]of d){let x=t1.line(c,m,h,f,v,g),z=Math.max(c,m,h,f,v,g);t.set(z,x)}return{verticalSplit:e,horizontalSplit:i,corner:r,street:n,doubleStreet:t}}var c9=t7(h1.EUROPEAN),f9=t7(h1.AMERICAN);function j2(a){return a===h1.EUROPEAN?c9:f9}function l7(a,e){return j2(e).verticalSplit.get(a)??null}function o7(a,e){return j2(e).horizontalSplit.get(a)??null}function s7(a,e){return j2(e).corner.get(a)??null}function h7(a,e){return j2(e).doubleStreet.get(a)??null}function u7(a,e){return j2(e).street.get(a)??null}function dr(a){let e=ur(a);if(!e)return[];switch(e.type){case"straight":return[e.value];case"split":case"street":case"corner":case"line":return[...e.values];case"dozen":return Array.from({length:12},(i,r)=>r+1+(e.dozen==="FIRST"?0:e.dozen==="SECOND"?12:24));case"half":return Array.from({length:18},(i,r)=>r+(e.half==="LOW"?1:19));case"parity":return Array.from({length:18},(i,r)=>e.parity==="EVEN"?(r+1)*2:r*2+1);case"color":return e.color==="RED"?[...F2]:Array.from({length:36},(i,r)=>r+1).filter((i)=>!F2.has(i));case"column":return Array.from({length:12},(i,r)=>r*3+(e.column==="TOP"?3:e.column==="MIDDLE"?2:1));case"basket":return[0,37,1,2,3]}}function Je(a,e=h1.EUROPEAN){let i=[],r=[],n=[],t=[],l=[],o=[],s=[],d=[],c=[],m=[],h=[];for(let[v,g]of a.entries()){if(!r7(v,e))continue;let x=S(g).toFixed(4),z=ur(v);if(!z)continue;switch(z.type){case"straight":i.push({amount:x,value:z.value});break;case"split":r.push({amount:x,values:z.values});break;case"street":n.push({amount:x,values:z.values});break;case"corner":t.push({amount:x,values:z.values});break;case"line":l.push({amount:x,values:z.values});break;case"dozen":m.push({amount:x,dozen:s2[z.dozen]});break;case"half":d.push({amount:x,half:l2[z.half]});break;case"parity":o.push({amount:x,parity:n2[z.parity]});break;case"color":s.push({amount:x,color:t2[z.color]});break;case"column":c.push({amount:x,column:o2[z.column]});break;case"basket":h.push({amount:x});break}}let f={straightBets:i,splitBets:r,streetBets:n,cornerBets:t,doubleStreetBets:l,parityBets:o,colorBets:s,halfBets:d,columnBets:c,dozenBets:m};if(e===h1.AMERICAN){let v={...f,basketBets:h};return{type:h1.AMERICAN,inputs:v}}return{type:h1.EUROPEAN,inputs:f}}class Y1{static getNumberColor(a){if(a===0||a===37)return"green";return F2.has(a)?"red":"black"}static getValidSplits(a){return a===h1.EUROPEAN?B0:_0}static getValidStreets(a){return a===h1.EUROPEAN?a2:e2}static getValidCorners(a){return a===h1.EUROPEAN?i2:r2}static findValidSplit(a,e=h1.EUROPEAN){let i=[...a].sort((n,t)=>n-t),r=this.getValidSplits(e);for(let n of r)if(n[0]===i[0]&&n[1]===i[1])return n;return null}static findValidStreet(a,e=h1.EUROPEAN){let i=[...a].sort((n,t)=>n-t),r=this.getValidStreets(e);for(let n of r)if(n[0]===i[0]&&n[1]===i[1]&&n[2]===i[2])return n;return null}static findValidCorner(a,e=h1.EUROPEAN){let i=[...a].sort((n,t)=>n-t),r=this.getValidCorners(e);for(let n of r)if(n[0]===i[0]&&n[1]===i[1]&&n[2]===i[2]&&n[3]===i[3])return n;return null}static getWheelSequence(a){return a===h1.EUROPEAN?B6:_6}static calculateBallTargetAngle(a,e=h1.EUROPEAN){let i=this.getWheelSequence(e),r=i.indexOf(a);if(r===-1)return 0;let n=i.indexOf(6),t=360/i.length;return((r-n)%i.length+i.length)%i.length*t%360}static getRandomAnimationArray(){let a=Math.floor(Math.random()*hr.length);return[...hr[a]]}static transformAnimationPosition(a,e){if("bounceCount"in a)return a;let i=e.find((c)=>!("bounceCount"in c)),n=[...e].reverse().find((c)=>!("bounceCount"in c)).x-i.x,l=(a.x-i.x)/n,o=Le*l,s=Math.cos(o)*a.y,d=Math.sin(o)*a.y;return{x:s,y:d,angle:o*180/Math.PI,length:Math.abs(a.y)}}static preprocessAnimationArray(a){return a.map((e)=>this.transformAnimationPosition(e,a))}static getBallOffset(a){return a===h1.EUROPEAN?a7:e7}static convertBetsToLibraryFormat(a){return a.map((e)=>({...e,amount:S(e.amount)}))}static preparePayoutInputs(a,e){let i=Je(a,e);if(e===h1.AMERICAN){let r=new rr,n=i.inputs,t={straightBets:this.convertBetsToLibraryFormat(n.straightBets),splitBets:this.convertBetsToLibraryFormat(n.splitBets),streetBets:this.convertBetsToLibraryFormat(n.streetBets),cornerBets:this.convertBetsToLibraryFormat(n.cornerBets),doubleStreetBets:this.convertBetsToLibraryFormat(n.doubleStreetBets),parityBets:this.convertBetsToLibraryFormat(n.parityBets),colorBets:this.convertBetsToLibraryFormat(n.colorBets),halfBets:this.convertBetsToLibraryFormat(n.halfBets),columnBets:this.convertBetsToLibraryFormat(n.columnBets),dozenBets:this.convertBetsToLibraryFormat(n.dozenBets),basketBets:this.convertBetsToLibraryFormat(n.basketBets)};return{calculator:r,inputs:t,maxTile:37,type:h1.AMERICAN}}else{let r=new ir,n=i.inputs,t={straightBets:this.convertBetsToLibraryFormat(n.straightBets),splitBets:this.convertBetsToLibraryFormat(n.splitBets),streetBets:this.convertBetsToLibraryFormat(n.streetBets),cornerBets:this.convertBetsToLibraryFormat(n.cornerBets),doubleStreetBets:this.convertBetsToLibraryFormat(n.doubleStreetBets),parityBets:this.convertBetsToLibraryFormat(n.parityBets),colorBets:this.convertBetsToLibraryFormat(n.colorBets),halfBets:this.convertBetsToLibraryFormat(n.halfBets),columnBets:this.convertBetsToLibraryFormat(n.columnBets),dozenBets:this.convertBetsToLibraryFormat(n.dozenBets)};return{calculator:r,inputs:t,maxTile:36,type:h1.EUROPEAN}}}static findMaxPayoutTile(a,e){let{calculator:i,inputs:r,maxTile:n}=this.preparePayoutInputs(a,e),t=S(0),l=0;for(let o=0;o<=n;o++){let{payoutAmount:s}=i.getPayoutDetails(r,o);if(s.gt(t))t=s,l=o}return{maxPayout:t.toNumber(),positionOfMaxMultiplier:l}}}var d7=W`
|
|
6655
|
+
`}}u([k({type:Number})],Yi.prototype,"multiplier",void 0),u([k({type:Number})],Yi.prototype,"bounceCount",void 0),u([k({type:String})],Yi.prototype,"backgroundColor",void 0),u([k({type:String})],Yi.prototype,"shadowColor",void 0),u([a1(".bin")],Yi.prototype,"binEl",void 0),Yi=u([J("origami-plinko-bin")],Yi);class H1{static againstNullOrUndefined(a,e){H1.against(a===null||a===void 0,e)}static againstNull(a,e){H1.againstNullOrUndefined(a,e)}static againstUndefined(a,e){H1.againstNullOrUndefined(a,e)}static againstEmptyArray(a,e){H1.against(a.length===0,e)}static againstEmptyCollection(a,e){H1.against(a.size===0,e)}static againstEmptyString(a,e){H1.against(a.length===0,e)}static againstNonInteger(a,e){H1.against(!Number.isInteger(a),e)}static againstNegativeNumber(a,e){H1.against(a<0,e)}static isOfType(a,e,i){H1.against(!e(a),i)}static againstDefined(a,e){H1.against(a!==null&&a!==void 0,e)}static againstNever(a,e){throw this.createError(e)}static against(a,e){if(!a)return;throw this.createError(e)}static createError(a){return typeof a==="function"?a():new Error(a)}}var D6=w1(F6(),1);var o1=function(a){return a[a.None=0]="None",a[a.Mutable=1]="Mutable",a[a.Watching=2]="Watching",a[a.RecursedCheck=4]="RecursedCheck",a[a.Recursed=8]="Recursed",a[a.Dirty=16]="Dirty",a[a.Pending=32]="Pending",a}({});function Al({update:a,notify:e,unwatched:i}){return{link:r,unlink:n,propagate:t,checkDirty:l,shallowPropagate:o};function r(d,c,m){let h=c.depsTail;if(h!==void 0&&h.dep===d)return;let f=h!==void 0?h.nextDep:c.deps;if(f!==void 0&&f.dep===d){f.version=m,c.depsTail=f;return}let v=d.subsTail;if(v!==void 0&&v.version===m&&v.sub===c)return;let g=c.depsTail=d.subsTail={version:m,dep:d,sub:c,prevDep:h,nextDep:f,prevSub:v,nextSub:void 0};if(f!==void 0)f.prevDep=g;if(h!==void 0)h.nextDep=g;else c.deps=g;if(v!==void 0)v.nextSub=g;else d.subs=g}function n(d,c=d.sub){let{dep:m,prevDep:h,nextDep:f,nextSub:v,prevSub:g}=d;if(f!==void 0)f.prevDep=h;else c.depsTail=h;if(h!==void 0)h.nextDep=f;else c.deps=f;if(v!==void 0)v.prevSub=g;else m.subsTail=g;if(g!==void 0)g.nextSub=v;else if((m.subs=v)===void 0)i(m);return f}function t(d){let c=d.nextSub,m;a:do{let h=d.sub,f=h.flags;if(!(f&(o1.RecursedCheck|o1.Recursed|o1.Dirty|o1.Pending)))h.flags=f|o1.Pending;else if(!(f&(o1.RecursedCheck|o1.Recursed)))f=o1.None;else if(!(f&o1.RecursedCheck))h.flags=f&~o1.Recursed|o1.Pending;else if(!(f&(o1.Dirty|o1.Pending))&&s(d,h))h.flags=f|(o1.Recursed|o1.Pending),f&=o1.Mutable;else f=o1.None;if(f&o1.Watching)e(h);if(f&o1.Mutable){let v=h.subs;if(v!==void 0){let g=(d=v).nextSub;if(g!==void 0)m={value:c,prev:m},c=g;continue}}if((d=c)!==void 0){c=d.nextSub;continue}while(m!==void 0)if(d=m.value,m=m.prev,d!==void 0){c=d.nextSub;continue a}break}while(!0)}function l(d,c){let m,h=0,f=!1;a:do{let v=d.dep,g=v.flags;if(c.flags&o1.Dirty)f=!0;else if((g&(o1.Mutable|o1.Dirty))===(o1.Mutable|o1.Dirty)){if(a(v)){let x=v.subs;if(x.nextSub!==void 0)o(x);f=!0}}else if((g&(o1.Mutable|o1.Pending))===(o1.Mutable|o1.Pending)){if(d.nextSub!==void 0||d.prevSub!==void 0)m={value:d,prev:m};d=v.deps,c=v,++h;continue}if(!f){let x=d.nextDep;if(x!==void 0){d=x;continue}}while(h--){let x=c.subs,z=x.nextSub!==void 0;if(z)d=m.value,m=m.prev;else d=x;if(f){if(a(c)){if(z)o(x);c=d.sub;continue}f=!1}else c.flags&=~o1.Pending;c=d.sub;let p=d.nextDep;if(p!==void 0){d=p;continue a}}return f}while(!0)}function o(d){do{let c=d.sub,m=c.flags;if((m&(o1.Pending|o1.Dirty))===o1.Pending){if(c.flags=m|o1.Dirty,(m&(o1.Watching|o1.RecursedCheck))===o1.Watching)e(c)}}while((d=d.nextSub)!==void 0)}function s(d,c){let m=c.depsTail;while(m!==void 0){if(m===d)return!0;m=m.prevDep}return!1}}function E6(a,e,i){let r=typeof a==="object",n=r?a:void 0;return{next:(r?a.next:a)?.bind(n),error:(r?a.error:e)?.bind(n),complete:(r?a.complete:i)?.bind(n)}}var Xi=[],Re=0,{link:j6,unlink:Jl,propagate:Vl,checkDirty:T6,shallowPropagate:q6}=Al({update(a){return a._update()},notify(a){Xi[Ci++]=a,a.flags&=~o1.Watching},unwatched(a){if(a.depsTail!==void 0)a.depsTail=void 0,a.flags=o1.Mutable|o1.Dirty,Ke(a)}}),He=0,Ci=0,Ta;function Ke(a){let e=a.depsTail,i=e!==void 0?e.nextDep:a.deps;while(i!==void 0)i=Jl(i,a)}function Wl(){while(He<Ci){let a=Xi[He];Xi[He++]=void 0,a.notify()}He=0,Ci=0}function Di(a,e){let i=typeof a==="function",r=a,n={_snapshot:i?void 0:a,subs:void 0,subsTail:void 0,deps:void 0,depsTail:void 0,flags:i?o1.None:o1.Mutable,get(){if(Ta!==void 0)j6(n,Ta,Re);return n._snapshot},subscribe(t){let l=E6(t),o={current:!1},s=$l(()=>{if(n.get(),!o.current)o.current=!0;else l.next?.(n._snapshot)});return{unsubscribe:()=>{s.stop()}}},_update(t){let l=Ta,o=e?.compare??Object.is;if(Ta=n,++Re,n.depsTail=void 0,i)n.flags=o1.Mutable|o1.RecursedCheck;try{let s=n._snapshot,c=typeof t==="function"?t(s):t===void 0&&i?r((m)=>m.get(),s):t;if(s===void 0||!o(s,c))return n._snapshot=c,!0;return!1}finally{if(Ta=l,i)n.flags&=~o1.RecursedCheck;Ke(n)}}};if(i)n.flags=o1.Mutable|o1.Dirty,n.get=function(){let t=n.flags;if(t&o1.Dirty||t&o1.Pending&&T6(n.deps,n)){if(n._update()){let l=n.subs;if(l!==void 0)q6(l)}}else if(t&o1.Pending)n.flags=t&~o1.Pending;if(Ta!==void 0)j6(n,Ta,Re);return n._snapshot};else n.set=function(t){if(n._update(t)){let l=n.subs;if(l!==void 0)Vl(l),q6(l),Wl()}};return n}function $l(a){let e=()=>{let r=Ta;Ta=i,++Re,i.depsTail=void 0,i.flags=o1.Watching|o1.RecursedCheck;try{return a()}finally{Ta=r,i.flags&=~o1.RecursedCheck,Ke(i)}},i={deps:void 0,depsTail:void 0,subs:void 0,subsTail:void 0,flags:o1.Watching|o1.RecursedCheck,notify(){let r=this.flags;if(r&o1.Dirty||r&o1.Pending&&T6(this.deps,this))e();else this.flags=o1.Watching},stop(){this.flags=o1.None,this.depsTail=void 0,Ke(this)}};return e(),i}var Ql=(()=>typeof Symbol==="function"&&Symbol.observable||"@@observable")(),G0=new WeakMap;function Ni(a,e){let i,r=a.getInitialSnapshot(),n=r,t=Di(n),l=(c)=>{if(!i)return;let m=c.type,h=i.get(m);if(h)h.forEach((v)=>v(c));let f=i.get("*");if(f)f.forEach((v)=>v(c))},o=a.transition;function s(c){let[m,h]=o(n,c);n=m,G0.get(d)?.forEach((f)=>{f.next?.({type:"@xstate.snapshot",event:c,snapshot:m,actorRef:d,rootId:d.sessionId})}),t.set(m);for(let f of h)if(typeof f==="function")f();else e?.[f.type]?.(f),l(f)}let d={get _snapshot(){return t._snapshot},on(c,m){if(!i)i=new Map;let h=i.get(c);if(!h)h=new Set,i.set(c,h);let f=m.bind(void 0);return h.add(f),{unsubscribe(){h.delete(f)}}},transition:a.transition,sessionId:Xl(),send(c){G0.get(d)?.forEach((m)=>{m.next?.({type:"@xstate.event",event:c,sourceRef:void 0,actorRef:d,rootId:d.sessionId})}),s(c)},getSnapshot(){return n},get(){return t.get()},getInitialSnapshot(){return r},subscribe:t.subscribe.bind(t),[Ql](){return this},inspect:(c)=>{let m=E6(c);return G0.set(d,G0.get(d)??new Set),G0.get(d).add(m),m.next?.({type:"@xstate.actor",actorRef:d,rootId:d.sessionId}),m.next?.({type:"@xstate.snapshot",snapshot:r,event:{type:"@xstate.init"},actorRef:d,rootId:d.sessionId}),{unsubscribe(){return G0.get(d)?.delete(m)}}},trigger:new Proxy({},{get:(c,m)=>{return(h)=>{d.send({...h,type:m})}}}),select(c,m=Object.is){return Di(()=>c(d.get().context),{compare:m})},with(c){let m=c(a);return Ni(m)}};return d}function Gi(a){if("transition"in a)return Ni(a);let e=Yl(a.on);return Ni({getInitialSnapshot:()=>({status:"active",context:a.context,output:void 0,error:void 0}),transition:e},a.emits)}function Yl(a,e){return(i,r)=>{let n=i.context,t=a?.[r.type],l=[],o={emit:new Proxy({},{get:(d,c)=>{return(m)=>{l.push({...m,type:c})}}}),effect:(d)=>{l.push(d)}};if(!t)return[i,l];let s=e?e(n,(d)=>t(d,r,o)):t(n,r,o)??n;return[s===n?i:{...i,context:s},l]}}function Xl(){return Math.random().toString(36).slice(6)}var Cl;((a)=>{a.DICE="DICE",a.MINES="MINES",a.KENO="KENO",a.LIMBO="LIMBO",a.ADVANCED_DICE="ADVANCED_DICE",a.BACCARAT="BACCARAT",a.DIAMONDS="DIAMONDS",a.PLINKO="PLINKO",a.ROULETTE="ROULETTE",a.WHEEL="WHEEL",a.BLACKJACK="BLACKJACK"})(Cl||={});class Pi{gameId;constructor(a){this.gameId=a}getGameResult(a){return this.determineGameResult(a)}}var Dl;((a)=>a.INPUT_VALIDATION_ERROR="INPUT_VALIDATION_ERROR")(Dl||={});class F1 extends Error{static createValidationError(a){return new F1("INPUT_VALIDATION_ERROR",a)}static isGameError(a){return a instanceof F1}errorCode;constructor(a,e){super(e);this.errorCode=a}}var Nl;((a)=>{a.ROLL_BETWEEN="ROLL_BETWEEN",a.ROLL_OUTSIDE="ROLL_OUTSIDE",a.ROLL_BETWEEN_TWO="ROLL_BETWEEN_TWO"})(Nl||={});var Gl=["Clubs","Diamonds","Hearts","Spades"],Pl=["Ace","2","3","4","5","6","7","8","9","10","Jack","Queen","King"],K2;((a)=>{a.PLAYER_WIN="PLAYER_WIN",a.TIE="TIE",a.BANKER_WIN="BANKER_WIN"})(K2||={});var m1;((a)=>{a.PLAYER="PLAYER",a.TIE="TIE",a.BANKER="BANKER"})(m1||={});var Ul={["PLAYER_WIN"]:{betType:"PLAYER",multiplier:2},["TIE"]:{betType:"TIE",multiplier:9},["BANKER_WIN"]:{betType:"BANKER",multiplier:1.95}},Ui=(a)=>{return new S(0).add(a.bets.reduce((e,i)=>e.add(i.amount),new S(0)))};class Bi extends Pi{constructor(){super("BACCARAT")}determineGameResult({generator:a,gameInputs:e,edge:i}){if(i!==1)throw new Error("Baccarat is only available at 1% edge.");this.validateGameInputs(e);let r=a.getRandomIntsWithReplacement({min:0,max:51,count:6}),n=r.values,t=n.slice(0,3),l=n.slice(3,6),o=[],s=0;for(let x of t.slice(0,2)){let z=this.mapRandomValueToCard(x),p=this.mapRandomValueToCardValue(x);o.push(z),s=(s+p)%10}let d=[],c=0;for(let x of l.slice(0,2)){let z=this.mapRandomValueToCard(x),p=this.mapRandomValueToCardValue(x);d.push(z),c=(c+p)%10}if(!this.isNaturalWin(s,c)){let x=this.shouldDrawThirdPlayerCard(s),z=null;if(x)z=this.mapRandomValueToCardValue(t[2]),o.push(this.mapRandomValueToCard(t[2])),s=(s+z)%10;if(this.shouldDrawThirdBankerCard(c,z))d.push(this.mapRandomValueToCard(l[2])),c=(c+this.mapRandomValueToCardValue(l[2]))%10}let m;if(s===c)m="TIE";else m=s>c?"PLAYER_WIN":"BANKER_WIN";let h=Ui(e),{betType:f,multiplier:v}=Ul[m],g=new S(0);if(g=g.add(e.bets.filter((x)=>x.type===f).reduce((x,z)=>x.add(z.amount.mul(v)),new S(0))),m==="TIE")g=g.add(e.bets.filter((x)=>x.type==="PLAYER"||x.type==="BANKER").reduce((x,z)=>x.add(z.amount),new S(0)));return{isFinished:!0,payoutMultiplier:h.gt(0)?g.div(h):new S(0),outputs:{playerCards:o,playerHandValue:s,bankerCards:d,bankerHandValue:c,gameOutcome:m,result:r.values},randomValues:r}}validateGameInputs(a){if(a.bets.length===0)throw new Error("Must place at least a single bet.");if(!a.bets.every((e)=>e.amount.gte(0)))throw new Error("Invalid bet.")}mapRandomValueToCard(a){let e=Gl[Math.floor(a/13)],i=Pl[a%13];return{suit:e,rank:i}}isNaturalWin(a,e){let i=[8,9];return i.includes(a)||i.includes(e)}mapRandomValueToCardValue(a){let e=a%13;if(e===0)return 1;if(e>=10)return 10;return e+1}shouldDrawThirdPlayerCard(a){return a<=5}shouldDrawThirdBankerCard(a,e){if(e===null)return a<=5;if(a<=2)return!0;if(a===3)return e!==8;if(a===4)return[2,3,4,5,6,7].includes(e);if(a===5)return[4,5,6,7].includes(e);if(a===6)return[6,7].includes(e);return!1}}var Bl;((a)=>{a.START="START",a.HIT="HIT",a.STAND="STAND"})(Bl||={});var _l=0,ao=51,$6=Array.from({length:52},(a,e)=>e),eo=["Spades","Hearts","Diamonds","Clubs"],Q6=["Ace","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King"],io=["Jack","Queen","King"];class Y6{value;constructor(a){let e=$6[a];H1.againstNullOrUndefined(e,`Invalid card value: ${a}`),this.value=e}get suit(){let a=Math.floor(this.value/13),e=eo[a];return H1.againstNullOrUndefined(e,`Invalid suit index: ${a}`),e}get rank(){let a=this.value%13,e=Q6[a];return H1.againstNullOrUndefined(e,`Invalid rank index: ${a}`),e}toDto(){return{rank:this.rank,suit:this.suit,cardValue:this.value}}}var ro=2.5,no=2,to=1,lo=0,oo=17,L6=21,X6=21,A6=63,J6=10,so=10;class U0 extends Y6{get numericRank(){if(io.includes(this.rank))return so;return Q6.indexOf(this.rank)+1}static fromValue(a){return H1.against(!$6.includes(a),`Invalid card value: ${a}`),new U0(a)}}class _i{cards;hardHandValue;softHandValue=null;constructor(a){if(this.cards=a,this.hardHandValue=a.reduce((e,i)=>e+i.numericRank,0),a.some((e)=>e.rank==="Ace")&&this.hardHandValue+J6<=L6)this.softHandValue=this.hardHandValue+J6}get cardCount(){return this.cards.length}get hasSoftHandValue(){return this.softHandValue!==null}get isBusted(){return this.hardHandValue>L6}get isBlackjack(){return this.cardCount===2&&this.highestHandValue===X6}get highestHandValue(){return this.softHandValue!==null?this.softHandValue:this.hardHandValue}}class ar{cards;value;constructor(a){this.cards=a.map((e)=>U0.fromValue(e)),this.value=new _i(this.cards)}get isBusted(){return this.value.isBusted}get isBlackjack(){return this.value.isBlackjack}get highestHandValue(){return this.value.highestHandValue}get rawValues(){return this.cards.map((a)=>a.value)}toDto(){return{cards:this.cards.map((a)=>a.toDto()),value:this.highestHandValue}}}class S2{multipliers;constructor(a){this.multipliers=a}getMultipliers(a){let e=this.multipliers.get(a);if(e===void 0)throw new Error(`Multipliers for ${a} not found`);return e}getAllMultipliers(){return Array.from(this.multipliers.entries()).map(([a,e])=>({edge:a,multipliers:e}))}}var ho;((a)=>{a.PAIR="PAIR",a.TWO_PAIR="TWO_PAIR",a.THREE_OF_A_KIND="THREE_OF_A_KIND",a.FULL_HOUSE="FULL_HOUSE",a.FOUR_OF_A_KIND="FOUR_OF_A_KIND",a.FIVE_OF_A_KIND="FIVE_OF_A_KIND"})(ho||={});var uo={PAIR:0.1,TWO_PAIR:2,THREE_OF_A_KIND:3,FULL_HOUSE:4.3,FOUR_OF_A_KIND:5,FIVE_OF_A_KIND:50},co={PAIR:0.1,TWO_PAIR:2,THREE_OF_A_KIND:3,FULL_HOUSE:4,FOUR_OF_A_KIND:4.8,FIVE_OF_A_KIND:50},fo={PAIR:0.1,TWO_PAIR:2,THREE_OF_A_KIND:3,FULL_HOUSE:3.7,FOUR_OF_A_KIND:4.6,FIVE_OF_A_KIND:50},mo={PAIR:0.1,TWO_PAIR:2,THREE_OF_A_KIND:3,FULL_HOUSE:3.4,FOUR_OF_A_KIND:4.4,FIVE_OF_A_KIND:50},go={PAIR:0.1,TWO_PAIR:2,THREE_OF_A_KIND:2.8,FULL_HOUSE:3.2,FOUR_OF_A_KIND:3.6,FIVE_OF_A_KIND:50},zZ=new S2(new Map([[1,uo],[2,co],[3,fo],[4,mo],[8,go]]));var wo;((a)=>{a.ABOVE="ABOVE",a.BELOW="BELOW"})(wo||={});var vo;((a)=>{a.CLASSIC="CLASSIC",a.LOW_RISK="LOW_RISK",a.MEDIUM_RISK="MEDIUM_RISK",a.HIGH_RISK="HIGH_RISK"})(vo||={});var po={[1]:{CLASSIC:[0,3.96],LOW_RISK:[0.7,1.85],MEDIUM_RISK:[0.4,2.75],HIGH_RISK:[0,3.96]},[2]:{CLASSIC:[0,1.9,4.5],LOW_RISK:[0,2,3.8],MEDIUM_RISK:[0,1.8,5.1],HIGH_RISK:[0,0,17.1]},[3]:{CLASSIC:[0,1,3.1,10.4],LOW_RISK:[0,1.1,1.38,26],MEDIUM_RISK:[0,0,2.8,50],HIGH_RISK:[0,0,0,81.5]},[4]:{CLASSIC:[0,0.8,1.8,5,22.5],LOW_RISK:[0,0,2.2,7.9,90],MEDIUM_RISK:[0,0,1.7,10,100],HIGH_RISK:[0,0,0,10,259]},[5]:{CLASSIC:[0,0.25,1.4,4.1,16.5,36],LOW_RISK:[0,0,1.5,4.2,13,300],MEDIUM_RISK:[0,0,1.4,4,14,390],HIGH_RISK:[0,0,0,4.5,48,450]},[6]:{CLASSIC:[0,0,1,3.68,7,16.5,40],LOW_RISK:[0,0,1.1,2,6.2,100,700],MEDIUM_RISK:[0,0,0,3,9,180,710],HIGH_RISK:[0,0,0,0,11,350,710]},[7]:{CLASSIC:[0,0,0.47,3,4.5,14,31,60],LOW_RISK:[0,0,1.1,1.6,3.5,15,225,700],MEDIUM_RISK:[0,0,0,2,7,30,400,800],HIGH_RISK:[0,0,0,0,7,90,400,800]},[8]:{CLASSIC:[0,0,0,2.2,4,13,22,55,70],LOW_RISK:[0,0,1.1,1.5,2,5.5,39,100,800],MEDIUM_RISK:[0,0,0,2,4,11,67,400,900],HIGH_RISK:[0,0,0,0,5,20,270,600,900]},[9]:{CLASSIC:[0,0,0,1.55,3,8,15,44,60,85],LOW_RISK:[0,0,1.1,1.3,1.7,2.5,7.5,50,250,1000],MEDIUM_RISK:[0,0,0,2,2.5,5,15,100,500,1000],HIGH_RISK:[0,0,0,0,4,11,56,500,800,1000]},[10]:{CLASSIC:[0,0,0,1.4,2.25,4.5,8,17,50,80,100],LOW_RISK:[0,0,1.1,1.2,1.3,1.8,3.5,13,50,250,1000],MEDIUM_RISK:[0,0,0,1.6,2,4,7,26,100,500,1000],HIGH_RISK:[0,0,0,0,3.5,8,13,63,500,800,1000]}},ko={[1]:{CLASSIC:[0,3.92],LOW_RISK:[0.7,1.82],MEDIUM_RISK:[0.4,2.72],HIGH_RISK:[0,3.92]},[2]:{CLASSIC:[0,1.9,4.32],LOW_RISK:[0,2,3.65],MEDIUM_RISK:[0,1.8,5],HIGH_RISK:[0,0,17]},[3]:{CLASSIC:[0,1,3,10.7],LOW_RISK:[0,1.1,1.3,26.2],MEDIUM_RISK:[0,0,2.7,50.3],HIGH_RISK:[0,0,0,80.7]},[4]:{CLASSIC:[0,0.8,1.8,4.75,22.5],LOW_RISK:[0,0,2.2,7.65,90],MEDIUM_RISK:[0,0,1.7,9.8,100],HIGH_RISK:[0,0,0,9.75,259]},[5]:{CLASSIC:[0,0.2,1.4,4.25,16.4,36],LOW_RISK:[0,0,1.5,4.1,12.9,300],MEDIUM_RISK:[0,0,1.4,3.9,13.9,390],HIGH_RISK:[0,0,0,4.5,47,450]},[6]:{CLASSIC:[0,0,1,3.6,7,17,40],LOW_RISK:[0,0,1.1,2,5.8,100,700],MEDIUM_RISK:[0,0,0,3,8.6,180,710],HIGH_RISK:[0,0,0,0,10.6,350,710]},[7]:{CLASSIC:[0,0,0.5,3,4.1,13.7,31,60],LOW_RISK:[0,0,1.1,1.6,3.5,13.5,225,700],MEDIUM_RISK:[0,0,0,2,6.9,29.2,400,800],HIGH_RISK:[0,0,0,0,6.9,89.1,400,800]},[8]:{CLASSIC:[0,0,0,2.2,4,12.2,22,55,70],LOW_RISK:[0,0,1.1,1.5,2,4.8,38,100,800],MEDIUM_RISK:[0,0,0,2,4,10.4,66,400,900],HIGH_RISK:[0,0,0,0,4.9,19.8,270,600,900]},[9]:{CLASSIC:[0,0,0,1.5,3,8.1,15,45,60,85],LOW_RISK:[0,0,1.1,1.3,1.7,2.1,7.4,50,250,1000],MEDIUM_RISK:[0,0,0,2,2.5,4.6,15.2,100,500,1000],HIGH_RISK:[0,0,0,0,4,10.7,55.4,500,800,1000]},[10]:{CLASSIC:[0,0,0,1.4,2.2,4.5,7.6,16,50,80,100],LOW_RISK:[0,0,1.1,1.2,1.3,1.6,3.7,13,50,250,1000],MEDIUM_RISK:[0,0,0,1.6,2,3.8,6.8,26,100,500,1000],HIGH_RISK:[0,0,0,0,3.5,7.8,12.8,63,500,800,1000]}},bo={[1]:{CLASSIC:[0,3.88],LOW_RISK:[0.7,1.78],MEDIUM_RISK:[0.4,2.68],HIGH_RISK:[0,3.88]},[2]:{CLASSIC:[0,1.85,4.48],LOW_RISK:[0,2,3.48],MEDIUM_RISK:[0,1.8,4.8],HIGH_RISK:[0,0,16.8]},[3]:{CLASSIC:[0,1,3,9.9],LOW_RISK:[0,1.1,1.2,26.5],MEDIUM_RISK:[0,0,2.65,50],HIGH_RISK:[0,0,0,79.9]},[4]:{CLASSIC:[0,0.8,1.7,5,23],LOW_RISK:[0,0,2.1,7.95,90],MEDIUM_RISK:[0,0,1.7,9.55,100],HIGH_RISK:[0,0,0,9.5,259]},[5]:{CLASSIC:[0,0.2,1.4,4.1,16.6,36],LOW_RISK:[0,0,1.5,4,12.7,300],MEDIUM_RISK:[0,0,1.4,3.8,13.7,390],HIGH_RISK:[0,0,0,4.4,46.9,450]},[6]:{CLASSIC:[0,0,1,3.6,6.6,16.5,40],LOW_RISK:[0,0,1.1,1.9,5.9,100,700],MEDIUM_RISK:[0,0,0,2.9,8.7,180,710],HIGH_RISK:[0,0,0,0,10.8,342,710]},[7]:{CLASSIC:[0,0,0.5,2.9,4.3,13.5,30.4,60],LOW_RISK:[0,0,1.1,1.6,3.1,14.8,225,700],MEDIUM_RISK:[0,0,0,2,6.7,29,400,800],HIGH_RISK:[0,0,0,0,6.8,88.2,400,800]},[8]:{CLASSIC:[0,0,0,2.2,3.8,12.7,21,54,70],LOW_RISK:[0,0,1.1,1.5,1.8,5.2,38,100,800],MEDIUM_RISK:[0,0,0,2,3.8,10.8,66,400,900],HIGH_RISK:[0,0,0,0,4.9,19.5,265,600,900]},[9]:{CLASSIC:[0,0,0,1.5,2.9,8.2,15,43,60,85],LOW_RISK:[0,0,1.1,1.3,1.6,2.1,7.7,49,250,1000],MEDIUM_RISK:[0,0,0,2,2.4,4.7,15,98,500,1000],HIGH_RISK:[0,0,0,0,3.9,10.8,55,500,800,1000]},[10]:{CLASSIC:[0,0,0,1.4,2.2,4.2,8,16.7,50,80,100],LOW_RISK:[0,0,1.1,1.2,1.3,1.5,2.9,12,50,250,1000],MEDIUM_RISK:[0,0,0,1.6,2,3.6,6.6,26,100,500,1000],HIGH_RISK:[0,0,0,0,3.4,7.9,12.9,62,500,800,1000]}},zo={[1]:{CLASSIC:[0,3.88],LOW_RISK:[0.68,1.84],MEDIUM_RISK:[0.38,2.74],HIGH_RISK:[0,3.88]},[2]:{CLASSIC:[0,1.85,4.48],LOW_RISK:[0,1.96,3.75],MEDIUM_RISK:[0,1.77,5],HIGH_RISK:[0,0,16.82]},[3]:{CLASSIC:[0,1,3.05,9.35],LOW_RISK:[0,1.07,1.37,25.7],MEDIUM_RISK:[0,0,2.74,49],HIGH_RISK:[0,0,0,79.9]},[4]:{CLASSIC:[0,0.8,1.72,4.95,22.3],LOW_RISK:[0,0,2.15,7.86,87],MEDIUM_RISK:[0,0,1.67,9.7,100],HIGH_RISK:[0,0,0,9.7,256]},[5]:{CLASSIC:[0,0.24,1.38,4,16.3,35.5],LOW_RISK:[0,0,1.48,4.1,12.43,300],MEDIUM_RISK:[0,0,1.35,3.96,13.8,389],HIGH_RISK:[0,0,0,4.4,47,444]},[6]:{CLASSIC:[0,0,1,3.57,6.8,16.2,37],LOW_RISK:[0,0,1.06,1.96,6.16,99,700],MEDIUM_RISK:[0,0,0,2.9,8.9,178,709],HIGH_RISK:[0,0,0,0,10.4,347,709]},[7]:{CLASSIC:[0,0,0.45,2.95,4.44,13.85,30,60],LOW_RISK:[0,0,1.07,1.57,3.47,14.57,225,700],MEDIUM_RISK:[0,0,0,1.95,6.8,29.8,400,800],HIGH_RISK:[0,0,0,0,6.8,88.2,400,800]},[8]:{CLASSIC:[0,0,0,2.15,3.9,12.9,21.9,55,70],LOW_RISK:[0,0,1.08,1.45,1.98,5.48,38.8,100,800],MEDIUM_RISK:[0,0,0,1.95,3.96,10.6,66.9,396,896],HIGH_RISK:[0,0,0,0,4.9,19.2,269,599,896]},[9]:{CLASSIC:[0,0,0,1.5,2.95,7.96,14.96,44,60,85],LOW_RISK:[0,0,1.05,1.29,1.69,2.49,7.49,49,250,1000],MEDIUM_RISK:[0,0,0,1.95,2.47,4.9,14.9,99,500,1000],HIGH_RISK:[0,0,0,0,3.96,10.5,55,500,800,1000]},[10]:{CLASSIC:[0,0,0,1.37,2.2,4.45,7.7,16.7,50,80,100],LOW_RISK:[0,0,1.08,1.18,1.28,1.76,3.4,12.9,50,250,1000],MEDIUM_RISK:[0,0,0,1.57,1.95,3.96,6.9,25.5,100,500,1000],HIGH_RISK:[0,0,0,0,3.43,7.9,12.5,60,500,800,1000]}},yo={[1]:{CLASSIC:[0,3.68],LOW_RISK:[0.7,1.58],MEDIUM_RISK:[0.4,2.48],HIGH_RISK:[0,3.68]},[2]:{CLASSIC:[0,1.72,4.48],LOW_RISK:[0,1.9,3.28],MEDIUM_RISK:[0,1.7,4.62],HIGH_RISK:[0,0,15.95]},[3]:{CLASSIC:[0,0.9,2.95,9.9],LOW_RISK:[0,1,1.2,26],MEDIUM_RISK:[0,0,2.29,50],HIGH_RISK:[0,0,0,75.7]},[4]:{CLASSIC:[0,0.8,1.6,4.4,21],LOW_RISK:[0,0,2,7.5,86],MEDIUM_RISK:[0,0,1.5,9.5,98],HIGH_RISK:[0,0,0,9,246]},[5]:{CLASSIC:[0,0.2,1.2,4.2,16.3,37],LOW_RISK:[0,0,1.4,3.8,12,300],MEDIUM_RISK:[0,0,1.3,3.5,14,385],HIGH_RISK:[0,0,0,4,45,450]},[6]:{CLASSIC:[0,0,1,3.3,6.2,15,40],LOW_RISK:[0,0,1.1,1.7,4.9,99,700],MEDIUM_RISK:[0,0,0,2.6,8.5,177,705],HIGH_RISK:[0,0,0,0,10,327,710]},[7]:{CLASSIC:[0,0,0.4,2.8,4.2,14.5,30,60],LOW_RISK:[0,0,1.1,1.4,3,14,210,700],MEDIUM_RISK:[0,0,0,1.8,6.4,29,400,800],HIGH_RISK:[0,0,0,0,6.1,85,400,800]},[8]:{CLASSIC:[0,0,0,2,3.7,13,20,50,70],LOW_RISK:[0,0,1.1,1.4,1.6,4.6,35,90,800],MEDIUM_RISK:[0,0,0,1.9,3.5,10.5,65,400,900],HIGH_RISK:[0,0,0,0,4.5,18,265,600,900]},[9]:{CLASSIC:[0,0,0,1.4,2.6,9,11.5,40,60,85],LOW_RISK:[0,0,1,1.3,1.5,2,7,45,250,1000],MEDIUM_RISK:[0,0,0,2,2.1,4,15,98,500,1000],HIGH_RISK:[0,0,0,0,3.5,10.5,55,500,800,1000]},[10]:{CLASSIC:[0,0,0,1.3,2,4.4,8,16.7,50,80,100],LOW_RISK:[0,0,1,1.2,1.25,1.4,2,10,50,250,1000],MEDIUM_RISK:[0,0,0,1.5,1.9,3.5,6.2,26,100,500,1000],HIGH_RISK:[0,0,0,0,3,8,14,57,500,800,1000]}},IZ=new S2(new Map([[1,po],[2,ko],[3,bo],[4,zo],[8,yo]]));var xo;((a)=>{a.LOW_RISK="LOW_RISK",a.MEDIUM_RISK="MEDIUM_RISK",a.HIGH_RISK="HIGH_RISK"})(xo||={});var Zo={LOW_RISK:{8:[6,2.1,1.1,1,0.5,1,1.1,2.1,6],9:[6,2,1.6,1,0.7,0.7,1,1.6,2,6],10:[9,3,1.4,1.1,1,0.5,1,1.1,1.4,3,9],11:[8,3,1.9,1.3,1,0.7,0.7,1,1.3,1.9,3,8],12:[10,3,1.6,1.4,1.1,1,0.5,1,1.1,1.4,1.6,3,10],13:[8,4,3,1.9,1.2,0.9,0.7,0.7,0.9,1.2,1.9,3,4,8],14:[7,4,1.9,1.4,1.3,1.1,1,0.5,1,1.1,1.3,1.4,1.9,4,7],15:[15,8,3,2,1.5,1.1,1,0.7,0.7,1,1.1,1.5,2,3,8,15],16:[16,9,2,1.4,1.4,1.2,1.1,1,0.5,1,1.1,1.2,1.4,1.4,2,9,16]},MEDIUM_RISK:{8:[13,3,1.3,0.7,0.4,0.7,1.3,3,13],9:[18,4,1.7,0.9,0.5,0.5,0.9,1.7,4,18],10:[22,5,2,1.4,0.6,0.4,0.6,1.4,2,5,22],11:[24,6,3,1.8,0.7,0.5,0.5,0.7,1.8,3,6,24],12:[33,11,4,2,1.1,0.6,0.3,0.6,1.1,2,4,11,33],13:[43,13,6,3,1.3,0.7,0.4,0.4,0.7,1.3,3,6,13,43],14:[58,15,7,4,1.9,1,0.5,0.2,0.5,1,1.9,4,7,15,58],15:[88,18,11,5,3,1.3,0.5,0.3,0.3,0.5,1.3,3,5,11,18,88],16:[110,41.1,10,5,3,1.5,1,0.5,0.3,0.5,1,1.5,3,5,10,41.1,110]},HIGH_RISK:{8:[29,4,1.5,0.3,0.2,0.3,1.5,4,29],9:[43,7,2,0.6,0.2,0.2,0.6,2,7,43],10:[76,10,3,0.9,0.3,0.2,0.3,0.9,3,10,76],11:[120,13.9,5.2,1.4,0.4,0.2,0.2,0.4,1.4,5.2,13.9,120],12:[170,23.8,8.1,2,0.7,0.2,0.2,0.2,0.7,2,8.1,23.8,170],13:[260,36.7,11,4,1,0.2,0.2,0.2,0.2,1,4,11,36.7,260],14:[420,56.1,18,5,1.9,0.3,0.2,0.2,0.2,0.3,1.9,5,18,56.1,420],15:[620,82.8,27,8,3,0.5,0.2,0.2,0.2,0.2,0.5,3,8,27,82.8,620],16:[1000,129.9,26.1,9,4,2,0.2,0.2,0.2,0.2,0.2,2,4,9,26.1,129.9,1000]}},Io={LOW_RISK:{8:[6,1.9,1.1,1,0.5,1,1.1,1.9,6],9:[6,1.7,1.6,1,0.7,0.7,1,1.6,1.7,6],10:[9,2.5,1.4,1.1,1,0.5,1,1.1,1.4,2.5,9],11:[9,2.5,1.8,1.3,1,0.7,0.7,1,1.3,1.8,2.5,9],12:[10,3.2,1.6,1.3,1.1,1,0.5,1,1.1,1.3,1.6,3.2,10],13:[8,3.7,2.9,1.8,1.2,0.9,0.7,0.7,0.9,1.2,1.8,2.9,3.7,8],14:[7,4,1.8,1.2,1.3,1.1,1,0.5,1,1.1,1.3,1.2,1.8,4,7],15:[15,7.6,2.8,2,1.4,1.1,1,0.7,0.7,1,1.1,1.4,2,2.8,7.6,15],16:[16,9,1.7,1.2,1.3,1.2,1.1,1,0.5,1,1.1,1.2,1.3,1.2,1.7,9,16]},MEDIUM_RISK:{8:[13,3.2,1.4,0.6,0.4,0.6,1.4,3.2,13],9:[18,3.7,1.7,0.9,0.5,0.5,0.9,1.7,3.7,18],10:[22,5,1.9,1.4,0.6,0.4,0.6,1.4,1.9,5,22],11:[24,6,2.8,1.8,0.7,0.5,0.5,0.7,1.8,2.8,6,24],12:[33,11.1,4,1.9,1.1,0.6,0.3,0.6,1.1,1.9,4,11.1,33],13:[43,13.7,6.1,2.8,1.3,0.7,0.4,0.4,0.7,1.3,2.8,6.1,13.7,43],14:[58,13.7,6.7,3.9,1.9,1,0.5,0.2,0.5,1,1.9,3.9,6.7,13.7,58],15:[88,17.7,10.8,5,2.9,1.3,0.5,0.3,0.3,0.5,1.3,2.9,5,10.8,17.7,88],16:[110,40.5,9.8,4.8,2.9,1.5,1,0.5,0.3,0.5,1,1.5,2.9,4.8,9.8,40.5,110]},HIGH_RISK:{8:[29,3.8,1.5,0.3,0.2,0.3,1.5,3.8,29],9:[43,7.1,1.9,0.6,0.2,0.2,0.6,1.9,7.1,43],10:[76,9.9,2.9,0.9,0.3,0.2,0.3,0.9,2.9,9.9,76],11:[120,13.4,5.1,1.4,0.4,0.2,0.2,0.4,1.4,5.1,13.4,120],12:[170,23.2,7.9,2,0.7,0.2,0.2,0.2,0.7,2,7.9,23.2,170],13:[260,36.6,10.5,4,1,0.2,0.2,0.2,0.2,1,4,10.5,36.6,260],14:[420,55.5,17.6,4.9,1.9,0.3,0.2,0.2,0.2,0.3,1.9,4.9,17.6,55.5,420],15:[620,82.3,26.8,7.7,3,0.5,0.2,0.2,0.2,0.2,0.5,3,7.7,26.8,82.3,620],16:[1000,129.8,25.2,8.6,4,2,0.2,0.2,0.2,0.2,0.2,2,4,8.6,25.2,129.8,1000]}},Ho={LOW_RISK:{8:[6,2.2,1.1,1,0.4,1,1.1,2.2,6],9:[6,1.8,1.5,1,0.7,0.7,1,1.5,1.8,6],10:[9,2.4,1.3,1.1,1,0.5,1,1.1,1.3,2.4,9],11:[8,2.7,1.9,1.2,1,0.7,0.7,1,1.2,1.9,2.7,8],12:[10,3.3,1.6,1.2,1.1,1,0.5,1,1.1,1.2,1.6,3.3,10],13:[8,3.8,2.9,1.9,1.1,0.9,0.7,0.7,0.9,1.1,1.9,2.9,3.8,8],14:[7,3.9,2,1.4,1.3,1.1,1,0.4,1,1.1,1.3,1.4,2,3.9,7],15:[15,7.9,2.5,2,1.3,1.1,1,0.7,0.7,1,1.1,1.3,2,2.5,7.9,15],16:[16,8.9,1.9,1.4,1.4,1.2,1.1,1,0.4,1,1.1,1.2,1.4,1.4,1.9,8.9,16]},MEDIUM_RISK:{8:[13,3.5,1.2,0.7,0.3,0.7,1.2,3.5,13],9:[18,3.8,1.6,0.9,0.5,0.5,0.9,1.6,3.8,18],10:[22,5.2,2,1.3,0.6,0.4,0.6,1.3,2,5.2,22],11:[24,5.6,2.7,1.8,0.7,0.5,0.5,0.7,1.8,2.7,5.6,24],12:[33,11.3,4,1.8,1.1,0.6,0.3,0.6,1.1,1.8,4,11.3,33],13:[43,12.9,5.7,2.8,1.3,0.7,0.4,0.4,0.7,1.3,2.8,5.7,12.9,43],14:[58,13.7,6.9,3.9,1.8,1,0.5,0.2,0.5,1,1.8,3.9,6.9,13.7,58],15:[88,18,10.9,4.9,2.8,1.3,0.5,0.3,0.3,0.5,1.3,2.8,4.9,10.9,18,88],16:[110,39.9,9.9,5,2.9,1.4,1,0.5,0.3,0.5,1,1.4,2.9,5,9.9,39.9,110]},HIGH_RISK:{8:[29,4,1.4,0.3,0.2,0.3,1.4,4,29],9:[43,7.3,2,0.5,0.2,0.2,0.5,2,7.3,43],10:[76,9.8,2.8,0.9,0.3,0.2,0.3,0.9,2.8,9.8,76],11:[120,13.5,4.9,1.4,0.4,0.2,0.2,0.4,1.4,4.9,13.5,120],12:[170,23.3,7.9,1.9,0.7,0.2,0.2,0.2,0.7,1.9,7.9,23.3,170],13:[260,36.2,10.4,3.9,1,0.2,0.2,0.2,0.2,1,3.9,10.4,36.2,260],14:[420,54.8,17.9,4.9,1.8,0.3,0.2,0.2,0.2,0.3,1.8,4.9,17.9,54.8,420],15:[620,81.9,26.6,7.7,2.9,0.5,0.2,0.2,0.2,0.2,0.5,2.9,7.7,26.6,81.9,620],16:[1000,130,24.9,8.4,3.9,2,0.2,0.2,0.2,0.2,0.2,2,3.9,8.4,24.9,130,1000]}},Ro={LOW_RISK:{8:[6,2,1.1,1,0.4,1,1.1,2,6],9:[6,1.9,1.4,1,0.7,0.7,1,1.4,1.9,6],10:[9,2.8,1.1,1.1,1,0.5,1,1.1,1.1,2.8,9],11:[8,2.7,1.7,1.2,1,0.7,0.7,1,1.2,1.7,2.7,8],12:[10,2.7,1.4,1.2,1.1,1,0.5,1,1.1,1.2,1.4,2.7,10],13:[8,3.5,2.8,1.9,1.3,0.9,0.6,0.6,0.9,1.3,1.9,2.8,3.5,8],14:[7,3.3,1.6,1.3,1.3,1.1,1,0.4,1,1.1,1.3,1.3,1.6,3.3,7],15:[15,8,2.9,2,1.4,1.2,1,0.6,0.6,1,1.2,1.4,2,2.9,8,15],16:[16,9.1,2.2,1.4,1.2,1.2,1.1,1,0.4,1,1.1,1.2,1.2,1.4,2.2,9.1,16]},MEDIUM_RISK:{8:[13,2.9,1.2,0.7,0.4,0.7,1.2,2.9,13],9:[18,3.5,1.6,0.9,0.5,0.5,0.9,1.6,3.5,18],10:[22,4.7,2,1.3,0.6,0.4,0.6,1.3,2,4.7,22],11:[24,5.7,2.5,1.8,0.7,0.5,0.5,0.7,1.8,2.5,5.7,24],12:[33,10.7,3.8,1.8,1.1,0.6,0.3,0.6,1.1,1.8,3.8,10.7,33],13:[43,12.6,5.6,2.7,1.3,0.7,0.4,0.4,0.7,1.3,2.7,5.6,12.6,43],14:[58,13.7,6.4,3.8,1.8,1,0.5,0.2,0.5,1,1.8,3.8,6.4,13.7,58],15:[88,17.7,10.7,4.9,2.7,1.3,0.5,0.3,0.3,0.5,1.3,2.7,4.9,10.7,17.7,88],16:[110,39.7,9.6,4.8,2.8,1.4,1,0.5,0.3,0.5,1,1.4,2.8,4.8,9.6,39.7,110]},HIGH_RISK:{8:[29,3.9,1.4,0.3,0.2,0.3,1.4,3.9,29],9:[43,6.9,1.8,0.6,0.2,0.2,0.6,1.8,6.9,43],10:[76,9.8,2.7,0.9,0.3,0.2,0.3,0.9,2.7,9.8,76],11:[120,13.1,5.1,1.3,0.4,0.2,0.2,0.4,1.3,5.1,13.1,120],12:[170,22.7,7.7,1.9,0.7,0.2,0.2,0.2,0.7,1.9,7.7,22.7,170],13:[260,35.9,10.3,3.8,1,0.2,0.2,0.2,0.2,1,3.8,10.3,35.9,260],14:[420,54.2,17.5,4.8,1.8,0.3,0.2,0.2,0.2,0.3,1.8,4.8,17.5,54.2,420],15:[620,80.6,26.1,7.8,2.8,0.5,0.2,0.2,0.2,0.2,0.5,2.8,7.8,26.1,80.6,620],16:[1000,129.7,24.7,8.2,3.8,2,0.2,0.2,0.2,0.2,0.2,2,3.8,8.2,24.7,129.7,1000]}},Ko={LOW_RISK:{8:[5,1.8,1,1,0.4,1,1,1.8,5],9:[5,1.7,1.2,1,0.7,0.7,1,1.2,1.7,5],10:[9,2.8,1.2,1,1,0.4,1,1,1.2,2.8,9],11:[8,2.5,1.6,1,1,0.7,0.7,1,1,1.6,2.5,8],12:[10,2.5,1.3,1.3,1,1,0.4,1,1,1.3,1.3,2.5,10],13:[8,4.1,2.8,1.8,1.1,0.9,0.6,0.6,0.9,1.1,1.8,2.8,4.1,8],14:[7,3.3,1.7,1.2,1.2,1,1,0.4,1,1,1.2,1.2,1.7,3.3,7],15:[15,7.3,2.9,1.9,1.4,1,1,0.6,0.6,1,1,1.4,1.9,2.9,7.3,15],16:[16,8.7,2,1.5,1.3,1,1.1,1,0.3,1,1.1,1,1.3,1.5,2,8.7,16]},MEDIUM_RISK:{8:[13,2.6,1.1,0.7,0.4,0.7,1.1,2.6,13],9:[17,3.3,1.4,0.9,0.5,0.5,0.9,1.4,3.3,17],10:[21,4.1,1.7,1.3,0.6,0.4,0.6,1.3,1.7,4.1,21],11:[23,5.6,2.4,1.6,0.7,0.5,0.5,0.7,1.6,2.4,5.6,23],12:[32,10.2,3.7,1.7,1.1,0.6,0.2,0.6,1.1,1.7,3.7,10.2,32],13:[42,11.7,5.3,2.5,1.2,0.7,0.4,0.4,0.7,1.2,2.5,5.3,11.7,42],14:[56,13.2,5.9,3.6,1.6,1,0.5,0.2,0.5,1,1.6,3.6,5.9,13.2,56],15:[86,17.3,10,4.6,2.6,1.2,0.5,0.3,0.3,0.5,1.2,2.6,4.6,10,17.3,86],16:[107,39,9.9,4.5,2.4,1.3,1,0.5,0.3,0.5,1,1.3,2.4,4.5,9.9,39,107]},HIGH_RISK:{8:[28,3.3,1.4,0.3,0.2,0.3,1.4,3.3,28],9:[42,6.7,1.6,0.6,0.2,0.2,0.6,1.6,6.7,42],10:[74,9.6,2.6,0.9,0.3,0.1,0.3,0.9,2.6,9.6,74],11:[116,12.7,4.8,1.2,0.4,0.2,0.2,0.4,1.2,4.8,12.7,116],12:[165,20.9,7.2,1.8,0.7,0.2,0.2,0.2,0.7,1.8,7.2,20.9,165],13:[252,33.9,10.1,3.4,1,0.2,0.2,0.2,0.2,1,3.4,10.1,33.9,252],14:[407,51.9,16.3,4.6,1.7,0.3,0.2,0.2,0.2,0.3,1.7,4.6,16.3,51.9,407],15:[600,76.9,24.9,7.4,2.6,0.5,0.2,0.2,0.2,0.2,0.5,2.6,7.4,24.9,76.9,600],16:[1000,122,24.5,8,3.7,1.8,0.2,0.2,0.2,0.2,0.2,1.8,3.7,8,24.5,122,1000]}},SZ=new S2(new Map([[1,Zo],[2,Io],[3,Ho],[4,Ro],[8,Ko]]));var C6=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36],So=[37,...C6],B0=[[0,1],[0,2],[0,3],[1,2],[1,4],[2,3],[2,5],[3,6],[4,5],[4,7],[5,6],[5,8],[6,9],[7,8],[7,10],[8,9],[8,11],[9,12],[10,11],[10,13],[11,12],[11,14],[12,15],[13,14],[13,16],[14,15],[14,17],[15,18],[16,17],[16,19],[17,18],[17,20],[18,21],[19,20],[19,22],[20,21],[20,23],[21,24],[22,23],[22,25],[23,24],[23,26],[24,27],[25,26],[25,28],[26,27],[26,29],[27,30],[28,29],[28,31],[29,30],[29,32],[30,33],[31,32],[31,34],[32,33],[32,35],[33,36],[34,35],[35,36]],_0=[[0,1],[0,37],[3,37],[1,2],[1,4],[2,3],[2,5],[3,6],[4,5],[4,7],[5,6],[5,8],[6,9],[7,8],[7,10],[8,9],[8,11],[9,12],[10,11],[10,13],[11,12],[11,14],[12,15],[13,14],[13,16],[14,15],[14,17],[15,18],[16,17],[16,19],[17,18],[17,20],[18,21],[19,20],[19,22],[20,21],[20,23],[21,24],[22,23],[22,25],[23,24],[23,26],[24,27],[25,26],[25,28],[26,27],[26,29],[27,30],[28,29],[28,31],[29,30],[29,32],[30,33],[31,32],[31,34],[32,33],[32,35],[33,36],[34,35],[35,36]],a2=[[0,1,2],[0,2,3],[1,2,3],[4,5,6],[7,8,9],[10,11,12],[13,14,15],[16,17,18],[19,20,21],[22,23,24],[25,26,27],[28,29,30],[31,32,33],[34,35,36]],e2=[[0,1,2],[0,2,37],[1,2,3],[2,3,37],[4,5,6],[7,8,9],[10,11,12],[13,14,15],[16,17,18],[19,20,21],[22,23,24],[25,26,27],[28,29,30],[31,32,33],[34,35,36]],i2=[[0,1,2,3],[1,2,4,5],[2,3,5,6],[4,5,7,8],[5,6,8,9],[7,8,10,11],[8,9,11,12],[10,11,13,14],[11,12,14,15],[13,14,16,17],[14,15,17,18],[16,17,19,20],[17,18,20,21],[19,20,22,23],[20,21,23,24],[22,23,25,26],[23,24,26,27],[25,26,28,29],[26,27,29,30],[28,29,31,32],[29,30,32,33],[31,32,34,35],[32,33,35,36]],r2=[[1,2,4,5],[2,3,5,6],[4,5,7,8],[5,6,8,9],[7,8,10,11],[8,9,11,12],[10,11,13,14],[11,12,14,15],[13,14,16,17],[14,15,17,18],[16,17,19,20],[17,18,20,21],[19,20,22,23],[20,21,23,24],[22,23,25,26],[23,24,26,27],[25,26,28,29],[26,27,29,30],[28,29,31,32],[29,30,32,33],[31,32,34,35],[32,33,35,36]],Oo=[0,1,2,3,37],Me=[[1,2,3,4,5,6],[4,5,6,7,8,9],[7,8,9,10,11,12],[10,11,12,13,14,15],[13,14,15,16,17,18],[16,17,18,19,20,21],[19,20,21,22,23,24],[22,23,24,25,26,27],[25,26,27,28,29,30],[28,29,30,31,32,33],[31,32,33,34,35,36]],Fe=[[1,2,3,4,5,6],[4,5,6,7,8,9],[7,8,9,10,11,12],[10,11,12,13,14,15],[13,14,15,16,17,18],[16,17,18,19,20,21],[19,20,21,22,23,24],[22,23,24,25,26,27],[25,26,27,28,29,30],[28,29,30,31,32,33],[31,32,33,34,35,36]],n2;((a)=>{a.EVEN="EVEN",a.ODD="ODD"})(n2||={});var t2;((a)=>{a.RED="RED",a.BLACK="BLACK"})(t2||={});var l2;((a)=>{a.LOW="LOW",a.HIGH="HIGH"})(l2||={});var o2;((a)=>{a.TOP="TOP",a.MIDDLE="MIDDLE",a.BOTTOM="BOTTOM"})(o2||={});var s2;((a)=>{a.FIRST="FIRST",a.SECOND="SECOND",a.THIRD="THIRD"})(s2||={});var h1;((a)=>{a.AMERICAN="AMERICAN",a.EUROPEAN="EUROPEAN"})(h1||={});var Mo=(a)=>{if(a.straightBets.length===0&&a.splitBets.length===0&&a.streetBets.length===0&&a.cornerBets.length===0&&a.doubleStreetBets.length===0&&a.parityBets.length===0&&a.colorBets.length===0&&a.halfBets.length===0&&a.columnBets.length===0&&a.dozenBets.length===0)throw F1.createValidationError("Must place at least a single bet.");if(!a.straightBets.every((e)=>e.amount.gte(0)&&O2(e.value)))throw F1.createValidationError("Invalid straight bet.");if(!a.splitBets.every((e)=>e.amount.gte(0)&&Fo(e.values)))throw F1.createValidationError("Invalid split bet.");if(!a.streetBets.every((e)=>e.amount.gte(0)&&jo(e.values)))throw F1.createValidationError("Invalid street bet.");if(!a.cornerBets.every((e)=>e.amount.gte(0)&&qo(e.values)))throw F1.createValidationError("Invalid corner bet.");if(!a.doubleStreetBets.every((e)=>e.amount.gte(0)&&Eo(e.values)))throw F1.createValidationError("Invalid double street bet.");if(!a.parityBets.every((e)=>e.amount.gte(0)&&Object.values(n2).includes(e.parity)))throw F1.createValidationError("Invalid parity bet.");if(!a.colorBets.every((e)=>e.amount.gte(0)&&Object.values(t2).includes(e.color)))throw F1.createValidationError("Invalid color bet.");if(!a.halfBets.every((e)=>e.amount.gte(0)&&Object.values(l2).includes(e.half)))throw F1.createValidationError("Invalid half bet.");if(!a.columnBets.every((e)=>e.amount.gte(0)&&Object.values(o2).includes(e.column)))throw F1.createValidationError("Invalid column bet.");if(!a.dozenBets.every((e)=>e.amount.gte(0)&&Object.values(s2).includes(e.dozen)))throw F1.createValidationError("Invalid dozen bet.")},O2=(a)=>{return C6.includes(a)},Fo=(a)=>{if(a.length!==2)return!1;if(!a.every(O2))return!1;return B0.some(([e,i])=>e===a[0]&&i===a[1])},jo=(a)=>{if(a.length!==3)return!1;if(!a.every(O2))return!1;return a2.some(([e,i,r])=>e===a[0]&&i===a[1]&&r===a[2])},qo=(a)=>{if(a.length!==4)return!1;if(!a.every(O2))return!1;return i2.some(([e,i,r,n])=>e===a[0]&&i===a[1]&&r===a[2]&&n===a[3])},Eo=(a)=>{if(a.length!==6)return!1;if(!a.every(O2))return!1;return Me.some(([e,i,r,n,t,l])=>e===a[0]&&i===a[1]&&r===a[2]&&n===a[3]&&t===a[4]&&l===a[5])},To=(a)=>{if(a.straightBets.length===0&&a.splitBets.length===0&&a.streetBets.length===0&&a.cornerBets.length===0&&a.basketBets.length===0&&a.doubleStreetBets.length===0&&a.parityBets.length===0&&a.colorBets.length===0&&a.halfBets.length===0&&a.columnBets.length===0&&a.dozenBets.length===0)throw F1.createValidationError("Must place at least a single bet.");if(!a.straightBets.every((e)=>e.amount.gte(0)&&M2(e.value)))throw F1.createValidationError("Invalid straight bet.");if(!a.splitBets.every((e)=>e.amount.gte(0)&&Lo(e.values)))throw F1.createValidationError("Invalid split bet.");if(!a.streetBets.every((e)=>e.amount.gte(0)&&Ao(e.values)))throw F1.createValidationError("Invalid street bet.");if(!a.cornerBets.every((e)=>e.amount.gte(0)&&Jo(e.values)))throw F1.createValidationError("Invalid corner bet.");if(!a.basketBets.every((e)=>e.amount.gte(0)))throw F1.createValidationError("Invalid basket bet.");if(!a.doubleStreetBets.every((e)=>e.amount.gte(0)&&Vo(e.values)))throw F1.createValidationError("Invalid double street bet.");if(!a.parityBets.every((e)=>e.amount.gte(0)&&Object.values(n2).includes(e.parity)))throw F1.createValidationError("Invalid parity bet.");if(!a.colorBets.every((e)=>e.amount.gte(0)&&Object.values(t2).includes(e.color)))throw F1.createValidationError("Invalid color bet.");if(!a.halfBets.every((e)=>e.amount.gte(0)&&Object.values(l2).includes(e.half)))throw F1.createValidationError("Invalid half bet.");if(!a.columnBets.every((e)=>e.amount.gte(0)&&Object.values(o2).includes(e.column)))throw F1.createValidationError("Invalid column bet.");if(!a.dozenBets.every((e)=>e.amount.gte(0)&&Object.values(s2).includes(e.dozen)))throw F1.createValidationError("Invalid dozen bet.")},M2=(a)=>{return So.includes(a)};function Lo(a){if(a.length!==2)return!1;if(!a.every(M2))return!1;return _0.some(([e,i])=>e===a[0]&&i===a[1])}var Ao=(a)=>{if(a.length!==3)return!1;if(!a.every(M2))return!1;return e2.some(([e,i,r])=>e===a[0]&&i===a[1]&&r===a[2])},Jo=(a)=>{if(a.length!==4)return!1;if(!a.every(M2))return!1;return r2.some(([e,i,r,n])=>e===a[0]&&i===a[1]&&r===a[2]&&n===a[3])},Vo=(a)=>{if(a.length!==6)return!1;if(!a.every(M2))return!1;return Fe.some(([e,i,r,n,t,l])=>e===a[0]&&i===a[1]&&r===a[2]&&n===a[3]&&t===a[4]&&l===a[5])},Wo={straightBets:36,splitBets:18,streetBets:12,cornerBets:9,basketBets:7,doubleStreetBets:6,parityBets:2,colorBets:2,halfBets:2,columnBets:3,dozenBets:3},$o=[3,6,9,12,15,18,21,24,27,30,33,36],Qo=[2,5,8,11,14,17,20,23,26,29,32,35],Yo=[1,4,7,10,13,16,19,22,25,28,31,34],Xo=[1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36],Co=[2,4,6,8,10,11,13,15,17,20,22,24,26,28,29,31,33,35];class er extends Pi{constructor(){super("ROULETTE")}determineGameResult({generator:a,gameInputs:e}){this.validateInputs(e);let i=a.getRandomInt({min:0,max:this.maxNumber}),r=i.value,n=this.determineBetOutcomes(e,r),{payoutMultiplier:t}=this.getPayoutDetails(e,r);return{outputs:{betOutcomes:n,result:i.values},payoutMultiplier:t,isFinished:!0,randomValues:i}}getBetAmount(a){return this.calculateTotalBetAmount(this.getBetTotals(a))}getPayoutDetails(a,e){let i=this.determineBetOutcomes(a,e),r=this.getBetTotals(a),n=this.getBetTotals(i.winningBets),t=this.calculateTotalBetAmount(r),l=this.calculateTotalPayout(n);return{payoutMultiplier:t.gt(0)?l.div(t):new Va(0),payoutAmount:l}}determineBetOutcomes(a,e){let i={},r={};for(let n of Object.keys(a)){let t=a[n],l=this.betPredicates[n],{winning:o,losing:s}=this.partitionBets(t,l,e);i[n]=o,r[n]=s}return{winningBets:i,losingBets:r}}calculateTotalAmount(a){return a.reduce((e,i)=>e.plus(i.amount),new Va(0))}isWinningStraightBet(a,e){return a.value===e}isWinningSplitBet(a,e){return a.values.some((i)=>i===e)}isWinningStreetBet(a,e){return a.values.some((i)=>i===e)}isWinningCornerBet(a,e){return a.values.some((i)=>i===e)}isWinningDoubleStreetBet(a,e){return a.values.some((i)=>i===e)}isWinningColorBet(a,e){let i=a;return Xo.includes(e)&&i.color==="RED"||Co.includes(e)&&i.color==="BLACK"}isWinningHalfBet(a,e){let i=a;if(e>0&&e<=18&&i.half==="LOW")return!0;if(e>18&&e<=36&&i.half==="HIGH")return!0;return!1}isWinningColumnBet(a,e){let i=a;return $o.includes(e)&&i.column==="TOP"||Qo.includes(e)&&i.column==="MIDDLE"||Yo.includes(e)&&i.column==="BOTTOM"}isWinningDozenBet(a,e){let i=a;if(e>0&&e<=12&&i.dozen==="FIRST")return!0;if(e>12&&e<=24&&i.dozen==="SECOND")return!0;if(e>24&&e<=36&&i.dozen==="THIRD")return!0;return!1}isWinningParityBet(a,e){let i=a;if(e===0||e===37)return!1;let r=e%2===0?"EVEN":"ODD";return i.parity===r}getBetTotals(a){let e={};for(let i of Object.keys(a))e[i]=this.calculateTotalAmount(a[i]);return e}calculateTotalBetAmount(a){return Object.values(a).reduce((e,i)=>e.plus(i),new Va(0))}partitionBets(a,e,i){return{winning:a.filter((r)=>e(r,i)),losing:a.filter((r)=>!e(r,i))}}calculateTotalPayout(a){return Object.entries(a).reduce((e,[i,r])=>{let n=Wo[i];return e.plus(r.mul(n||0))},new Va(0))}}class ir extends er{maxNumber=36;betPredicates={straightBets:this.isWinningStraightBet,splitBets:this.isWinningSplitBet,streetBets:this.isWinningStreetBet,cornerBets:this.isWinningCornerBet,doubleStreetBets:this.isWinningDoubleStreetBet,parityBets:this.isWinningParityBet,colorBets:this.isWinningColorBet,halfBets:this.isWinningHalfBet,columnBets:this.isWinningColumnBet,dozenBets:this.isWinningDozenBet};validateInputs(a){Mo(a)}}class rr extends er{maxNumber=37;betPredicates={straightBets:this.isWinningStraightBet,splitBets:this.isWinningSplitBet,streetBets:this.isWinningStreetBet,cornerBets:this.isWinningCornerBet,basketBets:this.isWinningBasketBet,doubleStreetBets:this.isWinningDoubleStreetBet,parityBets:this.isWinningParityBet,colorBets:this.isWinningColorBet,halfBets:this.isWinningHalfBet,columnBets:this.isWinningColumnBet,dozenBets:this.isWinningDozenBet};validateInputs(a){To(a)}isWinningBasketBet(a,e){return Oo.some((i)=>i===e)}}var Do;((a)=>{a.LOW_RISK="LOW_RISK",a.MEDIUM_RISK="MEDIUM_RISK",a.HIGH_RISK="HIGH_RISK"})(Do||={});var No;((a)=>{a[a.TEN=10]="TEN",a[a.TWENTY=20]="TWENTY",a[a.THIRTY=30]="THIRTY",a[a.FORTY=40]="FORTY",a[a.FIFTY=50]="FIFTY"})(No||={});var Go={LOW_RISK:{10:{ZERO:0,A:1.2,B:1.5},20:{ZERO:0,A:1.2,B:1.5},30:{ZERO:0,A:1.2,B:1.5},40:{ZERO:0,A:1.2,B:1.5},50:{ZERO:0,A:1.2,B:1.5}},MEDIUM_RISK:{10:{ZERO:0,A:1.5,B:1.9,C:2,D:3},20:{ZERO:0,A:1.5,B:1.8,C:2,D:3},30:{ZERO:0,A:1.5,B:1.7,C:2,D:3,E:4},40:{ZERO:0,A:1.5,B:1.6,C:2,D:3},50:{ZERO:0,A:1.5,B:2,C:3,D:5}},HIGH_RISK:{10:{ZERO:0,A:9.9},20:{ZERO:0,A:19.8},30:{ZERO:0,A:29.7},40:{ZERO:0,A:39.6},50:{ZERO:0,A:49.5}}},Po={LOW_RISK:{10:{ZERO:0,A:1.2,B:1.4},20:{ZERO:0,A:1.2,B:1.4},30:{ZERO:0,A:1.2,B:1.4},40:{ZERO:0,A:1.2,B:1.4},50:{ZERO:0,A:1.2,B:1.4}},MEDIUM_RISK:{10:{ZERO:0,A:1.4,B:1.9,C:2,D:3.1},20:{ZERO:0,A:1.5,B:1.8,C:1.9,D:3.4},30:{ZERO:0,A:1.5,B:1.7,C:1.9,D:3,E:4.3},40:{ZERO:0,A:1.5,B:1.6,C:2,D:2.9},50:{ZERO:0,A:1.5,B:2,C:3,D:4.5}},HIGH_RISK:{10:{ZERO:0,A:9.8},20:{ZERO:0,A:19.6},30:{ZERO:0,A:29.4},40:{ZERO:0,A:39.2},50:{ZERO:0,A:49}}},Uo={LOW_RISK:{10:{ZERO:0,A:1.15,B:1.65},20:{ZERO:0,A:1.15,B:1.65},30:{ZERO:0,A:1.15,B:1.65},40:{ZERO:0,A:1.15,B:1.65},50:{ZERO:0,A:1.15,B:1.65}},MEDIUM_RISK:{10:{ZERO:0,A:1.4,B:1.9,C:2,D:3},20:{ZERO:0,A:1.4,B:1.6,C:2,D:3},30:{ZERO:0,A:1.4,B:1.7,C:2,D:3,E:4},40:{ZERO:0,A:1.5,B:1.6,C:2,D:2.8},50:{ZERO:0,A:1.5,B:2,C:2.7,D:4.9}},HIGH_RISK:{10:{ZERO:0,A:9.7},20:{ZERO:0,A:19.4},30:{ZERO:0,A:29.1},40:{ZERO:0,A:38.8},50:{ZERO:0,A:48.5}}},Bo={LOW_RISK:{10:{ZERO:0,A:1.15,B:1.55},20:{ZERO:0,A:1.15,B:1.55},30:{ZERO:0,A:1.15,B:1.55},40:{ZERO:0,A:1.15,B:1.55},50:{ZERO:0,A:1.15,B:1.55}},MEDIUM_RISK:{10:{ZERO:0,A:1.4,B:1.8,C:2,D:3},20:{ZERO:0,A:1.3,B:1.5,C:2,D:3},30:{ZERO:0,A:1.4,B:1.6,C:2,D:2.9,E:4},40:{ZERO:0,A:1.5,B:1.6,C:2,D:2.7},50:{ZERO:0,A:1.5,B:2,C:2.6,D:4.8}},HIGH_RISK:{10:{ZERO:0,A:9.6},20:{ZERO:0,A:19.2},30:{ZERO:0,A:28.8},40:{ZERO:0,A:38.4},50:{ZERO:0,A:48}}},_o={LOW_RISK:{10:{ZERO:0,A:1.1,B:1.5},20:{ZERO:0,A:1.1,B:1.5},30:{ZERO:0,A:1.1,B:1.45},40:{ZERO:0,A:1.1,B:1.45},50:{ZERO:0,A:1.1,B:1.45}},MEDIUM_RISK:{10:{ZERO:0,A:1.3,B:1.7,C:1.9,D:3},20:{ZERO:0,A:1.3,B:1.4,C:1.9,D:3},30:{ZERO:0,A:1.3,B:1.7,C:1.9,D:2.8,E:3.8},40:{ZERO:0,A:1.4,B:1.8,C:1.9,D:2.6},50:{ZERO:0,A:1.4,B:1.9,C:2.6,D:4.6}},HIGH_RISK:{10:{ZERO:0,A:9.2},20:{ZERO:0,A:18.4},30:{ZERO:0,A:27.6},40:{ZERO:0,A:36.8},50:{ZERO:0,A:46}}},FZ=new S2(new Map([[1,Go],[2,Po],[3,Uo],[4,Bo],[8,_o]])),jZ={LOW_RISK:{10:["B","A","A","A","ZERO","A","A","A","A","ZERO"],20:["B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO"],30:["B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO"],40:["B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO"],50:["B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO","B","A","A","A","ZERO","A","A","A","A","ZERO"]},MEDIUM_RISK:{10:["ZERO","B","ZERO","A","ZERO","C","ZERO","A","ZERO","D"],20:["A","ZERO","C","ZERO","B","ZERO","C","ZERO","C","ZERO","A","ZERO","C","ZERO","C","ZERO","D","ZERO","C","ZERO"],30:["A","ZERO","C","ZERO","A","ZERO","C","ZERO","D","ZERO","B","ZERO","A","ZERO","C","ZERO","A","ZERO","C","ZERO","A","ZERO","C","ZERO","E","ZERO","A","ZERO","C","ZERO"],40:["C","ZERO","A","ZERO","D","ZERO","C","ZERO","A","ZERO","C","ZERO","A","ZERO","D","ZERO","C","ZERO","A","ZERO","B","ZERO","A","ZERO","D","ZERO","C","ZERO","A","ZERO","C","ZERO","A","ZERO","D","ZERO","C","ZERO","A","ZERO"],50:["A","ZERO","B","ZERO","A","ZERO","C","ZERO","A","ZERO","B","ZERO","A","ZERO","B","ZERO","A","ZERO","C","ZERO","A","ZERO","B","ZERO","A","ZERO","B","ZERO","A","ZERO","C","ZERO","A","ZERO","B","ZERO","A","ZERO","B","ZERO","A","ZERO","D","ZERO","A","ZERO","B","ZERO","A","ZERO"]},HIGH_RISK:{10:[...Array(9).fill("ZERO"),"A"],20:[...Array(19).fill("ZERO"),"A"],30:[...Array(29).fill("ZERO"),"A"],40:[...Array(39).fill("ZERO"),"A"],50:[...Array(49).fill("ZERO"),"A"]}};class nr{source;index=0;constructor(a){this.source=a}static from(a,e){return H1.against(e<=0,`Count must be positive, got ${e}`),H1.against(a.values.length!==e,`Expected ${e} values, got ${a.values.length}`),new nr(a)}get consumedValues(){return{...this.source,count:this.index,values:this.source.values.slice(0,this.index)}}toMultipleRandomValues(){return this.source}takeOne(){let a=this.source.values[this.index];return H1.againstUndefined(a,"RandomValuePool exhausted"),this.index+=1,a}take(a){H1.against(this.index+a>this.source.values.length,`RandomValuePool exhausted: requested ${a} but only ${this.source.values.length-this.index} remain`);let e=this.source.values.slice(this.index,this.index+a);return this.index+=a,e}}class N6{edge;constructor(a){this.edge=a}play(a,e,i=[]){let r=this.createGameStore(),n=this.generateRandomValues(a),t=n.toMultipleRandomValues();for(let s of i)r.send({...s.playerArgument,randomValuePool:n});let l=i[i.length-1];if(l)H1.against(!D6.default(l.state,this.toExternalState(r.getSnapshot().context.state)),"The final state of the game does not match the expected state based on the previous actions");r.send({...e,randomValuePool:n});let o=r.getSnapshot().context;return{playerArgument:o.playerArgument,state:this.toExternalState(o.state),config:o.config,betAmountMultiplier:o.betAmountMultiplier,proof:{proofHash:t.proofHash,proofString:t.proofString}}}}var a9;((a)=>{a.IN_PROGRESS="IN_PROGRESS",a.WIN="WIN",a.LOSE="LOSE"})(a9||={});var e9;((a)=>{a.START="START",a.SELECT_TILE="MINES_SELECT_TILE",a.CASHOUT="CASHOUT",a.AUTO_PLAY="AUTO_PLAY"})(e9||={});class Se extends ar{static withInitialDeal(a){return new Se(a)}addDrawnCards(a){return new Se([...this.rawValues,...a])}}class Oe extends ar{otherCards;upCard;holeCard;constructor(a,e,i=[]){super([a,e,...i]);this.otherCards=i,this.upCard=U0.fromValue(a),this.holeCard=U0.fromValue(e)}static withInitialDeal(a){return new Oe(a.upCard,a.holeCard)}addDrawnCards(a){return new Oe(this.upCard.value,this.holeCard.value,[...this.otherCards,...a])}toDto(a=!1){if(a)return super.toDto();return{cards:[this.upCard.toDto()],value:new _i([this.upCard]).highestHandValue}}}var i9={PLAYER_BLACKJACK:S(ro),WIN:S(no),PUSH:S(to),LOSE:S(lo)},tr;((a)=>{a.START="START",a.HIT="BLACKJACK_HIT",a.STAND="BLACKJACK_STAND"})(tr||={});var r9={state:{isFinished:!1,phase:"uninitialised",multiplier:1},config:{},playerArgument:{type:"START"}},P0=(a)=>U0.fromValue(a).value;function V6(a){H1.against(a.phase!=="in-progress","Expected a started, in-progress game state")}var n9=(a,e)=>{let i=e;while(i.highestHandValue<oo)i=i.addDrawnCards([P0(a.takeOne())]);return i},t9=(a,e)=>{if(a.isBusted)return"LOSE";if(e.isBusted)return"WIN";let i=a.highestHandValue,r=e.highestHandValue;if(i>r)return"WIN";if(i<r)return"LOSE";return"PUSH"},W6=(a,e,i,r)=>{let n=n9(a,i),t=t9(e,n);return R2(e,n,t,a,r)},R2=(a,e,i,r,n)=>({state:{isFinished:!0,phase:"finished",playerHand:a,dealerHand:e,outcome:i,multiplier:i9[i].toNumber(),randomValues:r.consumedValues},config:{},playerArgument:{type:n},betAmountMultiplier:1});class je extends N6{generateRandomValues(a){return nr.from(a.getRandomIntsWithReplacement({min:_l,max:ao,count:A6}),A6)}toExternalState(a){let e=a.phase;switch(e){case"in-progress":return{isFinished:!1,multiplier:a.multiplier,playerHand:a.playerHand.toDto(),dealerHand:a.dealerHand.toDto(!1)};case"finished":return{isFinished:!0,multiplier:a.multiplier,randomValues:a.randomValues,outcome:a.outcome,playerHand:a.playerHand.toDto(),dealerHand:a.dealerHand.toDto(!0)};case"uninitialised":throw new Error("Cannot convert uninitialised state to external state");default:H1.againstNever(e,"Invalid state received")}}createGameStore(){return Gi({context:r9,on:{START:(a,e)=>{H1.against(a.state.phase!=="uninitialised","START action requires a fresh game");let i=P0(e.randomValuePool.takeOne()),r=P0(e.randomValuePool.takeOne()),n=P0(e.randomValuePool.takeOne()),t=P0(e.randomValuePool.takeOne()),l=Se.withInitialDeal([i,r]),o=Oe.withInitialDeal({upCard:n,holeCard:t});if(l.isBlackjack&&o.isBlackjack)return R2(l,o,"PUSH",e.randomValuePool,"START");if(l.isBlackjack)return R2(l,o,"PLAYER_BLACKJACK",e.randomValuePool,"START");if(o.isBlackjack)return R2(l,o,"LOSE",e.randomValuePool,"START");return{state:{isFinished:!1,phase:"in-progress",multiplier:1,playerHand:l,dealerHand:o},config:{},playerArgument:{type:"START"}}},BLACKJACK_HIT:(a,e)=>{V6(a.state);let i=a.state.playerHand.addDrawnCards([P0(e.randomValuePool.takeOne())]);if(i.isBusted)return R2(i,a.state.dealerHand,"LOSE",e.randomValuePool,"BLACKJACK_HIT");if(i.highestHandValue===X6)return W6(e.randomValuePool,i,a.state.dealerHand,"BLACKJACK_HIT");return{state:{isFinished:!1,phase:"in-progress",multiplier:1,playerHand:i,dealerHand:a.state.dealerHand},config:{},playerArgument:{type:"BLACKJACK_HIT"}}},BLACKJACK_STAND:(a,e)=>{return V6(a.state),W6(e.randomValuePool,a.state.playerHand,a.state.dealerHand,"BLACKJACK_STAND")}}})}getValidNextActionTypes(a){return a.isFinished?[]:["BLACKJACK_HIT","BLACKJACK_STAND"]}}var l9;((a)=>a.START="START")(l9||={});var o0=100,qe=[{config:{label:"1K",theme:"red"},baseValue:1000*o0},{config:{label:"100",theme:"purple"},baseValue:100*o0},{config:{label:"10",theme:"blue"},baseValue:10*o0},{config:{label:"1",theme:"green"},baseValue:1*o0},{config:{label:"0.1",theme:"cyan"},baseValue:0.1*o0},{config:{label:"0.01",theme:"gold"},baseValue:0.01*o0}],lr=2;class oa{static formatChipLabel(a,e=2){if(a>=1e6&&Number.isInteger(a)&&a%1e6===0)return`${a/1e6}M`;if(a>=1000&&Number.isInteger(a)&&a%1000===0)return`${a/1000}K`;if(Number.isInteger(a))return`${a}`;return a.toFixed(e).replace(/\.0+$/,"").replace(/(\.\d*[1-9])0+$/,"$1")}static formatStackLabel(a){let i=oa.formatChipLabel(a);if(i.length<=3)return{label:i,truncated:!1};if(a>=1e6)return{label:`${Math.floor(a/1e6)}M`,truncated:!0};if(a>=1000)return{label:`${Math.floor(a/1000)}K`,truncated:!0};if(a>=1){let n=`${Math.floor(a)}`;if(n.length<=3)return{label:n,truncated:!0}}if(a>0)return{label:oa.formatChipLabel(a),truncated:!1};return{label:"0",truncated:!1}}static getStackDisplayLabel(a,e,i){if(e===1)return i;let{label:r,truncated:n}=oa.formatStackLabel(a);return n?`${r}+`:r}static toBaseUnits(a){return Math.round(a*o0)}static buildChipsFromBaseUnits(a){let e=[],i=a;for(let r of qe){if(i<=0)break;let n=Math.floor(i/r.baseValue);for(let t=0;t<Math.min(n,10);t++)e.push({...r.config});i-=n*r.baseValue}return e}static amountToVisualChips(a){let e=oa.toBaseUnits(a),i=oa.buildChipsFromBaseUnits(e),r=i[0]??qe[qe.length-1].config,n=oa.getStackDisplayLabel(a,i.length,r.label);return{chips:i,topLabel:n,highestChip:r}}static undoEvent(a){if(a.length===0)return a;return a.slice(0,-1)}static deriveState(a,e){let i=new Map;for(let n of a){let t=n.type;switch(t){case"add":{let o=(i.get(n.position)??S(0)).plus(n.amount);if(o.lte(0))i.delete(n.position);else i.set(n.position,o);break}case"multiplier-change":{let l=n.multiplier;if(l===1)break;if(l>1){for(let[s,d]of i)i.set(s,S(d.times(l).toFixed(lr,S.roundDown)));let o=S(0);for(let s of i.values())o=o.plus(s);if(o.gt(e)){let s=S(e).div(o);for(let[d,c]of i)i.set(d,S(c.times(s).toFixed(lr,S.roundDown)))}break}for(let[o,s]of i){let d=s.times(l);if(d.gte(0.01))i.set(o,S(d.toFixed(lr,S.roundDown)));else i.delete(o)}break}default:}}let r=new Map;for(let[n,t]of i)r.set(n,Number(t.toFixed(2)));return r}}var G6=40,P6=8,U6=0.75,Ee=12,F2=new Set([1,3,5,7,9,12,14,16,18,19,21,23,25,27,30,32,34,36]),B6=[0,32,15,19,4,21,2,25,17,34,6,27,13,36,11,30,8,23,10,5,24,16,33,1,20,14,31,9,22,18,29,7,28,12,35,3,26],_6=[0,28,9,26,30,11,7,20,32,17,5,22,34,15,3,24,36,13,1,37,27,10,25,29,12,8,19,31,18,6,21,33,16,4,23,35,14,2],Te=128,or=5,Le=Math.PI*1.5,sr=5,a7=187,e7=5,o9=[{x:260,y:128.8888888888889},{x:250,y:128.0555555555556},{x:240,y:126.94444444444451},{x:230,y:125.55555555555566},{x:220,y:123.88888888888903},{x:210,y:121.94444444444463},{x:200,y:119.72222222222246},{x:190,y:117.22222222222251},{x:180,y:114.4444444444448},{x:170,y:111.38888888888931},{x:160,y:108.05555555555605},{x:150,y:104.44444444444503},{x:140,y:100.55555555555623},{x:130,y:96.38888888888965},{x:120,y:91.94444444444531},{x:110,y:87.2222222222232},{x:100,y:83.94999827222222},{bounceCount:1},{x:91.92723877109552,y:88.06750950353444},{x:83.85447754219103,y:91.90724295706889},{x:75.78171631328655,y:95.46919863282557},{x:67.70895508438207,y:98.75337653080447},{x:59.636193855477586,y:101.75977665100561},{x:51.5634326265731,y:104.48839899342897},{x:43.49067139766862,y:106.93924355807457},{x:35.41791016876414,y:109.11231034494239},{x:27.345148939859655,y:111.00759935403244},{x:19.272387710955172,y:112.62511058534471},{x:11.19962648205069,y:113.96484403887922},{x:3.1268652531462067,y:115.02679971463596},{x:-4.945895975758276,y:115.81097761261492},{x:-13.018657204662759,y:116.31737773281611},{x:-21.09141843356724,y:116.54600007523953},{x:-29.164179662471724,y:116.49684463988518},{x:-37.23694089137621,y:116.16991142675306},{x:-45.30970212028069,y:115.56520043584317},{x:-53.38246334918517,y:114.6827116671555},{x:-61.455224578089656,y:113.52244512069007},{x:-69.52798580699414,y:112.08440079644686},{x:-77.60074703589862,y:110.36857869442588},{x:-85.6735082648031,y:108.37497881462713},{x:-93.74626949370759,y:106.1036011570506},{x:-101.81903072261207,y:103.55444572169631},{x:-109.89179195151655,y:100.72751250856425},{x:-117.96455318042103,y:97.62280151765441},{x:-126.03731440932552,y:94.2403127489668},{x:-134.11007563823,y:90.58004620250142},{x:-142.18283686713448,y:86.64200187825827},{x:-150.25559809603897,y:83.7840989631938},{bounceCount:2},{x:-156.37102114986237,y:87.32692354458038},{x:-162.48644420368578,y:90.5919703481892},{x:-168.60186725750918,y:93.57923937402023},{x:-174.7172903113326,y:96.2887306220735},{x:-180.832713365156,y:98.720444092349},{x:-186.9481364189794,y:100.87437978484672},{x:-193.0635594728028,y:102.75053769956668},{x:-199.1789825266262,y:104.34891783650886},{x:-205.29440558044962,y:105.66952019567327},{x:-211.40982863427303,y:106.71234477705991},{x:-217.52525168809643,y:107.47739158066878},{x:-223.64067474191984,y:107.96466060649988},{x:-229.75609779574324,y:108.1741518545532},{x:-235.87152084956665,y:108.10586532482876},{x:-241.98694390339006,y:107.75980101732654},{x:-248.10236695721346,y:107.13595893204655},{x:-254.21779001103687,y:106.23433906898879},{x:-260.3332130648603,y:105.05494142815326},{x:-266.4486361186837,y:103.59776600953995},{x:-272.5640591725071,y:101.86281281314888},{x:-278.6794822263305,y:99.85008183898003},{x:-284.7949052801539,y:97.55957308703341},{x:-290.9103283339773,y:94.99128655730902},{x:-297.0257513878007,y:92.14522224980686},{x:-303.1411744416241,y:89.02138016452693},{x:-309.2565974954475,y:85.61976030146923},{x:-315.3720205492709,y:83.80664866023704},{bounceCount:3},{x:-319.53056837648023,y:86.88414839816954},{x:-323.68911620368954,y:89.68387035832427},{x:-327.84766403089884,y:92.20581454070123},{x:-332.00621185810814,y:94.44998094530041},{x:-336.16475968531745,y:96.41636957212182},{x:-340.32330751252675,y:98.10498042116546},{x:-344.48185533973606,y:99.51581349243133},{x:-348.64040316694536,y:100.64886878591943},{x:-352.79895099415467,y:101.50414630162976},{x:-356.95749882136397,y:102.08164603956232},{x:-361.1160466485733,y:102.3813679997171},{x:-365.2745944757826,y:102.40331218209411},{x:-369.4331423029919,y:102.14747858669335},{x:-373.5916901302012,y:101.61386721351482},{x:-377.7502379574105,y:100.80247806255852},{x:-381.9087857846198,y:99.71331113382445},{x:-386.0673336118291,y:98.3463664273126},{x:-390.2258814390384,y:96.70164394302299},{x:-394.3844292662477,y:94.7791436809556},{x:-398.542977093457,y:92.57886564111044},{x:-402.7015249206663,y:90.10080982348751},{x:-406.8600727478756,y:87.34497622808681},{x:-411.0186205750849,y:84.31136485490833},{bounceCount:4},{x:-415.1771684022942,y:83.75529806659927},{x:-417.4869098517198,y:86.48546885866637},{x:-419.7966513011454,y:88.9378618729557},{x:-422.106392750571,y:91.11247710946725},{x:-424.4161341999966,y:93.00931456820103},{x:-426.72587564942216,y:94.62837424915705},{x:-429.03561709884775,y:95.96965615233529},{x:-431.34535854827334,y:97.03316027773576},{x:-433.6550999976989,y:97.81888662535846},{x:-435.9648414471245,y:98.32683519520339},{x:-438.2745828965501,y:98.55700598727054},{x:-440.5843243459757,y:98.50939900155993},{x:-442.8940657954013,y:98.18401423807154},{x:-445.20380724482686,y:97.58085169680538},{x:-447.51354869425245,y:96.69991137776145},{x:-449.82329014367804,y:95.54119328093975},{x:-452.1330315931036,y:94.10469740634028},{x:-454.4427730425292,y:92.39042375396303},{x:-456.7525144919548,y:90.39837232380802},{x:-459.0622559413804,y:88.12854311587523},{x:-461.371997390806,y:85.58093613016467},{bounceCount:5},{x:-463.68173884023156,y:83.94120374701237},{x:-465.70528195049405,y:86.56420005607708},{x:-467.72882506075655,y:88.90941858736403},{x:-469.75236817101904,y:90.9768593408732},{x:-471.77591128128154,y:92.76652231660461},{x:-473.79945439154403,y:94.27840751455824},{x:-475.8229975018065,y:95.5125149347341},{x:-477.846540612069,y:96.46884457713219},{x:-479.8700837223315,y:97.1473964417525},{x:-481.893626832594,y:97.54817052859505},{x:-483.9171699428565,y:97.67116683765983},{x:-485.940713053119,y:97.51638536894683},{x:-487.9642561633815,y:97.08382612245606},{x:-489.987799273644,y:96.37348909818752},{x:-492.0113423839065,y:95.38537429614121},{x:-494.034885494169,y:94.11948171631713},{x:-496.05842860443147,y:92.57581135871527},{x:-498.08197171469396,y:90.75436322333564},{x:-500.10551482495646,y:88.65513731017825},{x:-502.12905793521895,y:86.27813361924308},{bounceCount:6},{x:-504.15260104548145,y:83.83750960549332},{x:-505.15602161683216,y:85.89336903069062},{x:-506.1594421881829,y:87.67145067811015},{x:-507.1628627595336,y:89.1717545477519},{x:-508.1662833308843,y:90.39428063961589},{x:-509.169703902235,y:91.3390289537021}],s9=[{x:260,y:128.8888888888889},{x:250,y:128.0555555555556},{x:240,y:126.94444444444451},{x:230,y:125.55555555555566},{x:220,y:123.88888888888903},{x:210,y:121.94444444444463},{x:200,y:119.72222222222246},{x:190,y:117.22222222222251},{x:180,y:114.4444444444448},{x:170,y:111.38888888888931},{x:160,y:108.05555555555605},{x:150,y:104.44444444444503},{x:140,y:100.55555555555623},{x:130,y:96.38888888888965},{x:120,y:91.94444444444531},{x:110,y:87.2222222222232},{x:100,y:83.94999827222222},{bounceCount:1},{x:91.92723877109552,y:87.633880780038},{x:83.85447754219103,y:91.03998551007601},{x:75.78171631328655,y:94.16831246233625},{x:67.70895508438207,y:97.01886163681871},{x:59.636193855477586,y:99.59163303352341},{x:51.5634326265731,y:101.88662665245033},{x:43.49067139766862,y:103.90384249359948},{x:35.41791016876414,y:105.64328055697086},{x:27.345148939859655,y:107.10494084256447},{x:19.272387710955172,y:108.28882335038031},{x:11.19962648205069,y:109.19492808041838},{x:3.1268652531462067,y:109.82325503267867},{x:-4.945895975758276,y:110.1738042071612},{x:-13.018657204662759,y:110.24657560386595},{x:-21.09141843356724,y:110.04156922279293},{x:-29.164179662471724,y:109.55878506394214},{x:-37.23694089137621,y:108.79822312731358},{x:-45.30970212028069,y:107.75988341290724},{x:-53.38246334918517,y:106.44376592072314},{x:-61.455224578089656,y:104.84987065076126},{x:-69.52798580699414,y:102.97819760302161},{x:-77.60074703589862,y:100.8287467775042},{x:-85.6735082648031,y:98.401518174209},{x:-93.74626949370759,y:95.69651179313604},{x:-101.81903072261207,y:92.7137276342853},{x:-109.89179195151655,y:89.4531656976568},{x:-117.96455318042103,y:85.91482598325052},{x:-126.03731440932552,y:83.94956456484863},{bounceCount:2},{x:-132.18102229535384,y:86.61429644597087},{x:-138.32473018138217,y:89.00125054931533},{x:-144.4684380674105,y:91.11042687488202},{x:-150.6121459534388,y:92.94182542267095},{x:-156.75585383946714,y:94.4954461926821},{x:-162.89956172549546,y:95.77128918491547},{x:-169.04326961152378,y:96.76935439937108},{x:-175.1869774975521,y:97.48964183604892},{x:-181.33068538358043,y:97.93215149494898},{x:-187.47439326960875,y:98.09688337607128},{x:-193.61810115563708,y:97.9838374794158},{x:-199.7618090416654,y:97.59301380498255},{x:-205.90551692769372,y:96.92441235277153},{x:-212.04922481372205,y:95.97803312278273},{x:-218.19293269975037,y:94.75387611501617},{x:-224.3366405857787,y:93.25194132947183},{x:-230.48034847180702,y:91.47222876614973},{x:-236.62405635783534,y:89.41473842504985},{x:-242.76776424386367,y:87.0794703061722},{x:-248.911472129892,y:84.46642440951678},{bounceCount:3},{x:-255.0551800159203,y:83.82456182183898},{x:-259.2426187606561,y:85.89507577233672},{x:-263.4300575053919,y:87.6878119450567},{x:-267.6174962501277,y:89.20277033999889},{x:-271.8049349948635,y:90.43995095716332},{x:-275.9923737395993,y:91.39935379654997},{x:-280.1798124843351,y:92.08097885815886},{x:-284.3672512290709,y:92.48482614198997},{x:-288.5546899738067,y:92.61089564804331},{x:-292.7421287185425,y:92.45918737631888},{x:-296.9295674632783,y:92.02970132681668}],h9=[{x:260,y:128.8888888888889},{x:250,y:128.0555555555556},{x:240,y:126.94444444444451},{x:230,y:125.55555555555566},{x:220,y:123.88888888888903},{x:210,y:121.94444444444463},{x:200,y:119.72222222222246},{x:190,y:117.22222222222251},{x:180,y:114.4444444444448},{x:170,y:111.38888888888931},{x:160,y:108.05555555555605},{x:150,y:104.44444444444503},{x:140,y:100.55555555555623},{x:130,y:96.38888888888965},{x:120,y:91.94444444444531},{x:110,y:87.2222222222232},{x:100,y:83.94999827222222},{bounceCount:1},{x:91.92723877109552,y:87.73024271859276},{x:83.85447754219103,y:91.23270938718554},{x:75.78171631328655,y:94.45739827800054},{x:67.70895508438207,y:97.40430939103777},{x:59.636193855477586,y:100.07344272629723},{x:51.5634326265731,y:102.46479828377892},{x:43.49067139766862,y:104.57837606348284},{x:35.41791016876414,y:106.41417606540898},{x:27.345148939859655,y:107.97219828955735},{x:19.272387710955172,y:109.25244273592796},{x:11.19962648205069,y:110.25490940452079},{x:3.1268652531462067,y:110.97959829533585},{x:-4.945895975758276,y:111.42650940837314},{x:-13.018657204662759,y:111.59564274363265},{x:-21.09141843356724,y:111.4869983011144},{x:-29.164179662471724,y:111.10057608081837},{x:-37.23694089137621,y:110.43637608274457},{x:-45.30970212028069,y:109.494398306893},{x:-53.38246334918517,y:108.27464275326366},{x:-61.455224578089656,y:106.77710942185655},{x:-69.52798580699414,y:105.00179831267167},{x:-77.60074703589862,y:102.94870942570901},{x:-85.6735082648031,y:100.61784276096859},{x:-93.74626949370759,y:98.00919831845039},{x:-101.81903072261207,y:95.12277609815442},{x:-109.89179195151655,y:91.95857610008068},{x:-117.96455318042103,y:88.51659832422916},{x:-126.03731440932552,y:84.79684277059988},{x:-134.11007563823,y:83.93714001160077},{bounceCount:2},{x:-140.24248787383567,y:87.02442244310811},{x:-146.37490010944134,y:89.83392709683767},{x:-152.507312345047,y:92.36565397278946},{x:-158.63972458065268,y:94.61960307096348},{x:-164.77213681625835,y:96.59577439135973},{x:-170.90454905186402,y:98.2941679339782},{x:-177.0369612874697,y:99.7147836988189},{x:-183.16937352307536,y:100.85762168588184},{x:-189.30178575868104,y:101.722681895167},{x:-195.4341979942867,y:102.30996432667439},{x:-201.56661022989238,y:102.61946898040401},{x:-207.69902246549805,y:102.65119585635586},{x:-213.83143470110372,y:102.40514495452993},{x:-219.9638469367094,y:101.88131627492623},{x:-226.09625917231506,y:101.07970981754477},{x:-232.22867140792073,y:100.00032558238553},{x:-238.3610836435264,y:98.64316356944852},{x:-244.49349587913207,y:97.00822377873374},{x:-250.62590811473774,y:95.09550621024118},{x:-256.7583203503434,y:92.90501086397086},{x:-262.8907325859491,y:90.43673773992276},{x:-269.02314482155475,y:87.6906868380969},{bounceCount:3},{x:-275.1555570571604,y:84.66685815849326},{x:-281.2879692927661,y:83.77451871525722},{x:-285.46293443573677,y:86.2868541409619},{x:-289.63789957870745,y:88.52141178888883},{x:-293.8128647216781,y:90.47819165903798},{x:-297.9878298646488,y:92.15719375140935},{x:-302.1627950076195,y:93.55841806600296},{x:-306.33776015059016,y:94.68186460281879},{x:-310.51272529356083,y:95.52753336185685},{x:-314.6876904365315,y:96.09542434311714},{x:-318.8626555795022,y:96.38553754659966},{x:-323.03762072247287,y:96.39787297230441},{x:-327.21258586544354,y:96.13243062023139},{x:-331.3875510084142,y:95.5892104903806},{x:-335.5625161513849,y:94.76821258275203},{x:-339.7374812943556,y:93.66943689734569},{x:-343.91244643732625,y:92.29288343416158},{x:-348.08741158029693,y:90.6385521931997},{x:-352.2623767232676,y:88.70644317446005},{x:-356.4373418662383,y:86.49655637794262},{bounceCount:4},{x:-360.61230700920896,y:84.00889180364743},{x:-364.78727215217964,y:83.93296749758815},{x:-367.62671783526935,y:86.29244841066702},{x:-370.46616351835905,y:88.37415154596812},{x:-373.30560920144876,y:90.17807690349144},{x:-376.14505488453847,y:91.704224483237},{x:-378.9845005676282,y:92.95259428520478},{x:-381.8239462507179,y:93.9231863093948},{x:-384.6633919338076,y:94.61600055580703},{x:-387.5028376168973,y:95.0310370244415},{x:-390.342283299987,y:95.1682957152982},{x:-393.1817289830767,y:95.02777662837713},{x:-396.0211746661664,y:94.60947976367828},{x:-398.8606203492561,y:93.91340512120166},{x:-401.70006603234583,y:92.93955270094727},{x:-404.53951171543554,y:91.68792250291511}],hr=[o9,s9,h9];var Ae=(a)=>[...a].sort((e,i)=>e-i),t1={straight:(a)=>`STRAIGHT_${a}`,split:(a,e)=>{let[i,r]=Ae([a,e]);return`SPLIT_${i}_${r}`},street:(a,e,i)=>{let[r,n,t]=Ae([a,e,i]);return`STREET_${r}_${n}_${t}`},corner:(a,e,i,r)=>{let[n,t,l,o]=Ae([a,e,i,r]);return`CORNER_${n}_${t}_${l}_${o}`},line:(a,e,i,r,n,t)=>{let l=Ae([a,e,i,r,n,t]);return`LINE_${l[0]}_${l[1]}_${l[2]}_${l[3]}_${l[4]}_${l[5]}`},dozen:(a)=>`DOZEN_${a}`,half:(a)=>`HALF_${a}`,parity:(a)=>`PARITY_${a}`,color:(a)=>`COLOR_${a}`,column:(a)=>`COLUMN_${a}`,basket:()=>"BASKET"};function ur(a){let e=a.match(/^STRAIGHT_(\d+)$/);if(e)return{type:"straight",value:Number(e[1])};let i=a.match(/^SPLIT_(\d+)_(\d+)$/);if(i)return{type:"split",values:[Number(i[1]),Number(i[2])]};let r=a.match(/^STREET_(\d+)_(\d+)_(\d+)$/);if(r)return{type:"street",values:[Number(r[1]),Number(r[2]),Number(r[3])]};let n=a.match(/^CORNER_(\d+)_(\d+)_(\d+)_(\d+)$/);if(n)return{type:"corner",values:[Number(n[1]),Number(n[2]),Number(n[3]),Number(n[4])]};let t=a.match(/^LINE_(\d+)_(\d+)_(\d+)_(\d+)_(\d+)_(\d+)$/);if(t)return{type:"line",values:[Number(t[1]),Number(t[2]),Number(t[3]),Number(t[4]),Number(t[5]),Number(t[6])]};if(a==="DOZEN_FIRST")return{type:"dozen",dozen:"FIRST"};if(a==="DOZEN_SECOND")return{type:"dozen",dozen:"SECOND"};if(a==="DOZEN_THIRD")return{type:"dozen",dozen:"THIRD"};if(a==="HALF_LOW")return{type:"half",half:"LOW"};if(a==="HALF_HIGH")return{type:"half",half:"HIGH"};if(a==="PARITY_EVEN")return{type:"parity",parity:"EVEN"};if(a==="PARITY_ODD")return{type:"parity",parity:"ODD"};if(a==="COLOR_RED")return{type:"color",color:"RED"};if(a==="COLOR_BLACK")return{type:"color",color:"BLACK"};if(a==="COLUMN_TOP")return{type:"column",column:"TOP"};if(a==="COLUMN_MIDDLE")return{type:"column",column:"MIDDLE"};if(a==="COLUMN_BOTTOM")return{type:"column",column:"BOTTOM"};if(a==="BASKET")return{type:"basket"};return null}function i7(a){let e=new Set,i=a===h1.AMERICAN?37:36;for(let o=0;o<=i;o++)e.add(t1.straight(o));let r=a===h1.EUROPEAN?B0:_0;for(let[o,s]of r)e.add(t1.split(o,s));let n=a===h1.EUROPEAN?a2:e2;for(let[o,s,d]of n)e.add(t1.street(o,s,d));let t=a===h1.EUROPEAN?i2:r2;for(let[o,s,d,c]of t)e.add(t1.corner(o,s,d,c));let l=a===h1.EUROPEAN?Me:Fe;for(let[o,s,d,c,m,h]of l)e.add(t1.line(o,s,d,c,m,h));if(e.add(t1.dozen("FIRST")),e.add(t1.dozen("SECOND")),e.add(t1.dozen("THIRD")),e.add(t1.half("LOW")),e.add(t1.half("HIGH")),e.add(t1.parity("EVEN")),e.add(t1.parity("ODD")),e.add(t1.color("RED")),e.add(t1.color("BLACK")),e.add(t1.column("TOP")),e.add(t1.column("MIDDLE")),e.add(t1.column("BOTTOM")),a===h1.AMERICAN)e.add(t1.basket());return e}var u9=i7(h1.EUROPEAN),d9=i7(h1.AMERICAN);function r7(a,e){return(e===h1.EUROPEAN?u9:d9).has(a)}function n7(a){let e=a%3;if(e===0)return 0;if(e===2)return 1;return 2}function t7(a){let e=new Map,i=new Map,r=new Map,n=new Map,t=new Map,l=a===h1.EUROPEAN?B0:_0;for(let[c,m]of l){let h=t1.split(c,m);if(c===0){if(m<=3)i.set(m,h);continue}if(m===37){if(c===3)i.set(3,h);continue}if(m-c===1)e.set(c,h);else i.set(m,h)}let o=a===h1.EUROPEAN?i2:r2;for(let[c,m,h,f]of o){let v=t1.corner(c,m,h,f);if(c===0)r.set(3,v);else r.set(h,v)}let s=a===h1.EUROPEAN?a2:e2;for(let[c,m,h]of s){let f=t1.street(c,m,h);if(c===0||h===37){if(c===0&&m===1)r.set(1,f);else if(c===0&&m===2&&h===3)r.set(2,f);else if(c===0&&m===2&&h===37)i.set(2,f);else if(c===2&&h===37)r.set(2,f)}else n.set(Math.max(c,m,h),f)}let d=a===h1.EUROPEAN?Me:Fe;for(let[c,m,h,f,v,g]of d){let x=t1.line(c,m,h,f,v,g),z=Math.max(c,m,h,f,v,g);t.set(z,x)}return{verticalSplit:e,horizontalSplit:i,corner:r,street:n,doubleStreet:t}}var c9=t7(h1.EUROPEAN),f9=t7(h1.AMERICAN);function j2(a){return a===h1.EUROPEAN?c9:f9}function l7(a,e){return j2(e).verticalSplit.get(a)??null}function o7(a,e){return j2(e).horizontalSplit.get(a)??null}function s7(a,e){return j2(e).corner.get(a)??null}function h7(a,e){return j2(e).doubleStreet.get(a)??null}function u7(a,e){return j2(e).street.get(a)??null}function dr(a){let e=ur(a);if(!e)return[];switch(e.type){case"straight":return[e.value];case"split":case"street":case"corner":case"line":return[...e.values];case"dozen":return Array.from({length:12},(i,r)=>r+1+(e.dozen==="FIRST"?0:e.dozen==="SECOND"?12:24));case"half":return Array.from({length:18},(i,r)=>r+(e.half==="LOW"?1:19));case"parity":return Array.from({length:18},(i,r)=>e.parity==="EVEN"?(r+1)*2:r*2+1);case"color":return e.color==="RED"?[...F2]:Array.from({length:36},(i,r)=>r+1).filter((i)=>!F2.has(i));case"column":return Array.from({length:12},(i,r)=>r*3+(e.column==="TOP"?3:e.column==="MIDDLE"?2:1));case"basket":return[0,37,1,2,3]}}function Je(a,e=h1.EUROPEAN){let i=[],r=[],n=[],t=[],l=[],o=[],s=[],d=[],c=[],m=[],h=[];for(let[v,g]of a.entries()){if(!r7(v,e))continue;let x=S(g).toFixed(4),z=ur(v);if(!z)continue;switch(z.type){case"straight":i.push({amount:x,value:z.value});break;case"split":r.push({amount:x,values:z.values});break;case"street":n.push({amount:x,values:z.values});break;case"corner":t.push({amount:x,values:z.values});break;case"line":l.push({amount:x,values:z.values});break;case"dozen":m.push({amount:x,dozen:s2[z.dozen]});break;case"half":d.push({amount:x,half:l2[z.half]});break;case"parity":o.push({amount:x,parity:n2[z.parity]});break;case"color":s.push({amount:x,color:t2[z.color]});break;case"column":c.push({amount:x,column:o2[z.column]});break;case"basket":h.push({amount:x});break}}let f={straightBets:i,splitBets:r,streetBets:n,cornerBets:t,doubleStreetBets:l,parityBets:o,colorBets:s,halfBets:d,columnBets:c,dozenBets:m};if(e===h1.AMERICAN){let v={...f,basketBets:h};return{type:h1.AMERICAN,inputs:v}}return{type:h1.EUROPEAN,inputs:f}}class Y1{static getNumberColor(a){if(a===0||a===37)return"green";return F2.has(a)?"red":"black"}static getValidSplits(a){return a===h1.EUROPEAN?B0:_0}static getValidStreets(a){return a===h1.EUROPEAN?a2:e2}static getValidCorners(a){return a===h1.EUROPEAN?i2:r2}static findValidSplit(a,e=h1.EUROPEAN){let i=[...a].sort((n,t)=>n-t),r=this.getValidSplits(e);for(let n of r)if(n[0]===i[0]&&n[1]===i[1])return n;return null}static findValidStreet(a,e=h1.EUROPEAN){let i=[...a].sort((n,t)=>n-t),r=this.getValidStreets(e);for(let n of r)if(n[0]===i[0]&&n[1]===i[1]&&n[2]===i[2])return n;return null}static findValidCorner(a,e=h1.EUROPEAN){let i=[...a].sort((n,t)=>n-t),r=this.getValidCorners(e);for(let n of r)if(n[0]===i[0]&&n[1]===i[1]&&n[2]===i[2]&&n[3]===i[3])return n;return null}static getWheelSequence(a){return a===h1.EUROPEAN?B6:_6}static calculateBallTargetAngle(a,e=h1.EUROPEAN){let i=this.getWheelSequence(e),r=i.indexOf(a);if(r===-1)return 0;let n=i.indexOf(6),t=360/i.length;return((r-n)%i.length+i.length)%i.length*t%360}static getRandomAnimationArray(){let a=Math.floor(Math.random()*hr.length);return[...hr[a]]}static transformAnimationPosition(a,e){if("bounceCount"in a)return a;let i=e.find((c)=>!("bounceCount"in c)),n=[...e].reverse().find((c)=>!("bounceCount"in c)).x-i.x,l=(a.x-i.x)/n,o=Le*l,s=Math.cos(o)*a.y,d=Math.sin(o)*a.y;return{x:s,y:d,angle:o*180/Math.PI,length:Math.abs(a.y)}}static preprocessAnimationArray(a){return a.map((e)=>this.transformAnimationPosition(e,a))}static getBallOffset(a){return a===h1.EUROPEAN?a7:e7}static convertBetsToLibraryFormat(a){return a.map((e)=>({...e,amount:S(e.amount)}))}static preparePayoutInputs(a,e){let i=Je(a,e);if(e===h1.AMERICAN){let r=new rr,n=i.inputs,t={straightBets:this.convertBetsToLibraryFormat(n.straightBets),splitBets:this.convertBetsToLibraryFormat(n.splitBets),streetBets:this.convertBetsToLibraryFormat(n.streetBets),cornerBets:this.convertBetsToLibraryFormat(n.cornerBets),doubleStreetBets:this.convertBetsToLibraryFormat(n.doubleStreetBets),parityBets:this.convertBetsToLibraryFormat(n.parityBets),colorBets:this.convertBetsToLibraryFormat(n.colorBets),halfBets:this.convertBetsToLibraryFormat(n.halfBets),columnBets:this.convertBetsToLibraryFormat(n.columnBets),dozenBets:this.convertBetsToLibraryFormat(n.dozenBets),basketBets:this.convertBetsToLibraryFormat(n.basketBets)};return{calculator:r,inputs:t,maxTile:37,type:h1.AMERICAN}}else{let r=new ir,n=i.inputs,t={straightBets:this.convertBetsToLibraryFormat(n.straightBets),splitBets:this.convertBetsToLibraryFormat(n.splitBets),streetBets:this.convertBetsToLibraryFormat(n.streetBets),cornerBets:this.convertBetsToLibraryFormat(n.cornerBets),doubleStreetBets:this.convertBetsToLibraryFormat(n.doubleStreetBets),parityBets:this.convertBetsToLibraryFormat(n.parityBets),colorBets:this.convertBetsToLibraryFormat(n.colorBets),halfBets:this.convertBetsToLibraryFormat(n.halfBets),columnBets:this.convertBetsToLibraryFormat(n.columnBets),dozenBets:this.convertBetsToLibraryFormat(n.dozenBets)};return{calculator:r,inputs:t,maxTile:36,type:h1.EUROPEAN}}}static findMaxPayoutTile(a,e){let{calculator:i,inputs:r,maxTile:n}=this.preparePayoutInputs(a,e),t=S(0),l=0;for(let o=0;o<=n;o++){let{payoutAmount:s}=i.getPayoutDetails(r,o);if(s.gt(t))t=s,l=o}return{maxPayout:t.toNumber(),positionOfMaxMultiplier:l}}}var d7=W`
|
|
6656
6656
|
:host {
|
|
6657
6657
|
display: block;
|
|
6658
6658
|
--card-height: clamp(72px, 20vw, 150px);
|
|
@@ -8893,7 +8893,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
8893
8893
|
?open=${this.internalOpen}
|
|
8894
8894
|
.label=${this.label}
|
|
8895
8895
|
?no-footer=${!this.showFooter}
|
|
8896
|
-
style=${
|
|
8896
|
+
style=${z1(a)}
|
|
8897
8897
|
@modal-show=${this.handleShowEvent}
|
|
8898
8898
|
@modal-hide=${this.handleHideEvent}
|
|
8899
8899
|
@modal-after-hide=${this.handleCloseEvent}
|
|
@@ -9313,7 +9313,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
9313
9313
|
aria-label=${R("modals.gameArea",this.gameData?.language||$)}
|
|
9314
9314
|
role="region"
|
|
9315
9315
|
>
|
|
9316
|
-
<div class="game-area-container" style=${
|
|
9316
|
+
<div class="game-area-container" style=${z1(this.getGameAreaBackgroundStyle())}>
|
|
9317
9317
|
<slot name="game-area" style=${"height: 100%;"}></slot>
|
|
9318
9318
|
</div>
|
|
9319
9319
|
|
|
@@ -9649,7 +9649,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
9649
9649
|
order: 0;
|
|
9650
9650
|
flex-direction: column;
|
|
9651
9651
|
}
|
|
9652
|
-
`;class jr extends X{constructor(){super(...arguments);this.inputsDisabled=!1;this.minesState=null;this.isGameActive=!1;this.isLoading=!1;this.minesCount=3;this.isSelectingRandomTile=!1;this.isTileLoading=!1;this.language=$;this.currency=p1;this.profitOnWin="0.00";this.nextProfitOnWin="0";this.nextMultiplier="0.00";this.formattedPayout="";this.isBetAmountValid=!0;this._betAboveBalance=!1}triggerPrimaryAction(){
|
|
9652
|
+
`;class jr extends X{constructor(){super(...arguments);this.inputsDisabled=!1;this.minesState=null;this.isGameActive=!1;this.isLoading=!1;this.minesCount=3;this.isSelectingRandomTile=!1;this.isTileLoading=!1;this.language=$;this.currency=p1;this.profitOnWin="0.00";this.nextProfitOnWin="0";this.nextMultiplier="0.00";this.formattedPayout="";this.isBetAmountValid=!0;this._betAboveBalance=!1}triggerPrimaryAction(){Z1.clickButtonHost(this.actionButtonEl??null)}isPrimaryActionDisabled(){return Z1.isButtonHostDisabled(this.actionButtonEl??null)}static styles=[C,Xe];get actionDisabled(){return this.isLoading||this.isSelectingRandomTile||this.isTileLoading}get hasSelectedTiles(){return(this.minesState?.selectedTiles.length??0)>0}triggerRandomTileAction(){if(this.isRandomTileActionDisabled())return;this.emit("mines-choose-random-tile")}isRandomTileActionDisabled(){return!this.isGameActive||this.actionDisabled}triggerCashoutAction(){if(this.isCashoutActionDisabled())return;this.emit("mines-cashout")}isCashoutActionDisabled(){return!this.isGameActive||!this.hasSelectedTiles||this.actionDisabled}render(){let a=this.minesState?.minesCount??0,e=this.minesState?.numGemsRemaining??0;return Z`
|
|
9653
9653
|
<origami-deposit-button .betAboveBalance=${this._betAboveBalance}></origami-deposit-button>
|
|
9654
9654
|
|
|
9655
9655
|
<origami-bet-amount-input
|
|
@@ -9814,7 +9814,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
9814
9814
|
grid-template-columns: 1fr 1fr 1fr;
|
|
9815
9815
|
gap: 8px;
|
|
9816
9816
|
}
|
|
9817
|
-
`;class Ce{getEdge;getBalance;getMinMultiplier;constructor(a,e,i){this.getEdge=a;this.getBalance=e;this.getMinMultiplier=i}isValidSelectedValue(a,e){let i=s1.getSliderMin(this.getEdge(),a,this.getMinMultiplier())*100,r=s1.getSliderMax(this.getEdge(),a,this.getMinMultiplier())*100;return Number.isInteger(e)&&e>=i&&e<=r}async startBet(a){if(!f1(a.amount)||S(a.amount).lte(0)||!this.isValidSelectedValue(a.direction,a.selectedValue))return{success:!1,errorCode:"UNKNOWN"};let e=S(a.amount),i=S(this.getBalance());if(e.gt(i))return{success:!1,errorCode:"INSUFFICIENT_BALANCE"};let r=this.getEdge(),n=Ce.getRandomValueInRange(0,s1.totalDiceValue),t=a.direction==="ABOVE"?n>a.selectedValue:n<a.selectedValue,l=t?s1.getMultiplier(r,a.selectedValue,a.direction):"0",o=e.mul(l),s=i.minus(e).plus(o);return{success:!0,id:crypto.randomUUID(),result:n,isWin:t,currency:a.currency,multiplier:S(l),payout:o,amount:e,afterBalance:s}}static getRandomValueInRange(a,e){return Math.floor(Math.random()*(e-a+1))+a}}function u2(a,e,i){let r,n,t;return()=>{if(e())return t=t??i.createMock(),t;let l=a();if(r&&l.authToken===n?.authToken&&l.baseUrl===n?.baseUrl)return r;return n=l,r=i.createReal(l.authToken,l.baseUrl),r}}function J2(a,e){return parseFloat(a).toFixed(e)}function ea(a){return{autobetSettings:{...a,onWinPercentage:J2(a.onWinPercentage,2),onLossPercentage:J2(a.onLossPercentage,2),stopOnLoss:J2(a.stopOnLoss,8),stopOnProfit:J2(a.stopOnProfit,8),pnlSinceStart:J2(a.pnlSinceStart,8),numberOfBets:Number(a.numberOfBets)}}}class De extends K1{static styles=[...K1.styles,$7];get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}isSpacebarDisabled=()=>{if(!this.gameData.hotkeysOpenEnabled)return!0;if(this.manualOrAuto==="Manual")return this._diceManualEl?.isPrimaryActionDisabled()??!0;return this._diceAutoEl?.isPrimaryActionDisabled()??!0};handleSpacebar=()=>{if(this.isSpacebarDisabled())return;if(this.manualOrAuto==="Manual"){this._diceManualEl?.triggerPrimaryAction();return}this._diceAutoEl?.triggerPrimaryAction()};diceRollOverToggle=()=>{this.diceDirection=this.diceDirection==="ABOVE"?"BELOW":"ABOVE",this.selectedValue=s1.getSelectedValueFromRollOver(this.selectedValue)};constructor(){super();this.diceDirection="ABOVE";this.selectedValue=5000;this.isManualPlaying=!1;this.isWin=!0;this.resultValue=null;this.history=[];this._multiplierInputValid=!0;this._winChanceInputValid=!0;this._rollValueInputValid=!0;new E1(this,[{key:" ",callback:this.handleSpacebar.bind(this),options:{repeat:!0,repeatInterval:200,disabled:this.isSpacebarDisabled}},{key:"q",callback:ca(()=>this.gameData,this.diceRollOverToggle),options:{disabled:()=>this.isManualPlaying||this.autobetInProgress||this.autobetStopping||!this.gameData.hotkeysOpenEnabled}},{key:"w",callback:this.decreaseSlider.bind(this),options:{repeat:!0,repeatInterval:200,disabled:()=>this.isManualPlaying||this.autobetInProgress||this.autobetStopping||!this.gameData.hotkeysOpenEnabled}},{key:"e",callback:this.increaseSlider.bind(this),options:{repeat:!0,repeatInterval:200,disabled:()=>this.isManualPlaying||this.autobetInProgress||this.autobetStopping||!this.gameData.hotkeysOpenEnabled}}])}decreaseSlider(){let a=s1.getSliderMin(this.gameData.edge,this.diceDirection,this.gameData.diceMinMultiplier)*100,e=Math.max(a,this.selectedValue-100);if(e!==this.selectedValue)this.selectedValue=e,this.gameData.soundEffects?.play(u1.diceTick(e))}increaseSlider(){let a=s1.getSliderMax(this.gameData.edge,this.diceDirection,this.gameData.diceMinMultiplier)*100,e=Math.min(a,this.selectedValue+100);if(e!==this.selectedValue)this.selectedValue=e,this.gameData.soundEffects?.play(u1.diceTick(e))}addToHistory(a,e,i){this.history=[...this.history,{multiplier:a,won:e,id:i}].slice(-5)}getDiceApi=u2(()=>this.gameData,()=>this.isDemoMode,{createReal:(a,e)=>new Tr(a,e),createMock:()=>new Ce(()=>this.gameData.edge,()=>this.gameData.balance,()=>this.gameData.diceMinMultiplier)});async dicePlay(){if(this.areInputsDisabled)return;this.isManualPlaying=!0;try{let a=await this.handleBetExecution(this.gameData.betAmount);if(!a.success)this.showError(R(ba(a.errorCode),this.gameData.language))}finally{this.isManualPlaying=!1}}async handleBetExecution(a,e){let i={amount:a,currency:this.gameData.currency,direction:this.diceDirection,selectedValue:this.selectedValue,meta:e?ea(e):void 0},r=await this.getDiceApi().startBet(i);if(!r.success)return r;if(!this.gameData.instantBetEnabled)this.gameData.soundEffects?.play(u1.diceRoll());if(this.gameData.updateBalance(r.afterBalance),this.resultValue=r.result,this.isWin=r.isWin,this.isWin)setTimeout(()=>{this.playWinFeedback()},300);return this.addToHistory(r.result/100,this.isWin,r.id),this.updateHistoryWithBet({id:r.id,currency:r.currency,amount:r.amount.toNumber(),payout:r.payout.toNumber()}),r}async executeAutobet(a,e){let i=await this.handleBetExecution(e,a);if(!i.success)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R(ba(i.errorCode),this.gameData.language)};let r=i.payout.minus(i.amount),n=B1(i.multiplier.toNumber());return await this.ensureMinimumDisplayTime(this.isWin,300,300),await
|
|
9817
|
+
`;class Ce{getEdge;getBalance;getMinMultiplier;constructor(a,e,i){this.getEdge=a;this.getBalance=e;this.getMinMultiplier=i}isValidSelectedValue(a,e){let i=s1.getSliderMin(this.getEdge(),a,this.getMinMultiplier())*100,r=s1.getSliderMax(this.getEdge(),a,this.getMinMultiplier())*100;return Number.isInteger(e)&&e>=i&&e<=r}async startBet(a){if(!f1(a.amount)||S(a.amount).lte(0)||!this.isValidSelectedValue(a.direction,a.selectedValue))return{success:!1,errorCode:"UNKNOWN"};let e=S(a.amount),i=S(this.getBalance());if(e.gt(i))return{success:!1,errorCode:"INSUFFICIENT_BALANCE"};let r=this.getEdge(),n=Ce.getRandomValueInRange(0,s1.totalDiceValue),t=a.direction==="ABOVE"?n>a.selectedValue:n<a.selectedValue,l=t?s1.getMultiplier(r,a.selectedValue,a.direction):"0",o=e.mul(l),s=i.minus(e).plus(o);return{success:!0,id:crypto.randomUUID(),result:n,isWin:t,currency:a.currency,multiplier:S(l),payout:o,amount:e,afterBalance:s}}static getRandomValueInRange(a,e){return Math.floor(Math.random()*(e-a+1))+a}}function u2(a,e,i){let r,n,t;return()=>{if(e())return t=t??i.createMock(),t;let l=a();if(r&&l.authToken===n?.authToken&&l.baseUrl===n?.baseUrl)return r;return n=l,r=i.createReal(l.authToken,l.baseUrl),r}}function J2(a,e){return parseFloat(a).toFixed(e)}function ea(a){return{autobetSettings:{...a,onWinPercentage:J2(a.onWinPercentage,2),onLossPercentage:J2(a.onLossPercentage,2),stopOnLoss:J2(a.stopOnLoss,8),stopOnProfit:J2(a.stopOnProfit,8),pnlSinceStart:J2(a.pnlSinceStart,8),numberOfBets:Number(a.numberOfBets)}}}class De extends K1{static styles=[...K1.styles,$7];get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}isSpacebarDisabled=()=>{if(!this.gameData.hotkeysOpenEnabled)return!0;if(this.manualOrAuto==="Manual")return this._diceManualEl?.isPrimaryActionDisabled()??!0;return this._diceAutoEl?.isPrimaryActionDisabled()??!0};handleSpacebar=()=>{if(this.isSpacebarDisabled())return;if(this.manualOrAuto==="Manual"){this._diceManualEl?.triggerPrimaryAction();return}this._diceAutoEl?.triggerPrimaryAction()};diceRollOverToggle=()=>{this.diceDirection=this.diceDirection==="ABOVE"?"BELOW":"ABOVE",this.selectedValue=s1.getSelectedValueFromRollOver(this.selectedValue)};constructor(){super();this.diceDirection="ABOVE";this.selectedValue=5000;this.isManualPlaying=!1;this.isWin=!0;this.resultValue=null;this.history=[];this._multiplierInputValid=!0;this._winChanceInputValid=!0;this._rollValueInputValid=!0;new E1(this,[{key:" ",callback:this.handleSpacebar.bind(this),options:{repeat:!0,repeatInterval:200,disabled:this.isSpacebarDisabled}},{key:"q",callback:ca(()=>this.gameData,this.diceRollOverToggle),options:{disabled:()=>this.isManualPlaying||this.autobetInProgress||this.autobetStopping||!this.gameData.hotkeysOpenEnabled}},{key:"w",callback:this.decreaseSlider.bind(this),options:{repeat:!0,repeatInterval:200,disabled:()=>this.isManualPlaying||this.autobetInProgress||this.autobetStopping||!this.gameData.hotkeysOpenEnabled}},{key:"e",callback:this.increaseSlider.bind(this),options:{repeat:!0,repeatInterval:200,disabled:()=>this.isManualPlaying||this.autobetInProgress||this.autobetStopping||!this.gameData.hotkeysOpenEnabled}}])}decreaseSlider(){let a=s1.getSliderMin(this.gameData.edge,this.diceDirection,this.gameData.diceMinMultiplier)*100,e=Math.max(a,this.selectedValue-100);if(e!==this.selectedValue)this.selectedValue=e,this.gameData.soundEffects?.play(u1.diceTick(e))}increaseSlider(){let a=s1.getSliderMax(this.gameData.edge,this.diceDirection,this.gameData.diceMinMultiplier)*100,e=Math.min(a,this.selectedValue+100);if(e!==this.selectedValue)this.selectedValue=e,this.gameData.soundEffects?.play(u1.diceTick(e))}addToHistory(a,e,i){this.history=[...this.history,{multiplier:a,won:e,id:i}].slice(-5)}getDiceApi=u2(()=>this.gameData,()=>this.isDemoMode,{createReal:(a,e)=>new Tr(a,e),createMock:()=>new Ce(()=>this.gameData.edge,()=>this.gameData.balance,()=>this.gameData.diceMinMultiplier)});async dicePlay(){if(this.areInputsDisabled)return;this.isManualPlaying=!0;try{let a=await this.handleBetExecution(this.gameData.betAmount);if(!a.success)this.showError(R(ba(a.errorCode),this.gameData.language))}finally{this.isManualPlaying=!1}}async handleBetExecution(a,e){let i={amount:a,currency:this.gameData.currency,direction:this.diceDirection,selectedValue:this.selectedValue,meta:e?ea(e):void 0},r=await this.getDiceApi().startBet(i);if(!r.success)return r;if(!this.gameData.instantBetEnabled)this.gameData.soundEffects?.play(u1.diceRoll());if(this.gameData.updateBalance(r.afterBalance),this.resultValue=r.result,this.isWin=r.isWin,this.isWin)setTimeout(()=>{this.playWinFeedback()},300);return this.addToHistory(r.result/100,this.isWin,r.id),this.updateHistoryWithBet({id:r.id,currency:r.currency,amount:r.amount.toNumber(),payout:r.payout.toNumber()}),r}async executeAutobet(a,e){let i=await this.handleBetExecution(e,a);if(!i.success)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R(ba(i.errorCode),this.gameData.language)};let r=i.payout.minus(i.amount),n=B1(i.multiplier.toNumber());return await this.ensureMinimumDisplayTime(this.isWin,300,300),await b1(this.getAutobetDelay()),{pnl:r,gameOutcome:n,hasError:!1}}render(){let a=S(s1.getMultiplier(this.gameData.edge,this.selectedValue,this.diceDirection)).mul(this.gameData.betAmount).minus(this.gameData.betAmount).toFixed(4),e=s1.getMultiplier(this.gameData.edge,this.selectedValue,this.diceDirection),i=!this._multiplierInputValid||!this._rollValueInputValid||!this._winChanceInputValid||!s1.isValidMultiplier(this.gameData.edge,e.toString(),this.gameData.diceMinMultiplier),r=this.gameData.mainWidth>=768,n=J1(this.gameData);return Z`
|
|
9818
9818
|
<origami-game-layout style=${n} .gameType=${"DICE"} data-is-desktop=${r}
|
|
9819
9819
|
@dice-selected-value-change=${(t)=>{this.selectedValue=t.detail.selectedValue}}
|
|
9820
9820
|
@dice-multiplier-input-change=${(t)=>{this._multiplierInputValid=s1.isValidMultiplier(this.gameData.edge,t.detail.multiplier,this.gameData.diceMinMultiplier)}}
|
|
@@ -10196,7 +10196,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
10196
10196
|
gap: 12px;
|
|
10197
10197
|
margin-top: var(--games-action-section-margin-top, auto);
|
|
10198
10198
|
}
|
|
10199
|
-
`;var V9=(a=$)=>[{value:"5",label:R("autobet.games5",a,"5 games")},{value:"10",label:R("autobet.games10",a,"10 games")},{value:"25",label:R("autobet.games25",a,"25 games")},{value:"50",label:R("autobet.games50",a,"50 games")},{value:"100",label:R("autobet.games100",a,"100 games")},{value:"0",label:R("autobet.infinite",a,"Infinite")}],X7=V9(),C7=X7[X7.length-1]?.value??"0",D7=Aa("autobet-context");var W9=(a,e,i)=>{if(a)return R("autobet.stopAutobet",e);if(i>0)return L1(i===1?"autobet.placeBet":"autobet.placeBets",e,{count:i.toLocaleString("en-US")});return R("autobet.startAutobet",e)},$9={onWinPercentage:"0.00",onLossPercentage:"0.00",stopOnProfit:"0.00",stopOnLoss:"0.00",onLossStrategy:"Reset",onWinStrategy:"Reset"},Ge=(a)=>{if(!a)return a;let e="",i=a;if(i.startsWith("-"))e="-",i=i.slice(1);let r=i.replace(/[^0-9.]/g,"");if(r.includes(".")){let n=r.split(".");r=`${n[0]}.${n.slice(1).join("")}`}return`${e}${r}`};class Vr extends X{constructor(){super(...arguments);this.inputsDisabled=!1;this.autobetSettings=$9;this.autobetStopping=!1;this.autobetInProgress=!1;this.betDisabled=!1;this._isStarting=!1;this._onWinFocused=!1;this._onLossFocused=!1;this._stopOnLossFocused=!1;this._stopOnProfitFocused=!1;this.isBetAmountValid=!0;this._showConfig=!1;this._betAboveBalance=!1;this.betMaxMultiplier=1;this.hasCustomBetAmountSection=!1;this.gameData=n1}static styles=[C,Y7];_autobetProvider=new u0(this,{context:D7,initialValue:{numberOfBets:C7,updateNumberOfBets:this.updateNumberOfBets.bind(this)}});willUpdate(a){if(a.has("autobetInProgress")){if(this.autobetInProgress)this.emit("show-alert",{detail:{id:"autobet-started",type:"info",message:R("alerts.autobetStarted",this.gameData.language)}});else if(a.get("autobetInProgress")!==void 0)this.emit("show-alert",{detail:{id:"autobet-stopped",type:"info",message:R("alerts.autobetStopped",this.gameData.language)}})}if(a.has("autobetInProgress")&&this.autobetInProgress)this._isStarting=!1}updateNumberOfBets(a){this._autobetProvider.setValue({...this._autobetProvider.value,numberOfBets:a})}triggerPrimaryAction(){
|
|
10199
|
+
`;var V9=(a=$)=>[{value:"5",label:R("autobet.games5",a,"5 games")},{value:"10",label:R("autobet.games10",a,"10 games")},{value:"25",label:R("autobet.games25",a,"25 games")},{value:"50",label:R("autobet.games50",a,"50 games")},{value:"100",label:R("autobet.games100",a,"100 games")},{value:"0",label:R("autobet.infinite",a,"Infinite")}],X7=V9(),C7=X7[X7.length-1]?.value??"0",D7=Aa("autobet-context");var W9=(a,e,i)=>{if(a)return R("autobet.stopAutobet",e);if(i>0)return L1(i===1?"autobet.placeBet":"autobet.placeBets",e,{count:i.toLocaleString("en-US")});return R("autobet.startAutobet",e)},$9={onWinPercentage:"0.00",onLossPercentage:"0.00",stopOnProfit:"0.00",stopOnLoss:"0.00",onLossStrategy:"Reset",onWinStrategy:"Reset"},Ge=(a)=>{if(!a)return a;let e="",i=a;if(i.startsWith("-"))e="-",i=i.slice(1);let r=i.replace(/[^0-9.]/g,"");if(r.includes(".")){let n=r.split(".");r=`${n[0]}.${n.slice(1).join("")}`}return`${e}${r}`};class Vr extends X{constructor(){super(...arguments);this.inputsDisabled=!1;this.autobetSettings=$9;this.autobetStopping=!1;this.autobetInProgress=!1;this.betDisabled=!1;this._isStarting=!1;this._onWinFocused=!1;this._onLossFocused=!1;this._stopOnLossFocused=!1;this._stopOnProfitFocused=!1;this.isBetAmountValid=!0;this._showConfig=!1;this._betAboveBalance=!1;this.betMaxMultiplier=1;this.hasCustomBetAmountSection=!1;this.gameData=n1}static styles=[C,Y7];_autobetProvider=new u0(this,{context:D7,initialValue:{numberOfBets:C7,updateNumberOfBets:this.updateNumberOfBets.bind(this)}});willUpdate(a){if(a.has("autobetInProgress")){if(this.autobetInProgress)this.emit("show-alert",{detail:{id:"autobet-started",type:"info",message:R("alerts.autobetStarted",this.gameData.language)}});else if(a.get("autobetInProgress")!==void 0)this.emit("show-alert",{detail:{id:"autobet-stopped",type:"info",message:R("alerts.autobetStopped",this.gameData.language)}})}if(a.has("autobetInProgress")&&this.autobetInProgress)this._isStarting=!1}updateNumberOfBets(a){this._autobetProvider.setValue({...this._autobetProvider.value,numberOfBets:a})}triggerPrimaryAction(){Z1.clickButtonHost(this.betButtonEl??null)}isPrimaryActionDisabled(){return Z1.isButtonHostDisabled(this.betButtonEl??null)}_handleWinPercentageChange(a){if(a.detail&&typeof a.detail.value==="string")this.autobetSettings={...this.autobetSettings,onWinPercentage:Ge(a.detail.value)}}_handleLossPercentageChange(a){if(a.detail&&typeof a.detail.value==="string")this.autobetSettings={...this.autobetSettings,onLossPercentage:Ge(a.detail.value)}}_handleStopOnProfitChange(a){if(a.detail&&typeof a.detail.value==="string")this.autobetSettings={...this.autobetSettings,stopOnProfit:a.detail.value}}_handleStopOnLossChange(a){if(a.detail&&typeof a.detail.value==="string")this.autobetSettings={...this.autobetSettings,stopOnLoss:a.detail.value}}_hasCustomInputs(){if(!this.customInputsSlot)return!1;let a=this.customInputsSlot.assignedNodes();return a.length>0&&a.some((e)=>e.nodeType===Node.ELEMENT_NODE)}betButtonClick=()=>{if(!this.autobetInProgress)this._isStarting=!0;this.emit("autobet-toggle",{detail:{...this.autobetSettings,numberOfBets:this._autobetProvider.value.numberOfBets}})};render(){let a=this.gameData.language;return Z`
|
|
10200
10200
|
<div>
|
|
10201
10201
|
<div
|
|
10202
10202
|
class=${B({"form-content":!0,"form-content-disabled":this.inputsDisabled})}
|
|
@@ -10586,7 +10586,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
10586
10586
|
}
|
|
10587
10587
|
}
|
|
10588
10588
|
`;class $r extends X{constructor(){super(...arguments);this.isDesktop=!1;this.selectedTiles=[];this.risk="CLASSIC";this.betAmount="0";this.hitCount=0;this.multipliersForSelectedTiles=0;this.resultTiles=[];this.hoverItemIndex=-1}static styles=[C,N7];updated(a){if(a.has("resultTiles")&&this.resultTiles.length>0)this.scrollToHighlightedGem()}scrollToHighlightedGem(){requestAnimationFrame(()=>{let a=this.shadowRoot?.querySelector(".multiply-button.match-hit");if(a){let e=this.shadowRoot?.querySelector(".container");if(e){let i=a.offsetLeft-e.clientWidth/2+a.offsetWidth/2;e.scrollTo({left:i,behavior:"smooth"})}}})}formatMultiplier(a){return`${a.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})}X`}handleMouseOver(a,e){if(!this.isDesktop)return;if(e.target)this.hoverItemIndex=a}handleMouseLeave(){if(!this.isDesktop)return;this.hoverItemIndex=-1}render(){let a=this.gameData?.language||$,e=this.multipliersForSelectedTiles,i=this.gameData?.edge||ha,r=za.validEdges.includes(i)?i:ha,l=[null,...za.configs(r)[e-1]?.payout?.[this.risk]??[]],o=Array.from({length:e+1},(h,f)=>f),s=this.gameData?.customKenoGemSvgUrl?Z`<img class="custom-gem" src=${this.gameData.customKenoGemSvgUrl} alt="" aria-hidden="true" />`:ve,d=l[this.hoverItemIndex+1]??0,c=this.hoverItemIndex>=0&&this.hoverItemIndex<=this.multipliersForSelectedTiles?za.getChance({correctPicks:this.hoverItemIndex,picked:this.multipliersForSelectedTiles}).times(100):S(0),m=d*+this.betAmount;if(e===0)return Z`
|
|
10589
|
-
<div class="container" style=${
|
|
10589
|
+
<div class="container" style=${z1({["--button-count"]:"1"})}>
|
|
10590
10590
|
${this.isDesktop&&this.hoverItemIndex>-1?Z`<div class="multiplier-info">
|
|
10591
10591
|
<div class="info-item">
|
|
10592
10592
|
<div>
|
|
@@ -10639,7 +10639,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
10639
10639
|
</div>
|
|
10640
10640
|
</div>
|
|
10641
10641
|
`;return Z`
|
|
10642
|
-
<div class="container" style=${
|
|
10642
|
+
<div class="container" style=${z1({["--button-count"]:`${o.length}`})}>
|
|
10643
10643
|
${this.isDesktop&&this.hoverItemIndex>-1?Z`<div class="multiplier-info">
|
|
10644
10644
|
<div class="info-item">
|
|
10645
10645
|
<div>
|
|
@@ -10782,7 +10782,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
10782
10782
|
:host {
|
|
10783
10783
|
height: 100%;
|
|
10784
10784
|
}
|
|
10785
|
-
`;class Ue extends K1{static styles=[...K1.styles,U7];get kenoEdge(){return za.getEdge(this.gameData.edge)}getDisplayMultiplier(a,e,i){return S(a).eq(0)?za.calculateMultiplier(this.kenoRisk,this.selectedTiles,i,this.kenoEdge).toNumber():e}get isToggleDisabled(){return this.autobetInProgress||this.isManualPlaying}get areInputsDisabled(){return this.autobetInProgress||this.isManualPlaying}get kenoApi(){return this.isDemoMode?new Pe(this.kenoEdge):new Yr(this.gameData.authToken,this.gameData.baseUrl)}_getGemPitchFromHits(a){let e=a/V2;if(e>=0.75)return 1.5;if(e>=0.5)return 1.26;if(e>=0.25)return 1.122;return 1}playGemRevealFeedback(a){let e=this._getGemPitchFromHits(a);this.gameData.soundEffects?.play(u1.gem(e)),this.gameData.haptics?.gemReveal(e)}playLossGemRevealFeedback(a,e){if(this.multiplier>0)return;let i=a.filter((r)=>e.has(r)).length;if(i>0){this.playGemRevealFeedback(i);return}this.gameData.soundEffects?.play(u1.kenoTick())}playAnimatedRevealFeedback(a,e,i){if(this.gameData.soundEffects?.play(u1.kenoTick()),!e.has(a))return i;let r=i+1;return this.playGemRevealFeedback(r),r}async kenoPlay(){if(this.gameWinPopupShowing=!1,this.selectedTiles.length===0){alert(R("games.keno.selectAtLeastOneTile",this.gameData.language));return}this.isManualPlaying=!0,this.resultTiles=[],this.gameOver=!1;try{let a=await this.handleBetExecution(this.gameData.betAmount,this.getDelay(150));if(!a.success){this.showError(a.error);return}this.betId=a.data.id}catch(a){console.error("Error in kenoPlay:",a)}finally{this.isManualPlaying=!1,this.gameOver=!0}}async handleBetExecution(a,e){if(!this.gameData.currency)throw new Error("Currency is not set");let i={language:this.gameData.language,amount:a,currency:this.gameData.currency,riskLevel:this.kenoRisk,selectedNumbers:this.selectedTiles},r;if(this.isDemoMode&&S(this.gameData.balance).lt(i.amount))r={success:!1,error:R("alerts.insufficientBalance",this.gameData?.language||"en")};else r=await this.kenoApi.startBet(i);if(r.success){let{betActions:n}=r.data,t=n[n.length-1]?.data.KENO;if(!t||!("result"in t))throw new Error("No keno data found");this.multiplier=this.getDisplayMultiplier(this.gameData.betAmount,Number(r.data.multiplier),t.result);let l=new Set(this.selectedTiles);if(await this.executeInstantOrAnimated(async()=>{this.playLossGemRevealFeedback(t.result,l),this.resultTiles=[...t.result]},async()=>{let s=0;for(let d of t.result)s=this.playAnimatedRevealFeedback(d,l,s),this.resultTiles=[...this.resultTiles,d],await
|
|
10785
|
+
`;class Ue extends K1{static styles=[...K1.styles,U7];get kenoEdge(){return za.getEdge(this.gameData.edge)}getDisplayMultiplier(a,e,i){return S(a).eq(0)?za.calculateMultiplier(this.kenoRisk,this.selectedTiles,i,this.kenoEdge).toNumber():e}get isToggleDisabled(){return this.autobetInProgress||this.isManualPlaying}get areInputsDisabled(){return this.autobetInProgress||this.isManualPlaying}get kenoApi(){return this.isDemoMode?new Pe(this.kenoEdge):new Yr(this.gameData.authToken,this.gameData.baseUrl)}_getGemPitchFromHits(a){let e=a/V2;if(e>=0.75)return 1.5;if(e>=0.5)return 1.26;if(e>=0.25)return 1.122;return 1}playGemRevealFeedback(a){let e=this._getGemPitchFromHits(a);this.gameData.soundEffects?.play(u1.gem(e)),this.gameData.haptics?.gemReveal(e)}playLossGemRevealFeedback(a,e){if(this.multiplier>0)return;let i=a.filter((r)=>e.has(r)).length;if(i>0){this.playGemRevealFeedback(i);return}this.gameData.soundEffects?.play(u1.kenoTick())}playAnimatedRevealFeedback(a,e,i){if(this.gameData.soundEffects?.play(u1.kenoTick()),!e.has(a))return i;let r=i+1;return this.playGemRevealFeedback(r),r}async kenoPlay(){if(this.gameWinPopupShowing=!1,this.selectedTiles.length===0){alert(R("games.keno.selectAtLeastOneTile",this.gameData.language));return}this.isManualPlaying=!0,this.resultTiles=[],this.gameOver=!1;try{let a=await this.handleBetExecution(this.gameData.betAmount,this.getDelay(150));if(!a.success){this.showError(a.error);return}this.betId=a.data.id}catch(a){console.error("Error in kenoPlay:",a)}finally{this.isManualPlaying=!1,this.gameOver=!0}}async handleBetExecution(a,e){if(!this.gameData.currency)throw new Error("Currency is not set");let i={language:this.gameData.language,amount:a,currency:this.gameData.currency,riskLevel:this.kenoRisk,selectedNumbers:this.selectedTiles},r;if(this.isDemoMode&&S(this.gameData.balance).lt(i.amount))r={success:!1,error:R("alerts.insufficientBalance",this.gameData?.language||"en")};else r=await this.kenoApi.startBet(i);if(r.success){let{betActions:n}=r.data,t=n[n.length-1]?.data.KENO;if(!t||!("result"in t))throw new Error("No keno data found");this.multiplier=this.getDisplayMultiplier(this.gameData.betAmount,Number(r.data.multiplier),t.result);let l=new Set(this.selectedTiles);if(await this.executeInstantOrAnimated(async()=>{this.playLossGemRevealFeedback(t.result,l),this.resultTiles=[...t.result]},async()=>{let s=0;for(let d of t.result)s=this.playAnimatedRevealFeedback(d,l,s),this.resultTiles=[...this.resultTiles,d],await b1(e)}),this.gameWinPopupShowing=this.multiplier>0,this.gameWinPopupShowing)this.playWinFeedback();this.payout=S(r.data.payout??0),this.addToHistory(S(r.data.multiplier??0).toNumber(),this.gameWinPopupShowing,r.data.id??""),this.updateHistoryWithBet(r.data);let o=this.isDemoMode?S(this.gameData.balance).minus(r.data.amount??0).plus(r.data.payout??0):S(r.data.afterBalance??0);this.gameData.updateBalance(o)}return r}addToHistory(a,e,i){let r=[...this.history,{multiplier:a,won:e,id:i}];this.history=r.slice(-5)}async executeAutobet(a,e){try{if(!this.gameData.currency)throw new Error("Currency is not set");if(this.resultTiles=[],this.gameOver=!1,this.gameWinPopupShowing=!1,this.gameData.instantBetEnabled)await this.forceUIUpdate();if(this.selectedTiles.length===0)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R("games.keno.selectTileToAutobet",this.gameData.language||$)};let i={language:this.gameData.language,amount:e,currency:this.gameData.currency,riskLevel:this.kenoRisk,selectedNumbers:this.selectedTiles,meta:a?ea(a):void 0},r=await this.kenoApi.startBet(i);if(!r.success)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:r.error||R("alerts.errorProcessingBet",this.gameData.language||$)};let n=r.data,t=S(n.payout??0).minus(n.amount??0),l=B1(Number(n.multiplier)),o=n.betActions,s=o[o.length-1]?.data.KENO;if(!s||!("result"in s))throw new Error("No keno data found");let{result:d}=s;this.multiplier=this.getDisplayMultiplier(e,Number(n.multiplier),d);let c=new Set(this.selectedTiles);if(await this.executeInstantOrAnimated(async()=>{this.playLossGemRevealFeedback(d,c),this.resultTiles=[...d]},async()=>{let h=0;for(let f of d)h=this.playAnimatedRevealFeedback(f,c,h),this.resultTiles=[...this.resultTiles,f],await b1(this.getDelay(150))}),this.gameWinPopupShowing=this.multiplier>0,this.gameWinPopupShowing)this.playWinFeedback();this.payout=S(n.payout??0),this.addToHistory(Number(n.multiplier??0),this.gameWinPopupShowing,n.id??""),this.updateHistoryWithBet(n),await this.ensureMinimumDisplayTime(this.gameWinPopupShowing,300,300),await b1(this.getAutobetDelay()),this.gameWinPopupShowing=!1;let m=this.isDemoMode?S(this.gameData.balance).minus(r.data.amount??0).plus(r.data.payout??0):S(r.data.afterBalance??0);return this.gameData.updateBalance(m),{pnl:t,gameOutcome:l,hasError:!1}}catch(i){return console.error("Error in executeAutobet:",i),{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R("alerts.gameError",this.gameData.language||$)}}finally{this.gameOver=!0}}handleTileClick=(a)=>{if(this.gameOver)this.newGame();if(this.selectedTiles.includes(a.detail.tile))this.selectedTiles=this.selectedTiles.filter((i)=>i!==a.detail.tile);else if(this.selectedTiles.length<V2)this.selectedTiles=[...this.selectedTiles,a.detail.tile]};handleRiskChange=(a)=>{this.kenoRisk=a.detail.value};autoPick=()=>{if(this.isManualPlaying)return;if(this.resultTiles=[],this.gameWinPopupShowing=!1,this.selectedTiles.length>=V2)this.selectedTiles=[];let a=V2-this.selectedTiles.length;if(a<=0)return;let i=Array.from({length:40},(t,l)=>l).filter((t)=>!this.selectedTiles.includes(t));if(i.length===0)return;let n=[...i].sort(()=>0.5-Math.random()).slice(0,a);this.gameData.soundEffects?.play(u1.kenoTick()),this.selectedTiles=[...this.selectedTiles,...n]};clearTable=()=>{if(this.isManualPlaying)return;this.gameWinPopupShowing=!1,this.selectedTiles=[],this.resultTiles=[],this.payout=null};newGame=()=>{this.gameWinPopupShowing=!1,this.resultTiles=[],this.payout=null};render(){let a=this.selectedTiles.length,e=this.gameData.mainWidth>=768,i=this.kenoEdge,r=za.configs(i).find((t)=>t.tiles===this.selectedTiles.length)?.payout[this.kenoRisk][this.selectedTiles.length]??1,n=J1(this.gameData);return Z`
|
|
10786
10786
|
<origami-game-layout .gameType=${"KENO"} style=${n} data-is-desktop=${e}>
|
|
10787
10787
|
<origami-game-sidebar
|
|
10788
10788
|
data-is-desktop=${e}
|
|
@@ -10853,7 +10853,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
10853
10853
|
></origami-keno-content>
|
|
10854
10854
|
${Y}
|
|
10855
10855
|
</origami-game-layout>
|
|
10856
|
-
`}getButton(a){let e;if(this.manualOrAuto==="Manual")e=this._kenoManualEl?.shadowRoot?.querySelector(`origami-button[hotkey="${a}"]`);else if(a===" ")e=this._kenoAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.shadowRoot?.querySelector(".bet-btn");else e=this._kenoAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.querySelector(`origami-button[hotkey="${a}"]`);return e??null}clickButton(a,e){let i=this.getButton(a);if(i){
|
|
10856
|
+
`}getButton(a){let e;if(this.manualOrAuto==="Manual")e=this._kenoManualEl?.shadowRoot?.querySelector(`origami-button[hotkey="${a}"]`);else if(a===" ")e=this._kenoAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.shadowRoot?.querySelector(".bet-btn");else e=this._kenoAutoEl?.shadowRoot?.querySelector("origami-generic-autobet")?.querySelector(`origami-button[hotkey="${a}"]`);return e??null}clickButton(a,e){let i=this.getButton(a);if(i){Z1.clickButtonHost(i);return}e()}isButtonDisabled(a){if(!this.gameData?.hotkeysOpenEnabled)return!0;return Z1.isButtonHostDisabled(this.getButton(a))}handleSpacebar=()=>{if(this.isButtonDisabled(" "))return;this.clickButton(" ",()=>void this.kenoPlay())};handleAutoPick=()=>{if(this.isButtonDisabled("Q"))return;this.clickButton("Q",()=>void this.autoPick())};handleClearTable=()=>{if(this.isButtonDisabled("W"))return;this.clickButton("W",this.clearTable)};constructor(){super();this.isManualPlaying=!1;this.history=[];this.selectedTiles=[];this.resultTiles=[];this.gameWinPopupShowing=!1;this.gameOver=!1;this.payout=null;this.kenoRisk="CLASSIC";this.multiplier=0;this.showResetAnimation=!0;new E1(this,[{key:" ",callback:this.handleSpacebar.bind(this),options:{disabled:()=>this.isButtonDisabled(" ")}},{key:"q",callback:this.handleAutoPick.bind(this),options:{disabled:()=>this.isButtonDisabled("Q")}},{key:"w",callback:this.handleClearTable.bind(this),options:{disabled:()=>this.isButtonDisabled("W")}}])}async firstUpdated(a){super.firstUpdated(a),requestAnimationFrame(()=>{setTimeout(()=>{this.showResetAnimation=!1},350)})}}u([q()],Ue.prototype,"isManualPlaying",void 0),u([q()],Ue.prototype,"history",void 0),u([q()],Ue.prototype,"selectedTiles",void 0),u([q()],Ue.prototype,"resultTiles",void 0),u([k({type:Boolean})],Ue.prototype,"gameWinPopupShowing",void 0),u([q()],Ue.prototype,"gameOver",void 0),u([q()],Ue.prototype,"payout",void 0),u([q()],Ue.prototype,"kenoRisk",void 0),u([q()],Ue.prototype,"multiplier",void 0),u([q()],Ue.prototype,"betId",void 0),u([q()],Ue.prototype,"showResetAnimation",void 0),u([a1("origami-keno-manual")],Ue.prototype,"_kenoManualEl",void 0),u([a1("origami-keno-auto")],Ue.prototype,"_kenoAutoEl",void 0),Ue=u([J("origami-keno-game")],Ue);var B7=W`
|
|
10857
10857
|
:host {
|
|
10858
10858
|
display: flex;
|
|
10859
10859
|
flex-direction: column;
|
|
@@ -10873,7 +10873,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
10873
10873
|
order: 0;
|
|
10874
10874
|
}
|
|
10875
10875
|
}
|
|
10876
|
-
`;class Xr extends X{constructor(){super(...arguments);this.inputsDisabled=!1;this.isPlaying=!1;this.profitOnWin="0.00";this.betDisabled=!1;this.betMaxMultiplier=1;this.language=$;this.currency=p1;this.isBetAmountValid=!0;this._betAboveBalance=!1}static styles=[C,B7];triggerPrimaryAction(){
|
|
10876
|
+
`;class Xr extends X{constructor(){super(...arguments);this.inputsDisabled=!1;this.isPlaying=!1;this.profitOnWin="0.00";this.betDisabled=!1;this.betMaxMultiplier=1;this.language=$;this.currency=p1;this.isBetAmountValid=!0;this._betAboveBalance=!1}static styles=[C,B7];triggerPrimaryAction(){Z1.clickButtonHost(this.actionButtonEl??null)}isPrimaryActionDisabled(){return Z1.isButtonHostDisabled(this.actionButtonEl??null)}render(){return Z`
|
|
10877
10877
|
<origami-deposit-button .betAboveBalance=${this._betAboveBalance}></origami-deposit-button>
|
|
10878
10878
|
|
|
10879
10879
|
<origami-bet-amount-input
|
|
@@ -11088,7 +11088,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
11088
11088
|
grid-template-columns: 1fr 1fr;
|
|
11089
11089
|
gap: 8px;
|
|
11090
11090
|
}
|
|
11091
|
-
`;var C9=100,D9=5;class W2 extends K1{static styles=[...K1.styles,e8];get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}getLimboApi=u2(()=>this.gameData,()=>this.isDemoMode,{createReal:(a,e)=>new v1(a,e),createMock:()=>new Gr(()=>this.gameData.edge,()=>this.gameData.balance)});constructor(){super();this.targetMultiplier=2;this.resultMultiplier=null;this.isManualPlaying=!1;this.history=[];this.betTargetMultiplier=2;this.betId="";this._multiplierInputValid=!0;this._winChanceInputValid=!0;new E1(this,[{key:" ",callback:this.handleSpacebar,options:{repeat:!0,repeatInterval:200,disabled:this.isSpacebarDisabled}}])}async limboPlay(){if(this.areInputsDisabled)return;this.isManualPlaying=!0;try{let a=await this.handleBetExecution(this.gameData.betAmount);if(!a.success){this.showError(R(ba(a.errorCode),this.gameData.language));return}await this.waitForAnimationComplete(a.id)}finally{this.isManualPlaying=!1}}async handleBetExecution(a,e){this.resultMultiplier=null;let i=this.targetMultiplier,r={amount:a,currency:this.gameData.currency,targetMultiplier:Number(S(i).mul(C9).toFixed(0)),meta:e?ea(e):void 0},n=await this.getLimboApi().startBet(r);if(!n.success)return n;return this.gameData.updateBalance(n.afterBalance),this.resultMultiplier=n.resultMultiplier.toNumber(),this.betTargetMultiplier=i,this.betId=n.id,this.updateHistoryWithBet({id:n.id,currency:n.currency,amount:n.amount.toNumber(),payout:n.payout.toNumber()}),n}static ANIMATION_TIMEOUT_MS=1e4;waitForAnimationComplete(a){return new Promise((e)=>{let i,r=()=>{if(this.removeEventListener("limbo-multiplier-animation-end",n),i!==void 0)clearTimeout(i)},n=(t)=>{if(t.detail.betId!==a)return;r(),e()};this.addEventListener("limbo-multiplier-animation-end",n),i=setTimeout(()=>{r(),e()},W2.ANIMATION_TIMEOUT_MS)})}isSpacebarDisabled=()=>{if(!this.gameData.hotkeysOpenEnabled)return!0;if(this.manualOrAuto==="Manual")return this._limboManualEl?.isPrimaryActionDisabled()??!0;return this._limboAutoEl?.isPrimaryActionDisabled()??!0};handleSpacebar=()=>{if(this.isSpacebarDisabled())return;if(this.manualOrAuto==="Manual"){this._limboManualEl?.triggerPrimaryAction();return}this._limboAutoEl?.triggerPrimaryAction()};async executeAutobet(a,e){let i=await this.handleBetExecution(e,a);if(!i.success)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R(ba(i.errorCode),this.gameData.language)};await this.waitForAnimationComplete(i.id);let r=i.payout.minus(i.amount),n=B1(i.multiplier.toNumber()),t=i.isWin;return await this.ensureMinimumDisplayTime(t,300,300),await
|
|
11091
|
+
`;var C9=100,D9=5;class W2 extends K1{static styles=[...K1.styles,e8];get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}getLimboApi=u2(()=>this.gameData,()=>this.isDemoMode,{createReal:(a,e)=>new v1(a,e),createMock:()=>new Gr(()=>this.gameData.edge,()=>this.gameData.balance)});constructor(){super();this.targetMultiplier=2;this.resultMultiplier=null;this.isManualPlaying=!1;this.history=[];this.betTargetMultiplier=2;this.betId="";this._multiplierInputValid=!0;this._winChanceInputValid=!0;new E1(this,[{key:" ",callback:this.handleSpacebar,options:{repeat:!0,repeatInterval:200,disabled:this.isSpacebarDisabled}}])}async limboPlay(){if(this.areInputsDisabled)return;this.isManualPlaying=!0;try{let a=await this.handleBetExecution(this.gameData.betAmount);if(!a.success){this.showError(R(ba(a.errorCode),this.gameData.language));return}await this.waitForAnimationComplete(a.id)}finally{this.isManualPlaying=!1}}async handleBetExecution(a,e){this.resultMultiplier=null;let i=this.targetMultiplier,r={amount:a,currency:this.gameData.currency,targetMultiplier:Number(S(i).mul(C9).toFixed(0)),meta:e?ea(e):void 0},n=await this.getLimboApi().startBet(r);if(!n.success)return n;return this.gameData.updateBalance(n.afterBalance),this.resultMultiplier=n.resultMultiplier.toNumber(),this.betTargetMultiplier=i,this.betId=n.id,this.updateHistoryWithBet({id:n.id,currency:n.currency,amount:n.amount.toNumber(),payout:n.payout.toNumber()}),n}static ANIMATION_TIMEOUT_MS=1e4;waitForAnimationComplete(a){return new Promise((e)=>{let i,r=()=>{if(this.removeEventListener("limbo-multiplier-animation-end",n),i!==void 0)clearTimeout(i)},n=(t)=>{if(t.detail.betId!==a)return;r(),e()};this.addEventListener("limbo-multiplier-animation-end",n),i=setTimeout(()=>{r(),e()},W2.ANIMATION_TIMEOUT_MS)})}isSpacebarDisabled=()=>{if(!this.gameData.hotkeysOpenEnabled)return!0;if(this.manualOrAuto==="Manual")return this._limboManualEl?.isPrimaryActionDisabled()??!0;return this._limboAutoEl?.isPrimaryActionDisabled()??!0};handleSpacebar=()=>{if(this.isSpacebarDisabled())return;if(this.manualOrAuto==="Manual"){this._limboManualEl?.triggerPrimaryAction();return}this._limboAutoEl?.triggerPrimaryAction()};async executeAutobet(a,e){let i=await this.handleBetExecution(e,a);if(!i.success)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R(ba(i.errorCode),this.gameData.language)};await this.waitForAnimationComplete(i.id);let r=i.payout.minus(i.amount),n=B1(i.multiplier.toNumber()),t=i.isWin;return await this.ensureMinimumDisplayTime(t,300,300),await b1(this.getAutobetDelay()),{pnl:r,gameOutcome:n,hasError:!1}}multiplierChange=(a)=>{if(!v1.isValidMultiplier(a.detail.multiplier))return;this.targetMultiplier=Number(S(a.detail.multiplier).toFixed(v1.multiplierPrecision))};calculateProfitOnWin(){return S(this.gameData.betAmount).mul(this.targetMultiplier).minus(this.gameData.betAmount).toFixed(4)}addToHistory(a,e,i){let r=[...this.history.filter((n)=>n.id!==i),{multiplier:a,won:e,id:i}];this.history=r.slice(-D9)}multiplierAnimationEnd=(a)=>{let{resultMultiplier:e,isWin:i,betId:r}=a.detail;if(i)this.playWinFeedback();this.addToHistory(e,i,r)};render(){let a=this.gameData.language,e=this.gameData.edge,i=this.calculateProfitOnWin(),r=!this._multiplierInputValid||!this._winChanceInputValid||!v1.isValidMultiplier(this.targetMultiplier.toString()),n=this.gameData.mainWidth>=768,t=J1(this.gameData);return Z`
|
|
11092
11092
|
<origami-game-layout
|
|
11093
11093
|
style=${t}
|
|
11094
11094
|
.gameType=${"LIMBO"}
|
|
@@ -11166,7 +11166,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
11166
11166
|
:host {
|
|
11167
11167
|
height: 100%;
|
|
11168
11168
|
}
|
|
11169
|
-
`;class W1{getEdge;getBalance;activeBet=null;minePositions=[];constructor(a,e){this.getEdge=a;this.getBalance=e}async startManualBet(a){if(this.activeBet||!this.isValidBetAmount(a.amount)||!W1.isValidMinesCount(a.minesCount))return W1.error("UNKNOWN");let e=S(this.getBalance());if(S(a.amount).gt(e))return W1.error("INSUFFICIENT_BALANCE");let i=S(a.amount),r=e.minus(i);this.minePositions=W1.generateMinePositions(a.minesCount);let n={settled:!1,id:crypto.randomUUID(),amount:i,currency:a.currency,afterBalance:r,state:W1.createState({amount:i,minesCount:a.minesCount,selectedTiles:[],mineLocations:[],outcome:null})};return this.activeBet=n,{success:!0,...n}}async getActiveBet(){if(!this.activeBet)return{success:!0,data:null};return{success:!0,data:{settled:!1,id:this.activeBet.id,amount:this.activeBet.amount,currency:this.activeBet.currency,state:this.activeBet.state}}}async selectTile(a){let e=this.activeBet;if(!e)return W1.error("UNKNOWN");if(a.betId&&a.betId!==e.id)return W1.error("UNKNOWN");let i=e.state.minesCount,r=this.getNextSelectedTiles(e.state.selectedTiles,a.selectedTiles,i);if(!r)return W1.error("UNKNOWN");let n=this.getSettlement(e.amount,i,r),t=n.hitMine||r.length===G1-i,l=t?n.hitMine?"LOSS":"WIN":null,o=t?[...this.minePositions]:[],s=W1.createState({amount:e.amount,minesCount:i,selectedTiles:r,mineLocations:o,outcome:l});if(t){let m=S(this.getBalance()).plus(n.payout);return this.clearActiveBet(),{success:!0,...{settled:!0,id:e.id,amount:e.amount,currency:e.currency,payout:n.payout,multiplier:n.multiplier,afterBalance:m,state:s}}}return this.activeBet={...e,state:s},{success:!0,...{settled:!1,id:e.id,amount:e.amount,currency:e.currency,state:s}}}async cashout(){let a=this.activeBet;if(!a)return W1.error("UNKNOWN");let e=a.state.selectedTiles;if(e.length===0)return W1.error("UNKNOWN");let i=this.getSettlement(a.amount,a.state.minesCount,e),n=S(this.getBalance()).plus(i.payout),t=[...this.minePositions];return this.clearActiveBet(),{success:!0,...{settled:!0,id:a.id,amount:a.amount,currency:a.currency,payout:i.payout,multiplier:i.multiplier,afterBalance:n,state:W1.createState({amount:a.amount,minesCount:a.state.minesCount,selectedTiles:e,mineLocations:t,outcome:i.hitMine?"LOSS":"WIN"})}}}async autobetPlay(a){let e=a.minesCount??Vn;if(!this.isValidBetAmount(a.amount)||!W1.isValidMinesCount(e))return W1.error("UNKNOWN");let i=S(this.getBalance());if(S(a.amount).gt(i))return W1.error("INSUFFICIENT_BALANCE");let r=this.getNextSelectedTiles([],a.selectedTiles,e);if(!r)return W1.error("UNKNOWN");let n=S(a.amount),t=W1.generateMinePositions(e),l=this.getSettlement(n,e,r,t),o=i.minus(n).plus(l.payout);return{success:!0,...{settled:!0,id:crypto.randomUUID(),amount:n,currency:a.currency,payout:l.payout,multiplier:l.multiplier,afterBalance:o,state:W1.createState({amount:n,minesCount:e,selectedTiles:r,mineLocations:t,outcome:l.hitMine?"LOSS":"WIN"})}}}isValidBetAmount(a){return f1(a)&&S(a).gt(0)}clearActiveBet(){this.activeBet=null,this.minePositions=[]}static createState({amount:a,minesCount:e,selectedTiles:i,mineLocations:r,outcome:n}){let t=i.filter((s)=>!r.includes(s)).length,l=G1-e-i.length,o=n==="LOSS"?e-1:e;return{selectedTiles:i,mineLocations:r,outcome:n,minesCount:e,numMinesRemaining:o,numGemsFound:t,numGemsRemaining:l,state:n===null?"GAME_IN_PROGRESS":"VIEWING_RESULTS",betAmount:a}}getNextSelectedTiles(a,e,i){if(e.length===0)return null;let r=new Set(a);for(let t of e){if(!W1.isValidTile(t)||r.has(t))return null;r.add(t)}let n=[...a,...e];if(n.length>G1-i)return null;return n}getSettlement(a,e,i,r=this.minePositions){let n=i.some((o)=>r.includes(o)),t=i.filter((o)=>!r.includes(o)).length,l=n?S(0):Sa.calculateMinesMultiplier(t,e,this.getEdge());return{hitMine:n,multiplier:l,payout:n?S(0):a.mul(l)}}static error(a){return{success:!1,errorCode:a}}static generateMinePositions(a){let e=Array.from({length:G1},(i,r)=>r+1);for(let i=0;i<a;i+=1){let r=i+Math.floor(Math.random()*(e.length-i)),n=e[i];e[i]=e[r],e[r]=n}return e.slice(0,a)}static isValidMinesCount(a){return Number.isInteger(a)&&a>0&&a<G1}static isValidTile(a){return Number.isInteger(a)&&a>=1&&a<=G1}}var N9=(a,e)=>{if(a.settled)return a;let i=Array.from(new Set([...a.state.selectedTiles,...e.state.selectedTiles]));return{...e,state:{...e.state,selectedTiles:i,numGemsFound:i.filter((r)=>!e.state.mineLocations.includes(r)).length,numGemsRemaining:G1-e.state.minesCount-i.length}}};class r8{hasInitialValues=!1;previousValues=[];callback;constructor(a){this.callback=a}check(a){if(!this.hasInitialValues){this.previousValues=[...a],this.hasInitialValues=!0;return}if(a.length!==this.previousValues.length||a.some((i,r)=>i!==this.previousValues[r]))this.callback([...a],[...this.previousValues]),this.previousValues=[...a]}}class Be extends K1{static styles=[...K1.styles,i8];sessionWatcher=new r8(([a,e],[i,r])=>{let n=Boolean(i)&&Boolean(r),t=Boolean(a)&&Boolean(e);if(!n&&!t)return;this.isCheckingForSession=!0,this.getMinesActiveBet()});get isToggleDisabled(){let a=this.minesState;return this.autobetInProgress||a?.state==="GAME_IN_PROGRESS"||this.isCheckingForSession||this.isLoading}get areInputsDisabled(){let a=this.minesState;return this.autobetInProgress||a?.state==="GAME_IN_PROGRESS"||this.isCheckingForSession||this.isLoading}get isGameActive(){return this.minesState?.state==="GAME_IN_PROGRESS"}getMinesApi=u2(()=>this.gameData,()=>this.isDemoMode,{createReal:(a,e)=>new Sa(a,e),createMock:()=>new W1(()=>this.gameData.edge,()=>this.gameData.balance)});get minesState(){return this.minesData?.state??null}gameOutcomeFromMinesOutcome(a){switch(a){case"WIN":return"Win";case"LOSS":return"Loss";default:return"Draw"}}deriveManualControlValues(a){if(!a)return{profitOnWin:"",nextProfitOnWin:"",nextMultiplier:"",formattedPayout:""};let e=a.betAmount,i=Sa.calculateMinesMultiplier(a.numGemsFound,a.minesCount,this.gameData.edge),r=Sa.calculateMinesMultiplier(a.numGemsFound+1,a.minesCount,this.gameData.edge),n=e.mul(r).minus(e),t=this.gameData.maxPayout,l=t!==null&&e.gt(0)&&n.add(e).gt(t),o=l?S(t).minus(e):n,s=l?S(t).div(e):r;return{profitOnWin:e.mul(i).minus(e).toFixed(8),nextProfitOnWin:o.toFixed(8),nextMultiplier:s.toFixed(2),formattedPayout:a.selectedTiles.length>0?na(e.mul(i).toFixed(),this.gameData.currency):""}}playTileSound(a){switch(a){case"click":this.gameData.soundEffects?.play(u1.tileTap());return;case"bomb":this.gameData.soundEffects?.play(u1.bomb()),this.gameData.haptics?.bombImpact();return;default:}}gemPitchFromHits(a,e){let i=a/e;if(i>=0.75)return 1.5;if(i>=0.5)return 1.26;if(i>=0.25)return 1.122;return 1}playGemReveal(a,e){let i=this.gemPitchFromHits(a,e);this.gameData.soundEffects?.play(u1.minesGem(i)),this.gameData.haptics?.minesGemReveal(i)}async getMinesActiveBet(){try{let a=await this.getMinesApi().getActiveBet();if(!a.success){this.emit("show-alert",{detail:{type:"error",message:R(ba(a.errorCode),this.gameData.language)}});return}if(!a.data){this.minesData=null;return}if(this.gameData.updateBetAmount(a.data.amount),this.minesCount=a.data.state.minesCount,this.minesData=a.data,this.manualOrAuto!=="Manual")this.manualOrAuto="Manual"}finally{this.isCheckingForSession=!1}}async firstUpdated(a){await super.firstUpdated(a),await this.getMinesActiveBet()}updated(a){super.updated(a),this.sessionWatcher.check([this.gameData.authToken,this.gameData.baseUrl])}async executeAutobet(a,e){if(this.minesData=null,this.autobetSelectedTiles.length===0)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R("games.mines.selectTileToAutobet",this.gameData.language)};let i={amount:e,currency:this.gameData.currency,minesCount:this.minesCount,selectedTiles:this.autobetSelectedTiles,meta:a?ea(a):void 0},r=await this.getMinesApi().autobetPlay(i);if(!r.success)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R(ba(r.errorCode),this.gameData.language)};this.minesData=r,this.gameData.updateBalance(r.afterBalance);let n=this.gameOutcomeFromMinesOutcome(r.state.outcome),t=n==="Win";if(t)this.playWinFeedback();return this.updateHistoryWithBet({id:r.id,currency:r.currency,amount:r.amount.toNumber(),payout:r.payout.toNumber()}),await this.waitForAnimationsComplete(t),{pnl:r.payout.minus(r.amount),gameOutcome:n,hasError:!1}}async toggleAutobet(a){if(this.autobetSelectedTiles.length===0){this.emit("show-alert",{detail:{type:"error",message:R("games.mines.selectTileToAutobet",this.gameData.language)}});return}await super.toggleAutobet(a)}minesClickHandler=async(a)=>{let e=a.detail.tile;if(this.manualOrAuto==="Auto"){if(this.autobetSelectedTiles.includes(e))this.autobetSelectedTiles=this.autobetSelectedTiles.filter((i)=>i!==e);else if(this.autobetSelectedTiles.length<G1-this.minesCount)this.autobetSelectedTiles=[...this.autobetSelectedTiles,e];this.minesData=null;return}await this.minesNext(e)};async minesManualStart(){this.isLoading=!0,this.minesData=null;try{let a={amount:this.gameData.betAmount,currency:this.gameData.currency,minesCount:this.minesCount},e=await this.getMinesApi().startManualBet(a);if(!e.success){this.showError(R(ba(e.errorCode),this.gameData.language));return}this.minesData=e,this.gameData.updateBalance(e.afterBalance)}finally{this.isLoading=!1}}async minesChooseRandomTile(){this.isSelectingRandomTile=!0,this.playTileSound("click");try{let a=this.minesState?.selectedTiles??[],e=Array.from({length:G1},(r,n)=>n+1).filter((r)=>!a.includes(r)),i=e[Math.floor(Math.random()*e.length)];if(i!==void 0)await this.minesNext(i)}finally{this.isSelectingRandomTile=!1}}async minesNext(a){if(!this.minesData||this.loadingTiles.includes(a))return;this.loadingTiles=[...this.loadingTiles,a];try{let e=await this.getMinesApi().selectTile({betId:this.minesData.id,selectedTiles:[a]});if(!e.success){this.emit("show-alert",{detail:{type:"error",message:R(ba(e.errorCode),this.gameData.language)}});return}if(this.minesData=N9(this.minesData,e),e.state.mineLocations.includes(a))this.playTileSound("bomb");else this.playGemReveal(e.state.numGemsFound,G1-this.minesCount);if(e.settled){if(this.gameData.updateBalance(e.afterBalance),e.state.outcome==="WIN")this.playWinFeedback();this.updateHistoryWithBet({id:e.id,currency:e.currency,amount:e.amount.toNumber(),payout:e.payout.toNumber()})}}finally{this.loadingTiles=this.loadingTiles.filter((e)=>e!==a)}}async minesCashout(){this.isLoading=!0;try{let a=await this.getMinesApi().cashout();if(!a.success){this.emit("show-alert",{detail:{type:"error",message:R(ba(a.errorCode),this.gameData.language)}});return}if(this.gameData.updateBalance(a.afterBalance),this.minesData=a,a.state.outcome==="WIN")this.playWinFeedback();this.updateHistoryWithBet({id:a.id,currency:a.currency,amount:a.amount.toNumber(),payout:a.payout.toNumber()})}finally{this.isLoading=!1}}onManualOrAutoChange(){this.minesData=null,this.autobetSelectedTiles=[]}onMinesCountChange(){if(this.manualOrAuto==="Auto"&&this.autobetSelectedTiles.length>G1-this.minesCount)this.autobetSelectedTiles=[]}onAutobetChange(){if(!this.autobetInProgress)this.minesData=null}isSpacebarDisabled=()=>{if(!this.gameData.hotkeysOpenEnabled)return!0;if(this.manualOrAuto==="Manual"){if(this.minesState?.state==="GAME_IN_PROGRESS")return!0;return this._minesManualEl?.isPrimaryActionDisabled()??!0}return this._minesAutoEl?.isPrimaryActionDisabled()??!0};handleSpacebar=()=>{if(this.isSpacebarDisabled())return;if(this.manualOrAuto==="Manual"){this._minesManualEl?.triggerPrimaryAction();return}this._minesAutoEl?.triggerPrimaryAction()};isRandomTileHotkeyDisabled=()=>!this.isGameActive||this.autobetInProgress&&!this.autobetStopping||!this.gameData.hotkeysOpenEnabled||(this._minesManualEl?.isRandomTileActionDisabled()??!0);handleRandomTileHotkey=()=>{if(this.isRandomTileHotkeyDisabled())return;this._minesManualEl?.triggerRandomTileAction()};isCashoutHotkeyDisabled=()=>!this.isGameActive||(this.minesState?.selectedTiles.length??0)===0||!this.gameData.hotkeysOpenEnabled||this.isLoading||(this._minesManualEl?.isCashoutActionDisabled()??!0);handleCashoutHotkey=()=>{if(this.isCashoutHotkeyDisabled())return;this._minesManualEl?.triggerCashoutAction()};async waitForAnimationsComplete(a){if(!this.gameData.instantBetEnabled){if(await R1(200),a)await R1(150);await this.ensureMinimumDisplayTime(a,300,300)}await R1(this.getAutobetDelay())}constructor(){super();this.minesCount=3;this.autobetSelectedTiles=[];this.minesData=null;this.isLoading=!1;this.isSelectingRandomTile=!1;this.isCheckingForSession=!0;this.loadingTiles=[];new E1(this,[{key:" ",callback:this.handleSpacebar,options:{disabled:this.isSpacebarDisabled}},{key:"q",callback:this.handleRandomTileHotkey,options:{repeat:!0,repeatInterval:200,disabled:this.isRandomTileHotkeyDisabled}},{key:"w",callback:this.handleCashoutHotkey,options:{disabled:this.isCashoutHotkeyDisabled}}])}render(){let a=this.minesState,e=a?.state==="VIEWING_RESULTS"&&a.outcome==="WIN",i=e&&this.minesData?.settled?this.minesData:null,r=this.gameData.mainWidth>=768,n=this.deriveManualControlValues(a),t=Sa.calculateMinesMultiplier(this.autobetSelectedTiles.length,this.minesCount,this.gameData.edge).toNumber(),l=a?.mineLocations.some((s)=>a.selectedTiles.includes(s))??!1,o=J1(this.gameData);return Z`
|
|
11169
|
+
`;class W1{getEdge;getBalance;activeBet=null;minePositions=[];constructor(a,e){this.getEdge=a;this.getBalance=e}async startManualBet(a){if(this.activeBet||!this.isValidBetAmount(a.amount)||!W1.isValidMinesCount(a.minesCount))return W1.error("UNKNOWN");let e=S(this.getBalance());if(S(a.amount).gt(e))return W1.error("INSUFFICIENT_BALANCE");let i=S(a.amount),r=e.minus(i);this.minePositions=W1.generateMinePositions(a.minesCount);let n={settled:!1,id:crypto.randomUUID(),amount:i,currency:a.currency,afterBalance:r,state:W1.createState({amount:i,minesCount:a.minesCount,selectedTiles:[],mineLocations:[],outcome:null})};return this.activeBet=n,{success:!0,...n}}async getActiveBet(){if(!this.activeBet)return{success:!0,data:null};return{success:!0,data:{settled:!1,id:this.activeBet.id,amount:this.activeBet.amount,currency:this.activeBet.currency,state:this.activeBet.state}}}async selectTile(a){let e=this.activeBet;if(!e)return W1.error("UNKNOWN");if(a.betId&&a.betId!==e.id)return W1.error("UNKNOWN");let i=e.state.minesCount,r=this.getNextSelectedTiles(e.state.selectedTiles,a.selectedTiles,i);if(!r)return W1.error("UNKNOWN");let n=this.getSettlement(e.amount,i,r),t=n.hitMine||r.length===G1-i,l=t?n.hitMine?"LOSS":"WIN":null,o=t?[...this.minePositions]:[],s=W1.createState({amount:e.amount,minesCount:i,selectedTiles:r,mineLocations:o,outcome:l});if(t){let m=S(this.getBalance()).plus(n.payout);return this.clearActiveBet(),{success:!0,...{settled:!0,id:e.id,amount:e.amount,currency:e.currency,payout:n.payout,multiplier:n.multiplier,afterBalance:m,state:s}}}return this.activeBet={...e,state:s},{success:!0,...{settled:!1,id:e.id,amount:e.amount,currency:e.currency,state:s}}}async cashout(){let a=this.activeBet;if(!a)return W1.error("UNKNOWN");let e=a.state.selectedTiles;if(e.length===0)return W1.error("UNKNOWN");let i=this.getSettlement(a.amount,a.state.minesCount,e),n=S(this.getBalance()).plus(i.payout),t=[...this.minePositions];return this.clearActiveBet(),{success:!0,...{settled:!0,id:a.id,amount:a.amount,currency:a.currency,payout:i.payout,multiplier:i.multiplier,afterBalance:n,state:W1.createState({amount:a.amount,minesCount:a.state.minesCount,selectedTiles:e,mineLocations:t,outcome:i.hitMine?"LOSS":"WIN"})}}}async autobetPlay(a){let e=a.minesCount??Vn;if(!this.isValidBetAmount(a.amount)||!W1.isValidMinesCount(e))return W1.error("UNKNOWN");let i=S(this.getBalance());if(S(a.amount).gt(i))return W1.error("INSUFFICIENT_BALANCE");let r=this.getNextSelectedTiles([],a.selectedTiles,e);if(!r)return W1.error("UNKNOWN");let n=S(a.amount),t=W1.generateMinePositions(e),l=this.getSettlement(n,e,r,t),o=i.minus(n).plus(l.payout);return{success:!0,...{settled:!0,id:crypto.randomUUID(),amount:n,currency:a.currency,payout:l.payout,multiplier:l.multiplier,afterBalance:o,state:W1.createState({amount:n,minesCount:e,selectedTiles:r,mineLocations:t,outcome:l.hitMine?"LOSS":"WIN"})}}}isValidBetAmount(a){return f1(a)&&S(a).gt(0)}clearActiveBet(){this.activeBet=null,this.minePositions=[]}static createState({amount:a,minesCount:e,selectedTiles:i,mineLocations:r,outcome:n}){let t=i.filter((s)=>!r.includes(s)).length,l=G1-e-i.length,o=n==="LOSS"?e-1:e;return{selectedTiles:i,mineLocations:r,outcome:n,minesCount:e,numMinesRemaining:o,numGemsFound:t,numGemsRemaining:l,state:n===null?"GAME_IN_PROGRESS":"VIEWING_RESULTS",betAmount:a}}getNextSelectedTiles(a,e,i){if(e.length===0)return null;let r=new Set(a);for(let t of e){if(!W1.isValidTile(t)||r.has(t))return null;r.add(t)}let n=[...a,...e];if(n.length>G1-i)return null;return n}getSettlement(a,e,i,r=this.minePositions){let n=i.some((o)=>r.includes(o)),t=i.filter((o)=>!r.includes(o)).length,l=n?S(0):Sa.calculateMinesMultiplier(t,e,this.getEdge());return{hitMine:n,multiplier:l,payout:n?S(0):a.mul(l)}}static error(a){return{success:!1,errorCode:a}}static generateMinePositions(a){let e=Array.from({length:G1},(i,r)=>r+1);for(let i=0;i<a;i+=1){let r=i+Math.floor(Math.random()*(e.length-i)),n=e[i];e[i]=e[r],e[r]=n}return e.slice(0,a)}static isValidMinesCount(a){return Number.isInteger(a)&&a>0&&a<G1}static isValidTile(a){return Number.isInteger(a)&&a>=1&&a<=G1}}var N9=(a,e)=>{if(a.settled)return a;let i=Array.from(new Set([...a.state.selectedTiles,...e.state.selectedTiles]));return{...e,state:{...e.state,selectedTiles:i,numGemsFound:i.filter((r)=>!e.state.mineLocations.includes(r)).length,numGemsRemaining:G1-e.state.minesCount-i.length}}};class r8{hasInitialValues=!1;previousValues=[];callback;constructor(a){this.callback=a}check(a){if(!this.hasInitialValues){this.previousValues=[...a],this.hasInitialValues=!0;return}if(a.length!==this.previousValues.length||a.some((i,r)=>i!==this.previousValues[r]))this.callback([...a],[...this.previousValues]),this.previousValues=[...a]}}class Be extends K1{static styles=[...K1.styles,i8];sessionWatcher=new r8(([a,e],[i,r])=>{let n=Boolean(i)&&Boolean(r),t=Boolean(a)&&Boolean(e);if(!n&&!t)return;this.isCheckingForSession=!0,this.getMinesActiveBet()});get isToggleDisabled(){let a=this.minesState;return this.autobetInProgress||a?.state==="GAME_IN_PROGRESS"||this.isCheckingForSession||this.isLoading}get areInputsDisabled(){let a=this.minesState;return this.autobetInProgress||a?.state==="GAME_IN_PROGRESS"||this.isCheckingForSession||this.isLoading}get isGameActive(){return this.minesState?.state==="GAME_IN_PROGRESS"}getMinesApi=u2(()=>this.gameData,()=>this.isDemoMode,{createReal:(a,e)=>new Sa(a,e),createMock:()=>new W1(()=>this.gameData.edge,()=>this.gameData.balance)});get minesState(){return this.minesData?.state??null}gameOutcomeFromMinesOutcome(a){switch(a){case"WIN":return"Win";case"LOSS":return"Loss";default:return"Draw"}}deriveManualControlValues(a){if(!a)return{profitOnWin:"",nextProfitOnWin:"",nextMultiplier:"",formattedPayout:""};let e=a.betAmount,i=Sa.calculateMinesMultiplier(a.numGemsFound,a.minesCount,this.gameData.edge),r=Sa.calculateMinesMultiplier(a.numGemsFound+1,a.minesCount,this.gameData.edge),n=e.mul(r).minus(e),t=this.gameData.maxPayout,l=t!==null&&e.gt(0)&&n.add(e).gt(t),o=l?S(t).minus(e):n,s=l?S(t).div(e):r;return{profitOnWin:e.mul(i).minus(e).toFixed(8),nextProfitOnWin:o.toFixed(8),nextMultiplier:s.toFixed(2),formattedPayout:a.selectedTiles.length>0?na(e.mul(i).toFixed(),this.gameData.currency):""}}playTileSound(a){switch(a){case"click":this.gameData.soundEffects?.play(u1.tileTap());return;case"bomb":this.gameData.soundEffects?.play(u1.bomb()),this.gameData.haptics?.bombImpact();return;default:}}gemPitchFromHits(a,e){let i=a/e;if(i>=0.75)return 1.5;if(i>=0.5)return 1.26;if(i>=0.25)return 1.122;return 1}playGemReveal(a,e){let i=this.gemPitchFromHits(a,e);this.gameData.soundEffects?.play(u1.minesGem(i)),this.gameData.haptics?.minesGemReveal(i)}async getMinesActiveBet(){try{let a=await this.getMinesApi().getActiveBet();if(!a.success){this.emit("show-alert",{detail:{type:"error",message:R(ba(a.errorCode),this.gameData.language)}});return}if(!a.data){this.minesData=null;return}if(this.gameData.updateBetAmount(a.data.amount),this.minesCount=a.data.state.minesCount,this.minesData=a.data,this.manualOrAuto!=="Manual")this.manualOrAuto="Manual"}finally{this.isCheckingForSession=!1}}async firstUpdated(a){await super.firstUpdated(a),await this.getMinesActiveBet()}updated(a){super.updated(a),this.sessionWatcher.check([this.gameData.authToken,this.gameData.baseUrl])}async executeAutobet(a,e){if(this.minesData=null,this.autobetSelectedTiles.length===0)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R("games.mines.selectTileToAutobet",this.gameData.language)};let i={amount:e,currency:this.gameData.currency,minesCount:this.minesCount,selectedTiles:this.autobetSelectedTiles,meta:a?ea(a):void 0},r=await this.getMinesApi().autobetPlay(i);if(!r.success)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R(ba(r.errorCode),this.gameData.language)};this.minesData=r,this.gameData.updateBalance(r.afterBalance);let n=this.gameOutcomeFromMinesOutcome(r.state.outcome),t=n==="Win";if(t)this.playWinFeedback();return this.updateHistoryWithBet({id:r.id,currency:r.currency,amount:r.amount.toNumber(),payout:r.payout.toNumber()}),await this.waitForAnimationsComplete(t),{pnl:r.payout.minus(r.amount),gameOutcome:n,hasError:!1}}async toggleAutobet(a){if(this.autobetSelectedTiles.length===0){this.emit("show-alert",{detail:{type:"error",message:R("games.mines.selectTileToAutobet",this.gameData.language)}});return}await super.toggleAutobet(a)}minesClickHandler=async(a)=>{let e=a.detail.tile;if(this.manualOrAuto==="Auto"){if(this.autobetSelectedTiles.includes(e))this.autobetSelectedTiles=this.autobetSelectedTiles.filter((i)=>i!==e);else if(this.autobetSelectedTiles.length<G1-this.minesCount)this.autobetSelectedTiles=[...this.autobetSelectedTiles,e];this.minesData=null;return}await this.minesNext(e)};async minesManualStart(){this.isLoading=!0,this.minesData=null;try{let a={amount:this.gameData.betAmount,currency:this.gameData.currency,minesCount:this.minesCount},e=await this.getMinesApi().startManualBet(a);if(!e.success){this.showError(R(ba(e.errorCode),this.gameData.language));return}this.minesData=e,this.gameData.updateBalance(e.afterBalance)}finally{this.isLoading=!1}}async minesChooseRandomTile(){this.isSelectingRandomTile=!0,this.playTileSound("click");try{let a=this.minesState?.selectedTiles??[],e=Array.from({length:G1},(r,n)=>n+1).filter((r)=>!a.includes(r)),i=e[Math.floor(Math.random()*e.length)];if(i!==void 0)await this.minesNext(i)}finally{this.isSelectingRandomTile=!1}}async minesNext(a){if(!this.minesData||this.loadingTiles.includes(a))return;this.loadingTiles=[...this.loadingTiles,a];try{let e=await this.getMinesApi().selectTile({betId:this.minesData.id,selectedTiles:[a]});if(!e.success){this.emit("show-alert",{detail:{type:"error",message:R(ba(e.errorCode),this.gameData.language)}});return}if(this.minesData=N9(this.minesData,e),e.state.mineLocations.includes(a))this.playTileSound("bomb");else this.playGemReveal(e.state.numGemsFound,G1-this.minesCount);if(e.settled){if(this.gameData.updateBalance(e.afterBalance),e.state.outcome==="WIN")this.playWinFeedback();this.updateHistoryWithBet({id:e.id,currency:e.currency,amount:e.amount.toNumber(),payout:e.payout.toNumber()})}}finally{this.loadingTiles=this.loadingTiles.filter((e)=>e!==a)}}async minesCashout(){this.isLoading=!0;try{let a=await this.getMinesApi().cashout();if(!a.success){this.emit("show-alert",{detail:{type:"error",message:R(ba(a.errorCode),this.gameData.language)}});return}if(this.gameData.updateBalance(a.afterBalance),this.minesData=a,a.state.outcome==="WIN")this.playWinFeedback();this.updateHistoryWithBet({id:a.id,currency:a.currency,amount:a.amount.toNumber(),payout:a.payout.toNumber()})}finally{this.isLoading=!1}}onManualOrAutoChange(){this.minesData=null,this.autobetSelectedTiles=[]}onMinesCountChange(){if(this.manualOrAuto==="Auto"&&this.autobetSelectedTiles.length>G1-this.minesCount)this.autobetSelectedTiles=[]}onAutobetChange(){if(!this.autobetInProgress)this.minesData=null}isSpacebarDisabled=()=>{if(!this.gameData.hotkeysOpenEnabled)return!0;if(this.manualOrAuto==="Manual"){if(this.minesState?.state==="GAME_IN_PROGRESS")return!0;return this._minesManualEl?.isPrimaryActionDisabled()??!0}return this._minesAutoEl?.isPrimaryActionDisabled()??!0};handleSpacebar=()=>{if(this.isSpacebarDisabled())return;if(this.manualOrAuto==="Manual"){this._minesManualEl?.triggerPrimaryAction();return}this._minesAutoEl?.triggerPrimaryAction()};isRandomTileHotkeyDisabled=()=>!this.isGameActive||this.autobetInProgress&&!this.autobetStopping||!this.gameData.hotkeysOpenEnabled||(this._minesManualEl?.isRandomTileActionDisabled()??!0);handleRandomTileHotkey=()=>{if(this.isRandomTileHotkeyDisabled())return;this._minesManualEl?.triggerRandomTileAction()};isCashoutHotkeyDisabled=()=>!this.isGameActive||(this.minesState?.selectedTiles.length??0)===0||!this.gameData.hotkeysOpenEnabled||this.isLoading||(this._minesManualEl?.isCashoutActionDisabled()??!0);handleCashoutHotkey=()=>{if(this.isCashoutHotkeyDisabled())return;this._minesManualEl?.triggerCashoutAction()};async waitForAnimationsComplete(a){if(!this.gameData.instantBetEnabled){if(await b1(200),a)await b1(150);await this.ensureMinimumDisplayTime(a,300,300)}await b1(this.getAutobetDelay())}constructor(){super();this.minesCount=3;this.autobetSelectedTiles=[];this.minesData=null;this.isLoading=!1;this.isSelectingRandomTile=!1;this.isCheckingForSession=!0;this.loadingTiles=[];new E1(this,[{key:" ",callback:this.handleSpacebar,options:{disabled:this.isSpacebarDisabled}},{key:"q",callback:this.handleRandomTileHotkey,options:{repeat:!0,repeatInterval:200,disabled:this.isRandomTileHotkeyDisabled}},{key:"w",callback:this.handleCashoutHotkey,options:{disabled:this.isCashoutHotkeyDisabled}}])}render(){let a=this.minesState,e=a?.state==="VIEWING_RESULTS"&&a.outcome==="WIN",i=e&&this.minesData?.settled?this.minesData:null,r=this.gameData.mainWidth>=768,n=this.deriveManualControlValues(a),t=Sa.calculateMinesMultiplier(this.autobetSelectedTiles.length,this.minesCount,this.gameData.edge).toNumber(),l=a?.mineLocations.some((s)=>a.selectedTiles.includes(s))??!1,o=J1(this.gameData);return Z`
|
|
11170
11170
|
<origami-game-layout style=${o} .gameType=${"MINES"} data-is-desktop=${r}>
|
|
11171
11171
|
<origami-game-sidebar
|
|
11172
11172
|
data-is-desktop=${r}
|
|
@@ -11247,7 +11247,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
11247
11247
|
></origami-game-win-popup>
|
|
11248
11248
|
`:Y}
|
|
11249
11249
|
</origami-game-layout>
|
|
11250
|
-
`}}u([q()],Be.prototype,"minesCount",void 0),u([q()],Be.prototype,"autobetSelectedTiles",void 0),u([q()],Be.prototype,"minesData",void 0),u([q()],Be.prototype,"isLoading",void 0),u([q()],Be.prototype,"isSelectingRandomTile",void 0),u([q()],Be.prototype,"isCheckingForSession",void 0),u([q()],Be.prototype,"loadingTiles",void 0),u([a1("origami-mines-manual")],Be.prototype,"_minesManualEl",void 0),u([a1("origami-mines-auto")],Be.prototype,"_minesAutoEl",void 0),u([d1("manualOrAuto")],Be.prototype,"onManualOrAutoChange",null),u([d1("minesCount")],Be.prototype,"onMinesCountChange",null),u([d1("autobetInProgress")],Be.prototype,"onAutobetChange",null),Be=u([J("origami-mines-game")],Be);class Pr{authToken;baseUrl;constructor(a,e){this.authToken=a,this.baseUrl=e+"/games/diamonds"}async startBet(a){try{let e=await fetch(`${this.baseUrl}/play`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.authToken}`,"X-Origami-Trace":O1()},body:JSON.stringify({currency:a.currency,amount:a.amount,gameInputs:{},meta:a.meta})}),i=await e.json();if(e.ok&&!!i.id)return{success:!0,data:i};let r="alerts.gameError";switch(i?.errorCode){case"INSUFFICIENT_BALANCE":r="alerts.insufficientBalance";break;case"LIMIT_REACHED":r="alerts.betLimitReached";break}return{success:!1,error:R(r,a.language)}}catch(e){return{success:!1,error:R("alerts.gameError",a.language)}}}}class Ur{edge;constructor(a){this.edge=a}async startBet(a){let{amount:e}=a,i=7,r=Array.from({length:5},()=>Math.floor(Math.random()*7)),n=a6(this.edge,r),t=S(e).mul(n).toString()
|
|
11250
|
+
`}}u([q()],Be.prototype,"minesCount",void 0),u([q()],Be.prototype,"autobetSelectedTiles",void 0),u([q()],Be.prototype,"minesData",void 0),u([q()],Be.prototype,"isLoading",void 0),u([q()],Be.prototype,"isSelectingRandomTile",void 0),u([q()],Be.prototype,"isCheckingForSession",void 0),u([q()],Be.prototype,"loadingTiles",void 0),u([a1("origami-mines-manual")],Be.prototype,"_minesManualEl",void 0),u([a1("origami-mines-auto")],Be.prototype,"_minesAutoEl",void 0),u([d1("manualOrAuto")],Be.prototype,"onManualOrAutoChange",null),u([d1("minesCount")],Be.prototype,"onMinesCountChange",null),u([d1("autobetInProgress")],Be.prototype,"onAutobetChange",null),Be=u([J("origami-mines-game")],Be);class Pr{authToken;baseUrl;constructor(a,e){this.authToken=a,this.baseUrl=e+"/games/diamonds"}async startBet(a){try{let e=await fetch(`${this.baseUrl}/play`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.authToken}`,"X-Origami-Trace":O1()},body:JSON.stringify({currency:a.currency,amount:a.amount,gameInputs:{},meta:a.meta})}),i=await e.json();if(e.ok&&!!i.id)return{success:!0,data:i};let r="alerts.gameError";switch(i?.errorCode){case"INSUFFICIENT_BALANCE":r="alerts.insufficientBalance";break;case"LIMIT_REACHED":r="alerts.betLimitReached";break}return{success:!1,error:R(r,a.language)}}catch(e){return{success:!1,error:R("alerts.gameError",a.language)}}}}class Ur{edge;constructor(a){this.edge=a}async startBet(a){let{amount:e}=a,i=7,r=Array.from({length:5},()=>Math.floor(Math.random()*7)),n=a6(this.edge,r),t=S(e).mul(n).toString(),l={id:crypto.randomUUID(),tenantId:"origami-casino",userId:"mock-user",tenantUserId:"mock-user",gameId:"diamonds",currency:a.currency,amount:e,payout:t,afterBalance:"1000",multiplier:n.toString(),clientSeed:"mock-seed",randomValue:"mock-random",proof:"mock-proof",nonce:1,betActions:[{id:crypto.randomUUID(),data:{DIAMONDS:{}},type:"START_BET",actionIndex:0,betAmount:e,payoutAmount:null},{id:crypto.randomUUID(),data:{DIAMONDS:{result:r}},type:"END_BET",actionIndex:1,betAmount:null,payoutAmount:t}]};return await b1(0),{success:!0,data:l}}}var n8=W`
|
|
11251
11251
|
:host {
|
|
11252
11252
|
width: 100%;
|
|
11253
11253
|
height: 100%;
|
|
@@ -11359,7 +11359,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
11359
11359
|
height: 16px;
|
|
11360
11360
|
}
|
|
11361
11361
|
`;class Br extends X{constructor(){super(...arguments);this.hoveredMultiplierIndex=null;this.tooltipBottom=0;this.betAmount="0";this.currencyDecimals=2;this.language=$;this.multiplier=0;this.currency="USD"}static styles=[C,t8];render(){if(this.hoveredMultiplierIndex===null)return Z`<div class="profit-tooltip-placeholder"></div>`;let a=this.hoveredMultiplierIndex,e=I2[a],i=S(this.betAmount||"0"),r=i.mul(this.multiplier).minus(i),n=r.lt(0)?S(0):r,t=`${Z0(e.winChance*100)}%`,l=na(n.toString(),this.currency,{includeSymbol:!1});return Z`
|
|
11362
|
-
<div class="profit-tooltip" style=${
|
|
11362
|
+
<div class="profit-tooltip" style=${z1({"--tooltip-translate-y":`${this.tooltipBottom}px`})}>
|
|
11363
11363
|
<div class="info-item">
|
|
11364
11364
|
<div>
|
|
11365
11365
|
<span class="label">${R("common.profitOnWin",this.language)}:</span>
|
|
@@ -11543,7 +11543,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
11543
11543
|
:host {
|
|
11544
11544
|
height: 100%;
|
|
11545
11545
|
}
|
|
11546
|
-
`;class a3 extends K1{static styles=[...K1.styles,o8];constructor(){super();this.isManualPlaying=!1;this.resultGems=null;new E1(this,[{key:" ",callback:()=>
|
|
11546
|
+
`;class a3 extends K1{static styles=[...K1.styles,o8];constructor(){super();this.isManualPlaying=!1;this.resultGems=null;new E1(this,[{key:" ",callback:()=>Z1.clickBetButton(this.manualOrAuto,this._diamondsManualEl,this._diamondsAutoEl),options:{repeat:!0,repeatInterval:200,disabled:()=>{if(!this.gameData?.hotkeysOpenEnabled)return!0;return Z1.isBetButtonDisabled(this.manualOrAuto,this._diamondsManualEl,this._diamondsAutoEl)}}}])}get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get diamondsApi(){return this.isDemoMode?new Ur(this.gameData.edge):new Pr(this.gameData.authToken,this.gameData.baseUrl)}animationCompletedPromise(){return new Promise((a)=>{let e=()=>{this.removeEventListener("diamonds-reveal-complete",e),a()};this.addEventListener("diamonds-reveal-complete",e)})}async handleBetExecution(a,e){if(this.resultGems=null,!this.gameData?.currency)return{success:!1,error:R("alerts.gameError",this.gameData?.language||$)};let i=S(this.gameData.balance);try{this.gameData.updateBalance(i.minus(a));let r;if(this.isDemoMode&&i.lt(a))r={success:!1,error:R("alerts.insufficientBalance",this.gameData?.language||$)};else r=await this.diamondsApi.startBet({amount:a,currency:this.gameData.currency,language:this.gameData.language,meta:e?ea(e):void 0});if(r.success){let{data:n}=r,t=this.animationCompletedPromise(),l=Number(n.multiplier??0),{betActions:o}=n,s=o[o.length-1];if(s?.data?.DIAMONDS){let{result:c}=s.data.DIAMONDS;this.resultGems=c}this.updateHistoryWithBet(n);let d=this.isDemoMode?S(this.gameData.balance).minus(n.amount??0).plus(n.payout??0):S(n.afterBalance??0);if(await t,this.gameData.updateBalance(d),S(l).gt(1))this.playWinFeedback();return r}else throw new Error(r.error)}catch(r){this.gameData.updateBalance(i);let n=r instanceof Error?r.message:R("alerts.gameError",this.gameData?.language||$);return this.showError(n),{success:!1,error:n}}}async diamondsManualPlay(){this.isManualPlaying=!0,await this.handleBetExecution(this.gameData?.betAmount??"0"),this.isManualPlaying=!1}async executeAutobet(a,e){let i=await this.handleBetExecution(e,a);if(!i.success)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:i.error||R("alerts.errorProcessingBet",this.gameData?.language||$)};let r=i.data,n=S(r.payout??0).minus(r.amount??0),t=Number(r.multiplier),l=B1(t);return await b1(600),{pnl:n,gameOutcome:l,hasError:!1}}render(){let a=this.gameData?.mainWidth>=768,e=e6(this.gameData.edge),i=J1(this.gameData);return Z`
|
|
11547
11547
|
<origami-game-layout style="${i} --season-corner-display: none;" .gameType=${"DIAMONDS"} data-is-desktop=${a}>
|
|
11548
11548
|
<origami-game-sidebar
|
|
11549
11549
|
slot="control-panel"
|
|
@@ -11788,7 +11788,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
11788
11788
|
<span class="tile-label">${c}</span>
|
|
11789
11789
|
<span
|
|
11790
11790
|
class="dot"
|
|
11791
|
-
style=${
|
|
11791
|
+
style=${z1({backgroundColor:m})}
|
|
11792
11792
|
aria-hidden="true"
|
|
11793
11793
|
></span>
|
|
11794
11794
|
</div>
|
|
@@ -11931,7 +11931,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
11931
11931
|
origami-wheel-content-bottom[slot="content-bottom"] {
|
|
11932
11932
|
display: block;
|
|
11933
11933
|
}
|
|
11934
|
-
`;class i3 extends K1{static styles=[...K1.styles,u8];constructor(){super();this.isManualPlaying=!1;this.history=[];this.wheelRisk="MEDIUM_RISK";this.numberOfSegments=10;this.targetAngle=null;this.resultSegment=null;this.isWheelSpinning=!1;new E1(this,[{key:" ",callback:()=>
|
|
11934
|
+
`;class i3 extends K1{static styles=[...K1.styles,u8];constructor(){super();this.isManualPlaying=!1;this.history=[];this.wheelRisk="MEDIUM_RISK";this.numberOfSegments=10;this.targetAngle=null;this.resultSegment=null;this.isWheelSpinning=!1;new E1(this,[{key:" ",callback:()=>Z1.clickBetButton(this.manualOrAuto,this._wheelManualEl,this._wheelAutoEl),options:{repeat:!0,repeatInterval:200,disabled:()=>{if(!this.gameData?.hotkeysOpenEnabled)return!0;return Z1.isBetButtonDisabled(this.manualOrAuto,this._wheelManualEl,this._wheelAutoEl)}}}])}handleWheelRiskChange(a){this.wheelRisk=a.detail.value,this.resultSegment=null}handleWheelSegmentsChange(a){this.numberOfSegments=a.detail.value,this.resultSegment=null}get wheelApi(){return this.isDemoMode?new n4(this.gameData.edge):new r4(this.gameData.authToken,this.gameData.baseUrl)}get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}wheelSpinCompletedPromise(){return new Promise((a)=>{let e=()=>{this.removeEventListener("wheel-spin-complete",e),a()};this.addEventListener("wheel-spin-complete",e)})}async handleBetExecution(a,e){if(this.targetAngle=null,this.resultSegment=null,!this.gameData?.currency)return{success:!1,error:R("alerts.gameError",this.gameData?.language||$)};let i=S(this.gameData.balance);try{if(this.isDemoMode&&i.lt(a))throw new Error(R("alerts.insufficientBalance",this.gameData?.language||$));if(this.gameData.updateBalance(i.minus(a)),!this.gameData.instantBetEnabled)this.isWheelSpinning=!0;let r=await this.wheelApi.startBet({amount:a,currency:this.gameData.currency,language:this.gameData.language,riskLevel:this.wheelRisk,segments:this.numberOfSegments,meta:e?ea(e):void 0});if(r.success){let{data:n}=r,t=Number(n.multiplier??0),{betActions:l}=n,o=l[l.length-1];if(o?.data?.WHEEL){let{result:c}=o.data.WHEEL;this.resultSegment=c[0]??0,this.targetAngle=r0.calculateTargetAngle(this.resultSegment,this.numberOfSegments,n.id)}if(!this.gameData.instantBetEnabled)await this.wheelSpinCompletedPromise();this.isWheelSpinning=!1;let s=S(t).gt(0);this.history=[...this.history,{multiplier:t,won:s,id:n.id}],this.updateHistoryWithBet(n);let d=this.isDemoMode?i.minus(n.amount??0).plus(n.payout??0):S(n.afterBalance??0);if(this.gameData.updateBalance(d),S(t).gt(1))this.playWinFeedback();return r}else throw new Error(r.error)}catch(r){this.gameData.updateBalance(i),this.isWheelSpinning=!1;let n=r instanceof Error?r.message:R("alerts.gameError",this.gameData?.language||$);return this.showError(n),{success:!1,error:n}}}async wheelPlay(){this.isManualPlaying=!0,await this.handleBetExecution(this.gameData?.betAmount??"0"),this.isManualPlaying=!1}async executeAutobet(a,e){let i=await this.handleBetExecution(e,a);if(!i.success)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:i.error||R("alerts.errorProcessingBet",this.gameData?.language||$)};let r=i.data,n=S(r.payout??0).minus(r.amount??0),t=Number(r.multiplier),l=B1(t);return await this.ensureMinimumDisplayTime(S(t).gt(0),300,300),await b1(this.getAutobetDelay()),{pnl:n,gameOutcome:l,hasError:!1}}render(){let a=this.gameData?.mainWidth>=768,e=n0(this.gameData.edge)[this.wheelRisk][this.numberOfSegments],i=Math.max(...Object.values(e))||1,r=!1,n=J1(this.gameData);return Z`
|
|
11935
11935
|
<origami-game-layout style=${n} .gameType=${"WHEEL"} data-is-desktop=${a}>
|
|
11936
11936
|
<origami-game-sidebar
|
|
11937
11937
|
slot="control-panel"
|
|
@@ -12140,7 +12140,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
12140
12140
|
`})}
|
|
12141
12141
|
</div>
|
|
12142
12142
|
</div>
|
|
12143
|
-
`}}u([k({type:Object})],d4.prototype,"binsLayout",void 0),u([k({type:Object})],d4.prototype,"bounceCounts",void 0),u([k({type:Number})],d4.prototype,"binRadius",void 0),d4=u([J("origami-plinko-bins")],d4);class c4 extends X{constructor(){super(...arguments);this.isDesktop=!1;this.isPlaying=!1;this.history=[];this.rowCount=16;this.riskLevel="MEDIUM_RISK";this.edge=1;this.customPlinkoEdgeColor=null;this.customPlinkoCenterColor=null;this.useOrnaments=!1;this.ballsInFlight=0;this.containerWidth=0;this.bounceCounts=new Map}static styles=[C,d8];engine;resizeObserver;spawnMap=new Map;reduceMotion=!1;activeBets=new Map;pulses=[];pulsePool=[];engineAnimationId;pulseAnimationId;firstUpdated(){this.reduceMotion=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches??!1,this.engine=new
|
|
12143
|
+
`}}u([k({type:Object})],d4.prototype,"binsLayout",void 0),u([k({type:Object})],d4.prototype,"bounceCounts",void 0),u([k({type:Number})],d4.prototype,"binRadius",void 0),d4=u([J("origami-plinko-bins")],d4);class c4 extends X{constructor(){super(...arguments);this.isDesktop=!1;this.isPlaying=!1;this.history=[];this.rowCount=16;this.riskLevel="MEDIUM_RISK";this.edge=1;this.customPlinkoEdgeColor=null;this.customPlinkoCenterColor=null;this.useOrnaments=!1;this.ballsInFlight=0;this.containerWidth=0;this.bounceCounts=new Map}static styles=[C,d8];engine;resizeObserver;spawnMap=new Map;reduceMotion=!1;activeBets=new Map;pulses=[];pulsePool=[];engineAnimationId;pulseAnimationId;firstUpdated(){this.reduceMotion=window.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches??!1,this.engine=new I1(this.rowCount,{onBallPositions:(a)=>{K6(this.ballsSvgRef,a,R0(this.rowCount),{spawnMap:this.spawnMap,reduceMotion:this.reduceMotion,useOrnaments:this.useOrnaments})},onBallHitPin:({pinX:a,pinY:e,impactSpeed:i})=>{this.addPulse(a,e,i)},onBallCrossedSensor:({betId:a})=>{let e=this.activeBets.get(a);if(e!==void 0)this.triggerBinBounce(e),this.activeBets.delete(a),this.ballsInFlight--;this.emit("plinko-bin-hit",{detail:{id:a}})}}),this.startUpdateEngineLoop(),this.startPulseAnimation(),Ie(this.svgRef,R0(this.rowCount),this.rowCount),this.setupResizeObserver(),this.requestUpdate()}updateRowCount(){if(this.engine?.setRowCount(this.rowCount),this.bounceCounts=new Map,this.svgRef)Ie(this.svgRef,R0(this.rowCount),this.rowCount)}updateBallsInFlight(){this.emit("plinko-balls-in-flight-change",{detail:{ballsInFlight:this.ballsInFlight??0}})}disconnectedCallback(){if(super.disconnectedCallback(),this.resizeObserver?.disconnect(),this.engine?.destroy(),this.engineAnimationId)cancelAnimationFrame(this.engineAnimationId),this.engineAnimationId=void 0;if(this.pulseAnimationId)cancelAnimationFrame(this.pulseAnimationId),this.pulseAnimationId=void 0}addPulse(a,e,i){let r=this.pulsePool.pop()||{x:0,y:0,startMs:0,impact:0};r.x=a,r.y=e,r.startMs=performance.now(),r.impact=H6(i),this.pulses.push(r)}startPulseAnimation(){let a=()=>{this.pulseAnimationId=requestAnimationFrame(a),this.renderPulses()};a()}setupResizeObserver(){let a=()=>{Ie(this.svgRef,R0(this.rowCount),this.rowCount),this.containerWidth=this.canvasWrapRef?.clientWidth||0};a(),this.resizeObserver=new ResizeObserver(a),this.resizeObserver.observe(this.canvasWrapRef)}startUpdateEngineLoop(){let a=()=>{this.engine?.update(),this.engineAnimationId=requestAnimationFrame(a)};a()}renderPulses(){let a=performance.now(),e=R0(this.rowCount),i=e.pegRadius,r=[];for(let n=this.pulses.length-1;n>=0;n--){let t=this.pulses[n],l=I6(t,a,i);if(l===null){if(this.pulses.splice(n,1),this.pulsePool.length<100)this.pulsePool.push(t)}else r.push(l)}S6(this.effectsSvgRef,r,e)}dropBallForResult(a,e){this.activeBets.set(e,a),this.engine?.dropBallForResult(a,e),this.ballsInFlight++}triggerInstantResult(a,e,i){let r=r3(a,e,this.rowCount,this.riskLevel);this.triggerBinBounce(r),setTimeout(()=>this.emit("plinko-bin-hit",{detail:{id:i}}),xe)}triggerBinBounce(a){this.bounceCounts.set(a,(this.bounceCounts.get(a)??0)+1),this.bounceCounts=new Map(this.bounceCounts)}render(){let{pegRadius:a,viewBoxWidth:e,viewBoxHeight:i}=R0(this.rowCount),r=this.canvasWrapRef?.clientWidth||0,n=O6(this.edge,this.rowCount,this.riskLevel,{pegRadius:a,canvasCssWidth:r,isDesktop:this.isDesktop,customPlinkoEdgeColor:this.customPlinkoEdgeColor,customPlinkoCenterColor:this.customPlinkoCenterColor}),{height:t,radius:l,fontSize:o}=c8(this.containerWidth,this.rowCount),s={"--plinko-bin-height":`${t}px`,"--plinko-bin-font-size":`${o}px`};return Z`
|
|
12144
12144
|
<origami-history-pills
|
|
12145
12145
|
data-is-desktop=${this.isDesktop}
|
|
12146
12146
|
.history=${[...this.history].reverse()}
|
|
@@ -12160,7 +12160,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
12160
12160
|
.binsLayout=${n}
|
|
12161
12161
|
.bounceCounts=${this.bounceCounts}
|
|
12162
12162
|
.binRadius=${l}
|
|
12163
|
-
style=${
|
|
12163
|
+
style=${z1(s)}
|
|
12164
12164
|
></origami-plinko-bins>
|
|
12165
12165
|
</div>
|
|
12166
12166
|
</div>
|
|
@@ -12287,7 +12287,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
12287
12287
|
:host {
|
|
12288
12288
|
height: 100%;
|
|
12289
12289
|
}
|
|
12290
|
-
`;class v4{queue=[];inflight=0;maxQueueSize;maxConcurrent;executor;constructor(a,e={}){this.executor=a,this.maxQueueSize=e.maxQueueSize??30,this.maxConcurrent=e.maxConcurrent??5}enqueue(a){if(this.queue.length>=this.maxQueueSize)return Promise.reject(new Error("Queue is full. Please slow down."));return new Promise((e,i)=>{this.queue.push({input:a,resolve:e,reject:i}),this.processQueue()})}async processQueue(){if(this.inflight>=this.maxConcurrent)return;let a=this.queue.shift();if(!a)return;this.inflight++;try{let e=await this.executor(a.input);a.resolve(e)}catch(e){a.reject(e instanceof Error?e:new Error(String(e)))}finally{this.inflight--,this.processQueue()}}get pendingCount(){return this.queue.length}get inflightCount(){return this.inflight}get totalCount(){return this.queue.length+this.inflight}get isIdle(){return this.queue.length===0&&this.inflight===0}clear(a="Request cancelled"){while(this.queue.length>0)this.queue.shift()?.reject(new Error(a))}}class t3 extends K1{static styles=[...K1.styles,g8];lastSubBassTime=0;pendingResultsByBetId=new Map;betQueue=new v4((a)=>this.handleBetExecution(a),{maxQueueSize:3,maxConcurrent:5});get isGameInProgress(){return this.autobetInProgress||this.autobetStopping||this.ballsInFlight>0}get plinkoApi(){return this.isDemoMode?new u4(this.gameData.edge):new h4(this.gameData.authToken,this.gameData.baseUrl)}constructor(){super();this.history=[];this.riskLevel="MEDIUM_RISK";this.rowCount=12;this.ballsInFlight=0;new E1(this,[{key:" ",callback:()=>
|
|
12290
|
+
`;class v4{queue=[];inflight=0;maxQueueSize;maxConcurrent;executor;constructor(a,e={}){this.executor=a,this.maxQueueSize=e.maxQueueSize??30,this.maxConcurrent=e.maxConcurrent??5}enqueue(a){if(this.queue.length>=this.maxQueueSize)return Promise.reject(new Error("Queue is full. Please slow down."));return new Promise((e,i)=>{this.queue.push({input:a,resolve:e,reject:i}),this.processQueue()})}async processQueue(){if(this.inflight>=this.maxConcurrent)return;let a=this.queue.shift();if(!a)return;this.inflight++;try{let e=await this.executor(a.input);a.resolve(e)}catch(e){a.reject(e instanceof Error?e:new Error(String(e)))}finally{this.inflight--,this.processQueue()}}get pendingCount(){return this.queue.length}get inflightCount(){return this.inflight}get totalCount(){return this.queue.length+this.inflight}get isIdle(){return this.queue.length===0&&this.inflight===0}clear(a="Request cancelled"){while(this.queue.length>0)this.queue.shift()?.reject(new Error(a))}}class t3 extends K1{static styles=[...K1.styles,g8];lastSubBassTime=0;pendingResultsByBetId=new Map;betQueue=new v4((a)=>this.handleBetExecution(a),{maxQueueSize:3,maxConcurrent:5});get isGameInProgress(){return this.autobetInProgress||this.autobetStopping||this.ballsInFlight>0}get plinkoApi(){return this.isDemoMode?new u4(this.gameData.edge):new h4(this.gameData.authToken,this.gameData.baseUrl)}constructor(){super();this.history=[];this.riskLevel="MEDIUM_RISK";this.rowCount=12;this.ballsInFlight=0;new E1(this,[{key:" ",callback:()=>Z1.clickBetButton(this.manualOrAuto,this._plinkoManualEl,this._plinkoAutoEl),options:{repeat:!0,repeatInterval:200,disabled:()=>{if(!this.gameData?.hotkeysOpenEnabled)return!0;return Z1.isBetButtonDisabled(this.manualOrAuto,this._plinkoManualEl,this._plinkoAutoEl)}}}])}get customBinColors(){return D0(this.riskLevel,this.gameData.customPlinkoEdgeColor,this.gameData.customPlinkoCenterColor)}get binMultipliers(){return N0(this.gameData.edge,this.riskLevel,this.rowCount)}async handleBetExecution(a,e){if(!this.gameData?.currency)return{success:!1,error:R("alerts.gameError",this.gameData?.language||$)};let i=S(this.gameData.balance);try{if(this.isDemoMode&&i.lt(a))throw new Error(R("alerts.insufficientBalance",this.gameData?.language||$));this.gameData.updateBalance(i.minus(a));let r=await this.plinkoApi.startBet({language:this.gameData.language,currency:this.gameData.currency,amount:a,riskLevel:this.riskLevel,rowCount:this.rowCount,meta:e?ea(e):void 0});if(r.success){let{data:n}=r,t=Number(n.multiplier),o=n.betActions.filter((c)=>c.data?.PLINKO)[1]?.data?.PLINKO,d=(o&&"result"in o?o.result:[]).reduce((c,m)=>c+m,0);if(n.id)this.pendingResultsByBetId.set(n.id,{multiplier:t,payout:n.payout?S(n.payout):S(0)});if(this.updateHistoryWithBet(n),this.gameData.instantBetEnabled)this._plinkoContentEl?.triggerInstantResult?.(this.gameData.edge,t,n.id);else this._plinkoContentEl?.dropBallForResult(d,n.id);return r}else throw new Error(r.error)}catch(r){this.gameData.updateBalance(i);let n=r instanceof Error?r.message:R("alerts.gameError",this.gameData?.language||$);return this.showError(n),{success:!1,error:n}}}async queuedBetExecution(a){try{return await this.betQueue.enqueue(a)}catch(e){return{success:!1,error:e instanceof Error?e.message:R("errors.requestDropped",this.gameData?.language||$)}}}async plinkoPlay(){await this.queuedBetExecution(this.gameData?.betAmount??"0")}async executeAutobet(a,e){let i=await this.handleBetExecution(e,a);if(!i.success)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:i.error||R("alerts.errorProcessingBet",this.gameData?.language||$)};let{data:r}=i,n=S(r.payout??0).minus(r.amount??0),t=B1(Number(r.multiplier));return{pnl:n,gameOutcome:t,hasError:!1}}resolveMultiplierAndWin(a){let e=a.detail.id;if(this.pendingResultsByBetId.has(e)){let i=this.pendingResultsByBetId.get(e),r=i.multiplier,n=i.payout;this.pendingResultsByBetId.delete(e);let t=S(r).gt(1),l=t?this.customBinColors[this.rowCount].background[r3(this.gameData.edge,r,this.rowCount,this.riskLevel)]:void 0;return this.history=[...this.history,{multiplier:r,won:t,id:e,payout:n.toString(),color:l}].slice(-5),{multiplier:r,hasWon:t,betId:e,payout:n}}return console.error(`No pending result found for betId: ${e}`),{multiplier:1,hasWon:!1,betId:e,payout:S(0)}}_getPitchFromMultiplier(a){let e=Math.min(...this.binMultipliers),i=Math.max(...this.binMultipliers);return 1+(a-e)/(i-e||1)*0.5}playResultSound(a){let e=this._getPitchFromMultiplier(a),i=performance.now()/1000,r=i-this.lastSubBassTime>0.08;if(r)this.lastSubBassTime=i;this.gameData?.soundEffects?.play(u1.plinkoBin(e,r))}handleBinHit(a){let{multiplier:e,payout:i}=this.resolveMultiplierAndWin(a);this.gameData?.updateBalance(S(this.gameData.balance).plus(i)),this.playResultSound(e)}render(){let a=this.gameData?.mainWidth>=768,e=Math.max(...this.binMultipliers)||1,i=J1(this.gameData);return Z`
|
|
12291
12291
|
<origami-game-layout style=${i} .gameType=${"PLINKO"} data-is-desktop=${a}>
|
|
12292
12292
|
<origami-game-sidebar
|
|
12293
12293
|
slot="control-panel"
|
|
@@ -12335,7 +12335,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
12335
12335
|
.customPlinkoEdgeColor=${this.gameData.customPlinkoEdgeColor}
|
|
12336
12336
|
.customPlinkoCenterColor=${this.gameData.customPlinkoCenterColor}
|
|
12337
12337
|
?useOrnaments=${this.gameData.seasonTheme==="JOLLYGAMI"}
|
|
12338
|
-
style=${
|
|
12338
|
+
style=${z1({"--plinko-ball-color":z6[this.riskLevel]})}
|
|
12339
12339
|
@plinko-bin-hit=${this.handleBinHit}
|
|
12340
12340
|
@plinko-balls-in-flight-change=${(r)=>this.ballsInFlight=r.detail.ballsInFlight}
|
|
12341
12341
|
></origami-plinko-content>
|
|
@@ -12837,7 +12837,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
12837
12837
|
grid-template-columns: 1fr 1fr;
|
|
12838
12838
|
gap: 8px;
|
|
12839
12839
|
}
|
|
12840
|
-
`;var G9=(a,e)=>{return Math.floor(Math.random()*(e-a+1))+a};class y4{edge;constructor(a){this.edge=a}async startBet(a){let{amount:e,gameInputs:i}=a,r=G9(Y0,
|
|
12840
|
+
`;var G9=(a,e)=>{return Math.floor(Math.random()*(e-a+1))+a};class y4{edge;constructor(a){this.edge=a}async startBet(a){let{amount:e,gameInputs:i}=a,r=G9(Y0,y1),n=qa[i.mode],t,l;if(i.mode==="ROLL_BETWEEN_TWO")t=i.firstBounds,l=i.secondBounds;else t=i.bounds;let{winChancePercent:o,isWin:s}=n.evaluateOutcome(t,l,r),d=S(o).eq(0)?S(0):S(100-this.edge).div(o).round(4),c=s?d:S(0),m=S(e).mul(c).toString();return{success:!0,data:{id:crypto.randomUUID(),tenantId:"origami-casino",userId:"mock-user",gameId:"ADVANCED_DICE",currency:a.currency??p1,amount:e,payout:m,afterBalance:"1000",multiplier:c.toString(),tenantUserId:"mock-user",clientSeed:"mock-seed",randomValue:"mock-random",proof:"mock-proof",nonce:1,betActions:[{id:crypto.randomUUID(),data:{ADVANCED_DICE:i},type:"START_BET",actionIndex:0,betAmount:e,payoutAmount:null},{id:crypto.randomUUID(),data:{ADVANCED_DICE:{result:[r]}},type:"END_BET",actionIndex:1,betAmount:null,payoutAmount:m}]}}}}class x4{authToken;baseUrl;constructor(a,e){this.authToken=a,this.baseUrl=e+"/games/advanced-dice"}async startBet(a){try{let e=await fetch(`${this.baseUrl}/play`,{method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.authToken}`,"X-Origami-Trace":O1()},body:JSON.stringify({currency:a.currency,amount:a.amount,gameInputs:a.gameInputs,meta:a.meta})}),i=await e.json();if(e.ok&&!!i.id)return{success:!0,data:i};let r="alerts.gameError";switch(i?.errorCode){case"INSUFFICIENT_BALANCE":r="alerts.insufficientBalance";break;case"LIMIT_REACHED":r="alerts.betLimitReached";break}return{success:!1,error:R(r,a.language)}}catch(e){return{success:!1,error:R("alerts.gameError",a.language)}}}}class O0 extends K1{static styles=[...K1.styles,p8];get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}static ROLL_TYPE_ORDER=["ROLL_BETWEEN","ROLL_OUTSIDE","ROLL_BETWEEN_TWO"];constructor(){super();this.isManualPlaying=!1;this.showDice=!1;this.isWin=!0;this.resultValue=null;this.history=[];this.rollType="ROLL_BETWEEN";this.bounds={lower:2500,upper:7500};this.secondBounds={lower:6250,upper:8750};this._multiplierInputValid=!0;this._winChanceInputValid=!0;this._boundsInputValid=!0;new E1(this,[{key:" ",callback:()=>Z1.clickBetButton(this.manualOrAuto,this._diceManualEl,this._diceAutoEl),options:{repeat:!0,repeatInterval:200,disabled:()=>{if(!this.gameData?.hotkeysOpenEnabled)return!0;return Z1.isBetButtonDisabled(this.manualOrAuto,this._diceManualEl,this._diceAutoEl)}}},{key:"q",callback:ca(()=>this.gameData,this.cycleRollType.bind(this)),options:{disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled}}])}cycleRollType(){let e=(O0.ROLL_TYPE_ORDER.indexOf(this.rollType)+1)%O0.ROLL_TYPE_ORDER.length;this.handleRollTypeChange(O0.ROLL_TYPE_ORDER[e])}get advancedDiceApi(){return this.isDemoMode?new y4(this.gameData.edge):new x4(this.gameData.authToken,this.gameData.baseUrl)}buildGameInputs(){switch(this.rollType){case"ROLL_BETWEEN":return{mode:"ROLL_BETWEEN",bounds:this.bounds};case"ROLL_OUTSIDE":return{mode:"ROLL_OUTSIDE",bounds:this.bounds};case"ROLL_BETWEEN_TWO":return{mode:"ROLL_BETWEEN_TWO",firstBounds:this.bounds,secondBounds:this.secondBounds}}}calculateWinChance(){return qa[this.rollType].calculateWinChance(this.bounds,this.secondBounds)}calculateMultiplier(){let a=this.calculateWinChance();return g1.calculateMultiplier(a,this.gameData.edge)}isValidWinChance(){let a=this.calculateWinChance(),e=g1.getMaxWinChance(this.gameData.edge,this.gameData.advancedDiceMinMultiplier);return a>=la&&a<=e}async dicePlay(){this.isManualPlaying=!0,this.showDice=!1,await this.handleBetExecution(this.gameData.betAmount),this.isManualPlaying=!1}async handleBetExecution(a,e){if(!this.gameData.currency)throw new Error(R("alerts.gameError",this.gameData?.language||$));let i=this.buildGameInputs(),r={language:this.gameData.language,amount:a,currency:this.gameData.currency,gameInputs:i,meta:e?ea(e):void 0},n;if(this.isDemoMode&&S(this.gameData.balance).lt(r.amount))n={success:!1,error:R("alerts.insufficientBalance",this.gameData?.language||"en")};else n=await this.advancedDiceApi.startBet(r);if(n.success){if(!this.gameData.instantBetEnabled)this.gameData.soundEffects?.play(u1.diceRoll());let t=this.isDemoMode?S(this.gameData.balance).minus(n.data.amount??0).plus(n.data.payout??0):S(n.data.afterBalance??0);this.gameData.updateBalance(t),this.showDice=!0;let{betActions:l}=n.data,o=l[l.length-1];if(!o)throw new Error("No action data received");let{result:s}=o.data.ADVANCED_DICE,d=s[0];if(this.resultValue=d,this.isWin=S(n.data.multiplier??0).gt(1),this.isWin)setTimeout(()=>{this.playWinFeedback()},300);this.addToHistory(d/100,this.isWin,n.data.id??""),this.updateHistoryWithBet(n.data)}else if(!e)this.showError(n.error);return n}addToHistory(a,e,i){this.history=[...this.history,{multiplier:a,won:e,id:i}].slice(-5)}async executeAutobet(a,e){let i=await this.handleBetExecution(e,a);if(!i.success)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:i.error||R("alerts.gameError",this.gameData?.language||$)};let r=i.data,n=S(r.payout??0).minus(r.amount??0),t=B1(Number(r.multiplier));return await this.ensureMinimumDisplayTime(this.isWin,300,300),await b1(this.getAutobetDelay()),{pnl:n,gameOutcome:t,hasError:!1}}handleRollTypeChange(a){this.rollType=a;let e=v6[a];if(e.bounds)this.bounds={...e.bounds};if(e.firstBounds)this.bounds={...e.firstBounds};if(e.secondBounds)this.secondBounds={...e.secondBounds}}handleBoundsChange(a){if(this.bounds=a.detail.bounds,a.detail.secondBounds)this.secondBounds=a.detail.secondBounds}handleMultiplierInputChange(a){this._multiplierInputValid=g1.isValidMultiplier(a.detail.multiplier,this.gameData.edge,this.gameData.advancedDiceMinMultiplier)}handleWinChanceInputChange(a){this._winChanceInputValid=g1.isValidWinChance(a.detail.winChance,this.gameData.edge,this.gameData.advancedDiceMinMultiplier)}handleBoundsInputValidityChange(a){this._boundsInputValid=a.detail.isValid}render(){let a=this.calculateMultiplier(),e=S(a).mul(this.gameData.betAmount).minus(this.gameData.betAmount).toFixed(4),i=!this._multiplierInputValid||!this._winChanceInputValid||!this._boundsInputValid||!this.isValidWinChance(),r=J1(this.gameData),n=this.gameData.mainWidth>=768;return Z`
|
|
12841
12841
|
<origami-game-layout style=${r} .gameType=${"ADVANCED_DICE"} data-is-desktop=${n}>
|
|
12842
12842
|
<origami-game-sidebar
|
|
12843
12843
|
data-is-desktop=${n}
|
|
@@ -14612,7 +14612,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
14612
14612
|
:host {
|
|
14613
14613
|
height: 100%;
|
|
14614
14614
|
}
|
|
14615
|
-
`;class M0 extends K1{constructor(){super(...arguments);this.perClickAmount="1";this.chipEvents=[]}get canUndo(){return this.chipEvents.length>0}firstUpdated(){this.perClickAmount=this.gameData?.minBet?.toString()??"1"}get canClear(){return this.derivedChips.size>0}get derivedChips(){return oa.deriveState(this.chipEvents,S(this.gameData?.maxBet??0))}get totalBetAmount(){let a=S(0);for(let e of this.derivedChips.values())a=a.plus(e);return Number(a.toFixed(4))}get maxPerClickAmount(){let a=S(this.gameData?.maxBet??0),e=S(this.gameData?.balance??0).minus(this.totalBetAmount),i=$a(a,e);return i.lt(0)?"0":i.toString()}get isDoubleDisabled(){let a=S(this.totalBetAmount).times(2),e=a.gt(this.gameData?.balance??0),i=a.gt(this.gameData?.maxBet??0);return e||i}watchDerivedChips(a,e){if(!this.gameData?.updateBetAmount)return;let i=Array.from(this.derivedChips.values()).reduce((n,t)=>n.plus(t),S(0)),r=this.gameData.currencyDecimals??0;this.gameData.updateBetAmount(S(i.toFixed(r)))}onBetAmountChange=(a,e)=>{if(S(a).eq(0))return;let i=S(e).div(S(a));this.chipEvents=[...this.chipEvents,{type:"multiplier-change",multiplier:i.toNumber()}]};adjustPerClickAmount(a){let e=S(this.perClickAmount||"0"),i=this.gameData?.currencyDecimals??2,r=S(this.gameData?.minBet??0),n=S(this.maxPerClickAmount),t;if(a==="reset")t=r;else if(a==="half"){if(e.lte(0))return;t=a0(r,$a(e.div(2),n))}else if(e.eq(0))t=r.gt(0)?r:S(1).div(10**i);else t=a0(r,$a(e.mul(2),n));this.perClickAmount=t.toFixed(i),Wa(this.gameData,0.5)}handlePerClickAmountChange=(a)=>{this.perClickAmount=a.detail.amount};addChip(a,e){let i=parseFloat(e)||0;if(i<=0)return;this.chipEvents=[...this.chipEvents,{type:"add",position:a,amount:i}],Wa(this.gameData,0.5)}handleChipInteraction(a,e=!1){let i=parseFloat(this.perClickAmount)||0;if(i<=0)return;if(e){if(!this.derivedChips.has(a))return;this.chipEvents=[...this.chipEvents,{type:"add",position:a,amount:-i}],Wa(this.gameData,0.5);return}if(S(i).gt(this.maxPerClickAmount))return;let r=(l,o)=>{if(l==="COLOR_BLACK"&&o.has("COLOR_RED"))return!0;if(l==="COLOR_RED"&&o.has("COLOR_BLACK"))return!0;if(l==="PARITY_EVEN"&&o.has("PARITY_ODD"))return!0;if(l==="PARITY_ODD"&&o.has("PARITY_EVEN"))return!0;if(l==="HALF_LOW"&&o.has("HALF_HIGH"))return!0;if(l==="HALF_HIGH"&&o.has("HALF_LOW"))return!0;if(l==="DOZEN_FIRST"&&o.has("DOZEN_SECOND")&&o.has("DOZEN_THIRD"))return!0;if(l==="DOZEN_SECOND"&&o.has("DOZEN_FIRST")&&o.has("DOZEN_THIRD"))return!0;if(l==="DOZEN_THIRD"&&o.has("DOZEN_FIRST")&&o.has("DOZEN_SECOND"))return!0;if(l==="COLUMN_TOP"&&o.has("COLUMN_MIDDLE")&&o.has("COLUMN_BOTTOM"))return!0;if(l==="COLUMN_MIDDLE"&&o.has("COLUMN_TOP")&&o.has("COLUMN_BOTTOM"))return!0;if(l==="COLUMN_BOTTOM"&&o.has("COLUMN_TOP")&&o.has("COLUMN_MIDDLE"))return!0;return!1};if(this.gameData.roulettePreventOppositeBets&&r(a,this.derivedChips)){this.showError(R("errors.roulette.oppositeBet",this.gameData?.language||$));return}let n=(l,o)=>{if(l==="PLAYER"&&o.has("BANKER"))return!0;if(l==="BANKER"&&o.has("PLAYER"))return!0;return!1};if(this.gameData.baccaratPreventOppositeBets&&n(a,this.derivedChips)){this.showError(R("errors.roulette.oppositeBet",this.gameData?.language||$));return}let t=S(this.gameData?.maxBet??0);if(S(this.totalBetAmount).plus(i).gt(t)){this.showError(L1("alerts.betAmountAboveMaxBet",this.gameData?.language||$,{value:t.toString()}));return}if(this.isMaxPayoutExceeded([...this.chipEvents,{type:"add",position:a,amount:i}])){this.showError(R("alerts.maxPayoutExceeded",this.gameData?.language||$));return}if(S(this.totalBetAmount).plus(i).gt(this.gameData?.balance??0))return;this.addChip(a,this.perClickAmount)}handleUndo=()=>{this.chipEvents=oa.undoEvent(this.chipEvents)};handleClear=()=>{this.chipEvents=[]};handleAdjustTotalBet=(a)=>{if(this.derivedChips.size===0)return;let e=[...this.chipEvents,{type:"multiplier-change",multiplier:a==="half"?0.5:2}];if(a==="double"){let i=S(this.gameData?.maxBet??0);if(S(this.totalBetAmount).times(2).gt(i)){this.showError(L1("alerts.betAmountAboveMaxBet",this.gameData?.language||$,{value:i.toString()}));return}}if(this.isMaxPayoutExceeded(e)){this.showError(R("alerts.maxPayoutExceeded",this.gameData?.language||$));return}if(this.chipEvents=e,this.totalBetAmount===0)this.chipEvents=[]};getChipTableHotkeys(a,e){return[{key:" ",callback:()=>x1.clickBetButton(this.manualOrAuto,a,e),options:{repeat:!0,repeatInterval:200,disabled:()=>{if(!this.gameData?.hotkeysOpenEnabled)return!0;return x1.isBetButtonDisabled(this.manualOrAuto,a,e)}}},{key:"q",callback:()=>this.adjustPerClickAmount("double"),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled}},{key:"r",callback:()=>this.adjustPerClickAmount("half"),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled}},{key:"e",callback:()=>this.adjustPerClickAmount("reset"),options:{disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled}},{key:"w",callback:ca(()=>this.gameData,()=>this.handleClear()),options:{disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled||this.derivedChips.size===0}},{key:"a",callback:ca(()=>this.gameData,()=>this.handleAdjustTotalBet("half")),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled||this.derivedChips.size===0}},{key:"s",callback:ca(()=>this.gameData,()=>this.handleAdjustTotalBet("double")),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled||this.derivedChips.size===0||this.isDoubleDisabled}},{key:"d",callback:ca(()=>this.gameData,()=>this.handleClear()),options:{disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled||this.derivedChips.size===0}},{key:"z",callback:ca(()=>this.gameData,()=>this.handleUndo()),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled||!this.canUndo}}]}}u([q()],M0.prototype,"perClickAmount",void 0),u([q()],M0.prototype,"chipEvents",void 0),u([d1("chipEvents")],M0.prototype,"watchDerivedChips",null);var ns=500;class s3 extends M0{static styles=[...M0.styles,K8];newBalance=null;ballLandResolver=null;constructor(){super();this.isManualPlaying=!1;this.betResult=null;this.history=[];this.hitNumber=null;this.showMobileOverlay=!1;this.displayedHitNumber=null;this.lastResultNumber=null;this.showWinPopup=!1;new E1(this,[...this.getChipTableHotkeys(this._manualEl,this._autoEl)])}get rouletteType(){if(Number(this.gameData?.edge)===5.3)return h1.AMERICAN;return h1.EUROPEAN}get rouletteApi(){return this.isDemoMode?new I4:new Z4(this.gameData.authToken,this.gameData.baseUrl)}get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get maxPossiblePayout(){return Y1.findMaxPayoutTile(this.derivedChips,this.rouletteType).maxPayout}isMaxPayoutExceeded(a){let{maxPayout:e}=Y1.findMaxPayoutTile(oa.deriveState(a,S(this.gameData?.maxBet??0)),this.rouletteType);return S(e).gt(this.gameData?.maxPayout??0)}handleGridClick=(a)=>{let{position:e,remove:i}=a.detail;this.handleChipInteraction(e,!!i)};addToHistory(a,e,i,r){this.history=[...this.history.filter((n)=>n.id!==i),{multiplier:a,won:e,id:i,hitNumber:r}]}extractHitNumberFromActions(a){for(let e=a.length-1;e>=0;e--){let r=a[e]?.data?.ROULETTE?.result?.[0];if(typeof r==="number")return r}return null}applyBetResult(a){this.betResult=a;let e=this.extractHitNumberFromActions(a.betActions);if(e!==null)this.hitNumber=e;let i=Number(a.multiplier??0),r=i>=1;if(this.addToHistory(i,r,a.id??"",e??0),this.updateHistoryWithBet(a),this.showWinPopup=r,i>1)this.playWinFeedback();this.displayedHitNumber=this.hitNumber??e,this.lastResultNumber=this.displayedHitNumber}async waitForAutobetDisplay(a){await this.ensureMinimumDisplayTime(a,500,350),await R1(this.getAutobetDelay())}async handleBetExecution(a){if(!this.gameData?.currency)return{success:!1,error:R("alerts.gameError",this.gameData?.language||$)};let e=this.derivedChips;if(e.size===0)return{success:!1,error:R("alerts.gameError",this.gameData?.language||$)};let i=Je(e,this.rouletteType),r=S(this.gameData.balance);try{if(this.isDemoMode&&r.lt(this.totalBetAmount))throw new Error(R("alerts.insufficientBalance",this.gameData?.language||$));if(this.isMaxPayoutExceeded(this.chipEvents))throw new Error(R("alerts.maxPayoutExceeded",this.gameData?.language||$));let n=await this.rouletteApi.startBet({currency:this.gameData.currency,language:this.gameData.language,gameInputs:i,meta:a?ea(a):void 0});if(n.success){let{data:t}=n;return this.betResult=t,this.hitNumber=this.extractHitNumberFromActions(t.betActions),this.newBalance=this.isDemoMode?r.minus(t.amount??0).plus(t.payout??0):S(t.afterBalance??0),n}else throw new Error(n.error)}catch(n){let t=n instanceof Error?n.message:R("alerts.gameError",this.gameData?.language||$);return this.showError(t),{success:!1,error:t}}}handleBallLand=()=>{if(this.ballLandResolver)this.ballLandResolver(),this.ballLandResolver=null;if(this.betResult)this.applyBetResult(this.betResult);let a=(this.gameData?.mainWidth??0)<768,e=this.gameData?.instantBetEnabled??!1;if(a&&!e)setTimeout(()=>{this.isManualPlaying=!1,this.showMobileOverlay=!1},ns);else this.isManualPlaying=!1,this.showMobileOverlay=!1;if(this.newBalance)this.gameData.updateBalance(this.newBalance),this.newBalance=null};async roulettePlay(){this.isManualPlaying=!0,this.hitNumber=null,this.betResult=null,this.showWinPopup=!1;let a=this.gameData?.instantBetEnabled??!1;if(!a)this.showMobileOverlay=!0;if(!(await this.handleBetExecution()).success){this.isManualPlaying=!1,this.showMobileOverlay=!1;return}if(a)this.handleBallLand()}async executeAutobet(a,e){try{this.hitNumber=null,this.betResult=null,this.showWinPopup=!1;let i=this.gameData?.instantBetEnabled??!1;if(i)await this.forceUIUpdate();let r=null;if(!i)r=new Promise((m)=>{this.ballLandResolver=m}),this.showMobileOverlay=!0;let n=await this.handleBetExecution(a);if(!n.success)return this.ballLandResolver=null,this.showMobileOverlay=!1,{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:n.error||R("alerts.errorProcessingBet",this.gameData?.language||$)};let t=n.data,l=S(t.payout??0).minus(t.amount??0),o=Number(t.multiplier),s=B1(o),d=o>=1,c=this.extractHitNumberFromActions(t.betActions);if(c!==null)this.hitNumber=c;if(this.betResult=t,await this.executeInstantOrAnimated(async()=>{this.applyBetResult(t),this.showMobileOverlay=!1},async()=>{if(r)await r}),this.newBalance)this.gameData.updateBalance(this.newBalance),this.newBalance=null;return await this.waitForAutobetDisplay(d),this.showWinPopup=!1,{pnl:l,gameOutcome:s,hasError:!1}}catch(i){return console.error("Error in executeAutobet:",i),this.ballLandResolver=null,this.showMobileOverlay=!1,{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R("alerts.gameError",this.gameData?.language||$)}}}render(){let a=this.gameData?.mainWidth>=768,e=this.totalBetAmount===0,i=J1(this.gameData);return Z`
|
|
14615
|
+
`;class M0 extends K1{constructor(){super(...arguments);this.perClickAmount="1";this.chipEvents=[]}get canUndo(){return this.chipEvents.length>0}firstUpdated(){this.perClickAmount=this.gameData?.minBet?.toString()??"1"}get canClear(){return this.derivedChips.size>0}get derivedChips(){return oa.deriveState(this.chipEvents,S(this.gameData?.maxBet??0))}get totalBetAmount(){let a=S(0);for(let e of this.derivedChips.values())a=a.plus(e);return Number(a.toFixed(4))}get maxPerClickAmount(){let a=S(this.gameData?.maxBet??0),e=S(this.gameData?.balance??0).minus(this.totalBetAmount),i=$a(a,e);return i.lt(0)?"0":i.toString()}get isDoubleDisabled(){let a=S(this.totalBetAmount).times(2),e=a.gt(this.gameData?.balance??0),i=a.gt(this.gameData?.maxBet??0);return e||i}watchDerivedChips(a,e){if(!this.gameData?.updateBetAmount)return;let i=Array.from(this.derivedChips.values()).reduce((n,t)=>n.plus(t),S(0)),r=this.gameData.currencyDecimals??0;this.gameData.updateBetAmount(S(i.toFixed(r)))}onBetAmountChange=(a,e)=>{if(S(a).eq(0))return;let i=S(e).div(S(a));this.chipEvents=[...this.chipEvents,{type:"multiplier-change",multiplier:i.toNumber()}]};adjustPerClickAmount(a){let e=S(this.perClickAmount||"0"),i=this.gameData?.currencyDecimals??2,r=S(this.gameData?.minBet??0),n=S(this.maxPerClickAmount),t;if(a==="reset")t=r;else if(a==="half"){if(e.lte(0))return;t=a0(r,$a(e.div(2),n))}else if(e.eq(0))t=r.gt(0)?r:S(1).div(10**i);else t=a0(r,$a(e.mul(2),n));this.perClickAmount=t.toFixed(i),Wa(this.gameData,0.5)}handlePerClickAmountChange=(a)=>{this.perClickAmount=a.detail.amount};addChip(a,e){let i=parseFloat(e)||0;if(i<=0)return;this.chipEvents=[...this.chipEvents,{type:"add",position:a,amount:i}],Wa(this.gameData,0.5)}handleChipInteraction(a,e=!1){let i=parseFloat(this.perClickAmount)||0;if(i<=0)return;if(e){if(!this.derivedChips.has(a))return;this.chipEvents=[...this.chipEvents,{type:"add",position:a,amount:-i}],Wa(this.gameData,0.5);return}if(S(i).gt(this.maxPerClickAmount))return;let r=(l,o)=>{if(l==="COLOR_BLACK"&&o.has("COLOR_RED"))return!0;if(l==="COLOR_RED"&&o.has("COLOR_BLACK"))return!0;if(l==="PARITY_EVEN"&&o.has("PARITY_ODD"))return!0;if(l==="PARITY_ODD"&&o.has("PARITY_EVEN"))return!0;if(l==="HALF_LOW"&&o.has("HALF_HIGH"))return!0;if(l==="HALF_HIGH"&&o.has("HALF_LOW"))return!0;if(l==="DOZEN_FIRST"&&o.has("DOZEN_SECOND")&&o.has("DOZEN_THIRD"))return!0;if(l==="DOZEN_SECOND"&&o.has("DOZEN_FIRST")&&o.has("DOZEN_THIRD"))return!0;if(l==="DOZEN_THIRD"&&o.has("DOZEN_FIRST")&&o.has("DOZEN_SECOND"))return!0;if(l==="COLUMN_TOP"&&o.has("COLUMN_MIDDLE")&&o.has("COLUMN_BOTTOM"))return!0;if(l==="COLUMN_MIDDLE"&&o.has("COLUMN_TOP")&&o.has("COLUMN_BOTTOM"))return!0;if(l==="COLUMN_BOTTOM"&&o.has("COLUMN_TOP")&&o.has("COLUMN_MIDDLE"))return!0;return!1};if(this.gameData.roulettePreventOppositeBets&&r(a,this.derivedChips)){this.showError(R("errors.roulette.oppositeBet",this.gameData?.language||$));return}let n=(l,o)=>{if(l==="PLAYER"&&o.has("BANKER"))return!0;if(l==="BANKER"&&o.has("PLAYER"))return!0;return!1};if(this.gameData.baccaratPreventOppositeBets&&n(a,this.derivedChips)){this.showError(R("errors.roulette.oppositeBet",this.gameData?.language||$));return}let t=S(this.gameData?.maxBet??0);if(S(this.totalBetAmount).plus(i).gt(t)){this.showError(L1("alerts.betAmountAboveMaxBet",this.gameData?.language||$,{value:t.toString()}));return}if(this.isMaxPayoutExceeded([...this.chipEvents,{type:"add",position:a,amount:i}])){this.showError(R("alerts.maxPayoutExceeded",this.gameData?.language||$));return}if(S(this.totalBetAmount).plus(i).gt(this.gameData?.balance??0))return;this.addChip(a,this.perClickAmount)}handleUndo=()=>{this.chipEvents=oa.undoEvent(this.chipEvents)};handleClear=()=>{this.chipEvents=[]};handleAdjustTotalBet=(a)=>{if(this.derivedChips.size===0)return;let e=[...this.chipEvents,{type:"multiplier-change",multiplier:a==="half"?0.5:2}];if(a==="double"){let i=S(this.gameData?.maxBet??0);if(S(this.totalBetAmount).times(2).gt(i)){this.showError(L1("alerts.betAmountAboveMaxBet",this.gameData?.language||$,{value:i.toString()}));return}}if(this.isMaxPayoutExceeded(e)){this.showError(R("alerts.maxPayoutExceeded",this.gameData?.language||$));return}if(this.chipEvents=e,this.totalBetAmount===0)this.chipEvents=[]};getChipTableHotkeys(a,e){return[{key:" ",callback:()=>Z1.clickBetButton(this.manualOrAuto,a,e),options:{repeat:!0,repeatInterval:200,disabled:()=>{if(!this.gameData?.hotkeysOpenEnabled)return!0;return Z1.isBetButtonDisabled(this.manualOrAuto,a,e)}}},{key:"q",callback:()=>this.adjustPerClickAmount("double"),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled}},{key:"r",callback:()=>this.adjustPerClickAmount("half"),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled}},{key:"e",callback:()=>this.adjustPerClickAmount("reset"),options:{disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled}},{key:"w",callback:ca(()=>this.gameData,()=>this.handleClear()),options:{disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled||this.derivedChips.size===0}},{key:"a",callback:ca(()=>this.gameData,()=>this.handleAdjustTotalBet("half")),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled||this.derivedChips.size===0}},{key:"s",callback:ca(()=>this.gameData,()=>this.handleAdjustTotalBet("double")),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled||this.derivedChips.size===0||this.isDoubleDisabled}},{key:"d",callback:ca(()=>this.gameData,()=>this.handleClear()),options:{disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled||this.derivedChips.size===0}},{key:"z",callback:ca(()=>this.gameData,()=>this.handleUndo()),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled||!this.canUndo}}]}}u([q()],M0.prototype,"perClickAmount",void 0),u([q()],M0.prototype,"chipEvents",void 0),u([d1("chipEvents")],M0.prototype,"watchDerivedChips",null);var ns=500;class s3 extends M0{static styles=[...M0.styles,K8];newBalance=null;ballLandResolver=null;constructor(){super();this.isManualPlaying=!1;this.betResult=null;this.history=[];this.hitNumber=null;this.showMobileOverlay=!1;this.displayedHitNumber=null;this.lastResultNumber=null;this.showWinPopup=!1;new E1(this,[...this.getChipTableHotkeys(this._manualEl,this._autoEl)])}get rouletteType(){if(Number(this.gameData?.edge)===5.3)return h1.AMERICAN;return h1.EUROPEAN}get rouletteApi(){return this.isDemoMode?new I4:new Z4(this.gameData.authToken,this.gameData.baseUrl)}get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get maxPossiblePayout(){return Y1.findMaxPayoutTile(this.derivedChips,this.rouletteType).maxPayout}isMaxPayoutExceeded(a){let{maxPayout:e}=Y1.findMaxPayoutTile(oa.deriveState(a,S(this.gameData?.maxBet??0)),this.rouletteType);return S(e).gt(this.gameData?.maxPayout??0)}handleGridClick=(a)=>{let{position:e,remove:i}=a.detail;this.handleChipInteraction(e,!!i)};addToHistory(a,e,i,r){this.history=[...this.history.filter((n)=>n.id!==i),{multiplier:a,won:e,id:i,hitNumber:r}]}extractHitNumberFromActions(a){for(let e=a.length-1;e>=0;e--){let r=a[e]?.data?.ROULETTE?.result?.[0];if(typeof r==="number")return r}return null}applyBetResult(a){this.betResult=a;let e=this.extractHitNumberFromActions(a.betActions);if(e!==null)this.hitNumber=e;let i=Number(a.multiplier??0),r=i>=1;if(this.addToHistory(i,r,a.id??"",e??0),this.updateHistoryWithBet(a),this.showWinPopup=r,i>1)this.playWinFeedback();this.displayedHitNumber=this.hitNumber??e,this.lastResultNumber=this.displayedHitNumber}async waitForAutobetDisplay(a){await this.ensureMinimumDisplayTime(a,500,350),await b1(this.getAutobetDelay())}async handleBetExecution(a){if(!this.gameData?.currency)return{success:!1,error:R("alerts.gameError",this.gameData?.language||$)};let e=this.derivedChips;if(e.size===0)return{success:!1,error:R("alerts.gameError",this.gameData?.language||$)};let i=Je(e,this.rouletteType),r=S(this.gameData.balance);try{if(this.isDemoMode&&r.lt(this.totalBetAmount))throw new Error(R("alerts.insufficientBalance",this.gameData?.language||$));if(this.isMaxPayoutExceeded(this.chipEvents))throw new Error(R("alerts.maxPayoutExceeded",this.gameData?.language||$));let n=await this.rouletteApi.startBet({currency:this.gameData.currency,language:this.gameData.language,gameInputs:i,meta:a?ea(a):void 0});if(n.success){let{data:t}=n;return this.betResult=t,this.hitNumber=this.extractHitNumberFromActions(t.betActions),this.newBalance=this.isDemoMode?r.minus(t.amount??0).plus(t.payout??0):S(t.afterBalance??0),n}else throw new Error(n.error)}catch(n){let t=n instanceof Error?n.message:R("alerts.gameError",this.gameData?.language||$);return this.showError(t),{success:!1,error:t}}}handleBallLand=()=>{if(this.ballLandResolver)this.ballLandResolver(),this.ballLandResolver=null;if(this.betResult)this.applyBetResult(this.betResult);let a=(this.gameData?.mainWidth??0)<768,e=this.gameData?.instantBetEnabled??!1;if(a&&!e)setTimeout(()=>{this.isManualPlaying=!1,this.showMobileOverlay=!1},ns);else this.isManualPlaying=!1,this.showMobileOverlay=!1;if(this.newBalance)this.gameData.updateBalance(this.newBalance),this.newBalance=null};async roulettePlay(){this.isManualPlaying=!0,this.hitNumber=null,this.betResult=null,this.showWinPopup=!1;let a=this.gameData?.instantBetEnabled??!1;if(!a)this.showMobileOverlay=!0;if(!(await this.handleBetExecution()).success){this.isManualPlaying=!1,this.showMobileOverlay=!1;return}if(a)this.handleBallLand()}async executeAutobet(a,e){try{this.hitNumber=null,this.betResult=null,this.showWinPopup=!1;let i=this.gameData?.instantBetEnabled??!1;if(i)await this.forceUIUpdate();let r=null;if(!i)r=new Promise((m)=>{this.ballLandResolver=m}),this.showMobileOverlay=!0;let n=await this.handleBetExecution(a);if(!n.success)return this.ballLandResolver=null,this.showMobileOverlay=!1,{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:n.error||R("alerts.errorProcessingBet",this.gameData?.language||$)};let t=n.data,l=S(t.payout??0).minus(t.amount??0),o=Number(t.multiplier),s=B1(o),d=o>=1,c=this.extractHitNumberFromActions(t.betActions);if(c!==null)this.hitNumber=c;if(this.betResult=t,await this.executeInstantOrAnimated(async()=>{this.applyBetResult(t),this.showMobileOverlay=!1},async()=>{if(r)await r}),this.newBalance)this.gameData.updateBalance(this.newBalance),this.newBalance=null;return await this.waitForAutobetDisplay(d),this.showWinPopup=!1,{pnl:l,gameOutcome:s,hasError:!1}}catch(i){return console.error("Error in executeAutobet:",i),this.ballLandResolver=null,this.showMobileOverlay=!1,{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R("alerts.gameError",this.gameData?.language||$)}}}render(){let a=this.gameData?.mainWidth>=768,e=this.totalBetAmount===0,i=J1(this.gameData);return Z`
|
|
14616
14616
|
<origami-game-layout
|
|
14617
14617
|
footer-position="below"
|
|
14618
14618
|
style="${i} --season-corner-display: none;"
|
|
@@ -15169,7 +15169,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
15169
15169
|
:host {
|
|
15170
15170
|
height: 100%;
|
|
15171
15171
|
}
|
|
15172
|
-
`;function F8(){return{getRandomInt:({min:a,max:e})=>{let i=Math.floor(Math.random()*(e-a+1))+a;return{value:i,values:[i],count:1,min:a,max:e,proofHash:"mock",proofString:"mock"}},getUniqueRandomInts:({min:a,max:e,count:i})=>{let r=[];while(r.length<i){let n=Math.floor(Math.random()*(e-a+1))+a;if(!r.includes(n))r.push(n)}return{values:r,count:i,min:a,max:e,proofHash:"mock",proofString:"mock"}},getRandomIntsWithReplacement:({min:a,max:e,count:i})=>{return{values:Array.from({length:i},()=>Math.floor(Math.random()*(e-a+1))+a),count:i,min:a,max:e,proofHash:"mock",proofString:"mock"}}}}class A4{async startBet(a){let{amount:e,selections:i}=a,r={bets:i.map((d)=>({type:d.position,amount:S(d.amount)}))},t=new Bi().getGameResult({generator:F8(),edge:1,gameInputs:r}),l=Ui(r),o=l.mul(t.payoutMultiplier);return{success:!0,data:{id:crypto.randomUUID(),tenantId:"origami-casino",userId:"mock-user",tenantUserId:"mock-user",gameId:"baccarat",currency:a.currency??"USD",amount:l.toString(),payout:o.toString(),afterBalance:"1000",multiplier:t.payoutMultiplier.toString(),clientSeed:"mock-seed",randomValue:"mock-random",proof:"mock-proof",nonce:1,betActions:[{id:crypto.randomUUID(),type:"START_BET",betAmount:e,payoutAmount:null,actionIndex:0,data:{BACCARAT:r}},{id:crypto.randomUUID(),type:"END_BET",betAmount:null,payoutAmount:o.toString(),actionIndex:1,data:{BACCARAT:t.outputs}}]}}}}class u3 extends M0{static styles=[...M0.styles,M8];constructor(){super();this.isManualPlaying=!1;this.resultMultiplier=null;this.history=[];this.gameWinPopupShowing=!1;this.payout=null;this.instantModeForCurrentBet=!1;this.currentRound=null;new E1(this,[...this.getChipTableHotkeys(this._baccaratManualEl,this._baccaratAutoEl),{key:"p",callback:()=>this.handleChipInteraction("PLAYER"),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled}},{key:"b",callback:()=>this.handleChipInteraction("BANKER"),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled}},{key:"t",callback:()=>this.handleChipInteraction("TIE"),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled}}])}get baccaratApi(){return this.isDemoMode?new A4:new j4(this.gameData.authToken,this.gameData.baseUrl??"")}get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}isMaxPayoutExceeded(a){let e=oa.deriveState(a,S(this.gameData?.maxBet??0));return V1.getMaxPossiblePayoutFromChips(e).gt(this.gameData?.maxPayout??0)}handleGridClick=(a)=>{let{position:e,remove:i}=a.detail;this.handleChipInteraction(e,!!i)};resetRound(){this.currentRound=null,this.resultMultiplier=null,this.gameWinPopupShowing=!1,this.payout=null}onManualOrAutoChange(){this.resetRound()}addToHistory(a,e,i){this.history=[...this.history.filter((r)=>r.id!==i),{multiplier:a,won:e,id:i}].slice(-f7)}onDealSound=()=>{this.gameData?.soundEffects?.play(u1.cardSlide())};onCardFlip=()=>{this.gameData?.soundEffects?.play(u1.cardFlip())};async processBetResult(a,e,i){let n=a.betActions.find((d)=>d.type==="END_BET")?.data.BACCARAT;if(!n)throw new Error("No baccarat data found");let t=V1.createGameRound(a,n);this.currentRound=t,await K0(this,"baccarat-dealing-complete",()=>!0,m7);let l=this.isDemoMode?e.minus(i).plus(a.payout??0):S(a.afterBalance??0);this.gameData.updateBalance(l);let o=t.multiplier,s=o>=1;if(this.resultMultiplier=o,this.betId=t.betId,this.payout=t.payout,this.gameWinPopupShowing=s,o>1)this.playWinFeedback();this.addToHistory(o,s,t.betId),this.updateHistoryWithBet(a)}async handleBetExecution(){if(this.instantModeForCurrentBet=this.gameData?.instantBetEnabled??!1,!this.gameData?.currency)return{success:!1,error:R("alerts.gameError",this.gameData?.language||$)};if(this.derivedChips.size===0)return{success:!1,error:R("games.baccarat.selectChip",this.gameData?.language||$)};if(this.isMaxPayoutExceeded(this.chipEvents))return{success:!1,error:R("alerts.maxPayoutExceeded",this.gameData?.language||$)};let{selections:a,totalAmount:e}=V1.buildSelectionsAndTotal(this.derivedChips),i=e.toFixed(8);this.currentRound=null,this.resultMultiplier=null,this.gameWinPopupShowing=!1,this.payout=null;let r=S(this.gameData.balance);try{if(this.isDemoMode&&r.lt(e))return{success:!1,error:R("alerts.insufficientBalance",this.gameData?.language||$)};this.gameData.updateBalance(r.minus(e));let n=await this.baccaratApi.startBet({language:this.gameData.language,amount:i,currency:this.gameData.currency,selections:a});if(!n.success)throw new Error(n.error);return await this.processBetResult(n.data,r,e),n}catch(n){return{success:!1,error:n instanceof Error?n.message:R("alerts.gameError",this.gameData?.language||$)}}}async toggleAutobet(a){if(this.derivedChips.size===0){this.emit("show-alert",{detail:{type:"error",message:R("games.baccarat.selectChip",this.gameData?.language||$)}});return}if(!this.autobetInProgress)this.emit("show-alert",{detail:{id:"autobet-started",type:"info",message:R("autobet.startAutobet",this.gameData?.language||$),autoCloseDelay:5000}});await super.toggleAutobet(a)}async baccaratPlay(){if(this.gameWinPopupShowing=!1,this.derivedChips.size===0){this.emit("show-alert",{detail:{type:"error",message:R("games.baccarat.selectChip",this.gameData?.language||$)}});return}this.isManualPlaying=!0;let a=await this.handleBetExecution();if(!a.success)this.showError(a.error);this.isManualPlaying=!1}async executeAutobet(a,e){try{if(this.gameWinPopupShowing=!1,this.derivedChips.size===0)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R("games.baccarat.selectChip",this.gameData?.language||$)};let i=await this.handleBetExecution();if(!i.success)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:i.error||R("alerts.errorProcessingBet",this.gameData?.language||$)};let r=i.data,n=S(r.payout??0).minus(r.amount??0),t=B1(Number(r.multiplier));if(!this.instantModeForCurrentBet){if(await
|
|
15172
|
+
`;function F8(){return{getRandomInt:({min:a,max:e})=>{let i=Math.floor(Math.random()*(e-a+1))+a;return{value:i,values:[i],count:1,min:a,max:e,proofHash:"mock",proofString:"mock"}},getUniqueRandomInts:({min:a,max:e,count:i})=>{let r=[];while(r.length<i){let n=Math.floor(Math.random()*(e-a+1))+a;if(!r.includes(n))r.push(n)}return{values:r,count:i,min:a,max:e,proofHash:"mock",proofString:"mock"}},getRandomIntsWithReplacement:({min:a,max:e,count:i})=>{return{values:Array.from({length:i},()=>Math.floor(Math.random()*(e-a+1))+a),count:i,min:a,max:e,proofHash:"mock",proofString:"mock"}}}}class A4{async startBet(a){let{amount:e,selections:i}=a,r={bets:i.map((d)=>({type:d.position,amount:S(d.amount)}))},t=new Bi().getGameResult({generator:F8(),edge:1,gameInputs:r}),l=Ui(r),o=l.mul(t.payoutMultiplier);return{success:!0,data:{id:crypto.randomUUID(),tenantId:"origami-casino",userId:"mock-user",tenantUserId:"mock-user",gameId:"baccarat",currency:a.currency??"USD",amount:l.toString(),payout:o.toString(),afterBalance:"1000",multiplier:t.payoutMultiplier.toString(),clientSeed:"mock-seed",randomValue:"mock-random",proof:"mock-proof",nonce:1,betActions:[{id:crypto.randomUUID(),type:"START_BET",betAmount:e,payoutAmount:null,actionIndex:0,data:{BACCARAT:r}},{id:crypto.randomUUID(),type:"END_BET",betAmount:null,payoutAmount:o.toString(),actionIndex:1,data:{BACCARAT:t.outputs}}]}}}}class u3 extends M0{static styles=[...M0.styles,M8];constructor(){super();this.isManualPlaying=!1;this.resultMultiplier=null;this.history=[];this.gameWinPopupShowing=!1;this.payout=null;this.instantModeForCurrentBet=!1;this.currentRound=null;new E1(this,[...this.getChipTableHotkeys(this._baccaratManualEl,this._baccaratAutoEl),{key:"p",callback:()=>this.handleChipInteraction("PLAYER"),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled}},{key:"b",callback:()=>this.handleChipInteraction("BANKER"),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled}},{key:"t",callback:()=>this.handleChipInteraction("TIE"),options:{repeat:!0,repeatInterval:200,disabled:()=>this.areInputsDisabled||!this.gameData?.hotkeysOpenEnabled}}])}get baccaratApi(){return this.isDemoMode?new A4:new j4(this.gameData.authToken,this.gameData.baseUrl??"")}get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping}isMaxPayoutExceeded(a){let e=oa.deriveState(a,S(this.gameData?.maxBet??0));return V1.getMaxPossiblePayoutFromChips(e).gt(this.gameData?.maxPayout??0)}handleGridClick=(a)=>{let{position:e,remove:i}=a.detail;this.handleChipInteraction(e,!!i)};resetRound(){this.currentRound=null,this.resultMultiplier=null,this.gameWinPopupShowing=!1,this.payout=null}onManualOrAutoChange(){this.resetRound()}addToHistory(a,e,i){this.history=[...this.history.filter((r)=>r.id!==i),{multiplier:a,won:e,id:i}].slice(-f7)}onDealSound=()=>{this.gameData?.soundEffects?.play(u1.cardSlide())};onCardFlip=()=>{this.gameData?.soundEffects?.play(u1.cardFlip())};async processBetResult(a,e,i){let n=a.betActions.find((d)=>d.type==="END_BET")?.data.BACCARAT;if(!n)throw new Error("No baccarat data found");let t=V1.createGameRound(a,n);this.currentRound=t,await K0(this,"baccarat-dealing-complete",()=>!0,m7);let l=this.isDemoMode?e.minus(i).plus(a.payout??0):S(a.afterBalance??0);this.gameData.updateBalance(l);let o=t.multiplier,s=o>=1;if(this.resultMultiplier=o,this.betId=t.betId,this.payout=t.payout,this.gameWinPopupShowing=s,o>1)this.playWinFeedback();this.addToHistory(o,s,t.betId),this.updateHistoryWithBet(a)}async handleBetExecution(){if(this.instantModeForCurrentBet=this.gameData?.instantBetEnabled??!1,!this.gameData?.currency)return{success:!1,error:R("alerts.gameError",this.gameData?.language||$)};if(this.derivedChips.size===0)return{success:!1,error:R("games.baccarat.selectChip",this.gameData?.language||$)};if(this.isMaxPayoutExceeded(this.chipEvents))return{success:!1,error:R("alerts.maxPayoutExceeded",this.gameData?.language||$)};let{selections:a,totalAmount:e}=V1.buildSelectionsAndTotal(this.derivedChips),i=e.toFixed(8);this.currentRound=null,this.resultMultiplier=null,this.gameWinPopupShowing=!1,this.payout=null;let r=S(this.gameData.balance);try{if(this.isDemoMode&&r.lt(e))return{success:!1,error:R("alerts.insufficientBalance",this.gameData?.language||$)};this.gameData.updateBalance(r.minus(e));let n=await this.baccaratApi.startBet({language:this.gameData.language,amount:i,currency:this.gameData.currency,selections:a});if(!n.success)throw new Error(n.error);return await this.processBetResult(n.data,r,e),n}catch(n){return{success:!1,error:n instanceof Error?n.message:R("alerts.gameError",this.gameData?.language||$)}}}async toggleAutobet(a){if(this.derivedChips.size===0){this.emit("show-alert",{detail:{type:"error",message:R("games.baccarat.selectChip",this.gameData?.language||$)}});return}if(!this.autobetInProgress)this.emit("show-alert",{detail:{id:"autobet-started",type:"info",message:R("autobet.startAutobet",this.gameData?.language||$),autoCloseDelay:5000}});await super.toggleAutobet(a)}async baccaratPlay(){if(this.gameWinPopupShowing=!1,this.derivedChips.size===0){this.emit("show-alert",{detail:{type:"error",message:R("games.baccarat.selectChip",this.gameData?.language||$)}});return}this.isManualPlaying=!0;let a=await this.handleBetExecution();if(!a.success)this.showError(a.error);this.isManualPlaying=!1}async executeAutobet(a,e){try{if(this.gameWinPopupShowing=!1,this.derivedChips.size===0)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R("games.baccarat.selectChip",this.gameData?.language||$)};let i=await this.handleBetExecution();if(!i.success)return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:i.error||R("alerts.errorProcessingBet",this.gameData?.language||$)};let r=i.data,n=S(r.payout??0).minus(r.amount??0),t=B1(Number(r.multiplier));if(!this.instantModeForCurrentBet){if(await b1(this.getDelay(200)),t==="Win")await b1(this.getDelay(150));await b1(300)}return await b1(this.getAutobetDelay()),this.gameWinPopupShowing=!1,{pnl:n,gameOutcome:t,hasError:!1}}catch(i){return console.error("Error in executeAutobet:",i),{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R("alerts.gameError",this.gameData?.language||$)}}}render(){let a=this.gameData?.mainWidth>=768,e=J1(this.gameData),i=this.totalBetAmount===0;return Z`
|
|
15173
15173
|
<origami-game-layout style=${e} .gameType=${"BACCARAT"} data-is-desktop=${a}>
|
|
15174
15174
|
<origami-game-sidebar
|
|
15175
15175
|
slot="control-panel"
|
|
@@ -15741,7 +15741,7 @@ var V8=Object.create;var{getPrototypeOf:W8,defineProperty:$4,getOwnPropertyNames
|
|
|
15741
15741
|
:host {
|
|
15742
15742
|
height: 100%;
|
|
15743
15743
|
}
|
|
15744
|
-
`;var os={Spades:"spade",Hearts:"heart",Diamonds:"diamond",Clubs:"club"},ss=["Ace","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King"],J8=(a)=>({rank:ss.indexOf(a.rank)+1,suit:os[a.suit]??"spade"}),hs={rank:1,suit:"spade",faceDown:!0},us=(a)=>("playerHand"in a)&&("dealerHand"in a),A8=(a)=>[...a.cards].map(J8),ds=(a)=>{for(let e=a.betActions.length-1;e>=0;e--){let r=a.betActions[e].data.BLACKJACK;if(r&&us(r.state))return r.state}return null},$2=(a)=>{let e=ds(a);if(!e)return null;let i=A8(e.playerHand),r=e.playerHand.value;if(e.isFinished){let l=A8(e.dealerHand);return{playerCards:i,dealerCards:l,playerValue:r,dealerValue:e.dealerHand.value,isFinished:!0,multiplier:e.multiplier}}let t=[J8(e.dealerHand.cards[0]),hs];return{playerCards:i,dealerCards:t,playerValue:r,dealerValue:e.dealerHand.value,isFinished:!1,multiplier:e.multiplier}},d3=(a)=>a.betActions.some((e)=>e.type==="END_BET");class c3 extends K1{static styles=[...K1.styles,L8];betData=null;actionBusy=!1;insuranceBetAmount="0";isSplitRound=!1;currentBetAmount="0";get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping||this.stage!=="idle"&&this.stage!=="settled"}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping||this.controlsLocked}get blackjackApi(){return this.isDemoMode?new M1:new J4(this.gameData.authToken,this.gameData.baseUrl??"")}addToHistory(a,e,i){let r=[...this.history,{multiplier:a,won:e,id:i}];this.history=r.slice(-5)}async firstUpdated(a){super.firstUpdated(a),await this.checkForActiveSession()}async checkForActiveSession(){try{let a=await this.blackjackApi.getActiveBet();if(!a.success)return;this.betData=a.data;let e=$2(a.data);if(!e)return;this.suppressNextContentAnimations=!0,this.playerHands=[{cards:e.playerCards}],this.dealerCards=e.dealerCards,this.activeHandIndex=0,this.stage=e.isFinished?"settled":"player",await this.forceUIUpdate(),this.suppressNextContentAnimations=!1}catch{}}addPlayerCard(a){let e=this.playerHands[0];if(!e)return"";return e.cards=[...e.cards,a],this.playerHands=[...this.playerHands],this.playDealSound(),`p-0-${e.cards.length-1}`}addDealerCard(a){return this.dealerCards=[...this.dealerCards,a],this.playDealSound(),`d-${this.dealerCards.length-1}`}async handleBetExecution(a){if(!this.gameData?.currency)throw new Error(R("alerts.gameError",this.gameData?.language||$));let e=this.sideBetMode?S(this.perfectPairsAmount).plus(this.twentyOnePlusThreeAmount):S(0),i;if(this.isDemoMode&&S(this.gameData.balance).lt(S(a).plus(e)))i={success:!1,error:R("alerts.insufficientBalance",this.gameData?.language||"en")};else i=await this.blackjackApi.startBet({amount:a,currency:this.gameData.currency});if(!i.success)return this.showError(i.error),i;if(this.betData=i.data,this.currentBetAmount=a,this.insuranceBetAmount="0",this.isSplitRound=!1,this.isDemoMode)this.gameData.updateBalance(S(this.gameData.balance).minus(S(a).plus(e)));let r=$2(i.data);if(!r)return i;if(this.stage="dealing",this.hasPendingBet=!0,this.resultMultiplier=null,this.dealerCards=[],this.playerHands=[{cards:[]}],this.activeHandIndex=0,await this.forceUIUpdate(),await this.executeInstantOrAnimated(()=>{this.playerHands=[{cards:[...r.playerCards]}],this.dealerCards=[...r.dealerCards]},async()=>{let t=this.addPlayerCard(r.playerCards[0]);await this.waitForCardDealComplete(t);let l=this.addDealerCard(r.dealerCards[0]);await this.waitForCardDealComplete(l);let o=this.addPlayerCard(r.playerCards[1]);await this.waitForCardDealComplete(o);let s=this.addDealerCard(r.dealerCards[1]);await this.waitForCardDealComplete(s)}),this.sideBetMode&&r.playerCards.length>=2)this.settleSideBets(r.playerCards,r.dealerCards[0]);if(r.playerCards.length===2&&this.handBestValue(r.playerCards)===21)this.revealDealerHole(),await this.finishRound();else if(this.dealerCards[0]?.rank===1)this.stage="insurance";else if(d3(i.data))this.revealDealerHole(),await this.finishRound();else this.stage="player";return i}async blackjackPlay(){this.isManualPlaying=!0,this.gameData?.soundEffects?.play(u1.buttonPress(0.5));try{if(this.stage!=="idle"&&this.stage!=="settled")return;let a=await this.handleBetExecution(this.gameData?.betAmount??"0");if(!a?.success)console.error(a?.error)}catch(a){console.error("Error in blackjackPlay:",a),this.showError(R("alerts.gameError",this.gameData?.language||$))}finally{this.isManualPlaying=!1}}async executeAutobet(a,e){return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R("alerts.gameError",this.gameData?.language||$)}}playDealSound(){this.gameData?.soundEffects?.play(u1.cardSlide())}playFlipSound(){this.gameData?.soundEffects?.play(u1.cardFlip())}revealDealerHole(){this.dealerCards=this.dealerCards.map((a,e)=>e===1&&a.faceDown?{...a,faceDown:!1}:a)}async revealDealerCards(a){if(!a)return;if(this.stage="dealer",a.dealerCards.length>=2){this.dealerCards=this.dealerCards.map((e,i)=>{if(i===1)return{...a.dealerCards[1],faceDown:!1};return e}),this.playFlipSound();try{await this.waitForCardDealComplete("d-1")}catch{}}for(let e=2;e<a.dealerCards.length;e++){let i=this.addDealerCard(a.dealerCards[e]);await this.waitForCardDealComplete(i)}}async finishRound(){if(!this.betData)return;let a=this.betData.payout??"0",e=Number(this.betData.multiplier??"0");if(this.isDemoMode)this.gameData.updateBalance(S(this.gameData.balance).plus(a));let i=e>1;if(this.addToHistory(e,i,this.betData.id),this.updateHistoryWithBet(this.betData),i)this.playWinFeedback();await this.waitForAllCardsToBeIdle(),this.resultMultiplier=e,await this.ensureMinimumDisplayTime(i,300,300),this.stage="settled",this.hasPendingBet=!1,this.insuranceBetAmount="0",this.isSplitRound=!1}async waitForAllCardsToBeIdle(){if(this.gameData.instantBetEnabled)return;await this.forceUIUpdate(),await R1(50)}accumulateBetActions(a){if(!this.betData)return;let e=new Set(this.betData.betActions.map((r)=>r.id)),i=a.betActions.filter((r)=>!e.has(r.id));this.betData={...a,betActions:[...this.betData.betActions,...i]}}onBuyInsurance=async()=>{if(this.stage!=="insurance")return;if(this.insuranceBetAmount=S(this.currentBetAmount).div(2).toString(),this.isDemoMode)this.gameData.updateBalance(S(this.gameData.balance).minus(this.insuranceBetAmount));await this.afterInsuranceDecision()};onDeclineInsurance=async()=>{if(this.stage!=="insurance")return;this.insuranceBetAmount="0",await this.afterInsuranceDecision()};afterInsuranceDecision=async()=>{if(this.betData&&d3(this.betData)){if(this.isDemoMode&&S(this.insuranceBetAmount).gt(0))this.gameData.updateBalance(S(this.gameData.balance).plus(S(this.insuranceBetAmount).mul(3)));this.revealDealerHole(),await this.finishRound()}else this.stage="player"};onHit=async()=>{if(this.stage!=="player"||this.actionBusy)return;if(this.isSplitRound){this.actionBusy=!0,this.controlsLocked=!0;try{let a=this.playerHands[this.activeHandIndex];if(!a)return;let e=this.randomUICard();a.cards=[...a.cards,e],this.playerHands=[...this.playerHands],this.playDealSound();let i=`p-${this.activeHandIndex}-${a.cards.length-1}`;if(await this.waitForCardDealComplete(i),this.handBestValue(a.cards)>=21)await this.advanceSplitHand()}finally{this.controlsLocked=!1,this.actionBusy=!1}return}if(!this.betData)return;this.actionBusy=!0,this.controlsLocked=!0;try{let a=await this.blackjackApi.next({betId:this.betData.id,type:"BLACKJACK_HIT"});if(!a.success){this.showError(a.error);return}this.accumulateBetActions(a.data);let e=$2(a.data);if(!e)return;let i=e.playerCards[e.playerCards.length-1],r=this.addPlayerCard(i);if(await this.waitForCardDealComplete(r),d3(a.data))await this.revealDealerCards(e),await this.finishRound()}finally{this.controlsLocked=!1,this.actionBusy=!1}};onStand=async()=>{if(this.stage!=="player"||this.actionBusy)return;if(this.isSplitRound){this.actionBusy=!0,this.controlsLocked=!0;try{await this.advanceSplitHand()}finally{this.controlsLocked=!1,this.actionBusy=!1}return}if(!this.betData)return;this.actionBusy=!0,this.controlsLocked=!0;try{let a=await this.blackjackApi.next({betId:this.betData.id,type:"BLACKJACK_STAND"});if(!a.success){this.showError(a.error);return}this.accumulateBetActions(a.data);let e=$2(a.data);if(!e)return;await this.revealDealerCards(e),await this.finishRound()}finally{this.controlsLocked=!1,this.actionBusy=!1}};onSplit=async()=>{if(this.stage!=="player"||this.actionBusy)return;if(this.playerHands.length>1)return;let a=this.playerHands[this.activeHandIndex];if(!a||a.cards.length!==2)return;if(this.cardValueForSplit(a.cards[0].rank)!==this.cardValueForSplit(a.cards[1].rank))return;this.actionBusy=!0,this.controlsLocked=!0;try{if(this.isDemoMode)this.gameData.updateBalance(S(this.gameData.balance).minus(this.currentBetAmount));let[e,i]=a.cards;this.playerHands=[{cards:[e]},{cards:[i]}],this.activeHandIndex=1,this.isSplitRound=!0,this.suppressNextContentAnimations=!0,await this.forceUIUpdate(),this.suppressNextContentAnimations=!1}finally{this.controlsLocked=!1,this.actionBusy=!1}};advanceSplitHand=async()=>{if(this.activeHandIndex>0){this.activeHandIndex=this.activeHandIndex-1;return}await this.dealerPlaySplitRound(),await this.finishSplitRound()};dealerPlaySplitRound=async()=>{this.stage="dealer";let a=this.randomUICard();this.dealerCards=this.dealerCards.map((e,i)=>i===1?{...a,faceDown:!1}:e),this.playFlipSound();try{await this.waitForCardDealComplete("d-1")}catch{}while(this.handBestValue(this.dealerCards)<17){let e=this.randomUICard(),i=this.addDealerCard(e);await this.waitForCardDealComplete(i)}};finishSplitRound=async()=>{let a=S(this.currentBetAmount),e=this.handBestValue(this.dealerCards),i=e>21,r=S(0),n=!1;for(let d of this.playerHands){let c=this.handBestValue(d.cards);if(c>21)continue;if(i||c>e)r=r.plus(a.mul(2)),n=!0;else if(c===e)r=r.plus(a)}if(this.isDemoMode)this.gameData.updateBalance(S(this.gameData.balance).plus(r));let t=a.mul(this.playerHands.length),l=t.gt(0)?r.div(t).toNumber():0,o=r.gt(t),s=this.betData?.id??crypto.randomUUID();if(this.addToHistory(l,o,s),this.betData)this.updateHistoryWithBet(this.betData);if(n)this.playWinFeedback();await this.waitForAllCardsToBeIdle(),this.resultMultiplier=l,await this.ensureMinimumDisplayTime(o,300,300),this.stage="settled",this.hasPendingBet=!1,this.isSplitRound=!1,this.insuranceBetAmount="0"};handBestValue=(a)=>{let e=0,i=0;for(let r of a)if(r.rank===1)i++,e+=1;else if(r.rank>=10)e+=10;else e+=r.rank;while(i>0&&e+10<=21)e+=10,i--;return e};randomUICard=()=>{let a=Math.floor(Math.random()*13)+1,i=["diamond","spade","club","heart"][Math.floor(Math.random()*4)]??"spade";return{rank:a,suit:i}};cardValueForSplit=(a)=>a>=10?10:a;settleSideBets=(a,e)=>{if(!this.isDemoMode)return;let i=S(0),r=S(this.perfectPairsAmount),n=S(this.twentyOnePlusThreeAmount);if(r.gt(0)){let t=this.evaluatePerfectPairs(a[0],a[1]);if(t>0)i=i.plus(r.mul(t))}if(n.gt(0)){let t=this.evaluateTwentyOnePlusThree(a[0],a[1],e);if(t>0)i=i.plus(n.mul(t))}if(i.gt(0))this.gameData.updateBalance(S(this.gameData.balance).plus(i))};evaluatePerfectPairs=(a,e)=>{if(a.rank!==e.rank)return 0;if(a.suit===e.suit)return 26;let i=(r)=>r==="diamond"||r==="heart";if(i(a.suit)===i(e.suit))return 13;return 6};evaluateTwentyOnePlusThree=(a,e,i)=>{let r=[a.rank,e.rank,i.rank],n=[a.suit,e.suit,i.suit],t=n[0]===n[1]&&n[1]===n[2];if(r[0]===r[1]&&r[1]===r[2])return t?101:31;let o=[...r].sort((m,h)=>m-h),s=o[2]-o[1]===1&&o[1]-o[0]===1,d=o[0]===1&&o[1]===12&&o[2]===13,c=s||d;if(c&&t)return 41;if(c)return 11;if(t)return 6;return 0};onBetModeChange=(a)=>{this.sideBetMode=a.detail.tab==="Auto"};onPerfectPairsAmountChange=(a)=>{this.perfectPairsAmount=a.detail.value};onTwentyOnePlusThreeAmountChange=(a)=>{this.twentyOnePlusThreeAmount=a.detail.value};onCardFlip=()=>{this.playFlipSound()};waitForCardDealComplete(a){if(this.gameData.instantBetEnabled)return Promise.resolve();return new Promise((e)=>{let i=(r)=>{let n=r.detail;if(!n||n.cardId!==a)return;this.removeEventListener("blackjack-card-dealt",i),e()};this.addEventListener("blackjack-card-dealt",i),R1(2000).then(()=>{this.removeEventListener("blackjack-card-dealt",i),e()})})}get canInteract(){return this.stage==="player"&&!this.controlsLocked&&!!this.betData}get canHit(){if(!this.canInteract)return!1;if(this.isSplitRound){let a=this.playerHands[this.activeHandIndex];return!!a&&this.handBestValue(a.cards)<21}return!0}get canStand(){return this.canInteract}get canDouble(){return!1}get canSplit(){if(!this.canInteract||this.playerHands.length>1)return!1;let a=this.playerHands[this.activeHandIndex];if(!a||a.cards.length!==2)return!1;return this.cardValueForSplit(a.cards[0].rank)===this.cardValueForSplit(a.cards[1].rank)}isSpacebarDisabled=()=>{if(!this.gameData?.hotkeysOpenEnabled)return!0;return this._blackjackManualEl?.shadowRoot?.querySelector("origami-button")?.disabled??!0};handleSpacebar=()=>{if(this.isSpacebarDisabled())return;this.blackjackPlay()};isHitDisabled=()=>{return!this.gameData?.hotkeysOpenEnabled||!this.canHit||this.stage!=="player"||this.actionBusy};handleHit=()=>{if(this.isHitDisabled())return;this.onHit()};isStandDisabled=()=>{return!this.gameData?.hotkeysOpenEnabled||!this.canStand||this.stage!=="player"||this.actionBusy};handleStand=()=>{if(this.isStandDisabled())return;this.onStand()};isSplitDisabled=()=>{return!this.gameData?.hotkeysOpenEnabled||!this.canSplit||this.stage!=="player"||this.actionBusy};handleSplit=()=>{if(this.isSplitDisabled())return;this.onSplit()};isDoubleDisabled=()=>!0;isAcceptInsuranceDisabled=()=>{return!this.gameData?.hotkeysOpenEnabled||this.stage!=="insurance"};handleAcceptInsurance=()=>{if(this.isAcceptInsuranceDisabled())return;this.onBuyInsurance()};isNoInsuranceDisabled=()=>{return!this.gameData?.hotkeysOpenEnabled||this.stage!=="insurance"};handleNoInsurance=()=>{if(this.isNoInsuranceDisabled())return;this.onDeclineInsurance()};constructor(){super();this.isManualPlaying=!1;this.resultMultiplier=null;this.history=[];this.stage="idle";this.dealerCards=[];this.playerHands=[];this.activeHandIndex=0;this.controlsLocked=!1;this.suppressNextContentAnimations=!1;this.sideBetMode=!1;this.perfectPairsAmount="0";this.twentyOnePlusThreeAmount="0";new E1(this,[{key:" ",callback:this.handleSpacebar.bind(this),options:{repeat:!0,repeatInterval:200,disabled:this.isSpacebarDisabled}},{key:"q",callback:this.handleHit.bind(this),options:{disabled:this.isHitDisabled}},{key:"w",callback:this.handleStand.bind(this),options:{disabled:this.isStandDisabled}},{key:"e",callback:this.handleSplit.bind(this),options:{disabled:this.isSplitDisabled}},{key:"r",callback:()=>{},options:{disabled:this.isDoubleDisabled}},{key:"t",callback:this.handleAcceptInsurance.bind(this),options:{disabled:this.isAcceptInsuranceDisabled}},{key:"y",callback:this.handleNoInsurance.bind(this),options:{disabled:this.isNoInsuranceDisabled}}])}render(){let a=this.gameData?.mainWidth>=768,e=this.stage!=="idle"&&this.stage!=="settled",i=this.areInputsDisabled||e,r=J1(this.gameData);return Z`
|
|
15744
|
+
`;var os={Spades:"spade",Hearts:"heart",Diamonds:"diamond",Clubs:"club"},ss=["Ace","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King"],J8=(a)=>({rank:ss.indexOf(a.rank)+1,suit:os[a.suit]??"spade"}),hs={rank:1,suit:"spade",faceDown:!0},us=(a)=>("playerHand"in a)&&("dealerHand"in a),A8=(a)=>[...a.cards].map(J8),ds=(a)=>{for(let e=a.betActions.length-1;e>=0;e--){let r=a.betActions[e].data.BLACKJACK;if(r&&us(r.state))return r.state}return null},$2=(a)=>{let e=ds(a);if(!e)return null;let i=A8(e.playerHand),r=e.playerHand.value;if(e.isFinished){let l=A8(e.dealerHand);return{playerCards:i,dealerCards:l,playerValue:r,dealerValue:e.dealerHand.value,isFinished:!0,multiplier:e.multiplier}}let t=[J8(e.dealerHand.cards[0]),hs];return{playerCards:i,dealerCards:t,playerValue:r,dealerValue:e.dealerHand.value,isFinished:!1,multiplier:e.multiplier}},d3=(a)=>a.betActions.some((e)=>e.type==="END_BET");class c3 extends K1{static styles=[...K1.styles,L8];betData=null;actionBusy=!1;insuranceBetAmount="0";isSplitRound=!1;currentBetAmount="0";get isToggleDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping||this.stage!=="idle"&&this.stage!=="settled"}get areInputsDisabled(){return this.isManualPlaying||this.autobetInProgress||this.autobetStopping||this.controlsLocked}get blackjackApi(){return this.isDemoMode?new M1:new J4(this.gameData.authToken,this.gameData.baseUrl??"")}addToHistory(a,e,i){let r=[...this.history,{multiplier:a,won:e,id:i}];this.history=r.slice(-5)}async firstUpdated(a){super.firstUpdated(a),await this.checkForActiveSession()}async checkForActiveSession(){try{let a=await this.blackjackApi.getActiveBet();if(!a.success)return;this.betData=a.data;let e=$2(a.data);if(!e)return;this.suppressNextContentAnimations=!0,this.playerHands=[{cards:e.playerCards}],this.dealerCards=e.dealerCards,this.activeHandIndex=0,this.stage=e.isFinished?"settled":"player",await this.forceUIUpdate(),this.suppressNextContentAnimations=!1}catch{}}addPlayerCard(a){let e=this.playerHands[0];if(!e)return"";return e.cards=[...e.cards,a],this.playerHands=[...this.playerHands],this.playDealSound(),`p-0-${e.cards.length-1}`}addDealerCard(a){return this.dealerCards=[...this.dealerCards,a],this.playDealSound(),`d-${this.dealerCards.length-1}`}async handleBetExecution(a){if(!this.gameData?.currency)throw new Error(R("alerts.gameError",this.gameData?.language||$));let e=this.sideBetMode?S(this.perfectPairsAmount).plus(this.twentyOnePlusThreeAmount):S(0),i;if(this.isDemoMode&&S(this.gameData.balance).lt(S(a).plus(e)))i={success:!1,error:R("alerts.insufficientBalance",this.gameData?.language||"en")};else i=await this.blackjackApi.startBet({amount:a,currency:this.gameData.currency});if(!i.success)return this.showError(i.error),i;if(this.betData=i.data,this.currentBetAmount=a,this.insuranceBetAmount="0",this.isSplitRound=!1,this.isDemoMode)this.gameData.updateBalance(S(this.gameData.balance).minus(S(a).plus(e)));let r=$2(i.data);if(!r)return i;if(this.stage="dealing",this.hasPendingBet=!0,this.resultMultiplier=null,this.dealerCards=[],this.playerHands=[{cards:[]}],this.activeHandIndex=0,await this.forceUIUpdate(),await this.executeInstantOrAnimated(()=>{this.playerHands=[{cards:[...r.playerCards]}],this.dealerCards=[...r.dealerCards]},async()=>{let t=this.addPlayerCard(r.playerCards[0]);await this.waitForCardDealComplete(t);let l=this.addDealerCard(r.dealerCards[0]);await this.waitForCardDealComplete(l);let o=this.addPlayerCard(r.playerCards[1]);await this.waitForCardDealComplete(o);let s=this.addDealerCard(r.dealerCards[1]);await this.waitForCardDealComplete(s)}),this.sideBetMode&&r.playerCards.length>=2)this.settleSideBets(r.playerCards,r.dealerCards[0]);if(r.playerCards.length===2&&this.handBestValue(r.playerCards)===21)this.revealDealerHole(),await this.finishRound();else if(this.dealerCards[0]?.rank===1)this.stage="insurance";else if(d3(i.data))this.revealDealerHole(),await this.finishRound();else this.stage="player";return i}async blackjackPlay(){this.isManualPlaying=!0,this.gameData?.soundEffects?.play(u1.buttonPress(0.5));try{if(this.stage!=="idle"&&this.stage!=="settled")return;let a=await this.handleBetExecution(this.gameData?.betAmount??"0");if(!a?.success)console.error(a?.error)}catch(a){console.error("Error in blackjackPlay:",a),this.showError(R("alerts.gameError",this.gameData?.language||$))}finally{this.isManualPlaying=!1}}async executeAutobet(a,e){return{pnl:S(0),gameOutcome:"Draw",hasError:!0,errorMessage:R("alerts.gameError",this.gameData?.language||$)}}playDealSound(){this.gameData?.soundEffects?.play(u1.cardSlide())}playFlipSound(){this.gameData?.soundEffects?.play(u1.cardFlip())}revealDealerHole(){this.dealerCards=this.dealerCards.map((a,e)=>e===1&&a.faceDown?{...a,faceDown:!1}:a)}async revealDealerCards(a){if(!a)return;if(this.stage="dealer",a.dealerCards.length>=2){this.dealerCards=this.dealerCards.map((e,i)=>{if(i===1)return{...a.dealerCards[1],faceDown:!1};return e}),this.playFlipSound();try{await this.waitForCardDealComplete("d-1")}catch{}}for(let e=2;e<a.dealerCards.length;e++){let i=this.addDealerCard(a.dealerCards[e]);await this.waitForCardDealComplete(i)}}async finishRound(){if(!this.betData)return;let a=this.betData.payout??"0",e=Number(this.betData.multiplier??"0");if(this.isDemoMode)this.gameData.updateBalance(S(this.gameData.balance).plus(a));let i=e>1;if(this.addToHistory(e,i,this.betData.id),this.updateHistoryWithBet(this.betData),i)this.playWinFeedback();await this.waitForAllCardsToBeIdle(),this.resultMultiplier=e,await this.ensureMinimumDisplayTime(i,300,300),this.stage="settled",this.hasPendingBet=!1,this.insuranceBetAmount="0",this.isSplitRound=!1}async waitForAllCardsToBeIdle(){if(this.gameData.instantBetEnabled)return;await this.forceUIUpdate(),await b1(50)}accumulateBetActions(a){if(!this.betData)return;let e=new Set(this.betData.betActions.map((r)=>r.id)),i=a.betActions.filter((r)=>!e.has(r.id));this.betData={...a,betActions:[...this.betData.betActions,...i]}}onBuyInsurance=async()=>{if(this.stage!=="insurance")return;if(this.insuranceBetAmount=S(this.currentBetAmount).div(2).toString(),this.isDemoMode)this.gameData.updateBalance(S(this.gameData.balance).minus(this.insuranceBetAmount));await this.afterInsuranceDecision()};onDeclineInsurance=async()=>{if(this.stage!=="insurance")return;this.insuranceBetAmount="0",await this.afterInsuranceDecision()};afterInsuranceDecision=async()=>{if(this.betData&&d3(this.betData)){if(this.isDemoMode&&S(this.insuranceBetAmount).gt(0))this.gameData.updateBalance(S(this.gameData.balance).plus(S(this.insuranceBetAmount).mul(3)));this.revealDealerHole(),await this.finishRound()}else this.stage="player"};onHit=async()=>{if(this.stage!=="player"||this.actionBusy)return;if(this.isSplitRound){this.actionBusy=!0,this.controlsLocked=!0;try{let a=this.playerHands[this.activeHandIndex];if(!a)return;let e=this.randomUICard();a.cards=[...a.cards,e],this.playerHands=[...this.playerHands],this.playDealSound();let i=`p-${this.activeHandIndex}-${a.cards.length-1}`;if(await this.waitForCardDealComplete(i),this.handBestValue(a.cards)>=21)await this.advanceSplitHand()}finally{this.controlsLocked=!1,this.actionBusy=!1}return}if(!this.betData)return;this.actionBusy=!0,this.controlsLocked=!0;try{let a=await this.blackjackApi.next({betId:this.betData.id,type:"BLACKJACK_HIT"});if(!a.success){this.showError(a.error);return}this.accumulateBetActions(a.data);let e=$2(a.data);if(!e)return;let i=e.playerCards[e.playerCards.length-1],r=this.addPlayerCard(i);if(await this.waitForCardDealComplete(r),d3(a.data))await this.revealDealerCards(e),await this.finishRound()}finally{this.controlsLocked=!1,this.actionBusy=!1}};onStand=async()=>{if(this.stage!=="player"||this.actionBusy)return;if(this.isSplitRound){this.actionBusy=!0,this.controlsLocked=!0;try{await this.advanceSplitHand()}finally{this.controlsLocked=!1,this.actionBusy=!1}return}if(!this.betData)return;this.actionBusy=!0,this.controlsLocked=!0;try{let a=await this.blackjackApi.next({betId:this.betData.id,type:"BLACKJACK_STAND"});if(!a.success){this.showError(a.error);return}this.accumulateBetActions(a.data);let e=$2(a.data);if(!e)return;await this.revealDealerCards(e),await this.finishRound()}finally{this.controlsLocked=!1,this.actionBusy=!1}};onSplit=async()=>{if(this.stage!=="player"||this.actionBusy)return;if(this.playerHands.length>1)return;let a=this.playerHands[this.activeHandIndex];if(!a||a.cards.length!==2)return;if(this.cardValueForSplit(a.cards[0].rank)!==this.cardValueForSplit(a.cards[1].rank))return;this.actionBusy=!0,this.controlsLocked=!0;try{if(this.isDemoMode)this.gameData.updateBalance(S(this.gameData.balance).minus(this.currentBetAmount));let[e,i]=a.cards;this.playerHands=[{cards:[e]},{cards:[i]}],this.activeHandIndex=1,this.isSplitRound=!0,this.suppressNextContentAnimations=!0,await this.forceUIUpdate(),this.suppressNextContentAnimations=!1}finally{this.controlsLocked=!1,this.actionBusy=!1}};advanceSplitHand=async()=>{if(this.activeHandIndex>0){this.activeHandIndex=this.activeHandIndex-1;return}await this.dealerPlaySplitRound(),await this.finishSplitRound()};dealerPlaySplitRound=async()=>{this.stage="dealer";let a=this.randomUICard();this.dealerCards=this.dealerCards.map((e,i)=>i===1?{...a,faceDown:!1}:e),this.playFlipSound();try{await this.waitForCardDealComplete("d-1")}catch{}while(this.handBestValue(this.dealerCards)<17){let e=this.randomUICard(),i=this.addDealerCard(e);await this.waitForCardDealComplete(i)}};finishSplitRound=async()=>{let a=S(this.currentBetAmount),e=this.handBestValue(this.dealerCards),i=e>21,r=S(0),n=!1;for(let d of this.playerHands){let c=this.handBestValue(d.cards);if(c>21)continue;if(i||c>e)r=r.plus(a.mul(2)),n=!0;else if(c===e)r=r.plus(a)}if(this.isDemoMode)this.gameData.updateBalance(S(this.gameData.balance).plus(r));let t=a.mul(this.playerHands.length),l=t.gt(0)?r.div(t).toNumber():0,o=r.gt(t),s=this.betData?.id??crypto.randomUUID();if(this.addToHistory(l,o,s),this.betData)this.updateHistoryWithBet(this.betData);if(n)this.playWinFeedback();await this.waitForAllCardsToBeIdle(),this.resultMultiplier=l,await this.ensureMinimumDisplayTime(o,300,300),this.stage="settled",this.hasPendingBet=!1,this.isSplitRound=!1,this.insuranceBetAmount="0"};handBestValue=(a)=>{let e=0,i=0;for(let r of a)if(r.rank===1)i++,e+=1;else if(r.rank>=10)e+=10;else e+=r.rank;while(i>0&&e+10<=21)e+=10,i--;return e};randomUICard=()=>{let a=Math.floor(Math.random()*13)+1,i=["diamond","spade","club","heart"][Math.floor(Math.random()*4)]??"spade";return{rank:a,suit:i}};cardValueForSplit=(a)=>a>=10?10:a;settleSideBets=(a,e)=>{if(!this.isDemoMode)return;let i=S(0),r=S(this.perfectPairsAmount),n=S(this.twentyOnePlusThreeAmount);if(r.gt(0)){let t=this.evaluatePerfectPairs(a[0],a[1]);if(t>0)i=i.plus(r.mul(t))}if(n.gt(0)){let t=this.evaluateTwentyOnePlusThree(a[0],a[1],e);if(t>0)i=i.plus(n.mul(t))}if(i.gt(0))this.gameData.updateBalance(S(this.gameData.balance).plus(i))};evaluatePerfectPairs=(a,e)=>{if(a.rank!==e.rank)return 0;if(a.suit===e.suit)return 26;let i=(r)=>r==="diamond"||r==="heart";if(i(a.suit)===i(e.suit))return 13;return 6};evaluateTwentyOnePlusThree=(a,e,i)=>{let r=[a.rank,e.rank,i.rank],n=[a.suit,e.suit,i.suit],t=n[0]===n[1]&&n[1]===n[2];if(r[0]===r[1]&&r[1]===r[2])return t?101:31;let o=[...r].sort((m,h)=>m-h),s=o[2]-o[1]===1&&o[1]-o[0]===1,d=o[0]===1&&o[1]===12&&o[2]===13,c=s||d;if(c&&t)return 41;if(c)return 11;if(t)return 6;return 0};onBetModeChange=(a)=>{this.sideBetMode=a.detail.tab==="Auto"};onPerfectPairsAmountChange=(a)=>{this.perfectPairsAmount=a.detail.value};onTwentyOnePlusThreeAmountChange=(a)=>{this.twentyOnePlusThreeAmount=a.detail.value};onCardFlip=()=>{this.playFlipSound()};waitForCardDealComplete(a){if(this.gameData.instantBetEnabled)return Promise.resolve();return new Promise((e)=>{let i=(r)=>{let n=r.detail;if(!n||n.cardId!==a)return;this.removeEventListener("blackjack-card-dealt",i),e()};this.addEventListener("blackjack-card-dealt",i),b1(2000).then(()=>{this.removeEventListener("blackjack-card-dealt",i),e()})})}get canInteract(){return this.stage==="player"&&!this.controlsLocked&&!!this.betData}get canHit(){if(!this.canInteract)return!1;if(this.isSplitRound){let a=this.playerHands[this.activeHandIndex];return!!a&&this.handBestValue(a.cards)<21}return!0}get canStand(){return this.canInteract}get canDouble(){return!1}get canSplit(){if(!this.canInteract||this.playerHands.length>1)return!1;let a=this.playerHands[this.activeHandIndex];if(!a||a.cards.length!==2)return!1;return this.cardValueForSplit(a.cards[0].rank)===this.cardValueForSplit(a.cards[1].rank)}isSpacebarDisabled=()=>{if(!this.gameData?.hotkeysOpenEnabled)return!0;return this._blackjackManualEl?.shadowRoot?.querySelector("origami-button")?.disabled??!0};handleSpacebar=()=>{if(this.isSpacebarDisabled())return;this.blackjackPlay()};isHitDisabled=()=>{return!this.gameData?.hotkeysOpenEnabled||!this.canHit||this.stage!=="player"||this.actionBusy};handleHit=()=>{if(this.isHitDisabled())return;this.onHit()};isStandDisabled=()=>{return!this.gameData?.hotkeysOpenEnabled||!this.canStand||this.stage!=="player"||this.actionBusy};handleStand=()=>{if(this.isStandDisabled())return;this.onStand()};isSplitDisabled=()=>{return!this.gameData?.hotkeysOpenEnabled||!this.canSplit||this.stage!=="player"||this.actionBusy};handleSplit=()=>{if(this.isSplitDisabled())return;this.onSplit()};isDoubleDisabled=()=>!0;isAcceptInsuranceDisabled=()=>{return!this.gameData?.hotkeysOpenEnabled||this.stage!=="insurance"};handleAcceptInsurance=()=>{if(this.isAcceptInsuranceDisabled())return;this.onBuyInsurance()};isNoInsuranceDisabled=()=>{return!this.gameData?.hotkeysOpenEnabled||this.stage!=="insurance"};handleNoInsurance=()=>{if(this.isNoInsuranceDisabled())return;this.onDeclineInsurance()};constructor(){super();this.isManualPlaying=!1;this.resultMultiplier=null;this.history=[];this.stage="idle";this.dealerCards=[];this.playerHands=[];this.activeHandIndex=0;this.controlsLocked=!1;this.suppressNextContentAnimations=!1;this.sideBetMode=!1;this.perfectPairsAmount="0";this.twentyOnePlusThreeAmount="0";new E1(this,[{key:" ",callback:this.handleSpacebar.bind(this),options:{repeat:!0,repeatInterval:200,disabled:this.isSpacebarDisabled}},{key:"q",callback:this.handleHit.bind(this),options:{disabled:this.isHitDisabled}},{key:"w",callback:this.handleStand.bind(this),options:{disabled:this.isStandDisabled}},{key:"e",callback:this.handleSplit.bind(this),options:{disabled:this.isSplitDisabled}},{key:"r",callback:()=>{},options:{disabled:this.isDoubleDisabled}},{key:"t",callback:this.handleAcceptInsurance.bind(this),options:{disabled:this.isAcceptInsuranceDisabled}},{key:"y",callback:this.handleNoInsurance.bind(this),options:{disabled:this.isNoInsuranceDisabled}}])}render(){let a=this.gameData?.mainWidth>=768,e=this.stage!=="idle"&&this.stage!=="settled",i=this.areInputsDisabled||e,r=J1(this.gameData);return Z`
|
|
15745
15745
|
<origami-game-layout style=${r} .gameType=${"BLACKJACK"} data-is-desktop=${a}>
|
|
15746
15746
|
<origami-game-sidebar
|
|
15747
15747
|
slot="control-panel"
|