/*! * phaser-spine - version 3.0.9 * Spine plugin for Phaser.io! * * Azerion * Build at 15-03-2019 * Released under MIT License */ var spine={radDeg:180/Math.PI,degRad:Math.PI/180,Float32Array:"undefined"==typeof Float32Array?Array:Float32Array,Uint32Array:"undefined"==typeof Uint32Array?Array:Uint32Array,Uint16Array:"undefined"==typeof Uint16Array?Array:Uint16Array};spine.temp=new spine.Float32Array(2),spine.BoneData=function(a,b){this.name=a,this.parent=b},spine.BoneData.prototype={length:0,x:0,y:0,rotation:0,scaleX:1,scaleY:1,inheritScale:!0,inheritRotation:!0},spine.BlendMode={normal:0,additive:1,multiply:2,screen:3},spine.SlotData=function(a,b){this.name=a,this.boneData=b},spine.SlotData.prototype={r:1,g:1,b:1,a:1,attachmentName:null,blendMode:spine.BlendMode.normal},spine.IkConstraintData=function(a){this.name=a,this.bones=[]},spine.IkConstraintData.prototype={target:null,bendDirection:1,mix:1},spine.TransformConstraintData=function(a){this.name=a},spine.TransformConstraintData.prototype={bone:null,target:null,translateMix:1,x:0,y:0},spine.Bone=function(a,b,c){this.data=a,this.skeleton=b,this.parent=c,this.setToSetupPose()},spine.Bone.yDown=!1,spine.Bone.prototype={x:0,y:0,rotation:0,scaleX:1,scaleY:1,a:0,b:0,worldX:0,c:0,d:0,worldY:0,worldSignX:1,worldSignY:1,update:function(){this.updateWorldTransform(this.x,this.y,this.rotation,this.scaleX,this.scaleY)},updateWorldTransformWith:function(){this.updateWorldTransform(this.x,this.y,this.rotation,this.scaleX,this.scaleY)},updateWorldTransform:function(a,b,c,d,e){this.appliedRotation=c,this.appliedScaleX=d,this.appliedScaleY=e,c*=spine.degRad;var f=Math.cos(c),g=Math.sin(c),h=f*d,i=-g*e,j=g*d,k=f*e,l=this.parent;if(!l){var m=this.skeleton;return m.flipX&&(a=-a,h=-h,i=-i),m.flipY!=spine.Bone.yDown&&(b=-b,j=-j,k=-k),this.a=h,this.b=i,this.c=j,this.d=k,this.worldX=a,this.worldY=b,this.worldSignX=d<0?-1:1,void(this.worldSignY=e<0?-1:1)}var n=l.a,o=l.b,p=l.c,q=l.d;if(this.worldX=n*a+o*b+l.worldX,this.worldY=p*a+q*b+l.worldY,this.worldSignX=l.worldSignX*(d<0?-1:1),this.worldSignY=l.worldSignY*(e<0?-1:1),this.data.inheritRotation&&this.data.inheritScale)this.a=n*h+o*j,this.b=n*i+o*k,this.c=p*h+q*j,this.d=p*i+q*k;else{if(this.data.inheritRotation){n=1,o=0,p=0,q=1;do{c=l.appliedRotation*spine.degRad,f=Math.cos(c),g=Math.sin(c);var r=n*f+o*g;if(o=n*-g+o*f,n=r,r=p*f+q*g,q=p*-g+q*f,p=r,!l.data.inheritRotation)break;l=l.parent}while(l);this.a=n*h+o*j,this.b=n*i+o*k,this.c=p*h+q*j,this.d=p*i+q*k}else if(this.data.inheritScale){n=1,o=0,p=0,q=1;do{c=l.appliedRotation*spine.degRad,f=Math.cos(c),g=Math.sin(c);var s=l.appliedScaleX,t=l.appliedScaleY,u=f*s,v=-g*t,w=g*s,x=f*t,r=n*u+o*w;if(o=n*v+o*x,n=r,r=p*u+q*w,q=p*v+q*x,p=r,s<0&&(c=-c),f=Math.cos(-c),g=Math.sin(-c),r=n*f+o*g,o=n*-g+o*f,n=r,r=p*f+q*g,q=p*-g+q*f,p=r,!l.data.inheritScale)break;l=l.parent}while(l);this.a=n*h+o*j,this.b=n*i+o*k,this.c=p*h+q*j,this.d=p*i+q*k}else this.a=h,this.b=i,this.c=j,this.d=k;this.skeleton.flipX&&(this.a=-this.a,this.b=-this.b),this.skeleton.flipY!=spine.Bone.yDown&&(this.c=-this.c,this.d=-this.d)}},setToSetupPose:function(){var a=this.data;this.x=a.x,this.y=a.y,this.rotation=a.rotation,this.scaleX=a.scaleX,this.scaleY=a.scaleY},getWorldRotationX:function(){return Math.atan2(this.c,this.a)*spine.radDeg},getWorldRotationY:function(){return Math.atan2(this.d,this.b)*spine.radDeg},getWorldScaleX:function(){return Math.sqrt(this.a*this.a+this.b*this.b)*this.worldSignX},getWorldScaleY:function(){return Math.sqrt(this.c*this.c+this.d*this.d)*this.worldSignY},worldToLocal:function(a){var b=a[0]-this.worldX,c=a[1]-this.worldY,d=this.a,e=this.b,f=this.c,g=this.d,h=1/(d*g-e*f);return a[0]=b*g*h-c*e*h,a[1]=c*d*h-b*f*h,a},localToWorld:function(a){var b=a[0],c=a[1];return a[0]=b*this.a+c*this.b+this.worldX,a[1]=b*this.c+c*this.d+this.worldY,a}},spine.Slot=function(a,b){this.data=a,this.bone=b,this.attachmentVertices=new spine.Float32Array,this.setToSetupPose()},spine.Slot.prototype={r:1,g:1,b:1,a:1,_attachmentTime:0,attachment:null,setAttachment:function(a){this.attachment!=a&&(this.attachment=a,this._attachmentTime=this.bone.skeleton.time,this.attachmentVertices.length=0)},setAttachmentTime:function(a){this._attachmentTime=this.bone.skeleton.time-a},getAttachmentTime:function(){return this.bone.skeleton.time-this._attachmentTime},setToSetupPose:function(){var a=this.data;if(this.r=a.r,this.g=a.g,this.b=a.b,this.a=a.a,a.attachmentName){for(var b=this.bone.skeleton.data.slots,c=0,d=b.length;c180?g-=360:g<-180&&(g+=360),a.updateWorldTransform(a.x,a.y,f+(g-f)*d,a.appliedScaleX,a.appliedScaleY)},spine.IkConstraint.apply2=function(a,b,c,d,e,f){if(0!=f){var g,h,i,j=a.x,k=a.y,l=a.appliedScaleX,m=a.appliedScaleY;l<0?(l=-l,g=180,i=-1):(g=0,i=1),m<0&&(m=-m,i=-i);var n=b.x,o=b.y,p=b.appliedScaleX,q=Math.abs(l-m)<=1e-4;q||0==o||(b.worldX=a.a*n+a.worldX,b.worldY=a.c*n+a.worldY,o=0),p<0?(p=-p,h=180):h=0;var r,s,t,u,v=a.parent;if(v){var w=v.a,x=v.b,y=v.c,z=v.d,A=1/(w*z-x*y),B=v.worldX,C=v.worldY,D=c-B,E=d-C;r=(D*z-E*x)*A-j,s=(E*w-D*y)*A-k,D=b.worldX-B,E=b.worldY-C,t=(D*z-E*x)*A-j,u=(E*w-D*y)*A-k}else r=c-j,s=d-k,t=b.worldX-j,u=b.worldY-k;var F,G,H=Math.sqrt(t*t+u*u),I=b.data.length*p;a:if(q){I*=l;var J=(r*r+s*s-H*H-I*I)/(2*H*I);J<-1?J=-1:J>1&&(J=1),G=Math.acos(J)*e;var w=H+I*J,K=I*Math.sin(G);F=Math.atan2(s*w-r*K,r*w+s*K)}else{var w=l*I,x=m*I,L=Math.atan2(s,r),M=w*w,N=x*x,O=H*H,P=r*r+s*s,Q=N*O+M*P-M*N,R=-2*N*H,S=N-M,z=R*R-4*S*Q;if(z>=0){var T=Math.sqrt(z);R<0&&(T=-T),T=-(R+T)/2;var U=T/S,V=Q/T,W=Math.abs(U)aa&&(_=0,aa=da,ba=D),D=H-w,da=D*D,daaa&&(_=ea,aa=da,ba=D,ca=E),P<=(Y+aa)/2?(F=L-Math.atan2($*e,Z),G=X*e):(F=L-Math.atan2(ca*e,ba),G=_*e)}var fa=Math.atan2(o,n)*i;F=(F-fa)*spine.radDeg+g,G=(G+fa)*spine.radDeg*i+h,F>180?F-=360:F<-180&&(F+=360),G>180?G-=360:G<-180&&(G+=360);var ga=a.rotation;a.updateWorldTransform(j,k,ga+(F-ga)*f,a.appliedScaleX,a.appliedScaleY),ga=b.rotation,b.updateWorldTransform(n,o,ga+(G-ga)*f,b.appliedScaleX,b.appliedScaleY)}},spine.TransformConstraint=function(a,b){this.data=a,this.translateMix=a.translateMix,this.x=a.x,this.y=a.y,this.bone=b.findBone(a.bone.name),this.target=b.findBone(a.target.name)},spine.TransformConstraint.prototype={apply:function(){this.update()},update:function(){var a=this.translateMix;if(a>0){var b=spine.temp;b[0]=x,b[1]=y,this.target.localToWorld(b);var c=this.bone;c.worldX+=(b[0]-c.worldX)*a,c.worldY+=(b[1]-c.worldY)*a}}},spine.Skin=function(a){this.name=a,this.attachments={}},spine.Skin.prototype={addAttachment:function(a,b,c){this.attachments[a+":"+b]=c},getAttachment:function(a,b){return this.attachments[a+":"+b]},_attachAll:function(a,b){for(var c in b.attachments){var d=c.indexOf(":"),e=parseInt(c.substring(0,d)),f=c.substring(d+1),g=a.slots[e];if(g.attachment&&g.attachment.name==f){var h=this.getAttachment(e,f);h&&g.setAttachment(h)}}}},spine.Animation=function(a,b,c){this.name=a,this.timelines=b,this.duration=c},spine.Animation.prototype={apply:function(a,b,c,d,e){d&&0!=this.duration&&(c%=this.duration,b>0&&(b%=this.duration));for(var f=this.timelines,g=0,h=f.length;g0&&(b%=this.duration));for(var g=this.timelines,h=0,i=g.length;h>>1;;){if(a[(f+1)*c]<=b?d=f+1:e=f,d==e)return(d+1)*c;f=d+e>>>1}},spine.Animation.binarySearch1=function(a,b){var c=0,d=a.length-2;if(!d)return 1;for(var e=d>>>1;;){if(a[e+1]<=b?c=e+1:d=e,c==d)return c+1;e=c+d>>>1}},spine.Animation.linearSearch=function(a,b,c){for(var d=0,e=a.length-c;d<=e;d+=c)if(a[d]>b)return d;return-1},spine.Curves=function(a){var b=19*(a-1);this.curves=new spine.Float32Array(b),this.curves.length=b},spine.Curves.prototype={setLinear:function(a){this.curves[19*a]=0},setStepped:function(a){this.curves[19*a]=1},setCurve:function(a,b,c,d,e){var f=.1,g=f*f,h=g*f,i=3*f,j=3*g,k=6*g,l=6*h,m=2*-b+d,n=2*-c+e,o=3*(b-d)+1,p=3*(c-e)+1,q=b*i+m*j+o*h,r=c*i+n*j+p*h,s=m*k+o*l,t=n*k+p*l,u=o*l,v=p*l,w=19*a,x=this.curves;x[w++]=2;for(var y=q,z=r,A=w+19-1;w1?1:b;var c=this.curves,d=19*a,e=c[d];if(0===e)return b;if(1==e)return 0;d++;for(var f=0,g=d,h=d+19-1;d=b){var i,j;return d==g?(i=0,j=0):(i=c[d-2],j=c[d-1]),j+(c[d+1]-j)*(b-i)/(f-i)}var k=c[d-1];return k+(1-k)*(b-f)/(1-f)}},spine.RotateTimeline=function(a){this.curves=new spine.Curves(a),this.frames=new spine.Float32Array(2*a),this.frames.length=2*a},spine.RotateTimeline.prototype={boneIndex:0,getFrameCount:function(){return this.frames.length/2},setFrame:function(a,b,c){a*=2,this.frames[a]=b,this.frames[a+1]=c},apply:function(a,b,c,d,e){var f=this.frames;if(!(c=f[f.length-2]){for(var h=g.data.rotation+f[f.length-1]-g.rotation;h>180;)h-=360;for(;h<-180;)h+=360;return void(g.rotation+=h*e)}var i=spine.Animation.binarySearch(f,c,2),j=f[i-1],k=f[i],l=1-(c-k)/(f[i-2]-k);l=this.curves.getCurvePercent(i/2-1,l);for(var h=f[i+1]-j;h>180;)h-=360;for(;h<-180;)h+=360;for(h=g.data.rotation+(j+h*l)-g.rotation;h>180;)h-=360;for(;h<-180;)h+=360;g.rotation+=h*e}}},spine.TranslateTimeline=function(a){this.curves=new spine.Curves(a),this.frames=new spine.Float32Array(3*a),this.frames.length=3*a},spine.TranslateTimeline.prototype={boneIndex:0,getFrameCount:function(){return this.frames.length/3},setFrame:function(a,b,c,d){a*=3,this.frames[a]=b,this.frames[a+1]=c,this.frames[a+2]=d},apply:function(a,b,c,d,e){var f=this.frames;if(!(c=f[f.length-3])return g.x+=(g.data.x+f[f.length-2]-g.x)*e,void(g.y+=(g.data.y+f[f.length-1]-g.y)*e);var h=spine.Animation.binarySearch(f,c,3),i=f[h-2],j=f[h-1],k=f[h],l=1-(c-k)/(f[h+-3]-k);l=this.curves.getCurvePercent(h/3-1,l),g.x+=(g.data.x+i+(f[h+1]-i)*l-g.x)*e,g.y+=(g.data.y+j+(f[h+2]-j)*l-g.y)*e}}},spine.ScaleTimeline=function(a){this.curves=new spine.Curves(a),this.frames=new spine.Float32Array(3*a),this.frames.length=3*a},spine.ScaleTimeline.prototype={boneIndex:0,getFrameCount:function(){return this.frames.length/3},setFrame:function(a,b,c,d){a*=3,this.frames[a]=b,this.frames[a+1]=c,this.frames[a+2]=d},apply:function(a,b,c,d,e){var f=this.frames;if(!(c=f[f.length-3])return g.scaleX+=(g.data.scaleX*f[f.length-2]-g.scaleX)*e,void(g.scaleY+=(g.data.scaleY*f[f.length-1]-g.scaleY)*e);var h=spine.Animation.binarySearch(f,c,3),i=f[h-2],j=f[h-1],k=f[h],l=1-(c-k)/(f[h+-3]-k);l=this.curves.getCurvePercent(h/3-1,l),g.scaleX+=(g.data.scaleX*(i+(f[h+1]-i)*l)-g.scaleX)*e,g.scaleY+=(g.data.scaleY*(j+(f[h+2]-j)*l)-g.scaleY)*e}}},spine.ColorTimeline=function(a){this.curves=new spine.Curves(a),this.frames=new spine.Float32Array(5*a),this.frames.length=5*a},spine.ColorTimeline.prototype={slotIndex:0,getFrameCount:function(){return this.frames.length/5},setFrame:function(a,b,c,d,e,f){a*=5,this.frames[a]=b,this.frames[a+1]=c,this.frames[a+2]=d,this.frames[a+3]=e,this.frames[a+4]=f},apply:function(a,b,c,d,e){var f=this.frames;if(!(c=f[f.length-5]){var k=f.length-1;g=f[k-3],h=f[k-2],i=f[k-1],j=f[k]}else{var l=spine.Animation.binarySearch(f,c,5),m=f[l-4],n=f[l-3],o=f[l-2],p=f[l-1],q=f[l],r=1-(c-q)/(f[l-5]-q);r=this.curves.getCurvePercent(l/5-1,r),g=m+(f[l+1]-m)*r,h=n+(f[l+2]-n)*r,i=o+(f[l+3]-o)*r,j=p+(f[l+4]-p)*r}var s=a.slots[this.slotIndex];e<1?(s.r+=(g-s.r)*e,s.g+=(h-s.g)*e,s.b+=(i-s.b)*e,s.a+=(j-s.a)*e):(s.r=g,s.g=h,s.b=i,s.a=j)}}},spine.AttachmentTimeline=function(a){this.curves=new spine.Curves(a),this.frames=new spine.Float32Array(a),this.frames.length=a,this.attachmentNames=[],this.attachmentNames.length=a},spine.AttachmentTimeline.prototype={slotIndex:0,getFrameCount:function(){return this.frames.length},setFrame:function(a,b,c){this.frames[a]=b,this.attachmentNames[a]=c},apply:function(a,b,c,d,e){var f=this.frames;if(cc&&this.apply(a,b,Number.MAX_VALUE,null,0));b>c&&(b=-1);var g=c>=f[f.length-1]?f.length-1:spine.Animation.binarySearch1(f,c)-1;if(!(f[g]c)this.apply(a,b,Number.MAX_VALUE,d,e),b=-1;else if(b>=f[g-1])return;if(!(c0&&f[h-1]==i;)h--}for(var j=this.events;h=f[h];h++)d[d.length]=j[h]}}}},spine.DrawOrderTimeline=function(a){this.frames=new spine.Float32Array(a),this.frames.length=a,this.drawOrders=[],this.drawOrders.length=a},spine.DrawOrderTimeline.prototype={getFrameCount:function(){return this.frames.length},setFrame:function(a,b,c){this.frames[a]=b,this.drawOrders[a]=c},apply:function(a,b,c,d,e){var f=this.frames;if(!(c=f[f.length-1]?f.length-1:spine.Animation.binarySearch1(f,c)-1;var h=a.drawOrder,i=a.slots,j=this.drawOrders[g];if(j)for(var k=0,l=j.length;k=h[h.length-1]){var l=i[h.length-1];if(e<1)for(var m=0;m1?1:p);var q=i[n-1],r=i[n];if(e<1)for(var m=0;m=f[f.length-3])return g.mix+=(f[f.length-2]-g.mix)*e,void(g.bendDirection=f[f.length-1]);var h=spine.Animation.binarySearch(f,c,3),i=f[h+-2],j=f[h],k=1-(c-j)/(f[h+-3]-j);k=this.curves.getCurvePercent(h/3-1,k);var l=i+(f[h+1]-i)*k;g.mix+=(l-g.mix)*e,g.bendDirection=f[h+-1]}}},spine.SkeletonData=function(){this.bones=[],this.slots=[],this.skins=[],this.events=[],this.animations=[],this.ikConstraints=[],this.transformConstraints=[]},spine.SkeletonData.prototype={name:null,defaultSkin:null,width:0,height:0,version:null,hash:null,findBone:function(a){for(var b=this.bones,c=0,d=b.length;c=0;j--){var m=b[j];if(m==l.bone||m==l.target){b.splice(j+1,0,l);break}}},updateWorldTransform:function(){for(var a=this.cache,b=0,c=a.length;b=0&&this.setCurrent(b,e)):!c.loop&&c.lastTime>=c.endTime&&this.clearTrack(b)}}},apply:function(a){for(var b=0;bf&&(d=f);var h=c.previous;if(h){var i=h.time;!h.loop&&i>h.endTime&&(i=h.endTime),h.animation.apply(a,i,i,h.loop,null);var j=c.mixTime/c.mixDuration*c.mix;j>=1&&(j=1,c.previous=null),c.animation.mix(a,c.lastTime,d,g,this.events,j)}else 1==c.mix?c.animation.apply(a,c.lastTime,d,g,this.events):c.animation.mix(a,c.lastTime,d,g,this.events,c.mix);for(var k=0,l=this.events.length;kd%f:e=f){var n=Math.floor(d/f);c.onComplete&&c.onComplete(b,n),this.onComplete&&this.onComplete(b,n)}c.lastTime=c.time}}},clearTracks:function(){for(var a=0,b=this.tracks.length;a=this.tracks.length)){var b=this.tracks[a];b&&(b.onEnd&&b.onEnd(a),this.onEnd&&this.onEnd(a),this.tracks[a]=null)}},_expandToIndex:function(a){if(a=this.tracks.length;)this.tracks[this.tracks.length]=null;return null},setCurrent:function(a,b){var c=this._expandToIndex(a);if(c){var d=c.previous;c.previous=null,c.onEnd&&c.onEnd(a),this.onEnd&&this.onEnd(a),b.mixDuration=this.data.getMix(c.animation,b.animation),b.mixDuration>0&&(b.mixTime=0,d&&c.mixTime/c.mixDuration<.5?b.previous=d:b.previous=c)}this.tracks[a]=b,b.onStart&&b.onStart(a),this.onStart&&this.onStart(a)},setAnimationByName:function(a,b,c){var d=this.data.skeletonData.findAnimation(b);if(!d)throw"Animation not found: "+b;return this.setAnimation(a,d,c)},setAnimation:function(a,b,c){var d=new spine.TrackEntry;return d.animation=b,d.loop=c,d.endTime=b.duration,this.setCurrent(a,d),d},addAnimationByName:function(a,b,c,d){var e=this.data.skeletonData.findAnimation(b);if(!e)throw"Animation not found: "+b;return this.addAnimation(a,e,c,d)},addAnimation:function(a,b,c,d){var e=new spine.TrackEntry;e.animation=b,e.loop=c,e.endTime=b.duration;var f=this._expandToIndex(a);if(f){for(;f.next;)f=f.next;f.next=e}else this.tracks[a]=e;return d<=0&&(f?d+=f.endTime-this.data.getMix(f.animation,b):d=0),e.delay=d,e},getCurrent:function(a){return a>=this.tracks.length?null:this.tracks[a]}},spine.SkeletonJson=function(a){this.attachmentLoader=a,this.linkedMeshes=[]},spine.SkeletonJson.prototype={scale:1,readSkeletonData:function(a,b){var c=new spine.SkeletonData;c.name=b;var d=a.skeleton;d&&(c.hash=d.hash,c.version=d.spine,c.width=d.width||0,c.height=d.height||0);for(var e=a.bones,f=0,g=e.length;f=0;T--)Y[T]=4294967295;var Z=X.offsets,$=new spine.Uint32Array(W-Z.length);$.length=W-Z.length;for(var _=0,aa=0,T=0,S=Z.length;T=0;T--)4294967295==Y[T]&&(Y[T]=$[--aa])}l.setFrame(m++,X.time,Y)}d[d.length]=l,e=Math.max(e,l.frames[l.getFrameCount()-1])}var ca=b.events;if(ca){for(var l=new spine.EventTimeline(ca.length),m=0,n=0,o=ca.length;n=this.lines.length?null:this.lines[this.index++]},readValue:function(){var a=this.readLine(),b=a.indexOf(":");if(b==-1)throw"Invalid line: "+a;return this.trim(a.substring(b+1))},readTuple:function(a){var b=this.readLine(),c=b.indexOf(":");if(c==-1)throw"Invalid line: "+b;for(var d=0,e=c+1;d<3;d++){var f=b.indexOf(",",e);if(f==-1)break;a[d]=this.trim(b.substr(e,f-e)),e=f+1}return a[d]=this.trim(b.substring(e)),d+1}},spine.AtlasAttachmentLoader=function(a){this.atlas=a},spine.AtlasAttachmentLoader.prototype={newRegionAttachment:function(a,b,c){var d=this.atlas.findRegion(c);if(!d)throw"Region not found in atlas: "+c+" (region attachment: "+b+")";var e=new spine.RegionAttachment(b);return e.rendererObject=d,e.setUVs(d.u,d.v,d.u2,d.v2,d.rotate),e.regionOffsetX=d.offsetX,e.regionOffsetY=d.offsetY,e.regionWidth=d.width,e.regionHeight=d.height,e.regionOriginalWidth=d.originalWidth,e.regionOriginalHeight=d.originalHeight,e},newMeshAttachment:function(a,b,c){var d=this.atlas.findRegion(c);if(!d)throw"Region not found in atlas: "+c+" (mesh attachment: "+b+")";var e=new spine.MeshAttachment(b);return e.rendererObject=d,e.regionU=d.u,e.regionV=d.v,e.regionU2=d.u2,e.regionV2=d.v2,e.regionRotate=d.rotate,e.regionOffsetX=d.offsetX,e.regionOffsetY=d.offsetY,e.regionWidth=d.width,e.regionHeight=d.height,e.regionOriginalWidth=d.originalWidth,e.regionOriginalHeight=d.originalHeight,e},newWeightedMeshAttachment:function(a,b,c){var d=this.atlas.findRegion(c);if(!d)throw"Region not found in atlas: "+c+" (weighted mesh attachment: "+b+")";var e=new spine.WeightedMeshAttachment(b);return e.rendererObject=d,e.regionU=d.u,e.regionV=d.v,e.regionU2=d.u2,e.regionV2=d.v2,e.regionRotate=d.rotate,e.regionOffsetX=d.offsetX,e.regionOffsetY=d.offsetY,e.regionWidth=d.width,e.regionHeight=d.height,e.regionOriginalWidth=d.originalWidth,e.regionOriginalHeight=d.originalHeight,e},newBoundingBoxAttachment:function(a,b){return new spine.BoundingBoxAttachment(b)}},spine.SkeletonBounds=function(){this.polygonPool=[],this.polygons=[],this.boundingBoxes=[]},spine.SkeletonBounds.prototype={minX:0,minY:0,maxX:0,maxY:0,update:function(a,b){var c=a.slots,d=c.length,e=a.x,f=a.y,g=this.boundingBoxes,h=this.polygonPool,i=this.polygons;g.length=0;for(var j=0,k=i.length;j0?(n=h[o-1],h.splice(o-1,1)):n=new spine.Float32Array,i[i.length]=n,n.length=m.vertices.length,m.computeWorldVertices(e,f,l.bone,n)}}b&&this.aabbCompute()},aabbCompute:function(){for(var a=this.polygons,b=Number.MAX_VALUE,c=Number.MAX_VALUE,d=-Number.MAX_VALUE,e=-Number.MAX_VALUE,f=0,g=a.length;f=this.minX&&a<=this.maxX&&b>=this.minY&&b<=this.maxY},aabbIntersectsSegment:function(a,b,c,d){var e=this.minX,f=this.minY,g=this.maxX,h=this.maxY;if(a<=e&&c<=e||b<=f&&d<=f||a>=g&&c>=g||b>=h&&d>=h)return!1;var i=(d-b)/(c-a),j=i*(e-a)+b;if(j>f&&jf&&je&&ke&&ka.minX&&this.minYa.minY},containsPoint:function(a,b){for(var c=this.polygons,d=0,e=c.length;d=c||i=c){var j=a[g];j+(c-h)/(i-h)*(a[e]-j)=j&&s<=m||s>=m&&s<=j)&&(s>=b&&s<=d||s>=d&&s<=b)){var t=(i*q-h*o)/r;if((t>=k&&t<=n||t>=n&&t<=k)&&(t>=c&&t<=e||t>=e&&t<=c))return!0}j=m,k=n}return!1},getPolygon:function(a){var b=this.boundingBoxes.indexOf(a);return b==-1?null:this.polygons[b]},getWidth:function(){return this.maxX-this.minX},getHeight:function(){return this.maxY-this.minY}};var __extends=this&&this.__extends||function(a,b){function c(){this.constructor=a}for(var d in b)b.hasOwnProperty(d)&&(a[d]=b[d]);a.prototype=null===b?Object.create(b):(c.prototype=b.prototype,new c)},PhaserSpine;!function(a){var b=function(b){function c(a,c){var d=b.call(this,a,c)||this;return d.addSpineCache(),d.addSpineFactory(),d.addSpineLoader(),d}return __extends(c,b),c.prototype.addSpineLoader=function(){Phaser.Loader.prototype.spine=function(a,b,c){var d=this,e=a+"Atlas",f={atlas:e,basePath:""===b.substring(0,b.lastIndexOf("/"))?".":b.substring(0,b.lastIndexOf("/")),variants:void 0};void 0===c?c=[""]:f.variants=c,c.forEach(function(a){d.onFileComplete.add(function(b,c){if(c===e){new spine.Atlas(d.game.cache.getText(c),{load:function(b,c,e){d.image(c,f.basePath+"/"+c.substr(0,c.lastIndexOf("."))+a+".png")}})}}),d.text(e,b.substr(0,b.lastIndexOf("."))+a+".atlas")}),this.json(a,b),this.game.cache.addSpine(a,f)}},c.prototype.addSpineFactory=function(){Phaser.GameObjectFactory.prototype.spine=function(b,c,d,e,f){void 0===f&&(f=this.world);var g=new a.Spine(this.game,d,e);return g.setToSetupPose(),g.position.x=b,g.position.y=c,f.add(g)},Phaser.GameObjectCreator.prototype.spine=function(b,c,d,e,f){return new a.Spine(this.game,d,e)}},c.prototype.addSpineCache=function(){Phaser.Cache.prototype.spine={},Phaser.Cache.prototype.addSpine=function(a,b){this.spine[a]=b},Phaser.Cache.prototype.getSpine=function(a){return!this.spine.hasOwnProperty(a),this.spine[a]}},c}(Phaser.Plugin);b.RESOLUTION_REGEXP=/@(.+)x/,a.SpinePlugin=b}(PhaserSpine||(PhaserSpine={})),Phaser.Rope.prototype.postUpdate=function(){},spine.Bone.yDown=!0;var PhaserSpine;!function(a){var b=function(b){function c(c,d,e){var f=b.call(this,c)||this;f.imageScale=1;var g=f.game.cache.getSpine(d);void 0!==e&&g.variants.indexOf(e)!==-1?f.imageScale=f.getScaleFromVariant(e):g.variants&&g.variants.length>=1&&(f.imageScale=f.getScaleFromVariant(g.variants[0]));var h=new a.SpineTextureLoader(c),i=new spine.Atlas(c.cache.getText(g.atlas),h),j=new spine.AtlasAttachmentLoader(i),k=new spine.SkeletonJson(j);if(f.skeletonData=k.readSkeletonData(c.cache.getJSON(d)),!f.skeletonData)throw new Error("Spine data must be preloaded using Loader.spine");f.onEvent=new Phaser.Signal,f.onComplete=new Phaser.Signal,f.onEnd=new Phaser.Signal,f.skeleton=new spine.Skeleton(f.skeletonData),f.skeleton.updateWorldTransform(),f.stateData=new spine.AnimationStateData(f.skeletonData),f.state=new spine.AnimationState(f.stateData),f.state.onEvent=f.onEvent.dispatch.bind(f.onEvent),f.state.onComplete=f.onComplete.dispatch.bind(f.onComplete),f.state.onEnd=f.onEnd.dispatch.bind(f.onEnd),f.slotContainers=[];for(var l=0,m=f.skeleton.slots.length;l