UNPKG

@esotericsoftware/spine-core

Version:
1 lines 159 kB
"use strict";var Xs=Object.defineProperty,Fs=(e,t,s)=>t in e?Xs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,V=(e,t,s)=>(Fs(e,typeof t!="symbol"?t+"":t,s),s),Es=class{array=new Array;add(e){let t=this.contains(e);return this.array[e|0]=e|0,!t}contains(e){return this.array[e|0]!=null}remove(e){this.array[e|0]=void 0}clear(){this.array.length=0}},tt=class{entries={};size=0;add(e){let t=this.entries[e];return this.entries[e]=!0,t?!1:(this.size++,!0)}addAll(e){let t=this.size;for(var s=0,r=e.length;s<r;s++)this.add(e[s]);return t!=this.size}contains(e){return this.entries[e]}clear(){this.entries={},this.size=0}},be=class{constructor(e=0,t=0,s=0,r=0){this.r=e,this.g=t,this.b=s,this.a=r}set(e,t,s,r){return this.r=e,this.g=t,this.b=s,this.a=r,this.clamp()}setFromColor(e){return this.r=e.r,this.g=e.g,this.b=e.b,this.a=e.a,this}setFromString(e){return e=e.charAt(0)=="#"?e.substr(1):e,this.r=parseInt(e.substr(0,2),16)/255,this.g=parseInt(e.substr(2,2),16)/255,this.b=parseInt(e.substr(4,2),16)/255,this.a=e.length!=8?1:parseInt(e.substr(6,2),16)/255,this}add(e,t,s,r){return this.r+=e,this.g+=t,this.b+=s,this.a+=r,this.clamp()}clamp(){return this.r<0?this.r=0:this.r>1&&(this.r=1),this.g<0?this.g=0:this.g>1&&(this.g=1),this.b<0?this.b=0:this.b>1&&(this.b=1),this.a<0?this.a=0:this.a>1&&(this.a=1),this}static rgba8888ToColor(e,t){e.r=((t&4278190080)>>>24)/255,e.g=((t&16711680)>>>16)/255,e.b=((t&65280)>>>8)/255,e.a=(t&255)/255}static rgb888ToColor(e,t){e.r=((t&16711680)>>>16)/255,e.g=((t&65280)>>>8)/255,e.b=(t&255)/255}toRgb888(){const e=t=>("0"+(t*255).toString(16)).slice(-2);return Number("0x"+e(this.r)+e(this.g)+e(this.b))}static fromString(e){return new be().setFromString(e)}},D=be;V(D,"WHITE",new be(1,1,1,1)),V(D,"RED",new be(1,0,0,1)),V(D,"GREEN",new be(0,1,0,1)),V(D,"BLUE",new be(0,0,1,1)),V(D,"MAGENTA",new be(1,0,1,1));var ae=class{static clamp(e,t,s){return e<t?t:e>s?s:e}static cosDeg(e){return Math.cos(e*ae.degRad)}static sinDeg(e){return Math.sin(e*ae.degRad)}static atan2Deg(e,t){return Math.atan2(e,t)*ae.degRad}static signum(e){return e>0?1:e<0?-1:0}static toInt(e){return e>0?Math.floor(e):Math.ceil(e)}static cbrt(e){let t=Math.pow(Math.abs(e),.3333333333333333);return e<0?-t:t}static randomTriangular(e,t){return ae.randomTriangularWith(e,t,(e+t)*.5)}static randomTriangularWith(e,t,s){let r=Math.random(),n=t-e;return r<=(s-e)/n?e+Math.sqrt(r*n*(s-e)):t-Math.sqrt((1-r)*n*(t-s))}static isPowerOfTwo(e){return e&&(e&e-1)===0}},F=ae;V(F,"PI",3.1415927),V(F,"PI2",ae.PI*2),V(F,"invPI2",1/ae.PI2),V(F,"radiansToDegrees",180/ae.PI),V(F,"radDeg",ae.radiansToDegrees),V(F,"degreesToRadians",ae.PI/180),V(F,"degRad",ae.degreesToRadians);var ss=class{apply(e,t,s){return e+(t-e)*this.applyInternal(s)}},is=class extends ss{power=2;constructor(e){super(),this.power=e}applyInternal(e){return e<=.5?Math.pow(e*2,this.power)/2:Math.pow((e-1)*2,this.power)/(this.power%2==0?-2:2)+1}},Rs=class extends is{constructor(e){super(e)}applyInternal(e){return Math.pow(e-1,this.power)*(this.power%2==0?-1:1)+1}},ve=class{static arrayCopy(e,t,s,r,n){for(let h=t,o=r;h<t+n;h++,o++)s[o]=e[h]}static arrayFill(e,t,s,r){for(let n=t;n<s;n++)e[n]=r}static setArraySize(e,t,s=0){let r=e.length;if(r==t)return e;if(e.length=t,r<t)for(let n=r;n<t;n++)e[n]=s;return e}static ensureArrayCapacity(e,t,s=0){return e.length>=t?e:ve.setArraySize(e,t,s)}static newArray(e,t){let s=new Array(e);for(let r=0;r<e;r++)s[r]=t;return s}static newFloatArray(e){if(ve.SUPPORTS_TYPED_ARRAYS)return new Float32Array(e);{let t=new Array(e);for(let s=0;s<t.length;s++)t[s]=0;return t}}static newShortArray(e){if(ve.SUPPORTS_TYPED_ARRAYS)return new Int16Array(e);{let t=new Array(e);for(let s=0;s<t.length;s++)t[s]=0;return t}}static toFloatArray(e){return ve.SUPPORTS_TYPED_ARRAYS?new Float32Array(e):e}static toSinglePrecision(e){return ve.SUPPORTS_TYPED_ARRAYS?Math.fround(e):e}static webkit602BugfixHelper(e,t){}static contains(e,t,s=!0){for(var r=0;r<e.length;r++)if(e[r]==t)return!0;return!1}static enumValue(e,t){return e[t[0].toUpperCase()+t.slice(1)]}},R=ve;V(R,"SUPPORTS_TYPED_ARRAYS",typeof Float32Array<"u");var Ps=class{static logBones(e){for(let t=0;t<e.bones.length;t++){let s=e.bones[t];console.log(s.data.name+", "+s.a+", "+s.b+", "+s.c+", "+s.d+", "+s.worldX+", "+s.worldY)}}},Me=class{items=new Array;instantiator;constructor(e){this.instantiator=e}obtain(){return this.items.length>0?this.items.pop():this.instantiator()}free(e){e.reset&&e.reset(),this.items.push(e)}freeAll(e){for(let t=0;t<e.length;t++)this.free(e[t])}clear(){this.items.length=0}},Ve=class{constructor(e=0,t=0){this.x=e,this.y=t}set(e,t){return this.x=e,this.y=t,this}length(){let e=this.x,t=this.y;return Math.sqrt(e*e+t*t)}normalize(){let e=this.length();return e!=0&&(this.x/=e,this.y/=e),this}},Bs=class{maxDelta=.064;framesPerSecond=0;delta=0;totalTime=0;lastTime=Date.now()/1e3;frameCount=0;frameTime=0;update(){let e=Date.now()/1e3;this.delta=e-this.lastTime,this.frameTime+=this.delta,this.totalTime+=this.delta,this.delta>this.maxDelta&&(this.delta=this.maxDelta),this.lastTime=e,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)}},Vs=class{values;addedValues=0;lastValue=0;mean=0;dirty=!0;constructor(e=32){this.values=new Array(e)}hasEnoughData(){return this.addedValues>=this.values.length}addValue(e){this.addedValues<this.values.length&&this.addedValues++,this.values[this.lastValue++]=e,this.lastValue>this.values.length-1&&(this.lastValue=0),this.dirty=!0}getMean(){if(this.hasEnoughData()){if(this.dirty){let e=0;for(let t=0;t<this.values.length;t++)e+=this.values[t];this.mean=e/this.values.length,this.dirty=!1}return this.mean}return 0}},st=class{name;constructor(e){if(!e)throw new Error("name cannot be null.");this.name=e}},rs=class extends st{id=rs.nextID++;bones=null;vertices=[];worldVerticesLength=0;timelineAttachment=this;constructor(e){super(e)}computeWorldVertices(e,t,s,r,n,h){s=n+(s>>1)*h;let o=e.bone.skeleton,i=e.deform,l=this.vertices,a=this.bones;if(!a){i.length>0&&(l=i);let f=e.bone,m=f.worldX,x=f.worldY,p=f.a,w=f.b,g=f.c,b=f.d;for(let v=t,y=n;y<s;v+=2,y+=h){let S=l[v],A=l[v+1];r[y]=S*p+A*w+m,r[y+1]=S*g+A*b+x}return}let c=0,u=0;for(let f=0;f<t;f+=2){let m=a[c];c+=m+1,u+=m}let d=o.bones;if(i.length==0)for(let f=n,m=u*3;f<s;f+=h){let x=0,p=0,w=a[c++];for(w+=c;c<w;c++,m+=3){let g=d[a[c]],b=l[m],v=l[m+1],y=l[m+2];x+=(b*g.a+v*g.b+g.worldX)*y,p+=(b*g.c+v*g.d+g.worldY)*y}r[f]=x,r[f+1]=p}else{let f=i;for(let m=n,x=u*3,p=u<<1;m<s;m+=h){let w=0,g=0,b=a[c++];for(b+=c;c<b;c++,x+=3,p+=2){let v=d[a[c]],y=l[x]+f[p],S=l[x+1]+f[p+1],A=l[x+2];w+=(y*v.a+S*v.b+v.worldX)*A,g+=(y*v.c+S*v.d+v.worldY)*A}r[m]=w,r[m+1]=g}}}copyTo(e){this.bones?(e.bones=new Array(this.bones.length),R.arrayCopy(this.bones,0,e.bones,0,this.bones.length)):e.bones=null,this.vertices&&(e.vertices=R.newFloatArray(this.vertices.length),R.arrayCopy(this.vertices,0,e.vertices,0,this.vertices.length)),e.worldVerticesLength=this.worldVerticesLength,e.timelineAttachment=this.timelineAttachment}},le=rs;V(le,"nextID",0);var Le=class{id=Le.nextID();regions;start=0;digits=0;setupIndex=0;constructor(e){this.regions=new Array(e)}copy(){let e=new Le(this.regions.length);return R.arrayCopy(this.regions,0,e.regions,0,this.regions.length),e.start=this.start,e.digits=this.digits,e.setupIndex=this.setupIndex,e}apply(e,t){let s=e.sequenceIndex;s==-1&&(s=this.setupIndex),s>=this.regions.length&&(s=this.regions.length-1);let r=this.regions[s];t.region!=r&&(t.region=r,t.updateRegion())}getPath(e,t){let s=e,r=(this.start+t).toString();for(let n=this.digits-r.length;n>0;n--)s+="0";return s+=r,s}static nextID(){return Le._nextID++}},it=Le;V(it,"_nextID",0);var ns=(e=>(e[e.hold=0]="hold",e[e.once=1]="once",e[e.loop=2]="loop",e[e.pingpong=3]="pingpong",e[e.onceReverse=4]="onceReverse",e[e.loopReverse=5]="loopReverse",e[e.pingpongReverse=6]="pingpongReverse",e))(ns||{}),as=[0,1,2,3,4,5,6],Ne=class{name;timelines=[];timelineIds=new tt;duration;constructor(e,t,s){if(!e)throw new Error("name cannot be null.");this.name=e,this.setTimelines(t),this.duration=s}setTimelines(e){if(!e)throw new Error("timelines cannot be null.");this.timelines=e,this.timelineIds.clear();for(var t=0;t<e.length;t++)this.timelineIds.addAll(e[t].getPropertyIds())}hasTimeline(e){for(let t=0;t<e.length;t++)if(this.timelineIds.contains(e[t]))return!0;return!1}apply(e,t,s,r,n,h,o,i){if(!e)throw new Error("skeleton cannot be null.");r&&this.duration!=0&&(s%=this.duration,t>0&&(t%=this.duration));let l=this.timelines;for(let a=0,c=l.length;a<c;a++)l[a].apply(e,t,s,n,h,o,i)}},ls=(e=>(e[e.setup=0]="setup",e[e.first=1]="first",e[e.replace=2]="replace",e[e.add=3]="add",e))(ls||{}),os=(e=>(e[e.mixIn=0]="mixIn",e[e.mixOut=1]="mixOut",e))(os||{}),O={rotate:0,x:1,y:2,scaleX:3,scaleY:4,shearX:5,shearY:6,inherit:7,rgb:8,alpha:9,rgb2:10,attachment:11,deform:12,event:13,drawOrder:14,ikConstraint:15,transformConstraint:16,pathConstraintPosition:17,pathConstraintSpacing:18,pathConstraintMix:19,physicsConstraintInertia:20,physicsConstraintStrength:21,physicsConstraintDamping:22,physicsConstraintMass:23,physicsConstraintWind:24,physicsConstraintGravity:25,physicsConstraintMix:26,physicsConstraintReset:27,sequence:28},J=class{propertyIds;frames;constructor(e,t){this.propertyIds=t,this.frames=R.newFloatArray(e*this.getFrameEntries())}getPropertyIds(){return this.propertyIds}getFrameEntries(){return 1}getFrameCount(){return this.frames.length/this.getFrameEntries()}getDuration(){return this.frames[this.frames.length-this.getFrameEntries()]}static search1(e,t){let s=e.length;for(let r=1;r<s;r++)if(e[r]>t)return r-1;return s-1}static search(e,t,s){let r=e.length;for(let n=s;n<r;n+=s)if(e[n]>t)return n-s;return r-s}},oe=class extends J{curves;constructor(e,t,s){super(e,s),this.curves=R.newFloatArray(e+t*18),this.curves[e-1]=1}setLinear(e){this.curves[e]=0}setStepped(e){this.curves[e]=1}shrink(e){let t=this.getFrameCount()+e*18;if(this.curves.length>t){let s=R.newFloatArray(t);R.arrayCopy(this.curves,0,s,0,t),this.curves=s}}setBezier(e,t,s,r,n,h,o,i,l,a,c){let u=this.curves,d=this.getFrameCount()+e*18;s==0&&(u[t]=2+d);let f=(r-h*2+i)*.03,m=(n-o*2+l)*.03,x=((h-i)*3-r+a)*.006,p=((o-l)*3-n+c)*.006,w=f*2+x,g=m*2+p,b=(h-r)*.3+f+x*.16666667,v=(o-n)*.3+m+p*.16666667,y=r+b,S=n+v;for(let A=d+18;d<A;d+=2)u[d]=y,u[d+1]=S,b+=w,v+=g,w+=x,g+=p,y+=b,S+=v}getBezierValue(e,t,s,r){let n=this.curves;if(n[r]>e){let l=this.frames[t],a=this.frames[t+s];return a+(e-l)/(n[r]-l)*(n[r+1]-a)}let h=r+18;for(r+=2;r<h;r+=2)if(n[r]>=e){let l=n[r-2],a=n[r-1];return a+(e-l)/(n[r]-l)*(n[r+1]-a)}t+=this.getFrameEntries();let o=n[h-2],i=n[h-1];return i+(e-o)/(this.frames[t]-o)*(this.frames[t+s]-i)}},ne=class extends oe{constructor(e,t,s){super(e,t,[s])}getFrameEntries(){return 2}setFrame(e,t,s){e<<=1,this.frames[e]=t,this.frames[e+1]=s}getCurveValue(e){let t=this.frames,s=t.length-2;for(let n=2;n<=s;n+=2)if(t[n]>e){s=n-2;break}let r=this.curves[s>>1];switch(r){case 0:let n=t[s],h=t[s+1];return h+(e-n)/(t[s+2]-n)*(t[s+2+1]-h);case 1:return t[s+1]}return this.getBezierValue(e,s,1,r-2)}getRelativeValue(e,t,s,r,n){if(e<this.frames[0]){switch(s){case 0:return n;case 1:return r+(n-r)*t}return r}let h=this.getCurveValue(e);switch(s){case 0:return n+h*t;case 1:case 2:h+=n-r}return r+h*t}getAbsoluteValue(e,t,s,r,n){if(e<this.frames[0]){switch(s){case 0:return n;case 1:return r+(n-r)*t}return r}let h=this.getCurveValue(e);return s==0?n+(h-n)*t:r+(h-r)*t}getAbsoluteValue2(e,t,s,r,n,h){if(e<this.frames[0]){switch(s){case 0:return n;case 1:return r+(n-r)*t}return r}return s==0?n+(h-n)*t:r+(h-r)*t}getScaleValue(e,t,s,r,n,h){const o=this.frames;if(e<o[0]){switch(s){case 0:return h;case 1:return n+(h-n)*t}return n}let i=this.getCurveValue(e)*h;if(t==1)return s==3?n+i-h:i;if(r==1)switch(s){case 0:return h+(Math.abs(i)*F.signum(h)-h)*t;case 1:case 2:return n+(Math.abs(i)*F.signum(n)-n)*t}else{let l=0;switch(s){case 0:return l=Math.abs(h)*F.signum(i),l+(i-l)*t;case 1:case 2:return l=Math.abs(n)*F.signum(i),l+(i-l)*t}}return n+(i-h)*t}},De=class extends oe{constructor(e,t,s,r){super(e,t,[s,r])}getFrameEntries(){return 3}setFrame(e,t,s,r){e*=3,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r}},Te=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.rotate+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,o){let i=e.bones[this.boneIndex];i.active&&(i.rotation=this.getRelativeValue(s,n,h,i.rotation,i.data.rotation))}},rt=class extends De{boneIndex=0;constructor(e,t,s){super(e,t,O.x+"|"+s,O.y+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,o){let i=e.bones[this.boneIndex];if(!i.active)return;let l=this.frames;if(s<l[0]){switch(h){case 0:i.x=i.data.x,i.y=i.data.y;return;case 1:i.x+=(i.data.x-i.x)*n,i.y+=(i.data.y-i.y)*n}return}let a=0,c=0,u=J.search(l,s,3),d=this.curves[u/3];switch(d){case 0:let f=l[u];a=l[u+1],c=l[u+2];let m=(s-f)/(l[u+3]-f);a+=(l[u+3+1]-a)*m,c+=(l[u+3+2]-c)*m;break;case 1:a=l[u+1],c=l[u+2];break;default:a=this.getBezierValue(s,u,1,d-2),c=this.getBezierValue(s,u,2,d+18-2)}switch(h){case 0:i.x=i.data.x+a*n,i.y=i.data.y+c*n;break;case 1:case 2:i.x+=(i.data.x+a-i.x)*n,i.y+=(i.data.y+c-i.y)*n;break;case 3:i.x+=a*n,i.y+=c*n}}},nt=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.x+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,o){let i=e.bones[this.boneIndex];i.active&&(i.x=this.getRelativeValue(s,n,h,i.x,i.data.x))}},at=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.y+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,o){let i=e.bones[this.boneIndex];i.active&&(i.y=this.getRelativeValue(s,n,h,i.y,i.data.y))}},lt=class extends De{boneIndex=0;constructor(e,t,s){super(e,t,O.scaleX+"|"+s,O.scaleY+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,o){let i=e.bones[this.boneIndex];if(!i.active)return;let l=this.frames;if(s<l[0]){switch(h){case 0:i.scaleX=i.data.scaleX,i.scaleY=i.data.scaleY;return;case 1:i.scaleX+=(i.data.scaleX-i.scaleX)*n,i.scaleY+=(i.data.scaleY-i.scaleY)*n}return}let a,c,u=J.search(l,s,3),d=this.curves[u/3];switch(d){case 0:let f=l[u];a=l[u+1],c=l[u+2];let m=(s-f)/(l[u+3]-f);a+=(l[u+3+1]-a)*m,c+=(l[u+3+2]-c)*m;break;case 1:a=l[u+1],c=l[u+2];break;default:a=this.getBezierValue(s,u,1,d-2),c=this.getBezierValue(s,u,2,d+18-2)}if(a*=i.data.scaleX,c*=i.data.scaleY,n==1)h==3?(i.scaleX+=a-i.data.scaleX,i.scaleY+=c-i.data.scaleY):(i.scaleX=a,i.scaleY=c);else{let f=0,m=0;if(o==1)switch(h){case 0:f=i.data.scaleX,m=i.data.scaleY,i.scaleX=f+(Math.abs(a)*F.signum(f)-f)*n,i.scaleY=m+(Math.abs(c)*F.signum(m)-m)*n;break;case 1:case 2:f=i.scaleX,m=i.scaleY,i.scaleX=f+(Math.abs(a)*F.signum(f)-f)*n,i.scaleY=m+(Math.abs(c)*F.signum(m)-m)*n;break;case 3:i.scaleX+=(a-i.data.scaleX)*n,i.scaleY+=(c-i.data.scaleY)*n}else switch(h){case 0:f=Math.abs(i.data.scaleX)*F.signum(a),m=Math.abs(i.data.scaleY)*F.signum(c),i.scaleX=f+(a-f)*n,i.scaleY=m+(c-m)*n;break;case 1:case 2:f=Math.abs(i.scaleX)*F.signum(a),m=Math.abs(i.scaleY)*F.signum(c),i.scaleX=f+(a-f)*n,i.scaleY=m+(c-m)*n;break;case 3:i.scaleX+=(a-i.data.scaleX)*n,i.scaleY+=(c-i.data.scaleY)*n}}}},ot=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.scaleX+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,o){let i=e.bones[this.boneIndex];i.active&&(i.scaleX=this.getScaleValue(s,n,h,o,i.scaleX,i.data.scaleX))}},ht=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.scaleY+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,o){let i=e.bones[this.boneIndex];i.active&&(i.scaleY=this.getScaleValue(s,n,h,o,i.scaleY,i.data.scaleY))}},ct=class extends De{boneIndex=0;constructor(e,t,s){super(e,t,O.shearX+"|"+s,O.shearY+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,o){let i=e.bones[this.boneIndex];if(!i.active)return;let l=this.frames;if(s<l[0]){switch(h){case 0:i.shearX=i.data.shearX,i.shearY=i.data.shearY;return;case 1:i.shearX+=(i.data.shearX-i.shearX)*n,i.shearY+=(i.data.shearY-i.shearY)*n}return}let a=0,c=0,u=J.search(l,s,3),d=this.curves[u/3];switch(d){case 0:let f=l[u];a=l[u+1],c=l[u+2];let m=(s-f)/(l[u+3]-f);a+=(l[u+3+1]-a)*m,c+=(l[u+3+2]-c)*m;break;case 1:a=l[u+1],c=l[u+2];break;default:a=this.getBezierValue(s,u,1,d-2),c=this.getBezierValue(s,u,2,d+18-2)}switch(h){case 0:i.shearX=i.data.shearX+a*n,i.shearY=i.data.shearY+c*n;break;case 1:case 2:i.shearX+=(i.data.shearX+a-i.shearX)*n,i.shearY+=(i.data.shearY+c-i.shearY)*n;break;case 3:i.shearX+=a*n,i.shearY+=c*n}}},dt=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.shearX+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,o){let i=e.bones[this.boneIndex];i.active&&(i.shearX=this.getRelativeValue(s,n,h,i.shearX,i.data.shearX))}},ft=class extends ne{boneIndex=0;constructor(e,t,s){super(e,t,O.shearY+"|"+s),this.boneIndex=s}apply(e,t,s,r,n,h,o){let i=e.bones[this.boneIndex];i.active&&(i.shearY=this.getRelativeValue(s,n,h,i.shearY,i.data.shearY))}},ut=class extends J{boneIndex=0;constructor(e,t){super(e,[O.inherit+"|"+t]),this.boneIndex=t}getFrameEntries(){return 2}setFrame(e,t,s){e*=2,this.frames[e]=t,this.frames[e+1]=s}apply(e,t,s,r,n,h,o){let i=e.bones[this.boneIndex];if(!i.active)return;if(o==1){h==0&&(i.inherit=i.data.inherit);return}let l=this.frames;if(s<l[0]){(h==0||h==1)&&(i.inherit=i.data.inherit);return}i.inherit=this.frames[J.search(l,s,2)+1]}},mt=class extends oe{slotIndex=0;constructor(e,t,s){super(e,t,[O.rgb+"|"+s,O.alpha+"|"+s]),this.slotIndex=s}getFrameEntries(){return 5}setFrame(e,t,s,r,n,h){e*=5,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=n,this.frames[e+4]=h}apply(e,t,s,r,n,h,o){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=this.frames,a=i.color;if(s<l[0]){let p=i.data.color;switch(h){case 0:a.setFromColor(p);return;case 1:a.add((p.r-a.r)*n,(p.g-a.g)*n,(p.b-a.b)*n,(p.a-a.a)*n)}return}let c=0,u=0,d=0,f=0,m=J.search(l,s,5),x=this.curves[m/5];switch(x){case 0:let p=l[m];c=l[m+1],u=l[m+2],d=l[m+3],f=l[m+4];let w=(s-p)/(l[m+5]-p);c+=(l[m+5+1]-c)*w,u+=(l[m+5+2]-u)*w,d+=(l[m+5+3]-d)*w,f+=(l[m+5+4]-f)*w;break;case 1:c=l[m+1],u=l[m+2],d=l[m+3],f=l[m+4];break;default:c=this.getBezierValue(s,m,1,x-2),u=this.getBezierValue(s,m,2,x+18-2),d=this.getBezierValue(s,m,3,x+18*2-2),f=this.getBezierValue(s,m,4,x+18*3-2)}n==1?a.set(c,u,d,f):(h==0&&a.setFromColor(i.data.color),a.add((c-a.r)*n,(u-a.g)*n,(d-a.b)*n,(f-a.a)*n))}},gt=class extends oe{slotIndex=0;constructor(e,t,s){super(e,t,[O.rgb+"|"+s]),this.slotIndex=s}getFrameEntries(){return 4}setFrame(e,t,s,r,n){e<<=2,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=n}apply(e,t,s,r,n,h,o){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=this.frames,a=i.color;if(s<l[0]){let x=i.data.color;switch(h){case 0:a.r=x.r,a.g=x.g,a.b=x.b;return;case 1:a.r+=(x.r-a.r)*n,a.g+=(x.g-a.g)*n,a.b+=(x.b-a.b)*n}return}let c=0,u=0,d=0,f=J.search(l,s,4),m=this.curves[f>>2];switch(m){case 0:let x=l[f];c=l[f+1],u=l[f+2],d=l[f+3];let p=(s-x)/(l[f+4]-x);c+=(l[f+4+1]-c)*p,u+=(l[f+4+2]-u)*p,d+=(l[f+4+3]-d)*p;break;case 1:c=l[f+1],u=l[f+2],d=l[f+3];break;default:c=this.getBezierValue(s,f,1,m-2),u=this.getBezierValue(s,f,2,m+18-2),d=this.getBezierValue(s,f,3,m+18*2-2)}if(n==1)a.r=c,a.g=u,a.b=d;else{if(h==0){let x=i.data.color;a.r=x.r,a.g=x.g,a.b=x.b}a.r+=(c-a.r)*n,a.g+=(u-a.g)*n,a.b+=(d-a.b)*n}}},xt=class extends ne{slotIndex=0;constructor(e,t,s){super(e,t,O.alpha+"|"+s),this.slotIndex=s}apply(e,t,s,r,n,h,o){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=i.color;if(s<this.frames[0]){let c=i.data.color;switch(h){case 0:l.a=c.a;return;case 1:l.a+=(c.a-l.a)*n}return}let a=this.getCurveValue(s);n==1?l.a=a:(h==0&&(l.a=i.data.color.a),l.a+=(a-l.a)*n)}},bt=class extends oe{slotIndex=0;constructor(e,t,s){super(e,t,[O.rgb+"|"+s,O.alpha+"|"+s,O.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 8}setFrame(e,t,s,r,n,h,o,i,l){e<<=3,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=n,this.frames[e+4]=h,this.frames[e+5]=o,this.frames[e+6]=i,this.frames[e+7]=l}apply(e,t,s,r,n,h,o){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=this.frames,a=i.color,c=i.darkColor;if(s<l[0]){let v=i.data.color,y=i.data.darkColor;switch(h){case 0:a.setFromColor(v),c.r=y.r,c.g=y.g,c.b=y.b;return;case 1:a.add((v.r-a.r)*n,(v.g-a.g)*n,(v.b-a.b)*n,(v.a-a.a)*n),c.r+=(y.r-c.r)*n,c.g+=(y.g-c.g)*n,c.b+=(y.b-c.b)*n}return}let u=0,d=0,f=0,m=0,x=0,p=0,w=0,g=J.search(l,s,8),b=this.curves[g>>3];switch(b){case 0:let v=l[g];u=l[g+1],d=l[g+2],f=l[g+3],m=l[g+4],x=l[g+5],p=l[g+6],w=l[g+7];let y=(s-v)/(l[g+8]-v);u+=(l[g+8+1]-u)*y,d+=(l[g+8+2]-d)*y,f+=(l[g+8+3]-f)*y,m+=(l[g+8+4]-m)*y,x+=(l[g+8+5]-x)*y,p+=(l[g+8+6]-p)*y,w+=(l[g+8+7]-w)*y;break;case 1:u=l[g+1],d=l[g+2],f=l[g+3],m=l[g+4],x=l[g+5],p=l[g+6],w=l[g+7];break;default:u=this.getBezierValue(s,g,1,b-2),d=this.getBezierValue(s,g,2,b+18-2),f=this.getBezierValue(s,g,3,b+18*2-2),m=this.getBezierValue(s,g,4,b+18*3-2),x=this.getBezierValue(s,g,5,b+18*4-2),p=this.getBezierValue(s,g,6,b+18*5-2),w=this.getBezierValue(s,g,7,b+18*6-2)}if(n==1)a.set(u,d,f,m),c.r=x,c.g=p,c.b=w;else{if(h==0){a.setFromColor(i.data.color);let v=i.data.darkColor;c.r=v.r,c.g=v.g,c.b=v.b}a.add((u-a.r)*n,(d-a.g)*n,(f-a.b)*n,(m-a.a)*n),c.r+=(x-c.r)*n,c.g+=(p-c.g)*n,c.b+=(w-c.b)*n}}},wt=class extends oe{slotIndex=0;constructor(e,t,s){super(e,t,[O.rgb+"|"+s,O.rgb2+"|"+s]),this.slotIndex=s}getFrameEntries(){return 7}setFrame(e,t,s,r,n,h,o,i){e*=7,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=n,this.frames[e+4]=h,this.frames[e+5]=o,this.frames[e+6]=i}apply(e,t,s,r,n,h,o){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=this.frames,a=i.color,c=i.darkColor;if(s<l[0]){let v=i.data.color,y=i.data.darkColor;switch(h){case 0:a.r=v.r,a.g=v.g,a.b=v.b,c.r=y.r,c.g=y.g,c.b=y.b;return;case 1:a.r+=(v.r-a.r)*n,a.g+=(v.g-a.g)*n,a.b+=(v.b-a.b)*n,c.r+=(y.r-c.r)*n,c.g+=(y.g-c.g)*n,c.b+=(y.b-c.b)*n}return}let u=0,d=0,f=0,m=0,x=0,p=0,w=0,g=J.search(l,s,7),b=this.curves[g/7];switch(b){case 0:let v=l[g];u=l[g+1],d=l[g+2],f=l[g+3],x=l[g+4],p=l[g+5],w=l[g+6];let y=(s-v)/(l[g+7]-v);u+=(l[g+7+1]-u)*y,d+=(l[g+7+2]-d)*y,f+=(l[g+7+3]-f)*y,x+=(l[g+7+4]-x)*y,p+=(l[g+7+5]-p)*y,w+=(l[g+7+6]-w)*y;break;case 1:u=l[g+1],d=l[g+2],f=l[g+3],x=l[g+4],p=l[g+5],w=l[g+6];break;default:u=this.getBezierValue(s,g,1,b-2),d=this.getBezierValue(s,g,2,b+18-2),f=this.getBezierValue(s,g,3,b+18*2-2),x=this.getBezierValue(s,g,4,b+18*3-2),p=this.getBezierValue(s,g,5,b+18*4-2),w=this.getBezierValue(s,g,6,b+18*5-2)}if(n==1)a.r=u,a.g=d,a.b=f,c.r=x,c.g=p,c.b=w;else{if(h==0){let v=i.data.color,y=i.data.darkColor;a.r=v.r,a.g=v.g,a.b=v.b,c.r=y.r,c.g=y.g,c.b=y.b}a.r+=(u-a.r)*n,a.g+=(d-a.g)*n,a.b+=(f-a.b)*n,c.r+=(x-c.r)*n,c.g+=(p-c.g)*n,c.b+=(w-c.b)*n}}},we=class extends J{slotIndex=0;attachmentNames;constructor(e,t){super(e,[O.attachment+"|"+t]),this.slotIndex=t,this.attachmentNames=new Array(e)}getFrameCount(){return this.frames.length}setFrame(e,t,s){this.frames[e]=t,this.attachmentNames[e]=s}apply(e,t,s,r,n,h,o){let i=e.slots[this.slotIndex];if(i.bone.active){if(o==1){h==0&&this.setAttachment(e,i,i.data.attachmentName);return}if(s<this.frames[0]){(h==0||h==1)&&this.setAttachment(e,i,i.data.attachmentName);return}this.setAttachment(e,i,this.attachmentNames[J.search1(this.frames,s)])}}setAttachment(e,t,s){t.setAttachment(s?e.getAttachment(this.slotIndex,s):null)}},pt=class extends oe{slotIndex=0;attachment;vertices;constructor(e,t,s,r){super(e,t,[O.deform+"|"+s+"|"+r.id]),this.slotIndex=s,this.attachment=r,this.vertices=new Array(e)}getFrameCount(){return this.frames.length}setFrame(e,t,s){this.frames[e]=t,this.vertices[e]=s}setBezier(e,t,s,r,n,h,o,i,l,a,c){let u=this.curves,d=this.getFrameCount()+e*18;s==0&&(u[t]=2+d);let f=(r-h*2+i)*.03,m=l*.03-o*.06,x=((h-i)*3-r+a)*.006,p=(o-l+.33333333)*.018,w=f*2+x,g=m*2+p,b=(h-r)*.3+f+x*.16666667,v=o*.3+m+p*.16666667,y=r+b,S=v;for(let A=d+18;d<A;d+=2)u[d]=y,u[d+1]=S,b+=w,v+=g,w+=x,g+=p,y+=b,S+=v}getCurvePercent(e,t){let s=this.curves,r=s[t];switch(r){case 0:let i=this.frames[t];return(e-i)/(this.frames[t+this.getFrameEntries()]-i);case 1:return 0}if(r-=2,s[r]>e){let i=this.frames[t];return s[r+1]*(e-i)/(s[r]-i)}let n=r+18;for(r+=2;r<n;r+=2)if(s[r]>=e){let i=s[r-2],l=s[r-1];return l+(e-i)/(s[r]-i)*(s[r+1]-l)}let h=s[n-2],o=s[n-1];return o+(1-o)*(e-h)/(this.frames[t+this.getFrameEntries()]-h)}apply(e,t,s,r,n,h,o){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=i.getAttachment();if(!l||!(l instanceof le)||l.timelineAttachment!=this.attachment)return;let a=i.deform;a.length==0&&(h=0);let c=this.vertices,u=c[0].length,d=this.frames;if(s<d[0]){switch(h){case 0:a.length=0;return;case 1:if(n==1){a.length=0;return}a.length=u;let g=l;if(g.bones){n=1-n;for(var f=0;f<u;f++)a[f]*=n}else{let b=g.vertices;for(var f=0;f<u;f++)a[f]+=(b[f]-a[f])*n}}return}if(a.length=u,s>=d[d.length-1]){let g=c[d.length-1];if(n==1)if(h==3){let b=l;if(b.bones)for(let v=0;v<u;v++)a[v]+=g[v];else{let v=b.vertices;for(let y=0;y<u;y++)a[y]+=g[y]-v[y]}}else R.arrayCopy(g,0,a,0,u);else switch(h){case 0:{let v=l;if(v.bones)for(let y=0;y<u;y++)a[y]=g[y]*n;else{let y=v.vertices;for(let S=0;S<u;S++){let A=y[S];a[S]=A+(g[S]-A)*n}}break}case 1:case 2:for(let v=0;v<u;v++)a[v]+=(g[v]-a[v])*n;break;case 3:let b=l;if(b.bones)for(let v=0;v<u;v++)a[v]+=g[v]*n;else{let v=b.vertices;for(let y=0;y<u;y++)a[y]+=(g[y]-v[y])*n}}return}let m=J.search1(d,s),x=this.getCurvePercent(s,m),p=c[m],w=c[m+1];if(n==1)if(h==3){let g=l;if(g.bones)for(let b=0;b<u;b++){let v=p[b];a[b]+=v+(w[b]-v)*x}else{let b=g.vertices;for(let v=0;v<u;v++){let y=p[v];a[v]+=y+(w[v]-y)*x-b[v]}}}else for(let g=0;g<u;g++){let b=p[g];a[g]=b+(w[g]-b)*x}else switch(h){case 0:{let b=l;if(b.bones)for(let v=0;v<u;v++){let y=p[v];a[v]=(y+(w[v]-y)*x)*n}else{let v=b.vertices;for(let y=0;y<u;y++){let S=p[y],A=v[y];a[y]=A+(S+(w[y]-S)*x-A)*n}}break}case 1:case 2:for(let b=0;b<u;b++){let v=p[b];a[b]+=(v+(w[b]-v)*x-a[b])*n}break;case 3:let g=l;if(g.bones)for(let b=0;b<u;b++){let v=p[b];a[b]+=(v+(w[b]-v)*x)*n}else{let b=g.vertices;for(let v=0;v<u;v++){let y=p[v];a[v]+=(y+(w[v]-y)*x-b[v])*n}}}}},hs=class extends J{events;constructor(e){super(e,hs.propertyIds),this.events=new Array(e)}getFrameCount(){return this.frames.length}setFrame(e,t){this.frames[e]=t.time,this.events[e]=t}apply(e,t,s,r,n,h,o){if(!r)return;let i=this.frames,l=this.frames.length;if(t>s)this.apply(e,t,Number.MAX_VALUE,r,n,h,o),t=-1;else if(t>=i[l-1])return;if(s<i[0])return;let a=0;if(t<i[0])a=0;else{a=J.search1(i,t)+1;let c=i[a];for(;a>0&&i[a-1]==c;)a--}for(;a<l&&s>=i[a];a++)r.push(this.events[a])}},Xe=hs;V(Xe,"propertyIds",[""+O.event]);var cs=class extends J{drawOrders;constructor(e){super(e,cs.propertyIds),this.drawOrders=new Array(e)}getFrameCount(){return this.frames.length}setFrame(e,t,s){this.frames[e]=t,this.drawOrders[e]=s}apply(e,t,s,r,n,h,o){if(o==1){h==0&&R.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length);return}if(s<this.frames[0]){(h==0||h==1)&&R.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length);return}let i=J.search1(this.frames,s),l=this.drawOrders[i];if(!l)R.arrayCopy(e.slots,0,e.drawOrder,0,e.slots.length);else{let a=e.drawOrder,c=e.slots;for(let u=0,d=l.length;u<d;u++)a[u]=c[l[u]]}}},pe=cs;V(pe,"propertyIds",[""+O.drawOrder]);var yt=class extends oe{constraintIndex=0;constructor(e,t,s){super(e,t,[O.ikConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 6}setFrame(e,t,s,r,n,h,o){e*=6,this.frames[e]=t,this.frames[e+1]=s,this.frames[e+2]=r,this.frames[e+3]=n,this.frames[e+4]=h?1:0,this.frames[e+5]=o?1:0}apply(e,t,s,r,n,h,o){let i=e.ikConstraints[this.constraintIndex];if(!i.active)return;let l=this.frames;if(s<l[0]){switch(h){case 0:i.mix=i.data.mix,i.softness=i.data.softness,i.bendDirection=i.data.bendDirection,i.compress=i.data.compress,i.stretch=i.data.stretch;return;case 1:i.mix+=(i.data.mix-i.mix)*n,i.softness+=(i.data.softness-i.softness)*n,i.bendDirection=i.data.bendDirection,i.compress=i.data.compress,i.stretch=i.data.stretch}return}let a=0,c=0,u=J.search(l,s,6),d=this.curves[u/6];switch(d){case 0:let f=l[u];a=l[u+1],c=l[u+2];let m=(s-f)/(l[u+6]-f);a+=(l[u+6+1]-a)*m,c+=(l[u+6+2]-c)*m;break;case 1:a=l[u+1],c=l[u+2];break;default:a=this.getBezierValue(s,u,1,d-2),c=this.getBezierValue(s,u,2,d+18-2)}h==0?(i.mix=i.data.mix+(a-i.data.mix)*n,i.softness=i.data.softness+(c-i.data.softness)*n,o==1?(i.bendDirection=i.data.bendDirection,i.compress=i.data.compress,i.stretch=i.data.stretch):(i.bendDirection=l[u+3],i.compress=l[u+4]!=0,i.stretch=l[u+5]!=0)):(i.mix+=(a-i.mix)*n,i.softness+=(c-i.softness)*n,o==0&&(i.bendDirection=l[u+3],i.compress=l[u+4]!=0,i.stretch=l[u+5]!=0))}},vt=class extends oe{constraintIndex=0;constructor(e,t,s){super(e,t,[O.transformConstraint+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 7}setFrame(e,t,s,r,n,h,o,i){let l=this.frames;e*=7,l[e]=t,l[e+1]=s,l[e+2]=r,l[e+3]=n,l[e+4]=h,l[e+5]=o,l[e+6]=i}apply(e,t,s,r,n,h,o){let i=e.transformConstraints[this.constraintIndex];if(!i.active)return;let l=this.frames;if(s<l[0]){let w=i.data;switch(h){case 0:i.mixRotate=w.mixRotate,i.mixX=w.mixX,i.mixY=w.mixY,i.mixScaleX=w.mixScaleX,i.mixScaleY=w.mixScaleY,i.mixShearY=w.mixShearY;return;case 1:i.mixRotate+=(w.mixRotate-i.mixRotate)*n,i.mixX+=(w.mixX-i.mixX)*n,i.mixY+=(w.mixY-i.mixY)*n,i.mixScaleX+=(w.mixScaleX-i.mixScaleX)*n,i.mixScaleY+=(w.mixScaleY-i.mixScaleY)*n,i.mixShearY+=(w.mixShearY-i.mixShearY)*n}return}let a,c,u,d,f,m,x=J.search(l,s,7),p=this.curves[x/7];switch(p){case 0:let w=l[x];a=l[x+1],c=l[x+2],u=l[x+3],d=l[x+4],f=l[x+5],m=l[x+6];let g=(s-w)/(l[x+7]-w);a+=(l[x+7+1]-a)*g,c+=(l[x+7+2]-c)*g,u+=(l[x+7+3]-u)*g,d+=(l[x+7+4]-d)*g,f+=(l[x+7+5]-f)*g,m+=(l[x+7+6]-m)*g;break;case 1:a=l[x+1],c=l[x+2],u=l[x+3],d=l[x+4],f=l[x+5],m=l[x+6];break;default:a=this.getBezierValue(s,x,1,p-2),c=this.getBezierValue(s,x,2,p+18-2),u=this.getBezierValue(s,x,3,p+18*2-2),d=this.getBezierValue(s,x,4,p+18*3-2),f=this.getBezierValue(s,x,5,p+18*4-2),m=this.getBezierValue(s,x,6,p+18*5-2)}if(h==0){let w=i.data;i.mixRotate=w.mixRotate+(a-w.mixRotate)*n,i.mixX=w.mixX+(c-w.mixX)*n,i.mixY=w.mixY+(u-w.mixY)*n,i.mixScaleX=w.mixScaleX+(d-w.mixScaleX)*n,i.mixScaleY=w.mixScaleY+(f-w.mixScaleY)*n,i.mixShearY=w.mixShearY+(m-w.mixShearY)*n}else i.mixRotate+=(a-i.mixRotate)*n,i.mixX+=(c-i.mixX)*n,i.mixY+=(u-i.mixY)*n,i.mixScaleX+=(d-i.mixScaleX)*n,i.mixScaleY+=(f-i.mixScaleY)*n,i.mixShearY+=(m-i.mixShearY)*n}},St=class extends ne{constraintIndex=0;constructor(e,t,s){super(e,t,O.pathConstraintPosition+"|"+s),this.constraintIndex=s}apply(e,t,s,r,n,h,o){let i=e.pathConstraints[this.constraintIndex];i.active&&(i.position=this.getAbsoluteValue(s,n,h,i.position,i.data.position))}},At=class extends ne{constraintIndex=0;constructor(e,t,s){super(e,t,O.pathConstraintSpacing+"|"+s),this.constraintIndex=s}apply(e,t,s,r,n,h,o){let i=e.pathConstraints[this.constraintIndex];i.active&&(i.spacing=this.getAbsoluteValue(s,n,h,i.spacing,i.data.spacing))}},It=class extends oe{constraintIndex=0;constructor(e,t,s){super(e,t,[O.pathConstraintMix+"|"+s]),this.constraintIndex=s}getFrameEntries(){return 4}setFrame(e,t,s,r,n){let h=this.frames;e<<=2,h[e]=t,h[e+1]=s,h[e+2]=r,h[e+3]=n}apply(e,t,s,r,n,h,o){let i=e.pathConstraints[this.constraintIndex];if(!i.active)return;let l=this.frames;if(s<l[0]){switch(h){case 0:i.mixRotate=i.data.mixRotate,i.mixX=i.data.mixX,i.mixY=i.data.mixY;return;case 1:i.mixRotate+=(i.data.mixRotate-i.mixRotate)*n,i.mixX+=(i.data.mixX-i.mixX)*n,i.mixY+=(i.data.mixY-i.mixY)*n}return}let a,c,u,d=J.search(l,s,4),f=this.curves[d>>2];switch(f){case 0:let m=l[d];a=l[d+1],c=l[d+2],u=l[d+3];let x=(s-m)/(l[d+4]-m);a+=(l[d+4+1]-a)*x,c+=(l[d+4+2]-c)*x,u+=(l[d+4+3]-u)*x;break;case 1:a=l[d+1],c=l[d+2],u=l[d+3];break;default:a=this.getBezierValue(s,d,1,f-2),c=this.getBezierValue(s,d,2,f+18-2),u=this.getBezierValue(s,d,3,f+18*2-2)}if(h==0){let m=i.data;i.mixRotate=m.mixRotate+(a-m.mixRotate)*n,i.mixX=m.mixX+(c-m.mixX)*n,i.mixY=m.mixY+(u-m.mixY)*n}else i.mixRotate+=(a-i.mixRotate)*n,i.mixX+=(c-i.mixX)*n,i.mixY+=(u-i.mixY)*n}},ue=class extends ne{constraintIndex=0;constructor(e,t,s,r){super(e,t,r+"|"+s),this.constraintIndex=s}apply(e,t,s,r,n,h,o){let i;if(this.constraintIndex==-1){const l=s>=this.frames[0]?this.getCurveValue(s):0;for(const a of e.physicsConstraints)a.active&&this.global(a.data)&&this.set(a,this.getAbsoluteValue2(s,n,h,this.get(a),this.setup(a),l))}else i=e.physicsConstraints[this.constraintIndex],i.active&&this.set(i,this.getAbsoluteValue(s,n,h,this.get(i),this.setup(i)))}},Ct=class extends ue{constructor(e,t,s){super(e,t,s,O.physicsConstraintInertia)}setup(e){return e.data.inertia}get(e){return e.inertia}set(e,t){e.inertia=t}global(e){return e.inertiaGlobal}},kt=class extends ue{constructor(e,t,s){super(e,t,s,O.physicsConstraintStrength)}setup(e){return e.data.strength}get(e){return e.strength}set(e,t){e.strength=t}global(e){return e.strengthGlobal}},Yt=class extends ue{constructor(e,t,s){super(e,t,s,O.physicsConstraintDamping)}setup(e){return e.data.damping}get(e){return e.damping}set(e,t){e.damping=t}global(e){return e.dampingGlobal}},Mt=class extends ue{constructor(e,t,s){super(e,t,s,O.physicsConstraintMass)}setup(e){return 1/e.data.massInverse}get(e){return 1/e.massInverse}set(e,t){e.massInverse=1/t}global(e){return e.massGlobal}},Tt=class extends ue{constructor(e,t,s){super(e,t,s,O.physicsConstraintWind)}setup(e){return e.data.wind}get(e){return e.wind}set(e,t){e.wind=t}global(e){return e.windGlobal}},Xt=class extends ue{constructor(e,t,s){super(e,t,s,O.physicsConstraintGravity)}setup(e){return e.data.gravity}get(e){return e.gravity}set(e,t){e.gravity=t}global(e){return e.gravityGlobal}},Ft=class extends ue{constructor(e,t,s){super(e,t,s,O.physicsConstraintMix)}setup(e){return e.data.mix}get(e){return e.mix}set(e,t){e.mix=t}global(e){return e.mixGlobal}},ds=class extends J{constraintIndex;constructor(e,t){super(e,ds.propertyIds),this.constraintIndex=t}getFrameCount(){return this.frames.length}setFrame(e,t){this.frames[e]=t}apply(e,t,s,r,n,h,o){let i;if(this.constraintIndex!=-1&&(i=e.physicsConstraints[this.constraintIndex],!i.active))return;const l=this.frames;if(t>s)this.apply(e,t,Number.MAX_VALUE,[],n,h,o),t=-1;else if(t>=l[l.length-1])return;if(!(s<l[0])&&(t<l[0]||s>=l[J.search1(l,t)+1]))if(i!=null)i.reset();else for(const a of e.physicsConstraints)a.active&&a.reset()}},Oe=ds;V(Oe,"propertyIds",[O.physicsConstraintReset.toString()]);var me=class extends J{slotIndex;attachment;constructor(e,t,s){super(e,[O.sequence+"|"+t+"|"+s.sequence.id]),this.slotIndex=t,this.attachment=s}getFrameEntries(){return me.ENTRIES}getSlotIndex(){return this.slotIndex}getAttachment(){return this.attachment}setFrame(e,t,s,r,n){let h=this.frames;e*=me.ENTRIES,h[e]=t,h[e+me.MODE]=s|r<<4,h[e+me.DELAY]=n}apply(e,t,s,r,n,h,o){let i=e.slots[this.slotIndex];if(!i.bone.active)return;let l=i.attachment,a=this.attachment;if(l!=a&&(!(l instanceof le)||l.timelineAttachment!=a))return;if(o==1){h==0&&(i.sequenceIndex=-1);return}let c=this.frames;if(s<c[0]){(h==0||h==1)&&(i.sequenceIndex=-1);return}let u=J.search(c,s,me.ENTRIES),d=c[u],f=c[u+me.MODE],m=c[u+me.DELAY];if(!this.attachment.sequence)return;let x=f>>4,p=this.attachment.sequence.regions.length,w=as[f&15];if(w!=0)switch(x+=(s-d)/m+1e-5|0,w){case 1:x=Math.min(p-1,x);break;case 2:x%=p;break;case 3:{let g=(p<<1)-2;x=g==0?0:x%g,x>=p&&(x=g-x);break}case 4:x=Math.max(p-1-x,0);break;case 5:x=p-1-x%p;break;case 6:{let g=(p<<1)-2;x=g==0?0:(x+p-1)%g,x>=p&&(x=g-x)}}i.sequenceIndex=x}},Se=me;V(Se,"ENTRIES",3),V(Se,"MODE",1),V(Se,"DELAY",2);var qe=class{static emptyAnimation(){return qe._emptyAnimation}data;tracks=new Array;timeScale=1;unkeyedState=0;events=new Array;listeners=new Array;queue=new ms(this);propertyIDs=new tt;animationsChanged=!1;trackEntryPool=new Me(()=>new us);constructor(e){this.data=e}update(e){e*=this.timeScale;let t=this.tracks;for(let s=0,r=t.length;s<r;s++){let n=t[s];if(!n)continue;n.animationLast=n.nextAnimationLast,n.trackLast=n.nextTrackLast;let h=e*n.timeScale;if(n.delay>0){if(n.delay-=h,n.delay>0)continue;h=-n.delay,n.delay=0}let o=n.next;if(o){let i=n.trackLast-o.delay;if(i>=0){for(o.delay=0,o.trackTime+=n.timeScale==0?0:(i/n.timeScale+e)*o.timeScale,n.trackTime+=h,this.setCurrent(s,o,!0);o.mixingFrom;)o.mixTime+=e,o=o.mixingFrom;continue}}else if(n.trackLast>=n.trackEnd&&!n.mixingFrom){t[s]=null,this.queue.end(n),this.clearNext(n);continue}if(n.mixingFrom&&this.updateMixingFrom(n,e)){let i=n.mixingFrom;for(n.mixingFrom=null,i&&(i.mixingTo=null);i;)this.queue.end(i),i=i.mixingFrom}n.trackTime+=h}this.queue.drain()}updateMixingFrom(e,t){let s=e.mixingFrom;if(!s)return!0;let r=this.updateMixingFrom(s,t);return s.animationLast=s.nextAnimationLast,s.trackLast=s.nextTrackLast,e.nextTrackLast!=-1&&e.mixTime>=e.mixDuration?((s.totalAlpha==0||e.mixDuration==0)&&(e.mixingFrom=s.mixingFrom,s.mixingFrom!=null&&(s.mixingFrom.mixingTo=e),e.interruptAlpha=s.interruptAlpha,this.queue.end(s)),r):(s.trackTime+=t*s.timeScale,e.mixTime+=t,!1)}apply(e){if(!e)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();let t=this.events,s=this.tracks,r=!1;for(let u=0,d=s.length;u<d;u++){let f=s[u];if(!f||f.delay>0)continue;r=!0;let m=u==0?1:f.mixBlend,x=f.alpha;f.mixingFrom?x*=this.applyMixingFrom(f,e,m):f.trackTime>=f.trackEnd&&!f.next&&(x=0);let p=x>=f.alphaAttachmentThreshold,w=f.animationLast,g=f.getAnimationTime(),b=g,v=t;f.reverse&&(b=f.animation.duration-b,v=null);let y=f.animation.timelines,S=y.length;if(u==0&&x==1||m==3){u==0&&(p=!0);for(let A=0;A<S;A++){R.webkit602BugfixHelper(x,m);var n=y[A];n instanceof we?this.applyAttachmentTimeline(n,e,b,m,p):n.apply(e,w,b,v,x,m,0)}}else{let A=f.timelineMode,k=f.shortestRotation,M=!k&&f.timelinesRotation.length!=S<<1;M&&(f.timelinesRotation.length=S<<1);for(let Y=0;Y<S;Y++){let E=y[Y],X=A[Y]==_e?m:0;!k&&E instanceof Te?this.applyRotateTimeline(E,e,b,x,X,f.timelinesRotation,Y<<1,M):E instanceof we?this.applyAttachmentTimeline(E,e,b,m,p):(R.webkit602BugfixHelper(x,m),E.apply(e,w,b,v,x,X,0))}}this.queueEvents(f,g),t.length=0,f.nextAnimationLast=g,f.nextTrackLast=f.trackTime}for(var h=this.unkeyedState+Pt,o=e.slots,i=0,l=e.slots.length;i<l;i++){var a=o[i];if(a.attachmentState==h){var c=a.data.attachmentName;a.setAttachment(c?e.getAttachment(a.data.index,c):null)}}return this.unkeyedState+=2,this.queue.drain(),r}applyMixingFrom(e,t,s){let r=e.mixingFrom;r.mixingFrom&&this.applyMixingFrom(r,t,s);let n=0;e.mixDuration==0?(n=1,s==1&&(s=0)):(n=e.mixTime/e.mixDuration,n>1&&(n=1),s!=1&&(s=r.mixBlend));let h=n<r.mixAttachmentThreshold,o=n<r.mixDrawOrderThreshold,i=r.animation.timelines,l=i.length,a=r.alpha*e.interruptAlpha,c=a*(1-n),u=r.animationLast,d=r.getAnimationTime(),f=d,m=null;if(r.reverse?f=r.animation.duration-f:n<r.eventThreshold&&(m=this.events),s==3)for(let x=0;x<l;x++)i[x].apply(t,u,f,m,c,s,1);else{let x=r.timelineMode,p=r.timelineHoldMix,w=r.shortestRotation,g=!w&&r.timelinesRotation.length!=l<<1;g&&(r.timelinesRotation.length=l<<1),r.totalAlpha=0;for(let b=0;b<l;b++){let v=i[b],y=1,S,A=0;switch(x[b]){case _e:if(!o&&v instanceof pe)continue;S=s,A=c;break;case Et:S=0,A=c;break;case Rt:S=s,A=a;break;case Ue:S=0,A=a;break;default:S=0;let k=p[b];A=a*Math.max(0,1-k.mixTime/k.mixDuration);break}r.totalAlpha+=A,!w&&v instanceof Te?this.applyRotateTimeline(v,t,f,A,S,r.timelinesRotation,b<<1,g):v instanceof we?this.applyAttachmentTimeline(v,t,f,S,h&&A>=r.alphaAttachmentThreshold):(R.webkit602BugfixHelper(A,s),o&&v instanceof pe&&S==0&&(y=0),v.apply(t,u,f,m,A,S,y))}}return e.mixDuration>0&&this.queueEvents(r,d),this.events.length=0,r.nextAnimationLast=d,r.nextTrackLast=r.trackTime,n}applyAttachmentTimeline(e,t,s,r,n){var h=t.slots[e.slotIndex];h.bone.active&&(s<e.frames[0]?(r==0||r==1)&&this.setAttachment(t,h,h.data.attachmentName,n):this.setAttachment(t,h,e.attachmentNames[J.search1(e.frames,s)],n),h.attachmentState<=this.unkeyedState&&(h.attachmentState=this.unkeyedState+Pt))}setAttachment(e,t,s,r){t.setAttachment(s?e.getAttachment(t.data.index,s):null),r&&(t.attachmentState=this.unkeyedState+xs)}applyRotateTimeline(e,t,s,r,n,h,o,i){if(i&&(h[o]=0),r==1){e.apply(t,0,s,null,1,n,0);return}let l=t.bones[e.boneIndex];if(!l.active)return;let a=e.frames,c=0,u=0;if(s<a[0])switch(n){case 0:l.rotation=l.data.rotation;default:return;case 1:c=l.rotation,u=l.data.rotation}else c=n==0?l.data.rotation:l.rotation,u=l.data.rotation+e.getCurveValue(s);let d=0,f=u-c;if(f-=Math.ceil(f/360-.5)*360,f==0)d=h[o];else{let m=0,x=0;i?(m=0,x=f):(m=h[o],x=h[o+1]);let p=m-m%360;d=f+p;let w=f>=0,g=m>=0;Math.abs(x)<=90&&F.signum(x)!=F.signum(f)&&(Math.abs(m-p)>180?(d+=360*F.signum(m),g=w):p!=0?d-=360*F.signum(m):g=w),g!=w&&(d+=360*F.signum(m)),h[o]=d}h[o+1]=f,l.rotation=c+d*r}queueEvents(e,t){let s=e.animationStart,r=e.animationEnd,n=r-s,h=e.trackLast%n,o=this.events,i=0,l=o.length;for(;i<l;i++){let c=o[i];if(c.time<h)break;c.time>r||this.queue.event(e,c)}let a=!1;if(e.loop)if(n==0)a=!0;else{const c=Math.floor(e.trackTime/n);a=c>0&&c>Math.floor(e.trackLast/n)}else a=t>=r&&e.animationLast<r;for(a&&this.queue.complete(e);i<l;i++){let c=o[i];c.time<s||this.queue.event(e,c)}}clearTracks(){let e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let t=0,s=this.tracks.length;t<s;t++)this.clearTrack(t);this.tracks.length=0,this.queue.drainDisabled=e,this.queue.drain()}clearTrack(e){if(e>=this.tracks.length)return;let t=this.tracks[e];if(!t)return;this.queue.end(t),this.clearNext(t);let s=t;for(;;){let r=s.mixingFrom;if(!r)break;this.queue.end(r),s.mixingFrom=null,s.mixingTo=null,s=r}this.tracks[t.trackIndex]=null,this.queue.drain()}setCurrent(e,t,s){let r=this.expandToIndex(e);this.tracks[e]=t,t.previous=null,r&&(s&&this.queue.interrupt(r),t.mixingFrom=r,r.mixingTo=t,t.mixTime=0,r.mixingFrom&&r.mixDuration>0&&(t.interruptAlpha*=Math.min(1,r.mixTime/r.mixDuration)),r.timelinesRotation.length=0),this.queue.start(t)}setAnimation(e,t,s=!1){let r=this.data.skeletonData.findAnimation(t);if(!r)throw new Error("Animation not found: "+t);return this.setAnimationWith(e,r,s)}setAnimationWith(e,t,s=!1){if(!t)throw new Error("animation cannot be null.");let r=!0,n=this.expandToIndex(e);n&&(n.nextTrackLast==-1?(this.tracks[e]=n.mixingFrom,this.queue.interrupt(n),this.queue.end(n),this.clearNext(n),n=n.mixingFrom,r=!1):this.clearNext(n));let h=this.trackEntry(e,t,s,n);return this.setCurrent(e,h,r),this.queue.drain(),h}addAnimation(e,t,s=!1,r=0){let n=this.data.skeletonData.findAnimation(t);if(!n)throw new Error("Animation not found: "+t);return this.addAnimationWith(e,n,s,r)}addAnimationWith(e,t,s=!1,r=0){if(!t)throw new Error("animation cannot be null.");let n=this.expandToIndex(e);if(n)for(;n.next;)n=n.next;let h=this.trackEntry(e,t,s,n);return n?(n.next=h,h.previous=n,r<=0&&(r+=n.getTrackComplete()-h.mixDuration)):(this.setCurrent(e,h,!0),this.queue.drain()),h.delay=r,h}setEmptyAnimation(e,t=0){let s=this.setAnimationWith(e,qe.emptyAnimation(),!1);return s.mixDuration=t,s.trackEnd=t,s}addEmptyAnimation(e,t=0,s=0){let r=this.addAnimationWith(e,qe.emptyAnimation(),!1,s);return s<=0&&(r.delay+=r.mixDuration-t),r.mixDuration=t,r.trackEnd=t,r}setEmptyAnimations(e=0){let t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(let s=0,r=this.tracks.length;s<r;s++){let n=this.tracks[s];n&&this.setEmptyAnimation(n.trackIndex,e)}this.queue.drainDisabled=t,this.queue.drain()}expandToIndex(e){return e<this.tracks.length?this.tracks[e]:(R.ensureArrayCapacity(this.tracks,e+1,null),this.tracks.length=e+1,null)}trackEntry(e,t,s,r){let n=this.trackEntryPool.obtain();return n.reset(),n.trackIndex=e,n.animation=t,n.loop=s,n.holdPrevious=!1,n.reverse=!1,n.shortestRotation=!1,n.eventThreshold=0,n.alphaAttachmentThreshold=0,n.mixAttachmentThreshold=0,n.mixDrawOrderThreshold=0,n.animationStart=0,n.animationEnd=t.duration,n.animationLast=-1,n.nextAnimationLast=-1,n.delay=0,n.trackTime=0,n.trackLast=-1,n.nextTrackLast=-1,n.trackEnd=Number.MAX_VALUE,n.timeScale=1,n.alpha=1,n.mixTime=0,n.mixDuration=r?this.data.getMix(r.animation,t):0,n.interruptAlpha=1,n.totalAlpha=0,n.mixBlend=2,n}clearNext(e){let t=e.next;for(;t;)this.queue.dispose(t),t=t.next;e.next=null}_animationsChanged(){this.animationsChanged=!1,this.propertyIDs.clear();let e=this.tracks;for(let t=0,s=e.length;t<s;t++){let r=e[t];if(r){for(;r.mixingFrom;)r=r.mixingFrom;do(!r.mixingTo||r.mixBlend!=3)&&this.computeHold(r),r=r.mixingTo;while(r)}}}computeHold(e){let t=e.mixingTo,s=e.animation.timelines,r=e.animation.timelines.length,n=e.timelineMode;n.length=r;let h=e.timelineHoldMix;h.length=0;let o=this.propertyIDs;if(t&&t.holdPrevious){for(let i=0;i<r;i++)n[i]=o.addAll(s[i].getPropertyIds())?Ue:Rt;return}e:for(let i=0;i<r;i++){let l=s[i],a=l.getPropertyIds();if(!o.addAll(a))n[i]=_e;else if(!t||l instanceof we||l instanceof pe||l instanceof Xe||!t.animation.hasTimeline(a))n[i]=Et;else{for(let c=t.mixingTo;c;c=c.mixingTo)if(!c.animation.hasTimeline(a)){if(e.mixDuration>0){n[i]=gs,h[i]=c;continue e}break}n[i]=Ue}}}getCurrent(e){return e>=this.tracks.length?null:this.tracks[e]}addListener(e){if(!e)throw new Error("listener cannot be null.");this.listeners.push(e)}removeListener(e){let t=this.listeners.indexOf(e);t>=0&&this.listeners.splice(t,1)}clearListeners(){this.listeners.length=0}clearListenerNotifications(){this.queue.clear()}},fs=qe;V(fs,"_emptyAnimation",new Ne("<empty>",[],0));var us=class{animation=null;previous=null;next=null;mixingFrom=null;mixingTo=null;listener=null;trackIndex=0;loop=!1;holdPrevious=!1;reverse=!1;shortestRotation=!1;eventThreshold=0;mixAttachmentThreshold=0;alphaAttachmentThreshold=0;mixDrawOrderThreshold=0;animationStart=0;animationEnd=0;animationLast=0;nextAnimationLast=0;delay=0;trackTime=0;trackLast=0;nextTrackLast=0;trackEnd=0;timeScale=0;alpha=0;mixTime=0;_mixDuration=0;interruptAlpha=0;totalAlpha=0;get mixDuration(){return this._mixDuration}set mixDuration(e){this._mixDuration=e}setMixDurationWithDelay(e,t){this._mixDuration=e,this.previous!=null&&t<=0&&(t+=this.previous.getTrackComplete()-e),this.delay=t}mixBlend=2;timelineMode=new Array;timelineHoldMix=new Array;timelinesRotation=new Array;reset(){this.next=null,this.previous=null,this.mixingFrom=null,this.mixingTo=null,this.animation=null,this.listener=null,this.timelineMode.length=0,this.timelineHoldMix.length=0,this.timelinesRotation.length=0}getAnimationTime(){if(this.loop){let e=this.animationEnd-this.animationStart;return e==0?this.animationStart:this.trackTime%e+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)}setAnimationLast(e){this.animationLast=e,this.nextAnimationLast=e}isComplete(){return this.trackTime>=this.animationEnd-this.animationStart}resetRotationDirections(){this.timelinesRotation.length=0}getTrackComplete(){let e=this.animationEnd-this.animationStart;if(e!=0){if(this.loop)return e*(1+(this.trackTime/e|0));if(this.trackTime<e)return e}return this.trackTime}wasApplied(){return this.nextTrackLast!=-1}isNextReady(){return this.next!=null&&this.nextTrackLast-this.next.delay>=0}},ms=class{objects=[];drainDisabled=!1;animState;constructor(e){this.animState=e}start(e){this.objects.push(se.start),this.objects.push(e),this.animState.animationsChanged=!0}interrupt(e){this.objects.push(se.interrupt),this.objects.push(e)}end(e){this.objects.push(se.end),this.objects.push(e),this.animState.animationsChanged=!0}dispose(e){this.objects.push(se.dispose),this.objects.push(e)}complete(e){this.objects.push(se.complete),this.objects.push(e)}event(e,t){this.objects.push(se.event),this.objects.push(e),this.objects.push(t)}drain(){if(this.drainDisabled)return;this.drainDisabled=!0;let e=this.objects,t=this.animState.listeners;for(let s=0;s<e.length;s+=2){let r=e[s],n=e[s+1];switch(r){case se.start:n.listener&&n.listener.start&&n.listener.start(n);for(let o=0;o<t.length;o++){let i=t[o];i.start&&i.start(n)}break;case se.interrupt:n.listener&&n.listener.interrupt&&n.listener.interrupt(n);for(let o=0;o<t.length;o++){let i=t[o];i.interrupt&&i.interrupt(n)}break;case se.end:n.listener&&n.listener.end&&n.listener.end(n);for(let o=0;o<t.length;o++){let i=t[o];i.end&&i.end(n)}case se.dispose:n.listener&&n.listener.dispose&&n.listener.dispose(n);for(let o=0;o<t.length;o++){let i=t[o];i.dispose&&i.dispose(n)}this.animState.trackEntryPool.free(n);break;case se.complete:n.listener&&n.listener.complete&&n.listener.complete(n);for(let o=0;o<t.length;o++){let i=t[o];i.complete&&i.complete(n)}break;case se.event:let h=e[s+++2];n.listener&&n.listener.event&&n.listener.event(n,h);for(let o=0;o<t.length;o++){let i=t[o];i.event&&i.event(n,h)}break}}this.clear(),this.drainDisabled=!1}clear(){this.objects.length=0}},se=(e=>(e[e.start=0]="start",e[e.interrupt=1]="interrupt",e[e.end=2]="end",e[e.dispose=3]="dispose",e[e.complete=4]="complete",e[e.event=5]="event",e))(se||{}),Ls=class{start(e){}interrupt(e){}end(e){}dispose(e){}complete(e){}event(e,t){}},_e=0,Et=1,Rt=2,Ue=3,gs=4,Pt=1,xs=2,Ns=class{skeletonData;animationToMixTime={};defaultMix=0;constructor(e){if(!e)throw new Error("skeletonData cannot be null.");this.skeletonData=e}setMix(e,t,s){let r=this.skeletonData.findAnimation(e);if(!r)throw new Error("Animation not found: "+e);let n=this.skeletonData.findAnimation(t);if(!n)throw new Error("Animation not found: "+t);this.setMixWith(r,n,s)}setMixWith(e,t,s){if(!e)throw new Error("from cannot be null.");if(!t)throw new Error("to cannot be null.");let r=e.name+"."+t.name;this.animationToMixTime[r]=s}getMix(e,t){let s=e.name+"."+t.name,r=this.animationToMixTime[s];return r===void 0?this.defaultMix:r}},We=class extends le{color=new D(1,1,1,1);constructor(e){super(e)}copy(){let e=new We(this.name);return this.copyTo(e),e.color.setFromColor(this.color),e}},ze=class extends le{endSlot=null;color=new D(.2275,.2275,.8078,1);constructor(e){super(e)}copy(){let e=new ze(this.name);return this.copyTo(e),e.endSlot=this.endSlot,e.color.setFromColor(this.color),e}},bs=class{_image;constructor(e){this._image=e}getImage(){return this._image}},Ge=(e=>(e[e.Nearest=9728]="Nearest",e[e.Linear=9729]="Linear",e[e.MipMap=9987]="MipMap",e[e.MipMapNearestNearest=9984]="MipMapNearestNearest",e[e.MipMapLinearNearest=9985]="MipMapLinearNearest",e[e.MipMapNearestLine