difenduandada
2024-12-31 34abe6963b344c882358274957f4b992456fee40
1
(function(t,e,i){function n(i,r){var s=e[i];if(!s){var a=t[i];if(!a)return;var o={};s=e[i]={exports:o},a[0]((function(t){return n(a[1][t]||t)}),s,o)}return s.exports}for(var r=0;r<i.length;r++)n(i[r])})({1:[(function(t,e,i){t("../core/platform/CCClass");var n=t("../core/utils/misc");cc.Action=cc.Class({name:"cc.Action",ctor:function(){this.originalTarget=null,this.target=null,this.tag=cc.Action.TAG_INVALID},clone:function(){var t=new cc.Action;return t.originalTarget=null,t.target=null,t.tag=this.tag,t},isDone:function(){return!0},startWithTarget:function(t){this.originalTarget=t,this.target=t},stop:function(){this.target=null},step:function(t){cc.logID(1006)},update:function(t){cc.logID(1007)},getTarget:function(){return this.target},setTarget:function(t){this.target=t},getOriginalTarget:function(){return this.originalTarget},setOriginalTarget:function(t){this.originalTarget=t},getTag:function(){return this.tag},setTag:function(t){this.tag=t},retain:function(){},release:function(){}}),cc.Action.TAG_INVALID=-1,cc.FiniteTimeAction=cc.Class({name:"cc.FiniteTimeAction",extends:cc.Action,ctor:function(){this._duration=0},getDuration:function(){return this._duration*(this._timesForRepeat||1)},setDuration:function(t){this._duration=t},reverse:function(){return cc.logID(1008),null},clone:function(){return new cc.FiniteTimeAction}}),cc.Speed=cc.Class({name:"cc.Speed",extends:cc.Action,ctor:function(t,e){this._speed=0,this._innerAction=null,t&&this.initWithAction(t,e)},getSpeed:function(){return this._speed},setSpeed:function(t){this._speed=t},initWithAction:function(t,e){return t?(this._innerAction=t,this._speed=e,!0):(cc.errorID(1021),!1)},clone:function(){var t=new cc.Speed;return t.initWithAction(this._innerAction.clone(),this._speed),t},startWithTarget:function(t){cc.Action.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},stop:function(){this._innerAction.stop(),cc.Action.prototype.stop.call(this)},step:function(t){this._innerAction.step(t*this._speed)},isDone:function(){return this._innerAction.isDone()},reverse:function(){return new cc.Speed(this._innerAction.reverse(),this._speed)},setInnerAction:function(t){this._innerAction!==t&&(this._innerAction=t)},getInnerAction:function(){return this._innerAction}}),cc.speed=function(t,e){return new cc.Speed(t,e)},cc.Follow=cc.Class({name:"cc.Follow",extends:cc.Action,ctor:function(t,e){this._followedNode=null,this._boundarySet=!1,this._boundaryFullyCovered=!1,this._halfScreenSize=null,this._fullScreenSize=null,this.leftBoundary=0,this.rightBoundary=0,this.topBoundary=0,this.bottomBoundary=0,this._worldRect=cc.rect(0,0,0,0),t&&(e?this.initWithTarget(t,e):this.initWithTarget(t))},clone:function(){var t=new cc.Follow,e=this._worldRect,i=new cc.Rect(e.x,e.y,e.width,e.height);return t.initWithTarget(this._followedNode,i),t},isBoundarySet:function(){return this._boundarySet},setBoudarySet:function(t){this._boundarySet=t},initWithTarget:function(t,e){if(!t)return cc.errorID(1022),!1;var i=this;e=e||cc.rect(0,0,0,0),i._followedNode=t,i._worldRect=e,i._boundarySet=!(0===e.width&&0===e.height),i._boundaryFullyCovered=!1;var n=cc.winSize;return i._fullScreenSize=cc.v2(n.width,n.height),i._halfScreenSize=i._fullScreenSize.mul(.5),i._boundarySet&&(i.leftBoundary=-(e.x+e.width-i._fullScreenSize.x),i.rightBoundary=-e.x,i.topBoundary=-e.y,i.bottomBoundary=-(e.y+e.height-i._fullScreenSize.y),i.rightBoundary<i.leftBoundary&&(i.rightBoundary=i.leftBoundary=(i.leftBoundary+i.rightBoundary)/2),i.topBoundary<i.bottomBoundary&&(i.topBoundary=i.bottomBoundary=(i.topBoundary+i.bottomBoundary)/2),i.topBoundary===i.bottomBoundary&&i.leftBoundary===i.rightBoundary&&(i._boundaryFullyCovered=!0)),!0},step:function(t){var e=this.target.convertToWorldSpaceAR(cc.Vec2.ZERO),i=this._followedNode.convertToWorldSpaceAR(cc.Vec2.ZERO),r=e.sub(i),s=this.target.parent.convertToNodeSpaceAR(r.add(this._halfScreenSize));if(this._boundarySet){if(this._boundaryFullyCovered)return;this.target.setPosition(n.clampf(s.x,this.leftBoundary,this.rightBoundary),n.clampf(s.y,this.bottomBoundary,this.topBoundary))}else this.target.setPosition(s.x,s.y)},isDone:function(){return!this._followedNode.activeInHierarchy},stop:function(){this.target=null,cc.Action.prototype.stop.call(this)}}),cc.follow=function(t,e){return new cc.Follow(t,e)}}),{"../core/platform/CCClass":160,"../core/utils/misc":242}],2:[(function(t,e,i){function n(t,e){return t[Math.min(t.length-1,Math.max(e,0))]}function r(t){for(var e=[],i=t.length-1;i>=0;i--)e.push(cc.v2(t[i].x,t[i].y));return e}function s(t){for(var e=[],i=0;i<t.length;i++)e.push(cc.v2(t[i].x,t[i].y));return e}cc.CardinalSplineTo=cc.Class({name:"cc.CardinalSplineTo",extends:cc.ActionInterval,ctor:function(t,e,i){this._points=[],this._deltaT=0,this._tension=0,this._previousPosition=null,this._accumulatedDiff=null,void 0!==i&&cc.CardinalSplineTo.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){return e&&0!==e.length?!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this.setPoints(e),this._tension=i,!0):(cc.errorID(1024),!1)},clone:function(){var t=new cc.CardinalSplineTo;return t.initWithDuration(this._duration,s(this._points),this._tension),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._deltaT=1/(this._points.length-1),this._previousPosition=cc.v2(this.target.x,this.target.y),this._accumulatedDiff=cc.v2(0,0)},update:function(t){var e,i;t=this._computeEaseTime(t);var r=this._points;if(1===t)e=r.length-1,i=1;else{var s=this._deltaT;i=(t-s*(e=0|t/s))/s}var a,o,h=(function(t,e,i,n,r,s){var a=s*s,o=a*s,h=(1-r)/2,l=h*(2*a-o-s),c=h*(-o+a)+(2*o-3*a+1),u=h*(o-2*a+s)+(-2*o+3*a),_=h*(o-a),f=t.x*l+e.x*c+i.x*u+n.x*_,m=t.y*l+e.y*c+i.y*u+n.y*_;return cc.v2(f,m)})(n(r,e-1),n(r,e-0),n(r,e+1),n(r,e+2),this._tension,i);if(cc.macro.ENABLE_STACKABLE_ACTIONS&&(a=this.target.x-this._previousPosition.x,o=this.target.y-this._previousPosition.y,0!==a||0!==o)){var l=this._accumulatedDiff;a=l.x+a,o=l.y+o,l.x=a,l.y=o,h.x+=a,h.y+=o}this.updatePosition(h)},reverse:function(){var t=r(this._points);return cc.cardinalSplineTo(this._duration,t,this._tension)},updatePosition:function(t){this.target.setPosition(t),this._previousPosition=t},getPoints:function(){return this._points},setPoints:function(t){this._points=t}}),cc.cardinalSplineTo=function(t,e,i){return new cc.CardinalSplineTo(t,e,i)},cc.CardinalSplineBy=cc.Class({name:"cc.CardinalSplineBy",extends:cc.CardinalSplineTo,ctor:function(t,e,i){this._startPosition=cc.v2(0,0),void 0!==i&&this.initWithDuration(t,e,i)},startWithTarget:function(t){cc.CardinalSplineTo.prototype.startWithTarget.call(this,t),this._startPosition.x=t.x,this._startPosition.y=t.y},reverse:function(){for(var t,e=this._points.slice(),i=e[0],n=1;n<e.length;++n)t=e[n],e[n]=t.sub(i),i=t;var s=r(e);i=s[s.length-1],s.pop(),i.x=-i.x,i.y=-i.y,s.unshift(i);for(n=1;n<s.length;++n)(t=s[n]).x=-t.x,t.y=-t.y,t.x+=i.x,t.y+=i.y,s[n]=t,i=t;return cc.cardinalSplineBy(this._duration,s,this._tension)},updatePosition:function(t){var e=this._startPosition,i=t.x+e.x,n=t.y+e.y;this._previousPosition.x=i,this._previousPosition.y=n,this.target.setPosition(i,n)},clone:function(){var t=new cc.CardinalSplineBy;return t.initWithDuration(this._duration,s(this._points),this._tension),t}}),cc.cardinalSplineBy=function(t,e,i){return new cc.CardinalSplineBy(t,e,i)},cc.CatmullRomTo=cc.Class({name:"cc.CatmullRomTo",extends:cc.CardinalSplineTo,ctor:function(t,e){e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return cc.CardinalSplineTo.prototype.initWithDuration.call(this,t,e,.5)},clone:function(){var t=new cc.CatmullRomTo;return t.initWithDuration(this._duration,s(this._points)),t}}),cc.catmullRomTo=function(t,e){return new cc.CatmullRomTo(t,e)},cc.CatmullRomBy=cc.Class({name:"cc.CatmullRomBy",extends:cc.CardinalSplineBy,ctor:function(t,e){e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return cc.CardinalSplineTo.prototype.initWithDuration.call(this,t,e,.5)},clone:function(){var t=new cc.CatmullRomBy;return t.initWithDuration(this._duration,s(this._points)),t}}),cc.catmullRomBy=function(t,e){return new cc.CatmullRomBy(t,e)}}),{}],3:[(function(t,e,i){cc.easeIn=function(t){return{_rate:t,easing:function(t){return Math.pow(t,this._rate)},reverse:function(){return cc.easeIn(1/this._rate)}}},cc.easeOut=function(t){return{_rate:t,easing:function(t){return Math.pow(t,1/this._rate)},reverse:function(){return cc.easeOut(1/this._rate)}}},cc.easeInOut=function(t){return{_rate:t,easing:function(t){return(t*=2)<1?.5*Math.pow(t,this._rate):1-.5*Math.pow(2-t,this._rate)},reverse:function(){return cc.easeInOut(this._rate)}}};var n={easing:function(t){return 0===t?0:Math.pow(2,10*(t-1))},reverse:function(){return r}};cc.easeExponentialIn=function(){return n};var r={easing:function(t){return 1===t?1:1-Math.pow(2,-10*t)},reverse:function(){return n}};cc.easeExponentialOut=function(){return r};var s={easing:function(t){return 1!==t&&0!==t?(t*=2)<1?.5*Math.pow(2,10*(t-1)):.5*(2-Math.pow(2,-10*(t-1))):t},reverse:function(){return s}};cc.easeExponentialInOut=function(){return s};var a={easing:function(t){return 0===t||1===t?t:-1*Math.cos(t*Math.PI/2)+1},reverse:function(){return o}};cc.easeSineIn=function(){return a};var o={easing:function(t){return 0===t||1===t?t:Math.sin(t*Math.PI/2)},reverse:function(){return a}};cc.easeSineOut=function(){return o};var h={easing:function(t){return 0===t||1===t?t:-.5*(Math.cos(Math.PI*t)-1)},reverse:function(){return h}};cc.easeSineInOut=function(){return h};var l={easing:function(t){return 0===t||1===t?t:(t-=1,-Math.pow(2,10*t)*Math.sin((t-.075)*Math.PI*2/.3))},reverse:function(){return c}};cc.easeElasticIn=function(t){return t&&.3!==t?{_period:t,easing:function(t){return 0===t||1===t?t:(t-=1,-Math.pow(2,10*t)*Math.sin((t-this._period/4)*Math.PI*2/this._period))},reverse:function(){return cc.easeElasticOut(this._period)}}:l};var c={easing:function(t){return 0===t||1===t?t:Math.pow(2,-10*t)*Math.sin((t-.075)*Math.PI*2/.3)+1},reverse:function(){return l}};function u(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}cc.easeElasticOut=function(t){return t&&.3!==t?{_period:t,easing:function(t){return 0===t||1===t?t:Math.pow(2,-10*t)*Math.sin((t-this._period/4)*Math.PI*2/this._period)+1},reverse:function(){return cc.easeElasticIn(this._period)}}:c},cc.easeElasticInOut=function(t){return{_period:t=t||.3,easing:function(t){var e=0,i=this._period;if(0===t||1===t)e=t;else{t*=2,i||(i=this._period=.3*1.5);var n=i/4;e=(t-=1)<0?-.5*Math.pow(2,10*t)*Math.sin((t-n)*Math.PI*2/i):Math.pow(2,-10*t)*Math.sin((t-n)*Math.PI*2/i)*.5+1}return e},reverse:function(){return cc.easeElasticInOut(this._period)}}};var _={easing:function(t){return 1-u(1-t)},reverse:function(){return f}};cc.easeBounceIn=function(){return _};var f={easing:function(t){return u(t)},reverse:function(){return _}};cc.easeBounceOut=function(){return f};var m={easing:function(t){return t<.5?.5*(1-u(1-(t*=2))):.5*u(2*t-1)+.5},reverse:function(){return m}};cc.easeBounceInOut=function(){return m};var d={easing:function(t){return 0===t||1===t?t:t*t*(2.70158*t-1.70158)},reverse:function(){return p}};cc.easeBackIn=function(){return d};var p={easing:function(t){return(t-=1)*t*(2.70158*t+1.70158)+1},reverse:function(){return d}};cc.easeBackOut=function(){return p};var y={easing:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)/2:(t-=2)*t*((e+1)*t+e)/2+1},reverse:function(){return y}};cc.easeBackInOut=function(){return y},cc.easeBezierAction=function(t,e,i,n){return{easing:function(r){return Math.pow(1-r,3)*t+3*r*Math.pow(1-r,2)*e+3*Math.pow(r,2)*(1-r)*i+Math.pow(r,3)*n},reverse:function(){return cc.easeBezierAction(n,i,e,t)}}};var v={easing:function(t){return Math.pow(t,2)},reverse:function(){return v}};cc.easeQuadraticActionIn=function(){return v};var g={easing:function(t){return-t*(t-2)},reverse:function(){return g}};cc.easeQuadraticActionOut=function(){return g};var x={easing:function(t){return(t*=2)<1?t*t*.5:-.5*(--t*(t-2)-1)},reverse:function(){return x}};cc.easeQuadraticActionInOut=function(){return x};var A={easing:function(t){return t*t*t*t},reverse:function(){return A}};cc.easeQuarticActionIn=function(){return A};var b={easing:function(t){return-((t-=1)*t*t*t-1)},reverse:function(){return b}};cc.easeQuarticActionOut=function(){return b};var C={easing:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},reverse:function(){return C}};cc.easeQuarticActionInOut=function(){return C};var S={easing:function(t){return t*t*t*t*t},reverse:function(){return S}};cc.easeQuinticActionIn=function(){return S};var T={easing:function(t){return(t-=1)*t*t*t*t+1},reverse:function(){return T}};cc.easeQuinticActionOut=function(){return T};var w={easing:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},reverse:function(){return w}};cc.easeQuinticActionInOut=function(){return w};var E={easing:function(t){return-1*(Math.sqrt(1-t*t)-1)},reverse:function(){return E}};cc.easeCircleActionIn=function(){return E};var D={easing:function(t){return t-=1,Math.sqrt(1-t*t)},reverse:function(){return D}};cc.easeCircleActionOut=function(){return D};var M={easing:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):(t-=2,.5*(Math.sqrt(1-t*t)+1))},reverse:function(){return M}};cc.easeCircleActionInOut=function(){return M};var B={easing:function(t){return t*t*t},reverse:function(){return B}};cc.easeCubicActionIn=function(){return B};var P={easing:function(t){return(t-=1)*t*t+1},reverse:function(){return P}};cc.easeCubicActionOut=function(){return P};var I={easing:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},reverse:function(){return I}};cc.easeCubicActionInOut=function(){return I}}),{}],4:[(function(t,e,i){cc.ActionInstant=cc.Class({name:"cc.ActionInstant",extends:cc.FiniteTimeAction,isDone:function(){return!0},step:function(t){this.update(1)},update:function(t){},reverse:function(){return this.clone()},clone:function(){return new cc.ActionInstant}}),cc.Show=cc.Class({name:"cc.Show",extends:cc.ActionInstant,update:function(t){for(var e=this.target.getComponentsInChildren(cc.RenderComponent),i=0;i<e.length;++i){e[i].enabled=!0}},reverse:function(){return new cc.Hide},clone:function(){return new cc.Show}}),cc.show=function(){return new cc.Show},cc.Hide=cc.Class({name:"cc.Hide",extends:cc.ActionInstant,update:function(t){for(var e=this.target.getComponentsInChildren(cc.RenderComponent),i=0;i<e.length;++i){e[i].enabled=!1}},reverse:function(){return new cc.Show},clone:function(){return new cc.Hide}}),cc.hide=function(){return new cc.Hide},cc.ToggleVisibility=cc.Class({name:"cc.ToggleVisibility",extends:cc.ActionInstant,update:function(t){for(var e=this.target.getComponentsInChildren(cc.RenderComponent),i=0;i<e.length;++i){var n=e[i];n.enabled=!n.enabled}},reverse:function(){return new cc.ToggleVisibility},clone:function(){return new cc.ToggleVisibility}}),cc.toggleVisibility=function(){return new cc.ToggleVisibility},cc.RemoveSelf=cc.Class({name:"cc.RemoveSelf",extends:cc.ActionInstant,ctor:function(t){this._isNeedCleanUp=!0,void 0!==t&&this.init(t)},update:function(t){this.target.removeFromParent(this._isNeedCleanUp)},init:function(t){return this._isNeedCleanUp=t,!0},reverse:function(){return new cc.RemoveSelf(this._isNeedCleanUp)},clone:function(){return new cc.RemoveSelf(this._isNeedCleanUp)}}),cc.removeSelf=function(t){return new cc.RemoveSelf(t)},cc.FlipX=cc.Class({name:"cc.FlipX",extends:cc.ActionInstant,ctor:function(t){this._flippedX=!1,void 0!==t&&this.initWithFlipX(t)},initWithFlipX:function(t){return this._flippedX=t,!0},update:function(t){this.target.scaleX=Math.abs(this.target.scaleX)*(this._flippedX?-1:1)},reverse:function(){return new cc.FlipX(!this._flippedX)},clone:function(){var t=new cc.FlipX;return t.initWithFlipX(this._flippedX),t}}),cc.flipX=function(t){return new cc.FlipX(t)},cc.FlipY=cc.Class({name:"cc.FlipY",extends:cc.ActionInstant,ctor:function(t){this._flippedY=!1,void 0!==t&&this.initWithFlipY(t)},initWithFlipY:function(t){return this._flippedY=t,!0},update:function(t){this.target.scaleY=Math.abs(this.target.scaleY)*(this._flippedY?-1:1)},reverse:function(){return new cc.FlipY(!this._flippedY)},clone:function(){var t=new cc.FlipY;return t.initWithFlipY(this._flippedY),t}}),cc.flipY=function(t){return new cc.FlipY(t)},cc.Place=cc.Class({name:"cc.Place",extends:cc.ActionInstant,ctor:function(t,e){this._x=0,this._y=0,void 0!==t&&(void 0!==t.x&&(e=t.y,t=t.x),this.initWithPosition(t,e))},initWithPosition:function(t,e){return this._x=t,this._y=e,!0},update:function(t){this.target.setPosition(this._x,this._y)},clone:function(){var t=new cc.Place;return t.initWithPosition(this._x,this._y),t}}),cc.place=function(t,e){return new cc.Place(t,e)},cc.CallFunc=cc.Class({name:"cc.CallFunc",extends:cc.ActionInstant,ctor:function(t,e,i){this._selectorTarget=null,this._function=null,this._data=null,this.initWithFunction(t,e,i)},initWithFunction:function(t,e,i){return t&&(this._function=t),e&&(this._selectorTarget=e),void 0!==i&&(this._data=i),!0},execute:function(){this._function&&this._function.call(this._selectorTarget,this.target,this._data)},update:function(t){this.execute()},getTargetCallback:function(){return this._selectorTarget},setTargetCallback:function(t){t!==this._selectorTarget&&(this._selectorTarget&&(this._selectorTarget=null),this._selectorTarget=t)},clone:function(){var t=new cc.CallFunc;return t.initWithFunction(this._function,this._selectorTarget,this._data),t}}),cc.callFunc=function(t,e,i){return new cc.CallFunc(t,e,i)}}),{}],5:[(function(t,e,i){function n(t,e,i,n,r){return Math.pow(1-r,3)*t+3*r*Math.pow(1-r,2)*e+3*Math.pow(r,2)*(1-r)*i+Math.pow(r,3)*n}cc.ActionInterval=cc.Class({name:"cc.ActionInterval",extends:cc.FiniteTimeAction,ctor:function(t){this.MAX_VALUE=2,this._elapsed=0,this._firstTick=!1,this._easeList=null,this._speed=1,this._timesForRepeat=1,this._repeatForever=!1,this._repeatMethod=!1,this._speedMethod=!1,void 0!==t&&cc.ActionInterval.prototype.initWithDuration.call(this,t)},getElapsed:function(){return this._elapsed},initWithDuration:function(t){return this._duration=0===t?cc.macro.FLT_EPSILON:t,this._elapsed=0,this._firstTick=!0,!0},isDone:function(){return this._elapsed>=this._duration},_cloneDecoration:function(t){t._repeatForever=this._repeatForever,t._speed=this._speed,t._timesForRepeat=this._timesForRepeat,t._easeList=this._easeList,t._speedMethod=this._speedMethod,t._repeatMethod=this._repeatMethod},_reverseEaseList:function(t){if(this._easeList){t._easeList=[];for(var e=0;e<this._easeList.length;e++)t._easeList.push(this._easeList[e].reverse())}},clone:function(){var t=new cc.ActionInterval(this._duration);return this._cloneDecoration(t),t},easing:function(t){this._easeList?this._easeList.length=0:this._easeList=[];for(var e=0;e<arguments.length;e++)this._easeList.push(arguments[e]);return this},_computeEaseTime:function(t){var e=this._easeList;if(!e||0===e.length)return t;for(var i=0,n=e.length;i<n;i++)t=e[i].easing(t);return t},step:function(t){this._firstTick?(this._firstTick=!1,this._elapsed=0):this._elapsed+=t;var e=this._elapsed/(this._duration>1.192092896e-7?this._duration:1.192092896e-7);e=1>e?e:1,this.update(e>0?e:0),this._repeatMethod&&this._timesForRepeat>1&&this.isDone()&&(this._repeatForever||this._timesForRepeat--,this.startWithTarget(this.target),this.step(this._elapsed-this._duration))},startWithTarget:function(t){cc.Action.prototype.startWithTarget.call(this,t),this._elapsed=0,this._firstTick=!0},reverse:function(){return cc.logID(1010),null},setAmplitudeRate:function(t){cc.logID(1011)},getAmplitudeRate:function(){return cc.logID(1012),0},speed:function(t){return t<=0?(cc.logID(1013),this):(this._speedMethod=!0,this._speed*=t,this)},getSpeed:function(){return this._speed},setSpeed:function(t){return this._speed=t,this},repeat:function(t){return t=Math.round(t),isNaN(t)||t<1?(cc.logID(1014),this):(this._repeatMethod=!0,this._timesForRepeat*=t,this)},repeatForever:function(){return this._repeatMethod=!0,this._timesForRepeat=this.MAX_VALUE,this._repeatForever=!0,this}}),cc.actionInterval=function(t){return new cc.ActionInterval(t)},cc.Sequence=cc.Class({name:"cc.Sequence",extends:cc.ActionInterval,ctor:function(t){this._actions=[],this._split=null,this._last=0,this._reversed=!1;var e=t instanceof Array?t:arguments;if(1!==e.length){var i=e.length-1;if(i>=0&&null==e[i]&&cc.logID(1015),i>=0){for(var n,r=e[0],s=1;s<i;s++)e[s]&&(n=r,r=cc.Sequence._actionOneTwo(n,e[s]));this.initWithTwoActions(r,e[i])}}else cc.errorID(1019)},initWithTwoActions:function(t,e){if(!t||!e)return cc.errorID(1025),!1;var i=t._duration,n=e._duration,r=(i*=t._repeatMethod?t._timesForRepeat:1)+(n*=e._repeatMethod?e._timesForRepeat:1);return this.initWithDuration(r),this._actions[0]=t,this._actions[1]=e,!0},clone:function(){var t=new cc.Sequence;return this._cloneDecoration(t),t.initWithTwoActions(this._actions[0].clone(),this._actions[1].clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._split=this._actions[0]._duration/this._duration,this._split*=this._actions[0]._repeatMethod?this._actions[0]._timesForRepeat:1,this._last=-1},stop:function(){-1!==this._last&&this._actions[this._last].stop(),cc.Action.prototype.stop.call(this)},update:function(t){var e,i,n=0,r=this._split,s=this._actions,a=this._last;(t=this._computeEaseTime(t))<r?(e=0!==r?t/r:1,0===n&&1===a&&this._reversed&&(s[1].update(0),s[1].stop())):(n=1,e=1===r?1:(t-r)/(1-r),-1===a&&(s[0].startWithTarget(this.target),s[0].update(1),s[0].stop()),0===a&&(s[0].update(1),s[0].stop())),i=s[n],a===n&&i.isDone()||(a!==n&&i.startWithTarget(this.target),e*=i._timesForRepeat,i.update(e>1?e%1:e),this._last=n)},reverse:function(){var t=cc.Sequence._actionOneTwo(this._actions[1].reverse(),this._actions[0].reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t._reversed=!0,t}}),cc.sequence=function(t){var e=t instanceof Array?t:arguments;if(1===e.length)return cc.errorID(1019),null;var i=e.length-1;i>=0&&null==e[i]&&cc.logID(1015);var n=null;if(i>=0){n=e[0];for(var r=1;r<=i;r++)e[r]&&(n=cc.Sequence._actionOneTwo(n,e[r]))}return n},cc.Sequence._actionOneTwo=function(t,e){var i=new cc.Sequence;return i.initWithTwoActions(t,e),i},cc.Repeat=cc.Class({name:"cc.Repeat",extends:cc.ActionInterval,ctor:function(t,e){this._times=0,this._total=0,this._nextDt=0,this._actionInstant=!1,this._innerAction=null,void 0!==e&&this.initWithAction(t,e)},initWithAction:function(t,e){var i=t._duration*e;return!!this.initWithDuration(i)&&(this._times=e,this._innerAction=t,t instanceof cc.ActionInstant&&(this._actionInstant=!0,this._times-=1),this._total=0,!0)},clone:function(){var t=new cc.Repeat;return this._cloneDecoration(t),t.initWithAction(this._innerAction.clone(),this._times),t},startWithTarget:function(t){this._total=0,this._nextDt=this._innerAction._duration/this._duration,cc.ActionInterval.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},stop:function(){this._innerAction.stop(),cc.Action.prototype.stop.call(this)},update:function(t){t=this._computeEaseTime(t);var e=this._innerAction,i=this._duration,n=this._times,r=this._nextDt;if(t>=r){for(;t>r&&this._total<n;)e.update(1),this._total++,e.stop(),e.startWithTarget(this.target),r+=e._duration/i,this._nextDt=r>1?1:r;t>=1&&this._total<n&&(e.update(1),this._total++),this._actionInstant||(this._total===n?e.stop():e.update(t-(r-e._duration/i)))}else e.update(t*n%1)},isDone:function(){return this._total===this._times},reverse:function(){var t=new cc.Repeat(this._innerAction.reverse(),this._times);return this._cloneDecoration(t),this._reverseEaseList(t),t},setInnerAction:function(t){this._innerAction!==t&&(this._innerAction=t)},getInnerAction:function(){return this._innerAction}}),cc.repeat=function(t,e){return new cc.Repeat(t,e)},cc.RepeatForever=cc.Class({name:"cc.RepeatForever",extends:cc.ActionInterval,ctor:function(t){this._innerAction=null,t&&this.initWithAction(t)},initWithAction:function(t){return t?(this._innerAction=t,!0):(cc.errorID(1026),!1)},clone:function(){var t=new cc.RepeatForever;return this._cloneDecoration(t),t.initWithAction(this._innerAction.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},step:function(t){var e=this._innerAction;e.step(t),e.isDone()&&(e.startWithTarget(this.target),e.step(e.getElapsed()-e._duration))},isDone:function(){return!1},reverse:function(){var t=new cc.RepeatForever(this._innerAction.reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t},setInnerAction:function(t){this._innerAction!==t&&(this._innerAction=t)},getInnerAction:function(){return this._innerAction}}),cc.repeatForever=function(t){return new cc.RepeatForever(t)},cc.Spawn=cc.Class({name:"cc.Spawn",extends:cc.ActionInterval,ctor:function(t){this._one=null,this._two=null;var e=t instanceof Array?t:arguments;if(1!==e.length){var i=e.length-1;if(i>=0&&null==e[i]&&cc.logID(1015),i>=0){for(var n,r=e[0],s=1;s<i;s++)e[s]&&(n=r,r=cc.Spawn._actionOneTwo(n,e[s]));this.initWithTwoActions(r,e[i])}}else cc.errorID(1020)},initWithTwoActions:function(t,e){if(!t||!e)return cc.errorID(1027),!1;var i=!1,n=t._duration,r=e._duration;return this.initWithDuration(Math.max(n,r))&&(this._one=t,this._two=e,n>r?this._two=cc.Sequence._actionOneTwo(e,cc.delayTime(n-r)):n<r&&(this._one=cc.Sequence._actionOneTwo(t,cc.delayTime(r-n))),i=!0),i},clone:function(){var t=new cc.Spawn;return this._cloneDecoration(t),t.initWithTwoActions(this._one.clone(),this._two.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._one.startWithTarget(t),this._two.startWithTarget(t)},stop:function(){this._one.stop(),this._two.stop(),cc.Action.prototype.stop.call(this)},update:function(t){t=this._computeEaseTime(t),this._one&&this._one.update(t),this._two&&this._two.update(t)},reverse:function(){var t=cc.Spawn._actionOneTwo(this._one.reverse(),this._two.reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.spawn=function(t){var e=t instanceof Array?t:arguments;if(1===e.length)return cc.errorID(1020),null;e.length>0&&null==e[e.length-1]&&cc.logID(1015);for(var i=e[0],n=1;n<e.length;n++)null!=e[n]&&(i=cc.Spawn._actionOneTwo(i,e[n]));return i},cc.Spawn._actionOneTwo=function(t,e){var i=new cc.Spawn;return i.initWithTwoActions(t,e),i},cc.RotateTo=cc.Class({name:"cc.RotateTo",extends:cc.ActionInterval,ctor:function(t,e,i){this._dstAngleX=0,this._startAngleX=0,this._diffAngleX=0,this._dstAngleY=0,this._startAngleY=0,this._diffAngleY=0,void 0!==e&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._dstAngleX=e||0,this._dstAngleY=void 0!==i?i:this._dstAngleX,!0)},clone:function(){var t=new cc.RotateTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._dstAngleX,this._dstAngleY),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.rotationX%360,i=this._dstAngleX-e;i>180&&(i-=360),i<-180&&(i+=360),this._startAngleX=e,this._diffAngleX=i,this._startAngleY=t.rotationY%360;var n=this._dstAngleY-this._startAngleY;n>180&&(n-=360),n<-180&&(n+=360),this._diffAngleY=n},reverse:function(){cc.logID(1016)},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.rotationX=this._startAngleX+this._diffAngleX*t,this.target.rotationY=this._startAngleY+this._diffAngleY*t)}}),cc.rotateTo=function(t,e,i){return new cc.RotateTo(t,e,i)},cc.RotateBy=cc.Class({name:"cc.RotateBy",extends:cc.ActionInterval,ctor:function(t,e,i){this._angleX=0,this._startAngleX=0,this._angleY=0,this._startAngleY=0,void 0!==e&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._angleX=e||0,this._angleY=void 0!==i?i:this._angleX,!0)},clone:function(){var t=new cc.RotateBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._angleX,this._angleY),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startAngleX=t.rotationX,this._startAngleY=t.rotationY},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.rotationX=this._startAngleX+this._angleX*t,this.target.rotationY=this._startAngleY+this._angleY*t)},reverse:function(){var t=new cc.RotateBy(this._duration,-this._angleX,-this._angleY);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.rotateBy=function(t,e,i){return new cc.RotateBy(t,e,i)},cc.MoveBy=cc.Class({name:"cc.MoveBy",extends:cc.ActionInterval,ctor:function(t,e,i){this._positionDelta=cc.v2(0,0),this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),void 0!==e&&cc.MoveBy.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(void 0!==e.x&&(i=e.y,e=e.x),this._positionDelta.x=e,this._positionDelta.y=i,!0)},clone:function(){var t=new cc.MoveBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._positionDelta),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=this._positionDelta.x*t,i=this._positionDelta.y*t,n=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var r=this.target.x,s=this.target.y,a=this._previousPosition;n.x=n.x+r-a.x,n.y=n.y+s-a.y,e+=n.x,i+=n.y,a.x=e,a.y=i,this.target.setPosition(e,i)}else this.target.setPosition(n.x+e,n.y+i)}},reverse:function(){var t=new cc.MoveBy(this._duration,cc.v2(-this._positionDelta.x,-this._positionDelta.y));return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.moveBy=function(t,e,i){return new cc.MoveBy(t,e,i)},cc.MoveTo=cc.Class({name:"cc.MoveTo",extends:cc.MoveBy,ctor:function(t,e,i){this._endPosition=cc.v2(0,0),void 0!==e&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){return!!cc.MoveBy.prototype.initWithDuration.call(this,t,e,i)&&(void 0!==e.x&&(i=e.y,e=e.x),this._endPosition.x=e,this._endPosition.y=i,!0)},clone:function(){var t=new cc.MoveTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endPosition),t},startWithTarget:function(t){cc.MoveBy.prototype.startWithTarget.call(this,t),this._positionDelta.x=this._endPosition.x-t.x,this._positionDelta.y=this._endPosition.y-t.y}}),cc.moveTo=function(t,e,i){return new cc.MoveTo(t,e,i)},cc.SkewTo=cc.Class({name:"cc.SkewTo",extends:cc.ActionInterval,ctor:function(t,e,i){this._skewX=0,this._skewY=0,this._startSkewX=0,this._startSkewY=0,this._endSkewX=0,this._endSkewY=0,this._deltaX=0,this._deltaY=0,void 0!==i&&cc.SkewTo.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){var n=!1;return cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._endSkewX=e,this._endSkewY=i,n=!0),n},clone:function(){var t=new cc.SkewTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endSkewX,this._endSkewY),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startSkewX=t.skewX%180,this._deltaX=this._endSkewX-this._startSkewX,this._deltaX>180&&(this._deltaX-=360),this._deltaX<-180&&(this._deltaX+=360),this._startSkewY=t.skewY%360,this._deltaY=this._endSkewY-this._startSkewY,this._deltaY>180&&(this._deltaY-=360),this._deltaY<-180&&(this._deltaY+=360)},update:function(t){t=this._computeEaseTime(t),this.target.skewX=this._startSkewX+this._deltaX*t,this.target.skewY=this._startSkewY+this._deltaY*t}}),cc.skewTo=function(t,e,i){return new cc.SkewTo(t,e,i)},cc.SkewBy=cc.Class({name:"cc.SkewBy",extends:cc.SkewTo,ctor:function(t,e,i){void 0!==i&&this.initWithDuration(t,e,i)},initWithDuration:function(t,e,i){var n=!1;return cc.SkewTo.prototype.initWithDuration.call(this,t,e,i)&&(this._skewX=e,this._skewY=i,n=!0),n},clone:function(){var t=new cc.SkewBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._skewX,this._skewY),t},startWithTarget:function(t){cc.SkewTo.prototype.startWithTarget.call(this,t),this._deltaX=this._skewX,this._deltaY=this._skewY,this._endSkewX=this._startSkewX+this._deltaX,this._endSkewY=this._startSkewY+this._deltaY},reverse:function(){var t=new cc.SkewBy(this._duration,-this._skewX,-this._skewY);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.skewBy=function(t,e,i){return new cc.SkewBy(t,e,i)},cc.JumpBy=cc.Class({name:"cc.JumpBy",extends:cc.ActionInterval,ctor:function(t,e,i,n,r){this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),this._delta=cc.v2(0,0),this._height=0,this._jumps=0,void 0!==n&&cc.JumpBy.prototype.initWithDuration.call(this,t,e,i,n,r)},initWithDuration:function(t,e,i,n,r){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(void 0===r&&(r=n,n=i,i=e.y,e=e.x),this._delta.x=e,this._delta.y=i,this._height=n,this._jumps=r,!0)},clone:function(){var t=new cc.JumpBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._delta,this._height,this._jumps),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=t*this._jumps%1,i=4*this._height*e*(1-e);i+=this._delta.y*t;var n=this._delta.x*t,r=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var s=this.target.x,a=this.target.y,o=this._previousPosition;r.x=r.x+s-o.x,r.y=r.y+a-o.y,n+=r.x,i+=r.y,o.x=n,o.y=i,this.target.setPosition(n,i)}else this.target.setPosition(r.x+n,r.y+i)}},reverse:function(){var t=new cc.JumpBy(this._duration,cc.v2(-this._delta.x,-this._delta.y),this._height,this._jumps);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.jumpBy=function(t,e,i,n,r){return new cc.JumpBy(t,e,i,n,r)},cc.JumpTo=cc.Class({name:"cc.JumpTo",extends:cc.JumpBy,ctor:function(t,e,i,n,r){this._endPosition=cc.v2(0,0),void 0!==n&&this.initWithDuration(t,e,i,n,r)},initWithDuration:function(t,e,i,n,r){return!!cc.JumpBy.prototype.initWithDuration.call(this,t,e,i,n,r)&&(void 0===r&&(i=e.y,e=e.x),this._endPosition.x=e,this._endPosition.y=i,!0)},startWithTarget:function(t){cc.JumpBy.prototype.startWithTarget.call(this,t),this._delta.x=this._endPosition.x-this._startPosition.x,this._delta.y=this._endPosition.y-this._startPosition.y},clone:function(){var t=new cc.JumpTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endPosition,this._height,this._jumps),t}}),cc.jumpTo=function(t,e,i,n,r){return new cc.JumpTo(t,e,i,n,r)},cc.BezierBy=cc.Class({name:"cc.BezierBy",extends:cc.ActionInterval,ctor:function(t,e){this._config=[],this._startPosition=cc.v2(0,0),this._previousPosition=cc.v2(0,0),e&&cc.BezierBy.prototype.initWithDuration.call(this,t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._config=e,!0)},clone:function(){var t=new cc.BezierBy;this._cloneDecoration(t);for(var e=[],i=0;i<this._config.length;i++){var n=this._config[i];e.push(cc.v2(n.x,n.y))}return t.initWithDuration(this._duration,e),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.x,i=t.y;this._previousPosition.x=e,this._previousPosition.y=i,this._startPosition.x=e,this._startPosition.y=i},update:function(t){if(t=this._computeEaseTime(t),this.target){var e=this._config,i=e[0].x,r=e[1].x,s=e[2].x,a=e[0].y,o=e[1].y,h=e[2].y,l=n(0,i,r,s,t),c=n(0,a,o,h,t),u=this._startPosition;if(cc.macro.ENABLE_STACKABLE_ACTIONS){var _=this.target.x,f=this.target.y,m=this._previousPosition;u.x=u.x+_-m.x,u.y=u.y+f-m.y,l+=u.x,c+=u.y,m.x=l,m.y=c,this.target.setPosition(l,c)}else this.target.setPosition(u.x+l,u.y+c)}},reverse:function(){var t=this._config,e=t[0].x,i=t[0].y,n=t[1].x,r=t[1].y,s=t[2].x,a=t[2].y,o=[cc.v2(n-s,r-a),cc.v2(e-s,i-a),cc.v2(-s,-a)],h=new cc.BezierBy(this._duration,o);return this._cloneDecoration(h),this._reverseEaseList(h),h}}),cc.bezierBy=function(t,e){return new cc.BezierBy(t,e)},cc.BezierTo=cc.Class({name:"cc.BezierTo",extends:cc.BezierBy,ctor:function(t,e){this._toConfig=[],e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._toConfig=e,!0)},clone:function(){var t=new cc.BezierTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toConfig),t},startWithTarget:function(t){cc.BezierBy.prototype.startWithTarget.call(this,t);var e=this._startPosition,i=this._toConfig,n=this._config;n[0]=i[0].sub(e),n[1]=i[1].sub(e),n[2]=i[2].sub(e)}}),cc.bezierTo=function(t,e){return new cc.BezierTo(t,e)},cc.ScaleTo=cc.Class({name:"cc.ScaleTo",extends:cc.ActionInterval,ctor:function(t,e,i){this._scaleX=1,this._scaleY=1,this._startScaleX=1,this._startScaleY=1,this._endScaleX=0,this._endScaleY=0,this._deltaX=0,this._deltaY=0,void 0!==e&&cc.ScaleTo.prototype.initWithDuration.call(this,t,e,i)},initWithDuration:function(t,e,i){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._endScaleX=e,this._endScaleY=null!=i?i:e,!0)},clone:function(){var t=new cc.ScaleTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endScaleX,this._endScaleY),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._startScaleX=t.scaleX,this._startScaleY=t.scaleY,this._deltaX=this._endScaleX-this._startScaleX,this._deltaY=this._endScaleY-this._startScaleY},update:function(t){t=this._computeEaseTime(t),this.target&&(this.target.scaleX=this._startScaleX+this._deltaX*t,this.target.scaleY=this._startScaleY+this._deltaY*t)}}),cc.scaleTo=function(t,e,i){return new cc.ScaleTo(t,e,i)},cc.ScaleBy=cc.Class({name:"cc.ScaleBy",extends:cc.ScaleTo,startWithTarget:function(t){cc.ScaleTo.prototype.startWithTarget.call(this,t),this._deltaX=this._startScaleX*this._endScaleX-this._startScaleX,this._deltaY=this._startScaleY*this._endScaleY-this._startScaleY},reverse:function(){var t=new cc.ScaleBy(this._duration,1/this._endScaleX,1/this._endScaleY);return this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.ScaleBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._endScaleX,this._endScaleY),t}}),cc.scaleBy=function(t,e,i){return new cc.ScaleBy(t,e,i)},cc.Blink=cc.Class({name:"cc.Blink",extends:cc.ActionInterval,ctor:function(t,e){this._times=0,this._originalState=!1,void 0!==e&&this.initWithDuration(t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._times=e,!0)},clone:function(){var t=new cc.Blink;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._times),t},update:function(t){if(t=this._computeEaseTime(t),this.target&&!this.isDone()){var e=1/this._times,i=t%e;this.target.opacity=i>e/2?255:0}},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._originalState=t.opacity},stop:function(){this.target.opacity=this._originalState,cc.ActionInterval.prototype.stop.call(this)},reverse:function(){var t=new cc.Blink(this._duration,this._times);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.blink=function(t,e){return new cc.Blink(t,e)},cc.FadeTo=cc.Class({name:"cc.FadeTo",extends:cc.ActionInterval,ctor:function(t,e){this._toOpacity=0,this._fromOpacity=0,void 0!==e&&cc.FadeTo.prototype.initWithDuration.call(this,t,e)},initWithDuration:function(t,e){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._toOpacity=e,!0)},clone:function(){var t=new cc.FadeTo;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t},update:function(t){t=this._computeEaseTime(t);var e=void 0!==this._fromOpacity?this._fromOpacity:255;this.target.opacity=e+(this._toOpacity-e)*t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._fromOpacity=t.opacity}}),cc.fadeTo=function(t,e){return new cc.FadeTo(t,e)},cc.FadeIn=cc.Class({name:"cc.FadeIn",extends:cc.FadeTo,ctor:function(t){null==t&&(t=0),this._reverseAction=null,this.initWithDuration(t,255)},reverse:function(){var t=new cc.FadeOut;return t.initWithDuration(this._duration,0),this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.FadeIn;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t},startWithTarget:function(t){this._reverseAction&&(this._toOpacity=this._reverseAction._fromOpacity),cc.FadeTo.prototype.startWithTarget.call(this,t)}}),cc.fadeIn=function(t){return new cc.FadeIn(t)},cc.FadeOut=cc.Class({name:"cc.FadeOut",extends:cc.FadeTo,ctor:function(t){null==t&&(t=0),this._reverseAction=null,this.initWithDuration(t,0)},reverse:function(){var t=new cc.FadeIn;return t._reverseAction=this,t.initWithDuration(this._duration,255),this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.FadeOut;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._toOpacity),t}}),cc.fadeOut=function(t){return new cc.FadeOut(t)},cc.TintTo=cc.Class({name:"cc.TintTo",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._to=cc.color(0,0,0),this._from=cc.color(0,0,0),e instanceof cc.Color&&(n=e.b,i=e.g,e=e.r),void 0!==n&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,e,i,n){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._to=cc.color(e,i,n),!0)},clone:function(){var t=new cc.TintTo;this._cloneDecoration(t);var e=this._to;return t.initWithDuration(this._duration,e.r,e.g,e.b),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._from=this.target.color},update:function(t){t=this._computeEaseTime(t);var e=this._from,i=this._to;e&&(this.target.color=cc.color(e.r+(i.r-e.r)*t,e.g+(i.g-e.g)*t,e.b+(i.b-e.b)*t))}}),cc.tintTo=function(t,e,i,n){return new cc.TintTo(t,e,i,n)},cc.TintBy=cc.Class({name:"cc.TintBy",extends:cc.ActionInterval,ctor:function(t,e,i,n){this._deltaR=0,this._deltaG=0,this._deltaB=0,this._fromR=0,this._fromG=0,this._fromB=0,void 0!==n&&this.initWithDuration(t,e,i,n)},initWithDuration:function(t,e,i,n){return!!cc.ActionInterval.prototype.initWithDuration.call(this,t)&&(this._deltaR=e,this._deltaG=i,this._deltaB=n,!0)},clone:function(){var t=new cc.TintBy;return this._cloneDecoration(t),t.initWithDuration(this._duration,this._deltaR,this._deltaG,this._deltaB),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=t.color;this._fromR=e.r,this._fromG=e.g,this._fromB=e.b},update:function(t){t=this._computeEaseTime(t),this.target.color=cc.color(this._fromR+this._deltaR*t,this._fromG+this._deltaG*t,this._fromB+this._deltaB*t)},reverse:function(){var t=new cc.TintBy(this._duration,-this._deltaR,-this._deltaG,-this._deltaB);return this._cloneDecoration(t),this._reverseEaseList(t),t}}),cc.tintBy=function(t,e,i,n){return new cc.TintBy(t,e,i,n)},cc.DelayTime=cc.Class({name:"cc.DelayTime",extends:cc.ActionInterval,update:function(t){},reverse:function(){var t=new cc.DelayTime(this._duration);return this._cloneDecoration(t),this._reverseEaseList(t),t},clone:function(){var t=new cc.DelayTime;return this._cloneDecoration(t),t.initWithDuration(this._duration),t}}),cc.delayTime=function(t){return new cc.DelayTime(t)},cc.ReverseTime=cc.Class({name:"cc.ReverseTime",extends:cc.ActionInterval,ctor:function(t){this._other=null,t&&this.initWithAction(t)},initWithAction:function(t){return t?t===this._other?(cc.errorID(1029),!1):!!cc.ActionInterval.prototype.initWithDuration.call(this,t._duration)&&(this._other=t,!0):(cc.errorID(1028),!1)},clone:function(){var t=new cc.ReverseTime;return this._cloneDecoration(t),t.initWithAction(this._other.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._other.startWithTarget(t)},update:function(t){t=this._computeEaseTime(t),this._other&&this._other.update(1-t)},reverse:function(){return this._other.clone()},stop:function(){this._other.stop(),cc.Action.prototype.stop.call(this)}}),cc.reverseTime=function(t){return new cc.ReverseTime(t)},cc.TargetedAction=cc.Class({name:"cc.TargetedAction",extends:cc.ActionInterval,ctor:function(t,e){this._action=null,this._forcedTarget=null,e&&this.initWithTarget(t,e)},initWithTarget:function(t,e){return!!this.initWithDuration(e._duration)&&(this._forcedTarget=t,this._action=e,!0)},clone:function(){var t=new cc.TargetedAction;return this._cloneDecoration(t),t.initWithTarget(this._forcedTarget,this._action.clone()),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t),this._action.startWithTarget(this._forcedTarget)},stop:function(){this._action.stop()},update:function(t){t=this._computeEaseTime(t),this._action.update(t)},getForcedTarget:function(){return this._forcedTarget},setForcedTarget:function(t){this._forcedTarget!==t&&(this._forcedTarget=t)}}),cc.targetedAction=function(t,e){return new cc.TargetedAction(t,e)}}),{}],6:[(function(t,e,i){t("../core/platform/CCClass");var n=t("../core/platform/js");cc.ActionManager=function(){this._hashTargets=n.createMap(!0),this._arrayTargets=[],this._currentTarget=null,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},cc.ActionManager.prototype={constructor:cc.ActionManager,_elementPool:[],_searchElementByTarget:function(t,e){for(var i=0;i<t.length;i++)if(e===t[i].target)return t[i];return null},_getElement:function(t,e){var i=this._elementPool.pop();return i||(i=new function(){this.actions=[],this.target=null,this.actionIndex=0,this.currentAction=null,this.paused=!1,this.lock=!1}),i.target=t,i.paused=!!e,i},_putElement:function(t){t.actions.length=0,t.actionIndex=0,t.currentAction=null,t.paused=!1,t.target=null,t.lock=!1,this._elementPool.push(t)},addAction:function(t,e,i){if(t&&e){var n=this._hashTargets[e._id];n?n.actions||(n.actions=[]):(n=this._getElement(e,i),this._hashTargets[e._id]=n,this._arrayTargets.push(n)),n.actions.push(t),t.startWithTarget(e)}else cc.errorID(1e3)},removeAllActions:function(){for(var t=this._arrayTargets,e=0;e<t.length;e++){var i=t[e];i&&this._putElement(i)}this._arrayTargets.length=0,this._hashTargets=n.createMap(!0)},removeAllActionsFromTarget:function(t,e){if(null!=t){var i=this._hashTargets[t._id];i&&(i.actions.length=0,this._deleteHashElement(i))}},removeAction:function(t){if(null!=t){var e=t.getOriginalTarget(),i=this._hashTargets[e._id];if(i){for(var n=0;n<i.actions.length;n++)if(i.actions[n]===t){i.actions.splice(n,1),i.actionIndex>=n&&i.actionIndex--;break}}else cc.logID(1001)}},removeActionByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1002),cc.assertID(e,1003);var i=this._hashTargets[e._id];if(i)for(var n=i.actions.length,r=0;r<n;++r){var s=i.actions[r];if(s&&s.getTag()===t&&s.getOriginalTarget()===e){this._removeActionAtIndex(r,i);break}}},getActionByTag:function(t,e){t===cc.Action.TAG_INVALID&&cc.logID(1004);var i=this._hashTargets[e._id];if(i){if(null!=i.actions)for(var n=0;n<i.actions.length;++n){var r=i.actions[n];if(r&&r.getTag()===t)return r}cc.logID(1005,t)}return null},getNumberOfRunningActionsInTarget:function(t){var e=this._hashTargets[t._id];return e&&e.actions?e.actions.length:0},pauseTarget:function(t){var e=this._hashTargets[t._id];e&&(e.paused=!0)},resumeTarget:function(t){var e=this._hashTargets[t._id];e&&(e.paused=!1)},pauseAllRunningActions:function(){for(var t=[],e=this._arrayTargets,i=0;i<e.length;i++){var n=e[i];n&&!n.paused&&(n.paused=!0,t.push(n.target))}return t},resumeTargets:function(t){if(t)for(var e=0;e<t.length;e++)t[e]&&this.resumeTarget(t[e])},pauseTargets:function(t){if(t)for(var e=0;e<t.length;e++)t[e]&&this.pauseTarget(t[e])},purgeSharedManager:function(){cc.director.getScheduler().unscheduleUpdate(this)},_removeActionAtIndex:function(t,e){e.actions[t];e.actions.splice(t,1),e.actionIndex>=t&&e.actionIndex--,0===e.actions.length&&this._deleteHashElement(e)},_deleteHashElement:function(t){var e=!1;if(t&&!t.lock&&this._hashTargets[t.target._id]){delete this._hashTargets[t.target._id];for(var i=this._arrayTargets,n=0,r=i.length;n<r;n++)if(i[n]===t){i.splice(n,1);break}this._putElement(t),e=!0}return e},update:function(t){for(var e,i=this._arrayTargets,n=0;n<i.length;n++){if(this._currentTarget=i[n],!(e=this._currentTarget).paused&&e.actions){for(e.lock=!0,e.actionIndex=0;e.actionIndex<e.actions.length;e.actionIndex++)if(e.currentAction=e.actions[e.actionIndex],e.currentAction){if(e.currentAction.step(t*(e.currentAction._speedMethod?e.currentAction._speed:1)),e.currentAction&&e.currentAction.isDone()){e.currentAction.stop();var r=e.currentAction;e.currentAction=null,this.removeAction(r)}e.currentAction=null}e.lock=!1}0===e.actions.length&&this._deleteHashElement(e)&&n--}}}}),{"../core/platform/CCClass":160,"../core/platform/js":180}],7:[(function(t,e,i){t("./CCActionManager"),t("./CCAction"),t("./CCActionInterval"),t("./CCActionInstant"),t("./CCActionEase"),t("./CCActionCatmullRom"),t("./tween")}),{"./CCAction":1,"./CCActionCatmullRom":2,"./CCActionEase":3,"./CCActionInstant":4,"./CCActionInterval":5,"./CCActionManager":6,"./tween":8}],8:[(function(t,e,i){var n=cc.Class({name:"cc.TweenAction",extends:cc.ActionInterval,ctor:function(t,e,i){this._opts=i=i||Object.create(null),this._props=Object.create(null),i.progress=i.progress||this.progress,i.easing&&"string"==typeof i.easing&&(i.easing=cc.easing[i.easing]);for(var n in e){var r=e[n],s=void 0,a=void 0;if(r.value&&(r.easing||r.progress)&&(s="string"==typeof r.easing?cc.easing[r.easing]:r.easing,a=r.progress,r=r.value),"number"==typeof r||r.lerp&&(r.add||r.mul)&&r.clone){var o=Object.create(null);o.value=r,o.easing=s,o.progress=a,this._props[n]=o}else cc.warn("Can not animate "+n+" property, because it do not have [lerp, (add|mul), clone] function.")}this._originProps=e,this.initWithDuration(t)},clone:function(){var t=new n(this._duration,this._originProps,this._opts);return this._cloneDecoration(t),t},startWithTarget:function(t){cc.ActionInterval.prototype.startWithTarget.call(this,t);var e=!!this._opts.relative,i=this._props;for(var n in i){var r=t[n],s=i[n];"number"==typeof r?(s.start=r,s.current=r,s.end=e?r+s.value:s.value):(s.start=r.clone(),s.current=r.clone(),s.end=e?(r.add||r.mul).call(r,s.value):s.value)}},update:function(t){var e=this._opts,i=t;e.easing&&(i=e.easing(t));var n=this.target;if(n){var r=this._props,s=this._opts.progress;for(var a in r){var o=r[a],h=o.easing?o.easing(t):i,l=o.current=(o.progress||s)(o.start,o.end,o.current,h);n[a]=l}}},progress:function(t,e,i,n){return"number"==typeof t?i=t+(e-t)*n:t.lerp(e,n,i),i}});function r(t){this._actions=[],this._finalAction=null,this._target=t}r.prototype.then=function(t){if(t instanceof cc.Action)this._actions.push(t.clone());else for(var e=t._actions,i=0;i<e.length;i++)this._actions.push(e[i].clone());return this},r.prototype.target=function(t){return this._target=t,this},r.prototype.start=function(){return this._target?(this._finalAction||(this._finalAction=this._get()),cc.director.getActionManager().addAction(this._finalAction,this._target,!1),this):(cc.warn("Please set target to tween first"),this)},r.prototype.stop=function(){return this._finalAction&&cc.director.getActionManager().removeAction(this._finalAction),this},r.prototype.clone=function(t){var e=this._get();return cc.tween(t).then(e.clone())},r.prototype._get=function(){var t=this._actions;return t=1===t.length?t[0]:cc.sequence(t)};for(var s={to:function(t,e,i){return(i=i||Object.create(null)).relative=!1,new n(t,e,i)},by:function(t,e,i){return(i=i||Object.create(null)).relative=!0,new n(t,e,i)},delay:cc.delayTime,call:cc.callFunc,hide:cc.hide,show:cc.show,removeSelf:cc.removeSelf,sequence:cc.sequence},a={repeat:cc.repeat,repeatForever:cc.repeatForever,reverseTime:cc.reverseTime},o=Object.keys(s),h=function(t){var e=o[t];r.prototype[e]=function(){var t=s[e].apply(s,arguments);return this._actions.push(t),this._finalAction=null,this}},l=0;l<o.length;l++)h(l);o=Object.keys(a);var c=function(t){var e=o[t];r.prototype[e]=function(){for(var t=[],i=arguments.length,n=0;n<i;n++)t[n]=arguments[n];var r=arguments[0];return r instanceof cc.Action||(r=this._get()),r=a[e].apply(a,[r].concat(t)),this._actions.length=0,this._actions.push(r),this._finalAction=null,this}};for(l=0;l<o.length;l++)c(l);cc.tween=function(t){return new r(t)},cc.Tween=r}),{}],9:[(function(t,e,i){var n=cc.js,r=t("./playable"),s=t("./animation-curves").DynamicAnimCurve,a=t("./animation-curves").quickFindIndex,o=t("./motion-path-helper").sampleMotionPaths,h=t("./animation-curves").EventAnimCurve,l=t("./animation-curves").EventInfo,c=t("./types").WrapModeMask,u=t("../core/utils/binary-search").binarySearchEpsilon;function _(t,e){r.call(this),this.target=t,this.animation=e,this._anims=new n.array.MutableForwardIterator([])}n.extend(_,r);var f=_.prototype;function m(t,e){var i=e.clip,n=e.curves;function r(t){if(!Array.isArray(t))return!1;for(var e=0,i=t.length;e<i;e++){var n=t[e];if(!Array.isArray(n)||6!==n.length)return!1}return!0}function _(t,n,h){var l,c=t instanceof cc.Node&&"position"===n&&h[0]&&Array.isArray(h[0].value),_=[],f=new s;f.target=t;var m=n.indexOf(".");-1!==m?t[l=n.slice(0,m)]:l=n,f.prop=l,f.subProps=(function(t){var e=t.split(".");return e.shift(),e.length>0?e:null})(n);for(var d=0,p=h.length;d<p;d++){var y=h[d],v=y.frame/e.duration;if(f.ratios.push(v),c){var g=y.motionPath;g&&!r(g)&&(cc.errorID(3904,t.name,n,d),g=null),_.push(g)}var x=y.value;f.values.push(x);var A=y.curve;if(A){if("string"==typeof A){f.types.push(A);continue}if(Array.isArray(A)){A[0]===A[1]&&A[2]===A[3]?f.types.push(s.Linear):f.types.push(s.Bezier(A));continue}}f.types.push(s.Linear)}c&&o(_,f,i.duration,i.sample);for(var b,C,S=f.ratios,T=!0,w=1,E=S.length;w<E;w++)if(b=S[w]-S[w-1],1===w)C=b;else if(Math.abs(b-C)>1e-6){T=!1;break}return f._findFrameIndex=T?a:u,f}function f(t,e){var i=e.props,r=e.comps;if(i)for(var s in i){var a=_(t,s,i[s]);n.push(a)}if(r)for(var o in r){var h=t.getComponent(o);if(h){var l=r[o];for(var s in l){a=_(h,s,l[s]);n.push(a)}}}}n.length=0,e.duration=i.duration,e.speed=i.speed,e.wrapMode=i.wrapMode,e.frameRate=i.sample,(e.wrapMode&c.Loop)===c.Loop?e.repeatCount=1/0:e.repeatCount=1;var m=i.curveData,d=m.paths;f(t,m);for(var p in d){var y=cc.find(p,t);if(y)f(y,d[p])}var v=i.events;if(v)for(var g,x=0,A=v.length;x<A;x++){g||((g=new h).target=t,n.push(g));var b,C=v[x],S=C.frame/e.duration,T=u(g.ratios,S);T>=0?b=g.events[T]:(b=new l,g.ratios.push(S),g.events.push(b)),b.add(C.func,C.params)}}f.playState=function(t,e){t.clip&&(t.curveLoaded||m(this.target,t),t.animator=this,t.play(),"number"==typeof e&&t.setTime(e),this.play())},f.stopStatesExcept=function(t){var e=this._anims,i=e.array;for(e.i=0;e.i<i.length;++e.i){var n=i[e.i];n!==t&&this.stopState(n)}},f.addAnimation=function(t){-1===this._anims.array.indexOf(t)&&this._anims.push(t),t._setEventTarget(this.animation)},f.removeAnimation=function(t){var e=this._anims.array.indexOf(t);e>=0?(this._anims.fastRemoveAt(e),0===this._anims.array.length&&this.stop()):cc.errorID(3908),t.animator=null},f.sample=function(){var t=this._anims,e=t.array;for(t.i=0;t.i<e.length;++t.i){e[t.i].sample()}},f.stopState=function(t){t&&t.stop()},f.pauseState=function(t){t&&t.pause()},f.resumeState=function(t){t&&t.resume(),this.isPaused&&this.resume()},f.setStateTime=function(t,e){if(void 0!==e)t&&(t.setTime(e),t.sample());else{e=t;for(var i=this._anims.array,n=0;n<i.length;++n){var r=i[n];r.setTime(e),r.sample()}}},f.onStop=function(){var t=this._anims,e=t.array;for(t.i=0;t.i<e.length;++t.i){e[t.i].stop()}},f.onPause=function(){for(var t=this._anims.array,e=0;e<t.length;++e){var i=t[e];i.pause(),i.animator=null}},f.onResume=function(){for(var t=this._anims.array,e=0;e<t.length;++e){var i=t[e];i.animator=this,i.resume()}},f._reloadClip=function(t){m(this.target,t)},e.exports=_}),{"../core/utils/binary-search":236,"./animation-curves":11,"./motion-path-helper":17,"./playable":18,"./types":19}],10:[(function(t,e,i){var n=cc.Class({name:"cc.AnimationClip",extends:cc.Asset,properties:{_duration:{default:0,type:"Float"},duration:{get:function(){return this._duration}},sample:{default:60},speed:{default:1},wrapMode:{default:cc.WrapMode.Normal},curveData:{default:{},visible:!1},events:{default:[],visible:!1}},statics:{createWithSpriteFrames:function(t,e){if(!Array.isArray(t))return cc.errorID(3905),null;var i=new n;i.sample=e||i.sample,i._duration=t.length/i.sample;for(var r=[],s=1/i.sample,a=0,o=t.length;a<o;a++)r[a]={frame:a*s,value:t[a]};return i.curveData={comps:{"cc.Sprite":{spriteFrame:r}}},i}}});cc.AnimationClip=e.exports=n}),{}],11:[(function(t,e,i){var n=t("./bezier").bezierByTime,r=t("../core/utils/binary-search").binarySearchEpsilon,s=t("./types").WrapModeMask,a=t("./types").WrappedInfo;function o(t,e){if("string"==typeof e){var i=cc.easing[e];i?t=i(t):cc.errorID(3906,e)}else Array.isArray(e)&&(t=n(e,t));return t}var h=cc.Class({name:"cc.AnimCurve",sample:function(t,e,i){},onTimeChangedManually:void 0});function l(t,e){var i=t.length-1;if(0===i)return 0;var n=t[0];if(e<n)return 0;var r=t[i];if(e>r)return i;var s=(e=(e-n)/(r-n))/(1/i),a=0|s;return s-a<1e-6?a:a+1-s<1e-6?a+1:~(a+1)}var c=cc.Class({name:"cc.DynamicAnimCurve",extends:h,properties:{target:null,prop:"",values:[],ratios:[],types:[],subProps:null},_findFrameIndex:r,sample:function(t,e,i){var n=this.values,r=this.ratios,s=r.length;if(0!==s){var a,h=this._findFrameIndex(r,e);if(h<0)if((h=~h)<=0)a=n[0];else if(h>=s)a=n[s-1];else{var l=n[h-1],c="number"==typeof l,u=l&&l.lerp;if(c||u){var _=r[h-1],f=r[h],m=this.types[h-1],d=(e-_)/(f-_);m&&(d=o(d,m));var p=n[h];c?a=l+(p-l)*d:u&&(a=l.lerp(p,d))}else a=l}else a=n[h];var y=this.subProps;if(y){for(var v=this.target[this.prop],g=v,x=0;x<y.length-1;x++){var A=y[x];if(!g)return;g=g[A]}var b=y[y.length-1];if(!g)return;g[b]=a,a=v}this.target[this.prop]=a}}});c.Linear=null,c.Bezier=function(t){return t};var u=function(){this.events=[]};u.prototype.add=function(t,e){this.events.push({func:t||"",params:e||[]})};var _=cc.Class({name:"cc.EventAnimCurve",extends:h,properties:{target:null,ratios:[],events:[],_wrappedInfo:{default:function(){return new a}},_lastWrappedInfo:null,_ignoreIndex:NaN},_wrapIterations:function(t){return t-(0|t)==0&&(t-=1),0|t},sample:function(t,e,i){var n=this.ratios.length,o=i.getWrappedInfo(i.time,this._wrappedInfo),h=o.direction,l=r(this.ratios,o.ratio);if(l<0&&(l=~l-1,h<0&&(l+=1)),this._ignoreIndex!==l&&(this._ignoreIndex=NaN),o.frameIndex=l,!this._lastWrappedInfo)return this._fireEvent(l),void(this._lastWrappedInfo=new a(o));var c=i.wrapMode,u=this._wrapIterations(o.iterations),_=this._lastWrappedInfo,f=this._wrapIterations(_.iterations),m=_.frameIndex,d=_.direction,p=-1!==f&&u!==f;if(m===l&&p&&1===n)this._fireEvent(0);else if(m!==l||p){h=d;do{if(m!==l){if(-1===h&&0===m&&l>0?((c&s.PingPong)===s.PingPong?h*=-1:m=n,f++):1===h&&m===n-1&&l<n-1&&((c&s.PingPong)===s.PingPong?h*=-1:m=-1,f++),m===l)break;if(f>u)break}m+=h,cc.director.getAnimationManager().pushDelayEvent(this,"_fireEvent",[m])}while(m!==l&&m>-1&&m<n)}this._lastWrappedInfo.set(o)},_fireEvent:function(t){if(!(t<0||t>=this.events.length||this._ignoreIndex===t)){var e=this.events[t].events;if(this.target.isValid)for(var i=this.target._components,n=0;n<e.length;n++)for(var r=e[n],s=r.func,a=0;a<i.length;a++){var o=i[a],h=o[s];h&&h.apply(o,r.params)}}},onTimeChangedManually:function(t,e){this._lastWrappedInfo=null,this._ignoreIndex=NaN;var i=e.getWrappedInfo(t,this._wrappedInfo),n=i.direction,s=r(this.ratios,i.ratio);s<0&&(s=~s-1,n<0&&(s+=1),this._ignoreIndex=s)}});e.exports={AnimCurve:h,DynamicAnimCurve:c,EventAnimCurve:_,EventInfo:u,computeRatioByType:o,quickFindIndex:l}}),{"../core/utils/binary-search":236,"./bezier":14,"./types":19}],12:[(function(t,e,i){var n=cc.js,r=cc.Class({ctor:function(){this._anims=new n.array.MutableForwardIterator([]),this._delayEvents=[],cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},update:function(t){var e=this._anims,i=e.array;for(e.i=0;e.i<i.length;++e.i){var n=i[e.i];n._isPlaying&&!n._isPaused&&n.update(t)}for(var r=this._delayEvents,s=0,a=r.length;s<a;s++){var o=r[s];o.target[o.func].apply(o.target,o.args)}r.length=0},destruct:function(){},addAnimation:function(t){-1===this._anims.array.indexOf(t)&&this._anims.push(t)},removeAnimation:function(t){var e=this._anims.array.indexOf(t);e>=0?this._anims.fastRemoveAt(e):cc.errorID(3907)},pushDelayEvent:function(t,e,i){this._delayEvents.push({target:t,func:e,args:i})}});cc.AnimationManager=e.exports=r}),{}],13:[(function(t,e,i){var n=cc.js,r=t("./playable"),s=t("./types"),a=s.WrappedInfo,o=s.WrapMode,h=s.WrapModeMask;function l(t,e){r.call(this),this._currentFramePlayed=!1,this._delay=0,this._delayTime=0,this._wrappedInfo=new a,this._lastWrappedInfo=null,this._process=u,this._clip=t,this._name=e||t&&t.name,this.animator=null,this.curves=[],this.delay=0,this.repeatCount=1,this.duration=1,this.speed=1,this.wrapMode=o.Normal,this.time=0,this._target=null,this._lastframeEventOn=!1,this.emit=function(){for(var t=new Array(arguments.length),e=0,i=t.length;e<i;e++)t[e]=arguments[e];cc.director.getAnimationManager().pushDelayEvent(this,"_emit",t)}}n.extend(l,r);var c=l.prototype;function u(){var t,e=this.sample();this._lastframeEventOn&&(t=this._lastWrappedInfo?this._lastWrappedInfo:this._lastWrappedInfo=new a(e),this.repeatCount>1&&(0|e.iterations)>(0|t.iterations)&&this.emit("lastframe",this),t.set(e));e.stopped&&(this.stop(),this.emit("finished",this))}function _(){var t=this.time,e=this.duration;t>e?0===(t%=e)&&(t=e):t<0&&0!==(t%=e)&&(t+=e);for(var i=t/e,n=this.curves,r=0,s=n.length;r<s;r++){n[r].sample(t,i,this)}this._lastframeEventOn&&(void 0===this._lastIterations&&(this._lastIterations=i),(this.time>0&&this._lastIterations>i||this.time<0&&this._lastIterations<i)&&this.emit("lastframe",this),this._lastIterations=i)}c._emit=function(t,e){this._target&&this._target.isValid&&this._target.emit(t,t,e)},c.on=function(t,e,i){return this._target&&this._target.isValid?("lastframe"===t&&(this._lastframeEventOn=!0),this._target.on(t,e,i)):null},c.once=function(t,e,i){var n=this;if(!this._target||!this._target.isValid)return null;var r=(function(){"lastframe"===t&&(n._lastframeEventOn=!0);var r=n;return{v:n._target.once(t,(function(t){e.call(i,t),r._lastframeEventOn=!1}))}})();return"object"==typeof r?r.v:void 0},c.off=function(t,e,i){this._target&&this._target.isValid&&("lastframe"===t&&(this._target.hasEventListener(t)||(this._lastframeEventOn=!1)),this._target.off(t,e,i))},c._setEventTarget=function(t){this._target=t},c.onPlay=function(){this.setTime(0),this._delayTime=this._delay,cc.director.getAnimationManager().addAnimation(this),this.animator&&this.animator.addAnimation(this),this.emit("play",this)},c.onStop=function(){this.isPaused||cc.director.getAnimationManager().removeAnimation(this),this.animator&&this.animator.removeAnimation(this),this.emit("stop",this)},c.onResume=function(){cc.director.getAnimationManager().addAnimation(this),this.emit("resume",this)},c.onPause=function(){cc.director.getAnimationManager().removeAnimation(this),this.emit("pause",this)},c.setTime=function(t){this._currentFramePlayed=!1,this.time=t||0;for(var e=this.curves,i=0,n=e.length;i<n;i++){var r=e[i];r.onTimeChangedManually&&r.onTimeChangedManually(t,this)}},c.update=function(t){this._delayTime>0&&(this._delayTime-=t,this._delayTime>0)||(this._currentFramePlayed?this.time+=t*this.speed:this._currentFramePlayed=!0,this._process())},c._needRevers=function(t){var e=this.wrapMode,i=!1;(e&h.PingPong)===h.PingPong&&(t-(0|t)==0&&t>0&&(t-=1),1&t&&(i=!i));return(e&h.Reverse)===h.Reverse&&(i=!i),i},c.getWrappedInfo=function(t,e){e=e||new a;var i=!1,n=this.duration,r=this.repeatCount,s=t>0?t/n:-t/n;if(s>=r){s=r,i=!0;var o=r-(0|r);0===o&&(o=1),t=o*n*(t>0?1:-1)}if(t>n){var l=t%n;t=0===l?n:l}else t<0&&0!==(t%=n)&&(t+=n);var c=!1,u=this._wrapMode&h.ShouldWrap;u&&(c=this._needRevers(s));var _=c?-1:1;return this.speed<0&&(_*=-1),u&&c&&(t=n-t),e.ratio=t/n,e.time=t,e.direction=_,e.stopped=i,e.iterations=s,e},c.sample=function(){for(var t=this.getWrappedInfo(this.time,this._wrappedInfo),e=this.curves,i=0,n=e.length;i<n;i++){e[i].sample(t.time,t.ratio,this)}return t},n.get(c,"clip",(function(){return this._clip})),n.get(c,"name",(function(){return this._name})),n.obsolete(c,"AnimationState.length","duration"),n.getset(c,"curveLoaded",(function(){return this.curves.length>0}),(function(){this.curves.length=0})),n.getset(c,"wrapMode",(function(){return this._wrapMode}),(function(t){this._wrapMode=t,this.time=0,t&h.Loop?this.repeatCount=1/0:this.repeatCount=1})),n.getset(c,"repeatCount",(function(){return this._repeatCount}),(function(t){this._repeatCount=t;var e=this._wrapMode&h.ShouldWrap,i=(this.wrapMode&h.Reverse)===h.Reverse;this._process=t!==1/0||e||i?u:_})),n.getset(c,"delay",(function(){return this._delay}),(function(t){this._delayTime=this._delay=t})),cc.AnimationState=e.exports=l}),{"./playable":18,"./types":19}],14:[(function(t,e,i){function n(t,e,i,n,r){var s=1-r;return t*s*s*s+3*e*s*s*r+3*i*s*r*r+n*r*r*r}var r=Math.cos,s=Math.acos,a=Math.max,o=2*Math.PI,h=Math.sqrt;function l(t){return t<0?-Math.pow(-t,1/3):Math.pow(t,1/3)}function c(t,e){var i=(function(t,e){var i,n,c,u,_=e-0,f=e-t[0],m=3*_,d=3*f,p=3*(e-t[2]),y=1/(-_+d-p+(e-1)),v=(m-6*f+p)*y,g=v*(1/3),x=(-m+d)*y,A=1/3*(3*x-v*v),b=A*(1/3),C=(2*v*v*v-9*v*x+_*y*27)/27,S=C/2,T=S*S+b*b*b;if(T<0){var w=1/3*-A,E=h(w*w*w),D=-C/(2*E),M=s(D<-1?-1:D>1?1:D),B=2*l(E);return n=B*r(M*(1/3))-g,c=B*r((M+o)*(1/3))-g,u=B*r((M+2*o)*(1/3))-g,0<=n&&n<=1?0<=c&&c<=1?0<=u&&u<=1?a(n,c,u):a(n,c):0<=u&&u<=1?a(n,u):n:0<=c&&c<=1?0<=u&&u<=1?a(c,u):c:u}if(0===T)return c=-(i=S<0?l(-S):-l(S))-g,0<=(n=2*i-g)&&n<=1?0<=c&&c<=1?a(n,c):n:c;var P=h(T);return n=(i=l(-S+P))-l(S+P)-g})(t,e),n=1-i;return 0*n*n*n+3*t[1]*i*n*n+3*t[3]*i*i*n+1*i*i*i}e.exports={bezier:n,bezierByTime:c}}),{}],15:[(function(t,e,i){var n={constant:function(){return 0},linear:function(t){return t},quadIn:function(t){return t*t},quadOut:function(t){return t*(2-t)},quadInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quartIn:function(t){return t*t*t*t},quartOut:function(t){return 1- --t*t*t*t},quartInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quintIn:function(t){return t*t*t*t*t},quintOut:function(t){return--t*t*t*t*t+1},quintInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sineIn:function(t){return 1-Math.cos(t*Math.PI/2)},sineOut:function(t){return Math.sin(t*Math.PI/2)},sineInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},expoIn:function(t){return 0===t?0:Math.pow(1024,t-1)},expoOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},expoInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circIn:function(t){return 1-Math.sqrt(1-t*t)},circOut:function(t){return Math.sqrt(1- --t*t)},circInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),-i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),i*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,i=.1;return 0===t?0:1===t?1:(!i||i<1?(i=1,e=.1):e=.4*Math.asin(1/i)/(2*Math.PI),(t*=2)<1?i*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:i*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)},backIn:function(t){return t*t*(2.70158*t-1.70158)},backOut:function(t){return--t*t*(2.70158*t+1.70158)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},smooth:function(t){return t<=0?0:t>=1?1:t*t*(3-2*t)},fade:function(t){return t<=0?0:t>=1?1:t*t*t*(t*(6*t-15)+10)}};function r(t,e){return function(i){return i<.5?e(2*i)/2:t(2*i-1)/2+.5}}n.quadOutIn=r(n.quadIn,n.quadOut),n.cubicOutIn=r(n.cubicIn,n.cubicOut),n.quartOutIn=r(n.quartIn,n.quartOut),n.quintOutIn=r(n.quintIn,n.quintOut),n.sineOutIn=r(n.sineIn,n.sineOut),n.expoOutIn=r(n.expoIn,n.expoOut),n.circOutIn=r(n.circIn,n.circOut),n.backOutIn=r(n.backIn,n.backOut),n.backOutIn=r(n.backIn,n.backOut),n.bounceIn=function(t){return 1-n.bounceOut(1-t)},n.bounceInOut=function(t){return t<.5?.5*n.bounceIn(2*t):.5*n.bounceOut(2*t-1)+.5},n.bounceOutIn=r(n.bounceIn,n.bounceOut),cc.easing=e.exports=n}),{}],16:[(function(t,e,i){t("./bezier"),t("./easing"),t("./types"),t("./motion-path-helper"),t("./animation-curves"),t("./animation-clip"),t("./animation-manager"),t("./animation-state"),t("./animation-animator")}),{"./animation-animator":9,"./animation-clip":10,"./animation-curves":11,"./animation-manager":12,"./animation-state":13,"./bezier":14,"./easing":15,"./motion-path-helper":17,"./types":19}],17:[(function(t,e,i){var n=t("./animation-curves").DynamicAnimCurve,r=t("./animation-curves").computeRatioByType,s=t("./bezier").bezier,a=t("../core/utils/binary-search").binarySearchEpsilon,o=cc.v2;function h(t){this.points=t||[],this.beziers=[],this.ratios=[],this.progresses=[],this.length=0,this.computeBeziers()}function l(){this.start=o(),this.end=o(),this.startCtrlPoint=o(),this.endCtrlPoint=o()}function c(t,e,i,s){function l(t){return t instanceof cc.Vec2?{in:t,pos:t,out:t}:Array.isArray(t)&&6===t.length?{in:o(t[2],t[3]),pos:o(t[0],t[1]),out:o(t[4],t[5])}:{in:cc.Vec2.ZERO,pos:cc.Vec2.ZERO,out:cc.Vec2.ZERO}}var c=e.values;if(0!==t.length&&0!==c.length)if(1!==(c=c.map((function(t){return o(t[0],t[1])}))).length){for(var u=e.types,_=e.ratios,f=e.values=[],m=e.types=[],d=e.ratios=[],p=0,y=n.Linear,v=0,g=t.length;v<g-1;v++){var x,A=t[v],b=_[v],C=_[v+1]-b,S=c[v],T=c[v+1],w=u[v],E=[],D=p/C,M=1/(C*i*s);if(A&&A.length>0){var B=[];B.push(l(S));for(var P=0,I=A.length;P<I;P++){var R=l(A[P]);B.push(R)}B.push(l(T));var O=new h(B);O.computeBeziers();for(var L=O.progresses;1-D>1e-6;){var F,V,N,k;if((x=r(x=D,w))<0)k=(0-x)*(V=O.beziers[0]).getLength(),N=V.start.sub(V.endCtrlPoint).normalize(),F=V.start.add(N.mul(k));else if(x>1)k=(x-1)*(V=O.beziers[O.beziers.length-1]).getLength(),N=V.end.sub(V.startCtrlPoint).normalize(),F=V.end.add(N.mul(k));else{var G=a(L,x);G<0&&(G=~G),x-=G>0?L[G-1]:0,x/=O.ratios[G],F=O.beziers[G].getPointAt(x)}E.push(F),D+=M}}else for(;1-D>1e-6;)x=r(x=D,w),E.push(S.lerp(T,x)),D+=M;y="constant"===w?w:n.Linear;for(P=0,I=E.length;P<I;P++){var z=b+p+M*P*C;U(E[P],y,z)}p=Math.abs(D-1)>1e-6?(D-1)*C:0}_[_.length-1]!==d[d.length-1]&&U(c[c.length-1],y,_[_.length-1])}else e.values=c;function U(t,e,i){f.push(t),m.push(e),d.push(i)}}h.prototype.computeBeziers=function(){var t;this.beziers.length=0,this.ratios.length=0,this.progresses.length=0,this.length=0;for(var e=1;e<this.points.length;e++){var i=this.points[e-1],n=this.points[e];(t=new l).start=i.pos,t.startCtrlPoint=i.out,t.end=n.pos,t.endCtrlPoint=n.in,this.beziers.push(t),this.length+=t.getLength()}var r=0;for(e=0;e<this.beziers.length;e++)t=this.beziers[e],this.ratios[e]=t.getLength()/this.length,this.progresses[e]=r+=this.ratios[e];return this.beziers},l.prototype.getPointAt=function(t){var e=this.getUtoTmapping(t);return this.getPoint(e)},l.prototype.getPoint=function(t){var e=s(this.start.x,this.startCtrlPoint.x,this.endCtrlPoint.x,this.end.x,t),i=s(this.start.y,this.startCtrlPoint.y,this.endCtrlPoint.y,this.end.y,t);return new o(e,i)},l.prototype.getLength=function(){var t=this.getLengths();return t[t.length-1]},l.prototype.getLengths=function(t){if(t||(t=this.__arcLengthDivisions?this.__arcLengthDivisions:200),this.cacheArcLengths&&this.cacheArcLengths.length===t+1)return this.cacheArcLengths;var e,i,n=[],r=this.getPoint(0),s=o(),a=0;for(n.push(0),i=1;i<=t;i++)e=this.getPoint(i/t),s.x=r.x-e.x,s.y=r.y-e.y,a+=s.mag(),n.push(a),r=e;return this.cacheArcLengths=n,n},l.prototype.getUtoTmapping=function(t,e){var i,n=this.getLengths(),r=0,s=n.length;i=e||t*n[s-1];for(var a,o=0,h=s-1;o<=h;)if((a=n[r=Math.floor(o+(h-o)/2)]-i)<0)o=r+1;else{if(!(a>0)){h=r;break}h=r-1}if(n[r=h]===i)return r/(s-1);var l=n[r];return(r+(i-l)/(n[r+1]-l))/(s-1)},e.exports={sampleMotionPaths:c,Curve:h,Bezier:l}}),{"../core/utils/binary-search":236,"./animation-curves":11,"./bezier":14}],18:[(function(t,e,i){var n=cc.js,r=t("../core/CCDebug");function s(){this._isPlaying=!1,this._isPaused=!1,this._stepOnce=!1}var a=s.prototype;n.get(a,"isPlaying",(function(){return this._isPlaying}),!0),n.get(a,"isPaused",(function(){return this._isPaused}),!0);var o=function(){};a.onPlay=o,a.onPause=o,a.onResume=o,a.onStop=o,a.onError=o,a.play=function(){this._isPlaying?this._isPaused?(this._isPaused=!1,this.onResume()):this.onError(r.getError(3912)):(this._isPlaying=!0,this.onPlay())},a.stop=function(){this._isPlaying&&(this._isPlaying=!1,this.onStop(),this._isPaused=!1)},a.pause=function(){this._isPlaying&&!this._isPaused&&(this._isPaused=!0,this.onPause())},a.resume=function(){this._isPlaying&&this._isPaused&&(this._isPaused=!1,this.onResume())},a.step=function(){this.pause(),this._stepOnce=!0,this._isPlaying||this.play()},e.exports=s}),{"../core/CCDebug":26}],19:[(function(t,e,i){var n={Loop:2,ShouldWrap:4,PingPong:22,Reverse:36},r=cc.Enum({Default:0,Normal:1,Reverse:n.Reverse,Loop:n.Loop,LoopReverse:n.Loop|n.Reverse,PingPong:n.PingPong,PingPongReverse:n.PingPong|n.Reverse});function s(t){t?this.set(t):(this.ratio=0,this.time=0,this.direction=1,this.stopped=!0,this.iterations=0,this.frameIndex=void 0)}cc.WrapMode=r,s.prototype.set=function(t){this.ratio=t.ratio,this.time=t.time,this.direction=t.direction,this.stopped=t.stopped,this.iterations=t.iterations,this.frameIndex=t.frameIndex},e.exports={WrapModeMask:n,WrapMode:r,WrappedInfo:s}}),{}],20:[(function(t,e,i){var n=t("../core/event/event-target"),r=t("../core/platform/CCSys"),s=t("../core/assets/CCAudioClip").LoadMode,a=!1,o=[],h=function(t){n.call(this),this._src=t,this._element=null,this.id=0,this._volume=1,this._loop=!1,this._nextTime=0,this._state=h.State.INITIALZING,this._onended=function(){this._state=h.State.STOPPED,this.emit("ended")}.bind(this)};cc.js.extend(h,n),h.State={ERROR:-1,INITIALZING:0,PLAYING:1,PAUSED:2,STOPPED:3},(function(t){t._bindEnded=function(t){t=t||this._onended;var e=this._element;this._src&&e instanceof HTMLAudioElement?e.addEventListener("ended",t):e.onended=t},t._unbindEnded=function(){var t=this._element;t instanceof HTMLAudioElement?t.removeEventListener("ended",this._onended):t&&(t.onended=null)},t._onLoaded=function(){var t=this._src._nativeAsset;t instanceof HTMLAudioElement?(this._element||(this._element=document.createElement("audio")),this._element.src=t.src):this._element=new l(t,this),this.setVolume(this._volume),this.setLoop(this._loop),0!==this._nextTime&&this.setCurrentTime(this._nextTime),this._state===h.State.PLAYING?this.play():this._state=h.State.INITIALZING},t.play=function(){this._state=h.State.PLAYING,this._element&&(this._bindEnded(),this._element.play(),this._src&&this._src.loadMode===s.DOM_AUDIO&&this._element.paused&&o.push({instance:this,offset:0,audio:this._element}),a||(a=!0,cc.game.canvas.addEventListener("touchstart",(function(){for(var t=void 0;t=o.pop();)t.audio.play(t.offset)}))))},t.destroy=function(){this._element=null},t.pause=function(){this._element&&this._state===h.State.PLAYING&&(this._unbindEnded(),this._element.pause(),this._state=h.State.PAUSED)},t.resume=function(){this._element&&this._state===h.State.PAUSED&&(this._bindEnded(),this._element.play(),this._state=h.State.PLAYING)},t.stop=function(){if(this._element){this._element.pause();try{this._element.currentTime=0}catch(t){}for(var t=0;t<o.length;t++)if(o[t].instance===this){o.splice(t,1);break}this._unbindEnded(),this.emit("stop"),this._state=h.State.STOPPED}},t.setLoop=function(t){this._loop=t,this._element&&(this._element.loop=t)},t.getLoop=function(){return this._loop},t.setVolume=function(t){this._volume=t,this._element&&(this._element.volume=t)},t.getVolume=function(){return this._volume},t.setCurrentTime=function(t){var e=this;if(this._element){this._nextTime=0,this._unbindEnded(),this._bindEnded(function(){this._bindEnded()}.bind(this));try{this._element.currentTime=t}catch(i){(function(){var i=e._element;i.addEventListener&&(function(){var e=function(){i.removeEventListener("loadedmetadata",e),i.currentTime=t};i.addEventListener("loadedmetadata",e)})()})()}}else this._nextTime=t},t.getCurrentTime=function(){return this._element?this._element.currentTime:0},t.getDuration=function(){return this._element?this._element.duration:0},t.getState=function(){var t=this._element;return t&&h.State.PLAYING===this._state&&t.paused&&(this._state=h.State.STOPPED),this._state},t.__defineGetter__("src",(function(){return this._src})),t.__defineSetter__("src",(function(t){var e=this;return this._unbindEnded(),t?(this._src=t,t.loaded?this._onLoaded():(function(){var i=e;t.once("load",(function(){t===i._src&&i._onLoaded()})),cc.loader.load({url:t.nativeUrl,skips:["Loader"]},(function(e,i){e?cc.error(e):t.loaded||(t._nativeAsset=i)}))})()):(this._src=null,this._element instanceof HTMLAudioElement?this._element.src="":this._element=null,this._state=h.State.INITIALZING),t})),t.__defineGetter__("paused",(function(){return!this._element||this._element.paused}))})(h.prototype);var l=function(t,e){this._audio=e,this._context=r.__audioSupport.context,this._buffer=t,this._gainObj=this._context.createGain(),this._volume=1,this._gainObj.gain.setTargetAtTime?this._gainObj.gain.setTargetAtTime(this._volume,this._context.currentTime,.01):this._gainObj.gain.value=1,this._gainObj.connect(this._context.destination),this._loop=!1,this._startTime=-1,this._currentSource=null,this.playedLength=0,this._currextTimer=null,this._endCallback=function(){this.onended&&this.onended(this)}.bind(this)};(function(t){t.play=function(t){var e=this;this._currentSource&&!this.paused&&(this._currentSource.onended=null,this._currentSource.stop(0),this.playedLength=0);var i=this._context.createBufferSource();i.buffer=this._buffer,i.connect(this._gainObj),i.loop=this._loop,this._startTime=this._context.currentTime,(t=t||this.playedLength)&&(this._startTime-=t);var n=this._buffer.duration,r=t,s=void 0;this._loop?i.start?i.start(0,r):i.notoGrainOn?i.noteGrainOn(0,r):i.noteOn(0,r):(s=n-t,i.start?i.start(0,r,s):i.notoGrainOn?i.noteGrainOn(0,r,s):i.noteOn(0,r,s)),this._currentSource=i,i.onended=this._endCallback,i.context.state&&"suspended"!==i.context.state||0!==this._context.currentTime||(function(){var i=e;clearTimeout(e._currextTimer),e._currextTimer=setTimeout((function(){0===i._context.currentTime&&o.push({instance:i._audio,offset:t,audio:i})}),10)})()},t.pause=function(){if(clearTimeout(this._currextTimer),!this.paused){this.playedLength=this._context.currentTime-this._startTime,this.playedLength%=this._buffer.duration;var t=this._currentSource;this._currentSource=null,this._startTime=-1,t&&t.stop(0)}},t.__defineGetter__("paused",(function(){return(!this._currentSource||!this._currentSource.loop)&&(-1===this._startTime||this._context.currentTime-this._startTime>this._buffer.duration)})),t.__defineGetter__("loop",(function(){return this._loop})),t.__defineSetter__("loop",(function(t){return this._currentSource&&(this._currentSource.loop=t),this._loop=t})),t.__defineGetter__("volume",(function(){return this._volume})),t.__defineSetter__("volume",(function(t){return this._volume=t,this._gainObj.gain.setTargetAtTime?this._gainObj.gain.setTargetAtTime(this._volume,this._context.currentTime,.01):this._volume.gain.value=t,r.os===r.OS_IOS&&!this.paused&&this._currentSource&&(this._currentSource.onended=null,this.pause(),this.play()),t})),t.__defineGetter__("currentTime",(function(){return this.paused?this.playedLength:(this.playedLength=this._context.currentTime-this._startTime,this.playedLength%=this._buffer.duration,this.playedLength)})),t.__defineSetter__("currentTime",(function(t){return this.paused?this.playedLength=t:(this.pause(),this.playedLength=t,this.play()),t})),t.__defineGetter__("duration",(function(){return this._buffer.duration}))})(l.prototype),e.exports=cc.Audio=h}),{"../core/assets/CCAudioClip":34,"../core/event/event-target":102,"../core/platform/CCSys":169}],21:[(function(t,e,i){var n=t("./CCAudio"),r=t("../core/assets/CCAudioClip"),s=cc.js,a=0,o=s.createMap(!0),h={},l=[],c=function(t){var e=a++,i=h[t];if(i||(i=h[t]=[]),f._maxAudioInstance<=i.length){var r=i.shift();u(r).stop()}var s=l.pop()||new n,c=function(){if(u(this.id)){delete o[this.id];var t=i.indexOf(this.id);cc.js.array.fastRemoveAt(i,t)}(function(t){t._finishCallback=null,l.length<32?(t.off("ended"),t.off("stop"),t.src=null,l.push(t)):t.destroy()})(this)};return s.on("ended",(function(){this._finishCallback&&this._finishCallback(),c.call(this)}),s),s.on("stop",c,s),s.id=e,o[e]=s,i.push(e),s},u=function(t){return o[t]},_=function(t){return void 0===t?t=1:"string"==typeof t&&(t=Number.parseFloat(t)),t},f={AudioState:n.State,_maxWebAudioSize:2097152,_maxAudioInstance:24,_id2audio:o,play:function(t,e,i){var n,s=t;if("string"==typeof t)cc.warnID(8401,"cc.audioEngine","cc.AudioClip","AudioClip","cc.AudioClip","audio"),n=c(s=t),r._loadByUrl(s,(function(t,e){e&&(n.src=e)}));else{if(!t)return;s=t.nativeUrl,(n=c(s)).src=t}return n.setLoop(e||!1),i=_(i),n.setVolume(i),n.play(),n.id},setLoop:function(t,e){var i=u(t);i&&i.setLoop&&i.setLoop(e)},isLoop:function(t){var e=u(t);return!(!e||!e.getLoop)&&e.getLoop()},setVolume:function(t,e){var i=u(t);i&&i.setVolume(e)},getVolume:function(t){var e=u(t);return e?e.getVolume():1},setCurrentTime:function(t,e){var i=u(t);return!!i&&(i.setCurrentTime(e),!0)},getCurrentTime:function(t){var e=u(t);return e?e.getCurrentTime():0},getDuration:function(t){var e=u(t);return e?e.getDuration():0},getState:function(t){var e=u(t);return e?e.getState():this.AudioState.ERROR},setFinishCallback:function(t,e){var i=u(t);i&&(i._finishCallback=e)},pause:function(t){var e=u(t);return!!e&&(e.pause(),!0)},_pauseIDCache:[],pauseAll:function(){for(var t in o){var e=o[t];e.getState()===n.State.PLAYING&&(this._pauseIDCache.push(t),e.pause())}},resume:function(t){var e=u(t);e&&e.resume()},resumeAll:function(){for(var t=0;t<this._pauseIDCache.length;++t){var e=this._pauseIDCache[t],i=u(e);i&&i.resume()}this._pauseIDCache.length=0},stop:function(t){var e=u(t);return!!e&&(e.stop(),!0)},stopAll:function(){for(var t in o){var e=o[t];e&&e.stop()}},setMaxAudioInstance:function(t){this._maxAudioInstance=t},getMaxAudioInstance:function(){return this._maxAudioInstance},uncache:function(t){var e=t;if("string"==typeof t)cc.warnID(8401,"cc.audioEngine","cc.AudioClip","AudioClip","cc.AudioClip","audio"),e=t;else{if(!t)return;e=t.nativeUrl}var i=h[e];if(i)for(;i.length>0;){var n=i.pop(),r=o[n];r&&(r.stop(),delete o[n])}},uncacheAll:function(){this.stopAll();var t=void 0;for(var e in o)(t=o[e])&&t.destroy();for(;t=l.pop();)t.destroy();o=s.createMap(!0),h={}},getProfile:function(t){},preload:function(t,e){cc.loader.load(t,e&&function(t){t||e()})},setMaxWebAudioSize:function(t){this._maxWebAudioSize=1024*t},_breakCache:null,_break:function(){this._breakCache=[];for(var t in o){var e=o[t];e.getState()===n.State.PLAYING&&(this._breakCache.push(t),e.pause())}},_restore:function(){if(this._breakCache){for(;this._breakCache.length>0;){var t=this._breakCache.pop(),e=u(t);e&&e.resume&&e.resume()}this._breakCache=null}},_music:{id:-1,loop:!1,volume:1},_effect:{volume:1,pauseCache:[]},playMusic:function(t,e){var i=this._music;return this.stop(i.id),i.id=this.play(t,e,i.volume),i.loop=e,i.id},stopMusic:function(){this.stop(this._music.id)},pauseMusic:function(){return this.pause(this._music.id),this._music.id},resumeMusic:function(){return this.resume(this._music.id),this._music.id},getMusicVolume:function(){return this._music.volume},setMusicVolume:function(t){t=_(t);var e=this._music;return e.volume=t,this.setVolume(e.id,e.volume),e.volume},isMusicPlaying:function(){return this.getState(this._music.id)===this.AudioState.PLAYING},playEffect:function(t,e){return this.play(t,e||!1,this._effect.volume)},setEffectsVolume:function(t){t=_(t);var e=this._music.id;this._effect.volume=t;for(var i in o){var n=o[i];n&&n.id!==e&&f.setVolume(i,t)}},getEffectsVolume:function(){return this._effect.volume},pauseEffect:function(t){return this.pause(t)},pauseAllEffects:function(){var t=this._music.id,e=this._effect;e.pauseCache.length=0;for(var i in o){var n=o[i];if(n&&n.id!==t)n.getState()===this.AudioState.PLAYING&&(e.pauseCache.push(i),n.pause())}},resumeEffect:function(t){this.resume(t)},resumeAllEffects:function(){for(var t=this._effect.pauseCache,e=0;e<t.length;++e){var i=t[e],n=o[i];n&&n.resume()}},stopEffect:function(t){return this.stop(t)},stopAllEffects:function(){var t=this._music.id;for(var e in o){var i=o[e];if(i&&i.id!==t)i.getState()===f.AudioState.PLAYING&&i.stop()}}};e.exports=cc.audioEngine=f}),{"../core/assets/CCAudioClip":34,"./CCAudio":20}],22:[(function(t,e,i){var n={name:"Jacob__Codec"};n.Base64=t("./base64"),n.GZip=t("./gzip"),n.unzip=function(){return n.GZip.gunzip.apply(n.GZip,arguments)},n.unzipBase64=function(){var t=n.Base64.decode.apply(n.Base64,arguments);try{return n.GZip.gunzip.call(n.GZip,t)}catch(e){return t.slice(7)}},n.unzipBase64AsArray=function(t,e){e=e||1;var i,n,r,s=this.unzipBase64(t),a=[];for(i=0,r=s.length/e;i<r;i++)for(a[i]=0,n=e-1;n>=0;--n)a[i]+=s.charCodeAt(i*e+n)<<8*n;return a},n.unzipAsArray=function(t,e){e=e||1;var i,n,r,s=this.unzip(t),a=[];for(i=0,r=s.length/e;i<r;i++)for(a[i]=0,n=e-1;n>=0;--n)a[i]+=s.charCodeAt(i*e+n)<<8*n;return a},cc.codec=e.exports=n}),{"./base64":23,"./gzip":24}],23:[(function(t,e,i){var n=t("../core/utils/misc").BASE64_VALUES,r={name:"Jacob__Codec__Base64",decode:function(t){var e,i,r,s,a,o,h=[],l=0;for(t=t.replace(/[^A-Za-z0-9\+\/\=]/g,"");l<t.length;)e=n[t.charCodeAt(l++)]<<2|(s=n[t.charCodeAt(l++)])>>4,i=(15&s)<<4|(a=n[t.charCodeAt(l++)])>>2,r=(3&a)<<6|(o=n[t.charCodeAt(l++)]),h.push(String.fromCharCode(e)),64!==a&&h.push(String.fromCharCode(i)),64!==o&&h.push(String.fromCharCode(r));return h=h.join("")},decodeAsArray:function(t,e){var i,n,r,s=this.decode(t),a=[];for(i=0,r=s.length/e;i<r;i++)for(a[i]=0,n=e-1;n>=0;--n)a[i]+=s.charCodeAt(i*e+n)<<8*n;return a}};e.exports=r}),{"../core/utils/misc":242}],24:[(function(t,e,i){var n=function(t){this.data=t,this.debug=!1,this.gpflags=void 0,this.files=0,this.unzipped=[],this.buf32k=new Array(32768),this.bIdx=0,this.modeZIP=!1,this.bytepos=0,this.bb=1,this.bits=0,this.nameBuf=[],this.fileout=void 0,this.literalTree=new Array(n.LITERALS),this.distanceTree=new Array(32),this.treepos=0,this.Places=null,this.len=0,this.fpos=new Array(17),this.fpos[0]=0,this.flens=void 0,this.fmax=void 0};n.gunzip=function(t){return t.constructor===Array||(t.constructor,String),new n(t).gunzip()[0][0]},n.HufNode=function(){this.b0=0,this.b1=0,this.jump=null,this.jumppos=-1},n.LITERALS=288,n.NAMEMAX=256,n.bitReverse=[0,128,64,192,32,160,96,224,16,144,80,208,48,176,112,240,8,136,72,200,40,168,104,232,24,152,88,216,56,184,120,248,4,132,68,196,36,164,100,228,20,148,84,212,52,180,116,244,12,140,76,204,44,172,108,236,28,156,92,220,60,188,124,252,2,130,66,194,34,162,98,226,18,146,82,210,50,178,114,242,10,138,74,202,42,170,106,234,26,154,90,218,58,186,122,250,6,134,70,198,38,166,102,230,22,150,86,214,54,182,118,246,14,142,78,206,46,174,110,238,30,158,94,222,62,190,126,254,1,129,65,193,33,161,97,225,17,145,81,209,49,177,113,241,9,137,73,201,41,169,105,233,25,153,89,217,57,185,121,249,5,133,69,197,37,165,101,229,21,149,85,213,53,181,117,245,13,141,77,205,45,173,109,237,29,157,93,221,61,189,125,253,3,131,67,195,35,163,99,227,19,147,83,211,51,179,115,243,11,139,75,203,43,171,107,235,27,155,91,219,59,187,123,251,7,135,71,199,39,167,103,231,23,151,87,215,55,183,119,247,15,143,79,207,47,175,111,239,31,159,95,223,63,191,127,255],n.cplens=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],n.cplext=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,99,99],n.cpdist=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],n.cpdext=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],n.border=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],n.prototype.gunzip=function(){return this.outputArr=[],this.nextFile(),this.unzipped},n.prototype.readByte=function(){return this.bits+=8,this.bytepos<this.data.length?this.data.charCodeAt(this.bytepos++):-1},n.prototype.byteAlign=function(){this.bb=1},n.prototype.readBit=function(){var t;return this.bits++,t=1&this.bb,this.bb>>=1,0===this.bb&&(this.bb=this.readByte(),t=1&this.bb,this.bb=this.bb>>1|128),t},n.prototype.readBits=function(t){for(var e=0,i=t;i--;)e=e<<1|this.readBit();return t&&(e=n.bitReverse[e]>>8-t),e},n.prototype.flushBuffer=function(){this.bIdx=0},n.prototype.addBuffer=function(t){this.buf32k[this.bIdx++]=t,this.outputArr.push(String.fromCharCode(t)),32768===this.bIdx&&(this.bIdx=0)},n.prototype.IsPat=function(){for(;;){if(this.fpos[this.len]>=this.fmax)return-1;if(this.flens[this.fpos[this.len]]===this.len)return this.fpos[this.len]++;this.fpos[this.len]++}},n.prototype.Rec=function(){var t,e=this.Places[this.treepos];if(17===this.len)return-1;if(this.treepos++,this.len++,(t=this.IsPat())>=0)e.b0=t;else if(e.b0=32768,this.Rec())return-1;if((t=this.IsPat())>=0)e.b1=t,e.jump=null;else if(e.b1=32768,e.jump=this.Places[this.treepos],e.jumppos=this.treepos,this.Rec())return-1;return this.len--,0},n.prototype.CreateTree=function(t,e,i,n){var r;for(this.Places=t,this.treepos=0,this.flens=i,this.fmax=e,r=0;r<17;r++)this.fpos[r]=0;return this.len=0,this.Rec()?-1:0},n.prototype.DecodeValue=function(t){for(var e,i,n=0,r=t[n];;)if(this.readBit()){if(!(32768&r.b1))return r.b1;for(r=r.jump,e=t.length,i=0;i<e;i++)if(t[i]===r){n=i;break}}else{if(!(32768&r.b0))return r.b0;r=t[++n]}return-1},n.prototype.DeflateLoop=function(){var t,e,i;do{var r,s;if(t=this.readBit(),0===(e=this.readBits(2)))for(this.byteAlign(),r=this.readByte(),r|=this.readByte()<<8,s=this.readByte(),65535&(r^~(s|=this.readByte()<<8))&&document.write("BlockLen checksum mismatch\n");r--;)a=this.readByte(),this.addBuffer(a);else if(1===e)for(;;)if((o=n.bitReverse[this.readBits(7)]>>1)>23?(o=o<<1|this.readBit())>199?o=(o-=128)<<1|this.readBit():(o-=48)>143&&(o+=136):o+=256,o<256)this.addBuffer(o);else{if(256===o)break;for(o-=257,d=this.readBits(n.cplext[o])+n.cplens[o],o=n.bitReverse[this.readBits(5)]>>3,n.cpdext[o]>8?(p=this.readBits(8),p|=this.readBits(n.cpdext[o]-8)<<8):p=this.readBits(n.cpdext[o]),p+=n.cpdist[o],o=0;o<d;o++){var a=this.buf32k[this.bIdx-p&32767];this.addBuffer(a)}}else if(2===e){var o,h,l,c,u,_=new Array(320);for(l=257+this.readBits(5),c=1+this.readBits(5),u=4+this.readBits(4),o=0;o<19;o++)_[o]=0;for(o=0;o<u;o++)_[n.border[o]]=this.readBits(3);for(d=this.distanceTree.length,i=0;i<d;i++)this.distanceTree[i]=new n.HufNode;if(this.CreateTree(this.distanceTree,19,_,0))return this.flushBuffer(),1;h=l+c,i=0;for(;i<h;)if(0,(o=this.DecodeValue(this.distanceTree))<16)_[i++]=o;else if(16===o){var f;if(i+(o=3+this.readBits(2))>h)return this.flushBuffer(),1;for(f=i?_[i-1]:0;o--;)_[i++]=f}else{if(i+(o=17===o?3+this.readBits(3):11+this.readBits(7))>h)return this.flushBuffer(),1;for(;o--;)_[i++]=0}for(d=this.literalTree.length,i=0;i<d;i++)this.literalTree[i]=new n.HufNode;if(this.CreateTree(this.literalTree,l,_,0))return this.flushBuffer(),1;for(d=this.literalTree.length,i=0;i<d;i++)this.distanceTree[i]=new n.HufNode;var m=new Array;for(i=l;i<_.length;i++)m[i-l]=_[i];if(this.CreateTree(this.distanceTree,c,m,0))return this.flushBuffer(),1;for(;;)if((o=this.DecodeValue(this.literalTree))>=256){var d,p;if(0===(o-=256))break;for(o--,d=this.readBits(n.cplext[o])+n.cplens[o],o=this.DecodeValue(this.distanceTree),n.cpdext[o]>8?(p=this.readBits(8),p|=this.readBits(n.cpdext[o]-8)<<8):p=this.readBits(n.cpdext[o]),p+=n.cpdist[o];d--;){a=this.buf32k[this.bIdx-p&32767];this.addBuffer(a)}}else this.addBuffer(o)}}while(!t);return this.flushBuffer(),this.byteAlign(),0},n.prototype.unzipFile=function(t){var e;for(this.gunzip(),e=0;e<this.unzipped.length;e++)if(this.unzipped[e][1]===t)return this.unzipped[e][0]},n.prototype.nextFile=function(){this.outputArr=[],this.modeZIP=!1;var t=[];if(t[0]=this.readByte(),t[1]=this.readByte(),120===t[0]&&218===t[1]&&(this.DeflateLoop(),this.unzipped[this.files]=[this.outputArr.join(""),"geonext.gxt"],this.files++),31===t[0]&&139===t[1]&&(this.skipdir(),this.unzipped[this.files]=[this.outputArr.join(""),"file"],this.files++),80===t[0]&&75===t[1]&&(this.modeZIP=!0,t[2]=this.readByte(),t[3]=this.readByte(),3===t[2]&&4===t[3])){t[0]=this.readByte(),t[1]=this.readByte(),this.gpflags=this.readByte(),this.gpflags|=this.readByte()<<8;var e=this.readByte();e|=this.readByte()<<8,this.readByte(),this.readByte(),this.readByte(),this.readByte();this.readByte();this.readByte()<<8,this.readByte()<<16,this.readByte()<<24;this.readByte();this.readByte()<<8,this.readByte()<<16,this.readByte()<<24;var i=this.readByte();i|=this.readByte()<<8;var r=this.readByte();for(r|=this.readByte()<<8,a=0,this.nameBuf=[];i--;){var s=this.readByte();"/"===s|":"===s?a=0:a<n.NAMEMAX-1&&(this.nameBuf[a++]=String.fromCharCode(s))}this.fileout||(this.fileout=this.nameBuf);for(var a=0;a<r;)s=this.readByte(),a++;8===e&&(this.DeflateLoop(),this.unzipped[this.files]=[this.outputArr.join(""),this.nameBuf.join("")],this.files++),this.skipdir()}},n.prototype.skipdir=function(){var t,e,i=[];if(8&this.gpflags&&(i[0]=this.readByte(),i[1]=this.readByte(),i[2]=this.readByte(),i[3]=this.readByte(),this.readByte(),this.readByte()<<8,this.readByte()<<16,this.readByte()<<24,this.readByte(),this.readByte()<<8,this.readByte()<<16,this.readByte()<<24),this.modeZIP&&this.nextFile(),i[0]=this.readByte(),8!==i[0])return 0;if(this.gpflags=this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),4&this.gpflags)for(i[0]=this.readByte(),i[2]=this.readByte(),this.len=i[0]+256*i[1],t=0;t<this.len;t++)this.readByte();if(8&this.gpflags)for(t=0,this.nameBuf=[];e=this.readByte();)"7"!==e&&":"!==e||(t=0),t<n.NAMEMAX-1&&(this.nameBuf[t++]=e);if(16&this.gpflags)for(;e=this.readByte(););2&this.gpflags&&(this.readByte(),this.readByte()),this.DeflateLoop(),this.readByte(),this.readByte(),this.readByte(),this.readByte(),this.modeZIP&&this.nextFile()},e.exports=n}),{}],25:[(function(t,e,i){(function(){"use strict";function t(t){throw t}var e=void 0,i=!0,n=this;function r(t,i){var r,s=t.split("."),a=n;!(s[0]in a)&&a.execScript&&a.execScript("var "+s[0]);for(;s.length&&(r=s.shift());)s.length||i===e?a=a[r]?a[r]:a[r]={}:a[r]=i}var s="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Uint32Array;function a(t){if("string"==typeof t){var e,i,n=t.split("");for(e=0,i=n.length;e<i;e++)n[e]=(255&n[e].charCodeAt(0))>>>0;t=n}for(var r,s=1,a=0,o=t.length,h=0;0<o;){o-=r=1024<o?1024:o;do{a+=s+=t[h++]}while(--r);s%=65521,a%=65521}return(a<<16|s)>>>0}function o(e,i){this.index="number"==typeof i?i:0,this.i=0,this.buffer=e instanceof(s?Uint8Array:Array)?e:new(s?Uint8Array:Array)(32768),2*this.buffer.length<=this.index&&t(Error("invalid index")),this.buffer.length<=this.index&&this.f()}o.prototype.f=function(){var t,e=this.buffer,i=e.length,n=new(s?Uint8Array:Array)(i<<1);if(s)n.set(e);else for(t=0;t<i;++t)n[t]=e[t];return this.buffer=n},o.prototype.d=function(t,e,i){var n,r=this.buffer,s=this.index,a=this.i,o=r[s];if(i&&1<e&&(t=8<e?(f[255&t]<<24|f[t>>>8&255]<<16|f[t>>>16&255]<<8|f[t>>>24&255])>>32-e:f[t]>>8-e),8>e+a)o=o<<e|t,a+=e;else for(n=0;n<e;++n)o=o<<1|t>>e-n-1&1,8==++a&&(a=0,r[s++]=f[o],o=0,s===r.length&&(r=this.f()));r[s]=o,this.buffer=r,this.i=a,this.index=s},o.prototype.finish=function(){var t,e=this.buffer,i=this.index;return 0<this.i&&(e[i]<<=8-this.i,e[i]=f[e[i]],i++),s?t=e.subarray(0,i):(e.length=i,t=e),t};var h,l=new(s?Uint8Array:Array)(256);for(h=0;256>h;++h){for(var c=_=h,u=7,_=_>>>1;_;_>>>=1)c<<=1,c|=1&_,--u;l[h]=(c<<u&255)>>>0}var f=l;function m(t){this.buffer=new(s?Uint16Array:Array)(2*t),this.length=0}function d(t){var e,i,n,r,a,o,h,l,c,u=t.length,_=0,f=Number.POSITIVE_INFINITY;for(l=0;l<u;++l)t[l]>_&&(_=t[l]),t[l]<f&&(f=t[l]);for(e=1<<_,i=new(s?Uint32Array:Array)(e),n=1,r=0,a=2;n<=_;){for(l=0;l<u;++l)if(t[l]===n){for(o=0,h=r,c=0;c<n;++c)o=o<<1|1&h,h>>=1;for(c=o;c<e;c+=a)i[c]=n<<16|l;++r}++n,r<<=1,a<<=1}return[i,_,f]}function p(t,e){this.h=v,this.w=0,this.input=t,this.b=0,e&&(e.lazy&&(this.w=e.lazy),"number"==typeof e.compressionType&&(this.h=e.compressionType),e.outputBuffer&&(this.a=s&&e.outputBuffer instanceof Array?new Uint8Array(e.outputBuffer):e.outputBuffer),"number"==typeof e.outputIndex&&(this.b=e.outputIndex)),this.a||(this.a=new(s?Uint8Array:Array)(32768))}s&&new Uint32Array([0,1996959894,3993919788,2567524794,124634137,1886057615,3915621685,2657392035,249268274,2044508324,3772115230,2547177864,162941995,2125561021,3887607047,2428444049,498536548,1789927666,4089016648,2227061214,450548861,1843258603,4107580753,2211677639,325883990,1684777152,4251122042,2321926636,335633487,1661365465,4195302755,2366115317,997073096,1281953886,3579855332,2724688242,1006888145,1258607687,3524101629,2768942443,901097722,1119000684,3686517206,2898065728,853044451,1172266101,3705015759,2882616665,651767980,1373503546,3369554304,3218104598,565507253,1454621731,3485111705,3099436303,671266974,1594198024,3322730930,2970347812,795835527,1483230225,3244367275,3060149565,1994146192,31158534,2563907772,4023717930,1907459465,112637215,2680153253,3904427059,2013776290,251722036,2517215374,3775830040,2137656763,141376813,2439277719,3865271297,1802195444,476864866,2238001368,4066508878,1812370925,453092731,2181625025,4111451223,1706088902,314042704,2344532202,4240017532,1658658271,366619977,2362670323,4224994405,1303535960,984961486,2747007092,3569037538,1256170817,1037604311,2765210733,3554079995,1131014506,879679996,2909243462,3663771856,1141124467,855842277,2852801631,3708648649,1342533948,654459306,3188396048,3373015174,1466479909,544179635,3110523913,3462522015,1591671054,702138776,2966460450,3352799412,1504918807,783551873,3082640443,3233442989,3988292384,2596254646,62317068,1957810842,3939845945,2647816111,81470997,1943803523,3814918930,2489596804,225274430,2053790376,3826175755,2466906013,167816743,2097651377,4027552580,2265490386,503444072,1762050814,4150417245,2154129355,426522225,1852507879,4275313526,2312317920,282753626,1742555852,4189708143,2394877945,397917763,1622183637,3604390888,2714866558,953729732,1340076626,3518719985,2797360999,1068828381,1219638859,3624741850,2936675148,906185462,1090812512,3747672003,2825379669,829329135,1181335161,3412177804,3160834842,628085408,1382605366,3423369109,3138078467,570562233,1426400815,3317316542,2998733608,733239954,1555261956,3268935591,3050360625,752459403,1541320221,2607071920,3965973030,1969922972,40735498,2617837225,3943577151,1913087877,83908371,2512341634,3803740692,2075208622,213261112,2463272603,3855990285,2094854071,198958881,2262029012,4057260610,1759359992,534414190,2176718541,4139329115,1873836001,414664567,2282248934,4279200368,1711684554,285281116,2405801727,4167216745,1634467795,376229701,2685067896,3608007406,1308918612,956543938,2808555105,3495958263,1231636301,1047427035,2932959818,3654703836,1088359270,936918e3,2847714899,3736837829,1202900863,817233897,3183342108,3401237130,1404277552,615818150,3134207493,3453421203,1423857449,601450431,3009837614,3294710456,1567103746,711928724,3020668471,3272380065,1510334235,755167117]),m.prototype.getParent=function(t){return 2*((t-2)/4|0)},m.prototype.push=function(t,e){var i,n,r,s=this.buffer;for(i=this.length,s[this.length++]=e,s[this.length++]=t;0<i&&(n=this.getParent(i),s[i]>s[n]);)r=s[i],s[i]=s[n],s[n]=r,r=s[i+1],s[i+1]=s[n+1],s[n+1]=r,i=n;return this.length},m.prototype.pop=function(){var t,e,i,n,r,s=this.buffer;for(e=s[0],t=s[1],this.length-=2,s[0]=s[this.length],s[1]=s[this.length+1],r=0;!((n=2*r+2)>=this.length)&&(n+2<this.length&&s[n+2]>s[n]&&(n+=2),s[n]>s[r]);)i=s[r],s[r]=s[n],s[n]=i,i=s[r+1],s[r+1]=s[n+1],s[n+1]=i,r=n;return{index:t,value:e,length:this.length}};var y,v=2,g={NONE:0,r:1,j:v,N:3},x=[];for(y=0;288>y;y++)switch(i){case 143>=y:x.push([y+48,8]);break;case 255>=y:x.push([y-144+400,9]);break;case 279>=y:x.push([y-256+0,7]);break;case 287>=y:x.push([y-280+192,8]);break;default:t("invalid literal: "+y)}function A(t,e){this.length=t,this.G=e}function b(){var e=C;switch(i){case 3===e:return[257,e-3,0];case 4===e:return[258,e-4,0];case 5===e:return[259,e-5,0];case 6===e:return[260,e-6,0];case 7===e:return[261,e-7,0];case 8===e:return[262,e-8,0];case 9===e:return[263,e-9,0];case 10===e:return[264,e-10,0];case 12>=e:return[265,e-11,1];case 14>=e:return[266,e-13,1];case 16>=e:return[267,e-15,1];case 18>=e:return[268,e-17,1];case 22>=e:return[269,e-19,2];case 26>=e:return[270,e-23,2];case 30>=e:return[271,e-27,2];case 34>=e:return[272,e-31,2];case 42>=e:return[273,e-35,3];case 50>=e:return[274,e-43,3];case 58>=e:return[275,e-51,3];case 66>=e:return[276,e-59,3];case 82>=e:return[277,e-67,4];case 98>=e:return[278,e-83,4];case 114>=e:return[279,e-99,4];case 130>=e:return[280,e-115,4];case 162>=e:return[281,e-131,5];case 194>=e:return[282,e-163,5];case 226>=e:return[283,e-195,5];case 257>=e:return[284,e-227,5];case 258===e:return[285,e-258,0];default:t("invalid length: "+e)}}p.prototype.n=function(){var n,r,a,h,l=this.input;switch(this.h){case 0:for(a=0,h=l.length;a<h;){var c,u,_,f=r=s?l.subarray(a,a+65535):l.slice(a,a+65535),m=(a+=r.length)===h,d=e,p=e,y=this.a,g=this.b;if(s){for(y=new Uint8Array(this.a.buffer);y.length<=g+f.length+5;)y=new Uint8Array(y.length<<1);y.set(this.a)}if(c=m?1:0,y[g++]=0|c,_=65536+~(u=f.length)&65535,y[g++]=255&u,y[g++]=u>>>8&255,y[g++]=255&_,y[g++]=_>>>8&255,s)y.set(f,g),g+=f.length,y=y.subarray(0,g);else{for(d=0,p=f.length;d<p;++d)y[g++]=f[d];y.length=g}this.b=g,this.a=y}break;case 1:var A=new o(new Uint8Array(this.a.buffer),this.b);A.d(1,1,i),A.d(1,2,i);var b,C,S,T=E(this,l);for(b=0,C=T.length;b<C;b++)if(S=T[b],o.prototype.d.apply(A,x[S]),256<S)A.d(T[++b],T[++b],i),A.d(T[++b],5),A.d(T[++b],T[++b],i);else if(256===S)break;this.a=A.finish(),this.b=this.a.length;break;case v:var w,B,P,I,R,O,L,F,V,N,k,G,z,U,j,W=new o(new Uint8Array(this.a),this.b),H=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],X=Array(19);for(w=v,W.d(1,1,i),W.d(w,2,i),B=E(this,l),L=M(O=D(this.L,15)),V=M(F=D(this.K,7)),P=286;257<P&&0===O[P-1];P--);for(I=30;1<I&&0===F[I-1];I--);var Y,q,J,Z,K,Q,$=P,tt=I,et=new(s?Uint32Array:Array)($+tt),it=new(s?Uint32Array:Array)(316),nt=new(s?Uint8Array:Array)(19);for(Y=q=0;Y<$;Y++)et[q++]=O[Y];for(Y=0;Y<tt;Y++)et[q++]=F[Y];if(!s)for(Y=0,Z=nt.length;Y<Z;++Y)nt[Y]=0;for(Y=K=0,Z=et.length;Y<Z;Y+=q){for(q=1;Y+q<Z&&et[Y+q]===et[Y];++q);if(J=q,0===et[Y])if(3>J)for(;0<J--;)it[K++]=0,nt[0]++;else for(;0<J;)(Q=138>J?J:138)>J-3&&Q<J&&(Q=J-3),10>=Q?(it[K++]=17,it[K++]=Q-3,nt[17]++):(it[K++]=18,it[K++]=Q-11,nt[18]++),J-=Q;else if(it[K++]=et[Y],nt[et[Y]]++,J--,3>J)for(;0<J--;)it[K++]=et[Y],nt[et[Y]]++;else for(;0<J;)(Q=6>J?J:6)>J-3&&Q<J&&(Q=J-3),it[K++]=16,it[K++]=Q-3,nt[16]++,J-=Q}for(n=s?it.subarray(0,K):it.slice(0,K),N=D(nt,7),U=0;19>U;U++)X[U]=N[H[U]];for(R=19;4<R&&0===X[R-1];R--);for(k=M(N),W.d(P-257,5,i),W.d(I-1,5,i),W.d(R-4,4,i),U=0;U<R;U++)W.d(X[U],3,i);for(U=0,j=n.length;U<j;U++)if(G=n[U],W.d(k[G],N[G],i),16<=G){switch(U++,G){case 16:z=2;break;case 17:z=3;break;case 18:z=7;break;default:t("invalid code: "+G)}W.d(n[U],z,i)}var rt,st,at,ot,ht,lt,ct,ut,_t=[L,O],ft=[V,F];for(ht=_t[0],lt=_t[1],ct=ft[0],ut=ft[1],rt=0,st=B.length;rt<st;++rt)if(at=B[rt],W.d(ht[at],lt[at],i),256<at)W.d(B[++rt],B[++rt],i),ot=B[++rt],W.d(ct[ot],ut[ot],i),W.d(B[++rt],B[++rt],i);else if(256===at)break;this.a=W.finish(),this.b=this.a.length;break;default:t("invalid compression type")}return this.a};var C,S,T=[];for(C=3;258>=C;C++)S=b(),T[C]=S[2]<<24|S[1]<<16|S[0];var w=s?new Uint32Array(T):T;function E(n,r){function a(e,n){var r,s,a,o,h=e.G,l=[],c=0;switch(r=w[e.length],l[c++]=65535&r,l[c++]=r>>16&255,l[c++]=r>>24,i){case 1===h:s=[0,h-1,0];break;case 2===h:s=[1,h-2,0];break;case 3===h:s=[2,h-3,0];break;case 4===h:s=[3,h-4,0];break;case 6>=h:s=[4,h-5,1];break;case 8>=h:s=[5,h-7,1];break;case 12>=h:s=[6,h-9,2];break;case 16>=h:s=[7,h-13,2];break;case 24>=h:s=[8,h-17,3];break;case 32>=h:s=[9,h-25,3];break;case 48>=h:s=[10,h-33,4];break;case 64>=h:s=[11,h-49,4];break;case 96>=h:s=[12,h-65,5];break;case 128>=h:s=[13,h-97,5];break;case 192>=h:s=[14,h-129,6];break;case 256>=h:s=[15,h-193,6];break;case 384>=h:s=[16,h-257,7];break;case 512>=h:s=[17,h-385,7];break;case 768>=h:s=[18,h-513,8];break;case 1024>=h:s=[19,h-769,8];break;case 1536>=h:s=[20,h-1025,9];break;case 2048>=h:s=[21,h-1537,9];break;case 3072>=h:s=[22,h-2049,10];break;case 4096>=h:s=[23,h-3073,10];break;case 6144>=h:s=[24,h-4097,11];break;case 8192>=h:s=[25,h-6145,11];break;case 12288>=h:s=[26,h-8193,12];break;case 16384>=h:s=[27,h-12289,12];break;case 24576>=h:s=[28,h-16385,13];break;case 32768>=h:s=[29,h-24577,13];break;default:t("invalid distance")}for(r=s,l[c++]=r[0],l[c++]=r[1],l[c++]=r[2],a=0,o=l.length;a<o;++a)y[v++]=l[a];x[l[0]]++,b[l[3]]++,g=e.length+n-1,m=null}var o,h,l,c,u,_,f,m,d,p={},y=s?new Uint16Array(2*r.length):[],v=0,g=0,x=new(s?Uint32Array:Array)(286),b=new(s?Uint32Array:Array)(30),C=n.w;if(!s){for(l=0;285>=l;)x[l++]=0;for(l=0;29>=l;)b[l++]=0}for(x[256]=1,o=0,h=r.length;o<h;++o){for(l=u=0,c=3;l<c&&o+l!==h;++l)u=u<<8|r[o+l];if(p[u]===e&&(p[u]=[]),_=p[u],!(0<g--)){for(;0<_.length&&32768<o-_[0];)_.shift();if(o+3>=h){for(m&&a(m,-1),l=0,c=h-o;l<c;++l)d=r[o+l],y[v++]=d,++x[d];break}if(0<_.length){var S=e,T=e,E=0,D=e,M=e,B=e,P=r.length,I=(M=0,_.length);t:for(;M<I;M++){if(S=_[I-M-1],D=3,3<E){for(B=E;3<B;B--)if(r[S+B-1]!==r[o+B-1])continue t;D=E}for(;258>D&&o+D<P&&r[S+D]===r[o+D];)++D;if(D>E&&(T=S,E=D),258===D)break}f=new A(E,o-T),m?m.length<f.length?(d=r[o-1],y[v++]=d,++x[d],a(f,0)):a(m,-1):f.length<C?m=f:a(f,0)}else m?a(m,-1):(d=r[o],y[v++]=d,++x[d])}_.push(o)}return y[v++]=256,x[256]++,n.L=x,n.K=b,s?y.subarray(0,v):y}function D(t,e){function i(t){var e=C[t][S[t]];e===v?(i(t+1),i(t+1)):--A[e],++S[t]}var n,r,a,o,h,l=t.length,c=new m(572),u=new(s?Uint8Array:Array)(l);if(!s)for(o=0;o<l;o++)u[o]=0;for(o=0;o<l;++o)0<t[o]&&c.push(o,t[o]);if(n=Array(c.length/2),r=new(s?Uint32Array:Array)(c.length/2),1===n.length)return u[c.pop().index]=1,u;for(o=0,h=c.length/2;o<h;++o)n[o]=c.pop(),r[o]=n[o].value;var _,f,d,p,y,v=r.length,g=new(s?Uint16Array:Array)(e),x=new(s?Uint8Array:Array)(e),A=new(s?Uint8Array:Array)(v),b=Array(e),C=Array(e),S=Array(e),T=(1<<e)-v,w=1<<e-1;for(g[e-1]=v,f=0;f<e;++f)T<w?x[f]=0:(x[f]=1,T-=w),T<<=1,g[e-2-f]=(g[e-1-f]/2|0)+v;for(g[0]=x[0],b[0]=Array(g[0]),C[0]=Array(g[0]),f=1;f<e;++f)g[f]>2*g[f-1]+x[f]&&(g[f]=2*g[f-1]+x[f]),b[f]=Array(g[f]),C[f]=Array(g[f]);for(_=0;_<v;++_)A[_]=e;for(d=0;d<g[e-1];++d)b[e-1][d]=r[d],C[e-1][d]=d;for(_=0;_<e;++_)S[_]=0;for(1===x[e-1]&&(--A[0],++S[e-1]),f=e-2;0<=f;--f){for(p=_=0,y=S[f+1],d=0;d<g[f];d++)(p=b[f+1][y]+b[f+1][y+1])>r[_]?(b[f][d]=p,C[f][d]=v,y+=2):(b[f][d]=r[_],C[f][d]=_,++_);S[f]=0,1===x[f]&&i(f)}for(a=A,o=0,h=n.length;o<h;++o)u[n[o].index]=a[o];return u}function M(e){var i,n,r,a,o=new(s?Uint16Array:Array)(e.length),h=[],l=[],c=0;for(i=0,n=e.length;i<n;i++)h[e[i]]=1+(0|h[e[i]]);for(i=1,n=16;i<=n;i++)l[i]=c,(c+=0|h[i])>1<<i&&t("overcommitted"),c<<=1;for(65536>c&&t("undercommitted"),i=0,n=e.length;i<n;i++)for(c=l[e[i]],l[e[i]]+=1,r=o[i]=0,a=e[i];r<a;r++)o[i]=o[i]<<1|1&c,c>>>=1;return o}function B(t,e){this.input=t,this.a=new(s?Uint8Array:Array)(32768),this.h=P.j;var i,n={};!e&&(e={})||"number"!=typeof e.compressionType||(this.h=e.compressionType);for(i in e)n[i]=e[i];n.outputBuffer=this.a,this.z=new p(this.input,n)}var P=g;function I(e,i){switch(this.k=[],this.l=32768,this.e=this.g=this.c=this.q=0,this.input=s?new Uint8Array(e):e,this.s=!1,this.m=O,this.B=!1,!i&&(i={})||(i.index&&(this.c=i.index),i.bufferSize&&(this.l=i.bufferSize),i.bufferType&&(this.m=i.bufferType),i.resize&&(this.B=i.resize)),this.m){case R:this.b=32768,this.a=new(s?Uint8Array:Array)(32768+this.l+258);break;case O:this.b=0,this.a=new(s?Uint8Array:Array)(this.l),this.f=this.J,this.t=this.H,this.o=this.I;break;default:t(Error("invalid inflate mode"))}}B.prototype.n=function(){var e,i,n,r,o,h,l,c=0;switch(l=this.a,e=ct){case ct:i=Math.LOG2E*Math.log(32768)-8;break;default:t(Error("invalid compression method"))}switch(n=i<<4|e,l[c++]=n,e){case ct:switch(this.h){case P.NONE:o=0;break;case P.r:o=1;break;case P.j:o=2;break;default:t(Error("unsupported compression type"))}break;default:t(Error("invalid compression method"))}return r=o<<6|0,l[c++]=r|31-(256*n+r)%31,h=a(this.input),this.z.b=c,c=(l=this.z.n()).length,s&&((l=new Uint8Array(l.buffer)).length<=c+4&&(this.a=new Uint8Array(l.length+4),this.a.set(l),l=this.a),l=l.subarray(0,c+4)),l[c++]=h>>24&255,l[c++]=h>>16&255,l[c++]=h>>8&255,l[c++]=255&h,l},r("Zlib.Deflate",B),r("Zlib.Deflate.compress",(function(t,e){return new B(t,e).n()})),r("Zlib.Deflate.CompressionType",P),r("Zlib.Deflate.CompressionType.NONE",P.NONE),r("Zlib.Deflate.CompressionType.FIXED",P.r),r("Zlib.Deflate.CompressionType.DYNAMIC",P.j);var R=0,O=1,L={D:R,C:O};I.prototype.p=function(){for(;!this.s;){var n=tt(this,3);switch(1&n&&(this.s=i),n>>>=1){case 0:var r=this.input,a=this.c,o=this.a,h=this.b,l=e,c=e,u=e,_=o.length,f=e;switch(this.e=this.g=0,(l=r[a++])===e&&t(Error("invalid uncompressed block header: LEN (first byte)")),c=l,(l=r[a++])===e&&t(Error("invalid uncompressed block header: LEN (second byte)")),c|=l<<8,(l=r[a++])===e&&t(Error("invalid uncompressed block header: NLEN (first byte)")),u=l,(l=r[a++])===e&&t(Error("invalid uncompressed block header: NLEN (second byte)")),c===~(u|=l<<8)&&t(Error("invalid uncompressed block header: length verify")),a+c>r.length&&t(Error("input buffer is broken")),this.m){case R:for(;h+c>o.length;){if(c-=f=_-h,s)o.set(r.subarray(a,a+f),h),h+=f,a+=f;else for(;f--;)o[h++]=r[a++];this.b=h,o=this.f(),h=this.b}break;case O:for(;h+c>o.length;)o=this.f({v:2});break;default:t(Error("invalid inflate mode"))}if(s)o.set(r.subarray(a,a+c),h),h+=c,a+=c;else for(;c--;)o[h++]=r[a++];this.c=a,this.b=h,this.a=o;break;case 1:this.o(K,$);break;case 2:it(this);break;default:t(Error("unknown BTYPE: "+n))}}return this.t()};var F,V,N=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],k=s?new Uint16Array(N):N,G=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258],z=s?new Uint16Array(G):G,U=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0],j=s?new Uint8Array(U):U,W=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],H=s?new Uint16Array(W):W,X=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Y=s?new Uint8Array(X):X,q=new(s?Uint8Array:Array)(288);for(F=0,V=q.length;F<V;++F)q[F]=143>=F?8:255>=F?9:279>=F?7:8;var J,Z,K=d(q),Q=new(s?Uint8Array:Array)(30);for(J=0,Z=Q.length;J<Z;++J)Q[J]=5;var $=d(Q);function tt(i,n){for(var r,s=i.g,a=i.e,o=i.input,h=i.c;a<n;)(r=o[h++])===e&&t(Error("input buffer is broken")),s|=r<<a,a+=8;return r=s&(1<<n)-1,i.g=s>>>n,i.e=a-n,i.c=h,r}function et(i,n){for(var r,s,a,o=i.g,h=i.e,l=i.input,c=i.c,u=n[0],_=n[1];h<_;)(r=l[c++])===e&&t(Error("input buffer is broken")),o|=r<<h,h+=8;return a=(s=u[o&(1<<_)-1])>>>16,i.g=o>>a,i.e=h-a,i.c=c,65535&s}function it(t){function e(t,e,i){var n,r,s,a;for(a=0;a<t;)switch(n=et(this,e)){case 16:for(s=3+tt(this,2);s--;)i[a++]=r;break;case 17:for(s=3+tt(this,3);s--;)i[a++]=0;r=0;break;case 18:for(s=11+tt(this,7);s--;)i[a++]=0;r=0;break;default:r=i[a++]=n}return i}var i,n,r,a,o=tt(t,5)+257,h=tt(t,5)+1,l=tt(t,4)+4,c=new(s?Uint8Array:Array)(k.length);for(a=0;a<l;++a)c[k[a]]=tt(t,3);i=d(c),n=new(s?Uint8Array:Array)(o),r=new(s?Uint8Array:Array)(h),t.o(d(e.call(t,o,i,n)),d(e.call(t,h,i,r)))}function nt(e,i){var n,r;switch(this.input=e,this.c=0,!i&&(i={})||(i.index&&(this.c=i.index),i.verify&&(this.M=i.verify)),n=e[this.c++],r=e[this.c++],15&n){case ct:this.method=ct;break;default:t(Error("unsupported compression method"))}0!=((n<<8)+r)%31&&t(Error("invalid fcheck flag:"+((n<<8)+r)%31)),32&r&&t(Error("fdict flag is not supported")),this.A=new I(e,{index:this.c,bufferSize:i.bufferSize,bufferType:i.bufferType,resize:i.resize})}I.prototype.o=function(t,e){var i=this.a,n=this.b;this.u=t;for(var r,s,a,o,h=i.length-258;256!==(r=et(this,t));)if(256>r)n>=h&&(this.b=n,i=this.f(),n=this.b),i[n++]=r;else for(o=z[s=r-257],0<j[s]&&(o+=tt(this,j[s])),r=et(this,e),a=H[r],0<Y[r]&&(a+=tt(this,Y[r])),n>=h&&(this.b=n,i=this.f(),n=this.b);o--;)i[n]=i[n++-a];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},I.prototype.I=function(t,e){var i=this.a,n=this.b;this.u=t;for(var r,s,a,o,h=i.length;256!==(r=et(this,t));)if(256>r)n>=h&&(i=this.f(),h=i.length),i[n++]=r;else for(o=z[s=r-257],0<j[s]&&(o+=tt(this,j[s])),r=et(this,e),a=H[r],0<Y[r]&&(a+=tt(this,Y[r])),n+o>h&&(h=(i=this.f()).length);o--;)i[n]=i[n++-a];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},I.prototype.f=function(){var t,e,i=new(s?Uint8Array:Array)(this.b-32768),n=this.b-32768,r=this.a;if(s)i.set(r.subarray(32768,i.length));else for(t=0,e=i.length;t<e;++t)i[t]=r[t+32768];if(this.k.push(i),this.q+=i.length,s)r.set(r.subarray(n,n+32768));else for(t=0;32768>t;++t)r[t]=r[n+t];return this.b=32768,r},I.prototype.J=function(t){var e,i,n,r=this.input.length/this.c+1|0,a=this.input,o=this.a;return t&&("number"==typeof t.v&&(r=t.v),"number"==typeof t.F&&(r+=t.F)),2>r?i=(n=(a.length-this.c)/this.u[2]/2*258|0)<o.length?o.length+n:o.length<<1:i=o.length*r,s?(e=new Uint8Array(i)).set(o):e=o,this.a=e},I.prototype.t=function(){var t,e,i,n,r,a=0,o=this.a,h=this.k,l=new(s?Uint8Array:Array)(this.q+(this.b-32768));if(0===h.length)return s?this.a.subarray(32768,this.b):this.a.slice(32768,this.b);for(e=0,i=h.length;e<i;++e)for(n=0,r=(t=h[e]).length;n<r;++n)l[a++]=t[n];for(e=32768,i=this.b;e<i;++e)l[a++]=o[e];return this.k=[],this.buffer=l},I.prototype.H=function(){var t,e=this.b;return s?this.B?(t=new Uint8Array(e)).set(this.a.subarray(0,e)):t=this.a.subarray(0,e):(this.a.length>e&&(this.a.length=e),t=this.a),this.buffer=t},nt.prototype.p=function(){var e,i=this.input;return e=this.A.p(),this.c=this.A.c,this.M&&((i[this.c++]<<24|i[this.c++]<<16|i[this.c++]<<8|i[this.c++])>>>0!==a(e)&&t(Error("invalid adler-32 checksum"))),e},r("Zlib.Inflate",nt),r("Zlib.Inflate.BufferType",L),L.ADAPTIVE=L.C,L.BLOCK=L.D,r("Zlib.Inflate.prototype.decompress",nt.prototype.p);s&&new Uint16Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);s&&new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,258,258]);s&&new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0]);s&&new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577]);s&&new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]);var rt,st,at=new(s?Uint8Array:Array)(288);for(rt=0,st=at.length;rt<st;++rt)at[rt]=143>=rt?8:255>=rt?9:279>=rt?7:8;d(at);var ot,ht,lt=new(s?Uint8Array:Array)(30);for(ot=0,ht=lt.length;ot<ht;++ot)lt[ot]=5;d(lt);var ct=8}).call(window);var n=window.Zlib;n.Deflate=n.Deflate,n.Deflate.compress=n.Deflate.compress,n.Inflate=n.Inflate,n.Inflate.BufferType=n.Inflate.BufferType,n.Inflate.prototype.decompress=n.Inflate.prototype.decompress,e.exports=n}),{}],26:[(function(t,e,i){t("../../DebugInfos");var n="https://github.com/cocos-creator/engine/blob/master/EngineErrorMap.md",r=void 0;cc.log=cc.warn=cc.error=cc.assert=console.log;function s(t){return function(){var e=arguments[0],i=t+" "+e+", please go to "+n+"#"+e+" to see details.";if(1===arguments.length)return i;if(2===arguments.length)return i+" Arguments: "+arguments[1];var r=cc.js.shiftArguments.apply(null,arguments);return i+" Arguments: "+r.join(", ")}}cc._throw=function(t){var e=t.stack;e?cc.error(e):cc.error(t)};var a=s("Log");cc.logID=function(){cc.log(a.apply(null,arguments))};var o=s("Warning");cc.warnID=function(){cc.warn(o.apply(null,arguments))};var h=s("Error");cc.errorID=function(){cc.error(h.apply(null,arguments))};var l=s("Assert");cc.assertID=function(t){"use strict";t||cc.assert(!1,l.apply(null,cc.js.shiftArguments.apply(null,arguments)))};var c=cc.Enum({NONE:0,INFO:1,WARN:2,ERROR:3,INFO_FOR_WEB_PAGE:4,WARN_FOR_WEB_PAGE:5,ERROR_FOR_WEB_PAGE:6});e.exports=cc.debug={DebugMode:c,_resetDebugSetting:function(t){cc.log=cc.warn=cc.error=cc.assert=function(){},t!==c.NONE&&(t>c.ERROR?(function(){function e(t){if(cc.game.canvas){if(!r){var e=document.createElement("Div");e.setAttribute("id","logInfoDiv"),e.setAttribute("width","200"),e.setAttribute("height",cc.game.canvas.height);var i=e.style;i.zIndex="99999",i.position="absolute",i.top=i.left="0",(r=document.createElement("textarea")).setAttribute("rows","20"),r.setAttribute("cols","30"),r.setAttribute("disabled","true");var n=r.style;n.backgroundColor="transparent",n.borderBottom="1px solid #cccccc",n.borderTopWidth=n.borderLeftWidth=n.borderRightWidth="0px",n.borderTopStyle=n.borderLeftStyle=n.borderRightStyle="none",n.padding="0px",n.margin=0,e.appendChild(r),cc.game.canvas.parentNode.appendChild(e)}r.value=r.value+t+"\r\n",r.scrollTop=r.scrollHeight}}cc.error=function(){e("ERROR :  "+cc.js.formatStr.apply(null,arguments))},cc.assert=function(t,i){"use strict";!t&&i&&e("ASSERT: "+(i=cc.js.formatStr.apply(null,cc.js.shiftArguments.apply(null,arguments))))},t!==c.ERROR_FOR_WEB_PAGE&&(cc.warn=function(){e("WARN :  "+cc.js.formatStr.apply(null,arguments))}),t===c.INFO_FOR_WEB_PAGE&&(cc.log=function(){e(cc.js.formatStr.apply(null,arguments))})})():console&&console.log.apply&&(console.error||(console.error=console.log),console.warn||(console.warn=console.log),console.error.bind?cc.error=console.error.bind(console):cc.error=function(){return console.error.apply(console,arguments)},cc.assert=function(t,e){if(!t)throw e&&(e=cc.js.formatStr.apply(null,cc.js.shiftArguments.apply(null,arguments))),new Error(e)}),t!==c.ERROR&&(console.warn.bind?cc.warn=console.warn.bind(console):cc.warn=function(){return console.warn.apply(console,arguments)}),t===c.INFO&&(console.log.bind?cc.log=console.log.bind(console):cc.log=function(){return console.log.apply(console,arguments)}))},getError:s("ERROR"),isDisplayStats:function(){return!!cc.profiler&&cc.profiler.isShowingStats()},setDisplayStats:function(t){cc.profiler&&(t?cc.profiler.showStats():cc.profiler.hideStats(),cc.game.config.showFPS=!!t)}}}),{"../../DebugInfos":void 0}],27:[(function(t,e,i){var n=t("./event/event-target"),r=t("./load-pipeline/auto-release-utils"),s=t("./component-scheduler"),a=t("./node-activator"),o=t("./platform/CCObject"),h=t("./CCGame"),l=t("./renderer"),c=t("./event-manager"),u=t("./CCScheduler");cc.Director=function(){n.call(this),this.invalid=!1,this._paused=!1,this._purgeDirectorInNextLoop=!1,this._winSizeInPoints=null,this._loadingScene="",this._scene=null,this._totalFrames=0,this._lastUpdate=0,this._deltaTime=0,this._scheduler=null,this._compScheduler=null,this._nodeActivator=null,this._actionManager=null;var t=this;h.on(h.EVENT_SHOW,(function(){t._lastUpdate=performance.now()})),h.once(h.EVENT_ENGINE_INITED,this.init,this)},cc.Director.prototype={constructor:cc.Director,init:function(){return this._totalFrames=0,this._lastUpdate=performance.now(),this._paused=!1,this._purgeDirectorInNextLoop=!1,this._winSizeInPoints=cc.size(0,0),this._scheduler=new u,cc.ActionManager?(this._actionManager=new cc.ActionManager,this._scheduler.scheduleUpdate(this._actionManager,u.PRIORITY_SYSTEM,!1)):this._actionManager=null,this.sharedInit(),!0},sharedInit:function(){this._compScheduler=new s,this._nodeActivator=new a,c&&c.setEnabled(!0),cc.AnimationManager?(this._animationManager=new cc.AnimationManager,this._scheduler.scheduleUpdate(this._animationManager,u.PRIORITY_SYSTEM,!1)):this._animationManager=null,cc.CollisionManager?(this._collisionManager=new cc.CollisionManager,this._scheduler.scheduleUpdate(this._collisionManager,u.PRIORITY_SYSTEM,!1)):this._collisionManager=null,cc.PhysicsManager?(this._physicsManager=new cc.PhysicsManager,this._scheduler.scheduleUpdate(this._physicsManager,u.PRIORITY_SYSTEM,!1)):this._physicsManager=null,cc._widgetManager&&cc._widgetManager.init(this),cc.loader.init(this)},calculateDeltaTime:function(){var t=performance.now();this._deltaTime=(t-this._lastUpdate)/1e3,this._lastUpdate=t},convertToGL:function(t){var e=h.container,i=cc.view,n=e.getBoundingClientRect(),r=n.left+window.pageXOffset-e.clientLeft,s=n.top+window.pageYOffset-e.clientTop,a=i._devicePixelRatio*(t.x-r),o=i._devicePixelRatio*(s+n.height-t.y);return i._isRotated?cc.v2(i._viewportRect.width-o,a):cc.v2(a,o)},convertToUI:function(t){var e=h.container,i=cc.view,n=e.getBoundingClientRect(),r=n.left+window.pageXOffset-e.clientLeft,s=n.top+window.pageYOffset-e.clientTop,a=cc.v2(0,0);return i._isRotated?(a.x=r+t.y/i._devicePixelRatio,a.y=s+n.height-(i._viewportRect.width-t.x)/i._devicePixelRatio):(a.x=r+t.x*i._devicePixelRatio,a.y=s+n.height-t.y*i._devicePixelRatio),a},end:function(){this._purgeDirectorInNextLoop=!0},getWinSize:function(){return cc.size(cc.winSize)},getWinSizeInPixels:function(){return cc.size(cc.winSize)},pause:function(){this._paused||(this._paused=!0)},purgeCachedData:function(){cc.loader.releaseAll()},purgeDirector:function(){this._scheduler.unscheduleAll(),this._compScheduler.unscheduleAll(),this._nodeActivator.reset(),c&&c.setEnabled(!1),cc.renderer.clear(),cc.isValid(this._scene)&&this._scene.destroy(),this._scene=null,this.stopAnimation(),cc.loader.releaseAll()},reset:function(){this.purgeDirector(),c&&c.setEnabled(!0),this._actionManager&&this._scheduler.scheduleUpdate(this._actionManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._animationManager&&this._scheduler.scheduleUpdate(this._animationManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._collisionManager&&this._scheduler.scheduleUpdate(this._collisionManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this._physicsManager&&this._scheduler.scheduleUpdate(this._physicsManager,cc.Scheduler.PRIORITY_SYSTEM,!1),this.startAnimation()},runSceneImmediate:function(t,e,i){cc.assertID(t instanceof cc.Scene,1216),t._load();for(var n=Object.keys(h._persistRootNodes).map((function(t){return h._persistRootNodes[t]})),s=0;s<n.length;s++){var a=n[s],l=t.getChildByUuid(a.uuid);if(l){var c=l.getSiblingIndex();l._destroyImmediate(),t.insertChild(a,c)}else a.parent=t}var u=this._scene,_=u&&u.autoReleaseAssets&&u.dependAssets;r.autoRelease(_,t.dependAssets,n),cc.isValid(u)&&u.destroy(),this._scene=null,o._deferredDestroy(),e&&e(),this.emit(cc.Director.EVENT_BEFORE_SCENE_LAUNCH,t),this._scene=t,t._activate(),this.startAnimation(),i&&i(null,t),this.emit(cc.Director.EVENT_AFTER_SCENE_LAUNCH,t)},runScene:function(t,e,i){cc.assertID(t,1205),cc.assertID(t instanceof cc.Scene,1216),t._load(),this.once(cc.Director.EVENT_AFTER_UPDATE,(function(){this.runSceneImmediate(t,e,i)}),this)},_getSceneUuid:function(t){var e=h._sceneInfos;if("string"==typeof t){t.endsWith(".fire")||(t+=".fire"),"/"===t[0]||t.startsWith("db://")||(t="/"+t);for(var i=0;i<e.length;i++){var n=e[i];if(n.url.endsWith(t))return n}}else if("number"==typeof t){if(0<=t&&t<e.length)return e[t];cc.errorID(1206,t)}else cc.errorID(1207,t);return null},loadScene:function(t,e,i){if(this._loadingScene)return cc.errorID(1208,t,this._loadingScene),!1;var n=this._getSceneUuid(t);if(n){var r=n.uuid;return this.emit(cc.Director.EVENT_BEFORE_SCENE_LOADING,t),this._loadingScene=t,this._loadSceneByUuid(r,e,i),!0}return cc.errorID(1209,t),!1},preloadScene:function(t,e,i){void 0===i&&(i=e,e=null);var n=this._getSceneUuid(t);if(n)this.emit(cc.Director.EVENT_BEFORE_SCENE_LOADING,t),cc.loader.load({uuid:n.uuid,type:"uuid"},e,(function(e,n){e&&cc.errorID(1210,t,e.message),i&&i(e,n)}));else{var r='Can not preload the scene "'+t+'" because it is not in the build settings.';i(new Error(r)),cc.error("preloadScene: "+r)}},_loadSceneByUuid:function(t,e,i,n){console.time("LoadScene "+t),cc.AssetLibrary.loadAsset(t,(function(n,r){console.timeEnd("LoadScene "+t);var s=cc.director;if(s._loadingScene="",n)n="Failed to load scene: "+n,cc.error(n);else{if(r instanceof cc.SceneAsset){var a=r.scene;return a._id=r._uuid,a._name=r._name,void s.runSceneImmediate(a,i,e)}n="The asset "+t+" is not a scene",cc.error(n)}e&&e(n)}))},resume:function(){this._paused&&(this._lastUpdate=performance.now(),this._lastUpdate||cc.logID(1200),this._paused=!1,this._deltaTime=0)},setDepthTest:function(t){cc.Camera.main&&(cc.Camera.main.depth=!!t)},setClearColor:function(t){cc.Camera.main&&(cc.Camera.main.backgroundColor=t)},getRunningScene:function(){return this._scene},getScene:function(){return this._scene},getAnimationInterval:function(){return 1e3/h.getFrameRate()},setAnimationInterval:function(t){h.setFrameRate(Math.round(1e3/t))},getDeltaTime:function(){return this._deltaTime},getTotalFrames:function(){return this._totalFrames},isPaused:function(){return this._paused},getScheduler:function(){return this._scheduler},setScheduler:function(t){this._scheduler!==t&&(this._scheduler=t)},getActionManager:function(){return this._actionManager},setActionManager:function(t){this._actionManager!==t&&(this._actionManager&&this._scheduler.unscheduleUpdate(this._actionManager),this._actionManager=t,this._scheduler.scheduleUpdate(this._actionManager,cc.Scheduler.PRIORITY_SYSTEM,!1))},getAnimationManager:function(){return this._animationManager},getCollisionManager:function(){return this._collisionManager},getPhysicsManager:function(){return this._physicsManager},startAnimation:function(){this.invalid=!1,this._lastUpdate=performance.now()},stopAnimation:function(){this.invalid=!0},mainLoop:function(){this._purgeDirectorInNextLoop?(this._purgeDirectorInNextLoop=!1,this.purgeDirector()):this.invalid||(this.calculateDeltaTime(),this._paused||(this.emit(cc.Director.EVENT_BEFORE_UPDATE),this._compScheduler.startPhase(),this._compScheduler.updatePhase(this._deltaTime),this._scheduler.update(this._deltaTime),this._compScheduler.lateUpdatePhase(this._deltaTime),this.emit(cc.Director.EVENT_AFTER_UPDATE),o._deferredDestroy()),this.emit(cc.Director.EVENT_BEFORE_DRAW),l.render(this._scene),this.emit(cc.Director.EVENT_AFTER_DRAW),c.frameUpdateListeners(),this._totalFrames++)},__fastOn:function(t,e,i){this.add(t,e,i)},__fastOff:function(t,e,i){this.remove(t,e,i)}},cc.js.addon(cc.Director.prototype,n.prototype),cc.Director.EVENT_PROJECTION_CHANGED="director_projection_changed",cc.Director.EVENT_BEFORE_SCENE_LOADING="director_before_scene_loading",cc.Director.EVENT_BEFORE_SCENE_LAUNCH="director_before_scene_launch",cc.Director.EVENT_AFTER_SCENE_LAUNCH="director_after_scene_launch",cc.Director.EVENT_BEFORE_UPDATE="director_before_update",cc.Director.EVENT_AFTER_UPDATE="director_after_update",cc.Director.EVENT_BEFORE_VISIT="director_before_draw",cc.Director.EVENT_AFTER_VISIT="director_before_draw",cc.Director.EVENT_BEFORE_DRAW="director_before_draw",cc.Director.EVENT_AFTER_DRAW="director_after_draw",cc.Director.PROJECTION_2D=0,cc.Director.PROJECTION_3D=1,cc.Director.PROJECTION_CUSTOM=3,cc.Director.PROJECTION_DEFAULT=cc.Director.PROJECTION_2D,cc.director=new cc.Director,e.exports=cc.director}),{"./CCGame":28,"./CCScheduler":32,"./component-scheduler":61,"./event-manager":100,"./event/event-target":102,"./load-pipeline/auto-release-utils":115,"./node-activator":131,"./platform/CCObject":166,"./renderer":201}],28:[(function(t,e,i){var n=t("./event/event-target");t("../audio/CCAudioEngine");var r=t("./CCDebug"),s=t("./renderer/index.js"),a=t("./platform/CCInputManager"),o=t("../core/renderer/utils/dynamic-atlas/manager"),h={EVENT_HIDE:"game_on_hide",EVENT_SHOW:"game_on_show",EVENT_RESTART:"game_on_restart",EVENT_GAME_INITED:"game_inited",EVENT_ENGINE_INITED:"engine_inited",EVENT_RENDERER_INITED:"engine_inited",RENDER_TYPE_CANVAS:0,RENDER_TYPE_WEBGL:1,RENDER_TYPE_OPENGL:2,_persistRootNodes:{},_paused:!0,_configLoaded:!1,_isCloning:!1,_prepared:!1,_rendererInitialized:!1,_renderContext:null,_intervalId:null,_lastTime:null,_frameTime:null,_sceneInfos:[],frame:null,container:null,canvas:null,renderType:-1,config:null,onStart:null,setFrameRate:function(t){this.config.frameRate=t,this._intervalId&&window.cancelAnimFrame(this._intervalId),this._intervalId=0,this._paused=!0,this._setAnimFrame(),this._runMainLoop()},getFrameRate:function(){return this.config.frameRate},step:function(){cc.director.mainLoop()},pause:function(){this._paused||(this._paused=!0,cc.audioEngine&&cc.audioEngine._break(),cc.director.stopAnimation(),this._intervalId&&window.cancelAnimFrame(this._intervalId),this._intervalId=0)},resume:function(){this._paused&&(this._paused=!1,cc.audioEngine&&cc.audioEngine._restore(),cc.director.startAnimation(),this._runMainLoop())},isPaused:function(){return this._paused},restart:function(){cc.director.once(cc.Director.EVENT_AFTER_DRAW,(function(){for(var t in h._persistRootNodes)h.removePersistRootNode(h._persistRootNodes[t]);cc.director.getScene().destroy(),cc.Object._deferredDestroy(),cc.director.purgeDirector(),cc.audioEngine&&cc.audioEngine.uncacheAll(),cc.director.reset(),h.onStart(),h.emit(h.EVENT_RESTART)}))},end:function(){close()},_initEngine:function(){this._rendererInitialized||(this._initRenderer(),this._initEvents(),this.emit(this.EVENT_ENGINE_INITED))},_prepareFinished:function(t){this._prepared=!0,this._initEngine(),console.log("SYGame Creator v"+cc.ENGINE_VERSION),this._setAnimFrame(),this._runMainLoop(),this.emit(this.EVENT_GAME_INITED),t&&t()},eventTargetOn:n.prototype.on,eventTargetOnce:n.prototype.once,on:function(t,e,i){this._prepared&&t===this.EVENT_ENGINE_INITED||!this._pause&&t===this.EVENT_GAME_INITED?e.call(i):this.eventTargetOn(t,e,i)},once:function(t,e,i){this._prepared&&t===this.EVENT_ENGINE_INITED||!this._pause&&t===this.EVENT_GAME_INITED?e.call(i):this.eventTargetOnce(t,e,i)},prepare:function(t){if(this._prepared)t&&t();else{var e=this.config.jsList;if(e&&e.length>0){var i=this;cc.loader.load(e,(function(e){if(e)throw new Error(JSON.stringify(e));i._prepareFinished(t)}))}else this._prepareFinished(t)}},run:function(t,e){this._initConfig(t),this.onStart=e,this.prepare(h.onStart&&h.onStart.bind(h))},addPersistRootNode:function(t){if(cc.Node.isNode(t)&&t.uuid){var e=t.uuid;if(!this._persistRootNodes[e]){var i=cc.director._scene;if(cc.isValid(i))if(t.parent){if(!(t.parent instanceof cc.Scene))return void cc.warnID(3801);if(t.parent!==i)return void cc.warnID(3802)}else t.parent=i;this._persistRootNodes[e]=t,t._persistNode=!0}}else cc.warnID(3800)},removePersistRootNode:function(t){var e=t.uuid||"";t===this._persistRootNodes[e]&&(delete this._persistRootNodes[e],t._persistNode=!1)},isPersistRootNode:function(t){return t._persistNode},_setAnimFrame:function(){this._lastTime=new Date;var t=h.config.frameRate;this._frameTime=1e3/t,60!==t&&30!==t?(window.requestAnimFrame=this._stTime,window.cancelAnimFrame=this._ctTime):(window.requestAnimFrame=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||this._stTime,window.cancelAnimFrame=window.cancelAnimationFrame||window.cancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.webkitCancelRequestAnimationFrame||window.msCancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.oCancelAnimationFrame||this._ctTime)},_stTime:function(t){var e=(new Date).getTime(),i=Math.max(0,h._frameTime-(e-h._lastTime)),n=window.setTimeout((function(){t()}),i);return h._lastTime=e+i,n},_ctTime:function(t){window.clearTimeout(t)},_runMainLoop:function(){var t,e=this,i=e.config,n=cc.director,s=!0,a=i.frameRate;r.setDisplayStats(i.showFPS),t=function(){if(!e._paused){if(e._intervalId=window.requestAnimFrame(t),30===a&&(s=!s))return;n.mainLoop()}},e._intervalId=window.requestAnimFrame(t),e._paused=!1},_initConfig:function(t){"number"!=typeof t.debugMode&&(t.debugMode=0),t.exposeClassName=!!t.exposeClassName,"number"!=typeof t.frameRate&&(t.frameRate=60);var e=t.renderMode;("number"!=typeof e||e>2||e<0)&&(t.renderMode=0),"boolean"!=typeof t.registerSystemEvent&&(t.registerSystemEvent=!0),t.showFPS=!!t.showFPS,this._sceneInfos=t.scenes||[],this.collisionMatrix=t.collisionMatrix||[],this.groupList=t.groupList||[],r._resetDebugSetting(t.debugMode),this.config=t,this._configLoaded=!0},_determineRenderType:function(){var t=this.config,e=parseInt(t.renderMode)||0;this.renderType=this.RENDER_TYPE_CANVAS;var i=!1;if(0===e?cc.sys.capabilities.opengl?(this.renderType=this.RENDER_TYPE_WEBGL,i=!0):cc.sys.capabilities.canvas&&(this.renderType=this.RENDER_TYPE_CANVAS,i=!0):1===e&&cc.sys.capabilities.canvas?(this.renderType=this.RENDER_TYPE_CANVAS,i=!0):2===e&&cc.sys.capabilities.opengl&&(this.renderType=this.RENDER_TYPE_WEBGL,i=!0),!i)throw new Error(r.getError(3820,e))},_initRenderer:function(){if(!this._rendererInitialized){var t=this.config.id,e=void 0,i=void 0,n=void 0,r=void 0;var a=t instanceof HTMLElement?t:document.querySelector(t)||document.querySelector("#"+t);"CANVAS"===a.tagName?(e=a.width,i=a.height,this.canvas=n=a,this.container=r=document.createElement("DIV"),n.parentNode&&n.parentNode.insertBefore(r,n)):("DIV"!==a.tagName&&cc.warnID(3819),e=a.clientWidth,i=a.clientHeight,this.canvas=n=document.createElement("CANVAS"),this.container=r=document.createElement("DIV"),a.appendChild(r)),r.setAttribute("id","Cocos2dGameContainer"),r.appendChild(n),this.frame=r.parentNode===document.body?document.documentElement:r.parentNode,(function(t,e){(" "+t.className+" ").indexOf(" "+e+" ")>-1||(t.className&&(t.className+=" "),t.className+=e)})(n,"gameCanvas"),n.setAttribute("width",e||480),n.setAttribute("height",i||320),n.setAttribute("tabindex",99);if(this._determineRenderType(),this.renderType===this.RENDER_TYPE_WEBGL){var h={stencil:!0,antialias:cc.macro.ENABLE_WEBGL_ANTIALIAS,alpha:cc.macro.ENABLE_TRANSPARENT_CANVAS};0,s.initWebGL(n,h),this._renderContext=s.device._gl,!cc.macro.CLEANUP_IMAGE_CACHE&&o&&(o.enabled=!0)}this._renderContext||(this.renderType=this.RENDER_TYPE_CANVAS,s.initCanvas(n),this._renderContext=s.device._ctx),this.canvas.oncontextmenu=function(){if(!cc._isContextMenuEnable)return!1},this._rendererInitialized=!0}},_initEvents:function(){var t,e=window;this.config.registerSystemEvent&&a.registerSystemEvent(this.canvas),void 0!==document.hidden?t="hidden":void 0!==document.mozHidden?t="mozHidden":void 0!==document.msHidden?t="msHidden":void 0!==document.webkitHidden&&(t="webkitHidden");var i=!1;function n(){i||(i=!0,h.emit(h.EVENT_HIDE))}function r(t,e,n,r,s){i&&(i=!1,h.emit(h.EVENT_SHOW,t,e,n,r,s))}if(t)for(var s=["visibilitychange","mozvisibilitychange","msvisibilitychange","webkitvisibilitychange","qbrowserVisibilityChange"],o=0;o<s.length;o++)document.addEventListener(s[o],(function(e){var i=document[t];(i=i||e.hidden)?n():r()}));else e.addEventListener("blur",n),e.addEventListener("focus",r);navigator.userAgent.indexOf("MicroMessenger")>-1&&(e.onfocus=r),"onpageshow"in window&&"onpagehide"in window&&(e.addEventListener("pagehide",n),e.addEventListener("pageshow",r),document.addEventListener("pagehide",n),document.addEventListener("pageshow",r)),this.on(h.EVENT_HIDE,(function(){h.pause()})),this.on(h.EVENT_SHOW,(function(){h.resume()}))}};n.call(h),cc.js.addon(h,n.prototype),cc.game=e.exports=h}),{"../audio/CCAudioEngine":21,"../core/renderer/utils/dynamic-atlas/manager":205,"./CCDebug":26,"./event/event-target":102,"./platform/BKInputManager":158,"./platform/CCInputManager":164,"./renderer/index.js":201}],29:[(function(t,e,i){"use strict";var n=t("./utils/base-node"),r=t("./utils/prefab-helper"),s=t("./utils/math-pools"),a=t("./renderer/render-engine").math,o=t("./utils/affine-transform"),h=t("./event-manager"),l=t("./platform/CCMacro"),c=t("./utils/misc"),u=t("./platform/js"),_=(t("./event/event"),t("./event/event-target")),f=t("./renderer/render-flow"),m=cc.Object.Flags.Destroying,d=Math.PI/180,p=!!cc.ActionManager,y=function(){},v=cc.v2(),g=cc.v2(),x=a.mat4.create(),A=a.vec3.create(),b=a.quat.create(),C=new Array(16);C.length=0;var S=cc.Enum({DEBUG:31}),T=cc.Enum({POSITION:1,SCALE:2,ROTATION:4,SKEW:8,RT:7,ALL:65535}),w=cc.Enum({TOUCH_START:"touchstart",TOUCH_MOVE:"touchmove",TOUCH_END:"touchend",TOUCH_CANCEL:"touchcancel",MOUSE_DOWN:"mousedown",MOUSE_MOVE:"mousemove",MOUSE_ENTER:"mouseenter",MOUSE_LEAVE:"mouseleave",MOUSE_UP:"mouseup",MOUSE_WHEEL:"mousewheel",POSITION_CHANGED:"position-changed",ROTATION_CHANGED:"rotation-changed",SCALE_CHANGED:"scale-changed",SIZE_CHANGED:"size-changed",ANCHOR_CHANGED:"anchor-changed",COLOR_CHANGED:"color-changed",CHILD_ADDED:"child-added",CHILD_REMOVED:"child-removed",CHILD_REORDER:"child-reorder",GROUP_CHANGED:"group-changed"}),E=[w.TOUCH_START,w.TOUCH_MOVE,w.TOUCH_END,w.TOUCH_CANCEL],D=[w.MOUSE_DOWN,w.MOUSE_ENTER,w.MOUSE_MOVE,w.MOUSE_LEAVE,w.MOUSE_UP,w.MOUSE_WHEEL],M=null,B=function(t,e){var i=t.getLocation(),n=this.owner;return!!n._hitTest(i,this)&&(e.type=w.TOUCH_START,e.touch=t,e.bubbles=!0,n.dispatchEvent(e),!0)},P=function(t,e){var i=this.owner;e.type=w.TOUCH_MOVE,e.touch=t,e.bubbles=!0,i.dispatchEvent(e)},I=function(t,e){var i=t.getLocation(),n=this.owner;n._hitTest(i,this)?e.type=w.TOUCH_END:e.type=w.TOUCH_CANCEL,e.touch=t,e.bubbles=!0,n.dispatchEvent(e)},R=function(t,e){t.getLocation();var i=this.owner;e.type=w.TOUCH_CANCEL,e.touch=t,e.bubbles=!0,i.dispatchEvent(e)},O=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=w.MOUSE_DOWN,t.bubbles=!0,i.dispatchEvent(t))},L=function(t){var e=t.getLocation(),i=this.owner;if(i._hitTest(e,this))this._previousIn||(M&&M._mouseListener&&(t.type=w.MOUSE_LEAVE,M.dispatchEvent(t),M._mouseListener._previousIn=!1),M=this.owner,t.type=w.MOUSE_ENTER,i.dispatchEvent(t),this._previousIn=!0),t.type=w.MOUSE_MOVE,t.bubbles=!0,i.dispatchEvent(t);else{if(!this._previousIn)return;t.type=w.MOUSE_LEAVE,i.dispatchEvent(t),this._previousIn=!1,M=null}t.stopPropagation()},F=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=w.MOUSE_UP,t.bubbles=!0,i.dispatchEvent(t),t.stopPropagation())},V=function(t){var e=t.getLocation(),i=this.owner;i._hitTest(e,this)&&(t.type=w.MOUSE_WHEEL,t.bubbles=!0,i.dispatchEvent(t),t.stopPropagation())};function N(t){var e=cc.Mask;if(e)for(var i=0,n=t;n&&cc.Node.isNode(n);n=n._parent,++i)if(n.getComponent(e))return{index:i,node:n};return null}function k(t,e){if(!(t._objFlags&m)){var i=0;if(t._bubblingListeners)for(;i<e.length;++i)if(t._bubblingListeners.hasEventListener(e[i]))return!0;if(t._capturingListeners)for(;i<e.length;++i)if(t._capturingListeners.hasEventListener(e[i]))return!0;return!1}return!0}function G(t){var e=t.groupIndex;return 0===e&&t.parent&&(e=G(t.parent)),e}function z(t){var e=G(t);t._cullingMask=1<<e;for(var i=0;i<t._children.length;i++)z(t._children[i])}var U=cc.Class({name:"cc.Node",extends:n,properties:{_opacity:255,_color:cc.Color.WHITE,_contentSize:cc.Size,_anchorPoint:cc.v2(.5,.5),_position:cc.Vec3,_scaleX:{default:void 0,type:cc.Float},_scaleY:{default:void 0,type:cc.Float},_scale:cc.Vec3,_rotationX:0,_rotationY:0,_quat:cc.Quat,_skewX:0,_skewY:0,_zIndex:{default:void 0,type:cc.Integer},_localZOrder:{default:0,serializable:!1},groupIndex:{default:0,type:cc.Integer},group:{get:function(){return cc.game.groupList[this.groupIndex]||""},set:function(t){this.groupIndex=cc.game.groupList.indexOf(t),z(this),this.emit(w.GROUP_CHANGED,this)}},x:{get:function(){return this._position.x},set:function(t){var e=this._position;t!==e.x&&(e.x=t,this.setLocalDirty(T.POSITION),this._renderFlag|=f.FLAG_WORLD_TRANSFORM,1&this._eventMask&&this.emit(w.POSITION_CHANGED))}},y:{get:function(){return this._position.y},set:function(t){var e=this._position;t!==e.y&&(e.y=t,this.setLocalDirty(T.POSITION),this._renderFlag|=f.FLAG_WORLD_TRANSFORM,1&this._eventMask&&this.emit(w.POSITION_CHANGED))}},z:{get:function(){return this._position.z},set:function(t){var e=this._position;t!==e.z&&(e.z=t,this.setLocalDirty(T.POSITION),this._renderFlag|=f.FLAG_WORLD_TRANSFORM,1&this._eventMask&&this.emit(w.POSITION_CHANGED))}},rotation:{get:function(){return this._rotationX},set:function(t){this._rotationX===t&&this._rotationY===t||(this._rotationX=this._rotationY=t,a.quat.fromEuler(this._quat,0,0,-t),this.setLocalDirty(T.ROTATION),this._renderFlag|=f.FLAG_TRANSFORM,4&this._eventMask&&this.emit(w.ROTATION_CHANGED))}},rotationX:{get:function(){return this._rotationX},set:function(t){this._rotationX!==t&&(this._rotationX=t,this._rotationX===this._rotationY?a.quat.fromEuler(this._quat,0,0,-t):a.quat.fromEuler(this._quat,t,this._rotationY,0),this.setLocalDirty(T.ROTATION),this._renderFlag|=f.FLAG_TRANSFORM,4&this._eventMask&&this.emit(w.ROTATION_CHANGED))}},rotationY:{get:function(){return this._rotationY},set:function(t){this._rotationY!==t&&(this._rotationY=t,this._rotationX===this._rotationY?a.quat.fromEuler(this._quat,0,0,-t):a.quat.fromEuler(this._quat,this._rotationX,t,0),this.setLocalDirty(T.ROTATION),this._renderFlag|=f.FLAG_TRANSFORM,4&this._eventMask&&this.emit(w.ROTATION_CHANGED))}},scaleX:{get:function(){return this._scale.x},set:function(t){this._scale.x!==t&&(this._scale.x=t,this.setLocalDirty(T.SCALE),this._renderFlag|=f.FLAG_TRANSFORM,2&this._eventMask&&this.emit(w.SCALE_CHANGED))}},scaleY:{get:function(){return this._scale.y},set:function(t){this._scale.y!==t&&(this._scale.y=t,this.setLocalDirty(T.SCALE),this._renderFlag|=f.FLAG_TRANSFORM,2&this._eventMask&&this.emit(w.SCALE_CHANGED))}},skewX:{get:function(){return this._skewX},set:function(t){this._skewX=t,this.setLocalDirty(T.SKEW),this._renderFlag|=f.FLAG_TRANSFORM}},skewY:{get:function(){return this._skewY},set:function(t){this._skewY=t,this.setLocalDirty(T.SKEW),this._renderFlag|=f.FLAG_TRANSFORM}},opacity:{get:function(){return this._opacity},set:function(t){this._opacity!==t&&(this._opacity=t,this._renderFlag|=f.FLAG_OPACITY|f.FLAG_COLOR)},range:[0,255]},color:{get:function(){return this._color.clone()},set:function(t){this._color.equals(t)||(this._color.set(t),this._renderComponent&&(this._renderFlag|=f.FLAG_COLOR),32&this._eventMask&&this.emit(w.COLOR_CHANGED,t))}},anchorX:{get:function(){return this._anchorPoint.x},set:function(t){var e=this._anchorPoint;e.x!==t&&(e.x=t,16&this._eventMask&&this.emit(w.ANCHOR_CHANGED))}},anchorY:{get:function(){return this._anchorPoint.y},set:function(t){var e=this._anchorPoint;e.y!==t&&(e.y=t,16&this._eventMask&&this.emit(w.ANCHOR_CHANGED))}},width:{get:function(){return this._contentSize.width},set:function(t){t!==this._contentSize.width&&(this._contentSize.width=t,8&this._eventMask&&this.emit(w.SIZE_CHANGED))}},height:{get:function(){return this._contentSize.height},set:function(t){t!==this._contentSize.height&&(this._contentSize.height=t,8&this._eventMask&&this.emit(w.SIZE_CHANGED))}},zIndex:{get:function(){return this._localZOrder>>16},set:function(t){t>l.MAX_ZINDEX?(cc.warnID(1636),t=l.MAX_ZINDEX):t<l.MIN_ZINDEX&&(cc.warnID(1637),t=l.MIN_ZINDEX),this.zIndex!==t&&(this._localZOrder=65535&this._localZOrder|t<<16,this._parent&&this._onSiblingIndexChanged())}}},ctor:function(){this._reorderChildDirty=!1,this._widget=null,this._renderComponent=null,this._capturingListeners=null,this._bubblingListeners=null,this._touchListener=null,this._mouseListener=null,this._scale.x=1,this._scale.y=1,this._scale.z=1,this._matrix=s.mat4.get(),this._worldMatrix=s.mat4.get(),this._localMatDirty=T.ALL,this._worldMatDirty=!0,this._eventMask=0,this._cullingMask=1,this._childArrivalOrder=1},statics:{EventType:w,_LocalDirtyFlag:T,isNode:function(t){return t instanceof U&&(t.constructor===U||!(t instanceof cc.Scene))},BuiltinGroupIndex:S},_onSiblingIndexChanged:function(){for(var t,e=this._parent,i=e._children,n=0,r=i.length;n<r;n++)(t=i[n])._updateOrderOfArrival(),h._setDirtyForNode(t);e._delaySort()},_onPreDestroy:function(){this._onPreDestroyBase();p&&cc.director.getActionManager().removeAllActionsFromTarget(this),M===this&&(M=null),(this._touchListener||this._mouseListener)&&(h.removeListeners(this),this._touchListener&&(this._touchListener.owner=null,this._touchListener.mask=null,this._touchListener=null),this._mouseListener&&(this._mouseListener.owner=null,this._mouseListener.mask=null,this._mouseListener=null)),s.mat4.put(this._matrix),s.mat4.put(this._worldMatrix),this._matrix=this._worldMatrix=null,this._reorderChildDirty&&cc.director.__fastOff(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this)},_onPostActivated:function(t){var e=p?cc.director.getActionManager():null;if(t)if(this._renderFlag|=f.FLAG_WORLD_TRANSFORM,e&&e.resumeTarget(this),h.resumeTarget(this),this._touchListener){var i=this._touchListener.mask=N(this);this._mouseListener&&(this._mouseListener.mask=i)}else this._mouseListener&&(this._mouseListener.mask=N(this));else e&&e.pauseTarget(this),h.pauseTarget(this)},_onHierarchyChanged:function(t){this._updateOrderOfArrival(),z(this),this._parent&&this._parent._delaySort(),this._renderFlag|=f.FLAG_WORLD_TRANSFORM,this._onHierarchyChangedBase(t),cc._widgetManager&&(cc._widgetManager._nodesOrderDirty=!0)},_upgrade_1x_to_2x:function(){if(void 0!==this._scaleX&&(this._scale.x=this._scaleX,this._scaleX=void 0),void 0!==this._scaleY&&(this._scale.y=this._scaleY,this._scaleY=void 0),void 0!==this._zIndex&&(this._localZOrder=this._zIndex<<16,this._zIndex=void 0),0!==this._rotationX||0!==this._rotationY)this._rotationX===this._rotationY?a.quat.fromEuler(this._quat,0,0,-this._rotationX):a.quat.fromEuler(this._quat,this._rotationX,this._rotationY,0);else{var t=this._quat.getRoll(),e=this._quat.getPitch();0===t&&0===e?this._rotationX=this._rotationY=-this._quat.getYaw():(this._rotationX=t,this._rotationY=e)}this._color.a<255&&255===this._opacity&&(this._opacity=this._color.a,this._color.a=255)},_onBatchCreated:function(){this._upgrade_1x_to_2x(),this._updateOrderOfArrival(),this._cullingMask=1<<G(this);var t=this._prefab;t&&t.sync&&t.root===this&&r.syncWithPrefab(this),this._activeInHierarchy||(p&&cc.director.getActionManager().pauseTarget(this),h.pauseTarget(this));for(var e=this._children,i=0,n=e.length;i<n;i++)e[i]._onBatchCreated();e.length>0&&(this._renderFlag|=f.FLAG_CHILDREN)},_onBatchRestored:function(){this._upgrade_1x_to_2x(),this._cullingMask=1<<G(this),this._activeInHierarchy||(p&&cc.director.getActionManager().pauseTarget(this),h.pauseTarget(this));for(var t=this._children,e=0,i=t.length;e<i;e++)t[e]._onBatchRestored();t.length>0&&(this._renderFlag|=f.FLAG_CHILDREN)},_checknSetupSysEvent:function(t){var e=!1,i=!1;return-1!==E.indexOf(t)?(this._touchListener||(this._touchListener=cc.EventListener.create({event:cc.EventListener.TOUCH_ONE_BY_ONE,swallowTouches:!0,owner:this,mask:N(this),onTouchBegan:B,onTouchMoved:P,onTouchEnded:I,onTouchCancelled:R}),h.addListener(this._touchListener,this),e=!0),i=!0):-1!==D.indexOf(t)&&(this._mouseListener||(this._mouseListener=cc.EventListener.create({event:cc.EventListener.MOUSE,_previousIn:!1,owner:this,mask:N(this),onMouseDown:O,onMouseMove:L,onMouseUp:F,onMouseScroll:V}),h.addListener(this._mouseListener,this),e=!0),i=!0),e&&!this._activeInHierarchy&&cc.director.getScheduler().schedule((function(){this._activeInHierarchy||h.pauseTarget(this)}),this,0,0,0,!1),i},on:function(t,e,i,n){if(this._checknSetupSysEvent(t))return this._onDispatch(t,e,i,n);switch(t){case w.POSITION_CHANGED:this._eventMask|=1;break;case w.SCALE_CHANGED:this._eventMask|=2;break;case w.ROTATION_CHANGED:this._eventMask|=4;break;case w.SIZE_CHANGED:this._eventMask|=8;break;case w.ANCHOR_CHANGED:this._eventMask|=16;break;case w.COLOR_CHANGED:this._eventMask|=32}return this._bubblingListeners||(this._bubblingListeners=new _),this._bubblingListeners.on(t,e,i)},once:function(t,e,i,n){var r=this,s=this._checknSetupSysEvent(t),a="__ONCE_FLAG:"+t,o=null;(o=s&&n?this._capturingListeners=this._capturingListeners||new _:this._bubblingListeners=this._bubblingListeners||new _).hasEventListener(a,e,i)||(function(){var n=r,s=function(r,h,l,c,u){n.off(t,s,i),o.remove(a,e,i),e.call(this,r,h,l,c,u)};r.on(t,s,i),o.add(a,e,i)})()},_onDispatch:function(t,e,i,n){if("boolean"==typeof i?(n=i,i=void 0):n=!!n,e){var r=null;return(r=n?this._capturingListeners=this._capturingListeners||new _:this._bubblingListeners=this._bubblingListeners||new _).hasEventListener(t,e,i)||(r.add(t,e,i),i&&i.__eventTargets&&i.__eventTargets.push(this)),e}cc.errorID(6800)},off:function(t,e,i,n){var r=-1!==E.indexOf(t),s=!r&&-1!==D.indexOf(t);if(r||s)this._offDispatch(t,e,i,n),r?this._touchListener&&!k(this,E)&&(h.removeListener(this._touchListener),this._touchListener=null):s&&this._mouseListener&&!k(this,D)&&(h.removeListener(this._mouseListener),this._mouseListener=null);else if(this._bubblingListeners){if(this._bubblingListeners.off(t,e,i),!this._bubblingListeners.hasEventListener(t))switch(t){case w.POSITION_CHANGED:this._eventMask&=-2;break;case w.SCALE_CHANGED:this._eventMask&=-3;break;case w.ROTATION_CHANGED:this._eventMask&=-5;break;case w.SIZE_CHANGED:this._eventMask&=-9;break;case w.ANCHOR_CHANGED:this._eventMask&=-17;break;case w.COLOR_CHANGED:this._eventMask&=-33}}},_offDispatch:function(t,e,i,n){if("boolean"==typeof i?(n=i,i=void 0):n=!!n,e){var r=n?this._capturingListeners:this._bubblingListeners;r&&(r.remove(t,e,i),i&&i.__eventTargets&&u.array.fastRemove(i.__eventTargets,this))}else this._capturingListeners&&this._capturingListeners.removeAll(t),this._bubblingListeners&&this._bubblingListeners.removeAll(t)},targetOff:function(t){var e=this._bubblingListeners;e&&(e.targetOff(t),1&this._eventMask&&!e.hasEventListener(w.POSITION_CHANGED)&&(this._eventMask&=-2),2&this._eventMask&&!e.hasEventListener(w.SCALE_CHANGED)&&(this._eventMask&=-3),4&this._eventMask&&!e.hasEventListener(w.ROTATION_CHANGED)&&(this._eventMask&=-5),8&this._eventMask&&!e.hasEventListener(w.SIZE_CHANGED)&&(this._eventMask&=-9),16&this._eventMask&&!e.hasEventListener(w.ANCHOR_CHANGED)&&(this._eventMask&=-17),32&this._eventMask&&!e.hasEventListener(w.COLOR_CHANGED)&&(this._eventMask&=-33)),this._capturingListeners&&this._capturingListeners.targetOff(t),this._touchListener&&!k(this,E)&&(h.removeListener(this._touchListener),this._touchListener=null),this._mouseListener&&!k(this,D)&&(h.removeListener(this._mouseListener),this._mouseListener=null)},hasEventListener:function(t){var e=!1;return this._bubblingListeners&&(e=this._bubblingListeners.hasEventListener(t)),!e&&this._capturingListeners&&(e=this._capturingListeners.hasEventListener(t)),e},emit:function(t,e,i,n,r,s){this._bubblingListeners&&this._bubblingListeners.emit(t,e,i,n,r,s)},dispatchEvent:function(t){(function(t,e){var i,n;for(e.target=t,C.length=0,t._getCapturingTargets(e.type,C),e.eventPhase=1,n=C.length-1;n>=0;--n)if((i=C[n])._capturingListeners&&(e.currentTarget=i,i._capturingListeners.emit(e.type,e,C),e._propagationStopped))return void(C.length=0);if(C.length=0,e.eventPhase=2,e.currentTarget=t,t._capturingListeners&&t._capturingListeners.emit(e.type,e),!e._propagationImmediateStopped&&t._bubblingListeners&&t._bubblingListeners.emit(e.type,e),!e._propagationStopped&&e.bubbles)for(t._getBubblingTargets(e.type,C),e.eventPhase=3,n=0;n<C.length;++n)if((i=C[n])._bubblingListeners&&(e.currentTarget=i,i._bubblingListeners.emit(e.type,e),e._propagationStopped))return void(C.length=0);C.length=0})(this,t),C.length=0},pauseSystemEvents:function(t){h.pauseTarget(this,t)},resumeSystemEvents:function(t){h.resumeTarget(this,t)},_hitTest:function(t,e){var i=this._contentSize.width,n=this._contentSize.height,r=v,s=g,o=cc.Camera.findCamera(this);if(o?o.getCameraToWorldPoint(t,r):r.set(t),this._updateWorldMatrix(),a.mat4.invert(x,this._worldMatrix),a.vec2.transformMat4(s,r,x),s.x+=this._anchorPoint.x*i,s.y+=this._anchorPoint.y*n,s.x>=0&&s.y>=0&&s.x<=i&&s.y<=n){if(e&&e.mask){for(var h=e.mask,l=this,c=0;l&&c<h.index;++c,l=l.parent);if(l===h.node){var u=l.getComponent(cc.Mask);return!u||!u.enabledInHierarchy||u._hitTest(r)}return e.mask=null,!0}return!0}return!1},_getCapturingTargets:function(t,e){for(var i=this.parent;i;)i._capturingListeners&&i._capturingListeners.hasEventListener(t)&&e.push(i),i=i.parent},_getBubblingTargets:function(t,e){for(var i=this.parent;i;)i._bubblingListeners&&i._bubblingListeners.hasEventListener(t)&&e.push(i),i=i.parent},runAction:p?function(t){if(this.active)return cc.assertID(t,1618),cc.director.getActionManager().addAction(t,this,!1),t}:y,pauseAllActions:p?function(){cc.director.getActionManager().pauseTarget(this)}:y,resumeAllActions:p?function(){cc.director.getActionManager().resumeTarget(this)}:y,stopAllActions:p?function(){cc.director.getActionManager().removeAllActionsFromTarget(this)}:y,stopAction:p?function(t){cc.director.getActionManager().removeAction(t)}:y,stopActionByTag:p?function(t){t!==cc.Action.TAG_INVALID?cc.director.getActionManager().removeActionByTag(t,this):cc.logID(1612)}:y,getActionByTag:p?function(t){return t===cc.Action.TAG_INVALID?(cc.logID(1613),null):cc.director.getActionManager().getActionByTag(t,this)}:function(){return null},getNumberOfRunningActions:p?function(){return cc.director.getActionManager().getNumberOfRunningActionsInTarget(this)}:function(){return 0},getPosition:function(){return new cc.Vec2(this._position)},setPosition:function(t,e){var i;void 0===e?(i=t.x,e=t.y):i=t;var n=this._position;n.x===i&&n.y===e||(n.x=i,n.y=e,this.setLocalDirty(T.POSITION),this._renderFlag|=f.FLAG_WORLD_TRANSFORM,1&this._eventMask&&this.emit(w.POSITION_CHANGED))},getScale:function(){return this._scale.x!==this._scale.y&&cc.logID(1603),this._scale.x},setScale:function(t,e){t&&"number"!=typeof t?(e=t.y,t=t.x):void 0===e&&(e=t),this._scale.x===t&&this._scale.y===e||(this._scale.x=t,this._scale.y=e,this.setLocalDirty(T.SCALE),this._renderFlag|=f.FLAG_TRANSFORM,2&this._eventMask&&this.emit(w.SCALE_CHANGED))},getContentSize:function(){return cc.size(this._contentSize.width,this._contentSize.height)},setContentSize:function(t,e){var i=this._contentSize;if(void 0===e){if(t.width===i.width&&t.height===i.height)return;0,i.width=t.width,i.height=t.height}else{if(t===i.width&&e===i.height)return;0,i.width=t,i.height=e}8&this._eventMask&&this.emit(w.SIZE_CHANGED)},getAnchorPoint:function(){return cc.v2(this._anchorPoint)},setAnchorPoint:function(t,e){var i=this._anchorPoint;if(void 0===e){if(t.x===i.x&&t.y===i.y)return;i.x=t.x,i.y=t.y}else{if(t===i.x&&e===i.y)return;i.x=t,i.y=e}this.setLocalDirty(T.POSITION),16&this._eventMask&&this.emit(w.ANCHOR_CHANGED)},_invTransformPoint:function(t,e){return this._parent?this._parent._invTransformPoint(t,e):a.vec3.copy(t,e),a.vec3.sub(t,t,this._position),a.quat.conjugate(b,this._quat),a.vec3.transformQuat(t,t,b),a.vec3.inverseSafe(A,this._scale),a.vec3.mul(t,t,A),t},getWorldPos:function(t){a.vec3.copy(t,this._position);for(var e=this._parent;e;)a.vec3.mul(t,t,e._scale),a.vec3.transformQuat(t,t,e._quat),a.vec3.add(t,t,e._position),e=e._parent;return t},setWorldPos:function(t){this._parent?this._parent._invTransformPoint(this._position,t):a.vec3.copy(this._position,t),this.setLocalDirty(T.POSITION),1&this._eventMask&&this.emit(w.POSITION_CHANGED)},getWorldRot:function(t){a.quat.copy(t,this._quat);for(var e=this._parent;e;)a.quat.mul(t,e._quat,t),e=e._parent;return t},setWorldRot:function(t){this._parent?(this._parent.getWorldRot(this._quat),a.quat.conjugate(this._quat,this._quat),a.quat.mul(this._quat,this._quat,t)):a.quat.copy(this._quat,t),this.setLocalDirty(T.ROTATION)},getWorldRT:function(t){var e=A,i=b;a.vec3.copy(e,this._position),a.quat.copy(i,this._quat);for(var n=this._parent;n;)a.vec3.mul(e,e,n._scale),a.vec3.transformQuat(e,e,n._quat),a.vec3.add(e,e,n._position),a.quat.mul(i,n._quat,i),n=n._parent;return a.mat4.fromRT(t,i,e),t},lookAt:function(t,e){this.getWorldPos(A),a.vec3.sub(A,A,t),a.vec3.normalize(A,A),a.quat.fromViewUp(b,A,e),this.setWorldRot(b)},_updateLocalMatrix:function(){var t=this._localMatDirty;if(t){var e=this._matrix;if(t&(T.RT|T.SKEW)){var i=this._rotationX||this._rotationY,n=this._skewX||this._skewY,r=this._scale.x,s=this._scale.y;if(i||n){var a=1,o=0,h=0,l=1;if(i){var c=this._rotationX*d;if(h=Math.sin(c),l=Math.cos(c),this._rotationY===this._rotationX)a=l,o=-h;else{var u=this._rotationY*d;a=Math.cos(u),o=-Math.sin(u)}}if(e.m00=a*=r,e.m01=o*=r,e.m04=h*=s,e.m05=l*=s,n){var _=e.m00,f=e.m01,m=e.m04,p=e.m05,y=Math.tan(this._skewX*d),v=Math.tan(this._skewY*d);y===1/0&&(y=99999999),v===1/0&&(v=99999999),e.m00=_+m*v,e.m01=f+p*v,e.m04=m+_*y,e.m05=p+f*y}}else e.m00=r,e.m01=0,e.m04=0,e.m05=s}e.m12=this._position.x,e.m13=this._position.y,this._localMatDirty=0,this._worldMatDirty=!0}},_calculWorldMatrix:function(){this._localMatDirty&&this._updateLocalMatrix();var t=this._parent;if(t){var e=t._worldMatrix,i=this._matrix,n=this._worldMatrix,r=i.m00,s=i.m01,o=i.m04,h=i.m05,l=i.m12,c=i.m13,u=e.m00,_=e.m01,f=e.m04,m=e.m05,d=e.m12,p=e.m13;0!==_||0!==f?(n.m00=r*u+s*f,n.m01=r*_+s*m,n.m04=o*u+h*f,n.m05=o*_+h*m,n.m12=u*l+f*c+d,n.m13=_*l+m*c+p):(n.m00=r*u,n.m01=s*m,n.m04=o*u,n.m05=h*m,n.m12=u*l+d,n.m13=m*c+p)}else a.mat4.copy(this._worldMatrix,this._matrix);this._worldMatDirty=!1},_updateWorldMatrix:function(){if(this._parent&&this._parent._updateWorldMatrix(),this._worldMatDirty){this._calculWorldMatrix();for(var t=this._children,e=0,i=t.length;e<i;e++)t[e]._worldMatDirty=!0}},setLocalDirty:function(t){this._localMatDirty=this._localMatDirty|t,this._worldMatDirty=!0},setWorldDirty:function(){this._worldMatDirty=!0},getLocalMatrix:function(t){return this._updateLocalMatrix(),a.mat4.copy(t,this._matrix)},getWorldMatrix:function(t){return this._updateWorldMatrix(),a.mat4.copy(t,this._worldMatrix)},convertToNodeSpace:function(t){this._updateWorldMatrix(),a.mat4.invert(x,this._worldMatrix);var e=new cc.Vec2;return a.vec2.transformMat4(e,t,x),e.x+=this._anchorPoint.x*this._contentSize.width,e.y+=this._anchorPoint.y*this._contentSize.height,e},convertToWorldSpace:function(t){this._updateWorldMatrix();var e=new cc.Vec2(t.x-this._anchorPoint.x*this._contentSize.width,t.y-this._anchorPoint.y*this._contentSize.height);return a.vec2.transformMat4(e,e,this._worldMatrix)},convertToNodeSpaceAR:function(t){this._updateWorldMatrix(),a.mat4.invert(x,this._worldMatrix);var e=new cc.Vec2;return a.vec2.transformMat4(e,t,x)},convertToWorldSpaceAR:function(t){this._updateWorldMatrix();var e=new cc.Vec2;return a.vec2.transformMat4(e,t,this._worldMatrix)},getNodeToParentTransform:function(t){t||(t=o.identity()),this._updateLocalMatrix();var e=this._contentSize;return A.x=-this._anchorPoint.x*e.width,A.y=-this._anchorPoint.y*e.height,a.mat4.copy(x,this._matrix),a.mat4.translate(x,x,A),o.fromMat4(t,x)},getNodeToParentTransformAR:function(t){return t||(t=o.identity()),this._updateLocalMatrix(),o.fromMat4(t,this._matrix)},getNodeToWorldTransform:function(t){t||(t=o.identity()),this._updateWorldMatrix();var e=this._contentSize;return A.x=-this._anchorPoint.x*e.width,A.y=-this._anchorPoint.y*e.height,a.mat4.copy(x,this._worldMatrix),a.mat4.translate(x,x,A),o.fromMat4(t,x)},getNodeToWorldTransformAR:function(t){return t||(t=o.identity()),this._updateWorldMatrix(),o.fromMat4(t,this._worldMatrix)},getParentToNodeTransform:function(t){return t||(t=o.identity()),this._updateLocalMatrix(),a.mat4.invert(x,this._matrix),o.fromMat4(t,x)},getWorldToNodeTransform:function(t){return t||(t=o.identity()),this._updateWorldMatrix(),a.mat4.invert(x,this._worldMatrix),o.fromMat4(t,x)},convertTouchToNodeSpace:function(t){return this.convertToNodeSpace(t.getLocation())},convertTouchToNodeSpaceAR:function(t){return this.convertToNodeSpaceAR(t.getLocation())},getBoundingBox:function(){this._updateLocalMatrix();var t=this._contentSize.width,e=this._contentSize.height,i=cc.rect(-this._anchorPoint.x*t,-this._anchorPoint.y*e,t,e);return i.transformMat4(i,this._matrix)},getBoundingBoxToWorld:function(){return this._parent?(this._parent._updateWorldMatrix(),this._getBoundingBoxTo(this._parent._worldMatrix)):this.getBoundingBox()},_getBoundingBoxTo:function(t){this._updateLocalMatrix();var e=this._contentSize.width,i=this._contentSize.height,n=cc.rect(-this._anchorPoint.x*e,-this._anchorPoint.y*i,e,i);t=a.mat4.mul(this._worldMatrix,t,this._matrix);if(n.transformMat4(n,t),!this._children)return n;for(var r=this._children,s=0;s<r.length;s++){var o=r[s];if(o&&o.active){var h=o._getBoundingBoxTo(t);h&&n.union(n,h)}}return n},_updateOrderOfArrival:function(){var t=this._parent?++this._parent._childArrivalOrder:0;if(this._localZOrder=4294901760&this._localZOrder|t,65535===t){var e=this._parent._children;e.forEach((function(t,e){t._localZOrder=4294901760&t._localZOrder|e+1})),this._parent._childArrivalOrder=e.length}},addChild:function(t,e,i){cc.assertID(t,1606),cc.assertID(null===t._parent,1605),t.parent=this,void 0!==e&&(t.zIndex=e),void 0!==i&&(t.name=i)},cleanup:function(){p&&cc.director.getActionManager().removeAllActionsFromTarget(this),h.removeListeners(this);var t,e,i=this._children.length;for(t=0;t<i;++t)(e=this._children[t])&&e.cleanup()},sortAllChildren:function(){if(this._reorderChildDirty){this._reorderChildDirty=!1;var t=this._children;if(t.length>1){var e,i,n,r=t.length;for(e=1;e<r;e++){for(n=t[e],i=e-1;i>=0&&n._localZOrder<t[i]._localZOrder;)t[i+1]=t[i],i--;t[i+1]=n}this.emit(w.CHILD_REORDER,this)}cc.director.__fastOff(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this)}},_delaySort:function(){this._reorderChildDirty||(this._reorderChildDirty=!0,cc.director.__fastOn(cc.Director.EVENT_AFTER_UPDATE,this.sortAllChildren,this))},_restoreProperties:!1,onRestore:!1});c.propertyDefine(U,["position","scale","rotation"]),cc.Node=e.exports=U}),{"./event-manager":100,"./event/event":103,"./event/event-target":102,"./platform/CCMacro":165,"./platform/js":180,"./renderer/render-engine":202,"./renderer/render-flow":203,"./utils/affine-transform":234,"./utils/base-node":235,"./utils/math-pools":241,"./utils/misc":242,"./utils/prefab-helper":245}],30:[(function(t,e,i){"use strict";var n=t("./CCNode"),r=t("./renderer/render-flow"),s=t("./renderer/render-engine").math,a=n._LocalDirtyFlag,o=(s.vec3.create(),cc.Class({name:"cc.PrivateNode",extends:n,properties:{x:{get:function(){return this._originPos.x},set:function(t){var e=this._originPos;t!==e.x&&(e.x=t,this._posDirty(!0))},override:!0},y:{get:function(){return this._originPos.y},set:function(t){var e=this._originPos;t!==e.y&&(e.y=t,this._posDirty(!0))},override:!0},zIndex:{get:function(){return cc.macro.MIN_ZINDEX},set:function(){cc.warnID(1638)},override:!0}},ctor:function(t){this._localZOrder=cc.macro.MIN_ZINDEX<<16,this._originPos=cc.v2()},_posDirty:function(t){this.setLocalDirty(a.POSITION),this._renderFlag|=r.FLAG_TRANSFORM,!0===t&&1&this._eventMask&&this.emit(n.EventType.POSITION_CHANGED)},_updateLocalMatrix:function(){if(this._localMatDirty){var t=this.parent;t&&(this._position.x=this._originPos.x-(t._anchorPoint.x-.5)*t._contentSize.width,this._position.y=this._originPos.y-(t._anchorPoint.y-.5)*t._contentSize.height),this._super()}},getPosition:function(){return new cc.Vec2(this._originPos)},setPosition:function(t,e){void 0===e&&(e=(t=t.x).y);var i=this._originPos;i.x===t&&i.y===e||(i.x=t,i.y=e,this._posDirty(!0))},setParent:function(t){var e=this._parent;this._super(t),e!==t&&(e&&e.off(n.EventType.ANCHOR_CHANGED,this._posDirty,this),t&&t.on(n.EventType.ANCHOR_CHANGED,this._posDirty,this))},_updateOrderOfArrival:function(){}}));cc.js.getset(o.prototype,"parent",o.prototype.getParent,o.prototype.setParent),cc.js.getset(o.prototype,"position",o.prototype.getPosition,o.prototype.setPosition),cc.PrivateNode=e.exports=o}),{"./CCNode":29,"./renderer/render-engine":202,"./renderer/render-flow":203}],31:[(function(t,e,i){cc.Scene=cc.Class({name:"cc.Scene",extends:t("./CCNode"),properties:{autoReleaseAssets:{default:void 0,type:cc.Boolean}},ctor:function(){this._anchorPoint.x=0,this._anchorPoint.y=0,this._activeInHierarchy=!1,this._inited=!cc.game._isCloning,this.dependAssets=null},destroy:function(){if(cc.Object.prototype.destroy.call(this))for(var t=this._children,e=0;e<t.length;++e)t[e].active=!1;this._active=!1,this._activeInHierarchy=!1},_onHierarchyChanged:function(){},_instantiate:null,_load:function(){this._inited||(this._onBatchCreated(),this._inited=!0)},_activate:function(t){t=!1!==t,cc.director._nodeActivator.activateNode(this,t)}}),e.exports=cc.Scene}),{"./CCNode":29}],32:[(function(t,e,i){var n=t("./platform/js"),r=new(t("./platform/id-generater"))("Scheduler"),s=function(t,e,i,n){this.target=t,this.priority=e,this.paused=i,this.markedForDeletion=n},a=[];s.get=function(t,e,i,n){var r=a.pop();return r?(r.target=t,r.priority=e,r.paused=i,r.markedForDeletion=n):r=new s(t,e,i,n),r},s.put=function(t){a.length<20&&(t.target=null,a.push(t))};var o=function(t,e,i,n){this.list=t,this.entry=e,this.target=i,this.callback=n},h=[];o.get=function(t,e,i,n){var r=h.pop();return r?(r.list=t,r.entry=e,r.target=i,r.callback=n):r=new o(t,e,i,n),r},o.put=function(t){h.length<20&&(t.list=t.entry=t.target=t.callback=null,h.push(t))};var l=function(t,e,i,n,r,s){var a=this;a.timers=t,a.target=e,a.timerIndex=i,a.currentTimer=n,a.currentTimerSalvaged=r,a.paused=s},c=[];function u(){this._lock=!1,this._scheduler=null,this._elapsed=-1,this._runForever=!1,this._useDelay=!1,this._timesExecuted=0,this._repeat=0,this._delay=0,this._interval=0,this._target=null,this._callback=null}l.get=function(t,e,i,n,r,s){var a=c.pop();return a?(a.timers=t,a.target=e,a.timerIndex=i,a.currentTimer=n,a.currentTimerSalvaged=r,a.paused=s):a=new l(t,e,i,n,r,s),a},l.put=function(t){c.length<20&&(t.timers=t.target=t.currentTimer=null,c.push(t))};var _=u.prototype;_.initWithCallback=function(t,e,i,n,r,s){return this._lock=!1,this._scheduler=t,this._target=i,this._callback=e,this._elapsed=-1,this._interval=n,this._delay=s,this._useDelay=this._delay>0,this._repeat=r,this._runForever=this._repeat===cc.macro.REPEAT_FOREVER,!0},_.getInterval=function(){return this._interval},_.setInterval=function(t){this._interval=t},_.update=function(t){-1===this._elapsed?(this._elapsed=0,this._timesExecuted=0):(this._elapsed+=t,this._runForever&&!this._useDelay?this._elapsed>=this._interval&&(this.trigger(),this._elapsed=0):(this._useDelay?this._elapsed>=this._delay&&(this.trigger(),this._elapsed-=this._delay,this._timesExecuted+=1,this._useDelay=!1):this._elapsed>=this._interval&&(this.trigger(),this._elapsed=0,this._timesExecuted+=1),this._callback&&!this._runForever&&this._timesExecuted>this._repeat&&this.cancel()))},_.getCallback=function(){return this._callback},_.trigger=function(){this._target&&this._callback&&(this._lock=!0,this._callback.call(this._target,this._elapsed),this._lock=!1)},_.cancel=function(){this._scheduler.unschedule(this._callback,this._target)};var f=[];u.get=function(){return f.pop()||new u},u.put=function(t){f.length<20&&!t._lock&&(t._scheduler=t._target=t._callback=null,f.push(t))},cc.Scheduler=function(){this._timeScale=1,this._updatesNegList=[],this._updates0List=[],this._updatesPosList=[],this._hashForUpdates=n.createMap(!0),this._hashForTimers=n.createMap(!0),this._currentTarget=null,this._currentTargetSalvaged=!1,this._updateHashLocked=!1,this._arrayForTimers=[]},cc.Scheduler.prototype={constructor:cc.Scheduler,_removeHashElement:function(t){delete this._hashForTimers[t.target._id];for(var e=this._arrayForTimers,i=0,n=e.length;i<n;i++)if(e[i]===t){e.splice(i,1);break}l.put(t)},_removeUpdateFromHash:function(t){var e=t.target._id,i=this._hashForUpdates[e];if(i){for(var n=i.list,r=i.entry,a=0,h=n.length;a<h;a++)if(n[a]===r){n.splice(a,1);break}delete this._hashForUpdates[e],s.put(r),o.put(i)}},_priorityIn:function(t,e,i){for(var n=0;n<t.length;n++)if(i<t[n].priority)return void t.splice(n,0,e);t.push(e)},_appendIn:function(t,e){t.push(e)},enableForTarget:function(t){t._id||(t.__instanceId?cc.warnID(1513):t._id=r.getNewId())},setTimeScale:function(t){this._timeScale=t},getTimeScale:function(){return this._timeScale},update:function(t){var e,i,n,r;for(this._updateHashLocked=!0,1!==this._timeScale&&(t*=this._timeScale),e=0,n=(i=this._updatesNegList).length;e<n;e++)(r=i[e]).paused||r.markedForDeletion||r.target.update(t);for(e=0,n=(i=this._updates0List).length;e<n;e++)(r=i[e]).paused||r.markedForDeletion||r.target.update(t);for(e=0,n=(i=this._updatesPosList).length;e<n;e++)(r=i[e]).paused||r.markedForDeletion||r.target.update(t);var s,a=this._arrayForTimers;for(e=0;e<a.length;e++){if(s=a[e],this._currentTarget=s,this._currentTargetSalvaged=!1,!s.paused)for(s.timerIndex=0;s.timerIndex<s.timers.length;++s.timerIndex)s.currentTimer=s.timers[s.timerIndex],s.currentTimerSalvaged=!1,s.currentTimer.update(t),s.currentTimer=null;this._currentTargetSalvaged&&0===this._currentTarget.timers.length&&(this._removeHashElement(this._currentTarget),--e)}for(e=0,i=this._updatesNegList;e<i.length;)(r=i[e]).markedForDeletion?this._removeUpdateFromHash(r):e++;for(e=0,i=this._updates0List;e<i.length;)(r=i[e]).markedForDeletion?this._removeUpdateFromHash(r):e++;for(e=0,i=this._updatesPosList;e<i.length;)(r=i[e]).markedForDeletion?this._removeUpdateFromHash(r):e++;this._updateHashLocked=!1,this._currentTarget=null},schedule:function(t,e,i,n,r,s){"use strict";if("function"!=typeof t){var a=t;t=e,e=a}4!==arguments.length&&5!==arguments.length||(s=!!n,n=cc.macro.REPEAT_FOREVER,r=0),cc.assertID(e,1502);var o=e._id;o||(e.__instanceId?(cc.warnID(1513),o=e._id=e.__instanceId):cc.errorID(1510));var h,c,_=this._hashForTimers[o];if(_?_.paused!==s&&cc.warnID(1511):(_=l.get(null,e,0,null,null,s),this._arrayForTimers.push(_),this._hashForTimers[o]=_),null==_.timers)_.timers=[];else for(c=0;c<_.timers.length;++c)if((h=_.timers[c])&&t===h._callback)return cc.logID(1507,h.getInterval(),i),void(h._interval=i);(h=u.get()).initWithCallback(this,t,e,i,n,r),_.timers.push(h),this._currentTarget===_&&this._currentTargetSalvaged&&(this._currentTargetSalvaged=!1)},scheduleUpdate:function(t,e,i){var n=t._id;n||(t.__instanceId?(cc.warnID(1513),n=t._id=t.__instanceId):cc.errorID(1510));var r=this._hashForUpdates[n];if(r&&r.entry){if(r.entry.priority===e)return r.entry.markedForDeletion=!1,void(r.entry.paused=i);if(this._updateHashLocked)return cc.logID(1506),r.entry.markedForDeletion=!1,void(r.entry.paused=i);this.unscheduleUpdate(t)}var a,h=s.get(t,e,i,!1);0===e?(a=this._updates0List,this._appendIn(a,h)):(a=e<0?this._updatesNegList:this._updatesPosList,this._priorityIn(a,h,e)),this._hashForUpdates[n]=o.get(a,h,t,null)},unschedule:function(t,e){if(e&&t){var i=e._id;i||(e.__instanceId?(cc.warnID(1513),i=e._id=e.__instanceId):cc.errorID(1510));var n=this._hashForTimers[i];if(n)for(var r=n.timers,s=0,a=r.length;s<a;s++){var o=r[s];if(t===o._callback)return o!==n.currentTimer||n.currentTimerSalvaged||(n.currentTimerSalvaged=!0),r.splice(s,1),u.put(o),n.timerIndex>=s&&n.timerIndex--,void(0===r.length&&(this._currentTarget===n?this._currentTargetSalvaged=!0:this._removeHashElement(n)))}}},unscheduleUpdate:function(t){if(t){var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForUpdates[e];i&&(this._updateHashLocked?i.entry.markedForDeletion=!0:this._removeUpdateFromHash(i.entry))}},unscheduleAllForTarget:function(t){if(t){var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];if(i){var n=i.timers;n.indexOf(i.currentTimer)>-1&&!i.currentTimerSalvaged&&(i.currentTimerSalvaged=!0);for(var r=0,s=n.length;r<s;r++)u.put(n[r]);n.length=0,this._currentTarget===i?this._currentTargetSalvaged=!0:this._removeHashElement(i)}this.unscheduleUpdate(t)}},unscheduleAll:function(){this.unscheduleAllWithMinPriority(cc.Scheduler.PRIORITY_SYSTEM)},unscheduleAllWithMinPriority:function(t){var e,i,n,r=this._arrayForTimers;for(e=r.length-1;e>=0;e--)i=r[e],this.unscheduleAllForTarget(i.target);var s=0;if(t<0)for(e=0;e<this._updatesNegList.length;)s=this._updatesNegList.length,(n=this._updatesNegList[e])&&n.priority>=t&&this.unscheduleUpdate(n.target),s==this._updatesNegList.length&&e++;if(t<=0)for(e=0;e<this._updates0List.length;)s=this._updates0List.length,(n=this._updates0List[e])&&this.unscheduleUpdate(n.target),s==this._updates0List.length&&e++;for(e=0;e<this._updatesPosList.length;)s=this._updatesPosList.length,(n=this._updatesPosList[e])&&n.priority>=t&&this.unscheduleUpdate(n.target),s==this._updatesPosList.length&&e++},isScheduled:function(t,e){cc.assertID(t,1508),cc.assertID(e,1509);var i=e._id;i||(e.__instanceId?(cc.warnID(1513),i=e._id=e.__instanceId):cc.errorID(1510));var n=this._hashForTimers[i];if(!n)return!1;if(null==n.timers)return!1;for(var r=n.timers,s=0;s<r.length;++s){if(t===r[s]._callback)return!0}return!1},pauseAllTargets:function(){return this.pauseAllTargetsWithMinPriority(cc.Scheduler.PRIORITY_SYSTEM)},pauseAllTargetsWithMinPriority:function(t){var e,i,n,r,s=[],a=this._arrayForTimers;for(i=0,n=a.length;i<n;i++)(e=a[i])&&(e.paused=!0,s.push(e.target));if(t<0)for(i=0;i<this._updatesNegList.length;i++)(r=this._updatesNegList[i])&&r.priority>=t&&(r.paused=!0,s.push(r.target));if(t<=0)for(i=0;i<this._updates0List.length;i++)(r=this._updates0List[i])&&(r.paused=!0,s.push(r.target));for(i=0;i<this._updatesPosList.length;i++)(r=this._updatesPosList[i])&&r.priority>=t&&(r.paused=!0,s.push(r.target));return s},resumeTargets:function(t){if(t)for(var e=0;e<t.length;e++)this.resumeTarget(t[e])},pauseTarget:function(t){cc.assertID(t,1503);var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];i&&(i.paused=!0);var n=this._hashForUpdates[e];n&&(n.entry.paused=!0)},resumeTarget:function(t){cc.assertID(t,1504);var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];i&&(i.paused=!1);var n=this._hashForUpdates[e];n&&(n.entry.paused=!1)},isTargetPaused:function(t){cc.assertID(t,1505);var e=t._id;e||(t.__instanceId?(cc.warnID(1513),e=t._id=t.__instanceId):cc.errorID(1510));var i=this._hashForTimers[e];if(i)return i.paused;var n=this._hashForUpdates[e];return!!n&&n.entry.paused}},cc.Scheduler.PRIORITY_SYSTEM=1<<31,cc.Scheduler.PRIORITY_NON_SYSTEM=cc.Scheduler.PRIORITY_SYSTEM+1,e.exports=cc.Scheduler}),{"./platform/id-generater":176,"./platform/js":180}],33:[(function(t,e,i){var n=t("./CCRawAsset");cc.Asset=cc.Class({name:"cc.Asset",extends:n,ctor:function(){this.loaded=!0},properties:{nativeUrl:{get:function(){if(this._native){var t=this._native;if(47===t.charCodeAt(0))return t.slice(1);if(cc.AssetLibrary){var e=cc.AssetLibrary.getLibUrlNoExt(this._uuid,!0);return 46===t.charCodeAt(0)?e+t:e+"/"+t}cc.errorID(6400)}return""},visible:!1},_native:"",_nativeAsset:{get:function(){},set:function(t){}}},statics:{deserialize:!1,preventDeferredLoadDependents:!1,preventPreloadNativeObject:!1},toString:function(){return this.nativeUrl},serialize:!1,createNode:null,_setRawAsset:function(t,e){this._native=!1!==e?t||void 0:"/"+t}}),e.exports=cc.Asset}),{"./CCRawAsset":41}],34:[(function(t,e,i){var n=t("./CCAsset"),r=t("../event/event-target"),s=cc.Enum({WEB_AUDIO:0,DOM_AUDIO:1}),a=cc.Class({name:"cc.AudioClip",extends:n,mixins:[r],ctor:function(){this.loaded=!1,this._audio=null},properties:{loadMode:{default:s.WEB_AUDIO,type:s},_nativeAsset:{get:function(){return this._audio},set:function(t){t instanceof cc.AudioClip?this._audio=t._nativeAsset:this._audio=t,this._audio&&(this.loaded=!0,this.emit("load"))},override:!0}},statics:{LoadMode:s,_loadByUrl:function(t,e){var i=cc.loader.getItem(t)||cc.loader.getItem(t+"?useDom=1");i&&i.complete?i._owner instanceof a?e(null,i._owner):e(null,i.content):cc.loader.load(t,(function(n,r){if(n)return e(n);i=cc.loader.getItem(t)||cc.loader.getItem(t+"?useDom=1"),e(null,i.content)}))}},destroy:function(){cc.audioEngine.uncache(this),this._super()}});cc.AudioClip=a,e.exports=a}),{"../event/event-target":102,"./CCAsset":33}],35:[(function(t,e,i){var n=cc.Class({name:"cc.BitmapFont",extends:cc.Font,properties:{fntDataStr:{default:""},spriteFrame:{default:null,type:cc.SpriteFrame},fontSize:{default:-1},_fntConfig:null}});cc.BitmapFont=n,e.exports=n}),{}],36:[(function(t,e,i){var n=cc.Class({name:"cc.BufferAsset",extends:cc.Asset,ctor:function(){this._buffer=null},properties:{_nativeAsset:{get:function(){return this._buffer},set:function(t){this._buffer=t.buffer||t},override:!0}}});cc.BufferAsset=e.exports=n}),{}],37:[(function(t,e,i){var n=cc.Class({name:"cc.Font",extends:cc.Asset});cc.Font=e.exports=n}),{}],38:[(function(t,e,i){var n=cc.Class({name:"cc.JsonAsset",extends:cc.Asset,properties:{json:null}});e.exports=cc.JsonAsset=n}),{}],39:[(function(t,e,i){var n=cc.Class({name:"cc.LabelAtlas",extends:cc.BitmapFont});cc.LabelAtlas=n,e.exports=n}),{}],40:[(function(t,e,i){var n=cc.Enum({AUTO:0,SINGLE_INSTANCE:1,MULTI_INSTANCE:2}),r=cc.Class({name:"cc.Prefab",extends:cc.Asset,ctor:function(){this._createFunction=null,this._instantiatedTimes=0},properties:{data:null,optimizationPolicy:n.AUTO,asyncLoadAssets:!1},statics:{OptimizationPolicy:n,OptimizationPolicyThreshold:3},createNode:!1,compileCreateFunction:function(){var e=t("../platform/instantiate-jit");this._createFunction=e.compile(this.data)},_doInstantiate:function(t){return this.data._prefab?this.data._prefab._synced=!0:cc.warnID(3700),this._createFunction||this.compileCreateFunction(),this._createFunction(t)},_instantiate:function(){var t;return this.optimizationPolicy!==n.SINGLE_INSTANCE&&(this.optimizationPolicy===n.MULTI_INSTANCE||this._instantiatedTimes+1>=r.OptimizationPolicyThreshold)?(t=this._doInstantiate(),this.data._instantiate(t)):(this.data._prefab._synced=!0,t=this.data._instantiate()),++this._instantiatedTimes,t}});cc.Prefab=e.exports=r,cc.js.obsolete(cc,"cc._Prefab","Prefab")}),{"../platform/instantiate-jit":178}],41:[(function(t,e,i){var n=t("../platform/CCObject"),r=t("../platform/js");cc.RawAsset=cc.Class({name:"cc.RawAsset",extends:n,ctor:function(){Object.defineProperty(this,"_uuid",{value:"",writable:!0})}}),r.value(cc.RawAsset,"isRawAssetType",(function(t){return r.isChildClassOf(t,cc.RawAsset)&&!r.isChildClassOf(t,cc.Asset)})),r.value(cc.RawAsset,"wasRawAssetType",(function(t){return t===cc.Texture2D||t===cc.AudioClip||t===cc.ParticleAsset||t===cc.Asset})),e.exports=cc.RawAsset}),{"../platform/CCObject":166,"../platform/js":180}],42:[(function(t,e,i){var n=t("../renderer"),r=t("../renderer/render-engine"),s=r.gfx,a=t("./CCTexture2D"),o=cc.Class({name:"cc.RenderTexture",extends:a,ctor:function(){this._framebuffer=null},initWithSize:function(t,e,i){this.width=Math.floor(t||cc.visibleRect.width),this.height=Math.floor(e||cc.visibleRect.height);var o={};if(o.format=this._format,o.width=t,o.height=e,o.images=void 0,o.wrapS=this._wrapS,o.wrapT=this._wrapT,o.premultiplyAlpha=this._premultiplyAlpha,o.minFilter=a._FilterIndex[this._minFilter],o.magFilter=a._FilterIndex[this._magFilter],this._texture?this._texture.update(o):this._texture=new n.Texture2D(n.device,o),o={colors:[this._texture]},i){var h=new s.RenderBuffer(n.device,i,t,e);i===s.RB_FMT_D24S8?o.depth=o.stencil=h:i===s.RB_FMT_S8?o.stencil=h:i===gl.RB_FMT_D16&&(o.depth=h)}this._framebuffer&&this._framebuffer.destroy(),this._framebuffer=new r.gfx.FrameBuffer(n.device,t,e,o),this.loaded=!0,this.emit("load")},drawTextureAt:function(t,e,i){t._image&&this._texture.updateSubImage({x:e,y:i,image:t._image,width:t.width,height:t.height,level:0,flipY:!1,premultiplyAlpha:t._premultiplyAlpha})},readPixels:function(t,e,i,r,s){if(!this._framebuffer||!this._texture)return t;e=e||0,i=i||0;var a=r||this.width,o=s||this.height;t=t||new Uint8Array(a*o*4);var h=n._forward._device._gl,l=h.getParameter(h.FRAMEBUFFER_BINDING);return h.bindFramebuffer(h.FRAMEBUFFER,this._framebuffer._glID),h.framebufferTexture2D(h.FRAMEBUFFER,h.COLOR_ATTACHMENT0,h.TEXTURE_2D,this._texture._glID,0),h.readPixels(e,i,a,o,h.RGBA,h.UNSIGNED_BYTE,t),h.bindFramebuffer(h.FRAMEBUFFER,l),t},destroy:function(){this._super(),this._framebuffer&&this._framebuffer.destroy()}});cc.RenderTexture=e.exports=o}),{"../renderer":201,"../renderer/render-engine":202,"./CCTexture2D":49}],43:[(function(t,e,i){var n=cc.Class({name:"cc.SceneAsset",extends:cc.Asset,properties:{scene:null,asyncLoadAssets:void 0}});cc.SceneAsset=n,e.exports=n}),{}],44:[(function(t,e,i){var n=cc.Class({name:"cc.Script",extends:cc.Asset});cc._Script=n;var r=cc.Class({name:"cc.JavaScript",extends:n});cc._JavaScript=r;var s=cc.Class({name:"cc.CoffeeScript",extends:n});cc._CoffeeScript=s;var a=cc.Class({name:"cc.TypeScript",extends:n});cc._TypeScript=a}),{}],45:[(function(t,e,i){var n=cc.Class({name:"cc.SpriteAtlas",extends:cc.Asset,properties:{_spriteFrames:{default:{}}},getTexture:function(){var t=Object.keys(this._spriteFrames);if(t.length>0){var e=this._spriteFrames[t[0]];return e?e.getTexture():null}return null},getSpriteFrame:function(t){var e=this._spriteFrames[t];return e?(e.name||(e.name=t),e):null},getSpriteFrames:function(){var t=[],e=this._spriteFrames;for(var i in e)t.push(this.getSpriteFrame(i));return t}});cc.SpriteAtlas=n,e.exports=n}),{}],46:[(function(t,e,i){var n=t("../event/event-target"),r=t("../utils/texture-util"),s=[{u:0,v:0},{u:0,v:0},{u:0,v:0},{u:0,v:0}],a=cc.Class({name:"cc.SpriteFrame",extends:t("../assets/CCAsset"),mixins:[n],properties:{_textureSetter:{set:function(t){t&&(this._texture!==t&&this._refreshTexture(t),this._textureFilename=t.url)}},insetTop:{get:function(){return this._capInsets[1]},set:function(t){this._capInsets[1]=t,this._texture&&this._calculateSlicedUV()}},insetBottom:{get:function(){return this._capInsets[3]},set:function(t){this._capInsets[3]=t,this._texture&&this._calculateSlicedUV()}},insetLeft:{get:function(){return this._capInsets[0]},set:function(t){this._capInsets[0]=t,this._texture&&this._calculateSlicedUV()}},insetRight:{get:function(){return this._capInsets[2]},set:function(t){this._capInsets[2]=t,this._texture&&this._calculateSlicedUV()}}},ctor:function(){n.call(this);var t=arguments[0],e=arguments[1],i=arguments[2],r=arguments[3],s=arguments[4];this._rect=null,this.uv=[],this._texture=null,this._original=null,this._offset=null,this._originalSize=null,this._rotated=!1,this.vertices=null,this._capInsets=[0,0,0,0],this.uvSliced=[],this._textureFilename="",void 0!==t&&this.setTexture(t,e,i,r,s)},textureLoaded:function(){return this._texture&&this._texture.loaded},isRotated:function(){return this._rotated},setRotated:function(t){this._rotated=t,this._texture&&this._calculateUV()},getRect:function(){return cc.rect(this._rect)},setRect:function(t){this._rect=t,this._texture&&this._calculateUV()},getOriginalSize:function(){return cc.size(this._originalSize)},setOriginalSize:function(t){this._originalSize?(this._originalSize.width=t.width,this._originalSize.height=t.height):this._originalSize=cc.size(t)},getTexture:function(){return this._texture},_textureLoadedCallback:function(){var t=this,e=this._texture;if(e){var i=e.width,n=e.height;t._rotated&&cc.game.renderType===cc.game.RENDER_TYPE_CANVAS&&(t._rotated=!1,i=t._texture.width,n=t._texture.height,t._rect=cc.rect(0,0,i,n)),t._rect?t._checkRect(t._texture):t._rect=cc.rect(0,0,i,n),t._originalSize||t.setOriginalSize(cc.size(i,n)),t._offset||t.setOffset(cc.v2(0,0)),t._calculateUV(),t.emit("load")}},_refreshTexture:function(t){this._texture=t,t.loaded?this._textureLoadedCallback():t.once("load",this._textureLoadedCallback,this)},getOffset:function(){return cc.v2(this._offset)},setOffset:function(t){this._offset=cc.v2(t)},clone:function(){return new a(this._texture||this._textureFilename,this._rect,this._rotated,this._offset,this._originalSize)},setTexture:function(t,e,i,n,r){this._rect=e||null,n?this.setOffset(n):this._offset=null,r?this.setOriginalSize(r):this._originalSize=null,this._rotated=i||!1;var s=t;return"string"==typeof s&&s&&(this._textureFilename=s,this._loadTexture()),s instanceof cc.Texture2D&&this._texture!==s&&this._refreshTexture(s),!0},_loadTexture:function(){if(this._textureFilename){var t=r.loadImage(this._textureFilename);this._refreshTexture(t)}},ensureLoadTexture:function(){this._texture?this._texture.loaded||(this._refreshTexture(this._texture),r.postLoadTexture(this._texture)):this._textureFilename&&this._loadTexture()},clearTexture:function(){this._texture=null},_checkRect:function(t){var e=this._rect,i=e.x,n=e.y;this._rotated?(i+=e.height,n+=e.width):(i+=e.width,n+=e.height),i>t.width&&cc.errorID(3300,t.url+"/"+this.name,i,t.width),n>t.height&&cc.errorID(3400,t.url+"/"+this.name,n,t.height)},_calculateSlicedUV:function(){var t=this._rect,e=this._texture.width,i=this._texture.height,n=this._capInsets[0],r=this._capInsets[2],a=t.width-n-r,o=this._capInsets[1],h=this._capInsets[3],l=t.height-o-h,c=this.uvSliced;if(c.length=0,this._rotated){s[0].u=t.x/e,s[1].u=(t.x+h)/e,s[2].u=(t.x+h+l)/e,s[3].u=(t.x+t.height)/e,s[3].v=t.y/i,s[2].v=(t.y+n)/i,s[1].v=(t.y+n+a)/i,s[0].v=(t.y+t.width)/i;for(var u=0;u<4;++u)for(var _=s[u],f=0;f<4;++f){var m=s[3-f];c.push({u:_.u,v:m.v})}}else{s[0].u=t.x/e,s[1].u=(t.x+n)/e,s[2].u=(t.x+n+a)/e,s[3].u=(t.x+t.width)/e,s[3].v=t.y/i,s[2].v=(t.y+o)/i,s[1].v=(t.y+o+l)/i,s[0].v=(t.y+t.height)/i;for(var d=0;d<4;++d)for(var p=s[d],y=0;y<4;++y){var v=s[y];c.push({u:v.u,v:p.v})}}},_setDynamicAtlasFrame:function(t){t&&(this._original={_texture:this._texture,_x:this._rect.x,_y:this._rect.y},this._texture=t.texture,this._rect.x=t.x,this._rect.y=t.y,this._calculateUV())},_resetDynamicAtlasFrame:function(){this._original&&(this._rect.x=this._original._x,this._rect.y=this._original._y,this._texture=this._original._texture,this._original=null,this._calculateUV())},_calculateUV:function(){var t=this._rect,e=this._texture,i=this.uv,n=e.width,r=e.height;if(this._rotated){var s=0===n?0:t.x/n,a=0===n?0:(t.x+t.height)/n,o=0===r?0:(t.y+t.width)/r,h=0===r?0:t.y/r;i[0]=s,i[1]=h,i[2]=s,i[3]=o,i[4]=a,i[5]=h,i[6]=a,i[7]=o}else{var l=0===n?0:t.x/n,c=0===n?0:(t.x+t.width)/n,u=0===r?0:(t.y+t.height)/r,_=0===r?0:t.y/r;i[0]=l,i[1]=u,i[2]=c,i[3]=u,i[4]=l,i[5]=_,i[6]=c,i[7]=_}var f=this.vertices;if(f){f.nu.length=0,f.nv.length=0;for(var m=0;m<f.u.length;m++)f.nu[m]=f.u[m]/n,f.nv[m]=f.v[m]/r}this._calculateSlicedUV()},_serialize:!1,_deserialize:function(t,e){var i=t.rect;i&&(this._rect=new cc.Rect(i[0],i[1],i[2],i[3])),t.offset&&this.setOffset(new cc.Vec2(t.offset[0],t.offset[1])),t.originalSize&&this.setOriginalSize(new cc.Size(t.originalSize[0],t.originalSize[1])),this._rotated=1===t.rotated,this._name=t.name;var n=t.capInsets;n&&(this._capInsets[0]=n[0],this._capInsets[1]=n[1],this._capInsets[2]=n[2],this._capInsets[3]=n[3]),this.vertices=t.vertices,this.vertices&&(this.vertices.nu=[],this.vertices.nv=[]);var r=t.texture;r&&e.result.push(this,"_textureSetter",r)}}),o=a.prototype;o.copyWithZone=o.clone,o.copy=o.clone,o.initWithTexture=o.setTexture,cc.SpriteFrame=a,e.exports=a}),{"../assets/CCAsset":33,"../event/event-target":102,"../utils/texture-util":250}],47:[(function(t,e,i){var n=t("./CCFont"),r=cc.Class({name:"cc.TTFFont",extends:n,properties:{_fontFamily:null,_nativeAsset:{type:cc.String,get:function(){return this._fontFamily},set:function(t){this._fontFamily=t||"Arial"},override:!0}}});cc.TTFFont=e.exports=r}),{"./CCFont":37}],48:[(function(t,e,i){var n=cc.Class({name:"cc.TextAsset",extends:cc.Asset,properties:{text:""},toString:function(){return this.text}});e.exports=cc.TextAsset=n}),{}],49:[(function(t,e,i){var n=t("../event/event-target"),r=t("../renderer/render-engine"),s=t("../renderer");t("../platform/CCClass");var a=r.gfx,o=new(t("../platform/id-generater"))("Tex"),h=cc.Enum({RGB565:a.TEXTURE_FMT_R5_G6_B5,RGB5A1:a.TEXTURE_FMT_R5_G5_B5_A1,RGBA4444:a.TEXTURE_FMT_R4_G4_B4_A4,RGB888:a.TEXTURE_FMT_RGB8,RGBA8888:a.TEXTURE_FMT_RGBA8,A8:a.TEXTURE_FMT_A8,I8:a.TEXTURE_FMT_L8,AI8:a.TEXTURE_FMT_L8_A8}),l=cc.Enum({REPEAT:10497,CLAMP_TO_EDGE:33071,MIRRORED_REPEAT:33648}),c=cc.Enum({LINEAR:9729,NEAREST:9728}),u={9728:0,9729:1},_=[],f={width:void 0,height:void 0,minFilter:void 0,magFilter:void 0,wrapS:void 0,wrapT:void 0,format:void 0,mipmap:void 0,images:void 0,image:void 0,flipY:void 0,premultiplyAlpha:void 0};function m(){for(var t in f)f[t]=void 0;return _.length=0,f.images=_,f.flipY=!1,f}var d=cc.Class({name:"cc.Texture2D",extends:t("../assets/CCAsset"),mixins:[n],properties:{_nativeAsset:{get:function(){return this._image},set:function(t){this.initWithElement(t)},override:!0},_hasMipmap:!1,_format:h.RGBA8888,_premultiplyAlpha:!1,_flipY:!1,_minFilter:c.LINEAR,_magFilter:c.LINEAR,_wrapS:l.CLAMP_TO_EDGE,_wrapT:l.CLAMP_TO_EDGE},statics:{PixelFormat:h,WrapMode:l,Filter:c,_FilterIndex:u,extnames:[".png",".jpg",".jpeg",".bmp",".webp"]},ctor:function(){this._id=o.getNewId(),this.url="",this.loaded=!1,this.width=0,this.height=0,this._hashDirty=!0,this._hash=0,this._texture=null},getImpl:function(){return this._texture},getId:function(){return this._id},toString:function(){return this.url||""},update:function(t){if(t){var e=!1;void 0!==t.width&&(this.width=t.width),void 0!==t.height&&(this.height=t.height),void 0!==t.minFilter&&(this._minFilter=t.minFilter,t.minFilter=u[t.minFilter]),void 0!==t.magFilter&&(this._magFilter=t.magFilter,t.magFilter=u[t.magFilter]),void 0!==t.wrapS&&(this._wrapS=t.wrapS),void 0!==t.wrapT&&(this._wrapT=t.wrapT),void 0!==t.format&&(this._format=t.format),void 0!==t.flipY&&(this._flipY=t.flipY,e=!0),void 0!==t.premultiplyAlpha&&(this._premultiplyAlpha=t.premultiplyAlpha,e=!0),void 0!==t.mipmap&&(this._hasMipmap=t.mipmap),e&&this._image&&(t.image=this._image),t.images&&t.images.length>0?this._image=t.images[0]:void 0!==t.image&&(this._image=t.image,t.images||(_.length=0,t.images=_),t.images.push(t.image)),t.images&&t.images.length>0&&this._texture.update(t),this._hashDirty=!0}},initWithElement:function(t){if(t)if(this._image=t,t.complete||t instanceof HTMLCanvasElement)this.handleLoadedTexture();else{var e=this;t.addEventListener("load",(function(){e.handleLoadedTexture()})),t.addEventListener("error",(function(t){cc.warnID(3119,t.message)}))}},initWithData:function(t,e,i,n){var r=m();return r.image=t,r.images=[r.image],r.hasMipmap=this._hasMipmap,r.premultiplyAlpha=this._premultiplyAlpha,r.flipY=this._flipY,r.minFilter=u[this._minFilter],r.magFilter=u[this._magFilter],r.wrapS=this._wrapS,r.wrapT=this._wrapT,r.format=e,r.width=i,r.height=n,this._texture?this.update(r):this._texture=new s.Texture2D(s.device,r),this.width=i,this.height=n,this.loaded=!0,this.emit("load"),!0},getHtmlElementObj:function(){return this._image},destroy:function(){this._image=null,this._texture&&this._texture.destroy(),this._super()},getPixelFormat:function(){return this._format},hasPremultipliedAlpha:function(){return this._premultiplyAlpha||!1},hasMipmap:function(){return this._hasMipmap||!1},handleLoadedTexture:function(){if(this._image&&this._image.width&&this._image.height){this.width=this._image.width,this.height=this._image.height;var t=m();t.image=this._image,t.images=[t.image],t.width=this.width,t.height=this.height,t.hasMipmap=this._hasMipmap,t.format=this._format,t.premultiplyAlpha=this._premultiplyAlpha,t.flipY=this._flipY,t.minFilter=u[this._minFilter],t.magFilter=u[this._magFilter],t.wrapS=this._wrapS,t.wrapT=this._wrapT,this._texture?this._texture.update(t):this._texture=new s.Texture2D(s.device,t),this.loaded=!0,this.emit("load"),cc.macro.CLEANUP_IMAGE_CACHE&&this._image instanceof HTMLImageElement&&this._clearImage()}},description:function(){return"<cc.Texture2D | Name = "+this.url+" | Dimensions = "+this.width+" x "+this.height+">"},releaseTexture:function(){this._image=null,this._texture&&this._texture.destroy()},setWrapMode:function(t,e){if(this._wrapS!==t||this._wrapT!==e){var i=m();i.wrapS=t,i.wrapT=e,this.update(i)}},setFilters:function(t,e){if(this._minFilter!==t||this._magFilter!==e){var i=m();i.minFilter=t,i.magFilter=e,this.update(i)}},setFlipY:function(t){if(this._flipY!==t){var e=m();e.flipY=t,this.update(e)}},setPremultiplyAlpha:function(t){if(this._premultiplyAlpha!==t){var e=m();e.premultiplyAlpha=t,this.update(e)}},setMipmap:function(t){if(this._hasMipmap!==t){var e=m();e.hasMipmap=t,this.update(e)}},_serialize:!1,_deserialize:function(t,e){var i=t.split(","),n=i[0];if(n){var r=n.charCodeAt(0)-48,s=d.extnames[r];this._setRawAsset(s||n);var a=e.customEnv,o=a&&a.uuid;if(o){this._uuid=o;var h=this.nativeUrl;this.url=h}}6===i.length&&(this._minFilter=parseInt(i[1]),this._magFilter=parseInt(i[2]),this._wrapS=parseInt(i[3]),this._wrapT=parseInt(i[4]),this._premultiplyAlpha=49===i[5].charCodeAt(0))},_getHash:function(){if(!this._hashDirty)return this._hash;var t=this._hasMipmap?1:0,e=this._premultiplyAlpha?1:0,i=this._flipY?1:0,n=this._minFilter===c.LINEAR?1:2,r=this._magFilter===c.LINEAR?1:2,s=this._wrapS===l.REPEAT?1:this._wrapS===l.CLAMP_TO_EDGE?2:3,a=this._wrapT===l.REPEAT?1:this._wrapT===l.CLAMP_TO_EDGE?2:3,o=this._format;return this._hash=parseInt(""+n+r+o+s+a+t+e+i),this._hashDirty=!1,this._hash},_clearImage:function(){this._image.src="",cc.loader.removeItem(this._image.id)}});cc.Texture2D=e.exports=d}),{"../assets/CCAsset":33,"../event/event-target":102,"../platform/CCClass":160,"../platform/id-generater":176,"../renderer":201,"../renderer/render-engine":202}],50:[(function(t,e,i){t("./CCRawAsset"),t("./CCAsset"),t("./CCFont"),t("./CCPrefab"),t("./CCAudioClip"),t("./CCScripts"),t("./CCSceneAsset"),t("./CCSpriteFrame"),t("./CCTexture2D"),t("./CCRenderTexture"),t("./CCTTFFont"),t("./CCSpriteAtlas"),t("./CCBitmapFont"),t("./CCLabelAtlas"),t("./CCTextAsset"),t("./CCJsonAsset"),t("./CCBufferAsset")}),{"./CCAsset":33,"./CCAudioClip":34,"./CCBitmapFont":35,"./CCBufferAsset":36,"./CCFont":37,"./CCJsonAsset":38,"./CCLabelAtlas":39,"./CCPrefab":40,"./CCRawAsset":41,"./CCRenderTexture":42,"./CCSceneAsset":43,"./CCScripts":44,"./CCSpriteAtlas":45,"./CCSpriteFrame":46,"./CCTTFFont":47,"./CCTextAsset":48,"./CCTexture2D":49}],51:[(function(t,e,i){t("../CCNode").EventType;var n=56,r=7,s=cc.Enum({ONCE:0,ON_WINDOW_RESIZE:1,ALWAYS:2});function a(t){return t instanceof cc.Scene?cc.visibleRect:t._contentSize}function o(t,e,i,n){for(var r=t._parent._scale.x,s=t._parent._scale.y,a=0,o=0,h=t._parent;;){var l=h._position;if(a+=l.x,o+=l.y,!(h=h._parent))return i.x=i.y=0,void(n.x=n.y=1);if(h===e)break;var c=h._scale.x,u=h._scale.y;a*=c,o*=u,r*=c,s*=u}n.x=0!==r?1/r:1,n.y=0!==s?1/s:1,i.x=-a,i.y=-o}var h=cc.Vec2.ZERO,l=cc.Vec2.ONE;function c(t,e){var i,s,c,u=e._target;u?o(t,i=u,s=h,c=l):i=t._parent;var _=a(i),f=i._anchorPoint,m=i instanceof cc.Scene,d=t._position.x,p=t._position.y,y=t._anchorPoint;if(e._alignFlags&n){var v,g,x=_.width;m?(v=cc.visibleRect.left.x,g=cc.visibleRect.right.x):g=(v=-f.x*x)+x,v+=e._isAbsLeft?e._left:e._left*x,g-=e._isAbsRight?e._right:e._right*x,u&&(v+=s.x,v*=c.x,g+=s.x,g*=c.x);var A,b=y.x,C=t._scale.x;if(C<0&&(b=1-b,C=-C),e.isStretchWidth)A=g-v,0!==C&&(t.width=A/C),d=v+b*A;else if(A=t.width*C,e.isAlignHorizontalCenter){var S=e._isAbsHorizontalCenter?e._horizontalCenter:e._horizontalCenter*x,T=(.5-f.x)*_.width;u&&(S*=c.x,T+=s.x,T*=c.x),d=T+(b-.5)*A+S}else d=e.isAlignLeft?v+b*A:g+(b-1)*A}if(e._alignFlags&r){var w,E,D=_.height;m?(E=cc.visibleRect.bottom.y,w=cc.visibleRect.top.y):w=(E=-f.y*D)+D,E+=e._isAbsBottom?e._bottom:e._bottom*D,w-=e._isAbsTop?e._top:e._top*D,u&&(E+=s.y,E*=c.y,w+=s.y,w*=c.y);var M,B=y.y,P=t._scale.y;if(P<0&&(B=1-B,P=-P),e.isStretchHeight)M=w-E,0!==P&&(t.height=M/P),p=E+B*M;else if(M=t.height*P,e.isAlignVerticalCenter){var I=e._isAbsVerticalCenter?e._verticalCenter:e._verticalCenter*D,R=(.5-f.y)*_.height;u&&(I*=c.y,R+=s.y,R*=c.y),p=R+(B-.5)*M+I}else p=e.isAlignBottom?E+B*M:w+(B-1)*M}t.setPosition(d,p)}function u(){var t=cc.director.getScene();if(t){if(f.isAligning=!0,f._nodesOrderDirty)_.length=0,(function t(e){var i=e._widget;i&&(c(e,i),i.alignMode!==s.ALWAYS?i.enabled=!1:_.push(i));for(var n=e._children,r=0;r<n.length;r++){var a=n[r];a._active&&t(a)}})(t),f._nodesOrderDirty=!1;else{var e,i=f._activeWidgetsIterator;for(i.i=0;i.i<_.length;++i.i)c((e=_[i.i]).node,e)}f.isAligning=!1}}var _=[];var f=cc._widgetManager=e.exports={_AlignFlags:{TOP:1,MID:2,BOT:4,LEFT:8,CENTER:16,RIGHT:32},isAligning:!1,_nodesOrderDirty:!1,_activeWidgetsIterator:new cc.js.array.MutableForwardIterator(_),init:function(t){t.on(cc.Director.EVENT_AFTER_UPDATE,u),cc.sys.isMobile?window.addEventListener("resize",this.onResized.bind(this)):cc.view.on("canvas-resize",this.onResized,this)},add:function(t){t.node._widget=t,this._nodesOrderDirty=!0},remove:function(t){t.node._widget=null,this._activeWidgetsIterator.remove(t)},onResized:function(){var t=cc.director.getScene();t&&this.refreshWidgetOnResized(t)},refreshWidgetOnResized:function(t){var e=cc.Node.isNode(t)&&t.getComponent(cc.Widget);e&&e.alignMode===s.ON_WINDOW_RESIZE&&(e.enabled=!0);for(var i=t._children,n=0;n<i.length;n++){var r=i[n];this.refreshWidgetOnResized(r)}},updateAlignment:function t(e){var i=e._parent;cc.Node.isNode(i)&&t(i);var n=e._widget||e.getComponent(cc.Widget);n&&i&&c(e,n)},AlignMode:s}}),{"../CCNode":29}],52:[(function(t,e,i){var n=t("../utils/affine-transform"),r=t("../renderer/render-engine"),s=t("../renderer/index"),a=t("../renderer/render-flow"),o=t("../CCGame"),h=cc.vmath.mat4,l=cc.vmath.vec2,c=cc.vmath.vec3,u=h.create(),_=h.create(),f=c.create(),m=[],d=null;function p(){if(d){var t=d._node,e=cc.visibleRect;t.z=e.height/1.1566,t.x=f.x=e.width/2,t.y=f.y=e.height/2,f.z=0,t.lookAt(f)}}var y=cc.Enum({COLOR:1,DEPTH:2,STENCIL:4}),v=cc.Class({name:"cc.Camera",extends:cc.Component,ctor:function(){if(o.renderType!==o.RENDER_TYPE_CANVAS){var t=new r.Camera;t.setStages(["transparent"]),this._fov=60*Math.PI/180,t.setFov(this._fov),t.setNear(.1),t.setFar(4096);var e=new r.View;t.view=e,t.dirty=!0,this._matrixDirty=!0,this._inited=!1,this._camera=t}else this._inited=!0},editor:!1,properties:{_cullingMask:4294967295,_clearFlags:y.DEPTH|y.STENCIL,_backgroundColor:cc.color(0,0,0,255),_depth:0,_zoomRatio:1,_targetTexture:null,zoomRatio:{get:function(){return this._zoomRatio},set:function(t){this._zoomRatio=t,this._matrixDirty=!0}},cullingMask:{get:function(){return this._cullingMask},set:function(t){this._cullingMask=t,this._updateCameraMask()}},clearFlags:{get:function(){return this._clearFlags},set:function(t){this._clearFlags=t,this._camera&&this._camera.setClearFlags(t)}},backgroundColor:{get:function(){return this._backgroundColor},set:function(t){this._backgroundColor=t,this._updateBackgroundColor()}},depth:{get:function(){return this._depth},set:function(t){this._depth=t,this._camera&&this._camera.setDepth(t)}},targetTexture:{get:function(){return this._targetTexture},set:function(t){this._targetTexture=t,this._updateTargetTexture()}}},statics:{main:null,cameras:m,ClearFlags:y,findCamera:function(t){for(var e=0,i=m.length;e<i;e++){var n=m[e];if(n.containsNode(t))return n}return null},_setupDebugCamera:function(){if(!d&&o.renderType!==o.RENDER_TYPE_CANVAS){var t=new r.Camera;d=t,t.setStages(["transparent"]),t.setFov(60*Math.PI/180),t.setNear(.1),t.setFar(4096);var e=new r.View;t.view=e,t.dirty=!0,t._cullingMask=t.view._cullingMask=1<<cc.Node.BuiltinGroupIndex.DEBUG,t.setDepth(cc.macro.MAX_ZINDEX),t.setClearFlags(0),t.setColor(0,0,0,0);var i=new cc.Node;t.setNode(i),p(),cc.view.on("design-resolution-changed",p),s.scene.addCamera(t)}}},_updateCameraMask:function(){if(this._camera){var t=this._cullingMask&~(1<<cc.Node.BuiltinGroupIndex.DEBUG);this._camera._cullingMask=t,this._camera.view._cullingMask=t}},_updateBackgroundColor:function(){if(this._camera){var t=this._backgroundColor;this._camera.setColor(t.r/255,t.g/255,t.b/255,t.a/255)}},_updateTargetTexture:function(){var t=this._targetTexture;this._camera&&(this._camera._framebuffer=t?t._framebuffer:null)},_onMatrixDirty:function(){this._matrixDirty=!0},_init:function(){this._inited||(this._inited=!0,this._camera&&(this._camera.setNode(this.node),this._camera.setClearFlags(this._clearFlags),this._camera.setDepth(this._depth),this._updateBackgroundColor(),this._updateCameraMask(),this._updateTargetTexture()))},onLoad:function(){this._init()},onEnable:function(){this._matrixDirty=!0,o.renderType!==o.RENDER_TYPE_CANVAS&&(cc.director.on(cc.Director.EVENT_BEFORE_DRAW,this.beforeDraw,this),s.scene.addCamera(this._camera)),m.push(this)},onDisable:function(){o.renderType!==o.RENDER_TYPE_CANVAS&&(cc.director.off(cc.Director.EVENT_BEFORE_DRAW,this.beforeDraw,this),s.scene.removeCamera(this._camera)),cc.js.array.remove(m,this)},getNodeToCameraTransform:function(t){var e=n.identity();return t.getWorldMatrix(_),this.containsNode(t)&&(this.getWorldToCameraMatrix(u),h.mul(_,_,u)),n.fromMat4(e,_),e},getCameraToWorldPoint:function(t,e){return e=e||cc.v2(),this.getCameraToWorldMatrix(u),l.transformMat4(e,t,u),e},getWorldToCameraPoint:function(t,e){return e=e||cc.v2(),this.getWorldToCameraMatrix(u),l.transformMat4(e,t,u),e},getCameraToWorldMatrix:function(t){return this.getWorldToCameraMatrix(t),h.invert(t,t),t},getWorldToCameraMatrix:function(t){this.node.getWorldRT(u);var e=this.zoomRatio;u.m00*=e,u.m01*=e,u.m04*=e,u.m05*=e;var i=u.m12,n=u.m13,r=cc.visibleRect.center;return u.m12=r.x-(u.m00*i+u.m04*n),u.m13=r.y-(u.m01*i+u.m05*n),t!==u&&h.copy(t,u),t},containsNode:function(t){return t._cullingMask&this.cullingMask},render:function(t){if(!(t=t||cc.director.getScene()))return null;this.node.getWorldMatrix(u),this.beforeDraw(),a.visit(t),s._forward.renderCamera(this._camera,s.scene)},beforeDraw:function(){var t=this.node;if(this._matrixDirty||t._worldMatDirty){var e=this._camera,i=2*Math.atan(Math.tan(this._fov/2)/this.zoomRatio);e.setFov(i);var n=cc.game.canvas.height/cc.view._scaleY,r=this._targetTexture;r&&(n=r.height),t._updateWorldMatrix(),f.x=t._worldMatrix.m12,f.y=t._worldMatrix.m13,f.z=0,t.z=n/(2*Math.tan(this._fov/2)),t.lookAt(f),this._matrixDirty=!1,e.dirty=!0}}});e.exports=cc.Camera=v}),{"../CCGame":28,"../renderer/index":201,"../renderer/render-engine":202,"../renderer/render-flow":203,"../utils/affine-transform":234}],53:[(function(t,e,i){cc.Collider.Box=cc.Class({properties:{_offset:cc.v2(0,0),_size:cc.size(100,100),offset:{tooltip:!1,get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},size:{tooltip:!1,get:function(){return this._size},set:function(t){this._size.width=t.width<0?0:t.width,this._size.height=t.height<0?0:t.height},type:cc.Size}},resetInEditor:!1});var n=cc.Class({name:"cc.BoxCollider",extends:cc.Collider,mixins:[cc.Collider.Box],editor:!1});cc.BoxCollider=e.exports=n}),{}],54:[(function(t,e,i){cc.Collider.Circle=cc.Class({properties:{_offset:cc.v2(0,0),_radius:50,offset:{get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},radius:{tooltip:!1,get:function(){return this._radius},set:function(t){this._radius=t<0?0:t}}},resetInEditor:!1});var n=cc.Class({name:"cc.CircleCollider",extends:cc.Collider,mixins:[cc.Collider.Circle],editor:!1});cc.CircleCollider=e.exports=n}),{}],55:[(function(t,e,i){var n=cc.Class({name:"cc.Collider",extends:cc.Component,properties:{editing:{default:!1,serializable:!1,tooltip:!1},tag:{tooltip:!1,default:0,range:[0,1e7],type:cc.Integer}},onDisable:function(){cc.director.getCollisionManager().removeCollider(this)},onEnable:function(){cc.director.getCollisionManager().addCollider(this)}});cc.Collider=e.exports=n}),{}],56:[(function(t,e,i){var n=t("./CCContact"),r=n.CollisionType,s=t("../CCNode").EventType,a=cc.vmath,o=cc.v2();var h=cc.Class({mixins:[cc.EventTarget],properties:{enabled:!1,enabledDrawBoundingBox:!1},ctor:function(){this._contacts=[],this._colliders=[],this._debugDrawer=null,this._enabledDebugDraw=!1,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this)},update:function(t){if(this.enabled){var e=void 0,i=void 0,n=this._colliders;for(e=0,i=n.length;e<i;e++)this.updateCollider(n[e]);var s=this._contacts,a=[];for(e=0,i=s.length;e<i;e++){var o=s[e].updateState();o!==r.None&&a.push([o,s[e]])}for(e=0,i=a.length;e<i;e++){var h=a[e];this._doCollide(h[0],h[1])}this.drawColliders()}},_doCollide:function(t,e){var i=void 0;switch(t){case r.CollisionEnter:i="onCollisionEnter";break;case r.CollisionStay:i="onCollisionStay";break;case r.CollisionExit:i="onCollisionExit"}var n=e.collider1,s=e.collider2,a=n.node._components,o=s.node._components,h=void 0,l=void 0,c=void 0;for(h=0,l=a.length;h<l;h++)(c=a[h])[i]&&c[i](s,n);for(h=0,l=o.length;h<l;h++)(c=o[h])[i]&&c[i](n,s)},shouldCollide:function(t,e){var i=t.node,n=e.node,r=cc.game.collisionMatrix;return i!==n&&r[i.groupIndex][n.groupIndex]},initCollider:function(t){if(!t.world){var e=t.world={};e.aabb=cc.rect(),e.preAabb=cc.rect(),e.matrix=a.mat4.create(),e.radius=0,t instanceof cc.BoxCollider?(e.position=null,e.points=[cc.v2(),cc.v2(),cc.v2(),cc.v2()]):t instanceof cc.PolygonCollider?(e.position=null,e.points=t.points.map((function(t){return cc.v2(t.x,t.y)}))):t instanceof cc.CircleCollider&&(e.position=cc.v2(),e.points=null)}},updateCollider:function(t){var e=t.offset,i=t.world,n=i.aabb,r=i.matrix;t.node.getWorldMatrix(r);var s=i.preAabb;if(s.x=n.x,s.y=n.y,s.width=n.width,s.height=n.height,t instanceof cc.BoxCollider){var h=t.size;n.x=e.x-h.width/2,n.y=e.y-h.height/2,n.width=h.width,n.height=h.height;var l=i.points,c=l[0],u=l[1],_=l[2],f=l[3];(function(t,e,i,n,r,s){var a=t.x,o=t.y,h=t.width,l=t.height,c=e.m00,u=e.m01,_=e.m04,f=e.m05,m=c*a+_*o+e.m12,d=u*a+f*o+e.m13,p=c*h,y=u*h,v=_*l,g=f*l;n.x=m,n.y=d,r.x=p+m,r.y=y+d,i.x=v+m,i.y=g+d,s.x=p+v+m,s.y=y+g+d})(n,r,c,u,_,f);var m=Math.min(c.x,u.x,_.x,f.x),d=Math.min(c.y,u.y,_.y,f.y),p=Math.max(c.x,u.x,_.x,f.x),y=Math.max(c.y,u.y,_.y,f.y);n.x=m,n.y=d,n.width=p-m,n.height=y-d}else if(t instanceof cc.CircleCollider){a.vec2.transformMat4(o,t.offset,r),i.position.x=o.x,i.position.y=o.y;var v=r.m12,g=r.m13;r.m12=r.m13=0,o.x=t.radius,o.y=0,a.vec2.transformMat4(o,o,r);var x=Math.sqrt(o.x*o.x+o.y*o.y);i.radius=x,n.x=i.position.x-x,n.y=i.position.y-x,n.width=2*x,n.height=2*x,r.m12=v,r.m13=g}else if(t instanceof cc.PolygonCollider){var A=t.points,b=i.points;b.length=A.length;for(var C=1e6,S=1e6,T=-1e6,w=-1e6,E=0,D=A.length;E<D;E++){b[E]||(b[E]=cc.v2()),o.x=A[E].x+e.x,o.y=A[E].y+e.y,a.vec2.transformMat4(o,o,r);var M=o.x,B=o.y;b[E].x=M,b[E].y=B,M>T&&(T=M),M<C&&(C=M),B>w&&(w=B),B<S&&(S=B)}n.x=C,n.y=S,n.width=T-C,n.height=w-S}},addCollider:function(t){var e=this._colliders;if(-1===e.indexOf(t)){for(var i=0,r=e.length;i<r;i++){var a=e[i];if(this.shouldCollide(t,a)){var o=new n(t,a);this._contacts.push(o)}}e.push(t),this.initCollider(t)}t.node.on(s.GROUP_CHANGED,this.onNodeGroupChanged,this)},removeCollider:function(t){var e=this._colliders,i=e.indexOf(t);if(i>=0){e.splice(i,1);for(var n=this._contacts,a=n.length-1;a>=0;a--){var o=n[a];o.collider1!==t&&o.collider2!==t||(o.touching&&this._doCollide(r.CollisionExit,o),n.splice(a,1))}t.node.off(s.GROUP_CHANGED,this.onNodeGroupChanged,this)}else cc.errorID(6600)},onNodeGroupChanged:function(t){for(var e=t.getComponents(cc.Collider),i=0,n=e.length;i<n;i++)this.removeCollider(e[i]),this.addCollider(e[i])},drawColliders:function(){if(this._enabledDebugDraw){this._checkDebugDrawValid();var t=this._debugDrawer;t.clear();for(var e=this._colliders,i=0,n=e.length;i<n;i++){var r=e[i];if(t.strokeColor=cc.Color.WHITE,r instanceof cc.BoxCollider||r instanceof cc.PolygonCollider){var s=r.world.points;if(s.length>0){t.moveTo(s[0].x,s[0].y);for(var a=1;a<s.length;a++)t.lineTo(s[a].x,s[a].y);t.close(),t.stroke()}}else r instanceof cc.CircleCollider&&(t.circle(r.world.position.x,r.world.position.y,r.world.radius),t.stroke());if(this.enabledDrawBoundingBox){var o=r.world.aabb;t.strokeColor=cc.Color.BLUE,t.moveTo(o.xMin,o.yMin),t.lineTo(o.xMin,o.yMax),t.lineTo(o.xMax,o.yMax),t.lineTo(o.xMax,o.yMin),t.close(),t.stroke()}}}},_checkDebugDrawValid:function(){if(!this._debugDrawer||!this._debugDrawer.isValid){var t=new cc.Node("COLLISION_MANAGER_DEBUG_DRAW");t.zIndex=cc.macro.MAX_ZINDEX,cc.game.addPersistRootNode(t),this._debugDrawer=t.addComponent(cc.Graphics)}}});cc.js.getset(h.prototype,"enabledDebugDraw",(function(){return this._enabledDebugDraw}),(function(t){t&&!this._enabledDebugDraw?(this._checkDebugDrawValid(),this._debugDrawer.node.active=!0):!t&&this._enabledDebugDraw&&(this._debugDrawer.clear(!0),this._debugDrawer.node.active=!1),this._enabledDebugDraw=t})),cc.CollisionManager=e.exports=h}),{"../CCNode":29,"./CCContact":57}],57:[(function(t,e,i){var n=t("./CCIntersection"),r=cc.Enum({None:0,CollisionEnter:1,CollisionStay:2,CollisionExit:3});function s(t,e){this.collider1=t,this.collider2=e,this.touching=!1;var i=t instanceof cc.BoxCollider||t instanceof cc.PolygonCollider,r=e instanceof cc.BoxCollider||e instanceof cc.PolygonCollider,s=t instanceof cc.CircleCollider,a=e instanceof cc.CircleCollider;i&&r?this.testFunc=n.polygonPolygon:s&&a?this.testFunc=n.circleCircle:i&&a?this.testFunc=n.polygonCircle:s&&r?(this.testFunc=n.polygonCircle,this.collider1=e,this.collider2=t):cc.errorID(6601,cc.js.getClassName(t),cc.js.getClassName(e))}s.prototype.test=function(){var t=this.collider1.world,e=this.collider2.world;return!!t.aabb.intersects(e.aabb)&&(this.testFunc===n.polygonPolygon?this.testFunc(t.points,e.points):this.testFunc===n.circleCircle?this.testFunc(t,e):this.testFunc===n.polygonCircle&&this.testFunc(t.points,e))},s.prototype.updateState=function(){var t=this.test(),e=r.None;return t&&!this.touching?(this.touching=!0,e=r.CollisionEnter):t&&this.touching?e=r.CollisionStay:!t&&this.touching&&(this.touching=!1,e=r.CollisionExit),e},s.CollisionType=r,e.exports=s}),{"./CCIntersection":58}],58:[(function(t,e,i){var n={};function r(t,e,i,n){var r=(n.x-i.x)*(t.y-i.y)-(n.y-i.y)*(t.x-i.x),s=(e.x-t.x)*(t.y-i.y)-(e.y-t.y)*(t.x-i.x),a=(n.y-i.y)*(e.x-t.x)-(n.x-i.x)*(e.y-t.y);if(0!==a){var o=r/a,h=s/a;if(0<=o&&o<=1&&0<=h&&h<=1)return!0}return!1}function s(t,e,i){for(var n=i.length,s=0;s<n;++s){if(r(t,e,i[s],i[(s+1)%n]))return!0}return!1}function a(t,e){for(var i=!1,n=t.x,r=t.y,s=e.length,a=0,o=s-1;a<s;o=a++){var h=e[a].x,l=e[a].y,c=e[o].x,u=e[o].y;l>r!=u>r&&n<(c-h)*(r-l)/(u-l)+h&&(i=!i)}return i}function o(t,e,i,n){var r,s=i.x-e.x,a=i.y-e.y,o=s*s+a*a,h=((t.x-e.x)*s+(t.y-e.y)*a)/o;return r=n?o?h<0?e:h>1?i:cc.v2(e.x+h*s,e.y+h*a):e:cc.v2(e.x+h*s,e.y+h*a),s=t.x-r.x,a=t.y-r.y,Math.sqrt(s*s+a*a)}n.lineLine=r,n.lineRect=function(t,e,i){var n=new cc.Vec2(i.x,i.y),s=new cc.Vec2(i.x,i.yMax),a=new cc.Vec2(i.xMax,i.yMax),o=new cc.Vec2(i.xMax,i.y);return!!(r(t,e,n,s)||r(t,e,s,a)||r(t,e,a,o)||r(t,e,o,n))},n.linePolygon=s,n.rectRect=function(t,e){var i=t.x,n=t.y,r=t.x+t.width,s=t.y+t.height,a=e.x,o=e.y,h=e.x+e.width,l=e.y+e.height;return i<=h&&r>=a&&n<=l&&s>=o},n.rectPolygon=function(t,e){var i,n,r=new cc.Vec2(t.x,t.y),o=new cc.Vec2(t.x,t.yMax),h=new cc.Vec2(t.xMax,t.yMax),l=new cc.Vec2(t.xMax,t.y);if(s(r,o,e))return!0;if(s(o,h,e))return!0;if(s(h,l,e))return!0;if(s(l,r,e))return!0;for(i=0,n=e.length;i<n;++i)if(a(e[i],t))return!0;return!!(a(r,e)||a(o,e)||a(h,e)||a(l,e))},n.polygonPolygon=function(t,e){var i,n;for(i=0,n=t.length;i<n;++i)if(s(t[i],t[(i+1)%n],e))return!0;for(i=0,n=e.length;i<n;++i)if(a(e[i],t))return!0;for(i=0,n=t.length;i<n;++i)if(a(t[i],e))return!0;return!1},n.circleCircle=function(t,e){return t.position.sub(e.position).mag()<t.radius+e.radius},n.polygonCircle=function(t,e){var i=e.position;if(a(i,t))return!0;for(var n=0,r=t.length;n<r;n++)if(o(i,0===n?t[t.length-1]:t[n-1],t[n],!0)<e.radius)return!0;return!1},n.pointInPolygon=a,n.pointLineDistance=o,cc.Intersection=e.exports=n}),{}],59:[(function(t,e,i){cc.Collider.Polygon=cc.Class({properties:{threshold:{default:1,serializable:!1,visible:!1},_offset:cc.v2(0,0),offset:{get:function(){return this._offset},set:function(t){this._offset=t},type:cc.Vec2},points:{tooltip:!1,default:function(){return[cc.v2(-50,-50),cc.v2(50,-50),cc.v2(50,50),cc.v2(-50,50)]},type:[cc.Vec2]}},resetPointsByContour:!1});var n=cc.Class({name:"cc.PolygonCollider",extends:cc.Collider,mixins:[cc.Collider.Polygon],editor:!1});cc.PolygonCollider=e.exports=n}),{}],60:[(function(t,e,i){t("./CCCollisionManager"),t("./CCCollider"),t("./CCBoxCollider"),t("./CCCircleCollider"),t("./CCPolygonCollider")}),{"./CCBoxCollider":53,"./CCCircleCollider":54,"./CCCollider":55,"./CCCollisionManager":56,"./CCPolygonCollider":59}],61:[(function(t,e,i){t("./platform/CCClass");var n=t("./platform/CCObject").Flags,r=t("./platform/js").array,s=n.IsStartCalled,a=n.IsOnEnableCalled,o=(n.IsEditorOnEnableCalled,"c.start();c._objFlags|="+s),h="c.update(dt)",l="c.lateUpdate(dt)";function c(t,e){for(var i=e.constructor._executionOrder,n=e._id,r=0,s=t.length-1,a=s>>>1;r<=s;a=r+s>>>1){var o=t[a],h=o.constructor._executionOrder;if(h>i)s=a-1;else if(h<i)r=a+1;else{var l=o._id;if(l>n)s=a-1;else{if(!(l<n))return a;r=a+1}}}return~r}function u(t,e){for(var i=t.array,n=t.i+1;n<i.length;){var r=i[n];r._enabled&&r.node._activeInHierarchy?++n:(t.removeAt(n),e&&(r._objFlags&=~e))}}var _=cc.Class({__ctor__:function(t){var e=r.MutableForwardIterator;this._zero=new e([]),this._neg=new e([]),this._pos=new e([]),this._invoke=t},statics:{stableRemoveInactive:u},add:null,remove:null,invoke:null});function f(t,e){return t.constructor._executionOrder-e.constructor._executionOrder}var m=cc.Class({extends:_,add:function(t){var e=t.constructor._executionOrder;(0===e?this._zero:e<0?this._neg:this._pos).array.push(t)},remove:function(t){var e=t.constructor._executionOrder;(0===e?this._zero:e<0?this._neg:this._pos).fastRemove(t)},cancelInactive:function(t){u(this._zero,t),u(this._neg,t),u(this._pos,t)},invoke:function(){var t=this._neg;t.array.length>0&&(t.array.sort(f),this._invoke(t),t.array.length=0),this._invoke(this._zero),this._zero.array.length=0;var e=this._pos;e.array.length>0&&(e.array.sort(f),this._invoke(e),e.array.length=0)}}),d=cc.Class({extends:_,add:function(t){var e=t.constructor._executionOrder;if(0===e)this._zero.array.push(t);else{var i=e<0?this._neg.array:this._pos.array,n=c(i,t);n<0&&i.splice(~n,0,t)}},remove:function(t){var e=t.constructor._executionOrder;if(0===e)this._zero.fastRemove(t);else{var i=e<0?this._neg:this._pos,n=c(i.array,t);n>=0&&i.removeAt(n)}},invoke:function(t){this._neg.array.length>0&&this._invoke(this._neg,t),this._invoke(this._zero,t),this._pos.array.length>0&&this._invoke(this._pos,t)}});function p(t,e){if("function"==typeof t)return e?function(e,i){var n=e.array;for(e.i=0;e.i<n.length;++e.i){var r=n[e.i];t(r,i)}}:function(e){var i=e.array;for(e.i=0;e.i<i.length;++e.i){var n=i[e.i];t(n)}};var i="var a=it.array;for(it.i=0;it.i<a.length;++it.i){var c=a[it.i];"+t+"}";return e?Function("it","dt",i):Function("it",i)}function y(){this.startInvoker=new m(p(o)),this.updateInvoker=new d(p(h,!0)),this.lateUpdateInvoker=new d(p(l,!0)),this.scheduleInNextFrame=[],this._updating=!1}var v=cc.Class({ctor:y,unscheduleAll:y,statics:{LifeCycleInvoker:_,OneOffInvoker:m,createInvokeImpl:p,invokeOnEnable:function(t){var e=cc.director._compScheduler,i=t.array;for(t.i=0;t.i<i.length;++t.i){var n=i[t.i];if(n._enabled)n.onEnable(),!n.node._activeInHierarchy||e._onEnabled(n)}}},_onEnabled:function(t){cc.director.getScheduler().resumeTarget(t),t._objFlags|=a,this._updating?this.scheduleInNextFrame.push(t):this._scheduleImmediate(t)},_onDisabled:function(t){cc.director.getScheduler().pauseTarget(t),t._objFlags&=~a;var e=this.scheduleInNextFrame.indexOf(t);e>=0?r.fastRemoveAt(this.scheduleInNextFrame,e):(!t.start||t._objFlags&s||this.startInvoker.remove(t),t.update&&this.updateInvoker.remove(t),t.lateUpdate&&this.lateUpdateInvoker.remove(t))},enableComp:function(t,e){if(!(t._objFlags&a)){if(t.onEnable){if(e)return void e.add(t);if(t.onEnable(),!t.node._activeInHierarchy)return}this._onEnabled(t)}},disableComp:function(t){t._objFlags&a&&(t.onDisable&&t.onDisable(),this._onDisabled(t))},_scheduleImmediate:function(t){!t.start||t._objFlags&s||this.startInvoker.add(t),t.update&&this.updateInvoker.add(t),t.lateUpdate&&this.lateUpdateInvoker.add(t)},_deferredSchedule:function(){for(var t=this.scheduleInNextFrame,e=0,i=t.length;e<i;e++){var n=t[e];this._scheduleImmediate(n)}t.length=0},startPhase:function(){this._updating=!0,this.scheduleInNextFrame.length>0&&this._deferredSchedule(),this.startInvoker.invoke()},updatePhase:function(t){this.updateInvoker.invoke(t)},lateUpdatePhase:function(t){this.lateUpdateInvoker.invoke(t),this._updating=!1}});e.exports=v}),{"./platform/CCClass":160,"./platform/CCObject":166,"./platform/js":180,"./utils/misc":242}],62:[(function(t,e,i){var n=t("../../animation/animation-animator"),r=t("../../animation/animation-clip"),s=t("../event/event-target"),a=t("../platform/js");function o(t,e){return t===e||t&&e&&(t.name===e.name||t._uuid===e._uuid)}var h=cc.Enum({PLAY:"play",STOP:"stop",PAUSE:"pause",RESUME:"resume",LASTFRAME:"lastframe",FINISHED:"finished"}),l=cc.Class({name:"cc.Animation",extends:t("./CCComponent"),mixins:[s],editor:!1,statics:{EventType:h},ctor:function(){cc.EventTarget.call(this),this._animator=null,this._nameToState=a.createMap(!0),this._didInit=!1,this._currentClip=null},properties:{_defaultClip:{default:null,type:r},defaultClip:{type:r,get:function(){return this._defaultClip},set:function(t){},tooltip:!1},currentClip:{get:function(){return this._currentClip},set:function(t){this._currentClip=t},type:r,visible:!1},_clips:{default:[],type:[r],tooltip:!1,visible:!0},playOnLoad:{default:!1,tooltip:!1}},start:function(){if(this.playOnLoad&&this._defaultClip&&!(this._animator&&this._animator.isPlaying)){var t=this.getAnimationState(this._defaultClip.name);this._animator.playState(t)}},onEnable:function(){this._animator&&this._animator.resume()},onDisable:function(){this._animator&&this._animator.pause()},onDestroy:function(){this.stop()},getClips:function(){return this._clips},play:function(t,e){var i=this.playAdditive(t,e);return this._animator.stopStatesExcept(i),i},playAdditive:function(t,e){this._init();var i=this.getAnimationState(t||this._defaultClip&&this._defaultClip.name);if(i){this.enabled=!0;var n=this._animator;n.isPlaying&&i.isPlaying?i.isPaused?n.resumeState(i):(n.stopState(i),n.playState(i,e)):n.playState(i,e),this.enabledInHierarchy||n.pause(),this.currentClip=i.clip}return i},stop:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.stopState(e)}else this._animator.stop()},pause:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.pauseState(e)}else this.enabled=!1},resume:function(t){if(this._didInit)if(t){var e=this._nameToState[t];e&&this._animator.resumeState(e)}else this.enabled=!0},setCurrentTime:function(t,e){if(this._init(),e){var i=this._nameToState[e];i&&this._animator.setStateTime(i,t)}else this._animator.setStateTime(t)},getAnimationState:function(t){this._init();var e=this._nameToState[t];return e&&!e.curveLoaded&&this._animator._reloadClip(e),e||null},addClip:function(t,e){if(t){this._init(),cc.js.array.contains(this._clips,t)||this._clips.push(t),e=e||t.name;var i=this._nameToState[e];if(i){if(i.clip===t)return i;var n=this._clips.indexOf(i.clip);-1!==n&&this._clips.splice(n,1)}var r=new cc.AnimationState(t,e);return this._nameToState[e]=r,r}cc.warnID(3900)},removeClip:function(t,e){if(t){this._init();var i=void 0;for(var n in this._nameToState){if((i=this._nameToState[n]).clip===t)break}if(t===this._defaultClip){if(!e)return void cc.warnID(3902);this._defaultClip=null}if(i&&i.isPlaying){if(!e)return void cc.warnID(3903);this.stop(i.name)}this._clips=this._clips.filter((function(e){return e!==t})),i&&delete this._nameToState[i.name]}else cc.warnID(3901)},sample:function(t){if(this._init(),t){var e=this._nameToState[t];e&&e.sample()}else this._animator.sample()},on:function(t,e,i,n){this._init();var r=this._EventTargetOn(t,e,i,n);if("lastframe"===t)for(var s=this._animator._anims.array,a=0;a<s.length;++a){s[a]._lastframeEventOn=!0}return r},off:function(t,e,i,n){if(this._init(),"lastframe"===t){var r=this._nameToState;for(var s in r){r[s]._lastframeEventOn=!1}}this._EventTargetOff(t,e,i,n)},_init:function(){this._didInit||(this._didInit=!0,this._animator=new n(this.node,this),this._createStates())},_createStates:function(){this._nameToState=a.createMap(!0);for(var t=null,e=!1,i=0;i<this._clips.length;++i){var n=this._clips[i];n&&(t=new cc.AnimationState(n),this._nameToState[t.name]=t,o(this._defaultClip,n)&&(e=t))}this._defaultClip&&!e&&(t=new cc.AnimationState(this._defaultClip),this._nameToState[t.name]=t)}});l.prototype._EventTargetOn=s.prototype.on,l.prototype._EventTargetOff=s.prototype.off,cc.Animation=e.exports=l}),{"../../animation/animation-animator":9,"../../animation/animation-clip":10,"../event/event-target":102,"../platform/js":180,"./CCComponent":67}],63:[(function(t,e,i){var n=t("../utils/misc"),r=t("./CCComponent"),s=t("../assets/CCAudioClip"),a=cc.Class({name:"cc.AudioSource",extends:r,editor:!1,ctor:function(){this.audio=new cc.Audio},properties:{_clip:{default:null,type:s},_volume:1,_mute:!1,_loop:!1,_pausedFlag:{default:!1,serializable:!1},isPlaying:{get:function(){return this.audio.getState()===cc.Audio.State.PLAYING},visible:!1},clip:{get:function(){return this._clip},set:function(t){var e=this;if("string"==typeof t){var i=(function(){cc.warnID(8401,"cc.AudioSource","cc.AudioClip","AudioClip","cc.AudioClip","audio");var i=e;return s._loadByUrl(t,(function(t,e){e&&(i.clip=e)})),{v:void 0}})();if("object"==typeof i)return i.v}t!==this._clip&&(this._clip=t,this.audio.stop(),this.preload&&(this.audio.src=this._clip))},type:s,tooltip:!1,animatable:!1},volume:{get:function(){return this._volume},set:function(t){return t=n.clamp01(t),this._volume=t,this._mute||this.audio.setVolume(t),t},tooltip:!1},mute:{get:function(){return this._mute},set:function(t){return this._mute=t,this.audio.setVolume(t?0:this._volume),t},animatable:!1,tooltip:!1},loop:{get:function(){return this._loop},set:function(t){return this._loop=t,this.audio.setLoop(t),t},animatable:!1,tooltip:!1},playOnLoad:{default:!1,tooltip:!1,animatable:!1},preload:{default:!1,animatable:!1}},_ensureDataLoaded:function(){this.audio.src!==this._clip&&(this.audio.src=this._clip)},_pausedCallback:function(){this.audio.getState()===cc.Audio.State.PLAYING&&(this.audio.pause(),this._pausedFlag=!0)},_restoreCallback:function(){this._pausedFlag&&this.audio.resume(),this._pausedFlag=!1},onLoad:function(){this.audio.setVolume(this._mute?0:this._volume),this.audio.setLoop(this._loop)},onEnable:function(){this.preload&&(this.audio.src=this._clip),this.playOnLoad&&this.play(),cc.game.on(cc.game.EVENT_HIDE,this._pausedCallback,this),cc.game.on(cc.game.EVENT_SHOW,this._restoreCallback,this)},onDisable:function(){this.stop(),cc.game.off(cc.game.EVENT_HIDE,this._pausedCallback,this),cc.game.off(cc.game.EVENT_SHOW,this._restoreCallback,this)},onDestroy:function(){this.stop(),this.audio.destroy(),cc.audioEngine.uncache(this._clip)},play:function(){if(this._clip){var t=this.audio;this._clip.loaded&&t.stop(),this._ensureDataLoaded(),t.setCurrentTime(0),t.play()}},stop:function(){this.audio.stop()},pause:function(){this.audio.pause()},resume:function(){this._ensureDataLoaded(),this.audio.resume()},rewind:function(){this.audio.setCurrentTime(0)},getCurrentTime:function(){return this.audio.getCurrentTime()},setCurrentTime:function(t){return this.audio.setCurrentTime(t),t},getDuration:function(){return this.audio.getDuration()}});cc.AudioSource=e.exports=a}),{"../assets/CCAudioClip":34,"../utils/misc":242,"./CCComponent":67}],64:[(function(t,e,i){var n=["touchstart","touchmove","touchend","mousedown","mousemove","mouseup","mouseenter","mouseleave","mousewheel"];function r(t){t.stopPropagation()}var s=cc.Class({name:"cc.BlockInputEvents",extends:t("./CCComponent"),editor:{menu:"i18n:MAIN_MENU.component.ui/Block Input Events",inspector:"packages://inspector/inspectors/comps/block-input-events.js",help:"i18n:COMPONENT.help_url.block_input_events"},onEnable:function(){for(var t=0;t<n.length;t++)this.node.on(n[t],r,this)},onDisable:function(){for(var t=0;t<n.length;t++)this.node.off(n[t],r,this)}});cc.BlockInputEvents=e.exports=s}),{"./CCComponent":67}],65:[(function(t,e,i){var n=t("./CCComponent"),r=cc.Enum({NONE:0,COLOR:1,SPRITE:2,SCALE:3}),s=cc.Enum({NORMAL:0,HOVER:1,PRESSED:2,DISABLED:3}),a=cc.Class({name:"cc.Button",extends:n,ctor:function(){this._pressed=!1,this._hovered=!1,this._fromColor=null,this._toColor=null,this._time=0,this._transitionFinished=!0,this._fromScale=cc.Vec2.ZERO,this._toScale=cc.Vec2.ZERO,this._originalScale=null,this._sprite=null},editor:!1,properties:{interactable:{default:!0,tooltip:!1,notify:function(){this._updateState(),this.interactable||this._resetState()},animatable:!1},_resizeToTarget:{animatable:!1,set:function(t){t&&this._resizeNodeToTargetNode()}},enableAutoGrayEffect:{default:!1,tooltip:!1,notify:function(){this._updateDisabledState()}},transition:{default:r.NONE,tooltip:!1,type:r,animatable:!1,notify:function(t){this._updateTransition(t)},formerlySerializedAs:"transition"},normalColor:{default:cc.color(214,214,214),displayName:"Normal",tooltip:!1,notify:function(){this.transition===r.Color&&this._getButtonState()===s.NORMAL&&(this._getTarget().opacity=this.normalColor.a),this._updateState()}},pressedColor:{default:cc.color(211,211,211),displayName:"Pressed",tooltip:!1,notify:function(){this.transition===r.Color&&this._getButtonState()===s.PRESSED&&(this._getTarget().opacity=this.pressedColor.a),this._updateState()},formerlySerializedAs:"pressedColor"},hoverColor:{default:cc.Color.WHITE,displayName:"Hover",tooltip:!1,notify:function(){this.transition===r.Color&&this._getButtonState()===s.HOVER&&(this._getTarget().opacity=this.hoverColor.a),this._updateState()},formerlySerializedAs:"hoverColor"},disabledColor:{default:cc.color(124,124,124),displayName:"Disabled",tooltip:!1,notify:function(){this.transition===r.Color&&this._getButtonState()===s.DISABLED&&(this._getTarget().opacity=this.disabledColor.a),this._updateState()}},duration:{default:.1,range:[0,10],tooltip:!1},zoomScale:{default:1.2,tooltip:!1},normalSprite:{default:null,type:cc.SpriteFrame,displayName:"Normal",tooltip:!1,notify:function(){this._updateState()}},pressedSprite:{default:null,type:cc.SpriteFrame,displayName:"Pressed",tooltip:!1,formerlySerializedAs:"pressedSprite",notify:function(){this._updateState()}},hoverSprite:{default:null,type:cc.SpriteFrame,displayName:"Hover",tooltip:!1,formerlySerializedAs:"hoverSprite",notify:function(){this._updateState()}},disabledSprite:{default:null,type:cc.SpriteFrame,displayName:"Disabled",tooltip:!1,notify:function(){this._updateState()}},target:{default:null,type:cc.Node,tooltip:!1,notify:function(t){this._applyTarget(),this.target!==t&&this._unregisterTargetEvent(t)}},clickEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1}},statics:{Transition:r},__preload:function(){this._applyTarget(),this._updateState()},_resetState:function(){this._pressed=!1,this._hovered=!1;var t=this._getTarget(),e=this.transition,i=this._originalScale;e===r.COLOR&&this.interactable?this._setTargetColor(this.normalColor):e===r.SCALE&&i&&t.setScale(i.x,i.y),this._transitionFinished=!0},onEnable:function(){this.normalSprite&&this.normalSprite.ensureLoadTexture(),this.hoverSprite&&this.hoverSprite.ensureLoadTexture(),this.pressedSprite&&this.pressedSprite.ensureLoadTexture(),this.disabledSprite&&this.disabledSprite.ensureLoadTexture(),this._registerNodeEvent()},onDisable:function(){this._resetState(),this._unregisterNodeEvent()},_getTarget:function(){return this.target?this.target:this.node},_onTargetSpriteFrameChanged:function(t){this.transition===r.SPRITE&&this._setCurrentStateSprite(t.spriteFrame)},_onTargetColorChanged:function(t){this.transition===r.COLOR&&this._setCurrentStateColor(t)},_onTargetScaleChanged:function(){var t=this._getTarget();this._originalScale&&(this.transition!==r.SCALE||this._transitionFinished)&&(this._originalScale.x=t.scaleX,this._originalScale.y=t.scaleY)},_setTargetColor:function(t){var e=this._getTarget();e.color=t,e.opacity=t.a},_getStateColor:function(t){switch(t){case s.NORMAL:return this.normalColor;case s.HOVER:return this.hoverColor;case s.PRESSED:return this.pressedColor;case s.DISABLED:return this.disabledColor}},_getStateSprite:function(t){switch(t){case s.NORMAL:return this.normalSprite;case s.HOVER:return this.hoverSprite;case s.PRESSED:return this.pressedSprite;case s.DISABLED:return this.disabledSprite}},_setCurrentStateColor:function(t){switch(this._getButtonState()){case s.NORMAL:this.normalColor=t;break;case s.HOVER:this.hoverColor=t;break;case s.PRESSED:this.pressedColor=t;break;case s.DISABLED:this.disabledColor=t}},_setCurrentStateSprite:function(t){switch(this._getButtonState()){case s.NORMAL:this.normalSprite=t;break;case s.HOVER:this.hoverSprite=t;break;case s.PRESSED:this.pressedSprite=t;break;case s.DISABLED:this.disabledSprite=t}},update:function(t){var e=this._getTarget();if(!this._transitionFinished&&(this.transition===r.COLOR||this.transition===r.SCALE)){this.time+=t;var i=1;if(this.duration>0&&(i=this.time/this.duration),i>=1&&(i=1),this.transition===r.COLOR){var n=this._fromColor.lerp(this._toColor,i);this._setTargetColor(n)}else this.transition===r.SCALE&&this._originalScale&&(e.scale=this._fromScale.lerp(this._toScale,i));1===i&&(this._transitionFinished=!0)}},_registerNodeEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMove,this),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancel,this),this.node.on(cc.Node.EventType.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.on(cc.Node.EventType.MOUSE_LEAVE,this._onMouseMoveOut,this)},_unregisterNodeEvent:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMove,this),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancel,this),this.node.off(cc.Node.EventType.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.off(cc.Node.EventType.MOUSE_LEAVE,this._onMouseMoveOut,this)},_registerTargetEvent:function(t){t.on(cc.Node.EventType.SCALE_CHANGED,this._onTargetScaleChanged,this)},_unregisterTargetEvent:function(t){t&&t.off(cc.Node.EventType.SCALE_CHANGED,this._onTargetScaleChanged,this)},_getTargetSprite:function(t){var e=null;return t&&(e=t.getComponent(cc.Sprite)),e},_applyTarget:function(){var t=this._getTarget();this._sprite=this._getTargetSprite(t),this._originalScale||(this._originalScale=cc.Vec2.ZERO),this._originalScale.x=t.scaleX,this._originalScale.y=t.scaleY,this._registerTargetEvent(t)},_onTouchBegan:function(t){this.interactable&&this.enabledInHierarchy&&(this._pressed=!0,this._updateState(),t.stopPropagation())},_onTouchMove:function(t){if(this.interactable&&this.enabledInHierarchy&&this._pressed){var e=t.touch,i=this.node._hitTest(e.getLocation()),n=this._getTarget(),a=this._originalScale;if(this.transition===r.SCALE&&a)i?(this._fromScale.x=a.x,this._fromScale.y=a.y,this._toScale.x=a.x*this.zoomScale,this._toScale.y=a.y*this.zoomScale,this._transitionFinished=!1):(this.time=0,this._transitionFinished=!0,n.setScale(a.x,a.y));else{var o=void 0;o=i?s.PRESSED:s.NORMAL,this._applyTransition(o)}t.stopPropagation()}},_onTouchEnded:function(t){this.interactable&&this.enabledInHierarchy&&(this._pressed&&(cc.Component.EventHandler.emitEvents(this.clickEvents,t),this.node.emit("click",this)),this._pressed=!1,this._updateState(),t.stopPropagation())},_onTouchCancel:function(){this.interactable&&this.enabledInHierarchy&&(this._pressed=!1,this._updateState())},_onMouseMoveIn:function(){!this._pressed&&this.interactable&&this.enabledInHierarchy&&(this.transition!==r.SPRITE||this.hoverSprite)&&(this._hovered||(this._hovered=!0,this._updateState()))},_onMouseMoveOut:function(){this._hovered&&(this._hovered=!1,this._updateState())},_updateState:function(){var t=this._getButtonState();this._applyTransition(t),this._updateDisabledState()},_getButtonState:function(){return this.interactable?this._pressed?s.PRESSED:this._hovered?s.HOVER:s.NORMAL:s.DISABLED},_updateColorTransitionImmediately:function(t){var e=this._getStateColor(t);this._setTargetColor(e)},_updateColorTransition:function(t){if(t===s.DISABLED)this._updateColorTransitionImmediately(t);else{var e=this._getTarget(),i=this._getStateColor(t);this._fromColor=e.color.clone(),this._toColor=i,this.time=0,this._transitionFinished=!1}},_updateSpriteTransition:function(t){var e=this._getStateSprite(t);this._sprite&&e&&(this._sprite.spriteFrame=e)},_updateScaleTransition:function(t){t===s.PRESSED?this._zoomUp():this._zoomBack()},_zoomUp:function(){this._originalScale&&(this._fromScale.x=this._originalScale.x,this._fromScale.y=this._originalScale.y,this._toScale.x=this._originalScale.x*this.zoomScale,this._toScale.y=this._originalScale.y*this.zoomScale,this.time=0,this._transitionFinished=!1)},_zoomBack:function(){if(this._originalScale){var t=this._getTarget();this._fromScale.x=t.scaleX,this._fromScale.y=t.scaleY,this._toScale.x=this._originalScale.x,this._toScale.y=this._originalScale.y,this.time=0,this._transitionFinished=!1}},_updateTransition:function(t){t===r.COLOR?this._updateColorTransitionImmediately(s.NORMAL):t===r.SPRITE&&this._updateSpriteTransition(s.NORMAL),this._updateState()},_applyTransition:function(t){var e=this.transition;e===r.COLOR?this._updateColorTransition(t):e===r.SPRITE?this._updateSpriteTransition(t):e===r.SCALE&&this._updateScaleTransition(t)},_resizeNodeToTargetNode:!1,_updateDisabledState:function(){if(this._sprite){if(this.enableAutoGrayEffect&&!(this.transition===r.SPRITE&&this.disabledSprite||this.interactable))return void this._sprite.setState(cc.Sprite.State.GRAY);this._sprite.setState(cc.Sprite.State.NORMAL)}}});cc.Button=e.exports=a}),{"./CCComponent":67}],66:[(function(t,e,i){var n=t("../camera/CCCamera"),r=t("./CCComponent"),s=cc.Class({name:"cc.Canvas",extends:r,editor:!1,resetInEditor:!1,statics:{instance:null},properties:{_designResolution:cc.size(960,640),designResolution:{get:function(){return cc.size(this._designResolution)},set:function(t){this._designResolution.width=t.width,this._designResolution.height=t.height,this.applySettings(),this.alignWithScreen()},tooltip:!1},_fitWidth:!1,_fitHeight:!0,fitHeight:{get:function(){return this._fitHeight},set:function(t){this._fitHeight!==t&&(this._fitHeight=t,this.applySettings(),this.alignWithScreen())},tooltip:!1},fitWidth:{get:function(){return this._fitWidth},set:function(t){this._fitWidth!==t&&(this._fitWidth=t,this.applySettings(),this.alignWithScreen())},tooltip:!1}},ctor:function(){this._thisOnResized=this.alignWithScreen.bind(this)},__preload:function(){if(s.instance)return cc.errorID(6700,this.node.name,s.instance.node.name);s.instance=this,cc.sys.isMobile?window.addEventListener("resize",this._thisOnResized):cc.view.on("canvas-resize",this._thisOnResized),this.applySettings(),this.alignWithScreen();var t=cc.find("Main Camera",this.node);t||((t=new cc.Node("Main Camera")).parent=this.node,t.setSiblingIndex(0));var e=t.getComponent(n);if(!e){e=t.addComponent(n);var i=n.ClearFlags;e.clearFlags=i.COLOR|i.DEPTH|i.STENCIL,e.depth=-1}n.main=e},onDestroy:function(){cc.sys.isMobile?window.removeEventListener("resize",this._thisOnResized):cc.view.off("canvas-resize",this._thisOnResized),s.instance===this&&(s.instance=null)},alignWithScreen:function(){var t,e,i=e=cc.visibleRect;t=cc.view.getDesignResolutionSize();var n=0,r=0;!this.fitHeight&&!this.fitWidth&&(n=.5*(t.width-i.width),r=.5*(t.height-i.height)),this.node.setPosition(.5*i.width+n,.5*i.height+r),this.node.width=e.width,this.node.height=e.height},applySettings:function(){var t,e=cc.ResolutionPolicy;t=this.fitHeight&&this.fitWidth?e.SHOW_ALL:this.fitHeight||this.fitWidth?this.fitWidth?e.FIXED_WIDTH:e.FIXED_HEIGHT:e.NO_BORDER;var i=this._designResolution;cc.view.setDesignResolutionSize(i.width,i.height,t)}});cc.Canvas=e.exports=s}),{"../camera/CCCamera":52,"./CCComponent":67}],67:[(function(t,e,i){var n=t("../platform/CCObject"),r=t("../platform/js"),s=new(t("../platform/id-generater"))("Comp"),a=(n.Flags.IsOnEnableCalled,n.Flags.IsOnLoadCalled),o=cc.Class({name:"cc.Component",extends:n,ctor:function(){this._id=s.getNewId(),this.__eventTargets=[]},properties:{node:{default:null,visible:!1},name:{get:function(){if(this._name)return this._name;var t=cc.js.getClassName(this),e=t.lastIndexOf(".");return e>=0&&(t=t.slice(e+1)),this.node.name+"<"+t+">"},set:function(t){this._name=t},visible:!1},uuid:{get:function(){return this._id},visible:!1},__scriptAsset:!1,_enabled:!0,enabled:{get:function(){return this._enabled},set:function(t){if(this._enabled!==t&&(this._enabled=t,this.node._activeInHierarchy)){var e=cc.director._compScheduler;t?e.enableComp(this):e.disableComp(this)}},visible:!1,animatable:!0},enabledInHierarchy:{get:function(){return this._enabled&&this.node._activeInHierarchy},visible:!1},_isOnLoadCalled:{get:function(){return this._objFlags&a}}},update:null,lateUpdate:null,__preload:null,onLoad:null,start:null,onEnable:null,onDisable:null,onDestroy:null,onFocusInEditor:null,onLostFocusInEditor:null,resetInEditor:null,addComponent:function(t){return this.node.addComponent(t)},getComponent:function(t){return this.node.getComponent(t)},getComponents:function(t){return this.node.getComponents(t)},getComponentInChildren:function(t){return this.node.getComponentInChildren(t)},getComponentsInChildren:function(t){return this.node.getComponentsInChildren(t)},_getLocalBounds:null,onRestore:null,destroy:function(){this._super()&&this._enabled&&this.node._activeInHierarchy&&cc.director._compScheduler.disableComp(this)},_onPreDestroy:function(){this.unscheduleAllCallbacks();for(var t=this.__eventTargets,e=0,i=t.length;e<i;++e){var n=t[e];n&&n.targetOff(this)}t.length=0,cc.director._nodeActivator.destroyComp(this),this.node._removeComponent(this)},_instantiate:function(t){return t||(t=cc.instantiate._clone(this,this)),t.node=null,t},schedule:function(t,e,i,n){cc.assertID(t,1619),cc.assertID(e>=0,1620),e=e||0,i=isNaN(i)?cc.macro.REPEAT_FOREVER:i,n=n||0;var r=cc.director.getScheduler(),s=r.isTargetPaused(this);r.schedule(t,this,e,i,n,s)},scheduleOnce:function(t,e){this.schedule(t,0,0,e)},unschedule:function(t){t&&cc.director.getScheduler().unschedule(t,this)},unscheduleAllCallbacks:function(){cc.director.getScheduler().unscheduleAllForTarget(this)}});o._requireComponent=null,o._executionOrder=0,r.value(o,"_registerEditorProps",(function(t,e){var i=e.requireComponent;i&&(t._requireComponent=i);var n=e.executionOrder;n&&"number"==typeof n&&(t._executionOrder=n)})),o.prototype.__scriptUuid="",cc.Component=e.exports=o}),{"../platform/CCObject":166,"../platform/id-generater":176,"../platform/js":180}],68:[(function(t,e,i){cc.Component.EventHandler=cc.Class({name:"cc.ClickEvent",properties:{target:{default:null,type:cc.Node},component:"",_componentId:"",_componentName:{get:function(){return this._genCompIdIfNeeded(),this._compId2Name(this._componentId)},set:function(t){this._componentId=this._compName2Id(t)}},handler:{default:""},customEventData:{default:""}},statics:{emitEvents:function(t){"use strict";var e=void 0;if(arguments.length>0)for(var i=0,n=(e=new Array(arguments.length-1)).length;i<n;i++)e[i]=arguments[i+1];for(var r=0,s=t.length;r<s;r++){var a=t[r];a instanceof cc.Component.EventHandler&&a.emit(e)}}},emit:function(t){var e=this.target;if(cc.isValid(e)){this._genCompIdIfNeeded();var i=cc.js._getClassById(this._componentId),n=e.getComponent(i);if(cc.isValid(n)){var r=n[this.handler];"function"==typeof r&&(null!=this.customEventData&&""!==this.customEventData&&(t=t.slice()).push(this.customEventData),r.apply(n,t))}}},_compName2Id:function(t){var e=cc.js.getClassByName(t);return cc.js._getClassId(e)},_compId2Name:function(t){var e=cc.js._getClassById(t);return cc.js.getClassName(e)},_genCompIdIfNeeded:function(){this._componentId||(this._componentName=this.component,this.component="")}})}),{}],69:[(function(t,e,i){var n=t("../platform/CCMacro"),r=t("./CCRenderComponent"),s=t("../renderer/render-engine"),a=t("../renderer/render-flow"),o=s.SpriteMaterial,h=t("../renderer/utils/dynamic-atlas/manager"),l=t("../renderer/utils/label/label-frame"),c=n.TextAlignment,u=n.VerticalTextAlignment,_=cc.Enum({NONE:0,CLAMP:1,SHRINK:2,RESIZE_HEIGHT:3}),f=cc.Enum({NONE:0,BITMAP:1,CHAR:2}),m=cc.Class({name:"cc.Label",extends:r,ctor:function(){this._actualFontSize=0,this._assemblerData=null,this._frame=null,this._ttfTexture=null,this._letterTexture=null},editor:!1,properties:{_useOriginalSize:!0,_string:{default:"",formerlySerializedAs:"_N$string"},string:{get:function(){return this._string},set:function(t){var e=this._string;this._string=t.toString(),this.string!==e&&this._updateRenderData(),this._checkStringEmpty()},multiline:!0,tooltip:!1},horizontalAlign:{default:c.LEFT,type:c,tooltip:!1,notify:function(t){this.horizontalAlign!==t&&this._updateRenderData()},animatable:!1},verticalAlign:{default:u.TOP,type:u,tooltip:!1,notify:function(t){this.verticalAlign!==t&&this._updateRenderData()},animatable:!1},actualFontSize:{displayName:"Actual Font Size",animatable:!1,readonly:!0,get:function(){return this._actualFontSize}},_fontSize:40,fontSize:{get:function(){return this._fontSize},set:function(t){this._fontSize!==t&&(this._fontSize=t,this._updateRenderData())},range:[0,512],tooltip:!1},fontFamily:{default:"Arial",tooltip:!1,notify:function(t){this.fontFamily!==t&&this._updateRenderData()},animatable:!1},_lineHeight:40,lineHeight:{get:function(){return this._lineHeight},set:function(t){this._lineHeight!==t&&(this._lineHeight=t,this._updateRenderData())},tooltip:!1},overflow:{default:_.NONE,type:_,tooltip:!1,notify:function(t){this.overflow!==t&&this._updateRenderData()},animatable:!1},_enableWrapText:!0,enableWrapText:{get:function(){return this._enableWrapText},set:function(t){this._enableWrapText!==t&&(this._enableWrapText=t,this._updateRenderData())},animatable:!1,tooltip:!1},_N$file:null,font:{get:function(){return this._N$file},set:function(t){this.font!==t&&(t||(this._isSystemFontUsed=!0),this._N$file=t,t&&this._isSystemFontUsed&&(this._isSystemFontUsed=!1),"string"==typeof t&&cc.warnID(4e3),this._renderData&&(this.destroyRenderData(this._renderData),this._renderData=null),this._fontAtlas=null,this._updateAssembler(),this._applyFontTexture(!0),this._updateRenderData())},type:cc.Font,tooltip:!1,animatable:!1},_isSystemFontUsed:!0,useSystemFont:{get:function(){return this._isSystemFontUsed},set:function(t){this._isSystemFontUsed!==t&&(this.destroyRenderData(this._renderData),this._renderData=null,this._isSystemFontUsed=!!t,t?(this.font=null,this._updateAssembler(),this._updateRenderData(),this._checkStringEmpty()):this._userDefinedFont||this.disableRender())},animatable:!1,tooltip:!1},_bmFontOriginalSize:{displayName:"BMFont Original Size",get:function(){return this._N$file instanceof cc.BitmapFont?this._N$file.fontSize:-1},visible:!0,animatable:!1},_spacingX:0,spacingX:{get:function(){return this._spacingX},set:function(t){this._spacingX=t,this._updateRenderData()}},_batchAsBitmap:!1,cacheMode:{default:f.NONE,type:f,tooltip:!1,notify:function(t){this.cacheMode!==t&&(t!==f.BITMAP||this.font instanceof cc.BitmapFont||this._frame._resetDynamicAtlasFrame(),t===f.CHAR&&(this._ttfTexture=null),this._updateRenderData(!0))},animatable:!1},_isBold:{default:!1,serializable:!1},_isItalic:{default:!1,serializable:!1},_isUnderline:{default:!1,serializable:!1}},statics:{HorizontalAlign:c,VerticalAlign:u,Overflow:_,CacheMode:f},onLoad:function(){this._batchAsBitmap&&this.cacheMode===f.NONE&&(this.cacheMode=f.BITMAP,this._batchAsBitmap=!1)},onEnable:function(){this._super(),this.font||this._isSystemFontUsed||(this.useSystemFont=!0),this.useSystemFont&&!this.fontFamily&&(this.fontFamily="Arial"),this.node.on(cc.Node.EventType.SIZE_CHANGED,this._updateRenderData,this),this.node.on(cc.Node.EventType.ANCHOR_CHANGED,this._updateRenderData,this),this._checkStringEmpty(),this._updateRenderData(!0)},onDisable:function(){this._super(),this.node.off(cc.Node.EventType.SIZE_CHANGED,this._updateRenderData,this),this.node.off(cc.Node.EventType.ANCHOR_CHANGED,this._updateRenderData,this)},onDestroy:function(){this._assembler&&this._assembler._resetAssemblerData&&this._assembler._resetAssemblerData(this._assemblerData),this._assemblerData=null,this._letterTexture=null,this._ttfTexture&&(this._ttfTexture.destroy(),this._ttfTexture=null),this._super()},_canRender:function(){var t=this._super(),e=this.font;if(e instanceof cc.BitmapFont){var i=e.spriteFrame;i&&i.textureLoaded()||(t=!1)}return t},_checkStringEmpty:function(){this.markForRender(!!this.string)},_updateAssembler:function(){var t=m._assembler.getAssembler(this);this._assembler!==t&&(this._assembler=t,this._renderData=null,this._frame=null),this._renderData||(this._renderData=this._assembler.createData(this))},_applyFontTexture:function(t){var e=this,i=this.font;i instanceof cc.BitmapFont?(function(){var n=i.spriteFrame;e._frame=n;var r=e,s=function(){r._frame._texture=n._texture,r._activateMaterial(t),t&&r._assembler&&r._assembler.updateRenderData(r)};n&&n.textureLoaded()?s():(e.disableRender(),n&&(n.once("load",s,e),n.ensureLoadTexture()))})():(this._frame||(this._frame=new l),this.cacheMode===f.CHAR&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_WECHAT_GAME_SUB?(this._letterTexture=this._assembler._getAssemblerData(),this._frame._refreshTexture(this._letterTexture)):this._ttfTexture||(this._ttfTexture=new cc.Texture2D,this._assemblerData=this._assembler._getAssemblerData(),this._ttfTexture.initWithElement(this._assemblerData.canvas)),this.cacheMode!==f.CHAR&&this._frame._refreshTexture(this._ttfTexture),this._activateMaterial(t),t&&this._assembler&&this._assembler.updateRenderData(this))},_updateColor:function(){this.font instanceof cc.BitmapFont?this._super():(this._updateRenderData(),this.node._renderFlag&=~a.FLAG_COLOR)},_activateMaterial:function(t){var e=this._material;e&&!t||(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS?this._frame._texture.url=this.uuid+"_texture":(e||(e=new o),e.texture=this._frame._texture,e.useColor=!1,this._updateMaterial(e)),this.markForUpdateRenderData(!0),this.markForRender(!0))},_updateRenderData:function(t){var e=this._renderData;e&&(e.vertDirty=!0,e.uvDirty=!0,this.markForUpdateRenderData(!0)),t&&(this._updateAssembler(),this._applyFontTexture(t))},_calDynamicAtlas:function(){if(h){if(!this._frame._original){var t=h.insertSpriteFrame(this._frame);t&&this._frame._setDynamicAtlasFrame(t)}this._material._texture!==this._frame._texture&&this._activateMaterial(!0)}},_enableBold:function(t){this._isBold=!!t},_enableItalics:function(t){this._isItalic=!!t},_enableUnderline:function(t){this._isUnderline=!!t}});cc.Label=e.exports=m}),{"../platform/CCMacro":165,"../renderer/render-engine":202,"../renderer/render-flow":203,"../renderer/utils/dynamic-atlas/manager":205,"../renderer/utils/label/label-frame":207,"./CCRenderComponent":77}],70:[(function(t,e,i){var n=cc.Class({name:"cc.LabelOutline",extends:t("./CCComponent"),editor:!1,properties:{_color:cc.color(255,255,255,255),_width:1,color:{get:function(){return this._color},set:function(t){this._color=cc.color(t),this._updateRenderData()}},width:{get:function(){return this._width},set:function(t){this._width=t,this._updateRenderData()}}},onEnable:function(){this._updateRenderData()},onDisable:function(){this._updateRenderData()},_updateRenderData:function(){var t=this.node.getComponent(cc.Label);t&&t._updateRenderData(!0)}});cc.LabelOutline=e.exports=n}),{"./CCComponent":67}],71:[(function(t,e,i){var n=t("../CCNode").EventType,r=cc.Enum({NONE:0,HORIZONTAL:1,VERTICAL:2,GRID:3}),s=cc.Enum({NONE:0,CONTAINER:1,CHILDREN:2}),a=cc.Enum({HORIZONTAL:0,VERTICAL:1}),o=cc.Enum({BOTTOM_TO_TOP:0,TOP_TO_BOTTOM:1}),h=cc.Enum({LEFT_TO_RIGHT:0,RIGHT_TO_LEFT:1}),l=cc.Class({name:"cc.Layout",extends:t("./CCComponent"),editor:!1,properties:{_layoutSize:cc.size(300,200),_layoutDirty:{default:!0,serializable:!1},_resize:s.NONE,_N$layoutType:r.NONE,type:{type:r,get:function(){return this._N$layoutType},set:function(t){this._N$layoutType=t,this._doLayoutDirty()},tooltip:!1,animatable:!1},resizeMode:{type:s,tooltip:!1,animatable:!1,get:function(){return this._resize},set:function(t){this.type===r.NONE&&t===s.CHILDREN||(this._resize=t,this._doLayoutDirty())}},cellSize:{default:cc.size(40,40),tooltip:!1,type:cc.Size,notify:function(){this._doLayoutDirty()}},startAxis:{default:a.HORIZONTAL,tooltip:!1,type:a,notify:function(){this._doLayoutDirty()},animatable:!1},_N$padding:{default:0},paddingLeft:{default:0,tooltip:!1,notify:function(){this._doLayoutDirty()}},paddingRight:{default:0,tooltip:!1,notify:function(){this._doLayoutDirty()}},paddingTop:{default:0,tooltip:!1,notify:function(){this._doLayoutDirty()}},paddingBottom:{default:0,tooltip:!1,notify:function(){this._doLayoutDirty()}},spacingX:{default:0,notify:function(){this._doLayoutDirty()},tooltip:!1},spacingY:{default:0,notify:function(){this._doLayoutDirty()},tooltip:!1},verticalDirection:{default:o.TOP_TO_BOTTOM,type:o,notify:function(){this._doLayoutDirty()},tooltip:!1,animatable:!1},horizontalDirection:{default:h.LEFT_TO_RIGHT,type:h,notify:function(){this._doLayoutDirty()},tooltip:!1,animatable:!1},affectedByScale:{default:!1,notify:function(){this._doLayoutDirty()},animatable:!1,tooltip:!1}},statics:{Type:r,VerticalDirection:o,HorizontalDirection:h,ResizeMode:s,AxisDirection:a},_migratePaddingData:function(){this.paddingLeft=this._N$padding,this.paddingRight=this._N$padding,this.paddingTop=this._N$padding,this.paddingBottom=this._N$padding,this._N$padding=0},onEnable:function(){this._addEventListeners(),this.node.getContentSize().equals(cc.size(0,0))&&this.node.setContentSize(this._layoutSize),0!==this._N$padding&&this._migratePaddingData(),this._doLayoutDirty()},onDisable:function(){this._removeEventListeners()},_doLayoutDirty:function(){this._layoutDirty=!0},_doScaleDirty:function(){this._layoutDirty=this._layoutDirty||this.affectedByScale},_addEventListeners:function(){cc.director.on(cc.Director.EVENT_AFTER_UPDATE,this.updateLayout,this),this.node.on(n.SIZE_CHANGED,this._resized,this),this.node.on(n.ANCHOR_CHANGED,this._doLayoutDirty,this),this.node.on(n.CHILD_ADDED,this._childAdded,this),this.node.on(n.CHILD_REMOVED,this._childRemoved,this),this.node.on(n.CHILD_REORDER,this._doLayoutDirty,this),this._addChildrenEventListeners()},_removeEventListeners:function(){cc.director.off(cc.Director.EVENT_AFTER_UPDATE,this.updateLayout,this),this.node.off(n.SIZE_CHANGED,this._resized,this),this.node.off(n.ANCHOR_CHANGED,this._doLayoutDirty,this),this.node.off(n.CHILD_ADDED,this._childAdded,this),this.node.off(n.CHILD_REMOVED,this._childRemoved,this),this.node.off(n.CHILD_REORDER,this._doLayoutDirty,this),this._removeChildrenEventListeners()},_addChildrenEventListeners:function(){for(var t=this.node.children,e=0;e<t.length;++e){var i=t[e];i.on(n.SCALE_CHANGED,this._doScaleDirty,this),i.on(n.SIZE_CHANGED,this._doLayoutDirty,this),i.on(n.POSITION_CHANGED,this._doLayoutDirty,this),i.on(n.ANCHOR_CHANGED,this._doLayoutDirty,this),i.on("active-in-hierarchy-changed",this._doLayoutDirty,this)}},_removeChildrenEventListeners:function(){for(var t=this.node.children,e=0;e<t.length;++e){var i=t[e];i.off(n.SCALE_CHANGED,this._doScaleDirty,this),i.off(n.SIZE_CHANGED,this._doLayoutDirty,this),i.off(n.POSITION_CHANGED,this._doLayoutDirty,this),i.off(n.ANCHOR_CHANGED,this._doLayoutDirty,this),i.off("active-in-hierarchy-changed",this._doLayoutDirty,this)}},_childAdded:function(t){t.on(n.SCALE_CHANGED,this._doScaleDirty,this),t.on(n.SIZE_CHANGED,this._doLayoutDirty,this),t.on(n.POSITION_CHANGED,this._doLayoutDirty,this),t.on(n.ANCHOR_CHANGED,this._doLayoutDirty,this),t.on("active-in-hierarchy-changed",this._doLayoutDirty,this),this._doLayoutDirty()},_childRemoved:function(t){t.off(n.SCALE_CHANGED,this._doScaleDirty,this),t.off(n.SIZE_CHANGED,this._doLayoutDirty,this),t.off(n.POSITION_CHANGED,this._doLayoutDirty,this),t.off(n.ANCHOR_CHANGED,this._doLayoutDirty,this),t.off("active-in-hierarchy-changed",this._doLayoutDirty,this),this._doLayoutDirty()},_resized:function(){this._layoutSize=this.node.getContentSize(),this._doLayoutDirty()},_doLayoutHorizontally:function(t,e,i,n){var a=this.node.getAnchorPoint(),l=this.node.children,c=1,u=this.paddingLeft,_=-a.x*t;this.horizontalDirection===h.RIGHT_TO_LEFT&&(c=-1,_=(1-a.x)*t,u=this.paddingRight);for(var f=_+c*u-c*this.spacingX,m=0,d=0,p=0,y=0,v=0,g=0,x=0,A=0;A<l.length;++A){(C=l[A]).activeInHierarchy&&x++}var b=this.cellSize.width;this.type!==r.GRID&&this.resizeMode===s.CHILDREN&&(b=(t-(this.paddingLeft+this.paddingRight)-(x-1)*this.spacingX)/x);for(A=0;A<l.length;++A){var C=l[A],S=this._getUsedScaleValue(C.scaleX),T=this._getUsedScaleValue(C.scaleY);if(C.activeInHierarchy){this._resize===s.CHILDREN&&(C.width=b/S,this.type===r.GRID&&(C.height=this.cellSize.height/T));var w=C.anchorX,E=C.width*S,D=C.height*T;p>d&&(d=p),D>=d&&(p=d,d=D,g=C.getAnchorPoint().y),this.horizontalDirection===h.RIGHT_TO_LEFT&&(w=1-C.anchorX),f=f+c*w*E+c*this.spacingX;var M=c*(1-w)*E;if(e){var B=f+M+c*(c>0?this.paddingRight:this.paddingLeft),P=this.horizontalDirection===h.LEFT_TO_RIGHT&&B>(1-a.x)*t,I=this.horizontalDirection===h.RIGHT_TO_LEFT&&B<-a.x*t;(P||I)&&(D>=d?(0===p&&(p=d),m+=p,p=d):(m+=d,p=D,d=0),f=_+c*(u+w*E),y++)}var R=i(C,m,y);t>=E+this.paddingLeft+this.paddingRight&&n&&C.setPosition(cc.v2(f,R));var O,L=1,F=0===d?D:d;this.verticalDirection===o.TOP_TO_BOTTOM?(v=v||this.node._contentSize.height,(O=R+(L=-1)*(F*g+this.paddingBottom))<v&&(v=O)):(v=v||-this.node._contentSize.height,(O=R+L*(F*g+this.paddingTop))>v&&(v=O)),f+=M}}return v},_getVerticalBaseHeight:function(t){var e=0,i=0;if(this.resizeMode===s.CONTAINER){for(var n=0;n<t.length;++n){var r=t[n];r.activeInHierarchy&&(i++,e+=r.height*this._getUsedScaleValue(r.scaleY))}e+=(i-1)*this.spacingY+this.paddingBottom+this.paddingTop}else e=this.node.getContentSize().height;return e},_doLayoutVertically:function(t,e,i,n){var a=this.node.getAnchorPoint(),l=this.node.children,c=1,u=this.paddingBottom,_=-a.y*t;this.verticalDirection===o.TOP_TO_BOTTOM&&(c=-1,_=(1-a.y)*t,u=this.paddingTop);for(var f=_+c*u-c*this.spacingY,m=0,d=0,p=0,y=0,v=0,g=0,x=0,A=0;A<l.length;++A){(C=l[A]).activeInHierarchy&&x++}var b=this.cellSize.height;this.type!==r.GRID&&this.resizeMode===s.CHILDREN&&(b=(t-(this.paddingTop+this.paddingBottom)-(x-1)*this.spacingY)/x);for(A=0;A<l.length;++A){var C=l[A],S=this._getUsedScaleValue(C.scaleX),T=this._getUsedScaleValue(C.scaleY);if(C.activeInHierarchy){this.resizeMode===s.CHILDREN&&(C.height=b/T,this.type===r.GRID&&(C.width=this.cellSize.width/S));var w=C.anchorY,E=C.width*S,D=C.height*T;p>d&&(d=p),E>=d&&(p=d,d=E,g=C.getAnchorPoint().x),this.verticalDirection===o.TOP_TO_BOTTOM&&(w=1-C.anchorY),f=f+c*w*D+c*this.spacingY;var M=c*(1-w)*D;if(e){var B=f+M+c*(c>0?this.paddingTop:this.paddingBottom),P=this.verticalDirection===o.BOTTOM_TO_TOP&&B>(1-a.y)*t,I=this.verticalDirection===o.TOP_TO_BOTTOM&&B<-a.y*t;(P||I)&&(E>=d?(0===p&&(p=d),m+=p,p=d):(m+=d,p=E,d=0),f=_+c*(u+w*D),y++)}var R=i(C,m,y);t>=D+(this.paddingTop+this.paddingBottom)&&n&&C.setPosition(cc.v2(R,f));var O,L=1,F=0===d?E:d;this.horizontalDirection===h.RIGHT_TO_LEFT?(L=-1,v=v||this.node._contentSize.width,(O=R+L*(F*g+this.paddingLeft))<v&&(v=O)):(v=v||-this.node._contentSize.width,(O=R+L*(F*g+this.paddingRight))>v&&(v=O)),f+=M}}return v},_doLayoutBasic:function(){for(var t=this.node.children,e=null,i=0;i<t.length;++i){var n=t[i];n.activeInHierarchy&&(e?e.union(e,n.getBoundingBoxToWorld()):e=n.getBoundingBoxToWorld())}if(e){var r=this.node.parent.convertToNodeSpaceAR(cc.v2(e.x,e.y));r=cc.v2(r.x-this.paddingLeft,r.y-this.paddingBottom);var s=this.node.parent.convertToNodeSpaceAR(cc.v2(e.x+e.width,e.y+e.height));s=cc.v2(s.x+this.paddingRight,s.y+this.paddingTop);var a=cc.size(parseFloat((s.x-r.x).toFixed(2)),parseFloat((s.y-r.y).toFixed(2))),o=this.node.getPosition();if(0!==a.width){var h=(o.x-r.x)/a.width;this.node.anchorX=parseFloat(h.toFixed(2))}if(0!==a.height){var l=(o.y-r.y)/a.height;this.node.anchorY=parseFloat(l.toFixed(2))}this.node.setContentSize(a)}},_doLayoutGridAxisHorizontal:function(t,e){var i=e.width,n=1,r=-t.y*e.height,a=this.paddingBottom;this.verticalDirection===o.TOP_TO_BOTTOM&&(n=-1,r=(1-t.y)*e.height,a=this.paddingTop);var h=function(t,e,i){return r+n*(e+t.anchorY*t.height*this._getUsedScaleValue(t.scaleY)+a+i*this.spacingY)}.bind(this),l=0;if(this.resizeMode===s.CONTAINER){var c=this._doLayoutHorizontally(i,!0,h,!1);(l=r-c)<0&&(l*=-1),r=-t.y*l,this.verticalDirection===o.TOP_TO_BOTTOM&&(n=-1,r=(1-t.y)*l)}this._doLayoutHorizontally(i,!0,h,!0),this.resizeMode===s.CONTAINER&&this.node.setContentSize(i,l)},_doLayoutGridAxisVertical:function(t,e){var i=e.height,n=1,r=-t.x*e.width,a=this.paddingLeft;this.horizontalDirection===h.RIGHT_TO_LEFT&&(n=-1,r=(1-t.x)*e.width,a=this.paddingRight);var o=function(t,e,i){return r+n*(e+t.anchorX*t.width*this._getUsedScaleValue(t.scaleX)+a+i*this.spacingX)}.bind(this),l=0;if(this.resizeMode===s.CONTAINER){var c=this._doLayoutVertically(i,!0,o,!1);(l=r-c)<0&&(l*=-1),r=-t.x*l,this.horizontalDirection===h.RIGHT_TO_LEFT&&(n=-1,r=(1-t.x)*l)}this._doLayoutVertically(i,!0,o,!0),this.resizeMode===s.CONTAINER&&this.node.setContentSize(l,i)},_doLayoutGrid:function(){var t=this.node.getAnchorPoint(),e=this.node.getContentSize();this.startAxis===a.HORIZONTAL?this._doLayoutGridAxisHorizontal(t,e):this.startAxis===a.VERTICAL&&this._doLayoutGridAxisVertical(t,e)},_getHorizontalBaseWidth:function(t){var e=0,i=0;if(this.resizeMode===s.CONTAINER){for(var n=0;n<t.length;++n){var r=t[n];r.activeInHierarchy&&(i++,e+=r.width*this._getUsedScaleValue(r.scaleX))}e+=(i-1)*this.spacingX+this.paddingLeft+this.paddingRight}else e=this.node.getContentSize().width;return e},_doLayout:function(){if(this.type===r.HORIZONTAL){var t=this._getHorizontalBaseWidth(this.node.children);this._doLayoutHorizontally(t,!1,(function(t){return t.y}),!0),this.node.width=t}else if(this.type===r.VERTICAL){var e=this._getVerticalBaseHeight(this.node.children);this._doLayoutVertically(e,!1,(function(t){return t.x}),!0),this.node.height=e}else this.type===r.NONE?this.resizeMode===s.CONTAINER&&this._doLayoutBasic():this.type===r.GRID&&this._doLayoutGrid()},_getUsedScaleValue:function(t){return this.affectedByScale?Math.abs(t):1},updateLayout:function(){this._layoutDirty&&this.node.children.length>0&&(this._doLayout(),this._layoutDirty=!1)}});Object.defineProperty(l.prototype,"padding",{get:function(){return cc.warnID(4100),this.paddingLeft},set:function(t){this._N$padding=t,this._migratePaddingData(),this._doLayoutDirty()}}),cc.Layout=e.exports=l}),{"../CCNode":29,"./CCComponent":67}],72:[(function(t,e,i){var n=t("../utils/misc"),r=t("../renderer/render-engine"),s=r.math,a=r.StencilMaterial,o=t("./CCRenderComponent"),h=t("../renderer/render-flow"),l=t("../graphics/graphics"),c=t("../CCNode"),u=t("../renderer/utils/dynamic-atlas/manager"),_=cc.v2(),f=s.mat4.create(),m=[];var d=cc.Enum({RECT:0,ELLIPSE:1,IMAGE_STENCIL:2}),p=cc.Class({name:"cc.Mask",extends:o,editor:!1,ctor:function(){this._graphics=null,this._clearGraphics=null},properties:{_spriteFrame:{default:null,type:cc.SpriteFrame},_type:d.RECT,type:{get:function(){return this._type},set:function(t){this._type=t,this._type!==d.IMAGE_STENCIL&&(this.spriteFrame=null,this.alphaThreshold=0,this._updateGraphics()),this._renderData&&(this.destroyRenderData(this._renderData),this._renderData=null),this._activateMaterial()},type:d,tooltip:!1},spriteFrame:{type:cc.SpriteFrame,tooltip:!1,get:function(){return this._spriteFrame},set:function(t){var e=this._spriteFrame;e!==t&&(this._spriteFrame=t,this._applySpriteFrame(e))}},alphaThreshold:{default:0,type:cc.Float,range:[0,1,.1],slide:!0,tooltip:!1,notify:function(){cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS?this._material&&(this._material.alphaThreshold=this.alphaThreshold,this._material.updateHash()):cc.warnID(4201)}},inverted:{default:!1,type:cc.Boolean,tooltip:!1,notify:function(){cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS||cc.warnID(4202)}},_segments:64,segements:{get:function(){return this._segments},set:function(t){this._segments=n.clampf(t,3,1e4),this._updateGraphics()},type:cc.Integer,tooltip:!1},_resizeToTarget:{animatable:!1,set:function(t){t&&this._resizeNodeToTargetNode()}}},statics:{Type:d},onLoad:function(){this._createGraphics()},onRestore:function(){this._createGraphics(),this._type!==d.IMAGE_STENCIL?this._updateGraphics():this._applySpriteFrame()},onEnable:function(){this._super(),this._type===d.IMAGE_STENCIL?this._spriteFrame&&this._spriteFrame.textureLoaded()||(this.markForRender(!1),this._spriteFrame&&(this.markForUpdateRenderData(!1),this._spriteFrame.once("load",this._onTextureLoaded,this),this._spriteFrame.ensureLoadTexture())):this._updateGraphics(),this.node.on(cc.Node.EventType.POSITION_CHANGED,this._updateGraphics,this),this.node.on(cc.Node.EventType.ROTATION_CHANGED,this._updateGraphics,this),this.node.on(cc.Node.EventType.SCALE_CHANGED,this._updateGraphics,this),this.node.on(cc.Node.EventType.SIZE_CHANGED,this._updateGraphics,this),this.node.on(cc.Node.EventType.ANCHOR_CHANGED,this._updateGraphics,this),this.node._renderFlag|=h.FLAG_POST_RENDER,this._activateMaterial()},onDisable:function(){this._super(),this.node.off(cc.Node.EventType.POSITION_CHANGED,this._updateGraphics,this),this.node.off(cc.Node.EventType.ROTATION_CHANGED,this._updateGraphics,this),this.node.off(cc.Node.EventType.SCALE_CHANGED,this._updateGraphics,this),this.node.off(cc.Node.EventType.SIZE_CHANGED,this._updateGraphics,this),this.node.off(cc.Node.EventType.ANCHOR_CHANGED,this._updateGraphics,this),this.node._renderFlag&=~h.FLAG_POST_RENDER},onDestroy:function(){this._super(),this._removeGraphics()},_resizeNodeToTargetNode:!1,_onTextureLoaded:function(){this._renderData&&(this._renderData.uvDirty=!0,this._renderData.vertDirty=!0,this.markForUpdateRenderData(!0)),this.enabledInHierarchy&&this._activateMaterial()},_applySpriteFrame:function(t){t&&t.off&&t.off("load",this._onTextureLoaded,this);var e=this._spriteFrame;e?e.textureLoaded()?this._onTextureLoaded(null):(e.once("load",this._onTextureLoaded,this),e.ensureLoadTexture()):this.disableRender()},_activateMaterial:function(){if(this._type!==d.IMAGE_STENCIL||this.spriteFrame&&this.spriteFrame.textureLoaded()){if(cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS)if(this._material||(this._material=new a),this._type===d.IMAGE_STENCIL){var t=this.spriteFrame.getTexture();this._material.useModel=!1,this._material.useTexture=!0,this._material.useColor=!0,this._material.texture=t,this._material.alphaThreshold=this.alphaThreshold}else this._material.useModel=!0,this._material.useTexture=!1,this._material.useColor=!1;this.markForRender(!0)}else this.markForRender(!1)},_createGraphics:function(){this._graphics||(this._graphics=new l,this._graphics.node=this.node,this._graphics.lineWidth=0,this._graphics.strokeColor=cc.color(0,0,0,0)),this._clearGraphics||(this._clearGraphics=new l,this._clearGraphics.node=new c,this._clearGraphics._activateMaterial(),this._clearGraphics.lineWidth=0,this._clearGraphics.rect(0,0,cc.visibleRect.width,cc.visibleRect.height),this._clearGraphics.fill())},_updateGraphics:function(){var t=this.node,e=this._graphics;e.clear(!1);var i=t._contentSize.width,n=t._contentSize.height,r=-i*t._anchorPoint.x,s=-n*t._anchorPoint.y;if(this._type===d.RECT)e.rect(r,s,i,n);else if(this._type===d.ELLIPSE){for(var a=(function(t,e,i){m.length=0;for(var n=2*Math.PI/i,r=0;r<i;++r)m.push(cc.v2(e.x*Math.cos(n*r)+t.x,e.y*Math.sin(n*r)+t.y));return m})(cc.v2(r+i/2,s+n/2),{x:i/2,y:n/2},this._segments),o=0;o<a.length;++o){var h=a[o];0===o?e.moveTo(h.x,h.y):e.lineTo(h.x,h.y)}e.close()}cc.game.renderType===cc.game.RENDER_TYPE_CANVAS?e.stroke():e.fill()},_removeGraphics:function(){this._graphics&&this._graphics.destroy(),this._clearGraphics&&this._clearGraphics.destroy()},_hitTest:function(t){var e=this.node,i=e.getContentSize(),n=i.width,r=i.height,a=_;e._updateWorldMatrix(),s.mat4.invert(f,e._worldMatrix),s.vec2.transformMat4(a,t,f),a.x+=e._anchorPoint.x*n,a.y+=e._anchorPoint.y*r;var o=!1;if(this.type===d.RECT||this.type===d.IMAGE_STENCIL)o=a.x>=0&&a.y>=0&&a.x<=n&&a.y<=r;else if(this.type===d.ELLIPSE){var h=n/2,l=r/2,c=a.x-.5*n,u=a.y-.5*r;o=c*c/(h*h)+u*u/(l*l)<1}return this.inverted&&(o=!o),o},markForUpdateRenderData:function(t){t&&this.enabledInHierarchy?this.node._renderFlag|=h.FLAG_UPDATE_RENDER_DATA:t||(this.node._renderFlag&=~h.FLAG_UPDATE_RENDER_DATA)},markForRender:function(t){t&&this.enabledInHierarchy?this.node._renderFlag|=h.FLAG_RENDER|h.FLAG_UPDATE_RENDER_DATA|h.FLAG_POST_RENDER:t||(this.node._renderFlag&=~(h.FLAG_RENDER|h.FLAG_POST_RENDER))},disableRender:function(){this.node._renderFlag&=~(h.FLAG_RENDER|h.FLAG_UPDATE_RENDER_DATA|h.FLAG_POST_RENDER)},_calDynamicAtlas:function(){if(this._spriteFrame){if(!this._spriteFrame._original&&u){var t=u.insertSpriteFrame(this._spriteFrame);t&&this._spriteFrame._setDynamicAtlasFrame(t)}this._material._texture!==this._spriteFrame._texture&&this._activateMaterial()}}});cc.Mask=e.exports=p}),{"../CCNode":29,"../graphics/graphics":106,"../renderer/render-engine":202,"../renderer/render-flow":203,"../renderer/utils/dynamic-atlas/manager":205,"../utils/misc":242,"./CCRenderComponent":77}],73:[(function(t,e,i){var n=t("../components/CCRenderComponent"),r=t("../renderer/render-engine").SpriteMaterial,s=t("../utils/texture-util"),a=cc.Class({name:"cc.MotionStreak",extends:n,editor:!1,ctor:function(){this._points=[]},properties:{preview:{default:!1,editorOnly:!0,notify:!1,animatable:!1},_fadeTime:1,fadeTime:{get:function(){return this._fadeTime},set:function(t){this._fadeTime=t,this.reset()},animatable:!1,tooltip:!1},_minSeg:1,minSeg:{get:function(){return this._minSeg},set:function(t){this._minSeg=t},animatable:!1,tooltip:!1},_stroke:64,stroke:{get:function(){return this._stroke},set:function(t){this._stroke=t},animatable:!1,tooltip:!1},_texture:{default:null,type:cc.Texture2D},texture:{get:function(){return this._texture},set:function(t){this._texture!==t&&(this._texture=t,t&&t.loaded?this._activateMaterial():(this.disableRender(),this._ensureLoadTexture()))},type:cc.Texture2D,animatable:!1,tooltip:!1},_color:cc.Color.WHITE,color:{get:function(){return this._color},set:function(t){this._color=t},type:cc.Color,tooltip:!1},_fastMode:!1,fastMode:{get:function(){return this._fastMode},set:function(t){this._fastMode=t},animatable:!1,tooltip:!1}},onEnable:function(){this._super(),this._texture&&this._texture.loaded?this._activateMaterial():(this.disableRender(),this._ensureLoadTexture()),this.reset()},_ensureLoadTexture:function(){var t=this;this._texture&&!this._texture.loaded&&(function(){var e=t;s.postLoadTexture(t._texture,(function(){e._activateMaterial()}))})()},_activateMaterial:function(){var t=this._material;t||((t=this._material=new r).useColor=!1),this._texture&&this._texture.loaded&&(t.texture=this._texture,this._updateMaterial(t),this.markForRender(!0),this.markForUpdateRenderData(!0))},onFocusInEditor:!1,onLostFocusInEditor:!1,reset:function(){this._points.length=0;var t=this._renderData;t&&(t.dataLength=0,t.vertexCount=0,t.indiceCount=0)}});cc.MotionStreak=e.exports=a}),{"../components/CCRenderComponent":77,"../renderer/render-engine":202,"../utils/texture-util":250}],74:[(function(t,e,i){var n=cc.Enum({Unified:0,Free:1}),r=cc.Enum({Horizontal:0,Vertical:1}),s=cc.Enum({PAGE_TURNING:0}),a=cc.Class({name:"cc.PageView",extends:cc.ScrollView,editor:!1,ctor:function(){this._curPageIdx=0,this._lastPageIdx=0,this._pages=[],this._scrollCenterOffsetX=[],this._scrollCenterOffsetY=[]},properties:{sizeMode:{default:n.Unified,type:n,tooltip:!1,notify:function(){this._syncSizeMode()}},direction:{default:r.Horizontal,type:r,tooltip:!1,notify:function(){this._syncScrollDirection()}},scrollThreshold:{default:.5,type:cc.Float,slide:!0,range:[0,1,.01],tooltip:!1},autoPageTurningThreshold:{default:100,type:cc.Float,tooltip:!1},pageTurningEventTiming:{default:.1,type:cc.Float,range:[0,1,.01],tooltip:!1},indicator:{default:null,type:cc.PageViewIndicator,tooltip:!1,notify:function(){this.indicator&&this.indicator.setPageView(this)}},pageTurningSpeed:{default:.3,type:cc.Float,tooltip:!1},pageEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1}},statics:{SizeMode:n,Direction:r,EventType:s},__preload:function(){this.node.on(cc.Node.EventType.SIZE_CHANGED,this._updateAllPagesSize,this)},onEnable:function(){this._super(),this.node.on("scroll-ended-with-threshold",this._dispatchPageTurningEvent,this)},onDisable:function(){this._super(),this.node.off("scroll-ended-with-threshold",this._dispatchPageTurningEvent,this)},onLoad:function(){this._initPages(),this.indicator&&this.indicator.setPageView(this)},onDestroy:function(){this.node.off(cc.Node.EventType.SIZE_CHANGED,this._updateAllPagesSize,this)},getCurrentPageIndex:function(){return this._curPageIdx},setCurrentPageIndex:function(t){this.scrollToPage(t,!0)},getPages:function(){return this._pages},addPage:function(t){t&&-1===this._pages.indexOf(t)&&this.content&&(this.content.addChild(t),this._pages.push(t),this._updatePageView())},insertPage:function(t,e){e<0||!t||-1!==this._pages.indexOf(t)||!this.content||(e>=this._pages.length?this.addPage(t):(this._pages.splice(e,0,t),this.content.addChild(t),this._updatePageView()))},removePage:function(t){if(t&&this.content){var e=this._pages.indexOf(t);-1!==e?this.removePageAtIndex(e):cc.warnID(4300,t.name)}},removePageAtIndex:function(t){var e=this._pages;if(!(t<0||t>=e.length)){var i=e[t];i&&(this.content.removeChild(i),e.splice(t,1),this._updatePageView())}},removeAllPages:function(){if(this.content){for(var t=this._pages,e=0,i=t.length;e<i;e++)this.content.removeChild(t[e]);this._pages.length=0,this._updatePageView()}},scrollToPage:function(t,e){t<0||t>=this._pages.length||(e=void 0!==e?e:.3,this._curPageIdx=t,this.scrollToOffset(this._moveOffsetValue(t),e,!0),this.indicator&&this.indicator._changedState())},getScrollEndedEventTiming:function(){return this.pageTurningEventTiming},_syncScrollDirection:function(){this.horizontal=this.direction===r.Horizontal,this.vertical=this.direction===r.Vertical},_syncSizeMode:function(){if(this.content){var t=this.content.getComponent(cc.Layout);if(t){if(0===this._pages.length)t.padding=0;else{var e=this._pages[this._pages.length-1];this.sizeMode===n.Free&&(this.direction===r.Horizontal?(t.paddingLeft=(this._view.width-this._pages[0].width)/2,t.paddingRight=(this._view.width-e.width)/2):this.direction===r.Vertical&&(t.paddingTop=(this._view.height-this._pages[0].height)/2,t.paddingBottom=(this._view.height-e.height)/2))}t.updateLayout()}}},_updatePageView:function(){var t=this._pages.length;this._curPageIdx>=t&&(this._curPageIdx=0===t?0:t-1,this._lastPageIdx=this._curPageIdx);for(var e=0;e<t;++e)this._pages[e].setSiblingIndex(e),this.direction===r.Horizontal?this._scrollCenterOffsetX[e]=Math.abs(this.content.x+this._pages[e].x):this._scrollCenterOffsetY[e]=Math.abs(this.content.y+this._pages[e].y);var i=this.content.getComponent(cc.Layout);i&&i.enabled&&i.updateLayout(),this.indicator&&this.indicator._refresh()},_updateAllPagesSize:function(){if(this.sizeMode===n.Unified)for(var t=this._pages,e=this._view.getContentSize(),i=0,r=t.length;i<r;i++)t[i].setContentSize(e)},_initPages:function(){if(this.content){for(var t=this.content.children,e=0;e<t.length;++e){var i=t[e];this._pages.indexOf(i)>=0||this._pages.push(i)}this._syncScrollDirection(),this._syncSizeMode(),this._updatePageView()}},_dispatchPageTurningEvent:function(){this._lastPageIdx!==this._curPageIdx&&(this._lastPageIdx=this._curPageIdx,cc.Component.EventHandler.emitEvents(this.pageEvents,this,s.PAGE_TURNING),this.node.emit("page-turning",this))},_isScrollable:function(t,e,i){if(this.sizeMode===n.Free){var s,a;if(this.direction===r.Horizontal)return s=this._scrollCenterOffsetX[e],a=this._scrollCenterOffsetX[i],Math.abs(t.x)>=Math.abs(s-a)*this.scrollThreshold;if(this.direction===r.Vertical)return s=this._scrollCenterOffsetY[e],a=this._scrollCenterOffsetY[i],Math.abs(t.y)>=Math.abs(s-a)*this.scrollThreshold}else{if(this.direction===r.Horizontal)return Math.abs(t.x)>=this._view.width*this.scrollThreshold;if(this.direction===r.Vertical)return Math.abs(t.y)>=this._view.height*this.scrollThreshold}},_isQuicklyScrollable:function(t){if(this.direction===r.Horizontal){if(Math.abs(t.x)>this.autoPageTurningThreshold)return!0}else if(this.direction===r.Vertical&&Math.abs(t.y)>this.autoPageTurningThreshold)return!0;return!1},_moveOffsetValue:function(t){var e=cc.v2(0,0);return this.sizeMode===n.Free?this.direction===r.Horizontal?e.x=this._scrollCenterOffsetX[t]:this.direction===r.Vertical&&(e.y=this._scrollCenterOffsetY[t]):this.direction===r.Horizontal?e.x=t*this._view.width:this.direction===r.Vertical&&(e.y=t*this._view.height),e},_getDragDirection:function(t){return this.direction===r.Horizontal?0===t.x?0:t.x>0?1:-1:this.direction===r.Vertical?0===t.y?0:t.y<0?1:-1:void 0},_handleReleaseLogic:function(t){this._autoScrollToPage(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent("scroll-ended"))},_autoScrollToPage:function(){var t=this._startBounceBackIfNeeded(),e=this._touchBeganPosition.sub(this._touchEndPosition);if(t){var i=this._getDragDirection(e);if(0===i)return;this._curPageIdx=i>0?this._pages.length-1:0,this.indicator&&this.indicator._changedState()}else{var n=this._curPageIdx,r=n+this._getDragDirection(e),s=this.pageTurningSpeed*Math.abs(n-r);if(r<this._pages.length){if(this._isScrollable(e,n,r))return void this.scrollToPage(r,s);var a=this._calculateTouchMoveVelocity();if(this._isQuicklyScrollable(a))return void this.scrollToPage(r,s)}this.scrollToPage(n,s)}},_onTouchBegan:function(t,e){this._touchBeganPosition=t.touch.getLocation(),this._super(t,e)},_onTouchMoved:function(t,e){this._super(t,e)},_onTouchEnded:function(t,e){this._touchEndPosition=t.touch.getLocation(),this._super(t,e)},_onTouchCancelled:function(t,e){this._touchEndPosition=t.touch.getLocation(),this._super(t,e)},_onMouseWheel:function(){}});cc.PageView=e.exports=a}),{}],75:[(function(t,e,i){var n=cc.Enum({HORIZONTAL:0,VERTICAL:1}),r=cc.Class({name:"cc.PageViewIndicator",extends:t("./CCComponent"),editor:!1,properties:{_layout:null,_pageView:null,_indicators:[],spriteFrame:{default:null,type:cc.SpriteFrame,tooltip:!1},direction:{default:n.HORIZONTAL,type:n,tooltip:!1},cellSize:{default:cc.size(20,20),tooltip:!1},spacing:{default:0,tooltip:!1}},statics:{Direction:n},onLoad:function(){this._updateLayout()},setPageView:function(t){this._pageView=t,this._refresh()},_updateLayout:function(){this._layout=this.getComponent(cc.Layout),this._layout||(this._layout=this.addComponent(cc.Layout)),this.direction===n.HORIZONTAL?(this._layout.type=cc.Layout.Type.HORIZONTAL,this._layout.spacingX=this.spacing):this.direction===n.VERTICAL&&(this._layout.type=cc.Layout.Type.VERTICAL,this._layout.spacingY=this.spacing),this._layout.resizeMode=cc.Layout.ResizeMode.CONTAINER},_createIndicator:function(){var t=new cc.Node;return t.addComponent(cc.Sprite).spriteFrame=this.spriteFrame,t.parent=this.node,t.width=this.cellSize.width,t.height=this.cellSize.height,t},_changedState:function(){var t=this._indicators;if(0!==t.length){var e=this._pageView._curPageIdx;if(!(e>=t.length)){for(var i=0;i<t.length;++i){t[i].opacity=127.5}t[e].opacity=255}}},_refresh:function(){if(this._pageView){var t=this._indicators,e=this._pageView.getPages();if(e.length!==t.length){var i=0;if(e.length>t.length)for(i=0;i<e.length;++i)t[i]||(t[i]=this._createIndicator());else for(i=t.length-e.length;i>0;--i){var n=t[i-1];this.node.removeChild(n),t.splice(i-1,1)}this._layout&&this._layout.enabledInHierarchy&&this._layout.updateLayout(),this._changedState()}}}});cc.PageViewIndicator=e.exports=r}),{"./CCComponent":67}],76:[(function(t,e,i){var n=t("../utils/misc"),r=t("./CCComponent"),s=cc.Enum({HORIZONTAL:0,VERTICAL:1,FILLED:2}),a=cc.Class({name:"cc.ProgressBar",extends:r,editor:!1,_initBarSprite:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e=this.node.getContentSize(),i=this.node.getAnchorPoint(),n=t.getContentSize();t.parent===this.node&&this.node.setContentSize(n),this.barSprite.fillType===cc.Sprite.FillType.RADIAL&&(this.mode=s.FILLED);var r=t.getContentSize();if(this.mode===s.HORIZONTAL?this.totalLength=r.width:this.mode===s.VERTICAL?this.totalLength=r.height:this.totalLength=this.barSprite.fillRange,t.parent===this.node){var a=-e.width*i.x;t.setPosition(cc.v2(a,0))}}},_updateBarStatus:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e,i,r,a=t.getAnchorPoint(),o=t.getContentSize(),h=t.getPosition(),l=cc.v2(0,.5),c=n.clamp01(this.progress),u=this.totalLength*c;switch(this.mode){case s.HORIZONTAL:this.reverse&&(l=cc.v2(1,.5)),e=cc.size(u,o.height),i=this.totalLength,r=o.height;break;case s.VERTICAL:l=this.reverse?cc.v2(.5,1):cc.v2(.5,0),e=cc.size(o.width,u),i=o.width,r=this.totalLength}if(this.mode===s.FILLED)this.barSprite.type!==cc.Sprite.Type.FILLED?cc.warn("ProgressBar FILLED mode only works when barSprite's Type is FILLED!"):(this.reverse&&(u*=-1),this.barSprite.fillRange=u);else if(this.barSprite.type!==cc.Sprite.Type.FILLED){var _=l.x-a.x,f=l.y-a.y,m=cc.v2(i*_,r*f);t.setPosition(h.x+m.x,h.y+m.y),t.setAnchorPoint(l),t.setContentSize(e)}else cc.warn("ProgressBar non-FILLED mode only works when barSprite's Type is non-FILLED!")}},properties:{barSprite:{default:null,type:cc.Sprite,tooltip:!1,notify:function(){this._initBarSprite()},animatable:!1},mode:{default:s.HORIZONTAL,type:s,tooltip:!1,notify:function(){if(this.barSprite){var t=this.barSprite.node;if(!t)return;var e=t.getContentSize();this.mode===s.HORIZONTAL?this.totalLength=e.width:this.mode===s.VERTICAL?this.totalLength=e.height:this.mode===s.FILLED&&(this.totalLength=this.barSprite.fillRange)}},animatable:!1},_N$totalLength:1,totalLength:{range:[0,Number.MAX_VALUE],tooltip:!1,get:function(){return this._N$totalLength},set:function(t){this.mode===s.FILLED&&(t=n.clamp01(t)),this._N$totalLength=t,this._updateBarStatus()}},progress:{default:1,type:"Float",range:[0,1,.1],slide:!0,tooltip:!1,notify:function(){this._updateBarStatus()}},reverse:{default:!1,tooltip:!1,notify:function(){this.barSprite&&(this.barSprite.fillStart=1-this.barSprite.fillStart),this._updateBarStatus()},animatable:!1}},statics:{Mode:s}});cc.ProgressBar=e.exports=a}),{"../utils/misc":242,"./CCComponent":67}],77:[(function(t,e,i){var n=t("./CCComponent"),r=t("../renderer/render-engine"),s=t("../renderer/render-flow"),a=r.RenderData,o=cc.Class({name:"RenderComponent",extends:n,editor:!1,properties:{},ctor:function(){this._material=null,this._renderData=null,this.__allocedDatas=[],this._vertexFormat=null,this._toPostHandle=!1,this._assembler=this.constructor._assembler,this._postAssembler=this.constructor._postAssembler},onEnable:function(){this.node._renderComponent&&(this.node._renderComponent.enabled=!1),this.node._renderComponent=this,this.node._renderFlag|=s.FLAG_RENDER|s.FLAG_UPDATE_RENDER_DATA|s.FLAG_COLOR},onDisable:function(){this.node._renderComponent=null,this.disableRender()},onDestroy:function(){for(var t=0,e=this.__allocedDatas.length;t<e;t++)a.free(this.__allocedDatas[t]);this.__allocedDatas.length=0,this._material=null,this._renderData=null},_canRender:function(){return this._enabled&&this.node._activeInHierarchy},markForUpdateRenderData:function(t){t&&this._canRender()?this.node._renderFlag|=s.FLAG_UPDATE_RENDER_DATA:t||(this.node._renderFlag&=~s.FLAG_UPDATE_RENDER_DATA)},markForRender:function(t){t&&this._canRender()?this.node._renderFlag|=s.FLAG_RENDER:t||(this.node._renderFlag&=~s.FLAG_RENDER)},markForCustomIARender:function(t){t&&this._canRender()?this.node._renderFlag|=s.FLAG_CUSTOM_IA_RENDER:t||(this.node._renderFlag&=~s.FLAG_CUSTOM_IA_RENDER)},disableRender:function(){this.node._renderFlag&=~(s.FLAG_RENDER|s.FLAG_CUSTOM_IA_RENDER|s.FLAG_UPDATE_RENDER_DATA|s.FLAG_COLOR)},requestRenderData:function(){var t=a.alloc();return this.__allocedDatas.push(t),t},destroyRenderData:function(t){var e=this.__allocedDatas.indexOf(t);-1!==e&&(this.__allocedDatas.splice(e,1),a.free(t))},_updateColor:function(){var t=this._material;t&&(t.useColor&&(t.color=this.node.color,t.updateHash()),this.node._renderFlag&=~s.FLAG_COLOR)},getMaterial:function(){return this._material},_updateMaterial:function(t){this._material=t,t.updateHash()}});o._assembler=null,o._postAssembler=null,cc.RenderComponent=e.exports=o}),{"../renderer/render-engine":202,"../renderer/render-flow":203,"./CCComponent":67}],78:[(function(t,e,i){var n=t("../platform/js"),r=t("../platform/CCMacro"),s=t("../utils/text-utils"),a=new(t("../utils/html-text-parser")),o=r.TextAlignment,h=r.VerticalTextAlignment,l="RICHTEXT_CHILD",c="RICHTEXT_Image_CHILD";var u=new n.Pool(function(t){return!!cc.isValid(t)&&!t.getComponent(cc.LabelOutline)},20);u.get=function(t,e){var i=this._get();i||(i=new cc.PrivateNode(l));var n=i.getComponent(cc.Label);return n||(n=i.addComponent(cc.Label)),i.setPosition(0,0),i.setAnchorPoint(.5,.5),i.setContentSize(128,128),i.skewX=0,"string"!=typeof t&&(t=""+t),e.font instanceof cc.Font?n.font=e.font:n.fontFamily=e.fontFamily,n.string=t,n.horizontalAlign=o.LEFT,n.verticalAlign=h.TOP,n.fontSize=e.fontSize||40,n.overflow=0,n.enableWrapText=!0,n.lineHeight=40,n._enableBold(!1),n._enableItalics(!1),n._enableUnderline(!1),i};var _=cc.Class({name:"cc.RichText",extends:cc.Component,ctor:function(){this._textArray=null,this._labelSegments=[],this._labelSegmentsCache=[],this._linesWidth=[],this._updateRichTextStatus=this._updateRichText},editor:!1,properties:{string:{default:"<color=#00ff00>Rich</c><color=#0fffff>Text</color>",multiline:!0,tooltip:!1,notify:function(){this._updateRichTextStatus()}},horizontalAlign:{default:o.LEFT,type:o,tooltip:!1,animatable:!1,notify:function(t){this.horizontalAlign!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},fontSize:{default:40,tooltip:!1,notify:function(t){this.fontSize!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},_fontFamily:"Arial",fontFamily:{tooltip:!1,get:function(){return this._fontFamily},set:function(t){this._fontFamily!==t&&(this._fontFamily=t,this._layoutDirty=!0,this._updateRichTextStatus())},animatable:!1},font:{default:null,type:cc.TTFFont,tooltip:!1,notify:function(t){this.font!==t&&(this._layoutDirty=!0,this.font?(this.useSystemFont=!1,this._onTTFLoaded()):this.useSystemFont=!0,this._updateRichTextStatus())}},_isSystemFontUsed:!0,useSystemFont:{get:function(){return this._isSystemFontUsed},set:function(t){(t||this.font)&&this._isSystemFontUsed!==t&&(this._isSystemFontUsed=t,this._layoutDirty=!0,this._updateRichTextStatus())},animatable:!1,tooltip:!1},maxWidth:{default:0,tooltip:!1,notify:function(t){this.maxWidth!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},lineHeight:{default:40,tooltip:!1,notify:function(t){this.lineHeight!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},imageAtlas:{default:null,type:cc.SpriteAtlas,tooltip:!1,notify:function(t){this.imageAtlas!==t&&(this._layoutDirty=!0,this._updateRichTextStatus())}},spriteFrames:{default:[],type:cc.SpriteFrame,notify:function(t){this._layoutDirty=!0,this._updateRichTextStatus()}},touchHandlers:{default:{}},handleTouchEvent:{default:!0,tooltip:!1,notify:function(t){this.handleTouchEvent!==t&&this.enabledInHierarchy&&(this.handleTouchEvent?this._addEventListeners():this._removeEventListeners())}},emojiSkeletonData:{default:{}},emojiSkeletons:{default:{}}},statics:{HorizontalAlign:o,VerticalAlign:h},onEnable:function(){this.handleTouchEvent&&this._addEventListeners(),this._updateRichText(),this._activateChildren(!0)},onDisable:function(){this.handleTouchEvent&&this._removeEventListeners(),this._activateChildren(!1)},start:function(){this._onTTFLoaded()},addSpriteFrame:function(t){if(t){for(var e in this.spriteFrames)if(this.spriteFrames[e].name===t.name)return;this.spriteFrames.push(t),this._layoutDirty=!0,this._updateRichTextStatus()}},_onColorChanged:function(t){this.node.children.forEach((function(e){e.color=t}))},_addEventListeners:function(){this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.on(cc.Node.EventType.COLOR_CHANGED,this._onColorChanged,this)},_removeEventListeners:function(){this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.off(cc.Node.EventType.COLOR_CHANGED,this._onColorChanged,this)},_updateLabelSegmentTextAttributes:function(){this._labelSegments.forEach(function(t){this._applyTextAttribute(t)}.bind(this))},_createFontLabel:function(t){return u.get(t,this)},_onTTFLoaded:function(){var t=this;this.font instanceof cc.TTFFont?this.font._nativeAsset?(this._layoutDirty=!0,this._updateRichText()):(function(){var e=t;cc.loader.load(t.font.nativeUrl,(function(t,i){e._layoutDirty=!0,e._updateRichText()}))})():(this._layoutDirty=!0,this._updateRichText())},_measureText:function(t,e){var i=this,n=function(e){var n=void 0;return 0===i._labelSegmentsCache.length?(n=i._createFontLabel(e),i._labelSegmentsCache.push(n)):(n=i._labelSegmentsCache[0]).getComponent(cc.Label).string=e,n._styleIndex=t,i._applyTextAttribute(n),n.getContentSize().width};return e?n(e):n},_onTouchEnded:function(t){for(var e=this,i=this.node.getComponents(cc.Component),n=function(n){var r=e._labelSegments[n],s=r._clickHandler,a=r._clickParam;s&&e._containsTouchLocation(r,t.touch.getLocation())&&(i.forEach((function(e){e.enabledInHierarchy&&e[s]&&e[s](t,a)})),t.stopPropagation(),e.touchHandlers[s]&&(e.touchHandlers[s](t,a),t.stopPropagation()))},r=0;r<this._labelSegments.length;++r)n(r)},addTouchHandler:function(t,e){t&&e&&(this.touchHandlers[t]||(this.touchHandlers[t]=e))},_containsTouchLocation:function(t,e){return t.getBoundingBoxToWorld().contains(e)},_resetState:function(){for(var t=this.node.children,e=t.length-1;e>=0;e--){var i=t[e];i.name!==l&&i.name!==c||(i.parent===this.node?i.parent=null:t.splice(e,1),i.name===l&&u.put(i))}this._labelSegments.length=0,this._labelSegmentsCache.length=0,this._linesWidth.length=0,this._lineOffsetX=0,this._lineCount=1,this._labelWidth=0,this._labelHeight=0,this._layoutDirty=!0},onRestore:!1,_activateChildren:function(t){for(var e=this.node.children.length-1;e>=0;e--){var i=this.node.children[e];i.name!==l&&i.name!==c||(i.active=t)}},_addLabelSegment:function(t,e){var i=void 0;return 0===this._labelSegmentsCache.length?i=this._createFontLabel(t):(i=this._labelSegmentsCache.pop()).getComponent(cc.Label).string=t,i._styleIndex=e,i._lineCount=this._lineCount,i.active=this.node.active,i.setAnchorPoint(0,0),this._applyTextAttribute(i),this.node.addChild(i),this._labelSegments.push(i),i},_updateRichTextWithMaxWidth:function(t,e,i){var n=e;if(this._lineOffsetX>0&&n+this._lineOffsetX>this.maxWidth)for(var r=0;this._lineOffsetX<=this.maxWidth;){var a=this._getFirstWordLen(t,r,t.length),o=t.substr(r,a),h=this._measureText(i,o);if(!(this._lineOffsetX+h<=this.maxWidth)){if(r>0){var l=t.substr(0,r);this._addLabelSegment(l,i),t=t.substr(r,t.length),n=this._measureText(i,t)}this._updateLineInfo();break}this._lineOffsetX+=h,r+=a}if(n>this.maxWidth)for(var c=s.fragmentText(t,n,this.maxWidth,this._measureText(i)),u=0;u<c.length;++u){var _=c[u],f=this._addLabelSegment(_,i).getContentSize();this._lineOffsetX+=f.width,c.length>1&&u<c.length-1&&this._updateLineInfo()}else this._lineOffsetX+=n,this._addLabelSegment(t,i)},_isLastComponentCR:function(t){return t.length-1===t.lastIndexOf("\n")},_updateLineInfo:function(){this._linesWidth.push(this._lineOffsetX),this._lineOffsetX=0,this._lineCount++},_needsUpdateTextLayout:function(t){if(this._layoutDirty||!this._textArray||!t)return!0;if(this._textArray.length!==t.length)return!0;for(var e=0;e<this._textArray.length;++e){var i=this._textArray[e],n=t[e];if(i.text!==n.text)return!0;if(i.style){if(n.style){if(!!n.style.outline!=!!i.style.outline)return!0;if(i.style.size!==n.style.size||i.style.italic!==n.style.italic||i.style.isImage!==n.style.isImage)return!0;if(i.style.isImage===n.style.isImage&&i.style.src!==n.style.src)return!0}else if(i.style.size||i.style.italic||i.style.isImage||i.style.outline)return!0}else if(n.style&&(n.style.size||n.style.italic||n.style.isImage||n.style.outline))return!0}return!1},_addRichTextImageElement:function(t){var e=t.style.src,i=null;if(this.imageAtlas&&(i=this.imageAtlas.getSpriteFrame(e)),!i)for(var n in this.spriteFrames)this.spriteFrames[n].name==e&&(i=this.spriteFrames[n]);if(i){var r=new cc.PrivateNode(c),s=r.addComponent(cc.Sprite);r.setAnchorPoint(0,0),s.type=cc.Sprite.Type.SLICED,s.sizeMode=cc.Sprite.SizeMode.CUSTOM,this.node.addChild(r),this._labelSegments.push(r);var a=i.getRect(),o=1,h=a.width,l=a.height,u=t.style.imageWidth,_=t.style.imageHeight;_>0&&_<this.lineHeight?(h*=o=_/l,l*=o):(h*=o=this.lineHeight/l,l*=o),u>0&&(h=u),this.maxWidth>0?(this._lineOffsetX+h>this.maxWidth&&this._updateLineInfo(),this._lineOffsetX+=h):(this._lineOffsetX+=h,this._lineOffsetX>this._labelWidth&&(this._labelWidth=this._lineOffsetX)),s.spriteFrame=i,r.setContentSize(h,l),r._lineCount=this._lineCount,t.style.event&&(t.style.event.click&&(r._clickHandler=t.style.event.click),t.style.event.param&&(r._clickParam=t.style.event.param))}else cc.warnID(4400)},addEmojiAtlas:function(t,e){t&&e&&(this.emojiSkeletons[e]||(this.emojiSkeletons[e]=t,this._layoutDirty=!0,this._updateRichTextStatus()))},_addRichTextEmojiElement:function(t){var e=t.style.emoji,i=this.emojiSkeletons[e];if(e&&i){var n=new cc.PrivateNode(c),r=new cc.PrivateNode("test"),s=r.addComponent(sp.Skeleton);r.X=15,r.Y=15,n.addChild(r),n.setAnchorPoint(0,0),this.node.addChild(n),this._labelSegments.push(n);var a=new cc.Rect(0,0,30,30),o=1,h=a.width,l=a.height,u=t.style.imageWidth||30,_=t.style.imageHeight||30;_>0&&_<this.lineHeight?(h*=o=_/l,l*=o):(h*=o=this.lineHeight/l,l*=o),u>0&&(h=u),this.maxWidth>0?(this._lineOffsetX+h>this.maxWidth&&this._updateLineInfo(),this._lineOffsetX+=h):(this._lineOffsetX+=h,this._lineOffsetX>this._labelWidth&&(this._labelWidth=this._lineOffsetX)),s.skeletonData=i,s.setAnimation(0,i.name,!0),n.setContentSize(h,l),n._lineCount=this._lineCount,t.style.event&&(t.style.event.click&&(n._clickHandler=t.style.event.click),t.style.event.param&&(n._clickParam=t.style.event.param))}else cc.warnID(4400)},_updateRichText:function(){if(this.enabled){var t=a.parse(this.string);if(!this._needsUpdateTextLayout(t))return this._textArray=t,void this._updateLabelSegmentTextAttributes();this._textArray=t,this._resetState();for(var e=!1,i=void 0,n=0;n<this._textArray.length;++n){var r=this._textArray[n],s=r.text;if(""===s){if(r.style&&r.style.newline){this._updateLineInfo();continue}if(r.style&&r.style.isImage&&!r.style.emoji&&(this.imageAtlas||this.spriteFrames.length>0)){this._addRichTextImageElement(r);continue}r.style&&r.style.emoji&&this._addRichTextEmojiElement(r)}for(var o=s.split("\n"),h=0;h<o.length;++h){var l=o[h];if(""!==l)if(e=!1,this.maxWidth>0){var c=this._measureText(n,l);this._updateRichTextWithMaxWidth(l,c,n),o.length>1&&h<o.length-1&&this._updateLineInfo()}else i=this._addLabelSegment(l,n).getContentSize(),this._lineOffsetX+=i.width,this._lineOffsetX>this._labelWidth&&(this._labelWidth=this._lineOffsetX),o.length>1&&h<o.length-1&&this._updateLineInfo();else{if(this._isLastComponentCR(s)&&h===o.length-1)continue;this._updateLineInfo(),e=!0}}}e||this._linesWidth.push(this._lineOffsetX),this.maxWidth>0&&(this._labelWidth=this.maxWidth),this._labelHeight=this._lineCount*this.lineHeight,this.node.setContentSize(this._labelWidth,this._labelHeight),this._updateRichTextPosition(),this._layoutDirty=!1}},_getFirstWordLen:function(t,e,i){var n=t.charAt(e);if(s.isUnicodeCJK(n)||s.isUnicodeSpace(n))return 1;for(var r=1,a=e+1;a<i&&(n=t.charAt(a),!s.isUnicodeSpace(n)&&!s.isUnicodeCJK(n));++a)r++;return r},_updateRichTextPosition:function(){for(var t=0,e=1,i=this._lineCount,n=0;n<this._labelSegments.length;++n){var r=this._labelSegments[n],s=r._lineCount;s>e&&(t=0,e=s);var a=0;switch(this.horizontalAlign){case o.LEFT:a=-this._labelWidth/2;break;case o.CENTER:a=-this._linesWidth[s-1]/2;break;case o.RIGHT:a=this._labelWidth/2-this._linesWidth[s-1]}r.x=t+a;var h=r.getContentSize();r.y=this.lineHeight*(i-s)-this._labelHeight/2,s===e&&(t+=h.width)}},_convertLiteralColorValue:function(t){var e=t.toUpperCase();return cc.Color[e]?cc.Color[e]:cc.color().fromHEX(t)},_applyTextAttribute:function(t){var e=t.getComponent(cc.Label);if(e){var i=t._styleIndex;this._isSystemFontUsed&&(e.fontFamily=this._fontFamily),e.useSystemFont=this._isSystemFontUsed,e.lineHeight=this.lineHeight,e.horizontalAlign=o.LEFT,e.verticalAlign=h.CENTER;var n=null;if(this._textArray[i]&&(n=this._textArray[i].style),n&&n.color?t.color=this._convertLiteralColorValue(n.color):t.color=this.node.color,e._enableBold(n&&n.bold),e._enableItalics(n&&n.italic),n&&n.italic&&(t.skewX=12),e._enableUnderline(n&&n.underline),n&&n.outline){var r=t.getComponent(cc.LabelOutline);r||(r=t.addComponent(cc.LabelOutline)),r.color=this._convertLiteralColorValue(n.outline.color),r.width=n.outline.width}n&&n.size?e.fontSize=n.size:e.fontSize=this.fontSize,e._updateRenderData(!0),n&&n.event&&(n.event.click&&(t._clickHandler=n.event.click),n.event.param&&(t._clickParam=n.event.param))}},onDestroy:function(){for(var t=0;t<this._labelSegments.length;++t)this._labelSegments[t].removeFromParent(),u.put(this._labelSegments[t])}});cc.RichText=e.exports=_}),{"../platform/CCMacro":165,"../platform/js":180,"../utils/html-text-parser":239,"../utils/text-utils":249}],79:[(function(t,e,i){var n=t("../utils/misc"),r=(t("./CCComponent"),cc.Enum({HORIZONTAL:0,VERTICAL:1})),s=cc.Class({name:"cc.Scrollbar",extends:t("./CCComponent"),editor:!1,properties:{_scrollView:null,_touching:!1,_autoHideRemainingTime:{default:0,serializable:!1},_opacity:255,handle:{default:null,type:cc.Sprite,tooltip:!1,notify:function(){this._onScroll(cc.v2(0,0))},animatable:!1},direction:{default:r.HORIZONTAL,type:r,tooltip:!1,notify:function(){this._onScroll(cc.v2(0,0))},animatable:!1},enableAutoHide:{default:!0,animatable:!1,tooltip:!1},autoHideTime:{default:1,animatable:!1,tooltip:!1}},statics:{Direction:r},setTargetScrollView:function(t){this._scrollView=t},_convertToScrollViewSpace:function(t){var e=t.convertToWorldSpace(cc.v2(0,0));return this._scrollView.node.convertToNodeSpace(e)},_setOpacity:function(t){this.handle&&(this.node.opacity=t,this.handle.node.opacity=t)},_onScroll:function(t){if(this._scrollView){var e=this._scrollView.content;if(e){var i=e.getContentSize(),n=this._scrollView.node.getContentSize(),s=this.node.getContentSize();if(this._conditionalDisableScrollBar(i,n))return;this.enableAutoHide&&(this._autoHideRemainingTime=this.autoHideTime,this._setOpacity(this._opacity));var a=0,o=0,h=0,l=0,c=0;this.direction===r.HORIZONTAL?(a=i.width,o=n.width,c=s.width,h=t.x,l=-this._convertToScrollViewSpace(e).x):this.direction===r.VERTICAL&&(a=i.height,o=n.height,c=s.height,h=t.y,l=-this._convertToScrollViewSpace(e).y);var u=this._calculateLength(a,o,c,h),_=this._calculatePosition(a,o,c,l,h,u);this._updateLength(u),this._updateHanlderPosition(_)}}},_updateHanlderPosition:function(t){if(this.handle){var e=this._fixupHandlerPosition();this.handle.node.setPosition(t.x+e.x,t.y+e.y)}},_fixupHandlerPosition:function(){var t=this.node.getContentSize(),e=this.node.getAnchorPoint(),i=this.handle.node.getContentSize(),n=this.handle.node.parent,s=this.node.convertToWorldSpaceAR(cc.v2(-t.width*e.x,-t.height*e.y)),a=n.convertToNodeSpaceAR(s);return this.direction===r.HORIZONTAL?a=cc.v2(a.x,a.y+(t.height-i.height)/2):this.direction===r.VERTICAL&&(a=cc.v2(a.x+(t.width-i.width)/2,a.y)),this.handle.node.setPosition(a),a},_onTouchBegan:function(){this.enableAutoHide&&(this._touching=!0)},_conditionalDisableScrollBar:function(t,e){return t.width<=e.width&&this.direction===r.HORIZONTAL||t.height<=e.height&&this.direction===r.VERTICAL},_onTouchEnded:function(){if(this.enableAutoHide&&(this._touching=!1,!(this.autoHideTime<=0))){if(this._scrollView){var t=this._scrollView.content;if(t){var e=t.getContentSize(),i=this._scrollView.node.getContentSize();if(this._conditionalDisableScrollBar(e,i))return}}this._autoHideRemainingTime=this.autoHideTime}},_calculateLength:function(t,e,i,n){var r=t;return n&&(r+=20*(n>0?n:-n)),i*(e/r)},_calculatePosition:function(t,e,i,s,a,o){var h=t-e;a&&(h+=Math.abs(a));var l=0;h&&(l=s/h,l=n.clamp01(l));var c=(i-o)*l;return this.direction===r.VERTICAL?cc.v2(0,c):cc.v2(c,0)},_updateLength:function(t){if(this.handle){var e=this.handle.node,i=e.getContentSize();e.setAnchorPoint(cc.v2(0,0)),this.direction===r.HORIZONTAL?e.setContentSize(t,i.height):e.setContentSize(i.width,t)}},_processAutoHide:function(t){if(this.enableAutoHide&&!(this._autoHideRemainingTime<=0)&&!this._touching&&(this._autoHideRemainingTime-=t,this._autoHideRemainingTime<=this.autoHideTime)){this._autoHideRemainingTime=Math.max(0,this._autoHideRemainingTime);var e=this._opacity*(this._autoHideRemainingTime/this.autoHideTime);this._setOpacity(e)}},start:function(){this.enableAutoHide&&this._setOpacity(0)},hide:function(){this._autoHideRemainingTime=0,this._setOpacity(0)},show:function(){this._autoHideRemainingTime=this.autoHideTime,this._setOpacity(this._opacity)},update:function(t){this._processAutoHide(t)}});cc.Scrollbar=e.exports=s}),{"../utils/misc":242,"./CCComponent":67}],80:[(function(t,e,i){var n=t("../CCNode").EventType,r=1e-4,s=function(){return(new Date).getMilliseconds()},a=cc.Enum({SCROLL_TO_TOP:0,SCROLL_TO_BOTTOM:1,SCROLL_TO_LEFT:2,SCROLL_TO_RIGHT:3,SCROLLING:4,BOUNCE_TOP:5,BOUNCE_BOTTOM:6,BOUNCE_LEFT:7,BOUNCE_RIGHT:8,SCROLL_ENDED:9,TOUCH_UP:10,AUTOSCROLL_ENDED_WITH_THRESHOLD:11,SCROLL_BEGAN:12}),o={"scroll-to-top":a.SCROLL_TO_TOP,"scroll-to-bottom":a.SCROLL_TO_BOTTOM,"scroll-to-left":a.SCROLL_TO_LEFT,"scroll-to-right":a.SCROLL_TO_RIGHT,scrolling:a.SCROLLING,"bounce-bottom":a.BOUNCE_BOTTOM,"bounce-left":a.BOUNCE_LEFT,"bounce-right":a.BOUNCE_RIGHT,"bounce-top":a.BOUNCE_TOP,"scroll-ended":a.SCROLL_ENDED,"touch-up":a.TOUCH_UP,"scroll-ended-with-threshold":a.AUTOSCROLL_ENDED_WITH_THRESHOLD,"scroll-began":a.SCROLL_BEGAN},h=cc.Class({name:"cc.ScrollView",extends:t("./CCViewGroup"),editor:!1,ctor:function(){this._topBoundary=0,this._bottomBoundary=0,this._leftBoundary=0,this._rightBoundary=0,this._touchMoveDisplacements=[],this._touchMoveTimeDeltas=[],this._touchMovePreviousTimestamp=0,this._touchMoved=!1,this._autoScrolling=!1,this._autoScrollAttenuate=!1,this._autoScrollStartPosition=cc.v2(0,0),this._autoScrollTargetDelta=cc.v2(0,0),this._autoScrollTotalTime=0,this._autoScrollAccumulatedTime=0,this._autoScrollCurrentlyOutOfBoundary=!1,this._autoScrollBraking=!1,this._autoScrollBrakingStartPosition=cc.v2(0,0),this._outOfBoundaryAmount=cc.v2(0,0),this._outOfBoundaryAmountDirty=!0,this._stopMouseWheel=!1,this._mouseWheelEventElapsedTime=0,this._isScrollEndedWithThresholdEventFired=!1,this._scrollEventEmitMask=0,this._isBouncing=!1,this._scrolling=!1},properties:{content:{default:void 0,type:cc.Node,tooltip:!1,formerlySerializedAs:"content",notify:function(t){this._calculateBoundary()}},horizontal:{default:!0,animatable:!1,tooltip:!1},vertical:{default:!0,animatable:!1,tooltip:!1},inertia:{default:!0,tooltip:!1},brake:{default:.5,type:"Float",range:[0,1,.1],tooltip:!1},elastic:{default:!0,animatable:!1,tooltip:!1},bounceDuration:{default:1,range:[0,10],tooltip:!1},horizontalScrollBar:{default:void 0,type:cc.Scrollbar,tooltip:!1,notify:function(){this.horizontalScrollBar&&(this.horizontalScrollBar.setTargetScrollView(this),this._updateScrollBar(0))},animatable:!1},verticalScrollBar:{default:void 0,type:cc.Scrollbar,tooltip:!1,notify:function(){this.verticalScrollBar&&(this.verticalScrollBar.setTargetScrollView(this),this._updateScrollBar(0))},animatable:!1},scrollEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1},cancelInnerEvents:{default:!0,animatable:!1,tooltip:!1},_view:{get:function(){if(this.content)return this.content.parent}}},statics:{EventType:a},scrollToBottom:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!1,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i,!0)},scrollToTop:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,1),applyToHorizontal:!1,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!0,applyToVertical:!1});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,0),applyToHorizontal:!0,applyToVertical:!1});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToTopLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,1),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToTopRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,1),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToBottomLeft:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(0,0),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToBottomRight:function(t,e){var i=this._calculateMovePercentDelta({anchor:cc.v2(1,0),applyToHorizontal:!0,applyToVertical:!0});t?this._startAutoScroll(i,t,!1!==e):this._moveContent(i)},scrollToOffset:function(t,e,i){var n=this.getMaxScrollOffset(),r=cc.v2(0,0);0===n.x?r.x=0:r.x=t.x/n.x,0===n.y?r.y=1:r.y=(n.y-t.y)/n.y,this.scrollTo(r,e,i)},getScrollOffset:function(){var t=this._getContentTopBoundary()-this._topBoundary,e=this._getContentLeftBoundary()-this._leftBoundary;return cc.v2(e,t)},getMaxScrollOffset:function(){var t=this._view.getContentSize(),e=this.content.getContentSize(),i=e.width-t.width,n=e.height-t.height;return i=i>=0?i:0,n=n>=0?n:0,cc.v2(i,n)},scrollToPercentHorizontal:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(t,0),applyToHorizontal:!0,applyToVertical:!1});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},scrollTo:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(t),applyToHorizontal:!0,applyToVertical:!0});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},scrollToPercentVertical:function(t,e,i){var n=this._calculateMovePercentDelta({anchor:cc.v2(0,t),applyToHorizontal:!1,applyToVertical:!0});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},stopAutoScroll:function(){this._autoScrolling=!1,this._autoScrollAccumulatedTime=this._autoScrollTotalTime},setContentPosition:function(t){t.fuzzyEquals(this.getContentPosition(),r)||(this.content.setPosition(t),this._outOfBoundaryAmountDirty=!0)},getContentPosition:function(){return this.content.getPosition()},isScrolling:function(){return this._scrolling},isAutoScrolling:function(){return this._autoScrolling},_registerEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this,!0),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this,!0),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this,!0),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this,!0),this.node.on(cc.Node.EventType.MOUSE_WHEEL,this._onMouseWheel,this,!0)},_unregisterEvent:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this,!0),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this,!0),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this,!0),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this,!0),this.node.off(cc.Node.EventType.MOUSE_WHEEL,this._onMouseWheel,this,!0)},_onMouseWheel:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){var i=cc.v2(0,0),n=-.1;0,this.vertical?i=cc.v2(0,t.getScrollY()*n):this.horizontal&&(i=cc.v2(t.getScrollY()*n,0)),this._mouseWheelEventElapsedTime=0,this._processDeltaMove(i),this._stopMouseWheel||(this._handlePressLogic(),this.schedule(this._checkMouseWheel,1/60),this._stopMouseWheel=!0),this._stopPropagationIfTargetIsMe(t)}},_checkMouseWheel:function(t){if(!this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),r))return this._processInertiaScroll(),this.unschedule(this._checkMouseWheel),void(this._stopMouseWheel=!1);this._mouseWheelEventElapsedTime+=t,this._mouseWheelEventElapsedTime>.1&&(this._onScrollBarTouchEnded(),this.unschedule(this._checkMouseWheel),this._stopMouseWheel=!1)},_calculateMovePercentDelta:function(t){var e=t.anchor,i=t.applyToHorizontal,n=t.applyToVertical;this._calculateBoundary(),e=e.clampf(cc.v2(0,0),cc.v2(1,1));var r=this._view.getContentSize(),s=this.content.getContentSize(),a=this._getContentBottomBoundary()-this._bottomBoundary;a=-a;var o=this._getContentLeftBoundary()-this._leftBoundary;o=-o;var h=cc.v2(0,0),l=0;return i&&(l=s.width-r.width,h.x=o-l*e.x),n&&(l=s.height-r.height,h.y=a-l*e.y),h},_moveContentToTopLeft:function(t){var e=this.content.getContentSize(),i=this._getContentBottomBoundary()-this._bottomBoundary;i=-i;var n=cc.v2(0,0),r=0,s=this._getContentLeftBoundary()-this._leftBoundary;s=-s,e.height<t.height?(r=e.height-t.height,n.y=i-r,this.verticalScrollBar&&this.verticalScrollBar.hide()):this.verticalScrollBar&&this.verticalScrollBar.show(),e.width<t.width?(r=e.width-t.width,n.x=s,this.horizontalScrollBar&&this.horizontalScrollBar.hide()):this.horizontalScrollBar&&this.horizontalScrollBar.show(),this._moveContent(n),this._adjustContentOutOfBoundary()},_calculateBoundary:function(){if(this.content){var t=this.content.getComponent(cc.Layout);t&&t.enabledInHierarchy&&t.updateLayout();var e=this._view.getContentSize(),i=e.width*this._view.anchorX,n=e.height*this._view.anchorY;this._leftBoundary=-i,this._bottomBoundary=-n,this._rightBoundary=this._leftBoundary+e.width,this._topBoundary=this._bottomBoundary+e.height,this._moveContentToTopLeft(e)}},_hasNestedViewGroup:function(t,e){if(t.eventPhase===cc.Event.CAPTURING_PHASE){if(e)for(var i=0;i<e.length;++i){var n=e[i];if(this.node===n)return!!t.target.getComponent(cc.ViewGroup);if(n.getComponent(cc.ViewGroup))return!0}return!1}},_stopPropagationIfTargetIsMe:function(t){t.eventPhase===cc.Event.AT_TARGET&&t.target===this.node&&t.stopPropagation()},_onTouchBegan:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){var i=t.touch;this.content&&this._handlePressLogic(i),this._touchMoved=!1,this._stopPropagationIfTargetIsMe(t)}},_onTouchMoved:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){var i=t.touch;if(this.content&&this._handleMoveLogic(i),this.cancelInnerEvents){if(i.getLocation().sub(i.getStartLocation()).mag()>7&&!this._touchMoved&&t.target!==this.node){var n=new cc.Event.EventTouch(t.getTouches(),t.bubbles);n.type=cc.Node.EventType.TOUCH_CANCEL,n.touch=t.touch,n.simulate=!0,t.target.dispatchEvent(n),this._touchMoved=!0}this._stopPropagationIfTargetIsMe(t)}}},_onTouchEnded:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){this._dispatchEvent("touch-up");var i=t.touch;this.content&&this._handleReleaseLogic(i),this._touchMoved?t.stopPropagation():this._stopPropagationIfTargetIsMe(t)}},_onTouchCancelled:function(t,e){if(this.enabledInHierarchy&&!this._hasNestedViewGroup(t,e)){if(!t.simulate){var i=t.touch;this.content&&this._handleReleaseLogic(i)}this._stopPropagationIfTargetIsMe(t)}},_processDeltaMove:function(t){this._scrollChildren(t),this._gatherTouchMove(t)},_handleMoveLogic:function(t){var e=t.getDelta();this._processDeltaMove(e)},_scrollChildren:function(t){var e=t=this._clampDelta(t),i=void 0;this.elastic&&(i=this._getHowMuchOutOfBoundary(),e.x*=0===i.x?1:.5,e.y*=0===i.y?1:.5),this.elastic||(i=this._getHowMuchOutOfBoundary(e),e=e.add(i));var n=-1;if(e.y>0)this.content.y-this.content.anchorY*this.content.height+e.y>this._bottomBoundary&&(n="scroll-to-bottom");else if(e.y<0){this.content.y-this.content.anchorY*this.content.height+this.content.height+e.y<=this._topBoundary&&(n="scroll-to-top")}else if(e.x<0){this.content.x-this.content.anchorX*this.content.width+this.content.width+e.x<=this._rightBoundary&&(n="scroll-to-right")}else if(e.x>0){this.content.x-this.content.anchorX*this.content.width+e.x>=this._leftBoundary&&(n="scroll-to-left")}this._moveContent(e,!1),0===e.x&&0===e.y||(this._scrolling||(this._scrolling=!0,this._dispatchEvent("scroll-began")),this._dispatchEvent("scrolling")),-1!==n&&this._dispatchEvent(n)},_handlePressLogic:function(){this._autoScrolling&&this._dispatchEvent("scroll-ended"),this._autoScrolling=!1,this._isBouncing=!1,this._touchMovePreviousTimestamp=s(),this._touchMoveDisplacements.length=0,this._touchMoveTimeDeltas.length=0,this._onScrollBarTouchBegan()},_clampDelta:function(t){var e=this.content.getContentSize(),i=this.node.getContentSize();return e.width<i.width&&(t.x=0),e.height<i.height&&(t.y=0),t},_gatherTouchMove:function(t){for(t=this._clampDelta(t);this._touchMoveDisplacements.length>=5;)this._touchMoveDisplacements.shift(),this._touchMoveTimeDeltas.shift();this._touchMoveDisplacements.push(t);var e=s();this._touchMoveTimeDeltas.push((e-this._touchMovePreviousTimestamp)/1e3),this._touchMovePreviousTimestamp=e},_startBounceBackIfNeeded:function(){if(!this.elastic)return!1;var t=this._getHowMuchOutOfBoundary();if((t=this._clampDelta(t)).fuzzyEquals(cc.v2(0,0),r))return!1;var e=Math.max(this.bounceDuration,0);return this._startAutoScroll(t,e,!0),this._isBouncing||(t.y>0&&this._dispatchEvent("bounce-top"),t.y<0&&this._dispatchEvent("bounce-bottom"),t.x>0&&this._dispatchEvent("bounce-right"),t.x<0&&this._dispatchEvent("bounce-left"),this._isBouncing=!0),!0},_processInertiaScroll:function(){if(!this._startBounceBackIfNeeded()&&this.inertia){var t=this._calculateTouchMoveVelocity();!t.fuzzyEquals(cc.v2(0,0),r)&&this.brake<1&&this._startInertiaScroll(t)}this._onScrollBarTouchEnded()},_handleReleaseLogic:function(t){var e=t.getDelta();this._gatherTouchMove(e),this._processInertiaScroll(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent("scroll-ended"))},_isOutOfBoundary:function(){return!this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),r)},_isNecessaryAutoScrollBrake:function(){if(this._autoScrollBraking)return!0;if(this._isOutOfBoundary()){if(!this._autoScrollCurrentlyOutOfBoundary)return this._autoScrollCurrentlyOutOfBoundary=!0,this._autoScrollBraking=!0,this._autoScrollBrakingStartPosition=this.getContentPosition(),!0}else this._autoScrollCurrentlyOutOfBoundary=!1;return!1},getScrollEndedEventTiming:function(){return r},_processAutoScrolling:function(t){var e=this._isNecessaryAutoScrollBrake(),i=e?.05:1;this._autoScrollAccumulatedTime+=t*(1/i);var n=Math.min(1,this._autoScrollAccumulatedTime/this._autoScrollTotalTime);this._autoScrollAttenuate&&(n=(function(t){return(t-=1)*t*t*t*t+1})(n));var s=this._autoScrollStartPosition.add(this._autoScrollTargetDelta.mul(n)),a=Math.abs(n-1)<=r;if(Math.abs(n-1)<=this.getScrollEndedEventTiming()&&!this._isScrollEndedWithThresholdEventFired&&(this._dispatchEvent("scroll-ended-with-threshold"),this._isScrollEndedWithThresholdEventFired=!0),this.elastic){var o=s.sub(this._autoScrollBrakingStartPosition);e&&(o=o.mul(i)),s=this._autoScrollBrakingStartPosition.add(o)}else{var h=s.sub(this.getContentPosition()),l=this._getHowMuchOutOfBoundary(h);l.fuzzyEquals(cc.v2(0,0),r)||(s=s.add(l),a=!0)}a&&(this._autoScrolling=!1);var c=s.sub(this.getContentPosition());this._moveContent(this._clampDelta(c),a),this._dispatchEvent("scrolling"),this._autoScrolling||(this._isBouncing=!1,this._scrolling=!1,this._dispatchEvent("scroll-ended"))},_startInertiaScroll:function(t){var e=t.mul(.7);this._startAttenuatingAutoScroll(e,t)},_calculateAttenuatedFactor:function(t){return this.brake<=0?1-this.brake:(1-this.brake)*(1/(1+14e-6*t+t*t*8e-9))},_startAttenuatingAutoScroll:function(t,e){var i=this._calculateAutoScrollTimeByInitalSpeed(e.mag()),n=t.normalize(),r=this.content.getContentSize(),s=this.node.getContentSize(),a=r.width-s.width,o=r.height-s.height,h=this._calculateAttenuatedFactor(a),l=this._calculateAttenuatedFactor(o);n=cc.v2(n.x*a*(1-this.brake)*h,n.y*o*l*(1-this.brake));var c=t.mag(),u=n.mag()/c;n=n.add(t),this.brake>0&&u>7&&(u=Math.sqrt(u),n=t.mul(u).add(t)),this.brake>0&&u>3&&(i*=u=3),0===this.brake&&u>1&&(i*=u),this._startAutoScroll(n,i,!0)},_calculateAutoScrollTimeByInitalSpeed:function(t){return Math.sqrt(Math.sqrt(t/5))},_startAutoScroll:function(t,e,i){var n=this._flattenVectorByDirection(t);this._autoScrolling=!0,this._autoScrollTargetDelta=n,this._autoScrollAttenuate=i,this._autoScrollStartPosition=this.getContentPosition(),this._autoScrollTotalTime=e,this._autoScrollAccumulatedTime=0,this._autoScrollBraking=!1,this._isScrollEndedWithThresholdEventFired=!1,this._autoScrollBrakingStartPosition=cc.v2(0,0),this._getHowMuchOutOfBoundary().fuzzyEquals(cc.v2(0,0),r)||(this._autoScrollCurrentlyOutOfBoundary=!0)},_calculateTouchMoveVelocity:function(){var t=0;if((t=this._touchMoveTimeDeltas.reduce((function(t,e){return t+e}),t))<=0||t>=.5)return cc.v2(0,0);var e=cc.v2(0,0);return e=this._touchMoveDisplacements.reduce((function(t,e){return t.add(e)}),e),cc.v2(e.x*(1-this.brake)/t,e.y*(1-this.brake)/t)},_flattenVectorByDirection:function(t){var e=t;return e.x=this.horizontal?e.x:0,e.y=this.vertical?e.y:0,e},_moveContent:function(t,e){var i=this._flattenVectorByDirection(t),n=this.getContentPosition().add(i);this.setContentPosition(n);var r=this._getHowMuchOutOfBoundary();this._updateScrollBar(r),this.elastic&&e&&this._startBounceBackIfNeeded()},_getContentLeftBoundary:function(){return this.getContentPosition().x-this.content.getAnchorPoint().x*this.content.getContentSize().width},_getContentRightBoundary:function(){var t=this.content.getContentSize();return this._getContentLeftBoundary()+t.width},_getContentTopBoundary:function(){var t=this.content.getContentSize();return this._getContentBottomBoundary()+t.height},_getContentBottomBoundary:function(){return this.getContentPosition().y-this.content.getAnchorPoint().y*this.content.getContentSize().height},_getHowMuchOutOfBoundary:function(t){if((t=t||cc.v2(0,0)).fuzzyEquals(cc.v2(0,0),r)&&!this._outOfBoundaryAmountDirty)return this._outOfBoundaryAmount;var e=cc.v2(0,0);return this._getContentLeftBoundary()+t.x>this._leftBoundary?e.x=this._leftBoundary-(this._getContentLeftBoundary()+t.x):this._getContentRightBoundary()+t.x<this._rightBoundary&&(e.x=this._rightBoundary-(this._getContentRightBoundary()+t.x)),this._getContentTopBoundary()+t.y<this._topBoundary?e.y=this._topBoundary-(this._getContentTopBoundary()+t.y):this._getContentBottomBoundary()+t.y>this._bottomBoundary&&(e.y=this._bottomBoundary-(this._getContentBottomBoundary()+t.y)),t.fuzzyEquals(cc.v2(0,0),r)&&(this._outOfBoundaryAmount=e,this._outOfBoundaryAmountDirty=!1),e=this._clampDelta(e)},_updateScrollBar:function(t){this.horizontalScrollBar&&this.horizontalScrollBar._onScroll(t),this.verticalScrollBar&&this.verticalScrollBar._onScroll(t)},_onScrollBarTouchBegan:function(){this.horizontalScrollBar&&this.horizontalScrollBar._onTouchBegan(),this.verticalScrollBar&&this.verticalScrollBar._onTouchBegan()},_onScrollBarTouchEnded:function(){this.horizontalScrollBar&&this.horizontalScrollBar._onTouchEnded(),this.verticalScrollBar&&this.verticalScrollBar._onTouchEnded()},_dispatchEvent:function(t){if("scroll-ended"===t)this._scrollEventEmitMask=0;else if("scroll-to-top"===t||"scroll-to-bottom"===t||"scroll-to-left"===t||"scroll-to-right"===t){var e=1<<o[t];if(this._scrollEventEmitMask&e)return;this._scrollEventEmitMask|=e}cc.Component.EventHandler.emitEvents(this.scrollEvents,this,o[t]),this.node.emit(t,this)},_adjustContentOutOfBoundary:function(){if(this._outOfBoundaryAmountDirty=!0,this._isOutOfBoundary()){var t=this._getHowMuchOutOfBoundary(cc.v2(0,0)),e=this.getContentPosition().add(t);this.content&&(this.content.setPosition(e),this._updateScrollBar(0))}},start:function(){this._calculateBoundary(),this.content&&cc.director.once(cc.Director.EVENT_BEFORE_DRAW,this._adjustContentOutOfBoundary,this)},_hideScrollbar:function(){this.horizontalScrollBar&&this.horizontalScrollBar.hide(),this.verticalScrollBar&&this.verticalScrollBar.hide()},_showScrollbar:function(){this.horizontalScrollBar&&this.horizontalScrollBar.show(),this.verticalScrollBar&&this.verticalScrollBar.show()},onDisable:function(){this._unregisterEvent(),this.content&&(this.content.off(n.SIZE_CHANGED,this._calculateBoundary,this),this.content.off(n.SCALE_CHANGED,this._calculateBoundary,this),this._view&&(this._view.off(n.POSITION_CHANGED,this._calculateBoundary,this),this._view.off(n.SCALE_CHANGED,this._calculateBoundary,this),this._view.off(n.SIZE_CHANGED,this._calculateBoundary,this))),this._hideScrollbar(),this.stopAutoScroll()},onEnable:function(){this._registerEvent(),this.content&&(this.content.on(n.SIZE_CHANGED,this._calculateBoundary,this),this.content.on(n.SCALE_CHANGED,this._calculateBoundary,this),this._view&&(this._view.on(n.POSITION_CHANGED,this._calculateBoundary,this),this._view.on(n.SCALE_CHANGED,this._calculateBoundary,this),this._view.on(n.SIZE_CHANGED,this._calculateBoundary,this))),this._showScrollbar()},update:function(t){this._autoScrolling&&this._processAutoScrolling(t)}});cc.ScrollView=e.exports=h}),{"../CCNode":29,"./CCViewGroup":87}],81:[(function(t,e,i){var n=t("../utils/misc"),r=t("./CCComponent"),s=cc.Enum({Horizontal:0,Vertical:1}),a=cc.Class({name:"cc.Slider",extends:r,editor:!1,ctor:function(){this._offset=cc.v2(),this._touchHandle=!1,this._dragging=!1},properties:{handle:{default:null,type:cc.Button,tooltip:!1,notify:function(){0}},direction:{default:s.Horizontal,type:s,tooltip:!1},progress:{default:.5,type:cc.Float,range:[0,1,.1],slide:!0,tooltip:!1,notify:function(){this._updateHandlePosition()}},slideEvents:{default:[],type:cc.Component.EventHandler,tooltip:!1}},statics:{Direction:s},__preload:function(){this._updateHandlePosition()},onEnable:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.on(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this),this.handle&&this.handle.isValid&&(this.handle.node.on(cc.Node.EventType.TOUCH_START,this._onHandleDragStart,this),this.handle.node.on(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this),this.handle.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this))},onDisable:function(){this.node.off(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this),this.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this),this.node.off(cc.Node.EventType.TOUCH_CANCEL,this._onTouchCancelled,this),this.handle&&this.handle.isValid&&(this.handle.node.off(cc.Node.EventType.TOUCH_START,this._onHandleDragStart,this),this.handle.node.off(cc.Node.EventType.TOUCH_MOVE,this._onTouchMoved,this),this.handle.node.off(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this))},_onHandleDragStart:function(t){this._dragging=!0,this._touchHandle=!0,this._offset=this.handle.node.convertToNodeSpaceAR(t.touch.getLocation()),t.stopPropagation()},_onTouchBegan:function(t){this.handle&&(this._dragging=!0,this._touchHandle||this._handleSliderLogic(t.touch),t.stopPropagation())},_onTouchMoved:function(t){this._dragging&&(this._handleSliderLogic(t.touch),t.stopPropagation())},_onTouchEnded:function(t){this._dragging=!1,this._touchHandle=!1,this._offset=cc.v2(),t.stopPropagation()},_onTouchCancelled:function(t){this._dragging=!1,t.stopPropagation()},_handleSliderLogic:function(t){this._updateProgress(t),this._emitSlideEvent()},_emitSlideEvent:function(){cc.Component.EventHandler.emitEvents(this.slideEvents,this),this.node.emit("slide",this)},_updateProgress:function(t){if(this.handle){var e=this.node.convertToNodeSpaceAR(t.getLocation());this.direction===s.Horizontal?this.progress=n.clamp01(.5+(e.x-this._offset.x)/this.node.width):this.progress=n.clamp01(.5+(e.y-this._offset.y)/this.node.height)}},_updateHandlePosition:function(){if(this.handle){var t;t=this.direction===s.Horizontal?cc.v2(-this.node.width*this.node.anchorX+this.progress*this.node.width,0):cc.v2(0,-this.node.height*this.node.anchorY+this.progress*this.node.height);var e=this.node.convertToWorldSpaceAR(t);this.handle.node.position=this.handle.node.parent.convertToNodeSpaceAR(e)}}});cc.Slider=e.exports=a}),{"../utils/misc":242,"./CCComponent":67}],82:[(function(t,e,i){var n=t("../utils/misc"),r=t("../CCNode").EventType,s=t("./CCRenderComponent"),a=t("../renderer/render-flow"),o=t("../renderer/render-engine"),h=o.gfx,l=o.SpriteMaterial,c=o.GraySpriteMaterial,u=t("../renderer/utils/dynamic-atlas/manager"),_=t("../platform/CCMacro").BlendFactor,f=cc.Enum({SIMPLE:0,SLICED:1,TILED:2,FILLED:3,MESH:4}),m=cc.Enum({HORIZONTAL:0,VERTICAL:1,RADIAL:2}),d=cc.Enum({CUSTOM:0,TRIMMED:1,RAW:2}),p=cc.Enum({NORMAL:0,GRAY:1}),y=cc.Class({name:"cc.Sprite",extends:s,ctor:function(){this._assembler=null,this._graySpriteMaterial=null,this._spriteMaterial=null},editor:!1,properties:{_spriteFrame:{default:null,type:cc.SpriteFrame},_type:f.SIMPLE,_sizeMode:d.TRIMMED,_fillType:0,_fillCenter:cc.v2(0,0),_fillStart:0,_fillRange:0,_isTrimmedMode:!0,_state:0,_atlas:{default:null,type:cc.SpriteAtlas,tooltip:!1,editorOnly:!0,visible:!0,animatable:!1},_srcBlendFactor:_.SRC_ALPHA,_dstBlendFactor:_.ONE_MINUS_SRC_ALPHA,srcBlendFactor:{get:function(){return this._srcBlendFactor},set:function(t){this._srcBlendFactor!==t&&(this._srcBlendFactor=t,this._updateBlendFunc(!0))},animatable:!1,type:_,tooltip:!1},dstBlendFactor:{get:function(){return this._dstBlendFactor},set:function(t){this._dstBlendFactor!==t&&(this._dstBlendFactor=t,this._updateBlendFunc(!0))},animatable:!1,type:_,tooltip:!1},spriteFrame:{get:function(){return this._spriteFrame},set:function(t,e){var i=this._spriteFrame;i!==t&&(this._spriteFrame=t,this.markForUpdateRenderData(!1),this._applySpriteFrame(i))},type:cc.SpriteFrame},type:{get:function(){return this._type},set:function(t){this._type!==t&&(this.destroyRenderData(this._renderData),this._renderData=null,this._type=t,this._updateAssembler())},type:f,animatable:!1,tooltip:!1},fillType:{get:function(){return this._fillType},set:function(t){t!==this._fillType&&(t===m.RADIAL||this._fillType===m.RADIAL?(this.destroyRenderData(this._renderData),this._renderData=null):this._renderData&&this.markForUpdateRenderData(!0),this._fillType=t,this._updateAssembler())},type:m,tooltip:!1},fillCenter:{get:function(){return this._fillCenter},set:function(t){this._fillCenter.x=t.x,this._fillCenter.y=t.y,this._type===f.FILLED&&this._renderData&&this.markForUpdateRenderData(!0)},tooltip:!1},fillStart:{get:function(){return this._fillStart},set:function(t){this._fillStart=n.clampf(t,-1,1),this._type===f.FILLED&&this._renderData&&this.markForUpdateRenderData(!0)},tooltip:!1},fillRange:{get:function(){return this._fillRange},set:function(t){this._fillRange=n.clampf(t,-1,1),this._type===f.FILLED&&this._renderData&&this.markForUpdateRenderData(!0)},tooltip:!1},trim:{get:function(){return this._isTrimmedMode},set:function(t){this._isTrimmedMode!==t&&(this._isTrimmedMode=t,this._type!==f.SIMPLE&&this._type!==f.MESH||!this._renderData||this.markForUpdateRenderData(!0))},animatable:!1,tooltip:!1},sizeMode:{get:function(){return this._sizeMode},set:function(t){this._sizeMode=t,t!==d.CUSTOM&&this._applySpriteSize()},animatable:!1,type:d,tooltip:!1}},statics:{FillType:m,Type:f,SizeMode:d,State:p},setVisible:function(t){this.enabled=t},setState:function(t){this._state!==t&&(this._state=t,this._activateMaterial())},getState:function(){return this._state},onEnable:function(){this._super(),this._spriteFrame&&this._spriteFrame.textureLoaded()||(this.disableRender(),this._spriteFrame&&(this._spriteFrame.once("load",this._onTextureLoaded,this),this._spriteFrame.ensureLoadTexture())),this._updateAssembler(),this._activateMaterial(),this.node.on(r.SIZE_CHANGED,this._onNodeSizeDirty,this),this.node.on(r.ANCHOR_CHANGED,this._onNodeSizeDirty,this)},onDisable:function(){this._super(),this.node.off(r.SIZE_CHANGED,this._onNodeSizeDirty,this),this.node.off(r.ANCHOR_CHANGED,this._onNodeSizeDirty,this)},_onNodeSizeDirty:function(){this._renderData&&this.markForUpdateRenderData(!0)},_updateAssembler:function(){var t=y._assembler.getAssembler(this);this._assembler!==t&&(this._assembler=t,this._renderData=null),this._renderData||(this._renderData=this._assembler.createData(this),this._renderData.material=this._material,this.markForUpdateRenderData(!0))},_activateMaterial:function(){var t=this._spriteFrame;if(cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS){var e=void 0;if(this._state===p.GRAY?(this._graySpriteMaterial||(this._graySpriteMaterial=new c),e=this._graySpriteMaterial):(this._spriteMaterial||(this._spriteMaterial=new l),e=this._spriteMaterial),e.useColor=!1,t&&t.textureLoaded()){var i=t.getTexture();e.texture!==i?(e.texture=i,this._updateMaterial(e)):e!==this._material&&this._updateMaterial(e),this._renderData&&(this._renderData.material=e),this.node._renderFlag|=a.FLAG_COLOR,this.markForUpdateRenderData(!0),this.markForRender(!0)}else this.disableRender()}else this.markForUpdateRenderData(!0),this.markForRender(!0)},_updateMaterial:function(t){this._material=t,this._updateBlendFunc(),t.updateHash()},_updateBlendFunc:function(t){this._material&&(this._material._mainTech.passes[0].setBlend(h.BLEND_FUNC_ADD,this._srcBlendFactor,this._dstBlendFactor,h.BLEND_FUNC_ADD,this._srcBlendFactor,this._dstBlendFactor),t&&this._material.updateHash())},_applyAtlas:!1,_canRender:function(){if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){if(!this._enabled)return!1}else if(!this._enabled||!this._material||!this.node._activeInHierarchy)return!1;var t=this._spriteFrame;return!(!t||!t.textureLoaded())},markForUpdateRenderData:function(t){if(t&&this._canRender()){this.node._renderFlag|=a.FLAG_UPDATE_RENDER_DATA;var e=this._renderData;e&&(e.uvDirty=!0,e.vertDirty=!0)}else t||(this.node._renderFlag&=~a.FLAG_UPDATE_RENDER_DATA)},_applySpriteSize:function(){if(this._spriteFrame){if(d.RAW===this._sizeMode){var t=this._spriteFrame.getOriginalSize();this.node.setContentSize(t)}else if(d.TRIMMED===this._sizeMode){var e=this._spriteFrame.getRect();this.node.setContentSize(e.width,e.height)}this._activateMaterial()}},_onTextureLoaded:function(){this.isValid&&this._applySpriteSize()},_applySpriteFrame:function(t){t&&t.off&&t.off("load",this._onTextureLoaded,this);var e=this._spriteFrame;e&&(this._material&&this._material._texture)===(e&&e._texture)||this.markForRender(!1),e&&(t&&e._texture===t._texture?this._applySpriteSize():e.textureLoaded()?this._onTextureLoaded(null):(e.once("load",this._onTextureLoaded,this),e.ensureLoadTexture()))},_resized:!1,_calDynamicAtlas:function(){if(this._spriteFrame){if(!this._spriteFrame._original&&u){var t=u.insertSpriteFrame(this._spriteFrame);t&&this._spriteFrame._setDynamicAtlasFrame(t)}this._material._texture!==this._spriteFrame._texture&&this._activateMaterial()}}});cc.Sprite=e.exports=y}),{"../CCNode":29,"../platform/CCMacro":165,"../renderer/render-engine":202,"../renderer/render-flow":203,"../renderer/utils/dynamic-atlas/manager":205,"../utils/misc":242,"./CCRenderComponent":77}],83:[(function(t,e,i){var n=cc.Enum({NONE:0,CHECKBOX:1,TEXT_ATLAS:2,SLIDER_BAR:3,LIST_VIEW:4,PAGE_VIEW:5}),r=cc.Enum({VERTICAL:0,HORIZONTAL:1}),s=cc.Enum({TOP:0,CENTER:1,BOTTOM:2}),a=cc.Enum({LEFT:0,CENTER:1,RIGHT:2}),o=cc.Class({name:"cc.StudioComponent",extends:cc.Component,editor:!1,properties:!1,statics:{ComponentType:n,ListDirection:r,VerticalAlign:s,HorizontalAlign:a}}),h=t("../utils/prefab-helper");o.PlaceHolder=cc.Class({name:"cc.StudioComponent.PlaceHolder",extends:cc.Component,properties:{_baseUrl:"",nestedPrefab:cc.Prefab},onLoad:function(){this.nestedPrefab&&this._replaceWithNestedPrefab()},_replaceWithNestedPrefab:function(){var t=this.node,e=t._prefab;e.root=t,e.asset=this.nestedPrefab,h.syncWithPrefab(t)}}),cc.StudioComponent=e.exports=o;var l=cc.Class({name:"cc.StudioWidget",extends:cc.Widget,editor:!1,_validateTargetInDEV:function(){}});cc.StudioWidget=e.exports=l}),{"../utils/prefab-helper":245}],84:[(function(t,e,i){var n=cc.Class({name:"cc.Toggle",extends:t("./CCButton"),editor:!1,properties:{_N$isChecked:!0,isChecked:{get:function(){return this._N$isChecked},set:function(t){if(t!==this._N$isChecked){var e=this.toggleGroup||this._toggleContainer;e&&e.enabled&&this._N$isChecked&&!e.allowSwitchOff||(this._N$isChecked=t,this._updateCheckMark(),e&&e.enabled&&e.updateToggles(this),this._emitToggleEvents())}},tooltip:!1},toggleGroup:{default:null,tooltip:!1,type:t("./CCToggleGroup")},checkMark:{default:null,type:cc.Sprite,tooltip:!1},checkEvents:{default:[],type:cc.Component.EventHandler},_resizeToTarget:{animatable:!1,set:function(t){t&&this._resizeNodeToTargetNode()}}},onEnable:function(){this._super(),this._registerToggleEvent(),this.toggleGroup&&this.toggleGroup.enabledInHierarchy&&this.toggleGroup.addToggle(this)},onDisable:function(){this._super(),this._unregisterToggleEvent(),this.toggleGroup&&this.toggleGroup.enabledInHierarchy&&this.toggleGroup.removeToggle(this)},_hideCheckMark:function(){this._N$isChecked=!1,this._updateCheckMark()},toggle:function(t){this.isChecked=!this.isChecked},check:function(){this.isChecked=!0},uncheck:function(){this.isChecked=!1},_updateCheckMark:function(){this.checkMark&&(this.checkMark.node.active=!!this.isChecked)},_updateDisabledState:function(){this._super(),this.checkMark&&this.checkMark.setState(0),this.enableAutoGrayEffect&&this.checkMark&&!this.interactable&&this.checkMark.setState(1)},_registerToggleEvent:function(){this.node.on("click",this.toggle,this)},_unregisterToggleEvent:function(){this.node.off("click",this.toggle,this)},_emitToggleEvents:function(){this.node.emit("toggle",this),this.checkEvents&&cc.Component.EventHandler.emitEvents(this.checkEvents,this)}});cc.Toggle=e.exports=n,t("../platform/js").get(n.prototype,"_toggleContainer",(function(){var t=this.node.parent;return cc.Node.isNode(t)?t.getComponent(cc.ToggleContainer):null}))}),{"../platform/js":180,"./CCButton":65,"./CCToggleGroup":86}],85:[(function(t,e,i){var n=cc.Class({name:"cc.ToggleContainer",extends:cc.Component,editor:!1,properties:{allowSwitchOff:{tooltip:!1,default:!1},checkEvents:{default:[],type:cc.Component.EventHandler}},updateToggles:function(t){this.enabledInHierarchy&&t.isChecked&&(this.toggleItems.forEach((function(e){e!==t&&e.isChecked&&e.enabled&&e._hideCheckMark()})),this.checkEvents&&cc.Component.EventHandler.emitEvents(this.checkEvents,t))},_allowOnlyOneToggleChecked:function(){var t=!1;return this.toggleItems.forEach((function(e){t?e._hideCheckMark():e.isChecked&&(t=!0)})),t},_makeAtLeastOneToggleChecked:function(){if(!this._allowOnlyOneToggleChecked()&&!this.allowSwitchOff){var t=this.toggleItems;t.length>0&&t[0].check()}},onEnable:function(){this.node.on("child-added",this._allowOnlyOneToggleChecked,this),this.node.on("child-removed",this._makeAtLeastOneToggleChecked,this)},onDisable:function(){this.node.off("child-added",this._allowOnlyOneToggleChecked,this),this.node.off("child-removed",this._makeAtLeastOneToggleChecked,this)},start:function(){this._makeAtLeastOneToggleChecked()}});t("../platform/js").get(n.prototype,"toggleItems",(function(){return this.node.getComponentsInChildren(cc.Toggle)})),cc.ToggleContainer=e.exports=n}),{"../platform/js":180}],86:[(function(t,e,i){var n=cc.Class({name:"cc.ToggleGroup",extends:cc.Component,ctor:function(){this._toggleItems=[]},editor:!1,properties:{allowSwitchOff:{tooltip:!1,default:!1},toggleItems:{get:function(){return this._toggleItems}}},updateToggles:function(t){this.enabledInHierarchy&&this._toggleItems.forEach((function(e){t.isChecked&&e!==t&&e.isChecked&&e.enabled&&e._hideCheckMark()}))},addToggle:function(t){-1===this._toggleItems.indexOf(t)&&this._toggleItems.push(t),this._allowOnlyOneToggleChecked()},removeToggle:function(t){var e=this._toggleItems.indexOf(t);e>-1&&this._toggleItems.splice(e,1),this._makeAtLeastOneToggleChecked()},_allowOnlyOneToggleChecked:function(){var t=!1;return this._toggleItems.forEach((function(e){t&&e.enabled&&e._hideCheckMark(),e.isChecked&&e.enabled&&(t=!0)})),t},_makeAtLeastOneToggleChecked:function(){this._allowOnlyOneToggleChecked()||this.allowSwitchOff||this._toggleItems.length>0&&(this._toggleItems[0].isChecked=!0)},start:function(){this._makeAtLeastOneToggleChecked()}}),r=!1;t("../platform/js").get(cc,"ToggleGroup",(function(){return r||(cc.logID(1405,"cc.ToggleGroup","cc.ToggleContainer"),r=!0),n})),e.exports=n}),{"../platform/js":180}],87:[(function(t,e,i){var n=cc.Class({name:"cc.ViewGroup",extends:t("./CCComponent")});cc.ViewGroup=e.exports=n}),{"./CCComponent":67}],88:[(function(t,e,i){var n=t("../base-ui/CCWidgetManager"),r=n.AlignMode,s=n._AlignFlags,a=s.TOP,o=s.MID,h=s.BOT,l=s.LEFT,c=s.CENTER,u=s.RIGHT,_=a|h,f=l|u,m=cc.Class({name:"cc.Widget",extends:t("./CCComponent"),editor:!1,properties:{target:{get:function(){return this._target},set:function(t){this._target=t},type:cc.Node,tooltip:!1},isAlignTop:{get:function(){return(this._alignFlags&a)>0},set:function(t){this._setAlign(a,t)},animatable:!1,tooltip:!1},isAlignVerticalCenter:{get:function(){return(this._alignFlags&o)>0},set:function(t){t?(this.isAlignTop=!1,this.isAlignBottom=!1,this._alignFlags|=o):this._alignFlags&=~o},animatable:!1,tooltip:!1},isAlignBottom:{get:function(){return(this._alignFlags&h)>0},set:function(t){this._setAlign(h,t)},animatable:!1,tooltip:!1},isAlignLeft:{get:function(){return(this._alignFlags&l)>0},set:function(t){this._setAlign(l,t)},animatable:!1,tooltip:!1},isAlignHorizontalCenter:{get:function(){return(this._alignFlags&c)>0},set:function(t){t?(this.isAlignLeft=!1,this.isAlignRight=!1,this._alignFlags|=c):this._alignFlags&=~c},animatable:!1,tooltip:!1},isAlignRight:{get:function(){return(this._alignFlags&u)>0},set:function(t){this._setAlign(u,t)},animatable:!1,tooltip:!1},isStretchWidth:{get:function(){return(this._alignFlags&f)===f},visible:!1},isStretchHeight:{get:function(){return(this._alignFlags&_)===_},visible:!1},top:{get:function(){return this._top},set:function(t){this._top=t},tooltip:!1},bottom:{get:function(){return this._bottom},set:function(t){this._bottom=t},tooltip:!1},left:{get:function(){return this._left},set:function(t){this._left=t},tooltip:!1},right:{get:function(){return this._right},set:function(t){this._right=t},tooltip:!1},horizontalCenter:{get:function(){return this._horizontalCenter},set:function(t){this._horizontalCenter=t},tooltip:!1},verticalCenter:{get:function(){return this._verticalCenter},set:function(t){this._verticalCenter=t},tooltip:!1},isAbsoluteHorizontalCenter:{get:function(){return this._isAbsHorizontalCenter},set:function(t){this._isAbsHorizontalCenter=t},animatable:!1},isAbsoluteVerticalCenter:{get:function(){return this._isAbsVerticalCenter},set:function(t){this._isAbsVerticalCenter=t},animatable:!1},isAbsoluteTop:{get:function(){return this._isAbsTop},set:function(t){this._isAbsTop=t},animatable:!1},isAbsoluteBottom:{get:function(){return this._isAbsBottom},set:function(t){this._isAbsBottom=t},animatable:!1},isAbsoluteLeft:{get:function(){return this._isAbsLeft},set:function(t){this._isAbsLeft=t},animatable:!1},isAbsoluteRight:{get:function(){return this._isAbsRight},set:function(t){this._isAbsRight=t},animatable:!1},alignMode:{default:r.ON_WINDOW_RESIZE,type:r,tooltip:!1},_wasAlignOnce:{default:void 0,formerlySerializedAs:"isAlignOnce"},_target:null,_alignFlags:0,_left:0,_right:0,_top:0,_bottom:0,_verticalCenter:0,_horizontalCenter:0,_isAbsLeft:!0,_isAbsRight:!0,_isAbsTop:!0,_isAbsBottom:!0,_isAbsHorizontalCenter:!0,_isAbsVerticalCenter:!0,_originalWidth:0,_originalHeight:0},statics:{AlignMode:r},onLoad:function(){void 0!==this._wasAlignOnce&&(this.alignMode=this._wasAlignOnce?r.ONCE:r.ALWAYS,this._wasAlignOnce=void 0)},onEnable:function(){n.add(this)},onDisable:function(){n.remove(this)},_validateTargetInDEV:!1,_setAlign:function(t,e){if(e!==(this._alignFlags&t)>0){var i=(t&f)>0;e?(this._alignFlags|=t,i?(this.isAlignHorizontalCenter=!1,this.isStretchWidth&&(this._originalWidth=this.node.width)):(this.isAlignVerticalCenter=!1,this.isStretchHeight&&(this._originalHeight=this.node.height))):(i?this.isStretchWidth&&(this.node.width=this._originalWidth):this.isStretchHeight&&(this.node.height=this._originalHeight),this._alignFlags&=~t)}},updateAlignment:function(){n.updateAlignment(this.node)}});Object.defineProperty(m.prototype,"isAlignOnce",{get:function(){return this.alignMode===r.ONCE},set:function(t){this.alignMode=t?r.ONCE:r.ALWAYS}}),cc.Widget=e.exports=m}),{"../base-ui/CCWidgetManager":51,"./CCComponent":67}],89:[(function(t,e,i){var n=t("./CCComponent"),r=void 0;r=cc.sys.platform===cc.sys.BAIDU_GAME?cc.Class({name:"cc.SwanSubContextView",extends:n,editor:!1,ctor:function(){this._sprite=null,this._tex=new cc.Texture2D,this._context=null},onLoad:function(){if(swan.getOpenDataContext){this._context=swan.getOpenDataContext();var t=this._context.canvas;t&&(t.width=this.node.width,t.height=this.node.height),this._tex.setPremultiplyAlpha(!0),this._tex.initWithElement(t),this._sprite=this.node.getComponent(cc.Sprite),this._sprite||(this._sprite=this.node.addComponent(cc.Sprite),this._sprite.srcBlendFactor=cc.macro.BlendFactor.ONE),this._sprite.spriteFrame=new cc.SpriteFrame(this._tex)}else this.enabled=!1},onEnable:function(){this.updateSubContextViewport()},update:function(){this._tex&&this._context&&(this._tex.initWithElement(this._context.canvas),this._sprite._activateMaterial())},updateSubContextViewport:function(){if(this._context){var t=this.node.getBoundingBoxToWorld(),e=cc.view._scaleX,i=cc.view._scaleY;this._context.postMessage({fromEngine:!0,event:"viewport",x:t.x*e+cc.view._viewportRect.x,y:t.y*i+cc.view._viewportRect.y,width:t.width*e,height:t.height*i})}}}):cc.Class({name:"cc.SwanSubContextView",extends:n}),cc.SwanSubContextView=e.exports=r}),{"./CCComponent":67}],90:[(function(t,e,i){var n=t("./CCComponent"),r=void 0;r=cc.Class({name:"cc.WXSubContextView",extends:n}),cc.WXSubContextView=e.exports=r}),{"./CCComponent":67}],91:[(function(t,e,i){var n=t("../../platform/CCMacro"),r=t("../editbox/CCEditBoxImpl"),s=t("../CCLabel"),a=t("./types"),o=a.InputMode,h=a.InputFlag,l=a.KeyboardReturnType;var c=cc.Class({name:"cc.EditBox",extends:cc.Component,editor:!1,properties:{_useOriginalSize:!0,_string:"",string:{tooltip:!1,get:function(){return this._string},set:function(t){this.maxLength>=0&&t.length>=this.maxLength&&(t=t.slice(0,this.maxLength)),this._string=t,this._impl&&this._updateString(t)}},backgroundImage:{tooltip:!1,default:null,type:cc.SpriteFrame,notify:function(){this._createBackgroundSprite()}},returnType:{default:l.DEFAULT,tooltip:!1,displayName:"KeyboardReturnType",type:l,notify:function(){this._impl&&(this._impl.returnType=this.returnType)}},inputFlag:{tooltip:!1,default:h.DEFAULT,type:h,notify:function(){this._impl&&(this._impl.setInputFlag(this.inputFlag),this._updateString(this._string))}},inputMode:{tooltip:!1,default:o.ANY,type:o,notify:function(){this._impl&&this._impl.setInputMode(this.inputMode)}},fontSize:{tooltip:!1,default:20,notify:function(){this._textLabel&&(this._textLabel.fontSize=this.fontSize),this._impl&&this._impl.setFontSize(this.fontSize)}},lineHeight:{tooltip:!1,default:40,notify:function(){this._textLabel&&(this._textLabel.lineHeight=this.lineHeight)}},fontColor:{tooltip:!1,default:cc.Color.WHITE,notify:function(){this._textLabel&&(this._textLabel.node.opacity=this.fontColor.a,this._textLabel.node.color=this.fontColor),this._impl&&this._impl.setFontColor(this.fontColor)}},placeholder:{tooltip:!1,default:"Enter text here...",notify:function(){this._placeholderLabel&&(this._placeholderLabel.string=this.placeholder),this._impl&&this._impl.setPlaceholderText(this.placeholder)}},placeholderFontSize:{tooltip:!1,default:20,notify:function(){this._placeholderLabel&&(this._placeholderLabel.fontSize=this.placeholderFontSize)}},placeholderFontColor:{tooltip:!1,default:cc.Color.GRAY,notify:function(){this._placeholderLabel&&(this._placeholderLabel.node.color=this.placeholderFontColor,this._placeholderLabel.node.opacity=this.placeholderFontColor.a)}},maxLength:{tooltip:!1,default:20,notify:function(){this._impl&&this._impl.setMaxLength(this.maxLength)}},stayOnTop:{tooltip:!1,default:!1,notify:function(){this._impl&&this._updateStayOnTop()}},_tabIndex:0,tabIndex:{tooltip:!1,get:function(){return this._tabIndex},set:function(t){this._tabIndex=t,this._impl&&this._impl.setTabIndex(t)}},editingDidBegan:{default:[],type:cc.Component.EventHandler},textChanged:{default:[],type:cc.Component.EventHandler},editingDidEnded:{default:[],type:cc.Component.EventHandler},editingReturn:{default:[],type:cc.Component.EventHandler}},statics:{_EditBoxImpl:r,KeyboardReturnType:l,InputFlag:h,InputMode:o},_init:function(){this._createBackgroundSprite(),this._createLabels(),this.node.on(cc.Node.EventType.SIZE_CHANGED,this._resizeChildNodes,this);var t=this._impl=new r;t.setDelegate(this),t.setNode(this.node),t.setInputMode(this.inputMode),t.setMaxLength(this.maxLength),t.setInputFlag(this.inputFlag),t.setReturnType(this.returnType),t.setTabIndex(this.tabIndex),t.setFontColor(this.fontColor),t.setFontSize(this.fontSize),t.setPlaceholderText(this.placeholder),this._updateStayOnTop(),this._updateString(this.string),this._syncSize()},_updateStayOnTop:function(){this.stayOnTop?this._hideLabels():this._showLabels(),this._impl.stayOnTop(this.stayOnTop)},_syncSize:function(){var t=this.node.getContentSize();this._background.node.setAnchorPoint(this.node.getAnchorPoint()),this._background.node.setContentSize(t),this._updateLabelPosition(t),this._impl.setSize(t.width,t.height)},_updateLabelPosition:function(t){var e=this.node,i=-e.anchorX*e.width,r=-e.anchorY*e.height,s=this._placeholderLabel,a=this._textLabel;a.node.setContentSize(t.width-2,t.height),s.node.setContentSize(t.width-2,t.height),s.lineHeight=t.height,s.node.setPosition(i+2,r+t.height),a.node.setPosition(i+2,r+t.height),this.inputMode===o.ANY?(s.verticalAlign=n.VerticalTextAlignment.TOP,s.enableWrapText=!0,a.verticalAlign=n.VerticalTextAlignment.TOP,a.enableWrapText=!0):(s.verticalAlign=n.VerticalTextAlignment.CENTER,s.enableWrapText=!1,a.verticalAlign=n.VerticalTextAlignment.CENTER,a.enableWrapText=!1)},_createBackgroundSprite:function(){var t=this._background;if(!t){var e=this.node.getChildByName("BACKGROUND_SPRITE");e||(e=new cc.Node("BACKGROUND_SPRITE")),(t=e.getComponent(cc.Sprite))||(t=e.addComponent(cc.Sprite)),t.type=cc.Sprite.Type.SLICED,e.parent=this.node,this._background=t}t.spriteFrame=this.backgroundImage},_createLabels:function(){if(!this._textLabel){var t=this.node.getChildByName("TEXT_LABEL");t||(t=new cc.Node("TEXT_LABEL")),t.color=this.fontColor,t.parent=this.node,t.setAnchorPoint(0,1);var e=t.getComponent(s);e||(e=t.addComponent(s)),e.overflow=s.Overflow.CLAMP,e.fontSize=this.fontSize,e.lineHeight=this.lineHeight,this._textLabel=e}if(!this._placeholderLabel){var i=this.node.getChildByName("PLACEHOLDER_LABEL");i||(i=new cc.Node("PLACEHOLDER_LABEL")),i.color=this.placeholderFontColor,i.parent=this.node,i.setAnchorPoint(0,1);var n=i.getComponent(s);n||(n=i.addComponent(s)),n.overflow=s.Overflow.CLAMP,n.fontSize=this.placeholderFontSize,n.string=this.placeholder,this._placeholderLabel=n}},_resizeChildNodes:function(){var t=this._textLabel.node,e=this._placeholderLabel.node,i=this._background.node;t.x=-this.node.width/2,t.y=this.node.height/2,t.width=this.node.width,t.height=this.node.height,e.x=-this.node.width/2,e.y=this.node.height/2,e.width=this.node.width,e.height=this.node.height,i.width=this.node.width,i.height=this.node.height},_showLabels:function(){var t=this._textLabel.string;this._textLabel.node.active=""!==t,this._placeholderLabel.node.active=""===t},_hideLabels:function(){this._textLabel.node.active=!1,this._placeholderLabel.node.active=!1},_updateString:function(t){var e=this._textLabel;if(e){var i=t;i&&(i=this._updateLabelStringStyle(i)),e.string=i,this._impl.setString(t),this._impl._editing||this.stayOnTop||this._showLabels()}},_updateLabelStringStyle:function(t,e){var i=this.inputFlag;if(e||i!==h.PASSWORD)i===h.INITIAL_CAPS_ALL_CHARACTERS?t=t.toUpperCase():i===h.INITIAL_CAPS_WORD?t=(function(t){return t.replace(/(?:^|\s)\S/g,(function(t){return t.toUpperCase()}))})(t):i===h.INITIAL_CAPS_SENTENCE&&(t=(function(t){return t.charAt(0).toUpperCase()+t.slice(1)})(t));else{for(var n="",r=t.length,s=0;s<r;++s)n+="\u25cf";t=n}return t},editBoxEditingDidBegan:function(){this._hideLabels(),cc.Component.EventHandler.emitEvents(this.editingDidBegan,this),this.node.emit("editing-did-began",this)},editBoxEditingDidEnded:function(){this.stayOnTop||this._showLabels(),cc.Component.EventHandler.emitEvents(this.editingDidEnded,this),this.node.emit("editing-did-ended",this)},editBoxTextChanged:function(t){t=this._updateLabelStringStyle(t,!0),this.string=t,cc.Component.EventHandler.emitEvents(this.textChanged,t,this),this.node.emit("text-changed",this)},editBoxEditingReturn:function(){cc.Component.EventHandler.emitEvents(this.editingReturn,this),this.node.emit("editing-return",this)},onDestroy:function(){this._impl.clear()},onEnable:function(){this._impl&&this._impl.onEnable()},onDisable:function(){this._impl&&this._impl.onDisable()},__preload:function(){this._registerEvent(),this._init()},_registerEvent:function(){this.node.on(cc.Node.EventType.TOUCH_START,this._onTouchBegan,this),this.node.on(cc.Node.EventType.TOUCH_END,this._onTouchEnded,this)},_onTouchBegan:function(t){this._impl&&this._impl._onTouchBegan(t.touch),t.stopPropagation()},_onTouchCancel:function(t){this._impl&&this._impl._onTouchCancel(),t.stopPropagation()},_onTouchEnded:function(t){this._impl&&this._impl._onTouchEnded(),t.stopPropagation()},setFocus:function(){this._impl&&this._impl.setFocus()},isFocused:function(){var t=!1;return this._impl&&(t=this._impl.isFocused()),t},update:function(){this._impl&&this._impl.update()}});cc.EditBox=e.exports=c}),{"../../platform/CCMacro":165,"../CCLabel":69,"../editbox/CCEditBoxImpl":92,"./types":93}],92:[(function(t,e,i){var n=t("../../platform/utils"),r=t("../../platform/CCMacro"),s=t("./types"),a=s.InputMode,o=s.InputFlag,h=s.KeyboardReturnType,l=cc.vmath,c=l.mat4.create(),u=l.mat4.create(),_=cc.v3(),f=null,m={zoomInvalid:!1};cc.sys.OS_ANDROID!==cc.sys.os||cc.sys.browserType!==cc.sys.BROWSER_TYPE_SOUGOU&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_360||(m.zoomInvalid=!0);var d=cc.Class({ctor:function(){this._delegate=null,this._inputMode=-1,this._inputFlag=-1,this._returnType=h.DEFAULT,this._maxLength=50,this._text="",this._placeholderText="",this._alwaysOnTop=!1,this._size=cc.size(),this._node=null,this._editing=!1,this.__eventListeners={},this.__fullscreen=!1,this.__autoResize=!1,this.__rotateScreen=!1,this.__orientationChanged=null,this._m00=0,this._m01=0,this._m04=0,this._m05=0,this._m12=0,this._m13=0,this._w=0,this._h=0},onEnable:function(){this._edTxt&&(this._alwaysOnTop?this._edTxt.style.display="":this._edTxt.style.display="none")},onDisable:function(){this._edTxt&&(this._edTxt.style.display="none")},setTabIndex:function(t){this._edTxt&&(this._edTxt.tabIndex=t)},setFocus:function(){this._beginEditing()},isFocused:function(){return this._edTxt?document.activeElement===this._edTxt:(cc.warnID(4700),!1)},stayOnTop:function(t){this._alwaysOnTop!==t&&this._edTxt&&(this._alwaysOnTop=t,this._edTxt.style.display=t?"":"none")},setMaxLength:function(t){isNaN(t)||(t<0&&(t=65535),this._maxLength=t,this._edTxt&&(this._edTxt.maxLength=t))},setString:function(t){this._text=t,this._edTxt&&(this._edTxt.value=t)},getString:function(){return this._text},setPlaceholderText:function(t){this._placeholderText=t},getPlaceholderText:function(){return this._placeholderText},setDelegate:function(t){this._delegate=t},setInputMode:function(t){this._inputMode!==t&&(this._inputMode=t,this.createInput(),this._updateDomInputType(),this._updateSize(this._size.width,this._size.height))},setInputFlag:function(t){if(this._inputFlag!==t){this._inputFlag=t,this._updateDomInputType();var e="none";t===o.INITIAL_CAPS_ALL_CHARACTERS?e="uppercase":t===o.INITIAL_CAPS_WORD&&(e="capitalize"),this._edTxt&&(this._edTxt.style.textTransform=e,this._edTxt.value=this._text)}},setReturnType:function(t){this._returnType=t,this._updateDomInputType()},setFontSize:function(t){this._edFontSize=t||this._edFontSize,this._edTxt&&(this._edTxt.style.fontSize=this._edFontSize+"px")},setFontColor:function(t){this._textColor=t,this._edTxt&&(this._edTxt.style.color=t.toCSS("rgba"))},setSize:function(t,e){this._size.width=t,this._size.height=e,this._updateSize(t,e)},setNode:function(t){this._node=t},update:function(){this._updateMatrix()},clear:function(){this._node=null,this.setDelegate(null),this.removeDom(),this.removeOrientationchangeEvent()},_onTouchBegan:function(t){},_onTouchEnded:function(){this._beginEditing()},_beginEditing:function(){var t=this;cc.sys.isMobile&&!this._editing&&this.addOrientationchangeEvent(),this._edTxt&&(function(){t._edTxt.style.display="";var e=t;function i(){e._edTxt.focus()}cc.sys.browserType===cc.sys.BROWSER_TYPE_UC?setTimeout(i,400):cc.sys.browserType===cc.sys.BROWSER_TYPE_FIREFOX?setTimeout(i,0):i()})(),this._editing=!0},_endEditing:function(){var t=this,e=function(){!t._alwaysOnTop&&t._edTxt&&(t._edTxt.style.display="none"),t._delegate&&t._delegate.editBoxEditingDidEnded&&t._delegate.editBoxEditingDidEnded()};this._editing&&(cc.sys.isMobile?setTimeout((function(){t._endEditingOnMobile(),e()}),400):e()),this._editing=!1},_updateDomInputType:function(){var t=this._inputMode,e=this._edTxt;if(e)if(this._inputFlag!==o.PASSWORD){var i=e.type;t===a.EMAIL_ADDR?i="email":t===a.NUMERIC||t===a.DECIMAL?i="number":t===a.PHONE_NUMBER?(i="number",e.pattern="[0-9]*"):t===a.URL?i="url":(i="text",this._returnType===h.SEARCH&&(i="search")),e.type=i}else e.type="password"},_updateSize:function(t,e){var i=this._edTxt;i&&(i.style.width=t+"px",i.style.height=e+"px")},_updateMatrix:function(){if(this._edTxt){var t=this._node;if(t.getWorldMatrix(c),this._m00!==c.m00||this._m01!==c.m01||this._m04!==c.m04||this._m05!==c.m05||this._m12!==c.m12||this._m13!==c.m13||this._w!==t._contentSize.width||this._h!==t._contentSize.height){this._m00=c.m00,this._m01=c.m01,this._m04=c.m04,this._m05=c.m05,this._m12=c.m12,this._m13=c.m13,this._w=t._contentSize.width,this._h=t._contentSize.height;var e=cc.view._scaleX,i=cc.view._scaleY,n=cc.view._viewportRect,r=cc.view._devicePixelRatio;_.x=-t._anchorPoint.x*this._w,_.y=-t._anchorPoint.y*this._h,l.mat4.translate(c,c,_),cc.Camera.findCamera(t).getWorldToCameraMatrix(u),l.mat4.mul(u,u,c),e/=r,i/=r;var s=cc.game.container,a=u.m00*e,o=u.m01,h=u.m04,f=u.m05*i,d=s&&s.style.paddingLeft&&parseInt(s.style.paddingLeft);d+=n.x/r;var p=s&&s.style.paddingBottom&&parseInt(s.style.paddingBottom);p+=n.y/r;var y=u.m12*e+d,v=u.m13*i+p;m.zoomInvalid&&(this._updateSize(this._size.width*a,this._size.height*f),a=1,f=1);var g="matrix("+a+","+-o+","+-h+","+f+","+y+","+-v+")";this._edTxt.style.transform=g,this._edTxt.style["-webkit-transform"]=g,this._edTxt.style["transform-origin"]="0px 100% 0px",this._edTxt.style["-webkit-transform-origin"]="0px 100% 0px"}}},_adjustEditBoxPosition:function(){this._node.getWorldMatrix(c);var t=c.m13,e=cc.visibleRect.height,i=.5;cc.visibleRect.width>e&&(i=.7),setTimeout((function(){if(window.scrollY<40&&t<e*i){var n=e*i-t-window.scrollY;n<35&&(n=35),n>320&&(n=320),window.scrollTo(0,n)}}),400)}}),p=d.prototype;function y(t,e){t.value.length>e._maxLength&&(t.value=t.value.slice(0,e._maxLength)),e._delegate&&e._delegate.editBoxTextChanged&&e._text!==t.value&&(e._text=t.value,e._delegate.editBoxTextChanged(e._text))}function v(t,e,i){var n=!1,s=!1,a=e.__eventListeners;a.compositionstart=function(){n=!0},t.addEventListener("compositionstart",a.compositionstart),a.compositionend=function(){n=!1,s&&(this.value=e._text,s=!1),y(this,e)},t.addEventListener("compositionend",a.compositionend),a.input=function(){n||y(this,e)},t.addEventListener("input",a.input),a.focus=function(){this.style.fontSize=e._edFontSize+"px",this.style.color=e._textColor.toCSS("rgba"),e._alwaysOnTop&&(e._editing=!0),cc.sys.isMobile&&e._beginEditingOnMobile(),e._delegate&&e._delegate.editBoxEditingDidBegan&&e._delegate.editBoxEditingDidBegan()},t.addEventListener("focus",a.focus),a.keypress=function(t){t.keyCode===r.KEY.enter&&(t.stopPropagation(),e._delegate&&e._delegate.editBoxEditingReturn&&e._delegate.editBoxEditingReturn(),i||(e._text=this.value,e._endEditing(),cc.game.canvas.focus()))},t.addEventListener("keypress",a.keypress),a.blur=function(){n?s=!0:e._text=this.value,e._endEditing()},t.addEventListener("blur",a.blur),e._addDomToGameContainer()}p.createInput=function(){this._inputMode===a.ANY?this._createDomTextArea():this._createDomInput()},p._beginEditingOnMobile=function(){this.addOrientationchangeEvent(),cc.view.isAutoFullScreenEnabled()?(this.__fullscreen=!0,cc.view.enableAutoFullScreen(!1),cc.screen.exitFullScreen()):this.__fullscreen=!1,this.__autoResize=cc.view._resizeWithBrowserSize,cc.view.resizeWithBrowserSize(!1),f=this},p._endEditingOnMobile=function(){if(this.__rotateScreen){cc.game.container.style["-webkit-transform"]="rotate(90deg)",cc.game.container.style.transform="rotate(90deg)";var t=cc.view,e=t._originalDesignResolutionSize.width,i=t._originalDesignResolutionSize.height;e>0&&t.setDesignResolutionSize(e,i,t._resolutionPolicy),this.__rotateScreen=!1}this.removeOrientationchangeEvent(),this.__fullscreen&&cc.view.enableAutoFullScreen(!0),this.__autoResize&&f===this&&cc.view.resizeWithBrowserSize(!0)},p._createDomInput=function(){this.removeDom();var t=this._edTxt=document.createElement("input");return t.type="text",t.style.fontSize=this._edFontSize+"px",t.style.color="#000000",t.style.border=0,t.style.background="transparent",t.style.width="100%",t.style.height="100%",t.style.active=0,t.style.outline="medium",t.style.padding="0",t.style.textTransform="uppercase",t.style.display="none",t.style.position="absolute",t.style.bottom="0px",t.style.left="2px",t.style["-moz-appearance"]="textfield",t.style.fontFamily="Arial",t.className="cocosEditBox",v(t,this),t},p._createDomTextArea=function(){this.removeDom();var t=this._edTxt=document.createElement("textarea");return t.style.fontSize=this._edFontSize+"px",t.style.color="#000000",t.style.border=0,t.style.background="transparent",t.style.width="100%",t.style.height="100%",t.style.active=0,t.style.outline="medium",t.style.padding="0",t.style.resize="none",t.style.textTransform="uppercase",t.style.overflow_y="scroll",t.style.display="none",t.style.position="absolute",t.style.bottom="0px",t.style.left="2px",t.style.fontFamily="Arial",t.className="cocosEditBox",v(t,this,!0),t},p._addDomToGameContainer=function(){cc.game.container.appendChild(this._edTxt)},p.removeDom=function(){var t=this._edTxt;if(t){var e=this.__eventListeners;t.removeEventListener("compositionstart",e.compositionstart),t.removeEventListener("compositionend",e.compositionend),t.removeEventListener("input",e.input),t.removeEventListener("focus",e.focus),t.removeEventListener("keypress",e.keypress),t.removeEventListener("blur",e.blur),e.compositionstart=null,e.compositionend=null,e.input=null,e.focus=null,e.keypress=null,e.blur=null,n.contains(cc.game.container,t)&&cc.game.container.removeChild(t)}this._edTxt=null},p.addOrientationchangeEvent=function(){var t=this;t.__orientationChanged||(t.__orientationChanged=function(){t._adjustEditBoxPosition()}),window.addEventListener("orientationchange",t.__orientationChanged)},p.removeOrientationchangeEvent=function(){this.__orientationChanged&&(window.removeEventListener("orientationchange",this.__orientationChanged),this.__orientationChanged=null)},e.exports=d}),{"../../platform/CCMacro":165,"../../platform/utils":184,"./types":93}],93:[(function(t,e,i){var n=cc.Enum({DEFAULT:0,DONE:1,SEND:2,SEARCH:3,GO:4,NEXT:5}),r=cc.Enum({ANY:0,EMAIL_ADDR:1,NUMERIC:2,PHONE_NUMBER:3,URL:4,DECIMAL:5,SINGLE_LINE:6}),s=cc.Enum({PASSWORD:0,SENSITIVE:1,INITIAL_CAPS_WORD:2,INITIAL_CAPS_SENTENCE:3,INITIAL_CAPS_ALL_CHARACTERS:4,DEFAULT:5});e.exports={KeyboardReturnType:n,InputMode:r,InputFlag:s}}),{}],94:[(function(t,e,i){t("./CCComponent"),t("./CCComponentEventHandler"),t("./missing-script");var n=[t("./CCSprite"),t("./CCWidget"),t("./CCCanvas"),t("./CCAudioSource"),t("./CCAnimation"),t("./CCButton"),t("./CCLabel"),t("./CCProgressBar"),t("./CCMask"),t("./CCScrollBar"),t("./CCScrollView"),t("./CCPageViewIndicator"),t("./CCPageView"),t("./CCSlider"),t("./CCLayout"),t("./editbox/CCEditBox"),t("./CCLabelOutline"),t("./CCRichText"),t("./CCToggleContainer"),t("./CCToggleGroup"),t("./CCToggle"),t("./CCBlockInputEvents"),t("./CCMotionStreak"),t("./WXSubContextView"),t("./SwanSubContextView")];e.exports=n}),{"./CCAnimation":62,"./CCAudioSource":63,"./CCBlockInputEvents":64,"./CCButton":65,"./CCCanvas":66,"./CCComponent":67,"./CCComponentEventHandler":68,"./CCLabel":69,"./CCLabelOutline":70,"./CCLayout":71,"./CCMask":72,"./CCMotionStreak":73,"./CCPageView":74,"./CCPageViewIndicator":75,"./CCProgressBar":76,"./CCRichText":78,"./CCScrollBar":79,"./CCScrollView":80,"./CCSlider":81,"./CCSprite":82,"./CCToggle":84,"./CCToggleContainer":85,"./CCToggleGroup":86,"./CCWidget":88,"./SwanSubContextView":89,"./WXSubContextView":90,"./editbox/CCEditBox":91,"./missing-script":95}],95:[(function(t,e,i){var n=cc.js,r=t("../utils/misc").BUILTIN_CLASSID_RE,s=cc.Class({name:"cc.MissingClass",properties:{_$erialized:{default:null,visible:!1,editorOnly:!0}}}),a=cc.Class({name:"cc.MissingScript",extends:cc.Component,editor:{inspector:"packages://inspector/inspectors/comps/missing-script.js"},properties:{compiled:{default:!1,serializable:!1},_$erialized:{default:null,visible:!1,editorOnly:!0}},ctor:!1,statics:{safeFindClass:function(t,e){var i=n._getClassById(t);return i||(t?(cc.deserialize.reportMissingClass(t),a.getMissingWrapper(t,e)):null)},getMissingWrapper:function(t,e){return e.node&&(/^[0-9a-zA-Z+/]{23}$/.test(t)||r.test(t))?a:s}},onLoad:function(){cc.warnID(4600,this.node.name)}});cc._MissingScript=e.exports=a}),{"../utils/misc":242}],96:[(function(t,e,i){var n=cc.js;t("../event/event");var r=function(t,e){cc.Event.call(this,cc.Event.MOUSE,e),this._eventType=t,this._button=0,this._x=0,this._y=0,this._prevX=0,this._prevY=0,this._scrollX=0,this._scrollY=0};n.extend(r,cc.Event);var s=r.prototype;s.setScrollData=function(t,e){this._scrollX=t,this._scrollY=e},s.getScrollX=function(){return this._scrollX},s.getScrollY=function(){return this._scrollY},s.setLocation=function(t,e){this._x=t,this._y=e},s.getLocation=function(){return cc.v2(this._x,this._y)},s.getLocationInView=function(){return cc.v2(this._x,cc.view._designResolutionSize.height-this._y)},s._setPrevCursor=function(t,e){this._prevX=t,this._prevY=e},s.getPreviousLocation=function(){return cc.v2(this._prevX,this._prevY)},s.getDelta=function(){return cc.v2(this._x-this._prevX,this._y-this._prevY)},s.getDeltaX=function(){return this._x-this._prevX},s.getDeltaY=function(){return this._y-this._prevY},s.setButton=function(t){this._button=t},s.getButton=function(){return this._button},s.getLocationX=function(){return this._x},s.getLocationY=function(){return this._y},r.NONE=0,r.DOWN=1,r.UP=2,r.MOVE=3,r.SCROLL=4,r.BUTTON_LEFT=0,r.BUTTON_RIGHT=2,r.BUTTON_MIDDLE=1,r.BUTTON_4=3,r.BUTTON_5=4,r.BUTTON_6=5,r.BUTTON_7=6,r.BUTTON_8=7;var a=function(t,e){cc.Event.call(this,cc.Event.TOUCH,e),this._eventCode=0,this._touches=t||[],this.touch=null,this.currentTouch=null};n.extend(a,cc.Event),(s=a.prototype).getEventCode=function(){return this._eventCode},s.getTouches=function(){return this._touches},s._setEventCode=function(t){this._eventCode=t},s._setTouches=function(t){this._touches=t},s.setLocation=function(t,e){this.touch&&this.touch.setTouchInfo(this.touch.getID(),t,e)},s.getLocation=function(){return this.touch?this.touch.getLocation():cc.v2()},s.getLocationInView=function(){return this.touch?this.touch.getLocationInView():cc.v2()},s.getPreviousLocation=function(){return this.touch?this.touch.getPreviousLocation():cc.v2()},s.getStartLocation=function(){return this.touch?this.touch.getStartLocation():cc.v2()},s.getID=function(){return this.touch?this.touch.getID():null},s.getDelta=function(){return this.touch?this.touch.getDelta():cc.v2()},s.getDeltaX=function(){return this.touch?this.touch.getDelta().x:0},s.getDeltaY=function(){return this.touch?this.touch.getDelta().y:0},s.getLocationX=function(){return this.touch?this.touch.getLocationX():0},s.getLocationY=function(){return this.touch?this.touch.getLocationY():0},a.MAX_TOUCHES=5,a.BEGAN=0,a.MOVED=1,a.ENDED=2,a.CANCELED=3;var o=function(t,e){cc.Event.call(this,cc.Event.ACCELERATION,e),this.acc=t};n.extend(o,cc.Event);var h=function(t,e,i){cc.Event.call(this,cc.Event.KEYBOARD,i),this.keyCode=t,this.isPressed=e};n.extend(h,cc.Event),cc.Event.EventMouse=r,cc.Event.EventTouch=a,cc.Event.EventAcceleration=o,cc.Event.EventKeyboard=h,e.exports=cc.Event}),{"../event/event":103}],97:[(function(t,e,i){var n=t("../platform/js");cc.EventListener=function(t,e,i){this._onEvent=i,this._type=t||0,this._listenerID=e||"",this._registered=!1,this._fixedPriority=0,this._node=null,this._target=null,this._paused=!0,this._isEnabled=!0},cc.EventListener.prototype={constructor:cc.EventListener,_setPaused:function(t){this._paused=t},_isPaused:function(){return this._paused},_setRegistered:function(t){this._registered=t},_isRegistered:function(){return this._registered},_getType:function(){return this._type},_getListenerID:function(){return this._listenerID},_setFixedPriority:function(t){this._fixedPriority=t},_getFixedPriority:function(){return this._fixedPriority},_setSceneGraphPriority:function(t){this._target=t,this._node=t},_getSceneGraphPriority:function(){return this._node},checkAvailable:function(){return null!==this._onEvent},clone:function(){return null},setEnabled:function(t){this._isEnabled=t},isEnabled:function(){return this._isEnabled},retain:function(){},release:function(){}},cc.EventListener.UNKNOWN=0,cc.EventListener.TOUCH_ONE_BY_ONE=1,cc.EventListener.TOUCH_ALL_AT_ONCE=2,cc.EventListener.KEYBOARD=3,cc.EventListener.MOUSE=4,cc.EventListener.ACCELERATION=6,cc.EventListener.CUSTOM=8;var r=cc.EventListener.ListenerID={MOUSE:"__cc_mouse",TOUCH_ONE_BY_ONE:"__cc_touch_one_by_one",TOUCH_ALL_AT_ONCE:"__cc_touch_all_at_once",KEYBOARD:"__cc_keyboard",ACCELERATION:"__cc_acceleration"},s=function(t,e){this._onCustomEvent=e,cc.EventListener.call(this,cc.EventListener.CUSTOM,t,this._callback)};n.extend(s,cc.EventListener),n.mixin(s.prototype,{_onCustomEvent:null,_callback:function(t){null!==this._onCustomEvent&&this._onCustomEvent(t)},checkAvailable:function(){return cc.EventListener.prototype.checkAvailable.call(this)&&null!==this._onCustomEvent},clone:function(){return new s(this._listenerID,this._onCustomEvent)}});var a=function(){cc.EventListener.call(this,cc.EventListener.MOUSE,r.MOUSE,this._callback)};n.extend(a,cc.EventListener),n.mixin(a.prototype,{onMouseDown:null,onMouseUp:null,onMouseMove:null,onMouseScroll:null,_callback:function(t){var e=cc.Event.EventMouse;switch(t._eventType){case e.DOWN:this.onMouseDown&&this.onMouseDown(t);break;case e.UP:this.onMouseUp&&this.onMouseUp(t);break;case e.MOVE:this.onMouseMove&&this.onMouseMove(t);break;case e.SCROLL:this.onMouseScroll&&this.onMouseScroll(t)}},clone:function(){var t=new a;return t.onMouseDown=this.onMouseDown,t.onMouseUp=this.onMouseUp,t.onMouseMove=this.onMouseMove,t.onMouseScroll=this.onMouseScroll,t},checkAvailable:function(){return!0}});var o=function(){cc.EventListener.call(this,cc.EventListener.TOUCH_ONE_BY_ONE,r.TOUCH_ONE_BY_ONE,null),this._claimedTouches=[]};n.extend(o,cc.EventListener),n.mixin(o.prototype,{constructor:o,_claimedTouches:null,swallowTouches:!1,onTouchBegan:null,onTouchMoved:null,onTouchEnded:null,onTouchCancelled:null,setSwallowTouches:function(t){this.swallowTouches=t},isSwallowTouches:function(){return this.swallowTouches},clone:function(){var t=new o;return t.onTouchBegan=this.onTouchBegan,t.onTouchMoved=this.onTouchMoved,t.onTouchEnded=this.onTouchEnded,t.onTouchCancelled=this.onTouchCancelled,t.swallowTouches=this.swallowTouches,t},checkAvailable:function(){return!!this.onTouchBegan||(cc.logID(1801),!1)}});var h=function(){cc.EventListener.call(this,cc.EventListener.TOUCH_ALL_AT_ONCE,r.TOUCH_ALL_AT_ONCE,null)};n.extend(h,cc.EventListener),n.mixin(h.prototype,{constructor:h,onTouchesBegan:null,onTouchesMoved:null,onTouchesEnded:null,onTouchesCancelled:null,clone:function(){var t=new h;return t.onTouchesBegan=this.onTouchesBegan,t.onTouchesMoved=this.onTouchesMoved,t.onTouchesEnded=this.onTouchesEnded,t.onTouchesCancelled=this.onTouchesCancelled,t},checkAvailable:function(){return null!==this.onTouchesBegan||null!==this.onTouchesMoved||null!==this.onTouchesEnded||null!==this.onTouchesCancelled||(cc.logID(1802),!1)}});var l=function(t){this._onAccelerationEvent=t,cc.EventListener.call(this,cc.EventListener.ACCELERATION,r.ACCELERATION,this._callback)};n.extend(l,cc.EventListener),n.mixin(l.prototype,{constructor:l,_onAccelerationEvent:null,_callback:function(t){this._onAccelerationEvent(t.acc,t)},checkAvailable:function(){return cc.assertID(this._onAccelerationEvent,1803),!0},clone:function(){return new l(this._onAccelerationEvent)}});var c=function(){cc.EventListener.call(this,cc.EventListener.KEYBOARD,r.KEYBOARD,this._callback)};n.extend(c,cc.EventListener),n.mixin(c.prototype,{constructor:c,onKeyPressed:null,onKeyReleased:null,_callback:function(t){t.isPressed?this.onKeyPressed&&this.onKeyPressed(t.keyCode,t):this.onKeyReleased&&this.onKeyReleased(t.keyCode,t)},clone:function(){var t=new c;return t.onKeyPressed=this.onKeyPressed,t.onKeyReleased=this.onKeyReleased,t},checkAvailable:function(){return null!==this.onKeyPressed||null!==this.onKeyReleased||(cc.logID(1800),!1)}}),cc.EventListener.create=function(t){cc.assertID(t&&t.event,1900);var e=t.event;delete t.event;var i=null;e===cc.EventListener.TOUCH_ONE_BY_ONE?i=new o:e===cc.EventListener.TOUCH_ALL_AT_ONCE?i=new h:e===cc.EventListener.MOUSE?i=new a:e===cc.EventListener.CUSTOM?(i=new s(t.eventName,t.callback),delete t.eventName,delete t.callback):e===cc.EventListener.KEYBOARD?i=new c:e===cc.EventListener.ACCELERATION&&(i=new l(t.callback),delete t.callback);for(var n in t)i[n]=t[n];return i},e.exports=cc.EventListener}),{"../platform/js":180}],98:[(function(t,e,i){var n=t("../platform/js");t("./CCEventListener");var r=cc.EventListener.ListenerID,s=function(){this._fixedListeners=[],this._sceneGraphListeners=[],this.gt0Index=0};s.prototype={constructor:s,size:function(){return this._fixedListeners.length+this._sceneGraphListeners.length},empty:function(){return 0===this._fixedListeners.length&&0===this._sceneGraphListeners.length},push:function(t){0===t._getFixedPriority()?this._sceneGraphListeners.push(t):this._fixedListeners.push(t)},clearSceneGraphListeners:function(){this._sceneGraphListeners.length=0},clearFixedListeners:function(){this._fixedListeners.length=0},clear:function(){this._sceneGraphListeners.length=0,this._fixedListeners.length=0},getFixedPriorityListeners:function(){return this._fixedListeners},getSceneGraphPriorityListeners:function(){return this._sceneGraphListeners}};var a={DIRTY_NONE:0,DIRTY_FIXED_PRIORITY:1,DIRTY_SCENE_GRAPH_PRIORITY:2,DIRTY_ALL:3,_listenersMap:{},_priorityDirtyFlagMap:{},_nodeListenersMap:{},_nodePriorityMap:n.createMap(!0),_globalZOrderNodeMap:[],_toAddedListeners:[],_toRemovedListeners:[],_dirtyNodes:[],_inDispatch:0,_isEnabled:!1,_nodePriorityIndex:0,_internalCustomListenerIDs:[],_setDirtyForNode:function(t){if(void 0!==this._nodeListenersMap[t._id]&&this._dirtyNodes.push(t),t.getChildren)for(var e=t.getChildren(),i=0,n=e?e.length:0;i<n;i++)this._setDirtyForNode(e[i])},pauseTarget:function(t,e){if(t instanceof cc._BaseNode){var i,n,r=this._nodeListenersMap[t._id];if(r)for(i=0,n=r.length;i<n;i++)r[i]._setPaused(!0);if(!0===e){var s=t.getChildren();for(i=0,n=s?s.length:0;i<n;i++)this.pauseTarget(s[i],!0)}}else cc.warnID(3506)},resumeTarget:function(t,e){if(t instanceof cc._BaseNode){var i,n,r=this._nodeListenersMap[t._id];if(r)for(i=0,n=r.length;i<n;i++)r[i]._setPaused(!1);if(this._setDirtyForNode(t),!0===e&&t.getChildren){var s=t.getChildren();for(i=0,n=s?s.length:0;i<n;i++)this.resumeTarget(s[i],!0)}}else cc.warnID(3506)},_addListener:function(t){0===this._inDispatch?this._forceAddEventListener(t):this._toAddedListeners.push(t)},_forceAddEventListener:function(t){var e=t._getListenerID(),i=this._listenersMap[e];if(i||(i=new s,this._listenersMap[e]=i),i.push(t),0===t._getFixedPriority()){this._setDirty(e,this.DIRTY_SCENE_GRAPH_PRIORITY);var n=t._getSceneGraphPriority();null===n&&cc.logID(3507),this._associateNodeAndEventListener(n,t),n.activeInHierarchy&&this.resumeTarget(n)}else this._setDirty(e,this.DIRTY_FIXED_PRIORITY)},_getListeners:function(t){return this._listenersMap[t]},_updateDirtyFlagForSceneGraph:function(){if(0!==this._dirtyNodes.length){for(var t,e,i=this._dirtyNodes,n=this._nodeListenersMap,r=0,s=i.length;r<s;r++)if(t=n[i[r]._id])for(var a=0,o=t.length;a<o;a++)(e=t[a])&&this._setDirty(e._getListenerID(),this.DIRTY_SCENE_GRAPH_PRIORITY);this._dirtyNodes.length=0}},_removeAllListenersInVector:function(t){if(t)for(var e,i=0;i<t.length;)(e=t[i])._setRegistered(!1),null!=e._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(e._getSceneGraphPriority(),e),e._setSceneGraphPriority(null)),0===this._inDispatch?cc.js.array.remove(t,e):++i},_removeListenersForListenerID:function(t){var e,i=this._listenersMap[t];if(i){var n=i.getFixedPriorityListeners(),r=i.getSceneGraphPriorityListeners();this._removeAllListenersInVector(r),this._removeAllListenersInVector(n),delete this._priorityDirtyFlagMap[t],this._inDispatch||(i.clear(),delete this._listenersMap[t])}var s,a=this._toAddedListeners;for(e=0;e<a.length;)(s=a[e])&&s._getListenerID()===t?cc.js.array.remove(a,s):++e},_sortEventListeners:function(t){var e=this.DIRTY_NONE,i=this._priorityDirtyFlagMap;if(i[t]&&(e=i[t]),e!==this.DIRTY_NONE&&(i[t]=this.DIRTY_NONE,e&this.DIRTY_FIXED_PRIORITY&&this._sortListenersOfFixedPriority(t),e&this.DIRTY_SCENE_GRAPH_PRIORITY)){var n=cc.director.getScene();n&&this._sortListenersOfSceneGraphPriority(t,n)}},_sortListenersOfSceneGraphPriority:function(t,e){var i=this._getListeners(t);if(i){var r=i.getSceneGraphPriorityListeners();r&&0!==r.length&&(this._nodePriorityIndex=0,this._nodePriorityMap=n.createMap(!0),this._visitTarget(e,!0),i.getSceneGraphPriorityListeners().sort(this._sortEventListenersOfSceneGraphPriorityDes))}},_sortEventListenersOfSceneGraphPriorityDes:function(t,e){var i=a._nodePriorityMap,n=t._getSceneGraphPriority(),r=e._getSceneGraphPriority();return e&&r&&i[r._id]?t&&n&&i[n._id]?i[r._id]-i[n._id]:1:-1},_sortListenersOfFixedPriority:function(t){var e=this._listenersMap[t];if(e){var i=e.getFixedPriorityListeners();if(i&&0!==i.length){i.sort(this._sortListenersOfFixedPriorityAsc);for(var n=0,r=i.length;n<r&&!(i[n]._getFixedPriority()>=0);)++n;e.gt0Index=n}}},_sortListenersOfFixedPriorityAsc:function(t,e){return t._getFixedPriority()-e._getFixedPriority()},_onUpdateListeners:function(t){var e,i,n,r=t.getFixedPriorityListeners(),s=t.getSceneGraphPriorityListeners(),a=this._toRemovedListeners;if(s)for(e=0;e<s.length;)(i=s[e])._isRegistered()?++e:(cc.js.array.remove(s,i),-1!==(n=a.indexOf(i))&&a.splice(n,1));if(r)for(e=0;e<r.length;)(i=r[e])._isRegistered()?++e:(cc.js.array.remove(r,i),-1!==(n=a.indexOf(i))&&a.splice(n,1));s&&0===s.length&&t.clearSceneGraphListeners(),r&&0===r.length&&t.clearFixedListeners()},frameUpdateListeners:function(){var t=this._listenersMap,e=this._priorityDirtyFlagMap;for(var i in t)t[i].empty()&&(delete e[i],delete t[i]);var n=this._toAddedListeners;if(0!==n.length){for(var r=0,s=n.length;r<s;r++)this._forceAddEventListener(n[r]);n.length=0}0!==this._toRemovedListeners.length&&this._cleanToRemovedListeners()},_updateTouchListeners:function(t){var e=this._inDispatch;if(cc.assertID(e>0,3508),!(e>1)){var i;(i=this._listenersMap[r.TOUCH_ONE_BY_ONE])&&this._onUpdateListeners(i),(i=this._listenersMap[r.TOUCH_ALL_AT_ONCE])&&this._onUpdateListeners(i),cc.assertID(1===e,3509);var n=this._toAddedListeners;if(0!==n.length){for(var s=0,a=n.length;s<a;s++)this._forceAddEventListener(n[s]);this._toAddedListeners.length=0}0!==this._toRemovedListeners.length&&this._cleanToRemovedListeners()}},_cleanToRemovedListeners:function(){for(var t=this._toRemovedListeners,e=0;e<t.length;e++){var i=t[e],n=this._listenersMap[i._getListenerID()];if(n){var r,s=n.getFixedPriorityListeners(),a=n.getSceneGraphPriorityListeners();a&&-1!==(r=a.indexOf(i))&&a.splice(r,1),s&&-1!==(r=s.indexOf(i))&&s.splice(r,1)}}t.length=0},_onTouchEventCallback:function(t,e){if(!t._isRegistered())return!1;var i=e.event,n=i.currentTouch;i.currentTarget=t._node;var r,s=!1,o=i.getEventCode(),h=cc.Event.EventTouch;return o===h.BEGAN?t.onTouchBegan&&(s=t.onTouchBegan(n,i))&&t._registered&&t._claimedTouches.push(n):t._claimedTouches.length>0&&-1!==(r=t._claimedTouches.indexOf(n))&&(s=!0,o===h.MOVED&&t.onTouchMoved?t.onTouchMoved(n,i):o===h.ENDED?(t.onTouchEnded&&t.onTouchEnded(n,i),t._registered&&t._claimedTouches.splice(r,1)):o===h.CANCELLED&&(t.onTouchCancelled&&t.onTouchCancelled(n,i),t._registered&&t._claimedTouches.splice(r,1))),i.isStopped()?(a._updateTouchListeners(i),!0):!(!s||!t.swallowTouches)&&(e.needsMutableSet&&e.touches.splice(n,1),!0)},_dispatchTouchEvent:function(t){this._sortEventListeners(r.TOUCH_ONE_BY_ONE),this._sortEventListeners(r.TOUCH_ALL_AT_ONCE);var e=this._getListeners(r.TOUCH_ONE_BY_ONE),i=this._getListeners(r.TOUCH_ALL_AT_ONCE);if(null!==e||null!==i){var n=t.getTouches(),s=cc.js.array.copy(n),a={event:t,needsMutableSet:e&&i,touches:s,selTouch:null};if(e)for(var o=0;o<n.length;o++)t.currentTouch=n[o],t._propagationStopped=t._propagationImmediateStopped=!1,this._dispatchEventToListeners(e,this._onTouchEventCallback,a);i&&s.length>0&&(this._dispatchEventToListeners(i,this._onTouchesEventCallback,{event:t,touches:s}),t.isStopped())||this._updateTouchListeners(t)}},_onTouchesEventCallback:function(t,e){if(!t._registered)return!1;var i=cc.Event.EventTouch,n=e.event,r=e.touches,s=n.getEventCode();return n.currentTarget=t._node,s===i.BEGAN&&t.onTouchesBegan?t.onTouchesBegan(r,n):s===i.MOVED&&t.onTouchesMoved?t.onTouchesMoved(r,n):s===i.ENDED&&t.onTouchesEnded?t.onTouchesEnded(r,n):s===i.CANCELLED&&t.onTouchesCancelled&&t.onTouchesCancelled(r,n),!!n.isStopped()&&(a._updateTouchListeners(n),!0)},_associateNodeAndEventListener:function(t,e){var i=this._nodeListenersMap[t._id];i||(i=[],this._nodeListenersMap[t._id]=i),i.push(e)},_dissociateNodeAndEventListener:function(t,e){var i=this._nodeListenersMap[t._id];i&&(cc.js.array.remove(i,e),0===i.length&&delete this._nodeListenersMap[t._id])},_dispatchEventToListeners:function(t,e,i){var n,r,s=!1,a=t.getFixedPriorityListeners(),o=t.getSceneGraphPriorityListeners(),h=0;if(a&&0!==a.length)for(;h<t.gt0Index;++h)if((r=a[h]).isEnabled()&&!r._isPaused()&&r._isRegistered()&&e(r,i)){s=!0;break}if(o&&!s)for(n=0;n<o.length;n++)if((r=o[n]).isEnabled()&&!r._isPaused()&&r._isRegistered()&&e(r,i)){s=!0;break}if(a&&!s)for(;h<a.length;++h)if((r=a[h]).isEnabled()&&!r._isPaused()&&r._isRegistered()&&e(r,i)){s=!0;break}},_setDirty:function(t,e){var i=this._priorityDirtyFlagMap;null==i[t]?i[t]=e:i[t]=e|i[t]},_visitTarget:function(t,e){t._reorderChildDirty&&t.sortAllChildren();var i,n=t.getChildren(),r=0,s=n.length,a=this._globalZOrderNodeMap,o=this._nodeListenersMap;if(s>0)for(void 0!==o[t._id]&&(a||(a=[]),a.push(t._id));r<s;r++)(i=n[r])&&this._visitTarget(i,!1);else void 0!==o[t._id]&&(a||(a=[]),a.push(t._id));if(e){for(var h=this._nodePriorityMap,l=0;l<a.length;l++)h[a[l]]=++this._nodePriorityIndex;this._globalZOrderNodeMap.length=0}},_sortNumberAsc:function(t,e){return t-e},hasEventListener:function(t){return!!this._getListeners(t)},addListener:function(t,e){if(cc.assertID(t&&e,3503),cc.js.isNumber(e)||e instanceof cc._BaseNode){if(t instanceof cc.EventListener){if(t._isRegistered())return void cc.logID(3505)}else cc.assertID(!cc.js.isNumber(e),3504),t=cc.EventListener.create(t);if(t.checkAvailable()){if(cc.js.isNumber(e)){if(0===e)return void cc.logID(3500);t._setSceneGraphPriority(null),t._setFixedPriority(e),t._setRegistered(!0),t._setPaused(!1),this._addListener(t)}else t._setSceneGraphPriority(e),t._setFixedPriority(0),t._setRegistered(!0),this._addListener(t);return t}}else cc.warnID(3506)},addCustomListener:function(t,e){var i=new cc.EventListener.create({event:cc.EventListener.CUSTOM,eventName:t,callback:e});return this.addListener(i,1),i},removeListener:function(t){if(null!=t){var e,i=this._listenersMap;for(var n in i){var r=i[n],s=r.getFixedPriorityListeners(),a=r.getSceneGraphPriorityListeners();if((e=this._removeListenerInVector(a,t))?this._setDirty(t._getListenerID(),this.DIRTY_SCENE_GRAPH_PRIORITY):(e=this._removeListenerInVector(s,t))&&this._setDirty(t._getListenerID(),this.DIRTY_FIXED_PRIORITY),r.empty()&&(delete this._priorityDirtyFlagMap[t._getListenerID()],delete i[n]),e)break}if(!e)for(var o=this._toAddedListeners,h=0,l=o.length;h<l;h++){var c=o[h];if(c===t){cc.js.array.remove(o,c),c._setRegistered(!1);break}}}},_removeListenerInCallback:function(t,e){if(null==t)return!1;for(var i=0,n=t.length;i<n;i++){var r=t[i];if(r._onCustomEvent===e||r._onEvent===e)return r._setRegistered(!1),null!=r._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(r._getSceneGraphPriority(),r),r._setSceneGraphPriority(null)),0===this._inDispatch?cc.js.array.remove(t,r):this._toRemovedListeners.push(r),!0}return!1},_removeListenerInVector:function(t,e){if(null==t)return!1;for(var i=0,n=t.length;i<n;i++){var r=t[i];if(r===e)return r._setRegistered(!1),null!=r._getSceneGraphPriority()&&(this._dissociateNodeAndEventListener(r._getSceneGraphPriority(),r),r._setSceneGraphPriority(null)),0===this._inDispatch?cc.js.array.remove(t,r):this._toRemovedListeners.push(r),!0}return!1},removeListeners:function(t,e){var i=this;if(cc.js.isNumber(t)||t instanceof cc._BaseNode)if(void 0!==t._id){delete i._nodePriorityMap[t._id],cc.js.array.remove(i._dirtyNodes,t);var n,s=i._nodeListenersMap[t._id];if(s){var a=cc.js.array.copy(s);for(n=0;n<a.length;n++)i.removeListener(a[n]);delete i._nodeListenersMap[t._id]}var o=i._toAddedListeners;for(n=0;n<o.length;){var h=o[n];h._getSceneGraphPriority()===t?(h._setSceneGraphPriority(null),h._setRegistered(!1),o.splice(n,1)):++n}if(!0===e){var l,c=t.getChildren();for(n=0,l=c.length;n<l;n++)i.removeListeners(c[n],!0)}}else t===cc.EventListener.TOUCH_ONE_BY_ONE?i._removeListenersForListenerID(r.TOUCH_ONE_BY_ONE):t===cc.EventListener.TOUCH_ALL_AT_ONCE?i._removeListenersForListenerID(r.TOUCH_ALL_AT_ONCE):t===cc.EventListener.MOUSE?i._removeListenersForListenerID(r.MOUSE):t===cc.EventListener.ACCELERATION?i._removeListenersForListenerID(r.ACCELERATION):t===cc.EventListener.KEYBOARD?i._removeListenersForListenerID(r.KEYBOARD):cc.logID(3501);else cc.warnID(3506)},removeCustomListeners:function(t){this._removeListenersForListenerID(t)},removeAllListeners:function(){var t=this._listenersMap,e=this._internalCustomListenerIDs;for(var i in t)-1===e.indexOf(i)&&this._removeListenersForListenerID(i)},setPriority:function(t,e){if(null!=t){var i=this._listenersMap;for(var n in i){var r=i[n].getFixedPriorityListeners();if(r)if(-1!==r.indexOf(t))return null!=t._getSceneGraphPriority()&&cc.logID(3502),void(t._getFixedPriority()!==e&&(t._setFixedPriority(e),this._setDirty(t._getListenerID(),this.DIRTY_FIXED_PRIORITY)))}}},setEnabled:function(t){this._isEnabled=t},isEnabled:function(){return this._isEnabled},dispatchEvent:function(t){if(this._isEnabled)if(this._updateDirtyFlagForSceneGraph(),this._inDispatch++,t&&t.getType){if(t.getType().startsWith(cc.Event.TOUCH))return this._dispatchTouchEvent(t),void this._inDispatch--;var e=(function(t){var e=cc.Event,i=t.type;return i===e.ACCELERATION?r.ACCELERATION:i===e.KEYBOARD?r.KEYBOARD:i.startsWith(e.MOUSE)?r.MOUSE:(i.startsWith(e.TOUCH)&&cc.logID(2e3),"")})(t);this._sortEventListeners(e);var i=this._listenersMap[e];null!=i&&(this._dispatchEventToListeners(i,this._onListenerCallback,t),this._onUpdateListeners(i)),this._inDispatch--}else cc.errorID(3511)},_onListenerCallback:function(t,e){return e.currentTarget=t._target,t._onEvent(e),e.isStopped()},dispatchCustomEvent:function(t,e){var i=new cc.Event.EventCustom(t);i.setUserData(e),this.dispatchEvent(i)}};n.get(cc,"eventManager",(function(){return cc.warnID(1405,"cc.eventManager","cc.EventTarget or cc.systemEvent"),a})),e.exports=a}),{"../platform/js":180,"./CCEventListener":97}],99:[(function(t,e,i){cc.Touch=function(t,e,i){this._lastModified=0,this.setTouchInfo(i,t,e)},cc.Touch.prototype={constructor:cc.Touch,getLocation:function(){return cc.v2(this._point.x,this._point.y)},getLocationX:function(){return this._point.x},getLocationY:function(){return this._point.y},getPreviousLocation:function(){return cc.v2(this._prevPoint.x,this._prevPoint.y)},getStartLocation:function(){return cc.v2(this._startPoint.x,this._startPoint.y)},getDelta:function(){return this._point.sub(this._prevPoint)},getLocationInView:function(){return cc.v2(this._point.x,cc.view._designResolutionSize.height-this._point.y)},getPreviousLocationInView:function(){return cc.v2(this._prevPoint.x,cc.view._designResolutionSize.height-this._prevPoint.y)},getStartLocationInView:function(){return cc.v2(this._startPoint.x,cc.view._designResolutionSize.height-this._startPoint.y)},getID:function(){return this._id},setTouchInfo:function(t,e,i){this._prevPoint=this._point,this._point=cc.v2(e||0,i||0),this._id=t,this._startPointCaptured||(this._startPoint=cc.v2(this._point),cc.view._convertPointWithScale(this._startPoint),this._startPointCaptured=!0)},_setPoint:function(t,e){void 0===e?(this._point.x=t.x,this._point.y=t.y):(this._point.x=t,this._point.y=e)},_setPrevPoint:function(t,e){this._prevPoint=void 0===e?cc.v2(t.x,t.y):cc.v2(t||0,e||0)}}}),{}],100:[(function(t,e,i){t("./CCEvent"),t("./CCTouch"),t("./CCEventListener");var n=t("./CCEventManager");e.exports=n}),{"./CCEvent":96,"./CCEventListener":97,"./CCEventManager":98,"./CCTouch":99}],101:[(function(t,e,i){var n=cc.js,r=t("../platform/callbacks-invoker").CallbacksHandler;function s(){r.call(this)}n.extend(s,r),s.prototype.invoke=function(t,e){var i=t.type,n=this._callbackTable[i];if(n){var r=!n.isInvoking;n.isInvoking=!0;for(var s=n.callbacks,a=n.targets,o=0,h=s.length;o<h;++o){var l=s[o];if(l){var c=a[o]||t.currentTarget;if(l.call(c,t,e),t._propagationImmediateStopped)break}}r&&(n.isInvoking=!1,n.containCanceled&&n.purgeCanceled())}},e.exports=s}),{"../platform/callbacks-invoker":173}],102:[(function(t,e,i){var n=t("../platform/js"),r=t("../platform/callbacks-invoker"),s=n.array.fastRemove;function a(){r.call(this)}n.extend(a,r);var o=a.prototype;o.on=function(t,e,i){if(e)return this.hasEventListener(t,e,i)||(this.add(t,e,i),i&&i.__eventTargets&&i.__eventTargets.push(this)),e;cc.errorID(6800)},o.off=function(t,e,i){e?(this.remove(t,e,i),i&&i.__eventTargets&&s(i.__eventTargets,this)):this.removeAll(t)},o.targetOff=o.removeAll,o.once=function(t,e,i){var n="__ONCE_FLAG:"+t;if(!this.hasEventListener(n,e,i)){var r=this,s=function(a,o,h,l,c){r.off(t,s,i),r.remove(n,e,i),e.call(this,a,o,h,l,c)};this.on(t,s,i),this.add(n,e,i)}},o.emit=r.prototype.invoke,o.dispatchEvent=function(t){this.invoke(t.type,t)},cc.EventTarget=e.exports=a}),{"../platform/callbacks-invoker":173,"../platform/js":180}],103:[(function(t,e,i){var n=t("../platform/js");cc.Event=function(t,e){this.type=t,this.bubbles=!!e,this.target=null,this.currentTarget=null,this.eventPhase=0,this._propagationStopped=!1,this._propagationImmediateStopped=!1},cc.Event.prototype={constructor:cc.Event,unuse:function(){this.type=cc.Event.NO_TYPE,this.target=null,this.currentTarget=null,this.eventPhase=cc.Event.NONE,this._propagationStopped=!1,this._propagationImmediateStopped=!1},reuse:function(t,e){this.type=t,this.bubbles=e||!1},stopPropagation:function(){this._propagationStopped=!0},stopPropagationImmediate:function(){this._propagationImmediateStopped=!0},isStopped:function(){return this._propagationStopped||this._propagationImmediateStopped},getCurrentTarget:function(){return this.currentTarget},getType:function(){return this.type}},cc.Event.NO_TYPE="no_type",cc.Event.TOUCH="touch",cc.Event.MOUSE="mouse",cc.Event.KEYBOARD="keyboard",cc.Event.ACCELERATION="acceleration",cc.Event.NONE=0,cc.Event.CAPTURING_PHASE=1,cc.Event.AT_TARGET=2,cc.Event.BUBBLING_PHASE=3;var r=function(t,e){cc.Event.call(this,t,e),this.detail=null};n.extend(r,cc.Event),r.prototype.reset=r,r.prototype.setUserData=function(t){this.detail=t},r.prototype.getUserData=function(){return this.detail},r.prototype.getEventName=cc.Event.prototype.getType;var s=new n.Pool(10);r.put=function(t){s.put(t)},r.get=function(t,e){var i=s._get();return i?i.reset(t,e):i=new r(t,e),i},cc.Event.EventCustom=r,e.exports=cc.Event}),{"../platform/js":180}],104:[(function(t,e,i){t("./event"),t("./event-listeners"),t("./event-target"),t("./system-event")}),{"./event":103,"./event-listeners":101,"./event-target":102,"./system-event":105}],105:[(function(t,e,i){var n=t("../event/event-target"),r=t("../event-manager"),s=t("../platform/CCInputManager"),a=cc.Enum({KEY_DOWN:"keydown",KEY_UP:"keyup",DEVICEMOTION:"devicemotion"}),o=null,h=null,l=cc.Class({name:"SystemEvent",extends:n,statics:{EventType:a},setAccelerometerEnabled:function(t){s.setAccelerometerEnabled(t)},setAccelerometerInterval:function(t){s.setAccelerometerInterval(t)},on:function(t,e,i){this._super(t,e,i),t!==a.KEY_DOWN&&t!==a.KEY_UP||(o||(o=cc.EventListener.create({event:cc.EventListener.KEYBOARD,onKeyPressed:function(t,e){e.type=a.KEY_DOWN,cc.systemEvent.dispatchEvent(e)},onKeyReleased:function(t,e){e.type=a.KEY_UP,cc.systemEvent.dispatchEvent(e)}})),r.hasEventListener(cc.EventListener.ListenerID.KEYBOARD)||r.addListener(o,1)),t===a.DEVICEMOTION&&(h||(h=cc.EventListener.create({event:cc.EventListener.ACCELERATION,callback:function(t,e){e.type=a.DEVICEMOTION,cc.systemEvent.dispatchEvent(e)}})),r.hasEventListener(cc.EventListener.ListenerID.ACCELERATION)||r.addListener(h,1))},off:function(t,e,i){if(this._super(t,e,i),o&&(t===a.KEY_DOWN||t===a.KEY_UP)){var n=this.hasEventListener(a.KEY_DOWN),s=this.hasEventListener(a.KEY_UP);n||s||r.removeListener(o)}h&&t===a.DEVICEMOTION&&r.removeListener(h)}});cc.SystemEvent=e.exports=l,cc.systemEvent=new cc.SystemEvent}),{"../event-manager":100,"../event/event-target":102,"../platform/CCInputManager":164}],106:[(function(t,e,i){var n=t("../components/CCRenderComponent"),r=t("../renderer/render-engine").SpriteMaterial,s=t("./types"),a=s.LineCap,o=s.LineJoin,h=cc.Class({name:"cc.Graphics",extends:n,editor:!1,ctor:function(){this._impl=h._assembler.createImpl(this)},properties:{_lineWidth:1,_strokeColor:cc.Color.BLACK,_lineJoin:o.MITER,_lineCap:a.BUTT,_fillColor:cc.Color.WHITE,_miterLimit:10,lineWidth:{get:function(){return this._lineWidth},set:function(t){this._lineWidth=t,this._impl.lineWidth=t}},lineJoin:{get:function(){return this._lineJoin},set:function(t){this._lineJoin=t,this._impl.lineJoin=t},type:o},lineCap:{get:function(){return this._lineCap},set:function(t){this._lineCap=t,this._impl.lineCap=t},type:a},strokeColor:{get:function(){return this._strokeColor},set:function(t){this._impl.strokeColor=this._strokeColor=cc.color(t)}},fillColor:{get:function(){return this._fillColor},set:function(t){this._impl.fillColor=this._fillColor=cc.color(t)}},miterLimit:{get:function(){return this._miterLimit},set:function(t){this._miterLimit=t,this._impl.miterLimit=t}}},statics:{LineJoin:o,LineCap:a},onRestore:function(){this._impl||(this._impl=h._assembler.createImpl())},onEnable:function(){this._super(),this._activateMaterial()},onDestroy:function(){this._super(),this._impl.clear(this,!0),this._impl=null},_activateMaterial:function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_CANVAS&&(this.node._renderFlag&=~cc.RenderFlow.FLAG_RENDER,this.node._renderFlag|=cc.RenderFlow.FLAG_CUSTOM_IA_RENDER,!this._material)){var t=new r;t.useColor=!1,t.useTexture=!1,t.useModel=!0,this._updateMaterial(t)}},moveTo:function(t,e){this._impl.moveTo(t,e)},lineTo:function(t,e){this._impl.lineTo(t,e)},bezierCurveTo:function(t,e,i,n,r,s){this._impl.bezierCurveTo(t,e,i,n,r,s)},quadraticCurveTo:function(t,e,i,n){this._impl.quadraticCurveTo(t,e,i,n)},arc:function(t,e,i,n,r,s){this._impl.arc(t,e,i,n,r,s)},ellipse:function(t,e,i,n){this._impl.ellipse(t,e,i,n)},circle:function(t,e,i){this._impl.circle(t,e,i)},rect:function(t,e,i,n){this._impl.rect(t,e,i,n)},roundRect:function(t,e,i,n,r){this._impl.roundRect(t,e,i,n,r)},fillRect:function(t,e,i,n){this.rect(t,e,i,n),this.fill()},clear:function(t){this._impl.clear(this,t)},close:function(){this._impl.close()},stroke:function(){h._assembler.stroke(this)},fill:function(){h._assembler.fill(this)}});cc.Graphics=e.exports=h}),{"../components/CCRenderComponent":77,"../renderer/render-engine":202,"./types":109}],107:[(function(t,e,i){var n=t("./types").PointFlags,r=Math.PI,s=Math.min,a=Math.max,o=Math.cos,h=Math.sin,l=Math.abs,c=Math.sign,u=.5522847493;e.exports={arc:function(t,e,i,n,c,u,_){var f,m,d,p=0,y=0,v=0,g=0,x=0,A=0,b=0,C=0,S=0,T=0,w=0,E=0,D=0;if(y=u-c,_=_||!1)if(l(y)>=2*r)y=2*r;else for(;y<0;)y+=2*r;else if(l(y)>=2*r)y=2*-r;else for(;y>0;)y-=2*r;for(d=0|a(1,s(l(y)/(.5*r)+.5,5)),v=l(4/3*(1-o(f=y/d/2))/h(f)),_||(v=-v),m=0;m<=d;m++)A=e+(g=o(p=c+y*(m/d)))*n,b=i+(x=h(p))*n,C=-x*n*v,S=g*n*v,0===m?t.moveTo(A,b):t.bezierCurveTo(T+E,w+D,A-C,b-S,A,b),T=A,w=b,E=C,D=S},ellipse:function(t,e,i,n,r){t.moveTo(e-n,i),t.bezierCurveTo(e-n,i+r*u,e-n*u,i+r,e,i+r),t.bezierCurveTo(e+n*u,i+r,e+n,i+r*u,e+n,i),t.bezierCurveTo(e+n,i-r*u,e+n*u,i-r,e,i-r),t.bezierCurveTo(e-n*u,i-r,e-n,i-r*u,e-n,i),t.close()},roundRect:function(t,e,i,n,r,a){if(a<.1)t.rect(e,i,n,r);else{var o=s(a,.5*l(n))*c(n),h=s(a,.5*l(r))*c(r);t.moveTo(e,i+h),t.lineTo(e,i+r-h),t.bezierCurveTo(e,i+r-h*(1-u),e+o*(1-u),i+r,e+o,i+r),t.lineTo(e+n-o,i+r),t.bezierCurveTo(e+n-o*(1-u),i+r,e+n,i+r-h*(1-u),e+n,i+r-h),t.lineTo(e+n,i+h),t.bezierCurveTo(e+n,i+h*(1-u),e+n-o*(1-u),i,e+n-o,i),t.lineTo(e+o,i),t.bezierCurveTo(e+o*(1-u),i,e,i+h*(1-u),e,i+h),t.close()}},tesselateBezier:function t(e,i,r,s,a,o,h,c,u,_,f){var m,d,p,y,v,g,x,A,b,C,S,T,w,E,D,M;_>10||(v=.5*(o+c),g=.5*(h+u),x=.5*((m=.5*(i+s))+(p=.5*(s+o))),A=.5*((d=.5*(r+a))+(y=.5*(a+h))),((D=l((s-c)*(E=u-r)-(a-u)*(w=c-i)))+(M=l((o-c)*E-(h-u)*w)))*(D+M)<e._tessTol*(w*w+E*E)?e._addPoint(c,u,0===f?f|n.PT_BEVEL:f):(t(e,i,r,m,d,x,A,S=.5*(x+(b=.5*(p+v))),T=.5*(A+(C=.5*(y+g))),_+1,0),t(e,S,T,b,C,v,g,c,u,_+1,f)))}}}),{"./types":109}],108:[(function(t,e,i){"use strict";t("./graphics")}),{"./graphics":106}],109:[(function(t,e,i){"use strict";var n=cc.Enum({BUTT:0,ROUND:1,SQUARE:2}),r=cc.Enum({BEVEL:0,ROUND:1,MITER:2}),s=cc.Enum({PT_CORNER:1,PT_LEFT:2,PT_BEVEL:4,PT_INNERBEVEL:8});e.exports={LineCap:n,LineJoin:r,PointFlags:s}}),{}],110:[(function(t,e,i){t("./platform"),t("./assets"),t("./CCNode"),t("./CCPrivateNode"),t("./CCScene"),t("./components"),t("./graphics"),t("./collider"),t("./collider/CCIntersection"),t("./physics"),t("./camera/CCCamera"),t("./utils/polyfill-3d"),t("./base-ui/CCWidgetManager")}),{"./CCNode":29,"./CCPrivateNode":30,"./CCScene":31,"./assets":50,"./base-ui/CCWidgetManager":51,"./camera/CCCamera":52,"./collider":60,"./collider/CCIntersection":58,"./components":94,"./graphics":108,"./physics":143,"./platform":177,"./utils/polyfill-3d":244}],111:[(function(t,e,i){var n=t("../platform/js"),r=t("./pipeline"),s=t("./loading-items"),a=t("./asset-loader"),o=t("./downloader"),h=t("./loader"),l=t("./asset-table"),c=t("../platform/utils").callInNextTick,u=t("./auto-release-utils"),_=t("./utils").urlAppendTimestamp,f=new l;var m={url:null,raw:!1};function d(t){var e,i,n;if("object"==typeof t){if(i=t,t.url)return i;e=t.uuid}else i={},e=t;return n=i.type?"uuid"===i.type:cc.AssetLibrary._uuidInSettings(e),cc.AssetLibrary._getAssetInfoInRuntime(e,m),i.url=n?m.url:e,m.url&&"uuid"===i.type&&m.raw?(i.type=null,i.isRawAsset=!0):n||(i.isRawAsset=!0),i}var p=[],y=[];function v(){var t=new a,e=new o,i=new h;r.call(this,[t,e,i]),this.assetLoader=t,this.md5Pipe=null,this.downloader=e,this.loader=i,this.onProgress=null,this._autoReleaseSetting=n.createMap(!0)}n.extend(v,r);var g=v.prototype;g.init=function(t){},g.getXMLHttpRequest=function(){return window.XMLHttpRequest?new window.XMLHttpRequest:new ActiveXObject("MSXML2.XMLHTTP")},g.addDownloadHandlers=function(t){this.downloader.addHandlers(t)},g.addLoadHandlers=function(t){this.loader.addHandlers(t)},g.load=function(t,e,i){void 0===i&&(i=e,e=this.onProgress||null);var n,r=this,a=!1;t instanceof Array||(t?(a=!0,t=[t]):t=[]),p.length=0;for(var o=0;o<t.length;++o){var h=t[o];if(h&&h.id&&(cc.warnID(4920,h.id),h.uuid||h.url||(h.url=h.id)),(n=d(h)).url||n.uuid){var l=this._cache[n.url];p.push(l||n)}}var u=s.create(this,e,(function(t,e){c((function(){if(i){if(a){var s=n.url;i.call(r,t,e.getContent(s))}else i.call(r,t,e);i=null}e.destroy()}))}));s.initQueueDeps(u),u.append(p),p.length=0},g.flowInDeps=function(t,e,i){y.length=0;for(var n=0;n<e.length;++n){var r=d(e[n]);if(r.url||r.uuid){var a=this._cache[r.url];a?y.push(a):y.push(r)}}var o=s.create(this,t?function(t,e,i){this._ownerQueue&&this._ownerQueue.onProgress&&this._ownerQueue._childOnProgress(i)}:null,(function(e,n){i(e,n),t&&t.deps&&(t.deps.length=0),n.destroy()}));if(t){var h=s.getQueue(t);o._ownerQueue=h._ownerQueue||h}var l=o.append(y,t);return y.length=0,l},g._resources=f,g._getResUuid=function(t,e,i){if(!t)return null;var n=t.indexOf("?");-1!==n&&(t=t.substr(0,n));var r=f.getUuid(t,e);if(!r){var s=cc.path.extname(t);s&&(t=t.slice(0,-s.length),(r=f.getUuid(t,e))&&!i&&cc.warnID(4901,t,s))}return r},g._getReferenceKey=function(t){var e;return"object"==typeof t?e=t._uuid||null:"string"==typeof t&&(e=this._getResUuid(t,null,!0)||t),e?(cc.AssetLibrary._getAssetInfoInRuntime(e,m),this._cache[m.url]?m.url:e):(cc.warnID(4800,t),e)},g._urlNotFound=function(t,e,i){c((function(){t=cc.url.normalize(t);var r=(e?n.getClassName(e):"Asset")+' in "resources/'+t+'" does not exist.';i&&i(new Error(r),[])}))},g._parseLoadResArgs=function(t,e,i){if(void 0===i){var r=t instanceof Array||n.isChildClassOf(t,cc.RawAsset);e?(i=e,r&&(e=this.onProgress||null)):void 0!==e||r||(i=t,e=this.onProgress||null,t=null),void 0===e||r||(e=t,t=null)}return{type:t,onProgress:e,onComplete:i}},g.loadRes=function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n);e=r.type,i=r.onProgress,n=r.onComplete;var s=this,a=s._getResUuid(t,e);a?this.load({type:"uuid",uuid:a},i,(function(t,e){e&&s.setAutoReleaseRecursively(a,!1),n&&n(t,e)})):s._urlNotFound(t,e,n)},g._loadResUuids=function(t,e,i,n){if(t.length>0){var r=this,s=t.map((function(t){return{type:"uuid",uuid:t}}));this.load(s,e,(function(t,e){if(i){for(var a=[],o=n&&[],h=0;h<s.length;++h){var l=s[h].uuid,c=this._getReferenceKey(l),u=e.getContent(c);u&&(r.setAutoReleaseRecursively(l,!1),a.push(u),o&&o.push(n[h]))}n?i(t,a,o):i(t,a)}}))}else i&&c((function(){n?i(null,[],[]):i(null,[])}))},g.loadResArray=function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n);e=r.type,i=r.onProgress,n=r.onComplete;for(var s=[],a=e instanceof Array,o=0;o<t.length;o++){var h=t[o],l=a?e[o]:e,c=this._getResUuid(h,l);if(!c)return void this._urlNotFound(h,l,n);s.push(c)}this._loadResUuids(s,i,n)},g.loadResDir=function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n);e=r.type,i=r.onProgress,n=r.onComplete;var s=[],a=f.getUuidArray(t,e,s);this._loadResUuids(a,i,(function(t,e,i){for(var r=e.length,s=0;s<r;++s)if(e[s]instanceof cc.SpriteAtlas){var a=e[s].getSpriteFrames();for(var o in a){var h=a[o];e.push(h),i&&i.push(i[s]+"/"+h.name)}}n&&n(t,e,i)}),s)},g.getRes=function(t,e){var i=this._cache[t];if(!i){var n=this._getResUuid(t,e,!0);if(!n)return null;var r=this._getReferenceKey(n);i=this._cache[r]}return i&&i.alias&&(i=i.alias),i&&i.complete?i.content:null},g.getResCount=function(){return Object.keys(this._cache).length},g.getDependsRecursively=function(t){if(t){var e=this._getReferenceKey(t),i=u.getDependsRecursively(e);return i.push(e),i}return[]},g.getDownLoadStatus=function(){return s.getDownLoadStatus()},g.getUrlWithUuid=function(t){if(t){var e=d({type:"uuid",uuid:t});return _(e.url)}},g.getDirUuids=function(t,e){return f.getUuidArray(t,e,[])},g.release=function(t){if(Array.isArray(t))for(var e=0;e<t.length;e++){var i=t[e];this.release(i)}else if(t){var n=this._getReferenceKey(t),r=this.getItem(n);if(r){this.removeItem(n);if((t=r.content)instanceof cc.Asset){var s=t.nativeUrl;s&&this.release(s),t.destroy()}0}}},g.releaseAsset=function(t){var e=t._uuid;e&&this.release(e)},g.releaseRes=function(t,e){var i=this._getResUuid(t,e);i?this.release(i):cc.errorID(4914,t)},g.releaseResDir=function(t,e){for(var i=f.getUuidArray(t,e),n=0;n<i.length;n++){var r=i[n];this.release(r)}},g.releaseAll=function(){for(var t in this._cache)this.release(t)},g.removeItem=function(t){var e=r.prototype.removeItem.call(this,t);return delete this._autoReleaseSetting[t],e},g.setAutoRelease=function(t,e){var i=this._getReferenceKey(t);i&&(this._autoReleaseSetting[i]=!!e)},g.setAutoReleaseRecursively=function(t,e){e=!!e;var i=this._getReferenceKey(t);if(i){this._autoReleaseSetting[i]=e;for(var n=u.getDependsRecursively(i),r=0;r<n.length;r++){var s=n[r];this._autoReleaseSetting[s]=e}}else 0},g.isAutoRelease=function(t){var e=this._getReferenceKey(t);return!!e&&!!this._autoReleaseSetting[e]},cc.loader=new v,e.exports=cc.loader}),{"../platform/js":180,"../platform/utils":184,"./asset-loader":112,"./asset-table":113,"./auto-release-utils":115,"./downloader":117,"./loader":120,"./loading-items":121,"./pipeline":124,"./released-asset-checker":125,"./utils":129}],112:[(function(t,e,i){t("../utils/CCPath");var n=t("../CCDebug"),r=t("./pipeline"),s=t("./loading-items"),a="AssetLoader",o=function(t){this.id=a,this.async=!0,this.pipeline=null};o.ID=a;var h=[];o.prototype.handle=function(t,e){var i=t.uuid;if(!i)return t.content||null;cc.AssetLibrary.queryAssetInfo(i,(function(r,a,o){if(r)e(r);else if(t.url=t.rawUrl=a,t.isRawAsset=o,o){var l=cc.path.extname(a).toLowerCase();if(!l)return void e(new Error(n.getError(4931,i,a)));l=l.substr(1);var c=s.getQueue(t);h[0]={queueId:t.queueId,id:a,url:a,type:l,error:null,alias:t,complete:!0},c.append(h),t.type=l,e(null,t.content)}else t.type="uuid",e(null,t.content)}))},r.AssetLoader=e.exports=o}),{"../CCDebug":26,"../utils/CCPath":233,"./loading-items":121,"./pipeline":124}],113:[(function(t,e,i){var n=t("../utils/misc").pushToMap,r=t("../platform/js");function s(){this._pathToUuid=r.createMap(!0)}function a(t,e){if(t.length>e.length){var i=t.charCodeAt(e.length);return 46===i||47===i}return!0}var o=s.prototype;o.getUuid=function(t,e){t=cc.url.normalize(t);var i=this._pathToUuid[t];if(i)if(Array.isArray(i)){if(!e)return i[0].uuid;for(var n=0;n<i.length;n++){var s=i[n];if(r.isChildClassOf(s.type,e))return s.uuid}}else{if(!e||r.isChildClassOf(i.type,e))return i.uuid}return""},o.getUuidArray=function(t,e,i){"/"===(t=cc.url.normalize(t))[t.length-1]&&(t=t.slice(0,-1));var n=this._pathToUuid,s=[],o=r.isChildClassOf;for(var h in n)if(h.startsWith(t)&&a(h,t)||!t){var l=n[h];if(Array.isArray(l))for(var c=0;c<l.length;c++){var u=l[c];(!e||o(u.type,e))&&(s.push(u.uuid),i&&i.push(h))}else(!e||o(l.type,e))&&(s.push(l.uuid),i&&i.push(h))}return s},o.add=function(t,e,i,r){t=t.substring(0,t.length-cc.path.extname(t).length);var s=new function(t,e){this.uuid=t,this.type=e}(e,i);n(this._pathToUuid,t,s,r)},o._getInfo_DEBUG=!1,o.reset=function(){this._pathToUuid=r.createMap(!0)},e.exports=s}),{"../platform/js":180,"../utils/misc":242}],114:[(function(t,e,i){var n=t("../platform/CCSys"),r=t("../CCDebug"),s=n.__audioSupport,a=s.format,o=s.context;function h(t,e){var i=document.createElement("audio");if(i.src=t.url,cc.sys.platform===cc.sys.BAIDU_GAME)e(null,i);else{var n=function(){clearTimeout(r),i.removeEventListener("canplaythrough",a,!1),i.removeEventListener("error",o,!1),s.USE_LOADER_EVENT&&i.removeEventListener(s.USE_LOADER_EVENT,a,!1)},r=setTimeout((function(){0===i.readyState?o():a()}),8e3),a=function(){n(),e(null,i)},o=function(){n();var i="load audio failure - "+t.url;cc.log(i),e(i)};i.addEventListener("canplaythrough",a,!1),i.addEventListener("error",o,!1),s.USE_LOADER_EVENT&&i.addEventListener(s.USE_LOADER_EVENT,a,!1)}}function l(t,e){o||e(new Error(r.getError(4926)));var i=cc.loader.getXMLHttpRequest();i.open("GET",t.url,!0),i.responseType="arraybuffer",i.onload=function(){o.decodeAudioData(i.response,(function(t){e(null,t)}),(function(){e("decode error - "+t.id,null)}))},i.onerror=function(){e("request error - "+t.id,null)},i.send()}e.exports=function(t,e){if(0===a.length)return new Error(r.getError(4927));var i;i=s.WEB_AUDIO?t._owner instanceof cc.AudioClip?t._owner.loadMode===cc.AudioClip.LoadMode.WEB_AUDIO?l:h:t.urlParam&&t.urlParam.useDom?h:l:h,i(t,e)}}),{"../CCDebug":26,"../platform/CCSys":169}],115:[(function(t,e,i){var n=t("../platform/js");function r(t,e){var i=cc.loader.getItem(t);if(i){var n=i.dependKeys;if(n)for(var s=0;s<n.length;s++){var a=n[s];e[a]||(e[a]=!0,r(a,e))}}}function s(t,e){if(t._uuid){var i=cc.loader._getReferenceKey(t);e[i]||(e[i]=!0,r(i,e))}}function a(t,e){for(var i=Object.getOwnPropertyNames(t),n=0;n<i.length;n++){var r=t[i[n]];if("object"==typeof r&&r)if(Array.isArray(r))for(var a=0;a<r.length;a++){var o=r[a];o instanceof cc.RawAsset&&s(o,e)}else if(r.constructor&&r.constructor!==Object)r instanceof cc.RawAsset&&s(r,e);else for(var h=Object.getOwnPropertyNames(r),l=0;l<h.length;l++){var c=r[h[l]];c instanceof cc.RawAsset&&s(c,e)}}}function o(t,e){for(var i=0;i<t._components.length;i++)a(t._components[i],e);for(var n=0;n<t._children.length;n++)o(t._children[n],e)}e.exports={autoRelease:function(t,e,i){var r=cc.loader._autoReleaseSetting,s=n.createMap();if(e)for(var a=0;a<e.length;a++)s[e[a]]=!0;for(var h=0;h<i.length;h++)o(i[h],s);if(t)for(var l=0;l<t.length;l++){var c=t[l];!1===r[c]||s[c]||cc.loader.release(c)}for(var u=Object.keys(r),_=0;_<u.length;_++){var f=u[_];!0!==r[f]||s[f]||cc.loader.release(f)}},getDependsRecursively:function(t){var e={};return r(t,e),Object.keys(e)}}}),{"../platform/js":180}],116:[(function(t,e,i){e.exports=function(t,e){var i=t.url,n=cc.loader.getXMLHttpRequest(),r="Load binary data failed: "+i;n.open("GET",i,!0),n.responseType="arraybuffer",n.onload=function(){var t=n.response;if(t){var i=new Uint8Array(t);e(null,i)}else e({status:n.status,errorMessage:r+"(no response)"})},n.onerror=function(){e({status:n.status,errorMessage:r+"(error)"})},n.ontimeout=function(){e({status:n.status,errorMessage:r+"(time out)"})},n.send(null)}}),{}],117:[(function(t,e,i){var n=t("../platform/js"),r=t("../CCDebug");t("../utils/CCPath");var s,a=t("./pipeline"),o=t("./pack-downloader"),h=t("./binary-downloader"),l=t("./text-downloader"),c=t("./utils").urlAppendTimestamp;function u(){return null}function _(t,e,i){var n=t.url,s=document,a=document.createElement("script");function o(){a.parentNode.removeChild(a),a.removeEventListener("load",o,!1),a.removeEventListener("error",h,!1),e(null,n)}function h(){a.parentNode.removeChild(a),a.removeEventListener("load",o,!1),a.removeEventListener("error",h,!1),e(new Error(r.getError(4928,n)))}"file:"!==window.location.protocol&&(a.crossOrigin="anonymous"),a.async=i,a.src=c(n),a.addEventListener("load",o,!1),a.addEventListener("error",h,!1),s.body.appendChild(a)}function f(t,e,i,n){void 0===i&&(i=!0);var s=c(t.url);if(n=n||new Image,i&&"file:"!==window.location.protocol?n.crossOrigin="anonymous":n.crossOrigin=null,n.complete&&n.naturalWidth>0&&n.src===s)return n;(function(){function i(){n.removeEventListener("load",i),n.removeEventListener("error",a),n.id=t.id,e(null,n)}function a(){n.removeEventListener("load",i),n.removeEventListener("error",a),"https:"!==window.location.protocol&&n.crossOrigin&&"anonymous"===n.crossOrigin.toLowerCase()?f(t,e,!1,n):e(new Error(r.getError(4930,s)))}n.addEventListener("load",i),n.addEventListener("error",a),n.src=s})()}var m={js:_,png:f,jpg:f,bmp:f,jpeg:f,gif:f,ico:f,tiff:f,webp:function(t,e,i,n){return cc.sys.capabilities.webp?f(t,e,i,n):new Error(r.getError(4929,t.url))},image:f,mp3:s=t("./audio-downloader"),ogg:s,wav:s,m4a:s,txt:l,xml:l,vsh:l,fsh:l,atlas:l,tmx:l,tsx:l,json:l,ExportJson:l,plist:l,fnt:l,font:u,eot:u,ttf:u,woff:u,svg:u,ttc:u,uuid:function(t,e){var i=o.load(t,e);return void 0===i?this.extMap.json(t,e):i||void 0},binary:h,dbbin:h,default:l},d="Downloader",p=function(t){this.id=d,this.async=!0,this.pipeline=null,this._curConcurrent=0,this._loadQueue=[],this._subpackages={},this.extMap=n.mixin(t,m)};p.ID=d,p.PackDownloader=o,p.prototype.addHandlers=function(t){n.mixin(this.extMap,t)},p.prototype._handleLoadQueue=function(){for(;this._curConcurrent<cc.macro.DOWNLOAD_MAX_CONCURRENT;){var t=this._loadQueue.shift();if(!t)break;var e=this.handle(t.item,t.callback);void 0!==e&&(e instanceof Error?t.callback(e):t.callback(null,e))}},p.prototype.handle=function(t,e){var i=this,n=this.extMap[t.type]||this.extMap.default,r=void 0;if(this._curConcurrent<cc.macro.DOWNLOAD_MAX_CONCURRENT){if(this._curConcurrent++,void 0!==(r=n.call(this,t,(function(t,n){i._curConcurrent=Math.max(0,i._curConcurrent-1),i._handleLoadQueue(),e&&e(t,n)}))))return this._curConcurrent=Math.max(0,this._curConcurrent-1),this._handleLoadQueue(),r}else if(t.ignoreMaxConcurrency){if(void 0!==(r=n.call(this,t,e)))return r}else this._loadQueue.push({item:t,callback:e})},p.prototype.loadSubpackage=function(t,e){var i=this._subpackages[t];i?i.loaded?e&&e():_({url:i.path+"index.js"},(function(t){t||(i.loaded=!0),e&&e(t)})):e&&e(new Error("Can't find subpackage "+t))},a.Downloader=e.exports=p}),{"../CCDebug":26,"../platform/js":180,"../utils/CCPath":233,"./audio-downloader":114,"./binary-downloader":116,"./pack-downloader":123,"./pipeline":124,"./text-downloader":127,"./utils":129}],118:[(function(t,e,i){var n=t("../utils/text-utils"),r=null,s="BES bswy:->@123\u4e01\u3041\u1101",a={},o=-1,h=[],l=6e4,c=(function(){var t=void 0;return function(){if(void 0===t)if(window.FontFace){var e=/Gecko.*Firefox\/(\d+)/.exec(window.navigator.userAgent),i=/OS X.*Version\/10\..*Safari/.exec(window.navigator.userAgent)&&/Apple/.exec(window.navigator.vendor);t=e?parseInt(e[1],10)>42:!i}else t=!1;return t}})();function u(){for(var t=!0,e=Date.now(),i=h.length-1;i>=0;i--){var a=h[i],c=a.fontFamilyName;if(e-a.startTime>l)cc.warnID(4933,c),a.callback(null,c),h.splice(i,1);else{var u=a.refWidth;r.font="40px "+c,u!==n.safeMeasureText(r,s)?(h.splice(i,1),a.callback(null,c)):t=!1}}t&&(clearInterval(o),o=-1)}var _={loadFont:function(t,e){var i=t.url,f=_._getFontFamily(i);if(a[f])return f;if(!r){var m=document.createElement("canvas");m.width=100,m.height=100,r=m.getContext("2d")}var d="40px "+f;r.font=d;var p=n.safeMeasureText(r,s),y=document.createElement("style");y.type="text/css";var v="";isNaN(f-0)?v+="@font-face { font-family:"+f+"; src:":v+="@font-face { font-family:'"+f+"'; src:",v+="url('"+i+"');",y.textContent=v+"}",document.body.appendChild(y);var g=document.createElement("div"),x=g.style;if(x.fontFamily=f,g.innerHTML=".",x.position="absolute",x.left="-100px",x.top="-100px",document.body.appendChild(g),c())(function(t,e,i){var n=new Promise(function(i,n){var r=function(){Date.now()-t>=l?n():document.fonts.load("40px "+e).then((function(t){t.length>=1?i():setTimeout(r,100)}),(function(){n()}))};r()}),r=null,s=new Promise(function(t,e){r=setTimeout(e,l)});Promise.race([s,n]).then((function(){r&&(clearTimeout(r),r=null),i(null,e)}),(function(){cc.warnID(4933,e),i(null,e)}))})(Date.now(),f,e);else{var A={fontFamilyName:f,refWidth:p,callback:e,startTime:Date.now()};h.push(A),-1===o&&(o=setInterval(u,100))}a[f]=y},_getFontFamily:function(t){var e=t.lastIndexOf(".ttf");if(-1===e)return t;var i,n=t.lastIndexOf("/");return-1!==(i=-1===n?t.substring(0,e)+"_LABEL":t.substring(n+1,e)+"_LABEL").indexOf(" ")&&(i='"'+i+'"'),i}};e.exports=_}),{"../utils/text-utils":249}],119:[(function(t,e,i){t("./downloader"),t("./loader"),t("./loading-items"),t("./pipeline"),t("./CCLoader")}),{"./CCLoader":111,"./downloader":117,"./loader":120,"./loading-items":121,"./pipeline":124}],120:[(function(t,e,i){var n=t("../platform/js"),r=t("../platform/CCSAXParser").plistParser,s=t("./pipeline"),a=t("../assets/CCTexture2D"),o=t("./uuid-loader"),h=t("./font-loader");function l(t){if("string"!=typeof t.content)return new Error("JSON Loader: Input item doesn't contain string content");try{return JSON.parse(t.content)}catch(e){return new Error("JSON Loader: Parse json ["+t.id+"] failed : "+e)}}function c(t){if(t._owner instanceof cc.Asset)return null;var e=t.content;if(cc.sys.platform!==cc.sys.FB_PLAYABLE_ADS&&!(e instanceof Image))return new Error("Image Loader: Input item doesn't contain Image content");var i=t.rawUrl,n=t.texture||new a;return n._uuid=t.uuid,n.url=i,n._setRawAsset(i,!1),n._nativeAsset=e,n}function u(t,e){if(t._owner instanceof cc.Asset)return null;var i=new cc.AudioClip;return i._setRawAsset(t.rawUrl,!1),i._nativeAsset=t.content,i}function _(t){return t.load?t.load(t.content):null}var f={png:c,jpg:c,bmp:c,jpeg:c,gif:c,ico:c,tiff:c,webp:c,image:c,mp3:u,ogg:u,wav:u,m4a:u,json:l,ExportJson:l,plist:function(t){if("string"!=typeof t.content)return new Error("Plist Loader: Input item doesn't contain string content");var e=r.parse(t.content);return e||new Error("Plist Loader: Parse ["+t.id+"] failed")},uuid:o,prefab:o,fire:o,scene:o,binary:_,dbbin:_,font:h.loadFont,eot:h.loadFont,ttf:h.loadFont,woff:h.loadFont,svg:h.loadFont,ttc:h.loadFont,default:function(){return null}},m=function(t){this.id="Loader",this.async=!0,this.pipeline=null,this.extMap=n.mixin(t,f)};m.ID="Loader",m.prototype.addHandlers=function(t){this.extMap=n.mixin(this.extMap,t)},m.prototype.handle=function(t,e){return(this.extMap[t.type]||this.extMap.default).call(this,t,e)},s.Loader=e.exports=m}),{"../assets/CCTexture2D":49,"../platform/CCSAXParser":167,"../platform/js":180,"./font-loader":118,"./pipeline":124,"./uuid-loader":130}],121:[(function(t,e,i){var n=t("../platform/callbacks-invoker");t("../utils/CCPath");var r=t("../platform/js"),s=0|998*Math.random(),a=r.createMap(!0),o=[],h={WORKING:1,COMPLETE:2,ERROR:3},l=r.createMap(!0);function c(t){return"string"==typeof(t.url||t)}function u(t,e){var i="object"==typeof t?t.url:t,n={queueId:e,id:i,url:i,rawUrl:void 0,urlParam:(function(t){if(t){var e=t.split("?");if(e&&e[0]&&e[1]){var i={};return e[1].split("&").forEach((function(t){var e=t.split("=");i[e[0]]=e[1]})),i}}})(i),type:"",error:null,content:null,complete:!1,states:{},deps:null};if("object"==typeof t&&(r.mixin(n,t),t.skips))for(var s=0;s<t.skips.length;s++){var a=t.skips[s];n.states[a]=h.COMPLETE}return n.rawUrl=n.url,i&&!n.type&&(n.type=cc.path.extname(i).toLowerCase().substr(1)),n}var _=[];function f(t,e,i){if(!t||!e)return!1;var n=!1;if(_.push(e.id),e.deps){var r,s,a=e.deps;for(r=0;r<a.length;r++){if((s=a[r]).id===t.id){n=!0;break}if(!(_.indexOf(s.id)>=0)&&(s.deps&&f(t,s,!0))){n=!0;break}}}return i||(_.length=0),n}var m=function(t,e,i,o){n.call(this),this._id=++s,a[this._id]=this,this._pipeline=t,this._errorUrls=r.createMap(!0),this._appending=!1,this._ownerQueue=null,this.onProgress=i,this.onComplete=o,this.map=r.createMap(!0),this.completed={},this.totalCount=0,this.completedCount=0,this._pipeline?this.active=!0:this.active=!1,e&&(e.length>0?this.append(e):this.allComplete())};m.ItemState=new cc.Enum(h),m.create=function(t,e,i,n){void 0===i?"function"==typeof e&&(n=e,e=i=null):void 0===n&&("function"==typeof e?(n=i,i=e,e=null):(n=i,i=null));var r=o.pop();return r?(r._pipeline=t,r.onProgress=i,r.onComplete=n,a[r._id]=r,r._pipeline&&(r.active=!0),e&&r.append(e)):r=new m(t,e,i,n),r},m.getQueue=function(t){return t.queueId?a[t.queueId]:null},m.itemComplete=function(t){var e=a[t.queueId];e&&e.itemComplete(t.id)},m.initQueueDeps=function(t){var e=l[t._id];e?(e.completed.length=0,e.deps.length=0):e=l[t._id]={completed:[],deps:[]}},m.registerQueueDep=function(t,e){var i=t.queueId||t;if(!i)return!1;var n=l[i];if(n)-1===n.deps.indexOf(e)&&n.deps.push(e);else if(t.id)for(var r in l){var s=l[r];-1!==s.deps.indexOf(t.id)&&-1===s.deps.indexOf(e)&&s.deps.push(e)}},m.finishDep=function(t){for(var e in l){var i=l[e];-1!==i.deps.indexOf(t)&&-1===i.completed.indexOf(t)&&i.completed.push(t)}},m.getDownLoadStatus=function(){if(a)for(var t in a)if(a[t])return!0;if(l)for(var t in l)if(l[t])return!0;return!1};var d=m.prototype;r.mixin(d,n.prototype),d.append=function(t,e){if(!this.active)return[];e&&!e.deps&&(e.deps=[]),this._appending=!0;var i,n,r,s=[];for(i=0;i<t.length;++i)if(!(n=t[i]).queueId||this.map[n.id]){if(c(n)){var o=(r=u(n,this._id)).id;this.map[o]||(this.map[o]=r,this.totalCount++,e&&e.deps.push(r),m.registerQueueDep(e||this._id,o),s.push(r))}}else{if(this.map[n.id]=n,e&&e.deps.push(n),n.complete||f(e,n)){this.totalCount++,this.itemComplete(n.id);continue}var h=this,l=a[n.queueId];l&&(this.totalCount++,m.registerQueueDep(e||this._id,n.id),l.addListener(n.id,(function(t){h.itemComplete(t.id)})))}return this._appending=!1,this.completedCount===this.totalCount?this.allComplete():this._pipeline.flowIn(s),s},d._childOnProgress=function(t){if(this.onProgress){var e=l[this._id];this.onProgress(e?e.completed.length:this.completedCount,e?e.deps.length:this.totalCount,t)}},d.allComplete=function(){var t=r.isEmptyObject(this._errorUrls)?null:this._errorUrls;this.onComplete&&this.onComplete(t,this)},d.isCompleted=function(){return this.completedCount>=this.totalCount},d.isItemCompleted=function(t){return!!this.completed[t]},d.exists=function(t){return!!this.map[t]},d.getContent=function(t){var e=this.map[t],i=null;return e&&(e.content?i=e.content:e.alias&&(i=e.alias.content)),i},d.getError=function(t){var e=this.map[t],i=null;return e&&(e.error?i=e.error:e.alias&&(i=e.alias.error)),i},d.addListener=n.prototype.add,d.hasListener=n.prototype.has,d.removeListener=n.prototype.remove,d.removeAllListeners=n.prototype.removeAll,d.removeItem=function(t){var e=this.map[t];e&&this.completed[e.alias||t]&&(delete this.completed[t],delete this.map[t],e.alias&&(delete this.completed[e.alias.id],delete this.map[e.alias.id]),this.completedCount--,this.totalCount--)},d.itemComplete=function(t){var e=this.map[t];if(e){var i=t in this._errorUrls;if(e.error instanceof Error||r.isString(e.error)?this._errorUrls[t]=e.error:e.error?r.mixin(this._errorUrls,e.error):!e.error&&i&&delete this._errorUrls[t],this.completed[t]=e,this.completedCount++,m.finishDep(e.id),this.onProgress){var n=l[this._id];this.onProgress(n?n.completed.length:this.completedCount,n?n.deps.length:this.totalCount,e)}this.invoke(t,e),this.removeAll(t),!this._appending&&this.completedCount>=this.totalCount&&this.allComplete()}},d.destroy=function(){this.active=!1,this._appending=!1,this._pipeline=null,this._ownerQueue=null,r.clear(this._errorUrls),this.onProgress=null,this.onComplete=null,this.map=r.createMap(!0),this.completed={},this.totalCount=0,this.completedCount=0,n.call(this),l[this._id]&&(l[this._id].completed.length=0,l[this._id].deps.length=0),delete a[this._id],delete l[this._id],-1===o.indexOf(this)&&o.length<10&&o.push(this)},cc.LoadingItems=e.exports=m}),{"../platform/callbacks-invoker":173,"../platform/js":180,"../utils/CCPath":233}],122:[(function(t,e,i){var n=t("./pipeline"),r=/(\.[^.\n\\/]*)$/,s=/.*[/\\][0-9a-fA-F]{2}[/\\]([0-9a-fA-F-]{8,})/;var a=function(t,e,i){this.id="MD5Pipe",this.async=!1,this.pipeline=null,this.md5AssetsMap=t,this.md5NativeAssetsMap=e,this.libraryBase=i};a.ID="MD5Pipe",a.prototype.handle=function(t){var e=!1;return"ttf"===t.type&&(e=!0),t.url=this.transformURL(t.url,e),null},a.prototype.transformURL=function(t,e){var i,n,a,o,h=this,l=(function(t){var e=t.match(s);return e?e[1]:""})(t);l&&(function(){i=!t.startsWith(h.libraryBase);var s=(i?h.md5NativeAssetsMap:h.md5AssetsMap)[l];s&&(e?(n=cc.path.dirname(t),a=cc.path.basename(t),t=n+"."+s+"/"+a):(o=!1,t=t.replace(r,(function(t,e){return o=!0,"."+s+e})),o||(t=t+"."+s)))})();return t},n.MD5Pipe=e.exports=a}),{"./pipeline":124}],123:[(function(t,e,i){var n=t("./unpackers"),r=t("../utils/misc").pushToMap,s={Invalid:0,Removed:1,Downloading:2,Loaded:3};function a(){this.unpacker=null,this.state=s.Invalid}var o={},h={},l={};function c(t,e){return new Error("Can not retrieve "+t+" from packer "+e)}e.exports={initPacks:function(t){h=t;for(var e in t)for(var i=t[e],n=0;n<i.length;n++){var s=i[n],a=1===i.length;r(o,s,e,a)}},_loadNewPack:function(t,e,i){var n=this,r=cc.AssetLibrary.getLibUrlNoExt(e)+".json";cc.loader.load({url:r,ignoreMaxConcurrency:!0},(function(r,s){if(r)return cc.errorID(4916,t),i(r);var a=n._doLoadNewPack(t,e,s);a?i(null,a):i(c(t,e))}))},_doPreload:function(t,e){var i=l[t];i||((i=l[t]=new a).state=s.Downloading),i.state!==s.Loaded&&(i.unpacker=new n.JsonUnpacker,i.unpacker.load(h[t],e),i.state=s.Loaded)},_doLoadNewPack:function(t,e,i){var r=l[e];return r.state!==s.Loaded&&("string"==typeof i&&(i=JSON.parse(i)),Array.isArray(i)?r.unpacker=new n.JsonUnpacker:i.type===n.TextureUnpacker.ID&&(r.unpacker=new n.TextureUnpacker),r.unpacker.load(h[e],i),r.state=s.Loaded),r.unpacker.retrieve(t)},_selectLoadedPack:function(t){for(var e=s.Invalid,i="",n=0;n<t.length;n++){var r=t[n],a=l[r];if(a){var o=a.state;if(o===s.Loaded)return r;o>e&&(e=o,i=r)}}return e!==s.Invalid?i:t[0]},load:function(t,e){var i=t.uuid,n=o[i];if(n){Array.isArray(n)&&(n=this._selectLoadedPack(n));var r=l[n];if(r&&r.state===s.Loaded){var h=r.unpacker.retrieve(i);return h||c(i,n)}return r||(console.log("Create unpacker %s for %s",n,i),(r=l[n]=new a).state=s.Downloading),this._loadNewPack(i,n,e),null}}}}),{"../utils/misc":242,"./unpackers":128}],124:[(function(t,e,i){var n=t("../platform/js"),r=t("./loading-items"),s=r.ItemState;function a(t,e){var i=t.id,n=e.states[i],r=t.next,o=t.pipeline;if(!e.error&&n!==s.WORKING&&n!==s.ERROR)if(n===s.COMPLETE)r?a(r,e):o.flowOut(e);else{e.states[i]=s.WORKING;var h=t.handle(e,(function(t,n){t?(e.error=t,e.states[i]=s.ERROR,o.flowOut(e)):(n&&(e.content=n),e.states[i]=s.COMPLETE,r?a(r,e):o.flowOut(e))}));h instanceof Error?(e.error=h,e.states[i]=s.ERROR,o.flowOut(e)):void 0!==h&&(null!==h&&(e.content=h),e.states[i]=s.COMPLETE,r?a(r,e):o.flowOut(e))}}var o=function(t){this._pipes=t,this._cache=n.createMap(!0);for(var e=0;e<t.length;++e){var i=t[e];i.handle&&i.id&&(i.pipeline=this,i.next=e<t.length-1?t[e+1]:null)}};o.ItemState=s;var h=o.prototype;h.insertPipe=function(t,e){if(!t.handle||!t.id||e>this._pipes.length)cc.warnID(4921);else if(this._pipes.indexOf(t)>0)cc.warnID(4922);else{t.pipeline=this;var i=null;e<this._pipes.length&&(i=this._pipes[e]);var n=null;e>0&&(n=this._pipes[e-1]),n&&(n.next=t),t.next=i,this._pipes.splice(e,0,t)}},h.insertPipeAfter=function(t,e){var i=this._pipes.indexOf(t);i<0||this.insertPipe(e,i+1)},h.appendPipe=function(t){t.handle&&t.id&&(t.pipeline=this,t.next=null,this._pipes.length>0&&(this._pipes[this._pipes.length-1].next=t),this._pipes.push(t))},h.flowIn=function(t){var e,i,n=this._pipes[0];if(n){for(e=0;e<t.length;e++)i=t[e],this._cache[i.id]=i;for(e=0;e<t.length;e++)a(n,i=t[e])}else for(e=0;e<t.length;e++)this.flowOut(t[e])},h.flowInDeps=function(t,e,i){return r.create(this,(function(t,e){i(t,e),e.destroy()})).append(e,t)},h.flowOut=function(t){t.error?delete this._cache[t.id]:this._cache[t.id]||(this._cache[t.id]=t),t.complete=!0,r.itemComplete(t)},h.copyItemStates=function(t,e){if(e instanceof Array)for(var i=0;i<e.length;++i)e[i].states=t.states;else e.states=t.states},h.getItem=function(t){var e=this._cache[t];return e?(e.alias&&(e=e.alias),e):e},h.removeItem=function(t){var e=this._cache[t];return e&&e.complete&&delete this._cache[t],e},h.clear=function(){for(var t in this._cache){var e=this._cache[t];delete this._cache[t],e.complete||(e.error=new Error("Canceled manually"),this.flowOut(e))}},cc.Pipeline=e.exports=o}),{"../platform/js":180,"./loading-items":121}],125:[(function(t,e,i){}),{"../platform/js":180}],126:[(function(t,e,i){var n=t("./pipeline"),r="SubPackPipe",s=/.*[/\\][0-9a-fA-F]{2}[/\\]([0-9a-fA-F-]{8,})/;var a=Object.create(null),o=function(t){this.id=r,this.async=!1,this.pipeline=null;for(var e in t){var i=t[e];i.uuids&&i.uuids.forEach((function(t){a[t]=i.path}))}};o.ID=r,o.prototype.handle=function(t){return t.url=this.transformURL(t.url),null},o.prototype.transformURL=function(t){var e=(function(t){var e=t.match(s);return e?e[1]:""})(t);if(e){var i=a[e];if(i)return t.replace("res/raw-assets/",i+"raw-assets/")}return t},n.SubPackPipe=e.exports=o}),{"./pipeline":124}],127:[(function(t,e,i){var n=t("./utils").urlAppendTimestamp;e.exports=function(t,e){var i=t.url;i=n(i);var r=cc.loader.getXMLHttpRequest(),s="Load text file failed: "+i;r.open("GET",i,!0),r.overrideMimeType&&r.overrideMimeType("text/plain; charset=utf-8"),r.onload=function(){4===r.readyState?200===r.status||0===r.status?e(null,r.responseText):e({status:r.status,errorMessage:s+"(wrong status)"}):e({status:r.status,errorMessage:s+"(wrong readyState)"})},r.onerror=function(){e({status:r.status,errorMessage:s+"(error)"})},r.ontimeout=function(){e({status:r.status,errorMessage:s+"(time out)"})},r.send(null)}}),{"./utils":129}],128:[(function(t,e,i){var n=t("../assets/CCTexture2D"),r=t("../platform/js");function s(){this.jsons={}}function a(){this.contents={}}s.prototype.load=function(t,e){e.length!==t.length&&cc.errorID(4915);for(var i=0;i<t.length;i++){var n=t[i],r=e[i];this.jsons[n]=r}},s.prototype.retrieve=function(t){return this.jsons[t]||null},a.ID=r._getClassId(n),a.prototype.load=function(t,e){var i=e.data.split("|");i.length!==t.length&&cc.errorID(4915);for(var n=0;n<t.length;n++)this.contents[t[n]]=i[n]},a.prototype.retrieve=function(t){var e=this.contents[t];return e?{__type__:a.ID,content:e}:null},e.exports={JsonUnpacker:s,TextureUnpacker:a}}),{"../assets/CCTexture2D":49,"../platform/js":180}],129:[(function(t,e,i){var n=/\?/;e.exports={urlAppendTimestamp:function(t){return cc.game.config.noCache&&"string"==typeof t&&(n.test(t)?t+="&_t="+(new Date-0):t+="?_t="+(new Date-0)),t}}}),{}],130:[(function(t,e,i){var n=t("../platform/js"),r=t("../CCDebug");t("../platform/deserialize");var s=t("./loading-items");function a(t){return t&&(t[0]&&"cc.Scene"===t[0].__type__||t[1]&&"cc.Scene"===t[1].__type__||t[0]&&"cc.Prefab"===t[0].__type__)}function o(t,e){var i,o;if("string"==typeof t.content)try{i=JSON.parse(t.content)}catch(e){return new Error(r.getError(4923,t.id,e.stack))}else{if("object"!=typeof t.content)return new Error(r.getError(4924));i=t.content}var h=a(i);o=h?cc._MissingScript.safeFindClass:function(t){var e=n._getClassById(t);return e||(cc.warnID(4903,t),Object)};var l,c=cc.deserialize.Details.pool.get();try{l=cc.deserialize(i,c,{classFinder:o,target:t.existingAsset,customEnv:t})}catch(e){cc.deserialize.Details.pool.put(c);var u=e.stack;return new Error(r.getError(4925,t.id,u))}l._uuid=t.uuid;var _=(function(t,e,i,n){var r,s,a,o=i.uuidList,h=i.uuidObjList,l=i.uuidPropList,c=i._stillUseUrl,u=t.dependKeys=[];if(n)for(r=[],s=0;s<o.length;s++){a=o[s];var _=h[s],f=l[s],m=cc.AssetLibrary._getAssetInfoInRuntime(a);if(m.raw){var d=m.url;_[f]=d,u.push(d)}else r.push({type:"uuid",uuid:a,deferredLoadRaw:!0,_owner:_,_ownerProp:f,_stillUseUrl:c[s]})}else{for(r=new Array(o.length),s=0;s<o.length;s++)a=o[s],r[s]={type:"uuid",uuid:a,_owner:h[s],_ownerProp:l[s],_stillUseUrl:c[s]};e._native&&!e.constructor.preventPreloadNativeObject&&r.push({url:e.nativeUrl,_owner:e,_ownerProp:"_nativeAsset"})}return r})(t,l,c,(function(t,e,i){var n=e.deferredLoadRaw;return n?t instanceof cc.Asset&&t.constructor.preventDeferredLoadDependents&&(n=!1):i&&(t instanceof cc.SceneAsset||t instanceof cc.Prefab)&&(n=t.asyncLoadAssets),n})(l,t,h));if(cc.deserialize.Details.pool.put(c),0===_.length)return e(null,l);(function(t,e,i,n,r){e.content=i;var a=e.dependKeys;t.flowInDeps(e,n,(function(t,e){var o,h=e.map;for(var l in h)(o=h[l]).uuid&&o.content&&(o.content._uuid=o.uuid);for(var c=0;c<n.length;c++){var u=n[c],_=u.uuid,f=u.url;if(u._owner,u._ownerProp,o=h[f]){var m=u;if(o.complete||o.content)o.error?cc._throw(o.error):y.call(m,o);else{var d=s.getQueue(o),p=d._callbackTable[_];p?p.unshift(y,m):d.addListener(_,y,m)}}function y(t){var e=t.content;this._stillUseUrl&&(e=e&&cc.RawAsset.wasRawAssetType(e.constructor)?e.nativeUrl:t.rawUrl),this._owner[this._ownerProp]=e,t.uuid!==i._uuid&&a.indexOf(t.id)<0&&a.push(t.id)}}r(t,i)}))})(this.pipeline,t,l,_,e)}e.exports=o,o.isSceneObj=a}),{"../CCDebug":26,"../platform/deserialize":175,"../platform/js":180,"./loading-items":121}],131:[(function(t,e,i){var n=t("./component-scheduler"),r=t("./platform/CCObject").Flags,s=t("./platform/js"),a=r.IsPreloadStarted,o=r.IsOnLoadStarted,h=r.IsOnLoadCalled,l=r.Deactivating,c="c.onLoad();c._objFlags|="+h,u=cc.Class({extends:n.LifeCycleInvoker,add:function(t){this._zero.array.push(t)},remove:function(t){this._zero.fastRemove(t)},cancelInactive:function(t){n.LifeCycleInvoker.stableRemoveInactive(this._zero,t)},invoke:function(){this._invoke(this._zero),this._zero.array.length=0}}),_=n.createInvokeImpl("c.__preload();"),f=n.createInvokeImpl(c),m=new s.Pool(4);function d(t,e,i){e?t._removeComponent(e):s.array.removeAt(t._components,i)}function p(){this._activatingStack=[]}m.get=function(){var t=this._get()||{preload:new u(_),onLoad:new n.OneOffInvoker(f),onEnable:new n.OneOffInvoker(n.invokeOnEnable)};t.preload._zero.i=-1;var e=t.onLoad;return e._zero.i=-1,e._neg.i=-1,e._pos.i=-1,(e=t.onEnable)._zero.i=-1,e._neg.i=-1,e._pos.i=-1,t};var y=cc.Class({ctor:p,reset:p,_activateNodeRecursively:function(t,e,i,n){if(t._objFlags&l)cc.errorID(3816,t.name);else{t._activeInHierarchy=!0;for(var r=t._components.length,s=0;s<r;++s){var a=t._components[s];a instanceof cc.Component?this.activateComp(a,e,i,n):(d(t,a,s),--s,--r)}for(var o=0,h=t._children.length;o<h;++o){var c=t._children[o];c._active&&this._activateNodeRecursively(c,e,i,n)}t._onPostActivated(!0)}},_deactivateNodeRecursively:function(t){t._objFlags|=l,t._activeInHierarchy=!1;for(var e=t._components.length,i=0;i<e;++i){var n=t._components[i];if(n._enabled&&(cc.director._compScheduler.disableComp(n),t._activeInHierarchy))return void(t._objFlags&=~l)}for(var r=0,s=t._children.length;r<s;++r){var a=t._children[r];if(a._activeInHierarchy&&(this._deactivateNodeRecursively(a),t._activeInHierarchy))return void(t._objFlags&=~l)}t._onPostActivated(!1),t._objFlags&=~l},activateNode:function(t,e){if(e){var i=m.get();this._activatingStack.push(i),this._activateNodeRecursively(t,i.preload,i.onLoad,i.onEnable),i.preload.invoke(),i.onLoad.invoke(),i.onEnable.invoke(),this._activatingStack.pop(),m.put(i)}else{this._deactivateNodeRecursively(t);for(var n=this._activatingStack,r=0;r<n.length;r++){var s=n[r];s.preload.cancelInactive(a),s.onLoad.cancelInactive(o),s.onEnable.cancelInactive()}}t.emit("active-in-hierarchy-changed",t)},activateComp:function(t,e,i,n){if(cc.isValid(t,!0)&&(t._objFlags&a||(t._objFlags|=a,t.__preload&&(e?e.add(t):t.__preload())),t._objFlags&o||(t._objFlags|=o,t.onLoad?i?i.add(t):(t.onLoad(),t._objFlags|=h):t._objFlags|=h),t._enabled)){if(!t.node._activeInHierarchy)return;cc.director._compScheduler.enableComp(t,n)}},destroyComp:function(t){cc.director._compScheduler.disableComp(t),t.onDestroy&&t._objFlags&h&&t.onDestroy()},resetComp:!1});e.exports=y}),{"./component-scheduler":61,"./platform/CCObject":166,"./platform/js":180,"./utils/misc":242}],132:[(function(t,e,i){var n=t("./CCPhysicsTypes").PTM_RATIO,r=t("./CCPhysicsTypes").ContactType,s=[],a=[cc.v2(),cc.v2()],o=new b2.WorldManifold,h={points:[],separations:[],normal:cc.v2()};function l(){this.localPoint=cc.v2(),this.normalImpulse=0,this.tangentImpulse=0}var c=[new l,new l],u=(new b2.Manifold,{type:0,localPoint:cc.v2(),localNormal:cc.v2(),points:[]}),_={normalImpulses:[],tangentImpulses:[]};function f(){}f.prototype.init=function(t){this.colliderA=t.GetFixtureA().collider,this.colliderB=t.GetFixtureB().collider,this.disabled=!1,this.disabledOnce=!1,this._impulse=null,this._inverted=!1,this._b2contact=t,t._contact=this},f.prototype.reset=function(){this.setTangentSpeed(0),this.resetFriction(),this.resetRestitution(),this.colliderA=null,this.colliderB=null,this.disabled=!1,this._impulse=null,this._b2contact._contact=null,this._b2contact=null},f.prototype.getWorldManifold=function(){var t=h.points,e=h.separations,i=h.normal;this._b2contact.GetWorldManifold(o);var r=o.points,s=o.separations,l=this._b2contact.GetManifold().pointCount;t.length=e.length=l;for(var c=0;c<l;c++){var u=a[c];u.x=r[c].x*n,u.y=r[c].y*n,t[c]=u,e[c]=s[c]*n}return i.x=o.normal.x,i.y=o.normal.y,this._inverted&&(i.x*=-1,i.y*=-1),h},f.prototype.getManifold=function(){for(var t=u.points,e=u.localNormal,i=u.localPoint,r=this._b2contact.GetManifold(),s=r.points,a=t.length=r.pointCount,o=0;o<a;o++){var h=c[o],l=s[o];h.localPoint.x=l.localPoint.x*n,h.localPoint.Y=l.localPoint.Y*n,h.normalImpulse=l.normalImpulse*n,h.tangentImpulse=l.tangentImpulse,t[o]=h}return i.x=r.localPoint.x*n,i.y=r.localPoint.y*n,e.x=r.localNormal.x,e.y=r.localNormal.y,u.type=r.type,this._inverted&&(e.x*=-1,e.y*=-1),u},f.prototype.getImpulse=function(){var t=this._impulse;if(!t)return null;for(var e=_.normalImpulses,i=_.tangentImpulses,r=t.count,s=0;s<r;s++)e[s]=t.normalImpulses[s]*n,i[s]=t.tangentImpulses[s];return i.length=e.length=r,_},f.prototype.emit=function(t){var e;switch(t){case r.BEGIN_CONTACT:e="onBeginContact";break;case r.END_CONTACT:e="onEndContact";break;case r.PRE_SOLVE:e="onPreSolve";break;case r.POST_SOLVE:e="onPostSolve"}var i,n,s,a,o=this.colliderA,h=this.colliderB,l=o.body,c=h.body;if(l.enabledContactListener)for(i=l.node._components,this._inverted=!1,n=0,s=i.length;n<s;n++)(a=i[n])[e]&&a[e](this,o,h);if(c.enabledContactListener)for(i=c.node._components,this._inverted=!0,n=0,s=i.length;n<s;n++)(a=i[n])[e]&&a[e](this,h,o);(this.disabled||this.disabledOnce)&&(this.setEnabled(!1),this.disabledOnce=!1)},f.get=function(t){var e;return(e=0===s.length?new cc.PhysicsContact:s.pop()).init(t),e},f.put=function(t){var e=t._contact;e&&(s.push(e),e.reset())};var m=f.prototype;m.setEnabled=function(t){this._b2contact.SetEnabled(t)},m.isTouching=function(){return this._b2contact.IsTouching()},m.setTangentSpeed=function(t){this._b2contact.SetTangentSpeed(t/n)},m.getTangentSpeed=function(){return this._b2contact.GetTangentSpeed()*n},m.setFriction=function(t){this._b2contact.SetFriction(t)},m.getFriction=function(){return this._b2contact.GetFriction()},m.resetFriction=function(){return this._b2contact.ResetFriction()},m.setRestitution=function(t){this._b2contact.SetRestitution(t)},m.getRestitution=function(){return this._b2contact.GetRestitution()},m.resetRestitution=function(){return this._b2contact.ResetRestitution()},f.ContactType=r,cc.PhysicsContact=e.exports=f}),{"./CCPhysicsTypes":134}],133:[(function(t,e,i){var n=t("./CCPhysicsTypes"),r=n.ContactType,s=n.BodyType,a=n.RayCastType,o=n.DrawBits,h=n.PTM_RATIO,l=(n.ANGLE_TO_PHYSICS_ANGLE,n.PHYSICS_ANGLE_TO_ANGLE),c=t("./utils").convertToNodeRotation,u=t("./platform/CCPhysicsDebugDraw"),_=new b2.AABB,f=new b2.Vec2,m=new b2.Vec2,d=cc.v2(),p=cc.Class({mixins:[cc.EventTarget],statics:{DrawBits:o,PTM_RATIO:h,VELOCITY_ITERATIONS:10,POSITION_ITERATIONS:10,FIXED_TIME_STEP:1/60,MAX_ACCUMULATOR:.2},ctor:function(){this._debugDrawFlags=0,this._debugDrawer=null,this._world=null,this._bodies=[],this._joints=[],this._contactMap={},this._contactID=0,this._delayEvents=[],this._accumulator=0,cc.director._scheduler&&cc.director._scheduler.enableForTarget(this),this.enabledAccumulator=!1},pushDelayEvent:function(t,e,i){this._steping?this._delayEvents.push({target:t,func:e,args:i}):t[e].apply(t,i)},update:function(t){var e=this._world;if(e&&this.enabled){this.emit("before-step"),this._steping=!0;var i=p.VELOCITY_ITERATIONS,n=p.POSITION_ITERATIONS;if(this.enabledAccumulator){this._accumulator+=t;var r=p.FIXED_TIME_STEP,s=p.MAX_ACCUMULATOR;for(this._accumulator>s&&(this._accumulator=s);this._accumulator>r;)e.Step(r,i,n),this._accumulator-=r}else{var a=1/cc.game.config.frameRate;e.Step(a,i,n)}this.debugDrawFlags&&(this._checkDebugDrawValid(),this._debugDrawer.clear(),e.DrawDebugData()),this._steping=!1;for(var o=this._delayEvents,h=0,l=o.length;h<l;h++){var c=o[h];c.target[c.func].apply(c.target,c.args)}o.length=0,this._syncNode()}},testPoint:function(t){var e=f.x=t.x/h,i=f.y=t.y/h,n=.2/h;_.lowerBound.x=e-n,_.lowerBound.y=i-n,_.upperBound.x=e+n,_.upperBound.y=i+n;var r=this._aabbQueryCallback;r.init(f),this._world.QueryAABB(r,_);var s=r.getFixture();return s?s.collider:null},testAABB:function(t){_.lowerBound.x=t.xMin/h,_.lowerBound.y=t.yMin/h,_.upperBound.x=t.xMax/h,_.upperBound.y=t.yMax/h;var e=this._aabbQueryCallback;return e.init(),this._world.QueryAABB(e,_),e.getFixtures().map((function(t){return t.collider}))},rayCast:function(t,e,i){if(t.equals(e))return[];i=i||a.Closest,f.x=t.x/h,f.y=t.y/h,m.x=e.x/h,m.y=e.y/h;var n=this._raycastQueryCallback;n.init(i),this._world.RayCast(n,f,m);var r=n.getFixtures();if(r.length>0){for(var s=n.getPoints(),o=n.getNormals(),l=n.getFractions(),c=[],u=0,_=r.length;u<_;u++){var d=r[u],p=d.collider;if(i===a.AllClosest){var y=c.find((function(t){return t.collider===p}));if(y){l[u]<y.fraction&&(y.fixtureIndex=p._getFixtureIndex(d),y.point.x=s[u].x*h,y.point.y=s[u].y*h,y.normal.x=o[u].x,y.normal.y=o[u].y,y.fraction=l[u]);continue}}c.push({collider:p,fixtureIndex:p._getFixtureIndex(d),point:cc.v2(s[u].x*h,s[u].y*h),normal:cc.v2(o[u]),fraction:l[u]})}return c}return[]},syncPosition:function(){for(var t=this._bodies,e=0;e<t.length;e++)t[e].syncPosition()},syncRotation:function(){for(var t=this._bodies,e=0;e<t.length;e++)t[e].syncRotation()},_registerContactFixture:function(t){this._contactListener.registerContactFixture(t)},_unregisterContactFixture:function(t){this._contactListener.unregisterContactFixture(t)},_addBody:function(t,e){var i=this._world,n=t.node;i&&n&&(t._b2Body=i.CreateBody(e),t._b2Body.body=t,this._bodies.push(t))},_removeBody:function(t){var e=this._world;e&&(t._b2Body.body=null,e.DestroyBody(t._b2Body),t._b2Body=null,cc.js.array.remove(this._bodies,t))},_addJoint:function(t,e){var i=this._world.CreateJoint(e);i&&(i._joint=t,t._joint=i,this._joints.push(t))},_removeJoint:function(t){t._isValid()&&this._world.DestroyJoint(t._joint),t._joint&&(t._joint._joint=null),cc.js.array.remove(this._joints,t)},_initCallback:function(){if(this._world){if(!this._contactListener){var t=new cc.PhysicsContactListener;t.setBeginContact(this._onBeginContact),t.setEndContact(this._onEndContact),t.setPreSolve(this._onPreSolve),t.setPostSolve(this._onPostSolve),this._world.SetContactListener(t),this._contactListener=t,this._aabbQueryCallback=new cc.PhysicsAABBQueryCallback,this._raycastQueryCallback=new cc.PhysicsRayCastCallback}}else cc.warn("Please init PhysicsManager first")},_init:function(){this.enabled=!0,this.debugDrawFlags=o.e_shapeBit},_getWorld:function(){return this._world},_syncNode:function(){for(var t=this._bodies,e=0,i=t.length;e<i;e++){var n=t[e],r=n.node,a=n._b2Body,o=a.GetPosition();d.x=o.x*h,d.y=o.y*h;var u=a.GetAngle()*l;null!==r.parent.parent&&(d=r.parent.convertToNodeSpaceAR(d),u=c(r.parent,u));var _=r._eventMask;r._eventMask=0,r.position=d,r.rotation=u,r._eventMask=_,n.type===s.Animated&&n.resetVelocity()}},_onBeginContact:function(t){cc.PhysicsContact.get(t).emit(r.BEGIN_CONTACT)},_onEndContact:function(t){var e=t._contact;e&&(e.emit(r.END_CONTACT),cc.PhysicsContact.put(t))},_onPreSolve:function(t){var e=t._contact;e&&e.emit(r.PRE_SOLVE)},_onPostSolve:function(t,e){var i=t._contact;i&&(i._impulse=e,i.emit(r.POST_SOLVE),i._impulse=null)},_checkDebugDrawValid:function(){if(!this._debugDrawer||!this._debugDrawer.isValid){var t=new cc.Node("PHYSICS_MANAGER_DEBUG_DRAW");t.zIndex=cc.macro.MAX_ZINDEX,cc.game.addPersistRootNode(t),this._debugDrawer=t.addComponent(cc.Graphics);var e=new u(this._debugDrawer);e.SetFlags(this.debugDrawFlags),this._world.SetDebugDraw(e)}}});cc.js.getset(p.prototype,"enabled",(function(){return this._enabled}),(function(t){if(t&&!this._world){var e=new b2.World(new b2.Vec2(0,-10));e.SetAllowSleeping(!0),this._world=e,this._initCallback()}this._enabled=t})),cc.js.getset(p.prototype,"debugDrawFlags",(function(){return this._debugDrawFlags}),(function(t){t&&!this._debugDrawFlags?this._debugDrawer&&this._debugDrawer.node&&(this._debugDrawer.node.active=!0):!t&&this._debugDrawFlags&&this._debugDrawer&&this._debugDrawer.node&&(this._debugDrawer.node.active=!1),t&&(this._checkDebugDrawValid(),this._world.m_debugDraw.SetFlags(t)),this._debugDrawFlags=t,t&&(this._checkDebugDrawValid(),this._world.m_debugDraw.SetFlags(t))})),cc.js.getset(p.prototype,"gravity",(function(){if(this._world){var t=this._world.GetGravity();return cc.v2(t.x*h,t.y*h)}return cc.v2()}),(function(t){this._world&&this._world.SetGravity(new b2.Vec2(t.x/h,t.y/h))})),cc.PhysicsManager=e.exports=p}),{"./CCPhysicsTypes":134,"./platform/CCPhysicsDebugDraw":155,"./utils":157}],134:[(function(t,e,i){var n=cc.Enum({Static:0,Kinematic:1,Dynamic:2,Animated:3});cc.RigidBodyType=n;var r=cc.Enum({Closest:0,Any:1,AllClosest:2,All:3});cc.RayCastType=r,e.exports={BodyType:n,ContactType:{BEGIN_CONTACT:"begin-contact",END_CONTACT:"end-contact",PRE_SOLVE:"pre-solve",POST_SOLVE:"post-solve"},RayCastType:r,DrawBits:b2.DrawFlags,PTM_RATIO:32,ANGLE_TO_PHYSICS_ANGLE:-Math.PI/180,PHYSICS_ANGLE_TO_ANGLE:-180/Math.PI}}),{}],135:[(function(t,e,i){function n(t,e){var i=e.length;return e[t<0?i- -t%i:t%i]}function r(t,e,i){for(var r=[];e<t;)e+=i.length;for(;t<=e;++t)r.push(n(t,i));return r}function s(t,e,i){if(a(t,i)){if(l(n(t,i),n(t-1,i),n(e,i))&&c(n(t,i),n(t+1,i),n(e,i)))return!1}else if(c(n(t,i),n(t+1,i),n(e,i))||l(n(t,i),n(t-1,i),n(e,i)))return!1;if(a(e,i)){if(l(n(e,i),n(e-1,i),n(t,i))&&c(n(e,i),n(e+1,i),n(t,i)))return!1}else if(c(n(e,i),n(e+1,i),n(t,i))||l(n(e,i),n(e-1,i),n(t,i)))return!1;for(var r=0;r<i.length;++r)if((r+1)%i.length!=t&&r!=t&&(r+1)%i.length!=e&&r!=e){var s=cc.v2();if(d(n(t,i),n(e,i),n(r,i),n(r+1,i),s))return!1}return!0}function a(t,e){return o(t,e)}function o(t,e,i){if(void 0===i){var r=t,s=e;t=n(r-1,s),e=n(r,s),i=n(r+1,s)}return p(t,e,i)<0}function h(t,e,i){return p(t,e,i)>0}function l(t,e,i){return p(t,e,i)>=0}function c(t,e,i){return p(t,e,i)<=0}function u(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function _(t){f(t)||t.reverse()}function f(t){return t.length<3||(function(t){var e,i=0;for(e=0;e<t.length;e++){var n=(e+1)%t.length;i+=t[e].x*t[n].y,i-=t[e].y*t[n].x}return i/=2})(t)>0}function m(t,e,i,n){var r=cc.v2(),s=e.y-t.y,a=t.x-e.x,o=s*t.x+a*t.y,h=n.y-i.y,l=i.x-n.x,c=h*i.x+l*i.y,u=s*l-h*a;return (function(t,e){return Math.abs(t-e)<=1e-6})(u,0)||(r.x=(l*o-a*c)/u,r.y=(s*c-h*o)/u),r}function d(t,e,i,n,r){if(t==i||t==n||e==i||e==n)return!1;var s=t.x,a=t.y,o=e.x,h=e.y,l=i.x,c=i.y,u=n.x,_=n.y;if(Math.max(s,o)<Math.min(l,u)||Math.max(l,u)<Math.min(s,o))return!1;if(Math.max(a,h)<Math.min(c,_)||Math.max(c,_)<Math.min(a,h))return!1;var f=(u-l)*(a-c)-(_-c)*(s-l),m=(o-s)*(a-c)-(h-a)*(s-l),d=(_-c)*(o-s)-(u-l)*(h-a);return!(Math.abs(d)<1e-6)&&(m/=d,0<(f/=d)&&f<1&&0<m&&m<1&&(r.x=s+f*(o-s),r.y=a+f*(h-a),!0))}function p(t,e,i){return t.x*(e.y-i.y)+e.x*(i.y-t.y)+i.x*(t.y-e.y)}e.exports={ConvexPartition:function t(e){_(e);for(var i,f,d,p,y,v,g=[],x=cc.v2(),A=cc.v2(),b=0,C=0,S=0;S<e.length;++S)if(a(S,e)){f=d=1e8;for(var T=0;T<e.length;++T)h(n(S-1,e),n(S,e),n(T,e))&&c(n(S-1,e),n(S,e),n(T-1,e))&&(p=m(n(S-1,e),n(S,e),n(T,e),n(T-1,e)),o(n(S+1,e),n(S,e),p)&&(i=u(n(S,e),p))<f&&(f=i,x=p,b=T)),h(n(S+1,e),n(S,e),n(T+1,e))&&c(n(S+1,e),n(S,e),n(T,e))&&(p=m(n(S+1,e),n(S,e),n(T,e),n(T+1,e)),h(n(S-1,e),n(S,e),p)&&(i=u(n(S,e),p))<d&&(d=i,C=T,A=p));if(b==(C+1)%e.length){var w=x.add(A).div(2);(y=r(S,C,e)).push(w),(v=r(b,S,e)).push(w)}else{for(var E=0,D=b;C<b;)C+=e.length;for(T=b;T<=C;++T)if(s(S,T,e)){var M=1/(u(n(S,e),n(T,e))+1);a(T,e)?c(n(T-1,e),n(T,e),n(S,e))&&l(n(T+1,e),n(T,e),n(S,e))?M+=3:M+=2:M+=1,M>E&&(D=T,E=M)}y=r(S,D,e),v=r(D,S,e)}return g=(g=g.concat(t(y))).concat(t(v))}g.push(e);for(S=g.length-1;S>=0;S--)0==g[S].length&&g.splice(S,0);return g},ForceCounterClockWise:_,IsCounterClockWise:f}}),{}],136:[(function(t,e,i){var n=t("../CCNode").EventType,r=t("./CCPhysicsTypes").PTM_RATIO,s=t("./CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,a=t("./CCPhysicsTypes").PHYSICS_ANGLE_TO_ANGLE,o=t("./utils").getWorldRotation,h=t("./CCPhysicsTypes").BodyType,l=new b2.Vec2,c=new b2.Vec2,u=cc.Vec2.ZERO,_=cc.Class({name:"cc.RigidBody",extends:cc.Component,editor:!1,properties:{_type:h.Dynamic,_allowSleep:!0,_gravityScale:1,_linearDamping:0,_angularDamping:0,_linearVelocity:cc.v2(0,0),_angularVelocity:0,_fixedRotation:!1,enabled:{get:function(){return this._enabled},set:function(){cc.warnID(8200)},visible:!1,override:!0},enabledContactListener:{default:!1,tooltip:!1},bullet:{default:!1,tooltip:!1},type:{type:h,tooltip:!1,get:function(){return this._type},set:function(t){this._type=t,this._b2Body&&(t===h.Animated?this._b2Body.SetType(h.Kinematic):this._b2Body.SetType(t))}},allowSleep:{tooltip:!1,get:function(){return this._b2Body?this._b2Body.IsSleepingAllowed():this._allowSleep},set:function(t){this._allowSleep=t,this._b2Body&&this._b2Body.SetSleepingAllowed(t)}},gravityScale:{tooltip:!1,get:function(){return this._gravityScale},set:function(t){this._gravityScale=t,this._b2Body&&this._b2Body.SetGravityScale(t)}},linearDamping:{tooltip:!1,get:function(){return this._linearDamping},set:function(t){this._linearDamping=t,this._b2Body&&this._b2Body.SetLinearDamping(this._linearDamping)}},angularDamping:{tooltip:!1,get:function(){return this._angularDamping},set:function(t){this._angularDamping=t,this._b2Body&&this._b2Body.SetAngularDamping(t)}},linearVelocity:{tooltip:!1,type:cc.Vec2,get:function(){var t=this._linearVelocity;if(this._b2Body){var e=this._b2Body.GetLinearVelocity();t.x=e.x*r,t.y=e.y*r}return t},set:function(t){this._linearVelocity=t;var e=this._b2Body;if(e){var i=e.m_linearVelocity;i.Set(t.x/r,t.y/r),e.SetLinearVelocity(i)}}},angularVelocity:{tooltip:!1,get:function(){return this._b2Body?this._b2Body.GetAngularVelocity()*a:this._angularVelocity},set:function(t){this._angularVelocity=t,this._b2Body&&this._b2Body.SetAngularVelocity(t*s)}},fixedRotation:{tooltip:!1,get:function(){return this._fixedRotation},set:function(t){this._fixedRotation=t,this._b2Body&&this._b2Body.SetFixedRotation(t)}},awake:{visible:!1,tooltip:!1,get:function(){return!!this._b2Body&&this._b2Body.IsAwake()},set:function(t){this._b2Body&&this._b2Body.SetAwake(t)}},awakeOnLoad:{default:!0,tooltip:!1,animatable:!1},active:{visible:!1,get:function(){return!!this._b2Body&&this._b2Body.IsActive()},set:function(t){this._b2Body&&this._b2Body.SetActive(t)}}},getLocalPoint:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/r,t.y/r);var i=this._b2Body.GetLocalPoint(l,e);e.x=i.x*r,e.y=i.y*r}return e},getWorldPoint:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/r,t.y/r);var i=this._b2Body.GetWorldPoint(l,e);e.x=i.x*r,e.y=i.y*r}return e},getWorldVector:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/r,t.y/r);var i=this._b2Body.GetWorldVector(l,e);e.x=i.x*r,e.y=i.y*r}return e},getLocalVector:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/r,t.y/r);var i=this._b2Body.GetLocalVector(l,e);e.x=i.x*r,e.y=i.y*r}return e},getWorldPosition:function(t){if(t=t||cc.v2(),this._b2Body){var e=this._b2Body.GetPosition();t.x=e.x*r,t.y=e.y*r}return t},getWorldRotation:function(){return this._b2Body?this._b2Body.GetAngle()*a:0},getLocalCenter:function(t){if(t=t||cc.v2(),this._b2Body){var e=this._b2Body.GetLocalCenter();t.x=e.x*r,t.y=e.y*r}return t},getWorldCenter:function(t){if(t=t||cc.v2(),this._b2Body){var e=this._b2Body.GetWorldCenter();t.x=e.x*r,t.y=e.y*r}return t},getLinearVelocityFromWorldPoint:function(t,e){if(e=e||cc.v2(),this._b2Body){l.Set(t.x/r,t.y/r);var i=this._b2Body.GetLinearVelocityFromWorldPoint(l,e);e.x=i.x*r,e.y=i.y*r}return e},getMass:function(){return this._b2Body?this._b2Body.GetMass():0},getInertia:function(){return this._b2Body?this._b2Body.GetInertia()*r*r:0},getJointList:function(){if(!this._b2Body)return[];var t=[],e=this._b2Body.GetJointList();if(!e)return[];t.push(e.joint._joint);for(var i=e.prev;i;)t.push(i.joint._joint),i=i.prev;for(var n=e.next;n;)t.push(n.joint._joint),n=n.next;return t},applyForce:function(t,e,i){this._b2Body&&(l.Set(t.x/r,t.y/r),c.Set(e.x/r,e.y/r),this._b2Body.ApplyForce(l,c,i))},applyForceToCenter:function(t,e){this._b2Body&&(l.Set(t.x/r,t.y/r),this._b2Body.ApplyForceToCenter(l,e))},applyTorque:function(t,e){this._b2Body&&this._b2Body.ApplyTorque(t/r,e)},applyLinearImpulse:function(t,e,i){this._b2Body&&(l.Set(t.x/r,t.y/r),c.Set(e.x/r,e.y/r),this._b2Body.ApplyLinearImpulse(l,c,i))},applyAngularImpulse:function(t,e){this._b2Body&&this._b2Body.ApplyAngularImpulse(t/r/r,e)},syncPosition:function(t){var e=this._b2Body;if(e){var i,n=this.node.convertToWorldSpaceAR(u);if((i=this.type===h.Animated?e.GetLinearVelocity():e.GetPosition()).x=n.x/r,i.y=n.y/r,this.type===h.Animated&&t){var s=e.GetPosition(),a=cc.game.config.frameRate;i.x=(i.x-s.x)*a,i.y=(i.y-s.y)*a,e.SetAwake(!0),e.SetLinearVelocity(i)}else e.SetTransformVec(i,e.GetAngle())}},syncRotation:function(t){var e=this._b2Body;if(e){var i=s*o(this.node);if(this.type===h.Animated&&t){var n=e.GetAngle(),r=cc.game.config.frameRate;e.SetAwake(!0),e.SetAngularVelocity((i-n)*r)}else e.SetTransformVec(e.GetPosition(),i)}},resetVelocity:function(){var t=this._b2Body;if(t){var e=t.m_linearVelocity;e.Set(0,0),t.SetLinearVelocity(e),t.SetAngularVelocity(0)}},onEnable:function(){this._init()},onDisable:function(){this._destroy()},_registerNodeEvents:function(){var t=this.node;t.on(n.POSITION_CHANGED,this._onNodePositionChanged,this),t.on(n.ROTATION_CHANGED,this._onNodeRotationChanged,this),t.on(n.SCALE_CHANGED,this._onNodeScaleChanged,this)},_unregisterNodeEvents:function(){var t=this.node;t.off(n.POSITION_CHANGED,this._onNodePositionChanged,this),t.off(n.ROTATION_CHANGED,this._onNodeRotationChanged,this),t.off(n.SCALE_CHANGED,this._onNodeScaleChanged,this)},_onNodePositionChanged:function(){this.syncPosition(!0)},_onNodeRotationChanged:function(t){this.syncRotation(!0)},_onNodeScaleChanged:function(t){if(this._b2Body)for(var e=this.getComponents(cc.PhysicsCollider),i=0;i<e.length;i++)e[i].apply()},_init:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__init",[])},_destroy:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__destroy",[])},__init:function(){if(!this._inited){this._registerNodeEvents();var t=new b2.BodyDef;this.type===h.Animated?t.type=h.Kinematic:t.type=this.type,t.allowSleep=this.allowSleep,t.gravityScale=this.gravityScale,t.linearDamping=this.linearDamping,t.angularDamping=this.angularDamping;var e=this.linearVelocity;t.linearVelocity=new b2.Vec2(e.x/r,e.y/r),t.angularVelocity=this.angularVelocity*s,t.fixedRotation=this.fixedRotation,t.bullet=this.bullet;var i=this.node,n=i.convertToWorldSpaceAR(u);t.position=new b2.Vec2(n.x/r,n.y/r),t.angle=-Math.PI/180*o(i),t.awake=this.awakeOnLoad,cc.director.getPhysicsManager()._addBody(this,t),this._inited=!0}},__destroy:function(){this._inited&&(cc.director.getPhysicsManager()._removeBody(this),this._unregisterNodeEvents(),this._inited=!1)},_getBody:function(){return this._b2Body}});cc.RigidBody=e.exports=_}),{"../CCNode":29,"./CCPhysicsTypes":134,"./utils":157}],137:[(function(t,e,i){var n=t("../../../external/box2d/box2d");window.b2={};for(var r in n)if(-1===r.indexOf("b2_")){var s=r.replace("b2","");b2[s]=n[r]}b2.maxPolygonVertices=8}),{"../../../external/box2d/box2d":302}],138:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.Class({name:"cc.PhysicsBoxCollider",extends:cc.PhysicsCollider,mixins:[cc.Collider.Box],editor:{menu:!1,requireComponent:cc.RigidBody},_createShape:function(t){var e=Math.abs(t.x),i=Math.abs(t.y),r=this.size.width/2/n*e,s=this.size.height/2/n*i,a=this.offset.x/n*e,o=this.offset.y/n*i,h=new b2.PolygonShape;return h.SetAsBox(r,s,new b2.Vec2(a,o),0),h}});cc.PhysicsBoxCollider=e.exports=r}),{"../CCPhysicsTypes":134}],139:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.Class({name:"cc.PhysicsChainCollider",extends:cc.PhysicsCollider,editor:{menu:!1,inspector:!1,requireComponent:cc.RigidBody},properties:{loop:!1,points:{default:function(){return[cc.v2(-50,0),cc.v2(50,0)]},type:[cc.Vec2]},threshold:{default:1,serializable:!1,visible:!1}},_createShape:function(t){for(var e=new b2.ChainShape,i=this.points,r=[],s=0;s<i.length;s++){var a=i[s];r.push(new b2.Vec2(a.x/n*t.x,a.y/n*t.y))}return this.loop?e.CreateLoop(r,r.length):e.CreateChain(r,r.length),e},resetInEditor:!1,resetPointsByContour:!1});cc.PhysicsChainCollider=e.exports=r}),{"../CCPhysicsTypes":134}],140:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.Class({name:"cc.PhysicsCircleCollider",extends:cc.PhysicsCollider,mixins:[cc.Collider.Circle],editor:{menu:!1,requireComponent:cc.RigidBody},_createShape:function(t){var e=Math.abs(t.x),i=Math.abs(t.y),r=this.offset.x/n*e,s=this.offset.y/n*i,a=new b2.CircleShape;return a.m_radius=this.radius/n*e,a.m_p=new b2.Vec2(r,s),a}});cc.PhysicsCircleCollider=e.exports=r}),{"../CCPhysicsTypes":134}],141:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../utils").getWorldScale,s=cc.Class({name:"cc.PhysicsCollider",extends:cc.Collider,ctor:function(){this._fixtures=[],this._shapes=[],this._inited=!1,this._rect=cc.rect()},properties:{_density:1,_sensor:!1,_friction:.2,_restitution:0,density:{tooltip:!1,get:function(){return this._density},set:function(t){this._density=t}},sensor:{tooltip:!1,get:function(){return this._sensor},set:function(t){this._sensor=t}},friction:{tooltip:!1,get:function(){return this._friction},set:function(t){this._friction=t}},restitution:{tooltip:!1,get:function(){return this._restitution},set:function(t){this._restitution=t}},body:{default:null,type:cc.RigidBody,visible:!1}},onDisable:function(){this._destroy()},onEnable:function(){this._init()},start:function(){this._init()},_getFixtureIndex:function(t){return this._fixtures.indexOf(t)},_init:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__init",[])},_destroy:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__destroy",[])},__init:function(){if(!this._inited){var t=this.body||this.getComponent(cc.RigidBody);if(t){var e=t._getBody();if(e){var i=t.node,n=r(i);this._scale=n;var s=0===n.x&&0===n.y?[]:this._createShape(n);s instanceof Array||(s=[s]);for(var a=1<<i.groupIndex,o=0,h=cc.game.collisionMatrix[i.groupIndex],l=0;l<h.length;l++)h[l]&&(o|=1<<l);for(var c={categoryBits:a,maskBits:o,groupIndex:0},u=cc.director.getPhysicsManager(),_=0;_<s.length;_++){var f=s[_],m=new b2.FixtureDef;m.density=this.density,m.isSensor=this.sensor,m.friction=this.friction,m.restitution=this.restitution,m.shape=f,m.filter=c;var d=e.CreateFixture(m);d.collider=this,t.enabledContactListener&&u._registerContactFixture(d),this._shapes.push(f),this._fixtures.push(d)}this.body=t,this._inited=!0}}}},__destroy:function(){if(this._inited){for(var t=this._fixtures,e=this.body._getBody(),i=cc.director.getPhysicsManager(),n=t.length-1;n>=0;n--){var r=t[n];r.collider=null,i._unregisterContactFixture(r),e&&e.DestroyFixture(r)}this.body=null,this._fixtures.length=0,this._shapes.length=0,this._inited=!1}},_createShape:function(){},apply:function(){this._destroy(),this._init()},getAABB:function(){for(var t=1e7,e=1e7,i=-1e7,r=-1e7,s=this._fixtures,a=0;a<s.length;a++)for(var o=s[a],h=o.GetShape().GetChildCount(),l=0;l<h;l++){var c=o.GetAABB(l);c.lowerBound.x<t&&(t=c.lowerBound.x),c.lowerBound.y<e&&(e=c.lowerBound.y),c.upperBound.x>i&&(i=c.upperBound.x),c.upperBound.y>r&&(r=c.upperBound.y)}t*=n,e*=n,i*=n,r*=n;var u=this._rect;return u.x=t,u.y=e,u.width=i-t,u.height=r-e,u}});cc.PhysicsCollider=e.exports=s}),{"../CCPhysicsTypes":134,"../utils":157}],142:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../CCPolygonSeparator"),s=cc.Class({name:"cc.PhysicsPolygonCollider",extends:cc.PhysicsCollider,mixins:[cc.Collider.Polygon],editor:{menu:!1,inspector:!1,requireComponent:cc.RigidBody},_createShape:function(t){var e=[],i=this.points;i.length>0&&i[0].equals(i[i.length-1])&&(i.length-=1);for(var s=r.ConvexPartition(i),a=this.offset,o=0;o<s.length;o++){for(var h=s[o],l=null,c=[],u=null,_=0,f=h.length;_<f;_++){l||(l=new b2.PolygonShape);var m=h[_],d=(m.x+a.x)/n*t.x,p=(m.y+a.y)/n*t.y,y=new b2.Vec2(d,p);c.push(y),u||(u=y),c.length===b2.maxPolygonVertices&&(l.Set(c,c.length),e.push(l),l=null,_<f-1&&(c=[u,c[c.length-1]]))}l&&(l.Set(c,c.length),e.push(l))}return e}});cc.PhysicsPolygonCollider=e.exports=s}),{"../CCPhysicsTypes":134,"../CCPolygonSeparator":135}],143:[(function(t,e,i){t("./box2d-adapter"),t("./CCPhysicsManager"),t("./CCRigidBody"),t("./CCPhysicsContact"),t("./collider/CCPhysicsCollider"),t("./collider/CCPhysicsChainCollider"),t("./collider/CCPhysicsCircleCollider"),t("./collider/CCPhysicsBoxCollider"),t("./collider/CCPhysicsPolygonCollider"),t("./joint/CCJoint"),t("./joint/CCDistanceJoint"),t("./joint/CCRevoluteJoint"),t("./joint/CCMouseJoint"),t("./joint/CCMotorJoint"),t("./joint/CCPrismaticJoint"),t("./joint/CCWeldJoint"),t("./joint/CCWheelJoint"),t("./joint/CCRopeJoint"),t("./platform/CCPhysicsContactListner"),t("./platform/CCPhysicsAABBQueryCallback"),t("./platform/CCPhysicsRayCastCallback")}),{"./CCPhysicsContact":132,"./CCPhysicsManager":133,"./CCRigidBody":136,"./box2d-adapter":137,"./collider/CCPhysicsBoxCollider":138,"./collider/CCPhysicsChainCollider":139,"./collider/CCPhysicsCircleCollider":140,"./collider/CCPhysicsCollider":141,"./collider/CCPhysicsPolygonCollider":142,"./joint/CCDistanceJoint":144,"./joint/CCJoint":145,"./joint/CCMotorJoint":146,"./joint/CCMouseJoint":147,"./joint/CCPrismaticJoint":148,"./joint/CCRevoluteJoint":149,"./joint/CCRopeJoint":150,"./joint/CCWeldJoint":151,"./joint/CCWheelJoint":152,"./platform/CCPhysicsAABBQueryCallback":153,"./platform/CCPhysicsContactListner":154,"./platform/CCPhysicsRayCastCallback":156}],144:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.Class({name:"cc.DistanceJoint",extends:cc.Joint,editor:!1,properties:{_distance:1,_frequency:0,_dampingRatio:0,distance:{tooltip:!1,get:function(){return this._distance},set:function(t){this._distance=t,this._joint&&this._joint.SetLength(t)}},frequency:{tooltip:!1,get:function(){return this._frequency},set:function(t){this._frequency=t,this._joint&&this._joint.SetFrequency(t)}},dampingRatio:{tooltip:!1,get:function(){return this._dampingRatio},set:function(t){this._dampingRatio=t,this._joint&&this._joint.SetDampingRatio(t)}}},_createJointDef:function(){var t=new b2.DistanceJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/n,this.anchor.y/n),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/n,this.connectedAnchor.y/n),t.length=this.distance/n,t.dampingRatio=this.dampingRatio,t.frequencyHz=this.frequency,t}});cc.DistanceJoint=e.exports=r}),{"../CCPhysicsTypes":134}],145:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.Class({name:"cc.Joint",extends:cc.Component,editor:{requireComponent:cc.RigidBody},properties:{anchor:{default:cc.v2(0,0),tooltip:!1},connectedAnchor:{default:cc.v2(0,0),tooltip:!1},connectedBody:{default:null,type:cc.RigidBody,tooltip:!1},collideConnected:{default:!1,tooltip:!1}},onDisable:function(){this._destroy()},onEnable:function(){this._init()},start:function(){this._init()},apply:function(){this._destroy(),this._init()},getWorldAnchor:function(){if(this._joint){var t=this._joint.GetAnchorA();return cc.v2(t.x*n,t.y*n)}return cc.Vec2.ZERO},getWorldConnectedAnchor:function(){if(this._joint){var t=this._joint.GetAnchorB();return cc.v2(t.x*n,t.y*n)}return cc.Vec2.ZERO},getReactionForce:function(t){var e=cc.v2();return this._joint?this._joint.GetReactionForce(t,e):e},getReactionTorque:function(t){return this._joint?this._joint.GetReactionTorque(t):0},_init:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__init",[])},_destroy:function(){cc.director.getPhysicsManager().pushDelayEvent(this,"__destroy",[])},__init:function(){if(!this._inited&&(this.body=this.getComponent(cc.RigidBody),this._isValid())){var t=this._createJointDef();if(!t)return;t.bodyA=this.body._getBody(),t.bodyB=this.connectedBody._getBody(),t.collideConnected=this.collideConnected,cc.director.getPhysicsManager()._addJoint(this,t),this._inited=!0}},__destroy:function(){this._inited&&(cc.director.getPhysicsManager()._removeJoint(this),this._joint=null,this._inited=!1)},_createJointDef:function(){return null},_isValid:function(){return this.body&&this.body._getBody()&&this.connectedBody&&this.connectedBody._getBody()}});cc.Joint=e.exports=r}),{"../CCPhysicsTypes":134}],146:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,s=cc.Class({name:"cc.MotorJoint",extends:cc.Joint,editor:!1,properties:{_linearOffset:cc.v2(0,0),_angularOffset:0,_maxForce:1,_maxTorque:1,_correctionFactor:.3,anchor:{tooltip:!1,default:cc.v2(0,0),override:!0,visible:!1},connectedAnchor:{tooltip:!1,default:cc.v2(0,0),override:!0,visible:!1},linearOffset:{tooltip:!1,get:function(){return this._linearOffset},set:function(t){this._linearOffset=t,this._joint&&this._joint.SetLinearOffset(new b2.Vec2(t.x/n,t.y/n))}},angularOffset:{tooltip:!1,get:function(){return this._angularOffset},set:function(t){this._angularOffset=t,this._joint&&this._joint.SetAngularOffset(t)}},maxForce:{tooltip:!1,get:function(){return this._maxForce},set:function(t){this._maxForce=t,this._joint&&this._joint.SetMaxForce(t)}},maxTorque:{tooltip:!1,get:function(){return this._maxTorque},set:function(t){this._maxTorque=t,this._joint&&this._joint.SetMaxTorque(t)}},correctionFactor:{tooltip:!1,get:function(){return this._correctionFactor},set:function(t){this._correctionFactor=t,this._joint&&this._joint.SetCorrectionFactor(t)}}},_createJointDef:function(){var t=new b2.MotorJointDef;return t.linearOffset=new b2.Vec2(this.linearOffset.x/n,this.linearOffset.y/n),t.angularOffset=this.angularOffset*r,t.maxForce=this.maxForce,t.maxTorque=this.maxTorque,t.correctionFactor=this.correctionFactor,t}});cc.MotorJoint=e.exports=s}),{"../CCPhysicsTypes":134}],147:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=new b2.Vec2,s=cc.Class({name:"cc.MouseJoint",extends:cc.Joint,editor:!1,properties:{_target:1,_frequency:5,_dampingRatio:.7,_maxForce:0,connectedBody:{default:null,type:cc.RigidBody,visible:!1,override:!0},collideConnected:{default:!0,visible:!1,override:!0},anchor:{tooltip:!1,default:cc.v2(0,0),override:!0,visible:!1},connectedAnchor:{tooltip:!1,default:cc.v2(0,0),override:!0,visible:!1},mouseRegion:{tooltip:!1,default:null,type:cc.Node},target:{tooltip:!1,visible:!1,get:function(){return this._target},set:function(t){this._target=t,this._joint&&(r.x=t.x/n,r.y=t.y/n,this._joint.SetTarget(r))}},frequency:{tooltip:!1,get:function(){return this._frequency},set:function(t){this._frequency=t,this._joint&&this._joint.SetFrequency(t)}},dampingRatio:{tooltip:!1,get:function(){return this._dampingRatio},set:function(t){this._dampingRatio=t,this._joint&&this._joint.SetDampingRatio(t)}},maxForce:{tooltip:!1,visible:!1,get:function(){return this._maxForce},set:function(t){this._maxForce=t,this._joint&&this._joint.SetMaxForce(t)}}},onLoad:function(){var t=this.mouseRegion||this.node;t.on(cc.Node.EventType.TOUCH_START,this.onTouchBegan,this),t.on(cc.Node.EventType.TOUCH_MOVE,this.onTouchMove,this),t.on(cc.Node.EventType.TOUCH_END,this.onTouchEnd,this),t.on(cc.Node.EventType.TOUCH_CANCEL,this.onTouchEnd,this)},onEnable:function(){},start:function(){},onTouchBegan:function(t){var e=cc.director.getPhysicsManager(),i=this._pressPoint=t.touch.getLocation();cc.Camera&&cc.Camera.main&&(i=cc.Camera.main.getCameraToWorldPoint(i));var n=e.testPoint(i);n&&((this.connectedBody=n.body).awake=!0,this.maxForce=1e3*this.connectedBody.getMass(),this.target=i,this._init())},onTouchMove:function(t){this._pressPoint=t.touch.getLocation()},onTouchEnd:function(t){this._destroy(),this._pressPoint=null},_createJointDef:function(){var t=new b2.MouseJointDef;return r.x=this.target.x/n,r.y=this.target.y/n,t.target=r,t.maxForce=this.maxForce,t.dampingRatio=this.dampingRatio,t.frequencyHz=this.frequency,t},update:function(){if(this._pressPoint&&this._isValid()){var t=cc.Camera.findCamera(this.node);this.target=t?t.getCameraToWorldPoint(this._pressPoint):this._pressPoint}}});cc.MouseJoint=e.exports=s}),{"../CCPhysicsTypes":134}],148:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,s=cc.Class({name:"cc.PrismaticJoint",extends:cc.Joint,editor:!1,properties:{localAxisA:{default:cc.v2(1,0),tooltip:!1},referenceAngle:{default:0,tooltip:!1},enableLimit:{default:!1,tooltip:!1},enableMotor:{default:!1,tooltip:!1},lowerLimit:{default:0,tooltip:!1},upperLimit:{default:0,tooltip:!1},_maxMotorForce:0,_motorSpeed:0,maxMotorForce:{tooltip:!1,get:function(){return this._maxMotorForce},set:function(t){this._maxMotorForce=t,this._joint&&this._joint.SetMaxMotorForce(t)}},motorSpeed:{tooltip:!1,get:function(){return this._motorSpeed},set:function(t){this._motorSpeed=t,this._joint&&this._joint.SetMotorSpeed(t)}}},_createJointDef:function(){var t=new b2.PrismaticJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/n,this.anchor.y/n),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/n,this.connectedAnchor.y/n),t.localAxisA=new b2.Vec2(this.localAxisA.x,this.localAxisA.y),t.referenceAngle=this.referenceAngle*r,t.enableLimit=this.enableLimit,t.lowerTranslation=this.lowerLimit/n,t.upperTranslation=this.upperLimit/n,t.enableMotor=this.enableMotor,t.maxMotorForce=this.maxMotorForce,t.motorSpeed=this.motorSpeed,t}});cc.PrismaticJoint=e.exports=s}),{"../CCPhysicsTypes":134}],149:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,s=t("../CCPhysicsTypes").PHYSICS_ANGLE_TO_ANGLE,a=cc.Class({name:"cc.RevoluteJoint",extends:cc.Joint,editor:!1,properties:{_maxMotorTorque:0,_motorSpeed:0,_enableLimit:!1,_enableMotor:!1,referenceAngle:{default:0,tooltip:!1},lowerAngle:{default:0,tooltip:!1},upperAngle:{default:0,tooltip:!1},maxMotorTorque:{tooltip:!1,get:function(){return this._maxMotorTorque},set:function(t){this._maxMotorTorque=t,this._joint&&this._joint.SetMaxMotorTorque(t)}},motorSpeed:{tooltip:!1,get:function(){return this._motorSpeed},set:function(t){this._motorSpeed=t,this._joint&&this._joint.SetMotorSpeed(t*r)}},enableLimit:{tooltip:!1,get:function(){return this._enableLimit},set:function(t){this._enableLimit=t,this._joint&&this._joint.EnableLimit(t)}},enableMotor:{tooltip:!1,get:function(){return this._enableMotor},set:function(t){this._enableMotor=t,this._joint&&this._joint.EnableMotor(t)}}},getJointAngle:function(){return this._joint?this._joint.GetJointAngle()*s:0},setLimits:function(t,e){if(this._joint)return this._joint.SetLimits(t*r,e*r)},_createJointDef:function(){var t=new b2.RevoluteJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/n,this.anchor.y/n),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/n,this.connectedAnchor.y/n),t.lowerAngle=this.upperAngle*r,t.upperAngle=this.lowerAngle*r,t.maxMotorTorque=this.maxMotorTorque,t.motorSpeed=this.motorSpeed*r,t.enableLimit=this.enableLimit,t.enableMotor=this.enableMotor,t.referenceAngle=this.referenceAngle*r,t}});cc.RevoluteJoint=e.exports=a}),{"../CCPhysicsTypes":134}],150:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.Class({name:"cc.RopeJoint",extends:cc.Joint,editor:!1,properties:{_maxLength:1,maxLength:{tooltip:!1,get:function(){return this._maxLength},set:function(t){this._maxLength=t,this._joint&&this._joint.SetMaxLength(t)}}},_createJointDef:function(){var t=new b2.RopeJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/n,this.anchor.y/n),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/n,this.connectedAnchor.y/n),t.maxLength=this.maxLength/n,t}});cc.RopeJoint=e.exports=r}),{"../CCPhysicsTypes":134}],151:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,s=cc.Class({name:"cc.WeldJoint",extends:cc.Joint,editor:!1,properties:{referenceAngle:{default:0,tooltip:!1},_frequency:0,_dampingRatio:0,frequency:{tooltip:!1,get:function(){return this._frequency},set:function(t){this._frequency=t,this._joint&&this._joint.SetFrequency(t)}},dampingRatio:{tooltip:!1,get:function(){return this._dampingRatio},set:function(t){this._dampingRatio=t,this._joint&&this._joint.SetDampingRatio(t)}}},_createJointDef:function(){var t=new b2.WeldJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/n,this.anchor.y/n),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/n,this.connectedAnchor.y/n),t.referenceAngle=this.referenceAngle*r,t.frequencyHz=this.frequency,t.dampingRatio=this.dampingRatio,t}});cc.WeldJoint=e.exports=s}),{"../CCPhysicsTypes":134}],152:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=t("../CCPhysicsTypes").ANGLE_TO_PHYSICS_ANGLE,s=cc.Class({name:"cc.WheelJoint",extends:cc.Joint,editor:!1,properties:{_maxMotorTorque:0,_motorSpeed:0,_enableMotor:!1,_frequency:2,_dampingRatio:.7,localAxisA:{default:cc.v2(1,0),tooltip:!1},maxMotorTorque:{tooltip:!1,get:function(){return this._maxMotorTorque},set:function(t){this._maxMotorTorque=t,this._joint&&this._joint.SetMaxMotorTorque(t)}},motorSpeed:{tooltip:!1,get:function(){return this._motorSpeed},set:function(t){this._motorSpeed=t,this._joint&&this._joint.SetMotorSpeed(t*r)}},enableMotor:{tooltip:!1,get:function(){return this._enableMotor},set:function(t){this._enableMotor=t,this._joint&&this._joint.EnableMotor(t)}},frequency:{tooltip:!1,get:function(){return this._frequency},set:function(t){this._frequency=t,this._joint&&this._joint.SetFrequency(t)}},dampingRatio:{tooltip:!1,get:function(){return this._dampingRatio},set:function(t){this._dampingRatio=t,this._joint&&this._joint.SetDampingRatio(t)}}},_createJointDef:function(){var t=new b2.WheelJointDef;return t.localAnchorA=new b2.Vec2(this.anchor.x/n,this.anchor.y/n),t.localAnchorB=new b2.Vec2(this.connectedAnchor.x/n,this.connectedAnchor.y/n),t.localAxisA=new b2.Vec2(this.localAxisA.x,this.localAxisA.y),t.maxMotorTorque=this.maxMotorTorque,t.motorSpeed=this.motorSpeed*r,t.enableMotor=this.enableMotor,t.dampingRatio=this.dampingRatio,t.frequencyHz=this.frequency,t}});cc.WheelJoint=e.exports=s}),{"../CCPhysicsTypes":134}],153:[(function(t,e,i){var n=t("../CCPhysicsTypes").BodyType;function r(){this._point=new b2.Vec2,this._isPoint=!1,this._fixtures=[]}r.prototype.init=function(t){t?(this._isPoint=!0,this._point.x=t.x,this._point.y=t.y):this._isPoint=!1,this._fixtures.length=0},r.prototype.ReportFixture=function(t){if(t.GetBody().GetType()===n.Dynamic)if(this._isPoint){if(t.TestPoint(this._point))return this._fixtures.push(t),!1}else this._fixtures.push(t);return!0},r.prototype.getFixture=function(){return this._fixtures[0]},r.prototype.getFixtures=function(){return this._fixtures},cc.PhysicsAABBQueryCallback=e.exports=r}),{"../CCPhysicsTypes":134}],154:[(function(t,e,i){function n(){this._contactFixtures=[]}n.prototype.setBeginContact=function(t){this._BeginContact=t},n.prototype.setEndContact=function(t){this._EndContact=t},n.prototype.setPreSolve=function(t){this._PreSolve=t},n.prototype.setPostSolve=function(t){this._PostSolve=t},n.prototype.BeginContact=function(t){if(this._BeginContact){var e=t.GetFixtureA(),i=t.GetFixtureB(),n=this._contactFixtures;t._shouldReport=!1,-1===n.indexOf(e)&&-1===n.indexOf(i)||(t._shouldReport=!0,this._BeginContact(t))}},n.prototype.EndContact=function(t){this._EndContact&&t._shouldReport&&(t._shouldReport=!1,this._EndContact(t))},n.prototype.PreSolve=function(t,e){this._PreSolve&&t._shouldReport&&this._PreSolve(t,e)},n.prototype.PostSolve=function(t,e){this._PostSolve&&t._shouldReport&&this._PostSolve(t,e)},n.prototype.registerContactFixture=function(t){this._contactFixtures.push(t)},n.prototype.unregisterContactFixture=function(t){cc.js.array.remove(this._contactFixtures,t)},cc.PhysicsContactListener=e.exports=n}),{}],155:[(function(t,e,i){var n=t("../CCPhysicsTypes").PTM_RATIO,r=cc.v2(),s=cc.Color.GREEN,a=cc.Color.RED;function o(t){b2.Draw.call(this),this._drawer=t,this._xf=this._dxf=new b2.Transform}cc.js.extend(o,b2.Draw),cc.js.mixin(o.prototype,{_DrawPolygon:function(t,e){for(var i=this._drawer,s=0;s<e;s++){b2.Transform.MulXV(this._xf,t[s],r);var a=r.x*n,o=r.y*n;0===s?i.moveTo(a,o):i.lineTo(a,o)}i.close()},DrawPolygon:function(t,e,i){this._applyStrokeColor(i),this._DrawPolygon(t,e),this._drawer.stroke()},DrawSolidPolygon:function(t,e,i){this._applyFillColor(i),this._DrawPolygon(t,e),this._drawer.fill(),this._drawer.stroke()},_DrawCircle:function(t,e){var i=this._xf.p;this._drawer.circle((t.x+i.x)*n,(t.y+i.y)*n,e*n)},DrawCircle:function(t,e,i){this._applyStrokeColor(i),this._DrawCircle(t,e),this._drawer.stroke()},DrawSolidCircle:function(t,e,i,n){this._applyFillColor(n),this._DrawCircle(t,e),this._drawer.fill()},DrawSegment:function(t,e,i){var s=this._drawer;if(t.x===e.x&&t.y===e.y)return this._applyFillColor(i),this._DrawCircle(t,2/n),void s.fill();this._applyStrokeColor(i),b2.Transform.MulXV(this._xf,t,r),s.moveTo(r.x*n,r.y*n),b2.Transform.MulXV(this._xf,e,r),s.lineTo(r.x*n,r.y*n),s.stroke()},DrawTransform:function(t){var e=this._drawer;e.strokeColor=a,r.x=r.y=0,b2.Transform.MulXV(t,r,r),e.moveTo(r.x*n,r.y*n),r.x=1,r.y=0,b2.Transform.MulXV(t,r,r),e.lineTo(r.x*n,r.y*n),e.stroke(),e.strokeColor=s,r.x=r.y=0,b2.Transform.MulXV(t,r,r),e.moveTo(r.x*n,r.y*n),r.x=0,r.y=1,b2.Transform.MulXV(t,r,r),e.lineTo(r.x*n,r.y*n),e.stroke()},DrawPoint:function(t,e,i){},_applyStrokeColor:function(t){var e=this._drawer.strokeColor;e.r=255*t.r,e.g=255*t.g,e.b=255*t.b,e.a=150,this._drawer.strokeColor=e},_applyFillColor:function(t){var e=this._drawer.fillColor;e.r=255*t.r,e.g=255*t.g,e.b=255*t.b,e.a=150,this._drawer.fillColor=e},PushTransform:function(t){this._xf=t},PopTransform:function(){this._xf=this._dxf}}),e.exports=o}),{"../CCPhysicsTypes":134}],156:[(function(t,e,i){function n(){this._type=0,this._fixtures=[],this._points=[],this._normals=[],this._fractions=[]}n.prototype.init=function(t){this._type=t,this._fixtures.length=0,this._points.length=0,this._normals.length=0,this._fractions.length=0},n.prototype.ReportFixture=function(t,e,i,n){return 0===this._type?(this._fixtures[0]=t,this._points[0]=e,this._normals[0]=i,this._fractions[0]=n,n):(this._fixtures.push(t),this._points.push(cc.v2(e)),this._normals.push(cc.v2(i)),this._fractions.push(n),1===this._type?0:this._type>=2?1:n)},n.prototype.getFixtures=function(){return this._fixtures},n.prototype.getPoints=function(){return this._points},n.prototype.getNormals=function(){return this._normals},n.prototype.getFractions=function(){return this._fractions},cc.PhysicsRayCastCallback=e.exports=n}),{}],157:[(function(t,e,i){e.exports={getWorldRotation:function(t){for(var e=t.rotationX,i=t.parent;i.parent;)e+=i.rotationX,i=i.parent;return e},getWorldScale:function(t){for(var e=t.scaleX,i=t.scaleY,n=t.parent;n.parent;)e*=n.scaleX,i*=n.scaleY,n=n.parent;return cc.v2(e,i)},convertToNodeRotation:function(t,e){e-=t.rotationX;for(var i=t.parent;i.parent;)e-=i.rotationX,i=i.parent;return e}}}),{}],158:[(function(t,e,i){}),{"../event-manager":100,"../platform/js":180,"./CCMacro":165,"./CCSys":169}],159:[(function(t,e,i){t("../assets/CCAsset");var n=t("./utils").callInNextTick,r=t("../load-pipeline/CCLoader"),s=t("../load-pipeline/pack-downloader"),a=t("../load-pipeline/auto-release-utils"),o=t("../utils/decode-uuid"),h=t("../load-pipeline/md5-pipe"),l=t("../load-pipeline/subpackage-pipe"),c=t("./js"),u="",_="",f=c.createMap(!0);function m(t){return t&&(t.constructor===cc.SceneAsset||t instanceof cc.Scene)}function d(t,e){this.url=t,this.type=e}var p={loadAsset:function(t,e,i){if("string"!=typeof t)return n(e,new Error("[AssetLibrary] uuid must be string"),null);var s={uuid:t,type:"uuid"};i&&i.existingAsset&&(s.existingAsset=i.existingAsset),r.load(s,(function(i,n){if(i||!n)i=new Error("[AssetLibrary] loading JSON or dependencies failed: "+(i?i.message:"Unknown error"));else{if(n.constructor===cc.SceneAsset){var s=cc.loader._getReferenceKey(t);n.scene.dependAssets=a.getDependsRecursively(s)}if(m(n)){var o=cc.loader._getReferenceKey(t);r.removeItem(o)}}e&&e(i,n)}))},getLibUrlNoExt:function(t,e){return t=o(t),(e?_+"assets/":u)+t.slice(0,2)+"/"+t},_queryAssetInfoInEditor:function(t,e){0},_getAssetInfoInRuntime:function(t,e){e=e||{url:null,raw:!1};var i=f[t];return i&&!c.isChildClassOf(i.type,cc.Asset)?(e.url=_+i.url,e.raw=!0):(e.url=this.getLibUrlNoExt(t)+".json",e.raw=!1),e},_uuidInSettings:function(t){return t in f},queryAssetInfo:function(t,e){var i=this._getAssetInfoInRuntime(t);e(null,i.url,i.raw)},parseUuidInEditor:function(t){},loadJson:function(t,e){var i=""+((new Date).getTime()+Math.random()),n={uuid:i,type:"uuid",content:t,skips:[r.assetLoader.id,r.downloader.id]};r.load(n,(function(t,n){if(t)t=new Error("[AssetLibrary] loading JSON or dependencies failed: "+t.message);else{if(n.constructor===cc.SceneAsset){var s=cc.loader._getReferenceKey(i);n.scene.dependAssets=a.getDependsRecursively(s)}if(m(n)){var o=cc.loader._getReferenceKey(i);r.removeItem(o)}}n._uuid="",e&&e(t,n)}))},getAssetByUuid:function(t){return p._uuidToAsset[t]||null},init:function(t){var e=t.libraryPath;if(e=e.replace(/\\/g,"/"),u=cc.path.stripSep(e)+"/",_=t.rawAssetsBase,t.subpackages){var i=new l(t.subpackages);cc.loader.insertPipeAfter(cc.loader.assetLoader,i),cc.loader.subPackPipe=i}var n=t.md5AssetsMap;if(n&&n.import){var a=0,m=0,p=c.createMap(!0),y=n.import;for(a=0;a<y.length;a+=2)p[m=o(y[a])]=y[a+1];var v=c.createMap(!0);for(y=n["raw-assets"],a=0;a<y.length;a+=2)v[m=o(y[a])]=y[a+1];var g=new h(p,v,u);cc.loader.insertPipeAfter(cc.loader.assetLoader,g),cc.loader.md5Pipe=g}var x=r._resources;x.reset();var A=t.rawAssets;if(A)for(var b in A){var C=A[b];for(var m in C){var S=C[m],T=S[0],w=S[1],E=cc.js._getClassById(w);if(E){if(f[m]=new d(b+"/"+T,E),"assets"===b){var D=cc.path.extname(T);D&&(T=T.slice(0,-D.length));var M=1===S[2];x.add(T,m,E,!M)}}else cc.error("Cannot get",w)}}t.packedAssets&&s.initPacks(t.packedAssets),cc.url._init(t.mountPaths&&t.mountPaths.assets||_+"assets")},_uuidToAsset:{}};e.exports=cc.AssetLibrary=p}),{"../assets/CCAsset":33,"../load-pipeline/CCLoader":111,"../load-pipeline/auto-release-utils":115,"../load-pipeline/md5-pipe":122,"../load-pipeline/pack-downloader":123,"../load-pipeline/subpackage-pipe":126,"../utils/decode-uuid":237,"./js":180,"./utils":184}],160:[(function(t,e,i){var n=t("./js"),r=t("./CCEnum"),s=t("./utils"),a=(s.isPlainEmptyObj_DEV,s.cloneable_DEV,t("./attribute")),o=a.DELIMETER,h=a.getTypeChecker,l=t("./preprocess-class");t("./requiring-frame");var c=["name","extends","mixins","ctor","__ctor__","properties","statics","editor","__ES6__"];function u(t,e){t.indexOf(e)<0&&t.push(e)}var _={datas:null,push:function(t){if(this.datas)this.datas.push(t);else{this.datas=[t];var e=this;setTimeout((function(){e.init()}),0)}},init:function(){var t=this.datas;if(t){for(var e=0;e<t.length;++e){var i=t[e],r=i.cls,s=i.props;"function"==typeof s&&(s=s());var a=n.getClassName(r);s?E(r,a,s,r.$super,i.mixins):cc.errorID(3633,a)}this.datas=null}}};function f(t,e){u(t.__props__,e)}var m=[];function d(t,e,i,n,r){var s=n.default;a.setClassAttr(t,i,"default",s),f(t,i);var o=P(t,n,e,i,!1);if(o){for(var h=m,l=0;l<o.length;l++){var c=o[l];a.attr(t,i,c),c._onAfterProp&&h.push(c._onAfterProp)}for(var u=0;u<h.length;u++)h[u](t,i);m.length=0,o.length=0}}function p(t,e,i,r,s){var o=r.get,h=r.set,l=t.prototype,c=Object.getOwnPropertyDescriptor(l,i),u=!c;if(o){0;for(var _=P(t,r,e,i,!0),f=0;f<_.length;f++)a.attr(t,i,_[f]);_.length=0,a.setClassAttr(t,i,"serializable",!1),s||n.get(l,i,o,u,u)}h&&(s||n.set(l,i,h,u,u))}function y(t){return"function"==typeof t?t():t}function v(t,e,i){for(var r in e)t.hasOwnProperty(r)||i&&!i(r)||Object.defineProperty(t,r,n.getPropertyDescriptor(e,r))}function g(t,e,i,r){var s,o,h=r.__ctor__,l=r.ctor,c=r.__ES6__;c?(s=[l],o=l):(s=h?[h]:(function(t,e,i){function n(t){return D._isCCClass(t)?t.__ctors__||[]:[t]}for(var r=[],s=[t].concat(e),a=0;a<s.length;a++){var o=s[a];if(o)for(var h=n(o),l=0;l<h.length;l++)u(r,h[l])}var c=i.ctor;c&&r.push(c);return r})(e,i,r),o=S(s,e,t,r),n.value(o,"extend",(function(t){return t.extends=this,D(t)}),!0)),n.value(o,"__ctors__",s.length>0?s:null,!0);var _=o.prototype;if(e&&(c||(n.extend(o,e),_=o.prototype),o.$super=e),i){for(var f=i.length-1;f>=0;f--){var m=i[f];v(_,m.prototype),v(o,m,(function(t){return m.hasOwnProperty(t)&&!0})),D._isCCClass(m)&&v(a.getClassAttrs(o).constructor.prototype,a.getClassAttrs(m).constructor.prototype)}_.constructor=o}return c||(_.__initProps__=C),n.setClassName(t,o),o}function x(t){for(var e=n.getClassName(t),i=t.constructor,r="new "+e+"(",s=0;s<i.__props__.length;s++){var a=t[i.__props__[s]];0,r+=a,s<i.__props__.length-1&&(r+=",")}return r+")"}function A(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}var b=/^[A-Za-z_$][0-9A-Za-z_$]*$/;function C(t){var e=a.getClassAttrs(t),i=t.__props__;null===i&&(_.init(),i=t.__props__);var n=(function(t,e){for(var i=[],n="",r=0;r<e.length;r++){var s=e[r],a=s+o+"default";if(a in t){var h,l;h=b.test(s)?"this."+s+"=":"this["+A(s)+"]=";var c=t[a];if("object"==typeof c&&c)l=c instanceof cc.ValueType?x(c):Array.isArray(c)?"[]":"{}";else if("function"==typeof c){var u=i.length;i.push(c),l="F["+u+"]()"}else l="string"==typeof c?A(c):c;n+=h=h+l+";\n"}}return 0===i.length?Function(n):Function("F","return (function(){\n"+n+"})")(i)})(e,i);t.prototype.__initProps__=n,n.call(this)}var S=function(t,e,i,n){var r="CCClass",s="return function CCClass(){\n";e&&w(e,n,i)&&(s+="this._super=null;\n"),s+="this.__initProps__(CCClass);\n";var a=t.length;if(a>0){0;var o="].apply(this,arguments);\n";if(1===a)s+=r+".__ctors__[0"+o;else{s+="var cs=CCClass.__ctors__;\n";for(var h=0;h<a;h++)s+="cs["+h+o}0}return s+="}",Function(s)()};var T=/xyz/.test((function(){xyz}))?/\b\._super\b/:/.*/;/xyz/.test((function(){xyz}));function w(t,e,i){var r=!1;for(var s in e)if(!(c.indexOf(s)>=0)){var a=e[s];if("function"==typeof a){var o=n.getPropertyDescriptor(t.prototype,s);if(o){var h=o.value;if("function"==typeof h){T.test(a)&&(r=!0,e[s]=(function(t,e){return function(){var i=this._super;this._super=t;var n=e.apply(this,arguments);return this._super=i,n}})(h,a));continue}}0}}return r}function E(t,e,i,n,r,s){if(t.__props__=[],n&&n.__props__&&(t.__props__=n.__props__.slice()),r)for(var h=0;h<r.length;++h){var c=r[h];c.__props__&&(t.__props__=t.__props__.concat(c.__props__.filter((function(e){return t.__props__.indexOf(e)<0}))))}if(i){l.preprocessAttrs(i,e,t,s);for(var u in i){var _=i[u];"default"in _?d(t,e,u,_):p(t,e,u,_,s)}}var f=a.getClassAttrs(t);t.__values__=t.__props__.filter((function(t){return!1!==f[t+o+"serializable"]}))}function D(t){var e=(t=t||{}).name,i=t.extends,r=t.mixins,s=(function(t,e,i,r){var s=cc.Component,a=cc._RF.peek();if(a&&n.isChildClassOf(e,s)){if(n.isChildClassOf(a.cls,s))return cc.errorID(3615),null;t=t||a.script}var o=g(t,e,i,r);if(a)if(n.isChildClassOf(e,s)){var h=a.uuid;h&&n._setClassId(h,o),a.cls=o}else n.isChildClassOf(a.cls,s)||(a.cls=o);return o})(e,i,r,t);e||(e=cc.js.getClassName(s)),s._sealed=!0,i&&(i._sealed=!1);var a=t.properties;"function"==typeof a||i&&null===i.__props__||r&&r.some((function(t){return null===t.__props__}))?(_.push({cls:s,props:a,mixins:r}),s.__props__=s.__values__=null):E(s,e,a,i,t.mixins,t.__ES6__);var o=t.statics;if(o){var h;0;for(h in o)s[h]=o[h]}for(var u in t)if(!(c.indexOf(u)>=0)){var f=t[u];l.validateMethodWithProps(f,u,e,s,i)&&n.value(s.prototype,u,f,!0,!0)}var m=t.editor;return m&&n.isChildClassOf(i,cc.Component)&&cc.Component._registerEditorProps(s,m),s}D._isCCClass=function(t){return t&&t.hasOwnProperty("__ctors__")},D._fastDefine=function(t,e,i){n.setClassName(t,e);for(var r=e.__props__=e.__values__=Object.keys(i),s=a.getClassAttrsProto(e),h=0;h<r.length;h++){var l=r[h];s[l+o+"visible"]=!1,s[l+o+"default"]=i[l]}},D.Attr=a,D.attr=a.attr,D.getInheritanceChain=function(t){for(var e=[];t=n.getSuper(t);)t!==Object&&e.push(t);return e};var M={Integer:"Number",Float:"Number",Boolean:"Boolean",String:"String"},B=[];function P(t,e,i,n,s){var l=null,c="";function u(){return c=n+o,l=a.getClassAttrsProto(t)}B.length=0;var _=B,f=e.type;if(f){var m=M[f];if(m)_.push({type:f,_onAfterProp:h(m,"cc."+f)});else if("Object"===f)0;else if(f===a.ScriptUuid){var d=a.ObjectType(cc.ScriptAsset);d.type="Script",_.push(d)}else"object"==typeof f?r.isEnum(f)&&_.push({type:"Enum",enumList:r.getList(f)}):"function"==typeof f&&(e.url?_.push({type:"Object",ctor:f,_onAfterProp:h("String","cc.String")}):_.push(e._short?{type:"Object",ctor:f}:a.ObjectType(f)))}function p(t,i){if(t in e){var n=e[t];typeof n===i&&((l||u())[c+t]=n)}}e.editorOnly&&((l||u())[c+"editorOnly"]=!0),e.url&&((l||u())[c+"saveUrlAsAsset"]=!0),!1===e.serializable&&((l||u())[c+"serializable"]=!1),p("formerlySerializedAs","string");var y=e.range;return y&&Array.isArray(y)&&y.length>=2&&((l||u())[c+"min"]=y[0],l[c+"max"]=y[1],y.length>2&&(l[c+"step"]=y[2])),p("min","number"),p("max","number"),p("step","number"),_}cc.Class=D,e.exports={isArray:function(t){return t=y(t),Array.isArray(t)},fastDefine:D._fastDefine,getNewValueTypeCode:x,IDENTIFIER_RE:b,escapeForJS:A,getDefault:y}}),{"./CCEnum":162,"./attribute":172,"./js":180,"./preprocess-class":181,"./requiring-frame":182,"./utils":184}],161:[(function(t,e,i){t("./CCClass");var n=t("./preprocess-class"),r=t("./js"),s="__ccclassCache__";function a(t){return t}function o(t,e){return t[e]||(t[e]={})}function h(t){return function(e){return"function"==typeof e?t(e):function(i){return t(i,e)}}}function l(t,e,i){return function(t){return function(i){return e(i,t)}}}var c=l.bind(null,!1);function u(t){return l.bind(null,!1)}var _=u(),f=u();function m(t,e){return o(t,s)}var d=h((function(t,e){var i=r.getSuper(t);i===Object&&(i=null);var n={name:e,extends:i,ctor:t,__ES6__:!0},a=t[s];if(a){var o=a.proto;o&&r.mixin(n,o),t[s]=void 0}return cc.Class(n)}));function p(t,e,i){return t((function(t,n){var r=m(t);if(r){var s=void 0!==i?i:n;o(o(r,"proto"),"editor")[e]=s}}),e)}function y(t){return t(a)}var v=y(h),g=p(c,"requireComponent"),x=y(_),A=p(f,"executionOrder"),b=y(h),C=y(h),S=y(_),T=y(_),w=y(_);cc._decorator=e.exports={ccclass:d,property:function(t,e,i){var s=null;function a(t,e,i){var a=m(t.constructor);if(a){var h=o(o(a,"proto"),"properties");(function(t,e,i,s,a,o){var h;s&&(h=(h=n.getFullFormOfProperty(s))||s);var l=e[i],c=r.mixin(l||{},h||{});if(a&&(a.get||a.set))a.get&&(c.get=a.get),a.set&&(c.set=a.set);else{var u=void 0;if(a)a.initializer&&(u=(function(t){var e;try{e=t()}catch(e){return t}return"object"!=typeof e||null===e?e:t})(a.initializer));else{var _=o.default||(o.default=(function(t){var e;try{e=new t}catch(t){return{}}return e})(t));_.hasOwnProperty(i)&&(u=_[i])}c.default=u}e[i]=c})(t.constructor,h,e,s,i,a)}}if(void 0===e)return s=t,a;a(t,e,i)},executeInEditMode:v,requireComponent:g,menu:x,executionOrder:A,disallowMultiple:b,playOnFocus:C,inspector:S,icon:T,help:w,mixins:function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];return function(e){var i=m(e);i&&(o(i,"proto").mixins=t)}}}}),{"./CCClass":160,"./js":180,"./preprocess-class":181,"./utils":184}],162:[(function(t,e,i){var n=t("./js");function r(t){if("__enums__"in t)return t;n.value(t,"__enums__",null,!0);for(var e=-1,i=Object.keys(t),r=0;r<i.length;r++){var s=i[r],a=t[s];if(-1===a)a=++e,t[s]=a;else if("number"==typeof a)e=a;else if("string"==typeof a&&Number.isInteger(parseFloat(s)))continue;var o=""+a;s!==o&&n.value(t,o,s)}return t}r.isEnum=function(t){return t&&t.hasOwnProperty("__enums__")},r.getList=function(t){if(t.__enums__)return t.__enums__;var e=t.__enums__=[];for(var i in t){var n=t[i];Number.isInteger(n)&&e.push({name:i,value:n})}return e.sort((function(t,e){return t.value-e.value})),e},e.exports=cc.Enum=r}),{"./js":180}],163:[(function(t,e,i){var n=t("../event-manager"),r=t("./CCInputManager"),s=void 0;cc.Acceleration=function(t,e,i,n){this.x=t||0,this.y=e||0,this.z=i||0,this.timestamp=n||0},r.setAccelerometerEnabled=function(t){var e=this;if(e._accelEnabled!==t){e._accelEnabled=t;var i=cc.director.getScheduler();i.enableForTarget(e),e._accelEnabled?(e._registerAccelerometerEvent(),e._accelCurTime=0,i.scheduleUpdate(e)):(e._unregisterAccelerometerEvent(),e._accelCurTime=0,i.unscheduleUpdate(e))}},r.setAccelerometerInterval=function(t){this._accelInterval!==t&&(this._accelInterval=t)},r._registerKeyboardEvent=function(){cc.game.canvas.addEventListener("keydown",(function(t){n.dispatchEvent(new cc.Event.EventKeyboard(t.keyCode,!0)),t.stopPropagation(),t.preventDefault()}),!1),cc.game.canvas.addEventListener("keyup",(function(t){n.dispatchEvent(new cc.Event.EventKeyboard(t.keyCode,!1)),t.stopPropagation(),t.preventDefault()}),!1)},r._registerAccelerometerEvent=function(){var t=window;this._acceleration=new cc.Acceleration,this._accelDeviceEvent=t.DeviceMotionEvent||t.DeviceOrientationEvent,cc.sys.browserType===cc.sys.BROWSER_TYPE_MOBILE_QQ&&(this._accelDeviceEvent=window.DeviceOrientationEvent);var e=this._accelDeviceEvent===t.DeviceMotionEvent?"devicemotion":"deviceorientation",i=navigator.userAgent;(/Android/.test(i)||/Adr/.test(i)&&cc.sys.browserType===cc.BROWSER_TYPE_UC)&&(this._minus=-1),s=this.didAccelerate.bind(this),t.addEventListener(e,s,!1)},r._unregisterAccelerometerEvent=function(){var t=window,e=this._accelDeviceEvent===t.DeviceMotionEvent?"devicemotion":"deviceorientation";s&&t.removeEventListener(e,s,!1)},r.didAccelerate=function(t){var e=window;if(this._accelEnabled){var i=this._acceleration,n=void 0,r=void 0,s=void 0;if(this._accelDeviceEvent===window.DeviceMotionEvent){var a=t.accelerationIncludingGravity;n=this._accelMinus*a.x*.1,r=this._accelMinus*a.y*.1,s=.1*a.z}else n=t.gamma/90*.981,r=-t.beta/90*.981,s=t.alpha/90*.981;if(cc.view._isRotated){var o=n;n=-r,r=o}i.x=n,i.y=r,i.z=s,i.timestamp=t.timeStamp||Date.now();var h=i.x;90===e.orientation?(i.x=-i.y,i.y=h):-90===e.orientation?(i.x=i.y,i.y=-h):180===e.orientation&&(i.x=-i.x,i.y=-i.y),cc.sys.os===cc.sys.OS_ANDROID&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_MOBILE_QQ&&(i.x=-i.x,i.y=-i.y)}}}),{"../event-manager":100,"./CCInputManager":164}],164:[(function(t,e,i){var n=t("./CCMacro"),r=t("./CCSys"),s=t("../event-manager"),a=n.TOUCH_TIMEOUT,o=cc.v2(),h={_mousePressed:!1,_isRegisterEvent:!1,_preTouchPoint:cc.v2(0,0),_prevMousePoint:cc.v2(0,0),_preTouchPool:[],_preTouchPoolPointer:0,_touches:[],_touchesIntegerDict:{},_indexBitsUsed:0,_maxTouches:8,_accelEnabled:!1,_accelInterval:.2,_accelMinus:1,_accelCurTime:0,_acceleration:null,_accelDeviceEvent:null,_getUnUsedIndex:function(){for(var t=this._indexBitsUsed,e=cc.sys.now(),i=0;i<this._maxTouches;i++){if(!(1&t))return this._indexBitsUsed|=1<<i,i;var n=this._touches[i];if(e-n._lastModified>a)return this._removeUsedIndexBit(i),delete this._touchesIntegerDict[n.getID()],i;t>>=1}return-1},_removeUsedIndexBit:function(t){if(!(t<0||t>=this._maxTouches)){var e=1<<t;e=~e,this._indexBitsUsed&=e}},_glView:null,handleTouchesBegin:function(t){for(var e=void 0,i=void 0,n=void 0,a=[],o=this._touchesIntegerDict,h=r.now(),l=0,c=t.length;l<c;l++)if(null==o[n=(e=t[l]).getID()]){var u=this._getUnUsedIndex();if(-1===u){cc.logID(2300,u);continue}(i=this._touches[u]=new cc.Touch(e._point.x,e._point.y,e.getID()))._lastModified=h,i._setPrevPoint(e._prevPoint),o[n]=u,a.push(i)}if(a.length>0){this._glView._convertTouchesWithScale(a);var _=new cc.Event.EventTouch(a);_._eventCode=cc.Event.EventTouch.BEGAN,s.dispatchEvent(_)}},handleTouchesMove:function(t){for(var e=void 0,i=void 0,n=void 0,a=[],o=this._touches,h=r.now(),l=0,c=t.length;l<c;l++)n=(e=t[l]).getID(),null!=(i=this._touchesIntegerDict[n])&&o[i]&&(o[i]._setPoint(e._point),o[i]._setPrevPoint(e._prevPoint),o[i]._lastModified=h,a.push(o[i]));if(a.length>0){this._glView._convertTouchesWithScale(a);var u=new cc.Event.EventTouch(a);u._eventCode=cc.Event.EventTouch.MOVED,s.dispatchEvent(u)}},handleTouchesEnd:function(t){var e=this.getSetOfTouchesEndOrCancel(t);if(e.length>0){this._glView._convertTouchesWithScale(e);var i=new cc.Event.EventTouch(e);i._eventCode=cc.Event.EventTouch.ENDED,s.dispatchEvent(i)}this._preTouchPool.length=0},handleTouchesCancel:function(t){var e=this.getSetOfTouchesEndOrCancel(t);if(e.length>0){this._glView._convertTouchesWithScale(e);var i=new cc.Event.EventTouch(e);i._eventCode=cc.Event.EventTouch.CANCELLED,s.dispatchEvent(i)}this._preTouchPool.length=0},getSetOfTouchesEndOrCancel:function(t){for(var e=void 0,i=void 0,n=void 0,r=[],s=this._touches,a=this._touchesIntegerDict,o=0,h=t.length;o<h;o++)null!=(i=a[n=(e=t[o]).getID()])&&s[i]&&(s[i]._setPoint(e._point),s[i]._setPrevPoint(e._prevPoint),r.push(s[i]),this._removeUsedIndexBit(i),delete a[n]);return r},getHTMLElementPosition:function(t){var e=document.documentElement,i=window.pageXOffset-e.clientLeft,n=window.pageYOffset-e.clientTop;if(t.getBoundingClientRect){var r=t.getBoundingClientRect();return{left:r.left+i,top:r.top+n,width:r.width,height:r.height}}return t instanceof HTMLCanvasElement?{left:i,top:n,width:t.width,height:t.height}:{left:i,top:n,width:parseInt(t.style.width),height:parseInt(t.style.height)}},getPreTouch:function(t){for(var e=null,i=this._preTouchPool,n=t.getID(),r=i.length-1;r>=0;r--)if(i[r].getID()===n){e=i[r];break}return e||(e=t),e},setPreTouch:function(t){for(var e=!1,i=this._preTouchPool,n=t.getID(),r=i.length-1;r>=0;r--)if(i[r].getID()===n){i[r]=t,e=!0;break}e||(i.length<=50?i.push(t):(i[this._preTouchPoolPointer]=t,this._preTouchPoolPointer=(this._preTouchPoolPointer+1)%50))},getTouchByXY:function(t,e,i){var n=this._preTouchPoint,r=this._glView.convertToLocationInView(t,e,i),s=new cc.Touch(r.x,r.y,0);return s._setPrevPoint(n.x,n.y),n.x=r.x,n.y=r.y,s},getMouseEvent:function(t,e,i){var n=this._prevMousePoint,r=new cc.Event.EventMouse(i);return r._setPrevCursor(n.x,n.y),n.x=t.x,n.y=t.y,this._glView._convertMouseToLocationInView(n,e),r.setLocation(n.x,n.y),r},getPointByEvent:function(t,e){return null!=t.pageX?{x:t.pageX,y:t.pageY}:(e.left-=document.body.scrollLeft,e.top-=document.body.scrollTop,{x:t.clientX,y:t.clientY})},getTouchesByEvent:function(t,e){for(var i=[],n=this._glView,s=void 0,a=void 0,h=void 0,l=this._preTouchPoint,c=t.changedTouches.length,u=0;u<c;u++)if(s=t.changedTouches[u]){var _=void 0;_=r.BROWSER_TYPE_FIREFOX===r.browserType?n.convertToLocationInView(s.pageX,s.pageY,e,o):n.convertToLocationInView(s.clientX,s.clientY,e,o),null!=s.identifier?(a=new cc.Touch(_.x,_.y,s.identifier),h=this.getPreTouch(a).getLocation(),a._setPrevPoint(h.x,h.y),this.setPreTouch(a)):(a=new cc.Touch(_.x,_.y))._setPrevPoint(l.x,l.y),l.x=_.x,l.y=_.y,i.push(a)}return i},registerSystemEvent:function(t){if(!this._isRegisterEvent){this._glView=cc.view;var e=this,i=r.isMobile,n="mouse"in r.capabilities,a="touches"in r.capabilities;if(n){i||(window.addEventListener("mousedown",(function(){e._mousePressed=!0}),!1),window.addEventListener("mouseup",(function(i){if(e._mousePressed){e._mousePressed=!1;var n=e.getHTMLElementPosition(t),r=e.getPointByEvent(i,n);if(!cc.rect(n.left,n.top,n.width,n.height).contains(r)){e.handleTouchesEnd([e.getTouchByXY(r.x,r.y,n)]);var a=e.getMouseEvent(r,n,cc.Event.EventMouse.UP);a.setButton(i.button),s.dispatchEvent(a)}}}),!1));for(var o=cc.Event.EventMouse,h=[!i&&["mousedown",o.DOWN,function(i,n,r,s){e._mousePressed=!0,e.handleTouchesBegin([e.getTouchByXY(r.x,r.y,s)]),t.focus()}],!i&&["mouseup",o.UP,function(t,i,n,r){e._mousePressed=!1,e.handleTouchesEnd([e.getTouchByXY(n.x,n.y,r)])}],!i&&["mousemove",o.MOVE,function(t,i,n,r){e.handleTouchesMove([e.getTouchByXY(n.x,n.y,r)]),e._mousePressed||i.setButton(null)}],["mousewheel",o.SCROLL,function(t,e){e.setScrollData(0,t.wheelDelta)}],["DOMMouseScroll",o.SCROLL,function(t,e){e.setScrollData(0,-120*t.detail)}]],l=0;l<h.length;++l){var c=h[l];c&&(function(){var i=c[0],n=c[1],r=c[2];t.addEventListener(i,(function(i){var a=e.getHTMLElementPosition(t),o=e.getPointByEvent(i,a),h=e.getMouseEvent(o,a,n);h.setButton(i.button),r(i,h,o,a),s.dispatchEvent(h),i.stopPropagation(),i.preventDefault()}),!1)})()}}if(window.navigator.msPointerEnabled){var u={MSPointerDown:e.handleTouchesBegin,MSPointerMove:e.handleTouchesMove,MSPointerUp:e.handleTouchesEnd,MSPointerCancel:e.handleTouchesCancel},_=function(i){var n=u[i];t.addEventListener(i,(function(i){var r=e.getHTMLElementPosition(t);r.left-=document.documentElement.scrollLeft,r.top-=document.documentElement.scrollTop,n.call(e,[e.getTouchByXY(i.clientX,i.clientY,r)]),i.stopPropagation()}),!1)};for(var f in u)_(f)}a&&(function(){var i={touchstart:function(i){e.handleTouchesBegin(i),t.focus()},touchmove:function(t){e.handleTouchesMove(t)},touchend:function(t){e.handleTouchesEnd(t)},touchcancel:function(t){e.handleTouchesCancel(t)}},n=void 0;cc.sys.browserType===cc.sys.BROWSER_TYPE_WECHAT_GAME_SUB?(i={onTouchStart:i.touchstart,onTouchMove:i.touchmove,onTouchEnd:i.touchend,onTouchCancel:i.touchcancel},n=function(n){var r=i[n];wx[n]((function(i){if(i.changedTouches){var n=e.getHTMLElementPosition(t),s=document.body;n.left-=s.scrollLeft||0,n.top-=s.scrollTop||0,r(e.getTouchesByEvent(i,n))}}))}):n=function(n){var r=i[n];t.addEventListener(n,(function(i){if(i.changedTouches){var n=e.getHTMLElementPosition(t),s=document.body;n.left-=s.scrollLeft||0,n.top-=s.scrollTop||0,r(e.getTouchesByEvent(i,n)),i.stopPropagation(),i.preventDefault()}}),!1)};for(var r in i)n(r)})(),cc.sys.browserType!==cc.sys.BROWSER_TYPE_WECHAT_GAME_SUB&&this._registerKeyboardEvent(),this._isRegisterEvent=!0}},_registerKeyboardEvent:function(){},_registerAccelerometerEvent:function(){},update:function(t){this._accelCurTime>this._accelInterval&&(this._accelCurTime-=this._accelInterval,s.dispatchEvent(new cc.Event.EventAcceleration(this._acceleration))),this._accelCurTime+=t}};e.exports=_cc.inputManager=h}),{"../event-manager":100,"./CCMacro":165,"./CCSys":169}],165:[(function(t,e,i){var n=t("./js");cc.macro={RAD:Math.PI/180,DEG:180/Math.PI,REPEAT_FOREVER:Number.MAX_VALUE-1,FLT_EPSILON:1.192092896e-7,MIN_ZINDEX:-Math.pow(2,15),MAX_ZINDEX:Math.pow(2,15)-1,ONE:1,ZERO:0,SRC_ALPHA:770,SRC_ALPHA_SATURATE:776,SRC_COLOR:768,DST_ALPHA:772,DST_COLOR:774,ONE_MINUS_SRC_ALPHA:771,ONE_MINUS_SRC_COLOR:769,ONE_MINUS_DST_ALPHA:773,ONE_MINUS_DST_COLOR:775,ONE_MINUS_CONSTANT_ALPHA:32772,ONE_MINUS_CONSTANT_COLOR:32770,ORIENTATION_PORTRAIT:1,ORIENTATION_LANDSCAPE:2,ORIENTATION_AUTO:3,DENSITYDPI_DEVICE:"device-dpi",DENSITYDPI_HIGH:"high-dpi",DENSITYDPI_MEDIUM:"medium-dpi",DENSITYDPI_LOW:"low-dpi",FIX_ARTIFACTS_BY_STRECHING_TEXEL_TMX:!0,DIRECTOR_STATS_POSITION:cc.v2(0,0),ENABLE_STACKABLE_ACTIONS:!0,TOUCH_TIMEOUT:5e3,BATCH_VERTEX_COUNT:2e4,ENABLE_TILEDMAP_CULLING:!0,DOWNLOAD_MAX_CONCURRENT:64,ENABLE_TRANSPARENT_CANVAS:!1,ENABLE_WEBGL_ANTIALIAS:!1,ENABLE_CULLING:!1,CLEANUP_IMAGE_CACHE:!1},n.getset(cc.macro,"ENABLE_3D",(function(){return cc._polyfill3D.enabled}),(function(t){t?cc._polyfill3D.enable():cc._polyfill3D.disable()})),cc.macro.KEY={none:0,back:6,menu:18,backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,pause:19,capslock:20,escape:27,space:32,pageup:33,pagedown:34,end:35,home:36,left:37,up:38,right:39,down:40,select:41,insert:45,Delete:46,0:48,1:49,2:50,3:51,4:52,5:53,6:54,7:55,8:56,9:57,a:65,b:66,c:67,d:68,e:69,f:70,g:71,h:72,i:73,j:74,k:75,l:76,m:77,n:78,o:79,p:80,q:81,r:82,s:83,t:84,u:85,v:86,w:87,x:88,y:89,z:90,num0:96,num1:97,num2:98,num3:99,num4:100,num5:101,num6:102,num7:103,num8:104,num9:105,"*":106,"+":107,"-":109,numdel:110,"/":111,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123,numlock:144,scrolllock:145,";":186,semicolon:186,equal:187,"=":187,",":188,comma:188,dash:189,".":190,period:190,forwardslash:191,grave:192,"[":219,openbracket:219,backslash:220,"]":221,closebracket:221,quote:222,dpadLeft:1e3,dpadRight:1001,dpadUp:1003,dpadDown:1004,dpadCenter:1005},cc.macro.ImageFormat=cc.Enum({JPG:0,PNG:1,TIFF:2,WEBP:3,PVR:4,ETC:5,S3TC:6,ATITC:7,TGA:8,RAWDATA:9,UNKNOWN:10}),cc.macro.BlendFactor=cc.Enum({ONE:1,ZERO:0,SRC_ALPHA:770,SRC_COLOR:768,DST_ALPHA:772,DST_COLOR:774,ONE_MINUS_SRC_ALPHA:771,ONE_MINUS_SRC_COLOR:769,ONE_MINUS_DST_ALPHA:773,ONE_MINUS_DST_COLOR:775}),cc.macro.TextAlignment=cc.Enum({LEFT:0,CENTER:1,RIGHT:2}),cc.macro.VerticalTextAlignment=cc.Enum({TOP:0,CENTER:1,BOTTOM:2}),e.exports=cc.macro}),{"./js":180}],166:[(function(t,e,i){var n=t("./js"),r=t("./CCClass"),s=1;function a(){this._name="",this._objFlags=0}r.fastDefine("cc.Object",a,{_name:"",_objFlags:0}),n.value(a,"Flags",{Destroyed:s,DontSave:8,EditorOnly:16,Dirty:32,DontDestroy:64,PersistentMask:-4192741,Destroying:128,Deactivating:256,LockedInEditor:512,IsPreloadStarted:8192,IsOnLoadStarted:32768,IsOnLoadCalled:16384,IsOnEnableCalled:2048,IsStartCalled:65536,IsEditorOnEnableCalled:4096,IsPositionLocked:1<<21,IsRotationLocked:1<<17,IsScaleLocked:1<<18,IsAnchorLocked:1<<19,IsSizeLocked:1<<20});var o=[];function h(){for(var t=o.length,e=0;e<t;++e){var i=o[e];i._objFlags&s||i._destroyImmediate()}t===o.length?o.length=0:o.splice(0,t)}n.value(a,"_deferredDestroy",h);var l=a.prototype;n.getset(l,"name",(function(){return this._name}),(function(t){this._name=t}),!0),n.get(l,"isValid",(function(){return!(this._objFlags&s)}),!0);l.destroy=function(){return this._objFlags&s?(cc.warnID(5e3),!1):!(4&this._objFlags)&&(this._objFlags|=4,o.push(this),!0)},l._destruct=function(){var t=this.constructor,e=t.__destruct__;e||(e=(function(t,e){var i,n=t instanceof cc._BaseNode||t instanceof cc.Component,s=n?"_id":null,a={};for(i in t)if(t.hasOwnProperty(i)){if(i===s)continue;switch(typeof t[i]){case"string":a[i]="";break;case"object":case"function":a[i]=null}}if(cc.Class._isCCClass(e))for(var o=cc.Class.Attr.getClassAttrs(e),h=e.__props__,l=0;l<h.length;l++){var c=(i=h[l])+cc.Class.Attr.DELIMETER+"default";if(c in o){if(n&&"_id"===i)continue;switch(typeof o[c]){case"string":a[i]="";break;case"object":case"function":a[i]=null;break;case"undefined":a[i]=void 0}}}var u="";for(i in a){var _;_=r.IDENTIFIER_RE.test(i)?"o."+i+"=":"o["+r.escapeForJS(i)+"]=";var f=a[i];""===f&&(f='""'),u+=_+f+";\n"}return Function("o",u)})(this,t),n.value(t,"__destruct__",e,!0)),e(this)},l._onPreDestroy=null,l._destroyImmediate=function(){this._objFlags&s?cc.errorID(5e3):(this._onPreDestroy&&this._onPreDestroy(),this._destruct(),this._objFlags|=s)},l._deserialize=null,cc.isValid=function(t,e){return"object"==typeof t?!(!t||t._objFlags&(e?4|s:s)):void 0!==t},cc.Object=e.exports=a}),{"./CCClass":160,"./js":180}],167:[(function(t,e,i){var n=t("../platform/js");cc.SAXParser=function(){window.DOMParser?(this._isSupportDOMParser=!0,this._parser=new DOMParser):(this._isSupportDOMParser=!1,this._parser=null)},cc.SAXParser.prototype={constructor:cc.SAXParser,parse:function(t){return this._parseXML(t)},_parseXML:function(t){var e;return this._isSupportDOMParser?e=this._parser.parseFromString(t,"text/xml"):((e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)),e}},cc.PlistParser=function(){cc.SAXParser.call(this)},n.extend(cc.PlistParser,cc.SAXParser),n.mixin(cc.PlistParser.prototype,{parse:function(t){var e=this._parseXML(t),i=e.documentElement;if("plist"!==i.tagName)return cc.warnID(5100),{};for(var n=null,r=0,s=i.childNodes.length;r<s&&1!==(n=i.childNodes[r]).nodeType;r++);return e=null,this._parseNode(n)},_parseNode:function(t){var e=null,i=t.tagName;if("dict"===i)e=this._parseDict(t);else if("array"===i)e=this._parseArray(t);else if("string"===i)if(1===t.childNodes.length)e=t.firstChild.nodeValue;else{e="";for(var n=0;n<t.childNodes.length;n++)e+=t.childNodes[n].nodeValue}else"false"===i?e=!1:"true"===i?e=!0:"real"===i?e=parseFloat(t.firstChild.nodeValue):"integer"===i&&(e=parseInt(t.firstChild.nodeValue,10));return e},_parseArray:function(t){for(var e=[],i=0,n=t.childNodes.length;i<n;i++){var r=t.childNodes[i];1===r.nodeType&&e.push(this._parseNode(r))}return e},_parseDict:function(t){for(var e={},i=null,n=0,r=t.childNodes.length;n<r;n++){var s=t.childNodes[n];1===s.nodeType&&("key"===s.tagName?i=s.firstChild.nodeValue:e[i]=this._parseNode(s))}return e}}),cc.saxParser=new cc.SAXParser,cc.plistParser=new cc.PlistParser,e.exports={saxParser:cc.saxParser,plistParser:cc.plistParser}}),{"../platform/js":180}],168:[(function(t,e,i){cc.screen={_supportsFullScreen:!1,_preOnFullScreenChange:null,_touchEvent:"",_fn:null,_fnMap:[["requestFullscreen","exitFullscreen","fullscreenchange","fullscreenEnabled","fullscreenElement"],["requestFullScreen","exitFullScreen","fullScreenchange","fullScreenEnabled","fullScreenElement"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitfullscreenchange","webkitIsFullScreen","webkitCurrentFullScreenElement"],["mozRequestFullScreen","mozCancelFullScreen","mozfullscreenchange","mozFullScreen","mozFullScreenElement"],["msRequestFullscreen","msExitFullscreen","MSFullscreenChange","msFullscreenEnabled","msFullscreenElement"]],init:function(){this._fn={};var t,e,i,n,r=this._fnMap;for(t=0,e=r.length;t<e;t++)if((i=r[t])&&void 0!==document[i[1]]){for(t=0,n=i.length;t<n;t++)this._fn[r[0][t]]=i[t];break}this._supportsFullScreen=void 0!==this._fn.requestFullscreen,this._touchEvent="ontouchstart"in window?"touchstart":"mousedown"},fullScreen:function(){return!!this._supportsFullScreen&&!!(document[this._fn.fullscreenElement]||document[this._fn.webkitFullscreenElement]||document[this._fn.mozFullScreenElement])},requestFullScreen:function(t,e){if(t&&"video"===t.tagName.toLowerCase()){if(cc.sys.os===cc.sys.OS_IOS&&cc.sys.isBrowser&&t.readyState>0)return void(t.webkitEnterFullscreen&&t.webkitEnterFullscreen());t.setAttribute("x5-video-player-fullscreen","true")}if(this._supportsFullScreen){if(t=t||document.documentElement,e){var i=this._fn.fullscreenchange;this._preOnFullScreenChange&&document.removeEventListener(i,this._preOnFullScreenChange),this._preOnFullScreenChange=e,document.addEventListener(i,e,!1)}return t[this._fn.requestFullscreen]()}},exitFullScreen:function(t){if(t&&"video"===t.tagName.toLowerCase()){if(cc.sys.os===cc.sys.OS_IOS&&cc.sys.isBrowser)return void(t.webkitExitFullscreen&&t.webkitExitFullscreen());t.setAttribute("x5-video-player-fullscreen","false")}return!this._supportsFullScreen||document[this._fn.exitFullscreen]()},autoFullScreen:function(t,e){t=t||document.body;var i=cc.game.canvas||t,n=this;this.requestFullScreen(t,e),i.addEventListener(this._touchEvent,(function r(){i.removeEventListener(n._touchEvent,r),n.requestFullScreen(t,e)}))}},cc.screen.init()}),{}],169:[(function(t,e,i){var n=void 0,r="baidugame"===(n=window._CCSettings?_CCSettings.platform:void 0)||"baidugame-subcontext"===n;var s=cc&&cc.sys?cc.sys:(function(){cc.sys={};var t=cc.sys;if(t.LANGUAGE_ENGLISH="en",t.LANGUAGE_CHINESE="zh",t.LANGUAGE_FRENCH="fr",t.LANGUAGE_ITALIAN="it",t.LANGUAGE_GERMAN="de",t.LANGUAGE_SPANISH="es",t.LANGUAGE_DUTCH="du",t.LANGUAGE_RUSSIAN="ru",t.LANGUAGE_KOREAN="ko",t.LANGUAGE_JAPANESE="ja",t.LANGUAGE_HUNGARIAN="hu",t.LANGUAGE_PORTUGUESE="pt",t.LANGUAGE_ARABIC="ar",t.LANGUAGE_NORWEGIAN="no",t.LANGUAGE_POLISH="pl",t.LANGUAGE_TURKISH="tr",t.LANGUAGE_UKRAINIAN="uk",t.LANGUAGE_ROMANIAN="ro",t.LANGUAGE_BULGARIAN="bg",t.LANGUAGE_UNKNOWN="unknown",t.OS_IOS="iOS",t.OS_ANDROID="Android",t.OS_WINDOWS="Windows",t.OS_MARMALADE="Marmalade",t.OS_LINUX="Linux",t.OS_BADA="Bada",t.OS_BLACKBERRY="Blackberry",t.OS_OSX="OS X",t.OS_WP8="WP8",t.OS_WINRT="WINRT",t.OS_UNKNOWN="Unknown",t.UNKNOWN=-1,t.WIN32=0,t.LINUX=1,t.MACOS=2,t.ANDROID=3,t.IPHONE=4,t.IPAD=5,t.BLACKBERRY=6,t.NACL=7,t.EMSCRIPTEN=8,t.TIZEN=9,t.WINRT=10,t.WP8=11,t.MOBILE_BROWSER=100,t.DESKTOP_BROWSER=101,t.EDITOR_PAGE=102,t.EDITOR_CORE=103,t.WECHAT_GAME=104,t.QQ_PLAY=105,t.FB_PLAYABLE_ADS=106,t.BAIDU_GAME=107,t.VIVO_GAME=108,t.OPPO_GAME=109,t.BROWSER_TYPE_WECHAT="wechat",t.BROWSER_TYPE_WECHAT_GAME="wechatgame",t.BROWSER_TYPE_WECHAT_GAME_SUB="wechatgamesub",t.BROWSER_TYPE_BAIDU_GAME="baidugame",t.BROWSER_TYPE_BAIDU_GAME_SUB="baidugamesub",t.BROWSER_TYPE_QQ_PLAY="qqplay",t.BROWSER_TYPE_ANDROID="androidbrowser",t.BROWSER_TYPE_IE="ie",t.BROWSER_TYPE_QQ="qqbrowser",t.BROWSER_TYPE_MOBILE_QQ="mqqbrowser",t.BROWSER_TYPE_UC="ucbrowser",t.BROWSER_TYPE_UCBS="ucbs",t.BROWSER_TYPE_360="360browser",t.BROWSER_TYPE_BAIDU_APP="baiduboxapp",t.BROWSER_TYPE_BAIDU="baidubrowser",t.BROWSER_TYPE_MAXTHON="maxthon",t.BROWSER_TYPE_OPERA="opera",t.BROWSER_TYPE_OUPENG="oupeng",t.BROWSER_TYPE_MIUI="miuibrowser",t.BROWSER_TYPE_FIREFOX="firefox",t.BROWSER_TYPE_SAFARI="safari",t.BROWSER_TYPE_CHROME="chrome",t.BROWSER_TYPE_LIEBAO="liebao",t.BROWSER_TYPE_QZONE="qzone",t.BROWSER_TYPE_SOUGOU="sogou",t.BROWSER_TYPE_UNKNOWN="unknown",t.isNative=!1,t.isBrowser="object"==typeof window&&"object"==typeof document&&!r,r){var e=__device.getSystemInfo();t.platform=e.platform,t.browserType=e.browserType,t.isMobile=e.isMobile,t.language=e.language,t.languageCode=e.language.toLowerCase(),t.os=e.os,t.osVersion=e.osVersion,t.osMainVersion=e.osMainVersion,t.browserVersion=e.browserVersion,t.windowPixelResolution=e.windowPixelResolution,t.localStorage=e.localStorage,t.capabilities=e.capabilities,t.__audioSupport=e.audioSupport}else{var i=window,n=i.navigator,s=document,a=s.documentElement,o=n.userAgent.toLowerCase();t.isMobile=/mobile|android|iphone|ipad/.test(o),"undefined"!=typeof FbPlayableAd?t.platform=t.FB_PLAYABLE_ADS:t.platform=t.isMobile?t.MOBILE_BROWSER:t.DESKTOP_BROWSER;var h=n.language;h=h||n.browserLanguage,t.languageCode=h.toLowerCase(),h=h?h.split("-")[0]:t.LANGUAGE_ENGLISH,t.language=h;var l=!1,c=!1,u="",_=0,f=/android (\d+(?:\.\d+)*)/i.exec(o)||/android (\d+(?:\.\d+)*)/i.exec(n.platform);f&&(l=!0,u=f[1]||"",_=parseInt(u)||0),(f=/(iPad|iPhone|iPod).*OS ((\d+_?){2,3})/i.exec(o))?(c=!0,u=f[2]||"",_=parseInt(u)||0):/(iPhone|iPad|iPod)/.exec(n.platform)&&(c=!0,u="",_=0);var m=t.OS_UNKNOWN;-1!==n.appVersion.indexOf("Win")?m=t.OS_WINDOWS:c?m=t.OS_IOS:-1!==n.appVersion.indexOf("Mac")?m=t.OS_OSX:-1!==n.appVersion.indexOf("X11")&&-1===n.appVersion.indexOf("Linux")?m=t.OS_UNIX:l?m=t.OS_ANDROID:-1===n.appVersion.indexOf("Linux")&&-1===o.indexOf("ubuntu")||(m=t.OS_LINUX),t.os=m,t.osVersion=u,t.osMainVersion=_,t.browserType=t.BROWSER_TYPE_UNKNOWN,(function(){var e=/mqqbrowser|micromessenger|qq|sogou|qzone|liebao|maxthon|ucbs|360 aphone|360browser|baiduboxapp|baidubrowser|maxthon|mxbrowser|miuibrowser/i.exec(o);e||(e=/qqbrowser|ucbrowser/i.exec(o)),e||(e=/chrome|safari|firefox|trident|opera|opr\/|oupeng/i.exec(o));var i=e?e[0].toLowerCase():t.BROWSER_TYPE_UNKNOWN;"micromessenger"===i?i=t.BROWSER_TYPE_WECHAT:"safari"===i&&l?i=t.BROWSER_TYPE_ANDROID:"qq"===i&&o.match(/android.*applewebkit/i)?i=t.BROWSER_TYPE_ANDROID:"trident"===i?i=t.BROWSER_TYPE_IE:"360 aphone"===i?i=t.BROWSER_TYPE_360:"mxbrowser"===i?i=t.BROWSER_TYPE_MAXTHON:"opr/"===i&&(i=t.BROWSER_TYPE_OPERA),t.browserType=i})(),t.browserVersion="",(function(){var e=o.match(/(mqqbrowser|micromessenger|qq|sogou|qzone|liebao|maxthon|uc|ucbs|360 aphone|360|baiduboxapp|baidu|maxthon|mxbrowser|miui(?:.hybrid)?)(mobile)?(browser)?\/?([\d.]+)/i);e||(e=o.match(/(qqbrowser|chrome|safari|firefox|trident|opera|opr\/|oupeng)(mobile)?(browser)?\/?([\d.]+)/i)),t.browserVersion=e?e[4]:""})();var d=window.innerWidth||document.documentElement.clientWidth,p=window.innerHeight||document.documentElement.clientHeight,y=window.devicePixelRatio||1;t.windowPixelResolution={width:y*d,height:y*p},t._checkWebGLRenderMode=function(){if(cc.game.renderType!==cc.game.RENDER_TYPE_WEBGL)throw new Error("This feature supports WebGL render mode only.")};var v=document.createElement("canvas");try{var g=t.localStorage=i.localStorage;g.setItem("storage",""),g.removeItem("storage"),g=null}catch(e){var x=function(){cc.warnID(5200)};t.localStorage={getItem:x,setItem:x,removeItem:x,clear:x}}var A=v.toDataURL("image/webp").startsWith("data:image/webp"),b=!!v.getContext("2d"),C=!1;t.browserType===t.BROWSER_TYPE_WECHAT_GAME?C=!0:i.WebGLRenderingContext&&(C=!0);var S,T=t.capabilities={canvas:b,opengl:C,webp:A};(void 0!==a.ontouchstart||void 0!==s.ontouchstart||n.msPointerEnabled)&&(T.touches=!0),void 0!==a.onmouseup&&(T.mouse=!0),void 0!==a.onkeyup&&(T.keyboard=!0),(i.DeviceMotionEvent||i.DeviceOrientationEvent)&&(T.accelerometer=!0),(function(){t.browserVersion;var e=t.browserType!==t.BROWSER_TYPE_WECHAT_GAME&&!!(window.AudioContext||window.webkitAudioContext||window.mozAudioContext);S={ONLY_ONE:!1,WEB_AUDIO:e,DELAY_CREATE_CTX:!1},t.os===t.OS_IOS&&(S.USE_LOADER_EVENT="loadedmetadata"),t.browserType===t.BROWSER_TYPE_FIREFOX&&(S.DELAY_CREATE_CTX=!0,S.USE_LOADER_EVENT="canplay"),t.os===t.OS_ANDROID&&t.browserType===t.BROWSER_TYPE_UC&&(S.ONE_SOURCE=!0)})();try{S.WEB_AUDIO&&(S.context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext),S.DELAY_CREATE_CTX&&setTimeout((function(){S.context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext)}),0))}catch(t){S.WEB_AUDIO=!1,cc.logID(5201)}var w=[];(function(){var t=document.createElement("audio");t.canPlayType&&(t.canPlayType('audio/ogg; codecs="vorbis"')&&w.push(".ogg"),t.canPlayType("audio/mpeg")&&w.push(".mp3"),t.canPlayType('audio/wav; codecs="1"')&&w.push(".wav"),t.canPlayType("audio/mp4")&&w.push(".mp4"),t.canPlayType("audio/x-m4a")&&w.push(".m4a"))})(),S.format=w,t.__audioSupport=S}return t.NetworkType={NONE:0,LAN:1,WWAN:2},t.getNetworkType=function(){return t.NetworkType.LAN},t.getBatteryLevel=function(){return 1},t.garbageCollect=function(){},t.restartVM=function(){},t.getSafeAreaRect=function(){var t=cc.view.getVisibleSize();return cc.rect(0,0,t.width,t.height)},t.isObjectValid=function(t){return!!t},t.dump=function(){var t="";t+="isMobile : "+this.isMobile+"\r\n",t+="language : "+this.language+"\r\n",t+="browserType : "+this.browserType+"\r\n",t+="browserVersion : "+this.browserVersion+"\r\n",t+="capabilities : "+JSON.stringify(this.capabilities)+"\r\n",t+="os : "+this.os+"\r\n",t+="osVersion : "+this.osVersion+"\r\n",t+="platform : "+this.platform+"\r\n",t+="Using "+(cc.game.renderType===cc.game.RENDER_TYPE_WEBGL?"WEBGL":"CANVAS")+" renderer.\r\n",cc.log(t)},t.openURL=function(t){window.open(t)},t.now=function(){return Date.now?Date.now():+new Date},t})();e.exports=s}),{}],170:[(function(t,e,i){var n=t("../event/event-target"),r=t("../platform/js"),s=t("../renderer");t("../platform/CCClass");var a=cc.sys.platform===cc.sys.BAIDU_GAME,o={init:function(){a||(this.html=document.getElementsByTagName("html")[0])},availWidth:function(t){return t&&t!==this.html?t.clientWidth:window.innerWidth},availHeight:function(t){return t&&t!==this.html?t.clientHeight:window.innerHeight},meta:{width:"device-width"},adaptationType:cc.sys.browserType};switch(cc.sys.os===cc.sys.OS_IOS&&(o.adaptationType=cc.sys.BROWSER_TYPE_SAFARI),a&&(cc.sys.browserType===cc.sys.BROWSER_TYPE_BAIDU_GAME_SUB?o.adaptationType=cc.sys.BROWSER_TYPE_BAIDU_GAME_SUB:o.adaptationType=cc.sys.BROWSER_TYPE_BAIDU_GAME),o.adaptationType){case cc.sys.BROWSER_TYPE_SAFARI:o.meta["minimal-ui"]="true";case cc.sys.BROWSER_TYPE_SOUGOU:case cc.sys.BROWSER_TYPE_UC:o.availWidth=function(t){return t.clientWidth},o.availHeight=function(t){return t.clientHeight};break;case cc.sys.BROWSER_TYPE_WECHAT_GAME:o.availWidth=function(){return window.innerWidth},o.availHeight=function(){return window.innerHeight};break;case cc.sys.BROWSER_TYPE_WECHAT_GAME_SUB:var h=window.sharedCanvas||wx.getSharedCanvas();o.availWidth=function(){return h.width},o.availHeight=function(){return h.height}}var l=null,c=function(){n.call(this);var t=this,e=cc.ContainerStrategy,i=cc.ContentStrategy;o.init(this),t._frameSize=cc.size(0,0),t._designResolutionSize=cc.size(0,0),t._originalDesignResolutionSize=cc.size(0,0),t._scaleX=1,t._scaleY=1,t._viewportRect=cc.rect(0,0,0,0),t._visibleRect=cc.rect(0,0,0,0),t._autoFullScreen=!1,t._devicePixelRatio=1,t._maxPixelRatio=2,t._retinaEnabled=!1,t._resizeCallback=null,t._resizing=!1,t._resizeWithBrowserSize=!1,t._orientationChanging=!0,t._isRotated=!1,t._orientation=cc.macro.ORIENTATION_AUTO,t._isAdjustViewport=!0,t._antiAliasEnabled=!1,t._resolutionPolicy=null,t._rpExactFit=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,i.EXACT_FIT),t._rpShowAll=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,i.SHOW_ALL),t._rpNoBorder=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,i.NO_BORDER),t._rpFixedHeight=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,i.FIXED_HEIGHT),t._rpFixedWidth=new cc.ResolutionPolicy(e.EQUAL_TO_FRAME,i.FIXED_WIDTH),cc.game.once(cc.game.EVENT_ENGINE_INITED,this.init,this)};cc.js.extend(c,n),cc.js.mixin(c.prototype,{init:function(){this._initFrameSize(),this.enableAntiAlias(!0);var t=cc.game.canvas.width,e=cc.game.canvas.height;this._designResolutionSize.width=t,this._designResolutionSize.height=e,this._originalDesignResolutionSize.width=t,this._originalDesignResolutionSize.height=e,this._viewportRect.width=t,this._viewportRect.height=e,this._visibleRect.width=t,this._visibleRect.height=e,cc.winSize.width=this._visibleRect.width,cc.winSize.height=this._visibleRect.height,cc.visibleRect&&cc.visibleRect.init(this._visibleRect)},_resizeEvent:function(t){var e,i=(e=this.setDesignResolutionSize?this:cc.view)._frameSize.width,n=e._frameSize.height,r=e._isRotated;if(cc.sys.isMobile){var s=cc.game.container.style,a=s.margin;s.margin="0",s.display="none",e._initFrameSize(),s.margin=a,s.display="block"}else e._initFrameSize();if(!0===t||e._isRotated!==r||e._frameSize.width!==i||e._frameSize.height!==n){var o=e._originalDesignResolutionSize.width,h=e._originalDesignResolutionSize.height;e._resizing=!0,o>0&&e.setDesignResolutionSize(o,h,e._resolutionPolicy),e._resizing=!1,e.emit("canvas-resize"),e._resizeCallback&&e._resizeCallback.call()}},_orientationChange:function(){cc.view._orientationChanging=!0,cc.view._resizeEvent()},resizeWithBrowserSize:function(t){t?this._resizeWithBrowserSize||(this._resizeWithBrowserSize=!0,window.addEventListener("resize",this._resizeEvent),window.addEventListener("orientationchange",this._orientationChange)):this._resizeWithBrowserSize&&(this._resizeWithBrowserSize=!1,window.removeEventListener("resize",this._resizeEvent),window.removeEventListener("orientationchange",this._orientationChange))},setResizeCallback:function(t){"function"!=typeof t&&null!=t||(this._resizeCallback=t)},setOrientation:function(t){if((t&=cc.macro.ORIENTATION_AUTO)&&this._orientation!==t){this._orientation=t;var e=this._originalDesignResolutionSize.width,i=this._originalDesignResolutionSize.height;this.setDesignResolutionSize(e,i,this._resolutionPolicy)}},_initFrameSize:function(){var t=this._frameSize,e=o.availWidth(cc.game.frame),i=o.availHeight(cc.game.frame),n=e>=i;!cc.sys.isMobile||n&&this._orientation&cc.macro.ORIENTATION_LANDSCAPE||!n&&this._orientation&cc.macro.ORIENTATION_PORTRAIT?(t.width=e,t.height=i,cc.game.container.style["-webkit-transform"]="rotate(0deg)",cc.game.container.style.transform="rotate(0deg)",this._isRotated=!1):(t.width=i,t.height=e,cc.game.container.style["-webkit-transform"]="rotate(90deg)",cc.game.container.style.transform="rotate(90deg)",cc.game.container.style["-webkit-transform-origin"]="0px 0px 0px",cc.game.container.style.transformOrigin="0px 0px 0px",this._isRotated=!0),this._orientationChanging&&setTimeout((function(){cc.view._orientationChanging=!1}),1e3)},_adjustSizeKeepCanvasSize:function(){var t=this._originalDesignResolutionSize.width,e=this._originalDesignResolutionSize.height;t>0&&this.setDesignResolutionSize(t,e,this._resolutionPolicy)},_setViewportMeta:function(t,e){var i=document.getElementById("cocosMetaElement");i&&e&&document.head.removeChild(i);var n,r,s,a=document.getElementsByName("viewport"),o=a?a[0]:null;n=o?o.content:"",(i=i||document.createElement("meta")).id="cocosMetaElement",i.name="viewport",i.content="";for(r in t)-1==n.indexOf(r)?n+=","+r+"="+t[r]:e&&(s=new RegExp(r+"s*=s*[^,]+"),n.replace(s,r+"="+t[r]));/^,/.test(n)&&(n=n.substr(1)),i.content=n,o&&(o.content=n),document.head.appendChild(i)},_adjustViewportMeta:function(){this._isAdjustViewport&&!a&&(this._setViewportMeta(o.meta,!1),this._isAdjustViewport=!1)},adjustViewportMeta:function(t){this._isAdjustViewport=t},enableRetina:function(t){this._retinaEnabled=!!t},isRetinaEnabled:function(){return this._retinaEnabled},enableAntiAlias:function(t){if(this._antiAliasEnabled!==t)if(this._antiAliasEnabled=t,cc.game.renderType===cc.game.RENDER_TYPE_WEBGL){var e=cc.loader._cache;for(var i in e){var n=e[i],r=n&&n.content instanceof cc.Texture2D?n.content:null;if(r){var s=cc.Texture2D.Filter;t?r.setFilters(s.LINEAR,s.LINEAR):r.setFilters(s.NEAREST,s.NEAREST)}}}else if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){var a=cc.game.canvas.getContext("2d");a.imageSmoothingEnabled=t,a.mozImageSmoothingEnabled=t}},isAntiAliasEnabled:function(){return this._antiAliasEnabled},enableAutoFullScreen:function(t){t&&t!==this._autoFullScreen&&cc.sys.isMobile&&cc.sys.browserType!==cc.sys.BROWSER_TYPE_WECHAT?(this._autoFullScreen=!0,cc.screen.autoFullScreen(cc.game.frame)):this._autoFullScreen=!1},isAutoFullScreenEnabled:function(){return this._autoFullScreen},setCanvasSize:function(t,e){var i=cc.game.canvas,n=cc.game.container;i.width=t*this._devicePixelRatio,i.height=e*this._devicePixelRatio,i.style.width=t+"px",i.style.height=e+"px",n.style.width=t+"px",n.style.height=e+"px",this._resizeEvent()},getCanvasSize:function(){return cc.size(cc.game.canvas.width,cc.game.canvas.height)},getFrameSize:function(){return cc.size(this._frameSize.width,this._frameSize.height)},setFrameSize:function(t,e){this._frameSize.width=t,this._frameSize.height=e,cc.game.frame.style.width=t+"px",cc.game.frame.style.height=e+"px",this._resizeEvent(!0)},getVisibleSize:function(){return cc.size(this._visibleRect.width,this._visibleRect.height)},getVisibleSizeInPixel:function(){return cc.size(this._visibleRect.width*this._scaleX,this._visibleRect.height*this._scaleY)},getVisibleOrigin:function(){return cc.v2(this._visibleRect.x,this._visibleRect.y)},getVisibleOriginInPixel:function(){return cc.v2(this._visibleRect.x*this._scaleX,this._visibleRect.y*this._scaleY)},getResolutionPolicy:function(){return this._resolutionPolicy},setResolutionPolicy:function(t){var e=this;if(t instanceof cc.ResolutionPolicy)e._resolutionPolicy=t;else{var i=cc.ResolutionPolicy;t===i.EXACT_FIT&&(e._resolutionPolicy=e._rpExactFit),t===i.SHOW_ALL&&(e._resolutionPolicy=e._rpShowAll),t===i.NO_BORDER&&(e._resolutionPolicy=e._rpNoBorder),t===i.FIXED_HEIGHT&&(e._resolutionPolicy=e._rpFixedHeight),t===i.FIXED_WIDTH&&(e._resolutionPolicy=e._rpFixedWidth)}},setDesignResolutionSize:function(t,e,i){if(t>0||e>0){this.setResolutionPolicy(i);var n=this._resolutionPolicy;if(n&&n.preApply(this),cc.sys.isMobile&&this._adjustViewportMeta(),this._orientationChanging=!0,this._resizing||this._initFrameSize(),n){this._originalDesignResolutionSize.width=this._designResolutionSize.width=t,this._originalDesignResolutionSize.height=this._designResolutionSize.height=e;var r=n.apply(this,this._designResolutionSize);if(r.scale&&2===r.scale.length&&(this._scaleX=r.scale[0],this._scaleY=r.scale[1]),r.viewport){var a=this._viewportRect,o=this._visibleRect,h=r.viewport;a.x=h.x,a.y=h.y,a.width=h.width,a.height=h.height,o.x=0,o.y=0,o.width=h.width/this._scaleX,o.height=h.height/this._scaleY}n.postApply(this),cc.winSize.width=this._visibleRect.width,cc.winSize.height=this._visibleRect.height,cc.visibleRect&&cc.visibleRect.init(this._visibleRect),s.updateCameraViewport(),this.emit("design-resolution-changed")}else cc.logID(2201)}else cc.logID(2200)},getDesignResolutionSize:function(){return cc.size(this._designResolutionSize.width,this._designResolutionSize.height)},setRealPixelResolution:function(t,e,i){a||(this._setViewportMeta({width:t},!0),document.documentElement.style.width=t+"px",document.body.style.width=t+"px",document.body.style.left="0px",document.body.style.top="0px"),this.setDesignResolutionSize(t,e,i)},setViewportInPoints:function(t,e,i,n){var r=this._scaleX,s=this._scaleY;cc.game._renderContext.viewport(t*r+this._viewportRect.x,e*s+this._viewportRect.y,i*r,n*s)},setScissorInPoints:function(t,e,i,n){var r=this._scaleX,s=this._scaleY,a=Math.ceil(t*r+this._viewportRect.x),o=Math.ceil(e*s+this._viewportRect.y),h=Math.ceil(i*r),c=Math.ceil(n*s),u=cc.game._renderContext;if(!l){var _=u.getParameter(u.SCISSOR_BOX);l=cc.rect(_[0],_[1],_[2],_[3])}l.x===a&&l.y===o&&l.width===h&&l.height===c||(l.x=a,l.y=o,l.width=h,l.height=c,u.scissor(a,o,h,c))},isScissorEnabled:function(){return cc.game._renderContext.isEnabled(gl.SCISSOR_TEST)},getScissorRect:function(){if(!l){var t=gl.getParameter(gl.SCISSOR_BOX);l=cc.rect(t[0],t[1],t[2],t[3])}var e=1/this._scaleX,i=1/this._scaleY;return cc.rect((l.x-this._viewportRect.x)*e,(l.y-this._viewportRect.y)*i,l.width*e,l.height*i)},getViewportRect:function(){return this._viewportRect},getScaleX:function(){return this._scaleX},getScaleY:function(){return this._scaleY},getDevicePixelRatio:function(){return this._devicePixelRatio},convertToLocationInView:function(t,e,i,n){var r=n||cc.v2(),s=this._devicePixelRatio*(t-i.left),a=this._devicePixelRatio*(i.top+i.height-e);return this._isRotated?(r.x=cc.game.canvas.width-a,r.y=s):(r.x=s,r.y=a),r},_convertMouseToLocationInView:function(t,e){var i=this._viewportRect;t.x=(this._devicePixelRatio*(t.x-e.left)-i.x)/this._scaleX,t.y=(this._devicePixelRatio*(e.top+e.height-t.y)-i.y)/this._scaleY},_convertPointWithScale:function(t){var e=this._viewportRect;t.x=(t.x-e.x)/this._scaleX,t.y=(t.y-e.y)/this._scaleY},_convertTouchesWithScale:function(t){for(var e,i,n,r=this._viewportRect,s=this._scaleX,a=this._scaleY,o=0;o<t.length;o++)i=(e=t[o])._point,n=e._prevPoint,i.x=(i.x-r.x)/s,i.y=(i.y-r.y)/a,n.x=(n.x-r.x)/s,n.y=(n.y-r.y)/a}}),cc.ContainerStrategy=cc.Class({name:"ContainerStrategy",preApply:function(t){},apply:function(t,e){},postApply:function(t){},_setupContainer:function(t,e,i){var n=cc.game.canvas,r=cc.game.container;a||(cc.sys.os===cc.sys.OS_ANDROID&&(document.body.style.width=(t._isRotated?i:e)+"px",document.body.style.height=(t._isRotated?e:i)+"px"),r.style.width=n.style.width=e+"px",r.style.height=n.style.height=i+"px");var s=t._devicePixelRatio=1;t.isRetinaEnabled()&&(s=t._devicePixelRatio=Math.min(t._maxPixelRatio,window.devicePixelRatio||1)),n.width=e*s,n.height=i*s},_fixContainer:function(){document.body.insertBefore(cc.game.container,document.body.firstChild);var t=document.body.style;t.width=window.innerWidth+"px",t.height=window.innerHeight+"px",t.overflow="hidden";var e=cc.game.container.style;e.position="fixed",e.left=e.top="0px",document.body.scrollTop=0}}),cc.ContentStrategy=cc.Class({name:"ContentStrategy",ctor:function(){this._result={scale:[1,1],viewport:null}},_buildResult:function(t,e,i,n,r,s){Math.abs(t-i)<2&&(i=t),Math.abs(e-n)<2&&(n=e);var a=cc.rect((t-i)/2,(e-n)/2,i,n);return cc.game.renderType,cc.game.RENDER_TYPE_CANVAS,this._result.scale=[r,s],this._result.viewport=a,this._result},preApply:function(t){},apply:function(t,e){return{scale:[1,1]}},postApply:function(t){}}),(function(){var t=cc.Class({name:"EqualToFrame",extends:cc.ContainerStrategy,apply:function(t){var e=t._frameSize.height,i=cc.game.container.style;this._setupContainer(t,t._frameSize.width,t._frameSize.height),t._isRotated?i.margin="0 0 0 "+e+"px":i.margin="0px",i.padding="0px"}}),e=cc.Class({name:"ProportionalToFrame",extends:cc.ContainerStrategy,apply:function(t,e){var i,n,r=t._frameSize.width,s=t._frameSize.height,a=cc.game.container.style,o=e.width,h=e.height,l=r/o,c=s/h;l<c?(i=r,n=h*l):(i=o*c,n=s);var u=Math.round((r-i)/2),_=Math.round((s-n)/2);i=r-2*u,n=s-2*_,this._setupContainer(t,i,n),t._isRotated?a.margin="0 0 0 "+s+"px":a.margin="0px",a.paddingLeft=u+"px",a.paddingRight=u+"px",a.paddingTop=_+"px",a.paddingBottom=_+"px"}}),i=(cc.Class({name:"EqualToWindow",extends:t,preApply:function(t){this._super(t),cc.game.frame=document.documentElement},apply:function(t){this._super(t),this._fixContainer()}}),cc.Class({name:"ProportionalToWindow",extends:e,preApply:function(t){this._super(t),cc.game.frame=document.documentElement},apply:function(t,e){this._super(t,e),this._fixContainer()}}),cc.Class({name:"OriginalContainer",extends:cc.ContainerStrategy,apply:function(t){this._setupContainer(t,cc.game.canvas.width,cc.game.canvas.height)}}));cc.ContainerStrategy.EQUAL_TO_FRAME=new t,cc.ContainerStrategy.PROPORTION_TO_FRAME=new e,cc.ContainerStrategy.ORIGINAL_CONTAINER=new i;var n=cc.Class({name:"ExactFit",extends:cc.ContentStrategy,apply:function(t,e){var i=cc.game.canvas.width,n=cc.game.canvas.height,r=i/e.width,s=n/e.height;return this._buildResult(i,n,i,n,r,s)}}),r=cc.Class({name:"ShowAll",extends:cc.ContentStrategy,apply:function(t,e){var i,n,r=cc.game.canvas.width,s=cc.game.canvas.height,a=e.width,o=e.height,h=r/a,l=s/o,c=0;return h<l?(i=r,n=o*(c=h)):(i=a*(c=l),n=s),this._buildResult(r,s,i,n,c,c)}}),s=cc.Class({name:"NoBorder",extends:cc.ContentStrategy,apply:function(t,e){var i,n,r,s=cc.game.canvas.width,a=cc.game.canvas.height,o=e.width,h=e.height,l=s/o,c=a/h;return l<c?(n=o*(i=c),r=a):(n=s,r=h*(i=l)),this._buildResult(s,a,n,r,i,i)}}),a=cc.Class({name:"FixedHeight",extends:cc.ContentStrategy,apply:function(t,e){var i=cc.game.canvas.width,n=cc.game.canvas.height,r=n/e.height,s=i,a=n;return this._buildResult(i,n,s,a,r,r)}}),o=cc.Class({name:"FixedWidth",extends:cc.ContentStrategy,apply:function(t,e){var i=cc.game.canvas.width,n=cc.game.canvas.height,r=i/e.width,s=i,a=n;return this._buildResult(i,n,s,a,r,r)}});cc.ContentStrategy.EXACT_FIT=new n,cc.ContentStrategy.SHOW_ALL=new r,cc.ContentStrategy.NO_BORDER=new s,cc.ContentStrategy.FIXED_HEIGHT=new a,cc.ContentStrategy.FIXED_WIDTH=new o})(),cc.ResolutionPolicy=cc.Class({name:"cc.ResolutionPolicy",ctor:function(t,e){this._containerStrategy=null,this._contentStrategy=null,this.setContainerStrategy(t),this.setContentStrategy(e)},preApply:function(t){this._containerStrategy.preApply(t),this._contentStrategy.preApply(t)},apply:function(t,e){return this._containerStrategy.apply(t,e),this._contentStrategy.apply(t,e)},postApply:function(t){this._containerStrategy.postApply(t),this._contentStrategy.postApply(t)},setContainerStrategy:function(t){t instanceof cc.ContainerStrategy&&(this._containerStrategy=t)},setContentStrategy:function(t){t instanceof cc.ContentStrategy&&(this._contentStrategy=t)}}),r.get(cc.ResolutionPolicy.prototype,"canvasSize",(function(){return cc.v2(cc.game.canvas.width,cc.game.canvas.height)})),cc.ResolutionPolicy.EXACT_FIT=0,cc.ResolutionPolicy.NO_BORDER=1,cc.ResolutionPolicy.SHOW_ALL=2,cc.ResolutionPolicy.FIXED_HEIGHT=3,cc.ResolutionPolicy.FIXED_WIDTH=4,cc.ResolutionPolicy.UNKNOWN=5,cc.view=new c,cc.winSize=cc.v2(),e.exports=cc.view}),{"../event/event-target":102,"../platform/CCClass":160,"../platform/js":180,"../renderer":201}],171:[(function(t,e,i){cc.visibleRect={topLeft:cc.v2(0,0),topRight:cc.v2(0,0),top:cc.v2(0,0),bottomLeft:cc.v2(0,0),bottomRight:cc.v2(0,0),bottom:cc.v2(0,0),center:cc.v2(0,0),left:cc.v2(0,0),right:cc.v2(0,0),width:0,height:0,init:function(t){var e=this.width=t.width,i=this.height=t.height,n=t.x,r=t.y,s=r+i,a=n+e;this.topLeft.x=n,this.topLeft.y=s,this.topRight.x=a,this.topRight.y=s,this.top.x=n+e/2,this.top.y=s,this.bottomLeft.x=n,this.bottomLeft.y=r,this.bottomRight.x=a,this.bottomRight.y=r,this.bottom.x=n+e/2,this.bottom.y=r,this.center.x=n+e/2,this.center.y=r+i/2,this.left.x=n,this.left.y=r+i/2,this.right.x=a,this.right.y=r+i/2}}}),{}],172:[(function(t,e,i){var n=t("./js"),r=(t("./utils").isPlainEmptyObj_DEV,"$_$");function s(t,e,i){var r;r=function(){},i&&n.extend(r,i.constructor);var s=new r;return n.value(t,"__attrs__",s),s}function a(t,e,i){var n,a,h;if("function"==typeof t)a=(n=o(t)).constructor.prototype;else{var l=t;if(!(n=l.__attrs__))n=s(l,0,o(t=l.constructor));a=n}if(void 0===i){var c=e+r,u={};for(h in n)h.startsWith(c)&&(u[h.slice(c.length)]=n[h]);return u}if("object"==typeof i)for(h in i)95!==h.charCodeAt(0)&&(a[e+r+h]=i[h]);else 0}function o(t){return t.hasOwnProperty("__attrs__")&&t.__attrs__||(function(t){for(var e,i=cc.Class.getInheritanceChain(t),n=i.length-1;n>=0;n--){var r=i[n];r.hasOwnProperty("__attrs__")&&r.__attrs__||s(r,0,(e=i[n+1])&&e.__attrs__)}return s(t,0,(e=i[0])&&e.__attrs__),t.__attrs__})(t)}function h(t){return o(t).constructor.prototype}function l(t,e){0}cc.Integer="Integer",cc.Float="Float",cc.Boolean="Boolean",cc.String="String",e.exports={attr:a,getClassAttrs:o,getClassAttrsProto:h,setClassAttr:function(t,e,i,n){h(t)[e+r+i]=n},DELIMETER:r,getTypeChecker:l,ObjectType:function(t){return{type:"Object",ctor:t,_onAfterProp:!1}},ScriptUuid:{}}}),{"./CCClass":160,"./js":180,"./utils":184}],173:[(function(t,e,i){var n=t("./js"),r=n.array.fastRemoveAt;function s(){this.callbacks=[],this.targets=[],this.isInvoking=!1,this.containCanceled=!1}var a=s.prototype;a.removeBy=function(t,e){for(var i=this.callbacks,n=this.targets,s=0;s<t.length;++s)t[s]===e&&(r(i,s),r(n,s),--s)},a.cancel=function(t){this.callbacks[t]=this.targets[t]=null,this.containCanceled=!0},a.cancelAll=function(){for(var t=this.callbacks,e=this.targets,i=0;i<t.length;i++)t[i]=e[i]=null;this.containCanceled=!0},a.purgeCanceled=function(){this.removeBy(this.callbacks,null),this.containCanceled=!1};var o=new n.Pool(function(t){t.callbacks.length=0,t.targets.length=0,t.isInvoking=!1,t.containCanceled=!1},16);function h(){this._callbackTable=n.createMap(!0)}o.get=function(){return this._get()||new s},(a=h.prototype).add=function(t,e,i){var n=this._callbackTable[t];n||(n=this._callbackTable[t]=o.get()),n.callbacks.push(e),n.targets.push(i||null)},a.hasEventListener=function(t,e,i){var n=this._callbackTable[t];if(!n)return!1;var r=n.callbacks;if(!e){if(n.isInvoking){for(var s=0;s<r.length;s++)if(r[s])return!0;return!1}return r.length>0}i=i||null;for(var a=n.targets,o=0;o<r.length;++o)if(r[o]===e&&a[o]===i)return!0;return!1},a.removeAll=function(t){if("string"==typeof t){var e=this._callbackTable[t];e&&(e.isInvoking?e.cancelAll():(o.put(e),delete this._callbackTable[t]))}else if(t)for(var i in this._callbackTable){var n=this._callbackTable[i];if(n.isInvoking)for(var r=n.targets,s=0;s<r.length;++s)r[s]===t&&n.cancel(s);else n.removeBy(n.targets,t)}},a.remove=function(t,e,i){var n=this._callbackTable[t];if(n){i=i||null;for(var s=n.callbacks,a=n.targets,o=0;o<s.length;++o)if(s[o]===e&&a[o]===i){n.isInvoking?n.cancel(o):(r(s,o),r(a,o));break}}};var l=function(){h.call(this)};n.extend(l,h),l.prototype.invoke=function(t,e,i,n,r,s){var a=this._callbackTable[t];if(a){var o=!a.isInvoking;a.isInvoking=!0;for(var h=a.callbacks,l=a.targets,c=0,u=h.length;c<u;++c){var _=h[c];if(_){var f=l[c];f?_.call(f,e,i,n,r,s):_(e,i,n,r,s)}}o&&(a.isInvoking=!1,a.containCanceled&&a.purgeCanceled())}},l.CallbacksHandler=h,e.exports=l}),{"./js":180}],174:[(function(t,e,i){e.exports={flattenCodeArray:function(t){var e=[];return (function t(e,i){for(var n=0;n<i.length;n++){var r=i[n];Array.isArray(r)?t(e,r):e.push(r)}})(e,t),e.join("")}}}),{}],175:[(function(t,e,i){var n=t("./js"),r=t("./attribute"),s=t("./CCClass"),a=t("../utils/misc"),o=function(){this.uuidList=[],this.uuidObjList=[],this.uuidPropList=[],this._stillUseUrl=n.createMap(!0)};o.prototype.reset=function(){this.uuidList.length=0,this.uuidObjList.length=0,this.uuidPropList.length=0,n.clear(this._stillUseUrl)},o.prototype.push=function(t,e,i,n){n&&(this._stillUseUrl[this.uuidList.length]=!0),this.uuidList.push(i),this.uuidObjList.push(t),this.uuidPropList.push(e)},(o.pool=new n.Pool(function(t){t.reset()},10)).get=function(){return this._get()||new o};var h=(function(){function t(t,e,i,n,r){this.result=t,this.customEnv=n,this.deserializedList=[],this.deserializedData=null,this._classFinder=i,this._idList=[],this._idObjList=[],this._idPropList=[]}var e=t.prototype;function i(t,e,i,r,s,a){if(e instanceof cc.ValueType){s||t.push("if(prop){");var o=n.getClassName(e);t.push("s._deserializeTypedObject(o"+i+",prop,"+o+");"),s||t.push("}else o"+i+"=null;")}else t.push("if(prop){"),t.push("s._deserializeObjField(o,prop,"+r+",null,"+!!a+");"),t.push("}else o"+i+"=null;")}e.deserialize=function(t){if(Array.isArray(t)){var e=t,i=e.length;this.deserializedList.length=i;for(var n=0;n<i;n++){if(e[n])this.deserializedList[n]=this._deserializeObject(e[n],!1)}this.deserializedData=i>0?this.deserializedList[0]:[]}else this.deserializedList.length=1,this.deserializedData=t?this._deserializeObject(t,!1):null,this.deserializedList[0]=this.deserializedData;return (function(t){var e,i,n,r=t.deserializedList,s=t._idPropList,a=t._idList,o=t._idObjList;for(t._classFinder&&t._classFinder.onDereferenced,e=0;e<a.length;e++)i=s[e],n=a[e],o[e][i]=r[n]})(this),this.deserializedData},e._deserializeObject=function(t,e,i,r,s){var a,h=null,l=null,c=t.__type__;if(c){if(!(l=this._classFinder(c,t,r,s)))return this._classFinder===n._getClassById&&cc.deserialize.reportMissingClass(c),null;if((h=new l)._deserialize)return h._deserialize(t.content,this),h;cc.Class._isCCClass(l)?(function(t,e,i,r,s){var a;r.hasOwnProperty("__deserialize__")?a=r.__deserialize__:(a=o(t,r),n.value(r,"__deserialize__",a,!0));a(t,e,i,r,s),0})(this,h,t,l,i):this._deserializeTypedObject(h,t,l)}else if(Array.isArray(t)){h=new Array(t.length);for(var u=0;u<t.length;u++)"object"==typeof(a=t[u])&&a?this._deserializeObjField(h,a,""+u,null,e):h[u]=a}else h={},this._deserializePrimitiveObject(h,t);return h},e._deserializeObjField=function(t,e,i,n,r){var s=e.__id__;if(void 0===s){var a=e.__uuid__;a?this.result.push(t,i,a,r):t[i]=this._deserializeObject(e,r)}else{var o=this.deserializedList[s];o?t[i]=o:(this._idList.push(s),this._idObjList.push(t),this._idPropList.push(i))}},e._deserializePrimitiveObject=function(t,e){for(var i in e)if(e.hasOwnProperty(i)){var n=e[i];"object"!=typeof n?"__type__"!==i&&(t[i]=n):n?this._deserializeObjField(t,n,i):t[i]=null}},e._deserializeTypedObject=function(t,e,i){if(i===cc.Vec2)return t.x=e.x||0,void(t.y=e.y||0);if(i===cc.Vec3)return t.x=e.x||0,t.y=e.y||0,void(t.z=e.z||0);if(i!==cc.Color){if(i===cc.Size)return t.width=e.width||0,void(t.height=e.height||0);for(var n=r.DELIMETER+"default",a=r.getClassAttrs(i),o=i.__props__||Object.keys(t),h=0;h<o.length;h++){var l=o[h],c=e[l];void 0!==c&&e.hasOwnProperty(l)||(c=s.getDefault(a[l+n])),"object"!=typeof c?t[l]=c:c?this._deserializeObjField(t,c,l):t[l]=null}}else{t.r=e.r||0,t.g=e.g||0,t.b=e.b||0;var u=e.a;t.a=void 0===u?255:u}};var o=function(t,e){for(var o=r.DELIMETER+"type",h=(r.DELIMETER,r.DELIMETER+"default"),l=r.DELIMETER+"saveUrlAsAsset",c=r.DELIMETER+"formerlySerializedAs",u=r.getClassAttrs(e),_=e.__values__,f=["var prop;"],m=a.BUILTIN_CLASSID_RE.test(n._getClassId(e)),d=0;d<_.length;d++){var p,y,v=_[d];0,s.IDENTIFIER_RE.test(v)?(y='"'+v+'"',p="."+v):p="["+(y=s.escapeForJS(v))+"]";var g=p;if(u[v+c]){var x=u[v+c];g=s.IDENTIFIER_RE.test(x)?"."+x:"["+s.escapeForJS(x)+"]"}f.push("prop=d"+g+";"),f.push('if(typeof prop!=="undefined"){');var A=u[v+l],b=s.getDefault(u[v+h]);if(m){var C,S=u[v+o];if(void 0===b&&S)C=S===cc.String||S===cc.Integer||S===cc.Float||S===cc.Boolean;else{var T=typeof b;C="string"===T&&!A||"number"===T||"boolean"===T}C?f.push("o"+p+"=prop;"):i(f,b,p,y,!0,A)}else f.push('if(typeof prop!=="object"){o'+p+"=prop;}else{"),i(f,b,p,y,!1,A),f.push("}");f.push("}")}(cc.js.isChildClassOf(e,cc._BaseNode)||cc.js.isChildClassOf(e,cc.Component))&&f.push("d._id&&(o._id=d._id);");return"_$erialized"===_[_.length-1]&&(f.push("o._$erialized=JSON.parse(JSON.stringify(d));"),f.push("s._deserializePrimitiveObject(o._$erialized,d);")),Function("s","o","d","k","t",f.join(""))};return t.pool=new n.Pool(function(t){t.result=null,t.customEnv=null,t.deserializedList.length=0,t.deserializedData=null,t._classFinder=null,t._idList.length=0,t._idObjList.length=0,t._idPropList.length=0},1),t.pool.get=function(e,i,n,r,s){var a=this._get();return a?(a.result=e,a.customEnv=r,a._classFinder=n,a):new t(e,i,n,r,s)},t})();cc.deserialize=function(t,e,i){var r=(i=i||{}).classFinder||n._getClassById,s=i.createAssetRefs||cc.sys.platform===cc.sys.EDITOR_CORE,a=i.customEnv,l=i.ignoreEditorOnly;"string"==typeof t&&(t=JSON.parse(t));var c=!e;e=e||o.pool.get();var u=h.pool.get(e,!1,r,a,l);cc.game._isCloning=!0;var _=u.deserialize(t);return cc.game._isCloning=!1,h.pool.put(u),s&&e.assignAssetsBy(Editor.serialize.asAsset),c&&o.pool.put(e),_},cc.deserialize.Details=o,cc.deserialize.reportMissingClass=function(t){cc.warnID(5302,t)}}),{"../utils/misc":242,"./CCClass":160,"./attribute":172,"./js":180}],176:[(function(t,e,i){var n=".";function r(t){this.id=0|998*Math.random(),this.prefix=t?t+n:""}r.prototype.getNewId=function(){return this.prefix+ ++this.id},r.global=new r("global"),e.exports=r}),{}],177:[(function(t,e,i){t("./js"),t("./CCClass"),t("./CCClassDecorator"),t("./CCEnum"),t("./CCObject"),t("./callbacks-invoker"),t("./url"),t("./deserialize"),t("./instantiate"),t("./instantiate-jit"),t("./requiring-frame"),t("./CCSys"),t("./CCMacro"),t("./CCAssetLibrary"),t("./CCVisibleRect")}),{"./CCAssetLibrary":159,"./CCClass":160,"./CCClassDecorator":161,"./CCEnum":162,"./CCMacro":165,"./CCObject":166,"./CCSys":169,"./CCVisibleRect":171,"./callbacks-invoker":173,"./deserialize":175,"./instantiate":179,"./instantiate-jit":178,"./js":180,"./requiring-frame":182,"./url":183}],178:[(function(t,e,i){var n=t("./CCObject"),r=n.Flags.Destroyed,s=n.Flags.PersistentMask,a=t("./attribute"),o=t("./js"),h=t("./CCClass"),l=t("./compiler"),c=a.DELIMETER+"default",u=h.IDENTIFIER_RE,_=h.escapeForJS,f="var ",m="o",d="t",p={"cc.Node":"cc.Node","cc.Sprite":"cc.Sprite","cc.Label":"cc.Label","cc.Button":"cc.Button","cc.Widget":"cc.Widget","cc.Animation":"cc.Animation","cc.ClickEvent":!1,"cc.PrefabInfo":!1};function y(t,e){this.varName=t,this.expression=e}function v(t,e){return e instanceof y?new y(e.varName,t+e.expression):t+e}function g(t,e,i){Array.isArray(i)?(i[0]=v(e,i[0]),t.push(i)):t.push(v(e,i)+";")}function x(t){this._exps=[],this._targetExp=t}function A(t,e){if("function"==typeof t)try{t=t()}catch(t){return!1}if(t===e)return!0;if(t&&e){if(t instanceof cc.ValueType&&t.equals(e))return!0;if(Array.isArray(t)&&Array.isArray(e)||t.constructor===Object&&e.constructor===Object)try{return Array.isArray(t)&&Array.isArray(e)&&0===t.length&&0===e.length}catch(t){}}return!1}function b(t){return u.test(t)?"."+t:"["+_(t)+"]"}function C(t,e){var i;this.parent=e,this.objsToClear_iN$t=[],this.codeArray=[],this.objs=[],this.funcs=[],this.funcModuleCache=o.createMap(),o.mixin(this.funcModuleCache,p),this.globalVariables=[],this.globalVariableId=0,this.localVariableId=0,this.codeArray.push(f+m+","+d+";","if(R){",m+"=R;","}else{",m+"=R=new "+this.getFuncModule(t.constructor,!0)+"();","}"),o.value(t,"_iN$t",{globalVar:"R"},!0),this.objsToClear_iN$t.push(t),this.enumerateObject(this.codeArray,t),this.globalVariables.length>0&&(i=f+this.globalVariables.join(",")+";");var n=l.flattenCodeArray(["return (function(R){",i||[],this.codeArray,"return o;","})"]);this.result=Function("O","F",n)(this.objs,this.funcs);for(var r=0,s=this.objsToClear_iN$t.length;r<s;++r)this.objsToClear_iN$t[r]._iN$t=null;this.objsToClear_iN$t.length=0}y.prototype.toString=function(){return f+this.varName+"="+this.expression+";"},x.prototype.append=function(t,e){this._exps.push([t,e])},x.prototype.writeCode=function(t){var e;if(this._exps.length>1)t.push(d+"="+this._targetExp+";"),e=d;else{if(1!==this._exps.length)return;e=this._targetExp}for(var i=0;i<this._exps.length;i++){var n=this._exps[i];g(t,e+b(n[0])+"=",n[1])}},x.pool=new o.Pool(function(t){t._exps.length=0,t._targetExp=null},1),x.pool.get=function(t){var e=this._get()||new x;return e._targetExp=t,e};var S=C.prototype;S.getFuncModule=function(t,e){var i=o.getClassName(t);if(i){var n=this.funcModuleCache[i];if(n)return n;if(void 0===n){var r=-1!==i.indexOf(".");if(r)try{if(r=t===Function("return "+i)())return this.funcModuleCache[i]=i,i}catch(t){}}}var s=this.funcs.indexOf(t);s<0&&(s=this.funcs.length,this.funcs.push(t));var a="F["+s+"]";return e&&(a="("+a+")"),this.funcModuleCache[i]=a,a},S.getObjRef=function(t){var e=this.objs.indexOf(t);return e<0&&(e=this.objs.length,this.objs.push(t)),"O["+e+"]"},S.setValueType=function(t,e,i,n){var r=x.pool.get(n),s=e.constructor.__props__;s||(s=Object.keys(e));for(var a=0;a<s.length;a++){var o=s[a],h=i[o];if(e[o]!==h){var l=this.enumerateField(i,o,h);r.append(o,l)}}r.writeCode(t),x.pool.put(r)},S.enumerateCCClass=function(t,e,i){for(var n=i.__values__,r=a.getClassAttrs(i),s=0;s<n.length;s++){var o=n[s],l=e[o],u=r[o+c];if(!A(u,l))if("object"==typeof l&&l instanceof cc.ValueType&&(u=h.getDefault(u))&&u.constructor===l.constructor){var _=m+b(o);this.setValueType(t,u,l,_)}else this.setObjProp(t,e,o,l)}},S.instantiateArray=function(t){if(0===t.length)return"[]";var e="a"+ ++this.localVariableId,i=[new y(e,"new Array("+t.length+")")];o.value(t,"_iN$t",{globalVar:"",source:i},!0),this.objsToClear_iN$t.push(t);for(var n=0;n<t.length;++n){g(i,e+"["+n+"]=",this.enumerateField(t,n,t[n]))}return i},S.enumerateField=function(t,e,i){if("object"==typeof i&&i){var r=i._iN$t;if(r){var a=r.globalVar;if(!a){a=r.globalVar="v"+ ++this.globalVariableId,this.globalVariables.push(a);var o=r.source[0];r.source[0]=v(a+"=",o)}return a}return Array.isArray(i)?this.instantiateArray(i):this.instantiateObj(i)}return"function"==typeof i?this.getFuncModule(i):"string"==typeof i?_(i):("_objFlags"===e&&t instanceof n&&(i&=s),i)},S.setObjProp=function(t,e,i,n){g(t,m+b(i)+"=",this.enumerateField(e,i,n))},S.enumerateObject=function(t,e){var i=e.constructor;if(cc.Class._isCCClass(i))this.enumerateCCClass(t,e,i);else for(var n in e)if(e.hasOwnProperty(n)&&(95!==n.charCodeAt(0)||95!==n.charCodeAt(1)||"__type__"===n)){var r=e[n];"object"==typeof r&&r&&r===e._iN$t||this.setObjProp(t,e,n,r)}},S.instantiateObj=function(t){if(t instanceof cc.ValueType)return h.getNewValueTypeCode(t);if(t instanceof cc.Asset)return this.getObjRef(t);if(t._objFlags&r)return null;var e,i=t.constructor;if(cc.Class._isCCClass(i)){if(this.parent)if(this.parent instanceof cc.Component){if(t instanceof cc._BaseNode||t instanceof cc.Component)return this.getObjRef(t)}else if(this.parent instanceof cc._BaseNode)if(t instanceof cc._BaseNode){if(!t.isChildOf(this.parent))return this.getObjRef(t)}else if(t instanceof cc.Component&&!t.node.isChildOf(this.parent))return this.getObjRef(t);e=new y(m,"new "+this.getFuncModule(i,!0)+"()")}else if(i===Object)e=new y(m,"{}");else{if(i)return this.getObjRef(t);e=new y(m,"Object.create(null)")}var n=[e];return o.value(t,"_iN$t",{globalVar:"",source:n},!0),this.objsToClear_iN$t.push(t),this.enumerateObject(n,t),["(function(){",n,"return o;})();"]},e.exports={compile:function(t){return new C(t,t instanceof cc._BaseNode&&t).result},equalsToDefault:A}}),{"./CCClass":160,"./CCObject":166,"./attribute":172,"./compiler":174,"./js":180}],179:[(function(t,e,i){var n=t("./CCObject"),r=t("../value-types/value-type"),s=n.Flags.Destroyed,a=n.Flags.PersistentMask,o=t("./utils").isDomNode,h=t("./js");function l(t,e){if(!e){if("object"!=typeof t||Array.isArray(t))return null;if(!t)return null;if(!cc.isValid(t))return null;0}var i;if(t instanceof n){if(t._instantiate)return cc.game._isCloning=!0,i=t._instantiate(),cc.game._isCloning=!1,i;if(t instanceof cc.Asset)return null}return cc.game._isCloning=!0,i=u(t),cc.game._isCloning=!1,i}var c=[];function u(t,e){if(Array.isArray(t))return null;if(o&&o(t))return null;var i;if(t._iN$t)i=t._iN$t;else if(t.constructor){i=new(0,t.constructor)}else i=Object.create(null);_(t,i,e);for(var n=0,r=c.length;n<r;++n)c[n]._iN$t=null;return c.length=0,i}function _(t,e,i){h.value(t,"_iN$t",e,!0),c.push(t);var s=t.constructor;if(cc.Class._isCCClass(s))(function(t,e,i,n){for(var s=t.__values__,a=0;a<s.length;a++){var o=s[a],h=e[o];if("object"==typeof h&&h){var l=i[o];l instanceof r&&l.constructor===h.constructor?l.set(h):i[o]=h._iN$t||f(h,n)}else i[o]=h}})(s,t,e,i);else for(var o in t)if(t.hasOwnProperty(o)&&(95!==o.charCodeAt(0)||95!==o.charCodeAt(1)||"__type__"===o)){var l=t[o];if("object"==typeof l&&l){if(l===e)continue;e[o]=l._iN$t||f(l,i)}else e[o]=l}t instanceof n&&(e._objFlags&=a)}function f(t,e){if(t instanceof r)return t.clone();if(t instanceof cc.Asset)return t;var i;if(Array.isArray(t)){var n=t.length;i=new Array(n),h.value(t,"_iN$t",i,!0);for(var a=0;a<n;++a){var o=t[a];i[a]="object"==typeof o&&o?o._iN$t||f(o,e):o}return c.push(t),i}if(t._objFlags&s)return null;var l=t.constructor;if(cc.Class._isCCClass(l)){if(e)if(e instanceof cc.Component){if(t instanceof cc._BaseNode||t instanceof cc.Component)return t}else if(e instanceof cc._BaseNode)if(t instanceof cc._BaseNode){if(!t.isChildOf(e))return t}else if(t instanceof cc.Component&&!t.node.isChildOf(e))return t;i=new l}else if(l===Object)i={};else{if(l)return t;i=Object.create(null)}return _(t,i,e),i}l._clone=u,cc.instantiate=l,e.exports=l}),{"../value-types/value-type":257,"./CCObject":166,"./js":180,"./utils":184}],180:[(function(t,e,i){var n=new(t("./id-generater"))("TmpCId.");function r(t,e){for(;t;){var i=Object.getOwnPropertyDescriptor(t,e);if(i)return i;t=Object.getPrototypeOf(t)}return null}function s(t,e,i){var n=r(e,t);Object.defineProperty(i,t,n)}var a={isNumber:function(t){return"number"==typeof t||t instanceof Number},isString:function(t){return"string"==typeof t||t instanceof String},addon:function(t){"use strict";t=t||{};for(var e=1,i=arguments.length;e<i;e++){var n=arguments[e];if(n){if("object"!=typeof n){cc.errorID(5402,n);continue}for(var r in n)r in t||s(r,n,t)}}return t},mixin:function(t){"use strict";t=t||{};for(var e=1,i=arguments.length;e<i;e++){var n=arguments[e];if(n){if("object"!=typeof n){cc.errorID(5403,n);continue}for(var r in n)s(r,n,t)}}return t},extend:function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i]);return t.prototype=Object.create(e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),t},getSuper:function(t){var e=t.prototype,i=e&&Object.getPrototypeOf(e);return i&&i.constructor},isChildClassOf:function(t,e){if(t&&e){if("function"!=typeof t)return!1;if("function"!=typeof e)return!1;if(t===e)return!0;for(;;){if(!(t=a.getSuper(t)))return!1;if(t===e)return!0}}return!1},clear:function(t){for(var e=Object.keys(t),i=0;i<e.length;i++)delete t[e[i]]},isEmptyObject:function(t){for(var e in t)return!1;return!0},getPropertyDescriptor:r},o={value:void 0,enumerable:!1,writable:!1,configurable:!0};a.value=function(t,e,i,n,r){o.value=i,o.writable=n,o.enumerable=r,Object.defineProperty(t,e,o),o.value=void 0};var h={get:null,set:null,enumerable:!1};a.getset=function(t,e,i,n,r){"function"!=typeof n&&(r=n,n=void 0),h.get=i,h.set=n,h.enumerable=r,Object.defineProperty(t,e,h),h.get=null,h.set=null};var l={get:null,enumerable:!1,configurable:!1};a.get=function(t,e,i,n,r){l.get=i,l.enumerable=n,l.configurable=r,Object.defineProperty(t,e,l),l.get=null};var c={set:null,enumerable:!1,configurable:!1};a.set=function(t,e,i,n,r){c.set=i,c.enumerable=n,c.configurable=r,Object.defineProperty(t,e,c),c.set=null},a.getClassName=function(t){if("function"==typeof t){var e=t.prototype;if(e&&e.hasOwnProperty("__classname__")&&e.__classname__)return e.__classname__;var i="";if(t.name&&(i=t.name),t.toString){var n,r=t.toString();(n="["===r.charAt(0)?r.match(/\[\w+\s*(\w+)\]/):r.match(/function\s*(\w+)/))&&2===n.length&&(i=n[1])}return"Object"!==i?i:""}return t&&t.constructor?a.getClassName(t.constructor):""},(function(){var t={},e={};function i(t,e,i){return a.getset(a,e,(function(){return Object.assign({},i)}),(function(t){a.clear(i),Object.assign(i,t)})),function(e,n){if(n.prototype.hasOwnProperty(t)&&delete i[n.prototype[t]],a.value(n.prototype,t,e),e){var r=i[e];if(r&&r!==n){var s="A Class already exists with the same "+t+' : "'+e+'".';0,cc.error(s)}else i[e]=n}}}a._setClassId=i("__cid__","_registeredClassIds",t);var r=i("__classname__","_registeredClassNames",e);a.setClassName=function(t,e){if(r(t,e),!e.prototype.hasOwnProperty("__cid__")){var i=t||n.getNewId();i&&a._setClassId(i,e)}},a.unregisterClass=function(){for(var i=0;i<arguments.length;i++){var n=arguments[i].prototype,r=n.__cid__;r&&delete t[r];var s=n.__classname__;s&&delete e[s]}},a._getClassById=function(e){return t[e]},a.getClassByName=function(t){return e[t]},a._getClassId=function(t,e){if(e=void 0===e||e,"function"==typeof t&&t.prototype.hasOwnProperty("__cid__"))return t.prototype.__cid__;if(t&&t.constructor){var i=t.constructor.prototype;if(i&&i.hasOwnProperty("__cid__"))return t.__cid__}return""}})(),a.obsolete=function(t,e,i,n){var r=/([^.]+)$/,s=r.exec(e)[0],o=r.exec(i)[0];function h(){return this[o]}n?a.getset(t,s,h,(function(t){this[o]=t})):a.get(t,s,h)},a.obsoletes=function(t,e,i,n){for(var r in i){var s=i[r];a.obsolete(t,e+"."+r,s,n)}};var u=/(%d)|(%s)/,_=/%s/;function f(t,e){t.splice(e,1)}function m(t,e){var i=t.indexOf(e);return i>=0&&(f(t,i),!0)}a.formatStr=function(){var t=arguments.length;if(0===t)return"";var e=arguments[0];if(1===t)return""+e;if("string"==typeof e&&u.test(e))for(var i=1;i<t;++i){var n=arguments[i],r="number"==typeof n?u:_;r.test(e)?e=e.replace(r,n):e+=" "+n}else for(var s=1;s<t;++s)e+=" "+arguments[s];return e},a.shiftArguments=function(){for(var t=arguments.length-1,e=new Array(t),i=0;i<t;++i)e[i]=arguments[i+1];return e},a.createMap=function(t){var e=Object.create(null);if(t){e["."]=!0,e["/"]=!0,delete e["."],delete e["/"]}return e};var d=Array.prototype.indexOf;function p(t,e){void 0===e&&(e=t,t=null),this.get=null,this.count=0,this._pool=new Array(e),this._cleanup=t}a.array={remove:m,fastRemove:function(t,e){var i=t.indexOf(e);i>=0&&(t[i]=t[t.length-1],--t.length)},removeAt:f,fastRemoveAt:function(t,e){var i=t.length;e<0||e>=i||(t[e]=t[i-1],t.length=i-1)},contains:function(t,e){return t.indexOf(e)>=0},verifyType:function(t,e){if(t&&t.length>0)for(var i=0;i<t.length;i++)if(!(t[i]instanceof e))return cc.logID(1300),!1;return!0},removeArray:function(t,e){for(var i=0,n=e.length;i<n;i++)m(t,e[i])},appendObjectsAt:function(t,e,i){return t.splice.apply(t,[i,0].concat(e)),t},copy:function(t){var e,i=t.length,n=new Array(i);for(e=0;e<i;e+=1)n[e]=t[e];return n},indexOf:d,MutableForwardIterator:t("../utils/mutable-forward-iterator")},p.prototype._get=function(){if(this.count>0){--this.count;var t=this._pool[this.count];return this._pool[this.count]=null,t}return null},p.prototype.put=function(t){var e=this._pool;if(this.count<e.length){if(this._cleanup&&!1===this._cleanup(t))return;e[this.count]=t,++this.count}},p.prototype.resize=function(t){t>=0&&(this._pool.length=t,this.count>t&&(this.count=t))},a.Pool=p,cc.js=a,e.exports=a}),{"../utils/mutable-forward-iterator":243,"./id-generater":176}],181:[(function(t,e,i){var n=t("./js"),r={url:{canUsedInGet:!0},default:{},serializable:{},editorOnly:{},formerlySerializedAs:{}};function s(t,e,i,n){if(!t.get&&!t.set)if(t.hasOwnProperty("default")){var s="_N$"+e;t.get=function(){return this[s]},t.set=function(t){var e=this[s];this[s]=t,i.call(this,e)};var a={};n[s]=a;for(var o in r){var h=r[o];t.hasOwnProperty(o)&&(a[o]=t[o],h.canUsedInGet||delete t[o])}}else 0}function a(t,e,i,n){Array.isArray(n)&&n.length>0&&(n=n[0]),t.type=n}function o(t,e,i,n){if(Array.isArray(e)){if(!(e.length>0))return cc.errorID(5508,i,n);if(cc.RawAsset.isRawAssetType(e[0]))return t.url=e[0],void delete t.type;t.type=e=e[0]}}i.getFullFormOfProperty=function(t,e,i){if(!(t&&t.constructor===Object)){if(Array.isArray(t)&&t.length>0){var r=t[0];return{default:[],type:t,_short:!0}}if("function"==typeof t){r=t;return cc.RawAsset.isRawAssetType(r)||cc.RawAsset.wasRawAssetType(r)?{default:"",url:r,_short:!0}:{default:n.isChildClassOf(r,cc.ValueType)?new r:null,type:r,_short:!0}}return{default:t,_short:!0}}return null},i.preprocessAttrs=function(t,e,n,r){for(var h in t){var l=t[h],c=i.getFullFormOfProperty(l,h,e);if(c&&(l=t[h]=c),l){var u=l.notify;u&&s(l,h,u,t),"type"in l&&o(l,l.type,e,h),"url"in l&&a(l,0,0,l.url),"type"in l&&l.type}}},i.validateMethodWithProps=function(t,e,i,n,r){return"function"==typeof t||null===t}}),{"./CCClass":160,"./js":180}],182:[(function(t,e,i){var n=[];cc._RF={push:function(t,e,i){void 0===i&&(i=e,e=""),n.push({uuid:e,script:i,module:t,exports:t.exports,beh:null})},pop:function(){var t=n.pop(),e=t.module,i=e.exports;if(i===t.exports){for(var r in i)return;e.exports=i=t.cls}},peek:function(){return n[n.length-1]}}}),{}],183:[(function(t,e,i){cc.url={_rawAssets:"",normalize:function(t){return t&&(46===t.charCodeAt(0)&&47===t.charCodeAt(1)?t=t.slice(2):47===t.charCodeAt(0)&&(t=t.slice(1))),t},raw:function(t){if((t=this.normalize(t)).startsWith("resources/")){var e=cc.loader._getResUuid(t.slice(10),cc.Asset,!0);if(e)return cc.AssetLibrary.getLibUrlNoExt(e,!0)+cc.path.extname(t)}else cc.errorID(7002,t);return this._rawAssets+t},_init:function(t){this._rawAssets=cc.path.stripSep(t)+"/"}},e.exports=cc.url}),{}],184:[(function(t,e,i){t("./js");e.exports={contains:function(t,e){if("function"==typeof t.contains)return t.contains(e);if("function"==typeof t.compareDocumentPosition)return!!(16&t.compareDocumentPosition(e));var i=e.parentNode;if(i)do{if(i===t)return!0;i=i.parentNode}while(null!==i);return!1},isDomNode:"object"==typeof window&&("function"==typeof Node?function(t){return t instanceof Node}:function(t){return t&&"object"==typeof t&&"number"==typeof t.nodeType&&"string"==typeof t.nodeName}),callInNextTick:function(t,e,i){t&&setTimeout((function(){t(e,i)}),0)}}}),{"./js":180}],185:[(function(t,e,i){t("./platform/js"),t("./value-types"),t("./utils"),t("./platform/CCInputManager"),t("./platform/CCInputExtension"),t("./event"),t("./platform/CCSys"),t("./platform/CCMacro"),t("./load-pipeline"),t("./CCDirector"),t("./renderer"),t("./platform/CCView"),t("./platform/CCScreen"),t("./CCScheduler"),t("./event-manager")}),{"./CCDirector":27,"./CCScheduler":32,"./event":104,"./event-manager":100,"./load-pipeline":119,"./platform/CCInputExtension":163,"./platform/CCInputManager":164,"./platform/CCMacro":165,"./platform/CCScreen":168,"./platform/CCSys":169,"./platform/CCView":170,"./platform/js":180,"./renderer":201,"./utils":240,"./value-types":252}],186:[(function(t,e,i){var n=function(){};n.prototype={constructor:n,_reset:function(){},render:function(){}},e.exports=n}),{}],187:[(function(t,e,i){e.exports={ForwardRenderer:t("./forward-renderer"),RenderComponentHandle:t("./render-component-handle"),_renderers:t("./renderers")}}),{"./forward-renderer":186,"./render-component-handle":188,"./renderers":191}],188:[(function(t,e,i){t("./renderers");var n=function(t,e){this._device=t,this._camera=e,this.parentOpacity=1,this.parentOpacityDirty=0,this.worldMatDirty=0,this.walking=!1};n.prototype={constructor:n,reset:function(){var t=this._device._ctx,e=this._device._canvas,i=cc.Camera.main?cc.Camera.main.backgroundColor:cc.color(),n="rgba("+i.r+", "+i.g+", "+i.b+", "+i.a/255+")";t.fillStyle=n,t.setTransform(1,0,0,1,0,0),t.clearRect(0,0,e.width,e.height),t.fillRect(0,0,e.width,e.height),this._device._stats.drawcalls=0},terminate:function(){this.walking=!1},_commitComp:function(t,e){var i=this._device._ctx,n=this._camera;i.setTransform(n.a,n.b,n.c,n.d,n.tx,n.ty),i.scale(1,-1),e.draw(i,t)}},e.exports=n}),{"./renderers":191}],189:[(function(t,e,i){var n=t("../../../../graphics/helper"),r=t("../../../../graphics/types"),s=t("../../../../platform/js"),a=(r.PointFlags,r.LineJoin),o=r.LineCap;function h(){this.cmds=[],this.style={strokeStyle:"black",fillStyle:"white",lineCap:"butt",lineJoin:"miter",miterLimit:10}}var l=h.prototype;s.mixin(l,{moveTo:function(t,e){this.cmds.push(["moveTo",[t,e]])},lineTo:function(t,e){this.cmds.push(["lineTo",[t,e]])},bezierCurveTo:function(t,e,i,n,r,s){this.cmds.push(["bezierCurveTo",[t,e,i,n,r,s]])},quadraticCurveTo:function(t,e,i,n){this.cmds.push(["quadraticCurveTo",[t,e,i,n]])},arc:function(t,e,i,r,s,a){n.arc(this,t,e,i,r,s,a)},ellipse:function(t,e,i,r){n.ellipse(this,t,e,i,r)},circle:function(t,e,i){n.ellipse(this,t,e,i,i)},rect:function(t,e,i,n){this.moveTo(t,e),this.lineTo(t,e+n),this.lineTo(t+i,e+n),this.lineTo(t+i,e),this.close()},roundRect:function(t,e,i,r,s){n.roundRect(this,t,e,i,r,s)},clear:function(t,e){this.cmds.length=0},close:function(){this.cmds.push(["closePath",[]])},stroke:function(){this.cmds.push(["stroke",[]])},fill:function(){this.cmds.push(["fill",[]])}}),s.set(l,"strokeColor",(function(t){var e="rgba("+(0|t.r)+","+(0|t.g)+","+(0|t.b)+","+t.a/255+")";this.cmds.push(["strokeStyle",e]),this.style.strokeStyle=e})),s.set(l,"fillColor",(function(t){var e="rgba("+(0|t.r)+","+(0|t.g)+","+(0|t.b)+","+t.a/255+")";this.cmds.push(["fillStyle",e]),this.style.fillStyle=e})),s.set(l,"lineWidth",(function(t){this.cmds.push(["lineWidth",t]),this.style.lineWidth=t})),s.set(l,"lineCap",(function(t){var e="butt";t===o.BUTT?e="butt":t===o.ROUND?e="round":t===o.SQUARE&&(e="square"),this.cmds.push(["lineCap",e]),this.style.lineCap=e})),s.set(l,"lineJoin",(function(t){var e="bevel";t===a.BEVEL?e="bevel":t===a.ROUND?e="round":t===a.MITER&&(e="miter"),this.cmds.push(["lineJoin",e]),this.style.lineJoin=e})),s.set(l,"miterLimit",(function(t){this.cmds.push(["miterLimit",t]),this.style.miterLimit=t})),e.exports=h}),{"../../../../graphics/helper":107,"../../../../graphics/types":109,"../../../../platform/js":180}],190:[(function(t,e,i){var n=t("./impl");e.exports={createImpl:function(){return new n},draw:function(t,e){var i=e.node,n=i._worldMatrix,r=n.m00,s=n.m01,a=n.m04,o=n.m05,h=n.m12,l=n.m13;t.transform(r,s,a,o,h,l),t.save(),t.globalAlpha=i.opacity/255;var c=e._impl.style;t.strokeStyle=c.strokeStyle,t.fillStyle=c.fillStyle,t.lineWidth=c.lineWidth,t.lineJoin=c.lineJoin,t.miterLimit=c.miterLimit;for(var u=!0,_=e._impl.cmds,f=0,m=_.length;f<m;f++){var d=_[f],p=d[0],y=d[1];"moveTo"===p&&u?(t.beginPath(),u=!1):"fill"!==p&&"stroke"!==p&&"fillRect"!==p||(u=!0),"function"==typeof t[p]?t[p].apply(t,y):t[p]=y}return t.restore(),1},stroke:function(t){t._impl.stroke()},fill:function(t){t._impl.fill()}}}),{"./impl":189}],191:[(function(t,e,i){var n=t("../../../platform/js"),r=t("../../../components/CCSprite"),s=t("../../../components/CCLabel"),a=t("../../../components/CCMask"),o=t("../../../graphics/graphics"),h=t("./sprite"),l=t("./label"),c=t("./graphics"),u=t("./mask"),_={},f={};function m(t,e,i){var r=n.getClassName(t);_[r]=e,i&&(f[r]=i),t._assembler=e,t._postAssembler=i}m(r,h),m(s,l),a&&m(a,u.beforeHandler,u.afterHandler),o&&m(o,c),e.exports={map:_,postMap:f,addRenderer:m}}),{"../../../components/CCLabel":69,"../../../components/CCMask":72,"../../../components/CCSprite":82,"../../../graphics/graphics":106,"../../../platform/js":180,"./graphics":190,"./label":193,"./mask":195,"./sprite":196}],192:[(function(t,e,i){var n=t("../../../utils/label/bmfont"),r=t("../../../../platform/js"),s=t("../utils");e.exports=r.addon({createData:function(t){return t.requestRenderData()},appendQuad:function(t,e,i,n,r,s,a){var o=t.dataLength;t.dataLength+=2;var h=t._data,l=(e.width,e.height,i.width),c=i.height,u=void 0,_=void 0,f=void 0,m=void 0;n?(u=i.x,f=i.x+c,_=i.y,m=i.y+l,h[o].u=u,h[o].v=m,h[o+1].u=u,h[o+1].v=_):(u=i.x,f=i.x+l,_=i.y,m=i.y+c,h[o].u=u,h[o].v=_,h[o+1].u=f,h[o+1].v=m),h[o].x=r,h[o].y=s-c*a,h[o+1].x=r+l*a,h[o+1].y=s},draw:function(t,e){var i=e.node,n=i._worldMatrix,r=n.m00,a=n.m01,o=n.m04,h=n.m05,l=n.m12,c=n.m13;t.transform(r,a,o,h,l,c),t.scale(1,-1),t.globalAlpha=i.opacity/255;for(var u=e._frame._texture,_=e._renderData._data,f=s.getColorizedImage(u,i._color),m=0,d=_.length;m<d;m+=2){var p=_[m].x,y=_[m].y,v=_[m+1].x-p,g=_[m+1].y-y;y=-y-g;var x=_[m].u,A=_[m].v,b=_[m+1].u-x,C=_[m+1].v-A;t.drawImage(f,x,A,b,C,p,y,v,g)}return 1}},n)}),{"../../../../platform/js":180,"../../../utils/label/bmfont":206,"../utils":200}],193:[(function(t,e,i){var n=t("../../../../components/CCLabel"),r=t("./ttf"),s=t("./bmfont"),a={pool:[],get:function(){var t=this.pool.pop();if(!t){var e=document.createElement("canvas");t={canvas:e,context:e.getContext("2d")}}return t},put:function(t){this.pool.length>=32||this.pool.push(t)}};n._canvasPool=a,e.exports={getAssembler:function(t){var e=r;return t.font instanceof cc.BitmapFont&&(e=s),e},createData:function(t){return t._assembler.createData(t)},draw:function(t,e){if(!e._texture)return 0;var i=e._assembler;return i?(i.updateRenderData(e),i.draw(t,e)):0}}}),{"../../../../components/CCLabel":69,"./bmfont":192,"./ttf":194}],194:[(function(t,e,i){var n=t("../../../utils/label/ttf"),r=t("../../../../platform/js"),s=t("../utils");e.exports=r.addon({createData:function(t){var e=t.requestRenderData();return e.dataLength=2,e},_updateVerts:function(t){var e=t._renderData,i=t.node,n=i.width,r=i.height,s=i.anchorX*n,a=i.anchorY*r,o=e._data;o[0].x=-s,o[0].y=-a,o[1].x=n-s,o[1].y=r-a},_updateTexture:function(t){n._updateTexture(t);var e=t._frame._texture;s.dropColorizedImage(e,t.node.color)},draw:function(t,e){var i=e.node,n=i._worldMatrix,r=n.m00,s=n.m01,a=n.m04,o=n.m05,h=n.m12,l=n.m13;t.transform(r,s,a,o,h,l),t.scale(1,-1),t.globalAlpha=i.opacity/255;var c=e._frame._texture,u=e._renderData._data,_=c.getHtmlElementObj(),f=u[0].x,m=u[0].y,d=u[1].x-f,p=u[1].y-m;return m=-m-p,t.drawImage(_,f,m,d,p),1}},n)}),{"../../../../platform/js":180,"../../../utils/label/ttf":209,"../utils":200}],195:[(function(t,e,i){t("../../../components/CCMask");var n=t("./graphics"),r={updateRenderData:function(t){},draw:function(t,e){t.save(),n.draw(t,e._graphics),t.clip()}};e.exports={beforeHandler:r,afterHandler:{updateRenderData:function(t){},draw:function(t,e){t.restore()}}}}),{"../../../components/CCMask":72,"./graphics":190}],196:[(function(t,e,i){var n=t("../../../../components/CCSprite"),r=n.Type,s=n.FillType,a=t("./simple"),o=t("./sliced"),h=t("./tiled");e.exports={getAssembler:function(t){switch(t.type){case r.SIMPLE:return a;case r.SLICED:return o;case r.TILED:return h;case r.FILLED:return t._fillType,s.RADIAL,null}},createData:function(t){return t._assembler.createData(t)}}}),{"../../../../components/CCSprite":82,"../../../webgl/assemblers/sprite/index.js":221,"./simple":197,"./sliced":198,"./tiled":199}],197:[(function(t,e,i){var n=t("../utils"),r={createData:function(t){var e=t.requestRenderData();return e.dataLength=2,e},updateRenderData:function(t){t._material||t._activateMaterial();var e=t._renderData;e.uvDirty&&this.updateUVs(t),e.vertDirty&&this.updateVerts(t)},updateUVs:function(t){var e=t.spriteFrame,i=t._renderData,n=i._data,r=e._rect;e._texture;if(e._rotated){var s=r.x,a=r.height,o=r.y,h=r.width;n[0].u=s,n[0].v=h,n[1].u=a,n[1].v=o}else{var l=r.x,c=r.width,u=r.y,_=r.height;n[0].u=l,n[0].v=u,n[1].u=c,n[1].v=_}i.uvDirty=!1},updateVerts:function(t){var e=t._renderData,i=t.node,n=e._data,r=i.width,s=i.height,a=i.anchorX*r,o=i.anchorY*s,h=void 0,l=void 0,c=void 0,u=void 0;if(t.trim)h=-a,l=-o,c=r,u=s;else{var _=t.spriteFrame,f=_._originalSize.width,m=_._originalSize.height,d=_._rect.width,p=_._rect.height,y=_._offset,v=r/f,g=s/m,x=y.x+(f-d)/2,A=(y.x,y.y+(m-p)/2);y.y;h=x*v-a,l=A*g-o,c=r,u=s}n[0].x=h,n[0].y=l,n[1].x=c,n[1].y=u,e.vertDirty=!1},draw:function(t,e){var i=e.node,r=i._worldMatrix,s=r.m00,a=r.m01,o=r.m04,h=r.m05,l=r.m12,c=r.m13;t.transform(s,a,o,h,l,c),t.scale(1,-1),t.globalAlpha=i.opacity/255;var u=e._spriteFrame._texture,_=e._renderData._data,f=n.getColorizedImage(u,i._color),m=_[0].x,d=_[0].y,p=_[1].x,y=_[1].y;d=-d-y;var v=_[0].u,g=_[0].v,x=_[1].u,A=_[1].v;return t.drawImage(f,v,g,x,A,m,d,p,y),1}};e.exports=r}),{"../utils":200}],198:[(function(t,e,i){var n=t("../utils"),r={createData:function(t){var e=t.requestRenderData();return e.dataLength=4,e},updateRenderData:t("./simple").updateRenderData,updateUVs:function(t){var e=t.spriteFrame,i=t._renderData,n=e._rect,r=(e._texture,e.insetLeft),s=e.insetRight,a=n.width-r-s,o=e.insetTop,h=e.insetBottom,l=n.height-o-h,c=i._data;e._rotated?(c[0].u=n.x,c[1].u=h+n.x,c[2].u=h+l+n.x,c[3].u=n.x+n.height,c[3].v=n.y,c[2].v=r+n.y,c[1].v=r+a+n.y,c[0].v=n.y+n.width):(c[0].u=n.x,c[1].u=r+n.x,c[2].u=r+a+n.x,c[3].u=n.x+n.width,c[3].v=n.y,c[2].v=o+n.y,c[1].v=o+l+n.y,c[0].v=n.y+n.height),i.uvDirty=!1},updateVerts:function(t){var e=t._renderData,i=e._data,n=t.node,r=n.width,s=n.height,a=n.anchorX*r,o=n.anchorY*s,h=t.spriteFrame,l=(h._rect,h.insetLeft),c=h.insetRight,u=h.insetTop,_=h.insetBottom,f=r-l-c,m=s-u-_,d=r/(l+c),p=s/(u+_);d=isNaN(d)||d>1?1:d,p=isNaN(p)||p>1?1:p,f=f<0?0:f,m=m<0?0:m,i[0].x=-a,i[0].y=-o,i[1].x=l*d-a,i[1].y=_*p-o,i[2].x=i[1].x+f,i[2].y=i[1].y+m,i[3].x=r-a,i[3].y=s-o,e.vertDirty=!1},draw:function(t,e){var i=e.node,r=i._worldMatrix,s=r.m00,a=r.m01,o=r.m04,h=r.m05,l=r.m12,c=r.m13;t.transform(s,a,o,h,l,c),t.scale(1,-1),t.globalAlpha=i.opacity/255;for(var u=e._spriteFrame._texture,_=e._renderData._data,f=n.getColorizedImage(u,i._color),m=0,d=void 0,p=void 0,y=void 0,v=void 0,g=void 0,x=void 0,A=void 0,b=void 0,C=void 0,S=void 0,T=void 0,w=void 0,E=0;E<3;++E){v=_[E],y=_[E+1];for(var D=0;D<3;++D)d=_[D],p=_[D+1],g=d.x,x=v.y,A=p.x-g,x=-x-(b=y.y-x),C=d.u,S=y.v,T=p.u-C,w=v.v-S,T>0&&w>0&&A>0&&b>0&&(t.drawImage(f,C,S,T,w,g,x,A,b),m++)}return m}};e.exports=r}),{"../utils":200,"./simple":197}],199:[(function(t,e,i){var n=t("../utils"),r=(t("./simple"),{createData:function(t){return t.requestRenderData()},updateRenderData:function(t){t._material||t._activateMaterial()},draw:function(t,e){var i=e.node,r=i._worldMatrix,s=r.m00,a=r.m01,o=r.m04,h=r.m05,l=r.m12,c=r.m13;t.transform(s,a,o,h,l,c),t.scale(1,-1),t.globalAlpha=i.opacity/255;var u=e.spriteFrame,_=u._rect,f=u._texture,m=_.x,d=_.y,p=u._rotated?_.height:_.width,y=u._rotated?_.width:_.height,v=n.getFrameCache(f,i._color,m,d,p,y),g=i.width,x=i.height,A=-i.anchorX*g,b=-i.anchorY*x;return b=-b-x,t.translate(A,b),t.fillStyle=t.createPattern(v,"repeat"),t.fillRect(0,0,g,x),1}});e.exports=r}),{"../utils":200,"./simple":197}],200:[(function(t,e,i){function n(t,e,i,n,r,s,a){var o=e._image,h=t.getContext("2d");return t.width=s,t.height=a,h.globalCompositeOperation="source-over",h.fillStyle="rgb("+i.r+","+i.g+","+i.b+")",h.fillRect(0,0,s,a),h.globalCompositeOperation="multiply",h.drawImage(o,n,r,s,a,0,0,s,a),h.globalCompositeOperation="destination-atop",h.drawImage(o,n,r,s,a,0,0,s,a),t}var r={canvasMap:{},canvasUsed:{},canvasPool:[],checking:!1,check:function(){var t=!1;for(var e in this.canvasUsed)if(t=!0,this.canvasUsed[e])this.canvasUsed[e]=!1;else{var i=this.canvasMap[e];i.width=0,i.height=0,this.canvasPool.length<32&&this.canvasPool.push(i),delete this.canvasMap[e],delete this.canvasUsed[e]}t||(cc.director.off(cc.Director.EVENT_AFTER_DRAW,this.check,this),this.checking=!1)},startCheck:function(){cc.director.on(cc.Director.EVENT_AFTER_DRAW,this.check,this),this.checking=!0},getCanvas:function(t){return this.canvasUsed[t]=!0,this.canvasMap[t]},cacheCanvas:function(t,e){this.canvasMap[e]=t,this.canvasUsed[e]=!0,this.checking||this.startCheck()},dropImage:function(t){this.canvasMap[t]&&delete this.canvasMap[t]}};e.exports={getColorizedImage:function(t,e){if(!t)return null;if(0===t.width||0===t.height)return t._image;var i=16777215&e._val;if(16777215===i)return t._image;var s=t.url+i,a=r.getCanvas(s);return a||(n(a=r.canvasPool.pop()||document.createElement("canvas"),t,e,0,0,t.width,t.height),r.cacheCanvas(a,s)),a},getFrameCache:function(t,e,i,s,a,o){if(!t||!t.url||i<0||s<0||a<=0||o<=0)return null;var h=t.url,l=!1,c=16777215&e._val;if(16777215!==c&&(h+=c,l=!0),(0!==i||0!==s&&a!==t.width&&o!==t.height)&&(h+="_"+i+"_"+s+"_"+a+"_"+o,l=!0),!l)return t._image;var u=r.getCanvas(h);return u||(n(u=r.canvasPool.pop()||document.createElement("canvas"),t,e,i,s,a,o),r.cacheCanvas(u,h)),u},dropColorizedImage:function(t,e){var i=t.url+(16777215&e._val);r.dropImage(i)}}}),{}],201:[(function(t,e,i){var n=t("./render-engine"),r=t("./render-flow");cc.vmath.vec3.create();cc.renderer=e.exports={renderEngine:n,Texture2D:null,canvas:null,device:null,scene:null,drawCalls:0,_handle:null,_cameraNode:null,_camera:null,_forward:null,initWebGL:function(e,i){t("./webgl/assemblers");var s=t("./webgl/model-batcher");this.Texture2D=n.Texture2D,this.canvas=e,this.device=new n.Device(e,i),this.scene=new n.Scene,this._handle=new s(this.device,this.scene),r.init(this._handle);var a=(function(t){return{defaultTexture:new n.Texture2D(t,{images:[],width:128,height:128,wrapS:n.gfx.WRAP_REPEAT,wrapT:n.gfx.WRAP_REPEAT,format:n.gfx.TEXTURE_FMT_RGB8,mipmap:!1}),programTemplates:n.shaders.templates,programChunks:n.shaders.chunks}})(this.device);this._forward=new n.ForwardRenderer(this.device,a)},initCanvas:function(e){var i=t("./canvas");n.Texture2D=n.canvas.Texture2D,n.Device=n.canvas.Device,this.Texture2D=n.Texture2D,this.canvas=e,this.device=new n.Device(e),this._camera={a:1,b:0,c:0,d:1,tx:0,ty:0},this._handle=new i.RenderComponentHandle(this.device,this._camera),r.init(this._handle),this._forward=new i.ForwardRenderer},updateCameraViewport:function(){if(cc.director){var t=cc.director.getScene();t.scaleX=t.scaleY=1}if(cc.game.renderType===cc.game.RENDER_TYPE_CANVAS){var e=cc.view.getViewportRect();this.device.setViewport(e.x,e.y,e.width,e.height),this._camera.a=cc.view.getScaleX(),this._camera.d=cc.view.getScaleY(),this._camera.tx=e.x,this._camera.ty=e.y+e.height}else{}},render:function(t){this.device._stats.drawcalls=0,t&&(r.visit(t),this._forward.render(this.scene),this.drawCalls=this.device._stats.drawcalls)},clear:function(){this._handle.reset(),this._forward._reset()}}}),{"./canvas":187,"./render-engine":202,"./render-flow":203,"./webgl/assemblers":213,"./webgl/model-batcher":228}],202:[(function(t,e,i){"use strict";var n=Math.PI/180,r=180/Math.PI,s=1e-6;function a(t){return t*n}var o=Math.random;function h(t,e){return Math.random()*(e-t)+t}var l=32,c=-1<<l-1;function u(t){var e=32;return(t&=-t)&&e--,65535&t&&(e-=16),16711935&t&&(e-=8),252645135&t&&(e-=4),858993459&t&&(e-=2),1431655765&t&&(e-=1),e}var _=new Array(256);(function(t){for(var e=0;e<256;++e){var i=e,n=e,r=7;for(i>>>=1;i;i>>>=1)n<<=1,n|=1&i,--r;t[e]=n<<r&255}})(_);var f=Object.freeze({INT_BITS:l,INT_MAX:2147483647,INT_MIN:c,sign:function(t){return(t>0)-(t<0)},abs:function(t){var e=t>>l-1;return(t^e)-e},min:function(t,e){return e^(t^e)&-(t<e)},max:function(t,e){return t^(t^e)&-(t<e)},isPow2:function(t){return!(t&t-1||!t)},log2:function(t){var e,i;return e=(t>65535)<<4,e|=i=((t>>>=e)>255)<<3,e|=i=((t>>>=i)>15)<<2,(e|=i=((t>>>=i)>3)<<1)|(t>>>=i)>>1},log10:function(t){return t>=1e9?9:t>=1e8?8:t>=1e7?7:t>=1e6?6:t>=1e5?5:t>=1e4?4:t>=1e3?3:t>=100?2:t>=10?1:0},popCount:function(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24},countTrailingZeros:u,nextPow2:function(t){return t+=0===t,--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)},prevPow2:function(t){return t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,(t|=t>>>16)-(t>>>1)},parity:function(t){return t^=t>>>16,t^=t>>>8,t^=t>>>4,27030>>>(t&=15)&1},reverse:function(t){return _[255&t]<<24|_[t>>>8&255]<<16|_[t>>>16&255]<<8|_[t>>>24&255]},interleave2:function(t,e){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t&=65535)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e&=65535)|e<<8))|e<<4))|e<<2))|e<<1))<<1},deinterleave2:function(t,e){return(t=65535&((t=16711935&((t=252645135&((t=858993459&((t=t>>>e&1431655765)|t>>>1))|t>>>2))|t>>>4))|t>>>16))<<16>>16},interleave3:function(t,e,i){return t=1227133513&((t=3272356035&((t=251719695&((t=4278190335&((t&=1023)|t<<16))|t<<8))|t<<4))|t<<2),(t|=(e=1227133513&((e=3272356035&((e=251719695&((e=4278190335&((e&=1023)|e<<16))|e<<8))|e<<4))|e<<2))<<1)|(i=1227133513&((i=3272356035&((i=251719695&((i=4278190335&((i&=1023)|i<<16))|i<<8))|i<<4))|i<<2))<<2},deinterleave3:function(t,e){return(t=1023&((t=4278190335&((t=251719695&((t=3272356035&((t=t>>>e&1227133513)|t>>>2))|t>>>4))|t>>>8))|t>>>16))<<22>>22},nextCombination:function(t){var e=t|t-1;return e+1|(~e&-~e)-1>>>u(t)+1}}),m=new Array(2),d=function(t,e){this.x=t,this.y=e};d.prototype.toJSON=function(){return m[0]=this.x,m[1]=this.y,m};var p={create:function(){return new d(0,0)},new:function(t,e){return new d(t,e)},clone:function(t){return new d(t.x,t.y)},copy:function(t,e){return t.x=e.x,t.y=e.y,t},set:function(t,e,i){return t.x=e,t.y=i,t},add:function(t,e,i){return t.x=e.x+i.x,t.y=e.y+i.y,t},subtract:function(t,e,i){return t.x=e.x-i.x,t.y=e.y-i.y,t}};p.sub=p.subtract,p.multiply=function(t,e,i){return t.x=e.x*i.x,t.y=e.y*i.y,t},p.mul=p.multiply,p.divide=function(t,e,i){return t.x=e.x/i.x,t.y=e.y/i.y,t},p.div=p.divide,p.ceil=function(t,e){return t.x=Math.ceil(e.x),t.y=Math.ceil(e.y),t},p.floor=function(t,e){return t.x=Math.floor(e.x),t.y=Math.floor(e.y),t},p.min=function(t,e,i){return t.x=Math.min(e.x,i.x),t.y=Math.min(e.y,i.y),t},p.max=function(t,e,i){return t.x=Math.max(e.x,i.x),t.y=Math.max(e.y,i.y),t},p.round=function(t,e){return t.x=Math.round(e.x),t.y=Math.round(e.y),t},p.scale=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t},p.scaleAndAdd=function(t,e,i,n){return t.x=e.x+i.x*n,t.y=e.y+i.y*n,t},p.distance=function(t,e){var i=e.x-t.x,n=e.y-t.y;return Math.sqrt(i*i+n*n)},p.dist=p.distance,p.squaredDistance=function(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n},p.sqrDist=p.squaredDistance,p.length=function(t){var e=t.x,i=t.y;return Math.sqrt(e*e+i*i)},p.len=p.length,p.squaredLength=function(t){var e=t.x,i=t.y;return e*e+i*i},p.sqrLen=p.squaredLength,p.negate=function(t,e){return t.x=-e.x,t.y=-e.y,t},p.inverse=function(t,e){return t.x=1/e.x,t.y=1/e.y,t},p.inverseSafe=function(t,e){var i=e.x,n=e.y;return Math.abs(i)<s?t.x=0:t.x=1/i,Math.abs(n)<s?t.y=0:t.y=1/e.y,t},p.normalize=function(t,e){var i=e.x,n=e.y,r=i*i+n*n;return r>0&&(r=1/Math.sqrt(r),t.x=e.x*r,t.y=e.y*r),t},p.dot=function(t,e){return t.x*e.x+t.y*e.y},p.cross=function(t,e,i){var n=e.x*i.y-e.y*i.x;return t.x=t.y=0,t.z=n,t},p.lerp=function(t,e,i,n){var r=e.x,s=e.y;return t.x=r+n*(i.x-r),t.y=s+n*(i.y-s),t},p.random=function(t,e){e=e||1;var i=2*o()*Math.PI;return t.x=Math.cos(i)*e,t.y=Math.sin(i)*e,t},p.transformMat2=function(t,e,i){var n=e.x,r=e.y;return t.x=i.m00*n+i.m02*r,t.y=i.m01*n+i.m03*r,t},p.transformMat23=function(t,e,i){var n=e.x,r=e.y;return t.x=i.m00*n+i.m02*r+i.m04,t.y=i.m01*n+i.m03*r+i.m05,t},p.transformMat3=function(t,e,i){var n=e.x,r=e.y;return t.x=i.m00*n+i.m03*r+i.m06,t.y=i.m01*n+i.m04*r+i.m07,t},p.transformMat4=function(t,e,i){var n=e.x,r=e.y;return t.x=i.m00*n+i.m04*r+i.m12,t.y=i.m01*n+i.m05*r+i.m13,t},p.forEach=(function(){var t=p.create();return function(e,i,n,r,s,a){var o,h;for(i||(i=2),n||(n=0),h=r?Math.min(r*i+n,e.length):e.length,o=n;o<h;o+=i)t.x=e[o],t.y=e[o+1],s(t,t,a),e[o]=t.x,e[o+1]=t.y;return e}})(),p.str=function(t){return"vec2("+t.x+", "+t.y+")"},p.array=function(t,e){return t[0]=e.x,t[1]=e.y,t},p.exactEquals=function(t,e){return t.x===e.x&&t.y===e.y},p.equals=function(t,e){var i=t.x,n=t.y,r=e.x,a=e.y;return Math.abs(i-r)<=s*Math.max(1,Math.abs(i),Math.abs(r))&&Math.abs(n-a)<=s*Math.max(1,Math.abs(n),Math.abs(a))};var y=new Array(3),v=function(t,e,i){this.x=t,this.y=e,this.z=i};v.prototype.toJSON=function(){return y[0]=this.x,y[1]=this.y,y[2]=this.z,y};var g={create:function(){return new v(0,0,0)},new:function(t,e,i){return new v(t,e,i)},clone:function(t){return new v(t.x,t.y,t.z)},copy:function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t},set:function(t,e,i,n){return t.x=e,t.y=i,t.z=n,t},add:function(t,e,i){return t.x=e.x+i.x,t.y=e.y+i.y,t.z=e.z+i.z,t},subtract:function(t,e,i){return t.x=e.x-i.x,t.y=e.y-i.y,t.z=e.z-i.z,t}};g.sub=g.subtract,g.multiply=function(t,e,i){return t.x=e.x*i.x,t.y=e.y*i.y,t.z=e.z*i.z,t},g.mul=g.multiply,g.divide=function(t,e,i){return t.x=e.x/i.x,t.y=e.y/i.y,t.z=e.z/i.z,t},g.div=g.divide,g.ceil=function(t,e){return t.x=Math.ceil(e.x),t.y=Math.ceil(e.y),t.z=Math.ceil(e.z),t},g.floor=function(t,e){return t.x=Math.floor(e.x),t.y=Math.floor(e.y),t.z=Math.floor(e.z),t},g.min=function(t,e,i){return t.x=Math.min(e.x,i.x),t.y=Math.min(e.y,i.y),t.z=Math.min(e.z,i.z),t},g.max=function(t,e,i){return t.x=Math.max(e.x,i.x),t.y=Math.max(e.y,i.y),t.z=Math.max(e.z,i.z),t},g.round=function(t,e){return t.x=Math.round(e.x),t.y=Math.round(e.y),t.z=Math.round(e.z),t},g.scale=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t},g.scaleAndAdd=function(t,e,i,n){return t.x=e.x+i.x*n,t.y=e.y+i.y*n,t.z=e.z+i.z*n,t},g.distance=function(t,e){var i=e.x-t.x,n=e.y-t.y,r=e.z-t.z;return Math.sqrt(i*i+n*n+r*r)},g.dist=g.distance,g.squaredDistance=function(t,e){var i=e.x-t.x,n=e.y-t.y,r=e.z-t.z;return i*i+n*n+r*r},g.sqrDist=g.squaredDistance,g.length=function(t){var e=t.x,i=t.y,n=t.z;return Math.sqrt(e*e+i*i+n*n)},g.len=g.length,g.squaredLength=function(t){var e=t.x,i=t.y,n=t.z;return e*e+i*i+n*n},g.sqrLen=g.squaredLength,g.negate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t},g.inverse=function(t,e){return t.x=1/e.x,t.y=1/e.y,t.z=1/e.z,t},g.inverseSafe=function(t,e){var i=e.x,n=e.y,r=e.z;return Math.abs(i)<s?t.x=0:t.x=1/i,Math.abs(n)<s?t.y=0:t.y=1/n,Math.abs(r)<s?t.z=0:t.z=1/r,t},g.normalize=function(t,e){var i=e.x,n=e.y,r=e.z,s=i*i+n*n+r*r;return s>0&&(s=1/Math.sqrt(s),t.x=i*s,t.y=n*s,t.z=r*s),t},g.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},g.cross=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=i.x,o=i.y,h=i.z;return t.x=r*h-s*o,t.y=s*a-n*h,t.z=n*o-r*a,t},g.lerp=function(t,e,i,n){var r=e.x,s=e.y,a=e.z;return t.x=r+n*(i.x-r),t.y=s+n*(i.y-s),t.z=a+n*(i.z-a),t},g.hermite=function(t,e,i,n,r,s){var a=s*s,o=a*(2*s-3)+1,h=a*(s-2)+s,l=a*(s-1),c=a*(3-2*s);return t.x=e.x*o+i.x*h+n.x*l+r.x*c,t.y=e.y*o+i.y*h+n.y*l+r.y*c,t.z=e.z*o+i.z*h+n.z*l+r.z*c,t},g.bezier=function(t,e,i,n,r,s){var a=1-s,o=a*a,h=s*s,l=o*a,c=3*s*o,u=3*h*a,_=h*s;return t.x=e.x*l+i.x*c+n.x*u+r.x*_,t.y=e.y*l+i.y*c+n.y*u+r.y*_,t.z=e.z*l+i.z*c+n.z*u+r.z*_,t},g.random=function(t,e){e=e||1;var i=2*o()*Math.PI,n=2*o()-1,r=Math.sqrt(1-n*n)*e;return t.x=Math.cos(i)*r,t.y=Math.sin(i)*r,t.z=n*e,t},g.transformMat4=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=i.m03*n+i.m07*r+i.m11*s+i.m15;return a=a||1,t.x=(i.m00*n+i.m04*r+i.m08*s+i.m12)/a,t.y=(i.m01*n+i.m05*r+i.m09*s+i.m13)/a,t.z=(i.m02*n+i.m06*r+i.m10*s+i.m14)/a,t},g.transformMat3=function(t,e,i){var n=e.x,r=e.y,s=e.z;return t.x=n*i.m00+r*i.m03+s*i.m06,t.y=n*i.m01+r*i.m04+s*i.m07,t.z=n*i.m02+r*i.m05+s*i.m08,t},g.transformQuat=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=i.x,o=i.y,h=i.z,l=i.w,c=l*n+o*s-h*r,u=l*r+h*n-a*s,_=l*s+a*r-o*n,f=-a*n-o*r-h*s;return t.x=c*l+f*-a+u*-h-_*-o,t.y=u*l+f*-o+_*-a-c*-h,t.z=_*l+f*-h+c*-o-u*-a,t},g.rotateX=function(t,e,i,n){var r=[],s=[];return r.x=e.x-i.x,r.y=e.y-i.y,r.z=e.z-i.z,s.x=r.x,s.y=r.y*Math.cos(n)-r.z*Math.sin(n),s.z=r.y*Math.sin(n)+r.z*Math.cos(n),t.x=s.x+i.x,t.y=s.y+i.y,t.z=s.z+i.z,t},g.rotateY=function(t,e,i,n){var r=[],s=[];return r.x=e.x-i.x,r.y=e.y-i.y,r.z=e.z-i.z,s.x=r.z*Math.sin(n)+r.x*Math.cos(n),s.y=r.y,s.z=r.z*Math.cos(n)-r.x*Math.sin(n),t.x=s.x+i.x,t.y=s.y+i.y,t.z=s.z+i.z,t},g.rotateZ=function(t,e,i,n){var r=[],s=[];return r.x=e.x-i.x,r.y=e.y-i.y,r.z=e.z-i.z,s.x=r.x*Math.cos(n)-r.y*Math.sin(n),s.y=r.x*Math.sin(n)+r.y*Math.cos(n),s.z=r.z,t.x=s.x+i.x,t.y=s.y+i.y,t.z=s.z+i.z,t},g.forEach=(function(){var t=g.create();return function(e,i,n,r,s,a){var o,h;for(i||(i=3),n||(n=0),h=r?Math.min(r*i+n,e.length):e.length,o=n;o<h;o+=i)t.x=e[o],t.y=e[o+1],t.z=e[o+2],s(t,t,a),e[o]=t.x,e[o+1]=t.y,e[o+2]=t.z;return e}})(),g.angle=(function(){var t=g.create(),e=g.create();return function(i,n){g.copy(t,i),g.copy(e,n),g.normalize(t,t),g.normalize(e,e);var r=g.dot(t,e);return r>1?0:r<-1?Math.PI:Math.acos(r)}})(),g.str=function(t){return"vec3("+t.x+", "+t.y+", "+t.z+")"},g.array=function(t,e){return t[0]=e.x,t[1]=e.y,t[2]=e.z,t},g.exactEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z},g.equals=function(t,e){var i=t.x,n=t.y,r=t.z,a=e.x,o=e.y,h=e.z;return Math.abs(i-a)<=s*Math.max(1,Math.abs(i),Math.abs(a))&&Math.abs(n-o)<=s*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(r-h)<=s*Math.max(1,Math.abs(r),Math.abs(h))};var x=new Array(4),A=function(t,e,i,n){this.x=t,this.y=e,this.z=i,this.w=n};A.prototype.toJSON=function(){return x[0]=this.x,x[1]=this.y,x[2]=this.z,x[3]=this.w,x};var b={create:function(){return new A(0,0,0,0)},new:function(t,e,i,n){return new A(t,e,i,n)},clone:function(t){return new A(t.x,t.y,t.z,t.w)},copy:function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t},set:function(t,e,i,n,r){return t.x=e,t.y=i,t.z=n,t.w=r,t},add:function(t,e,i){return t.x=e.x+i.x,t.y=e.y+i.y,t.z=e.z+i.z,t.w=e.w+i.w,t},subtract:function(t,e,i){return t.x=e.x-i.x,t.y=e.y-i.y,t.z=e.z-i.z,t.w=e.w-i.w,t}};b.sub=b.subtract,b.multiply=function(t,e,i){return t.x=e.x*i.x,t.y=e.y*i.y,t.z=e.z*i.z,t.w=e.w*i.w,t},b.mul=b.multiply,b.divide=function(t,e,i){return t.x=e.x/i.x,t.y=e.y/i.y,t.z=e.z/i.z,t.w=e.w/i.w,t},b.div=b.divide,b.ceil=function(t,e){return t.x=Math.ceil(e.x),t.y=Math.ceil(e.y),t.z=Math.ceil(e.z),t.w=Math.ceil(e.w),t},b.floor=function(t,e){return t.x=Math.floor(e.x),t.y=Math.floor(e.y),t.z=Math.floor(e.z),t.w=Math.floor(e.w),t},b.min=function(t,e,i){return t.x=Math.min(e.x,i.x),t.y=Math.min(e.y,i.y),t.z=Math.min(e.z,i.z),t.w=Math.min(e.w,i.w),t},b.max=function(t,e,i){return t.x=Math.max(e.x,i.x),t.y=Math.max(e.y,i.y),t.z=Math.max(e.z,i.z),t.w=Math.max(e.w,i.w),t},b.round=function(t,e){return t.x=Math.round(e.x),t.y=Math.round(e.y),t.z=Math.round(e.z),t.w=Math.round(e.w),t},b.scale=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=e.w*i,t},b.scaleAndAdd=function(t,e,i,n){return t.x=e.x+i.x*n,t.y=e.y+i.y*n,t.z=e.z+i.z*n,t.w=e.w+i.w*n,t},b.distance=function(t,e){var i=e.x-t.x,n=e.y-t.y,r=e.z-t.z,s=e.w-t.w;return Math.sqrt(i*i+n*n+r*r+s*s)},b.dist=b.distance,b.squaredDistance=function(t,e){var i=e.x-t.x,n=e.y-t.y,r=e.z-t.z,s=e.w-t.w;return i*i+n*n+r*r+s*s},b.sqrDist=b.squaredDistance,b.length=function(t){var e=t.x,i=t.y,n=t.z,r=t.w;return Math.sqrt(e*e+i*i+n*n+r*r)},b.len=b.length,b.squaredLength=function(t){var e=t.x,i=t.y,n=t.z,r=t.w;return e*e+i*i+n*n+r*r},b.sqrLen=b.squaredLength,b.negate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t},b.inverse=function(t,e){return t.x=1/e.x,t.y=1/e.y,t.z=1/e.z,t.w=1/e.w,t},b.inverseSafe=function(t,e){var i=e.x,n=e.y,r=e.z,a=e.w;return Math.abs(i)<s?t.x=0:t.x=1/i,Math.abs(n)<s?t.y=0:t.y=1/n,Math.abs(r)<s?t.z=0:t.z=1/r,Math.abs(a)<s?t.w=0:t.w=1/a,t},b.normalize=function(t,e){var i=e.x,n=e.y,r=e.z,s=e.w,a=i*i+n*n+r*r+s*s;return a>0&&(a=1/Math.sqrt(a),t.x=i*a,t.y=n*a,t.z=r*a,t.w=s*a),t},b.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},b.lerp=function(t,e,i,n){var r=e.x,s=e.y,a=e.z,o=e.w;return t.x=r+n*(i.x-r),t.y=s+n*(i.y-s),t.z=a+n*(i.z-a),t.w=o+n*(i.w-o),t},b.random=function(t,e){return e=e||1,t.x=o(),t.y=o(),t.z=o(),t.w=o(),b.normalize(t,t),b.scale(t,t,e),t},b.transformMat4=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=e.w;return t.x=i.m00*n+i.m04*r+i.m08*s+i.m12*a,t.y=i.m01*n+i.m05*r+i.m09*s+i.m13*a,t.z=i.m02*n+i.m06*r+i.m10*s+i.m14*a,t.w=i.m03*n+i.m07*r+i.m11*s+i.m15*a,t},b.transformQuat=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=i.x,o=i.y,h=i.z,l=i.w,c=l*n+o*s-h*r,u=l*r+h*n-a*s,_=l*s+a*r-o*n,f=-a*n-o*r-h*s;return t.x=c*l+f*-a+u*-h-_*-o,t.y=u*l+f*-o+_*-a-c*-h,t.z=_*l+f*-h+c*-o-u*-a,t.w=e.w,t},b.forEach=(function(){var t=b.create();return function(e,i,n,r,s,a){var o,h;for(i||(i=4),n||(n=0),h=r?Math.min(r*i+n,e.length):e.length,o=n;o<h;o+=i)t.x=e[o],t.y=e[o+1],t.z=e[o+2],t.w=e[o+3],s(t,t,a),e[o]=t.x,e[o+1]=t.y,e[o+2]=t.z,e[o+3]=t.w;return e}})(),b.str=function(t){return"vec4("+t.x+", "+t.y+", "+t.z+", "+t.w+")"},b.array=function(t,e){return t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w,t},b.exactEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w},b.equals=function(t,e){var i=t.x,n=t.y,r=t.z,a=t.w,o=e.x,h=e.y,l=e.z,c=e.w;return Math.abs(i-o)<=s*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(n-h)<=s*Math.max(1,Math.abs(n),Math.abs(h))&&Math.abs(r-l)<=s*Math.max(1,Math.abs(r),Math.abs(l))&&Math.abs(a-c)<=s*Math.max(1,Math.abs(a),Math.abs(c))};var C=new Array(9),S=function(t,e,i,n,r,s,a,o,h){this.m00=t,this.m01=e,this.m02=i,this.m03=n,this.m04=r,this.m05=s,this.m06=a,this.m07=o,this.m08=h};S.prototype.toJSON=function(){return C[0]=this.m00,C[1]=this.m01,C[2]=this.m02,C[3]=this.m03,C[4]=this.m04,C[5]=this.m05,C[6]=this.m06,C[7]=this.m07,C[8]=this.m08,C};var T={create:function(){return new S(1,0,0,0,1,0,0,0,1)},new:function(t,e,i,n,r,s,a,o,h){return new S(t,e,i,n,r,s,a,o,h)},clone:function(t){return new S(t.m00,t.m01,t.m02,t.m03,t.m04,t.m05,t.m06,t.m07,t.m08)},copy:function(t,e){return t.m00=e.m00,t.m01=e.m01,t.m02=e.m02,t.m03=e.m03,t.m04=e.m04,t.m05=e.m05,t.m06=e.m06,t.m07=e.m07,t.m08=e.m08,t},set:function(t,e,i,n,r,s,a,o,h,l){return t.m00=e,t.m01=i,t.m02=n,t.m03=r,t.m04=s,t.m05=a,t.m06=o,t.m07=h,t.m08=l,t},identity:function(t){return t.m00=1,t.m01=0,t.m02=0,t.m03=0,t.m04=1,t.m05=0,t.m06=0,t.m07=0,t.m08=1,t},transpose:function(t,e){if(t===e){var i=e.m01,n=e.m02,r=e.m05;t.m01=e.m03,t.m02=e.m06,t.m03=i,t.m05=e.m07,t.m06=n,t.m07=r}else t.m00=e.m00,t.m01=e.m03,t.m02=e.m06,t.m03=e.m01,t.m04=e.m04,t.m05=e.m07,t.m06=e.m02,t.m07=e.m05,t.m08=e.m08;return t},invert:function(t,e){var i=e.m00,n=e.m01,r=e.m02,s=e.m03,a=e.m04,o=e.m05,h=e.m06,l=e.m07,c=e.m08,u=c*a-o*l,_=-c*s+o*h,f=l*s-a*h,m=i*u+n*_+r*f;return m?(m=1/m,t.m00=u*m,t.m01=(-c*n+r*l)*m,t.m02=(o*n-r*a)*m,t.m03=_*m,t.m04=(c*i-r*h)*m,t.m05=(-o*i+r*s)*m,t.m06=f*m,t.m07=(-l*i+n*h)*m,t.m08=(a*i-n*s)*m,t):null},adjoint:function(t,e){var i=e.m00,n=e.m01,r=e.m02,s=e.m03,a=e.m04,o=e.m05,h=e.m06,l=e.m07,c=e.m08;return t.m00=a*c-o*l,t.m01=r*l-n*c,t.m02=n*o-r*a,t.m03=o*h-s*c,t.m04=i*c-r*h,t.m05=r*s-i*o,t.m06=s*l-a*h,t.m07=n*h-i*l,t.m08=i*a-n*s,t},determinant:function(t){var e=t.m00,i=t.m01,n=t.m02,r=t.m03,s=t.m04,a=t.m05,o=t.m06,h=t.m07,l=t.m08;return e*(l*s-a*h)+i*(-l*r+a*o)+n*(h*r-s*o)},multiply:function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,l=e.m06,c=e.m07,u=e.m08,_=i.m00,f=i.m01,m=i.m02,d=i.m03,p=i.m04,y=i.m05,v=i.m06,g=i.m07,x=i.m08;return t.m00=_*n+f*a+m*l,t.m01=_*r+f*o+m*c,t.m02=_*s+f*h+m*u,t.m03=d*n+p*a+y*l,t.m04=d*r+p*o+y*c,t.m05=d*s+p*h+y*u,t.m06=v*n+g*a+x*l,t.m07=v*r+g*o+x*c,t.m08=v*s+g*h+x*u,t}};T.mul=T.multiply,T.translate=function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,l=e.m06,c=e.m07,u=e.m08,_=i.x,f=i.y;return t.m00=n,t.m01=r,t.m02=s,t.m03=a,t.m04=o,t.m05=h,t.m06=_*n+f*a+l,t.m07=_*r+f*o+c,t.m08=_*s+f*h+u,t},T.rotate=function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,l=e.m06,c=e.m07,u=e.m08,_=Math.sin(i),f=Math.cos(i);return t.m00=f*n+_*a,t.m01=f*r+_*o,t.m02=f*s+_*h,t.m03=f*a-_*n,t.m04=f*o-_*r,t.m05=f*h-_*s,t.m06=l,t.m07=c,t.m08=u,t},T.scale=function(t,e,i){var n=i.x,r=i.y;return t.m00=n*e.m00,t.m01=n*e.m01,t.m02=n*e.m02,t.m03=r*e.m03,t.m04=r*e.m04,t.m05=r*e.m05,t.m06=e.m06,t.m07=e.m07,t.m08=e.m08,t},T.fromMat4=function(t,e){return t.m00=e.m00,t.m01=e.m01,t.m02=e.m02,t.m03=e.m04,t.m04=e.m05,t.m05=e.m06,t.m06=e.m08,t.m07=e.m09,t.m08=e.m10,t},T.fromTranslation=function(t,e){return t.m00=1,t.m01=0,t.m02=0,t.m03=0,t.m04=1,t.m05=0,t.m06=e.x,t.m07=e.y,t.m08=1,t},T.fromRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e);return t.m00=n,t.m01=i,t.m02=0,t.m03=-i,t.m04=n,t.m05=0,t.m06=0,t.m07=0,t.m08=1,t},T.fromScaling=function(t,e){return t.m00=e.x,t.m01=0,t.m02=0,t.m03=0,t.m04=e.y,t.m05=0,t.m06=0,t.m07=0,t.m08=1,t},T.fromMat2d=function(t,e){return t.m00=e.m00,t.m01=e.m01,t.m02=0,t.m03=e.m02,t.m04=e.m03,t.m05=0,t.m06=e.m04,t.m07=e.m05,t.m08=1,t},T.fromQuat=function(t,e){var i=e.x,n=e.y,r=e.z,s=e.w,a=i+i,o=n+n,h=r+r,l=i*a,c=n*a,u=n*o,_=r*a,f=r*o,m=r*h,d=s*a,p=s*o,y=s*h;return t.m00=1-u-m,t.m03=c-y,t.m06=_+p,t.m01=c+y,t.m04=1-l-m,t.m07=f-d,t.m02=_-p,t.m05=f+d,t.m08=1-l-u,t},T.fromViewUp=(function(){var t=g.new(0,1,0),e=g.create(),i=g.create();return function(n,r,a){return g.sqrLen(r)<s*s?(T.identity(n),n):(a=a||t,g.cross(e,a,r),g.sqrLen(e)<s*s?(T.identity(n),n):(g.cross(i,r,e),T.set(n,e.x,e.y,e.z,i.x,i.y,i.z,r.x,r.y,r.z),n))}})(),T.normalFromMat4=function(t,e){var i=e.m00,n=e.m01,r=e.m02,s=e.m03,a=e.m04,o=e.m05,h=e.m06,l=e.m07,c=e.m08,u=e.m09,_=e.m10,f=e.m11,m=e.m12,d=e.m13,p=e.m14,y=e.m15,v=i*o-n*a,g=i*h-r*a,x=i*l-s*a,A=n*h-r*o,b=n*l-s*o,C=r*l-s*h,S=c*d-u*m,T=c*p-_*m,w=c*y-f*m,E=u*p-_*d,D=u*y-f*d,M=_*y-f*p,B=v*M-g*D+x*E+A*w-b*T+C*S;return B?(B=1/B,t.m00=(o*M-h*D+l*E)*B,t.m01=(h*w-a*M-l*T)*B,t.m02=(a*D-o*w+l*S)*B,t.m03=(r*D-n*M-s*E)*B,t.m04=(i*M-r*w+s*T)*B,t.m05=(n*w-i*D-s*S)*B,t.m06=(d*C-p*b+y*A)*B,t.m07=(p*x-m*C-y*g)*B,t.m08=(m*b-d*x+y*v)*B,t):null},T.str=function(t){return"mat3("+t.m00+", "+t.m01+", "+t.m02+", "+t.m03+", "+t.m04+", "+t.m05+", "+t.m06+", "+t.m07+", "+t.m08+")"},T.array=function(t,e){return t[0]=e.m00,t[1]=e.m01,t[2]=e.m02,t[3]=e.m03,t[4]=e.m04,t[5]=e.m05,t[6]=e.m06,t[7]=e.m07,t[8]=e.m08,t},T.frob=function(t){return Math.sqrt(Math.pow(t.m00,2)+Math.pow(t.m01,2)+Math.pow(t.m02,2)+Math.pow(t.m03,2)+Math.pow(t.m04,2)+Math.pow(t.m05,2)+Math.pow(t.m06,2)+Math.pow(t.m07,2)+Math.pow(t.m08,2))},T.add=function(t,e,i){return t.m00=e.m00+i.m00,t.m01=e.m01+i.m01,t.m02=e.m02+i.m02,t.m03=e.m03+i.m03,t.m04=e.m04+i.m04,t.m05=e.m05+i.m05,t.m06=e.m06+i.m06,t.m07=e.m07+i.m07,t.m08=e.m08+i.m08,t},T.subtract=function(t,e,i){return t.m00=e.m00-i.m00,t.m01=e.m01-i.m01,t.m02=e.m02-i.m02,t.m03=e.m03-i.m03,t.m04=e.m04-i.m04,t.m05=e.m05-i.m05,t.m06=e.m06-i.m06,t.m07=e.m07-i.m07,t.m08=e.m08-i.m08,t},T.sub=T.subtract,T.multiplyScalar=function(t,e,i){return t.m00=e.m00*i,t.m01=e.m01*i,t.m02=e.m02*i,t.m03=e.m03*i,t.m04=e.m04*i,t.m05=e.m05*i,t.m06=e.m06*i,t.m07=e.m07*i,t.m08=e.m08*i,t},T.multiplyScalarAndAdd=function(t,e,i,n){return t.m00=e.m00+i.m00*n,t.m01=e.m01+i.m01*n,t.m02=e.m02+i.m02*n,t.m03=e.m03+i.m03*n,t.m04=e.m04+i.m04*n,t.m05=e.m05+i.m05*n,t.m06=e.m06+i.m06*n,t.m07=e.m07+i.m07*n,t.m08=e.m08+i.m08*n,t},T.exactEquals=function(t,e){return t.m00===e.m00&&t.m01===e.m01&&t.m02===e.m02&&t.m03===e.m03&&t.m04===e.m04&&t.m05===e.m05&&t.m06===e.m06&&t.m07===e.m07&&t.m08===e.m08},T.equals=function(t,e){var i=t.m00,n=t.m01,r=t.m02,a=t.m03,o=t.m04,h=t.m05,l=t.m06,c=t.m07,u=t.m08,_=e.m00,f=e.m01,m=e.m02,d=e.m03,p=e.m04,y=e.m05,v=e.m06,g=e.m07,x=e.m08;return Math.abs(i-_)<=s*Math.max(1,Math.abs(i),Math.abs(_))&&Math.abs(n-f)<=s*Math.max(1,Math.abs(n),Math.abs(f))&&Math.abs(r-m)<=s*Math.max(1,Math.abs(r),Math.abs(m))&&Math.abs(a-d)<=s*Math.max(1,Math.abs(a),Math.abs(d))&&Math.abs(o-p)<=s*Math.max(1,Math.abs(o),Math.abs(p))&&Math.abs(h-y)<=s*Math.max(1,Math.abs(h),Math.abs(y))&&Math.abs(l-v)<=s*Math.max(1,Math.abs(l),Math.abs(v))&&Math.abs(c-g)<=s*Math.max(1,Math.abs(c),Math.abs(g))&&Math.abs(u-x)<=s*Math.max(1,Math.abs(u),Math.abs(x))};var w=new Array(4),E=function(t,e,i,n){this.x=t,this.y=e,this.z=i,this.w=n};E.prototype.toJSON=function(){return w[0]=this.x,w[1]=this.y,w[2]=this.z,w[3]=this.w,w};var D={create:function(){return new E(0,0,0,1)},new:function(t,e,i,n){return new E(t,e,i,n)},clone:function(t){return new E(t.x,t.y,t.z,t.w)}};D.copy=b.copy,D.set=b.set,D.identity=function(t){return t.x=0,t.y=0,t.z=0,t.w=1,t},D.rotationTo=(function(){var t=g.create(),e=g.new(1,0,0),i=g.new(0,1,0);return function(n,r,s){var a=g.dot(r,s);return a<-.999999?(g.cross(t,e,r),g.length(t)<1e-6&&g.cross(t,i,r),g.normalize(t,t),D.fromAxisAngle(n,t,Math.PI),n):a>.999999?(n.x=0,n.y=0,n.z=0,n.w=1,n):(g.cross(t,r,s),n.x=t.x,n.y=t.y,n.z=t.z,n.w=1+a,D.normalize(n,n))}})(),D.getAxisAngle=function(t,e){var i=2*Math.acos(e.w),n=Math.sin(i/2);return 0!=n?(t.x=e.x/n,t.y=e.y/n,t.z=e.z/n):(t.x=1,t.y=0,t.z=0),i},D.multiply=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=e.w,o=i.x,h=i.y,l=i.z,c=i.w;return t.x=n*c+a*o+r*l-s*h,t.y=r*c+a*h+s*o-n*l,t.z=s*c+a*l+n*h-r*o,t.w=a*c-n*o-r*h-s*l,t},D.mul=D.multiply,D.scale=b.scale,D.rotateX=function(t,e,i){i*=.5;var n=e.x,r=e.y,s=e.z,a=e.w,o=Math.sin(i),h=Math.cos(i);return t.x=n*h+a*o,t.y=r*h+s*o,t.z=s*h-r*o,t.w=a*h-n*o,t},D.rotateY=function(t,e,i){i*=.5;var n=e.x,r=e.y,s=e.z,a=e.w,o=Math.sin(i),h=Math.cos(i);return t.x=n*h-s*o,t.y=r*h+a*o,t.z=s*h+n*o,t.w=a*h-r*o,t},D.rotateZ=function(t,e,i){i*=.5;var n=e.x,r=e.y,s=e.z,a=e.w,o=Math.sin(i),h=Math.cos(i);return t.x=n*h+r*o,t.y=r*h-n*o,t.z=s*h+a*o,t.w=a*h-s*o,t},D.rotateAround=(function(){var t=g.create(),e=D.create();return function(i,n,r,s){return D.invert(e,n),g.transformQuat(t,r,e),D.fromAxisAngle(e,t,s),D.mul(i,n,e),i}})(),D.rotateAroundLocal=(function(){var t=D.create();return function(e,i,n,r){return D.fromAxisAngle(t,n,r),D.mul(e,i,t),e}})(),D.calculateW=function(t,e){var i=e.x,n=e.y,r=e.z;return t.x=i,t.y=n,t.z=r,t.w=Math.sqrt(Math.abs(1-i*i-n*n-r*r)),t},D.dot=b.dot,D.lerp=b.lerp,D.slerp=function(t,e,i,n){var r,s,a,o,h,l=e.x,c=e.y,u=e.z,_=e.w,f=i.x,m=i.y,d=i.z,p=i.w;return(s=l*f+c*m+u*d+_*p)<0&&(s=-s,f=-f,m=-m,d=-d,p=-p),1-s>1e-6?(r=Math.acos(s),a=Math.sin(r),o=Math.sin((1-n)*r)/a,h=Math.sin(n*r)/a):(o=1-n,h=n),t.x=o*l+h*f,t.y=o*c+h*m,t.z=o*u+h*d,t.w=o*_+h*p,t},D.sqlerp=(function(){var t=D.create(),e=D.create();return function(i,n,r,s,a,o){return D.slerp(t,n,a,o),D.slerp(e,r,s,o),D.slerp(i,t,e,2*o*(1-o)),i}})(),D.invert=function(t,e){var i=e.x,n=e.y,r=e.z,s=e.w,a=i*i+n*n+r*r+s*s,o=a?1/a:0;return t.x=-i*o,t.y=-n*o,t.z=-r*o,t.w=s*o,t},D.conjugate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t},D.length=b.length,D.len=D.length,D.squaredLength=b.squaredLength,D.sqrLen=D.squaredLength,D.normalize=b.normalize,D.fromAxes=(function(){var t=T.create();return function(e,i,n,r){return T.set(t,i.x,i.y,i.z,n.x,n.y,n.z,r.x,r.y,r.z),D.normalize(e,D.fromMat3(e,t))}})(),D.fromViewUp=(function(){var t=T.create();return function(e,i,n){return T.fromViewUp(t,i,n),t?D.normalize(e,D.fromMat3(e,t)):null}})(),D.fromAxisAngle=function(t,e,i){i*=.5;var n=Math.sin(i);return t.x=n*e.x,t.y=n*e.y,t.z=n*e.z,t.w=Math.cos(i),t},D.fromMat3=function(t,e){var i=e.m00,n=e.m03,r=e.m06,s=e.m01,a=e.m04,o=e.m07,h=e.m02,l=e.m05,c=e.m08,u=i+a+c;if(u>0){var _=.5/Math.sqrt(u+1);t.w=.25/_,t.x=(l-o)*_,t.y=(r-h)*_,t.z=(s-n)*_}else if(i>a&&i>c){var f=2*Math.sqrt(1+i-a-c);t.w=(l-o)/f,t.x=.25*f,t.y=(n+s)/f,t.z=(r+h)/f}else if(a>c){var m=2*Math.sqrt(1+a-i-c);t.w=(r-h)/m,t.x=(n+s)/m,t.y=.25*m,t.z=(o+l)/m}else{var d=2*Math.sqrt(1+c-i-a);t.w=(s-n)/d,t.x=(r+h)/d,t.y=(o+l)/d,t.z=.25*d}return t},D.fromEuler=function(t,e,i,n){var r=.5*Math.PI/180;e*=r,i*=r,n*=r;var s=Math.sin(e),a=Math.cos(e),o=Math.sin(i),h=Math.cos(i),l=Math.sin(n),c=Math.cos(n);return t.x=s*h*c-a*o*l,t.y=a*o*c+s*h*l,t.z=a*h*l-s*o*c,t.w=a*h*c+s*o*l,t},D.str=function(t){return"quat("+t.x+", "+t.y+", "+t.z+", "+t.w+")"},D.array=function(t,e){return t[0]=e.x,t[1]=e.y,t[2]=e.z,t[3]=e.w,t},D.exactEquals=b.exactEquals,D.equals=b.equals;var M=new Array(4),B=function(t,e,i,n){this.m00=t,this.m01=e,this.m02=i,this.m03=n};B.prototype.toJSON=function(){return M[0]=this.m00,M[1]=this.m01,M[2]=this.m02,M[3]=this.m03,M};var P={create:function(){return new B(1,0,0,1)},new:function(t,e,i,n){return new B(t,e,i,n)},clone:function(t){return new B(t.m00,t.m01,t.m02,t.m03)},copy:function(t,e){return t.m00=e.m00,t.m01=e.m01,t.m02=e.m02,t.m03=e.m03,t},identity:function(t){return t.m00=1,t.m01=0,t.m02=0,t.m03=1,t},set:function(t,e,i,n,r){return t.m00=e,t.m01=i,t.m02=n,t.m03=r,t},transpose:function(t,e){if(t===e){var i=e.m01;t.m01=e.m02,t.m02=i}else t.m00=e.m00,t.m01=e.m02,t.m02=e.m01,t.m03=e.m03;return t},invert:function(t,e){var i=e.m00,n=e.m01,r=e.m02,s=e.m03,a=i*s-r*n;return a?(a=1/a,t.m00=s*a,t.m01=-n*a,t.m02=-r*a,t.m03=i*a,t):null},adjoint:function(t,e){var i=e.m00;return t.m00=e.m03,t.m01=-e.m01,t.m02=-e.m02,t.m03=i,t},determinant:function(t){return t.m00*t.m03-t.m02*t.m01},multiply:function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=i.m00,h=i.m01,l=i.m02,c=i.m03;return t.m00=n*o+s*h,t.m01=r*o+a*h,t.m02=n*l+s*c,t.m03=r*l+a*c,t}};P.mul=P.multiply,P.rotate=function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=Math.sin(i),h=Math.cos(i);return t.m00=n*h+s*o,t.m01=r*h+a*o,t.m02=n*-o+s*h,t.m03=r*-o+a*h,t},P.scale=function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=i.x,h=i.y;return t.m00=n*o,t.m01=r*o,t.m02=s*h,t.m03=a*h,t},P.fromRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e);return t.m00=n,t.m01=i,t.m02=-i,t.m03=n,t},P.fromScaling=function(t,e){return t.m00=e.x,t.m01=0,t.m02=0,t.m03=e.y,t},P.str=function(t){return"mat2("+t.m00+", "+t.m01+", "+t.m02+", "+t.m03+")"},P.array=function(t,e){return t[0]=e.m00,t[1]=e.m01,t[2]=e.m02,t[3]=e.m03,t},P.frob=function(t){return Math.sqrt(Math.pow(t.m00,2)+Math.pow(t.m01,2)+Math.pow(t.m02,2)+Math.pow(t.m03,2))},P.LDU=function(t,e,i,n){t.m02=n.m02/n.m00,i.m00=n.m00,i.m01=n.m01,i.m03=n.m03-t.m02*i.m01},P.add=function(t,e,i){return t.m00=e.m00+i.m00,t.m01=e.m01+i.m01,t.m02=e.m02+i.m02,t.m03=e.m03+i.m03,t},P.subtract=function(t,e,i){return t.m00=e.m00-i.m00,t.m01=e.m01-i.m01,t.m02=e.m02-i.m02,t.m03=e.m03-i.m03,t},P.sub=P.subtract,P.exactEquals=function(t,e){return t.m00===e.m00&&t.m01===e.m01&&t.m02===e.m02&&t.m03===e.m03},P.equals=function(t,e){var i=t.m00,n=t.m01,r=t.m02,a=t.m03,o=e.m00,h=e.m01,l=e.m02,c=e.m03;return Math.abs(i-o)<=s*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(n-h)<=s*Math.max(1,Math.abs(n),Math.abs(h))&&Math.abs(r-l)<=s*Math.max(1,Math.abs(r),Math.abs(l))&&Math.abs(a-c)<=s*Math.max(1,Math.abs(a),Math.abs(c))},P.multiplyScalar=function(t,e,i){return t.m00=e.m00*i,t.m01=e.m01*i,t.m02=e.m02*i,t.m03=e.m03*i,t},P.multiplyScalarAndAdd=function(t,e,i,n){return t.m00=e.m00+i.m00*n,t.m01=e.m01+i.m01*n,t.m02=e.m02+i.m02*n,t.m03=e.m03+i.m03*n,t};var I=new Array(6),R=function(t,e,i,n,r,s){this.m00=t,this.m01=e,this.m02=i,this.m03=n,this.m04=r,this.m05=s};R.prototype.toJSON=function(){return I[0]=this.m00,I[1]=this.m01,I[2]=this.m02,I[3]=this.m03,I[4]=this.m04,I[5]=this.m05,I};var O={create:function(){return new R(1,0,0,1,0,0)},new:function(t,e,i,n,r,s){return new R(t,e,i,n,r,s)},clone:function(t){return new R(t.m00,t.m01,t.m02,t.m03,t.m04,t.m05)},copy:function(t,e){return t.m00=e.m00,t.m01=e.m01,t.m02=e.m02,t.m03=e.m03,t.m04=e.m04,t.m05=e.m05,t},identity:function(t){return t.m00=1,t.m01=0,t.m02=0,t.m03=1,t.m04=0,t.m05=0,t},set:function(t,e,i,n,r,s,a){return t.m00=e,t.m01=i,t.m02=n,t.m03=r,t.m04=s,t.m05=a,t},invert:function(t,e){var i=e.m00,n=e.m01,r=e.m02,s=e.m03,a=e.m04,o=e.m05,h=i*s-n*r;return h?(h=1/h,t.m00=s*h,t.m01=-n*h,t.m02=-r*h,t.m03=i*h,t.m04=(r*o-s*a)*h,t.m05=(n*a-i*o)*h,t):null},determinant:function(t){return t.m00*t.m03-t.m01*t.m02},multiply:function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,l=i.m00,c=i.m01,u=i.m02,_=i.m03,f=i.m04,m=i.m05;return t.m00=n*l+s*c,t.m01=r*l+a*c,t.m02=n*u+s*_,t.m03=r*u+a*_,t.m04=n*f+s*m+o,t.m05=r*f+a*m+h,t}};O.mul=O.multiply,O.rotate=function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,l=Math.sin(i),c=Math.cos(i);return t.m00=n*c+s*l,t.m01=r*c+a*l,t.m02=n*-l+s*c,t.m03=r*-l+a*c,t.m04=o,t.m05=h,t},O.scale=function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,l=i.x,c=i.y;return t.m00=n*l,t.m01=r*l,t.m02=s*c,t.m03=a*c,t.m04=o,t.m05=h,t},O.translate=function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,l=i.x,c=i.y;return t.m00=n,t.m01=r,t.m02=s,t.m03=a,t.m04=n*l+s*c+o,t.m05=r*l+a*c+h,t},O.fromRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e);return t.m00=n,t.m01=i,t.m02=-i,t.m03=n,t.m04=0,t.m05=0,t},O.fromScaling=function(t,e){return t.m00=e.m00,t.m01=0,t.m02=0,t.m03=e.m01,t.m04=0,t.m05=0,t},O.fromTranslation=function(t,e){return t.m00=1,t.m01=0,t.m02=0,t.m03=1,t.m04=e.x,t.m05=e.y,t},O.str=function(t){return"mat23("+t.m00+", "+t.m01+", "+t.m02+", "+t.m03+", "+t.m04+", "+t.m05+")"},O.array=function(t,e){return t[0]=e.m00,t[1]=e.m01,t[2]=e.m02,t[3]=e.m03,t[4]=e.m04,t[5]=e.m05,t},O.array4x4=function(t,e){return t[0]=e.m00,t[1]=e.m01,t[2]=0,t[3]=0,t[4]=e.m02,t[5]=e.m03,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=e.m04,t[13]=e.m05,t[14]=0,t[15]=1,t},O.frob=function(t){return Math.sqrt(Math.pow(t.m00,2)+Math.pow(t.m01,2)+Math.pow(t.m02,2)+Math.pow(t.m03,2)+Math.pow(t.m04,2)+Math.pow(t.m05,2)+1)},O.add=function(t,e,i){return t.m00=e.m00+i.m00,t.m01=e.m01+i.m01,t.m02=e.m02+i.m02,t.m03=e.m03+i.m03,t.m04=e.m04+i.m04,t.m05=e.m05+i.m05,t},O.subtract=function(t,e,i){return t.m00=e.m00-i.m00,t.m01=e.m01-i.m01,t.m02=e.m02-i.m02,t.m03=e.m03-i.m03,t.m04=e.m04-i.m04,t.m05=e.m05-i.m05,t},O.sub=O.subtract,O.multiplyScalar=function(t,e,i){return t.m00=e.m00*i,t.m01=e.m01*i,t.m02=e.m02*i,t.m03=e.m03*i,t.m04=e.m04*i,t.m05=e.m05*i,t},O.multiplyScalarAndAdd=function(t,e,i,n){return t.m00=e.m00+i.m00*n,t.m01=e.m01+i.m01*n,t.m02=e.m02+i.m02*n,t.m03=e.m03+i.m03*n,t.m04=e.m04+i.m04*n,t.m05=e.m05+i.m05*n,t},O.exactEquals=function(t,e){return t.m00===e.m00&&t.m01===e.m01&&t.m02===e.m02&&t.m03===e.m03&&t.m04===e.m04&&t.m05===e.m05},O.equals=function(t,e){var i=t.m00,n=t.m01,r=t.m02,a=t.m03,o=t.m04,h=t.m05,l=e.m00,c=e.m01,u=e.m02,_=e.m03,f=e.m04,m=e.m05;return Math.abs(i-l)<=s*Math.max(1,Math.abs(i),Math.abs(l))&&Math.abs(n-c)<=s*Math.max(1,Math.abs(n),Math.abs(c))&&Math.abs(r-u)<=s*Math.max(1,Math.abs(r),Math.abs(u))&&Math.abs(a-_)<=s*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(o-f)<=s*Math.max(1,Math.abs(o),Math.abs(f))&&Math.abs(h-m)<=s*Math.max(1,Math.abs(h),Math.abs(m))};var L=new Array(16),F=function(t,e,i,n,r,s,a,o,h,l,c,u,_,f,m,d){this.m00=t,this.m01=e,this.m02=i,this.m03=n,this.m04=r,this.m05=s,this.m06=a,this.m07=o,this.m08=h,this.m09=l,this.m10=c,this.m11=u,this.m12=_,this.m13=f,this.m14=m,this.m15=d};F.prototype.toJSON=function(){return L[0]=this.m00,L[1]=this.m01,L[2]=this.m02,L[3]=this.m03,L[4]=this.m04,L[5]=this.m05,L[6]=this.m06,L[7]=this.m07,L[8]=this.m08,L[9]=this.m09,L[10]=this.m10,L[11]=this.m11,L[12]=this.m12,L[13]=this.m13,L[14]=this.m14,L[15]=this.m15,L};var V={create:function(){return new F(1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1)},new:function(t,e,i,n,r,s,a,o,h,l,c,u,_,f,m,d){return new F(t,e,i,n,r,s,a,o,h,l,c,u,_,f,m,d)},clone:function(t){return new F(t.m00,t.m01,t.m02,t.m03,t.m04,t.m05,t.m06,t.m07,t.m08,t.m09,t.m10,t.m11,t.m12,t.m13,t.m14,t.m15)},copy:function(t,e){return t.m00=e.m00,t.m01=e.m01,t.m02=e.m02,t.m03=e.m03,t.m04=e.m04,t.m05=e.m05,t.m06=e.m06,t.m07=e.m07,t.m08=e.m08,t.m09=e.m09,t.m10=e.m10,t.m11=e.m11,t.m12=e.m12,t.m13=e.m13,t.m14=e.m14,t.m15=e.m15,t},set:function(t,e,i,n,r,s,a,o,h,l,c,u,_,f,m,d,p){return t.m00=e,t.m01=i,t.m02=n,t.m03=r,t.m04=s,t.m05=a,t.m06=o,t.m07=h,t.m08=l,t.m09=c,t.m10=u,t.m11=_,t.m12=f,t.m13=m,t.m14=d,t.m15=p,t},identity:function(t){return t.m00=1,t.m01=0,t.m02=0,t.m03=0,t.m04=0,t.m05=1,t.m06=0,t.m07=0,t.m08=0,t.m09=0,t.m10=1,t.m11=0,t.m12=0,t.m13=0,t.m14=0,t.m15=1,t},transpose:function(t,e){if(t===e){var i=e.m01,n=e.m02,r=e.m03,s=e.m06,a=e.m07,o=e.m11;t.m01=e.m04,t.m02=e.m08,t.m03=e.m12,t.m04=i,t.m06=e.m09,t.m07=e.m13,t.m08=n,t.m09=s,t.m11=e.m14,t.m12=r,t.m13=a,t.m14=o}else t.m00=e.m00,t.m01=e.m04,t.m02=e.m08,t.m03=e.m12,t.m04=e.m01,t.m05=e.m05,t.m06=e.m09,t.m07=e.m13,t.m08=e.m02,t.m09=e.m06,t.m10=e.m10,t.m11=e.m14,t.m12=e.m03,t.m13=e.m07,t.m14=e.m11,t.m15=e.m15;return t},invert:function(t,e){var i=e.m00,n=e.m01,r=e.m02,s=e.m03,a=e.m04,o=e.m05,h=e.m06,l=e.m07,c=e.m08,u=e.m09,_=e.m10,f=e.m11,m=e.m12,d=e.m13,p=e.m14,y=e.m15,v=i*o-n*a,g=i*h-r*a,x=i*l-s*a,A=n*h-r*o,b=n*l-s*o,C=r*l-s*h,S=c*d-u*m,T=c*p-_*m,w=c*y-f*m,E=u*p-_*d,D=u*y-f*d,M=_*y-f*p,B=v*M-g*D+x*E+A*w-b*T+C*S;return B?(B=1/B,t.m00=(o*M-h*D+l*E)*B,t.m01=(r*D-n*M-s*E)*B,t.m02=(d*C-p*b+y*A)*B,t.m03=(_*b-u*C-f*A)*B,t.m04=(h*w-a*M-l*T)*B,t.m05=(i*M-r*w+s*T)*B,t.m06=(p*x-m*C-y*g)*B,t.m07=(c*C-_*x+f*g)*B,t.m08=(a*D-o*w+l*S)*B,t.m09=(n*w-i*D-s*S)*B,t.m10=(m*b-d*x+y*v)*B,t.m11=(u*x-c*b-f*v)*B,t.m12=(o*T-a*E-h*S)*B,t.m13=(i*E-n*T+r*S)*B,t.m14=(d*g-m*A-p*v)*B,t.m15=(c*A-u*g+_*v)*B,t):null},adjoint:function(t,e){var i=e.m00,n=e.m01,r=e.m02,s=e.m03,a=e.m04,o=e.m05,h=e.m06,l=e.m07,c=e.m08,u=e.m09,_=e.m10,f=e.m11,m=e.m12,d=e.m13,p=e.m14,y=e.m15;return t.m00=o*(_*y-f*p)-u*(h*y-l*p)+d*(h*f-l*_),t.m01=-(n*(_*y-f*p)-u*(r*y-s*p)+d*(r*f-s*_)),t.m02=n*(h*y-l*p)-o*(r*y-s*p)+d*(r*l-s*h),t.m03=-(n*(h*f-l*_)-o*(r*f-s*_)+u*(r*l-s*h)),t.m04=-(a*(_*y-f*p)-c*(h*y-l*p)+m*(h*f-l*_)),t.m05=i*(_*y-f*p)-c*(r*y-s*p)+m*(r*f-s*_),t.m06=-(i*(h*y-l*p)-a*(r*y-s*p)+m*(r*l-s*h)),t.m07=i*(h*f-l*_)-a*(r*f-s*_)+c*(r*l-s*h),t.m08=a*(u*y-f*d)-c*(o*y-l*d)+m*(o*f-l*u),t.m09=-(i*(u*y-f*d)-c*(n*y-s*d)+m*(n*f-s*u)),t.m10=i*(o*y-l*d)-a*(n*y-s*d)+m*(n*l-s*o),t.m11=-(i*(o*f-l*u)-a*(n*f-s*u)+c*(n*l-s*o)),t.m12=-(a*(u*p-_*d)-c*(o*p-h*d)+m*(o*_-h*u)),t.m13=i*(u*p-_*d)-c*(n*p-r*d)+m*(n*_-r*u),t.m14=-(i*(o*p-h*d)-a*(n*p-r*d)+m*(n*h-r*o)),t.m15=i*(o*_-h*u)-a*(n*_-r*u)+c*(n*h-r*o),t},determinant:function(t){var e=t.m00,i=t.m01,n=t.m02,r=t.m03,s=t.m04,a=t.m05,o=t.m06,h=t.m07,l=t.m08,c=t.m09,u=t.m10,_=t.m11,f=t.m12,m=t.m13,d=t.m14,p=t.m15;return(e*a-i*s)*(u*p-_*d)-(e*o-n*s)*(c*p-_*m)+(e*h-r*s)*(c*d-u*m)+(i*o-n*a)*(l*p-_*f)-(i*h-r*a)*(l*d-u*f)+(n*h-r*o)*(l*m-c*f)},multiply:function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,l=e.m06,c=e.m07,u=e.m08,_=e.m09,f=e.m10,m=e.m11,d=e.m12,p=e.m13,y=e.m14,v=e.m15,g=i.m00,x=i.m01,A=i.m02,b=i.m03;return t.m00=g*n+x*o+A*u+b*d,t.m01=g*r+x*h+A*_+b*p,t.m02=g*s+x*l+A*f+b*y,t.m03=g*a+x*c+A*m+b*v,g=i.m04,x=i.m05,A=i.m06,b=i.m07,t.m04=g*n+x*o+A*u+b*d,t.m05=g*r+x*h+A*_+b*p,t.m06=g*s+x*l+A*f+b*y,t.m07=g*a+x*c+A*m+b*v,g=i.m08,x=i.m09,A=i.m10,b=i.m11,t.m08=g*n+x*o+A*u+b*d,t.m09=g*r+x*h+A*_+b*p,t.m10=g*s+x*l+A*f+b*y,t.m11=g*a+x*c+A*m+b*v,g=i.m12,x=i.m13,A=i.m14,b=i.m15,t.m12=g*n+x*o+A*u+b*d,t.m13=g*r+x*h+A*_+b*p,t.m14=g*s+x*l+A*f+b*y,t.m15=g*a+x*c+A*m+b*v,t}};V.mul=V.multiply,V.translate=function(t,e,i){var n,r,s,a,o,h,l,c,u,_,f,m,d=i.x,p=i.y,y=i.z;return e===t?(t.m12=e.m00*d+e.m04*p+e.m08*y+e.m12,t.m13=e.m01*d+e.m05*p+e.m09*y+e.m13,t.m14=e.m02*d+e.m06*p+e.m10*y+e.m14,t.m15=e.m03*d+e.m07*p+e.m11*y+e.m15):(n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,l=e.m06,c=e.m07,u=e.m08,_=e.m09,f=e.m10,m=e.m11,t.m00=n,t.m01=r,t.m02=s,t.m03=a,t.m04=o,t.m05=h,t.m06=l,t.m07=c,t.m08=u,t.m09=_,t.m10=f,t.m11=m,t.m12=n*d+o*p+u*y+e.m12,t.m13=r*d+h*p+_*y+e.m13,t.m14=s*d+l*p+f*y+e.m14,t.m15=a*d+c*p+m*y+e.m15),t},V.scale=function(t,e,i){var n=i.x,r=i.y,s=i.z;return t.m00=e.m00*n,t.m01=e.m01*n,t.m02=e.m02*n,t.m03=e.m03*n,t.m04=e.m04*r,t.m05=e.m05*r,t.m06=e.m06*r,t.m07=e.m07*r,t.m08=e.m08*s,t.m09=e.m09*s,t.m10=e.m10*s,t.m11=e.m11*s,t.m12=e.m12,t.m13=e.m13,t.m14=e.m14,t.m15=e.m15,t},V.rotate=function(t,e,i,n){var r,a,o,h,l,c,u,_,f,m,d,p,y,v,g,x,A,b,C,S,T,w,E,D,M=n.x,B=n.y,P=n.z,I=Math.sqrt(M*M+B*B+P*P);return Math.abs(I)<s?null:(M*=I=1/I,B*=I,P*=I,r=Math.sin(i),o=1-(a=Math.cos(i)),h=e.m00,l=e.m01,c=e.m02,u=e.m03,_=e.m04,f=e.m05,m=e.m06,d=e.m07,p=e.m08,y=e.m09,v=e.m10,g=e.m11,x=M*M*o+a,A=B*M*o+P*r,b=P*M*o-B*r,C=M*B*o-P*r,S=B*B*o+a,T=P*B*o+M*r,w=M*P*o+B*r,E=B*P*o-M*r,D=P*P*o+a,t.m00=h*x+_*A+p*b,t.m01=l*x+f*A+y*b,t.m02=c*x+m*A+v*b,t.m03=u*x+d*A+g*b,t.m04=h*C+_*S+p*T,t.m05=l*C+f*S+y*T,t.m06=c*C+m*S+v*T,t.m07=u*C+d*S+g*T,t.m08=h*w+_*E+p*D,t.m09=l*w+f*E+y*D,t.m10=c*w+m*E+v*D,t.m11=u*w+d*E+g*D,e!==t&&(t.m12=e.m12,t.m13=e.m13,t.m14=e.m14,t.m15=e.m15),t)},V.rotateX=function(t,e,i){var n=Math.sin(i),r=Math.cos(i),s=e.m04,a=e.m05,o=e.m06,h=e.m07,l=e.m08,c=e.m09,u=e.m10,_=e.m11;return e!==t&&(t.m00=e.m00,t.m01=e.m01,t.m02=e.m02,t.m03=e.m03,t.m12=e.m12,t.m13=e.m13,t.m14=e.m14,t.m15=e.m15),t.m04=s*r+l*n,t.m05=a*r+c*n,t.m06=o*r+u*n,t.m07=h*r+_*n,t.m08=l*r-s*n,t.m09=c*r-a*n,t.m10=u*r-o*n,t.m11=_*r-h*n,t},V.rotateY=function(t,e,i){var n=Math.sin(i),r=Math.cos(i),s=e.m00,a=e.m01,o=e.m02,h=e.m03,l=e.m08,c=e.m09,u=e.m10,_=e.m11;return e!==t&&(t.m04=e.m04,t.m05=e.m05,t.m06=e.m06,t.m07=e.m07,t.m12=e.m12,t.m13=e.m13,t.m14=e.m14,t.m15=e.m15),t.m00=s*r-l*n,t.m01=a*r-c*n,t.m02=o*r-u*n,t.m03=h*r-_*n,t.m08=s*n+l*r,t.m09=a*n+c*r,t.m10=o*n+u*r,t.m11=h*n+_*r,t},V.rotateZ=function(t,e,i){var n=Math.sin(i),r=Math.cos(i),s=e.m00,a=e.m01,o=e.m02,h=e.m03,l=e.m04,c=e.m05,u=e.m06,_=e.m07;return e!==t&&(t.m08=e.m08,t.m09=e.m09,t.m10=e.m10,t.m11=e.m11,t.m12=e.m12,t.m13=e.m13,t.m14=e.m14,t.m15=e.m15),t.m00=s*r+l*n,t.m01=a*r+c*n,t.m02=o*r+u*n,t.m03=h*r+_*n,t.m04=l*r-s*n,t.m05=c*r-a*n,t.m06=u*r-o*n,t.m07=_*r-h*n,t},V.fromTranslation=function(t,e){return t.m00=1,t.m01=0,t.m02=0,t.m03=0,t.m04=0,t.m05=1,t.m06=0,t.m07=0,t.m08=0,t.m09=0,t.m10=1,t.m11=0,t.m12=e.x,t.m13=e.y,t.m14=e.z,t.m15=1,t},V.fromScaling=function(t,e){return t.m00=e.x,t.m01=0,t.m02=0,t.m03=0,t.m04=0,t.m05=e.y,t.m06=0,t.m07=0,t.m08=0,t.m09=0,t.m10=e.z,t.m11=0,t.m12=0,t.m13=0,t.m14=0,t.m15=1,t},V.fromRotation=function(t,e,i){var n,r,a,o=i.x,h=i.y,l=i.z,c=Math.sqrt(o*o+h*h+l*l);return Math.abs(c)<s?null:(o*=c=1/c,h*=c,l*=c,n=Math.sin(e),a=1-(r=Math.cos(e)),t.m00=o*o*a+r,t.m01=h*o*a+l*n,t.m02=l*o*a-h*n,t.m03=0,t.m04=o*h*a-l*n,t.m05=h*h*a+r,t.m06=l*h*a+o*n,t.m07=0,t.m08=o*l*a+h*n,t.m09=h*l*a-o*n,t.m10=l*l*a+r,t.m11=0,t.m12=0,t.m13=0,t.m14=0,t.m15=1,t)},V.fromXRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e);return t.m00=1,t.m01=0,t.m02=0,t.m03=0,t.m04=0,t.m05=n,t.m06=i,t.m07=0,t.m08=0,t.m09=-i,t.m10=n,t.m11=0,t.m12=0,t.m13=0,t.m14=0,t.m15=1,t},V.fromYRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e);return t.m00=n,t.m01=0,t.m02=-i,t.m03=0,t.m04=0,t.m05=1,t.m06=0,t.m07=0,t.m08=i,t.m09=0,t.m10=n,t.m11=0,t.m12=0,t.m13=0,t.m14=0,t.m15=1,t},V.fromZRotation=function(t,e){var i=Math.sin(e),n=Math.cos(e);return t.m00=n,t.m01=i,t.m02=0,t.m03=0,t.m04=-i,t.m05=n,t.m06=0,t.m07=0,t.m08=0,t.m09=0,t.m10=1,t.m11=0,t.m12=0,t.m13=0,t.m14=0,t.m15=1,t},V.fromRT=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=e.w,o=n+n,h=r+r,l=s+s,c=n*o,u=n*h,_=n*l,f=r*h,m=r*l,d=s*l,p=a*o,y=a*h,v=a*l;return t.m00=1-(f+d),t.m01=u+v,t.m02=_-y,t.m03=0,t.m04=u-v,t.m05=1-(c+d),t.m06=m+p,t.m07=0,t.m08=_+y,t.m09=m-p,t.m10=1-(c+f),t.m11=0,t.m12=i.x,t.m13=i.y,t.m14=i.z,t.m15=1,t},V.getTranslation=function(t,e){return t.x=e.m12,t.y=e.m13,t.z=e.m14,t},V.getScaling=function(t,e){var i=e.m00,n=e.m01,r=e.m02,s=e.m04,a=e.m05,o=e.m06,h=e.m08,l=e.m09,c=e.m10;return t.x=Math.sqrt(i*i+n*n+r*r),t.y=Math.sqrt(s*s+a*a+o*o),t.z=Math.sqrt(h*h+l*l+c*c),t},V.getRotation=function(t,e){var i=e.m00+e.m05+e.m10,n=0;return i>0?(n=2*Math.sqrt(i+1),t.w=.25*n,t.x=(e.m06-e.m09)/n,t.y=(e.m08-e.m02)/n,t.z=(e.m01-e.m04)/n):e.m00>e.m05&e.m00>e.m10?(n=2*Math.sqrt(1+e.m00-e.m05-e.m10),t.w=(e.m06-e.m09)/n,t.x=.25*n,t.y=(e.m01+e.m04)/n,t.z=(e.m08+e.m02)/n):e.m05>e.m10?(n=2*Math.sqrt(1+e.m05-e.m00-e.m10),t.w=(e.m08-e.m02)/n,t.x=(e.m01+e.m04)/n,t.y=.25*n,t.z=(e.m06+e.m09)/n):(n=2*Math.sqrt(1+e.m10-e.m00-e.m05),t.w=(e.m01-e.m04)/n,t.x=(e.m08+e.m02)/n,t.y=(e.m06+e.m09)/n,t.z=.25*n),t},V.fromRTS=function(t,e,i,n){var r=e.x,s=e.y,a=e.z,o=e.w,h=r+r,l=s+s,c=a+a,u=r*h,_=r*l,f=r*c,m=s*l,d=s*c,p=a*c,y=o*h,v=o*l,g=o*c,x=n.x,A=n.y,b=n.z;return t.m00=(1-(m+p))*x,t.m01=(_+g)*x,t.m02=(f-v)*x,t.m03=0,t.m04=(_-g)*A,t.m05=(1-(u+p))*A,t.m06=(d+y)*A,t.m07=0,t.m08=(f+v)*b,t.m09=(d-y)*b,t.m10=(1-(u+m))*b,t.m11=0,t.m12=i.x,t.m13=i.y,t.m14=i.z,t.m15=1,t},V.fromRTSOrigin=function(t,e,i,n,r){var s=e.x,a=e.y,o=e.z,h=e.w,l=s+s,c=a+a,u=o+o,_=s*l,f=s*c,m=s*u,d=a*c,p=a*u,y=o*u,v=h*l,g=h*c,x=h*u,A=n.x,b=n.y,C=n.z,S=r.x,T=r.y,w=r.z;return t.m00=(1-(d+y))*A,t.m01=(f+x)*A,t.m02=(m-g)*A,t.m03=0,t.m04=(f-x)*b,t.m05=(1-(_+y))*b,t.m06=(p+v)*b,t.m07=0,t.m08=(m+g)*C,t.m09=(p-v)*C,t.m10=(1-(_+d))*C,t.m11=0,t.m12=i.x+S-(t.m00*S+t.m04*T+t.m08*w),t.m13=i.y+T-(t.m01*S+t.m05*T+t.m09*w),t.m14=i.z+w-(t.m02*S+t.m06*T+t.m10*w),t.m15=1,t},V.fromQuat=function(t,e){var i=e.x,n=e.y,r=e.z,s=e.w,a=i+i,o=n+n,h=r+r,l=i*a,c=n*a,u=n*o,_=r*a,f=r*o,m=r*h,d=s*a,p=s*o,y=s*h;return t.m00=1-u-m,t.m01=c+y,t.m02=_-p,t.m03=0,t.m04=c-y,t.m05=1-l-m,t.m06=f+d,t.m07=0,t.m08=_+p,t.m09=f-d,t.m10=1-l-u,t.m11=0,t.m12=0,t.m13=0,t.m14=0,t.m15=1,t},V.frustum=function(t,e,i,n,r,s,a){var o=1/(i-e),h=1/(r-n),l=1/(s-a);return t.m00=2*s*o,t.m01=0,t.m02=0,t.m03=0,t.m04=0,t.m05=2*s*h,t.m06=0,t.m07=0,t.m08=(i+e)*o,t.m09=(r+n)*h,t.m10=(a+s)*l,t.m11=-1,t.m12=0,t.m13=0,t.m14=a*s*2*l,t.m15=0,t},V.perspective=function(t,e,i,n,r){var s=1/Math.tan(e/2),a=1/(n-r);return t.m00=s/i,t.m01=0,t.m02=0,t.m03=0,t.m04=0,t.m05=s,t.m06=0,t.m07=0,t.m08=0,t.m09=0,t.m10=(r+n)*a,t.m11=-1,t.m12=0,t.m13=0,t.m14=2*r*n*a,t.m15=0,t},V.perspectiveFromFieldOfView=function(t,e,i,n){var r=Math.tan(e.upDegrees*Math.PI/180),s=Math.tan(e.downDegrees*Math.PI/180),a=Math.tan(e.leftDegrees*Math.PI/180),o=Math.tan(e.rightDegrees*Math.PI/180),h=2/(a+o),l=2/(r+s);return t.m00=h,t.m01=0,t.m02=0,t.m03=0,t.m04=0,t.m05=l,t.m06=0,t.m07=0,t.m08=-(a-o)*h*.5,t.m09=(r-s)*l*.5,t.m10=n/(i-n),t.m11=-1,t.m12=0,t.m13=0,t.m14=n*i/(i-n),t.m15=0,t},V.ortho=function(t,e,i,n,r,s,a){var o=1/(e-i),h=1/(n-r),l=1/(s-a);return t.m00=-2*o,t.m01=0,t.m02=0,t.m03=0,t.m04=0,t.m05=-2*h,t.m06=0,t.m07=0,t.m08=0,t.m09=0,t.m10=2*l,t.m11=0,t.m12=(e+i)*o,t.m13=(r+n)*h,t.m14=(a+s)*l,t.m15=1,t},V.lookAt=function(t,e,i,n){var r,a,o,h,l,c,u,_,f,m,d=e.x,p=e.y,y=e.z,v=n.x,g=n.y,x=n.z,A=i.x,b=i.y,C=i.z;return Math.abs(d-A)<s&&Math.abs(p-b)<s&&Math.abs(y-C)<s?V.identity(t):(u=d-A,_=p-b,f=y-C,r=g*(f*=m=1/Math.sqrt(u*u+_*_+f*f))-x*(_*=m),a=x*(u*=m)-v*f,o=v*_-g*u,(m=Math.sqrt(r*r+a*a+o*o))?(r*=m=1/m,a*=m,o*=m):(r=0,a=0,o=0),h=_*o-f*a,l=f*r-u*o,c=u*a-_*r,(m=Math.sqrt(h*h+l*l+c*c))?(h*=m=1/m,l*=m,c*=m):(h=0,l=0,c=0),t.m00=r,t.m01=h,t.m02=u,t.m03=0,t.m04=a,t.m05=l,t.m06=_,t.m07=0,t.m08=o,t.m09=c,t.m10=f,t.m11=0,t.m12=-(r*d+a*p+o*y),t.m13=-(h*d+l*p+c*y),t.m14=-(u*d+_*p+f*y),t.m15=1,t)},V.str=function(t){return"mat4("+t.m00+", "+t.m01+", "+t.m02+", "+t.m03+", "+t.m04+", "+t.m05+", "+t.m06+", "+t.m07+", "+t.m08+", "+t.m09+", "+t.m10+", "+t.m11+", "+t.m12+", "+t.m13+", "+t.m14+", "+t.m15+")"},V.array=function(t,e){return t[0]=e.m00,t[1]=e.m01,t[2]=e.m02,t[3]=e.m03,t[4]=e.m04,t[5]=e.m05,t[6]=e.m06,t[7]=e.m07,t[8]=e.m08,t[9]=e.m09,t[10]=e.m10,t[11]=e.m11,t[12]=e.m12,t[13]=e.m13,t[14]=e.m14,t[15]=e.m15,t},V.frob=function(t){return Math.sqrt(Math.pow(t.m00,2)+Math.pow(t.m01,2)+Math.pow(t.m02,2)+Math.pow(t.m03,2)+Math.pow(t.m04,2)+Math.pow(t.m05,2)+Math.pow(t.m06,2)+Math.pow(t.m07,2)+Math.pow(t.m08,2)+Math.pow(t.m09,2)+Math.pow(t.m10,2)+Math.pow(t.m11,2)+Math.pow(t.m12,2)+Math.pow(t.m13,2)+Math.pow(t.m14,2)+Math.pow(t.m15,2))},V.add=function(t,e,i){return t.m00=e.m00+i.m00,t.m01=e.m01+i.m01,t.m02=e.m02+i.m02,t.m03=e.m03+i.m03,t.m04=e.m04+i.m04,t.m05=e.m05+i.m05,t.m06=e.m06+i.m06,t.m07=e.m07+i.m07,t.m08=e.m08+i.m08,t.m09=e.m09+i.m09,t.m10=e.m10+i.m10,t.m11=e.m11+i.m11,t.m12=e.m12+i.m12,t.m13=e.m13+i.m13,t.m14=e.m14+i.m14,t.m15=e.m15+i.m15,t},V.subtract=function(t,e,i){return t.m00=e.m00-i.m00,t.m01=e.m01-i.m01,t.m02=e.m02-i.m02,t.m03=e.m03-i.m03,t.m04=e.m04-i.m04,t.m05=e.m05-i.m05,t.m06=e.m06-i.m06,t.m07=e.m07-i.m07,t.m08=e.m08-i.m08,t.m09=e.m09-i.m09,t.m10=e.m10-i.m10,t.m11=e.m11-i.m11,t.m12=e.m12-i.m12,t.m13=e.m13-i.m13,t.m14=e.m14-i.m14,t.m15=e.m15-i.m15,t},V.sub=V.subtract,V.multiplyScalar=function(t,e,i){return t.m00=e.m00*i,t.m01=e.m01*i,t.m02=e.m02*i,t.m03=e.m03*i,t.m04=e.m04*i,t.m05=e.m05*i,t.m06=e.m06*i,t.m07=e.m07*i,t.m08=e.m08*i,t.m09=e.m09*i,t.m10=e.m10*i,t.m11=e.m11*i,t.m12=e.m12*i,t.m13=e.m13*i,t.m14=e.m14*i,t.m15=e.m15*i,t},V.multiplyScalarAndAdd=function(t,e,i,n){return t.m00=e.m00+i.m00*n,t.m01=e.m01+i.m01*n,t.m02=e.m02+i.m02*n,t.m03=e.m03+i.m03*n,t.m04=e.m04+i.m04*n,t.m05=e.m05+i.m05*n,t.m06=e.m06+i.m06*n,t.m07=e.m07+i.m07*n,t.m08=e.m08+i.m08*n,t.m09=e.m09+i.m09*n,t.m10=e.m10+i.m10*n,t.m11=e.m11+i.m11*n,t.m12=e.m12+i.m12*n,t.m13=e.m13+i.m13*n,t.m14=e.m14+i.m14*n,t.m15=e.m15+i.m15*n,t},V.exactEquals=function(t,e){return t.m00===e.m00&&t.m01===e.m01&&t.m02===e.m02&&t.m03===e.m03&&t.m04===e.m04&&t.m05===e.m05&&t.m06===e.m06&&t.m07===e.m07&&t.m08===e.m08&&t.m09===e.m09&&t.m10===e.m10&&t.m11===e.m11&&t.m12===e.m12&&t.m13===e.m13&&t.m14===e.m14&&t.m15===e.m15},V.equals=function(t,e){var i=t.m00,n=t.m01,r=t.m02,a=t.m03,o=t.m04,h=t.m05,l=t.m06,c=t.m07,u=t.m08,_=t.m09,f=t.m10,m=t.m11,d=t.m12,p=t.m13,y=t.m14,v=t.m15,g=e.m00,x=e.m01,A=e.m02,b=e.m03,C=e.m04,S=e.m05,T=e.m06,w=e.m07,E=e.m08,D=e.m09,M=e.m10,B=e.m11,P=e.m12,I=e.m13,R=e.m14,O=e.m15;return Math.abs(i-g)<=s*Math.max(1,Math.abs(i),Math.abs(g))&&Math.abs(n-x)<=s*Math.max(1,Math.abs(n),Math.abs(x))&&Math.abs(r-A)<=s*Math.max(1,Math.abs(r),Math.abs(A))&&Math.abs(a-b)<=s*Math.max(1,Math.abs(a),Math.abs(b))&&Math.abs(o-C)<=s*Math.max(1,Math.abs(o),Math.abs(C))&&Math.abs(h-S)<=s*Math.max(1,Math.abs(h),Math.abs(S))&&Math.abs(l-T)<=s*Math.max(1,Math.abs(l),Math.abs(T))&&Math.abs(c-w)<=s*Math.max(1,Math.abs(c),Math.abs(w))&&Math.abs(u-E)<=s*Math.max(1,Math.abs(u),Math.abs(E))&&Math.abs(_-D)<=s*Math.max(1,Math.abs(_),Math.abs(D))&&Math.abs(f-M)<=s*Math.max(1,Math.abs(f),Math.abs(M))&&Math.abs(m-B)<=s*Math.max(1,Math.abs(m),Math.abs(B))&&Math.abs(d-P)<=s*Math.max(1,Math.abs(d),Math.abs(P))&&Math.abs(p-I)<=s*Math.max(1,Math.abs(p),Math.abs(I))&&Math.abs(y-R)<=s*Math.max(1,Math.abs(y),Math.abs(R))&&Math.abs(v-O)<=s*Math.max(1,Math.abs(v),Math.abs(O))};var N=new Array(3),k=function(t,e,i){this.r=t,this.g=e,this.b=i};k.prototype.toJSON=function(){return N[0]=this.r,N[1]=this.g,N[2]=this.b,N};var G={create:function(){return new k(1,1,1)},new:function(t,e,i){return new k(t,e,i)},clone:function(t){return new k(t.r,t.g,t.b,t.a)},copy:function(t,e){return t.r=e.r,t.g=e.g,t.b=e.b,t},set:function(t,e,i,n){return t.r=e,t.g=i,t.b=n,t},fromHex:function(t,e){var i=(e>>16)/255,n=(e>>8&255)/255,r=(255&e)/255;return t.r=i,t.g=n,t.b=r,t},add:function(t,e,i){return t.r=e.r+i.r,t.g=e.g+i.g,t.b=e.b+i.b,t},subtract:function(t,e,i){return t.r=e.r-i.r,t.g=e.g-i.g,t.b=e.b-i.b,t}};G.sub=G.subtract,G.multiply=function(t,e,i){return t.r=e.r*i.r,t.g=e.g*i.g,t.b=e.b*i.b,t},G.mul=G.multiply,G.divide=function(t,e,i){return t.r=e.r/i.r,t.g=e.g/i.g,t.b=e.b/i.b,t},G.div=G.divide,G.scale=function(t,e,i){return t.r=e.r*i,t.g=e.g*i,t.b=e.b*i,t},G.lerp=function(t,e,i,n){var r=e.r,s=e.g,a=e.b;return t.r=r+n*(i.r-r),t.g=s+n*(i.g-s),t.b=a+n*(i.b-a),t},G.str=function(t){return"color3("+t.r+", "+t.g+", "+t.b+")"},G.array=function(t,e){return t[0]=e.r,t[1]=e.g,t[2]=e.b,t},G.exactEquals=function(t,e){return t.r===e.r&&t.g===e.g&&t.b===e.b},G.equals=function(t,e){var i=t.r,n=t.g,r=t.b,a=e.r,o=e.g,h=e.b;return Math.abs(i-a)<=s*Math.max(1,Math.abs(i),Math.abs(a))&&Math.abs(n-o)<=s*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(r-h)<=s*Math.max(1,Math.abs(r),Math.abs(h))},G.hex=function(t){return 255*t.r<<16|255*t.g<<8|255*t.b};var z=new Array(4),U=function(t,e,i,n){this.r=t,this.g=e,this.b=i,this.a=n};U.prototype.toJSON=function(){return z[0]=this.r,z[1]=this.g,z[2]=this.b,z[3]=this.a,z};var j={create:function(){return new U(1,1,1,1)},new:function(t,e,i,n){return new U(t,e,i,n)},clone:function(t){return new U(t.r,t.g,t.b,t.a)},copy:function(t,e){return t.r=e.r,t.g=e.g,t.b=e.b,t.a=e.a,t},set:function(t,e,i,n,r){return t.r=e,t.g=i,t.b=n,t.a=r,t},fromHex:function(t,e){var i=(e>>24)/255,n=(e>>16&255)/255,r=(e>>8&255)/255,s=(255&e)/255;return t.r=i,t.g=n,t.b=r,t.a=s,t},add:function(t,e,i){return t.r=e.r+i.r,t.g=e.g+i.g,t.b=e.b+i.b,t.a=e.a+i.a,t},subtract:function(t,e,i){return t.r=e.r-i.r,t.g=e.g-i.g,t.b=e.b-i.b,t.a=e.a-i.a,t}};j.sub=j.subtract,j.multiply=function(t,e,i){return t.r=e.r*i.r,t.g=e.g*i.g,t.b=e.b*i.b,t.a=e.a*i.a,t},j.mul=j.multiply,j.divide=function(t,e,i){return t.r=e.r/i.r,t.g=e.g/i.g,t.b=e.b/i.b,t.a=e.a/i.a,t},j.div=j.divide,j.scale=function(t,e,i){return t.r=e.r*i,t.g=e.g*i,t.b=e.b*i,t.a=e.a*i,t},j.lerp=function(t,e,i,n){var r=e.r,s=e.g,a=e.b,o=e.a;return t.r=r+n*(i.r-r),t.g=s+n*(i.g-s),t.b=a+n*(i.b-a),t.a=o+n*(i.a-o),t},j.str=function(t){return"color4("+t.r+", "+t.g+", "+t.b+", "+t.a+")"},j.array=function(t,e){return t[0]=e.r,t[1]=e.g,t[2]=e.b,t[3]=e.a,t},j.exactEquals=function(t,e){return t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a},j.equals=function(t,e){var i=t.r,n=t.g,r=t.b,a=t.a,o=e.r,h=e.g,l=e.b,c=e.a;return Math.abs(i-o)<=s*Math.max(1,Math.abs(i),Math.abs(o))&&Math.abs(n-h)<=s*Math.max(1,Math.abs(n),Math.abs(h))&&Math.abs(r-l)<=s*Math.max(1,Math.abs(r),Math.abs(l))&&Math.abs(a-c)<=s*Math.max(1,Math.abs(a),Math.abs(c))},j.hex=function(t){return(255*t.r<<24|255*t.g<<16|255*t.b<<8|255*t.a)>>>0};var W=f,H=Object.freeze({bits:W,vec2:p,vec3:g,vec4:b,quat:D,mat2:P,mat23:O,mat3:T,mat4:V,color3:G,color4:j,EPSILON:s,equals:function(t,e){return Math.abs(t-e)<=s*Math.max(1,Math.abs(t),Math.abs(e))},approx:function(t,e,i){return i=i||s,Math.abs(t-e)<=i},clamp:function(t,e,i){return t<e?e:t>i?i:t},clamp01:function(t){return t<0?0:t>1?1:t},lerp:function(t,e,i){return t+(e-t)*i},toRadian:a,toDegree:function(t){return t*r},random:o,randomRange:h,randomRangeInt:function(t,e){return Math.floor(h(t,e))},nextPow2:function(t){return--t,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t}}),X={PROJ_PERSPECTIVE:0,PROJ_ORTHO:1,LIGHT_DIRECTIONAL:0,LIGHT_POINT:1,LIGHT_SPOT:2,SHADOW_NONE:0,SHADOW_HARD:1,SHADOW_SOFT:2,PARAM_INT:0,PARAM_INT2:1,PARAM_INT3:2,PARAM_INT4:3,PARAM_FLOAT:4,PARAM_FLOAT2:5,PARAM_FLOAT3:6,PARAM_FLOAT4:7,PARAM_COLOR3:8,PARAM_COLOR4:9,PARAM_MAT2:10,PARAM_MAT3:11,PARAM_MAT4:12,PARAM_TEXTURE_2D:13,PARAM_TEXTURE_CUBE:14,CLEAR_COLOR:1,CLEAR_DEPTH:2,CLEAR_STENCIL:4},Y=6407,q=6408,J=[[9728,9984,9986],[9729,9985,9987]],Z=[{format:Y,internalFormat:33776,pixelType:null},{format:q,internalFormat:33777,pixelType:null},{format:q,internalFormat:33778,pixelType:null},{format:q,internalFormat:33779,pixelType:null},{format:Y,internalFormat:36196,pixelType:null},{format:Y,internalFormat:35841,pixelType:null},{format:q,internalFormat:35843,pixelType:null},{format:Y,internalFormat:35840,pixelType:null},{format:q,internalFormat:35842,pixelType:null},{format:6406,internalFormat:6406,pixelType:5121},{format:6409,internalFormat:6409,pixelType:5121},{format:6410,internalFormat:6410,pixelType:5121},{format:Y,internalFormat:Y,pixelType:33635},{format:q,internalFormat:q,pixelType:32820},{format:q,internalFormat:q,pixelType:32819},{format:Y,internalFormat:Y,pixelType:5121},{format:q,internalFormat:q,pixelType:5121},{format:Y,internalFormat:Y,pixelType:36193},{format:q,internalFormat:q,pixelType:36193},{format:Y,internalFormat:Y,pixelType:5126},{format:q,internalFormat:q,pixelType:5126},{format:null,internalFormat:null,pixelType:null},{format:null,internalFormat:null,pixelType:null},{format:null,internalFormat:null,pixelType:null},{format:null,internalFormat:null,pixelType:null},{format:6402,internalFormat:6402,pixelType:5123},{format:6402,internalFormat:6402,pixelType:5125},{format:null,internalFormat:null,pixelType:null}],K={USAGE_STATIC:35044,USAGE_DYNAMIC:35048,USAGE_STREAM:35040,INDEX_FMT_UINT8:5121,INDEX_FMT_UINT16:5123,INDEX_FMT_UINT32:5125,ATTR_POSITION:"a_position",ATTR_NORMAL:"a_normal",ATTR_TANGENT:"a_tangent",ATTR_BITANGENT:"a_bitangent",ATTR_WEIGHTS:"a_weights",ATTR_JOINTS:"a_joints",ATTR_COLOR:"a_color",ATTR_COLOR0:"a_color0",ATTR_COLOR1:"a_color1",ATTR_UV:"a_uv",ATTR_UV0:"a_uv0",ATTR_UV1:"a_uv1",ATTR_UV2:"a_uv2",ATTR_UV3:"a_uv3",ATTR_UV4:"a_uv4",ATTR_UV5:"a_uv5",ATTR_UV6:"a_uv6",ATTR_UV7:"a_uv7",ATTR_TYPE_INT8:5120,ATTR_TYPE_UINT8:5121,ATTR_TYPE_INT16:5122,ATTR_TYPE_UINT16:5123,ATTR_TYPE_INT32:5124,ATTR_TYPE_UINT32:5125,ATTR_TYPE_FLOAT32:5126,FILTER_NEAREST:0,FILTER_LINEAR:1,WRAP_REPEAT:10497,WRAP_CLAMP:33071,WRAP_MIRROR:33648,TEXTURE_FMT_RGB_DXT1:0,TEXTURE_FMT_RGBA_DXT1:1,TEXTURE_FMT_RGBA_DXT3:2,TEXTURE_FMT_RGBA_DXT5:3,TEXTURE_FMT_RGB_ETC1:4,TEXTURE_FMT_RGB_PVRTC_2BPPV1:5,TEXTURE_FMT_RGBA_PVRTC_2BPPV1:6,TEXTURE_FMT_RGB_PVRTC_4BPPV1:7,TEXTURE_FMT_RGBA_PVRTC_4BPPV1:8,TEXTURE_FMT_A8:9,TEXTURE_FMT_L8:10,TEXTURE_FMT_L8_A8:11,TEXTURE_FMT_R5_G6_B5:12,TEXTURE_FMT_R5_G5_B5_A1:13,TEXTURE_FMT_R4_G4_B4_A4:14,TEXTURE_FMT_RGB8:15,TEXTURE_FMT_RGBA8:16,TEXTURE_FMT_RGB16F:17,TEXTURE_FMT_RGBA16F:18,TEXTURE_FMT_RGB32F:19,TEXTURE_FMT_RGBA32F:20,TEXTURE_FMT_R32F:21,TEXTURE_FMT_111110F:22,TEXTURE_FMT_SRGB:23,TEXTURE_FMT_SRGBA:24,TEXTURE_FMT_D16:25,TEXTURE_FMT_D32:26,TEXTURE_FMT_D24S8:27,DS_FUNC_NEVER:512,DS_FUNC_LESS:513,DS_FUNC_EQUAL:514,DS_FUNC_LEQUAL:515,DS_FUNC_GREATER:516,DS_FUNC_NOTEQUAL:517,DS_FUNC_GEQUAL:518,DS_FUNC_ALWAYS:519,RB_FMT_RGBA4:32854,RB_FMT_RGB5_A1:32855,RB_FMT_RGB565:36194,RB_FMT_D16:33189,RB_FMT_S8:36168,RB_FMT_D24S8:34041,BLEND_FUNC_ADD:32774,BLEND_FUNC_SUBTRACT:32778,BLEND_FUNC_REVERSE_SUBTRACT:32779,BLEND_ZERO:0,BLEND_ONE:1,BLEND_SRC_COLOR:768,BLEND_ONE_MINUS_SRC_COLOR:769,BLEND_DST_COLOR:774,BLEND_ONE_MINUS_DST_COLOR:775,BLEND_SRC_ALPHA:770,BLEND_ONE_MINUS_SRC_ALPHA:771,BLEND_DST_ALPHA:772,BLEND_ONE_MINUS_DST_ALPHA:773,BLEND_CONSTANT_COLOR:32769,BLEND_ONE_MINUS_CONSTANT_COLOR:32770,BLEND_CONSTANT_ALPHA:32771,BLEND_ONE_MINUS_CONSTANT_ALPHA:32772,BLEND_SRC_ALPHA_SATURATE:776,STENCIL_OP_KEEP:7680,STENCIL_OP_ZERO:0,STENCIL_OP_REPLACE:7681,STENCIL_OP_INCR:7682,STENCIL_OP_INCR_WRAP:34055,STENCIL_OP_DECR:7683,STENCIL_OP_DECR_WRAP:34056,STENCIL_OP_INVERT:5386,CULL_NONE:0,CULL_FRONT:1028,CULL_BACK:1029,CULL_FRONT_AND_BACK:1032,PT_POINTS:0,PT_LINES:1,PT_LINE_LOOP:2,PT_LINE_STRIP:3,PT_TRIANGLES:4,PT_TRIANGLE_STRIP:5,PT_TRIANGLE_FAN:6};function Q(t){return t===K.ATTR_TYPE_INT8?1:t===K.ATTR_TYPE_UINT8?1:t===K.ATTR_TYPE_INT16?2:t===K.ATTR_TYPE_UINT16?2:t===K.ATTR_TYPE_INT32?4:t===K.ATTR_TYPE_UINT32?4:t===K.ATTR_TYPE_FLOAT32?4:(console.warn("Unknown ATTR_TYPE: "+t),0)}function $(t,e,i){void 0===i&&(i=-1);var n=J[e][i+1];return void 0===n?(console.warn("Unknown FILTER: "+e),-1===i?t.LINEAR:t.LINEAR_MIPMAP_LINEAR):n}function tt(t){var e=Z[t];return void 0===e?(console.warn("Unknown TEXTURE_FMT: "+t),Z[K.TEXTURE_FMT_RGBA8]):e}var et=function(t){this._attr2el={},this._elements=[],this._bytes=0;for(var e=0,i=0,n=t.length;i<n;++i){var r=t[i],s={name:r.name,offset:e,stride:0,stream:-1,type:r.type,num:r.num,normalize:void 0!==r.normalize&&r.normalize,bytes:r.num*Q(r.type)};this._attr2el[s.name]=s,this._elements.push(s),this._bytes+=s.bytes,e+=s.bytes}for(var a=0,o=this._elements.length;a<o;++a){this._elements[a].stride=this._bytes}};et.prototype.element=function(t){return this._attr2el[t]};var it=function(t,e,i,n,r){this._device=t,this._format=e,this._usage=i,this._numIndices=r,this._bytesPerIndex=0,e===K.INDEX_FMT_UINT8?this._bytesPerIndex=1:e===K.INDEX_FMT_UINT16?this._bytesPerIndex=2:e===K.INDEX_FMT_UINT32&&(this._bytesPerIndex=4),this._bytes=this._bytesPerIndex*r,this._glID=t._gl.createBuffer(),this.update(0,n),t._stats.ib+=this._bytes},nt={count:{configurable:!0}};it.prototype.destroy=function(){-1!==this._glID?(this._device._gl.deleteBuffer(this._glID),this._device._stats.ib-=this.bytes,this._glID=-1):console.error("The buffer already destroyed")},it.prototype.update=function(t,e){if(-1!==this._glID)if(e&&e.byteLength+t>this._bytes)console.error("Failed to update data, bytes exceed.");else{var i=this._device._gl,n=this._usage;i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,this._glID),e?t?i.bufferSubData(i.ELEMENT_ARRAY_BUFFER,t,e):i.bufferData(i.ELEMENT_ARRAY_BUFFER,e,n):this._bytes?i.bufferData(i.ELEMENT_ARRAY_BUFFER,this._bytes,n):console.warn("bufferData should not submit 0 bytes data"),this._device._restoreIndexBuffer()}else console.error("The buffer is destroyed")},nt.count.get=function(){return this._numIndices},Object.defineProperties(it.prototype,nt);var rt=function(t,e,i,n,r){this._device=t,this._format=e,this._usage=i,this._numVertices=r,this._bytes=this._format._bytes*r,this._glID=t._gl.createBuffer(),this.update(0,n),t._stats.vb+=this._bytes},st={count:{configurable:!0}};rt.prototype.destroy=function(){-1!==this._glID?(this._device._gl.deleteBuffer(this._glID),this._device._stats.vb-=this.bytes,this._glID=-1):console.error("The buffer already destroyed")},rt.prototype.update=function(t,e){if(-1!==this._glID)if(e&&e.byteLength+t>this._bytes)console.error("Failed to update data, bytes exceed.");else{var i=this._device._gl,n=this._usage;i.bindBuffer(i.ARRAY_BUFFER,this._glID),e?t?i.bufferSubData(i.ARRAY_BUFFER,t,e):i.bufferData(i.ARRAY_BUFFER,e,n):this._bytes?i.bufferData(i.ARRAY_BUFFER,this._bytes,n):console.warn("bufferData should not submit 0 bytes data"),i.bindBuffer(i.ARRAY_BUFFER,null)}else console.error("The buffer is destroyed")},st.count.get=function(){return this._numVertices},Object.defineProperties(rt.prototype,st);var at=0;function ot(t,e,i){i.split("\n").forEach((function(i){if(!(i.length<5)){var n=/^ERROR\:\s+(\d+)\:(\d+)\:\s*(.*)$/.exec(i);n?t.push({type:e,fileID:0|n[1],line:0|n[2],message:n[3].trim()}):i.length>0&&t.push({type:e,fileID:-1,line:0,message:i})}}))}var ht=function(t,e){this._device=t,this._attributes=[],this._uniforms=[],this._samplers=[],this._errors=[],this._linked=!1,this._vertSource=e.vert,this._fragSource=e.frag,this._glID=null,this._id=at++},lt={id:{configurable:!0}};function ct(t,e,i){var n=t.createShader(e);return t.shaderSource(n,i),t.compileShader(n),n}lt.id.get=function(){return this._id},ht.prototype.link=function(){if(!this._linked){var t=this._device._gl,e=ct(t,t.VERTEX_SHADER,this._vertSource),i=ct(t,t.FRAGMENT_SHADER,this._fragSource),n=t.createProgram();t.attachShader(n,e),t.attachShader(n,i),t.linkProgram(n);var r=!1,s=this._errors;if(t.getShaderParameter(e,t.COMPILE_STATUS)||(ot(s,"vs",t.getShaderInfoLog(e)),r=!0),t.getShaderParameter(i,t.COMPILE_STATUS)||(ot(s,"fs",t.getShaderInfoLog(i)),r=!0),t.deleteShader(e),t.deleteShader(i),r)s.forEach((function(t){console.error("Failed to compile "+t.type+" "+t.fileID+" (ln "+t.line+"): "+t.message)}));else if(t.getProgramParameter(n,t.LINK_STATUS)||(console.error("Failed to link shader program: "+t.getProgramInfoLog(n)),r=!0),!r){this._glID=n;for(var a=t.getProgramParameter(n,t.ACTIVE_ATTRIBUTES),o=0;o<a;++o){var h=t.getActiveAttrib(n,o),l=t.getAttribLocation(n,h.name);this._attributes.push({name:h.name,location:l,type:h.type})}for(var c=t.getProgramParameter(n,t.ACTIVE_UNIFORMS),u=0;u<c;++u){var _=t.getActiveUniform(n,u),f=_.name,m=t.getUniformLocation(n,f),d="[0]"===f.substr(f.length-3);d&&(f=f.substr(0,f.length-3)),this._uniforms.push({name:f,location:m,type:_.type,size:d?_.size:void 0})}this._linked=!0}}},ht.prototype.destroy=function(){this._device._gl.deleteProgram(this._glID),this._linked=!1,this._glID=null,this._attributes=[],this._uniforms=[],this._samplers=[]},Object.defineProperties(ht.prototype,lt);var ut=function(t){this._device=t,this._width=4,this._height=4,this._hasMipmap=!1,this._compressed=!1,this._anisotropy=1,this._minFilter=K.FILTER_LINEAR,this._magFilter=K.FILTER_LINEAR,this._mipFilter=K.FILTER_LINEAR,this._wrapS=K.WRAP_REPEAT,this._wrapT=K.WRAP_REPEAT,this._format=K.TEXTURE_FMT_RGBA8,this._target=-1};function _t(t){return!(t&t-1||!t)}ut.prototype.destroy=function(){-1!==this._glID?(this._device._gl.deleteTexture(this._glID),this._device._stats.tex-=this.bytes,this._glID=-1):console.error("The texture already destroyed")};var ft=(function(t){function e(e,i){t.call(this,e);var n=this._device._gl;this._target=n.TEXTURE_2D,this._glID=n.createTexture(),i.images=i.images||[null],this.update(i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.update=function(t){var e=this._device._gl,i=this._hasMipmap;t&&(void 0!==t.width&&(this._width=t.width),void 0!==t.height&&(this._height=t.height),void 0!==t.anisotropy&&(this._anisotropy=t.anisotropy),void 0!==t.minFilter&&(this._minFilter=t.minFilter),void 0!==t.magFilter&&(this._magFilter=t.magFilter),void 0!==t.mipFilter&&(this._mipFilter=t.mipFilter),void 0!==t.wrapS&&(this._wrapS=t.wrapS),void 0!==t.wrapT&&(this._wrapT=t.wrapT),void 0!==t.format&&(this._format=t.format,this._compressed=this._format>=K.TEXTURE_FMT_RGB_DXT1&&this._format<=K.TEXTURE_FMT_RGBA_PVRTC_4BPPV1),void 0!==t.mipmap&&(this._hasMipmap=t.mipmap,i=t.mipmap),void 0!==t.images&&t.images.length>1&&(i=!1,(t.width>t.height?t.width:t.height)>>t.images.length-1!=1&&console.error("texture-2d mipmap is invalid, should have a 1x1 mipmap.")));_t(this._width)&&_t(this._height)||(i=!1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),void 0!==t.images&&t.images.length>0&&this._setMipmap(t.images,t.flipY,t.premultiplyAlpha),this._setTexInfo(),i&&(e.hint(e.GENERATE_MIPMAP_HINT,e.NICEST),e.generateMipmap(e.TEXTURE_2D)),this._device._restoreTexture(0)},e.prototype.updateSubImage=function(t){var e=this._device._gl,i=tt(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),this._setSubImage(i,t),this._device._restoreTexture(0)},e.prototype.updateImage=function(t){var e=this._device._gl,i=tt(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,this._glID),this._setImage(i,t),this._device._restoreTexture(0)},e.prototype._setSubImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.image;!s||ArrayBuffer.isView(s)||s instanceof ArrayBuffer?(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),this._compressed?i.compressedTexSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,e.width,e.height,t.format,s):i.texSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,e.width,e.height,t.format,t.pixelType,s)):(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),i.texSubImage2D(i.TEXTURE_2D,e.level,e.x,e.y,t.format,t.pixelType,s))},e.prototype._setImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.image;!s||ArrayBuffer.isView(s)||s instanceof ArrayBuffer?(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),this._compressed?i.compressedTexImage2D(i.TEXTURE_2D,e.level,t.internalFormat,e.width,e.height,0,s):i.texImage2D(i.TEXTURE_2D,e.level,t.internalFormat,e.width,e.height,0,t.format,t.pixelType,s)):(void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!0):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),i.texImage2D(i.TEXTURE_2D,e.level,t.internalFormat,t.format,t.pixelType,s))},e.prototype._setMipmap=function(t,e,i){for(var n=tt(this._format),r={width:this._width,height:this._height,flipY:e,premultiplyAlpha:i,level:0,image:null},s=0;s<t.length;++s)r.level=s,r.width=this._width>>s,r.height=this._height>>s,r.image=t[s],this._setImage(n,r)},e.prototype._setTexInfo=function(){var t=this._device._gl,e=_t(this._width)&&_t(this._height);e||this._wrapS===K.WRAP_CLAMP&&this._wrapT===K.WRAP_CLAMP||(console.warn("WebGL1 doesn't support all wrap modes with NPOT textures"),this._wrapS=K.WRAP_CLAMP,this._wrapT=K.WRAP_CLAMP);var i=this._hasMipmap?this._mipFilter:-1;e||-1===i||(console.warn("NPOT textures do not support mipmap filter"),i=-1),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,$(t,this._minFilter,i)),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,$(t,this._magFilter,-1)),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,this._wrapS),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,this._wrapT);var n=this._device.ext("EXT_texture_filter_anisotropic");n&&n.TEXTURE_MAX_ANISOTROPY_EXT&&t.texParameteri(t.TEXTURE_2D,n.TEXTURE_MAX_ANISOTROPY_EXT,this._anisotropy)},e})(ut),mt=(function(t){function e(e,i){t.call(this,e);var n=this._device._gl;this._target=n.TEXTURE_CUBE_MAP,this._glID=n.createTexture(),this.update(i)}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.update=function(t){var e=this._device._gl,i=this._hasMipmap;t&&(void 0!==t.width&&(this._width=t.width),void 0!==t.height&&(this._height=t.height),void 0!==t.anisotropy&&(this._anisotropy=t.anisotropy),void 0!==t.minFilter&&(this._minFilter=t.minFilter),void 0!==t.magFilter&&(this._magFilter=t.magFilter),void 0!==t.mipFilter&&(this._mipFilter=t.mipFilter),void 0!==t.wrapS&&(this._wrapS=t.wrapS),void 0!==t.wrapT&&(this._wrapT=t.wrapT),void 0!==t.format&&(this._format=t.format,this._compressed=this._format>=K.TEXTURE_FMT_RGB_DXT1&&this._format<=K.TEXTURE_FMT_RGBA_PVRTC_4BPPV1),void 0!==t.mipmap&&(this._hasMipmap=t.mipmap,i=t.mipmap),void 0!==t.images&&t.images.length>1&&(i=!1,t.width!==t.height&&console.warn("texture-cube width and height should be identical."),t.width>>t.images.length-1!=1&&console.error("texture-cube mipmap is invalid. please set mipmap as 1x1, 2x2, 4x4 ... nxn"))),_t(this._width)&&_t(this._height)||(i=!1),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),void 0!==t.images&&t.images.length>0&&this._setMipmap(t.images,t.flipY,t.premultiplyAlpha),this._setTexInfo(),i&&(e.hint(e.GENERATE_MIPMAP_HINT,e.NICEST),e.generateMipmap(e.TEXTURE_CUBE_MAP)),this._device._restoreTexture(0)},e.prototype.updateSubImage=function(t){var e=this._device._gl,i=tt(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),this._setSubImage(i,t),this._device._restoreTexture(0)},e.prototype.updateImage=function(t){var e=this._device._gl,i=tt(this._format);e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_CUBE_MAP,this._glID),this._setImage(i,t),this._device._restoreTexture(0)},e.prototype._setSubImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.faceIndex,a=e.image;void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),!a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer?this._compressed?i.compressedTexSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,e.width,e.height,t.format,a):i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,e.width,e.height,t.format,t.pixelType,a):i.texSubImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,e.x,e.y,t.format,t.pixelType,a)},e.prototype._setImage=function(t,e){var i=this._device._gl,n=e.flipY,r=e.premultiplyAlpha,s=e.faceIndex,a=e.image;void 0===n?i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,!1):i.pixelStorei(i.UNPACK_FLIP_Y_WEBGL,n),void 0===r?i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1):i.pixelStorei(i.UNPACK_PREMULTIPLY_ALPHA_WEBGL,r),!a||ArrayBuffer.isView(a)||a instanceof ArrayBuffer?this._compressed?i.compressedTexImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,e.width,e.height,0,a):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,e.width,e.height,0,t.format,t.pixelType,a):i.texImage2D(i.TEXTURE_CUBE_MAP_POSITIVE_X+s,e.level,t.internalFormat,t.format,t.pixelType,a)},e.prototype._setMipmap=function(t,e,i){for(var n=tt(this._format),r={width:this._width,height:this._height,faceIndex:0,flipY:e,premultiplyAlpha:i,level:0,image:null},s=0;s<t.length;++s){var a=t[s];r.level=s,r.width=this._width>>s,r.height=this._height>>s;for(var o=0;o<6;++o)r.faceIndex=o,r.image=a[o],this._setImage(n,r)}},e.prototype._setTexInfo=function(){var t=this._device._gl,e=_t(this._width)&&_t(this._height);e||this._wrapS===K.WRAP_CLAMP&&this._wrapT===K.WRAP_CLAMP||(console.warn("WebGL1 doesn't support all wrap modes with NPOT textures"),this._wrapS=K.WRAP_CLAMP,this._wrapT=K.WRAP_CLAMP);var i=this._hasMipmap?this._mipFilter:-1;e||-1===i||(console.warn("NPOT textures do not support mipmap filter"),i=-1),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MIN_FILTER,$(t,this._minFilter,i)),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_MAG_FILTER,$(t,this._magFilter,-1)),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_S,this._wrapS),t.texParameteri(t.TEXTURE_CUBE_MAP,t.TEXTURE_WRAP_T,this._wrapT);var n=this._device.ext("EXT_texture_filter_anisotropic");n&&n.TEXTURE_MAX_ANISOTROPY_EXT&&t.texParameteri(t.TEXTURE_CUBE_MAP,n.TEXTURE_MAX_ANISOTROPY_EXT,this._anisotropy)},e})(ut),dt=function(t,e,i,n){this._device=t,this._format=e,this._width=i,this._height=n;var r=t._gl;this._glID=r.createRenderbuffer(),r.bindRenderbuffer(r.RENDERBUFFER,this._glID),r.renderbufferStorage(r.RENDERBUFFER,e,i,n),r.bindRenderbuffer(r.RENDERBUFFER,null)};dt.prototype.destroy=function(){if(null!==this._glID){var t=this._device._gl;t.bindRenderbuffer(t.RENDERBUFFER,null),t.deleteRenderbuffer(this._glID),this._glID=null}else console.error("The render-buffer already destroyed")};var pt=function(t,e,i,n){this._device=t,this._width=e,this._height=i,this._colors=n.colors||[],this._depth=n.depth||null,this._stencil=n.stencil||null,this._depthStencil=n.depthStencil||null,this._glID=t._gl.createFramebuffer()};pt.prototype.destroy=function(){null!==this._glID?(this._device._gl.deleteFramebuffer(this._glID),this._glID=null):console.error("The frame-buffer already destroyed")};var yt={blend:!1,blendSep:!1,blendColor:4294967295,blendEq:K.BLEND_FUNC_ADD,blendAlphaEq:K.BLEND_FUNC_ADD,blendSrc:K.BLEND_ONE,blendDst:K.BLEND_ZERO,blendSrcAlpha:K.BLEND_ONE,blendDstAlpha:K.BLEND_ZERO,depthTest:!1,depthWrite:!1,depthFunc:K.DS_FUNC_LESS,stencilTest:!1,stencilSep:!1,stencilFuncFront:K.DS_FUNC_ALWAYS,stencilRefFront:0,stencilMaskFront:255,stencilFailOpFront:K.STENCIL_OP_KEEP,stencilZFailOpFront:K.STENCIL_OP_KEEP,stencilZPassOpFront:K.STENCIL_OP_KEEP,stencilWriteMaskFront:255,stencilFuncBack:K.DS_FUNC_ALWAYS,stencilRefBack:0,stencilMaskBack:255,stencilFailOpBack:K.STENCIL_OP_KEEP,stencilZFailOpBack:K.STENCIL_OP_KEEP,stencilZPassOpBack:K.STENCIL_OP_KEEP,stencilWriteMaskBack:255,cullMode:K.CULL_BACK,primitiveType:K.PT_TRIANGLES,maxStream:-1,vertexBuffers:[],vertexBufferOffsets:[],indexBuffer:null,maxTextureSlot:-1,textureUnits:[],program:null},vt=function(t){this.vertexBuffers=new Array(t._caps.maxVertexStreams),this.vertexBufferOffsets=new Array(t._caps.maxVertexStreams),this.textureUnits=new Array(t._caps.maxTextureUnits),this.set(yt)};vt.initDefault=function(t){yt.vertexBuffers=new Array(t._caps.maxVertexStreams),yt.vertexBufferOffsets=new Array(t._caps.maxVertexStreams),yt.textureUnits=new Array(t._caps.maxTextureUnits)},vt.prototype.reset=function(){this.set(yt)},vt.prototype.set=function(t){this.blend=t.blend,this.blendSep=t.blendSep,this.blendColor=t.blendColor,this.blendEq=t.blendEq,this.blendAlphaEq=t.blendAlphaEq,this.blendSrc=t.blendSrc,this.blendDst=t.blendDst,this.blendSrcAlpha=t.blendSrcAlpha,this.blendDstAlpha=t.blendDstAlpha,this.depthTest=t.depthTest,this.depthWrite=t.depthWrite,this.depthFunc=t.depthFunc,this.stencilTest=t.stencilTest,this.stencilSep=t.stencilSep,this.stencilFuncFront=t.stencilFuncFront,this.stencilRefFront=t.stencilRefFront,this.stencilMaskFront=t.stencilMaskFront,this.stencilFailOpFront=t.stencilFailOpFront,this.stencilZFailOpFront=t.stencilZFailOpFront,this.stencilZPassOpFront=t.stencilZPassOpFront,this.stencilWriteMaskFront=t.stencilWriteMaskFront,this.stencilFuncBack=t.stencilFuncBack,this.stencilRefBack=t.stencilRefBack,this.stencilMaskBack=t.stencilMaskBack,this.stencilFailOpBack=t.stencilFailOpBack,this.stencilZFailOpBack=t.stencilZFailOpBack,this.stencilZPassOpBack=t.stencilZPassOpBack,this.stencilWriteMaskBack=t.stencilWriteMaskBack,this.cullMode=t.cullMode,this.primitiveType=t.primitiveType,this.maxStream=t.maxStream;for(var e=0;e<t.vertexBuffers.length;++e)this.vertexBuffers[e]=t.vertexBuffers[e];for(var i=0;i<t.vertexBufferOffsets.length;++i)this.vertexBufferOffsets[i]=t.vertexBufferOffsets[i];this.indexBuffer=t.indexBuffer,this.maxTextureSlot=t.maxTextureSlot;for(var n=0;n<t.textureUnits.length;++n)this.textureUnits[n]=t.textureUnits[n];this.program=t.program};var gt={5124:function(t,e,i){t.uniform1i(e,i)},5126:function(t,e,i){t.uniform1f(e,i)},35664:function(t,e,i){t.uniform2fv(e,i)},35665:function(t,e,i){t.uniform3fv(e,i)},35666:function(t,e,i){t.uniform4fv(e,i)},35667:function(t,e,i){t.uniform2iv(e,i)},35668:function(t,e,i){t.uniform3iv(e,i)},35669:function(t,e,i){t.uniform4iv(e,i)},35670:function(t,e,i){t.uniform1i(e,i)},35671:function(t,e,i){t.uniform2iv(e,i)},35672:function(t,e,i){t.uniform3iv(e,i)},35673:function(t,e,i){t.uniform4iv(e,i)},35674:function(t,e,i){t.uniformMatrix2fv(e,!1,i)},35675:function(t,e,i){t.uniformMatrix3fv(e,!1,i)},35676:function(t,e,i){t.uniformMatrix4fv(e,!1,i)},35678:function(t,e,i){t.uniform1i(e,i)},35680:function(t,e,i){t.uniform1i(e,i)}},xt={};function At(t,e,i,n){void 0===n&&(n=0),i instanceof ft?t.framebufferTexture2D(t.FRAMEBUFFER,e,t.TEXTURE_2D,i._glID,0):i instanceof mt?t.framebufferTexture2D(t.FRAMEBUFFER,e,t.TEXTURE_CUBE_MAP_POSITIVE_X+n,i._glID,0):t.framebufferRenderbuffer(t.FRAMEBUFFER,e,t.RENDERBUFFER,i._glID)}xt[5124]=function(t,e,i){t.uniform1iv(e,i)},xt[5126]=function(t,e,i){t.uniform1fv(e,i)},xt[35664]=function(t,e,i){t.uniform2fv(e,i)},xt[35665]=function(t,e,i){t.uniform3fv(e,i)},xt[35666]=function(t,e,i){t.uniform4fv(e,i)},xt[35667]=function(t,e,i){t.uniform2iv(e,i)},xt[35668]=function(t,e,i){t.uniform3iv(e,i)},xt[35669]=function(t,e,i){t.uniform4iv(e,i)},xt[35670]=function(t,e,i){t.uniform1iv(e,i)},xt[35671]=function(t,e,i){t.uniform2iv(e,i)},xt[35672]=function(t,e,i){t.uniform3iv(e,i)},xt[35673]=function(t,e,i){t.uniform4iv(e,i)},xt[35674]=function(t,e,i){t.uniformMatrix2fv(e,!1,i)},xt[35675]=function(t,e,i){t.uniformMatrix3fv(e,!1,i)},xt[35676]=function(t,e,i){t.uniformMatrix4fv(e,!1,i)},xt[35678]=function(t,e,i){t.uniform1iv(e,i)},xt[35680]=function(t,e,i){t.uniform1iv(e,i)};var bt=function(t,e){var i;void 0===(e=e||{}).alpha&&(e.alpha=!1),void 0===e.stencil&&(e.stencil=!0),void 0===e.depth&&(e.depth=!0),void 0===e.antialias&&(e.antialias=!1),void 0===e.preserveDrawingBuffer&&(e.preserveDrawingBuffer=!1);try{i=t.getContext("webgl",e)||t.getContext("experimental-webgl",e)||t.getContext("webkit-3d",e)||t.getContext("moz-webgl",e)}catch(t){return void console.error(t)}this._gl=i,this._extensions={},this._caps={},this._stats={texture:0,vb:0,ib:0,drawcalls:0},this._initExtensions(["EXT_texture_filter_anisotropic","EXT_shader_texture_lod","OES_standard_derivatives","OES_texture_float","OES_texture_float_linear","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_s3tc","WEBGL_depth_texture","WEBGL_draw_buffers"]),this._initCaps(),this._initStates(),vt.initDefault(this),this._current=new vt(this),this._next=new vt(this),this._uniforms={},this._vx=this._vy=this._vw=this._vh=0,this._sx=this._sy=this._sw=this._sh=0,this._framebuffer=null,this._enabledAttributes=new Array(this._caps.maxVertexAttribs),this._newAttributes=new Array(this._caps.maxVertexAttribs);for(var n=0;n<this._caps.maxVertexAttribs;++n)this._enabledAttributes[n]=0,this._newAttributes[n]=0};bt.prototype._initExtensions=function(t){for(var e=this._gl,i=0;i<t.length;++i)for(var n=t[i],r=["","WEBKIT_","MOZ_"],s=0;s<r.length;s++)try{var a=e.getExtension(r[s]+n);a&&(this._extensions[n]=a)}catch(t){console.error(t)}},bt.prototype._initCaps=function(){var t=this._gl,e=this.ext("WEBGL_draw_buffers");this._caps.maxVertexStreams=4,this._caps.maxVertexTextures=t.getParameter(t.MAX_VERTEX_TEXTURE_IMAGE_UNITS),this._caps.maxFragUniforms=t.getParameter(t.MAX_FRAGMENT_UNIFORM_VECTORS),this._caps.maxTextureUnits=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS),this._caps.maxVertexAttribs=t.getParameter(t.MAX_VERTEX_ATTRIBS),this._caps.maxDrawBuffers=e?t.getParameter(e.MAX_DRAW_BUFFERS_WEBGL):1,this._caps.maxColorAttachments=e?t.getParameter(e.MAX_COLOR_ATTACHMENTS_WEBGL):1},bt.prototype._initStates=function(){var t=this._gl;t.disable(t.BLEND),t.blendFunc(t.ONE,t.ZERO),t.blendEquation(t.FUNC_ADD),t.blendColor(1,1,1,1),t.colorMask(!0,!0,!0,!0),t.enable(t.CULL_FACE),t.cullFace(t.BACK),t.disable(t.DEPTH_TEST),t.depthFunc(t.LESS),t.depthMask(!1),t.disable(t.POLYGON_OFFSET_FILL),t.depthRange(0,1),t.disable(t.STENCIL_TEST),t.stencilFunc(t.ALWAYS,0,255),t.stencilMask(255),t.stencilOp(t.KEEP,t.KEEP,t.KEEP),t.clearDepth(1),t.clearColor(0,0,0,0),t.clearStencil(0),t.disable(t.SCISSOR_TEST)},bt.prototype._restoreTexture=function(t){var e=this._gl,i=this._current.textureUnits[t];i&&-1!==i._glID?e.bindTexture(i._target,i._glID):e.bindTexture(e.TEXTURE_2D,null)},bt.prototype._restoreIndexBuffer=function(){var t=this._gl,e=this._current.indexBuffer;e&&-1!==e._glID?t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,e._glID):t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,null)},bt.prototype.ext=function(t){return this._extensions[t]},bt.prototype.setFrameBuffer=function(t){if(this._framebuffer!==t){this._framebuffer=t;var e=this._gl;if(null!==t){e.bindFramebuffer(e.FRAMEBUFFER,t._glID);for(var i=this._framebuffer._colors.length,n=0;n<i;++n){var r=this._framebuffer._colors[n];At(e,e.COLOR_ATTACHMENT0+n,r)}for(var s=i;s<this._caps.maxColorAttachments;++s)e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0+s,e.TEXTURE_2D,null,0);this._framebuffer._depth&&At(e,e.DEPTH_ATTACHMENT,this._framebuffer._depth),this._framebuffer._stencil&&At(e,e.STENCIL_ATTACHMENT,t._stencil),this._framebuffer._depthStencil&&At(e,e.DEPTH_STENCIL_ATTACHMENT,t._depthStencil)}else e.bindFramebuffer(e.FRAMEBUFFER,null)}},bt.prototype.setViewport=function(t,e,i,n){this._vx===t&&this._vy===e&&this._vw===i&&this._vh===n||(this._gl.viewport(t,e,i,n),this._vx=t,this._vy=e,this._vw=i,this._vh=n)},bt.prototype.setScissor=function(t,e,i,n){this._sx===t&&this._sy===e&&this._sw===i&&this._sh===n||(this._gl.scissor(t,e,i,n),this._sx=t,this._sy=e,this._sw=i,this._sh=n)},bt.prototype.clear=function(t){if(void 0!==t.color||void 0!==t.depth||void 0!==t.stencil){var e=this._gl,i=0;void 0!==t.color&&(i|=e.COLOR_BUFFER_BIT,e.clearColor(t.color[0],t.color[1],t.color[2],t.color[3])),void 0!==t.depth&&(i|=e.DEPTH_BUFFER_BIT,e.clearDepth(t.depth),e.enable(e.DEPTH_TEST),e.depthMask(!0),e.depthFunc(e.ALWAYS)),void 0!==t.stencil&&(i|=e.STENCIL_BUFFER_BIT,e.clearStencil(t.stencil)),e.clear(i),void 0!==t.depth&&(!1===this._current.depthTest?e.disable(e.DEPTH_TEST):(!1===this._current.depthWrite&&e.depthMask(!1),this._current.depthFunc!==K.DS_FUNC_ALWAYS&&e.depthFunc(this._current.depthFunc)))}},bt.prototype.enableBlend=function(){this._next.blend=!0},bt.prototype.enableDepthTest=function(){this._next.depthTest=!0},bt.prototype.enableDepthWrite=function(){this._next.depthWrite=!0},bt.prototype.enableStencilTest=function(){this._next.stencilTest=!0},bt.prototype.setStencilFunc=function(t,e,i){this._next.stencilSep=!1,this._next.stencilFuncFront=this._next.stencilFuncBack=t,this._next.stencilRefFront=this._next.stencilRefBack=e,this._next.stencilMaskFront=this._next.stencilMaskBack=i},bt.prototype.setStencilFuncFront=function(t,e,i){this._next.stencilSep=!0,this._next.stencilFuncFront=t,this._next.stencilRefFront=e,this._next.stencilMaskFront=i},bt.prototype.setStencilFuncBack=function(t,e,i){this._next.stencilSep=!0,this._next.stencilFuncBack=t,this._next.stencilRefBack=e,this._next.stencilMaskBack=i},bt.prototype.setStencilOp=function(t,e,i,n){this._next.stencilFailOpFront=this._next.stencilFailOpBack=t,this._next.stencilZFailOpFront=this._next.stencilZFailOpBack=e,this._next.stencilZPassOpFront=this._next.stencilZPassOpBack=i,this._next.stencilWriteMaskFront=this._next.stencilWriteMaskBack=n},bt.prototype.setStencilOpFront=function(t,e,i,n){this._next.stencilSep=!0,this._next.stencilFailOpFront=t,this._next.stencilZFailOpFront=e,this._next.stencilZPassOpFront=i,this._next.stencilWriteMaskFront=n},bt.prototype.setStencilOpBack=function(t,e,i,n){this._next.stencilSep=!0,this._next.stencilFailOpBack=t,this._next.stencilZFailOpBack=e,this._next.stencilZPassOpBack=i,this._next.stencilWriteMaskBack=n},bt.prototype.setDepthFunc=function(t){this._next.depthFunc=t},bt.prototype.setBlendColor32=function(t){this._next.blendColor=t},bt.prototype.setBlendColor=function(t,e,i,n){this._next.blendColor=(255*t<<24|255*e<<16|255*i<<8|255*n)>>>0},bt.prototype.setBlendFunc=function(t,e){this._next.blendSep=!1,this._next.blendSrc=t,this._next.blendDst=e},bt.prototype.setBlendFuncSep=function(t,e,i,n){this._next.blendSep=!0,this._next.blendSrc=t,this._next.blendDst=e,this._next.blendSrcAlpha=i,this._next.blendDstAlpha=n},bt.prototype.setBlendEq=function(t){this._next.blendSep=!1,this._next.blendEq=t},bt.prototype.setBlendEqSep=function(t,e){this._next.blendSep=!0,this._next.blendEq=t,this._next.blendAlphaEq=e},bt.prototype.setCullMode=function(t){this._next.cullMode=t},bt.prototype.setVertexBuffer=function(t,e,i){void 0===i&&(i=0),this._next.vertexBuffers[t]=e,this._next.vertexBufferOffsets[t]=i,this._next.maxStream<t&&(this._next.maxStream=t)},bt.prototype.setIndexBuffer=function(t){this._next.indexBuffer=t},bt.prototype.setProgram=function(t){this._next.program=t},bt.prototype.setTexture=function(t,e,i){i>=this._caps.maxTextureUnits?console.warn("Can not set texture "+t+" at stage "+i+", max texture exceed: "+this._caps.maxTextureUnits):(this._next.textureUnits[i]=e,this.setUniform(t,i),this._next.maxTextureSlot<i&&(this._next.maxTextureSlot=i))},bt.prototype.setTextureArray=function(t,e,i){var n=e.length;if(n>=this._caps.maxTextureUnits)console.warn("Can not set "+n+" textures for "+t+", max texture exceed: "+this._caps.maxTextureUnits);else{for(var r=0;r<n;++r){var s=i[r];this._next.textureUnits[s]=e[r]}this.setUniform(t,i)}},bt.prototype.setUniform=function(t,e){var i=this._uniforms[t],n=!1;do{if(!i)break;if(i.isArray!==Array.isArray(e))break;if(i.isArray&&i.value.length!==e.length)break;n=!0}while(0);if(n){var r=i.value,s=!1;if(i.isArray)for(var a=0,o=r.length;a<o;a++)r[a]!==e[a]&&(s=!0,r[a]=e[a]);else r!==e&&(s=!0,i.value=e);s&&(i.dirty=!0)}else{var h=e,l=!1;e instanceof Float32Array||Array.isArray(e)?(h=new Float32Array(e),l=!0):e instanceof Int32Array&&(h=new Int32Array(e),l=!0),i={dirty:!0,value:h,isArray:l}}this._uniforms[t]=i},bt.prototype.setPrimitiveType=function(t){this._next.primitiveType=t},bt.prototype.draw=function(t,e){var i=this._gl,n=this._current,r=this._next;(function(t,e,i){if(e.blend!==i.blend)return i.blend?(t.enable(t.BLEND),i.blendSrc!==K.BLEND_CONSTANT_COLOR&&i.blendSrc!==K.BLEND_ONE_MINUS_CONSTANT_COLOR&&i.blendDst!==K.BLEND_CONSTANT_COLOR&&i.blendDst!==K.BLEND_ONE_MINUS_CONSTANT_COLOR||t.blendColor((i.blendColor>>24)/255,(i.blendColor>>16&255)/255,(i.blendColor>>8&255)/255,(255&i.blendColor)/255),void(i.blendSep?(t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(t.blendFunc(i.blendSrc,i.blendDst),t.blendEquation(i.blendEq)))):void t.disable(t.BLEND);!1!==i.blend&&(e.blendColor!==i.blendColor&&t.blendColor((i.blendColor>>24)/255,(i.blendColor>>16&255)/255,(i.blendColor>>8&255)/255,(255&i.blendColor)/255),e.blendSep===i.blendSep?i.blendSep?(e.blendSrc===i.blendSrc&&e.blendDst===i.blendDst&&e.blendSrcAlpha===i.blendSrcAlpha&&e.blendDstAlpha===i.blendDstAlpha||t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),e.blendEq===i.blendEq&&e.blendAlphaEq===i.blendAlphaEq||t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(e.blendSrc===i.blendSrc&&e.blendDst===i.blendDst||t.blendFunc(i.blendSrc,i.blendDst),e.blendEq!==i.blendEq&&t.blendEquation(i.blendEq)):i.blendSep?(t.blendFuncSeparate(i.blendSrc,i.blendDst,i.blendSrcAlpha,i.blendDstAlpha),t.blendEquationSeparate(i.blendEq,i.blendAlphaEq)):(t.blendFunc(i.blendSrc,i.blendDst),t.blendEquation(i.blendEq)))})(i,n,r),(function(t,e,i){if(e.depthTest!==i.depthTest)return i.depthTest?(t.enable(t.DEPTH_TEST),t.depthFunc(i.depthFunc),void t.depthMask(i.depthWrite)):void t.disable(t.DEPTH_TEST);e.depthWrite!==i.depthWrite&&t.depthMask(i.depthWrite),!1!==i.depthTest?e.depthFunc!==i.depthFunc&&t.depthFunc(i.depthFunc):i.depthWrite&&(i.depthTest=!0,i.depthFunc=K.DS_FUNC_ALWAYS,t.enable(t.DEPTH_TEST),t.depthFunc(i.depthFunc))})(i,n,r),(function(t,e,i){if(i.stencilTest!==e.stencilTest)return i.stencilTest?(t.enable(t.STENCIL_TEST),void(i.stencilSep?(t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMask(i.stencilWriteMaskFront),t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront)))):void t.disable(t.STENCIL_TEST);i.stencilTest&&(e.stencilSep===i.stencilSep?i.stencilSep?(e.stencilFuncFront===i.stencilFuncFront&&e.stencilRefFront===i.stencilRefFront&&e.stencilMaskFront===i.stencilMaskFront||t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),e.stencilWriteMaskFront!==i.stencilWriteMaskFront&&t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),e.stencilFailOpFront===i.stencilFailOpFront&&e.stencilZFailOpFront===i.stencilZFailOpFront&&e.stencilZPassOpFront===i.stencilZPassOpFront||t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),e.stencilFuncBack===i.stencilFuncBack&&e.stencilRefBack===i.stencilRefBack&&e.stencilMaskBack===i.stencilMaskBack||t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),e.stencilWriteMaskBack!==i.stencilWriteMaskBack&&t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),e.stencilFailOpBack===i.stencilFailOpBack&&e.stencilZFailOpBack===i.stencilZFailOpBack&&e.stencilZPassOpBack===i.stencilZPassOpBack||t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(e.stencilFuncFront===i.stencilFuncFront&&e.stencilRefFront===i.stencilRefFront&&e.stencilMaskFront===i.stencilMaskFront||t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),e.stencilWriteMaskFront!==i.stencilWriteMaskFront&&t.stencilMask(i.stencilWriteMaskFront),e.stencilFailOpFront===i.stencilFailOpFront&&e.stencilZFailOpFront===i.stencilZFailOpFront&&e.stencilZPassOpFront===i.stencilZPassOpFront||t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront)):i.stencilSep?(t.stencilFuncSeparate(t.FRONT,i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMaskSeparate(t.FRONT,i.stencilWriteMaskFront),t.stencilOpSeparate(t.FRONT,i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront),t.stencilFuncSeparate(t.BACK,i.stencilFuncBack,i.stencilRefBack,i.stencilMaskBack),t.stencilMaskSeparate(t.BACK,i.stencilWriteMaskBack),t.stencilOpSeparate(t.BACK,i.stencilFailOpBack,i.stencilZFailOpBack,i.stencilZPassOpBack)):(t.stencilFunc(i.stencilFuncFront,i.stencilRefFront,i.stencilMaskFront),t.stencilMask(i.stencilWriteMaskFront),t.stencilOp(i.stencilFailOpFront,i.stencilZFailOpFront,i.stencilZPassOpFront)))})(i,n,r),(function(t,e,i){e.cullMode!==i.cullMode&&(i.cullMode!==K.CULL_NONE?(t.enable(t.CULL_FACE),t.cullFace(i.cullMode)):t.disable(t.CULL_FACE))})(i,n,r),(function(t,e,i,n){var r=!1;if(-1!==n.maxStream){if(i.maxStream!==n.maxStream)r=!0;else if(i.program!==n.program)r=!0;else for(var s=0;s<n.maxStream+1;++s)if(i.vertexBuffers[s]!==n.vertexBuffers[s]||i.vertexBufferOffsets[s]!==n.vertexBufferOffsets[s]){r=!0;break}if(r){for(var a=0;a<t._caps.maxVertexAttribs;++a)t._newAttributes[a]=0;for(var o=0;o<n.maxStream+1;++o){var h=n.vertexBuffers[o],l=n.vertexBufferOffsets[o];if(h){e.bindBuffer(e.ARRAY_BUFFER,h._glID);for(var c=0;c<n.program._attributes.length;++c){var u=n.program._attributes[c],_=h._format.element(u.name);_?(0===t._enabledAttributes[u.location]&&(e.enableVertexAttribArray(u.location),t._enabledAttributes[u.location]=1),t._newAttributes[u.location]=1,e.vertexAttribPointer(u.location,_.num,_.type,_.normalize,_.stride,_.offset+l*_.stride)):console.warn("Can not find vertex attribute: "+u.name)}}}for(var f=0;f<t._caps.maxVertexAttribs;++f)t._enabledAttributes[f]!==t._newAttributes[f]&&(e.disableVertexAttribArray(f),t._enabledAttributes[f]=0)}}else console.warn("VertexBuffer not assigned, please call setVertexBuffer before every draw.")})(this,i,n,r),n.indexBuffer!==r.indexBuffer&&i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,r.indexBuffer?r.indexBuffer._glID:null);var s=!1;n.program!==r.program&&(r.program._linked?i.useProgram(r.program._glID):console.warn("Failed to use program: has not linked yet."),s=!0),(function(t,e,i){for(var n=0;n<i.maxTextureSlot+1;++n)if(e.textureUnits[n]!==i.textureUnits[n]){var r=i.textureUnits[n];r&&-1!==r._glID&&(t.activeTexture(t.TEXTURE0+n),t.bindTexture(r._target,r._glID))}})(i,n,r);for(var a=0;a<r.program._uniforms.length;++a){var o=r.program._uniforms[a],h=this._uniforms[o.name];if(h&&(s||h.dirty)){h.dirty=!1;var l=void 0===o.size?gt[o.type]:xt[o.type];l?l(i,o.location,h.value):console.warn("Can not find commit function for uniform "+o.name)}}r.indexBuffer?i.drawElements(this._next.primitiveType,e,r.indexBuffer._format,t*r.indexBuffer._bytesPerIndex):i.drawArrays(this._next.primitiveType,t,e),this._stats.drawcalls+=1,n.set(r),r.reset()};var Ct={VertexFormat:et,IndexBuffer:it,VertexBuffer:rt,Program:ht,Texture:ut,Texture2D:ft,TextureCube:mt,RenderBuffer:dt,FrameBuffer:pt,Device:bt,attrTypeBytes:Q,glFilter:$,glTextureFmt:tt};Object.assign(Ct,K);var St=function(t,e,i){void 0===i&&(i=Ct.PT_TRIANGLES),this._vertexBuffer=t,this._indexBuffer=e,this._primitiveType=i,this._start=0,this._count=-1};St.prototype.getPrimitiveCount=function(){return-1!==this._count?this._count:this._indexBuffer?this._indexBuffer.count:this._vertexBuffer.count};var Tt=function(t){this._programName=t,this._cullMode=Ct.CULL_BACK,this._blend=!1,this._blendEq=Ct.BLEND_FUNC_ADD,this._blendAlphaEq=Ct.BLEND_FUNC_ADD,this._blendSrc=Ct.BLEND_ONE,this._blendDst=Ct.BLEND_ZERO,this._blendSrcAlpha=Ct.BLEND_ONE,this._blendDstAlpha=Ct.BLEND_ZERO,this._blendColor=4294967295,this._depthTest=!1,this._depthWrite=!1,this._depthFunc=Ct.DS_FUNC_LESS,this._stencilTest=!1,this._stencilFuncFront=Ct.DS_FUNC_ALWAYS,this._stencilRefFront=0,this._stencilMaskFront=255,this._stencilFailOpFront=Ct.STENCIL_OP_KEEP,this._stencilZFailOpFront=Ct.STENCIL_OP_KEEP,this._stencilZPassOpFront=Ct.STENCIL_OP_KEEP,this._stencilWriteMaskFront=255,this._stencilFuncBack=Ct.DS_FUNC_ALWAYS,this._stencilRefBack=0,this._stencilMaskBack=255,this._stencilFailOpBack=Ct.STENCIL_OP_KEEP,this._stencilZFailOpBack=Ct.STENCIL_OP_KEEP,this._stencilZPassOpBack=Ct.STENCIL_OP_KEEP,this._stencilWriteMaskBack=255};Tt.prototype.copy=function(t){this._programName=t._programName,this._cullMode=t._cullMode,this._blend=t._blend,this._blendEq=t._blendEq,this._blendAlphaEq=t._blendAlphaEq,this._blendSrc=t._blendSrc,this._blendDst=t._blendDst,this._blendSrcAlpha=t._blendSrcAlpha,this._blendDstAlpha=t._blendDstAlpha,this._blendColor=t._blendColor,this._depthTest=t._depthTest,this._depthWrite=t._depthWrite,this._depthFunc=t._depthFunc,this._stencilTest=t._stencilTest,this._stencilFuncFront=t._stencilFuncFront,this._stencilRefFront=t._stencilRefFront,this._stencilMaskFront=t._stencilMaskFront,this._stencilFailOpFront=t._stencilFailOpFront,this._stencilZFailOpFront=t._stencilZFailOpFront,this._stencilZPassOpFront=t._stencilZPassOpFront,this._stencilWriteMaskFront=t._stencilWriteMaskFront,this._stencilFuncBack=t._stencilFuncBack,this._stencilRefBack=t._stencilRefBack,this._stencilMaskBack=t._stencilMaskBack,this._stencilFailOpBack=t._stencilFailOpBack,this._stencilZFailOpBack=t._stencilZFailOpBack,this._stencilZPassOpBack=t._stencilZPassOpBack,this._stencilWriteMaskBack=t._stencilWriteMaskBack},Tt.prototype.setCullMode=function(t){this._cullMode=t},Tt.prototype.setBlend=function(t,e,i,n,r,s,a){void 0===t&&(t=Ct.BLEND_FUNC_ADD),void 0===e&&(e=Ct.BLEND_ONE),void 0===i&&(i=Ct.BLEND_ZERO),void 0===n&&(n=Ct.BLEND_FUNC_ADD),void 0===r&&(r=Ct.BLEND_ONE),void 0===s&&(s=Ct.BLEND_ZERO),void 0===a&&(a=4294967295),this._blend=!0,this._blendEq=t,this._blendSrc=e,this._blendDst=i,this._blendAlphaEq=n,this._blendSrcAlpha=r,this._blendDstAlpha=s,this._blendColor=a},Tt.prototype.setDepth=function(t,e,i){void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=Ct.DS_FUNC_LESS),this._depthTest=t,this._depthWrite=e,this._depthFunc=i},Tt.prototype.setStencilFront=function(t,e,i,n,r,s,a){void 0===t&&(t=Ct.DS_FUNC_ALWAYS),void 0===e&&(e=0),void 0===i&&(i=255),void 0===n&&(n=Ct.STENCIL_OP_KEEP),void 0===r&&(r=Ct.STENCIL_OP_KEEP),void 0===s&&(s=Ct.STENCIL_OP_KEEP),void 0===a&&(a=255),this._stencilTest=!0,this._stencilFuncFront=t,this._stencilRefFront=e,this._stencilMaskFront=i,this._stencilFailOpFront=n,this._stencilZFailOpFront=r,this._stencilZPassOpFront=s,this._stencilWriteMaskFront=a},Tt.prototype.setStencilBack=function(t,e,i,n,r,s,a){void 0===t&&(t=Ct.DS_FUNC_ALWAYS),void 0===e&&(e=0),void 0===i&&(i=255),void 0===n&&(n=Ct.STENCIL_OP_KEEP),void 0===r&&(r=Ct.STENCIL_OP_KEEP),void 0===s&&(s=Ct.STENCIL_OP_KEEP),void 0===a&&(a=255),this._stencilTest=!0,this._stencilFuncBack=t,this._stencilRefBack=e,this._stencilMaskBack=i,this._stencilFailOpBack=n,this._stencilZFailOpBack=r,this._stencilZPassOpBack=s,this._stencilWriteMaskBack=a},Tt.prototype.disableStencilTest=function(){this._stencilTest=!1};var wt=0,Et={},Dt={addStage:function(t){if(void 0===Et[t]){var e=1<<wt;Et[t]=e,wt+=1}},stageID:function(t){var e=Et[t];return void 0===e?-1:e},stageIDs:function(t){for(var e=0,i=0;i<t.length;++i){var n=Et[t[i]];void 0!==n&&(e|=n)}return e}},Mt=0,Bt=function(t,e,i,n){void 0===n&&(n=0),this._id=Mt++,this._stageIDs=Dt.stageIDs(t),this._parameters=e,this._passes=i,this._layer=n},Pt={passes:{configurable:!0},stageIDs:{configurable:!0}};Bt.prototype.copy=function(t){this._id=t._id,this._stageIDs=t._stageIDs,this._parameters=[];for(var e=0;e<t._parameters.length;++e){var i=t._parameters[e];this._parameters.push({name:i.name,type:i.type})}for(var n=0;n<t._passes.length;++n){var r=this._passes[n];r||(r=new Ve.Pass,this._passes.push(r)),r.copy(t._passes[n])}this._passes.length=t._passes.length,this._layer=t._layer},Bt.prototype.setStages=function(t){this._stageIDs=Dt.stageIDs(t)},Pt.passes.get=function(){return this._passes},Pt.stageIDs.get=function(){return this._stageIDs},Object.defineProperties(Bt.prototype,Pt);var It=function(t,e,i){void 0===e&&(e={}),void 0===i&&(i=[]),this._techniques=t,this._properties=e,this._defines=i};It.prototype.clear=function(){this._techniques.length=0,this._properties=null,this._defines.length=0},It.prototype.getTechnique=function(t){for(var e=Dt.stageID(t),i=0;i<this._techniques.length;++i){var n=this._techniques[i];if(n.stageIDs&e)return n}return null},It.prototype.getProperty=function(t){return this._properties[t]},It.prototype.setProperty=function(t,e){this._properties[t]=e},It.prototype.getDefine=function(t){for(var e=0;e<this._defines.length;++e){var i=this._defines[e];if(i.name===t)return i.value}return console.warn("Failed to get define "+t+", define not found."),null},It.prototype.define=function(t,e){for(var i=0;i<this._defines.length;++i){var n=this._defines[i];if(n.name===t)return void(n.value=e)}console.warn("Failed to set define "+t+", define not found.")},It.prototype.extractDefines=function(t){void 0===t&&(t={});for(var e=0;e<this._defines.length;++e){var i=this._defines[e];t[i.name]=i.value}return t};var Rt=V.create(),Ot=0,Lt=function(){this._id=Ot++,this._rect={x:0,y:0,w:1,h:1},this._color=j.new(.3,.3,.3,1),this._depth=1,this._stencil=0,this._clearFlags=X.CLEAR_COLOR|X.CLEAR_DEPTH,this._matView=V.create(),this._matProj=V.create(),this._matViewProj=V.create(),this._matInvViewProj=V.create(),this._stages=[],this._cullingMask=1,this._framebuffer=null,this._shadowLight=null};Lt.prototype.getForward=function(t){return g.set(t,-this._matView.m02,-this._matView.m06,-this._matView.m10)},Lt.prototype.getPosition=function(t){return V.invert(Rt,this._matView),V.getTranslation(t,Rt)};var Ft=g.new(0,0,-1),Vt=V.create(),Nt=T.create(),kt=g.create();var Gt=function(){this._poolID=-1,this._node=null,this._type=X.LIGHT_DIRECTIONAL,this._color=G.new(1,1,1),this._intensity=1,this._range=1,this._spotAngle=a(60),this._spotExp=1,this._directionUniform=new Float32Array(3),this._positionUniform=new Float32Array(3),this._colorUniform=new Float32Array([this._color.r*this._intensity,this._color.g*this._intensity,this._color.b*this._intensity]),this._spotUniform=new Float32Array([Math.cos(.5*this._spotAngle),this._spotExp]),this._shadowType=X.SHADOW_NONE,this._shadowFrameBuffer=null,this._shadowMap=null,this._shadowMapDirty=!1,this._shadowDepthBuffer=null,this._shadowResolution=1024,this._shadowBias=5e-5,this._shadowDarkness=1,this._shadowMinDepth=1,this._shadowMaxDepth=1e3,this._shadowDepthScale=50,this._frustumEdgeFalloff=0,this._viewProjMatrix=V.create(),this._spotAngleScale=1,this._shadowFustumSize=80},zt={color:{configurable:!0},intensity:{configurable:!0},type:{configurable:!0},spotAngle:{configurable:!0},spotExp:{configurable:!0},range:{configurable:!0},shadowType:{configurable:!0},shadowMap:{configurable:!0},viewProjMatrix:{configurable:!0},shadowResolution:{configurable:!0},shadowBias:{configurable:!0},shadowDarkness:{configurable:!0},shadowMinDepth:{configurable:!0},shadowMaxDepth:{configurable:!0},shadowDepthScale:{configurable:!0},frustumEdgeFalloff:{configurable:!0}};Gt.prototype.setNode=function(t){this._node=t},Gt.prototype.setColor=function(t,e,i){G.set(this._color,t,e,i),this._colorUniform[0]=t*this._intensity,this._colorUniform[1]=e*this._intensity,this._colorUniform[2]=i*this._intensity},zt.color.get=function(){return this._color},Gt.prototype.setIntensity=function(t){this._intensity=t,this._colorUniform[0]=t*this._color.r,this._colorUniform[1]=t*this._color.g,this._colorUniform[2]=t*this._color.b},zt.intensity.get=function(){return this._intensity},Gt.prototype.setType=function(t){this._type=t},zt.type.get=function(){return this._type},Gt.prototype.setSpotAngle=function(t){this._spotAngle=t,this._spotUniform[0]=Math.cos(.5*this._spotAngle)},zt.spotAngle.get=function(){return this._spotAngle},Gt.prototype.setSpotExp=function(t){this._spotExp=t,this._spotUniform[1]=t},zt.spotExp.get=function(){return this._spotExp},Gt.prototype.setRange=function(t){this._range=t},zt.range.get=function(){return this._range},Gt.prototype.setShadowType=function(t){this._shadowType===X.SHADOW_NONE&&t!==X.SHADOW_NONE&&(this._shadowMapDirty=!0),this._shadowType=t},zt.shadowType.get=function(){return this._shadowType},zt.shadowMap.get=function(){return this._shadowMap},zt.viewProjMatrix.get=function(){return this._viewProjMatrix},Gt.prototype.setShadowResolution=function(t){this._shadowResolution!==t&&(this._shadowMapDirty=!0),this._shadowResolution=t},zt.shadowResolution.get=function(){return this._shadowResolution},Gt.prototype.setShadowBias=function(t){this._shadowBias=t},zt.shadowBias.get=function(){return this._shadowBias},Gt.prototype.setShadowDarkness=function(t){this._shadowDarkness=t},zt.shadowDarkness.get=function(){return this._shadowDarkness},Gt.prototype.setShadowMinDepth=function(t){this._shadowMinDepth=t},zt.shadowMinDepth.get=function(){return this._type===X.LIGHT_DIRECTIONAL?1:this._shadowMinDepth},Gt.prototype.setShadowMaxDepth=function(t){this._shadowMaxDepth=t},zt.shadowMaxDepth.get=function(){return this._type===X.LIGHT_DIRECTIONAL?1:this._shadowMaxDepth},Gt.prototype.setShadowDepthScale=function(t){this._shadowDepthScale=t},zt.shadowDepthScale.get=function(){return this._shadowDepthScale},Gt.prototype.setFrustumEdgeFalloff=function(t){this._frustumEdgeFalloff=t},zt.frustumEdgeFalloff.get=function(){return this._frustumEdgeFalloff},Gt.prototype.extractView=function(t,e){switch(t._shadowLight=this,t._rect.x=0,t._rect.y=0,t._rect.w=this._shadowResolution,t._rect.h=this._shadowResolution,j.set(t._color,1,1,1,1),t._depth=1,t._stencil=0,t._clearFlags=X.CLEAR_COLOR|X.CLEAR_DEPTH,t._stages=e,t._framebuffer=this._shadowFrameBuffer,this._type){case X.LIGHT_SPOT:(function(t,e,i){t._node.getWorldRT(e),V.invert(e,e),V.perspective(i,t._spotAngle*t._spotAngleScale,1,t._shadowMinDepth,t._shadowMaxDepth)})(this,t._matView,t._matProj);break;case X.LIGHT_DIRECTIONAL:(function(t,e,i){t._node.getWorldRT(e),V.invert(e,e);var n=t._shadowFustumSize/2;V.ortho(i,-n,n,-n,n,t._shadowMinDepth,t._shadowMaxDepth)})(this,t._matView,t._matProj);break;case X.LIGHT_POINT:t._matView,t._matProj;break;default:console.warn("shadow of this light type is not supported")}V.mul(t._matViewProj,t._matProj,t._matView),this._viewProjMatrix=t._matViewProj,V.invert(t._matInvViewProj,t._matViewProj)},Gt.prototype._updateLightPositionAndDirection=function(){this._node.getWorldMatrix(Vt),T.fromMat4(Nt,Vt),g.transformMat3(kt,Ft,Nt),g.array(this._directionUniform,kt);var t=this._positionUniform;t[0]=Vt.m12,t[1]=Vt.m13,t[2]=Vt.m14},Gt.prototype._generateShadowMap=function(t){this._shadowMap=new Ct.Texture2D(t,{width:this._shadowResolution,height:this._shadowResolution,format:Ct.TEXTURE_FMT_RGBA8,wrapS:Ct.WRAP_CLAMP,wrapT:Ct.WRAP_CLAMP}),this._shadowDepthBuffer=new Ct.RenderBuffer(t,Ct.RB_FMT_D16,this._shadowResolution,this._shadowResolution),this._shadowFrameBuffer=new Ct.FrameBuffer(t,this._shadowResolution,this._shadowResolution,{colors:[this._shadowMap],depth:this._shadowDepthBuffer})},Gt.prototype._destroyShadowMap=function(){this._shadowMap&&(this._shadowMap.destroy(),this._shadowDepthBuffer.destroy(),this._shadowFrameBuffer.destroy(),this._shadowMap=null,this._shadowDepthBuffer=null,this._shadowFrameBuffer=null)},Gt.prototype.update=function(t){this._updateLightPositionAndDirection(),this._shadowType===X.SHADOW_NONE?this._destroyShadowMap():this._shadowMapDirty&&(this._destroyShadowMap(),this._generateShadowMap(t),this._shadowMapDirty=!1)},Object.defineProperties(Gt.prototype,zt);var Ut=V.create(),jt=V.create(),Wt=V.create(),Ht=V.create(),Xt=g.create(),Yt=function(){this._poolID=-1,this._node=null,this._projection=X.PROJ_PERSPECTIVE,this._color=j.new(.2,.3,.47,1),this._depth=1,this._stencil=0,this._clearFlags=X.CLEAR_COLOR|X.CLEAR_DEPTH,this._cullingMask=1,this._stages=[],this._framebuffer=null,this._near=.01,this._far=1e3,this._fov=Math.PI/4,this._rect={x:0,y:0,w:1,h:1},this._orthoHeight=10},qt={cullingMask:{configurable:!0}};qt.cullingMask.get=function(){return this._cullingMask},qt.cullingMask.set=function(t){this._cullingMask=t},Yt.prototype.getNode=function(){return this._node},Yt.prototype.setNode=function(t){this._node=t},Yt.prototype.getType=function(){return this._projection},Yt.prototype.setType=function(t){this._projection=t},Yt.prototype.getOrthoHeight=function(){return this._orthoHeight},Yt.prototype.setOrthoHeight=function(t){this._orthoHeight=t},Yt.prototype.getFov=function(){return this._fov},Yt.prototype.setFov=function(t){this._fov=t},Yt.prototype.getNear=function(){return this._near},Yt.prototype.setNear=function(t){this._near=t},Yt.prototype.getFar=function(){return this._far},Yt.prototype.setFar=function(t){this._far=t},Yt.prototype.getColor=function(t){return j.copy(t,this._color)},Yt.prototype.setColor=function(t,e,i,n){j.set(this._color,t,e,i,n)},Yt.prototype.getDepth=function(){return this._depth},Yt.prototype.setDepth=function(t){this._depth=t},Yt.prototype.getStencil=function(){return this._stencil},Yt.prototype.setStencil=function(t){this._stencil=t},Yt.prototype.getClearFlags=function(){return this._clearFlags},Yt.prototype.setClearFlags=function(t){this._clearFlags=t},Yt.prototype.getRect=function(t){return t.x=this._rect.x,t.y=this._rect.y,t.w=this._rect.w,t.h=this._rect.h,t},Yt.prototype.setRect=function(t,e,i,n){this._rect.x=t,this._rect.y=e,this._rect.w=i,this._rect.h=n},Yt.prototype.getStages=function(){return this._stages},Yt.prototype.setStages=function(t){this._stages=t},Yt.prototype.getFramebuffer=function(){return this._framebuffer},Yt.prototype.setFramebuffer=function(t){this._framebuffer=t},Yt.prototype.extractView=function(t,e,i){t._rect.x=this._rect.x*e,t._rect.y=this._rect.y*i,t._rect.w=this._rect.w*e,t._rect.h=this._rect.h*i,t._color=this._color,t._depth=this._depth,t._stencil=this._stencil,t._clearFlags=this._clearFlags,t._cullingMask=this._cullingMask,t._stages=this._stages,t._framebuffer=this._framebuffer,this._node.getWorldRT(t._matView),V.invert(t._matView,t._matView);var n=e/i;if(this._projection===X.PROJ_PERSPECTIVE)V.perspective(t._matProj,this._fov,n,this._near,this._far);else{var r=this._orthoHeight*n,s=this._orthoHeight;V.ortho(t._matProj,-r,r,-s,s,this._near,this._far)}V.mul(t._matViewProj,t._matProj,t._matView),V.invert(t._matInvViewProj,t._matViewProj)},Yt.prototype.screenToWorld=function(t,e,i,n){var r=i/n,s=this._rect.x*i,a=this._rect.y*n,o=this._rect.w*i,h=this._rect.h*n;if(this._node.getWorldRT(Ut),V.invert(Ut,Ut),this._projection===X.PROJ_PERSPECTIVE)V.perspective(jt,this._fov,r,this._near,this._far);else{var l=this._orthoHeight*r,c=this._orthoHeight;V.ortho(jt,-l,l,-c,c,this._near,this._far)}if(V.mul(Wt,jt,Ut),V.invert(Ht,Wt),this._projection===X.PROJ_PERSPECTIVE)g.set(t,2*(e.x-s)/o-1,2*(e.y-a)/h-1,1),g.transformMat4(t,t,Ht),this._node.getWorldPos(Xt),g.lerp(t,Xt,t,e.z/this._far);else{var u=this._farClip-this._nearClip;g.set(t,2*(e.x-s)/o-1,2*(e.y-a)/h-1,(this._far-e.z)/u*2-1),g.transformMat4(t,t,Ht)}return t},Yt.prototype.worldToScreen=function(t,e,i,n){var r=i/n,s=this._rect.x*i,a=this._rect.y*n,o=this._rect.w*i,h=this._rect.h*n;if(this._node.getWorldRT(Ut),V.invert(Ut,Ut),this._projection===X.PROJ_PERSPECTIVE)V.perspective(jt,this._fov,r,this._near,this._far);else{var l=this._orthoHeight*r,c=this._orthoHeight;V.ortho(jt,-l,l,-c,c,this._near,this._far)}V.mul(Wt,jt,Ut);var u=e.x*Wt.m03+e.y*Wt.m07+e.z*Wt.m11+Wt.m15;return g.transformMat4(t,e,Wt),t.x=s+.5*(t.x/u+1)*o,t.y=a+.5*(t.y/u+1)*h,t},Object.defineProperties(Yt.prototype,qt);var Jt=function(){this._poolID=-1,this._node=null,this._inputAssemblers=[],this._effects=[],this._defines=[],this._dynamicIA=!1,this._cullingMask=-1},Zt={inputAssemblerCount:{configurable:!0},dynamicIA:{configurable:!0},drawItemCount:{configurable:!0},cullingMask:{configurable:!0}};Zt.inputAssemblerCount.get=function(){return this._inputAssemblers.length},Zt.dynamicIA.get=function(){return this._dynamicIA},Zt.drawItemCount.get=function(){return this._dynamicIA?1:this._inputAssemblers.length},Zt.cullingMask.get=function(){return this._cullingMask},Zt.cullingMask.set=function(t){this._cullingMask=t},Jt.prototype.setNode=function(t){this._node=t},Jt.prototype.setDynamicIA=function(t){this._dynamicIA=t},Jt.prototype.addInputAssembler=function(t){-1===this._inputAssemblers.indexOf(t)&&this._inputAssemblers.push(t)},Jt.prototype.clearInputAssemblers=function(){this._inputAssemblers.length=0},Jt.prototype.addEffect=function(t){if(-1===this._effects.indexOf(t)){this._effects.push(t);var e=Object.create(null);t.extractDefines(e),this._defines.push(e)}},Jt.prototype.clearEffects=function(){this._effects.length=0,this._defines.length=0},Jt.prototype.extractDrawItem=function(t,e){return this._dynamicIA?(t.model=this,t.node=this._node,t.ia=null,t.effect=this._effects[0],void(t.defines=t.effect.extractDefines(this._defines[0]))):e>=this._inputAssemblers.length?(t.model=null,t.node=null,t.ia=null,t.effect=null,void(t.defines=null)):(t.model=this,t.node=this._node,t.ia=this._inputAssemblers[e],e<this._effects.length?(i=this._effects[e],n=this._defines[e]):(i=this._effects[this._effects.length-1],n=this._defines[this._effects.length-1]),t.effect=i,void(t.defines=i.extractDefines(n)));var i,n},Object.defineProperties(Jt.prototype,Zt);var Kt=32,Qt=[1,10,100,1e3,1e4,1e5,1e6,1e7,1e8,1e9];function $t(t){return t<1e5?t<100?t<10?0:1:t<1e4?t<1e3?2:3:4:t<1e7?t<1e6?5:6:t<1e9?t<1e8?7:8:9}function te(t,e){if(t===e)return 0;if(~~t===t&&~~e===e){if(0===t||0===e)return t<e?-1:1;if(t<0||e<0){if(e>=0)return-1;if(t>=0)return 1;t=-t,e=-e}var i=$t(t),n=$t(e),r=0;return i<n?(t*=Qt[n-i-1],e/=10,r=-1):i>n&&(e*=Qt[i-n-1],t/=10,r=1),t===e?r:t<e?-1:1}var s=String(t),a=String(e);return s===a?0:s<a?-1:1}function ee(t,e,i,n){var r=e+1;if(r===i)return 1;if(n(t[r++],t[e])<0){for(;r<i&&n(t[r],t[r-1])<0;)r++;(function(t,e,i){i--;for(;e<i;){var n=t[e];t[e++]=t[i],t[i--]=n}})(t,e,r)}else for(;r<i&&n(t[r],t[r-1])>=0;)r++;return r-e}function ie(t,e,i,n,r){for(n===e&&n++;n<i;n++){for(var s=t[n],a=e,o=n;a<o;){var h=a+o>>>1;r(s,t[h])<0?o=h:a=h+1}var l=n-a;switch(l){case 3:t[a+3]=t[a+2];case 2:t[a+2]=t[a+1];case 1:t[a+1]=t[a];break;default:for(;l>0;)t[a+l]=t[a+l-1],l--}t[a]=s}}function ne(t,e,i,n,r,s){var a=0,o=0,h=1;if(s(t,e[i+r])>0){for(o=n-r;h<o&&s(t,e[i+r+h])>0;)a=h,(h=1+(h<<1))<=0&&(h=o);h>o&&(h=o),a+=r,h+=r}else{for(o=r+1;h<o&&s(t,e[i+r-h])<=0;)a=h,(h=1+(h<<1))<=0&&(h=o);h>o&&(h=o);var l=a;a=r-h,h=r-l}for(a++;a<h;){var c=a+(h-a>>>1);s(t,e[i+c])>0?a=c+1:h=c}return h}function re(t,e,i,n,r,s){var a=0,o=0,h=1;if(s(t,e[i+r])<0){for(o=r+1;h<o&&s(t,e[i+r-h])<0;)a=h,(h=1+(h<<1))<=0&&(h=o);h>o&&(h=o);var l=a;a=r-h,h=r-l}else{for(o=n-r;h<o&&s(t,e[i+r+h])>=0;)a=h,(h=1+(h<<1))<=0&&(h=o);h>o&&(h=o),a+=r,h+=r}for(a++;a<h;){var c=a+(h-a>>>1);s(t,e[i+c])<0?h=c:a=c+1}return h}var se=function(t,e){this.array=t,this.compare=e,this.minGallop=7,this.length=t.length,this.tmpStorageLength=256,this.length<512&&(this.tmpStorageLength=this.length>>>1),this.tmp=new Array(this.tmpStorageLength),this.stackLength=this.length<120?5:this.length<1542?10:this.length<119151?19:40,this.runStart=new Array(this.stackLength),this.runLength=new Array(this.stackLength),this.stackSize=0};function ae(t,e,i,n){if(!Array.isArray(t))throw new TypeError("Can only sort arrays");void 0===e&&(e=0),void 0===i&&(i=t.length),void 0===n&&(n=te);var r=i-e;if(!(r<2)){var s=0;if(r<Kt)ie(t,e,i,e+(s=ee(t,e,i,n)),n);else{var a=new se(t,n),o=(function(t){for(var e=0;t>=Kt;)e|=1&t,t>>=1;return t+e})(r);do{if((s=ee(t,e,i,n))<o){var h=r;h>o&&(h=o),ie(t,e,e+h,e+s,n),s=h}a.pushRun(e,s),a.mergeRuns(),r-=s,e+=s}while(0!==r);a.forceMergeRuns()}}}se.prototype.pushRun=function(t,e){this.runStart[this.stackSize]=t,this.runLength[this.stackSize]=e,this.stackSize+=1},se.prototype.mergeRuns=function(){for(var t=this;this.stackSize>1;){var e=t.stackSize-2;if(e>=1&&t.runLength[e-1]<=t.runLength[e]+t.runLength[e+1]||e>=2&&t.runLength[e-2]<=t.runLength[e]+t.runLength[e-1])t.runLength[e-1]<t.runLength[e+1]&&e--;else if(t.runLength[e]>t.runLength[e+1])break;t.mergeAt(e)}},se.prototype.forceMergeRuns=function(){for(;this.stackSize>1;){var t=this.stackSize-2;t>0&&this.runLength[t-1]<this.runLength[t+1]&&t--,this.mergeAt(t)}},se.prototype.mergeAt=function(t){var e=this.compare,i=this.array,n=this.runStart[t],r=this.runLength[t],s=this.runStart[t+1],a=this.runLength[t+1];this.runLength[t]=r+a,t===this.stackSize-3&&(this.runStart[t+1]=this.runStart[t+2],this.runLength[t+1]=this.runLength[t+2]),this.stackSize--;var o=re(i[s],i,n,r,0,e);n+=o,0!==(r-=o)&&0!==(a=ne(i[n+r-1],i,s,a,a-1,e))&&(r<=a?this.mergeLow(n,r,s,a):this.mergeHigh(n,r,s,a))},se.prototype.mergeLow=function(t,e,i,n){var r=this.compare,s=this.array,a=this.tmp,o=0;for(o=0;o<e;o++)a[o]=s[t+o];var h=0,l=i,c=t;if(s[c++]=s[l++],0!=--n)if(1!==e){for(var u=this.minGallop;;){var _=0,f=0,m=!1;do{if(r(s[l],a[h])<0){if(s[c++]=s[l++],f++,_=0,0==--n){m=!0;break}}else if(s[c++]=a[h++],_++,f=0,1==--e){m=!0;break}}while((_|f)<u);if(m)break;do{if(0!==(_=re(s[l],a,h,e,0,r))){for(o=0;o<_;o++)s[c+o]=a[h+o];if(c+=_,h+=_,(e-=_)<=1){m=!0;break}}if(s[c++]=s[l++],0==--n){m=!0;break}if(0!==(f=ne(a[h],s,l,n,0,r))){for(o=0;o<f;o++)s[c+o]=s[l+o];if(c+=f,l+=f,0===(n-=f)){m=!0;break}}if(s[c++]=a[h++],1==--e){m=!0;break}u--}while(_>=7||f>=7);if(m)break;u<0&&(u=0),u+=2}if(this.minGallop=u,u<1&&(this.minGallop=1),1===e){for(o=0;o<n;o++)s[c+o]=s[l+o];s[c+n]=a[h]}else{if(0===e)throw new Error("mergeLow preconditions were not respected");for(o=0;o<e;o++)s[c+o]=a[h+o]}}else{for(o=0;o<n;o++)s[c+o]=s[l+o];s[c+n]=a[h]}else for(o=0;o<e;o++)s[c+o]=a[h+o]},se.prototype.mergeHigh=function(t,e,i,n){var r=this.compare,s=this.array,a=this.tmp,o=0;for(o=0;o<n;o++)a[o]=s[i+o];var h=t+e-1,l=n-1,c=i+n-1,u=0,_=0;if(s[c--]=s[h--],0!=--e)if(1!==n){for(var f=this.minGallop;;){var m=0,d=0,p=!1;do{if(r(a[l],s[h])<0){if(s[c--]=s[h--],m++,d=0,0==--e){p=!0;break}}else if(s[c--]=a[l--],d++,m=0,1==--n){p=!0;break}}while((m|d)<f);if(p)break;do{if(0!==(m=e-re(a[l],s,t,e,e-1,r))){for(e-=m,_=(c-=m)+1,u=(h-=m)+1,o=m-1;o>=0;o--)s[_+o]=s[u+o];if(0===e){p=!0;break}}if(s[c--]=a[l--],1==--n){p=!0;break}if(0!==(d=n-ne(s[h],a,0,n,n-1,r))){for(n-=d,_=(c-=d)+1,u=(l-=d)+1,o=0;o<d;o++)s[_+o]=a[u+o];if(n<=1){p=!0;break}}if(s[c--]=s[h--],0==--e){p=!0;break}f--}while(m>=7||d>=7);if(p)break;f<0&&(f=0),f+=2}if(this.minGallop=f,f<1&&(this.minGallop=1),1===n){for(_=(c-=e)+1,u=(h-=e)+1,o=e-1;o>=0;o--)s[_+o]=s[u+o];s[c]=a[l]}else{if(0===n)throw new Error("mergeHigh preconditions were not respected");for(u=c-(n-1),o=0;o<n;o++)s[u+o]=a[o]}}else{for(_=(c-=e)+1,u=(h-=e)+1,o=e-1;o>=0;o--)s[_+o]=s[u+o];s[c]=a[l]}else for(u=c-(n-1),o=0;o<n;o++)s[u+o]=a[o]};var oe=function(t){this._count=0,this._data=new Array(t)},he={length:{configurable:!0},data:{configurable:!0}};oe.prototype._resize=function(t){if(t>this._data.length)for(var e=this._data.length;e<t;++e)this._data[e]=void 0},he.length.get=function(){return this._count},he.data.get=function(){return this._data},oe.prototype.reset=function(){for(var t=0;t<this._count;++t)this._data[t]=void 0;this._count=0},oe.prototype.push=function(t){this._count>=this._data.length&&this._resize(2*this._data.length),this._data[this._count]=t,++this._count},oe.prototype.pop=function(){--this._count,this._count<0&&(this._count=0);var t=this._data[this._count];return this._data[this._count]=void 0,t},oe.prototype.fastRemove=function(t){if(!(t>=this._count)){var e=this._count-1;this._data[t]=this._data[e],this._data[e]=void 0,this._count-=1}},oe.prototype.indexOf=function(t){var e=this._data.indexOf(t);return e>=this._count?-1:e},oe.prototype.sort=function(t){return ae(this._data,0,this._count,t)},Object.defineProperties(oe.prototype,he);var le=function(t,e){this._fn=t,this._idx=e-1,this._frees=new Array(e);for(var i=0;i<e;++i)this._frees[i]=t()};le.prototype._expand=function(t){var e=this._frees;this._frees=new Array(t);for(var i=t-e.length,n=0;n<i;++n)this._frees[n]=this._fn();for(var r=i,s=0;r<t;++r,++s)this._frees[r]=e[s];this._idx+=i},le.prototype.alloc=function(){this._idx<0&&this._expand(Math.round(1.2*this._frees.length)+1);var t=this._frees[this._idx];return this._frees[this._idx]=null,--this._idx,t},le.prototype.free=function(t){++this._idx,this._frees[this._idx]=t};var ce=function(t,e){this._fn=t,this._count=0,this._head=null,this._tail=null,this._pool=new le(t,e)},ue={head:{configurable:!0},tail:{configurable:!0},length:{configurable:!0}};ue.head.get=function(){return this._head},ue.tail.get=function(){return this._tail},ue.length.get=function(){return this._count},ce.prototype.add=function(){var t=this._pool.alloc();return this._tail?(this._tail._next=t,t._prev=this._tail):this._head=t,this._tail=t,this._count+=1,t},ce.prototype.remove=function(t){t._prev?t._prev._next=t._next:this._head=t._next,t._next?t._next._prev=t._prev:this._tail=t._prev,t._next=null,t._prev=null,this._pool.free(t),this._count-=1},ce.prototype.forEach=function(t,e){var i=this._head;if(i){e&&(t=t.bind(e));for(var n=0,r=i;i;)r=i._next,t(i,n,this),i=r,++n}},Object.defineProperties(ce.prototype,ue);var _e=function(t,e){this._fn=t,this._count=0,this._data=new Array(e);for(var i=0;i<e;++i)this._data[i]=t()},fe={length:{configurable:!0},data:{configurable:!0}};fe.length.get=function(){return this._count},fe.data.get=function(){return this._data},_e.prototype.reset=function(){this._count=0},_e.prototype.resize=function(t){if(t>this._data.length)for(var e=this._data.length;e<t;++e)this._data[e]=this._fn()},_e.prototype.add=function(){return this._count>=this._data.length&&this.resize(2*this._data.length),this._data[this._count++]},_e.prototype.remove=function(t){if(!(t>=this._count)){var e=this._count-1,i=this._data[t];this._data[t]=this._data[e],this._data[e]=i,this._count-=1}},_e.prototype.sort=function(t){return ae(this._data,0,this._count,t)},Object.defineProperties(_e.prototype,fe);for(var me=Array(8),de=0;de<8;++de)me[de]=[];var pe=function(){this._lights=new oe(16),this._models=new oe(16),this._cameras=new oe(16),this._debugCamera=null,this._views=[]};pe.prototype._add=function(t,e){-1===e._poolID&&(t.push(e),e._poolID=t.length-1)},pe.prototype._remove=function(t,e){-1!==e._poolID&&(t.data[t.length-1]._poolID=e._poolID,t.fastRemove(e._poolID),e._poolID=-1)},pe.prototype.reset=function(){for(var t=0;t<this._models.length;++t){this._models.data[t]._cullingMask=-1}},pe.prototype.setDebugCamera=function(t){this._debugCamera=t},pe.prototype.getCameraCount=function(){return this._cameras.length},pe.prototype.getCamera=function(t){return this._cameras.data[t]},pe.prototype.addCamera=function(t){this._add(this._cameras,t)},pe.prototype.removeCamera=function(t){this._remove(this._cameras,t)},pe.prototype.getModelCount=function(){return this._models.length},pe.prototype.getModel=function(t){return this._models.data[t]},pe.prototype.addModel=function(t){this._add(this._models,t)},pe.prototype.removeModel=function(t){this._remove(this._models,t)},pe.prototype.getLightCount=function(){return this._lights.length},pe.prototype.getLight=function(t){return this._lights.data[t]},pe.prototype.addLight=function(t){this._add(this._lights,t)},pe.prototype.removeLight=function(t){this._remove(this._lights,t)},pe.prototype.addView=function(t){-1===this._views.indexOf(t)&&this._views.push(t)},pe.prototype.removeView=function(t){var e=this._views.indexOf(t);-1!==e&&this._views.splice(e,1)};var ye=0;function ve(t,e){var i={},n=t;for(var r in e)Number.isInteger(e[r])&&(i[r]=e[r]);for(var s in i){var a=new RegExp(s,"g");n=n.replace(a,i[s])}return n}function ge(t){return t.replace(/#pragma for (\w+) in range\(\s*(\d+)\s*,\s*(\d+)\s*\)([\s\S]+?)#pragma endFor/g,(function(t,e,i,n,r){var s="",a=parseInt(i),o=parseInt(n);(a.isNaN||o.isNaN)&&console.error("Unroll For Loops Error: begin and end of range must be an int num.");for(var h=a;h<o;++h)s+=r.replace(new RegExp("{"+e+"}","g"),h);return s}))}var xe=function(t,e,i){void 0===e&&(e=[]),void 0===i&&(i={}),this._device=t,this._precision="precision highp float;\n",this._templates={};for(var n=0;n<e.length;++n){var r=e[n];this.define(r.name,r.vert,r.frag,r.defines)}this._chunks={},Object.assign(this._chunks,i),this._cache={}};xe.prototype.define=function(t,e,i,n){if(this._templates[t])console.warn("Failed to define shader "+t+": already exists.");else{for(var r=++ye,s=0,a=function(t){var e=n[t];e._offset=s;var i=1;void 0!==e.min&&void 0!==e.max?(i=Math.ceil(.5*(e.max-e.min)),e._map=function(t){return t-this._min<<e._offset}.bind(e)):e._map=function(t){return t?1<<e._offset:0}.bind(e),s+=i,e._offset=s},o=0;o<n.length;++o)a(o);e=this._precision+e,i=this._precision+i,this._templates[t]={id:r,name:t,vert:e,frag:i,defines:n}}},xe.prototype.getKey=function(t,e){for(var i=this._templates[t],n=0,r=0;r<i.defines.length;++r){var s=i.defines[r],a=e[s.name];void 0!==a&&(n|=s._map(a))}return n<<8|i.id},xe.prototype.getProgram=function(t,e){var i=this.getKey(t,e),n=this._cache[i];if(n)return n;var r=this._templates[t],s=(function(t){var e=[];for(var i in t)!0===t[i]&&e.push("#define "+i);return e.join("\n")})(e)+"\n",a=ve(r.vert,e);a=s+ge(a);var o=ve(r.frag,e);return o=s+ge(o),(n=new Ct.Program(this._device,{vert:a,frag:o})).link(),this._cache[i]=n,n};var Ae=T.create(),be=V.create(),Ce=new _e(function(){return{stage:null,items:null}},8),Se=new _e(function(){return new Float32Array(2)},8),Te=new _e(function(){return new Float32Array(3)},8),we=new _e(function(){return new Float32Array(4)},8),Ee=new _e(function(){return new Float32Array(9)},8),De=new _e(function(){return new Float32Array(16)},8),Me=new _e(function(){return new Float32Array(64)},8),Be=new _e(function(){return new Int32Array(2)},8),Pe=new _e(function(){return new Int32Array(3)},8),Ie=new _e(function(){return new Int32Array(4)},8),Re=new _e(function(){return new Int32Array(64)},8),Oe={};Oe[X.PARAM_INT]=function(t){return t},Oe[X.PARAM_INT2]=function(t){return p.array(Be.add(),t)},Oe[X.PARAM_INT3]=function(t){return g.array(Pe.add(),t)},Oe[X.PARAM_INT4]=function(t){return b.array(Ie.add(),t)},Oe[X.PARAM_FLOAT]=function(t){return t},Oe[X.PARAM_FLOAT2]=function(t){return p.array(Se.add(),t)},Oe[X.PARAM_FLOAT3]=function(t){return g.array(Te.add(),t)},Oe[X.PARAM_FLOAT4]=function(t){return b.array(we.add(),t)},Oe[X.PARAM_COLOR3]=function(t){return G.array(Te.add(),t)},Oe[X.PARAM_COLOR4]=function(t){return j.array(we.add(),t)},Oe[X.PARAM_MAT2]=function(t){return P.array(we.add(),t)},Oe[X.PARAM_MAT3]=function(t){return T.array(Ee.add(),t)},Oe[X.PARAM_MAT4]=function(t){return V.array(De.add(),t)};var Le={};Le[X.PARAM_INT]={func:function(t){for(var e=Re.add(),i=0;i<t.length;++i)e[i]=t[i];return e},size:1},Le[X.PARAM_INT2]={func:function(t){for(var e=Re.add(),i=0;i<t.length;++i)e[2*i]=t[i].x,e[2*i+1]=t[i].y;return e},size:2},Le[X.PARAM_INT3]={func:void 0,size:3},Le[X.PARAM_INT4]={func:function(t){for(var e=Re.add(),i=0;i<t.length;++i){var n=t[i];e[4*i]=n.x,e[4*i+1]=n.y,e[4*i+2]=n.z,e[4*i+3]=n.w}return e},size:4},Le[X.PARAM_FLOAT]={func:function(t){for(var e=Me.add(),i=0;i<t.length;++i)e[i]=t[i];return e},size:1},Le[X.PARAM_FLOAT2]={func:function(t){for(var e=Me.add(),i=0;i<t.length;++i)e[2*i]=t[i].x,e[2*i+1]=t[i].y;return e},size:2},Le[X.PARAM_FLOAT3]={func:void 0,size:3},Le[X.PARAM_FLOAT4]={func:function(t){for(var e=Me.add(),i=0;i<t.length;++i){var n=t[i];e[4*i]=n.x,e[4*i+1]=n.y,e[4*i+2]=n.z,e[4*i+3]=n.w}return e},size:4},Le[X.PARAM_COLOR3]={func:void 0,size:3},Le[X.PARAM_COLOR4]={func:function(t){for(var e=Me.add(),i=0;i<t.length;++i){var n=t[i];e[4*i]=n.r,e[4*i+1]=n.g,e[4*i+2]=n.b,e[4*i+3]=n.a}return e},size:4},Le[X.PARAM_MAT2]={func:function(t){for(var e=Me.add(),i=0;i<t.length;++i){var n=t[i];e[4*i]=n.m00,e[4*i+1]=n.m01,e[4*i+2]=n.m02,e[4*i+3]=n.m03}return e},size:4},Le[X.PARAM_MAT3]={func:void 0,size:9},Le[X.PARAM_MAT4]={func:function(t){for(var e=Me.add(),i=0;i<t.length;++i){var n=t[i];e[16*i]=n.m00,e[16*i+1]=n.m01,e[16*i+2]=n.m02,e[16*i+3]=n.m03,e[16*i+4]=n.m04,e[16*i+5]=n.m05,e[16*i+6]=n.m06,e[16*i+7]=n.m07,e[16*i+8]=n.m08,e[16*i+9]=n.m09,e[16*i+10]=n.m10,e[16*i+11]=n.m11,e[16*i+12]=n.m12,e[16*i+13]=n.m13,e[16*i+14]=n.m14,e[16*i+15]=n.m15}return e},size:16};var Fe=function(t,e){var i;this._device=t,this._programLib=new xe(t,e.programTemplates,e.programChunks),this._opts=e,this._type2defaultValue=((i={})[X.PARAM_INT]=0,i[X.PARAM_INT2]=p.new(0,0),i[X.PARAM_INT3]=g.new(0,0,0),i[X.PARAM_INT4]=b.new(0,0,0,0),i[X.PARAM_FLOAT]=0,i[X.PARAM_FLOAT2]=p.new(0,0),i[X.PARAM_FLOAT3]=g.new(0,0,0),i[X.PARAM_FLOAT4]=b.new(0,0,0,0),i[X.PARAM_COLOR3]=G.new(0,0,0),i[X.PARAM_COLOR4]=j.new(0,0,0,1),i[X.PARAM_MAT2]=P.create(),i[X.PARAM_MAT3]=T.create(),i[X.PARAM_MAT4]=V.create(),i[X.PARAM_TEXTURE_2D]=e.defaultTexture,i[X.PARAM_TEXTURE_CUBE]=e.defaultTextureCube,i),this._stage2fn={},this._usedTextureUnits=0,this._viewPools=new _e(function(){return new Lt},8),this._drawItemsPools=new _e(function(){return{model:null,node:null,ia:null,effect:null,defines:null}},100),this._stageItemsPools=new _e(function(){return new _e(function(){return{model:null,node:null,ia:null,effect:null,defines:null,technique:null,sortKey:-1}},100)},16)};Fe.prototype._resetTextuerUnit=function(){this._usedTextureUnits=0},Fe.prototype._allocTextuerUnit=function(){var t=this._device,e=this._usedTextureUnits;return e>=t._caps.maxTextureUnits&&console.warn("Trying to use "+e+" texture units while this GPU supports only "+t._caps.maxTextureUnits),this._usedTextureUnits+=1,e},Fe.prototype._registerStage=function(t,e){this._stage2fn[t]=e},Fe.prototype._reset=function(){this._viewPools.reset(),this._stageItemsPools.reset()},Fe.prototype._requestView=function(){return this._viewPools.add()},Fe.prototype._render=function(t,e){var i=this._device;i.setFrameBuffer(t._framebuffer),i.setViewport(t._rect.x,t._rect.y,t._rect.w,t._rect.h);var n={};t._clearFlags&X.CLEAR_COLOR&&(n.color=[t._color.r,t._color.g,t._color.b,t._color.a]),t._clearFlags&X.CLEAR_DEPTH&&(n.depth=t._depth),t._clearFlags&X.CLEAR_STENCIL&&(n.stencil=t._stencil),i.clear(n),this._drawItemsPools.reset();for(var r=0;r<e._models.length;++r){var s=e._models.data[r];if(0!=(s._cullingMask&t._cullingMask))for(var a=0;a<s.drawItemCount;++a){var o=this._drawItemsPools.add();s.extractDrawItem(o,a)}}Ce.reset();for(var h=0;h<t._stages.length;++h){var l=t._stages[h],c=this._stageItemsPools.add();c.reset();for(var u=0;u<this._drawItemsPools.length;++u){var _=this._drawItemsPools.data[u],f=_.effect.getTechnique(l);if(f){var m=c.add();m.model=_.model,m.node=_.node,m.ia=_.ia,m.effect=_.effect,m.defines=_.defines,m.technique=f,m.sortKey=-1}}var d=Ce.add();d.stage=l,d.items=c}for(var p=0;p<Ce.length;++p){var y=Ce.data[p];(0,this._stage2fn[y.stage])(t,y.items)}},Fe.prototype._draw=function(t){var e=this._device,i=this._programLib,n=t.node,r=t.ia,s=t.effect,a=t.technique,o=t.defines;Se.reset(),Te.reset(),we.reset(),Ee.reset(),De.reset(),Me.reset(),Be.reset(),Pe.reset(),Ie.reset(),Re.reset(),n.getWorldMatrix(be),e.setUniform("model",V.array(De.add(),be));var h=T.invert(Ae,T.fromMat4(Ae,be));h&&(T.transpose(Ae,h),e.setUniform("normalMatrix",T.array(Ee.add(),Ae)));for(var l=0;l<a._parameters.length;++l){var c=a._parameters[l],u=s.getProperty(c.name);if(void 0===u&&(u=c.val),void 0===u&&(u=this._type2defaultValue[c.type]),void 0!==u)if(c.type===X.PARAM_TEXTURE_2D||c.type===X.PARAM_TEXTURE_CUBE)if(void 0!==c.size){if(c.size!==u.length){console.error("The length of texture array ("+u.length+") is not corrent(expect "+c.size+").");continue}for(var _=Re.add(),f=0;f<u.length;++f)_[f]=this._allocTextuerUnit();e.setTextureArray(c.name,u,_)}else e.setTexture(c.name,u,this._allocTextuerUnit());else{var m=void 0;if(void 0!==c.size){var d=Le[c.type];if(void 0===d.func){console.error("Uniform array of color3/int3/float3/mat3 can not be supportted!");continue}if(c.size*d.size>64){console.error("Uniform array is too long!");continue}m=d.func(u)}else{m=(0,Oe[c.type])(u)}e.setUniform(c.name,m)}else console.warn("Failed to set technique property "+c.name+", value not found.")}for(var p=0;p<a._passes.length;++p){var y=a._passes[p],v=r.getPrimitiveCount();e.setVertexBuffer(0,r._vertexBuffer),r._indexBuffer&&e.setIndexBuffer(r._indexBuffer),e.setPrimitiveType(r._primitiveType);var g=i.getProgram(y._programName,o);e.setProgram(g),e.setCullMode(y._cullMode),y._blend&&(e.enableBlend(),e.setBlendFuncSep(y._blendSrc,y._blendDst,y._blendSrcAlpha,y._blendDstAlpha),e.setBlendEqSep(y._blendEq,y._blendAlphaEq),e.setBlendColor32(y._blendColor)),y._depthTest&&(e.enableDepthTest(),e.setDepthFunc(y._depthFunc)),y._depthWrite&&e.enableDepthWrite(),y._stencilTest&&(e.enableStencilTest(),e.setStencilFuncFront(y._stencilFuncFront,y._stencilRefFront,y._stencilMaskFront),e.setStencilOpFront(y._stencilFailOpFront,y._stencilZFailOpFront,y._stencilZPassOpFront,y._stencilWriteMaskFront),e.setStencilFuncBack(y._stencilFuncBack,y._stencilRefBack,y._stencilMaskBack),e.setStencilOpBack(y._stencilFailOpBack,y._stencilZFailOpBack,y._stencilZPassOpBack,y._stencilWriteMaskBack)),e.draw(r._start,v),this._resetTextuerUnit()}};var Ve={addStage:Dt.addStage,createIA:function(t,e){if(!e.positions)return console.error("The data must have positions field"),null;for(var i=[],n=e.positions.length/3,r=0;r<n;++r)i.push(e.positions[3*r],e.positions[3*r+1],e.positions[3*r+2]),e.normals&&i.push(e.normals[3*r],e.normals[3*r+1],e.normals[3*r+2]),e.uvs&&i.push(e.uvs[2*r],e.uvs[2*r+1]);var s=[];s.push({name:Ct.ATTR_POSITION,type:Ct.ATTR_TYPE_FLOAT32,num:3}),e.normals&&s.push({name:Ct.ATTR_NORMAL,type:Ct.ATTR_TYPE_FLOAT32,num:3}),e.uvs&&s.push({name:Ct.ATTR_UV0,type:Ct.ATTR_TYPE_FLOAT32,num:2});var a=new Ct.VertexBuffer(t,new Ct.VertexFormat(s),Ct.USAGE_STATIC,new Float32Array(i),n),o=null;return e.indices&&(o=new Ct.IndexBuffer(t,Ct.INDEX_FMT_UINT16,Ct.USAGE_STATIC,new Uint16Array(e.indices),e.indices.length)),new St(a,o)},Pass:Tt,Technique:Bt,Effect:It,InputAssembler:St,View:Lt,Light:Gt,Camera:Yt,Model:Jt,Scene:pe,Base:Fe,ProgramLib:xe};Object.assign(Ve,X);var Ne,ke=new Float32Array(16),Ge=new Float32Array(16),ze=new Float32Array(16),Ue=(function(t){function e(e,i){t.call(this,e,i),this._registerStage("transparent",this._transparentStage.bind(this))}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.reset=function(){this._reset()},e.prototype.render=function(t){this._reset(),t._cameras.sort((function(t,e){return t._depth>e._depth?1:t._depth<e._depth?-1:0}));for(var e=0;e<t._cameras.length;++e){var i=t._cameras.data[e];i._poolID=e,this.renderCamera(i,t)}},e.prototype.renderCamera=function(t,e){var i=this._device._gl.canvas,n=t.view,r=t.dirty;if(n||(n=this._requestView(),r=!0),r){var s=i.width,a=i.height;t._framebuffer&&(s=t._framebuffer._width,a=t._framebuffer._height),t.extractView(n,s,a)}this._render(n,e)},e.prototype._transparentStage=function(t,e){this._device.setUniform("view",V.array(ke,t._matView)),this._device.setUniform("proj",V.array(Ge,t._matProj)),this._device.setUniform("viewProj",V.array(ze,t._matViewProj));for(var i=0;i<e.length;++i){var n=e.data[i];this._draw(n)}},e})(Ve.Base),je={chunks:{},templates:[{name:"gray_sprite",vert:"\n \nuniform mat4 viewProj;\nattribute vec3 a_position;\nattribute mediump vec2 a_uv0;\nvarying mediump vec2 uv0;\n#ifndef useColor\nattribute lowp vec4 a_color;\nvarying lowp vec4 v_fragmentColor;\n#endif\nvoid main () {\n  vec4 pos = viewProj * vec4(a_position, 1);\n  gl_Position = pos;\n  uv0 = a_uv0;\n #ifndef useColor\n  v_fragmentColor = a_color;\n #endif\n}",frag:"\n \nuniform sampler2D texture;\nvarying mediump vec2 uv0;\n#ifdef useColor\n  uniform lowp vec4 color;\n#else\n  varying lowp vec4 v_fragmentColor;\n#endif\nvoid main () {\n  #ifdef useColor\n    vec4 o = color;\n  #else\n    vec4 o = v_fragmentColor;\n  #endif\n  vec4 c = o * texture2D(texture, uv0);\n  float gray = 0.2126*c.r + 0.7152*c.g + 0.0722*c.b;\n  gl_FragColor = vec4(gray, gray, gray, c.a);\n}",defines:[{name:"useColor"}]},{name:"sprite",vert:"\n \nuniform mat4 viewProj;\n#ifdef use2DPos\nattribute vec2 a_position;\n#else\nattribute vec3 a_position;\n#endif\nattribute lowp vec4 a_color;\n#ifdef useModel\n  uniform mat4 model;\n#endif\n#ifdef useTexture\n  attribute mediump vec2 a_uv0;\n  varying mediump vec2 uv0;\n#endif\n#ifndef useColor\nvarying lowp vec4 v_fragmentColor;\n#endif\nvoid main () {\n  mat4 mvp;\n  #ifdef useModel\n    mvp = viewProj * model;\n  #else\n    mvp = viewProj;\n  #endif\n  #ifdef use2DPos\n  vec4 pos = mvp * vec4(a_position, 0, 1);\n  #else\n  vec4 pos = mvp * vec4(a_position, 1);\n  #endif\n  #ifndef useColor\n  v_fragmentColor = a_color;\n  #endif\n  #ifdef useTexture\n    uv0 = a_uv0;\n  #endif\n  gl_Position = pos;\n}",frag:"\n \n#ifdef useTexture\n  uniform sampler2D texture;\n  varying mediump vec2 uv0;\n#endif\n#ifdef alphaTest\n  uniform lowp float alphaThreshold;\n#endif\n#ifdef useColor\n  uniform lowp vec4 color;\n#else\n  varying lowp vec4 v_fragmentColor;\n#endif\nvoid main () {\n  #ifdef useColor\n    vec4 o = color;\n  #else\n    vec4 o = v_fragmentColor;\n  #endif\n  #ifdef useTexture\n    o *= texture2D(texture, uv0);\n  #endif\n  #ifdef alphaTest\n    if (o.a <= alphaThreshold)\n      discard;\n  #endif\n  gl_FragColor = o;\n}",defines:[{name:"useTexture"},{name:"useModel"},{name:"alphaTest"},{name:"use2DPos"},{name:"useColor"}]},{name:"spine",vert:"\n \nuniform mat4 viewProj;\n\n#ifdef use2DPos\n  attribute vec2 a_position;\n#else\n  attribute vec3 a_position;\n#endif\n\nattribute lowp vec4 a_color;\n#ifdef useTint\n  attribute lowp vec4 a_color0;\n#endif\n\n#ifdef useModel\n  uniform mat4 model;\n#endif\n\nattribute mediump vec2 a_uv0;\nvarying mediump vec2 uv0;\n\nvarying lowp vec4 v_light;\n#ifdef useTint\n  varying lowp vec4 v_dark;\n#endif\n\nvoid main () {\n  mat4 mvp;\n  #ifdef useModel\n    mvp = viewProj * model;\n  #else\n    mvp = viewProj;\n  #endif\n\n  #ifdef use2DPos\n  vec4 pos = mvp * vec4(a_position, 0, 1);\n  #else\n  vec4 pos = mvp * vec4(a_position, 1);\n  #endif\n\n  v_light = a_color;\n  #ifdef useTint\n    v_dark = a_color0;\n  #endif\n\n  uv0 = a_uv0;\n\n  gl_Position = pos;\n}",frag:"\n \nuniform sampler2D texture;\nvarying mediump vec2 uv0;\n\n#ifdef alphaTest\n  uniform lowp float alphaThreshold;\n#endif\n\nvarying lowp vec4 v_light;\n#ifdef useTint\n  varying lowp vec4 v_dark;\n#endif\n\nvoid main () {\n  vec4 texColor = texture2D(texture, uv0);\n  vec4 finalColor;\n\n  #ifdef useTint\n    finalColor.a = v_light.a * texColor.a;\n    finalColor.rgb = ((texColor.a - 1.0) * v_dark.a + 1.0 - texColor.rgb) * v_dark.rgb + texColor.rgb * v_light.rgb;\n  #else\n    finalColor = texColor * v_light;\n  #endif\n\n  #ifdef alphaTest\n    if (finalColor.a <= alphaThreshold)\n      discard;\n  #endif\n\n  gl_FragColor = finalColor;\n}",defines:[{name:"useModel"},{name:"alphaTest"},{name:"use2DPos"},{name:"useTint"}]}]},We=function(){this.material=null,this.vertexCount=0,this.indiceCount=0},He=new le(function(){return{x:0,y:0,u:0,v:0,color:0}},128),Xe=(function(t){function e(){t.call(this),this._data=[],this._indices=[],this._pivotX=0,this._pivotY=0,this._width=0,this._height=0,this.uvDirty=!0,this.vertDirty=!0}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{configurable:!0},dataLength:{configurable:!0}};return i.type.get=function(){return e.type},i.dataLength.get=function(){return this._data.length},i.dataLength.set=function(t){var e=this._data;if(e.length!==t){for(var i=t;i<e.length;i++)He.free(e[i]);for(var n=e.length;n<t;n++)e[n]=He.alloc();e.length=t}},e.prototype.updateSizeNPivot=function(t,e,i,n){t===this._width&&e===this._height&&i===this._pivotX&&n===this._pivotY||(this._width=t,this._height=e,this._pivotX=i,this._pivotY=n,this.vertDirty=!0)},e.alloc=function(){return Ne.alloc()},e.free=function(t){if(t instanceof e){for(var i=t.length-1;i>0;i--)He.free(t._data[i]);t._data.length=0,t._indices.length=0,t.material=null,t.uvDirty=!0,t.vertDirty=!0,t.vertexCount=0,t.indiceCount=0,Ne.free(t)}},Object.defineProperties(e.prototype,i),e})(We);Xe.type="RenderData",Ne=new le(function(){return new Xe},32);var Ye=(function(t){function e(){t.call(this),this.ia=null}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={type:{configurable:!0}};return i.type.get=function(){return e.type},Object.defineProperties(e.prototype,i),e})(We);Ye.type="IARenderData";var qe=function(t){void 0===t&&(t=!0),this._loaded=!1,this._persist=t};qe.prototype.unload=function(){this._loaded=!1},qe.prototype.reload=function(){};var Je=(function(t){function e(e){void 0===e&&(e=!0),t.call(this,e),this._texture=null}return t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e,e.prototype.getImpl=function(){return this._texture},e.prototype.getId=function(){},e.prototype.destroy=function(){this._texture&&this._texture.destroy()},e})(qe);function Ze(t){var e=t._programName+t._cullMode;return t._blend&&(e+=t._blendEq+t._blendAlphaEq+t._blendSrc+t._blendDst+t._blendSrcAlpha+t._blendDstAlpha+t._blendColor),t._depthTest&&(e+=t._depthWrite+t._depthFunc),t._stencilTest&&(e+=t._stencilFuncFront+t._stencilRefFront+t._stencilMaskFront+t._stencilFailOpFront+t._stencilZFailOpFront+t._stencilZPassOpFront+t._stencilWriteMaskFront+t._stencilFuncBack+t._stencilRefBack+t._stencilMaskBack+t._stencilFailOpBack+t._stencilZFailOpBack+t._stencilZPassOpBack+t._stencilWriteMaskBack),e}var Ke=(function(t){function e(e){void 0===e&&(e=!1),t.call(this,e),this._effect=null,this._texIds={},this._hash=""}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={hash:{configurable:!0}};return i.hash.get=function(){return this._hash},e.prototype.updateHash=function(t){this._hash=t||(function(t){var e,i,n,r,s,a,o=t._effect,h="";if(o)for(h+=(function(t){for(var e="",i=0;i<t.length;i++)e+=t[i].name+t[i].value;return e})(o._defines),e=0;e<o._techniques.length;e++){for(h+=(n=o._techniques[e]).stageIDs,i=0;i<n.passes.length;i++)h+=Ze(n.passes[i]);for(i=0;i<n._parameters.length;i++)if(a=(r=n._parameters[i]).name,s=o._properties[a])switch(r.type){case Ve.PARAM_INT:case Ve.PARAM_FLOAT:h+=s+";";break;case Ve.PARAM_INT2:case Ve.PARAM_FLOAT2:h+=s.x+","+s.y+";";break;case Ve.PARAM_INT4:case Ve.PARAM_FLOAT4:h+=s.x+","+s.y+","+s.z+","+s.w+";";break;case Ve.PARAM_COLOR4:h+=s.r+","+s.g+","+s.b+","+s.a+";";break;case Ve.PARAM_MAT2:h+=s.m00+","+s.m01+","+s.m02+","+s.m03+";";break;case Ve.PARAM_TEXTURE_2D:case Ve.PARAM_TEXTURE_CUBE:h+=t._texIds[a]+";";break;case Ve.PARAM_INT3:case Ve.PARAM_FLOAT3:case Ve.PARAM_COLOR3:case Ve.PARAM_MAT3:case Ve.PARAM_MAT4:h+=JSON.stringify(s)+";"}}return h?(function(t,e){for(var i,n=t.length,r=e^n,s=0;n>=4;)i=1540483477*(65535&(i=255&t.charCodeAt(s)|(255&t.charCodeAt(++s))<<8|(255&t.charCodeAt(++s))<<16|(255&t.charCodeAt(++s))<<24))+((1540483477*(i>>>16)&65535)<<16),r=1540483477*(65535&r)+((1540483477*(r>>>16)&65535)<<16)^(i=1540483477*(65535&(i^=i>>>24))+((1540483477*(i>>>16)&65535)<<16)),n-=4,++s;switch(n){case 3:r^=(255&t.charCodeAt(s+2))<<16;case 2:r^=(255&t.charCodeAt(s+1))<<8;case 1:r=1540483477*(65535&(r^=255&t.charCodeAt(s)))+((1540483477*(r>>>16)&65535)<<16)}return r=1540483477*(65535&(r^=r>>>13))+((1540483477*(r>>>16)&65535)<<16),(r^=r>>>15)>>>0})(h,666):h})(this)},Object.defineProperties(e.prototype,i),e})(qe),Qe=(function(t){function e(){t.call(this,!1);var e=new Ve.Pass("sprite");e.setDepth(!1,!1),e.setCullMode(Ct.CULL_NONE),e.setBlend(Ct.BLEND_FUNC_ADD,Ct.BLEND_SRC_ALPHA,Ct.BLEND_ONE_MINUS_SRC_ALPHA,Ct.BLEND_FUNC_ADD,Ct.BLEND_SRC_ALPHA,Ct.BLEND_ONE_MINUS_SRC_ALPHA);var i=new Ve.Technique(["transparent"],[{name:"texture",type:Ve.PARAM_TEXTURE_2D},{name:"color",type:Ve.PARAM_COLOR4}],[e]);this._color={r:1,g:1,b:1,a:1},this._effect=new Ve.Effect([i],{color:this._color},[{name:"useTexture",value:!0},{name:"useModel",value:!1},{name:"alphaTest",value:!1},{name:"use2DPos",value:!0},{name:"useColor",value:!0}]),this._mainTech=i,this._texture=null}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={effect:{configurable:!0},useTexture:{configurable:!0},useModel:{configurable:!0},use2DPos:{configurable:!0},useColor:{configurable:!0},texture:{configurable:!0},color:{configurable:!0}};return i.effect.get=function(){return this._effect},i.useTexture.get=function(){return this._effect.getDefine("useTexture")},i.useTexture.set=function(t){this._effect.define("useTexture",t)},i.useModel.get=function(){return this._effect.getDefine("useModel")},i.useModel.set=function(t){this._effect.define("useModel",t)},i.use2DPos.get=function(){return this._effect.getDefine("use2DPos")},i.use2DPos.set=function(t){this._effect.define("use2DPos",t)},i.useColor.get=function(){return this._effect.getDefine("useColor")},i.useColor.set=function(t){this._effect.define("useColor",t)},i.texture.get=function(){return this._texture},i.texture.set=function(t){this._texture!==t&&(this._texture=t,this._effect.setProperty("texture",t.getImpl()),this._texIds.texture=t.getId())},i.color.get=function(){return this._color},i.color.set=function(t){var e=this._color;e.r=t.r/255,e.g=t.g/255,e.b=t.b/255,e.a=t.a/255,this._effect.setProperty("color",e)},e.prototype.clone=function(){var t=new e;return t._mainTech.copy(this._mainTech),t.texture=this.texture,t.useTexture=this.useTexture,t.useModel=this.useModel,t.use2DPos=this.use2DPos,t.useColor=this.useColor,t.updateHash(),t},Object.defineProperties(e.prototype,i),e})(Ke),$e=(function(t){function e(){t.call(this,!1);var e=new Ve.Pass("spine");e.setDepth(!1,!1),e.setCullMode(Ct.CULL_NONE),e.setBlend(Ct.BLEND_FUNC_ADD,Ct.BLEND_SRC_ALPHA,Ct.BLEND_ONE_MINUS_SRC_ALPHA,Ct.BLEND_FUNC_ADD,Ct.BLEND_SRC_ALPHA,Ct.BLEND_ONE_MINUS_SRC_ALPHA);var i=new Ve.Technique(["transparent"],[{name:"texture",type:Ve.PARAM_TEXTURE_2D}],[e]);this._effect=new Ve.Effect([i],{},[{name:"useModel",value:!0},{name:"alphaTest",value:!1},{name:"use2DPos",value:!0},{name:"useTint",value:!1}]),this._mainTech=i,this._texture=null}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={effect:{configurable:!0},useModel:{configurable:!0},use2DPos:{configurable:!0},useTint:{configurable:!1},texture:{configurable:!0}};return i.effect.get=function(){return this._effect},i.useModel.get=function(){return this._effect.getDefine("useModel")},i.useModel.set=function(t){this._effect.define("useModel",t)},i.use2DPos.get=function(){return this._effect.getDefine("use2DPos")},i.use2DPos.set=function(t){this._effect.define("use2DPos",t)},i.useTint.get=function(){return this._effect.getDefine("useTint")},i.useTint.set=function(t){this._effect.define("useTint",t)},i.texture.get=function(){return this._texture},i.texture.set=function(t){this._texture!==t&&(this._texture=t,this._effect.setProperty("texture",t.getImpl()),this._texIds.texture=t.getId())},e.prototype.clone=function(){var t=new e;return t._mainTech.copy(this._mainTech),t.texture=this.texture,t.useModel=this.useModel,t.use2DPos=this.use2DPos,t.useTint=this.useTint,t._hash=this._hash,t},Object.defineProperties(e.prototype,i),e})(Ke),ti=(function(t){function e(){t.call(this,!1);var e=new Ve.Pass("gray_sprite");e.setDepth(!1,!1),e.setCullMode(Ct.CULL_NONE),e.setBlend(Ct.BLEND_FUNC_ADD,Ct.BLEND_SRC_ALPHA,Ct.BLEND_ONE_MINUS_SRC_ALPHA,Ct.BLEND_FUNC_ADD,Ct.BLEND_SRC_ALPHA,Ct.BLEND_ONE_MINUS_SRC_ALPHA);var i=new Ve.Technique(["transparent"],[{name:"texture",type:Ve.PARAM_TEXTURE_2D},{name:"color",type:Ve.PARAM_COLOR4}],[e]);this._color={r:1,g:1,b:1,a:1},this._effect=new Ve.Effect([i],{color:this._color},[{name:"useColor",value:!1}]),this._mainTech=i,this._texture=null}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={effect:{configurable:!0},texture:{configurable:!0},color:{configurable:!0}};return i.effect.get=function(){return this._effect},i.texture.get=function(){return this._texture},i.texture.set=function(t){this._texture!==t&&(this._texture=t,this._effect.setProperty("texture",t.getImpl()),this._texIds.texture=t.getId())},i.color.get=function(){return this._color},i.color.set=function(t){var e=this._color;e.r=t.r/255,e.g=t.g/255,e.b=t.b/255,e.a=t.a/255,this._effect.setProperty("color",e)},e.prototype.clone=function(){var t=new e;return t._mainTech.copy(this._mainTech),t.texture=this.texture,t.color=this.color,t.updateHash(),t},Object.defineProperties(e.prototype,i),e})(Ke),ei=(function(t){function e(){t.call(this,!1),this._pass=new Ve.Pass("sprite"),this._pass.setDepth(!1,!1),this._pass.setCullMode(Ct.CULL_NONE),this._pass.setBlend(Ct.BLEND_FUNC_ADD,Ct.BLEND_SRC_ALPHA,Ct.BLEND_ONE_MINUS_SRC_ALPHA,Ct.BLEND_FUNC_ADD,Ct.BLEND_SRC_ALPHA,Ct.BLEND_ONE_MINUS_SRC_ALPHA);var e=new Ve.Technique(["transparent"],[{name:"texture",type:Ve.PARAM_TEXTURE_2D},{name:"alphaThreshold",type:Ve.PARAM_FLOAT},{name:"color",type:Ve.PARAM_COLOR4}],[this._pass]);this._effect=new Ve.Effect([e],{color:{r:1,g:1,b:1,a:1}},[{name:"useTexture",value:!0},{name:"useModel",value:!1},{name:"alphaTest",value:!0},{name:"use2DPos",value:!0},{name:"useColor",value:!0}]),this._mainTech=e,this._texture=null}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={effect:{configurable:!0},useTexture:{configurable:!0},useModel:{configurable:!0},useColor:{configurable:!0},texture:{configurable:!0},alphaThreshold:{configurable:!0}};return i.effect.get=function(){return this._effect},i.useTexture.get=function(){this._effect.getDefine("useTexture")},i.useTexture.set=function(t){this._effect.define("useTexture",t)},i.useModel.get=function(){this._effect.getDefine("useModel")},i.useModel.set=function(t){this._effect.define("useModel",t)},i.useColor.get=function(){this._effect.getDefine("useColor")},i.useColor.set=function(t){this._effect.define("useColor",t)},i.texture.get=function(){return this._texture},i.texture.set=function(t){this._texture!==t&&(this._texture=t,this._effect.setProperty("texture",t.getImpl()),this._texIds.texture=t.getId())},i.alphaThreshold.get=function(){return this._effect.getProperty("alphaThreshold")},i.alphaThreshold.set=function(t){this._effect.setProperty("alphaThreshold",t)},e.prototype.clone=function(){var t=new e;return t._mainTech.copy(this._mainTech),t.useTexture=this.useTexture,t.useModel=this.useModel,t.useColor=this.useColor,t.texture=this.texture,t.alphaThreshold=this.alphaThreshold,t.updateHash(),t},Object.defineProperties(e.prototype,i),e})(Ke),ii=function(t){var e;try{e=t.getContext("2d")}catch(t){return void console.error(t)}this._canvas=t,this._ctx=e,this._caps={},this._stats={drawcalls:0},this._vx=this._vy=this._vw=this._vh=0,this._sx=this._sy=this._sw=this._sh=0};ii.prototype._restoreTexture=function(t){},ii.prototype.setViewport=function(t,e,i,n){this._vx===t&&this._vy===e&&this._vw===i&&this._vh===n||(this._vx=t,this._vy=e,this._vw=i,this._vh=n)},ii.prototype.setScissor=function(t,e,i,n){this._sx===t&&this._sy===e&&this._sw===i&&this._sh===n||(this._sx=t,this._sy=e,this._sw=i,this._sh=n)},ii.prototype.clear=function(t){var e=this._ctx;e.clearRect(this._vx,this._vy,this._vw,this._vh),!t||0===t[0]&&0===t[1]&&0===t[2]||(e.fillStyle="rgb("+t[0]+","+t[1]+","+t[2]+")",e.globalAlpha=t[3],e.fillRect(this._vx,this._vy,this._vw,this._vh))};var ni=function(t,e){this._device=t,this._width=4,this._height=4,this._image=null,e&&(void 0!==e.width&&(this._width=e.width),void 0!==e.height&&(this._height=e.height),this.updateImage(e))};ni.prototype.update=function(t){this.updateImage(t)},ni.prototype.updateImage=function(t){if(t.images&&t.images[0]){var e=t.images[0];e&&e!==this._image&&(this._image=e)}},ni.prototype.destroy=function(){this._image=null};var ri={Device:ii,Texture2D:ni},si=Ve.Scene,ai=Ve.Camera,oi=Ve.View,hi=Ct.Texture2D,li=Ct.Device,ci=Ve.Model,ui=Ve.InputAssembler;Ve.addStage("transparent");var _i={Device:li,ForwardRenderer:Ue,Texture2D:hi,canvas:ri,Scene:si,Camera:ai,View:oi,Model:ci,RenderData:Xe,IARenderData:Ye,InputAssembler:ui,Asset:qe,TextureAsset:Je,Material:Ke,SpineMaterial:$e,SpriteMaterial:Qe,GraySpriteMaterial:ti,StencilMaterial:ei,shaders:je,RecyclePool:_e,Pool:le,math:H,renderer:Ve,gfx:Ct};e.exports=_i}),{}],203:[(function(t,e,i){var n=0,r=1,s=2,a=r|s,o=4,h=8,l=16,c=32,u=64,_=128,f=256,m=512,d=1024,p=void 0;function y(){this._func=b,this._next=null}var v=y.prototype;v._doNothing=function(){},v._localTransform=function(t){t._updateLocalMatrix(),t._renderFlag&=~r,this._next._func(t)},v._worldTransform=function(t){p.worldMatDirty++;var e=t._matrix,i=t._position;e.m12=i.x,e.m13=i.y,(function(t,e,i){var n=e.m00,r=e.m01,s=e.m04,a=e.m05,o=e.m12,h=e.m13,l=i.m00,c=i.m01,u=i.m04,_=i.m05,f=i.m12,m=i.m13;0!==c||0!==u?(t.m00=n*l+r*u,t.m01=n*c+r*_,t.m04=s*l+a*u,t.m05=s*c+a*_,t.m12=l*o+u*h+f,t.m13=c*o+_*h+m):(t.m00=n*l,t.m01=r*_,t.m04=s*l,t.m05=a*_,t.m12=l*o+f,t.m13=_*h+m)})(t._worldMatrix,e,t._parent._worldMatrix),t._renderFlag&=~s,this._next._func(t),p.worldMatDirty--},v._color=function(t){var e=t._renderComponent;e?e._updateColor():t._renderFlag&=~l,this._next._func(t)},v._opacity=function(t){p.parentOpacityDirty++,t._renderFlag&=~h,this._next._func(t),p.parentOpacityDirty--},v._updateRenderData=function(t){var e=t._renderComponent;e._assembler.updateRenderData(e),t._renderFlag&=~o,this._next._func(t)},v._render=function(t){var e=t._renderComponent;p._commitComp(e,e._assembler,t._cullingMask),this._next._func(t)},v._customIARender=function(t){var e=t._renderComponent;p._commitIA(e,e._assembler,t._cullingMask),this._next._func(t)},v._children=function(t){for(var e=p,i=e.parentOpacity,n=e.parentOpacity*=t._opacity/255,r=(e.worldMatDirty?s:0)|(e.parentOpacityDirty?l:0),a=t._children,o=0,h=a.length;o<h;o++){var c=a[o];if(c._renderFlag|=r,c._activeInHierarchy&&0!==c._opacity){var u=c._color._val;c._color._fastSetA(c._opacity*n),x[c._renderFlag]._func(c),c._color._val=u}}e.parentOpacity=i,this._next._func(t)},v._postUpdateRenderData=function(t){var e=t._renderComponent;e._postAssembler&&e._postAssembler.updateRenderData(e),t._renderFlag&=~f,this._next._func(t)},v._postRender=function(t){var e=t._renderComponent;p._commitComp(e,e._postAssembler,t._cullingMask),this._next._func(t)};var g=new y;g._func=g._doNothing,g._next=g;var x={};function A(t,e){var i=new y;switch(i._next=e||g,t){case n:i._func=i._doNothing;break;case r:i._func=i._localTransform;break;case s:i._func=i._worldTransform;break;case l:i._func=i._color;break;case h:i._func=i._opacity;break;case o:i._func=i._updateRenderData;break;case c:i._func=i._render;break;case u:i._func=i._customIARender;break;case _:i._func=i._children;break;case f:i._func=i._postUpdateRenderData;break;case m:i._func=i._postRender}return i}function b(t){var e=t._renderFlag;(x[e]=(function(t){for(var e=null,i=d;i>0;)i&t&&(e=A(i,e)),i>>=1;return e})(e))._func(t)}y.flows=x,y.createFlow=A,y.visit=function(t){p.reset(),p.walking=!0,1<<t.groupIndex,t._renderFlag&s?(p.worldMatDirty++,t._calculWorldMatrix(),t._renderFlag&=~s,x[t._renderFlag]._func(t),p.worldMatDirty--):x[t._renderFlag]._func(t),p.terminate()},y.init=function(t){p=t,x[0]=g;for(var e=1;e<d;e++)x[e]=new y},y.FLAG_DONOTHING=n,y.FLAG_LOCAL_TRANSFORM=r,y.FLAG_WORLD_TRANSFORM=s,y.FLAG_TRANSFORM=a,y.FLAG_COLOR=l,y.FLAG_OPACITY=h,y.FLAG_UPDATE_RENDER_DATA=o,y.FLAG_RENDER=c,y.FLAG_CUSTOM_IA_RENDER=u,y.FLAG_CHILDREN=_,y.FLAG_POST_UPDATE_RENDER_DATA=f,y.FLAG_POST_RENDER=m,y.FLAG_FINAL=d,e.exports=cc.RenderFlow=y}),{}],204:[(function(t,e,i){var n=t("../../../assets/CCRenderTexture"),r=2;function s(t,e){var i=new n;i.initWithSize(t,e),i.update(),this._texture=i,this._x=r,this._y=r,this._nexty=r,this._width=t,this._height=e,this._innerTextureInfos={},this._innerSpriteFrames=[]}s.DEFAULT_HASH=(new n)._getHash(),cc.js.mixin(s.prototype,{insertSpriteFrame:function(t){var e=t._rect,i=t._texture,n=this._innerTextureInfos[i._id],s=e.x,a=e.y;if(n)s+=n.x,a+=n.y;else{var o=i.width,h=i.height;if(this._x+o+r>this._width&&(this._x=r,this._y=this._nexty),this._y+h>this._nexty&&(this._nexty=this._y+h+r),this._nexty>this._height)return null;this._texture.drawTextureAt(i,this._x-1,this._y),this._texture.drawTextureAt(i,this._x+1,this._y),this._texture.drawTextureAt(i,this._x,this._y-1),this._texture.drawTextureAt(i,this._x,this._y+1),this._texture.drawTextureAt(i,this._x,this._y),this._innerTextureInfos[i._id]={x:this._x,y:this._y,texture:i},s+=this._x,a+=this._y,this._x+=o+r,this._dirty=!0}var l={x:s,y:a,texture:this._texture};return this._innerSpriteFrames.push(t),l},update:function(){this._dirty&&(this._texture.update(),this._dirty=!1)},reset:function(){this._x=r,this._y=r,this._nexty=r;for(var t=this._innerSpriteFrames,e=0,i=t.length;e<i;e++){var n=t[e];n.isValid&&n._resetDynamicAtlasFrame()}this._innerSpriteFrames.length=0,this._innerTextureInfos={}},destroy:function(){this.reset(),this._texture.destroy()}}),e.exports=s}),{"../../../assets/CCRenderTexture":42}],205:[(function(t,e,i){var n=t("./atlas"),r=[],s=-1,a=5,o=2048,h=512;function l(){var t=r[++s];return t||(t=new n(o,o),r.push(t)),t}function c(){_.reset()}var u=!1,_={get enabled(){return u},set enabled(t){u!==t&&(t?(this.reset(),cc.director.on(cc.Director.EVENT_BEFORE_SCENE_LAUNCH,c)):cc.director.off(cc.Director.EVENT_BEFORE_SCENE_LAUNCH,c),u=t)},get maxAtlasCount(){return a},set maxAtlasCount(t){a=t},get textureSize(){return o},set textureSize(t){o=t},get maxFrameSize(){return h},set maxFrameSize(t){h=t},insertSpriteFrame:function(t){if(!u||s===a||!t||t._original)return null;var e=t._texture;if(e instanceof cc.RenderTexture)return null;var i=e.width,o=e.height;if(i>h||o>h||i<=8||o<=8||e._getHash()!==n.DEFAULT_HASH)return null;var c=r[s];c||(c=l());var _=c.insertSpriteFrame(t);return _||s===a?_:(c=l()).insertSpriteFrame(t)},reset:function(){for(var t=0,e=r.length;t<e;t++)r[t].destroy();r.length=0,s=-1},showDebug:!1,update:function(){if(this.enabled)for(var t=0;t<=s;t++)r[t].update()}};e.exports=cc.dynamicAtlasManager=_}),{"./atlas":204}],206:[(function(t,e,i){var n=t("../../../platform/CCMacro"),r=t("../../../components/CCLabel").Overflow,s=t("../../../utils/text-utils"),a=function(){this._u=0,this._v=0,this._width=0,this._height=0,this._offsetX=0,this._offsetY=0,this._textureID=0,this._validDefinition=!1,this._xAdvance=0};cc.FontAtlas=function(t){this._letterDefinitions={}},cc.FontAtlas.prototype={constructor:cc.FontAtlas,addLetterDefinitions:function(t,e){this._letterDefinitions[t]=e},cloneLetterDefinition:function(){var t={};for(var e in this._letterDefinitions){var i=new a;cc.js.mixin(i,this._letterDefinitions[e]),t[e]=i}return t},assignLetterDefinitions:function(t){for(var e in this._letterDefinitions){var i=t[e],n=this._letterDefinitions[e];cc.js.mixin(n,i)}},scaleFontLetterDefinition:function(t){for(var e in this._letterDefinitions){var i=this._letterDefinitions[e];i._width*=t,i._height*=t,i._offsetX*=t,i._offsetY*=t,i._xAdvance*=t}},getLetterDefinitionForChar:function(t){return this._letterDefinitions.hasOwnProperty(t.charCodeAt(0))?this._letterDefinitions[t.charCodeAt(0)]:null}};var o=function(){this._char="",this._valid=!0,this._positionX=0,this._positionY=0,this._lineIndex=0},h=cc.rect(),l=null,c=[],u=[],_=[],f=[],m=cc.size(),d=null,p=null,y=0,v=0,g=0,x=0,A=0,b=1,C=null,S="",T=0,w=0,E=cc.size(),D=0,M=0,B=0,P=0,I=0,R=!1,O=0,L=0,F=0;e.exports={updateRenderData:function(t){t._renderData.vertDirty&&l!==t&&(l=t,this._updateProperties(),this._updateContent(),l._actualFontSize=T,l.node.setContentSize(E),l._renderData.vertDirty=l._renderData.uvDirty=!1,l=null,this._resetProperties())},_updateFontScale:function(){b=T/w},_updateProperties:function(){var t=l.font;if(C=t.spriteFrame,p=t._fntConfig,!(d=l._fontAtlas)){d=new cc.FontAtlas(p);var e=p.fontDefDictionary;for(var i in e){var n=new a,s=e[i].rect;n._offsetX=e[i].xOffset,n._offsetY=e[i].yOffset,n._width=s.width,n._height=s.height,n._u=s.x,n._v=s.y,n._textureID=0,n._validDefinition=!0,n._xAdvance=e[i].xAdvance,d.addLetterDefinitions(i,n)}l._fontAtlas=d}S=l.string.toString(),T=l.fontSize,w=p.fontSize,E.width=l.node._contentSize.width,E.height=l.node._contentSize.height,D=l.horizontalAlign,M=l.verticalAlign,B=l.spacingX,I=l.overflow,P=l._lineHeight,R=I!==r.NONE&&(I===r.RESIZE_HEIGHT||l.enableWrapText),this._setupBMFontOverflowMetrics()},_resetProperties:function(){d=null,p=null,C=null},_updateContent:function(){this._updateFontScale(),this._computeHorizontalKerningForText(),this._alignText()},_computeHorizontalKerningForText:function(){for(var t=S,e=t.length,i=p.kerningDict,n=c,r=-1,s=0;s<e;++s){var a=t.charCodeAt(s),o=i[r<<16|65535&a]||0;n[s]=s<e-1?o:0,r=a}},_multilineTextWrap:function(t){var e=S.length,i=0,n=0,r=0,a=0,o=0,h=0,l=0,u=null,f=cc.v2(0,0);this._updateFontScale();for(var m=d._letterDefinitions,g=0;g<e;){var C=S.charAt(g);if("\n"!==C){for(var T=t(S,g,e),w=h,D=l,M=o,I=n,V=!1,N=0;N<T;++N){var k=g+N;if("\r"!==(C=S.charAt(k)))if(u=d.getLetterDefinitionForChar(C)){var G=I+u._offsetX*b;if(R&&F>0&&n>0&&G+u._width*b>F&&!s.isUnicodeSpace(C)){_.push(o),o=0,i++,n=0,r-=P*b+0,V=!0;break}f.x=G,f.y=r-u._offsetY*b,this._recordLetterInfo(m,f,C,k,i),k+1<c.length&&k<e-1&&(I+=c[k+1]),I+=u._xAdvance*b+B,M=f.x+u._width*b,w<f.y&&(w=f.y),D>f.y-u._height*b&&(D=f.y-u._height*b)}else this._recordPlaceholderInfo(k,C),console.log("Can't find letter definition in texture atlas "+p.atlasName+" for letter:"+C);else this._recordPlaceholderInfo(k,C)}V||(n=I,o=M,h<w&&(h=w),l>D&&(l=D),a<o&&(a=o),g+=T)}else _.push(o),o=0,i++,n=0,r-=P*b+0,this._recordPlaceholderInfo(g,C),g++}return _.push(o),v=(y=i+1)*P*b,y>1&&(v+=0*(y-1)),E.width=O,E.height=L,O<=0&&(E.width=parseFloat(a.toFixed(2))),L<=0&&(E.height=parseFloat(v.toFixed(2))),x=E.height,A=0,h>0&&(x=E.height+h),l<-v&&(A=v+l),!0},_getFirstCharLen:function(){return 1},_getFirstWordLen:function(t,e,i){var n=t.charAt(e);if(s.isUnicodeCJK(n)||"\n"===n||s.isUnicodeSpace(n))return 1;var r=1,a=d.getLetterDefinitionForChar(n);if(!a)return r;for(var o=a._xAdvance*b+B,h=e+1;h<i&&(n=t.charAt(h),a=d.getLetterDefinitionForChar(n));++h){if(o+a._offsetX*b+a._width*b>F&&!s.isUnicodeSpace(n)&&F>0)return r;if(o+=a._xAdvance*b+B,"\n"===n||s.isUnicodeSpace(n)||s.isUnicodeCJK(n))break;r++}return r},_multilineTextWrapByWord:function(){return this._multilineTextWrap(this._getFirstWordLen)},_multilineTextWrapByChar:function(){return this._multilineTextWrap(this._getFirstCharLen)},_recordPlaceholderInfo:function(t,e){if(t>=u.length){var i=new o;u.push(i)}u[t]._char=e,u[t]._valid=!1},_recordLetterInfo:function(t,e,i,n,r){if(n>=u.length){var s=new o;u.push(s)}i=i.charCodeAt(0),u[n]._lineIndex=r,u[n]._char=i,u[n]._valid=t[i]._validDefinition,u[n]._positionX=e.x,u[n]._positionY=e.y},_alignText:function(){v=0,_.length=0,this._multilineTextWrapByWord(),this._computeAlignmentOffset(),I===r.SHRINK&&T>0&&this._isVerticalClamp()&&this._shrinkLabelToContentSize(this._isVerticalClamp),this._updateQuads()||I===r.SHRINK&&this._shrinkLabelToContentSize(this._isHorizontalClamp)},_scaleFontSizeDown:function(t){var e=!0;t||(t=.1,e=!1),T=t,e&&this._updateContent()},_shrinkLabelToContentSize:function(t){for(var e=T,i=P,n=d,r=0,s=n.cloneLetterDefinition(),a=!0;t();){var o=e-++r;if(a=!1,o<=0)break;var h=o/e;n.assignLetterDefinitions(s),n.scaleFontLetterDefinition(h),P=i*h,this._multilineTextWrapByWord(),this._computeAlignmentOffset()}P=i,n.assignLetterDefinitions(s),a||e-r>=0&&this._scaleFontSizeDown(e-r)},_isVerticalClamp:function(){return v>E.height},_isHorizontalClamp:function(){for(var t=d._letterDefinitions,e=!1,i=0,n=S.length;i<n;++i){var r=u[i];if(r._valid){var s=t[r._char],a=r._positionX+s._width/2*b,o=r._lineIndex;if(O>0)if(R){if(_[o]>E.width&&(a>E.width||a<0)){e=!0;break}}else if(a>E.width){e=!0;break}}}return e},_isHorizontalClamped:function(t,e){var i=_[e],n=t>E.width||t<0;return R?i>E.width&&n:n},_updateQuads:function(){var t=d._letterDefinitions,e=C._texture,i=l.node,n=l._renderData;n.dataLength=n.vertexCount=n.indiceCount=0;for(var s=E,a=i._anchorPoint.x*s.width,o=i._anchorPoint.y*s.height,c=!0,_=0,m=S.length;_<m;++_){var p=u[_];if(p._valid){var y=t[p._char];h.height=y._height,h.width=y._width,h.x=y._u,h.y=y._v;var v=p._positionY+g;if(L>0){if(v>x){var T=v-x;h.y+=T,h.height-=T,v-=T}v-y._height*b<A&&(h.height=v<A?0:v-A)}var w=p._lineIndex,D=p._positionX+y._width/2*b+f[w];if(O>0&&this._isHorizontalClamped(D,w))if(I===r.CLAMP)h.width=0;else if(I===r.SHRINK){if(E.width>y._width){c=!1;break}h.width=0}if(h.height>0&&h.width>0){var M=C.isRotated(),B=C._originalSize,P=C._rect,R=C._offset,F=R.x+(B.width-P.width)/2,V=R.y-(B.height-P.height)/2;if(M){var N=h.x;h.x=P.x+P.height-h.y-h.height-V,h.y=N+P.y-F,h.y<0&&(h.height=h.height+V)}else h.x+=P.x-F,h.y+=P.y+V;var k=p._positionX+f[p._lineIndex];this.appendQuad(n,e,h,M,k-a,v-o,b)}}}return c},appendQuad:function(t,e,i,n,r,s,a){},_computeAlignmentOffset:function(){switch(f.length=0,D){case n.TextAlignment.LEFT:for(var t=0;t<y;++t)f.push(0);break;case n.TextAlignment.CENTER:for(var e=0,i=_.length;e<i;e++)f.push((E.width-_[e])/2);break;case n.TextAlignment.RIGHT:for(var r=0,s=_.length;r<s;r++)f.push(E.width-_[r])}switch(M){case n.VerticalTextAlignment.TOP:g=E.height;break;case n.VerticalTextAlignment.CENTER:g=(E.height+v)/2;break;case n.VerticalTextAlignment.BOTTOM:g=v}},_setupBMFontOverflowMetrics:function(){var t=E.width,e=E.height;I===r.RESIZE_HEIGHT&&(e=0),I===r.NONE&&(t=0,e=0),O=t,L=e,m.width=t,m.height=e,F=t}}}),{"../../../components/CCLabel":69,"../../../platform/CCMacro":165,"../../../utils/text-utils":249}],207:[(function(t,e,i){function n(){this._rect=null,this.uv=[],this._texture=null,this._original=null}n.prototype={constructor:n,getRect:function(){return cc.rect(this._rect)},setRect:function(t){this._rect=t,this._texture&&this._calculateUV()},_setDynamicAtlasFrame:function(t){t&&(this._original={_texture:this._texture,_x:this._rect.x,_y:this._rect.y},this._texture=t.texture,this._rect.x=t.x,this._rect.y=t.y,this._calculateUV())},_resetDynamicAtlasFrame:function(){this._original&&(this._rect.x=this._original._x,this._rect.y=this._original._y,this._texture=this._original._texture,this._original=null,this._calculateUV())},_refreshTexture:function(t){this._texture=t,this._rect=cc.rect(0,0,t.width,t.height),this._calculateUV()},_calculateUV:function(){var t=this._rect,e=this._texture,i=this.uv,n=e.width,r=e.height,s=0===n?0:t.x/n,a=0===n?0:(t.x+t.width)/n,o=0===r?0:(t.y+t.height)/r,h=0===r?0:t.y/r;i[0]=s,i[1]=o,i[2]=a,i[3]=o,i[4]=s,i[5]=h,i[6]=a,i[7]=h}},e.exports=n}),{}],208:[(function(t,e,i){var n=t("../../../platform/CCMacro"),r=t("../../../components/CCLabel"),s=t("../../../components/CCLabelOutline"),a=t("../../../utils/text-utils"),o=t("../../../components/CCComponent"),h=t("../../../assets/CCRenderTexture"),l=cc.js.isChildClassOf(s,o),c=r.Overflow,u=cc.Color.WHITE,_=2,f=function(){this.char="",this.valid=!0,this.x=0,this.y=0,this.line=0,this.hash=""},m=function(){this.u=0,this.v=0,this.w=0,this.h=0,this.texture=null,this.offsetX=0,this.offsetY=0,this.valid=!1,this.xAdvance=0};function d(t,e){this._texture=null,this._labelInfo=e,this._char=t,this._hash=null,this._data=null,this._canvas=null,this._context=null,this._width=0,this._height=0,this._hash=t.charCodeAt(0)+e.hash}function p(t,e){var i=new h;i.initWithSize(t,e),i.update(),this._texture=i,this._x=_,this._y=_,this._nexty=_,this._width=t,this._height=e,this._letterDefinitions={},cc.director.on(cc.Director.EVENT_BEFORE_SCENE_LAUNCH,this.beforeSceneLoad,this)}d.prototype={constructor:d,updateRenderData:function(){this._updateProperties(),this._updateTexture()},_updateProperties:function(){this._texture=new cc.Texture2D,this._data=r._canvasPool.get(),this._canvas=this._data.canvas,this._context=this._data.context,this._context.font=this._labelInfo.fontDesc;var t=a.safeMeasureText(this._context,this._char);this._width=parseFloat(t.toFixed(2))+2*this._labelInfo.margin,this._height=this._labelInfo.lineHeight,this._canvas.width!==this._width&&(this._canvas.width=this._width),this._canvas.height!==this._height&&(this._canvas.height=this._height),this._texture.initWithElement(this._canvas)},_updateTexture:function(){var t=this._context,e=this._labelInfo,i=this._canvas.width,n=this._canvas.height;t.textAlign="center",t.textBaseline="middle",t.clearRect(0,0,i,n),t.fillStyle="rgba(255, 255, 255, 0.005)",t.fillRect(0,0,i,n),t.font=e.fontDesc;var r=i/2,s=n/2,a=e.color;if(t.lineJoin="round",t.fillStyle="rgba("+a.r+", "+a.g+", "+a.b+", 1)",e.isOutlined){var o=e.out||u;t.strokeStyle="rgba("+o.r+", "+o.g+", "+o.b+", "+o.a/255+")",t.lineWidth=2*e.margin,t.strokeText(this._char,r,s)}t.fillText(this._char,r,s),this._texture.handleLoadedTexture()},destroy:function(){this._texture.destroy(),this._texture=null,r._canvasPool.put(this._data)}},cc.js.mixin(p.prototype,{insertLetterTexture:function(t){var e=t._texture,i=e.width,n=e.height;if(this._x+i+_>this._width&&(this._x=_,this._y=this._nexty),this._y+n>this._nexty&&(this._nexty=this._y+n+_),this._nexty>this._height)return null;this._texture.drawTextureAt(e,this._x,this._y),this._dirty=!0;var r=new m;return r.u=this._x,r.v=this._y,r.texture=this._texture,r.valid=!0,r.w=t._width,r.h=t._height,r.xAdvance=t._width,this._x+=i+_,this._letterDefinitions[t._hash]=r,r},update:function(){this._dirty&&(this._texture.update(),this._dirty=!1)},reset:function(){this._x=_,this._y=_,this._nexty=_;for(var t=this._letterDefinitions,e=0,i=t.length;e<i;e++){var n=t[e];n.isValid&&n.destroy()}this._letterDefinitions={}},destroy:function(){this.reset(),this._texture.destroy()},beforeSceneLoad:function(){this.destroy();var t=new h;t.initWithSize(this._width,this._height),t.update(),this._texture=t},getLetter:function(t){return this._letterDefinitions[t]},addLetterDefinitions:function(t,e){this._letterDefinitions[t]=e},cloneLetterDefinition:function(){var t={};for(var e in this._letterDefinitions){var i=new m;cc.js.mixin(i,this._letterDefinitions[e]),t[e]=i}return t},assignLetterDefinitions:function(t){for(var e in this._letterDefinitions){var i=t[e],n=this._letterDefinitions[e];cc.js.mixin(n,i)}},scaleFontLetterDefinition:function(t){for(var e in this._letterDefinitions){var i=this._letterDefinitions[e];i.w*=t,i.h*=t,i.offsetX*=t,i.offsetY*=t,i.xAdvance*=t}},getLetterDefinitionForChar:function(t,e){var i=t.charCodeAt(0)+e.hash,n=this._letterDefinitions[i];if(!n){var r=new d(t,e);r.updateRenderData(),n=this.insertLetterTexture(r),r.destroy()}return n}});var y=cc.rect(),v=null,g=[],x=[],A=[],b=[],C=cc.size(),S=null,T=0,w=0,E=0,D=0,M=0,B=1,P="",I=0,R=0,O=cc.size(),L=0,F=0,V=0,N=0,k=0,G=!1,z=0,U=0,j=0,W="",H=!1,X={fontSize:0,lineHeight:0,hash:"",fontFamily:"",fontDesc:"Arial",hAlign:0,vAlign:0,color:u,isOutlined:!1,out:u,margin:0};e.exports={_getAssemblerData:function(){return S||(S=new p(2048,2048)),S._texture},updateRenderData:function(t){t._renderData.vertDirty&&v!==t&&(v=t,this._updateFontFamily(t),X.fontFamily=W,this._updateProperties(),X.fontDesc=this._getFontDesc(),this._updateContent(),v._actualFontSize=I,v.node.setContentSize(O),v._renderData.vertDirty=v._renderData.uvDirty=!1,v=null,this._resetProperties())},_updateFontScale:function(){B=I/R},_updateProperties:function(){P=v.string.toString(),I=v.fontSize,R=I,O.width=v.node._contentSize.width,O.height=v.node._contentSize.height,L=v.horizontalAlign,F=v.verticalAlign,V=v.spacingX,k=v.overflow,N=v._lineHeight,H=v._isBold,G=k!==c.NONE&&(k===c.RESIZE_HEIGHT||v.enableWrapText);var t=l&&v.getComponent(s);t&&t.enabled?(X.isOutlined=!0,X.margin=t.width,X.out=t.color,X.out.a=t.color.a*v.node.color.a/255):(X.isOutlined=!1,X.margin=0),X.lineHeight=N,X.fontSize=I,X.fontFamily=W,X.color=v.node.color,X.hash=this._computeHash(X),this._setupBMFontOverflowMetrics()},_updateFontFamily:function(t){t.useSystemFont?W=t.fontFamily:t.font?t.font._nativeAsset?W=t.font._nativeAsset:(W=cc.loader.getRes(t.font.nativeUrl))||cc.loader.load(t.font.nativeUrl,(function(e,i){W=i||"Arial",t.font._nativeAsset=i,t._updateRenderData(!0)})):W="Arial"},_computeHash:function(t){var e=t.color.toHEX("#rrggbb"),i="";return t.isOutlined&&(i=t.out.toHEX("#rrggbb")),""+t.fontSize+t.fontFamily+e+i},_getFontDesc:function(){var t=I.toString()+"px ";return t+=W,H&&(t="bold "+t),t},_resetProperties:function(){},_updateContent:function(){this._updateFontScale(),this._alignText()},_computeHorizontalKerningForText:function(){for(var t=P,e=t.length,i=null.kerningDict,n=g,r=-1,s=0;s<e;++s){var a=t.charCodeAt(s),o=i[r<<16|65535&a]||0;n[s]=s<e-1?o:0,r=a}},_multilineTextWrap:function(t){var e=P.length,i=0,n=0,r=0,s=0,o=0,h=0,l=0,c=null,u=cc.v2(0,0);this._updateFontScale();for(var _=0;_<e;){var f=P.charAt(_);if("\n"!==f){for(var m=t(P,_,e),d=h,p=l,y=o,v=n,x=!1,b=0;b<m;++b){var C=_+b;if("\r"!==(f=P.charAt(C)))if(c=S.getLetterDefinitionForChar(f,X)){var E=v+c.offsetX*B;if(G&&j>0&&n>0&&E+c.w*B>j&&!a.isUnicodeSpace(f)){A.push(o),o=0,i++,n=0,r-=N*B+0,x=!0;break}u.x=E,u.y=r-c.offsetY*B,this._recordLetterInfo(u,f,C,i),C+1<g.length&&C<e-1&&(v+=g[C+1]),v+=c.xAdvance*B+V,y=u.x+c.w*B,d<u.y&&(d=u.y),p>u.y-c.h*B&&(p=u.y-c.h*B)}else this._recordPlaceholderInfo(C,f);else this._recordPlaceholderInfo(C,f)}x||(n=v,o=y,h<d&&(h=d),l>p&&(l=p),s<o&&(s=o),_+=m)}else A.push(o),o=0,i++,n=0,r-=N*B+0,this._recordPlaceholderInfo(_,f),_++}return A.push(o),w=(T=i+1)*N*B,T>1&&(w+=0*(T-1)),O.width=z,O.height=U,z<=0&&(O.width=parseFloat(s.toFixed(2))),U<=0&&(O.height=parseFloat(w.toFixed(2))),D=O.height,M=0,h>0&&(D=O.height+h),l<-w&&(M=w+l),!0},_getFirstCharLen:function(){return 1},_getFirstWordLen:function(t,e,i){var n=t.charAt(e);if(a.isUnicodeCJK(n)||"\n"===n||a.isUnicodeSpace(n))return 1;var r=1,s=S.getLetterDefinitionForChar(n,X);if(!s)return r;for(var o=s.xAdvance*B+V,h=e+1;h<i&&(n=t.charAt(h),s=S.getLetterDefinitionForChar(n,X));++h){if(o+s.offsetX*B+s.w*B>j&&!a.isUnicodeSpace(n)&&j>0)return r;if(o+=s.xAdvance*B+V,"\n"===n||a.isUnicodeSpace(n)||a.isUnicodeCJK(n))break;r++}return r},_multilineTextWrapByWord:function(){return this._multilineTextWrap(this._getFirstWordLen)},_multilineTextWrapByChar:function(){return this._multilineTextWrap(this._getFirstCharLen)},_recordPlaceholderInfo:function(t,e){if(t>=x.length){var i=new f;x.push(i)}x[t].char=e,x[t].hash=e.charCodeAt(0)+X.hash,x[t].valid=!1},_recordLetterInfo:function(t,e,i,n){if(i>=x.length){var r=new f;x.push(r)}var s=e.charCodeAt(0)+X.hash;x[i].line=n,x[i].char=e,x[i].hash=s,x[i].valid=S.getLetter(s).valid,x[i].x=t.x,x[i].y=t.y},_alignText:function(){w=0,A.length=0,this._multilineTextWrapByWord(),this._computeAlignmentOffset(),this._updateQuads()},_scaleFontSizeDown:function(t){var e=!0;t||(t=.1,e=!1),I=t,e&&this._updateContent()},_isVerticalClamp:function(){return w>O.height},_isHorizontalClamp:function(){for(var t=!1,e=0,i=P.length;e<i;++e){var n=x[e];if(n.valid){var r=S.getLetter(n.hash),s=n.x+r.w/2*B,a=n.line;if(z>0)if(G){if(A[a]>O.width&&(s>O.width||s<0)){t=!0;break}}else if(s>O.width){t=!0;break}}}return t},_isHorizontalClamped:function(t,e){var i=A[e],n=t>O.width||t<0;return G?i>O.width&&n:n},_updateQuads:function(){var t=S._texture,e=v.node,i=v._renderData;i.dataLength=i.vertexCount=i.indiceCount=0;for(var n=O,r=e._anchorPoint.x*n.width,s=e._anchorPoint.y*n.height,a=!0,o=0,h=P.length;o<h;++o){var l=x[o];if(l.valid){var u=S.getLetter(l.hash);y.height=u.h,y.width=u.w,y.x=u.u,y.y=u.v;var _=l.y+E;if(U>0){if(_>D){var f=_-D;y.y+=f,y.height-=f,_-=f}_-u.h*B<M&&(y.height=_<M?0:_-M)}var m=l.line,d=l.x+u.w/2*B+b[m];if(z>0&&this._isHorizontalClamped(d,m))if(k===c.CLAMP)y.width=0;else if(k===c.SHRINK){if(O.width>u.w){a=!1;break}y.width=0}if(y.height>0&&y.width>0){var p=l.x+b[l.line];this.appendQuad(i,t,y,!1,p-r,_-s,B)}}}return a},appendQuad:function(t,e,i,n,r,s,a){},_computeAlignmentOffset:function(){switch(b.length=0,L){case n.TextAlignment.LEFT:for(var t=0;t<T;++t)b.push(0);break;case n.TextAlignment.CENTER:for(var e=0,i=A.length;e<i;e++)b.push((O.width-A[e])/2);break;case n.TextAlignment.RIGHT:for(var r=0,s=A.length;r<s;r++)b.push(O.width-A[r])}switch(F){case n.VerticalTextAlignment.TOP:E=O.height;break;case n.VerticalTextAlignment.CENTER:E=(O.height+w)/2;break;case n.VerticalTextAlignment.BOTTOM:E=w}},_setupBMFontOverflowMetrics:function(){var t=O.width,e=O.height;k===c.RESIZE_HEIGHT&&(e=0),k===c.NONE&&(t=0,e=0),z=t,U=e,C.width=t,C.height=e,j=t}}}),{"../../../assets/CCRenderTexture":42,"../../../components/CCComponent":67,"../../../components/CCLabel":69,"../../../components/CCLabelOutline":70,"../../../platform/CCMacro":165,"../../../utils/text-utils":249}],209:[(function(t,e,i){var n=t("../../../platform/CCMacro"),r=t("../../../utils/text-utils"),s=t("../../../components/CCComponent"),a=t("../../../components/CCLabel"),o=t("../../../components/CCLabelOutline"),h=a.Overflow,l=cc.Color.WHITE,c=cc.js.isChildClassOf(o,s),u=null,_=null,f=null,m="",d="",p=0,y=0,v=[],g=cc.size(),x=0,A=0,b=0,C=null,S="",T=h.NONE,w=!1,E=(1/255).toFixed(3),D=!1,M=null,B=0,P=0,I=!1,R=!1,O=!1,L=void 0;e.exports={_getAssemblerData:function(){return(L=a._canvasPool.get()).canvas.width=L.canvas.height=1,L},_resetAssemblerData:function(t){t&&a._canvasPool.put(t)},updateRenderData:function(t){t._renderData.vertDirty&&(this._updateFontFamily(t),this._updateProperties(t),this._calculateLabelFont(),this._calculateSplitedStrings(),this._updateLabelDimensions(),this._calculateTextBaseline(),this._updateTexture(t),this._calDynamicAtlas(t),t._actualFontSize=p,t.node.setContentSize(g),this._updateVerts(t),t._renderData.vertDirty=t._renderData.uvDirty=!1,u=null,_=null,f=null)},_updateVerts:function(){},_updateFontFamily:function(t){t.useSystemFont?S=t.fontFamily:t.font?t.font._nativeAsset?S=t.font._nativeAsset:(S=cc.loader.getRes(t.font.nativeUrl))||cc.loader.load(t.font.nativeUrl,(function(e,i){S=i||"Arial",t.font._nativeAsset=i,t._updateRenderData(!0)})):S="Arial"},_updateProperties:function(t){var e=t._assemblerData;u=e.context,_=e.canvas,f=t._frame._original?t._frame._original._texture:t._frame._texture,d=t.string.toString(),p=t._fontSize,y=p,T=t.overflow,g.width=t.node.width,g.height=t.node.height,x=t._lineHeight,A=t.horizontalAlign,b=t.verticalAlign,C=t.node.color,I=t._isBold,R=t._isItalic,O=t._isUnderline,w=T!==h.NONE&&(T===h.RESIZE_HEIGHT||t.enableWrapText);var i=c&&t.getComponent(o);i&&i.enabled?(D=!0,P=B=i.width,(M=cc.color(i.color)).a=M.a*t.node.color.a/255):(D=!1,P=0)},_calculateFillTextStartPosition:function(){var t=this._getLineHeight(),e=v.length,i=void 0,r=void 0;return i=A===n.TextAlignment.RIGHT?g.width-P:A===n.TextAlignment.CENTER?g.width/2:0+P,r=b===n.VerticalTextAlignment.TOP?0:b===n.VerticalTextAlignment.CENTER?g.height/2-t*(e-1)/2:g.height-t*(e-1),cc.v2(i,r)},_updateTexture:function(t){u.clearRect(0,0,_.width,_.height),u.fillStyle="rgba("+C.r+", "+C.g+", "+C.b+", "+E+")",u.fillRect(0,0,_.width,_.height),u.font=m;var e=this._calculateFillTextStartPosition(),i=this._getLineHeight();u.lineJoin="round",u.fillStyle="rgba("+C.r+", "+C.g+", "+C.b+", 1)";for(var n=void 0,r=0;r<v.length;++r){if(D){var s=M||l;u.strokeStyle="rgba("+s.r+", "+s.g+", "+s.b+", "+s.a/255+")",u.lineWidth=2*B,u.strokeText(v[r],e.x,e.y+r*i)}u.fillText(v[r],e.x,e.y+r*i),O&&(n=this._calculateUnderlineStartPosition(),u.save(),u.beginPath(),u.lineWidth=p/8,u.strokeStyle="rgba("+C.r+", "+C.g+", "+C.b+", 1)",u.moveTo(n.x,n.y+r*i-1),u.lineTo(n.x+_.width,n.y+r*i-1),u.stroke(),u.restore())}f.handleLoadedTexture()},_calDynamicAtlas:function(t){t.cacheMode===a.CacheMode.BITMAP&&(t._frame._original||t._frame.setRect(cc.rect(0,0,_.width,_.height)),t._calDynamicAtlas())},_calculateUnderlineStartPosition:function(){var t,e=this._getLineHeight(),i=v.length,r=void 0;return t=0+P,r=b===n.VerticalTextAlignment.TOP?p:b===n.VerticalTextAlignment.CENTER?g.height/2-e*(i-1)/2+p/2:g.height-e*(i-1),cc.v2(t,r)},_updateLabelDimensions:function(){var t=d.split("\n");if(T===h.RESIZE_HEIGHT)g.height=v.length*this._getLineHeight();else if(T===h.NONE){v=t;for(var e=0,i=0,n=0;n<t.length;++n){var s=r.safeMeasureText(u,t[n]);e=e>s?e:s}i=v.length*this._getLineHeight(),g.width=parseFloat(e.toFixed(2))+2*P,g.height=parseFloat(i.toFixed(2)),R&&(g.width+=y*Math.tan(.20943951))}_.width!==g.width&&(_.width=g.width),_.height!==g.height&&(_.height=g.height)},_calculateTextBaseline:function(){this._node;var t=void 0,e=void 0;t=A===n.TextAlignment.RIGHT?"right":A===n.TextAlignment.CENTER?"center":"left",u.textAlign=t,e=b===n.VerticalTextAlignment.TOP?"top":b===n.VerticalTextAlignment.CENTER?"middle":"bottom",u.textBaseline=e},_calculateSplitedStrings:function(){var t=d.split("\n");if(w){v=[];for(var e=g.width-2*P,i=0;i<t.length;++i){var n=r.safeMeasureText(u,t[i]),s=r.fragmentText(t[i],n,e,this._measureText(u));v=v.concat(s)}}else v=t},_getFontDesc:function(){var t=p.toString()+"px ";return t+=S,I&&(t="bold "+t),t},_getLineHeight:function(){var t=x;return 0|(t=0===t?p:t*p/y)},_calculateParagraphLength:function(t,e){for(var i=[],n=0;n<t.length;++n){var s=r.safeMeasureText(e,t[n]);i.push(s)}return i},_measureText:function(t){return function(e){return r.safeMeasureText(t,e)}},_calculateLabelFont:function(){if(m=this._getFontDesc(),u.font=m,T===h.SHRINK){var t=d.split("\n"),e=this._calculateParagraphLength(t,u),i=0,n=0,s=0;if(w){var a=g.width-2*P,o=g.height-2*P;if(a<0||o<0)return m=this._getFontDesc(),void(u.font=m);n=o+1,s=a+1;for(var l=p+1,c="",_=!0,f=0|l;n>o||s>a;){if(_?l=f/2|0:f=l=f-1,l<=0){cc.logID(4003);break}for(p=l,m=this._getFontDesc(),u.font=m,n=0,i=0;i<t.length;++i){var v=0,x=r.safeMeasureText(u,t[i]);for(c=r.fragmentText(t[i],x,a,this._measureText(u));v<c.length;){s=r.safeMeasureText(u,c[v]),n+=this._getLineHeight(),++v}}_&&(n>o?f=0|l:(_=!1,n=o+1))}}else{for(n=t.length*this._getLineHeight(),i=0;i<t.length;++i)s<e[i]&&(s=e[i]);var A=(g.width-2*P)/s,b=g.height/n;p=y*Math.min(1,A,b)|0,m=this._getFontDesc(),u.font=m}}}}}),{"../../../components/CCComponent":67,"../../../components/CCLabel":69,"../../../components/CCLabelOutline":70,"../../../platform/CCMacro":165,"../../../utils/text-utils":249}],210:[(function(t,e,i){"use strict";function n(t,e,i){i=i||2;var n,o,h,l,c,f,d,p=e&&e.length,y=p?e[0]*i:t.length,v=r(t,0,y,i,!0),g=[];if(!v)return g;if(p&&(v=(function(t,e,i,n){var a,o,h,l,c,f=[];for(a=0,o=e.length;a<o;a++)h=e[a]*n,l=a<o-1?e[a+1]*n:t.length,(c=r(t,h,l,n,!1))===c.next&&(c.steiner=!0),f.push(m(c));for(f.sort(u),a=0;a<f.length;a++)_(f[a],i),i=s(i,i.next);return i})(t,e,v,i)),t.length>80*i){n=h=t[0],o=l=t[1];for(var x=i;x<y;x+=i)c=t[x],f=t[x+1],c<n&&(n=c),f<o&&(o=f),c>h&&(h=c),f>l&&(l=f);d=Math.max(h-n,l-o)}return a(v,g,i,n,o,d),g}function r(t,e,i,n,r){var s,a;if(r===T(t,e,i,n)>0)for(s=e;s<i;s+=n)a=b(s,t[s],t[s+1],a);else for(s=i-n;s>=e;s-=n)a=b(s,t[s],t[s+1],a);return a&&v(a,a.next)&&(C(a),a=a.next),a}function s(t,e){if(!t)return t;e||(e=t);var i,n=t;do{if(i=!1,n.steiner||!v(n,n.next)&&0!==y(n.prev,n,n.next))n=n.next;else{if(C(n),(n=e=n.prev)===n.next)return null;i=!0}}while(i||n!==e);return e}function a(t,e,i,n,r,u,_){if(t){!_&&u&&(function(t,e,i,n){var r=t;do{null===r.z&&(r.z=f(r.x,r.y,e,i,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,(function(t){var e,i,n,r,s,a,o,h,l=1;do{for(i=t,t=null,s=null,a=0;i;){for(a++,n=i,o=0,e=0;e<l&&(o++,n=n.nextZ);e++);for(h=l;o>0||h>0&&n;)0===o?(r=n,n=n.nextZ,h--):0!==h&&n?i.z<=n.z?(r=i,i=i.nextZ,o--):(r=n,n=n.nextZ,h--):(r=i,i=i.nextZ,o--),s?s.nextZ=r:t=r,r.prevZ=s,s=r;i=n}s.nextZ=null,l*=2}while(a>1)})(r)})(t,n,r,u);for(var m,d,p=t;t.prev!==t.next;)if(m=t.prev,d=t.next,u?h(t,n,r,u):o(t))e.push(m.i/i),e.push(t.i/i),e.push(d.i/i),C(t),t=d.next,p=d.next;else if((t=d)===p){_?1===_?a(t=l(t,e,i),e,i,n,r,u,2):2===_&&c(t,e,i,n,r,u):a(s(t),e,i,n,r,u,1);break}}}function o(t){var e=t.prev,i=t,n=t.next;if(y(e,i,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(d(e.x,e.y,i.x,i.y,n.x,n.y,r.x,r.y)&&y(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function h(t,e,i,n){var r=t.prev,s=t,a=t.next;if(y(r,s,a)>=0)return!1;for(var o=r.x<s.x?r.x<a.x?r.x:a.x:s.x<a.x?s.x:a.x,h=r.y<s.y?r.y<a.y?r.y:a.y:s.y<a.y?s.y:a.y,l=r.x>s.x?r.x>a.x?r.x:a.x:s.x>a.x?s.x:a.x,c=r.y>s.y?r.y>a.y?r.y:a.y:s.y>a.y?s.y:a.y,u=f(o,h,e,i,n),_=f(l,c,e,i,n),m=t.nextZ;m&&m.z<=_;){if(m!==t.prev&&m!==t.next&&d(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&y(m.prev,m,m.next)>=0)return!1;m=m.nextZ}for(m=t.prevZ;m&&m.z>=u;){if(m!==t.prev&&m!==t.next&&d(r.x,r.y,s.x,s.y,a.x,a.y,m.x,m.y)&&y(m.prev,m,m.next)>=0)return!1;m=m.prevZ}return!0}function l(t,e,i){var n=t;do{var r=n.prev,s=n.next.next;!v(r,s)&&g(r,n,n.next,s)&&x(r,s)&&x(s,r)&&(e.push(r.i/i),e.push(n.i/i),e.push(s.i/i),C(n),C(n.next),n=t=s),n=n.next}while(n!==t);return n}function c(t,e,i,n,r,o){var h=t;do{for(var l=h.next.next;l!==h.prev;){if(h.i!==l.i&&p(h,l)){var c=A(h,l);return h=s(h,h.next),c=s(c,c.next),a(h,e,i,n,r,o),void a(c,e,i,n,r,o)}l=l.next}h=h.next}while(h!==t)}function u(t,e){return t.x-e.x}function _(t,e){if(e=(function(t,e){var i,n=e,r=t.x,s=t.y,a=-1/0;do{if(s<=n.y&&s>=n.next.y){var o=n.x+(s-n.y)*(n.next.x-n.x)/(n.next.y-n.y);if(o<=r&&o>a){if(a=o,o===r){if(s===n.y)return n;if(s===n.next.y)return n.next}i=n.x<n.next.x?n:n.next}}n=n.next}while(n!==e);if(!i)return null;if(r===a)return i.prev;var h,l=i,c=i.x,u=i.y,_=1/0;n=i.next;for(;n!==l;)r>=n.x&&n.x>=c&&d(s<u?r:a,s,c,u,s<u?a:r,s,n.x,n.y)&&((h=Math.abs(s-n.y)/(r-n.x))<_||h===_&&n.x>i.x)&&x(n,t)&&(i=n,_=h),n=n.next;return i})(t,e)){var i=A(e,t);s(i,i.next)}}function f(t,e,i,n,r){return(t=1431655765&((t=858993459&((t=252645135&((t=16711935&((t=32767*(t-i)/r)|t<<8))|t<<4))|t<<2))|t<<1))|(e=1431655765&((e=858993459&((e=252645135&((e=16711935&((e=32767*(e-n)/r)|e<<8))|e<<4))|e<<2))|e<<1))<<1}function m(t){var e=t,i=t;do{e.x<i.x&&(i=e),e=e.next}while(e!==t);return i}function d(t,e,i,n,r,s,a,o){return(r-a)*(e-o)-(t-a)*(s-o)>=0&&(t-a)*(n-o)-(i-a)*(e-o)>=0&&(i-a)*(s-o)-(r-a)*(n-o)>=0}function p(t,e){return t.next.i!==e.i&&t.prev.i!==e.i&&!(function(t,e){var i=t;do{if(i.i!==t.i&&i.next.i!==t.i&&i.i!==e.i&&i.next.i!==e.i&&g(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1})(t,e)&&x(t,e)&&x(e,t)&&(function(t,e){var i=t,n=!1,r=(t.x+e.x)/2,s=(t.y+e.y)/2;do{i.y>s!=i.next.y>s&&r<(i.next.x-i.x)*(s-i.y)/(i.next.y-i.y)+i.x&&(n=!n),i=i.next}while(i!==t);return n})(t,e)}function y(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function v(t,e){return t.x===e.x&&t.y===e.y}function g(t,e,i,n){return!!(v(t,e)&&v(i,n)||v(t,n)&&v(i,e))||y(t,e,i)>0!=y(t,e,n)>0&&y(i,n,t)>0!=y(i,n,e)>0}function x(t,e){return y(t.prev,t,t.next)<0?y(t,e,t.next)>=0&&y(t,t.prev,e)>=0:y(t,e,t.prev)<0||y(t,t.next,e)<0}function A(t,e){var i=new S(t.i,t.x,t.y),n=new S(e.i,e.x,e.y),r=t.next,s=e.prev;return t.next=e,e.prev=t,i.next=r,r.prev=i,n.next=i,i.prev=n,s.next=n,n.prev=s,n}function b(t,e,i,n){var r=new S(t,e,i);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r}function C(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)}function S(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1}function T(t,e,i,n){for(var r=0,s=e,a=i-n;s<i;s+=n)r+=(t[a]-t[s])*(t[s+1]+t[a+1]),a=s;return r}e.exports=n,n.deviation=function(t,e,i,n){var r=e&&e.length,s=r?e[0]*i:t.length,a=Math.abs(T(t,0,s,i));if(r)for(var o=0,h=e.length;o<h;o++){var l=e[o]*i,c=o<h-1?e[o+1]*i:t.length;a-=Math.abs(T(t,l,c,i))}var u=0;for(o=0;o<n.length;o+=3){var _=n[o]*i,f=n[o+1]*i,m=n[o+2]*i;u+=Math.abs((t[_]-t[m])*(t[f+1]-t[_+1])-(t[_]-t[f])*(t[m+1]-t[_+1]))}return 0===a&&0===u?0:Math.abs((u-a)/a)},n.flatten=function(t){for(var e=t[0][0].length,i={vertices:[],holes:[],dimensions:e},n=0,r=0;r<t.length;r++){for(var s=0;s<t[r].length;s++)for(var a=0;a<e;a++)i.vertices.push(t[r][s][a]);r>0&&(n+=t[r-1].length,i.holes.push(n))}return i}}),{}],211:[(function(t,e,i){var n=t("../../../../graphics/helper"),r=t("../../../../graphics/types").PointFlags,s=t("../../mesh-buffer"),a=t("../../vertex-format").vfmtPosColor,o=t("../../../index"),h=o.renderEngine,l=h.IARenderData,c=h.InputAssembler,u=cc.Class({name:"cc.GraphicsPoint",extends:cc.Vec2,ctor:function(t,e){this.reset()},reset:function(){this.dx=0,this.dy=0,this.dmx=0,this.dmy=0,this.flags=0,this.len=0}});function _(){this.reset()}function f(t){this._tessTol=.25,this._distTol=.01,this._updatePathOffset=!1,this._paths=null,this._pathLength=0,this._pathOffset=0,this._points=null,this._pointsOffset=0,this._commandx=0,this._commandy=0,this._paths=[],this._points=[],this._renderDatas=[],this._dataOffset=0}cc.js.mixin(_.prototype,{reset:function(){this.closed=!1,this.nbevel=0,this.complex=!0,this.points?this.points.length=0:this.points=[]}}),cc.js.mixin(f.prototype,{moveTo:function(t,e){this._updatePathOffset&&(this._pathOffset=this._pathLength,this._updatePathOffset=!1),this._addPath(),this._addPoint(t,e,r.PT_CORNER),this._commandx=t,this._commandy=e},lineTo:function(t,e){this._addPoint(t,e,r.PT_CORNER),this._commandx=t,this._commandy=e},bezierCurveTo:function(t,e,i,s,a,o){var h=this._curPath,l=h.points[h.points.length-1];l.x!==t||l.y!==e||i!==a||s!==o?(n.tesselateBezier(this,l.x,l.y,t,e,i,s,a,o,0,r.PT_CORNER),this._commandx=a,this._commandy=o):this.lineTo(a,o)},quadraticCurveTo:function(t,e,i,n){var r=this._commandx,s=this._commandy;this.bezierCurveTo(r+2/3*(t-r),s+2/3*(e-s),i+2/3*(t-i),n+2/3*(e-n),i,n)},arc:function(t,e,i,r,s,a){n.arc(this,t,e,i,r,s,a)},ellipse:function(t,e,i,r){n.ellipse(this,t,e,i,r),this._curPath.complex=!1},circle:function(t,e,i){n.ellipse(this,t,e,i,i),this._curPath.complex=!1},rect:function(t,e,i,n){this.moveTo(t,e),this.lineTo(t,e+n),this.lineTo(t+i,e+n),this.lineTo(t+i,e),this.close(),this._curPath.complex=!1},roundRect:function(t,e,i,r,s){n.roundRect(this,t,e,i,r,s),this._curPath.complex=!1},clear:function(t,e){this._pathLength=0,this._pathOffset=0,this._pointsOffset=0,this._dataOffset=0,this._curPath=null;var i=this._renderDatas;if(e){this._paths.length=0,this._points.length=0;for(var n=0,r=i.length;n<r;n++){var s=i[n];s.meshbuffer.destroy(),s.meshbuffer=null}i.length=0}else for(var a=0,o=i.length;a<o;a++){i[a].meshbuffer.reset()}},close:function(){this._curPath.closed=!0},_addPath:function(){var t=this._pathLength,e=this._paths[t];return e?e.reset():(e=new _,this._paths.push(e)),this._pathLength++,this._curPath=e,e},_addPoint:function(t,e,i){var n=this._curPath;if(n){var r,s=this._points,a=n.points;(r=s[this._pointsOffset++])?(r.x=t,r.y=e):(r=new u(t,e),s.push(r)),r.flags=i,a.push(r)}},requestRenderData:function(){var t=new l,e=new s(o._handle,a);t.meshbuffer=e,this._renderDatas.push(t);var i=new c;return i._vertexBuffer=e._vb,i._indexBuffer=e._ib,i._start=0,t.ia=i,t},getRenderDatas:function(){return 0===this._renderDatas.length&&this.requestRenderData(),this._renderDatas}}),e.exports=f}),{"../../../../graphics/helper":107,"../../../../graphics/types":109,"../../../index":201,"../../mesh-buffer":227,"../../vertex-format":232}],212:[(function(t,e,i){var n=t("../../../../graphics/graphics"),r=t("../../../../graphics/types").PointFlags,s=n.LineJoin,a=n.LineCap,o=t("./earcut"),h=t("./impl"),l=Math.PI,c=Math.min,u=Math.max,_=Math.ceil,f=Math.acos,m=Math.cos,d=Math.sin,p=Math.atan2,y=(Math.abs,null),v=null,g=0;function x(t,e,i){return t<e?e:t>i?i:t}var A={useModel:!0,createImpl:function(t){return new h(t)},updateRenderData:function(t){for(var e=t._impl.getRenderDatas(),i=0,n=e.length;i<n;i++)e[i].material=t.getMaterial()},fillBuffers:function(t,e){e._flush();var i=e.node;e.node=t.node,this.renderIA(t,e),e.node=i},renderIA:function(t,e){for(var i=t.node.color,n=(i.r,i.g,i.b,i.a,t._impl.getRenderDatas()),r=0,s=n.length;r<s;r++){var a=n[r],o=a.meshbuffer;a.ia._count=o.indiceStart,e._flushIA(a),o.uploadData()}},genRenderData:function(t,e){var i=v.getRenderDatas(),n=i[v._dataOffset],r=n.meshbuffer,s=r.vertexStart+e;return(s>65535||3*s>131070)&&(++v._dataOffset,s=e,v._dataOffset<i.length?n=i[v._dataOffset]:(n=v.requestRenderData(t),i[v._dataOffset]=n),n.material=t.getMaterial(),r=n.meshbuffer),s>r.vertexOffset&&r.requestStatic(e,3*e),n},stroke:function(t){g=t._strokeColor._val,this._flattenPaths(t._impl),this._expandStroke(t),t._impl._updatePathOffset=!0},fill:function(t){g=t._fillColor._val,this._expandFill(t),t._impl._updatePathOffset=!0},_expandStroke:function(t){var e=.5*t.lineWidth,i=t.lineCap,n=t.lineJoin,o=t.miterLimit;v=t._impl;var h=(function(t,e,i){var n=2*f(t/(t+i));return u(2,_(e/n))})(e,l,v._tessTol);this._calculateJoins(v,e,n,o);for(var c=v._paths,m=0,d=v._pathOffset,p=v._pathLength;d<p;d++){var g=c[d],x=g.points.length;n===s.ROUND?m+=2*(x+g.nbevel*(h+2)+1):m+=2*(x+5*g.nbevel+1),g.closed||(i===a.ROUND?m+=2*(2*h+2):m+=12)}for(var A=(y=this.genRenderData(t,m)).meshbuffer,b=A._vData,C=A._iData,S=v._pathOffset,T=v._pathLength;S<T;S++){var w,E=c[S],D=E.points,M=D.length,B=A.vertexStart,P=void 0,I=void 0,R=void 0,O=void 0;if((w=E.closed)?(P=D[M-1],I=D[0],R=0,O=M):(P=D[0],I=D[1],R=1,O=M-1),!w){var L=I.sub(P);L.normalizeSelf();var F=L.x,V=L.y;i===a.BUTT?this._buttCap(P,F,V,e,0):i===a.SQUARE?this._buttCap(P,F,V,e,e):i===a.ROUND&&this._roundCapStart(P,F,V,e,h)}for(var N=R;N<O;++N)n===s.ROUND?this._roundJoin(P,I,e,e,h):0!=(I.flags&(r.PT_BEVEL|r.PT_INNERBEVEL))?this._bevelJoin(P,I,e,e):(this._vset(I.x+I.dmx*e,I.y+I.dmy*e),this._vset(I.x-I.dmx*e,I.y-I.dmy*e)),P=I,I=D[N+1];if(w){var k=3*B;this._vset(b[k],b[k+1]),this._vset(b[k+3],b[k+4])}else{var G=I.sub(P);G.normalizeSelf();var z=G.x,U=G.y;i===a.BUTT?this._buttCap(I,z,U,e,0):i===a.BUTT||i===a.SQUARE?this._buttCap(I,z,U,e,e):i===a.ROUND&&this._roundCapEnd(I,z,U,e,h)}for(var j=A.indiceStart,W=B+2,H=A.vertexStart;W<H;W++)C[j++]=W-2,C[j++]=W-1,C[j++]=W;A.indiceStart=j}y=null,v=null},_expandFill:function(t){for(var e=(v=t._impl)._paths,i=0,n=v._pathOffset,r=v._pathLength;n<r;n++){i+=e[n].points.length}for(var s=(y=this.genRenderData(t,i)).meshbuffer,a=s._vData,h=s._iData,l=v._pathOffset,c=v._pathLength;l<c;l++){var u=e[l],_=u.points,f=_.length;if(0!==f){for(var m=s.vertexStart,d=0;d<f;++d)this._vset(_[d].x,_[d].y);var p=s.indiceStart;if(u.complex){for(var g=[],x=m,A=s.vertexStart;x<A;x++){var b=3*x;g.push(a[b]),g.push(a[b+1])}var C=o(g,null,2);if(!C||0===C.length)continue;for(var S=0,T=C.length;S<T;S++)h[p++]=C[S]+m}else for(var w=m,E=m+2,D=s.vertexStart;E<D;E++)h[p++]=w,h[p++]=E-1,h[p++]=E;s.indiceStart=p}}y=null,v=null},_calculateJoins:function(t,e,i,n){var a=0;e>0&&(a=1/e);for(var o=t._paths,h=t._pathOffset,l=t._pathLength;h<l;h++){var _=o[h],f=_.points,m=f.length,d=f[m-1],p=f[0];_.nbevel=0;for(var y=0;y<m;y++){var v,g,x=d.dy,A=-d.dx,b=p.dy,C=-p.dx;if(p.dmx=.5*(x+b),p.dmy=.5*(A+C),(v=p.dmx*p.dmx+p.dmy*p.dmy)>1e-6){var S=1/v;S>600&&(S=600),p.dmx*=S,p.dmy*=S}p.dx*d.dy-d.dx*p.dy>0&&(0,p.flags|=r.PT_LEFT),v*(g=u(11,c(d.len,p.len)*a))*g<1&&(p.flags|=r.PT_INNERBEVEL),p.flags&r.PT_CORNER&&(v*n*n<1||i===s.BEVEL||i===s.ROUND)&&(p.flags|=r.PT_BEVEL),0!=(p.flags&(r.PT_BEVEL|r.PT_INNERBEVEL))&&_.nbevel++,d=p,p=f[y+1]}}},_flattenPaths:function(t){for(var e=t._paths,i=t._pathOffset,n=t._pathLength;i<n;i++){var r=e[i],s=r.points,a=s[s.length-1],o=s[0];a.equals(o)&&(r.closed=!0,s.pop(),a=s[s.length-1]);for(var h=0,l=s.length;h<l;h++){var c=o.sub(a);a.len=c.mag(),(c.x||c.y)&&c.normalizeSelf(),a.dx=c.x,a.dy=c.y,a=o,o=s[h+1]}}},_chooseBevel:function(t,e,i,n){var r=i.x,s=i.y,a=void 0,o=void 0,h=void 0,l=void 0;return 0!==t?(a=r+e.dy*n,o=s-e.dx*n,h=r+i.dy*n,l=s-i.dx*n):(a=h=r+i.dmx*n,o=l=s+i.dmy*n),[a,o,h,l]},_buttCap:function(t,e,i,n,r){var s=t.x-e*r,a=t.y-i*r,o=i,h=-e;this._vset(s+o*n,a+h*n),this._vset(s-o*n,a-h*n)},_roundCapStart:function(t,e,i,n,r){for(var s=t.x,a=t.y,o=i,h=-e,c=0;c<r;c++){var u=c/(r-1)*l,_=m(u)*n,f=d(u)*n;this._vset(s-o*_-e*f,a-h*_-i*f),this._vset(s,a)}this._vset(s+o*n,a+h*n),this._vset(s-o*n,a-h*n)},_roundCapEnd:function(t,e,i,n,r){var s=t.x,a=t.y,o=i,h=-e;this._vset(s+o*n,a+h*n),this._vset(s-o*n,a-h*n);for(var c=0;c<r;c++){var u=c/(r-1)*l,_=m(u)*n,f=d(u)*n;this._vset(s,a),this._vset(s-o*_+e*f,a-h*_+i*f)}},_roundJoin:function(t,e,i,n,s){var a=t.dy,o=-t.dx,h=e.dy,c=-e.dx,u=e.x,f=e.y;if(0!=(e.flags&r.PT_LEFT)){var y=this._chooseBevel(e.flags&r.PT_INNERBEVEL,t,e,i),v=y[0],g=y[1],A=y[2],b=y[3],C=p(-o,-a),S=p(-c,-h);S>C&&(S-=2*l),this._vset(v,g),this._vset(u-a*n,e.y-o*n);for(var T=x(_((C-S)/l)*s,2,s),w=0;w<T;w++){var E=C+w/(T-1)*(S-C),D=u+m(E)*n,M=f+d(E)*n;this._vset(u,f),this._vset(D,M)}this._vset(A,b),this._vset(u-h*n,f-c*n)}else{var B=this._chooseBevel(e.flags&r.PT_INNERBEVEL,t,e,-n),P=B[0],I=B[1],R=B[2],O=B[3],L=p(o,a),F=p(c,h);F<L&&(F+=2*l),this._vset(u+a*n,f+o*n),this._vset(P,I);for(var V=x(_((F-L)/l)*s,2,s),N=0;N<V;N++){var k=L+N/(V-1)*(F-L),G=u+m(k)*i,z=f+d(k)*i;this._vset(G,z),this._vset(u,f)}this._vset(u+h*n,f+c*n),this._vset(R,O)}},_bevelJoin:function(t,e,i,n){var s=void 0,a=void 0,o=void 0,h=void 0,l=void 0,c=void 0,u=void 0,_=void 0,f=t.dy,m=-t.dx,d=e.dy,p=-e.dx;if(e.flags&r.PT_LEFT){var y=this._chooseBevel(e.flags&r.PT_INNERBEVEL,t,e,i);l=y[0],c=y[1],u=y[2],_=y[3],this._vset(l,c),this._vset(e.x-f*n,e.y-m*n),this._vset(u,_),this._vset(e.x-d*n,e.y-p*n)}else{var v=this._chooseBevel(e.flags&r.PT_INNERBEVEL,t,e,-n);s=v[0],a=v[1],o=v[2],h=v[3],this._vset(e.x+f*i,e.y+m*i),this._vset(s,a),this._vset(e.x+d*i,e.y+p*i),this._vset(o,h)}},_vset:function(t,e){var i=y.meshbuffer,n=3*i.vertexStart,r=i._vData,s=i._uintVData;r[n]=t,r[n+1]=e,s[n+2]=g,i.vertexStart++,i._dirty=!0}};n._assembler=A,e.exports=A}),{"../../../../graphics/graphics":106,"../../../../graphics/types":109,"./earcut":210,"./impl":211}],213:[(function(t,e,i){t("./sprite"),t("./mask-assembler"),t("./graphics"),t("./label"),t("./motion-streak")}),{"./graphics":212,"./label":215,"./mask-assembler":218,"./motion-streak":219,"./sprite":221}],214:[(function(t,e,i){var n=t("../../../../platform/js"),r=t("../../../utils/label/bmfont");e.exports=n.addon({createData:function(t){return t.requestRenderData()},fillBuffers:function(t,e){for(var i=t.node,n=t._renderData,r=n._data,s=i.color._val,a=i._worldMatrix,o=a.m00,h=a.m01,l=a.m04,c=a.m05,u=a.m12,_=a.m13,f=e._meshBuffer,m=n.vertexCount,d=f.request(m,n.indiceCount),p=d.indiceOffset,y=d.byteOffset>>2,v=d.vertexOffset,g=f._vData,x=f._uintVData,A=f._iData,b=0;b<m;b++){var C=r[b];g[y++]=C.x*o+C.y*l+u,g[y++]=C.x*h+C.y*c+_,g[y++]=C.u,g[y++]=C.v,x[y++]=s}for(var S=0,T=m/4;S<T;S++){var w=v+4*S;A[p++]=w,A[p++]=w+1,A[p++]=w+2,A[p++]=w+1,A[p++]=w+3,A[p++]=w+2}},appendQuad:function(t,e,i,n,r,s,a){var o=t.dataLength;t.dataLength+=4,t.vertexCount=t.dataLength,t.indiceCount=t.dataLength/2*3;var h=t._data,l=e.width,c=e.height,u=i.width,_=i.height,f=void 0,m=void 0,d=void 0,p=void 0;n?(f=i.x/l,d=(i.x+_)/l,m=(i.y+u)/c,p=i.y/c,h[o].u=f,h[o].v=p,h[o+1].u=f,h[o+1].v=m,h[o+2].u=d,h[o+2].v=p,h[o+3].u=d,h[o+3].v=m):(f=i.x/l,d=(i.x+u)/l,m=(i.y+_)/c,p=i.y/c,h[o].u=f,h[o].v=m,h[o+1].u=d,h[o+1].v=m,h[o+2].u=f,h[o+2].v=p,h[o+3].u=d,h[o+3].v=p),h[o].x=r,h[o].y=s-_*a,h[o+1].x=r+u*a,h[o+1].y=s-_*a,h[o+2].x=r,h[o+2].y=s,h[o+3].x=r+u*a,h[o+3].y=s}},r)}),{"../../../../platform/js":180,"../../../utils/label/bmfont":206}],215:[(function(t,e,i){var n=t("../../../../components/CCLabel"),r=t("./ttf"),s=t("./bmfont"),a=t("./letter-font"),o={pool:[],get:function(){var t=this.pool.pop();if(!t){var e=document.createElement("canvas");t={canvas:e,context:e.getContext("2d")}}return t},put:function(t){this.pool.length>=32||this.pool.push(t)}},h={getAssembler:function(t){var e=r;return t.font instanceof cc.BitmapFont?e=s:t.cacheMode===n.CacheMode.CHAR&&(cc.sys.browserType===cc.sys.BROWSER_TYPE_WECHAT_GAME_SUB?cc.warn("sorry, subdomain does not support CHAR mode currently!"):e=a),e},updateRenderData:function(t){return t.__allocedDatas}};n._assembler=h,n._canvasPool=o,e.exports=h}),{"../../../../components/CCLabel":69,"./bmfont":214,"./letter-font":216,"./ttf":217}],216:[(function(t,e,i){var n=t("../../../../platform/js"),r=t("../../../utils/label/letter-font"),s=cc.color(255,255,255,255);e.exports=n.addon({createData:function(t){return t.requestRenderData()},fillBuffers:function(t,e){var i=t.node,n=t._renderData,r=n._data,a=i._worldMatrix,o=a.m00,h=a.m01,l=a.m04,c=a.m05,u=a.m12,_=a.m13;s._fastSetA(i.color.a);for(var f=s._val,m=e._meshBuffer,d=n.vertexCount,p=m.request(d,n.indiceCount),y=p.indiceOffset,v=p.byteOffset>>2,g=p.vertexOffset,x=m._vData,A=m._uintVData,b=m._iData,C=0;C<d;C++){var S=r[C];x[v++]=S.x*o+S.y*l+u,x[v++]=S.x*h+S.y*c+_,x[v++]=S.u,x[v++]=S.v,A[v++]=f}for(var T=0,w=d/4;T<w;T++){var E=g+4*T;b[y++]=E,b[y++]=E+1,b[y++]=E+2,b[y++]=E+1,b[y++]=E+3,b[y++]=E+2}},appendQuad:function(t,e,i,n,r,s,a){var o=t.dataLength;t.dataLength+=4,t.vertexCount=t.dataLength,t.indiceCount=t.dataLength/2*3;var h=t._data,l=e.width,c=e.height,u=i.width,_=i.height,f=void 0,m=void 0,d=void 0,p=void 0;n?(f=i.x/l,d=(i.x+_)/l,m=(i.y+u)/c,p=i.y/c,h[o].u=f,h[o].v=p,h[o+1].u=f,h[o+1].v=m,h[o+2].u=d,h[o+2].v=p,h[o+3].u=d,h[o+3].v=m):(f=i.x/l,d=(i.x+u)/l,m=(i.y+_)/c,p=i.y/c,h[o].u=f,h[o].v=m,h[o+1].u=d,h[o+1].v=m,h[o+2].u=f,h[o+2].v=p,h[o+3].u=d,h[o+3].v=p),h[o].x=r,h[o].y=s-_*a,h[o+1].x=r+u*a,h[o+1].y=s-_*a,h[o+2].x=r,h[o+2].y=s,h[o+3].x=r+u*a,h[o+3].y=s}},r)}),{"../../../../platform/js":180,"../../../utils/label/letter-font":208}],217:[(function(t,e,i){var n=t("../../../../platform/js"),r=t("../../../utils/label/ttf"),s=cc.color(255,255,255,255);e.exports=n.addon({createData:function(t){var e=t.requestRenderData();return e.dataLength=4,e.vertexCount=4,e.indiceCount=6,e},fillBuffers:function(t,e){var i=t._renderData._data,n=t.node,r=n._worldMatrix,a=r.m00,o=r.m01,h=r.m04,l=r.m05,c=r.m12,u=r.m13;s._fastSetA(n.color.a);for(var _=s._val,f=e._meshBuffer,m=f.request(4,6),d=m.indiceOffset,p=m.byteOffset>>2,y=m.vertexOffset,v=f._vData,g=f._uintVData,x=f._iData,A=0;A<4;A++){var b=i[A];v[p++]=b.x*a+b.y*h+c,v[p++]=b.x*o+b.y*l+u,v[p++]=b.u,v[p++]=b.v,g[p++]=_}x[d++]=y,x[d++]=y+1,x[d++]=y+2,x[d++]=y+1,x[d++]=y+3,x[d++]=y+2},_updateVerts:function(t){var e=t._renderData,i=t._frame.uv,n=t.node,r=n.width,s=n.height,a=n.anchorX*r,o=n.anchorY*s,h=e._data;h[0].x=-a,h[0].y=-o,h[1].x=r-a,h[1].y=-o,h[2].x=-a,h[2].y=s-o,h[3].x=r-a,h[3].y=s-o,h[0].u=i[0],h[0].v=i[1],h[1].u=i[2],h[1].v=i[3],h[2].u=i[4],h[2].v=i[5],h[3].u=i[6],h[3].v=i[7]}},r)}),{"../../../../platform/js":180,"../../../utils/label/ttf":209}],218:[(function(t,e,i){var n=t("../stencil-manager"),r=t("../../../components/CCMask"),s=t("../../render-flow"),a=t("./sprite/simple"),o=t("./graphics"),h=n.sharedManager,l={updateRenderData:function(t){t._renderData||(o.updateRenderData(t._clearGraphics),t._type===r.Type.IMAGE_STENCIL?t._renderData=a.createData(t):t._renderData=t.requestRenderData());var e=t._renderData;if(t._type===r.Type.IMAGE_STENCIL)if(t.spriteFrame){var i=t.node._contentSize,n=t.node._anchorPoint;e.updateSizeNPivot(i.width,i.height,n.x,n.y),e.dataLength=4,a.updateRenderData(t),e.material=t._material}else t._material=null;else t._graphics._material=t._material,o.updateRenderData(t._graphics)},fillBuffers:function(t,e){(t._type!==r.Type.IMAGE_STENCIL||t.spriteFrame)&&(h.pushMask(t),h.clear(),o.fillBuffers(t._clearGraphics,e),h.enterLevel(),e.node=t.node,e.material=t._material,t._type===r.Type.IMAGE_STENCIL?(a.fillBuffers(t,e),e._flush()):o.fillBuffers(t._graphics,e),h.enableMask()),t.node._renderFlag|=s.FLAG_UPDATE_RENDER_DATA}},c={fillBuffers:function(t,e){(t._type!==r.Type.IMAGE_STENCIL||t.spriteFrame)&&h.exitMask(),t.node._renderFlag|=s.FLAG_UPDATE_RENDER_DATA}};r._assembler=l,r._postAssembler=c,e.exports={front:l,end:c}}),{"../../../components/CCMask":72,"../../render-flow":203,"../stencil-manager":231,"./graphics":212,"./sprite/simple":224}],219:[(function(t,e,i){var n=t("../../../components/CCMotionStreak"),r=t("../../render-flow");function s(t,e){this.point=t||cc.v2(),this.dir=e||cc.v2(),this.distance=0,this.time=0}s.prototype.setPoint=function(t,e){this.point.x=t,this.point.y=e},s.prototype.setDir=function(t,e){this.dir.x=t,this.dir.y=e};cc.v2(),cc.v2();var a=cc.v2(),o=cc.v2();function h(t,e){return t.x=-e.y,t.y=e.x,t}var l={updateRenderData:function(t){var e=cc.director.getDeltaTime();this.update(t,e);var i=t._renderData,n=t.node._contentSize,r=t.node._anchorPoint;i.updateSizeNPivot(n.width,n.height,r.x,r.y),i.material=t.getMaterial()},update:function(t,e){var i=t._renderData;i||(i=t._renderData=t.requestRenderData());var n=t._stroke/2,r=t.node._worldMatrix,l=(r.m00,r.m01,r.m04,r.m05,r.m12),c=r.m13,u=t._points,_=void 0;if(u.length>1){var f=u[0].point.x-l,m=u[0].point.y-c;f*f+m*m<t.minSeg&&(_=u[0])}if(_||(_=new s,u.splice(0,0,_)),_.setPoint(l,c),_.time=t._fadeTime+e,i.dataLength=0,!(u.length<2)){var d=i._data,p=t._color,y=p.r,v=p.g,g=p.b,x=p.a,A=u[1];A.distance=_.point.sub(A.point,o).mag(),o.normalizeSelf(),A.setDir(o.x,o.y),_.setDir(o.x,o.y);for(var b=t._fadeTime,C=!1,S=u.length-1;S>=0;S--){var T=u[S],w=T.point,E=T.dir;if(T.time-=e,T.time<0)u.splice(S,1);else{var D=T.time/b,M=u[S-1];if(!C){if(!M){u.splice(S,1);continue}w.x=M.point.x-E.x*D,w.y=M.point.y-E.y*D}C=!0,h(a,E),i.dataLength+=2;var B=(D*x<<24>>>0)+(g<<16)+(v<<8)+y,P=d.length-1;d[P].x=w.x-a.x*n,d[P].y=w.y-a.y*n,d[P].u=0,d[P].v=D,d[P].color=B,d[--P].x=w.x+a.x*n,d[P].y=w.y+a.y*n,d[P].u=1,d[P].v=D,d[P].color=B}}i.vertexCount=i.dataLength,i.indiceCount=i.vertexCount<2?0:3*(i.vertexCount-2)}},fillBuffers:function(t,e){t.node;for(var i=t._renderData,n=i._data,s=e._meshBuffer,a=i.vertexCount,o=s.request(a,i.indiceCount),h=o.indiceOffset,l=o.byteOffset>>2,c=o.vertexOffset,u=s._vData,_=s._uintVData,f=s._iData,m=void 0,d=0,p=i.vertexCount;d<p;d++)m=n[d],u[l++]=m.x,u[l++]=m.y,u[l++]=m.u,u[l++]=m.v,_[l++]=m.color;for(var y=0,v=i.vertexCount;y<v;y+=2){var g=c+y;f[h++]=g,f[h++]=g+2,f[h++]=g+1,f[h++]=g+1,f[h++]=g+2,f[h++]=g+3}t.node._renderFlag|=r.FLAG_UPDATE_RENDER_DATA}};e.exports=n._assembler=l}),{"../../../components/CCMotionStreak":73,"../../render-flow":203}],220:[(function(t,e,i){var n=t("../../../../components/CCSprite").FillType;e.exports={useModel:!1,updateRenderData:function(t){var e=t.spriteFrame;t._calDynamicAtlas();var i=t._renderData;if(i&&e){var n=i.uvDirty,r=i.vertDirty;if(!n&&!r)return t.__allocedDatas;var s=t._fillStart,a=t._fillRange;a<0&&(s+=a,a=-a),a=s+a,s=(s=s>1?1:s)<0?0:s,a=(a=a>1?1:a)<0?0:a;var o=s+(a=(a-=s)<0?0:a);o=o>1?1:o,n&&this.updateUVs(t,s,o),r&&(this.updateVerts(t,s,o),this.updateWorldVerts(t))}},updateUVs:function(t,e,i){var r=t._spriteFrame,s=t._renderData,a=s._data,o=r._texture.width,h=r._texture.height,l=r._rect,c=void 0,u=void 0,_=void 0,f=void 0,m=void 0,d=void 0,p=void 0,y=void 0,v=void 0,g=void 0;switch(r._rotated?(c=l.x/o,u=(l.y+l.width)/h,_=m=c,p=v=(l.x+l.height)/o,d=g=u,f=y=l.y/h):(c=l.x/o,u=(l.y+l.height)/h,_=p=c,m=v=(l.x+l.width)/o,f=d=u,y=g=l.y/h),t._fillType){case n.HORIZONTAL:a[0].u=_+(m-_)*e,a[0].v=f+(d-f)*e,a[1].u=_+(m-_)*i,a[1].v=f+(d-f)*i,a[2].u=p+(v-p)*e,a[2].v=y+(g-y)*e,a[3].u=p+(v-p)*i,a[3].v=y+(g-y)*i;break;case n.VERTICAL:a[0].u=_+(p-_)*e,a[0].v=f+(y-f)*e,a[1].u=m+(v-m)*e,a[1].v=d+(g-d)*e,a[2].u=_+(p-_)*i,a[2].v=f+(y-f)*i,a[3].u=m+(v-m)*i,a[3].v=d+(g-d)*i;break;default:cc.errorID(2626)}s.uvDirty=!1},updateVerts:function(t,e,i){var r=t._renderData,s=r._data,a=t.node,o=a.width,h=a.height,l=a.anchorX*o,c=a.anchorY*h,u=-l,_=-c,f=o-l,m=h-c,d=void 0;switch(t._fillType){case n.HORIZONTAL:d=u+(f-u)*i,u=u+(f-u)*e,f=d;break;case n.VERTICAL:d=_+(m-_)*i,_=_+(m-_)*e,m=d;break;default:cc.errorID(2626)}s[4].x=u,s[4].y=_,s[5].x=f,s[5].y=_,s[6].x=u,s[6].y=m,s[7].x=f,s[7].y=m,r.vertDirty=!1},createData:function(t){var e=t.requestRenderData();return e.dataLength=8,e.vertexCount=4,e.indiceCount=6,e},updateWorldVerts:function(t){for(var e=t.node,i=t._renderData._data,n=e._worldMatrix,r=n.m00,s=n.m01,a=n.m04,o=n.m05,h=n.m12,l=n.m13,c=0;c<4;c++){var u=i[c+4],_=i[c];_.x=u.x*r+u.y*a+h,_.y=u.x*s+u.y*o+l}},fillBuffers:function(t,e){e.worldMatDirty&&this.updateWorldVerts(t);for(var i=t._renderData._data,n=t.node,r=n._color._val,s=n._worldMatrix,a=(s.m00,s.m01,s.m04,s.m05,s.m12,s.m13,e._meshBuffer),o=a.request(4,6),h=o.indiceOffset,l=o.byteOffset>>2,c=o.vertexOffset,u=a._vData,_=a._uintVData,f=0;f<4;f++){var m=i[f];u[l++]=m.x,u[l++]=m.y,u[l++]=m.u,u[l++]=m.v,_[l++]=r}var d=a._iData;d[h++]=c,d[h++]=c+1,d[h++]=c+2,d[h++]=c+1,d[h++]=c+3,d[h++]=c+2}}}),{"../../../../components/CCSprite":82}],221:[(function(t,e,i){var n=t("../../../../components/CCSprite"),r=n.Type,s=n.FillType,a=t("./simple"),o=t("./sliced"),h=t("./tiled"),l=t("./radial-filled"),c=t("./bar-filled"),u=t("./mesh"),_={getAssembler:function(t){var e=a;switch(t.type){case r.SLICED:e=o;break;case r.TILED:e=h;break;case r.FILLED:e=t._fillType===s.RADIAL?l:c;break;case r.MESH:e=u}return e},updateRenderData:function(t){return t.__allocedDatas}};n._assembler=_,e.exports=_}),{"../../../../components/CCSprite":82,"./bar-filled":220,"./mesh":222,"./radial-filled":223,"./simple":224,"./sliced":225,"./tiled":226}],222:[(function(t,e,i){e.exports={useModel:!1,createData:function(t){return t.requestRenderData()},updateRenderData:function(t){var e=t.spriteFrame;t._calDynamicAtlas();var i=t._renderData;if(i&&e){var n=e.vertices;if(n)i.vertexCount!==n.x.length&&(i.vertexCount=n.x.length,i.indiceCount=n.triangles.length,i.dataLength=2*i.vertexCount,i.uvDirty=i.vertDirty=!0),i.uvDirty&&this.updateUVs(t),i.vertDirty&&(this.updateVerts(t),this.updateWorldVerts(t))}},updateUVs:function(t){for(var e=t.getMaterial().effect.getProperty("texture"),i=(e._width,e._height,t.spriteFrame.vertices),n=i.nu,r=i.nv,s=t._renderData,a=s._data,o=0,h=n.length;o<h;o++){var l=a[o];l.u=n[o],l.v=r[o]}s.uvDirty=!1},updateVerts:function(t){var e=t.node,i=Math.abs(e.width),n=Math.abs(e.height),r=e.anchorX*i,s=e.anchorY*n,a=t.spriteFrame,o=a.vertices,h=o.x,l=o.y,c=a._originalSize.width,u=a._originalSize.height,_=a._rect.width,f=a._rect.height,m=a._offset.x+(c-_)/2,d=a._offset.y+(u-f)/2,p=i/(t.trim?_:c),y=n/(t.trim?f:u),v=t._renderData,g=v._data;if(t.trim)for(var x=0,A=h.length;x<A;x++){var b=g[x+A];b.x=(h[x]-m)*p-r,b.y=(u-l[x]-d)*y-s}else for(var C=0,S=h.length;C<S;C++){var T=g[C+S];T.x=h[C]*p-r,T.y=(u-l[C])*y-s}v.vertDirty=!1},updateWorldVerts:function(t){for(var e=t.node,i=t._renderData,n=i._data,r=e._worldMatrix,s=r.m00,a=r.m01,o=r.m04,h=r.m05,l=r.m12,c=r.m13,u=0,_=i.vertexCount;u<_;u++){var f=n[u+_],m=n[u];m.x=f.x*s+f.y*o+l,m.y=f.x*a+f.y*h+c}},fillBuffers:function(t,e){var i=t.node._color._val,n=t._renderData,r=n._data,s=t.spriteFrame.vertices;if(s){e.worldMatDirty&&this.updateWorldVerts(t);for(var a=e._meshBuffer,o=a.request(n.vertexCount,n.indiceCount),h=o.indiceOffset,l=o.byteOffset>>2,c=o.vertexOffset,u=a._vData,_=a._uintVData,f=a._iData,m=0,d=n.vertexCount;m<d;m++){var p=r[m];u[l++]=p.x,u[l++]=p.y,u[l++]=p.u,u[l++]=p.v,_[l++]=i}for(var y=s.triangles,v=0,g=y.length;v<g;v++)f[h++]=c+y[v]}}}}),{}],223:[(function(t,e,i){var n=2*Math.PI;e.exports={useModel:!1,_vertPos:[cc.v2(0,0),cc.v2(0,0),cc.v2(0,0),cc.v2(0,0)],_vertices:[0,0,0,0],_uvs:[0,0,0,0,0,0,0,0],_intersectPoint_1:[cc.v2(0,0),cc.v2(0,0),cc.v2(0,0),cc.v2(0,0)],_intersectPoint_2:[cc.v2(0,0),cc.v2(0,0),cc.v2(0,0),cc.v2(0,0)],_center:cc.v2(0,0),_triangles:[],createData:function(t){return t.requestRenderData()},updateRenderData:function(t){var e=t.spriteFrame;t._calDynamicAtlas();var i=t._renderData;if(i&&e&&(i.vertDirty||i.uvDirty)){var r=i._data,s=t._fillStart,a=t._fillRange;for(a<0&&(s+=a,a=-a);s>=1;)s-=1;for(;s<0;)s+=1;var o=(s*=n)+(a*=n);this._calculateVertices(t),this._calculateUVs(e);var h=this._center,l=this._vertPos,c=this._vertices,u=this._triangles;this._calcInsectedPoints(c[0],c[2],c[1],c[3],h,s,this._intersectPoint_1),this._calcInsectedPoints(c[0],c[2],c[1],c[3],h,s+a,this._intersectPoint_2);for(var _=0,f=0;f<4;++f){var m=u[f];if(m)if(a>=n)i.dataLength=_+3,this._generateTriangle(r,_,h,l[m[0]],l[m[1]]),_+=3;else{var d=this._getVertAngle(h,l[m[0]]),p=this._getVertAngle(h,l[m[1]]);p<d&&(p+=n),d-=n,p-=n;for(var y=0;y<3;++y)d>=o||(d>=s?(i.dataLength=_+3,p>=o?this._generateTriangle(r,_,h,l[m[0]],this._intersectPoint_2[f]):this._generateTriangle(r,_,h,l[m[0]],l[m[1]]),_+=3):p<=s||(p<=o?(i.dataLength=_+3,this._generateTriangle(r,_,h,this._intersectPoint_1[f],l[m[1]]),_+=3):(i.dataLength=_+3,this._generateTriangle(r,_,h,this._intersectPoint_1[f],this._intersectPoint_2[f]),_+=3))),d+=n,p+=n}}i.indiceCount=i.vertexCount=_,i.vertDirty=i.uvDirty=!1}},_getVertAngle:function(t,e){var i,n;if(i=e.x-t.x,n=e.y-t.y,0!==i||0!==n){if(0===i)return n>0?.5*Math.PI:1.5*Math.PI;var r=Math.atan(n/i);return i<0&&(r+=Math.PI),r}},_generateTriangle:function(t,e,i,n,r){var s=this._vertices,a=s[0],o=s[1],h=s[2],l=s[3];t[e].x=i.x,t[e].y=i.y,t[e+1].x=n.x,t[e+1].y=n.y,t[e+2].x=r.x,t[e+2].y=r.y;var c=void 0,u=void 0;c=(i.x-a)/(h-a),u=(i.y-o)/(l-o),this._generateUV(c,u,t,e),c=(n.x-a)/(h-a),u=(n.y-o)/(l-o),this._generateUV(c,u,t,e+1),c=(r.x-a)/(h-a),u=(r.y-o)/(l-o),this._generateUV(c,u,t,e+2)},_generateUV:function(t,e,i,n){var r=this._uvs,s=r[0]+(r[2]-r[0])*t,a=r[4]+(r[6]-r[4])*t,o=r[1]+(r[3]-r[1])*t,h=r[5]+(r[7]-r[5])*t,l=i[n];l.u=s+(a-s)*e,l.v=o+(h-o)*e},_calcInsectedPoints:function(t,e,i,n,r,s,a){var o=Math.sin(s),h=Math.cos(s),l=void 0,c=void 0;if(0!==Math.cos(s)){if(l=o/h,(t-r.x)*h>0){var u=r.y+l*(t-r.x);a[0].x=t,a[0].y=u}if((e-r.x)*h>0){var _=r.y+l*(e-r.x);a[2].x=e,a[2].y=_}}if(0!==Math.sin(s)){if(c=h/o,(n-r.y)*o>0){var f=r.x+c*(n-r.y);a[3].x=f,a[3].y=n}if((i-r.y)*o>0){var m=r.x+c*(i-r.y);a[1].x=m,a[1].y=i}}},_calculateVertices:function(t){var e=t.node,i=e.width,n=e.height,r=e.anchorX*i,s=e.anchorY*n,a=-r,o=-s,h=i-r,l=n-s,c=this._vertices;c[0]=a,c[1]=o,c[2]=h,c[3]=l;var u=this._center,_=t._fillCenter,f=u.x=Math.min(Math.max(0,_.x),1)*(h-a)+a,m=u.y=Math.min(Math.max(0,_.y),1)*(l-o)+o,d=this._vertPos;d[0].x=d[3].x=a,d[1].x=d[2].x=h,d[0].y=d[1].y=o,d[2].y=d[3].y=l;var p=this._triangles;p.length=0,f!==c[0]&&(p[0]=[3,0]),f!==c[2]&&(p[2]=[1,2]),m!==c[1]&&(p[1]=[0,1]),m!==c[3]&&(p[3]=[2,3])},_calculateUVs:function(t){var e=t._texture.width,i=t._texture.height,n=t._rect,r=void 0,s=void 0,a=void 0,o=void 0,h=this._uvs;t._rotated?(r=n.x/e,s=(n.x+n.height)/e,a=n.y/i,o=(n.y+n.width)/i,h[0]=h[2]=r,h[4]=h[6]=s,h[3]=h[7]=o,h[1]=h[5]=a):(r=n.x/e,s=(n.x+n.width)/e,a=n.y/i,o=(n.y+n.height)/i,h[0]=h[4]=r,h[2]=h[6]=s,h[1]=h[3]=o,h[5]=h[7]=a)},fillBuffers:function(t,e){for(var i=t._renderData,n=i._data,r=t.node,s=r._color._val,a=r._worldMatrix,o=a.m00,h=a.m01,l=a.m04,c=a.m05,u=a.m12,_=a.m13,f=e._meshBuffer,m=f.request(i.vertexCount,i.indiceCount),d=m.indiceOffset,p=m.byteOffset>>2,y=m.vertexOffset,v=f._iData,g=f._vData,x=f._uintVData,A=n.length,b=0;b<A;b++){var C=n[b];g[p++]=C.x*o+C.y*l+u,g[p++]=C.x*h+C.y*c+_,g[p++]=C.u,g[p++]=C.v,x[p++]=s}for(var S=0;S<A;S++)v[d+S]=y+S}}}),{}],224:[(function(t,e,i){e.exports={useModel:!1,updateRenderData:function(t){var e=t._spriteFrame;t._calDynamicAtlas();var i=t._renderData;i&&e&&i.vertDirty&&this.updateVerts(t)},fillBuffers:function(t,e){var i=t._renderData._data,n=t.node,r=n._color._val,s=n._worldMatrix,a=s.m00,o=s.m01,h=s.m04,l=s.m05,c=s.m12,u=s.m13,_=e._meshBuffer,f=_.request(4,6),m=f.indiceOffset,d=f.byteOffset>>2,p=f.vertexOffset,y=_._vData,v=_._uintVData,g=_._iData,x=t._spriteFrame.uv;y[d+2]=x[0],y[d+3]=x[1],y[d+7]=x[2],y[d+8]=x[3],y[d+12]=x[4],y[d+13]=x[5],y[d+17]=x[6],y[d+18]=x[7];var A=i[0],b=i[3],C=A.x,S=b.x,T=A.y,w=b.y,E=a*C,D=a*S,M=o*C,B=o*S,P=h*T,I=h*w,R=l*T,O=l*w;y[d]=E+P+c,y[d+1]=M+R+u,y[d+5]=D+P+c,y[d+6]=B+R+u,y[d+10]=E+I+c,y[d+11]=M+O+u,y[d+15]=D+I+c,y[d+16]=B+O+u,v[d+4]=r,v[d+9]=r,v[d+14]=r,v[d+19]=r,g[m++]=p,g[m++]=p+1,g[m++]=p+2,g[m++]=p+1,g[m++]=p+3,g[m++]=p+2},createData:function(t){var e=t.requestRenderData();return e.dataLength=4,e.vertexCount=4,e.indiceCount=6,e},updateVerts:function(t){var e=t._renderData,i=t.node,n=e._data,r=i.width,s=i.height,a=i.anchorX*r,o=i.anchorY*s,h=void 0,l=void 0,c=void 0,u=void 0;if(t.trim)h=-a,l=-o,c=r-a,u=s-o;else{var _=t.spriteFrame,f=_._originalSize.width,m=_._originalSize.height,d=_._rect.width,p=_._rect.height,y=_._offset,v=r/f,g=s/m,x=y.x+(f-d)/2,A=y.x-(f-d)/2;h=x*v-a,l=(y.y+(m-p)/2)*g-o,c=r+A*v-a,u=s+(y.y-(m-p)/2)*g-o}n[0].x=h,n[0].y=l,n[3].x=c,n[3].y=u,e.vertDirty=!1}}}),{}],225:[(function(t,e,i){e.exports={useModel:!1,createData:function(t){var e=t.requestRenderData();return e.dataLength=20,e.vertexCount=16,e.indiceCount=54,e},updateRenderData:function(t,e){var i=t.spriteFrame;t._calDynamicAtlas();var n=t._renderData;n&&i&&(n.vertDirty&&(this.updateVerts(t),this.updateWorldVerts(t)))},updateVerts:function(t){var e=t._renderData,i=e._data,n=t.node,r=n.width,s=n.height,a=n.anchorX*r,o=n.anchorY*s,h=t.spriteFrame,l=h.insetLeft,c=h.insetRight,u=h.insetTop,_=h.insetBottom,f=r-l-c,m=s-u-_,d=r/(l+c),p=s/(u+_);d=isNaN(d)||d>1?1:d,p=isNaN(p)||p>1?1:p,f=f<0?0:f,m=m<0?0:m,i[0].x=-a,i[0].y=-o,i[1].x=l*d-a,i[1].y=_*p-o,i[2].x=i[1].x+f,i[2].y=i[1].y+m,i[3].x=r-a,i[3].y=s-o,e.vertDirty=!1},fillBuffers:function(t,e){e.worldMatDirty&&this.updateWorldVerts(t);for(var i=t._renderData,n=t.node._color._val,r=i._data,s=e._meshBuffer,a=i.vertexCount,o=t.spriteFrame.uvSliced,h=s.request(a,i.indiceCount),l=h.indiceOffset,c=h.byteOffset>>2,u=h.vertexOffset,_=s._vData,f=s._uintVData,m=s._iData,d=4;d<20;++d){var p=r[d],y=o[d-4];_[c++]=p.x,_[c++]=p.y,_[c++]=y.u,_[c++]=y.v,f[c++]=n}for(var v=0;v<3;++v)for(var g=0;g<3;++g){var x=u+4*v+g;m[l++]=x,m[l++]=x+1,m[l++]=x+4,m[l++]=x+1,m[l++]=x+5,m[l++]=x+4}},updateWorldVerts:function(t){for(var e=t.node,i=t._renderData._data,n=e._worldMatrix,r=n.m00,s=n.m01,a=n.m04,o=n.m05,h=n.m12,l=n.m13,c=0;c<4;++c)for(var u=i[c],_=0;_<4;++_){var f=i[_],m=i[4+4*c+_];m.x=f.x*r+u.y*a+h,m.y=f.x*s+u.y*o+l}}}}),{}],226:[(function(t,e,i){e.exports={useModel:!1,createData:function(t){return t.requestRenderData()},updateRenderData:function(t){var e=t.spriteFrame;t._calDynamicAtlas();var i=t._renderData;if(e&&i&&(i.uvDirty||i.vertDirty)){var n=e._texture,r=(n.width,n.height,e._rect),s=t.node,a=Math.abs(s.width),o=Math.abs(s.height),h=s.anchorX*a,l=s.anchorY*o,c=r.width,u=r.height,_=a/c,f=o/u,m=Math.ceil(f),d=Math.ceil(_),p=i._data;i.dataLength=Math.max(8,m+1,d+1);for(var y=0;y<=d;++y)p[y].x=Math.min(c*y,a)-h;for(var v=0;v<=m;++v)p[v].y=Math.min(u*v,o)-l;i.vertexCount=m*d*4,i.indiceCount=m*d*6,i.uvDirty=!1,i.vertDirty=!1}},fillBuffers:function(t,e){for(var i=t.node,n=i._color._val,r=t._renderData,s=r._data,a=e._meshBuffer,o=a.request(r.vertexCount,r.indiceCount),h=o.indiceOffset,l=o.byteOffset>>2,c=o.vertexOffset,u=a._vData,_=a._uintVData,f=a._iData,m=t.spriteFrame._rotated,d=t.spriteFrame.uv,p=t.spriteFrame._rect,y=Math.abs(i.width),v=Math.abs(i.height),g=y/p.width,x=v/p.height,A=Math.ceil(x),b=Math.ceil(g),C=i._worldMatrix,S=C.m00,T=C.m01,w=C.m04,E=C.m05,D=C.m12,M=C.m13,B=void 0,P=void 0,I=void 0,R=void 0,O=void 0,L=void 0,F=0,V=A;F<V;++F){I=s[F].y,R=s[F+1].y,L=Math.min(1,x-F);for(var N=0,k=b;N<k;++N)O=Math.min(1,g-N),B=s[N].x,P=s[N+1].x,u[l]=B*S+I*w+D,u[l+1]=B*T+I*E+M,u[l+5]=P*S+I*w+D,u[l+6]=P*T+I*E+M,u[l+10]=B*S+R*w+D,u[l+11]=B*T+R*E+M,u[l+15]=P*S+R*w+D,u[l+16]=P*T+R*E+M,m?(u[l+2]=d[0],u[l+3]=d[1],u[l+7]=d[0],u[l+8]=d[1]+(d[7]-d[1])*O,u[l+12]=d[0]+(d[6]-d[0])*L,u[l+13]=d[1],u[l+17]=u[l+12],u[l+18]=u[l+8]):(u[l+2]=d[0],u[l+3]=d[1],u[l+7]=d[0]+(d[6]-d[0])*O,u[l+8]=d[1],u[l+12]=d[0],u[l+13]=d[1]+(d[7]-d[1])*L,u[l+17]=u[l+7],u[l+18]=u[l+13]),_[l+4]=n,_[l+9]=n,_[l+14]=n,_[l+19]=n,l+=20}for(var G=r.indiceCount,z=0;z<G;z+=6)f[h++]=c,f[h++]=c+1,f[h++]=c+2,f[h++]=c+1,f[h++]=c+3,f[h++]=c+2,c+=4}}}),{}],227:[(function(t,e,i){var n=t("../render-engine").gfx,r=cc.Class({name:"cc.MeshBuffer",ctor:function(t,e){this.byteStart=0,this.byteOffset=0,this.indiceStart=0,this.indiceOffset=0,this.vertexStart=0,this.vertexOffset=0,this._vertexFormat=e,this._vertexBytes=this._vertexFormat._bytes,this._arrOffset=0,this._vbArr=[],this._vb=new n.VertexBuffer(t._device,e,n.USAGE_DYNAMIC,new ArrayBuffer,0),this._vbArr[0]=this._vb,this._ibArr=[],this._ib=new n.IndexBuffer(t._device,n.INDEX_FMT_UINT16,n.USAGE_STATIC,new ArrayBuffer,0),this._ibArr[0]=this._ib,this._vData=null,this._uintVData=null,this._iData=null,this._batcher=t,this._initVDataCount=256*e._bytes,this._initIDataCount=1536,this._offsetInfo={byteOffset:0,vertexOffset:0,indiceOffset:0},this._reallocBuffer()},uploadData:function(){if(0!==this.byteOffset&&this._dirty){var t=new Float32Array(this._vData.buffer,0,this.byteOffset>>2),e=new Uint16Array(this._iData.buffer,0,this.indiceOffset);this._vb.update(0,t),this._ib.update(0,e),this._dirty=!1}},checkAndSwitchBuffer:function(t){if(this.vertexOffset+t>65535){this.uploadData(),this._batcher._flush();var e=++this._arrOffset;this.byteStart=0,this.byteOffset=0,this.vertexStart=0,this.vertexOffset=0,this.indiceStart=0,this.indiceOffset=0,e<this._vbArr.length?(this._vb=this._vbArr[e],this._ib=this._ibArr[e]):(this._vb=new n.VertexBuffer(this._batcher._device,this._vertexFormat,n.USAGE_DYNAMIC,new ArrayBuffer,0),this._vbArr[e]=this._vb,this._vb._bytes=this._vData.byteLength,this._ib=new n.IndexBuffer(this._batcher._device,n.INDEX_FMT_UINT16,n.USAGE_STATIC,new ArrayBuffer,0),this._ibArr[e]=this._ib,this._ib._bytes=this._iData.byteLength)}},requestStatic:function(t,e){this.checkAndSwitchBuffer(t);var i=this.byteOffset+t*this._vertexBytes,n=this.indiceOffset+e,r=this._vData.byteLength,s=this._iData.length;if(i>r||n>s){for(;r<i||s<n;)this._initVDataCount*=2,this._initIDataCount*=2,r=4*this._initVDataCount,s=this._initIDataCount;this._reallocBuffer()}var a=this._offsetInfo;a.vertexOffset=this.vertexOffset,this.vertexOffset+=t,a.indiceOffset=this.indiceOffset,this.indiceOffset+=e,a.byteOffset=this.byteOffset,this.byteOffset=i,this._dirty=!0},request:function(t,e){return this._batcher._buffer!==this&&(this._batcher._flush(),this._batcher._buffer=this),this.requestStatic(t,e),this._offsetInfo},_reallocBuffer:function(){this._reallocVData(!0),this._reallocIData(!0)},_reallocVData:function(t){var e=void 0;this._vData&&(e=new Uint8Array(this._vData.buffer)),this._vData=new Float32Array(this._initVDataCount),this._uintVData=new Uint32Array(this._vData.buffer);var i=new Uint8Array(this._uintVData.buffer);if(e&&t)for(var n=0,r=e.length;n<r;n++)i[n]=e[n];this._vb._bytes=this._vData.byteLength},_reallocIData:function(t){var e=this._iData;if(this._iData=new Uint16Array(this._initIDataCount),e&&t)for(var i=this._iData,n=0,r=e.length;n<r;n++)i[n]=e[n];this._ib._bytes=this._iData.byteLength},reset:function(){this._arrOffset=0,this._vb=this._vbArr[0],this._ib=this._ibArr[0],this.byteStart=0,this.byteOffset=0,this.indiceStart=0,this.indiceOffset=0,this.vertexStart=0,this.vertexOffset=0,this._dirty=!1},destroy:function(){for(var t in this._vbArr){this._vbArr[t].destroy()}this._vbArr=void 0;for(var e in this._ibArr){this._ibArr[e].destroy()}this._ibArr=void 0,this._ib=void 0,this._vb=void 0}});cc.MeshBuffer=e.exports=r}),{"../render-engine":202}],228:[(function(t,e,i){var n=t("../render-engine"),r=t("./vertex-format").vfmtPosUvColor,s=t("./stencil-manager"),a=t("./quad-buffer"),o=t("./mesh-buffer"),h=t("./spine-buffer"),l=new(t("../../platform/id-generater"))("VertextFormat"),c=n.RecyclePool,u=n.InputAssembler,_={},f=new n.Material;f.updateHash();var m=function(t,e){this._renderScene=e,this._device=t,this._stencilMgr=s.sharedManager,this.walking=!1,this.material=f,this.cullingMask=1,this._iaPool=new c(function(){return new u},16),this._modelPool=new c(function(){return new n.Model},16),this._quadBuffer=this.getBuffer("quad",r),this._meshBuffer=this.getBuffer("mesh",r),this._buffer=this._quadBuffer,this._batchedModels=[],this._dummyNode=new cc.Node,this._sortKey=0,this.node=this._dummyNode,this.parentOpacity=1,this.parentOpacityDirty=0,this.worldMatDirty=0};m.prototype={constructor:m,reset:function(){this._iaPool.reset();for(var t=this._renderScene,e=this._batchedModels,i=0;i<e.length;++i)e[i].clearInputAssemblers(),e[i].clearEffects(),t.removeModel(e[i]);this._modelPool.reset(),e.length=0,this._sortKey=0;for(var n in _)_[n].reset();this._buffer=this._quadBuffer,this.node=this._dummyNode,this.material=f,this.cullingMask=1,this.parentOpacity=1,this.parentOpacityDirty=0,this.worldMatDirty=0,this._stencilMgr.reset()},_flush:function(){var t=this.material,e=this._buffer,i=e.indiceStart,n=e.indiceOffset-i;if(this.walking&&t&&!(n<=0)){var r=t.effect,s=this._iaPool.add();s._vertexBuffer=e._vb,s._indexBuffer=e._ib,s._start=i,s._count=n,this._stencilMgr.handleEffect(r);var a=this._modelPool.add();this._batchedModels.push(a),a.sortKey=this._sortKey++,a._cullingMask=this.cullingMask,a.setNode(this.node),a.addEffect(r),a.addInputAssembler(s),this._renderScene.addModel(a),e.byteStart=e.byteOffset,e.indiceStart=e.indiceOffset,e.vertexStart=e.vertexOffset}},_flushIA:function(t){var e=t.material;if(t.ia&&e){this.material=e;var i=this._stencilMgr.handleEffect(e.effect),n=this._modelPool.add();this._batchedModels.push(n),n.sortKey=this._sortKey++,n._cullingMask=this.cullingMask,n.setNode(this.node),n.addEffect(i),n.addInputAssembler(t.ia),this._renderScene.addModel(n)}},_commitComp:function(t,e,i){this.material._hash===t._material._hash&&this.cullingMask===i||(this._flush(),this.node=e.useModel?t.node:this._dummyNode,this.material=t._material,this.cullingMask=i),e.fillBuffers(t,this)},_commitIA:function(t,e,i){this._flush(),this.cullingMask=i,this.material=t._material,this.node=e.useModel?t.node:this._dummyNode,e.renderIA(t,this)},terminate:function(){cc.dynamicAtlasManager&&cc.dynamicAtlasManager.enabled&&cc.dynamicAtlasManager.update(),this._flush();for(var t in _)_[t].uploadData();this.walking=!1},getBuffer:function(t,e){e.name||(e.name=l.getNewId());var i=t+e.name,n=_[i];if(!n){if("mesh"===t)n=new o(this,e);else if("quad"===t)n=new a(this,e);else{if("spine"!==t)return cc.error("Not support buffer type ["+t+"]"),null;n=new h(this,e)}_[i]=n}return n}},e.exports=m}),{"../../platform/id-generater":176,"../render-engine":202,"./mesh-buffer":227,"./quad-buffer":229,"./spine-buffer":230,"./stencil-manager":231,"./vertex-format":232}],229:[(function(t,e,i){var n=t("./mesh-buffer"),r=cc.Class({name:"cc.QuadBuffer",extends:n,_fillQuadBuffer:function(){for(var t=this._initIDataCount/6,e=this._iData,i=0,n=0;i<t;i++){var r=4*i;e[n++]=r,e[n++]=r+1,e[n++]=r+2,e[n++]=r+1,e[n++]=r+3,e[n++]=r+2}var s=new Uint16Array(this._iData.buffer,0,6*t);this._ib.update(0,s)},uploadData:function(){if(0!==this.byteOffset&&this._dirty){var t=new Float32Array(this._vData.buffer,0,this.byteOffset>>2);this._vb.update(0,t),this._dirty=!1}},_reallocBuffer:function(){this._reallocVData(!0),this._reallocIData(),this._fillQuadBuffer()}});cc.QuadBuffer=e.exports=r}),{"./mesh-buffer":227}],230:[(function(t,e,i){var n=cc.Class({name:"cc.SpineBuffer",extends:t("./mesh-buffer"),requestStatic:function(t,e){this.checkAndSwitchBuffer(t);var i=this.byteOffset+t*this._vertexBytes,n=this.indiceOffset+e,r=this._vData.byteLength,s=this._iData.length;if(i>r||n>s){for(;r<i||s<n;)this._initVDataCount*=2,this._initIDataCount*=2,r=4*this._initVDataCount,s=this._initIDataCount;this._reallocBuffer()}var a=this._offsetInfo;a.vertexOffset=this.vertexOffset,a.indiceOffset=this.indiceOffset,a.byteOffset=this.byteOffset},adjust:function(t,e){this.vertexOffset+=t,this.indiceOffset+=e,this.byteOffset=this.byteOffset+t*this._vertexBytes,this._dirty=!0}});cc.SpineBuffer=e.exports=n}),{"./mesh-buffer":227}],231:[(function(t,e,i){var n=t("../render-engine").gfx,r=cc.Enum({DISABLED:0,CLEAR:1,ENTER_LEVEL:2,ENABLED:3,EXIT_LEVEL:4});function s(){this._maxLevel=8,this._maskStack=[],this.stage=r.DISABLED}s.prototype={constructor:s,reset:function(){this._maskStack.length=0,this.stage=r.DISABLED},handleEffect:function(t){var e=t.getTechnique("transparent").passes;if(this.stage===r.DISABLED){this.stage=r.DISABLED;for(var i=0;i<e.length;++i){var s=e[i];s._stencilTest&&s.disableStencilTest()}return t}var a=void 0,o=void 0,h=void 0,l=void 0,c=void 0,u=void 0,_=n.STENCIL_OP_KEEP,f=n.STENCIL_OP_KEEP;this.stage===r.ENABLED?(a=this._maskStack[this._maskStack.length-1],o=n.DS_FUNC_EQUAL,u=n.STENCIL_OP_KEEP,l=h=this.getStencilRef(),c=this.getWriteMask()):this.stage===r.CLEAR?(a=this._maskStack[this._maskStack.length-1],o=n.DS_FUNC_NEVER,u=a.inverted?n.STENCIL_OP_REPLACE:n.STENCIL_OP_ZERO,l=h=this.getWriteMask(),c=h):this.stage===r.ENTER_LEVEL&&(a=this._maskStack[this._maskStack.length-1],o=n.DS_FUNC_NEVER,u=a.inverted?n.STENCIL_OP_ZERO:n.STENCIL_OP_REPLACE,l=h=this.getWriteMask(),c=h);for(var m=0;m<e.length;++m){var d=e[m];d.setStencilFront(o,h,l,u,_,f,c),d.setStencilBack(o,h,l,u,_,f,c)}return t},pushMask:function(t){this._maskStack.length+1>this._maxLevel&&cc.errorID(9e3,this._maxLevel),this._maskStack.push(t)},clear:function(){this.stage=r.CLEAR},enterLevel:function(){this.stage=r.ENTER_LEVEL},enableMask:function(){this.stage=r.ENABLED},exitMask:function(){0===this._maskStack.length&&cc.errorID(9001),this._maskStack.pop(),0===this._maskStack.length?this.stage=r.DISABLED:this.stage=r.ENABLED},getWriteMask:function(){return 1<<this._maskStack.length-1},getExitWriteMask:function(){return 1<<this._maskStack.length},getStencilRef:function(){for(var t=0,e=0;e<this._maskStack.length;++e)t+=1<<e;return t},getInvertedRef:function(){for(var t=0,e=0;e<this._maskStack.length-1;++e)t+=1<<e;return t}},s.sharedManager=new s,s.Stage=r,e.exports=cc.StencilManager=s}),{"../render-engine":202}],232:[(function(t,e,i){var n=t("../render-engine").gfx,r=new n.VertexFormat([{name:n.ATTR_POSITION,type:n.ATTR_TYPE_FLOAT32,num:3},{name:n.ATTR_UV0,type:n.ATTR_TYPE_FLOAT32,num:2},{name:n.ATTR_COLOR,type:n.ATTR_TYPE_UINT8,num:4,normalize:!0}]);r.name="vfmt3D",n.VertexFormat.XYZ_UV_Color=r;var s=new n.VertexFormat([{name:n.ATTR_POSITION,type:n.ATTR_TYPE_FLOAT32,num:2},{name:n.ATTR_UV0,type:n.ATTR_TYPE_FLOAT32,num:2},{name:n.ATTR_COLOR,type:n.ATTR_TYPE_UINT8,num:4,normalize:!0}]);s.name="vfmtPosUvColor",n.VertexFormat.XY_UV_Color=s;var a=new n.VertexFormat([{name:n.ATTR_POSITION,type:n.ATTR_TYPE_FLOAT32,num:2},{name:n.ATTR_UV0,type:n.ATTR_TYPE_FLOAT32,num:2},{name:n.ATTR_COLOR,type:n.ATTR_TYPE_UINT8,num:4,normalize:!0},{name:n.ATTR_COLOR0,type:n.ATTR_TYPE_UINT8,num:4,normalize:!0}]);a.name="vfmtPosUvTwoColor",n.VertexFormat.XY_UV_Two_Color=a;var o=new n.VertexFormat([{name:n.ATTR_POSITION,type:n.ATTR_TYPE_FLOAT32,num:2},{name:n.ATTR_UV0,type:n.ATTR_TYPE_FLOAT32,num:2}]);o.name="vfmtPosUv",n.VertexFormat.XY_UV=o;var h=new n.VertexFormat([{name:n.ATTR_POSITION,type:n.ATTR_TYPE_FLOAT32,num:2},{name:n.ATTR_COLOR,type:n.ATTR_TYPE_UINT8,num:4,normalize:!0}]);h.name="vfmtPosColor",n.VertexFormat.XY_Color=h,e.exports={vfmt3D:r,vfmtPosUvColor:s,vfmtPosUvTwoColor:a,vfmtPosUv:o,vfmtPosColor:h}}),{"../render-engine":202}],233:[(function(t,e,i){t("../platform/CCSys");var n=/(\.[^\.\/\?\\]*)(\?.*)?$/,r=/((.*)(\/|\\|\\\\))?(.*?\..*$)?/,s=/[^\.\/]+\/\.\.\//;cc.path={join:function(){for(var t=arguments.length,e="",i=0;i<t;i++)e=(e+(""===e?"":"/")+arguments[i]).replace(/(\/|\\\\)$/,"");return e},extname:function(t){var e=n.exec(t);return e?e[1]:""},mainFileName:function(t){if(t){var e=t.lastIndexOf(".");if(-1!==e)return t.substring(0,e)}return t},basename:function(t,e){var i=t.indexOf("?");i>0&&(t=t.substring(0,i));var n=/(\/|\\)([^\/\\]+)$/g.exec(t.replace(/(\/|\\)$/,""));if(!n)return null;var r=n[2];return e&&t.substring(t.length-e.length).toLowerCase()===e.toLowerCase()?r.substring(0,r.length-e.length):r},dirname:function(t){var e=r.exec(t);return e?e[2]:""},changeExtname:function(t,e){e=e||"";var i=t.indexOf("?"),n="";return i>0&&(n=t.substring(i),t=t.substring(0,i)),(i=t.lastIndexOf("."))<0?t+e+n:t.substring(0,i)+e+n},changeBasename:function(t,e,i){if(0===e.indexOf("."))return this.changeExtname(t,e);var n=t.indexOf("?"),r="",s=i?this.extname(t):"";return n>0&&(r=t.substring(n),t=t.substring(0,n)),n=(n=t.lastIndexOf("/"))<=0?0:n+1,t.substring(0,n)+e+s+r},_normalize:function(t){var e=t=String(t);do{e=t,t=t.replace(s,"")}while(e.length!==t.length);return t},sep:cc.sys.os===cc.sys.OS_WINDOWS?"\\":"/",stripSep:function(t){return t.replace(/[\/\\]$/,"")}},e.exports=cc.path}),{"../platform/CCSys":169}],234:[(function(t,e,i){var n=function(t,e,i,n,r,s){this.a=t,this.b=e,this.c=i,this.d=n,this.tx=r,this.ty=s};n.create=function(t,e,i,n,r,s){return{a:t,b:e,c:i,d:n,tx:r,ty:s}},n.identity=function(){return{a:1,b:0,c:0,d:1,tx:0,ty:0}},n.clone=function(t){return{a:t.a,b:t.b,c:t.c,d:t.d,tx:t.tx,ty:t.ty}},n.concat=function(t,e,i){var n=e.a,r=e.b,s=e.c,a=e.d,o=e.tx,h=e.ty;return t.a=n*i.a+r*i.c,t.b=n*i.b+r*i.d,t.c=s*i.a+a*i.c,t.d=s*i.b+a*i.d,t.tx=o*i.a+h*i.c+i.tx,t.ty=o*i.b+h*i.d+i.ty,t},n.invert=function(t,e){var i=e.a,n=e.b,r=e.c,s=e.d,a=1/(i*s-n*r),o=e.tx,h=e.ty;return t.a=a*s,t.b=-a*n,t.c=-a*r,t.d=a*i,t.tx=a*(r*h-s*o),t.ty=a*(n*o-i*h),t},n.fromMat4=function(t,e){return t.a=e.m00,t.b=e.m01,t.c=e.m04,t.d=e.m05,t.tx=e.m12,t.ty=e.m13,t},n.transformVec2=function(t,e,i,n){var r,s;return void 0===n?(n=i,r=e.x,s=e.y):(r=e,s=i),t.x=n.a*r+n.c*s+n.tx,t.y=n.b*r+n.d*s+n.ty,t},n.transformSize=function(t,e,i){return t.width=i.a*e.width+i.c*e.height,t.height=i.b*e.width+i.d*e.height,t},n.transformRect=function(t,e,i){var n=e.x,r=e.y,s=n+e.width,a=r+e.height,o=i.a*n+i.c*r+i.tx,h=i.b*n+i.d*r+i.ty,l=i.a*s+i.c*r+i.tx,c=i.b*s+i.d*r+i.ty,u=i.a*n+i.c*a+i.tx,_=i.b*n+i.d*a+i.ty,f=i.a*s+i.c*a+i.tx,m=i.b*s+i.d*a+i.ty,d=Math.min(o,l,u,f),p=Math.max(o,l,u,f),y=Math.min(h,c,_,m),v=Math.max(h,c,_,m);return t.x=d,t.y=y,t.width=p-d,t.height=v-y,t},n.transformObb=function(t,e,i,n,r,s){var a=r.x,o=r.y,h=r.width,l=r.height,c=s.a*a+s.c*o+s.tx,u=s.b*a+s.d*o+s.ty,_=s.a*h,f=s.b*h,m=s.c*l,d=s.d*l;e.x=c,e.y=u,i.x=_+c,i.y=f+u,t.x=m+c,t.y=d+u,n.x=_+m+c,n.y=f+d+u},cc.AffineTransform=e.exports=n}),{}],235:[(function(t,e,i){var n=t("../platform/CCObject").Flags,r=t("./misc"),s=t("../platform/js"),a=t("../platform/id-generater"),o=t("../event-manager"),h=t("../renderer/render-flow"),l=n.Destroying,c=n.DontDestroy,u=n.Deactivating,_=new a("Node");function f(t){return t?"string"==typeof t?s.getClassByName(t):t:(cc.errorID(3804),null)}function m(t,e){if(e._sealed)for(var i=0;i<t._components.length;++i){var n=t._components[i];if(n.constructor===e)return n}else for(var r=0;r<t._components.length;++r){var s=t._components[r];if(s instanceof e)return s}return null}function d(t,e,i){if(e._sealed)for(var n=0;n<t._components.length;++n){var r=t._components[n];r.constructor===e&&i.push(r)}else for(var s=0;s<t._components.length;++s){var a=t._components[s];a instanceof e&&i.push(a)}}var p=cc.Class({name:"cc._BaseNode",extends:cc.Object,properties:{_parent:null,_children:[],_active:!0,_level:0,_components:[],_prefab:null,_persistNode:{get:function(){return(this._objFlags&c)>0},set:function(t){t?this._objFlags|=c:this._objFlags&=~c}},name:{get:function(){return this._name},set:function(t){this._name=t}},uuid:{get:function(){return this._id}},children:{get:function(){return this._children}},childrenCount:{get:function(){return this._children.length}},active:{get:function(){return this._active},set:function(t){if(t=!!t,this._active!==t){this._active=t;var e=this._parent;if(e)e._activeInHierarchy&&cc.director._nodeActivator.activateNode(this,t)}}},activeInHierarchy:{get:function(){return this._activeInHierarchy}}},ctor:function(t){this._name=void 0!==t?t:"New Node",this._activeInHierarchy=!1,this._id=_.getNewId(),cc.director._scheduler&&cc.director._scheduler.enableForTarget(this),this.__eventTargets=[],this._renderFlag=h.FLAG_TRANSFORM},getParent:function(){return this._parent},setParent:function(t){if(this._parent!==t){0;var e=this._parent;if(this._parent=t||null,this._onSetParent(t),t&&(this._level=t._level+1,o._setDirtyForNode(this),t._children.push(this),t.emit&&t.emit("child-added",this),t._renderFlag|=h.FLAG_CHILDREN),e){if(!(e._objFlags&l)){var i=e._children.indexOf(this);0,e._children.splice(i,1),e.emit&&e.emit("child-removed",this),this._onHierarchyChanged(e),0===e._children.length&&(e._renderFlag&=~h.FLAG_CHILDREN)}}else t&&this._onHierarchyChanged(null)}},attr:function(t){s.mixin(this,t)},getChildByUuid:function(t){if(!t)return cc.log("Invalid uuid"),null;for(var e=this._children,i=0,n=e.length;i<n;i++)if(e[i]._id===t)return e[i];return null},getChildByName:function(t){if(!t)return cc.log("Invalid name"),null;for(var e=this._children,i=0,n=e.length;i<n;i++)if(e[i]._name===t)return e[i];return null},addChild:function(t){cc.assertID(t,1606),cc.assertID(null===t._parent,1605),t.setParent(this)},insertChild:function(t,e){t.parent=this,t.setSiblingIndex(e)},getSiblingIndex:function(){return this._parent?this._parent._children.indexOf(this):0},setSiblingIndex:function(t){if(this._parent)if(this._parent._objFlags&u)cc.errorID(3821);else{var e=this._parent._children;t=-1!==t?t:e.length-1;var i=e.indexOf(this);t!==i&&(e.splice(i,1),t<e.length?e.splice(t,0,this):e.push(this),this._onSiblingIndexChanged&&this._onSiblingIndexChanged(t))}},walk:function(t,e){var i,n,r,s,a=cc._BaseNode,o=1,h=a._stacks[a._stackId];h||(h=[],a._stacks.push(h)),a._stackId++,h.length=0,h[0]=this;var l=null;for(s=!1;o;)if(n=h[--o])if(!s&&t?t(n):s&&e&&e(n),h[o]=null,s){if(s=!1,i)if(i[++r])h[o]=i[r],o++;else if(l&&(h[o]=l,o++,s=!0,l._parent?(r=(i=l._parent._children).indexOf(l),l=l._parent):(l=null,i=null),r<0))break}else n._children.length>0?(l=n,i=n._children,r=0,h[o]=i[r],o++):(h[o]=n,o++,s=!0);h.length=0,a._stackId--},cleanup:function(){},removeFromParent:function(t){this._parent&&(void 0===t&&(t=!0),this._parent.removeChild(this,t))},removeChild:function(t,e){this._children.indexOf(t)>-1&&((e||void 0===e)&&t.cleanup(),t.parent=null)},removeAllChildren:function(t){var e=this._children;void 0===t&&(t=!0);for(var i=e.length-1;i>=0;i--){var n=e[i];n&&(t&&n.cleanup(),n.parent=null)}this._children.length=0},isChildOf:function(t){var e=this;do{if(e===t)return!0;e=e._parent}while(e);return!1},getComponent:function(t){var e=f(t);return e?m(this,e):null},getComponents:function(t){var e=f(t),i=[];return e&&d(this,e,i),i},getComponentInChildren:function(t){var e=f(t);return e?(function t(e,i){for(var n=0;n<e.length;++n){var r=e[n],s=m(r,i);if(s)return s;if(r._children.length>0&&(s=t(r._children,i)))return s}return null})(this._children,e):null},getComponentsInChildren:function(t){var e=f(t),i=[];return e&&(d(this,e,i),(function t(e,i,n){for(var r=0;r<e.length;++r){var s=e[r];d(s,i,n),s._children.length>0&&t(s._children,i,n)}})(this._children,e,i)),i},_checkMultipleComp:!1,addComponent:function(t){var e;if("string"==typeof t){if(!(e=s.getClassByName(t)))return cc.errorID(3807,t),cc._RFpeek()&&cc.errorID(3808,t),null}else{if(!t)return cc.errorID(3804),null;e=t}if("function"!=typeof e)return cc.errorID(3809),null;if(!s.isChildClassOf(e,cc.Component))return cc.errorID(3810),null;var i=e._requireComponent;if(i&&!this.getComponent(i)&&!this.addComponent(i))return null;var n=new e;return n.node=this,this._components.push(n),this._activeInHierarchy&&cc.director._nodeActivator.activateComp(n),n},_addComponentAt:!1,removeComponent:function(t){t?(t instanceof cc.Component||(t=this.getComponent(t)),t&&t.destroy()):cc.errorID(3813)},_getDependComponent:!1,_removeComponent:function(t){if(t){if(!(this._objFlags&l)){var e=this._components.indexOf(t);-1!==e?this._components.splice(e,1):t.node!==this&&cc.errorID(3815)}}else cc.errorID(3814)},destroy:function(){cc.Object.prototype.destroy.call(this)&&(this.active=!1)},destroyAllChildren:function(){for(var t=this._children,e=0;e<t.length;++e)t[e].destroy()},_onSetParent:function(t){},_onPostActivated:function(){},_onBatchRestored:function(){},_onBatchCreated:function(){},_onHierarchyChanged:function(t){var e=this._parent;!this._persistNode||e instanceof cc.Scene||cc.game.removePersistRootNode(this);var i=this._active&&!(!e||!e._activeInHierarchy);this._activeInHierarchy!==i&&cc.director._nodeActivator.activateNode(this,i)},_instantiate:function(t){t||(t=cc.instantiate._clone(this,this));var e=this._prefab;e&&this===e.root&&e.sync;return t._parent=null,t._onBatchRestored(),t},_registerIfAttached:!1,_onPreDestroy:function(){var t,e;this._objFlags|=l;var i=this._parent,n=i&&i._objFlags&l;var r=this._children;for(t=0,e=r.length;t<e;++t)r[t]._destroyImmediate();for(t=0,e=this._components.length;t<e;++t){this._components[t]._destroyImmediate()}var s=this.__eventTargets;for(t=0,e=s.length;t<e;++t){var a=s[t];a&&a.targetOff(this)}if(s.length=0,this._persistNode&&cc.game.removePersistRootNode(this),!n&&i){var o=i._children.indexOf(this);i._children.splice(o,1),i.emit&&i.emit("child-removed",this)}return n},onRestore:!1});p.idGenerater=_,p._stacks=[[]],p._stackId=0,p.prototype._onPreDestroyBase=p.prototype._onPreDestroy,p.prototype._onHierarchyChangedBase=p.prototype._onHierarchyChanged;r.propertyDefine(p,["parent","name","children","childrenCount"],{}),cc._BaseNode=e.exports=p}),{"../event-manager":100,"../platform/CCObject":166,"../platform/id-generater":176,"../platform/js":180,"../renderer/render-flow":203,"./misc":242}],236:[(function(t,e,i){var n=1e-6;e.exports={binarySearchEpsilon:function(t,e){for(var i=0,r=t.length-1,s=r>>>1;i<=r;s=i+r>>>1){var a=t[s];if(a>e+n)r=s-1;else{if(!(a<e-n))return s;i=s+1}}return~i}}}),{}],237:[(function(t,e,i){var n=t("./misc").BASE64_VALUES,r="0123456789abcdef".split(""),s=["","","",""],a=s.concat(s,"-",s,"-",s,"-",s,"-",s,s,s),o=a.map((function(t,e){return"-"===t?NaN:e})).filter(isFinite);e.exports=function(t){if(22!==t.length)return t;a[0]=t[0],a[1]=t[1];for(var e=2,i=2;e<22;e+=2){var s=n[t.charCodeAt(e)],h=n[t.charCodeAt(e+1)];a[o[i++]]=r[s>>2],a[o[i++]]=r[(3&s)<<2|h>>4],a[o[i++]]=r[15&h]}return a.join("")}}),{"./misc":242}],238:[(function(t,e,i){cc.find=e.exports=function(t,e){if(null==t)return cc.errorID(5600),null;if(e)0;else{var i=cc.director.getScene();if(!i)return null;e=i}for(var n=e,r="/"!==t[0]?0:1,s=t.split("/"),a=r;a<s.length;a++){var o=s[a],h=n._children;n=null;for(var l=0,c=h.length;l<c;++l){var u=h[l];if(u.name===o){n=u;break}}if(!n)return null}return n}}),{}],239:[(function(t,e,i){var n=/^(click)(\s)*=|(param)(\s)*=/,r=/(\s)*src(\s)*=|(\s)*height(\s)*=|(\s)*width(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=|(\s)*emoji(\s)*=/,s=function(){this._parsedObject={},this._specialSymbolArray=[],this._specialSymbolArray.push([/&lt;/g,"<"]),this._specialSymbolArray.push([/&gt;/g,">"]),this._specialSymbolArray.push([/&amp;/g,"&"]),this._specialSymbolArray.push([/&quot;/g,'"']),this._specialSymbolArray.push([/&apos;/g,"'"])};s.prototype={constructor:s,parse:function(t){this._resultObjectArray=[],this._stack=[];for(var e=0,i=t.length;e<i;){var n=t.indexOf("<",e);if(n<0)this._stack.pop(),this._processResult(t.substring(e)),e=i;else{this._processResult(t.substring(e,n));var r=t.indexOf(">",e);-1===r?r=n:"/"===t.charAt(n+1)?this._stack.pop():this._addToStack(t.substring(n+1,r)),e=r+1}}return this._resultObjectArray},_attributeToObject:function(t){var e,i,n,s,a={},o=(t=t.trim()).match(/^(color|size)(\s)*=/);if(o){if(e=o[0],""===(t=t.substring(e.length).trim()))return a;switch(i=t.indexOf(" "),e[0]){case"c":a.color=i>-1?t.substring(0,i).trim():t;break;case"s":a.size=parseInt(t)}return i>-1&&(s=t.substring(i+1).trim(),n=this._processEventHandler(s),a.event=n),a}if((o=t.match(/^(br(\s)*\/)/))&&o[0].length>0&&(e=o[0].trim()).startsWith("br")&&"/"===e[e.length-1])return a.isNewLine=!0,this._resultObjectArray.push({text:"",style:{newline:!0}}),a;if((o=t.match(/^(img(\s)*src(\s)*=[^>]+\/)/))&&o[0].length>0&&(e=o[0].trim()).startsWith("img")&&"/"===e[e.length-1]){var h;o=t.match(r);for(var l=!1;o;)e=(t=t.substring(t.indexOf(o[0]))).substr(0,o[0].length),u=(i=(h=t.substring(e.length).trim()).indexOf(" "))>-1?h.substr(0,i):h,e=(e=e.replace(/[^a-zA-Z]/g,"").trim()).toLocaleLowerCase(),t=h.substring(i).trim(),"src"===e?(a.isImage=!0,u.endsWith("/")&&(u=u.substring(0,u.length-1)),0===u.indexOf("'")?(l=!0,u=u.substring(1,u.length-1)):0===u.indexOf('"')&&(l=!0,u=u.substring(1,u.length-1)),a.src=u):"height"===e?a.imageHeight=parseInt(u):"width"===e?a.imageWidth=parseInt(u):"click"===e?a.event=this._processEventHandler(e+"="+u):"emoji"===e&&(u.endsWith("/")&&(u=u.substring(0,u.length-1)),0===u.indexOf("'")?(l=!0,u=u.substring(1,u.length-1)):0===u.indexOf('"')&&(l=!0,u=u.substring(1,u.length-1)),a.emoji=u),a.event&&"param"===e&&(a.event.param=u.replace(/^\"|\"$/g,"")),o=t.match(r);return l&&a.isImage&&this._resultObjectArray.push({text:"",style:a}),{}}if(o=t.match(/^(outline(\s)*[^>]*)/)){var c={color:"#ffffff",width:1};if(t=o[0].substring("outline".length).trim()){var u,_=/(\s)*color(\s)*=|(\s)*width(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=/;for(o=t.match(_);o;)e=(t=t.substring(t.indexOf(o[0]))).substr(0,o[0].length),u=(i=(h=t.substring(e.length).trim()).indexOf(" "))>-1?h.substr(0,i):h,e=(e=e.replace(/[^a-zA-Z]/g,"").trim()).toLocaleLowerCase(),t=h.substring(i).trim(),"click"===e?a.event=this._processEventHandler(e+"="+u):"color"===e?c.color=u:"width"===e&&(c.width=parseInt(u)),a.event&&"param"===e&&(a.event.param=u.replace(/^\"|\"$/g,"")),o=t.match(_)}a.outline=c}if((o=t.match(/^(on|u|b|i)(\s)*/))&&o[0].length>0){switch(e=o[0],t=t.substring(e.length).trim(),e[0]){case"u":a.underline=!0;break;case"i":a.italic=!0;break;case"b":a.bold=!0}if(""===t)return a;n=this._processEventHandler(t),a.event=n}return a},_processEventHandler:function(t){for(var e=0,i={},r=t.match(n),s=!1;r;){var a=r[0],o="";if(s=!1,'"'===(t=t.substring(a.length).trim()).charAt(0))(e=t.indexOf('"',1))>-1&&(o=t.substring(1,e).trim(),s=!0),e++;else if("'"===t.charAt(0))(e=t.indexOf("'",1))>-1&&(o=t.substring(1,e).trim(),s=!0),e++;else{var h=t.match(/(\S)+/);e=(o=h?h[0]:"").length}s&&(i[a=a.substring(0,a.length-1).trim()]=o),r=(t=t.substring(e).trim()).match(n)}return i},_addToStack:function(t){var e=this._attributeToObject(t);if(0===this._stack.length)this._stack.push(e);else{if(e.isNewLine||e.isImage)return;var i=this._stack[this._stack.length-1];for(var n in i)e[n]||(e[n]=i[n]);this._stack.push(e)}},_processResult:function(t){""!==t&&(t=this._escapeSpecialSymbol(t),this._stack.length>0?this._resultObjectArray.push({text:t,style:this._stack[this._stack.length-1]}):this._resultObjectArray.push({text:t}))},_escapeSpecialSymbol:function(t){for(var e=0;e<this._specialSymbolArray.length;++e){var i=this._specialSymbolArray[e][0],n=this._specialSymbolArray[e][1];t=t.replace(i,n)}return t}},e.exports=s}),{}],240:[(function(t,e,i){t("./CCPath"),t("./profiler/CCProfiler"),t("./find"),t("./mutable-forward-iterator")}),{"./CCPath":233,"./find":238,"./mutable-forward-iterator":243,"./profiler/CCProfiler":246}],241:[(function(t,e,i){var n=t("../platform/js"),r=t("../renderer/render-engine").math,s=new n.Pool(128);s.get=function(){var t=this._get();return t?r.mat4.identity(t):t=r.mat4.create(),t};var a=new n.Pool(64);a.get=function(){var t=this._get();return t?(t.x=t.y=t.z=0,t.w=1):t=r.quat.create(),t},e.exports={mat4:s,quat:a}}),{"../platform/js":180,"../renderer/render-engine":202}],242:[(function(t,e,i){for(var n=t("../platform/js"),r={propertyDefine:function(t,e,i){function r(t,e,i,r){var s=Object.getOwnPropertyDescriptor(t,e);if(s)s.get&&(t[i]=s.get),s.set&&r&&(t[r]=s.set);else{var a=t[i];n.getset(t,e,a,t[r])}}for(var s,a=t.prototype,o=0;o<e.length;o++){var h=(s=e[o])[0].toUpperCase()+s.slice(1);r(a,s,"get"+h,"set"+h)}for(s in i){var l=i[s];r(a,s,l[0],l[1])}},NextPOT:function(t){return t-=1,t|=t>>1,t|=t>>2,t|=t>>4,t|=t>>8,(t|=t>>16)+1},BUILTIN_CLASSID_RE:/^(?:cc|dragonBones|sp|ccsg)\..+/},s=new Array(123),a=0;a<123;++a)s[a]=64;for(var o=0;o<64;++o)s["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".charCodeAt(o)]=o;r.BASE64_VALUES=s,r.pushToMap=function(t,e,i,n){var r=t[e];r?Array.isArray(r)?n?(r.push(r[0]),r[0]=i):r.push(i):t[e]=n?[i,r]:[r,i]:t[e]=i},r.clampf=function(t,e,i){if(e>i){var n=e;e=i,i=n}return t<e?e:t<i?t:i},r.clamp01=function(t){return t<0?0:t<1?t:1},r.lerp=function(t,e,i){return t+(e-t)*i},r.degreesToRadians=function(t){return t*cc.macro.RAD},r.radiansToDegrees=function(t){return t*cc.macro.DEG},cc.misc=e.exports=r}),{"../platform/js":180}],243:[(function(t,e,i){function n(t){this.i=0,this.array=t}var r=n.prototype;r.remove=function(t){var e=this.array.indexOf(t);e>=0&&this.removeAt(e)},r.removeAt=function(t){this.array.splice(t,1),t<=this.i&&--this.i},r.fastRemove=function(t){var e=this.array.indexOf(t);e>=0&&this.fastRemoveAt(e)},r.fastRemoveAt=function(t){var e=this.array;e[t]=e[e.length-1],--e.length,t<=this.i&&--this.i},r.push=function(t){this.array.push(t)},e.exports=n}),{}],244:[(function(t,e,i){var n=t("../CCNode"),r=n.EventType,s=n._LocalDirtyFlag,a=t("../renderer/render-engine").math,o=t("../renderer/render-flow"),h=Math.PI/180,l=1,c=2,u=4,_=null,f=null;function m(){if(this._localMatDirty){var t=this._matrix;if(a.mat4.fromRTS(t,this._quat,this._position,this._scale),this._skewX||this._skewY){var e=t.m00,i=t.m01,n=t.m04,r=t.m05,s=Math.tan(this._skewX*h),o=Math.tan(this._skewY*h);s===1/0&&(s=99999999),o===1/0&&(o=99999999),t.m00=e+n*o,t.m01=i+r*o,t.m04=n+e*s,t.m05=r+i*s}this._localMatDirty=0,this._worldMatDirty=!0}}function d(){if(this._localMatDirty&&this._updateLocalMatrix(),this._parent){var t=this._parent._worldMatrix;a.mat4.mul(this._worldMatrix,t,this._matrix)}else a.mat4.copy(this._worldMatrix,this._matrix);this._worldMatDirty=!1}function p(){return new cc.Vec3(this._position)}function y(t,e,i){var n=void 0;void 0===e?(n=t.x,e=t.y,i=t.z||0):(n=t,i=i||0);var a=this._position;a.x===n&&a.y===e&&a.z===i||(a.x=n,a.y=e,a.z=i,this.setLocalDirty(s.POSITION),this._renderFlag|=o.FLAG_WORLD_TRANSFORM,this._eventMask&l&&this.emit(r.POSITION_CHANGED))}function v(){return a.quat.clone(this._quat)}function g(t,e,i,n){var a=void 0;void 0===e&&(a=t.x,e=t.y,i=t.z,n=t.w);var h=this._quat;h.x===a&&h.y===e&&h.z===i&&h.w===n||(h.x=a,h.y=e,h.z=i,h.w=n,this.setLocalDirty(s.ROTATION),this._renderFlag|=o.FLAG_TRANSFORM,this._eventMask&u&&this.emit(r.ROTATION_CHANGED))}function x(){return cc.v3(this._scale)}function A(t,e,i){t&&"number"!=typeof t?(e=t.y,i=t.z||1,t=t.x):void 0!==t&&void 0===e?(e=t,i=t):void 0===i&&(i=1),this._scale.x===t&&this._scale.y===e&&this._scale.z===i||(this._scale.x=t,this._scale.y=e,this._scale.z=i,this.setLocalDirty(s.SCALE),this._renderFlag|=o.FLAG_TRANSFORM,this._eventMask&c&&this.emit(r.SCALE_CHANGED))}cc._polyfill3D=e.exports={enabled:!1,enable:function(){var t=cc.Node.prototype;_||(_=t._updateLocalMatrix,f=t._calculWorldMatrix),this.enabled||(t._updateLocalMatrix=m,t._calculWorldMatrix=d,t.getPosition=p,t.setPosition=y,t.getScale=x,t.setScale=A,t.getQuat=v,t.setQuat=g,this.enabled=!0)},disable:function(){this.enabled&&(cc.Node.prototype._updateLocalMatrix=_,cc.Node.prototype._calculWorldMatrix=f,this.enabled=!1)}}}),{"../CCNode":29,"../renderer/render-engine":202,"../renderer/render-flow":203}],245:[(function(t,e,i){var n=t("../renderer").renderEngine.math;cc._PrefabInfo=cc.Class({name:"cc.PrefabInfo",properties:{root:null,asset:null,fileId:"",sync:!1,_synced:{default:!1,serializable:!1}}}),e.exports={syncWithPrefab:function(t){var e=t._prefab;if(e._synced=!0,!e.asset)return cc.errorID(3701,t.name),void(t._prefab=null);var i=t._objFlags,r=t._parent,s=t._id,a=t._name,o=t._active,h=t._position.x,l=t._position.y,c=t._quat,u=t._localZOrder,_=t._globalZOrder;cc.game._isCloning=!0,e.asset._doInstantiate(t),cc.game._isCloning=!1,t._objFlags=i,t._parent=r,t._id=s,t._prefab=e,t._name=a,t._active=o,t._position.x=h,t._position.y=l,n.quat.copy(t._quat,c),t._localZOrder=u,t._globalZOrder=_}}}),{"../renderer":201}],246:[(function(t,e,i){var n=t("../../platform/CCMacro"),r=t("./perf-counter"),s=!1,a=15,o=null,h=null,l=null,c=null;function u(){(function(){if(!l||!l.isValid){(l=new cc.Node("PROFILER-NODE")).x=l.y=10,l.groupIndex=cc.Node.BuiltinGroupIndex.DEBUG,cc.Camera._setupDebugCamera(),l.zIndex=n.MAX_ZINDEX,cc.game.addPersistRootNode(l);var t=new cc.Node("LEFT-PANEL");t.anchorX=t.anchorY=0,t.parent=l;var e=t.addComponent(cc.Label);e.font=o,e.fontSize=a,e.lineHeight=a;var i=new cc.Node("RIGHT-PANEL");i.anchorX=1,i.anchorY=0,i.x=200,i.parent=l;var r=i.addComponent(cc.Label);r.horizontalAlign=cc.Label.HorizontalAlign.RIGHT,r.font=o,r.fontSize=a,r.lineHeight=a,c={left:e,right:r}}})();var t=cc.director._lastUpdate;h.frame._counter.start(t),h.logic._counter.start(t)}function _(){var t=performance.now();cc.director.isPaused()?h.frame._counter.start(t):h.logic._counter.end(t),h.render._counter.start(t)}function f(){var t=performance.now();h.render._counter.end(t),h.draws._counter.value=cc.renderer.drawCalls,h.frame._counter.end(t),h.fps._counter.frame(t);var e="",i="";for(var n in h){var r=h[n];r._counter.sample(t),e+=r.desc+"\n",i+=r._counter.human()+"\n"}c.left.string=e,c.right.string=i}cc.profiler=e.exports={isShowingStats:function(){return s},hideStats:function(){s&&(l&&(l.active=!1),cc.director.off(cc.Director.EVENT_BEFORE_UPDATE,u),cc.director.off(cc.Director.EVENT_AFTER_UPDATE,_),cc.director.off(cc.Director.EVENT_AFTER_DRAW,f),s=!1)},showStats:function(){s||(function(){if(!o){var t=document.createElement("canvas");t.style.width=t.width=256,t.style.height=t.height=256;var e=t.getContext("2d");e.font=a+"px Arial",e.textBaseline="top",e.textAlign="left",e.fillStyle="#fff";var i=2,n=2,r=a;(o=new cc.LabelAtlas)._fntConfig={atlasName:"profiler-arial",commonHeight:r,fontSize:a,kerningDict:{},fontDefDictionary:{}},o._name="profiler-arial",o.fontSize=a;for(var s=o._fntConfig.fontDefDictionary,h=32;h<=126;h++){var l=String.fromCharCode(h),c=e.measureText(l).width;i+c>=256&&(i=2,n+=r+2),e.fillText(l,i,n),s[h]={xAdvance:c,xOffset:0,yOffset:0,rect:{x:i,y:n,width:c,height:r}},i+=c+2}var u=new cc.Texture2D;u.initWithElement(t);var _=new cc.SpriteFrame;_.setTexture(u),o.spriteFrame=_}}(),(function(){if(!h){h={frame:{desc:"Frame time (ms)",min:0,max:50,average:500},fps:{desc:"Framerate (FPS)",below:30,average:500},draws:{desc:"Draw call"},logic:{desc:"Game Logic (ms)",min:0,max:50,average:500,color:"#080"},render:{desc:"Renderer (ms)",min:0,max:50,average:500,color:"#f90"},mode:{desc:cc.game.renderType===cc.game.RENDER_TYPE_WEBGL?"WebGL":"Canvas",min:1}};var t=performance.now();for(var e in h)h[e]._counter=new r(e,h[e],t)}})(),l&&(l.active=!0),cc.director.on(cc.Director.EVENT_BEFORE_UPDATE,u),cc.director.on(cc.Director.EVENT_AFTER_UPDATE,_),cc.director.on(cc.Director.EVENT_AFTER_DRAW,f),s=!0)}}}),{"../../platform/CCMacro":165,"./perf-counter":248}],247:[(function(t,e,i){var n=cc.Class({name:"cc.Counter",ctor:function(t,e,i){this._id=t,this._opts=e||{},this._value=0,this._total=0,this._averageValue=0,this._accumValue=0,this._accumSamples=0,this._accumStart=i},properties:{value:{get:function(){return this._value},set:function(t){this._value=t}}},_average:function(t,e){if(this._opts.average){this._accumValue+=t,++this._accumSamples;var i=e;i-this._accumStart>=this._opts.average&&(this._averageValue=this._accumValue/this._accumSamples,this._accumValue=0,this._accumStart=i,this._accumSamples=0)}},sample:function(t){this._average(this._value,t)},human:function(){var t=this._opts.average?this._averageValue:this._value;return Math.round(100*t)/100},alarm:function(){return this._opts.below&&this._value<this._opts.below||this._opts.over&&this._value>this._opts.over}});e.exports=n}),{}],248:[(function(t,e,i){var n=t("./counter"),r=cc.Class({name:"cc.PerfCounter",extends:n,ctor:function(t,e,i){this._time=i},start:function(t){this._time=t},end:function(t){this._value=t-this._time,this._average(this._value)},tick:function(){this.end(),this.start()},frame:function(t){var e=t,i=e-this._time;this._total++,i>(this._opts.average||1e3)&&(this._value=1e3*this._total/i,this._total=0,this._time=e,this._average(this._value))}});e.exports=r}),{"./counter":247}],249:[(function(t,e,i){e.exports={label_wordRex:/([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430-\u044f\u0410-\u042f\u0401\u0451]+|\S)/,label_symbolRex:/^[!,.:;'}\]%\?>\u3001\u2018\u201c\u300b\uff1f\u3002\uff0c\uff01]/,label_lastWordRex:/([a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+|\S)$/,label_lastEnglish:/[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]+$/,label_firstEnglish:/^[a-zA-Z0-9\xc4\xd6\xdc\xe4\xf6\xfc\xdf\xe9\xe8\xe7\xe0\xf9\xea\xe2\xee\xf4\xfb\u0430\xed\xec\xcd\xcc\xef\xc1\xc0\xe1\xe0\xc9\xc8\xd2\xd3\xf2\xf3\u0150\u0151\xd9\xda\u0170\xfa\u0171\xf1\xd1\xe6\xc6\u0153\u0152\xc3\xc2\xe3\xd4\xf5\u011b\u0161\u010d\u0159\u017e\xfd\xe1\xed\xe9\xf3\xfa\u016f\u0165\u010f\u0148\u011a\u0160\u010c\u0158\u017d\xc1\xcd\xc9\xd3\xda\u0164\u017c\u017a\u015b\xf3\u0144\u0142\u0119\u0107\u0105\u017b\u0179\u015a\xd3\u0143\u0141\u0118\u0106\u0104-\u044f\u0410-\u042f\u0401\u0451]/,label_firstEmoji:/^[\uD83C\uDF00-\uDFFF\uDC00-\uDE4F]/,label_lastEmoji:/([\uDF00-\uDFFF\uDC00-\uDE4F]+|\S)$/,label_wrapinspection:!0,__CHINESE_REG:/^[\u4E00-\u9FFF\u3400-\u4DFF]+$/,__JAPANESE_REG:/[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g,__KOREAN_REG:/^[\u1100-\u11FF]|[\u3130-\u318F]|[\uA960-\uA97F]|[\uAC00-\uD7AF]|[\uD7B0-\uD7FF]+$/,isUnicodeCJK:function(t){return this.__CHINESE_REG.test(t)||this.__JAPANESE_REG.test(t)||this.__KOREAN_REG.test(t)},isUnicodeSpace:function(t){return(t=t.charCodeAt(0))>=9&&t<=13||32===t||133===t||160===t||5760===t||t>=8192&&t<=8202||8232===t||8233===t||8239===t||8287===t||12288===t},safeMeasureText:function(t,e){var i=t.measureText(e);return i&&i.width||0},fragmentText:function(t,e,i,n){var r=[];if(0===t.length||i<0)return r.push(""),r;for(var s=t;e>i&&s.length>1;){for(var a=s.length*(i/e)|0,o=s.substr(a),h=e-n(o),l=o,c=0,u=0;h>i&&u++<10;)a*=i/h,a|=0,h=e-n(o=s.substr(a));for(u=0;h<=i&&u++<10;){if(o){var _=this.label_wordRex.exec(o);c=_?_[0].length:1,l=o}a+=c,h=e-n(o=s.substr(a))}0==(a-=c)&&(a=1,l=l.substr(1));var f,m=s.substr(0,a);this.label_wrapinspection&&this.label_symbolRex.test(l||o)&&(0==(a-=(f=this.label_lastWordRex.exec(m))?f[0].length:0)&&(a=1),l=s.substr(a),m=s.substr(0,a)),this.label_firstEmoji.test(l)&&(f=this.label_lastEmoji.exec(m))&&m!==f[0]&&(a-=f[0].length,l=s.substr(a),m=s.substr(0,a)),this.label_firstEnglish.test(l)&&(f=this.label_lastEnglish.exec(m))&&m!==f[0]&&(a-=f[0].length,l=s.substr(a),m=s.substr(0,a)),0===r.length?r.push(m):(m=m.trim()).length>0&&r.push(m),e=n(s=l||o)}return 0===r.length?r.push(s):(s=s.trim()).length>0&&r.push(s),r}}}),{}],250:[(function(t,e,i){var n=t("../assets/CCTexture2D"),r={loadImage:function(t,e,i){cc.assertID(t,3103);var r=cc.loader.getRes(t);return r?r.loaded?(e&&e.call(i,r),r):(r.once("load",(function(){e&&e.call(i,r)}),i),r):((r=new n).url=t,cc.loader.load({url:t,texture:r},(function(t,n){if(t)return e&&e.call(i,t||new Error("Unknown error"));n.handleLoadedTexture(),e&&e.call(i,null,n)})),r)},cacheImage:function(t,e){if(t&&e){var i=new n;i.initWithElement(e);var r={id:t,url:t,error:null,content:i,complete:!1};return cc.loader.flowOut(r),i}},postLoadTexture:function(t,e){t.loaded?e&&e():t.url?cc.loader.load({url:t.url,skips:["Loader"]},(function(i,n){n&&(t.loaded||(t._nativeAsset=n)),e&&e(i)})):e&&e()}};cc.textureUtil=e.exports=r}),{"../assets/CCTexture2D":49}],251:[(function(t,e,i){var n=t("./value-type"),r=t("../platform/js"),s=(function(){function e(t,e,i,n){"object"==typeof t&&(e=t.g,i=t.b,n=t.a,t=t.r),t=t||0,e=e||0,i=i||0,n="number"==typeof n?n:255,this._val=(n<<24>>>0)+(i<<16)+(e<<8)+t}r.extend(e,n),t("../platform/CCClass").fastDefine("cc.Color",e,{r:0,g:0,b:0,a:255});var i={WHITE:[255,255,255,255],BLACK:[0,0,0,255],TRANSPARENT:[0,0,0,0],GRAY:[127.5,127.5,127.5],RED:[255,0,0],GREEN:[0,255,0],BLUE:[0,0,255],YELLOW:[255,235,4],ORANGE:[255,127,0],CYAN:[0,255,255],MAGENTA:[255,0,255]};for(var s in i)r.get(e,s,(function(t){return function(){return new e(t[0],t[1],t[2],t[3])}})(i[s]));var a=e.prototype;return a.clone=function(){var t=new e;return t._val=this._val,t},a.equals=function(t){return t&&this._val===t._val},a.lerp=function(t,i,n){n=n||new e;var r=this.r,s=this.g,a=this.b,o=this.a;return n.r=r+(t.r-r)*i,n.g=s+(t.g-s)*i,n.b=a+(t.b-a)*i,n.a=o+(t.a-o)*i,n},a.toString=function(){return"rgba("+this.r.toFixed()+", "+this.g.toFixed()+", "+this.b.toFixed()+", "+this.a.toFixed()+")"},a.getR=function(){return 255&this._val},a.setR=function(t){return t=~~cc.misc.clampf(t,0,255),this._val=(4294967040&this._val|t)>>>0,this},a.getG=function(){return(65280&this._val)>>8},a.setG=function(t){return t=~~cc.misc.clampf(t,0,255),this._val=(4294902015&this._val|t<<8)>>>0,this},a.getB=function(){return(16711680&this._val)>>16},a.setB=function(t){return t=~~cc.misc.clampf(t,0,255),this._val=(4278255615&this._val|t<<16)>>>0,this},a.getA=function(){return(4278190080&this._val)>>>24},a.setA=function(t){return t=~~cc.misc.clampf(t,0,255),this._val=(16777215&this._val|t<<24)>>>0,this},a._fastSetA=function(t){this._val=(16777215&this._val|t<<24)>>>0},r.getset(a,"r",a.getR,a.setR,!0),r.getset(a,"g",a.getG,a.setG,!0),r.getset(a,"b",a.getB,a.setB,!0),r.getset(a,"a",a.getA,a.setA,!0),a.toCSS=function(t){return"rgba"===t?"rgba("+(0|this.r)+","+(0|this.g)+","+(0|this.b)+","+(this.a/255).toFixed(2)+")":"rgb"===t?"rgb("+(0|this.r)+","+(0|this.g)+","+(0|this.b)+")":"#"+this.toHEX(t)},a.fromHEX=function(t){t=0===t.indexOf("#")?t.substring(1):t;var e=parseInt(t.substr(0,2),16)||0,i=parseInt(t.substr(2,2),16)||0,n=parseInt(t.substr(4,2),16)||0,r=parseInt(t.substr(6,2),16)||255;return this._val=(r<<24>>>0)+(n<<16)+(i<<8)+e,this},a.toHEX=function(t){var e=[(this.r<16?"0":"")+(0|this.r).toString(16),(this.g<16?"0":"")+(0|this.g).toString(16),(this.b<16?"0":"")+(0|this.b).toString(16)],i=-1;if("#rgb"===t)for(i=0;i<e.length;++i)e[i].length>1&&(e[i]=e[i][0]);else if("#rrggbb"===t)for(i=0;i<e.length;++i)1===e[i].length&&(e[i]="0"+e[i]);else"#rrggbbaa"===t&&e.push((this.a<16?"0":"")+(0|this.a).toString(16));return e.join("")},a.toRGBValue=function(){return 16777215&this._val},a.fromHSV=function(t,e,i){var n,r,s;if(0===e)n=r=s=i;else if(0===i)n=r=s=0;else{1===t&&(t=0),t*=6,e=e,i=i;var a=Math.floor(t),o=t-a,h=i*(1-e),l=i*(1-e*o),c=i*(1-e*(1-o));switch(a){case 0:n=i,r=c,s=h;break;case 1:n=l,r=i,s=h;break;case 2:n=h,r=i,s=c;break;case 3:n=h,r=l,s=i;break;case 4:n=c,r=h,s=i;break;case 5:n=i,r=h,s=l}}return n*=255,r*=255,s*=255,this._val=(this.a<<24>>>0)+(s<<16)+(r<<8)+n,this},a.toHSV=function(){var t=this.r/255,e=this.g/255,i=this.b/255,n={h:0,s:0,v:0},r=Math.max(t,e,i),s=Math.min(t,e,i),a=0;return n.v=r,n.s=r?(r-s)/r:0,n.s?(a=r-s,n.h=t===r?(e-i)/a:e===r?2+(i-t)/a:4+(t-e)/a,n.h/=6,n.h<0&&(n.h+=1)):n.h=0,n},a.set=function(t){t._val?this._val=t._val:(this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a)},e})();cc.Color=s,cc.color=function(t,e,i,n){return"string"==typeof t?(new cc.Color).fromHEX(t):"object"==typeof t?new cc.Color(t.r,t.g,t.b,t.a):new cc.Color(t,e,i,n)},e.exports=cc.Color}),{"../platform/CCClass":160,"../platform/js":180,"./value-type":257}],252:[(function(t,e,i){t("./value-type"),t("./vec2"),t("./vec3"),t("./quat"),t("./mat4"),t("./size"),t("./rect"),t("./color"),cc.vmath=t("../renderer/render-engine").math}),{"../renderer/render-engine":202,"./color":251,"./mat4":253,"./quat":254,"./rect":255,"./size":256,"./value-type":257,"./vec2":258,"./vec3":259}],253:[(function(t,e,i){var n=t("./value-type"),r=t("../platform/js"),s=t("../platform/CCClass"),a=t("../renderer/render-engine").math.mat4;function o(t,e,i,n,r,s,a,o,h,l,c,u,_,f,m,d){var p=this;p.m00=t,p.m01=e,p.m02=i,p.m03=n,p.m04=r,p.m05=s,p.m06=a,p.m07=o,p.m08=h,p.m09=l,p.m10=c,p.m11=u,p.m12=_,p.m13=f,p.m14=m,p.m15=d}r.extend(o,n),s.fastDefine("cc.Mat4",o,{m00:1,m01:0,m02:0,m03:0,m04:0,m05:1,m06:0,m07:0,m08:0,m09:0,m10:1,m11:0,m12:0,m13:0,m14:0,m15:1}),r.mixin(o.prototype,{clone:function(){var t=this;return new o(t.m00,t.m01,t.m02,t.m03,t.m04,t.m05,t.m06,t.m07,t.m08,t.m09,t.m10,t.m11,t.m12,t.m13,t.m14,t.m15)},set:function(t){var e=this;return e.m00=t.m00,e.m01=t.m01,e.m02=t.m02,e.m03=t.m03,e.m04=t.m04,e.m05=t.m05,e.m06=t.m06,e.m07=t.m07,e.m08=t.m08,e.m09=t.m09,e.m10=t.m10,e.m11=t.m11,e.m12=t.m12,e.m13=t.m13,e.m14=t.m14,e.m15=t.m15,this},equals:function(t){return a.exactEquals(this,t)},fuzzyEquals:function(t){return a.equals(this,t)},toString:function(){var t=this;return"[\n"+t.m00+", "+t.m01+", "+t.m02+", "+t.m03+",\n"+t.m04+", "+t.m05+", "+t.m06+", "+t.m07+",\n"+t.m08+", "+t.m09+", "+t.m10+", "+t.m11+",\n"+t.m12+", "+t.m13+", "+t.m14+", "+t.m15+"\n]"},identity:function(){return a.identity(this)},transpose:function(t){return t=t||new cc.Mat4,a.transpose(t,this)},invert:function(t){return t=t||new cc.Mat4,a.invert(t,this)},adjoint:function(t){return t=t||new cc.Mat4,a.adjoint(t,this)},determinant:function(){return a.determinant(this)},add:function(t,e){return e=e||new cc.Mat4,a.add(e,this,t)},sub:function(t,e){return e=e||new cc.Mat4,a.subtract(e,this,t)},mul:function(t,e){return e=e||new cc.Mat4,a.multiply(e,this,t)},mulScalar:function(t,e){return e=e||new cc.Mat4,a.mulScalar(e,this,t)},translate:function(t,e){return e=e||new cc.Mat4,a.translate(e,this,t)},scale:function(t,e){return e=e||new cc.Mat4,a.scale(e,this,t)},rotate:function(t,e,i){return i=i||new cc.Mat4,a.rotate(i,this,t,e)},getTranslation:function(t){return t=t||new cc.Vec3,a.getTranslation(t,this)},getScale:function(t){return t=t||new cc.Vec3,a.getScaling(t,this)},getRotation:function(t){return t=t||new cc.Quat,a.getRotation(t,this)},fromRTS:function(t,e,i){return a.fromRTS(this,t,e,i)},fromQuat:function(t){return a.fromQuat(this,t)}}),cc.mat4=function(t,e,i,n,r,s,a,h,l,c,u,_,f,m,d,p){return new o(t,e,i,n,r,s,a,h,l,c,u,_,f,m,d,p)}}),{"../platform/CCClass":160,"../platform/js":180,"../renderer/render-engine":202,"./value-type":257}],254:[(function(t,e,i){var n=t("./value-type"),r=t("../platform/js"),s=t("../platform/CCClass");function a(t,e,i,n){t&&"object"==typeof t&&(i=t.z,e=t.y,n=(t=t.x).w),this.x=t||0,this.y=e||0,this.z=i||0,this.w=n||1}r.extend(a,n),s.fastDefine("cc.Quat",a,{x:0,y:0,z:0,w:1});var o=a.prototype;o.clone=function(){return new a(this.x,this.y,this.z,this.w)},o.set=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w,this},o.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},o.getRoll=function(){var t=2*(this.w*this.x+this.y*this.z),e=1-2*(this.x*this.x+this.y*this.y);return 180*Math.atan2(t,e)/Math.PI},o.getPitch=function(){var t=2*(this.w*this.y-this.z*this.x),e=t>1?1:t;return e=t<-1?-1:t,e=180*Math.asin(e)/Math.PI},o.getYaw=function(){var t=2*(this.w*this.z+this.x*this.y),e=1-2*(this.y*this.y+this.z*this.z);return 180*Math.atan2(t,e)/Math.PI},cc.quat=function(t,e,i,n){return new a(t,e,i,n)},e.exports=cc.Quat=a}),{"../platform/CCClass":160,"../platform/js":180,"./value-type":257}],255:[(function(t,e,i){var n=t("./value-type"),r=t("../platform/js");function s(t,e,i,n){t&&"object"==typeof t&&(e=t.y,i=t.width,n=t.height,t=t.x),this.x=t||0,this.y=e||0,this.width=i||0,this.height=n||0}r.extend(s,n),t("../platform/CCClass").fastDefine("cc.Rect",s,{x:0,y:0,width:0,height:0}),s.fromMinMax=function(t,e){var i=Math.min(t.x,e.x),n=Math.min(t.y,e.y);return new s(i,n,Math.max(t.x,e.x)-i,Math.max(t.y,e.y)-n)};var a=s.prototype;a.clone=function(){return new s(this.x,this.y,this.width,this.height)},a.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.width===t.width&&this.height===t.height},a.lerp=function(t,e,i){i=i||new s;var n=this.x,r=this.y,a=this.width,o=this.height;return i.x=n+(t.x-n)*e,i.y=r+(t.y-r)*e,i.width=a+(t.width-a)*e,i.height=o+(t.height-o)*e,i},a.set=function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},a.intersects=function(t){var e=this.x+this.width,i=this.y+this.height,n=t.x+t.width,r=t.y+t.height;return!(e<t.x||n<this.x||i<t.y||r<this.y)},a.intersection=function(t,e){var i=this.x,n=this.y,r=this.x+this.width,s=this.y+this.height,a=e.x,o=e.y,h=e.x+e.width,l=e.y+e.height;return t.x=Math.max(i,a),t.y=Math.max(n,o),t.width=Math.min(r,h)-t.x,t.height=Math.min(s,l)-t.y,t},a.contains=function(t){return this.x<=t.x&&this.x+this.width>=t.x&&this.y<=t.y&&this.y+this.height>=t.y},a.containsRect=function(t){return this.x<=t.x&&this.x+this.width>=t.x+t.width&&this.y<=t.y&&this.y+this.height>=t.y+t.height},a.union=function(t,e){var i=this.x,n=this.y,r=this.width,s=this.height,a=e.x,o=e.y,h=e.width,l=e.height;return t.x=Math.min(i,a),t.y=Math.min(n,o),t.width=Math.max(i+r,a+h)-t.x,t.height=Math.max(n+s,o+l)-t.y,t},a.transformMat4=function(t,e){var i=this.x,n=this.y,r=i+this.width,s=n+this.height,a=e.m00*i+e.m04*n+e.m12,o=e.m01*i+e.m05*n+e.m13,h=e.m00*r+e.m04*n+e.m12,l=e.m01*r+e.m05*n+e.m13,c=e.m00*i+e.m04*s+e.m12,u=e.m01*i+e.m05*s+e.m13,_=e.m00*r+e.m04*s+e.m12,f=e.m01*r+e.m05*s+e.m13,m=Math.min(a,h,c,_),d=Math.max(a,h,c,_),p=Math.min(o,l,u,f),y=Math.max(o,l,u,f);return t.x=m,t.y=p,t.width=d-m,t.height=y-p,t},a.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.width.toFixed(2)+", "+this.height.toFixed(2)+")"},r.getset(a,"xMin",(function(){return this.x}),(function(t){this.width+=this.x-t,this.x=t})),r.getset(a,"yMin",(function(){return this.y}),(function(t){this.height+=this.y-t,this.y=t})),r.getset(a,"xMax",(function(){return this.x+this.width}),(function(t){this.width=t-this.x})),r.getset(a,"yMax",(function(){return this.y+this.height}),(function(t){this.height=t-this.y})),r.getset(a,"center",(function(){return new cc.Vec2(this.x+.5*this.width,this.y+.5*this.height)}),(function(t){this.x=t.x-.5*this.width,this.y=t.y-.5*this.height})),r.getset(a,"origin",(function(){return new cc.Vec2(this.x,this.y)}),(function(t){this.x=t.x,this.y=t.y})),r.getset(a,"size",(function(){return new cc.Size(this.width,this.height)}),(function(t){this.width=t.width,this.height=t.height})),cc.Rect=s,cc.rect=function(t,e,i,n){return new s(t,e,i,n)},e.exports=cc.Rect}),{"../platform/CCClass":160,"../platform/js":180,"./value-type":257}],256:[(function(t,e,i){var n=t("./value-type"),r=t("../platform/js");function s(t,e){t&&"object"==typeof t&&(e=t.height,t=t.width),this.width=t||0,this.height=e||0}r.extend(s,n),t("../platform/CCClass").fastDefine("cc.Size",s,{width:0,height:0}),r.get(s,"ZERO",(function(){return new s(0,0)}));var a=s.prototype;a.clone=function(){return new s(this.width,this.height)},a.equals=function(t){return t&&this.width===t.width&&this.height===t.height},a.lerp=function(t,e,i){i=i||new s;var n=this.width,r=this.height;return i.width=n+(t.width-n)*e,i.height=r+(t.height-r)*e,i},a.set=function(t){this.width=t.width,this.height=t.height},a.toString=function(){return"("+this.width.toFixed(2)+", "+this.height.toFixed(2)+")"},cc.size=function(t,e){return new s(t,e)},cc.Size=e.exports=s}),{"../platform/CCClass":160,"../platform/js":180,"./value-type":257}],257:[(function(t,e,i){var n=t("../platform/js");function r(){}n.setClassName("cc.ValueType",r);var s=r.prototype;s.toString=function(){return""+{}},cc.ValueType=e.exports=r}),{"../platform/js":180}],258:[(function(t,e,i){var n=t("./value-type"),r=t("../platform/js"),s=t("../platform/CCClass"),a=t("../renderer/render-engine").math,o=t("../utils/misc");function h(t,e){t&&"object"==typeof t&&(e=t.y,t=t.x),this.x=t||0,this.y=e||0}r.extend(h,n),s.fastDefine("cc.Vec2",h,{x:0,y:0});var l=h.prototype;l.clone=function(){return new h(this.x,this.y)},l.set=function(t){return this.x=t.x,this.y=t.y,this},l.equals=function(t){return t&&this.x===t.x&&this.y===t.y},l.fuzzyEquals=function(t,e){return this.x-e<=t.x&&t.x<=this.x+e&&this.y-e<=t.y&&t.y<=this.y+e},l.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+")"},l.lerp=function(t,e,i){i=i||new h;var n=this.x,r=this.y;return i.x=n+(t.x-n)*e,i.y=r+(t.y-r)*e,i},l.clampf=function(t,e){return this.x=o.clampf(this.x,t.x,e.x),this.y=o.clampf(this.y,t.y,e.y),this},l.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this},l.add=function(t,e){return(e=e||new h).x=this.x+t.x,e.y=this.y+t.y,e},l.subSelf=function(t){return this.x-=t.x,this.y-=t.y,this},l.sub=function(t,e){return(e=e||new h).x=this.x-t.x,e.y=this.y-t.y,e},l.mulSelf=function(t){return this.x*=t,this.y*=t,this},l.mul=function(t,e){return(e=e||new h).x=this.x*t,e.y=this.y*t,e},l.scaleSelf=function(t){return this.x*=t.x,this.y*=t.y,this},l.scale=function(t,e){return(e=e||new h).x=this.x*t.x,e.y=this.y*t.y,e},l.divSelf=function(t){return this.x/=t,this.y/=t,this},l.div=function(t,e){return(e=e||new h).x=this.x/t,e.y=this.y/t,e},l.negSelf=function(){return this.x=-this.x,this.y=-this.y,this},l.neg=function(t){return(t=t||new h).x=-this.x,t.y=-this.y,t},l.dot=function(t){return this.x*t.x+this.y*t.y},l.cross=function(t){return this.x*t.y-this.y*t.x},l.mag=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},l.magSqr=function(){return this.x*this.x+this.y*this.y},l.normalizeSelf=function(){var t=this.x*this.x+this.y*this.y;if(1===t)return this;if(0===t)return this;var e=1/Math.sqrt(t);return this.x*=e,this.y*=e,this},l.normalize=function(t){return(t=t||new h).x=this.x,t.y=this.y,t.normalizeSelf(),t},l.angle=function(t){var e=this.magSqr(),i=t.magSqr();if(0===e||0===i)return console.warn("Can't get angle between zero vector"),0;var n=this.dot(t)/Math.sqrt(e*i);return n=o.clampf(n,-1,1),Math.acos(n)},l.signAngle=function(t){var e=this.angle(t);return this.cross(t)<0?-e:e},l.rotate=function(t,e){return(e=e||new h).x=this.x,e.y=this.y,e.rotateSelf(t)},l.rotateSelf=function(t){var e=Math.sin(t),i=Math.cos(t),n=this.x;return this.x=i*n-e*this.y,this.y=e*n+i*this.y,this},l.project=function(t){return t.mul(this.dot(t)/t.dot(t))},l.transformMat4=function(t,e){e=e||new h,a.vec2.transformMat4(e,this,t)},r.get(h,"ONE",(function(){return new h(1,1)})),r.get(h,"ZERO",(function(){return new h(0,0)})),r.get(h,"UP",(function(){return new h(0,1)})),r.get(h,"RIGHT",(function(){return new h(1,0)})),cc.Vec2=h,cc.v2=function(t,e){return new h(t,e)},cc.p=cc.v2,e.exports=cc.Vec2}),{"../platform/CCClass":160,"../platform/js":180,"../renderer/render-engine":202,"../utils/misc":242,"./value-type":257}],259:[(function(t,e,i){var n=t("./value-type"),r=t("../platform/js"),s=t("../platform/CCClass"),a=t("../renderer/render-engine").math,o=t("../utils/misc");function h(t,e,i){t&&"object"==typeof t&&(i=t.z,e=t.y,t=t.x),this.x=t||0,this.y=e||0,this.z=i||0}r.extend(h,n),s.fastDefine("cc.Vec3",h,{x:0,y:0,z:0});var l=h.prototype;l.clone=function(){return new h(this.x,this.y,this.z)},l.set=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},l.equals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z},l.fuzzyEquals=function(t,e){return this.x-e<=t.x&&t.x<=this.x+e&&this.y-e<=t.y&&t.y<=this.y+e&&this.z-e<=t.z&&t.z<=this.z+e},l.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.z.toFixed(2)+")"},l.lerp=function(t,e,i){return i=i||new h,a.vec3.lerp(i,this,t,e),i},l.clampf=function(t,e){return this.x=o.clampf(this.x,t.x,e.x),this.y=o.clampf(this.y,t.y,e.y),this.z=o.clampf(this.z,t.z,e.z),this},l.addSelf=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},l.add=function(t,e){return(e=e||new h).x=this.x+t.x,e.y=this.y+t.y,e.z=this.z+t.z,e},l.subSelf=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},l.sub=function(t,e){return(e=e||new h).x=this.x-t.x,e.y=this.y-t.y,e.z=this.z-t.z,e},l.mulSelf=function(t){return this.x*=t,this.y*=t,this.z*=t,this},l.mul=function(t,e){return(e=e||new h).x=this.x*t,e.y=this.y*t,e.z=this.z*t,e},l.scaleSelf=function(t){return this.x*=t.x,this.y*=t.y,this.z*=t.z,this},l.scale=function(t,e){return(e=e||new h).x=this.x*t.x,e.y=this.y*t.y,e.z=this.z*t.z,e},l.divSelf=function(t){return this.x/=t,this.y/=t,this.z/=t,this},l.div=function(t,e){return(e=e||new h).x=this.x/t,e.y=this.y/t,e.z=this.z/t,e},l.negSelf=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},l.neg=function(t){return(t=t||new h).x=-this.x,t.y=-this.y,t.z=-this.z,t},l.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z},l.cross=function(t,e){return e=e||new h,a.vec3.cross(e,this,t),e},l.mag=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z)},l.magSqr=function(){return this.x*this.x+this.y*this.y+this.z*this.z},l.normalizeSelf=function(){return a.vec3.normalize(this,this),this},l.normalize=function(t){return t=t||new h,a.vec3.normalize(t,this),t},l.transformMat4=function(t,e){e=e||new h,a.vec3.transformMat4(e,this,t)},cc.v3=function(t,e,i){return new h(t,e,i)},e.exports=cc.Vec3=h}),{"../platform/CCClass":160,"../platform/js":180,"../renderer/render-engine":202,"../utils/misc":242,"./value-type":257}],260:[(function(t,e,i){cc.js}),{}],261:[(function(t,e,i){t("./core/CCGame"),t("./actions")}),{"./actions":7,"./core/CCGame":28}],262:[(function(t,e,i){var n=t("../compression/zlib.min"),r=t("../core/CCDebug"),s=function(t){var e,i,n,s,a,o,h,l,c,u,_,f,m;for(this.data=t,this.pos=8,this.palette=[],this.imgData=[],this.transparency={},this.animation=null,this.text={},a=null;;){switch(e=this.readUInt32(),l=function(){var t,e;for(e=[],t=0;t<4;++t)e.push(String.fromCharCode(this.data[this.pos++]));return e}.call(this).join("")){case"IHDR":this.width=this.readUInt32(),this.height=this.readUInt32(),this.bits=this.data[this.pos++],this.colorType=this.data[this.pos++],this.compressionMethod=this.data[this.pos++],this.filterMethod=this.data[this.pos++],this.interlaceMethod=this.data[this.pos++];break;case"acTL":this.animation={numFrames:this.readUInt32(),numPlays:this.readUInt32()||1/0,frames:[]};break;case"PLTE":this.palette=this.read(e);break;case"fcTL":a&&this.animation.frames.push(a),this.pos+=4,a={width:this.readUInt32(),height:this.readUInt32(),xOffset:this.readUInt32(),yOffset:this.readUInt32()},s=this.readUInt16(),n=this.readUInt16()||100,a.delay=1e3*s/n,a.disposeOp=this.data[this.pos++],a.blendOp=this.data[this.pos++],a.data=[];break;case"IDAT":case"fdAT":for("fdAT"===l&&(this.pos+=4,e-=4),t=(null!=a?a.data:void 0)||this.imgData,_=0;0<=e?_<e:_>e;0<=e?++_:--_)t.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:if(this.transparency.indexed=this.read(e),(c=255-this.transparency.indexed.length)>0)for(f=0;0<=c?f<c:f>c;0<=c?++f:--f)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(e)[0];break;case 2:this.transparency.rgb=this.read(e)}break;case"tEXt":o=(u=this.read(e)).indexOf(0),h=String.fromCharCode.apply(String,u.slice(0,o)),this.text[h]=String.fromCharCode.apply(String,u.slice(o+1));break;case"IEND":return a&&this.animation.frames.push(a),this.colors=function(){switch(this.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this),this.hasAlphaChannel=4===(m=this.colorType)||6===m,i=this.colors+(this.hasAlphaChannel?1:0),this.pixelBitlength=this.bits*i,this.colorSpace=function(){switch(this.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}.call(this),void(Uint8Array!=Array&&(this.imgData=new Uint8Array(this.imgData)));default:this.pos+=e}if(this.pos+=4,this.pos>this.data.length)throw new Error(r.getError(6017))}};s.prototype={constructor:s,read:function(t){var e,i;for(i=[],e=0;0<=t?e<t:e>t;0<=t?++e:--e)i.push(this.data[this.pos++]);return i},readUInt32:function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},readUInt16:function(){return this.data[this.pos++]<<8|this.data[this.pos++]},decodePixels:function(t){var e,i,s,a,o,h,l,c,u,_,f,m,d,p,y,v,g,x,A,b,C,S,T;if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);for(t=new n.Inflate(t,{index:0,verify:!1}).decompress(),v=(m=this.pixelBitlength/8)*this.width,d=new Uint8Array(v*this.height),h=t.length,y=0,p=0,i=0;p<h;){switch(t[p++]){case 0:for(a=A=0;A<v;a=A+=1)d[i++]=t[p++];break;case 1:for(a=b=0;b<v;a=b+=1)e=t[p++],o=a<m?0:d[i-m],d[i++]=(e+o)%256;break;case 2:for(a=C=0;C<v;a=C+=1)e=t[p++],s=(a-a%m)/m,g=y&&d[(y-1)*v+s*m+a%m],d[i++]=(g+e)%256;break;case 3:for(a=S=0;S<v;a=S+=1)e=t[p++],s=(a-a%m)/m,o=a<m?0:d[i-m],g=y&&d[(y-1)*v+s*m+a%m],d[i++]=(e+Math.floor((o+g)/2))%256;break;case 4:for(a=T=0;T<v;a=T+=1)e=t[p++],s=(a-a%m)/m,o=a<m?0:d[i-m],0===y?g=x=0:(g=d[(y-1)*v+s*m+a%m],x=s&&d[(y-1)*v+(s-1)*m+a%m]),l=o+g-x,c=Math.abs(l-o),_=Math.abs(l-g),f=Math.abs(l-x),u=c<=_&&c<=f?o:_<=f?g:x,d[i++]=(e+u)%256;break;default:throw new Error(r.getError(6018,t[p-1]))}y++}return d},copyToImageData:function(t,e){var i,n,r,s,a,o,h,l,c,u,_;if(n=this.colors,c=null,i=this.hasAlphaChannel,this.palette.length&&(c=null!=(_=this._decodedPalette)?_:this._decodedPalette=this.decodePalette(),n=4,i=!0),l=(r=t.data||t).length,a=c||e,s=o=0,1===n)for(;s<l;)h=c?4*e[s/4]:o,u=a[h++],r[s++]=u,r[s++]=u,r[s++]=u,r[s++]=i?a[h++]:255,o=h;else for(;s<l;)h=c?4*e[s/4]:o,r[s++]=a[h++],r[s++]=a[h++],r[s++]=a[h++],r[s++]=i?a[h++]:255,o=h},decodePalette:function(){var t,e,i,n,r,s,a,o,h;for(i=this.palette,s=this.transparency.indexed||[],r=new Uint8Array((s.length||0)+i.length),n=0,t=0,e=a=0,o=i.length;a<o;e=a+=3)r[n++]=i[e],r[n++]=i[e+1],r[n++]=i[e+2],r[n++]=null!=(h=s[t++])?h:255;return r},render:function(t){var e,i;return t.width=this.width,t.height=this.height,i=(e=t.getContext("2d")).createImageData(this.width,this.height),this.copyToImageData(i,this.decodePixels()),e.putImageData(i,0,0)}},e.exports=s}),{"../compression/zlib.min":25,"../core/CCDebug":26}],263:[(function(t,e,i){var n=t("../core/assets/CCAsset"),r=t("../core/assets/CCSpriteFrame"),s=cc.Class({name:"cc.ParticleAsset",extends:n,properties:{spriteFrame:{default:null,type:r}}});cc.ParticleAsset=e.exports=s}),{"../core/assets/CCAsset":33,"../core/assets/CCSpriteFrame":46}],264:[(function(t,e,i){var n=t("../core/platform/CCMacro"),r=t("./CCParticleAsset"),s=t("../core/components/CCRenderComponent"),a=t("../compression/ZipUtils"),o=t("./CCPNGReader"),h=t("./CCTIFFReader"),l=t("../core/utils/texture-util"),c=t("../core/renderer/render-engine"),u=t("../core/renderer/render-flow"),_=t("./particle-simulator"),f=c.gfx,m=n.BlendFactor;var d=cc.Enum({GRAVITY:0,RADIUS:1}),p=cc.Enum({FREE:0,RELATIVE:1,GROUPED:2}),y={preview:{default:!0,editorOnly:!0,notify:!1,animatable:!1,tooltip:!1},_custom:!1,custom:{get:function(){return this._custom},set:function(t){this._custom!==t&&(this._custom=t,this._applyFile())},animatable:!1,tooltip:!1},_file:{default:null,type:r},file:{get:function(){return this._file},set:function(t,e){this._file!==t&&(this._file=t,t?this._applyFile():this.custom=!0)},animatable:!1,type:r,tooltip:!1},_spriteFrame:{default:null,type:cc.SpriteFrame},spriteFrame:{get:function(){return this._spriteFrame},set:function(t,e){var i=this._renderSpriteFrame;i!==t&&(this._renderSpriteFrame=t,t&&!t._uuid||(this._spriteFrame=t),(i&&i.getTexture())!==(t&&t.getTexture())&&(this._texture=null,this._applySpriteFrame(i)))},type:cc.SpriteFrame,tooltip:!1},_texture:{default:null,type:cc.Texture2D,editorOnly:!0},texture:{get:function(){return this._texture},set:function(t){t&&cc.warnID(6017)},type:cc.Texture2D,tooltip:!1,readonly:!0,visible:!1,animatable:!1},_srcBlendFactor:m.SRC_ALPHA,_dstBlendFactor:m.ONE_MINUS_SRC_ALPHA,srcBlendFactor:{get:function(){return this._srcBlendFactor},set:function(t){this._srcBlendFactor!==t&&(this._srcBlendFactor=t,this._updateBlendFunc(!0))},animatable:!1,type:m,tooltip:!1},dstBlendFactor:{get:function(){return this._dstBlendFactor},set:function(t){this._dstBlendFactor!==t&&(this._dstBlendFactor=t,this._updateBlendFunc(!0))},animatable:!1,type:m,tooltip:!1},particleCount:{visible:!1,get:function(){return this._simulator.particles.length},readonly:!0},_stopped:!0,stopped:{get:function(){return this._stopped},animatable:!1,visible:!1},playOnLoad:!0,autoRemoveOnFinish:{default:!1,animatable:!1,tooltip:!1},active:{get:function(){return this._simulator.active},visible:!1},totalParticles:150,duration:-1,emissionRate:10,life:1,lifeVar:0,_startColor:null,startColor:{type:cc.Color,get:function(){return this._startColor},set:function(t){this._startColor.r=t.r,this._startColor.g=t.g,this._startColor.b=t.b,this._startColor.a=t.a}},_startColorVar:null,startColorVar:{type:cc.Color,get:function(){return this._startColorVar},set:function(t){this._startColorVar.r=t.r,this._startColorVar.g=t.g,this._startColorVar.b=t.b,this._startColorVar.a=t.a}},_endColor:null,endColor:{type:cc.Color,get:function(){return this._endColor},set:function(t){this._endColor.r=t.r,this._endColor.g=t.g,this._endColor.b=t.b,this._endColor.a=t.a}},_endColorVar:null,endColorVar:{type:cc.Color,get:function(){return this._endColorVar},set:function(t){this._endColorVar.r=t.r,this._endColorVar.g=t.g,this._endColorVar.b=t.b,this._endColorVar.a=t.a}},angle:90,angleVar:20,startSize:50,startSizeVar:0,endSize:0,endSizeVar:0,startSpin:0,startSpinVar:0,endSpin:0,endSpinVar:0,sourcePos:cc.Vec2.ZERO,posVar:cc.Vec2.ZERO,positionType:{default:p.FREE,type:p},emitterMode:{default:d.GRAVITY,type:d},gravity:cc.Vec2.ZERO,speed:180,speedVar:50,tangentialAccel:80,tangentialAccelVar:0,radialAccel:0,radialAccelVar:0,rotationIsDir:!1,startRadius:0,startRadiusVar:0,endRadius:0,endRadiusVar:0,rotatePerS:0,rotatePerSVar:0},v=cc.Class({name:"cc.ParticleSystem",extends:s,editor:!1,ctor:function(){this._previewTimer=null,this._focused=!1,this._simulator=new _(this),this._startColor=cc.color(255,255,255,255),this._startColorVar=cc.color(0,0,0,0),this._endColor=cc.color(255,255,255,0),this._endColorVar=cc.color(0,0,0,0),this._renderSpriteFrame=null},properties:y,statics:{DURATION_INFINITY:-1,START_SIZE_EQUAL_TO_END_SIZE:-1,START_RADIUS_EQUAL_TO_END_RADIUS:-1,EmitterMode:d,PositionType:p,_PNGReader:o,_TIFFReader:h},onFocusInEditor:!1,onLostFocusInEditor:!1,_convertTextureToSpriteFrame:!1,__preload:function(){this._file?this._custom?!this._texture&&this._applyFile():this._applyFile():this._custom&&this.spriteFrame&&!this._renderSpriteFrame&&this._applySpriteFrame(this.spriteFrame);this.playOnLoad&&this.resetSystem()},onLoad:function(){this._ia||v._assembler.createIA(this)},onEnable:function(){this._super(),this.node._renderFlag&=~u.FLAG_RENDER,this._activateMaterial()},onDestroy:function(){this.autoRemoveOnFinish&&(this.autoRemoveOnFinish=!1),this._super()},lateUpdate:function(t){!this._simulator.finished&&this._material&&this._simulator.step(t)},addParticle:function(){},stopSystem:function(){this._stopped=!0,this._simulator.stop()},resetSystem:function(){this._stopped=!1,this._simulator.reset(),this._activateMaterial()},isFull:function(){return this.particleCount>=this.totalParticles},setTextureWithRect:function(t,e){t instanceof cc.Texture2D&&(this.spriteFrame=new cc.SpriteFrame(t,e))},_applyFile:function(){var t=this._file;if(t){var e=this;cc.loader.load(t.nativeUrl,(function(i,n){!i&&n?e.isValid&&(e._plistFile=t.nativeUrl,e._custom||e._initWithDictionary(n),e._spriteFrame?!e._renderSpriteFrame&&e._spriteFrame&&e._applySpriteFrame(e.spriteFrame):t.spriteFrame?e.spriteFrame=t.spriteFrame:e._custom&&e._initTextureWithDictionary(n)):cc.errorID(6029)}))}},_initTextureWithDictionary:function(t){var e=cc.path.changeBasename(this._plistFile,t.textureFileName||"");if(t.textureFileName)l.loadImage(e,(function(e,i){e?(t.textureFileName=void 0,this._initTextureWithDictionary(t)):this.spriteFrame=new cc.SpriteFrame(i)}),this);else if(t.textureImageData){var i=t.textureImageData;if(!(i&&i.length>0))return!1;var r=cc.loader.getRes(e);if(!r){var s=a.unzipBase64AsArray(i,1);if(!s)return cc.logID(6030),!1;var c=(function(t){return t.length>8&&137===t[0]&&80===t[1]&&78===t[2]&&71===t[3]&&13===t[4]&&10===t[5]&&26===t[6]&&10===t[7]?n.ImageFormat.PNG:t.length>2&&(73===t[0]&&73===t[1]||77===t[0]&&77===t[1]||255===t[0]&&216===t[1])?n.ImageFormat.TIFF:n.ImageFormat.UNKNOWN})(s);if(c!==n.ImageFormat.TIFF&&c!==n.ImageFormat.PNG)return cc.logID(6031),!1;var u=document.createElement("canvas");if(c===n.ImageFormat.PNG)new o(s).render(u);else h.parseTIFF(s,u);r=l.cacheImage(e,u)}r||cc.logID(6032),this.spriteFrame=new cc.SpriteFrame(r)}return!0},_initWithDictionary:function(t){this.totalParticles=parseInt(t.maxParticles||0),this.life=parseFloat(t.particleLifespan||0),this.lifeVar=parseFloat(t.particleLifespanVariance||0);var e=t.emissionRate;this.emissionRate=e||Math.min(this.totalParticles/this.life,Number.MAX_VALUE),this.duration=parseFloat(t.duration||0),this.srcBlendFactor=parseInt(t.blendFuncSource||n.SRC_ALPHA),this.dstBlendFactor=parseInt(t.blendFuncDestination||n.ONE_MINUS_SRC_ALPHA);var i=this._startColor;i.r=255*parseFloat(t.startColorRed||0),i.g=255*parseFloat(t.startColorGreen||0),i.b=255*parseFloat(t.startColorBlue||0),i.a=255*parseFloat(t.startColorAlpha||0);var r=this._startColorVar;r.r=255*parseFloat(t.startColorVarianceRed||0),r.g=255*parseFloat(t.startColorVarianceGreen||0),r.b=255*parseFloat(t.startColorVarianceBlue||0),r.a=255*parseFloat(t.startColorVarianceAlpha||0);var s=this._endColor;s.r=255*parseFloat(t.finishColorRed||0),s.g=255*parseFloat(t.finishColorGreen||0),s.b=255*parseFloat(t.finishColorBlue||0),s.a=255*parseFloat(t.finishColorAlpha||0);var a=this._endColorVar;if(a.r=255*parseFloat(t.finishColorVarianceRed||0),a.g=255*parseFloat(t.finishColorVarianceGreen||0),a.b=255*parseFloat(t.finishColorVarianceBlue||0),a.a=255*parseFloat(t.finishColorVarianceAlpha||0),this.startSize=parseFloat(t.startParticleSize||0),this.startSizeVar=parseFloat(t.startParticleSizeVariance||0),this.endSize=parseFloat(t.finishParticleSize||0),this.endSizeVar=parseFloat(t.finishParticleSizeVariance||0),this.sourcePos.x=0,this.sourcePos.y=0,this.posVar.x=parseFloat(t.sourcePositionVariancex||0),this.posVar.y=parseFloat(t.sourcePositionVariancey||0),this.angle=parseFloat(t.angle||0),this.angleVar=parseFloat(t.angleVariance||0),this.startSpin=parseFloat(t.rotationStart||0),this.startSpinVar=parseFloat(t.rotationStartVariance||0),this.endSpin=parseFloat(t.rotationEnd||0),this.endSpinVar=parseFloat(t.rotationEndVariance||0),this.emitterMode=parseInt(t.emitterType||d.GRAVITY),this.emitterMode===d.GRAVITY){this.gravity.x=parseFloat(t.gravityx||0),this.gravity.y=parseFloat(t.gravityy||0),this.speed=parseFloat(t.speed||0),this.speedVar=parseFloat(t.speedVariance||0),this.radialAccel=parseFloat(t.radialAcceleration||0),this.radialAccelVar=parseFloat(t.radialAccelVariance||0),this.tangentialAccel=parseFloat(t.tangentialAcceleration||0),this.tangentialAccelVar=parseFloat(t.tangentialAccelVariance||0);var o=t.rotationIsDir||"";null!==o?(o=o.toString().toLowerCase(),this.rotationIsDir="true"===o||"1"===o):this.rotationIsDir=!1}else{if(this.emitterMode!==d.RADIUS)return cc.warnID(6009),!1;this.startRadius=parseFloat(t.maxRadius||0),this.startRadiusVar=parseFloat(t.maxRadiusVariance||0),this.endRadius=parseFloat(t.minRadius||0),this.endRadiusVar=parseFloat(t.minRadiusVariance||0),this.rotatePerS=parseFloat(t.rotatePerSecond||0),this.rotatePerSVar=parseFloat(t.rotatePerSecondVariance||0)}return this._initTextureWithDictionary(t),!0},_onTextureLoaded:function(){this._texture=this._renderSpriteFrame.getTexture(),this._simulator.updateUVs(!0),this._activateMaterial()},_applySpriteFrame:function(t){t&&t.off&&t.off("load",this._onTextureLoaded,this);var e=this._renderSpriteFrame=this._renderSpriteFrame||this._spriteFrame;e&&(e.textureLoaded()?this._onTextureLoaded(null):(e.once("load",this._onTextureLoaded,this),e.ensureLoadTexture()))},_updateMaterial:function(t){this._material=t,this._updateBlendFunc(),t.updateHash()},_updateBlendFunc:function(t){this._material&&(this._material._mainTech.passes[0].setBlend(f.BLEND_FUNC_ADD,this._srcBlendFactor,this._dstBlendFactor,f.BLEND_FUNC_ADD,this._srcBlendFactor,this._dstBlendFactor),t&&this._material.updateHash())},_activateMaterial:function(){this._material||(this._material=new c.SpriteMaterial,this._material.useTexture=!0,this._material.useModel=!0,this._material.useColor=!1),this._texture&&this._texture.loaded?(this.markForUpdateRenderData(!0),this.markForCustomIARender(!0),this._material.texture=this._texture,this._updateMaterial(this._material)):(this.markForCustomIARender(!1),this._renderSpriteFrame&&this._applySpriteFrame())},_finishedSimulation:function(){this.disableRender(),this.autoRemoveOnFinish&&this._stopped&&this.node.destroy()}});cc.ParticleSystem=e.exports=v}),{"../compression/ZipUtils":22,"../core/components/CCRenderComponent":77,"../core/platform/CCMacro":165,"../core/renderer/render-engine":202,"../core/renderer/render-flow":203,"../core/utils/texture-util":250,"./CCPNGReader":262,"./CCParticleAsset":263,"./CCTIFFReader":265,"./particle-simulator":267,"fire-url":void 0}],265:[(function(t,e,i){var n=t("../core/CCDebug"),r={_littleEndian:!1,_tiffData:null,_fileDirectories:[],getUint8:function(t){return this._tiffData[t]},getUint16:function(t){return this._littleEndian?this._tiffData[t+1]<<8|this._tiffData[t]:this._tiffData[t]<<8|this._tiffData[t+1]},getUint32:function(t){var e=this._tiffData;return this._littleEndian?e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]:e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]},checkLittleEndian:function(){var t=this.getUint16(0);if(18761===t)this.littleEndian=!0;else{if(19789!==t)throw console.log(t),TypeError(n.getError(6019));this.littleEndian=!1}return this.littleEndian},hasTowel:function(){if(42!==this.getUint16(2))throw RangeError(n.getError(6020));return!0},getFieldTypeName:function(t){var e=this.fieldTypeNames;return t in e?e[t]:null},getFieldTagName:function(t){var e=this.fieldTagNames;return t in e?e[t]:(cc.logID(6021,t),"Tag"+t)},getFieldTypeLength:function(t){return-1!==["BYTE","ASCII","SBYTE","UNDEFINED"].indexOf(t)?1:-1!==["SHORT","SSHORT"].indexOf(t)?2:-1!==["LONG","SLONG","FLOAT"].indexOf(t)?4:-1!==["RATIONAL","SRATIONAL","DOUBLE"].indexOf(t)?8:null},getFieldValues:function(t,e,i,n){var r=[],s=this.getFieldTypeLength(e);if(s*i<=4)!1===this.littleEndian?r.push(n>>>8*(4-s)):r.push(n);else for(var a=0;a<i;a++){var o=s*a;s>=8?-1!==["RATIONAL","SRATIONAL"].indexOf(e)?(r.push(this.getUint32(n+o)),r.push(this.getUint32(n+o+4))):cc.logID(8e3):r.push(this.getBytes(s,n+o))}return"ASCII"===e&&r.forEach((function(t,e,i){i[e]=String.fromCharCode(t)})),r},getBytes:function(t,e){if(t<=0)cc.logID(8001);else{if(t<=1)return this.getUint8(e);if(t<=2)return this.getUint16(e);if(t<=3)return this.getUint32(e)>>>8;if(t<=4)return this.getUint32(e);cc.logID(8002)}},getBits:function(t,e,i){i=i||0;var n,r,s=e+Math.floor(i/8),a=i+t,o=32-t;return a<=0?cc.logID(6023):a<=8?(n=24+i,r=this.getUint8(s)):a<=16?(n=16+i,r=this.getUint16(s)):a<=32?(n=i,r=this.getUint32(s)):cc.logID(6022),{bits:r<<n>>>o,byteOffset:s+Math.floor(a/8),bitOffset:a%8}},parseFileDirectory:function(t){for(var e=this.getUint16(t),i=[],n=t+2,r=0;r<e;n+=12,r++){var s=this.getUint16(n),a=this.getUint16(n+2),o=this.getUint32(n+4),h=this.getUint32(n+8),l=this.getFieldTagName(s),c=this.getFieldTypeName(a),u=this.getFieldValues(l,c,o,h);i[l]={type:c,values:u}}this._fileDirectories.push(i);var _=this.getUint32(n);0!==_&&this.parseFileDirectory(_)},clampColorSample:function(t,e){var i=Math.pow(2,8-e);return Math.floor(t*i+(i-1))},parseTIFF:function(t,e){if(e=e||document.createElement("canvas"),this._tiffData=t,this.canvas=e,this.checkLittleEndian(),this.hasTowel()){var i=this.getUint32(4);this._fileDirectories.length=0,this.parseFileDirectory(i);var r=this._fileDirectories[0],s=r.ImageWidth.values[0],a=r.ImageLength.values[0];this.canvas.width=s,this.canvas.height=a;var o=[],h=r.Compression?r.Compression.values[0]:1,l=r.SamplesPerPixel.values[0],c=[],u=0,_=!1;if(r.BitsPerSample.values.forEach((function(t,e,i){c[e]={bitsPerSample:t,hasBytesPerSample:!1,bytesPerSample:void 0},t%8==0&&(c[e].hasBytesPerSample=!0,c[e].bytesPerSample=t/8),u+=t}),this),u%8==0){_=!0;var f=u/8}var m=r.StripOffsets.values,d=m.length;if(r.StripByteCounts)var p=r.StripByteCounts.values;else{if(cc.logID(8003),1!==d)throw Error(n.getError(6024));p=[Math.ceil(s*a*u/8)]}for(var y=0;y<d;y++){var v=m[y];o[y]=[];for(var g=p[y],x=0,A=0,b=1,C=!0,S=[],T=0,w=0,E=0;x<g;x+=b)switch(h){case 1:var D=0;for(S=[];D<l;D++){if(!c[D].hasBytesPerSample){var M=this.getBits(c[D].bitsPerSample,v+x,A);throw S.push(M.bits),x=M.byteOffset-v,A=M.bitOffset,RangeError(n.getError(6025))}var B=c[D].bytesPerSample*D;S.push(this.getBytes(c[D].bytesPerSample,v+x+B))}if(o[y].push(S),!_)throw b=0,RangeError(n.getError(6026));b=f;break;case 2:case 3:case 4:case 5:case 6:case 7:break;case 32773:if(C){C=!1;var P=1,I=1,R=this.getInt8(v+x);R>=0&&R<=127?P=R+1:R>=-127&&R<=-1?I=1-R:C=!0}else{var O=this.getUint8(v+x);for(D=0;D<I;D++){if(!c[w].hasBytesPerSample)throw RangeError(n.getError(6025));E=E<<8*T|O,++T===c[w].bytesPerSample&&(S.push(E),E=T=0,w++),w===l&&(o[y].push(S),S=[],w=0)}0===--P&&(C=!0)}b=1}}if(e.getContext){var L=this.canvas.getContext("2d");L.fillStyle="rgba(255, 255, 255, 0)";var F=r.RowsPerStrip?r.RowsPerStrip.values[0]:a,V=o.length,N=a%F,k=0===N?F:N,G=F,z=0,U=r.PhotometricInterpretation.values[0],j=[],W=0;if(r.ExtraSamples&&(W=(j=r.ExtraSamples.values).length),r.ColorMap)var H=r.ColorMap.values,X=Math.pow(2,c[0].bitsPerSample);for(y=0;y<V;y++){y+1===V&&(G=k);for(var Y=o[y].length,q=z*y,J=0,Z=0;Z<Y;J++)for(var K=0;K<s;K++,Z++){var Q=o[y][Z],$=0,tt=0,et=0,it=1;if(W>0)for(var nt=0;nt<W;nt++)if(1===j[nt]||2===j[nt]){it=Q[3+nt]/256;break}switch(U){case 0:if(c[0].hasBytesPerSample)var rt=Math.pow(16,2*c[0].bytesPerSample);Q.forEach((function(t,e,i){i[e]=rt-t}));case 1:$=tt=et=this.clampColorSample(Q[0],c[0].bitsPerSample);break;case 2:$=this.clampColorSample(Q[0],c[0].bitsPerSample),tt=this.clampColorSample(Q[1],c[1].bitsPerSample),et=this.clampColorSample(Q[2],c[2].bitsPerSample);break;case 3:if(void 0===H)throw Error(n.getError(6027));var st=Q[0];$=this.clampColorSample(H[st],16),tt=this.clampColorSample(H[X+st],16),et=this.clampColorSample(H[2*X+st],16);break;default:throw RangeError(n.getError(6028,U))}L.fillStyle="rgba("+$+", "+tt+", "+et+", "+it+")",L.fillRect(K,q+J,1,1)}z=G}}return this.canvas}},fieldTagNames:{315:"Artist",258:"BitsPerSample",265:"CellLength",264:"CellWidth",320:"ColorMap",259:"Compression",33432:"Copyright",306:"DateTime",338:"ExtraSamples",266:"FillOrder",289:"FreeByteCounts",288:"FreeOffsets",291:"GrayResponseCurve",290:"GrayResponseUnit",316:"HostComputer",270:"ImageDescription",257:"ImageLength",256:"ImageWidth",271:"Make",281:"MaxSampleValue",280:"MinSampleValue",272:"Model",254:"NewSubfileType",274:"Orientation",262:"PhotometricInterpretation",284:"PlanarConfiguration",296:"ResolutionUnit",278:"RowsPerStrip",277:"SamplesPerPixel",305:"Software",279:"StripByteCounts",273:"StripOffsets",255:"SubfileType",263:"Threshholding",282:"XResolution",283:"YResolution",326:"BadFaxLines",327:"CleanFaxData",343:"ClipPath",328:"ConsecutiveBadFaxLines",433:"Decode",434:"DefaultImageColor",269:"DocumentName",336:"DotRange",321:"HalftoneHints",346:"Indexed",347:"JPEGTables",285:"PageName",297:"PageNumber",317:"Predictor",319:"PrimaryChromaticities",532:"ReferenceBlackWhite",339:"SampleFormat",559:"StripRowCounts",330:"SubIFDs",292:"T4Options",293:"T6Options",325:"TileByteCounts",323:"TileLength",324:"TileOffsets",322:"TileWidth",301:"TransferFunction",318:"WhitePoint",344:"XClipPathUnits",286:"XPosition",529:"YCbCrCoefficients",531:"YCbCrPositioning",530:"YCbCrSubSampling",345:"YClipPathUnits",287:"YPosition",37378:"ApertureValue",40961:"ColorSpace",36868:"DateTimeDigitized",36867:"DateTimeOriginal",34665:"Exif IFD",36864:"ExifVersion",33434:"ExposureTime",41728:"FileSource",37385:"Flash",40960:"FlashpixVersion",33437:"FNumber",42016:"ImageUniqueID",37384:"LightSource",37500:"MakerNote",37377:"ShutterSpeedValue",37510:"UserComment",33723:"IPTC",34675:"ICC Profile",700:"XMP",42112:"GDAL_METADATA",42113:"GDAL_NODATA",34377:"Photoshop"},fieldTypeNames:{1:"BYTE",2:"ASCII",3:"SHORT",4:"LONG",5:"RATIONAL",6:"SBYTE",7:"UNDEFINED",8:"SSHORT",9:"SLONG",10:"SRATIONAL",11:"FLOAT",12:"DOUBLE"}};e.exports=r}),{"../core/CCDebug":26}],266:[(function(t,e,i){t("./CCParticleAsset"),t("./CCParticleSystem"),t("./particle-simulator"),t("./particle-system-assembler")}),{"./CCParticleAsset":263,"./CCParticleSystem":264,"./particle-simulator":267,"./particle-system-assembler":268}],267:[(function(t,e,i){var n=t("../core/utils/affine-transform"),r=t("../core/platform/js"),s=t("../core/utils/misc"),a=cc.v2(0,0),o=n.create(),h=cc.v2(),l=cc.v2(),c=cc.v2(),u=cc.v2(),_=new r.Pool(function(t){t.pos.set(a),t.startPos.set(a),t.color._val=4278190080,t.deltaColor.r=t.deltaColor.g=t.deltaColor.b=0,t.deltaColor.a=255,t.size=0,t.deltaSize=0,t.rotation=0,t.deltaRotation=0,t.timeToLive=0,t.drawPos.set(a),t.dir.set(a),t.radialAccel=0,t.tangentialAccel=0,t.angle=0,t.degreesPerSecond=0,t.radius=0,t.deltaRadius=0},1024);_.get=function(){return this._get()||new function(){this.pos=cc.v2(0,0),this.startPos=cc.v2(0,0),this.color=cc.color(0,0,0,255),this.deltaColor={r:0,g:0,b:0,a:255},this.size=0,this.deltaSize=0,this.rotation=0,this.deltaRotation=0,this.timeToLive=0,this.drawPos=cc.v2(0,0),this.dir=cc.v2(0,0),this.radialAccel=0,this.tangentialAccel=0,this.angle=0,this.degreesPerSecond=0,this.radius=0,this.deltaRadius=0}};var f=function(t){this.sys=t,this.particles=[],this.active=!1,this.finished=!1,this.elapsed=0,this.emitCounter=0,this._uvFilled=0};f.prototype.stop=function(){this.active=!1,this.elapsed=this.sys.duration,this.emitCounter=0},f.prototype.reset=function(){this.active=!0,this.elapsed=0,this.emitCounter=0,this.finished=!1;for(var t=this.particles,e=0;e<t.length;++e)_.put(t[e]);t.length=0},f.prototype.emitParticle=function(t){var e=this.sys,i=s.clampf,n=_.get();this.particles.push(n),n.timeToLive=e.life+e.lifeVar*(Math.random()-.5)*2;var r=n.timeToLive=Math.max(0,n.timeToLive);n.pos.x=e.sourcePos.x+e.posVar.x*(Math.random()-.5)*2,n.pos.y=e.sourcePos.y+e.posVar.y*(Math.random()-.5)*2;var a,o,h,l,c=e._startColor,u=e._startColorVar,f=e._endColor,m=e._endColorVar;n.color.r=a=i(c.r+u.r*(Math.random()-.5)*2,0,255),n.color.g=o=i(c.g+u.g*(Math.random()-.5)*2,0,255),n.color.b=h=i(c.b+u.b*(Math.random()-.5)*2,0,255),n.color.a=l=i(c.a+u.a*(Math.random()-.5)*2,0,255),n.deltaColor.r=(i(f.r+m.r*(Math.random()-.5)*2,0,255)-a)/r,n.deltaColor.g=(i(f.g+m.g*(Math.random()-.5)*2,0,255)-o)/r,n.deltaColor.b=(i(f.b+m.b*(Math.random()-.5)*2,0,255)-h)/r,n.deltaColor.a=(i(f.a+m.a*(Math.random()-.5)*2,0,255)-l)/r;var d=e.startSize+e.startSizeVar*(Math.random()-.5)*2;if(d=Math.max(0,d),n.size=d,e.endSize===cc.ParticleSystem.START_SIZE_EQUAL_TO_END_SIZE)n.deltaSize=0;else{var p=e.endSize+e.endSizeVar*(Math.random()-.5)*2;p=Math.max(0,p),n.deltaSize=(p-d)/r}var y=e.startSpin+e.startSpinVar*(Math.random()-.5)*2,v=e.endSpin+e.endSpinVar*(Math.random()-.5)*2;n.rotation=y,n.deltaRotation=(v-y)/r,n.startPos.x=t.x,n.startPos.y=t.y;var g=s.degreesToRadians(e.angle+e.angleVar*(Math.random()-.5)*2);if(e.emitterMode===cc.ParticleSystem.EmitterMode.GRAVITY){var x=e.speed+e.speedVar*(Math.random()-.5)*2;n.dir.x=Math.cos(g),n.dir.y=Math.sin(g),n.dir.mulSelf(x),n.radialAccel=e.radialAccel+e.radialAccelVar*(Math.random()-.5)*2,n.tangentialAccel=e.tangentialAccel+e.tangentialAccelVar*(Math.random()-.5)*2,e.rotationIsDir&&(n.rotation=-s.radiansToDegrees(Math.atan2(n.dir.y,n.dir.x)))}else{var A=e.startRadius+e.startRadiusVar*(Math.random()-.5)*2,b=e.endRadius+e.endRadiusVar*(Math.random()-.5)*2;n.radius=A,n.deltaRadius=e.endRadius===cc.ParticleSystem.START_RADIUS_EQUAL_TO_END_RADIUS?0:(b-A)/r,n.angle=g,n.degreesPerSecond=s.degreesToRadians(e.rotatePerS+e.rotatePerSVar*(Math.random()-.5)*2)}},f.prototype.updateUVs=function(t){var e=this.particles.length;if(this.sys._buffer&&this.sys._renderSpriteFrame){for(var i=4*this.sys._vertexFormat._bytes/4,n=this.sys._buffer._vData,r=this.sys._renderSpriteFrame.uv,s=t?0:this._uvFilled;s<e;s++){var a=s*i;n[a+2]=r[0],n[a+3]=r[1],n[a+7]=r[2],n[a+8]=r[3],n[a+12]=r[4],n[a+13]=r[5],n[a+17]=r[6],n[a+18]=r[7]}this._uvFilled=e}},f.prototype.updateParticleBuffer=function(t,e,i,n){var r=i._vData,a=i._uintVData,o=e.x,h=e.y,l=t.size/2;if(t.rotation){var c=-l,u=-l,_=l,f=l,m=-s.degreesToRadians(t.rotation),d=Math.cos(m),p=Math.sin(m);r[n]=c*d-u*p+o,r[n+1]=c*p+u*d+h,r[n+5]=_*d-u*p+o,r[n+6]=_*p+u*d+h,r[n+10]=c*d-f*p+o,r[n+11]=c*p+f*d+h,r[n+15]=_*d-f*p+o,r[n+16]=_*p+f*d+h}else r[n]=o-l,r[n+1]=h-l,r[n+5]=o+l,r[n+6]=h-l,r[n+10]=o-l,r[n+11]=h+l,r[n+15]=o+l,r[n+16]=h+l;a[n+4]=t.color._val,a[n+9]=t.color._val,a[n+14]=t.color._val,a[n+19]=t.color._val},f.prototype.step=function(t){var e=this.sys,i=e.node,r=this.particles,s=4*e._vertexFormat._bytes/4;i._updateWorldMatrix(),n.fromMat4(o,i._worldMatrix),e.positionType===cc.ParticleSystem.PositionType.FREE?n.transformVec2(h,a,o):e.positionType===cc.ParticleSystem.PositionType.RELATIVE&&(h.x=i._position.x,h.y=i._position.y),n.invert(o,o);var f=o;if(this.active&&e.emissionRate){var m=1/e.emissionRate;for(r.length<e.totalParticles&&(this.emitCounter+=t);r.length<e.totalParticles&&this.emitCounter>m;)this.emitParticle(h),this.emitCounter-=m;this.elapsed+=t,-1!==e.duration&&e.duration<this.elapsed&&e.stopSystem()}var d=e._buffer,p=r.length;d.reset(),d.request(4*p,6*p),p>this._uvFilled&&this.updateUVs();for(var y=0;y<r.length;){l.x=l.y=c.x=c.y=u.x=u.y=0;var v=r[y];if(v.timeToLive-=t,v.timeToLive>0){if(e.emitterMode===cc.ParticleSystem.EmitterMode.GRAVITY){var g=u,x=l,A=c;(v.pos.x||v.pos.y)&&(x.set(v.pos),x.normalizeSelf()),A.set(x),x.mulSelf(v.radialAccel);var b=A.x;A.x=-A.y,A.y=b,A.mulSelf(v.tangentialAccel),g.set(x),g.addSelf(A),g.addSelf(e.gravity),g.mulSelf(t),v.dir.addSelf(g),g.set(v.dir),g.mulSelf(t),v.pos.addSelf(g)}else v.angle+=v.degreesPerSecond*t,v.radius+=v.deltaRadius*t,v.pos.x=-Math.cos(v.angle)*v.radius,v.pos.y=-Math.sin(v.angle)*v.radius;v.color.r+=v.deltaColor.r*t,v.color.g+=v.deltaColor.g*t,v.color.b+=v.deltaColor.b*t,v.color.a+=v.deltaColor.a*t,v.size+=v.deltaSize*t,v.size<0&&(v.size=0),v.rotation+=v.deltaRotation*t;var C=l;if(e.positionType===cc.ParticleSystem.PositionType.FREE||e.positionType===cc.ParticleSystem.PositionType.RELATIVE){var S=c,T=u;n.transformVec2(S,h,f),n.transformVec2(T,v.startPos,f),S.subSelf(T),C.set(v.pos),C.subSelf(S)}else C.set(v.pos);var w=s*y;this.updateParticleBuffer(v,C,d,w),++y}else{var E=r[y];y!==r.length-1&&(r[y]=r[r.length-1]),_.put(E),r.length--}}r.length>0?(d.uploadData(),e._ia._count=6*r.length):this.active||(this.finished=!0,e._finishedSimulation())},e.exports=f}),{"../core/platform/js":180,"../core/utils/affine-transform":234,"../core/utils/misc":242}],268:[(function(t,e,i){var n=t("./CCParticleSystem"),r=t("../core/renderer/"),s=t("../core/renderer/render-engine"),a=t("../core/renderer/webgl/vertex-format").vfmtPosUvColor,o=t("../core/renderer/webgl/quad-buffer"),h={useModel:!0,createIA:function(t){r.device;t._vertexFormat=a,t._buffer=new o(r._handle,a),t._ia=new s.InputAssembler,t._ia._vertexBuffer=t._buffer._vb,t._ia._indexBuffer=t._buffer._ib,t._ia._start=0,t._ia._count=0},updateRenderData:function(t){t._renderData||(t._renderData=new s.IARenderData,t._renderData.ia=t._ia),t._renderData.material=t._material},renderIA:function(t,e){e._flushIA(t._renderData)}};n._assembler=h,e.exports=h}),{"../core/renderer/":201,"../core/renderer/render-engine":202,"../core/renderer/webgl/quad-buffer":229,"../core/renderer/webgl/vertex-format":232,"./CCParticleSystem":264}],269:[(function(t,e,i){"use strict";var n=t("../compression/ZipUtils"),r=t("../compression/zlib.min"),s=t("../core/platform/js");function a(t,e){for(var i=[],n=t.getElementsByTagName("properties"),r=0;r<n.length;++r)for(var s=n[r].getElementsByTagName("property"),a=0;a<s.length;++a)i.push(s[a]);e=e||{};for(var o=0;o<i.length;o++){var h=i[o],l=h.getAttribute("name"),c=h.getAttribute("type")||"string",u=h.getAttribute("value");if("int"===c)u=parseInt(u);else if("float"===c)u=parseFloat(u);else if("bool"===c)u="true"===u;else if("color"===c){u=0===u.indexOf("#")?u.substring(1):u;var _=parseInt(u.substr(0,2),16)||255,f=parseInt(u.substr(2,2),16)||0,m=parseInt(u.substr(4,2),16)||0,d=parseInt(u.substr(6,2),16)||0;u=cc.color(f,m,d,_)}e[l]=u}return e}t("../core/platform/CCSAXParser"),cc.TMXLayerInfo=function(){this.properties={},this.name="",this._layerSize=null,this._tiles=[],this.visible=!0,this._opacity=0,this.ownTiles=!0,this._minGID=1e5,this._maxGID=0,this.offset=cc.v2(0,0)},cc.TMXLayerInfo.prototype={constructor:cc.TMXLayerInfo,getProperties:function(){return this.properties},setProperties:function(t){this.properties=t}},cc.TMXObjectGroupInfo=function(){this.properties={},this.name="",this._objects=[],this.visible=!0,this._opacity=0,this._color=new cc.Color(255,255,255,255),this.offset=cc.v2(0,0),this._draworder="topdown"},cc.TMXObjectGroupInfo.prototype={constructor:cc.TMXObjectGroupInfo,getProperties:function(){return this.properties},setProperties:function(t){this.properties=t}},cc.TMXTilesetInfo=function(){this.name="",this.firstGid=0,this.spacing=0,this.margin=0,this.sourceImage=null,this.imageSize=cc.size(0,0),this.tileOffset=cc.v2(0,0),this._tileSize=cc.size(0,0)},cc.TMXTilesetInfo.prototype={constructor:cc.TMXTilesetInfo,rectForGID:function(t,e){var i=e||cc.rect(0,0,0,0);i.width=this._tileSize.width,i.height=this._tileSize.height,t&=cc.TiledMap.TileFlag.FLIPPED_MASK,t-=parseInt(this.firstGid,10);var n=parseInt((this.imageSize.width-2*this.margin+this.spacing)/(this._tileSize.width+this.spacing),10);return i.x=parseInt(t%n*(this._tileSize.width+this.spacing)+this.margin,10),i.y=parseInt(parseInt(t/n,10)*(this._tileSize.height+this.spacing)+this.margin,10),i}},cc.TMXMapInfo=function(t,e,i){this.properties=[],this.orientation=null,this.parentElement=null,this.parentGID=null,this.layerAttrs=0,this.storingCharacters=!1,this.currentString=null,this._parser=new cc.SAXParser,this._objectGroups=[],this._allChildren=[],this._mapSize=cc.size(0,0),this._tileSize=cc.size(0,0),this._layers=[],this._tilesets=[],this._tileProperties={},this._tsxMap=null,this._textures=null,this._staggerAxis=null,this._staggerIndex=null,this._hexSideLength=0,this.initWithXML(t,e,i)},cc.TMXMapInfo.prototype={constructor:cc.TMXMapInfo,getOrientation:function(){return this.orientation},setOrientation:function(t){this.orientation=t},getStaggerAxis:function(){return this._staggerAxis},setStaggerAxis:function(t){this._staggerAxis=t},getStaggerIndex:function(){return this._staggerIndex},setStaggerIndex:function(t){this._staggerIndex=t},getHexSideLength:function(){return this._hexSideLength},setHexSideLength:function(t){this._hexSideLength=t},getMapSize:function(){return cc.size(this._mapSize.width,this._mapSize.height)},setMapSize:function(t){this._mapSize.width=t.width,this._mapSize.height=t.height},_getMapWidth:function(){return this._mapSize.width},_setMapWidth:function(t){this._mapSize.width=t},_getMapHeight:function(){return this._mapSize.height},_setMapHeight:function(t){this._mapSize.height=t},getTileSize:function(){return cc.size(this._tileSize.width,this._tileSize.height)},setTileSize:function(t){this._tileSize.width=t.width,this._tileSize.height=t.height},_getTileWidth:function(){return this._tileSize.width},_setTileWidth:function(t){this._tileSize.width=t},_getTileHeight:function(){return this._tileSize.height},_setTileHeight:function(t){this._tileSize.height=t},getLayers:function(){return this._layers},setLayers:function(t){this._allChildren.push(t),this._layers.push(t)},getTilesets:function(){return this._tilesets},setTilesets:function(t){this._tilesets.push(t)},getObjectGroups:function(){return this._objectGroups},setObjectGroups:function(t){this._allChildren.push(t),this._objectGroups.push(t)},getAllChildren:function(){return this._allChildren},getParentElement:function(){return this.parentElement},setParentElement:function(t){this.parentElement=t},getParentGID:function(){return this.parentGID},setParentGID:function(t){this.parentGID=t},getLayerAttribs:function(){return this.layerAttrs},setLayerAttribs:function(t){this.layerAttrs=t},getStoringCharacters:function(){return this.storingCharacters},setStoringCharacters:function(t){this.storingCharacters=t},getProperties:function(){return this.properties},setProperties:function(t){this.properties=t},initWithXML:function(t,e,i){return this._tilesets.length=0,this._layers.length=0,this._tsxMap=e,this._textures=i,this._objectGroups.length=0,this._allChildren.length=0,this.properties.length=0,this._tileProperties.length=0,this.currentString="",this.storingCharacters=!1,this.layerAttrs=cc.TMXLayerInfo.ATTRIB_NONE,this.parentElement=cc.TiledMap.NONE,this.parseXMLString(t)},parseXMLString:function(t,e){var i=void 0,n=this._parser._parseXML(t).documentElement,r=n.getAttribute("version"),s=n.getAttribute("orientation"),o=n.getAttribute("staggeraxis"),h=n.getAttribute("staggerindex"),l=n.getAttribute("hexsidelength");if("map"===n.nodeName){"1.0"!==r&&null!==r&&cc.logID(7216,r),"orthogonal"===s?this.orientation=cc.TiledMap.Orientation.ORTHO:"isometric"===s?this.orientation=cc.TiledMap.Orientation.ISO:"hexagonal"===s?this.orientation=cc.TiledMap.Orientation.HEX:null!==s&&cc.logID(7217,s),"x"===o?this.setStaggerAxis(cc.TiledMap.StaggerAxis.STAGGERAXIS_X):"y"===o&&this.setStaggerAxis(cc.TiledMap.StaggerAxis.STAGGERAXIS_Y),"odd"===h?this.setStaggerIndex(cc.TiledMap.StaggerIndex.STAGGERINDEX_ODD):"even"===h&&this.setStaggerIndex(cc.TiledMap.StaggerIndex.STAGGERINDEX_EVEN),l&&this.setHexSideLength(parseFloat(l));var c=cc.size(0,0);c.width=parseFloat(n.getAttribute("width")),c.height=parseFloat(n.getAttribute("height")),this.setMapSize(c),(c=cc.size(0,0)).width=parseFloat(n.getAttribute("tilewidth")),c.height=parseFloat(n.getAttribute("tileheight")),this.setTileSize(c),this.properties=a(n)}var u=n.getElementsByTagName("tileset");for("map"!==n.nodeName&&(u=[]).push(n),i=0;i<u.length;i++){var _=u[i],f=_.getAttribute("source");if(f){var m=parseInt(_.getAttribute("firstgid")),d=this._tsxMap[f];d&&this.parseXMLString(d,m)}else{var p=new cc.TMXTilesetInfo;p.name=_.getAttribute("name")||"",p.firstGid=e||(parseInt(_.getAttribute("firstgid"))||0),p.spacing=parseInt(_.getAttribute("spacing"))||0,p.margin=parseInt(_.getAttribute("margin"))||0;var y=cc.size(0,0);y.width=parseFloat(_.getAttribute("tilewidth")),y.height=parseFloat(_.getAttribute("tileheight")),p._tileSize=y;var v=_.getElementsByTagName("image")[0].getAttribute("source");v.replace(/\\/g,"/"),p.sourceImage=this._textures[v],p.sourceImage||cc.errorID(7221,v),this.setTilesets(p);var g=_.getElementsByTagName("tileoffset")[0];if(g){var x=parseFloat(g.getAttribute("x")),A=parseFloat(g.getAttribute("y"));p.tileOffset=cc.v2(x,A)}var b=_.getElementsByTagName("tile");if(b)for(var C=0;C<b.length;C++){var S=b[C];this.parentGID=parseInt(p.firstGid)+parseInt(S.getAttribute("id")||0),this._tileProperties[this.parentGID]=a(S)}}}var T=n.childNodes;for(i=0;i<T.length;i++){var w=T[i];if(!this._shouldIgnoreNode(w)){if("layer"===w.nodeName){var E=this._parseLayer(w);this.setLayers(E)}if("objectgroup"===w.nodeName){var D=this._parseObjectGroup(w);this.setObjectGroups(D)}}}return n},_shouldIgnoreNode:function(t){return 3===t.nodeType||8===t.nodeType||4===t.nodeType},_parseLayer:function(t){var e=t.getElementsByTagName("data")[0],i=new cc.TMXLayerInfo;i.name=t.getAttribute("name");var s=cc.size(0,0);s.width=parseFloat(t.getAttribute("width")),s.height=parseFloat(t.getAttribute("height")),i._layerSize=s;var o=t.getAttribute("visible");i.visible=!("0"===o);var h=t.getAttribute("opacity")||1;i._opacity=h?parseInt(255*parseFloat(h)):255,i.offset=cc.v2(parseFloat(t.getAttribute("x"))||0,parseFloat(t.getAttribute("y"))||0);for(var l="",c=0;c<e.childNodes.length;c++)l+=e.childNodes[c].nodeValue;l=l.trim();var u=e.getAttribute("compression"),_=e.getAttribute("encoding");if(u&&"gzip"!==u&&"zlib"!==u)return cc.logID(7218),null;var f=void 0;switch(u){case"gzip":f=n.unzipBase64AsArray(l,4);break;case"zlib":f=(function(t){if(t.length%4!=0)return null;for(var e=t.length/4,i=window.Uint32Array?new Uint32Array(e):[],n=0;n<e;n++){var r=4*n;i[n]=t[r]+256*t[r+1]+65536*t[r+2]+t[r+3]*(1<<24)}return i})(new r.Inflate(n.Base64.decodeAsArray(l,1)).decompress());break;case null:case"":if("base64"===_)f=n.Base64.decodeAsArray(l,4);else if("csv"===_){f=[];for(var m=l.split(","),d=0;d<m.length;d++)f.push(parseInt(m[d]))}else{var p=e.getElementsByTagName("tile");f=[];for(var y=0;y<p.length;y++)f.push(parseInt(p[y].getAttribute("gid")))}break;default:this.layerAttrs===cc.TMXLayerInfo.ATTRIB_NONE&&cc.logID(7219)}return f&&(i._tiles=new Uint32Array(f)),i.properties=a(t),i},_parseObjectGroup:function(t){var e=new cc.TMXObjectGroupInfo;e.name=t.getAttribute("name")||"",e.offset=cc.v2(parseFloat(t.getAttribute("offsetx")),parseFloat(t.getAttribute("offsety")));var i=t.getAttribute("opacity")||1;e._opacity=i?parseInt(255*parseFloat(i)):255;var n=t.getAttribute("visible");n&&0===parseInt(n)&&(e.visible=!1);var r=t.getAttribute("color");r&&e._color.fromHEX(r);var s=t.getAttribute("draworder");s&&(e._draworder=s),e.setProperties(a(t));var o=t.getElementsByTagName("object");if(o)for(var h=0;h<o.length;h++){var l=o[h],c={};c.id=l.getAttribute("id")||0,c.name=l.getAttribute("name")||"",c.width=parseFloat(l.getAttribute("width"))||0,c.height=parseFloat(l.getAttribute("height"))||0,c.x=parseFloat(l.getAttribute("x"))||0,c.y=parseFloat(l.getAttribute("y"))||0,c.rotation=parseFloat(l.getAttribute("rotation"))||0,a(l,c);var u=l.getAttribute("visible");c.visible=!(u&&0===parseInt(u));var _=l.getAttribute("gid");_&&(c.gid=parseInt(_),c.type=cc.TiledMap.TMXObjectType.IMAGE);var f=l.getElementsByTagName("ellipse");f&&f.length>0&&(c.type=cc.TiledMap.TMXObjectType.ELLIPSE);var m=l.getElementsByTagName("polygon");if(m&&m.length>0){c.type=cc.TiledMap.TMXObjectType.POLYGON;var d=m[0].getAttribute("points");d&&(c.points=this._parsePointsString(d))}var p=l.getElementsByTagName("polyline");if(p&&p.length>0){c.type=cc.TiledMap.TMXObjectType.POLYLINE;var y=p[0].getAttribute("points");y&&(c.polylinePoints=this._parsePointsString(y))}c.type||(c.type=cc.TiledMap.TMXObjectType.RECT),e._objects.push(c)}return e},_parsePointsString:function(t){if(!t)return null;for(var e=[],i=t.split(" "),n=0;n<i.length;n++){var r=i[n].split(",");e.push({x:parseFloat(r[0]),y:parseFloat(r[1])})}return e},getTileProperties:function(){return this._tileProperties},setTileProperties:function(t){this._tileProperties.push(t)},getCurrentString:function(){return this.currentString},setCurrentString:function(t){this.currentString=t}};var o=cc.TMXMapInfo.prototype;s.getset(o,"mapWidth",o._getMapWidth,o._setMapWidth),s.getset(o,"mapHeight",o._getMapHeight,o._setMapHeight),s.getset(o,"tileWidth",o._getTileWidth,o._setTileWidth),s.getset(o,"tileHeight",o._getTileHeight,o._setTileHeight),cc.TMXLayerInfo.ATTRIB_NONE=1,cc.TMXLayerInfo.ATTRIB_BASE64=2,cc.TMXLayerInfo.ATTRIB_GZIP=4,cc.TMXLayerInfo.ATTRIB_ZLIB=8}),{"../compression/ZipUtils":22,"../compression/zlib.min":25,"../core/platform/CCSAXParser":167,"../core/platform/js":180}],270:[(function(t,e,i){var n=t("../core/components/CCRenderComponent"),r=t("../core/renderer/render-engine").SpriteMaterial,s=cc.Class({name:"cc.TiledLayer",extends:n,ctor:function(){this._tiles=[],this._texGrids=[],this._textures=[],this._spriteTiles={},this._tiledTiles=[],this._layerName="",this._layerOrientation=null},getLayerName:function(){return this._layerName},setLayerName:function(t){this._layerName=t},getProperty:function(t){return this._properties[t]},getPositionAt:function(t,e){var i=void 0;void 0!==e?(i=Math.floor(t),e=Math.floor(e)):(i=Math.floor(t.x),e=Math.floor(t.y));var n=void 0;switch(this._layerOrientation){case cc.TiledMap.Orientation.ORTHO:n=this._positionForOrthoAt(i,e);break;case cc.TiledMap.Orientation.ISO:n=this._positionForIsoAt(i,e);break;case cc.TiledMap.Orientation.HEX:n=this._positionForHexAt(i,e)}return n},_isInvalidPosition:function(t,e){if(t&&"object"==typeof t){var i=t;e=i.y,t=i.x}return t>=this._layerSize.width||e>=this._layerSize.height||t<0||e<0},_positionForIsoAt:function(t,e){return cc.v2(this._mapTileSize.width/2*(this._layerSize.width+t-e-1),this._mapTileSize.height/2*(2*this._layerSize.height-t-e-2))},_positionForOrthoAt:function(t,e){return cc.v2(t*this._mapTileSize.width,(this._layerSize.height-e-1)*this._mapTileSize.height)},_positionForHexAt:function(t,e){var i=this._mapTileSize.width,n=this._mapTileSize.height,r=this._layerSize.height,s=this._tileset.tileOffset,a=this.node.width/2,o=this.node.height/2,h=this._staggerIndex===cc.TiledMap.StaggerIndex.STAGGERINDEX_ODD?1:-1,l=0,c=0;switch(this._staggerAxis){case cc.TiledMap.StaggerAxis.STAGGERAXIS_Y:var u=0,_=this._staggerIndex===cc.TiledMap.StaggerIndex.STAGGERINDEX_ODD?0:i/2;e%2==1&&(u=i/2*h),l=t*i+u+_+s.x-a,c=(r-e-1)*(n-(n-this._hexSideLength)/2)-s.y-o;break;case cc.TiledMap.StaggerAxis.STAGGERAXIS_X:var f=0,m=this._staggerIndex===cc.TiledMap.StaggerIndex.STAGGERINDEX_ODD?n/2:0;t%2==1&&(f=n/2*-h),l=t*(i-(i-this._hexSideLength)/2)+s.x-a,c=(r-e-1)*n+f+m-s.y-o}return cc.v2(l,c)},setTileGIDAt:function(t,e,i,n){if(void 0===e)throw new Error("cc.TiledLayer.setTileGIDAt(): pos should be non-null");var r=void 0;if(void 0===n&&e instanceof cc.Vec2?(r=e,n=i):r=cc.v2(e,i),r.x=Math.floor(r.x),r.y=Math.floor(r.y),this._isInvalidPosition(r))throw new Error("cc.TiledLayer.setTileGIDAt(): invalid position");if(this._tiles)if(0!==t&&t<this._tileset.firstGid)cc.logID(7239,t);else{n=n||0;var s=this.getTileFlagsAt(r);if(this.getTileGIDAt(r)!==t||s!==n){var a=(t|n)>>>0;this._updateTileForGID(a,r)}}else cc.logID(7238)},_updateTileForGID:function(t,e){if(0===t||this._texGrids[t]){var i=0|e.x+e.y*this._layerSize.width;i<this._tiles.length&&(this._tiles[i]=t)}},getTileGIDAt:function(t,e){if(void 0===t)throw new Error("cc.TiledLayer.getTileGIDAt(): pos should be non-null");var i=t;if(void 0===e&&(i=t.x,e=t.y),this._isInvalidPosition(i,e))throw new Error("cc.TiledLayer.getTileGIDAt(): invalid position");if(!this._tiles)return cc.logID(7237),null;var n=Math.floor(i)+Math.floor(e)*this._layerSize.width;return(this._tiles[n]&cc.TiledMap.TileFlag.FLIPPED_MASK)>>>0},getTileFlagsAt:function(t,e){if(!t)throw new Error("TiledLayer.getTileFlagsAt: pos should be non-null");if(void 0!==e&&(t=cc.v2(t,e)),this._isInvalidPosition(t))throw new Error("TiledLayer.getTileFlagsAt: invalid position");if(!this._tiles)return cc.logID(7240),null;var i=Math.floor(t.x)+Math.floor(t.y)*this._layerSize.width;return(this._tiles[i]&cc.TiledMap.TileFlag.FLIPPED_ALL)>>>0},getTiledTileAt:function(t,e,i){if(this._isInvalidPosition(t,e))throw new Error("TiledLayer.getTiledTileAt: invalid position");if(!this._tiles)return cc.logID(7236),null;var n=Math.floor(t)+Math.floor(e)*this._layerSize.width,r=this._tiledTiles[n];if(!r&&i){var s=new cc.Node;return(r=s.addComponent(cc.TiledTile))._x=t,r._y=e,r._layer=this,r._updateInfo(),s.parent=this.node,r}return r},setTiledTileAt:function(t,e,i){if(this._isInvalidPosition(t,e))throw new Error("TiledLayer.setTiledTileAt: invalid position");if(!this._tiles)return cc.logID(7236),null;var n=Math.floor(t)+Math.floor(e)*this._layerSize.width;return this._tiledTiles[n]=i},getTexture:function(){return this._texture},setTexture:function(t){this._texture=t,this._activateMaterial()},getLayerSize:function(){return this._layerSize},getMapTileSize:function(){return this._mapTileSize},getTileSet:function(){return this._tileset},setTileSet:function(t){this._tileset=t},getLayerOrientation:function(){return this._layerOrientation},getProperties:function(){return this._properties},_init:function(t,e,i){var n=e._layerSize;this._layerName=e.name,this._tiles=e._tiles,this._properties=e.properties,this._layerSize=n,this._minGID=e._minGID,this._maxGID=e._maxGID,this._opacity=e._opacity,this._staggerAxis=i.getStaggerAxis(),this._staggerIndex=i.getStaggerIndex(),this._hexSideLength=i.getHexSideLength(),this._tileset=t,this._layerOrientation=i.orientation,this._mapTileSize=i.getTileSize();var r=i._tilesets;if(r){this._textures.length=r.length,this._texGrids.length=0;for(var s=0,a=r.length;s<a;++s){var o=r[s],h=o.sourceImage;this._textures[s]=h,this._fillTextureGrids(o,s),t===o&&(this._texture=h)}}if(this._offset=this._calculateLayerOffset(e.offset),this._layerOrientation===cc.TiledMap.Orientation.HEX){var l=0,c=0;this._staggerAxis===cc.TiledMap.StaggerAxis.STAGGERAXIS_X?(c=i._tileSize.height*(this._layerSize.height+.5),l=(i._tileSize.width+this._hexSideLength)*Math.floor(this._layerSize.width/2)+i._tileSize.width*(this._layerSize.width%2)):(l=i._tileSize.width*(this._layerSize.width+.5),c=(i._tileSize.height+this._hexSideLength)*Math.floor(this._layerSize.height/2)+i._tileSize.height*(this._layerSize.height%2)),this.node.setContentSize(l,c)}else this.node.setContentSize(this._layerSize.width*this._mapTileSize.width,this._layerSize.height*this._mapTileSize.height);this._useAutomaticVertexZ=!1,this._vertexZvalue=0,this._activateMaterial()},_calculateLayerOffset:function(t){var e=cc.v2(0,0);switch(this._layerOrientation){case cc.TiledMap.Orientation.ORTHO:e=cc.v2(t.x*this._mapTileSize.width,-t.y*this._mapTileSize.height);break;case cc.TiledMap.Orientation.ISO:e=cc.v2(this._mapTileSize.width/2*(t.x-t.y),this._mapTileSize.height/2*(-t.x-t.y));break;case cc.TiledMap.Orientation.HEX:if(this._staggerAxis===cc.TiledMap.StaggerAxis.STAGGERAXIS_Y){var i=this._staggerIndex===cc.TiledMap.StaggerIndex.STAGGERINDEX_EVEN?this._mapTileSize.width/2:0;e=cc.v2(t.x*this._mapTileSize.width+i,-t.y*(this._mapTileSize.height-(this._mapTileSize.width-this._hexSideLength)/2))}else if(this._staggerAxis===cc.TiledMap.StaggerAxis.STAGGERAXIS_X){var n=this._staggerIndex===cc.TiledMap.StaggerIndex.STAGGERINDEX_ODD?this._mapTileSize.height/2:0;e=cc.v2(t.x*(this._mapTileSize.width-(this._mapTileSize.width-this._hexSideLength)/2),-t.y*this._mapTileSize.height+n)}}return e},_fillTextureGrids:function(t,e){var i=this._textures[e];if(i)if(i.loaded){t.imageSize.width&&t.imageSize.height||(t.imageSize.width=i.width,t.imageSize.height=i.height);for(var n=t._tileSize.width,r=t._tileSize.height,s=i.width,a=i.height,o=t.spacing,h=t.margin,l=Math.floor((s-2*h+o)/(n+o)),c=Math.floor((a-2*h+o)/(r+o))*l,u=t.firstGid,_=t.firstGid+c,f=this._texGrids,m=null,d=!!f[u],p=cc.macro.FIX_ARTIFACTS_BY_STRECHING_TEXEL_TMX?.5:0;u<_&&(d&&!f[u]&&(d=!1),d||!f[u]);++u)m={texId:e,x:0,y:0,width:n,height:r,t:0,l:0,r:0,b:0},t.rectForGID(u,m),m.x+=p,m.y+=p,m.width-=2*p,m.height-=2*p,m.t=m.y/a,m.l=m.x/s,m.r=(m.x+m.width)/s,m.b=(m.y+m.height)/a,f[u]=m}else i.once("load",(function(){this._fillTextureGrids(t,e)}),this)},_activateMaterial:function(){var t=this._material;t||((t=this._material=new r).useColor=!1),this._texture?(t.texture=this._texture,this.markForUpdateRenderData(!0),this.markForRender(!0)):this.disableRender(),this._updateMaterial(t)}});cc.TiledLayer=e.exports=s}),{"../core/components/CCRenderComponent":77,"../core/renderer/render-engine":202}],271:[(function(t,e,i){t("./CCTMXXMLParser"),t("./CCTiledMapAsset"),t("./CCTiledLayer"),t("./CCTiledTile"),t("./CCTiledObjectGroup");var n=cc.Enum({ORTHO:0,HEX:1,ISO:2}),r=cc.Enum({NONE:0,MAP:1,LAYER:2,OBJECTGROUP:3,OBJECT:4,TILE:5}),s=cc.Enum({HORIZONTAL:2147483648,VERTICAL:1073741824,DIAGONAL:536870912,FLIPPED_ALL:3758096384,FLIPPED_MASK:536870911}),a=cc.Enum({STAGGERAXIS_X:0,STAGGERAXIS_Y:1}),o=cc.Enum({STAGGERINDEX_ODD:0,STAGGERINDEX_EVEN:1}),h=cc.Enum({RECT:0,ELLIPSE:1,POLYGON:2,POLYLINE:3,IMAGE:4}),l=cc.Class({name:"cc.TiledMap",extends:cc.Component,editor:!1,ctor:function(){this._layers=[],this._groups=[],this._properties=[],this._tileProperties=[],this._mapSize=cc.size(0,0),this._tileSize=cc.size(0,0)},statics:{Orientation:n,Property:r,TileFlag:s,StaggerAxis:a,StaggerIndex:o,TMXObjectType:h},properties:{_tmxFile:{default:null,type:cc.TiledMapAsset},tmxAsset:{get:function(){return this._tmxFile},set:function(t,e){this._tmxFile!==t&&(this._tmxFile=t,this._applyFile())},type:cc.TiledMapAsset}},getMapSize:function(){return this._mapSize},getTileSize:function(){return this._tileSize},getMapOrientation:function(){return this._mapOrientation},getObjectGroups:function(){return this._groups},getObjectGroup:function(t){for(var e=this._groups,i=0,n=e.length;i<n;i++){var r=e[i];if(r&&r.getGroupName()===t)return r}return null},getProperties:function(){return this._properties},getLayers:function(){return this._layers},getLayer:function(t){for(var e=this._layers,i=0,n=e.length;i<n;i++){var r=e[i];if(r&&r.getLayerName()===t)return r}return null},getProperty:function(t){return this._properties[t.toString()]},getPropertiesForGID:function(t){return this._tileProperties[t]},__preload:function(){this._tmxFile&&this._applyFile()},onEnable:function(){this.node.on(cc.Node.EventType.ANCHOR_CHANGED,this._syncAnchorPoint,this)},onDisable:function(){this.node.off(cc.Node.EventType.ANCHOR_CHANGED,this._syncAnchorPoint,this)},_applyFile:function(){var t=this._tmxFile;if(t){for(var e=t.textures,i=t.textureNames,n={},r=0;r<e.length;++r)n[i[r]]=e[r];for(var s=t.tsxFileNames,a=t.tsxFiles,o={},h=0;h<s.length;++h)s[h].length>0&&(o[s[h]]=a[h].text);var l=new cc.TMXMapInfo(t.tmxXmlStr,o,n),c=l.getTilesets();c&&0!==c.length||cc.logID(7241),this._buildWithMapInfo(l)}else this._relseasMapInfo()},_relseasMapInfo:function(){for(var t=this._layers,e=0,i=t.length;e<i;e++)t[e].node.removeFromParent();t.length=0;for(var n=this._groups,r=0,s=n.length;r<s;r++)n[r].node.removeFromParent();n.length=0},_syncAnchorPoint:function(){for(var t=this.node.getAnchorPoint(),e=0,i=this._layers.length;e<i;e++)this._layers[e].node.setAnchorPoint(t)},_buildWithMapInfo:function(t){this._mapSize=t.getMapSize(),this._tileSize=t.getTileSize(),this._mapOrientation=t.orientation,this._properties=t.properties,this._tileProperties=t.getTileProperties(),this._relseasMapInfo();var e=this._layers,i=this._groups,n=this.node,r=t.getAllChildren();if(r&&r.length>0)for(var s=0,a=r.length;s<a;s++){var o=r[s],h=o.name,l=this.node.getChildByName(h);if(l||((l=new cc.Node).name=h,n.addChild(l)),o instanceof cc.TMXLayerInfo&&o.visible){var c=l.getComponent(cc.TiledLayer);c||(c=l.addComponent(cc.TiledLayer));var u=this._tilesetForLayer(o,t);c._init(u,o,t),o.ownTiles=!1,this.node.width=Math.max(this.node.width,l.width),this.node.height=Math.max(this.node.height,l.height),e.push(c)}else if(o instanceof cc.TMXObjectGroupInfo){var _=l.getComponent(cc.TiledObjectGroup);_||(_=l.addComponent(cc.TiledObjectGroup)),_._init(o,t),i.push(_)}}this._syncAnchorPoint()},_tilesetForLayer:function(t,e){var i=t._layerSize,n=e.getTilesets();if(n)for(var r=n.length-1;r>=0;r--){var s=n[r];if(s)for(var a=0;a<i.height;a++)for(var o=0;o<i.width;o++){var h=o+i.width*a,l=t._tiles[h];if(0!==l&&(l&cc.TiledMap.TileFlag.FLIPPED_MASK)>>>0>=s.firstGid)return s}}return cc.logID(7215,t.name),null}});cc.TiledMap=e.exports=l,cc.js.obsolete(cc.TiledMap.prototype,"cc.TiledMap.tmxFile","tmxAsset",!0),cc.js.get(cc.TiledMap.prototype,"mapLoaded",(function(){return cc.errorID(7203),[]}),!1)}),{"./CCTMXXMLParser":269,"./CCTiledLayer":270,"./CCTiledMapAsset":272,"./CCTiledObjectGroup":273,"./CCTiledTile":274}],272:[(function(t,e,i){var n=cc.Class({name:"cc.TiledMapAsset",extends:cc.Asset,properties:{tmxXmlStr:"",textures:{default:[],type:[cc.Texture2D]},textureNames:[cc.String],tsxFiles:[cc.TextAsset],tsxFileNames:[cc.String]},statics:{preventDeferredLoadDependents:!0},createNode:!1});cc.TiledMapAsset=n,e.exports=n}),{}],273:[(function(t,e,i){var n=cc.Class({name:"cc.TiledObjectGroup",extends:cc.Component,getPositionOffset:function(){return this._positionOffset},getProperties:function(){this._properties},getGroupName:function(){return this._groupName},getProperty:function(t){return this._properties[t.toString()]},getObject:function(t){for(var e=0,i=this._objects.length;e<i;e++){var n=this._objects[e];if(n&&n.name===t)return n}return null},getObjects:function(){return this._objects},_init:function(t,e){this._groupName=t.name,this._positionOffset=t.offset,this._mapInfo=e,this._properties=t.getProperties();var i=e._mapSize,n=e._tileSize,r=0,s=0;e.orientation===cc.TiledMap.Orientation.HEX?e.getStaggerAxis()===cc.TiledMap.StaggerAxis.STAGGERAXIS_X?(s=n.height*(i.height+.5),r=(n.width+e.getHexSideLength())*Math.floor(i.width/2)+n.width*(i.width%2)):(r=n.width*(i.width+.5),s=(n.height+e.getHexSideLength())*Math.floor(i.height/2)+n.height*(i.height%2)):(r=i.width*n.width,s=i.height*n.height),this.node.setContentSize(r,s);for(var a=t._objects,o=0,h=a.length;o<h;o++){var l=a[o];if(l.offset=cc.v2(l.x,l.y),cc.TiledMap.Orientation.ISO!==this._mapOrientation)l.y=s-l.y;else{var c=l.offset.x/n.width*2,u=l.offset.y/n.height;l.x=n.width/2*(i.width+c-u),l.y=n.height/2*(2*i.height-c-u)}}this._objects=a}});cc.TiledObjectGroup=e.exports=n}),{}],274:[(function(t,e,i){var n=cc.Class({name:"cc.TiledTile",extends:cc.Component,editor:!1,ctor:function(){this._layer=null},properties:{_x:0,_y:0,x:{get:function(){return this._x},set:function(t){t!==this._x&&(this._layer&&this._layer._isInvalidPosition(t,this._y)?cc.warn("Invalid x, the valid value is between [%s] ~ [%s]",0,this._layer._layerSize.width):(this._resetTile(),this._x=t,this._updateInfo()))},type:cc.Integer},y:{get:function(){return this._y},set:function(t){t!==this._y&&(this._layer&&this._layer._isInvalidPosition(this._x,t)?cc.warn("Invalid y, the valid value is between [%s] ~ [%s]",0,this._layer._layerSize.height):(this._resetTile(),this._y=t,this._updateInfo()))},type:cc.Integer},gid:{get:function(){return this._layer?this._layer.getTileGIDAt(this._x,this._y):0},set:function(t){this._layer&&this._layer.setTileGIDAt(t,this._x,this._y)},type:cc.Integer}},onEnable:function(){var t=this.node.parent;this._layer=t.getComponent(cc.TiledLayer),this._resetTile(),this._updateInfo()},onDisable:function(){this._resetTile()},_resetTile:function(){this._layer&&this._layer.getTiledTileAt(this._x,this._y)===this&&this._layer.setTiledTileAt(this._x,this._y,null)},_updateInfo:function(){if(this._layer){var t=this._x,e=this._y;this._layer.getTiledTileAt(t,e)?cc.warn("There is already a TiledTile at [%s, %s]",t,e):(this.node.setPosition(this._layer.getPositionAt(t,e)),this._layer.setTiledTileAt(t,e,this))}}});cc.TiledTile=e.exports=n}),{}],275:[(function(t,e,i){t("./CCTiledMap"),t("./tmx-layer-assembler")}),{"./CCTiledMap":271,"./tmx-layer-assembler":276}],276:[(function(t,e,i){var n=t("./CCTiledLayer"),r=t("./CCTiledMap"),s=t("../core/renderer/render-engine"),a=t("../core/renderer/render-flow"),o=r.Orientation,h=r.TileFlag,l=h.FLIPPED_MASK,c=r.StaggerAxis,u=r.StaggerIndex,_=s.math,f=_.mat4,m=_.vec3,d=f.create(),p=f.create(),y=m.create(),v={updateRenderData:function(t){var e=t._renderData;e||(e=t._renderData=t.requestRenderData());var i=t.node._contentSize,n=t.node._anchorPoint;e.updateSizeNPivot(i.width,i.height,n.x,n.y),e.material=t.getMaterial(),this.updateVertices(t)},fillBuffers:function(t,e){for(var i=t._renderData,n=i._data,r=e._meshBuffer,s=i.vertexCount,o=r.request(s,i.indiceCount),h=o.indiceOffset,l=o.byteOffset>>2,c=o.vertexOffset,u=r._vData,_=r._iData,f=r._uintVData,m=0,d=i.vertexCount;m<d;m++){var p=n[m];u[l++]=p.x,u[l++]=p.y,u[l++]=p.u,u[l++]=p.v,f[l++]=p.color}for(var y=0,v=i.indiceCount;y<v;y+=6)_[h++]=c,_[h++]=c+1,_[h++]=c+2,_[h++]=c+1,_[h++]=c+3,_[h++]=c+2,c+=4;t.node._renderFlag|=a.FLAG_UPDATE_RENDER_DATA},updateVertices:function(t){var e=t.node,i=t._renderData,n=i._data,r=e._color._val,s=e._color.a;i.dataLength=i.vertexCount=i.indiceCount=0;var a=t._layerOrientation;if(t._tiles&&t._tileset){var _=e._anchorPoint.x*e._contentSize.width,v=e._anchorPoint.y*e._contentSize.height;f.copy(d,e._worldMatrix),m.set(y,-_,-v,0),f.translate(d,d,y);var g=d.m00,x=d.m01,A=d.m04,b=d.m05,C=d.m12,S=d.m13,T=t._mapTileSize.width,w=t._mapTileSize.height,E=t._tileset._tileSize.width,D=t._tileset._tileSize.height,M=E-T,B=D-w,P=cc.winSize.width,I=cc.winSize.height,R=t._layerSize.height,O=t._layerSize.width,L=t._texGrids,F=t._tiledTiles,V=t._offset.x,N=t._offset.y,k=0,G=0,z=O,U=R,j=g,W=b,H=C+=V*g+N*A,X=S+=V*x+N*b,Y=E*g,q=D*b,J=cc.macro.ENABLE_TILEDMAP_CULLING;if(J){var Z=cc.Camera.findCamera(t.node);if(Z&&(Z.getWorldToCameraMatrix(p),f.mul(d,p,d),j=d.m00,W=d.m05,H=V*j+N*d.m04+d.m12,X=V*d.m01+N*W+d.m13,Y=E*j,q=D*W),a===o.ORTHO){f.invert(d,d);var K=cc.visibleRect,Q=d.m00,$=d.m01,tt=d.m04,et=d.m05,it=d.m12,nt=d.m13,rt=K.topLeft.x*Q+K.topLeft.y*tt+it,st=K.topLeft.x*$+K.topLeft.y*et+nt,at=K.bottomLeft.x*Q+K.bottomLeft.y*tt+it,ot=K.bottomLeft.x*$+K.bottomLeft.y*et+nt,ht=K.topRight.x*Q+K.topRight.y*tt+it,lt=K.topRight.x*$+K.topRight.y*et+nt,ct=K.bottomRight.x*Q+K.bottomRight.y*tt+it,ut=K.bottomRight.x*$+K.bottomRight.y*et+nt,_t=Math.min(rt,at,ht,ct),ft=Math.max(rt,at,ht,ct),mt=Math.min(st,ot,lt,ut),dt=Math.max(st,ot,lt,ut);k=Math.floor(_t/T),G=R-Math.ceil(dt/w),z=Math.ceil((ft+M)/T),U=R-Math.floor((mt-B)/w),k<0&&(k=0),G<0&&(G=0),z>O&&(z=O),U>R&&(U=R)}}var pt=G*O,yt=void 0,vt=void 0,gt=void 0,xt=void 0,At=void 0,bt=void 0,Ct=void 0,St=void 0,Tt=void 0,wt=void 0,Et=void 0,Dt=void 0,Mt=void 0;if(a===o.HEX){var Bt=t._hexSideLength;Tt=t._staggerAxis,wt=t._tileset.tileOffset,Mt=t._staggerIndex===u.STAGGERINDEX_ODD?1:-1,Et=Tt===c.STAGGERAXIS_X?(T-Bt)/2:0,Dt=Tt===c.STAGGERAXIS_Y?(w-Bt)/2:0}for(var Pt=0,It=void 0,Rt=void 0,Ot=void 0,Lt=void 0,Ft=void 0,Vt=void 0,Nt=void 0,kt=G;kt<U;++kt){for(var Gt=k;Gt<z;++Gt){var zt=pt+Gt,Ut=!1,jt=!1,Wt=F[zt];if(vt=L[((yt=Wt?Wt.gid:t._tiles[zt])&l)>>>0]){switch(a){case o.ORTHO:xt=Gt*T,At=(R-kt-1)*w;break;case o.ISO:xt=T/2*(O+Gt-kt-1),At=w/2*(2*R-Gt-kt-2);break;case o.HEX:xt=Gt*(T-Et)+(Tt===c.STAGGERAXIS_Y&&kt%2==1?T/2*Mt:0)+wt.x,At=(R-kt-1)*(w-Dt)+(Tt===c.STAGGERAXIS_X&&Gt%2==1?w/2*-Mt:0)-wt.y}if(Wt){var Ht=Wt.node;Nt=r;var Xt=Ht.opacity*s/255;r=Ht.color.setA(Xt)._val,It=g,Rt=x,Ot=A,Lt=b,Ft=C,Vt=S,Ht._updateLocalMatrix(),f.copy(d,Ht._matrix),m.set(y,-xt,-At,0),f.translate(d,d,y),f.multiply(d,e._worldMatrix,d),g=d.m00,x=d.m01,A=d.m04,b=d.m05,C=d.m12,S=d.m13}if(bt=xt+E,gt=At+D,J&&a===o.ISO){if((Ct=X+At*W)>I+q){Gt+=Math.floor(2*(Ct-I)/q)-1;continue}if((St=H+bt*j)<-Y){Gt+=Math.floor(2*-St/Y)-1;continue}if(H+xt*j>P||X+gt*W<0){Gt=z;continue}}yt>h.DIAGONAL&&(Ut=(yt&h.HORIZONTAL)>>>0,jt=(yt&h.VERTICAL)>>>0),i.vertexCount+=4,i.indiceCount+=6,i.dataLength=i.vertexCount,n[Pt].x=xt*g+gt*A+C,n[Pt].y=xt*x+gt*b+S,n[Pt].u=Ut?vt.r:vt.l,n[Pt].v=jt?vt.b:vt.t,n[Pt].color=r,n[++Pt].x=xt*g+At*A+C,n[Pt].y=xt*x+At*b+S,n[Pt].u=Ut?vt.r:vt.l,n[Pt].v=jt?vt.t:vt.b,n[Pt].color=r,n[++Pt].x=bt*g+gt*A+C,n[Pt].y=bt*x+gt*b+S,n[Pt].u=Ut?vt.l:vt.r,n[Pt].v=jt?vt.b:vt.t,n[Pt].color=r,n[++Pt].x=bt*g+At*A+C,n[Pt].y=bt*x+At*b+S,n[Pt].u=Ut?vt.l:vt.r,n[Pt].v=jt?vt.t:vt.b,n[Pt].color=r,Pt++,Wt&&(r=Nt,g=It,x=Rt,A=Ot,b=Lt,C=Ft,S=Vt)}}pt+=O}}}};e.exports=n._assembler=v}),{"../core/renderer/render-engine":202,"../core/renderer/render-flow":203,"./CCTiledLayer":270,"./CCTiledMap":271}],277:[(function(t,e,i){var n=t("./video-player-impl"),r=n.EventType,s=cc.Enum({REMOTE:0,LOCAL:1}),a=cc.Class({name:"cc.VideoPlayer",extends:cc.Component,editor:!1,properties:{_resourceType:s.REMOTE,resourceType:{tooltip:!1,type:s,set:function(t){this._resourceType=t,this._updateVideoSource()},get:function(){return this._resourceType}},_remoteURL:"",remoteURL:{tooltip:!1,type:cc.String,set:function(t){this._remoteURL=t,this._updateVideoSource()},get:function(){return this._remoteURL}},_clip:{default:null,type:cc.Asset},clip:{tooltip:!1,get:function(){return this._clip},set:function(t){this._clip=t,this._updateVideoSource()},type:cc.Asset},currentTime:{tooltip:!1,type:cc.Float,set:function(t){this._impl&&this._impl.seekTo(t)},get:function(){return this._impl?this._impl.currentTime():-1}},_volume:1,volume:{get:function(){return this._volume},set:function(t){this._volume=t,this.isPlaying()&&!this._mute&&this._syncVolume()},range:[0,1],type:cc.Float,tooltip:!1},_mute:!1,mute:{get:function(){return this._mute},set:function(t){this._mute=t,this._syncVolume()},tooltip:!1},keepAspectRatio:{tooltip:!1,default:!0,type:cc.Boolean,notify:function(){this._impl.setKeepAspectRatioEnabled(this.keepAspectRatio)}},isFullscreen:{tooltip:!1,default:!1,type:cc.Boolean,notify:function(){this._impl.setFullScreenEnabled(this.isFullscreen)}},videoPlayerEvent:{default:[],type:cc.Component.EventHandler}},statics:{EventType:r,ResourceType:s,Impl:n},ctor:function(){this._impl=new n},_syncVolume:function(){var t=this._impl;if(t){var e=this._mute?0:this._volume;t.setVolume(e)}},_updateVideoSource:function(){var t="";this.resourceType===s.REMOTE?t=this.remoteURL:this._clip&&(t=this._clip.nativeUrl||""),t&&cc.loader.md5Pipe&&(t=cc.loader.md5Pipe.transformURL(t)),this._impl.setURL(t)},onLoad:function(){var t=this._impl;t&&(t.createDomElementIfNeeded(),this._updateVideoSource(),t.seekTo(this.currentTime),t.setKeepAspectRatioEnabled(this.keepAspectRatio),t.setFullScreenEnabled(this.isFullscreen),this.pause(),t.setEventListener(r.PLAYING,this.onPlaying.bind(this)),t.setEventListener(r.PAUSED,this.onPasued.bind(this)),t.setEventListener(r.STOPPED,this.onStopped.bind(this)),t.setEventListener(r.COMPLETED,this.onCompleted.bind(this)),t.setEventListener(r.META_LOADED,this.onMetaLoaded.bind(this)),t.setEventListener(r.CLICKED,this.onClicked.bind(this)),t.setEventListener(r.READY_TO_PLAY,this.onReadyToPlay.bind(this)))},onRestore:function(){this._impl||(this._impl=new n)},onEnable:function(){this._impl&&this._impl.enable()},onDisable:function(){this._impl&&this._impl.disable()},onDestroy:function(){this._impl&&(this._impl.destroy(),this._impl=null)},update:function(t){this._impl&&this._impl.updateMatrix(this.node)},onReadyToPlay:function(){cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,r.READY_TO_PLAY),this.node.emit("ready-to-play",this)},onMetaLoaded:function(){cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,r.META_LOADED),this.node.emit("meta-loaded",this)},onClicked:function(){cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,r.CLICKED),this.node.emit("clicked",this)},onPlaying:function(){cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,r.PLAYING),this.node.emit("playing",this)},onPasued:function(){cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,r.PAUSED),this.node.emit("paused",this)},onStopped:function(){cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,r.STOPPED),this.node.emit("stopped",this)},onCompleted:function(){cc.Component.EventHandler.emitEvents(this.videoPlayerEvent,this,r.COMPLETED),this.node.emit("completed",this)},play:function(){this._impl&&(this._syncVolume(),this._impl.play())},resume:function(){this._impl&&(this._syncVolume(),this._impl.resume())},pause:function(){this._impl&&this._impl.pause()},stop:function(){this._impl&&this._impl.stop()},getDuration:function(){return this._impl?this._impl.duration():-1},isPlaying:function(){return!!this._impl&&this._impl.isPlaying()}});cc.VideoPlayer=e.exports=a}),{"./video-player-impl":278}],278:[(function(t,e,i){var n=t("../core/platform/utils"),r=t("../core/platform/CCSys"),s={HAVE_NOTHING:0,HAVE_METADATA:1,HAVE_CURRENT_DATA:2,HAVE_FUTURE_DATA:3,HAVE_ENOUGH_DATA:4},a=t("../core/renderer/render-engine").math.mat4.create(),o=cc.Class({name:"VideoPlayerImpl",ctor:function(){this._EventList={},this._video=null,this._url="",this._fullScreenEnabled=!1,this._loadedmeta=!1,this._loaded=!1,this._visible=!1,this._playing=!1,this._ignorePause=!1,this._forceUpdate=!0,this._m00=0,this._m01=0,this._m04=0,this._m05=0,this._m12=0,this._m13=0,this._w=0,this._h=0,this.__eventListeners={}},_bindEvent:function(){var t=this._video,e=this,i=this.__eventListeners;i.loadedmetadata=function(){e._loadedmeta=!0,e._fullScreenEnabled?cc.screen.requestFullScreen(t):cc.screen.fullScreen()&&cc.screen.exitFullScreen(t),e._dispatchEvent(o.EventType.META_LOADED)},i.ended=function(){e._video===t&&(e._playing=!1,e._dispatchEvent(o.EventType.COMPLETED))},i.play=function(){e._video===t&&(e._playing=!0,e._updateVisibility(),e._dispatchEvent(o.EventType.PLAYING))},i.pause=function(){e._video===t&&(e._playing=!1,e._ignorePause||e._dispatchEvent(o.EventType.PAUSED))},i.click=function(){e._dispatchEvent(o.EventType.CLICKED)},t.addEventListener("loadedmetadata",i.loadedmetadata),t.addEventListener("ended",i.ended),t.addEventListener("play",i.play),t.addEventListener("pause",i.pause),t.addEventListener("click",i.click),i.onCanPlay=function(){if(!(e._loaded||e._loadedmeta||e._playing)){var t=e._video;t.readyState===s.HAVE_ENOUGH_DATA&&(t.currentTime=0,e._loaded=!0,e._dispatchEvent(o.EventType.READY_TO_PLAY),e._updateVisibility())}},t.addEventListener("canplay",i.onCanPlay),t.addEventListener("canplaythrough",i.onCanPlay),t.addEventListener("suspend",i.onCanPlay)},_updateVisibility:function(){var t=this._video;t&&(this._visible?(t.style.visibility="visible",this._forceUpdate=!0):(t.style.visibility="hidden",t.pause(),this._playing=!1,this._forceUpdate=!1))},_updateSize:function(t,e){var i=this._video;i&&(i.style.width=t+"px",i.style.height=e+"px")},_createDom:function(){var t=document.createElement("video");t.style.position="absolute",t.style.bottom="0px",t.style.left="0px",t.className="cocosVideo",t.setAttribute("preload","auto"),t.setAttribute("webkit-playsinline",""),t.setAttribute("x5-playsinline",""),t.setAttribute("playsinline",""),this._video=t,cc.game.container.appendChild(t)},createDomElementIfNeeded:function(){this._video||this._createDom()},removeDom:function(){var t=this._video;if(t){n.contains(cc.game.container,t)&&cc.game.container.removeChild(t);var e=this.__eventListeners;t.removeEventListener("loadedmetadata",e.loadedmetadata),t.removeEventListener("ended",e.ended),t.removeEventListener("play",e.play),t.removeEventListener("pause",e.pause),t.removeEventListener("click",e.click),t.removeEventListener("canplay",e.onCanPlay),t.removeEventListener("canplaythrough",e.onCanPlay),t.removeEventListener("suspend",e.onCanPlay),e.loadedmetadata=null,e.ended=null,e.play=null,e.pause=null,e.click=null,e.onCanPlay=null}this._video=null,this._url=""},setURL:function(t){var e,i=void 0;if(this._url!==t){this._url=t,this.removeDom(),this.createDomElementIfNeeded(),this._bindEvent();var n=this._video;n.style.visibility="hidden",this._loaded=!1,this._playing=!1,this._loadedmeta=!1,(i=document.createElement("source")).src=t,n.appendChild(i),e=cc.path.extname(t);for(var r=o._polyfill,s=0;s<r.canPlayType.length;s++)e!==r.canPlayType[s]&&((i=document.createElement("source")).src=t.replace(e,r.canPlayType[s]),n.appendChild(i))}},getURL:function(){return this._url},play:function(){var t=this._video;if(t&&this._visible&&!this._playing)if(o._polyfill.autoplayAfterOperation){setTimeout((function(){t.play()}),20)}else t.play()},pause:function(){var t=this._video;this._playing&&t&&t.pause()},resume:function(){this.play()},stop:function(){var t=this._video;t&&this._visible&&(this._ignorePause=!0,t.currentTime=0,t.pause(),setTimeout(function(){this._dispatchEvent(o.EventType.STOPPED),this._ignorePause=!1}.bind(this),0))},setVolume:function(t){var e=this._video;e&&(e.volume=t)},seekTo:function(t){var e=this._video;e&&(this._loaded?e.currentTime=t:(function(){var i=function(){e.currentTime=t,e.removeEventListener(o._polyfill.event,i)};e.addEventListener(o._polyfill.event,i)})(),o._polyfill.autoplayAfterOperation&&this.isPlaying()&&setTimeout((function(){e.play()}),20))},isPlaying:function(){var t=this._video;return o._polyfill.autoplayAfterOperation&&this._playing&&setTimeout((function(){t.play()}),20),this._playing},duration:function(){var t=this._video,e=-1;return t?((e=t.duration)<=0&&cc.logID(7702),e):e},currentTime:function(){var t=this._video;return t?t.currentTime:-1},setKeepAspectRatioEnabled:function(){cc.logID(7700)},isKeepAspectRatioEnabled:function(){return!0},setFullScreenEnabled:function(t){var e=this._video;e&&(this._fullScreenEnabled=t,t?cc.screen.requestFullScreen(e):cc.screen.fullScreen()&&cc.screen.exitFullScreen(e))},isFullScreenEnabled:function(){return this._fullScreenEnabled},setEventListener:function(t,e){this._EventList[t]=e},removeEventListener:function(t){this._EventList[t]=null},_dispatchEvent:function(t){var e=this._EventList[t];e&&e.call(this,this,this._video.src)},onPlayEvent:function(){this._EventList[o.EventType.PLAYING].call(this,this,this._video.src)},enable:function(){var t=o.elements;-1===t.indexOf(this)&&t.push(this),this.setVisible(!0)},disable:function(){var t=o.elements,e=t.indexOf(this);-1!==e&&t.splice(e,1),this.setVisible(!1)},destroy:function(){this.disable(),this.removeDom()},setVisible:function(t){this._visible!==t&&(this._visible=!!t,this._updateVisibility())},updateMatrix:function(t){if(this._video&&this._visible&&(t.getWorldMatrix(a),this._forceUpdate||this._m00!==a.m00||this._m01!==a.m01||this._m04!==a.m04||this._m05!==a.m05||this._m12!==a.m12||this._m13!==a.m13||this._w!==t._contentSize.width||this._h!==t._contentSize.height)){this._m00=a.m00,this._m01=a.m01,this._m04=a.m04,this._m05=a.m05,this._m12=a.m12,this._m13=a.m13,this._w=t._contentSize.width,this._h=t._contentSize.height;var e=cc.view._scaleX,i=cc.view._scaleY,n=cc.view._devicePixelRatio;e/=n,i/=n;var r=cc.game.container,s=a.m00*e,h=a.m01,l=a.m04,c=a.m05*i,u=r&&r.style.paddingLeft?parseInt(r.style.paddingLeft):0,_=r&&r.style.paddingBottom?parseInt(r.style.paddingBottom):0,f=void 0,m=void 0;o._polyfill.zoomInvalid?(this._updateSize(this._w*s,this._h*c),s=1,c=1,f=this._w*e,m=this._h*i):(f=this._w*e,m=this._h*i,this._updateSize(this._w,this._h));var d=f*a.m00*t._anchorPoint.x,p=m*a.m05*t._anchorPoint.y,y=cc.view._viewportRect;u+=y.x/n,_+=y.y/n;var v="matrix("+s+","+-h+","+-l+","+c+","+(a.m12*e-d+u)+","+-(a.m13*i-p+_)+")";this._video.style.transform=v,this._video.style["-webkit-transform"]=v,this._video.style["transform-origin"]="0px 100% 0px",this._video.style["-webkit-transform-origin"]="0px 100% 0px"}}});o.EventType={PLAYING:0,PAUSED:1,STOPPED:2,COMPLETED:3,META_LOADED:4,CLICKED:5,READY_TO_PLAY:6},o.elements=[],o.pauseElements=[],cc.game.on(cc.game.EVENT_HIDE,(function(){for(var t,e=o.elements,i=0;i<e.length;i++)(t=e[i]).isPlaying()&&(t.pause(),o.pauseElements.push(t))})),cc.game.on(cc.game.EVENT_SHOW,(function(){for(var t=o.pauseElements,e=t.pop();e;)e.play(),e=t.pop()})),o._polyfill={devicePixelRatio:!1,event:"canplay",canPlayType:[]};var h=cc.sys.platform===cc.sys.BAIDU_GAME,l=document.createElement("video");h||(l.canPlayType("video/ogg")&&(o._polyfill.canPlayType.push(".ogg"),o._polyfill.canPlayType.push(".ogv")),l.canPlayType("video/mp4")&&o._polyfill.canPlayType.push(".mp4"),l.canPlayType("video/webm")&&o._polyfill.canPlayType.push(".webm")),r.browserType===r.BROWSER_TYPE_FIREFOX&&(o._polyfill.autoplayAfterOperation=!0),r.OS_ANDROID!==r.os||r.browserType!==r.BROWSER_TYPE_SOUGOU&&r.browserType!==r.BROWSER_TYPE_360||(o._polyfill.zoomInvalid=!0);var c=document.createElement("style");c.innerHTML=".cocosVideo:-moz-full-screen{transform:matrix(1,0,0,1,0,0) !important;}.cocosVideo:full-screen{transform:matrix(1,0,0,1,0,0) !important;}.cocosVideo:-webkit-full-screen{transform:matrix(1,0,0,1,0,0) !important;}",document.head.appendChild(c),e.exports=o}),{"../core/platform/CCSys":169,"../core/platform/utils":184,"../core/renderer/render-engine":202}],279:[(function(t,e,i){var n=t("./webview-impl"),r=n.EventType;function s(){}var a=cc.Class({name:"cc.WebView",extends:cc.Component,editor:!1,properties:{_useOriginalSize:!0,_url:"",url:{type:String,tooltip:!1,get:function(){return this._url},set:function(t){this._url=t;var e=this._impl;e&&e.loadURL(t)}},webviewEvents:{default:[],type:cc.Component.EventHandler}},statics:{EventType:r,Impl:n},ctor:function(){this._impl=new a.Impl},onRestore:function(){this._impl||(this._impl=new a.Impl)},onEnable:function(){var t=this._impl;t.createDomElementIfNeeded(this.node.width,this.node.height),t.setEventListener(r.LOADED,this._onWebViewLoaded.bind(this)),t.setEventListener(r.LOADING,this._onWebViewLoading.bind(this)),t.setEventListener(r.ERROR,this._onWebViewLoadError.bind(this)),t.loadURL(this._url),t.setVisible(!0)},onDisable:function(){var t=this._impl;t.setVisible(!1),t.setEventListener(r.LOADED,s),t.setEventListener(r.LOADING,s),t.setEventListener(r.ERROR,s)},onDestroy:function(){this._impl&&(this._impl.destroy(),this._impl=null)},update:function(t){this._impl&&this._impl.updateMatrix(this.node)},_onWebViewLoaded:function(){cc.Component.EventHandler.emitEvents(this.webviewEvents,this,r.LOADED),this.node.emit("loaded",this)},_onWebViewLoading:function(){return cc.Component.EventHandler.emitEvents(this.webviewEvents,this,r.LOADING),this.node.emit("loading",this),!0},_onWebViewLoadError:function(){cc.Component.EventHandler.emitEvents(this.webviewEvents,this,r.ERROR),this.node.emit("error",this)},setJavascriptInterfaceScheme:function(t){this._impl&&this._impl.setJavascriptInterfaceScheme(t)},setOnJSCallback:function(t){this._impl&&this._impl.setOnJSCallback(t)},evaluateJS:function(t){this._impl&&this._impl.evaluateJS(t)}});cc.WebView=e.exports=a}),{"./webview-impl":280}],280:[(function(t,e,i){var n=t("../core/platform/utils"),r=t("../core/platform/CCSys"),s=t("../core/renderer/render-engine").math.mat4.create(),a=cc.Class({name:"WebViewImpl",ctor:function(){this._EventList={},this._visible=!1,this._parent=null,this._div=null,this._iframe=null,this._listener=null,this._forceUpdate=!0,this._m00=0,this._m01=0,this._m04=0,this._m05=0,this._m12=0,this._m13=0,this._w=0,this._h=0,this.__eventListeners={}},_updateVisibility:function(){if(this._div){var t=this._div;this._visible?t.style.visibility="visible":t.style.visibility="hidden",this._forceUpdate=!0}},_updateSize:function(t,e){var i=this._div;i&&(i.style.width=t+"px",i.style.height=e+"px")},_initEvent:function(){var t=this,e=this._iframe;e&&(function(){var i=t.__eventListeners,n=t;i.load=function(){n._dispatchEvent(a.EventType.LOADED)},i.error=function(){n._dispatchEvent(a.EventType.ERROR)},e.addEventListener("load",i.load),e.addEventListener("error",i.error)})()},_initStyle:function(){if(this._div){var t=this._div;t.style.position="absolute",t.style.bottom="0px",t.style.left="0px"}},_setOpacity:function(t){var e=this._iframe;e&&e.style&&(e.style.opacity=t/255)},_createDom:function(t,e){a._polyfill.enableDiv?(this._div=document.createElement("div"),this._div.style["-webkit-overflow"]="auto",this._div.style["-webkit-overflow-scrolling"]="touch",this._iframe=document.createElement("iframe"),this._div.appendChild(this._iframe),this._iframe.style.width="100%",this._iframe.style.height="100%"):this._div=this._iframe=document.createElement("iframe"),a._polyfill.enableBG&&(this._div.style.background="#FFF"),this._div.style.background="#FFF",this._div.style.height=e+"px",this._div.style.width=t+"px",this._div.style.overflow="scroll",this._iframe.style.border="none",cc.game.container.appendChild(this._div),this._updateVisibility()},_createNativeControl:function(t,e){this._createDom(t,e),this._initStyle(),this._initEvent()},createDomElementIfNeeded:function(t,e){this._div?this._updateSize(t,e):this._createNativeControl(t,e)},removeDom:function(){var t=this._div;t&&(n.contains(cc.game.container,t)&&cc.game.container.removeChild(t),this._div=null);var e=this._iframe;if(e){var i=this.__eventListeners;e.removeEventListener("load",i.load),e.removeEventListener("error",i.error),i.load=null,i.error=null,this._iframe=null}},setOnJSCallback:function(t){},setJavascriptInterfaceScheme:function(t){},loadData:function(t,e,i,n){},loadHTMLString:function(t,e){},loadURL:function(t){var e=this,i=this._iframe;i&&(function(){i.src=t;var n=e,r=function(){n._loaded=!0,n._updateVisibility(),i.removeEventListener("load",r)};i.addEventListener("load",r),e._dispatchEvent(a.EventType.LOADING)})()},stopLoading:function(){cc.logID(7800)},reload:function(){var t=this._iframe;if(t){var e=t.contentWindow;e&&e.location&&e.location.reload()}},canGoBack:function(){return cc.logID(7801),!0},canGoForward:function(){return cc.logID(7802),!0},goBack:function(){try{if(a._polyfill.closeHistory)return cc.logID(7803);var t=this._iframe;if(t){var e=t.contentWindow;e&&e.location&&e.history.back.call(e)}}catch(t){cc.log(t)}},goForward:function(){try{if(a._polyfill.closeHistory)return cc.logID(7804);var t=this._iframe;if(t){var e=t.contentWindow;e&&e.location&&e.history.forward.call(e)}}catch(t){cc.log(t)}},evaluateJS:function(t){var e=this._iframe;if(e){var i=e.contentWindow;try{i.eval(t),this._dispatchEvent(a.EventType.JS_EVALUATED)}catch(t){console.error(t)}}},setScalesPageToFit:function(){cc.logID(7805)},setEventListener:function(t,e){this._EventList[t]=e},removeEventListener:function(t){this._EventList[t]=null},_dispatchEvent:function(t){var e=this._EventList[t];e&&e.call(this,this,this._iframe.src)},_createRenderCmd:function(){return new a.RenderCmd(this)},destroy:function(){this.removeDom()},setVisible:function(t){this._visible!==t&&(this._visible=!!t,this._updateVisibility())},updateMatrix:function(t){if(this._div&&this._visible&&(t.getWorldMatrix(s),this._forceUpdate||this._m00!==s.m00||this._m01!==s.m01||this._m04!==s.m04||this._m05!==s.m05||this._m12!==s.m12||this._m13!==s.m13||this._w!==t._contentSize.width||this._h!==t._contentSize.height)){this._m00=s.m00,this._m01=s.m01,this._m04=s.m04,this._m05=s.m05,this._m12=s.m12,this._m13=s.m13,this._w=t._contentSize.width,this._h=t._contentSize.height;var e=cc.view._scaleX,i=cc.view._scaleY,n=cc.view._devicePixelRatio;e/=n,i/=n;var r=cc.game.container,a=s.m00*e,o=s.m01,h=s.m04,l=s.m05*i,c=r&&r.style.paddingLeft?parseInt(r.style.paddingLeft):0,u=r&&r.style.paddingBottom?parseInt(r.style.paddingBottom):0;this._updateSize(this._w,this._h);var _=this._div.clientWidth*e,f=this._div.clientHeight*i,m=_*s.m00*t._anchorPoint.x,d=f*s.m05*t._anchorPoint.y,p=cc.view._viewportRect;c+=p.x/n,u+=p.y/n;var y="matrix("+a+","+-o+","+-h+","+l+","+(s.m12*e-m+c)+","+-(s.m13*i-d+u)+")";this._div.style.transform=y,this._div.style["-webkit-transform"]=y,this._div.style["transform-origin"]="0px 100% 0px",this._div.style["-webkit-transform-origin"]="0px 100% 0px",this._setOpacity(t.opacity)}}});a.EventType={LOADING:0,LOADED:1,ERROR:2,JS_EVALUATED:3};var o=a._polyfill={devicePixelRatio:!1,enableDiv:!1};r.os===r.OS_IOS&&(o.enableDiv=!0),r.isMobile?r.browserType===r.BROWSER_TYPE_FIREFOX&&(o.enableBG=!0):r.browserType===r.BROWSER_TYPE_IE&&(o.closeHistory=!0),e.exports=a}),{"../core/platform/CCSys":169,"../core/platform/utils":184,"../core/renderer/render-engine":202}],281:[(function(t,e,i){t("./cocos2d/core"),t("./cocos2d/animation"),t("./cocos2d/particle"),t("./cocos2d/tilemap"),t("./cocos2d/videoplayer/CCVideoPlayer"),t("./cocos2d/webview/CCWebView"),t("./cocos2d/core/components/CCStudioComponent"),t("./extensions/ccpool/CCNodePool"),t("./cocos2d/actions"),t("./extensions/spine"),t("./extensions/dragonbones"),t("./cocos2d/deprecated")}),{"./cocos2d/actions":7,"./cocos2d/animation":16,"./cocos2d/core":110,"./cocos2d/core/components/CCStudioComponent":83,"./cocos2d/deprecated":260,"./cocos2d/particle":266,"./cocos2d/particle/CCParticleAsset":263,"./cocos2d/tilemap":275,"./cocos2d/tilemap/CCTiledMapAsset":272,"./cocos2d/videoplayer/CCVideoPlayer":277,"./cocos2d/webview/CCWebView":279,"./extensions/ccpool/CCNodePool":282,"./extensions/dragonbones":291,"./extensions/spine":295}],282:[(function(t,e,i){cc.NodePool=function(t){this.poolHandlerComp=t,this._pool=[]},cc.NodePool.prototype={constructor:cc.NodePool,size:function(){return this._pool.length},clear:function(){for(var t=this._pool.length,e=0;e<t;++e)this._pool[e].destroy();this._pool.length=0},put:function(t){if(t&&-1===this._pool.indexOf(t)){t.removeFromParent(!1);var e=this.poolHandlerComp?t.getComponent(this.poolHandlerComp):null;e&&e.unuse&&e.unuse(),this._pool.push(t)}},get:function(){var t=this._pool.length-1;if(t<0)return null;var e=this._pool[t];this._pool.length=t;var i=this.poolHandlerComp?e.getComponent(this.poolHandlerComp):null;return i&&i.reuse&&i.reuse.apply(i,arguments),e}},e.exports=cc.NodePool}),{}],283:[(function(t,e,i){var n=[],r=[],s=0,a=0,o=null,h=null,l=0,c=0,u=0,_=0,f=null,m=void 0,d=void 0,p=cc.Class({ctor:function(){this.frames=[],this.totalTime=0,this._animationName=null,this._tempSegments=null,this._tempColors=null},init:function(t){this._animationName=t},clear:function(){for(var t=0,e=this.frames.length;t<e;t++){this.frames[t].segments.length=0}},update:function(t){if(this._animationName){var e=t.animation;e.play(this._animationName,1);var i=0;this.totalTime=0;do{t.advanceTime(1/60),this._updateFrame(t,i),i++,this.totalTime+=1/60}while(!e.isCompleted&&this.totalTime<30);this.frames.length=i}else cc.error("AnimationCache:update animationName is empty")},_updateFrame:function(t,e){a=0,s=0,0,o=null,h=null,l=0,c=0,u=0,_=0,f=null,this.frames[e]=this.frames[e]||{segments:[],colors:[],vertices:null,uintVert:null,indices:null};var i=this.frames[e],m=this._tempSegments=i.segments,d=this._tempColors=i.colors;this._traverseArmature(t),_>0&&(d[_-1].vfOffset=a),d.length=_;var p=u-1;if(p>=0)if(c>0){var y=m[p];y.indexCount=c,y.vfCount=5*l,y.vertexCount=l,m.length=u}else m.length=u-1;if(0!==m.length){for(var v=i.vertices||new Float32Array(a),g=i.uintVert||new Uint32Array(v.buffer),x=0,A=0;x<a;)v[x++]=n[A++],v[x++]=n[A++],v[x++]=n[A++],v[x++]=n[A++],g[x++]=n[A++];for(var b=i.indices||new Uint16Array(s),C=0;C<s;C++)b[C]=r[C];i.vertices=v,i.uintVert=g,i.indices=b}},_traverseArmature:function(t){for(var e=this._tempColors,i=this._tempSegments,p=n,y=r,v=void 0,g=void 0,x=t._slots,A=void 0,b=void 0,C=void 0,S=void 0,T=void 0,w=void 0,E=void 0,D=0,M=x.length;D<M;D++)if((A=x[D])._visible&&A._displayData)if(A.updateWorldMatrix(),A.childArmature)this._traverseArmature(A.childArmature);else if(T=A.getTexture()){C=A._color,o===T.url&&h===A._blendMode||(o=T.url,h=A._blendMode,(w=u-1)>=0&&(c>0?((E=i[w]).indexCount=c,E.vertexCount=l,E.vfCount=5*l):u--),i[u]={tex:T,blendMode:A._blendMode,indexCount:0,vertexCount:0,vfCount:0},u++,c=0,l=0),S=(C.a<<24>>>0)+(C.b<<16)+(C.g<<8)+C.r,f!==S&&(f=S,_>0&&(e[_-1].vfOffset=a),e[_++]={r:C.r,g:C.g,b:C.b,a:C.a,vfOffset:0}),v=A._localVertices,g=A._indices,b=A._worldMatrix;for(var B=0,P=v.length;B<P;)m=v[B++],d=v[B++],p[a++]=m*b.m00+d*b.m04+b.m12,p[a++]=m*b.m01+d*b.m05+b.m13,p[a++]=v[B++],p[a++]=v[B++],p[a++]=S;for(var I=0,R=g.length;I<R;I++)y[s++]=l+g[I];a/5,c+=g.length,l+=v.length/4}}}),y=cc.Class({ctor:function(){this._animationPool={},this._armatureCache={}},dispose:function(){for(var t in this._armatureCache){var e=this._armatureCache[t];if(e){var i=e.armature;i&&i.dispose()}}this._armatureCache=null,this._animationPool=null},_removeArmature:function(t){var e=this._armatureCache[t],i=e.animationsCache;for(var n in i){var r=i[n];r&&(this._animationPool[t+"#"+n]=r,r.clear())}var s=e.armature;s&&s.dispose(),delete this._armatureCache[t]},resetArmature:function(t){for(var e in this._armatureCache)-1!=e.indexOf(t)&&this._removeArmature(e)},getArmatureCache:function(t,e,i){var n=this._armatureCache[e],r=void 0;if(n)r=n.armature;else{var s=dragonBones.CCFactory.getInstance().buildArmatureDisplay(t,e,"",i);if(!s||!s._armature)return;if(r=s._armature,!y.canCache(r))return void r.dispose();this._armatureCache[e]={armature:r,animationsCache:{}}}return r},getAnimationCache:function(t,e){var i=this._armatureCache[t];return i?i.animationsCache[e]:null},updateAnimationCache:function(t,e){var i=this._armatureCache[t],n=i&&i.armature;if(!n)return null;if(!n.animation.hasAnimation(e))return null;var r=i.animationsCache,s=r[e];if(!s){var a=t+"#"+e;(s=this._animationPool[a])?delete this._animationPool[a]:(s=new p).init(e),r[e]=s}return s.update(n),s.totalTime>=30&&cc.warn("Animation cache is overflow, maybe animation's frame is infinite, please change armature render mode to REALTIME, dragonbones uuid is [%s], animation name is [%s]",t,e),s}});y.sharedCache=new y,y.canCache=function(t){for(var e=t._slots,i=0,n=e.length;i<n;i++){if(e[i].childArmature)return!1}return!0},e.exports=y}),{}],284:[(function(t,e,i){var n=t("../../cocos2d/core/components/CCRenderComponent"),r=t("../../cocos2d/core/renderer/render-engine").SpriteMaterial,s=t("../../cocos2d/core/event/event-target"),a=(t("../../cocos2d/core/CCNode"),t("../../cocos2d/core/graphics/graphics")),o=t("./ArmatureCache"),h=cc.Enum({default:-1}),l=cc.Enum({"<None>":0}),c=(cc.Enum({REALTIME:0}),cc.Enum({REALTIME:0,SHARED_CACHE:1,PRIVATE_CACHE:2}));var u=cc.Class({name:"dragonBones.ArmatureDisplay",extends:n,editor:!1,statics:{AnimationCacheMode:c},properties:{_factory:{default:null,type:dragonBones.CCFactory,serializable:!1},dragonAsset:{default:null,type:dragonBones.DragonBonesAsset,notify:function(){this._refresh()},tooltip:!1},dragonAtlasAsset:{default:null,type:dragonBones.DragonBonesAtlasAsset,notify:function(){this._parseDragonAtlasAsset(),this._buildArmature()},tooltip:!1},_armatureName:"",armatureName:{get:function(){return this._armatureName},set:function(t){this._armatureName=t;var e=this.getAnimationNames(this._armatureName);(!this.animationName||e.indexOf(this.animationName)<0)&&(this.animationName=""),this._armature&&!this.isAnimationCached()&&this._factory._dragonBones.clock.remove(this._armature),this._refresh(),this._armature&&!this.isAnimationCached()&&this._factory._dragonBones.clock.add(this._armature)},visible:!1},_animationName:"",animationName:{get:function(){return this._animationName},set:function(t){this._animationName=t},visible:!1},_defaultArmatureIndex:{default:0,notify:function(){var t="";if(this.dragonAsset){var e=void 0;if(this.dragonAsset&&(e=this.dragonAsset.getArmatureEnum()),!e)return cc.errorID(7400,this.name);t=e[this._defaultArmatureIndex]}void 0!==t?this.armatureName=t:cc.errorID(7401,this.name)},type:h,visible:!0,editorOnly:!0,animatable:!1,displayName:"Armature",tooltip:!1},_animationIndex:{default:0,notify:function(){if(0!==this._animationIndex){var t=void 0;if(this.dragonAsset&&(t=this.dragonAsset.getAnimsEnum(this.armatureName)),t){var e=t[this._animationIndex];void 0!==e?this.playAnimation(e,this.playTimes):cc.errorID(7402,this.name)}}else this.animationName=""},type:l,visible:!0,editorOnly:!0,displayName:"Animation",tooltip:!1},_preCacheMode:-1,_cacheMode:c.REALTIME,_defaultCacheMode:{default:0,type:c,notify:function(){this.setAnimationCacheMode(this._defaultCacheMode)},editorOnly:!0,visible:!0,animatable:!1,displayName:"Animation Cache Mode",tooltip:!1},timeScale:{default:1,notify:function(){this._armature&&(this._armature.animation.timeScale=this.timeScale)},tooltip:!1},playTimes:{default:-1,tooltip:!1},premultipliedAlpha:{default:!1,tooltip:!1},debugBones:{default:!1,notify:function(){this._updateDebugDraw()},tooltip:!1},enableBatch:{default:!1,notify:function(){this._updateBatch()},tooltip:!1},_armatureKey:"",_accTime:0,_playCount:0,_frameCache:null,_curFrame:null,_playing:!1,_armatureCache:null},ctor:function(){this._material=new r,this._eventTarget=null,this._materialCache={},this._inited=!1,this._factory=dragonBones.CCFactory.getInstance()},onLoad:function(){for(var t=this.node.children,e=0,i=t.length;e<i;e++){var n=t[e];0===(n._name&&n._name.search("CHILD_ARMATURE-"))&&n.destroy()}},_updateBatch:function(){var t=this._materialCache;for(var e in t){var i=t[e];i&&(i.useModel=!this.enableBatch)}},_updateMaterial:function(t){this._super(t),this._materialCache={}},__preload:function(){this._init()},_init:function(){if(!this._inited){this._inited=!0,this._parseDragonAtlasAsset(),this._refresh();for(var t=this.node.children,e=0,i=t.length;e<i;e++){var n=t[e];n&&"DEBUG_DRAW_NODE"===n._name&&n.destroy()}this._updateDebugDraw()}},setAnimationCacheMode:function(t){this._preCacheMode!==t&&(this._cacheMode=t,this._buildArmature())},isAnimationCached:function(){return this._cacheMode!==c.REALTIME},onEnable:function(){this._super(),this._armature&&!this.isAnimationCached()&&this._factory._dragonBones.clock.add(this._armature)},onDisable:function(){this._super(),this._armature&&!this.isAnimationCached()&&this._factory._dragonBones.clock.remove(this._armature)},update:function(t){if(this.isAnimationCached()&&this._playing){var e=this._frameCache.frames,i=this._frameCache.totalTime,n=e.length;0==this._accTime&&0==this._playCount&&this._eventTarget&&this._eventTarget.emit(dragonBones.EventObject.START),this._accTime+=t*this.timeScale;var r=Math.floor(this._accTime/i*n);if(r>=n){if(this._eventTarget&&this._eventTarget.emit(dragonBones.EventObject.LOOP_COMPLETE),this._eventTarget&&this._eventTarget.emit(dragonBones.EventObject.COMPLETE),this._playCount++,-1===this.playTimes||this.playTimes>0&&this._playCount>=this.playTimes)return this._accTime=0,this._playing=!1,void(this._playCount=0);this._accTime=0,r=0}this._curFrame=e[r]}},onDestroy:function(){this._super(),this._inited=!1,this._cacheMode===c.PRIVATE_CACHE?(this._armatureCache.dispose(),this._armatureCache=null,this._armature=null):this._cacheMode===c.SHARED_CACHE?(this._armatureCache=null,this._armature=null):this._armature&&(this._armature.dispose(),this._armature=null)},_updateDebugDraw:function(){if(this.debugBones){if(!this._debugDraw){var t=new cc.PrivateNode;t.name="DEBUG_DRAW_NODE";var e=t.addComponent(a);e.lineWidth=1,e.strokeColor=cc.color(255,0,0,255),this._debugDraw=e}this._debugDraw.node.parent=this.node}else this._debugDraw&&(this._debugDraw.node.parent=null)},_buildArmature:function(){if(this.dragonAsset&&this.dragonAtlasAsset&&this.armatureName){this._armature&&(this._preCacheMode===c.PRIVATE_CACHE?this._armatureCache.dispose():this._preCacheMode===c.REALTIME&&this._armature.dispose(),this._armatureCache=null,this._armature=null,this._displayProxy=null,this._frameCache=null,this._curFrame=null,this._playing=!1,this._preCacheMode=null,this._eventTarget=null),this._cacheMode===c.SHARED_CACHE?(this._armatureCache=o.sharedCache,this._eventTarget=new s):this._cacheMode===c.PRIVATE_CACHE&&(this._armatureCache=new o,this._eventTarget=new s);var t=this.dragonAtlasAsset._uuid;if(this._armatureKey=this.dragonAsset.init(this._factory,t),this.isAnimationCached()&&(this._armature=this._armatureCache.getArmatureCache(this.armatureName,this._armatureKey,t),this._armature||(this._cacheMode=c.REALTIME)),this._preCacheMode=this._cacheMode,this._cacheMode===c.REALTIME){if(this._displayProxy=this._factory.buildArmatureDisplay(this.armatureName,this._armatureKey,"",t),!this._displayProxy)return;this._displayProxy._ccNode=this.node,this._armature=this._displayProxy._armature,this._armature.animation.timeScale=this.timeScale}this._cacheMode!==c.REALTIME&&this.debugBones&&cc.warn("Debug bones is invalid in cached mode"),this._updateBatch(),this.animationName&&this.playAnimation(this.animationName,this.playTimes)}},_parseDragonAtlasAsset:function(){this.dragonAtlasAsset&&this.dragonAtlasAsset.init(this._factory)},_refresh:function(){this._buildArmature()},_updateCacheModeEnum:!1,_updateAnimEnum:!1,_updateArmatureEnum:!1,playAnimation:function(t,e){if(this.playTimes=void 0===e?-1:e,this.animationName=t,this.isAnimationCached()){var i=this._armatureCache.getAnimationCache(this._armatureKey,t);i||(i=this._armatureCache.updateAnimationCache(this._armatureKey,t)),i&&(this._accTime=0,this._playCount=0,this._frameCache=i,this._playing=!0,this._curFrame=this._frameCache.frames[0])}else if(this._armature)return this._armature.animation.play(t,this.playTimes)},updateAnimationCache:function(t){if(this.isAnimationCached()){var e=this._armatureCache.updateAnimationCache(this._armatureKey,t);this._frameCache=e||this._frameCache}},getArmatureNames:function(){var t=this._factory.getDragonBonesData(this._armatureKey);return t&&t.armatureNames||[]},getAnimationNames:function(t){var e=[],i=this._factory.getDragonBonesData(this._armatureKey);if(i){var n=i.getArmature(t);if(n)for(var r in n.animations)n.animations.hasOwnProperty(r)&&e.push(r)}return e},on:function(t,e,i){this.addEventListener(t,e,i)},off:function(t,e,i){this.removeEventListener(t,e,i)},once:function(t,e,i){this._displayProxy?this._displayProxy.once(t,e,i):this._eventTarget&&this._eventTarget.once(t,e,i)},addEventListener:function(t,e,i){this._displayProxy?this._displayProxy.on(t,e,i):this._eventTarget&&this._eventTarget.on(t,e,i)},removeEventListener:function(t,e,i){this._displayProxy?this._displayProxy.off(t,e,i):this._eventTarget&&this._eventTarget.off(t,e,i)},buildArmature:function(t,e){return this._factory.createArmatureNode(this,t,e)},armature:function(){return this._armature}});e.exports=dragonBones.ArmatureDisplay=u}),{"../../cocos2d/core/CCNode":29,"../../cocos2d/core/components/CCRenderComponent":77,"../../cocos2d/core/event/event-target":102,"../../cocos2d/core/graphics/graphics":106,"../../cocos2d/core/renderer/render-engine":202,"./ArmatureCache":283}],285:[(function(t,e,i){var n=t("../../cocos2d/core/event/event-target");dragonBones.CCArmatureDisplay=cc.Class({name:"dragonBones.CCArmatureDisplay",mixins:[n],properties:{node:{get:function(){return this}}},getRootDisplay:function(){var t,e=this._armature._parent;if(!e)return this;for(;e;)t=e,e=e._armature._parent;return t._armature.getDisplay()},convertToRootSpace:function(t){var e=this._armature._parent;if(!e)return t;e.updateWorldMatrix();var i=e._worldMatrix,n=cc.v2(0,0);return n.x=t.x*i.m00+t.y*i.m04+i.m12,n.y=t.x*i.m01+t.y*i.m05+i.m13,n},convertToWorldSpace:function(t){var e=this.convertToRootSpace(t);return this.getRootNode().convertToWorldSpace(e)},getRootNode:function(){var t=this.getRootDisplay();return t&&t._ccNode},dbInit:function(t){this._armature=t},dbClear:function(){this._armature=null},dbUpdate:function(){},advanceTimeBySelf:function(t){this.shouldAdvanced=!!t},hasDBEventListener:function(t){return this.hasEventListener(t)},addDBEventListener:function(t,e,i){this.on(t,e,i)},removeDBEventListener:function(t,e,i){this.off(t,e,i)},dispatchDBEvent:function(t,e){this.emit(t,e)}})}),{"../../cocos2d/core/event/event-target":102}],286:[(function(t,e,i){var n=dragonBones.BaseObject,r=dragonBones.BaseFactory,s=dragonBones.CCFactory=cc.Class({name:"dragonBones.CCFactory",extends:r,statics:{_factory:null,getInstance:function(){return s._factory||(s._factory=new s),s._factory}},ctor:function(){var t=new dragonBones.CCArmatureDisplay;this._dragonBones=new dragonBones.DragonBones(t),cc.director._scheduler&&(cc.game.on(cc.game.EVENT_RESTART,this.initUpdate,this),this.initUpdate())},initUpdate:function(t){cc.director._scheduler.enableForTarget(this),cc.director._scheduler.scheduleUpdate(this,cc.Scheduler.PRIORITY_SYSTEM,!1)},update:function(t){this._dragonBones.advanceTime(t)},buildArmatureDisplay:function(t,e,i,n){var r=this.buildArmature(t,e,i,n);return r&&r._display},parseTextureAtlasData:function(t,e,i){var n=JSON.parse(t);return this._super(n,e,i)},createArmatureNode:function(t,e,i){var n=(i=i||new cc.Node).getComponent(dragonBones.ArmatureDisplay);return n||(n=i.addComponent(dragonBones.ArmatureDisplay)),i.name=e,n._armatureName=e,n._N$dragonAsset=t.dragonAsset,n._N$dragonAtlasAsset=t.dragonAtlasAsset,n._init(),n},_buildTextureAtlasData:function(t,e){return t?t.renderTexture=e:t=n.borrowObject(dragonBones.CCTextureAtlasData),t},_sortSlots:function(){for(var t=this._slots,e=[],i=0,n=t.length;i<n;i++){for(var r=t[i],s=r._zOrder,a=!1,o=e.length-1;o>=0;o--)if(s>=e[o]._zOrder){e.splice(o+1,0,r),a=!0;break}a||e.splice(0,0,r)}this._slots=e},_buildArmature:function(t){var e=n.borrowObject(dragonBones.Armature);e._skinData=t.skin,e._animation=n.borrowObject(dragonBones.Animation),e._animation._armature=e,e._animation.animations=t.armature.animations,e._isChildArmature=!1;var i=new dragonBones.CCArmatureDisplay;return e.init(t.armature,i,i,this._dragonBones),e},_buildSlot:function(t,e,i){var r=n.borrowObject(dragonBones.CCSlot);r.name=e.name;var s=r;return r.init(e,i,s,s),r},getDragonBonesDataByUUID:function(t){for(var e in this._dragonBonesDataMap)if(-1!=e.indexOf(t))return this._dragonBonesDataMap[e];return null},removeDragonBonesDataByUUID:function(t,e){void 0===e&&(e=!0);for(var i in this._dragonBonesDataMap)-1!==i.indexOf(t)&&(e&&this._dragonBones.bufferObject(this._dragonBonesDataMap[i]),delete this._dragonBonesDataMap[i])}})}),{}],287:[(function(t,e,i){var n=t("../../cocos2d/core/renderer/render-engine").math,r=dragonBones.BinaryOffset,s=dragonBones.BoneType;dragonBones.CCSlot=cc.Class({name:"dragonBones.CCSlot",extends:dragonBones.Slot,ctor:function(){this._localVertices=[],this._indices=[],this._matrix=n.mat4.create(),this._worldMatrix=n.mat4.create(),this._worldMatrixDirty=!0,this._visible=!1,this._color=cc.color()},_onClear:function(){this._super(),this._localVertices.length=0,this._indices.length=0,n.mat4.identity(this._matrix),n.mat4.identity(this._worldMatrix),this._worldMatrixDirty=!0,this._color=cc.color(),this._visible=!1},statics:{toString:function(){return"[class dragonBones.CCSlot]"}},_onUpdateDisplay:function(){},_initDisplay:function(t){},_addDisplay:function(){this._visible=!0},_replaceDisplay:function(t){},_removeDisplay:function(){this._visible=!1},_disposeDisplay:function(t){},_updateVisible:function(){},_updateZOrder:function(){},_updateBlendMode:function(){if(this._childArmature)for(var t=this._childArmature.getSlots(),e=0,i=t.length;e<i;e++){var n=t[e];n._blendMode=this._blendMode,n._updateBlendMode()}},_updateColor:function(){var t=this._color;t.r=255*this._colorTransform.redMultiplier,t.g=255*this._colorTransform.greenMultiplier,t.b=255*this._colorTransform.blueMultiplier,t.a=255*this._colorTransform.alphaMultiplier},getTexture:function(){return this._textureData&&this._textureData.spriteFrame&&this._textureData.spriteFrame.getTexture()},_updateFrame:function(){this._indices.length=0;var t=this._indices,e=this._localVertices,i=0,n=0,s=this._textureData;if(this._display&&!(this._displayIndex<0)&&s){var a=this._displayIndex<this.rawDisplayDatas.length?this.rawDisplayDatas[this._displayIndex]:null,o=this._armature._replacedTexture||s.parent.renderTexture;if(o&&(!s.spriteFrame||s.spriteFrame.getTexture()!==o)){var h=cc.rect(s.region.x,s.region.y,s.region.width,s.region.height),l=cc.v2(0,0),c=cc.size(s.region.width,s.region.height);s.spriteFrame=new cc.SpriteFrame,s.spriteFrame.setTexture(o,h,!1,l,c)}var u=o.width,_=o.height,f=s.region,m=this._meshData;if(m){var d=this._armature._armatureData.scale,p=m.parent.parent.parent,y=p.intArray,v=p.floatArray,g=y[m.offset+r.MeshVertexCount],x=y[m.offset+r.MeshTriangleCount],A=y[m.offset+r.MeshFloatOffset];A<0&&(A+=65536);for(var b=A+2*g,C=0,S=g;C<S;C++)e[n++]=v[A+2*C]*d,e[n++]=-v[A+2*C+1]*d,e[n++]=(f.x+v[b+2*C]*f.width)/u,e[n++]=(f.y+v[b+2*C+1]*f.height)/_;for(var T=0;T<3*x;++T)t[i++]=y[m.offset+r.MeshVertexIndices+T];e.length=n,t.length=i,this._pivotX=0,this._pivotY=0}else{var w=this._armature.armatureData.scale;this._pivotX=a.pivot.x,this._pivotY=a.pivot.y;var E=s.frame||s.region,D=E.width*w,M=E.height*w;!s.frame&&s.rotated&&(D=E.height,M=E.width),this._pivotX*=D,this._pivotY*=M,s.frame&&(this._pivotX+=s.frame.x*w,this._pivotY+=s.frame.y*w),this._pivotY-=f.height*w;var B=f.x/u,P=(f.y+f.height)/_,I=(f.x+f.width)/u,R=f.y/_;e[n++]=0,e[n++]=0,e[n++]=B,e[n++]=P,e[n++]=f.width,e[n++]=0,e[n++]=I,e[n++]=P,e[n++]=0,e[n++]=f.height,e[n++]=B,e[n++]=R,e[n++]=f.width,e[n++]=f.height,e[n++]=I,e[n++]=R,t[0]=0,t[1]=1,t[2]=2,t[3]=1,t[4]=3,t[5]=2,e.length=n,t.length=6,this._blendModeDirty=!0}}},_updateMesh:function(){var t=this._armature._armatureData.scale,e=this._meshData,i=this._deformVertices.length>0&&e.inheritDeform,n=e.weight,a=this._localVertices;if(null!==n){var o=e.parent.parent.parent,h=o.intArray,l=o.floatArray,c=h[e.offset+r.MeshVertexCount],u=h[n.offset+r.WeigthFloatOffset];u<0&&(u+=65536);for(var _=0,f=n.offset+r.WeigthBoneIndices+n.bones.length,m=u,d=0,p=0;_<c;_++,p+=4){for(var y=h[f++],v=0,g=0,x=0;x<y;++x){var A=h[f++],b=this._meshBones[A];if(null!==b){var C=b.globalTransformMatrix,S=l[m++],T=l[m++]*t,w=l[m++]*t;i&&(T+=this._deformVertices[d++],w+=this._deformVertices[d++]),v+=(C.a*T+C.c*w+C.tx)*S,g+=(C.b*T+C.d*w+C.ty)*S}}a[p]=v,a[p+1]=-g}}else if(i){var E=this._parent._boneData.type!==s.Bone,D=e.parent.parent.parent,M=D.intArray,B=D.floatArray,P=M[e.offset+r.MeshVertexCount],I=M[e.offset+r.MeshFloatOffset];I<0&&(I+=65536);for(var R=0,O=P,L=0;R<O;R++,L+=4){var F=B[I+2*R]*t+this._deformVertices[2*R],V=B[I+2*R+1]*t+this._deformVertices[2*R+1];if(E){var N=this._parent._getGlobalTransformMatrix(F,V);a[L]=N.a*F+N.c*V+N.tx,a[L+1]=-N.b*F+N.d*V+N.ty}else a[L]=F,a[L+1]=-V}}},_updateTransform:function(){var t=this._matrix;t.m00=this.globalTransformMatrix.a,t.m01=-this.globalTransformMatrix.b,t.m04=-this.globalTransformMatrix.c,t.m05=this.globalTransformMatrix.d,t.m12=this.globalTransformMatrix.tx-(this.globalTransformMatrix.a*this._pivotX+this.globalTransformMatrix.c*this._pivotY),t.m13=-(this.globalTransformMatrix.ty-(this.globalTransformMatrix.b*this._pivotX+this.globalTransformMatrix.d*this._pivotY)),this._worldMatrixDirty=!0},updateWorldMatrix:function(){if(this._armature){var t=this._armature._parent;if(t&&t.updateWorldMatrix(),this._worldMatrixDirty){this.calculWorldMatrix();var e=this.childArmature;if(!e)return;for(var i=e.getSlots(),n=0,r=i.length;n<r;n++){var s=i[n];s&&(s._worldMatrixDirty=!0)}}}},_mulMat:function(t,e,i){var n=e.m00,r=e.m01,s=e.m04,a=e.m05,o=e.m12,h=e.m13,l=i.m00,c=i.m01,u=i.m04,_=i.m05,f=i.m12,m=i.m13;0!==r||0!==s?(t.m00=l*n+c*s,t.m01=l*r+c*a,t.m04=u*n+_*s,t.m05=u*r+_*a,t.m12=n*f+s*m+o,t.m13=r*f+a*m+h):(t.m00=l*n,t.m01=c*a,t.m04=u*n,t.m05=_*a,t.m12=n*f+o,t.m13=a*m+h)},calculWorldMatrix:function(){var t=this._armature._parent;t?this._mulMat(this._worldMatrix,t._worldMatrix,this._matrix):n.mat4.copy(this._worldMatrix,this._matrix),this._worldMatrixDirty=!1}})}),{"../../cocos2d/core/renderer/render-engine":202}],288:[(function(t,e,i){dragonBones.CCTextureAtlasData=cc.Class({extends:dragonBones.TextureAtlasData,properties:{texture:{default:null,serializable:!1}},statics:{toString:function(){return"[class dragonBones.CCTextureAtlasData]"}},_onClear:function(){dragonBones.TextureAtlasData.prototype._onClear.call(this),this.texture=null},createTexture:function(){return dragonBones.BaseObject.borrowObject(dragonBones.CCTextureData)}}),dragonBones.CCTextureData=cc.Class({extends:dragonBones.TextureData,properties:{texture:{default:null,serializable:!1}},statics:{toString:function(){return"[class dragonBones.CCTextureData]"}},_onClear:function(){dragonBones.TextureData.prototype._onClear.call(this),this.texture=null}})}),{}],289:[(function(t,e,i){var n=t("./ArmatureCache").sharedCache,r=cc.Class({name:"dragonBones.DragonBonesAsset",extends:cc.Asset,ctor:function(){this.reset()},properties:{_dragonBonesJson:"",dragonBonesJson:{get:function(){return this._dragonBonesJson},set:function(t){this._dragonBonesJson=t,this.reset()}},_nativeAsset:{get:function(){return this._buffer},set:function(t){this._buffer=t.buffer||t,this.reset()},override:!0}},statics:{preventDeferredLoadDependents:!0},createNode:!1,reset:function(){this._clear()},init:function(t,e){this._factory=t;var i=this._uuid+"#"+e;if(this._factory.getDragonBonesData(i))return i;var n=null;return n=this.dragonBonesJson?JSON.parse(this.dragonBonesJson):this._nativeAsset,this._factory.parseDragonBonesData(n,i),i},getArmatureEnum:!1,getAnimsEnum:!1,_clear:function(){this._factory&&(n.resetArmature(this._uuid),this._factory.removeDragonBonesDataByUUID(this._uuid,!0))},destroy:function(){this._clear(),this._super()}});dragonBones.DragonBonesAsset=e.exports=r}),{"./ArmatureCache":283}],290:[(function(t,e,i){var n=t("./ArmatureCache").sharedCache,r=cc.Class({name:"dragonBones.DragonBonesAtlasAsset",extends:cc.Asset,ctor:function(){this._clear()},properties:{_atlasJson:"",atlasJson:{get:function(){return this._atlasJson},set:function(t){this._atlasJson=t,this._clear()}},_texture:{default:null,type:cc.Texture2D,formerlySerializedAs:"texture"},texture:{get:function(){return this._texture},set:function(t){this._texture=t,this._clear()}},_textureAtlasData:null},statics:{preventDeferredLoadDependents:!0},createNode:!1,init:function(t){this._factory=t,this._textureAtlasData?t.addTextureAtlasData(this._textureAtlasData,this._uuid):this._textureAtlasData=t.parseTextureAtlasData(this.atlasJson,this.texture,this._uuid)},_clear:function(){this._factory&&(n.resetArmature(this._uuid),this._factory.removeTextureAtlasData(this._uuid,!0),this._factory.removeDragonBonesDataByUUID(this._uuid,!0)),this._textureAtlasData=null},destroy:function(){this._clear(),this._super()}});dragonBones.DragonBonesAtlasAsset=e.exports=r}),{"./ArmatureCache":283}],291:[(function(t,e,i){var n="undefined"==typeof window?global:window;n.dragonBones=t("./lib/dragonBones"),void 0!==n.dragonBones&&(dragonBones.DisplayType={Image:0,Armature:1,Mesh:2},dragonBones.ArmatureType={Armature:0,MovieClip:1,Stage:2},dragonBones.ExtensionType={FFD:0,AdjustColor:10,BevelFilter:11,BlurFilter:12,DropShadowFilter:13,GlowFilter:14,GradientBevelFilter:15,GradientGlowFilter:16},dragonBones.EventType={Frame:0,Sound:1},dragonBones.ActionType={Play:0,Stop:1,GotoAndPlay:2,GotoAndStop:3,FadeIn:4,FadeOut:5},dragonBones.AnimationFadeOutMode={None:0,SameLayer:1,SameGroup:2,SameLayerAndGroup:3,All:4},dragonBones.BinaryOffset={WeigthBoneCount:0,WeigthFloatOffset:1,WeigthBoneIndices:2,MeshVertexCount:0,MeshTriangleCount:1,MeshFloatOffset:2,MeshWeightOffset:3,MeshVertexIndices:4,TimelineScale:0,TimelineOffset:1,TimelineKeyFrameCount:2,TimelineFrameValueCount:3,TimelineFrameValueOffset:4,TimelineFrameOffset:5,FramePosition:0,FrameTweenType:1,FrameTweenEasingOrCurveSampleCount:2,FrameCurveSamples:3,DeformMeshOffset:0,DeformCount:1,DeformValueCount:2,DeformValueOffset:3,DeformFloatOffset:4},dragonBones.BoneType={Bone:0,Surface:1},t("./CCFactory"),t("./CCSlot"),t("./CCTextureData"),t("./CCArmatureDisplay"),t("./ArmatureCache"),t("./DragonBonesAsset"),t("./DragonBonesAtlasAsset"),t("./ArmatureDisplay"),t("./webgl-assembler"))}),{"./ArmatureCache":283,"./ArmatureDisplay":284,"./CCArmatureDisplay":285,"./CCFactory":286,"./CCSlot":287,"./CCTextureData":288,"./DragonBonesAsset":289,"./DragonBonesAtlasAsset":290,"./lib/dragonBones":292,"./webgl-assembler":293}],292:[(function(t,e,i){"use strict";var n,r=this&&this.__extends||(function(){var t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}})();n||(n={}),(function(t){var e=(function(){function e(i){this._clock=new t.WorldClock,this._events=[],this._objects=[],this._eventManager=null,this._eventManager=i,console.log("DragonBones: "+e.VERSION+"\nWebsite: http://dragonbones.com/\nSource and Demos: https://github.com/DragonBones/")}return e.prototype.advanceTime=function(e){if(this._objects.length>0){for(var i=0,n=this._objects;i<n.length;i++){n[i].returnToPool()}this._objects.length=0}if(this._clock.advanceTime(e),this._events.length>0){for(var r=0;r<this._events.length;++r){var s=this._events[r],a=s.armature;null!==a._armatureData&&(a.eventDispatcher.dispatchDBEvent(s.type,s),s.type===t.EventObject.SOUND_EVENT&&this._eventManager.dispatchDBEvent(s.type,s)),this.bufferObject(s)}this._events.length=0}},e.prototype.bufferEvent=function(t){this._events.indexOf(t)<0&&this._events.push(t)},e.prototype.bufferObject=function(t){this._objects.indexOf(t)<0&&this._objects.push(t)},Object.defineProperty(e.prototype,"clock",{get:function(){return this._clock},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"eventManager",{get:function(){return this._eventManager},enumerable:!0,configurable:!0}),e.VERSION="5.6.2",e.yDown=!0,e.debug=!1,e.debugDraw=!1,e.webAssembly=!1,e})();t.DragonBones=e,console.warn||(console.warn=function(){}),console.assert||(console.assert=function(){})})(n||(n={})),(function(t){var e=(function(){function t(){this.hashCode=t._hashCode++,this._isInPool=!1}return t._returnObject=function(e){var i=String(e.constructor),n=i in t._maxCountMap?t._maxCountMap[i]:t._defaultMaxCount,r=t._poolsMap[i]=t._poolsMap[i]||[];r.length<n&&(e._isInPool?console.warn("The object is already in the pool."):(e._isInPool=!0,r.push(e)))},t.toString=function(){throw new Error},t.setMaxCount=function(e,i){if((i<0||i!=i)&&(i=0),null!==e){null!==(r=(n=String(e))in t._poolsMap?t._poolsMap[n]:null)&&r.length>i&&(r.length=i),t._maxCountMap[n]=i}else{t._defaultMaxCount=i;for(var n in t._poolsMap){var r;(r=t._poolsMap[n]).length>i&&(r.length=i),n in t._maxCountMap&&(t._maxCountMap[n]=i)}}},t.clearPool=function(e){if(void 0===e&&(e=null),null!==e){var i=String(e);null!==(r=i in t._poolsMap?t._poolsMap[i]:null)&&r.length>0&&(r.length=0)}else for(var n in t._poolsMap){var r;(r=t._poolsMap[n]).length=0}},t.borrowObject=function(e){var i=String(e),n=i in t._poolsMap?t._poolsMap[i]:null;if(null!==n&&n.length>0){var r=n.pop();return r._isInPool=!1,r}var s=new e;return s._onClear(),s},t.prototype.returnToPool=function(){this._onClear(),t._returnObject(this)},t._hashCode=0,t._defaultMaxCount=3e3,t._maxCountMap={},t._poolsMap={},t})();t.BaseObject=e})(n||(n={})),(function(t){var e=(function(){function t(t,e,i,n,r,s){void 0===t&&(t=1),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),void 0===r&&(r=0),void 0===s&&(s=0),this.a=t,this.b=e,this.c=i,this.d=n,this.tx=r,this.ty=s}return t.prototype.toString=function(){return"[object dragonBones.Matrix] a:"+this.a+" b:"+this.b+" c:"+this.c+" d:"+this.d+" tx:"+this.tx+" ty:"+this.ty},t.prototype.copyFrom=function(t){return this.a=t.a,this.b=t.b,this.c=t.c,this.d=t.d,this.tx=t.tx,this.ty=t.ty,this},t.prototype.copyFromArray=function(t,e){return void 0===e&&(e=0),this.a=t[e],this.b=t[e+1],this.c=t[e+2],this.d=t[e+3],this.tx=t[e+4],this.ty=t[e+5],this},t.prototype.identity=function(){return this.a=this.d=1,this.b=this.c=0,this.tx=this.ty=0,this},t.prototype.concat=function(t){var e=this.a*t.a,i=0,n=0,r=this.d*t.d,s=this.tx*t.a+t.tx,a=this.ty*t.d+t.ty;return 0===this.b&&0===this.c||(e+=this.b*t.c,i+=this.b*t.d,n+=this.c*t.a,r+=this.c*t.b),0===t.b&&0===t.c||(i+=this.a*t.b,n+=this.d*t.c,s+=this.ty*t.c,a+=this.tx*t.b),this.a=e,this.b=i,this.c=n,this.d=r,this.tx=s,this.ty=a,this},t.prototype.invert=function(){var t=this.a,e=this.b,i=this.c,n=this.d,r=this.tx,s=this.ty;if(0===e&&0===i)return this.b=this.c=0,0===t||0===n?this.a=this.b=this.tx=this.ty=0:(t=this.a=1/t,n=this.d=1/n,this.tx=-t*r,this.ty=-n*s),this;var a=t*n-e*i;if(0===a)return this.a=this.d=1,this.b=this.c=0,this.tx=this.ty=0,this;a=1/a;var o=this.a=n*a;return e=this.b=-e*a,i=this.c=-i*a,n=this.d=t*a,this.tx=-(o*r+i*s),this.ty=-(e*r+n*s),this},t.prototype.transformPoint=function(t,e,i,n){void 0===n&&(n=!1),i.x=this.a*t+this.c*e,i.y=this.b*t+this.d*e,n||(i.x+=this.tx,i.y+=this.ty)},t.prototype.transformRectangle=function(t,e){void 0===e&&(e=!1);var i=this.a,n=this.b,r=this.c,s=this.d,a=e?0:this.tx,o=e?0:this.ty,h=t.x,l=t.y,c=h+t.width,u=l+t.height,_=i*h+r*l+a,f=n*h+s*l+o,m=i*c+r*l+a,d=n*c+s*l+o,p=i*c+r*u+a,y=n*c+s*u+o,v=i*h+r*u+a,g=n*h+s*u+o,x=0;_>m&&(x=_,_=m,m=x),p>v&&(x=p,p=v,v=x),t.x=Math.floor(_<p?_:p),t.width=Math.ceil((m>v?m:v)-t.x),f>d&&(x=f,f=d,d=x),y>g&&(x=y,y=g,g=x),t.y=Math.floor(f<y?f:y),t.height=Math.ceil((d>g?d:g)-t.y)},t})();t.Matrix=e})(n||(n={})),(function(t){var e=(function(){function t(t,e,i,n,r,s){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=1),void 0===s&&(s=1),this.x=t,this.y=e,this.skew=i,this.rotation=n,this.scaleX=r,this.scaleY=s}return t.normalizeRadian=function(t){return t=(t+Math.PI)%(2*Math.PI),t+=t>0?-Math.PI:Math.PI},t.prototype.toString=function(){return"[object dragonBones.Transform] x:"+this.x+" y:"+this.y+" skewX:"+180*this.skew/Math.PI+" skewY:"+180*this.rotation/Math.PI+" scaleX:"+this.scaleX+" scaleY:"+this.scaleY},t.prototype.copyFrom=function(t){return this.x=t.x,this.y=t.y,this.skew=t.skew,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this},t.prototype.identity=function(){return this.x=this.y=0,this.skew=this.rotation=0,this.scaleX=this.scaleY=1,this},t.prototype.add=function(t){return this.x+=t.x,this.y+=t.y,this.skew+=t.skew,this.rotation+=t.rotation,this.scaleX*=t.scaleX,this.scaleY*=t.scaleY,this},t.prototype.minus=function(t){return this.x-=t.x,this.y-=t.y,this.skew-=t.skew,this.rotation-=t.rotation,this.scaleX/=t.scaleX,this.scaleY/=t.scaleY,this},t.prototype.fromMatrix=function(e){var i=this.scaleX,n=this.scaleY,r=t.PI_Q;this.x=e.tx,this.y=e.ty,this.rotation=Math.atan(e.b/e.a);var s=Math.atan(-e.c/e.d);return this.scaleX=this.rotation>-r&&this.rotation<r?e.a/Math.cos(this.rotation):e.b/Math.sin(this.rotation),this.scaleY=s>-r&&s<r?e.d/Math.cos(s):-e.c/Math.sin(s),i>=0&&this.scaleX<0&&(this.scaleX=-this.scaleX,this.rotation=this.rotation-Math.PI),n>=0&&this.scaleY<0&&(this.scaleY=-this.scaleY,s-=Math.PI),this.skew=s-this.rotation,this},t.prototype.toMatrix=function(t){return 0===this.rotation?(t.a=1,t.b=0):(t.a=Math.cos(this.rotation),t.b=Math.sin(this.rotation)),0===this.skew?(t.c=-t.b,t.d=t.a):(t.c=-Math.sin(this.skew+this.rotation),t.d=Math.cos(this.skew+this.rotation)),1!==this.scaleX&&(t.a*=this.scaleX,t.b*=this.scaleX),1!==this.scaleY&&(t.c*=this.scaleY,t.d*=this.scaleY),t.tx=this.x,t.ty=this.y,this},t.PI=Math.PI,t.PI_D=2*Math.PI,t.PI_H=Math.PI/2,t.PI_Q=Math.PI/4,t.RAD_DEG=180/Math.PI,t.DEG_RAD=Math.PI/180,t})();t.Transform=e})(n||(n={})),(function(t){var e=(function(){function t(t,e,i,n,r,s,a,o){void 0===t&&(t=1),void 0===e&&(e=1),void 0===i&&(i=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===s&&(s=0),void 0===a&&(a=0),void 0===o&&(o=0),this.alphaMultiplier=t,this.redMultiplier=e,this.greenMultiplier=i,this.blueMultiplier=n,this.alphaOffset=r,this.redOffset=s,this.greenOffset=a,this.blueOffset=o}return t.prototype.copyFrom=function(t){this.alphaMultiplier=t.alphaMultiplier,this.redMultiplier=t.redMultiplier,this.greenMultiplier=t.greenMultiplier,this.blueMultiplier=t.blueMultiplier,this.alphaOffset=t.alphaOffset,this.redOffset=t.redOffset,this.greenOffset=t.greenOffset,this.blueOffset=t.blueOffset},t.prototype.identity=function(){this.alphaMultiplier=this.redMultiplier=this.greenMultiplier=this.blueMultiplier=1,this.alphaOffset=this.redOffset=this.greenOffset=this.blueOffset=0},t})();t.ColorTransform=e})(n||(n={})),(function(t){var e=(function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return t.prototype.copyFrom=function(t){this.x=t.x,this.y=t.y},t.prototype.clear=function(){this.x=this.y=0},t})();t.Point=e})(n||(n={})),(function(t){var e=(function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.x=t,this.y=e,this.width=i,this.height=n}return t.prototype.copyFrom=function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},t.prototype.clear=function(){this.x=this.y=0,this.width=this.height=0},t})();t.Rectangle=e})(n||(n={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.ints=[],e.floats=[],e.strings=[],e}return r(e,t),e.toString=function(){return"[class dragonBones.UserData]"},e.prototype._onClear=function(){this.ints.length=0,this.floats.length=0,this.strings.length=0},e.prototype.addInt=function(t){this.ints.push(t)},e.prototype.addFloat=function(t){this.floats.push(t)},e.prototype.addString=function(t){this.strings.push(t)},e.prototype.getInt=function(t){return void 0===t&&(t=0),t>=0&&t<this.ints.length?this.ints[t]:0},e.prototype.getFloat=function(t){return void 0===t&&(t=0),t>=0&&t<this.floats.length?this.floats[t]:0},e.prototype.getString=function(t){return void 0===t&&(t=0),t>=0&&t<this.strings.length?this.strings[t]:""},e})(t.BaseObject);t.UserData=e;var i=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.data=null,e}return r(e,t),e.toString=function(){return"[class dragonBones.ActionData]"},e.prototype._onClear=function(){null!==this.data&&this.data.returnToPool(),this.type=0,this.name="",this.bone=null,this.slot=null,this.data=null},e})(t.BaseObject);t.ActionData=i})(n||(n={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.frameIndices=[],e.cachedFrames=[],e.armatureNames=[],e.armatures={},e.userData=null,e}return r(e,t),e.toString=function(){return"[class dragonBones.DragonBonesData]"},e.prototype._onClear=function(){for(var t in this.armatures)this.armatures[t].returnToPool(),delete this.armatures[t];null!==this.userData&&this.userData.returnToPool(),this.autoSearch=!1,this.frameRate=0,this.version="",this.name="",this.stage=null,this.frameIndices.length=0,this.cachedFrames.length=0,this.armatureNames.length=0,this.binary=null,this.intArray=null,this.floatArray=null,this.frameIntArray=null,this.frameFloatArray=null,this.frameArray=null,this.timelineArray=null,this.userData=null},e.prototype.addArmature=function(t){t.name in this.armatures?console.warn("Same armature: "+t.name):(t.parent=this,this.armatures[t.name]=t,this.armatureNames.push(t.name))},e.prototype.getArmature=function(t){return t in this.armatures?this.armatures[t]:null},e.prototype.dispose=function(){console.warn("\u5df2\u5e9f\u5f03"),this.returnToPool()},e})(t.BaseObject);t.DragonBonesData=e})(n||(n={})),(function(t){var e=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.aabb=new t.Rectangle,i.animationNames=[],i.sortedBones=[],i.sortedSlots=[],i.defaultActions=[],i.actions=[],i.bones={},i.slots={},i.constraints={},i.skins={},i.animations={},i.canvas=null,i.userData=null,i}return r(i,e),i.toString=function(){return"[class dragonBones.ArmatureData]"},i.prototype._onClear=function(){for(var t=0,e=this.defaultActions;t<e.length;t++){e[t].returnToPool()}for(var i=0,n=this.actions;i<n.length;i++){n[i].returnToPool()}for(var r in this.bones)this.bones[r].returnToPool(),delete this.bones[r];for(var r in this.slots)this.slots[r].returnToPool(),delete this.slots[r];for(var r in this.constraints)this.constraints[r].returnToPool(),delete this.constraints[r];for(var r in this.skins)this.skins[r].returnToPool(),delete this.skins[r];for(var r in this.animations)this.animations[r].returnToPool(),delete this.animations[r];null!==this.canvas&&this.canvas.returnToPool(),null!==this.userData&&this.userData.returnToPool(),this.type=0,this.frameRate=0,this.cacheFrameRate=0,this.scale=1,this.name="",this.aabb.clear(),this.animationNames.length=0,this.sortedBones.length=0,this.sortedSlots.length=0,this.defaultActions.length=0,this.actions.length=0,this.defaultSkin=null,this.defaultAnimation=null,this.canvas=null,this.userData=null,this.parent=null},i.prototype.sortBones=function(){var t=this.sortedBones.length;if(!(t<=0)){var e=this.sortedBones.concat(),i=0,n=0;for(this.sortedBones.length=0;n<t;){var r=e[i++];if(i>=t&&(i=0),!(this.sortedBones.indexOf(r)>=0)){var s=!1;for(var a in this.constraints){var o=this.constraints[a];if(o.root===r&&this.sortedBones.indexOf(o.target)<0){s=!0;break}}s||null!==r.parent&&this.sortedBones.indexOf(r.parent)<0||(this.sortedBones.push(r),n++)}}}},i.prototype.cacheFrames=function(t){if(!(this.cacheFrameRate>0)){this.cacheFrameRate=t;for(var e in this.animations)this.animations[e].cacheFrames(this.cacheFrameRate)}},i.prototype.setCacheFrame=function(t,e){var i=this.parent.cachedFrames,n=i.length;return i.length+=10,i[n]=t.a,i[n+1]=t.b,i[n+2]=t.c,i[n+3]=t.d,i[n+4]=t.tx,i[n+5]=t.ty,i[n+6]=e.rotation,i[n+7]=e.skew,i[n+8]=e.scaleX,i[n+9]=e.scaleY,n},i.prototype.getCacheFrame=function(t,e,i){var n=this.parent.cachedFrames;t.a=n[i],t.b=n[i+1],t.c=n[i+2],t.d=n[i+3],t.tx=n[i+4],t.ty=n[i+5],e.rotation=n[i+6],e.skew=n[i+7],e.scaleX=n[i+8],e.scaleY=n[i+9],e.x=t.tx,e.y=t.ty},i.prototype.addBone=function(t){t.name in this.bones?console.warn("Same bone: "+t.name):(this.bones[t.name]=t,this.sortedBones.push(t))},i.prototype.addSlot=function(t){t.name in this.slots?console.warn("Same slot: "+t.name):(this.slots[t.name]=t,this.sortedSlots.push(t))},i.prototype.addConstraint=function(t){t.name in this.constraints?console.warn("Same constraint: "+t.name):this.constraints[t.name]=t},i.prototype.addSkin=function(t){t.name in this.skins?console.warn("Same skin: "+t.name):(t.parent=this,this.skins[t.name]=t,null===this.defaultSkin&&(this.defaultSkin=t),"default"===t.name&&(this.defaultSkin=t))},i.prototype.addAnimation=function(t){t.name in this.animations?console.warn("Same animation: "+t.name):(t.parent=this,this.animations[t.name]=t,this.animationNames.push(t.name),null===this.defaultAnimation&&(this.defaultAnimation=t))},i.prototype.addAction=function(t,e){e?this.defaultActions.push(t):this.actions.push(t)},i.prototype.getBone=function(t){return t in this.bones?this.bones[t]:null},i.prototype.getSlot=function(t){return t in this.slots?this.slots[t]:null},i.prototype.getConstraint=function(t){return t in this.constraints?this.constraints[t]:null},i.prototype.getSkin=function(t){return t in this.skins?this.skins[t]:null},i.prototype.getMesh=function(t,e,i){var n=this.getSkin(t);return null===n?null:n.getDisplay(e,i)},i.prototype.getAnimation=function(t){return t in this.animations?this.animations[t]:null},i})(t.BaseObject);t.ArmatureData=e;var i=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.transform=new t.Transform,i.userData=null,i}return r(i,e),i.toString=function(){return"[class dragonBones.BoneData]"},i.prototype._onClear=function(){null!==this.userData&&this.userData.returnToPool(),this.inheritTranslation=!1,this.inheritRotation=!1,this.inheritScale=!1,this.inheritReflection=!1,this.type=0,this.length=0,this.name="",this.transform.identity(),this.userData=null,this.parent=null},i})(t.BaseObject);t.BoneData=i;var n=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.vertices=[],e}return r(e,t),e.toString=function(){return"[class dragonBones.SurfaceData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=1,this.segmentX=0,this.segmentY=0,this.vertices.length=0},e})(i);t.SurfaceData=n;var s=(function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.color=null,t.userData=null,t}return r(i,e),i.createColor=function(){return new t.ColorTransform},i.toString=function(){return"[class dragonBones.SlotData]"},i.prototype._onClear=function(){null!==this.userData&&this.userData.returnToPool(),this.blendMode=0,this.displayIndex=0,this.zOrder=0,this.name="",this.color=null,this.userData=null,this.parent=null},i.DEFAULT_COLOR=new t.ColorTransform,i})(t.BaseObject);t.SlotData=s})(n||(n={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.prototype._onClear=function(){this.order=0,this.name="",this.target=null,this.root=null,this.bone=null},e})(t.BaseObject);t.ConstraintData=e;var i=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.toString=function(){return"[class dragonBones.IKConstraintData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.scaleEnabled=!1,this.bendPositive=!1,this.weight=1},e})(e);t.IKConstraintData=i})(n||(n={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.toString=function(){return"[class dragonBones.CanvasData]"},e.prototype._onClear=function(){this.hasBackground=!1,this.color=0,this.x=0,this.y=0,this.width=0,this.height=0},e})(t.BaseObject);t.CanvasData=e})(n||(n={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.displays={},e}return r(e,t),e.toString=function(){return"[class dragonBones.SkinData]"},e.prototype._onClear=function(){for(var t in this.displays){for(var e=0,i=this.displays[t];e<i.length;e++){var n=i[e];null!==n&&n.returnToPool()}delete this.displays[t]}this.name="",this.parent=null},e.prototype.addDisplay=function(t,e){t in this.displays||(this.displays[t]=[]),null!==e&&(e.parent=this),this.displays[t].push(e)},e.prototype.getDisplay=function(t,e){var i=this.getDisplays(t);if(null!==i)for(var n=0,r=i;n<r.length;n++){var s=r[n];if(null!==s&&s.name===e)return s}return null},e.prototype.getDisplays=function(t){return t in this.displays?this.displays[t]:null},e})(t.BaseObject);t.SkinData=e})(n||(n={})),(function(t){var e=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.transform=new t.Transform,i}return r(i,e),i.prototype._onClear=function(){this.name="",this.path="",this.transform.identity(),this.parent=null},i})(t.BaseObject);t.DisplayData=e;var i=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.pivot=new t.Point,i}return r(i,e),i.toString=function(){return"[class dragonBones.ImageDisplayData]"},i.prototype._onClear=function(){e.prototype._onClear.call(this),this.type=0,this.pivot.clear(),this.texture=null},i})(e);t.ImageDisplayData=i;var n=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.actions=[],e}return r(e,t),e.toString=function(){return"[class dragonBones.ArmatureDisplayData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this);for(var e=0,i=this.actions;e<i.length;e++){i[e].returnToPool()}this.type=1,this.inheritAnimation=!1,this.actions.length=0,this.armature=null},e.prototype.addAction=function(t){this.actions.push(t)},e})(e);t.ArmatureDisplayData=n;var s=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.weight=null,e.glue=null,e}return r(e,t),e.toString=function(){return"[class dragonBones.MeshDisplayData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),null!==this.weight&&this.weight.returnToPool(),null!==this.glue&&this.glue.returnToPool(),this.type=2,this.inheritDeform=!1,this.offset=0,this.weight=null,this.glue=null,this.texture=null},e})(e);t.MeshDisplayData=s;var a=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.boundingBox=null,e}return r(e,t),e.toString=function(){return"[class dragonBones.BoundingBoxDisplayData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),null!==this.boundingBox&&this.boundingBox.returnToPool(),this.type=3,this.boundingBox=null},e})(e);t.BoundingBoxDisplayData=a;var o=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.bones=[],e}return r(e,t),e.toString=function(){return"[class dragonBones.WeightData]"},e.prototype._onClear=function(){this.count=0,this.offset=0,this.bones.length=0},e.prototype.addBone=function(t){this.bones.push(t)},e})(t.BaseObject);t.WeightData=o;var h=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.meshes=[],e}return r(e,t),e.toString=function(){return"[class dragonBones.GlueData]"},e.prototype._onClear=function(){this.weights.length=0,this.meshes.length=0},e.prototype.addMesh=function(t){this.meshes.push(t)},e})(t.BaseObject);t.GlueData=h})(n||(n={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.prototype._onClear=function(){this.color=0,this.width=0,this.height=0},e})(t.BaseObject);t.BoundingBoxData=e;var i=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.toString=function(){return"[class dragonBones.RectangleBoundingBoxData]"},e._computeOutCode=function(t,e,i,n,r,s){var a=0;return t<i?a|=1:t>r&&(a|=2),e<n?a|=4:e>s&&(a|=8),a},e.rectangleIntersectsSegment=function(t,i,n,r,s,a,o,h,l,c,u){void 0===l&&(l=null),void 0===c&&(c=null),void 0===u&&(u=null);var _=t>s&&t<o&&i>a&&i<h,f=n>s&&n<o&&r>a&&r<h;if(_&&f)return-1;for(var m=0,d=e._computeOutCode(t,i,s,a,o,h),p=e._computeOutCode(n,r,s,a,o,h);;){if(0==(d|p)){m=2;break}if(0!=(d&p))break;var y=0,v=0,g=0,x=0!==d?d:p;0!=(4&x)?(y=t+(n-t)*(a-i)/(r-i),v=a,null!==u&&(g=.5*-Math.PI)):0!=(8&x)?(y=t+(n-t)*(h-i)/(r-i),v=h,null!==u&&(g=.5*Math.PI)):0!=(2&x)?(v=i+(r-i)*(o-t)/(n-t),y=o,null!==u&&(g=0)):0!=(1&x)&&(v=i+(r-i)*(s-t)/(n-t),y=s,null!==u&&(g=Math.PI)),x===d?(t=y,i=v,d=e._computeOutCode(t,i,s,a,o,h),null!==u&&(u.x=g)):(n=y,r=v,p=e._computeOutCode(n,r,s,a,o,h),null!==u&&(u.y=g))}return m&&(_?(m=2,null!==l&&(l.x=n,l.y=r),null!==c&&(c.x=n,c.y=n),null!==u&&(u.x=u.y+Math.PI)):f?(m=1,null!==l&&(l.x=t,l.y=i),null!==c&&(c.x=t,c.y=i),null!==u&&(u.y=u.x+Math.PI)):(m=3,null!==l&&(l.x=t,l.y=i),null!==c&&(c.x=n,c.y=r))),m},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=0},e.prototype.containsPoint=function(t,e){var i=.5*this.width;if(t>=-i&&t<=i){var n=.5*this.height;if(e>=-n&&e<=n)return!0}return!1},e.prototype.intersectsSegment=function(t,i,n,r,s,a,o){void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null);var h=.5*this.width,l=.5*this.height;return e.rectangleIntersectsSegment(t,i,n,r,-h,-l,h,l,s,a,o)},e})(e);t.RectangleBoundingBoxData=i;var n=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.toString=function(){return"[class dragonBones.EllipseData]"},e.ellipseIntersectsSegment=function(t,e,i,n,r,s,a,o,h,l,c){void 0===h&&(h=null),void 0===l&&(l=null),void 0===c&&(c=null);var u=a/o,_=u*u,f=i-t,m=(n*=u)-(e*=u),d=Math.sqrt(f*f+m*m),p=f/d,y=m/d,v=(r-t)*p+(s-e)*y,g=a*a,x=g-(t*t+e*e)+v*v,A=0;if(x>=0){var b=Math.sqrt(x),C=v-b,S=v+b,T=C<0?-1:C<=d?0:1,w=S<0?-1:S<=d?0:1,E=T*w;if(E<0)return-1;0===E&&(-1===T?(A=2,i=t+S*p,n=(e+S*y)/u,null!==h&&(h.x=i,h.y=n),null!==l&&(l.x=i,l.y=n),null!==c&&(c.x=Math.atan2(n/g*_,i/g),c.y=c.x+Math.PI)):1===w?(A=1,t+=C*p,e=(e+C*y)/u,null!==h&&(h.x=t,h.y=e),null!==l&&(l.x=t,l.y=e),null!==c&&(c.x=Math.atan2(e/g*_,t/g),c.y=c.x+Math.PI)):(A=3,null!==h&&(h.x=t+C*p,h.y=(e+C*y)/u,null!==c&&(c.x=Math.atan2(h.y/g*_,h.x/g))),null!==l&&(l.x=t+S*p,l.y=(e+S*y)/u,null!==c&&(c.y=Math.atan2(l.y/g*_,l.x/g)))))}return A},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=1},e.prototype.containsPoint=function(t,e){var i=.5*this.width;if(t>=-i&&t<=i){var n=.5*this.height;if(e>=-n&&e<=n)return e*=i/n,Math.sqrt(t*t+e*e)<=i}return!1},e.prototype.intersectsSegment=function(t,i,n,r,s,a,o){return void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null),e.ellipseIntersectsSegment(t,i,n,r,0,0,.5*this.width,.5*this.height,s,a,o)},e})(e);t.EllipseBoundingBoxData=n;var s=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.vertices=[],e.weight=null,e}return r(e,t),e.toString=function(){return"[class dragonBones.PolygonBoundingBoxData]"},e.polygonIntersectsSegment=function(t,e,i,n,r,s,a,o){void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null),t===i&&(t=i+1e-6),e===n&&(e=n+1e-6);for(var h=r.length,l=t-i,c=e-n,u=t*n-e*i,_=0,f=r[h-2],m=r[h-1],d=0,p=0,y=0,v=0,g=0,x=0,A=0;A<h;A+=2){var b=r[A],C=r[A+1];f===b&&(f=b+1e-4),m===C&&(m=C+1e-4);var S=f-b,T=m-C,w=f*C-m*b,E=l*T-c*S,D=(u*S-l*w)/E;if((D>=f&&D<=b||D>=b&&D<=f)&&(0===l||D>=t&&D<=i||D>=i&&D<=t)){var M=(u*T-c*w)/E;if((M>=m&&M<=C||M>=C&&M<=m)&&(0===c||M>=e&&M<=n||M>=n&&M<=e)){if(null===a){y=D,v=M,g=D,x=M,_++,null!==o&&(o.x=Math.atan2(C-m,b-f)-.5*Math.PI,o.y=o.x);break}var B=D-t;B<0&&(B=-B),0===_?(d=B,p=B,y=D,v=M,g=D,x=M,null!==o&&(o.x=Math.atan2(C-m,b-f)-.5*Math.PI,o.y=o.x)):(B<d&&(d=B,y=D,v=M,null!==o&&(o.x=Math.atan2(C-m,b-f)-.5*Math.PI)),B>p&&(p=B,g=D,x=M,null!==o&&(o.y=Math.atan2(C-m,b-f)-.5*Math.PI))),_++}}f=b,m=C}return 1===_?(null!==s&&(s.x=y,s.y=v),null!==a&&(a.x=y,a.y=v),null!==o&&(o.y=o.x+Math.PI)):_>1&&(_++,null!==s&&(s.x=y,s.y=v),null!==a&&(a.x=g,a.y=x)),_},e.prototype._onClear=function(){t.prototype._onClear.call(this),null!==this.weight&&this.weight.returnToPool(),this.type=2,this.x=0,this.y=0,this.vertices.length=0,this.weight=null},e.prototype.containsPoint=function(t,e){var i=!1;if(t>=this.x&&t<=this.width&&e>=this.y&&e<=this.height)for(var n=0,r=this.vertices.length,s=r-2;n<r;n+=2){var a=this.vertices[s+1],o=this.vertices[n+1];if(o<e&&a>=e||a<e&&o>=e){var h=this.vertices[s],l=this.vertices[n];(e-o)*(h-l)/(a-o)+l<t&&(i=!i)}s=n}return i},e.prototype.intersectsSegment=function(t,n,r,s,a,o,h){void 0===a&&(a=null),void 0===o&&(o=null),void 0===h&&(h=null);var l=0;return 0!==i.rectangleIntersectsSegment(t,n,r,s,this.x,this.y,this.x+this.width,this.y+this.height,null,null,null)&&(l=e.polygonIntersectsSegment(t,n,r,s,this.vertices,a,o,h)),l},e})(e);t.PolygonBoundingBoxData=s})(n||(n={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.cachedFrames=[],e.boneTimelines={},e.surfaceTimelines={},e.slotTimelines={},e.constraintTimelines={},e.animationTimelines={},e.boneCachedFrameIndices={},e.slotCachedFrameIndices={},e.actionTimeline=null,e.zOrderTimeline=null,e}return r(e,t),e.toString=function(){return"[class dragonBones.AnimationData]"},e.prototype._onClear=function(){for(var t in this.boneTimelines){for(var e=0,i=this.boneTimelines[t];e<i.length;e++){i[e].returnToPool()}delete this.boneTimelines[t]}for(var t in this.surfaceTimelines){for(var n=0,r=this.surfaceTimelines[t];n<r.length;n++){r[n].returnToPool()}delete this.surfaceTimelines[t]}for(var t in this.slotTimelines){for(var s=0,a=this.slotTimelines[t];s<a.length;s++){a[s].returnToPool()}delete this.slotTimelines[t]}for(var t in this.constraintTimelines){for(var o=0,h=this.constraintTimelines[t];o<h.length;o++){h[o].returnToPool()}delete this.constraintTimelines[t]}for(var t in this.animationTimelines){for(var l=0,c=this.animationTimelines[t];l<c.length;l++){c[l].returnToPool()}delete this.animationTimelines[t]}for(var t in this.boneCachedFrameIndices)delete this.boneCachedFrameIndices[t];for(var t in this.slotCachedFrameIndices)delete this.slotCachedFrameIndices[t];null!==this.actionTimeline&&this.actionTimeline.returnToPool(),null!==this.zOrderTimeline&&this.zOrderTimeline.returnToPool(),this.frameIntOffset=0,this.frameFloatOffset=0,this.frameOffset=0,this.frameCount=0,this.playTimes=0,this.duration=0,this.scale=1,this.fadeInTime=0,this.cacheFrameRate=0,this.name="",this.cachedFrames.length=0,this.actionTimeline=null,this.zOrderTimeline=null,this.parent=null},e.prototype.cacheFrames=function(t){if(!(this.cacheFrameRate>0)){this.cacheFrameRate=Math.max(Math.ceil(t*this.scale),1);var e=Math.ceil(this.cacheFrameRate*this.duration)+1;this.cachedFrames.length=e;for(var i=0,n=this.cacheFrames.length;i<n;++i)this.cachedFrames[i]=!1;for(var r=0,s=this.parent.sortedBones;r<s.length;r++){var a=s[r];for(i=0,n=(l=new Array(e)).length;i<n;++i)l[i]=-1;this.boneCachedFrameIndices[a.name]=l}for(var o=0,h=this.parent.sortedSlots;o<h.length;o++){var l,c=h[o];for(i=0,n=(l=new Array(e)).length;i<n;++i)l[i]=-1;this.slotCachedFrameIndices[c.name]=l}}},e.prototype.addBoneTimeline=function(t,e){var i=t.name in this.boneTimelines?this.boneTimelines[t.name]:this.boneTimelines[t.name]=[];i.indexOf(e)<0&&i.push(e)},e.prototype.addSurfaceTimeline=function(t,e){var i=t.name in this.surfaceTimelines?this.surfaceTimelines[t.name]:this.surfaceTimelines[t.name]=[];i.indexOf(e)<0&&i.push(e)},e.prototype.addSlotTimeline=function(t,e){var i=t.name in this.slotTimelines?this.slotTimelines[t.name]:this.slotTimelines[t.name]=[];i.indexOf(e)<0&&i.push(e)},e.prototype.addConstraintTimeline=function(t,e){var i=t.name in this.constraintTimelines?this.constraintTimelines[t.name]:this.constraintTimelines[t.name]=[];i.indexOf(e)<0&&i.push(e)},e.prototype.addAnimationTimeline=function(t,e){var i=t in this.animationTimelines?this.animationTimelines[t]:this.animationTimelines[t]=[];i.indexOf(e)<0&&i.push(e)},e.prototype.getBoneTimelines=function(t){return t in this.boneTimelines?this.boneTimelines[t]:null},e.prototype.getSurfaceTimelines=function(t){return t in this.surfaceTimelines?this.surfaceTimelines[t]:null},e.prototype.getSlotTimelines=function(t){return t in this.slotTimelines?this.slotTimelines[t]:null},e.prototype.getConstraintTimelines=function(t){return t in this.constraintTimelines?this.constraintTimelines[t]:null},e.prototype.getAnimationTimelines=function(t){return t in this.animationTimelines?this.animationTimelines[t]:null},e.prototype.getBoneCachedFrameIndices=function(t){return t in this.boneCachedFrameIndices?this.boneCachedFrameIndices[t]:null},e.prototype.getSlotCachedFrameIndices=function(t){return t in this.slotCachedFrameIndices?this.slotCachedFrameIndices[t]:null},e})(t.BaseObject);t.AnimationData=e;var i=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.toString=function(){return"[class dragonBones.TimelineData]"},e.prototype._onClear=function(){this.type=10,this.offset=0,this.frameIndicesOffset=-1},e})(t.BaseObject);t.TimelineData=i})(n||(n={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.boneMask=[],e}return r(e,t),e.toString=function(){return"[class dragonBones.AnimationConfig]"},e.prototype._onClear=function(){this.pauseFadeOut=!0,this.fadeOutMode=4,this.fadeOutTweenType=1,this.fadeOutTime=-1,this.actionEnabled=!0,this.additiveBlending=!1,this.displayControl=!0,this.pauseFadeIn=!0,this.resetToPose=!0,this.fadeInTweenType=1,this.playTimes=-1,this.layer=0,this.position=0,this.duration=-1,this.timeScale=-100,this.weight=1,this.fadeInTime=-1,this.autoFadeOutTime=-1,this.name="",this.animation="",this.group="",this.boneMask.length=0},e.prototype.clear=function(){this._onClear()},e.prototype.copyFrom=function(t){this.pauseFadeOut=t.pauseFadeOut,this.fadeOutMode=t.fadeOutMode,this.autoFadeOutTime=t.autoFadeOutTime,this.fadeOutTweenType=t.fadeOutTweenType,this.actionEnabled=t.actionEnabled,this.additiveBlending=t.additiveBlending,this.displayControl=t.displayControl,this.pauseFadeIn=t.pauseFadeIn,this.resetToPose=t.resetToPose,this.playTimes=t.playTimes,this.layer=t.layer,this.position=t.position,this.duration=t.duration,this.timeScale=t.timeScale,this.fadeInTime=t.fadeInTime,this.fadeOutTime=t.fadeOutTime,this.fadeInTweenType=t.fadeInTweenType,this.weight=t.weight,this.name=t.name,this.animation=t.animation,this.group=t.group,this.boneMask.length=t.boneMask.length;for(var e=0,i=this.boneMask.length;e<i;++e)this.boneMask[e]=t.boneMask[e]},e.prototype.containsBoneMask=function(t){return 0===this.boneMask.length||this.boneMask.indexOf(t)>=0},e.prototype.addBoneMask=function(t,e,i){void 0===i&&(i=!0);var n=t.getBone(e);if(null!==n&&(this.boneMask.indexOf(e)<0&&this.boneMask.push(e),i))for(var r=0,s=t.getBones();r<s.length;r++){var a=s[r];this.boneMask.indexOf(a.name)<0&&n.contains(a)&&this.boneMask.push(a.name)}},e.prototype.removeBoneMask=function(t,e,i){void 0===i&&(i=!0);var n=this.boneMask.indexOf(e);if(n>=0&&this.boneMask.splice(n,1),i){var r=t.getBone(e);if(null!==r)if(this.boneMask.length>0)for(var s=0,a=t.getBones();s<a.length;s++){var o=a[s],h=this.boneMask.indexOf(o.name);h>=0&&r.contains(o)&&this.boneMask.splice(h,1)}else for(var l=0,c=t.getBones();l<c.length;l++){(o=c[l])!==r&&(r.contains(o)||this.boneMask.push(o.name))}}},e})(t.BaseObject);t.AnimationConfig=e})(n||(n={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.textures={},e}return r(e,t),e.prototype._onClear=function(){for(var t in this.textures)this.textures[t].returnToPool(),delete this.textures[t];this.autoSearch=!1,this.width=0,this.height=0,this.scale=1,this.name="",this.imagePath=""},e.prototype.copyFrom=function(t){this.autoSearch=t.autoSearch,this.scale=t.scale,this.width=t.width,this.height=t.height,this.name=t.name,this.imagePath=t.imagePath;for(var e in this.textures)this.textures[e].returnToPool(),delete this.textures[e];for(var e in t.textures){var i=this.createTexture();i.copyFrom(t.textures[e]),this.textures[e]=i}},e.prototype.addTexture=function(t){t.name in this.textures?console.warn("Same texture: "+t.name):(t.parent=this,this.textures[t.name]=t)},e.prototype.getTexture=function(t){return t in this.textures?this.textures[t]:null},e})(t.BaseObject);t.TextureAtlasData=e;var i=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.region=new t.Rectangle,i.frame=null,i}return r(i,e),i.createRectangle=function(){return new t.Rectangle},i.prototype._onClear=function(){this.rotated=!1,this.name="",this.region.clear(),this.parent=null,this.frame=null},i.prototype.copyFrom=function(t){this.rotated=t.rotated,this.name=t.name,this.region.copyFrom(t.region),this.parent=t.parent,null===this.frame&&null!==t.frame?this.frame=i.createRectangle():null!==this.frame&&null===t.frame&&(this.frame=null),null!==this.frame&&null!==t.frame&&this.frame.copyFrom(t.frame)},i})(t.BaseObject);t.TextureData=i})(n||(n={})),(function(t){var e=(function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t._bones=[],t._slots=[],t._glueSlots=[],t._constraints=[],t._actions=[],t._animation=null,t._proxy=null,t._replaceTextureAtlasData=null,t._clock=null,t}return r(i,e),i.toString=function(){return"[class dragonBones.Armature]"},i._onSortSlots=function(t,e){return t._zOrder>e._zOrder?1:-1},i.prototype._onClear=function(){null!==this._clock&&this._clock.remove(this);for(var t=0,e=this._bones;t<e.length;t++){e[t].returnToPool()}for(var i=0,n=this._slots;i<n.length;i++){n[i].returnToPool()}for(var r=0,s=this._constraints;r<s.length;r++){s[r].returnToPool()}null!==this._animation&&this._animation.returnToPool(),null!==this._proxy&&this._proxy.dbClear(),null!==this._replaceTextureAtlasData&&this._replaceTextureAtlasData.returnToPool(),this.inheritAnimation=!0,this.userData=null,this._lockUpdate=!1,this._bonesDirty=!1,this._slotsDirty=!1,this._zOrderDirty=!1,this._flipX=!1,this._flipY=!1,this._cacheFrameIndex=-1,this._bones.length=0,this._slots.length=0,this._glueSlots.length=0,this._constraints.length=0,this._actions.length=0,this._armatureData=null,this._animation=null,this._proxy=null,this._display=null,this._replaceTextureAtlasData=null,this._replacedTexture=null,this._dragonBones=null,this._clock=null,this._parent=null},i.prototype._sortBones=function(){var t=this._bones.length;if(!(t<=0)){var e=this._bones.concat(),i=0,n=0;for(this._bones.length=0;n<t;){var r=e[i++];if(i>=t&&(i=0),!(this._bones.indexOf(r)>=0)){if(r._hasConstraint){for(var s=!1,a=0,o=this._constraints;a<o.length;a++){var h=o[a];if(h._root===r&&this._bones.indexOf(h._target)<0){s=!0;break}}if(s)continue}null!==r.parent&&this._bones.indexOf(r.parent)<0||(this._bones.push(r),n++)}}}},i.prototype._sortSlots=function(){this._slots.sort(i._onSortSlots)},i.prototype._sortZOrder=function(t,e){var i=this._armatureData.sortedSlots,n=null===t;if(this._zOrderDirty||!n){for(var r=0,s=i.length;r<s;++r){var a=n?r:t[e+r];if(!(a<0||a>=s)){var o=i[a],h=this.getSlot(o.name);null!==h&&h._setZorder(r)}}this._slotsDirty=!0,this._zOrderDirty=!n}},i.prototype._addBoneToBoneList=function(t){this._bones.indexOf(t)<0&&(this._bonesDirty=!0,this._bones.push(t))},i.prototype._removeBoneFromBoneList=function(t){var e=this._bones.indexOf(t);e>=0&&this._bones.splice(e,1)},i.prototype._addSlotToSlotList=function(t){this._slots.indexOf(t)<0&&(this._slotsDirty=!0,this._slots.push(t))},i.prototype._removeSlotFromSlotList=function(t){var e=this._slots.indexOf(t);e>=0&&this._slots.splice(e,1)},i.prototype._bufferAction=function(t,e){this._actions.indexOf(t)<0&&(e?this._actions.push(t):this._actions.unshift(t))},i.prototype.dispose=function(){null!==this._armatureData&&(this._lockUpdate=!0,this._dragonBones.bufferObject(this))},i.prototype.init=function(e,i,n,r){null===this._armatureData&&(this._armatureData=e,this._animation=t.BaseObject.borrowObject(t.Animation),this._proxy=i,this._display=n,this._dragonBones=r,this._proxy.dbInit(this),this._animation.init(this),this._animation.animations=this._armatureData.animations)},i.prototype.advanceTime=function(t){if(!this._lockUpdate)if(null!==this._armatureData)if(null!==this._armatureData.parent){var e=this._cacheFrameIndex;if(this._animation.advanceTime(t),this._bonesDirty&&(this._bonesDirty=!1,this._sortBones()),this._slotsDirty&&(this._slotsDirty=!1,this._sortSlots()),this._cacheFrameIndex<0||this._cacheFrameIndex!==e){var i=0,n=0;for(i=0,n=this._bones.length;i<n;++i)this._bones[i].update(this._cacheFrameIndex);for(i=0,n=this._slots.length;i<n;++i)this._slots[i].update(this._cacheFrameIndex);for(i=0,n=this._glueSlots.length;i<n;++i)this._glueSlots[i]._updateGlueMesh()}if(this._actions.length>0){this._lockUpdate=!0;for(var r=0,s=this._actions;r<s.length;r++){var a=s[r];0===a.type&&this._animation.fadeIn(a.name)}this._actions.length=0,this._lockUpdate=!1}this._proxy.dbUpdate()}else console.warn("The armature data has been disposed.\nPlease make sure dispose armature before call factory.clear().");else console.warn("The armature has been disposed.")},i.prototype.invalidUpdate=function(t,e){if(void 0===t&&(t=null),void 0===e&&(e=!1),null!==t&&t.length>0){if(null!==(a=this.getBone(t))&&(a.invalidUpdate(),e))for(var i=0,n=this._slots;i<n.length;i++){(l=n[i]).parent===a&&l.invalidUpdate()}}else{for(var r=0,s=this._bones;r<s.length;r++){var a;(a=s[r]).invalidUpdate()}if(e)for(var o=0,h=this._slots;o<h.length;o++){var l;(l=h[o]).invalidUpdate()}}},i.prototype.containsPoint=function(t,e){for(var i=0,n=this._slots;i<n.length;i++){var r=n[i];if(r.containsPoint(t,e))return r}return null},i.prototype.intersectsSegment=function(t,e,i,n,r,s,a){void 0===r&&(r=null),void 0===s&&(s=null),void 0===a&&(a=null);for(var o=t===i,h=0,l=0,c=0,u=0,_=0,f=0,m=0,d=0,p=null,y=null,v=0,g=this._slots;v<g.length;v++){var x=g[v];if(x.intersectsSegment(t,e,i,n,r,s,a)>0){if(null===r&&null===s){p=x;break}var A;null!==r&&((A=o?r.y-e:r.x-t)<0&&(A=-A),(null===p||A<h)&&(h=A,c=r.x,u=r.y,p=x,a&&(m=a.x))),null!==s&&((A=s.x-t)<0&&(A=-A),(null===y||A>l)&&(l=A,_=s.x,f=s.y,y=x,null!==a&&(d=a.y)))}}return null!==p&&null!==r&&(r.x=c,r.y=u,null!==a&&(a.x=m)),null!==y&&null!==s&&(s.x=_,s.y=f,null!==a&&(a.y=d)),p},i.prototype.getBone=function(t){for(var e=0,i=this._bones;e<i.length;e++){var n=i[e];if(n.name===t)return n}return null},i.prototype.getBoneByDisplay=function(t){var e=this.getSlotByDisplay(t);return null!==e?e.parent:null},i.prototype.getSlot=function(t){for(var e=0,i=this._slots;e<i.length;e++){var n=i[e];if(n.name===t)return n}return null},i.prototype.getSlotByDisplay=function(t){if(null!==t)for(var e=0,i=this._slots;e<i.length;e++){var n=i[e];if(n.display===t)return n}return null},i.prototype.addBone=function(t,e){console.assert(null!==t),t._setArmature(this),t._setParent(e.length>0?this.getBone(e):null)},i.prototype.addSlot=function(t,e){var i=this.getBone(e);console.assert(null!==t&&null!==i),t._setArmature(this),t._setParent(i)},i.prototype.addConstraint=function(t){this._constraints.indexOf(t)<0&&this._constraints.push(t)},i.prototype.removeBone=function(t){console.assert(null!==t&&t.armature===this),t._setParent(null),t._setArmature(null)},i.prototype.removeSlot=function(t){console.assert(null!==t&&t.armature===this),t._setParent(null),t._setArmature(null)},i.prototype.getBones=function(){return this._bones},i.prototype.getSlots=function(){return this._slots},Object.defineProperty(i.prototype,"flipX",{get:function(){return this._flipX},set:function(t){this._flipX!==t&&(this._flipX=t,this.invalidUpdate())},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"flipY",{get:function(){return this._flipY},set:function(t){this._flipY!==t&&(this._flipY=t,this.invalidUpdate())},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"cacheFrameRate",{get:function(){return this._armatureData.cacheFrameRate},set:function(t){if(this._armatureData.cacheFrameRate!==t){this._armatureData.cacheFrames(t);for(var e=0,i=this._slots;e<i.length;e++){var n=i[e].childArmature;null!==n&&(n.cacheFrameRate=t)}}},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"name",{get:function(){return this._armatureData.name},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"armatureData",{get:function(){return this._armatureData},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animation",{get:function(){return this._animation},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"proxy",{get:function(){return this._proxy},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"eventDispatcher",{get:function(){return this._proxy},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"display",{get:function(){return this._display},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"replacedTexture",{get:function(){return this._replacedTexture},set:function(t){if(this._replacedTexture!==t){null!==this._replaceTextureAtlasData&&(this._replaceTextureAtlasData.returnToPool(),this._replaceTextureAtlasData=null),this._replacedTexture=t;for(var e=0,i=this._slots;e<i.length;e++){var n=i[e];n.invalidUpdate(),n.update(-1)}}},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"clock",{get:function(){return this._clock},set:function(t){if(this._clock!==t){null!==this._clock&&this._clock.remove(this),this._clock=t,this._clock&&this._clock.add(this);for(var e=0,i=this._slots;e<i.length;e++){var n=i[e].childArmature;null!==n&&(n.clock=this._clock)}}},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),i.prototype.replaceTexture=function(t){this.replacedTexture=t},i.prototype.hasEventListener=function(t){return this._proxy.hasDBEventListener(t)},i.prototype.addEventListener=function(t,e,i){this._proxy.addDBEventListener(t,e,i)},i.prototype.removeEventListener=function(t,e,i){this._proxy.removeDBEventListener(t,e,i)},i.prototype.enableAnimationCache=function(t){this.cacheFrameRate=t},i.prototype.getDisplay=function(){return this._display},i})(t.BaseObject);t.Armature=e})(n||(n={})),(function(t){var e=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.globalTransformMatrix=new t.Matrix,i.global=new t.Transform,i.offset=new t.Transform,i}return r(i,e),i.prototype._onClear=function(){this.globalTransformMatrix.identity(),this.global.identity(),this.offset.identity(),this.origin=null,this.userData=null,this._globalDirty=!1,this._armature=null,this._parent=null},i.prototype._setArmature=function(t){this._armature=t},i.prototype._setParent=function(t){this._parent=t},i.prototype.updateGlobalTransform=function(){this._globalDirty&&(this._globalDirty=!1,this.global.fromMatrix(this.globalTransformMatrix))},Object.defineProperty(i.prototype,"armature",{get:function(){return this._armature},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),i._helpMatrix=new t.Matrix,i._helpTransform=new t.Transform,i._helpPoint=new t.Point,i})(t.BaseObject);t.TransformObject=e})(n||(n={})),(function(t){var e=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.animationPose=new t.Transform,i._blendState=new t.BlendState,i}return r(i,e),i.toString=function(){return"[class dragonBones.Bone]"},i.prototype._onClear=function(){e.prototype._onClear.call(this),this.offsetMode=1,this.animationPose.identity(),this._transformDirty=!1,this._childrenTransformDirty=!1,this._localDirty=!0,this._hasConstraint=!1,this._visible=!0,this._cachedFrameIndex=-1,this._blendState.clear(),this._boneData=null,this._cachedFrameIndices=null},i.prototype._updateGlobalTransformMatrix=function(e){var i=this._boneData,n=this._parent,r=this._armature.flipX,s=this._armature.flipY===t.DragonBones.yDown,a=null!==n,o=0,h=this.global,l=this.globalTransformMatrix;if(1===this.offsetMode?null!==this.origin?(h.x=this.origin.x+this.offset.x+this.animationPose.x,h.y=this.origin.y+this.offset.y+this.animationPose.y,h.skew=this.origin.skew+this.offset.skew+this.animationPose.skew,h.rotation=this.origin.rotation+this.offset.rotation+this.animationPose.rotation,h.scaleX=this.origin.scaleX*this.offset.scaleX*this.animationPose.scaleX,h.scaleY=this.origin.scaleY*this.offset.scaleY*this.animationPose.scaleY):h.copyFrom(this.offset).add(this.animationPose):0===this.offsetMode?null!==this.origin?h.copyFrom(this.origin).add(this.animationPose):h.copyFrom(this.animationPose):(a=!1,h.copyFrom(this.offset)),a){var c=0===n._boneData.type?n.globalTransformMatrix:n._getGlobalTransformMatrix(h.x,h.y);if(i.inheritScale)i.inheritRotation||(n.updateGlobalTransform(),o=r&&s?h.rotation-(n.global.rotation+Math.PI):r?h.rotation+n.global.rotation+Math.PI:s?h.rotation+n.global.rotation:h.rotation-n.global.rotation,h.rotation=o),h.toMatrix(l),l.concat(c),i.inheritTranslation?(h.x=l.tx,h.y=l.ty):(l.tx=h.x,l.ty=h.y),e?h.fromMatrix(l):this._globalDirty=!0;else{if(i.inheritTranslation){var u=h.x,_=h.y;h.x=c.a*u+c.c*_+c.tx,h.y=c.b*u+c.d*_+c.ty}else r&&(h.x=-h.x),s&&(h.y=-h.y);i.inheritRotation?(n.updateGlobalTransform(),o=n.global.scaleX<0?h.rotation+n.global.rotation+Math.PI:h.rotation+n.global.rotation,c.a*c.d-c.b*c.c<0&&(o-=2*h.rotation,(r!==s||i.inheritReflection)&&(h.skew+=Math.PI)),h.rotation=o):(r||s)&&(r&&s?o=h.rotation+Math.PI:(o=r?Math.PI-h.rotation:-h.rotation,h.skew+=Math.PI),h.rotation=o),h.toMatrix(l)}}else(r||s)&&(r&&(h.x=-h.x),s&&(h.y=-h.y),r&&s?o=h.rotation+Math.PI:(o=r?Math.PI-h.rotation:-h.rotation,h.skew+=Math.PI),h.rotation=o),h.toMatrix(l)},i.prototype._setArmature=function(t){if(this._armature!==t){var e=null,i=null;if(null!==this._armature&&(e=this.getSlots(),i=this.getBones(),this._armature._removeBoneFromBoneList(this)),this._armature=t,null!==this._armature&&this._armature._addBoneToBoneList(this),null!==e)for(var n=0,r=e;n<r.length;n++){var s=r[n];s.parent===this&&s._setArmature(this._armature)}if(null!==i)for(var a=0,o=i;a<o.length;a++){var h=o[a];h.parent===this&&h._setArmature(this._armature)}}},i.prototype.init=function(t){null===this._boneData&&(this._boneData=t,this.origin=this._boneData.transform)},i.prototype.update=function(t){if(this._blendState.dirty=!1,t>=0&&null!==this._cachedFrameIndices){var e=this._cachedFrameIndices[t];if(e>=0&&this._cachedFrameIndex===e)this._transformDirty=!1;else if(e>=0)this._transformDirty=!0,this._cachedFrameIndex=e;else{if(this._hasConstraint)for(var i=0,n=this._armature._constraints;i<n.length;i++){(a=n[i])._root===this&&a.update()}this._transformDirty||null!==this._parent&&this._parent._childrenTransformDirty?(this._transformDirty=!0,this._cachedFrameIndex=-1):this._cachedFrameIndex>=0?(this._transformDirty=!1,this._cachedFrameIndices[t]=this._cachedFrameIndex):(this._transformDirty=!0,this._cachedFrameIndex=-1)}}else{if(this._hasConstraint)for(var r=0,s=this._armature._constraints;r<s.length;r++){var a;(a=s[r])._root===this&&a.update()}(this._transformDirty||null!==this._parent&&this._parent._childrenTransformDirty)&&(t=-1,this._transformDirty=!0,this._cachedFrameIndex=-1)}if(this._transformDirty)if(this._transformDirty=!1,this._childrenTransformDirty=!0,this._cachedFrameIndex<0){var o=t>=0;this._localDirty&&this._updateGlobalTransformMatrix(o),o&&null!==this._cachedFrameIndices&&(this._cachedFrameIndex=this._cachedFrameIndices[t]=this._armature._armatureData.setCacheFrame(this.globalTransformMatrix,this.global))}else this._armature._armatureData.getCacheFrame(this.globalTransformMatrix,this.global,this._cachedFrameIndex);else this._childrenTransformDirty&&(this._childrenTransformDirty=!1);this._localDirty=!0},i.prototype.updateByConstraint=function(){this._localDirty&&(this._localDirty=!1,(this._transformDirty||null!==this._parent&&this._parent._childrenTransformDirty)&&this._updateGlobalTransformMatrix(!0),this._transformDirty=!0)},i.prototype.invalidUpdate=function(){this._transformDirty=!0},i.prototype.contains=function(t){if(t===this)return!1;for(var e=t;e!==this&&null!==e;)e=e.parent;return e===this},Object.defineProperty(i.prototype,"boneData",{get:function(){return this._boneData},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"visible",{get:function(){return this._visible},set:function(t){if(this._visible!==t){this._visible=t;for(var e=0,i=this._armature.getSlots();e<i.length;e++){var n=i[e];n._parent===this&&n._updateVisible()}}},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"name",{get:function(){return this._boneData.name},enumerable:!0,configurable:!0}),i.prototype.getBones=function(){for(var t=new Array,e=0,i=this._armature.getBones();e<i.length;e++){var n=i[e];n.parent===this&&t.push(n)}return t},i.prototype.getSlots=function(){for(var t=new Array,e=0,i=this._armature.getSlots();e<i.length;e++){var n=i[e];n.parent===this&&t.push(n)}return t},Object.defineProperty(i.prototype,"slot",{get:function(){for(var t=0,e=this._armature.getSlots();t<e.length;t++){var i=e[t];if(i.parent===this)return i}return null},enumerable:!0,configurable:!0}),i})(t.TransformObject);t.Bone=e})(n||(n={})),(function(t){var e=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._vertices=[],e._deformVertices=[],e._hullCache=[],e._matrixCahce=[],e}return r(e,t),e.toString=function(){return"[class dragonBones.Surface]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this._dX=0,this._dY=0,this._k=0,this._kX=0,this._kY=0,this._vertices.length=0,this._deformVertices.length=0,this._matrixCahce.length=0,this._hullCache.length=0},e.prototype._getAffineTransform=function(t,e,i,n,r,s,a,o,h,l,c,u,_){var f=a-r,m=o-s,d=h-r,p=l-s;c.rotation=Math.atan2(m,f),c.skew=Math.atan2(p,d)-.5*Math.PI-c.rotation,_&&(c.rotation+=Math.PI),c.scaleX=Math.sqrt(f*f+m*m)/i,c.scaleY=Math.sqrt(d*d+p*p)/n,c.toMatrix(u),c.x=u.tx=r-(u.a*t+u.c*e),c.y=u.ty=s-(u.b*t+u.d*e)},e.prototype._updateVertices=function(){var t=this._boneData.vertices,e=this._vertices,i=this._deformVertices;if(null!==this._parent)if(1===this._parent._boneData.type)for(var n=0,r=t.length;n<r;n+=2){var s=t[n]+i[n],a=t[n+1]+i[n],o=this._parent._getGlobalTransformMatrix(s,a);e[n]=o.a*s+o.c*a+o.tx,e[n+1]=o.b*s+o.d*a+o.ty}else{var h=this._parent.globalTransformMatrix;for(n=0,r=t.length;n<r;n+=2){s=t[n]+i[n],a=t[n+1]+i[n+1];e[n]=h.a*s+h.c*a+h.tx,e[n+1]=h.b*s+h.d*a+h.ty}}else for(n=0,r=t.length;n<r;n+=2)e[n]=t[n]+i[n],e[n+1]=t[n+1]+i[n+1]},e.prototype._updateGlobalTransformMatrix=function(t){var e=2*this._boneData.segmentX,i=this._vertices.length-2,n=this._vertices[0],r=this._vertices[1],s=this._vertices[e],a=this._vertices[e+1],o=this._vertices[i],h=this._vertices[i+1],l=this._vertices[i-e],c=this._vertices[i-e+1],u=n+.5*(o-n),_=r+.5*(h-r),f=u+.5*(s+.5*(l-s)-u),m=_+.5*(a+.5*(c-a)-_),d=s+.5*(o-s),p=a+.5*(h-a),y=l+.5*(o-l),v=c+.5*(h-c);this._globalDirty=!1,this._getAffineTransform(0,0,200,200,f,m,d,p,y,v,this.global,this.globalTransformMatrix,!1)},e.prototype._getGlobalTransformMatrix=function(t,i){if(t<-1e3||1e3<t||i<-1e3||1e3<i)return this.globalTransformMatrix;var n=!1,r=this._boneData,s=r.segmentX,a=r.segmentY,o=2*r.segmentX,h=this._dX,l=this._dY,c=Math.floor((t+200)/h),u=Math.floor((i+200)/l),_=0,f=c*h-200,m=u*l-200,d=this._matrixCahce,p=e._helpMatrix;if(t<-200){if(i<-200||i>200)return this.globalTransformMatrix;if(_=7*(2*(s*(a+1)+2*s+a+u)+((n=i>this._kX*(t+200)+m)?1:0)),this._matrixCahce[_]>0)p.copyFromArray(d,_+1);else{var y=u*(o+2),v=this._hullCache[4],g=this._hullCache[5],x=this._hullCache[2]-(a-u)*v,A=this._hullCache[3]-(a-u)*g,b=this._vertices;n?this._getAffineTransform(-200,m+l,800,l,b[y+o+2],b[y+o+3],x+v,A+g,b[y],b[y+1],e._helpTransform,p,!0):this._getAffineTransform(-1e3,m,800,l,x,A,b[y],b[y+1],x+v,A+g,e._helpTransform,p,!1),d[_]=1,d[_+1]=p.a,d[_+2]=p.b,d[_+3]=p.c,d[_+4]=p.d,d[_+5]=p.tx,d[_+6]=p.ty}}else if(t>200){if(i<-200||i>200)return this.globalTransformMatrix;if(_=7*(2*(s*(a+1)+s+u)+((n=i>this._kX*(t-1e3)+m)?1:0)),this._matrixCahce[_]>0)p.copyFromArray(d,_+1);else{y=(u+1)*(o+2)-2,v=this._hullCache[4],g=this._hullCache[5],x=this._hullCache[0]+u*v,A=this._hullCache[1]+u*g,b=this._vertices;n?this._getAffineTransform(1e3,m+l,800,l,x+v,A+g,b[y+o+2],b[y+o+3],x,A,e._helpTransform,p,!0):this._getAffineTransform(200,m,800,l,b[y],b[y+1],x,A,b[y+o+2],b[y+o+3],e._helpTransform,p,!1),d[_]=1,d[_+1]=p.a,d[_+2]=p.b,d[_+3]=p.c,d[_+4]=p.d,d[_+5]=p.tx,d[_+6]=p.ty}}else if(i<-200){if(t<-200||t>200)return this.globalTransformMatrix;if(_=7*(s*(a+1)+2*c+((n=i>this._kY*(t-f-h)-1e3)?1:0)),this._matrixCahce[_]>0)p.copyFromArray(d,_+1);else{y=2*c,v=this._hullCache[10],g=this._hullCache[11],x=this._hullCache[8]+c*v,A=this._hullCache[9]+c*g,b=this._vertices;n?this._getAffineTransform(f+h,-200,h,800,b[y+2],b[y+3],b[y],b[y+1],x+v,A+g,e._helpTransform,p,!0):this._getAffineTransform(f,-1e3,h,800,x,A,x+v,A+g,b[y],b[y+1],e._helpTransform,p,!1),d[_]=1,d[_+1]=p.a,d[_+2]=p.b,d[_+3]=p.c,d[_+4]=p.d,d[_+5]=p.tx,d[_+6]=p.ty}}else if(i>200){if(t<-200||t>200)return this.globalTransformMatrix;if(_=7*(2*(s*(a+1)+s+a+u)+((n=i>this._kY*(t-f-h)+200)?1:0)),this._matrixCahce[_]>0)p.copyFromArray(d,_+1);else{y=a*(o+2)+2*c,v=this._hullCache[10],g=this._hullCache[11],x=this._hullCache[6]-(s-c)*v,A=this._hullCache[7]-(s-c)*g,b=this._vertices;n?this._getAffineTransform(f+h,1e3,h,800,x+v,A+g,x,A,b[y+2],b[y+3],e._helpTransform,p,!0):this._getAffineTransform(f,200,h,800,b[y],b[y+1],b[y+2],b[y+3],x,A,e._helpTransform,p,!1),d[_]=1,d[_+1]=p.a,d[_+2]=p.b,d[_+3]=p.c,d[_+4]=p.d,d[_+5]=p.tx,d[_+6]=p.ty}}else if(_=7*(2*(s*u+c)+((n=i>this._k*(t-f-h)+m)?1:0)),this._matrixCahce[_]>0)p.copyFromArray(d,_+1);else{y=2*c+u*(o+2),b=this._vertices;n?this._getAffineTransform(f+h,m+l,h,l,b[y+o+4],b[y+o+5],b[y+o+2],b[y+o+3],b[y+2],b[y+3],e._helpTransform,p,!0):this._getAffineTransform(f,m,h,l,b[y],b[y+1],b[y+2],b[y+3],b[y+o+2],b[y+o+3],e._helpTransform,p,!1),d[_]=1,d[_+1]=p.a,d[_+2]=p.b,d[_+3]=p.c,d[_+4]=p.d,d[_+5]=p.tx,d[_+6]=p.ty}return p},e.prototype.init=function(e){if(null===this._boneData){t.prototype.init.call(this,e);var i=e.segmentX,n=e.segmentY,r=e.vertices.length;this._dX=400/i,this._dY=400/n,this._k=-this._dY/this._dX,this._kX=-this._dY/800,this._kY=-800/this._dX,this._vertices.length=r,this._deformVertices.length=r,this._matrixCahce.length=2*(i*n+2*i+2*n)*7,this._hullCache.length=10;for(var s=0;s<r;++s)this._deformVertices[s]=0}},e.prototype.update=function(t){if(this._blendState.dirty=!1,t>=0&&null!==this._cachedFrameIndices){var i=this._cachedFrameIndices[t];if(i>=0&&this._cachedFrameIndex===i)this._transformDirty=!1;else if(i>=0)this._transformDirty=!0,this._cachedFrameIndex=i;else{if(this._hasConstraint)for(var n=0,r=this._armature._constraints;n<r.length;n++){(o=r[n])._root===this&&o.update()}this._transformDirty||null!==this._parent&&this._parent._childrenTransformDirty?(this._transformDirty=!0,this._cachedFrameIndex=-1):this._cachedFrameIndex>=0?(this._transformDirty=!1,this._cachedFrameIndices[t]=this._cachedFrameIndex):(this._transformDirty=!0,this._cachedFrameIndex=-1)}}else{if(this._hasConstraint)for(var s=0,a=this._armature._constraints;s<a.length;s++){var o;(o=a[s])._root===this&&o.update()}(this._transformDirty||null!==this._parent&&this._parent._childrenTransformDirty)&&(t=-1,this._transformDirty=!0,this._cachedFrameIndex=-1)}if(this._transformDirty){this._transformDirty=!1,this._childrenTransformDirty=!0;for(var h=0,l=this._matrixCahce.length;h<l;h+=7)this._matrixCahce[h]=-1;if(this._updateVertices(),this._cachedFrameIndex<0){var c=t>=0;this._localDirty&&this._updateGlobalTransformMatrix(c),c&&null!==this._cachedFrameIndices&&(this._cachedFrameIndex=this._cachedFrameIndices[t]=this._armature._armatureData.setCacheFrame(this.globalTransformMatrix,this.global))}else this._armature._armatureData.getCacheFrame(this.globalTransformMatrix,this.global,this._cachedFrameIndex);var u=2*this.global.x,_=2*this.global.y,f=e._helpPoint;this.globalTransformMatrix.transformPoint(1e3,-200,f),this._hullCache[0]=f.x,this._hullCache[1]=f.y,this._hullCache[2]=u-f.x,this._hullCache[3]=_-f.y,this.globalTransformMatrix.transformPoint(0,this._dY,f,!0),this._hullCache[4]=f.x,this._hullCache[5]=f.y,this.globalTransformMatrix.transformPoint(200,1e3,f),this._hullCache[6]=f.x,this._hullCache[7]=f.y,this._hullCache[8]=u-f.x,this._hullCache[9]=_-f.y,this.globalTransformMatrix.transformPoint(this._dX,0,f,!0),this._hullCache[10]=f.x,this._hullCache[11]=f.y}else this._childrenTransformDirty&&(this._childrenTransformDirty=!1);this._localDirty=!0},e})(t.Bone);t.Surface=e})(n||(n={})),(function(t){var e=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i._localMatrix=new t.Matrix,i._colorTransform=new t.ColorTransform,i._deformVertices=[],i._displayDatas=[],i._displayList=[],i._meshBones=[],i._meshSlots=[],i._rawDisplay=null,i._meshDisplay=null,i}return r(i,e),i.prototype._onClear=function(){e.prototype._onClear.call(this);for(var i=[],n=0,r=this._displayList;n<r.length;n++){null!==(o=r[n])&&o!==this._rawDisplay&&o!==this._meshDisplay&&i.indexOf(o)<0&&i.push(o)}for(var s=0,a=i;s<a.length;s++){var o;(o=a[s])instanceof t.Armature?o.dispose():this._disposeDisplay(o,!1)}null!==this._meshDisplay&&this._meshDisplay!==this._rawDisplay&&this._disposeDisplay(this._meshDisplay,!1),null!==this._rawDisplay&&this._disposeDisplay(this._rawDisplay,!1),this.displayController=null,this._displayDirty=!1,this._zOrderDirty=!1,this._blendModeDirty=!1,this._colorDirty=!1,this._meshDirty=!1,this._transformDirty=!1,this._visible=!0,this._blendMode=0,this._displayIndex=-1,this._animationDisplayIndex=-1,this._zOrder=0,this._cachedFrameIndex=-1,this._pivotX=0,this._pivotY=0,this._localMatrix.identity(),this._colorTransform.identity(),this._deformVertices.length=0,this._displayList.length=0,this._displayDatas.length=0,this._meshBones.length=0,this._meshSlots.length=0,this._slotData=null,this._rawDisplayDatas=null,this._displayData=null,this._textureData=null,this._meshData=null,this._boundingBoxData=null,this._rawDisplay=null,this._meshDisplay=null,this._display=null,this._childArmature=null,this._cachedFrameIndices=null},i.prototype._getDefaultRawDisplayData=function(){var t=this._armature.armatureData.defaultSkin;if(null!==t){var e=t.getDisplays(this._slotData.name);if(null!==e)return this._displayIndex<e.length?e[this._displayIndex]:null}return null},i.prototype._updateDisplayData=function(){var t=this._displayData,e=this._textureData,n=this._meshData,r=null;if(this._displayIndex>=0?(null!==this._rawDisplayDatas&&null===(r=this._displayIndex<this._rawDisplayDatas.length?this._rawDisplayDatas[this._displayIndex]:null)&&(r=this._getDefaultRawDisplayData()),this._displayIndex<this._displayDatas.length&&(this._displayData=this._displayDatas[this._displayIndex])):(r=null,this._displayData=null),null!==this._displayData&&(0===this._displayData.type||2===this._displayData.type)?2===this._displayData.type?(this._textureData=this._displayData.texture,this._meshData=this._displayData):null!==r&&2===r.type?(this._textureData=this._displayData.texture,this._meshData=r):(this._textureData=this._displayData.texture,this._meshData=null):(this._textureData=null,this._meshData=null),null!==this._displayData&&3===this._displayData.type?this._boundingBoxData=this._displayData.boundingBox:null!==r&&3===r.type?this._boundingBoxData=r.boundingBox:this._boundingBoxData=null,this._displayData!==t||this._textureData!==e||this._meshData!==n){if(null!==this._meshData)this._pivotX=0,this._pivotY=0;else if(null!==this._textureData){var s=this._displayData,a=this._textureData.parent.scale*this._armature._armatureData.scale,o=this._textureData.frame;this._pivotX=s.pivot.x,this._pivotY=s.pivot.y;var h=null!==o?o:this._textureData.region,l=h.width,c=h.height;this._textureData.rotated&&null===o&&(l=h.height,c=h.width),this._pivotX*=l*a,this._pivotY*=c*a,null!==o&&(this._pivotX+=o.x*a,this._pivotY+=o.y*a)}else this._pivotX=0,this._pivotY=0;if(null!==this._displayData&&null!==r&&this._displayData!==r&&null===this._meshData&&(r.transform.toMatrix(i._helpMatrix),i._helpMatrix.invert(),i._helpMatrix.transformPoint(0,0,i._helpPoint),this._pivotX-=i._helpPoint.x,this._pivotY-=i._helpPoint.y,this._displayData.transform.toMatrix(i._helpMatrix),i._helpMatrix.invert(),i._helpMatrix.transformPoint(0,0,i._helpPoint),this._pivotX+=i._helpPoint.x,this._pivotY+=i._helpPoint.y),null!==r?this.origin=r.transform:null!==this._displayData?this.origin=this._displayData.transform:this.origin=null,this._meshData!==n)if(null!==this._meshData){if(null!==this._meshData.weight){this._deformVertices.length=2*this._meshData.weight.count,this._meshBones.length=this._meshData.weight.bones.length;for(var u=0,_=this._meshBones.length;u<_;++u)this._meshBones[u]=this._armature.getBone(this._meshData.weight.bones[u].name)}else{var f=this._meshData.parent.parent.parent.intArray[this._meshData.offset+0];this._deformVertices.length=2*f,this._meshBones.length=0}var m=this._armature._glueSlots;if(null!==this._meshData.glue){this._meshSlots.length=this._meshData.glue.meshes.length;for(u=0,_=this._meshSlots.length;u<_;++u){var d=this._meshData.glue.meshes[u];if(null!==d){for(var p=!1,y=0,v=this._armature.getSlots();y<v.length;y++){for(var g=v[y],x=0,A=g._displayDatas;x<A.length;x++){var b=A[x];if(null!==b&&2===b.type&&b.offset===d.offset){p=!0,this._meshSlots[u]=g;break}}if(p)break}p||(this._meshSlots[u]=null)}else this._meshSlots[u]=null}m.indexOf(this)<0&&m.push(this)}else{var C=m.indexOf(this);C>=0&&m.slice(C,1)}for(u=0,_=this._deformVertices.length;u<_;++u)this._deformVertices[u]=0;this._meshDirty=!0}else this._deformVertices.length=0,this._meshBones.length=0,this._meshSlots.length=0;else null!==this._meshData&&this._textureData!==e&&(this._meshDirty=!0);this._displayDirty=!0,this._transformDirty=!0}},i.prototype._updateDisplay=function(){var e=null!==this._display?this._display:this._rawDisplay,i=this._childArmature;this._displayIndex>=0&&this._displayIndex<this._displayList.length?(this._display=this._displayList[this._displayIndex],null!==this._display&&this._display instanceof t.Armature?(this._childArmature=this._display,this._display=this._childArmature.display):this._childArmature=null):(this._display=null,this._childArmature=null);var n=null!==this._display?this._display:this._rawDisplay;if(n!==e&&(this._onUpdateDisplay(),this._replaceDisplay(e),this._visibleDirty=!0,this._blendModeDirty=!0,this._colorDirty=!0),n!==this._rawDisplay&&n!==this._meshDisplay||this._updateFrame(),this._childArmature!==i&&(null!==i&&(i._parent=null,i.clock=null,i.inheritAnimation&&i.animation.reset()),null!==this._childArmature&&(this._childArmature._parent=this,this._childArmature.clock=this._armature.clock,this._childArmature.inheritAnimation))){if(0===this._childArmature.cacheFrameRate){var r=this._armature.cacheFrameRate;0!==r&&(this._childArmature.cacheFrameRate=r)}var s=null;if(null!==this._displayData&&1===this._displayData.type)s=this._displayData.actions;else if(this._displayIndex>=0&&null!==this._rawDisplayDatas){var a=this._displayIndex<this._rawDisplayDatas.length?this._rawDisplayDatas[this._displayIndex]:null;null===a&&(a=this._getDefaultRawDisplayData()),null!==a&&1===a.type&&(s=a.actions)}if(null!==s&&s.length>0)for(var o=0,h=s;o<h.length;o++){var l=h[o];this._childArmature._bufferAction(l,!1)}else this._childArmature.animation.play()}},i.prototype._updateGlobalTransformMatrix=function(t){var e=0===this._parent._boneData.type?this._parent.globalTransformMatrix:this._parent._getGlobalTransformMatrix(this.global.x,this.global.y);this.globalTransformMatrix.copyFrom(this._localMatrix),this.globalTransformMatrix.concat(e),t?this.global.fromMatrix(this.globalTransformMatrix):this._globalDirty=!0},i.prototype._isMeshBonesUpdate=function(){for(var t=0,e=this._meshBones;t<e.length;t++){var i=e[t];if(null!==i&&i._childrenTransformDirty)return!0}return!1},i.prototype._setArmature=function(t){this._armature!==t&&(null!==this._armature&&this._armature._removeSlotFromSlotList(this),this._armature=t,this._onUpdateDisplay(),null!==this._armature?(this._armature._addSlotToSlotList(this),this._addDisplay()):this._removeDisplay())},i.prototype._setDisplayIndex=function(t,e){if(void 0===e&&(e=!1),e){if(this._animationDisplayIndex===t)return!1;this._animationDisplayIndex=t}return this._displayIndex!==t&&(this._displayIndex=t,this._displayDirty=!0,this._updateDisplayData(),this._displayDirty)},i.prototype._setZorder=function(t){return this._zOrder,this._zOrder=t,this._zOrderDirty=!0,this._zOrderDirty},i.prototype._setColor=function(t){return this._colorTransform.copyFrom(t),this._colorDirty=!0,this._colorDirty},i.prototype._setDisplayList=function(e){if(null!==e&&e.length>0){this._displayList.length!==e.length&&(this._displayList.length=e.length);for(var i=0,n=e.length;i<n;++i){var r=e[i];null!==r&&r!==this._rawDisplay&&r!==this._meshDisplay&&!(r instanceof t.Armature)&&this._displayList.indexOf(r)<0&&this._initDisplay(r,!0),this._displayList[i]=r}}else this._displayList.length>0&&(this._displayList.length=0);return this._displayIndex>=0&&this._displayIndex<this._displayList.length?this._displayDirty=this._display!==this._displayList[this._displayIndex]:this._displayDirty=null!==this._display,this._updateDisplayData(),this._displayDirty},i.prototype.init=function(t,e,i,n){null===this._slotData&&(this._slotData=t,this._visibleDirty=!0,this._blendModeDirty=!0,this._colorDirty=!0,this._blendMode=this._slotData.blendMode,this._zOrder=this._slotData.zOrder,this._colorTransform.copyFrom(this._slotData.color),this._rawDisplay=i,this._meshDisplay=n,this.rawDisplayDatas=e,this._initDisplay(this._rawDisplay,!1),this._rawDisplay!==this._meshDisplay&&this._initDisplay(this._meshDisplay,!1))},i.prototype.update=function(t){if(this._displayDirty&&(this._displayDirty=!1,this._updateDisplay(),this._transformDirty&&(null!==this.origin?this.global.copyFrom(this.origin).add(this.offset).toMatrix(this._localMatrix):this.global.copyFrom(this.offset).toMatrix(this._localMatrix))),this._zOrderDirty&&(this._zOrderDirty=!1,this._updateZOrder()),t>=0&&null!==this._cachedFrameIndices){var e=this._cachedFrameIndices[t];e>=0&&this._cachedFrameIndex===e?this._transformDirty=!1:e>=0?(this._transformDirty=!0,this._cachedFrameIndex=e):this._transformDirty||this._parent._childrenTransformDirty?(this._transformDirty=!0,this._cachedFrameIndex=-1):this._cachedFrameIndex>=0?(this._transformDirty=!1,this._cachedFrameIndices[t]=this._cachedFrameIndex):(this._transformDirty=!0,this._cachedFrameIndex=-1)}else(this._transformDirty||this._parent._childrenTransformDirty)&&(t=-1,this._transformDirty=!0,this._cachedFrameIndex=-1);if(null!==this._display){if(this._visibleDirty&&(this._visibleDirty=!1,this._updateVisible()),this._blendModeDirty&&(this._blendModeDirty=!1,this._updateBlendMode()),this._colorDirty&&(this._colorDirty=!1,this._updateColor()),null!==this._meshData&&this._display===this._meshDisplay){var i=null!==this._meshData.weight,n=0!==this._parent._boneData.type,r=null!==this._meshData.glue;if((this._meshDirty||i&&this._isMeshBonesUpdate()||n&&this._parent._childrenTransformDirty||r&&this._parent._childrenTransformDirty)&&(this._meshDirty=!1,this._updateMesh()),i||n||r)return}if(this._transformDirty){if(this._transformDirty=!1,this._cachedFrameIndex<0){var s=t>=0;this._updateGlobalTransformMatrix(s),s&&null!==this._cachedFrameIndices&&(this._cachedFrameIndex=this._cachedFrameIndices[t]=this._armature._armatureData.setCacheFrame(this.globalTransformMatrix,this.global))}else this._armature._armatureData.getCacheFrame(this.globalTransformMatrix,this.global,this._cachedFrameIndex);this._updateTransform()}}},i.prototype.updateTransformAndMatrix=function(){this._transformDirty&&(this._transformDirty=!1,this._updateGlobalTransformMatrix(!1))},i.prototype.replaceDisplayData=function(t,e){if(void 0===e&&(e=-1),e<0&&(e=this._displayIndex<0?0:this._displayIndex),this._displayDatas.length<=e){this._displayDatas.length=e+1;for(var i=0,n=this._displayDatas.length;i<n;++i)this._displayDatas[i]||(this._displayDatas[i]=null)}this._displayDatas[e]=t},i.prototype.containsPoint=function(t,e){return null!==this._boundingBoxData&&(this.updateTransformAndMatrix(),i._helpMatrix.copyFrom(this.globalTransformMatrix),i._helpMatrix.invert(),i._helpMatrix.transformPoint(t,e,i._helpPoint),this._boundingBoxData.containsPoint(i._helpPoint.x,i._helpPoint.y))},i.prototype.intersectsSegment=function(t,e,n,r,s,a,o){if(void 0===s&&(s=null),void 0===a&&(a=null),void 0===o&&(o=null),null===this._boundingBoxData)return 0;this.updateTransformAndMatrix(),i._helpMatrix.copyFrom(this.globalTransformMatrix),i._helpMatrix.invert(),i._helpMatrix.transformPoint(t,e,i._helpPoint),t=i._helpPoint.x,e=i._helpPoint.y,i._helpMatrix.transformPoint(n,r,i._helpPoint),n=i._helpPoint.x,r=i._helpPoint.y;var h=this._boundingBoxData.intersectsSegment(t,e,n,r,s,a,o);return h>0&&(1===h||2===h?null!==s?(this.globalTransformMatrix.transformPoint(s.x,s.y,s),null!==a&&(a.x=s.x,a.y=s.y)):null!==a&&this.globalTransformMatrix.transformPoint(a.x,a.y,a):(null!==s&&this.globalTransformMatrix.transformPoint(s.x,s.y,s),null!==a&&this.globalTransformMatrix.transformPoint(a.x,a.y,a)),null!==o&&(this.globalTransformMatrix.transformPoint(Math.cos(o.x),Math.sin(o.x),i._helpPoint,!0),o.x=Math.atan2(i._helpPoint.y,i._helpPoint.x),this.globalTransformMatrix.transformPoint(Math.cos(o.y),Math.sin(o.y),i._helpPoint,!0),o.y=Math.atan2(i._helpPoint.y,i._helpPoint.x))),h},i.prototype.invalidUpdate=function(){this._displayDirty=!0,this._transformDirty=!0},Object.defineProperty(i.prototype,"visible",{get:function(){return this._visible},set:function(t){this._visible!==t&&(this._visible=t,this._updateVisible())},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"displayIndex",{get:function(){return this._displayIndex},set:function(t){this._setDisplayIndex(t)&&this.update(-1)},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"name",{get:function(){return this._slotData.name},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"displayList",{get:function(){return this._displayList.concat()},set:function(e){var i=this._displayList.concat(),n=new Array;this._setDisplayList(e)&&this.update(-1);for(var r=0,s=i;r<s.length;r++){null!==(h=s[r])&&h!==this._rawDisplay&&h!==this._meshDisplay&&this._displayList.indexOf(h)<0&&n.indexOf(h)<0&&n.push(h)}for(var a=0,o=n;a<o.length;a++){var h;(h=o[a])instanceof t.Armature?h.dispose():this._disposeDisplay(h,!0)}},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"slotData",{get:function(){return this._slotData},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"rawDisplayDatas",{get:function(){return this._rawDisplayDatas},set:function(t){if(this._rawDisplayDatas!==t)if(this._displayDirty=!0,this._rawDisplayDatas=t,null!==this._rawDisplayDatas){this._displayDatas.length=this._rawDisplayDatas.length;for(var e=0,i=this._displayDatas.length;e<i;++e){var n=this._rawDisplayDatas[e];null===n&&(n=this._getDefaultRawDisplayData()),this._displayDatas[e]=n}}else this._displayDatas.length=0},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"boundingBoxData",{get:function(){return this._boundingBoxData},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"rawDisplay",{get:function(){return this._rawDisplay},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"meshDisplay",{get:function(){return this._meshDisplay},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"display",{get:function(){return this._display},set:function(t){if(this._display!==t){var e=this._displayList.length;if(this._displayIndex<0&&0===e&&(this._displayIndex=0),!(this._displayIndex<0)){var i=this.displayList;e<=this._displayIndex&&(i.length=this._displayIndex+1),i[this._displayIndex]=t,this.displayList=i}}},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"childArmature",{get:function(){return this._childArmature},set:function(t){this._childArmature!==t&&(this.display=t)},enumerable:!0,configurable:!0}),i.prototype.getDisplay=function(){return this.display},i.prototype.setDisplay=function(t){this.display=t},i})(t.TransformObject);t.Slot=e})(n||(n={})),(function(t){var e=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return r(i,e),i.prototype._onClear=function(){this._armature=null,this._target=null,this._root=null,this._bone=null},Object.defineProperty(i.prototype,"name",{get:function(){return this._constraintData.name},enumerable:!0,configurable:!0}),i._helpMatrix=new t.Matrix,i._helpTransform=new t.Transform,i._helpPoint=new t.Point,i})(t.BaseObject);t.Constraint=e;var i=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return r(i,e),i.toString=function(){return"[class dragonBones.IKConstraint]"},i.prototype._onClear=function(){e.prototype._onClear.call(this),this._scaleEnabled=!1,this._bendPositive=!1,this._weight=1,this._constraintData=null},i.prototype._computeA=function(){var t=this._target.global,e=this._root.global,i=this._root.globalTransformMatrix,n=Math.atan2(t.y-e.y,t.x-e.x);e.scaleX<0&&(n+=Math.PI),e.rotation+=(n-e.rotation)*this._weight,e.toMatrix(i)},i.prototype._computeB=function(){var e=this._bone._boneData.length,i=this._root,n=this._target.global,r=i.global,s=this._bone.global,a=this._bone.globalTransformMatrix,o=a.a*e,h=a.b*e,l=o*o+h*h,c=Math.sqrt(l),u=s.x-r.x,_=s.y-r.y,f=u*u+_*_,m=Math.sqrt(f),d=s.rotation,p=r.rotation,y=Math.atan2(_,u),v=(u=n.x-r.x)*u+(_=n.y-r.y)*_,g=Math.sqrt(v),x=0;if(c+m<=g||g+c<=m||g+m<=c)x=Math.atan2(n.y-r.y,n.x-r.x),c+m<=g||m<c&&(x+=Math.PI);else{var A=(f-l+v)/(2*v),b=Math.sqrt(f-A*A*v)/g,C=r.x+u*A,S=r.y+_*A,T=-_*b,w=u*b,E=!1;if(null!==i._parent){var D=i._parent.globalTransformMatrix;E=D.a*D.d-D.b*D.c<0}E!==this._bendPositive?(s.x=C-T,s.y=S-w):(s.x=C+T,s.y=S+w),x=Math.atan2(s.y-r.y,s.x-r.x)}var M=t.Transform.normalizeRadian(x-y);r.rotation=p+M*this._weight,r.toMatrix(i.globalTransformMatrix);var B=y+M*this._weight;s.x=r.x+Math.cos(B)*m,s.y=r.y+Math.sin(B)*m;var P=Math.atan2(n.y-s.y,n.x-s.x);s.scaleX<0&&(P+=Math.PI),s.rotation=r.rotation+d-p+t.Transform.normalizeRadian(P-M-d)*this._weight,s.toMatrix(a)},i.prototype.init=function(t,e){if(null===this._constraintData){this._constraintData=t,this._armature=e,this._target=this._armature.getBone(this._constraintData.target.name),this._root=this._armature.getBone(this._constraintData.root.name),this._bone=null!==this._constraintData.bone?this._armature.getBone(this._constraintData.bone.name):null;var i=this._constraintData;this._scaleEnabled=i.scaleEnabled,this._scaleEnabled=this._scaleEnabled,this._bendPositive=i.bendPositive,this._weight=i.weight,this._root._hasConstraint=!0}},i.prototype.update=function(){this._root.updateByConstraint(),null!==this._bone?(this._bone.updateByConstraint(),this._computeB()):this._computeA()},i.prototype.invalidUpdate=function(){this._root.invalidUpdate(),null!==this._bone&&this._bone.invalidUpdate()},i})(e);t.IKConstraint=i})(n||(n={})),(function(t){var e=(function(){function t(t){void 0===t&&(t=-1),this.time=0,this.timeScale=1,this._animatebles=[],this._clock=null,this.time=t<0?.001*(new Date).getTime():t}return t.prototype.advanceTime=function(t){if(t!=t&&(t=0),t<0&&(t=.001*(new Date).getTime()-this.time),1!==this.timeScale&&(t*=this.timeScale),t<0?this.time-=t:this.time+=t,0!==t){for(var e=0,i=0,n=this._animatebles.length;e<n;++e){var r=this._animatebles[e];null!==r?(i>0&&(this._animatebles[e-i]=r,this._animatebles[e]=null),r.advanceTime(t)):i++}if(i>0){for(n=this._animatebles.length;e<n;++e){var s=this._animatebles[e];null!==s?this._animatebles[e-i]=s:i++}this._animatebles.length-=i}}},t.prototype.contains=function(t){if(t===this)return!1;for(var e=t;e!==this&&null!==e;)e=e.clock;return e===this},t.prototype.add=function(t){this._animatebles.indexOf(t)<0&&(this._animatebles.push(t),t.clock=this)},t.prototype.remove=function(t){var e=this._animatebles.indexOf(t);e>=0&&(this._animatebles[e]=null,t.clock=null)},t.prototype.clear=function(){for(var t=0,e=this._animatebles;t<e.length;t++){var i=e[t];null!==i&&(i.clock=null)}},Object.defineProperty(t.prototype,"clock",{get:function(){return this._clock},set:function(t){this._clock!==t&&(null!==this._clock&&this._clock.remove(this),this._clock=t,null!==this._clock&&this._clock.add(this))},enumerable:!0,configurable:!0}),t.clock=new t,t})();t.WorldClock=e})(n||(n={})),(function(t){var e=(function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t._animationNames=[],t._animationStates=[],t._animations={},t._animationConfig=null,t}return r(i,e),i.toString=function(){return"[class dragonBones.Animation]"},i.prototype._onClear=function(){for(var t=0,e=this._animationStates;t<e.length;t++){e[t].returnToPool()}for(var i in this._animations)delete this._animations[i];null!==this._animationConfig&&this._animationConfig.returnToPool(),this.timeScale=1,this._lockUpdate=!1,this._animationDirty=!1,this._inheritTimeScale=1,this._animationNames.length=0,this._animationStates.length=0,this._armature=null,this._animationConfig=null,this._lastAnimationState=null},i.prototype._fadeOut=function(t){switch(t.fadeOutMode){case 1:for(var e=0,i=this._animationStates;e<i.length;e++){null===(l=i[e])._parent&&(l.layer===t.layer&&l.fadeOut(t.fadeOutTime,t.pauseFadeOut))}break;case 2:for(var n=0,r=this._animationStates;n<r.length;n++){null===(l=r[n])._parent&&(l.group===t.group&&l.fadeOut(t.fadeOutTime,t.pauseFadeOut))}break;case 3:for(var s=0,a=this._animationStates;s<a.length;s++){null===(l=a[s])._parent&&(l.layer===t.layer&&l.group===t.group&&l.fadeOut(t.fadeOutTime,t.pauseFadeOut))}break;case 4:for(var o=0,h=this._animationStates;o<h.length;o++){var l;null===(l=h[o])._parent&&l.fadeOut(t.fadeOutTime,t.pauseFadeOut)}}},i.prototype.init=function(e){null===this._armature&&(this._armature=e,this._animationConfig=t.BaseObject.borrowObject(t.AnimationConfig))},i.prototype.advanceTime=function(t){t<0&&(t=-t),this._armature.inheritAnimation&&null!==this._armature._parent?this._inheritTimeScale=this._armature._parent._armature.animation._inheritTimeScale*this.timeScale:this._inheritTimeScale=this.timeScale,1!==this._inheritTimeScale&&(t*=this._inheritTimeScale);var e=this._animationStates.length;if(1===e)if((_=this._animationStates[0])._fadeState>0&&_._subFadeState>0)this._armature._dragonBones.bufferObject(_),this._animationStates.length=0,this._lastAnimationState=null;else{var i=_._animationData,n=i.cacheFrameRate;if(this._animationDirty&&n>0){this._animationDirty=!1;for(var r=0,s=this._armature.getBones();r<s.length;r++){var a=s[r];a._cachedFrameIndices=i.getBoneCachedFrameIndices(a.name)}for(var o=0,h=this._armature.getSlots();o<h.length;o++){var l=h[o];l._cachedFrameIndices=i.getSlotCachedFrameIndices(l.name)}}_.advanceTime(t,n)}else if(e>1){for(var c=0,u=0;c<e;++c){var _;(_=this._animationStates[c])._fadeState>0&&_._subFadeState>0?(u++,this._armature._dragonBones.bufferObject(_),this._animationDirty=!0,this._lastAnimationState===_&&(this._lastAnimationState=null)):(u>0&&(this._animationStates[c-u]=_),_.advanceTime(t,0)),c===e-1&&u>0&&(this._animationStates.length-=u,null===this._lastAnimationState&&this._animationStates.length>0&&(this._lastAnimationState=this._animationStates[this._animationStates.length-1]))}this._armature._cacheFrameIndex=-1}else this._armature._cacheFrameIndex=-1},i.prototype.reset=function(){for(var t=0,e=this._animationStates;t<e.length;t++){e[t].returnToPool()}this._animationDirty=!1,this._animationConfig.clear(),this._animationStates.length=0,this._lastAnimationState=null},i.prototype.stop=function(t){if(void 0===t&&(t=null),null!==t)null!==(n=this.getState(t))&&n.stop();else for(var e=0,i=this._animationStates;e<i.length;e++){var n;(n=i[e]).stop()}},i.prototype.playConfig=function(e){var i=e.animation;if(!(i in this._animations))return console.warn("Non-existent animation.\n","DragonBones name: "+this._armature.armatureData.parent.name,"Armature name: "+this._armature.name,"Animation name: "+i),null;var n=this._animations[i];if(5===e.fadeOutMode)for(var r=0,s=this._animationStates;r<s.length;r++){var a=s[r];if(a._animationData===n)return a}0===this._animationStates.length?e.fadeInTime=0:e.fadeInTime<0&&(e.fadeInTime=n.fadeInTime),e.fadeOutTime<0&&(e.fadeOutTime=e.fadeInTime),e.timeScale<=-100&&(e.timeScale=1/n.scale),n.frameCount>1?(e.position<0?(e.position%=n.duration,e.position=n.duration-e.position):e.position===n.duration?e.position-=1e-6:e.position>n.duration&&(e.position%=n.duration),e.duration>0&&e.position+e.duration>n.duration&&(e.duration=n.duration-e.position),e.playTimes<0&&(e.playTimes=n.playTimes)):(e.playTimes=1,e.position=0,e.duration>0&&(e.duration=0)),0===e.duration&&(e.duration=-1),this._fadeOut(e);var o=t.BaseObject.borrowObject(t.AnimationState);if(o.init(this._armature,n,e),this._animationDirty=!0,this._armature._cacheFrameIndex=-1,this._animationStates.length>0){for(var h=!1,l=0,c=this._animationStates.length;l<c;++l){if(o.layer>this._animationStates[l].layer){h=!0,this._animationStates.splice(l,0,o);break}if(l!==c-1&&o.layer>this._animationStates[l+1].layer){h=!0,this._animationStates.splice(l+1,0,o);break}}h||this._animationStates.push(o)}else this._animationStates.push(o);for(var u=0,_=this._armature.getSlots();u<_.length;u++){var f=_[u].childArmature;null!==f&&f.inheritAnimation&&f.animation.hasAnimation(i)&&null===f.animation.getState(i)&&f.animation.fadeIn(i)}var m=!1;for(var d in n.animationTimelines){this._lockUpdate||(m=!0,this._lockUpdate=!0);var p=this.fadeIn(d,e.fadeInTime,1,o.layer,null,0);null!==p&&(p.resetToPose=!1,p._parent=o,p.stop())}return m&&(this._lockUpdate=!1),this._lockUpdate||(e.fadeInTime<=0&&this._armature.advanceTime(0),this._lastAnimationState=o),o},i.prototype.play=function(t,e){if(void 0===t&&(t=null),void 0===e&&(e=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=e,this._animationConfig.fadeInTime=0,this._animationConfig.animation=null!==t?t:"",null!==t&&t.length>0)this.playConfig(this._animationConfig);else if(null===this._lastAnimationState){var i=this._armature.armatureData.defaultAnimation;null!==i&&(this._animationConfig.animation=i.name,this.playConfig(this._animationConfig))}else this._lastAnimationState.isPlaying||this._lastAnimationState.isCompleted?(this._animationConfig.animation=this._lastAnimationState.name,this.playConfig(this._animationConfig)):this._lastAnimationState.play();return this._lastAnimationState},i.prototype.fadeIn=function(t,e,i,n,r,s){return void 0===e&&(e=-1),void 0===i&&(i=-1),void 0===n&&(n=0),void 0===r&&(r=null),void 0===s&&(s=3),this._animationConfig.clear(),this._animationConfig.fadeOutMode=s,this._animationConfig.playTimes=i,this._animationConfig.layer=n,this._animationConfig.fadeInTime=e,this._animationConfig.animation=t,this._animationConfig.group=null!==r?r:"",this.playConfig(this._animationConfig)},i.prototype.gotoAndPlayByTime=function(t,e,i){return void 0===e&&(e=0),void 0===i&&(i=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=i,this._animationConfig.position=e,this._animationConfig.fadeInTime=0,this._animationConfig.animation=t,this.playConfig(this._animationConfig)},i.prototype.gotoAndPlayByFrame=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=i,this._animationConfig.fadeInTime=0,this._animationConfig.animation=t;var n=t in this._animations?this._animations[t]:null;return null!==n&&(this._animationConfig.position=n.duration*e/n.frameCount),this.playConfig(this._animationConfig)},i.prototype.gotoAndPlayByProgress=function(t,e,i){void 0===e&&(e=0),void 0===i&&(i=-1),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.playTimes=i,this._animationConfig.fadeInTime=0,this._animationConfig.animation=t;var n=t in this._animations?this._animations[t]:null;return null!==n&&(this._animationConfig.position=n.duration*(e>0?e:0)),this.playConfig(this._animationConfig)},i.prototype.gotoAndStopByTime=function(t,e){void 0===e&&(e=0);var i=this.gotoAndPlayByTime(t,e,1);return null!==i&&i.stop(),i},i.prototype.gotoAndStopByFrame=function(t,e){void 0===e&&(e=0);var i=this.gotoAndPlayByFrame(t,e,1);return null!==i&&i.stop(),i},i.prototype.gotoAndStopByProgress=function(t,e){void 0===e&&(e=0);var i=this.gotoAndPlayByProgress(t,e,1);return null!==i&&i.stop(),i},i.prototype.getState=function(t){for(var e=this._animationStates.length;e--;){var i=this._animationStates[e];if(i.name===t)return i}return null},i.prototype.hasAnimation=function(t){return t in this._animations},i.prototype.getStates=function(){return this._animationStates},Object.defineProperty(i.prototype,"isPlaying",{get:function(){for(var t=0,e=this._animationStates;t<e.length;t++){if(e[t].isPlaying)return!0}return!1},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"isCompleted",{get:function(){for(var t=0,e=this._animationStates;t<e.length;t++){if(!e[t].isCompleted)return!1}return this._animationStates.length>0},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"lastAnimationName",{get:function(){return null!==this._lastAnimationState?this._lastAnimationState.name:""},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animationNames",{get:function(){return this._animationNames},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animations",{get:function(){return this._animations},set:function(t){if(this._animations!==t){this._animationNames.length=0;for(var e in this._animations)delete this._animations[e];for(var e in t)this._animationNames.push(e),this._animations[e]=t[e]}},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animationConfig",{get:function(){return this._animationConfig.clear(),this._animationConfig},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"lastAnimationState",{get:function(){return this._lastAnimationState},enumerable:!0,configurable:!0}),i.prototype.gotoAndPlay=function(t,e,i,n,r,s,a,o,h){void 0===e&&(e=-1),void 0===i&&(i=-1),void 0===n&&(n=-1),void 0===r&&(r=0),void 0===s&&(s=null),void 0===a&&(a=3),void 0===o&&(o=!0),void 0===h&&(h=!0),this._animationConfig.clear(),this._animationConfig.resetToPose=!0,this._animationConfig.fadeOutMode=a,this._animationConfig.playTimes=n,this._animationConfig.layer=r,this._animationConfig.fadeInTime=e,this._animationConfig.animation=t,this._animationConfig.group=null!==s?s:"";var l=this._animations[t];return l&&i>0&&(this._animationConfig.timeScale=l.duration/i),this.playConfig(this._animationConfig)},i.prototype.gotoAndStop=function(t,e){return void 0===e&&(e=0),this.gotoAndStopByTime(t,e)},Object.defineProperty(i.prototype,"animationList",{get:function(){return this._animationNames},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animationDataList",{get:function(){for(var t=[],e=0,i=this._animationNames.length;e<i;++e)t.push(this._animations[this._animationNames[e]]);return t},enumerable:!0,configurable:!0}),i})(t.BaseObject);t.Animation=e})(n||(n={})),(function(t){var e=(function(e){function s(){var t=null!==e&&e.apply(this,arguments)||this;return t._blendState=new n,t._boneMask=[],t._boneTimelines=[],t._surfaceTimelines=[],t._slotTimelines=[],t._constraintTimelines=[],t._animationTimelines=[],t._poseTimelines=[],t._bonePoses={},t._actionTimeline=null,t._zOrderTimeline=null,t._parent=null,t}return r(s,e),s.toString=function(){return"[class dragonBones.AnimationState]"},s.prototype._onClear=function(){for(var t=0,e=this._boneTimelines;t<e.length;t++){e[t].returnToPool()}for(var i=0,n=this._surfaceTimelines;i<n.length;i++){n[i].returnToPool()}for(var r=0,s=this._slotTimelines;r<s.length;r++){s[r].returnToPool()}for(var a=0,o=this._constraintTimelines;a<o.length;a++){o[a].returnToPool()}for(var h=0,l=this._animationTimelines;h<l.length;h++){l[h].returnToPool()}for(var c in this._bonePoses)this._bonePoses[c].returnToPool(),delete this._bonePoses[c];null!==this._actionTimeline&&this._actionTimeline.returnToPool(),null!==this._zOrderTimeline&&this._zOrderTimeline.returnToPool(),this.actionEnabled=!1,this.additiveBlending=!1,this.displayControl=!1,this.resetToPose=!1,this.playTimes=1,this.layer=0,this.timeScale=1,this.weight=1,this.autoFadeOutTime=0,this.fadeTotalTime=0,this.name="",this.group="",this._timelineDirty=2,this._playheadState=0,this._fadeState=-1,this._subFadeState=-1,this._position=0,this._duration=0,this._fadeTime=0,this._time=0,this._fadeProgress=0,this._weightResult=0,this._blendState.clear(),this._boneMask.length=0,this._boneTimelines.length=0,this._surfaceTimelines.length=0,this._slotTimelines.length=0,this._constraintTimelines.length=0,this._animationTimelines.length=0,this._poseTimelines.length=0,this._animationData=null,this._armature=null,this._actionTimeline=null,this._zOrderTimeline=null,this._parent=null},s.prototype._updateTimelines=function(){for(var e=0,i=this._armature._constraints;e<i.length;e++){var n=i[e];if(null!==(h=this._animationData.getConstraintTimelines(n.name)))for(var r=0,s=h;r<s.length;r++){switch((_=s[r]).type){case 30:(f=t.BaseObject.borrowObject(t.IKConstraintTimelineState)).constraint=n,f.init(this._armature,this,_),this._constraintTimelines.push(f)}}else if(this.resetToPose){(f=t.BaseObject.borrowObject(t.IKConstraintTimelineState)).constraint=n,f.init(this._armature,this,null),this._constraintTimelines.push(f),this._poseTimelines.push(f)}}for(var a=0,o=this._armature.animation.getStates();a<o.length;a++){var h,l=o[a];if(l._parent===this)if(null!==(h=this._animationData.getAnimationTimelines(l.name)))for(var c=0,u=h;c<u.length;c++){var _;switch((_=u[c]).type){case 40:var f;(f=t.BaseObject.borrowObject(t.AnimationTimelineState)).animationState=l,f.init(this._armature,this,_),this._animationTimelines.push(f)}}}},s.prototype._updateBoneAndSlotTimelines=function(){for(var e={},n=0,r=this._boneTimelines;n<r.length;n++){(h=(v=r[n]).bone.name)in e||(e[h]=[]),e[h].push(v)}for(var s=0,a=this._armature.getBones();s<a.length;s++){var o=a[s],h=o.name;if(this.containsBoneMask(h))if(h in e)delete e[h];else if(0===o._boneData.type){var l=this._animationData.getBoneTimelines(h),c=h in this._bonePoses?this._bonePoses[h]:this._bonePoses[h]=t.BaseObject.borrowObject(i);if(null!==l)for(var u=0,_=l;u<_.length;u++){switch((P=_[u]).type){case 10:(v=t.BaseObject.borrowObject(t.BoneAllTimelineState)).bone=o,v.bonePose=c,v.init(this._armature,this,P),this._boneTimelines.push(v);break;case 11:(v=t.BaseObject.borrowObject(t.BoneTranslateTimelineState)).bone=o,v.bonePose=c,v.init(this._armature,this,P),this._boneTimelines.push(v);break;case 12:(v=t.BaseObject.borrowObject(t.BoneRotateTimelineState)).bone=o,v.bonePose=c,v.init(this._armature,this,P),this._boneTimelines.push(v);break;case 13:(v=t.BaseObject.borrowObject(t.BoneScaleTimelineState)).bone=o,v.bonePose=c,v.init(this._armature,this,P),this._boneTimelines.push(v)}}else if(this.resetToPose){(v=t.BaseObject.borrowObject(t.BoneAllTimelineState)).bone=o,v.bonePose=c,v.init(this._armature,this,null),this._boneTimelines.push(v),this._poseTimelines.push(v)}}else if(1===o._boneData.type){if(null!==(l=this._animationData.getSurfaceTimelines(h)))for(var f=0,m=l;f<m.length;f++){switch((P=m[f]).type){case 50:(v=t.BaseObject.borrowObject(t.SurfaceTimelineState)).surface=o,v.init(this._armature,this,P),this._surfaceTimelines.push(v)}}else if(this.resetToPose){(v=t.BaseObject.borrowObject(t.SurfaceTimelineState)).surface=o,v.init(this._armature,this,null),this._surfaceTimelines.push(v),this._poseTimelines.push(v)}}}for(var d in e)for(var p=0,y=e[d];p<y.length;p++){var v=y[p];this._boneTimelines.splice(this._boneTimelines.indexOf(v),1),v.returnToPool()}for(var g={},x=[],A=0,b=this._slotTimelines;A<b.length;A++){(h=(v=b[A]).slot.name)in g||(g[h]=[]),g[h].push(v)}for(var C=0,S=this._armature.getSlots();C<S.length;C++){var T=S[C],w=T.parent.name;if(this.containsBoneMask(w)){h=T.name,l=this._animationData.getSlotTimelines(h);if(h in g)delete g[h];else{var E=!1,D=!1;if(x.length=0,null!==l)for(var M=0,B=l;M<B.length;M++){var P;switch((P=B[M]).type){case 20:(v=t.BaseObject.borrowObject(t.SlotDislayTimelineState)).slot=T,v.init(this._armature,this,P),this._slotTimelines.push(v),E=!0;break;case 21:(v=t.BaseObject.borrowObject(t.SlotColorTimelineState)).slot=T,v.init(this._armature,this,P),this._slotTimelines.push(v),D=!0;break;case 22:(v=t.BaseObject.borrowObject(t.SlotFFDTimelineState)).slot=T,v.init(this._armature,this,P),this._slotTimelines.push(v),x.push(v.meshOffset)}}if(this.resetToPose){if(!E)(v=t.BaseObject.borrowObject(t.SlotDislayTimelineState)).slot=T,v.init(this._armature,this,null),this._slotTimelines.push(v),this._poseTimelines.push(v);if(!D)(v=t.BaseObject.borrowObject(t.SlotColorTimelineState)).slot=T,v.init(this._armature,this,null),this._slotTimelines.push(v),this._poseTimelines.push(v);if(null!==T.rawDisplayDatas)for(var I=0,R=T.rawDisplayDatas;I<R.length;I++){var O=R[I];if(null!==O&&2===O.type){var L=O.offset;if(x.indexOf(L)<0)(v=t.BaseObject.borrowObject(t.SlotFFDTimelineState)).meshOffset=L,v.slot=T,v.init(this._armature,this,null),this._slotTimelines.push(v),this._poseTimelines.push(v)}}}}}}for(var d in g)for(var F=0,V=g[d];F<V.length;F++){v=V[F];this._slotTimelines.splice(this._slotTimelines.indexOf(v),1),v.returnToPool()}},s.prototype._advanceFadeTime=function(e){var i=this._fadeState>0;if(this._subFadeState<0){this._subFadeState=0;var n=i?t.EventObject.FADE_OUT:t.EventObject.FADE_IN;if(this._armature.eventDispatcher.hasDBEventListener(n))(r=t.BaseObject.borrowObject(t.EventObject)).type=n,r.armature=this._armature,r.animationState=this,this._armature._dragonBones.bufferEvent(r)}if(e<0&&(e=-e),this._fadeTime+=e,this._fadeTime>=this.fadeTotalTime?(this._subFadeState=1,this._fadeProgress=i?0:1):this._fadeTime>0?this._fadeProgress=i?1-this._fadeTime/this.fadeTotalTime:this._fadeTime/this.fadeTotalTime:this._fadeProgress=i?1:0,this._subFadeState>0){i||(this._playheadState|=1,this._fadeState=0);var r;n=i?t.EventObject.FADE_OUT_COMPLETE:t.EventObject.FADE_IN_COMPLETE;if(this._armature.eventDispatcher.hasDBEventListener(n))(r=t.BaseObject.borrowObject(t.EventObject)).type=n,r.armature=this._armature,r.animationState=this,this._armature._dragonBones.bufferEvent(r)}},s.prototype.init=function(e,i,n){if(null===this._armature){if(this._armature=e,this._animationData=i,this.resetToPose=n.resetToPose,this.additiveBlending=n.additiveBlending,this.displayControl=n.displayControl,this.actionEnabled=n.actionEnabled,this.layer=n.layer,this.playTimes=n.playTimes,this.timeScale=n.timeScale,this.fadeTotalTime=n.fadeInTime,this.autoFadeOutTime=n.autoFadeOutTime,this.weight=n.weight,this.name=n.name.length>0?n.name:n.animation,this.group=n.group,n.pauseFadeIn?this._playheadState=2:this._playheadState=3,n.duration<0?(this._position=0,this._duration=this._animationData.duration,0!==n.position?this.timeScale>=0?this._time=n.position:this._time=n.position-this._duration:this._time=0):(this._position=n.position,this._duration=n.duration,this._time=0),this.timeScale<0&&0===this._time&&(this._time=-1e-6),this.fadeTotalTime<=0&&(this._fadeProgress=.999999),n.boneMask.length>0){this._boneMask.length=n.boneMask.length;for(var r=0,s=this._boneMask.length;r<s;++r)this._boneMask[r]=n.boneMask[r]}this._actionTimeline=t.BaseObject.borrowObject(t.ActionTimelineState),this._actionTimeline.init(this._armature,this,this._animationData.actionTimeline),this._actionTimeline.currentTime=this._time,this._actionTimeline.currentTime<0&&(this._actionTimeline.currentTime=this._duration-this._actionTimeline.currentTime),null!==this._animationData.zOrderTimeline&&(this._zOrderTimeline=t.BaseObject.borrowObject(t.ZOrderTimelineState),this._zOrderTimeline.init(this._armature,this,this._animationData.zOrderTimeline))}},s.prototype.advanceTime=function(e,i){if(this._blendState.dirty=!1,0===this._fadeState&&0===this._subFadeState||this._advanceFadeTime(e),3===this._playheadState&&(1!==this.timeScale&&(e*=this.timeScale),this._time+=e),0!==this._timelineDirty&&(2===this._timelineDirty&&this._updateTimelines(),this._timelineDirty=0,this._updateBoneAndSlotTimelines()),0!==this.weight){var n=0===this._fadeState&&i>0,r=!0,s=!0,a=this._time;if(this._weightResult=this.weight*this._fadeProgress,null!==this._parent&&(this._weightResult*=this._parent._weightResult/this._parent._fadeProgress),this._actionTimeline.playState<=0&&this._actionTimeline.update(a),n){var o=2*i;this._actionTimeline.currentTime=Math.floor(this._actionTimeline.currentTime*o)/o}if(null!==this._zOrderTimeline&&this._zOrderTimeline.playState<=0&&this._zOrderTimeline.update(a),n){var h=Math.floor(this._actionTimeline.currentTime*i);this._armature._cacheFrameIndex===h?(r=!1,s=!1):(this._armature._cacheFrameIndex=h,this._animationData.cachedFrames[h]?s=!1:this._animationData.cachedFrames[h]=!0)}if(r){if(s)for(var l=0,c=this._boneTimelines.length;l<c;++l){if((d=this._boneTimelines[l]).playState<=0&&d.update(a),l===c-1||d.bone!==this._boneTimelines[l+1].bone)0!==(u=d.bone._blendState.update(this._weightResult,this.layer))&&d.blend(u)}for(l=0,c=this._surfaceTimelines.length;l<c;++l){var u=(d=this._surfaceTimelines[l]).surface._blendState.update(this._weightResult,this.layer);d.playState<=0&&d.update(a),0!==u&&d.blend(u)}if(this.displayControl)for(l=0,c=this._slotTimelines.length;l<c;++l){var _=(d=this._slotTimelines[l]).slot.displayController;null!==_&&_!==this.name&&_!==this.group||d.playState<=0&&d.update(a)}for(l=0,c=this._constraintTimelines.length;l<c;++l){(d=this._constraintTimelines[l]).playState<=0&&d.update(a)}for(l=0,c=this._animationTimelines.length;l<c;++l){u=(d=this._animationTimelines[l]).animationState._blendState.update(this._weightResult,this.layer);d.playState<=0&&d.update(a),0!==u&&d.blend(u)}}if(0===this._fadeState){if(this._subFadeState>0&&(this._subFadeState=0,this._poseTimelines.length>0)){for(var f=0,m=this._poseTimelines;f<m.length;f++){var d;(d=m[f])instanceof t.BoneTimelineState?this._boneTimelines.splice(this._boneTimelines.indexOf(d),1):d instanceof t.SurfaceTimelineState?this._surfaceTimelines.splice(this._surfaceTimelines.indexOf(d),1):d instanceof t.SlotTimelineState?this._slotTimelines.splice(this._slotTimelines.indexOf(d),1):d instanceof t.ConstraintTimelineState&&this._constraintTimelines.splice(this._constraintTimelines.indexOf(d),1),d.returnToPool()}this._poseTimelines.length=0}this._actionTimeline.playState>0&&this.autoFadeOutTime>=0&&this.fadeOut(this.autoFadeOutTime)}}},s.prototype.play=function(){this._playheadState=3},s.prototype.stop=function(){this._playheadState&=1},s.prototype.fadeOut=function(t,e){if(void 0===e&&(e=!0),t<0&&(t=0),e&&(this._playheadState&=2),this._fadeState>0){if(t>this.fadeTotalTime-this._fadeTime)return}else{this._fadeState=1,this._subFadeState=-1,(t<=0||this._fadeProgress<=0)&&(this._fadeProgress=1e-6);for(var i=0,n=this._boneTimelines;i<n.length;i++){(_=n[i]).fadeOut()}for(var r=0,s=this._surfaceTimelines;r<s.length;r++){(_=s[r]).fadeOut()}for(var a=0,o=this._slotTimelines;a<o.length;a++){(_=o[a]).fadeOut()}for(var h=0,l=this._constraintTimelines;h<l.length;h++){(_=l[h]).fadeOut()}for(var c=0,u=this._animationTimelines;c<u.length;c++){var _;(_=u[c]).animationState.fadeOut(t,e),_.fadeOut()}}this.displayControl=!1,this.fadeTotalTime=this._fadeProgress>1e-6?t/this._fadeProgress:0,this._fadeTime=this.fadeTotalTime*(1-this._fadeProgress)},s.prototype.containsBoneMask=function(t){return 0===this._boneMask.length||this._boneMask.indexOf(t)>=0},s.prototype.addBoneMask=function(t,e){void 0===e&&(e=!0);var i=this._armature.getBone(t);if(null!==i){if(this._boneMask.indexOf(t)<0&&this._boneMask.push(t),e)for(var n=0,r=this._armature.getBones();n<r.length;n++){var s=r[n];this._boneMask.indexOf(s.name)<0&&i.contains(s)&&this._boneMask.push(s.name)}this._timelineDirty=1}},s.prototype.removeBoneMask=function(t,e){void 0===e&&(e=!0);var i=this._boneMask.indexOf(t);if(i>=0&&this._boneMask.splice(i,1),e){var n=this._armature.getBone(t);if(null!==n){var r=this._armature.getBones();if(this._boneMask.length>0)for(var s=0,a=r;s<a.length;s++){var o=a[s],h=this._boneMask.indexOf(o.name);h>=0&&n.contains(o)&&this._boneMask.splice(h,1)}else for(var l=0,c=r;l<c.length;l++){(o=c[l])!==n&&(n.contains(o)||this._boneMask.push(o.name))}}}this._timelineDirty=1},s.prototype.removeAllBoneMask=function(){this._boneMask.length=0,this._timelineDirty=1},Object.defineProperty(s.prototype,"isFadeIn",{get:function(){return this._fadeState<0},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"isFadeOut",{get:function(){return this._fadeState>0},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"isFadeComplete",{get:function(){return 0===this._fadeState},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"isPlaying",{get:function(){return 0!=(2&this._playheadState)&&this._actionTimeline.playState<=0},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"isCompleted",{get:function(){return this._actionTimeline.playState>0},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"currentPlayTimes",{get:function(){return this._actionTimeline.currentPlayTimes},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"totalTime",{get:function(){return this._duration},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"currentTime",{get:function(){return this._actionTimeline.currentTime},set:function(t){var e=this._actionTimeline.currentPlayTimes-(this._actionTimeline.playState>0?1:0);if((t<0||this._duration<t)&&(t=t%this._duration+e*this._duration)<0&&(t+=this._duration),this.playTimes>0&&e===this.playTimes-1&&t===this._duration&&(t=this._duration-1e-6),this._time!==t){this._time=t,this._actionTimeline.setCurrentTime(this._time),null!==this._zOrderTimeline&&(this._zOrderTimeline.playState=-1);for(var i=0,n=this._boneTimelines;i<n.length;i++){n[i].playState=-1}for(var r=0,s=this._slotTimelines;r<s.length;r++){s[r].playState=-1}}},enumerable:!0,configurable:!0}),Object.defineProperty(s.prototype,"animationData",{get:function(){return this._animationData},enumerable:!0,configurable:!0}),s})(t.BaseObject);t.AnimationState=e;var i=(function(e){function i(){var i=null!==e&&e.apply(this,arguments)||this;return i.current=new t.Transform,i.delta=new t.Transform,i.result=new t.Transform,i}return r(i,e),i.toString=function(){return"[class dragonBones.BonePose]"},i.prototype._onClear=function(){this.current.identity(),this.delta.identity(),this.result.identity()},i})(t.BaseObject);t.BonePose=i;var n=(function(){function t(){}return t.prototype.update=function(t,e){if(this.dirty){if(!(this.leftWeight>0))return 0;if(this.layer!==e){if(this.layerWeight>=this.leftWeight)return this.leftWeight=0,0;this.layer=e,this.leftWeight-=this.layerWeight,this.layerWeight=0}return t*=this.leftWeight,this.layerWeight+=t,this.blendWeight=t,1}return this.dirty=!0,this.layer=e,this.layerWeight=t,this.leftWeight=1,this.blendWeight=t,-1},t.prototype.clear=function(){this.dirty=!1,this.layer=0,this.leftWeight=0,this.layerWeight=0,this.blendWeight=0},t})();t.BlendState=n})(n||(n={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.prototype._onClear=function(){this.playState=-1,this.currentPlayTimes=-1,this.currentTime=-1,this._tweenState=0,this._frameRate=0,this._frameValueOffset=0,this._frameCount=0,this._frameOffset=0,this._frameIndex=-1,this._frameRateR=0,this._position=0,this._duration=0,this._timeScale=1,this._timeOffset=0,this._dragonBonesData=null,this._animationData=null,this._timelineData=null,this._armature=null,this._animationState=null,this._actionTimeline=null,this._frameArray=null,this._frameIntArray=null,this._frameFloatArray=null,this._timelineArray=null,this._frameIndices=null},e.prototype._setCurrentTime=function(t){var e=this.playState,i=this.currentPlayTimes,n=this.currentTime;if(null!==this._actionTimeline&&this._frameCount<=1)this.playState=this._actionTimeline.playState>=0?1:-1,this.currentPlayTimes=1,this.currentTime=this._actionTimeline.currentTime;else if(null===this._actionTimeline||1!==this._timeScale||0!==this._timeOffset){var r=this._animationState.playTimes,s=r*this._duration;t*=this._timeScale,0!==this._timeOffset&&(t+=this._timeOffset*this._animationData.duration),r>0&&(t>=s||t<=-s)?(this.playState<=0&&3===this._animationState._playheadState&&(this.playState=1),this.currentPlayTimes=r,this.currentTime=t<0?0:this._duration+1e-6):(0!==this.playState&&3===this._animationState._playheadState&&(this.playState=0),t<0?(t=-t,this.currentPlayTimes=Math.floor(t/this._duration),this.currentTime=this._duration-t%this._duration):(this.currentPlayTimes=Math.floor(t/this._duration),this.currentTime=t%this._duration)),this.currentTime+=this._position}else this.playState=this._actionTimeline.playState,this.currentPlayTimes=this._actionTimeline.currentPlayTimes,this.currentTime=this._actionTimeline.currentTime;return(this.currentPlayTimes!==i||this.currentTime!==n)&&((e<0&&this.playState!==e||this.playState<=0&&this.currentPlayTimes!==i)&&(this._frameIndex=-1),!0)},e.prototype.init=function(t,e,i){this._armature=t,this._animationState=e,this._timelineData=i,this._actionTimeline=this._animationState._actionTimeline,this===this._actionTimeline&&(this._actionTimeline=null),this._animationData=this._animationState._animationData,this._frameRate=this._animationData.parent.frameRate,this._frameRateR=1/this._frameRate,this._position=this._animationState._position,this._duration=this._animationState._duration,this._dragonBonesData=this._animationData.parent.parent,null!==this._timelineData&&(this._frameIntArray=this._dragonBonesData.frameIntArray,this._frameFloatArray=this._dragonBonesData.frameFloatArray,this._frameArray=this._dragonBonesData.frameArray,this._timelineArray=this._dragonBonesData.timelineArray,this._frameIndices=this._dragonBonesData.frameIndices,this._frameCount=this._timelineArray[this._timelineData.offset+2],this._frameValueOffset=this._timelineArray[this._timelineData.offset+4],this._timeScale=100/this._timelineArray[this._timelineData.offset+0],this._timeOffset=.01*this._timelineArray[this._timelineData.offset+1])},e.prototype.fadeOut=function(){},e.prototype.update=function(t){if(this._setCurrentTime(t)){if(this._frameCount>1){var e=Math.floor(this.currentTime*this._frameRate),i=this._frameIndices[this._timelineData.frameIndicesOffset+e];this._frameIndex!==i&&(this._frameIndex=i,this._frameOffset=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5+this._frameIndex],this._onArriveAtFrame())}else this._frameIndex<0&&(this._frameIndex=0,null!==this._timelineData&&(this._frameOffset=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5]),this._onArriveAtFrame());0!==this._tweenState&&this._onUpdateFrame()}},e})(t.BaseObject);t.TimelineState=e;var i=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e._getEasingValue=function(t,e,i){var n=e;switch(t){case 3:n=Math.pow(e,2);break;case 4:n=1-Math.pow(1-e,2);break;case 5:n=.5*(1-Math.cos(e*Math.PI))}return(n-e)*i+e},e._getEasingCurveValue=function(t,e,i,n){if(t<=0)return 0;if(t>=1)return 1;var r=i+1,s=Math.floor(t*r),a=0===s?0:e[n+s-1];return 1e-4*(a+((s===r-1?1e4:e[n+s])-a)*(t*r-s))},e.prototype._onClear=function(){t.prototype._onClear.call(this),this._tweenType=0,this._curveCount=0,this._framePosition=0,this._frameDurationR=0,this._tweenProgress=0,this._tweenEasing=0},e.prototype._onArriveAtFrame=function(){if(this._frameCount>1&&(this._frameIndex!==this._frameCount-1||0===this._animationState.playTimes||this._animationState.currentPlayTimes<this._animationState.playTimes-1))if(this._tweenType=this._frameArray[this._frameOffset+1],this._tweenState=0===this._tweenType?1:2,2===this._tweenType?this._curveCount=this._frameArray[this._frameOffset+2]:0!==this._tweenType&&1!==this._tweenType&&(this._tweenEasing=.01*this._frameArray[this._frameOffset+2]),this._framePosition=this._frameArray[this._frameOffset]*this._frameRateR,this._frameIndex===this._frameCount-1)this._frameDurationR=1/(this._animationData.duration-this._framePosition);else{var t=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5+this._frameIndex+1],e=this._frameArray[t]*this._frameRateR-this._framePosition;this._frameDurationR=e>0?1/e:0}else this._tweenState=1},e.prototype._onUpdateFrame=function(){2===this._tweenState?(this._tweenProgress=(this.currentTime-this._framePosition)*this._frameDurationR,2===this._tweenType?this._tweenProgress=e._getEasingCurveValue(this._tweenProgress,this._frameArray,this._curveCount,this._frameOffset+3):1!==this._tweenType&&(this._tweenProgress=e._getEasingValue(this._tweenType,this._tweenProgress,this._tweenEasing))):this._tweenProgress=0},e})(e);t.TweenTimelineState=i;var n=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.bone=null,this.bonePose=null},e.prototype.blend=function(t){var e=this.bone._blendState.blendWeight,i=this.bone.animationPose,n=this.bonePose.result;t>0?(i.x+=n.x*e,i.y+=n.y*e,i.rotation+=n.rotation*e,i.skew+=n.skew*e,i.scaleX+=(n.scaleX-1)*e,i.scaleY+=(n.scaleY-1)*e):1!==e?(i.x=n.x*e,i.y=n.y*e,i.rotation=n.rotation*e,i.skew=n.skew*e,i.scaleX=(n.scaleX-1)*e+1,i.scaleY=(n.scaleY-1)*e+1):(i.x=n.x,i.y=n.y,i.rotation=n.rotation,i.skew=n.skew,i.scaleX=n.scaleX,i.scaleY=n.scaleY),0===this._animationState._fadeState&&0===this._animationState._subFadeState||(this.bone._transformDirty=!0)},e})(i);t.BoneTimelineState=n;var s=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.slot=null},e})(i);t.SlotTimelineState=s;var a=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.constraint=null},e})(i);t.ConstraintTimelineState=a})(n||(n={})),(function(t){var e=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return r(i,e),i.toString=function(){return"[class dragonBones.ActionTimelineState]"},i.prototype._onCrossFrame=function(e){var i=this._armature.eventDispatcher;if(this._animationState.actionEnabled)for(var n=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5+e],r=this._frameArray[n+1],s=this._animationData.parent.actions,a=0;a<r;++a){var o=s[this._frameArray[n+2+a]];if(0===o.type){if(null!==o.slot){if(null!==(c=this._armature.getSlot(o.slot.name)))null!==(u=c.childArmature)&&u._bufferAction(o,!0)}else if(null!==o.bone)for(var h=0,l=this._armature.getSlots();h<l.length;h++){var c,u;null!==(u=(c=l[h]).childArmature)&&c.parent._boneData===o.bone&&u._bufferAction(o,!0)}else this._armature._bufferAction(o,!0)}else{var _=10===o.type?t.EventObject.FRAME_EVENT:t.EventObject.SOUND_EVENT;if(11===o.type||i.hasDBEventListener(_)){var f=t.BaseObject.borrowObject(t.EventObject);f.time=this._frameArray[n]/this._frameRate,f.type=_,f.name=o.name,f.data=o.data,f.armature=this._armature,f.animationState=this._animationState,null!==o.bone&&(f.bone=this._armature.getBone(o.bone.name)),null!==o.slot&&(f.slot=this._armature.getSlot(o.slot.name)),this._armature._dragonBones.bufferEvent(f)}}}},i.prototype._onArriveAtFrame=function(){},i.prototype._onUpdateFrame=function(){},i.prototype.update=function(e){var i=this.playState,n=this.currentPlayTimes,r=this.currentTime;if(this._setCurrentTime(e)){var s=this._armature.eventDispatcher;if(i<0){if(this.playState===i)return;if(this._animationState.displayControl&&this._animationState.resetToPose&&this._armature._sortZOrder(null,0),n=this.currentPlayTimes,s.hasDBEventListener(t.EventObject.START)){var a=t.BaseObject.borrowObject(t.EventObject);a.type=t.EventObject.START,a.armature=this._armature,a.animationState=this._animationState,this._armature._dragonBones.bufferEvent(a)}}var o=this._animationState.timeScale<0,h=null,l=null;if(this.currentPlayTimes!==n&&(s.hasDBEventListener(t.EventObject.LOOP_COMPLETE)&&((h=t.BaseObject.borrowObject(t.EventObject)).type=t.EventObject.LOOP_COMPLETE,h.armature=this._armature,h.animationState=this._animationState),this.playState>0&&s.hasDBEventListener(t.EventObject.COMPLETE)&&((l=t.BaseObject.borrowObject(t.EventObject)).type=t.EventObject.COMPLETE,l.armature=this._armature,l.animationState=this._animationState)),this._frameCount>1){var c=this._timelineData,u=Math.floor(this.currentTime*this._frameRate),_=this._frameIndices[c.frameIndicesOffset+u];if(this._frameIndex!==_){var f=this._frameIndex;if(this._frameIndex=_,null!==this._timelineArray)if(this._frameOffset=this._animationData.frameOffset+this._timelineArray[c.offset+5+this._frameIndex],o){if(f<0){var m=Math.floor(r*this._frameRate);f=this._frameIndices[c.frameIndicesOffset+m],this.currentPlayTimes===n&&f===_&&(f=-1)}for(;f>=0;){var d=this._animationData.frameOffset+this._timelineArray[c.offset+5+f],p=this._frameArray[d]/this._frameRate;if(this._position<=p&&p<=this._position+this._duration&&this._onCrossFrame(f),null!==h&&0===f&&(this._armature._dragonBones.bufferEvent(h),h=null),f>0?f--:f=this._frameCount-1,f===_)break}}else{if(f<0){m=Math.floor(r*this._frameRate);f=this._frameIndices[c.frameIndicesOffset+m];d=this._animationData.frameOffset+this._timelineArray[c.offset+5+f],p=this._frameArray[d]/this._frameRate;this.currentPlayTimes===n&&(r<=p?f>0?f--:f=this._frameCount-1:f===_&&(f=-1))}for(;f>=0;){f<this._frameCount-1?f++:f=0;d=this._animationData.frameOffset+this._timelineArray[c.offset+5+f],p=this._frameArray[d]/this._frameRate;if(this._position<=p&&p<=this._position+this._duration&&this._onCrossFrame(f),null!==h&&0===f&&(this._armature._dragonBones.bufferEvent(h),h=null),f===_)break}}}}else if(this._frameIndex<0&&(this._frameIndex=0,null!==this._timelineData)){this._frameOffset=this._animationData.frameOffset+this._timelineArray[this._timelineData.offset+5];p=this._frameArray[this._frameOffset]/this._frameRate;this.currentPlayTimes===n?r<=p&&this._onCrossFrame(this._frameIndex):this._position<=p&&(o||null===h||(this._armature._dragonBones.bufferEvent(h),h=null),this._onCrossFrame(this._frameIndex))}null!==h&&this._armature._dragonBones.bufferEvent(h),null!==l&&this._armature._dragonBones.bufferEvent(l)}},i.prototype.setCurrentTime=function(t){this._setCurrentTime(t),this._frameIndex=-1},i})(t.TimelineState);t.ActionTimelineState=e;var i=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.toString=function(){return"[class dragonBones.ZOrderTimelineState]"},e.prototype._onArriveAtFrame=function(){this.playState>=0&&(this._frameArray[this._frameOffset+1]>0?this._armature._sortZOrder(this._frameArray,this._frameOffset+2):this._armature._sortZOrder(null,0))},e.prototype._onUpdateFrame=function(){},e})(t.TimelineState);t.ZOrderTimelineState=i;var n=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return r(i,e),i.toString=function(){return"[class dragonBones.BoneAllTimelineState]"},i.prototype._onArriveAtFrame=function(){if(e.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var t=this._animationData.frameFloatOffset+this._frameValueOffset+6*this._frameIndex,i=this._armature._armatureData.scale,n=this._frameFloatArray,r=this.bonePose.current,s=this.bonePose.delta;r.x=n[t++]*i,r.y=n[t++]*i,r.rotation=n[t++],r.skew=n[t++],r.scaleX=n[t++],r.scaleY=n[t++],2===this._tweenState?(this._frameIndex===this._frameCount-1&&(t=this._animationData.frameFloatOffset+this._frameValueOffset),s.x=n[t++]*i-r.x,s.y=n[t++]*i-r.y,s.rotation=n[t++]-r.rotation,s.skew=n[t++]-r.skew,s.scaleX=n[t++]-r.scaleX,s.scaleY=n[t++]-r.scaleY):(s.x=0,s.y=0,s.rotation=0,s.skew=0,s.scaleX=0,s.scaleY=0)}else{r=this.bonePose.current,s=this.bonePose.delta;r.x=0,r.y=0,r.rotation=0,r.skew=0,r.scaleX=1,r.scaleY=1,s.x=0,s.y=0,s.rotation=0,s.skew=0,s.scaleX=0,s.scaleY=0}},i.prototype._onUpdateFrame=function(){e.prototype._onUpdateFrame.call(this);var t=this.bonePose.current,i=this.bonePose.delta,n=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),n.x=t.x+i.x*this._tweenProgress,n.y=t.y+i.y*this._tweenProgress,n.rotation=t.rotation+i.rotation*this._tweenProgress,n.skew=t.skew+i.skew*this._tweenProgress,n.scaleX=t.scaleX+i.scaleX*this._tweenProgress,n.scaleY=t.scaleY+i.scaleY*this._tweenProgress},i.prototype.fadeOut=function(){var e=this.bonePose.result;e.rotation=t.Transform.normalizeRadian(e.rotation),e.skew=t.Transform.normalizeRadian(e.skew)},i})(t.BoneTimelineState);t.BoneAllTimelineState=n;var s=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.toString=function(){return"[class dragonBones.BoneTranslateTimelineState]"},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+2*this._frameIndex,i=this._armature._armatureData.scale,n=this._frameFloatArray,r=this.bonePose.current,s=this.bonePose.delta;r.x=n[e++]*i,r.y=n[e++]*i,2===this._tweenState?(this._frameIndex===this._frameCount-1&&(e=this._animationData.frameFloatOffset+this._frameValueOffset),s.x=n[e++]*i-r.x,s.y=n[e++]*i-r.y):(s.x=0,s.y=0)}else{r=this.bonePose.current,s=this.bonePose.delta;r.x=0,r.y=0,s.x=0,s.y=0}},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this);var e=this.bonePose.current,i=this.bonePose.delta,n=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),n.x=e.x+i.x*this._tweenProgress,n.y=e.y+i.y*this._tweenProgress},e})(t.BoneTimelineState);t.BoneTranslateTimelineState=s;var a=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return r(i,e),i.toString=function(){return"[class dragonBones.BoneRotateTimelineState]"},i.prototype._onArriveAtFrame=function(){if(e.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var t=this._animationData.frameFloatOffset+this._frameValueOffset+2*this._frameIndex,i=this._frameFloatArray,n=this.bonePose.current,r=this.bonePose.delta;n.rotation=i[t++],n.skew=i[t++],2===this._tweenState?(this._frameIndex===this._frameCount-1&&(t=this._animationData.frameFloatOffset+this._frameValueOffset),r.rotation=i[t++]-n.rotation,r.skew=i[t++]-n.skew):(r.rotation=0,r.skew=0)}else{n=this.bonePose.current,r=this.bonePose.delta;n.rotation=0,n.skew=0,r.rotation=0,r.skew=0}},i.prototype._onUpdateFrame=function(){e.prototype._onUpdateFrame.call(this);var t=this.bonePose.current,i=this.bonePose.delta,n=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),n.rotation=t.rotation+i.rotation*this._tweenProgress,n.skew=t.skew+i.skew*this._tweenProgress},i.prototype.fadeOut=function(){var e=this.bonePose.result;e.rotation=t.Transform.normalizeRadian(e.rotation),e.skew=t.Transform.normalizeRadian(e.skew)},i})(t.BoneTimelineState);t.BoneRotateTimelineState=a;var o=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.toString=function(){return"[class dragonBones.BoneScaleTimelineState]"},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+2*this._frameIndex,i=this._frameFloatArray,n=this.bonePose.current,r=this.bonePose.delta;n.scaleX=i[e++],n.scaleY=i[e++],2===this._tweenState?(this._frameIndex===this._frameCount-1&&(e=this._animationData.frameFloatOffset+this._frameValueOffset),r.scaleX=i[e++]-n.scaleX,r.scaleY=i[e++]-n.scaleY):(r.scaleX=0,r.scaleY=0)}else{n=this.bonePose.current,r=this.bonePose.delta;n.scaleX=1,n.scaleY=1,r.scaleX=0,r.scaleY=0}},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this);var e=this.bonePose.current,i=this.bonePose.delta,n=this.bonePose.result;this.bone._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0),n.scaleX=e.scaleX+i.scaleX*this._tweenProgress,n.scaleY=e.scaleY+i.scaleY*this._tweenProgress},e})(t.BoneTimelineState);t.BoneScaleTimelineState=o;var h=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[],e._delta=[],e._result=[],e}return r(e,t),e.toString=function(){return"[class dragonBones.SurfaceTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.surface=null,this._frameFloatOffset=0,this._valueCount=0,this._deformCount=0,this._valueOffset=0,this._current.length=0,this._delta.length=0,this._result.length=0},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+this._frameIndex*this._valueCount,i=this._armature._armatureData.scale,n=this._frameFloatArray;if(2===this._tweenState){var r=e+this._valueCount;this._frameIndex===this._frameCount-1&&(r=this._animationData.frameFloatOffset+this._frameValueOffset);for(var s=0;s<this._valueCount;++s)this._delta[s]=n[r+s]*i-(this._current[s]=n[e+s]*i)}else for(s=0;s<this._valueCount;++s)this._current[s]=n[e+s]*i}else for(s=0;s<this._valueCount;++s)this._current[s]=0},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this),this.surface._transformDirty=!0,2!==this._tweenState&&(this._tweenState=0);for(var e=0;e<this._valueCount;++e)this._result[e]=this._current[e]+this._delta[e]*this._tweenProgress},e.prototype.init=function(e,i,n){if(t.prototype.init.call(this,e,i,n),null!==this._timelineData){var r=this._animationData.frameIntOffset+this._timelineArray[this._timelineData.offset+3];this._deformCount=this._frameIntArray[r+1],this._valueCount=this._frameIntArray[r+2],this._valueOffset=this._frameIntArray[r+3],this._frameFloatOffset=this._frameIntArray[r+4]+this._animationData.frameFloatOffset}else this._deformCount=this.surface._deformVertices.length,this._valueCount=this._deformCount,this._valueOffset=0,this._frameFloatOffset=0;this._current.length=this._valueCount,this._delta.length=this._valueCount,this._result.length=this._valueCount;for(var s=0;s<this._valueCount;++s)this._delta[s]=0},e.prototype.blend=function(t){for(var e=this.surface._blendState.blendWeight,i=this.surface._deformVertices,n=0;n<this._deformCount;++n){var r=0;r=n<this._valueOffset?this._frameFloatArray[this._frameFloatOffset+n]:n<this._valueOffset+this._valueCount?this._result[n-this._valueOffset]:this._frameFloatArray[this._frameFloatOffset+n-this._valueCount],t>0?i[n]+=r*e:i[n]=1!==e?r*e:r}0===this._animationState._fadeState&&0===this._animationState._subFadeState||(this.surface._transformDirty=!0)},e})(t.TweenTimelineState);t.SurfaceTimelineState=h;var l=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.toString=function(){return"[class dragonBones.SlotDislayTimelineState]"},e.prototype._onArriveAtFrame=function(){if(this.playState>=0){var t=null!==this._timelineData?this._frameArray[this._frameOffset+1]:this.slot._slotData.displayIndex;this.slot.displayIndex!==t&&this.slot._setDisplayIndex(t,!0)}},e})(t.SlotTimelineState);t.SlotDislayTimelineState=l;var c=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[0,0,0,0,0,0,0,0],e._delta=[0,0,0,0,0,0,0,0],e._result=[0,0,0,0,0,0,0,0],e}return r(e,t),e.toString=function(){return"[class dragonBones.SlotColorTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this._dirty=!1},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._dragonBonesData.intArray,i=this._frameIntArray,n=this._animationData.frameIntOffset+this._frameValueOffset+1*this._frameIndex,r=i[n];r<0&&(r+=65536),this._current[0]=e[r++],this._current[1]=e[r++],this._current[2]=e[r++],this._current[3]=e[r++],this._current[4]=e[r++],this._current[5]=e[r++],this._current[6]=e[r++],this._current[7]=e[r++],2===this._tweenState&&((r=this._frameIndex===this._frameCount-1?i[this._animationData.frameIntOffset+this._frameValueOffset]:i[n+1])<0&&(r+=65536),this._delta[0]=e[r++]-this._current[0],this._delta[1]=e[r++]-this._current[1],this._delta[2]=e[r++]-this._current[2],this._delta[3]=e[r++]-this._current[3],this._delta[4]=e[r++]-this._current[4],this._delta[5]=e[r++]-this._current[5],this._delta[6]=e[r++]-this._current[6],this._delta[7]=e[r++]-this._current[7])}else{var s=this.slot._slotData.color;this._current[0]=100*s.alphaMultiplier,this._current[1]=100*s.redMultiplier,this._current[2]=100*s.greenMultiplier,this._current[3]=100*s.blueMultiplier,this._current[4]=s.alphaOffset,this._current[5]=s.redOffset,this._current[6]=s.greenOffset,this._current[7]=s.blueOffset}},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this),this._dirty=!0,2!==this._tweenState&&(this._tweenState=0),this._result[0]=.01*(this._current[0]+this._delta[0]*this._tweenProgress),this._result[1]=.01*(this._current[1]+this._delta[1]*this._tweenProgress),this._result[2]=.01*(this._current[2]+this._delta[2]*this._tweenProgress),this._result[3]=.01*(this._current[3]+this._delta[3]*this._tweenProgress),this._result[4]=this._current[4]+this._delta[4]*this._tweenProgress,this._result[5]=this._current[5]+this._delta[5]*this._tweenProgress,this._result[6]=this._current[6]+this._delta[6]*this._tweenProgress,this._result[7]=this._current[7]+this._delta[7]*this._tweenProgress},e.prototype.fadeOut=function(){this._tweenState=0,this._dirty=!1},e.prototype.update=function(e){if(t.prototype.update.call(this,e),0!==this._tweenState||this._dirty){var i=this.slot._colorTransform;if(0!==this._animationState._fadeState||0!==this._animationState._subFadeState){if(i.alphaMultiplier!==this._result[0]||i.redMultiplier!==this._result[1]||i.greenMultiplier!==this._result[2]||i.blueMultiplier!==this._result[3]||i.alphaOffset!==this._result[4]||i.redOffset!==this._result[5]||i.greenOffset!==this._result[6]||i.blueOffset!==this._result[7]){var n=Math.pow(this._animationState._fadeProgress,4);i.alphaMultiplier+=(this._result[0]-i.alphaMultiplier)*n,i.redMultiplier+=(this._result[1]-i.redMultiplier)*n,i.greenMultiplier+=(this._result[2]-i.greenMultiplier)*n,i.blueMultiplier+=(this._result[3]-i.blueMultiplier)*n,i.alphaOffset+=(this._result[4]-i.alphaOffset)*n,i.redOffset+=(this._result[5]-i.redOffset)*n,i.greenOffset+=(this._result[6]-i.greenOffset)*n,i.blueOffset+=(this._result[7]-i.blueOffset)*n,this.slot._colorDirty=!0}}else this._dirty&&(this._dirty=!1,i.alphaMultiplier===this._result[0]&&i.redMultiplier===this._result[1]&&i.greenMultiplier===this._result[2]&&i.blueMultiplier===this._result[3]&&i.alphaOffset===this._result[4]&&i.redOffset===this._result[5]&&i.greenOffset===this._result[6]&&i.blueOffset===this._result[7]||(i.alphaMultiplier=this._result[0],i.redMultiplier=this._result[1],i.greenMultiplier=this._result[2],i.blueMultiplier=this._result[3],i.alphaOffset=this._result[4],i.redOffset=this._result[5],i.greenOffset=this._result[6],i.blueOffset=this._result[7],this.slot._colorDirty=!0))}},e})(t.SlotTimelineState);t.SlotColorTimelineState=c;var u=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[],e._delta=[],e._result=[],e}return r(e,t),e.toString=function(){return"[class dragonBones.SlotFFDTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.meshOffset=0,this._dirty=!1,this._frameFloatOffset=0,this._valueCount=0,this._deformCount=0,this._valueOffset=0,this._current.length=0,this._delta.length=0,this._result.length=0},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameFloatOffset+this._frameValueOffset+this._frameIndex*this._valueCount,i=this._armature._armatureData.scale,n=this._frameFloatArray;if(2===this._tweenState){var r=e+this._valueCount;this._frameIndex===this._frameCount-1&&(r=this._animationData.frameFloatOffset+this._frameValueOffset);for(var s=0;s<this._valueCount;++s)this._delta[s]=n[r+s]*i-(this._current[s]=n[e+s]*i)}else for(s=0;s<this._valueCount;++s)this._current[s]=n[e+s]*i}else for(s=0;s<this._valueCount;++s)this._current[s]=0},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this),this._dirty=!0,2!==this._tweenState&&(this._tweenState=0);for(var e=0;e<this._valueCount;++e)this._result[e]=this._current[e]+this._delta[e]*this._tweenProgress},e.prototype.init=function(e,i,n){if(t.prototype.init.call(this,e,i,n),null!==this._timelineData){var r=this._animationData.frameIntOffset+this._timelineArray[this._timelineData.offset+3];this.meshOffset=this._frameIntArray[r+0],this.meshOffset<0&&(this.meshOffset+=65536),this._deformCount=this._frameIntArray[r+1],this._valueCount=this._frameIntArray[r+2],this._valueOffset=this._frameIntArray[r+3],this._frameFloatOffset=this._frameIntArray[r+4]+this._animationData.frameFloatOffset}else this._deformCount=this.slot._deformVertices.length,this._valueCount=this._deformCount,this._valueOffset=0,this._frameFloatOffset=0;this._current.length=this._valueCount,this._delta.length=this._valueCount,this._result.length=this._valueCount;for(var s=0;s<this._valueCount;++s)this._delta[s]=0},e.prototype.fadeOut=function(){this._tweenState=0,this._dirty=!1},e.prototype.update=function(e){if(null!==this.slot._meshData&&this.slot._meshData.offset===this.meshOffset&&(t.prototype.update.call(this,e),0!==this._tweenState||this._dirty)){var i=this.slot._deformVertices;if(0!==this._animationState._fadeState||0!==this._animationState._subFadeState){for(var n=Math.pow(this._animationState._fadeProgress,2),r=0;r<this._deformCount;++r)r<this._valueOffset?i[r]+=(this._frameFloatArray[this._frameFloatOffset+r]-i[r])*n:r<this._valueOffset+this._valueCount?i[r]+=(this._result[r-this._valueOffset]-i[r])*n:i[r]+=(this._frameFloatArray[this._frameFloatOffset+r-this._valueCount]-i[r])*n;this.slot._meshDirty=!0}else if(this._dirty){this._dirty=!1;for(r=0;r<this._deformCount;++r)r<this._valueOffset?i[r]=this._frameFloatArray[this._frameFloatOffset+r]:r<this._valueOffset+this._valueCount?i[r]=this._result[r-this._valueOffset]:i[r]=this._frameFloatArray[this._frameFloatOffset+r-this._valueCount];this.slot._meshDirty=!0}}},e})(t.SlotTimelineState);t.SlotFFDTimelineState=u;var _=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.toString=function(){return"[class dragonBones.IKConstraintTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this._current=0,this._delta=0},e.prototype._onArriveAtFrame=function(){t.prototype._onArriveAtFrame.call(this);var e=this.constraint;if(null!==this._timelineData){var i=this._animationData.frameIntOffset+this._frameValueOffset+2*this._frameIndex,n=this._frameIntArray,r=0!==n[i++];this._current=.01*n[i++],2===this._tweenState?(this._frameIndex===this._frameCount-1&&(i=this._animationData.frameIntOffset+this._frameValueOffset),this._delta=.01*n[i+1]-this._current):this._delta=0,e._bendPositive=r}else{var s=e._constraintData;this._current=s.weight,this._delta=0,e._bendPositive=s.bendPositive}e.invalidUpdate()},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this),2!==this._tweenState&&(this._tweenState=0);var e=this.constraint;e._weight=this._current+this._delta*this._tweenProgress,e.invalidUpdate()},e})(t.ConstraintTimelineState);t.IKConstraintTimelineState=_;var f=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._floats=[0,0,0,0,0,0],e}return r(e,t),e.toString=function(){return"[class dragonBones.AnimationTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.animationState=null},e.prototype._onArriveAtFrame=function(){if(t.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var e=this._animationData.frameIntOffset+this._frameValueOffset+2*this._frameIndex,i=1/this.animationState._animationData.parent.frameRate,n=this._frameIntArray;this._floats[0]=n[e++]*i,this._floats[3]=.01*n[e++],2===this._tweenState?(this._frameIndex===this._frameCount-1&&(e=this._animationData.frameIntOffset+this._frameValueOffset),this._floats[1]=n[e++]*i-this._floats[0],this._floats[4]=.01*n[e++]-this._floats[3]):(this._floats[1]=0,this._floats[4]=0)}},e.prototype._onUpdateFrame=function(){t.prototype._onUpdateFrame.call(this),2!==this._tweenState&&(this._tweenState=0),this._floats[0]>=0&&(this._floats[2]=this._floats[0]+this._floats[1]*this._tweenProgress),this._floats[5]=this._floats[3]+this._floats[4]*this._tweenProgress},e.prototype.blend=function(t){var e=this.animationState,i=e._blendState.blendWeight;t>0?(e.weight+=this._floats[5]*i,e.currentTime+=this._floats[2]*i):(e.weight=this._floats[5]*i,e.currentTime=this._floats[2]*i)},e})(t.TweenTimelineState);t.AnimationTimelineState=f})(n||(n={})),(function(t){var e=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.toString=function(){return"[class dragonBones.EventObject]"},e.prototype._onClear=function(){this.time=0,this.type="",this.name="",this.armature=null,this.bone=null,this.slot=null,this.animationState=null,this.data=null},e.START="start",e.LOOP_COMPLETE="loopComplete",e.COMPLETE="complete",e.FADE_IN="fadeIn",e.FADE_IN_COMPLETE="fadeInComplete",e.FADE_OUT="fadeOut",e.FADE_OUT_COMPLETE="fadeOutComplete",e.FRAME_EVENT="frameEvent",e.SOUND_EVENT="soundEvent",e})(t.BaseObject);t.EventObject=e})(n||(n={})),(function(t){var e=(function(){function e(){}return e._getArmatureType=function(t){switch(t.toLowerCase()){case"stage":return 2;case"armature":return 0;case"movieclip":return 1;default:return 0}},e._getBoneType=function(t){switch(t.toLowerCase()){case"bone":return 0;case"surface":return 1;default:return 0}},e._getDisplayType=function(t){switch(t.toLowerCase()){case"image":return 0;case"mesh":return 2;case"armature":return 1;case"boundingbox":return 3;default:return 0}},e._getBoundingBoxType=function(t){switch(t.toLowerCase()){case"rectangle":return 0;case"ellipse":return 1;case"polygon":return 2;default:return 0}},e._getActionType=function(t){switch(t.toLowerCase()){case"play":return 0;case"frame":return 10;case"sound":return 11;default:return 0}},e._getBlendMode=function(t){switch(t.toLowerCase()){case"normal":return 0;case"add":return 1;case"alpha":return 2;case"darken":return 3;case"difference":return 4;case"erase":return 5;case"hardlight":return 6;case"invert":return 7;case"layer":return 8;case"lighten":return 9;case"multiply":return 10;case"overlay":return 11;case"screen":return 12;case"subtract":return 13;default:return 0}},e.parseDragonBonesData=function(e){return e instanceof ArrayBuffer?t.BinaryDataParser.getInstance().parseDragonBonesData(e):t.ObjectDataParser.getInstance().parseDragonBonesData(e)},e.parseTextureAtlasData=function(i,n){void 0===n&&(n=1),console.warn("\u5df2\u5e9f\u5f03");for(var r={},s=i[e.SUB_TEXTURE],a=0,o=s.length;a<o;a++){var h=s[a],l=h[e.NAME],c=new t.Rectangle,u=null;c.x=h[e.X]/n,c.y=h[e.Y]/n,c.width=h[e.WIDTH]/n,c.height=h[e.HEIGHT]/n,e.FRAME_WIDTH in h&&((u=new t.Rectangle).x=h[e.FRAME_X]/n,u.y=h[e.FRAME_Y]/n,u.width=h[e.FRAME_WIDTH]/n,u.height=h[e.FRAME_HEIGHT]/n),r[l]={region:c,frame:u,rotated:!1}}return r},e.DATA_VERSION_2_3="2.3",e.DATA_VERSION_3_0="3.0",e.DATA_VERSION_4_0="4.0",e.DATA_VERSION_4_5="4.5",e.DATA_VERSION_5_0="5.0",e.DATA_VERSION_5_5="5.5",e.DATA_VERSION=e.DATA_VERSION_5_5,e.DATA_VERSIONS=[e.DATA_VERSION_4_0,e.DATA_VERSION_4_5,e.DATA_VERSION_5_0,e.DATA_VERSION_5_5],e.TEXTURE_ATLAS="textureAtlas",e.SUB_TEXTURE="SubTexture",e.FORMAT="format",e.IMAGE_PATH="imagePath",e.WIDTH="width",e.HEIGHT="height",e.ROTATED="rotated",e.FRAME_X="frameX",e.FRAME_Y="frameY",e.FRAME_WIDTH="frameWidth",e.FRAME_HEIGHT="frameHeight",e.DRADON_BONES="dragonBones",e.USER_DATA="userData",e.ARMATURE="armature",e.BONE="bone",e.SURFACE="surface",e.SLOT="slot",e.CONSTRAINT="constraint",e.IK="ik",e.SKIN="skin",e.DISPLAY="display",e.ANIMATION="animation",e.Z_ORDER="zOrder",e.FFD="ffd",e.FRAME="frame",e.TRANSLATE_FRAME="translateFrame",e.ROTATE_FRAME="rotateFrame",e.SCALE_FRAME="scaleFrame",e.DISPLAY_FRAME="displayFrame",e.COLOR_FRAME="colorFrame",e.DEFAULT_ACTIONS="defaultActions",e.ACTIONS="actions",e.EVENTS="events",e.INTS="ints",e.FLOATS="floats",e.STRINGS="strings",e.CANVAS="canvas",e.TRANSFORM="transform",e.PIVOT="pivot",e.AABB="aabb",e.COLOR="color",e.VERSION="version",e.COMPATIBLE_VERSION="compatibleVersion",e.FRAME_RATE="frameRate",e.TYPE="type",e.SUB_TYPE="subType",e.NAME="name",e.PARENT="parent",e.TARGET="target",e.STAGE="stage",e.SHARE="share",e.PATH="path",e.LENGTH="length",e.DISPLAY_INDEX="displayIndex",e.BLEND_MODE="blendMode",e.INHERIT_TRANSLATION="inheritTranslation",e.INHERIT_ROTATION="inheritRotation",e.INHERIT_SCALE="inheritScale",e.INHERIT_REFLECTION="inheritReflection",e.INHERIT_ANIMATION="inheritAnimation",e.INHERIT_DEFORM="inheritDeform",e.SEGMENT_X="segmentX",e.SEGMENT_Y="segmentY",e.BEND_POSITIVE="bendPositive",e.CHAIN="chain",e.WEIGHT="weight",e.FADE_IN_TIME="fadeInTime",e.PLAY_TIMES="playTimes",e.SCALE="scale",e.OFFSET="offset",e.POSITION="position",e.DURATION="duration",e.TWEEN_EASING="tweenEasing",e.TWEEN_ROTATE="tweenRotate",e.TWEEN_SCALE="tweenScale",e.CLOCK_WISE="clockwise",e.CURVE="curve",e.SOUND="sound",e.EVENT="event",e.ACTION="action",e.X="x",e.Y="y",e.SKEW_X="skX",e.SKEW_Y="skY",e.SCALE_X="scX",e.SCALE_Y="scY",e.VALUE="value",e.ROTATE="rotate",e.SKEW="skew",e.ALPHA_OFFSET="aO",e.RED_OFFSET="rO",e.GREEN_OFFSET="gO",e.BLUE_OFFSET="bO",e.ALPHA_MULTIPLIER="aM",e.RED_MULTIPLIER="rM",e.GREEN_MULTIPLIER="gM",e.BLUE_MULTIPLIER="bM",e.UVS="uvs",e.VERTICES="vertices",e.TRIANGLES="triangles",e.WEIGHTS="weights",e.SLOT_POSE="slotPose",e.BONE_POSE="bonePose",e.GLUE_WEIGHTS="glueWeights",e.GLUE_MESHES="glueMeshes",e.GOTO_AND_PLAY="gotoAndPlay",e.DEFAULT_NAME="default",e})();t.DataParser=e})(n||(n={})),(function(t){var e=(function(e){function n(){var i=null!==e&&e.apply(this,arguments)||this;return i._rawTextureAtlasIndex=0,i._rawBones=[],i._data=null,i._armature=null,i._bone=null,i._surface=null,i._slot=null,i._skin=null,i._mesh=null,i._animation=null,i._timeline=null,i._rawTextureAtlases=null,i._defaultColorOffset=-1,i._prevClockwise=0,i._prevRotation=0,i._helpMatrixA=new t.Matrix,i._helpMatrixB=new t.Matrix,i._helpTransform=new t.Transform,i._helpColorTransform=new t.ColorTransform,i._helpPoint=new t.Point,i._helpArray=[],i._intArray=[],i._floatArray=[],i._frameIntArray=[],i._frameFloatArray=[],i._frameArray=[],i._timelineArray=[],i._cacheRawMeshes=[],i._cacheMeshes=[],i._actionFrames=[],i._weightSlotPose={},i._weightBonePoses={},i._cacheBones={},i._slotChildActions={},i}return r(n,e),n._getBoolean=function(t,e,i){if(e in t){var n=t[e],r=typeof n;if("boolean"===r)return n;if("string"!==r)return!!n;switch(n){case"0":case"NaN":case"":case"false":case"null":case"undefined":return!1;default:return!0}}return i},n._getNumber=function(t,e,i){if(e in t){var n=t[e];return null===n||"NaN"===n?i:+n||0}return i},n._getString=function(e,i,n){if(i in e){var r=e[i];if("string"===typeof r){if(t.DragonBones.webAssembly)for(var s=0,a=r.length;s<a;++s)if(r.charCodeAt(s)>255)return encodeURI(r);return r}return String(r)}return n},n.prototype._getCurvePoint=function(t,e,i,n,r,s,a,o,h,l){var c=1-h,u=c*c,_=h*h,f=c*u,m=3*h*u,d=3*c*_,p=h*_;l.x=f*t+m*i+d*r+p*a,l.y=f*e+m*n+d*s+p*o},n.prototype._samplingEasingCurve=function(t,e){for(var i=t.length,n=-2,r=0,s=e.length;r<s;++r){for(var a=(r+1)/(s+1);(n+6<i?t[n+6]:1)<a;)n+=6;for(var o=n>=0&&n+6<i,h=o?t[n]:0,l=o?t[n+1]:0,c=t[n+2],u=t[n+3],_=t[n+4],f=t[n+5],m=o?t[n+6]:1,d=o?t[n+7]:1,p=0,y=1;y-p>1e-4;){var v=.5*(y+p);this._getCurvePoint(h,l,c,u,_,f,m,d,v,this._helpPoint),a-this._helpPoint.x>0?p=v:y=v}e[r]=this._helpPoint.y}},n.prototype._parseActionDataInFrame=function(e,i,n,r){t.DataParser.EVENT in e&&this._mergeActionFrame(e[t.DataParser.EVENT],i,10,n,r),t.DataParser.SOUND in e&&this._mergeActionFrame(e[t.DataParser.SOUND],i,11,n,r),t.DataParser.ACTION in e&&this._mergeActionFrame(e[t.DataParser.ACTION],i,0,n,r),t.DataParser.EVENTS in e&&this._mergeActionFrame(e[t.DataParser.EVENTS],i,10,n,r),t.DataParser.ACTIONS in e&&this._mergeActionFrame(e[t.DataParser.ACTIONS],i,0,n,r)},n.prototype._mergeActionFrame=function(e,n,r,s,a){for(var o=t.DragonBones.webAssembly?this._armature.actions.size():this._armature.actions.length,h=this._parseActionData(e,r,s,a),l=0,c=null,u=0,_=h;u<_.length;u++){var f=_[u];this._armature.addAction(f,!1)}0===this._actionFrames.length&&((c=new i).frameStart=0,this._actionFrames.push(c),c=null);for(var m=0,d=this._actionFrames;m<d.length;m++){var p=d[m];if(p.frameStart===n){c=p;break}if(p.frameStart>n)break;l++}null===c&&((c=new i).frameStart=n,this._actionFrames.splice(l+1,0,c));for(var y=0;y<h.length;++y)c.actions.push(o+y)},n.prototype._parseArmature=function(e,i){var r=t.BaseObject.borrowObject(t.ArmatureData);if(r.name=n._getString(e,t.DataParser.NAME,""),r.frameRate=n._getNumber(e,t.DataParser.FRAME_RATE,this._data.frameRate),r.scale=i,t.DataParser.TYPE in e&&"string"==typeof e[t.DataParser.TYPE]?r.type=t.DataParser._getArmatureType(e[t.DataParser.TYPE]):r.type=n._getNumber(e,t.DataParser.TYPE,0),0===r.frameRate&&(r.frameRate=24),this._armature=r,t.DataParser.CANVAS in e){var s=e[t.DataParser.CANVAS],a=t.BaseObject.borrowObject(t.CanvasData);t.DataParser.COLOR in s?a.hasBackground=!0:a.hasBackground=!1,a.color=n._getNumber(s,t.DataParser.COLOR,0),a.x=n._getNumber(s,t.DataParser.X,0)*r.scale,a.y=n._getNumber(s,t.DataParser.Y,0)*r.scale,a.width=n._getNumber(s,t.DataParser.WIDTH,0)*r.scale,a.height=n._getNumber(s,t.DataParser.HEIGHT,0)*r.scale,r.canvas=a}if(t.DataParser.AABB in e){var o=e[t.DataParser.AABB];r.aabb.x=n._getNumber(o,t.DataParser.X,0)*r.scale,r.aabb.y=n._getNumber(o,t.DataParser.Y,0)*r.scale,r.aabb.width=n._getNumber(o,t.DataParser.WIDTH,0)*r.scale,r.aabb.height=n._getNumber(o,t.DataParser.HEIGHT,0)*r.scale}if(t.DataParser.BONE in e)for(var h=0,l=e[t.DataParser.BONE];h<l.length;h++){var c=l[h],u=n._getString(c,t.DataParser.PARENT,""),_=this._parseBone(c);if(u.length>0){var f=r.getBone(u);null!==f?_.parent=f:(u in this._cacheBones||(this._cacheBones[u]=[]),this._cacheBones[u].push(_))}if(_.name in this._cacheBones){for(var m=0,d=this._cacheBones[_.name];m<d.length;m++){d[m].parent=_}delete this._cacheBones[_.name]}r.addBone(_),this._rawBones.push(_)}if(t.DataParser.IK in e)for(var p=0,y=e[t.DataParser.IK];p<y.length;p++){var v=y[p],g=this._parseIKConstraint(v);g&&r.addConstraint(g)}if(r.sortBones(),t.DataParser.SLOT in e)for(var x=0,A=0,b=e[t.DataParser.SLOT];A<b.length;A++){var C=b[A];r.addSlot(this._parseSlot(C,x++))}if(t.DataParser.SKIN in e)for(var S=0,T=e[t.DataParser.SKIN];S<T.length;S++){var w=T[S];r.addSkin(this._parseSkin(w))}for(var E=0,D=this._cacheRawMeshes.length;E<D;++E){var M=this._cacheRawMeshes[E];t.DataParser.GLUE_WEIGHTS in M&&t.DataParser.GLUE_MESHES in M&&this._parseMeshGlue(M,this._cacheMeshes[E])}for(E=0,D=this._cacheRawMeshes.length;E<D;++E){var B=this._cacheRawMeshes[E],P=n._getString(B,t.DataParser.SHARE,"");if(0!==P.length){var I=n._getString(B,t.DataParser.SKIN,t.DataParser.DEFAULT_NAME);0===I.length&&(I=t.DataParser.DEFAULT_NAME);var R=r.getMesh(I,"",P);if(null!==R){var O=this._cacheMeshes[E];O.offset=R.offset,O.weight=R.weight,O.glue=R.glue}}}if(t.DataParser.ANIMATION in e)for(var L=0,F=e[t.DataParser.ANIMATION];L<F.length;L++){var V=F[L],N=this._parseAnimation(V);r.addAnimation(N)}if(t.DataParser.DEFAULT_ACTIONS in e)for(var k=0,G=this._parseActionData(e[t.DataParser.DEFAULT_ACTIONS],0,null,null);k<G.length;k++){var z=G[k];if(r.addAction(z,!0),0===z.type)null!==(N=r.getAnimation(z.name))&&(r.defaultAnimation=N)}if(t.DataParser.ACTIONS in e)for(var U=0,j=this._parseActionData(e[t.DataParser.ACTIONS],0,null,null);U<j.length;U++){z=j[U];r.addAction(z,!1)}this._rawBones.length=0,this._cacheRawMeshes.length=0,this._cacheMeshes.length=0,this._armature=null;for(var W in this._weightSlotPose)delete this._weightSlotPose[W];for(var W in this._weightBonePoses)delete this._weightBonePoses[W];for(var W in this._cacheBones)delete this._cacheBones[W];for(var W in this._slotChildActions)delete this._slotChildActions[W];return r},n.prototype._parseBone=function(e){var i=this._armature.scale;if(0===(t.DataParser.TYPE in e&&"string"==typeof e[t.DataParser.TYPE]?t.DataParser._getBoneType(e[t.DataParser.TYPE]):n._getNumber(e,t.DataParser.TYPE,0))){var r=t.BaseObject.borrowObject(t.BoneData);return r.inheritTranslation=n._getBoolean(e,t.DataParser.INHERIT_TRANSLATION,!0),r.inheritRotation=n._getBoolean(e,t.DataParser.INHERIT_ROTATION,!0),r.inheritScale=n._getBoolean(e,t.DataParser.INHERIT_SCALE,!0),r.inheritReflection=n._getBoolean(e,t.DataParser.INHERIT_REFLECTION,!0),r.length=n._getNumber(e,t.DataParser.LENGTH,0)*i,r.name=n._getString(e,t.DataParser.NAME,""),t.DataParser.TRANSFORM in e&&this._parseTransform(e[t.DataParser.TRANSFORM],r.transform,i),r}var s=t.BaseObject.borrowObject(t.SurfaceData);if(s.name=n._getString(e,t.DataParser.NAME,""),s.segmentX=n._getNumber(e,t.DataParser.SEGMENT_X,0),s.segmentY=n._getNumber(e,t.DataParser.SEGMENT_Y,0),s.vertices.length=(s.segmentX+1)*(s.segmentY+1)*2,t.DataParser.VERTICES in e)for(var a=e[t.DataParser.VERTICES],o=0,h=s.vertices.length;o<h;++o)o<a.length?s.vertices[o]=a[o]*i:s.vertices[o]=0;return s},n.prototype._parseIKConstraint=function(e){var i=this._armature.getBone(n._getString(e,t.DataParser.BONE,""));if(null===i)return null;var r=this._armature.getBone(n._getString(e,t.DataParser.TARGET,""));if(null===r)return null;var s=t.BaseObject.borrowObject(t.IKConstraintData);return s.scaleEnabled=n._getBoolean(e,t.DataParser.SCALE,!1),s.bendPositive=n._getBoolean(e,t.DataParser.BEND_POSITIVE,!0),s.weight=n._getNumber(e,t.DataParser.WEIGHT,1),s.name=n._getString(e,t.DataParser.NAME,""),s.target=r,n._getNumber(e,t.DataParser.CHAIN,0)>0&&null!==i.parent?(s.root=i.parent,s.bone=i):(s.root=i,s.bone=null),s},n.prototype._parseSlot=function(e,i){var r=t.BaseObject.borrowObject(t.SlotData);return r.displayIndex=n._getNumber(e,t.DataParser.DISPLAY_INDEX,0),r.zOrder=i,r.name=n._getString(e,t.DataParser.NAME,""),r.parent=this._armature.getBone(n._getString(e,t.DataParser.PARENT,"")),t.DataParser.BLEND_MODE in e&&"string"==typeof e[t.DataParser.BLEND_MODE]?r.blendMode=t.DataParser._getBlendMode(e[t.DataParser.BLEND_MODE]):r.blendMode=n._getNumber(e,t.DataParser.BLEND_MODE,0),t.DataParser.COLOR in e?(r.color=t.SlotData.createColor(),this._parseColorTransform(e[t.DataParser.COLOR],r.color)):r.color=t.SlotData.DEFAULT_COLOR,t.DataParser.ACTIONS in e&&(this._slotChildActions[r.name]=this._parseActionData(e[t.DataParser.ACTIONS],0,null,null)),r},n.prototype._parseSkin=function(e){var i=t.BaseObject.borrowObject(t.SkinData);if(i.name=n._getString(e,t.DataParser.NAME,t.DataParser.DEFAULT_NAME),0===i.name.length&&(i.name=t.DataParser.DEFAULT_NAME),t.DataParser.SLOT in e){var r=e[t.DataParser.SLOT];this._skin=i;for(var s=0,a=r;s<a.length;s++){var o=a[s],h=n._getString(o,t.DataParser.NAME,""),l=this._armature.getSlot(h);if(null!==l){if(this._slot=l,t.DataParser.DISPLAY in o)for(var c=0,u=o[t.DataParser.DISPLAY];c<u.length;c++){var _=u[c];_?i.addDisplay(h,this._parseDisplay(_)):i.addDisplay(h,null)}this._slot=null}}this._skin=null}return i},n.prototype._parseDisplay=function(e){var i=n._getString(e,t.DataParser.NAME,""),r=n._getString(e,t.DataParser.PATH,""),s=0,a=null;switch(s=t.DataParser.TYPE in e&&"string"==typeof e[t.DataParser.TYPE]?t.DataParser._getDisplayType(e[t.DataParser.TYPE]):n._getNumber(e,t.DataParser.TYPE,s)){case 0:var o=a=t.BaseObject.borrowObject(t.ImageDisplayData);o.name=i,o.path=r.length>0?r:i,this._parsePivot(e,o);break;case 1:var h=a=t.BaseObject.borrowObject(t.ArmatureDisplayData);if(h.name=i,h.path=r.length>0?r:i,h.inheritAnimation=!0,t.DataParser.ACTIONS in e)for(var l=0,c=this._parseActionData(e[t.DataParser.ACTIONS],0,null,null);l<c.length;l++){var u=c[l];h.addAction(u)}else if(this._slot.name in this._slotChildActions){var _=this._skin.getDisplays(this._slot.name);if(null===_?0===this._slot.displayIndex:this._slot.displayIndex===_.length){for(var f=0,m=this._slotChildActions[this._slot.name];f<m.length;f++){u=m[f];h.addAction(u)}delete this._slotChildActions[this._slot.name]}}break;case 2:var d=a=t.BaseObject.borrowObject(t.MeshDisplayData);d.inheritDeform=n._getBoolean(e,t.DataParser.INHERIT_DEFORM,!0),d.name=i,d.path=r.length>0?r:i,t.DataParser.SHARE in e?(this._cacheRawMeshes.push(e),this._cacheRawMeshes.push(d)):this._parseMesh(e,d),t.DataParser.GLUE_WEIGHTS in e&&t.DataParser.GLUE_MESHES in e&&(this._cacheRawMeshes.push(e),this._cacheRawMeshes.push(d));break;case 3:var p=this._parseBoundingBox(e);if(null!==p){var y=a=t.BaseObject.borrowObject(t.BoundingBoxDisplayData);y.name=i,y.path=r.length>0?r:i,y.boundingBox=p}}return null!==a&&t.DataParser.TRANSFORM in e&&this._parseTransform(e[t.DataParser.TRANSFORM],a.transform,this._armature.scale),a},n.prototype._parsePivot=function(e,i){if(t.DataParser.PIVOT in e){var r=e[t.DataParser.PIVOT];i.pivot.x=n._getNumber(r,t.DataParser.X,0),i.pivot.y=n._getNumber(r,t.DataParser.Y,0)}else i.pivot.x=.5,i.pivot.y=.5},n.prototype._parseMesh=function(e,i){var n=e[t.DataParser.VERTICES],r=e[t.DataParser.UVS],s=e[t.DataParser.TRIANGLES],a=Math.floor(n.length/2),o=Math.floor(s.length/3),h=this._floatArray.length,l=h+2*a,c=this._intArray.length,u=this._skin.name+"_"+this._slot.name+"_"+i.name;i.offset=c,this._intArray.length+=4+3*o,this._intArray[c+0]=a,this._intArray[c+1]=o,this._intArray[c+2]=h;for(var _=0,f=3*o;_<f;++_)this._intArray[c+4+_]=s[_];this._floatArray.length+=2*a+2*a;for(_=0,f=2*a;_<f;++_)this._floatArray[h+_]=n[_],this._floatArray[l+_]=r[_];if(t.DataParser.WEIGHTS in e){var m=e[t.DataParser.WEIGHTS],d=e[t.DataParser.SLOT_POSE],p=e[t.DataParser.BONE_POSE],y=this._armature.sortedBones,v=new Array,g=Math.floor(p.length/7),x=this._floatArray.length,A=Math.floor(m.length-a)/2,b=this._intArray.length,C=t.BaseObject.borrowObject(t.WeightData);C.count=A,C.offset=b,v.length=g,this._intArray.length+=2+g+a+A,this._intArray[b+1]=x;for(_=0;_<g;++_){var S=p[7*_],T=this._rawBones[S];C.addBone(T),v[_]=S,this._intArray[b+2+_]=y.indexOf(T)}this._floatArray.length+=3*A,this._helpMatrixA.copyFromArray(d,0);_=0;for(var w=0,E=b+2+g,D=x;_<a;++_){var M=2*_,B=this._intArray[E++]=m[w++],P=this._floatArray[h+M],I=this._floatArray[h+M+1];this._helpMatrixA.transformPoint(P,I,this._helpPoint),P=this._helpPoint.x,I=this._helpPoint.y;for(var R=0;R<B;++R){S=m[w++];var O=v.indexOf(S);this._helpMatrixB.copyFromArray(p,7*O+1),this._helpMatrixB.invert(),this._helpMatrixB.transformPoint(P,I,this._helpPoint),this._intArray[E++]=O,this._floatArray[D++]=m[w++],this._floatArray[D++]=this._helpPoint.x,this._floatArray[D++]=this._helpPoint.y}}i.weight=C,this._weightSlotPose[u]=d,this._weightBonePoses[u]=p}},n.prototype._parseMeshGlue=function(e,i){var n=e[t.DataParser.GLUE_WEIGHTS],r=e[t.DataParser.GLUE_MESHES];i.glue=t.BaseObject.borrowObject(t.GlueData),i.glue.weights.length=n.length;for(var s=0,a=n.length;s<a;++s)i.glue.weights[s]=n[s];for(s=0,a=r.length;s<a;s+=3){var o=this._armature.getMesh(r[s],r[s+1],r[s+2]);i.glue.addMesh(o)}},n.prototype._parseBoundingBox=function(e){var i=null,r=0;switch(r=t.DataParser.SUB_TYPE in e&&"string"==typeof e[t.DataParser.SUB_TYPE]?t.DataParser._getBoundingBoxType(e[t.DataParser.SUB_TYPE]):n._getNumber(e,t.DataParser.SUB_TYPE,r)){case 0:i=t.BaseObject.borrowObject(t.RectangleBoundingBoxData);break;case 1:i=t.BaseObject.borrowObject(t.EllipseBoundingBoxData);break;case 2:i=this._parsePolygonBoundingBox(e)}return null!==i&&(i.color=n._getNumber(e,t.DataParser.COLOR,0),0!==i.type&&1!==i.type||(i.width=n._getNumber(e,t.DataParser.WIDTH,0),i.height=n._getNumber(e,t.DataParser.HEIGHT,0))),i},n.prototype._parsePolygonBoundingBox=function(e){var i=t.BaseObject.borrowObject(t.PolygonBoundingBoxData);if(t.DataParser.VERTICES in e){var n=this._armature.scale,r=e[t.DataParser.VERTICES],s=i.vertices;t.DragonBones.webAssembly?s.resize(r.length,0):s.length=r.length;for(var a=0,o=r.length;a<o;a+=2){var h=r[a]*n,l=r[a+1]*n;t.DragonBones.webAssembly?(s.set(a,h),s.set(a+1,l)):(s[a]=h,s[a+1]=l),0===a?(i.x=h,i.y=l,i.width=h,i.height=l):(h<i.x?i.x=h:h>i.width&&(i.width=h),l<i.y?i.y=l:l>i.height&&(i.height=l))}i.width-=i.x,i.height-=i.y}else console.warn("Data error.\n Please reexport DragonBones Data to fixed the bug.");return i},n.prototype._parseAnimation=function(e){var i=t.BaseObject.borrowObject(t.AnimationData);if(i.frameCount=Math.max(n._getNumber(e,t.DataParser.DURATION,1),1),i.playTimes=n._getNumber(e,t.DataParser.PLAY_TIMES,1),i.duration=i.frameCount/this._armature.frameRate,i.fadeInTime=n._getNumber(e,t.DataParser.FADE_IN_TIME,0),i.scale=n._getNumber(e,t.DataParser.SCALE,1),i.name=n._getString(e,t.DataParser.NAME,t.DataParser.DEFAULT_NAME),0===i.name.length&&(i.name=t.DataParser.DEFAULT_NAME),i.frameIntOffset=this._frameIntArray.length,i.frameFloatOffset=this._frameFloatArray.length,i.frameOffset=this._frameArray.length,this._animation=i,t.DataParser.FRAME in e){var r=e[t.DataParser.FRAME],s=r.length;if(s>0)for(var a=0,o=0;a<s;++a){var h=r[a];this._parseActionDataInFrame(h,o,null,null),o+=n._getNumber(h,t.DataParser.DURATION,1)}}if(t.DataParser.Z_ORDER in e&&(this._animation.zOrderTimeline=this._parseTimeline(e[t.DataParser.Z_ORDER],null,t.DataParser.FRAME,1,!1,!1,0,this._parseZOrderFrame)),t.DataParser.BONE in e)for(var l=0,c=e[t.DataParser.BONE];l<c.length;l++){var u=c[l];this._parseBoneTimeline(u)}if(t.DataParser.SURFACE in e)for(var _=0,f=e[t.DataParser.SURFACE];_<f.length;_++){u=f[_];var m=n._getString(u,t.DataParser.NAME,"");if(this._surface=this._armature.getBone(m),null!==this._surface)null!==(D=this._parseTimeline(u,null,t.DataParser.FRAME,50,!1,!0,0,this._parseSurfaceFrame))&&this._animation.addSurfaceTimeline(this._surface,D),this._surface=null}if(t.DataParser.SLOT in e)for(var d=0,p=e[t.DataParser.SLOT];d<p.length;d++){u=p[d];this._parseSlotTimeline(u)}if(t.DataParser.FFD in e)for(var y=0,v=e[t.DataParser.FFD];y<v.length;y++){u=v[y];var g=n._getString(u,t.DataParser.SKIN,t.DataParser.DEFAULT_NAME),x=n._getString(u,t.DataParser.SLOT,""),A=n._getString(u,t.DataParser.NAME,"");if(0===g.length&&(g=t.DataParser.DEFAULT_NAME),this._slot=this._armature.getSlot(x),this._mesh=this._armature.getMesh(g,x,A),null!==this._slot&&null!==this._mesh)null!==(D=this._parseTimeline(u,null,t.DataParser.FRAME,22,!1,!0,0,this._parseSlotFFDFrame))&&this._animation.addSlotTimeline(this._slot,D),this._slot=null,this._mesh=null}if(t.DataParser.IK in e)for(var b=0,C=e[t.DataParser.IK];b<C.length;b++){u=C[b];var S=n._getString(u,t.DataParser.NAME,""),T=this._armature.getConstraint(S);if(null!==T)null!==(D=this._parseTimeline(u,null,t.DataParser.FRAME,30,!0,!1,2,this._parseIKConstraintFrame))&&this._animation.addConstraintTimeline(T,D)}if(t.DataParser.ANIMATION in e)for(var w=0,E=e[t.DataParser.ANIMATION];w<E.length;w++){u=E[w];var D,M=n._getString(u,t.DataParser.NAME,"");null!==(D=this._parseTimeline(u,null,t.DataParser.FRAME,40,!0,!1,2,this._parseAnimationFrame))&&this._animation.addAnimationTimeline(M,D)}return this._actionFrames.length>0&&(this._animation.actionTimeline=this._parseTimeline(null,this._actionFrames,"",0,!1,!1,0,this._parseActionFrame),this._actionFrames.length=0),this._animation=null,i},n.prototype._parseTimeline=function(e,r,s,a,o,h,l,c){if(null!==e&&s.length>0&&s in e&&(r=e[s]),null===r)return null;var u=r.length;if(0===u)return null;var _=this._frameIntArray.length,f=this._frameFloatArray.length,m=t.BaseObject.borrowObject(t.TimelineData),d=this._timelineArray.length;if(this._timelineArray.length+=5+u,null!==e?(this._timelineArray[d+0]=Math.round(100*n._getNumber(e,t.DataParser.SCALE,1)),this._timelineArray[d+1]=Math.round(100*n._getNumber(e,t.DataParser.OFFSET,0))):(this._timelineArray[d+0]=100,this._timelineArray[d+1]=0),this._timelineArray[d+2]=u,this._timelineArray[d+3]=l,this._timelineArray[d+4]=o?_-this._animation.frameIntOffset:h?f-this._animation.frameFloatOffset:0,this._timeline=m,m.type=a,m.offset=d,1===u)m.frameIndicesOffset=-1,this._timelineArray[d+5+0]=c.call(this,r[0],0,0)-this._animation.frameOffset;else{var p=this._animation.frameCount+1,y=this._data.frameIndices,v=0;t.DragonBones.webAssembly?(v=y.size(),y.resize(v+p,0)):(v=y.length,y.length+=p),m.frameIndicesOffset=v;for(var g=0,x=0,A=0,b=0;g<p;++g){if(A+b<=g&&x<u){var C=r[x];A=g,b=x===u-1?this._animation.frameCount-A:C instanceof i?this._actionFrames[x+1].frameStart-A:n._getNumber(C,t.DataParser.DURATION,1),this._timelineArray[d+5+x]=c.call(this,C,A,b)-this._animation.frameOffset,x++}t.DragonBones.webAssembly?y.set(v+g,x-1):y[v+g]=x-1}}return this._timeline=null,m},n.prototype._parseBoneTimeline=function(e){var i=this._armature.getBone(n._getString(e,t.DataParser.NAME,""));if(null!==i){var r;if(this._bone=i,this._slot=this._armature.getSlot(this._bone.name),t.DataParser.TRANSLATE_FRAME in e)null!==(r=this._parseTimeline(e,null,t.DataParser.TRANSLATE_FRAME,11,!1,!0,2,this._parseBoneTranslateFrame))&&this._animation.addBoneTimeline(i,r);if(t.DataParser.ROTATE_FRAME in e)null!==(r=this._parseTimeline(e,null,t.DataParser.ROTATE_FRAME,12,!1,!0,2,this._parseBoneRotateFrame))&&this._animation.addBoneTimeline(i,r);if(t.DataParser.SCALE_FRAME in e)null!==(r=this._parseTimeline(e,null,t.DataParser.SCALE_FRAME,13,!1,!0,2,this._parseBoneScaleFrame))&&this._animation.addBoneTimeline(i,r);if(t.DataParser.FRAME in e)null!==(r=this._parseTimeline(e,null,t.DataParser.FRAME,10,!1,!0,6,this._parseBoneAllFrame))&&this._animation.addBoneTimeline(i,r);this._bone=null,this._slot=null}},n.prototype._parseSlotTimeline=function(e){var i=this._armature.getSlot(n._getString(e,t.DataParser.NAME,""));if(null!==i){this._slot=i;var r=null;null!==(r=t.DataParser.DISPLAY_FRAME in e?this._parseTimeline(e,null,t.DataParser.DISPLAY_FRAME,20,!1,!1,0,this._parseSlotDisplayFrame):this._parseTimeline(e,null,t.DataParser.FRAME,20,!1,!1,0,this._parseSlotDisplayFrame))&&this._animation.addSlotTimeline(i,r);var s=null;null!==(s=t.DataParser.COLOR_FRAME in e?this._parseTimeline(e,null,t.DataParser.COLOR_FRAME,21,!0,!1,1,this._parseSlotColorFrame):this._parseTimeline(e,null,t.DataParser.FRAME,21,!0,!1,1,this._parseSlotColorFrame))&&this._animation.addSlotTimeline(i,s),this._slot=null}},n.prototype._parseFrame=function(t,e,i){var n=this._frameArray.length;return this._frameArray.length+=1,this._frameArray[n+0]=e,n},n.prototype._parseTweenFrame=function(e,i,r){var s=this._parseFrame(e,i,r);if(r>0)if(t.DataParser.CURVE in e){var a=r+1;this._helpArray.length=a,this._samplingEasingCurve(e[t.DataParser.CURVE],this._helpArray),this._frameArray.length+=2+this._helpArray.length,this._frameArray[s+1]=2,this._frameArray[s+2]=a;for(var o=0;o<a;++o)this._frameArray[s+3+o]=Math.round(1e4*this._helpArray[o])}else{var h=-2;t.DataParser.TWEEN_EASING in e&&(h=n._getNumber(e,t.DataParser.TWEEN_EASING,-2)),-2===h?(this._frameArray.length+=1,this._frameArray[s+1]=0):0===h?(this._frameArray.length+=1,this._frameArray[s+1]=1):h<0?(this._frameArray.length+=2,this._frameArray[s+1]=3,this._frameArray[s+2]=Math.round(100*-h)):h<=1?(this._frameArray.length+=2,this._frameArray[s+1]=4,this._frameArray[s+2]=Math.round(100*h)):(this._frameArray.length+=2,this._frameArray[s+1]=5,this._frameArray[s+2]=Math.round(100*h-100))}else this._frameArray.length+=1,this._frameArray[s+1]=0;return s},n.prototype._parseActionFrame=function(t,e,i){var n=this._frameArray.length,r=t.actions.length;this._frameArray.length+=2+r,this._frameArray[n+0]=e,this._frameArray[n+0+1]=r;for(var s=0;s<r;++s)this._frameArray[n+0+2+s]=t.actions[s];return n},n.prototype._parseZOrderFrame=function(e,i,n){var r=this._parseFrame(e,i,n);if(t.DataParser.Z_ORDER in e){var s=e[t.DataParser.Z_ORDER];if(s.length>0){for(var a=this._armature.sortedSlots.length,o=new Array(a-s.length/2),h=new Array(a),l=0;l<o.length;++l)o[l]=0;for(var c=0;c<a;++c)h[c]=-1;for(var u=0,_=0,f=0,m=s.length;f<m;f+=2){for(var d=s[f],p=s[f+1];u!==d;)o[_++]=u++;h[u+p]=u++}for(;u<a;)o[_++]=u++;this._frameArray.length+=1+a,this._frameArray[r+1]=a;for(var y=a;y--;)-1===h[y]?this._frameArray[r+2+y]=o[--_]||0:this._frameArray[r+2+y]=h[y]||0;return r}}return this._frameArray.length+=1,this._frameArray[r+1]=0,r},n.prototype._parseBoneAllFrame=function(e,i,r){this._helpTransform.identity(),t.DataParser.TRANSFORM in e&&this._parseTransform(e[t.DataParser.TRANSFORM],this._helpTransform,1);var s=this._helpTransform.rotation;0!==i&&(0===this._prevClockwise?s=this._prevRotation+t.Transform.normalizeRadian(s-this._prevRotation):((this._prevClockwise>0?s>=this._prevRotation:s<=this._prevRotation)&&(this._prevClockwise=this._prevClockwise>0?this._prevClockwise-1:this._prevClockwise+1),s=this._prevRotation+s-this._prevRotation+t.Transform.PI_D*this._prevClockwise)),this._prevClockwise=n._getNumber(e,t.DataParser.TWEEN_ROTATE,0),this._prevRotation=s;var a=this._parseTweenFrame(e,i,r),o=this._frameFloatArray.length;return this._frameFloatArray.length+=6,this._frameFloatArray[o++]=this._helpTransform.x,this._frameFloatArray[o++]=this._helpTransform.y,this._frameFloatArray[o++]=s,this._frameFloatArray[o++]=this._helpTransform.skew,this._frameFloatArray[o++]=this._helpTransform.scaleX,this._frameFloatArray[o++]=this._helpTransform.scaleY,this._parseActionDataInFrame(e,i,this._bone,this._slot),a},n.prototype._parseBoneTranslateFrame=function(e,i,r){var s=this._parseTweenFrame(e,i,r),a=this._frameFloatArray.length;return this._frameFloatArray.length+=2,this._frameFloatArray[a++]=n._getNumber(e,t.DataParser.X,0),this._frameFloatArray[a++]=n._getNumber(e,t.DataParser.Y,0),s},n.prototype._parseBoneRotateFrame=function(e,i,r){var s=n._getNumber(e,t.DataParser.ROTATE,0)*t.Transform.DEG_RAD;0!==i&&(0===this._prevClockwise?s=this._prevRotation+t.Transform.normalizeRadian(s-this._prevRotation):((this._prevClockwise>0?s>=this._prevRotation:s<=this._prevRotation)&&(this._prevClockwise=this._prevClockwise>0?this._prevClockwise-1:this._prevClockwise+1),s=this._prevRotation+s-this._prevRotation+t.Transform.PI_D*this._prevClockwise)),this._prevClockwise=n._getNumber(e,t.DataParser.CLOCK_WISE,0),this._prevRotation=s;var a=this._parseTweenFrame(e,i,r),o=this._frameFloatArray.length;return this._frameFloatArray.length+=2,this._frameFloatArray[o++]=s,this._frameFloatArray[o++]=n._getNumber(e,t.DataParser.SKEW,0)*t.Transform.DEG_RAD,a},n.prototype._parseBoneScaleFrame=function(e,i,r){var s=this._parseTweenFrame(e,i,r),a=this._frameFloatArray.length;return this._frameFloatArray.length+=2,this._frameFloatArray[a++]=n._getNumber(e,t.DataParser.X,1),this._frameFloatArray[a++]=n._getNumber(e,t.DataParser.Y,1),s},n.prototype._parseSurfaceFrame=function(e,i,r){var s=this._frameFloatArray.length,a=this._parseTweenFrame(e,i,r),o=e[t.DataParser.VERTICES],h=n._getNumber(e,t.DataParser.OFFSET,0),l=this._surface.vertices.length/2,c=0,u=0;this._frameFloatArray.length+=2*l;for(var _=0;_<2*l;_+=2)c=_<h||_-h>=o.length?0:o[_-h],u=_+1<h||_+1-h>=o.length?0:o[_+1-h],this._frameFloatArray[s+_]=c,this._frameFloatArray[s+_+1]=u;if(0===i){var f=this._frameIntArray.length;this._frameIntArray.length+=5,this._frameIntArray[f+0]=0,this._frameIntArray[f+1]=this._frameFloatArray.length-s,this._frameIntArray[f+2]=this._frameFloatArray.length-s,this._frameIntArray[f+3]=0,this._frameIntArray[f+4]=s-this._animation.frameFloatOffset,this._timelineArray[this._timeline.offset+3]=f-this._animation.frameIntOffset}return a},n.prototype._parseSlotDisplayFrame=function(e,i,r){var s=this._parseFrame(e,i,r);return this._frameArray.length+=1,t.DataParser.VALUE in e?this._frameArray[s+1]=n._getNumber(e,t.DataParser.VALUE,0):this._frameArray[s+1]=n._getNumber(e,t.DataParser.DISPLAY_INDEX,0),this._parseActionDataInFrame(e,i,this._slot.parent,this._slot),s},n.prototype._parseSlotColorFrame=function(e,i,n){var r=this._parseTweenFrame(e,i,n),s=-1;if(t.DataParser.VALUE in e||t.DataParser.COLOR in e){var a=t.DataParser.VALUE in e?e[t.DataParser.VALUE]:e[t.DataParser.COLOR];for(var o in a){this._parseColorTransform(a,this._helpColorTransform),s=this._intArray.length,this._intArray.length+=8,this._intArray[s++]=Math.round(100*this._helpColorTransform.alphaMultiplier),this._intArray[s++]=Math.round(100*this._helpColorTransform.redMultiplier),this._intArray[s++]=Math.round(100*this._helpColorTransform.greenMultiplier),this._intArray[s++]=Math.round(100*this._helpColorTransform.blueMultiplier),this._intArray[s++]=Math.round(this._helpColorTransform.alphaOffset),this._intArray[s++]=Math.round(this._helpColorTransform.redOffset),this._intArray[s++]=Math.round(this._helpColorTransform.greenOffset),this._intArray[s++]=Math.round(this._helpColorTransform.blueOffset),s-=8;break}}s<0&&(this._defaultColorOffset<0&&(this._defaultColorOffset=s=this._intArray.length,this._intArray.length+=8,this._intArray[s++]=100,this._intArray[s++]=100,this._intArray[s++]=100,this._intArray[s++]=100,this._intArray[s++]=0,this._intArray[s++]=0,this._intArray[s++]=0,this._intArray[s++]=0),s=this._defaultColorOffset);var h=this._frameIntArray.length;return this._frameIntArray.length+=1,this._frameIntArray[h]=s,r},n.prototype._parseSlotFFDFrame=function(e,i,r){var s=this._frameFloatArray.length,a=this._parseTweenFrame(e,i,r),o=t.DataParser.VERTICES in e?e[t.DataParser.VERTICES]:null,h=n._getNumber(e,t.DataParser.OFFSET,0),l=this._intArray[this._mesh.offset+0],c=this._mesh.parent.name+"_"+this._slot.name+"_"+this._mesh.name,u=0,_=0,f=0,m=0;if(null!==this._mesh.weight){var d=this._weightSlotPose[c];this._helpMatrixA.copyFromArray(d,0),this._frameFloatArray.length+=2*this._mesh.weight.count,f=this._mesh.weight.offset+2+this._mesh.weight.bones.length}else this._frameFloatArray.length+=2*l;for(var p=0;p<2*l;p+=2)if(null===o?(u=0,_=0):(u=p<h||p-h>=o.length?0:o[p-h],_=p+1<h||p+1-h>=o.length?0:o[p+1-h]),null!==this._mesh.weight){var y=this._weightBonePoses[c],v=this._intArray[f++];this._helpMatrixA.transformPoint(u,_,this._helpPoint,!0),u=this._helpPoint.x,_=this._helpPoint.y;for(var g=0;g<v;++g){var x=this._intArray[f++];this._helpMatrixB.copyFromArray(y,7*x+1),this._helpMatrixB.invert(),this._helpMatrixB.transformPoint(u,_,this._helpPoint,!0),this._frameFloatArray[s+m++]=this._helpPoint.x,this._frameFloatArray[s+m++]=this._helpPoint.y}}else this._frameFloatArray[s+p]=u,this._frameFloatArray[s+p+1]=_;if(0===i){var A=this._frameIntArray.length;this._frameIntArray.length+=5,this._frameIntArray[A+0]=this._mesh.offset,this._frameIntArray[A+1]=this._frameFloatArray.length-s,this._frameIntArray[A+2]=this._frameFloatArray.length-s,this._frameIntArray[A+3]=0,this._frameIntArray[A+4]=s-this._animation.frameFloatOffset,this._timelineArray[this._timeline.offset+3]=A-this._animation.frameIntOffset}return a},n.prototype._parseIKConstraintFrame=function(e,i,r){var s=this._parseTweenFrame(e,i,r),a=this._frameIntArray.length;return this._frameIntArray.length+=2,this._frameIntArray[a++]=n._getBoolean(e,t.DataParser.BEND_POSITIVE,!0)?1:0,this._frameIntArray[a++]=Math.round(100*n._getNumber(e,t.DataParser.WEIGHT,1)),s},n.prototype._parseAnimationFrame=function(e,i,r){var s=this._parseTweenFrame(e,i,r),a=this._frameIntArray.length;return this._frameIntArray.length+=2,this._frameIntArray[a++]=n._getNumber(e,t.DataParser.VALUE,0),this._frameIntArray[a++]=Math.round(100*n._getNumber(e,t.DataParser.WEIGHT,1)),s},n.prototype._parseActionData=function(e,i,r,s){var a=new Array;if("string"==typeof e)(c=t.BaseObject.borrowObject(t.ActionData)).type=i,c.name=e,c.bone=r,c.slot=s,a.push(c);else if(e instanceof Array)for(var o=0,h=e;o<h.length;o++){var l=h[o],c=t.BaseObject.borrowObject(t.ActionData);if(t.DataParser.GOTO_AND_PLAY in l?(c.type=0,c.name=n._getString(l,t.DataParser.GOTO_AND_PLAY,"")):(t.DataParser.TYPE in l&&"string"==typeof l[t.DataParser.TYPE]?c.type=t.DataParser._getActionType(l[t.DataParser.TYPE]):c.type=n._getNumber(l,t.DataParser.TYPE,i),c.name=n._getString(l,t.DataParser.NAME,"")),t.DataParser.BONE in l){var u=n._getString(l,t.DataParser.BONE,"");c.bone=this._armature.getBone(u)}else c.bone=r;if(t.DataParser.SLOT in l){var _=n._getString(l,t.DataParser.SLOT,"");c.slot=this._armature.getSlot(_)}else c.slot=s;var f=null;if(t.DataParser.INTS in l){null===f&&(f=t.BaseObject.borrowObject(t.UserData));for(var m=0,d=l[t.DataParser.INTS];m<d.length;m++){var p=d[m];f.addInt(p)}}if(t.DataParser.FLOATS in l){null===f&&(f=t.BaseObject.borrowObject(t.UserData));for(var y=0,v=l[t.DataParser.FLOATS];y<v.length;y++){p=v[y];f.addFloat(p)}}if(t.DataParser.STRINGS in l){null===f&&(f=t.BaseObject.borrowObject(t.UserData));for(var g=0,x=l[t.DataParser.STRINGS];g<x.length;g++){p=x[g];f.addString(p)}}c.data=f,a.push(c)}return a},n.prototype._parseTransform=function(e,i,r){i.x=n._getNumber(e,t.DataParser.X,0)*r,i.y=n._getNumber(e,t.DataParser.Y,0)*r,t.DataParser.ROTATE in e||t.DataParser.SKEW in e?(i.rotation=t.Transform.normalizeRadian(n._getNumber(e,t.DataParser.ROTATE,0)*t.Transform.DEG_RAD),i.skew=t.Transform.normalizeRadian(n._getNumber(e,t.DataParser.SKEW,0)*t.Transform.DEG_RAD)):(t.DataParser.SKEW_X in e||t.DataParser.SKEW_Y in e)&&(i.rotation=t.Transform.normalizeRadian(n._getNumber(e,t.DataParser.SKEW_Y,0)*t.Transform.DEG_RAD),i.skew=t.Transform.normalizeRadian(n._getNumber(e,t.DataParser.SKEW_X,0)*t.Transform.DEG_RAD)-i.rotation),i.scaleX=n._getNumber(e,t.DataParser.SCALE_X,1),i.scaleY=n._getNumber(e,t.DataParser.SCALE_Y,1)},n.prototype._parseColorTransform=function(e,i){i.alphaMultiplier=.01*n._getNumber(e,t.DataParser.ALPHA_MULTIPLIER,100),i.redMultiplier=.01*n._getNumber(e,t.DataParser.RED_MULTIPLIER,100),i.greenMultiplier=.01*n._getNumber(e,t.DataParser.GREEN_MULTIPLIER,100),i.blueMultiplier=.01*n._getNumber(e,t.DataParser.BLUE_MULTIPLIER,100),i.alphaOffset=n._getNumber(e,t.DataParser.ALPHA_OFFSET,0),i.redOffset=n._getNumber(e,t.DataParser.RED_OFFSET,0),i.greenOffset=n._getNumber(e,t.DataParser.GREEN_OFFSET,0),i.blueOffset=n._getNumber(e,t.DataParser.BLUE_OFFSET,0)},n.prototype._parseArray=function(t){this._intArray.length=0,this._floatArray.length=0,this._frameIntArray.length=0,this._frameFloatArray.length=0,this._frameArray.length=0,this._timelineArray.length=0},n.prototype._modifyArray=function(){this._intArray.length%Int16Array.BYTES_PER_ELEMENT!=0&&this._intArray.push(0),this._frameIntArray.length%Int16Array.BYTES_PER_ELEMENT!=0&&this._frameIntArray.push(0),this._frameArray.length%Int16Array.BYTES_PER_ELEMENT!=0&&this._frameArray.push(0),this._timelineArray.length%Uint16Array.BYTES_PER_ELEMENT!=0&&this._timelineArray.push(0);var e=this._intArray.length*Int16Array.BYTES_PER_ELEMENT,i=this._floatArray.length*Float32Array.BYTES_PER_ELEMENT,n=this._frameIntArray.length*Int16Array.BYTES_PER_ELEMENT,r=this._frameFloatArray.length*Float32Array.BYTES_PER_ELEMENT,s=this._frameArray.length*Int16Array.BYTES_PER_ELEMENT,a=this._timelineArray.length*Uint16Array.BYTES_PER_ELEMENT,o=e+i+n+r+s+a;if(t.DragonBones.webAssembly){for(var h=t.webAssemblyModule.HEAP16.buffer,l=t.webAssemblyModule._malloc(o),c=new Int16Array(h,l,this._intArray.length),u=new Float32Array(h,l+e,this._floatArray.length),_=new Int16Array(h,l+e+i,this._frameIntArray.length),f=new Float32Array(h,l+e+i+n,this._frameFloatArray.length),m=new Int16Array(h,l+e+i+n+r,this._frameArray.length),d=new Uint16Array(h,l+e+i+n+r+s,this._timelineArray.length),p=0,y=this._intArray.length;p<y;++p)c[p]=this._intArray[p];for(p=0,y=this._floatArray.length;p<y;++p)u[p]=this._floatArray[p];for(p=0,y=this._frameIntArray.length;p<y;++p)_[p]=this._frameIntArray[p];for(p=0,y=this._frameFloatArray.length;p<y;++p)f[p]=this._frameFloatArray[p];for(p=0,y=this._frameArray.length;p<y;++p)m[p]=this._frameArray[p];for(p=0,y=this._timelineArray.length;p<y;++p)d[p]=this._timelineArray[p];t.webAssemblyModule.setDataBinary(this._data,l,e,i,n,r,s,a)}else{var v=new ArrayBuffer(o);for(c=new Int16Array(v,0,this._intArray.length),u=new Float32Array(v,e,this._floatArray.length),_=new Int16Array(v,e+i,this._frameIntArray.length),f=new Float32Array(v,e+i+n,this._frameFloatArray.length),m=new Int16Array(v,e+i+n+r,this._frameArray.length),d=new Uint16Array(v,e+i+n+r+s,this._timelineArray.length),p=0,y=this._intArray.length;p<y;++p)c[p]=this._intArray[p];for(p=0,y=this._floatArray.length;p<y;++p)u[p]=this._floatArray[p];for(p=0,y=this._frameIntArray.length;p<y;++p)_[p]=this._frameIntArray[p];for(p=0,y=this._frameFloatArray.length;p<y;++p)f[p]=this._frameFloatArray[p];for(p=0,y=this._frameArray.length;p<y;++p)m[p]=this._frameArray[p];for(p=0,y=this._timelineArray.length;p<y;++p)d[p]=this._timelineArray[p];this._data.binary=v,this._data.intArray=c,this._data.floatArray=u,this._data.frameIntArray=_,this._data.frameFloatArray=f,this._data.frameArray=m,this._data.timelineArray=d}this._defaultColorOffset=-1},n.prototype.parseDragonBonesData=function(e,i){void 0===i&&(i=1),console.assert(null!==e&&void 0!==e,"Data error.");var r=n._getString(e,t.DataParser.VERSION,""),s=n._getString(e,t.DataParser.COMPATIBLE_VERSION,"");if(t.DataParser.DATA_VERSIONS.indexOf(r)>=0||t.DataParser.DATA_VERSIONS.indexOf(s)>=0){var a=t.BaseObject.borrowObject(t.DragonBonesData);if(a.version=r,a.name=n._getString(e,t.DataParser.NAME,""),a.frameRate=n._getNumber(e,t.DataParser.FRAME_RATE,24),0===a.frameRate&&(a.frameRate=24),t.DataParser.ARMATURE in e){this._data=a,this._parseArray(e);for(var o=0,h=e[t.DataParser.ARMATURE];o<h.length;o++){var l=h[o];a.addArmature(this._parseArmature(l,i))}this._data.binary||this._modifyArray(),t.DataParser.STAGE in e?a.stage=a.getArmature(n._getString(e,t.DataParser.STAGE,"")):a.armatureNames.length>0&&(a.stage=a.getArmature(a.armatureNames[0])),this._data=null}return t.DataParser.TEXTURE_ATLAS in e&&(this._rawTextureAtlases=e[t.DataParser.TEXTURE_ATLAS]),a}return console.assert(!1,"Nonsupport data version: "+r+"\nPlease convert DragonBones data to support version.\nRead more: https://github.com/DragonBones/Tools/"),null},n.prototype.parseTextureAtlasData=function(e,i,r){if(void 0===r&&(r=1),console.assert(void 0!==e),null===e){if(null===this._rawTextureAtlases||0===this._rawTextureAtlases.length)return!1;var s=this._rawTextureAtlases[this._rawTextureAtlasIndex++];return this.parseTextureAtlasData(s,i,r),this._rawTextureAtlasIndex>=this._rawTextureAtlases.length&&(this._rawTextureAtlasIndex=0,this._rawTextureAtlases=null),!0}if(i.width=n._getNumber(e,t.DataParser.WIDTH,0),i.height=n._getNumber(e,t.DataParser.HEIGHT,0),i.scale=1===r?1/n._getNumber(e,t.DataParser.SCALE,1):r,i.name=n._getString(e,t.DataParser.NAME,""),i.imagePath=n._getString(e,t.DataParser.IMAGE_PATH,""),t.DataParser.SUB_TEXTURE in e)for(var a=e[t.DataParser.SUB_TEXTURE],o=0,h=a.length;o<h;++o){var l=a[o],c=i.createTexture();c.rotated=n._getBoolean(l,t.DataParser.ROTATED,!1),c.name=n._getString(l,t.DataParser.NAME,""),c.region.x=n._getNumber(l,t.DataParser.X,0),c.region.y=n._getNumber(l,t.DataParser.Y,0),c.region.width=n._getNumber(l,t.DataParser.WIDTH,0),c.region.height=n._getNumber(l,t.DataParser.HEIGHT,0);var u=n._getNumber(l,t.DataParser.FRAME_WIDTH,-1),_=n._getNumber(l,t.DataParser.FRAME_HEIGHT,-1);u>0&&_>0&&(c.frame=t.TextureData.createRectangle(),c.frame.x=n._getNumber(l,t.DataParser.FRAME_X,0),c.frame.y=n._getNumber(l,t.DataParser.FRAME_Y,0),c.frame.width=u,c.frame.height=_),i.addTexture(c)}return!0},n.getInstance=function(){return null===n._objectDataParserInstance&&(n._objectDataParserInstance=new n),n._objectDataParserInstance},n._objectDataParserInstance=null,n})(t.DataParser);t.ObjectDataParser=e;var i=(function(){return function(){this.frameStart=0,this.actions=[]}})();t.ActionFrame=i})(n||(n={})),(function(t){var e=(function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return r(i,e),i.prototype._inRange=function(t,e,i){return e<=t&&t<=i},i.prototype._decodeUTF8=function(t){for(var e,i=0,n="",r=0,s=0,a=0,o=0;t.length>i;){var h=t[i++];if(-1===h)e=0!==s?65533:-1;else if(0===s)this._inRange(h,0,127)?e=h:(this._inRange(h,194,223)?(s=1,o=128,r=h-192):this._inRange(h,224,239)?(s=2,o=2048,r=h-224):this._inRange(h,240,244)&&(s=3,o=65536,r=h-240),r*=Math.pow(64,s),e=null);else if(this._inRange(h,128,191))if(a+=1,r+=(h-128)*Math.pow(64,s-a),a!==s)e=null;else{var l=r,c=o;r=0,s=0,a=0,o=0,e=this._inRange(l,c,1114111)&&!this._inRange(l,55296,57343)?l:h}else r=0,s=0,a=0,o=0,i--,e=h;null!==e&&-1!==e&&(e<=65535?e>0&&(n+=String.fromCharCode(e)):(e-=65536,n+=String.fromCharCode(55296+(e>>10&1023)),n+=String.fromCharCode(56320+(1023&e))))}return n},i.prototype._getUTF16Key=function(t){for(var e=0,i=t.length;e<i;++e)if(t.charCodeAt(e)>255)return encodeURI(t);return t},i.prototype._parseBinaryTimeline=function(e,i,n){void 0===n&&(n=null);var r=null!==n?n:t.BaseObject.borrowObject(t.TimelineData);r.type=e,r.offset=i,this._timeline=r;var s=this._timelineArrayBuffer[r.offset+2];if(1===s)r.frameIndicesOffset=-1;else{var a=0,o=this._animation.frameCount+1,h=this._data.frameIndices;t.DragonBones.webAssembly?(a=h.size(),h.resize(a+o,0)):(a=h.length,h.length+=o),r.frameIndicesOffset=a;for(var l=0,c=0,u=0,_=0;l<o;++l)u+_<=l&&c<s&&(u=this._frameArrayBuffer[this._animation.frameOffset+this._timelineArrayBuffer[r.offset+5+c]],_=c===s-1?this._animation.frameCount-u:this._frameArrayBuffer[this._animation.frameOffset+this._timelineArrayBuffer[r.offset+5+c+1]]-u,c++),t.DragonBones.webAssembly?h.set(a+l,c-1):h[a+l]=c-1}return this._timeline=null,r},i.prototype._parseMesh=function(e,i){i.offset=e[t.DataParser.OFFSET];var n=this._intArrayBuffer[i.offset+3];if(n>=0){var r=t.BaseObject.borrowObject(t.WeightData),s=this._intArrayBuffer[i.offset+0],a=this._intArrayBuffer[n+0];r.offset=n;for(var o=0;o<a;++o){var h=this._intArrayBuffer[n+2+o];r.addBone(this._rawBones[h])}for(var l=n+2+a,c=0,u=(o=0,s);o<u;++o){var _=this._intArrayBuffer[l++];c+=_,l+=_}r.count=c,i.weight=r}},i.prototype._parseAnimation=function(e){var i=t.BaseObject.borrowObject(t.AnimationData);i.frameCount=Math.max(t.ObjectDataParser._getNumber(e,t.DataParser.DURATION,1),1),i.playTimes=t.ObjectDataParser._getNumber(e,t.DataParser.PLAY_TIMES,1),i.duration=i.frameCount/this._armature.frameRate,i.fadeInTime=t.ObjectDataParser._getNumber(e,t.DataParser.FADE_IN_TIME,0),i.scale=t.ObjectDataParser._getNumber(e,t.DataParser.SCALE,1),i.name=t.ObjectDataParser._getString(e,t.DataParser.NAME,t.DataParser.DEFAULT_NAME),0===i.name.length&&(i.name=t.DataParser.DEFAULT_NAME);var n=e[t.DataParser.OFFSET];if(i.frameIntOffset=n[0],i.frameFloatOffset=n[1],i.frameOffset=n[2],this._animation=i,t.DataParser.ACTION in e&&(i.actionTimeline=this._parseBinaryTimeline(0,e[t.DataParser.ACTION])),t.DataParser.Z_ORDER in e&&(i.zOrderTimeline=this._parseBinaryTimeline(1,e[t.DataParser.Z_ORDER])),t.DataParser.BONE in e){var r=e[t.DataParser.BONE];for(var s in r){var a=r[s];t.DragonBones.webAssembly&&(s=this._getUTF16Key(s));var o=this._armature.getBone(s);if(null!==o)for(var h=0,l=a.length;h<l;h+=2){var c=a[h],u=a[h+1],_=this._parseBinaryTimeline(c,u);this._animation.addBoneTimeline(o,_)}}}if(t.DataParser.SURFACE in e){r=e[t.DataParser.SURFACE];for(var s in r){a=r[s];t.DragonBones.webAssembly&&(s=this._getUTF16Key(s));var f=this._armature.getBone(s);if(null!==f)for(h=0,l=a.length;h<l;h+=2){c=a[h],u=a[h+1],_=this._parseBinaryTimeline(c,u);this._animation.addSurfaceTimeline(f,_)}}}if(t.DataParser.SLOT in e){r=e[t.DataParser.SLOT];for(var s in r){a=r[s];t.DragonBones.webAssembly&&(s=this._getUTF16Key(s));var m=this._armature.getSlot(s);if(null!==m)for(h=0,l=a.length;h<l;h+=2){c=a[h],u=a[h+1],_=this._parseBinaryTimeline(c,u);this._animation.addSlotTimeline(m,_)}}}if(t.DataParser.CONSTRAINT in e){r=e[t.DataParser.CONSTRAINT];for(var s in r){a=r[s];t.DragonBones.webAssembly&&(s=this._getUTF16Key(s));var d=this._armature.getConstraint(s);if(null!==d)for(h=0,l=a.length;h<l;h+=2){c=a[h],u=a[h+1],_=this._parseBinaryTimeline(c,u);this._animation.addConstraintTimeline(d,_)}}}if(t.DataParser.ANIMATION in e){r=e[t.DataParser.ANIMATION];for(var s in r){a=r[s];t.DragonBones.webAssembly&&(s=this._getUTF16Key(s));for(h=0,l=a.length;h<l;h+=2){c=a[h],u=a[h+1],_=this._parseBinaryTimeline(c,u);this._animation.addAnimationTimeline(s,_)}}}return this._animation=null,i},i.prototype._parseArray=function(e){var i=e[t.DataParser.OFFSET],n=i[1],r=i[3],s=i[5],a=i[7],o=i[9],h=i[11],l=new Int16Array(this._binary,this._binaryOffset+i[0],n/Int16Array.BYTES_PER_ELEMENT),c=new Float32Array(this._binary,this._binaryOffset+i[2],r/Float32Array.BYTES_PER_ELEMENT),u=new Int16Array(this._binary,this._binaryOffset+i[4],s/Int16Array.BYTES_PER_ELEMENT),_=new Float32Array(this._binary,this._binaryOffset+i[6],a/Float32Array.BYTES_PER_ELEMENT),f=new Int16Array(this._binary,this._binaryOffset+i[8],o/Int16Array.BYTES_PER_ELEMENT),m=new Uint16Array(this._binary,this._binaryOffset+i[10],h/Uint16Array.BYTES_PER_ELEMENT);if(t.DragonBones.webAssembly){for(var d=n+r+s+a+o+h,p=t.webAssemblyModule._malloc(d),y=new Uint8Array(this._binary,this._binaryOffset,d/Uint8Array.BYTES_PER_ELEMENT),v=new Uint8Array(t.webAssemblyModule.HEAP16.buffer,p,y.length),g=0,x=y.length;g<x;++g)v[g]=y[g];t.webAssemblyModule.setDataBinary(this._data,p,n,r,s,a,o,h),this._intArrayBuffer=l,this._floatArrayBuffer=c,this._frameIntArrayBuffer=u,this._frameFloatArrayBuffer=_,this._frameArrayBuffer=f,this._timelineArrayBuffer=m}else this._data.binary=this._binary,this._data.intArray=this._intArrayBuffer=l,this._data.floatArray=this._floatArrayBuffer=c,this._data.frameIntArray=this._frameIntArrayBuffer=u,this._data.frameFloatArray=this._frameFloatArrayBuffer=_,this._data.frameArray=this._frameArrayBuffer=f,this._data.timelineArray=this._timelineArrayBuffer=m},i.prototype.parseDragonBonesData=function(t,i){void 0===i&&(i=1),console.assert(null!==t&&void 0!==t&&t instanceof ArrayBuffer,"Data error.");var n=new Uint8Array(t,0,8);if(n[0]!=="D".charCodeAt(0)||n[1]!=="B".charCodeAt(0)||n[2]!=="D".charCodeAt(0)||n[3]!=="T".charCodeAt(0))return console.assert(!1,"Nonsupport data."),null;var r=new Uint32Array(t,8,1)[0],s=new Uint8Array(t,12,r),a=this._decodeUTF8(s),o=JSON.parse(a);return this._binaryOffset=12+r,this._binary=t,e.prototype.parseDragonBonesData.call(this,o,i)},i.getInstance=function(){return null===i._binaryDataParserInstance&&(i._binaryDataParserInstance=new i),i._binaryDataParserInstance},i._binaryDataParserInstance=null,i})(t.ObjectDataParser);t.BinaryDataParser=e})(n||(n={})),(function(t){var e=(function(){function e(i){void 0===i&&(i=null),this.autoSearch=!1,this._dragonBonesDataMap={},this._textureAtlasDataMap={},this._dragonBones=null,this._dataParser=null,null===e._objectParser&&(e._objectParser=new t.ObjectDataParser),null===e._binaryParser&&(e._binaryParser=new t.BinaryDataParser),this._dataParser=null!==i?i:e._objectParser}return e.prototype._isSupportMesh=function(){return!0},e.prototype._getTextureData=function(t,e){if(t in this._textureAtlasDataMap)for(var i=0,n=this._textureAtlasDataMap[t];i<n.length;i++){if(null!==(h=(o=n[i]).getTexture(e)))return h}if(this.autoSearch)for(var r in this._textureAtlasDataMap)for(var s=0,a=this._textureAtlasDataMap[r];s<a.length;s++){var o,h;if((o=a[s]).autoSearch)if(null!==(h=o.getTexture(e)))return h}return null},e.prototype._fillBuildArmaturePackage=function(t,e,i,n,r){var s=null,a=null;if(e.length>0&&e in this._dragonBonesDataMap&&(a=(s=this._dragonBonesDataMap[e]).getArmature(i)),null===a&&(0===e.length||this.autoSearch))for(var o in this._dragonBonesDataMap)if(s=this._dragonBonesDataMap[o],(0===e.length||s.autoSearch)&&null!==(a=s.getArmature(i))){e=o;break}if(null!==a){if(t.dataName=e,t.textureAtlasName=r,t.data=s,t.armature=a,t.skin=null,n.length>0&&(t.skin=a.getSkin(n),null===t.skin&&this.autoSearch))for(var o in this._dragonBonesDataMap){var h=this._dragonBonesDataMap[o].getArmature(n);if(null!==h){t.skin=h.defaultSkin;break}}return null===t.skin&&(t.skin=a.defaultSkin),!0}return!1},e.prototype._buildBones=function(e,i){for(var n=0,r=e.armature.sortedBones;n<r.length;n++){var s=r[n],a=t.BaseObject.borrowObject(0===s.type?t.Bone:t.Surface);a.init(s),null!==s.parent?i.addBone(a,s.parent.name):i.addBone(a,"")}var o=e.armature.constraints;for(var h in o){var l=o[h],c=t.BaseObject.borrowObject(t.IKConstraint);c.init(l,i),i.addConstraint(c)}},e.prototype._buildSlots=function(e,i){var n=e.skin,r=e.armature.defaultSkin;if(null!==n&&null!==r){var s={};for(var a in r.displays){var o=r.getDisplays(a);s[a]=o}if(n!==r)for(var a in n.displays){o=n.getDisplays(a);s[a]=o}for(var h=0,l=e.armature.sortedSlots;h<l.length;h++){var c=l[h],u=(o=c.name in s?s[c.name]:null,this._buildSlot(e,c,o,i));if(i.addSlot(u,c.parent.name),null!==o){for(var _=new Array,f=0,m=t.DragonBones.webAssembly?o.size():o.length;f<m;++f){var d=t.DragonBones.webAssembly?o.get(f):o[f];null!==d?_.push(this._getSlotDisplay(e,d,null,u)):_.push(null)}u._setDisplayList(_)}u._setDisplayIndex(c.displayIndex,!0)}}},e.prototype._buildChildArmature=function(t,e,i){return this.buildArmature(i.path,null!==t?t.dataName:"","",null!==t?t.textureAtlasName:"")},e.prototype._getSlotDisplay=function(t,e,i,n){var r=null!==t?t.dataName:e.parent.parent.parent.name,s=null;switch(e.type){case 0:var a=e;null!==t&&t.textureAtlasName.length>0&&(a.texture=this._getTextureData(t.textureAtlasName,e.path)),null===a.texture&&(a.texture=this._getTextureData(r,e.path)),s=null!==i&&2===i.type&&this._isSupportMesh()?n.meshDisplay:n.rawDisplay;break;case 2:var o=e;null!==t&&t.textureAtlasName.length>0&&(o.texture=this._getTextureData(t.textureAtlasName,o.path)),null===o.texture&&(o.texture=this._getTextureData(r,o.path)),s=this._isSupportMesh()?n.meshDisplay:n.rawDisplay;break;case 1:var h=e,l=this._buildChildArmature(t,n,e);if(null!==l){if(l.inheritAnimation=h.inheritAnimation,!l.inheritAnimation){var c=h.actions.length>0?h.actions:l.armatureData.defaultActions;if(c.length>0)for(var u=0,_=c;u<_.length;u++){var f=_[u];l._bufferAction(f,!0)}else l.animation.play()}h.armature=l.armatureData}s=l}return s},e.prototype.parseDragonBonesData=function(t,i,n){void 0===i&&(i=null),void 0===n&&(n=1);for(var r=t instanceof ArrayBuffer?e._binaryParser:this._dataParser,s=r.parseDragonBonesData(t,n);;){var a=this._buildTextureAtlasData(null,null);if(!r.parseTextureAtlasData(null,a,n)){a.returnToPool();break}this.addTextureAtlasData(a,i)}return null!==s&&this.addDragonBonesData(s,i),s},e.prototype.parseTextureAtlasData=function(t,e,i,n){void 0===i&&(i=null),void 0===n&&(n=1);var r=this._buildTextureAtlasData(null,null);return this._dataParser.parseTextureAtlasData(t,r,n),this._buildTextureAtlasData(r,e||null),this.addTextureAtlasData(r,i),r},e.prototype.updateTextureAtlasData=function(t,e){var i=this.getTextureAtlasData(t);if(null!==i)for(var n=0,r=i.length;n<r;++n)n<e.length&&this._buildTextureAtlasData(i[n],e[n])},e.prototype.getDragonBonesData=function(t){return t in this._dragonBonesDataMap?this._dragonBonesDataMap[t]:null},e.prototype.addDragonBonesData=function(t,e){if(void 0===e&&(e=null),(e=null!==e?e:t.name)in this._dragonBonesDataMap){if(this._dragonBonesDataMap[e]===t)return;console.warn("Can not add same name data: "+e)}else this._dragonBonesDataMap[e]=t},e.prototype.removeDragonBonesData=function(t,e){void 0===e&&(e=!0),t in this._dragonBonesDataMap&&(e&&this._dragonBones.bufferObject(this._dragonBonesDataMap[t]),delete this._dragonBonesDataMap[t])},e.prototype.getTextureAtlasData=function(t){return t in this._textureAtlasDataMap?this._textureAtlasDataMap[t]:null},e.prototype.addTextureAtlasData=function(t,e){void 0===e&&(e=null);var i=(e=null!==e?e:t.name)in this._textureAtlasDataMap?this._textureAtlasDataMap[e]:this._textureAtlasDataMap[e]=[];i.indexOf(t)<0&&i.push(t)},e.prototype.removeTextureAtlasData=function(t,e){if(void 0===e&&(e=!0),t in this._textureAtlasDataMap){var i=this._textureAtlasDataMap[t];if(e)for(var n=0,r=i;n<r.length;n++){var s=r[n];this._dragonBones.bufferObject(s)}delete this._textureAtlasDataMap[t]}},e.prototype.getArmatureData=function(t,e){void 0===e&&(e="");var n=new i;return this._fillBuildArmaturePackage(n,e,t,"","")?n.armature:null},e.prototype.clear=function(t){void 0===t&&(t=!0);for(var e in this._dragonBonesDataMap)t&&this._dragonBones.bufferObject(this._dragonBonesDataMap[e]),delete this._dragonBonesDataMap[e];for(var e in this._textureAtlasDataMap){if(t)for(var i=0,n=this._textureAtlasDataMap[e];i<n.length;i++){var r=n[i];this._dragonBones.bufferObject(r)}delete this._textureAtlasDataMap[e]}},e.prototype.buildArmature=function(t,e,n,r){void 0===e&&(e=""),void 0===n&&(n=""),void 0===r&&(r="");var s=new i;if(!this._fillBuildArmaturePackage(s,e||"",t,n||"",r||""))return console.warn("No armature data: "+t+", "+(null!==e?e:"")),null;var a=this._buildArmature(s);return this._buildBones(s,a),this._buildSlots(s,a),a.invalidUpdate(null,!0),a.advanceTime(0),a},e.prototype.replaceDisplay=function(e,i,n){void 0===n&&(n=-1),n<0&&(n=e.displayIndex),n<0&&(n=0),e.replaceDisplayData(i,n);var r=e.displayList;if(r.length<=n){r.length=n+1;for(var s=0,a=r.length;s<a;++s)r[s]||(r[s]=null)}if(null!==i){var o=e.rawDisplayDatas,h=null;o&&(t.DragonBones.webAssembly?n<o.size()&&(h=o.get(n)):n<o.length&&(h=o[n])),r[n]=this._getSlotDisplay(null,i,h,e)}else r[n]=null;e.displayList=r},e.prototype.replaceSlotDisplay=function(t,e,i,n,r,s){void 0===s&&(s=-1);var a=this.getArmatureData(e,t||"");if(!a||!a.defaultSkin)return!1;var o=a.defaultSkin.getDisplay(i,n);return!!o&&(this.replaceDisplay(r,o,s),!0)},e.prototype.replaceSlotDisplayList=function(e,i,n,r){var s=this.getArmatureData(i,e||"");if(!s||!s.defaultSkin)return!1;var a=s.defaultSkin.getDisplays(n);if(!a)return!1;for(var o=0,h=0,l=t.DragonBones.webAssembly?a.size():a.length;h<l;++h){var c=t.DragonBones.webAssembly?a.get(h):a[h];this.replaceDisplay(r,c,o++)}return!0},e.prototype.replaceSkin=function(e,i,n,r){void 0===n&&(n=!1),void 0===r&&(r=null);for(var s=!1,a=i.parent.defaultSkin,o=0,h=e.getSlots();o<h.length;o++){var l=h[o];if(!(null!==r&&r.indexOf(l.name)>=0)){var c=i.getDisplays(l.name);if(c||(null!==a&&i!==a&&(c=a.getDisplays(l.name)),c)){var u=t.DragonBones.webAssembly?c.size():c.length,_=l.displayList;_.length=u;for(var f=0,m=u;f<m;++f){var d=t.DragonBones.webAssembly?c.get(f):c[f];_[f]=null!==d?this._getSlotDisplay(null,d,null,l):null}s=!0,l.rawDisplayDatas=c,l.displayList=_}else n&&(l.rawDisplayDatas=null,l.displayList=[])}}return s},e.prototype.replaceAnimation=function(e,i,n){void 0===n&&(n=!0);var r=i.defaultSkin;if(null===r)return!1;if(n)e.animation.animations=i.animations;else{var s=e.animation.animations,a={};for(var o in s)a[o]=s[o];for(var o in i.animations)a[o]=i.animations[o];e.animation.animations=a}for(var h=0,l=e.getSlots();h<l.length;h++)for(var c=l[h],u=0,_=0,f=c.displayList;_<f.length;_++){var m=f[_];if(m instanceof t.Armature){var d=r.getDisplays(c.name);if(null!==d&&u<(t.DragonBones.webAssembly?d.size():d.length)){var p=t.DragonBones.webAssembly?d.get(u):d[u];if(null!==p&&1===p.type){var y=this.getArmatureData(p.path,p.parent.parent.parent.name);y&&this.replaceAnimation(m,y,n)}}}u++}return!0},e.prototype.getAllDragonBonesData=function(){return this._dragonBonesDataMap},e.prototype.getAllTextureAtlasData=function(){return this._textureAtlasDataMap},Object.defineProperty(e.prototype,"clock",{get:function(){return this._dragonBones.clock},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"dragonBones",{get:function(){return this._dragonBones},enumerable:!0,configurable:!0}),e.prototype.changeSkin=function(t,e,i){return void 0===i&&(i=null),this.replaceSkin(t,e,!1,i)},e.prototype.copyAnimationsToArmature=function(t,e,i,n,r){void 0===i&&(i=""),void 0===n&&(n=""),void 0===r&&(r=!0);var s=this.getArmatureData(e,n);return!!s&&this.replaceAnimation(t,s,r)},e._objectParser=null,e._binaryParser=null,e})();t.BaseFactory=e;var i=(function(){return function(){this.dataName="",this.textureAtlasName="",this.skin=null}})();t.BuildArmaturePackage=i})(n||(n={})),e.exports=n}),{}],293:[(function(t,e,i){var n=t("./ArmatureDisplay"),r=t("../../cocos2d/core/renderer/render-engine"),s=t("../../cocos2d/core/renderer/render-flow"),a=r.gfx,o=t("../../cocos2d/core/renderer/render-engine").math,h=cc.color(255,0,0,255),l=cc.color(0,0,255,255),c=void 0,u=void 0,_=void 0,f=void 0,m=void 0,d=void 0,p=void 0,y=void 0,v=void 0,g=void 0,x=void 0,A=void 0,b=void 0,C=void 0,S=void 0,T=void 0,w=void 0,E=void 0,D=void 0,M=void 0,B=void 0,P=void 0,I=void 0,R=void 0,O=void 0,L=void 0,F=void 0,V=void 0,N=void 0;function k(t,e){if(!t)return null;var i=void 0,n=void 0;switch(e){case 1:i=m?cc.macro.ONE:cc.macro.SRC_ALPHA,n=cc.macro.ONE;break;case 10:i=cc.macro.DST_COLOR,n=cc.macro.ONE_MINUS_SRC_ALPHA;break;case 12:i=cc.macro.ONE,n=cc.macro.ONE_MINUS_SRC_COLOR;break;case 0:default:i=m?cc.macro.ONE:cc.macro.SRC_ALPHA,n=cc.macro.ONE_MINUS_SRC_ALPHA}var r=!g.enableBatch,s=t.url+i+n+r,o=g._material;if(!o)return null;var h=g._materialCache,l=h[s];l?l.texture!==t&&(l.texture=t,l.updateHash(s)):((l=h[o._hash]?o.clone():o).useModel=r,l.texture=t,l.useColor=!1,l._mainTech.passes[0].setBlend(a.BLEND_FUNC_ADD,i,n,a.BLEND_FUNC_ADD,i,n),h[s]=l,l.updateHash(s));return l}function G(t){D=t.r*c,M=t.g*u,B=t.b*_,P=t.a*f,E=(P<<24>>>0)+(B<<16)+(M<<8)+D}var z={updateRenderData:function(t,e){},realTimeTraverse:function(t,e){for(var i=t._slots,n=void 0,r=void 0,s=void 0,a=void 0,h=void 0,l=void 0,c=void 0,u=void 0,_=void 0,f=0,m=i.length;f<m;f++)if((c=i[f])._visible&&c._displayData)if(e?c._mulMat(c._worldMatrix,e,c._matrix):o.mat4.copy(c._worldMatrix,c._matrix),c.childArmature)this.realTimeTraverse(c.childArmature,c._worldMatrix);else if(a=k(c.getTexture(),c._blendMode)){(d||a._hash!==v.material._hash)&&(d=!1,v._flush(),v.node=y,v.material=a),G(c._color),u=c._worldMatrix,h=c._localVertices,C=h.length>>2,l=c._indices,S=l.length,_=p.request(C,S),A=_.indiceOffset,x=_.byteOffset>>2,b=_.vertexOffset,n=p._vData,r=p._iData,s=p._uintVData,R=u.m00,O=u.m04,L=u.m12,F=u.m01,V=u.m05,N=u.m13;for(var g=0,D=h.length;g<D;)T=h[g++],w=h[g++],n[x++]=T*R+w*O+L,n[x++]=T*F+w*V+N,n[x++]=h[g++],n[x++]=h[g++],s[x++]=E;for(var M=0,B=l.length;M<B;M++)r[A++]=b+l[M]}},cacheTraverse:function(t,e){if(t){var i=t.segments;if(0!=i.length){var n=void 0,r=void 0,s=void 0,a=void 0,o=void 0,h=t.vertices,l=t.indices,c=t.uintVert,u=0,_=0,f=0;e&&(R=e.m00,O=e.m04,L=e.m12,F=e.m01,V=e.m05,N=e.m13);var m=0,g=t.colors,D=g[m++],M=D.vfOffset;G(D);for(var B=0,P=i.length;B<P;B++){var z=i[B];a=k(z.tex,z.blendMode),(d||a._hash!==v.material._hash)&&(d=!1,v._flush(),v.node=y,v.material=a),C=z.vertexCount,S=z.indexCount,o=p.request(C,S),A=o.indiceOffset,b=o.vertexOffset,x=o.byteOffset>>2,n=p._vData,r=p._iData,s=p._uintVData;for(var U=A,j=A+S;U<j;U++)r[U]=b+l[_++];switch(f=z.vfCount,I){case 1:case 0:n.set(h.subarray(u,u+f),x),u+=f;break;case 16:case 17:for(var W=x,H=x+f;W<H;)T=h[u++],w=h[u++],n[W++]=T*R+w*O+L,n[W++]=T*F+w*V+N,n[W++]=h[u++],n[W++]=h[u++],s[W++]=c[u++]}if(1&I)for(var X=u-f,Y=x+4,q=x+4+f;Y<q;Y+=5,X+=5)X>=M&&(G(D=g[m++]),M=D.vfOffset),s[Y]=E}}}},fillBuffers:function(t,e){t.node._renderFlag|=s.FLAG_UPDATE_RENDER_DATA,d=!0,m=t.premultipliedAlpha,y=t.node,p=e._meshBuffer,v=e,g=t,I=0;var i=y._color;c=i.r/255,u=i.g/255,_=i.b/255,f=i.a/255,4294967295!==i._val&&(I|=1);var n=void 0;if(g.enableBatch&&(n=y._worldMatrix,d=!1,I|=16),t.isAnimationCached())this.cacheTraverse(t._curFrame,n);else{var r=t._armature;if(!r)return;this.realTimeTraverse(r,n);var a=t._debugDraw;if(t.debugBones&&a){a.clear(),a.lineWidth=5,a.strokeColor=h,a.fillColor=l;for(var o=r.getBones(),x=0,A=o.length;x<A;x++){var b=o[x],C=Math.max(b.boneData.length,5),S=b.globalTransformMatrix.tx,T=-b.globalTransformMatrix.ty,w=S+b.globalTransformMatrix.a*C,E=T-b.globalTransformMatrix.b*C;a.moveTo(S,T),a.lineTo(w,E),a.stroke()}}}y=void 0,p=void 0,v=void 0,g=void 0}};e.exports=n._assembler=z}),{"../../cocos2d/core/renderer/render-engine":202,"../../cocos2d/core/renderer/render-flow":203,"./ArmatureDisplay":284}],294:[(function(t,e,i){var n=t("./track-entry-listeners"),r=t("../../cocos2d/core/components/CCRenderComponent"),s=t("./lib/spine"),a=t("../../cocos2d/core/renderer/render-engine").SpineMaterial,o=t("../../cocos2d/core/graphics/graphics"),h=t("./skeleton-cache"),l=cc.Enum({default:-1}),c=cc.Enum({"<None>":0}),u=cc.Enum({REALTIME:0,SHARED_CACHE:1,PRIVATE_CACHE:2});sp.Skeleton=cc.Class({name:"sp.Skeleton",extends:r,editor:!1,statics:{AnimationCacheMode:u},properties:{paused:{default:!1,visible:!1},skeletonData:{default:null,type:sp.SkeletonData,notify:function(){this.defaultSkin="",this.defaultAnimation="",this._updateSkeletonData()},tooltip:!1},defaultSkin:{default:"",visible:!1},defaultAnimation:{default:"",visible:!1},animation:{get:function(){if(this.isAnimationCached())return this._animationName;var t=this.getCurrent(0);return t&&t.animation.name||""},set:function(t){this.defaultAnimation=t,t?this.setAnimation(0,t,this.loop):(this.clearTrack(0),this.setToSetupPose())},visible:!1},_defaultSkinIndex:{get:function(){if(this.skeletonData&&this.defaultSkin){var t=this.skeletonData.getSkinsEnum();if(t){var e=t[this.defaultSkin];if(void 0!==e)return e}}return 0},set:function(t){var e;if(this.skeletonData&&(e=this.skeletonData.getSkinsEnum()),!e)return cc.errorID("",this.name);var i=e[t];void 0!==i?this.defaultSkin=i:cc.errorID(7501,this.name)},type:l,visible:!0,displayName:"Default Skin",tooltip:!1},_animationIndex:{get:function(){var t=this.animation;if(this.skeletonData&&t){var e=this.skeletonData.getAnimsEnum();if(e){var i=e[t];if(void 0!==i)return i}}return 0},set:function(t){if(0!==t){var e;if(this.skeletonData&&(e=this.skeletonData.getAnimsEnum()),!e)return cc.errorID(7502,this.name);var i=e[t];void 0!==i?this.animation=i:cc.errorID(7503,this.name)}else this.animation=""},type:c,visible:!0,displayName:"Animation",tooltip:!1},_preCacheMode:-1,_cacheMode:u.REALTIME,_defaultCacheMode:{default:0,type:u,notify:function(){this.setAnimationCacheMode(this._defaultCacheMode)},editorOnly:!0,visible:!0,animatable:!1,displayName:"Animation Cache Mode",tooltip:!1},loop:{default:!0,tooltip:!1},premultipliedAlpha:{default:!0,tooltip:!1},timeScale:{default:1,tooltip:!1},debugSlots:{default:!1,editorOnly:!0,tooltip:!1,notify:function(){this._updateDebugDraw()}},debugBones:{default:!1,editorOnly:!0,tooltip:!1,notify:function(){this._updateDebugDraw()}},useTint:{default:!1,tooltip:!1,notify:function(){this._updateUseTint()}},enableBatch:{default:!1,notify:function(){this._updateBatch()},tooltip:!1},_accTime:0,_playCount:0,_frameCache:null,_curFrame:null,_skeletonCache:null,_animationName:null,_animationQueue:[],_headAniInfo:null,_playTimes:0,_isAniComplete:!0},ctor:function(){this._skeleton=null,this._rootBone=null,this._listener=null,this._boundingBox=cc.rect(),this._material=new a,this._materialCache={},this._debugRenderer=null,this._startSlotIndex=-1,this._endSlotIndex=-1,this._startEntry={animation:{name:""},trackIndex:0},this._endEntry={animation:{name:""},trackIndex:0}},_updateMaterial:function(t){this._super(t),this._materialCache={}},_updateUseTint:function(){var t=this._materialCache;for(var e in t){var i=t[e];i&&(i.useTint=this.useTint)}},_updateBatch:function(){var t=this._materialCache;for(var e in t){var i=t[e];i&&(i.useModel=!this.enableBatch)}},setSkeletonData:function(t){if(null!=t.width&&null!=t.height&&this.node.setContentSize(t.width,t.height),this.isAnimationCached()){var e=this._skeletonCache.getSkeletonCache(this.skeletonData._uuid,t);this._skeleton=e.skeleton,this._clipper=e.clipper,this._rootBone=this._skeleton.getRootBone()}else this._skeleton=new s.Skeleton(t),this._clipper=new s.SkeletonClipping,this._rootBone=this._skeleton.getRootBone()},setSlotsRange:function(t,e){this.isAnimationCached()?console.warn("Slots visible range can not be modified in cached mode."):(this._startSlotIndex=t,this._endSlotIndex=e)},setAnimationStateData:function(t){if(this.isAnimationCached())console.warn("'setAnimationStateData' interface can not be invoked in cached mode.");else{var e=new s.AnimationState(t);this._listener&&(this._state&&this._state.removeListener(this._listener),e.addListener(this._listener)),this._state=e}},__preload:function(){for(var t=this.node.children,e=0,i=t.length;e<i;e++){var n=t[e];n&&"DEBUG_DRAW_NODE"===n._name&&n.destroy()}this._updateSkeletonData(),this._updateDebugDraw(),this._updateUseTint(),this._updateBatch()},setAnimationCacheMode:function(t){this._preCacheMode!==t&&(this._cacheMode=t,this._updateSkeletonData())},isAnimationCached:function(){return this._cacheMode!==u.REALTIME},update:function(t){if(!this.paused)if(this.isAnimationCached()){if(this._isAniComplete){if(0===this._animationQueue.length&&!this._headAniInfo)return;if(this._headAniInfo||(this._headAniInfo=this._animationQueue.shift()),this._accTime+=t,this._accTime>this._headAniInfo.delay){var e=this._headAniInfo;this._headAniInfo=null,this.setAnimation(0,e.animationName,e.loop)}return}this._updateCache(t)}else this._updateRealtime(t)},_updateCache:function(t){var e=this._frameCache.frames,i=this._frameCache.totalTime,n=e.length;0==this._accTime&&0==this._playCount&&(this._startEntry.animation.name=this._animationName,this._listener&&this._listener.start&&this._listener.start(this._startEntry)),this._accTime+=t*this.timeScale;var r=Math.floor(this._accTime/i*n);if(r>=n){if(this._endEntry.animation.name=this._animationName,this._listener&&this._listener.complete&&this._listener.complete(this._endEntry),this._listener&&this._listener.end&&this._listener.end(this._endEntry),this._playCount++,this._playTimes>0&&this._playCount>=this._playTimes)return this._accTime=0,this._playCount=0,void(this._isAniComplete=!0);this._accTime=0,r=0}this._curFrame=e[r]},_updateRealtime:function(t){var e=this._skeleton,i=this._state;e&&(e.update(t),i&&(t*=this.timeScale,i.update(t),i.apply(e)))},onRestore:function(){this._material||(this._boundingBox=cc.rect(),this._material=new a,this._materialCache={})},updateWorldTransform:function(){this.isAnimationCached()&&this._skeleton&&this._skeleton.updateWorldTransform()},setToSetupPose:function(){this.isAnimationCached()?cc.warn("'SetToSetupPose' interface can not be invoked in cached mode."):this._skeleton&&this._skeleton.setToSetupPose()},setBonesToSetupPose:function(){this.isAnimationCached()?cc.warn("'setBonesToSetupPose' interface can not be invoked in cached mode."):this._skeleton&&this._skeleton.setBonesToSetupPose()},setSlotsToSetupPose:function(){this.isAnimationCached()?cc.warn("'setSlotsToSetupPose' interface can not be invoked in cached mode."):this._skeleton&&this._skeleton.setSlotsToSetupPose()},updateAnimationCache:function(t){if(this.isAnimationCached()){var e=this._skeletonCache.updateAnimationCache(this.skeletonData._uuid,t);this._frameCache=e||this._frameCache}},findBone:function(t){return this._skeleton?this._skeleton.findBone(t):null},findSlot:function(t){return this._skeleton?this._skeleton.findSlot(t):null},setSkin:function(t){if(this.isAnimationCached())this._skeletonCache.resetSkeleton(),this._animationName&&(this.animation=this._animationName);else if(this._skeleton)return this._skeleton.setSkinByName(t);return null},getAttachment:function(t,e){return this._skeleton?this._skeleton.getAttachmentByName(t,e):null},setAttachment:function(t,e){this._skeleton&&this._skeleton.setAttachment(t,e)},getTextureAtlas:function(t){return t.region},setMix:function(t,e,i){this._state&&this._state.data.setMix(t,e,i)},setAnimation:function(t,e,i){if(this._playTimes=i?0:1,this._animationName=e,this.isAnimationCached()){0!==t&&cc.warn("Track index can not greater than 0 in cached mode.");var n=this._skeletonCache.getAnimationCache(this.skeletonData._uuid,e);n||(n=this._skeletonCache.updateAnimationCache(this.skeletonData._uuid,e)),n&&(this._isAniComplete=!1,this._accTime=0,this._playCount=0,this._frameCache=n,this._curFrame=this._frameCache.frames[0])}else if(this._skeleton){var r=this._skeleton.data.findAnimation(e);if(!r)return cc.logID(7509,e),null;var s=this._state.setAnimationWith(t,r,i);return this._state.apply(this._skeleton),s}return null},addAnimation:function(t,e,i,n){if(this.isAnimationCached())0!==t&&cc.warn("Track index can not greater than 0 in cached mode."),this._animationQueue.push({animationName:e,loop:i,delay:n});else if(this._skeleton){n=n||0;var r=this._skeleton.data.findAnimation(e);return r?this._state.addAnimationWith(t,r,i,n):(cc.logID(7510,e),null)}return null},findAnimation:function(t){return this._skeleton?this._skeleton.data.findAnimation(t):null},getCurrent:function(t){if(this.isAnimationCached())console.warn("'getCurrent' interface can not be invoked in cached mode.");else if(this._state)return this._state.getCurrent(t);return null},clearTracks:function(){this.isAnimationCached()?console.warn("'clearTracks' interface can not be invoked in cached mode."):this._state&&this._state.clearTracks()},clearTrack:function(t){this.isAnimationCached()?console.warn("'clearTrack' interface can not be invoked in cached mode."):this._state&&this._state.clearTrack(t)},setStartListener:function(t){this._ensureListener(),this._listener.start=t},setInterruptListener:function(t){this._ensureListener(),this._listener.interrupt=t},setEndListener:function(t){this._ensureListener(),this._listener.end=t},setDisposeListener:function(t){this._ensureListener(),this._listener.dispose=t},setCompleteListener:function(t){this._ensureListener(),this._listener.complete=t},setEventListener:function(t){this._ensureListener(),this._listener.event=t},setTrackStartListener:function(t,e){n.getListeners(t).start=e},setTrackInterruptListener:function(t,e){n.getListeners(t).interrupt=e},setTrackEndListener:function(t,e){n.getListeners(t).end=e},setTrackDisposeListener:function(t,e){n.getListeners(t).dispose=e},setTrackCompleteListener:function(t,e){n.getListeners(t).complete=function(t){var i=Math.floor(t.trackTime/t.animationEnd);e(t,i)}},setTrackEventListener:function(t,e){n.getListeners(t).event=e},getState:function(){return this._state},_updateAnimEnum:!1,_updateSkinEnum:!1,_ensureListener:function(){this._listener||(this._listener=new n,this._state&&this._state.addListener(this._listener))},_updateSkeletonData:function(){if(this.skeletonData){var t=this.skeletonData.getRuntimeData();if(t){this._cacheMode===u.SHARED_CACHE?this._skeletonCache=h.sharedCache:this._cacheMode===u.PRIVATE_CACHE&&(this._skeletonCache=new h),this.isAnimationCached()&&(this.debugBones||this.debugSlots)&&cc.warn("Debug bones or slots is invalid in cached mode");try{this.setSkeletonData(t),this.isAnimationCached()||this.setAnimationStateData(new s.AnimationStateData(this._skeleton.data)),this.defaultSkin&&this.setSkin(this.defaultSkin)}catch(t){cc.warn(t)}this._preCacheMode=this._cacheMode,this.animation=this.defaultAnimation}}},_refreshInspector:function(){this._updateAnimEnum(),this._updateSkinEnum(),Editor.Utils.refreshSelectedInspector("node",this.node.uuid)},_updateDebugDraw:function(){if(this.debugBones||this.debugSlots){if(!this._debugRenderer){var t=new cc.PrivateNode;t.name="DEBUG_DRAW_NODE";var e=t.addComponent(o);e.lineWidth=1,e.strokeColor=cc.color(255,0,0,255),this._debugRenderer=e}this._debugRenderer.node.parent=this.node,this.isAnimationCached()&&cc.warn("Debug bones or slots is invalid in cached mode")}else this._debugRenderer&&(this._debugRenderer.node.parent=null)}}),e.exports=sp.Skeleton}),{"../../cocos2d/core/components/CCRenderComponent":77,"../../cocos2d/core/graphics/graphics":106,"../../cocos2d/core/renderer/render-engine":202,"./lib/spine":296,"./skeleton-cache":297,"./track-entry-listeners":301}],295:[(function(t,e,i){var n="undefined"==typeof window?global:window,r=!0;r&&(n.sp={},sp.ATTACHMENT_TYPE={REGION:0,BOUNDING_BOX:1,MESH:2,SKINNED_MESH:3},sp.AnimationEventType=cc.Enum({START:0,INTERRUPT:1,END:2,DISPOSE:3,COMPLETE:4,EVENT:5}),sp.spine=t("./lib/spine"),t("./skeleton-texture"),t("./skeleton-data"),t("./Skeleton"),t("./spine-assembler"))}),{"./Skeleton":294,"./lib/spine":296,"./skeleton-data":298,"./skeleton-texture":299,"./spine-assembler":300}],296:[(function(t,e,i){var n,r=this&&this.__extends||(function(){var t=function(e,i){return(t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])})(e,i)};return function(e,i){function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}})();(function(t){var e,i,n,s=(function(){function t(t,e,i){if(null==t)throw new Error("name cannot be null.");if(null==e)throw new Error("timelines cannot be null.");this.name=t,this.timelines=e,this.duration=i}return t.prototype.apply=function(t,e,i,n,r,s,a,o){if(null==t)throw new Error("skeleton cannot be null.");n&&0!=this.duration&&(i%=this.duration,e>0&&(e%=this.duration));for(var h=this.timelines,l=0,c=h.length;l<c;l++)h[l].apply(t,e,i,r,s,a,o)},t.binarySearch=function(t,e,i){void 0===i&&(i=1);var n=0,r=t.length/i-2;if(0==r)return i;for(var s=r>>>1;;){if(t[(s+1)*i]<=e?n=s+1:r=s,n==r)return(n+1)*i;s=n+r>>>1}},t.linearSearch=function(t,e,i){for(var n=0,r=t.length-i;n<=r;n+=i)if(t[n]>e)return n;return-1},t})();t.Animation=s,(function(t){t[t.setup=0]="setup",t[t.current=1]="current",t[t.currentLayered=2]="currentLayered"})(e=t.MixPose||(t.MixPose={})),(function(t){t[t.in=0]="in",t[t.out=1]="out"})(i=t.MixDirection||(t.MixDirection={})),(function(t){t[t.rotate=0]="rotate",t[t.translate=1]="translate",t[t.scale=2]="scale",t[t.shear=3]="shear",t[t.attachment=4]="attachment",t[t.color=5]="color",t[t.deform=6]="deform",t[t.event=7]="event",t[t.drawOrder=8]="drawOrder",t[t.ikConstraint=9]="ikConstraint",t[t.transformConstraint=10]="transformConstraint",t[t.pathConstraintPosition=11]="pathConstraintPosition",t[t.pathConstraintSpacing=12]="pathConstraintSpacing",t[t.pathConstraintMix=13]="pathConstraintMix",t[t.twoColor=14]="twoColor"})(n=t.TimelineType||(t.TimelineType={}));var a=(function(){function e(i){if(i<=0)throw new Error("frameCount must be > 0: "+i);this.curves=t.Utils.newFloatArray((i-1)*e.BEZIER_SIZE)}return e.prototype.getFrameCount=function(){return this.curves.length/e.BEZIER_SIZE+1},e.prototype.setLinear=function(t){this.curves[t*e.BEZIER_SIZE]=e.LINEAR},e.prototype.setStepped=function(t){this.curves[t*e.BEZIER_SIZE]=e.STEPPED},e.prototype.getCurveType=function(t){var i=t*e.BEZIER_SIZE;if(i==this.curves.length)return e.LINEAR;var n=this.curves[i];return n==e.LINEAR?e.LINEAR:n==e.STEPPED?e.STEPPED:e.BEZIER},e.prototype.setCurve=function(t,i,n,r,s){var a=.03*(2*-i+r),o=.03*(2*-n+s),h=.006*(3*(i-r)+1),l=.006*(3*(n-s)+1),c=2*a+h,u=2*o+l,_=.3*i+a+.16666667*h,f=.3*n+o+.16666667*l,m=t*e.BEZIER_SIZE,d=this.curves;d[m++]=e.BEZIER;for(var p=_,y=f,v=m+e.BEZIER_SIZE-1;m<v;m+=2)d[m]=p,d[m+1]=y,_+=c,f+=u,c+=h,u+=l,p+=_,y+=f},e.prototype.getCurvePercent=function(i,n){n=t.MathUtils.clamp(n,0,1);var r=this.curves,s=i*e.BEZIER_SIZE,a=r[s];if(a==e.LINEAR)return n;if(a==e.STEPPED)return 0;for(var o=0,h=++s,l=s+e.BEZIER_SIZE-1;s<l;s+=2)if((o=r[s])>=n){var c=void 0,u=void 0;return s==h?(c=0,u=0):(c=r[s-2],u=r[s-1]),u+(r[s+1]-u)*(n-c)/(o-c)}var _=r[s-1];return _+(1-_)*(n-o)/(1-o)},e.LINEAR=0,e.STEPPED=1,e.BEZIER=2,e.BEZIER_SIZE=19,e})();t.CurveTimeline=a;var o=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e<<1),n}return r(a,i),a.prototype.getPropertyId=function(){return(n.rotate<<24)+this.boneIndex},a.prototype.setFrame=function(t,e,i){t<<=1,this.frames[t]=e,this.frames[t+a.ROTATION]=i},a.prototype.apply=function(t,i,n,r,o,h,l){var c=this.frames,u=t.bones[this.boneIndex];if(n<c[0])switch(h){case e.setup:return void(u.rotation=u.data.rotation);case e.current:var _=u.data.rotation-u.rotation;_-=360*(16384-(16384.499999999996-_/360|0)),u.rotation+=_*o}else if(n>=c[c.length-a.ENTRIES])if(h==e.setup)u.rotation=u.data.rotation+c[c.length+a.PREV_ROTATION]*o;else{var f=u.data.rotation+c[c.length+a.PREV_ROTATION]-u.rotation;f-=360*(16384-(16384.499999999996-f/360|0)),u.rotation+=f*o}else{var m=s.binarySearch(c,n,a.ENTRIES),d=c[m+a.PREV_ROTATION],p=c[m],y=this.getCurvePercent((m>>1)-1,1-(n-p)/(c[m+a.PREV_TIME]-p)),v=c[m+a.ROTATION]-d;v=d+(v-=360*(16384-(16384.499999999996-v/360|0)))*y,h==e.setup?(v-=360*(16384-(16384.499999999996-v/360|0)),u.rotation=u.data.rotation+v*o):(v=u.data.rotation+v-u.rotation,v-=360*(16384-(16384.499999999996-v/360|0)),u.rotation+=v*o)}},a.ENTRIES=2,a.PREV_TIME=-2,a.PREV_ROTATION=-1,a.ROTATION=1,a})(a);t.RotateTimeline=o;var h=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return r(a,i),a.prototype.getPropertyId=function(){return(n.translate<<24)+this.boneIndex},a.prototype.setFrame=function(t,e,i,n){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.X]=i,this.frames[t+a.Y]=n},a.prototype.apply=function(t,i,n,r,o,h,l){var c=this.frames,u=t.bones[this.boneIndex];if(n<c[0])switch(h){case e.setup:return u.x=u.data.x,void(u.y=u.data.y);case e.current:u.x+=(u.data.x-u.x)*o,u.y+=(u.data.y-u.y)*o}else{var _=0,f=0;if(n>=c[c.length-a.ENTRIES])_=c[c.length+a.PREV_X],f=c[c.length+a.PREV_Y];else{var m=s.binarySearch(c,n,a.ENTRIES);_=c[m+a.PREV_X],f=c[m+a.PREV_Y];var d=c[m],p=this.getCurvePercent(m/a.ENTRIES-1,1-(n-d)/(c[m+a.PREV_TIME]-d));_+=(c[m+a.X]-_)*p,f+=(c[m+a.Y]-f)*p}h==e.setup?(u.x=u.data.x+_*o,u.y=u.data.y+f*o):(u.x+=(u.data.x+_-u.x)*o,u.y+=(u.data.y+f-u.y)*o)}},a.ENTRIES=3,a.PREV_TIME=-3,a.PREV_X=-2,a.PREV_Y=-1,a.X=1,a.Y=2,a})(a);t.TranslateTimeline=h;var l=(function(a){function o(t){return a.call(this,t)||this}return r(o,a),o.prototype.getPropertyId=function(){return(n.scale<<24)+this.boneIndex},o.prototype.apply=function(n,r,a,h,l,c,u){var _=this.frames,f=n.bones[this.boneIndex];if(a<_[0])switch(c){case e.setup:return f.scaleX=f.data.scaleX,void(f.scaleY=f.data.scaleY);case e.current:f.scaleX+=(f.data.scaleX-f.scaleX)*l,f.scaleY+=(f.data.scaleY-f.scaleY)*l}else{var m=0,d=0;if(a>=_[_.length-o.ENTRIES])m=_[_.length+o.PREV_X]*f.data.scaleX,d=_[_.length+o.PREV_Y]*f.data.scaleY;else{var p=s.binarySearch(_,a,o.ENTRIES);m=_[p+o.PREV_X],d=_[p+o.PREV_Y];var y=_[p],v=this.getCurvePercent(p/o.ENTRIES-1,1-(a-y)/(_[p+o.PREV_TIME]-y));m=(m+(_[p+o.X]-m)*v)*f.data.scaleX,d=(d+(_[p+o.Y]-d)*v)*f.data.scaleY}if(1==l)f.scaleX=m,f.scaleY=d;else{var g=0,x=0;c==e.setup?(g=f.data.scaleX,x=f.data.scaleY):(g=f.scaleX,x=f.scaleY),u==i.out?(m=Math.abs(m)*t.MathUtils.signum(g),d=Math.abs(d)*t.MathUtils.signum(x)):(g=Math.abs(g)*t.MathUtils.signum(m),x=Math.abs(x)*t.MathUtils.signum(d)),f.scaleX=g+(m-g)*l,f.scaleY=x+(d-x)*l}}},o})(h);t.ScaleTimeline=l;var c=(function(t){function i(e){return t.call(this,e)||this}return r(i,t),i.prototype.getPropertyId=function(){return(n.shear<<24)+this.boneIndex},i.prototype.apply=function(t,n,r,a,o,h,l){var c=this.frames,u=t.bones[this.boneIndex];if(r<c[0])switch(h){case e.setup:return u.shearX=u.data.shearX,void(u.shearY=u.data.shearY);case e.current:u.shearX+=(u.data.shearX-u.shearX)*o,u.shearY+=(u.data.shearY-u.shearY)*o}else{var _=0,f=0;if(r>=c[c.length-i.ENTRIES])_=c[c.length+i.PREV_X],f=c[c.length+i.PREV_Y];else{var m=s.binarySearch(c,r,i.ENTRIES);_=c[m+i.PREV_X],f=c[m+i.PREV_Y];var d=c[m],p=this.getCurvePercent(m/i.ENTRIES-1,1-(r-d)/(c[m+i.PREV_TIME]-d));_+=(c[m+i.X]-_)*p,f+=(c[m+i.Y]-f)*p}h==e.setup?(u.shearX=u.data.shearX+_*o,u.shearY=u.data.shearY+f*o):(u.shearX+=(u.data.shearX+_-u.shearX)*o,u.shearY+=(u.data.shearY+f-u.shearY)*o)}},i})(h);t.ShearTimeline=c;var u=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return r(a,i),a.prototype.getPropertyId=function(){return(n.color<<24)+this.slotIndex},a.prototype.setFrame=function(t,e,i,n,r,s){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.R]=i,this.frames[t+a.G]=n,this.frames[t+a.B]=r,this.frames[t+a.A]=s},a.prototype.apply=function(t,i,n,r,o,h,l){var c=t.slots[this.slotIndex],u=this.frames;if(n<u[0])switch(h){case e.setup:return void c.color.setFromColor(c.data.color);case e.current:var _=c.color,f=c.data.color;_.add((f.r-_.r)*o,(f.g-_.g)*o,(f.b-_.b)*o,(f.a-_.a)*o)}else{var m=0,d=0,p=0,y=0;if(n>=u[u.length-a.ENTRIES]){var v=u.length;m=u[v+a.PREV_R],d=u[v+a.PREV_G],p=u[v+a.PREV_B],y=u[v+a.PREV_A]}else{var g=s.binarySearch(u,n,a.ENTRIES);m=u[g+a.PREV_R],d=u[g+a.PREV_G],p=u[g+a.PREV_B],y=u[g+a.PREV_A];var x=u[g],A=this.getCurvePercent(g/a.ENTRIES-1,1-(n-x)/(u[g+a.PREV_TIME]-x));m+=(u[g+a.R]-m)*A,d+=(u[g+a.G]-d)*A,p+=(u[g+a.B]-p)*A,y+=(u[g+a.A]-y)*A}if(1==o)c.color.set(m,d,p,y);else{_=c.color;h==e.setup&&_.setFromColor(c.data.color),_.add((m-_.r)*o,(d-_.g)*o,(p-_.b)*o,(y-_.a)*o)}}},a.ENTRIES=5,a.PREV_TIME=-5,a.PREV_R=-4,a.PREV_G=-3,a.PREV_B=-2,a.PREV_A=-1,a.R=1,a.G=2,a.B=3,a.A=4,a})(a);t.ColorTimeline=u;var _=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return r(a,i),a.prototype.getPropertyId=function(){return(n.twoColor<<24)+this.slotIndex},a.prototype.setFrame=function(t,e,i,n,r,s,o,h,l){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.R]=i,this.frames[t+a.G]=n,this.frames[t+a.B]=r,this.frames[t+a.A]=s,this.frames[t+a.R2]=o,this.frames[t+a.G2]=h,this.frames[t+a.B2]=l},a.prototype.apply=function(t,i,n,r,o,h,l){var c=t.slots[this.slotIndex],u=this.frames;if(n<u[0])switch(h){case e.setup:return c.color.setFromColor(c.data.color),void c.darkColor.setFromColor(c.data.darkColor);case e.current:var _=c.color,f=c.darkColor,m=c.data.color,d=c.data.darkColor;_.add((m.r-_.r)*o,(m.g-_.g)*o,(m.b-_.b)*o,(m.a-_.a)*o),f.add((d.r-f.r)*o,(d.g-f.g)*o,(d.b-f.b)*o,0)}else{var p=0,y=0,v=0,g=0,x=0,A=0,b=0;if(n>=u[u.length-a.ENTRIES]){var C=u.length;p=u[C+a.PREV_R],y=u[C+a.PREV_G],v=u[C+a.PREV_B],g=u[C+a.PREV_A],x=u[C+a.PREV_R2],A=u[C+a.PREV_G2],b=u[C+a.PREV_B2]}else{var S=s.binarySearch(u,n,a.ENTRIES);p=u[S+a.PREV_R],y=u[S+a.PREV_G],v=u[S+a.PREV_B],g=u[S+a.PREV_A],x=u[S+a.PREV_R2],A=u[S+a.PREV_G2],b=u[S+a.PREV_B2];var T=u[S],w=this.getCurvePercent(S/a.ENTRIES-1,1-(n-T)/(u[S+a.PREV_TIME]-T));p+=(u[S+a.R]-p)*w,y+=(u[S+a.G]-y)*w,v+=(u[S+a.B]-v)*w,g+=(u[S+a.A]-g)*w,x+=(u[S+a.R2]-x)*w,A+=(u[S+a.G2]-A)*w,b+=(u[S+a.B2]-b)*w}if(1==o)c.color.set(p,y,v,g),c.darkColor.set(x,A,b,1);else{_=c.color,f=c.darkColor;h==e.setup&&(_.setFromColor(c.data.color),f.setFromColor(c.data.darkColor)),_.add((p-_.r)*o,(y-_.g)*o,(v-_.b)*o,(g-_.a)*o),f.add((x-f.r)*o,(A-f.g)*o,(b-f.b)*o,0)}}},a.ENTRIES=8,a.PREV_TIME=-8,a.PREV_R=-7,a.PREV_G=-6,a.PREV_B=-5,a.PREV_A=-4,a.PREV_R2=-3,a.PREV_G2=-2,a.PREV_B2=-1,a.R=1,a.G=2,a.B=3,a.A=4,a.R2=5,a.G2=6,a.B2=7,a})(a);t.TwoColorTimeline=_;var f=(function(){function r(e){this.frames=t.Utils.newFloatArray(e),this.attachmentNames=new Array(e)}return r.prototype.getPropertyId=function(){return(n.attachment<<24)+this.slotIndex},r.prototype.getFrameCount=function(){return this.frames.length},r.prototype.setFrame=function(t,e,i){this.frames[t]=e,this.attachmentNames[t]=i},r.prototype.apply=function(t,n,r,a,o,h,l){var c=t.slots[this.slotIndex];if(l!=i.out||h!=e.setup){var u=this.frames;if(r<u[0]){if(h==e.setup){var _=c.data.attachmentName;c.setAttachment(null==_?null:t.getAttachment(this.slotIndex,_))}}else{var f=0;f=r>=u[u.length-1]?u.length-1:s.binarySearch(u,r,1)-1;var m=this.attachmentNames[f];t.slots[this.slotIndex].setAttachment(null==m?null:t.getAttachment(this.slotIndex,m))}}else{var d=c.data.attachmentName;c.setAttachment(null==d?null:t.getAttachment(this.slotIndex,d))}},r})();t.AttachmentTimeline=f;var m=null,d=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e),n.frameVertices=new Array(e),null==m&&(m=t.Utils.newFloatArray(64)),n}return r(a,i),a.prototype.getPropertyId=function(){return(n.deform<<27)+ +this.attachment.id+this.slotIndex},a.prototype.setFrame=function(t,e,i){this.frames[t]=e,this.frameVertices[t]=i},a.prototype.apply=function(i,n,r,a,o,h,l){var c=i.slots[this.slotIndex],u=c.getAttachment();if(u instanceof t.VertexAttachment&&u.applyDeform(this.attachment)){var _=c.attachmentVertices;0==_.length&&(o=1);var f=this.frameVertices,m=f[0].length,d=this.frames;if(r<d[0]){var p=u;switch(h){case e.setup:return void(_.length=0);case e.current:if(1==o){_.length=0;break}var y=t.Utils.setArraySize(_,m);if(null==p.bones)for(var v=p.vertices,g=0;g<m;g++)y[g]+=(v[g]-y[g])*o;else{o=1-o;for(g=0;g<m;g++)y[g]*=o}}}else{var x=t.Utils.setArraySize(_,m);if(r>=d[d.length-1]){var A=f[d.length-1];if(1==o)t.Utils.arrayCopy(A,0,x,0,m);else if(h==e.setup){if(null==(p=u).bones)for(var b=p.vertices,C=0;C<m;C++){var S=b[C];x[C]=S+(A[C]-S)*o}else for(var T=0;T<m;T++)x[T]=A[T]*o}else for(var w=0;w<m;w++)x[w]+=(A[w]-x[w])*o}else{var E=s.binarySearch(d,r),D=f[E-1],M=f[E],B=d[E],P=this.getCurvePercent(E-1,1-(r-B)/(d[E-1]-B));if(1==o)for(var I=0;I<m;I++){var R=D[I];x[I]=R+(M[I]-R)*P}else if(h==e.setup){if(null==(p=u).bones)for(var O=p.vertices,L=0;L<m;L++){R=D[L],S=O[L];x[L]=S+(R+(M[L]-R)*P-S)*o}else for(var F=0;F<m;F++){R=D[F];x[F]=(R+(M[F]-R)*P)*o}}else for(var V=0;V<m;V++){R=D[V];x[V]+=(R+(M[V]-R)*P-x[V])*o}}}}},a})(a);t.DeformTimeline=d;var p=(function(){function e(e){this.frames=t.Utils.newFloatArray(e),this.events=new Array(e)}return e.prototype.getPropertyId=function(){return n.event<<24},e.prototype.getFrameCount=function(){return this.frames.length},e.prototype.setFrame=function(t,e){this.frames[t]=e.time,this.events[t]=e},e.prototype.apply=function(t,e,i,n,r,a,o){if(null!=n){var h=this.frames,l=this.frames.length;if(e>i)this.apply(t,e,Number.MAX_VALUE,n,r,a,o),e=-1;else if(e>=h[l-1])return;if(!(i<h[0])){var c=0;if(e<h[0])c=0;else for(var u=h[c=s.binarySearch(h,e)];c>0&&h[c-1]==u;)c--;for(;c<l&&i>=h[c];c++)n.push(this.events[c])}}},e})();t.EventTimeline=p;var y=(function(){function r(e){this.frames=t.Utils.newFloatArray(e),this.drawOrders=new Array(e)}return r.prototype.getPropertyId=function(){return n.drawOrder<<24},r.prototype.getFrameCount=function(){return this.frames.length},r.prototype.setFrame=function(t,e,i){this.frames[t]=e,this.drawOrders[t]=i},r.prototype.apply=function(n,r,a,o,h,l,c){var u=n.drawOrder,_=n.slots;if(c!=i.out||l!=e.setup){var f=this.frames;if(a<f[0])l==e.setup&&t.Utils.arrayCopy(n.slots,0,n.drawOrder,0,n.slots.length);else{var m=0;m=a>=f[f.length-1]?f.length-1:s.binarySearch(f,a)-1;var d=this.drawOrders[m];if(null==d)t.Utils.arrayCopy(_,0,u,0,_.length);else for(var p=0,y=d.length;p<y;p++)u[p]=_[d[p]]}}else t.Utils.arrayCopy(n.slots,0,n.drawOrder,0,n.slots.length)},r})();t.DrawOrderTimeline=y;var v=(function(a){function o(e){var i=a.call(this,e)||this;return i.frames=t.Utils.newFloatArray(e*o.ENTRIES),i}return r(o,a),o.prototype.getPropertyId=function(){return(n.ikConstraint<<24)+this.ikConstraintIndex},o.prototype.setFrame=function(t,e,i,n){t*=o.ENTRIES,this.frames[t]=e,this.frames[t+o.MIX]=i,this.frames[t+o.BEND_DIRECTION]=n},o.prototype.apply=function(t,n,r,a,h,l,c){var u=this.frames,_=t.ikConstraints[this.ikConstraintIndex];if(r<u[0])switch(l){case e.setup:return _.mix=_.data.mix,void(_.bendDirection=_.data.bendDirection);case e.current:_.mix+=(_.data.mix-_.mix)*h,_.bendDirection=_.data.bendDirection}else if(r>=u[u.length-o.ENTRIES])l==e.setup?(_.mix=_.data.mix+(u[u.length+o.PREV_MIX]-_.data.mix)*h,_.bendDirection=c==i.out?_.data.bendDirection:u[u.length+o.PREV_BEND_DIRECTION]):(_.mix+=(u[u.length+o.PREV_MIX]-_.mix)*h,c==i.in&&(_.bendDirection=u[u.length+o.PREV_BEND_DIRECTION]));else{var f=s.binarySearch(u,r,o.ENTRIES),m=u[f+o.PREV_MIX],d=u[f],p=this.getCurvePercent(f/o.ENTRIES-1,1-(r-d)/(u[f+o.PREV_TIME]-d));l==e.setup?(_.mix=_.data.mix+(m+(u[f+o.MIX]-m)*p-_.data.mix)*h,_.bendDirection=c==i.out?_.data.bendDirection:u[f+o.PREV_BEND_DIRECTION]):(_.mix+=(m+(u[f+o.MIX]-m)*p-_.mix)*h,c==i.in&&(_.bendDirection=u[f+o.PREV_BEND_DIRECTION]))}},o.ENTRIES=3,o.PREV_TIME=-3,o.PREV_MIX=-2,o.PREV_BEND_DIRECTION=-1,o.MIX=1,o.BEND_DIRECTION=2,o})(a);t.IkConstraintTimeline=v;var g=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return r(a,i),a.prototype.getPropertyId=function(){return(n.transformConstraint<<24)+this.transformConstraintIndex},a.prototype.setFrame=function(t,e,i,n,r,s){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.ROTATE]=i,this.frames[t+a.TRANSLATE]=n,this.frames[t+a.SCALE]=r,this.frames[t+a.SHEAR]=s},a.prototype.apply=function(t,i,n,r,o,h,l){var c=this.frames,u=t.transformConstraints[this.transformConstraintIndex];if(n<c[0]){var _=u.data;switch(h){case e.setup:return u.rotateMix=_.rotateMix,u.translateMix=_.translateMix,u.scaleMix=_.scaleMix,void(u.shearMix=_.shearMix);case e.current:u.rotateMix+=(_.rotateMix-u.rotateMix)*o,u.translateMix+=(_.translateMix-u.translateMix)*o,u.scaleMix+=(_.scaleMix-u.scaleMix)*o,u.shearMix+=(_.shearMix-u.shearMix)*o}}else{var f=0,m=0,d=0,p=0;if(n>=c[c.length-a.ENTRIES]){var y=c.length;f=c[y+a.PREV_ROTATE],m=c[y+a.PREV_TRANSLATE],d=c[y+a.PREV_SCALE],p=c[y+a.PREV_SHEAR]}else{var v=s.binarySearch(c,n,a.ENTRIES);f=c[v+a.PREV_ROTATE],m=c[v+a.PREV_TRANSLATE],d=c[v+a.PREV_SCALE],p=c[v+a.PREV_SHEAR];var g=c[v],x=this.getCurvePercent(v/a.ENTRIES-1,1-(n-g)/(c[v+a.PREV_TIME]-g));f+=(c[v+a.ROTATE]-f)*x,m+=(c[v+a.TRANSLATE]-m)*x,d+=(c[v+a.SCALE]-d)*x,p+=(c[v+a.SHEAR]-p)*x}if(h==e.setup){_=u.data;u.rotateMix=_.rotateMix+(f-_.rotateMix)*o,u.translateMix=_.translateMix+(m-_.translateMix)*o,u.scaleMix=_.scaleMix+(d-_.scaleMix)*o,u.shearMix=_.shearMix+(p-_.shearMix)*o}else u.rotateMix+=(f-u.rotateMix)*o,u.translateMix+=(m-u.translateMix)*o,u.scaleMix+=(d-u.scaleMix)*o,u.shearMix+=(p-u.shearMix)*o}},a.ENTRIES=5,a.PREV_TIME=-5,a.PREV_ROTATE=-4,a.PREV_TRANSLATE=-3,a.PREV_SCALE=-2,a.PREV_SHEAR=-1,a.ROTATE=1,a.TRANSLATE=2,a.SCALE=3,a.SHEAR=4,a})(a);t.TransformConstraintTimeline=g;var x=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return r(a,i),a.prototype.getPropertyId=function(){return(n.pathConstraintPosition<<24)+this.pathConstraintIndex},a.prototype.setFrame=function(t,e,i){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.VALUE]=i},a.prototype.apply=function(t,i,n,r,o,h,l){var c=this.frames,u=t.pathConstraints[this.pathConstraintIndex];if(n<c[0])switch(h){case e.setup:return void(u.position=u.data.position);case e.current:u.position+=(u.data.position-u.position)*o}else{var _=0;if(n>=c[c.length-a.ENTRIES])_=c[c.length+a.PREV_VALUE];else{var f=s.binarySearch(c,n,a.ENTRIES);_=c[f+a.PREV_VALUE];var m=c[f],d=this.getCurvePercent(f/a.ENTRIES-1,1-(n-m)/(c[f+a.PREV_TIME]-m));_+=(c[f+a.VALUE]-_)*d}h==e.setup?u.position=u.data.position+(_-u.data.position)*o:u.position+=(_-u.position)*o}},a.ENTRIES=2,a.PREV_TIME=-2,a.PREV_VALUE=-1,a.VALUE=1,a})(a);t.PathConstraintPositionTimeline=x;var A=(function(t){function i(e){return t.call(this,e)||this}return r(i,t),i.prototype.getPropertyId=function(){return(n.pathConstraintSpacing<<24)+this.pathConstraintIndex},i.prototype.apply=function(t,n,r,a,o,h,l){var c=this.frames,u=t.pathConstraints[this.pathConstraintIndex];if(r<c[0])switch(h){case e.setup:return void(u.spacing=u.data.spacing);case e.current:u.spacing+=(u.data.spacing-u.spacing)*o}else{var _=0;if(r>=c[c.length-i.ENTRIES])_=c[c.length+i.PREV_VALUE];else{var f=s.binarySearch(c,r,i.ENTRIES);_=c[f+i.PREV_VALUE];var m=c[f],d=this.getCurvePercent(f/i.ENTRIES-1,1-(r-m)/(c[f+i.PREV_TIME]-m));_+=(c[f+i.VALUE]-_)*d}h==e.setup?u.spacing=u.data.spacing+(_-u.data.spacing)*o:u.spacing+=(_-u.spacing)*o}},i})(x);t.PathConstraintSpacingTimeline=A;var b=(function(i){function a(e){var n=i.call(this,e)||this;return n.frames=t.Utils.newFloatArray(e*a.ENTRIES),n}return r(a,i),a.prototype.getPropertyId=function(){return(n.pathConstraintMix<<24)+this.pathConstraintIndex},a.prototype.setFrame=function(t,e,i,n){t*=a.ENTRIES,this.frames[t]=e,this.frames[t+a.ROTATE]=i,this.frames[t+a.TRANSLATE]=n},a.prototype.apply=function(t,i,n,r,o,h,l){var c=this.frames,u=t.pathConstraints[this.pathConstraintIndex];if(n<c[0])switch(h){case e.setup:return u.rotateMix=u.data.rotateMix,void(u.translateMix=u.data.translateMix);case e.current:u.rotateMix+=(u.data.rotateMix-u.rotateMix)*o,u.translateMix+=(u.data.translateMix-u.translateMix)*o}else{var _=0,f=0;if(n>=c[c.length-a.ENTRIES])_=c[c.length+a.PREV_ROTATE],f=c[c.length+a.PREV_TRANSLATE];else{var m=s.binarySearch(c,n,a.ENTRIES);_=c[m+a.PREV_ROTATE],f=c[m+a.PREV_TRANSLATE];var d=c[m],p=this.getCurvePercent(m/a.ENTRIES-1,1-(n-d)/(c[m+a.PREV_TIME]-d));_+=(c[m+a.ROTATE]-_)*p,f+=(c[m+a.TRANSLATE]-f)*p}h==e.setup?(u.rotateMix=u.data.rotateMix+(_-u.data.rotateMix)*o,u.translateMix=u.data.translateMix+(f-u.data.translateMix)*o):(u.rotateMix+=(_-u.rotateMix)*o,u.translateMix+=(f-u.translateMix)*o)}},a.ENTRIES=3,a.PREV_TIME=-3,a.PREV_ROTATE=-2,a.PREV_TRANSLATE=-1,a.ROTATE=1,a.TRANSLATE=2,a})(a);t.PathConstraintMixTimeline=b})(n||(n={})),(function(t){var e=(function(){function e(e){this.tracks=new Array,this.events=new Array,this.listeners=new Array,this.queue=new r(this),this.propertyIDs=new t.IntSet,this.mixingTo=new Array,this.animationsChanged=!1,this.timeScale=1,this.trackEntryPool=new t.Pool(function(){return new i}),this.data=e}return e.prototype.update=function(t){t*=this.timeScale;for(var e=this.tracks,i=0,n=e.length;i<n;i++){var r=e[i];if(null!=r){r.animationLast=r.nextAnimationLast,r.trackLast=r.nextTrackLast;var s=t*r.timeScale;if(r.delay>0){if(r.delay-=s,r.delay>0)continue;s=-r.delay,r.delay=0}var a=r.next;if(null!=a){var o=r.trackLast-a.delay;if(o>=0){for(a.delay=0,a.trackTime=o+t*a.timeScale,r.trackTime+=s,this.setCurrent(i,a,!0);null!=a.mixingFrom;)a.mixTime+=s,a=a.mixingFrom;continue}}else if(r.trackLast>=r.trackEnd&&null==r.mixingFrom){e[i]=null,this.queue.end(r),this.disposeNext(r);continue}if(null!=r.mixingFrom&&this.updateMixingFrom(r,t)){var h=r.mixingFrom;for(r.mixingFrom=null;null!=h;)this.queue.end(h),h=h.mixingFrom}r.trackTime+=s}}this.queue.drain()},e.prototype.updateMixingFrom=function(t,e){var i=t.mixingFrom;if(null==i)return!0;var n=this.updateMixingFrom(i,e);return i.animationLast=i.nextAnimationLast,i.trackLast=i.nextTrackLast,t.mixTime>0&&(t.mixTime>=t.mixDuration||0==t.timeScale)?(0!=i.totalAlpha&&0!=t.mixDuration||(t.mixingFrom=i.mixingFrom,t.interruptAlpha=i.interruptAlpha,this.queue.end(i)),n):(i.trackTime+=e*i.timeScale,t.mixTime+=e*t.timeScale,!1)},e.prototype.apply=function(i){if(null==i)throw new Error("skeleton cannot be null.");this.animationsChanged&&this._animationsChanged();for(var n=this.events,r=this.tracks,s=!1,a=0,o=r.length;a<o;a++){var h=r[a];if(!(null==h||h.delay>0)){s=!0;var l=0==a?t.MixPose.current:t.MixPose.currentLayered,c=h.alpha;null!=h.mixingFrom?c*=this.applyMixingFrom(h,i,l):h.trackTime>=h.trackEnd&&null==h.next&&(c=0);var u=h.animationLast,_=h.getAnimationTime(),f=h.animation.timelines.length,m=h.animation.timelines;if(1==c)for(var d=0;d<f;d++)m[d].apply(i,u,_,n,1,t.MixPose.setup,t.MixDirection.in);else{var p=h.timelineData,y=0==h.timelinesRotation.length;y&&t.Utils.setArraySize(h.timelinesRotation,f<<1,null);var v=h.timelinesRotation;for(d=0;d<f;d++){var g=m[d],x=p[d]>=e.FIRST?t.MixPose.setup:l;g instanceof t.RotateTimeline?this.applyRotateTimeline(g,i,_,c,x,v,d<<1,y):(t.Utils.webkit602BugfixHelper(c,x),g.apply(i,u,_,n,c,x,t.MixDirection.in))}}this.queueEvents(h,_),n.length=0,h.nextAnimationLast=_,h.nextTrackLast=h.trackTime}}return this.queue.drain(),s},e.prototype.applyMixingFrom=function(i,n,r){var s=i.mixingFrom;null!=s.mixingFrom&&this.applyMixingFrom(s,n,r);var a=0;0==i.mixDuration?(a=1,r=t.MixPose.setup):(a=i.mixTime/i.mixDuration)>1&&(a=1);var o=a<s.eventThreshold?this.events:null,h=a<s.attachmentThreshold,l=a<s.drawOrderThreshold,c=s.animationLast,u=s.getAnimationTime(),_=s.animation.timelines.length,f=s.animation.timelines,m=s.timelineData,d=s.timelineDipMix,p=0==s.timelinesRotation.length;p&&t.Utils.setArraySize(s.timelinesRotation,_<<1,null);var y,v=s.timelinesRotation,g=s.alpha*i.interruptAlpha,x=g*(1-a),A=0;s.totalAlpha=0;for(var b=0;b<_;b++){var C=f[b];switch(m[b]){case e.SUBSEQUENT:if(!h&&C instanceof t.AttachmentTimeline)continue;if(!l&&C instanceof t.DrawOrderTimeline)continue;y=r,A=x;break;case e.FIRST:y=t.MixPose.setup,A=x;break;case e.DIP:y=t.MixPose.setup,A=g;break;default:y=t.MixPose.setup,A=g;var S=d[b];A*=Math.max(0,1-S.mixTime/S.mixDuration)}s.totalAlpha+=A,C instanceof t.RotateTimeline?this.applyRotateTimeline(C,n,u,A,y,v,b<<1,p):(t.Utils.webkit602BugfixHelper(A,y),C.apply(n,c,u,o,A,y,t.MixDirection.out))}return i.mixDuration>0&&this.queueEvents(s,u),this.events.length=0,s.nextAnimationLast=u,s.nextTrackLast=s.trackTime,a},e.prototype.applyRotateTimeline=function(e,i,n,r,s,a,o,h){if(h&&(a[o]=0),1!=r){var l=e,c=l.frames,u=i.bones[l.boneIndex];if(n<c[0])s==t.MixPose.setup&&(u.rotation=u.data.rotation);else{var _=0;if(n>=c[c.length-t.RotateTimeline.ENTRIES])_=u.data.rotation+c[c.length+t.RotateTimeline.PREV_ROTATION];else{var f=t.Animation.binarySearch(c,n,t.RotateTimeline.ENTRIES),m=c[f+t.RotateTimeline.PREV_ROTATION],d=c[f],p=l.getCurvePercent((f>>1)-1,1-(n-d)/(c[f+t.RotateTimeline.PREV_TIME]-d));_=c[f+t.RotateTimeline.ROTATION]-m,_=m+(_-=360*(16384-(16384.499999999996-_/360|0)))*p+u.data.rotation,_-=360*(16384-(16384.499999999996-_/360|0))}var y=s==t.MixPose.setup?u.data.rotation:u.rotation,v=0,g=_-y;if(0==g)v=a[o];else{g-=360*(16384-(16384.499999999996-g/360|0));var x=0,A=0;h?(x=0,A=g):(x=a[o],A=a[o+1]);var b=g>0,C=x>=0;t.MathUtils.signum(A)!=t.MathUtils.signum(g)&&Math.abs(A)<=90&&(Math.abs(x)>180&&(x+=360*t.MathUtils.signum(x)),C=b),v=g+x-x%360,C!=b&&(v+=360*t.MathUtils.signum(x)),a[o]=v}a[o+1]=g,y+=v*r,u.rotation=y-360*(16384-(16384.499999999996-y/360|0))}}else e.apply(i,0,n,null,1,s,t.MixDirection.in)},e.prototype.queueEvents=function(t,e){for(var i=t.animationStart,n=t.animationEnd,r=n-i,s=t.trackLast%r,a=this.events,o=0,h=a.length;o<h;o++){var l=a[o];if(l.time<s)break;l.time>n||this.queue.event(t,l)}for((t.loop?0==r||s>t.trackTime%r:e>=n&&t.animationLast<n)&&this.queue.complete(t);o<h;o++){a[o].time<i||this.queue.event(t,a[o])}},e.prototype.clearTracks=function(){var t=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var e=0,i=this.tracks.length;e<i;e++)this.clearTrack(e);this.tracks.length=0,this.queue.drainDisabled=t,this.queue.drain()},e.prototype.clearTrack=function(t){if(!(t>=this.tracks.length)){var e=this.tracks[t];if(null!=e){this.queue.end(e),this.disposeNext(e);for(var i=e;;){var n=i.mixingFrom;if(null==n)break;this.queue.end(n),i.mixingFrom=null,i=n}this.tracks[e.trackIndex]=null,this.queue.drain()}}},e.prototype.setCurrent=function(t,e,i){var n=this.expandToIndex(t);this.tracks[t]=e,null!=n&&(i&&this.queue.interrupt(n),e.mixingFrom=n,e.mixTime=0,null!=n.mixingFrom&&n.mixDuration>0&&(e.interruptAlpha*=Math.min(1,n.mixTime/n.mixDuration)),n.timelinesRotation.length=0),this.queue.start(e)},e.prototype.setAnimation=function(t,e,i){var n=this.data.skeletonData.findAnimation(e);if(null==n)throw new Error("Animation not found: "+e);return this.setAnimationWith(t,n,i)},e.prototype.setAnimationWith=function(t,e,i){if(null==e)throw new Error("animation cannot be null.");var n=!0,r=this.expandToIndex(t);null!=r&&(-1==r.nextTrackLast?(this.tracks[t]=r.mixingFrom,this.queue.interrupt(r),this.queue.end(r),this.disposeNext(r),r=r.mixingFrom,n=!1):this.disposeNext(r));var s=this.trackEntry(t,e,i,r);return this.setCurrent(t,s,n),this.queue.drain(),s},e.prototype.addAnimation=function(t,e,i,n){var r=this.data.skeletonData.findAnimation(e);if(null==r)throw new Error("Animation not found: "+e);return this.addAnimationWith(t,r,i,n)},e.prototype.addAnimationWith=function(t,e,i,n){if(null==e)throw new Error("animation cannot be null.");var r=this.expandToIndex(t);if(null!=r)for(;null!=r.next;)r=r.next;var s=this.trackEntry(t,e,i,r);if(null==r)this.setCurrent(t,s,!0),this.queue.drain();else if(r.next=s,n<=0){var a=r.animationEnd-r.animationStart;0!=a?(r.loop?n+=a*(1+(r.trackTime/a|0)):n+=a,n-=this.data.getMix(r.animation,e)):n=0}return s.delay=n,s},e.prototype.setEmptyAnimation=function(t,i){var n=this.setAnimationWith(t,e.emptyAnimation,!1);return n.mixDuration=i,n.trackEnd=i,n},e.prototype.addEmptyAnimation=function(t,i,n){n<=0&&(n-=i);var r=this.addAnimationWith(t,e.emptyAnimation,!1,n);return r.mixDuration=i,r.trackEnd=i,r},e.prototype.setEmptyAnimations=function(t){var e=this.queue.drainDisabled;this.queue.drainDisabled=!0;for(var i=0,n=this.tracks.length;i<n;i++){var r=this.tracks[i];null!=r&&this.setEmptyAnimation(r.trackIndex,t)}this.queue.drainDisabled=e,this.queue.drain()},e.prototype.expandToIndex=function(e){return e<this.tracks.length?this.tracks[e]:(t.Utils.ensureArrayCapacity(this.tracks,e-this.tracks.length+1,null),this.tracks.length=e+1,null)},e.prototype.trackEntry=function(t,e,i,n){var r=this.trackEntryPool.obtain();return r.trackIndex=t,r.animation=e,r.loop=i,r.eventThreshold=0,r.attachmentThreshold=0,r.drawOrderThreshold=0,r.animationStart=0,r.animationEnd=e.duration,r.animationLast=-1,r.nextAnimationLast=-1,r.delay=0,r.trackTime=0,r.trackLast=-1,r.nextTrackLast=-1,r.trackEnd=Number.MAX_VALUE,r.timeScale=1,r.alpha=1,r.interruptAlpha=1,r.mixTime=0,r.mixDuration=null==n?0:this.data.getMix(n.animation,e),r},e.prototype.disposeNext=function(t){for(var e=t.next;null!=e;)this.queue.dispose(e),e=e.next;t.next=null},e.prototype._animationsChanged=function(){this.animationsChanged=!1;var t=this.propertyIDs;t.clear();for(var e=this.mixingTo,i=0,n=this.tracks.length;i<n;i++){var r=this.tracks[i];null!=r&&r.setTimelineData(null,e,t)}},e.prototype.getCurrent=function(t){return t>=this.tracks.length?null:this.tracks[t]},e.prototype.addListener=function(t){if(null==t)throw new Error("listener cannot be null.");this.listeners.push(t)},e.prototype.removeListener=function(t){var e=this.listeners.indexOf(t);e>=0&&this.listeners.splice(e,1)},e.prototype.clearListeners=function(){this.listeners.length=0},e.prototype.clearListenerNotifications=function(){this.queue.clear()},e.emptyAnimation=new t.Animation("<empty>",[],0),e.SUBSEQUENT=0,e.FIRST=1,e.DIP=2,e.DIP_MIX=3,e})();t.AnimationState=e;var i=(function(){function i(){this.timelineData=new Array,this.timelineDipMix=new Array,this.timelinesRotation=new Array}return i.prototype.reset=function(){this.next=null,this.mixingFrom=null,this.animation=null,this.listener=null,this.timelineData.length=0,this.timelineDipMix.length=0,this.timelinesRotation.length=0},i.prototype.setTimelineData=function(i,n,r){null!=i&&n.push(i);var s=null!=this.mixingFrom?this.mixingFrom.setTimelineData(this,n,r):this;null!=i&&n.pop();var a=n,o=n.length-1,h=this.animation.timelines,l=this.animation.timelines.length,c=t.Utils.setArraySize(this.timelineData,l);this.timelineDipMix.length=0;var u=t.Utils.setArraySize(this.timelineDipMix,l);t:for(var _=0;_<l;_++){var f=h[_].getPropertyId();if(r.add(f))if(null!=i&&i.hasTimeline(f)){for(var m=o;m>=0;m--){var d=a[m];if(!d.hasTimeline(f)&&d.mixDuration>0){c[_]=e.DIP_MIX,u[_]=d;continue t}}c[_]=e.DIP}else c[_]=e.FIRST;else c[_]=e.SUBSEQUENT}return s},i.prototype.hasTimeline=function(t){for(var e=this.animation.timelines,i=0,n=e.length;i<n;i++)if(e[i].getPropertyId()==t)return!0;return!1},i.prototype.getAnimationTime=function(){if(this.loop){var t=this.animationEnd-this.animationStart;return 0==t?this.animationStart:this.trackTime%t+this.animationStart}return Math.min(this.trackTime+this.animationStart,this.animationEnd)},i.prototype.setAnimationLast=function(t){this.animationLast=t,this.nextAnimationLast=t},i.prototype.isComplete=function(){return this.trackTime>=this.animationEnd-this.animationStart},i.prototype.resetRotationDirections=function(){this.timelinesRotation.length=0},i})();t.TrackEntry=i;var n,r=(function(){function t(t){this.objects=[],this.drainDisabled=!1,this.animState=t}return t.prototype.start=function(t){this.objects.push(n.start),this.objects.push(t),this.animState.animationsChanged=!0},t.prototype.interrupt=function(t){this.objects.push(n.interrupt),this.objects.push(t)},t.prototype.end=function(t){this.objects.push(n.end),this.objects.push(t),this.animState.animationsChanged=!0},t.prototype.dispose=function(t){this.objects.push(n.dispose),this.objects.push(t)},t.prototype.complete=function(t){this.objects.push(n.complete),this.objects.push(t)},t.prototype.event=function(t,e){this.objects.push(n.event),this.objects.push(t),this.objects.push(e)},t.prototype.drain=function(){if(!this.drainDisabled){this.drainDisabled=!0;for(var t=this.objects,e=this.animState.listeners,i=0;i<t.length;i+=2){var r=t[i],s=t[i+1];switch(r){case n.start:null!=s.listener&&s.listener.start&&s.listener.start(s);for(var a=0;a<e.length;a++)e[a].start&&e[a].start(s);break;case n.interrupt:null!=s.listener&&s.listener.interrupt&&s.listener.interrupt(s);for(a=0;a<e.length;a++)e[a].interrupt&&e[a].interrupt(s);break;case n.end:null!=s.listener&&s.listener.end&&s.listener.end(s);for(a=0;a<e.length;a++)e[a].end&&e[a].end(s);case n.dispose:null!=s.listener&&s.listener.dispose&&s.listener.dispose(s);for(a=0;a<e.length;a++)e[a].dispose&&e[a].dispose(s);this.animState.trackEntryPool.free(s);break;case n.complete:null!=s.listener&&s.listener.complete&&s.listener.complete(s);for(a=0;a<e.length;a++)e[a].complete&&e[a].complete(s);break;case n.event:var o=t[2+i++];null!=s.listener&&s.listener.event&&s.listener.event(s,o);for(a=0;a<e.length;a++)e[a].event&&e[a].event(s,o)}}this.clear(),this.drainDisabled=!1}},t.prototype.clear=function(){this.objects.length=0},t})();t.EventQueue=r,(function(t){t[t.start=0]="start",t[t.interrupt=1]="interrupt",t[t.end=2]="end",t[t.dispose=3]="dispose",t[t.complete=4]="complete",t[t.event=5]="event"})(n=t.EventType||(t.EventType={}));var s=(function(){function t(){}return t.prototype.start=function(t){},t.prototype.interrupt=function(t){},t.prototype.end=function(t){},t.prototype.dispose=function(t){},t.prototype.complete=function(t){},t.prototype.event=function(t,e){},t})();t.AnimationStateAdapter2=s})(n||(n={})),(function(t){var e=(function(){function t(t){if(this.animationToMixTime={},this.defaultMix=0,null==t)throw new Error("skeletonData cannot be null.");this.skeletonData=t}return t.prototype.setMix=function(t,e,i){var n=this.skeletonData.findAnimation(t);if(null==n)throw new Error("Animation not found: "+t);var r=this.skeletonData.findAnimation(e);if(null==r)throw new Error("Animation not found: "+e);this.setMixWith(n,r,i)},t.prototype.setMixWith=function(t,e,i){if(null==t)throw new Error("from cannot be null.");if(null==e)throw new Error("to cannot be null.");var n=t.name+"."+e.name;this.animationToMixTime[n]=i},t.prototype.getMix=function(t,e){var i=t.name+"."+e.name,n=this.animationToMixTime[i];return void 0===n?this.defaultMix:n},t})();t.AnimationStateData=e})(n||(n={})),(function(t){var e=(function(){function e(t,e){void 0===e&&(e=""),this.assets={},this.errors={},this.toLoad=0,this.loaded=0,this.textureLoader=t,this.pathPrefix=e}return e.downloadText=function(t,e,i){var n=new XMLHttpRequest;n.open("GET",t,!0),n.onload=function(){200==n.status?e(n.responseText):i(n.status,n.responseText)},n.onerror=function(){i(n.status,n.responseText)},n.send()},e.downloadBinary=function(t,e,i){var n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="arraybuffer",n.onload=function(){200==n.status?e(new Uint8Array(n.response)):i(n.status,n.responseText)},n.onerror=function(){i(n.status,n.responseText)},n.send()},e.prototype.loadText=function(t,i,n){var r=this;void 0===i&&(i=null),void 0===n&&(n=null),t=this.pathPrefix+t,this.toLoad++,e.downloadText(t,(function(e){r.assets[t]=e,i&&i(t,e),r.toLoad--,r.loaded++}),(function(e,i){r.errors[t]="Couldn't load text "+t+": status "+status+", "+i,n&&n(t,"Couldn't load text "+t+": status "+status+", "+i),r.toLoad--,r.loaded++}))},e.prototype.loadTexture=function(t,e,i){var n=this;void 0===e&&(e=null),void 0===i&&(i=null),t=this.pathPrefix+t,this.toLoad++;var r=new Image;r.crossOrigin="anonymous",r.onload=function(i){var s=n.textureLoader(r);n.assets[t]=s,n.toLoad--,n.loaded++,e&&e(t,r)},r.onerror=function(e){n.errors[t]="Couldn't load image "+t,n.toLoad--,n.loaded++,i&&i(t,"Couldn't load image "+t)},r.src=t},e.prototype.loadTextureData=function(t,e,i,n){var r=this;void 0===i&&(i=null),void 0===n&&(n=null),t=this.pathPrefix+t,this.toLoad++;var s=new Image;s.onload=function(e){var n=r.textureLoader(s);r.assets[t]=n,r.toLoad--,r.loaded++,i&&i(t,s)},s.onerror=function(e){r.errors[t]="Couldn't load image "+t,r.toLoad--,r.loaded++,n&&n(t,"Couldn't load image "+t)},s.src=e},e.prototype.loadTextureAtlas=function(i,n,r){var s=this;void 0===n&&(n=null),void 0===r&&(r=null);var a=i.lastIndexOf("/")>=0?i.substring(0,i.lastIndexOf("/")):"";i=this.pathPrefix+i,this.toLoad++,e.downloadText(i,(function(e){var o={count:0},h=new Array;try{new t.TextureAtlas(e,function(e){h.push(a+"/"+e);var i=document.createElement("img");return i.width=16,i.height=16,new t.FakeTexture(i)})}catch(t){var l=t;return s.errors[i]="Couldn't load texture atlas "+i+": "+l.message,r&&r(i,"Couldn't load texture atlas "+i+": "+l.message),s.toLoad--,void s.loaded++}for(var c=function(l){var c=!1;s.loadTexture(l,(function(l,u){if(o.count++,o.count==h.length)if(c)s.errors[i]="Couldn't load texture atlas page "+l+"} of atlas "+i,r&&r(i,"Couldn't load texture atlas page "+l+" of atlas "+i),s.toLoad--,s.loaded++;else try{var _=new t.TextureAtlas(e,function(t){return s.get(a+"/"+t)});s.assets[i]=_,n&&n(i,_),s.toLoad--,s.loaded++}catch(t){var f=t;s.errors[i]="Couldn't load texture atlas "+i+": "+f.message,r&&r(i,"Couldn't load texture atlas "+i+": "+f.message),s.toLoad--,s.loaded++}}),(function(t,e){c=!0,o.count++,o.count==h.length&&(s.errors[i]="Couldn't load texture atlas page "+t+"} of atlas "+i,r&&r(i,"Couldn't load texture atlas page "+t+" of atlas "+i),s.toLoad--,s.loaded++)}))},u=0,_=h;u<_.length;u++){c(_[u])}}),(function(t,e){s.errors[i]="Couldn't load texture atlas "+i+": status "+status+", "+e,r&&r(i,"Couldn't load texture atlas "+i+": status "+status+", "+e),s.toLoad--,s.loaded++}))},e.prototype.get=function(t){return t=this.pathPrefix+t,this.assets[t]},e.prototype.remove=function(t){t=this.pathPrefix+t;var e=this.assets[t];e.dispose&&e.dispose(),this.assets[t]=null},e.prototype.removeAll=function(){for(var t in this.assets){var e=this.assets[t];e.dispose&&e.dispose()}this.assets={}},e.prototype.isLoadingComplete=function(){return 0==this.toLoad},e.prototype.getToLoad=function(){return this.toLoad},e.prototype.getLoaded=function(){return this.loaded},e.prototype.dispose=function(){this.removeAll()},e.prototype.hasErrors=function(){return Object.keys(this.errors).length>0},e.prototype.getErrors=function(){return this.errors},e})();t.AssetManager=e})(n||(n={})),(function(t){var e=(function(){function e(t){this.atlas=t}return e.prototype.newRegionAttachment=function(e,i,n){var r=this.atlas.findRegion(n);if(null==r)throw new Error("Region not found in atlas: "+n+" (region attachment: "+i+")");r.renderObject=r;var s=new t.RegionAttachment(i);return s.setRegion(r),s},e.prototype.newMeshAttachment=function(e,i,n){var r=this.atlas.findRegion(n);if(null==r)throw new Error("Region not found in atlas: "+n+" (mesh attachment: "+i+")");r.renderObject=r;var s=new t.MeshAttachment(i);return s.region=r,s},e.prototype.newBoundingBoxAttachment=function(e,i){return new t.BoundingBoxAttachment(i)},e.prototype.newPathAttachment=function(e,i){return new t.PathAttachment(i)},e.prototype.newPointAttachment=function(e,i){return new t.PointAttachment(i)},e.prototype.newClippingAttachment=function(e,i){return new t.ClippingAttachment(i)},e})();t.AtlasAttachmentLoader=e})(n||(n={})),(function(t){(function(t){t[t.Normal=0]="Normal",t[t.Additive=1]="Additive",t[t.Multiply=2]="Multiply",t[t.Screen=3]="Screen"})(t.BlendMode||(t.BlendMode={}))})(n||(n={})),(function(t){var e=(function(){function e(t,e,i){if(this.children=new Array,this.x=0,this.y=0,this.rotation=0,this.scaleX=0,this.scaleY=0,this.shearX=0,this.shearY=0,this.ax=0,this.ay=0,this.arotation=0,this.ascaleX=0,this.ascaleY=0,this.ashearX=0,this.ashearY=0,this.appliedValid=!1,this.a=0,this.b=0,this.worldX=0,this.c=0,this.d=0,this.worldY=0,this.sorted=!1,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.skeleton=e,this.parent=i,this.setToSetupPose()}return e.prototype.update=function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)},e.prototype.updateWorldTransform=function(){this.updateWorldTransformWith(this.x,this.y,this.rotation,this.scaleX,this.scaleY,this.shearX,this.shearY)},e.prototype.updateWorldTransformWith=function(e,i,n,r,s,a,o){this.ax=e,this.ay=i,this.arotation=n,this.ascaleX=r,this.ascaleY=s,this.ashearX=a,this.ashearY=o,this.appliedValid=!0;var h=this.parent;if(null==h){var l=n+90+o,c=t.MathUtils.cosDeg(n+a)*r,u=t.MathUtils.cosDeg(l)*s,_=t.MathUtils.sinDeg(n+a)*r,f=t.MathUtils.sinDeg(l)*s,m=this.skeleton;return m.flipX&&(e=-e,c=-c,u=-u),m.flipY&&(i=-i,_=-_,f=-f),this.a=c,this.b=u,this.c=_,this.d=f,this.worldX=e+m.x,void(this.worldY=i+m.y)}var d=h.a,p=h.b,y=h.c,v=h.d;switch(this.worldX=d*e+p*i+h.worldX,this.worldY=y*e+v*i+h.worldY,this.data.transformMode){case t.TransformMode.Normal:l=n+90+o,c=t.MathUtils.cosDeg(n+a)*r,u=t.MathUtils.cosDeg(l)*s,_=t.MathUtils.sinDeg(n+a)*r,f=t.MathUtils.sinDeg(l)*s;return this.a=d*c+p*_,this.b=d*u+p*f,this.c=y*c+v*_,void(this.d=y*u+v*f);case t.TransformMode.OnlyTranslation:l=n+90+o;this.a=t.MathUtils.cosDeg(n+a)*r,this.b=t.MathUtils.cosDeg(l)*s,this.c=t.MathUtils.sinDeg(n+a)*r,this.d=t.MathUtils.sinDeg(l)*s;break;case t.TransformMode.NoRotationOrReflection:var g=0;(b=d*d+y*y)>1e-4?(p=y*(b=Math.abs(d*v-p*y)/b),v=d*b,g=Math.atan2(y,d)*t.MathUtils.radDeg):(d=0,y=0,g=90-Math.atan2(v,p)*t.MathUtils.radDeg);var x=n+a-g,A=n+o-g+90;c=t.MathUtils.cosDeg(x)*r,u=t.MathUtils.cosDeg(A)*s,_=t.MathUtils.sinDeg(x)*r,f=t.MathUtils.sinDeg(A)*s;this.a=d*c-p*_,this.b=d*u-p*f,this.c=y*c+v*_,this.d=y*u+v*f;break;case t.TransformMode.NoScale:case t.TransformMode.NoScaleOrReflection:var b,C=t.MathUtils.cosDeg(n),S=t.MathUtils.sinDeg(n),T=d*C+p*S,w=y*C+v*S;(b=Math.sqrt(T*T+w*w))>1e-5&&(b=1/b),T*=b,w*=b,b=Math.sqrt(T*T+w*w);var E=Math.PI/2+Math.atan2(w,T),D=Math.cos(E)*b,M=Math.sin(E)*b;c=t.MathUtils.cosDeg(a)*r,u=t.MathUtils.cosDeg(90+o)*s,_=t.MathUtils.sinDeg(a)*r,f=t.MathUtils.sinDeg(90+o)*s;return(this.data.transformMode!=t.TransformMode.NoScaleOrReflection?d*v-p*y<0:this.skeleton.flipX!=this.skeleton.flipY)&&(D=-D,M=-M),this.a=T*c+D*_,this.b=T*u+D*f,this.c=w*c+M*_,void(this.d=w*u+M*f)}this.skeleton.flipX&&(this.a=-this.a,this.b=-this.b),this.skeleton.flipY&&(this.c=-this.c,this.d=-this.d)},e.prototype.setToSetupPose=function(){var t=this.data;this.x=t.x,this.y=t.y,this.rotation=t.rotation,this.scaleX=t.scaleX,this.scaleY=t.scaleY,this.shearX=t.shearX,this.shearY=t.shearY},e.prototype.getWorldRotationX=function(){return Math.atan2(this.c,this.a)*t.MathUtils.radDeg},e.prototype.getWorldRotationY=function(){return Math.atan2(this.d,this.b)*t.MathUtils.radDeg},e.prototype.getWorldScaleX=function(){return Math.sqrt(this.a*this.a+this.c*this.c)},e.prototype.getWorldScaleY=function(){return Math.sqrt(this.b*this.b+this.d*this.d)},e.prototype.updateAppliedTransform=function(){this.appliedValid=!0;var e=this.parent;if(null==e)return this.ax=this.worldX,this.ay=this.worldY,this.arotation=Math.atan2(this.c,this.a)*t.MathUtils.radDeg,this.ascaleX=Math.sqrt(this.a*this.a+this.c*this.c),this.ascaleY=Math.sqrt(this.b*this.b+this.d*this.d),this.ashearX=0,void(this.ashearY=Math.atan2(this.a*this.b+this.c*this.d,this.a*this.d-this.b*this.c)*t.MathUtils.radDeg);var i=e.a,n=e.b,r=e.c,s=e.d,a=1/(i*s-n*r),o=this.worldX-e.worldX,h=this.worldY-e.worldY;this.ax=o*s*a-h*n*a,this.ay=h*i*a-o*r*a;var l=a*s,c=a*i,u=a*n,_=a*r,f=l*this.a-u*this.c,m=l*this.b-u*this.d,d=c*this.c-_*this.a,p=c*this.d-_*this.b;if(this.ashearX=0,this.ascaleX=Math.sqrt(f*f+d*d),this.ascaleX>1e-4){var y=f*p-m*d;this.ascaleY=y/this.ascaleX,this.ashearY=Math.atan2(f*m+d*p,y)*t.MathUtils.radDeg,this.arotation=Math.atan2(d,f)*t.MathUtils.radDeg}else this.ascaleX=0,this.ascaleY=Math.sqrt(m*m+p*p),this.ashearY=0,this.arotation=90-Math.atan2(p,m)*t.MathUtils.radDeg},e.prototype.worldToLocal=function(t){var e=this.a,i=this.b,n=this.c,r=this.d,s=1/(e*r-i*n),a=t.x-this.worldX,o=t.y-this.worldY;return t.x=a*r*s-o*i*s,t.y=o*e*s-a*n*s,t},e.prototype.localToWorld=function(t){var e=t.x,i=t.y;return t.x=e*this.a+i*this.b+this.worldX,t.y=e*this.c+i*this.d+this.worldY,t},e.prototype.worldToLocalRotation=function(e){var i=t.MathUtils.sinDeg(e),n=t.MathUtils.cosDeg(e);return Math.atan2(this.a*i-this.c*n,this.d*n-this.b*i)*t.MathUtils.radDeg},e.prototype.localToWorldRotation=function(e){var i=t.MathUtils.sinDeg(e),n=t.MathUtils.cosDeg(e);return Math.atan2(n*this.c+i*this.d,n*this.a+i*this.b)*t.MathUtils.radDeg},e.prototype.rotateWorld=function(e){var i=this.a,n=this.b,r=this.c,s=this.d,a=t.MathUtils.cosDeg(e),o=t.MathUtils.sinDeg(e);this.a=a*i-o*r,this.b=a*n-o*s,this.c=o*i+a*r,this.d=o*n+a*s,this.appliedValid=!1},e})();t.Bone=e})(n||(n={})),(function(t){var e,i=(function(){return function(t,i,n){if(this.x=0,this.y=0,this.rotation=0,this.scaleX=1,this.scaleY=1,this.shearX=0,this.shearY=0,this.transformMode=e.Normal,t<0)throw new Error("index must be >= 0.");if(null==i)throw new Error("name cannot be null.");this.index=t,this.name=i,this.parent=n}})();t.BoneData=i,(function(t){t[t.Normal=0]="Normal",t[t.OnlyTranslation=1]="OnlyTranslation",t[t.NoRotationOrReflection=2]="NoRotationOrReflection",t[t.NoScale=3]="NoScale",t[t.NoScaleOrReflection=4]="NoScaleOrReflection"})(e=t.TransformMode||(t.TransformMode={}))})(n||(n={})),(function(t){var e=(function(){return function(t,e){if(null==e)throw new Error("data cannot be null.");this.time=t,this.data=e}})();t.Event=e})(n||(n={})),(function(t){var e=(function(){return function(t){this.name=t}})();t.EventData=e})(n||(n={})),(function(t){var e=(function(){function e(t,e){if(this.mix=1,this.bendDirection=0,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.mix=t.mix,this.bendDirection=t.bendDirection,this.bones=new Array;for(var i=0;i<t.bones.length;i++)this.bones.push(e.findBone(t.bones[i].name));this.target=e.findBone(t.target.name)}return e.prototype.getOrder=function(){return this.data.order},e.prototype.apply=function(){this.update()},e.prototype.update=function(){var t=this.target,e=this.bones;switch(e.length){case 1:this.apply1(e[0],t.worldX,t.worldY,this.mix);break;case 2:this.apply2(e[0],e[1],t.worldX,t.worldY,this.bendDirection,this.mix)}},e.prototype.apply1=function(e,i,n,r){e.appliedValid||e.updateAppliedTransform();var s=e.parent,a=1/(s.a*s.d-s.b*s.c),o=i-s.worldX,h=n-s.worldY,l=(o*s.d-h*s.b)*a-e.ax,c=(h*s.a-o*s.c)*a-e.ay,u=Math.atan2(c,l)*t.MathUtils.radDeg-e.ashearX-e.arotation;e.ascaleX<0&&(u+=180),u>180?u-=360:u<-180&&(u+=360),e.updateWorldTransformWith(e.ax,e.ay,e.arotation+u*r,e.ascaleX,e.ascaleY,e.ashearX,e.ashearY)},e.prototype.apply2=function(e,i,n,r,s,a){if(0!=a){e.appliedValid||e.updateAppliedTransform(),i.appliedValid||i.updateAppliedTransform();var o=e.ax,h=e.ay,l=e.ascaleX,c=e.ascaleY,u=i.ascaleX,_=0,f=0,m=0;l<0?(l=-l,_=180,m=-1):(_=0,m=1),c<0&&(c=-c,m=-m),u<0?(u=-u,f=180):f=0;var d=i.ax,p=0,y=0,v=0,g=e.a,x=e.b,A=e.c,b=e.d,C=Math.abs(l-c)<=1e-4;C?(y=g*d+x*(p=i.ay)+e.worldX,v=A*d+b*p+e.worldY):(p=0,y=g*d+e.worldX,v=A*d+e.worldY);var S=e.parent;g=S.a,x=S.b,A=S.c;var T=1/(g*(b=S.d)-x*A),w=n-S.worldX,E=r-S.worldY,D=(w*b-E*x)*T-o,M=(E*g-w*A)*T-h,B=((w=y-S.worldX)*b-(E=v-S.worldY)*x)*T-o,P=(E*g-w*A)*T-h,I=Math.sqrt(B*B+P*P),R=i.data.length*u,O=0,L=0;t:if(C){var F=(D*D+M*M-I*I-(R*=l)*R)/(2*I*R);F<-1?F=-1:F>1&&(F=1),L=Math.acos(F)*s,g=I+R*F,x=R*Math.sin(L),O=Math.atan2(M*g-D*x,D*g+M*x)}else{var V=(g=l*R)*g,N=(x=c*R)*x,k=D*D+M*M,G=Math.atan2(M,D),z=-2*N*I,U=N-V;if((b=z*z-4*U*(A=N*I*I+V*k-V*N))>=0){var j=Math.sqrt(b);z<0&&(j=-j);var W=(j=-(z+j)/2)/U,H=A/j,X=Math.abs(W)<Math.abs(H)?W:H;if(X*X<=k){E=Math.sqrt(k-X*X)*s,O=G-Math.atan2(E,X),L=Math.atan2(E/c,(X-I)/l);break t}}var Y=t.MathUtils.PI,q=I-g,J=q*q,Z=0,K=0,Q=I+g,$=Q*Q,tt=0;(A=-g*I/(V-N))>=-1&&A<=1&&(A=Math.acos(A),(b=(w=g*Math.cos(A)+I)*w+(E=x*Math.sin(A))*E)<J&&(Y=A,J=b,q=w,Z=E),b>$&&(K=A,$=b,Q=w,tt=E)),k<=(J+$)/2?(O=G-Math.atan2(Z*s,q),L=Y*s):(O=G-Math.atan2(tt*s,Q),L=K*s)}var et=Math.atan2(p,d)*m,it=e.arotation;(O=(O-et)*t.MathUtils.radDeg+_-it)>180?O-=360:O<-180&&(O+=360),e.updateWorldTransformWith(o,h,it+O*a,e.ascaleX,e.ascaleY,0,0),it=i.arotation,(L=((L+et)*t.MathUtils.radDeg-i.ashearX)*m+f-it)>180?L-=360:L<-180&&(L+=360),i.updateWorldTransformWith(d,p,it+L*a,i.ascaleX,i.ascaleY,i.ashearX,i.ashearY)}else i.updateWorldTransform()},e})();t.IkConstraint=e})(n||(n={})),(function(t){var e=(function(){return function(t){this.order=0,this.bones=new Array,this.bendDirection=1,this.mix=1,this.name=t}})();t.IkConstraintData=e})(n||(n={})),(function(t){var e=(function(){function e(t,e){if(this.position=0,this.spacing=0,this.rotateMix=0,this.translateMix=0,this.spaces=new Array,this.positions=new Array,this.world=new Array,this.curves=new Array,this.lengths=new Array,this.segments=new Array,null==t)throw new Error("data cannot be null.");if(null==e)throw new Error("skeleton cannot be null.");this.data=t,this.bones=new Array;for(var i=0,n=t.bones.length;i<n;i++)this.bones.push(e.findBone(t.bones[i].name));this.target=e.findSlot(t.target.name),this.position=t.position,this.spacing=t.spacing,this.rotateMix=t.rotateMix,this.translateMix=t.translateMix}return e.prototype.apply=function(){this.update()},e.prototype.update=function(){var i=this.target.getAttachment();if(i instanceof t.PathAttachment){var n=this.rotateMix,r=this.translateMix,s=n>0;if(r>0||s){var a=this.data,o=a.spacingMode,h=o==t.SpacingMode.Length,l=a.rotateMode,c=l==t.RotateMode.Tangent,u=l==t.RotateMode.ChainScale,_=this.bones.length,f=c?_:_+1,m=this.bones,d=t.Utils.setArraySize(this.spaces,f),p=null,y=this.spacing;if(u||h){u&&(p=t.Utils.setArraySize(this.lengths,_));for(var v=0,g=f-1;v<g;){var x=(B=m[v]).data.length;if(x<e.epsilon)u&&(p[v]=0),d[++v]=0;else{var A=x*B.a,b=x*B.c,C=Math.sqrt(A*A+b*b);u&&(p[v]=C),d[++v]=(h?x+y:y)*C/x}}}else for(v=1;v<f;v++)d[v]=y;var S=this.computeWorldPositions(i,f,c,a.positionMode==t.PositionMode.Percent,o==t.SpacingMode.Percent),T=S[0],w=S[1],E=a.offsetRotation,D=!1;if(0==E)D=l==t.RotateMode.Chain;else D=!1,E*=(M=this.target.bone).a*M.d-M.b*M.c>0?t.MathUtils.degRad:-t.MathUtils.degRad;v=0;for(var M=3;v<_;v++,M+=3){var B;(B=m[v]).worldX+=(T-B.worldX)*r,B.worldY+=(w-B.worldY)*r;var P=(A=S[M])-T,I=(b=S[M+1])-w;if(u){var R=p[v];if(0!=R){var O=(Math.sqrt(P*P+I*I)/R-1)*n+1;B.a*=O,B.c*=O}}if(T=A,w=b,s){var L=B.a,F=B.b,V=B.c,N=B.d,k=0,G=0,z=0;if(k=c?S[M-1]:0==d[v+1]?S[M+2]:Math.atan2(I,P),k-=Math.atan2(V,L),D){G=Math.cos(k),z=Math.sin(k);var U=B.data.length;T+=(U*(G*L-z*V)-P)*n,w+=(U*(z*L+G*V)-I)*n}else k+=E;k>t.MathUtils.PI?k-=t.MathUtils.PI2:k<-t.MathUtils.PI&&(k+=t.MathUtils.PI2),k*=n,G=Math.cos(k),z=Math.sin(k),B.a=G*L-z*V,B.b=G*F-z*N,B.c=z*L+G*V,B.d=z*F+G*N}B.appliedValid=!1}}}},e.prototype.computeWorldPositions=function(i,n,r,s,a){var o=this.target,h=this.position,l=this.spaces,c=t.Utils.setArraySize(this.positions,3*n+2),u=null,_=i.closed,f=i.worldVerticesLength,m=f/6,d=e.NONE;if(!i.constantSpeed){var p=i.lengths,y=p[m-=_?1:2];if(s&&(h*=y),a)for(var v=0;v<n;v++)l[v]*=y;u=t.Utils.setArraySize(this.world,8);v=0;for(var g=0,x=0;v<n;v++,g+=3){var A=h+=H=l[v];if(_)(A%=y)<0&&(A+=y),x=0;else{if(A<0){d!=e.BEFORE&&(d=e.BEFORE,i.computeWorldVertices(o,2,4,u,0,2)),this.addBeforePosition(A,u,0,c,g);continue}if(A>y){d!=e.AFTER&&(d=e.AFTER,i.computeWorldVertices(o,f-6,4,u,0,2)),this.addAfterPosition(A-y,u,0,c,g);continue}}for(;;x++){var b=p[x];if(!(A>b)){if(0==x)A/=b;else A=(A-(J=p[x-1]))/(b-J);break}}x!=d&&(d=x,_&&x==m?(i.computeWorldVertices(o,f-4,4,u,0,2),i.computeWorldVertices(o,0,4,u,4,2)):i.computeWorldVertices(o,6*x+2,8,u,0,2)),this.addCurvePosition(A,u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],c,g,r||v>0&&0==H)}return c}_?(f+=2,u=t.Utils.setArraySize(this.world,f),i.computeWorldVertices(o,2,f-4,u,0,2),i.computeWorldVertices(o,0,2,u,f-4,2),u[f-2]=u[0],u[f-1]=u[1]):(m--,f-=4,u=t.Utils.setArraySize(this.world,f),i.computeWorldVertices(o,2,f,u,0,2));for(var C=t.Utils.setArraySize(this.curves,m),S=0,T=u[0],w=u[1],E=0,D=0,M=0,B=0,P=0,I=0,R=0,O=0,L=0,F=0,V=0,N=0,k=0,G=0,z=(v=0,2);v<m;v++,z+=6)E=u[z],D=u[z+1],M=u[z+2],B=u[z+3],P=u[z+4],I=u[z+5],V=2*(R=.1875*(T-2*E+M))+(L=.09375*(3*(E-M)-T+P)),N=2*(O=.1875*(w-2*D+B))+(F=.09375*(3*(D-B)-w+I)),k=.75*(E-T)+R+.16666667*L,G=.75*(D-w)+O+.16666667*F,S+=Math.sqrt(k*k+G*G),k+=V,G+=N,V+=L,N+=F,S+=Math.sqrt(k*k+G*G),k+=V,G+=N,S+=Math.sqrt(k*k+G*G),k+=V+L,G+=N+F,S+=Math.sqrt(k*k+G*G),C[v]=S,T=P,w=I;if(s&&(h*=S),a)for(v=0;v<n;v++)l[v]*=S;for(var U=this.segments,j=0,W=(v=0,g=0,x=0,0);v<n;v++,g+=3){var H;A=h+=H=l[v];if(_)(A%=S)<0&&(A+=S),x=0;else{if(A<0){this.addBeforePosition(A,u,0,c,g);continue}if(A>S){this.addAfterPosition(A-S,u,f-4,c,g);continue}}for(;;x++){var X=C[x];if(!(A>X)){if(0==x)A/=X;else A=(A-(J=C[x-1]))/(X-J);break}}if(x!=d){d=x;var Y=6*x;for(T=u[Y],w=u[Y+1],E=u[Y+2],D=u[Y+3],M=u[Y+4],B=u[Y+5],P=u[Y+6],I=u[Y+7],V=2*(R=.03*(T-2*E+M))+(L=.006*(3*(E-M)-T+P)),N=2*(O=.03*(w-2*D+B))+(F=.006*(3*(D-B)-w+I)),k=.3*(E-T)+R+.16666667*L,G=.3*(D-w)+O+.16666667*F,j=Math.sqrt(k*k+G*G),U[0]=j,Y=1;Y<8;Y++)k+=V,G+=N,V+=L,N+=F,j+=Math.sqrt(k*k+G*G),U[Y]=j;k+=V,G+=N,j+=Math.sqrt(k*k+G*G),U[8]=j,k+=V+L,G+=N+F,j+=Math.sqrt(k*k+G*G),U[9]=j,W=0}for(A*=j;;W++){var q=U[W];if(!(A>q)){var J;if(0==W)A/=q;else A=W+(A-(J=U[W-1]))/(q-J);break}}this.addCurvePosition(.1*A,T,w,E,D,M,B,P,I,c,g,r||v>0&&0==H)}return c},e.prototype.addBeforePosition=function(t,e,i,n,r){var s=e[i],a=e[i+1],o=e[i+2]-s,h=e[i+3]-a,l=Math.atan2(h,o);n[r]=s+t*Math.cos(l),n[r+1]=a+t*Math.sin(l),n[r+2]=l},e.prototype.addAfterPosition=function(t,e,i,n,r){var s=e[i+2],a=e[i+3],o=s-e[i],h=a-e[i+1],l=Math.atan2(h,o);n[r]=s+t*Math.cos(l),n[r+1]=a+t*Math.sin(l),n[r+2]=l},e.prototype.addCurvePosition=function(t,e,i,n,r,s,a,o,h,l,c,u){(0==t||isNaN(t))&&(t=1e-4);var _=t*t,f=_*t,m=1-t,d=m*m,p=d*m,y=m*t,v=3*y,g=m*v,x=v*t,A=e*p+n*g+s*x+o*f,b=i*p+r*g+a*x+h*f;l[c]=A,l[c+1]=b,u&&(l[c+2]=Math.atan2(b-(i*d+r*y*2+a*_),A-(e*d+n*y*2+s*_)))},e.prototype.getOrder=function(){return this.data.order},e.NONE=-1,e.BEFORE=-2,e.AFTER=-3,e.epsilon=1e-5,e})();t.PathConstraint=e})(n||(n={})),(function(t){var e=(function(){return function(t){this.order=0,this.bones=new Array,this.name=t}})();t.PathConstraintData=e,(function(t){t[t.Fixed=0]="Fixed",t[t.Percent=1]="Percent"})(t.PositionMode||(t.PositionMode={})),(function(t){t[t.Length=0]="Length",t[t.Fixed=1]="Fixed",t[t.Percent=2]="Percent"})(t.SpacingMode||(t.SpacingMode={})),(function(t){t[t.Tangent=0]="Tangent",t[t.Chain=1]="Chain",t[t.ChainScale=2]="ChainScale"})(t.RotateMode||(t.RotateMode={}))})(n||(n={})),(function(t){var e=(function(){function t(t){this.toLoad=new Array,this.assets={},this.clientId=t}return t.prototype.loaded=function(){var t=0;for(var e in this.assets)t++;return t},t})(),i=(function(){function t(t){void 0===t&&(t=""),this.clientAssets={},this.queuedAssets={},this.rawAssets={},this.errors={},this.pathPrefix=t}return t.prototype.queueAsset=function(t,i,n){var r=this.clientAssets[t];return null!==r&&void 0!==r||(r=new e(t),this.clientAssets[t]=r),null!==i&&(r.textureLoader=i),r.toLoad.push(n),this.queuedAssets[n]!==n&&(this.queuedAssets[n]=n,!0)},t.prototype.loadText=function(t,e){var i=this;if(e=this.pathPrefix+e,this.queueAsset(t,null,e)){var n=new XMLHttpRequest;n.onreadystatechange=function(){n.readyState==XMLHttpRequest.DONE&&(n.status>=200&&n.status<300?i.rawAssets[e]=n.responseText:i.errors[e]="Couldn't load text "+e+": status "+n.status+", "+n.responseText)},n.open("GET",e,!0),n.send()}},t.prototype.loadJson=function(t,e){var i=this;if(e=this.pathPrefix+e,this.queueAsset(t,null,e)){var n=new XMLHttpRequest;n.onreadystatechange=function(){n.readyState==XMLHttpRequest.DONE&&(n.status>=200&&n.status<300?i.rawAssets[e]=JSON.parse(n.responseText):i.errors[e]="Couldn't load text "+e+": status "+n.status+", "+n.responseText)},n.open("GET",e,!0),n.send()}},t.prototype.loadTexture=function(t,e,i){var n=this;if(i=this.pathPrefix+i,this.queueAsset(t,e,i)){var r=new Image;r.src=i,r.crossOrigin="anonymous",r.onload=function(t){n.rawAssets[i]=r},r.onerror=function(t){n.errors[i]="Couldn't load image "+i}}},t.prototype.get=function(t,e){e=this.pathPrefix+e;var i=this.clientAssets[t];return null===i||void 0===i||i.assets[e]},t.prototype.updateClientAssets=function(t){for(var e=0;e<t.toLoad.length;e++){var i=t.toLoad[e],n=t.assets[i];if(null===n||void 0===n){var r=this.rawAssets[i];if(null===r||void 0===r)continue;r instanceof HTMLImageElement?t.assets[i]=t.textureLoader(r):t.assets[i]=r}}},t.prototype.isLoadingComplete=function(t){var e=this.clientAssets[t];return null===e||void 0===e||(this.updateClientAssets(e),e.toLoad.length==e.loaded())},t.prototype.dispose=function(){},t.prototype.hasErrors=function(){return Object.keys(this.errors).length>0},t.prototype.getErrors=function(){return this.errors},t})();t.SharedAssetManager=i})(n||(n={})),(function(t){var e=(function(){function e(e){if(this._updateCache=new Array,this.updateCacheReset=new Array,this.time=0,this.flipX=!1,this.flipY=!1,this.x=0,this.y=0,null==e)throw new Error("data cannot be null.");this.data=e,this.bones=new Array;for(var i=0;i<e.bones.length;i++){var n=e.bones[i],r=void 0;if(null==n.parent)r=new t.Bone(n,this,null);else{var s=this.bones[n.parent.index];r=new t.Bone(n,this,s),s.children.push(r)}this.bones.push(r)}this.slots=new Array,this.drawOrder=new Array;for(i=0;i<e.slots.length;i++){var a=e.slots[i],o=(r=this.bones[a.boneData.index],new t.Slot(a,r));this.slots.push(o),this.drawOrder.push(o)}this.ikConstraints=new Array;for(i=0;i<e.ikConstraints.length;i++){var h=e.ikConstraints[i];this.ikConstraints.push(new t.IkConstraint(h,this))}this.transformConstraints=new Array;for(i=0;i<e.transformConstraints.length;i++){var l=e.transformConstraints[i];this.transformConstraints.push(new t.TransformConstraint(l,this))}this.pathConstraints=new Array;for(i=0;i<e.pathConstraints.length;i++){var c=e.pathConstraints[i];this.pathConstraints.push(new t.PathConstraint(c,this))}this.color=new t.Color(1,1,1,1),this.updateCache()}return e.prototype.updateCache=function(){this._updateCache.length=0,this.updateCacheReset.length=0;for(var t=this.bones,e=0,i=t.length;e<i;e++)t[e].sorted=!1;var n=this.ikConstraints,r=this.transformConstraints,s=this.pathConstraints,a=n.length,o=r.length,h=s.length,l=a+o+h;t:for(e=0;e<l;e++){for(var c=0;c<a;c++){if((u=n[c]).data.order==e){this.sortIkConstraint(u);continue t}}for(c=0;c<o;c++){if((u=r[c]).data.order==e){this.sortTransformConstraint(u);continue t}}for(c=0;c<h;c++){var u;if((u=s[c]).data.order==e){this.sortPathConstraint(u);continue t}}}for(e=0,i=t.length;e<i;e++)this.sortBone(t[e])},e.prototype.sortIkConstraint=function(t){var e=t.target;this.sortBone(e);var i=t.bones,n=i[0];if(this.sortBone(n),i.length>1){var r=i[i.length-1];this._updateCache.indexOf(r)>-1||this.updateCacheReset.push(r)}this._updateCache.push(t),this.sortReset(n.children),i[i.length-1].sorted=!0},e.prototype.sortPathConstraint=function(e){var i=e.target,n=i.data.index,r=i.bone;null!=this.skin&&this.sortPathConstraintAttachment(this.skin,n,r),null!=this.data.defaultSkin&&this.data.defaultSkin!=this.skin&&this.sortPathConstraintAttachment(this.data.defaultSkin,n,r);for(var s=0,a=this.data.skins.length;s<a;s++)this.sortPathConstraintAttachment(this.data.skins[s],n,r);var o=i.getAttachment();o instanceof t.PathAttachment&&this.sortPathConstraintAttachmentWith(o,r);var h=e.bones,l=h.length;for(s=0;s<l;s++)this.sortBone(h[s]);this._updateCache.push(e);for(s=0;s<l;s++)this.sortReset(h[s].children);for(s=0;s<l;s++)h[s].sorted=!0},e.prototype.sortTransformConstraint=function(t){this.sortBone(t.target);var e=t.bones,i=e.length;if(t.data.local)for(var n=0;n<i;n++){var r=e[n];this.sortBone(r.parent),this._updateCache.indexOf(r)>-1||this.updateCacheReset.push(r)}else for(n=0;n<i;n++)this.sortBone(e[n]);this._updateCache.push(t);for(var s=0;s<i;s++)this.sortReset(e[s].children);for(s=0;s<i;s++)e[s].sorted=!0},e.prototype.sortPathConstraintAttachment=function(t,e,i){var n=t.attachments[e];if(n)for(var r in n)this.sortPathConstraintAttachmentWith(n[r],i)},e.prototype.sortPathConstraintAttachmentWith=function(e,i){if(e instanceof t.PathAttachment){var n=e.bones;if(null==n)this.sortBone(i);else for(var r=this.bones,s=0;s<n.length;)for(var a=n[s++],o=s+a;s<o;s++){var h=n[s];this.sortBone(r[h])}}},e.prototype.sortBone=function(t){if(!t.sorted){var e=t.parent;null!=e&&this.sortBone(e),t.sorted=!0,this._updateCache.push(t)}},e.prototype.sortReset=function(t){for(var e=0,i=t.length;e<i;e++){var n=t[e];n.sorted&&this.sortReset(n.children),n.sorted=!1}},e.prototype.updateWorldTransform=function(){for(var t=this.updateCacheReset,e=0,i=t.length;e<i;e++){var n=t[e];n.ax=n.x,n.ay=n.y,n.arotation=n.rotation,n.ascaleX=n.scaleX,n.ascaleY=n.scaleY,n.ashearX=n.shearX,n.ashearY=n.shearY,n.appliedValid=!0}var r=this._updateCache;for(e=0,i=r.length;e<i;e++)r[e].update()},e.prototype.setToSetupPose=function(){this.setBonesToSetupPose(),this.setSlotsToSetupPose()},e.prototype.setBonesToSetupPose=function(){for(var t=this.bones,e=0,i=t.length;e<i;e++)t[e].setToSetupPose();var n=this.ikConstraints;for(e=0,i=n.length;e<i;e++){(o=n[e]).bendDirection=o.data.bendDirection,o.mix=o.data.mix}var r=this.transformConstraints;for(e=0,i=r.length;e<i;e++){var s=(o=r[e]).data;o.rotateMix=s.rotateMix,o.translateMix=s.translateMix,o.scaleMix=s.scaleMix,o.shearMix=s.shearMix}var a=this.pathConstraints;for(e=0,i=a.length;e<i;e++){var o;s=(o=a[e]).data;o.position=s.position,o.spacing=s.spacing,o.rotateMix=s.rotateMix,o.translateMix=s.translateMix}},e.prototype.setSlotsToSetupPose=function(){var e=this.slots;t.Utils.arrayCopy(e,0,this.drawOrder,0,e.length);for(var i=0,n=e.length;i<n;i++)e[i].setToSetupPose()},e.prototype.getRootBone=function(){return 0==this.bones.length?null:this.bones[0]},e.prototype.findBone=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,i=0,n=e.length;i<n;i++){var r=e[i];if(r.data.name==t)return r}return null},e.prototype.findBoneIndex=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,i=0,n=e.length;i<n;i++)if(e[i].data.name==t)return i;return-1},e.prototype.findSlot=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,i=0,n=e.length;i<n;i++){var r=e[i];if(r.data.name==t)return r}return null},e.prototype.findSlotIndex=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,i=0,n=e.length;i<n;i++)if(e[i].data.name==t)return i;return-1},e.prototype.setSkinByName=function(t){var e=this.data.findSkin(t);if(null==e)throw new Error("Skin not found: "+t);this.setSkin(e)},e.prototype.setSkin=function(t){if(null!=t)if(null!=this.skin)t.attachAll(this,this.skin);else for(var e=this.slots,i=0,n=e.length;i<n;i++){var r=e[i],s=r.data.attachmentName;if(null!=s){var a=t.getAttachment(i,s);null!=a&&r.setAttachment(a)}}this.skin=t},e.prototype.getAttachmentByName=function(t,e){return this.getAttachment(this.data.findSlotIndex(t),e)},e.prototype.getAttachment=function(t,e){if(null==e)throw new Error("attachmentName cannot be null.");if(null!=this.skin){var i=this.skin.getAttachment(t,e);if(null!=i)return i}return null!=this.data.defaultSkin?this.data.defaultSkin.getAttachment(t,e):null},e.prototype.setAttachment=function(t,e){if(null==t)throw new Error("slotName cannot be null.");for(var i=this.slots,n=0,r=i.length;n<r;n++){var s=i[n];if(s.data.name==t){var a=null;if(null!=e&&null==(a=this.getAttachment(n,e)))throw new Error("Attachment not found: "+e+", for slot: "+t);return void s.setAttachment(a)}}throw new Error("Slot not found: "+t)},e.prototype.findIkConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,i=0,n=e.length;i<n;i++){var r=e[i];if(r.data.name==t)return r}return null},e.prototype.findTransformConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,i=0,n=e.length;i<n;i++){var r=e[i];if(r.data.name==t)return r}return null},e.prototype.findPathConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,i=0,n=e.length;i<n;i++){var r=e[i];if(r.data.name==t)return r}return null},e.prototype.getBounds=function(e,i,n){if(null==e)throw new Error("offset cannot be null.");if(null==i)throw new Error("size cannot be null.");for(var r=this.drawOrder,s=Number.POSITIVE_INFINITY,a=Number.POSITIVE_INFINITY,o=Number.NEGATIVE_INFINITY,h=Number.NEGATIVE_INFINITY,l=0,c=r.length;l<c;l++){var u=r[l],_=0,f=null,m=u.getAttachment();if(m instanceof t.RegionAttachment)_=8,f=t.Utils.setArraySize(n,_,0),m.computeWorldVertices(u.bone,f,0,2);else if(m instanceof t.MeshAttachment){var d=m;_=d.worldVerticesLength,f=t.Utils.setArraySize(n,_,0),d.computeWorldVertices(u,0,_,f,0,2)}if(null!=f)for(var p=0,y=f.length;p<y;p+=2){var v=f[p],g=f[p+1];s=Math.min(s,v),a=Math.min(a,g),o=Math.max(o,v),h=Math.max(h,g)}}e.set(s,a),i.set(o-s,h-a)},e.prototype.update=function(t){this.time+=t},e})();t.Skeleton=e})(n||(n={})),(function(t){var e=(function(){function e(){this.minX=0,this.minY=0,this.maxX=0,this.maxY=0,this.boundingBoxes=new Array,this.polygons=new Array,this.polygonPool=new t.Pool(function(){return t.Utils.newFloatArray(16)})}return e.prototype.update=function(e,i){if(null==e)throw new Error("skeleton cannot be null.");var n=this.boundingBoxes,r=this.polygons,s=this.polygonPool,a=e.slots,o=a.length;n.length=0,s.freeAll(r),r.length=0;for(var h=0;h<o;h++){var l=a[h],c=l.getAttachment();if(c instanceof t.BoundingBoxAttachment){var u=c;n.push(u);var _=s.obtain();_.length!=u.worldVerticesLength&&(_=t.Utils.newFloatArray(u.worldVerticesLength)),r.push(_),u.computeWorldVertices(l,0,u.worldVerticesLength,_,0,2)}}i?this.aabbCompute():(this.minX=Number.POSITIVE_INFINITY,this.minY=Number.POSITIVE_INFINITY,this.maxX=Number.NEGATIVE_INFINITY,this.maxY=Number.NEGATIVE_INFINITY)},e.prototype.aabbCompute=function(){for(var t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,i=Number.NEGATIVE_INFINITY,n=Number.NEGATIVE_INFINITY,r=this.polygons,s=0,a=r.length;s<a;s++)for(var o=r[s],h=o,l=0,c=o.length;l<c;l+=2){var u=h[l],_=h[l+1];t=Math.min(t,u),e=Math.min(e,_),i=Math.max(i,u),n=Math.max(n,_)}this.minX=t,this.minY=e,this.maxX=i,this.maxY=n},e.prototype.aabbContainsPoint=function(t,e){return t>=this.minX&&t<=this.maxX&&e>=this.minY&&e<=this.maxY},e.prototype.aabbIntersectsSegment=function(t,e,i,n){var r=this.minX,s=this.minY,a=this.maxX,o=this.maxY;if(t<=r&&i<=r||e<=s&&n<=s||t>=a&&i>=a||e>=o&&n>=o)return!1;var h=(n-e)/(i-t),l=h*(r-t)+e;if(l>s&&l<o)return!0;if((l=h*(a-t)+e)>s&&l<o)return!0;var c=(s-e)/h+t;return c>r&&c<a||(c=(o-e)/h+t)>r&&c<a},e.prototype.aabbIntersectsSkeleton=function(t){return this.minX<t.maxX&&this.maxX>t.minX&&this.minY<t.maxY&&this.maxY>t.minY},e.prototype.containsPoint=function(t,e){for(var i=this.polygons,n=0,r=i.length;n<r;n++)if(this.containsPointPolygon(i[n],t,e))return this.boundingBoxes[n];return null},e.prototype.containsPointPolygon=function(t,e,i){for(var n=t,r=t.length,s=r-2,a=!1,o=0;o<r;o+=2){var h=n[o+1],l=n[s+1];if(h<i&&l>=i||l<i&&h>=i){var c=n[o];c+(i-h)/(l-h)*(n[s]-c)<e&&(a=!a)}s=o}return a},e.prototype.intersectsSegment=function(t,e,i,n){for(var r=this.polygons,s=0,a=r.length;s<a;s++)if(this.intersectsSegmentPolygon(r[s],t,e,i,n))return this.boundingBoxes[s];return null},e.prototype.intersectsSegmentPolygon=function(t,e,i,n,r){for(var s=t,a=t.length,o=e-n,h=i-r,l=e*r-i*n,c=s[a-2],u=s[a-1],_=0;_<a;_+=2){var f=s[_],m=s[_+1],d=c*m-u*f,p=c-f,y=u-m,v=o*y-h*p,g=(l*p-o*d)/v;if((g>=c&&g<=f||g>=f&&g<=c)&&(g>=e&&g<=n||g>=n&&g<=e)){var x=(l*y-h*d)/v;if((x>=u&&x<=m||x>=m&&x<=u)&&(x>=i&&x<=r||x>=r&&x<=i))return!0}c=f,u=m}return!1},e.prototype.getPolygon=function(t){if(null==t)throw new Error("boundingBox cannot be null.");var e=this.boundingBoxes.indexOf(t);return-1==e?null:this.polygons[e]},e.prototype.getWidth=function(){return this.maxX-this.minX},e.prototype.getHeight=function(){return this.maxY-this.minY},e})();t.SkeletonBounds=e})(n||(n={})),(function(t){var e=(function(){function e(){this.triangulator=new t.Triangulator,this.clippingPolygon=new Array,this.clipOutput=new Array,this.clippedVertices=new Array,this.clippedTriangles=new Array,this.scratch=new Array}return e.prototype.clipStart=function(i,n){if(null!=this.clipAttachment)return 0;this.clipAttachment=n;var r=n.worldVerticesLength,s=t.Utils.setArraySize(this.clippingPolygon,r);n.computeWorldVertices(i,0,r,s,0,2);var a=this.clippingPolygon;e.makeClockwise(a);for(var o=this.clippingPolygons=this.triangulator.decompose(a,this.triangulator.triangulate(a)),h=0,l=o.length;h<l;h++){var c=o[h];e.makeClockwise(c),c.push(c[0]),c.push(c[1])}return o.length},e.prototype.clipEndWithSlot=function(t){null!=this.clipAttachment&&this.clipAttachment.endSlot==t.data&&this.clipEnd()},e.prototype.clipEnd=function(){null!=this.clipAttachment&&(this.clipAttachment=null,this.clippingPolygons=null,this.clippedVertices.length=0,this.clippedTriangles.length=0,this.clippingPolygon.length=0)},e.prototype.isClipping=function(){return null!=this.clipAttachment},e.prototype.clipTriangles=function(e,i,n,r,s,a,o,h,l,c,u,_){var f=this.clipOutput,m=this.clippedVertices,d=this.clippedTriangles,p=this.clippingPolygons,y=this.clippingPolygons.length,v=h?12:8,g=0;c=c||0,u=u||0,_=_||0,m.length=0,d.length=0;t:for(var x=c,A=c+r;x<A;x+=3){var b=n[x]*l,C=b+u,S=b+_,T=e[C],w=e[C+1],E=s[S],D=s[S+1];S=(b=n[x+1]*l)+_;var M=e[C=b+u],B=e[C+1],P=s[S],I=s[S+1];S=(b=n[x+2]*l)+_;for(var R=e[C=b+u],O=e[C+1],L=s[S],F=s[S+1],V=0;V<y;V++){var N=m.length;if(!this.clip(T,w,M,B,R,O,p[V],f)){(Y=t.Utils.setArraySize(m,N+3*v))[N]=T,Y[N+1]=w,Y[N+2]=a.r,Y[N+3]=a.g,Y[N+4]=a.b,Y[N+5]=a.a,h?(Y[N+6]=E,Y[N+7]=D,Y[N+8]=o.r,Y[N+9]=o.g,Y[N+10]=o.b,Y[N+11]=o.a,Y[N+12]=M,Y[N+13]=B,Y[N+14]=a.r,Y[N+15]=a.g,Y[N+16]=a.b,Y[N+17]=a.a,Y[N+18]=P,Y[N+19]=I,Y[N+20]=o.r,Y[N+21]=o.g,Y[N+22]=o.b,Y[N+23]=o.a,Y[N+24]=R,Y[N+25]=O,Y[N+26]=a.r,Y[N+27]=a.g,Y[N+28]=a.b,Y[N+29]=a.a,Y[N+30]=L,Y[N+31]=F,Y[N+32]=o.r,Y[N+33]=o.g,Y[N+34]=o.b,Y[N+35]=o.a):(Y[N+6]=E,Y[N+7]=D,Y[N+8]=M,Y[N+9]=B,Y[N+10]=a.r,Y[N+11]=a.g,Y[N+12]=a.b,Y[N+13]=a.a,Y[N+14]=P,Y[N+15]=I,Y[N+16]=R,Y[N+17]=O,Y[N+18]=a.r,Y[N+19]=a.g,Y[N+20]=a.b,Y[N+21]=a.a,Y[N+22]=L,Y[N+23]=F),N=d.length,(it=t.Utils.setArraySize(d,N+3))[N]=g,it[N+1]=g+1,it[N+2]=g+2,g+=3;continue t}var k=f.length;if(0!=k){for(var G=B-O,z=R-M,U=T-R,j=O-w,W=1/(G*U+z*(w-O)),H=k>>1,X=this.clipOutput,Y=t.Utils.setArraySize(m,N+H*v),q=0;q<k;q+=2){var J=X[q],Z=X[q+1];Y[N]=J,Y[N+1]=Z,Y[N+2]=a.r,Y[N+3]=a.g,Y[N+4]=a.b,Y[N+5]=a.a;var K=J-R,Q=Z-O,$=(G*K+z*Q)*W,tt=(j*K+U*Q)*W,et=1-$-tt;Y[N+6]=E*$+P*tt+L*et,Y[N+7]=D*$+I*tt+F*et,h&&(Y[N+8]=o.r,Y[N+9]=o.g,Y[N+10]=o.b,Y[N+11]=o.a),N+=v}N=d.length;var it=t.Utils.setArraySize(d,N+3*(H-2));H--;for(q=1;q<H;q++)it[N]=g,it[N+1]=g+q,it[N+2]=g+q+1,N+=3;g+=H+1}}}},e.prototype.clip=function(t,e,i,n,r,s,a,o){var h=o,l=!1,c=null;a.length%4>=2?(c=o,o=this.scratch):c=this.scratch,c.length=0,c.push(t),c.push(e),c.push(i),c.push(n),c.push(r),c.push(s),c.push(t),c.push(e),o.length=0;for(var u=a,_=a.length-4,f=0;;f+=2){for(var m=u[f],d=u[f+1],p=u[f+2],y=u[f+3],v=m-p,g=d-y,x=c,A=c.length-2,b=o.length,C=0;C<A;C+=2){var S=x[C],T=x[C+1],w=x[C+2],E=x[C+3],D=v*(E-y)-g*(w-p)>0;if(v*(T-y)-g*(S-p)>0){if(D){o.push(w),o.push(E);continue}var M=((P=w-S)*(d-T)-(B=E-T)*(m-S))/(B*(p-m)-P*(y-d));o.push(m+(p-m)*M),o.push(d+(y-d)*M)}else if(D){var B,P;M=((P=w-S)*(d-T)-(B=E-T)*(m-S))/(B*(p-m)-P*(y-d));o.push(m+(p-m)*M),o.push(d+(y-d)*M),o.push(w),o.push(E)}l=!0}if(b==o.length)return h.length=0,!0;if(o.push(o[0]),o.push(o[1]),f==_)break;var I=o;(o=c).length=0,c=I}if(h!=o){h.length=0;f=0;for(var R=o.length-2;f<R;f++)h[f]=o[f]}else h.length=h.length-2;return l},e.makeClockwise=function(t){for(var e=t,i=t.length,n=e[i-2]*e[1]-e[0]*e[i-1],r=0,s=0,a=0,o=0,h=i-3;o<h;o+=2)r=e[o],s=e[o+1],a=e[o+2],n+=r*e[o+3]-a*s;if(!(n<0)){o=0;var l=i-2;for(h=i>>1;o<h;o+=2){var c=e[o],u=e[o+1],_=l-o;e[o]=e[_],e[o+1]=e[_+1],e[_]=c,e[_+1]=u}}},e})();t.SkeletonClipping=e})(n||(n={})),(function(t){var e=(function(){function t(){this.bones=new Array,this.slots=new Array,this.skins=new Array,this.events=new Array,this.animations=new Array,this.ikConstraints=new Array,this.transformConstraints=new Array,this.pathConstraints=new Array,this.fps=0}return t.prototype.findBone=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findBoneIndex=function(t){if(null==t)throw new Error("boneName cannot be null.");for(var e=this.bones,i=0,n=e.length;i<n;i++)if(e[i].name==t)return i;return-1},t.prototype.findSlot=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findSlotIndex=function(t){if(null==t)throw new Error("slotName cannot be null.");for(var e=this.slots,i=0,n=e.length;i<n;i++)if(e[i].name==t)return i;return-1},t.prototype.findSkin=function(t){if(null==t)throw new Error("skinName cannot be null.");for(var e=this.skins,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findEvent=function(t){if(null==t)throw new Error("eventDataName cannot be null.");for(var e=this.events,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findAnimation=function(t){if(null==t)throw new Error("animationName cannot be null.");for(var e=this.animations,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findIkConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.ikConstraints,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findTransformConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.transformConstraints,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findPathConstraint=function(t){if(null==t)throw new Error("constraintName cannot be null.");for(var e=this.pathConstraints,i=0,n=e.length;i<n;i++){var r=e[i];if(r.name==t)return r}return null},t.prototype.findPathConstraintIndex=function(t){if(null==t)throw new Error("pathConstraintName cannot be null.");for(var e=this.pathConstraints,i=0,n=e.length;i<n;i++)if(e[i].name==t)return i;return-1},t})();t.SkeletonData=e})(n||(n={})),(function(t){var e=(function(){function e(t){this.scale=1,this.linkedMeshes=new Array,this.attachmentLoader=t}return e.prototype.readSkeletonData=function(i){var n=this.scale,r=new t.SkeletonData,s="string"==typeof i?JSON.parse(i):i,a=s.skeleton;if(null!=a&&(r.hash=a.hash,r.version=a.spine,r.width=a.width,r.height=a.height,r.fps=a.fps,r.imagesPath=a.images),s.bones)for(var o=0;o<s.bones.length;o++){var h=s.bones[o],l=null,c=this.getValue(h,"parent",null);if(null!=c&&null==(l=r.findBone(c)))throw new Error("Parent bone not found: "+c);(m=new t.BoneData(r.bones.length,h.name,l)).length=this.getValue(h,"length",0)*n,m.x=this.getValue(h,"x",0)*n,m.y=this.getValue(h,"y",0)*n,m.rotation=this.getValue(h,"rotation",0),m.scaleX=this.getValue(h,"scaleX",1),m.scaleY=this.getValue(h,"scaleY",1),m.shearX=this.getValue(h,"shearX",0),m.shearY=this.getValue(h,"shearY",0),m.transformMode=e.transformModeFromString(this.getValue(h,"transform","normal")),r.bones.push(m)}if(s.slots)for(o=0;o<s.slots.length;o++){var u=(T=s.slots[o]).name,_=T.bone,f=r.findBone(_);if(null==f)throw new Error("Slot bone not found: "+_);var m=new t.SlotData(r.slots.length,u,f),d=this.getValue(T,"color",null);null!=d&&m.color.setFromString(d);var p=this.getValue(T,"dark",null);null!=p&&(m.darkColor=new t.Color(1,1,1,1),m.darkColor.setFromString(p)),m.attachmentName=this.getValue(T,"attachment",null),m.blendMode=e.blendModeFromString(this.getValue(T,"blend","normal")),r.slots.push(m)}if(s.ik)for(o=0;o<s.ik.length;o++){var y=s.ik[o];(m=new t.IkConstraintData(y.name)).order=this.getValue(y,"order",0);for(var v=0;v<y.bones.length;v++){_=y.bones[v];if(null==(x=r.findBone(_)))throw new Error("IK bone not found: "+_);m.bones.push(x)}var g=y.target;if(m.target=r.findBone(g),null==m.target)throw new Error("IK target bone not found: "+g);m.bendDirection=this.getValue(y,"bendPositive",!0)?1:-1,m.mix=this.getValue(y,"mix",1),r.ikConstraints.push(m)}if(s.transform)for(o=0;o<s.transform.length;o++){y=s.transform[o];(m=new t.TransformConstraintData(y.name)).order=this.getValue(y,"order",0);for(v=0;v<y.bones.length;v++){_=y.bones[v];if(null==(x=r.findBone(_)))throw new Error("Transform constraint bone not found: "+_);m.bones.push(x)}g=y.target;if(m.target=r.findBone(g),null==m.target)throw new Error("Transform constraint target bone not found: "+g);m.local=this.getValue(y,"local",!1),m.relative=this.getValue(y,"relative",!1),m.offsetRotation=this.getValue(y,"rotation",0),m.offsetX=this.getValue(y,"x",0)*n,m.offsetY=this.getValue(y,"y",0)*n,m.offsetScaleX=this.getValue(y,"scaleX",0),m.offsetScaleY=this.getValue(y,"scaleY",0),m.offsetShearY=this.getValue(y,"shearY",0),m.rotateMix=this.getValue(y,"rotateMix",1),m.translateMix=this.getValue(y,"translateMix",1),m.scaleMix=this.getValue(y,"scaleMix",1),m.shearMix=this.getValue(y,"shearMix",1),r.transformConstraints.push(m)}if(s.path)for(o=0;o<s.path.length;o++){y=s.path[o];(m=new t.PathConstraintData(y.name)).order=this.getValue(y,"order",0);for(v=0;v<y.bones.length;v++){var x;_=y.bones[v];if(null==(x=r.findBone(_)))throw new Error("Transform constraint bone not found: "+_);m.bones.push(x)}g=y.target;if(m.target=r.findSlot(g),null==m.target)throw new Error("Path target slot not found: "+g);m.positionMode=e.positionModeFromString(this.getValue(y,"positionMode","percent")),m.spacingMode=e.spacingModeFromString(this.getValue(y,"spacingMode","length")),m.rotateMode=e.rotateModeFromString(this.getValue(y,"rotateMode","tangent")),m.offsetRotation=this.getValue(y,"rotation",0),m.position=this.getValue(y,"position",0),m.positionMode==t.PositionMode.Fixed&&(m.position*=n),m.spacing=this.getValue(y,"spacing",0),m.spacingMode!=t.SpacingMode.Length&&m.spacingMode!=t.SpacingMode.Fixed||(m.spacing*=n),m.rotateMix=this.getValue(y,"rotateMix",1),m.translateMix=this.getValue(y,"translateMix",1),r.pathConstraints.push(m)}if(s.skins)for(var A in s.skins){var b=s.skins[A],C=new t.Skin(A);for(var u in b){var S=r.findSlotIndex(u);if(-1==S)throw new Error("Slot not found: "+u);var T=b[u];for(var w in T){var E=this.readAttachment(T[w],C,S,w,r);null!=E&&C.addAttachment(S,w,E)}}r.skins.push(C),"default"==C.name&&(r.defaultSkin=C)}o=0;for(var D=this.linkedMeshes.length;o<D;o++){var M=this.linkedMeshes[o];if(null==(C=null==M.skin?r.defaultSkin:r.findSkin(M.skin)))throw new Error("Skin not found: "+M.skin);var B=C.getAttachment(M.slotIndex,M.parent);if(null==B)throw new Error("Parent mesh not found: "+M.parent);M.mesh.setParentMesh(B),M.mesh.updateUVs()}if(this.linkedMeshes.length=0,s.events)for(var P in s.events){var I=s.events[P];(m=new t.EventData(P)).intValue=this.getValue(I,"int",0),m.floatValue=this.getValue(I,"float",0),m.stringValue=this.getValue(I,"string",""),r.events.push(m)}if(s.animations)for(var R in s.animations){var O=s.animations[R];this.readAnimation(O,R,r)}return r},e.prototype.readAttachment=function(e,n,r,s,a){var o=this.scale;switch(s=this.getValue(e,"name",s),this.getValue(e,"type","region")){case"region":var h=this.getValue(e,"path",s),l=this.attachmentLoader.newRegionAttachment(n,s,h);return null==l?null:(l.path=h,l.x=this.getValue(e,"x",0)*o,l.y=this.getValue(e,"y",0)*o,l.scaleX=this.getValue(e,"scaleX",1),l.scaleY=this.getValue(e,"scaleY",1),l.rotation=this.getValue(e,"rotation",0),l.width=e.width*o,l.height=e.height*o,null!=(A=this.getValue(e,"color",null))&&l.color.setFromString(A),l.updateOffset(),l);case"boundingbox":var c=this.attachmentLoader.newBoundingBoxAttachment(n,s);return null==c?null:(this.readVertices(e,c,e.vertexCount<<1),null!=(A=this.getValue(e,"color",null))&&c.color.setFromString(A),c);case"mesh":case"linkedmesh":h=this.getValue(e,"path",s);var u=this.attachmentLoader.newMeshAttachment(n,s,h);if(null==u)return null;u.path=h,null!=(A=this.getValue(e,"color",null))&&u.color.setFromString(A);var _=this.getValue(e,"parent",null);if(null!=_)return u.inheritDeform=this.getValue(e,"deform",!0),this.linkedMeshes.push(new i(u,this.getValue(e,"skin",null),r,_)),u;var f=e.uvs;return this.readVertices(e,u,f.length),u.triangles=e.triangles,u.regionUVs=f,u.updateUVs(),u.hullLength=2*this.getValue(e,"hull",0),u;case"path":if(null==(h=this.attachmentLoader.newPathAttachment(n,s)))return null;h.closed=this.getValue(e,"closed",!1),h.constantSpeed=this.getValue(e,"constantSpeed",!0);var m=e.vertexCount;this.readVertices(e,h,m<<1);for(var d=t.Utils.newArray(m/3,0),p=0;p<e.lengths.length;p++)d[p]=e.lengths[p]*o;return h.lengths=d,null!=(A=this.getValue(e,"color",null))&&h.color.setFromString(A),h;case"point":var y=this.attachmentLoader.newPointAttachment(n,s);return null==y?null:(y.x=this.getValue(e,"x",0)*o,y.y=this.getValue(e,"y",0)*o,y.rotation=this.getValue(e,"rotation",0),null!=(A=this.getValue(e,"color",null))&&y.color.setFromString(A),y);case"clipping":var v=this.attachmentLoader.newClippingAttachment(n,s);if(null==v)return null;var g=this.getValue(e,"end",null);if(null!=g){var x=a.findSlot(g);if(null==x)throw new Error("Clipping end slot not found: "+g);v.endSlot=x}var A;m=e.vertexCount;return this.readVertices(e,v,m<<1),null!=(A=this.getValue(e,"color",null))&&v.color.setFromString(A),v}return null},e.prototype.readVertices=function(e,i,n){var r=this.scale;i.worldVerticesLength=n;var s=e.vertices;if(n!=s.length){var a=new Array,o=new Array;for(u=0,_=s.length;u<_;){var h=s[u++];o.push(h);for(var l=u+4*h;u<l;u+=4)o.push(s[u]),a.push(s[u+1]*r),a.push(s[u+2]*r),a.push(s[u+3])}i.bones=o,i.vertices=t.Utils.toFloatArray(a)}else{var c=t.Utils.toFloatArray(s);if(1!=r)for(var u=0,_=s.length;u<_;u++)c[u]*=r;i.vertices=c}},e.prototype.readAnimation=function(e,i,n){var r=this.scale,s=new Array,a=0;if(e.slots)for(var o in e.slots){var h=e.slots[o];if(-1==(J=n.findSlotIndex(o)))throw new Error("Slot not found: "+o);for(var l in h){var c=h[l];if("attachment"==l){(x=new t.AttachmentTimeline(c.length)).slotIndex=J;for(var u=0,_=0;_<c.length;_++){var f=c[_];x.setFrame(u++,f.time,f.name)}s.push(x),a=Math.max(a,x.frames[x.getFrameCount()-1])}else if("color"==l){(x=new t.ColorTimeline(c.length)).slotIndex=J;for(u=0,_=0;_<c.length;_++){f=c[_];var m=new t.Color;m.setFromString(f.color),x.setFrame(u,f.time,m.r,m.g,m.b,m.a),this.readCurve(f,x,u),u++}s.push(x),a=Math.max(a,x.frames[(x.getFrameCount()-1)*t.ColorTimeline.ENTRIES])}else{if("twoColor"!=l)throw new Error("Invalid timeline type for a slot: "+l+" ("+o+")");(x=new t.TwoColorTimeline(c.length)).slotIndex=J;for(u=0,_=0;_<c.length;_++){f=c[_];var d=new t.Color,p=new t.Color;d.setFromString(f.light),p.setFromString(f.dark),x.setFrame(u,f.time,d.r,d.g,d.b,d.a,p.r,p.g,p.b),this.readCurve(f,x,u),u++}s.push(x),a=Math.max(a,x.frames[(x.getFrameCount()-1)*t.TwoColorTimeline.ENTRIES])}}}if(e.bones)for(var y in e.bones){var v=e.bones[y],g=n.findBoneIndex(y);if(-1==g)throw new Error("Bone not found: "+y);for(var l in v){c=v[l];if("rotate"===l){(x=new t.RotateTimeline(c.length)).boneIndex=g;for(u=0,_=0;_<c.length;_++){f=c[_];x.setFrame(u,f.time,f.angle),this.readCurve(f,x,u),u++}s.push(x),a=Math.max(a,x.frames[(x.getFrameCount()-1)*t.RotateTimeline.ENTRIES])}else{if("translate"!==l&&"scale"!==l&&"shear"!==l)throw new Error("Invalid timeline type for a bone: "+l+" ("+y+")");var x=null,A=1;"scale"===l?x=new t.ScaleTimeline(c.length):"shear"===l?x=new t.ShearTimeline(c.length):(x=new t.TranslateTimeline(c.length),A=r),x.boneIndex=g;for(u=0,_=0;_<c.length;_++){f=c[_];var b=this.getValue(f,"x",0),C=this.getValue(f,"y",0);x.setFrame(u,f.time,b*A,C*A),this.readCurve(f,x,u),u++}s.push(x),a=Math.max(a,x.frames[(x.getFrameCount()-1)*t.TranslateTimeline.ENTRIES])}}}if(e.ik)for(var S in e.ik){var T=e.ik[S],w=n.findIkConstraint(S);(x=new t.IkConstraintTimeline(T.length)).ikConstraintIndex=n.ikConstraints.indexOf(w);for(u=0,_=0;_<T.length;_++){f=T[_];x.setFrame(u,f.time,this.getValue(f,"mix",1),this.getValue(f,"bendPositive",!0)?1:-1),this.readCurve(f,x,u),u++}s.push(x),a=Math.max(a,x.frames[(x.getFrameCount()-1)*t.IkConstraintTimeline.ENTRIES])}if(e.transform)for(var S in e.transform){T=e.transform[S],w=n.findTransformConstraint(S);(x=new t.TransformConstraintTimeline(T.length)).transformConstraintIndex=n.transformConstraints.indexOf(w);for(u=0,_=0;_<T.length;_++){f=T[_];x.setFrame(u,f.time,this.getValue(f,"rotateMix",1),this.getValue(f,"translateMix",1),this.getValue(f,"scaleMix",1),this.getValue(f,"shearMix",1)),this.readCurve(f,x,u),u++}s.push(x),a=Math.max(a,x.frames[(x.getFrameCount()-1)*t.TransformConstraintTimeline.ENTRIES])}if(e.paths)for(var S in e.paths){T=e.paths[S];var E=n.findPathConstraintIndex(S);if(-1==E)throw new Error("Path constraint not found: "+S);var D=n.pathConstraints[E];for(var l in T){c=T[l];if("position"===l||"spacing"===l){x=null,A=1;"spacing"===l?(x=new t.PathConstraintSpacingTimeline(c.length),D.spacingMode!=t.SpacingMode.Length&&D.spacingMode!=t.SpacingMode.Fixed||(A=r)):(x=new t.PathConstraintPositionTimeline(c.length),D.positionMode==t.PositionMode.Fixed&&(A=r)),x.pathConstraintIndex=E;for(u=0,_=0;_<c.length;_++){f=c[_];x.setFrame(u,f.time,this.getValue(f,l,0)*A),this.readCurve(f,x,u),u++}s.push(x),a=Math.max(a,x.frames[(x.getFrameCount()-1)*t.PathConstraintPositionTimeline.ENTRIES])}else if("mix"===l){(x=new t.PathConstraintMixTimeline(c.length)).pathConstraintIndex=E;for(u=0,_=0;_<c.length;_++){f=c[_];x.setFrame(u,f.time,this.getValue(f,"rotateMix",1),this.getValue(f,"translateMix",1)),this.readCurve(f,x,u),u++}s.push(x),a=Math.max(a,x.frames[(x.getFrameCount()-1)*t.PathConstraintMixTimeline.ENTRIES])}}}if(e.deform)for(var M in e.deform){var B=e.deform[M],P=n.findSkin(M);if(null==P)throw new Error("Skin not found: "+M);for(var o in B){h=B[o];if(-1==(J=n.findSlotIndex(o)))throw new Error("Slot not found: "+h.name);for(var l in h){c=h[l];var I=P.getAttachment(J,l);if(null==I)throw new Error("Deform attachment not found: "+c.name);var R=null!=I.bones,O=I.vertices,L=R?O.length/3*2:O.length;(x=new t.DeformTimeline(c.length)).slotIndex=J,x.attachment=I;u=0;for(var F=0;F<c.length;F++){f=c[F];var V=void 0,N=this.getValue(f,"vertices",null);if(null==N)V=R?t.Utils.newFloatArray(L):O;else{V=t.Utils.newFloatArray(L);var k=this.getValue(f,"offset",0);if(t.Utils.arrayCopy(N,0,V,k,N.length),1!=r)for(var G=(_=k)+N.length;_<G;_++)V[_]*=r;if(!R)for(_=0;_<L;_++)V[_]+=O[_]}x.setFrame(u,f.time,V),this.readCurve(f,x,u),u++}s.push(x),a=Math.max(a,x.frames[x.getFrameCount()-1])}}}var z=e.drawOrder;if(null==z&&(z=e.draworder),null!=z){x=new t.DrawOrderTimeline(z.length);var U=n.slots.length;for(u=0,F=0;F<z.length;F++){var j=z[F],W=null,H=this.getValue(j,"offsets",null);if(null!=H){W=t.Utils.newArray(U,-1);var X=t.Utils.newArray(U-H.length,0),Y=0,q=0;for(_=0;_<H.length;_++){var J,Z=H[_];if(-1==(J=n.findSlotIndex(Z.slot)))throw new Error("Slot not found: "+Z.slot);for(;Y!=J;)X[q++]=Y++;W[Y+Z.offset]=Y++}for(;Y<U;)X[q++]=Y++;for(_=U-1;_>=0;_--)-1==W[_]&&(W[_]=X[--q])}x.setFrame(u++,j.time,W)}s.push(x),a=Math.max(a,x.frames[x.getFrameCount()-1])}if(e.events){for(x=new t.EventTimeline(e.events.length),u=0,_=0;_<e.events.length;_++){var K=e.events[_],Q=n.findEvent(K.name);if(null==Q)throw new Error("Event not found: "+K.name);var $=new t.Event(t.Utils.toSinglePrecision(K.time),Q);$.intValue=this.getValue(K,"int",Q.intValue),$.floatValue=this.getValue(K,"float",Q.floatValue),$.stringValue=this.getValue(K,"string",Q.stringValue),x.setFrame(u++,$)}s.push(x),a=Math.max(a,x.frames[x.getFrameCount()-1])}if(isNaN(a))throw new Error("Error while parsing animation, duration is NaN");n.animations.push(new t.Animation(i,s,a))},e.prototype.readCurve=function(t,e,i){if(t.curve)if("stepped"===t.curve)e.setStepped(i);else if("[object Array]"===Object.prototype.toString.call(t.curve)){var n=t.curve;e.setCurve(i,n[0],n[1],n[2],n[3])}},e.prototype.getValue=function(t,e,i){return void 0!==t[e]?t[e]:i},e.blendModeFromString=function(e){if("normal"==(e=e.toLowerCase()))return t.BlendMode.Normal;if("additive"==e)return t.BlendMode.Additive;if("multiply"==e)return t.BlendMode.Multiply;if("screen"==e)return t.BlendMode.Screen;throw new Error("Unknown blend mode: "+e)},e.positionModeFromString=function(e){if("fixed"==(e=e.toLowerCase()))return t.PositionMode.Fixed;if("percent"==e)return t.PositionMode.Percent;throw new Error("Unknown position mode: "+e)},e.spacingModeFromString=function(e){if("length"==(e=e.toLowerCase()))return t.SpacingMode.Length;if("fixed"==e)return t.SpacingMode.Fixed;if("percent"==e)return t.SpacingMode.Percent;throw new Error("Unknown position mode: "+e)},e.rotateModeFromString=function(e){if("tangent"==(e=e.toLowerCase()))return t.RotateMode.Tangent;if("chain"==e)return t.RotateMode.Chain;if("chainscale"==e)return t.RotateMode.ChainScale;throw new Error("Unknown rotate mode: "+e)},e.transformModeFromString=function(e){if("normal"==(e=e.toLowerCase()))return t.TransformMode.Normal;if("onlytranslation"==e)return t.TransformMode.OnlyTranslation;if("norotationorreflection"==e)return t.TransformMode.NoRotationOrReflection;if("noscale"==e)return t.TransformMode.NoScale;if("noscaleorreflection"==e)return t.TransformMode.NoScaleOrReflection;throw new Error("Unknown transform mode: "+e)},e})();t.SkeletonJson=e;var i=(function(){return function(t,e,i,n){this.mesh=t,this.skin=e,this.slotIndex=i,this.parent=n}})()})(n||(n={})),(function(t){var e=(function(){function t(t){if(this.attachments=new Array,null==t)throw new Error("name cannot be null.");this.name=t}return t.prototype.addAttachment=function(t,e,i){if(null==i)throw new Error("attachment cannot be null.");var n=this.attachments;t>=n.length&&(n.length=t+1),n[t]||(n[t]={}),n[t][e]=i},t.prototype.getAttachment=function(t,e){var i=this.attachments[t];return i?i[e]:null},t.prototype.attachAll=function(t,e){for(var i=0,n=0;n<t.slots.length;n++){var r=t.slots[n],s=r.getAttachment();if(s&&i<e.attachments.length){var a=e.attachments[i];for(var o in a){if(s==a[o]){var h=this.getAttachment(i,o);null!=h&&r.setAttachment(h);break}}}i++}},t})();t.Skin=e})(n||(n={})),(function(t){var e=(function(){function e(e,i){if(this.attachmentVertices=new Array,null==e)throw new Error("data cannot be null.");if(null==i)throw new Error("bone cannot be null.");this.data=e,this.bone=i,this.color=new t.Color,this.darkColor=null==e.darkColor?null:new t.Color,this.setToSetupPose()}return e.prototype.getAttachment=function(){return this.attachment},e.prototype.setAttachment=function(t){this.attachment!=t&&(this.attachment=t,this.attachmentTime=this.bone.skeleton.time,this.attachmentVertices.length=0)},e.prototype.setAttachmentTime=function(t){this.attachmentTime=this.bone.skeleton.time-t},e.prototype.getAttachmentTime=function(){return this.bone.skeleton.time-this.attachmentTime},e.prototype.setToSetupPose=function(){this.color.setFromColor(this.data.color),null!=this.darkColor&&this.darkColor.setFromColor(this.data.darkColor),null==this.data.attachmentName?this.attachment=null:(this.attachment=null,this.setAttachment(this.bone.skeleton.getAttachment(this.data.index,this.data.attachmentName)))},e})();t.Slot=e})(n||(n={})),(function(t){var e=(function(){return function(e,i,n){if(this.color=new t.Color(1,1,1,1),e<0)throw new Error("index must be >= 0.");if(null==i)throw new Error("name cannot be null.");if(null==n)throw new Error("boneData cannot be null.");this.index=e,this.name=i,this.boneData=n}})();t.SlotData=e})(n||(n={})),(function(t){var e,i,n=(function(){function t(t){this._image=t}return t.prototype.getImage=function(){return this._image},t.filterFromString=function(t){switch(t.toLowerCase()){case"nearest":return e.Nearest;case"linear":return e.Linear;case"mipmap":return e.MipMap;case"mipmapnearestnearest":return e.MipMapNearestNearest;case"mipmaplinearnearest":return e.MipMapLinearNearest;case"mipmapnearestlinear":return e.MipMapNearestLinear;case"mipmaplinearlinear":return e.MipMapLinearLinear;default:throw new Error("Unknown texture filter "+t)}},t.wrapFromString=function(t){switch(t.toLowerCase()){case"mirroredtepeat":return i.MirroredRepeat;case"clamptoedge":return i.ClampToEdge;case"repeat":return i.Repeat;default:throw new Error("Unknown texture wrap "+t)}},t})();t.Texture=n,(function(t){t[t.Nearest=9728]="Nearest",t[t.Linear=9729]="Linear",t[t.MipMap=9987]="MipMap",t[t.MipMapNearestNearest=9984]="MipMapNearestNearest",t[t.MipMapLinearNearest=9985]="MipMapLinearNearest",t[t.MipMapNearestLinear=9986]="MipMapNearestLinear",t[t.MipMapLinearLinear=9987]="MipMapLinearLinear"})(e=t.TextureFilter||(t.TextureFilter={})),(function(t){t[t.MirroredRepeat=33648]="MirroredRepeat",t[t.ClampToEdge=33071]="ClampToEdge",t[t.Repeat=10497]="Repeat"})(i=t.TextureWrap||(t.TextureWrap={}));var s=(function(){return function(){this.u=0,this.v=0,this.u2=0,this.v2=0,this.width=0,this.height=0,this.rotate=!1,this.offsetX=0,this.offsetY=0,this.originalWidth=0,this.originalHeight=0}})();t.TextureRegion=s;var a=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e.prototype.setFilters=function(t,e){},e.prototype.setWraps=function(t,e){},e.prototype.dispose=function(){},e})(t.Texture);t.FakeTexture=a})(n||(n={})),(function(t){var e=(function(){function e(t,e){this.pages=new Array,this.regions=new Array,this.load(t,e)}return e.prototype.load=function(e,r){if(null==r)throw new Error("textureLoader cannot be null.");for(var a=new i(e),o=new Array(4),h=null;;){var l=a.readLine();if(null==l)break;if(0==(l=l.trim()).length)h=null;else if(h){var c=new s;c.name=l,c.page=h,c.rotate="true"==a.readValue(),a.readTuple(o);var u=parseInt(o[0]),_=parseInt(o[1]);a.readTuple(o);var f=parseInt(o[0]),m=parseInt(o[1]);c.u=u/h.width,c.v=_/h.height,c.rotate?(c.u2=(u+m)/h.width,c.v2=(_+f)/h.height):(c.u2=(u+f)/h.width,c.v2=(_+m)/h.height),c.x=u,c.y=_,c.width=Math.abs(f),c.height=Math.abs(m),4==a.readTuple(o)&&4==a.readTuple(o)&&a.readTuple(o),c.originalWidth=parseInt(o[0]),c.originalHeight=parseInt(o[1]),a.readTuple(o),c.offsetX=parseInt(o[0]),c.offsetY=parseInt(o[1]),c.index=parseInt(a.readValue()),c.texture=h.texture,this.regions.push(c)}else{(h=new n).name=l,2==a.readTuple(o)&&(h.width=parseInt(o[0]),h.height=parseInt(o[1]),a.readTuple(o)),a.readTuple(o),h.minFilter=t.Texture.filterFromString(o[0]),h.magFilter=t.Texture.filterFromString(o[1]);var d=a.readValue();h.uWrap=t.TextureWrap.ClampToEdge,h.vWrap=t.TextureWrap.ClampToEdge,"x"==d?h.uWrap=t.TextureWrap.Repeat:"y"==d?h.vWrap=t.TextureWrap.Repeat:"xy"==d&&(h.uWrap=h.vWrap=t.TextureWrap.Repeat),h.texture=r(l),h.texture.setFilters(h.minFilter,h.magFilter),h.texture.setWraps(h.uWrap,h.vWrap),h.width=h.texture.getImage().width,h.height=h.texture.getImage().height,this.pages.push(h)}}},e.prototype.findRegion=function(t){for(var e=0;e<this.regions.length;e++)if(this.regions[e].name==t)return this.regions[e];return null},e.prototype.dispose=function(){for(var t=0;t<this.pages.length;t++)this.pages[t].texture.dispose()},e})();t.TextureAtlas=e;var i=(function(){function t(t){this.index=0,this.lines=t.split(/\r\n|\r|\n/)}return t.prototype.readLine=function(){return this.index>=this.lines.length?null:this.lines[this.index++]},t.prototype.readValue=function(){var t=this.readLine(),e=t.indexOf(":");if(-1==e)throw new Error("Invalid line: "+t);return t.substring(e+1).trim()},t.prototype.readTuple=function(t){var e=this.readLine(),i=e.indexOf(":");if(-1==i)throw new Error("Invalid line: "+e);for(var n=0,r=i+1;n<3;n++){var s=e.indexOf(",",r);if(-1==s)break;t[n]=e.substr(r,s-r).trim(),r=s+1}return t[n]=e.substring(r).trim(),n+1},t})(),n=(function(){return function(){}})();t.TextureAtlasPage=n;var s=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return r(e,t),e})(t.TextureRegion);t.TextureAtlasRegion=s})(n||(n={})),(function(t){var e=(function(){function e(e,i){if(this.rotateMix=0,this.translateMix=0,this.scaleMix=0,this.shearMix=0,this.temp=new t.Vector2,null==e)throw new Error("data cannot be null.");if(null==i)throw new Error("skeleton cannot be null.");this.data=e,this.rotateMix=e.rotateMix,this.translateMix=e.translateMix,this.scaleMix=e.scaleMix,this.shearMix=e.shearMix,this.bones=new Array;for(var n=0;n<e.bones.length;n++)this.bones.push(i.findBone(e.bones[n].name));this.target=i.findBone(e.target.name)}return e.prototype.apply=function(){this.update()},e.prototype.update=function(){this.data.local?this.data.relative?this.applyRelativeLocal():this.applyAbsoluteLocal():this.data.relative?this.applyRelativeWorld():this.applyAbsoluteWorld()},e.prototype.applyAbsoluteWorld=function(){for(var e=this.rotateMix,i=this.translateMix,n=this.scaleMix,r=this.shearMix,s=this.target,a=s.a,o=s.b,h=s.c,l=s.d,c=a*l-o*h>0?t.MathUtils.degRad:-t.MathUtils.degRad,u=this.data.offsetRotation*c,_=this.data.offsetShearY*c,f=this.bones,m=0,d=f.length;m<d;m++){var p=f[m],y=!1;if(0!=e){var v=p.a,g=p.b,x=p.c,A=p.d;(E=Math.atan2(h,a)-Math.atan2(x,v)+u)>t.MathUtils.PI?E-=t.MathUtils.PI2:E<-t.MathUtils.PI&&(E+=t.MathUtils.PI2),E*=e;var b=Math.cos(E),C=Math.sin(E);p.a=b*v-C*x,p.b=b*g-C*A,p.c=C*v+b*x,p.d=C*g+b*A,y=!0}if(0!=i){var S=this.temp;s.localToWorld(S.set(this.data.offsetX,this.data.offsetY)),p.worldX+=(S.x-p.worldX)*i,p.worldY+=(S.y-p.worldY)*i,y=!0}if(n>0){var T=Math.sqrt(p.a*p.a+p.c*p.c),w=Math.sqrt(a*a+h*h);T>1e-5&&(T=(T+(w-T+this.data.offsetScaleX)*n)/T),p.a*=T,p.c*=T,T=Math.sqrt(p.b*p.b+p.d*p.d),w=Math.sqrt(o*o+l*l),T>1e-5&&(T=(T+(w-T+this.data.offsetScaleY)*n)/T),p.b*=T,p.d*=T,y=!0}if(r>0){g=p.b,A=p.d;var E,D=Math.atan2(A,g);(E=Math.atan2(l,o)-Math.atan2(h,a)-(D-Math.atan2(p.c,p.a)))>t.MathUtils.PI?E-=t.MathUtils.PI2:E<-t.MathUtils.PI&&(E+=t.MathUtils.PI2),E=D+(E+_)*r;T=Math.sqrt(g*g+A*A);p.b=Math.cos(E)*T,p.d=Math.sin(E)*T,y=!0}y&&(p.appliedValid=!1)}},e.prototype.applyRelativeWorld=function(){for(var e=this.rotateMix,i=this.translateMix,n=this.scaleMix,r=this.shearMix,s=this.target,a=s.a,o=s.b,h=s.c,l=s.d,c=a*l-o*h>0?t.MathUtils.degRad:-t.MathUtils.degRad,u=this.data.offsetRotation*c,_=this.data.offsetShearY*c,f=this.bones,m=0,d=f.length;m<d;m++){var p=f[m],y=!1;if(0!=e){var v=p.a,g=p.b,x=p.c,A=p.d;(w=Math.atan2(h,a)+u)>t.MathUtils.PI?w-=t.MathUtils.PI2:w<-t.MathUtils.PI&&(w+=t.MathUtils.PI2),w*=e;var b=Math.cos(w),C=Math.sin(w);p.a=b*v-C*x,p.b=b*g-C*A,p.c=C*v+b*x,p.d=C*g+b*A,y=!0}if(0!=i){var S=this.temp;s.localToWorld(S.set(this.data.offsetX,this.data.offsetY)),p.worldX+=S.x*i,p.worldY+=S.y*i,y=!0}if(n>0){var T=(Math.sqrt(a*a+h*h)-1+this.data.offsetScaleX)*n+1;p.a*=T,p.c*=T,T=(Math.sqrt(o*o+l*l)-1+this.data.offsetScaleY)*n+1,p.b*=T,p.d*=T,y=!0}if(r>0){var w;(w=Math.atan2(l,o)-Math.atan2(h,a))>t.MathUtils.PI?w-=t.MathUtils.PI2:w<-t.MathUtils.PI&&(w+=t.MathUtils.PI2);g=p.b,A=p.d;w=Math.atan2(A,g)+(w-t.MathUtils.PI/2+_)*r;T=Math.sqrt(g*g+A*A);p.b=Math.cos(w)*T,p.d=Math.sin(w)*T,y=!0}y&&(p.appliedValid=!1)}},e.prototype.applyAbsoluteLocal=function(){var t=this.rotateMix,e=this.translateMix,i=this.scaleMix,n=this.shearMix,r=this.target;r.appliedValid||r.updateAppliedTransform();for(var s=this.bones,a=0,o=s.length;a<o;a++){var h=s[a];h.appliedValid||h.updateAppliedTransform();var l=h.arotation;if(0!=t){var c=r.arotation-l+this.data.offsetRotation;l+=(c-=360*(16384-(16384.499999999996-c/360|0)))*t}var u=h.ax,_=h.ay;0!=e&&(u+=(r.ax-u+this.data.offsetX)*e,_+=(r.ay-_+this.data.offsetY)*e);var f=h.ascaleX,m=h.ascaleY;i>0&&(f>1e-5&&(f=(f+(r.ascaleX-f+this.data.offsetScaleX)*i)/f),m>1e-5&&(m=(m+(r.ascaleY-m+this.data.offsetScaleY)*i)/m));var d=h.ashearY;if(n>0){c=r.ashearY-d+this.data.offsetShearY;c-=360*(16384-(16384.499999999996-c/360|0)),h.shearY+=c*n}h.updateWorldTransformWith(u,_,l,f,m,h.ashearX,d)}},e.prototype.applyRelativeLocal=function(){var t=this.rotateMix,e=this.translateMix,i=this.scaleMix,n=this.shearMix,r=this.target;r.appliedValid||r.updateAppliedTransform();for(var s=this.bones,a=0,o=s.length;a<o;a++){var h=s[a];h.appliedValid||h.updateAppliedTransform();var l=h.arotation;0!=t&&(l+=(r.arotation+this.data.offsetRotation)*t);var c=h.ax,u=h.ay;0!=e&&(c+=(r.ax+this.data.offsetX)*e,u+=(r.ay+this.data.offsetY)*e);var _=h.ascaleX,f=h.ascaleY;i>0&&(_>1e-5&&(_*=(r.ascaleX-1+this.data.offsetScaleX)*i+1),f>1e-5&&(f*=(r.ascaleY-1+this.data.offsetScaleY)*i+1));var m=h.ashearY;n>0&&(m+=(r.ashearY+this.data.offsetShearY)*n),h.updateWorldTransformWith(c,u,l,_,f,h.ashearX,m)}},e.prototype.getOrder=function(){return this.data.order},e})();t.TransformConstraint=e})(n||(n={})),(function(t){var e=(function(){return function(t){if(this.order=0,this.bones=new Array,this.rotateMix=0,this.translateMix=0,this.scaleMix=0,this.shearMix=0,this.offsetRotation=0,this.offsetX=0,this.offsetY=0,this.offsetScaleX=0,this.offsetScaleY=0,this.offsetShearY=0,this.relative=!1,this.local=!1,null==t)throw new Error("name cannot be null.");this.name=t}})();t.TransformConstraintData=e})(n||(n={})),(function(t){var e=(function(){function e(){this.convexPolygons=new Array,this.convexPolygonsIndices=new Array,this.indicesArray=new Array,this.isConcaveArray=new Array,this.triangles=new Array,this.polygonPool=new t.Pool(function(){return new Array}),this.polygonIndicesPool=new t.Pool(function(){return new Array})}return e.prototype.triangulate=function(t){var i=t,n=t.length>>1,r=this.indicesArray;r.length=0;for(var s=0;s<n;s++)r[s]=s;var a=this.isConcaveArray;a.length=0;s=0;for(var o=n;s<o;++s)a[s]=e.isConcave(s,n,i,r);var h=this.triangles;for(h.length=0;n>3;){for(var l=n-1,c=(s=0,1);;){t:if(!a[s]){for(var u=r[l]<<1,_=r[s]<<1,f=r[c]<<1,m=i[u],d=i[u+1],p=i[_],y=i[_+1],v=i[f],g=i[f+1],x=(c+1)%n;x!=l;x=(x+1)%n)if(a[x]){var A=r[x]<<1,b=i[A],C=i[A+1];if(e.positiveArea(v,g,m,d,b,C)&&e.positiveArea(m,d,p,y,b,C)&&e.positiveArea(p,y,v,g,b,C))break t}break}if(0==c){do{if(!a[s])break;s--}while(s>0);break}l=s,s=c,c=(c+1)%n}h.push(r[(n+s-1)%n]),h.push(r[s]),h.push(r[(s+1)%n]),r.splice(s,1),a.splice(s,1);var S=(--n+s-1)%n,T=s==n?0:s;a[S]=e.isConcave(S,n,i,r),a[T]=e.isConcave(T,n,i,r)}return 3==n&&(h.push(r[2]),h.push(r[0]),h.push(r[1])),h},e.prototype.decompose=function(t,i){var n=t,r=this.convexPolygons;this.polygonPool.freeAll(r),r.length=0;var s=this.convexPolygonsIndices;this.polygonIndicesPool.freeAll(s),s.length=0;var a=this.polygonIndicesPool.obtain();a.length=0;var o=this.polygonPool.obtain();o.length=0;for(var h=-1,l=0,c=0,u=i.length;c<u;c+=3){var _=i[c]<<1,f=i[c+1]<<1,m=i[c+2]<<1,d=n[_],p=n[_+1],y=n[f],v=n[f+1],g=n[m],x=n[m+1],A=!1;if(h==_){var b=o.length-4,C=e.winding(o[b],o[b+1],o[b+2],o[b+3],g,x),S=e.winding(g,x,o[0],o[1],o[2],o[3]);C==l&&S==l&&(o.push(g),o.push(x),a.push(m),A=!0)}A||(o.length>0?(r.push(o),s.push(a)):(this.polygonPool.free(o),this.polygonIndicesPool.free(a)),(o=this.polygonPool.obtain()).length=0,o.push(d),o.push(p),o.push(y),o.push(v),o.push(g),o.push(x),(a=this.polygonIndicesPool.obtain()).length=0,a.push(_),a.push(f),a.push(m),l=e.winding(d,p,y,v,g,x),h=_)}o.length>0&&(r.push(o),s.push(a));for(c=0,u=r.length;c<u;c++)if(0!=(a=s[c]).length)for(var T=a[0],w=a[a.length-1],E=(o=r[c])[b=o.length-4],D=o[b+1],M=o[b+2],B=o[b+3],P=o[0],I=o[1],R=o[2],O=o[3],L=e.winding(E,D,M,B,P,I),F=0;F<u;F++)if(F!=c){var V=s[F];if(3==V.length){var N=V[0],k=V[1],G=V[2],z=r[F];g=z[z.length-2],x=z[z.length-1];if(N==T&&k==w){C=e.winding(E,D,M,B,g,x),S=e.winding(g,x,P,I,R,O);C==L&&S==L&&(z.length=0,V.length=0,o.push(g),o.push(x),a.push(G),E=M,D=B,M=g,B=x,F=0)}}}for(c=r.length-1;c>=0;c--)0==(o=r[c]).length&&(r.splice(c,1),this.polygonPool.free(o),a=s[c],s.splice(c,1),this.polygonIndicesPool.free(a));return r},e.isConcave=function(t,e,i,n){var r=n[(e+t-1)%e]<<1,s=n[t]<<1,a=n[(t+1)%e]<<1;return!this.positiveArea(i[r],i[r+1],i[s],i[s+1],i[a],i[a+1])},e.positiveArea=function(t,e,i,n,r,s){return t*(s-n)+i*(e-s)+r*(n-e)>=0},e.winding=function(t,e,i,n,r,s){var a=i-t,o=n-e;return r*o-s*a+a*e-t*o>=0?1:-1},e})();t.Triangulator=e})(n||(n={})),(function(t){var e=(function(){function t(){this.array=new Array}return t.prototype.add=function(t){var e=this.contains(t);return this.array[0|t]=0|t,!e},t.prototype.contains=function(t){return void 0!=this.array[0|t]},t.prototype.remove=function(t){this.array[0|t]=void 0},t.prototype.clear=function(){this.array.length=0},t})();t.IntSet=e;var i=(function(){function t(t,e,i,n){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),this.r=t,this.g=e,this.b=i,this.a=n}return t.prototype.set=function(t,e,i,n){return this.r=t,this.g=e,this.b=i,this.a=n,this.clamp(),this},t.prototype.setFromColor=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},t.prototype.setFromString=function(t){return t="#"==t.charAt(0)?t.substr(1):t,this.r=parseInt(t.substr(0,2),16)/255,this.g=parseInt(t.substr(2,2),16)/255,this.b=parseInt(t.substr(4,2),16)/255,this.a=(8!=t.length?255:parseInt(t.substr(6,2),16))/255,this},t.prototype.add=function(t,e,i,n){return this.r+=t,this.g+=e,this.b+=i,this.a+=n,this.clamp(),this},t.prototype.clamp=function(){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},t.WHITE=new t(1,1,1,1),t.RED=new t(1,0,0,1),t.GREEN=new t(0,1,0,1),t.BLUE=new t(0,0,1,1),t.MAGENTA=new t(1,0,1,1),t})();t.Color=i;var n=(function(){function t(){}return t.clamp=function(t,e,i){return t<e?e:t>i?i:t},t.cosDeg=function(e){return Math.cos(e*t.degRad)},t.sinDeg=function(e){return Math.sin(e*t.degRad)},t.signum=function(t){return t>0?1:t<0?-1:0},t.toInt=function(t){return t>0?Math.floor(t):Math.ceil(t)},t.cbrt=function(t){var e=Math.pow(Math.abs(t),1/3);return t<0?-e:e},t.randomTriangular=function(e,i){return t.randomTriangularWith(e,i,.5*(e+i))},t.randomTriangularWith=function(t,e,i){var n=Math.random(),r=e-t;return n<=(i-t)/r?t+Math.sqrt(n*r*(i-t)):e-Math.sqrt((1-n)*r*(e-i))},t.PI=3.1415927,t.PI2=2*t.PI,t.radiansToDegrees=180/t.PI,t.radDeg=t.radiansToDegrees,t.degreesToRadians=t.PI/180,t.degRad=t.degreesToRadians,t})();t.MathUtils=n;var s=(function(){function t(){}return t.prototype.apply=function(t,e,i){return t+(e-t)*this.applyInternal(i)},t})();t.Interpolation=s;var a=(function(t){function e(e){var i=t.call(this)||this;return i.power=2,i.power=e,i}return r(e,t),e.prototype.applyInternal=function(t){return t<=.5?Math.pow(2*t,this.power)/2:Math.pow(2*(t-1),this.power)/(this.power%2==0?-2:2)+1},e})(s);t.Pow=a;var o=(function(t){function e(e){return t.call(this,e)||this}return r(e,t),e.prototype.applyInternal=function(t){return Math.pow(t-1,this.power)*(this.power%2==0?-1:1)+1},e})(a);t.PowOut=o;var h=(function(){function t(){}return t.arrayCopy=function(t,e,i,n,r){for(var s=e,a=n;s<e+r;s++,a++)i[a]=t[s]},t.setArraySize=function(t,e,i){void 0===i&&(i=0);var n=t.length;if(n==e)return t;if(t.length=e,n<e)for(var r=n;r<e;r++)t[r]=i;return t},t.ensureArrayCapacity=function(e,i,n){return void 0===n&&(n=0),e.length>=i?e:t.setArraySize(e,i,n)},t.newArray=function(t,e){for(var i=new Array(t),n=0;n<t;n++)i[n]=e;return i},t.newFloatArray=function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Float32Array(e);for(var i=new Array(e),n=0;n<i.length;n++)i[n]=0;return i},t.newShortArray=function(e){if(t.SUPPORTS_TYPED_ARRAYS)return new Int16Array(e);for(var i=new Array(e),n=0;n<i.length;n++)i[n]=0;return i},t.toFloatArray=function(e){return t.SUPPORTS_TYPED_ARRAYS?new Float32Array(e):e},t.toSinglePrecision=function(e){return t.SUPPORTS_TYPED_ARRAYS?Math.fround(e):e},t.webkit602BugfixHelper=function(t,e){},t.SUPPORTS_TYPED_ARRAYS="undefined"!=typeof Float32Array,t})();t.Utils=h;var l=(function(){function t(){}return t.logBones=function(t){for(var e=0;e<t.bones.length;e++){var i=t.bones[e];console.log(i.data.name+", "+i.a+", "+i.b+", "+i.c+", "+i.d+", "+i.worldX+", "+i.worldY)}},t})();t.DebugUtils=l;var c=(function(){function t(t){this.items=new Array,this.instantiator=t}return t.prototype.obtain=function(){return this.items.length>0?this.items.pop():this.instantiator()},t.prototype.free=function(t){t.reset&&t.reset(),this.items.push(t)},t.prototype.freeAll=function(t){for(var e=0;e<t.length;e++)t[e].reset&&t[e].reset(),this.items[e]=t[e]},t.prototype.clear=function(){this.items.length=0},t})();t.Pool=c;var u=(function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return t.prototype.set=function(t,e){return this.x=t,this.y=e,this},t.prototype.length=function(){var t=this.x,e=this.y;return Math.sqrt(t*t+e*e)},t.prototype.normalize=function(){var t=this.length();return 0!=t&&(this.x/=t,this.y/=t),this},t})();t.Vector2=u;var _=(function(){function t(){this.maxDelta=.064,this.framesPerSecond=0,this.delta=0,this.totalTime=0,this.lastTime=Date.now()/1e3,this.frameCount=0,this.frameTime=0}return t.prototype.update=function(){var t=Date.now()/1e3;this.delta=t-this.lastTime,this.frameTime+=this.delta,this.totalTime+=this.delta,this.delta>this.maxDelta&&(this.delta=this.maxDelta),this.lastTime=t,this.frameCount++,this.frameTime>1&&(this.framesPerSecond=this.frameCount/this.frameTime,this.frameTime=0,this.frameCount=0)},t})();t.TimeKeeper=_;var f=(function(){function t(t){void 0===t&&(t=32),this.addedValues=0,this.lastValue=0,this.mean=0,this.dirty=!0,this.values=new Array(t)}return t.prototype.hasEnoughData=function(){return this.addedValues>=this.values.length},t.prototype.addValue=function(t){this.addedValues<this.values.length&&this.addedValues++,this.values[this.lastValue++]=t,this.lastValue>this.values.length-1&&(this.lastValue=0),this.dirty=!0},t.prototype.getMean=function(){if(this.hasEnoughData()){if(this.dirty){for(var t=0,e=0;e<this.values.length;e++)t+=this.values[e];this.mean=t/this.values.length,this.dirty=!1}return this.mean}return 0},t})();t.WindowedMean=f})(n||(n={})),Math.fround||(Math.fround=(function(t){return function(e){return t[0]=e,t[0]}})(new Float32Array(1))),(function(t){var e=(function(){return function(t){if(null==t)throw new Error("name cannot be null.");this.name=t}})();t.Attachment=e;var i=(function(t){function e(i){var n=t.call(this,i)||this;return n.id=(65535&e.nextID++)<<11,n.worldVerticesLength=0,n}return r(e,t),e.prototype.computeWorldVertices=function(t,e,i,n,r,s){i=r+(i>>1)*s;var a=t.bone.skeleton,o=t.attachmentVertices,h=this.vertices,l=this.bones;if(null!=l){for(var c=0,u=0,_=0;_<e;_+=2){c+=(p=l[c])+1,u+=p}var f=a.bones;if(0==o.length)for(D=r,S=3*u;D<i;D+=s){var m=0,d=0,p=l[c++];for(p+=c;c<p;c++,S+=3){x=f[l[c]],M=h[S],B=h[S+1];var y=h[S+2];m+=(M*x.a+B*x.b+x.worldX)*y,d+=(M*x.c+B*x.d+x.worldY)*y}n[D]=m,n[D+1]=d}else for(var v=o,g=(D=r,S=3*u,u<<1);D<i;D+=s){m=0,d=0,p=l[c++];for(p+=c;c<p;c++,S+=3,g+=2){x=f[l[c]],M=h[S]+v[g],B=h[S+1]+v[g+1],y=h[S+2];m+=(M*x.a+B*x.b+x.worldX)*y,d+=(M*x.c+B*x.d+x.worldY)*y}n[D]=m,n[D+1]=d}}else{o.length>0&&(h=o);for(var x,A=(x=t.bone).worldX,b=x.worldY,C=x.a,S=x.b,T=x.c,w=x.d,E=e,D=r;D<i;E+=2,D+=s){var M=h[E],B=h[E+1];n[D]=M*C+B*S+A,n[D+1]=M*T+B*w+b}}},e.prototype.applyDeform=function(t){return this==t},e.nextID=0,e})(e);t.VertexAttachment=i})(n||(n={})),(function(t){(function(t){t[t.Region=0]="Region",t[t.BoundingBox=1]="BoundingBox",t[t.Mesh=2]="Mesh",t[t.LinkedMesh=3]="LinkedMesh",t[t.Path=4]="Path",t[t.Point=5]="Point"})(t.AttachmentType||(t.AttachmentType={}))})(n||(n={})),(function(t){var e=(function(e){function i(i){var n=e.call(this,i)||this;return n.color=new t.Color(1,1,1,1),n}return r(i,e),i})(t.VertexAttachment);t.BoundingBoxAttachment=e})(n||(n={})),(function(t){var e=(function(e){function i(i){var n=e.call(this,i)||this;return n.color=new t.Color(.2275,.2275,.8078,1),n}return r(i,e),i})(t.VertexAttachment);t.ClippingAttachment=e})(n||(n={})),(function(t){var e=(function(e){function i(i){var n=e.call(this,i)||this;return n.color=new t.Color(1,1,1,1),n.inheritDeform=!1,n.tempColor=new t.Color(0,0,0,0),n}return r(i,e),i.prototype.updateUVs=function(){var e=0,i=0,n=0,r=0;null==this.region?(e=i=0,n=r=1):(e=this.region.u,i=this.region.v,n=this.region.u2-e,r=this.region.v2-i);var s=this.regionUVs;null!=this.uvs&&this.uvs.length==s.length||(this.uvs=t.Utils.newFloatArray(s.length));var a=this.uvs;if(this.region.rotate)for(var o=0,h=a.length;o<h;o+=2)a[o]=e+s[o+1]*n,a[o+1]=i+r-s[o]*r;else for(o=0,h=a.length;o<h;o+=2)a[o]=e+s[o]*n,a[o+1]=i+s[o+1]*r},i.prototype.applyDeform=function(t){return this==t||this.inheritDeform&&this.parentMesh==t},i.prototype.getParentMesh=function(){return this.parentMesh},i.prototype.setParentMesh=function(t){this.parentMesh=t,null!=t&&(this.bones=t.bones,this.vertices=t.vertices,this.worldVerticesLength=t.worldVerticesLength,this.regionUVs=t.regionUVs,this.triangles=t.triangles,this.hullLength=t.hullLength,this.worldVerticesLength=t.worldVerticesLength)},i})(t.VertexAttachment);t.MeshAttachment=e})(n||(n={})),(function(t){var e=(function(e){function i(i){var n=e.call(this,i)||this;return n.closed=!1,n.constantSpeed=!1,n.color=new t.Color(1,1,1,1),n}return r(i,e),i})(t.VertexAttachment);t.PathAttachment=e})(n||(n={})),(function(t){var e=(function(e){function i(i){var n=e.call(this,i)||this;return n.color=new t.Color(.38,.94,0,1),n}return r(i,e),i.prototype.computeWorldPosition=function(t,e){return e.x=this.x*t.a+this.y*t.b+t.worldX,e.y=this.x*t.c+this.y*t.d+t.worldY,e},i.prototype.computeWorldRotation=function(e){var i=t.MathUtils.cosDeg(this.rotation),n=t.MathUtils.sinDeg(this.rotation),r=i*e.a+n*e.b,s=i*e.c+n*e.d;return Math.atan2(s,r)*t.MathUtils.radDeg},i})(t.VertexAttachment);t.PointAttachment=e})(n||(n={})),(function(t){var e=(function(e){function i(i){var n=e.call(this,i)||this;return n.x=0,n.y=0,n.scaleX=1,n.scaleY=1,n.rotation=0,n.width=0,n.height=0,n.color=new t.Color(1,1,1,1),n.offset=t.Utils.newFloatArray(8),n.uvs=t.Utils.newFloatArray(8),n.tempColor=new t.Color(1,1,1,1),n}return r(i,e),i.prototype.updateOffset=function(){var t=this.width/this.region.originalWidth*this.scaleX,e=this.height/this.region.originalHeight*this.scaleY,n=-this.width/2*this.scaleX+this.region.offsetX*t,r=-this.height/2*this.scaleY+this.region.offsetY*e,s=n+this.region.width*t,a=r+this.region.height*e,o=this.rotation*Math.PI/180,h=Math.cos(o),l=Math.sin(o),c=n*h+this.x,u=n*l,_=r*h+this.y,f=r*l,m=s*h+this.x,d=s*l,p=a*h+this.y,y=a*l,v=this.offset;v[i.OX1]=c-f,v[i.OY1]=_+u,v[i.OX2]=c-y,v[i.OY2]=p+u,v[i.OX3]=m-y,v[i.OY3]=p+d,v[i.OX4]=m-f,v[i.OY4]=_+d},i.prototype.setRegion=function(t){this.region=t;var e=this.uvs;t.rotate?(e[2]=t.u,e[3]=t.v2,e[4]=t.u,e[5]=t.v,e[6]=t.u2,e[7]=t.v,e[0]=t.u2,e[1]=t.v2):(e[0]=t.u,e[1]=t.v2,e[2]=t.u,e[3]=t.v,e[4]=t.u2,e[5]=t.v,e[6]=t.u2,e[7]=t.v2)},i.prototype.computeWorldVertices=function(t,e,n,r){var s=this.offset,a=t.worldX,o=t.worldY,h=t.a,l=t.b,c=t.c,u=t.d,_=0,f=0;_=s[i.OX1],f=s[i.OY1],e[n]=_*h+f*l+a,e[n+1]=_*c+f*u+o,n+=r,_=s[i.OX2],f=s[i.OY2],e[n]=_*h+f*l+a,e[n+1]=_*c+f*u+o,n+=r,_=s[i.OX3],f=s[i.OY3],e[n]=_*h+f*l+a,e[n+1]=_*c+f*u+o,n+=r,_=s[i.OX4],f=s[i.OY4],e[n]=_*h+f*l+a,e[n+1]=_*c+f*u+o},i.OX1=0,i.OY1=1,i.OX2=2,i.OY2=3,i.OX3=4,i.OY3=5,i.OX4=6,i.OY4=7,i.X1=0,i.Y1=1,i.C1R=2,i.C1G=3,i.C1B=4,i.C1A=5,i.U1=6,i.V1=7,i.X2=8,i.Y2=9,i.C2R=10,i.C2G=11,i.C2B=12,i.C2A=13,i.U2=14,i.V2=15,i.X3=16,i.Y3=17,i.C3R=18,i.C3G=19,i.C3B=20,i.C3A=21,i.U3=22,i.V3=23,i.X4=24,i.Y4=25,i.C4R=26,i.C4G=27,i.C4B=28,i.C4A=29,i.U4=30,i.V4=31,i})(t.Attachment);t.RegionAttachment=e})(n||(n={})),(function(t){var e=(function(){function e(t,e){this.jitterX=0,this.jitterY=0,this.jitterX=t,this.jitterY=e}return e.prototype.begin=function(t){},e.prototype.transform=function(e,i,n,r){e.x+=t.MathUtils.randomTriangular(-this.jitterX,this.jitterY),e.y+=t.MathUtils.randomTriangular(-this.jitterX,this.jitterY)},e.prototype.end=function(){},e})();t.JitterEffect=e})(n||(n={})),(function(t){var e=(function(){function e(t){this.centerX=0,this.centerY=0,this.radius=0,this.angle=0,this.worldX=0,this.worldY=0,this.radius=t}return e.prototype.begin=function(t){this.worldX=t.x+this.centerX,this.worldY=t.y+this.centerY},e.prototype.transform=function(i,n,r,s){var a=this.angle*t.MathUtils.degreesToRadians,o=i.x-this.worldX,h=i.y-this.worldY,l=Math.sqrt(o*o+h*h);if(l<this.radius){var c=e.interpolation.apply(0,a,(this.radius-l)/this.radius),u=Math.cos(c),_=Math.sin(c);i.x=u*o-_*h+this.worldX,i.y=_*o+u*h+this.worldY}},e.prototype.end=function(){},e.interpolation=new t.PowOut(2),e})();t.SwirlEffect=e})(n||(n={})),e.exports=n}),{}],297:[(function(t,e,i){var n=t("./track-entry-listeners"),r=t("./lib/spine"),s=[],a=[],o=0,h=0,l=null,c=null,u=0,_=0,f=0,m=0,d=null,p=null,y=0,v=0,g=void 0,x=void 0,A=void 0,b=void 0,C=void 0,S=void 0,T=new r.Color(1,1,1,1),w=new r.Color(1,1,1,1),E=[0,1,2,2,3,0],D=cc.Class({ctor:function(){this.frames=[],this.totalTime=0,this._isCompleted=!1,this._animationName=null,this._tempSegments=null,this._tempColors=null},init:function(t){this._animationName=t},clear:function(){for(var t=0,e=this.frames.length;t<e;t++){this.frames[t].segments.length=0}},bind:function(t){var e=function(t){t&&t.animation.name===this._animationName&&(this._isCompleted=!0)}.bind(this);t.end=e,t.complete=e,t.dispose=e},unbind:function(t){t.end=null,t.complete=null,t.dispose=null},update:function(t){if(this._animationName){var e=t.skeleton,i=t.clipper,n=t.listener,r=t.state,s=e.data.findAnimation(this._animationName);r.setAnimationWith(0,s,!1),this.bind(n);var a=0;this._isCompleted=!1,this.totalTime=0;do{e.update(1/60),r.update(1/60),r.apply(e),e.updateWorldTransform(),this._updateFrame(e,i,a),a++,this.totalTime+=1/60}while(!this._isCompleted&&this.totalTime<30);this.frames.length=a,this.unbind(n)}else cc.error("AnimationCache:update animationName is empty")},_updateFrame:function(t,e,i){h=0,o=0,0,l=null,c=null,u=0,_=0,f=0,m=0,d=null,p=null,this.frames[i]=this.frames[i]||{segments:[],colors:[],vertices:null,uintVert:null,indices:null};var n=this.frames[i],r=this._tempSegments=n.segments,y=this._tempColors=n.colors;this._traverseSkeleton(t,e),m>0&&(y[m-1].vfOffset=h),y.length=m;var v=f-1;if(v>=0)if(_>0){var g=r[v];g.indexCount=_,g.vfCount=6*u,g.vertexCount=u,r.length=f}else r.length=f-1;if(0!=r.length){for(var x=n.vertices||new Float32Array(h),A=n.uintVert||new Uint32Array(x.buffer),b=0,C=0;b<h;)x[b++]=s[C++],x[b++]=s[C++],x[b++]=s[C++],x[b++]=s[C++],A[b++]=s[C++],A[b++]=s[C++];for(var S=n.indices||new Uint16Array(o),T=0;T<o;T++)S[T]=a[T];n.vertices=x,n.uintVert=A,n.indices=S}},fillVertices:function(t,e,i,n,r){if(b=i.a*e.a*t.a*255,g=e.r*t.r*255,x=e.g*t.g*255,A=e.b*t.b*255,T.r=g*i.r,T.g=x*i.g,T.b=A*i.b,T.a=b,null==r.darkColor?w.set(0,0,0,1):(w.r=r.darkColor.r*g,w.g=r.darkColor.g*x,w.b=r.darkColor.b*A),w.a=0,C=(T.a<<24>>>0)+(T.b<<16)+(T.g<<8)+T.r,S=(w.a<<24>>>0)+(w.b<<16)+(w.g<<8)+w.r,d!==C||p!==S){var l=this._tempColors;d=C,p=S,m>0&&(l[m-1].vfOffset=h),l[m++]={fr:T.r,fg:T.g,fb:T.b,fa:T.a,dr:w.r,dg:w.g,db:w.b,da:w.a,vfOffset:0}}if(n.isClipping()){n.clipTriangles(s,y,a,v,s,T,w,!0,6,o,h,h+2);var c=n.clippedVertices,u=n.clippedTriangles;v=u.length,y=c.length/12*6;for(var _=0,f=o,E=u.length;_<E;)a[f++]=u[_++];for(var D=0,M=c.length,B=h;D<M;D+=12,B+=6)s[B]=c[D],s[B+1]=c[D+1],s[B+2]=c[D+6],s[B+3]=c[D+7],s[B+4]=C,s[B+5]=S}else for(var P=h,I=h+y;P<I;P+=6)s[P+4]=C,s[P+5]=S},_traverseSkeleton:function(t,e){for(var i=this._tempSegments,n=t.color,m=void 0,d=void 0,p=void 0,g=void 0,x=void 0,A=void 0,b=void 0,C=void 0,S=void 0,T=void 0,w=void 0,D=void 0,M=0,B=t.drawOrder.length;M<B;M++)if(D=t.drawOrder[M],y=0,v=0,m=D.getAttachment())if(A=m instanceof r.RegionAttachment,b=m instanceof r.MeshAttachment,m instanceof r.ClippingAttachment)e.clipStart(D,m);else if((A||b)&&(C=m.region.texture._texture)&&(w=D.data.blendMode,l===C.url&&c===w||(l=C.url,c=w,(S=f-1)>=0&&(_>0?((T=i[S]).indexCount=_,T.vertexCount=u,T.vfCount=6*u):f--),i[f]={tex:C,blendMode:w,indexCount:0,vertexCount:0,vfCount:0},f++,_=0,u=0),A?(x=E,y=24,v=6,m.computeWorldVertices(D.bone,s,h,6)):b&&(x=m.triangles,y=6*(m.worldVerticesLength>>1),v=x.length,m.computeWorldVertices(D,0,m.worldVerticesLength,s,h,6)),0!=y&&0!=v)){for(var P=0,I=o,R=x.length;P<R;)a[I++]=x[P++];g=m.uvs;for(var O=h,L=h+y,F=0;O<L;O+=6,F+=2)s[O+2]=g[F],s[O+3]=g[F+1];if(d=m.color,p=D.color,this.fillVertices(n,d,p,e,D),v>0){for(var V=o,N=o+v;V<N;V++)a[V]+=u;o+=v,(h+=y)/6,_+=v,u+=y/6}e.clipEndWithSlot(D)}e.clipEnd()}}),M=cc.Class({ctor:function(){this._animationPool={},this._skeletonCache={}},clear:function(){this._animationPool={},this._skeletonCache={}},removeSkeleton:function(t){var e=this._skeletonCache[t];if(e){var i=e.animationsCache;for(var n in i){var r=i[n];r&&(this._animationPool[t+"#"+n]=r,r.clear())}delete this._skeletonCache[t]}},resetSkeleton:function(t){var e=this._skeletonCache[t];if(e){var i=e.animationsCache;for(var n in i){var r=i[n];r&&(this._animationPool[t+"#"+n]=r,r.clear())}}},getSkeletonCache:function(t,e){var i=this._skeletonCache[t];if(!i){var s=new r.Skeleton(e),a=new r.SkeletonClipping,o=new r.AnimationStateData(s.data),h=new r.AnimationState(o),l=new n;h.addListener(l),this._skeletonCache[t]=i={skeleton:s,clipper:a,state:h,listener:l,animationsCache:{}}}return i},getAnimationCache:function(t,e){var i=this._skeletonCache[t];return i?i.animationsCache[e]:null},updateAnimationCache:function(t,e){var i=this._skeletonCache[t],n=i&&i.skeleton;if(!n)return null;if(!n.data.findAnimation(e))return null;var r=i.animationsCache,s=r[e];if(!s){var a=t+"#"+e;(s=this._animationPool[a])?delete this._animationPool[a]:(s=new D).init(e),r[e]=s}return s.update(i),s.totalTime>=30&&cc.warn("Animation cache is overflow, maybe animation's frame is infinite, please change skeleton render mode to REALTIME, animation name is [%s]",e),s}});M.sharedCache=new M,e.exports=M}),{"./lib/spine":296,"./track-entry-listeners":301}],298:[(function(t,e,i){var n=t("./skeleton-cache").sharedCache,r=cc.Class({name:"sp.SkeletonData",extends:cc.Asset,ctor:function(){this.reset()},properties:{_skeletonJson:null,skeletonJson:{get:function(){return this._skeletonJson},set:function(t){this._skeletonJson=t,this.reset()}},_atlasText:"",atlasText:{get:function(){return this._atlasText},set:function(t){this._atlasText=t,this.reset()}},textures:{default:[],type:[cc.Texture2D]},textureNames:{default:[],type:[cc.String]},scale:1},statics:{preventDeferredLoadDependents:!0,preventPreloadNativeObject:!0},createNode:!1,reset:function(){this._skeletonCache=null,this._atlasCache=null},getRuntimeData:function(t){if(this._skeletonCache)return this._skeletonCache;if(!(this.textures&&this.textures.length>0)&&this.textureNames&&this.textureNames.length>0)return t||cc.errorID(7507,this.name),null;var e=this._getAtlas(t);if(!e)return null;var i=new sp.spine.AtlasAttachmentLoader(e),n=new sp.spine.SkeletonJson(i);n.scale=this.scale;var r=this.skeletonJson;return this._skeletonCache=n.readSkeletonData(r),e.dispose(n),this._skeletonCache},getSkinsEnum:!1,getAnimsEnum:!1,_getTexture:function(t){for(var e=this.textureNames,i=0;i<e.length;i++)if(e[i]===t){var n=this.textures[i],r=new sp.SkeletonTexture({width:n.width,height:n.height});return r.setRealTexture(n),r}return cc.errorID(7506,t),null},_getAtlas:function(t){return this._atlasCache?this._atlasCache:this.atlasText?this._atlasCache=new sp.spine.TextureAtlas(this.atlasText,this._getTexture.bind(this)):(t||cc.errorID(7508,this.name),null)},destroy:function(){n.removeSkeleton(this._uuid),this._super()}});sp.SkeletonData=e.exports=r}),{"./skeleton-cache":297}],299:[(function(t,e,i){sp.SkeletonTexture=cc.Class({name:"sp.SkeletonTexture",extends:sp.spine.Texture,_texture:null,_material:null,setRealTexture:function(t){this._texture=t},getRealTexture:function(){return this._texture},setFilters:function(t,e){this._texture&&this._texture.setFilters(t,e)},setWraps:function(t,e){this._texture&&this._texture.setWrapMode(t,e)},dispose:function(){}})}),{}],300:[(function(t,e,i){var n=t("./Skeleton"),r=t("./lib/spine"),s=t("../../cocos2d/core/renderer"),a=t("../../cocos2d/core/renderer/render-flow"),o=s.renderEngine.gfx,h=t("../../cocos2d/core/renderer/webgl/vertex-format"),l=h.vfmtPosUvColor,c=h.vfmtPosUvTwoColor,u=0,_=[0,1,2,2,3,0],f=cc.color(0,0,255,255),m=cc.color(255,0,0,255),d=cc.color(0,255,0,255),p=void 0,y=void 0;p=new r.Color(1,1,1,1),y=new r.Color(1,1,1,1);var v=void 0,g=void 0,x=void 0,A=void 0,b=void 0,C=void 0,S=void 0,T=void 0,w=void 0,E=void 0,D=void 0,M=void 0,B=void 0,P=void 0,I=void 0,R=void 0,O=0,L=0,F=0,V=0,N=0,k=0,G=0,z=void 0,U=void 0,j=void 0,W=void 0,H=void 0,X=void 0,Y=void 0,q=void 0,J=void 0,Z=void 0,K=void 0,Q=void 0,$=void 0,tt=void 0,et=void 0,it=void 0,nt=void 0,rt=void 0,st=void 0,at=void 0,ot=void 0,ht=void 0,lt=void 0,ct=void 0,ut=void 0,_t=void 0,ft=void 0,mt=void 0,dt=void 0;function pt(t,e){var i=void 0,n=void 0;switch(e){case r.BlendMode.Additive:i=v?cc.macro.ONE:cc.macro.SRC_ALPHA,n=cc.macro.ONE;break;case r.BlendMode.Multiply:i=cc.macro.DST_COLOR,n=cc.macro.ONE_MINUS_SRC_ALPHA;break;case r.BlendMode.Screen:i=cc.macro.ONE,n=cc.macro.ONE_MINUS_SRC_COLOR;break;case r.BlendMode.Normal:default:i=v?cc.macro.ONE:cc.macro.SRC_ALPHA,n=cc.macro.ONE_MINUS_SRC_ALPHA}var s=!ut.enableBatch,a=t.url+i+n+b+s,h=ut._material;if(!h)return null;var l=ut._materialCache,c=l[a];c?c.texture!==t&&(c.texture=t,c.updateHash(a)):((c=l[h._hash]?h.clone():h).useModel=s,c.texture=t,c.useTint=b,c._mainTech.passes[0].setBlend(o.BLEND_FUNC_ADD,i,n,o.BLEND_FUNC_ADD,i,n),c.updateHash(a),l[a]=c);return c}function yt(t){g=v?t.fa/255:1,et=T*g,it=w*g,nt=E*g,rt=t.fr*et,st=t.fg*it,at=t.fb*nt,ot=t.fa*D,M=(ot<<24>>>0)+(at<<16)+(st<<8)+rt,ht=t.dr*et,lt=t.dg*it,ct=t.db*nt,B=((v?255:0)<<24>>>0)+(ct<<16)+(lt<<8)+ht}var vt={updateRenderData:function(t,e){var i=t._skeleton;i&&i.updateWorldTransform()},fillVertices:function(t,e,i,n,r){var s=_t._vData,a=_t._iData,o=_t._uintVData,h=void 0;if(W=i.a*e.a*t.a*255,g=v?W:255,z=T*e.r*t.r*g,U=w*e.g*t.g*g,j=E*e.b*t.b*g,p.r=z*i.r,p.g=U*i.g,p.b=j*i.b,p.a=W*D,null==r.darkColor?y.set(0,0,0,1):(y.r=r.darkColor.r*z,y.g=r.darkColor.g*U,y.b=r.darkColor.b*j),y.a=v?255:0,n.isClipping()){var l=s.subarray(F+2);n.clipTriangles(s.subarray(F),O,a.subarray(k),N,l,p,y,b,I);var c=new Float32Array(n.clippedVertices),u=n.clippedTriangles;if(N=u.length,O=c.length/R*I,h=_t.request(O/I,N),k=h.indiceOffset,V=h.vertexOffset,F=h.byteOffset>>2,s=_t._vData,a=_t._iData,o=_t._uintVData,a.set(u,k),b)for(var _=0,f=c.length,m=F;_<f;_+=12,m+=I)s[m]=c[_],s[m+1]=c[_+1],s[m+2]=c[_+6],s[m+3]=c[_+7],M=(c[_+5]<<24>>>0)+(c[_+4]<<16)+(c[_+3]<<8)+c[_+2],o[m+4]=M,B=(c[_+11]<<24>>>0)+(c[_+10]<<16)+(c[_+9]<<8)+c[_+8],o[m+5]=B;else for(var d=0,x=c.length,A=F;d<x;d+=8,A+=I)s[A]=c[d],s[A+1]=c[d+1],s[A+2]=c[d+6],s[A+3]=c[d+7],M=(c[d+5]<<24>>>0)+(c[d+4]<<16)+(c[d+3]<<8)+c[d+2],o[A+4]=M}else if(M=(p.a<<24>>>0)+(p.b<<16)+(p.g<<8)+p.r,B=(y.a<<24>>>0)+(y.b<<16)+(y.g<<8)+y.r,b)for(var C=F,S=F+O;C<S;C+=I)o[C+4]=M,o[C+5]=B;else for(var P=F,L=F+O;P<L;P+=I)o[P+4]=M},realTimeTraverse:function(t){var e=void 0,i=void 0,n=ut._skeleton,s=n.color,a=ut._debugRenderer,o=ut._clipper,h=null,l=void 0,c=void 0,u=void 0,p=void 0,y=void 0,v=void 0,g=void 0,T=void 0,w=void 0;x=ut._startSlotIndex,A=ut._endSlotIndex,H=!1,-1==x&&(H=!0),C=ut.debugSlots,S=ut.debugBones,a&&(S||C)&&(a.clear(),a.strokeColor=f,a.lineWidth=5),R=b?12:8,O=0,F=0,V=0,N=0,k=0;for(var E=0,D=n.drawOrder.length;E<D;E++)if(w=n.drawOrder[E],x>=0&&x==w.data.index&&(H=!0),H){if(A>=0&&A==w.data.index&&(H=!1),O=0,N=0,l=w.getAttachment())if(v=l instanceof r.RegionAttachment,g=l instanceof r.MeshAttachment,l instanceof r.ClippingAttachment)o.clipStart(w,l);else if((v||g)&&(h=pt(l.region.texture._texture,w.data.blendMode))){if((X||h._hash!==ft.material._hash)&&(X=!1,ft._flush(),ft.node=mt,ft.material=h),v){if(y=_,O=4*I,N=6,T=_t.request(4,6),k=T.indiceOffset,V=T.vertexOffset,F=T.byteOffset>>2,e=_t._vData,i=_t._iData,l.computeWorldVertices(w.bone,e,F,I),a&&C){a.moveTo(e[F],e[F+1]);for(var M=F+I,B=F+O;M<B;M+=I)a.lineTo(e[M],e[M+1]);a.close(),a.stroke()}}else g&&(y=l.triangles,O=(l.worldVerticesLength>>1)*I,N=y.length,T=_t.request(O/I,N),k=T.indiceOffset,V=T.vertexOffset,F=T.byteOffset>>2,e=_t._vData,i=_t._iData,l.computeWorldVertices(w,0,l.worldVerticesLength,e,F,I));if(0!=O&&0!=N){i.set(y,k),p=l.uvs;for(var P=F,L=F+O,G=0;P<L;P+=I,G+=2)e[P+2]=p[G],e[P+3]=p[G+1];if(c=l.color,u=w.color,this.fillVertices(s,c,u,o,w),N>0){for(var z=k,U=k+N;z<U;z++)i[z]+=V;if(t){J=t.m00,Z=t.m04,K=t.m12,Q=t.m01,$=t.m05,tt=t.m13;for(var j=F,W=F+O;j<W;j+=I)Y=e[j],q=e[j+1],e[j]=Y*J+q*Z+K,e[j+1]=Y*Q+q*$+tt}_t.adjust(O/I,N)}o.clipEndWithSlot(w)}}}else o.clipEndWithSlot(w);if(o.clipEnd(),a&&S){var et=void 0;a.strokeColor=m,a.fillColor=f;for(var it=0,nt=n.bones.length;it<nt;it++){var rt=(et=n.bones[it]).data.length*et.a+et.worldX,st=et.data.length*et.c+et.worldY;a.moveTo(et.worldX,et.worldY),a.lineTo(rt,st),a.stroke(),a.circle(et.worldX,et.worldY,2*Math.PI),a.fill(),0===it&&(a.fillColor=d)}}},cacheTraverse:function(t){var e=ut._curFrame;if(e){var i=e.segments;if(0!=i.length){var n=void 0,r=void 0,s=void 0,a=void 0,o=void 0,h=e.vertices,l=e.indices,c=e.uintVert,_=0,f=0,m=0;t&&(J=t.m00,Z=t.m04,K=t.m12,Q=t.m01,$=t.m05,tt=t.m13);var d=0,p=e.colors,y=p[d++],v=y.vfOffset;yt(y);for(var g=0,x=i.length;g<x;g++){var A=i[g];if(a=pt(A.tex,A.blendMode)){(X||a._hash!==ft.material._hash)&&(X=!1,ft._flush(),ft.node=mt,ft.material=a),L=A.vertexCount,N=A.indexCount,O=L*I,o=_t.request(L,N),k=o.indiceOffset,V=o.vertexOffset,G=o.byteOffset>>2,n=_t._vData,r=_t._iData,s=_t._uintVData;for(var C=k,S=k+N;C<S;C++)r[C]=V+l[f++];switch(m=A.vfCount,u){case 0:for(var T=G,w=G+O;T<w;)n[T++]=h[_++],n[T++]=h[_++],n[T++]=h[_++],n[T++]=h[_++],s[T++]=c[_++],_++;break;case 1:n.set(h.subarray(_,_+O),G),_+=O;break;case 16:for(var E=G,D=G+O;E<D;)Y=h[_++],q=h[_++],n[E++]=Y*J+q*Z+K,n[E++]=Y*Q+q*$+tt,n[E++]=h[_++],n[E++]=h[_++],s[E++]=c[_++],_++;break;case 17:for(var P=G,R=G+O;P<R;)Y=h[_++],q=h[_++],n[P++]=Y*J+q*Z+K,n[P++]=Y*Q+q*$+tt,n[P++]=h[_++],n[P++]=h[_++],s[P++]=c[_++],s[P++]=c[_++]}if(_t.adjust(L,N),dt)for(var F=_-m,z=G+4,U=G+4+O;z<U;z+=I,F+=6)F>=v&&(yt(y=p[d++]),v=y.vfOffset),s[z]=M,b&&(s[z+1]=B)}}}}},fillBuffers:function(t,e){var i=t.node;if(i._renderFlag|=a.FLAG_UPDATE_RENDER_DATA,t._skeleton){var n=i._color;T=n.r/255,w=n.g/255,E=n.b/255,D=n.a/255,b=t.useTint,P=b?c:l,I=b?6:5,mt=t.node,_t=e.getBuffer("spine",P),ft=e,ut=t,X=!0,v=t.premultipliedAlpha,g=1,u=0,dt=!1,(4294967295!==n._val||v)&&(dt=!0),b&&(u|=1);var r=void 0;ut.enableBatch&&(r=mt._worldMatrix,X=!1,u|=16),t.isAnimationCached()?this.cacheTraverse(r):this.realTimeTraverse(r),mt=void 0,_t=void 0,ft=void 0,ut=void 0}}};n._assembler=vt,e.exports=vt}),{"../../cocos2d/core/renderer":201,"../../cocos2d/core/renderer/render-flow":203,"../../cocos2d/core/renderer/webgl/vertex-format":232,"./Skeleton":294,"./lib/spine":296}],301:[(function(t,e,i){var n=function(){this.start=null,this.end=null,this.complete=null,this.event=null,this.interrupt=null,this.dispose=null};n.getListeners=function(t){return t.listener||(t.listener=new n),t.listener},e.exports=n}),{}],302:[(function(t,e,i){(function(t,n){"object"==typeof i&&void 0!==e?n(i):"function"==typeof define&&define.amd?define(["exports"],n):n(t.box2d={})})(this,(function(t){"use strict";function e(t,e){return void 0!==t?t:e}var i=1e37,n=1e-5,r=n*n,s=3.14159265359,a=2,o=8,h=.008,l=2/180*s,c=2*h,u=8/180*s,_=.5*s,f=_*_,m=-1,d=2/180*s;var p=(function(){function t(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.major=0,this.minor=0,this.revision=0,this.major=t,this.minor=e,this.revision=i}return t.prototype.toString=function(){return this.major+"."+this.minor+"."+this.revision},t})(),y=new p(2,3,2);function v(t,e){for(var i=[],n=0;n<t;++n)i.push(e(n));return i}function g(t,e){void 0===e&&(e=0);for(var i=[],n=0;n<t;++n)i.push(e);return i}var x=s/180,A=180/s,b=2*s,C=Math.abs,S=Math.min,T=Math.max;function w(t,e,i){return t<e?e:t>i?i:t}var E=isFinite;function D(t){return t*t}function M(t){return 1/Math.sqrt(t)}var B=Math.sqrt,P=Math.pow;var I=Math.cos,R=Math.sin,O=Math.acos,L=Math.asin,F=Math.atan2;var V=(function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this.x=t,this.y=e}return t.prototype.Clone=function(){return new t(this.x,this.y)},t.prototype.SetZero=function(){return this.x=0,this.y=0,this},t.prototype.Set=function(t,e){return this.x=t,this.y=e,this},t.prototype.Copy=function(t){return this.x=t.x,this.y=t.y,this},t.prototype.SelfAdd=function(t){return this.x+=t.x,this.y+=t.y,this},t.prototype.SelfAddXY=function(t,e){return this.x+=t,this.y+=e,this},t.prototype.SelfSub=function(t){return this.x-=t.x,this.y-=t.y,this},t.prototype.SelfSubXY=function(t,e){return this.x-=t,this.y-=e,this},t.prototype.SelfMul=function(t){return this.x*=t,this.y*=t,this},t.prototype.SelfMulAdd=function(t,e){return this.x+=t*e.x,this.y+=t*e.y,this},t.prototype.SelfMulSub=function(t,e){return this.x-=t*e.x,this.y-=t*e.y,this},t.prototype.Dot=function(t){return this.x*t.x+this.y*t.y},t.prototype.Cross=function(t){return this.x*t.y-this.y*t.x},t.prototype.Length=function(){var t=this.x,e=this.y;return Math.sqrt(t*t+e*e)},t.prototype.LengthSquared=function(){var t=this.x,e=this.y;return t*t+e*e},t.prototype.Normalize=function(){var t=this.Length();if(t>=n){var e=1/t;this.x*=e,this.y*=e}return t},t.prototype.SelfNormalize=function(){var t=this.Length();if(t>=n){var e=1/t;this.x*=e,this.y*=e}return this},t.prototype.SelfRotate=function(t){var e=Math.cos(t),i=Math.sin(t),n=this.x;return this.x=e*n-i*this.y,this.y=i*n+e*this.y,this},t.prototype.IsValid=function(){return isFinite(this.x)&&isFinite(this.y)},t.prototype.SelfCrossVS=function(t){var e=this.x;return this.x=t*this.y,this.y=-t*e,this},t.prototype.SelfCrossSV=function(t){var e=this.x;return this.x=-t*this.y,this.y=t*e,this},t.prototype.SelfMinV=function(t){return this.x=S(this.x,t.x),this.y=S(this.y,t.y),this},t.prototype.SelfMaxV=function(t){return this.x=T(this.x,t.x),this.y=T(this.y,t.y),this},t.prototype.SelfAbs=function(){return this.x=C(this.x),this.y=C(this.y),this},t.prototype.SelfNeg=function(){return this.x=-this.x,this.y=-this.y,this},t.prototype.SelfSkew=function(){var t=this.x;return this.x=-this.y,this.y=t,this},t.MakeArray=function(e){return v(e,(function(e){return new t}))},t.AbsV=function(t,e){return e.x=C(t.x),e.y=C(t.y),e},t.MinV=function(t,e,i){return i.x=S(t.x,e.x),i.y=S(t.y,e.y),i},t.MaxV=function(t,e,i){return i.x=T(t.x,e.x),i.y=T(t.y,e.y),i},t.ClampV=function(t,e,i,n){return n.x=w(t.x,e.x,i.x),n.y=w(t.y,e.y,i.y),n},t.RotateV=function(t,e,i){var n=t.x,r=t.y,s=Math.cos(e),a=Math.sin(e);return i.x=s*n-a*r,i.y=a*n+s*r,i},t.DotVV=function(t,e){return t.x*e.x+t.y*e.y},t.CrossVV=function(t,e){return t.x*e.y-t.y*e.x},t.CrossVS=function(t,e,i){var n=t.x;return i.x=e*t.y,i.y=-e*n,i},t.CrossVOne=function(t,e){var i=t.x;return e.x=t.y,e.y=-i,e},t.CrossSV=function(t,e,i){var n=e.x;return i.x=-t*e.y,i.y=t*n,i},t.CrossOneV=function(t,e){var i=t.x;return e.x=-t.y,e.y=i,e},t.AddVV=function(t,e,i){return i.x=t.x+e.x,i.y=t.y+e.y,i},t.SubVV=function(t,e,i){return i.x=t.x-e.x,i.y=t.y-e.y,i},t.MulSV=function(t,e,i){return i.x=e.x*t,i.y=e.y*t,i},t.MulVS=function(t,e,i){return i.x=t.x*e,i.y=t.y*e,i},t.AddVMulSV=function(t,e,i,n){return n.x=t.x+e*i.x,n.y=t.y+e*i.y,n},t.SubVMulSV=function(t,e,i,n){return n.x=t.x-e*i.x,n.y=t.y-e*i.y,n},t.AddVCrossSV=function(t,e,i,n){var r=i.x;return n.x=t.x-e*i.y,n.y=t.y+e*r,n},t.MidVV=function(t,e,i){return i.x=.5*(t.x+e.x),i.y=.5*(t.y+e.y),i},t.ExtVV=function(t,e,i){return i.x=.5*(e.x-t.x),i.y=.5*(e.y-t.y),i},t.IsEqualToV=function(t,e){return t.x===e.x&&t.y===e.y},t.DistanceVV=function(t,e){var i=t.x-e.x,n=t.y-e.y;return Math.sqrt(i*i+n*n)},t.DistanceSquaredVV=function(t,e){var i=t.x-e.x,n=t.y-e.y;return i*i+n*n},t.NegV=function(t,e){return e.x=-t.x,e.y=-t.y,e},t.ZERO=new t(0,0),t.UNITX=new t(1,0),t.UNITY=new t(0,1),t.s_t0=new t,t.s_t1=new t,t.s_t2=new t,t.s_t3=new t,t})(),N=new V(0,0),k=(function(){function t(t,e,i){void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),this.x=t,this.y=e,this.z=i}return t.prototype.Clone=function(){return new t(this.x,this.y,this.z)},t.prototype.SetZero=function(){return this.x=0,this.y=0,this.z=0,this},t.prototype.SetXYZ=function(t,e,i){return this.x=t,this.y=e,this.z=i,this},t.prototype.Copy=function(t){return this.x=t.x,this.y=t.y,this.z=t.z,this},t.prototype.SelfNeg=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this},t.prototype.SelfAdd=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this},t.prototype.SelfAddXYZ=function(t,e,i){return this.x+=t,this.y+=e,this.z+=i,this},t.prototype.SelfSub=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this},t.prototype.SelfSubXYZ=function(t,e,i){return this.x-=t,this.y-=e,this.z-=i,this},t.prototype.SelfMul=function(t){return this.x*=t,this.y*=t,this.z*=t,this},t.DotV3V3=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},t.CrossV3V3=function(t,e,i){var n=t.x,r=t.y,s=t.z,a=e.x,o=e.y,h=e.z;return i.x=r*h-s*o,i.y=s*a-n*h,i.z=n*o-r*a,i},t.ZERO=new t(0,0,0),t.s_t0=new t,t})(),G=(function(){function t(){this.ex=new V(1,0),this.ey=new V(0,1)}return t.prototype.Clone=function(){return(new t).Copy(this)},t.FromVV=function(e,i){return(new t).SetVV(e,i)},t.FromSSSS=function(e,i,n,r){return(new t).SetSSSS(e,i,n,r)},t.FromAngle=function(e){return(new t).SetAngle(e)},t.prototype.SetSSSS=function(t,e,i,n){return this.ex.Set(t,i),this.ey.Set(e,n),this},t.prototype.SetVV=function(t,e){return this.ex.Copy(t),this.ey.Copy(e),this},t.prototype.SetAngle=function(t){var e=Math.cos(t),i=Math.sin(t);return this.ex.Set(e,i),this.ey.Set(-i,e),this},t.prototype.Copy=function(t){return this.ex.Copy(t.ex),this.ey.Copy(t.ey),this},t.prototype.SetIdentity=function(){return this.ex.Set(1,0),this.ey.Set(0,1),this},t.prototype.SetZero=function(){return this.ex.SetZero(),this.ey.SetZero(),this},t.prototype.GetAngle=function(){return Math.atan2(this.ex.y,this.ex.x)},t.prototype.GetInverse=function(t){var e=this.ex.x,i=this.ey.x,n=this.ex.y,r=this.ey.y,s=e*r-i*n;return 0!==s&&(s=1/s),t.ex.x=s*r,t.ey.x=-s*i,t.ex.y=-s*n,t.ey.y=s*e,t},t.prototype.Solve=function(t,e,i){var n=this.ex.x,r=this.ey.x,s=this.ex.y,a=this.ey.y,o=n*a-r*s;return 0!==o&&(o=1/o),i.x=o*(a*t-r*e),i.y=o*(n*e-s*t),i},t.prototype.SelfAbs=function(){return this.ex.SelfAbs(),this.ey.SelfAbs(),this},t.prototype.SelfInv=function(){return this.GetInverse(this),this},t.prototype.SelfAddM=function(t){return this.ex.SelfAdd(t.ex),this.ey.SelfAdd(t.ey),this},t.prototype.SelfSubM=function(t){return this.ex.SelfSub(t.ex),this.ey.SelfSub(t.ey),this},t.AbsM=function(t,e){var i=t.ex,n=t.ey;return e.ex.x=C(i.x),e.ex.y=C(i.y),e.ey.x=C(n.x),e.ey.y=C(n.y),e},t.MulMV=function(t,e,i){var n=t.ex,r=t.ey,s=e.x,a=e.y;return i.x=n.x*s+r.x*a,i.y=n.y*s+r.y*a,i},t.MulTMV=function(t,e,i){var n=t.ex,r=t.ey,s=e.x,a=e.y;return i.x=n.x*s+n.y*a,i.y=r.x*s+r.y*a,i},t.AddMM=function(t,e,i){var n=t.ex,r=t.ey,s=e.ex,a=e.ey;return i.ex.x=n.x+s.x,i.ex.y=n.y+s.y,i.ey.x=r.x+a.x,i.ey.y=r.y+a.y,i},t.MulMM=function(t,e,i){var n=t.ex.x,r=t.ex.y,s=t.ey.x,a=t.ey.y,o=e.ex.x,h=e.ex.y,l=e.ey.x,c=e.ey.y;return i.ex.x=n*o+s*h,i.ex.y=r*o+a*h,i.ey.x=n*l+s*c,i.ey.y=r*l+a*c,i},t.MulTMM=function(t,e,i){var n=t.ex.x,r=t.ex.y,s=t.ey.x,a=t.ey.y,o=e.ex.x,h=e.ex.y,l=e.ey.x,c=e.ey.y;return i.ex.x=n*o+r*h,i.ex.y=s*o+a*h,i.ey.x=n*l+r*c,i.ey.y=s*l+a*c,i},t.IDENTITY=new t,t})(),z=(function(){function t(){this.ex=new k(1,0,0),this.ey=new k(0,1,0),this.ez=new k(0,0,1)}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.SetVVV=function(t,e,i){return this.ex.Copy(t),this.ey.Copy(e),this.ez.Copy(i),this},t.prototype.Copy=function(t){return this.ex.Copy(t.ex),this.ey.Copy(t.ey),this.ez.Copy(t.ez),this},t.prototype.SetIdentity=function(){return this.ex.SetXYZ(1,0,0),this.ey.SetXYZ(0,1,0),this.ez.SetXYZ(0,0,1),this},t.prototype.SetZero=function(){return this.ex.SetZero(),this.ey.SetZero(),this.ez.SetZero(),this},t.prototype.SelfAddM=function(t){return this.ex.SelfAdd(t.ex),this.ey.SelfAdd(t.ey),this.ez.SelfAdd(t.ez),this},t.prototype.Solve33=function(t,e,i,n){var r=this.ex.x,s=this.ex.y,a=this.ex.z,o=this.ey.x,h=this.ey.y,l=this.ey.z,c=this.ez.x,u=this.ez.y,_=this.ez.z,f=r*(h*_-l*u)+s*(l*c-o*_)+a*(o*u-h*c);return 0!==f&&(f=1/f),n.x=f*(t*(h*_-l*u)+e*(l*c-o*_)+i*(o*u-h*c)),n.y=f*(r*(e*_-i*u)+s*(i*c-t*_)+a*(t*u-e*c)),n.z=f*(r*(h*i-l*e)+s*(l*t-o*i)+a*(o*e-h*t)),n},t.prototype.Solve22=function(t,e,i){var n=this.ex.x,r=this.ey.x,s=this.ex.y,a=this.ey.y,o=n*a-r*s;return 0!==o&&(o=1/o),i.x=o*(a*t-r*e),i.y=o*(n*e-s*t),i},t.prototype.GetInverse22=function(t){var e=this.ex.x,i=this.ey.x,n=this.ex.y,r=this.ey.y,s=e*r-i*n;0!==s&&(s=1/s),t.ex.x=s*r,t.ey.x=-s*i,t.ex.z=0,t.ex.y=-s*n,t.ey.y=s*e,t.ey.z=0,t.ez.x=0,t.ez.y=0,t.ez.z=0},t.prototype.GetSymInverse33=function(t){var e=k.DotV3V3(this.ex,k.CrossV3V3(this.ey,this.ez,k.s_t0));0!==e&&(e=1/e);var i=this.ex.x,n=this.ey.x,r=this.ez.x,s=this.ey.y,a=this.ez.y,o=this.ez.z;t.ex.x=e*(s*o-a*a),t.ex.y=e*(r*a-n*o),t.ex.z=e*(n*a-r*s),t.ey.x=t.ex.y,t.ey.y=e*(i*o-r*r),t.ey.z=e*(r*n-i*a),t.ez.x=t.ex.z,t.ez.y=t.ey.z,t.ez.z=e*(i*s-n*n)},t.MulM33V3=function(t,e,i){var n=e.x,r=e.y,s=e.z;return i.x=t.ex.x*n+t.ey.x*r+t.ez.x*s,i.y=t.ex.y*n+t.ey.y*r+t.ez.y*s,i.z=t.ex.z*n+t.ey.z*r+t.ez.z*s,i},t.MulM33XYZ=function(t,e,i,n,r){return r.x=t.ex.x*e+t.ey.x*i+t.ez.x*n,r.y=t.ex.y*e+t.ey.y*i+t.ez.y*n,r.z=t.ex.z*e+t.ey.z*i+t.ez.z*n,r},t.MulM33V2=function(t,e,i){var n=e.x,r=e.y;return i.x=t.ex.x*n+t.ey.x*r,i.y=t.ex.y*n+t.ey.y*r,i},t.MulM33XY=function(t,e,i,n){return n.x=t.ex.x*e+t.ey.x*i,n.y=t.ex.y*e+t.ey.y*i,n},t.IDENTITY=new t,t})(),U=(function(){function t(t){void 0===t&&(t=0),this.s=0,this.c=1,t&&(this.s=Math.sin(t),this.c=Math.cos(t))}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.s=t.s,this.c=t.c,this},t.prototype.SetAngle=function(t){return this.s=Math.sin(t),this.c=Math.cos(t),this},t.prototype.SetIdentity=function(){return this.s=0,this.c=1,this},t.prototype.GetAngle=function(){return Math.atan2(this.s,this.c)},t.prototype.GetXAxis=function(t){return t.x=this.c,t.y=this.s,t},t.prototype.GetYAxis=function(t){return t.x=-this.s,t.y=this.c,t},t.MulRR=function(t,e,i){var n=t.c,r=t.s,s=e.c,a=e.s;return i.s=r*s+n*a,i.c=n*s-r*a,i},t.MulTRR=function(t,e,i){var n=t.c,r=t.s,s=e.c,a=e.s;return i.s=n*a-r*s,i.c=n*s+r*a,i},t.MulRV=function(t,e,i){var n=t.c,r=t.s,s=e.x,a=e.y;return i.x=n*s-r*a,i.y=r*s+n*a,i},t.MulTRV=function(t,e,i){var n=t.c,r=t.s,s=e.x,a=e.y;return i.x=n*s+r*a,i.y=-r*s+n*a,i},t.IDENTITY=new t,t})(),j=(function(){function t(){this.p=new V,this.q=new U}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.p.Copy(t.p),this.q.Copy(t.q),this},t.prototype.SetIdentity=function(){return this.p.SetZero(),this.q.SetIdentity(),this},t.prototype.SetPositionRotation=function(t,e){return this.p.Copy(t),this.q.Copy(e),this},t.prototype.SetPositionAngle=function(t,e){return this.p.Copy(t),this.q.SetAngle(e),this},t.prototype.SetPosition=function(t){return this.p.Copy(t),this},t.prototype.SetPositionXY=function(t,e){return this.p.Set(t,e),this},t.prototype.SetRotation=function(t){return this.q.Copy(t),this},t.prototype.SetRotationAngle=function(t){return this.q.SetAngle(t),this},t.prototype.GetPosition=function(){return this.p},t.prototype.GetRotation=function(){return this.q},t.prototype.GetRotationAngle=function(){return this.q.GetAngle()},t.prototype.GetAngle=function(){return this.q.GetAngle()},t.MulXV=function(t,e,i){var n=t.q.c,r=t.q.s,s=e.x,a=e.y;return i.x=n*s-r*a+t.p.x,i.y=r*s+n*a+t.p.y,i},t.MulTXV=function(t,e,i){var n=t.q.c,r=t.q.s,s=e.x-t.p.x,a=e.y-t.p.y;return i.x=n*s+r*a,i.y=-r*s+n*a,i},t.MulXX=function(t,e,i){return U.MulRR(t.q,e.q,i.q),V.AddVV(U.MulRV(t.q,e.p,i.p),t.p,i.p),i},t.MulTXX=function(t,e,i){return U.MulTRR(t.q,e.q,i.q),U.MulTRV(t.q,V.SubVV(e.p,t.p,i.p),i.p),i},t.IDENTITY=new t,t})(),W=(function(){function t(){this.localCenter=new V,this.c0=new V,this.c=new V,this.a0=0,this.a=0,this.alpha0=0}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.localCenter.Copy(t.localCenter),this.c0.Copy(t.c0),this.c.Copy(t.c),this.a0=t.a0,this.a=t.a,this.alpha0=t.alpha0,this},t.prototype.GetTransform=function(t,e){var i=1-e;t.p.x=i*this.c0.x+e*this.c.x,t.p.y=i*this.c0.y+e*this.c.y;var n=i*this.a0+e*this.a;return t.q.SetAngle(n),t.p.SelfSub(U.MulRV(t.q,this.localCenter,V.s_t0)),t},t.prototype.Advance=function(t){var e=(t-this.alpha0)/(1-this.alpha0),i=1-e;this.c0.x=i*this.c0.x+e*this.c.x,this.c0.y=i*this.c0.y+e*this.c.y,this.a0=i*this.a0+e*this.a,this.alpha0=t},t.prototype.Normalize=function(){var t=b*Math.floor(this.a0/b);this.a0-=t,this.a-=t},t})(),H=(function(){function t(t,e,i,n){void 0===t&&(t=.5),void 0===e&&(e=.5),void 0===i&&(i=.5),void 0===n&&(n=1),this.r=t,this.g=e,this.b=i,this.a=n}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.r=t.r,this.g=t.g,this.b=t.b,this.a=t.a,this},t.prototype.IsEqual=function(t){return this.r===t.r&&this.g===t.g&&this.b===t.b&&this.a===t.a},t.prototype.IsZero=function(){return 0===this.r&&0===this.g&&0===this.b&&0===this.a},t.prototype.Set=function(t,e,i,n){void 0===n&&(n=this.a),this.SetRGBA(t,e,i,n)},t.prototype.SetByteRGB=function(t,e,i){return this.r=t/255,this.g=e/255,this.b=i/255,this},t.prototype.SetByteRGBA=function(t,e,i,n){return this.r=t/255,this.g=e/255,this.b=i/255,this.a=n/255,this},t.prototype.SetRGB=function(t,e,i){return this.r=t,this.g=e,this.b=i,this},t.prototype.SetRGBA=function(t,e,i,n){return this.r=t,this.g=e,this.b=i,this.a=n,this},t.prototype.SelfAdd=function(t){return this.r+=t.r,this.g+=t.g,this.b+=t.b,this.a+=t.a,this},t.prototype.Add=function(t,e){return e.r=this.r+t.r,e.g=this.g+t.g,e.b=this.b+t.b,e.a=this.a+t.a,e},t.prototype.SelfSub=function(t){return this.r-=t.r,this.g-=t.g,this.b-=t.b,this.a-=t.a,this},t.prototype.Sub=function(t,e){return e.r=this.r-t.r,e.g=this.g-t.g,e.b=this.b-t.b,e.a=this.a-t.a,e},t.prototype.SelfMul=function(t){return this.r*=t,this.g*=t,this.b*=t,this.a*=t,this},t.prototype.Mul=function(t,e){return e.r=this.r*t,e.g=this.g*t,e.b=this.b*t,e.a=this.a*t,e},t.prototype.Mix=function(e,i){t.MixColors(this,e,i)},t.MixColors=function(t,e,i){var n=i*(e.r-t.r),r=i*(e.g-t.g),s=i*(e.b-t.b),a=i*(e.a-t.a);t.r+=n,t.g+=r,t.b+=s,t.a+=a,e.r-=n,e.g-=r,e.b-=s,e.a-=a},t.prototype.MakeStyleString=function(e){return void 0===e&&(e=this.a),t.MakeStyleString(this.r,this.g,this.b,e)},t.MakeStyleString=function(t,e,i,n){return void 0===n&&(n=1),t*=255,e*=255,i*=255,n<1?"rgba("+t+","+e+","+i+","+n+")":"rgb("+t+","+e+","+i+")"},t.ZERO=new t(0,0,0,0),t.RED=new t(1,0,0),t.GREEN=new t(0,1,0),t.BLUE=new t(0,0,1),t})();(function(t){t[t.e_none=0]="e_none",t[t.e_shapeBit=1]="e_shapeBit",t[t.e_jointBit=2]="e_jointBit",t[t.e_aabbBit=4]="e_aabbBit",t[t.e_pairBit=8]="e_pairBit",t[t.e_centerOfMassBit=16]="e_centerOfMassBit",t[t.e_particleBit=32]="e_particleBit",t[t.e_controllerBit=64]="e_controllerBit",t[t.e_all=63]="e_all"})(t.b2DrawFlags||(t.b2DrawFlags={}));var X=(function(){function t(){this.m_drawFlags=0}return t.prototype.SetFlags=function(t){this.m_drawFlags=t},t.prototype.GetFlags=function(){return this.m_drawFlags},t.prototype.AppendFlags=function(t){this.m_drawFlags|=t},t.prototype.ClearFlags=function(t){this.m_drawFlags&=~t},t})(),Y=(function(){function t(){this.m_start=Date.now()}return t.prototype.Reset=function(){return this.m_start=Date.now(),this},t.prototype.GetMilliseconds=function(){return Date.now()-this.m_start},t})(),q=(function(){function t(){this.m_count=0,this.m_min_count=0,this.m_max_count=0}return t.prototype.GetCount=function(){return this.m_count},t.prototype.GetMinCount=function(){return this.m_min_count},t.prototype.GetMaxCount=function(){return this.m_max_count},t.prototype.ResetCount=function(){var t=this.m_count;return this.m_count=0,t},t.prototype.ResetMinCount=function(){this.m_min_count=0},t.prototype.ResetMaxCount=function(){this.m_max_count=0},t.prototype.Increment=function(){this.m_count++,this.m_max_count<this.m_count&&(this.m_max_count=this.m_count)},t.prototype.Decrement=function(){this.m_count--,this.m_min_count>this.m_count&&(this.m_min_count=this.m_count)},t})(),J=(function(){function t(t){this.m_stack=[],this.m_count=0,this.m_stack=v(t,(function(t){return null})),this.m_count=0}return t.prototype.Reset=function(){return this.m_count=0,this},t.prototype.Push=function(t){this.m_stack[this.m_count]=t,this.m_count++},t.prototype.Pop=function(){this.m_count--;var t=this.m_stack[this.m_count];if(this.m_stack[this.m_count]=null,null===t)throw new Error;return t},t.prototype.GetCount=function(){return this.m_count},t})(),Z=(function(){return function(){}})(),K=(function(){return function(){}})(),Q=(function(){function t(){this.m_buffer=V.MakeArray(2),this.m_vertices=this.m_buffer,this.m_count=0,this.m_radius=0}return t.prototype.Copy=function(t){return t.m_vertices===t.m_buffer?(this.m_vertices=this.m_buffer,this.m_buffer[0].Copy(t.m_buffer[0]),this.m_buffer[1].Copy(t.m_buffer[1])):this.m_vertices=t.m_vertices,this.m_count=t.m_count,this.m_radius=t.m_radius,this},t.prototype.Reset=function(){return this.m_vertices=this.m_buffer,this.m_count=0,this.m_radius=0,this},t.prototype.SetShape=function(t,e){t.SetupDistanceProxy(this,e)},t.prototype.SetVerticesRadius=function(t,e,i){this.m_vertices=t,this.m_count=e,this.m_radius=i},t.prototype.GetSupport=function(t){for(var e=0,i=V.DotVV(this.m_vertices[0],t),n=1;n<this.m_count;++n){var r=V.DotVV(this.m_vertices[n],t);r>i&&(e=n,i=r)}return e},t.prototype.GetSupportVertex=function(t){for(var e=0,i=V.DotVV(this.m_vertices[0],t),n=1;n<this.m_count;++n){var r=V.DotVV(this.m_vertices[n],t);r>i&&(e=n,i=r)}return this.m_vertices[e]},t.prototype.GetVertexCount=function(){return this.m_count},t.prototype.GetVertex=function(t){return this.m_vertices[t]},t})(),$=(function(){function t(){this.metric=0,this.count=0,this.indexA=[0,0,0],this.indexB=[0,0,0]}return t.prototype.Reset=function(){return this.metric=0,this.count=0,this},t})(),tt=(function(){function t(){this.proxyA=new Q,this.proxyB=new Q,this.transformA=new j,this.transformB=new j,this.useRadii=!1}return t.prototype.Reset=function(){return this.proxyA.Reset(),this.proxyB.Reset(),this.transformA.SetIdentity(),this.transformB.SetIdentity(),this.useRadii=!1,this},t})(),et=(function(){function t(){this.pointA=new V,this.pointB=new V,this.distance=0,this.iterations=0}return t.prototype.Reset=function(){return this.pointA.SetZero(),this.pointB.SetZero(),this.distance=0,this.iterations=0,this},t})(),it=(function(){return function(){this.proxyA=new Q,this.proxyB=new Q,this.transformA=new j,this.transformB=new j,this.translationB=new V}})(),nt=(function(){return function(){this.point=new V,this.normal=new V,this.lambda=0,this.iterations=0}})();t.b2_gjkCalls=0,t.b2_gjkIters=0,t.b2_gjkMaxIters=0;var rt=(function(){function t(){this.wA=new V,this.wB=new V,this.w=new V,this.a=0,this.indexA=0,this.indexB=0}return t.prototype.Copy=function(t){return this.wA.Copy(t.wA),this.wB.Copy(t.wB),this.w.Copy(t.w),this.a=t.a,this.indexA=t.indexA,this.indexB=t.indexB,this},t})(),st=(function(){function t(){this.m_v1=new rt,this.m_v2=new rt,this.m_v3=new rt,this.m_vertices=[],this.m_count=0,this.m_vertices[0]=this.m_v1,this.m_vertices[1]=this.m_v2,this.m_vertices[2]=this.m_v3}return t.prototype.ReadCache=function(t,e,i,r,s){this.m_count=t.count;for(var a=this.m_vertices,o=0;o<this.m_count;++o){(_=a[o]).indexA=t.indexA[o],_.indexB=t.indexB[o];var h=e.GetVertex(_.indexA),l=r.GetVertex(_.indexB);j.MulXV(i,h,_.wA),j.MulXV(s,l,_.wB),V.SubVV(_.wB,_.wA,_.w),_.a=0}if(this.m_count>1){var c=t.metric,u=this.GetMetric();(u<.5*c||2*c<u||u<n)&&(this.m_count=0)}if(0===this.m_count){var _;(_=a[0]).indexA=0,_.indexB=0;h=e.GetVertex(0),l=r.GetVertex(0);j.MulXV(i,h,_.wA),j.MulXV(s,l,_.wB),V.SubVV(_.wB,_.wA,_.w),_.a=1,this.m_count=1}},t.prototype.WriteCache=function(t){t.metric=this.GetMetric(),t.count=this.m_count;for(var e=this.m_vertices,i=0;i<this.m_count;++i)t.indexA[i]=e[i].indexA,t.indexB[i]=e[i].indexB},t.prototype.GetSearchDirection=function(t){switch(this.m_count){case 1:return V.NegV(this.m_v1.w,t);case 2:var e=V.SubVV(this.m_v2.w,this.m_v1.w,t);return V.CrossVV(e,V.NegV(this.m_v1.w,V.s_t0))>0?V.CrossOneV(e,t):V.CrossVOne(e,t);default:return t.SetZero()}},t.prototype.GetClosestPoint=function(t){switch(this.m_count){case 0:return t.SetZero();case 1:return t.Copy(this.m_v1.w);case 2:return t.Set(this.m_v1.a*this.m_v1.w.x+this.m_v2.a*this.m_v2.w.x,this.m_v1.a*this.m_v1.w.y+this.m_v2.a*this.m_v2.w.y);case 3:default:return t.SetZero()}},t.prototype.GetWitnessPoints=function(t,e){switch(this.m_count){case 0:break;case 1:t.Copy(this.m_v1.wA),e.Copy(this.m_v1.wB);break;case 2:t.x=this.m_v1.a*this.m_v1.wA.x+this.m_v2.a*this.m_v2.wA.x,t.y=this.m_v1.a*this.m_v1.wA.y+this.m_v2.a*this.m_v2.wA.y,e.x=this.m_v1.a*this.m_v1.wB.x+this.m_v2.a*this.m_v2.wB.x,e.y=this.m_v1.a*this.m_v1.wB.y+this.m_v2.a*this.m_v2.wB.y;break;case 3:e.x=t.x=this.m_v1.a*this.m_v1.wA.x+this.m_v2.a*this.m_v2.wA.x+this.m_v3.a*this.m_v3.wA.x,e.y=t.y=this.m_v1.a*this.m_v1.wA.y+this.m_v2.a*this.m_v2.wA.y+this.m_v3.a*this.m_v3.wA.y}},t.prototype.GetMetric=function(){switch(this.m_count){case 0:case 1:return 0;case 2:return V.DistanceVV(this.m_v1.w,this.m_v2.w);case 3:return V.CrossVV(V.SubVV(this.m_v2.w,this.m_v1.w,V.s_t0),V.SubVV(this.m_v3.w,this.m_v1.w,V.s_t1));default:return 0}},t.prototype.Solve2=function(){var e=this.m_v1.w,i=this.m_v2.w,n=V.SubVV(i,e,t.s_e12),r=-V.DotVV(e,n);if(r<=0)return this.m_v1.a=1,void(this.m_count=1);var s=V.DotVV(i,n);if(s<=0)return this.m_v2.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v2);var a=1/(s+r);this.m_v1.a=s*a,this.m_v2.a=r*a,this.m_count=2},t.prototype.Solve3=function(){var e=this.m_v1.w,i=this.m_v2.w,n=this.m_v3.w,r=V.SubVV(i,e,t.s_e12),s=V.DotVV(e,r),a=V.DotVV(i,r),o=-s,h=V.SubVV(n,e,t.s_e13),l=V.DotVV(e,h),c=V.DotVV(n,h),u=-l,_=V.SubVV(n,i,t.s_e23),f=V.DotVV(i,_),m=V.DotVV(n,_),d=-f,p=V.CrossVV(r,h),y=p*V.CrossVV(i,n),v=p*V.CrossVV(n,e),g=p*V.CrossVV(e,i);if(o<=0&&u<=0)return this.m_v1.a=1,void(this.m_count=1);if(a>0&&o>0&&g<=0){var x=1/(a+o);return this.m_v1.a=a*x,this.m_v2.a=o*x,void(this.m_count=2)}if(c>0&&u>0&&v<=0){var A=1/(c+u);return this.m_v1.a=c*A,this.m_v3.a=u*A,this.m_count=2,void this.m_v2.Copy(this.m_v3)}if(a<=0&&d<=0)return this.m_v2.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v2);if(c<=0&&m<=0)return this.m_v3.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v3);if(m>0&&d>0&&y<=0){var b=1/(m+d);return this.m_v2.a=m*b,this.m_v3.a=d*b,this.m_count=2,void this.m_v1.Copy(this.m_v3)}var C=1/(y+v+g);this.m_v1.a=y*C,this.m_v2.a=v*C,this.m_v3.a=g*C,this.m_count=3},t.s_e12=new V,t.s_e13=new V,t.s_e23=new V,t})(),at=new st,ot=[0,0,0],ht=[0,0,0],lt=new V,ct=new V,ut=new V,_t=new V,ft=new V;function mt(e,i,s){++t.b2_gjkCalls;var a=s.proxyA,o=s.proxyB,h=s.transformA,l=s.transformB,c=at;c.ReadCache(i,a,h,o,l);for(var u=c.m_vertices,_=ot,f=ht,m=0,d=0;d<20;){m=c.m_count;for(var p=0;p<m;++p)_[p]=u[p].indexA,f[p]=u[p].indexB;switch(c.m_count){case 1:break;case 2:c.Solve2();break;case 3:c.Solve3()}if(3===c.m_count)break;var y=c.GetSearchDirection(ct);if(y.LengthSquared()<r)break;var v=u[c.m_count];v.indexA=a.GetSupport(U.MulTRV(h.q,V.NegV(y,V.s_t0),_t)),j.MulXV(h,a.GetVertex(v.indexA),v.wA),v.indexB=o.GetSupport(U.MulTRV(l.q,y,ft)),j.MulXV(l,o.GetVertex(v.indexB),v.wB),V.SubVV(v.wB,v.wA,v.w),++d,++t.b2_gjkIters;var g=!1;for(p=0;p<m;++p)if(v.indexA===_[p]&&v.indexB===f[p]){g=!0;break}if(g)break;++c.m_count}if(t.b2_gjkMaxIters=T(t.b2_gjkMaxIters,d),c.GetWitnessPoints(e.pointA,e.pointB),e.distance=V.DistanceVV(e.pointA,e.pointB),e.iterations=d,c.WriteCache(i),s.useRadii){var x=a.m_radius,A=o.m_radius;if(e.distance>x+A&&e.distance>n){e.distance-=x+A;var b=V.SubVV(e.pointB,e.pointA,ut);b.Normalize(),e.pointA.SelfMulAdd(x,b),e.pointB.SelfMulSub(A,b)}else{var C=V.MidVV(e.pointA,e.pointB,lt);e.pointA.Copy(C),e.pointB.Copy(C),e.distance=0}}}var dt=new V,pt=new st,yt=new V,vt=new V,gt=new V,xt=new V,At=new V,bt=new V;(function(t){t[t.e_vertex=0]="e_vertex",t[t.e_face=1]="e_face"})(t.b2ContactFeatureType||(t.b2ContactFeatureType={}));var Ct=(function(){function t(){this._key=0,this._key_invalid=!1,this._indexA=0,this._indexB=0,this._typeA=0,this._typeB=0}return Object.defineProperty(t.prototype,"key",{get:function(){return this._key_invalid&&(this._key_invalid=!1,this._key=this._indexA|this._indexB<<8|this._typeA<<16|this._typeB<<24),this._key},set:function(t){this._key=t,this._key_invalid=!1,this._indexA=255&this._key,this._indexB=this._key>>8&255,this._typeA=this._key>>16&255,this._typeB=this._key>>24&255},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"indexA",{get:function(){return this._indexA},set:function(t){this._indexA=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"indexB",{get:function(){return this._indexB},set:function(t){this._indexB=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"typeA",{get:function(){return this._typeA},set:function(t){this._typeA=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"typeB",{get:function(){return this._typeB},set:function(t){this._typeB=t,this._key_invalid=!0},enumerable:!0,configurable:!0}),t})(),St=(function(){function t(){this.cf=new Ct}return t.prototype.Copy=function(t){return this.key=t.key,this},t.prototype.Clone=function(){return(new t).Copy(this)},Object.defineProperty(t.prototype,"key",{get:function(){return this.cf.key},set:function(t){this.cf.key=t},enumerable:!0,configurable:!0}),t})(),Tt=(function(){function t(){this.localPoint=new V,this.normalImpulse=0,this.tangentImpulse=0,this.id=new St}return t.MakeArray=function(e){return v(e,(function(e){return new t}))},t.prototype.Reset=function(){this.localPoint.SetZero(),this.normalImpulse=0,this.tangentImpulse=0,this.id.key=0},t.prototype.Copy=function(t){return this.localPoint.Copy(t.localPoint),this.normalImpulse=t.normalImpulse,this.tangentImpulse=t.tangentImpulse,this.id.Copy(t.id),this},t})();(function(t){t[t.e_unknown=-1]="e_unknown",t[t.e_circles=0]="e_circles",t[t.e_faceA=1]="e_faceA",t[t.e_faceB=2]="e_faceB"})(t.b2ManifoldType||(t.b2ManifoldType={}));var wt=(function(){function e(){this.points=Tt.MakeArray(a),this.localNormal=new V,this.localPoint=new V,this.type=t.b2ManifoldType.e_unknown,this.pointCount=0}return e.prototype.Reset=function(){for(var e=0;e<a;++e)this.points[e].Reset();this.localNormal.SetZero(),this.localPoint.SetZero(),this.type=t.b2ManifoldType.e_unknown,this.pointCount=0},e.prototype.Copy=function(t){this.pointCount=t.pointCount;for(var e=0;e<a;++e)this.points[e].Copy(t.points[e]);return this.localNormal.Copy(t.localNormal),this.localPoint.Copy(t.localPoint),this.type=t.type,this},e.prototype.Clone=function(){return(new e).Copy(this)},e})(),Et=(function(){function e(){this.normal=new V,this.points=V.MakeArray(a),this.separations=g(a)}return e.prototype.Initialize=function(i,n,s,a,o){if(0!==i.pointCount)switch(i.type){case t.b2ManifoldType.e_circles:this.normal.Set(1,0);var h=j.MulXV(n,i.localPoint,e.Initialize_s_pointA),l=j.MulXV(a,i.points[0].localPoint,e.Initialize_s_pointB);V.DistanceSquaredVV(h,l)>r&&V.SubVV(l,h,this.normal).SelfNormalize();var c=V.AddVMulSV(h,s,this.normal,e.Initialize_s_cA),u=V.SubVMulSV(l,o,this.normal,e.Initialize_s_cB);V.MidVV(c,u,this.points[0]),this.separations[0]=V.DotVV(V.SubVV(u,c,V.s_t0),this.normal);break;case t.b2ManifoldType.e_faceA:U.MulRV(n.q,i.localNormal,this.normal);for(var _=j.MulXV(n,i.localPoint,e.Initialize_s_planePoint),f=0;f<i.pointCount;++f){var m=j.MulXV(a,i.points[f].localPoint,e.Initialize_s_clipPoint),d=s-V.DotVV(V.SubVV(m,_,V.s_t0),this.normal);c=V.AddVMulSV(m,d,this.normal,e.Initialize_s_cA),u=V.SubVMulSV(m,o,this.normal,e.Initialize_s_cB);V.MidVV(c,u,this.points[f]),this.separations[f]=V.DotVV(V.SubVV(u,c,V.s_t0),this.normal)}break;case t.b2ManifoldType.e_faceB:U.MulRV(a.q,i.localNormal,this.normal);for(_=j.MulXV(a,i.localPoint,e.Initialize_s_planePoint),f=0;f<i.pointCount;++f){m=j.MulXV(n,i.points[f].localPoint,e.Initialize_s_clipPoint),d=o-V.DotVV(V.SubVV(m,_,V.s_t0),this.normal),u=V.AddVMulSV(m,d,this.normal,e.Initialize_s_cB),c=V.SubVMulSV(m,s,this.normal,e.Initialize_s_cA);V.MidVV(c,u,this.points[f]),this.separations[f]=V.DotVV(V.SubVV(c,u,V.s_t0),this.normal)}this.normal.SelfNeg()}},e.Initialize_s_pointA=new V,e.Initialize_s_pointB=new V,e.Initialize_s_cA=new V,e.Initialize_s_cB=new V,e.Initialize_s_planePoint=new V,e.Initialize_s_clipPoint=new V,e})();(function(t){t[t.b2_nullState=0]="b2_nullState",t[t.b2_addState=1]="b2_addState",t[t.b2_persistState=2]="b2_persistState",t[t.b2_removeState=3]="b2_removeState"})(t.b2PointState||(t.b2PointState={}));var Dt=(function(){function t(){this.v=new V,this.id=new St}return t.MakeArray=function(e){return v(e,(function(e){return new t}))},t.prototype.Copy=function(t){return this.v.Copy(t.v),this.id.Copy(t.id),this},t})(),Mt=(function(){function t(){this.p1=new V,this.p2=new V,this.maxFraction=1}return t.prototype.Copy=function(t){return this.p1.Copy(t.p1),this.p2.Copy(t.p2),this.maxFraction=t.maxFraction,this},t})(),Bt=(function(){function t(){this.normal=new V,this.fraction=0}return t.prototype.Copy=function(t){return this.normal.Copy(t.normal),this.fraction=t.fraction,this},t})(),Pt=(function(){function t(){this.lowerBound=new V,this.upperBound=new V,this.m_cache_center=new V,this.m_cache_extent=new V}return t.prototype.Copy=function(t){return this.lowerBound.Copy(t.lowerBound),this.upperBound.Copy(t.upperBound),this},t.prototype.IsValid=function(){var t=this.upperBound.x-this.lowerBound.x,e=this.upperBound.y-this.lowerBound.y,i=t>=0&&e>=0;return i=i&&this.lowerBound.IsValid()&&this.upperBound.IsValid()},t.prototype.GetCenter=function(){return V.MidVV(this.lowerBound,this.upperBound,this.m_cache_center)},t.prototype.GetExtents=function(){return V.ExtVV(this.lowerBound,this.upperBound,this.m_cache_extent)},t.prototype.GetPerimeter=function(){return 2*(this.upperBound.x-this.lowerBound.x+(this.upperBound.y-this.lowerBound.y))},t.prototype.Combine1=function(t){return this.lowerBound.x=S(this.lowerBound.x,t.lowerBound.x),this.lowerBound.y=S(this.lowerBound.y,t.lowerBound.y),this.upperBound.x=T(this.upperBound.x,t.upperBound.x),this.upperBound.y=T(this.upperBound.y,t.upperBound.y),this},t.prototype.Combine2=function(t,e){return this.lowerBound.x=S(t.lowerBound.x,e.lowerBound.x),this.lowerBound.y=S(t.lowerBound.y,e.lowerBound.y),this.upperBound.x=T(t.upperBound.x,e.upperBound.x),this.upperBound.y=T(t.upperBound.y,e.upperBound.y),this},t.Combine=function(t,e,i){return i.Combine2(t,e),i},t.prototype.Contains=function(t){var e=!0;return e=(e=(e=(e=e&&this.lowerBound.x<=t.lowerBound.x)&&this.lowerBound.y<=t.lowerBound.y)&&t.upperBound.x<=this.upperBound.x)&&t.upperBound.y<=this.upperBound.y},t.prototype.RayCast=function(t,e){var r=-i,s=i,a=e.p1.x,o=e.p1.y,h=e.p2.x-e.p1.x,l=e.p2.y-e.p1.y,c=C(h),u=C(l),_=t.normal;if(c<n){if(a<this.lowerBound.x||this.upperBound.x<a)return!1}else{var f=1/h,m=-1;if((p=(this.lowerBound.x-a)*f)>(y=(this.upperBound.x-a)*f)){var d=p;p=y,y=d,m=1}if(p>r&&(_.x=m,_.y=0,r=p),r>(s=S(s,y)))return!1}if(u<n){if(o<this.lowerBound.y||this.upperBound.y<o)return!1}else{var p,y;f=1/l,m=-1;if((p=(this.lowerBound.y-o)*f)>(y=(this.upperBound.y-o)*f)){d=p;p=y,y=d,m=1}if(p>r&&(_.x=0,_.y=m,r=p),r>(s=S(s,y)))return!1}return!(r<0||e.maxFraction<r)&&(t.fraction=r,!0)},t.prototype.TestContain=function(t){return!(t.x<this.lowerBound.x||this.upperBound.x<t.x)&&!(t.y<this.lowerBound.y||this.upperBound.y<t.y)},t.prototype.TestOverlap=function(t){var e=t.lowerBound.x-this.upperBound.x,i=t.lowerBound.y-this.upperBound.y,n=this.lowerBound.x-t.upperBound.x,r=this.lowerBound.y-t.upperBound.y;return!(e>0||i>0)&&!(n>0||r>0)},t})();function It(t,e){var i=e.lowerBound.x-t.upperBound.x,n=e.lowerBound.y-t.upperBound.y,r=t.lowerBound.x-e.upperBound.x,s=t.lowerBound.y-e.upperBound.y;return!(i>0||n>0)&&!(r>0||s>0)}function Rt(e,i,n,r,s){var a=0,o=i[0],h=i[1],l=V.DotVV(n,o.v)-r,c=V.DotVV(n,h.v)-r;if(l<=0&&e[a++].Copy(o),c<=0&&e[a++].Copy(h),l*c<0){var u=l/(l-c),_=e[a].v;_.x=o.v.x+u*(h.v.x-o.v.x),_.y=o.v.y+u*(h.v.y-o.v.y);var f=e[a].id;f.cf.indexA=s,f.cf.indexB=o.id.cf.indexB,f.cf.typeA=t.b2ContactFeatureType.e_vertex,f.cf.typeB=t.b2ContactFeatureType.e_face,++a}return a}var Ot=new tt,Lt=new $,Ft=new et;function Vt(t,e,i,r,s,a){var o=Ot.Reset();o.proxyA.SetShape(t,e),o.proxyB.SetShape(i,r),o.transformA.Copy(s),o.transformB.Copy(a),o.useRadii=!0;var h=Lt.Reset();h.count=0;var l=Ft.Reset();return mt(l,h,o),l.distance<10*n}function Nt(t){if(null===t)throw new Error;return t}var kt=(function(){function t(t){void 0===t&&(t=0),this.m_id=0,this.aabb=new Pt,this.parent=null,this.child1=null,this.child2=null,this.height=0,this.m_id=t}return t.prototype.IsLeaf=function(){return null===this.child1},t})(),Gt=(function(){function t(){this.m_root=null,this.m_freeList=null,this.m_path=0,this.m_insertionCount=0,this.m_stack=new J(256)}return t.prototype.Query=function(t,e){if(null!==this.m_root){var i=this.m_stack.Reset();for(i.Push(this.m_root);i.GetCount()>0;){var n=i.Pop();if(n.aabb.TestOverlap(t))if(n.IsLeaf()){if(!e(n))return}else i.Push(Nt(n.child1)),i.Push(Nt(n.child2))}}},t.prototype.QueryPoint=function(t,e){if(null!==this.m_root){var i=this.m_stack.Reset();for(i.Push(this.m_root);i.GetCount()>0;){var n=i.Pop();if(n.aabb.TestContain(t))if(n.IsLeaf()){if(!e(n))return}else i.Push(Nt(n.child1)),i.Push(Nt(n.child2))}}},t.prototype.RayCast=function(e,i){if(null!==this.m_root){var n=e.p1,r=e.p2,s=V.SubVV(r,n,t.s_r);s.Normalize();var a=V.CrossOneV(s,t.s_v),o=V.AbsV(a,t.s_abs_v),h=e.maxFraction,l=t.s_segmentAABB,c=n.x+h*(r.x-n.x),u=n.y+h*(r.y-n.y);l.lowerBound.x=S(n.x,c),l.lowerBound.y=S(n.y,u),l.upperBound.x=T(n.x,c),l.upperBound.y=T(n.y,u);var _=this.m_stack.Reset();for(_.Push(this.m_root);_.GetCount()>0;){var f=_.Pop();if(It(f.aabb,l)){var m=f.aabb.GetCenter(),d=f.aabb.GetExtents();if(!(C(V.DotVV(a,V.SubVV(n,m,V.s_t0)))-V.DotVV(o,d)>0))if(f.IsLeaf()){var p=t.s_subInput;p.p1.Copy(e.p1),p.p2.Copy(e.p2),p.maxFraction=h;var y=i(p,f);if(0===y)return;y>0&&(h=y,c=n.x+h*(r.x-n.x),u=n.y+h*(r.y-n.y),l.lowerBound.x=S(n.x,c),l.lowerBound.y=S(n.y,u),l.upperBound.x=T(n.x,c),l.upperBound.y=T(n.y,u))}else _.Push(Nt(f.child1)),_.Push(Nt(f.child2))}}}},t.prototype.AllocateNode=function(){if(this.m_freeList){var e=this.m_freeList;return this.m_freeList=e.parent,e.parent=null,e.child1=null,e.child2=null,e.height=0,delete e.userData,e}return new kt(t.s_node_id++)},t.prototype.FreeNode=function(t){t.parent=this.m_freeList,t.child1=null,t.child2=null,t.height=-1,delete t.userData,this.m_freeList=t},t.prototype.CreateProxy=function(t,e){var i=this.AllocateNode();return i.aabb.lowerBound.x=t.lowerBound.x-.1,i.aabb.lowerBound.y=t.lowerBound.y-.1,i.aabb.upperBound.x=t.upperBound.x+.1,i.aabb.upperBound.y=t.upperBound.y+.1,i.userData=e,i.height=0,this.InsertLeaf(i),i},t.prototype.DestroyProxy=function(t){this.RemoveLeaf(t),this.FreeNode(t)},t.prototype.MoveProxy=function(t,e,i){if(t.aabb.Contains(e))return!1;this.RemoveLeaf(t);var n=.1+2*(i.x>0?i.x:-i.x),r=.1+2*(i.y>0?i.y:-i.y);return t.aabb.lowerBound.x=e.lowerBound.x-n,t.aabb.lowerBound.y=e.lowerBound.y-r,t.aabb.upperBound.x=e.upperBound.x+n,t.aabb.upperBound.y=e.upperBound.y+r,this.InsertLeaf(t),!0},t.prototype.InsertLeaf=function(e){if(++this.m_insertionCount,null===this.m_root)return this.m_root=e,void(this.m_root.parent=null);for(var i=e.aabb,n=this.m_root;!n.IsLeaf();){var r=Nt(n.child1),s=Nt(n.child2),a=n.aabb.GetPerimeter(),o=t.s_combinedAABB;o.Combine2(n.aabb,i);var h=o.GetPerimeter(),l=2*h,c=2*(h-a),u=void 0,_=t.s_aabb,f=void 0;r.IsLeaf()?(_.Combine2(i,r.aabb),u=_.GetPerimeter()+c):(_.Combine2(i,r.aabb),f=r.aabb.GetPerimeter(),u=_.GetPerimeter()-f+c);var m=void 0;if(s.IsLeaf()?(_.Combine2(i,s.aabb),m=_.GetPerimeter()+c):(_.Combine2(i,s.aabb),f=s.aabb.GetPerimeter(),m=_.GetPerimeter()-f+c),l<u&&l<m)break;n=u<m?r:s}var d=n,p=d.parent,y=this.AllocateNode();y.parent=p,delete y.userData,y.aabb.Combine2(i,d.aabb),y.height=d.height+1,p?(p.child1===d?p.child1=y:p.child2=y,y.child1=d,y.child2=e,d.parent=y,e.parent=y):(y.child1=d,y.child2=e,d.parent=y,e.parent=y,this.m_root=y);for(var v=e.parent;null!==v;){r=Nt((v=this.Balance(v)).child1),s=Nt(v.child2);v.height=1+T(r.height,s.height),v.aabb.Combine2(r.aabb,s.aabb),v=v.parent}},t.prototype.RemoveLeaf=function(t){if(t!==this.m_root){var e,i=Nt(t.parent),n=i&&i.parent;if(e=i.child1===t?Nt(i.child2):Nt(i.child1),n){n.child1===i?n.child1=e:n.child2=e,e.parent=n,this.FreeNode(i);for(var r=n;r;){var s=Nt((r=this.Balance(r)).child1),a=Nt(r.child2);r.aabb.Combine2(s.aabb,a.aabb),r.height=1+T(s.height,a.height),r=r.parent}}else this.m_root=e,e.parent=null,this.FreeNode(i)}else this.m_root=null},t.prototype.Balance=function(t){if(t.IsLeaf()||t.height<2)return t;var e=Nt(t.child1),i=Nt(t.child2),n=i.height-e.height;if(n>1){var r=Nt(i.child1),s=Nt(i.child2);return i.child1=t,i.parent=t.parent,t.parent=i,null!==i.parent?i.parent.child1===t?i.parent.child1=i:i.parent.child2=i:this.m_root=i,r.height>s.height?(i.child2=r,t.child2=s,s.parent=t,t.aabb.Combine2(e.aabb,s.aabb),i.aabb.Combine2(t.aabb,r.aabb),t.height=1+T(e.height,s.height),i.height=1+T(t.height,r.height)):(i.child2=s,t.child2=r,r.parent=t,t.aabb.Combine2(e.aabb,r.aabb),i.aabb.Combine2(t.aabb,s.aabb),t.height=1+T(e.height,r.height),i.height=1+T(t.height,s.height)),i}if(n<-1){var a=Nt(e.child1),o=Nt(e.child2);return e.child1=t,e.parent=t.parent,t.parent=e,null!==e.parent?e.parent.child1===t?e.parent.child1=e:e.parent.child2=e:this.m_root=e,a.height>o.height?(e.child2=a,t.child1=o,o.parent=t,t.aabb.Combine2(i.aabb,o.aabb),e.aabb.Combine2(t.aabb,a.aabb),t.height=1+T(i.height,o.height),e.height=1+T(t.height,a.height)):(e.child2=o,t.child1=a,a.parent=t,t.aabb.Combine2(i.aabb,a.aabb),e.aabb.Combine2(t.aabb,o.aabb),t.height=1+T(i.height,a.height),e.height=1+T(t.height,o.height)),e}return t},t.prototype.GetHeight=function(){return null===this.m_root?0:this.m_root.height},t.GetAreaNode=function(e){if(null===e)return 0;if(e.IsLeaf())return 0;var i=e.aabb.GetPerimeter();return i+=t.GetAreaNode(e.child1),i+=t.GetAreaNode(e.child2)},t.prototype.GetAreaRatio=function(){if(null===this.m_root)return 0;var e=this.m_root.aabb.GetPerimeter();return t.GetAreaNode(this.m_root)/e},t.prototype.ComputeHeightNode=function(t){if(!t||t.IsLeaf())return 0;var e=this.ComputeHeightNode(t.child1),i=this.ComputeHeightNode(t.child2);return 1+T(e,i)},t.prototype.ComputeHeight=function(){return this.ComputeHeightNode(this.m_root)},t.prototype.ValidateStructure=function(t){if(null!==t){this.m_root;var e=t;if(!e.IsLeaf()){var i=Nt(e.child1),n=Nt(e.child2);this.ValidateStructure(i),this.ValidateStructure(n)}}},t.prototype.ValidateMetrics=function(e){if(null!==e){var i=e;if(!i.IsLeaf()){var n=Nt(i.child1),r=Nt(i.child2);t.s_aabb.Combine2(n.aabb,r.aabb),this.ValidateMetrics(n),this.ValidateMetrics(r)}}},t.prototype.Validate=function(){},t.GetMaxBalanceNode=function(t,e){if(null===t)return e;if(t.height<=1)return e;var i=Nt(t.child1),n=Nt(t.child2),r=C(n.height-i.height);return T(e,r)},t.prototype.GetMaxBalance=function(){return t.GetMaxBalanceNode(this.m_root,0)},t.prototype.RebuildBottomUp=function(){this.Validate()},t.ShiftOriginNode=function(e,i){if(null!==e&&!(e.height<=1)){var n=e.child1,r=e.child2;t.ShiftOriginNode(n,i),t.ShiftOriginNode(r,i),e.aabb.lowerBound.SelfSub(i),e.aabb.upperBound.SelfSub(i)}},t.prototype.ShiftOrigin=function(e){t.ShiftOriginNode(this.m_root,e)},t.s_r=new V,t.s_v=new V,t.s_abs_v=new V,t.s_segmentAABB=new Pt,t.s_subInput=new Mt,t.s_combinedAABB=new Pt,t.s_aabb=new Pt,t.s_node_id=0,t})(),zt=(function(){return function(t,e){this.proxyA=t,this.proxyB=e}})(),Ut=(function(){function t(){this.m_tree=new Gt,this.m_proxyCount=0,this.m_moveCount=0,this.m_moveBuffer=[],this.m_pairCount=0,this.m_pairBuffer=[]}return t.prototype.CreateProxy=function(t,e){var i=this.m_tree.CreateProxy(t,e);return++this.m_proxyCount,this.BufferMove(i),i},t.prototype.DestroyProxy=function(t){this.UnBufferMove(t),--this.m_proxyCount,this.m_tree.DestroyProxy(t)},t.prototype.MoveProxy=function(t,e,i){this.m_tree.MoveProxy(t,e,i)&&this.BufferMove(t)},t.prototype.TouchProxy=function(t){this.BufferMove(t)},t.prototype.GetProxyCount=function(){return this.m_proxyCount},t.prototype.UpdatePairs=function(t){var e=this;this.m_pairCount=0;for(var i=function(t){var i=n.m_moveBuffer[t];if(null===i)return"continue";var r=i.aabb;n.m_tree.Query(r,(function(t){if(t.m_id===i.m_id)return!0;var n,r;if(t.m_id<i.m_id?(n=t,r=i):(n=i,r=t),e.m_pairCount===e.m_pairBuffer.length)e.m_pairBuffer[e.m_pairCount]=new zt(n,r);else{var s=e.m_pairBuffer[e.m_pairCount];s.proxyA=n,s.proxyB=r}return++e.m_pairCount,!0}))},n=this,r=0;r<this.m_moveCount;++r)i(r);this.m_moveCount=0,this.m_pairBuffer.length=this.m_pairCount,this.m_pairBuffer.sort(jt);for(var s=0;s<this.m_pairCount;){var a=this.m_pairBuffer[s],o=a.proxyA.userData,h=a.proxyB.userData;for(o&&h&&t(o,h),++s;s<this.m_pairCount;){var l=this.m_pairBuffer[s];if(l.proxyA.m_id!==a.proxyA.m_id||l.proxyB.m_id!==a.proxyB.m_id)break;++s}}},t.prototype.Query=function(t,e){this.m_tree.Query(t,e)},t.prototype.QueryPoint=function(t,e){this.m_tree.QueryPoint(t,e)},t.prototype.RayCast=function(t,e){this.m_tree.RayCast(t,e)},t.prototype.GetTreeHeight=function(){return this.m_tree.GetHeight()},t.prototype.GetTreeBalance=function(){return this.m_tree.GetMaxBalance()},t.prototype.GetTreeQuality=function(){return this.m_tree.GetAreaRatio()},t.prototype.ShiftOrigin=function(t){this.m_tree.ShiftOrigin(t)},t.prototype.BufferMove=function(t){this.m_moveBuffer[this.m_moveCount]=t,++this.m_moveCount},t.prototype.UnBufferMove=function(t){var e=this.m_moveBuffer.indexOf(t);this.m_moveBuffer[e]=null},t})();function jt(t,e){return t.proxyA.m_id===e.proxyA.m_id?t.proxyB.m_id-e.proxyB.m_id:t.proxyA.m_id-e.proxyA.m_id}t.b2_toiTime=0,t.b2_toiMaxTime=0,t.b2_toiCalls=0,t.b2_toiIters=0,t.b2_toiMaxIters=0,t.b2_toiRootIters=0,t.b2_toiMaxRootIters=0;var Wt=new j,Ht=new j,Xt=new V,Yt=new V,qt=new V,Jt=new V,Zt=new V,Kt=(function(){return function(){this.proxyA=new Q,this.proxyB=new Q,this.sweepA=new W,this.sweepB=new W,this.tMax=0}})();(function(t){t[t.e_unknown=0]="e_unknown",t[t.e_failed=1]="e_failed",t[t.e_overlapped=2]="e_overlapped",t[t.e_touching=3]="e_touching",t[t.e_separated=4]="e_separated"})(t.b2TOIOutputState||(t.b2TOIOutputState={}));var Qt=(function(){return function(){this.state=t.b2TOIOutputState.e_unknown,this.t=0}})();(function(t){t[t.e_unknown=-1]="e_unknown",t[t.e_points=0]="e_points",t[t.e_faceA=1]="e_faceA",t[t.e_faceB=2]="e_faceB"})(t.b2SeparationFunctionType||(t.b2SeparationFunctionType={}));var $t=(function(){function e(){this.m_sweepA=new W,this.m_sweepB=new W,this.m_type=t.b2SeparationFunctionType.e_unknown,this.m_localPoint=new V,this.m_axis=new V}return e.prototype.Initialize=function(e,i,n,r,s,a){this.m_proxyA=i,this.m_proxyB=r;var o=e.count;this.m_sweepA.Copy(n),this.m_sweepB.Copy(s);var h=Wt,l=Ht;if(this.m_sweepA.GetTransform(h,a),this.m_sweepB.GetTransform(l,a),1===o){this.m_type=t.b2SeparationFunctionType.e_points;var c=this.m_proxyA.GetVertex(e.indexA[0]),u=this.m_proxyB.GetVertex(e.indexB[0]),_=j.MulXV(h,c,Xt),f=j.MulXV(l,u,Yt);V.SubVV(f,_,this.m_axis);var m=this.m_axis.Normalize();return this.m_localPoint.SetZero(),m}if(e.indexA[0]===e.indexA[1]){this.m_type=t.b2SeparationFunctionType.e_faceB;var d=this.m_proxyB.GetVertex(e.indexB[0]),p=this.m_proxyB.GetVertex(e.indexB[1]);V.CrossVOne(V.SubVV(p,d,V.s_t0),this.m_axis).SelfNormalize();var y=U.MulRV(l.q,this.m_axis,qt);V.MidVV(d,p,this.m_localPoint);f=j.MulXV(l,this.m_localPoint,Yt),c=this.m_proxyA.GetVertex(e.indexA[0]),_=j.MulXV(h,c,Xt);return(m=V.DotVV(V.SubVV(_,f,V.s_t0),y))<0&&(this.m_axis.SelfNeg(),m=-m),m}this.m_type=t.b2SeparationFunctionType.e_faceA;var v=this.m_proxyA.GetVertex(e.indexA[0]),g=this.m_proxyA.GetVertex(e.indexA[1]);V.CrossVOne(V.SubVV(g,v,V.s_t0),this.m_axis).SelfNormalize();y=U.MulRV(h.q,this.m_axis,qt);V.MidVV(v,g,this.m_localPoint);_=j.MulXV(h,this.m_localPoint,Xt),u=this.m_proxyB.GetVertex(e.indexB[0]),f=j.MulXV(l,u,Yt);return(m=V.DotVV(V.SubVV(f,_,V.s_t0),y))<0&&(this.m_axis.SelfNeg(),m=-m),m},e.prototype.FindMinSeparation=function(e,i,n){var r=Wt,s=Ht;switch(this.m_sweepA.GetTransform(r,n),this.m_sweepB.GetTransform(s,n),this.m_type){case t.b2SeparationFunctionType.e_points:var a=U.MulTRV(r.q,this.m_axis,Jt),o=U.MulTRV(s.q,V.NegV(this.m_axis,V.s_t0),Zt);e[0]=this.m_proxyA.GetSupport(a),i[0]=this.m_proxyB.GetSupport(o);var h=this.m_proxyA.GetVertex(e[0]),l=this.m_proxyB.GetVertex(i[0]),c=j.MulXV(r,h,Xt),u=j.MulXV(s,l,Yt);return V.DotVV(V.SubVV(u,c,V.s_t0),this.m_axis);case t.b2SeparationFunctionType.e_faceA:var _=U.MulRV(r.q,this.m_axis,qt);c=j.MulXV(r,this.m_localPoint,Xt),o=U.MulTRV(s.q,V.NegV(_,V.s_t0),Zt);e[0]=-1,i[0]=this.m_proxyB.GetSupport(o);l=this.m_proxyB.GetVertex(i[0]),u=j.MulXV(s,l,Yt);return V.DotVV(V.SubVV(u,c,V.s_t0),_);case t.b2SeparationFunctionType.e_faceB:_=U.MulRV(s.q,this.m_axis,qt),u=j.MulXV(s,this.m_localPoint,Yt),a=U.MulTRV(r.q,V.NegV(_,V.s_t0),Jt);i[0]=-1,e[0]=this.m_proxyA.GetSupport(a);h=this.m_proxyA.GetVertex(e[0]),c=j.MulXV(r,h,Xt);return V.DotVV(V.SubVV(c,u,V.s_t0),_);default:return e[0]=-1,i[0]=-1,0}},e.prototype.Evaluate=function(e,i,n){var r=Wt,s=Ht;switch(this.m_sweepA.GetTransform(r,n),this.m_sweepB.GetTransform(s,n),this.m_type){case t.b2SeparationFunctionType.e_points:var a=this.m_proxyA.GetVertex(e),o=this.m_proxyB.GetVertex(i),h=j.MulXV(r,a,Xt),l=j.MulXV(s,o,Yt);return V.DotVV(V.SubVV(l,h,V.s_t0),this.m_axis);case t.b2SeparationFunctionType.e_faceA:var c=U.MulRV(r.q,this.m_axis,qt);h=j.MulXV(r,this.m_localPoint,Xt),o=this.m_proxyB.GetVertex(i),l=j.MulXV(s,o,Yt);return V.DotVV(V.SubVV(l,h,V.s_t0),c);case t.b2SeparationFunctionType.e_faceB:c=U.MulRV(s.q,this.m_axis,qt),l=j.MulXV(s,this.m_localPoint,Yt),a=this.m_proxyA.GetVertex(e),h=j.MulXV(r,a,Xt);return V.DotVV(V.SubVV(h,l,V.s_t0),c);default:return 0}},e})(),te=new Y,ee=new $,ie=new tt,ne=new et,re=new $t,se=[0],ae=[0],oe=new W,he=new W;function le(e,i){var n=te.Reset();++t.b2_toiCalls,e.state=t.b2TOIOutputState.e_unknown,e.t=i.tMax;var r=i.proxyA,s=i.proxyB,a=oe.Copy(i.sweepA),l=he.Copy(i.sweepB);a.Normalize(),l.Normalize();var c=i.tMax,u=r.m_radius+s.m_radius,_=T(h,u-3*h),f=.25*h,m=0,d=0,p=ee;p.count=0;var y=ie;for(y.proxyA.Copy(i.proxyA),y.proxyB.Copy(i.proxyB),y.useRadii=!1;;){var v=Wt,g=Ht;a.GetTransform(v,m),l.GetTransform(g,m),y.transformA.Copy(v),y.transformB.Copy(g);var x=ne;if(mt(x,p,y),x.distance<=0){e.state=t.b2TOIOutputState.e_overlapped,e.t=0;break}if(x.distance<_+f){e.state=t.b2TOIOutputState.e_touching,e.t=m;break}var A=re;A.Initialize(p,r,a,s,l,m);for(var b=!1,S=c,w=0;;){var E=se,D=ae,M=A.FindMinSeparation(E,D,S);if(M>_+f){e.state=t.b2TOIOutputState.e_separated,e.t=c,b=!0;break}if(M>_-f){m=S;break}var B=A.Evaluate(E[0],D[0],m);if(B<_-f){e.state=t.b2TOIOutputState.e_failed,e.t=m,b=!0;break}if(B<=_+f){e.state=t.b2TOIOutputState.e_touching,e.t=m,b=!0;break}for(var P=0,I=m,R=S;;){var O=0;O=1&P?I+(_-B)*(R-I)/(M-B):.5*(I+R),++P,++t.b2_toiRootIters;var L=A.Evaluate(E[0],D[0],O);if(C(L-_)<f){S=O;break}if(L>_?(I=O,B=L):(R=O,M=L),50===P)break}if(t.b2_toiMaxRootIters=T(t.b2_toiMaxRootIters,P),++w===o)break}if(++d,++t.b2_toiIters,b)break;if(20===d){e.state=t.b2TOIOutputState.e_failed,e.t=m;break}}t.b2_toiMaxIters=T(t.b2_toiMaxIters,d);var F=n.GetMilliseconds();t.b2_toiMaxTime=T(t.b2_toiMaxTime,F),t.b2_toiTime+=F}var ce=new V,ue=new V;function _e(e,i,n,r,s){e.pointCount=0;var a=j.MulXV(n,i.m_p,ce),o=j.MulXV(s,r.m_p,ue),h=V.DistanceSquaredVV(a,o),l=i.m_radius+r.m_radius;h>l*l||(e.type=t.b2ManifoldType.e_circles,e.localPoint.Copy(i.m_p),e.localNormal.SetZero(),e.pointCount=1,e.points[0].localPoint.Copy(r.m_p),e.points[0].id.key=0)}var fe=new V,me=new V,de=new V;function pe(e,r,s,a,o){e.pointCount=0;for(var h=j.MulXV(o,a.m_p,fe),l=j.MulTXV(s,h,me),c=0,u=-i,_=r.m_radius+a.m_radius,f=r.m_count,m=r.m_vertices,d=r.m_normals,p=0;p<f;++p){var y=V.DotVV(d[p],V.SubVV(l,m[p],V.s_t0));if(y>_)return;y>u&&(u=y,c=p)}var v=c,g=(v+1)%f,x=m[v],A=m[g];if(u<n)return e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(d[c]),V.MidVV(x,A,e.localPoint),e.points[0].localPoint.Copy(a.m_p),void(e.points[0].id.key=0);var b=V.DotVV(V.SubVV(l,x,V.s_t0),V.SubVV(A,x,V.s_t1)),C=V.DotVV(V.SubVV(l,A,V.s_t0),V.SubVV(x,A,V.s_t1));if(b<=0){if(V.DistanceSquaredVV(l,x)>_*_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,V.SubVV(l,x,e.localNormal).SelfNormalize(),e.localPoint.Copy(x),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}else if(C<=0){if(V.DistanceSquaredVV(l,A)>_*_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,V.SubVV(l,A,e.localNormal).SelfNormalize(),e.localPoint.Copy(A),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}else{var S=V.MidVV(x,A,de);if(V.DotVV(V.SubVV(l,S,V.s_t1),d[v])>_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(d[v]).SelfNormalize(),e.localPoint.Copy(S),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}}var ye=new V,ve=new V,ge=new V,xe=new V;function Ae(t,e,n,r,s){for(var a=t.m_vertices,o=t.m_normals,h=r.m_count,l=r.m_vertices,c=U.MulRV(e.q,o[n],ye),u=U.MulTRV(s.q,c,ve),_=0,f=i,m=0;m<h;++m){var d=V.DotVV(l[m],u);d<f&&(f=d,_=m)}var p=j.MulXV(e,a[n],ge),y=j.MulXV(s,l[_],xe);return V.DotVV(V.SubVV(y,p,V.s_t0),c)}var be=new V,Ce=new V;function Se(t,e,n,r,s){for(var a=e.m_count,o=e.m_normals,h=V.SubVV(j.MulXV(s,r.m_centroid,V.s_t0),j.MulXV(n,e.m_centroid,V.s_t1),be),l=U.MulTRV(n.q,h,Ce),c=0,u=-i,_=0;_<a;++_){var f=V.DotVV(o[_],l);f>u&&(u=f,c=_)}var m=Ae(e,n,c,r,s),d=(c+a-1)%a,p=Ae(e,n,d,r,s),y=(c+1)%a,v=Ae(e,n,y,r,s),g=0,x=0,A=0;if(p>m&&p>v)A=-1,g=d,x=p;else{if(!(v>m))return t[0]=c,m;A=1,g=y,x=v}for(;(m=Ae(e,n,c=-1===A?(g+a-1)%a:(g+1)%a,r,s))>x;)g=c,x=m;return t[0]=g,x}var Te=new V;var we=Dt.MakeArray(2),Ee=Dt.MakeArray(2),De=Dt.MakeArray(2),Me=[0],Be=[0],Pe=new V,Ie=new V,Re=new V,Oe=new V,Le=new V,Fe=new V,Ve=new V,Ne=new V;function ke(e,n,r,s,o){e.pointCount=0;var h=n.m_radius+s.m_radius,l=Me;l[0]=0;var c=Se(l,n,r,s,o);if(!(c>h)){var u=Be;u[0]=0;var _=Se(u,s,o,n,r);if(!(_>h)){var f,m,d,p,y=0,v=0;_>.98*c+.001?(f=s,m=n,d=o,p=r,y=u[0],e.type=t.b2ManifoldType.e_faceB,v=1):(f=n,m=s,d=r,p=o,y=l[0],e.type=t.b2ManifoldType.e_faceA,v=0);var g=we;(function(e,n,r,s,a,o){for(var h=n.m_normals,l=a.m_count,c=a.m_vertices,u=a.m_normals,_=U.MulTRV(o.q,U.MulRV(r.q,h[s],V.s_t0),Te),f=0,m=i,d=0;d<l;++d){var p=V.DotVV(_,u[d]);p<m&&(m=p,f=d)}var y=f,v=(y+1)%l,g=e[0];j.MulXV(o,c[y],g.v);var x=g.id.cf;x.indexA=s,x.indexB=y,x.typeA=t.b2ContactFeatureType.e_face,x.typeB=t.b2ContactFeatureType.e_vertex;var A=e[1];j.MulXV(o,c[v],A.v);var b=A.id.cf;b.indexA=s,b.indexB=v,b.typeA=t.b2ContactFeatureType.e_face,b.typeB=t.b2ContactFeatureType.e_vertex})(g,f,d,y,m,p);var x=f.m_count,A=f.m_vertices,b=y,C=(y+1)%x,S=A[b],T=A[C],w=V.SubVV(T,S,Pe);w.Normalize();var E=V.CrossVOne(w,Ie),D=V.MidVV(S,T,Re),M=U.MulRV(d.q,w,Le),B=V.CrossVOne(M,Oe),P=j.MulXV(d,S,Ve),I=j.MulXV(d,T,Ne),R=V.DotVV(B,P),O=-V.DotVV(M,P)+h,L=V.DotVV(M,I)+h,F=Ee,N=De;if(!(Rt(F,g,V.NegV(M,Fe),O,b)<2||Rt(N,F,M,L,C)<2)){e.localNormal.Copy(E),e.localPoint.Copy(D);for(var k=0,G=0;G<a;++G){var z=N[G];if(V.DotVV(B,z.v)-R<=h){var W=e.points[k];if(j.MulTXV(p,z.v,W.localPoint),W.id.Copy(z.id),v){var H=W.id.cf;W.id.cf.indexA=H.indexB,W.id.cf.indexB=H.indexA,W.id.cf.typeA=H.typeB,W.id.cf.typeB=H.typeA}++k}}e.pointCount=k}}}}var Ge=new V,ze=new V,Ue=new V,je=new V,We=new V,He=new V,Xe=new V,Ye=new St;function qe(e,i,n,r,s){e.pointCount=0;var a=j.MulTXV(n,j.MulXV(s,r.m_p,V.s_t0),Ge),o=i.m_vertex1,h=i.m_vertex2,l=V.SubVV(h,o,ze),c=V.DotVV(l,V.SubVV(h,a,V.s_t0)),u=V.DotVV(l,V.SubVV(a,o,V.s_t0)),_=i.m_radius+r.m_radius,f=Ye;if(f.cf.indexB=0,f.cf.typeB=t.b2ContactFeatureType.e_vertex,u<=0){var m=o,d=V.SubVV(a,m,Ue);if(V.DotVV(d,d)>_*_)return;if(i.m_hasVertex0){var p=i.m_vertex0,y=o,v=V.SubVV(y,p,je);if(V.DotVV(v,V.SubVV(y,a,V.s_t0))>0)return}return f.cf.indexA=0,f.cf.typeA=t.b2ContactFeatureType.e_vertex,e.pointCount=1,e.type=t.b2ManifoldType.e_circles,e.localNormal.SetZero(),e.localPoint.Copy(m),e.points[0].id.Copy(f),void e.points[0].localPoint.Copy(r.m_p)}if(c<=0){var g=h,x=V.SubVV(a,g,Ue);if(V.DotVV(x,x)>_*_)return;if(i.m_hasVertex3){var A=i.m_vertex3,b=h,C=V.SubVV(A,b,We);if(V.DotVV(C,V.SubVV(a,b,V.s_t0))>0)return}return f.cf.indexA=1,f.cf.typeA=t.b2ContactFeatureType.e_vertex,e.pointCount=1,e.type=t.b2ManifoldType.e_circles,e.localNormal.SetZero(),e.localPoint.Copy(g),e.points[0].id.Copy(f),void e.points[0].localPoint.Copy(r.m_p)}var S=V.DotVV(l,l),T=He;T.x=1/S*(c*o.x+u*h.x),T.y=1/S*(c*o.y+u*h.y);var w=V.SubVV(a,T,Ue);if(!(V.DotVV(w,w)>_*_)){var E=Xe.Set(-l.y,l.x);V.DotVV(E,V.SubVV(a,o,V.s_t0))<0&&E.Set(-E.x,-E.y),E.Normalize(),f.cf.indexA=0,f.cf.typeA=t.b2ContactFeatureType.e_face,e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(E),e.localPoint.Copy(o),e.points[0].id.Copy(f),e.points[0].localPoint.Copy(r.m_p)}}var Je=(function(){return function(){this.type=0,this.index=0,this.separation=0}})(),Ze=(function(){return function(){this.vertices=V.MakeArray(o),this.normals=V.MakeArray(o),this.count=0}})(),Ke=(function(){return function(){this.i1=0,this.i2=0,this.v1=new V,this.v2=new V,this.normal=new V,this.sideNormal1=new V,this.sideOffset1=0,this.sideNormal2=new V,this.sideOffset2=0}})(),Qe=new(function(){function e(){this.m_polygonB=new Ze,this.m_xf=new j,this.m_centroidB=new V,this.m_v0=new V,this.m_v1=new V,this.m_v2=new V,this.m_v3=new V,this.m_normal0=new V,this.m_normal1=new V,this.m_normal2=new V,this.m_normal=new V,this.m_type1=0,this.m_type2=0,this.m_lowerLimit=new V,this.m_upperLimit=new V,this.m_radius=0,this.m_front=!1}return e.prototype.Collide=function(i,n,r,s,o){j.MulTXX(r,o,this.m_xf),j.MulXV(this.m_xf,s.m_centroid,this.m_centroidB),this.m_v0.Copy(n.m_vertex0),this.m_v1.Copy(n.m_vertex1),this.m_v2.Copy(n.m_vertex2),this.m_v3.Copy(n.m_vertex3);var h=n.m_hasVertex0,l=n.m_hasVertex3,c=V.SubVV(this.m_v2,this.m_v1,e.s_edge1);c.Normalize(),this.m_normal1.Set(c.y,-c.x);var u=V.DotVV(this.m_normal1,V.SubVV(this.m_centroidB,this.m_v1,V.s_t0)),_=0,f=0,m=!1,d=!1;if(h){var p=V.SubVV(this.m_v1,this.m_v0,e.s_edge0);p.Normalize(),this.m_normal0.Set(p.y,-p.x),m=V.CrossVV(p,c)>=0,_=V.DotVV(this.m_normal0,V.SubVV(this.m_centroidB,this.m_v0,V.s_t0))}if(l){var y=V.SubVV(this.m_v3,this.m_v2,e.s_edge2);y.Normalize(),this.m_normal2.Set(y.y,-y.x),d=V.CrossVV(c,y)>0,f=V.DotVV(this.m_normal2,V.SubVV(this.m_centroidB,this.m_v2,V.s_t0))}h&&l?m&&d?(this.m_front=_>=0||u>=0||f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal0),this.m_upperLimit.Copy(this.m_normal2)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1).SelfNeg())):m?(this.m_front=_>=0||u>=0&&f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal0),this.m_upperLimit.Copy(this.m_normal1)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal2).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1).SelfNeg())):d?(this.m_front=f>=0||_>=0&&u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal2)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal0).SelfNeg())):(this.m_front=_>=0&&u>=0&&f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal2).SelfNeg(),this.m_upperLimit.Copy(this.m_normal0).SelfNeg())):h?m?(this.m_front=_>=0||u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal0),this.m_upperLimit.Copy(this.m_normal1).SelfNeg()):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1).SelfNeg())):(this.m_front=_>=0&&u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1).SelfNeg()):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal0).SelfNeg())):l?d?(this.m_front=u>=0||f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal2)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1))):(this.m_front=u>=0&&f>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1)):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal2).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1))):(this.m_front=u>=0,this.m_front?(this.m_normal.Copy(this.m_normal1),this.m_lowerLimit.Copy(this.m_normal1).SelfNeg(),this.m_upperLimit.Copy(this.m_normal1).SelfNeg()):(this.m_normal.Copy(this.m_normal1).SelfNeg(),this.m_lowerLimit.Copy(this.m_normal1),this.m_upperLimit.Copy(this.m_normal1))),this.m_polygonB.count=s.m_count;for(var v=0;v<s.m_count;++v)j.MulXV(this.m_xf,s.m_vertices[v],this.m_polygonB.vertices[v]),U.MulRV(this.m_xf.q,s.m_normals[v],this.m_polygonB.normals[v]);this.m_radius=s.m_radius+n.m_radius,i.pointCount=0;var g=this.ComputeEdgeSeparation(e.s_edgeAxis);if(0!==g.type&&!(g.separation>this.m_radius)){var x=this.ComputePolygonSeparation(e.s_polygonAxis);if(!(0!==x.type&&x.separation>this.m_radius)){var A;A=0===x.type?g:x.separation>.98*g.separation+.001?x:g;var b=e.s_ie,C=e.s_rf;if(1===A.type){i.type=t.b2ManifoldType.e_faceA;var S=0,T=V.DotVV(this.m_normal,this.m_polygonB.normals[0]);for(v=1;v<this.m_polygonB.count;++v){var w=V.DotVV(this.m_normal,this.m_polygonB.normals[v]);w<T&&(T=w,S=v)}var E=S,D=(E+1)%this.m_polygonB.count;(M=b[0]).v.Copy(this.m_polygonB.vertices[E]),M.id.cf.indexA=0,M.id.cf.indexB=E,M.id.cf.typeA=t.b2ContactFeatureType.e_face,M.id.cf.typeB=t.b2ContactFeatureType.e_vertex,(B=b[1]).v.Copy(this.m_polygonB.vertices[D]),B.id.cf.indexA=0,B.id.cf.indexB=D,B.id.cf.typeA=t.b2ContactFeatureType.e_face,B.id.cf.typeB=t.b2ContactFeatureType.e_vertex,this.m_front?(C.i1=0,C.i2=1,C.v1.Copy(this.m_v1),C.v2.Copy(this.m_v2),C.normal.Copy(this.m_normal1)):(C.i1=1,C.i2=0,C.v1.Copy(this.m_v2),C.v2.Copy(this.m_v1),C.normal.Copy(this.m_normal1).SelfNeg())}else{var M,B;i.type=t.b2ManifoldType.e_faceB,(M=b[0]).v.Copy(this.m_v1),M.id.cf.indexA=0,M.id.cf.indexB=A.index,M.id.cf.typeA=t.b2ContactFeatureType.e_vertex,M.id.cf.typeB=t.b2ContactFeatureType.e_face,(B=b[1]).v.Copy(this.m_v2),B.id.cf.indexA=0,B.id.cf.indexB=A.index,B.id.cf.typeA=t.b2ContactFeatureType.e_vertex,B.id.cf.typeB=t.b2ContactFeatureType.e_face,C.i1=A.index,C.i2=(C.i1+1)%this.m_polygonB.count,C.v1.Copy(this.m_polygonB.vertices[C.i1]),C.v2.Copy(this.m_polygonB.vertices[C.i2]),C.normal.Copy(this.m_polygonB.normals[C.i1])}C.sideNormal1.Set(C.normal.y,-C.normal.x),C.sideNormal2.Copy(C.sideNormal1).SelfNeg(),C.sideOffset1=V.DotVV(C.sideNormal1,C.v1),C.sideOffset2=V.DotVV(C.sideNormal2,C.v2);var P=e.s_clipPoints1,I=e.s_clipPoints2;if(!(Rt(P,b,C.sideNormal1,C.sideOffset1,C.i1)<a||Rt(I,P,C.sideNormal2,C.sideOffset2,C.i2)<a)){1===A.type?(i.localNormal.Copy(C.normal),i.localPoint.Copy(C.v1)):(i.localNormal.Copy(s.m_normals[C.i1]),i.localPoint.Copy(s.m_vertices[C.i1]));var R=0;for(v=0;v<a;++v){if(V.DotVV(C.normal,V.SubVV(I[v].v,C.v1,V.s_t0))<=this.m_radius){var O=i.points[R];1===A.type?(j.MulTXV(this.m_xf,I[v].v,O.localPoint),O.id=I[v].id):(O.localPoint.Copy(I[v].v),O.id.cf.typeA=I[v].id.cf.typeB,O.id.cf.typeB=I[v].id.cf.typeA,O.id.cf.indexA=I[v].id.cf.indexB,O.id.cf.indexB=I[v].id.cf.indexA),++R}}i.pointCount=R}}}},e.prototype.ComputeEdgeSeparation=function(t){var e=t;e.type=1,e.index=this.m_front?0:1,e.separation=i;for(var n=0;n<this.m_polygonB.count;++n){var r=V.DotVV(this.m_normal,V.SubVV(this.m_polygonB.vertices[n],this.m_v1,V.s_t0));r<e.separation&&(e.separation=r)}return e},e.prototype.ComputePolygonSeparation=function(t){var n=t;n.type=0,n.index=-1,n.separation=-i;for(var r=e.s_perp.Set(-this.m_normal.y,this.m_normal.x),s=0;s<this.m_polygonB.count;++s){var a=V.NegV(this.m_polygonB.normals[s],e.s_n),o=V.DotVV(a,V.SubVV(this.m_polygonB.vertices[s],this.m_v1,V.s_t0)),h=V.DotVV(a,V.SubVV(this.m_polygonB.vertices[s],this.m_v2,V.s_t0)),c=S(o,h);if(c>this.m_radius)return n.type=2,n.index=s,n.separation=c,n;if(V.DotVV(a,r)>=0){if(V.DotVV(V.SubVV(a,this.m_upperLimit,V.s_t0),this.m_normal)<-l)continue}else if(V.DotVV(V.SubVV(a,this.m_lowerLimit,V.s_t0),this.m_normal)<-l)continue;c>n.separation&&(n.type=2,n.index=s,n.separation=c)}return n},e.s_edge1=new V,e.s_edge0=new V,e.s_edge2=new V,e.s_ie=Dt.MakeArray(2),e.s_rf=new Ke,e.s_clipPoints1=Dt.MakeArray(2),e.s_clipPoints2=Dt.MakeArray(2),e.s_edgeAxis=new Je,e.s_polygonAxis=new Je,e.s_n=new V,e.s_perp=new V,e}());function $e(t,e,i,n,r){Qe.Collide(t,e,i,n,r)}var ti=(function(){return function(){this.mass=0,this.center=new V(0,0),this.I=0}})();(function(t){t[t.e_unknown=-1]="e_unknown",t[t.e_circleShape=0]="e_circleShape",t[t.e_edgeShape=1]="e_edgeShape",t[t.e_polygonShape=2]="e_polygonShape",t[t.e_chainShape=3]="e_chainShape",t[t.e_shapeTypeCount=4]="e_shapeTypeCount"})(t.b2ShapeType||(t.b2ShapeType={}));var ei=(function(){function e(e,i){this.m_type=t.b2ShapeType.e_unknown,this.m_radius=0,this.m_type=e,this.m_radius=i}return e.prototype.Copy=function(t){return this.m_radius=t.m_radius,this},e.prototype.GetType=function(){return this.m_type},e})(),ii=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])};function ni(t,e){function i(){this.constructor=t}ii(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}var ri=(function(e){function i(i){void 0===i&&(i=0);var n=e.call(this,t.b2ShapeType.e_circleShape,i)||this;return n.m_p=new V,n}return ni(i,e),i.prototype.Set=function(t,e){return void 0===e&&(e=this.m_radius),this.m_p.Copy(t),this.m_radius=e,this},i.prototype.Clone=function(){return(new i).Copy(this)},i.prototype.Copy=function(t){return e.prototype.Copy.call(this,t),this.m_p.Copy(t.m_p),this},i.prototype.GetChildCount=function(){return 1},i.prototype.TestPoint=function(t,e){var n=j.MulXV(t,this.m_p,i.TestPoint_s_center),r=V.SubVV(e,n,i.TestPoint_s_d);return V.DotVV(r,r)<=D(this.m_radius)},i.prototype.ComputeDistance=function(t,e,n,r){var s=j.MulXV(t,this.m_p,i.ComputeDistance_s_center);return V.SubVV(e,s,n),n.Normalize()-this.m_radius},i.prototype.RayCast=function(t,e,r,s){var a=j.MulXV(r,this.m_p,i.RayCast_s_position),o=V.SubVV(e.p1,a,i.RayCast_s_s),h=V.DotVV(o,o)-D(this.m_radius),l=V.SubVV(e.p2,e.p1,i.RayCast_s_r),c=V.DotVV(o,l),u=V.DotVV(l,l),_=c*c-u*h;if(_<0||u<n)return!1;var f=-(c+B(_));return 0<=f&&f<=e.maxFraction*u&&(f/=u,t.fraction=f,V.AddVMulSV(o,f,l,t.normal).SelfNormalize(),!0)},i.prototype.ComputeAABB=function(t,e,n){var r=j.MulXV(e,this.m_p,i.ComputeAABB_s_p);t.lowerBound.Set(r.x-this.m_radius,r.y-this.m_radius),t.upperBound.Set(r.x+this.m_radius,r.y+this.m_radius)},i.prototype.ComputeMass=function(t,e){var i=D(this.m_radius);t.mass=e*s*i,t.center.Copy(this.m_p),t.I=t.mass*(.5*i+V.DotVV(this.m_p,this.m_p))},i.prototype.SetupDistanceProxy=function(t,e){t.m_vertices=t.m_buffer,t.m_vertices[0].Copy(this.m_p),t.m_count=1,t.m_radius=this.m_radius},i.prototype.ComputeSubmergedArea=function(t,e,i,r){var a=j.MulXV(i,this.m_p,new V),o=-(V.DotVV(t,a)-e);if(o<-this.m_radius+n)return 0;if(o>this.m_radius)return r.Copy(a),s*this.m_radius*this.m_radius;var h=this.m_radius*this.m_radius,l=o*o,c=h*(L(o/this.m_radius)+s/2)+o*B(h-l),u=-2/3*P(h-l,1.5)/c;return r.x=a.x+t.x*u,r.y=a.y+t.y*u,c},i.prototype.Dump=function(t){t("    const shape: b2CircleShape = new b2CircleShape();\n"),t("    shape.m_radius = %.15f;\n",this.m_radius),t("    shape.m_p.Set(%.15f, %.15f);\n",this.m_p.x,this.m_p.y)},i.TestPoint_s_center=new V,i.TestPoint_s_d=new V,i.ComputeDistance_s_center=new V,i.RayCast_s_position=new V,i.RayCast_s_s=new V,i.RayCast_s_r=new V,i.ComputeAABB_s_p=new V,i})(ei),si=(function(e){function r(){var i=e.call(this,t.b2ShapeType.e_polygonShape,c)||this;return i.m_centroid=new V(0,0),i.m_vertices=[],i.m_normals=[],i.m_count=0,i}return ni(r,e),r.prototype.Clone=function(){return(new r).Copy(this)},r.prototype.Copy=function(t){e.prototype.Copy.call(this,t),this.m_centroid.Copy(t.m_centroid),this.m_count=t.m_count,this.m_vertices=V.MakeArray(this.m_count),this.m_normals=V.MakeArray(this.m_count);for(var i=0;i<this.m_count;++i)this.m_vertices[i].Copy(t.m_vertices[i]),this.m_normals[i].Copy(t.m_normals[i]);return this},r.prototype.GetChildCount=function(){return 1},r.prototype.Set=function(t,e,i){if(void 0===e&&(e=t.length),void 0===i&&(i=0),e<3)return this.SetAsBox(1,1);for(var n=S(e,o),s=r.Set_s_ps,a=0,l=0;l<n;++l){for(var c=t[i+l],u=!0,_=0;_<a;++_)if(V.DistanceSquaredVV(c,s[_])<.5*h*(.5*h)){u=!1;break}u&&s[a++].Copy(c)}if((n=a)<3)return this.SetAsBox(1,1);var f=0,m=s[0].x;for(l=1;l<n;++l){var d=s[l].x;(d>m||d===m&&s[l].y<s[f].y)&&(f=l,m=d)}for(var p=r.Set_s_hull,y=0,v=f;;){p[y]=v;var g=0;for(_=1;_<n;++_)if(g!==v){var x=V.SubVV(s[g],s[p[y]],r.Set_s_r),A=(c=V.SubVV(s[_],s[p[y]],r.Set_s_v),V.CrossVV(x,c));A<0&&(g=_),0===A&&c.LengthSquared()>x.LengthSquared()&&(g=_)}else g=_;if(++y,v=g,g===f)break}this.m_count=y,this.m_vertices=V.MakeArray(this.m_count),this.m_normals=V.MakeArray(this.m_count);for(l=0;l<y;++l)this.m_vertices[l].Copy(s[p[l]]);for(l=0;l<y;++l){var b=this.m_vertices[l],C=this.m_vertices[(l+1)%y],T=V.SubVV(C,b,V.s_t0);V.CrossVOne(T,this.m_normals[l]).SelfNormalize()}return r.ComputeCentroid(this.m_vertices,y,this.m_centroid),this},r.prototype.SetAsArray=function(t,e){return void 0===e&&(e=t.length),this.Set(t,e)},r.prototype.SetAsBox=function(t,e,i,n){if(void 0===n&&(n=0),this.m_count=4,this.m_vertices=V.MakeArray(this.m_count),this.m_normals=V.MakeArray(this.m_count),this.m_vertices[0].Set(-t,-e),this.m_vertices[1].Set(t,-e),this.m_vertices[2].Set(t,e),this.m_vertices[3].Set(-t,e),this.m_normals[0].Set(0,-1),this.m_normals[1].Set(1,0),this.m_normals[2].Set(0,1),this.m_normals[3].Set(-1,0),this.m_centroid.SetZero(),i){this.m_centroid.Copy(i);var r=new j;r.SetPosition(i),r.SetRotationAngle(n);for(var s=0;s<this.m_count;++s)j.MulXV(r,this.m_vertices[s],this.m_vertices[s]),U.MulRV(r.q,this.m_normals[s],this.m_normals[s])}return this},r.prototype.TestPoint=function(t,e){for(var i=j.MulTXV(t,e,r.TestPoint_s_pLocal),n=0;n<this.m_count;++n){if(V.DotVV(this.m_normals[n],V.SubVV(i,this.m_vertices[n],V.s_t0))>0)return!1}return!0},r.prototype.ComputeDistance=function(t,e,n,s){for(var a=j.MulTXV(t,e,r.ComputeDistance_s_pLocal),o=-i,h=r.ComputeDistance_s_normalForMaxDistance.Copy(a),l=0;l<this.m_count;++l){var c=V.DotVV(this.m_normals[l],V.SubVV(a,this.m_vertices[l],V.s_t0));c>o&&(o=c,h.Copy(this.m_normals[l]))}if(o>0){var u=r.ComputeDistance_s_minDistance.Copy(h),_=o*o;for(l=0;l<this.m_count;++l){var f=V.SubVV(a,this.m_vertices[l],r.ComputeDistance_s_distance),m=f.LengthSquared();_>m&&(u.Copy(f),_=m)}return U.MulRV(t.q,u,n),n.Normalize(),Math.sqrt(_)}return U.MulRV(t.q,h,n),o},r.prototype.RayCast=function(t,e,i,n){for(var s=j.MulTXV(i,e.p1,r.RayCast_s_p1),a=j.MulTXV(i,e.p2,r.RayCast_s_p2),o=V.SubVV(a,s,r.RayCast_s_d),h=0,l=e.maxFraction,c=-1,u=0;u<this.m_count;++u){var _=V.DotVV(this.m_normals[u],V.SubVV(this.m_vertices[u],s,V.s_t0)),f=V.DotVV(this.m_normals[u],o);if(0===f){if(_<0)return!1}else f<0&&_<h*f?(h=_/f,c=u):f>0&&_<l*f&&(l=_/f);if(l<h)return!1}return c>=0&&(t.fraction=h,U.MulRV(i.q,this.m_normals[c],t.normal),!0)},r.prototype.ComputeAABB=function(t,e,i){for(var n=j.MulXV(e,this.m_vertices[0],t.lowerBound),s=t.upperBound.Copy(n),a=0;a<this.m_count;++a){var o=j.MulXV(e,this.m_vertices[a],r.ComputeAABB_s_v);V.MinV(o,n,n),V.MaxV(o,s,s)}var h=this.m_radius;n.SelfSubXY(h,h),s.SelfAddXY(h,h)},r.prototype.ComputeMass=function(t,e){for(var i=r.ComputeMass_s_center.SetZero(),n=0,s=0,a=r.ComputeMass_s_s.SetZero(),o=0;o<this.m_count;++o)a.SelfAdd(this.m_vertices[o]);a.SelfMul(1/this.m_count);for(o=0;o<this.m_count;++o){var h=V.SubVV(this.m_vertices[o],a,r.ComputeMass_s_e1),l=V.SubVV(this.m_vertices[(o+1)%this.m_count],a,r.ComputeMass_s_e2),c=V.CrossVV(h,l),u=.5*c;n+=u,i.SelfAdd(V.MulSV(u*(1/3),V.AddVV(h,l,V.s_t0),V.s_t1));var _=h.x,f=h.y,m=l.x,d=l.y;s+=1/3*.25*c*(_*_+m*_+m*m+(f*f+d*f+d*d))}t.mass=e*n,i.SelfMul(1/n),V.AddVV(i,a,t.center),t.I=e*s,t.I+=t.mass*(V.DotVV(t.center,t.center)-V.DotVV(i,i))},r.prototype.Validate=function(){for(var t=0;t<this.m_count;++t)for(var e=t,i=(t+1)%this.m_count,n=this.m_vertices[e],s=V.SubVV(this.m_vertices[i],n,r.Validate_s_e),a=0;a<this.m_count;++a)if(a!==e&&a!==i){var o=V.SubVV(this.m_vertices[a],n,r.Validate_s_v);if(V.CrossVV(s,o)<0)return!1}return!0},r.prototype.SetupDistanceProxy=function(t,e){t.m_vertices=this.m_vertices,t.m_count=this.m_count,t.m_radius=this.m_radius},r.prototype.ComputeSubmergedArea=function(t,e,i,s){for(var a=U.MulTRV(i.q,t,r.ComputeSubmergedArea_s_normalL),o=e-V.DotVV(t,i.p),h=r.ComputeSubmergedArea_s_depths,l=0,c=-1,u=-1,_=!1,f=0;f<this.m_count;++f){h[f]=V.DotVV(a,this.m_vertices[f])-o;var m=h[f]<-n;f>0&&(m?_||(c=f-1,l++):_&&(u=f-1,l++)),_=m}switch(l){case 0:if(_){var d=r.ComputeSubmergedArea_s_md;return this.ComputeMass(d,1),j.MulXV(i,d.center,s),d.mass}return 0;case 1:-1===c?c=this.m_count-1:u=this.m_count-1}for(var p,y=(c+1)%this.m_count,v=(u+1)%this.m_count,g=(0-h[c])/(h[y]-h[c]),x=(0-h[u])/(h[v]-h[u]),A=r.ComputeSubmergedArea_s_intoVec.Set(this.m_vertices[c].x*(1-g)+this.m_vertices[y].x*g,this.m_vertices[c].y*(1-g)+this.m_vertices[y].y*g),b=r.ComputeSubmergedArea_s_outoVec.Set(this.m_vertices[u].x*(1-x)+this.m_vertices[v].x*x,this.m_vertices[u].y*(1-x)+this.m_vertices[v].y*x),C=0,S=r.ComputeSubmergedArea_s_center.SetZero(),T=this.m_vertices[y],w=y;w!==v;){p=(w=(w+1)%this.m_count)===v?b:this.m_vertices[w];var E=.5*((T.x-A.x)*(p.y-A.y)-(T.y-A.y)*(p.x-A.x));C+=E,S.x+=E*(A.x+T.x+p.x)/3,S.y+=E*(A.y+T.y+p.y)/3,T=p}return S.SelfMul(1/C),j.MulXV(i,S,s),C},r.prototype.Dump=function(t){t("    const shape: b2PolygonShape = new b2PolygonShape();\n"),t("    const vs: b2Vec2[] = b2Vec2.MakeArray(%d);\n",o);for(var e=0;e<this.m_count;++e)t("    vs[%d].Set(%.15f, %.15f);\n",e,this.m_vertices[e].x,this.m_vertices[e].y);t("    shape.Set(vs, %d);\n",this.m_count)},r.ComputeCentroid=function(t,e,i){var n=i;n.SetZero();for(var s=0,a=r.ComputeCentroid_s_pRef.SetZero(),o=0;o<e;++o){var h=a,l=t[o],c=t[(o+1)%e],u=V.SubVV(l,h,r.ComputeCentroid_s_e1),_=V.SubVV(c,h,r.ComputeCentroid_s_e2),f=.5*V.CrossVV(u,_);s+=f,n.x+=f*(1/3)*(h.x+l.x+c.x),n.y+=f*(1/3)*(h.y+l.y+c.y)}return n.SelfMul(1/s),n},r.Set_s_ps=V.MakeArray(o),r.Set_s_hull=g(o),r.Set_s_r=new V,r.Set_s_v=new V,r.TestPoint_s_pLocal=new V,r.ComputeDistance_s_pLocal=new V,r.ComputeDistance_s_normalForMaxDistance=new V,r.ComputeDistance_s_minDistance=new V,r.ComputeDistance_s_distance=new V,r.RayCast_s_p1=new V,r.RayCast_s_p2=new V,r.RayCast_s_d=new V,r.ComputeAABB_s_v=new V,r.ComputeMass_s_center=new V,r.ComputeMass_s_s=new V,r.ComputeMass_s_e1=new V,r.ComputeMass_s_e2=new V,r.Validate_s_e=new V,r.Validate_s_v=new V,r.ComputeSubmergedArea_s_normalL=new V,r.ComputeSubmergedArea_s_depths=g(o),r.ComputeSubmergedArea_s_md=new ti,r.ComputeSubmergedArea_s_intoVec=new V,r.ComputeSubmergedArea_s_outoVec=new V,r.ComputeSubmergedArea_s_center=new V,r.ComputeCentroid_s_pRef=new V,r.ComputeCentroid_s_e1=new V,r.ComputeCentroid_s_e2=new V,r})(ei),ai=(function(e){function i(){var i=e.call(this,t.b2ShapeType.e_edgeShape,c)||this;return i.m_vertex1=new V,i.m_vertex2=new V,i.m_vertex0=new V,i.m_vertex3=new V,i.m_hasVertex0=!1,i.m_hasVertex3=!1,i}return ni(i,e),i.prototype.Set=function(t,e){return this.m_vertex1.Copy(t),this.m_vertex2.Copy(e),this.m_hasVertex0=!1,this.m_hasVertex3=!1,this},i.prototype.Clone=function(){return(new i).Copy(this)},i.prototype.Copy=function(t){return e.prototype.Copy.call(this,t),this.m_vertex1.Copy(t.m_vertex1),this.m_vertex2.Copy(t.m_vertex2),this.m_vertex0.Copy(t.m_vertex0),this.m_vertex3.Copy(t.m_vertex3),this.m_hasVertex0=t.m_hasVertex0,this.m_hasVertex3=t.m_hasVertex3,this},i.prototype.GetChildCount=function(){return 1},i.prototype.TestPoint=function(t,e){return!1},i.prototype.ComputeDistance=function(t,e,n,r){var s=j.MulXV(t,this.m_vertex1,i.ComputeDistance_s_v1),a=j.MulXV(t,this.m_vertex2,i.ComputeDistance_s_v2),o=V.SubVV(e,s,i.ComputeDistance_s_d),h=V.SubVV(a,s,i.ComputeDistance_s_s),l=V.DotVV(o,h);if(l>0){var c=V.DotVV(h,h);l>c?V.SubVV(e,a,o):o.SelfMulSub(l/c,h)}return n.Copy(o),n.Normalize()},i.prototype.RayCast=function(t,e,n,r){var s=j.MulTXV(n,e.p1,i.RayCast_s_p1),a=j.MulTXV(n,e.p2,i.RayCast_s_p2),o=V.SubVV(a,s,i.RayCast_s_d),h=this.m_vertex1,l=this.m_vertex2,c=V.SubVV(l,h,i.RayCast_s_e),u=t.normal.Set(c.y,-c.x).SelfNormalize(),_=V.DotVV(u,V.SubVV(h,s,V.s_t0)),f=V.DotVV(u,o);if(0===f)return!1;var m=_/f;if(m<0||e.maxFraction<m)return!1;var d=V.AddVMulSV(s,m,o,i.RayCast_s_q),p=V.SubVV(l,h,i.RayCast_s_r),y=V.DotVV(p,p);if(0===y)return!1;var v=V.DotVV(V.SubVV(d,h,V.s_t0),p)/y;return!(v<0||1<v)&&(t.fraction=m,U.MulRV(n.q,t.normal,t.normal),_>0&&t.normal.SelfNeg(),!0)},i.prototype.ComputeAABB=function(t,e,n){var r=j.MulXV(e,this.m_vertex1,i.ComputeAABB_s_v1),s=j.MulXV(e,this.m_vertex2,i.ComputeAABB_s_v2);V.MinV(r,s,t.lowerBound),V.MaxV(r,s,t.upperBound);var a=this.m_radius;t.lowerBound.SelfSubXY(a,a),t.upperBound.SelfAddXY(a,a)},i.prototype.ComputeMass=function(t,e){t.mass=0,V.MidVV(this.m_vertex1,this.m_vertex2,t.center),t.I=0},i.prototype.SetupDistanceProxy=function(t,e){t.m_vertices=t.m_buffer,t.m_vertices[0].Copy(this.m_vertex1),t.m_vertices[1].Copy(this.m_vertex2),t.m_count=2,t.m_radius=this.m_radius},i.prototype.ComputeSubmergedArea=function(t,e,i,n){return n.SetZero(),0},i.prototype.Dump=function(t){t("    const shape: b2EdgeShape = new b2EdgeShape();\n"),t("    shape.m_radius = %.15f;\n",this.m_radius),t("    shape.m_vertex0.Set(%.15f, %.15f);\n",this.m_vertex0.x,this.m_vertex0.y),t("    shape.m_vertex1.Set(%.15f, %.15f);\n",this.m_vertex1.x,this.m_vertex1.y),t("    shape.m_vertex2.Set(%.15f, %.15f);\n",this.m_vertex2.x,this.m_vertex2.y),t("    shape.m_vertex3.Set(%.15f, %.15f);\n",this.m_vertex3.x,this.m_vertex3.y),t("    shape.m_hasVertex0 = %s;\n",this.m_hasVertex0),t("    shape.m_hasVertex3 = %s;\n",this.m_hasVertex3)},i.ComputeDistance_s_v1=new V,i.ComputeDistance_s_v2=new V,i.ComputeDistance_s_d=new V,i.ComputeDistance_s_s=new V,i.RayCast_s_p1=new V,i.RayCast_s_p2=new V,i.RayCast_s_d=new V,i.RayCast_s_e=new V,i.RayCast_s_q=new V,i.RayCast_s_r=new V,i.ComputeAABB_s_v1=new V,i.ComputeAABB_s_v2=new V,i})(ei),oi=(function(e){function i(){var i=e.call(this,t.b2ShapeType.e_chainShape,c)||this;return i.m_vertices=[],i.m_count=0,i.m_prevVertex=new V,i.m_nextVertex=new V,i.m_hasPrevVertex=!1,i.m_hasNextVertex=!1,i}return ni(i,e),i.prototype.CreateLoop=function(t,e,i){if(void 0===e&&(e=t.length),void 0===i&&(i=0),e<3)return this;this.m_count=e+1,this.m_vertices=V.MakeArray(this.m_count);for(var n=0;n<e;++n)this.m_vertices[n].Copy(t[i+n]);return this.m_vertices[e].Copy(this.m_vertices[0]),this.m_prevVertex.Copy(this.m_vertices[this.m_count-2]),this.m_nextVertex.Copy(this.m_vertices[1]),this.m_hasPrevVertex=!0,this.m_hasNextVertex=!0,this},i.prototype.CreateChain=function(t,e,i){void 0===e&&(e=t.length),void 0===i&&(i=0),this.m_count=e,this.m_vertices=V.MakeArray(e);for(var n=0;n<e;++n)this.m_vertices[n].Copy(t[i+n]);return this.m_hasPrevVertex=!1,this.m_hasNextVertex=!1,this.m_prevVertex.SetZero(),this.m_nextVertex.SetZero(),this},i.prototype.SetPrevVertex=function(t){return this.m_prevVertex.Copy(t),this.m_hasPrevVertex=!0,this},i.prototype.SetNextVertex=function(t){return this.m_nextVertex.Copy(t),this.m_hasNextVertex=!0,this},i.prototype.Clone=function(){return(new i).Copy(this)},i.prototype.Copy=function(t){return e.prototype.Copy.call(this,t),this.CreateChain(t.m_vertices,t.m_count),this.m_prevVertex.Copy(t.m_prevVertex),this.m_nextVertex.Copy(t.m_nextVertex),this.m_hasPrevVertex=t.m_hasPrevVertex,this.m_hasNextVertex=t.m_hasNextVertex,this},i.prototype.GetChildCount=function(){return this.m_count-1},i.prototype.GetChildEdge=function(e,i){e.m_type=t.b2ShapeType.e_edgeShape,e.m_radius=this.m_radius,e.m_vertex1.Copy(this.m_vertices[i]),e.m_vertex2.Copy(this.m_vertices[i+1]),i>0?(e.m_vertex0.Copy(this.m_vertices[i-1]),e.m_hasVertex0=!0):(e.m_vertex0.Copy(this.m_prevVertex),e.m_hasVertex0=this.m_hasPrevVertex),i<this.m_count-2?(e.m_vertex3.Copy(this.m_vertices[i+2]),e.m_hasVertex3=!0):(e.m_vertex3.Copy(this.m_nextVertex),e.m_hasVertex3=this.m_hasNextVertex)},i.prototype.TestPoint=function(t,e){return!1},i.prototype.ComputeDistance=function(t,e,n,r){var s=i.ComputeDistance_s_edgeShape;return this.GetChildEdge(s,r),s.ComputeDistance(t,e,n,0)},i.prototype.RayCast=function(t,e,n,r){var s=i.RayCast_s_edgeShape;return s.m_vertex1.Copy(this.m_vertices[r]),s.m_vertex2.Copy(this.m_vertices[(r+1)%this.m_count]),s.RayCast(t,e,n,0)},i.prototype.ComputeAABB=function(t,e,n){var r=this.m_vertices[n],s=this.m_vertices[(n+1)%this.m_count],a=j.MulXV(e,r,i.ComputeAABB_s_v1),o=j.MulXV(e,s,i.ComputeAABB_s_v2);V.MinV(a,o,t.lowerBound),V.MaxV(a,o,t.upperBound)},i.prototype.ComputeMass=function(t,e){t.mass=0,t.center.SetZero(),t.I=0},i.prototype.SetupDistanceProxy=function(t,e){t.m_vertices=t.m_buffer,t.m_vertices[0].Copy(this.m_vertices[e]),e+1<this.m_count?t.m_vertices[1].Copy(this.m_vertices[e+1]):t.m_vertices[1].Copy(this.m_vertices[0]),t.m_count=2,t.m_radius=this.m_radius},i.prototype.ComputeSubmergedArea=function(t,e,i,n){return n.SetZero(),0},i.prototype.Dump=function(t){t("    const shape: b2ChainShape = new b2ChainShape();\n"),t("    const vs: b2Vec2[] = b2Vec2.MakeArray(%d);\n",o);for(var e=0;e<this.m_count;++e)t("    vs[%d].Set(%.15f, %.15f);\n",e,this.m_vertices[e].x,this.m_vertices[e].y);t("    shape.CreateChain(vs, %d);\n",this.m_count),t("    shape.m_prevVertex.Set(%.15f, %.15f);\n",this.m_prevVertex.x,this.m_prevVertex.y),t("    shape.m_nextVertex.Set(%.15f, %.15f);\n",this.m_nextVertex.x,this.m_nextVertex.y),t("    shape.m_hasPrevVertex = %s;\n",this.m_hasPrevVertex?"true":"false"),t("    shape.m_hasNextVertex = %s;\n",this.m_hasNextVertex?"true":"false")},i.ComputeDistance_s_edgeShape=new ai,i.RayCast_s_edgeShape=new ai,i.ComputeAABB_s_v1=new V,i.ComputeAABB_s_v2=new V,i})(ei),hi=(function(){function t(){this.categoryBits=1,this.maskBits=65535,this.groupIndex=0}return t.prototype.Clone=function(){return(new t).Copy(this)},t.prototype.Copy=function(t){return this.categoryBits=t.categoryBits,this.maskBits=t.maskBits,this.groupIndex=t.groupIndex||0,this},t.DEFAULT=new t,t})(),li=(function(){return function(){this.userData=null,this.friction=.2,this.restitution=0,this.density=0,this.isSensor=!1,this.filter=new hi}})(),ci=(function(){return function(t){this.aabb=new Pt,this.childIndex=0,this.fixture=t}})(),ui=(function(){function t(t,e){this.m_density=0,this.m_next=null,this.m_friction=0,this.m_restitution=0,this.m_proxies=[],this.m_proxyCount=0,this.m_filter=new hi,this.m_isSensor=!1,this.m_userData=null,this.m_body=e,this.m_shape=t.shape.Clone()}return t.prototype.GetType=function(){return this.m_shape.GetType()},t.prototype.GetShape=function(){return this.m_shape},t.prototype.SetSensor=function(t){t!==this.m_isSensor&&(this.m_body.SetAwake(!0),this.m_isSensor=t)},t.prototype.IsSensor=function(){return this.m_isSensor},t.prototype.SetFilterData=function(t){this.m_filter.Copy(t),this.Refilter()},t.prototype.GetFilterData=function(){return this.m_filter},t.prototype.Refilter=function(){for(var t=this.m_body.GetContactList();t;){var e=t.contact,i=e.GetFixtureA(),n=e.GetFixtureB();i!==this&&n!==this||e.FlagForFiltering(),t=t.next}var r=this.m_body.GetWorld();if(null!==r)for(var s=r.m_contactManager.m_broadPhase,a=0;a<this.m_proxyCount;++a)s.TouchProxy(this.m_proxies[a].treeNode)},t.prototype.GetBody=function(){return this.m_body},t.prototype.GetNext=function(){return this.m_next},t.prototype.GetUserData=function(){return this.m_userData},t.prototype.SetUserData=function(t){this.m_userData=t},t.prototype.TestPoint=function(t){return this.m_shape.TestPoint(this.m_body.GetTransform(),t)},t.prototype.ComputeDistance=function(t,e,i){return this.m_shape.ComputeDistance(this.m_body.GetTransform(),t,e,i)},t.prototype.RayCast=function(t,e,i){return this.m_shape.RayCast(t,e,this.m_body.GetTransform(),i)},t.prototype.GetMassData=function(t){return void 0===t&&(t=new ti),this.m_shape.ComputeMass(t,this.m_density),t},t.prototype.SetDensity=function(t){this.m_density=t},t.prototype.GetDensity=function(){return this.m_density},t.prototype.GetFriction=function(){return this.m_friction},t.prototype.SetFriction=function(t){this.m_friction=t},t.prototype.GetRestitution=function(){return this.m_restitution},t.prototype.SetRestitution=function(t){this.m_restitution=t},t.prototype.GetAABB=function(t){return this.m_proxies[t].aabb},t.prototype.Dump=function(t,e){t("    const fd: b2FixtureDef = new b2FixtureDef();\n"),t("    fd.friction = %.15f;\n",this.m_friction),t("    fd.restitution = %.15f;\n",this.m_restitution),t("    fd.density = %.15f;\n",this.m_density),t("    fd.isSensor = %s;\n",this.m_isSensor?"true":"false"),t("    fd.filter.categoryBits = %d;\n",this.m_filter.categoryBits),t("    fd.filter.maskBits = %d;\n",this.m_filter.maskBits),t("    fd.filter.groupIndex = %d;\n",this.m_filter.groupIndex),this.m_shape.Dump(t),t("\n"),t("    fd.shape = shape;\n"),t("\n"),t("    bodies[%d].CreateFixture(fd);\n",e)},t.prototype.Create=function(t){var i=this;this.m_userData=t.userData,this.m_friction=e(t.friction,.2),this.m_restitution=e(t.restitution,0),this.m_next=null,this.m_filter.Copy(e(t.filter,hi.DEFAULT)),this.m_isSensor=e(t.isSensor,!1),this.m_proxies=v(this.m_shape.GetChildCount(),(function(t){return new ci(i)})),this.m_proxyCount=0,this.m_density=e(t.density,0)},t.prototype.Destroy=function(){},t.prototype.CreateProxies=function(t){var e=this.m_body.m_world.m_contactManager.m_broadPhase;this.m_proxyCount=this.m_shape.GetChildCount();for(var i=0;i<this.m_proxyCount;++i){var n=this.m_proxies[i]=new ci(this);this.m_shape.ComputeAABB(n.aabb,t,i),n.treeNode=e.CreateProxy(n.aabb,n),n.childIndex=i}},t.prototype.DestroyProxies=function(){for(var t=this.m_body.m_world.m_contactManager.m_broadPhase,e=0;e<this.m_proxyCount;++e){var i=this.m_proxies[e];delete i.treeNode.userData,t.DestroyProxy(i.treeNode),delete i.treeNode}this.m_proxyCount=0},t.prototype.TouchProxies=function(){for(var t=this.m_body.m_world.m_contactManager.m_broadPhase,e=this.m_proxyCount,i=0;i<e;++i)t.TouchProxy(this.m_proxies[i].treeNode)},t.prototype.Synchronize=function(e,i){if(0!==this.m_proxyCount)for(var n=this.m_body.m_world.m_contactManager.m_broadPhase,r=0;r<this.m_proxyCount;++r){var s=this.m_proxies[r],a=t.Synchronize_s_aabb1,o=t.Synchronize_s_aabb2;this.m_shape.ComputeAABB(a,e,r),this.m_shape.ComputeAABB(o,i,r),s.aabb.Combine2(a,o);var h=V.SubVV(i.p,e.p,t.Synchronize_s_displacement);n.MoveProxy(s.treeNode,s.aabb,h)}},t.Synchronize_s_aabb1=new Pt,t.Synchronize_s_aabb2=new Pt,t.Synchronize_s_displacement=new V,t})();(function(t){t[t.b2_unknown=-1]="b2_unknown",t[t.b2_staticBody=0]="b2_staticBody",t[t.b2_kinematicBody=1]="b2_kinematicBody",t[t.b2_dynamicBody=2]="b2_dynamicBody"})(t.b2BodyType||(t.b2BodyType={}));var _i=(function(){return function(){this.type=t.b2BodyType.b2_staticBody,this.position=new V(0,0),this.angle=0,this.linearVelocity=new V(0,0),this.angularVelocity=0,this.linearDamping=0,this.angularDamping=0,this.allowSleep=!0,this.awake=!0,this.fixedRotation=!1,this.bullet=!1,this.active=!0,this.userData=null,this.gravityScale=1}})(),fi=(function(){function i(i,n){this.m_type=t.b2BodyType.b2_staticBody,this.m_islandFlag=!1,this.m_awakeFlag=!1,this.m_autoSleepFlag=!1,this.m_bulletFlag=!1,this.m_fixedRotationFlag=!1,this.m_activeFlag=!1,this.m_toiFlag=!1,this.m_islandIndex=0,this.m_xf=new j,this.m_xf0=new j,this.m_sweep=new W,this.m_linearVelocity=new V,this.m_angularVelocity=0,this.m_force=new V,this.m_torque=0,this.m_prev=null,this.m_next=null,this.m_fixtureList=null,this.m_fixtureCount=0,this.m_jointList=null,this.m_contactList=null,this.m_mass=1,this.m_invMass=1,this.m_I=0,this.m_invI=0,this.m_linearDamping=0,this.m_angularDamping=0,this.m_gravityScale=1,this.m_sleepTime=0,this.m_userData=null,this.m_controllerList=null,this.m_controllerCount=0,this.m_bulletFlag=e(i.bullet,!1),this.m_fixedRotationFlag=e(i.fixedRotation,!1),this.m_autoSleepFlag=e(i.allowSleep,!0),this.m_awakeFlag=e(i.awake,!0),this.m_activeFlag=e(i.active,!0),this.m_world=n,this.m_xf.p.Copy(e(i.position,V.ZERO)),this.m_xf.q.SetAngle(e(i.angle,0)),this.m_xf0.Copy(this.m_xf),this.m_sweep.localCenter.SetZero(),this.m_sweep.c0.Copy(this.m_xf.p),this.m_sweep.c.Copy(this.m_xf.p),this.m_sweep.a0=this.m_sweep.a=this.m_xf.q.GetAngle(),this.m_sweep.alpha0=0,this.m_linearVelocity.Copy(e(i.linearVelocity,V.ZERO)),this.m_angularVelocity=e(i.angularVelocity,0),this.m_linearDamping=e(i.linearDamping,0),this.m_angularDamping=e(i.angularDamping,0),this.m_gravityScale=e(i.gravityScale,1),this.m_force.SetZero(),this.m_torque=0,this.m_sleepTime=0,this.m_type=e(i.type,t.b2BodyType.b2_staticBody),i.type===t.b2BodyType.b2_dynamicBody?(this.m_mass=1,this.m_invMass=1):(this.m_mass=0,this.m_invMass=0),this.m_I=0,this.m_invI=0,this.m_userData=i.userData,this.m_fixtureList=null,this.m_fixtureCount=0,this.m_controllerList=null,this.m_controllerCount=0}return i.prototype.CreateFixture=function(t,e){return void 0===e&&(e=0),t instanceof ei?this.CreateFixtureShapeDensity(t,e):this.CreateFixtureDef(t)},i.prototype.CreateFixtureDef=function(t){if(this.m_world.IsLocked())throw new Error;var e=new ui(t,this);return e.Create(t),this.m_activeFlag&&e.CreateProxies(this.m_xf),e.m_next=this.m_fixtureList,this.m_fixtureList=e,++this.m_fixtureCount,e.m_density>0&&this.ResetMassData(),this.m_world.m_newFixture=!0,e},i.prototype.CreateFixtureShapeDensity=function(t,e){void 0===e&&(e=0);var n=i.CreateFixtureShapeDensity_s_def;return n.shape=t,n.density=e,this.CreateFixtureDef(n)},i.prototype.DestroyFixture=function(t){if(this.m_world.IsLocked())throw new Error;for(var e=this.m_fixtureList,i=null;null!==e;){if(e===t){i?i.m_next=t.m_next:this.m_fixtureList=t.m_next;break}i=e,e=e.m_next}for(var n=this.m_contactList;n;){var r=n.contact;n=n.next;var s=r.GetFixtureA(),a=r.GetFixtureB();t!==s&&t!==a||this.m_world.m_contactManager.Destroy(r)}this.m_activeFlag&&t.DestroyProxies(),t.m_next=null,t.Destroy(),--this.m_fixtureCount,this.ResetMassData()},i.prototype.SetTransformVec=function(t,e){this.SetTransformXY(t.x,t.y,e)},i.prototype.SetTransformXY=function(t,e,i){if(this.m_world.IsLocked())throw new Error;this.m_xf.q.SetAngle(i),this.m_xf.p.Set(t,e),this.m_xf0.Copy(this.m_xf),j.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.a=i,this.m_sweep.c0.Copy(this.m_sweep.c),this.m_sweep.a0=i;for(var n=this.m_fixtureList;n;n=n.m_next)n.Synchronize(this.m_xf,this.m_xf);this.m_world.m_contactManager.FindNewContacts()},i.prototype.SetTransform=function(t){this.SetTransformVec(t.p,t.GetAngle())},i.prototype.GetTransform=function(){return this.m_xf},i.prototype.GetPosition=function(){return this.m_xf.p},i.prototype.SetPosition=function(t){this.SetTransformVec(t,this.GetAngle())},i.prototype.SetPositionXY=function(t,e){this.SetTransformXY(t,e,this.GetAngle())},i.prototype.GetAngle=function(){return this.m_sweep.a},i.prototype.SetAngle=function(t){this.SetTransformVec(this.GetPosition(),t)},i.prototype.GetWorldCenter=function(){return this.m_sweep.c},i.prototype.GetLocalCenter=function(){return this.m_sweep.localCenter},i.prototype.SetLinearVelocity=function(e){this.m_type!==t.b2BodyType.b2_staticBody&&(V.DotVV(e,e)>0&&this.SetAwake(!0),this.m_linearVelocity.Copy(e))},i.prototype.GetLinearVelocity=function(){return this.m_linearVelocity},i.prototype.SetAngularVelocity=function(e){this.m_type!==t.b2BodyType.b2_staticBody&&(e*e>0&&this.SetAwake(!0),this.m_angularVelocity=e)},i.prototype.GetAngularVelocity=function(){return this.m_angularVelocity},i.prototype.GetDefinition=function(t){return t.type=this.GetType(),t.allowSleep=this.m_autoSleepFlag,t.angle=this.GetAngle(),t.angularDamping=this.m_angularDamping,t.gravityScale=this.m_gravityScale,t.angularVelocity=this.m_angularVelocity,t.fixedRotation=this.m_fixedRotationFlag,t.bullet=this.m_bulletFlag,t.awake=this.m_awakeFlag,t.linearDamping=this.m_linearDamping,t.linearVelocity.Copy(this.GetLinearVelocity()),t.position.Copy(this.GetPosition()),t.userData=this.GetUserData(),t},i.prototype.ApplyForce=function(e,i,n){void 0===n&&(n=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(n&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_force.x+=e.x,this.m_force.y+=e.y,this.m_torque+=(i.x-this.m_sweep.c.x)*e.y-(i.y-this.m_sweep.c.y)*e.x))},i.prototype.ApplyForceToCenter=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_force.x+=e.x,this.m_force.y+=e.y))},i.prototype.ApplyTorque=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_torque+=e))},i.prototype.ApplyLinearImpulse=function(e,i,n){void 0===n&&(n=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(n&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_linearVelocity.x+=this.m_invMass*e.x,this.m_linearVelocity.y+=this.m_invMass*e.y,this.m_angularVelocity+=this.m_invI*((i.x-this.m_sweep.c.x)*e.y-(i.y-this.m_sweep.c.y)*e.x)))},i.prototype.ApplyLinearImpulseToCenter=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_linearVelocity.x+=this.m_invMass*e.x,this.m_linearVelocity.y+=this.m_invMass*e.y))},i.prototype.ApplyAngularImpulse=function(e,i){void 0===i&&(i=!0),this.m_type===t.b2BodyType.b2_dynamicBody&&(i&&!this.m_awakeFlag&&this.SetAwake(!0),this.m_awakeFlag&&(this.m_angularVelocity+=this.m_invI*e))},i.prototype.GetMass=function(){return this.m_mass},i.prototype.GetInertia=function(){return this.m_I+this.m_mass*V.DotVV(this.m_sweep.localCenter,this.m_sweep.localCenter)},i.prototype.GetMassData=function(t){return t.mass=this.m_mass,t.I=this.m_I+this.m_mass*V.DotVV(this.m_sweep.localCenter,this.m_sweep.localCenter),t.center.Copy(this.m_sweep.localCenter),t},i.prototype.SetMassData=function(e){if(this.m_world.IsLocked())throw new Error;if(this.m_type===t.b2BodyType.b2_dynamicBody){this.m_invMass=0,this.m_I=0,this.m_invI=0,this.m_mass=e.mass,this.m_mass<=0&&(this.m_mass=1),this.m_invMass=1/this.m_mass,e.I>0&&!this.m_fixedRotationFlag&&(this.m_I=e.I-this.m_mass*V.DotVV(e.center,e.center),this.m_invI=1/this.m_I);var n=i.SetMassData_s_oldCenter.Copy(this.m_sweep.c);this.m_sweep.localCenter.Copy(e.center),j.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.c0.Copy(this.m_sweep.c),V.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,V.SubVV(this.m_sweep.c,n,V.s_t0),this.m_linearVelocity)}},i.prototype.ResetMassData=function(){if(this.m_mass=0,this.m_invMass=0,this.m_I=0,this.m_invI=0,this.m_sweep.localCenter.SetZero(),this.m_type===t.b2BodyType.b2_staticBody||this.m_type===t.b2BodyType.b2_kinematicBody)return this.m_sweep.c0.Copy(this.m_xf.p),this.m_sweep.c.Copy(this.m_xf.p),void(this.m_sweep.a0=this.m_sweep.a);for(var e=i.ResetMassData_s_localCenter.SetZero(),n=this.m_fixtureList;n;n=n.m_next)if(0!==n.m_density){var r=n.GetMassData(i.ResetMassData_s_massData);this.m_mass+=r.mass,e.x+=r.center.x*r.mass,e.y+=r.center.y*r.mass,this.m_I+=r.I}this.m_mass>0?(this.m_invMass=1/this.m_mass,e.x*=this.m_invMass,e.y*=this.m_invMass):(this.m_mass=1,this.m_invMass=1),this.m_I>0&&!this.m_fixedRotationFlag?(this.m_I-=this.m_mass*V.DotVV(e,e),this.m_invI=1/this.m_I):(this.m_I=0,this.m_invI=0);var s=i.ResetMassData_s_oldCenter.Copy(this.m_sweep.c);this.m_sweep.localCenter.Copy(e),j.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.c0.Copy(this.m_sweep.c),V.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,V.SubVV(this.m_sweep.c,s,V.s_t0),this.m_linearVelocity)},i.prototype.GetWorldPoint=function(t,e){return j.MulXV(this.m_xf,t,e)},i.prototype.GetWorldVector=function(t,e){return U.MulRV(this.m_xf.q,t,e)},i.prototype.GetLocalPoint=function(t,e){return j.MulTXV(this.m_xf,t,e)},i.prototype.GetLocalVector=function(t,e){return U.MulTRV(this.m_xf.q,t,e)},i.prototype.GetLinearVelocityFromWorldPoint=function(t,e){return V.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,V.SubVV(t,this.m_sweep.c,V.s_t0),e)},i.prototype.GetLinearVelocityFromLocalPoint=function(t,e){return this.GetLinearVelocityFromWorldPoint(this.GetWorldPoint(t,e),e)},i.prototype.GetLinearDamping=function(){return this.m_linearDamping},i.prototype.SetLinearDamping=function(t){this.m_linearDamping=t},i.prototype.GetAngularDamping=function(){return this.m_angularDamping},i.prototype.SetAngularDamping=function(t){this.m_angularDamping=t},i.prototype.GetGravityScale=function(){return this.m_gravityScale},i.prototype.SetGravityScale=function(t){this.m_gravityScale=t},i.prototype.SetType=function(e){if(this.m_world.IsLocked())throw new Error;if(this.m_type!==e){this.m_type=e,this.ResetMassData(),this.m_type===t.b2BodyType.b2_staticBody&&(this.m_linearVelocity.SetZero(),this.m_angularVelocity=0,this.m_sweep.a0=this.m_sweep.a,this.m_sweep.c0.Copy(this.m_sweep.c),this.SynchronizeFixtures()),this.SetAwake(!0),this.m_force.SetZero(),this.m_torque=0;for(var i=this.m_contactList;i;){var n=i;i=i.next,this.m_world.m_contactManager.Destroy(n.contact)}this.m_contactList=null;for(var r=this.m_fixtureList;r;r=r.m_next)r.TouchProxies()}},i.prototype.GetType=function(){return this.m_type},i.prototype.SetBullet=function(t){this.m_bulletFlag=t},i.prototype.IsBullet=function(){return this.m_bulletFlag},i.prototype.SetSleepingAllowed=function(t){this.m_autoSleepFlag=t,t||this.SetAwake(!0)},i.prototype.IsSleepingAllowed=function(){return this.m_autoSleepFlag},i.prototype.SetAwake=function(t){t?(this.m_awakeFlag=!0,this.m_sleepTime=0):(this.m_awakeFlag=!1,this.m_sleepTime=0,this.m_linearVelocity.SetZero(),this.m_angularVelocity=0,this.m_force.SetZero(),this.m_torque=0)},i.prototype.IsAwake=function(){return this.m_awakeFlag},i.prototype.SetActive=function(t){if(this.m_world.IsLocked())throw new Error;if(t!==this.IsActive())if(this.m_activeFlag=t,t)for(var e=this.m_fixtureList;e;e=e.m_next)e.CreateProxies(this.m_xf);else{for(e=this.m_fixtureList;e;e=e.m_next)e.DestroyProxies();for(var i=this.m_contactList;i;){var n=i;i=i.next,this.m_world.m_contactManager.Destroy(n.contact)}this.m_contactList=null}},i.prototype.IsActive=function(){return this.m_activeFlag},i.prototype.SetFixedRotation=function(t){this.m_fixedRotationFlag!==t&&(this.m_fixedRotationFlag=t,this.m_angularVelocity=0,this.ResetMassData())},i.prototype.IsFixedRotation=function(){return this.m_fixedRotationFlag},i.prototype.GetFixtureList=function(){return this.m_fixtureList},i.prototype.GetJointList=function(){return this.m_jointList},i.prototype.GetContactList=function(){return this.m_contactList},i.prototype.GetNext=function(){return this.m_next},i.prototype.GetUserData=function(){return this.m_userData},i.prototype.SetUserData=function(t){this.m_userData=t},i.prototype.GetWorld=function(){return this.m_world},i.prototype.Dump=function(e){var i=this.m_islandIndex;e("{\n"),e("  const bd: b2BodyDef = new b2BodyDef();\n");var n="";switch(this.m_type){case t.b2BodyType.b2_staticBody:n="b2BodyType.b2_staticBody";break;case t.b2BodyType.b2_kinematicBody:n="b2BodyType.b2_kinematicBody";break;case t.b2BodyType.b2_dynamicBody:n="b2BodyType.b2_dynamicBody"}e("  bd.type = %s;\n",n),e("  bd.position.Set(%.15f, %.15f);\n",this.m_xf.p.x,this.m_xf.p.y),e("  bd.angle = %.15f;\n",this.m_sweep.a),e("  bd.linearVelocity.Set(%.15f, %.15f);\n",this.m_linearVelocity.x,this.m_linearVelocity.y),e("  bd.angularVelocity = %.15f;\n",this.m_angularVelocity),e("  bd.linearDamping = %.15f;\n",this.m_linearDamping),e("  bd.angularDamping = %.15f;\n",this.m_angularDamping),e("  bd.allowSleep = %s;\n",this.m_autoSleepFlag?"true":"false"),e("  bd.awake = %s;\n",this.m_awakeFlag?"true":"false"),e("  bd.fixedRotation = %s;\n",this.m_fixedRotationFlag?"true":"false"),e("  bd.bullet = %s;\n",this.m_bulletFlag?"true":"false"),e("  bd.active = %s;\n",this.m_activeFlag?"true":"false"),e("  bd.gravityScale = %.15f;\n",this.m_gravityScale),e("\n"),e("  bodies[%d] = this.m_world.CreateBody(bd);\n",this.m_islandIndex),e("\n");for(var r=this.m_fixtureList;r;r=r.m_next)e("  {\n"),r.Dump(e,i),e("  }\n");e("}\n")},i.prototype.SynchronizeFixtures=function(){var t=i.SynchronizeFixtures_s_xf1;t.q.SetAngle(this.m_sweep.a0),U.MulRV(t.q,this.m_sweep.localCenter,t.p),V.SubVV(this.m_sweep.c0,t.p,t.p);for(var e=this.m_fixtureList;e;e=e.m_next)e.Synchronize(t,this.m_xf)},i.prototype.SynchronizeTransform=function(){this.m_xf.q.SetAngle(this.m_sweep.a),U.MulRV(this.m_xf.q,this.m_sweep.localCenter,this.m_xf.p),V.SubVV(this.m_sweep.c,this.m_xf.p,this.m_xf.p)},i.prototype.ShouldCollide=function(e){return(this.m_type!==t.b2BodyType.b2_staticBody||e.m_type!==t.b2BodyType.b2_staticBody)&&this.ShouldCollideConnected(e)},i.prototype.ShouldCollideConnected=function(t){for(var e=this.m_jointList;e;e=e.next)if(e.other===t&&!e.joint.m_collideConnected)return!1;return!0},i.prototype.Advance=function(t){this.m_sweep.Advance(t),this.m_sweep.c.Copy(this.m_sweep.c0),this.m_sweep.a=this.m_sweep.a0,this.m_xf.q.SetAngle(this.m_sweep.a),U.MulRV(this.m_xf.q,this.m_sweep.localCenter,this.m_xf.p),V.SubVV(this.m_sweep.c,this.m_xf.p,this.m_xf.p)},i.prototype.GetControllerList=function(){return this.m_controllerList},i.prototype.GetControllerCount=function(){return this.m_controllerCount},i.CreateFixtureShapeDensity_s_def=new li,i.SetMassData_s_oldCenter=new V,i.ResetMassData_s_localCenter=new V,i.ResetMassData_s_oldCenter=new V,i.ResetMassData_s_massData=new ti,i.SynchronizeFixtures_s_xf1=new j,i})();(function(t){t[t.e_unknownJoint=0]="e_unknownJoint",t[t.e_revoluteJoint=1]="e_revoluteJoint",t[t.e_prismaticJoint=2]="e_prismaticJoint",t[t.e_distanceJoint=3]="e_distanceJoint",t[t.e_pulleyJoint=4]="e_pulleyJoint",t[t.e_mouseJoint=5]="e_mouseJoint",t[t.e_gearJoint=6]="e_gearJoint",t[t.e_wheelJoint=7]="e_wheelJoint",t[t.e_weldJoint=8]="e_weldJoint",t[t.e_frictionJoint=9]="e_frictionJoint",t[t.e_ropeJoint=10]="e_ropeJoint",t[t.e_motorJoint=11]="e_motorJoint",t[t.e_areaJoint=12]="e_areaJoint"})(t.b2JointType||(t.b2JointType={})),(function(t){t[t.e_inactiveLimit=0]="e_inactiveLimit",t[t.e_atLowerLimit=1]="e_atLowerLimit",t[t.e_atUpperLimit=2]="e_atUpperLimit",t[t.e_equalLimits=3]="e_equalLimits"})(t.b2LimitState||(t.b2LimitState={}));var mi=(function(){function t(){this.linear=new V,this.angularA=0,this.angularB=0}return t.prototype.SetZero=function(){return this.linear.SetZero(),this.angularA=0,this.angularB=0,this},t.prototype.Set=function(t,e,i){return this.linear.Copy(t),this.angularA=e,this.angularB=i,this},t})(),di=(function(){return function(t,e){this.prev=null,this.next=null,this.joint=t,this.other=e}})(),pi=(function(){return function(e){this.type=t.b2JointType.e_unknownJoint,this.userData=null,this.collideConnected=!1,this.type=e}})(),yi=(function(){function i(i){this.m_type=t.b2JointType.e_unknownJoint,this.m_prev=null,this.m_next=null,this.m_index=0,this.m_islandFlag=!1,this.m_collideConnected=!1,this.m_userData=null,this.m_type=i.type,this.m_edgeA=new di(this,i.bodyB),this.m_edgeB=new di(this,i.bodyA),this.m_bodyA=i.bodyA,this.m_bodyB=i.bodyB,this.m_collideConnected=e(i.collideConnected,!1),this.m_userData=i.userData}return i.prototype.GetType=function(){return this.m_type},i.prototype.GetBodyA=function(){return this.m_bodyA},i.prototype.GetBodyB=function(){return this.m_bodyB},i.prototype.GetNext=function(){return this.m_next},i.prototype.GetUserData=function(){return this.m_userData},i.prototype.SetUserData=function(t){this.m_userData=t},i.prototype.IsActive=function(){return this.m_bodyA.IsActive()&&this.m_bodyB.IsActive()},i.prototype.GetCollideConnected=function(){return this.m_collideConnected},i.prototype.Dump=function(t){t("// Dump is not supported for this joint type.\n")},i.prototype.ShiftOrigin=function(t){},i})(),vi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_distanceJoint)||this;return i.localAnchorA=new V,i.localAnchorB=new V,i.length=1,i.frequencyHz=0,i.dampingRatio=0,i}return ni(i,e),i.prototype.Initialize=function(t,e,i,n){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(n,this.localAnchorB),this.length=V.DistanceVV(i,n),this.frequencyHz=0,this.dampingRatio=0},i})(pi),gi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_bias=0,n.m_localAnchorA=new V,n.m_localAnchorB=new V,n.m_gamma=0,n.m_impulse=0,n.m_length=0,n.m_indexA=0,n.m_indexB=0,n.m_u=new V,n.m_rA=new V,n.m_rB=new V,n.m_localCenterA=new V,n.m_localCenterB=new V,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=0,n.m_qA=new U,n.m_qB=new U,n.m_lalcA=new V,n.m_lalcB=new V,n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_localAnchorA.Copy(i.localAnchorA),n.m_localAnchorB.Copy(i.localAnchorB),n.m_length=i.length,n}return ni(i,t),i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse*this.m_u.x,e.y=t*this.m_impulse*this.m_u.y,e},i.prototype.GetReactionTorque=function(t){return 0},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.SetLength=function(t){this.m_length=t},i.prototype.Length=function(){return this.m_length},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t("  const jd: b2DistanceJointDef = new b2DistanceJointDef();\n"),t("  jd.bodyA = bodies[%d];\n",e),t("  jd.bodyB = bodies[%d];\n",i),t("  jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t("  jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t("  jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t("  jd.length = %.15f;\n",this.m_length),t("  jd.frequencyHz = %.15f;\n",this.m_frequencyHz),t("  jd.dampingRatio = %.15f;\n",this.m_dampingRatio),t("  joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.velocities[this.m_indexA].v,a=t.velocities[this.m_indexA].w,o=t.positions[this.m_indexB].c,l=t.positions[this.m_indexB].a,c=t.velocities[this.m_indexB].v,u=t.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(n),f=this.m_qB.SetAngle(l);V.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),U.MulRV(_,this.m_lalcA,this.m_rA),V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),U.MulRV(f,this.m_lalcB,this.m_rB),this.m_u.x=o.x+this.m_rB.x-e.x-this.m_rA.x,this.m_u.y=o.y+this.m_rB.y-e.y-this.m_rA.y;var m=this.m_u.Length();m>h?this.m_u.SelfMul(1/m):this.m_u.SetZero();var d=V.CrossVV(this.m_rA,this.m_u),p=V.CrossVV(this.m_rB,this.m_u),y=this.m_invMassA+this.m_invIA*d*d+this.m_invMassB+this.m_invIB*p*p;if(this.m_mass=0!==y?1/y:0,this.m_frequencyHz>0){var v=m-this.m_length,g=2*s*this.m_frequencyHz,x=2*this.m_mass*this.m_dampingRatio*g,A=this.m_mass*g*g,b=t.step.dt;this.m_gamma=b*(x+b*A),this.m_gamma=0!==this.m_gamma?1/this.m_gamma:0,this.m_bias=v*b*A*this.m_gamma,y+=this.m_gamma,this.m_mass=0!==y?1/y:0}else this.m_gamma=0,this.m_bias=0;if(t.step.warmStarting){this.m_impulse*=t.step.dtRatio;var C=V.MulSV(this.m_impulse,this.m_u,i.InitVelocityConstraints_s_P);r.SelfMulSub(this.m_invMassA,C),a-=this.m_invIA*V.CrossVV(this.m_rA,C),c.SelfMulAdd(this.m_invMassB,C),u+=this.m_invIB*V.CrossVV(this.m_rB,C)}else this.m_impulse=0;t.velocities[this.m_indexA].w=a,t.velocities[this.m_indexB].w=u},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=V.AddVCrossSV(e,n,this.m_rA,i.SolveVelocityConstraints_s_vpA),o=V.AddVCrossSV(r,s,this.m_rB,i.SolveVelocityConstraints_s_vpB),h=V.DotVV(this.m_u,V.SubVV(o,a,V.s_t0)),l=-this.m_mass*(h+this.m_bias+this.m_gamma*this.m_impulse);this.m_impulse+=l;var c=V.MulSV(l,this.m_u,i.SolveVelocityConstraints_s_P);e.SelfMulSub(this.m_invMassA,c),n-=this.m_invIA*V.CrossVV(this.m_rA,c),r.SelfMulAdd(this.m_invMassB,c),s+=this.m_invIB*V.CrossVV(this.m_rB,c),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){if(this.m_frequencyHz>0)return!0;var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(n),o=this.m_qB.SetAngle(s),l=U.MulRV(a,this.m_lalcA,this.m_rA),c=U.MulRV(o,this.m_lalcB,this.m_rB),u=this.m_u;u.x=r.x+c.x-e.x-l.x,u.y=r.y+c.y-e.y-l.y;var _=this.m_u.Normalize()-this.m_length;_=w(_,-.2,.2);var f=-this.m_mass*_,m=V.MulSV(f,u,i.SolvePositionConstraints_s_P);return e.SelfMulSub(this.m_invMassA,m),n-=this.m_invIA*V.CrossVV(l,m),r.SelfMulAdd(this.m_invMassB,m),s+=this.m_invIB*V.CrossVV(c,m),t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,C(_)<h},i.InitVelocityConstraints_s_P=new V,i.SolveVelocityConstraints_s_vpA=new V,i.SolveVelocityConstraints_s_vpB=new V,i.SolveVelocityConstraints_s_P=new V,i.SolvePositionConstraints_s_P=new V,i})(yi),xi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_areaJoint)||this;return i.bodies=[],i.frequencyHz=0,i.dampingRatio=0,i}return ni(i,e),i.prototype.AddBody=function(t){this.bodies.push(t),1===this.bodies.length?this.bodyA=t:2===this.bodies.length&&(this.bodyB=t)},i})(pi),Ai=(function(t){function i(i){var n=t.call(this,i)||this;n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_impulse=0,n.m_targetArea=0,n.m_bodies=i.bodies,n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_targetLengths=g(i.bodies.length),n.m_normals=V.MakeArray(i.bodies.length),n.m_joints=[],n.m_deltas=V.MakeArray(i.bodies.length),n.m_delta=new V;var r=new vi;r.frequencyHz=n.m_frequencyHz,r.dampingRatio=n.m_dampingRatio,n.m_targetArea=0;for(var s=0;s<n.m_bodies.length;++s){var a=n.m_bodies[s],o=n.m_bodies[(s+1)%n.m_bodies.length],h=a.GetWorldCenter(),l=o.GetWorldCenter();n.m_targetLengths[s]=V.DistanceVV(h,l),n.m_targetArea+=V.CrossVV(h,l),r.Initialize(a,o,h,l),n.m_joints[s]=a.GetWorld().CreateJoint(r)}return n.m_targetArea*=.5,n}return ni(i,t),i.prototype.GetAnchorA=function(t){return t},i.prototype.GetAnchorB=function(t){return t},i.prototype.GetReactionForce=function(t,e){return e},i.prototype.GetReactionTorque=function(t){return 0},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t;for(var e=0;e<this.m_joints.length;++e)this.m_joints[e].SetFrequency(t)},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t;for(var e=0;e<this.m_joints.length;++e)this.m_joints[e].SetDampingRatio(t)},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.Dump=function(t){t("Area joint dumping is not supported.\n")},i.prototype.InitVelocityConstraints=function(t){for(var e=0;e<this.m_bodies.length;++e){var i=this.m_bodies[(e+this.m_bodies.length-1)%this.m_bodies.length],n=this.m_bodies[(e+1)%this.m_bodies.length],r=t.positions[i.m_islandIndex].c,s=t.positions[n.m_islandIndex].c,a=this.m_deltas[e];V.SubVV(s,r,a)}if(t.step.warmStarting){this.m_impulse*=t.step.dtRatio;for(e=0;e<this.m_bodies.length;++e){var o=this.m_bodies[e],h=t.velocities[o.m_islandIndex].v;a=this.m_deltas[e];h.x+=o.m_invMass*a.y*.5*this.m_impulse,h.y+=o.m_invMass*-a.x*.5*this.m_impulse}}else this.m_impulse=0},i.prototype.SolveVelocityConstraints=function(t){for(var e=0,i=0,n=0;n<this.m_bodies.length;++n){var r=this.m_bodies[n],s=t.velocities[r.m_islandIndex].v;e+=(o=this.m_deltas[n]).LengthSquared()/r.GetMass(),i+=V.CrossVV(s,o)}var a=-2*i/e;this.m_impulse+=a;for(n=0;n<this.m_bodies.length;++n){r=this.m_bodies[n],s=t.velocities[r.m_islandIndex].v;var o=this.m_deltas[n];s.x+=r.m_invMass*o.y*.5*a,s.y+=r.m_invMass*-o.x*.5*a}},i.prototype.SolvePositionConstraints=function(t){for(var e=0,i=0,r=0;r<this.m_bodies.length;++r){var s=this.m_bodies[r],a=this.m_bodies[(r+1)%this.m_bodies.length],o=t.positions[s.m_islandIndex].c,l=t.positions[a.m_islandIndex].c,c=(f=V.SubVV(l,o,this.m_delta)).Length();c<n&&(c=1),this.m_normals[r].x=f.y/c,this.m_normals[r].y=-f.x/c,e+=c,i+=V.CrossVV(o,l)}i*=.5;var u=.5*(this.m_targetArea-i)/e,_=!0;for(r=0;r<this.m_bodies.length;++r){s=this.m_bodies[r],o=t.positions[s.m_islandIndex].c;var f,m=(r+1)%this.m_bodies.length;(f=V.AddVV(this.m_normals[r],this.m_normals[m],this.m_delta)).SelfMul(u);var d=f.LengthSquared();d>D(.2)&&f.SelfMul(.2/B(d)),d>D(h)&&(_=!1),o.x+=f.x,o.y+=f.y}return _},i})(yi),bi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_frictionJoint)||this;return i.localAnchorA=new V,i.localAnchorB=new V,i.maxForce=0,i.maxTorque=0,i}return ni(i,e),i.prototype.Initialize=function(t,e,i){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB)},i})(pi),Ci=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_localAnchorA=new V,n.m_localAnchorB=new V,n.m_linearImpulse=new V,n.m_angularImpulse=0,n.m_maxForce=0,n.m_maxTorque=0,n.m_indexA=0,n.m_indexB=0,n.m_rA=new V,n.m_rB=new V,n.m_localCenterA=new V,n.m_localCenterB=new V,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_linearMass=new G,n.m_angularMass=0,n.m_qA=new U,n.m_qB=new U,n.m_lalcA=new V,n.m_lalcB=new V,n.m_K=new G,n.m_localAnchorA.Copy(i.localAnchorA),n.m_localAnchorB.Copy(i.localAnchorB),n.m_linearImpulse.SetZero(),n.m_maxForce=e(i.maxForce,0),n.m_maxTorque=e(i.maxTorque,0),n.m_linearMass.SetZero(),n}return ni(i,t),i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].a,i=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.positions[this.m_indexB].a,s=t.velocities[this.m_indexB].v,a=t.velocities[this.m_indexB].w,o=this.m_qA.SetAngle(e),h=this.m_qB.SetAngle(r);V.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var l=U.MulRV(o,this.m_lalcA,this.m_rA);V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var c=U.MulRV(h,this.m_lalcB,this.m_rB),u=this.m_invMassA,_=this.m_invMassB,f=this.m_invIA,m=this.m_invIB,d=this.m_K;if(d.ex.x=u+_+f*l.y*l.y+m*c.y*c.y,d.ex.y=-f*l.x*l.y-m*c.x*c.y,d.ey.x=d.ex.y,d.ey.y=u+_+f*l.x*l.x+m*c.x*c.x,d.GetInverse(this.m_linearMass),this.m_angularMass=f+m,this.m_angularMass>0&&(this.m_angularMass=1/this.m_angularMass),t.step.warmStarting){this.m_linearImpulse.SelfMul(t.step.dtRatio),this.m_angularImpulse*=t.step.dtRatio;var p=this.m_linearImpulse;i.SelfMulSub(u,p),n-=f*(V.CrossVV(this.m_rA,p)+this.m_angularImpulse),s.SelfMulAdd(_,p),a+=m*(V.CrossVV(this.m_rB,p)+this.m_angularImpulse)}else this.m_linearImpulse.SetZero(),this.m_angularImpulse=0;t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=a},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=this.m_invMassA,o=this.m_invMassB,h=this.m_invIA,l=this.m_invIB,c=t.step.dt,u=s-n,_=-this.m_angularMass*u,f=this.m_angularImpulse,m=c*this.m_maxTorque;this.m_angularImpulse=w(this.m_angularImpulse+_,-m,m),n-=h*(_=this.m_angularImpulse-f),s+=l*_;var d=V.SubVV(V.AddVCrossSV(r,s,this.m_rB,V.s_t0),V.AddVCrossSV(e,n,this.m_rA,V.s_t1),i.SolveVelocityConstraints_s_Cdot_v2),p=G.MulMV(this.m_linearMass,d,i.SolveVelocityConstraints_s_impulseV).SelfNeg(),y=i.SolveVelocityConstraints_s_oldImpulseV.Copy(this.m_linearImpulse);this.m_linearImpulse.SelfAdd(p);m=c*this.m_maxForce;this.m_linearImpulse.LengthSquared()>m*m&&(this.m_linearImpulse.Normalize(),this.m_linearImpulse.SelfMul(m)),V.SubVV(this.m_linearImpulse,y,p),e.SelfMulSub(a,p),n-=h*V.CrossVV(this.m_rA,p),r.SelfMulAdd(o,p),s+=l*V.CrossVV(this.m_rB,p),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){return!0},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_linearImpulse.x,e.y=t*this.m_linearImpulse.y,e},i.prototype.GetReactionTorque=function(t){return t*this.m_angularImpulse},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.SetMaxForce=function(t){this.m_maxForce=t},i.prototype.GetMaxForce=function(){return this.m_maxForce},i.prototype.SetMaxTorque=function(t){this.m_maxTorque=t},i.prototype.GetMaxTorque=function(){return this.m_maxTorque},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t("  const jd: b2FrictionJointDef = new b2FrictionJointDef();\n"),t("  jd.bodyA = bodies[%d];\n",e),t("  jd.bodyB = bodies[%d];\n",i),t("  jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t("  jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t("  jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t("  jd.maxForce = %.15f;\n",this.m_maxForce),t("  jd.maxTorque = %.15f;\n",this.m_maxTorque),t("  joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.SolveVelocityConstraints_s_Cdot_v2=new V,i.SolveVelocityConstraints_s_impulseV=new V,i.SolveVelocityConstraints_s_oldImpulseV=new V,i})(yi),Si=(function(e){function i(){var i=e.call(this,t.b2JointType.e_gearJoint)||this;return i.ratio=1,i}return ni(i,e),i})(pi),Ti=(function(i){function n(n){var r,s,a=i.call(this,n)||this;a.m_typeA=t.b2JointType.e_unknownJoint,a.m_typeB=t.b2JointType.e_unknownJoint,a.m_localAnchorA=new V,a.m_localAnchorB=new V,a.m_localAnchorC=new V,a.m_localAnchorD=new V,a.m_localAxisC=new V,a.m_localAxisD=new V,a.m_referenceAngleA=0,a.m_referenceAngleB=0,a.m_constant=0,a.m_ratio=0,a.m_impulse=0,a.m_indexA=0,a.m_indexB=0,a.m_indexC=0,a.m_indexD=0,a.m_lcA=new V,a.m_lcB=new V,a.m_lcC=new V,a.m_lcD=new V,a.m_mA=0,a.m_mB=0,a.m_mC=0,a.m_mD=0,a.m_iA=0,a.m_iB=0,a.m_iC=0,a.m_iD=0,a.m_JvAC=new V,a.m_JvBD=new V,a.m_JwA=0,a.m_JwB=0,a.m_JwC=0,a.m_JwD=0,a.m_mass=0,a.m_qA=new U,a.m_qB=new U,a.m_qC=new U,a.m_qD=new U,a.m_lalcA=new V,a.m_lalcB=new V,a.m_lalcC=new V,a.m_lalcD=new V,a.m_joint1=n.joint1,a.m_joint2=n.joint2,a.m_typeA=a.m_joint1.GetType(),a.m_typeB=a.m_joint2.GetType(),a.m_bodyC=a.m_joint1.GetBodyA(),a.m_bodyA=a.m_joint1.GetBodyB();var o=a.m_bodyA.m_xf,h=a.m_bodyA.m_sweep.a,l=a.m_bodyC.m_xf,c=a.m_bodyC.m_sweep.a;if(a.m_typeA===t.b2JointType.e_revoluteJoint){var u=n.joint1;a.m_localAnchorC.Copy(u.m_localAnchorA),a.m_localAnchorA.Copy(u.m_localAnchorB),a.m_referenceAngleA=u.m_referenceAngle,a.m_localAxisC.SetZero(),r=h-c-a.m_referenceAngleA}else{var _=n.joint1;a.m_localAnchorC.Copy(_.m_localAnchorA),a.m_localAnchorA.Copy(_.m_localAnchorB),a.m_referenceAngleA=_.m_referenceAngle,a.m_localAxisC.Copy(_.m_localXAxisA);var f=a.m_localAnchorC,m=U.MulTRV(l.q,V.AddVV(U.MulRV(o.q,a.m_localAnchorA,V.s_t0),V.SubVV(o.p,l.p,V.s_t1),V.s_t0),V.s_t0);r=V.DotVV(V.SubVV(m,f,V.s_t0),a.m_localAxisC)}a.m_bodyD=a.m_joint2.GetBodyA(),a.m_bodyB=a.m_joint2.GetBodyB();var d=a.m_bodyB.m_xf,p=a.m_bodyB.m_sweep.a,y=a.m_bodyD.m_xf,v=a.m_bodyD.m_sweep.a;if(a.m_typeB===t.b2JointType.e_revoluteJoint){u=n.joint2;a.m_localAnchorD.Copy(u.m_localAnchorA),a.m_localAnchorB.Copy(u.m_localAnchorB),a.m_referenceAngleB=u.m_referenceAngle,a.m_localAxisD.SetZero(),s=p-v-a.m_referenceAngleB}else{_=n.joint2;a.m_localAnchorD.Copy(_.m_localAnchorA),a.m_localAnchorB.Copy(_.m_localAnchorB),a.m_referenceAngleB=_.m_referenceAngle,a.m_localAxisD.Copy(_.m_localXAxisA);var g=a.m_localAnchorD,x=U.MulTRV(y.q,V.AddVV(U.MulRV(d.q,a.m_localAnchorB,V.s_t0),V.SubVV(d.p,y.p,V.s_t1),V.s_t0),V.s_t0);s=V.DotVV(V.SubVV(x,g,V.s_t0),a.m_localAxisD)}return a.m_ratio=e(n.ratio,1),a.m_constant=r+a.m_ratio*s,a.m_impulse=0,a}return ni(n,i),n.prototype.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_indexC=this.m_bodyC.m_islandIndex,this.m_indexD=this.m_bodyD.m_islandIndex,this.m_lcA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_lcB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_lcC.Copy(this.m_bodyC.m_sweep.localCenter),this.m_lcD.Copy(this.m_bodyD.m_sweep.localCenter),this.m_mA=this.m_bodyA.m_invMass,this.m_mB=this.m_bodyB.m_invMass,this.m_mC=this.m_bodyC.m_invMass,this.m_mD=this.m_bodyD.m_invMass,this.m_iA=this.m_bodyA.m_invI,this.m_iB=this.m_bodyB.m_invI,this.m_iC=this.m_bodyC.m_invI,this.m_iD=this.m_bodyD.m_invI;var i=e.positions[this.m_indexA].a,r=e.velocities[this.m_indexA].v,s=e.velocities[this.m_indexA].w,a=e.positions[this.m_indexB].a,o=e.velocities[this.m_indexB].v,h=e.velocities[this.m_indexB].w,l=e.positions[this.m_indexC].a,c=e.velocities[this.m_indexC].v,u=e.velocities[this.m_indexC].w,_=e.positions[this.m_indexD].a,f=e.velocities[this.m_indexD].v,m=e.velocities[this.m_indexD].w,d=this.m_qA.SetAngle(i),p=this.m_qB.SetAngle(a),y=this.m_qC.SetAngle(l),v=this.m_qD.SetAngle(_);if(this.m_mass=0,this.m_typeA===t.b2JointType.e_revoluteJoint)this.m_JvAC.SetZero(),this.m_JwA=1,this.m_JwC=1,this.m_mass+=this.m_iA+this.m_iC;else{var g=U.MulRV(y,this.m_localAxisC,n.InitVelocityConstraints_s_u);V.SubVV(this.m_localAnchorC,this.m_lcC,this.m_lalcC);var x=U.MulRV(y,this.m_lalcC,n.InitVelocityConstraints_s_rC);V.SubVV(this.m_localAnchorA,this.m_lcA,this.m_lalcA);var A=U.MulRV(d,this.m_lalcA,n.InitVelocityConstraints_s_rA);this.m_JvAC.Copy(g),this.m_JwC=V.CrossVV(x,g),this.m_JwA=V.CrossVV(A,g),this.m_mass+=this.m_mC+this.m_mA+this.m_iC*this.m_JwC*this.m_JwC+this.m_iA*this.m_JwA*this.m_JwA}if(this.m_typeB===t.b2JointType.e_revoluteJoint)this.m_JvBD.SetZero(),this.m_JwB=this.m_ratio,this.m_JwD=this.m_ratio,this.m_mass+=this.m_ratio*this.m_ratio*(this.m_iB+this.m_iD);else{g=U.MulRV(v,this.m_localAxisD,n.InitVelocityConstraints_s_u);V.SubVV(this.m_localAnchorD,this.m_lcD,this.m_lalcD);var b=U.MulRV(v,this.m_lalcD,n.InitVelocityConstraints_s_rD);V.SubVV(this.m_localAnchorB,this.m_lcB,this.m_lalcB);var C=U.MulRV(p,this.m_lalcB,n.InitVelocityConstraints_s_rB);V.MulSV(this.m_ratio,g,this.m_JvBD),this.m_JwD=this.m_ratio*V.CrossVV(b,g),this.m_JwB=this.m_ratio*V.CrossVV(C,g),this.m_mass+=this.m_ratio*this.m_ratio*(this.m_mD+this.m_mB)+this.m_iD*this.m_JwD*this.m_JwD+this.m_iB*this.m_JwB*this.m_JwB}this.m_mass=this.m_mass>0?1/this.m_mass:0,e.step.warmStarting?(r.SelfMulAdd(this.m_mA*this.m_impulse,this.m_JvAC),s+=this.m_iA*this.m_impulse*this.m_JwA,o.SelfMulAdd(this.m_mB*this.m_impulse,this.m_JvBD),h+=this.m_iB*this.m_impulse*this.m_JwB,c.SelfMulSub(this.m_mC*this.m_impulse,this.m_JvAC),u-=this.m_iC*this.m_impulse*this.m_JwC,f.SelfMulSub(this.m_mD*this.m_impulse,this.m_JvBD),m-=this.m_iD*this.m_impulse*this.m_JwD):this.m_impulse=0,e.velocities[this.m_indexA].w=s,e.velocities[this.m_indexB].w=h,e.velocities[this.m_indexC].w=u,e.velocities[this.m_indexD].w=m},n.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,i=t.velocities[this.m_indexA].w,n=t.velocities[this.m_indexB].v,r=t.velocities[this.m_indexB].w,s=t.velocities[this.m_indexC].v,a=t.velocities[this.m_indexC].w,o=t.velocities[this.m_indexD].v,h=t.velocities[this.m_indexD].w,l=V.DotVV(this.m_JvAC,V.SubVV(e,s,V.s_t0))+V.DotVV(this.m_JvBD,V.SubVV(n,o,V.s_t0));l+=this.m_JwA*i-this.m_JwC*a+(this.m_JwB*r-this.m_JwD*h);var c=-this.m_mass*l;this.m_impulse+=c,e.SelfMulAdd(this.m_mA*c,this.m_JvAC),i+=this.m_iA*c*this.m_JwA,n.SelfMulAdd(this.m_mB*c,this.m_JvBD),r+=this.m_iB*c*this.m_JwB,s.SelfMulSub(this.m_mC*c,this.m_JvAC),a-=this.m_iC*c*this.m_JwC,o.SelfMulSub(this.m_mD*c,this.m_JvBD),h-=this.m_iD*c*this.m_JwD,t.velocities[this.m_indexA].w=i,t.velocities[this.m_indexB].w=r,t.velocities[this.m_indexC].w=a,t.velocities[this.m_indexD].w=h},n.prototype.SolvePositionConstraints=function(e){var i,r,s,a,o,l,c=e.positions[this.m_indexA].c,u=e.positions[this.m_indexA].a,_=e.positions[this.m_indexB].c,f=e.positions[this.m_indexB].a,m=e.positions[this.m_indexC].c,d=e.positions[this.m_indexC].a,p=e.positions[this.m_indexD].c,y=e.positions[this.m_indexD].a,v=this.m_qA.SetAngle(u),g=this.m_qB.SetAngle(f),x=this.m_qC.SetAngle(d),A=this.m_qD.SetAngle(y),b=this.m_JvAC,C=this.m_JvBD,S=0;if(this.m_typeA===t.b2JointType.e_revoluteJoint)b.SetZero(),s=1,o=1,S+=this.m_iA+this.m_iC,i=u-d-this.m_referenceAngleA;else{var T=U.MulRV(x,this.m_localAxisC,n.SolvePositionConstraints_s_u),w=U.MulRV(x,this.m_lalcC,n.SolvePositionConstraints_s_rC),E=U.MulRV(v,this.m_lalcA,n.SolvePositionConstraints_s_rA);b.Copy(T),o=V.CrossVV(w,T),s=V.CrossVV(E,T),S+=this.m_mC+this.m_mA+this.m_iC*o*o+this.m_iA*s*s;var D=this.m_lalcC,M=U.MulTRV(x,V.AddVV(E,V.SubVV(c,m,V.s_t0),V.s_t0),V.s_t0);i=V.DotVV(V.SubVV(M,D,V.s_t0),this.m_localAxisC)}if(this.m_typeB===t.b2JointType.e_revoluteJoint)C.SetZero(),a=this.m_ratio,l=this.m_ratio,S+=this.m_ratio*this.m_ratio*(this.m_iB+this.m_iD),r=f-y-this.m_referenceAngleB;else{T=U.MulRV(A,this.m_localAxisD,n.SolvePositionConstraints_s_u);var B=U.MulRV(A,this.m_lalcD,n.SolvePositionConstraints_s_rD),P=U.MulRV(g,this.m_lalcB,n.SolvePositionConstraints_s_rB);V.MulSV(this.m_ratio,T,C),l=this.m_ratio*V.CrossVV(B,T),a=this.m_ratio*V.CrossVV(P,T),S+=this.m_ratio*this.m_ratio*(this.m_mD+this.m_mB)+this.m_iD*l*l+this.m_iB*a*a;var I=this.m_lalcD,R=U.MulTRV(A,V.AddVV(P,V.SubVV(_,p,V.s_t0),V.s_t0),V.s_t0);r=V.DotVV(V.SubVV(R,I,V.s_t0),this.m_localAxisD)}var O=i+this.m_ratio*r-this.m_constant,L=0;return S>0&&(L=-O/S),c.SelfMulAdd(this.m_mA*L,b),u+=this.m_iA*L*s,_.SelfMulAdd(this.m_mB*L,C),f+=this.m_iB*L*a,m.SelfMulSub(this.m_mC*L,b),d-=this.m_iC*L*o,p.SelfMulSub(this.m_mD*L,C),y-=this.m_iD*L*l,e.positions[this.m_indexA].a=u,e.positions[this.m_indexB].a=f,e.positions[this.m_indexC].a=d,e.positions[this.m_indexD].a=y,0<h},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.GetReactionForce=function(t,e){return V.MulSV(t*this.m_impulse,this.m_JvAC,e)},n.prototype.GetReactionTorque=function(t){return t*this.m_impulse*this.m_JwA},n.prototype.GetJoint1=function(){return this.m_joint1},n.prototype.GetJoint2=function(){return this.m_joint2},n.prototype.GetRatio=function(){return this.m_ratio},n.prototype.SetRatio=function(t){this.m_ratio=t},n.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex,n=this.m_joint1.m_index,r=this.m_joint2.m_index;t("  const jd: b2GearJointDef = new b2GearJointDef();\n"),t("  jd.bodyA = bodies[%d];\n",e),t("  jd.bodyB = bodies[%d];\n",i),t("  jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t("  jd.joint1 = joints[%d];\n",n),t("  jd.joint2 = joints[%d];\n",r),t("  jd.ratio = %.15f;\n",this.m_ratio),t("  joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},n.InitVelocityConstraints_s_u=new V,n.InitVelocityConstraints_s_rA=new V,n.InitVelocityConstraints_s_rB=new V,n.InitVelocityConstraints_s_rC=new V,n.InitVelocityConstraints_s_rD=new V,n.SolvePositionConstraints_s_u=new V,n.SolvePositionConstraints_s_rA=new V,n.SolvePositionConstraints_s_rB=new V,n.SolvePositionConstraints_s_rC=new V,n.SolvePositionConstraints_s_rD=new V,n})(yi),wi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_motorJoint)||this;return i.linearOffset=new V(0,0),i.angularOffset=0,i.maxForce=1,i.maxTorque=1,i.correctionFactor=.3,i}return ni(i,e),i.prototype.Initialize=function(t,e){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(this.bodyB.GetPosition(),this.linearOffset);var i=this.bodyA.GetAngle(),n=this.bodyB.GetAngle();this.angularOffset=n-i},i})(pi),Ei=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_linearOffset=new V,n.m_angularOffset=0,n.m_linearImpulse=new V,n.m_angularImpulse=0,n.m_maxForce=0,n.m_maxTorque=0,n.m_correctionFactor=.3,n.m_indexA=0,n.m_indexB=0,n.m_rA=new V,n.m_rB=new V,n.m_localCenterA=new V,n.m_localCenterB=new V,n.m_linearError=new V,n.m_angularError=0,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_linearMass=new G,n.m_angularMass=0,n.m_qA=new U,n.m_qB=new U,n.m_K=new G,n.m_linearOffset.Copy(e(i.linearOffset,V.ZERO)),n.m_linearImpulse.SetZero(),n.m_maxForce=e(i.maxForce,0),n.m_maxTorque=e(i.maxTorque,0),n.m_correctionFactor=e(i.correctionFactor,.3),n}return ni(i,t),i.prototype.GetAnchorA=function(t){var e=this.m_bodyA.GetPosition();return t.x=e.x,t.y=e.y,t},i.prototype.GetAnchorB=function(t){var e=this.m_bodyB.GetPosition();return t.x=e.x,t.y=e.y,t},i.prototype.GetReactionForce=function(t,e){return V.MulSV(t,this.m_linearImpulse,e)},i.prototype.GetReactionTorque=function(t){return t*this.m_angularImpulse},i.prototype.SetLinearOffset=function(t){V.IsEqualToV(t,this.m_linearOffset)||(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_linearOffset.Copy(t))},i.prototype.GetLinearOffset=function(){return this.m_linearOffset},i.prototype.SetAngularOffset=function(t){t!==this.m_angularOffset&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_angularOffset=t)},i.prototype.GetAngularOffset=function(){return this.m_angularOffset},i.prototype.SetMaxForce=function(t){this.m_maxForce=t},i.prototype.GetMaxForce=function(){return this.m_maxForce},i.prototype.SetMaxTorque=function(t){this.m_maxTorque=t},i.prototype.GetMaxTorque=function(){return this.m_maxTorque},i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].c,i=t.positions[this.m_indexA].a,n=t.velocities[this.m_indexA].v,r=t.velocities[this.m_indexA].w,s=t.positions[this.m_indexB].c,a=t.positions[this.m_indexB].a,o=t.velocities[this.m_indexB].v,h=t.velocities[this.m_indexB].w,l=this.m_qA.SetAngle(i),c=this.m_qB.SetAngle(a),u=U.MulRV(l,V.SubVV(this.m_linearOffset,this.m_localCenterA,V.s_t0),this.m_rA),_=U.MulRV(c,V.NegV(this.m_localCenterB,V.s_t0),this.m_rB),f=this.m_invMassA,m=this.m_invMassB,d=this.m_invIA,p=this.m_invIB,y=this.m_K;if(y.ex.x=f+m+d*u.y*u.y+p*_.y*_.y,y.ex.y=-d*u.x*u.y-p*_.x*_.y,y.ey.x=y.ex.y,y.ey.y=f+m+d*u.x*u.x+p*_.x*_.x,y.GetInverse(this.m_linearMass),this.m_angularMass=d+p,this.m_angularMass>0&&(this.m_angularMass=1/this.m_angularMass),V.SubVV(V.AddVV(s,_,V.s_t0),V.AddVV(e,u,V.s_t1),this.m_linearError),this.m_angularError=a-i-this.m_angularOffset,t.step.warmStarting){this.m_linearImpulse.SelfMul(t.step.dtRatio),this.m_angularImpulse*=t.step.dtRatio;var v=this.m_linearImpulse;n.SelfMulSub(f,v),r-=d*(V.CrossVV(u,v)+this.m_angularImpulse),o.SelfMulAdd(m,v),h+=p*(V.CrossVV(_,v)+this.m_angularImpulse)}else this.m_linearImpulse.SetZero(),this.m_angularImpulse=0;t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=h},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=this.m_invMassA,o=this.m_invMassB,h=this.m_invIA,l=this.m_invIB,c=t.step.dt,u=t.step.inv_dt,_=s-n+u*this.m_correctionFactor*this.m_angularError,f=-this.m_angularMass*_,m=this.m_angularImpulse,d=c*this.m_maxTorque;this.m_angularImpulse=w(this.m_angularImpulse+f,-d,d),n-=h*(f=this.m_angularImpulse-m),s+=l*f;var p=this.m_rA,y=this.m_rB,v=V.AddVV(V.SubVV(V.AddVV(r,V.CrossSV(s,y,V.s_t0),V.s_t0),V.AddVV(e,V.CrossSV(n,p,V.s_t1),V.s_t1),V.s_t2),V.MulSV(u*this.m_correctionFactor,this.m_linearError,V.s_t3),i.SolveVelocityConstraints_s_Cdot_v2),g=G.MulMV(this.m_linearMass,v,i.SolveVelocityConstraints_s_impulse_v2).SelfNeg(),x=i.SolveVelocityConstraints_s_oldImpulse_v2.Copy(this.m_linearImpulse);this.m_linearImpulse.SelfAdd(g);d=c*this.m_maxForce;this.m_linearImpulse.LengthSquared()>d*d&&(this.m_linearImpulse.Normalize(),this.m_linearImpulse.SelfMul(d)),V.SubVV(this.m_linearImpulse,x,g),e.SelfMulSub(a,g),n-=h*V.CrossVV(p,g),r.SelfMulAdd(o,g),s+=l*V.CrossVV(y,g),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){return!0},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t("  const jd: b2MotorJointDef = new b2MotorJointDef();\n"),t("  jd.bodyA = bodies[%d];\n",e),t("  jd.bodyB = bodies[%d];\n",i),t("  jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t("  jd.linearOffset.Set(%.15f, %.15f);\n",this.m_linearOffset.x,this.m_linearOffset.y),t("  jd.angularOffset = %.15f;\n",this.m_angularOffset),t("  jd.maxForce = %.15f;\n",this.m_maxForce),t("  jd.maxTorque = %.15f;\n",this.m_maxTorque),t("  jd.correctionFactor = %.15f;\n",this.m_correctionFactor),t("  joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.SolveVelocityConstraints_s_Cdot_v2=new V,i.SolveVelocityConstraints_s_impulse_v2=new V,i.SolveVelocityConstraints_s_oldImpulse_v2=new V,i})(yi),Di=(function(e){function i(){var i=e.call(this,t.b2JointType.e_mouseJoint)||this;return i.target=new V,i.maxForce=0,i.frequencyHz=5,i.dampingRatio=.7,i}return ni(i,e),i})(pi),Mi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_localAnchorB=new V,n.m_targetA=new V,n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_beta=0,n.m_impulse=new V,n.m_maxForce=0,n.m_gamma=0,n.m_indexA=0,n.m_indexB=0,n.m_rB=new V,n.m_localCenterB=new V,n.m_invMassB=0,n.m_invIB=0,n.m_mass=new G,n.m_C=new V,n.m_qB=new U,n.m_lalcB=new V,n.m_K=new G,n.m_targetA.Copy(e(i.target,V.ZERO)),j.MulTXV(n.m_bodyB.GetTransform(),n.m_targetA,n.m_localAnchorB),n.m_maxForce=e(i.maxForce,0),n.m_impulse.SetZero(),n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_beta=0,n.m_gamma=0,n}return ni(i,t),i.prototype.SetTarget=function(t){this.m_bodyB.IsAwake()||this.m_bodyB.SetAwake(!0),this.m_targetA.Copy(t)},i.prototype.GetTarget=function(){return this.m_targetA},i.prototype.SetMaxForce=function(t){this.m_maxForce=t},i.prototype.GetMaxForce=function(){return this.m_maxForce},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.InitVelocityConstraints=function(t){this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexB].c,i=t.positions[this.m_indexB].a,n=t.velocities[this.m_indexB].v,r=t.velocities[this.m_indexB].w,a=this.m_qB.SetAngle(i),o=this.m_bodyB.GetMass(),h=2*s*this.m_frequencyHz,l=2*o*this.m_dampingRatio*h,c=o*(h*h),u=t.step.dt;this.m_gamma=u*(l+u*c),0!==this.m_gamma&&(this.m_gamma=1/this.m_gamma),this.m_beta=u*c*this.m_gamma,V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),U.MulRV(a,this.m_lalcB,this.m_rB);var _=this.m_K;_.ex.x=this.m_invMassB+this.m_invIB*this.m_rB.y*this.m_rB.y+this.m_gamma,_.ex.y=-this.m_invIB*this.m_rB.x*this.m_rB.y,_.ey.x=_.ex.y,_.ey.y=this.m_invMassB+this.m_invIB*this.m_rB.x*this.m_rB.x+this.m_gamma,_.GetInverse(this.m_mass),this.m_C.x=e.x+this.m_rB.x-this.m_targetA.x,this.m_C.y=e.y+this.m_rB.y-this.m_targetA.y,this.m_C.SelfMul(this.m_beta),r*=.98,t.step.warmStarting?(this.m_impulse.SelfMul(t.step.dtRatio),n.x+=this.m_invMassB*this.m_impulse.x,n.y+=this.m_invMassB*this.m_impulse.y,r+=this.m_invIB*V.CrossVV(this.m_rB,this.m_impulse)):this.m_impulse.SetZero(),t.velocities[this.m_indexB].w=r},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexB].v,n=t.velocities[this.m_indexB].w,r=V.AddVCrossSV(e,n,this.m_rB,i.SolveVelocityConstraints_s_Cdot),s=G.MulMV(this.m_mass,V.AddVV(r,V.AddVV(this.m_C,V.MulSV(this.m_gamma,this.m_impulse,V.s_t0),V.s_t0),V.s_t0).SelfNeg(),i.SolveVelocityConstraints_s_impulse),a=i.SolveVelocityConstraints_s_oldImpulse.Copy(this.m_impulse);this.m_impulse.SelfAdd(s);var o=t.step.dt*this.m_maxForce;this.m_impulse.LengthSquared()>o*o&&this.m_impulse.SelfMul(o/this.m_impulse.Length()),V.SubVV(this.m_impulse,a,s),e.SelfMulAdd(this.m_invMassB,s),n+=this.m_invIB*V.CrossVV(this.m_rB,s),t.velocities[this.m_indexB].w=n},i.prototype.SolvePositionConstraints=function(t){return!0},i.prototype.GetAnchorA=function(t){return t.x=this.m_targetA.x,t.y=this.m_targetA.y,t},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return V.MulSV(t,this.m_impulse,e)},i.prototype.GetReactionTorque=function(t){return 0},i.prototype.Dump=function(t){t("Mouse joint dumping is not supported.\n")},i.prototype.ShiftOrigin=function(t){this.m_targetA.SelfSub(t)},i.SolveVelocityConstraints_s_Cdot=new V,i.SolveVelocityConstraints_s_impulse=new V,i.SolveVelocityConstraints_s_oldImpulse=new V,i})(yi),Bi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_prismaticJoint)||this;return i.localAnchorA=new V,i.localAnchorB=new V,i.localAxisA=new V(1,0),i.referenceAngle=0,i.enableLimit=!1,i.lowerTranslation=0,i.upperTranslation=0,i.enableMotor=!1,i.maxMotorForce=0,i.motorSpeed=0,i}return ni(i,e),i.prototype.Initialize=function(t,e,i,n){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.bodyA.GetLocalVector(n,this.localAxisA),this.referenceAngle=this.bodyB.GetAngle()-this.bodyA.GetAngle()},i})(pi),Pi=(function(i){function n(n){var r=i.call(this,n)||this;return r.m_localAnchorA=new V,r.m_localAnchorB=new V,r.m_localXAxisA=new V,r.m_localYAxisA=new V,r.m_referenceAngle=0,r.m_impulse=new k(0,0,0),r.m_motorImpulse=0,r.m_lowerTranslation=0,r.m_upperTranslation=0,r.m_maxMotorForce=0,r.m_motorSpeed=0,r.m_enableLimit=!1,r.m_enableMotor=!1,r.m_limitState=t.b2LimitState.e_inactiveLimit,r.m_indexA=0,r.m_indexB=0,r.m_localCenterA=new V,r.m_localCenterB=new V,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_axis=new V(0,0),r.m_perp=new V(0,0),r.m_s1=0,r.m_s2=0,r.m_a1=0,r.m_a2=0,r.m_K=new z,r.m_K3=new z,r.m_K2=new G,r.m_motorMass=0,r.m_qA=new U,r.m_qB=new U,r.m_lalcA=new V,r.m_lalcB=new V,r.m_rA=new V,r.m_rB=new V,r.m_localAnchorA.Copy(e(n.localAnchorA,V.ZERO)),r.m_localAnchorB.Copy(e(n.localAnchorB,V.ZERO)),r.m_localXAxisA.Copy(e(n.localAxisA,new V(1,0))).SelfNormalize(),V.CrossOneV(r.m_localXAxisA,r.m_localYAxisA),r.m_referenceAngle=e(n.referenceAngle,0),r.m_lowerTranslation=e(n.lowerTranslation,0),r.m_upperTranslation=e(n.upperTranslation,0),r.m_maxMotorForce=e(n.maxMotorForce,0),r.m_motorSpeed=e(n.motorSpeed,0),r.m_enableLimit=e(n.enableLimit,!1),r.m_enableMotor=e(n.enableMotor,!1),r}return ni(n,i),n.prototype.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var i=e.positions[this.m_indexA].c,r=e.positions[this.m_indexA].a,s=e.velocities[this.m_indexA].v,a=e.velocities[this.m_indexA].w,o=e.positions[this.m_indexB].c,l=e.positions[this.m_indexB].a,c=e.velocities[this.m_indexB].v,u=e.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(r),f=this.m_qB.SetAngle(l);V.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var m=U.MulRV(_,this.m_lalcA,this.m_rA);V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var d=U.MulRV(f,this.m_lalcB,this.m_rB),p=V.AddVV(V.SubVV(o,i,V.s_t0),V.SubVV(d,m,V.s_t1),n.InitVelocityConstraints_s_d),y=this.m_invMassA,v=this.m_invMassB,g=this.m_invIA,x=this.m_invIB;if(U.MulRV(_,this.m_localXAxisA,this.m_axis),this.m_a1=V.CrossVV(V.AddVV(p,m,V.s_t0),this.m_axis),this.m_a2=V.CrossVV(d,this.m_axis),this.m_motorMass=y+v+g*this.m_a1*this.m_a1+x*this.m_a2*this.m_a2,this.m_motorMass>0&&(this.m_motorMass=1/this.m_motorMass),U.MulRV(_,this.m_localYAxisA,this.m_perp),this.m_s1=V.CrossVV(V.AddVV(p,m,V.s_t0),this.m_perp),this.m_s2=V.CrossVV(d,this.m_perp),this.m_K.ex.x=y+v+g*this.m_s1*this.m_s1+x*this.m_s2*this.m_s2,this.m_K.ex.y=g*this.m_s1+x*this.m_s2,this.m_K.ex.z=g*this.m_s1*this.m_a1+x*this.m_s2*this.m_a2,this.m_K.ey.x=this.m_K.ex.y,this.m_K.ey.y=g+x,0===this.m_K.ey.y&&(this.m_K.ey.y=1),this.m_K.ey.z=g*this.m_a1+x*this.m_a2,this.m_K.ez.x=this.m_K.ex.z,this.m_K.ez.y=this.m_K.ey.z,this.m_K.ez.z=y+v+g*this.m_a1*this.m_a1+x*this.m_a2*this.m_a2,this.m_enableLimit){var A=V.DotVV(this.m_axis,p);C(this.m_upperTranslation-this.m_lowerTranslation)<2*h?this.m_limitState=t.b2LimitState.e_equalLimits:A<=this.m_lowerTranslation?this.m_limitState!==t.b2LimitState.e_atLowerLimit&&(this.m_limitState=t.b2LimitState.e_atLowerLimit,this.m_impulse.z=0):A>=this.m_upperTranslation?this.m_limitState!==t.b2LimitState.e_atUpperLimit&&(this.m_limitState=t.b2LimitState.e_atUpperLimit,this.m_impulse.z=0):(this.m_limitState=t.b2LimitState.e_inactiveLimit,this.m_impulse.z=0)}else this.m_limitState=t.b2LimitState.e_inactiveLimit,this.m_impulse.z=0;if(this.m_enableMotor||(this.m_motorImpulse=0),e.step.warmStarting){this.m_impulse.SelfMul(e.step.dtRatio),this.m_motorImpulse*=e.step.dtRatio;var b=V.AddVV(V.MulSV(this.m_impulse.x,this.m_perp,V.s_t0),V.MulSV(this.m_motorImpulse+this.m_impulse.z,this.m_axis,V.s_t1),n.InitVelocityConstraints_s_P),S=this.m_impulse.x*this.m_s1+this.m_impulse.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_a1,T=this.m_impulse.x*this.m_s2+this.m_impulse.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_a2;s.SelfMulSub(y,b),a-=g*S,c.SelfMulAdd(v,b),u+=x*T}else this.m_impulse.SetZero(),this.m_motorImpulse=0;e.velocities[this.m_indexA].w=a,e.velocities[this.m_indexB].w=u},n.prototype.SolveVelocityConstraints=function(e){var i=e.velocities[this.m_indexA].v,r=e.velocities[this.m_indexA].w,s=e.velocities[this.m_indexB].v,a=e.velocities[this.m_indexB].w,o=this.m_invMassA,h=this.m_invMassB,l=this.m_invIA,c=this.m_invIB;if(this.m_enableMotor&&this.m_limitState!==t.b2LimitState.e_equalLimits){var u=V.DotVV(this.m_axis,V.SubVV(s,i,V.s_t0))+this.m_a2*a-this.m_a1*r,_=this.m_motorMass*(this.m_motorSpeed-u),f=this.m_motorImpulse,m=e.step.dt*this.m_maxMotorForce;this.m_motorImpulse=w(this.m_motorImpulse+_,-m,m),_=this.m_motorImpulse-f;var d=V.MulSV(_,this.m_axis,n.SolveVelocityConstraints_s_P),p=_*this.m_a1,y=_*this.m_a2;i.SelfMulSub(o,d),r-=l*p,s.SelfMulAdd(h,d),a+=c*y}var v=V.DotVV(this.m_perp,V.SubVV(s,i,V.s_t0))+this.m_s2*a-this.m_s1*r,g=a-r;if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit){var x=V.DotVV(this.m_axis,V.SubVV(s,i,V.s_t0))+this.m_a2*a-this.m_a1*r,A=n.SolveVelocityConstraints_s_f1.Copy(this.m_impulse),b=this.m_K.Solve33(-v,-g,-x,n.SolveVelocityConstraints_s_df3);this.m_impulse.SelfAdd(b),this.m_limitState===t.b2LimitState.e_atLowerLimit?this.m_impulse.z=T(this.m_impulse.z,0):this.m_limitState===t.b2LimitState.e_atUpperLimit&&(this.m_impulse.z=S(this.m_impulse.z,0));var C=-v-(this.m_impulse.z-A.z)*this.m_K.ez.x,E=-g-(this.m_impulse.z-A.z)*this.m_K.ez.y,D=this.m_K.Solve22(C,E,n.SolveVelocityConstraints_s_f2r);D.x+=A.x,D.y+=A.y,this.m_impulse.x=D.x,this.m_impulse.y=D.y,b.x=this.m_impulse.x-A.x,b.y=this.m_impulse.y-A.y,b.z=this.m_impulse.z-A.z;d=V.AddVV(V.MulSV(b.x,this.m_perp,V.s_t0),V.MulSV(b.z,this.m_axis,V.s_t1),n.SolveVelocityConstraints_s_P),p=b.x*this.m_s1+b.y+b.z*this.m_a1,y=b.x*this.m_s2+b.y+b.z*this.m_a2;i.SelfMulSub(o,d),r-=l*p,s.SelfMulAdd(h,d),a+=c*y}else{var M=this.m_K.Solve22(-v,-g,n.SolveVelocityConstraints_s_df2);this.m_impulse.x+=M.x,this.m_impulse.y+=M.y;d=V.MulSV(M.x,this.m_perp,n.SolveVelocityConstraints_s_P),p=M.x*this.m_s1+M.y,y=M.x*this.m_s2+M.y;i.SelfMulSub(o,d),r-=l*p,s.SelfMulAdd(h,d),a+=c*y}e.velocities[this.m_indexA].w=r,e.velocities[this.m_indexB].w=a},n.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,i=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(i),o=this.m_qB.SetAngle(s),c=this.m_invMassA,u=this.m_invMassB,_=this.m_invIA,f=this.m_invIB,m=U.MulRV(a,this.m_lalcA,this.m_rA),d=U.MulRV(o,this.m_lalcB,this.m_rB),p=V.SubVV(V.AddVV(r,d,V.s_t0),V.AddVV(e,m,V.s_t1),n.SolvePositionConstraints_s_d),y=U.MulRV(a,this.m_localXAxisA,this.m_axis),v=V.CrossVV(V.AddVV(p,m,V.s_t0),y),g=V.CrossVV(d,y),x=U.MulRV(a,this.m_localYAxisA,this.m_perp),A=V.CrossVV(V.AddVV(p,m,V.s_t0),x),b=V.CrossVV(d,x),S=n.SolvePositionConstraints_s_impulse,E=V.DotVV(x,p),D=s-i-this.m_referenceAngle,M=C(E),B=C(D),P=!1,I=0;if(this.m_enableLimit){var R=V.DotVV(y,p);C(this.m_upperTranslation-this.m_lowerTranslation)<2*h?(I=w(R,-.2,.2),M=T(M,C(R)),P=!0):R<=this.m_lowerTranslation?(I=w(R-this.m_lowerTranslation+h,-.2,0),M=T(M,this.m_lowerTranslation-R),P=!0):R>=this.m_upperTranslation&&(I=w(R-this.m_upperTranslation-h,0,.2),M=T(M,R-this.m_upperTranslation),P=!0)}if(P){var O=c+u+_*A*A+f*b*b,L=_*A+f*b,F=_*A*v+f*b*g;0===(z=_+f)&&(z=1);var N=_*v+f*g,k=c+u+_*v*v+f*g*g,G=this.m_K3;G.ex.SetXYZ(O,L,F),G.ey.SetXYZ(L,z,N),G.ez.SetXYZ(F,N,k),S=G.Solve33(-E,-D,-I,S)}else{var z;O=c+u+_*A*A+f*b*b,L=_*A+f*b;0===(z=_+f)&&(z=1);var j=this.m_K2;j.ex.Set(O,L),j.ey.Set(L,z);var W=j.Solve(-E,-D,n.SolvePositionConstraints_s_impulse1);S.x=W.x,S.y=W.y,S.z=0}var H=V.AddVV(V.MulSV(S.x,x,V.s_t0),V.MulSV(S.z,y,V.s_t1),n.SolvePositionConstraints_s_P),X=S.x*A+S.y+S.z*v,Y=S.x*b+S.y+S.z*g;return e.SelfMulSub(c,H),i-=_*X,r.SelfMulAdd(u,H),s+=f*Y,t.positions[this.m_indexA].a=i,t.positions[this.m_indexB].a=s,M<=h&&B<=l},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.GetReactionForce=function(t,e){return e.x=t*(this.m_impulse.x*this.m_perp.x+(this.m_motorImpulse+this.m_impulse.z)*this.m_axis.x),e.y=t*(this.m_impulse.x*this.m_perp.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_axis.y),e},n.prototype.GetReactionTorque=function(t){return t*this.m_impulse.y},n.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},n.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},n.prototype.GetLocalAxisA=function(){return this.m_localXAxisA},n.prototype.GetReferenceAngle=function(){return this.m_referenceAngle},n.prototype.GetJointTranslation=function(){var t=this.m_bodyA.GetWorldPoint(this.m_localAnchorA,n.GetJointTranslation_s_pA),e=this.m_bodyB.GetWorldPoint(this.m_localAnchorB,n.GetJointTranslation_s_pB),i=V.SubVV(e,t,n.GetJointTranslation_s_d),r=this.m_bodyA.GetWorldVector(this.m_localXAxisA,n.GetJointTranslation_s_axis);return V.DotVV(i,r)},n.prototype.GetJointSpeed=function(){var t=this.m_bodyA,e=this.m_bodyB;V.SubVV(this.m_localAnchorA,t.m_sweep.localCenter,this.m_lalcA);var i=U.MulRV(t.m_xf.q,this.m_lalcA,this.m_rA);V.SubVV(this.m_localAnchorB,e.m_sweep.localCenter,this.m_lalcB);var n=U.MulRV(e.m_xf.q,this.m_lalcB,this.m_rB),r=V.AddVV(t.m_sweep.c,i,V.s_t0),s=V.AddVV(e.m_sweep.c,n,V.s_t1),a=V.SubVV(s,r,V.s_t2),o=t.GetWorldVector(this.m_localXAxisA,this.m_axis),h=t.m_linearVelocity,l=e.m_linearVelocity,c=t.m_angularVelocity,u=e.m_angularVelocity;return V.DotVV(a,V.CrossSV(c,o,V.s_t0))+V.DotVV(o,V.SubVV(V.AddVCrossSV(l,u,n,V.s_t0),V.AddVCrossSV(h,c,i,V.s_t1),V.s_t0))},n.prototype.IsLimitEnabled=function(){return this.m_enableLimit},n.prototype.EnableLimit=function(t){t!==this.m_enableLimit&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableLimit=t,this.m_impulse.z=0)},n.prototype.GetLowerLimit=function(){return this.m_lowerTranslation},n.prototype.GetUpperLimit=function(){return this.m_upperTranslation},n.prototype.SetLimits=function(t,e){t===this.m_lowerTranslation&&e===this.m_upperTranslation||(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_lowerTranslation=t,this.m_upperTranslation=e,this.m_impulse.z=0)},n.prototype.IsMotorEnabled=function(){return this.m_enableMotor},n.prototype.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},n.prototype.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},n.prototype.GetMotorSpeed=function(){return this.m_motorSpeed},n.prototype.SetMaxMotorForce=function(t){t!==this.m_maxMotorForce&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorForce=t)},n.prototype.GetMaxMotorForce=function(){return this.m_maxMotorForce},n.prototype.GetMotorForce=function(t){return t*this.m_motorImpulse},n.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t("  const jd: b2PrismaticJointDef = new b2PrismaticJointDef();\n"),t("  jd.bodyA = bodies[%d];\n",e),t("  jd.bodyB = bodies[%d];\n",i),t("  jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t("  jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t("  jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t("  jd.localAxisA.Set(%.15f, %.15f);\n",this.m_localXAxisA.x,this.m_localXAxisA.y),t("  jd.referenceAngle = %.15f;\n",this.m_referenceAngle),t("  jd.enableLimit = %s;\n",this.m_enableLimit?"true":"false"),t("  jd.lowerTranslation = %.15f;\n",this.m_lowerTranslation),t("  jd.upperTranslation = %.15f;\n",this.m_upperTranslation),t("  jd.enableMotor = %s;\n",this.m_enableMotor?"true":"false"),t("  jd.motorSpeed = %.15f;\n",this.m_motorSpeed),t("  jd.maxMotorForce = %.15f;\n",this.m_maxMotorForce),t("  joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},n.InitVelocityConstraints_s_d=new V,n.InitVelocityConstraints_s_P=new V,n.SolveVelocityConstraints_s_P=new V,n.SolveVelocityConstraints_s_f2r=new V,n.SolveVelocityConstraints_s_f1=new k,n.SolveVelocityConstraints_s_df3=new k,n.SolveVelocityConstraints_s_df2=new V,n.SolvePositionConstraints_s_d=new V,n.SolvePositionConstraints_s_impulse=new k,n.SolvePositionConstraints_s_impulse1=new V,n.SolvePositionConstraints_s_P=new V,n.GetJointTranslation_s_pA=new V,n.GetJointTranslation_s_pB=new V,n.GetJointTranslation_s_d=new V,n.GetJointTranslation_s_axis=new V,n})(yi),Ii=(function(e){function i(){var i=e.call(this,t.b2JointType.e_pulleyJoint)||this;return i.groundAnchorA=new V(-1,1),i.groundAnchorB=new V(1,1),i.localAnchorA=new V(-1,0),i.localAnchorB=new V(1,0),i.lengthA=0,i.lengthB=0,i.ratio=1,i.collideConnected=!0,i}return ni(i,e),i.prototype.Initialize=function(t,e,i,n,r,s,a){this.bodyA=t,this.bodyB=e,this.groundAnchorA.Copy(i),this.groundAnchorB.Copy(n),this.bodyA.GetLocalPoint(r,this.localAnchorA),this.bodyB.GetLocalPoint(s,this.localAnchorB),this.lengthA=V.DistanceVV(r,i),this.lengthB=V.DistanceVV(s,n),this.ratio=a},i})(pi),Ri=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_groundAnchorA=new V,n.m_groundAnchorB=new V,n.m_lengthA=0,n.m_lengthB=0,n.m_localAnchorA=new V,n.m_localAnchorB=new V,n.m_constant=0,n.m_ratio=0,n.m_impulse=0,n.m_indexA=0,n.m_indexB=0,n.m_uA=new V,n.m_uB=new V,n.m_rA=new V,n.m_rB=new V,n.m_localCenterA=new V,n.m_localCenterB=new V,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=0,n.m_qA=new U,n.m_qB=new U,n.m_lalcA=new V,n.m_lalcB=new V,n.m_groundAnchorA.Copy(e(i.groundAnchorA,new V(-1,1))),n.m_groundAnchorB.Copy(e(i.groundAnchorB,new V(1,0))),n.m_localAnchorA.Copy(e(i.localAnchorA,new V(-1,0))),n.m_localAnchorB.Copy(e(i.localAnchorB,new V(1,0))),n.m_lengthA=e(i.lengthA,0),n.m_lengthB=e(i.lengthB,0),n.m_ratio=e(i.ratio,1),n.m_constant=e(i.lengthA,0)+n.m_ratio*e(i.lengthB,0),n.m_impulse=0,n}return ni(i,t),i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.velocities[this.m_indexA].v,s=t.velocities[this.m_indexA].w,a=t.positions[this.m_indexB].c,o=t.positions[this.m_indexB].a,l=t.velocities[this.m_indexB].v,c=t.velocities[this.m_indexB].w,u=this.m_qA.SetAngle(n),_=this.m_qB.SetAngle(o);V.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),U.MulRV(u,this.m_lalcA,this.m_rA),V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),U.MulRV(_,this.m_lalcB,this.m_rB),this.m_uA.Copy(e).SelfAdd(this.m_rA).SelfSub(this.m_groundAnchorA),this.m_uB.Copy(a).SelfAdd(this.m_rB).SelfSub(this.m_groundAnchorB);var f=this.m_uA.Length(),m=this.m_uB.Length();f>10*h?this.m_uA.SelfMul(1/f):this.m_uA.SetZero(),m>10*h?this.m_uB.SelfMul(1/m):this.m_uB.SetZero();var d=V.CrossVV(this.m_rA,this.m_uA),p=V.CrossVV(this.m_rB,this.m_uB),y=this.m_invMassA+this.m_invIA*d*d,v=this.m_invMassB+this.m_invIB*p*p;if(this.m_mass=y+this.m_ratio*this.m_ratio*v,this.m_mass>0&&(this.m_mass=1/this.m_mass),t.step.warmStarting){this.m_impulse*=t.step.dtRatio;var g=V.MulSV(-this.m_impulse,this.m_uA,i.InitVelocityConstraints_s_PA),x=V.MulSV(-this.m_ratio*this.m_impulse,this.m_uB,i.InitVelocityConstraints_s_PB);r.SelfMulAdd(this.m_invMassA,g),s+=this.m_invIA*V.CrossVV(this.m_rA,g),l.SelfMulAdd(this.m_invMassB,x),c+=this.m_invIB*V.CrossVV(this.m_rB,x)}else this.m_impulse=0;t.velocities[this.m_indexA].w=s,t.velocities[this.m_indexB].w=c},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=V.AddVCrossSV(e,n,this.m_rA,i.SolveVelocityConstraints_s_vpA),o=V.AddVCrossSV(r,s,this.m_rB,i.SolveVelocityConstraints_s_vpB),h=-V.DotVV(this.m_uA,a)-this.m_ratio*V.DotVV(this.m_uB,o),l=-this.m_mass*h;this.m_impulse+=l;var c=V.MulSV(-l,this.m_uA,i.SolveVelocityConstraints_s_PA),u=V.MulSV(-this.m_ratio*l,this.m_uB,i.SolveVelocityConstraints_s_PB);e.SelfMulAdd(this.m_invMassA,c),n+=this.m_invIA*V.CrossVV(this.m_rA,c),r.SelfMulAdd(this.m_invMassB,u),s+=this.m_invIB*V.CrossVV(this.m_rB,u),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(n),o=this.m_qB.SetAngle(s);V.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var l=U.MulRV(a,this.m_lalcA,this.m_rA);V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var c=U.MulRV(o,this.m_lalcB,this.m_rB),u=this.m_uA.Copy(e).SelfAdd(l).SelfSub(this.m_groundAnchorA),_=this.m_uB.Copy(r).SelfAdd(c).SelfSub(this.m_groundAnchorB),f=u.Length(),m=_.Length();f>10*h?u.SelfMul(1/f):u.SetZero(),m>10*h?_.SelfMul(1/m):_.SetZero();var d=V.CrossVV(l,u),p=V.CrossVV(c,_),y=this.m_invMassA+this.m_invIA*d*d,v=this.m_invMassB+this.m_invIB*p*p,g=y+this.m_ratio*this.m_ratio*v;g>0&&(g=1/g);var x=this.m_constant-f-this.m_ratio*m,A=C(x),b=-g*x,S=V.MulSV(-b,u,i.SolvePositionConstraints_s_PA),T=V.MulSV(-this.m_ratio*b,_,i.SolvePositionConstraints_s_PB);return e.SelfMulAdd(this.m_invMassA,S),n+=this.m_invIA*V.CrossVV(l,S),r.SelfMulAdd(this.m_invMassB,T),s+=this.m_invIB*V.CrossVV(c,T),t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,A<h},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse*this.m_uB.x,e.y=t*this.m_impulse*this.m_uB.y,e},i.prototype.GetReactionTorque=function(t){return 0},i.prototype.GetGroundAnchorA=function(){return this.m_groundAnchorA},i.prototype.GetGroundAnchorB=function(){return this.m_groundAnchorB},i.prototype.GetLengthA=function(){return this.m_lengthA},i.prototype.GetLengthB=function(){return this.m_lengthB},i.prototype.GetRatio=function(){return this.m_ratio},i.prototype.GetCurrentLengthA=function(){var t=this.m_bodyA.GetWorldPoint(this.m_localAnchorA,i.GetCurrentLengthA_s_p),e=this.m_groundAnchorA;return V.DistanceVV(t,e)},i.prototype.GetCurrentLengthB=function(){var t=this.m_bodyB.GetWorldPoint(this.m_localAnchorB,i.GetCurrentLengthB_s_p),e=this.m_groundAnchorB;return V.DistanceVV(t,e)},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t("  const jd: b2PulleyJointDef = new b2PulleyJointDef();\n"),t("  jd.bodyA = bodies[%d];\n",e),t("  jd.bodyB = bodies[%d];\n",i),t("  jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t("  jd.groundAnchorA.Set(%.15f, %.15f);\n",this.m_groundAnchorA.x,this.m_groundAnchorA.y),t("  jd.groundAnchorB.Set(%.15f, %.15f);\n",this.m_groundAnchorB.x,this.m_groundAnchorB.y),t("  jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t("  jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t("  jd.lengthA = %.15f;\n",this.m_lengthA),t("  jd.lengthB = %.15f;\n",this.m_lengthB),t("  jd.ratio = %.15f;\n",this.m_ratio),t("  joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.prototype.ShiftOrigin=function(t){this.m_groundAnchorA.SelfSub(t),this.m_groundAnchorB.SelfSub(t)},i.InitVelocityConstraints_s_PA=new V,i.InitVelocityConstraints_s_PB=new V,i.SolveVelocityConstraints_s_vpA=new V,i.SolveVelocityConstraints_s_vpB=new V,i.SolveVelocityConstraints_s_PA=new V,i.SolveVelocityConstraints_s_PB=new V,i.SolvePositionConstraints_s_PA=new V,i.SolvePositionConstraints_s_PB=new V,i.GetCurrentLengthA_s_p=new V,i.GetCurrentLengthB_s_p=new V,i})(yi),Oi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_revoluteJoint)||this;return i.localAnchorA=new V(0,0),i.localAnchorB=new V(0,0),i.referenceAngle=0,i.enableLimit=!1,i.lowerAngle=0,i.upperAngle=0,i.enableMotor=!1,i.motorSpeed=0,i.maxMotorTorque=0,i}return ni(i,e),i.prototype.Initialize=function(t,e,i){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.referenceAngle=this.bodyB.GetAngle()-this.bodyA.GetAngle()},i})(pi),Li=(function(i){function n(n){var r=i.call(this,n)||this;return r.m_localAnchorA=new V,r.m_localAnchorB=new V,r.m_impulse=new k,r.m_motorImpulse=0,r.m_enableMotor=!1,r.m_maxMotorTorque=0,r.m_motorSpeed=0,r.m_enableLimit=!1,r.m_referenceAngle=0,r.m_lowerAngle=0,r.m_upperAngle=0,r.m_indexA=0,r.m_indexB=0,r.m_rA=new V,r.m_rB=new V,r.m_localCenterA=new V,r.m_localCenterB=new V,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_mass=new z,r.m_motorMass=0,r.m_limitState=t.b2LimitState.e_inactiveLimit,r.m_qA=new U,r.m_qB=new U,r.m_lalcA=new V,r.m_lalcB=new V,r.m_K=new G,r.m_localAnchorA.Copy(e(n.localAnchorA,V.ZERO)),r.m_localAnchorB.Copy(e(n.localAnchorB,V.ZERO)),r.m_referenceAngle=e(n.referenceAngle,0),r.m_impulse.SetZero(),r.m_motorImpulse=0,r.m_lowerAngle=e(n.lowerAngle,0),r.m_upperAngle=e(n.upperAngle,0),r.m_maxMotorTorque=e(n.maxMotorTorque,0),r.m_motorSpeed=e(n.motorSpeed,0),r.m_enableLimit=e(n.enableLimit,!1),r.m_enableMotor=e(n.enableMotor,!1),r.m_limitState=t.b2LimitState.e_inactiveLimit,r}return ni(n,i),n.prototype.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var i=e.positions[this.m_indexA].a,r=e.velocities[this.m_indexA].v,s=e.velocities[this.m_indexA].w,a=e.positions[this.m_indexB].a,o=e.velocities[this.m_indexB].v,h=e.velocities[this.m_indexB].w,c=this.m_qA.SetAngle(i),u=this.m_qB.SetAngle(a);V.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),U.MulRV(c,this.m_lalcA,this.m_rA),V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),U.MulRV(u,this.m_lalcB,this.m_rB);var _=this.m_invMassA,f=this.m_invMassB,m=this.m_invIA,d=this.m_invIB,p=m+d===0;if(this.m_mass.ex.x=_+f+this.m_rA.y*this.m_rA.y*m+this.m_rB.y*this.m_rB.y*d,this.m_mass.ey.x=-this.m_rA.y*this.m_rA.x*m-this.m_rB.y*this.m_rB.x*d,this.m_mass.ez.x=-this.m_rA.y*m-this.m_rB.y*d,this.m_mass.ex.y=this.m_mass.ey.x,this.m_mass.ey.y=_+f+this.m_rA.x*this.m_rA.x*m+this.m_rB.x*this.m_rB.x*d,this.m_mass.ez.y=this.m_rA.x*m+this.m_rB.x*d,this.m_mass.ex.z=this.m_mass.ez.x,this.m_mass.ey.z=this.m_mass.ez.y,this.m_mass.ez.z=m+d,this.m_motorMass=m+d,this.m_motorMass>0&&(this.m_motorMass=1/this.m_motorMass),this.m_enableMotor&&!p||(this.m_motorImpulse=0),this.m_enableLimit&&!p){var y=a-i-this.m_referenceAngle;C(this.m_upperAngle-this.m_lowerAngle)<2*l?this.m_limitState=t.b2LimitState.e_equalLimits:y<=this.m_lowerAngle?(this.m_limitState!==t.b2LimitState.e_atLowerLimit&&(this.m_impulse.z=0),this.m_limitState=t.b2LimitState.e_atLowerLimit):y>=this.m_upperAngle?(this.m_limitState!==t.b2LimitState.e_atUpperLimit&&(this.m_impulse.z=0),this.m_limitState=t.b2LimitState.e_atUpperLimit):(this.m_limitState=t.b2LimitState.e_inactiveLimit,this.m_impulse.z=0)}else this.m_limitState=t.b2LimitState.e_inactiveLimit;if(e.step.warmStarting){this.m_impulse.SelfMul(e.step.dtRatio),this.m_motorImpulse*=e.step.dtRatio;var v=n.InitVelocityConstraints_s_P.Set(this.m_impulse.x,this.m_impulse.y);r.SelfMulSub(_,v),s-=m*(V.CrossVV(this.m_rA,v)+this.m_motorImpulse+this.m_impulse.z),o.SelfMulAdd(f,v),h+=d*(V.CrossVV(this.m_rB,v)+this.m_motorImpulse+this.m_impulse.z)}else this.m_impulse.SetZero(),this.m_motorImpulse=0;e.velocities[this.m_indexA].w=s,e.velocities[this.m_indexB].w=h},n.prototype.SolveVelocityConstraints=function(e){var i=e.velocities[this.m_indexA].v,r=e.velocities[this.m_indexA].w,s=e.velocities[this.m_indexB].v,a=e.velocities[this.m_indexB].w,o=this.m_invMassA,h=this.m_invMassB,l=this.m_invIA,c=this.m_invIB,u=l+c===0;if(this.m_enableMotor&&this.m_limitState!==t.b2LimitState.e_equalLimits&&!u){var _=a-r-this.m_motorSpeed,f=-this.m_motorMass*_,m=this.m_motorImpulse,d=e.step.dt*this.m_maxMotorTorque;this.m_motorImpulse=w(this.m_motorImpulse+f,-d,d),r-=l*(f=this.m_motorImpulse-m),a+=c*f}if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit&&!u){var p=V.SubVV(V.AddVCrossSV(s,a,this.m_rB,V.s_t0),V.AddVCrossSV(i,r,this.m_rA,V.s_t1),n.SolveVelocityConstraints_s_Cdot1),y=a-r,v=this.m_mass.Solve33(p.x,p.y,y,n.SolveVelocityConstraints_s_impulse_v3).SelfNeg();if(this.m_limitState===t.b2LimitState.e_equalLimits)this.m_impulse.SelfAdd(v);else if(this.m_limitState===t.b2LimitState.e_atLowerLimit){if(this.m_impulse.z+v.z<0){var g=-p.x+this.m_impulse.z*this.m_mass.ez.x,x=-p.y+this.m_impulse.z*this.m_mass.ez.y,A=this.m_mass.Solve22(g,x,n.SolveVelocityConstraints_s_reduced_v2);v.x=A.x,v.y=A.y,v.z=-this.m_impulse.z,this.m_impulse.x+=A.x,this.m_impulse.y+=A.y,this.m_impulse.z=0}else this.m_impulse.SelfAdd(v)}else if(this.m_limitState===t.b2LimitState.e_atUpperLimit){if(this.m_impulse.z+v.z>0){g=-p.x+this.m_impulse.z*this.m_mass.ez.x,x=-p.y+this.m_impulse.z*this.m_mass.ez.y,A=this.m_mass.Solve22(g,x,n.SolveVelocityConstraints_s_reduced_v2);v.x=A.x,v.y=A.y,v.z=-this.m_impulse.z,this.m_impulse.x+=A.x,this.m_impulse.y+=A.y,this.m_impulse.z=0}else this.m_impulse.SelfAdd(v)}var b=n.SolveVelocityConstraints_s_P.Set(v.x,v.y);i.SelfMulSub(o,b),r-=l*(V.CrossVV(this.m_rA,b)+v.z),s.SelfMulAdd(h,b),a+=c*(V.CrossVV(this.m_rB,b)+v.z)}else{var C=V.SubVV(V.AddVCrossSV(s,a,this.m_rB,V.s_t0),V.AddVCrossSV(i,r,this.m_rA,V.s_t1),n.SolveVelocityConstraints_s_Cdot_v2),S=this.m_mass.Solve22(-C.x,-C.y,n.SolveVelocityConstraints_s_impulse_v2);this.m_impulse.x+=S.x,this.m_impulse.y+=S.y,i.SelfMulSub(o,S),r-=l*V.CrossVV(this.m_rA,S),s.SelfMulAdd(h,S),a+=c*V.CrossVV(this.m_rB,S)}e.velocities[this.m_indexA].w=r,e.velocities[this.m_indexB].w=a},n.prototype.SolvePositionConstraints=function(e){var i,r=e.positions[this.m_indexA].c,s=e.positions[this.m_indexA].a,a=e.positions[this.m_indexB].c,o=e.positions[this.m_indexB].a,c=this.m_qA.SetAngle(s),_=this.m_qB.SetAngle(o),f=0,m=this.m_invIA+this.m_invIB===0;if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit&&!m){var d=o-s-this.m_referenceAngle,p=0;if(this.m_limitState===t.b2LimitState.e_equalLimits){var y=w(d-this.m_lowerAngle,-u,u);p=-this.m_motorMass*y,f=C(y)}else if(this.m_limitState===t.b2LimitState.e_atLowerLimit){f=-(y=d-this.m_lowerAngle),y=w(y+l,-u,0),p=-this.m_motorMass*y}else if(this.m_limitState===t.b2LimitState.e_atUpperLimit){f=y=d-this.m_upperAngle,y=w(y-l,0,u),p=-this.m_motorMass*y}s-=this.m_invIA*p,o+=this.m_invIB*p}c.SetAngle(s),_.SetAngle(o),V.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var v=U.MulRV(c,this.m_lalcA,this.m_rA);V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var g=U.MulRV(_,this.m_lalcB,this.m_rB),x=V.SubVV(V.AddVV(a,g,V.s_t0),V.AddVV(r,v,V.s_t1),n.SolvePositionConstraints_s_C_v2);i=x.Length();var A=this.m_invMassA,b=this.m_invMassB,S=this.m_invIA,T=this.m_invIB,E=this.m_K;E.ex.x=A+b+S*v.y*v.y+T*g.y*g.y,E.ex.y=-S*v.x*v.y-T*g.x*g.y,E.ey.x=E.ex.y,E.ey.y=A+b+S*v.x*v.x+T*g.x*g.x;var D=E.Solve(x.x,x.y,n.SolvePositionConstraints_s_impulse).SelfNeg();return r.SelfMulSub(A,D),s-=S*V.CrossVV(v,D),a.SelfMulAdd(b,D),o+=T*V.CrossVV(g,D),e.positions[this.m_indexA].a=s,e.positions[this.m_indexB].a=o,i<=h&&f<=l},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse.x,e.y=t*this.m_impulse.y,e},n.prototype.GetReactionTorque=function(t){return t*this.m_impulse.z},n.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},n.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},n.prototype.GetReferenceAngle=function(){return this.m_referenceAngle},n.prototype.GetJointAngle=function(){return this.m_bodyB.m_sweep.a-this.m_bodyA.m_sweep.a-this.m_referenceAngle},n.prototype.GetJointSpeed=function(){return this.m_bodyB.m_angularVelocity-this.m_bodyA.m_angularVelocity},n.prototype.IsMotorEnabled=function(){return this.m_enableMotor},n.prototype.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},n.prototype.GetMotorTorque=function(t){return t*this.m_motorImpulse},n.prototype.GetMotorSpeed=function(){return this.m_motorSpeed},n.prototype.SetMaxMotorTorque=function(t){t!==this.m_maxMotorTorque&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorTorque=t)},n.prototype.GetMaxMotorTorque=function(){return this.m_maxMotorTorque},n.prototype.IsLimitEnabled=function(){return this.m_enableLimit},n.prototype.EnableLimit=function(t){t!==this.m_enableLimit&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableLimit=t,this.m_impulse.z=0)},n.prototype.GetLowerLimit=function(){return this.m_lowerAngle},n.prototype.GetUpperLimit=function(){return this.m_upperAngle},n.prototype.SetLimits=function(t,e){t===this.m_lowerAngle&&e===this.m_upperAngle||(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_impulse.z=0,this.m_lowerAngle=t,this.m_upperAngle=e)},n.prototype.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},n.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t("  const jd: b2RevoluteJointDef = new b2RevoluteJointDef();\n"),t("  jd.bodyA = bodies[%d];\n",e),t("  jd.bodyB = bodies[%d];\n",i),t("  jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t("  jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t("  jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t("  jd.referenceAngle = %.15f;\n",this.m_referenceAngle),t("  jd.enableLimit = %s;\n",this.m_enableLimit?"true":"false"),t("  jd.lowerAngle = %.15f;\n",this.m_lowerAngle),t("  jd.upperAngle = %.15f;\n",this.m_upperAngle),t("  jd.enableMotor = %s;\n",this.m_enableMotor?"true":"false"),t("  jd.motorSpeed = %.15f;\n",this.m_motorSpeed),t("  jd.maxMotorTorque = %.15f;\n",this.m_maxMotorTorque),t("  joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},n.InitVelocityConstraints_s_P=new V,n.SolveVelocityConstraints_s_P=new V,n.SolveVelocityConstraints_s_Cdot_v2=new V,n.SolveVelocityConstraints_s_Cdot1=new V,n.SolveVelocityConstraints_s_impulse_v3=new k,n.SolveVelocityConstraints_s_reduced_v2=new V,n.SolveVelocityConstraints_s_impulse_v2=new V,n.SolvePositionConstraints_s_C_v2=new V,n.SolvePositionConstraints_s_impulse=new V,n})(yi),Fi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_ropeJoint)||this;return i.localAnchorA=new V(-1,0),i.localAnchorB=new V(1,0),i.maxLength=0,i}return ni(i,e),i})(pi),Vi=(function(i){function n(n){var r=i.call(this,n)||this;return r.m_localAnchorA=new V,r.m_localAnchorB=new V,r.m_maxLength=0,r.m_length=0,r.m_impulse=0,r.m_indexA=0,r.m_indexB=0,r.m_u=new V,r.m_rA=new V,r.m_rB=new V,r.m_localCenterA=new V,r.m_localCenterB=new V,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_mass=0,r.m_state=t.b2LimitState.e_inactiveLimit,r.m_qA=new U,r.m_qB=new U,r.m_lalcA=new V,r.m_lalcB=new V,r.m_localAnchorA.Copy(e(n.localAnchorA,new V(-1,0))),r.m_localAnchorB.Copy(e(n.localAnchorB,new V(1,0))),r.m_maxLength=e(n.maxLength,0),r}return ni(n,i),n.prototype.InitVelocityConstraints=function(e){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var i=e.positions[this.m_indexA].c,r=e.positions[this.m_indexA].a,s=e.velocities[this.m_indexA].v,a=e.velocities[this.m_indexA].w,o=e.positions[this.m_indexB].c,l=e.positions[this.m_indexB].a,c=e.velocities[this.m_indexB].v,u=e.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(r),f=this.m_qB.SetAngle(l);V.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),U.MulRV(_,this.m_lalcA,this.m_rA),V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),U.MulRV(f,this.m_lalcB,this.m_rB),this.m_u.Copy(o).SelfAdd(this.m_rB).SelfSub(i).SelfSub(this.m_rA),this.m_length=this.m_u.Length();var m=this.m_length-this.m_maxLength;if(this.m_state=m>0?t.b2LimitState.e_atUpperLimit:t.b2LimitState.e_inactiveLimit,!(this.m_length>h))return this.m_u.SetZero(),this.m_mass=0,void(this.m_impulse=0);this.m_u.SelfMul(1/this.m_length);var d=V.CrossVV(this.m_rA,this.m_u),p=V.CrossVV(this.m_rB,this.m_u),y=this.m_invMassA+this.m_invIA*d*d+this.m_invMassB+this.m_invIB*p*p;if(this.m_mass=0!==y?1/y:0,e.step.warmStarting){this.m_impulse*=e.step.dtRatio;var v=V.MulSV(this.m_impulse,this.m_u,n.InitVelocityConstraints_s_P);s.SelfMulSub(this.m_invMassA,v),a-=this.m_invIA*V.CrossVV(this.m_rA,v),c.SelfMulAdd(this.m_invMassB,v),u+=this.m_invIB*V.CrossVV(this.m_rB,v)}else this.m_impulse=0;e.velocities[this.m_indexA].w=a,e.velocities[this.m_indexB].w=u},n.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,i=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=V.AddVCrossSV(e,i,this.m_rA,n.SolveVelocityConstraints_s_vpA),o=V.AddVCrossSV(r,s,this.m_rB,n.SolveVelocityConstraints_s_vpB),h=this.m_length-this.m_maxLength,l=V.DotVV(this.m_u,V.SubVV(o,a,V.s_t0));h<0&&(l+=t.step.inv_dt*h);var c=-this.m_mass*l,u=this.m_impulse;this.m_impulse=S(0,this.m_impulse+c),c=this.m_impulse-u;var _=V.MulSV(c,this.m_u,n.SolveVelocityConstraints_s_P);e.SelfMulSub(this.m_invMassA,_),i-=this.m_invIA*V.CrossVV(this.m_rA,_),r.SelfMulAdd(this.m_invMassB,_),s+=this.m_invIB*V.CrossVV(this.m_rB,_),t.velocities[this.m_indexA].w=i,t.velocities[this.m_indexB].w=s},n.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,i=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(i),o=this.m_qB.SetAngle(s);V.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var l=U.MulRV(a,this.m_lalcA,this.m_rA);V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var c=U.MulRV(o,this.m_lalcB,this.m_rB),u=this.m_u.Copy(r).SelfAdd(c).SelfSub(e).SelfSub(l),_=u.Normalize(),f=_-this.m_maxLength;f=w(f,0,.2);var m=-this.m_mass*f,d=V.MulSV(m,u,n.SolvePositionConstraints_s_P);return e.SelfMulSub(this.m_invMassA,d),i-=this.m_invIA*V.CrossVV(l,d),r.SelfMulAdd(this.m_invMassB,d),s+=this.m_invIB*V.CrossVV(c,d),t.positions[this.m_indexA].a=i,t.positions[this.m_indexB].a=s,_-this.m_maxLength<h},n.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.prototype.GetReactionForce=function(t,e){return V.MulSV(t*this.m_impulse,this.m_u,e)},n.prototype.GetReactionTorque=function(t){return 0},n.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},n.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},n.prototype.SetMaxLength=function(t){this.m_maxLength=t},n.prototype.GetMaxLength=function(){return this.m_maxLength},n.prototype.GetLimitState=function(){return this.m_state},n.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t("  const jd: b2RopeJointDef = new b2RopeJointDef();\n"),t("  jd.bodyA = bodies[%d];\n",e),t("  jd.bodyB = bodies[%d];\n",i),t("  jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t("  jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t("  jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t("  jd.maxLength = %.15f;\n",this.m_maxLength),t("  joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},n.InitVelocityConstraints_s_P=new V,n.SolveVelocityConstraints_s_vpA=new V,n.SolveVelocityConstraints_s_vpB=new V,n.SolveVelocityConstraints_s_P=new V,n.SolvePositionConstraints_s_P=new V,n})(yi),Ni=(function(e){function i(){var i=e.call(this,t.b2JointType.e_weldJoint)||this;return i.localAnchorA=new V,i.localAnchorB=new V,i.referenceAngle=0,i.frequencyHz=0,i.dampingRatio=0,i}return ni(i,e),i.prototype.Initialize=function(t,e,i){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.referenceAngle=this.bodyB.GetAngle()-this.bodyA.GetAngle()},i})(pi),ki=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_bias=0,n.m_localAnchorA=new V,n.m_localAnchorB=new V,n.m_referenceAngle=0,n.m_gamma=0,n.m_impulse=new k(0,0,0),n.m_indexA=0,n.m_indexB=0,n.m_rA=new V,n.m_rB=new V,n.m_localCenterA=new V,n.m_localCenterB=new V,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=new z,n.m_qA=new U,n.m_qB=new U,n.m_lalcA=new V,n.m_lalcB=new V,n.m_K=new z,n.m_frequencyHz=e(i.frequencyHz,0),n.m_dampingRatio=e(i.dampingRatio,0),n.m_localAnchorA.Copy(e(i.localAnchorA,V.ZERO)),n.m_localAnchorB.Copy(e(i.localAnchorB,V.ZERO)),n.m_referenceAngle=e(i.referenceAngle,0),n.m_impulse.SetZero(),n}return ni(i,t),i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=t.positions[this.m_indexA].a,n=t.velocities[this.m_indexA].v,r=t.velocities[this.m_indexA].w,a=t.positions[this.m_indexB].a,o=t.velocities[this.m_indexB].v,h=t.velocities[this.m_indexB].w,l=this.m_qA.SetAngle(e),c=this.m_qB.SetAngle(a);V.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),U.MulRV(l,this.m_lalcA,this.m_rA),V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),U.MulRV(c,this.m_lalcB,this.m_rB);var u=this.m_invMassA,_=this.m_invMassB,f=this.m_invIA,m=this.m_invIB,d=this.m_K;if(d.ex.x=u+_+this.m_rA.y*this.m_rA.y*f+this.m_rB.y*this.m_rB.y*m,d.ey.x=-this.m_rA.y*this.m_rA.x*f-this.m_rB.y*this.m_rB.x*m,d.ez.x=-this.m_rA.y*f-this.m_rB.y*m,d.ex.y=d.ey.x,d.ey.y=u+_+this.m_rA.x*this.m_rA.x*f+this.m_rB.x*this.m_rB.x*m,d.ez.y=this.m_rA.x*f+this.m_rB.x*m,d.ex.z=d.ez.x,d.ey.z=d.ez.y,d.ez.z=f+m,this.m_frequencyHz>0){d.GetInverse22(this.m_mass);var p=f+m,y=p>0?1/p:0,v=a-e-this.m_referenceAngle,g=2*s*this.m_frequencyHz,x=2*y*this.m_dampingRatio*g,A=y*g*g,b=t.step.dt;this.m_gamma=b*(x+b*A),this.m_gamma=0!==this.m_gamma?1/this.m_gamma:0,this.m_bias=v*b*A*this.m_gamma,p+=this.m_gamma,this.m_mass.ez.z=0!==p?1/p:0}else d.GetSymInverse33(this.m_mass),this.m_gamma=0,this.m_bias=0;if(t.step.warmStarting){this.m_impulse.SelfMul(t.step.dtRatio);var C=i.InitVelocityConstraints_s_P.Set(this.m_impulse.x,this.m_impulse.y);n.SelfMulSub(u,C),r-=f*(V.CrossVV(this.m_rA,C)+this.m_impulse.z),o.SelfMulAdd(_,C),h+=m*(V.CrossVV(this.m_rB,C)+this.m_impulse.z)}else this.m_impulse.SetZero();t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=h},i.prototype.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexA].v,n=t.velocities[this.m_indexA].w,r=t.velocities[this.m_indexB].v,s=t.velocities[this.m_indexB].w,a=this.m_invMassA,o=this.m_invMassB,h=this.m_invIA,l=this.m_invIB;if(this.m_frequencyHz>0){var c=s-n,u=-this.m_mass.ez.z*(c+this.m_bias+this.m_gamma*this.m_impulse.z);this.m_impulse.z+=u,n-=h*u,s+=l*u;var _=V.SubVV(V.AddVCrossSV(r,s,this.m_rB,V.s_t0),V.AddVCrossSV(e,n,this.m_rA,V.s_t1),i.SolveVelocityConstraints_s_Cdot1),f=z.MulM33XY(this.m_mass,_.x,_.y,i.SolveVelocityConstraints_s_impulse1).SelfNeg();this.m_impulse.x+=f.x,this.m_impulse.y+=f.y;var m=f;e.SelfMulSub(a,m),n-=h*V.CrossVV(this.m_rA,m),r.SelfMulAdd(o,m),s+=l*V.CrossVV(this.m_rB,m)}else{_=V.SubVV(V.AddVCrossSV(r,s,this.m_rB,V.s_t0),V.AddVCrossSV(e,n,this.m_rA,V.s_t1),i.SolveVelocityConstraints_s_Cdot1),c=s-n;var d=z.MulM33XYZ(this.m_mass,_.x,_.y,c,i.SolveVelocityConstraints_s_impulse).SelfNeg();this.m_impulse.SelfAdd(d);m=i.SolveVelocityConstraints_s_P.Set(d.x,d.y);e.SelfMulSub(a,m),n-=h*(V.CrossVV(this.m_rA,m)+d.z),r.SelfMulAdd(o,m),s+=l*(V.CrossVV(this.m_rB,m)+d.z)}t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},i.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(n),o=this.m_qB.SetAngle(s),c=this.m_invMassA,u=this.m_invMassB,_=this.m_invIA,f=this.m_invIB;V.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var m=U.MulRV(a,this.m_lalcA,this.m_rA);V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var d,p,y=U.MulRV(o,this.m_lalcB,this.m_rB),v=this.m_K;if(v.ex.x=c+u+m.y*m.y*_+y.y*y.y*f,v.ey.x=-m.y*m.x*_-y.y*y.x*f,v.ez.x=-m.y*_-y.y*f,v.ex.y=v.ey.x,v.ey.y=c+u+m.x*m.x*_+y.x*y.x*f,v.ez.y=m.x*_+y.x*f,v.ex.z=v.ez.x,v.ey.z=v.ez.y,v.ez.z=_+f,this.m_frequencyHz>0){d=(x=V.SubVV(V.AddVV(r,y,V.s_t0),V.AddVV(e,m,V.s_t1),i.SolvePositionConstraints_s_C1)).Length(),p=0;var g=v.Solve22(x.x,x.y,i.SolvePositionConstraints_s_P).SelfNeg();e.SelfMulSub(c,g),n-=_*V.CrossVV(m,g),r.SelfMulAdd(u,g),s+=f*V.CrossVV(y,g)}else{var x=V.SubVV(V.AddVV(r,y,V.s_t0),V.AddVV(e,m,V.s_t1),i.SolvePositionConstraints_s_C1),A=s-n-this.m_referenceAngle;d=x.Length(),p=C(A);var b=v.Solve33(x.x,x.y,A,i.SolvePositionConstraints_s_impulse).SelfNeg();g=i.SolvePositionConstraints_s_P.Set(b.x,b.y);e.SelfMulSub(c,g),n-=_*(V.CrossVV(this.m_rA,g)+b.z),r.SelfMulAdd(u,g),s+=f*(V.CrossVV(this.m_rB,g)+b.z)}return t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,d<=h&&p<=l},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*this.m_impulse.x,e.y=t*this.m_impulse.y,e},i.prototype.GetReactionTorque=function(t){return t*this.m_impulse.z},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.GetReferenceAngle=function(){return this.m_referenceAngle},i.prototype.SetFrequency=function(t){this.m_frequencyHz=t},i.prototype.GetFrequency=function(){return this.m_frequencyHz},i.prototype.SetDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetDampingRatio=function(){return this.m_dampingRatio},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t("  const jd: b2WeldJointDef = new b2WeldJointDef();\n"),t("  jd.bodyA = bodies[%d];\n",e),t("  jd.bodyB = bodies[%d];\n",i),t("  jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t("  jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t("  jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t("  jd.referenceAngle = %.15f;\n",this.m_referenceAngle),t("  jd.frequencyHz = %.15f;\n",this.m_frequencyHz),t("  jd.dampingRatio = %.15f;\n",this.m_dampingRatio),t("  joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.InitVelocityConstraints_s_P=new V,i.SolveVelocityConstraints_s_Cdot1=new V,i.SolveVelocityConstraints_s_impulse1=new V,i.SolveVelocityConstraints_s_impulse=new k,i.SolveVelocityConstraints_s_P=new V,i.SolvePositionConstraints_s_C1=new V,i.SolvePositionConstraints_s_P=new V,i.SolvePositionConstraints_s_impulse=new k,i})(yi),Gi=(function(e){function i(){var i=e.call(this,t.b2JointType.e_wheelJoint)||this;return i.localAnchorA=new V(0,0),i.localAnchorB=new V(0,0),i.localAxisA=new V(1,0),i.enableMotor=!1,i.maxMotorTorque=0,i.motorSpeed=0,i.frequencyHz=2,i.dampingRatio=.7,i}return ni(i,e),i.prototype.Initialize=function(t,e,i,n){this.bodyA=t,this.bodyB=e,this.bodyA.GetLocalPoint(i,this.localAnchorA),this.bodyB.GetLocalPoint(i,this.localAnchorB),this.bodyA.GetLocalVector(n,this.localAxisA)},i})(pi),zi=(function(t){function i(i){var n=t.call(this,i)||this;return n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_localAnchorA=new V,n.m_localAnchorB=new V,n.m_localXAxisA=new V,n.m_localYAxisA=new V,n.m_impulse=0,n.m_motorImpulse=0,n.m_springImpulse=0,n.m_maxMotorTorque=0,n.m_motorSpeed=0,n.m_enableMotor=!1,n.m_indexA=0,n.m_indexB=0,n.m_localCenterA=new V,n.m_localCenterB=new V,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_ax=new V,n.m_ay=new V,n.m_sAx=0,n.m_sBx=0,n.m_sAy=0,n.m_sBy=0,n.m_mass=0,n.m_motorMass=0,n.m_springMass=0,n.m_bias=0,n.m_gamma=0,n.m_qA=new U,n.m_qB=new U,n.m_lalcA=new V,n.m_lalcB=new V,n.m_rA=new V,n.m_rB=new V,n.m_frequencyHz=e(i.frequencyHz,2),n.m_dampingRatio=e(i.dampingRatio,.7),n.m_localAnchorA.Copy(e(i.localAnchorA,V.ZERO)),n.m_localAnchorB.Copy(e(i.localAnchorB,V.ZERO)),n.m_localXAxisA.Copy(e(i.localAxisA,V.UNITX)),V.CrossOneV(n.m_localXAxisA,n.m_localYAxisA),n.m_maxMotorTorque=e(i.maxMotorTorque,0),n.m_motorSpeed=e(i.motorSpeed,0),n.m_enableMotor=e(i.enableMotor,!1),n.m_ax.SetZero(),n.m_ay.SetZero(),n}return ni(i,t),i.prototype.GetMotorSpeed=function(){return this.m_motorSpeed},i.prototype.GetMaxMotorTorque=function(){return this.m_maxMotorTorque},i.prototype.SetSpringFrequencyHz=function(t){this.m_frequencyHz=t},i.prototype.GetSpringFrequencyHz=function(){return this.m_frequencyHz},i.prototype.SetSpringDampingRatio=function(t){this.m_dampingRatio=t},i.prototype.GetSpringDampingRatio=function(){return this.m_dampingRatio},i.prototype.InitVelocityConstraints=function(t){this.m_indexA=this.m_bodyA.m_islandIndex,this.m_indexB=this.m_bodyB.m_islandIndex,this.m_localCenterA.Copy(this.m_bodyA.m_sweep.localCenter),this.m_localCenterB.Copy(this.m_bodyB.m_sweep.localCenter),this.m_invMassA=this.m_bodyA.m_invMass,this.m_invMassB=this.m_bodyB.m_invMass,this.m_invIA=this.m_bodyA.m_invI,this.m_invIB=this.m_bodyB.m_invI;var e=this.m_invMassA,n=this.m_invMassB,r=this.m_invIA,a=this.m_invIB,o=t.positions[this.m_indexA].c,h=t.positions[this.m_indexA].a,l=t.velocities[this.m_indexA].v,c=t.velocities[this.m_indexA].w,u=t.positions[this.m_indexB].c,_=t.positions[this.m_indexB].a,f=t.velocities[this.m_indexB].v,m=t.velocities[this.m_indexB].w,d=this.m_qA.SetAngle(h),p=this.m_qB.SetAngle(_);V.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var y=U.MulRV(d,this.m_lalcA,this.m_rA);V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var v=U.MulRV(p,this.m_lalcB,this.m_rB),g=V.SubVV(V.AddVV(u,v,V.s_t0),V.AddVV(o,y,V.s_t1),i.InitVelocityConstraints_s_d);if(U.MulRV(d,this.m_localYAxisA,this.m_ay),this.m_sAy=V.CrossVV(V.AddVV(g,y,V.s_t0),this.m_ay),this.m_sBy=V.CrossVV(v,this.m_ay),this.m_mass=e+n+r*this.m_sAy*this.m_sAy+a*this.m_sBy*this.m_sBy,this.m_mass>0&&(this.m_mass=1/this.m_mass),this.m_springMass=0,this.m_bias=0,this.m_gamma=0,this.m_frequencyHz>0){U.MulRV(d,this.m_localXAxisA,this.m_ax),this.m_sAx=V.CrossVV(V.AddVV(g,y,V.s_t0),this.m_ax),this.m_sBx=V.CrossVV(v,this.m_ax);var x=e+n+r*this.m_sAx*this.m_sAx+a*this.m_sBx*this.m_sBx;if(x>0){this.m_springMass=1/x;var A=V.DotVV(g,this.m_ax),b=2*s*this.m_frequencyHz,C=2*this.m_springMass*this.m_dampingRatio*b,S=this.m_springMass*b*b,T=t.step.dt;this.m_gamma=T*(C+T*S),this.m_gamma>0&&(this.m_gamma=1/this.m_gamma),this.m_bias=A*T*S*this.m_gamma,this.m_springMass=x+this.m_gamma,this.m_springMass>0&&(this.m_springMass=1/this.m_springMass)}}else this.m_springImpulse=0;if(this.m_enableMotor?(this.m_motorMass=r+a,this.m_motorMass>0&&(this.m_motorMass=1/this.m_motorMass)):(this.m_motorMass=0,this.m_motorImpulse=0),t.step.warmStarting){this.m_impulse*=t.step.dtRatio,this.m_springImpulse*=t.step.dtRatio,this.m_motorImpulse*=t.step.dtRatio;var w=V.AddVV(V.MulSV(this.m_impulse,this.m_ay,V.s_t0),V.MulSV(this.m_springImpulse,this.m_ax,V.s_t1),i.InitVelocityConstraints_s_P),E=this.m_impulse*this.m_sAy+this.m_springImpulse*this.m_sAx+this.m_motorImpulse,D=this.m_impulse*this.m_sBy+this.m_springImpulse*this.m_sBx+this.m_motorImpulse;l.SelfMulSub(this.m_invMassA,w),c-=this.m_invIA*E,f.SelfMulAdd(this.m_invMassB,w),m+=this.m_invIB*D}else this.m_impulse=0,this.m_springImpulse=0,this.m_motorImpulse=0;t.velocities[this.m_indexA].w=c,t.velocities[this.m_indexB].w=m},i.prototype.SolveVelocityConstraints=function(t){var e=this.m_invMassA,n=this.m_invMassB,r=this.m_invIA,s=this.m_invIB,a=t.velocities[this.m_indexA].v,o=t.velocities[this.m_indexA].w,h=t.velocities[this.m_indexB].v,l=t.velocities[this.m_indexB].w,c=V.DotVV(this.m_ax,V.SubVV(h,a,V.s_t0))+this.m_sBx*l-this.m_sAx*o,u=-this.m_springMass*(c+this.m_bias+this.m_gamma*this.m_springImpulse);this.m_springImpulse+=u;var _=V.MulSV(u,this.m_ax,i.SolveVelocityConstraints_s_P),f=u*this.m_sAx,m=u*this.m_sBx;a.SelfMulSub(e,_),o-=r*f,h.SelfMulAdd(n,_);c=(l+=s*m)-o-this.m_motorSpeed,u=-this.m_motorMass*c;var d=this.m_motorImpulse,p=t.step.dt*this.m_maxMotorTorque;this.m_motorImpulse=w(this.m_motorImpulse+u,-p,p),o-=r*(u=this.m_motorImpulse-d),l+=s*u;c=V.DotVV(this.m_ay,V.SubVV(h,a,V.s_t0))+this.m_sBy*l-this.m_sAy*o,u=-this.m_mass*c;this.m_impulse+=u;_=V.MulSV(u,this.m_ay,i.SolveVelocityConstraints_s_P),f=u*this.m_sAy,m=u*this.m_sBy;a.SelfMulSub(e,_),o-=r*f,h.SelfMulAdd(n,_),l+=s*m,t.velocities[this.m_indexA].w=o,t.velocities[this.m_indexB].w=l},i.prototype.SolvePositionConstraints=function(t){var e=t.positions[this.m_indexA].c,n=t.positions[this.m_indexA].a,r=t.positions[this.m_indexB].c,s=t.positions[this.m_indexB].a,a=this.m_qA.SetAngle(n),o=this.m_qB.SetAngle(s);V.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var l=U.MulRV(a,this.m_lalcA,this.m_rA);V.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var c,u=U.MulRV(o,this.m_lalcB,this.m_rB),_=V.AddVV(V.SubVV(r,e,V.s_t0),V.SubVV(u,l,V.s_t1),i.SolvePositionConstraints_s_d),f=U.MulRV(a,this.m_localYAxisA,this.m_ay),m=V.CrossVV(V.AddVV(_,l,V.s_t0),f),d=V.CrossVV(u,f),p=V.DotVV(_,this.m_ay),y=this.m_invMassA+this.m_invMassB+this.m_invIA*this.m_sAy*this.m_sAy+this.m_invIB*this.m_sBy*this.m_sBy;c=0!==y?-p/y:0;var v=V.MulSV(c,f,i.SolvePositionConstraints_s_P),g=c*m,x=c*d;return e.SelfMulSub(this.m_invMassA,v),n-=this.m_invIA*g,r.SelfMulAdd(this.m_invMassB,v),s+=this.m_invIB*x,t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,C(p)<=h},i.prototype.GetDefinition=function(t){return t},i.prototype.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},i.prototype.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},i.prototype.GetReactionForce=function(t,e){return e.x=t*(this.m_impulse*this.m_ay.x+this.m_springImpulse*this.m_ax.x),e.y=t*(this.m_impulse*this.m_ay.y+this.m_springImpulse*this.m_ax.y),e},i.prototype.GetReactionTorque=function(t){return t*this.m_motorImpulse},i.prototype.GetLocalAnchorA=function(){return this.m_localAnchorA},i.prototype.GetLocalAnchorB=function(){return this.m_localAnchorB},i.prototype.GetLocalAxisA=function(){return this.m_localXAxisA},i.prototype.GetJointTranslation=function(){return this.GetPrismaticJointTranslation()},i.prototype.GetJointLinearSpeed=function(){return this.GetPrismaticJointSpeed()},i.prototype.GetJointAngle=function(){return this.GetRevoluteJointAngle()},i.prototype.GetJointAngularSpeed=function(){return this.GetRevoluteJointSpeed()},i.prototype.GetPrismaticJointTranslation=function(){var t=this.m_bodyA,e=this.m_bodyB,i=t.GetWorldPoint(this.m_localAnchorA,new V),n=e.GetWorldPoint(this.m_localAnchorB,new V),r=V.SubVV(n,i,new V),s=t.GetWorldVector(this.m_localXAxisA,new V);return V.DotVV(r,s)},i.prototype.GetPrismaticJointSpeed=function(){var t=this.m_bodyA,e=this.m_bodyB;V.SubVV(this.m_localAnchorA,t.m_sweep.localCenter,this.m_lalcA);var i=U.MulRV(t.m_xf.q,this.m_lalcA,this.m_rA);V.SubVV(this.m_localAnchorB,e.m_sweep.localCenter,this.m_lalcB);var n=U.MulRV(e.m_xf.q,this.m_lalcB,this.m_rB),r=V.AddVV(t.m_sweep.c,i,V.s_t0),s=V.AddVV(e.m_sweep.c,n,V.s_t1),a=V.SubVV(s,r,V.s_t2),o=t.GetWorldVector(this.m_localXAxisA,new V),h=t.m_linearVelocity,l=e.m_linearVelocity,c=t.m_angularVelocity,u=e.m_angularVelocity;return V.DotVV(a,V.CrossSV(c,o,V.s_t0))+V.DotVV(o,V.SubVV(V.AddVCrossSV(l,u,n,V.s_t0),V.AddVCrossSV(h,c,i,V.s_t1),V.s_t0))},i.prototype.GetRevoluteJointAngle=function(){return this.m_bodyB.m_sweep.a-this.m_bodyA.m_sweep.a},i.prototype.GetRevoluteJointSpeed=function(){var t=this.m_bodyA.m_angularVelocity;return this.m_bodyB.m_angularVelocity-t},i.prototype.IsMotorEnabled=function(){return this.m_enableMotor},i.prototype.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},i.prototype.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},i.prototype.SetMaxMotorTorque=function(t){t!==this.m_maxMotorTorque&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorTorque=t)},i.prototype.GetMotorTorque=function(t){return t*this.m_motorImpulse},i.prototype.Dump=function(t){var e=this.m_bodyA.m_islandIndex,i=this.m_bodyB.m_islandIndex;t("  const jd: b2WheelJointDef = new b2WheelJointDef();\n"),t("  jd.bodyA = bodies[%d];\n",e),t("  jd.bodyB = bodies[%d];\n",i),t("  jd.collideConnected = %s;\n",this.m_collideConnected?"true":"false"),t("  jd.localAnchorA.Set(%.15f, %.15f);\n",this.m_localAnchorA.x,this.m_localAnchorA.y),t("  jd.localAnchorB.Set(%.15f, %.15f);\n",this.m_localAnchorB.x,this.m_localAnchorB.y),t("  jd.localAxisA.Set(%.15f, %.15f);\n",this.m_localXAxisA.x,this.m_localXAxisA.y),t("  jd.enableMotor = %s;\n",this.m_enableMotor?"true":"false"),t("  jd.motorSpeed = %.15f;\n",this.m_motorSpeed),t("  jd.maxMotorTorque = %.15f;\n",this.m_maxMotorTorque),t("  jd.frequencyHz = %.15f;\n",this.m_frequencyHz),t("  jd.dampingRatio = %.15f;\n",this.m_dampingRatio),t("  joints[%d] = this.m_world.CreateJoint(jd);\n",this.m_index)},i.InitVelocityConstraints_s_d=new V,i.InitVelocityConstraints_s_P=new V,i.SolveVelocityConstraints_s_P=new V,i.SolvePositionConstraints_s_d=new V,i.SolvePositionConstraints_s_P=new V,i})(yi);function Ui(t,e){return B(t*e)}function ji(t,e){return t>e?t:e}var Wi=(function(){return function(t){this.prev=null,this.next=null,this.contact=t}})(),Hi=(function(){function t(){this.m_islandFlag=!1,this.m_touchingFlag=!1,this.m_enabledFlag=!1,this.m_filterFlag=!1,this.m_bulletHitFlag=!1,this.m_toiFlag=!1,this.m_prev=null,this.m_next=null,this.m_indexA=0,this.m_indexB=0,this.m_manifold=new wt,this.m_toiCount=0,this.m_toi=0,this.m_friction=0,this.m_restitution=0,this.m_tangentSpeed=0,this.m_oldManifold=new wt,this.m_nodeA=new Wi(this),this.m_nodeB=new Wi(this)}return t.prototype.GetManifold=function(){return this.m_manifold},t.prototype.GetWorldManifold=function(t){var e=this.m_fixtureA.GetBody(),i=this.m_fixtureB.GetBody(),n=this.m_fixtureA.GetShape(),r=this.m_fixtureB.GetShape();t.Initialize(this.m_manifold,e.GetTransform(),n.m_radius,i.GetTransform(),r.m_radius)},t.prototype.IsTouching=function(){return this.m_touchingFlag},t.prototype.SetEnabled=function(t){this.m_enabledFlag=t},t.prototype.IsEnabled=function(){return this.m_enabledFlag},t.prototype.GetNext=function(){return this.m_next},t.prototype.GetFixtureA=function(){return this.m_fixtureA},t.prototype.GetChildIndexA=function(){return this.m_indexA},t.prototype.GetFixtureB=function(){return this.m_fixtureB},t.prototype.GetChildIndexB=function(){return this.m_indexB},t.prototype.FlagForFiltering=function(){this.m_filterFlag=!0},t.prototype.SetFriction=function(t){this.m_friction=t},t.prototype.GetFriction=function(){return this.m_friction},t.prototype.ResetFriction=function(){this.m_friction=Ui(this.m_fixtureA.m_friction,this.m_fixtureB.m_friction)},t.prototype.SetRestitution=function(t){this.m_restitution=t},t.prototype.GetRestitution=function(){return this.m_restitution},t.prototype.ResetRestitution=function(){this.m_restitution=ji(this.m_fixtureA.m_restitution,this.m_fixtureB.m_restitution)},t.prototype.SetTangentSpeed=function(t){this.m_tangentSpeed=t},t.prototype.GetTangentSpeed=function(){return this.m_tangentSpeed},t.prototype.Reset=function(t,e,i,n){this.m_islandFlag=!1,this.m_touchingFlag=!1,this.m_enabledFlag=!0,this.m_filterFlag=!1,this.m_bulletHitFlag=!1,this.m_toiFlag=!1,this.m_fixtureA=t,this.m_fixtureB=i,this.m_indexA=e,this.m_indexB=n,this.m_manifold.pointCount=0,this.m_prev=null,this.m_next=null,delete this.m_nodeA.contact,this.m_nodeA.prev=null,this.m_nodeA.next=null,delete this.m_nodeA.other,delete this.m_nodeB.contact,this.m_nodeB.prev=null,this.m_nodeB.next=null,delete this.m_nodeB.other,this.m_toiCount=0,this.m_friction=Ui(this.m_fixtureA.m_friction,this.m_fixtureB.m_friction),this.m_restitution=ji(this.m_fixtureA.m_restitution,this.m_fixtureB.m_restitution)},t.prototype.Update=function(t){var e=this.m_oldManifold;this.m_oldManifold=this.m_manifold,this.m_manifold=e,this.m_enabledFlag=!0;var i=!1,n=this.m_touchingFlag,r=this.m_fixtureA.IsSensor(),s=this.m_fixtureB.IsSensor(),a=r||s,o=this.m_fixtureA.GetBody(),h=this.m_fixtureB.GetBody(),l=o.GetTransform(),c=h.GetTransform();if(a){var u=this.m_fixtureA.GetShape(),_=this.m_fixtureB.GetShape();i=Vt(u,this.m_indexA,_,this.m_indexB,l,c),this.m_manifold.pointCount=0}else{this.Evaluate(this.m_manifold,l,c),i=this.m_manifold.pointCount>0;for(var f=0;f<this.m_manifold.pointCount;++f){var m=this.m_manifold.points[f];m.normalImpulse=0,m.tangentImpulse=0;for(var d=m.id,p=0;p<this.m_oldManifold.pointCount;++p){var y=this.m_oldManifold.points[p];if(y.id.key===d.key){m.normalImpulse=y.normalImpulse,m.tangentImpulse=y.tangentImpulse;break}}}i!==n&&(o.SetAwake(!0),h.SetAwake(!0))}this.m_touchingFlag=i,!n&&i&&t&&t.BeginContact(this),n&&!i&&t&&t.EndContact(this),!a&&i&&t&&t.PreSolve(this,this.m_oldManifold)},t.prototype.ComputeTOI=function(e,i){var n=t.ComputeTOI_s_input;n.proxyA.SetShape(this.m_fixtureA.GetShape(),this.m_indexA),n.proxyB.SetShape(this.m_fixtureB.GetShape(),this.m_indexB),n.sweepA.Copy(e),n.sweepB.Copy(i),n.tMax=h;var r=t.ComputeTOI_s_output;return le(r,n),r.t},t.ComputeTOI_s_input=new Kt,t.ComputeTOI_s_output=new Qt,t})(),Xi=(function(t){function e(){return t.call(this)||this}return ni(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){_e(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(Hi),Yi=(function(t){function e(){return t.call(this)||this}return ni(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){ke(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(Hi),qi=(function(t){function e(){return t.call(this)||this}return ni(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){pe(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(Hi),Ji=(function(t){function e(){return t.call(this)||this}return ni(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){qe(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(Hi),Zi=(function(t){function e(){return t.call(this)||this}return ni(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,e,i){$e(t,this.m_fixtureA.GetShape(),e,this.m_fixtureB.GetShape(),i)},e})(Hi),Ki=(function(t){function e(){return t.call(this)||this}return ni(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,i,n){var r=this.m_fixtureA.GetShape(),s=this.m_fixtureB.GetShape(),a=r,o=e.Evaluate_s_edge;a.GetChildEdge(o,this.m_indexA),qe(t,o,i,s,n)},e.Evaluate_s_edge=new ai,e})(Hi),Qi=(function(t){function e(){return t.call(this)||this}return ni(e,t),e.Create=function(t){return new e},e.Destroy=function(t,e){},e.prototype.Reset=function(e,i,n,r){t.prototype.Reset.call(this,e,i,n,r)},e.prototype.Evaluate=function(t,i,n){var r=this.m_fixtureA.GetShape(),s=this.m_fixtureB.GetShape(),a=r,o=e.Evaluate_s_edge;a.GetChildEdge(o,this.m_indexA),$e(t,o,i,s,n)},e.Evaluate_s_edge=new ai,e})(Hi),$i=(function(){return function(){this.createFcn=null,this.destroyFcn=null,this.primary=!1}})(),tn=(function(){function e(t){this.m_allocator=null,this.m_allocator=t,this.InitializeRegisters()}return e.prototype.AddType=function(t,e,i,n){var r=this,s=v(256,(function(e){return t(r.m_allocator)}));function a(e){return s.pop()||t(e)}function o(t,e){s.push(t)}this.m_registers[i][n].createFcn=a,this.m_registers[i][n].destroyFcn=o,this.m_registers[i][n].primary=!0,i!==n&&(this.m_registers[n][i].createFcn=a,this.m_registers[n][i].destroyFcn=o,this.m_registers[n][i].primary=!1)},e.prototype.InitializeRegisters=function(){this.m_registers=[];for(var e=0;e<t.b2ShapeType.e_shapeTypeCount;e++){this.m_registers[e]=[];for(var i=0;i<t.b2ShapeType.e_shapeTypeCount;i++)this.m_registers[e][i]=new $i}this.AddType(Xi.Create,Xi.Destroy,t.b2ShapeType.e_circleShape,t.b2ShapeType.e_circleShape),this.AddType(qi.Create,qi.Destroy,t.b2ShapeType.e_polygonShape,t.b2ShapeType.e_circleShape),this.AddType(Yi.Create,Yi.Destroy,t.b2ShapeType.e_polygonShape,t.b2ShapeType.e_polygonShape),this.AddType(Ji.Create,Ji.Destroy,t.b2ShapeType.e_edgeShape,t.b2ShapeType.e_circleShape),this.AddType(Zi.Create,Zi.Destroy,t.b2ShapeType.e_edgeShape,t.b2ShapeType.e_polygonShape),this.AddType(Ki.Create,Ki.Destroy,t.b2ShapeType.e_chainShape,t.b2ShapeType.e_circleShape),this.AddType(Qi.Create,Qi.Destroy,t.b2ShapeType.e_chainShape,t.b2ShapeType.e_polygonShape)},e.prototype.Create=function(t,e,i,n){var r=t.GetType(),s=i.GetType(),a=this.m_registers[r][s];if(a.createFcn){var o=a.createFcn(this.m_allocator);return a.primary?o.Reset(t,e,i,n):o.Reset(i,n,t,e),o}return null},e.prototype.Destroy=function(t){var e=t.m_fixtureA,i=t.m_fixtureB;t.m_manifold.pointCount>0&&!e.IsSensor()&&!i.IsSensor()&&(e.GetBody().SetAwake(!0),i.GetBody().SetAwake(!0));var n=e.GetType(),r=i.GetType(),s=this.m_registers[n][r];s.destroyFcn&&s.destroyFcn(t,this.m_allocator)},e})(),en=(function(){function t(){}return t.prototype.SayGoodbyeJoint=function(t){},t.prototype.SayGoodbyeFixture=function(t){},t.prototype.SayGoodbyeParticleGroup=function(t){},t.prototype.SayGoodbyeParticle=function(t,e){},t})(),nn=(function(){function e(){}return e.prototype.ShouldCollide=function(e,i){var n=e.GetBody(),r=i.GetBody();if(r.GetType()===t.b2BodyType.b2_staticBody&&n.GetType()===t.b2BodyType.b2_staticBody)return!1;if(!r.ShouldCollideConnected(n))return!1;var s=e.GetFilterData(),a=i.GetFilterData();return s.groupIndex===a.groupIndex&&0!==s.groupIndex?s.groupIndex>0:0!=(s.maskBits&a.categoryBits)&&0!=(s.categoryBits&a.maskBits)},e.prototype.ShouldCollideFixtureParticle=function(t,e,i){return!0},e.prototype.ShouldCollideParticleParticle=function(t,e,i){return!0},e.b2_defaultFilter=new e,e})(),rn=(function(){return function(){this.normalImpulses=g(a),this.tangentImpulses=g(a),this.count=0}})(),sn=(function(){function t(){}return t.prototype.BeginContact=function(t){},t.prototype.EndContact=function(t){},t.prototype.BeginContactFixtureParticle=function(t,e){},t.prototype.EndContactFixtureParticle=function(t,e){},t.prototype.BeginContactParticleParticle=function(t,e){},t.prototype.EndContactParticleParticle=function(t,e){},t.prototype.PreSolve=function(t,e){},t.prototype.PostSolve=function(t,e){},t.b2_defaultListener=new t,t})(),an=(function(){function t(){}return t.prototype.ReportFixture=function(t){return!0},t.prototype.ReportParticle=function(t,e){return!1},t.prototype.ShouldQueryParticleSystem=function(t){return!0},t})(),on=(function(){function t(){}return t.prototype.ReportFixture=function(t,e,i,n){return n},t.prototype.ReportParticle=function(t,e,i,n,r){return 0},t.prototype.ShouldQueryParticleSystem=function(t){return!0},t})(),hn=(function(){function e(){this.m_broadPhase=new Ut,this.m_contactList=null,this.m_contactCount=0,this.m_contactFilter=nn.b2_defaultFilter,this.m_contactListener=sn.b2_defaultListener,this.m_allocator=null,this.m_contactFactory=new tn(this.m_allocator)}return e.prototype.AddPair=function(t,e){var i=t.fixture,n=e.fixture,r=t.childIndex,s=e.childIndex,a=i.GetBody(),o=n.GetBody();if(a!==o){for(var h=o.GetContactList();h;){if(h.other===a){var l=h.contact.GetFixtureA(),c=h.contact.GetFixtureB(),u=h.contact.GetChildIndexA(),_=h.contact.GetChildIndexB();if(l===i&&c===n&&u===r&&_===s)return;if(l===n&&c===i&&u===s&&_===r)return}h=h.next}if(!this.m_contactFilter||this.m_contactFilter.ShouldCollide(i,n)){var f=this.m_contactFactory.Create(i,r,n,s);null!==f&&(i=f.GetFixtureA(),n=f.GetFixtureB(),r=f.GetChildIndexA(),s=f.GetChildIndexB(),a=i.m_body,o=n.m_body,f.m_prev=null,f.m_next=this.m_contactList,null!==this.m_contactList&&(this.m_contactList.m_prev=f),this.m_contactList=f,f.m_nodeA.contact=f,f.m_nodeA.other=o,f.m_nodeA.prev=null,f.m_nodeA.next=a.m_contactList,null!==a.m_contactList&&(a.m_contactList.prev=f.m_nodeA),a.m_contactList=f.m_nodeA,f.m_nodeB.contact=f,f.m_nodeB.other=a,f.m_nodeB.prev=null,f.m_nodeB.next=o.m_contactList,null!==o.m_contactList&&(o.m_contactList.prev=f.m_nodeB),o.m_contactList=f.m_nodeB,i.IsSensor()||n.IsSensor()||(a.SetAwake(!0),o.SetAwake(!0)),++this.m_contactCount)}}},e.prototype.FindNewContacts=function(){var t=this;this.m_broadPhase.UpdatePairs((function(e,i){t.AddPair(e,i)}))},e.prototype.Destroy=function(t){var e=t.GetFixtureA(),i=t.GetFixtureB(),n=e.GetBody(),r=i.GetBody();this.m_contactListener&&t.IsTouching()&&this.m_contactListener.EndContact(t),t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_contactList&&(this.m_contactList=t.m_next),t.m_nodeA.prev&&(t.m_nodeA.prev.next=t.m_nodeA.next),t.m_nodeA.next&&(t.m_nodeA.next.prev=t.m_nodeA.prev),t.m_nodeA===n.m_contactList&&(n.m_contactList=t.m_nodeA.next),t.m_nodeB.prev&&(t.m_nodeB.prev.next=t.m_nodeB.next),t.m_nodeB.next&&(t.m_nodeB.next.prev=t.m_nodeB.prev),t.m_nodeB===r.m_contactList&&(r.m_contactList=t.m_nodeB.next),this.m_contactFactory.Destroy(t),--this.m_contactCount},e.prototype.Collide=function(){for(var e=this.m_contactList;e;){var i=e.GetFixtureA(),n=e.GetFixtureB(),r=e.GetChildIndexA(),s=e.GetChildIndexB(),a=i.GetBody(),o=n.GetBody();if(e.m_filterFlag){if(this.m_contactFilter&&!this.m_contactFilter.ShouldCollide(i,n)){e=(c=e).m_next,this.Destroy(c);continue}e.m_filterFlag=!1}var h=a.IsAwake()&&a.m_type!==t.b2BodyType.b2_staticBody,l=o.IsAwake()&&o.m_type!==t.b2BodyType.b2_staticBody;if(h||l){var c,u=i.m_proxies[r].treeNode,_=n.m_proxies[s].treeNode;if(It(u.aabb,_.aabb))e.Update(this.m_contactListener),e=e.m_next;else e=(c=e).m_next,this.Destroy(c)}else e=e.m_next}},e})(),ln=(function(){function t(){this.step=0,this.collide=0,this.solve=0,this.solveInit=0,this.solveVelocity=0,this.solvePosition=0,this.broadphase=0,this.solveTOI=0}return t.prototype.Reset=function(){return this.step=0,this.collide=0,this.solve=0,this.solveInit=0,this.solveVelocity=0,this.solvePosition=0,this.broadphase=0,this.solveTOI=0,this},t})(),cn=(function(){function t(){this.dt=0,this.inv_dt=0,this.dtRatio=0,this.velocityIterations=0,this.positionIterations=0,this.particleIterations=0,this.warmStarting=!1}return t.prototype.Copy=function(t){return this.dt=t.dt,this.inv_dt=t.inv_dt,this.dtRatio=t.dtRatio,this.positionIterations=t.positionIterations,this.velocityIterations=t.velocityIterations,this.particleIterations=t.particleIterations,this.warmStarting=t.warmStarting,this},t})(),un=(function(){function t(){this.c=new V,this.a=0}return t.MakeArray=function(e){return v(e,(function(e){return new t}))},t})(),_n=(function(){function t(){this.v=new V,this.w=0}return t.MakeArray=function(e){return v(e,(function(e){return new t}))},t})(),fn=(function(){return function(){this.step=new cn}})(),mn=(function(){function t(){this.rA=new V,this.rB=new V,this.normalImpulse=0,this.tangentImpulse=0,this.normalMass=0,this.tangentMass=0,this.velocityBias=0}return t.MakeArray=function(e){return v(e,(function(e){return new t}))},t})(),dn=(function(){function t(){this.points=mn.MakeArray(a),this.normal=new V,this.tangent=new V,this.normalMass=new G,this.K=new G,this.indexA=0,this.indexB=0,this.invMassA=0,this.invMassB=0,this.invIA=0,this.invIB=0,this.friction=0,this.restitution=0,this.tangentSpeed=0,this.pointCount=0,this.contactIndex=0}return t.MakeArray=function(e){return v(e,(function(e){return new t}))},t})(),pn=(function(){function e(){this.localPoints=V.MakeArray(a),this.localNormal=new V,this.localPoint=new V,this.indexA=0,this.indexB=0,this.invMassA=0,this.invMassB=0,this.localCenterA=new V,this.localCenterB=new V,this.invIA=0,this.invIB=0,this.type=t.b2ManifoldType.e_unknown,this.radiusA=0,this.radiusB=0,this.pointCount=0}return e.MakeArray=function(t){return v(t,(function(t){return new e}))},e})(),yn=(function(){return function(){this.step=new cn,this.count=0,this.allocator=null}})(),vn=(function(){function e(){this.normal=new V,this.point=new V,this.separation=0}return e.prototype.Initialize=function(i,n,r,s){var a=e.Initialize_s_pointA,o=e.Initialize_s_pointB,h=e.Initialize_s_planePoint,l=e.Initialize_s_clipPoint;switch(i.type){case t.b2ManifoldType.e_circles:j.MulXV(n,i.localPoint,a),j.MulXV(r,i.localPoints[0],o),V.SubVV(o,a,this.normal).SelfNormalize(),V.MidVV(a,o,this.point),this.separation=V.DotVV(V.SubVV(o,a,V.s_t0),this.normal)-i.radiusA-i.radiusB;break;case t.b2ManifoldType.e_faceA:U.MulRV(n.q,i.localNormal,this.normal),j.MulXV(n,i.localPoint,h),j.MulXV(r,i.localPoints[s],l),this.separation=V.DotVV(V.SubVV(l,h,V.s_t0),this.normal)-i.radiusA-i.radiusB,this.point.Copy(l);break;case t.b2ManifoldType.e_faceB:U.MulRV(r.q,i.localNormal,this.normal),j.MulXV(r,i.localPoint,h),j.MulXV(n,i.localPoints[s],l),this.separation=V.DotVV(V.SubVV(l,h,V.s_t0),this.normal)-i.radiusA-i.radiusB,this.point.Copy(l),this.normal.SelfNeg()}},e.Initialize_s_pointA=new V,e.Initialize_s_pointB=new V,e.Initialize_s_planePoint=new V,e.Initialize_s_clipPoint=new V,e})(),gn=(function(){function t(){this.m_step=new cn,this.m_allocator=null,this.m_positionConstraints=pn.MakeArray(1024),this.m_velocityConstraints=dn.MakeArray(1024),this.m_count=0}return t.prototype.Initialize=function(t){if(this.m_step.Copy(t.step),this.m_allocator=t.allocator,this.m_count=t.count,this.m_positionConstraints.length<this.m_count)for(var e=T(2*this.m_positionConstraints.length,this.m_count);this.m_positionConstraints.length<e;)this.m_positionConstraints[this.m_positionConstraints.length]=new pn;if(this.m_velocityConstraints.length<this.m_count)for(e=T(2*this.m_velocityConstraints.length,this.m_count);this.m_velocityConstraints.length<e;)this.m_velocityConstraints[this.m_velocityConstraints.length]=new dn;this.m_positions=t.positions,this.m_velocities=t.velocities,this.m_contacts=t.contacts;for(var i=0;i<this.m_count;++i){var n=this.m_contacts[i],r=n.m_fixtureA,s=n.m_fixtureB,a=r.GetShape(),o=s.GetShape(),h=a.m_radius,l=o.m_radius,c=r.GetBody(),u=s.GetBody(),_=n.GetManifold(),f=_.pointCount,m=this.m_velocityConstraints[i];m.friction=n.m_friction,m.restitution=n.m_restitution,m.tangentSpeed=n.m_tangentSpeed,m.indexA=c.m_islandIndex,m.indexB=u.m_islandIndex,m.invMassA=c.m_invMass,m.invMassB=u.m_invMass,m.invIA=c.m_invI,m.invIB=u.m_invI,m.contactIndex=i,m.pointCount=f,m.K.SetZero(),m.normalMass.SetZero();var d=this.m_positionConstraints[i];d.indexA=c.m_islandIndex,d.indexB=u.m_islandIndex,d.invMassA=c.m_invMass,d.invMassB=u.m_invMass,d.localCenterA.Copy(c.m_sweep.localCenter),d.localCenterB.Copy(u.m_sweep.localCenter),d.invIA=c.m_invI,d.invIB=u.m_invI,d.localNormal.Copy(_.localNormal),d.localPoint.Copy(_.localPoint),d.pointCount=f,d.radiusA=h,d.radiusB=l,d.type=_.type;for(var p=0;p<f;++p){var y=_.points[p],v=m.points[p];this.m_step.warmStarting?(v.normalImpulse=this.m_step.dtRatio*y.normalImpulse,v.tangentImpulse=this.m_step.dtRatio*y.tangentImpulse):(v.normalImpulse=0,v.tangentImpulse=0),v.rA.SetZero(),v.rB.SetZero(),v.normalMass=0,v.tangentMass=0,v.velocityBias=0,d.localPoints[p].Copy(y.localPoint)}}return this},t.prototype.InitializeVelocityConstraints=function(){for(var e=t.InitializeVelocityConstraints_s_xfA,i=t.InitializeVelocityConstraints_s_xfB,n=t.InitializeVelocityConstraints_s_worldManifold,r=0;r<this.m_count;++r){var s=this.m_velocityConstraints[r],a=this.m_positionConstraints[r],o=a.radiusA,h=a.radiusB,l=this.m_contacts[s.contactIndex].GetManifold(),c=s.indexA,u=s.indexB,_=s.invMassA,f=s.invMassB,m=s.invIA,d=s.invIB,p=a.localCenterA,y=a.localCenterB,v=this.m_positions[c].c,g=this.m_positions[c].a,x=this.m_velocities[c].v,A=this.m_velocities[c].w,b=this.m_positions[u].c,C=this.m_positions[u].a,S=this.m_velocities[u].v,T=this.m_velocities[u].w;e.q.SetAngle(g),i.q.SetAngle(C),V.SubVV(v,U.MulRV(e.q,p,V.s_t0),e.p),V.SubVV(b,U.MulRV(i.q,y,V.s_t0),i.p),n.Initialize(l,e,o,i,h),s.normal.Copy(n.normal),V.CrossVOne(s.normal,s.tangent);for(var w=s.pointCount,E=0;E<w;++E){var D=s.points[E];V.SubVV(n.points[E],v,D.rA),V.SubVV(n.points[E],b,D.rB);var M=V.CrossVV(D.rA,s.normal),B=V.CrossVV(D.rB,s.normal),P=_+f+m*M*M+d*B*B;D.normalMass=P>0?1/P:0;var I=s.tangent,R=V.CrossVV(D.rA,I),O=V.CrossVV(D.rB,I),L=_+f+m*R*R+d*O*O;D.tangentMass=L>0?1/L:0,D.velocityBias=0;var F=V.DotVV(s.normal,V.SubVV(V.AddVCrossSV(S,T,D.rB,V.s_t0),V.AddVCrossSV(x,A,D.rA,V.s_t1),V.s_t0));F<-1&&(D.velocityBias+=-s.restitution*F)}s.pointCount}},t.prototype.WarmStart=function(){for(var e=t.WarmStart_s_P,i=0;i<this.m_count;++i){for(var n=this.m_velocityConstraints[i],r=n.indexA,s=n.indexB,a=n.invMassA,o=n.invIA,h=n.invMassB,l=n.invIB,c=n.pointCount,u=this.m_velocities[r].v,_=this.m_velocities[r].w,f=this.m_velocities[s].v,m=this.m_velocities[s].w,d=n.normal,p=n.tangent,y=0;y<c;++y){var v=n.points[y];V.AddVV(V.MulSV(v.normalImpulse,d,V.s_t0),V.MulSV(v.tangentImpulse,p,V.s_t1),e),_-=o*V.CrossVV(v.rA,e),u.SelfMulSub(a,e),m+=l*V.CrossVV(v.rB,e),f.SelfMulAdd(h,e)}this.m_velocities[r].w=_,this.m_velocities[s].w=m}},t.prototype.SolveVelocityConstraints=function(){for(var e=t.SolveVelocityConstraints_s_dv,i=(t.SolveVelocityConstraints_s_dv1,t.SolveVelocityConstraints_s_dv2,t.SolveVelocityConstraints_s_P),n=(t.SolveVelocityConstraints_s_a,t.SolveVelocityConstraints_s_b,t.SolveVelocityConstraints_s_x,t.SolveVelocityConstraints_s_d,t.SolveVelocityConstraints_s_P1,t.SolveVelocityConstraints_s_P2,t.SolveVelocityConstraints_s_P1P2,0);n<this.m_count;++n){for(var r=this.m_velocityConstraints[n],s=r.indexA,a=r.indexB,o=r.invMassA,h=r.invIA,l=r.invMassB,c=r.invIB,u=r.pointCount,_=this.m_velocities[s].v,f=this.m_velocities[s].w,m=this.m_velocities[a].v,d=this.m_velocities[a].w,p=r.normal,y=r.tangent,v=r.friction,g=0;g<u;++g){var x=r.points[g];V.SubVV(V.AddVCrossSV(m,d,x.rB,V.s_t0),V.AddVCrossSV(_,f,x.rA,V.s_t1),e);var A=V.DotVV(e,y)-r.tangentSpeed,b=x.tangentMass*-A,C=v*x.normalImpulse;b=(S=w(x.tangentImpulse+b,-C,C))-x.tangentImpulse,x.tangentImpulse=S,V.MulSV(b,y,i),_.SelfMulSub(o,i),f-=h*V.CrossVV(x.rA,i),m.SelfMulAdd(l,i),d+=c*V.CrossVV(x.rB,i)}r.pointCount;for(g=0;g<u;++g){x=r.points[g];V.SubVV(V.AddVCrossSV(m,d,x.rB,V.s_t0),V.AddVCrossSV(_,f,x.rA,V.s_t1),e);var S,E=V.DotVV(e,p);b=-x.normalMass*(E-x.velocityBias);b=(S=T(x.normalImpulse+b,0))-x.normalImpulse,x.normalImpulse=S,V.MulSV(b,p,i),_.SelfMulSub(o,i),f-=h*V.CrossVV(x.rA,i),m.SelfMulAdd(l,i),d+=c*V.CrossVV(x.rB,i)}this.m_velocities[s].w=f,this.m_velocities[a].w=d}},t.prototype.StoreImpulses=function(){for(var t=0;t<this.m_count;++t)for(var e=this.m_velocityConstraints[t],i=this.m_contacts[e.contactIndex].GetManifold(),n=0;n<e.pointCount;++n)i.points[n].normalImpulse=e.points[n].normalImpulse,i.points[n].tangentImpulse=e.points[n].tangentImpulse},t.prototype.SolvePositionConstraints=function(){for(var e=t.SolvePositionConstraints_s_xfA,i=t.SolvePositionConstraints_s_xfB,n=t.SolvePositionConstraints_s_psm,r=t.SolvePositionConstraints_s_rA,s=t.SolvePositionConstraints_s_rB,a=t.SolvePositionConstraints_s_P,o=0,l=0;l<this.m_count;++l){for(var c=this.m_positionConstraints[l],u=c.indexA,_=c.indexB,f=c.localCenterA,m=c.invMassA,d=c.invIA,p=c.localCenterB,y=c.invMassB,v=c.invIB,g=c.pointCount,x=this.m_positions[u].c,A=this.m_positions[u].a,b=this.m_positions[_].c,C=this.m_positions[_].a,T=0;T<g;++T){e.q.SetAngle(A),i.q.SetAngle(C),V.SubVV(x,U.MulRV(e.q,f,V.s_t0),e.p),V.SubVV(b,U.MulRV(i.q,p,V.s_t0),i.p),n.Initialize(c,e,i,T);var E=n.normal,D=n.point,M=n.separation;V.SubVV(D,x,r),V.SubVV(D,b,s),o=S(o,M);var B=w(.2*(M+h),-.2,0),P=V.CrossVV(r,E),I=V.CrossVV(s,E),R=m+y+d*P*P+v*I*I,O=R>0?-B/R:0;V.MulSV(O,E,a),x.SelfMulSub(m,a),A-=d*V.CrossVV(r,a),b.SelfMulAdd(y,a),C+=v*V.CrossVV(s,a)}this.m_positions[u].a=A,this.m_positions[_].a=C}return o>-3*h},t.prototype.SolveTOIPositionConstraints=function(e,i){for(var n=t.SolveTOIPositionConstraints_s_xfA,r=t.SolveTOIPositionConstraints_s_xfB,s=t.SolveTOIPositionConstraints_s_psm,a=t.SolveTOIPositionConstraints_s_rA,o=t.SolveTOIPositionConstraints_s_rB,l=t.SolveTOIPositionConstraints_s_P,c=0,u=0;u<this.m_count;++u){var _=this.m_positionConstraints[u],f=_.indexA,m=_.indexB,d=_.localCenterA,p=_.localCenterB,y=_.pointCount,v=0,g=0;f!==e&&f!==i||(v=_.invMassA,g=_.invIA);var x=0,A=0;m!==e&&m!==i||(x=_.invMassB,A=_.invIB);for(var b=this.m_positions[f].c,C=this.m_positions[f].a,T=this.m_positions[m].c,E=this.m_positions[m].a,D=0;D<y;++D){n.q.SetAngle(C),r.q.SetAngle(E),V.SubVV(b,U.MulRV(n.q,d,V.s_t0),n.p),V.SubVV(T,U.MulRV(r.q,p,V.s_t0),r.p),s.Initialize(_,n,r,D);var M=s.normal,B=s.point,P=s.separation;V.SubVV(B,b,a),V.SubVV(B,T,o),c=S(c,P);var I=w(.75*(P+h),-.2,0),R=V.CrossVV(a,M),O=V.CrossVV(o,M),L=v+x+g*R*R+A*O*O,F=L>0?-I/L:0;V.MulSV(F,M,l),b.SelfMulSub(v,l),C-=g*V.CrossVV(a,l),T.SelfMulAdd(x,l),E+=A*V.CrossVV(o,l)}this.m_positions[f].a=C,this.m_positions[m].a=E}return c>=-1.5*h},t.InitializeVelocityConstraints_s_xfA=new j,t.InitializeVelocityConstraints_s_xfB=new j,t.InitializeVelocityConstraints_s_worldManifold=new Et,t.WarmStart_s_P=new V,t.SolveVelocityConstraints_s_dv=new V,t.SolveVelocityConstraints_s_dv1=new V,t.SolveVelocityConstraints_s_dv2=new V,t.SolveVelocityConstraints_s_P=new V,t.SolveVelocityConstraints_s_a=new V,t.SolveVelocityConstraints_s_b=new V,t.SolveVelocityConstraints_s_x=new V,t.SolveVelocityConstraints_s_d=new V,t.SolveVelocityConstraints_s_P1=new V,t.SolveVelocityConstraints_s_P2=new V,t.SolveVelocityConstraints_s_P1P2=new V,t.SolvePositionConstraints_s_xfA=new j,t.SolvePositionConstraints_s_xfB=new j,t.SolvePositionConstraints_s_psm=new vn,t.SolvePositionConstraints_s_rA=new V,t.SolvePositionConstraints_s_rB=new V,t.SolvePositionConstraints_s_P=new V,t.SolveTOIPositionConstraints_s_xfA=new j,t.SolveTOIPositionConstraints_s_xfB=new j,t.SolveTOIPositionConstraints_s_psm=new vn,t.SolveTOIPositionConstraints_s_rA=new V,t.SolveTOIPositionConstraints_s_rB=new V,t.SolveTOIPositionConstraints_s_P=new V,t})(),xn=(function(){function e(){this.m_allocator=null,this.m_bodies=[],this.m_contacts=[],this.m_joints=[],this.m_positions=un.MakeArray(1024),this.m_velocities=_n.MakeArray(1024),this.m_bodyCount=0,this.m_jointCount=0,this.m_contactCount=0,this.m_bodyCapacity=0,this.m_contactCapacity=0,this.m_jointCapacity=0}return e.prototype.Initialize=function(t,e,i,n,r){if(this.m_bodyCapacity=t,this.m_contactCapacity=e,this.m_jointCapacity=i,this.m_bodyCount=0,this.m_contactCount=0,this.m_jointCount=0,this.m_allocator=n,this.m_listener=r,this.m_positions.length<t)for(var s=T(2*this.m_positions.length,t);this.m_positions.length<s;)this.m_positions[this.m_positions.length]=new un;if(this.m_velocities.length<t)for(s=T(2*this.m_velocities.length,t);this.m_velocities.length<s;)this.m_velocities[this.m_velocities.length]=new _n},e.prototype.Clear=function(){this.m_bodyCount=0,this.m_contactCount=0,this.m_jointCount=0},e.prototype.AddBody=function(t){t.m_islandIndex=this.m_bodyCount,this.m_bodies[this.m_bodyCount++]=t},e.prototype.AddContact=function(t){this.m_contacts[this.m_contactCount++]=t},e.prototype.AddJoint=function(t){this.m_joints[this.m_jointCount++]=t},e.prototype.Solve=function(n,r,s,a){for(var o=e.s_timer.Reset(),h=r.dt,l=0;l<this.m_bodyCount;++l){var c=this.m_bodies[l];this.m_positions[l].c.Copy(c.m_sweep.c);var u=c.m_sweep.a,m=this.m_velocities[l].v.Copy(c.m_linearVelocity),d=c.m_angularVelocity;c.m_sweep.c0.Copy(c.m_sweep.c),c.m_sweep.a0=c.m_sweep.a,c.m_type===t.b2BodyType.b2_dynamicBody&&(m.x+=h*(c.m_gravityScale*s.x+c.m_invMass*c.m_force.x),m.y+=h*(c.m_gravityScale*s.y+c.m_invMass*c.m_force.y),d+=h*c.m_invI*c.m_torque,m.SelfMul(1/(1+h*c.m_linearDamping)),d*=1/(1+h*c.m_angularDamping)),this.m_positions[l].a=u,this.m_velocities[l].w=d}o.Reset();var p=e.s_solverData;p.step.Copy(r),p.positions=this.m_positions,p.velocities=this.m_velocities;var y=e.s_contactSolverDef;y.step.Copy(r),y.contacts=this.m_contacts,y.count=this.m_contactCount,y.positions=this.m_positions,y.velocities=this.m_velocities,y.allocator=this.m_allocator;var v=e.s_contactSolver.Initialize(y);v.InitializeVelocityConstraints(),r.warmStarting&&v.WarmStart();for(l=0;l<this.m_jointCount;++l)this.m_joints[l].InitVelocityConstraints(p);n.solveInit=o.GetMilliseconds(),o.Reset();for(l=0;l<r.velocityIterations;++l){for(var g=0;g<this.m_jointCount;++g)this.m_joints[g].SolveVelocityConstraints(p);v.SolveVelocityConstraints()}v.StoreImpulses(),n.solveVelocity=o.GetMilliseconds();for(l=0;l<this.m_bodyCount;++l){var x=this.m_positions[l].c,A=(u=this.m_positions[l].a,m=this.m_velocities[l].v,d=this.m_velocities[l].w,V.MulSV(h,m,e.s_translation));if(V.DotVV(A,A)>4){var b=2/A.Length();m.SelfMul(b)}var T=h*d;if(T*T>f)d*=b=_/C(T);x.x+=h*m.x,x.y+=h*m.y,u+=h*d,this.m_positions[l].a=u,this.m_velocities[l].w=d}o.Reset();var w=!1;for(l=0;l<r.positionIterations;++l){var E=v.SolvePositionConstraints(),D=!0;for(g=0;g<this.m_jointCount;++g){var M=this.m_joints[g].SolvePositionConstraints(p);D=D&&M}if(E&&D){w=!0;break}}for(l=0;l<this.m_bodyCount;++l){var B=this.m_bodies[l];B.m_sweep.c.Copy(this.m_positions[l].c),B.m_sweep.a=this.m_positions[l].a,B.m_linearVelocity.Copy(this.m_velocities[l].v),B.m_angularVelocity=this.m_velocities[l].w,B.SynchronizeTransform()}if(n.solvePosition=o.GetMilliseconds(),this.Report(v.m_velocityConstraints),a){var P=i;for(l=0;l<this.m_bodyCount;++l){(c=this.m_bodies[l]).GetType()!==t.b2BodyType.b2_staticBody&&(!c.m_autoSleepFlag||c.m_angularVelocity*c.m_angularVelocity>.0012184696791469947||V.DotVV(c.m_linearVelocity,c.m_linearVelocity)>1e-4?(c.m_sleepTime=0,P=0):(c.m_sleepTime+=h,P=S(P,c.m_sleepTime)))}if(P>=.5&&w)for(l=0;l<this.m_bodyCount;++l){(c=this.m_bodies[l]).SetAwake(!1)}}},e.prototype.SolveTOI=function(t,i,n){for(var r=0;r<this.m_bodyCount;++r){var s=this.m_bodies[r];this.m_positions[r].c.Copy(s.m_sweep.c),this.m_positions[r].a=s.m_sweep.a,this.m_velocities[r].v.Copy(s.m_linearVelocity),this.m_velocities[r].w=s.m_angularVelocity}var a=e.s_contactSolverDef;a.contacts=this.m_contacts,a.count=this.m_contactCount,a.allocator=this.m_allocator,a.step.Copy(t),a.positions=this.m_positions,a.velocities=this.m_velocities;var o=e.s_contactSolver.Initialize(a);for(r=0;r<t.positionIterations;++r){if(o.SolveTOIPositionConstraints(i,n))break}this.m_bodies[i].m_sweep.c0.Copy(this.m_positions[i].c),this.m_bodies[i].m_sweep.a0=this.m_positions[i].a,this.m_bodies[n].m_sweep.c0.Copy(this.m_positions[n].c),this.m_bodies[n].m_sweep.a0=this.m_positions[n].a,o.InitializeVelocityConstraints();for(r=0;r<t.velocityIterations;++r)o.SolveVelocityConstraints();var h=t.dt;for(r=0;r<this.m_bodyCount;++r){var l=this.m_positions[r].c,c=this.m_positions[r].a,u=this.m_velocities[r].v,m=this.m_velocities[r].w,d=V.MulSV(h,u,e.s_translation);if(V.DotVV(d,d)>4){var p=2/d.Length();u.SelfMul(p)}var y=h*m;if(y*y>f)m*=p=_/C(y);l.SelfMulAdd(h,u),c+=h*m,this.m_positions[r].a=c,this.m_velocities[r].w=m;var v=this.m_bodies[r];v.m_sweep.c.Copy(l),v.m_sweep.a=c,v.m_linearVelocity.Copy(u),v.m_angularVelocity=m,v.SynchronizeTransform()}this.Report(o.m_velocityConstraints)},e.prototype.Report=function(t){if(null!==this.m_listener)for(var i=0;i<this.m_contactCount;++i){var n=this.m_contacts[i];if(n){var r=t[i],s=e.s_impulse;s.count=r.pointCount;for(var a=0;a<r.pointCount;++a)s.normalImpulses[a]=r.points[a].normalImpulse,s.tangentImpulses[a]=r.points[a].tangentImpulse;this.m_listener.PostSolve(n,s)}}},e.s_timer=new Y,e.s_solverData=new fn,e.s_contactSolverDef=new yn,e.s_contactSolver=new gn,e.s_translation=new V,e.s_impulse=new rn,e})();(function(t){t[t.b2_waterParticle=0]="b2_waterParticle",t[t.b2_zombieParticle=2]="b2_zombieParticle",t[t.b2_wallParticle=4]="b2_wallParticle",t[t.b2_springParticle=8]="b2_springParticle",t[t.b2_elasticParticle=16]="b2_elasticParticle",t[t.b2_viscousParticle=32]="b2_viscousParticle",t[t.b2_powderParticle=64]="b2_powderParticle",t[t.b2_tensileParticle=128]="b2_tensileParticle",t[t.b2_colorMixingParticle=256]="b2_colorMixingParticle",t[t.b2_destructionListenerParticle=512]="b2_destructionListenerParticle",t[t.b2_barrierParticle=1024]="b2_barrierParticle",t[t.b2_staticPressureParticle=2048]="b2_staticPressureParticle",t[t.b2_reactiveParticle=4096]="b2_reactiveParticle",t[t.b2_repulsiveParticle=8192]="b2_repulsiveParticle",t[t.b2_fixtureContactListenerParticle=16384]="b2_fixtureContactListenerParticle",t[t.b2_particleContactListenerParticle=32768]="b2_particleContactListenerParticle",t[t.b2_fixtureContactFilterParticle=65536]="b2_fixtureContactFilterParticle",t[t.b2_particleContactFilterParticle=131072]="b2_particleContactFilterParticle"})(t.b2ParticleFlag||(t.b2ParticleFlag={}));var An=(function(){return function(){this.flags=0,this.position=new V,this.velocity=new V,this.color=new H(0,0,0,0),this.lifetime=0,this.userData=null,this.group=null}})();function bn(t,e,i){return w(Math.ceil(Math.sqrt(t/(.01*e))*i),1,8)}var Cn=(function(){function t(){this.m_index=m}return t.prototype.GetIndex=function(){return this.m_index},t.prototype.SetIndex=function(t){this.m_index=t},t})();(function(t){t[t.b2_solidParticleGroup=1]="b2_solidParticleGroup",t[t.b2_rigidParticleGroup=2]="b2_rigidParticleGroup",t[t.b2_particleGroupCanBeEmpty=4]="b2_particleGroupCanBeEmpty",t[t.b2_particleGroupWillBeDestroyed=8]="b2_particleGroupWillBeDestroyed",t[t.b2_particleGroupNeedsUpdateDepth=16]="b2_particleGroupNeedsUpdateDepth",t[t.b2_particleGroupInternalMask=24]="b2_particleGroupInternalMask"})(t.b2ParticleGroupFlag||(t.b2ParticleGroupFlag={}));var Sn=(function(){return function(){this.flags=0,this.groupFlags=0,this.position=new V,this.angle=0,this.linearVelocity=new V,this.angularVelocity=0,this.color=new H,this.strength=1,this.shapeCount=0,this.stride=0,this.particleCount=0,this.lifetime=0,this.userData=null,this.group=null}})(),Tn=(function(){function e(t){this.m_firstIndex=0,this.m_lastIndex=0,this.m_groupFlags=0,this.m_strength=1,this.m_prev=null,this.m_next=null,this.m_timestamp=-1,this.m_mass=0,this.m_inertia=0,this.m_center=new V,this.m_linearVelocity=new V,this.m_angularVelocity=0,this.m_transform=new j,this.m_userData=null,this.m_system=t}return e.prototype.GetNext=function(){return this.m_next},e.prototype.GetParticleSystem=function(){return this.m_system},e.prototype.GetParticleCount=function(){return this.m_lastIndex-this.m_firstIndex},e.prototype.GetBufferIndex=function(){return this.m_firstIndex},e.prototype.ContainsParticle=function(t){return this.m_firstIndex<=t&&t<this.m_lastIndex},e.prototype.GetAllParticleFlags=function(){if(!this.m_system.m_flagsBuffer.data)throw new Error;for(var t=0,e=this.m_firstIndex;e<this.m_lastIndex;e++)t|=this.m_system.m_flagsBuffer.data[e];return t},e.prototype.GetGroupFlags=function(){return this.m_groupFlags},e.prototype.SetGroupFlags=function(e){e|=this.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupInternalMask,this.m_system.SetGroupFlags(this,e)},e.prototype.GetMass=function(){return this.UpdateStatistics(),this.m_mass},e.prototype.GetInertia=function(){return this.UpdateStatistics(),this.m_inertia},e.prototype.GetCenter=function(){return this.UpdateStatistics(),this.m_center},e.prototype.GetLinearVelocity=function(){return this.UpdateStatistics(),this.m_linearVelocity},e.prototype.GetAngularVelocity=function(){return this.UpdateStatistics(),this.m_angularVelocity},e.prototype.GetTransform=function(){return this.m_transform},e.prototype.GetPosition=function(){return this.m_transform.p},e.prototype.GetAngle=function(){return this.m_transform.q.GetAngle()},e.prototype.GetLinearVelocityFromWorldPoint=function(t,i){var n=e.GetLinearVelocityFromWorldPoint_s_t0;return this.UpdateStatistics(),V.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,V.SubVV(t,this.m_center,n),i)},e.prototype.GetUserData=function(){return this.m_userData},e.prototype.SetUserData=function(t){this.m_userData=t},e.prototype.ApplyForce=function(t){this.m_system.ApplyForce(this.m_firstIndex,this.m_lastIndex,t)},e.prototype.ApplyLinearImpulse=function(t){this.m_system.ApplyLinearImpulse(this.m_firstIndex,this.m_lastIndex,t)},e.prototype.DestroyParticles=function(t){if(this.m_system.m_world.IsLocked())throw new Error;for(var e=this.m_firstIndex;e<this.m_lastIndex;e++)this.m_system.DestroyParticle(e,t)},e.prototype.UpdateStatistics=function(){if(!this.m_system.m_positionBuffer.data)throw new Error;if(!this.m_system.m_velocityBuffer.data)throw new Error;var t=new V,e=new V;if(this.m_timestamp!==this.m_system.m_timestamp){var i=this.m_system.GetParticleMass();this.m_mass=i*(this.m_lastIndex-this.m_firstIndex),this.m_center.SetZero(),this.m_linearVelocity.SetZero();for(var n=this.m_firstIndex;n<this.m_lastIndex;n++)this.m_center.SelfMulAdd(i,this.m_system.m_positionBuffer.data[n]),this.m_linearVelocity.SelfMulAdd(i,this.m_system.m_velocityBuffer.data[n]);if(this.m_mass>0){var r=1/this.m_mass;this.m_center.SelfMul(r),this.m_linearVelocity.SelfMul(r)}this.m_inertia=0,this.m_angularVelocity=0;for(n=this.m_firstIndex;n<this.m_lastIndex;n++)V.SubVV(this.m_system.m_positionBuffer.data[n],this.m_center,t),V.SubVV(this.m_system.m_velocityBuffer.data[n],this.m_linearVelocity,e),this.m_inertia+=i*V.DotVV(t,t),this.m_angularVelocity+=i*V.CrossVV(t,e);this.m_inertia>0&&(this.m_angularVelocity*=1/this.m_inertia),this.m_timestamp=this.m_system.m_timestamp}},e.GetLinearVelocityFromWorldPoint_s_t0=new V,e})(),wn=(function(){function t(t){this.m_front=0,this.m_back=0,this.m_capacity=0,this.m_buffer=v(t,(function(t){return null})),this.m_capacity=t}return t.prototype.Push=function(t){if(this.m_back>=this.m_capacity){for(var e=this.m_front;e<this.m_back;e++)this.m_buffer[e-this.m_front]=this.m_buffer[e];this.m_back-=this.m_front,this.m_front=0,this.m_back>=this.m_capacity&&(this.m_capacity>0?(this.m_buffer.concat(v(this.m_capacity,(function(t){return null}))),this.m_capacity*=2):(this.m_buffer.concat(v(1,(function(t){return null}))),this.m_capacity=1))}this.m_buffer[this.m_back]=t,this.m_back++},t.prototype.Pop=function(){this.m_buffer[this.m_front]=null,this.m_front++},t.prototype.Empty=function(){return this.m_front===this.m_back},t.prototype.Front=function(){var t=this.m_buffer[this.m_front];if(!t)throw new Error;return t},t})(),En=(function(){function t(e){this.m_generatorCapacity=0,this.m_generatorCount=0,this.m_countX=0,this.m_countY=0,this.m_diagram=[],this.m_generatorBuffer=v(e,(function(e){return new t.Generator})),this.m_generatorCapacity=e}return t.prototype.AddGenerator=function(t,e,i){var n=this.m_generatorBuffer[this.m_generatorCount++];n.center.Copy(t),n.tag=e,n.necessary=i},t.prototype.Generate=function(e,n){for(var r=1/e,s=new V(+i,+i),a=new V(-i,-i),o=0,h=0;h<this.m_generatorCount;h++){(f=this.m_generatorBuffer[h]).necessary&&(V.MinV(s,f.center,s),V.MaxV(a,f.center,a),++o)}if(0===o)return this.m_countX=0,void(this.m_countY=0);s.x-=n,s.y-=n,a.x+=n,a.y+=n,this.m_countX=1+Math.floor(r*(a.x-s.x)),this.m_countY=1+Math.floor(r*(a.y-s.y)),this.m_diagram=[];var l=new wn(4*this.m_countX*this.m_countY);for(h=0;h<this.m_generatorCount;h++){(f=this.m_generatorBuffer[h]).center.SelfSub(s).SelfMul(r);var c=Math.floor(f.center.x),u=Math.floor(f.center.y);c>=0&&u>=0&&c<this.m_countX&&u<this.m_countY&&l.Push(new t.Task(c,u,c+u*this.m_countX,f))}for(;!l.Empty();){c=(m=l.Front()).m_x,u=m.m_y;var _=m.m_i,f=m.m_generator;l.Pop(),this.m_diagram[_]||(this.m_diagram[_]=f,c>0&&l.Push(new t.Task(c-1,u,_-1,f)),u>0&&l.Push(new t.Task(c,u-1,_-this.m_countX,f)),c<this.m_countX-1&&l.Push(new t.Task(c+1,u,_+1,f)),u<this.m_countY-1&&l.Push(new t.Task(c,u+1,_+this.m_countX,f)))}for(u=0;u<this.m_countY;u++)for(c=0;c<this.m_countX-1;c++){_=c+u*this.m_countX;(d=this.m_diagram[_])!==(p=this.m_diagram[_+1])&&(l.Push(new t.Task(c,u,_,p)),l.Push(new t.Task(c+1,u,_+1,d)))}for(u=0;u<this.m_countY-1;u++)for(c=0;c<this.m_countX;c++){_=c+u*this.m_countX;(d=this.m_diagram[_])!==(p=this.m_diagram[_+this.m_countX])&&(l.Push(new t.Task(c,u,_,p)),l.Push(new t.Task(c,u+1,_+this.m_countX,d)))}for(;!l.Empty();){var m,d,p;c=(m=l.Front()).m_x,u=m.m_y,_=m.m_i,h=m.m_generator;if(l.Pop(),(d=this.m_diagram[_])!==(p=h)){var y=d.center.x-c,v=d.center.y-u,g=p.center.x-c,x=p.center.y-u;y*y+v*v>g*g+x*x&&(this.m_diagram[_]=p,c>0&&l.Push(new t.Task(c-1,u,_-1,p)),u>0&&l.Push(new t.Task(c,u-1,_-this.m_countX,p)),c<this.m_countX-1&&l.Push(new t.Task(c+1,u,_+1,p)),u<this.m_countY-1&&l.Push(new t.Task(c,u+1,_+this.m_countX,p)))}}},t.prototype.GetNodes=function(t){for(var e=0;e<this.m_countY-1;e++)for(var i=0;i<this.m_countX-1;i++){var n=i+e*this.m_countX,r=this.m_diagram[n],s=this.m_diagram[n+1],a=this.m_diagram[n+this.m_countX],o=this.m_diagram[n+1+this.m_countX];s!==a&&(r!==s&&r!==a&&(r.necessary||s.necessary||a.necessary)&&t(r.tag,s.tag,a.tag),o!==s&&o!==a&&(r.necessary||s.necessary||a.necessary)&&t(s.tag,o.tag,a.tag))}},t})();function Dn(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function Mn(t,e){return t<e}function Bn(t,e,i,n){void 0===e&&(e=0),void 0===i&&(i=t.length-e),void 0===n&&(n=Mn);for(var r=e,s=[],a=0;;){for(;r+1<i;i++){var o=t[r+Math.floor(Math.random()*(i-r))];s[a++]=i;for(var h=r-1;;){for(;n(t[++h],o););for(;n(o,t[--i]););if(h>=i)break;Dn(t,h,i)}}if(0===a)break;r=i,i=s[--a]}return t}function Pn(t,e,i,n){return void 0===e&&(e=0),void 0===i&&(i=t.length-e),void 0===n&&(n=Mn),Bn(t,e,i,n)}function In(t,e,i){void 0===i&&(i=t.length);for(var n=0,r=0;r<i;++r)e(t[r])||(r!==n?Dn(t,n++,r):++n);return n}function Rn(t,e,i,n,r){void 0===r&&(r=Mn);for(var s=i-e;s>0;){var a=Math.floor(s/2),o=e+a;r(t[o],n)?(e=++o,s-=a+1):s=a}return e}function On(t,e,i,n,r){void 0===r&&(r=Mn);for(var s=i-e;s>0;){var a=Math.floor(s/2),o=e+a;r(n,t[o])?s=a:(e=++o,s-=a+1)}return e}function Ln(t,e,i,n){for(var r=i;e!==r;)Dn(t,e++,r++),r===n?r=i:e===i&&(i=r)}(function(t){var e=(function(){return function(){this.center=new V,this.tag=0,this.necessary=!1}})();t.Generator=e;var i=(function(){return function(t,e,i,n){this.m_x=t,this.m_y=e,this.m_i=i,this.m_generator=n}})();t.Task=i})(En||(En={}));var Fn=(function(){function t(t){this.data=[],this.count=0,this.capacity=0,this.allocator=t}return t.prototype.Append=function(){return this.count>=this.capacity&&this.Grow(),this.count++},t.prototype.Reserve=function(t){if(!(this.capacity>=t)){for(var e=this.capacity;e<t;++e)this.data[e]=this.allocator();this.capacity=t}},t.prototype.Grow=function(){var t=this.capacity?2*this.capacity:256;this.Reserve(t)},t.prototype.Free=function(){0!==this.data.length&&(this.data=[],this.capacity=0,this.count=0)},t.prototype.Shorten=function(t){},t.prototype.Data=function(){return this.data},t.prototype.GetCount=function(){return this.count},t.prototype.SetCount=function(t){this.count=t},t.prototype.GetCapacity=function(){return this.capacity},t.prototype.RemoveIf=function(t){this.count=In(this.data,t,this.count)},t.prototype.Unique=function(t){this.count=(function(t,e,i,n){if(e===i)return i;for(var r=e;++e!==i;)n(t[r],t[e])||Dn(t,++r,e);return++r})(this.data,0,this.count,t)},t})(),Vn=(function(t){function e(e){var i=t.call(this)||this;return i.m_system=e,i}return ni(e,t),e.prototype.ShouldQueryParticleSystem=function(t){return!1},e.prototype.ReportFixture=function(t){if(t.IsSensor())return!0;for(var e=t.GetShape().GetChildCount(),i=0;i<e;i++)for(var n=t.GetAABB(i),r=this.m_system.GetInsideBoundsEnumerator(n),s=void 0;(s=r.GetNext())>=0;)this.ReportFixtureAndParticle(t,i,s);return!0},e.prototype.ReportParticle=function(t,e){return!1},e.prototype.ReportFixtureAndParticle=function(t,e,i){},e})(an),Nn=(function(){function t(){this.indexA=0,this.indexB=0,this.weight=0,this.normal=new V,this.flags=0}return t.prototype.SetIndices=function(t,e){this.indexA=t,this.indexB=e},t.prototype.SetWeight=function(t){this.weight=t},t.prototype.SetNormal=function(t){this.normal.Copy(t)},t.prototype.SetFlags=function(t){this.flags=t},t.prototype.GetIndexA=function(){return this.indexA},t.prototype.GetIndexB=function(){return this.indexB},t.prototype.GetWeight=function(){return this.weight},t.prototype.GetNormal=function(){return this.normal},t.prototype.GetFlags=function(){return this.flags},t.prototype.IsEqual=function(t){return this.indexA===t.indexA&&this.indexB===t.indexB&&this.flags===t.flags&&this.weight===t.weight&&this.normal.x===t.normal.x&&this.normal.y===t.normal.y},t.prototype.IsNotEqual=function(t){return!this.IsEqual(t)},t.prototype.ApproximatelyEqual=function(t){return this.indexA===t.indexA&&this.indexB===t.indexB&&this.flags===t.flags&&C(this.weight-t.weight)<.01&&V.DistanceSquaredVV(this.normal,t.normal)<1e-4},t})(),kn=(function(){return function(){this.index=0,this.weight=0,this.normal=new V,this.mass=0}})(),Gn=(function(){return function(){this.indexA=0,this.indexB=0,this.flags=0,this.strength=0,this.distance=0}})(),zn=(function(){return function(){this.indexA=0,this.indexB=0,this.indexC=0,this.flags=0,this.strength=0,this.pa=new V(0,0),this.pb=new V(0,0),this.pc=new V(0,0),this.ka=0,this.kb=0,this.kc=0,this.s=0}})(),Un=(function(){function t(){this.strictContactCheck=!1,this.density=1,this.gravityScale=1,this.radius=1,this.maxCount=0,this.pressureStrength=.005,this.dampingStrength=1,this.elasticStrength=.25,this.springStrength=.25,this.viscousStrength=.25,this.surfaceTensionPressureStrength=.2,this.surfaceTensionNormalStrength=.2,this.repulsiveStrength=1,this.powderStrength=.5,this.ejectionStrength=.5,this.staticPressureStrength=.2,this.staticPressureRelaxation=.2,this.staticPressureIterations=8,this.colorMixingStrength=.5,this.destroyByAge=!0,this.lifetimeGranularity=1/60}return t.prototype.Copy=function(t){return this.strictContactCheck=t.strictContactCheck,this.density=t.density,this.gravityScale=t.gravityScale,this.radius=t.radius,this.maxCount=t.maxCount,this.pressureStrength=t.pressureStrength,this.dampingStrength=t.dampingStrength,this.elasticStrength=t.elasticStrength,this.springStrength=t.springStrength,this.viscousStrength=t.viscousStrength,this.surfaceTensionPressureStrength=t.surfaceTensionPressureStrength,this.surfaceTensionNormalStrength=t.surfaceTensionNormalStrength,this.repulsiveStrength=t.repulsiveStrength,this.powderStrength=t.powderStrength,this.ejectionStrength=t.ejectionStrength,this.staticPressureStrength=t.staticPressureStrength,this.staticPressureRelaxation=t.staticPressureRelaxation,this.staticPressureIterations=t.staticPressureIterations,this.colorMixingStrength=t.colorMixingStrength,this.destroyByAge=t.destroyByAge,this.lifetimeGranularity=t.lifetimeGranularity,this},t.prototype.Clone=function(){return(new t).Copy(this)},t})();t.b2ParticleSystem=(function(){function n(t,e){this.m_paused=!1,this.m_timestamp=0,this.m_allParticleFlags=0,this.m_needsUpdateAllParticleFlags=!1,this.m_allGroupFlags=0,this.m_needsUpdateAllGroupFlags=!1,this.m_hasForce=!1,this.m_iterationIndex=0,this.m_inverseDensity=0,this.m_particleDiameter=0,this.m_inverseDiameter=0,this.m_squaredDiameter=0,this.m_count=0,this.m_internalAllocatedCapacity=0,this.m_handleIndexBuffer=new n.UserOverridableBuffer,this.m_flagsBuffer=new n.UserOverridableBuffer,this.m_positionBuffer=new n.UserOverridableBuffer,this.m_velocityBuffer=new n.UserOverridableBuffer,this.m_forceBuffer=[],this.m_weightBuffer=[],this.m_staticPressureBuffer=[],this.m_accumulationBuffer=[],this.m_accumulation2Buffer=[],this.m_depthBuffer=[],this.m_colorBuffer=new n.UserOverridableBuffer,this.m_groupBuffer=[],this.m_userDataBuffer=new n.UserOverridableBuffer,this.m_stuckThreshold=0,this.m_lastBodyContactStepBuffer=new n.UserOverridableBuffer,this.m_bodyContactCountBuffer=new n.UserOverridableBuffer,this.m_consecutiveContactStepsBuffer=new n.UserOverridableBuffer,this.m_stuckParticleBuffer=new Fn(function(){return 0}),this.m_proxyBuffer=new Fn(function(){return new n.Proxy}),this.m_contactBuffer=new Fn(function(){return new Nn}),this.m_bodyContactBuffer=new Fn(function(){return new kn}),this.m_pairBuffer=new Fn(function(){return new Gn}),this.m_triadBuffer=new Fn(function(){return new zn}),this.m_expirationTimeBuffer=new n.UserOverridableBuffer,this.m_indexByExpirationTimeBuffer=new n.UserOverridableBuffer,this.m_timeElapsed=0,this.m_expirationTimeBufferRequiresSorting=!1,this.m_groupCount=0,this.m_groupList=null,this.m_def=new Un,this.m_prev=null,this.m_next=null,this.SetStrictContactCheck(t.strictContactCheck),this.SetDensity(t.density),this.SetGravityScale(t.gravityScale),this.SetRadius(t.radius),this.SetMaxParticleCount(t.maxCount),this.m_def=t.Clone(),this.m_world=e,this.SetDestructionByAge(this.m_def.destroyByAge)}return n.computeTag=function(t,e){return(e+n.yOffset>>>0<<n.yShift)+(n.xScale*t+n.xOffset>>>0)>>>0},n.computeRelativeTag=function(t,e,i){return t+(i<<n.yShift)+(e<<n.xShift)>>>0},n.prototype.Drop=function(){for(;this.m_groupList;)this.DestroyParticleGroup(this.m_groupList);this.FreeUserOverridableBuffer(this.m_handleIndexBuffer),this.FreeUserOverridableBuffer(this.m_flagsBuffer),this.FreeUserOverridableBuffer(this.m_lastBodyContactStepBuffer),this.FreeUserOverridableBuffer(this.m_bodyContactCountBuffer),this.FreeUserOverridableBuffer(this.m_consecutiveContactStepsBuffer),this.FreeUserOverridableBuffer(this.m_positionBuffer),this.FreeUserOverridableBuffer(this.m_velocityBuffer),this.FreeUserOverridableBuffer(this.m_colorBuffer),this.FreeUserOverridableBuffer(this.m_userDataBuffer),this.FreeUserOverridableBuffer(this.m_expirationTimeBuffer),this.FreeUserOverridableBuffer(this.m_indexByExpirationTimeBuffer),this.FreeBuffer(this.m_forceBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_weightBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_staticPressureBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_accumulationBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_accumulation2Buffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_depthBuffer,this.m_internalAllocatedCapacity),this.FreeBuffer(this.m_groupBuffer,this.m_internalAllocatedCapacity)},n.prototype.CreateParticle=function(t){if(this.m_world.IsLocked())throw new Error;if(this.m_count>=this.m_internalAllocatedCapacity){var i=this.m_count?2*this.m_count:256;this.ReallocateInternalAllocatedBuffers(i)}if(this.m_count>=this.m_internalAllocatedCapacity){if(!this.m_def.destroyByAge)return m;this.DestroyOldestParticle(0,!1),this.SolveZombie()}var n=this.m_count++;if(!this.m_flagsBuffer.data)throw new Error;if(this.m_flagsBuffer.data[n]=0,this.m_lastBodyContactStepBuffer.data&&(this.m_lastBodyContactStepBuffer.data[n]=0),this.m_bodyContactCountBuffer.data&&(this.m_bodyContactCountBuffer.data[n]=0),this.m_consecutiveContactStepsBuffer.data&&(this.m_consecutiveContactStepsBuffer.data[n]=0),!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;this.m_positionBuffer.data[n]=(this.m_positionBuffer.data[n]||new V).Copy(e(t.position,V.ZERO)),this.m_velocityBuffer.data[n]=(this.m_velocityBuffer.data[n]||new V).Copy(e(t.velocity,V.ZERO)),this.m_weightBuffer[n]=0,this.m_forceBuffer[n]=(this.m_forceBuffer[n]||new V).SetZero(),this.m_staticPressureBuffer&&(this.m_staticPressureBuffer[n]=0),this.m_depthBuffer&&(this.m_depthBuffer[n]=0);var r=(new H).Copy(e(t.color,H.ZERO));!this.m_colorBuffer.data&&r.IsZero()||(this.m_colorBuffer.data=this.RequestBuffer(this.m_colorBuffer.data),this.m_colorBuffer.data[n]=(this.m_colorBuffer.data[n]||new H).Copy(r)),(this.m_userDataBuffer.data||t.userData)&&(this.m_userDataBuffer.data=this.RequestBuffer(this.m_userDataBuffer.data),this.m_userDataBuffer.data[n]=t.userData),this.m_handleIndexBuffer.data&&(this.m_handleIndexBuffer.data[n]=null);var s=this.m_proxyBuffer.data[this.m_proxyBuffer.Append()],a=e(t.lifetime,0),o=a>0;if(this.m_expirationTimeBuffer.data||o){if(this.SetParticleLifetime(n,o?a:this.ExpirationTimeToLifetime(-this.GetQuantizedTimeElapsed())),!this.m_indexByExpirationTimeBuffer.data)throw new Error;this.m_indexByExpirationTimeBuffer.data[n]=n}s.index=n;var h=e(t.group,null);return this.m_groupBuffer[n]=h,h&&(h.m_firstIndex<h.m_lastIndex?(this.RotateBuffer(h.m_firstIndex,h.m_lastIndex,n),h.m_lastIndex=n+1):(h.m_firstIndex=n,h.m_lastIndex=n+1)),this.SetParticleFlags(n,e(t.flags,0)),n},n.prototype.GetParticleHandleFromIndex=function(t){this.m_handleIndexBuffer.data=this.RequestBuffer(this.m_handleIndexBuffer.data);var e=this.m_handleIndexBuffer.data[t];return e||((e=new Cn).SetIndex(t),this.m_handleIndexBuffer.data[t]=e,e)},n.prototype.DestroyParticle=function(e,i){if(void 0===i&&(i=!1),!this.m_flagsBuffer.data)throw new Error;var n=t.b2ParticleFlag.b2_zombieParticle;i&&(n|=t.b2ParticleFlag.b2_destructionListenerParticle),this.SetParticleFlags(e,this.m_flagsBuffer.data[e]|n)},n.prototype.DestroyOldestParticle=function(t,e){void 0===e&&(e=!1);var i=this.GetParticleCount();if(!this.m_indexByExpirationTimeBuffer.data)throw new Error;if(!this.m_expirationTimeBuffer.data)throw new Error;var n=this.m_indexByExpirationTimeBuffer.data[i-(t+1)],r=this.m_indexByExpirationTimeBuffer.data[t];this.DestroyParticle(this.m_expirationTimeBuffer.data[n]>0?n:r,e)},n.prototype.DestroyParticlesInShape=function(t,e,i){void 0===i&&(i=!1);var r=n.DestroyParticlesInShape_s_aabb;if(this.m_world.IsLocked())throw new Error;var s=new n.DestroyParticlesInShapeCallback(this,t,e,i),a=r;return t.ComputeAABB(a,e,0),this.m_world.QueryAABB(s,a),s.Destroyed()},n.prototype.CreateParticleGroup=function(t){var i=n.CreateParticleGroup_s_transform;if(this.m_world.IsLocked())throw new Error;var r=i;r.SetPositionAngle(e(t.position,V.ZERO),e(t.angle,0));var s=this.m_count;if(t.shape&&this.CreateParticlesWithShapeForGroup(t.shape,t,r),t.shapes&&this.CreateParticlesWithShapesForGroup(t.shapes,e(t.shapeCount,t.shapes.length),t,r),t.positionData)for(var a=e(t.particleCount,t.positionData.length),o=0;o<a;o++){var h=t.positionData[o];this.CreateParticleForGroup(t,r,h)}var l=this.m_count,c=new Tn(this);c.m_firstIndex=s,c.m_lastIndex=l,c.m_strength=e(t.strength,1),c.m_userData=t.userData,c.m_transform.Copy(r),c.m_prev=null,c.m_next=this.m_groupList,this.m_groupList&&(this.m_groupList.m_prev=c),this.m_groupList=c,++this.m_groupCount;for(o=s;o<l;o++)this.m_groupBuffer[o]=c;this.SetGroupFlags(c,e(t.groupFlags,0));var u=new n.ConnectionFilter;return this.UpdateContacts(!0),this.UpdatePairsAndTriads(s,l,u),t.group&&(this.JoinParticleGroups(t.group,c),c=t.group),c},n.prototype.JoinParticleGroups=function(t,e){if(this.m_world.IsLocked())throw new Error;this.RotateBuffer(e.m_firstIndex,e.m_lastIndex,this.m_count),this.RotateBuffer(t.m_firstIndex,t.m_lastIndex,e.m_firstIndex);var i=new n.JoinParticleGroupsFilter(e.m_firstIndex);this.UpdateContacts(!0),this.UpdatePairsAndTriads(t.m_firstIndex,e.m_lastIndex,i);for(var r=e.m_firstIndex;r<e.m_lastIndex;r++)this.m_groupBuffer[r]=t;var s=t.m_groupFlags|e.m_groupFlags;this.SetGroupFlags(t,s),t.m_lastIndex=e.m_lastIndex,e.m_firstIndex=e.m_lastIndex,this.DestroyParticleGroup(e)},n.prototype.SplitParticleGroup=function(t){this.UpdateContacts(!0);var e=v(t.GetParticleCount(),(function(t){return new n.ParticleListNode}));n.InitializeParticleLists(t,e),this.MergeParticleListsInContact(t,e);var i=n.FindLongestParticleList(t,e);this.MergeZombieParticleListNodes(t,e,i),this.CreateParticleGroupsFromParticleList(t,e,i),this.UpdatePairsAndTriadsWithParticleList(t,e)},n.prototype.GetParticleGroupList=function(){return this.m_groupList},n.prototype.GetParticleGroupCount=function(){return this.m_groupCount},n.prototype.GetParticleCount=function(){return this.m_count},n.prototype.GetMaxParticleCount=function(){return this.m_def.maxCount},n.prototype.SetMaxParticleCount=function(t){this.m_def.maxCount=t},n.prototype.GetAllParticleFlags=function(){return this.m_allParticleFlags},n.prototype.GetAllGroupFlags=function(){return this.m_allGroupFlags},n.prototype.SetPaused=function(t){this.m_paused=t},n.prototype.GetPaused=function(){return this.m_paused},n.prototype.SetDensity=function(t){this.m_def.density=t,this.m_inverseDensity=1/this.m_def.density},n.prototype.GetDensity=function(){return this.m_def.density},n.prototype.SetGravityScale=function(t){this.m_def.gravityScale=t},n.prototype.GetGravityScale=function(){return this.m_def.gravityScale},n.prototype.SetDamping=function(t){this.m_def.dampingStrength=t},n.prototype.GetDamping=function(){return this.m_def.dampingStrength},n.prototype.SetStaticPressureIterations=function(t){this.m_def.staticPressureIterations=t},n.prototype.GetStaticPressureIterations=function(){return this.m_def.staticPressureIterations},n.prototype.SetRadius=function(t){this.m_particleDiameter=2*t,this.m_squaredDiameter=this.m_particleDiameter*this.m_particleDiameter,this.m_inverseDiameter=1/this.m_particleDiameter},n.prototype.GetRadius=function(){return this.m_particleDiameter/2},n.prototype.GetPositionBuffer=function(){if(!this.m_positionBuffer.data)throw new Error;return this.m_positionBuffer.data},n.prototype.GetVelocityBuffer=function(){if(!this.m_velocityBuffer.data)throw new Error;return this.m_velocityBuffer.data},n.prototype.GetColorBuffer=function(){return this.m_colorBuffer.data=this.RequestBuffer(this.m_colorBuffer.data),this.m_colorBuffer.data},n.prototype.GetGroupBuffer=function(){return this.m_groupBuffer},n.prototype.GetWeightBuffer=function(){return this.m_weightBuffer},n.prototype.GetUserDataBuffer=function(){return this.m_userDataBuffer.data=this.RequestBuffer(this.m_userDataBuffer.data),this.m_userDataBuffer.data},n.prototype.GetFlagsBuffer=function(){if(!this.m_flagsBuffer.data)throw new Error;return this.m_flagsBuffer.data},n.prototype.SetParticleFlags=function(e,i){if(!this.m_flagsBuffer.data)throw new Error;this.m_flagsBuffer.data[e]&~i&&(this.m_needsUpdateAllParticleFlags=!0),~this.m_allParticleFlags&i&&(i&t.b2ParticleFlag.b2_tensileParticle&&(this.m_accumulation2Buffer=this.RequestBuffer(this.m_accumulation2Buffer)),i&t.b2ParticleFlag.b2_colorMixingParticle&&(this.m_colorBuffer.data=this.RequestBuffer(this.m_colorBuffer.data)),this.m_allParticleFlags|=i),this.m_flagsBuffer.data[e]=i},n.prototype.GetParticleFlags=function(t){if(!this.m_flagsBuffer.data)throw new Error;return this.m_flagsBuffer.data[t]},n.prototype.SetFlagsBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_flagsBuffer,t,e)},n.prototype.SetPositionBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_positionBuffer,t,e)},n.prototype.SetVelocityBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_velocityBuffer,t,e)},n.prototype.SetColorBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_colorBuffer,t,e)},n.prototype.SetUserDataBuffer=function(t,e){this.SetUserOverridableBuffer(this.m_userDataBuffer,t,e)},n.prototype.GetContacts=function(){return this.m_contactBuffer.data},n.prototype.GetContactCount=function(){return this.m_contactBuffer.count},n.prototype.GetBodyContacts=function(){return this.m_bodyContactBuffer.data},n.prototype.GetBodyContactCount=function(){return this.m_bodyContactBuffer.count},n.prototype.GetPairs=function(){return this.m_pairBuffer.data},n.prototype.GetPairCount=function(){return this.m_pairBuffer.count},n.prototype.GetTriads=function(){return this.m_triadBuffer.data},n.prototype.GetTriadCount=function(){return this.m_triadBuffer.count},n.prototype.SetStuckThreshold=function(t){this.m_stuckThreshold=t,t>0&&(this.m_lastBodyContactStepBuffer.data=this.RequestBuffer(this.m_lastBodyContactStepBuffer.data),this.m_bodyContactCountBuffer.data=this.RequestBuffer(this.m_bodyContactCountBuffer.data),this.m_consecutiveContactStepsBuffer.data=this.RequestBuffer(this.m_consecutiveContactStepsBuffer.data))},n.prototype.GetStuckCandidates=function(){return this.m_stuckParticleBuffer.Data()},n.prototype.GetStuckCandidateCount=function(){return this.m_stuckParticleBuffer.GetCount()},n.prototype.ComputeCollisionEnergy=function(){if(!this.m_velocityBuffer.data)throw new Error;for(var t=n.ComputeCollisionEnergy_s_v,e=this.m_velocityBuffer.data,i=0,r=0;r<this.m_contactBuffer.count;r++){var s=this.m_contactBuffer.data[r],a=s.indexA,o=s.indexB,h=s.normal,l=V.SubVV(e[o],e[a],t),c=V.DotVV(l,h);c<0&&(i+=c*c)}return.5*this.GetParticleMass()*i},n.prototype.SetStrictContactCheck=function(t){this.m_def.strictContactCheck=t},n.prototype.GetStrictContactCheck=function(){return this.m_def.strictContactCheck},n.prototype.SetParticleLifetime=function(t,e){var i=null===this.m_indexByExpirationTimeBuffer.data;if(this.m_expirationTimeBuffer.data=this.RequestBuffer(this.m_expirationTimeBuffer.data),this.m_indexByExpirationTimeBuffer.data=this.RequestBuffer(this.m_indexByExpirationTimeBuffer.data),i)for(var n=this.GetParticleCount(),r=0;r<n;++r)this.m_indexByExpirationTimeBuffer.data[r]=r;var s=e/this.m_def.lifetimeGranularity,a=s>0?this.GetQuantizedTimeElapsed()+s:s;a!==this.m_expirationTimeBuffer.data[t]&&(this.m_expirationTimeBuffer.data[t]=a,this.m_expirationTimeBufferRequiresSorting=!0)},n.prototype.GetParticleLifetime=function(t){return this.ExpirationTimeToLifetime(this.GetExpirationTimeBuffer()[t])},n.prototype.SetDestructionByAge=function(t){t&&this.GetExpirationTimeBuffer(),this.m_def.destroyByAge=t},n.prototype.GetDestructionByAge=function(){return this.m_def.destroyByAge},n.prototype.GetExpirationTimeBuffer=function(){return this.m_expirationTimeBuffer.data=this.RequestBuffer(this.m_expirationTimeBuffer.data),this.m_expirationTimeBuffer.data},n.prototype.ExpirationTimeToLifetime=function(t){return(t>0?t-this.GetQuantizedTimeElapsed():t)*this.m_def.lifetimeGranularity},n.prototype.GetIndexByExpirationTimeBuffer=function(){if(this.GetParticleCount()?this.SetParticleLifetime(0,this.GetParticleLifetime(0)):this.m_indexByExpirationTimeBuffer.data=this.RequestBuffer(this.m_indexByExpirationTimeBuffer.data),!this.m_indexByExpirationTimeBuffer.data)throw new Error;return this.m_indexByExpirationTimeBuffer.data},n.prototype.ParticleApplyLinearImpulse=function(t,e){this.ApplyLinearImpulse(t,t+1,e)},n.prototype.ApplyLinearImpulse=function(t,e,i){if(!this.m_velocityBuffer.data)throw new Error;for(var n=this.m_velocityBuffer.data,r=(e-t)*this.GetParticleMass(),s=(new V).Copy(i).SelfMul(1/r),a=t;a<e;a++)n[a].SelfAdd(s)},n.IsSignificantForce=function(t){return 0!==t.x||0!==t.y},n.prototype.ParticleApplyForce=function(t,e){if(!this.m_flagsBuffer.data)throw new Error;n.IsSignificantForce(e)&&this.ForceCanBeApplied(this.m_flagsBuffer.data[t])&&(this.PrepareForceBuffer(),this.m_forceBuffer[t].SelfAdd(e))},n.prototype.ApplyForce=function(t,e,i){var r=(new V).Copy(i).SelfMul(1/(e-t));if(n.IsSignificantForce(r)){this.PrepareForceBuffer();for(var s=t;s<e;s++)this.m_forceBuffer[s].SelfAdd(r)}},n.prototype.GetNext=function(){return this.m_next},n.prototype.QueryAABB=function(t,e){if(0!==this.m_proxyBuffer.count){var i=this.m_proxyBuffer.count,r=Rn(this.m_proxyBuffer.data,0,i,n.computeTag(this.m_inverseDiameter*e.lowerBound.x,this.m_inverseDiameter*e.lowerBound.y),n.Proxy.CompareProxyTag),s=On(this.m_proxyBuffer.data,r,i,n.computeTag(this.m_inverseDiameter*e.upperBound.x,this.m_inverseDiameter*e.upperBound.y),n.Proxy.CompareTagProxy);if(!this.m_positionBuffer.data)throw new Error;for(var a=this.m_positionBuffer.data,o=r;o<s;++o){var h=this.m_proxyBuffer.data[o].index,l=a[h];if(e.lowerBound.x<l.x&&l.x<e.upperBound.x&&e.lowerBound.y<l.y&&l.y<e.upperBound.y&&!t.ReportParticle(this,h))break}}},n.prototype.QueryShapeAABB=function(t,e,i,r){void 0===r&&(r=0);var s=n.QueryShapeAABB_s_aabb;e.ComputeAABB(s,i,r),this.QueryAABB(t,s)},n.prototype.QueryPointAABB=function(t,e,i){void 0===i&&(i=h);var r=n.QueryPointAABB_s_aabb;r.lowerBound.Set(e.x-i,e.y-i),r.upperBound.Set(e.x+i,e.y+i),this.QueryAABB(t,r)},n.prototype.RayCast=function(t,e,i){var r=n.RayCast_s_aabb,s=n.RayCast_s_p,a=n.RayCast_s_v,o=n.RayCast_s_n,h=n.RayCast_s_point;if(0!==this.m_proxyBuffer.count){if(!this.m_positionBuffer.data)throw new Error;var l=this.m_positionBuffer.data,c=r;V.MinV(e,i,c.lowerBound),V.MaxV(e,i,c.upperBound);for(var u,_=1,f=V.SubVV(i,e,a),m=V.DotVV(f,f),d=this.GetInsideBoundsEnumerator(c);(u=d.GetNext())>=0;){var p=V.SubVV(e,l[u],s),y=V.DotVV(p,f),v=y*y-m*(V.DotVV(p,p)-this.m_squaredDiameter);if(v>=0){var g=B(v),x=(-y-g)/m;if(x>_)continue;if(x<0&&((x=(-y+g)/m)<0||x>_))continue;var A=V.AddVMulSV(p,x,f,o);A.Normalize();var b=t.ReportParticle(this,u,V.AddVMulSV(e,x,f,h),A,x);if((_=S(_,b))<=0)break}}}},n.prototype.ComputeAABB=function(t){var e=this.GetParticleCount();if(t.lowerBound.x=+i,t.lowerBound.y=+i,t.upperBound.x=-i,t.upperBound.y=-i,!this.m_positionBuffer.data)throw new Error;for(var n=this.m_positionBuffer.data,r=0;r<e;r++){var s=n[r];V.MinV(t.lowerBound,s,t.lowerBound),V.MaxV(t.upperBound,s,t.upperBound)}t.lowerBound.x-=this.m_particleDiameter,t.lowerBound.y-=this.m_particleDiameter,t.upperBound.x+=this.m_particleDiameter,t.upperBound.y+=this.m_particleDiameter},n.prototype.FreeBuffer=function(t,e){null!==t&&(t.length=0)},n.prototype.FreeUserOverridableBuffer=function(t){0===t.userSuppliedCapacity&&this.FreeBuffer(t.data,this.m_internalAllocatedCapacity)},n.prototype.ReallocateBuffer3=function(t,e,i){if(i<=e)throw new Error;var n=t?t.slice():[];return n.length=i,n},n.prototype.ReallocateBuffer5=function(t,e,i,n,r){if(n<=i)throw new Error;if(e&&!(n<=e))throw new Error;return r&&!t||e||(t=this.ReallocateBuffer3(t,i,n)),t},n.prototype.ReallocateBuffer4=function(t,e,i,n){return this.ReallocateBuffer5(t.data,t.userSuppliedCapacity,e,i,n)},n.prototype.RequestBuffer=function(t){return t||(0===this.m_internalAllocatedCapacity&&this.ReallocateInternalAllocatedBuffers(256),(t=[]).length=this.m_internalAllocatedCapacity),t},n.prototype.ReallocateHandleBuffers=function(t){this.m_handleIndexBuffer.data=this.ReallocateBuffer4(this.m_handleIndexBuffer,this.m_internalAllocatedCapacity,t,!0)},n.prototype.ReallocateInternalAllocatedBuffers=function(t){function e(t,e){return e&&t>e?e:t}if(t=e(t=e(t=e(t=e(t=e(t=e(t,this.m_def.maxCount),this.m_flagsBuffer.userSuppliedCapacity),this.m_positionBuffer.userSuppliedCapacity),this.m_velocityBuffer.userSuppliedCapacity),this.m_colorBuffer.userSuppliedCapacity),this.m_userDataBuffer.userSuppliedCapacity),this.m_internalAllocatedCapacity<t){this.ReallocateHandleBuffers(t),this.m_flagsBuffer.data=this.ReallocateBuffer4(this.m_flagsBuffer,this.m_internalAllocatedCapacity,t,!1);var i=this.m_stuckThreshold>0;this.m_lastBodyContactStepBuffer.data=this.ReallocateBuffer4(this.m_lastBodyContactStepBuffer,this.m_internalAllocatedCapacity,t,i),this.m_bodyContactCountBuffer.data=this.ReallocateBuffer4(this.m_bodyContactCountBuffer,this.m_internalAllocatedCapacity,t,i),this.m_consecutiveContactStepsBuffer.data=this.ReallocateBuffer4(this.m_consecutiveContactStepsBuffer,this.m_internalAllocatedCapacity,t,i),this.m_positionBuffer.data=this.ReallocateBuffer4(this.m_positionBuffer,this.m_internalAllocatedCapacity,t,!1),this.m_velocityBuffer.data=this.ReallocateBuffer4(this.m_velocityBuffer,this.m_internalAllocatedCapacity,t,!1),this.m_forceBuffer=this.ReallocateBuffer5(this.m_forceBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_weightBuffer=this.ReallocateBuffer5(this.m_weightBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_staticPressureBuffer=this.ReallocateBuffer5(this.m_staticPressureBuffer,0,this.m_internalAllocatedCapacity,t,!0),this.m_accumulationBuffer=this.ReallocateBuffer5(this.m_accumulationBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_accumulation2Buffer=this.ReallocateBuffer5(this.m_accumulation2Buffer,0,this.m_internalAllocatedCapacity,t,!0),this.m_depthBuffer=this.ReallocateBuffer5(this.m_depthBuffer,0,this.m_internalAllocatedCapacity,t,!0),this.m_colorBuffer.data=this.ReallocateBuffer4(this.m_colorBuffer,this.m_internalAllocatedCapacity,t,!0),this.m_groupBuffer=this.ReallocateBuffer5(this.m_groupBuffer,0,this.m_internalAllocatedCapacity,t,!1),this.m_userDataBuffer.data=this.ReallocateBuffer4(this.m_userDataBuffer,this.m_internalAllocatedCapacity,t,!0),this.m_expirationTimeBuffer.data=this.ReallocateBuffer4(this.m_expirationTimeBuffer,this.m_internalAllocatedCapacity,t,!0),this.m_indexByExpirationTimeBuffer.data=this.ReallocateBuffer4(this.m_indexByExpirationTimeBuffer,this.m_internalAllocatedCapacity,t,!1),this.m_internalAllocatedCapacity=t}},n.prototype.CreateParticleForGroup=function(t,i,n){var r=new An;r.flags=e(t.flags,0),j.MulXV(i,n,r.position),V.AddVV(e(t.linearVelocity,V.ZERO),V.CrossSV(e(t.angularVelocity,0),V.SubVV(r.position,e(t.position,V.ZERO),V.s_t0),V.s_t0),r.velocity),r.color.Copy(e(t.color,H.ZERO)),r.lifetime=e(t.lifetime,0),r.userData=t.userData,this.CreateParticle(r)},n.prototype.CreateParticlesStrokeShapeForGroup=function(i,r,s){var a=n.CreateParticlesStrokeShapeForGroup_s_edge,o=n.CreateParticlesStrokeShapeForGroup_s_d,h=n.CreateParticlesStrokeShapeForGroup_s_p,l=e(r.stride,0);0===l&&(l=this.GetParticleStride());for(var c=0,u=i.GetChildCount(),_=0;_<u;_++){var f=null;i.GetType()===t.b2ShapeType.e_edgeShape?f=i:(f=a,i.GetChildEdge(f,_));for(var m=V.SubVV(f.m_vertex2,f.m_vertex1,o),d=m.Length();c<d;){var p=V.AddVMulSV(f.m_vertex1,c/d,m,h);this.CreateParticleForGroup(r,s,p),c+=l}c-=d}},n.prototype.CreateParticlesFillShapeForGroup=function(t,i,r){var s=n.CreateParticlesFillShapeForGroup_s_aabb,a=n.CreateParticlesFillShapeForGroup_s_p,o=e(i.stride,0);0===o&&(o=this.GetParticleStride());var h=j.IDENTITY,l=s;t.ComputeAABB(l,h,0);for(var c=Math.floor(l.lowerBound.y/o)*o;c<l.upperBound.y;c+=o)for(var u=Math.floor(l.lowerBound.x/o)*o;u<l.upperBound.x;u+=o){var _=a.Set(u,c);t.TestPoint(h,_)&&this.CreateParticleForGroup(i,r,_)}},n.prototype.CreateParticlesWithShapeForGroup=function(e,i,n){switch(e.GetType()){case t.b2ShapeType.e_edgeShape:case t.b2ShapeType.e_chainShape:this.CreateParticlesStrokeShapeForGroup(e,i,n);break;case t.b2ShapeType.e_polygonShape:case t.b2ShapeType.e_circleShape:this.CreateParticlesFillShapeForGroup(e,i,n)}},n.prototype.CreateParticlesWithShapesForGroup=function(t,e,i,r){var s=new n.CompositeShape(t,e);this.CreateParticlesFillShapeForGroup(s,i,r)},n.prototype.CloneParticle=function(t,e){var i=new An;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;i.flags=this.m_flagsBuffer.data[t],i.position.Copy(this.m_positionBuffer.data[t]),i.velocity.Copy(this.m_velocityBuffer.data[t]),this.m_colorBuffer.data&&i.color.Copy(this.m_colorBuffer.data[t]),this.m_userDataBuffer.data&&(i.userData=this.m_userDataBuffer.data[t]),i.group=e;var n=this.CreateParticle(i);if(this.m_handleIndexBuffer.data){var r=this.m_handleIndexBuffer.data[t];r&&r.SetIndex(n),this.m_handleIndexBuffer.data[n]=r,this.m_handleIndexBuffer.data[t]=null}return this.m_lastBodyContactStepBuffer.data&&(this.m_lastBodyContactStepBuffer.data[n]=this.m_lastBodyContactStepBuffer.data[t]),this.m_bodyContactCountBuffer.data&&(this.m_bodyContactCountBuffer.data[n]=this.m_bodyContactCountBuffer.data[t]),this.m_consecutiveContactStepsBuffer.data&&(this.m_consecutiveContactStepsBuffer.data[n]=this.m_consecutiveContactStepsBuffer.data[t]),this.m_hasForce&&this.m_forceBuffer[n].Copy(this.m_forceBuffer[t]),this.m_staticPressureBuffer&&(this.m_staticPressureBuffer[n]=this.m_staticPressureBuffer[t]),this.m_depthBuffer&&(this.m_depthBuffer[n]=this.m_depthBuffer[t]),this.m_expirationTimeBuffer.data&&(this.m_expirationTimeBuffer.data[n]=this.m_expirationTimeBuffer.data[t]),n},n.prototype.DestroyParticlesInGroup=function(t,e){void 0===e&&(e=!1);for(var i=t.m_firstIndex;i<t.m_lastIndex;i++)this.DestroyParticle(i,e)},n.prototype.DestroyParticleGroup=function(t){this.m_world.m_destructionListener&&this.m_world.m_destructionListener.SayGoodbyeParticleGroup(t),this.SetGroupFlags(t,0);for(var e=t.m_firstIndex;e<t.m_lastIndex;e++)this.m_groupBuffer[e]=null;t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_groupList&&(this.m_groupList=t.m_next),--this.m_groupCount},n.ParticleCanBeConnected=function(e,i){return 0!=(e&(t.b2ParticleFlag.b2_wallParticle|t.b2ParticleFlag.b2_springParticle|t.b2ParticleFlag.b2_elasticParticle))||null!==i&&0!=(i.GetGroupFlags()&t.b2ParticleGroupFlag.b2_rigidParticleGroup)},n.prototype.UpdatePairsAndTriads=function(e,i,r){var s=n.UpdatePairsAndTriads_s_dab,a=n.UpdatePairsAndTriads_s_dbc,o=n.UpdatePairsAndTriads_s_dca;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var h=this.m_positionBuffer.data,l=0,c=e;c<i;c++)l|=this.m_flagsBuffer.data[c];if(l&n.k_pairFlags)for(var u=0;u<this.m_contactBuffer.count;u++){var _=this.m_contactBuffer.data[u],f=_.indexA,m=_.indexB,d=this.m_flagsBuffer.data[f],p=this.m_flagsBuffer.data[m],y=this.m_groupBuffer[f],v=this.m_groupBuffer[m];if(f>=e&&f<i&&m>=e&&m<i&&!((d|p)&t.b2ParticleFlag.b2_zombieParticle)&&(d|p)&n.k_pairFlags&&(r.IsNecessary(f)||r.IsNecessary(m))&&n.ParticleCanBeConnected(d,y)&&n.ParticleCanBeConnected(p,v)&&r.ShouldCreatePair(f,m)){var g=this.m_pairBuffer.data[this.m_pairBuffer.Append()];g.indexA=f,g.indexB=m,g.flags=_.flags,g.strength=S(y?y.m_strength:1,v?v.m_strength:1),g.distance=V.DistanceVV(h[f],h[m])}Pn(this.m_pairBuffer.data,0,this.m_pairBuffer.count,n.ComparePairIndices),this.m_pairBuffer.Unique(n.MatchPairIndices)}if(l&n.k_triadFlags){var x=new En(i-e);for(c=e;c<i;c++){var A=this.m_flagsBuffer.data[c],b=this.m_groupBuffer[c];A&t.b2ParticleFlag.b2_zombieParticle||!n.ParticleCanBeConnected(A,b)||x.AddGenerator(h[c],c,r.IsNecessary(c))}var C=this.GetParticleStride();x.Generate(C/2,2*C);var T=this;x.GetNodes((function(t,e,i){if(!T.m_flagsBuffer.data)throw new Error;var l=T.m_flagsBuffer.data[t],c=T.m_flagsBuffer.data[e],u=T.m_flagsBuffer.data[i];if((l|c|u)&n.k_triadFlags&&r.ShouldCreateTriad(t,e,i)){var _=h[t],f=h[e],m=h[i],d=V.SubVV(_,f,s),p=V.SubVV(f,m,a),y=V.SubVV(m,_,o),v=4*T.m_squaredDiameter;if(V.DotVV(d,d)>v||V.DotVV(p,p)>v||V.DotVV(y,y)>v)return;var g=T.m_groupBuffer[t],x=T.m_groupBuffer[e],A=T.m_groupBuffer[i],b=T.m_triadBuffer.data[T.m_triadBuffer.Append()];b.indexA=t,b.indexB=e,b.indexC=i,b.flags=l|c|u,b.strength=S(S(g?g.m_strength:1,x?x.m_strength:1),A?A.m_strength:1);var C=(_.x+f.x+m.x)/3,w=(_.y+f.y+m.y)/3;b.pa.x=_.x-C,b.pa.y=_.y-w,b.pb.x=f.x-C,b.pb.y=f.y-w,b.pc.x=m.x-C,b.pc.y=m.y-w,b.ka=-V.DotVV(y,d),b.kb=-V.DotVV(d,p),b.kc=-V.DotVV(p,y),b.s=V.CrossVV(_,f)+V.CrossVV(f,m)+V.CrossVV(m,_)}})),Pn(this.m_triadBuffer.data,0,this.m_triadBuffer.count,n.CompareTriadIndices),this.m_triadBuffer.Unique(n.MatchTriadIndices)}},n.prototype.UpdatePairsAndTriadsWithReactiveParticles=function(){var e=new n.ReactiveFilter(this.m_flagsBuffer);if(this.UpdatePairsAndTriads(0,this.m_count,e),!this.m_flagsBuffer.data)throw new Error;for(var i=0;i<this.m_count;i++)this.m_flagsBuffer.data[i]&=~t.b2ParticleFlag.b2_reactiveParticle;this.m_allParticleFlags&=~t.b2ParticleFlag.b2_reactiveParticle},n.ComparePairIndices=function(t,e){var i=t.indexA-e.indexA;return 0!==i?i<0:t.indexB<e.indexB},n.MatchPairIndices=function(t,e){return t.indexA===e.indexA&&t.indexB===e.indexB},n.CompareTriadIndices=function(t,e){var i=t.indexA-e.indexA;if(0!==i)return i<0;var n=t.indexB-e.indexB;return 0!==n?n<0:t.indexC<e.indexC},n.MatchTriadIndices=function(t,e){return t.indexA===e.indexA&&t.indexB===e.indexB&&t.indexC===e.indexC},n.InitializeParticleLists=function(t,e){for(var i=t.GetBufferIndex(),n=t.GetParticleCount(),r=0;r<n;r++){var s=e[r];s.list=s,s.next=null,s.count=1,s.index=r+i}},n.prototype.MergeParticleListsInContact=function(t,e){for(var i=t.GetBufferIndex(),r=0;r<this.m_contactBuffer.count;r++){var s=this.m_contactBuffer.data[r],a=s.indexA,o=s.indexB;if(t.ContainsParticle(a)&&t.ContainsParticle(o)){var h=e[a-i].list,l=e[o-i].list;if(h!==l){if(h.count<l.count){var c=h;h=l,l=c}n.MergeParticleLists(h,l)}}}},n.MergeParticleLists=function(t,e){for(var i=e;;){i.list=t;var n=i.next;if(!n){i.next=t.next;break}i=n}t.next=e,t.count+=e.count,e.count=0},n.FindLongestParticleList=function(t,e){for(var i=t.GetParticleCount(),n=e[0],r=0;r<i;r++){var s=e[r];n.count<s.count&&(n=s)}return n},n.prototype.MergeZombieParticleListNodes=function(e,i,r){if(!this.m_flagsBuffer.data)throw new Error;for(var s=e.GetParticleCount(),a=0;a<s;a++){var o=i[a];o!==r&&this.m_flagsBuffer.data[o.index]&t.b2ParticleFlag.b2_zombieParticle&&n.MergeParticleListAndNode(r,o)}},n.MergeParticleListAndNode=function(t,e){e.list=t,e.next=t.next,t.next=e,t.count++,e.count=0},n.prototype.CreateParticleGroupsFromParticleList=function(e,i,n){if(!this.m_flagsBuffer.data)throw new Error;var r=e.GetParticleCount(),s=new Sn;s.groupFlags=e.GetGroupFlags(),s.userData=e.GetUserData();for(var a=0;a<r;a++){var o=i[a];if(o.count&&o!==n)for(var h=this.CreateParticleGroup(s),l=o;l;l=l.next){var c=l.index,u=this.CloneParticle(c,h);this.m_flagsBuffer.data[c]|=t.b2ParticleFlag.b2_zombieParticle,l.index=u}}},n.prototype.UpdatePairsAndTriadsWithParticleList=function(t,e){for(var i=t.GetBufferIndex(),n=0;n<this.m_pairBuffer.count;n++){var r=this.m_pairBuffer.data[n],s=r.indexA,a=r.indexB;t.ContainsParticle(s)&&(r.indexA=e[s-i].index),t.ContainsParticle(a)&&(r.indexB=e[a-i].index)}for(n=0;n<this.m_triadBuffer.count;n++){var o=this.m_triadBuffer.data[n],h=(s=o.indexA,a=o.indexB,o.indexC);t.ContainsParticle(s)&&(o.indexA=e[s-i].index),t.ContainsParticle(a)&&(o.indexB=e[a-i].index),t.ContainsParticle(h)&&(o.indexC=e[h-i].index)}},n.prototype.ComputeDepth=function(){for(var e=[],n=0,r=0;r<this.m_contactBuffer.count;r++){var s=(v=this.m_contactBuffer.data[r]).indexA,a=v.indexB,o=this.m_groupBuffer[s],h=this.m_groupBuffer[a];o&&o===h&&o.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth&&(e[n++]=v)}for(var l=[],c=0,u=this.m_groupList;u;u=u.GetNext())if(u.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth){l[c++]=u,this.SetGroupFlags(u,u.m_groupFlags&~t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth);for(var _=u.m_firstIndex;_<u.m_lastIndex;_++)this.m_accumulationBuffer[_]=0}for(r=0;r<n;r++){s=(v=e[r]).indexA,a=v.indexB;var f=v.weight;this.m_accumulationBuffer[s]+=f,this.m_accumulationBuffer[a]+=f}for(_=0;_<c;_++)for(var m=(u=l[_]).m_firstIndex;m<u.m_lastIndex;m++){f=this.m_accumulationBuffer[m];this.m_depthBuffer[m]=f<.8?0:i}for(var d=B(this.m_count)>>0,p=0;p<d;p++){var y=!1;for(r=0;r<n;r++){s=(v=e[r]).indexA,a=v.indexB;var v,g=1-v.weight,x=this.m_depthBuffer[s],A=this.m_depthBuffer[a],b=A+g,C=x+g;x>b&&(this.m_depthBuffer[s]=b,y=!0),A>C&&(this.m_depthBuffer[a]=C,y=!0)}if(!y)break}for(_=0;_<c;_++)for(var S=(u=l[_]).m_firstIndex;S<u.m_lastIndex;S++)this.m_depthBuffer[S]<i?this.m_depthBuffer[S]*=this.m_particleDiameter:this.m_depthBuffer[S]=0},n.prototype.GetInsideBoundsEnumerator=function(t){var e=n.computeTag(this.m_inverseDiameter*t.lowerBound.x-1,this.m_inverseDiameter*t.lowerBound.y-1),i=n.computeTag(this.m_inverseDiameter*t.upperBound.x+1,this.m_inverseDiameter*t.upperBound.y+1),r=this.m_proxyBuffer.count,s=Rn(this.m_proxyBuffer.data,0,r,e,n.Proxy.CompareProxyTag),a=On(this.m_proxyBuffer.data,0,r,i,n.Proxy.CompareTagProxy);return new n.InsideBoundsEnumerator(this,e,i,s,a)},n.prototype.UpdateAllParticleFlags=function(){if(!this.m_flagsBuffer.data)throw new Error;this.m_allParticleFlags=0;for(var t=0;t<this.m_count;t++)this.m_allParticleFlags|=this.m_flagsBuffer.data[t];this.m_needsUpdateAllParticleFlags=!1},n.prototype.UpdateAllGroupFlags=function(){this.m_allGroupFlags=0;for(var t=this.m_groupList;t;t=t.GetNext())this.m_allGroupFlags|=t.m_groupFlags;this.m_needsUpdateAllGroupFlags=!1},n.prototype.AddContact=function(t,e,i){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;var r=n.AddContact_s_d,s=this.m_positionBuffer.data,a=V.SubVV(s[e],s[t],r),o=V.DotVV(a,a);if(o<this.m_squaredDiameter){var h=M(o);isFinite(h)||(h=198177537e11);var l=this.m_contactBuffer.data[this.m_contactBuffer.Append()];l.indexA=t,l.indexB=e,l.flags=this.m_flagsBuffer.data[t]|this.m_flagsBuffer.data[e],l.weight=1-o*h*this.m_inverseDiameter,V.MulSV(h,a,l.normal)}},n.prototype.FindContacts_Reference=function(t){var e=this.m_proxyBuffer.count;this.m_contactBuffer.count=0;for(var i=0,r=0;i<e;i++){for(var s=n.computeRelativeTag(this.m_proxyBuffer.data[i].tag,1,0),a=i+1;a<e&&!(s<this.m_proxyBuffer.data[a].tag);a++)this.AddContact(this.m_proxyBuffer.data[i].index,this.m_proxyBuffer.data[a].index,this.m_contactBuffer);for(var o=n.computeRelativeTag(this.m_proxyBuffer.data[i].tag,-1,1);r<e&&!(o<=this.m_proxyBuffer.data[r].tag);r++);var h=n.computeRelativeTag(this.m_proxyBuffer.data[i].tag,1,1);for(a=r;a<e&&!(h<this.m_proxyBuffer.data[a].tag);a++)this.AddContact(this.m_proxyBuffer.data[i].index,this.m_proxyBuffer.data[a].index,this.m_contactBuffer)}},n.prototype.FindContacts=function(t){this.FindContacts_Reference(t)},n.prototype.UpdateProxies_Reference=function(t){if(!this.m_positionBuffer.data)throw new Error;for(var e=this.m_positionBuffer.data,i=this.m_inverseDiameter,r=0;r<this.m_proxyBuffer.count;++r){var s=this.m_proxyBuffer.data[r],a=e[s.index];s.tag=n.computeTag(i*a.x,i*a.y)}},n.prototype.UpdateProxies=function(t){this.UpdateProxies_Reference(t)},n.prototype.SortProxies=function(t){Bn(this.m_proxyBuffer.data,0,this.m_proxyBuffer.count,n.Proxy.CompareProxyProxy)},n.prototype.FilterContacts=function(e){var i=this.GetParticleContactFilter();if(null!==i){var n=this;this.m_contactBuffer.RemoveIf((function(e){return 0!=(e.flags&t.b2ParticleFlag.b2_particleContactFilterParticle)&&!i.ShouldCollideParticleParticle(n,e.indexA,e.indexB)}))}},n.prototype.NotifyContactListenerPreContact=function(t){if(null!==this.GetParticleContactListener())throw t.Initialize(this.m_contactBuffer,this.m_flagsBuffer),new Error},n.prototype.NotifyContactListenerPostContact=function(t){var e=this.GetParticleContactListener();if(null!==e){for(var i=0;i<this.m_contactBuffer.count;++i){var n=this.m_contactBuffer.data[i];e.BeginContactParticleParticle(this,n)}throw new Error}},n.b2ParticleContactIsZombie=function(e){return(e.flags&t.b2ParticleFlag.b2_zombieParticle)===t.b2ParticleFlag.b2_zombieParticle},n.prototype.UpdateContacts=function(t){this.UpdateProxies(this.m_proxyBuffer),this.SortProxies(this.m_proxyBuffer);var e=new n.b2ParticlePairSet;this.NotifyContactListenerPreContact(e),this.FindContacts(this.m_contactBuffer),this.FilterContacts(this.m_contactBuffer),this.NotifyContactListenerPostContact(e),t&&this.m_contactBuffer.RemoveIf(n.b2ParticleContactIsZombie)},n.prototype.NotifyBodyContactListenerPreContact=function(t){if(null!==this.GetFixtureContactListener())throw t.Initialize(this.m_bodyContactBuffer,this.m_flagsBuffer),new Error},n.prototype.NotifyBodyContactListenerPostContact=function(t){var e=this.GetFixtureContactListener();if(null!==e){for(var i=0;i<this.m_bodyContactBuffer.count;i++){var n=this.m_bodyContactBuffer.data[i];e.BeginContactFixtureParticle(this,n)}throw new Error}},n.prototype.UpdateBodyContacts=function(){var t=n.UpdateBodyContacts_s_aabb,e=new n.FixtureParticleSet;if(this.NotifyBodyContactListenerPreContact(e),this.m_stuckThreshold>0){if(!this.m_bodyContactCountBuffer.data)throw new Error;if(!this.m_lastBodyContactStepBuffer.data)throw new Error;if(!this.m_consecutiveContactStepsBuffer.data)throw new Error;for(var i=this.GetParticleCount(),r=0;r<i;r++)this.m_bodyContactCountBuffer.data[r]=0,this.m_timestamp>this.m_lastBodyContactStepBuffer.data[r]+1&&(this.m_consecutiveContactStepsBuffer.data[r]=0)}this.m_bodyContactBuffer.SetCount(0),this.m_stuckParticleBuffer.SetCount(0);var s=t;this.ComputeAABB(s);var a=new n.UpdateBodyContactsCallback(this,this.GetFixtureContactFilter());this.m_world.QueryAABB(a,s),this.m_def.strictContactCheck&&this.RemoveSpuriousBodyContacts(),this.NotifyBodyContactListenerPostContact(e)},n.prototype.Solve=function(e){var i=n.Solve_s_subStep;if(0!==this.m_count&&(this.m_expirationTimeBuffer.data&&this.SolveLifetimes(e),this.m_allParticleFlags&t.b2ParticleFlag.b2_zombieParticle&&this.SolveZombie(),this.m_needsUpdateAllParticleFlags&&this.UpdateAllParticleFlags(),this.m_needsUpdateAllGroupFlags&&this.UpdateAllGroupFlags(),!this.m_paused))for(this.m_iterationIndex=0;this.m_iterationIndex<e.particleIterations;this.m_iterationIndex++){++this.m_timestamp;var r=i.Copy(e);if(r.dt/=e.particleIterations,r.inv_dt*=e.particleIterations,this.UpdateContacts(!1),this.UpdateBodyContacts(),this.ComputeWeight(),this.m_allGroupFlags&t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth&&this.ComputeDepth(),this.m_allParticleFlags&t.b2ParticleFlag.b2_reactiveParticle&&this.UpdatePairsAndTriadsWithReactiveParticles(),this.m_hasForce&&this.SolveForce(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_viscousParticle&&this.SolveViscous(),this.m_allParticleFlags&t.b2ParticleFlag.b2_repulsiveParticle&&this.SolveRepulsive(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_powderParticle&&this.SolvePowder(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_tensileParticle&&this.SolveTensile(r),this.m_allGroupFlags&t.b2ParticleGroupFlag.b2_solidParticleGroup&&this.SolveSolid(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_colorMixingParticle&&this.SolveColorMixing(),this.SolveGravity(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_staticPressureParticle&&this.SolveStaticPressure(r),this.SolvePressure(r),this.SolveDamping(r),this.m_allParticleFlags&n.k_extraDampingFlags&&this.SolveExtraDamping(),this.m_allParticleFlags&t.b2ParticleFlag.b2_elasticParticle&&this.SolveElastic(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_springParticle&&this.SolveSpring(r),this.LimitVelocity(r),this.m_allGroupFlags&t.b2ParticleGroupFlag.b2_rigidParticleGroup&&this.SolveRigidDamping(),this.m_allParticleFlags&t.b2ParticleFlag.b2_barrierParticle&&this.SolveBarrier(r),this.SolveCollision(r),this.m_allGroupFlags&t.b2ParticleGroupFlag.b2_rigidParticleGroup&&this.SolveRigid(r),this.m_allParticleFlags&t.b2ParticleFlag.b2_wallParticle&&this.SolveWall(),!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var s=0;s<this.m_count;s++)this.m_positionBuffer.data[s].SelfMulAdd(r.dt,this.m_velocityBuffer.data[s])}},n.prototype.SolveCollision=function(t){var e=n.SolveCollision_s_aabb;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,a=e;a.lowerBound.x=+i,a.lowerBound.y=+i,a.upperBound.x=-i,a.upperBound.y=-i;for(var o=0;o<this.m_count;o++){var h=s[o],l=r[o],c=l.x+t.dt*h.x,u=l.y+t.dt*h.y;a.lowerBound.x=S(a.lowerBound.x,S(l.x,c)),a.lowerBound.y=S(a.lowerBound.y,S(l.y,u)),a.upperBound.x=T(a.upperBound.x,T(l.x,c)),a.upperBound.y=T(a.upperBound.y,T(l.y,u))}var _=new n.SolveCollisionCallback(this,t);this.m_world.QueryAABB(_,a)},n.prototype.LimitVelocity=function(t){if(!this.m_velocityBuffer.data)throw new Error;for(var e=this.m_velocityBuffer.data,i=this.GetCriticalVelocitySquared(t),n=0;n<this.m_count;n++){var r=e[n],s=V.DotVV(r,r);s>i&&r.SelfMul(B(i/s))}},n.prototype.SolveGravity=function(t){if(!this.m_velocityBuffer.data)throw new Error;for(var e=n.SolveGravity_s_gravity,i=this.m_velocityBuffer.data,r=V.MulSV(t.dt*this.m_def.gravityScale,this.m_world.GetGravity(),e),s=0;s<this.m_count;s++)i[s].SelfAdd(r)},n.prototype.SolveBarrier=function(e){var i=n.SolveBarrier_s_aabb,r=n.SolveBarrier_s_va,s=n.SolveBarrier_s_vb,a=n.SolveBarrier_s_pba,o=n.SolveBarrier_s_vba,h=n.SolveBarrier_s_vc,l=n.SolveBarrier_s_pca,c=n.SolveBarrier_s_vca,u=n.SolveBarrier_s_qba,_=n.SolveBarrier_s_qca,f=n.SolveBarrier_s_dv,m=n.SolveBarrier_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var d=this.m_positionBuffer.data,p=this.m_velocityBuffer.data,y=0;y<this.m_count;y++){0!=(this.m_flagsBuffer.data[y]&n.k_barrierWallFlags)&&p[y].SetZero()}for(var v=2.5*e.dt,g=this.GetParticleMass(),x=0;x<this.m_pairBuffer.count;x++){var A=this.m_pairBuffer.data[x];if(A.flags&t.b2ParticleFlag.b2_barrierParticle){var b=A.indexA,C=A.indexB,S=d[b],T=d[C],w=i;V.MinV(S,T,w.lowerBound),V.MaxV(S,T,w.upperBound);for(var E=this.m_groupBuffer[b],D=this.m_groupBuffer[C],M=this.GetLinearVelocity(E,b,S,r),P=this.GetLinearVelocity(D,C,T,s),I=V.SubVV(T,S,a),R=V.SubVV(P,M,o),O=this.GetInsideBoundsEnumerator(w),L=void 0;(L=O.GetNext())>=0;){var F=d[L],N=this.m_groupBuffer[L];if(E!==N&&D!==N){var k=this.GetLinearVelocity(N,L,F,h),G=V.SubVV(F,S,l),z=V.SubVV(k,M,c),U=V.CrossVV(R,z),j=V.CrossVV(I,z)-V.CrossVV(G,R),W=V.CrossVV(I,G),H=void 0,X=void 0,Y=u,q=_;if(0===U){if(0===j)continue;if(!((X=-W/j)>=0&&X<v))continue;if(V.AddVMulSV(I,X,R,Y),V.AddVMulSV(G,X,z,q),!((H=V.DotVV(Y,q)/V.DotVV(Y,Y))>=0&&H<=1))continue}else{var J=j*j-4*W*U;if(J<0)continue;var Z=B(J),K=(-j-Z)/(2*U),Q=(-j+Z)/(2*U);if(K>Q){var $=K;K=Q,Q=$}if(X=K,V.AddVMulSV(I,X,R,Y),V.AddVMulSV(G,X,z,q),H=V.DotVV(Y,q)/V.DotVV(Y,Y),!(X>=0&&X<v&&H>=0&&H<=1)){if(!((X=Q)>=0&&X<v))continue;if(V.AddVMulSV(I,X,R,Y),V.AddVMulSV(G,X,z,q),!((H=V.DotVV(Y,q)/V.DotVV(Y,Y))>=0&&H<=1))continue}}var tt=f;tt.x=M.x+H*R.x-k.x,tt.y=M.y+H*R.y-k.y;var et=V.MulSV(g,tt,m);if(N&&this.IsRigidGroup(N)){var it=N.GetMass(),nt=N.GetInertia();it>0&&N.m_linearVelocity.SelfMulAdd(1/it,et),nt>0&&(N.m_angularVelocity+=V.CrossVV(V.SubVV(F,N.GetCenter(),V.s_t0),et)/nt)}else p[L].SelfAdd(tt);this.ParticleApplyForce(L,et.SelfMul(-e.inv_dt))}}}}},n.prototype.SolveStaticPressure=function(e){if(!this.m_flagsBuffer.data)throw new Error;this.m_staticPressureBuffer=this.RequestBuffer(this.m_staticPressureBuffer);for(var i=this.GetCriticalPressure(e),n=this.m_def.staticPressureStrength*i,r=.25*i,s=this.m_def.staticPressureRelaxation,a=0;a<this.m_def.staticPressureIterations;a++){for(var o=0;o<this.m_count;o++)this.m_accumulationBuffer[o]=0;for(var h=0;h<this.m_contactBuffer.count;h++){var l=this.m_contactBuffer.data[h];if(l.flags&t.b2ParticleFlag.b2_staticPressureParticle){var c=l.indexA,u=l.indexB,_=l.weight;this.m_accumulationBuffer[c]+=_*this.m_staticPressureBuffer[u],this.m_accumulationBuffer[u]+=_*this.m_staticPressureBuffer[c]}}for(o=0;o<this.m_count;o++){_=this.m_weightBuffer[o];if(this.m_flagsBuffer.data[o]&t.b2ParticleFlag.b2_staticPressureParticle){var f=(this.m_accumulationBuffer[o]+n*(_-1))/(_+s);this.m_staticPressureBuffer[o]=w(f,0,r)}else this.m_staticPressureBuffer[o]=0}}},n.prototype.ComputeWeight=function(){for(var t=0;t<this.m_count;t++)this.m_weightBuffer[t]=0;for(t=0;t<this.m_bodyContactBuffer.count;t++){var e=(n=this.m_bodyContactBuffer.data[t]).index,i=n.weight;this.m_weightBuffer[e]+=i}for(t=0;t<this.m_contactBuffer.count;t++){e=(n=this.m_contactBuffer.data[t]).indexA;var n,r=n.indexB;i=n.weight;this.m_weightBuffer[e]+=i,this.m_weightBuffer[r]+=i}},n.prototype.SolvePressure=function(e){var i=n.SolvePressure_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,a=this.GetCriticalPressure(e),o=this.m_def.pressureStrength*a,h=.25*a,l=0;l<this.m_count;l++){var c=this.m_weightBuffer[l],u=o*T(0,c-1);this.m_accumulationBuffer[l]=S(u,h)}if(this.m_allParticleFlags&n.k_noPressureFlags)for(l=0;l<this.m_count;l++)this.m_flagsBuffer.data[l]&n.k_noPressureFlags&&(this.m_accumulationBuffer[l]=0);if(this.m_allParticleFlags&t.b2ParticleFlag.b2_staticPressureParticle)for(l=0;l<this.m_count;l++)this.m_flagsBuffer.data[l]&t.b2ParticleFlag.b2_staticPressureParticle&&(this.m_accumulationBuffer[l]+=this.m_staticPressureBuffer[l]);for(var _=e.dt/(this.m_def.density*this.m_particleDiameter),f=this.GetParticleInvMass(),m=0;m<this.m_bodyContactBuffer.count;m++){var d=(A=this.m_bodyContactBuffer.data[m]).index,p=A.body,y=(c=A.weight,A.mass),v=A.normal,g=r[d],x=(u=this.m_accumulationBuffer[d]+o*c,V.MulSV(_*c*y*u,v,i));s[d].SelfMulSub(f,x),p.ApplyLinearImpulse(x,g,!0)}for(m=0;m<this.m_contactBuffer.count;m++){var A;d=(A=this.m_contactBuffer.data[m]).indexA,p=A.indexB,c=A.weight,v=A.normal,u=this.m_accumulationBuffer[d]+this.m_accumulationBuffer[p],x=V.MulSV(_*c*u,v,i);s[d].SelfSub(x),s[p].SelfAdd(x)}},n.prototype.SolveDamping=function(t){var e=n.SolveDamping_s_v,i=n.SolveDamping_s_f;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,a=this.m_def.dampingStrength,o=1/this.GetCriticalVelocity(t),h=this.GetParticleInvMass(),l=0;l<this.m_bodyContactBuffer.count;l++){var c=(g=this.m_bodyContactBuffer.data[l]).index,u=g.body,_=g.weight,f=g.mass,m=g.normal,d=r[c],p=V.SubVV(u.GetLinearVelocityFromWorldPoint(d,V.s_t0),s[c],e);if((x=V.DotVV(p,m))<0){var y=T(a*_,S(-o*x,.5)),v=V.MulSV(y*f*x,m,i);s[c].SelfMulAdd(h,v),u.ApplyLinearImpulse(v.SelfNeg(),d,!0)}}for(l=0;l<this.m_contactBuffer.count;l++){var g,x;c=(g=this.m_contactBuffer.data[l]).indexA,u=g.indexB,_=g.weight,m=g.normal,p=V.SubVV(s[u],s[c],e);if((x=V.DotVV(p,m))<0){y=T(a*_,S(-o*x,.5)),v=V.MulSV(y*x,m,i);s[c].SelfAdd(v),s[u].SelfSub(v)}}},n.prototype.SolveRigidDamping=function(){var t=n.SolveRigidDamping_s_t0,e=n.SolveRigidDamping_s_t1,i=n.SolveRigidDamping_s_p,r=n.SolveRigidDamping_s_v,s=[0],a=[0],o=[0],h=[0],l=[0],c=[0];if(!this.m_positionBuffer.data)throw new Error;for(var u=this.m_positionBuffer.data,_=this.m_def.dampingStrength,f=0;f<this.m_bodyContactBuffer.count;f++){var m=(A=this.m_bodyContactBuffer.data[f]).index;if((b=this.m_groupBuffer[m])&&this.IsRigidGroup(b)){var d=A.body,p=A.normal,y=A.weight,v=u[m],g=V.SubVV(d.GetLinearVelocityFromWorldPoint(v,t),b.GetLinearVelocityFromWorldPoint(v,e),r);if((E=V.DotVV(g,p))<0){this.InitDampingParameterWithRigidGroupOrParticle(s,a,o,!0,b,m,v,p),this.InitDampingParameter(h,l,c,d.GetMass(),d.GetInertia()-d.GetMass()*d.GetLocalCenter().LengthSquared(),d.GetWorldCenter(),v,p);var x=_*S(y,1)*this.ComputeDampingImpulse(s[0],a[0],o[0],h[0],l[0],c[0],E);this.ApplyDamping(s[0],a[0],o[0],!0,b,m,x,p),d.ApplyLinearImpulse(V.MulSV(-x,p,V.s_t0),v,!0)}}}for(f=0;f<this.m_contactBuffer.count;f++){m=(A=this.m_contactBuffer.data[f]).indexA,d=A.indexB,p=A.normal,y=A.weight;var A,b=this.m_groupBuffer[m],C=this.m_groupBuffer[d],T=this.IsRigidGroup(b),w=this.IsRigidGroup(C);if(b!==C&&(T||w)){var E;v=V.MidVV(u[m],u[d],i),g=V.SubVV(this.GetLinearVelocity(C,d,v,t),this.GetLinearVelocity(b,m,v,e),r);if((E=V.DotVV(g,p))<0){this.InitDampingParameterWithRigidGroupOrParticle(s,a,o,T,b,m,v,p),this.InitDampingParameterWithRigidGroupOrParticle(h,l,c,w,C,d,v,p);x=_*y*this.ComputeDampingImpulse(s[0],a[0],o[0],h[0],l[0],c[0],E);this.ApplyDamping(s[0],a[0],o[0],T,b,m,x,p),this.ApplyDamping(h[0],l[0],c[0],w,C,d,-x,p)}}}},n.prototype.SolveExtraDamping=function(){var t=n.SolveExtraDamping_s_v,e=n.SolveExtraDamping_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var i=this.m_velocityBuffer.data,r=this.m_positionBuffer.data,s=this.GetParticleInvMass(),a=0;a<this.m_bodyContactBuffer.count;a++){var o=this.m_bodyContactBuffer.data[a],h=o.index;if(this.m_flagsBuffer.data[h]&n.k_extraDampingFlags){var l=o.body,c=o.mass,u=o.normal,_=r[h],f=V.SubVV(l.GetLinearVelocityFromWorldPoint(_,V.s_t0),i[h],t),m=V.DotVV(f,u);if(m<0){var d=V.MulSV(.5*c*m,u,e);i[h].SelfMulAdd(s,d),l.ApplyLinearImpulse(d.SelfNeg(),_,!0)}}}},n.prototype.SolveWall=function(){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var e=this.m_velocityBuffer.data,i=0;i<this.m_count;i++)this.m_flagsBuffer.data[i]&t.b2ParticleFlag.b2_wallParticle&&e[i].SetZero()},n.prototype.SolveRigid=function(e){var i=n.SolveRigid_s_position,r=n.SolveRigid_s_rotation,s=n.SolveRigid_s_transform,a=n.SolveRigid_s_velocityTransform;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var o=this.m_positionBuffer.data,h=this.m_velocityBuffer.data,l=this.m_groupList;l;l=l.GetNext())if(l.m_groupFlags&t.b2ParticleGroupFlag.b2_rigidParticleGroup){l.UpdateStatistics();var c=r;c.SetAngle(e.dt*l.m_angularVelocity);var u=V.AddVV(l.m_center,V.SubVV(V.MulSV(e.dt,l.m_linearVelocity,V.s_t0),U.MulRV(c,l.m_center,V.s_t1),V.s_t0),i),_=s;_.SetPositionRotation(u,c),j.MulXX(_,l.m_transform,l.m_transform);var f=a;f.p.x=e.inv_dt*_.p.x,f.p.y=e.inv_dt*_.p.y,f.q.s=e.inv_dt*_.q.s,f.q.c=e.inv_dt*(_.q.c-1);for(var m=l.m_firstIndex;m<l.m_lastIndex;m++)j.MulXV(f,o[m],h[m])}},n.prototype.SolveElastic=function(e){var i=n.SolveElastic_s_pa,r=n.SolveElastic_s_pb,s=n.SolveElastic_s_pc,a=n.SolveElastic_s_r,o=n.SolveElastic_s_t0;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var h=this.m_positionBuffer.data,l=this.m_velocityBuffer.data,c=e.inv_dt*this.m_def.elasticStrength,u=0;u<this.m_triadBuffer.count;u++){var _=this.m_triadBuffer.data[u];if(_.flags&t.b2ParticleFlag.b2_elasticParticle){var f=_.indexA,m=_.indexB,d=_.indexC,p=_.pa,y=_.pb,v=_.pc,g=i.Copy(h[f]),x=r.Copy(h[m]),A=s.Copy(h[d]),b=l[f],C=l[m],S=l[d];g.SelfMulAdd(e.dt,b),x.SelfMulAdd(e.dt,C),A.SelfMulAdd(e.dt,S);var T=(g.x+x.x+A.x)/3,w=(g.y+x.y+A.y)/3;g.x-=T,g.y-=w,x.x-=T,x.y-=w,A.x-=T,A.y-=w;var E=a;E.s=V.CrossVV(p,g)+V.CrossVV(y,x)+V.CrossVV(v,A),E.c=V.DotVV(p,g)+V.DotVV(y,x)+V.DotVV(v,A);var D=M(E.s*E.s+E.c*E.c);isFinite(D)||(D=198177537e11),E.s*=D,E.c*=D;var B=c*_.strength;U.MulRV(E,p,o),V.SubVV(o,g,o),V.MulSV(B,o,o),b.SelfAdd(o),U.MulRV(E,y,o),V.SubVV(o,x,o),V.MulSV(B,o,o),C.SelfAdd(o),U.MulRV(E,v,o),V.SubVV(o,A,o),V.MulSV(B,o,o),S.SelfAdd(o)}}},n.prototype.SolveSpring=function(e){var i=n.SolveSpring_s_pa,r=n.SolveSpring_s_pb,s=n.SolveSpring_s_d,a=n.SolveSpring_s_f;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var o=this.m_positionBuffer.data,h=this.m_velocityBuffer.data,l=e.inv_dt*this.m_def.springStrength,c=0;c<this.m_pairBuffer.count;c++){var u=this.m_pairBuffer.data[c];if(u.flags&t.b2ParticleFlag.b2_springParticle){var _=u.indexA,f=u.indexB,m=i.Copy(o[_]),d=r.Copy(o[f]),p=h[_],y=h[f];m.SelfMulAdd(e.dt,p),d.SelfMulAdd(e.dt,y);var v=V.SubVV(d,m,s),g=u.distance,x=v.Length(),A=l*u.strength,b=V.MulSV(A*(g-x)/x,v,a);p.SelfSub(b),y.SelfAdd(b)}}},n.prototype.SolveTensile=function(e){var i=n.SolveTensile_s_weightedNormal,r=n.SolveTensile_s_s,s=n.SolveTensile_s_f;if(!this.m_velocityBuffer.data)throw new Error;for(var a=this.m_velocityBuffer.data,o=0;o<this.m_count;o++)this.m_accumulation2Buffer[o]=new V,this.m_accumulation2Buffer[o].SetZero();for(var h=0;h<this.m_contactBuffer.count;h++){if((v=this.m_contactBuffer.data[h]).flags&t.b2ParticleFlag.b2_tensileParticle){var l=v.indexA,c=v.indexB,u=v.weight,_=v.normal,f=V.MulSV((1-u)*u,_,i);this.m_accumulation2Buffer[l].SelfSub(f),this.m_accumulation2Buffer[c].SelfAdd(f)}}var m=this.GetCriticalVelocity(e),d=this.m_def.surfaceTensionPressureStrength*m,p=this.m_def.surfaceTensionNormalStrength*m,y=.5*m;for(h=0;h<this.m_contactBuffer.count;h++){var v;if((v=this.m_contactBuffer.data[h]).flags&t.b2ParticleFlag.b2_tensileParticle){l=v.indexA,c=v.indexB,u=v.weight,_=v.normal;var g=this.m_weightBuffer[l]+this.m_weightBuffer[c],x=V.SubVV(this.m_accumulation2Buffer[c],this.m_accumulation2Buffer[l],r),A=S(d*(g-2)+p*V.DotVV(x,_),y)*u,b=V.MulSV(A,_,s);a[l].SelfSub(b),a[c].SelfAdd(b)}}},n.prototype.SolveViscous=function(){var e=n.SolveViscous_s_v,i=n.SolveViscous_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,a=this.m_def.viscousStrength,o=this.GetParticleInvMass(),h=0;h<this.m_bodyContactBuffer.count;h++){var l=(p=this.m_bodyContactBuffer.data[h]).index;if(this.m_flagsBuffer.data[l]&t.b2ParticleFlag.b2_viscousParticle){var c=p.body,u=p.weight,_=p.mass,f=r[l],m=V.SubVV(c.GetLinearVelocityFromWorldPoint(f,V.s_t0),s[l],e),d=V.MulSV(a*_*u,m,i);s[l].SelfMulAdd(o,d),c.ApplyLinearImpulse(d.SelfNeg(),f,!0)}}for(h=0;h<this.m_contactBuffer.count;h++){var p;if((p=this.m_contactBuffer.data[h]).flags&t.b2ParticleFlag.b2_viscousParticle){l=p.indexA,c=p.indexB,u=p.weight,m=V.SubVV(s[c],s[l],e),d=V.MulSV(a*u,m,i);s[l].SelfAdd(d),s[c].SelfSub(d)}}},n.prototype.SolveRepulsive=function(e){var i=n.SolveRepulsive_s_f;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_velocityBuffer.data,s=this.m_def.repulsiveStrength*this.GetCriticalVelocity(e),a=0;a<this.m_contactBuffer.count;a++){var o=this.m_contactBuffer.data[a];if(o.flags&t.b2ParticleFlag.b2_repulsiveParticle){var h=o.indexA,l=o.indexB;if(this.m_groupBuffer[h]!==this.m_groupBuffer[l]){var c=o.weight,u=o.normal,_=V.MulSV(s*c,u,i);r[h].SelfSub(_),r[l].SelfAdd(_)}}}},n.prototype.SolvePowder=function(e){var i=n.SolvePowder_s_f;if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var r=this.m_positionBuffer.data,s=this.m_velocityBuffer.data,a=this.m_def.powderStrength*this.GetCriticalVelocity(e),o=this.GetParticleInvMass(),h=0;h<this.m_bodyContactBuffer.count;h++){var l=(d=this.m_bodyContactBuffer.data[h]).index;if(this.m_flagsBuffer.data[l]&t.b2ParticleFlag.b2_powderParticle)if((p=d.weight)>.25){var c=d.body,u=d.mass,_=r[l],f=d.normal,m=V.MulSV(a*u*(p-.25),f,i);s[l].SelfMulSub(o,m),c.ApplyLinearImpulse(m,_,!0)}}for(h=0;h<this.m_contactBuffer.count;h++){var d,p;if((d=this.m_contactBuffer.data[h]).flags&t.b2ParticleFlag.b2_powderParticle)if((p=d.weight)>.25){l=d.indexA,c=d.indexB,f=d.normal,m=V.MulSV(a*(p-.25),f,i);s[l].SelfSub(m),s[c].SelfAdd(m)}}},n.prototype.SolveSolid=function(t){var e=n.SolveSolid_s_f;if(!this.m_velocityBuffer.data)throw new Error;var i=this.m_velocityBuffer.data;this.m_depthBuffer=this.RequestBuffer(this.m_depthBuffer);for(var r=t.inv_dt*this.m_def.ejectionStrength,s=0;s<this.m_contactBuffer.count;s++){var a=this.m_contactBuffer.data[s],o=a.indexA,h=a.indexB;if(this.m_groupBuffer[o]!==this.m_groupBuffer[h]){var l=a.weight,c=a.normal,u=this.m_depthBuffer[o]+this.m_depthBuffer[h],_=V.MulSV(r*u*l,c,e);i[o].SelfSub(_),i[h].SelfAdd(_)}}},n.prototype.SolveForce=function(t){if(!this.m_velocityBuffer.data)throw new Error;for(var e=this.m_velocityBuffer.data,i=t.dt*this.GetParticleInvMass(),n=0;n<this.m_count;n++)e[n].SelfMulAdd(i,this.m_forceBuffer[n]);this.m_hasForce=!1},n.prototype.SolveColorMixing=function(){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_colorBuffer.data)throw new Error;var e=.5*this.m_def.colorMixingStrength;if(e)for(var i=0;i<this.m_contactBuffer.count;i++){var n=this.m_contactBuffer.data[i],r=n.indexA,s=n.indexB;if(this.m_flagsBuffer.data[r]&this.m_flagsBuffer.data[s]&t.b2ParticleFlag.b2_colorMixingParticle){var a=this.m_colorBuffer.data[r],o=this.m_colorBuffer.data[s];H.MixColors(a,o,e)}}},n.prototype.SolveZombie=function(){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;for(var e=0,i=[],n=0;n<this.m_count;n++)i[n]=m;var r=0;for(n=0;n<this.m_count;n++){var s=this.m_flagsBuffer.data[n];if(s&t.b2ParticleFlag.b2_zombieParticle){var a=this.m_world.m_destructionListener;if(s&t.b2ParticleFlag.b2_destructionListenerParticle&&a&&a.SayGoodbyeParticle(this,n),this.m_handleIndexBuffer.data)(o=this.m_handleIndexBuffer.data[n])&&(o.SetIndex(m),this.m_handleIndexBuffer.data[n]=null);i[n]=m}else{if(i[n]=e,n!==e){var o;if(this.m_handleIndexBuffer.data)(o=this.m_handleIndexBuffer.data[n])&&o.SetIndex(e),this.m_handleIndexBuffer.data[e]=o;this.m_flagsBuffer.data[e]=this.m_flagsBuffer.data[n],this.m_lastBodyContactStepBuffer.data&&(this.m_lastBodyContactStepBuffer.data[e]=this.m_lastBodyContactStepBuffer.data[n]),this.m_bodyContactCountBuffer.data&&(this.m_bodyContactCountBuffer.data[e]=this.m_bodyContactCountBuffer.data[n]),this.m_consecutiveContactStepsBuffer.data&&(this.m_consecutiveContactStepsBuffer.data[e]=this.m_consecutiveContactStepsBuffer.data[n]),this.m_positionBuffer.data[e].Copy(this.m_positionBuffer.data[n]),this.m_velocityBuffer.data[e].Copy(this.m_velocityBuffer.data[n]),this.m_groupBuffer[e]=this.m_groupBuffer[n],this.m_hasForce&&this.m_forceBuffer[e].Copy(this.m_forceBuffer[n]),this.m_staticPressureBuffer&&(this.m_staticPressureBuffer[e]=this.m_staticPressureBuffer[n]),this.m_depthBuffer&&(this.m_depthBuffer[e]=this.m_depthBuffer[n]),this.m_colorBuffer.data&&this.m_colorBuffer.data[e].Copy(this.m_colorBuffer.data[n]),this.m_userDataBuffer.data&&(this.m_userDataBuffer.data[e]=this.m_userDataBuffer.data[n]),this.m_expirationTimeBuffer.data&&(this.m_expirationTimeBuffer.data[e]=this.m_expirationTimeBuffer.data[n])}e++,r|=s}}for(var h=function(t){return t.index<0},l=function(t){return t.indexA<0||t.indexB<0},c=function(t){return t.index<0},u=function(t){return t.indexA<0||t.indexB<0},_=function(t){return t.indexA<0||t.indexB<0||t.indexC<0},f=0;f<this.m_proxyBuffer.count;f++){var d=this.m_proxyBuffer.data[f];d.index=i[d.index]}this.m_proxyBuffer.RemoveIf(h);for(f=0;f<this.m_contactBuffer.count;f++){(p=this.m_contactBuffer.data[f]).indexA=i[p.indexA],p.indexB=i[p.indexB]}this.m_contactBuffer.RemoveIf(l);for(f=0;f<this.m_bodyContactBuffer.count;f++){var p;(p=this.m_bodyContactBuffer.data[f]).index=i[p.index]}this.m_bodyContactBuffer.RemoveIf(c);for(f=0;f<this.m_pairBuffer.count;f++){var y=this.m_pairBuffer.data[f];y.indexA=i[y.indexA],y.indexB=i[y.indexB]}this.m_pairBuffer.RemoveIf(u);for(f=0;f<this.m_triadBuffer.count;f++){var v=this.m_triadBuffer.data[f];v.indexA=i[v.indexA],v.indexB=i[v.indexB],v.indexC=i[v.indexC]}if(this.m_triadBuffer.RemoveIf(_),this.m_indexByExpirationTimeBuffer.data)for(var g=0,x=0;x<this.m_count;x++){var A=i[this.m_indexByExpirationTimeBuffer.data[x]];A!==m&&(this.m_indexByExpirationTimeBuffer.data[g++]=A)}for(var b=this.m_groupList;b;b=b.GetNext()){var C=e,w=0,E=!1;for(n=b.m_firstIndex;n<b.m_lastIndex;n++){var D=i[n];D>=0?(C=S(C,D),w=T(w,D+1)):E=!0}C<w?(b.m_firstIndex=C,b.m_lastIndex=w,E&&b.m_groupFlags&t.b2ParticleGroupFlag.b2_solidParticleGroup&&this.SetGroupFlags(b,b.m_groupFlags|t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth)):(b.m_firstIndex=0,b.m_lastIndex=0,b.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupCanBeEmpty||this.SetGroupFlags(b,b.m_groupFlags|t.b2ParticleGroupFlag.b2_particleGroupWillBeDestroyed))}this.m_count=e,this.m_allParticleFlags=r,this.m_needsUpdateAllParticleFlags=!1;for(b=this.m_groupList;b;){var M=b.GetNext();b.m_groupFlags&t.b2ParticleGroupFlag.b2_particleGroupWillBeDestroyed&&this.DestroyParticleGroup(b),b=M}},n.prototype.SolveLifetimes=function(t){if(!this.m_expirationTimeBuffer.data)throw new Error;if(!this.m_indexByExpirationTimeBuffer.data)throw new Error;this.m_timeElapsed=this.LifetimeToExpirationTime(t.dt);var e=this.GetQuantizedTimeElapsed(),i=this.m_expirationTimeBuffer.data,n=this.m_indexByExpirationTimeBuffer.data,r=this.GetParticleCount();if(this.m_expirationTimeBufferRequiresSorting){Bn(n,0,r,(function(t,e){var n=i[t],r=i[e],s=n<=0;return s===r<=0?n>r:s})),this.m_expirationTimeBufferRequiresSorting=!1}for(var s=r-1;s>=0;--s){var a=n[s],o=i[a];if(e<o||o<=0)break;this.DestroyParticle(a)}},n.prototype.RotateBuffer=function(t,e,i){if(t!==e&&e!==i){if(!this.m_flagsBuffer.data)throw new Error;if(!this.m_positionBuffer.data)throw new Error;if(!this.m_velocityBuffer.data)throw new Error;if(Ln(this.m_flagsBuffer.data,t,e,i),this.m_lastBodyContactStepBuffer.data&&Ln(this.m_lastBodyContactStepBuffer.data,t,e,i),this.m_bodyContactCountBuffer.data&&Ln(this.m_bodyContactCountBuffer.data,t,e,i),this.m_consecutiveContactStepsBuffer.data&&Ln(this.m_consecutiveContactStepsBuffer.data,t,e,i),Ln(this.m_positionBuffer.data,t,e,i),Ln(this.m_velocityBuffer.data,t,e,i),Ln(this.m_groupBuffer,t,e,i),this.m_hasForce&&Ln(this.m_forceBuffer,t,e,i),this.m_staticPressureBuffer&&Ln(this.m_staticPressureBuffer,t,e,i),this.m_depthBuffer&&Ln(this.m_depthBuffer,t,e,i),this.m_colorBuffer.data&&Ln(this.m_colorBuffer.data,t,e,i),this.m_userDataBuffer.data&&Ln(this.m_userDataBuffer.data,t,e,i),this.m_handleIndexBuffer.data){Ln(this.m_handleIndexBuffer.data,t,e,i);for(var n=t;n<i;++n){var r=this.m_handleIndexBuffer.data[n];r&&r.SetIndex(f(r.GetIndex()))}}if(this.m_expirationTimeBuffer.data){Ln(this.m_expirationTimeBuffer.data,t,e,i);var s=this.GetParticleCount();if(!this.m_indexByExpirationTimeBuffer.data)throw new Error;var a=this.m_indexByExpirationTimeBuffer.data;for(n=0;n<s;++n)a[n]=f(a[n])}for(var o=0;o<this.m_proxyBuffer.count;o++){var h=this.m_proxyBuffer.data[o];h.index=f(h.index)}for(o=0;o<this.m_contactBuffer.count;o++){(l=this.m_contactBuffer.data[o]).indexA=f(l.indexA),l.indexB=f(l.indexB)}for(o=0;o<this.m_bodyContactBuffer.count;o++){var l;(l=this.m_bodyContactBuffer.data[o]).index=f(l.index)}for(o=0;o<this.m_pairBuffer.count;o++){var c=this.m_pairBuffer.data[o];c.indexA=f(c.indexA),c.indexB=f(c.indexB)}for(o=0;o<this.m_triadBuffer.count;o++){var u=this.m_triadBuffer.data[o];u.indexA=f(u.indexA),u.indexB=f(u.indexB),u.indexC=f(u.indexC)}for(var _=this.m_groupList;_;_=_.GetNext())_.m_firstIndex=f(_.m_firstIndex),_.m_lastIndex=f(_.m_lastIndex-1)+1}function f(n){return n<t?n:n<e?n+i-e:n<i?n+t-e:n}},n.prototype.GetCriticalVelocity=function(t){return this.m_particleDiameter*t.inv_dt},n.prototype.GetCriticalVelocitySquared=function(t){var e=this.GetCriticalVelocity(t);return e*e},n.prototype.GetCriticalPressure=function(t){return this.m_def.density*this.GetCriticalVelocitySquared(t)},n.prototype.GetParticleStride=function(){return.75*this.m_particleDiameter},n.prototype.GetParticleMass=function(){var t=this.GetParticleStride();return this.m_def.density*t*t},n.prototype.GetParticleInvMass=function(){var t=this.m_inverseDiameter*(1/.75);return this.m_inverseDensity*t*t},n.prototype.GetFixtureContactFilter=function(){return this.m_allParticleFlags&t.b2ParticleFlag.b2_fixtureContactFilterParticle?this.m_world.m_contactManager.m_contactFilter:null},n.prototype.GetParticleContactFilter=function(){return this.m_allParticleFlags&t.b2ParticleFlag.b2_particleContactFilterParticle?this.m_world.m_contactManager.m_contactFilter:null},n.prototype.GetFixtureContactListener=function(){return this.m_allParticleFlags&t.b2ParticleFlag.b2_fixtureContactListenerParticle?this.m_world.m_contactManager.m_contactListener:null},n.prototype.GetParticleContactListener=function(){return this.m_allParticleFlags&t.b2ParticleFlag.b2_particleContactListenerParticle?this.m_world.m_contactManager.m_contactListener:null},n.prototype.SetUserOverridableBuffer=function(t,e,i){t.data=e,t.userSuppliedCapacity=i},n.prototype.SetGroupFlags=function(e,i){var n=e.m_groupFlags;(n^i)&t.b2ParticleGroupFlag.b2_solidParticleGroup&&(i|=t.b2ParticleGroupFlag.b2_particleGroupNeedsUpdateDepth),n&~i&&(this.m_needsUpdateAllGroupFlags=!0),~this.m_allGroupFlags&i&&(i&t.b2ParticleGroupFlag.b2_solidParticleGroup&&(this.m_depthBuffer=this.RequestBuffer(this.m_depthBuffer)),this.m_allGroupFlags|=i),e.m_groupFlags=i},n.BodyContactCompare=function(t,e){return t.index===e.index?t.weight>e.weight:t.index<e.index},n.prototype.RemoveSpuriousBodyContacts=function(){Bn(this.m_bodyContactBuffer.data,0,this.m_bodyContactBuffer.count,n.BodyContactCompare);var t=n.RemoveSpuriousBodyContacts_s_n,e=n.RemoveSpuriousBodyContacts_s_pos,i=n.RemoveSpuriousBodyContacts_s_normal,r=this,s=-1,a=0;this.m_bodyContactBuffer.count=In(this.m_bodyContactBuffer.data,(function(n){if(n.index!==s&&(a=0,s=n.index),a++>3)return!0;var o=t.Copy(n.normal);if(o.SelfMul(r.m_particleDiameter*(1-n.weight)),!r.m_positionBuffer.data)throw new Error;var l=V.AddVV(r.m_positionBuffer.data[n.index],o,e);if(!n.fixture.TestPoint(l)){for(var c=n.fixture.GetShape().GetChildCount(),u=0;u<c;u++){var _=i;if(n.fixture.ComputeDistance(l,_,u)<h)return!1}return!0}return!1}),this.m_bodyContactBuffer.count)},n.prototype.DetectStuckParticle=function(t){if(!(this.m_stuckThreshold<=0)){if(!this.m_bodyContactCountBuffer.data)throw new Error;if(!this.m_consecutiveContactStepsBuffer.data)throw new Error;if(!this.m_lastBodyContactStepBuffer.data)throw new Error;++this.m_bodyContactCountBuffer.data[t],2===this.m_bodyContactCountBuffer.data[t]&&(++this.m_consecutiveContactStepsBuffer.data[t],this.m_consecutiveContactStepsBuffer.data[t]>this.m_stuckThreshold&&(this.m_stuckParticleBuffer.data[this.m_stuckParticleBuffer.Append()]=t)),this.m_lastBodyContactStepBuffer.data[t]=this.m_timestamp}},n.prototype.ValidateParticleIndex=function(t){return t>=0&&t<this.GetParticleCount()&&t!==m},n.prototype.GetQuantizedTimeElapsed=function(){return Math.floor(this.m_timeElapsed/4294967296)},n.prototype.LifetimeToExpirationTime=function(t){return this.m_timeElapsed+Math.floor(t/this.m_def.lifetimeGranularity*4294967296)},n.prototype.ForceCanBeApplied=function(e){return!(e&t.b2ParticleFlag.b2_wallParticle)},n.prototype.PrepareForceBuffer=function(){if(!this.m_hasForce){for(var t=0;t<this.m_count;t++)this.m_forceBuffer[t].SetZero();this.m_hasForce=!0}},n.prototype.IsRigidGroup=function(e){return null!==e&&0!=(e.m_groupFlags&t.b2ParticleGroupFlag.b2_rigidParticleGroup)},n.prototype.GetLinearVelocity=function(t,e,i,n){if(t&&this.IsRigidGroup(t))return t.GetLinearVelocityFromWorldPoint(i,n);if(!this.m_velocityBuffer.data)throw new Error;return n.Copy(this.m_velocityBuffer.data[e])},n.prototype.InitDampingParameter=function(t,e,i,n,r,s,a,o){t[0]=n>0?1/n:0,e[0]=r>0?1/r:0,i[0]=V.CrossVV(V.SubVV(a,s,V.s_t0),o)},n.prototype.InitDampingParameterWithRigidGroupOrParticle=function(e,i,n,r,s,a,o,h){if(s&&r)this.InitDampingParameter(e,i,n,s.GetMass(),s.GetInertia(),s.GetCenter(),o,h);else{if(!this.m_flagsBuffer.data)throw new Error;var l=this.m_flagsBuffer.data[a];this.InitDampingParameter(e,i,n,l&t.b2ParticleFlag.b2_wallParticle?0:this.GetParticleMass(),0,o,o,h)}},n.prototype.ComputeDampingImpulse=function(t,e,i,n,r,s,a){var o=t+e*i*i+n+r*s*s;return o>0?a/o:0},n.prototype.ApplyDamping=function(t,e,i,n,r,s,a,o){if(r&&n)r.m_linearVelocity.SelfMulAdd(a*t,o),r.m_angularVelocity+=a*i*e;else{if(!this.m_velocityBuffer.data)throw new Error;this.m_velocityBuffer.data[s].SelfMulAdd(a*t,o)}},n.xTruncBits=12,n.yTruncBits=12,n.tagBits=32,n.yOffset=1<<n.yTruncBits-1,n.yShift=n.tagBits-n.yTruncBits,n.xShift=n.tagBits-n.yTruncBits-n.xTruncBits,n.xScale=1<<n.xShift,n.xOffset=n.xScale*(1<<n.xTruncBits-1),n.yMask=(1<<n.yTruncBits)-1<<n.yShift,n.xMask=~n.yMask,n.DestroyParticlesInShape_s_aabb=new Pt,n.CreateParticleGroup_s_transform=new j,n.ComputeCollisionEnergy_s_v=new V,n.QueryShapeAABB_s_aabb=new Pt,n.QueryPointAABB_s_aabb=new Pt,n.RayCast_s_aabb=new Pt,n.RayCast_s_p=new V,n.RayCast_s_v=new V,n.RayCast_s_n=new V,n.RayCast_s_point=new V,n.k_pairFlags=t.b2ParticleFlag.b2_springParticle,n.k_triadFlags=t.b2ParticleFlag.b2_elasticParticle,n.k_noPressureFlags=t.b2ParticleFlag.b2_powderParticle|t.b2ParticleFlag.b2_tensileParticle,n.k_extraDampingFlags=t.b2ParticleFlag.b2_staticPressureParticle,n.k_barrierWallFlags=t.b2ParticleFlag.b2_barrierParticle|t.b2ParticleFlag.b2_wallParticle,n.CreateParticlesStrokeShapeForGroup_s_edge=new ai,n.CreateParticlesStrokeShapeForGroup_s_d=new V,n.CreateParticlesStrokeShapeForGroup_s_p=new V,n.CreateParticlesFillShapeForGroup_s_aabb=new Pt,n.CreateParticlesFillShapeForGroup_s_p=new V,n.UpdatePairsAndTriads_s_dab=new V,n.UpdatePairsAndTriads_s_dbc=new V,n.UpdatePairsAndTriads_s_dca=new V,n.AddContact_s_d=new V,n.UpdateBodyContacts_s_aabb=new Pt,n.Solve_s_subStep=new cn,n.SolveCollision_s_aabb=new Pt,n.SolveGravity_s_gravity=new V,n.SolveBarrier_s_aabb=new Pt,n.SolveBarrier_s_va=new V,n.SolveBarrier_s_vb=new V,n.SolveBarrier_s_pba=new V,n.SolveBarrier_s_vba=new V,n.SolveBarrier_s_vc=new V,n.SolveBarrier_s_pca=new V,n.SolveBarrier_s_vca=new V,n.SolveBarrier_s_qba=new V,n.SolveBarrier_s_qca=new V,n.SolveBarrier_s_dv=new V,n.SolveBarrier_s_f=new V,n.SolvePressure_s_f=new V,n.SolveDamping_s_v=new V,n.SolveDamping_s_f=new V,n.SolveRigidDamping_s_t0=new V,n.SolveRigidDamping_s_t1=new V,n.SolveRigidDamping_s_p=new V,n.SolveRigidDamping_s_v=new V,n.SolveExtraDamping_s_v=new V,n.SolveExtraDamping_s_f=new V,n.SolveRigid_s_position=new V,n.SolveRigid_s_rotation=new U,n.SolveRigid_s_transform=new j,n.SolveRigid_s_velocityTransform=new j,n.SolveElastic_s_pa=new V,n.SolveElastic_s_pb=new V,n.SolveElastic_s_pc=new V,n.SolveElastic_s_r=new U,n.SolveElastic_s_t0=new V,n.SolveSpring_s_pa=new V,n.SolveSpring_s_pb=new V,n.SolveSpring_s_d=new V,n.SolveSpring_s_f=new V,n.SolveTensile_s_weightedNormal=new V,n.SolveTensile_s_s=new V,n.SolveTensile_s_f=new V,n.SolveViscous_s_v=new V,n.SolveViscous_s_f=new V,n.SolveRepulsive_s_f=new V,n.SolvePowder_s_f=new V,n.SolveSolid_s_f=new V,n.RemoveSpuriousBodyContacts_s_n=new V,n.RemoveSpuriousBodyContacts_s_pos=new V,n.RemoveSpuriousBodyContacts_s_normal=new V,n})(),(function(e){var n=(function(){return function(){this.data=null,this.userSuppliedCapacity=0}})();e.UserOverridableBuffer=n;var r=(function(){function t(){this.index=m,this.tag=0}return t.CompareProxyProxy=function(t,e){return t.tag<e.tag},t.CompareTagProxy=function(t,e){return t<e.tag},t.CompareProxyTag=function(t,e){return t.tag<e},t})();e.Proxy=r;var s=(function(){function t(t,i,n,r,s){this.m_system=t,this.m_xLower=(i&e.xMask)>>>0,this.m_xUpper=(n&e.xMask)>>>0,this.m_yLower=(i&e.yMask)>>>0,this.m_yUpper=(n&e.yMask)>>>0,this.m_first=r,this.m_last=s}return t.prototype.GetNext=function(){for(;this.m_first<this.m_last;){var t=(this.m_system.m_proxyBuffer.data[this.m_first].tag&e.xMask)>>>0;if(t>=this.m_xLower&&t<=this.m_xUpper)return this.m_system.m_proxyBuffer.data[this.m_first++].index;this.m_first++}return m},t})();e.InsideBoundsEnumerator=s;var a=(function(){return function(){this.next=null,this.count=0,this.index=0}})();e.ParticleListNode=a;var o=(function(){function t(){}return t.prototype.Allocate=function(t,e){return e},t.prototype.Clear=function(){},t.prototype.GetCount=function(){return 0},t.prototype.Invalidate=function(t){},t.prototype.GetValidBuffer=function(){return[]},t.prototype.GetBuffer=function(){return[]},t.prototype.SetCount=function(t){},t})();e.FixedSetAllocator=o;var l=(function(){return function(t,e){this.second=m,this.first=t,this.second=e}})();e.FixtureParticle=l;var c=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return ni(e,t),e.prototype.Initialize=function(t,e){},e.prototype.Find=function(t){return m},e})(e.FixedSetAllocator);e.FixtureParticleSet=c;var u=(function(){return function(t,e){this.first=m,this.second=m,this.first=t,this.second=e}})();e.ParticlePair=u;var _=(function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return ni(e,t),e.prototype.Initialize=function(t,e){},e.prototype.Find=function(t){return m},e})(e.FixedSetAllocator);e.b2ParticlePairSet=_;var f=(function(){function t(){}return t.prototype.IsNecessary=function(t){return!0},t.prototype.ShouldCreatePair=function(t,e){return!0},t.prototype.ShouldCreateTriad=function(t,e,i){return!0},t})();e.ConnectionFilter=f;var d=(function(t){function e(e,i,n,r){var s=t.call(this)||this;return s.m_callDestructionListener=!1,s.m_destroyed=0,s.m_system=e,s.m_shape=i,s.m_xf=n,s.m_callDestructionListener=r,s.m_destroyed=0,s}return ni(e,t),e.prototype.ReportFixture=function(t){return!1},e.prototype.ReportParticle=function(t,e){if(t!==this.m_system)return!1;if(!this.m_system.m_positionBuffer.data)throw new Error;return this.m_shape.TestPoint(this.m_xf,this.m_system.m_positionBuffer.data[e])&&(this.m_system.DestroyParticle(e,this.m_callDestructionListener),this.m_destroyed++),!0},e.prototype.Destroyed=function(){return this.m_destroyed},e})(an);e.DestroyParticlesInShapeCallback=d;var p=(function(t){function e(e){var i=t.call(this)||this;return i.m_threshold=0,i.m_threshold=e,i}return ni(e,t),e.prototype.ShouldCreatePair=function(t,e){return t<this.m_threshold&&this.m_threshold<=e||e<this.m_threshold&&this.m_threshold<=t},e.prototype.ShouldCreateTriad=function(t,e,i){return(t<this.m_threshold||e<this.m_threshold||i<this.m_threshold)&&(this.m_threshold<=t||this.m_threshold<=e||this.m_threshold<=i)},e})(e.ConnectionFilter);e.JoinParticleGroupsFilter=p;var y=(function(e){function n(i,n){void 0===n&&(n=i.length);var r=e.call(this,t.b2ShapeType.e_unknown,0)||this;return r.m_shapeCount=0,r.m_shapes=i,r.m_shapeCount=n,r}return ni(n,e),n.prototype.Clone=function(){throw new Error},n.prototype.GetChildCount=function(){return 1},n.prototype.TestPoint=function(t,e){for(var i=0;i<this.m_shapeCount;i++)if(this.m_shapes[i].TestPoint(t,e))return!0;return!1},n.prototype.ComputeDistance=function(t,e,i,n){return 0},n.prototype.RayCast=function(t,e,i,n){return!1},n.prototype.ComputeAABB=function(t,e,n){var r=new Pt;t.lowerBound.x=+i,t.lowerBound.y=+i,t.upperBound.x=-i,t.upperBound.y=-i;for(var s=0;s<this.m_shapeCount;s++)for(var a=this.m_shapes[s].GetChildCount(),o=0;o<a;o++){var h=r;this.m_shapes[s].ComputeAABB(h,e,o),t.Combine1(h)}},n.prototype.ComputeMass=function(t,e){},n.prototype.SetupDistanceProxy=function(t,e){},n.prototype.ComputeSubmergedArea=function(t,e,i,n){return 0},n.prototype.Dump=function(t){},n})(ei);e.CompositeShape=y;var v=(function(e){function i(t){var i=e.call(this)||this;return i.m_flagsBuffer=t,i}return ni(i,e),i.prototype.IsNecessary=function(e){if(!this.m_flagsBuffer.data)throw new Error;return 0!=(this.m_flagsBuffer.data[e]&t.b2ParticleFlag.b2_reactiveParticle)},i})(e.ConnectionFilter);e.ReactiveFilter=v;var g=(function(i){function n(t,e){var n=i.call(this,t)||this;return n.m_contactFilter=e,n}return ni(n,i),n.prototype.ShouldCollideFixtureParticle=function(e,i,n){if(this.m_contactFilter&&this.m_system.GetFlagsBuffer()[n]&t.b2ParticleFlag.b2_fixtureContactFilterParticle)return this.m_contactFilter.ShouldCollideFixtureParticle(e,this.m_system,n);return!0},n.prototype.ReportFixtureAndParticle=function(i,n,r){var s=e.UpdateBodyContactsCallback.ReportFixtureAndParticle_s_n,a=e.UpdateBodyContactsCallback.ReportFixtureAndParticle_s_rp;if(!this.m_system.m_flagsBuffer.data)throw new Error;if(!this.m_system.m_positionBuffer.data)throw new Error;var o=this.m_system.m_positionBuffer.data[r],h=s,l=i.ComputeDistance(o,h,n);if(l<this.m_system.m_particleDiameter&&this.ShouldCollideFixtureParticle(i,this.m_system,r)){var c=i.GetBody(),u=c.GetWorldCenter(),_=c.GetMass(),f=c.GetInertia()-_*c.GetLocalCenter().LengthSquared(),m=_>0?1/_:0,d=f>0?1/f:0,p=this.m_system.m_flagsBuffer.data[r]&t.b2ParticleFlag.b2_wallParticle?0:this.m_system.GetParticleInvMass(),y=V.SubVV(o,u,a),v=V.CrossVV(y,h),g=p+m+d*v*v,x=this.m_system.m_bodyContactBuffer.data[this.m_system.m_bodyContactBuffer.Append()];x.index=r,x.body=c,x.fixture=i,x.weight=1-l*this.m_system.m_inverseDiameter,x.normal.Copy(h.SelfNeg()),x.mass=g>0?1/g:0,this.m_system.DetectStuckParticle(r)}},n.ReportFixtureAndParticle_s_n=new V,n.ReportFixtureAndParticle_s_rp=new V,n})(Vn);e.UpdateBodyContactsCallback=g;var x=(function(i){function n(t,e){var n=i.call(this,t)||this;return n.m_step=e,n}return ni(n,i),n.prototype.ReportFixtureAndParticle=function(i,n,r){var s=e.SolveCollisionCallback.ReportFixtureAndParticle_s_p1,a=e.SolveCollisionCallback.ReportFixtureAndParticle_s_output,o=e.SolveCollisionCallback.ReportFixtureAndParticle_s_input,l=e.SolveCollisionCallback.ReportFixtureAndParticle_s_p,c=e.SolveCollisionCallback.ReportFixtureAndParticle_s_v,u=e.SolveCollisionCallback.ReportFixtureAndParticle_s_f,_=i.GetBody();if(!this.m_system.m_positionBuffer.data)throw new Error;if(!this.m_system.m_velocityBuffer.data)throw new Error;var f=this.m_system.m_positionBuffer.data[r],m=this.m_system.m_velocityBuffer.data[r],d=a,p=o;if(0===this.m_system.m_iterationIndex){var y=j.MulTXV(_.m_xf0,f,s);i.GetShape().GetType()===t.b2ShapeType.e_circleShape&&(y.SelfSub(_.GetLocalCenter()),U.MulRV(_.m_xf0.q,y,y),U.MulTRV(_.m_xf.q,y,y),y.SelfAdd(_.GetLocalCenter())),j.MulXV(_.m_xf,y,p.p1)}else p.p1.Copy(f);if(V.AddVMulSV(f,this.m_step.dt,m,p.p2),p.maxFraction=1,i.RayCast(d,p,n)){var v=d.normal,g=l;g.x=(1-d.fraction)*p.p1.x+d.fraction*p.p2.x+h*v.x,g.y=(1-d.fraction)*p.p1.y+d.fraction*p.p2.y+h*v.y;var x=c;x.x=this.m_step.inv_dt*(g.x-f.x),x.y=this.m_step.inv_dt*(g.y-f.y),this.m_system.m_velocityBuffer.data[r].Copy(x);var A=u;A.x=this.m_step.inv_dt*this.m_system.GetParticleMass()*(m.x-x.x),A.y=this.m_step.inv_dt*this.m_system.GetParticleMass()*(m.y-x.y),this.m_system.ParticleApplyForce(r,A)}},n.prototype.ReportParticle=function(t,e){return!1},n.ReportFixtureAndParticle_s_p1=new V,n.ReportFixtureAndParticle_s_output=new Bt,n.ReportFixtureAndParticle_s_input=new Mt,n.ReportFixtureAndParticle_s_p=new V,n.ReportFixtureAndParticle_s_v=new V,n.ReportFixtureAndParticle_s_f=new V,n})(Vn);e.SolveCollisionCallback=x})(t.b2ParticleSystem||(t.b2ParticleSystem={}));var jn=(function(){function e(t){this.m_newFixture=!1,this.m_locked=!1,this.m_clearForces=!0,this.m_contactManager=new hn,this.m_bodyList=null,this.m_jointList=null,this.m_particleSystemList=null,this.m_bodyCount=0,this.m_jointCount=0,this.m_gravity=new V,this.m_allowSleep=!0,this.m_destructionListener=null,this.m_debugDraw=null,this.m_inv_dt0=0,this.m_warmStarting=!0,this.m_continuousPhysics=!0,this.m_subStepping=!1,this.m_stepComplete=!0,this.m_profile=new ln,this.m_island=new xn,this.s_stack=[],this.m_controllerList=null,this.m_controllerCount=0,this.m_gravity.Copy(t)}return e.prototype.SetDestructionListener=function(t){this.m_destructionListener=t},e.prototype.SetContactFilter=function(t){this.m_contactManager.m_contactFilter=t},e.prototype.SetContactListener=function(t){this.m_contactManager.m_contactListener=t},e.prototype.SetDebugDraw=function(t){this.m_debugDraw=t},e.prototype.CreateBody=function(t){if(void 0===t&&(t={}),this.IsLocked())throw new Error;var e=new fi(t,this);return e.m_prev=null,e.m_next=this.m_bodyList,this.m_bodyList&&(this.m_bodyList.m_prev=e),this.m_bodyList=e,++this.m_bodyCount,e},e.prototype.DestroyBody=function(t){if(this.IsLocked())throw new Error;for(var e=t.m_jointList;e;){var i=e;e=e.next,this.m_destructionListener&&this.m_destructionListener.SayGoodbyeJoint(i.joint),this.DestroyJoint(i.joint),t.m_jointList=e}t.m_jointList=null;for(var n=t.m_controllerList;n;){var r=n;n=n.nextController,r.controller.RemoveBody(t)}for(var s=t.m_contactList;s;){var a=s;s=s.next,this.m_contactManager.Destroy(a.contact)}t.m_contactList=null;for(var o=t.m_fixtureList;o;){var h=o;o=o.m_next,this.m_destructionListener&&this.m_destructionListener.SayGoodbyeFixture(h),h.DestroyProxies(),h.Destroy(),t.m_fixtureList=o,t.m_fixtureCount-=1}t.m_fixtureList=null,t.m_fixtureCount=0,t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_bodyList&&(this.m_bodyList=t.m_next),--this.m_bodyCount},e._Joint_Create=function(e,i){switch(e.type){case t.b2JointType.e_distanceJoint:return new gi(e);case t.b2JointType.e_mouseJoint:return new Mi(e);case t.b2JointType.e_prismaticJoint:return new Pi(e);case t.b2JointType.e_revoluteJoint:return new Li(e);case t.b2JointType.e_pulleyJoint:return new Ri(e);case t.b2JointType.e_gearJoint:return new Ti(e);case t.b2JointType.e_wheelJoint:return new zi(e);case t.b2JointType.e_weldJoint:return new ki(e);case t.b2JointType.e_frictionJoint:return new Ci(e);case t.b2JointType.e_ropeJoint:return new Vi(e);case t.b2JointType.e_motorJoint:return new Ei(e);case t.b2JointType.e_areaJoint:return new Ai(e)}throw new Error},e._Joint_Destroy=function(t,e){},e.prototype.CreateJoint=function(t){if(this.IsLocked())throw new Error;var i=e._Joint_Create(t,null);i.m_prev=null,i.m_next=this.m_jointList,this.m_jointList&&(this.m_jointList.m_prev=i),this.m_jointList=i,++this.m_jointCount,i.m_edgeA.prev=null,i.m_edgeA.next=i.m_bodyA.m_jointList,i.m_bodyA.m_jointList&&(i.m_bodyA.m_jointList.prev=i.m_edgeA),i.m_bodyA.m_jointList=i.m_edgeA,i.m_edgeB.prev=null,i.m_edgeB.next=i.m_bodyB.m_jointList,i.m_bodyB.m_jointList&&(i.m_bodyB.m_jointList.prev=i.m_edgeB),i.m_bodyB.m_jointList=i.m_edgeB;var n=t.bodyA,r=t.bodyB;if(!t.collideConnected)for(var s=r.GetContactList();s;)s.other===n&&s.contact.FlagForFiltering(),s=s.next;return i},e.prototype.DestroyJoint=function(t){if(this.IsLocked())throw new Error;var i=t.m_collideConnected;t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_jointList&&(this.m_jointList=t.m_next);var n=t.m_bodyA,r=t.m_bodyB;if(n.SetAwake(!0),r.SetAwake(!0),t.m_edgeA.prev&&(t.m_edgeA.prev.next=t.m_edgeA.next),t.m_edgeA.next&&(t.m_edgeA.next.prev=t.m_edgeA.prev),t.m_edgeA===n.m_jointList&&(n.m_jointList=t.m_edgeA.next),t.m_edgeA.prev=null,t.m_edgeA.next=null,t.m_edgeB.prev&&(t.m_edgeB.prev.next=t.m_edgeB.next),t.m_edgeB.next&&(t.m_edgeB.next.prev=t.m_edgeB.prev),t.m_edgeB===r.m_jointList&&(r.m_jointList=t.m_edgeB.next),t.m_edgeB.prev=null,t.m_edgeB.next=null,e._Joint_Destroy(t,null),--this.m_jointCount,!i)for(var s=r.GetContactList();s;)s.other===n&&s.contact.FlagForFiltering(),s=s.next},e.prototype.CreateParticleSystem=function(e){if(this.IsLocked())throw new Error;var i=new t.b2ParticleSystem(e,this);return i.m_prev=null,i.m_next=this.m_particleSystemList,this.m_particleSystemList&&(this.m_particleSystemList.m_prev=i),this.m_particleSystemList=i,i},e.prototype.DestroyParticleSystem=function(t){if(this.IsLocked())throw new Error;t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),t===this.m_particleSystemList&&(this.m_particleSystemList=t.m_next)},e.prototype.CalculateReasonableParticleIterations=function(t){if(null===this.m_particleSystemList)return 1;return bn(this.m_gravity.Length(),(function(t){for(var e=i,n=t.GetParticleSystemList();null!==n;n=n.m_next)e=S(e,n.GetRadius());return e})(this),t)},e.prototype.Step=function(t,i,n,r){void 0===r&&(r=this.CalculateReasonableParticleIterations(t));var s=e.Step_s_stepTimer.Reset();this.m_newFixture&&(this.m_contactManager.FindNewContacts(),this.m_newFixture=!1),this.m_locked=!0;var a=e.Step_s_step;a.dt=t,a.velocityIterations=i,a.positionIterations=n,a.particleIterations=r,a.inv_dt=t>0?1/t:0,a.dtRatio=this.m_inv_dt0*t,a.warmStarting=this.m_warmStarting;var o=e.Step_s_timer.Reset();if(this.m_contactManager.Collide(),this.m_profile.collide=o.GetMilliseconds(),this.m_stepComplete&&a.dt>0){for(var h=e.Step_s_timer.Reset(),l=this.m_particleSystemList;l;l=l.m_next)l.Solve(a);this.Solve(a),this.m_profile.solve=h.GetMilliseconds()}if(this.m_continuousPhysics&&a.dt>0){var c=e.Step_s_timer.Reset();this.SolveTOI(a),this.m_profile.solveTOI=c.GetMilliseconds()}a.dt>0&&(this.m_inv_dt0=a.inv_dt),this.m_clearForces&&this.ClearForces(),this.m_locked=!1,this.m_profile.step=s.GetMilliseconds()},e.prototype.ClearForces=function(){for(var t=this.m_bodyList;t;t=t.m_next)t.m_force.SetZero(),t.m_torque=0},e.prototype.DrawParticleSystem=function(t){if(null!==this.m_debugDraw){var e=t.GetParticleCount();if(e){var i=t.GetRadius(),n=t.GetPositionBuffer();if(t.m_colorBuffer.data){var r=t.GetColorBuffer();this.m_debugDraw.DrawParticles(n,i,r,e)}else this.m_debugDraw.DrawParticles(n,i,null,e)}}},e.prototype.DrawDebugData=function(){if(null!==this.m_debugDraw){var i=this.m_debugDraw.GetFlags(),n=e.DrawDebugData_s_color.SetRGB(0,0,0);if(i&t.b2DrawFlags.e_shapeBit)for(var r=this.m_bodyList;r;r=r.m_next){var s=r.m_xf;this.m_debugDraw.PushTransform(s);for(var a=r.GetFixtureList();a;a=a.m_next)r.IsActive()?r.GetType()===t.b2BodyType.b2_staticBody?(n.SetRGB(.5,.9,.5),this.DrawShape(a,n)):r.GetType()===t.b2BodyType.b2_kinematicBody?(n.SetRGB(.5,.5,.9),this.DrawShape(a,n)):r.IsAwake()?(n.SetRGB(.9,.7,.7),this.DrawShape(a,n)):(n.SetRGB(.6,.6,.6),this.DrawShape(a,n)):(n.SetRGB(.5,.5,.3),this.DrawShape(a,n));this.m_debugDraw.PopTransform(s)}if(i&t.b2DrawFlags.e_particleBit)for(var o=this.m_particleSystemList;o;o=o.m_next)this.DrawParticleSystem(o);if(i&t.b2DrawFlags.e_jointBit)for(var h=this.m_jointList;h;h=h.m_next)this.DrawJoint(h);if(i&t.b2DrawFlags.e_aabbBit){n.SetRGB(.9,.3,.9);var l=e.DrawDebugData_s_vs;for(r=this.m_bodyList;r;r=r.m_next)if(r.IsActive())for(a=r.GetFixtureList();a;a=a.m_next)for(var c=0;c<a.m_proxyCount;++c){var u=a.m_proxies[c].treeNode.aabb;l[0].Set(u.lowerBound.x,u.lowerBound.y),l[1].Set(u.upperBound.x,u.lowerBound.y),l[2].Set(u.upperBound.x,u.upperBound.y),l[3].Set(u.lowerBound.x,u.upperBound.y),this.m_debugDraw.DrawPolygon(l,4,n)}}if(i&t.b2DrawFlags.e_centerOfMassBit)for(r=this.m_bodyList;r;r=r.m_next){(s=e.DrawDebugData_s_xf).q.Copy(r.m_xf.q),s.p.Copy(r.GetWorldCenter()),this.m_debugDraw.DrawTransform(s)}if(i&t.b2DrawFlags.e_controllerBit)for(var _=this.m_controllerList;_;_=_.m_next)_.Draw(this.m_debugDraw)}},e.prototype.QueryAABB=function(t,e,i){if(this.m_contactManager.m_broadPhase.Query(e,(function(e){var n=e.userData.fixture;return t?t.ReportFixture(n):!i||i(n)})),t instanceof an)for(var n=this.m_particleSystemList;n;n=n.m_next)t.ShouldQueryParticleSystem(n)&&n.QueryAABB(t,e)},e.prototype.QueryAllAABB=function(t,e){return void 0===e&&(e=[]),this.QueryAABB(null,t,(function(t){return e.push(t),!0})),e},e.prototype.QueryPointAABB=function(t,e,i){if(this.m_contactManager.m_broadPhase.QueryPoint(e,(function(e){var n=e.userData.fixture;return t?t.ReportFixture(n):!i||i(n)})),t instanceof an)for(var n=this.m_particleSystemList;n;n=n.m_next)t.ShouldQueryParticleSystem(n)&&n.QueryPointAABB(t,e)},e.prototype.QueryAllPointAABB=function(t,e){return void 0===e&&(e=[]),this.QueryPointAABB(null,t,(function(t){return e.push(t),!0})),e},e.prototype.QueryFixtureShape=function(t,i,n,r,s){var a=e.QueryFixtureShape_s_aabb;if(i.ComputeAABB(a,r,n),this.m_contactManager.m_broadPhase.Query(a,(function(e){var a=e.userData,o=a.fixture;if(Vt(i,n,o.GetShape(),a.childIndex,r,o.GetBody().GetTransform())){if(t)return t.ReportFixture(o);if(s)return s(o)}return!0})),t instanceof an)for(var o=this.m_particleSystemList;o;o=o.m_next)t.ShouldQueryParticleSystem(o)&&o.QueryAABB(t,a)},e.prototype.QueryAllFixtureShape=function(t,e,i,n){return void 0===n&&(n=[]),this.QueryFixtureShape(null,t,e,i,(function(t){return n.push(t),!0})),n},e.prototype.QueryFixturePoint=function(t,e,i){if(this.m_contactManager.m_broadPhase.QueryPoint(e,(function(n){var r=n.userData.fixture;if(r.TestPoint(e)){if(t)return t.ReportFixture(r);if(i)return i(r)}return!0})),t)for(var n=this.m_particleSystemList;n;n=n.m_next)t.ShouldQueryParticleSystem(n)&&n.QueryPointAABB(t,e)},e.prototype.QueryAllFixturePoint=function(t,e){return void 0===e&&(e=[]),this.QueryFixturePoint(null,t,(function(t){return e.push(t),!0})),e},e.prototype.RayCast=function(t,i,n,r){var s=e.RayCast_s_input;if(s.maxFraction=1,s.p1.Copy(i),s.p2.Copy(n),this.m_contactManager.m_broadPhase.RayCast(s,(function(s,a){var o=a.userData,h=o.fixture,l=o.childIndex,c=e.RayCast_s_output;if(h.RayCast(c,s,l)){var u=c.fraction,_=e.RayCast_s_point;if(_.Set((1-u)*i.x+u*n.x,(1-u)*i.y+u*n.y),t)return t.ReportFixture(h,_,c.normal,u);if(r)return r(h,_,c.normal,u)}return s.maxFraction})),t)for(var a=this.m_particleSystemList;a;a=a.m_next)t.ShouldQueryParticleSystem(a)&&a.RayCast(t,i,n)},e.prototype.RayCastOne=function(t,e){var i=null,n=1;return this.RayCast(null,t,e,(function(t,e,r,s){return s<n&&(n=s,i=t),n})),i},e.prototype.RayCastAll=function(t,e,i){return void 0===i&&(i=[]),this.RayCast(null,t,e,(function(t,e,n,r){return i.push(t),1})),i},e.prototype.GetBodyList=function(){return this.m_bodyList},e.prototype.GetJointList=function(){return this.m_jointList},e.prototype.GetParticleSystemList=function(){return this.m_particleSystemList},e.prototype.GetContactList=function(){return this.m_contactManager.m_contactList},e.prototype.SetAllowSleeping=function(t){if(t!==this.m_allowSleep&&(this.m_allowSleep=t,!this.m_allowSleep))for(var e=this.m_bodyList;e;e=e.m_next)e.SetAwake(!0)},e.prototype.GetAllowSleeping=function(){return this.m_allowSleep},e.prototype.SetWarmStarting=function(t){this.m_warmStarting=t},e.prototype.GetWarmStarting=function(){return this.m_warmStarting},e.prototype.SetContinuousPhysics=function(t){this.m_continuousPhysics=t},e.prototype.GetContinuousPhysics=function(){return this.m_continuousPhysics},e.prototype.SetSubStepping=function(t){this.m_subStepping=t},e.prototype.GetSubStepping=function(){return this.m_subStepping},e.prototype.GetProxyCount=function(){return this.m_contactManager.m_broadPhase.GetProxyCount()},e.prototype.GetBodyCount=function(){return this.m_bodyCount},e.prototype.GetJointCount=function(){return this.m_jointCount},e.prototype.GetContactCount=function(){return this.m_contactManager.m_contactCount},e.prototype.GetTreeHeight=function(){return this.m_contactManager.m_broadPhase.GetTreeHeight()},e.prototype.GetTreeBalance=function(){return this.m_contactManager.m_broadPhase.GetTreeBalance()},e.prototype.GetTreeQuality=function(){return this.m_contactManager.m_broadPhase.GetTreeQuality()},e.prototype.SetGravity=function(t,e){if(void 0===e&&(e=!0),!V.IsEqualToV(this.m_gravity,t)&&(this.m_gravity.Copy(t),e))for(var i=this.m_bodyList;i;i=i.m_next)i.SetAwake(!0)},e.prototype.GetGravity=function(){return this.m_gravity},e.prototype.IsLocked=function(){return this.m_locked},e.prototype.SetAutoClearForces=function(t){this.m_clearForces=t},e.prototype.GetAutoClearForces=function(){return this.m_clearForces},e.prototype.ShiftOrigin=function(t){if(this.IsLocked())throw new Error;for(var e=this.m_bodyList;e;e=e.m_next)e.m_xf.p.SelfSub(t),e.m_sweep.c0.SelfSub(t),e.m_sweep.c.SelfSub(t);for(var i=this.m_jointList;i;i=i.m_next)i.ShiftOrigin(t);this.m_contactManager.m_broadPhase.ShiftOrigin(t)},e.prototype.GetContactManager=function(){return this.m_contactManager},e.prototype.GetProfile=function(){return this.m_profile},e.prototype.Dump=function(e){if(!this.m_locked){e("const g: b2Vec2 = new b2Vec2(%.15f, %.15f);\n",this.m_gravity.x,this.m_gravity.y),e("this.m_world.SetGravity(g);\n"),e("const bodies: b2Body[] = [];\n"),e("const joints: b2Joint[] = [];\n");for(var i=0,n=this.m_bodyList;n;n=n.m_next)n.m_islandIndex=i,n.Dump(e),++i;i=0;for(var r=this.m_jointList;r;r=r.m_next)r.m_index=i,++i;for(r=this.m_jointList;r;r=r.m_next)r.m_type!==t.b2JointType.e_gearJoint&&(e("{\n"),r.Dump(e),e("}\n"));for(r=this.m_jointList;r;r=r.m_next)r.m_type===t.b2JointType.e_gearJoint&&(e("{\n"),r.Dump(e),e("}\n"))}},e.prototype.DrawJoint=function(i){if(null!==this.m_debugDraw){var n=i.GetBodyA(),r=i.GetBodyB(),s=n.m_xf,a=r.m_xf,o=s.p,h=a.p,l=i.GetAnchorA(e.DrawJoint_s_p1),c=i.GetAnchorB(e.DrawJoint_s_p2),u=e.DrawJoint_s_color.SetRGB(.5,.8,.8);switch(i.m_type){case t.b2JointType.e_distanceJoint:this.m_debugDraw.DrawSegment(l,c,u);break;case t.b2JointType.e_pulleyJoint:var _=i,f=_.GetGroundAnchorA(),m=_.GetGroundAnchorB();this.m_debugDraw.DrawSegment(f,l,u),this.m_debugDraw.DrawSegment(m,c,u),this.m_debugDraw.DrawSegment(f,m,u);break;case t.b2JointType.e_mouseJoint:var d=e.DrawJoint_s_c;d.Set(0,1,0),this.m_debugDraw.DrawPoint(l,4,d),this.m_debugDraw.DrawPoint(c,4,d),d.Set(.8,.8,.8),this.m_debugDraw.DrawSegment(l,c,d);break;default:this.m_debugDraw.DrawSegment(o,l,u),this.m_debugDraw.DrawSegment(l,c,u),this.m_debugDraw.DrawSegment(h,c,u)}}},e.prototype.DrawShape=function(i,n){if(null!==this.m_debugDraw){var r=i.GetShape();switch(r.m_type){case t.b2ShapeType.e_circleShape:var s=r,a=s.m_p,o=s.m_radius,h=V.UNITX;this.m_debugDraw.DrawSolidCircle(a,o,h,n);break;case t.b2ShapeType.e_edgeShape:var l=r,c=l.m_vertex1,u=l.m_vertex2;this.m_debugDraw.DrawSegment(c,u,n);break;case t.b2ShapeType.e_chainShape:var _=r,f=_.m_count,m=_.m_vertices,d=e.DrawShape_s_ghostColor.SetRGBA(.75*n.r,.75*n.g,.75*n.b,n.a);c=m[0];if(this.m_debugDraw.DrawPoint(c,4,n),_.m_hasPrevVertex){var p=_.m_prevVertex;this.m_debugDraw.DrawSegment(p,c,d),this.m_debugDraw.DrawCircle(p,.1,d)}for(var y=1;y<f;++y){u=m[y];this.m_debugDraw.DrawSegment(c,u,n),this.m_debugDraw.DrawPoint(u,4,n),c=u}if(_.m_hasNextVertex){var v=_.m_nextVertex;this.m_debugDraw.DrawSegment(v,c,d),this.m_debugDraw.DrawCircle(v,.1,d)}break;case t.b2ShapeType.e_polygonShape:var g=r,x=g.m_count;m=g.m_vertices;this.m_debugDraw.DrawSolidPolygon(m,x,n)}}},e.prototype.Solve=function(e){for(var i=this.m_bodyList;i;i=i.m_next)i.m_xf0.Copy(i.m_xf);for(var n=this.m_controllerList;n;n=n.m_next)n.Step(e);this.m_profile.solveInit=0,this.m_profile.solveVelocity=0,this.m_profile.solvePosition=0;var r=this.m_island;r.Initialize(this.m_bodyCount,this.m_contactManager.m_contactCount,this.m_jointCount,null,this.m_contactManager.m_contactListener);for(i=this.m_bodyList;i;i=i.m_next)i.m_islandFlag=!1;for(var s=this.m_contactManager.m_contactList;s;s=s.m_next)s.m_islandFlag=!1;for(var a=this.m_jointList;a;a=a.m_next)a.m_islandFlag=!1;for(var o=this.s_stack,h=this.m_bodyList;h;h=h.m_next)if(!h.m_islandFlag&&h.IsAwake()&&h.IsActive()&&h.GetType()!==t.b2BodyType.b2_staticBody){r.Clear();var l=0;for(o[l++]=h,h.m_islandFlag=!0;l>0;){if(!(i=o[--l]))throw new Error;if(r.AddBody(i),i.m_awakeFlag=!0,i.GetType()!==t.b2BodyType.b2_staticBody){for(var c=i.m_contactList;c;c=c.next){var u=c.contact;if(!u.m_islandFlag&&(u.IsEnabled()&&u.IsTouching())){var _=u.m_fixtureA.m_isSensor,f=u.m_fixtureB.m_isSensor;if(!_&&!f){if(r.AddContact(u),u.m_islandFlag=!0,!(d=c.other))throw new Error;d.m_islandFlag||(o[l++]=d,d.m_islandFlag=!0)}}}for(var m=i.m_jointList;m;m=m.next){var d;if(!m.joint.m_islandFlag)(d=m.other).IsActive()&&(r.AddJoint(m.joint),m.joint.m_islandFlag=!0,d.m_islandFlag||(o[l++]=d,d.m_islandFlag=!0))}}}var p=new ln;r.Solve(p,e,this.m_gravity,this.m_allowSleep),this.m_profile.solveInit+=p.solveInit,this.m_profile.solveVelocity+=p.solveVelocity,this.m_profile.solvePosition+=p.solvePosition;for(var y=0;y<r.m_bodyCount;++y){(i=r.m_bodies[y]).GetType()===t.b2BodyType.b2_staticBody&&(i.m_islandFlag=!1)}}for(y=0;y<o.length&&o[y];++y)o[y]=null;var v=new Y;for(i=this.m_bodyList;i;i=i.m_next)i.m_islandFlag&&i.GetType()!==t.b2BodyType.b2_staticBody&&i.SynchronizeFixtures();this.m_contactManager.FindNewContacts(),this.m_profile.broadphase=v.GetMilliseconds()},e.prototype.SolveTOI=function(i){var r=this.m_island;if(r.Initialize(64,32,0,null,this.m_contactManager.m_contactListener),this.m_stepComplete){for(var s=this.m_bodyList;s;s=s.m_next)s.m_islandFlag=!1,s.m_sweep.alpha0=0;for(var a=this.m_contactManager.m_contactList;a;a=a.m_next)a.m_toiFlag=!1,a.m_islandFlag=!1,a.m_toiCount=0,a.m_toi=1}for(;;){var o=null,h=1;for(a=this.m_contactManager.m_contactList;a;a=a.m_next)if(a.IsEnabled()&&!(a.m_toiCount>8)){var l=1;if(a.m_toiFlag)l=a.m_toi;else{var c=a.GetFixtureA(),u=a.GetFixtureB();if(c.IsSensor()||u.IsSensor())continue;var _=c.GetBody(),f=u.GetBody(),m=_.m_type,d=f.m_type,p=_.IsAwake()&&m!==t.b2BodyType.b2_staticBody,y=f.IsAwake()&&d!==t.b2BodyType.b2_staticBody;if(!p&&!y)continue;var v=_.IsBullet()||m!==t.b2BodyType.b2_dynamicBody,g=f.IsBullet()||d!==t.b2BodyType.b2_dynamicBody;if(!v&&!g)continue;var x=_.m_sweep.alpha0;_.m_sweep.alpha0<f.m_sweep.alpha0?(x=f.m_sweep.alpha0,_.m_sweep.Advance(x)):f.m_sweep.alpha0<_.m_sweep.alpha0&&(x=_.m_sweep.alpha0,f.m_sweep.Advance(x));var A=a.GetChildIndexA(),b=a.GetChildIndexB(),C=e.SolveTOI_s_toi_input;C.proxyA.SetShape(c.GetShape(),A),C.proxyB.SetShape(u.GetShape(),b),C.sweepA.Copy(_.m_sweep),C.sweepB.Copy(f.m_sweep),C.tMax=1;var T=e.SolveTOI_s_toi_output;le(T,C);var w=T.t;l=T.state===t.b2TOIOutputState.e_touching?S(x+(1-x)*w,1):1,a.m_toi=l,a.m_toiFlag=!0}l<h&&(o=a,h=l)}if(null===o||1-10*n<h){this.m_stepComplete=!0;break}var E=o.GetFixtureA(),D=o.GetFixtureB(),M=E.GetBody(),B=D.GetBody(),P=e.SolveTOI_s_backup1.Copy(M.m_sweep),I=e.SolveTOI_s_backup2.Copy(B.m_sweep);if(M.Advance(h),B.Advance(h),o.Update(this.m_contactManager.m_contactListener),o.m_toiFlag=!1,++o.m_toiCount,o.IsEnabled()&&o.IsTouching()){M.SetAwake(!0),B.SetAwake(!0),r.Clear(),r.AddBody(M),r.AddBody(B),r.AddContact(o),M.m_islandFlag=!0,B.m_islandFlag=!0,o.m_islandFlag=!0;for(var R=0;R<2;++R){if((z=0===R?M:B).m_type===t.b2BodyType.b2_dynamicBody)for(var O=z.m_contactList;O&&r.m_bodyCount!==r.m_bodyCapacity&&r.m_contactCount!==r.m_contactCapacity;O=O.next){var L=O.contact;if(!L.m_islandFlag){var F=O.other;if(F.m_type!==t.b2BodyType.b2_dynamicBody||z.IsBullet()||F.IsBullet()){var V=L.m_fixtureA.m_isSensor,N=L.m_fixtureB.m_isSensor;if(!V&&!N){var k=e.SolveTOI_s_backup.Copy(F.m_sweep);F.m_islandFlag||F.Advance(h),L.Update(this.m_contactManager.m_contactListener),L.IsEnabled()&&L.IsTouching()?(L.m_islandFlag=!0,r.AddContact(L),F.m_islandFlag||(F.m_islandFlag=!0,F.m_type!==t.b2BodyType.b2_staticBody&&F.SetAwake(!0),r.AddBody(F))):(F.m_sweep.Copy(k),F.SynchronizeTransform())}}}}}var G=e.SolveTOI_s_subStep;G.dt=(1-h)*i.dt,G.inv_dt=1/G.dt,G.dtRatio=1,G.positionIterations=20,G.velocityIterations=i.velocityIterations,G.particleIterations=i.particleIterations,G.warmStarting=!1,r.SolveTOI(G,M.m_islandIndex,B.m_islandIndex);for(R=0;R<r.m_bodyCount;++R){var z;if((z=r.m_bodies[R]).m_islandFlag=!1,z.m_type===t.b2BodyType.b2_dynamicBody){z.SynchronizeFixtures();for(O=z.m_contactList;O;O=O.next)O.contact.m_toiFlag=!1,O.contact.m_islandFlag=!1}}if(this.m_contactManager.FindNewContacts(),this.m_subStepping){this.m_stepComplete=!1;break}}else o.SetEnabled(!1),M.m_sweep.Copy(P),B.m_sweep.Copy(I),M.SynchronizeTransform(),B.SynchronizeTransform()}},e.prototype.AddController=function(t){return t.m_next=this.m_controllerList,t.m_prev=null,this.m_controllerList&&(this.m_controllerList.m_prev=t),this.m_controllerList=t,++this.m_controllerCount,t},e.prototype.RemoveController=function(t){return t.m_prev&&(t.m_prev.m_next=t.m_next),t.m_next&&(t.m_next.m_prev=t.m_prev),this.m_controllerList===t&&(this.m_controllerList=t.m_next),--this.m_controllerCount,t.m_prev=null,t.m_next=null,t},e.Step_s_step=new cn,e.Step_s_stepTimer=new Y,e.Step_s_timer=new Y,e.DrawDebugData_s_color=new H(0,0,0),e.DrawDebugData_s_vs=V.MakeArray(4),e.DrawDebugData_s_xf=new j,e.QueryFixtureShape_s_aabb=new Pt,e.RayCast_s_input=new Mt,e.RayCast_s_output=new Bt,e.RayCast_s_point=new V,e.DrawJoint_s_p1=new V,e.DrawJoint_s_p2=new V,e.DrawJoint_s_color=new H(.5,.8,.8),e.DrawJoint_s_c=new H,e.DrawShape_s_ghostColor=new H,e.SolveTOI_s_subStep=new cn,e.SolveTOI_s_backup=new W,e.SolveTOI_s_backup1=new W,e.SolveTOI_s_backup2=new W,e.SolveTOI_s_toi_input=new Kt,e.SolveTOI_s_toi_output=new Qt,e})(),Wn=(function(){return function(t,e){this.prevBody=null,this.nextBody=null,this.prevController=null,this.nextController=null,this.controller=t,this.body=e}})(),Hn=(function(){function t(){this.m_bodyList=null,this.m_bodyCount=0,this.m_prev=null,this.m_next=null}return t.prototype.GetNext=function(){return this.m_next},t.prototype.GetPrev=function(){return this.m_prev},t.prototype.GetBodyList=function(){return this.m_bodyList},t.prototype.AddBody=function(t){var e=new Wn(this,t);e.nextBody=this.m_bodyList,e.prevBody=null,this.m_bodyList&&(this.m_bodyList.prevBody=e),this.m_bodyList=e,++this.m_bodyCount,e.nextController=t.m_controllerList,e.prevController=null,t.m_controllerList&&(t.m_controllerList.prevController=e),t.m_controllerList=e,++t.m_controllerCount},t.prototype.RemoveBody=function(t){if(this.m_bodyCount<=0)throw new Error;for(var e=this.m_bodyList;e&&e.body!==t;)e=e.nextBody;if(null===e)throw new Error;e.prevBody&&(e.prevBody.nextBody=e.nextBody),e.nextBody&&(e.nextBody.prevBody=e.prevBody),this.m_bodyList===e&&(this.m_bodyList=e.nextBody),--this.m_bodyCount,e.nextController&&(e.nextController.prevController=e.prevController),e.prevController&&(e.prevController.nextController=e.nextController),t.m_controllerList===e&&(t.m_controllerList=e.nextController),--t.m_controllerCount},t.prototype.Clear=function(){for(;this.m_bodyList;)this.RemoveBody(this.m_bodyList.body);this.m_bodyCount=0},t})(),Xn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.normal=new V(0,1),e.offset=0,e.density=0,e.velocity=new V(0,0),e.linearDrag=0,e.angularDrag=0,e.useDensity=!1,e.useWorldGravity=!0,e.gravity=new V(0,0),e}return ni(e,t),e.prototype.Step=function(t){if(this.m_bodyList){this.useWorldGravity&&this.gravity.Copy(this.m_bodyList.body.GetWorld().GetGravity());for(var e=this.m_bodyList;e;e=e.nextBody){var i=e.body;if(i.IsAwake()){for(var r=new V,s=new V,a=0,o=0,h=i.GetFixtureList();h;h=h.m_next){var l=new V,c=h.GetShape().ComputeSubmergedArea(this.normal,this.offset,i.GetTransform(),l);a+=c,r.x+=c*l.x,r.y+=c*l.y;var u=0;o+=c*(u=this.useDensity?h.GetDensity():1),s.x+=c*l.x*u,s.y+=c*l.y*u}if(r.x/=a,r.y/=a,s.x/=o,s.y/=o,!(a<n)){var _=this.gravity.Clone().SelfNeg();_.SelfMul(this.density*a),i.ApplyForce(_,s);var f=i.GetLinearVelocityFromWorldPoint(r,new V);f.SelfSub(this.velocity),f.SelfMul(-this.linearDrag*a),i.ApplyForce(f,r),i.ApplyTorque(-i.GetInertia()/i.GetMass()*a*i.GetAngularVelocity()*this.angularDrag)}}}}},e.prototype.Draw=function(t){var e=new V,i=new V;e.x=this.normal.x*this.offset+100*this.normal.y,e.y=this.normal.y*this.offset-100*this.normal.x,i.x=this.normal.x*this.offset-100*this.normal.y,i.y=this.normal.y*this.offset+100*this.normal.x;var n=new H(0,0,.8);t.DrawSegment(e,i,n)},e})(Hn),Yn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.A=new V(0,0),e}return ni(e,t),e.prototype.Step=function(t){for(var i=V.MulSV(t.dt,this.A,e.Step_s_dtA),n=this.m_bodyList;n;n=n.nextBody){var r=n.body;r.IsAwake()&&r.SetLinearVelocity(V.AddVV(r.GetLinearVelocity(),i,V.s_t0))}},e.prototype.Draw=function(t){},e.Step_s_dtA=new V,e})(Hn),qn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.F=new V(0,0),e}return ni(e,t),e.prototype.Step=function(t){for(var e=this.m_bodyList;e;e=e.nextBody){var i=e.body;i.IsAwake()&&i.ApplyForce(this.F,i.GetWorldCenter())}},e.prototype.Draw=function(t){},e})(Hn),Jn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.G=1,e.invSqr=!0,e}return ni(e,t),e.prototype.Step=function(t){if(this.invSqr)for(var i=this.m_bodyList;i;i=i.nextBody)for(var r=(l=i.body).GetWorldCenter(),s=l.GetMass(),a=this.m_bodyList;a&&a!==i;a=a.nextBody){var o=(c=a.body).GetWorldCenter(),h=c.GetMass();if(!((f=(u=o.x-r.x)*u+(_=o.y-r.y)*_)<n))(m=e.Step_s_f.Set(u,_)).SelfMul(this.G/f/B(f)*s*h),l.IsAwake()&&l.ApplyForce(m,r),c.IsAwake()&&c.ApplyForce(m.SelfMul(-1),o)}else for(i=this.m_bodyList;i;i=i.nextBody){var l;for(r=(l=i.body).GetWorldCenter(),s=l.GetMass(),a=this.m_bodyList;a&&a!==i;a=a.nextBody){var c,u,_,f,m;o=(c=a.body).GetWorldCenter(),h=c.GetMass();if(!((f=(u=o.x-r.x)*u+(_=o.y-r.y)*_)<n))(m=e.Step_s_f.Set(u,_)).SelfMul(this.G/f*s*h),l.IsAwake()&&l.ApplyForce(m,r),c.IsAwake()&&c.ApplyForce(m.SelfMul(-1),o)}}},e.prototype.Draw=function(t){},e.Step_s_f=new V,e})(Hn),Zn=(function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.T=new G,e.maxTimestep=0,e}return ni(e,t),e.prototype.Step=function(t){var i=t.dt;if(!(i<=n)){i>this.maxTimestep&&this.maxTimestep>0&&(i=this.maxTimestep);for(var r=this.m_bodyList;r;r=r.nextBody){var s=r.body;if(s.IsAwake()){var a=s.GetWorldVector(G.MulMV(this.T,s.GetLocalVector(s.GetLinearVelocity(),V.s_t0),V.s_t1),e.Step_s_damping);s.SetLinearVelocity(V.AddVV(s.GetLinearVelocity(),V.MulSV(i,a,V.s_t0),V.s_t1))}}}},e.prototype.Draw=function(t){},e.prototype.SetAxisAligned=function(t,e){this.T.ex.x=-t,this.T.ex.y=0,this.T.ey.x=0,this.T.ey.y=-e,this.maxTimestep=t>0||e>0?1/T(t,e):0},e.Step_s_damping=new V,e})(Hn),Kn=(function(){return function(){this.vertices=[],this.count=0,this.masses=[],this.gravity=new V(0,0),this.damping=.1,this.k2=.9,this.k3=.1}})(),Qn=(function(){function t(){this.m_count=0,this.m_ps=[],this.m_p0s=[],this.m_vs=[],this.m_ims=[],this.m_Ls=[],this.m_as=[],this.m_gravity=new V,this.m_damping=0,this.m_k2=1,this.m_k3=.1}return t.prototype.GetVertexCount=function(){return this.m_count},t.prototype.GetVertices=function(){return this.m_ps},t.prototype.Initialize=function(t){this.m_count=t.count,this.m_ps=V.MakeArray(this.m_count),this.m_p0s=V.MakeArray(this.m_count),this.m_vs=V.MakeArray(this.m_count),this.m_ims=g(this.m_count);for(var e=0;e<this.m_count;++e){this.m_ps[e].Copy(t.vertices[e]),this.m_p0s[e].Copy(t.vertices[e]),this.m_vs[e].SetZero();var i=t.masses[e];this.m_ims[e]=i>0?1/i:0}var n=this.m_count-1,r=this.m_count-2;this.m_Ls=g(n),this.m_as=g(r);for(e=0;e<n;++e){var s=this.m_ps[e],a=this.m_ps[e+1];this.m_Ls[e]=V.DistanceVV(s,a)}for(e=0;e<r;++e){s=this.m_ps[e],a=this.m_ps[e+1];var o=this.m_ps[e+2],h=V.SubVV(a,s,V.s_t0),l=V.SubVV(o,a,V.s_t1),c=V.CrossVV(h,l),u=V.DotVV(h,l);this.m_as[e]=F(c,u)}this.m_gravity.Copy(t.gravity),this.m_damping=t.damping,this.m_k2=t.k2,this.m_k3=t.k3},t.prototype.Step=function(t,e){if(0!==t){for(var i=Math.exp(-t*this.m_damping),n=0;n<this.m_count;++n)this.m_p0s[n].Copy(this.m_ps[n]),this.m_ims[n]>0&&this.m_vs[n].SelfMulAdd(t,this.m_gravity),this.m_vs[n].SelfMul(i),this.m_ps[n].SelfMulAdd(t,this.m_vs[n]);for(n=0;n<e;++n)this.SolveC2(),this.SolveC3(),this.SolveC2();var r=1/t;for(n=0;n<this.m_count;++n)V.MulSV(r,V.SubVV(this.m_ps[n],this.m_p0s[n],V.s_t0),this.m_vs[n])}},t.prototype.SolveC2=function(){for(var e=this.m_count-1,i=0;i<e;++i){var n=this.m_ps[i],r=this.m_ps[i+1],s=V.SubVV(r,n,t.s_d),a=s.Normalize(),o=this.m_ims[i],h=this.m_ims[i+1];if(o+h!==0){var l=o/(o+h),c=h/(o+h);n.SelfMulSub(this.m_k2*l*(this.m_Ls[i]-a),s),r.SelfMulAdd(this.m_k2*c*(this.m_Ls[i]-a),s)}}},t.prototype.SetAngle=function(t){for(var e=this.m_count-2,i=0;i<e;++i)this.m_as[i]=t},t.prototype.SolveC3=function(){for(var e=this.m_count-2,i=0;i<e;++i){var n=this.m_ps[i],r=this.m_ps[i+1],a=this.m_ps[i+2],o=this.m_ims[i],h=this.m_ims[i+1],l=this.m_ims[i+2],c=V.SubVV(r,n,t.s_d1),u=V.SubVV(a,r,t.s_d2),_=c.LengthSquared(),f=u.LengthSquared();if(_*f!=0){var m=V.CrossVV(c,u),d=V.DotVV(c,u),p=F(m,d),y=V.MulSV(-1/_,c.SelfSkew(),t.s_Jd1),v=V.MulSV(1/f,u.SelfSkew(),t.s_Jd2),g=V.NegV(y,t.s_J1),x=V.SubVV(y,v,t.s_J2),A=v,b=o*V.DotVV(g,g)+h*V.DotVV(x,x)+l*V.DotVV(A,A);if(0!==b){b=1/b;for(var C=p-this.m_as[i];C>s;)C=(p-=2*s)-this.m_as[i];for(;C<-s;)C=(p+=2*s)-this.m_as[i];var S=-this.m_k3*b*C;n.SelfMulAdd(o*S,g),r.SelfMulAdd(h*S,x),a.SelfMulAdd(l*S,A)}}}},t.prototype.Draw=function(t){for(var e=new H(.4,.5,.7),i=0;i<this.m_count-1;++i)t.DrawSegment(this.m_ps[i],this.m_ps[i+1],e)},t.s_d=new V,t.s_d1=new V,t.s_d2=new V,t.s_Jd1=new V,t.s_Jd2=new V,t.s_J1=new V,t.s_J2=new V,t})();t.b2Assert=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i];if(!t)throw new(Error.bind.apply(Error,[void 0].concat(e)))},t.b2Maybe=e,t.b2_maxFloat=i,t.b2_epsilon=n,t.b2_epsilon_sq=r,t.b2_pi=s,t.b2_maxManifoldPoints=a,t.b2_maxPolygonVertices=o,t.b2_aabbExtension=.1,t.b2_aabbMultiplier=2,t.b2_linearSlop=h,t.b2_angularSlop=l,t.b2_polygonRadius=c,t.b2_maxSubSteps=8,t.b2_maxTOIContacts=32,t.b2_velocityThreshold=1,t.b2_maxLinearCorrection=.2,t.b2_maxAngularCorrection=u,t.b2_maxTranslation=2,t.b2_maxTranslationSquared=4,t.b2_maxRotation=_,t.b2_maxRotationSquared=f,t.b2_baumgarte=.2,t.b2_toiBaumgarte=.75,t.b2_invalidParticleIndex=m,t.b2_maxParticleIndex=2147483647,t.b2_particleStride=.75,t.b2_minParticleWeight=1,t.b2_maxParticlePressure=.25,t.b2_maxParticleForce=.5,t.b2_maxTriadDistance=2,t.b2_maxTriadDistanceSquared=4,t.b2_minParticleSystemBufferCapacity=256,t.b2_barrierCollisionTime=2.5,t.b2_timeToSleep=.5,t.b2_linearSleepTolerance=.01,t.b2_angularSleepTolerance=d,t.b2Alloc=function(t){return null},t.b2Free=function(t){},t.b2Log=function(t){for(var e=[],i=1;i<arguments.length;i++)e[i-1]=arguments[i]},t.b2Version=p,t.b2_version=y,t.b2_branch="master",t.b2_commit="fbf51801d80fc389d43dc46524520e89043b6faf",t.b2ParseInt=function(t){return parseInt(t,10)},t.b2ParseUInt=function(t){return Math.abs(parseInt(t,10))},t.b2MakeArray=v,t.b2MakeNullArray=function(t){for(var e=[],i=0;i<t;++i)e.push(null);return e},t.b2MakeNumberArray=g,t.b2_pi_over_180=x,t.b2_180_over_pi=A,t.b2_two_pi=b,t.b2Abs=C,t.b2Min=S,t.b2Max=T,t.b2Clamp=w,t.b2Swap=function(t,e){var i=t[0];t[0]=e[0],e[0]=i},t.b2IsValid=E,t.b2Sq=D,t.b2InvSqrt=M,t.b2Sqrt=B,t.b2Pow=P,t.b2DegToRad=function(t){return t*x},t.b2RadToDeg=function(t){return t*A},t.b2Cos=I,t.b2Sin=R,t.b2Acos=O,t.b2Asin=L,t.b2Atan2=F,t.b2NextPowerOfTwo=function(t){return t|=t>>1&2147483647,t|=t>>2&1073741823,t|=t>>4&268435455,t|=t>>8&16777215,1+(t|=t>>16&65535)},t.b2IsPowerOfTwo=function(t){return t>0&&0==(t&t-1)},t.b2Random=function(){return 2*Math.random()-1},t.b2RandomRange=function(t,e){return(e-t)*Math.random()+t},t.b2Vec2=V,t.b2Vec2_zero=N,t.b2Vec3=k,t.b2Mat22=G,t.b2Mat33=z,t.b2Rot=U,t.b2Transform=j,t.b2Sweep=W,t.b2Color=H,t.b2Draw=X,t.b2Timer=Y,t.b2Counter=q,t.b2GrowableStack=J,t.b2BlockAllocator=Z,t.b2StackAllocator=K,t.b2ContactFeature=Ct,t.b2ContactID=St,t.b2ManifoldPoint=Tt,t.b2Manifold=wt,t.b2WorldManifold=Et,t.b2GetPointStates=function(e,i,n,r){var s;for(s=0;s<n.pointCount;++s){var o=n.points[s].id.key;e[s]=t.b2PointState.b2_removeState;for(var h=0,l=r.pointCount;h<l;++h)if(r.points[h].id.key===o){e[s]=t.b2PointState.b2_persistState;break}}for(;s<a;++s)e[s]=t.b2PointState.b2_nullState;for(s=0;s<r.pointCount;++s)for(o=r.points[s].id.key,i[s]=t.b2PointState.b2_addState,h=0,l=n.pointCount;h<l;++h)if(n.points[h].id.key===o){i[s]=t.b2PointState.b2_persistState;break}for(;s<a;++s)i[s]=t.b2PointState.b2_nullState},t.b2ClipVertex=Dt,t.b2RayCastInput=Mt,t.b2RayCastOutput=Bt,t.b2AABB=Pt,t.b2TestOverlapAABB=It,t.b2ClipSegmentToLine=Rt,t.b2TestOverlapShape=Vt,t.b2DistanceProxy=Q,t.b2SimplexCache=$,t.b2DistanceInput=tt,t.b2DistanceOutput=et,t.b2ShapeCastInput=it,t.b2ShapeCastOutput=nt,t.b2_gjk_reset=function(){t.b2_gjkCalls=0,t.b2_gjkIters=0,t.b2_gjkMaxIters=0},t.b2SimplexVertex=rt,t.b2Simplex=st,t.b2Distance=mt,t.b2ShapeCast=function(t,e){t.iterations=0,t.lambda=1,t.normal.SetZero(),t.point.SetZero();var i=e.proxyA,n=e.proxyB,r=T(i.m_radius,c)+T(n.m_radius,c),s=e.transformA,a=e.transformB,o=e.translationB,l=dt.Set(0,0),u=0,_=pt;_.m_count=0;for(var f=_.m_vertices,m=i.GetSupport(U.MulTRV(s.q,V.NegV(o,V.s_t1),V.s_t0)),d=j.MulXV(s,i.GetVertex(m),yt),p=n.GetSupport(U.MulTRV(a.q,o,V.s_t0)),y=j.MulXV(a,n.GetVertex(p),vt),v=V.SubVV(d,y,gt),g=T(c,r-c),x=.5*h,A=0;A<20&&C(v.Length()-g)>x;){t.iterations+=1,m=i.GetSupport(U.MulTRV(s.q,V.NegV(v,V.s_t1),V.s_t0)),d=j.MulXV(s,i.GetVertex(m),yt),p=n.GetSupport(U.MulTRV(a.q,v,V.s_t0)),y=j.MulXV(a,n.GetVertex(p),vt);var b=V.SubVV(d,y,xt);v.Normalize();var S=V.DotVV(v,b),w=V.DotVV(v,o);if(S-g>u*w){if(w<=0)return!1;if((u=(S-g)/w)>1)return!1;l.Copy(v).SelfNeg(),_.m_count=0}var E=f[_.m_count];switch(E.indexA=p,E.wA.Copy(y).SelfMulAdd(u,o),E.indexB=m,E.wB.Copy(d),E.w.Copy(E.wB).SelfSub(E.wA),E.a=1,_.m_count+=1,_.m_count){case 1:break;case 2:_.Solve2();break;case 3:_.Solve3()}if(3===_.m_count)return!1;_.GetClosestPoint(v),++A}var D=At,M=bt;return _.GetWitnessPoints(D,M),v.LengthSquared()>0&&(l.Copy(v).SelfNeg(),l.Normalize()),t.normal.Copy(l),t.lambda=u,t.iterations=A,!0},t.b2Pair=zt,t.b2BroadPhase=Ut,t.b2PairLessThan=jt,t.b2TreeNode=kt,t.b2DynamicTree=Gt,t.b2_toi_reset=function(){t.b2_toiTime=0,t.b2_toiMaxTime=0,t.b2_toiCalls=0,t.b2_toiIters=0,t.b2_toiMaxIters=0,t.b2_toiRootIters=0,t.b2_toiMaxRootIters=0},t.b2TOIInput=Kt,t.b2TOIOutput=Qt,t.b2SeparationFunction=$t,t.b2TimeOfImpact=le,t.b2CollideCircles=_e,t.b2CollidePolygonAndCircle=pe,t.b2CollidePolygons=ke,t.b2CollideEdgeAndCircle=qe,t.b2CollideEdgeAndPolygon=$e,t.b2MassData=ti,t.b2Shape=ei,t.b2CircleShape=ri,t.b2PolygonShape=si,t.b2EdgeShape=ai,t.b2ChainShape=oi,t.b2Filter=hi,t.b2FixtureDef=li,t.b2FixtureProxy=ci,t.b2Fixture=ui,t.b2BodyDef=_i,t.b2Body=fi,t.b2World=jn,t.b2DestructionListener=en,t.b2ContactFilter=nn,t.b2ContactImpulse=rn,t.b2ContactListener=sn,t.b2QueryCallback=an,t.b2RayCastCallback=on,t.b2Island=xn,t.b2Profile=ln,t.b2TimeStep=cn,t.b2Position=un,t.b2Velocity=_n,t.b2SolverData=fn,t.b2ContactManager=hn,t.b2MixFriction=Ui,t.b2MixRestitution=ji,t.b2ContactEdge=Wi,t.b2Contact=Hi,t.b2ContactRegister=$i,t.b2ContactFactory=tn,t.g_blockSolve=!1,t.b2VelocityConstraintPoint=mn,t.b2ContactVelocityConstraint=dn,t.b2ContactPositionConstraint=pn,t.b2ContactSolverDef=yn,t.b2PositionSolverManifold=vn,t.b2ContactSolver=gn,t.b2CircleContact=Xi,t.b2PolygonContact=Yi,t.b2PolygonAndCircleContact=qi,t.b2EdgeAndCircleContact=Ji,t.b2EdgeAndPolygonContact=Zi,t.b2ChainAndCircleContact=Ki,t.b2ChainAndPolygonContact=Qi,t.b2Jacobian=mi,t.b2JointEdge=di,t.b2JointDef=pi,t.b2Joint=yi,t.b2AreaJointDef=xi,t.b2AreaJoint=Ai,t.b2DistanceJointDef=vi,t.b2DistanceJoint=gi,t.b2FrictionJointDef=bi,t.b2FrictionJoint=Ci,t.b2GearJointDef=Si,t.b2GearJoint=Ti,t.b2MotorJointDef=wi,t.b2MotorJoint=Ei,t.b2MouseJointDef=Di,t.b2MouseJoint=Mi,t.b2PrismaticJointDef=Bi,t.b2PrismaticJoint=Pi,t.b2_minPulleyLength=2,t.b2PulleyJointDef=Ii,t.b2PulleyJoint=Ri,t.b2RevoluteJointDef=Oi,t.b2RevoluteJoint=Li,t.b2RopeJointDef=Fi,t.b2RopeJoint=Vi,t.b2WeldJointDef=Ni,t.b2WeldJoint=ki,t.b2WheelJointDef=Gi,t.b2WheelJoint=zi,t.b2ControllerEdge=Wn,t.b2Controller=Hn,t.b2BuoyancyController=Xn,t.b2ConstantAccelController=Yn,t.b2ConstantForceController=qn,t.b2GravityController=Jn,t.b2TensorDampingController=Zn,t.b2ParticleDef=An,t.b2CalculateParticleIterations=bn,t.b2ParticleHandle=Cn,t.b2ParticleGroupDef=Sn,t.b2ParticleGroup=Tn,t.b2GrowableBuffer=Fn,t.b2FixtureParticleQueryCallback=Vn,t.b2ParticleContact=Nn,t.b2ParticleBodyContact=kn,t.b2ParticlePair=Gn,t.b2ParticleTriad=zn,t.b2ParticleSystemDef=Un,t.b2RopeDef=Kn,t.b2Rope=Qn,Object.defineProperty(t,"__esModule",{value:!0})}))}),{}],303:[(function(t,e,i){var n="undefined"==typeof window?global:window;n.cc=n.cc||{},n._cc=n._cc||{},t("./predefine"),t("./polyfill/string"),t("./polyfill/misc"),t("./polyfill/array"),t("./polyfill/object"),t("./polyfill/array-buffer"),t("./polyfill/typescript"),t("./cocos2d/core/predefine"),t("./cocos2d"),t("./extends"),e.exports=n.cc}),{"./cocos2d":261,"./cocos2d/core/predefine":185,"./extends":281,"./package":void 0,"./polyfill/array":305,"./polyfill/array-buffer":304,"./polyfill/misc":306,"./polyfill/object":307,"./polyfill/string":308,"./polyfill/typescript":309,"./predefine":310}],304:[(function(t,e,i){ArrayBuffer.isView||(function(){var t=Object.getPrototypeOf(Object.getPrototypeOf(new Uint8Array)).constructor;ArrayBuffer.isView=function(e){return e instanceof t}})()}),{}],305:[(function(t,e,i){Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)})}),{}],306:[(function(t,e,i){if(Math.sign||(Math.sign=function(t){return 0===(t=+t)||isNaN(t)?t:t>0?1:-1}),Number.isInteger||(Number.isInteger=function(t){return"number"==typeof t&&isFinite(t)&&Math.floor(t)===t}),!console.time){var n=window.performance||Date,r=Object.create(null);console.time=function(t){r[t]=n.now()},console.timeEnd=function(t){var e=r[t],i=n.now()-e;console.log(t+": "+i+"ms")}}}),{}],307:[(function(t,e,i){Object.assign||(Object.assign=function(t,e){cc.js.mixin(t,e)}),Object.getOwnPropertyDescriptors||(Object.getOwnPropertyDescriptors=function(t){for(var e={},i=Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t)),n=0;n<i.length;++n){var r=i[n];e[r]=Object.getOwnPropertyDescriptor(t,r)}return e})}),{}],308:[(function(t,e,i){String.prototype.startsWith||(String.prototype.startsWith=function(t,e){return e=e||0,this.lastIndexOf(t,e)===e}),String.prototype.endsWith||(String.prototype.endsWith=function(t,e){(void 0===e||e>this.length)&&(e=this.length),e-=t.length;var i=this.indexOf(t,e);return-1!==i&&i===e})}),{}],309:[(function(t,e,i){var n=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)e.hasOwnProperty(i)&&(t[i]=e[i])};window.__extends=function(t,e){function i(){this.constructor=t}n(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)},window.__assign=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++){e=arguments[i];for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r])}return t},window.__rest=function(t,e){var i={};for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&e.indexOf(n)<0&&(i[n]=t[n]);if(null!=t&&"function"==typeof Object.getOwnPropertySymbols){var r=0;for(n=Object.getOwnPropertySymbols(t);r<n.length;r++)e.indexOf(n[r])<0&&(i[n[r]]=t[n[r]])}return i},window.__decorate=function(t,e,i,n){var r,s=arguments.length,a=s<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,i,n);else for(var o=t.length-1;o>=0;o--)(r=t[o])&&(a=(s<3?r(a):s>3?r(e,i,a):r(e,i))||a);return s>3&&a&&Object.defineProperty(e,i,a),a},window.__param=function(t,e){return function(i,n){e(i,n,t)}},window.__metadata=function(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)},window.__awaiter=function(t,e,i,n){return new(i||(i=Promise))(function(r,s){function a(t){try{h(n.next(t))}catch(t){s(t)}}function o(t){try{h(n.throw(t))}catch(t){s(t)}}function h(t){t.done?r(t.value):new i(function(e){e(t.value)}).then(a,o)}h((n=n.apply(t,e||[])).next())})},window.__generator=function(t,e){var i,n,r,s,a={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return s={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function o(s){return function(o){return (function(s){if(i)throw new TypeError("Generator is already executing.");for(;a;)try{if(i=1,n&&(r=n[2&s[0]?"return":s[0]?"throw":"next"])&&!(r=r.call(n,s[1])).done)return r;switch(n=0,r&&(s=[0,r.value]),s[0]){case 0:case 1:r=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(r=(r=a.trys).length>0&&r[r.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!r||s[1]>r[0]&&s[1]<r[3])){a.label=s[1];break}if(6===s[0]&&a.label<r[1]){a.label=r[1],r=s;break}if(r&&a.label<r[2]){a.label=r[2],a.ops.push(s);break}r[2]&&a.ops.pop(),a.trys.pop();continue}s=e.call(t,a)}catch(t){s=[6,t],n=0}finally{i=r=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}})([s,o])}}},window.__exportStar=function(t,e){for(var i in t)e.hasOwnProperty(i)||(e[i]=t[i])},window.__values=function(t){var e="function"==typeof Symbol&&t[Symbol.iterator],i=0;return e?e.call(t):{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}}},window.__read=function(t,e){var i="function"==typeof Symbol&&t[Symbol.iterator];if(!i)return t;var n,r,s=i.call(t),a=[];try{for(;(void 0===e||e-- >0)&&!(n=s.next()).done;)a.push(n.value)}catch(t){r={error:t}}finally{try{n&&!n.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}return a},window.__spread=function(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(__read(arguments[e]));return t},window.__await=function(t){return this instanceof __await?(this.v=t,this):new __await(t)},window.__asyncGenerator=function(t,e,i){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n,r=i.apply(t,e||[]),s=[];return n={},a("next"),a("throw"),a("return"),n[Symbol.asyncIterator]=function(){return this},n;function a(t){r[t]&&(n[t]=function(e){return new Promise(function(i,n){s.push([t,e,i,n])>1||o(t,e)})})}function o(t,e){try{(function(t){t.value instanceof __await?Promise.resolve(t.value.v).then(h,l):c(s[0][2],t)})(r[t](e))}catch(t){c(s[0][3],t)}}function h(t){o("next",t)}function l(t){o("throw",t)}function c(t,e){t(e),s.shift(),s.length&&o(s[0][0],s[0][1])}},window.__asyncDelegator=function(t){var e,i;return e={},n("next"),n("throw",(function(t){throw t})),n("return"),e[Symbol.iterator]=function(){return this},e;function n(n,r){t[n]&&(e[n]=function(e){return(i=!i)?{value:__await(t[n](e)),done:"return"===n}:r?r(e):e})}},window.__asyncValues=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator];return e?e.call(t):"function"==typeof __values?__values(t):t[Symbol.iterator]()}}),{}],310:[(function(t,e,i){var n="undefined"==typeof window?global:window;function r(t,e){void 0===n[t]&&(n[t]=e)}r("CC_BUILD",!1),n.CC_BUILD=!0,n.CC_TEST=!1,n.CC_EDITOR=!1,n.CC_PREVIEW=!1,n.CC_DEV=!1,n.CC_DEBUG=!1,n.CC_JSB=!1,n.CC_WECHATGAMESUB=!1,n.CC_WECHATGAME=!1,n.CC_QQPLAY=!1,n.CC_RUNTIME=!1,n.CC_SUPPORT_JIT=!0;n.CocosEngine=cc.ENGINE_VERSION="2.0.9"}),{}]},{},[303]);