System.register([],(function(t,e){"use strict";return{execute:function(){function i(t,e){for(var i=0;it.length)&&(e=t.length);for(var i=0,n=new Array(e);i=t.length?{done:!0}:{done:!1,value:t[n++]}}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function d(t){var e=function(t,e){if("object"!=typeof t||null===t)return t;var i=t[Symbol.toPrimitive];if(void 0!==i){var n=i.call(t,e);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(t)}(t,"string");return"symbol"==typeof e?e:String(e)}function p(t,e,i,n,r){var s={};return Object.keys(n).forEach((function(t){s[t]=n[t]})),s.enumerable=!!s.enumerable,s.configurable=!!s.configurable,("value"in s||s.initializer)&&(s.writable=!0),s=i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),s),r&&void 0!==s.initializer&&(s.value=s.initializer?s.initializer.call(r):void 0,s.initializer=void 0),void 0===s.initializer&&(Object.defineProperty(t,e,s),s=null),s}function m(t,e){const i="undefined"==typeof window?global:window;return void 0===i[t]?i[t]=e:i[t]}t({$:ZN,K:function(){return 0},P:YN,W:qN,X:KN,Y:function(t){return jN.test(t)},Z:function(t){return XN.test(t)},_:f,a0:QN,a1:$N,aA:PZ,aO:Gn,aQ:ln,aS:sn,aU:Dn,aX:Fn,a_:Hn,aw:x2,ax:w2,az:function(t,e){for(var i=t,n="";null!==i&&i!==e;)n=i.name+"/"+n,i=i.parent;return n.slice(0,-1)},b0:Xn,b2:gn,b7:Ri,b8:Ii,b9:Di,bA:ve,bB:Ae,bG:function(t){t>0&&(ct=t)},bK:gt,bL:function(t){for(var e,i=f(t);!(e=i()).done;)yt(e.value)},bM:function(t){return dt||(dt="undefined"==typeof Proxy?{}:new Proxy(t,{get:function(t,e,i){return yt(e),Reflect.get(t,e,i)}})),dt},bN:Al,bO:bl,bR:yi,bS:vi,ba:Bi,bb:Mi,bc:Pi,bd:Oi,be:Li,bf:Fi,bg:Ni,bh:ki,bi:Gi,bj:Vi,bk:Ui,bl:zi,bm:Hi,bn:Wi,bo:Xi,bp:ji,bq:Yi,br:qi,bs:tn,bt:en,bz:ge,c:$pt,c0:function(t){return t[ra]},c3:Qu,c5:H,c6:G,c7:U,c8:V,c9:z,cB:Ll,cC:bh,cD:Vh,cP:aa,cR:function(t,e,i){if(ye(t,e),ye(t,i),e===i)return t;var n=t[e];if(e>>1;n<=r;s=n+r>>>1){var a=t[s];if(i(a,e)<0)r=s-1;else{if(!(i(a,e)>0))return s;n=s+1}}return~n},d5:function(){},d6:function(){},d7:ye,d8:Ul,dE:oL,df:hO,e7:kp,e9:m8,gR:uLt,gS:lLt,u:Qpt}),m("CC_WECHAT",!1),m("CC_BAIDU",!1),m("CC_XIAOMI",!1),m("CC_ALIPAY",!1),m("CC_BYTEDANCE",!1),m("CC_OPPO",!1),m("CC_VIVO",!1),m("CC_HUAWEI",!1),m("CC_COCOSPLAY",!1),m("CC_QTT",!1),m("CC_LINKSURE",!1);const g=!1;m("CC_EDITOR",!1);m("CC_PREVIEW",!1),m("CC_BUILD",!0),m("CC_TEST",!1),m("CC_DEBUG",!1),m("CC_DEV",!1),m("CC_MINIGAME",!1),m("CC_RUNTIME_BASED",!1),m("CC_SUPPORT_JIT",!0),m("CC_JSB",!1);var y="undefined"==typeof window?global:window,v=t("aL",{_global:y});v.internal={};var S=t("aK","3.8.1");y.CocosEngine=v.ENGINE_VERSION=S,y.cc=v;var T=void 0!==globalThis.jsb&&void 0!==jsb.window?jsb.window:globalThis;y.ccwindow=T;var A=2147483647;function b(t){return(t>0)-(t<0)}function E(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}function C(t){return 16843009*((t=(858993459&(t-=t>>>1&1431655765))+(t>>>2&858993459))+(t>>>4)&252645135)>>>24}function x(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}function w(t){return--t,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,1+(t|=t>>>16)}var R=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<>31;return(t^e)-e},min:function(t,e){return e^(t^e)&-(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:C,countTrailingZeros:x,nextPow2:w,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 R[255&t]<<24|R[t>>>8&255]<<16|R[t>>>16&255]<<8|R[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>>>x(t)+1}});t("aM",I);var D=T.document,B="https://github.com/cocos-creator/engine/blob/develop/EngineErrorMap.md",M=null,P=console.log.bind(console),O=P,L=P,F=function(t,e){if(!t){for(var i=arguments.length,n=new Array(i>2?i-2:0),r=2;r2?i-2:0),r=2;r$.ERROR){var e=function(t){if(v.game.canvas){if(!M){var e=D.createElement("Div");e.setAttribute("id","logInfoDiv"),e.setAttribute("width","200"),e.setAttribute("height",v.game.canvas.height);var i=e.style;i.zIndex="99999",i.position="absolute",i.top=i.left="0",(M=D.createElement("textarea")).setAttribute("rows","20"),M.setAttribute("cols","30"),M.setAttribute("disabled","true");var n=M.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="0px",e.appendChild(M),v.game.canvas.parentNode.appendChild(e)}M.value=M.value+t+"\r\n",M.scrollTop=M.scrollHeight}};L=function(){e("ERROR : "+k.apply(void 0,arguments))},F=function(t,i){if(!t){for(var n=arguments.length,r=new Array(n>2?n-2:0),s=2;s2?i-2:0),r=2;r1?n-1:0),s=1;s1?e-1:0),n=1;n1?e-1:0),n=1;n1?e-1:0),n=1;n2?i-2:0),r=2;r1?e-1:0),n=1;no.count&&(r("'%s' is deprecated, please use '%s' instead. "+a,t+"."+e,i+"."+n),o.count++)},t("bH",st=function(t,e,i){null!=t&&i.forEach((function(i){var n=_t++;ft.set(n,{id:n,count:0,logTimes:void 0!==i.logTimes?i.logTimes:ct});var r=null!=i.target?i.target:t,s=null!=i.newName?i.newName:i.name,a=null!=i.targetName?i.targetName:e,o=r===t,h=i.suggest?"("+i.suggest+")":"";if(null!=i.customFunction)t[i.name]=function(){var t;return ht(e,i.name,a,s,V,n,h),(t=i.customFunction).call.apply(t,[this].concat(Array.prototype.slice.call(arguments)))};else if(null!=i.customSetter||null!=i.customGetter){var u=null!=i.customSetter,l=null!=i.customGetter;u&&l?Object.defineProperty(t,i.name,{get:function(){return ht(e,i.name,a,s,V,n,h),i.customGetter.call(this)},set:function(t){ht(e,i.name,a,s,V,n,h),i.customSetter.call(this,t)},enumerable:!1}):u?Object.defineProperty(t,i.name,{set:function(t){ht(e,i.name,a,s,V,n,h),i.customSetter.call(this,t)},enumerable:!1}):l&&Object.defineProperty(t,i.name,{get:function(){return ht(e,i.name,a,s,V,n,h),i.customGetter.call(this)},enumerable:!1})}else Object.defineProperty(t,i.name,{get:function(){return ht(e,i.name,a,s,V,n,h),o?this[s]:r[s]},set:function(t){ht(e,i.name,a,s,V,n,h),o?this[s]=t:r[s]=t},enumerable:!1})}))}),ut=function(t,e,i,n,r){var s=ft.get(n);s&&s.logTimes>s.count&&(i("'%s' has been removed. "+r,t+"."+e),s.count++)},t("bI",at=function(t,e,i){null!=t&&i.forEach((function(i){var n=_t++;ft.set(n,{id:n,count:0,logTimes:void 0!==i.logTimes?i.logTimes:ct});var r=i.suggest?"("+i.suggest+")":"";Object.defineProperty(t,i.name,{get:function(){return ut(e,i.name,U,n,r)},set:function(){ut(e,i.name,U,n,r)},enumerable:!1})}))}),t("bJ",ot=function(){});var dt,pt,mt={};function gt(t){for(var e in t){var i=t[e];mt[e]=i}}function yt(t){var e=mt[t];if(e){var i=e.newName,n=e.since;e.removed?i?Q(16003,t,n,i):Q(16002,t,n):i?J(16001,t,n,i):J(16e3,t,n)}}var vt=function(){function t(t){this.id=void 0,this.prefix=void 0,this.id=0|998*Math.random(),this.prefix=t?t+".":""}return t.prototype.getNewId=function(){return this.prefix+(++this.id).toString()},t}();pt=vt,vt.global=new pt("global");var St=new vt("TmpCId."),Tt="undefined"==typeof Symbol?"__aliases__":Symbol("[[Aliases]]"),At="__cid__";function bt(t){return"number"==typeof t||t instanceof Number}function Et(t){return"string"==typeof t||t instanceof String}function Ct(t){for(var e in t)return!1;return!0}var xt,wt=(xt={value:void 0,enumerable:!1,writable:!1,configurable:!0},function(t,e,i,n,r){xt.value=i,xt.writable=n,xt.enumerable=r,Object.defineProperty(t,e,xt),xt.value=void 0}),Rt=function(){var t={get:void 0,set:void 0,enumerable:!1};return function(e,i,n,r,s,a){void 0===s&&(s=!1),void 0===a&&(a=!1),"boolean"==typeof r&&(console.log("Set `setter` to boolean is deprecated. Please don not use like this again."),s=r,r=void 0),t.get=n,t.set=r,t.enumerable=s,t.configurable=a,Object.defineProperty(e,i,t),t.get=void 0,t.set=void 0}}(),It=function(){var t={get:void 0,enumerable:!1,configurable:!1};return function(e,i,n,r,s){t.get=n,t.enumerable=r,t.configurable=s,Object.defineProperty(e,i,t),t.get=void 0}}(),Dt=function(){var t={set:void 0,enumerable:!1,configurable:!1};return function(e,i,n,r,s){t.set=n,t.enumerable=r,t.configurable=s,Object.defineProperty(e,i,t),t.set=void 0}}();function Bt(t){var e=Object.create(null);return t&&(e["."]=1,e["/"]=1,delete e["."],delete e["/"]),e}function Mt(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)?/\[\w+\s*(\w+)\]/.exec(r):/function\s*(\w+)/.exec(r))&&2===n.length&&(i=n[1])}return"Object"!==i?i:""}return t&&t.constructor?Mt(t.constructor):""}function Pt(t,e,i,n){var r=/([^.]+)$/,s=r.exec(e)[0],a=r.exec(i)[0];function o(){return this[a]}n?Rt(t,s,o,(function(t){this[a]=t})):It(t,s,o)}function Ot(t,e,i,n){for(var r in i)Pt(t,e+"."+r,i[r],n)}var Lt=/(%d)|(%s)/,Ft=/%s/;function Nt(t){for(var e=arguments.length,i=new Array(e>1?e-1:0),n=1;n1?e-1:0),n=1;n1?e-1:0),n=1;n0){--this.count;var t=this._pool[this.count];return this._pool[this.count]=null,t}return null},t.put=function(t){var e=this._pool;if(this.count=0&&(this._pool.length=t,this.count>t&&(this.count=t))},e}(),oe=function(){function t(t){this.i=0,this.array=t}var e=t.prototype;return e.remove=function(t){var e=this.array.indexOf(t);e>=0&&this.removeAt(e)},e.removeAt=function(t){this.array.splice(t,1),t<=this.i&&--this.i},e.fastRemove=function(t){var e=this.array.indexOf(t);e>=0&&this.fastRemoveAt(e)},e.fastRemoveAt=function(t){var e=this.array;e[t]=e[e.length-1],--e.length,t<=this.i&&--this.i},e.push=function(t){this.array.push(t)},n(t,[{key:"length",get:function(){return this.array.length},set:function(t){this.array.length=t,this.i>=t&&(this.i=t-1)}}]),t}();function he(t,e){t.splice(e,1)}function ue(t,e){var i=t.length;e<0||e>=i||(t[e]=t[i-1],t.length=i-1)}function le(t,e){var i=t.indexOf(e);return i>=0&&(he(t,i),!0)}function ce(t,e){var i=t.indexOf(e);i>=0&&(t[i]=t[t.length-1],--t.length)}function _e(t,e){var i=t.findIndex(e);if(i>=0){var n=t[i];return he(t,i),n}}function fe(t,e){return t.indexOf(e)>=0}var de=Object.freeze({__proto__:null,removeAt:he,fastRemoveAt:ue,remove:le,fastRemove:ce,removeIf:_e,verifyType:function(t,e){if(t&&t.length>0)for(var i,n=f(t);!(i=n()).done;)if(!(i.value instanceof e))return q(1300),!1;return!0},removeArray:function(t,e){for(var i=0,n=e.length;i=0&&t.length,t.length}function ve(t){return"__enums__"in t?t:(wt(t,"__enums__",null,!0),ve.update(t))}function Se(t){t.hasOwnProperty("__enums__")}function Te(t){Se(t);var e=t.__enums__||[];for(var i in e.length=0,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})),t.__enums__=e,e}function Ae(t){"__enums__"in t||wt(t,"__enums__",null,!0)}t("bD",me),ge.isBitMask=function(t){return t&&t.hasOwnProperty("__bitmask__")},ge.getList=function(t){return t.__bitmask__?t.__bitmask__:ge.update(t)},ge.update=function(t){Array.isArray(t.__bitmask__)||(t.__bitmask__=[]);var e=t.__bitmask__;for(var i in e.length=0,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},v.BitMask=ge,ve.update=function(t){for(var e=-1,i=Object.keys(t),n=0;n2?n-2:0),s=2;si){var n=e;e=i,i=n}return t=0;n--){var r=i[n];r.hasOwnProperty("__attrs__")&&r.__attrs__||He(r,(e=i[n+1])&&e.__attrs__)}return He(t,(e=i[0])&&e.__attrs__),t.__attrs__}function Xe(t,e){var i=je(t),n=e+ze,r={};for(var s in i)s.startsWith(n)&&(r[s.slice(n.length)]=i[s]);return r}function je(t){return t.hasOwnProperty("__attrs__")&&t.__attrs__||We(t)}function Ye(t,e,i,n){je(t)[e+ze+i]=n}var qe=function(){function t(t,e){this.name=void 0,this.default=void 0,this.name=t,this.default=e}return t.prototype.toString=function(){return this.name},t}(),Ke=t("bU",new qe("Integer",0));v.Integer=Ke,v.CCInteger=Ke;var Je=t("bV",new qe("Float",0));v.Float=Je,v.CCFloat=Je;var Ze=t("bW",new qe("Boolean",!1));v.Boolean=Ze,v.CCBoolean=Ze;var Qe=t("bX",new qe("String",""));function $e(t,e){return function(i,n){var r='"'+Mt(i)+"."+n+'"',s=Xe(i,n),a=s.type;if(a===Ke||a===Je?a="Number":a!==Qe&&a!==Ze||(a=""+a),a===t){if(s.hasOwnProperty("default")){var o=s.default;if(void 0!==o&&!Array.isArray(o)&&!ke(o)){var h=typeof o,u=t.toLowerCase();if(h===u)if("object"===u){if(!o||o instanceof s.ctor)return;J(3605,r,Mt(s.ctor))}else"Number"!==t&&J(3606,e,r,t);else{if("function"===h)return;t===Qe.default&&null==o?J(3607,r):J(3611,e,r,h)}delete s.type}}}else J(3604,r)}}v.String=Qe,v.CCString=Qe;var ti=Object.freeze({__proto__:null,DELIMETER:ze,createAttrsSingle:He,createAttrs:We,attr:Xe,getClassAttrs:je,setClassAttr:Ye,PrimitiveType:qe,CCInteger:Ke,CCFloat:Je,CCBoolean:Ze,CCString:Qe,getTypeChecker_ET:$e,getObjTypeChecker_ET:function(t){return function(e,i){$e("Object","type")(e,i);var n=je(e)[i+ze+"default"],r=v.Class.getDefault(n);if(!Array.isArray(r)&&Xt(t,v.ValueType)){var s=Mt(t),a=Nt('No need to specify the "type" of "%s.%s" because %s is a child class of ValueType.',Mt(e),i,s);n?G(a):J(3612,a,s,Mt(e),i,s)}}}}),ei={default:{},serializable:{},editorOnly:{},formerlySerializedAs:{}};function ii(t,e,i,n){if(!t.get&&!t.set&&t.hasOwnProperty("default")){var r="_N$"+e;t.get=function(){return this[r]},t.set=function(t){var e=this[r];this[r]=t,i.call(this,e)};var s={};for(var a in n[r]=s,ei){var o=ei[a];t.hasOwnProperty(a)&&(s[a]=t[a],o.canUsedInGet||delete t[a])}}}function ni(t,e,i,n){if(Array.isArray(e)){if(!(e.length>0))return Q(5508,i,n);t.type=e=e[0]}"function"==typeof e&&(e===String?t.type=v.String:e===Boolean?t.type=v.Boolean:e===Number&&(t.type=v.Float))}function ri(t,e,i){var n=t||void 0===e?{_short:!0}:{_short:!0,default:e};return i&&(n.type=i),n}function si(t,e){if(!t||t.constructor!==Object){if(Array.isArray(t)&&t.length>0)return ri(e,[],t);if("function"==typeof t){var i=t;return ri(e,Xt(i,v.ValueType)?new i:null,i)}return t instanceof qe?ri(e,void 0,t):ri(e,t)}return null}var ai,oi=[];function hi(){return oi[oi.length-1]}function ui(t,e,i){li(je(t),e,i)}function li(t,e,i){t[e+"$_$type"]="Enum",t[e+"$_$enumList"]=ve.getList(i)}v._RF={push:function(t,e,i,n){void 0===i&&(i=e,e=""),oi.push({uuid:e,script:i,module:t,exports:t.exports,beh:null,importMeta:n})},pop:function(){var t=oi.pop(),e=t.module,i=e.exports;if(i===t.exports){for(var n in i)return;e.exports=i=t.cls}},peek:hi},function(t){t[t.STANDALONE=1]="STANDALONE",t[t.IMPLICIT_VISIBLE=2]="IMPLICIT_VISIBLE",t[t.IMPLICIT_SERIALIZABLE=4]="IMPLICIT_SERIALIZABLE"}(ai||(ai={}));var ci=ze,_i="__ctors__",fi=t("cW","Enum"),di=t("cX","BitMask");function pi(t,e,i,n){!function(t,e){!function(t,e){t.indexOf(e)<0&&t.push(e)}(t.__props__,e)}(t,i),Ti(t,n,e,i)}function mi(t,e,i,n){var r=n.get;n.set,r&&(Ti(t,n,e,i),Ye(t,i,"serializable",!1))}function gi(t){return"function"==typeof t?t():t}function yi(t){var e=t.name,i=t.extends,n=function(t,e,i){var n=v.Component,r=hi();if(r&&Xt(e,n)){if(Xt(r.cls,n))return Q(3615),null;t=t||r.script}var s=function(t,e,i){var n=i.ctor;return wt(n,_i,!0,!0),n.prototype,e&&(n.$super=e),Qt(t,n),n}(t,e,i);if(r)if(Xt(e,n)){var a=r.uuid;a&&Jt(a,s),r.cls=s}else Xt(r.cls,n)||(r.cls=s);return s}(e,i,t);e||(e=v.js.getClassName(n)),n._sealed=!0,i&&(i._sealed=!1),function(t,e,i,n){if(t.__props__=[],n&&n.__props__&&(t.__props__=n.__props__.slice()),i)for(var r in function(t,e){for(var i in t){var n=t[i],r=si(n,!1);if(r&&(n=t[i]=r),n){var s=n.notify;s&&ii(n,i,s,t),"type"in n&&ni(n,n.type,e,i)}}}(i,e),i){var s=i[r];s.get||s.set?mi(t,e,r,s):pi(t,e,r,s)}var a=je(t);t.__values__=t.__props__.filter((function(t){return!1!==a[t+"$_$serializable"]}))}(n,e,t.properties,i);var r=t.editor;return r&&Xt(i,v.Component)&&v.Component._registerEditorProps(n,r),n}function vi(t){var e;return null==t||null===(e=t.hasOwnProperty)||void 0===e?void 0:e.call(t,"__values__")}yi._isCCClass=function(t){var e;return null==t||null===(e=t.hasOwnProperty)||void 0===e?void 0:e.call(t,_i)},yi.fastDefine=function(t,e,i){Qt(t,e);for(var n=e.__props__=e.__values__=Object.keys(i),r=je(e),s=0;s=2&&((r||a())[s+"min"]=l[0],r[s+"max"]=l[1],l.length>2&&(r[s+"step"]=l[2])),u("min","number"),u("max","number"),u("step","number")}yi.isArray=function(t){return t=gi(t),Array.isArray(t)},yi.getDefault=gi,yi.escapeForJS=function(t){return JSON.stringify(t).replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")},yi.IDENTIFIER_RE=/^[A-Za-z_$][0-9A-Za-z_$]*$/,yi.getNewValueTypeCode=function(t){for(var e=Mt(t),i=t.constructor,n="new "+e+"(",r=0;ri){var n=e;e=i,i=n}return ti?i:t}function Bi(t){return t<0?0:t>1?1:t}function Mi(t,e,i){return t+(e-t)*i}function Pi(t){return t*Ai}function Oi(t){return t*bi}function Li(){return Ei()}function Fi(t){Ei=t}function Ni(t,e){return Li()*(e-t)+t}function ki(t,e){return Math.floor(Ni(t,e))}function Gi(t){return(t=(9301*t+49297)%233280)/233280}function Vi(t,e,i){return Gi(t)*(i-e)+e}function Ui(t,e,i){return Math.floor(Vi(t,e,i))}function zi(t){return w(t)}function Hi(t,e){return t-Math.floor(t/e)*e}function Wi(t,e){return t=Hi(t,2*e),e-Math.abs(t-e)}function Xi(t,e,i){return(i-t)/(e-t)}function ji(t){return Math.abs(t.x)>Math.abs(t.y)?Math.abs(t.x)>Math.abs(t.z)?t.x:t.z:Math.abs(t.y)>Math.abs(t.z)?t.y:t.z}function Yi(t,e){return Math.abs(t)>Math.abs(e)?t:e}function qi(t,e){e.forEach((function(e){Object.defineProperty(t,e,{enumerable:!0})}))}var Ki,Ji,Zi,Qi=(Ki=new Float32Array(1),Ji=new Int32Array(Ki.buffer),function(t){Ki[0]=t;var e=Ji[0],i=e>>16&32768,n=2147483647&e,r=n-(112<<23)+4096>>13;return r=n<113<<23?0:r,r=n>=143<<23?31744:r,r=n>255<<23?32256:r,Ji[0]=i|r,Ji[0]}),$i=function(){var t=new Float32Array(1),e=new Int32Array(t.buffer);return function(i){var n,r=32767&i,s=r<<13;return 31744!==s?(s+=112<<23,0===r?s=(1048575&s)>>1:32767===r&&(s=2147483647)):s=2139095040,n=(i>>15&1)<<31|s,e[0]=n,t[0]}}();function tn(t){return Qi(t)}function en(t){return $i(t)}var nn,rn=t("aR",function(t){function e(e,i,n,r){var s;return s=t.call(this)||this,"object"==typeof e?(s.x=e.x,s.y=e.y,s.z=e.z,s.w=e.w):(s.x=e||0,s.y=i||0,s.z=n||0,s.w=r||0),s}s(e,t),e.clone=function(t){return new e(t.x,t.y,t.z,t.w)},e.copy=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t},e.set=function(t,e,i,n,r){return t.x=e,t.y=i,t.z=n,t.w=r,t},e.fromColor=function(t,e){return t.x=e.r,t.y=e.g,t.z=e.b,t.w=e.a,t},e.angle=function(t,e){var i=t.y*e.z-t.z*e.y,n=t.z*e.x-t.x*e.z,r=t.x*e.y-t.y*e.x,s=t.x*e.x+t.y*e.y+t.z*e.z;return Math.atan2(Math.sqrt(i*i+n*n+r*r),s)},e.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},e.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},e.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},e.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},e.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},e.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},e.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},e.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},e.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},e.multiplyScalar=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},e.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},e.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)},e.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},e.len=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)},e.lengthSqr=function(t){var e=t.x,i=t.y,n=t.z,r=t.w;return e*e+i*i+n*n+r*r},e.negate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=-e.w,t},e.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},e.inverseSafe=function(t,e){var i=e.x,n=e.y,r=e.z,s=e.w;return Math.abs(i)0?(a=1/Math.sqrt(a),t.x=i*a,t.y=n*a,t.z=r*a,t.w=s*a):(t.x=0,t.y=0,t.z=0,t.w=0),t},e.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},e.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t.w=e.w+n*(i.w-e.w),t},e.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},e.random=function(t,e){e=e||1;var i=2*Li()*Math.PI,n=2*Li()-1,r=Math.sqrt(1-n*n);return t.x=r*Math.cos(i)*e,t.y=r*Math.sin(i)*e,t.z=n*e,t.w=0,t},e.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},e.transformAffine=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=e.w,t},e.transformQuat=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=i.x,o=i.y,h=i.z,u=i.w,l=u*n+o*s-h*r,c=u*r+h*n-a*s,_=u*s+a*r-o*n,f=-a*n-o*r-h*s;return t.x=l*u+f*-a+c*-h-_*-o,t.y=c*u+f*-o+_*-a-l*-h,t.z=_*u+f*-h+l*-o-c*-a,t.w=e.w,t},e.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t[i+3]=e.w,t},e.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t.w=e[i+3],t},e.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w},e.equals=function(t,e,i){return void 0===i&&(i=wi),!(Math.abs(t.x)===1/0||Math.abs(t.y)===1/0||Math.abs(t.z)===1/0||Math.abs(t.w)===1/0||Math.abs(e.x)===1/0||Math.abs(e.y)===1/0||Math.abs(e.z)===1/0||Math.abs(e.w)===1/0)&&Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))&&Math.abs(t.z-e.z)<=i*Math.max(1,Math.abs(t.z),Math.abs(e.z))&&Math.abs(t.w-e.w)<=i*Math.max(1,Math.abs(t.w),Math.abs(e.w))};var i=e.prototype;return i.clone=function(){return new e(this.x,this.y,this.z,this.w)},i.set=function(t,e,i,n){return"object"==typeof t?(this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=n||0),this},i.equals=function(t,e){return void 0===e&&(e=wi),Math.abs(this.x-t.x)<=e*Math.max(1,Math.abs(this.x),Math.abs(t.x))&&Math.abs(this.y-t.y)<=e*Math.max(1,Math.abs(this.y),Math.abs(t.y))&&Math.abs(this.z-t.z)<=e*Math.max(1,Math.abs(this.z),Math.abs(t.z))&&Math.abs(this.w-t.w)<=e*Math.max(1,Math.abs(this.w),Math.abs(t.w))},i.equals4f=function(t,e,i,n,r){return void 0===r&&(r=wi),Math.abs(this.x-t)<=r*Math.max(1,Math.abs(this.x),Math.abs(t))&&Math.abs(this.y-e)<=r*Math.max(1,Math.abs(this.y),Math.abs(e))&&Math.abs(this.z-i)<=r*Math.max(1,Math.abs(this.z),Math.abs(i))&&Math.abs(this.w-n)<=r*Math.max(1,Math.abs(this.w),Math.abs(n))},i.strictEquals=function(t){return this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},i.strictEquals4f=function(t,e,i,n){return this.x===t&&this.y===e&&this.z===i&&this.w===n},i.lerp=function(t,e){var i=this.x,n=this.y,r=this.z,s=this.w;return this.x=i+e*(t.x-i),this.y=n+e*(t.y-n),this.z=r+e*(t.z-r),this.w=s+e*(t.w-s),this},i.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+", "+this.z.toFixed(2)+", "+this.w.toFixed(2)+")"},i.clampf=function(t,e){return this.x=Di(this.x,t.x,e.x),this.y=Di(this.y,t.y,e.y),this.z=Di(this.z,t.z,e.z),this.w=Di(this.w,t.w,e.w),this},i.add=function(t){return this.x+=t.x,this.y+=t.y,this.z+=t.z,this.w+=t.w,this},i.add4f=function(t,e,i,n){return this.x+=t,this.y+=e,this.z+=i,this.w+=n,this},i.subtract=function(t){return this.x-=t.x,this.y-=t.y,this.z-=t.z,this.w-=t.w,this},i.subtract4f=function(t,e,i,n){return this.x-=t,this.y-=e,this.z-=i,this.w-=n,this},i.multiplyScalar=function(t){return"object"==typeof t&&console.warn("should use Vec4.multiply for vector * vector operation"),this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},i.multiply=function(t){return"object"!=typeof t&&console.warn("should use Vec4.scale for vector * scalar operation"),this.x*=t.x,this.y*=t.y,this.z*=t.z,this.w*=t.w,this},i.multiply4f=function(t,e,i,n){return this.x*=t,this.y*=e,this.z*=i,this.w*=n,this},i.divide=function(t){return this.x/=t.x,this.y/=t.y,this.z/=t.z,this.w/=t.w,this},i.divide4f=function(t,e,i,n){return this.x/=t,this.y/=e,this.z/=i,this.w/=n,this},i.negative=function(){return this.x=-this.x,this.y=-this.y,this.z=-this.z,this.w=-this.w,this},i.dot=function(t){return this.x*t.x+this.y*t.y+this.z*t.z+this.w*t.w},i.cross=function(t){var e=this.x,i=this.y,n=this.z,r=t.x,s=t.y,a=t.z;return this.x=i*a-n*s,this.y=n*r-e*a,this.z=e*s-i*r,this},i.length=function(){var t=this.x,e=this.y,i=this.z,n=this.w;return Math.sqrt(t*t+e*e+i*i+n*n)},i.lengthSqr=function(){var t=this.x,e=this.y,i=this.z,n=this.w;return t*t+e*e+i*i+n*n},i.normalize=function(){var t=this.x,e=this.y,i=this.z,n=this.w,r=t*t+e*e+i*i+n*n;return r>0&&(r=1/Math.sqrt(r),this.x=t*r,this.y=e*r,this.z=i*r,this.w=n*r),this},i.scale=function(t){return this.x*=t,this.y*=t,this.z*=t,this.w*=t,this},i.transformMat4=function(t){var e=this.x,i=this.y,n=this.z,r=this.w;return this.x=t.m00*e+t.m04*i+t.m08*n+t.m12*r,this.y=t.m01*e+t.m05*i+t.m09*n+t.m13*r,this.z=t.m02*e+t.m06*i+t.m10*n+t.m14*r,this.w=t.m03*e+t.m07*i+t.m11*n+t.m15*r,this},e}(Ee));function sn(t,e,i,n){return new rn(t,e,i,n)}Zi=rn,rn.ZERO=Object.freeze(new Zi(0,0,0,0)),rn.ONE=Object.freeze(new Zi(1,1,1,1)),rn.NEG_ONE=Object.freeze(new Zi(-1,-1,-1,-1)),rn.UNIT_X=Object.freeze(new Zi(1,0,0,0)),rn.UNIT_Y=Object.freeze(new Zi(0,1,0,0)),rn.UNIT_Z=Object.freeze(new Zi(0,0,1,0)),rn.UNIT_W=Object.freeze(new Zi(0,0,0,1)),yi.fastDefine("cc.Vec4",rn,{x:0,y:0,z:0,w:0}),v.Vec4=rn,v.v4=sn;var an,on,hn,un=t("aP",function(t){function e(e,i,n){var r;return r=t.call(this)||this,"object"==typeof e?(r.x=e.x,r.y=e.y,r.z=e.z):(r.x=e||0,r.y=i||0,r.z=n||0),r}s(e,t),e.zero=function(t){return t.x=0,t.y=0,t.z=0,t},e.clone=function(t){return new e(t.x,t.y,t.z)},e.copy=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t},e.set=function(t,e,i,n){return t.x=e,t.y=i,t.z=n,t},e.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},e.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},e.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},e.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},e.ceil=function(t,e){return t.x=Math.ceil(e.x),t.y=Math.ceil(e.y),t.z=Math.ceil(e.z),t},e.floor=function(t,e){return t.x=Math.floor(e.x),t.y=Math.floor(e.y),t.z=Math.floor(e.z),t},e.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},e.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},e.round=function(t,e){return t.x=Math.round(e.x),t.y=Math.round(e.y),t.z=Math.round(e.z),t},e.multiplyScalar=function(t,e,i){return t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t},e.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},e.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)},e.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},e.len=function(t){var e=t.x,i=t.y,n=t.z;return Math.sqrt(e*e+i*i+n*n)},e.lengthSqr=function(t){var e=t.x,i=t.y,n=t.z;return e*e+i*i+n*n},e.negate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t},e.invert=function(t,e){return t.x=1/e.x,t.y=1/e.y,t.z=1/e.z,t},e.invertSafe=function(t,e){var i=e.x,n=e.y,r=e.z;return Math.abs(i)0?(s=1/Math.sqrt(s),t.x=i*s,t.y=n*s,t.z=r*s):(t.x=0,t.y=0,t.z=0),t},e.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z},e.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},e.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t},e.random=function(t,e){e=e||1;var i=2*Li()*Math.PI,n=2*Li()-1,r=Math.sqrt(1-n*n);return t.x=r*Math.cos(i)*e,t.y=r*Math.sin(i)*e,t.z=n*e,t},e.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/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},e.transformMat4Normal=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=i.m03*n+i.m07*r+i.m11*s;return a=a?1/a:1,t.x=(i.m00*n+i.m04*r+i.m08*s)*a,t.y=(i.m01*n+i.m05*r+i.m09*s)*a,t.z=(i.m02*n+i.m06*r+i.m10*s)*a,t},e.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},e.transformAffine=function(t,e,i){var n=e.x,r=e.y,s=e.z;return t.x=i.m00*n+i.m04*r+i.m08*s+i.m12,t.y=i.m01*n+i.m05*r+i.m09*s+i.m13,t.z=i.m02*n+i.m06*r+i.m10*s+i.m14,t},e.transformQuat=function(t,e,i){var n=i.w*e.x+i.y*e.z-i.z*e.y,r=i.w*e.y+i.z*e.x-i.x*e.z,s=i.w*e.z+i.x*e.y-i.y*e.x,a=-i.x*e.x-i.y*e.y-i.z*e.z;return t.x=n*i.w+a*-i.x+r*-i.z-s*-i.y,t.y=r*i.w+a*-i.y+s*-i.x-n*-i.z,t.z=s*i.w+a*-i.z+n*-i.y-r*-i.x,t},e.transformRTS=function(t,e,i,n,r){var s=e.x*r.x,a=e.y*r.y,o=e.z*r.z,h=i.w*s+i.y*o-i.z*a,u=i.w*a+i.z*s-i.x*o,l=i.w*o+i.x*a-i.y*s,c=-i.x*s-i.y*a-i.z*o;return t.x=h*i.w+c*-i.x+u*-i.z-l*-i.y+n.x,t.y=u*i.w+c*-i.y+l*-i.x-h*-i.z+n.y,t.z=l*i.w+c*-i.z+h*-i.y-u*-i.x+n.z,t},e.transformInverseRTS=function(t,e,i,n,r){var s=e.x-n.x,a=e.y-n.y,o=e.z-n.z,h=i.w*s-i.y*o+i.z*a,u=i.w*a-i.z*s+i.x*o,l=i.w*o-i.x*a+i.y*s,c=i.x*s+i.y*a+i.z*o;return t.x=(h*i.w+c*i.x+u*i.z-l*i.y)/r.x,t.y=(u*i.w+c*i.y+l*i.x-h*i.z)/r.y,t.z=(l*i.w+c*i.z+h*i.y-u*i.x)/r.z,t},e.rotateX=function(t,e,i,n){var r=e.x-i.x,s=e.y-i.y,a=e.z-i.z,o=Math.cos(n),h=Math.sin(n),u=r,l=s*o-a*h,c=s*h+a*o;return t.x=u+i.x,t.y=l+i.y,t.z=c+i.z,t},e.rotateY=function(t,e,i,n){var r=e.x-i.x,s=e.y-i.y,a=e.z-i.z,o=Math.cos(n),h=Math.sin(n),u=a*h+r*o,l=s,c=a*o-r*h;return t.x=u+i.x,t.y=l+i.y,t.z=c+i.z,t},e.rotateZ=function(t,e,i,n){var r=e.x-i.x,s=e.y-i.y,a=e.z-i.z,o=Math.cos(n),h=Math.sin(n),u=r*o-s*h,l=r*h+s*o,c=a;return t.x=u+i.x,t.y=l+i.y,t.z=c+i.z,t},e.rotateN=function(t,e,i,n,r){var s=e.x-i.x,a=e.y-i.y,o=e.z-i.z,h=n.x,u=n.y,l=n.z,c=Math.cos(r),_=Math.sin(r),f=s*(h*h*(1-c)+c)+a*(h*u*(1-c)-h*_)+o*(h*l*(1-c)+u*_),d=s*(h*u*(1-c)+l*_)+a*(u*u*(1-c)+c)+o*(u*l*(1-c)-h*_),p=s*(h*l*(1-c)-u*_)+a*(u*l*(1-c)+h*_)+o*(l*l*(1-c)+c);return t.x=f+i.x,t.y=d+i.y,t.z=p+i.z,t},e.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t},e.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t},e.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z},e.equals=function(t,e,i){void 0===i&&(i=wi);var n=t.x,r=t.y,s=t.z,a=e.x,o=e.y,h=e.z;return Math.abs(n-a)<=i*Math.max(1,Math.abs(n),Math.abs(a))&&Math.abs(r-o)<=i*Math.max(1,Math.abs(r),Math.abs(o))&&Math.abs(s-h)<=i*Math.max(1,Math.abs(s),Math.abs(h))},e.angle=function(t,e){var i=t.x*t.x+t.y*t.y+t.z*t.z,n=e.x*e.x+e.y*e.y+e.z*e.z;if(0===i||0===n)return 0;var r=(t.x*e.x+t.y*e.y+t.z*e.z)/Math.sqrt(i*n);return r=Di(r,-1,1),Math.acos(r)},e.projectOnPlane=function(t,i,n){return e.subtract(t,i,e.project(t,i,n))},e.project=function(t,i,n){var r=e.lengthSqr(n);return r<1e-6?e.set(t,0,0,0):e.multiplyScalar(t,n,e.dot(i,n)/r)},e.moveTowards=function(t,e,i,n){var r=i.x-e.x,s=i.y-e.y,a=i.z-e.z,o=r*r+s*s+a*a;if(0===o||n>=0&&o0&&(n=1/Math.sqrt(n),this.x=t*n,this.y=e*n,this.z=i*n),this},i.transformMat4=function(t){var e=this.x,i=this.y,n=this.z,r=t.m03*e+t.m07*i+t.m11*n+t.m15;return r=r?1/r:1,this.x=(t.m00*e+t.m04*i+t.m08*n+t.m12)*r,this.y=(t.m01*e+t.m05*i+t.m09*n+t.m13)*r,this.z=(t.m02*e+t.m06*i+t.m10*n+t.m14)*r,this},e}(Ee));function ln(t,e,i){return new un(t,e,i)}nn=un,un.UNIT_X=Object.freeze(new nn(1,0,0)),un.UNIT_Y=Object.freeze(new nn(0,1,0)),un.UNIT_Z=Object.freeze(new nn(0,0,1)),un.RIGHT=Object.freeze(new nn(1,0,0)),un.UP=Object.freeze(new nn(0,1,0)),un.FORWARD=Object.freeze(new nn(0,0,-1)),un.ZERO=Object.freeze(new nn(0,0,0)),un.ONE=Object.freeze(new nn(1,1,1)),un.NEG_ONE=Object.freeze(new nn(-1,-1,-1)),un.slerp=(an=new nn,on=new nn,hn=new nn,function(t,e,i,n){var r=1e-5,s=nn.len(e),a=nn.len(i);if(s.99999)return nn.lerp(t,e,i,n);if(h<-.99999){var u=nn.multiplyScalar(an,e,1/s),l=nn.generateOrthogonal(on,u),c=Math.PI*n;return fn(hn,u,l,c),nn.multiplyScalar(t,hn,o),t}var _=h,f=Math.acos(_)*n,d=nn.multiplyScalar(an,e,1/s),p=nn.multiplyScalar(on,i,1/a);return nn.scaleAndAdd(hn,p,d,-_),nn.normalize(hn,hn),nn.multiplyScalar(hn,hn,Math.sin(f)),nn.scaleAndAdd(hn,hn,d,Math.cos(f)),nn.multiplyScalar(t,hn,o),t}),yi.fastDefine("cc.Vec3",un,{x:0,y:0,z:0}),v.Vec3=un;var cn,_n,fn=(cn={x:0,y:0,z:0,w:0},function(t,e,i,n){var r=.5*n,s=Math.sin(r);return cn.x=s*i.x,cn.y=s*i.y,cn.z=s*i.z,cn.w=Math.cos(r),un.transformQuat(t,e,cn),t});v.v3=ln;var dn,pn=1/255,mn=t("b1",function(t){function e(e,i,n,r){var s;return(s=t.call(this)||this)._val=0,"string"==typeof e?s.fromHEX(e):void 0!==i?s.set(e,i,n,r):s.set(e),s}s(e,t),e.clone=function(t){var i=new e;return t._val?i._val=t._val:i._val=(t.a<<24>>>0)+(t.b<<16)+(t.g<<8)+t.r,i},e.copy=function(t,e){return t.r=e.r,t.g=e.g,t.b=e.b,t.a=e.a,t},e.set=function(t,e,i,n,r){return t.r=e,t.g=i,t.b=n,t.a=r,t},e.toVec4=function(t,e){return(e=void 0!==e?e:new rn).x=t.r*pn,e.y=t.g*pn,e.z=t.b*pn,e.w=t.a*pn,e},e.fromVec4=function(t,i){return(i=void 0===i?new e:i).r=Math.floor(t.x/pn),i.g=Math.floor(t.y/pn),i.b=Math.floor(t.z/pn),i.a=Math.floor(t.w/pn),i},e.fromHEX=function(t,e){e=0===e.indexOf("#")?e.substring(1):e,t.r=parseInt(e.substr(0,2),16)||0,t.g=parseInt(e.substr(2,2),16)||0,t.b=parseInt(e.substr(4,2),16)||0;var i=parseInt(e.substr(6,2),16);return t.a=Number.isNaN(i)?255:i,t._val=(t.a<<24>>>0)+(t.b<<16)+(t.g<<8)+t.r,t},e.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},e.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},e.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},e.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},e.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},e.lerp=function(t,e,i,n){var r=e.r,s=e.g,a=e.b,o=e.a;return r+=(i.r-r)*n,s+=(i.g-s)*n,a+=(i.b-a)*n,o+=(i.a-o)*n,t._val=Math.floor((o<<24>>>0)+(a<<16)+(s<<8)+r),t},e.toArray=function(t,i,n){void 0===n&&(n=0);var r=i instanceof e||i.a>1?1/255:1;return t[n+0]=i.r*r,t[n+1]=i.g*r,t[n+2]=i.b*r,t[n+3]=i.a*r,t},e.fromArray=function(t,e,i){return void 0===i&&(i=0),e.r=255*t[i+0],e.g=255*t[i+1],e.b=255*t[i+2],e.a=255*t[i+3],e},e.fromUint32=function(t,e){return t._val=e,t},e.toUint32=function(t){return t._val},e.strictEquals=function(t,e){return t.r===e.r&&t.g===e.g&&t.b===e.b&&t.a===e.a},e.equals=function(t,e,i){return void 0===i&&(i=wi),!(Math.abs(t.r)===1/0||Math.abs(t.g)===1/0||Math.abs(t.b)===1/0||Math.abs(t.a)===1/0)&&Math.abs(t.r-e.r)<=i*Math.max(1,Math.abs(t.r),Math.abs(e.r))&&Math.abs(t.g-e.g)<=i*Math.max(1,Math.abs(t.g),Math.abs(e.g))&&Math.abs(t.b-e.b)<=i*Math.max(1,Math.abs(t.b),Math.abs(e.b))&&Math.abs(t.a-e.a)<=i*Math.max(1,Math.abs(t.a),Math.abs(e.a))},e.hex=function(t){return(255*t.r<<24|255*t.g<<16|255*t.b<<8|255*t.a)>>>0};var i=e.prototype;return i.clone=function(){var t=new e;return t._val=this._val,t},i.equals=function(t){return t&&this._val===t._val},i.lerp=function(t,e){var i=this.r,n=this.g,r=this.b,s=this.a;return i+=(t.r-i)*e,n+=(t.g-n)*e,r+=(t.b-r)*e,s+=(t.a-s)*e,this._val=Math.floor((s<<24>>>0)+(r<<16)+(n<<8)+i),this},i.toString=function(){return"rgba("+this.r.toFixed()+", "+this.g.toFixed()+", "+this.b.toFixed()+", "+this.a.toFixed()+")"},i.toCSS=function(t){return void 0===t&&(t="rgba"),"rgba"===t?"rgba("+this.r+","+this.g+","+this.b+","+(this.a*pn).toFixed(2)+")":"rgb"===t?"rgb("+this.r+","+this.g+","+this.b+")":"#"+this.toHEX(t)},i.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);return r=Number.isNaN(r)?255:r,this._val=(r<<24>>>0)+(n<<16)+(i<<8)+(0|e),this},i.toHEX=function(t){void 0===t&&(t="#rrggbb");var e="0",i=[(this.r<16?e:"")+this.r.toString(16),(this.g<16?e:"")+this.g.toString(16),(this.b<16?e:"")+this.b.toString(16)];return"#rgb"===t?(i[0]=i[0][0],i[1]=i[1][0],i[2]=i[2][0]):"#rrggbbaa"===t&&i.push((this.a<16?e:"")+this.a.toString(16)),i.join("")},i.toRGBValue=function(){return 16777215&this._val},i.fromHSV=function(t,e,i){var n=0,r=0,s=0;if(0===e)n=r=s=i;else if(0===i)n=r=s=0;else{1===t&&(t=0),t*=6;var a=Math.floor(t),o=t-a,h=i*(1-e),u=i*(1-e*o),l=i*(1-e*(1-o));switch(a){default:case 0:n=i,r=l,s=h;break;case 1:n=u,r=i,s=h;break;case 2:n=h,r=i,s=l;break;case 3:n=h,r=u,s=i;break;case 4:n=l,r=h,s=i;break;case 5:n=i,r=h,s=u}}return n*=255,r*=255,s*=255,this._val=(this.a<<24>>>0)+(s<<16)+(r<<8)+(0|n),this},i.toHSV=function(){var t=this.r*pn,e=this.g*pn,i=this.b*pn,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},i.set=function(t,e,i,n){return"object"==typeof t?null!=t._val?this._val=t._val:(e=t.g||0,i=t.b||0,n="number"==typeof t.a?t.a:255,t=t.r||0,this._val=(n<<24>>>0)+(i<<16)+(e<<8)+(0|t)):(t=t||0,e=e||0,i=i||0,n="number"==typeof n?n:255,this._val=(n<<24>>>0)+(i<<16)+(e<<8)+(0|t)),this},i.multiply=function(t){var e=(255&this._val)*t.r>>8,i=(65280&this._val)*t.g>>8,n=(16711680&this._val)*t.b>>8,r=((4278190080&this._val)>>>8)*t.a;return this._val=4278190080&r|16711680&n|65280&i|255&e,this},i._set_r_unsafe=function(t){return this._val=(4294967040&this._val|t)>>>0,this},i._set_g_unsafe=function(t){return this._val=(4294902015&this._val|t<<8)>>>0,this},i._set_b_unsafe=function(t){return this._val=(4278255615&this._val|t<<16)>>>0,this},i._set_a_unsafe=function(t){return this._val=(16777215&this._val|t<<24)>>>0,this},n(e,[{key:"r",get:function(){return 255&this._val},set:function(t){t=~~Di(t,0,255),this._val=(4294967040&this._val|t)>>>0}},{key:"g",get:function(){return(65280&this._val)>>8},set:function(t){t=~~Di(t,0,255),this._val=(4294902015&this._val|t<<8)>>>0}},{key:"b",get:function(){return(16711680&this._val)>>16},set:function(t){t=~~Di(t,0,255),this._val=(4278255615&this._val|t<<16)>>>0}},{key:"a",get:function(){return(4278190080&this._val)>>>24},set:function(t){t=~~Di(t,0,255),this._val=(16777215&this._val|t<<24)>>>0}},{key:"x",get:function(){return this.r*pn},set:function(t){this.r=255*t}},{key:"y",get:function(){return this.g*pn},set:function(t){this.g=255*t}},{key:"z",get:function(){return this.b*pn},set:function(t){this.b=255*t}},{key:"w",get:function(){return this.a*pn},set:function(t){this.a=255*t}}]),e}(Ee));function gn(t,e,i,n){return new mn(t,e,i,n)}function yn(t){var e=t.clone();return e.x=Math.floor(t.x),e.y=Math.floor(t.y),e.z=Math.floor(t.z),e}_n=mn,mn.WHITE=Object.freeze(new _n(255,255,255,255)),mn.GRAY=Object.freeze(new _n(127,127,127,255)),mn.BLACK=Object.freeze(new _n(0,0,0,255)),mn.TRANSPARENT=Object.freeze(new _n(0,0,0,0)),mn.RED=Object.freeze(new _n(255,0,0,255)),mn.GREEN=Object.freeze(new _n(0,255,0,255)),mn.BLUE=Object.freeze(new _n(0,0,255,255)),mn.CYAN=Object.freeze(new _n(0,255,255,255)),mn.MAGENTA=Object.freeze(new _n(255,0,255,255)),mn.YELLOW=Object.freeze(new _n(255,255,0,255)),yi.fastDefine("cc.Color",mn,{r:0,g:0,b:0,a:255}),v.Color=mn,v.color=gn;var vn=t("aV",function(t){function e(e,i,n,r,s,a,o,h,u){var l;return void 0===e&&(e=1),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s=1),void 0===a&&(a=0),void 0===o&&(o=0),void 0===h&&(h=0),void 0===u&&(u=1),l=t.call(this)||this,"object"==typeof e?(l.m00=e.m00,l.m01=e.m01,l.m02=e.m02,l.m03=e.m03,l.m04=e.m04,l.m05=e.m05,l.m06=e.m06,l.m07=e.m07,l.m08=e.m08):(l.m00=e,l.m01=i,l.m02=n,l.m03=r,l.m04=s,l.m05=a,l.m06=o,l.m07=h,l.m08=u),l}s(e,t),e.clone=function(t){return new e(t.m00,t.m01,t.m02,t.m03,t.m04,t.m05,t.m06,t.m07,t.m08)},e.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},e.set=function(t,e,i,n,r,s,a,o,h,u){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=u,t},e.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},e.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},e.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,u=e.m07,l=e.m08,c=l*a-o*u,_=-l*s+o*h,f=u*s-a*h,d=i*c+n*_+r*f;return 0===d?(t.m00=0,t.m01=0,t.m02=0,t.m03=0,t.m04=0,t.m05=0,t.m06=0,t.m07=0,t.m08=0,t):(d=1/d,t.m00=c*d,t.m01=(-l*n+r*u)*d,t.m02=(o*n-r*a)*d,t.m03=_*d,t.m04=(l*i-r*h)*d,t.m05=(-o*i+r*s)*d,t.m06=f*d,t.m07=(-u*i+n*h)*d,t.m08=(a*i-n*s)*d,t)},e.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,u=t.m08;return e*(u*s-a*h)+i*(-u*r+a*o)+n*(h*r-s*o)},e.multiply=function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,u=e.m06,l=e.m07,c=e.m08,_=i.m00,f=i.m01,d=i.m02,p=i.m03,m=i.m04,g=i.m05,y=i.m06,v=i.m07,S=i.m08;return t.m00=_*n+f*a+d*u,t.m01=_*r+f*o+d*l,t.m02=_*s+f*h+d*c,t.m03=p*n+m*a+g*u,t.m04=p*r+m*o+g*l,t.m05=p*s+m*h+g*c,t.m06=y*n+v*a+S*u,t.m07=y*r+v*o+S*l,t.m08=y*s+v*h+S*c,t},e.multiplyMat4=function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,u=e.m06,l=e.m07,c=e.m08,_=i.m00,f=i.m01,d=i.m02,p=i.m04,m=i.m05,g=i.m06,y=i.m08,v=i.m09,S=i.m10;return t.m00=_*n+f*a+d*u,t.m01=_*r+f*o+d*l,t.m02=_*s+f*h+d*c,t.m03=p*n+m*a+g*u,t.m04=p*r+m*o+g*l,t.m05=p*s+m*h+g*c,t.m06=y*n+v*a+S*u,t.m07=y*r+v*o+S*l,t.m08=y*s+v*h+S*c,t},e.transform=function(t,e,i){this.translate(t,e,i)},e.translate=function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,u=e.m06,l=e.m07,c=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+u,t.m07=_*r+f*o+l,t.m08=_*s+f*h+c,t},e.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},e.rotate=function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,u=e.m06,l=e.m07,c=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=u,t.m07=l,t.m08=c,t},e.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},e.fromViewUp=function(t,i,n){return un.lengthSqr(i)-.999?(e.x=Math.asin(-o),e.y=Math.atan2(a,h),e.z=Math.atan2(n,s),!0):(e.x=Ci,e.y=Math.atan2(r,i),e.z=0,!1):(e.x=-Ci,e.y=Math.atan2(-r,i),e.z=0,!1)};var i=e.prototype;return i.clone=function(){var t=this;return new e(t.m00,t.m01,t.m02,t.m03,t.m04,t.m05,t.m06,t.m07,t.m08)},i.set=function(t,e,i,n,r,s,a,o,h){return void 0===t&&(t=1),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=1),void 0===s&&(s=0),void 0===a&&(a=0),void 0===o&&(o=0),void 0===h&&(h=1),"object"==typeof t?(this.m00=t.m00,this.m01=t.m01,this.m02=t.m02,this.m03=t.m03,this.m04=t.m04,this.m05=t.m05,this.m06=t.m06,this.m07=t.m07,this.m08=t.m08):(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},i.equals=function(t,e){return void 0===e&&(e=wi),Math.abs(this.m00-t.m00)<=e*Math.max(1,Math.abs(this.m00),Math.abs(t.m00))&&Math.abs(this.m01-t.m01)<=e*Math.max(1,Math.abs(this.m01),Math.abs(t.m01))&&Math.abs(this.m02-t.m02)<=e*Math.max(1,Math.abs(this.m02),Math.abs(t.m02))&&Math.abs(this.m03-t.m03)<=e*Math.max(1,Math.abs(this.m03),Math.abs(t.m03))&&Math.abs(this.m04-t.m04)<=e*Math.max(1,Math.abs(this.m04),Math.abs(t.m04))&&Math.abs(this.m05-t.m05)<=e*Math.max(1,Math.abs(this.m05),Math.abs(t.m05))&&Math.abs(this.m06-t.m06)<=e*Math.max(1,Math.abs(this.m06),Math.abs(t.m06))&&Math.abs(this.m07-t.m07)<=e*Math.max(1,Math.abs(this.m07),Math.abs(t.m07))&&Math.abs(this.m08-t.m08)<=e*Math.max(1,Math.abs(this.m08),Math.abs(t.m08))},i.strictEquals=function(t){return this.m00===t.m00&&this.m01===t.m01&&this.m02===t.m02&&this.m03===t.m03&&this.m04===t.m04&&this.m05===t.m05&&this.m06===t.m06&&this.m07===t.m07&&this.m08===t.m08},i.toString=function(){var t=this;return"[\n"+t.m00+", "+t.m01+", "+t.m02+",\n"+t.m03+",\n"+t.m04+", "+t.m05+",\n"+t.m06+", "+t.m07+",\n"+t.m08+"\n]"},i.identity=function(){return this.m00=1,this.m01=0,this.m02=0,this.m03=0,this.m04=1,this.m05=0,this.m06=0,this.m07=0,this.m08=1,this},i.transpose=function(){var t=this.m01,e=this.m02,i=this.m05;return this.m01=this.m03,this.m02=this.m06,this.m03=t,this.m05=this.m07,this.m06=e,this.m07=i,this},i.invert=function(){var t=this.m00,e=this.m01,i=this.m02,n=this.m03,r=this.m04,s=this.m05,a=this.m06,o=this.m07,h=this.m08,u=h*r-s*o,l=-h*n+s*a,c=o*n-r*a,_=t*u+e*l+i*c;return 0===_?(this.set(0,0,0,0,0,0,0,0,0),this):(_=1/_,this.m00=u*_,this.m01=(-h*e+i*o)*_,this.m02=(s*e-i*r)*_,this.m03=l*_,this.m04=(h*t-i*a)*_,this.m05=(-s*t+i*n)*_,this.m06=c*_,this.m07=(-o*t+e*a)*_,this.m08=(r*t-e*n)*_,this)},i.determinant=function(){var t=this.m00,e=this.m01,i=this.m02,n=this.m03,r=this.m04,s=this.m05,a=this.m06,o=this.m07,h=this.m08;return t*(h*r-s*o)+e*(-h*n+s*a)+i*(o*n-r*a)},i.add=function(t){return this.m00+=t.m00,this.m01+=t.m01,this.m02+=t.m02,this.m03+=t.m03,this.m04+=t.m04,this.m05+=t.m05,this.m06+=t.m06,this.m07+=t.m07,this.m08+=t.m08,this},i.subtract=function(t){return this.m00-=t.m00,this.m01-=t.m01,this.m02-=t.m02,this.m03-=t.m03,this.m04-=t.m04,this.m05-=t.m05,this.m06-=t.m06,this.m07-=t.m07,this.m08-=t.m08,this},i.multiply=function(t){var e=this.m00,i=this.m01,n=this.m02,r=this.m03,s=this.m04,a=this.m05,o=this.m06,h=this.m07,u=this.m08,l=t.m00,c=t.m01,_=t.m02,f=t.m03,d=t.m04,p=t.m05,m=t.m06,g=t.m07,y=t.m08;return this.m00=l*e+c*r+_*o,this.m01=l*i+c*s+_*h,this.m02=l*n+c*a+_*u,this.m03=f*e+d*r+p*o,this.m04=f*i+d*s+p*h,this.m05=f*n+d*a+p*u,this.m06=m*e+g*r+y*o,this.m07=m*i+g*s+y*h,this.m08=m*n+g*a+y*u,this},i.multiplyScalar=function(t){return this.m00*=t,this.m01*=t,this.m02*=t,this.m03*=t,this.m04*=t,this.m05*=t,this.m06*=t,this.m07*=t,this.m08*=t,this},i.scale=function(t){var e=t.x,i=t.y;return this.m00=e*this.m00,this.m01=e*this.m01,this.m02=e*this.m02,this.m03=i*this.m03,this.m04=i*this.m04,this.m05=i*this.m05,this.m06=this.m06,this.m07=this.m07,this.m08=this.m08,this},i.rotate=function(t){var e=this.m00,i=this.m01,n=this.m02,r=this.m03,s=this.m04,a=this.m05,o=this.m06,h=this.m07,u=this.m08,l=Math.sin(t),c=Math.cos(t);return this.m00=c*e+l*r,this.m01=c*i+l*s,this.m02=c*n+l*a,this.m03=c*r-l*e,this.m04=c*s-l*i,this.m05=c*a-l*n,this.m06=o,this.m07=h,this.m08=u,this},i.fromQuat=function(t){var e=t.x,i=t.y,n=t.z,r=t.w,s=e+e,a=i+i,o=n+n,h=e*s,u=i*s,l=i*a,c=n*s,_=n*a,f=n*o,d=r*s,p=r*a,m=r*o;return this.m00=1-l-f,this.m03=u-m,this.m06=c+p,this.m01=u+m,this.m04=1-h-f,this.m07=_-d,this.m02=c-p,this.m05=_+d,this.m08=1-h-l,this},e}(Ee));dn=vn,vn.IDENTITY=Object.freeze(new dn);var Sn,Tn=new un,An=new un;yi.fastDefine("cc.Mat3",vn,{m00:1,m01:0,m02:0,m03:0,m04:1,m05:0,m06:0,m07:0,m08:1}),v.Mat3=vn;var bn=t("aT",function(t){function e(e,i,n,r){var s;return s=t.call(this)||this,"object"==typeof e?(s.x=e.x,s.y=e.y,s.z=e.z,s.w=e.w):(s.x=e||0,s.y=i||0,s.z=n||0,s.w=null!=r?r:1),s}s(e,t),e.clone=function(t){return new e(t.x,t.y,t.z,t.w)},e.copy=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=e.w,t},e.set=function(t,e,i,n,r){return t.x=e,t.y=i,t.z=n,t.w=r,t},e.identity=function(t){return t.x=0,t.y=0,t.z=0,t.w=1,t},e.rotationTo=function(t,i,n){var r=un.dot(i,n);return r<-.999999?(un.cross(wn,un.UNIT_X,i),wn.length()<1e-6&&un.cross(wn,un.UNIT_Y,i),un.normalize(wn,wn),e.fromAxisAngle(t,wn,Math.PI),t):r>.999999?(t.x=0,t.y=0,t.z=0,t.w=1,t):(un.cross(wn,i,n),t.x=wn.x,t.y=wn.y,t.z=wn.z,t.w=1+r,e.normalize(t,t))},e.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},e.multiply=function(t,e,i){var n=e.x*i.w+e.w*i.x+e.y*i.z-e.z*i.y,r=e.y*i.w+e.w*i.y+e.z*i.x-e.x*i.z,s=e.z*i.w+e.w*i.z+e.x*i.y-e.y*i.x,a=e.w*i.w-e.x*i.x-e.y*i.y-e.z*i.z;return t.x=n,t.y=r,t.z=s,t.w=a,t},e.multiplyScalar=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},e.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},e.rotateX=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i),s=e.x,a=e.y,o=e.z,h=e.w;return t.x=s*r+h*n,t.y=a*r+o*n,t.z=o*r-a*n,t.w=h*r-s*n,t},e.rotateY=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i),s=e.x,a=e.y,o=e.z,h=e.w;return t.x=s*r-o*n,t.y=a*r+h*n,t.z=o*r+s*n,t.w=h*r-a*n,t},e.rotateZ=function(t,e,i){i*=.5;var n=Math.sin(i),r=Math.cos(i),s=e.x,a=e.y,o=e.z,h=e.w;return t.x=s*r+a*n,t.y=a*r-s*n,t.z=o*r+h*n,t.w=h*r-o*n,t},e.rotateAround=function(t,i,n,r){return e.invert(Cn,i),un.transformQuat(wn,n,Cn),e.fromAxisAngle(Cn,wn,r),e.multiply(t,i,Cn),t},e.rotateAroundLocal=function(t,i,n,r){return e.fromAxisAngle(Cn,n,r),e.multiply(t,i,Cn),t},e.calculateW=function(t,e){return t.x=e.x,t.y=e.y,t.z=e.z,t.w=Math.sqrt(Math.abs(1-e.x*e.x-e.y*e.y-e.z*e.z)),t},e.dot=function(t,e){return t.x*e.x+t.y*e.y+t.z*e.z+t.w*e.w},e.lerp=function(t,e,i,n){return t.x=e.x+n*(i.x-e.x),t.y=e.y+n*(i.y-e.y),t.z=e.z+n*(i.z-e.z),t.w=e.w+n*(i.w-e.w),t},e.slerp=function(t,e,i,n){var r=0,s=0,a=i.x,o=i.y,h=i.z,u=i.w,l=e.x*i.x+e.y*i.y+e.z*i.z+e.w*i.w;if(l<0&&(l=-l,a=-a,o=-o,h=-h,u=-u),1-l>1e-6){var c=Math.acos(l),_=Math.sin(c);r=Math.sin((1-n)*c)/_,s=Math.sin(n*c)/_}else r=1-n,s=n;return t.x=r*e.x+s*a,t.y=r*e.y+s*o,t.z=r*e.z+s*h,t.w=r*e.w+s*u,t},e.sqlerp=function(t,i,n,r,s,a){return e.slerp(Cn,i,s,a),e.slerp(xn,n,r,a),e.slerp(t,Cn,xn,2*a*(1-a)),t},e.invert=function(t,e){var i=e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w,n=i?1/i:0;return t.x=-e.x*n,t.y=-e.y*n,t.z=-e.z*n,t.w=e.w*n,t},e.conjugate=function(t,e){return t.x=-e.x,t.y=-e.y,t.z=-e.z,t.w=e.w,t},e.len=function(t){return Math.sqrt(t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w)},e.lengthSqr=function(t){return t.x*t.x+t.y*t.y+t.z*t.z+t.w*t.w},e.normalize=function(t,e){var i=e.x*e.x+e.y*e.y+e.z*e.z+e.w*e.w;return i>0?(i=1/Math.sqrt(i),t.x=e.x*i,t.y=e.y*i,t.z=e.z*i,t.w=e.w*i):(t.x=0,t.y=0,t.z=0,t.w=0),t},e.fromAxes=function(t,i,n,r){return vn.set(Rn,i.x,i.y,i.z,n.x,n.y,n.z,r.x,r.y,r.z),e.normalize(t,e.fromMat3(t,Rn))},e.fromViewUp=function(t,i,n){return vn.fromViewUp(Rn,i,n),e.normalize(t,e.fromMat3(t,Rn))},e.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},e.fromMat3=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,u=e.m07,l=e.m08,c=i-a-l,_=a-i-l,f=l-i-a,d=0,p=i+a+l;c>p&&(p=c,d=1),_>p&&(p=_,d=2),f>p&&(p=f,d=3);var m=.5*Math.sqrt(p+1),g=.25/m;switch(d){case 0:t.w=m,t.x=(o-u)*g,t.y=(h-r)*g,t.z=(n-s)*g;break;case 1:t.w=(o-u)*g,t.x=m,t.y=(n+s)*g,t.z=(h+r)*g;break;case 2:t.w=(h-r)*g,t.x=(n+s)*g,t.y=m,t.z=(o+u)*g;break;case 3:t.w=(n-s)*g,t.x=(h+r)*g,t.y=(o+u)*g,t.z=m;break;default:t.w=1,t.x=0,t.y=0,t.z=0}return t},e.fromEuler=function(t,e,i,n){e*=In,i*=In,n*=In;var r=Math.sin(e),s=Math.cos(e),a=Math.sin(i),o=Math.cos(i),h=Math.sin(n),u=Math.cos(n);return t.x=r*o*u+s*a*h,t.y=s*a*u+r*o*h,t.z=s*o*h-r*a*u,t.w=s*o*u-r*a*h,t},e.fromAngleZ=function(t,e){return e*=In,t.x=t.y=0,t.z=Math.sin(e),t.w=Math.cos(e),t},e.toAxisX=function(t,e){var i=2*e.y,n=2*e.z;return t.x=1-i*e.y-n*e.z,t.y=i*e.x+n*e.w,t.z=n*e.x-i*e.w,t},e.toAxisY=function(t,e){var i=2*e.x,n=2*e.y,r=2*e.z;return t.x=n*e.x-r*e.w,t.y=1-i*e.x-r*e.z,t.z=r*e.y+i*e.w,t},e.toAxisZ=function(t,e){var i=2*e.x,n=2*e.y,r=2*e.z;return t.x=r*e.x+n*e.w,t.y=r*e.y-i*e.w,t.z=1-i*e.x-n*e.y,t},e.toEuler=function(t,e,i){var n=e.x,r=e.y,s=e.z,a=e.w,o=0,h=0,u=0,l=n*r+s*a;if(l>.499999)o=0,h=Oi(2*Math.atan2(n,a)),u=90;else if(l<-.499999)o=0,h=-Oi(2*Math.atan2(n,a)),u=-90;else{var c=n*n,_=r*r,f=s*s;o=Oi(Math.atan2(2*n*a-2*r*s,1-2*c-2*f)),h=Oi(Math.atan2(2*r*a-2*n*s,1-2*_-2*f)),u=Oi(Math.asin(2*l)),i&&(o=-180*Math.sign(o+1e-6)+o,h=-180*Math.sign(h+1e-6)+h,u=180*Math.sign(u+1e-6)-u)}return t.x=o,t.y=h,t.z=u,t},e.toEulerInYXZOrder=function(t,e){vn.fromQuat(Rn,e),vn.toEuler(Rn,t),t.x=Oi(t.x),t.y=Oi(t.y),t.z=Oi(t.z)},e.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t[i+2]=e.z,t[i+3]=e.w,t},e.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t.z=e[i+2],t.w=e[i+3],t},e.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y&&t.z===e.z&&t.w===e.w},e.equals=function(t,e,i){return void 0===i&&(i=wi),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))&&Math.abs(t.z-e.z)<=i*Math.max(1,Math.abs(t.z),Math.abs(e.z))&&Math.abs(t.w-e.w)<=i*Math.max(1,Math.abs(t.w),Math.abs(e.w))},e.angle=function(t,i){var n=Math.min(Math.abs(e.dot(t,i)),1);return 2*Math.acos(n)},e.rotateTowards=function(t,i,n,r){var s=e.angle(i,n);if(0===s)return t.x=n.x,t.y=n.y,t.z=n.z,t.w=n.w,t;var a=Math.min(r/Oi(s),1);return e.slerp(t,i,n,a)};var i=e.prototype;return i.clone=function(){return new e(this.x,this.y,this.z,this.w)},i.set=function(t,e,i,n){return"object"==typeof t?(this.x=t.x,this.y=t.y,this.z=t.z,this.w=t.w):(this.x=t||0,this.y=e||0,this.z=i||0,this.w=null!=n?n:1),this},i.equals=function(t,e){return void 0===e&&(e=wi),Math.abs(this.x-t.x)<=e*Math.max(1,Math.abs(this.x),Math.abs(t.x))&&Math.abs(this.y-t.y)<=e*Math.max(1,Math.abs(this.y),Math.abs(t.y))&&Math.abs(this.z-t.z)<=e*Math.max(1,Math.abs(this.z),Math.abs(t.z))&&Math.abs(this.w-t.w)<=e*Math.max(1,Math.abs(this.w),Math.abs(t.w))},i.strictEquals=function(t){return t&&this.x===t.x&&this.y===t.y&&this.z===t.z&&this.w===t.w},i.getEulerAngles=function(t){return e.toEuler(t,this)},i.lerp=function(t,e){return this.x+=e*(t.x-this.x),this.y+=e*(t.y-this.y),this.z+=e*(t.z-this.z),this.w+=e*(t.w-this.w),this},i.slerp=function(t,i){return e.slerp(this,this,t,i)},i.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w)},i.lengthSqr=function(){return this.x*this.x+this.y*this.y+this.z*this.z+this.w*this.w},e}(Ee));Sn=bn,bn.IDENTITY=Object.freeze(new Sn);var En,Cn=new bn,xn=new bn,wn=new un,Rn=new vn,In=.5*Math.PI/180;function Dn(t,e,i,n){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=1),new bn(t,e,i,n)}yi.fastDefine("cc.Quat",bn,{x:0,y:0,z:0,w:1}),v.Quat=bn,v.quat=Dn;var Bn=t("b3",Object.freeze([Object.freeze([1,0,0,1]),Object.freeze([0,1,-1,0]),Object.freeze([-1,0,0,-1]),Object.freeze([0,-1,1,0])])),Mn=t("aW",function(t){function e(e,i,n,r,s,a,o,h,u,l,c,_,f,d,p,m){var g;return void 0===e&&(e=1),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s=0),void 0===a&&(a=1),void 0===o&&(o=0),void 0===h&&(h=0),void 0===u&&(u=0),void 0===l&&(l=0),void 0===c&&(c=1),void 0===_&&(_=0),void 0===f&&(f=0),void 0===d&&(d=0),void 0===p&&(p=0),void 0===m&&(m=1),g=t.call(this)||this,"object"==typeof e?(g.m00=e.m00,g.m01=e.m01,g.m02=e.m02,g.m03=e.m03,g.m04=e.m04,g.m05=e.m05,g.m06=e.m06,g.m07=e.m07,g.m08=e.m08,g.m09=e.m09,g.m10=e.m10,g.m11=e.m11,g.m12=e.m12,g.m13=e.m13,g.m14=e.m14,g.m15=e.m15):(g.m00=e,g.m01=i,g.m02=n,g.m03=r,g.m04=s,g.m05=a,g.m06=o,g.m07=h,g.m08=u,g.m09=l,g.m10=c,g.m11=_,g.m12=f,g.m13=d,g.m14=p,g.m15=m),g}s(e,t),e.clone=function(t){return new e(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)},e.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},e.set=function(t,e,i,n,r,s,a,o,h,u,l,c,_,f,d,p,m){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=u,t.m09=l,t.m10=c,t.m11=_,t.m12=f,t.m13=d,t.m14=p,t.m15=m,t},e.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},e.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},e.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,u=e.m07,l=e.m08,c=e.m09,_=e.m10,f=e.m11,d=e.m12,p=e.m13,m=e.m14,g=e.m15,y=i*o-n*a,v=i*h-r*a,S=i*u-s*a,T=n*h-r*o,A=n*u-s*o,b=r*u-s*h,E=l*p-c*d,C=l*m-_*d,x=l*g-f*d,w=c*m-_*p,R=c*g-f*p,I=_*g-f*m,D=y*I-v*R+S*w+T*x-A*C+b*E;return 0===D?(t.m00=0,t.m01=0,t.m02=0,t.m03=0,t.m04=0,t.m05=0,t.m06=0,t.m07=0,t.m08=0,t.m09=0,t.m10=0,t.m11=0,t.m12=0,t.m13=0,t.m14=0,t.m15=0,t):(D=1/D,t.m00=(o*I-h*R+u*w)*D,t.m01=(r*R-n*I-s*w)*D,t.m02=(p*b-m*A+g*T)*D,t.m03=(_*A-c*b-f*T)*D,t.m04=(h*x-a*I-u*C)*D,t.m05=(i*I-r*x+s*C)*D,t.m06=(m*S-d*b-g*v)*D,t.m07=(l*b-_*S+f*v)*D,t.m08=(a*R-o*x+u*E)*D,t.m09=(n*x-i*R-s*E)*D,t.m10=(d*A-p*S+g*y)*D,t.m11=(c*S-l*A-f*y)*D,t.m12=(o*C-a*w-h*E)*D,t.m13=(i*w-n*C+r*E)*D,t.m14=(p*v-d*T-m*y)*D,t.m15=(l*T-c*v+_*y)*D,t)},e.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,u=t.m08,l=t.m09,c=t.m10,_=t.m11,f=t.m12,d=t.m13,p=t.m14,m=t.m15;return(e*a-i*s)*(c*m-_*p)-(e*o-n*s)*(l*m-_*d)+(e*h-r*s)*(l*p-c*d)+(i*o-n*a)*(u*m-_*f)-(i*h-r*a)*(u*p-c*f)+(n*h-r*o)*(u*d-l*f)},e.multiply=function(t,e,i){var n=e.m00,r=e.m01,s=e.m02,a=e.m03,o=e.m04,h=e.m05,u=e.m06,l=e.m07,c=e.m08,_=e.m09,f=e.m10,d=e.m11,p=e.m12,m=e.m13,g=e.m14,y=e.m15,v=i.m00,S=i.m01,T=i.m02,A=i.m03;return t.m00=v*n+S*o+T*c+A*p,t.m01=v*r+S*h+T*_+A*m,t.m02=v*s+S*u+T*f+A*g,t.m03=v*a+S*l+T*d+A*y,v=i.m04,S=i.m05,T=i.m06,A=i.m07,t.m04=v*n+S*o+T*c+A*p,t.m05=v*r+S*h+T*_+A*m,t.m06=v*s+S*u+T*f+A*g,t.m07=v*a+S*l+T*d+A*y,v=i.m08,S=i.m09,T=i.m10,A=i.m11,t.m08=v*n+S*o+T*c+A*p,t.m09=v*r+S*h+T*_+A*m,t.m10=v*s+S*u+T*f+A*g,t.m11=v*a+S*l+T*d+A*y,v=i.m12,S=i.m13,T=i.m14,A=i.m15,t.m12=v*n+S*o+T*c+A*p,t.m13=v*r+S*h+T*_+A*m,t.m14=v*s+S*u+T*f+A*g,t.m15=v*a+S*l+T*d+A*y,t},e.transform=function(t,e,i){var n=i.x,r=i.y,s=i.z;if(e===t)t.m12=e.m00*n+e.m04*r+e.m08*s+e.m12,t.m13=e.m01*n+e.m05*r+e.m09*s+e.m13,t.m14=e.m02*n+e.m06*r+e.m10*s+e.m14,t.m15=e.m03*n+e.m07*r+e.m11*s+e.m15;else{var a=e.m00,o=e.m01,h=e.m02,u=e.m03,l=e.m04,c=e.m05,_=e.m06,f=e.m07,d=e.m08,p=e.m09,m=e.m10,g=e.m11;t.m00=a,t.m01=o,t.m02=h,t.m03=u,t.m04=l,t.m05=c,t.m06=_,t.m07=f,t.m08=d,t.m09=p,t.m10=m,t.m11=g,t.m12=a*n+l*r+d*s+e.m12,t.m13=o*n+c*r+p*s+e.m13,t.m14=h*n+_*r+m*s+e.m14,t.m15=u*n+f*r+g*s+e.m15}return t},e.translate=function(t,e,i){return e===t?(t.m12+=i.x,t.m13+=i.y,t.m14+=i.z):(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+i.x,t.m13=e.m13+i.y,t.m14=e.m14+i.z,t.m15=e.m15),t},e.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},e.rotate=function(t,e,i,n){var r=n.x,s=n.y,a=n.z,o=Math.sqrt(r*r+s*s+a*a);if(Math.abs(o)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},e.toRTS=function(t,e,i,n){var r=un.set(On,t.m00,t.m01,t.m02).length(),s=un.set(On,t.m04,t.m05,t.m06).length(),a=un.set(On,t.m08,t.m09,t.m10).length();Ln.m00=t.m00/r,Ln.m01=t.m01/r,Ln.m02=t.m02/r,Ln.m03=t.m04/s,Ln.m04=t.m05/s,Ln.m05=t.m06/s,Ln.m06=t.m08/a,Ln.m07=t.m09/a,Ln.m08=t.m10/a;var o=vn.determinant(Ln);n&&(un.set(n,r,s,a),o<0&&(n.x*=-1)),i&&un.set(i,t.m12,t.m13,t.m14),e&&(o<0&&(Ln.m00*=-1,Ln.m01*=-1,Ln.m02*=-1),bn.fromMat3(e,Ln))},e.toSRT=function(t,e,i,n){var r=un.set(On,t.m00,t.m01,t.m02).length(),s=un.set(On,t.m04,t.m05,t.m06).length(),a=un.set(On,t.m08,t.m09,t.m10).length();n&&(n.x=r,n.y=s,n.z=a),i&&un.set(i,t.m12,t.m13,t.m14),e&&(Ln.m00=t.m00/r,Ln.m01=t.m01/r,Ln.m02=t.m02/r,Ln.m03=t.m04/s,Ln.m04=t.m05/s,Ln.m05=t.m06/s,Ln.m06=t.m08/a,Ln.m07=t.m09/a,Ln.m08=t.m10/a,vn.determinant(Ln)<0&&(n&&(n.x*=-1),Ln.m00*=-1,Ln.m01*=-1,Ln.m02*=-1),bn.fromMat3(e,Ln))},e.toEuler=function(t,e){return vn.set(Ln,t.m00,t.m01,t.m02,t.m04,t.m05,t.m06,t.m08,t.m09,t.m10),vn.toEuler(Ln,e)},e.fromRTS=function(t,e,i,n){var r=e.x,s=e.y,a=e.z,o=e.w,h=r+r,u=s+s,l=a+a,c=r*h,_=r*u,f=r*l,d=s*u,p=s*l,m=a*l,g=o*h,y=o*u,v=o*l,S=n.x,T=n.y,A=n.z;return t.m00=(1-(d+m))*S,t.m01=(_+v)*S,t.m02=(f-y)*S,t.m03=0,t.m04=(_-v)*T,t.m05=(1-(c+m))*T,t.m06=(p+g)*T,t.m07=0,t.m08=(f+y)*A,t.m09=(p-g)*A,t.m10=(1-(c+d))*A,t.m11=0,t.m12=i.x,t.m13=i.y,t.m14=i.z,t.m15=1,t},e.fromSRT=function(t,e,i,n){var r=e.x,s=e.y,a=e.z,o=e.w,h=r+r,u=s+s,l=a+a,c=r*h,_=r*u,f=r*l,d=s*u,p=s*l,m=a*l,g=o*h,y=o*u,v=o*l,S=n.x,T=n.y,A=n.z;return t.m00=(1-(d+m))*S,t.m01=(_+v)*S,t.m02=(f-y)*S,t.m03=0,t.m04=(_-v)*T,t.m05=(1-(c+m))*T,t.m06=(p+g)*T,t.m07=0,t.m08=(f+y)*A,t.m09=(p-g)*A,t.m10=(1-(c+d))*A,t.m11=0,t.m12=i.x,t.m13=i.y,t.m14=i.z,t.m15=1,t},e.fromRTSOrigin=function(t,e,i,n,r){var s=e.x,a=e.y,o=e.z,h=e.w,u=s+s,l=a+a,c=o+o,_=s*u,f=s*l,d=s*c,p=a*l,m=a*c,g=o*c,y=h*u,v=h*l,S=h*c,T=n.x,A=n.y,b=n.z,E=r.x,C=r.y,x=r.z;return t.m00=(1-(p+g))*T,t.m01=(f+S)*T,t.m02=(d-v)*T,t.m03=0,t.m04=(f-S)*A,t.m05=(1-(_+g))*A,t.m06=(m+y)*A,t.m07=0,t.m08=(d+v)*b,t.m09=(m-y)*b,t.m10=(1-(_+p))*b,t.m11=0,t.m12=i.x+E-(t.m00*E+t.m04*C+t.m08*x),t.m13=i.y+C-(t.m01*E+t.m05*C+t.m09*x),t.m14=i.z+x-(t.m02*E+t.m06*C+t.m10*x),t.m15=1,t},e.fromSRTOrigin=function(t,e,i,n,r){var s=e.x,a=e.y,o=e.z,h=e.w,u=s+s,l=a+a,c=o+o,_=s*u,f=s*l,d=s*c,p=a*l,m=a*c,g=o*c,y=h*u,v=h*l,S=h*c,T=n.x,A=n.y,b=n.z,E=r.x,C=r.y,x=r.z;return t.m00=(1-(p+g))*T,t.m01=(f+S)*T,t.m02=(d-v)*T,t.m03=0,t.m04=(f-S)*A,t.m05=(1-(_+g))*A,t.m06=(m+y)*A,t.m07=0,t.m08=(d+v)*b,t.m09=(m-y)*b,t.m10=(1-(_+p))*b,t.m11=0,t.m12=i.x+E-(t.m00*E+t.m04*C+t.m08*x),t.m13=i.y+C-(t.m01*E+t.m05*C+t.m09*x),t.m14=i.z+x-(t.m02*E+t.m06*C+t.m10*x),t.m15=1,t},e.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,u=i*a,l=n*a,c=n*o,_=r*a,f=r*o,d=r*h,p=s*a,m=s*o,g=s*h;return t.m00=1-c-d,t.m01=l+g,t.m02=_-m,t.m03=0,t.m04=l-g,t.m05=1-u-d,t.m06=f+p,t.m07=0,t.m08=_+m,t.m09=f-p,t.m10=1-u-c,t.m11=0,t.m12=0,t.m13=0,t.m14=0,t.m15=1,t},e.frustum=function(t,e,i,n,r,s,a){var o=1/(i-e),h=1/(r-n),u=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)*u,t.m11=-1,t.m12=0,t.m13=0,t.m14=a*s*2*u,t.m15=0,t},e.perspective=function(t,e,i,n,r,s,a,o,h){void 0===s&&(s=!0),void 0===a&&(a=-1),void 0===o&&(o=1),void 0===h&&(h=0);var u=1/Math.tan(e/2),l=1/(n-r),c=s?u/i:u,_=(s?u:u*i)*o,f=Bn[h];return t.m00=c*f[0],t.m01=c*f[1],t.m02=0,t.m03=0,t.m04=_*f[2],t.m05=_*f[3],t.m06=0,t.m07=0,t.m08=0,t.m09=0,t.m10=(r-a*n)*l,t.m11=-1,t.m12=0,t.m13=0,t.m14=r*n*l*(1-a),t.m15=0,t},e.ortho=function(t,e,i,n,r,s,a,o,h,u){void 0===o&&(o=-1),void 0===h&&(h=1),void 0===u&&(u=0);var l=1/(e-i),c=1/(n-r)*h,_=1/(s-a),f=-2*l,d=-2*c,p=(e+i)*l,m=(r+n)*c,g=Bn[u];return t.m00=f*g[0],t.m01=f*g[1],t.m02=0,t.m03=0,t.m04=d*g[2],t.m05=d*g[3],t.m06=0,t.m07=0,t.m08=0,t.m09=0,t.m10=_*(1-o),t.m11=0,t.m12=p*g[0]+m*g[2],t.m13=p*g[1]+m*g[3],t.m14=(s-o*a)*_,t.m15=1,t},e.lookAt=function(t,e,i,n){var r=e.x,s=e.y,a=e.z,o=n.x,h=n.y,u=n.z,l=r-i.x,c=s-i.y,_=a-i.z,f=1/Math.sqrt(l*l+c*c+_*_),d=h*(_*=f)-u*(c*=f),p=u*(l*=f)-o*_,m=o*c-h*l,g=c*(m*=f=1/Math.sqrt(d*d+p*p+m*m))-_*(p*=f),y=_*(d*=f)-l*m,v=l*p-c*d;return t.m00=d,t.m01=g,t.m02=l,t.m03=0,t.m04=p,t.m05=y,t.m06=c,t.m07=0,t.m08=m,t.m09=v,t.m10=_,t.m11=0,t.m12=-(d*r+p*s+m*a),t.m13=-(g*r+y*s+v*a),t.m14=-(l*r+c*s+_*a),t.m15=1,t},e.inverseTranspose=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,u=e.m07,l=e.m08,c=e.m09,_=e.m10,f=e.m11,d=e.m12,p=e.m13,m=e.m14,g=e.m15,y=i*o-n*a,v=i*h-r*a,S=i*u-s*a,T=n*h-r*o,A=n*u-s*o,b=r*u-s*h,E=l*p-c*d,C=l*m-_*d,x=l*g-f*d,w=c*m-_*p,R=c*g-f*p,I=_*g-f*m,D=y*I-v*R+S*w+T*x-A*C+b*E;return D?(D=1/D,t.m00=(o*I-h*R+u*w)*D,t.m01=(h*x-a*I-u*C)*D,t.m02=(a*R-o*x+u*E)*D,t.m03=0,t.m04=(r*R-n*I-s*w)*D,t.m05=(i*I-r*x+s*C)*D,t.m06=(n*x-i*R-s*E)*D,t.m07=0,t.m08=(p*b-m*A+g*T)*D,t.m09=(m*S-d*b-g*v)*D,t.m10=(d*A-p*S+g*y)*D,t.m11=0,t.m12=0,t.m13=0,t.m14=0,t.m15=1,t):null},e.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.m00,t[i+1]=e.m01,t[i+2]=e.m02,t[i+3]=e.m03,t[i+4]=e.m04,t[i+5]=e.m05,t[i+6]=e.m06,t[i+7]=e.m07,t[i+8]=e.m08,t[i+9]=e.m09,t[i+10]=e.m10,t[i+11]=e.m11,t[i+12]=e.m12,t[i+13]=e.m13,t[i+14]=e.m14,t[i+15]=e.m15,t},e.fromArray=function(t,e,i){return void 0===i&&(i=0),t.m00=e[i+0],t.m01=e[i+1],t.m02=e[i+2],t.m03=e[i+3],t.m04=e[i+4],t.m05=e[i+5],t.m06=e[i+6],t.m07=e[i+7],t.m08=e[i+8],t.m09=e[i+9],t.m10=e[i+10],t.m11=e[i+11],t.m12=e[i+12],t.m13=e[i+13],t.m14=e[i+14],t.m15=e[i+15],t},e.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},e.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},e.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},e.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},e.strictEquals=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},e.equals=function(t,e,i){return void 0===i&&(i=wi),Math.abs(t.m00-e.m00)<=i*Math.max(1,Math.abs(t.m00),Math.abs(e.m00))&&Math.abs(t.m01-e.m01)<=i*Math.max(1,Math.abs(t.m01),Math.abs(e.m01))&&Math.abs(t.m02-e.m02)<=i*Math.max(1,Math.abs(t.m02),Math.abs(e.m02))&&Math.abs(t.m03-e.m03)<=i*Math.max(1,Math.abs(t.m03),Math.abs(e.m03))&&Math.abs(t.m04-e.m04)<=i*Math.max(1,Math.abs(t.m04),Math.abs(e.m04))&&Math.abs(t.m05-e.m05)<=i*Math.max(1,Math.abs(t.m05),Math.abs(e.m05))&&Math.abs(t.m06-e.m06)<=i*Math.max(1,Math.abs(t.m06),Math.abs(e.m06))&&Math.abs(t.m07-e.m07)<=i*Math.max(1,Math.abs(t.m07),Math.abs(e.m07))&&Math.abs(t.m08-e.m08)<=i*Math.max(1,Math.abs(t.m08),Math.abs(e.m08))&&Math.abs(t.m09-e.m09)<=i*Math.max(1,Math.abs(t.m09),Math.abs(e.m09))&&Math.abs(t.m10-e.m10)<=i*Math.max(1,Math.abs(t.m10),Math.abs(e.m10))&&Math.abs(t.m11-e.m11)<=i*Math.max(1,Math.abs(t.m11),Math.abs(e.m11))&&Math.abs(t.m12-e.m12)<=i*Math.max(1,Math.abs(t.m12),Math.abs(e.m12))&&Math.abs(t.m13-e.m13)<=i*Math.max(1,Math.abs(t.m13),Math.abs(e.m13))&&Math.abs(t.m14-e.m14)<=i*Math.max(1,Math.abs(t.m14),Math.abs(e.m14))&&Math.abs(t.m15-e.m15)<=i*Math.max(1,Math.abs(t.m15),Math.abs(e.m15))};var i=e.prototype;return i.clone=function(){return new e(this.m00,this.m01,this.m02,this.m03,this.m04,this.m05,this.m06,this.m07,this.m08,this.m09,this.m10,this.m11,this.m12,this.m13,this.m14,this.m15)},i.set=function(t,e,i,n,r,s,a,o,h,u,l,c,_,f,d,p){return void 0===t&&(t=1),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s=1),void 0===a&&(a=0),void 0===o&&(o=0),void 0===h&&(h=0),void 0===u&&(u=0),void 0===l&&(l=1),void 0===c&&(c=0),void 0===_&&(_=0),void 0===f&&(f=0),void 0===d&&(d=0),void 0===p&&(p=1),"object"==typeof t?(this.m01=t.m01,this.m02=t.m02,this.m03=t.m03,this.m04=t.m04,this.m05=t.m05,this.m06=t.m06,this.m07=t.m07,this.m08=t.m08,this.m09=t.m09,this.m10=t.m10,this.m11=t.m11,this.m12=t.m12,this.m13=t.m13,this.m14=t.m14,this.m15=t.m15,this.m00=t.m00):(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=u,this.m10=l,this.m11=c,this.m12=_,this.m13=f,this.m14=d,this.m15=p,this.m00=t),this},i.equals=function(t,e){return void 0===e&&(e=wi),!(Math.abs(this.m00)===1/0||Math.abs(this.m01)===1/0||Math.abs(this.m02)===1/0||Math.abs(this.m03)===1/0||Math.abs(this.m04)===1/0||Math.abs(this.m05)===1/0||Math.abs(this.m06)===1/0||Math.abs(this.m07)===1/0||Math.abs(this.m08)===1/0||Math.abs(this.m09)===1/0||Math.abs(this.m10)===1/0||Math.abs(this.m11)===1/0||Math.abs(this.m12)===1/0||Math.abs(this.m13)===1/0||Math.abs(this.m14)===1/0||Math.abs(this.m15)===1/0)&&Math.abs(this.m00-t.m00)<=e*Math.max(1,Math.abs(this.m00),Math.abs(t.m00))&&Math.abs(this.m01-t.m01)<=e*Math.max(1,Math.abs(this.m01),Math.abs(t.m01))&&Math.abs(this.m02-t.m02)<=e*Math.max(1,Math.abs(this.m02),Math.abs(t.m02))&&Math.abs(this.m03-t.m03)<=e*Math.max(1,Math.abs(this.m03),Math.abs(t.m03))&&Math.abs(this.m04-t.m04)<=e*Math.max(1,Math.abs(this.m04),Math.abs(t.m04))&&Math.abs(this.m05-t.m05)<=e*Math.max(1,Math.abs(this.m05),Math.abs(t.m05))&&Math.abs(this.m06-t.m06)<=e*Math.max(1,Math.abs(this.m06),Math.abs(t.m06))&&Math.abs(this.m07-t.m07)<=e*Math.max(1,Math.abs(this.m07),Math.abs(t.m07))&&Math.abs(this.m08-t.m08)<=e*Math.max(1,Math.abs(this.m08),Math.abs(t.m08))&&Math.abs(this.m09-t.m09)<=e*Math.max(1,Math.abs(this.m09),Math.abs(t.m09))&&Math.abs(this.m10-t.m10)<=e*Math.max(1,Math.abs(this.m10),Math.abs(t.m10))&&Math.abs(this.m11-t.m11)<=e*Math.max(1,Math.abs(this.m11),Math.abs(t.m11))&&Math.abs(this.m12-t.m12)<=e*Math.max(1,Math.abs(this.m12),Math.abs(t.m12))&&Math.abs(this.m13-t.m13)<=e*Math.max(1,Math.abs(this.m13),Math.abs(t.m13))&&Math.abs(this.m14-t.m14)<=e*Math.max(1,Math.abs(this.m14),Math.abs(t.m14))&&Math.abs(this.m15-t.m15)<=e*Math.max(1,Math.abs(this.m15),Math.abs(t.m15))},i.strictEquals=function(t){return this.m00===t.m00&&this.m01===t.m01&&this.m02===t.m02&&this.m03===t.m03&&this.m04===t.m04&&this.m05===t.m05&&this.m06===t.m06&&this.m07===t.m07&&this.m08===t.m08&&this.m09===t.m09&&this.m10===t.m10&&this.m11===t.m11&&this.m12===t.m12&&this.m13===t.m13&&this.m14===t.m14&&this.m15===t.m15},i.toString=function(){return"[\n"+this.m00+", "+this.m01+", "+this.m02+", "+this.m03+",\n"+this.m04+", "+this.m05+", "+this.m06+", "+this.m07+",\n"+this.m08+", "+this.m09+", "+this.m10+", "+this.m11+",\n"+this.m12+", "+this.m13+", "+this.m14+", "+this.m15+"\n]"},i.identity=function(){return this.m00=1,this.m01=0,this.m02=0,this.m03=0,this.m04=0,this.m05=1,this.m06=0,this.m07=0,this.m08=0,this.m09=0,this.m10=1,this.m11=0,this.m12=0,this.m13=0,this.m14=0,this.m15=1,this},i.zero=function(){return this.m00=0,this.m01=0,this.m02=0,this.m03=0,this.m04=0,this.m05=0,this.m06=0,this.m07=0,this.m08=0,this.m09=0,this.m10=0,this.m11=0,this.m12=0,this.m13=0,this.m14=0,this.m15=0,this},i.transpose=function(){var t=this.m01,e=this.m02,i=this.m03,n=this.m06,r=this.m07,s=this.m11;return this.m01=this.m04,this.m02=this.m08,this.m03=this.m12,this.m04=t,this.m06=this.m09,this.m07=this.m13,this.m08=e,this.m09=n,this.m11=this.m14,this.m12=i,this.m13=r,this.m14=s,this},i.invert=function(){var t=this.m00,e=this.m01,i=this.m02,n=this.m03,r=this.m04,s=this.m05,a=this.m06,o=this.m07,h=this.m08,u=this.m09,l=this.m10,c=this.m11,_=this.m12,f=this.m13,d=this.m14,p=this.m15,m=t*s-e*r,g=t*a-i*r,y=t*o-n*r,v=e*a-i*s,S=e*o-n*s,T=i*o-n*a,A=h*f-u*_,b=h*d-l*_,E=h*p-c*_,C=u*d-l*f,x=u*p-c*f,w=l*p-c*d,R=m*w-g*x+y*C+v*E-S*b+T*A;return 0===R?(this.set(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),this):(R=1/R,this.m00=(s*w-a*x+o*C)*R,this.m01=(i*x-e*w-n*C)*R,this.m02=(f*T-d*S+p*v)*R,this.m03=(l*S-u*T-c*v)*R,this.m04=(a*E-r*w-o*b)*R,this.m05=(t*w-i*E+n*b)*R,this.m06=(d*y-_*T-p*g)*R,this.m07=(h*T-l*y+c*g)*R,this.m08=(r*x-s*E+o*A)*R,this.m09=(e*E-t*x-n*A)*R,this.m10=(_*S-f*y+p*m)*R,this.m11=(u*y-h*S-c*m)*R,this.m12=(s*b-r*C-a*A)*R,this.m13=(t*C-e*b+i*A)*R,this.m14=(f*g-_*v-d*m)*R,this.m15=(h*v-u*g+l*m)*R,this)},i.determinant=function(){var t=this.m00,e=this.m01,i=this.m02,n=this.m03,r=this.m04,s=this.m05,a=this.m06,o=this.m07,h=this.m08,u=this.m09,l=this.m10,c=this.m11,_=this.m12,f=this.m13,d=this.m14,p=this.m15;return(t*s-e*r)*(l*p-c*d)-(t*a-i*r)*(u*p-c*f)+(t*o-n*r)*(u*d-l*f)+(e*a-i*s)*(h*p-c*_)-(e*o-n*s)*(h*d-l*_)+(i*o-n*a)*(h*f-u*_)},i.add=function(t){return this.m00+=t.m00,this.m01+=t.m01,this.m02+=t.m02,this.m03+=t.m03,this.m04+=t.m04,this.m05+=t.m05,this.m06+=t.m06,this.m07+=t.m07,this.m08+=t.m08,this.m09+=t.m09,this.m10+=t.m10,this.m11+=t.m11,this.m12+=t.m12,this.m13+=t.m13,this.m14+=t.m14,this.m15+=t.m15,this},i.subtract=function(t){return this.m00-=t.m00,this.m01-=t.m01,this.m02-=t.m02,this.m03-=t.m03,this.m04-=t.m04,this.m05-=t.m05,this.m06-=t.m06,this.m07-=t.m07,this.m08-=t.m08,this.m09-=t.m09,this.m10-=t.m10,this.m11-=t.m11,this.m12-=t.m12,this.m13-=t.m13,this.m14-=t.m14,this.m15-=t.m15,this},i.multiply=function(t){var e=this.m00,i=this.m01,n=this.m02,r=this.m03,s=this.m04,a=this.m05,o=this.m06,h=this.m07,u=this.m08,l=this.m09,c=this.m10,_=this.m11,f=this.m12,d=this.m13,p=this.m14,m=this.m15,g=t.m00,y=t.m01,v=t.m02,S=t.m03;return this.m00=g*e+y*s+v*u+S*f,this.m01=g*i+y*a+v*l+S*d,this.m02=g*n+y*o+v*c+S*p,this.m03=g*r+y*h+v*_+S*m,g=t.m04,y=t.m05,v=t.m06,S=t.m07,this.m04=g*e+y*s+v*u+S*f,this.m05=g*i+y*a+v*l+S*d,this.m06=g*n+y*o+v*c+S*p,this.m07=g*r+y*h+v*_+S*m,g=t.m08,y=t.m09,v=t.m10,S=t.m11,this.m08=g*e+y*s+v*u+S*f,this.m09=g*i+y*a+v*l+S*d,this.m10=g*n+y*o+v*c+S*p,this.m11=g*r+y*h+v*_+S*m,g=t.m12,y=t.m13,v=t.m14,S=t.m15,this.m12=g*e+y*s+v*u+S*f,this.m13=g*i+y*a+v*l+S*d,this.m14=g*n+y*o+v*c+S*p,this.m15=g*r+y*h+v*_+S*m,this},i.multiplyScalar=function(t){return this.m00*=t,this.m01*=t,this.m02*=t,this.m03*=t,this.m04*=t,this.m05*=t,this.m06*=t,this.m07*=t,this.m08*=t,this.m09*=t,this.m10*=t,this.m11*=t,this.m12*=t,this.m13*=t,this.m14*=t,this.m15*=t,this},i.translate=function(t){return this.m12+=t.x,this.m13+=t.y,this.m14+=t.z,this},i.transform=function(t){var e=t.x,i=t.y,n=t.z,r=this.m00,s=this.m01,a=this.m02,o=this.m03,h=this.m04,u=this.m05,l=this.m06,c=this.m07,_=this.m08,f=this.m09,d=this.m10,p=this.m11;return this.m12=r*e+h*i+_*n+this.m12,this.m13=s*e+u*i+f*n+this.m13,this.m14=a*e+l*i+d*n+this.m14,this.m15=o*e+c*i+p*n+this.m15,this},i.scale=function(t){var e=t.x,i=t.y,n=t.z;return this.m00*=e,this.m01*=e,this.m02*=e,this.m03*=e,this.m04*=i,this.m05*=i,this.m06*=i,this.m07*=i,this.m08*=n,this.m09*=n,this.m10*=n,this.m11*=n,this},i.rotate=function(t,e){var i=e.x,n=e.y,r=e.z,s=Math.sqrt(i*i+n*n+r*r);if(Math.abs(s)0?(r=1/Math.sqrt(r),t.x=i*r,t.y=n*r):(t.x=0,t.y=0),t},e.dot=function(t,e){return t.x*e.x+t.y*e.y},e.cross=function(t,e,i){return t instanceof un?(t.x=t.y=0,t.z=e.x*i.y-e.y*i.x,t):t.x*e.y-t.y*e.x},e.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},e.random=function(t,e){e=e||1;var i=2*Li()*Math.PI;return t.x=Math.cos(i)*e,t.y=Math.sin(i)*e,t},e.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},e.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},e.str=function(t){return"Vec2("+t.x+", "+t.y+")"},e.toArray=function(t,e,i){return void 0===i&&(i=0),t[i+0]=e.x,t[i+1]=e.y,t},e.fromArray=function(t,e,i){return void 0===i&&(i=0),t.x=e[i+0],t.y=e[i+1],t},e.strictEquals=function(t,e){return t.x===e.x&&t.y===e.y},e.equals=function(t,e,i){return void 0===i&&(i=wi),Math.abs(t.x-e.x)<=i*Math.max(1,Math.abs(t.x),Math.abs(e.x))&&Math.abs(t.y-e.y)<=i*Math.max(1,Math.abs(t.y),Math.abs(e.y))},e.angle=function(t,e){var i=t.x*t.x+t.y*t.y,n=e.x*e.x+e.y*e.y;if(0===i||0===n)return 0;var r=(t.x*e.x+t.y*e.y)/Math.sqrt(i*n);return r=Di(r,-1,1),Math.acos(r)};var i=e.prototype;return i.clone=function(){return new e(this.x,this.y)},i.set=function(t,e){return"object"==typeof t?(this.x=t.x,this.y=t.y):(this.x=t||0,this.y=e||0),this},i.equals=function(t,e){return void 0===e&&(e=wi),Math.abs(this.x-t.x)<=e*Math.max(1,Math.abs(this.x),Math.abs(t.x))&&Math.abs(this.y-t.y)<=e*Math.max(1,Math.abs(this.y),Math.abs(t.y))},i.equals2f=function(t,e,i){return void 0===i&&(i=wi),Math.abs(this.x-t)<=i*Math.max(1,Math.abs(this.x),Math.abs(t))&&Math.abs(this.y-e)<=i*Math.max(1,Math.abs(this.y),Math.abs(e))},i.strictEquals=function(t){return t&&this.x===t.x&&this.y===t.y},i.strictEquals2f=function(t,e){return this.x===t&&this.y===e},i.toString=function(){return"("+this.x.toFixed(2)+", "+this.y.toFixed(2)+")"},i.lerp=function(t,e){var i=this.x,n=this.y;return this.x=i+e*(t.x-i),this.y=n+e*(t.y-n),this},i.clampf=function(t,e){return this.x=Di(this.x,t.x,e.x),this.y=Di(this.y,t.y,e.y),this},i.add=function(t){return this.x+=t.x,this.y+=t.y,this},i.add2f=function(t,e){return this.x+=t,this.y+=e,this},i.subtract=function(t){return this.x-=t.x,this.y-=t.y,this},i.subtract2f=function(t,e){return this.x-=t,this.y-=e,this},i.multiplyScalar=function(t){return"object"==typeof t&&console.warn("should use Vec2.multiply for vector * vector operation"),this.x*=t,this.y*=t,this},i.multiply=function(t){return"object"!=typeof t&&console.warn("should use Vec2.scale for vector * scalar operation"),this.x*=t.x,this.y*=t.y,this},i.multiply2f=function(t,e){return this.x*=t,this.y*=e,this},i.divide=function(t){return this.x/=t.x,this.y/=t.y,this},i.divide2f=function(t,e){return this.x/=t,this.y/=e,this},i.negative=function(){return this.x=-this.x,this.y=-this.y,this},i.dot=function(t){return this.x*t.x+this.y*t.y},i.cross=function(t){return this.x*t.y-this.y*t.x},i.length=function(){return Math.sqrt(this.x*this.x+this.y*this.y)},i.lengthSqr=function(){return this.x*this.x+this.y*this.y},i.normalize=function(){var t=this.x,e=this.y,i=t*t+e*e;return i>0&&(i=1/Math.sqrt(i),this.x*=i,this.y*=i),this},i.angle=function(t){var e=this.lengthSqr(),i=t.lengthSqr();if(0===e||0===i)return 0;var n=this.dot(t)/Math.sqrt(e*i);return n=Di(n,-1,1),Math.acos(n)},i.signAngle=function(t){var e=this.angle(t);return this.cross(t)<0?-e:e},i.rotate=function(t){var e=this.x,i=this.y,n=Math.sin(t),r=Math.cos(t);return this.x=r*e-n*i,this.y=n*e+r*i,this},i.project=function(t){var e=this.dot(t)/t.dot(t);return this.x=t.x*e,this.y=t.y*e,this},i.transformMat4=function(t){var e=this.x,i=this.y;return this.x=t.m00*e+t.m04*i+t.m12,this.y=t.m01*e+t.m05*i+t.m13,this},e}(Ee));function Gn(t,e){return new kn(t,e)}Pn=kn,kn.ZERO=Object.freeze(new Pn(0,0)),kn.ONE=Object.freeze(new Pn(1,1)),kn.NEG_ONE=Object.freeze(new Pn(-1,-1)),kn.UNIT_X=Object.freeze(new Pn(1,0)),kn.UNIT_Y=Object.freeze(new Pn(0,1)),yi.fastDefine("cc.Vec2",kn,{x:0,y:0}),v.Vec2=kn,v.v2=Gn,st(kn,"Vec2",[{name:"sub",newName:"subtract",target:kn,targetName:"Vec2"},{name:"mul",newName:"multiply",target:kn,targetName:"Vec2"},{name:"div",newName:"divide",target:kn,targetName:"Vec2"},{name:"dist",newName:"distance",target:kn,targetName:"Vec2"},{name:"sqrDist",newName:"squaredDistance",target:kn,targetName:"Vec2"},{name:"mag",newName:"len",target:kn,targetName:"Vec2"},{name:"sqrMag",newName:"lengthSqr",target:kn,targetName:"Vec2"},{name:"scale",newName:"multiplyScalar",target:kn,targetName:"Vec2"},{name:"exactEquals",newName:"strictEquals",target:kn,targetName:"Vec2"}]),st(kn.prototype,"Vec2",[{name:"mag",newName:"length",target:kn.prototype,targetName:"Vec2"},{name:"magSqr",newName:"lengthSqr",target:kn.prototype,targetName:"Vec2"},{name:"scale",newName:"multiplyScalar",target:kn.prototype,targetName:"Vec2"},{name:"exactEquals",newName:"strictEquals",target:kn.prototype,targetName:"Vec2"}]),st(un,"Vec3",[{name:"sub",newName:"subtract",target:un,targetName:"Vec3"},{name:"mul",newName:"multiply",target:un,targetName:"Vec3"},{name:"div",newName:"divide",target:un,targetName:"Vec3"},{name:"dist",newName:"distance",target:un,targetName:"Vec3"},{name:"sqrDist",newName:"squaredDistance",target:un,targetName:"Vec3"},{name:"mag",newName:"len",target:un,targetName:"Vec3"},{name:"sqrMag",newName:"lengthSqr",target:un,targetName:"Vec3"},{name:"scale",newName:"multiplyScalar",target:un,targetName:"Vec3"},{name:"exactEquals",newName:"strictEquals",target:un,targetName:"Vec3"}]),st(un.prototype,"Vec3",[{name:"mag",newName:"length",target:un.prototype,targetName:"Vec3"},{name:"magSqr",newName:"lengthSqr",target:un.prototype,targetName:"Vec3"},{name:"scale",newName:"multiplyScalar",target:un.prototype,targetName:"Vec3"},{name:"exactEquals",newName:"strictEquals",target:un.prototype,targetName:"Vec3"}]),st(rn,"Vec4",[{name:"sub",newName:"subtract",target:rn,targetName:"Vec4"},{name:"mul",newName:"multiply",target:rn,targetName:"Vec4"},{name:"div",newName:"divide",target:rn,targetName:"Vec4"},{name:"dist",newName:"distance",target:rn,targetName:"Vec4"},{name:"sqrDist",newName:"squaredDistance",target:rn,targetName:"Vec4"},{name:"mag",newName:"len",target:rn,targetName:"Vec4"},{name:"sqrMag",newName:"lengthSqr",target:rn,targetName:"Vec4"},{name:"scale",newName:"multiplyScalar",target:rn,targetName:"Vec4"},{name:"exactEquals",newName:"strictEquals",target:rn,targetName:"Vec4"}]),st(rn.prototype,"Vec4",[{name:"mag",newName:"length",target:rn.prototype,targetName:"Vec4"},{name:"magSqr",newName:"lengthSqr",target:rn.prototype,targetName:"Vec4"},{name:"scale",newName:"multiplyScalar",target:rn.prototype,targetName:"Vec4"},{name:"exactEquals",newName:"strictEquals",target:rn.prototype,targetName:"Vec4"}]),st(bn,"Quat",[{name:"mag",newName:"len",target:bn,targetName:"Quat"},{name:"mul",newName:"multiply",target:bn,targetName:"Quat"},{name:"sqrMag",newName:"lengthSqr",target:bn,targetName:"Quat"},{name:"scale",newName:"multiplyScalar",target:bn,targetName:"Quat"},{name:"exactEquals",newName:"strictEquals",target:bn,targetName:"Quat"}]),st(bn.prototype,"Quat",[{name:"scale",newName:"multiplyScalar",target:bn.prototype,targetName:"Quat"},{name:"exactEquals",newName:"strictEquals",target:bn.prototype,targetName:"Quat"}]),st(mn,"Color",[{name:"sub",newName:"subtract",target:mn,targetName:"Color"},{name:"mul",newName:"multiply",target:mn,targetName:"Color"},{name:"div",newName:"divide",target:mn,targetName:"Color"},{name:"exactEquals",newName:"strictEquals",target:mn,targetName:"Color"},{name:"fromHex",newName:"fromHEX",customFunction:function(){for(var t=arguments.length,e=new Array(t),i=0;i=t.x&&this.y<=t.y&&this.y+this.height>=t.y},i.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},i.transformMat4=function(t){var e=this.x,i=this.y,n=e+this.width,r=i+this.height,s=t.m00*e+t.m04*i+t.m12,a=t.m01*e+t.m05*i+t.m13,o=t.m00*n+t.m04*i+t.m12,h=t.m01*n+t.m05*i+t.m13,u=t.m00*e+t.m04*r+t.m12,l=t.m01*e+t.m05*r+t.m13,c=t.m00*n+t.m04*r+t.m12,_=t.m01*n+t.m05*r+t.m13,f=Math.min(s,o,u,c),d=Math.max(s,o,u,c),p=Math.min(a,h,l,_),m=Math.max(a,h,l,_);return this.x=f,this.y=p,this.width=d-f,this.height=m-p,this},i.transformMat4ToPoints=function(t,e,i,n,r){var s=this.x,a=this.y,o=s+this.width,h=a+this.height;e.x=t.m00*s+t.m04*a+t.m12,e.y=t.m01*s+t.m05*a+t.m13,r.x=t.m00*o+t.m04*a+t.m12,r.y=t.m01*o+t.m05*a+t.m13,i.x=t.m00*s+t.m04*h+t.m12,i.y=t.m01*s+t.m05*h+t.m13,n.x=t.m00*o+t.m04*h+t.m12,n.y=t.m01*o+t.m05*h+t.m13},n(e,[{key:"xMin",get:function(){return this.x},set:function(t){this.width+=this.x-t,this.x=t}},{key:"yMin",get:function(){return this.y},set:function(t){this.height+=this.y-t,this.y=t}},{key:"xMax",get:function(){return this.x+this.width},set:function(t){this.width=t-this.x}},{key:"yMax",get:function(){return this.y+this.height},set:function(t){this.height=t-this.y}},{key:"center",get:function(){return new kn(this.x+.5*this.width,this.y+.5*this.height)},set:function(t){this.x=t.x-.5*this.width,this.y=t.y-.5*this.height}},{key:"origin",get:function(){return new kn(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}},{key:"size",get:function(){return new zn(this.width,this.height)},set:function(t){this.width=t.width,this.height=t.height}},{key:"z",get:function(){return this.width},set:function(t){this.width=t}},{key:"w",get:function(){return this.height},set:function(t){this.height=t}}]),e}(Ee));function Xn(t,e,i,n){return void 0===t&&(t=0),void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),new Wn(t,e,i,n)}yi.fastDefine("cc.Rect",Wn,{x:0,y:0,width:0,height:0}),v.Rect=Wn,v.rect=Xn;var jn=t("bu",Float64Array),Yn=t("bv",function(t){function e(){return t.apply(this,arguments)||this}return s(e,t),e.createFloatArray=function(t){return new jn(t)},n(e,[{key:"array",get:function(){return this._array}}]),e}(Ee)),qn=Object.freeze({__proto__:null,bits:I,Vec2:kn,v2:Gn,Vec3:un,v3:ln,Vec4:rn,v4:sn,Quat:bn,quat:Dn,Mat3:vn,Mat4:Mn,mat4:Fn,AffineTransform:Un,Size:zn,size:Hn,Rect:Wn,rect:Xn,Color:mn,color:gn,preTransforms:Bn,HALF_PI:Ci,TWO_PI:xi,EPSILON:wi,equals:Ri,approx:Ii,clamp:Di,clamp01:Bi,lerp:Mi,toRadian:Pi,toDegree:Oi,random:Li,setRandGenerator:Fi,randomRange:Ni,randomRangeInt:ki,pseudoRandom:Gi,pseudoRandomRange:Vi,pseudoRandomRangeInt:Ui,nextPow2:zi,repeat:Hi,pingPong:Wi,inverseLerp:Xi,absMaxComponent:ji,absMax:Yi,enumerableProps:qi,floatToHalf:tn,halfToFloat:en,MATH_FLOAT_ARRAY:jn,MathBase:Yn});t("aH",qn);var Kn=new un,Jn=new un,Zn=new un,Qn=new un,$n=new un,tr=new un,er=new Array(3),ir=new Array(3);function nr(t,e){return un.dot(e.n,t)-e.d}function rr(t,e,i){return un.copy(t,e),un.subtract($n,i.center,i.halfExtents),un.add(tr,i.center,i.halfExtents),t.x=t.x<$n.x?$n.x:t.x,t.y=t.y<$n.y?$n.y:t.y,t.z=t.z<$n.z?$n.z:t.z,t.x=t.x>tr.x?tr.x:t.x,t.y=t.y>tr.y?tr.y:t.y,t.z=t.z>tr.z?tr.z:t.z,t}function sr(t,e,i){un.set(Kn,i.orientation.m00,i.orientation.m01,i.orientation.m02),un.set(Jn,i.orientation.m03,i.orientation.m04,i.orientation.m05),un.set(Zn,i.orientation.m06,i.orientation.m07,i.orientation.m08),er[0]=Kn,er[1]=Jn,er[2]=Zn,ir[0]=i.halfExtents.x,ir[1]=i.halfExtents.y,ir[2]=i.halfExtents.z,un.subtract(Qn,e,i.center),un.set(t,i.center.x,i.center.y,i.center.z);for(var n=0;n<3;n++){var r=un.dot(Qn,er[n]);r>ir[n]&&(r=ir[n]),r<-ir[n]&&(r=-ir[n]),t.x+=r*er[n].x,t.y+=r*er[n].y,t.z+=r*er[n].z}return t}var ar=Object.freeze({__proto__:null,point_plane:nr,pt_point_plane:function(t,e,i){var n=nr(e,i);return un.subtract(t,e,un.multiplyScalar(t,i.n,n))},pt_point_aabb:rr,pt_point_obb:sr,pt_point_line:function(t,e,i,n){un.subtract(Kn,i,n);var r=Kn.clone(),s=un.lengthSqr(r);if(0===s)un.copy(t,i);else{un.subtract(Kn,e,i);var a=un.dot(Kn,r)/s;a<0?un.copy(t,i):a>1?un.copy(t,n):un.scaleAndAdd(t,i,r,a)}}}),or={SHAPE_RAY:1,SHAPE_LINE:2,SHAPE_SPHERE:4,SHAPE_AABB:8,SHAPE_OBB:16,SHAPE_PLANE:32,SHAPE_TRIANGLE:64,SHAPE_FRUSTUM:128,SHAPE_FRUSTUM_ACCURATE:256,SHAPE_CAPSULE:512,SHAPE_SPLINE:1024},hr=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=0),void 0===s&&(s=-1),this.s=void 0,this.e=void 0,this._type=void 0,this._type=or.SHAPE_LINE,this.s=new un(t,e,i),this.e=new un(n,r,s)}return t.create=function(e,i,n,r,s,a){return new t(e,i,n,r,s,a)},t.clone=function(e){return new t(e.s.x,e.s.y,e.s.z,e.e.x,e.e.y,e.e.z)},t.copy=function(t,e){return un.copy(t.s,e.s),un.copy(t.e,e.e),t},t.fromPoints=function(t,e,i){return un.copy(t.s,e),un.copy(t.e,i),t},t.set=function(t,e,i,n,r,s,a){return t.s.x=e,t.s.y=i,t.s.z=n,t.e.x=r,t.e.y=s,t.e.z=a,t},t.len=function(t){return un.distance(t.s,t.e)},t.prototype.length=function(){return un.distance(this.s,this.e)},n(t,[{key:"type",get:function(){return this._type}}]),t}(),ur=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=0),void 0===s&&(s=-1),this.o=void 0,this.d=void 0,this._type=void 0,this._type=or.SHAPE_RAY,this.o=new un(t,e,i),this.d=new un(n,r,s)}return t.create=function(e,i,n,r,s,a){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s=0),void 0===a&&(a=1),new t(e,i,n,r,s,a)},t.clone=function(e){return new t(e.o.x,e.o.y,e.o.z,e.d.x,e.d.y,e.d.z)},t.copy=function(t,e){return un.copy(t.o,e.o),un.copy(t.d,e.d),t},t.fromPoints=function(t,e,i){return un.copy(t.o,e),un.normalize(t.d,un.subtract(t.d,i,e)),t},t.set=function(t,e,i,n,r,s,a){return t.o.x=e,t.o.y=i,t.o.z=n,t.d.x=r,t.d.y=s,t.d.z=a,t},t.prototype.computeHit=function(t,e){un.normalize(t,this.d),un.scaleAndAdd(t,this.o,t,e)},n(t,[{key:"type",get:function(){return this._type}}]),t}(),lr=new un,cr=new un,_r=new un,fr=new un;function dr(t){return Math.max(Math.max(t.x,t.y),t.z)}var pr,mr,gr,yr,vr,Sr=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=1),this._center=new un(0,0,0),this._radius=0,this._type=void 0,this._type=or.SHAPE_SPHERE,this._center=new un(t,e,i),this._radius=n}t.create=function(e,i,n,r){return new t(e,i,n,r)},t.clone=function(e){return new t(e.center.x,e.center.y,e.center.z,e.radius)},t.copy=function(t,e){return un.copy(t.center,e.center),t.radius=e.radius,t},t.fromPoints=function(t,e,i){return un.multiplyScalar(t.center,un.add(lr,e,i),.5),t.radius=.5*un.subtract(lr,i,e).length(),t},t.set=function(t,e,i,n,r){return t.center.x=e,t.center.y=i,t.center.z=n,t.radius=r,t};var e=t.prototype;return e.destroy=function(){},e.clone=function(){return t.clone(this)},e.copy=function(e){return t.copy(this,e)},e.getBoundary=function(t,e){un.set(t,this.center.x-this.radius,this.center.y-this.radius,this.center.z-this.radius),un.set(e,this.center.x+this.radius,this.center.y+this.radius,this.center.z+this.radius)},e.transform=function(t,e,i,n,r){un.transformMat4(r.center,this.center,t),r.radius=this.radius*dr(n)},e.translateAndRotate=function(t,e,i){un.transformMat4(i.center,this.center,t)},e.setScale=function(t,e){e.radius=this.radius*dr(t)},e.mergePoint=function(t){this.radius<0&&(this.center.set(t),this.radius=0),un.subtract(cr,t,this.center);var e=cr.length();if(e>this.radius){var i=.5*(e-this.radius);this.radius+=i,un.multiplyScalar(cr,cr,i/e),un.add(this.center,this.center,cr)}},e.mergePoints=function(t){var e=t.length;if(!(e<1)){this.radius=-1;for(var i=0;i-Number.EPSILON))return 0;var r=1/n;un.subtract(yr,t.o,e.a);var s=un.dot(yr,gr)*r;if(s<0||s>1)return 0;un.cross(vr,yr,pr);var a=un.dot(t.d,vr)*r;if(a<0||s+a>1)return 0;var o=un.dot(mr,vr)*r;return o<0?0:o}),br=function(){var t=new un(0,0,0);return function(e,i){var n=i.radius,r=i.center,s=e.o,a=e.d,o=n*n;un.subtract(t,r,s);var h=t.lengthSqr(),u=un.dot(t,a),l=o-(h-u*u);if(l<0)return 0;var c=Math.sqrt(l),_=hp?0:d>0?d:p}(i,t,e)}}(),Cr=function(){var t=new un,e=new un,i=new un,n=new un,r=new un,s=new un,a=new un,o=new Array(3),h=new Array(3),u=new Array(3),l=new Array(6);return function(c,_){o[0]=_.halfExtents.x,o[1]=_.halfExtents.y,o[2]=_.halfExtents.z,t=_.center,e=c.o,i=c.d,un.set(n,_.orientation.m00,_.orientation.m01,_.orientation.m02),un.set(r,_.orientation.m03,_.orientation.m04,_.orientation.m05),un.set(s,_.orientation.m06,_.orientation.m07,_.orientation.m08),un.subtract(a,t,e),h[0]=un.dot(n,i),h[1]=un.dot(r,i),h[2]=un.dot(s,i),u[0]=un.dot(n,a),u[1]=un.dot(r,a),u[2]=un.dot(s,a);for(var f=0;f<3;++f){if(0===h[f]){if(-u[f]-o[f]>0||-u[f]+o[f]<0)return 0;h[f]=1e-7}l[2*f+0]=(u[f]+o[f])/h[f],l[2*f+1]=(u[f]-o[f])/h[f]}var d=Math.max(Math.max(Math.min(l[0],l[1]),Math.min(l[2],l[3])),Math.min(l[4],l[5])),p=Math.min(Math.min(Math.max(l[0],l[1]),Math.max(l[2],l[3])),Math.max(l[4],l[5]));return p<0||d>p?0:d>0?d:p}}(),wr=function(){var t=new un,e=new un,i=new un,n=new un,r=new un,s=new un,a=new un,o=new Sr;return function(h,u){var l=u.ellipseCenter0,c=u.ellipseCenter1,_=un.subtract(e,c,l);if(_.length()=0&&R<=1?E:R<0?(o.radius=u.radius,o.center.set(u.ellipseCenter0),ls.raySphere(h,o)):R>1?(o.radius=u.radius,o.center.set(u.ellipseCenter1),ls.raySphere(h,o)):0}}(),Rr=function(){var t=new un(0,0,0);return function(e,i){un.subtract(t,e.e,e.s);var n=-nr(e.s,i)/un.dot(t,i.n);return n<0||n>1?0:n}}(),Ir=function(){var t=new un(0,0,0),e=new un(0,0,0),i=new un(0,0,0),n=new un(0,0,0),r=new un(0,0,0),s=new un(0,0,0);return function(a,o,h){un.subtract(t,o.b,o.a),un.subtract(e,o.c,o.a),un.subtract(i,a.s,a.e),un.cross(r,t,e);var u=un.dot(i,r);if(u<=0)return 0;un.subtract(n,a.s,o.a);var l=un.dot(n,r);if(l<0||l>u)return 0;un.cross(s,i,n);var c=un.dot(e,s);if(c<0||c>u)return 0;var _=-un.dot(t,s);if(_<0||c+_>u)return 0;if(h){var f=1/u,d=1-(c*=f)-(_*=f);un.set(h,o.a.x*d+o.b.x*c+o.c.x*_,o.a.y*d+o.b.y*c+o.c.y*_,o.a.z*d+o.b.z*c+o.c.z*_)}return 1}}(),Dr=new ur;function Br(t,e){Dr.o.set(t.s),un.subtract(Dr.d,t.e,t.s),Dr.d.normalize();var i=Er(Dr,e);return i<=t.length()?i:0}function Mr(t,e){Dr.o.set(t.s),un.subtract(Dr.d,t.e,t.s),Dr.d.normalize();var i=Cr(Dr,e);return i<=t.length()?i:0}function Pr(t,e){Dr.o.set(t.s),un.subtract(Dr.d,t.e,t.s),Dr.d.normalize();var i=br(Dr,e);return i<=t.length()?i:0}var Or,Lr,Fr,Nr,kr=(Or=new un,Lr=new un,Fr=new un,Nr=new un,function(t,e){return un.subtract(Or,t.center,t.halfExtents),un.add(Lr,t.center,t.halfExtents),un.subtract(Fr,e.center,e.halfExtents),un.add(Nr,e.center,e.halfExtents),Or.x<=Nr.x&&Lr.x>=Fr.x&&Or.y<=Nr.y&&Lr.y>=Fr.y&&Or.z<=Nr.z&&Lr.z>=Fr.z});function Gr(t,e,i,n,r,s){un.set(s[0],t.x+i.x*e.x+n.x*e.y+r.x*e.z,t.y+i.y*e.x+n.y*e.y+r.y*e.z,t.z+i.z*e.x+n.z*e.y+r.z*e.z),un.set(s[1],t.x-i.x*e.x+n.x*e.y+r.x*e.z,t.y-i.y*e.x+n.y*e.y+r.y*e.z,t.z-i.z*e.x+n.z*e.y+r.z*e.z),un.set(s[2],t.x+i.x*e.x-n.x*e.y+r.x*e.z,t.y+i.y*e.x-n.y*e.y+r.y*e.z,t.z+i.z*e.x-n.z*e.y+r.z*e.z),un.set(s[3],t.x+i.x*e.x+n.x*e.y-r.x*e.z,t.y+i.y*e.x+n.y*e.y-r.y*e.z,t.z+i.z*e.x+n.z*e.y-r.z*e.z),un.set(s[4],t.x-i.x*e.x-n.x*e.y-r.x*e.z,t.y-i.y*e.x-n.y*e.y-r.y*e.z,t.z-i.z*e.x-n.z*e.y-r.z*e.z),un.set(s[5],t.x+i.x*e.x-n.x*e.y-r.x*e.z,t.y+i.y*e.x-n.y*e.y-r.y*e.z,t.z+i.z*e.x-n.z*e.y-r.z*e.z),un.set(s[6],t.x-i.x*e.x+n.x*e.y-r.x*e.z,t.y-i.y*e.x+n.y*e.y-r.y*e.z,t.z-i.z*e.x+n.z*e.y-r.z*e.z),un.set(s[7],t.x-i.x*e.x-n.x*e.y+r.x*e.z,t.y-i.y*e.x-n.y*e.y+r.y*e.z,t.z-i.z*e.x-n.z*e.y+r.z*e.z)}function Vr(t,e){for(var i=un.dot(e,t[0]),n=i,r=1;r<8;++r){var s=un.dot(e,t[r]);i=sn?s:n}return[i,n]}var Ur,zr,Hr,Wr,Xr,jr=function(){for(var t=new Array(15),e=0;e<15;e++)t[e]=new un(0,0,0);for(var i=new Array(8),n=new Array(8),r=0;r<8;r++)i[r]=new un(0,0,0),n[r]=new un(0,0,0);var s=new un,a=new un;return function(e,r){un.set(t[0],1,0,0),un.set(t[1],0,1,0),un.set(t[2],0,0,1),un.set(t[3],r.orientation.m00,r.orientation.m01,r.orientation.m02),un.set(t[4],r.orientation.m03,r.orientation.m04,r.orientation.m05),un.set(t[5],r.orientation.m06,r.orientation.m07,r.orientation.m08);for(var o=0;o<3;++o)un.cross(t[6+3*o],t[o],t[3]),un.cross(t[7+3*o],t[o],t[4]),un.cross(t[7+3*o],t[o],t[5]);un.subtract(s,e.center,e.halfExtents),un.add(a,e.center,e.halfExtents),function(t,e,i){un.set(i[0],t.x,e.y,e.z),un.set(i[1],t.x,e.y,t.z),un.set(i[2],t.x,t.y,e.z),un.set(i[3],t.x,t.y,t.z),un.set(i[4],e.x,e.y,e.z),un.set(i[5],e.x,e.y,t.z),un.set(i[6],e.x,t.y,e.z),un.set(i[7],e.x,t.y,t.z)}(s,a,i),Gr(r.center,r.halfExtents,t[3],t[4],t[5],n);for(var h=0;h<15;++h){var u=Vr(i,t[h]),l=Vr(n,t[h]);if(l[0]>u[1]||u[0]>l[1])return 0}return 1}}(),Yr=function(t,e){var i=t.halfExtents.x*Math.abs(e.n.x)+t.halfExtents.y*Math.abs(e.n.y)+t.halfExtents.z*Math.abs(e.n.z),n=un.dot(e.n,t.center);return n+ie.d?0:1},qr=function(t,e){for(var i=0;in.halfExtents.x?e++:t[u].x<-n.halfExtents.x&&i++;if(e===r.vertices.length||i===r.vertices.length)return 0;e=0,i=0;for(var l=0;ln.halfExtents.y?e++:t[l].y<-n.halfExtents.y&&i++;if(e===r.vertices.length||i===r.vertices.length)return 0;e=0,i=0;for(var c=0;cn.halfExtents.z?e++:t[c].z<-n.halfExtents.z&&i++;return e===r.vertices.length||i===r.vertices.length?0:1}}(),Jr=(Ur=new un(0,0,0),zr=new vn,function(t,e){return un.subtract(Ur,e,t.center),un.transformMat3(Ur,Ur,vn.transpose(zr,t.orientation)),i=Ur,n=t.halfExtents,Math.abs(i.x)e.d?0:1}),Qr=function(t,e){for(var i=0;ir.halfExtents.x?i++:e<-r.halfExtents.x&&n++;if(i===a.vertices.length||n===a.vertices.length)return 0;i=0,n=0;for(var _=0;_r.halfExtents.y?i++:e<-r.halfExtents.y&&n++;if(i===a.vertices.length||n===a.vertices.length)return 0;i=0,n=0;for(var f=0;fr.halfExtents.z?i++:e<-r.halfExtents.z&&n++;return i===a.vertices.length||n===a.vertices.length?0:1}}(),ts=function(){for(var t=new Array(15),e=0;e<15;e++)t[e]=new un(0,0,0);for(var i=new Array(8),n=new Array(8),r=0;r<8;r++)i[r]=new un(0,0,0),n[r]=new un(0,0,0);return function(e,r){un.set(t[0],e.orientation.m00,e.orientation.m01,e.orientation.m02),un.set(t[1],e.orientation.m03,e.orientation.m04,e.orientation.m05),un.set(t[2],e.orientation.m06,e.orientation.m07,e.orientation.m08),un.set(t[3],r.orientation.m00,r.orientation.m01,r.orientation.m02),un.set(t[4],r.orientation.m03,r.orientation.m04,r.orientation.m05),un.set(t[5],r.orientation.m06,r.orientation.m07,r.orientation.m08);for(var s=0;s<3;++s)un.cross(t[6+3*s],t[s],t[3]),un.cross(t[7+3*s],t[s],t[4]),un.cross(t[8+3*s],t[s],t[5]);Gr(e.center,e.halfExtents,t[0],t[1],t[2],i),Gr(r.center,r.halfExtents,t[3],t[4],t[5],n);for(var a=0;a<15;++a){var o=Vr(i,t[a]),h=Vr(n,t[a]);if(h[0]>o[1]||o[0]>h[1])return 0}return 1}}(),es=function(){for(var t=new Sr,e=new un,i=new un,n=new un,r=new Array(8),s=0;s<8;s++)r[s]=new un;for(var a=new Array(8),o=0;o<8;o++)a[o]=new un;return function(s,o){if(0===un.squaredDistance(o.ellipseCenter0,o.ellipseCenter1))return t.radius=o.radius,t.center.set(o.ellipseCenter0),ls.sphereOBB(t,s);e.x=s.orientation.m00,e.y=s.orientation.m01,e.z=s.orientation.m02,i.x=s.orientation.m03,i.y=s.orientation.m04,i.z=s.orientation.m05,n.x=s.orientation.m06,n.y=s.orientation.m07,n.z=s.orientation.m08,Gr(s.center,s.halfExtents,e,i,n,r);var h=a,u=un.copy(h[0],e),l=un.copy(h[1],i),c=un.copy(h[2],n);un.subtract(h[3],o.center,s.center).normalize();var _=un.subtract(h[4],o.ellipseCenter0,o.ellipseCenter1);_.normalize(),un.cross(h[5],u,_),un.cross(h[6],l,_),un.cross(h[7],c,_);for(var f=0;f<8;++f){var d=Vr(r,h[f]),p=un.dot(h[f],o.ellipseCenter0),m=un.dot(h[f],o.ellipseCenter1),g=Math.max(p,m),y=Math.min(p,m)-o.radius,v=g+o.radius;if(y>d[1]||d[0]>v)return 0}return 1}}(),is=function(t,e){var i=un.dot(e.n,t.center),n=t.radius*e.n.length();return i+ne.d?0:1},ns=function(t,e){for(var i=0;io)){un.add(Wr,s,un.multiplyScalar(Wr,a,r));for(var u=0;u<6;u++)if(u!==i&&u!==i+Xr[i]){var l=e.planes[u];if(un.dot(l.n,Wr)1?un.squaredDistance(i.center,n.ellipseCenter1)v&&(h=v,u=g+d,S=p)),u<0?(u=0,-m<0?h=0:-m>f?h=v:(h=-m,v=f)):u>S&&(u=S,-m+d<0?h=0:-m+d>f?h=v:(h=-m+d,v=f));var T=Math.abs(h)0&&(t.d=e.d/i),t},t.prototype.transform=function(t){Mn.invert(fs,t),Mn.transpose(fs,fs),rn.set(ds,this.n.x,this.n.y,this.n.z,-this.d),rn.transformMat4(ds,ds,fs),un.set(this.n,ds.x,ds.y,ds.z),this.d=-ds.w},n(t,[{key:"type",get:function(){return this._type}},{key:"x",get:function(){return this.n.x},set:function(t){this.n.x=t}},{key:"y",get:function(){return this.n.y},set:function(t){this.n.y=t}},{key:"z",get:function(){return this.n.z},set:function(t){this.n.z=t}},{key:"w",get:function(){return this.d},set:function(t){this.d=t}}]),t}(),ms=function(){function t(t,e,i,n,r,s,a,o,h){void 0===t&&(t=0),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),void 0===a&&(a=0),void 0===o&&(o=1),void 0===h&&(h=0),this.a=void 0,this.b=void 0,this.c=void 0,this._type=void 0,this._type=or.SHAPE_TRIANGLE,this.a=new un(t,e,i),this.b=new un(n,r,s),this.c=new un(a,o,h)}return t.create=function(e,i,n,r,s,a,o,h,u){return void 0===e&&(e=1),void 0===i&&(i=0),void 0===n&&(n=0),void 0===r&&(r=0),void 0===s&&(s=0),void 0===a&&(a=0),void 0===o&&(o=0),void 0===h&&(h=0),void 0===u&&(u=1),new t(e,i,n,r,s,a,o,h,u)},t.clone=function(e){return new t(e.a.x,e.a.y,e.a.z,e.b.x,e.b.y,e.b.z,e.c.x,e.c.y,e.c.z)},t.copy=function(t,e){return un.copy(t.a,e.a),un.copy(t.b,e.b),un.copy(t.c,e.c),t},t.fromPoints=function(t,e,i,n){return un.copy(t.a,e),un.copy(t.b,i),un.copy(t.c,n),t},t.set=function(t,e,i,n,r,s,a,o,h,u){return t.a.x=e,t.a.y=i,t.a.z=n,t.b.x=r,t.b.y=s,t.b.z=a,t.c.x=o,t.c.y=h,t.c.z=u,t},n(t,[{key:"type",get:function(){return this._type}}]),t}(),gs=new un,ys=new un,vs=new un,Ss=new un,Ts=new vn,As=function(t,e,i){Ts.m00=Math.abs(i.m00),Ts.m01=Math.abs(i.m01),Ts.m02=Math.abs(i.m02),Ts.m03=Math.abs(i.m04),Ts.m04=Math.abs(i.m05),Ts.m05=Math.abs(i.m06),Ts.m06=Math.abs(i.m08),Ts.m07=Math.abs(i.m09),Ts.m08=Math.abs(i.m10),un.transformMat3(t,e,Ts)},bs=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=1),void 0===r&&(r=1),void 0===s&&(s=1),this.center=void 0,this.halfExtents=void 0,this._type=void 0,this._type=or.SHAPE_AABB,this.center=new un(t,e,i),this.halfExtents=new un(n,r,s)}t.create=function(e,i,n,r,s,a){return new t(e,i,n,r,s,a)},t.clone=function(e){return new t(e.center.x,e.center.y,e.center.z,e.halfExtents.x,e.halfExtents.y,e.halfExtents.z)},t.copy=function(t,e){return un.copy(t.center,e.center),un.copy(t.halfExtents,e.halfExtents),t},t.fromPoints=function(t,e,i){return un.add(gs,i,e),un.subtract(ys,i,e),un.multiplyScalar(t.center,gs,.5),un.multiplyScalar(t.halfExtents,ys,.5),t},t.set=function(t,e,i,n,r,s,a){return t.center.set(e,i,n),t.halfExtents.set(r,s,a),t},t.merge=function(e,i,n){return un.subtract(gs,i.center,i.halfExtents),un.subtract(ys,n.center,n.halfExtents),un.add(vs,i.center,i.halfExtents),un.add(Ss,n.center,n.halfExtents),un.max(Ss,vs,Ss),un.min(vs,gs,ys),t.fromPoints(e,vs,Ss)},t.toBoundingSphere=function(t,e){return t.center.set(e.center),t.radius=e.halfExtents.length(),t},t.transform=function(t,e,i){return un.transformMat4(t.center,e.center,i),As(t.halfExtents,e.halfExtents,i),t};var e=t.prototype;return e.getBoundary=function(t,e){un.subtract(t,this.center,this.halfExtents),un.add(e,this.center,this.halfExtents)},e.transform=function(t,e,i,n,r){un.transformMat4(r.center,this.center,t),As(r.halfExtents,this.halfExtents,t)},e.clone=function(){return t.clone(this)},e.copy=function(e){return t.copy(this,e)},e.mergePoint=function(t){this.getBoundary(gs,ys),t.xys.x&&(ys.x=t.x),t.y>ys.y&&(ys.y=t.y),t.z>ys.z&&(ys.z=t.z),un.add(vs,gs,ys),this.center.set(un.multiplyScalar(vs,vs,.5)),this.halfExtents.set(ys.x-vs.x,ys.y-vs.y,ys.z-vs.z)},e.mergePoints=function(t){if(!(t.length<1))for(var e=0;e>>1;n<=r;s=n+r>>>1){var a=t[s];if(a>e+i)r=s-1;else{if(!(a=t._times.length)return{done:!0,value:void 0};var i=[t._times[e],t._values[e]];return++e,{done:!1,value:i}}}},e.keyframes=function(){return this},e.times=function(){return this._times},e.values=function(){return this._values},e.getKeyframeTime=function(t){return this._times[t]},e.getKeyframeValue=function(t){return this._values[t]},e.addKeyFrame=function(t,e){return this._insertNewKeyframe(t,e)},e.removeKeyframe=function(t){this._times.splice(t,1),this._values.splice(t,1)},e.indexOfKeyframe=function(t){return Ls(this._times,t)},e.updateTime=function(t,e){var i=this._values[t];this.removeKeyframe(t),this._insertNewKeyframe(e,i)},e.assignSorted=function(t,e){if(void 0!==e)this.setKeyframes(t.slice(),e.slice());else{var i=Array.from(t);this.setKeyframes(i.map((function(t){return t[0]})),i.map((function(t){return t[1]})))}},e.clear=function(){this._times.length=0,this._values.length=0},e.searchKeyframe=function(t){return Ls(this._times,t)},e.setKeyframes=function(t,e){t.length,e.length,function(t){t.every((function(t,e,i){return 0===e||t>i[e-1]||Ii(t,i[e-1],1e-6)}))}(t),this._times=t,this._values=e},e._insertNewKeyframe=function(t,e){var i=this._times,n=this._values,r=i.length,s=Ls(i,t);if(s>=0)return s;var a=~s;return 0===a?(i.unshift(t),n.unshift(e)):a===r?(i.push(t),n.push(e)):(i.splice(a-1,0,t),n.splice(a-1,0,e)),a},n(t,[{key:"keyFramesCount",get:function(){return this._times.length}},{key:"rangeMin",get:function(){return this._times[0]}},{key:"rangeMax",get:function(){return this._times[this._values.length-1]}}]),t}();function Vs(t){return t>-1e-9&&t<1e-9}function Us(t,e,i,n){return i.slice().reverse().reduce((function(i,n){return n(t,e,i)||i}),n)}yi.fastDefine("cc.KeyframeCurve",Gs,{_times:[],_values:[]}),t("co",Fs),function(t){t[t.LINEAR=0]="LINEAR",t[t.CONSTANT=1]="CONSTANT",t[t.CUBIC=2]="CUBIC"}(Fs||t("co",Fs={})),t("cp",Ns),function(t){t[t.LINEAR=0]="LINEAR",t[t.CLAMP=1]="CLAMP",t[t.LOOP=2]="LOOP",t[t.PING_PONG=3]="PING_PONG"}(Ns||t("cp",Ns={})),t("cq",ks),function(t){t[t.NONE=0]="NONE",t[t.LEFT=1]="LEFT",t[t.RIGHT=2]="RIGHT",t[t.BOTH=3]="BOTH"}(ks||t("cq",ks={}));var zs=function(){},Hs=function(){return zs},Ws=Xs((function(){}));function Xs(t){return function(e){return"function"==typeof e?t(e):function(i){return t(i,e)}}}function js(t){return function(e){return function(i){!function(t,e,i){var n=qs(t);if(n){var r=Ks(n,"proto");Ks(r,"editor")[e]=i}}(i,t,e)}}}var Ys="__ccclassCache__";function qs(t){return Ks(t,Ys)}function Ks(t,e){return t[e]||(t[e]={})}var Js=Xs((function(t,e){var i=Wt(t);i===Object&&(i=null);var n={name:e,extends:i,ctor:t},r=t[Ys];if(r){var s=r.proto;s&&zt(n,s),t[Ys]=void 0}return yi(n)})),Zs=js("requireComponent"),Qs=js("executionOrder"),$s=Ws;function ta(t,e,i){var n=null;function r(t,e,i){!function(t,e,i,n,r,s){var a,o=s&&"function"!=typeof s&&(s.get||s.set);r&&(a=si(r,o));var h=zt(e,a||r||{});o?(s.get&&(h.get=s.get),s.set&&(h.set=s.set)):na(t,h,i,n,s)}(function(t){return qs(t.constructor)}(t),function(t,e){var i,n,r=Ks(qs(t.constructor),"proto"),s=Ks(r,"properties");return null!==(n=s[i=e])&&void 0!==n?n:s[i]={}}(t,e),t.constructor,e,n,i)}return void 0===t?ta({type:void 0}):void 0===e?(n=t,r):void r(t,e,i)}function ea(t){var e;try{e=t()}catch(e){return t}return"object"!=typeof e||null===e?e:t}function ia(t,e,i){var n,r,s=qs(t.constructor),a=Ks(s,"proto"),o=Ks(a,"properties"),h=null!==(r=o[n=e])&&void 0!==r?r:o[n]={};return h.__internalFlags|=ai.STANDALONE,i&&"function"!=typeof i&&(i.get||i.set)?(i.get&&(h.get=i.get),i.set&&(h.set=i.set)):na(s,h,t.constructor,e,i),h}function na(t,e,i,n,r){if(void 0!==r)"function"==typeof r?e.default=ea(r):null===r||r.initializer&&(e.default=ea(r.initializer));else{var s=t.default||(t.default=function(t){var e;try{e=new t}catch(t){return{}}return e}(i));s.hasOwnProperty(n)&&(e.default=s[n])}}var ra=Symbol("cc:SerializationMetadata"),sa=t("cQ",(function(t,e,i){ha(ia(t,e,i))}));function aa(t){return function(e,i,n){var r=ia(e,i,n);r.formerlySerializedAs=t,ha(r)}}var oa=function(t,e,i){var n=ia(t,e,i);n.editorOnly=!0,ha(n)};function ha(t){t.__internalFlags|=ai.IMPLICIT_SERIALIZABLE}var ua=zs,la=Ws,ca=Hs,_a=Ws,fa=Hs,da=Hs,pa=Hs,ma=t("cF",zs),ga=t("cH",Hs),ya=t("cI",Hs),va=t("cG",Hs),Sa=t("cK",Hs),Ta=t("cL",Hs),Aa=t("cM",zs),ba=t("cJ",Hs),Ea=t("cN",zs),Ca=Ia(Ke),xa=Ia(Je),wa=Ia(Ze),Ra=Ia(Qe);function Ia(t){return ta({type:t})}var Da=t("cO",(function(t,e,i){ia(t,e,i).override=!0})),Ba=t("bZ","__editorExtras__"),Ma=t("c1",(function(){})),Pa=Object.freeze({__proto__:null,uniquelyReferenced:ua,ccclass:Js,property:ta,requireComponent:Zs,executionOrder:Qs,disallowMultiple:$s,executeInEditMode:la,menu:ca,playOnFocus:_a,inspector:fa,icon:da,help:pa,type:Ia,integer:Ca,float:xa,boolean:wa,string:Ra,editable:ma,tooltip:va,visible:ga,displayName:ya,displayOrder:ba,range:Sa,rangeStep:Ta,slide:Aa,disallowAnimation:Ea,override:Da,formerlySerializedAs:aa,serializable:sa});t("bQ",Pa);var Oa,La,Fa,Na,ka,Ga,Va,Ua,za,Ha,Wa=[],Xa=t("bT",function(){function t(t){void 0===t&&(t=""),this._objFlags=void 0,this._name=void 0,this._name=t,this._objFlags=0}t._deferredDestroy=function(){for(var t=Wa.length,e=0;e>3},n=i.storageUnit,r=Ka(i.elementType),s=new(Ja(n))(t,this._byteOffset,this._unitCount),a=new Array(this._length),o=0;o=1?1:t*t*(3-2*t)}function Oo(t){return t<=0?0:t>=1?1:t*t*t*(t*(6*t-15)+10)}v._decorator=Pa;var Lo=Xo(io,no),Fo=Xo(so,ao),No=Xo(ho,uo),ko=Xo(co,_o),Go=Xo(po,mo),Vo=Xo(yo,vo),Uo=Xo(To,Ao),zo=Xo(Eo,Co),Ho=Xo(wo,Ro),Wo=Xo(Do,Bo);function Xo(t,e){return function(i){return i<.5?e(2*i)/2:t(2*i-1)/2+.5}}var jo,Yo,qo=Object.freeze({__proto__:null,constant:to,linear:eo,quadIn:io,quadOut:no,quadInOut:ro,cubicIn:so,cubicOut:ao,cubicInOut:oo,quartIn:ho,quartOut:uo,quartInOut:lo,quintIn:co,quintOut:_o,quintInOut:fo,sineIn:po,sineOut:mo,sineInOut:go,expoIn:yo,expoOut:vo,expoInOut:So,circIn:To,circOut:Ao,circInOut:bo,elasticIn:Eo,elasticOut:Co,elasticInOut:xo,backIn:wo,backOut:Ro,backInOut:Io,bounceIn:Do,bounceOut:Bo,bounceInOut:Mo,smooth:Po,fade:Oo,quadOutIn:Lo,cubicOutIn:Fo,quartOutIn:No,quintOutIn:ko,sineOutIn:Go,expoOutIn:Vo,circOutIn:Uo,elasticOutIn:zo,backOutIn:Ho,bounceOutIn:Wo});t("cA",qo),t("c_",Yo),function(t){t[t.LINEAR=0]="LINEAR",t[t.CONSTANT=1]="CONSTANT",t[t.QUAD_IN=2]="QUAD_IN",t[t.QUAD_OUT=3]="QUAD_OUT",t[t.QUAD_IN_OUT=4]="QUAD_IN_OUT",t[t.QUAD_OUT_IN=5]="QUAD_OUT_IN",t[t.CUBIC_IN=6]="CUBIC_IN",t[t.CUBIC_OUT=7]="CUBIC_OUT",t[t.CUBIC_IN_OUT=8]="CUBIC_IN_OUT",t[t.CUBIC_OUT_IN=9]="CUBIC_OUT_IN",t[t.QUART_IN=10]="QUART_IN",t[t.QUART_OUT=11]="QUART_OUT",t[t.QUART_IN_OUT=12]="QUART_IN_OUT",t[t.QUART_OUT_IN=13]="QUART_OUT_IN",t[t.QUINT_IN=14]="QUINT_IN",t[t.QUINT_OUT=15]="QUINT_OUT",t[t.QUINT_IN_OUT=16]="QUINT_IN_OUT",t[t.QUINT_OUT_IN=17]="QUINT_OUT_IN",t[t.SINE_IN=18]="SINE_IN",t[t.SINE_OUT=19]="SINE_OUT",t[t.SINE_IN_OUT=20]="SINE_IN_OUT",t[t.SINE_OUT_IN=21]="SINE_OUT_IN",t[t.EXPO_IN=22]="EXPO_IN",t[t.EXPO_OUT=23]="EXPO_OUT",t[t.EXPO_IN_OUT=24]="EXPO_IN_OUT",t[t.EXPO_OUT_IN=25]="EXPO_OUT_IN",t[t.CIRC_IN=26]="CIRC_IN",t[t.CIRC_OUT=27]="CIRC_OUT",t[t.CIRC_IN_OUT=28]="CIRC_IN_OUT",t[t.CIRC_OUT_IN=29]="CIRC_OUT_IN",t[t.ELASTIC_IN=30]="ELASTIC_IN",t[t.ELASTIC_OUT=31]="ELASTIC_OUT",t[t.ELASTIC_IN_OUT=32]="ELASTIC_IN_OUT",t[t.ELASTIC_OUT_IN=33]="ELASTIC_OUT_IN",t[t.BACK_IN=34]="BACK_IN",t[t.BACK_OUT=35]="BACK_OUT",t[t.BACK_IN_OUT=36]="BACK_IN_OUT",t[t.BACK_OUT_IN=37]="BACK_OUT_IN",t[t.BOUNCE_IN=38]="BOUNCE_IN",t[t.BOUNCE_OUT=39]="BOUNCE_OUT",t[t.BOUNCE_IN_OUT=40]="BOUNCE_IN_OUT",t[t.BOUNCE_OUT_IN=41]="BOUNCE_OUT_IN",t[t.SMOOTH=42]="SMOOTH",t[t.FADE=43]="FADE"}(Yo||t("c_",Yo={}));var Ko,Jo=((jo={})[Yo.CONSTANT]=to,jo[Yo.LINEAR]=eo,jo[Yo.QUAD_IN]=io,jo[Yo.QUAD_OUT]=no,jo[Yo.QUAD_IN_OUT]=ro,jo[Yo.QUAD_OUT_IN]=Lo,jo[Yo.CUBIC_IN]=so,jo[Yo.CUBIC_OUT]=ao,jo[Yo.CUBIC_IN_OUT]=oo,jo[Yo.CUBIC_OUT_IN]=Fo,jo[Yo.QUART_IN]=ho,jo[Yo.QUART_OUT]=uo,jo[Yo.QUART_IN_OUT]=lo,jo[Yo.QUART_OUT_IN]=No,jo[Yo.QUINT_IN]=co,jo[Yo.QUINT_OUT]=_o,jo[Yo.QUINT_IN_OUT]=fo,jo[Yo.QUINT_OUT_IN]=ko,jo[Yo.SINE_IN]=po,jo[Yo.SINE_OUT]=mo,jo[Yo.SINE_IN_OUT]=go,jo[Yo.SINE_OUT_IN]=Go,jo[Yo.EXPO_IN]=yo,jo[Yo.EXPO_OUT]=vo,jo[Yo.EXPO_IN_OUT]=So,jo[Yo.EXPO_OUT_IN]=Vo,jo[Yo.CIRC_IN]=To,jo[Yo.CIRC_OUT]=Ao,jo[Yo.CIRC_IN_OUT]=bo,jo[Yo.CIRC_OUT_IN]=Uo,jo[Yo.ELASTIC_IN]=Eo,jo[Yo.ELASTIC_OUT]=Co,jo[Yo.ELASTIC_IN_OUT]=xo,jo[Yo.ELASTIC_OUT_IN]=zo,jo[Yo.BACK_IN]=wo,jo[Yo.BACK_OUT]=Ro,jo[Yo.BACK_IN_OUT]=Io,jo[Yo.BACK_OUT_IN]=Ho,jo[Yo.BOUNCE_IN]=Do,jo[Yo.BOUNCE_OUT]=Bo,jo[Yo.BOUNCE_IN_OUT]=Mo,jo[Yo.BOUNCE_OUT_IN]=Wo,jo[Yo.SMOOTH]=Po,jo[Yo.FADE]=Oo,jo);function Zo(t){return Jo[t]}C(255),C(65280);var Qo,$o,th,eh=Fs.LINEAR<<0|ks.NONE<<8|Yo.LINEAR<<16,ih=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r>0},set:function(t){this._flags&=-256,this._flags|=t<<0}},{key:"tangentWeightMode",get:function(){return(65280&this._flags)>>8},set:function(t){this._flags&=-65281,this._flags|=t<<8}},{key:"easingMethod",get:function(){return(16711680&this._flags)>>16},set:function(t){this._flags&=-16711681,this._flags|=t<<16}}]),e}(Ma);function nh(t){var e=new ih;if("number"==typeof t)e.value=t;else{var i=t.interpolationMode,n=t.tangentWeightMode,r=t.value,s=t.rightTangent,a=t.rightTangentWeight,o=t.leftTangent,h=t.leftTangentWeight,u=t.easingMethod,l=t[Ba];e.value=null!=r?r:e.value,e.rightTangent=null!=s?s:e.rightTangent,e.rightTangentWeight=null!=a?a:e.rightTangentWeight,e.leftTangent=null!=o?o:e.leftTangent,e.leftTangentWeight=null!=h?h:e.leftTangentWeight,e.interpolationMode=null!=i?i:e.interpolationMode,e.tangentWeightMode=null!=n?n:e.tangentWeightMode,e.easingMethod=null!=u?u:e.easingMethod,l&&(e[Ba]=l)}return e}yi.fastDefine("cc.RealKeyframeValue",ih,((Ko={interpolationMode:Fs.LINEAR,tangentWeightMode:ks.NONE,value:0,rightTangent:0,rightTangentWeight:0,leftTangent:0,leftTangentWeight:0,easingMethod:Yo.LINEAR})[Ba]=void 0,Ko)),yi.Attr.setClassAttr(ih,Ba,"editorOnly",!0),(Qo=ih,null!==(th=($o=Qo)[ra])&&void 0!==th?th:$o[ra]={}).uniquelyReferenced=!0;var rh,sh=t("cn",function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;rs){var h=this.postExtrapolation,u=i[n-1];if(h===Ns.CLAMP||n<2)return u.value;switch(h){case Ns.LINEAR:return Th(s,u.value,e[n-2],i[n-2].value,t);case Ns.LOOP:t=vh(t,r,s);break;case Ns.PING_PONG:t=Sh(t,r,s);break;default:return u.value}}var l=Ls(e,t);if(l>=0)return i[l].value;var c=~l,_=c-1,f=e[_],d=i[_],p=e[c];return function(t,e,i,n,r){var s=i-t;switch(e.interpolationMode){default:case Fs.CONSTANT:return e.value;case Fs.LINEAR:var a=e.easingMethod===Yo.LINEAR?r:Zo(e.easingMethod)(r);return Mi(e.value,n.value,a);case Fs.CUBIC:var o=1/3,h=e.rightTangent,u=e.rightTangentWeight,l=0!=(e.tangentWeightMode&ks.RIGHT),c=n.leftTangent,_=n.leftTangentWeight,f=0!=(n.tangentWeightMode&ks.LEFT);if(l||f){var d=0;if(l)d=u;else{var p=s,m=s*h;d=Math.sqrt(p*p+m*m)*o}var g=Math.atan(h),y=Math.cos(g)*d+t,v=Math.sin(g)*d+e.value,S=0;if(f)S=_;else{var T=s,A=s*c;S=Math.sqrt(T*T+A*A)*o}var b=Math.atan(c),E=(y-t)/s,C=(-Math.cos(b)*S+i-t)/s,x=v,w=-Math.sin(b)*S+n.value,R=[0,0,0],I=function(t,e,i,n,r){var s=i/n,a=e/n,o=s*s,h=1/3*(-1/3*o+a),u=.5*(2/27*s*o-1/3*s*a+t/n),l=h*h*h,c=u*u+l,_=0;if(Vs(c)){if(Vs(u))return r[0]=0,1;var f=Math.cbrt(-u);return r[0]=2*f,r[1]=-f,2}if(c<0){var d=1/3*Math.acos(-u/Math.sqrt(-l)),p=2*Math.sqrt(-h);r[0]=p*Math.cos(d),r[1]=-p*Math.cos(d+Math.PI/3),r[2]=-p*Math.cos(d-Math.PI/3),_=3}else{var m=Math.sqrt(c),g=Math.cbrt(m-u),y=-Math.cbrt(m+u);r[0]=g+y,_=1}for(var v=1/3*s,S=0;S<_;++S)r[S]-=v;return _}(0-r,3*E,3*C-6*E,3*(E-C)+1,R),D=function(t,e,i){var n=i;if(1===e)n=t[0];else{n=-1/0;for(var r=0;r=0&&s<=1&&s>n&&(n=s)}n===-1/0&&(n=0)}return n}(R,I,r);return Ah(e.value,x,w,n.value,D)}var B=e.value+o*h*s,M=n.value-o*c*s;return Ah(e.value,B,M,n.value,r)}}(f,d,p,i[c],(t-f)/(p-f))},i.addKeyFrame=function(e,i){return t.prototype.addKeyFrame.call(this,e,nh(i))},i.assignSorted=function(t,e){if(void 0!==e)this.setKeyframes(t.slice(),e.map((function(t){return nh(t)})));else{var i=Array.from(t);this.setKeyframes(i.map((function(t){return t[0]})),i.map((function(t){return nh(t[1])})))}},i.isConstant=function(t){if(this._values.length<=1)return!0;var e=this._values[0].value;return this._values.every((function(i){return Ii(i.value,e,t)}))},i[Qa]=function(t,e){if(e.toCCON){var i=this._times,n=this._values,r=i.length,s=new DataView(new ArrayBuffer(0+ah+ah+oh+hh*r+mh*r)),a=0;s.setUint8(a,this.preExtrapolation),a+=ah,s.setUint8(a,this.postExtrapolation),a+=ah,s.setUint32(a,r,!0),a+=oh,i.forEach((function(t,e){return s.setFloat32(a+hh*e,t,!0)})),a+=hh*r;for(var o,h=f(n);!(o=h()).done;){var u=o.value;a=gh(s,u,a)}var l=new Uint8Array(s.buffer,0,a);t.writeProperty("bytes",l);var c=n.map((function(t){return t[Ba]}));c.some((function(t){return void 0!==t}))&&t.writeProperty("keyframeValueEditorExtras",c)}else t.writeThis()},i[$a]=function(t,e){if(e.fromCCON){var i=t.readProperty("bytes"),n=new DataView(i.buffer,i.byteOffset,i.byteLength),r=0;this.preExtrapolation=n.getUint8(r),r+=ah,this.postExtrapolation=n.getUint8(r),r+=ah;var s=n.getUint32(r,!0);r+=oh;var a=Array.from({length:s},(function(t,e){return n.getFloat32(r+hh*e,!0)}));r+=hh*s;for(var o=new Array(s),h=0;h>8;return e.easingMethod=s,n}function vh(t,e,i){return e+Hi(t-e,i-e)}function Sh(t,e,i){return e+Wi(t-e,i-e)}function Th(t,e,i,n,r){return e+(n-e)/(i-t)*(r-t)}function Ah(t,e,i,n,r){var s=1-r;return s*s*s*t+3*s*s*r*e+3*s*r*r*i+r*r*r*n}function bh(t,e,i,n,r){var s=1-r;return s*(s*(t+(3*e-t)*r)+3*i*r*r)+n*r*r*r}v.bezier=bh;var Eh,Ch,xh,wh,Rh,Ih,Dh,Bh,Mh,Ph,Oh=Math.cos,Lh=Math.acos,Fh=Math.max,Nh=2*Math.PI,kh=Math.sqrt;function Gh(t){return t<0?-Math.pow(-t,1/3):Math.pow(t,1/3)}function Vh(t,e){var i=function(t,e){var i,n,r,s,a=e-0,o=e-t[0],h=3*a,u=3*o,l=3*(e-t[2]),c=1/(-a+u-l+(e-1)),_=1/3,f=(h-6*o+l)*c,d=f*_,p=(-h+u)*c,m=(3*p-f*f)*_,g=m*_,y=(2*f*f*f-9*f*p+a*c*27)/27,v=y/2,S=v*v+g*g*g;if(S<0){var T=-m*_,A=kh(T*T*T),b=-y/(2*A),E=Lh(b<-1?-1:b>1?1:b),C=2*Gh(A);return n=C*Oh(E*_)-d,r=C*Oh((E+Nh)*_)-d,s=C*Oh((E+2*Nh)*_)-d,n>=0&&n<=1?r>=0&&r<=1?s>=0&&s<=1?Fh(n,r,s):Fh(n,r):s>=0&&s<=1?Fh(n,s):n:r>=0&&r<=1?s>=0&&s<=1?Fh(r,s):r:s}if(0===S)return r=-(i=v<0?Gh(-v):-Gh(v))-d,(n=2*i-d)>=0&&n<=1?r>=0&&r<=1?Fh(n,r):n:r;var x=kh(S);return(i=Gh(-v+x))-Gh(v+x)-d}(t,e),n=t[1];return((1-i)*(n+(t[3]-n)*i)*3+i*i)*i}v.bezierByTime=Vh,t("cs",Ph),function(t){t[t.SLERP=0]="SLERP",t[t.CONSTANT=1]="CONSTANT"}(Ph||t("cs",Ph={}));var Uh=Js("cc.QuatKeyframeValue")(Eh=ua((Ch=function(t){var e=void 0===t?{}:t,i=e.value,n=e.interpolationMode,r=e.easingMethod;this.interpolationMode=xh&&xh(),this.value=wh&&wh(),this.easingMethod=Rh&&Rh(),this.value=i?bn.clone(i):this.value,this.interpolationMode=null!=n?n:this.interpolationMode,this.easingMethod=null!=r?r:this.easingMethod},xh=Us(Ch.prototype,"interpolationMode",[sa],(function(){return Ph.SLERP})),wh=Us(Ch.prototype,"value",[sa],(function(){return bn.clone(bn.IDENTITY)})),Rh=Us(Ch.prototype,"easingMethod",[sa],(function(){return Yo.LINEAR})),Eh=Ch))||Eh)||Eh;function zh(t){return new Uh(t)}var Hh,Wh=t("cr",Js("cc.QuatCurve")((Dh=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;ru){var c=r[o-1];switch(s){case Ns.LOOP:t=h+Hi(t-h,u-h);break;case Ns.PING_PONG:t=h+Wi(t-h,u-h);break;case Ns.CLAMP:default:return bn.copy(e,c.value)}}var _=Ls(n,t);if(_>=0)return bn.copy(e,r[_].value);var f=~_,d=f-1,p=n[d],m=r[d],g=n[f],y=r[f],v=(t-p)/(g-p);switch(m.interpolationMode){default:case Ph.CONSTANT:return bn.copy(e,m.value);case Ph.SLERP:var S=m.easingMethod,T=S===Yo.LINEAR?v:Array.isArray(S)?Vh(S,v):Zo(S)(v);return bn.slerp(e,m.value,y.value,T)}},i.addKeyFrame=function(e,i){var n=new Uh(i);return t.prototype.addKeyFrame.call(this,e,n)},i.assignSorted=function(t,e){if(void 0!==e)this.setKeyframes(t.slice(),e.map((function(t){return zh(t)})));else{var i=Array.from(t);this.setKeyframes(i.map((function(t){return t[0]})),i.map((function(t){return zh(t[1])})))}},i[Qa]=function(t,e){if(e.toCCON){var i=this._times,n=this._values,r=!0;n.forEach((function(t,e,i){var n=i[0];r&&t.interpolationMode!==n.interpolationMode&&(r=!1)}));var s=i.length,a=Jh*(r?1:s),o=n.reduce((function(t,e){var i=e.easingMethod;return t+(Array.isArray(i)?Zh+4*$h:Zh)}),0),h=0,u=new DataView(new ArrayBuffer(h+=jh+Yh+qh*s+4*Kh*s+o+a+0)),l=0,c=0;r&&(c|=Hh.INTERPOLATION_MODE),u.setUint32(l,c,!0),l+=jh,u.setUint32(l,s,!0),l+=Yh,i.forEach((function(t,e){return u.setFloat32(l+qh*e,t,!0)})),l+=qh*s,n.forEach((function(t,e){var i=t.value,n=i.x,r=i.y,s=i.z,a=i.w,o=l+4*Kh*e;u.setFloat32(o+0*Kh,n,!0),u.setFloat32(o+1*Kh,r,!0),u.setFloat32(o+2*Kh,s,!0),u.setFloat32(o+3*Kh,a,!0)})),l+=4*Kh*s,n.forEach((function(t){var e=t.easingMethod;Array.isArray(e)?(u.setUint8(l,Qh),++l,u.setFloat32(l+0*$h,e[0],!0),u.setFloat32(l+1*$h,e[1],!0),u.setFloat32(l+2*$h,e[2],!0),u.setFloat32(l+3*$h,e[3],!0),l+=4*$h):(u.setUint8(l,e),++l)}));var _=l;l+=a;var f=_;n.forEach((function(t){var e=t.interpolationMode;u.setUint8(f,e),r||(f+=Jh)}));var d=new Uint8Array(u.buffer);t.writeProperty("bytes",d)}else t.writeThis()},i[$a]=function(t,e){if(e.fromCCON){var i=t.readProperty("bytes"),n=new DataView(i.buffer,i.byteOffset,i.byteLength),r=0,s=n.getUint32(r,!0);r+=jh;var a=s&Hh.INTERPOLATION_MODE,o=n.getUint32(r,!0);r+=Yh;var h=Array.from({length:o},(function(t,e){return n.getFloat32(r+qh*e,!0)})),u=r+=qh*o;r+=4*Kh*o;var l=Array.from({length:o},(function(t,e){var i=u+4*Kh*e,s=n.getFloat32(i+0*Kh,!0),a=n.getFloat32(i+1*Kh,!0),o=n.getFloat32(i+2*Kh,!0),h=n.getFloat32(i+3*Kh,!0),l=n.getUint8(r);++r;var c=zh({value:{x:s,y:a,z:o,w:h}});return l!==Qh?c.easingMethod=l:(c.easingMethod=[n.getFloat32(r+0*$h,!0),n.getFloat32(r+1*$h,!0),n.getFloat32(r+2*$h,!0),n.getFloat32(r+3*$h,!0)],r+=4*$h),c}));if(a){var c=n.getUint8(r);++r;for(var _=0;_=0)return this._values[e];var i=Di(~e-1,0,this._values.length-1);return this._values[i]},e}(Gs))||Xh),eu=ve({Blend:0,Fixed:1}),iu=t("cu",(function(){this.color=mn.WHITE.clone(),this.time=0}));yi.fastDefine("cc.ColorKey",iu,{color:mn.WHITE.clone(),time:0}),yi.Attr.setClassAttr(iu,"color","visible",!0),yi.Attr.setClassAttr(iu,"time","visible",!0);var nu=t("cv",(function(){this.alpha=1,this.time=0}));yi.fastDefine("cc.AlphaKey",nu,{alpha:1,time:0}),yi.Attr.setClassAttr(nu,"alpha","visible",!0),yi.Attr.setClassAttr(nu,"time","visible",!0);var ru=t("cw",function(){function t(){this.colorKeys=[],this.alphaKeys=[],this.mode=eu.Blend}var e=t.prototype;return e.setKeys=function(t,e){this.colorKeys=t,this.alphaKeys=e},e.sortKeys=function(){this.colorKeys.length>1&&this.colorKeys.sort((function(t,e){return t.time-e.time})),this.alphaKeys.length>1&&this.alphaKeys.sort((function(t,e){return t.time-e.time}))},e.evaluate=function(t){return this.evaluateFast(new mn,t)},e.evaluateFast=function(t,e){return this.getRGB(t,e),t._set_a_unsafe(this.getAlpha(e)),t},e.randomColor=function(){return this.getRandomColor(new mn)},e.getRandomColor=function(t){var e=this.colorKeys[Math.trunc(Li()*this.colorKeys.length)],i=this.alphaKeys[Math.trunc(Li()*this.alphaKeys.length)];return t.set(e.color),t._set_a_unsafe(i.alpha),t},e.getRGB=function(t,e){var i=this.colorKeys,n=i.length;if(n>1){e=Hi(e,1+wi);for(var r=1;r=s&&ei[h].time&&mn.lerp(t,i[h].color,mn.BLACK,(e-i[h].time)/(1-i[h].time))}else 1===n?mn.copy(t,i[0].color):mn.copy(t,mn.WHITE);return t},e.getAlpha=function(t){var e=this.alphaKeys,i=e.length;if(i>1){t=Hi(t,1+wi);for(var n=1;n=r&&te[o].time?Mi(e[o].alpha,0,(t-e[o].time)/(1-e[o].time)):255}return 1===i?e[0].alpha:255},t}());ru.Mode=eu,yi.fastDefine("cc.Gradient",ru,{colorKeys:[],alphaKeys:[],mode:eu.Blend}),yi.Attr.setClassAttr(ru,"colorKeys","visible",!0),yi.Attr.setClassAttr(ru,"alphaKeys","visible",!0),yi.Attr.setClassAttr(ru,"mode","visible",!0);var su=function(){this.time=0,this.value=0,this.inTangent=0,this.outTangent=0};yi.fastDefine("cc.Keyframe",su,{time:0,value:0,inTangent:0,outTangent:0});var au=function(){function t(){this.index=void 0,this.time=void 0,this.endTime=void 0,this.coefficient=void 0,this.index=-1,this.time=0,this.endTime=0,this.coefficient=new Float32Array(4)}return t.prototype.evaluate=function(t){return ou(t-this.time,this.coefficient)},t}();function ou(t,e){return t*(t*(t*e[0]+e[1])+e[2])+e[3]}var hu,uu,lu=function(){function t(t){if(void 0===t&&(t=null),this._curve=void 0,this.cachedKey=void 0,t instanceof sh)this._curve=t;else{var e=new sh;this._curve=e,e.preExtrapolation=Ns.LOOP,e.postExtrapolation=Ns.CLAMP,t?e.assignSorted(t.map((function(t){return[t.time,{interpolationMode:Fs.CUBIC,value:t.value,leftTangent:t.inTangent,rightTangent:t.outTangent}]}))):e.assignSorted([[0,{interpolationMode:Fs.CUBIC,value:1}],[1,{interpolationMode:Fs.CUBIC,value:1}]])}this.cachedKey=new au}var e=t.prototype;return e.addKey=function(t){t?this._curve.addKeyFrame(t.time,{interpolationMode:Fs.CUBIC,value:t.value,leftTangent:t.inTangent,rightTangent:t.outTangent}):this._curve.clear()},e.evaluate_slow=function(t){return this._curve.evaluate(t)},e.evaluate=function(t){var e=this.cachedKey,i=this._curve,n=i.keyFramesCount-1,r=t,s=t<0?i.preExtrapolation:i.postExtrapolation,a=i.getKeyframeTime(0),o=i.getKeyframeTime(n);switch(s){case Ns.LOOP:r=Hi(t-a,o-a)+a;break;case Ns.PING_PONG:r=Wi(t-a,o-a)+a;break;case Ns.CLAMP:default:r=Di(t,a,o)}if(r>=e.time&&ri.getKeyframeTime(r))for(var s=0;s<3;s++){var a=r+s;if(a+1e)return a}else for(var o=0;o<3;o++){var h=r-o;if(h>=0&&i.getKeyframeTime(h-1)<=e)return h-1}for(var u,l=0,c=n;c-l>1;)u=Math.floor((l+c)/2),i.getKeyframeTime(u)>=e?c=u:l=u;return l},n(t,[{key:"_internalCurve",get:function(){return this._curve}},{key:"keyFrames",get:function(){return Array.from(this._curve.keyframes()).map((function(t){var e=t[0],i=t[1],n=new su;return n.time=e,n.value=i.value,n.inTangent=i.leftTangent,n.outTangent=i.rightTangent,n}))},set:function(t){this._curve.assignSorted(t.map((function(t){return[t.time,{interpolationMode:Fs.CUBIC,value:t.value,leftTangent:t.inTangent,rightTangent:t.outTangent}]})))}},{key:"preWrapMode",get:function(){return _u(this._curve.preExtrapolation)},set:function(t){this._curve.preExtrapolation=cu(t)}},{key:"postWrapMode",get:function(){return _u(this._curve.postExtrapolation)},set:function(t){this._curve.postExtrapolation=cu(t)}}]),t}();function cu(t){switch(t){default:case hu.Default:case hu.Normal:case hu.Clamp:return Ns.CLAMP;case hu.PingPong:return Ns.PING_PONG;case hu.Loop:return Ns.LOOP}}function _u(t){switch(t){default:case Ns.LINEAR:case Ns.CLAMP:return hu.Clamp;case Ns.PING_PONG:return hu.PingPong;case Ns.LOOP:return hu.Loop}}function fu(){var t=new sh;return t.assignSorted([[0,{interpolationMode:Fs.CUBIC,value:1}],[1,{interpolationMode:Fs.CUBIC,value:1}]]),t}lu.defaultKF=[{time:0,value:1,inTangent:0,outTangent:0},{time:1,value:1,inTangent:0,outTangent:0}],yi.fastDefine("cc.AnimationCurve",lu,{_curve:null}),function(t){t[t.Default=0]="Default",t[t.Normal=1]="Normal",t[t.Loop=2]="Loop",t[t.ShouldWrap=4]="ShouldWrap",t[t.Clamp=8]="Clamp",t[t.PingPong=22]="PingPong",t[t.Reverse=36]="Reverse"}(hu||(hu={})),function(t){t[t.LINEAR=0]="LINEAR",t[t.BEZIER=1]="BEZIER",t[t.CATMULL_ROM=2]="CATMULL_ROM"}(uu||(uu={}));var du,pu=4294967295,mu=new un,gu=new un,yu=new un,vu=new un,Su=function(){function t(t,e){void 0===t&&(t=uu.CATMULL_ROM),void 0===e&&(e=[]),this._type=void 0,this._mode=uu.CATMULL_ROM,this._knots=[],this._type=or.SHAPE_SPLINE,this._mode=t;for(var i=0;i=this._knots.length?this._knots.push(i):this._knots.splice(t,0,i)},e.removeKnot=function(t){t>=0&&this._knots.length,this._knots.splice(t,1)},e.setKnot=function(t,e){t>=0&&this._knots.length,this._knots[t].set(e)},e.getKnot=function(t){return t>=0&&this._knots.length,this._knots[t]},e.getPoint=function(e,i){void 0===i&&(i=pu),e=Di(e,0,1);var n=this.getSegments();if(0===n)return new un(0,0,0);if(i===pu){var r=1/n;i=Math.floor(e/r),e=e%r/r}if(i>=n)return new un(this._knots[this._knots.length-1]);switch(this._mode){case uu.LINEAR:return t.calcLinear(this._knots[i],this._knots[i+1],e);case uu.BEZIER:return t.calcBezier(this._knots[4*i],this._knots[4*i+1],this._knots[4*i+2],this._knots[4*i+3],e);case uu.CATMULL_ROM:var s=i>0?this._knots[i-1]:this._knots[i],a=i+2this.shrinkTimeSpan&&(this.tryShrink(),this._lastShrinkPassed-=this.shrinkTimeSpan)},t}()),Ou=t("bw",function(t){function e(e,i,n){var r;(r=t.call(this)||this)._ctor=void 0,r._elementsPerBatch=void 0,r._nextAvail=void 0,r._freePool=[],r._dtor=void 0,r._ctor=e,r._dtor=n||null,r._elementsPerBatch=Math.max(i,1),r._nextAvail=r._elementsPerBatch-1;for(var s=0;s>1>this._elementsPerBatch){if(this._dtor)for(var t=this._nextAvail>>1;t<=this._nextAvail;t++)this._dtor(this._freePool[t]);this._freePool.length=this._nextAvail>>1,this._nextAvail=this._freePool.length-1}},i.destroy=function(){var e=arguments.length>0?arguments[0]:null;e&&J(14100);var i=e||this._dtor;if(i)for(var n=0;n<=this._nextAvail;n++)i(this._freePool[n]);this._freePool.length=0,this._nextAvail=-1,t.prototype.destroy.call(this)},e}(Mu)),Lu=t("bx",function(t){function e(e,i,n){var r;(r=t.call(this)||this)._fn=void 0,r._dtor=null,r._count=0,r._data=void 0,r._initSize=0,r._fn=e,r._dtor=n||null,r._data=new Array(i),r._initSize=i;for(var s=0;sthis._data.length)for(var e=this._data.length;e=this._data.length&&this.resize(this._data.length<<1),this._data[this._count++]},i.destroy=function(){if(this._dtor)for(var e=0;e>2>this._count){var t=Math.max(this._initSize,this._data.length>>1);if(this._dtor)for(var e=t;e=this._count)){var e=this._count-1,i=this._data[t];this._data[t]=this._data[e],this._data[e]=i,this._count-=1}},n(e,[{key:"length",get:function(){return this._count}},{key:"data",get:function(){return this._data}}]),e}(Mu)),Fu=t("by",function(t){function e(e,i){var n;return(n=t.call(this)||this).array=void 0,n.length=0,n._compareFn=void 0,n._initSize=0,n.array=new Array(e),n._initSize=e,n.length=0,n._compareFn=i,n}s(e,t);var i=e.prototype;return i.push=function(t){this.array[this.length++]=t},i.pop=function(){return this.array[--this.length]},i.get=function(t){return this.array[t]},i.clear=function(){this.length=0},i.destroy=function(){this.length=0,this.array.length=0,t.prototype.destroy.call(this)},i.tryShrink=function(){this.array.length>>2>this.length&&(this.array.length=Math.max(this._initSize,this.array.length>>1))},i.sort=function(){this.array.length=this.length,this.array.sort(this._compareFn)},i.concat=function(t){for(var e=0;e=this.length||t<0)){var e=--this.length;this.array[t]=this.array[e]}},i.indexOf=function(t){for(var e=0,i=this.length;ee.priority?-1:0};var e=t.prototype;return e.init=function(){},e.update=function(){},e.postUpdate=function(){},e.destroy=function(){},n(t,[{key:"priority",get:function(){return this._priority},set:function(t){this._priority=t}},{key:"id",get:function(){return this._id},set:function(t){this._id=t}}]),t}());Nu.Priority=ve({LOW:0,MEDIUM:100,HIGH:200,SCHEDULER:1<<31>>>0});var ku=new vt("Scheduler"),Gu=function(){function t(t,e,i,n){this.target=void 0,this.priority=void 0,this.paused=void 0,this.markedForDeletion=void 0,this.target=t,this.priority=e,this.paused=i,this.markedForDeletion=n}return t.get=function(e,i,n,r){var s=t._listEntries.pop();return s?(s.target=e,s.priority=i,s.paused=n,s.markedForDeletion=r):s=new t(e,i,n,r),s},t.put=function(e){t._listEntries.length<20&&(e.target=null,t._listEntries.push(e))},t}();Gu._listEntries=[];var Vu=function(){function t(t,e,i,n){this.list=void 0,this.entry=void 0,this.target=void 0,this.callback=void 0,this.list=t,this.entry=e,this.target=i,this.callback=n}return t.get=function(e,i,n,r){var s=t._hashUpdateEntries.pop();return s?(s.list=e,s.entry=i,s.target=n,s.callback=r):s=new t(e,i,n,r),s},t.put=function(e){t._hashUpdateEntries.length<20&&(e.list=e.entry=e.target=e.callback=null,t._hashUpdateEntries.push(e))},t}();Vu._hashUpdateEntries=[];var Uu=function(){function t(t,e,i,n,r,s){this.timers=void 0,this.target=void 0,this.timerIndex=void 0,this.currentTimer=void 0,this.currentTimerSalvaged=void 0,this.paused=void 0,this.timers=t,this.target=e,this.timerIndex=i,this.currentTimer=n,this.currentTimerSalvaged=r,this.paused=s}return t.get=function(e,i,n,r,s,a){var o=t._hashTimerEntries.pop();return o?(o.timers=e,o.target=i,o.timerIndex=n,o.currentTimer=r,o.currentTimerSalvaged=s,o.paused=a):o=new t(e,i,n,r,s,a),o},t.put=function(e){t._hashTimerEntries.length<20&&(e.timers=e.target=e.currentTimer=null,t._hashTimerEntries.push(e))},t}();Uu._hashTimerEntries=[];var zu=function(){function t(){this._lock=void 0,this._scheduler=void 0,this._elapsed=void 0,this._runForever=void 0,this._useDelay=void 0,this._timesExecuted=void 0,this._repeat=void 0,this._delay=void 0,this._interval=void 0,this._target=void 0,this._callback=void 0,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}t.get=function(){return t._timers.pop()||new t},t.put=function(e){t._timers.length<20&&!e._lock&&(e._scheduler=e._target=e._callback=null,t._timers.push(e))};var e=t.prototype;return e.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===v.macro.REPEAT_FOREVER,!0},e.getInterval=function(){return this._interval},e.setInterval=function(t){this._interval=t},e.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()))},e.getCallback=function(){return this._callback},e.trigger=function(){this._target&&this._callback&&(this._lock=!0,this._callback.call(this._target,this._elapsed),this._lock=!1)},e.cancel=function(){this._scheduler&&this._callback&&this._target&&this._scheduler.unschedule(this._callback,this._target)},t}();zu._timers=[];var Hu=t("cm",function(t){function e(){var e;return(e=t.call(this)||this)._timeScale=void 0,e._updatesNegList=void 0,e._updates0List=void 0,e._updatesPosList=void 0,e._hashForUpdates=void 0,e._hashForTimers=void 0,e._currentTarget=void 0,e._currentTargetSalvaged=void 0,e._updateHashLocked=void 0,e._arrayForTimers=void 0,e._timeScale=1,e._updatesNegList=[],e._updates0List=[],e._updatesPosList=[],e._hashForUpdates=Bt(!0),e._hashForTimers=Bt(!0),e._currentTarget=null,e._currentTargetSalvaged=!1,e._updateHashLocked=!1,e._arrayForTimers=[],e}s(e,t),e.enableForTarget=function(t){var e=!1;(t.uuid||t.id)&&(e=!0),e||(t.id=ku.getNewId())};var i=e.prototype;return i.setTimeScale=function(t){this._timeScale=t},i.getTimeScale=function(){return this._timeScale},i.update=function(t){var e,i,n,r,s;for(this._updateHashLocked=!0,1!==this._timeScale&&(t*=this._timeScale),e=0,n=(i=this._updatesNegList).length;e=s&&n.timerIndex--,void(0===r.length&&(this._currentTarget===n?this._currentTargetSalvaged=!0:this._removeHashElement(n)))}}}else Q(1510)}},i.unscheduleUpdate=function(t){if(t){var e=t.uuid||t.id;if(e){var i=this._hashForUpdates[e];null!=i&&i.entry&&(this._updateHashLocked?i.entry.markedForDeletion=!0:this._removeUpdateFromHash(i.entry))}else Q(1510)}},i.unscheduleAllForTarget=function(t){if(t){var e=t.uuid||t.id;if(e){var i=this._hashForTimers[e];if(null!=i&&i.timers){var n=i.timers;i.currentTimer&&n.indexOf(i.currentTimer)>-1&&!i.currentTimerSalvaged&&(i.currentTimerSalvaged=!0);for(var r=0,s=n.length;r=0;e--)(i=r[e]).target&&this.unscheduleAllForTarget(i.target);var s=0;if(t<0)for(e=0;e=t&&this.unscheduleUpdate(n.target),s===this._updatesNegList.length&&e++}if(t<=0)for(e=0;e=t&&this.unscheduleUpdate(n.target),s===this._updatesPosList.length&&e++}},i.isScheduled=function(t,e){et(Boolean(t),1508),et(Boolean(e),1509);var i=e.uuid||e.id;if(!i)return Q(1510),!1;var n=this._hashForTimers[i];if(!n)return!1;if(null==n.timers)return!1;for(var r=n.timers,s=0;s=t&&(r.paused=!0,s.push(r.target))}if(t<=0)for(i=0;i=t&&(r.paused=!0,s.push(r.target))}return s},i.resumeTargets=function(t){if(t)for(var e=0;e=0;--t)this.callbackInfos[t]||Xu(this.callbackInfos,t);this.containCanceled=!1},e.clear=function(){this.cancelAll(),this.callbackInfos.length=0,this.isInvoking=!1,this.containCanceled=!1},t}(),Ju=new Ou((function(){return new Ku}),16),Zu=t("c$",function(){function t(){this._callbackTable=Bt(!0),this._offCallback=void 0}var e=t.prototype;return e.on=function(t,e,i,n){if(!this.hasEventListener(t,e,i)){var r=this._callbackTable[t];r||(r=this._callbackTable[t]=Ju.alloc());var s=qu.alloc();s.set(e,i,n),r.callbackInfos.push(s)}return e},e.hasEventListener=function(t,e,i){var n=this._callbackTable&&this._callbackTable[t];if(!n)return!1;var r=n.callbackInfos;if(!e){if(n.isInvoking){for(var s=0;s0}for(var a=0;a1)&&(l=!0,c="",_=0);var d=nl.UNKNOWN;-1!==a.appVersion.indexOf("Win")?d=nl.WINDOWS:l?d=nl.IOS:-1!==a.appVersion.indexOf("Mac")?d=nl.OSX:-1!==a.appVersion.indexOf("X11")&&-1===a.appVersion.indexOf("Linux")?d=nl.LINUX:u?d=nl.ANDROID:-1===a.appVersion.indexOf("Linux")&&-1===o.indexOf("ubuntu")||(d=nl.LINUX),r.os=d,r.osVersion=c,r.osMainVersion=_,r.browserType=tl.UNKNOWN;var p=/wechat|weixin|micromessenger/i.exec(o)||/mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|ucbs|360 aphone|360browser|baiduboxapp|baidubrowser|maxthon|mxbrowser|miuibrowser/i.exec(o)||/qq|qqbrowser|ucbrowser|ubrowser|edge|HuaweiBrowser/i.exec(o)||/chrome|safari|firefox|trident|opera|opr\/|oupeng/i.exec(o),m=p?p[0].toLowerCase():nl.UNKNOWN;("safari"===m&&u||"qq"===m&&/android.*applewebkit/i.test(o))&&(m=tl.ANDROID);var y={micromessenger:tl.WECHAT,wechat:tl.WECHAT,weixin:tl.WECHAT,trident:tl.IE,edge:tl.EDGE,"360 aphone":tl.BROWSER_360,mxbrowser:tl.MAXTHON,"opr/":tl.OPERA,ubrowser:tl.UC,huaweibrowser:tl.HUAWEI};r.browserType=y[m]||m,r.browserVersion="";var v=/(mqqbrowser|micromessenger|qqbrowser|sogou|qzone|liebao|maxthon|uc|ucbs|360 aphone|360|baiduboxapp|baidu|maxthon|mxbrowser|miui(?:.hybrid)?)(mobile)?(browser)?\/?([\d.]+)/i.exec(o);v||(v=/(qq|chrome|safari|firefox|trident|opera|opr\/|oupeng)(mobile)?(browser)?\/?([\d.]+)/i.exec(o)),r.browserVersion=v?v[4]:"",r.isXR=!1;var S,T=document.createElement("canvas");T.getContext("2d");try{S=T.toDataURL("image/webp").startsWith("data:image/webp")}catch(t){S=!1}if(r.browserType===tl.SAFARI){var A,b=null===(A=/ version\/(\d+)/.exec(o))||void 0===A?void 0:A[1];"string"==typeof b&&Number.parseInt(b)>=14&&(S=!0)}var E=void 0!==document.documentElement.ontouchstart||void 0!==document.ontouchstart||g,C=void 0!==document.documentElement.onmouseup||g,x=void 0!==navigator.xr,w=function(){if((r.os===nl.IOS||r.os===nl.OSX)&&/(OS 15_4)|(Version\/15.4)/.test(window.navigator.userAgent))return!1;try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){var t=new WebAssembly.Module(new Uint8Array([0,97,115,109,1,0,0,0]));if(t instanceof WebAssembly.Module)return new WebAssembly.Instance(t)instanceof WebAssembly.Instance}}catch(t){return!1}return!1}();return r._featureMap=((n={})[sl.WEBP]=S,n[sl.IMAGE_BITMAP]=!1,n[sl.WEB_VIEW]=!0,n[sl.VIDEO_PLAYER]=!0,n[sl.SAFE_AREA]=!1,n[sl.HPE]=!1,n[sl.INPUT_TOUCH]=E,n[sl.EVENT_KEYBOARD]=void 0!==document.documentElement.onkeyup||g,n[sl.EVENT_MOUSE]=C,n[sl.EVENT_TOUCH]=E||C,n[sl.EVENT_ACCELEROMETER]=void 0!==window.DeviceMotionEvent||void 0!==window.DeviceOrientationEvent,n[sl.EVENT_GAMEPAD]=void 0!==navigator.getGamepads||void 0!==navigator.webkitGetGamepads||x,n[sl.EVENT_HANDLE]=false,n[sl.EVENT_HMD]=x,n[sl.EVENT_HANDHELD]=x,n[sl.WASM]=w,n),r._initPromise=[],r._initPromise.push(r._supportsImageBitmapPromise()),r._registerEvent(),r}s(e,t);var i=e.prototype;return i._supportsImageBitmapPromise=function(){var t=this;if("undefined"!=typeof createImageBitmap&&"undefined"!=typeof Blob){var e=document.createElement("canvas");e.width=e.height=2;var i=createImageBitmap(e,{});if(i instanceof Promise)return i.then((function(e){t._setFeature(sl.IMAGE_BITMAP,!0),null==e||e.close()}))}return Promise.resolve()},i._registerEvent=function(){var t,e=this;t=void 0!==document.hidden?"hidden":void 0!==document.mozHidden?"mozHidden":void 0!==document.msHidden?"msHidden":void 0!==document.webkitHidden?"webkitHidden":"hidden";var i=!1,n=function(){i||(i=!0,e.emit("hide"))},r=function(t,n,r,s,a){i&&(i=!1,e.emit("show",t,n,r,s,a))};if(t)for(var s=["visibilitychange","mozvisibilitychange","msvisibilitychange","webkitvisibilitychange","qbrowserVisibilityChange"],a=0;a-1&&(window.onfocus=r),"onpageshow"in window&&"onpagehide"in window&&(window.addEventListener("pagehide",n),window.addEventListener("pageshow",r),document.addEventListener("pagehide",n),document.addEventListener("pageshow",r))},i._setFeature=function(t,e){return this._featureMap[t]=e},i.init=function(){return Promise.all(this._initPromise)},i.hasFeature=function(t){return this._featureMap[t]},i.getBatteryLevel=function(){return this._battery?this._battery.level:1},i.triggerGC=function(){},i.openURL=function(t){window.open(t)},i.now=function(){return Date.now?Date.now():+new Date},i.restartJSVM=function(){},i.exit=function(){window.close()},i.close=function(){this.emit("close")},e}($u)),hl=/(\.[^\.\/\?\\]*)(\?.*)?$/,ul=/((.*)(\/|\\|\\\\))?(.*?\..*$)?/,ll=/[^\.\/]+\/\.\.\//;function cl(){for(var t="",e=arguments.length,i=new Array(e),n=0;n0&&(t=t.substring(0,i));var n=/(\/|\\)([^\/\\]+)$/g.exec(t.replace(/(\/|\\)$/,""));if(!n)return t;var r=n[2];return e&&t.substring(t.length-e.length).toLowerCase()===e.toLowerCase()?r.substring(0,r.length-e.length):r}function pl(t){var e=ul.exec(t);return e?e[2]:""}function ml(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}function gl(t,e,i){if(0===e.indexOf("."))return ml(t,e);var n=t.indexOf("?"),r="",s=i?_l(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}function yl(t){var e=t=String(t);do{e=t,t=t.replace(ll,"")}while(e.length!==t.length);return t}function vl(t){return t.replace(/[\/\\]$/,"")}function Sl(){return ol.os===nl.WINDOWS?"\\":"/"}t("bF",Object.freeze({__proto__:null,join:cl,extname:_l,mainFileName:fl,basename:dl,dirname:pl,changeExtname:ml,changeBasename:gl,_normalize:yl,stripSep:vl,getSeperator:Sl}));var Tl=new un;function Al(t,e,i,n){n||(n=new un),t.convertToUINode(e,i,n);var r=i.position;return n.add(r),n}function bl(t,e,i){return i||(i=new un),t.worldToScreen(e,i),i.x/=v.view.getScaleX(),i.y/=v.view.getScaleY(),i}var El,Cl=t("bP",{WorldNode3DToLocalNodeUI:Al,WorldNode3DToWorldNodeUI:bl});v.pipelineUtils=Cl,st(v.pipelineUtils,"cc.pipelineUtils",[{name:"WorldNode3DToLocalNodeUI",newName:"convertToUINode",targetName:"cc.Camera.prototype",customFunction:function(){for(var t=arguments.length,e=new Array(t),i=0;iwindow.innerHeight;this.isFrameRotated=ol.isMobile&&(e&&t===El.PORTRAIT||!e&&t===El.LANDSCAPE)},i._updateContainer=function(){if(this._gameContainer){if(this.isProportionalToFrame){if(!this._gameFrame)return void J(9201);var t,e,i=v.view.getDesignResolutionSize(),n=this._gameFrame,r=n.clientWidth,s=n.clientHeight,a=i.width,o=i.height,h=r/a,u=s/o,l=this._gameContainer.style;h0&&J(1400,"screen.requestFullScreen(element, onFullScreenChange?, onFullScreenError?)","screen.requestFullScreen(): Promise"),Rl.requestFullScreen().then((function(){null==e||e.call(document)})).catch((function(t){U(t),null==i||i.call(document)}))},e.exitFullScreen=function(){return Rl.exitFullScreen()},e.autoFullScreen=function(t,e){var i;null===(i=this.requestFullScreen(t,e))||void 0===i||i.catch((function(t){V(t)}))},e.disableAutoFullScreen=function(){},e.on=function(t,e,i){Rl.on(t,e,i)},e.once=function(t,e,i){Rl.once(t,e,i)},e.off=function(t,e,i){Rl.off(t,e,i)},n(t,[{key:"devicePixelRatio",get:function(){return Rl.devicePixelRatio}},{key:"windowSize",get:function(){return Rl.windowSize},set:function(t){Rl.windowSize=t}},{key:"resolution",get:function(){return Rl.resolution}},{key:"supportsFullScreen",get:function(){return Rl.supportFullScreen}}]),t}(),Dl=t("ci",new Il);v.screen=Dl;var Bl=t("cj",{Feature:sl,hasFeature:function(t){return ol.hasFeature(t)},NetworkType:il,Language:el,OS:nl,Platform:rl,BrowserType:tl,isNative:ol.isNative,isBrowser:ol.isBrowser,isMobile:ol.isMobile,isLittleEndian:ol.isLittleEndian,platform:ol.platform,language:ol.language,languageCode:ol.nativeLanguage,os:ol.os,osVersion:ol.osVersion,osMainVersion:ol.osMainVersion,browserType:ol.browserType,browserVersion:ol.browserVersion,isXR:ol.isXR,windowPixelResolution:Dl.windowSize,capabilities:{canvas:!0,opengl:!0,webp:ol.hasFeature(sl.WEBP),imageBitmap:ol.hasFeature(sl.IMAGE_BITMAP),touches:ol.hasFeature(sl.INPUT_TOUCH),mouse:ol.hasFeature(sl.EVENT_MOUSE),keyboard:ol.hasFeature(sl.EVENT_KEYBOARD),accelerometer:ol.hasFeature(sl.EVENT_ACCELEROMETER)},localStorage:{},getNetworkType:function(){return ol.networkType},getBatteryLevel:function(){return ol.getBatteryLevel()},garbageCollect:function(){ol.triggerGC()},isObjectValid:function(t){return null!=t},__isWebIOS14OrIPadOS14Env:!1,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+="supports webp: "+Bl.hasFeature(sl.WEBP)+"\r\n",t+="supports bitmap: "+Bl.hasFeature(sl.IMAGE_BITMAP)+"\r\n",t+="supports touches: "+Bl.hasFeature(sl.INPUT_TOUCH)+"\r\n",t+="supports mouse: "+Bl.hasFeature(sl.EVENT_MOUSE)+"\r\n",t+="supports keyboard: "+Bl.hasFeature(sl.EVENT_KEYBOARD)+"\r\n",t+="supports accelerometer: "+Bl.hasFeature(sl.EVENT_ACCELEROMETER)+"\r\n",t+="os : "+this.os+"\r\n",t+="osVersion : "+this.osVersion+"\r\n",t+="platform : "+this.platform+"\r\n",G(t+="Using "+(v.game.renderType===v.game.RENDER_TYPE_WEBGL?"WEBGL":"CANVAS")+" renderer.\r\n")},openURL:function(t){ol.openURL(t)},init:function(){var t=this;return Promise.resolve().then((function(){return ol.init()})).then((function(){try{var e=Bl.localStorage=window.localStorage;e.setItem("storage",""),e.removeItem("storage"),e=null}catch(e){var i=function(){J(5200)};t.localStorage={getItem:i,setItem:i,clear:i,removeItem:i,key:i,length:0}}t.__isWebIOS14OrIPadOS14Env=(Bl.os===nl.IOS||Bl.os===nl.OSX)&&ol.isBrowser&&/(OS 14)|(Version\/14)/.test(window.navigator.userAgent)}))},now:function(){return ol.now()},restartVM:function(){ol.restartJSVM()},getSafeAreaRect:function(){var t=v.view,e=Rl.safeAreaEdge,i=Rl.windowSize,n=new kn(e.left,e.bottom),r=new kn(i.width-e.right,i.height-e.top);t._convertToUISpace(n),t._convertToUISpace(r);var s=n.x,a=n.y,o=r.x-n.x,h=r.y-n.y;return new Wn(s,a,o,h)}});v.sys=Bl,ot(v,"cc",[{name:"winSize",suggest:"please use view.getVisibleSize() instead."}]),ot(Bl,"sys",[{name:"capabilities",suggest:"please use sys.hasFeature() method instead."}]),st(Bl,"sys",["UNKNOWN","ENGLISH","CHINESE","FRENCH","ITALIAN","GERMAN","SPANISH","DUTCH","RUSSIAN","KOREAN","JAPANESE","HUNGARIAN","PORTUGUESE","ARABIC","NORWEGIAN","POLISH","TURKISH","UKRAINIAN","ROMANIAN","BULGARIAN"].map((function(t){return{name:"LANGUAGE_"+t,newName:t,target:Bl.Language,targetName:"sys.Language"}}))),st(Bl,"sys",["UNKNOWN","IOS","ANDROID","WINDOWS","LINUX","OSX"].map((function(t){return{name:"OS_"+t,newName:t,target:Bl.OS,targetName:"sys.OS"}}))),st(Bl,"sys",["UNKNOWN","WECHAT","ANDROID","IE","EDGE","QQ","MOBILE_QQ","UC","UCBS","BAIDU_APP","BAIDU","MAXTHON","OPERA","OUPENG","MIUI","FIREFOX","SAFARI","CHROME","LIEBAO","QZONE","SOUGOU","HUAWEI"].map((function(t){return{name:"BROWSER_TYPE_"+t,newName:t,target:Bl.BrowserType,targetName:"sys.BrowserType"}}))),st(Bl,"sys",[{name:"BROWSER_TYPE_360",newName:"BROWSER_360",target:Bl.BrowserType,targetName:"sys.BrowserType"}]),st(Bl,"sys",["UNKNOWN","EDITOR_PAGE","EDITOR_CORE","MOBILE_BROWSER","DESKTOP_BROWSER","WIN32","MACOS","IOS","ANDROID","OHOS","WECHAT_GAME","BAIDU_MINI_GAME","XIAOMI_QUICK_GAME","ALIPAY_MINI_GAME","BYTEDANCE_MINI_GAME","OPPO_MINI_GAME","VIVO_MINI_GAME","HUAWEI_QUICK_GAME","COCOSPLAY","LINKSURE_MINI_GAME","QTT_MINI_GAME"].map((function(t){return{name:t,target:Bl.Platform,targetName:"sys.Platform"}}))),st(Bl,"sys",[{name:"IPHONE",newName:"IOS",target:Bl.Platform,targetName:"sys.Platform"},{name:"IPAD",newName:"IOS",target:Bl.Platform,targetName:"sys.Platform"}]),at(Bl,"sys",["LINUX","BLACKBERRY","NACL","EMSCRIPTEN","TIZEN","WINRT","WP8","QQ_PLAY","FB_PLAYABLE_ADS"].map((function(t){return{name:t}}))),st(Bl,"sys",[{name:"windowPixelResolution",target:Dl,targetName:"screen",newName:"windowSize"}]),ot(Dl,"screen",[{name:"autoFullScreen",suggest:"please use screen.requestFullScreen() instead."},{name:"disableAutoFullScreen"}]);var Ml=t("cl",{topLeft:v.v2(0,0),topRight:v.v2(0,0),top:v.v2(0,0),bottomLeft:v.v2(0,0),bottomRight:v.v2(0,0),bottom:v.v2(0,0),center:v.v2(0,0),left:v.v2(0,0),right:v.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}});v.visibleRect=Ml;var Pl=String.prototype.charCodeAt;function Ol(t){return this[t]}function Ll(t,e){for(var i=t.length,n=e^i,r=0,s="string"==typeof t?Pl:Ol;i>=4;){var a=255&s.call(t,r)|(255&s.call(t,++r))<<8|(255&s.call(t,++r))<<16|(255&s.call(t,++r))<<24;a=1540483477*(65535&a)+((1540483477*(a>>>16)&65535)<<16),n=1540483477*(65535&n)+((1540483477*(n>>>16)&65535)<<16)^(a=1540483477*(65535&(a^=a>>>24))+((1540483477*(a>>>16)&65535)<<16)),i-=4,++r}switch(i){case 3:n^=(255&s.call(t,r+2))<<16;case 2:n^=(255&s.call(t,r+1))<<8;case 1:n=1540483477*(65535&(n^=255&s.call(t,r)))+((1540483477*(n>>>16)&65535)<<16)}return n=1540483477*(65535&(n^=n>>>13))+((1540483477*(n>>>16)&65535)<<16),(n^=n>>>15)>>>0}function Fl(){}v.easing=qo,Fl.prototype.once=function(t,e,i){return this.on(t,e,i,!0)},Fl.prototype.targetOff=function(t){this.removeAll(t)},t("cE",Object.freeze({__proto__:null,syncNodeValues:function(t){var e=t._lpos;t.setPositionForJS(e.x,e.y,e.z);var i=t._lscale;t.setScaleForJS(i.x,i.y,i.z);var n=t._lrot;t.setRotationForJS(n.x,n.y,n.z,n.w);var r=t._euler;t.setRotationFromEulerForJS(r.x,r.y,r.z)},updateChildrenForDeserialize:function t(e){if(e){var i=e.children;if(i){var n=i.length;if(n){e._setChildren(i);for(var r=0;r0&&0==(t&t-1)}function H_(t,e,i,n){if(!k_[t].isCompressed)return e*i*n*k_[t].size;switch(t){case Yl.BC1:case Yl.BC1_ALPHA:case Yl.BC1_SRGB:case Yl.BC1_SRGB_ALPHA:return Math.ceil(e/4)*Math.ceil(i/4)*8*n;case Yl.BC2:case Yl.BC2_SRGB:case Yl.BC3:case Yl.BC3_SRGB:case Yl.BC4:case Yl.BC4_SNORM:case Yl.BC6H_SF16:case Yl.BC6H_UF16:case Yl.BC7:case Yl.BC7_SRGB:return Math.ceil(e/4)*Math.ceil(i/4)*16*n;case Yl.BC5:case Yl.BC5_SNORM:return Math.ceil(e/4)*Math.ceil(i/4)*32*n;case Yl.ETC_RGB8:case Yl.ETC2_RGB8:case Yl.ETC2_SRGB8:case Yl.ETC2_RGB8_A1:case Yl.EAC_R11:case Yl.EAC_R11SN:return Math.ceil(e/4)*Math.ceil(i/4)*8*n;case Yl.ETC2_RGBA8:case Yl.ETC2_SRGB8_A1:case Yl.EAC_RG11:case Yl.EAC_RG11SN:return Math.ceil(e/4)*Math.ceil(i/4)*16*n;case Yl.PVRTC_RGB2:case Yl.PVRTC_RGBA2:case Yl.PVRTC2_2BPP:return Math.ceil(e/8)*Math.ceil(i/4)*8*n;case Yl.PVRTC_RGB4:case Yl.PVRTC_RGBA4:case Yl.PVRTC2_4BPP:return Math.ceil(e/4)*Math.ceil(i/4)*8*n;case Yl.ASTC_RGBA_4X4:case Yl.ASTC_SRGBA_4X4:return Math.ceil(e/4)*Math.ceil(i/4)*16*n;case Yl.ASTC_RGBA_5X4:case Yl.ASTC_SRGBA_5X4:return Math.ceil(e/5)*Math.ceil(i/4)*16*n;case Yl.ASTC_RGBA_5X5:case Yl.ASTC_SRGBA_5X5:return Math.ceil(e/5)*Math.ceil(i/5)*16*n;case Yl.ASTC_RGBA_6X5:case Yl.ASTC_SRGBA_6X5:return Math.ceil(e/6)*Math.ceil(i/5)*16*n;case Yl.ASTC_RGBA_6X6:case Yl.ASTC_SRGBA_6X6:return Math.ceil(e/6)*Math.ceil(i/6)*16*n;case Yl.ASTC_RGBA_8X5:case Yl.ASTC_SRGBA_8X5:return Math.ceil(e/8)*Math.ceil(i/5)*16*n;case Yl.ASTC_RGBA_8X6:case Yl.ASTC_SRGBA_8X6:return Math.ceil(e/8)*Math.ceil(i/6)*16*n;case Yl.ASTC_RGBA_8X8:case Yl.ASTC_SRGBA_8X8:return Math.ceil(e/8)*Math.ceil(i/8)*16*n;case Yl.ASTC_RGBA_10X5:case Yl.ASTC_SRGBA_10X5:return Math.ceil(e/10)*Math.ceil(i/5)*16*n;case Yl.ASTC_RGBA_10X6:case Yl.ASTC_SRGBA_10X6:return Math.ceil(e/10)*Math.ceil(i/6)*16*n;case Yl.ASTC_RGBA_10X8:case Yl.ASTC_SRGBA_10X8:return Math.ceil(e/10)*Math.ceil(i/8)*16*n;case Yl.ASTC_RGBA_10X10:case Yl.ASTC_SRGBA_10X10:return Math.ceil(e/10)*Math.ceil(i/10)*16*n;case Yl.ASTC_RGBA_12X10:case Yl.ASTC_SRGBA_12X10:return Math.ceil(e/12)*Math.ceil(i/10)*16*n;case Yl.ASTC_RGBA_12X12:case Yl.ASTC_SRGBA_12X12:return Math.ceil(e/12)*Math.ceil(i/12)*16*n;default:return 0}}function W_(t,e,i,n,r){for(var s=0,a=0;a>1,1),i=Math.max(i>>1,1);return s}var X_=[0,4,8,12,16,4,8,12,16,4,8,12,16,4,8,12,16,16,24,32,24,36,48,32,48,64,4,4,4,4,4,4];function j_(t){return X_[t]||0}function Y_(t){if(t.isCompressed)return Uint8Array;var e=t.size/t.count;switch(t.type){case ql.UNORM:case ql.UINT:switch(e){case 1:return Uint8Array;case 2:return Uint16Array;case 4:return Uint32Array;default:return Uint8Array}case ql.SNORM:case ql.INT:switch(e){case 1:return Int8Array;case 2:return Int16Array;case 4:return Int32Array;default:return Int8Array}case ql.FLOAT:switch(e){case 2:return Uint16Array;case 4:default:return Float32Array}}return Float32Array}function q_(t){switch(t){case Yl.BC1:case Yl.BC1_ALPHA:case Yl.BC1_SRGB:case Yl.BC1_SRGB_ALPHA:case Yl.BC2:case Yl.BC2_SRGB:case Yl.BC3:case Yl.BC3_SRGB:case Yl.BC4:case Yl.BC4_SNORM:case Yl.BC6H_SF16:case Yl.BC6H_UF16:case Yl.BC7:case Yl.BC7_SRGB:case Yl.BC5:case Yl.BC5_SNORM:case Yl.ETC_RGB8:case Yl.ETC2_RGB8:case Yl.ETC2_SRGB8:case Yl.ETC2_RGB8_A1:case Yl.EAC_R11:case Yl.EAC_R11SN:case Yl.ETC2_RGBA8:case Yl.ETC2_SRGB8_A1:case Yl.EAC_RG11:case Yl.EAC_RG11SN:return{width:4,height:4};case Yl.PVRTC_RGB2:case Yl.PVRTC_RGBA2:case Yl.PVRTC2_2BPP:return{width:8,height:4};case Yl.PVRTC_RGB4:case Yl.PVRTC_RGBA4:case Yl.PVRTC2_4BPP:return{width:4,height:4};case Yl.ASTC_RGBA_4X4:case Yl.ASTC_SRGBA_4X4:return{width:4,height:4};case Yl.ASTC_RGBA_5X4:case Yl.ASTC_SRGBA_5X4:return{width:5,height:4};case Yl.ASTC_RGBA_5X5:case Yl.ASTC_SRGBA_5X5:return{width:5,height:5};case Yl.ASTC_RGBA_6X5:case Yl.ASTC_SRGBA_6X5:return{width:6,height:5};case Yl.ASTC_RGBA_6X6:case Yl.ASTC_SRGBA_6X6:return{width:6,height:6};case Yl.ASTC_RGBA_8X5:case Yl.ASTC_SRGBA_8X5:return{width:8,height:5};case Yl.ASTC_RGBA_8X6:case Yl.ASTC_SRGBA_8X6:return{width:8,height:6};case Yl.ASTC_RGBA_8X8:case Yl.ASTC_SRGBA_8X8:return{width:8,height:8};case Yl.ASTC_RGBA_10X5:case Yl.ASTC_SRGBA_10X5:return{width:10,height:5};case Yl.ASTC_RGBA_10X6:case Yl.ASTC_SRGBA_10X6:return{width:10,height:6};case Yl.ASTC_RGBA_10X8:case Yl.ASTC_SRGBA_10X8:return{width:10,height:8};case Yl.ASTC_RGBA_10X10:case Yl.ASTC_SRGBA_10X10:return{width:10,height:10};case Yl.ASTC_RGBA_12X10:case Yl.ASTC_SRGBA_12X10:return{width:12,height:10};case Yl.ASTC_RGBA_12X12:case Yl.ASTC_SRGBA_12X12:return{width:12,height:12};default:return{width:1,height:1}}}function K_(t,e){return Math.ceil(t/e)*e}var J_=Object.freeze({__proto__:null,get ObjectType(){return zl},get Status(){return Hl},get API(){return Wl},get SurfaceTransform(){return Xl},get Feature(){return jl},get Format(){return Yl},get FormatType(){return ql},get Type(){return Kl},get BufferUsageBit(){return Jl},get BufferFlagBit(){return Zl},get MemoryAccessBit(){return Ql},get MemoryUsageBit(){return $l},get TextureType(){return tc},get TextureUsageBit(){return ec},get TextureFlagBit(){return ic},get FormatFeatureBit(){return nc},get SampleCount(){return rc},get VsyncMode(){return sc},get Filter(){return ac},get Address(){return oc},get ComparisonFunc(){return hc},get StencilOp(){return uc},get BlendFactor(){return lc},get BlendOp(){return cc},get ColorMask(){return _c},get ShaderStageFlagBit(){return fc},get LoadOp(){return dc},get StoreOp(){return pc},get AccessFlagBit(){return mc},get ResolveMode(){return gc},get PipelineBindPoint(){return yc},get PrimitiveMode(){return vc},get PolygonMode(){return Sc},get ShadeModel(){return Tc},get CullMode(){return Ac},get DynamicStateFlagBit(){return bc},get StencilFace(){return Ec},get DescriptorType(){return Cc},get QueueType(){return xc},get QueryType(){return wc},get CommandBufferType(){return Rc},get ClearFlagBit(){return Ic},get BarrierType(){return Dc},get PassType(){return Bc},Size:Oc,DeviceCaps:Lc,DeviceOptions:Fc,Offset:Nc,Rect:kc,Extent:Gc,TextureSubresLayers:Vc,TextureSubresRange:Uc,TextureCopy:zc,TextureBlit:Hc,BufferTextureCopy:Wc,Viewport:Xc,Color:jc,BindingMappingInfo:Yc,SwapchainInfo:qc,DeviceInfo:Kc,BufferInfo:Jc,BufferViewInfo:Zc,DrawInfo:Qc,DispatchInfo:$c,IndirectBuffer:t_,TextureInfo:e_,TextureViewInfo:i_,SamplerInfo:n_,Uniform:r_,UniformBlock:s_,UniformSamplerTexture:a_,UniformSampler:o_,UniformTexture:h_,UniformStorageImage:u_,UniformStorageBuffer:l_,UniformInputAttachment:c_,ShaderStage:__,Attribute:f_,ShaderInfo:d_,InputAssemblerInfo:p_,ColorAttachment:m_,DepthStencilAttachment:g_,SubpassInfo:y_,SubpassDependency:v_,RenderPassInfo:S_,GeneralBarrierInfo:T_,TextureBarrierInfo:A_,BufferBarrierInfo:b_,FramebufferInfo:E_,DescriptorSetLayoutBinding:C_,DescriptorSetLayoutInfo:x_,DescriptorSetInfo:w_,PipelineLayoutInfo:R_,InputState:I_,CommandBufferInfo:D_,QueueInfo:B_,QueryPoolInfo:M_,FormatInfo:P_,MemoryStatus:O_,DynamicStencilStates:L_,DynamicStates:F_,GFXObject:N_,get AttributeName(){return Pc},FormatInfos:k_,DESCRIPTOR_BUFFER_TYPE:G_,DESCRIPTOR_SAMPLER_TYPE:V_,DESCRIPTOR_DYNAMIC_TYPE:U_,DRAW_INFO_SIZE:28,IsPowerOf2:z_,FormatSize:H_,FormatSurfaceSize:W_,GetTypeSize:j_,getTypedArrayConstructor:Y_,formatAlignment:q_,alignTo:K_}),Z_=function(t){function e(){var e;return(e=t.call(this,zl.BUFFER)||this)._usage=Jl.NONE,e._memUsage=$l.NONE,e._size=0,e._stride=1,e._count=0,e._flags=Zl.NONE,e._isBufferView=!1,e}return s(e,t),n(e,[{key:"usage",get:function(){return this._usage}},{key:"memUsage",get:function(){return this._memUsage}},{key:"size",get:function(){return this._size}},{key:"stride",get:function(){return this._stride}},{key:"count",get:function(){return this._count}},{key:"flags",get:function(){return this._flags}}]),e}(N_),Q_=function(t){function e(){var e;return(e=t.call(this,zl.COMMAND_BUFFER)||this)._queue=null,e._type=Rc.PRIMARY,e._numDrawCalls=0,e._numInstances=0,e._numTris=0,e}return s(e,t),n(e,[{key:"type",get:function(){return this._type}},{key:"queue",get:function(){return this._queue}},{key:"numDrawCalls",get:function(){return this._numDrawCalls}},{key:"numInstances",get:function(){return this._numInstances}},{key:"numTris",get:function(){return this._numTris}}]),e}(N_),$_=function(){function t(){this._gfxAPI=Wl.UNKNOWN,this._renderer="",this._vendor="",this._features=new Array(jl.COUNT),this._formatFeatures=new Array(Yl.COUNT),this._queue=null,this._cmdBuff=null,this._numDrawCalls=0,this._numInstances=0,this._numTris=0,this._memoryStatus=new O_,this._caps=new Lc,this._bindingMappingInfo=new Yc,this._samplers=new Map,this._generalBarrierss=new Map,this._textureBarriers=new Map,this._bufferBarriers=new Map}var e=t.prototype;return e.hasFeature=function(t){return this._features[t]},e.getFormatFeatures=function(t){return this._formatFeatures[t]},e.enableAutoBarrier=function(){},e.getMaxSampleCount=function(){return rc.X1},n(t,[{key:"gfxAPI",get:function(){return this._gfxAPI}},{key:"queue",get:function(){return this._queue}},{key:"commandBuffer",get:function(){return this._cmdBuff}},{key:"renderer",get:function(){return this._renderer}},{key:"vendor",get:function(){return this._vendor}},{key:"numDrawCalls",get:function(){return this._numDrawCalls}},{key:"numInstances",get:function(){return this._numInstances}},{key:"numTris",get:function(){return this._numTris}},{key:"memoryStatus",get:function(){return this._memoryStatus}},{key:"capabilities",get:function(){return this._caps}},{key:"bindingMappingInfo",get:function(){return this._bindingMappingInfo}}]),t}();$_.canvas=void 0;var tf=function(){function t(t){this._texture2D=null,this._texture3D=null,this._textureCube=null,this._texture2DArray=null;var e=new Uint8Array(64);if(e.fill(255),t.capabilities.maxTextureSize>=2){this._texture2D=t.createTexture(new e_(tc.TEX2D,ec.STORAGE|ec.SAMPLED,Yl.RGBA8,2,2,ic.NONE));var i=new Wc(0,0,0,new Nc(0,0,0),new Gc(2,2,1));t.copyBuffersToTexture([e],this._texture2D,[i])}if(t.capabilities.maxTextureSize>=2){this._textureCube=t.createTexture(new e_(tc.CUBE,ec.STORAGE|ec.SAMPLED,Yl.RGBA8,2,2,ic.NONE,6));var n=new Wc(0,0,0,new Nc(0,0,0),new Gc(2,2,1));t.copyBuffersToTexture([e],this._textureCube,[n]),n.texSubres.baseArrayLayer=1,t.copyBuffersToTexture([e],this._textureCube,[n]),n.texSubres.baseArrayLayer=2,t.copyBuffersToTexture([e],this._textureCube,[n]),n.texSubres.baseArrayLayer=3,t.copyBuffersToTexture([e],this._textureCube,[n]),n.texSubres.baseArrayLayer=4,t.copyBuffersToTexture([e],this._textureCube,[n]),n.texSubres.baseArrayLayer=5,t.copyBuffersToTexture([e],this._textureCube,[n])}if(t.capabilities.max3DTextureSize>=2){this._texture3D=t.createTexture(new e_(tc.TEX3D,ec.STORAGE|ec.SAMPLED,Yl.RGBA8,2,2,ic.NONE,1,1,rc.X1,2));var r=new Wc(0,0,0,new Nc(0,0,0),new Gc(2,2,2),new Vc(0,0,1));t.copyBuffersToTexture([e],this._texture3D,[r])}if(t.capabilities.maxArrayTextureLayers>=2){this._texture2DArray=t.createTexture(new e_(tc.TEX2D_ARRAY,ec.STORAGE|ec.SAMPLED,Yl.RGBA8,2,2,ic.NONE,2));var s=new Wc(0,0,0,new Nc(0,0,0),new Gc(2,2,1),new Vc(0,0,1));t.copyBuffersToTexture([e],this._texture2DArray,[s]),s.texSubres.baseArrayLayer=1,t.copyBuffersToTexture([e],this._texture2DArray,[s])}}return t.prototype.getTexture=function(t){switch(t){case tc.TEX2D:return this._texture2D;case tc.TEX3D:return this._texture3D;case tc.CUBE:return this._textureCube;case tc.TEX2D_ARRAY:return this._texture2DArray;default:return null}},t}(),ef=function(t){function e(){var e;return(e=t.call(this,zl.SWAPCHAIN)||this)._transform=Xl.IDENTITY,e._colorTexture=null,e._depthStencilTexture=null,e}return s(e,t),n(e,[{key:"colorTexture",get:function(){return this._colorTexture}},{key:"depthStencilTexture",get:function(){return this._depthStencilTexture}},{key:"surfaceTransform",get:function(){return this._transform}},{key:"width",get:function(){return this._colorTexture.width}},{key:"height",get:function(){return this._colorTexture.height}}]),e}(N_),nf=function(t){function e(){var e;return(e=t.call(this,zl.FRAMEBUFFER)||this)._renderPass=null,e._colorTextures=[],e._depthStencilTexture=null,e._width=0,e._height=0,e}return s(e,t),n(e,[{key:"renderPass",get:function(){return this._renderPass}},{key:"colorTextures",get:function(){return this._colorTextures}},{key:"depthStencilTexture",get:function(){return this._depthStencilTexture}},{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}}]),e}(N_),rf=function(t){function e(){var e;return(e=t.call(this,zl.INPUT_ASSEMBLER)||this)._attributes=[],e._attributesHash=0,e._vertexBuffers=[],e._indexBuffer=null,e._indirectBuffer=null,e._drawInfo=new Qc,e}s(e,t);var i=e.prototype;return i.getVertexBuffer=function(t){return void 0===t&&(t=0),t=0){var o=this._colorInfos[i.depthStencil];t+="ds,"+o.format+","+o.sampleCount}}else{t+="ca";for(var h=0;h>0,e.magFilter=(3&t)>>2,e.mipFilter=(3&t)>>4,e.addressU=(3&t)>>6,e.addressV=(3&t)>>8,e.addressW=(3&t)>>10,e.maxAnisotropy=(15&t)>>12,e.cmpFunc=(7&t)>>16,e},n(e,[{key:"info",get:function(){return this._info}},{key:"hash",get:function(){return this._hash}}]),e}(N_),gf=function(t){function e(){var e;return(e=t.call(this,zl.SHADER)||this)._name="",e._stages=[],e._attributes=[],e._blocks=[],e._samplers=[],e}return s(e,t),n(e,[{key:"name",get:function(){return this._name}},{key:"attributes",get:function(){return this._attributes}},{key:"blocks",get:function(){return this._blocks}},{key:"samplers",get:function(){return this._samplers}}]),e}(N_),yf=function(t){function e(){var e;return(e=t.call(this,zl.TEXTURE)||this)._info=new e_,e._viewInfo=new i_,e._isPowerOf2=!1,e._isTextureView=!1,e._size=0,e}return s(e,t),e.getLevelCount=function(t,e){return Math.floor(Math.log2(Math.max(t,e)))},n(e,[{key:"type",get:function(){return this._info.type}},{key:"usage",get:function(){return this._info.usage}},{key:"format",get:function(){return this._info.format}},{key:"width",get:function(){return this._info.width}},{key:"height",get:function(){return this._info.height}},{key:"depth",get:function(){return this._info.depth}},{key:"layerCount",get:function(){return this._info.layerCount}},{key:"levelCount",get:function(){return this._info.levelCount}},{key:"samples",get:function(){return this._info.samples}},{key:"flags",get:function(){return this._info.flags}},{key:"size",get:function(){return this._size}},{key:"info",get:function(){return this._info}},{key:"viewInfo",get:function(){return this._viewInfo}},{key:"isTextureView",get:function(){return this._isTextureView}}]),e}(N_),vf=function(t){function e(e,i){var n;return(n=t.call(this,zl.GLOBAL_BARRIER)||this)._info=new T_,n._hash=0,n._info.copy(e),n._hash=i,n}return s(e,t),e.computeHash=function(t){return Ll(t.prevAccesses+" "+t.nextAccesses+" "+t.type,666)},n(e,[{key:"info",get:function(){return this._info}},{key:"hash",get:function(){return this._hash}}]),e}(N_),Sf=function(t){function e(e,i){var n;return(n=t.call(this,zl.TEXTURE_BARRIER)||this)._info=new A_,n._hash=0,n._info.copy(e),n._hash=i,n}return s(e,t),e.computeHash=function(t){var e=t.prevAccesses+" "+t.nextAccesses;return e+=t.type,e+=t.baseMipLevel,e+=t.levelCount,e+=t.baseSlice,e+=t.sliceCount,e+=t.discardContents,e+=t.srcQueue?t.srcQueue.type:0,Ll(e+=t.dstQueue?t.dstQueue.type:0,666)},n(e,[{key:"info",get:function(){return this._info}},{key:"hash",get:function(){return this._hash}}]),e}(N_),Tf=function(t){function e(e,i){var n;return(n=t.call(this,zl.BUFFER_BARRIER)||this)._info=new b_,n._hash=0,n._info.copy(e),n._hash=i,n}return s(e,t),e.computeHash=function(t){var e=t.prevAccesses+" "+t.nextAccesses;return e+=t.type,e+=t.offset,e+=t.size,e+=t.discardContents,e+=t.srcQueue?t.srcQueue.type:0,Ll(e+=t.dstQueue?t.dstQueue.type:0,666)},n(e,[{key:"info",get:function(){return this._info}},{key:"hash",get:function(){return this._hash}}]),e}(N_),Af={Device:$_,Swapchain:ef,Buffer:Z_,Texture:yf,Sampler:mf,Shader:gf,InputAssembler:rf,RenderPass:pf,Framebuffer:nf,DescriptorSet:sf,DescriptorSetLayout:af,PipelineLayout:of,PipelineState:ff,CommandBuffer:Q_,Queue:df,GeneralBarrier:vf,TextureBarrier:Sf,BufferBarrier:Tf,RasterizerState:hf,BlendState:cf,BlendTarget:lf,DepthStencilState:uf,PipelineStateInfo:_f};Object.assign(Af,J_),v.gfx=Af;var bf,Ef,Cf={GFXDevice:!0,GFXBuffer:!0,GFXTexture:!0,GFXSampler:!0,GFXShader:!0,GFXInputAssembler:!0,GFXRenderPass:!0,GFXFramebuffer:!0,GFXPipelineState:!0,GFXCommandBuffer:!0,GFXQueue:!0,GFXObjectType:!0,GFXObject:!1,GFXAttributeName:!0,GFXType:!0,GFXFormat:!0,GFXBufferUsageBit:!0,GFXMemoryUsageBit:!0,GFXBufferFlagBit:!0,GFXBufferAccessBit:"MemoryAccessBit",GFXPrimitiveMode:!0,GFXPolygonMode:!0,GFXShadeModel:!0,GFXCullMode:!0,GFXComparisonFunc:!0,GFXStencilOp:!0,GFXBlendOp:!0,GFXBlendFactor:!0,GFXColorMask:!0,GFXFilter:!0,GFXAddress:!0,GFXTextureType:!0,GFXTextureUsageBit:!0,GFXSampleCount:!0,GFXTextureFlagBit:!0,GFXShaderStageFlagBit:!0,GFXDescriptorType:!0,GFXCommandBufferType:!0,GFXLoadOp:!0,GFXStoreOp:!0,GFXPipelineBindPoint:!0,GFXDynamicStateFlagBit:!0,GFXStencilFace:!0,GFXQueueType:!0,GFXRect:!0,GFXViewport:!0,GFXColor:!0,GFXClearFlag:!0,GFXOffset:!0,GFXExtent:!0,GFXTextureSubres:"TextureSubresLayers",GFXTextureCopy:!0,GFXBufferTextureCopy:!0,GFXFormatType:!0,GFXFormatInfo:!0,GFXMemoryStatus:!0,GFXFormatInfos:!0,GFXFormatSize:!0,GFXFormatSurfaceSize:!0,GFXGetTypeSize:!0,getTypedArrayConstructor:!1};for(var xf in Cf){var wf=Cf[xf];!0===wf?wf=xf.slice(3):!1===wf&&(wf=xf),st(v,"cc",[{name:xf,newName:wf,target:v.gfx,targetName:"cc.gfx"}])}at(v,"cc",[{name:"GFX_MAX_VERTEX_ATTRIBUTES"},{name:"GFX_MAX_TEXTURE_UNITS"},{name:"GFX_MAX_ATTACHMENTS"},{name:"GFX_MAX_BUFFER_BINDINGS"},{name:"GFXTextureLayout"}]),at(jl,"Feature",[{name:"COLOR_FLOAT",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = device.getFormatFeatures(Format.R32F) & FormatFeatureBit.RENDER_TARGET;"},{name:"COLOR_HALF_FLOAT",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = device.getFormatFeatures(Format.R16F) & FormatFeatureBit.RENDER_TARGET;"},{name:"TEXTURE_FLOAT",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = (device.getFormatFeatures(Format.R32F) & (FormatFeatureBit.RENDER_TARGET | FormatFeatureBit.SAMPLED_TEXTURE)) === (FormatFeatureBit.RENDER_TARGET | FormatFeatureBit.SAMPLED_TEXTURE);"},{name:"TEXTURE_HALF_FLOAT",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = (device.getFormatFeatures(Format.R16F) & (FormatFeatureBit.RENDER_TARGET | FormatFeatureBit.SAMPLED_TEXTURE)) === (FormatFeatureBit.RENDER_TARGET | FormatFeatureBit.SAMPLED_TEXTURE);"},{name:"TEXTURE_FLOAT_LINEAR",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = device.getFormatFeatures(Format.R32F) & FormatFeatureBit.LINEAR_FILTER;"},{name:"TEXTURE_HALF_FLOAT_LINEAR",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = device.getFormatFeatures(Format.R16F) & FormatFeatureBit.LINEAR_FILTER;"},{name:"FORMAT_R11G11B10F",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = device.getFormatFeatures(Format.R11G11B10F) !== FormatFeatureBit.NONE;"},{name:"FORMAT_SRGB",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = device.getFormatFeatures(Format.SRGB8) !== FormatFeatureBit.NONE;"},{name:"FORMAT_ETC1",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = device.getFormatFeatures(Format.ETC_RGB8) !== FormatFeatureBit.NONE;"},{name:"FORMAT_ETC2",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = device.getFormatFeatures(Format.ETC2_RGB8) !== FormatFeatureBit.NONE;"},{name:"FORMAT_DXT",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = device.getFormatFeatures(Format.BC1) !== FormatFeatureBit.NONE;"},{name:"FORMAT_PVRTC",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = device.getFormatFeatures(Format.PVRTC_RGB2) !== FormatFeatureBit.NONE;"},{name:"FORMAT_ASTC",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = device.getFormatFeatures(Format.ASTC_RGBA_4x4) !== FormatFeatureBit.NONE;"},{name:"FORMAT_RGB8",suggest:"Please use device.getFormatFeatures() instead, like: \nlet isSupported = device.getFormatFeatures(Format.RGB8) !== FormatFeatureBit.NONE;"}]),at(m_.prototype,"ColorAttachment",[{name:"beginAccesses",suggest:"Please assign to ColorAttachment.barrier instead"},{name:"endAccesses",suggest:"Please assign to ColorAttachment.barrier instead"}]),at(g_.prototype,"DepthStencilAttachment",[{name:"beginAccesses",suggest:"Please assign to DepthStencilAttachment.barrier instead"},{name:"endAccesses",suggest:"Please assign to DepthStencilAttachment.barrier instead"}]),st($_.prototype,"Device",[{name:"getGlobalBarrier",newName:"getGeneralBarrier"}]),function(t){t[t.AUTO=0]="AUTO",t[t.CANVAS=1]="CANVAS",t[t.WEBGL=2]="WEBGL",t[t.HEADLESS=3]="HEADLESS"}(bf||(bf={})),function(t){t[t.UNKNOWN=-1]="UNKNOWN",t[t.CANVAS=0]="CANVAS",t[t.WEBGL=1]="WEBGL",t[t.OPENGL=2]="OPENGL",t[t.HEADLESS=3]="HEADLESS"}(Ef||(Ef={}));var Rf=function(){function t(){this.initialized=!1,this._gfxDevice=void 0,this._canvas=null,this._swapchain=void 0,this._renderType=Ef.UNKNOWN}var e=t.prototype;return e.init=function(t,e){if(!this.initialized){var i=xe.querySettings(Ce.Category.RENDERING,"renderMode");if(this._canvas=t,this._renderType=this._determineRenderType(i),this._renderType===Ef.WEBGL){var n=new Kc(e),r=!!globalThis.WebGL2RenderingContext;globalThis.navigator.userAgent.toLowerCase(),Bl.browserType===tl.UC&&(r=!1);var s=[];r&&v.WebGL2Device&&s.push(v.WebGL2Device),v.WebGLDevice&&s.push(v.WebGLDevice),v.EmptyDevice&&s.push(v.EmptyDevice),$_.canvas=t;for(var a=0;aEf.HEADLESS||tthis.pipes.length?(J(4921),this):(this.pipes.splice(e,0,t),this)},e.append=function(t){return this.pipes.push(t),this},e.remove=function(t){return this.pipes.splice(t,1),this},e.sync=function(t){var e=this.pipes;if(0===e.length)return null;t.isFinished=!1;for(var i=0,n=e.length;i>2],Kf[Jf[n++]]=Yf[(3&r)<<2|s>>4],Kf[Jf[n++]]=Yf[15&s]}return t.replace(e,Kf.join(""))}var Qf=/.*[/\\][0-9a-fA-F]{2}[/\\]([0-9a-fA-F-@]{8,}).*/;function $f(t){var e=Qf.exec(t);return e?e[1]:""}function td(t,e){(e=e||Object.create(null)).__isNative__=e.isNative,e.nativeExt&&(e.ext=e.nativeExt);var i=Gf.find((function(e){return!!e.getAssetInfo(t)}));return i&&(e.bundle=i.name),nd(t,e)}function ed(t){return!!t&&(t instanceof v.SceneAsset||t instanceof v.Scene)}function id(t){return t&&(46===t.charCodeAt(0)&&47===t.charCodeAt(1)?t=t.slice(2):47===t.charCodeAt(0)&&(t=t.slice(1))),t}function nd(t,e){var i=jf.create({input:t,options:e}),n=[];try{for(var r,s=f(zf.sync(i));!(r=s()).done;){var a=r.value,o=a.url;a.recycle(),n.push(o)}}catch(t){for(var h,u=f(i.output);!(h=u()).done;)h.value.recycle();U(t.message,t.stack)}return i.recycle(),n.length>1?n:n[0]}var rd,sd,ad,od=Object.freeze({__proto__:null,getUuidFromURL:$f,getUrlWithUuid:td,isScene:ed,normalize:id,transform:nd,decodeUuid:Zf}),hd=sa,ud=ta,ld=t("ea",Js("cc.Asset")((sd=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r0&&this._ref--,t&&v.assetManager._releaseManager.tryRelease(this),this},i.onLoaded=function(){},i.initDefault=function(t){t&&(this._uuid=t),this.isDefault=!0},i.validate=function(){return!0},i.destroy=function(){return H(it(12101,this._uuid)),t.prototype.destroy.call(this)},n(e,[{key:"nativeUrl",get:function(){if(!this._nativeUrl){if(!this._native)return"";var t=this._native;if(47===t.charCodeAt(0))return t.slice(1);46===t.charCodeAt(0)?this._nativeUrl=td(this._uuid,{nativeExt:t,isNative:!0}):this._nativeUrl=td(this._uuid,{__nativeName__:t,nativeExt:_l(t),isNative:!0})}return this._nativeUrl}},{key:"uuid",get:function(){return this._uuid}},{key:"_nativeAsset",get:function(){return this._file},set:function(t){this._file=t}},{key:"nativeAsset",get:function(){return this._file}},{key:"_nativeDep",get:function(){if(this._native)return{__isNative__:!0,uuid:this._uuid,ext:this._native}}},{key:"refCount",get:function(){return this._ref}}]),e}(Qu(Xa)),ad=Us(sd.prototype,"_native",[hd],(function(){return""})),p(sd.prototype,"_nativeAsset",[ud],Object.getOwnPropertyDescriptor(sd.prototype,"_nativeAsset"),sd.prototype),rd=sd))||rd);ld.prototype.createNode=null,v.Asset=ld;var cd,_d,fd,dd,pd,md;!function(t){t[t.RGB565=Yl.R5G6B5]="RGB565",t[t.RGB5A1=Yl.RGB5A1]="RGB5A1",t[t.RGBA4444=Yl.RGBA4]="RGBA4444",t[t.RGB888=Yl.RGB8]="RGB888",t[t.RGB32F=Yl.RGB32F]="RGB32F",t[t.RGBA8888=Yl.RGBA8]="RGBA8888",t[t.RGBA32F=Yl.RGBA32F]="RGBA32F",t[t.A8=Yl.A8]="A8",t[t.I8=Yl.L8]="I8",t[t.AI8=Yl.LA8]="AI8",t[t.RGB_PVRTC_2BPPV1=Yl.PVRTC_RGB2]="RGB_PVRTC_2BPPV1",t[t.RGBA_PVRTC_2BPPV1=Yl.PVRTC_RGBA2]="RGBA_PVRTC_2BPPV1",t[t.RGB_A_PVRTC_2BPPV1=1024]="RGB_A_PVRTC_2BPPV1",t[t.RGB_PVRTC_4BPPV1=Yl.PVRTC_RGB4]="RGB_PVRTC_4BPPV1",t[t.RGBA_PVRTC_4BPPV1=Yl.PVRTC_RGBA4]="RGBA_PVRTC_4BPPV1",t[t.RGB_A_PVRTC_4BPPV1=1025]="RGB_A_PVRTC_4BPPV1",t[t.RGB_ETC1=Yl.ETC_RGB8]="RGB_ETC1",t[t.RGBA_ETC1=1026]="RGBA_ETC1",t[t.RGB_ETC2=Yl.ETC2_RGB8]="RGB_ETC2",t[t.RGBA_ETC2=Yl.ETC2_RGBA8]="RGBA_ETC2",t[t.RGBA_ASTC_4x4=Yl.ASTC_RGBA_4X4]="RGBA_ASTC_4x4",t[t.RGBA_ASTC_5x4=Yl.ASTC_RGBA_5X4]="RGBA_ASTC_5x4",t[t.RGBA_ASTC_5x5=Yl.ASTC_RGBA_5X5]="RGBA_ASTC_5x5",t[t.RGBA_ASTC_6x5=Yl.ASTC_RGBA_6X5]="RGBA_ASTC_6x5",t[t.RGBA_ASTC_6x6=Yl.ASTC_RGBA_6X6]="RGBA_ASTC_6x6",t[t.RGBA_ASTC_8x5=Yl.ASTC_RGBA_8X5]="RGBA_ASTC_8x5",t[t.RGBA_ASTC_8x6=Yl.ASTC_RGBA_8X6]="RGBA_ASTC_8x6",t[t.RGBA_ASTC_8x8=Yl.ASTC_RGBA_8X8]="RGBA_ASTC_8x8",t[t.RGBA_ASTC_10x5=Yl.ASTC_RGBA_10X5]="RGBA_ASTC_10x5",t[t.RGBA_ASTC_10x6=Yl.ASTC_RGBA_10X6]="RGBA_ASTC_10x6",t[t.RGBA_ASTC_10x8=Yl.ASTC_RGBA_10X8]="RGBA_ASTC_10x8",t[t.RGBA_ASTC_10x10=Yl.ASTC_RGBA_10X10]="RGBA_ASTC_10x10",t[t.RGBA_ASTC_12x10=Yl.ASTC_RGBA_12X10]="RGBA_ASTC_12x10",t[t.RGBA_ASTC_12x12=Yl.ASTC_RGBA_12X12]="RGBA_ASTC_12x12"}(cd||(cd={})),function(t){t[t.REPEAT=oc.WRAP]="REPEAT",t[t.CLAMP_TO_EDGE=oc.CLAMP]="CLAMP_TO_EDGE",t[t.MIRRORED_REPEAT=oc.MIRROR]="MIRRORED_REPEAT",t[t.CLAMP_TO_BORDER=oc.BORDER]="CLAMP_TO_BORDER"}(_d||(_d={})),function(t){t[t.NONE=ac.NONE]="NONE",t[t.LINEAR=ac.LINEAR]="LINEAR",t[t.NEAREST=ac.POINT]="NEAREST"}(fd||(fd={}));var gd=1346981187,yd=ve({PVR:0,PKM:1,ASTC:2});function vd(t,e){return t[e]<<8|t[e+1]}function Sd(t){return!!(Bl.hasFeature(Bl.Feature.IMAGE_BITMAP)&&t instanceof ImageBitmap)}var Td,Ad,bd,Ed,Cd,xd,wd,Rd,Id,Dd,Bd,Md=t("eg",Js("cc.ImageAsset")(((md=function(t){s(i,t),i.mergeCompressedTextureMips=function(t){var e=new Uint8Array(0),i=null;try{for(var n,r=8+4*t.length,s=0,a=f(t);!(n=a()).done;)s+=n.value.byteLength;s+=r,e=new Uint8Array(s);var o=new DataView(e.buffer,e.byteOffset,e.byteLength);o.setUint32(0,gd,!0),o.setUint32(4,t.length,!0);for(var h=r,u=0;u0){var u=new Uint8Array(s,o,h),l=new Uint8Array(r._data.byteLength+u.byteLength);l.set(r._data),l.set(u,r._data.byteLength),r._data=l,r.mipmapLevelDataSize[e]=h}else r._data=new Uint8Array(s,o);r.width=e>0?r.width:a[7],r.height=e>0?r.height:a[6]}else{if(559044176!==a[11])throw new Error("Invalid magic number in PVR header");var c=i+a[0],_=n-a.byteLength;if(n>0){var f=new Uint8Array(s,c,_),d=new Uint8Array(r._data.byteLength+f.byteLength);d.set(r._data),d.set(f,r._data.byteLength),r._data=d,r.mipmapLevelDataSize[e]=_}else r._data=new Uint8Array(s,c);r.width=e>0?r.width:a[1],r.height=e>0?r.height:a[2]}},i.parsePKMTexture=function(t,e,i,n,r){var s=t instanceof ArrayBuffer?t:t.buffer,a=new Uint8Array(s,i,16),o=vd(a,6);if(0!==o&&1!==o&&3!==o)throw new Error("Invalid magic number in ETC header");var h=i+16,u=n-16;if(n>0){var l=new Uint8Array(s,h,u),c=new Uint8Array(r._data.byteLength+l.byteLength);c.set(r._data),c.set(l,r._data.byteLength),r._data=c,r.mipmapLevelDataSize[e]=u}else r._data=new Uint8Array(s,h);r.width=e>0?r.width:vd(a,12),r.height=e>0?r.height:vd(a,14)},i.parseASTCTexture=function(t,e,i,n,r){var s=t instanceof ArrayBuffer?t:t.buffer,a=new Uint8Array(s,i,16);if(1554098963!==a[0]+(a[1]<<8)+(a[2]<<16)+(a[3]<<24))throw new Error("Invalid magic number in ASTC header");var o=a[4],h=a[5],u=a[6];if((o<3||o>6||h<3||h>6||u<3||u>6)&&(o<4||7===o||9===o||11===o||o>12||h<4||7===h||9===h||11===h||h>12||1!==u))throw new Error("Invalid block number in ASTC header");var l=function(t,e){return 4===t?cd.RGBA_ASTC_4x4:5===t?4===e?cd.RGBA_ASTC_5x4:cd.RGBA_ASTC_5x5:6===t?5===e?cd.RGBA_ASTC_6x5:cd.RGBA_ASTC_6x6:8===t?5===e?cd.RGBA_ASTC_8x5:6===e?cd.RGBA_ASTC_8x6:cd.RGBA_ASTC_8x8:10===t?5===e?cd.RGBA_ASTC_10x5:6===e?cd.RGBA_ASTC_10x6:8===e?cd.RGBA_ASTC_10x8:cd.RGBA_ASTC_10x10:10===e?cd.RGBA_ASTC_12x10:cd.RGBA_ASTC_12x12}(o,h),c=i+16,_=n-16;if(n>0){var f=new Uint8Array(s,c,_),d=new Uint8Array(r._data.byteLength+f.byteLength);d.set(r._data),d.set(f,r._data.byteLength),r._data=d,r.mipmapLevelDataSize[e]=_}else r._data=new Uint8Array(s,c);r.width=e>0?r.width:a[7]+(a[8]<<8)+(a[9]<<16),r.height=e>0?r.height:a[10]+(a[11]<<8)+(a[12]<<16),r.format=l};var e=i.prototype;function i(e){var i;return(i=t.call(this)||this)._nativeData=void 0,i._exportedExts=void 0,i._format=cd.RGBA8888,i._width=0,i._height=0,i._nativeData={_data:null,width:0,height:0,format:0,_compressed:!1,mipmapLevelDataSize:[]},void 0!==e&&i.reset(e),i}return e.extractMipmap0=function(){if(this.mipmapLevelDataSize&&this.mipmapLevelDataSize.length>0){var t=this.mipmapLevelDataSize[0],e=this.data,n=new i({_data:new Uint8Array(e.buffer,0,t),_compressed:!0,width:this.width,height:this.height,format:this.format,mipmapLevelDataSize:[]});return n._uuid=""+this._uuid,n}return this},e.extractMipmaps=function(){var t=[];if(this.mipmapLevelDataSize&&this.mipmapLevelDataSize.length>0)for(var e,n=this.mipmapLevelDataSize,r=this.data,s=0,a=this.height,o=this.width,h=f(n);!(e=h()).done;){var u=e.value,l=new i({_data:new Uint8Array(r.buffer,s,u),_compressed:!0,width:o,height:a,format:this.format,mipmapLevelDataSize:[]});s+=u,l._uuid=""+this._uuid,o=Math.max(o>>1,1),a=Math.max(a>>1,1),t.push(l)}else t.push(this);return t},e.reset=function(t){Sd(t)||t instanceof HTMLElement?this._nativeData=t:(this._nativeData=t,this._format=t.format)},e.destroy=function(){if(this.data&&this.data instanceof HTMLImageElement)this.data.src="",this._setRawAsset("");else if(Sd(this.data)){var e;null===(e=this.data)||void 0===e||e.close()}return t.prototype.destroy.call(this)},e._serialize=function(){},e._deserialize=function(t){var e="";"string"==typeof t?e=t:(this._width=t.w,this._height=t.h,e=t.fmt);for(var n,r=If.gfxDevice,s=e.split("_"),a=Number.MAX_VALUE,o=this._format,h="",u=we.SUPPORT_TEXTURE_FORMATS,l=f(s);!(n=l()).done;){var c=n.value.split("@"),_=parseInt(c[0],void 0),d=i.extnames[_]||c[0],p=u.indexOf(d);if(-1!==p&&p=cd.RGB_ETC1&&this._format<=cd.RGBA_ASTC_12x12||this._format>=cd.RGB_A_PVRTC_2BPPV1&&this._format<=cd.RGBA_ETC1}},{key:"mipmapLevelDataSize",get:function(){return this._nativeData.mipmapLevelDataSize}},{key:"url",get:function(){return this.nativeUrl}}]),i}(ld)).extnames=[".png",".jpg",".jpeg",".bmp",".webp",".pvr",".pkm",".astc"],md._sharedPlaceHolderCanvas=null,p((pd=md).prototype,"_nativeAsset",[Da],Object.getOwnPropertyDescriptor(pd.prototype,"_nativeAsset"),pd.prototype),dd=pd))||dd);v.ImageAsset=Md,Ae(Yl);var Pd,Od,Ld,Fd=new vt("Tex"),Nd=Js("cc.TextureBase")(((Bd=function(t){function e(){var e;return(e=t.call(this)||this)._format=bd&&bd(),e._minFilter=Ed&&Ed(),e._magFilter=Cd&&Cd(),e._mipFilter=xd&&xd(),e._wrapS=wd&&wd(),e._wrapT=Rd&&Rd(),e._wrapR=Id&&Id(),e._anisotropy=Dd&&Dd(),e._width=1,e._height=1,e._id=void 0,e._samplerInfo=new n_,e._gfxSampler=null,e._gfxDevice=null,e._textureHash=0,e._id=Fd.getNewId(),e._gfxDevice=e._getGFXDevice(),e._textureHash=Ll(e._id,666),e}s(e,t);var i=e.prototype;return i.getId=function(){return this._id},i.getPixelFormat=function(){return this._format},i.getAnisotropy=function(){return this._anisotropy},i.setWrapMode=function(t,e,i){void 0===i&&(i=t),this._wrapS=t,this._samplerInfo.addressU=t,this._wrapT=e,this._samplerInfo.addressV=e,this._wrapR=i,this._samplerInfo.addressW=i,this._gfxDevice&&(this._gfxSampler=this._gfxDevice.getSampler(this._samplerInfo))},i.setFilters=function(t,e){this._minFilter=t,this._samplerInfo.minFilter=t,this._magFilter=e,this._samplerInfo.magFilter=e,this._gfxDevice&&(this._gfxSampler=this._gfxDevice.getSampler(this._samplerInfo))},i.setMipFilter=function(t){this._mipFilter=t,this._samplerInfo.mipFilter=t,this._gfxDevice&&(this._gfxSampler=this._gfxDevice.getSampler(this._samplerInfo))},i.setAnisotropy=function(t){this._anisotropy=t,this._samplerInfo.maxAnisotropy=t,this._gfxDevice&&(this._gfxSampler=this._gfxDevice.getSampler(this._samplerInfo))},i.destroy=function(){var e,i=t.prototype.destroy.call(this);return i&&null!==(e=v.director.root)&&void 0!==e&&e.batcher2D&&v.director.root.batcher2D._releaseDescriptorSetCache(this._textureHash),i},i.getHash=function(){return this._textureHash},i.getGFXTexture=function(){return null},i.getSamplerInfo=function(){return this._samplerInfo},i.getGFXSampler=function(){return this._gfxSampler||(this._gfxDevice?this._gfxSampler=this._gfxDevice.getSampler(this._samplerInfo):Q(9302)),this._gfxSampler},i._serialize=function(){return""},i._deserialize=function(t){var e=t.split(",");e.unshift(""),e.length>=5&&(this.setFilters(parseInt(e[1]),parseInt(e[2])),this.setWrapMode(parseInt(e[3]),parseInt(e[4]))),e.length>=7&&(this.setMipFilter(parseInt(e[5])),this.setAnisotropy(parseInt(e[6])))},i._getGFXDevice=function(){return If.gfxDevice},i._getGFXFormat=function(){return this._getGFXPixelFormat(this._format)},i._setGFXFormat=function(t){this._format=void 0===t?cd.RGBA8888:t},i._getGFXPixelFormat=function(t){return t===cd.RGBA_ETC1?t=cd.RGB_ETC1:t===cd.RGB_A_PVRTC_4BPPV1?t=cd.RGB_PVRTC_4BPPV1:t===cd.RGB_A_PVRTC_2BPPV1&&(t=cd.RGB_PVRTC_2BPPV1),t},n(e,[{key:"isCompressed",get:function(){return this._format>=cd.RGB_ETC1&&this._format<=cd.RGBA_ASTC_12x12||this._format>=cd.RGB_A_PVRTC_2BPPV1&&this._format<=cd.RGBA_ETC1}},{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}}]),e}(ld)).PixelFormat=cd,Bd.WrapMode=_d,Bd.Filter=fd,bd=Us((Ad=Bd).prototype,"_format",[sa],(function(){return cd.RGBA8888})),Ed=Us(Ad.prototype,"_minFilter",[sa],(function(){return fd.LINEAR})),Cd=Us(Ad.prototype,"_magFilter",[sa],(function(){return fd.LINEAR})),xd=Us(Ad.prototype,"_mipFilter",[sa],(function(){return fd.NONE})),wd=Us(Ad.prototype,"_wrapS",[sa],(function(){return _d.REPEAT})),Rd=Us(Ad.prototype,"_wrapT",[sa],(function(){return _d.REPEAT})),Id=Us(Ad.prototype,"_wrapR",[sa],(function(){return _d.REPEAT})),Dd=Us(Ad.prototype,"_anisotropy",[sa],(function(){return 0})),Td=Ad))||Td;v.TextureBase=Nd;var kd=t("em",Js("cc.Script")(Pd=function(t){function e(){return t.apply(this,arguments)||this}return s(e,t),e}(ld))||Pd);v._Script=kd;var Gd=t("en",Js("cc.JavaScript")(Od=function(t){function e(){return t.apply(this,arguments)||this}return s(e,t),e}(kd))||Od);v._JavaScript=Gd;var Vd,Ud,zd,Hd,Wd,Xd,jd,Yd=t("eo",Js("cc.TypeScript")(Ld=function(t){function e(){return t.apply(this,arguments)||this}return s(e,t),e}(kd))||Ld);v._TypeScript=Yd;var qd,Kd,Jd,Zd,Qd,$d,tp,ep,ip,np,rp,sp=t("dF",Js("cc.ClickEvent")((Ud=function(){function t(){this.target=zd&&zd(),this.component=Hd&&Hd(),this._componentId=Wd&&Wd(),this.handler=Xd&&Xd(),this.customEventData=jd&&jd()}t.emitEvents=function(e){for(var i=arguments.length,n=new Array(i>1?i-1:0),r=1;r=0,1620),i=Number.isNaN(i)?v.macro.REPEAT_FOREVER:i,n=n||0;var r=v.director.getScheduler(),s=r.isTargetPaused(this);r.schedule(t,this,e,i,n,s)},i.scheduleOnce=function(t,e){void 0===e&&(e=0),this.schedule(t,0,0,e)},i.unschedule=function(t){t&&v.director.getScheduler().unschedule(t,this)},i.unscheduleAllCallbacks=function(){v.director.getScheduler().unscheduleAllForTarget(this)},n(e,[{key:"name",get:function(){if(this._name)return this._name;var t=Mt(this),e=t.lastIndexOf(".");return e>=0&&(t=t.slice(e+1)),this.node?this.node.name+"<"+t+">":t},set:function(t){this._name=t}},{key:"uuid",get:function(){return this._id}},{key:"__scriptAsset",get:function(){return null}},{key:"enabled",get:function(){return this._enabled},set:function(t){if(this._enabled!==t&&(this._enabled=t,this.node.activeInHierarchy)){var e=v.director._compScheduler;t?e.enableComp(this):e.disableComp(this)}}},{key:"enabledInHierarchy",get:function(){return this._enabled&&this.node&&this.node.activeInHierarchy}},{key:"_isOnLoadCalled",get:function(){return this._objFlags&op}},{key:"internalUpdate",get:function(){return this.update}},{key:"internalLateUpdate",get:function(){return this.lateUpdate}},{key:"internalPreload",get:function(){return this.__preload}},{key:"internalOnLoad",get:function(){return this.onLoad}},{key:"internalStart",get:function(){return this.start}},{key:"internalOnEnable",get:function(){return this.onEnable}},{key:"internalOnDisable",get:function(){return this.onDisable}},{key:"internalOnDestroy",get:function(){return this.onDestroy}}]),e}(Xa)).EventHandler=sp,ep._executionOrder=0,ep._requireComponent=null,ep.system=null,p((Zd=ep).prototype,"__scriptAsset",[Kd],Object.getOwnPropertyDescriptor(Zd.prototype,"__scriptAsset"),Zd.prototype),Qd=Us(Zd.prototype,"node",[sa],(function(){return null})),$d=Us(Zd.prototype,"_enabled",[sa],(function(){return!0})),tp=Us(Zd.prototype,"__prefab",[sa],(function(){return null})),Jd=Zd))||Jd));wt(hp,"_registerEditorProps",(function(t,e){var i=e.requireComponent;i&&(Array.isArray(i)&&(i=i.filter(Boolean)),t._requireComponent=i);var n=e.executionOrder;n&&"number"==typeof n&&(t._executionOrder=n)})),v.Component=hp;var up=t("e1",Js("cc.MissingScript")((np=function(t){function e(){var e;return(e=t.call(this)||this)._$erialized=rp&&rp(),e}return s(e,t),e.safeFindClass=function(t){var e=ie(t);if(e)return e;v.deserialize.reportMissingClass(t)},e.prototype.onLoad=function(){J(4600,this.node.name)},e}(hp),rp=Us(np.prototype,"_$erialized",[sa,oa],(function(){return null})),ip=np))||ip);v._MissingScript=up;try{var lp=up.__values__;0!==lp.length&&"_$erialized"===lp[lp.length-1]||(U("The '_$erialized' prop in MissingScript is missing. Please contact jare."),U(" Error props: ['"+lp+"']"))}catch(ir){U("Error when checking MissingScript 5, "+ir)}var cp=function(){function t(t,e){this._document=void 0,this._chunks=void 0,this._document=t,this._chunks=e}return n(t,[{key:"document",get:function(){return this._document}},{key:"chunks",get:function(){return this._chunks}}]),t}();function _p(t){var e=t;return{chunks:e.chunks,document:e.document}}function fp(t){if(t.length<16)throw new dp(it(13102));var e=new DataView(t.buffer,t.byteOffset,t.byteLength);if(1313817411!==e.getUint32(0,!0))throw new dp(it(13100));var i=e.getUint32(4,!0);if(1!==i)throw new dp(it(13101,i));if(e.getUint32(8,!0)!==e.byteLength)throw new dp(it(13102));var n=12,r=e.getUint32(n,!0);n+=4;var s=new Uint8Array(e.buffer,n+e.byteOffset,r);n+=r;var a,o=function(t){if("undefined"!=typeof TextDecoder)return(new TextDecoder).decode(t);if("Buffer"in globalThis)return globalThis.Buffer.from(t.buffer,t.byteOffset,t.byteLength).toString();throw new Error(it(13104))}(s);try{a=JSON.parse(o)}catch(t){throw new dp(t)}for(var h=[];n0&&(t.chunks.length,this._mainBinChunk=t.chunks[0])):e=t,this._serializedData=e,this._context={fromCCON:i};var n=Array.isArray(e)?e[0]:e;return this.deserializedData=this._deserializeObject(n,0),this._serializedData=void 0,this._mainBinChunk=void 0,this._context=void 0,this.deserializedData},e._deserializeObject=function(t,e,i,n){switch(t.__type__){case"TypedArray":return this._deserializeTypedArrayView(t);case"TypedArrayRef":return this._deserializeTypedArrayViewRef(t);default:return t.__type__?this._deserializeTypeTaggedObject(t,e,i,n):Array.isArray(t)?this._deserializeArray(t):this._deserializePlainObject(t)}},e._deserializeTypedArrayView=function(t){return globalThis[t.ctor].from(t.array)},e._deserializeTypedArrayViewRef=function(t){var e=t.offset,i=t.length,n=t.ctor;return new globalThis[n](this._mainBinChunk.buffer,this._mainBinChunk.byteOffset+e,i)},e._deserializeArray=function(t){for(var e,i=new Array(t.length),n=0;n=0&&(r.deserializedList[e]=i),i}(a);return this._deserializeInto(t,o,a),o},e._deserializeInto=function(t,e,i,n){void 0===n&&(n=!1),n||!e[$a]?e._deserialize?e._deserialize(t.content,this):v.Class._isCCClass(i)?this._deserializeFireClass(e,t,i):this._deserializeFastDefinedObject(e,t,i):this._runCustomizedDeserialize(t,e,i)},e._runCustomizedDeserialize=function(t,e,i){var n=this,r={readProperty:function(e){var i=t[e];return"object"==typeof i&&i?n._deserializeObjectField(i):i},readThis:function(){n._deserializeInto(t,e,i,!0)},readSuper:function(){var r=Wt(i);r&&n._deserializeInto(t,e,r)}};e[$a](r,this._context)},e._deserializeFireClass=function(t,e,i){var n;if(i.hasOwnProperty("__deserialize__"))n=i.__deserialize__;else{n=function(t,e){for(var i=yi.Attr.getClassAttrs(e),n=e.__values__,r=["var prop;"],s=function(t){return Re.test(se(t))}(e),a=0;a=0?e[i]=t[5][n]:t[7][3*~n]=e}function Dp(t){return function(e,i,n,r){for(var s=0;s=0){var c=o[u];e[a]=Rp(t,c,l)}else(0,Pp[u=~u])(t,e,a,l)}return r}(s);v.game._isCloning=!1,s[7]&&function(t,e,i){for(var n=t.length-1,r=0,s=3*t[n];r=0?a[i[h]]=o:a[~h]=o}for(;r=0?u[i[c]]=l:u[~c]=l}}(s[7],a,s[2]),function(t){for(var e=t[5],i=t[2],n=t[1],r=t[8],s=t[9],a=t[10],o=0;o=0?i[u]:~u,s[o]=u);var l=a[o];"number"==typeof l&&(a[o]=n[l])}}(s),n=a[o]}else n=function(t,e,i){var n,r=(i=i||{}).classFinder||ie,s=i.createAssetRefs||Bl.platform===rl.EDITOR_CORE,a=i.customEnv,o=i.ignoreEditorOnly,h=null!==(n=i.reportMissingClass)&&void 0!==n?n:v.deserialize.reportMissingClass;e.init();var u=Ap.pool.get(e,r,h,a,o);v.game._isCloning=!0;var l=u.deserialize(t);return v.game._isCloning=!1,Ap.pool.put(u),s&&e.assignAssetsBy((function(t,e){return EditorExtends.serialize.asAsset(t,e.type)})),l}(t,e,i);return r&&xp.pool.put(e),n}Pp[0]=function(t,e,i,n){e[i]=n},Pp[1]=Ip,Pp[2]=Dp(Ip),Pp[3]=Dp(Bp),Pp[4]=Mp,Pp[5]=function(t,e,i,n){var r=n[0],s=e[i];(0,Cp[r])(s,n)},Pp[6]=Bp,Pp[7]=function(t,e,i,n){e[i].set(n)},Pp[8]=function(t,e,i,n){var r=n[0],s=new bp[r];(0,Cp[r])(s,n),e[i]=s},Pp[9]=Dp(Mp),Pp[10]=function(t,e,i,n){var r=t[3][n[0]];e[i]=Rp(t,r,n[1])},Pp[11]=function(t,e,i,n){var r=n[0];e[i]=r;for(var s=1;s>e,r.texExtent.height=this._textureHeight>>e,r.texSubres.mipLevel=e,r.texSubres.baseArrayLayer=i,ArrayBuffer.isView(t)?n.copyBuffersToTexture([t],this._gfxTexture,qp):n.copyTexImagesToTexture([t],this._gfxTexture,qp)}}},i._assignImage=function(t,e,i){var n=t.data;if(n&&(this.uploadData(n,e,i),this._checkTextureLoaded(),we.CLEANUP_IMAGE_CACHE)){var r=Yp.getDeps(this._uuid),s=r.indexOf(t._uuid);-1!==s&&(ue(r,s),t.decRef())}},i._checkTextureLoaded=function(){this._textureReady()},i._textureReady=function(){this.loaded=!0,this.emit("load")},i._setMipmapLevel=function(t){this._mipmapLevel=t<1?1:t},i._setMipRange=function(t,e){this._baseLevel=t<1?0:t,this._maxLevel=e<1?0:e},i.setMipRange=function(t,e){et(t<=e,3124),this._setMipRange(t,e);var i=this._getGFXDevice();if(i){var n=this._createTextureView(i);this._tryDestroyTextureView(),this._gfxTextureView=n}},i._getGfxTextureCreateInfo=function(){return null},i._getGfxTextureViewCreateInfo=function(){return null},i._tryReset=function(){if(this._tryDestroyTextureView(),this._tryDestroyTexture(),0!==this._mipmapLevel){var t=this._getGFXDevice();t&&(this._createTexture(t),this._gfxTextureView=this._createTextureView(t))}},i.isUsingOfflineMipmaps=function(){return!1},i._createTexture=function(t){if(0!==this._width&&0!==this._height){var e=ic.NONE;this._mipFilter!==fd.NONE&&function(t,e,i){return!(t.gfxAPI===Wl.WEBGL)||Kp(e)&&Kp(i)}(t,this._width,this._height)&&(this._mipmapLevel=function(t,e){for(var i=Math.max(t,e),n=0;i;)i>>=1,n++;return n}(this._width,this._height),this.isUsingOfflineMipmaps()||this.isCompressed||(e=ic.GEN_MIPMAP));var i=this._getGfxTextureCreateInfo({usage:ec.SAMPLED|ec.TRANSFER_DST|ec.COLOR_ATTACHMENT,format:this._getGFXFormat(),levelCount:this._mipmapLevel,flags:e});if(i){var n=t.createTexture(i);this._textureWidth=i.width,this._textureHeight=i.height,this._gfxTexture=n}}},i._createTextureView=function(t){if(!this._gfxTexture)return null;var e=this._maxLevel0){var i=this._generatedMipmaps[0];this.reset({width:i.width,height:i.height,format:i.format,mipmapLevel:this._generatedMipmaps.length,baseLevel:this._baseLevel,maxLevel:this._maxLevel}),this._generatedMipmaps.forEach((function(t,i){e._assignImage(t,i)}))}else this.reset({width:0,height:0,mipmapLevel:this._generatedMipmaps.length,baseLevel:this._baseLevel,maxLevel:this._maxLevel})},i.initialize=function(){this.mipmaps=this._mipmaps},i.onLoaded=function(){this.initialize()},i.reset=function(t){this._width=t.width,this._height=t.height,this._setGFXFormat(t.format);var e=void 0===t.mipmapLevel?1:t.mipmapLevel;this._setMipmapLevel(e);var i=void 0===t.baseLevel?0:t.baseLevel,n=void 0===t.maxLevel?1e3:t.maxLevel;this._setMipRange(i,n),this._tryReset()},i.create=function(t,e,i,n,r,s){void 0===i&&(i=cd.RGBA8888),void 0===n&&(n=1),void 0===r&&(r=0),void 0===s&&(s=1e3),this.reset({width:t,height:e,format:i,mipmapLevel:n,baseLevel:r,maxLevel:s})},i.toString=function(){return 0!==this._mipmaps.length?this._mipmaps[0].url:""},i.updateMipmaps=function(t,e){if(void 0===t&&(t=0),!(t>=this._generatedMipmaps.length))for(var i=Math.min(void 0===e?this._generatedMipmaps.length:e,this._generatedMipmaps.length-t),n=0;n"},i.releaseTexture=function(){this.destroy()},i._serialize=function(){return null},i._deserialize=function(e,i){var n=e;t.prototype._deserialize.call(this,n.base,i),this._mipmaps=new Array(n.mipmaps.length);for(var r=0;r1)for(var n=0;nthis._width&&(this._x=2,this._y=this._nexty),this._y+o+2>this._nexty&&(this._nexty=this._y+o+2),this._nexty>this._height)return null;v.internal.dynamicAtlasManager.textureBleeding&&((a<=8||o<=8)&&(this._texture.drawTextureAt(i.image,this._x-1,this._y-1),this._texture.drawTextureAt(i.image,this._x-1,this._y+1),this._texture.drawTextureAt(i.image,this._x+1,this._y-1),this._texture.drawTextureAt(i.image,this._x+1,this._y+1)),this._texture.drawTextureAt(i.image,this._x-1,this._y),this._texture.drawTextureAt(i.image,this._x+1,this._y),this._texture.drawTextureAt(i.image,this._x,this._y-1),this._texture.drawTextureAt(i.image,this._x,this._y+1)),this._texture.drawTextureAt(i.image,this._x,this._y),this._innerTextureInfos[i.getId()]={x:this._x,y:this._y,texture:i},this._count++,r+=this._x,s+=this._y,this._x+=a+2}var h={x:r,y:s,texture:this._texture};return this._innerSpriteFrames.push(t),h},e.deleteInnerTexture=function(t){t&&this._innerTextureInfos[t.getId()]&&(delete this._innerTextureInfos[t.getId()],this._count--)},e.isEmpty=function(){return this._count<=0},e.reset=function(){this._x=2,this._y=2,this._nexty=2;for(var t=this._innerSpriteFrames,e=0,i=t.length;e19||i<0)console.warn("maximum layers reached.");else{var n=1<19||e<0)console.warn("do not change buildin layers.");else{var i=1<31||e<0?(console.warn("Unable to access unknown layer."),""):t.Enum[1<0&&(s=i._findChildComponent(r._children,e)))return s}return null},i._findChildComponents=function(t,e,n){for(var r=0;r0&&i._findChildComponents(s._children,e,n)}},e.getWritableComponents=function(){return this._components},e._updateScene=function(){null==this._parent?U("Node %s(%s) has not attached to a scene.",this.name,this.uuid):this._scene=this._parent._scene},e.attr=function(t){zt(this,t)},e.getParent=function(){return this._parent},e.modifyParent=function(t){this._parent=t},e.setParent=function(t,e){if(void 0===e&&(e=!1),e&&this.updateWorldTransform(),this._parent!==t){var i=this._parent,n=t;if(this._parent=n,this._siblingIndex=0,this._onSetParent(i,e),this.emit&&this.emit(lm.PARENT_CHANGED,i),i&&!(i._objFlags&Im)){var r=i._children.indexOf(this);i._children.splice(r,1),i._updateSiblingIndex(),i.emit&&i.emit(lm.CHILD_REMOVED,this)}n&&(n._children.push(this),this._siblingIndex=n._children.length-1,n.emit&&n.emit(lm.CHILD_ADDED,this)),this._onHierarchyChanged(i)}},e.getChildByUuid=function(t){if(!t)return G("Invalid uuid"),null;for(var e=this._children,i=0,n=e.length;i0?(h=s,r=s._children,a=0,o[n]=r[a],n++):(o[n]=s,n++,u=!0);o.length=0,i._stackId--},e.removeFromParent=function(){this._parent&&this._parent.removeChild(this)},e.removeChild=function(t){this._children.indexOf(t)>-1&&(t.parent=null)},e.removeAllChildren=function(){for(var t=this._children,e=t.length-1;e>=0;e--){var i=t[e];i&&(i.parent=null)}this._children.length=0},e.isChildOf=function(t){var e=this;do{if(e===t)return!0;e=e._parent}while(e);return!1},e.getComponent=function(t){var e=Pm(t);return e?i._findComponent(this,e):null},e.getComponents=function(t){var e=Pm(t),n=[];return e&&i._findComponents(this,e,n),n},e.getComponentInChildren=function(t){var e=Pm(t);return e?i._findChildComponent(this._children,e):null},e.getComponentsInChildren=function(t){var e=Pm(t),n=[];return e&&(i._findComponents(this,e,n),i._findChildComponents(this._children,e,n)),n},e.addComponent=function(t){var e;if("string"==typeof t){if(!(e=ne(t)))throw v._RF.peek()&&Q(3808,t),TypeError(it(3807,t))}else{if(!t)throw TypeError(it(3804));e=t}if("function"!=typeof e)throw TypeError(it(3809));if(!Xt(e,v.Component))throw TypeError(it(3810));var i=e._requireComponent;if(i)if(Array.isArray(i))for(var n=0;n=0;){if(a=(e=Zm[n--]).hasChangedFlags,e.isValid&&(e._transformFlags&a&t)!==t)for(e._transformFlags|=t,e.hasChangedFlags=a|t,s=(i=e._children).length,r=0;r=0;)un.transformInverseRTS(t,t,i._lrot,i._lpos,i._lscale),i=Zm[--n];return t},e.setWorldPosition=function(t,e,i){void 0===e||void 0===i?un.copy(this._pos,t):un.set(this._pos,t,e,i);var n=this._parent,r=this._lpos;n?(n.updateWorldTransform(),un.transformMat4(r,this._pos,Mn.invert(Km,n._mat))):un.copy(r,this._pos),this.invalidateChildren(hm.POSITION),1&this._eventMask&&this.emit(lm.TRANSFORM_CHANGED,hm.POSITION)},e.getWorldPosition=function(t){return this.updateWorldTransform(),t?un.copy(t,this._pos):un.copy(new un,this._pos)},e.setWorldRotation=function(t,e,i,n){void 0===e||void 0===i||void 0===n?bn.copy(this._rot,t):bn.set(this._rot,t,e,i,n),this._parent?(this._parent.updateWorldTransform(),bn.multiply(this._lrot,bn.conjugate(this._lrot,this._parent._rot),this._rot)):bn.copy(this._lrot,this._rot),this._eulerDirty=!0,this.invalidateChildren(hm.ROTATION),1&this._eventMask&&this.emit(lm.TRANSFORM_CHANGED,hm.ROTATION)},e.setWorldRotationFromEuler=function(t,e,i){bn.fromEuler(this._rot,t,e,i),this._parent?(this._parent.updateWorldTransform(),bn.multiply(this._lrot,bn.conjugate(this._lrot,this._parent._rot),this._rot)):bn.copy(this._lrot,this._rot),this._eulerDirty=!0,this.invalidateChildren(hm.ROTATION),1&this._eventMask&&this.emit(lm.TRANSFORM_CHANGED,hm.ROTATION)},e.getWorldRotation=function(t){return this.updateWorldTransform(),t?bn.copy(t,this._rot):bn.copy(new bn,this._rot)},e.setWorldScale=function(t,e,i){var n=this._parent;n&&this.updateWorldTransform(),void 0===e||void 0===i?un.copy(this._scale,t):un.set(this._scale,t,e,i),n?(Om.x=this._scale.x/un.set(Lm,this._mat.m00,this._mat.m01,this._mat.m02).length(),Om.y=this._scale.y/un.set(Lm,this._mat.m04,this._mat.m05,this._mat.m06).length(),Om.z=this._scale.z/un.set(Lm,this._mat.m08,this._mat.m09,this._mat.m10).length(),Mn.scale(Km,this._mat,Om),Mn.multiply(Jm,Mn.invert(Jm,n._mat),Km),vn.fromQuat(Gm,bn.conjugate(km,this._lrot)),vn.multiplyMat4(Gm,Gm,Jm),this._lscale.x=un.set(Om,Gm.m00,Gm.m01,Gm.m02).length(),this._lscale.y=un.set(Om,Gm.m03,Gm.m04,Gm.m05).length(),this._lscale.z=un.set(Om,Gm.m06,Gm.m07,Gm.m08).length()):un.copy(this._lscale,this._scale),this.invalidateChildren(hm.SCALE),1&this._eventMask&&this.emit(lm.TRANSFORM_CHANGED,hm.SCALE)},e.getWorldScale=function(t){return this.updateWorldTransform(),t?un.copy(t,this._scale):un.copy(new un,this._scale)},e.getWorldMatrix=function(t){this.updateWorldTransform();var e=t||new Mn;return Mn.copy(e,this._mat)},e.getWorldRS=function(t){this.updateWorldTransform();var e=t||new Mn;return Mn.copy(e,this._mat),e.m12=0,e.m13=0,e.m14=0,e},e.getWorldRT=function(t){this.updateWorldTransform();var e=t||new Mn;return Mn.fromRT(e,this._rot,this._pos)},e.setRTS=function(t,e,i){var n=0;t&&(n|=hm.ROTATION,void 0!==t.w?(bn.copy(this._lrot,t),this._eulerDirty=!0):(un.copy(this._euler,t),bn.fromEuler(this._lrot,t.x,t.y,t.z),this._eulerDirty=!1)),e&&(un.copy(this._lpos,e),n|=hm.POSITION),i&&(un.copy(this._lscale,i),n|=hm.SCALE),n&&(this.invalidateChildren(n),1&this._eventMask&&this.emit(lm.TRANSFORM_CHANGED,n))},e.isTransformDirty=function(){return this._transformFlags!==hm.NONE},e.pauseSystemEvents=function(t){this._eventProcessor.setEnabled(!1,t)},e.resumeSystemEvents=function(t){this._eventProcessor.setEnabled(!0,t)},i.resetHasChangedFlags=function(){$m+=1},i.clearNodeArray=function(){i.ClearFrame0},set:function(t){t?this._objFlags|=Dm:this._objFlags&=~Dm}},{key:"name",get:function(){return this._name},set:function(t){this._name=t}},{key:"uuid",get:function(){return this._id}},{key:"children",get:function(){return this._children}},{key:"active",get:function(){return this._active},set:function(t){if(t=!!t,this._active!==t){this._active=t;var e=this._parent;e&&e._activeInHierarchy&&v.director._nodeActivator.activateNode(this,t)}}},{key:"activeInHierarchy",get:function(){return this._activeInHierarchy}},{key:"parent",get:function(){return this._parent},set:function(t){this.setParent(t)}},{key:"scene",get:function(){return this._scene}},{key:"eventProcessor",get:function(){return this._eventProcessor}},{key:"prefab",get:function(){return this._prefab}},{key:"id",set:function(t){this._id=t}},{key:"siblingIndex",get:function(){return this._siblingIndex},set:function(t){this._siblingIndex=t}},{key:"position",get:function(){return this._lpos},set:function(t){this.setPosition(t)}},{key:"worldPosition",get:function(){return this.updateWorldTransform(),this._pos},set:function(t){this.setWorldPosition(t)}},{key:"rotation",get:function(){return this._lrot},set:function(t){this.setRotation(t)}},{key:"eulerAngles",get:function(){return this._eulerDirty&&(bn.toEuler(this._euler,this._lrot),this._eulerDirty=!1),this._euler},set:function(t){this.setRotationFromEuler(t.x,t.y,t.z)}},{key:"angle",get:function(){return this._euler.z},set:function(t){un.set(this._euler,0,0,t),bn.fromAngleZ(this._lrot,t),this._eulerDirty=!1,this.invalidateChildren(hm.ROTATION),1&this._eventMask&&this.emit(lm.TRANSFORM_CHANGED,hm.ROTATION)}},{key:"worldRotation",get:function(){return this.updateWorldTransform(),this._rot},set:function(t){this.setWorldRotation(t)}},{key:"scale",get:function(){return this._lscale},set:function(t){this.setScale(t)}},{key:"worldScale",get:function(){return this.updateWorldTransform(),this._scale},set:function(t){this.setWorldScale(t)}},{key:"matrix",set:function(t){Mn.toRTS(t,this._lrot,this._lpos,this._lscale),this.invalidateChildren(hm.TRS),this._eulerDirty=!0,1&this._eventMask&&this.emit(lm.TRANSFORM_CHANGED,hm.TRS)}},{key:"worldMatrix",get:function(){return this.updateWorldTransform(),this._mat}},{key:"forward",get:function(){return un.transformQuat(new un,un.FORWARD,this.worldRotation)},set:function(t){var e=t.length();un.multiplyScalar(Om,t,-1/e),bn.fromViewUp(Fm,Om),this.setWorldRotation(Fm)}},{key:"up",get:function(){return un.transformQuat(new un,un.UP,this.worldRotation)}},{key:"right",get:function(){return un.transformQuat(new un,un.RIGHT,this.worldRotation)}},{key:"mobility",get:function(){return this._mobility},set:function(t){this._mobility=t,this.emit(lm.MOBILITY_CHANGED)}},{key:"layer",get:function(){return this._layer},set:function(t){this._layer=t,this._uiProps&&this._uiProps.uiComp&&(this._uiProps.uiComp.setNodeDirty(),this._uiProps.uiComp.markForUpdateRenderData()),this.emit(lm.LAYER_CHANGED,this._layer)}},{key:"flagChangedVersion",get:function(){return this._flagChangeVersion}},{key:"hasChangedFlags",get:function(){return this._flagChangeVersion===$m?this._hasChangedFlags:0},set:function(t){this._flagChangeVersion=$m,this._hasChangedFlags=t}}]),i}(Xa)).idGenerator=Mm,wm._stacks=[[]],wm._stackId=0,wm.EventType=lm,wm.NodeSpace=om,wm.TransformDirtyBit=hm,wm.TransformBit=hm,wm.reserveContentsForAllSyncablePrefabTag=Qm,wm.ClearFrame=0,wm.ClearRound=1e3,p((pm=wm).prototype,"_persistNode",[ta],Object.getOwnPropertyDescriptor(pm.prototype,"_persistNode"),pm.prototype),mm=Us(pm.prototype,"_parent",[sa],(function(){return null})),gm=Us(pm.prototype,"_children",[sa],(function(){return[]})),ym=Us(pm.prototype,"_active",[sa],(function(){return!0})),vm=Us(pm.prototype,"_components",[sa],(function(){return[]})),Sm=Us(pm.prototype,"_prefab",[sa],(function(){return null})),Tm=Us(pm.prototype,"_lpos",[sa],(function(){return new un})),Am=Us(pm.prototype,"_lrot",[sa],(function(){return new bn})),bm=Us(pm.prototype,"_lscale",[sa],(function(){return new un(1,1,1)})),Em=Us(pm.prototype,"_mobility",[sa],(function(){return Rm.Static})),Cm=Us(pm.prototype,"_layer",[sa],(function(){return am.Enum.DEFAULT})),xm=Us(pm.prototype,"_euler",[sa],(function(){return new un})),p(pm.prototype,"eulerAngles",[_m],Object.getOwnPropertyDescriptor(pm.prototype,"eulerAngles"),pm.prototype),p(pm.prototype,"mobility",[fm],Object.getOwnPropertyDescriptor(pm.prototype,"mobility"),pm.prototype),dm=pm))||dm));v.Node=tg,function(t){t[t.right=0]="right",t[t.left=1]="left",t[t.top=2]="top",t[t.bottom=3]="bottom",t[t.front=4]="front",t[t.back=5]="back"}(Ym||(Ym={})),function(t){t[t.NONE=0]="NONE",t[t.AUTO=1]="AUTO",t[t.BAKED_CONVOLUTION_MAP=2]="BAKED_CONVOLUTION_MAP"}(qm||(qm={}));var eg=t("ei",Js("cc.TextureCube")(((jm=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r0){var i=this._generatedMipmaps[0].front;this.reset({width:i.width,height:i.height,format:i.format,mipmapLevel:this._generatedMipmaps.length,baseLevel:this._baseLevel,maxLevel:this._maxLevel}),this._generatedMipmaps.forEach((function(t,i){ig(t,(function(t,n){e._assignImage(t,i,n)}))}))}else this.reset({width:0,height:0,mipmapLevel:this._generatedMipmaps.length,baseLevel:this._baseLevel,maxLevel:this._maxLevel})},i.isUsingOfflineMipmaps=function(){return this._mipmapMode===qm.BAKED_CONVOLUTION_MAP},e.fromTexture2DArray=function(t,i){for(var n=[],r=t.length/6,s=0;s=this._generatedMipmaps.length))for(var n=Math.min(void 0===e?this._generatedMipmaps.length:e,this._generatedMipmaps.length-t),r=function(){var e=t+s;ig(i._generatedMipmaps[e],(function(t,n){i._assignImage(t,e,n)}))},s=0;s1&&t.forEach((function(t){var i={front:t.front.extractMipmap0(),back:t.back.extractMipmap0(),left:t.left.extractMipmap0(),right:t.right.extractMipmap0(),top:t.top.extractMipmap0(),bottom:t.bottom.extractMipmap0()};e.push(i)}));this._setMipmapParams(e)}},{key:"mipmapAtlas",get:function(){return this._mipmapAtlas},set:function(t){var e=this;if(this._mipmapAtlas=t,this._mipmapAtlas){var i=this._mipmapAtlas.atlas.front;if(i.data){var n=this._mipmapAtlas.atlas,r=this._mipmapAtlas.layout,s=r[0],a=Object.assign(T.document.createElement("canvas"),{width:i.width,height:i.height}).getContext("2d");this.reset({width:s.width,height:s.height,format:i.format,mipmapLevel:r.length});for(var o=function(){var t=r[h];ig(n,(function(n,r){a.clearRect(0,0,i.width,i.height);var s=n.data;a.drawImage(s,0,0);var o=a.getImageData(t.left,t.top,t.width,t.height),h=new Md({_data:o.data,_compressed:n.isCompressed,width:o.width,height:o.height,format:n.format});e._assignImage(h,t.level,r)}))},h=0;h>>26},lv=function(t){return(t&av)>>>20},cv=function(t){return(t&ov)>>>12},_v=function(t){return 4095&t},fv=function(t,e){return 67108863&t|e<<26&sv},dv=((Jy={})[Kl.UNKNOWN]=function(t,e,i){return void 0===i&&(i=0),J(12010,i)},Jy[Kl.INT]=function(t,e,i){return void 0===i&&(i=0),t[i]},Jy[Kl.INT2]=function(t,e,i){return void 0===i&&(i=0),kn.fromArray(e,t,i)},Jy[Kl.INT3]=function(t,e,i){return void 0===i&&(i=0),un.fromArray(e,t,i)},Jy[Kl.INT4]=function(t,e,i){return void 0===i&&(i=0),rn.fromArray(e,t,i)},Jy[Kl.FLOAT]=function(t,e,i){return void 0===i&&(i=0),t[i]},Jy[Kl.FLOAT2]=function(t,e,i){return void 0===i&&(i=0),kn.fromArray(e,t,i)},Jy[Kl.FLOAT3]=function(t,e,i){return void 0===i&&(i=0),un.fromArray(e,t,i)},Jy[Kl.FLOAT4]=function(t,e,i){return void 0===i&&(i=0),rn.fromArray(e,t,i)},Jy[Kl.MAT3]=function(t,e,i){return void 0===i&&(i=0),vn.fromArray(e,t,i)},Jy[Kl.MAT4]=function(t,e,i){return void 0===i&&(i=0),Mn.fromArray(e,t,i)},Jy),pv=((Zy={})[Kl.UNKNOWN]=function(t,e,i){return void 0===i&&(i=0),J(12010,i)},Zy[Kl.INT]=function(t,e,i){return void 0===i&&(i=0),t[i]=e},Zy[Kl.INT2]=function(t,e,i){return void 0===i&&(i=0),kn.toArray(t,e,i)},Zy[Kl.INT3]=function(t,e,i){return void 0===i&&(i=0),un.toArray(t,e,i)},Zy[Kl.INT4]=function(t,e,i){return void 0===i&&(i=0),rn.toArray(t,e,i)},Zy[Kl.FLOAT]=function(t,e,i){return void 0===i&&(i=0),t[i]=e},Zy[Kl.FLOAT2]=function(t,e,i){return void 0===i&&(i=0),kn.toArray(t,e,i)},Zy[Kl.FLOAT3]=function(t,e,i){return void 0===i&&(i=0),un.toArray(t,e,i)},Zy[Kl.FLOAT4]=function(t,e,i){return void 0===i&&(i=0),rn.toArray(t,e,i)},Zy[Kl.MAT3]=function(t,e,i){return void 0===i&&(i=0),vn.toArray(t,e,i)},Zy[Kl.MAT4]=function(t,e,i){return void 0===i&&(i=0),Mn.toArray(t,e,i)},Zy),mv=((Qy={})[Kl.INT]=function(t){return"number"==typeof t},Qy[Kl.FLOAT]=function(t){return"number"==typeof t},Qy[Kl.INT2]=function(t){return!!(t instanceof kn)},Qy[Kl.FLOAT2]=function(t){return!!(t instanceof kn)},Qy[Kl.INT3]=function(t){return!!(t instanceof un)},Qy[Kl.FLOAT3]=function(t){return!!(t instanceof un)},Qy[Kl.INT4]=function(t){return!!(t instanceof rn)},Qy[Kl.FLOAT4]=function(t){return!!(t instanceof rn||t instanceof mn||t instanceof bn)},Qy[Kl.MAT3]=function(t){return!!(t instanceof vn)},Qy[Kl.MAT4]=function(t){return!!(t instanceof Mn)},Qy),gv=[Object.freeze([0]),Object.freeze([0,0]),Object.freeze([0,0,0,0]),Object.freeze([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1])];function yv(t){switch(t){case Kl.BOOL:case Kl.INT:case Kl.UINT:case Kl.FLOAT:return gv[0];case Kl.BOOL2:case Kl.INT2:case Kl.UINT2:case Kl.FLOAT2:return gv[1];case Kl.BOOL4:case Kl.INT4:case Kl.UINT4:case Kl.FLOAT4:return gv[2];case Kl.MAT4:return gv[3];case Kl.SAMPLER2D:return"default-texture";case Kl.SAMPLER_CUBE:return"default-cube-texture";case Kl.SAMPLER2D_ARRAY:return"default-array-texture";case Kl.SAMPLER3D:return"default-3d-texture"}return gv[0]}function vv(t){switch(t){case Kl.SAMPLER2D:return"-texture";case Kl.SAMPLER_CUBE:return"-cube-texture";case Kl.SAMPLER2D_ARRAY:return"-array-texture";case Kl.SAMPLER3D:return"-3d-texture";default:return"-unknown"}}function Sv(t,e){for(var i=Object.entries(e),n=!1,r=0;r31&&(t.uber=!0),t.constantMacros="",t.builtins.statistics)t.constantMacros+="#define "+r+" "+t.builtins.statistics[r]+"\n"}(i),this._templates[t.name]=i,!this._templateInfos[i.hash]){var n={};n.samplerStartBinding=i.blocks.length,n.shaderInfo=new d_,n.blockSizes=[],n.bindings=[];for(var s=0;s>2)*o.count}for(var h=0;h0&&this.shaders.length>0},e}(ld))._effects={},Lv._layoutValid=!0,Bv=Us((Dv=Lv).prototype,"techniques",[sa],(function(){return[]})),Mv=Us(Dv.prototype,"shaders",[sa],(function(){return[]})),Pv=Us(Dv.prototype,"combinations",[sa],(function(){return[]})),Ov=Us(Dv.prototype,"hideInEditor",[sa,oa],(function(){return!1})),Iv=Dv))||Iv);v.EffectAsset=kv;var Gv=function(){function t(){this.name="",this.base="",this.importBase="",this.nativeBase="",this.deps=null,this.assetInfos=new Pf,this.scenes=new Pf,this.paths=new Pf}var e=t.prototype;return e.init=function(t){var e=this;!function(t){var e=t.uuids,i=t.paths,n=t.types,r=t.deps,s=t.paths=Object.create(null);if(!1===t.debug){for(var a=0,o=e.length;ae.length)||47===t.charCodeAt(e.length)}(r,t)||!t)for(var s=0,a=i.length;s0&&function(t){var e=Object.create(null);if(e[t._uuid]=t.refCount,Hv(t,e,Wv,-1),Wv.length=0,0!==e[t._uuid])return e[t._uuid];for(var i in e)0!==e[i]&&Hv(Ff.get(i),e,Wv,1);return Wv.length=0,e[t._uuid]}(t)>0)){Ff.remove(i);for(var n=Yp.getDeps(i),r=0,s=n.length;rthis._maxInterval?this._maxInterval:e;t-this._lastDate>1e3*i&&(this._totalNumThisPeriod=0,this._lastDate=t)},t._handleQueue=function(t,e){for(this._checkNextPeriod=!1,this._updateTime();this._queue.length>0&&this._totalNum0&&(Ne(this._handleQueue.bind(this),t,e),this._checkNextPeriod=!0)},n(e,[{key:"remoteServerAddress",get:function(){return this._remoteServerAddress}}],[{key:"instance",get:function(){return e._instance||(e._instance=new e),e._instance}}]),e}();vS._instance=void 0;var SS,TS,AS,bS,ES,CS,xS=vS.instance,wS=vS.instance,RS=t("ef",Js("cc.JsonAsset")((TS=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r0){var a=jf.create({input:s,progress:r,options:n,onProgress:t.onProgress,onError:jf.prototype.recycle,onComplete:function(n){var r;n||((r=t.output).push.apply(r,a.output),a.recycle()),i&&zS(t),e(n)}});Uf.async(a)}else i&&zS(t),e()}))}function zS(t){for(var e=t.output,i=0,n=e.length;i=1024)&&m.lightingMap.objectID===a.objectID&&m.useReflectionProbeType===l&&m.reflectionProbeCubemap.objectID===o.objectID&&m.reflectionProbePlanarMap.objectID===h.objectID&&m.reflectionProbeBlendCubemap.objectID===u.objectID&&m.stride===r){if(m.count>=m.capacity){m.capacity<<=1;var g=m.stride*m.capacity,y=m.data;m.data=new Uint8Array(g),m.data.set(y),m.vb.resize(g)}return m.shader=c,m.descriptorSet=_,m.data.set(n.buffer,m.stride*m.count++),void(this.hasPendingModels=!0)}}for(var v=this._device.createBuffer(new Jc(Jl.VERTEX|Jl.TRANSFER_DST,$l.HOST|$l.DEVICE,32*r,r)),S=new Uint8Array(32*r),T=s.vertexBuffers.slice(),A=s.attributes.slice(),b=s.indexBuffer,E=0;E>2,a=this._getBlockView(r,n),o=t.getOffsetFromHandle(e),h=0;h>2)*a,c=0;c+u.length<=l;c+=u.length)o.set(u,s+c);this._rootBufferDirty=!0}},e.resetTexture=function(e,i){var n=this.getHandle(e);if(n){var r=t.getTypeFromHandle(n),s=t.getBindingFromHandle(n),a=this._properties[e],o=a&&a.value,h=o?""+o+vv(r):yv(r),u=hT.get(h),l=u&&u.getGFXTexture(),c=a&&void 0!==a.samplerHash?mf.unpackFromHash(a.samplerHash):u&&u.getSamplerInfo(),_=this._device.getSampler(c);this._descriptorSet.bindSampler(s,_,i||0),this._descriptorSet.bindTexture(s,l,i||0)}},e.resetUBOs=function(){for(var t=0;t>2)*r.count,u=0;u+o.length<=h;u+=o.length)s.set(o,i+u);i+=h}this._rootBufferDirty=!0},e.resetTextures=function(){for(var t=0;t=this._passes.length)return void console.warn("illegal pass index: "+i+".");var h=this._passes[i];this._uploadProperty(h,t,e)&&(this._props[h.propertyIndex][t]=e,n=!0)}n||console.warn("illegal property name: "+t+".")},i.getProperty=function(t,e){if(void 0===e)for(var i=this._props,n=i.length,r=0;r=this._passes.length)return console.warn("illegal pass index: "+e+"."),null;var a=this._props[this._passes[e].propertyIndex];if(t in a)return a[t]}return null},i.copy=function(t,e){this._techIdx=t._techIdx,this._props.length=t._props.length;for(var i=0;i0},n(e,[{key:"effectAsset",get:function(){return this._effectAsset}},{key:"effectName",get:function(){return this._effectAsset?this._effectAsset.name:""}},{key:"technique",get:function(){return this._techIdx}},{key:"passes",get:function(){return this._passes}},{key:"hash",get:function(){return this._hash}},{key:"parent",get:function(){return null}},{key:"owner",get:function(){return null}}]),e}(ld),bT=Us(AT.prototype,"_effectAsset",[ST],(function(){return null})),ET=Us(AT.prototype,"_techIdx",[sa],(function(){return 0})),CT=Us(AT.prototype,"_defines",[sa],(function(){return[]})),xT=Us(AT.prototype,"_states",[sa],(function(){return[]})),wT=Us(AT.prototype,"_props",[sa],(function(){return[]})),TT=AT))||TT));v.Material=MT;var PT=ve({Low_256x256:256,Medium_512x512:512,High_1024x1024:1024,Ultra_2048x2048:2048}),OT=ve({Planar:0,ShadowMap:1}),LT=ve({HARD:0,SOFT:1,SOFT_2X:2,SOFT_4X:3}),FT=ve({LEVEL_1:1,LEVEL_2:2,LEVEL_3:3,LEVEL_4:4}),NT=ve({NONE:1,RemoveDuplicates:2,DisableRotationFix:3}),kT=OT.ShadowMap+1,GT=function(){function t(){this.fixedSphere=new Sr(0,0,0,.01),this.maxReceived=4,this._matLight=new Mn,this._material=null,this._instancingMaterial=null,this._enabled=!1,this._type=kT,this._distance=0,this._normal=new un(0,1,0),this._shadowColor=new mn(0,0,0,76),this._size=new kn(1024,1024),this._shadowMapDirty=!1}var e=t.prototype;return e.getPlanarShader=function(t){this._material||(this._material=new MT,this._material.initialize({effectName:"pipeline/planar-shadow"}));var e=this._material.passes;return e.length>0?e[0].getShaderVariant(t):null},e.initialize=function(t){this._enabled=t.enabled,this._type=this.enabled?t.type:kT,this.normal=t.planeDirection,this.distance=t.planeHeight,this.shadowColor=t.shadowColor,this.maxReceived=t.maxReceived,t.shadowMapSize!==this._size.x&&(this.size.set(t.shadowMapSize,t.shadowMapSize),this._shadowMapDirty=!0)},e.activate=function(){if(this._enabled)if(this.type===OT.Planar)this._updatePlanarInfo();else{var t=v.director.root;t.pipeline.macros.CC_SHADOW_TYPE=2,t.onGlobalPipelineStateChanged()}else{var e=v.director.root;e.pipeline.macros.CC_SHADOW_TYPE=0,e.onGlobalPipelineStateChanged()}},e._updatePlanarInfo=function(){this._material||(this._material=new MT,this._material.initialize({effectName:"pipeline/planar-shadow"}));var t=v.director.root;t.pipeline.macros.CC_SHADOW_TYPE=1,t.onGlobalPipelineStateChanged()},e.destroy=function(){this._material&&this._material.destroy(),this._instancingMaterial&&this._instancingMaterial.destroy(),this.fixedSphere.destroy()},n(t,[{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t,this.activate()}},{key:"type",get:function(){return this._type},set:function(t){this._type=this.enabled?t:kT,this.activate()}},{key:"normal",get:function(){return this._normal},set:function(t){un.copy(this._normal,t)}},{key:"distance",get:function(){return this._distance},set:function(t){this._distance=t}},{key:"shadowColor",get:function(){return this._shadowColor},set:function(t){this._shadowColor=t}},{key:"size",get:function(){return this._size},set:function(t){this._size.set(t)}},{key:"shadowMapDirty",get:function(){return this._shadowMapDirty},set:function(t){this._shadowMapDirty=t}},{key:"matLight",get:function(){return this._matLight}},{key:"material",get:function(){return this._material}},{key:"instancingMaterial",get:function(){return this._instancingMaterial}}]),t}();GT.MAX_FAR=2e3,GT.COEFFICIENT_OF_EXPANSION=2*Math.sqrt(3),v.Shadows=GT;var VT=function(t){function e(e,i){var n;(n=t.call(this,e.root)||this)._parent=void 0,n._owner=void 0,n._dontNotify=!1,n._parent=e,n._owner=i,n._doInit(n._parent,!0);for(var r=0;r0)for(var h=0;h=0&&s.node.getWritableComponents().splice(a,1)}}}function cx(t,e,i){if(!(e.length<=0))for(var n=null,r=0;r0){var h=o.pop();if(!h)continue;for(var u=0;u0){var g=p.pop();if(!g)return;for(var y=0;yMath.abs(e)?t:-e},e}(zx),Yx=function(t){function e(e){var i;return(i=t.call(this)||this).up=void 0,i.down=void 0,i.left=void 0,i.right=void 0,i.xAxis=void 0,i.yAxis=void 0,i.up=e.up,i.down=e.down,i.left=e.left,i.right=e.right,i.xAxis=new jx({positive:i.right,negative:i.left}),i.yAxis=new jx({positive:i.up,negative:i.down}),i}return s(e,t),e.prototype.getValue=function(){return new kn(this.xAxis.getValue(),this.yAxis.getValue())},e}(Hx);!function(t){function e(e){var i;return(i=t.call(this)||this).up=void 0,i.down=void 0,i.left=void 0,i.right=void 0,i.forward=void 0,i.backward=void 0,i.xAxis=void 0,i.yAxis=void 0,i.zAxis=void 0,i.up=e.up,i.down=e.down,i.left=e.left,i.right=e.right,i.forward=e.forward,i.backward=e.backward,i.xAxis=new jx({positive:i.right,negative:i.left}),i.yAxis=new jx({positive:i.up,negative:i.down}),i.zAxis=new jx({positive:i.forward,negative:i.backward}),i}s(e,t),e.prototype.getValue=function(){return new un(this.xAxis.getValue(),this.yAxis.getValue(),this.zAxis.getValue())}}(Wx);var qx,Kx=function(t){function e(){return t.apply(this,arguments)||this}return s(e,t),e.prototype.getValue=function(){return t.prototype.getValue.call(this)},e}(zx),Jx=function(t){function e(){return t.apply(this,arguments)||this}return s(e,t),e}(Yx),Zx=function(t){function e(){return t.apply(this,arguments)||this}return s(e,t),e}(Yx),Qx=function(t){function e(){return t.apply(this,arguments)||this}return s(e,t),e.prototype.getValue=function(){return t.prototype.getValue.call(this)},e}(Xx),$x=function(t){function e(){return t.apply(this,arguments)||this}return s(e,t),e.prototype.getValue=function(){return t.prototype.getValue.call(this)},e}(Wx),tw="left",ew="right",iw=[];!function(t){t[t.HAND_LEFT=1]="HAND_LEFT",t[t.HAND_RIGHT=4]="HAND_RIGHT",t[t.AIM_LEFT=2]="AIM_LEFT",t[t.AIM_RIGHT=5]="AIM_RIGHT"}(qx||(qx={}));var nw,rw,sw,aw=function(){function t(t){var e;this._buttonNorth=void 0,this._buttonEast=void 0,this._buttonWest=void 0,this._buttonSouth=void 0,this._buttonL1=void 0,this._buttonL2=void 0,this._buttonL3=void 0,this._buttonR1=void 0,this._buttonR2=void 0,this._buttonR3=void 0,this._buttonShare=void 0,this._buttonOptions=void 0,this._dpad=void 0,this._leftStick=void 0,this._rightStick=void 0,this._buttonStart=void 0,this._gripLeft=void 0,this._gripRight=void 0,this._handLeftPosition=void 0,this._handLeftOrientation=void 0,this._handRightPosition=void 0,this._handRightOrientation=void 0,this._aimLeftPosition=void 0,this._aimLeftOrientation=void 0,this._aimRightPosition=void 0,this._aimRightOrientation=void 0,this._deviceId=-1,this._connected=!1,this._webPoseState=((e={})[qx.HAND_LEFT]={position:un.ZERO,orientation:bn.IDENTITY},e[qx.HAND_RIGHT]={position:un.ZERO,orientation:bn.IDENTITY},e[qx.AIM_LEFT]={position:un.ZERO,orientation:bn.IDENTITY},e[qx.AIM_RIGHT]={position:un.ZERO,orientation:bn.IDENTITY},e),this._deviceId=t,this._initInputSource()}t._init=function(){ol.hasFeature(sl.EVENT_GAMEPAD)&&t._registerEvent()},t._on=function(e,i,n){t._eventTarget.on(e,i,n)},t._removeInputDevice=function(e){var i=t.all.findIndex((function(t){return t.deviceId===e}));-1!==i&&ue(t.all,i)},t._getOrCreateInputDevice=function(e,i){var n=t.all.find((function(t){return t.deviceId===e}));return n||(n=new t(e),t.all.push(n)),n._connected=i,n},t._ensureDirectorDefined=function(e){t._intervalId=setInterval((function(){v.director&&v.Director&&(clearInterval(t._intervalId),t._intervalId=-1,e())}),50)},t._updateGamepadCnt=function(){for(var e=0,i=0,n=t._cachedWebGamepads.length;i.01){a=t._getOrCreateInputDevice(r.index,!0);break}}if(a){e.push(a);continue}for(var c=s.axes,_=0;_.01){a=t._getOrCreateInputDevice(r.index,!0);break}}if(a){e.push(a);continue}}}}t._cachedWebGamepads=i}}},t._scanGamepads=function(){iw.length=0,t._scanWebGamepads(iw),t._scanWebXRGamepads(iw);for(var e=0;e0?{negative:0,positive:e}:t<0?{negative:e,positive:0}:{negative:0,positive:0}},e._updateWebPoseState=function(t){t.code!==qx.HAND_LEFT&&t.code!==qx.AIM_LEFT&&t.code!==qx.HAND_RIGHT&&t.code!==qx.AIM_RIGHT||(this._webPoseState[t.code]={position:new un(t.position.x,t.position.y,t.position.z),orientation:new bn(t.orientation.x,t.orientation.y,t.orientation.z,t.orientation.w)})},e._initInputSource=function(){var e=this;this._buttonNorth=new Kx,this._buttonNorth.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(tw);return n&&n.buttons.length>5?n.buttons[5].value:0}var r=t._getWebGamepad(e.deviceId);return r?r.buttons[3].value:0},this._buttonEast=new Kx,this._buttonEast.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(ew);return n&&n.buttons.length>5?n.buttons[5].value:0}var r=t._getWebGamepad(e.deviceId);return r?r.buttons[1].value:0},this._buttonWest=new Kx,this._buttonWest.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(tw);return n&&n.buttons.length>4?n.buttons[4].value:0}var r=t._getWebGamepad(e.deviceId);return r?r.buttons[2].value:0},this._buttonSouth=new Kx,this._buttonSouth.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(ew);return n&&n.buttons.length>4?n.buttons[4].value:0}var r=t._getWebGamepad(e.deviceId);return r?r.buttons[0].value:0},this._buttonL1=new Kx,this._buttonL1.getValue=function(){var i=t._getWebGamepad(e.deviceId);return i?i.buttons[4].value:0},this._buttonL2=new Kx,this._buttonL2.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(tw);return n&&n.buttons.length>0?n.buttons[0].value:0}var r=t._getWebGamepad(e.deviceId);return r?r.buttons[6].value:0},this._buttonL3=new Kx,this._buttonL3.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(tw);if(n){if(n.buttons.length>3&&0!==n.buttons[3].value)return n.buttons[3].value;if(n.buttons.length>2&&0!==n.buttons[2].value)return n.buttons[2].value}return 0}var r=t._getWebGamepad(e.deviceId);return r?r.buttons[10].value:0},this._buttonR1=new Kx,this._buttonR1.getValue=function(){var i=t._getWebGamepad(e.deviceId);return i?i.buttons[5].value:0},this._buttonR2=new Kx,this._buttonR2.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(ew);return n&&n.buttons.length>0?n.buttons[0].value:0}var r=t._getWebGamepad(e.deviceId);return r?r.buttons[7].value:0},this._buttonR3=new Kx,this._buttonR3.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(ew);if(n){if(n.buttons.length>3&&0!==n.buttons[3].value)return n.buttons[3].value;if(n.buttons.length>2&&0!==n.buttons[2].value)return n.buttons[2].value}return 0}var r=t._getWebGamepad(e.deviceId);return r?r.buttons[11].value:0},this._buttonShare=new Kx,this._buttonShare.getValue=function(){var i=t._getWebGamepad(e.deviceId);return i?i.buttons[8].value:0},this._buttonOptions=new Kx,this._buttonOptions.getValue=function(){var i=t._getWebGamepad(e.deviceId);return i?i.buttons[9].value:0};var i=new Kx;i.getValue=function(){var i=t._getWebGamepad(e.deviceId);return i?i.buttons[12].value:0};var n=new Kx;n.getValue=function(){var i=t._getWebGamepad(e.deviceId);return i?i.buttons[13].value:0};var r=new Kx;r.getValue=function(){var i=t._getWebGamepad(e.deviceId);return i?i.buttons[14].value:0};var s=new Kx;s.getValue=function(){var i=t._getWebGamepad(e.deviceId);return i?i.buttons[15].value:0},this._dpad=new Jx({up:i,down:n,left:r,right:s});var a=new Kx;a.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(tw);if(n){if(n.axes.length>3&&0!==n.axes[3])return e._axisToButtons(n.axes[3]).negative;if(n.axes.length>1&&0!==n.axes[1])return e._axisToButtons(n.axes[1]).negative}return 0}var r=t._getWebGamepad(e.deviceId);return r?e._axisToButtons(r.axes[1]).negative:0};var o=new Kx;o.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(tw);if(n){if(n.axes.length>3&&0!==n.axes[3])return e._axisToButtons(n.axes[3]).positive;if(n.axes.length>1&&0!==n.axes[1])return e._axisToButtons(n.axes[1]).positive}return 0}var r=t._getWebGamepad(e.deviceId);return r?e._axisToButtons(r.axes[1]).positive:0};var h=new Kx;h.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(tw);if(n){if(n.axes.length>2&&0!==n.axes[2])return e._axisToButtons(n.axes[2]).negative;if(n.axes.length>0&&0!==n.axes[0])return e._axisToButtons(n.axes[0]).negative}return 0}var r=t._getWebGamepad(e.deviceId);return r?e._axisToButtons(r.axes[0]).negative:0};var u=new Kx;u.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(tw);if(n){if(n.axes.length>2&&0!==n.axes[2])return e._axisToButtons(n.axes[2]).positive;if(n.axes.length>0&&0!==n.axes[0])return e._axisToButtons(n.axes[0]).positive}return 0}var r=t._getWebGamepad(e.deviceId);return r?e._axisToButtons(r.axes[0]).positive:0},this._leftStick=new Zx({up:a,down:o,left:h,right:u});var l=new Kx;l.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(ew);if(n){if(n.axes.length>3&&0!==n.axes[3])return e._axisToButtons(n.axes[3]).negative;if(n.axes.length>1&&0!==n.axes[1])return e._axisToButtons(n.axes[1]).negative}return 0}var r=t._getWebGamepad(e.deviceId);return r?e._axisToButtons(r.axes[3]).negative:0};var c=new Kx;c.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(ew);if(n){if(n.axes.length>3&&0!==n.axes[3])return e._axisToButtons(n.axes[3]).positive;if(n.axes.length>1&&0!==n.axes[1])return e._axisToButtons(n.axes[1]).positive}return 0}var r=t._getWebGamepad(e.deviceId);return r?e._axisToButtons(r.axes[3]).positive:0};var _=new Kx;_.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(ew);if(n){if(n.axes.length>2&&0!==n.axes[2])return e._axisToButtons(n.axes[2]).negative;if(n.axes.length>0&&0!==n.axes[0])return e._axisToButtons(n.axes[0]).negative}return 0}var r=t._getWebGamepad(e.deviceId);return r?e._axisToButtons(r.axes[2]).negative:0};var f=new Kx;f.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(ew);if(n){if(n.axes.length>2&&0!==n.axes[2])return e._axisToButtons(n.axes[2]).positive;if(n.axes.length>0&&0!==n.axes[0])return e._axisToButtons(n.axes[0]).positive}return 0}var r=t._getWebGamepad(e.deviceId);return r?e._axisToButtons(r.axes[2]).positive:0},this._rightStick=new Zx({up:l,down:c,left:_,right:f}),this._buttonStart=new Kx,this._buttonStart.getValue=function(){return 0},this._gripLeft=new Kx,this._gripLeft.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(tw);if(n&&n.buttons.length>1)return n.buttons[1].value}return 0},this._gripRight=new Kx,this._gripRight.getValue=function(){if(-1===e.deviceId){var i,n=null===(i=t._getWebXRGamepadMap())||void 0===i?void 0:i.get(ew);if(n&&n.buttons.length>1)return n.buttons[1].value}return 0},this._handLeftPosition=new $x,this._handLeftPosition.getValue=function(){return e._webPoseState[qx.HAND_LEFT].position},this._handLeftOrientation=new Qx,this._handLeftOrientation.getValue=function(){return e._webPoseState[qx.HAND_LEFT].orientation},this._handRightPosition=new $x,this._handRightPosition.getValue=function(){return e._webPoseState[qx.HAND_RIGHT].position},this._handRightOrientation=new Qx,this._handRightOrientation.getValue=function(){return e._webPoseState[qx.HAND_RIGHT].orientation},this._aimLeftPosition=new $x,this._aimLeftPosition.getValue=function(){return e._webPoseState[qx.AIM_LEFT].position},this._aimLeftOrientation=new Qx,this._aimLeftOrientation.getValue=function(){return e._webPoseState[qx.AIM_LEFT].orientation},this._aimRightPosition=new $x,this._aimRightPosition.getValue=function(){return e._webPoseState[qx.AIM_RIGHT].position},this._aimRightOrientation=new Qx,this._aimRightOrientation.getValue=function(){return e._webPoseState[qx.AIM_RIGHT].orientation}},n(t,[{key:"buttonNorth",get:function(){return this._buttonNorth}},{key:"buttonEast",get:function(){return this._buttonEast}},{key:"buttonWest",get:function(){return this._buttonWest}},{key:"buttonSouth",get:function(){return this._buttonSouth}},{key:"buttonL1",get:function(){return this._buttonL1}},{key:"buttonL2",get:function(){return this._buttonL2}},{key:"buttonL3",get:function(){return this._buttonL3}},{key:"buttonR1",get:function(){return this._buttonR1}},{key:"buttonR2",get:function(){return this._buttonR2}},{key:"buttonR3",get:function(){return this._buttonR3}},{key:"buttonShare",get:function(){return this._buttonShare}},{key:"buttonOptions",get:function(){return this._buttonOptions}},{key:"dpad",get:function(){return this._dpad}},{key:"leftStick",get:function(){return this._leftStick}},{key:"rightStick",get:function(){return this._rightStick}},{key:"buttonStart",get:function(){return this._buttonStart}},{key:"gripLeft",get:function(){return this._gripLeft}},{key:"gripRight",get:function(){return this._gripRight}},{key:"handLeftPosition",get:function(){return this._handLeftPosition}},{key:"handLeftOrientation",get:function(){return this._handLeftOrientation}},{key:"handRightPosition",get:function(){return this._handRightPosition}},{key:"handRightOrientation",get:function(){return this._handRightOrientation}},{key:"aimLeftPosition",get:function(){return this._aimLeftPosition}},{key:"aimLeftOrientation",get:function(){return this._aimLeftOrientation}},{key:"aimRightPosition",get:function(){return this._aimRightPosition}},{key:"aimRightOrientation",get:function(){return this._aimRightOrientation}},{key:"deviceId",get:function(){return this._deviceId}},{key:"connected",get:function(){return this._connected}}]),t}();aw.all=[],aw.xr=null,aw._eventTarget=new $u,aw._cachedWebGamepads=[],aw._cachedWebXRGamepadMap=null,aw._intervalId=-1,aw._totalGamepadCnt=0,function(t){t[t.BUTTON_EAST=0]="BUTTON_EAST",t[t.BUTTON_SOUTH=1]="BUTTON_SOUTH",t[t.BUTTON_WEST=2]="BUTTON_WEST",t[t.BUTTON_NORTH=3]="BUTTON_NORTH",t[t.BUTTON_TRIGGER_LEFT=4]="BUTTON_TRIGGER_LEFT",t[t.BUTTON_TRIGGER_RIGHT=5]="BUTTON_TRIGGER_RIGHT",t[t.TRIGGER_LEFT=6]="TRIGGER_LEFT",t[t.TRIGGER_RIGHT=7]="TRIGGER_RIGHT",t[t.GRIP_LEFT=8]="GRIP_LEFT",t[t.GRIP_RIGHT=9]="GRIP_RIGHT",t[t.BUTTON_LEFT_STICK=10]="BUTTON_LEFT_STICK",t[t.LEFT_STICK_UP=11]="LEFT_STICK_UP",t[t.LEFT_STICK_DOWN=12]="LEFT_STICK_DOWN",t[t.LEFT_STICK_LEFT=13]="LEFT_STICK_LEFT",t[t.LEFT_STICK_RIGHT=14]="LEFT_STICK_RIGHT",t[t.BUTTON_RIGHT_STICK=15]="BUTTON_RIGHT_STICK",t[t.RIGHT_STICK_UP=16]="RIGHT_STICK_UP",t[t.RIGHT_STICK_DOWN=17]="RIGHT_STICK_DOWN",t[t.RIGHT_STICK_LEFT=18]="RIGHT_STICK_LEFT",t[t.RIGHT_STICK_RIGHT=19]="RIGHT_STICK_RIGHT",t[t.ROKID_MENU=20]="ROKID_MENU",t[t.ROKID_START=21]="ROKID_START"}(nw||(nw={})),function(t){t[t.KET_CLICK=0]="KET_CLICK",t[t.KET_STICK=1]="KET_STICK",t[t.KET_GRAB=2]="KET_GRAB"}(rw||(rw={})),function(t){t[t.UNDEFINE=0]="UNDEFINE",t[t.X=1]="X",t[t.Y=2]="Y",t[t.LEFT_STICK_X=3]="LEFT_STICK_X",t[t.LEFT_STICK_Y=4]="LEFT_STICK_Y",t[t.RIGHT_STICK_X=5]="RIGHT_STICK_X",t[t.RIGHT_STICK_Y=6]="RIGHT_STICK_Y",t[t.LEFT_TRIGGER=7]="LEFT_TRIGGER",t[t.RIGHT_TIRGGER=8]="RIGHT_TIRGGER",t[t.LEFT_GRIP=9]="LEFT_GRIP",t[t.RIGHT_GRIP=10]="RIGHT_GRIP"}(sw||(sw={}));var ow,hw={1:nw.BUTTON_EAST,2:nw.BUTTON_SOUTH,3:nw.BUTTON_NORTH,4:nw.BUTTON_WEST,9:nw.BUTTON_LEFT_STICK,10:nw.BUTTON_RIGHT_STICK,11:nw.ROKID_MENU,12:nw.ROKID_START,13:nw.BUTTON_TRIGGER_LEFT,14:nw.BUTTON_TRIGGER_RIGHT},uw=function(){function t(){var t,e=this;this._eventTarget=new $u,this._buttonNorth=void 0,this._buttonEast=void 0,this._buttonWest=void 0,this._buttonSouth=void 0,this._buttonTriggerLeft=void 0,this._buttonTriggerRight=void 0,this._triggerLeft=void 0,this._triggerRight=void 0,this._gripLeft=void 0,this._gripRight=void 0,this._leftStick=void 0,this._rightStick=void 0,this._buttonLeftStick=void 0,this._buttonRightStick=void 0,this._buttonOptions=void 0,this._buttonStart=void 0,this._handLeftPosition=void 0,this._handLeftOrientation=void 0,this._handRightPosition=void 0,this._handRightOrientation=void 0,this._aimLeftPosition=void 0,this._aimLeftOrientation=void 0,this._aimRightPosition=void 0,this._aimRightOrientation=void 0,this._nativeButtonState=((t={})[nw.BUTTON_SOUTH]=0,t[nw.BUTTON_EAST]=0,t[nw.BUTTON_WEST]=0,t[nw.BUTTON_NORTH]=0,t[nw.BUTTON_TRIGGER_LEFT]=0,t[nw.BUTTON_TRIGGER_RIGHT]=0,t[nw.TRIGGER_LEFT]=0,t[nw.TRIGGER_RIGHT]=0,t[nw.GRIP_LEFT]=0,t[nw.GRIP_RIGHT]=0,t[nw.LEFT_STICK_UP]=0,t[nw.LEFT_STICK_DOWN]=0,t[nw.LEFT_STICK_LEFT]=0,t[nw.LEFT_STICK_RIGHT]=0,t[nw.RIGHT_STICK_UP]=0,t[nw.RIGHT_STICK_DOWN]=0,t[nw.RIGHT_STICK_LEFT]=0,t[nw.RIGHT_STICK_RIGHT]=0,t[nw.BUTTON_LEFT_STICK]=0,t[nw.BUTTON_RIGHT_STICK]=0,t[nw.ROKID_MENU]=0,t[nw.ROKID_START]=0,t),this._initInputSource(),window.addEventListener("xr-remote-input",(function(t){var i=t,n=i.detail.keyEventType,r=i.detail.stickAxisCode,s=i.detail.stickAxisValue,a=i.detail.stickKeyCode,o=i.detail.isButtonPressed;if(n===rw.KET_CLICK){var h=hw[a];e._nativeButtonState[h]=o?1:0}else if(n===rw.KET_STICK||n===rw.KET_GRAB){var u,l,c;switch(r){case sw.LEFT_STICK_X:u=nw.LEFT_STICK_LEFT,l=nw.LEFT_STICK_RIGHT,c=e._axisToButtons(s);break;case sw.LEFT_STICK_Y:u=nw.LEFT_STICK_DOWN,l=nw.LEFT_STICK_UP,c=e._axisToButtons(s);break;case sw.RIGHT_STICK_X:u=nw.RIGHT_STICK_LEFT,l=nw.RIGHT_STICK_RIGHT,c=e._axisToButtons(s);break;case sw.RIGHT_STICK_Y:u=nw.RIGHT_STICK_DOWN,l=nw.RIGHT_STICK_UP,c=e._axisToButtons(s);break;case sw.LEFT_TRIGGER:e._nativeButtonState[nw.TRIGGER_LEFT]=s;break;case sw.RIGHT_TIRGGER:e._nativeButtonState[nw.TRIGGER_RIGHT]=s;break;case sw.LEFT_GRIP:e._nativeButtonState[nw.GRIP_LEFT]=s;break;case sw.RIGHT_GRIP:e._nativeButtonState[nw.GRIP_RIGHT]=s}u&&l&&c&&(e._nativeButtonState[u]=c.negative,e._nativeButtonState[l]=c.positive)}e._eventTarget.emit(xx.HANDLE_INPUT,new Lx(xx.HANDLE_INPUT,e))}))}var e=t.prototype;return e._axisToButtons=function(t){var e=Math.abs(t);return t>0?{negative:0,positive:e}:t<0?{negative:e,positive:0}:{negative:0,positive:0}},e._on=function(t,e,i){this._eventTarget.on(t,e,i)},e._initInputSource=function(){var t=this;this._buttonNorth=new Kx,this._buttonNorth.getValue=function(){return t._nativeButtonState[nw.BUTTON_NORTH]},this._buttonEast=new Kx,this._buttonEast.getValue=function(){return t._nativeButtonState[nw.BUTTON_EAST]},this._buttonWest=new Kx,this._buttonWest.getValue=function(){return t._nativeButtonState[nw.BUTTON_WEST]},this._buttonSouth=new Kx,this._buttonSouth.getValue=function(){return t._nativeButtonState[nw.BUTTON_SOUTH]},this._buttonTriggerLeft=new Kx,this._buttonTriggerLeft.getValue=function(){return t._nativeButtonState[nw.BUTTON_TRIGGER_LEFT]},this._buttonTriggerRight=new Kx,this._buttonTriggerRight.getValue=function(){return t._nativeButtonState[nw.BUTTON_TRIGGER_RIGHT]},this._triggerLeft=new Kx,this._triggerLeft.getValue=function(){return t._nativeButtonState[nw.TRIGGER_LEFT]},this._triggerRight=new Kx,this._triggerRight.getValue=function(){return t._nativeButtonState[nw.TRIGGER_RIGHT]},this._gripLeft=new Kx,this._gripLeft.getValue=function(){return t._nativeButtonState[nw.GRIP_LEFT]},this._gripRight=new Kx,this._gripRight.getValue=function(){return t._nativeButtonState[nw.GRIP_RIGHT]},this._buttonLeftStick=new Kx,this._buttonLeftStick.getValue=function(){return t._nativeButtonState[nw.BUTTON_LEFT_STICK]};var e=new Kx;e.getValue=function(){return t._nativeButtonState[nw.LEFT_STICK_UP]};var i=new Kx;i.getValue=function(){return t._nativeButtonState[nw.LEFT_STICK_DOWN]};var n=new Kx;n.getValue=function(){return t._nativeButtonState[nw.LEFT_STICK_LEFT]};var r=new Kx;r.getValue=function(){return t._nativeButtonState[nw.LEFT_STICK_RIGHT]},this._leftStick=new Zx({up:e,down:i,left:n,right:r}),this._buttonRightStick=new Kx,this._buttonRightStick.getValue=function(){return t._nativeButtonState[nw.BUTTON_RIGHT_STICK]};var s=new Kx;s.getValue=function(){return t._nativeButtonState[nw.RIGHT_STICK_UP]};var a=new Kx;a.getValue=function(){return t._nativeButtonState[nw.RIGHT_STICK_DOWN]};var o=new Kx;o.getValue=function(){return t._nativeButtonState[nw.RIGHT_STICK_LEFT]};var h=new Kx;h.getValue=function(){return t._nativeButtonState[nw.RIGHT_STICK_RIGHT]},this._rightStick=new Zx({up:s,down:a,left:o,right:h}),this._buttonOptions=new Kx,this._buttonOptions.getValue=function(){return t._nativeButtonState[nw.ROKID_MENU]},this._buttonStart=new Kx,this._buttonStart.getValue=function(){return t._nativeButtonState[nw.ROKID_START]},this._handLeftPosition=new $x,this._handLeftPosition.getValue=function(){return un.ZERO},this._handLeftOrientation=new Qx,this._handLeftOrientation.getValue=function(){return bn.IDENTITY},this._handRightPosition=new $x,this._handRightPosition.getValue=function(){return un.ZERO},this._handRightOrientation=new Qx,this._handRightOrientation.getValue=function(){return bn.IDENTITY},this._aimLeftPosition=new $x,this._aimLeftPosition.getValue=function(){return un.ZERO},this._aimLeftOrientation=new Qx,this._aimLeftOrientation.getValue=function(){return bn.IDENTITY},this._aimRightPosition=new $x,this._aimRightPosition.getValue=function(){return un.ZERO},this._aimRightOrientation=new Qx,this._aimRightOrientation.getValue=function(){return bn.IDENTITY}},n(t,[{key:"buttonNorth",get:function(){return this._buttonNorth}},{key:"buttonEast",get:function(){return this._buttonEast}},{key:"buttonWest",get:function(){return this._buttonWest}},{key:"buttonSouth",get:function(){return this._buttonSouth}},{key:"buttonTriggerLeft",get:function(){return this._buttonTriggerLeft}},{key:"buttonTriggerRight",get:function(){return this._buttonTriggerRight}},{key:"triggerLeft",get:function(){return this._triggerLeft}},{key:"triggerRight",get:function(){return this._triggerRight}},{key:"gripLeft",get:function(){return this._gripLeft}},{key:"gripRight",get:function(){return this._gripRight}},{key:"leftStick",get:function(){return this._leftStick}},{key:"rightStick",get:function(){return this._rightStick}},{key:"buttonLeftStick",get:function(){return this._buttonLeftStick}},{key:"buttonRightStick",get:function(){return this._buttonRightStick}},{key:"buttonOptions",get:function(){return this._buttonOptions}},{key:"buttonStart",get:function(){return this._buttonStart}},{key:"handLeftPosition",get:function(){return this._handLeftPosition}},{key:"handLeftOrientation",get:function(){return this._handLeftOrientation}},{key:"handRightPosition",get:function(){return this._handRightPosition}},{key:"handRightOrientation",get:function(){return this._handRightOrientation}},{key:"aimLeftPosition",get:function(){return this._aimLeftPosition}},{key:"aimLeftOrientation",get:function(){return this._aimLeftOrientation}},{key:"aimRightPosition",get:function(){return this._aimRightPosition}},{key:"aimRightOrientation",get:function(){return this._aimRightOrientation}}]),t}();!function(t){t[t.VIEW_LEFT=0]="VIEW_LEFT",t[t.VIEW_RIGHT=3]="VIEW_RIGHT",t[t.HEAD_MIDDLE=6]="HEAD_MIDDLE"}(ow||(ow={}));var lw,cw,_w=function(){function t(){var t;this._eventTarget=new $u,this._intervalId=-1,this._viewLeftPosition=void 0,this._viewLeftOrientation=void 0,this._viewRightPosition=void 0,this._viewRightOrientation=void 0,this._headMiddlePosition=void 0,this._headMiddleOrientation=void 0,this._webPoseState=((t={})[ow.VIEW_LEFT]={position:un.ZERO,orientation:bn.IDENTITY},t[ow.VIEW_RIGHT]={position:un.ZERO,orientation:bn.IDENTITY},t[ow.HEAD_MIDDLE]={position:un.ZERO,orientation:bn.IDENTITY},t),this._initInputSource(),this._registerEvent()}var e=t.prototype;return e._ensureDirectorDefined=function(){var t=this;return new Promise((function(e){t._intervalId=setInterval((function(){v.director&&v.Director&&(clearInterval(t._intervalId),t._intervalId=-1,e())}),50)}))},e._registerEvent=function(){var t=this;this._ensureDirectorDefined().then((function(){v.director.on(v.Director.EVENT_BEGIN_FRAME,t._scanHmd,t)})).catch((function(){}))},e._scanHmd=function(){var t,e=null===(t=globalThis.__globalXR)||void 0===t?void 0:t.webxrHmdPoseInfos;if(e){for(var i=0;iwe.TOUCH_TIMEOUT&&(console.log("The touches is more than MAX_TOUCHES, release touch id "+t.getID()+"."),e.releaseTouch(t.getID()))})),i>=this._touchMap.size},t}()),vw=function(){function t(){this._canvas=void 0,this._eventTarget=new $u,ol.hasFeature(sl.INPUT_TOUCH)&&(this._canvas=document.getElementById("GameCanvas"),this._canvas||console.warn("failed to access canvas"),this._registerEvent())}var e=t.prototype;return e._registerEvent=function(){var t,e,i,n;null===(t=this._canvas)||void 0===t||t.addEventListener("touchstart",this._createCallback(xx.TOUCH_START)),null===(e=this._canvas)||void 0===e||e.addEventListener("touchmove",this._createCallback(xx.TOUCH_MOVE)),null===(i=this._canvas)||void 0===i||i.addEventListener("touchend",this._createCallback(xx.TOUCH_END)),null===(n=this._canvas)||void 0===n||n.addEventListener("touchcancel",this._createCallback(xx.TOUCH_CANCEL))},e._createCallback=function(t){var e=this;return function(i){for(var n,r=e._getCanvasRect(),s=[],a=i.changedTouches.length,o=0;o0){var _=new Mx(s,!1,t,we.ENABLE_MULTI_TOUCH?yw.getAllTouches():s);e._eventTarget.emit(t,_)}}},e._getCanvasRect=function(){var t=this._canvas,e=null==t?void 0:t.getBoundingClientRect();return e?new Wn(e.x,e.y,e.width,e.height):new Wn(0,0,0,0)},e._getLocation=function(t,e){if(globalThis.__globalXR&&globalThis.__globalXR.ar&&globalThis.__globalXR.ar.isWebXR())return new kn(t.clientX,t.clientY);var i=t.clientX-e.x,n=e.y+e.height-t.clientY;if(Rl.isFrameRotated){var r=i;i=e.height-n,n=r}var s=Rl.devicePixelRatio;return new kn(i*=s,n*=s)},e.on=function(t,e,i){this._eventTarget.on(t,e,i)},t}();!function(t){t[t.GLOBAL=0]="GLOBAL",t[t.UI=1]="UI"}(cw||(cw={}));var Sw=function(){function t(t){this.priority=cw.GLOBAL,this._inputEventTarget=void 0,this._inputEventTarget=t}return t.prototype.dispatchEvent=function(t){return this._inputEventTarget.emit(t.type,t),!0},t}(),Tw=((lw={})[xx.MOUSE_DOWN]=xx.TOUCH_START,lw[xx.MOUSE_MOVE]=xx.TOUCH_MOVE,lw[xx.MOUSE_UP]=xx.TOUCH_END,lw),Aw=t("eN",function(){function t(){this._dispatchImmediately=!0,this._eventTarget=new $u,this._touchInput=new vw,this._mouseInput=new mw,this._keyboardInput=new pw,this._accelerometerInput=new Vx,this._handleInput=new uw,this._hmdInput=new _w,this._handheldInput=new fw,this._eventTouchList=[],this._eventMouseList=[],this._eventKeyboardList=[],this._eventAccelerationList=[],this._eventGamepadList=[],this._eventHandleList=[],this._eventHMDList=[],this._eventHandheldList=[],this._needSimulateTouchMoveEvent=!1,this._inputEventDispatcher=void 0,this._eventDispatcherList=[],this._registerEvent(),this._inputEventDispatcher=new Sw(this._eventTarget),this._registerEventDispatcher(this._inputEventDispatcher),aw._init()}var e=t.prototype;return e._dispatchMouseDownEvent=function(t){var e,i;null===(e=(i=this._mouseInput).dispatchMouseDownEvent)||void 0===e||e.call(i,t)},e._dispatchMouseMoveEvent=function(t){var e,i;null===(e=(i=this._mouseInput).dispatchMouseMoveEvent)||void 0===e||e.call(i,t)},e._dispatchMouseUpEvent=function(t){var e,i;null===(e=(i=this._mouseInput).dispatchMouseUpEvent)||void 0===e||e.call(i,t)},e._dispatchMouseScrollEvent=function(t){var e,i;null===(e=(i=this._mouseInput).dispatchScrollEvent)||void 0===e||e.call(i,t)},e._dispatchKeyboardDownEvent=function(t){var e,i;null===(e=(i=this._keyboardInput).dispatchKeyboardDownEvent)||void 0===e||e.call(i,t)},e._dispatchKeyboardUpEvent=function(t){var e,i;null===(e=(i=this._keyboardInput).dispatchKeyboardUpEvent)||void 0===e||e.call(i,t)},e.on=function(t,e,i){return this._eventTarget.on(t,e,i),e},e.once=function(t,e,i){return this._eventTarget.once(t,e,i),e},e.off=function(t,e,i){this._eventTarget.off(t,e,i)},e.setAccelerometerEnabled=function(t){t?this._accelerometerInput.start():this._accelerometerInput.stop()},e.setAccelerometerInterval=function(t){this._accelerometerInput.setInterval(t)},e._simulateEventTouch=function(t){var e=Tw[t.type],i=yw.getTouch(0,t.getLocationX(),t.getLocationY());if(i){var n=[i],r=new Mx(n,!1,e,e===xx.TOUCH_END?[]:n);r.windowId=t.windowId,e===xx.TOUCH_END&&yw.releaseTouch(0),this._dispatchOrPushEventTouch(r,this._eventTouchList)}},e._registerEventDispatcher=function(t){this._eventDispatcherList.push(t),this._eventDispatcherList.sort((function(t,e){return e.priority-t.priority}))},e._emitEvent=function(t){for(var e=this._eventDispatcherList.length,i=0;i=1&&this.width<=2048&&this.height>=1&&this.height<=2048},i.readPixels=function(t,e,i,n,r){void 0===t&&(t=0),void 0===e&&(e=0),i=i||this.width,n=n||this.height;var s=this.getGFXTexture();if(!s)return Q(7606),null;var a=4*i*n;if(void 0===r)r=new Uint8Array(a);else if(r.length15e3&&(e=15e3);var i=e*e,n=(.860117757+.000154118254*e+1.28641212e-7*i)/(1+.000842420235*e+7.08145163e-7*i),r=(.317398726+422806245e-13*e+4.20481691e-8*i)/(1-289741816e-13*e+1.61456053e-7*i),s=2*n-8*r+4,a=3*n/s,o=2*r/s,h=1/o*a,u=1/o*(1-a-o);t.x=3.2404542*h-1.5371385+-.4985314*u,t.y=-.969266*h+1.8760108+.041556*u,t.z=.0556434*h-.2040259+1.0572252*u}!function(t){t[t.DIRECTIONAL=0]="DIRECTIONAL",t[t.SPHERE=1]="SPHERE",t[t.SPOT=2]="SPOT",t[t.POINT=3]="POINT",t[t.RANGED_DIRECTIONAL=4]="RANGED_DIRECTIONAL",t[t.UNKNOWN=5]="UNKNOWN"}(sR||(sR={}));var uR,lR,cR,_R,fR,dR,pR,mR,gR,yR,vR,SR,TR=function(t){return 4*Math.PI*Math.PI*t*t},AR=function(){function t(){this._baked=!1,this._color=new un(1,1,1),this._colorTemp=6550,this._colorTempRGB=new un(1,1,1),this._finalColor=new un(1,1,1),this._scene=null,this._node=null,this._name=null,this._useColorTemperature=!1,this._type=sR.UNKNOWN,this._visibility=$y}var e=t.prototype;return e.initialize=function(){this.color=new un(1,1,1),this.colorTemperature=6550},e.attachToScene=function(t){this._scene=t},e.detachFromScene=function(){this._scene=null},e.destroy=function(){this._name=null,this._node=null},e.update=function(){},n(t,[{key:"baked",get:function(){return this._baked},set:function(t){this._baked=t}},{key:"color",get:function(){return this._color},set:function(t){this._color.set(t),this._useColorTemperature&&un.multiply(this._finalColor,this._color,this._colorTempRGB)}},{key:"useColorTemperature",get:function(){return this._useColorTemperature},set:function(t){this._useColorTemperature=t,t&&un.multiply(this._finalColor,this._color,this._colorTempRGB)}},{key:"colorTemperature",get:function(){return this._colorTemp},set:function(t){this._colorTemp=t,hR(this._colorTempRGB,this._colorTemp),this._useColorTemperature&&un.multiply(this._finalColor,this._color,this._colorTempRGB)}},{key:"colorTemperatureRGB",get:function(){return this._colorTempRGB}},{key:"finalColor",get:function(){return this._finalColor}},{key:"visibility",get:function(){return this._visibility},set:function(t){this._visibility=t}},{key:"node",get:function(){return this._node},set:function(t){this._node=t,this._node&&(this._node.hasChangedFlags|=hm.ROTATION)}},{key:"type",get:function(){return this._type}},{key:"name",get:function(){return this._name},set:function(t){this._name=t}},{key:"scene",get:function(){return this._scene}}]),t}();!function(t){t[t.PER_INSTANCE=0]="PER_INSTANCE",t[t.PER_BATCH=1]="PER_BATCH",t[t.PER_PHASE=2]="PER_PHASE",t[t.PER_PASS=3]="PER_PASS",t[t.COUNT=4]="COUNT"}(uR||(uR={})),function(t){t[t.CONSTANTS=0]="CONSTANTS",t[t.CBV=1]="CBV",t[t.UAV=2]="UAV",t[t.SRV=3]="SRV",t[t.TABLE=4]="TABLE",t[t.SSV=5]="SSV"}(lR||(lR={})),function(t){t[t.MANAGED=0]="MANAGED",t[t.MEMORYLESS=1]="MEMORYLESS",t[t.PERSISTENT=2]="PERSISTENT",t[t.EXTERNAL=3]="EXTERNAL",t[t.BACKBUFFER=4]="BACKBUFFER"}(cR||(cR={})),function(t){t[t.NONE=0]="NONE",t[t.OPAQUE=1]="OPAQUE",t[t.MASK=2]="MASK",t[t.BLEND=3]="BLEND",t[t.RENDER_OPAQUE=1]="RENDER_OPAQUE",t[t.RENDER_CUTOUT=2]="RENDER_CUTOUT",t[t.RENDER_TRANSPARENT=3]="RENDER_TRANSPARENT"}(_R||(_R={})),function(t){t[t.BUFFER=0]="BUFFER",t[t.TEXTURE1D=1]="TEXTURE1D",t[t.TEXTURE2D=2]="TEXTURE2D",t[t.TEXTURE3D=3]="TEXTURE3D"}(fR||(fR={})),function(t){t[t.NONE=0]="NONE",t[t.UNIFORM=1]="UNIFORM",t[t.INDIRECT=2]="INDIRECT",t[t.STORAGE=4]="STORAGE",t[t.SAMPLED=8]="SAMPLED",t[t.COLOR_ATTACHMENT=16]="COLOR_ATTACHMENT",t[t.DEPTH_STENCIL_ATTACHMENT=32]="DEPTH_STENCIL_ATTACHMENT",t[t.INPUT_ATTACHMENT=64]="INPUT_ATTACHMENT",t[t.SHADING_RATE=128]="SHADING_RATE",t[t.TRANSFER_SRC=256]="TRANSFER_SRC",t[t.TRANSFER_DST=512]="TRANSFER_DST"}(dR||(dR={})),function(t){t[t.SYNC=0]="SYNC",t[t.ASYNC=1]="ASYNC"}(pR||(pR={})),function(t){t[t.NONE=0]="NONE",t[t.OPAQUE=1]="OPAQUE",t[t.MASK=2]="MASK",t[t.BLEND=4]="BLEND",t[t.OPAQUE_OBJECT=1]="OPAQUE_OBJECT",t[t.CUTOUT_OBJECT=2]="CUTOUT_OBJECT",t[t.TRANSPARENT_OBJECT=4]="TRANSPARENT_OBJECT",t[t.SHADOW_CASTER=8]="SHADOW_CASTER",t[t.UI=16]="UI",t[t.DEFAULT_LIGHTING=32]="DEFAULT_LIGHTING",t[t.VOLUMETRIC_LIGHTING=64]="VOLUMETRIC_LIGHTING",t[t.CLUSTERED_LIGHTING=128]="CLUSTERED_LIGHTING",t[t.PLANAR_SHADOW=256]="PLANAR_SHADOW",t[t.GEOMETRY=512]="GEOMETRY",t[t.PROFILER=1024]="PROFILER",t[t.DRAW_INSTANCING=2048]="DRAW_INSTANCING",t[t.DRAW_NON_INSTANCING=4096]="DRAW_NON_INSTANCING",t[t.REFLECTION_PROBE=8192]="REFLECTION_PROBE",t[t.GPU_DRIVEN=16384]="GPU_DRIVEN",t[t.ALL=4294967295]="ALL"}(mR||(mR={})),function(t){t[t.NONE=0]="NONE",t[t.DEFAULT=1]="DEFAULT",t[t.CLUSTERED=2]="CLUSTERED"}(gR||(gR={})),function(t){t[t.RENDER_TARGET=0]="RENDER_TARGET",t[t.DEPTH_STENCIL=1]="DEPTH_STENCIL",t[t.SHADING_RATE=2]="SHADING_RATE"}(yR||(yR={})),function(t){t[t.READ=0]="READ",t[t.READ_WRITE=1]="READ_WRITE",t[t.WRITE=2]="WRITE"}(vR||(vR={})),function(t){t[t.NONE=0]="NONE",t[t.FLOAT_TYPE=1]="FLOAT_TYPE",t[t.INT_TYPE=2]="INT_TYPE"}(SR||(SR={}));var bR,ER,CR=function(t,e,i){void 0===t&&(t=null),void 0===e&&(e=0),void 0===i&&(i=!1),this.light=void 0,this.level=void 0,this.culledByLight=void 0,this.light=t,this.level=e,this.culledByLight=i};!function(t){t[t.UNIFORM_BUFFER=0]="UNIFORM_BUFFER",t[t.DYNAMIC_UNIFORM_BUFFER=1]="DYNAMIC_UNIFORM_BUFFER",t[t.SAMPLER_TEXTURE=2]="SAMPLER_TEXTURE",t[t.SAMPLER=3]="SAMPLER",t[t.TEXTURE=4]="TEXTURE",t[t.STORAGE_BUFFER=5]="STORAGE_BUFFER",t[t.DYNAMIC_STORAGE_BUFFER=6]="DYNAMIC_STORAGE_BUFFER",t[t.STORAGE_IMAGE=7]="STORAGE_IMAGE",t[t.INPUT_ATTACHMENT=8]="INPUT_ATTACHMENT"}(bR||(bR={})),function(t){t[t.NONE=0]="NONE",t[t.COLOR=1]="COLOR",t[t.DEPTH=2]="DEPTH",t[t.STENCIL=4]="STENCIL"}(ER||(ER={}));var xR,wR=function(t,e,i,n,r,s,a){void 0===t&&(t=new Uint8Array(0)),void 0===e&&(e=""),void 0===i&&(i=4294967295),void 0===n&&(n=4294967295),void 0===r&&(r=0),void 0===s&&(s=0),void 0===a&&(a=0),this.source=void 0,this.target=void 0,this.mipLevels=void 0,this.numSlices=void 0,this.targetMostDetailedMip=void 0,this.targetFirstSlice=void 0,this.targetPlaneSlice=void 0,this.source=t,this.target=e,this.mipLevels=i,this.numSlices=n,this.targetMostDetailedMip=r,this.targetFirstSlice=s,this.targetPlaneSlice=a};at(Nd.prototype,"TextureBase.prototype",[{name:"hasPremultipliedAlpha"},{name:"setPremultiplyAlpha"},{name:"setFlipY"}]),st(rR.prototype,"RenderTexture.prototype",[{name:"getGFXWindow",customFunction:function(){return this.window}}]);var RR=((xR={})[ql.UNORM]="Uint",xR[ql.SNORM]="Int",xR[ql.UINT]="Uint",xR[ql.INT]="Int",xR[ql.UFLOAT]="Float",xR[ql.FLOAT]="Float",xR.default="Uint",xR);function IR(t){return""+(RR[t.type]||RR.default)+t.size/t.count*8}function DR(t,e,i,n,r){void 0===i&&(i=Yl.R32F),void 0===n&&(n=0),void 0===r&&(r=0);var s=k_[i];r||(r=s.size);for(var a="set"+IR(s),o=s.size/s.count,h=Math.floor(e.length/s.count),u=Bl.isLittleEndian,l=0;ly.x?e[T]:y.x,y.y=e[T+1]>y.y?e[T+1]:y.y,v.x=e[T]y.x?e[T]:y.x,y.y=e[T+1]>y.y?e[T+1]:y.y,y.z=e[T+2]>y.z?e[T+2]:y.z,v.x=e[T]0?.5*(1-Math.floor(r/2))*h:.5*Math.floor(r/2)*h,s.width=.5*o,s.height=.5*h}break;case sR.SPOT:s.x=0,s.y=0,s.width=o,s.height=h}return s}var HR=function(){function t(t){void 0===t&&(t=OR.NONE),this.antiAliasing=OR.NONE,this.antiAliasing=t,this._init()}return t.prototype._init=function(){this.postMaterial=new MT,this.postMaterial.name="builtin-post-process-material",this.postMaterial.initialize({effectName:"pipeline/post-process",defines:{ANTIALIAS_TYPE:this.antiAliasing}});for(var t=0;t0?Math.abs(this._kernel[r].w-this._kernel[r-1].w):0)+(r<24?Math.abs(this._kernel[r].w-this._kernel[r+1].w):0))/2;QR.set(0),this._profile(QR,this._kernel[r].w),QR.multiplyScalar(s),this._kernel[r].x=QR.x,this._kernel[r].y=QR.y,this._kernel[r].z=QR.z}tI.set(this._kernel[12]);for(var a=12;a>0;a--)eI.set(this._kernel[a-1]),this._kernel[a].set(eI);this._kernel[0].set(tI),QR.set(0);for(var o=0;o<25;o++)QR.add3f(this._kernel[o].x,this._kernel[o].y,this._kernel[o].z);for(var h=0;h<25;h++)this._kernel[h].x/=QR.x,this._kernel[h].y/=QR.y,this._kernel[h].z/=QR.z;this._kernel[0].x=1*(1-t.x)+t.x*this._kernel[0].x,this._kernel[0].y=1*(1-t.y)+t.y*this._kernel[0].y,this._kernel[0].z=1*(1-t.z)+t.z*this._kernel[0].z;for(var u=1;u<25;u++)this._kernel[u].x*=t.x,this._kernel[u].y*=t.y,this._kernel[u].z*=t.z},t._updateBlurPass=function(){if(this.ssssBlurMaterial){var t=this.ssssBlurMaterial.passes[0];t.beginChangeStatesSilently(),t.tryCompile(),t.endChangeStatesSilently();var e=this.ssssBlurMaterial.passes[1];e.beginChangeStatesSilently(),e.tryCompile(),e.endChangeStatesSilently();var i=this.ssssBlurMaterial.passes[2];i.beginChangeStatesSilently(),i.tryCompile(),i.endChangeStatesSilently()}},t._init=function(){if(!this.ssssBlurMaterial){this.ssssBlurMaterial=new MT,this.ssssBlurMaterial._uuid="builtin-ssssBlur-material",this.ssssBlurMaterial.initialize({effectName:"pipeline/ssss-blur"});for(var t=0;t>3)]+=(o.isCompositeModeEnabled(u)?1:0)*Math.pow(10,l)}r[Og.DEBUG_VIEW_MODE_OFFSET+3]+=(o.lightingWithAlbedo?1:0)*Math.pow(10,6),r[Og.DEBUG_VIEW_MODE_OFFSET+3]+=(o.csmLayerColoration?1:0)*Math.pow(10,7)}},t.updateCameraUBOView=function(t,e,i){var n,r=(i.scene?i.scene:v.director.getScene().renderScene).mainLight,s=t.pipelineSceneData,a=s.ambient,o=s.skybox,h=s.fog,u=s.shadows,l=e,c=i.exposure,_=s.isHDR;if(l[Lg.SCREEN_SCALE_OFFSET]=s.shadingScale,l[Lg.SCREEN_SCALE_OFFSET+1]=s.shadingScale,l[Lg.SCREEN_SCALE_OFFSET+2]=1/l[Lg.SCREEN_SCALE_OFFSET],l[Lg.SCREEN_SCALE_OFFSET+3]=1/l[Lg.SCREEN_SCALE_OFFSET+1],l[Lg.EXPOSURE_OFFSET]=c,l[Lg.EXPOSURE_OFFSET+1]=1/c,l[Lg.EXPOSURE_OFFSET+2]=_?1:0,l[Lg.EXPOSURE_OFFSET+3]=1/Hw.standardExposureValue,r){var f=r.shadowEnabled&&u.type===OT.ShadowMap?1:0,d=r.direction;if(gI.set(d.x,d.y,d.z,f),rn.toArray(l,gI,Lg.MAIN_LIT_DIR_OFFSET),un.toArray(l,r.color,Lg.MAIN_LIT_COLOR_OFFSET),r.useColorTemperature){var p=r.colorTemperatureRGB;l[Lg.MAIN_LIT_COLOR_OFFSET]*=p.x,l[Lg.MAIN_LIT_COLOR_OFFSET+1]*=p.y,l[Lg.MAIN_LIT_COLOR_OFFSET+2]*=p.z}l[Lg.MAIN_LIT_COLOR_OFFSET+3]=_?r.illuminance*c:r.illuminance}else gI.set(0,0,1,0),rn.toArray(l,gI,Lg.MAIN_LIT_DIR_OFFSET),rn.toArray(l,rn.ZERO,Lg.MAIN_LIT_COLOR_OFFSET);var m=a.skyColor;m.w=_?a.skyIllum*c:a.skyIllum,l[Lg.AMBIENT_SKY_OFFSET+0]=m.x,l[Lg.AMBIENT_SKY_OFFSET+1]=m.y,l[Lg.AMBIENT_SKY_OFFSET+2]=m.z,l[Lg.AMBIENT_SKY_OFFSET+3]=m.w,l[Lg.AMBIENT_GROUND_OFFSET+0]=a.groundAlbedo.x,l[Lg.AMBIENT_GROUND_OFFSET+1]=a.groundAlbedo.y,l[Lg.AMBIENT_GROUND_OFFSET+2]=a.groundAlbedo.z,l[Lg.AMBIENT_GROUND_OFFSET+3]=o.envmap?null===(n=o.envmap)||void 0===n?void 0:n.mipmapLevel:1,Mn.toArray(l,i.matView,Lg.MAT_VIEW_OFFSET),Mn.toArray(l,i.node.worldMatrix,Lg.MAT_VIEW_INV_OFFSET),un.toArray(l,i.position,Lg.CAMERA_POS_OFFSET),Mn.toArray(l,i.matProj,Lg.MAT_PROJ_OFFSET),Mn.toArray(l,i.matProjInv,Lg.MAT_PROJ_INV_OFFSET),Mn.toArray(l,i.matViewProj,Lg.MAT_VIEW_PROJ_OFFSET),Mn.toArray(l,i.matViewProjInv,Lg.MAT_VIEW_PROJ_INV_OFFSET),l[Lg.CAMERA_POS_OFFSET+3]=this.getCombineSignY(),l[Lg.SURFACE_TRANSFORM_OFFSET]=i.surfaceTransform,l[Lg.SURFACE_TRANSFORM_OFFSET+1]=i.cameraUsage,l[Lg.SURFACE_TRANSFORM_OFFSET+2]=Math.cos(Pi(s.skybox.getRotationAngle())),l[Lg.SURFACE_TRANSFORM_OFFSET+3]=Math.sin(Pi(s.skybox.getRotationAngle()));var g=h.colorArray;l[Lg.GLOBAL_FOG_COLOR_OFFSET]=g.x,l[Lg.GLOBAL_FOG_COLOR_OFFSET+1]=g.y,l[Lg.GLOBAL_FOG_COLOR_OFFSET+2]=g.z,l[Lg.GLOBAL_FOG_COLOR_OFFSET+3]=g.z,l[Lg.GLOBAL_FOG_BASE_OFFSET]=h.fogStart,l[Lg.GLOBAL_FOG_BASE_OFFSET+1]=h.fogEnd,l[Lg.GLOBAL_FOG_BASE_OFFSET+2]=h.fogDensity,l[Lg.GLOBAL_FOG_ADD_OFFSET]=h.fogTop,l[Lg.GLOBAL_FOG_ADD_OFFSET+1]=h.fogRange,l[Lg.GLOBAL_FOG_ADD_OFFSET+2]=h.fogAtten,l[Lg.NEAR_FAR_OFFSET]=i.nearClip,l[Lg.NEAR_FAR_OFFSET+1]=i.farClip,l[Lg.NEAR_FAR_OFFSET+2]=i.getClipSpaceMinz(),l[Lg.VIEW_PORT_OFFSET]=s.shadingScale*i.window.width*i.viewport.x,l[Lg.VIEW_PORT_OFFSET+1]=s.shadingScale*i.window.height*i.viewport.y,l[Lg.VIEW_PORT_OFFSET+2]=s.shadingScale*i.window.width*i.viewport.z,l[Lg.VIEW_PORT_OFFSET+3]=s.shadingScale*i.window.height*i.viewport.w},t.getPCFRadius=function(t,e){var i=t.size.x;switch(e.shadowPcf){case LT.HARD:return 0;case LT.SOFT:return 1/(.5*i);case LT.SOFT_2X:return 2/(.5*i);case LT.SOFT_4X:return 3/(.5*i)}return 0},t.updatePlanarNormalAndDistance=function(t,e){un.normalize(yI,t.normal),e[Fg.PLANAR_NORMAL_DISTANCE_INFO_OFFSET+0]=yI.x,e[Fg.PLANAR_NORMAL_DISTANCE_INFO_OFFSET+1]=yI.y,e[Fg.PLANAR_NORMAL_DISTANCE_INFO_OFFSET+2]=yI.z,e[Fg.PLANAR_NORMAL_DISTANCE_INFO_OFFSET+3]=-t.distance},t.updateShadowUBOView=function(e,i,n,r){var s=e.device,a=r.scene.mainLight,o=e.pipelineSceneData,h=o.shadows,u=o.csmLayers,l=i,c=n,_=o.csmSupported,f=iv(s)?0:1;if(a&&h.enabled){if(h.type===OT.ShadowMap){if(a.shadowEnabled){if(a.shadowFixedArea||a.csmLevel===FT.LEVEL_1||!_){var d=u.specialLayer.matShadowView,p=u.specialLayer.matShadowProj,m=u.specialLayer.matShadowViewProj,g=.1,y=0,v=0;a.shadowFixedArea?(g=a.shadowNear,y=a.shadowFar,v=0):(y=u.specialLayer.shadowCameraFar,v=1),Mn.toArray(l,d,Fg.MAT_LIGHT_VIEW_OFFSET),l[Fg.SHADOW_PROJ_DEPTH_INFO_OFFSET+0]=p.m10,l[Fg.SHADOW_PROJ_DEPTH_INFO_OFFSET+1]=p.m14,l[Fg.SHADOW_PROJ_DEPTH_INFO_OFFSET+2]=p.m11,l[Fg.SHADOW_PROJ_DEPTH_INFO_OFFSET+3]=p.m15,l[Fg.SHADOW_PROJ_INFO_OFFSET+0]=p.m00,l[Fg.SHADOW_PROJ_INFO_OFFSET+1]=p.m05,l[Fg.SHADOW_PROJ_INFO_OFFSET+2]=1/p.m00,l[Fg.SHADOW_PROJ_INFO_OFFSET+3]=1/p.m05,Mn.toArray(l,m,Fg.MAT_LIGHT_VIEW_PROJ_OFFSET),mI.set(g,y,0,1-a.shadowSaturation),rn.toArray(l,mI,Fg.SHADOW_NEAR_FAR_LINEAR_SATURATION_INFO_OFFSET),mI.set(sR.DIRECTIONAL,f,a.shadowNormalBias,v),rn.toArray(l,mI,Fg.SHADOW_LIGHT_PACKING_NBIAS_NULL_INFO_OFFSET)}else{for(var S=this.getPCFRadius(h,a),T=0;T=0;--e){var i=t[e];if(i.window.swapchain)return void(RT=i)}RT=null}(t);for(var e=0;e0){var o=a;a=s,s=o}var h=0;switch(t){case Xl.IDENTITY:h=0,i[h++]=-1,i[h++]=-1,i[h++]=n,i[h++]=a,i[h++]=1,i[h++]=-1,i[h++]=r,i[h++]=a,i[h++]=-1,i[h++]=1,i[h++]=n,i[h++]=s,i[h++]=1,i[h++]=1,i[h++]=r,i[h++]=s;break;case Xl.ROTATE_90:h=0,i[h++]=-1,i[h++]=-1,i[h++]=r,i[h++]=a,i[h++]=1,i[h++]=-1,i[h++]=r,i[h++]=s,i[h++]=-1,i[h++]=1,i[h++]=n,i[h++]=a,i[h++]=1,i[h++]=1,i[h++]=n,i[h++]=s;break;case Xl.ROTATE_180:h=0,i[h++]=-1,i[h++]=-1,i[h++]=n,i[h++]=s,i[h++]=1,i[h++]=-1,i[h++]=r,i[h++]=s,i[h++]=-1,i[h++]=1,i[h++]=n,i[h++]=a,i[h++]=1,i[h++]=1,i[h++]=r,i[h++]=a;break;case Xl.ROTATE_270:h=0,i[h++]=-1,i[h++]=-1,i[h++]=n,i[h++]=s,i[h++]=1,i[h++]=-1,i[h++]=n,i[h++]=a,i[h++]=-1,i[h++]=1,i[h++]=r,i[h++]=s,i[h++]=1,i[h++]=1,i[h++]=r,i[h++]=a}return i},i._createQuadInputAssembler=function(){var t=new gB,e=4*Float32Array.BYTES_PER_ELEMENT,i=4*e,n=this._device.createBuffer(new Jc(Jl.VERTEX|Jl.TRANSFER_DST,$l.DEVICE|$l.HOST,i,e));if(!n)return t;var r=Uint8Array.BYTES_PER_ELEMENT,s=6*r,a=this._device.createBuffer(new Jc(Jl.INDEX|Jl.TRANSFER_DST,$l.DEVICE,s,r));if(!a)return t;var o=new Uint8Array(6);o[0]=0,o[1]=1,o[2]=2,o[3]=1,o[4]=3,o[5]=2,a.update(o);var h=new Array(2);h[0]=new f_("a_position",Yl.RG32F),h[1]=new f_("a_texCoord",Yl.RG32F);var u=this._device.createInputAssembler(new p_(h,[n],a));return t.quadIB=a,t.quadVB=n,t.quadIA=u,t},i.updateQuadVertexData=function(t,e){var i=this._lastUsedRenderArea;if(i.x!==t.x||i.y!==t.y||i.width!==t.width||i.height!==t.height){var n=this._genQuadVertexData(Xl.IDENTITY,t);this._quadVBOffscreen.update(n);var r=this._genQuadVertexData(e.swapchain&&e.swapchain.surfaceTransform||Xl.IDENTITY,t);this._quadVBOnscreen.update(r),i.copy(t)}},i.destroy=function(){for(var e,i,n=0;n>1,r>>1)),t.prefilterFramebuffer=e.createFramebuffer(new E_(t.renderPass,[t.prefiterTex])),n>>=1,r>>=1;for(var s=0;s<6;++s)t.downsampleTexs.push(e.createTexture(new e_(tc.TEX2D,ec.COLOR_ATTACHMENT|ec.SAMPLED,Yl.RGBA8,n>>1,r>>1))),t.downsampleFramebuffers[s]=e.createFramebuffer(new E_(t.renderPass,[t.downsampleTexs[s]])),t.upsampleTexs.push(e.createTexture(new e_(tc.TEX2D,ec.COLOR_ATTACHMENT|ec.SAMPLED,Yl.RGBA8,n,r))),t.upsampleFramebuffers[s]=e.createFramebuffer(new E_(t.renderPass,[t.upsampleTexs[s]])),n>>=1,r>>=1;t.combineTex=e.createTexture(new e_(tc.TEX2D,ec.COLOR_ATTACHMENT|ec.SAMPLED,Yl.RGBA8,this._width,this._height)),t.combineFramebuffer=e.createFramebuffer(new E_(t.renderPass,[t.combineTex])),t.sampler=this.globalDSManager.linearSampler}},i.on=function(t,e,i,n){return this._eventProcessor.on(t,e,i,n)},i.once=function(t,e,i){return this._eventProcessor.once(t,e,i)},i.off=function(t,e,i){this._eventProcessor.off(t,e,i)},i.emit=function(t,e,i,n,r,s){this._eventProcessor.emit(t,e,i,n,r,s)},i.targetOff=function(t){this._eventProcessor.targetOff(t)},i.removeAll=function(t){this._eventProcessor.removeAll(t)},i.hasEventListener=function(t,e,i){return this._eventProcessor.hasEventListener(t,e,i)},n(e,[{key:"tag",get:function(){return this._tag}},{key:"flows",get:function(){return this._flows}},{key:"quadIAOnscreen",get:function(){return this._quadIAOnscreen}},{key:"quadIAOffscreen",get:function(){return this._quadIAOffscreen}},{key:"constantMacros",get:function(){return this._constantMacros}},{key:"macros",get:function(){return this._macros}},{key:"device",get:function(){return this._device}},{key:"globalDSManager",get:function(){return this._globalDSManager}},{key:"descriptorSetLayout",get:function(){return this._globalDSManager.descriptorSetLayout}},{key:"descriptorSet",get:function(){return this._descriptorSet}},{key:"commandBuffers",get:function(){return this._commandBuffers}},{key:"pipelineUBO",get:function(){return this._pipelineUBO}},{key:"pipelineSceneData",get:function(){return this._pipelineSceneData}},{key:"profiler",get:function(){return this._profiler},set:function(t){this._profiler=t}},{key:"geometryRenderer",get:function(){return this._geometryRenderer}},{key:"clusterEnabled",get:function(){return this._clusterEnabled},set:function(t){this._clusterEnabled=t}},{key:"bloomEnabled",get:function(){return this._bloomEnabled},set:function(t){this._bloomEnabled=t}},{key:"shadingScale",get:function(){return this._pipelineSceneData.shadingScale},set:function(t){this._pipelineSceneData.shadingScale!==t&&(this._pipelineSceneData.shadingScale=t,this.emit(II.ATTACHMENT_SCALE_CAHNGED,t))}}]),e}(ld),LI=Us(OI.prototype,"_tag",[sa],(function(){return 0})),FI=Us(OI.prototype,"_flows",[MI,sa],(function(){return[]})),PI=OI))||PI));v.RenderPipeline=yB,function(t){t[t.BLOOM=18]="BLOOM",t[t.POST_PROCESS=19]="POST_PROCESS",t[t.UI=20]="UI"}(NI||(NI={})),function(t){t[t.AR=5]="AR",t[t.FORWARD=10]="FORWARD"}(kI||(kI={})),function(t){t[t.SHADOW=0]="SHADOW",t[t.FORWARD=1]="FORWARD",t[t.UI=10]="UI"}(GI||(GI={})),function(t){t[t.GBUFFER=10]="GBUFFER",t[t.LIGHTING=15]="LIGHTING",t[t.TRANSPARENT=18]="TRANSPARENT"}(VI||(VI={})),function(t){t[t.SHADOW=0]="SHADOW",t[t.MAIN=1]="MAIN",t[t.UI=10]="UI"}(UI||(UI={})),Ae(tc),Ae(ec),Ae(pc),Ae(dc),Ae(mc),Ae(Yl),function(t){t[t.SCENE=0]="SCENE",t[t.POSTPROCESS=1]="POSTPROCESS",t[t.UI=2]="UI"}(_B||(_B={})),Ae(_B),zI=Js("RenderTextureDesc"),HI=Ia(tc),WI=Ia(ec),XI=Ia(Yl),zI((jI=function(){this.name=YI&&YI(),this.type=qI&&qI(),this.usage=KI&&KI(),this.format=JI&&JI(),this.width=ZI&&ZI(),this.height=QI&&QI()},YI=Us(jI.prototype,"name",[sa],(function(){return""})),qI=Us(jI.prototype,"type",[HI],(function(){return tc.TEX2D})),KI=Us(jI.prototype,"usage",[WI],(function(){return ec.COLOR_ATTACHMENT})),JI=Us(jI.prototype,"format",[XI],(function(){return Yl.UNKNOWN})),ZI=Us(jI.prototype,"width",[sa],(function(){return-1})),QI=Us(jI.prototype,"height",[sa],(function(){return-1})),jI));var vB=($I=Js("RenderTextureConfig"),tD=Ia(rR),$I((iD=function(){this.name=nD&&nD(),this.texture=rD&&rD()},nD=Us(iD.prototype,"name",[sa],(function(){return""})),rD=Us(iD.prototype,"texture",[tD],(function(){return null})),eD=iD))||eD);sD=Js("MaterialConfig"),aD=Ia(MT),sD((oD=function(){this.name=hD&&hD(),this.material=uD&&uD()},hD=Us(oD.prototype,"name",[sa],(function(){return""})),uD=Us(oD.prototype,"material",[aD],(function(){return null})),oD)),lD=Js("FrameBufferDesc"),cD=Ia([Qe]),_D=Ia(rR),lD((fD=function(){this.name=dD&&dD(),this.renderPass=pD&&pD(),this.colorTextures=mD&&mD(),this.depthStencilTexture=gD&&gD(),this.texture=yD&&yD()},dD=Us(fD.prototype,"name",[sa],(function(){return""})),pD=Us(fD.prototype,"renderPass",[sa],(function(){return 0})),mD=Us(fD.prototype,"colorTextures",[cD],(function(){return[]})),gD=Us(fD.prototype,"depthStencilTexture",[sa],(function(){return""})),yD=Us(fD.prototype,"texture",[_D],(function(){return null})),fD));var SB,TB=(vD=Js("ColorDesc"),SD=Ia(Yl),TD=Ia(dc),AD=Ia(pc),bD=Ia(mc),ED=Ia(mc),vD((xD=function(){this.format=wD&&wD(),this.loadOp=RD&&RD(),this.storeOp=ID&&ID(),this.sampleCount=DD&&DD(),this.beginAccesses=BD&&BD(),this.endAccesses=MD&&MD()},wD=Us(xD.prototype,"format",[SD],(function(){return Yl.UNKNOWN})),RD=Us(xD.prototype,"loadOp",[TD],(function(){return dc.CLEAR})),ID=Us(xD.prototype,"storeOp",[AD],(function(){return pc.STORE})),DD=Us(xD.prototype,"sampleCount",[sa],(function(){return 1})),BD=Us(xD.prototype,"beginAccesses",[bD],(function(){return mc.NONE})),MD=Us(xD.prototype,"endAccesses",[ED],(function(){return mc.COLOR_ATTACHMENT_WRITE})),CD=xD))||CD),AB=(PD=Js("DepthStencilDesc"),OD=Ia(Yl),LD=Ia(dc),FD=Ia(pc),ND=Ia(dc),kD=Ia(pc),GD=Ia(mc),VD=Ia(mc),PD((zD=function(){this.format=HD&&HD(),this.depthLoadOp=WD&&WD(),this.depthStoreOp=XD&&XD(),this.stencilLoadOp=jD&&jD(),this.stencilStoreOp=YD&&YD(),this.sampleCount=qD&&qD(),this.beginAccesses=KD&&KD(),this.endAccesses=JD&&JD()},HD=Us(zD.prototype,"format",[OD],(function(){return Yl.UNKNOWN})),WD=Us(zD.prototype,"depthLoadOp",[LD],(function(){return dc.CLEAR})),XD=Us(zD.prototype,"depthStoreOp",[FD],(function(){return pc.STORE})),jD=Us(zD.prototype,"stencilLoadOp",[ND],(function(){return dc.CLEAR})),YD=Us(zD.prototype,"stencilStoreOp",[kD],(function(){return pc.STORE})),qD=Us(zD.prototype,"sampleCount",[sa],(function(){return 1})),KD=Us(zD.prototype,"beginAccesses",[GD],(function(){return mc.NONE})),JD=Us(zD.prototype,"endAccesses",[VD],(function(){return mc.DEPTH_STENCIL_ATTACHMENT_WRITE})),UD=zD))||UD);ZD=Js("RenderPassDesc"),QD=Ia([TB]),$D=Ia(AB),ZD((tB=function(){this.index=eB&&eB(),this.colorAttachments=iB&&iB(),this.depthStencilAttachment=nB&&nB()},eB=Us(tB.prototype,"index",[sa],(function(){return-1})),iB=Us(tB.prototype,"colorAttachments",[QD],(function(){return[]})),nB=Us(tB.prototype,"depthStencilAttachment",[$D],(function(){return new AB})),tB)),function(t){t[t.FRONT_TO_BACK=0]="FRONT_TO_BACK",t[t.BACK_TO_FRONT=1]="BACK_TO_FRONT"}(SB||(SB={})),Ae(SB);var bB=(rB=Js("RenderQueueDesc"),sB=Ia(SB),aB=Ia([Qe]),rB((hB=function(){this.isTransparent=uB&&uB(),this.sortMode=lB&&lB(),this.stages=cB&&cB()},uB=Us(hB.prototype,"isTransparent",[sa],(function(){return!1})),lB=Us(hB.prototype,"sortMode",[sB],(function(){return SB.FRONT_TO_BACK})),cB=Us(hB.prototype,"stages",[aB],(function(){return[]})),oB=hB))||oB);function EB(t,e){return t.hash-e.hash||t.depth-e.depth||t.shaderId-e.shaderId}function CB(t,e){return t.priority-e.priority||t.hash-e.hash||e.depth-t.depth||t.shaderId-e.shaderId}var xB=function(){function t(t){this.queue=void 0,this._passDesc=void 0,this._passPool=void 0,this._passDesc=t,this._passPool=new Lu((function(){return{priority:0,hash:0,depth:0,shaderId:0,subModel:null,passIdx:0}}),64),this.queue=new Fu(64,this._passDesc.sortFunc)}var e=t.prototype;return e.clear=function(){this.queue.clear(),this._passPool.reset()},e.insertRenderPass=function(t,e,i){var n=t.model.subModels[e],r=n.passes[i],s=n.shaders[i];if(r.blendState.targets[0].blend!==this._passDesc.isTransparent||!(r.phase&this._passDesc.phases))return!1;var a=0|r.priority<<16|n.priority<<8|i,o=this._passPool.add();return o.priority=t.model.priority,o.hash=a,o.depth=t.depth||0,o.shaderId=s.typedID,o.subModel=n,o.passIdx=i,this.queue.push(o),!0},e.sort=function(){this.queue.sort()},e.recordCommandBuffer=function(t,e,i){for(var n=0;n0){this._renderQueues.forEach(IB);for(var A=0;A0&&(this._stageDesc||(this._stageDesc=i.createDescriptorSet(new w_(u.localSetLayout)),this._localUBO=i.createBuffer(new Jc(Jl.UNIFORM|Jl.TRANSFER_DST,$l.DEVICE,Jg.SIZE,Jg.SIZE)),this._stageDesc.bindBuffer(Jg.BINDING,this._localUBO)),this._stageDesc.update(),r.bindPipelineState(_),r.bindDescriptorSet(Ig.MATERIAL,u.descriptorSet),r.bindDescriptorSet(Ig.LOCAL,this._stageDesc),r.bindInputAssembler(c),r.draw(c)),this._uiPhase.render(t,h),DT(i,h,r,e.profiler,t),r.endRenderPass()},e}(RI)).initInfo={name:"PostProcessStage",priority:NI.POST_PROCESS,tag:0},eM=Us((tM=nM).prototype,"_postProcessMaterial",[ZB,sa],(function(){return null})),iM=Us(tM.prototype,"renderQueues",[QB,sa],(function(){return[]})),$B=tM))||$B)),dM=function(){function t(){this._enabled=!1,this._minPos=new un(0,0,0),this._maxPos=new un(0,0,0),this._depth=0}return t.prototype.initialize=function(t){this._enabled=t.enabled,this._minPos=t.minPos,this._maxPos=t.maxPos,this._depth=t.depth},n(t,[{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t}},{key:"minPos",get:function(){return this._minPos},set:function(t){this._minPos=t}},{key:"maxPos",get:function(){return this._maxPos},set:function(t){this._maxPos=t}},{key:"depth",get:function(){return this._depth},set:function(t){this._depth=t}}]),t}(),pM=new Mn,mM=new Mn,gM=new Mn,yM=new Mn,vM=new Mn,SM=new Mn,TM=new Mn,AM=new un(0,0,0),bM=new un,EM=new kn,CM=new un,xM=new un,wM=new un(1e7,1e7,1e7),RM=new un(-1e7,-1e7,-1e7),IM=new un,DM=0,BM=0,MM=function(){function t(t){this._shadowObjects=[],this._shadowCameraFar=0,this._level=void 0,this._matShadowView=new Mn,this._matShadowProj=new Mn,this._matShadowViewProj=new Mn,this._validFrustum=new Ds,this._splitFrustum=new Ds,this._lightViewFrustum=new Ds,this._castLightViewBoundingBox=new bs,this._level=t,this._validFrustum.accurate=!0,this._splitFrustum.accurate=!0,this._lightViewFrustum.accurate=!0}var e=t.prototype;return e.copyToValidFrustum=function(t){Ds.copy(this._validFrustum,t)},e.calculateValidFrustumOrtho=function(t,e,i,n,r){Ds.createOrtho(this._validFrustum,t,e,i,n,r)},e.calculateSplitFrustum=function(t,e,i,n){this._splitFrustum.split(i,n,t.aspect,t.fov,e)},e.destroy=function(){this._shadowObjects.length=0},e.createMatrix=function(t,e,i){var n=v.director.root.device,r=t.shadowInvisibleOcclusionRange;Ds.copy(this._lightViewFrustum,this._splitFrustum),Mn.fromRT(mM,t.node.rotation,AM),Mn.invert(gM,mM);var s,a,o=gM.clone();this._lightViewFrustum.transform(gM),bs.fromPoints(this._castLightViewBoundingBox,wM,RM),this._castLightViewBoundingBox.mergeFrustum(this._lightViewFrustum),t.csmOptimizationMode===NT.DisableRotationFix?(s=2*this._castLightViewBoundingBox.halfExtents.x,a=2*this._castLightViewBoundingBox.halfExtents.y):s=a=un.distance(this._lightViewFrustum.vertices[0],this._lightViewFrustum.vertices[6]);var h=v.director.root.pipeline.pipelineSceneData.csmSupported?t.csmLevel:1;if(h>1&&t.csmOptimizationMode===NT.RemoveDuplicates)if(this._level>=h-1)BM=this._castLightViewBoundingBox.halfExtents.z,DM=this._castLightViewBoundingBox.center.z;else{var u=Math.abs(this._castLightViewBoundingBox.center.z-DM)+BM;this._castLightViewBoundingBox.halfExtents.z=Math.max(this._castLightViewBoundingBox.center.z,u)}var l=this._castLightViewBoundingBox.halfExtents.z;this._shadowCameraFar=2*l+r;var c=this._castLightViewBoundingBox.center;if(IM.set(c.x,c.y,c.z+l+r),un.transformMat4(IM,IM,mM),Mn.fromRT(mM,t.node.rotation,IM),Mn.invert(gM,mM),!i){var _=.5*s,f=.5*a;Mn.ortho(yM,-_,_,-f,f,.1,this._shadowCameraFar,n.capabilities.clipSpaceMinZ,n.capabilities.clipSpaceSignY),Mn.multiply(SM,yM,o),un.transformMat4(bM,IM,SM);var d=2/e;EM.set(d,d);var p=bM.x%EM.x,m=bM.y%EM.y;CM.set(bM.x-p,bM.y-m,bM.z),Mn.invert(TM,SM),un.transformMat4(xM,CM,TM),Mn.fromRT(mM,t.node.rotation,xM),Mn.invert(gM,mM),Mn.multiply(vM,yM,gM),Mn.copy(this._matShadowView,gM),Mn.copy(this._matShadowProj,yM),Mn.copy(this._matShadowViewProj,vM)}Ds.createOrtho(this._validFrustum,s,a,.1,this._shadowCameraFar,mM)},n(t,[{key:"level",get:function(){return this._level}},{key:"shadowObjects",get:function(){return this._shadowObjects}},{key:"shadowCameraFar",get:function(){return this._shadowCameraFar},set:function(t){this._shadowCameraFar=t}},{key:"matShadowView",get:function(){return this._matShadowView},set:function(t){this._matShadowView=t}},{key:"matShadowProj",get:function(){return this._matShadowProj},set:function(t){this._matShadowProj=t}},{key:"matShadowViewProj",get:function(){return this._matShadowViewProj},set:function(t){this._matShadowViewProj=t}},{key:"validFrustum",get:function(){return this._validFrustum}},{key:"splitFrustum",get:function(){return this._splitFrustum}},{key:"lightViewFrustum",get:function(){return this._lightViewFrustum}},{key:"castLightViewBoundingBox",get:function(){return this._castLightViewBoundingBox}}]),t}(),PM=function(t){function e(e){var i;return(i=t.call(this,e)||this)._splitCameraNear=0,i._splitCameraFar=0,i._csmAtlas=new rn,i._calculateAtlas(e),i}s(e,t);var i=e.prototype;return i.destroy=function(){t.prototype.destroy.call(this)},i._calculateAtlas=function(t){var e=v.director.root.device.capabilities.clipSpaceSignY,i=t%2-.5,n=(.5-Math.floor(t/2))*e;this._csmAtlas.set(.5,.5,i,n)},n(e,[{key:"splitCameraNear",get:function(){return this._splitCameraNear},set:function(t){this._splitCameraNear=t}},{key:"splitCameraFar",get:function(){return this._splitCameraFar},set:function(t){this._splitCameraFar=t}},{key:"csmAtlas",get:function(){return this._csmAtlas},set:function(t){this._csmAtlas=t}}]),e}(MM),OM=function(){function t(){this._castShadowObjects=[],this._layerObjects=new Fu(64),this._layers=[],this._levelCount=0,this._specialLayer=new MM(1),this._shadowDistance=0;for(var t=0;t1?.5*i.size.x:i.size.x;if(!(r<0)){this._getCameraWorldMatrix(pM,t);for(var s=n-1;s>=0;s--){var a=this._layers[s],o=a.splitCameraNear,h=a.splitCameraFar;a.calculateSplitFrustum(t,pM,o,h),a.createMatrix(e,r,!1)}n===FT.LEVEL_1?(this._specialLayer.shadowCameraFar=this._layers[0].shadowCameraFar,Mn.copy(this._specialLayer.matShadowView,this._layers[0].matShadowView),Mn.copy(this._specialLayer.matShadowProj,this._layers[0].matShadowProj),Mn.copy(this._specialLayer.matShadowViewProj,this._layers[0].matShadowViewProj),this._specialLayer.copyToValidFrustum(this._layers[0].validFrustum)):(this._specialLayer.calculateSplitFrustum(t,pM,.1,e.shadowDistance),this._specialLayer.createMatrix(e,r,!0))}},e._getCameraWorldMatrix=function(t,e){if(e.node){var i=e.node,n=i.getWorldPosition(),r=i.getWorldRotation();Mn.fromRT(t,r,n)}},n(t,[{key:"castShadowObjects",get:function(){return this._castShadowObjects}},{key:"layerObjects",get:function(){return this._layerObjects}},{key:"layers",get:function(){return this._layers}},{key:"specialLayer",get:function(){return this._specialLayer}}]),t}(),LM=function(){function t(){this._enabled=!0,this._blurRadius=.01,this._sssIntensity=3}return t.prototype.initialize=function(t){this._enabled=t.enabled,this._blurRadius=t.blurRadius,this._sssIntensity=t.sssIntensity},n(t,[{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled=t}},{key:"blurRadius",get:function(){return this._blurRadius},set:function(t){this._blurRadius=t}},{key:"sssIntensity",get:function(){return this._sssIntensity},set:function(t){this._sssIntensity=t}}]),t}(),FM=t("dd",function(){function t(){this.fog=new KT,this.ambient=new gg,this.skybox=new XT,this.shadows=new GT,this.csmLayers=new OM,this.octree=new dM,this.skin=new LM,this.postSettings=new gE,this.lightProbes=v.internal.LightProbes?new v.internal.LightProbes:null,this.validPunctualLights=[],this.renderObjects=[],this.shadowFrameBufferMap=new Map,this._geometryRendererMaterials=[],this._geometryRendererPasses=[],this._geometryRendererShaders=[],this._occlusionQueryVertexBuffer=null,this._occlusionQueryIndicesBuffer=null,this._occlusionQueryInputAssembler=null,this._occlusionQueryMaterial=null,this._occlusionQueryShader=null,this._isHDR=!0,this._shadingScale=1,this._csmSupported=!0,this._standardSkinMeshRenderer=null,this._standardSkinModel=null,this._skinMaterialModel=null,this._shadingScale=1}var e=t.prototype;return e.activate=function(t){return this._device=t,this.initGeometryRendererMaterials(),this.initOcclusionQuery(),!0},e.initGeometryRendererMaterials=function(){for(var t=0,e=0;e<6;e++){this._geometryRendererMaterials[e]=new MT,this._geometryRendererMaterials[e]._uuid="geometry-renderer-material-"+e,this._geometryRendererMaterials[e].initialize({effectName:"internal/builtin-geometry-renderer",technique:e});for(var i=0;i0&&(this._occlusionQueryShader=t.passes[0].getShaderVariant())}},e.getOcclusionQueryPass=function(){return this._occlusionQueryMaterial&&this._occlusionQueryMaterial.passes.length>0?this._occlusionQueryMaterial.passes[0]:null},e.updatePipelineSceneData=function(){},e.destroy=function(){var t,e,i;this.shadows.destroy(),this.csmLayers.destroy(),this.validPunctualLights.length=0,null===(t=this._occlusionQueryInputAssembler)||void 0===t||t.destroy(),this._occlusionQueryInputAssembler=null,null===(e=this._occlusionQueryVertexBuffer)||void 0===e||e.destroy(),this._occlusionQueryVertexBuffer=null,null===(i=this._occlusionQueryIndicesBuffer)||void 0===i||i.destroy(),this._occlusionQueryIndicesBuffer=null,this._standardSkinMeshRenderer=null,this._standardSkinModel=null,this._skinMaterialModel=null},e._createOcclusionQueryIA=function(){var t=this._device,e=new Float32Array([-1,-1,-1,1,-1,-1,-1,1,-1,1,1,-1,-1,-1,1,1,-1,1,-1,1,1,1,1,1]),i=3*Float32Array.BYTES_PER_ELEMENT,n=8*i;this._occlusionQueryVertexBuffer=t.createBuffer(new Jc(Jl.VERTEX|Jl.TRANSFER_DST,$l.DEVICE,n,i)),this._occlusionQueryVertexBuffer.update(e);var r=new Uint16Array([0,2,1,1,2,3,4,5,6,5,7,6,1,3,7,1,7,5,0,4,6,0,6,2,0,1,5,0,5,4,2,6,7,2,7,3]),s=Uint16Array.BYTES_PER_ELEMENT,a=36*s;this._occlusionQueryIndicesBuffer=t.createBuffer(new Jc(Jl.INDEX|Jl.TRANSFER_DST,$l.DEVICE,a,s)),this._occlusionQueryIndicesBuffer.update(r);var o=[new f_("a_position",Yl.RGB32F)],h=new p_(o,[this._occlusionQueryVertexBuffer],this._occlusionQueryIndicesBuffer);return t.createInputAssembler(h)},n(t,[{key:"isHDR",get:function(){return this._isHDR},set:function(t){this._isHDR=t}},{key:"shadingScale",get:function(){return this._shadingScale},set:function(t){this._shadingScale=t}},{key:"csmSupported",get:function(){return this._csmSupported},set:function(t){this._csmSupported=t}},{key:"standardSkinModel",get:function(){return this._standardSkinModel},set:function(t){this._standardSkinModel=t}},{key:"standardSkinMeshRenderer",get:function(){return this._standardSkinMeshRenderer},set:function(t){this._standardSkinMeshRenderer&&this._standardSkinMeshRenderer!==t&&this._standardSkinMeshRenderer.clearGlobalStandardSkinObjectFlag(),this._standardSkinMeshRenderer=t,this.standardSkinModel=t?t.model:null}},{key:"skinMaterialModel",get:function(){return this._skinMaterialModel},set:function(t){this._skinMaterialModel=t}},{key:"geometryRendererPasses",get:function(){return this._geometryRendererPasses}},{key:"geometryRendererShaders",get:function(){return this._geometryRendererShaders}}]),t}());!function(t){t[t.NONE=0]="NONE",t[t.FXAA=1]="FXAA"}(rM||(rM={}));var NM,kM,GM,VM,UM,zM,HM,WM=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r>=1,this._renderArea.height>>=1;var i=e.commandBuffers[0],n=e.pipelineSceneData.bloomMaterial.passes[0],r=e.getPipelineRenderData(),s=r.bloom,a=new Float32Array(jM.COUNT);a[jM.TEXTURE_SIZE_OFFSET+2]=this.threshold,i.updateBuffer(this._bloomUBO[0],a),i.beginRenderPass(s.renderPass,s.prefilterFramebuffer,this._renderArea,XM,0,0),i.bindDescriptorSet(Ig.GLOBAL,e.descriptorSet),n.descriptorSet.bindBuffer(0,this._bloomUBO[0]),n.descriptorSet.bindTexture(1,r.outputRenderTargets[0]),n.descriptorSet.bindSampler(1,s.sampler),n.descriptorSet.update(),i.bindDescriptorSet(Ig.MATERIAL,n.descriptorSet);var o=t.window.swapchain?e.quadIAOffscreen:e.quadIAOnscreen,h=null,u=n.getShaderVariant();null!=n&&null!=u&&null!=o&&(h=pT.getOrCreatePipelineState(e.device,n,u,s.renderPass,o)),null!=h&&(i.bindPipelineState(h),i.bindInputAssembler(o),i.draw(o)),i.endRenderPass()},i._downsamplePass=function(t,e){e.generateRenderArea(t,this._renderArea),this._renderArea.width>>=1,this._renderArea.height>>=1;for(var i=e.commandBuffers[0],n=e.pipelineSceneData.bloomMaterial,r=e.getPipelineRenderData().bloom,s=new Float32Array(jM.COUNT),a=0;a>=1,this._renderArea.height>>=1,i.beginRenderPass(r.renderPass,r.downsampleFramebuffers[a],this._renderArea,XM,0,0);var o=n.passes[1+a],h=o.getShaderVariant();o.descriptorSet.bindBuffer(0,this._bloomUBO[a+1]),0===a?o.descriptorSet.bindTexture(1,r.prefiterTex):o.descriptorSet.bindTexture(1,r.downsampleTexs[a-1]),o.descriptorSet.bindSampler(1,r.sampler),o.descriptorSet.update(),i.bindDescriptorSet(Ig.MATERIAL,o.descriptorSet);var u=t.window.swapchain?e.quadIAOffscreen:e.quadIAOnscreen,l=null;null!=o&&null!=h&&null!=u&&(l=pT.getOrCreatePipelineState(e.device,o,h,r.renderPass,u)),null!=l&&(i.bindPipelineState(l),i.bindInputAssembler(u),i.draw(u)),i.endRenderPass()}},i._upsamplePass=function(t,e){var i=e.getPipelineRenderData().bloom;e.generateRenderArea(t,this._renderArea),this._renderArea.width>>=this.iterations+1,this._renderArea.height>>=this.iterations+1;for(var n=e.commandBuffers[0],r=e.pipelineSceneData.bloomMaterial,s=new Float32Array(jM.COUNT),a=0;a=0;h--){var u=r.array[h];if(u){var l=u.model;l&&l.enabled&&l.node&&((o&l.node.layer)===l.node.layer||o&l.visFlags)&&l.worldBounds&&l.castShadow?ls.aabbFrustum(l.worldBounds,s)&&(a.push(u),i.level0?.5*(1-Math.floor(a/2))*h.y:.5*Math.floor(a/2)*h.y,this._renderArea.width=.5*h.x,this._renderArea.height=.5*h.y}break;case sR.SPOT:this._renderArea.x=0,this._renderArea.y=0,this._renderArea.width=h.x,this._renderArea.height=h.y}var c=this._shadowFrameBuffer.renderPass;s.beginRenderPass(c,this._shadowFrameBuffer,this._renderArea,uP,t.clearDepth,t.clearStencil),s.bindDescriptorSet(Ig.GLOBAL,r),this._additiveShadowQueue.recordCommandBuffer(o,c,s),s.endRenderPass(),this._isShadowMapCleared=!1}},i.activate=function(e,i){t.prototype.activate.call(this,e,i),this._additiveShadowQueue=new hP(e),this._isShadowMapCleared=!1},e}(RI)).initInfo={name:"ShadowStage",priority:kI.FORWARD,tag:0},$M=tP))||$M),cP=[],_P=t("dp",Js("ShadowFlow")(((iP=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r=(Og.COUNT+Lg.COUNT+Fg.COUNT+Ng.COUNT)/4,e.macros.CC_SUPPORT_CASCADED_SHADOW_MAP=e.pipelineSceneData.csmSupported,e.macros.CC_SHADOW_TYPE=0,e.macros.CC_DIR_SHADOW_PCF_TYPE=LT.HARD,e.macros.CC_DIR_LIGHT_SHADOW_TYPE=0,e.macros.CC_CASCADED_LAYERS_TRANSITION=0,e.onGlobalPipelineStateChanged()},i.render=function(t){var e=this._pipeline,i=e.pipelineSceneData.shadows,n=e.pipelineSceneData.csmLayers,r=e.pipelineSceneData.shadowFrameBufferMap,s=n.castShadowObjects,a=this._pipeline.pipelineSceneData.validPunctualLights;if(i.enabled&&i.type===OT.ShadowMap){for(var o=0,h=0;o0)))for(var a=0;athis._lightBufferCount&&(this._firstLightBufferView.destroy(),this._lightBufferCount=zi(a.length),this._lightBuffer.resize(this._lightBufferStride*this._lightBufferCount),this._lightBufferData=new Float32Array(this._lightBufferElementCount*this._lightBufferCount),this._firstLightBufferView.initialize(new Zc(this._lightBuffer,0,ey.SIZE)));for(var o=0,h=0;o-1&&this.additiveInstanceQueues.splice(e,1)},i.initialize=function(e){return t.prototype.initialize.call(this,e),e.renderQueues&&(this.renderQueues=e.renderQueues),!0},i.activate=function(e,i){t.prototype.activate.call(this,e,i);for(var n=0;n1e-4&&(i=Math.log(e)/Math.log(1.1),i=Di((i=Math.ceil(i))+128,0,255));var n=1/Math.pow(1.1,i-128),r=function(t,e,i){if(e>i){var n=e;e=i,i=n}return ti?i:t}(t.multiplyScalar(n),new un(0,0,0),new un(1,1,1));r.multiplyScalar(255);var s,a,o=yn(r).add((s=r.subtract(yn(r)))<(a=new un(.5,.5,.5))?a:s);return new rn(o.x/255,o.y/255,o.z/255,i/255)}(this._rgbeColor);sO[0].x=r.x,sO[0].y=r.y,sO[0].z=r.z,sO[0].w=r.w}var s=e.device;i.beginRenderPass(n,this._frameBuffer,this._renderArea,sO,this._probe.camera.clearDepth,this._probe.camera.clearStencil),i.bindDescriptorSet(Ig.GLOBAL,e.descriptorSet),this._probeRenderQueue.recordCommandBuffer(s,n,i),i.endRenderPass(),e.pipelineUBO.updateCameraUBO(t)},i.activate=function(e,i){t.prototype.activate.call(this,e,i),this._probeRenderQueue=new rO(e)},e}(RI)).initInfo={name:"ReflectionProbeStage",priority:kI.FORWARD,tag:0},KP=JP))||KP),oO=t("dw",Js("ReflectionProbeFlow")(((QP=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.initialize=function(e){if(t.prototype.initialize.call(this,e),0===this._stages.length){var i=new aO;i.initialize(aO.initInfo),this._stages.push(i)}return!0},i.activate=function(e){t.prototype.activate.call(this,e)},i.render=function(t){if(v.internal.reflectionProbeManager)for(var e=v.internal.reflectionProbeManager.getProbes(),i=0;i8?Q(12004,8):(this._passes=t,this._flushPassInfo(),this._descriptorSet&&(this._descriptorSet.destroy(),cO.layout=t[0].localSetLayout,this._descriptorSet=this._device.createDescriptorSet(cO)))}},{key:"shaders",get:function(){return this._shaders}},{key:"subMesh",get:function(){return this._subMesh},set:function(t){this._inputAssembler.destroy(),this._inputAssembler=this._device.createInputAssembler(t.iaInfo),this._subMesh=t}},{key:"priority",get:function(){return this._priority},set:function(t){this._priority=t}},{key:"inputAssembler",get:function(){return this._inputAssembler}},{key:"descriptorSet",get:function(){return this._descriptorSet}},{key:"worldBoundDescriptorSet",get:function(){return this._worldBoundDescriptorSet}},{key:"patches",get:function(){return this._patches}},{key:"instancedAttributeBlock",get:function(){return this._instancedAttributeBlock}},{key:"instancedWorldMatrixIndex",get:function(){return this._instancedWorldMatrixIndex},set:function(t){this._instancedWorldMatrixIndex=t}},{key:"instancedSHIndex",get:function(){return this._instancedSHIndex},set:function(t){this._instancedSHIndex=t}},{key:"useReflectionProbeType",get:function(){return this._useReflectionProbeType},set:function(t){this._useReflectionProbeType=t}}]),t}();t("ao",uO),function(t){t[t.NONE=0]="NONE",t[t.BAKED_CUBEMAP=1]="BAKED_CUBEMAP",t[t.PLANAR_REFLECTION=2]="PLANAR_REFLECTION",t[t.BLEND_PROBES=3]="BLEND_PROBES",t[t.BLEND_PROBES_AND_SKYBOX=4]="BLEND_PROBES_AND_SKYBOX"}(uO||t("ao",uO={}));var fO,dO=new Mn,pO=[{name:"CC_RECEIVE_SHADOW",value:!0}],mO=[{name:"CC_USE_LIGHTMAP",value:1}],gO=[{name:"CC_USE_LIGHTMAP",value:2}],yO=[{name:"CC_LIGHT_MAP_VERSION",value:2}],vO=[{name:"CC_USE_LIGHT_PROBE",value:!0}];!function(t){t[t.DEFAULT=0]="DEFAULT",t[t.SKINNING=1]="SKINNING",t[t.BAKED_SKINNING=2]="BAKED_SKINNING",t[t.BATCH_2D=3]="BATCH_2D",t[t.PARTICLE_BATCH=4]="PARTICLE_BATCH",t[t.LINE=5]="LINE"}(fO||(fO={}));var SO,TO,AO,bO,EO=new n_(ac.LINEAR,ac.LINEAR,ac.NONE,oc.CLAMP,oc.CLAMP,oc.CLAMP),CO=new n_(ac.LINEAR,ac.LINEAR,ac.LINEAR,oc.CLAMP,oc.CLAMP,oc.CLAMP),xO=function(){function t(){this.type=fO.DEFAULT,this.scene=null,this.isDynamicBatching=!1,this._worldBounds=null,this._modelBounds=null,this._subModels=[],this._node=null,this._transform=null,this._device=void 0,this._inited=!1,this._descriptorSetCount=1,this._updateStamp=-1,this._localDataUpdated=!0,this._localData=new Float32Array(Jg.COUNT),this._localBuffer=null,this._localSHData=null,this._localSHBuffer=null,this._lightmap=null,this._lightmapUVParam=new rn,this._tetrahedronIndex=-1,this._lastWorldBoundCenter=new un(1/0,1/0,1/0),this._useLightProbe=!1,this._worldBoundBuffer=null,this._receiveShadow=!1,this._castShadow=!1,this._receiveDirLight=!0,this._shadowBias=0,this._shadowNormalBias=0,this._reflectionProbeId=-1,this._reflectionProbeBlendId=-1,this._reflectionProbeBlendWeight=0,this._enabled=!0,this._visFlags=am.Enum.NONE,this._priority=0,this._bakeToReflectionProbe=!0,this._reflectionProbeType=uO.NONE,this._device=If.gfxDevice}var e=t.prototype;return e.initialize=function(){this._inited||(this._receiveShadow=!0,this.castShadow=!1,this.enabled=!0,this.visFlags=am.Enum.NONE,this._inited=!0,this._bakeToReflectionProbe=!0,this._reflectionProbeType=uO.NONE)},e.destroy=function(){for(var t=this._subModels,e=0;e=0?o.updateInstancedWorldMatrix(r,h):s=!0}(s||n)&&this._localBuffer&&(Mn.toArray(this._localData,r,Jg.MAT_WORLD_OFFSET),Mn.invert(dO,r),Mn.transpose(dO,dO),Mn.toArray(this._localData,dO,Jg.MAT_WORLD_IT_OFFSET),this._localBuffer.update(this._localData))}},e.invalidateLocalData=function(){this._localDataUpdated=!0},e.showTetrahedron=function(){return this.isLightProbeAvailable()},e.isLightProbeAvailable=function(){if(!this._useLightProbe)return!1;var t=v.director.root.pipeline.pipelineSceneData.lightProbes;return!(!t||t.empty()||!this._worldBounds)},e.updateSHBuffer=function(){if(this._localSHData){for(var t=this._subModels,e=!1,i=0;i=0?n.updateInstancedSH(this._localSHData,r):e=!0}e&&this._localSHBuffer&&this._localSHBuffer.update(this._localSHData)}},e.clearSHUBOs=function(){if(this._localSHData){for(var t=0;t1?CO:EO),r=this._subModels,s=0;s1&&e.pipelineSceneData.csmSupported?(e.macros.CC_DIR_LIGHT_SHADOW_TYPE=2,e.macros.CC_CASCADED_LAYERS_TRANSITION=this._csmLayersTransition):e.macros.CC_DIR_LIGHT_SHADOW_TYPE=1,e.macros.CC_DIR_SHADOW_PCF_TYPE=this._shadowPcf):e.macros.CC_DIR_LIGHT_SHADOW_TYPE=0,t.onGlobalPipelineStateChanged()},n(e,[{key:"direction",get:function(){return this._dir},set:function(t){un.normalize(this._dir,t)}},{key:"illuminance",get:function(){return v.director.root.pipeline.pipelineSceneData.isHDR?this._illuminanceHDR:this._illuminanceLDR},set:function(t){v.director.root.pipeline.pipelineSceneData.isHDR?this.illuminanceHDR=t:this.illuminanceLDR=t}},{key:"illuminanceHDR",get:function(){return this._illuminanceHDR},set:function(t){this._illuminanceHDR=t}},{key:"illuminanceLDR",get:function(){return this._illuminanceLDR},set:function(t){this._illuminanceLDR=t}},{key:"shadowEnabled",get:function(){return this._shadowEnabled},set:function(t){this._shadowEnabled=t,this.activate()}},{key:"shadowPcf",get:function(){return this._shadowPcf},set:function(t){this._shadowPcf=t,this.activate()}},{key:"shadowBias",get:function(){return this._shadowBias},set:function(t){this._shadowBias=t}},{key:"shadowNormalBias",get:function(){return this._shadowNormalBias},set:function(t){this._shadowNormalBias=t}},{key:"shadowSaturation",get:function(){return this._shadowSaturation},set:function(t){this._shadowSaturation=t}},{key:"shadowDistance",get:function(){return this._shadowDistance},set:function(t){this._shadowDistance=Math.min(t,GT.MAX_FAR)}},{key:"shadowInvisibleOcclusionRange",get:function(){return this._shadowInvisibleOcclusionRange},set:function(t){this._shadowInvisibleOcclusionRange=Math.min(t,GT.MAX_FAR)}},{key:"csmLevel",get:function(){return this._csmLevel},set:function(t){this._csmLevel=t,this.activate()}},{key:"csmNeedUpdate",get:function(){return this._csmNeedUpdate},set:function(t){this._csmNeedUpdate=t}},{key:"csmLayerLambda",get:function(){return this._csmLayerLambda},set:function(t){this._csmLayerLambda=t}},{key:"csmOptimizationMode",get:function(){return this._csmOptimizationMode},set:function(t){this._csmOptimizationMode=t}},{key:"shadowFixedArea",get:function(){return this._shadowFixedArea},set:function(t){this._shadowFixedArea=t,this.activate()}},{key:"shadowNear",get:function(){return this._shadowNear},set:function(t){this._shadowNear=t}},{key:"shadowFar",get:function(){return this._shadowFar},set:function(t){this._shadowFar=Math.min(t,GT.MAX_FAR)}},{key:"shadowOrthoSize",get:function(){return this._shadowOrthoSize},set:function(t){this._shadowOrthoSize=t}},{key:"csmLayersTransition",get:function(){return this._csmLayersTransition},set:function(t){this._csmLayersTransition=t,this.activate()}},{key:"csmTransitionRange",get:function(){return this._csmTransitionRange},set:function(t){this._csmTransitionRange=t}}]),e}(AR),DO=function(t){function e(){var e;return(e=t.call(this)||this)._needUpdate=!1,e._size=.15,e._range=1,e._luminanceHDR=0,e._luminanceLDR=0,e._pos=void 0,e._aabb=void 0,e._aabb=bs.create(),e._pos=new un,e._type=sR.SPHERE,e}s(e,t);var i=e.prototype;return i.initialize=function(){t.prototype.initialize.call(this),this.size=.15,this.range=1,this.luminanceHDR=1700/TR(.15),this.luminanceLDR=1},i.update=function(){if(this._node&&(this._node.hasChangedFlags||this._needUpdate)){this._node.getWorldPosition(this._pos);var t=this._range;bs.set(this._aabb,this._pos.x,this._pos.y,this._pos.z,t,t,t),this._needUpdate=!1}},n(e,[{key:"position",get:function(){return this._pos}},{key:"size",get:function(){return this._size},set:function(t){this._size=t}},{key:"range",get:function(){return this._range},set:function(t){this._range=t,this._needUpdate=!0}},{key:"luminance",get:function(){return v.director.root.pipeline.pipelineSceneData.isHDR?this._luminanceHDR:this._luminanceLDR},set:function(t){v.director.root.pipeline.pipelineSceneData.isHDR?this.luminanceHDR=t:this.luminanceLDR=t}},{key:"luminanceHDR",get:function(){return this._luminanceHDR},set:function(t){this._luminanceHDR=t}},{key:"luminanceLDR",set:function(t){this._luminanceLDR=t}},{key:"aabb",get:function(){return this._aabb}}]),e}(AR),BO=new un(0,0,-1),MO=new bn,PO=new Mn,OO=new Mn,LO=new Mn,FO=new Mn,NO=function(t){function e(){var e;return(e=t.call(this)||this)._dir=new un(1,-1,-1),e._range=5,e._spotAngle=Math.cos(Math.PI/6),e._pos=void 0,e._aabb=void 0,e._frustum=void 0,e._angle=0,e._needUpdate=!1,e._size=.15,e._luminanceHDR=0,e._luminanceLDR=0,e._shadowEnabled=!1,e._shadowPcf=LT.HARD,e._shadowBias=1e-5,e._shadowNormalBias=0,e._aabb=bs.create(),e._frustum=Ds.create(),e._pos=new un,e._type=sR.SPOT,e}s(e,t);var i=e.prototype;return i.initialize=function(){t.prototype.initialize.call(this),this.size=.15,this.luminanceHDR=1700/TR(.15),this.luminanceLDR=1,this.range=Math.cos(Math.PI/6),this._dir.set(new un(1,-1,-1))},i.update=function(){this._node&&(this._node.hasChangedFlags||this._needUpdate)&&(this._node.getWorldPosition(this._pos),un.transformQuat(this._dir,BO,this._node.getWorldRotation(MO)),un.normalize(this._dir,this._dir),bs.set(this._aabb,this._pos.x,this._pos.y,this._pos.z,this._range,this._range,this._range),this._node.getWorldRT(PO),Mn.invert(PO,PO),Mn.perspective(OO,this._angle,1,.001,this._range),Mn.multiply(LO,OO,PO),this._frustum.update(LO,FO),this._needUpdate=!1)},n(e,[{key:"position",get:function(){return this._pos}},{key:"size",get:function(){return this._size},set:function(t){this._size=t}},{key:"range",get:function(){return this._range},set:function(t){this._range=t,this._needUpdate=!0}},{key:"luminance",get:function(){return v.director.root.pipeline.pipelineSceneData.isHDR?this._luminanceHDR:this._luminanceLDR},set:function(t){v.director.root.pipeline.pipelineSceneData.isHDR?this.luminanceHDR=t:this.luminanceLDR=t}},{key:"luminanceHDR",get:function(){return this._luminanceHDR},set:function(t){this._luminanceHDR=t}},{key:"luminanceLDR",get:function(){return this._luminanceLDR},set:function(t){this._luminanceLDR=t}},{key:"direction",get:function(){return this._dir}},{key:"spotAngle",get:function(){return this._spotAngle},set:function(t){this._angle=t,this._spotAngle=Math.cos(.5*t),this._needUpdate=!0}},{key:"angle",get:function(){return this._angle}},{key:"aabb",get:function(){return this._aabb}},{key:"frustum",get:function(){return this._frustum}},{key:"shadowEnabled",get:function(){return this._shadowEnabled},set:function(t){this._shadowEnabled=t}},{key:"shadowPcf",get:function(){return this._shadowPcf},set:function(t){this._shadowPcf=t}},{key:"shadowBias",get:function(){return this._shadowBias},set:function(t){this._shadowBias=t}},{key:"shadowNormalBias",get:function(){return this._shadowNormalBias},set:function(t){this._shadowNormalBias=t}}]),e}(AR),kO=function(t){function e(){var e;return(e=t.call(this)||this)._needUpdate=!1,e._range=1,e._luminanceHDR=0,e._luminanceLDR=0,e._pos=void 0,e._aabb=void 0,e._aabb=bs.create(),e._pos=new un,e._type=sR.POINT,e}s(e,t);var i=e.prototype;return i.initialize=function(){t.prototype.initialize.call(this),this.range=1,this.luminanceHDR=1700/TR(1),this.luminanceLDR=1},i.update=function(){if(this._node&&(this._node.hasChangedFlags||this._needUpdate)){this._node.getWorldPosition(this._pos);var t=this._range;bs.set(this._aabb,this._pos.x,this._pos.y,this._pos.z,t,t,t),this._needUpdate=!1}},n(e,[{key:"position",get:function(){return this._pos}},{key:"range",get:function(){return this._range},set:function(t){this._range=t,this._needUpdate=!0}},{key:"luminance",get:function(){return v.director.root.pipeline.pipelineSceneData.isHDR?this._luminanceHDR:this._luminanceLDR},set:function(t){v.director.root.pipeline.pipelineSceneData.isHDR?this.luminanceHDR=t:this.luminanceLDR=t}},{key:"luminanceHDR",get:function(){return this._luminanceHDR},set:function(t){this._luminanceHDR=t}},{key:"luminanceLDR",set:function(t){this._luminanceLDR=t}},{key:"aabb",get:function(){return this._aabb}}]),e}(AR),GO=new un(0,0,-1),VO=function(t){function e(){var e;return(e=t.call(this)||this)._dir=new un(0,0,-1),e._pos=new un(0,0,0),e._scale=new un(1,1,1),e._right=new un(1,0,0),e._illuminanceHDR=gg.SUN_ILLUM,e._illuminanceLDR=1,e._type=sR.RANGED_DIRECTIONAL,e}s(e,t);var i=e.prototype;return i.initialize=function(){t.prototype.initialize.call(this),this.illuminance=gg.SUN_ILLUM},i.update=function(){this._node&&this._node.hasChangedFlags&&(this._node.getWorldPosition(this._pos),this._node.getWorldScale(this._scale),un.transformQuat(this._dir,GO,this._node.worldRotation),un.transformQuat(this._right,un.RIGHT,this._node.worldRotation))},n(e,[{key:"direction",get:function(){return this._dir}},{key:"right",get:function(){return this._right}},{key:"position",get:function(){return this._pos}},{key:"scale",get:function(){return this._scale}},{key:"illuminance",get:function(){return v.director.root.pipeline.pipelineSceneData.isHDR?this._illuminanceHDR:this._illuminanceLDR},set:function(t){v.director.root.pipeline.pipelineSceneData.isHDR?this.illuminanceHDR=t:this.illuminanceLDR=t}},{key:"illuminanceHDR",get:function(){return this._illuminanceHDR},set:function(t){this._illuminanceHDR=t}},{key:"illuminanceLDR",get:function(){return this._illuminanceLDR},set:function(t){this._illuminanceLDR=t}}]),e}(AR),UO=function(){function t(){this.screenUsagePercentage=1,this._models=[]}var e=t.prototype;return e.addModel=function(t){this._models.splice(0,0,t)},e.eraseModel=function(t){var e=this._models.indexOf(t);e>=0&&this._models.splice(e,1)},e.clearModels=function(){this._models.length=0},n(t,[{key:"models",get:function(){return this._models}}]),t}(),zO=function(){function t(){this.scene=void 0,this.node=null,this._device=void 0,this.enabled=!0,this._localBoundaryCenter=new un(0,0,0),this._objectSize=1,this._lodDataArray=[],this._lockedLODLevelVec=[],this._isLockLevelChanged=!1,this._device=If.gfxDevice}var e=t.prototype;return e.attachToScene=function(t){this.scene=t},e.detachFromScene=function(){this.scene=null},e.lockLODLevels=function(t){if(t.length!==this._lockedLODLevelVec.length)this._isLockLevelChanged=!0;else for(var e=t.length,i=0;i=this.lodDataArray[n].screenUsagePercentage){i=n;break}return i},e.getScreenUsagePercentage=function(t){return this.node?(t.projectionType===xw.PERSPECTIVE&&(e=un.len(this.localBoundaryCenter.transformMat4(this.node.worldMatrix).subtract(t.node.worldPosition))),this.distanceToScreenUsagePercentage(t,e,this.getWorldSpaceSize())):0;var e},e.distanceToScreenUsagePercentage=function(t,e,i){return t.projectionType===xw.PERSPECTIVE?i*t.matProj.m05/(2*e):i*t.matProj.m05*.5},e.getWorldSpaceSize=function(){var t=this.node.scale;return Math.max(Math.abs(t.x),Math.abs(t.y),Math.abs(t.z))*this.objectSize},n(t,[{key:"localBoundaryCenter",get:function(){return this._localBoundaryCenter.clone()},set:function(t){this._localBoundaryCenter.set(t)}},{key:"lodCount",get:function(){return this._lodDataArray.length}},{key:"objectSize",get:function(){return this._objectSize},set:function(t){this._objectSize=t}},{key:"lodDataArray",get:function(){return this._lodDataArray}}]),t}(),HO=Object.freeze({__proto__:null,get CameraFOVAxis(){return Cw},get CameraProjection(){return xw},get CameraAperture(){return ww},get CameraISO(){return Rw},get CameraShutter(){return Iw},get CameraType(){return Dw},get TrackingType(){return Bw},get CameraUsage(){return Mw},SKYBOX_FLAG:Uw,Camera:Hw,get ModelType(){return fO},Model:xO,SubModel:_O,Ambient:gg,EnvironmentLightingType:WT,Skybox:XT,ShadowSize:PT,ShadowType:OT,PCFType:LT,CSMLevel:FT,CSMOptimizationMode:NT,Shadows:GT,FogType:YT,FOG_TYPE_NONE:qT,Fog:KT,Octree:dM,Skin:LM,ColorTemperatureToRGB:hR,get LightType(){return sR},nt2lm:TR,Light:AR,DirectionalLight:IO,SphereLight:DO,SpotLight:NO,PointLight:kO,RangedDirectionalLight:VO,get ProbeClearFlag(){return tR},get ProbeType(){return eR},ReflectionProbe:oR,LODData:UO,LODGroup:zO,ToneMappingType:mE,PostSettings:gE}),WO=function(){function t(t){this._root=void 0,this._name="",this._cameras=[],this._models=[],this._lodGroups=[],this._batches=[],this._directionalLights=[],this._sphereLights=[],this._spotLights=[],this._pointLights=[],this._rangedDirLights=[],this._mainLight=null,this._modelId=0,this._lodStateCache=null,this._root=t}t.registerCreateFunc=function(e){e._createSceneFun=function(e){return new t(e)}};var e=t.prototype;return e.initialize=function(t){return this._name=t.name,this._lodStateCache=new jO(this),!0},e.update=function(t){var e=this._mainLight;e&&e.update();for(var i=this._sphereLights,n=0;n=0&&(this._lodGroups.splice(e,1),t.detachFromScene(),this._lodStateCache.removeLodGroup(t))},e.removeLODGroups=function(){for(var t,e=f(this._lodGroups);!(t=e()).done;){var i=t.value;this._lodStateCache.removeLodGroup(i)}this._lodGroups.length=0},e.onGlobalPipelineStateChanged=function(){for(var t,e=f(this._models);!(t=e()).done;)t.value.onGlobalPipelineStateChanged()},e.generateModelId=function(){return this._modelId++},n(t,[{key:"root",get:function(){return this._root}},{key:"name",get:function(){return this._name}},{key:"cameras",get:function(){return this._cameras}},{key:"mainLight",get:function(){return this._mainLight}},{key:"sphereLights",get:function(){return this._sphereLights}},{key:"spotLights",get:function(){return this._spotLights}},{key:"pointLights",get:function(){return this._pointLights}},{key:"rangedDirLights",get:function(){return this._rangedDirLights}},{key:"models",get:function(){return this._models}},{key:"batches",get:function(){return this._batches}},{key:"lodGroups",get:function(){return this._lodGroups}}]),t}(),XO=function(){this.usedLevel=-1,this.lastUsedLevel=-1,this.transformDirty=!0},jO=function(){function t(t){this._renderScene=null,this._modelsInLODGroup=new Map,this._lodStateInCamera=new Map,this._newAddedLodGroupVec=new Array,this._levelModels=new Map,this._renderScene=t}var e=t.prototype;return e.addCamera=function(t){for(var e,i=f(this._renderScene.lodGroups);!(e=i()).done;){var n=e.value.node.layer;if((t.visibility&n)===n){this._lodStateInCamera.has(t)||this._lodStateInCamera.set(t,new Map);break}}},e.removeCamera=function(t){this._lodStateInCamera.has(t)&&this._lodStateInCamera.delete(t)},e.addLodGroup=function(t){this._newAddedLodGroupVec.push(t);for(var e,i=f(this._renderScene.cameras);!(e=i()).done;){var n=e.value;if(!this._lodStateInCamera.has(n)){var r=t.node.layer;(n.visibility&r)===r&&this._lodStateInCamera.set(n,new Map)}}},e.removeLodGroup=function(t){for(var e=0;e0){if(t.node.hasChangedFlags>0)for(var n,r=f(e._lodStateInCamera);!(n=r()).done;){var s=n.value,a=s[1].get(t);a||(a=new XO,s[1].set(t,a)),a.transformDirty=!0}if(t.isLockLevelChanged()){t.resetLockChangeFlag();var o=e._levelModels.get(t);if(o){o.forEach((function(t){t.forEach((function(t){var i=e._modelsInLODGroup.get(t);i&&i.clear()}))}));for(var h,u=f(i);!(h=u()).done;){var l=h.value,_=o.get(l);_&&_.forEach((function(t){var i=e._modelsInLODGroup.get(t);if(i&&t.node&&t.node.active)for(var n,r=f(e._lodStateInCamera);!(n=r()).done;){var s=n.value;i.set(s[0],!0)}}))}}}return 0}for(var d,p=!1,m=f(e._lodStateInCamera);!(d=m()).done;){var g=d.value,y=g[1].get(t);y||(y=new XO,g[1].set(t,y));var v=g[0].node.hasChangedFlags,S=t.node.hasChangedFlags;if(v>0||S>0||y.transformDirty){y.transformDirty&&(y.transformDirty=!1);var T=t.getVisibleLODLevel(g[0]);T!==y.usedLevel&&(y.lastUsedLevel=y.usedLevel,y.usedLevel=T,p=!0)}}var A=e._levelModels.get(t);if(!A)return 0;t.isLockLevelChanged()?(t.resetLockChangeFlag(),A.forEach((function(t){t.forEach((function(t){var i=e._modelsInLODGroup.get(t);i&&i.clear()}))})),p=!0):p&&e._lodStateInCamera.forEach((function(i){var n=i.get(t);if(n&&n.usedLevel!==n.lastUsedLevel){var r=A.get(n.lastUsedLevel);r&&r.forEach((function(t){var i=e._modelsInLODGroup.get(t);i&&i.clear()}))}})),p&&e._lodStateInCamera.forEach((function(i,n){var r=i.get(t);if(r){var s=r.usedLevel,a=A.get(s);a&&a.forEach((function(t){var i=e._modelsInLODGroup.get(t);i&&t.node&&t.node.active&&i.set(n,!0)}))}}))}},d=f(this._renderScene.lodGroups);!(c=d()).done;)_()},e.isLodModelCulled=function(t,e){var i=this._modelsInLODGroup.get(e);return!!i&&!i.has(t)},e.clearCache=function(){this._levelModels.clear(),this._modelsInLODGroup.clear(),this._lodStateInCamera.clear(),this._newAddedLodGroupVec.length=0},e.isLodGroupVisibleByCamera=function(t,e){var i=t.node.layer;return(e.visibility&i)===i},t}(),YO=((SO={})[El.PORTRAIT]=Xl.IDENTITY,SO[El.LANDSCAPE_RIGHT]=Xl.ROTATE_90,SO[El.PORTRAIT_UPSIDE_DOWN]=Xl.ROTATE_180,SO[El.LANDSCAPE_LEFT]=Xl.ROTATE_270,SO),qO=function(){function t(){this._title="",this._width=1,this._height=1,this._swapchain=null,this._renderPass=null,this._colorTextures=[],this._depthStencilTexture=null,this._cameras=[],this._hasOnScreenAttachments=!1,this._hasOffScreenAttachments=!1,this._framebuffer=null,this._device=null}t.registerCreateFunc=function(e){e._createWindowFun=function(){return new t}};var e=t.prototype;return e.initialize=function(t,e){if(void 0!==e.title&&(this._title=e.title),void 0!==e.swapchain&&(this._swapchain=e.swapchain),this._width=e.width,this._height=e.height,this._device=t,this._renderPass=t.createRenderPass(e.renderPassInfo),e.swapchain)this._swapchain=e.swapchain,this._colorTextures.push(e.swapchain.colorTexture),this._depthStencilTexture=e.swapchain.depthStencilTexture;else{for(var i=0;i1&&(this._fps=this._frameCount,this._frameCount=0,this._fpsTime=0),null!==(e=globalThis.__globalXR)&&void 0!==e&&e.isWebXR?this._doWebXRFrameMove():(this._frameMoveBegin(),this._frameMoveProcess(),this._frameMoveEnd())},e.createWindow=function(t){var e=this._createWindowFun(this);return e.initialize(this.device,t),this._windows.push(e),e},e.destroyWindow=function(t){for(var e=0;e=0;g--){var y=i[g];(a===TO.LEFT&&y.cameraType===Dw.RIGHT_EYE||a===TO.RIGHT&&y.cameraType===Dw.LEFT_EYE)&&i.splice(g,1)}this._frameMoveEnd()}}},e._frameMoveBegin=function(){for(var t=0;t0){this._device.acquire([If.swapchain]);var r=this._scenes,s=t.getTotalFrames();this._batcher&&(this._batcher.update(),this._batcher.uploadBuffers());for(var a=0;a0){t.emit(e.EVENT_BEFORE_COMMIT),i.sort((function(t,e){return t.priority-e.priority}));for(var n=0;n0?(this._fixedFPS=t,this._fixedFPSFrameTime=1e3/t):this._fixedFPSFrameTime=0}},{key:"dataPoolManager",get:function(){return this._dataPoolMgr}},{key:"useDeferredPipeline",get:function(){return this._useDeferredPipeline}},{key:"cameraList",get:function(){return this._cameraList}}]),t}());v.Root=KO,yi.Attr.setClassAttr(sp,"target","type","Object"),yi.Attr.setClassAttr(sp,"target","ctor",tg);var JO,ZO=new Array(16),QO=null,$O=new kn,tL=[lm.TOUCH_START,lm.TOUCH_MOVE,lm.TOUCH_END,lm.TOUCH_CANCEL],eL=[lm.MOUSE_DOWN,lm.MOUSE_ENTER,lm.MOUSE_MOVE,lm.MOUSE_LEAVE,lm.MOUSE_UP,lm.MOUSE_WHEEL];!function(t){t[t.ADD_POINTER_EVENT_PROCESSOR=0]="ADD_POINTER_EVENT_PROCESSOR",t[t.REMOVE_POINTER_EVENT_PROCESSOR=1]="REMOVE_POINTER_EVENT_PROCESSOR",t[t.MARK_LIST_DIRTY=2]="MARK_LIST_DIRTY"}(JO||(JO={}));var iL,nL=function(){function t(t){this.claimedTouchIdList=[],this.maskList=null,this.cachedCameraPriority=0,this.previousMouseIn=!1,this.bubblingTarget=null,this.capturingTarget=null,this.shouldHandleEventMouse=!1,this.shouldHandleEventTouch=!1,this._dispatchingTouch=null,this._isEnabled=!1,this._node=void 0,this._node=t}var e=t.prototype;return e.setEnabled=function(e,i){if(void 0===i&&(i=!1),this._isEnabled!==e){this._isEnabled=e;var n=this.node.children;if(e&&this._attachMask(),t.callbacksInvoker.emit(JO.MARK_LIST_DIRTY),i&&n.length>0)for(var r=0;r=0;--n)if((e=ZO[n]).eventProcessor.capturingTarget&&(t.currentTarget=e,e.eventProcessor.capturingTarget.emit(t.type,t,ZO),t.propagationStopped))return void(ZO.length=0);if(ZO.length=0,t.eventPhase=2,t.currentTarget=i,this.capturingTarget&&this.capturingTarget.emit(t.type,t),!t.propagationImmediateStopped&&this.bubblingTarget&&this.bubblingTarget.emit(t.type,t),!t.propagationStopped&&t.bubbles)for(this.getBubblingTargets(t.type,ZO),t.eventPhase=3,n=0;n0?n:null}return null},e._attachMask=function(){this.maskList=this._searchComponentsInParent(t._maskComp)},e._isTouchEvent=function(t){return-1!==tL.indexOf(t)},e._isMouseEvent=function(t){return-1!==eL.indexOf(t)},e._hasTouchListeners=function(){for(var t=0;t>>1;r<=s;a=r+s>>>1){var o=t[a],h=o.constructor._executionOrder;if(h>i)s=a-1;else if(hn)s=a-1;else{if(!(u0&&(t.array.sort(dL),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(dL),this._invoke(e),e.array.length=0)},e}(fL),mL=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.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=cL(i,t);n<0&&i.splice(~n,0,t)}},i.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=cL(i.array,t);n>=0&&i.removeAt(n)}},i.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)},e}(fL);function gL(t,e,i){var n="var a=it.array;for(it.i=0;it.i=0?hL(this._deferredComps,e):(!t.internalStart||t._objFlags&uL||this.startInvoker.remove(t),t.internalUpdate&&this.updateInvoker.remove(t),t.internalLateUpdate&&this.lateUpdateInvoker.remove(t))},e.enableComp=function(t,e){if(!(t._objFlags&lL)){if(t.internalOnEnable){if(e)return void e.add(t);if(t.internalOnEnable(),!t.node.activeInHierarchy)return}this._onEnabled(t)}},e.disableComp=function(t){t._objFlags&lL&&(t.internalOnDisable&&t.internalOnDisable(),this._onDisabled(t))},e.startPhase=function(){this._updating=!0,this.startInvoker.invoke(),this._startForNewComps()},e.updatePhase=function(t){this.updateInvoker.invoke(t)},e.lateUpdatePhase=function(t){this.lateUpdateInvoker.invoke(t),this._updating=!1,this._startForNewComps()},e._startForNewComps=function(){this._deferredComps.length>0&&(this._deferredSchedule(),this.startInvoker.invoke())},e._scheduleImmediate=function(t){"function"!=typeof t.internalStart||t._objFlags&uL||this.startInvoker.add(t),"function"==typeof t.internalUpdate&&this.updateInvoker.add(t),"function"==typeof t.internalLateUpdate&&this.lateUpdateInvoker.add(t)},e._deferredSchedule=function(){for(var t=this._deferredComps,e=0,i=t.length;e1)t.push("t="+this._targetExp+";"),e="t";else{if(1!==this._exps.length)return;e=this._targetExp}for(var i=0;i0&&(i=kL+this.globalVariables.join(",")+";");var n=Ul(["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=e.OptimizationPolicyThreshold)?(t=this._doInstantiate(),this.data._instantiate(t)):t=this.data._instantiate(),++this._instantiatedTimes,t},i.initDefault=function(e){t.prototype.initDefault.call(this,e),this.data=new tg,this.data.name="(Missing Node)";var i=new v._PrefabInfo;i.asset=this,i.root=this.data,this.data._prefab=i},i.validate=function(){return!!this.data},i.onLoaded=function(){var t=this.data;dx(t),_x(t)},e}(ld)).OptimizationPolicy=eF,QL.OptimizationPolicyThreshold=3,KL=Us((qL=QL).prototype,"data",[sa],(function(){return null})),JL=Us(qL.prototype,"optimizationPolicy",[sa],(function(){return eF.AUTO})),ZL=Us(qL.prototype,"persistent",[sa],(function(){return!1})),YL=qL))||YL);wt(iF,"_utils",Ax),v.Prefab=iF,Pt(v,"cc._Prefab","Prefab");var nF=new(function(){function t(){this._allRenderers=[],this._dirtyRenderers=[],this._dirtyVersion=0}var e=t.prototype;return e.addRenderer=function(t){-1===t._internalId&&(t._internalId=this._allRenderers.length,this._allRenderers.push(t))},e.removeRenderer=function(t){if(-1!==t._internalId){var e=t._internalId;this._allRenderers[this._allRenderers.length-1]._internalId=e,ue(this._allRenderers,e),t._internalId=-1,t._dirtyVersion===this._dirtyVersion&&(ce(this._dirtyRenderers,t),t._dirtyVersion=-1)}},e.markDirtyRenderer=function(t){t._dirtyVersion!==this._dirtyVersion&&-1!==t._internalId&&(this._dirtyRenderers.push(t),t._dirtyVersion=this._dirtyVersion)},e.updateAllDirtyRenderers=function(){for(var t=this._dirtyRenderers.length,e=this._dirtyRenderers,i=0;i1){var u=Object.create(null);e.forEach((function(t){u[t._uuid]=t})),r={isCompleted:aF,_map:u}}else r=e[0]}i&&i(t,r)}))},e.getXMLHttpRequest=function(){return new XMLHttpRequest},e.getItem=function(t){return nT.assets.has(t)?{content:nT.assets.get(t)}:null},e.loadRes=function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=r.type,a=r.onProgress,o=r.onComplete,h=_l(t);h&&!rS.getInfoWithPath(t,s)&&(t=t.slice(0,-h.length)),rS.load(t,s,a,o)},e.loadResArray=function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=r.type,a=r.onProgress,o=r.onComplete;t.forEach((function(e,i){var n=_l(e);n&&!rS.getInfoWithPath(e,s)&&(t[i]=e.slice(0,-n.length))})),rS.load(t,s,a,o)},e.loadResDir=function(t,e,i,n){var r=this._parseLoadResArgs(e,i,n),s=r.type,a=r.onProgress,o=r.onComplete;rS.loadDir(t,s,a,(function(e,i){var n=[];e||(n=rS.getDirWithPath(t,s).map((function(t){return t.path}))),o&&o(e,i,n)}))},e.getRes=function(t,e){return Ff.has(t)?Ff.get(t):rS.get(t,e)},e.getResCount=function(){return Ff.count},e.getDependsRecursively=function(t){if(!t)return[];var e="string"==typeof t?t:t._uuid;return Yp.getDepsRecursively(e).concat([e])},e.addDownloadHandlers=function(t){var e=Object.create(null),i=function(){var i=t[n];e["."+n]=function(t,e,n){i({url:t},n)}};for(var n in t)i();wS.register(e)},e.addLoadHandlers=function(t){var e=Object.create(null),i=function(){var i=t[n];e["."+n]=function(t,e,n){i({content:t},n)}};for(var n in t)i();jS.register(e)},e.release=function(t){if(Array.isArray(t))for(var e=0;e2e3&&(t._startTime=performance.now(),t._frameCount=0)},this._frameTime=1e3/this._targetFrameRate,this._rAF=window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame,this._cAF=window.cancelAnimationFrame||window.cancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.webkitCancelRequestAnimationFrame||window.msCancelAnimationFrame||window.mozCancelAnimationFrame||window.webkitCancelAnimationFrame||window.ocancelAnimationFrame}var e=t.prototype;return e.start=function(){var t,e=this;if(!this._isPlaying){var i=void 0===this._rAF||(null===(t=globalThis.__globalXR)||void 0===t?void 0:t.isWebXR);this._startTime=performance.now(),this._stHandle=this._stTime((function t(){i&&(e._startTime=performance.now()),e._isPlaying&&(e._stHandle=e._stTime(t)),e._onTick&&e._onTick()})),this._isPlaying=!0,this._frameCount=0}},e.stop=function(){this._isPlaying&&(this._ctTime(this._stHandle),this._stHandle=0,this._isPlaying=!1,this._frameCount=0)},e._stTime=function(t){var e;if(void 0===this._rAF||null!==(e=globalThis.__globalXR)&&void 0!==e&&e.isWebXR){var i=performance.now(),n=Math.max(0,i-this._startTime),r=Math.max(0,this._frameTime-n);return setTimeout(t,r)}return this._callback=t,this._rAF.call(window,this._handleRAF)},e._ctTime=function(t){var e;void 0===this._cAF||null!==(e=globalThis.__globalXR)&&void 0!==e&&e.isWebXR?clearTimeout(t):t&&this._cAF.call(window,t)},n(t,[{key:"targetFrameRate",get:function(){return this._targetFrameRate},set:function(t){this._targetFrameRate!==t&&(this._targetFrameRate=t,this._frameTime=1e3/this._targetFrameRate,this._isPlaying&&(this.stop(),this.start()))}},{key:"onTick",get:function(){return this._onTick},set:function(t){this._onTick=t}}]),t}();ot(yB.prototype,"RenderPipeline.prototype",[{name:"geometryRenderer",suggest:"please use camera.geometryRenderer instead."}]);var mF=new kn,gF=function(){var t=e.prototype;function e(){this.settings=void 0,this._curTime=0,this.device=void 0,this.swapchain=void 0,this.shader=void 0,this.sampler=void 0,this.cmdBuff=void 0,this.quadAssmebler=void 0,this.vertexBuffers=void 0,this.indicesBuffers=void 0,this.renderArea=void 0,this.clearColors=void 0,this.projection=void 0,this.isMobile=!1,this.bgMat=void 0,this.bgImage=void 0,this.bgTexture=void 0,this.logoMat=void 0,this.logoImage=void 0,this.logoTexture=void 0,this.watermarkMat=void 0,this.watermarkTexture=void 0,this.bgWidth=1920,this.bgHeight=1080,this.bgRatio=16/9,this.logoWidthTemp=140,this.logoHeightTemp=200,this.logoWidth=0,this.logoHeight=0,this.logoXTrans=.5,this.logoYTrans=1/6+2.5/6,this.textSize=24,this.textHeight=24,this.textXTrans=.5,this.textYExtraTrans=32,this.textExpandSize=4,this.scaleSize=1}return t.init=function(){var t,e,i,n,r,s,a=this;if(this.settings={displayRatio:null!==(t=xe.querySettings(Ce.Category.SPLASH_SCREEN,"displayRatio"))&&void 0!==t?t:.4,totalTime:null!==(e=xe.querySettings(Ce.Category.SPLASH_SCREEN,"totalTime"))&&void 0!==e?e:3e3,watermarkLocation:null!==(i=xe.querySettings(Ce.Category.SPLASH_SCREEN,"watermarkLocation"))&&void 0!==i?i:"default",autoFit:null===(n=xe.querySettings(Ce.Category.SPLASH_SCREEN,"autoFit"))||void 0===n||n,logo:null!==(r=xe.querySettings(Ce.Category.SPLASH_SCREEN,"logo"))&&void 0!==r?r:void 0,background:null!==(s=xe.querySettings(Ce.Category.SPLASH_SCREEN,"background"))&&void 0!==s?s:void 0},this._curTime=0,!(this.settings.totalTime<=0||void 0===this.settings.logo||void 0===this.settings.background)){this.device=v.director.root.device,this.swapchain=v.director.root.mainWindow.swapchain,this.preInit(),this.initLayout(),"default"===this.settings.logo.type&&this.initWaterMark();var o=Promise.resolve(),h=Promise.resolve();return"custom"===this.settings.background.type&&(o=new Promise((function(t,e){a.bgImage=new T.Image,a.bgImage.onload=function(){a.initBG(),t()},a.bgImage.onerror=function(){e()},a.bgImage.src=a.settings.background.base64}))),"none"!==this.settings.logo.type&&(h=new Promise((function(t,e){a.logoImage=new T.Image,a.logoImage.onload=function(){a.initLogo(),t()},a.logoImage.onerror=function(){e()},a.logoImage.src=a.settings.logo.base64}))),Promise.all([o,h])}return this.settings.totalTime=0,Promise.resolve([])},t.preInit=function(){var t,e=null===(t=this.settings.background)||void 0===t?void 0:t.color;this.clearColors=e?[new jc(e.x,e.y,e.z,e.w)]:[new jc(0,0,0,1)];var i=this.device,n=this.swapchain;this.renderArea=new kc(0,0,n.width,n.height),this.cmdBuff=i.commandBuffer;var r=new Float32Array([.5,.5,1,0,-.5,.5,0,0,.5,-.5,1,1,-.5,-.5,0,1]),s=4*Float32Array.BYTES_PER_ELEMENT,a=4*s;this.vertexBuffers=i.createBuffer(new Jc(Jl.VERTEX|Jl.TRANSFER_DST,$l.DEVICE,a,s)),this.vertexBuffers.update(r);var o=new Uint16Array([0,1,2,1,3,2]),h=Uint16Array.BYTES_PER_ELEMENT,u=6*h;this.indicesBuffers=i.createBuffer(new Jc(Jl.INDEX|Jl.TRANSFER_DST,$l.DEVICE,u,h)),this.indicesBuffers.update(o);var l=[new f_("a_position",Yl.RG32F),new f_("a_texCoord",Yl.RG32F)],c=new p_(l,[this.vertexBuffers],this.indicesBuffers);this.quadAssmebler=i.createInputAssembler(c),this.projection=new Mn,Mn.ortho(this.projection,-1,1,-1,1,-1,1,i.capabilities.clipSpaceMinZ,i.capabilities.clipSpaceSignY,n.surfaceTransform),this.isMobile=Bl.isMobile},t.initLayout=function(){this.isMobile?(this.bgWidth=812,this.bgHeight=375,this.logoWidthTemp=70,this.logoHeightTemp=100,this.textSize=12,this.textHeight=this.textSize+this.textExpandSize,this.textXTrans=.5,this.textYExtraTrans=16):(this.bgWidth=1920,this.bgHeight=1080,this.logoWidthTemp=140,this.logoHeightTemp=200,this.textSize=24,this.textHeight=this.textSize+this.textExpandSize,this.textXTrans=.5,this.textYExtraTrans=32),this.logoXTrans=.5,this.logoYTrans=1/6+2.5/6,this.initScale()},t.initScale=function(){var t=this.swapchain.width,e=this.swapchain.height,i=this.isMobile?375:1080,n=this.isMobile?812:1920;if(t>e){var r=n;n=i,i=r}this.scaleSize=t/e>16/9?e/n:t/i},t.update=function(t){var e=this.settings,i=this.device,n=this.swapchain;Mn.ortho(this.projection,-1,1,-1,1,-1,1,i.capabilities.clipSpaceMinZ,i.capabilities.clipSpaceSignY,n.surfaceTransform);var r=n.width,s=n.height;this.initScale(),this._curTime+=1e3*t;var a=ao(Bi(this._curTime/e.totalTime)),o=1,h=1;"custom"===this.settings.background.type&&(r=this.settings.totalTime}},{key:"curTime",get:function(){return this._curTime},set:function(t){this._curTime=t}}],[{key:"instance",get:function(){return e._ins||(e._ins=new e),e._ins}}]),e}();gF._ins=void 0,v.internal.SplashScreen=gF;var yF=new(function(){function t(){this._data=null}return t.prototype.init=function(t){var e=this;return void 0===t&&(t=""),v.rendering&&v.rendering.enableEffectImport&&t?new Promise((function(i,n){var r=new XMLHttpRequest;r.open("GET",t),r.responseType="arraybuffer",r.onload=function(){e._data=r.response,i()},r.onerror=function(){n(new Error("request effect settings failed!"))},r.send(null)})):Promise.resolve()},n(t,[{key:"data",get:function(){return this._data}}]),t}());v.effectSettings=yF;var vF=t("e5",function(t){function i(){for(var e,i=arguments.length,n=new Array(i),r=0;rthis._startTime?(e-this._startTime)/1e3:0,this._deltaTime>i.DEBUG_DT_THRESHOLD&&(this._deltaTime=this.frameTime/1e3),this._startTime=e,this._deltaTime},r._updateCallback=function(){var t=this;if(this._inited)if(gF.instance.isFinished)if(this._shouldLoadLaunchScene){this._shouldLoadLaunchScene=!1;var e,i=xe.querySettings(Ce.Category.LAUNCH,"launchScene");i?dF.loadScene(i,(function(){var e;q(1103,i),t._initTime=performance.now(),dF.startAnimation(),null===(e=t.onStart)||void 0===e||e.call(t)})):(this._initTime=performance.now(),dF.startAnimation(),null===(e=this.onStart)||void 0===e||e.call(this))}else dF.tick(this._calculateDT(!1));else gF.instance.update(this._calculateDT(!1))},r.initPacer=function(){var t,e=null!==(t=xe.querySettings(Ce.Category.SCREEN,"frameRate"))&&void 0!==t?t:60;z("number"==typeof e),this._pacer=new pF,this._pacer.onTick=this._updateCallback.bind(this),this.frameRate=e},r._initEvents=function(){ol.on("show",this._onShow,this),ol.on("hide",this._onHide,this),ol.on("close",this._onClose,this)},r._onHide=function(){this.emit(i.EVENT_HIDE),this.pauseByEngine()},r._onShow=function(){this.emit(i.EVENT_SHOW),this.resumeByEngine()},r._onClose=function(){this.emit(i.EVENT_CLOSE),ol.exit()},r.addPersistRootNode=function(t){dF.addPersistRootNode(t)},r.removePersistRootNode=function(t){dF.removePersistRootNode(t)},r.isPersistRootNode=function(t){return dF.isPersistRootNode(t)},r._setupRenderPipeline=function(){var t=this,e=xe.querySettings(Ce.Category.RENDERING,"renderPipeline");return e?new Promise((function(t,i){nT.loadAny(e,(function(e,n){return!e&&n instanceof yB?t(n):i(e)}))})).then((function(e){t._setRenderPipeline(e)})).catch((function(i){V(i),V("Failed load render pipeline: "+e+", engine failed to initialize, will fallback to default pipeline"),t._setRenderPipeline()})):this._setRenderPipeline()},r._setRenderPipeline=function(t){dF.root.setRenderPipeline(t)||this._setRenderPipeline(),this._rendererInitialized=!0,this._safeEmit(i.EVENT_RENDERER_INITED)},r._safeEmit=function(t){this.emit(t)},n(i,[{key:"inited",get:function(){return this._inited}},{key:"frameRate",get:function(){return this._frameRate},set:function(t){"number"!=typeof t&&(t=parseInt(t,10),Number.isNaN(t)&&(t=60)),this._frameRate=t,this.frameTime=1e3/t,this._pacer&&(this._pacer.targetFrameRate=this._frameRate)}},{key:"deltaTime",get:function(){return this._useFixedDeltaTime?this.frameTime/1e3:this._deltaTime}},{key:"totalTime",get:function(){return performance.now()-this._initTime}},{key:"frameStartTime",get:function(){return this._startTime}}]),i}($u));vF.EVENT_HIDE="game_on_hide",vF.EVENT_SHOW="game_on_show",vF.EVENT_LOW_MEMORY="game_on_low_memory",vF.EVENT_GAME_INITED="game_inited",vF.EVENT_ENGINE_INITED="engine_inited",vF.EVENT_RENDERER_INITED="renderer_inited",vF.EVENT_PRE_BASE_INIT="pre_base_init",vF.EVENT_POST_BASE_INIT="post_base_init",vF.EVENT_PRE_INFRASTRUCTURE_INIT="pre_infrastructure_init",vF.EVENT_POST_INFRASTRUCTURE_INIT="post_infrastructure_init",vF.EVENT_PRE_SUBSYSTEM_INIT="pre_subsystem_init",vF.EVENT_POST_SUBSYSTEM_INIT="post_subsystem_init",vF.EVENT_PRE_PROJECT_INIT="pre_project_init",vF.EVENT_POST_PROJECT_INIT="post_project_init",vF.EVENT_RESTART="game_on_restart",vF.EVENT_PAUSE="game_on_pause",vF.EVENT_RESUME="game_on_resume",vF.EVENT_CLOSE="game_on_close",vF.RENDER_TYPE_CANVAS=0,vF.RENDER_TYPE_WEBGL=1,vF.RENDER_TYPE_OPENGL=2,vF.RENDER_TYPE_HEADLESS=3,vF.DEBUG_DT_THRESHOLD=1,v.Game=vF;var SF=t("e6",v.game=new vF);ot(fF.prototype,"director",[{name:"calculateDeltaTime"},{name:"getDeltaTime",suggest:"Use game.deltaTime instead"},{name:"getTotalTime",suggest:"Use game.totalTime instead"},{name:"getCurrentTime",suggest:"Use game.frameStartTime instead"}]),at(fF.prototype,"director",[{name:"setAnimationInterval",suggest:"please use game.frameRate instead"},{name:"getAnimationInterval",suggest:"please use game.frameRate instead"},{name:"getRunningScene",suggest:"please use getScene instead"},{name:"setDepthTest",suggest:"please use camera API instead"},{name:"setClearColor",suggest:"please use camera API instead"},{name:"getWinSize",suggest:"please use view.getVisibleSize instead"},{name:"getWinSizeInPixels"},{name:"purgeCachedData",suggest:"please use assetManager.releaseAll instead"},{name:"convertToGL"},{name:"convertToUI"}]),st(dF,"director",[{name:"_getSceneUuid",targetName:"assetManager.main",newName:"getSceneInfo",customFunction:function(t){var e;return nT.main?null===(e=nT.main.getSceneInfo(t))||void 0===e?void 0:e.uuid:""}}]),ot(SF,"game",[{name:"collisionMatrix"},{name:"groupList"}]),st(SF,"game",[{name:"_sceneInfos",targetName:"assetManager.main",newName:"getSceneInfo",customGetter:function(){var t=[];return nT.main&&nT.main.config.scenes.forEach((function(e){t.push(e)})),t}}]);var TF=t("a2",function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r=0;e--)ce(this._atlases[e]._innerSpriteFrames,t);var i=t._original._texture;this.deleteAtlasTexture(i)}},i.deleteAtlasTexture=function(t){if(t)for(var e=this._atlases.length-1;e>=0;e--)this._atlases[e].deleteInnerTexture(t),this._atlases[e].isEmpty()&&(this._atlases[e].destroy(),this._atlases.splice(e,1),this._atlasIndex--)},i.packToDynamicAtlas=function(t,e){if(this._enabled&&e&&!e._original&&e.packable&&e.texture&&e.texture.width>0&&e.texture.height>0){var i=this.insertSpriteFrame(e);i&&e._setDynamicAtlasFrame(i)}},n(e,[{key:"enabled",get:function(){return this._enabled},set:function(t){this._enabled!==t&&(t?(this.reset(),v.director.on(v.Director.EVENT_BEFORE_SCENE_LAUNCH,this.beforeSceneLoad,this)):(this.reset(),v.director.off(v.Director.EVENT_BEFORE_SCENE_LAUNCH,this.beforeSceneLoad,this)),this._enabled=t)}},{key:"maxAtlasCount",get:function(){return this._maxAtlasCount},set:function(t){this._maxAtlasCount=t}},{key:"atlasCount",get:function(){return this._atlases.length}},{key:"textureBleeding",get:function(){return this._textureBleeding},set:function(t){this._textureBleeding=t}},{key:"textureSize",get:function(){return this._textureSize},set:function(t){this._textureSize=t}},{key:"maxFrameSize",get:function(){return this._maxFrameSize},set:function(t){this._maxFrameSize=t}}]),e}(Nu));TF.instance=void 0;var AF,bF=t("a3",TF.instance=new TF);dF.registerSystem("dynamicAtlasManager",bF,0),v.internal.dynamicAtlasManager=bF,function(t){t[t.positions=Pc.ATTR_POSITION]="positions",t[t.normals=Pc.ATTR_NORMAL]="normals",t[t.uvs=Pc.ATTR_TEX_COORD]="uvs",t[t.colors=Pc.ATTR_COLOR]="colors"}(AF||(AF={}));var EF=function(){function t(){this._arrayBufferOrPaddings=[],this._length=0}var e=t.prototype;return e.setNextAlignment=function(t){if(0!==t){var e=this._length%t;if(0!==e){var i=t-e;this._arrayBufferOrPaddings.push(i),this._length+=i}}},e.addBuffer=function(t){var e=this._length;return this._arrayBufferOrPaddings.push(t),this._length+=t.byteLength,e},e.getLength=function(){return this._length},e.getCombined=function(){var t=new Uint8Array(this._length),e=0;return this._arrayBufferOrPaddings.forEach((function(i){"number"==typeof i?e+=i:(t.set(new Uint8Array(i),e),e+=i.byteLength)})),t.buffer},t}(),CF=function(){function t(t,e){if(this._mesh=void 0,this._subMeshRenderings=[],this._mesh=t,this._mesh.struct.morph){var i=this._mesh.struct.primitives.length;this._subMeshRenderings=new Array(i).fill(null);for(var n=0;nhy.MAX_MORPH_TARGET_COUNT?this._subMeshRenderings[n]=new wF(this._mesh,n,this._mesh.struct.morph,e):this._subMeshRenderings[n]=new xF(this._mesh,n,this._mesh.struct.morph,e))}}}return t.prototype.createInstance=function(){for(var t=this,e=this._mesh.struct.primitives.length,i=new Array(e),n=0;n>1;return{width:1<<(1&e?i+1:i),height:1<>>0;t=n}for(var r,s=1,a=0,o=t.length,h=0;0>>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>>8&255]<<16|f[t>>>16&255]<<8|f[t>>>24&255])>>32-e:f[t]>>8-e),8>e+a)o=o<>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 0h;++h){for(var l=_=h,c=7,_=_>>>1;_;_>>>=1)l<<=1,l|=1&_,--c;u[h]=(l<>>0}var f=u;function d(t){this.buffer=new(s?Uint16Array:Array)(2*t),this.length=0}function p(t){var e,i,n,r,a,o,h,u,l,c=t.length,_=0,f=Number.POSITIVE_INFINITY;for(u=0;u_&&(_=t[u]),t[u]>=1;for(l=o;ls[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},d.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+2s[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 g,y=2,v={NONE:0,r:1,j:y,N:3},S=[];for(g=0;288>g;g++)switch(i){case 143>=g:S.push([g+48,8]);break;case 255>=g:S.push([g-144+400,9]);break;case 279>=g:S.push([g-256+0,7]);break;case 287>=g:S.push([g-280+192,8]);break;default:t("invalid literal: "+g)}function T(t,e){this.length=t,this.G=e}function A(){var e=b;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)}}m.prototype.n=function(){var n,r,a,h,u=this.input;switch(this.h){case 0:for(a=0,h=u.length;a>>8&255,g[v++]=255&_,g[v++]=_>>>8&255,s)g.set(f,v),v+=f.length,g=g.subarray(0,v);else{for(p=0,m=f.length;pK)for(;0K?K:138)>K-3&&Q=Q?(it[Z++]=17,it[Z++]=Q-3,nt[17]++):(it[Z++]=18,it[Z++]=Q-11,nt[18]++),K-=Q;else if(it[Z++]=et[Y],nt[et[Y]]++,3>--K)for(;0K?K:6)>K-3&&Qz;z++)j[z]=k[X[z]];for(P=19;4=b;b++)E=A(),C[b]=E[2]<<24|E[1]<<16|E[0];var x=s?new Uint32Array(C):C;function w(n,r){function a(e,n){var r,s,a,o,h=e.G,u=[],l=0;switch(r=x[e.length],u[l++]=65535&r,u[l++]=r>>16&255,u[l++]=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,u[l++]=r[0],u[l++]=r[1],u[l++]=r[2],a=0,o=u.length;a=u;)S[u++]=0;for(u=0;29>=u;)A[u++]=0}for(S[256]=1,o=0,h=r.length;o=h){for(d&&a(d,-1),u=0,l=h-o;uR&&o+Rw&&(C=E,w=R),258===R)break}f=new T(w,o-C),d?d.length2*v[f-1]+S[f]&&(v[f]=2*v[f-1]+S[f]),A[f]=Array(v[f]),b[f]=Array(v[f]);for(_=0;_r[_]?(A[f][p]=m,b[f][p]=y,g+=2):(A[f][p]=r[_],b[f][p]=_,++_);E[f]=0,1===S[f]&&i(f)}for(a=T,o=0,h=n.length;o1<l&&t("undercommitted"),i=0,n=e.length;i>>=1;return o}function D(t,e){this.input=t,this.a=new(s?Uint8Array:Array)(32768),this.h=B.j;var i,n={};for(i in!e&&(e={})||"number"!=typeof e.compressionType||(this.h=e.compressionType),e)n[i]=e[i];n.outputBuffer=this.a,this.z=new m(this.input,n)}var B=v;function M(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 P: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"))}}D.prototype.n=function(){var e,i,n,r,o,h,u,l=0;switch(u=this.a,e=lt){case lt:i=Math.LOG2E*Math.log(32768)-8;break;default:t(Error("invalid compression method"))}switch(n=i<<4|e,u[l++]=n,e){case lt:switch(this.h){case B.NONE:o=0;break;case B.r:o=1;break;case B.j:o=2;break;default:t(Error("unsupported compression type"))}break;default:t(Error("invalid compression method"))}return r=o<<6|0,u[l++]=r|31-(256*n+r)%31,h=a(this.input),this.z.b=l,l=(u=this.z.n()).length,s&&((u=new Uint8Array(u.buffer)).length<=l+4&&(this.a=new Uint8Array(u.length+4),this.a.set(u),u=this.a),u=u.subarray(0,l+4)),u[l++]=h>>24&255,u[l++]=h>>16&255,u[l++]=h>>8&255,u[l++]=255&h,u},r("Zlib.Deflate",D),r("Zlib.Deflate.compress",(function(t,e){return new D(t,e).n()})),r("Zlib.Deflate.CompressionType",B),r("Zlib.Deflate.CompressionType.NONE",B.NONE),r("Zlib.Deflate.CompressionType.FIXED",B.r),r("Zlib.Deflate.CompressionType.DYNAMIC",B.j);var P=0,O=1,L={D:P,C:O};M.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,u=e,l=e,c=e,_=o.length,f=e;switch(this.e=this.g=0,(u=r[a++])===e&&t(Error("invalid uncompressed block header: LEN (first byte)")),l=u,(u=r[a++])===e&&t(Error("invalid uncompressed block header: LEN (second byte)")),l|=u<<8,(u=r[a++])===e&&t(Error("invalid uncompressed block header: NLEN (first byte)")),c=u,(u=r[a++])===e&&t(Error("invalid uncompressed block header: NLEN (second byte)")),l===~(c|=u<<8)&&t(Error("invalid uncompressed block header: length verify")),a+l>r.length&&t(Error("input buffer is broken")),this.m){case P:for(;h+l>o.length;){if(l-=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+l>o.length;)o=this.f({v:2});break;default:t(Error("invalid inflate mode"))}if(s)o.set(r.subarray(a,a+l),h),h+=l,a+=l;else for(;l--;)o[h++]=r[a++];this.c=a,this.b=h,this.a=o;break;case 1:this.o(Z,$);break;case 2:it(this);break;default:t(Error("unknown BTYPE: "+n))}}return this.t()};var F,N,k=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],G=s?new Uint16Array(k):k,V=[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],U=s?new Uint16Array(V):V,z=[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],H=s?new Uint8Array(z):z,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],X=s?new Uint16Array(W):W,j=[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(j):j,q=new(s?Uint8Array:Array)(288);for(F=0,N=q.length;F=F?8:255>=F?9:279>=F?7:8;var K,J,Z=p(q),Q=new(s?Uint8Array:Array)(30);for(K=0,J=Q.length;K>>n,i.e=a-n,i.c=h,r}function et(i,n){for(var r,s,a,o=i.g,h=i.e,u=i.input,l=i.c,c=n[0],_=n[1];h<_;)(r=u[l++])===e&&t(Error("input buffer is broken")),o|=r<>>16,i.g=o>>a,i.e=h-a,i.c=l,65535&s}function it(t){function e(t,e,i){var n,r,s,a;for(a=0;ar)n>=h&&(this.b=n,i=this.f(),n=this.b),i[n++]=r;else for(o=U[s=r-257],0=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},M.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&&(h=(i=this.f()).length),i[n++]=r;else for(o=U[s=r-257],0h&&(h=(i=this.f()).length);o--;)i[n]=i[n++-a];for(;8<=this.e;)this.e-=8,this.c--;this.b=n},M.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;tt;++t)r[t]=r[n+t];return this.b=32768,r},M.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)),i=2>r?(n=(a.length-this.c)/this.u[2]/2*258|0)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);var rt,st,at=new(s?Uint8Array:Array)(288);for(rt=0,st=at.length;rt=rt?8:255>=rt?9:279>=rt?7:8;p(at);var ot,ht,ut=new(s?Uint8Array:Array)(30);for(ot=0,ht=ut.length;ot=65536){J(10001,L,65536);continue}P>>=1,O>>=1}D=E.createBuffer(new Jc(Jl.INDEX,$l.DEVICE,O,P)),x.push(D),B=new(HF(M.stride))(b,M.offset,M.count),M.stride!==P&&(B=HF(P).from(B)),D.update(B)}var F=I.vertexBundelIndices.map((function(t){return C[t]})),N=[];if(I.vertexBundelIndices.length>0)for(var k=I.vertexBundelIndices[0],G=this._struct.vertexBundles[k].attributes,V=0;V=this._struct.primitives.length)J(14201);else{var i=[];if(e.positions.length>0&&i.push(e.positions),e.normals&&e.normals.length>0&&i.push(e.normals),e.uvs&&e.uvs.length>0&&i.push(e.uvs),e.tangents&&e.tangents.length>0&&i.push(e.tangents),e.colors&&e.colors.length>0&&i.push(e.colors),e.customAttributes)for(var n=0;n0&&(m.set(g),y.update(g,p)),c.view.count=d,h.vertexCount=d}if(a.indexView){var v=a.indexView,S=v.stride,T=2===S?e.indices16.length:e.indices32.length,A=T*S,b=new Uint8Array(this._data.buffer,v.offset,A),E=2===S?new Uint8Array(e.indices16.buffer,e.indices16.byteOffset,A):new Uint8Array(e.indices32.buffer,e.indices32.byteOffset,A),C=o.indexBuffer;s.maxSubMeshIndices,A>0&&(b.set(E),C.update(E,A)),v.count=T,h.indexCount=T}if(e.minPos&&e.maxPos){var x=new un(e.minPos.x,e.minPos.y,e.minPos.z),w=new un(e.maxPos.x,e.maxPos.y,e.maxPos.z);r.bounds[t]||(r.bounds[t]=new bs),bs.fromPoints(r.bounds[t],x,w);for(var R,I=new un,D=new un,B=f(r.bounds);!(R=B()).done;){var M=R.value;M&&(M.getBoundary(I,D),un.min(x,I,x),un.max(w,D,w))}this._struct.minPosition=new un(x.x,x.y,x.z),this._struct.maxPosition=new un(w.x,w.y,w.z)}o.invalidateGeometricInfo()}else J(14200)},i.destroy=function(){return this.destroyRenderingMesh(),t.prototype.destroy.call(this)},i.destroyRenderingMesh=function(){if(this._renderingSubMeshes){for(var t=0;t=n.length)){un.transformMat4(XF,WF,n[d]),i[d]=!0;var p=e[d];un.min(p.center,p.center,XF),un.max(p.halfExtents,p.halfExtents,XF)}}}}for(var m=0;m=this._struct.primitives.length)return null;var e=this._struct.primitives[t];if(!e.indexView)return null;var i=e.indexView.stride;return new(1===i?Uint8Array:2===i?Uint16Array:Uint32Array)(this._data.buffer,e.indexView.offset,e.indexView.count)},i.copyIndices=function(t,e){if(t>=this._struct.primitives.length)return!1;var i=this._struct.primitives[t];if(!i.indexView)return!1;for(var n=i.indexView.count,r=1===i.indexView.stride?Yl.R8UI:2===i.indexView.stride?Yl.R16UI:Yl.R32UI,s=ZF(new DataView(this._data.buffer),r),a=0;a=this._struct.primitives.length))for(var n,r=f(this._struct.primitives[t].vertexBundelIndices);!(n=r()).done;){var s=n.value,a=this._struct.vertexBundles[s],o=a.attributes.findIndex((function(t){return t.name===e}));if(!(o<0)){i(a,o);break}}},i._createVertexBuffers=function(t,e){return this._struct.vertexBundles.map((function(i){var n=t.createBuffer(new Jc(Jl.VERTEX,$l.DEVICE,i.view.length,i.view.stride)),r=new Uint8Array(e,i.view.offset,i.view.length);return n.update(r),n}))},i.initDefault=function(e){t.prototype.initDefault.call(this,e),this.reset({struct:{vertexBundles:[],primitives:[]},data:jF})},i.releaseData=function(){this._data=jF},n(e,[{key:"_nativeAsset",get:function(){return this._data.buffer},set:function(t){this._data=new Uint8Array(t)}},{key:"subMeshCount",get:function(){var t=this.renderingSubMeshes;return t?t.length:0}},{key:"minPosition",get:function(){return this.struct.minPosition}},{key:"maxPosition",get:function(){return this.struct.maxPosition}},{key:"struct",get:function(){return this._struct}},{key:"data",get:function(){return this._data}},{key:"hash",get:function(){return this._hash||(this._hash=Ll(this._data,666)),this._hash}},{key:"jointBufferIndices",get:function(){return this._jointBufferIndices?this._jointBufferIndices:this._jointBufferIndices=this._struct.primitives.map((function(t){return t.jointMapIndex||0}))}},{key:"renderingSubMeshes",get:function(){return this.initialize(),this._renderingSubMeshes}},{key:"allowDataAccess",get:function(){return this._allowDataAccess},set:function(t){this._allowDataAccess=t,this._isMeshDataUploaded&&!this._allowDataAccess&&this.releaseData()}}]),e}(ld),GF=Us(kF.prototype,"_struct",[sa],(function(){return{vertexBundles:[],primitives:[]}})),VF=Us(kF.prototype,"_hash",[sa],(function(){return 0})),UF=Us(kF.prototype,"_allowDataAccess",[sa],(function(){return!0})),NF=kF))||NF);function qF(t,e){for(var i=0,n=0;n0){if(n=null,t.attributes)for(var u,l=f(t.attributes);!(u=l()).done;){var c=u.value;if(c.name===Pc.ATTR_POSITION){n=c;break}}n||(n=eN[0]),r.push(n);var _=k_[n.format];o=Math.max(o,Math.floor(h.length/_.count)),a.push({offset:s,data:h,attribute:n}),s+=_.size}if(t.normals&&t.normals.length>0){if(n=null,t.attributes)for(var d,p=f(t.attributes);!(d=p()).done;){var m=d.value;if(m.name===Pc.ATTR_NORMAL){n=m;break}}n||(n=eN[1]);var g=k_[n.format];r.push(n),o=Math.max(o,Math.floor(t.normals.length/g.count)),a.push({offset:s,data:t.normals,attribute:n}),s+=g.size}if(t.uvs&&t.uvs.length>0){if(n=null,t.attributes)for(var y,v=f(t.attributes);!(y=v()).done;){var S=y.value;if(S.name===Pc.ATTR_TEX_COORD){n=S;break}}n||(n=eN[2]);var T=k_[n.format];r.push(n),o=Math.max(o,Math.floor(t.uvs.length/T.count)),a.push({offset:s,data:t.uvs,attribute:n}),s+=T.size}if(t.tangents&&t.tangents.length>0){if(n=null,t.attributes)for(var A,b=f(t.attributes);!(A=b()).done;){var E=A.value;if(E.name===Pc.ATTR_TANGENT){n=E;break}}n||(n=eN[3]);var C=k_[n.format];r.push(n),o=Math.max(o,Math.floor(t.tangents.length/C.count)),a.push({offset:s,data:t.tangents,attribute:n}),s+=C.size}if(t.colors&&t.colors.length>0){if(n=null,t.attributes)for(var x,w=f(t.attributes);!(x=w()).done;){var R=x.value;if(R.name===Pc.ATTR_COLOR){n=R;break}}n||(n=eN[4]);var I=k_[n.format];r.push(n),o=Math.max(o,Math.floor(t.colors.length/I.count)),a.push({offset:s,data:t.colors,attribute:n}),s+=I.size}if(t.customAttributes)for(var D=0;D0){var i=t%e;if(0!==i)return e-i}return 0}var sN,aN,oN=function(){function t(){}return t.createMesh=function(t,e,i){return nN(t,e,i)},t.createDynamicMesh=function(t,e,i,n){return function(t,e,i,n){n=n||{maxSubMeshes:1,maxSubMeshVertices:1024,maxSubMeshIndices:1024};var r=[],s=0;if(e.positions.length>0&&r.push(new f_(Pc.ATTR_POSITION,Yl.RGB32F,!1,s++,!1,0)),e.normals&&e.normals.length>0&&r.push(new f_(Pc.ATTR_NORMAL,Yl.RGB32F,!1,s++,!1,0)),e.uvs&&e.uvs.length>0&&r.push(new f_(Pc.ATTR_TEX_COORD,Yl.RG32F,!1,s++,!1,0)),e.tangents&&e.tangents.length>0&&r.push(new f_(Pc.ATTR_TANGENT,Yl.RGBA32F,!1,s++,!1,0)),e.colors&&e.colors.length>0&&r.push(new f_(Pc.ATTR_COLOR,Yl.RGBA32F,!1,s++,!1,0)),e.customAttributes)for(var a=0;a0?A=2:e.indices32&&e.indices32.length>0&&(A=4),A>0){c+=rN(c,A);var b=n.maxSubMeshIndices*A,E={offset:c,length:b,count:0,stride:A};p.indexView=E,c+=b}l.push(p)}var C={info:{maxSubMeshes:n.maxSubMeshes,maxSubMeshVertices:n.maxSubMeshVertices,maxSubMeshIndices:n.maxSubMeshIndices},bounds:[]};C.bounds.length=n.maxSubMeshes;var x={struct:{vertexBundles:u,primitives:l,dynamic:C},data:new Uint8Array(c)};return i||(i=new YF),i.reset(x),i.initialize(),i.updateSubMesh(t,e),i}(t,e,i,n)},t.decodeMesh=function(t){return $F(t)},t.inflateMesh=function(t){return tN(t)},t}(),hN=Object.freeze({__proto__:null,find:oL,toPPM:function(t,e,i){return"P3 "+e+" "+i+" 255\n"+t.filter((function(t,e){return e%4<3})).toString()+"\n"},readMesh:function(t,e){void 0===e&&(e=0);for(var i,n={positions:[]},r=new DataView(t.data.buffer,t.data.byteOffset,t.data.byteLength),s=t.struct,a=s.primitives[e],o=f(a.vertexBundelIndices);!(i=o()).done;)for(var h,u=i.value,l=s.vertexBundles[u],c=l.view.offset,_=l.view,d=_.length,p=_.stride,m=f(l.attributes);!(h=m()).done;){var g=h.value,y=AF[g.name];y&&(n[y]=(n[y]||[]).concat(BR(r,g.format,c,d,p))),c+=k_[g.format].size}var v=a.indexView;return n.indices=BR(r,Yl["R"+8*v.stride+"UI"],v.offset,v.length),n},createMesh:nN,MeshUtils:oN,readBuffer:BR,writeBuffer:DR,mapBuffer:MR});t("a6",hN);var uN,lN=new un,cN=new Mn;!function(t){t[t.RECT=0]="RECT",t[t.POLYGON=1]="POLYGON"}(uN||(uN={}));var _N,fN,dN,pN=[{u:0,v:0},{u:0,v:0},{u:0,v:0},{u:0,v:0}],mN=t("d",Js("cc.SpriteFrame")(((aN=function(t){function e(){var e;return(e=t.call(this)||this).vertices=null,e.uv=[],e.unbiasUV=[],e.uvSliced=[],e._rect=new Wn,e._trimmedBorder=new rn,e._offset=new kn,e._originalSize=new zn,e._rotated=!1,e._capInsets=[0,0,0,0],e._atlasUuid="",e._texture=void 0,e._isFlipUVY=!1,e._isFlipUVX=!1,e._original=null,e._packable=!0,e._pixelsToUnit=100,e._pivot=new kn(.5,.5),e._meshType=uN.RECT,e._extrude=0,e._customOutLine=[],e._minPos=new un,e._maxPos=new un,e}s(e,t),e.createWithImage=function(t){var i=t instanceof Md?t:new Md(t),n=new im;n.image=i;var r=new e;return r.texture=n,r};var i=e.prototype;return i.textureLoaded=function(){return!!this.texture},i.isRotated=function(){return this._rotated},i.setRotated=function(t){this.rotated=t},i.getRect=function(t){return t?(t.set(this._rect),t):this._rect.clone()},i.setRect=function(t){this.rect=t},i.getOriginalSize=function(t){return t?(t.set(this._originalSize),t):this._originalSize.clone()},i.setOriginalSize=function(t){this.originalSize=t},i.getOffset=function(t){return t?(t.set(this._offset),t):this._offset.clone()},i.setOffset=function(t){this.offset=t},i.getGFXTexture=function(){return this._texture.getGFXTexture()},i.getGFXSampler=function(){return this._texture.getGFXSampler()},i.getHash=function(){return this._texture.getHash()},i.getSamplerInfo=function(){return this._texture.getSamplerInfo()},i.reset=function(t,e){void 0===e&&(e=!1);var i=!1;e&&(this._originalSize.set(0,0),this._rect.set(0,0,0,0),this._offset.set(0,0),this._capInsets=[0,0,0,0],this._rotated=!1,i=!0),t&&(t.texture&&(this._rect.x=this._rect.y=0,this._rect.width=t.texture.width,this._rect.height=t.texture.height,this._refreshTexture(t.texture),this.checkRect(this._texture)),t.originalSize&&this._originalSize.set(t.originalSize),t.rect&&this._rect.set(t.rect),t.offset&&this._offset.set(t.offset),void 0!==t.borderTop&&(this._capInsets[1]=t.borderTop),void 0!==t.borderBottom&&(this._capInsets[3]=t.borderBottom),void 0!==t.borderLeft&&(this._capInsets[0]=t.borderLeft),void 0!==t.borderRight&&(this._capInsets[2]=t.borderRight),void 0!==t.isRotate&&(this._rotated=!!t.isRotate),void 0!==t.isFlipUv&&(this._isFlipUVY=!!t.isFlipUv),i=!0),i&&this.texture&&this._calculateUV(),this._calcTrimmedBorder()},i.checkRect=function(t){var e=this._rect,i=e.x,n=e.y;return this._rotated?(i+=e.height,n+=e.width):(i+=e.width,n+=e.height),i>t.width?(Q(3300,this.name+"/"+t.name,i,t.width),!1):!(n>t.height&&(Q(3301,this.name+"/"+t.name,n,t.height),1))},i._calcTrimmedBorder=function(){var t=this._originalSize.width,e=this._originalSize.height,i=.5*(t-this._rect.width),n=.5*(e-this._rect.height);this._trimmedBorder.x=this._offset.x+i,this._trimmedBorder.y=this._offset.x-i,this._trimmedBorder.z=this._offset.y+n,this._trimmedBorder.w=this._offset.y-n},i.ensureMeshData=function(){this._mesh||(this._initVertices(),this._createMesh())},i.destroy=function(){return this._packable&&bF&&bF.deleteAtlasSpriteFrame(this),t.prototype.destroy.call(this)},i._calculateSlicedUV=function(){var t=this._rect,i=this.texture,n=i.width,r=i.height,s=this._capInsets[0],a=this._capInsets[2],o=t.width-s-a,h=this._capInsets[1],u=this._capInsets[3],l=t.height-h-u,c=this.uvSliced;if(c.length=0,this._rotated){pN[0].u=t.x/n,pN[1].u=(t.x+u)/n,pN[2].u=(t.x+u+l)/n,pN[3].u=(t.x+t.height)/n,pN[3].v=t.y/r,pN[2].v=(t.y+s)/r,pN[1].v=(t.y+s+o)/r,pN[0].v=(t.y+t.width)/r;for(var _=0;_<4;++_)for(var f=pN[_],d=0;d<4;++d){var p=pN[3-d];c.push({u:f.u,v:p.v})}}else{pN[0].u=t.x/n,pN[1].u=(t.x+s)/n,pN[2].u=(t.x+s+o)/n,pN[3].u=(t.x+t.width)/n,pN[3].v=t.y/r,pN[2].v=(t.y+h)/r,pN[1].v=(t.y+h+l)/r,pN[0].v=(t.y+t.height)/r;for(var m=0;m<4;++m)for(var g=pN[m],y=0;y<4;++y){var v=pN[y];c.push({u:v.u,v:g.v})}}this.emit(e.EVENT_UV_UPDATED,this)},i._calculateUV=function(){var t=this._rect,e=this.uv,i=this.unbiasUV,n=this.texture,r=n.width,s=n.height;if(this._rotated){var a=0===r?0:t.x/r,o=0===r?1:(t.x+t.height)/r,h=0===s?0:t.y/s,u=0===s?1:(t.y+t.width)/s;this._isFlipUVX&&this._isFlipUVY?(e[0]=o,e[1]=u,e[2]=o,e[3]=h,e[4]=a,e[5]=u,e[6]=a,e[7]=h):this._isFlipUVX?(e[0]=o,e[1]=h,e[2]=o,e[3]=u,e[4]=a,e[5]=h,e[6]=a,e[7]=u):this._isFlipUVY?(e[0]=a,e[1]=u,e[2]=a,e[3]=h,e[4]=o,e[5]=u,e[6]=o,e[7]=h):(e[0]=a,e[1]=h,e[2]=a,e[3]=u,e[4]=o,e[5]=h,e[6]=o,e[7]=u);var l=0===r?0:t.x/r,c=0===r?1:(t.x+t.height)/r,_=0===s?0:t.y/s,f=0===s?1:(t.y+t.width)/s;this._isFlipUVX&&this._isFlipUVY?(i[0]=c,i[1]=f,i[2]=c,i[3]=_,i[4]=l,i[5]=f,i[6]=l,i[7]=_):this._isFlipUVX?(i[0]=c,i[1]=_,i[2]=c,i[3]=f,i[4]=l,i[5]=_,i[6]=l,i[7]=f):this._isFlipUVY?(i[0]=l,i[1]=f,i[2]=l,i[3]=_,i[4]=c,i[5]=f,i[6]=c,i[7]=_):(i[0]=l,i[1]=_,i[2]=l,i[3]=f,i[4]=c,i[5]=_,i[6]=c,i[7]=f)}else{var d=0===r?0:t.x/r,p=0===r?1:(t.x+t.width)/r,m=0===s?1:(t.y+t.height)/s,g=0===s?0:t.y/s;this._isFlipUVX&&this._isFlipUVY?(e[0]=p,e[1]=g,e[2]=d,e[3]=g,e[4]=p,e[5]=m,e[6]=d,e[7]=m):this._isFlipUVX?(e[0]=p,e[1]=m,e[2]=d,e[3]=m,e[4]=p,e[5]=g,e[6]=d,e[7]=g):this._isFlipUVY?(e[0]=d,e[1]=g,e[2]=p,e[3]=g,e[4]=d,e[5]=m,e[6]=p,e[7]=m):(e[0]=d,e[1]=m,e[2]=p,e[3]=m,e[4]=d,e[5]=g,e[6]=p,e[7]=g);var y=0===r?0:t.x/r,v=0===r?1:(t.x+t.width)/r,S=0===s?1:(t.y+t.height)/s,T=0===s?0:t.y/s;this._isFlipUVX&&this._isFlipUVY?(i[0]=v,i[1]=T,i[2]=y,i[3]=T,i[4]=v,i[5]=S,i[6]=y,i[7]=S):this._isFlipUVX?(i[0]=v,i[1]=S,i[2]=y,i[3]=S,i[4]=v,i[5]=T,i[6]=y,i[7]=T):this._isFlipUVY?(i[0]=y,i[1]=T,i[2]=v,i[3]=T,i[4]=y,i[5]=S,i[6]=v,i[7]=S):(i[0]=y,i[1]=S,i[2]=v,i[3]=S,i[4]=y,i[5]=T,i[6]=v,i[7]=T)}this._calculateSlicedUV()},i._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())},i._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())},i._checkPackable=function(){var t=bF;if(t){var e=this._texture;if(e instanceof im&&!e.isCompressed){var i=this.width,n=this.height;if(!e.image||i>t.maxFrameSize||n>t.maxFrameSize)this._packable=!1;else{var r=T.HTMLCanvasElement;e.image&&e.image instanceof r&&(this._packable=!0)}}else this._packable=!1}},i._serialize=function(){return null},i._deserialize=function(t){var e=t,i=e.rect;i&&(this._rect=new Wn(i.x,i.y,i.width,i.height));var n=e.offset;e.offset&&(this._offset=new kn(n.x,n.y));var r=e.originalSize;e.originalSize&&(this._originalSize=new zn(r.width,r.height)),this._rotated=!!e.rotated,this._name=e.name,this._packable=!!e.packable,this._pixelsToUnit=e.pixelsToUnit;var s=e.pivot;s&&(this._pivot=new kn(s.x,s.y)),this._meshType=e.meshType;var a=e.capInsets;a&&(this._capInsets[0]=a[0],this._capInsets[1]=a[1],this._capInsets[2]=a[2],this._capInsets[3]=a[3]);var o=e.vertices;if(o){this.vertices||(this.vertices={rawPosition:[],positions:[],indexes:o.indexes,uv:o.uv,nuv:o.nuv,minPos:new un(o.minPos.x,o.minPos.y,o.minPos.z),maxPos:new un(o.maxPos.x,o.maxPos.y,o.maxPos.z)}),this.vertices.rawPosition.length=0;for(var h=o.rawPosition,u=0;u0){var e=this.spriteFrames[t[0]];return e&&e.texture}return null},i.getSpriteFrame=function(t){var e=this.spriteFrames[t];return e?(e.name||(e.name=t),e):null},i.getSpriteFrames=function(){for(var t=[],e=this.spriteFrames,i=0,n=Object.keys(e);i=this.limit){var n=this.tail;delete this.datas[n.key],this.count--,this.tail=n.prev,this.tail.next=null,n.prev=null,n.next=null,GN.put(n)}this.moveToHead(i)},e.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,delete this.datas[t.key],this.count--},e.get=function(t){var e=this.datas[t];return e?(this.remove(e),this.moveToHead(e),e.value):null},e.clear=function(){this.count=0,this.datas={},this.head=null,this.tail=null},e.has=function(t){return!!this.datas[t]},e.delete=function(t){var e=this.datas[t];this.remove(e)},t}()))(100),zN=/([a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôûа-яА-ЯЁё]+|\S)/,HN=/^[!,.:;'}\]%\?>、‘“》?。,!]/,WN=/([a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôûаíìÍÌïÁÀáàÉÈÒÓòóŐőÙÚŰúűñÑæÆœŒÃÂãÔõěščřžýáíéóúůťďňĚŠČŘŽÁÍÉÓÚŤżźśóńłęćąŻŹŚÓŃŁĘĆĄ-яА-ЯЁёáàảạãăắằẳẵặâấầẩẫậéèẻẽẹêếềểễệiíìỉĩịóòỏõọôốồổỗộơớờởỡợúùủũụưứừửữựýỳỷỹỵđÁÀẢẠÃĂẮẰẲẴẶÂẤẦẨẪẬÉÈẺẼẸÊẾỀỂỄỆIÍÌỈĨỊÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢÚÙỦŨỤƯỨỪỬỮỰÝỲỶỸỴĐ]+|\S)$/,XN=/[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôûаíìÍÌïÁÀáàÉÈÒÓòóŐőÙÚŰúűñÑæÆœŒÃÂãÔõěščřžýáíéóúůťďňĚŠČŘŽÁÍÉÓÚŤżźśóńłęćąŻŹŚÓŃŁĘĆĄ-яА-ЯЁёáàảạãăắằẳẵặâấầẩẫậéèẻẽẹêếềểễệiíìỉĩịóòỏõọôốồổỗộơớờởỡợúùủũụưứừửữựýỳỷỹỵđÁÀẢẠÃĂẮẰẲẴẶÂẤẦẨẪẬÉÈẺẼẸÊẾỀỂỄỆIÍÌỈĨỊÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢÚÙỦŨỤƯỨỪỬỮỰÝỲỶỸỴĐ]+$/,jN=/^[a-zA-Z0-9ÄÖÜäöüßéèçàùêâîôûаíìÍÌïÁÀáàÉÈÒÓòóŐőÙÚŰúűñÑæÆœŒÃÂãÔõěščřžýáíéóúůťďňĚŠČŘŽÁÍÉÓÚŤżźśóńłęćąŻŹŚÓŃŁĘĆĄ-яА-ЯЁёáàảạãăắằẳẵặâấầẩẫậéèẻẽẹêếềểễệiíìỉĩịóòỏõọôốồổỗộơớờởỡợúùủũụưứừửữựýỳỷỹỵđÁÀẢẠÃĂẮẰẲẴẶÂẤẦẨẪẬÉÈẺẼẸÊẾỀỂỄỆIÍÌỈĨỊÓÒỎÕỌÔỐỒỔỖỘƠỚỜỞỠỢÚÙỦŨỤƯỨỪỬỮỰÝỲỶỸỴĐ]/;function YN(t){return/^[\u4E00-\u9FFF\u3400-\u4DFF]+$/.test(t)||/[\u3000-\u303F]|[\u3040-\u309F]|[\u30A0-\u30FF]|[\uFF00-\uFFEF]|[\u4E00-\u9FAF]|[\u2605-\u2606]|[\u2190-\u2195]|\u203B/g.test(t)||/^[\u1100-\u11FF]|[\u3130-\u318F]|[\uA960-\uA97F]|[\uAC00-\uD7AF]|[\uD7B0-\uD7FF]+$/.test(t)}function qN(t){var e=t.charCodeAt(0);return e>=9&&e<=13||32===e||133===e||160===e||5760===e||e>=8192&&e<=8202||8232===e||8233===e||8239===e||8287===e||12288===e}function KN(t,e,i){var n=(i||t.font)+"🎮"+e,r=UN.get(n);if(null!==r)return r;var s=t.measureText(e),a=s&&s.width||0;return UN.put(n,a),a}function JN(t,e,i){var n=e,r=i,s=t[e];if(s>="\udc00"&&s<="\udfff"&&n--,void 0!==i)if(i-1!==e){var a=t[i-1];a>="\ud800"&&a<="\udbff"&&r--}else s>="\ud800"&&s<="\udbff"&&r++;return t.substring(n,r)}function ZN(t){return jN.exec(t)}function QN(t){return XN.exec(t)}function $N(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=JN(s,a),h=e-n(o),u=o,l=0,c=0;h>i&&c++<100;)a*=i/h,h=e-n(o=JN(s,a|=0));for(c=0;o&&h<=i&&c++<100;){var _=zN.exec(o);u=o,h=e-n(o=JN(s,a+=l=_?_[0].length:1))}0==(a-=l)?(a=1,u=JN(s,1)):1===a&&s[0]>="\ud800"&&s[0]<="\udbff"&&(a=2,u=JN(s,2));var f=JN(s,0,a),d=void 0;HN.test(u||o)&&(0==(a-=(d=WN.exec(f))?d[0].length:0)&&(a=1),u=JN(s,a),f=JN(s,0,a)),jN.test(u)&&(d=XN.exec(f))&&f!==d[0]&&(u=JN(s,a-=d[0].length),f=JN(s,0,a)),(0===r.length||(f=f.trim()).length>0)&&r.push(f),e=n(s=u||o)}return(0===r.length||(s=s.trim()).length>0)&&r.push(s),r}var tk,ek=function(){function t(){this.pool=[]}t.getInstance=function(){return VN||(VN=new t),VN};var e=t.prototype;return e.get=function(){var t=this.pool.pop();if(!t){var e=T.document.createElement("canvas"),i=e.getContext("2d");t={canvas:e,context:i}}return t},e.put=function(t){this.pool.length>=we.MAX_LABEL_CANVAS_POOL_SIZE||this.pool.push(t)},t}(),ik=mn.WHITE.clone(),nk=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},rk="rgba(255, 255, 255, "+(1/255).toFixed(3)+")",sk=function(){function t(t,e){this.image=null,this.labelInfo=void 0,this.char=void 0,this.data=null,this.canvas=null,this.context=null,this.width=0,this.height=0,this.offsetY=0,this.hash=void 0,this.char=t,this.labelInfo=e,this.hash=""+t.charCodeAt(0)+e.hash}var e=t.prototype;return e.updateRenderData=function(){this._updateProperties(),this._updateTexture()},e.destroy=function(){this.image=null,ek.getInstance().put(this.data)},e._updateProperties=function(){if(this.data=ek.getInstance().get(),this.canvas=this.data.canvas,this.context=this.data.context,this.context){var t=this.labelInfo.fontScale;this.context.font=this.labelInfo.fontDesc;var e=KN(this.context,this.char,this.labelInfo.fontDesc),i=2*this.labelInfo.margin+2;this.width=parseFloat(e.toFixed(2))*t+i,this.height=(1+NN)*this.labelInfo.fontSize*t+i,this.offsetY=-this.labelInfo.fontSize*NN*t/2}this.canvas.width!==this.width&&(this.canvas.width=this.width),this.canvas.height!==this.height&&(this.canvas.height=this.height),this.image||(this.image=new Md),this.image.reset(this.canvas)},e._updateTexture=function(){if(this.context&&this.canvas){var t=this.context,e=this.labelInfo,i=this.canvas.width,n=this.canvas.height,r=e.fontScale;t.textAlign="center",t.textBaseline="alphabetic",t.clearRect(0,0,i,n),t.fillStyle=rk,t.fillRect(0,0,i,n),t.font=e.fontDesc.replace(/(\d+)(\.\d+)?(px|em|rem|pt)/g,(function(t,e,i,n){return(+e*r+(+i||0)*r).toString()+n}));var s=e.fontSize*r,a=i/2,o=n/2+s*kN+0*s,h=e.color;if(t.lineJoin="round",t.fillStyle="rgba("+h.r+", "+h.g+", "+h.b+", 1)",e.isOutlined){var u=e.out||ik;t.strokeStyle="rgba("+u.r+", "+u.g+", "+u.b+", "+u.a/255+")",t.lineWidth=2*e.margin*r,t.strokeText(this.char,a,o)}t.fillText(this.char,a,o)}},t}(),ak=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.initWithSize=function(t,e,i){void 0===i&&(i=cd.RGBA8888),this.reset({width:t,height:e,format:i})},i.drawTextureAt=function(t,e,i){var n=this.getGFXTexture();if(t&&n){var r=this._getGFXDevice();if(r){var s=new Wc;s.texOffset.x=e,s.texOffset.y=i,s.texExtent.width=t.width,s.texExtent.height=t.height,r.copyTexImagesToTexture([t.data],n,[s])}else console.warn("Unable to get device")}},e}(im),ok=function(){function t(t,e){this._x=0,this._y=0,this._nextY=0,this._width=0,this._height=0,this._halfBleed=0,this._dirty=!1;var i=new ak;i.initWithSize(t,e),this.fontDefDictionary=new ON(i),this._halfBleed=1,this._width=t,this._height=e,dF.on(fF.EVENT_BEFORE_SCENE_LAUNCH,this.beforeSceneLoad,this)}var e=t.prototype;return e.insertLetterTexture=function(t){var e=t.image,i=dF.root.device;if(!e||!this.fontDefDictionary||!i)return null;var n=e.width,r=e.height;if(this._x+n+0>this._width&&(this._x=0,this._y=this._nextY),this._y+r>this._nextY&&(this._nextY=this._y+r+0),this._nextY>this._height)return J(12100),null;this.fontDefDictionary.texture.drawTextureAt(e,this._x,this._y),this._dirty=!0;var s=new nk;return s.u=this._x+this._halfBleed,s.v=this._y+this._halfBleed,s.texture=this.fontDefDictionary.texture,s.valid=!0,s.w=t.width-2,s.h=t.height-2,s.xAdvance=s.w,s.offsetY=t.offsetY,this._x+=n+0,this.fontDefDictionary.addLetterDefinitions(t.hash,s),s},e.update=function(){this._dirty&&(this._dirty=!1)},e.reset=function(){this._x=0,this._y=0,this._nextY=0,this.fontDefDictionary.clear()},e.destroy=function(){this.reset(),this.fontDefDictionary&&(this.fontDefDictionary.texture.destroy(),this.fontDefDictionary.texture=null)},e.getTexture=function(){return this.fontDefDictionary.getTexture()},e.beforeSceneLoad=function(){this.clearAllCache()},e.clearAllCache=function(){this.destroy();var t=new ak;t.initWithSize(this._width,this._height),this.fontDefDictionary.texture=t},e.getLetter=function(t){return this.fontDefDictionary.letterDefinitions[t]},e.getLetterDefinitionForChar=function(t,e){var i=t.charCodeAt(0)+e.hash,n=this.fontDefDictionary.letterDefinitions[i];if(!n){var r=new sk(t,e);r.updateRenderData(),n=this.insertLetterTexture(r),r.destroy()}return n},n(t,[{key:"width",get:function(){return this._width}},{key:"height",get:function(){return this._height}}]),t}(),hk={fontAtlas:null,fontSize:0,lineHeight:0,hAlign:0,vAlign:0,hash:"",fontFamily:"",fontDesc:"Arial",color:mn.WHITE.clone(),isOutlined:!1,out:mn.WHITE.clone(),margin:0,fontScale:1},uk=[new f_(Pc.ATTR_POSITION,Yl.RGB32F)],lk=[new f_(Pc.ATTR_POSITION,Yl.RGB32F),new f_(Pc.ATTR_COLOR,Yl.RGBA32F)],ck=[new f_(Pc.ATTR_POSITION,Yl.RGB32F),new f_(Pc.ATTR_TEX_COORD,Yl.RG32F),new f_(Pc.ATTR_COLOR,Yl.RGBA32F)],_k=[new f_(Pc.ATTR_POSITION,Yl.RGB32F),new f_(Pc.ATTR_TEX_COORD,Yl.RG32F),new f_(Pc.ATTR_COLOR,Yl.RGBA8,!0)],fk=[new f_(Pc.ATTR_POSITION,Yl.RGB32F),new f_(Pc.ATTR_TEX_COORD,Yl.RG32F),new f_(Pc.ATTR_COLOR,Yl.RGBA32F),new f_(Pc.ATTR_COLOR2,Yl.RGBA32F)],dk=[new f_(Pc.ATTR_POSITION,Yl.RGB32F),new f_(Pc.ATTR_TEX_COORD,Yl.RG32F),new f_(Pc.ATTR_COLOR,Yl.RGBA8,!0),new f_(Pc.ATTR_COLOR2,Yl.RGBA8,!0)];function pk(t){for(var e=0,i=0;i>2,this._initVDataCount,this._floatsPerVertex,it(9005),this.vData&&this.iData||(this.vData=new Float32Array(this._initVDataCount),this.iData=new Uint16Array(this._initIDataCount)),this._iaPool.push(this.createNewIA(t))},t.reset=function(){this._nextFreeIAHandle=0,this.dirty=!1},t.destroy=function(){this.reset(),this._attributes=null,this._iaInfo=null,this.vData=null,this.iData=null;for(var t=0;tthis._initVDataCount||n>this._initIDataCount)},t.uploadBuffers=function(){if(0!==this.byteOffset&&this._dirty){var t=Bl.__isWebIOS14OrIPadOS14Env,e=t?this._nextFreeIAHandle:1;if(t&&e/this._iaPool.length<.5){for(var i=e/.5,n=this._iaPool.length-1;n>=i;n--){var r=this._iaPool[n];r.vertexBuffers[0]&&r.vertexBuffers[0].destroy(),r.indexBuffer&&r.indexBuffer.destroy(),r.ia.destroy()}this._iaPool.length=i}for(var s=this.byteOffset,a=this.indexOffset,o=0;o>2),l=new Uint16Array(this.iData.buffer,0,a),c=h.vertexBuffers[0];s>c.size&&c.resize(s),c.update(u),2*a>h.indexBuffer.size&&h.indexBuffer.resize(2*a),h.indexBuffer.update(l)}this.dirty=!1}},t.createNewIA=function(t){var e,i,n;if(Bl.__isWebIOS14OrIPadOS14Env||!this._iaPool[0]){var r=this._vertexFormatBytes=this._floatsPerVertex*Float32Array.BYTES_PER_ELEMENT,s=Uint16Array.BYTES_PER_ELEMENT,a=t.createBuffer(new Jc(Jl.VERTEX|Jl.TRANSFER_DST,$l.HOST|$l.DEVICE,r,r));n=t.createBuffer(new Jc(Jl.INDEX|Jl.TRANSFER_DST,$l.HOST|$l.DEVICE,s,s)),i=[a],this._iaInfo=new p_(this._attributes,i,n),e=t.createInputAssembler(this._iaInfo)}else e=t.createInputAssembler(this._iaInfo),i=this._iaInfo.vertexBuffers,n=this._iaInfo.indexBuffer;return{ia:e,vertexBuffers:i,indexBuffer:n}},n(e,[{key:"attributes",get:function(){return this._attributes}},{key:"vertexFormatBytes",get:function(){return this._vertexFormatBytes}},{key:"byteOffset",get:function(){return this._byteOffset},set:function(t){this._byteOffset=t}},{key:"vertexOffset",get:function(){return this._vertexOffset},set:function(t){this._vertexOffset=t}},{key:"indexOffset",get:function(){return this._indexOffset},set:function(t){this._indexOffset=t}},{key:"dirty",get:function(){return this._dirty},set:function(t){this._dirty=t}},{key:"floatsPerVertex",get:function(){return this._floatsPerVertex},set:function(t){this._floatsPerVertex=t}},{key:"vData",get:function(){return this._vData},set:function(t){this._vData=t}},{key:"iData",get:function(){return this._iData},set:function(t){this._iData=t}},{key:"nativeObj",get:function(){return this._nativeObj}},{key:"sharedBuffer",get:function(){return this._sharedBuffer}}]),e}()),Ak=function(){function t(t,e){this._device=null,this._attributes=null,this._vertexFormatBytes=void 0,this._floatsPerVertex=void 0,this._buffers=[],this._device=t,this._attributes=e,this._floatsPerVertex=mk(e)>>2,this._vertexFormatBytes=this._floatsPerVertex*Float32Array.BYTES_PER_ELEMENT}var e=t.prototype;return e.initialize=function(){},e.reset=function(){},e.request=function(){},e.appendBuffers=function(){},e.uploadBuffers=function(){},e.destroy=function(){this._attributes.length=0},n(t,[{key:"attributes",get:function(){return this._attributes}},{key:"vertexFormatBytes",get:function(){return this._vertexFormatBytes}},{key:"floatsPerVertex",get:function(){return this._floatsPerVertex}}]),t}(),bk=new Ou((function(){return{offset:0,length:0}}),32),Ek=function(){function t(t,e,i,n,r,s){this._ib=void 0,this.vertexAccessor=t,this.bufferId=e,this.meshBuffer=i,this.vertexOffset=n,this.vb=r,this.indexCount=s,this._ib=new Uint16Array(s),t.getMeshBuffer(e)}return t.prototype.setIndexBuffer=function(){},n(t,[{key:"ib",get:function(){return this._ib}}]),t}(),Ck=function(t){function e(i,n,r,s){var a;return(a=t.call(this,i,n)||this)._freeLists=[],a._vCount=0,a._iCount=0,a._id=0,a._vCount=r||Math.floor(1024*we.BATCHER2D_MEM_INCREMENT/a._vertexFormatBytes),a._iCount=s||a._vCount*e.IB_SCALE,a._id=e.generateID(),a._allocateBuffer(),a}s(e,t);var i=e.prototype;return i.destroy=function(){for(var e=0;e=n){o=i[u],s=h,a=u;break}if(o)break}if(o||(s=this._allocateBuffer(),(r=this._buffers[s])&&r.checkCapacity(t,e)&&(a=0,o=this._freeLists[s][a])),o){var l=o.offset/this.vertexFormatBytes,c=new Float32Array(r.vData.buffer,o.offset,n>>2).fill(0);return this._allocateChunkFromEntry(s,a,o,n),new Ek(this,s,r,l,c,e)}return Q(9004,n),null},i.recycleChunk=function(t){var e=this._freeLists[t.bufferId],i=this._buffers[t.bufferId],n=t.vertexOffset*this.vertexFormatBytes,r=t.vb.byteLength;if(0!==r){for(var s=!1,a=0,o=null,h=e[a];h&&h.offset=0,9004,t,i.offset,i.length),0===r?(this._freeLists[t].splice(e,1),bk.free(i)):(i.offset+=n,i.length=r)},i._allocateBuffer=function(){et(this._buffers.length===this._freeLists.length,9003);var t=new Tk,e=this._vCount*this._floatsPerVertex;t.initialize(this._device,this._attributes,e,this._iCount),this._buffers.push(t);var i=bk.alloc();i.offset=0,i.length=t.vData.byteLength;var n=[i];return this._freeLists.push(n),dF.root.batcher2D.syncMeshBuffersToNative(this.id,this._buffers),this._buffers.length-1},e.generateID=function(){return e.ID_COUNT++},n(e,[{key:"id",get:function(){return this._id}}]),e}(Ak);Ck.IB_SCALE=4,Ck.ID_COUNT=0,function(t){t[t.DrawInfoType=0]="DrawInfoType",t[t.VertDirty=1]="VertDirty",t[t.IsMeshBuffer=2]="IsMeshBuffer",t[t.Stride=3]="Stride",t[t.Count=4]="Count"}(gk||(gk={})),function(t){t[t.BufferID=0]="BufferID",t[t.AccessorID=1]="AccessorID",t[t.Count=2]="Count"}(yk||(yk={})),function(t){t[t.VertexOffset=0]="VertexOffset",t[t.IndexOffset=1]="IndexOffset",t[t.VBCount=2]="VBCount",t[t.IBCount=3]="IBCount",t[t.DataHash=4]="DataHash",t[t.Count=5]="Count"}(vk||(vk={})),function(t){t[t.COMP=0]="COMP",t[t.MODEL=1]="MODEL",t[t.MIDDLEWARE=2]="MIDDLEWARE",t[t.SUB_NODE=3]="SUB_NODE"}(Sk||(Sk={}));var xk,wk,Rk=function(){function t(t){this._accId=-1,this._bufferId=-1,this._vertexOffset=0,this._indexOffset=0,this._vb=null,this._ib=null,this._vData=null,this._iData=null,this._vertDirty=!1,this._vbCount=0,this._ibCount=0,this._dataHash=0,this._isMeshBuffer=!1,this._material=null,this._texture=null,this._sampler=null,this._stride=0,this._useLocal=!1,this._model=null,this._drawInfoType=Sk.COMP,this._subNode=null,this._uint8SharedBuffer=void 0,this._uint16SharedBuffer=void 0,this._uint32SharedBuffer=void 0,this.init(t);var e=this._nativeObj.getAttrSharedBufferForJS(),i=0;this._uint8SharedBuffer=new Uint8Array(e,i,gk.Count),i+=gk.Count*Uint8Array.BYTES_PER_ELEMENT,this._uint16SharedBuffer=new Uint16Array(e,i,yk.Count),i+=yk.Count*Uint16Array.BYTES_PER_ELEMENT,this._uint32SharedBuffer=new Uint32Array(e,i,vk.Count)}var e=t.prototype;return e.init=function(){},e.clear=function(){this._bufferId=0,this._vertexOffset=0,this._indexOffset=0,this._vertDirty=!1},e.setAccId=function(t){this._accId=t},e.setBufferId=function(t){this._bufferId=t},e.setAccAndBuffer=function(t,e){this._bufferId=e,this._accId=t},e.setVertexOffset=function(t){this._vertexOffset=t},e.setIndexOffset=function(t){this._indexOffset=t},e.setVB=function(){},e.setIB=function(){},e.setVData=function(){},e.setIData=function(){},e.setVBCount=function(t){this._vbCount=t},e.setIBCount=function(){},e.setVertDirty=function(t){this._vertDirty=t},e.setDataHash=function(t){this._dataHash=t},e.setIsMeshBuffer=function(t){this._isMeshBuffer=t},e.setMaterial=function(t){this._material=t},e.setTexture=function(t){this._texture=t},e.setSampler=function(t){this._sampler=t},e.setModel=function(){},e.setDrawInfoType=function(t){this._drawInfoType=t},e.setSubNode=function(t){this._subNode=t},e.setStride=function(t){this._stride=t},e.initRender2dBuffer=function(){},e.fillRender2dBuffer=function(){},n(t,[{key:"nativeObj",get:function(){return this._nativeObj}},{key:"render2dBuffer",get:function(){return this._render2dBuffer}}]),t}();!function(t){t[t.DISABLED=0]="DISABLED",t[t.CLEAR=1]="CLEAR",t[t.ENTER_LEVEL=2]="ENTER_LEVEL",t[t.ENABLED=3]="ENABLED",t[t.EXIT_LEVEL=4]="EXIT_LEVEL",t[t.CLEAR_INVERTED=5]="CLEAR_INVERTED",t[t.ENTER_LEVEL_INVERTED=6]="ENTER_LEVEL_INVERTED"}(xk||(xk={})),function(t){t[t.stencilTest=0]="stencilTest",t[t.func=1]="func",t[t.stencilMask=2]="stencilMask",t[t.writeMask=3]="writeMask",t[t.failOp=4]="failOp",t[t.zFailOp=5]="zFailOp",t[t.passOp=6]="passOp",t[t.ref=7]="ref",t[t.count=8]="count"}(wk||(wk={}));var Ik,Dk,Bk,Mk,Pk,Ok=t("S",function(){function t(){this._maskStack=[],this._stencilPattern={stencilTest:!0,func:hc.ALWAYS,stencilMask:65535,writeMask:65535,failOp:uc.KEEP,zFailOp:uc.KEEP,passOp:uc.KEEP,ref:1},this._stage=xk.DISABLED,this.stencilStateMap=new Map,this.stencilStateMapWithDepth=new Map}var e=t.prototype;return e.pushMask=function(t){this._maskStack.push(t)},e.clear=function(t){return t.stencilStage!==xk.ENTER_LEVEL?xk.CLEAR_INVERTED:xk.CLEAR},e.enableMask=function(){this.stage=xk.ENABLED},e.exitMask=function(){0!==this._maskStack.length&&(this._maskStack.pop(),0===this._maskStack.length?this.stage=xk.DISABLED:this.stage=xk.ENABLED)},e.getWriteMask=function(){return 1<>2,qk=t("v",function(){function t(t){void 0===t&&(t=ck),this.chunk=null,this._renderDrawInfo=null,this._material=null,this._dataHash=0,this._isMeshBuffer=!1,this._vc=0,this._ic=0,this._floatStride=0,this._vertexFormat=ck,this._drawInfoType=Sk.COMP,this._multiOwner=!1,this._batcher=null,this._floatStride=t===ck?Yk:mk(t)>>2,this._vertexFormat=t}var e=t.prototype;return e.isValid=function(){return this._ic>0&&this.chunk.vertexAccessor},e.initRenderDrawInfo=function(t,e){void 0===e&&(e=Sk.COMP)},e.removeRenderDrawInfo=function(){},e.setRenderDrawInfoAttributes=function(){},n(t,[{key:"vertexCount",get:function(){return this._vc}},{key:"indexCount",get:function(){return this._ic}},{key:"stride",get:function(){return this._floatStride<<2}},{key:"floatStride",get:function(){return this._floatStride}},{key:"vertexFormat",get:function(){return this._vertexFormat}},{key:"drawInfoType",get:function(){return this._drawInfoType},set:function(t){this._drawInfoType=t,this._renderDrawInfo&&this._renderDrawInfo.setDrawInfoType(t)}},{key:"renderDrawInfo",get:function(){return this._renderDrawInfo}},{key:"material",get:function(){return this._material},set:function(t){this._material=t,this._renderDrawInfo&&this._renderDrawInfo.setMaterial(t)}},{key:"dataHash",get:function(){return this._dataHash},set:function(t){this._dataHash=t,this._renderDrawInfo&&this._renderDrawInfo.setDataHash(t)}},{key:"multiOwner",get:function(){return this._multiOwner},set:function(t){this._multiOwner=t}},{key:"batcher",get:function(){return this._batcher||(this._batcher=dF.root.batcher2D),this._batcher}}]),t}()),Kk=t("w",function(t){function e(e,i){var n;return void 0===e&&(e=ck),(n=t.call(this,e)||this)._vertDirty=!0,n._textureHash=0,n.indices=null,n.layer=0,n.nodeDirty=!0,n.passDirty=!0,n.textureDirty=!0,n.hashDirty=!0,n._data=[],n._frame=null,n._accessor=null,n.vertexRow=1,n.vertexCol=1,i||(i=n.batcher.switchBufferAccessor(n._vertexFormat)),n._accessor=i,n}s(e,t),e.add=function(t,i){void 0===t&&(t=ck);var n=new e(t,i);return i||(i=dF.root.batcher2D.switchBufferAccessor(n._vertexFormat)),n._accessor=i,n},e.remove=function(t){t.clear(),t._accessor=null};var i=e.prototype;return i.resize=function(t,e){t===this._vc&&e===this._ic&&this.chunk||(this._vc=t,this._ic=e,this.chunk&&(this._accessor.recycleChunk(this.chunk),this.chunk=null),this.chunk=this._accessor.allocateChunk(t,e),this.updateHash())},i.setRenderDrawInfoAttributes=function(){},i.fillDrawInfoAttributes=function(){},i.syncRender2dBuffer=function(){},i.resizeAndCopy=function(t,e){if(t!==this._vc||e!==this._ic||!this.chunk){this._vc=t,this._ic=e;var i=this.chunk;this.chunk=this._accessor.allocateChunk(t,e),i&&(this.chunk.vb.set(i.vb),this._accessor.recycleChunk(i)),this.updateHash()}},i.getMeshBuffer=function(){return this.chunk&&this._accessor?this._accessor.getMeshBuffer(this.chunk.bufferId):null},i.updateNode=function(t){this.layer=t.node.layer,this.nodeDirty=!1,this.hashDirty=!0},i.updatePass=function(t){this.material=t.getRenderMaterial(0),this.passDirty=!1,this.hashDirty=!0},i.updateTexture=function(t){this.frame=t,this.textureHash=t.getHash(),this.textureDirty=!1,this.hashDirty=!0},i.updateHash=function(){var t=""+(this.chunk?this.chunk.bufferId:-1)+this.layer+" "+this.textureHash;this.dataHash=Ll(t,666),this.hashDirty=!1},i.updateRenderData=function(t,e){if(this.passDirty&&(this.material=t.getRenderMaterial(0),this.passDirty=!1,this.hashDirty=!0,this._renderDrawInfo&&this._renderDrawInfo.setMaterial(this.material)),this.nodeDirty){var i=t.node.scene?t._getRenderScene():null;this.layer=t.node.layer,null!==i&&(this.nodeDirty=!1),this.hashDirty=!0}this.textureDirty&&(this.frame=e,this.textureHash=e.getHash(),this.textureDirty=!1,this.hashDirty=!0,this._renderDrawInfo&&(this._renderDrawInfo.setTexture(this.frame?this.frame.getGFXTexture():null),this._renderDrawInfo.setSampler(this.frame?this.frame.getGFXSampler():null))),this.hashDirty&&(this.updateHash(),this._renderDrawInfo&&this._renderDrawInfo.setDataHash(this.dataHash))},i.clear=function(){this.resize(0,0),this._data.length=0,this.indices=null,this.vertDirty=!0,this.material=null,this.nodeDirty=!0,this.passDirty=!0,this.textureDirty=!0,this.hashDirty=!0,this.layer=0,this.frame=null,this.textureHash=0,this.dataHash=0},e.createStaticVBAccessor=function(t,e,i){var n=dF.root.device;return new Ck(n,t,e,i)},n(e,[{key:"dataLength",get:function(){return this._data.length},set:function(t){var e=this._data;if(e.length!==t){for(var i=e.length;i>2,i._vertexFormat=t,i},e.remove=function(t){t.clear()};var i=e.prototype;return i.request=function(t,e){var i=this._byteLength+t*this.stride;return!!this.reserve(t,e)&&(this._vc+=t,this._ic+=e,this._byteLength=i,this.vertexRange=this._vc,this.indexRange=this._ic,!0)},i.reserve=function(t,e){var i=this._byteLength+t*this.stride,n=this.indexCount+e;if(t+this.vertexCount>65535)return!1;var r=this.vData.byteLength,s=this.iData.length,a=this.vData.length,o=this.iData.length;if(i>r||n>s){for(;r=0&&e>=0&&i<=this.vData.byteLength&&this.iData.length,this._vc=t,this._ic=e,this._byteLength=i,this.updateRange(0,t,0,e)},i.updateRange=function(t,e,i,n){e>=0&&n>=0&&e<=this._vc&&this._ic,this.vertexStart=t,this.indexStart=i,this.vertexRange=e,this.indexRange=n},i.requestIA=function(t){this._initIAInfo(t);var e=this._iaPool.add();return e.firstIndex=this.indexStart,e.indexCount=this.indexRange,e},i.uploadBuffers=function(){if(0!==this._byteLength&&this._vertexBuffers[0]&&this._indexBuffer){var t=this._ic,e=new Float32Array(this.vData.buffer,0,this._byteLength>>2),i=new Uint16Array(this.iData.buffer,0,t),n=this._vertexBuffers[0];this._byteLength>n.size&&n.resize(this._byteLength),n.update(e);var r=t<<1;r>this._indexBuffer.size&&this._indexBuffer.resize(r),this._indexBuffer.update(i)}},i.freeIAPool=function(){this._iaPool&&this._iaPool.reset()},i.reset=function(){this._vc=0,this._ic=0,this._byteLength=0,this.vertexStart=0,this.vertexRange=0,this.indexStart=0,this.indexRange=0,this.lastFilledIndex=0,this.lastFilledVertex=0,this.material=null,this.freeIAPool()},i.clear=function(){this.reset(),this._iaPool&&this._iaPool.destroy(),this._vertexBuffers[0]&&(this._vertexBuffers[0].destroy(),this._vertexBuffers=[]),this._iaInfo=null,this.vData=new Float32Array(256*this.stride),this.iData=new Uint16Array(1536)},i._initIAInfo=function(t){var e=this;if(!this._iaInfo){var i=this.stride,n=this._vertexBuffers;n.length||n.push(t.createBuffer(new Jc(Jl.VERTEX|Jl.TRANSFER_DST,$l.DEVICE,i,i)));var r=Uint16Array.BYTES_PER_ELEMENT;this._indexBuffer||(this._indexBuffer=t.createBuffer(new Jc(Jl.INDEX|Jl.TRANSFER_DST,$l.DEVICE,r,r))),this._iaInfo=new p_(this._vertexFormat,n,this._indexBuffer),this._iaPool=new Lu((function(){return t.createInputAssembler(e._iaInfo)}),1,(function(t){t.destroy()}))}},i._reallocBuffer=function(t,e){var i=this.vData;this.vData=new Float32Array(t),i&&this.vData.set(i,0);var n=this.iData;this.iData=new Uint16Array(e),n&&this.iData.set(n,0)},i.setRenderDrawInfoAttributes=function(){},i.particleInitRenderDrawInfo=function(){},n(e,[{key:"formatByte",get:function(){return this.stride},set:function(){}},{key:"floatStride",get:function(){return this._floatStride}},{key:"vDataOffset",get:function(){return this._byteLength>>>2}}]),e}(qk)),Zk=new kn,Qk=new kn,$k=new un,tG=new Mn,eG=new Mn,iG=new Mn,nG=new Mn(0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),rG=new Wn,sG=t("f",Js("cc.UITransform")(Lk=Qs(110)(Lk=$s(((Gk=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r=0&&r.y>=0&&r.x<=e&&r.y<=i&&(c=this._maskTest(n)),c)return!0}}}return!1},i.hitTest=function(t,e){void 0===e&&(e=0);for(var i=this._contentSize.width,n=this._contentSize.height,r=$k,s=Zk,a=Qk,o=this._getRenderScene().cameras,h=0;h=0&&a.y>=0&&a.x<=i&&a.y<=n&&(l=this._maskTest(s)),l)return!0}}return!1},i._maskTest=function(t){var e,i,n=null===(e=this.node)||void 0===e||null===(i=e.eventProcessor)||void 0===i?void 0:i.maskList;if(n)for(var r=this.node,s=n.length,a=0,o=0;r&&oh.index){n.length=o;break}}return!0},i.convertToNodeSpaceAR=function(t,e){return this.node.getWorldMatrix(iG),Mn.invert(tG,iG),e||(e=new un),un.transformMat4(e,t,tG)},i.convertToWorldSpaceAR=function(t,e){return this.node.getWorldMatrix(iG),e||(e=new un),un.transformMat4(e,t,iG)},i.getBoundingBox=function(){var t=new Wn;return this._selfBoundingBox(t),Mn.fromSRT(eG,this.node.rotation,this.node.position,this.node.scale),t.transformMat4(eG),t},i.getBoundingBoxToWorld=function(){for(var t=new Wn,i=this.node.children,n=0;n=this._materials.length?null:this._materials[t]},i.setSharedMaterial=function(t,e){t&&t instanceof UT&&Q(12012),this._materials[e]=t;var i=this._materialInstances[e];i&&(i.destroy(),this._materialInstances[e]=null),this._onMaterialModified(e,this._materials[e])},i.getMaterialInstance=function(t){if(!this._materials[t])return null;if(!this._materialInstances[t]){vG.parent=this._materials[t],vG.owner=this,vG.subModelIdx=t;var e=new UT(vG);vG.parent=null,vG.owner=null,vG.subModelIdx=0,this.setMaterialInstance(e,t)}return this._materialInstances[t]},i.setMaterialInstance=function(t,e){if("number"==typeof t){J(12007);var i=t;t=e,e=i}var n=this._materialInstances[e];t&&t.parent?t!==n&&(this._materialInstances[e]=t,this._onMaterialModified(e,t)):(t!==this._materials[e]||n)&&this.setSharedMaterial(t,e)},i.getRenderMaterial=function(t){return this._materialInstances[t]||this._materials[t]},i._onMaterialModified=function(){},i._onRebuildPSO=function(){},i._clearMaterials=function(){},n(e,[{key:"sharedMaterial",get:function(){return this.getSharedMaterial(0)}},{key:"sharedMaterials",get:function(){return this._materials},set:function(t){for(var e=0;e0},i._postCanRender=function(){},i.updateMaterial=function(){if(this._customMaterial)this.getSharedMaterial(0)!==this._customMaterial&&this.setSharedMaterial(this._customMaterial,0);else{var t=this._updateBuiltinMaterial();this.setSharedMaterial(t,0),this.stencilStage!==xk.ENTER_LEVEL&&this.stencilStage!==xk.ENTER_LEVEL_INVERTED||this.getMaterialInstance(0).recompileShaders({USE_ALPHA_TEST:!0}),this._updateBlendFunc()}},i._updateColor=function(){if(this.node._uiProps.colorDirty=!0,this.setEntityColorDirty(!0),this.setEntityColor(this._color),this.setEntityOpacity(this.node._uiProps.localOpacity),this._assembler){this._assembler.updateColor(this);var t=this._renderFlag;if(this._renderFlag=this._canRender(),this.setEntityEnabled(this._renderFlag),t!==this._renderFlag){var e=this.renderData;e&&(e.vertDirty=!0)}}},e.setEntityColorDirtyRecursively=function(t,i){var n=t._uiProps.uiComp;n&&n.color&&(n._renderEntity.colorDirty=i);for(var r=0;r>16,t|=t>>8,t|=t>>4,t|=t>>2,t|=t>>1,++t}function cV(t,e){return Math.ceil(t/e)*e}!function(t){t[t.OPAQUE=0]="OPAQUE",t[t.TRANSPARENT=1]="TRANSPARENT",t[t.OVERLAY=2]="OVERLAY"}(aV||(aV={})),function(t){t[t.DEFAULT=1]="DEFAULT",t[t.FORWARD=2]="FORWARD",t[t.SHADOWCAST=4]="SHADOWCAST"}(oV||(oV={}));var _V,fV,dV,pV,mV,gV,yV,vV,SV,TV=function(){function t(t){this._device=void 0,this._format=Yl.UNKNOWN,this._formatSize=0,this._chunks=[],this._chunkCount=0,this._handles=[],this._region0=new Wc,this._region1=new Wc,this._region2=new Wc,this._roundUpFn=null,this._bufferViewCtor=Uint8Array,this._channels=4,this._alignment=1,this._device=t}var e=t.prototype;return e.initialize=function(t){var e=k_[t.format];this._format=t.format,this._formatSize=e.size,this._channels=e.count,this._bufferViewCtor=Y_(e),this._roundUpFn=t.roundUpFn||null,this._alignment=t.alignment||1,t.inOrderFree&&(this.alloc=this._McDonaldAlloc)},e.destroy=function(){for(var t=0;t=0));++r);if(n>=0){var s=this._chunks[i];s.start+=t;var a={chunkIdx:i,start:n,end:n+t,texture:s.texture};return this._handles.push(a),a}var o=Math.sqrt(t/this._formatSize),h=this._roundUpFn&&this._roundUpFn(o,this._formatSize)||Math.max(1024,lV(o)),u=this._chunks[this.createChunk(h)];u.start+=t;var l={chunkIdx:this._chunkCount-1,start:0,end:t,texture:u.texture};return this._handles.push(l),l},e.free=function(t){for(var e=0;e0&&(this._region0.texOffset.x=a,this._region0.texOffset.y=o,this._region0.texExtent.width=h,this._region0.texExtent.height=1,i.push(new this._bufferViewCtor(e,u*this._formatSize,h*this._channels)),n.push(this._region0),a=0,o+=1,s-=h,u+=h),s>0&&(this._region1.texOffset.x=a,this._region1.texOffset.y=o,s>t.texture.width?(this._region1.texExtent.width=t.texture.width,this._region1.texExtent.height=Math.floor(s/t.texture.width),h=this._region1.texExtent.width*this._region1.texExtent.height):(h=s,this._region1.texExtent.width=h,this._region1.texExtent.height=1),i.push(new this._bufferViewCtor(e,u*this._formatSize,h*this._channels)),n.push(this._region1),a=0,o+=this._region1.texExtent.height,s-=h,u+=h),s>0&&(this._region2.texOffset.x=a,this._region2.texOffset.y=o,this._region2.texExtent.width=s,this._region2.texExtent.height=1,i.push(new this._bufferViewCtor(e,u*this._formatSize,s*this._channels)),n.push(this._region2)),this._device.copyBuffersToTexture(i,t.texture,n)},e._findAvailableSpace=function(t,e){var i=this._chunks[e],n=!1,r=i.start;if(r+t<=i.size)n=!0;else{r=0;for(var s=this._handles.filter((function(t){return t.chunkIdx===e})).sort((function(t,e){return t.start-e.start})),a=0;ai.end?r+t<=i.size?n=!0:t<=i.end&&(i.start=r=0,n=!0):r===i.end&&(i.start=r=0,i.end=i.size,t<=i.end&&(n=!0)),n){i.start+=t;var s={chunkIdx:e,start:r,end:r+t,texture:i.texture};return this._handles.push(s),s}}var a=Math.sqrt(t/this._formatSize),o=this._roundUpFn&&this._roundUpFn(a,this._formatSize)||Math.max(1024,lV(a)),h=this._chunks[this.createChunk(o)];h.start+=t;var u={chunkIdx:this._chunkCount,start:0,end:t,texture:h.texture};return this._handles.push(u),u},t}(),AV=function(){function t(t,e,i){this._arrayBuffers=[],this._chunkSize=void 0,this._chunkSize=i*(1<>this._entryBits,i=this._entryMask&t;return(this._hasFloat32?this._float32BufferViews:this._uint32BufferViews)[e][i]},e.getTypedArray=function(t,e){var i=(this._chunkMask&t)>>this._entryBits,n=this._entryMask&t,r=e,s=(this._dataType[e]===SV.UINT32?this._uint32BufferViews:this._float32BufferViews)[i][n],a=this._dataMembers[e];return s.subarray(r,r+a)},e.free=function(t){var e=(this._chunkMask&t)>>this._entryBits,i=this._entryMask&t;(this._hasUint32?this._uint32BufferViews:this._float32BufferViews)[e][i].fill(0),this._freeLists[e].push(i)},t}();!function(t){t[t.NODE=0]="NODE",t[t.PASS=1]="PASS",t[t.AABB=2]="AABB",t[t.RENDER2D=3]="RENDER2D"}(bV||(bV={})),function(t){t[t.POSITION=0]="POSITION",t[t.UV=3]="UV",t[t.COLOR=5]="COLOR",t[t.COUNT=9]="COUNT"}(EV||(EV={}));var xV,wV=((_V={})[EV.POSITION]=SV.FLOAT32,_V[EV.UV]=SV.FLOAT32,_V[EV.COLOR]=SV.UINT32,_V[EV.COUNT]=SV.NEVER,_V),RV=((fV={})[EV.POSITION]=EV.UV-EV.POSITION,fV[EV.UV]=EV.COLOR-EV.UV,fV[EV.COLOR]=EV.COUNT-EV.COLOR,fV[EV.COUNT]=1,fV),IV=new CV(bV.RENDER2D,wV,RV,EV);!function(t){t[t.DIRTY_FLAG=0]="DIRTY_FLAG",t[t.LAYER=1]="LAYER",t[t.WORLD_SCALE=2]="WORLD_SCALE",t[t.WORLD_POSITION=5]="WORLD_POSITION",t[t.WORLD_ROTATION=8]="WORLD_ROTATION",t[t.WORLD_MATRIX=12]="WORLD_MATRIX",t[t.LOCAL_SCALE=28]="LOCAL_SCALE",t[t.LOCAL_POSITION=31]="LOCAL_POSITION",t[t.LOCAL_ROTATION=34]="LOCAL_ROTATION",t[t.COUNT=38]="COUNT"}(xV||(xV={}));var DV,BV=((dV={})[xV.DIRTY_FLAG]=SV.UINT32,dV[xV.LAYER]=SV.UINT32,dV[xV.WORLD_SCALE]=SV.FLOAT32,dV[xV.WORLD_POSITION]=SV.FLOAT32,dV[xV.WORLD_ROTATION]=SV.FLOAT32,dV[xV.WORLD_MATRIX]=SV.FLOAT32,dV[xV.LOCAL_SCALE]=SV.FLOAT32,dV[xV.LOCAL_POSITION]=SV.FLOAT32,dV[xV.LOCAL_ROTATION]=SV.FLOAT32,dV[xV.COUNT]=SV.NEVER,dV),MV=((pV={})[xV.DIRTY_FLAG]=xV.LAYER-xV.DIRTY_FLAG,pV[xV.LAYER]=xV.WORLD_SCALE-xV.LAYER,pV[xV.WORLD_SCALE]=xV.WORLD_POSITION-xV.WORLD_SCALE,pV[xV.WORLD_POSITION]=xV.WORLD_ROTATION-xV.WORLD_POSITION,pV[xV.WORLD_ROTATION]=xV.WORLD_MATRIX-xV.WORLD_ROTATION,pV[xV.WORLD_MATRIX]=xV.LOCAL_SCALE-xV.WORLD_MATRIX,pV[xV.LOCAL_SCALE]=xV.LOCAL_POSITION-xV.LOCAL_SCALE,pV[xV.LOCAL_POSITION]=xV.LOCAL_ROTATION-xV.LOCAL_POSITION,pV[xV.LOCAL_ROTATION]=xV.COUNT-xV.LOCAL_ROTATION,pV[xV.COUNT]=1,pV),PV=new CV(bV.NODE,BV,MV,xV);!function(t){t[t.PRIORITY=0]="PRIORITY",t[t.STAGE=1]="STAGE",t[t.PHASE=2]="PHASE",t[t.PRIMITIVE=3]="PRIMITIVE",t[t.BATCHING_SCHEME=4]="BATCHING_SCHEME",t[t.DYNAMIC_STATE=5]="DYNAMIC_STATE",t[t.HASH=6]="HASH",t[t.COUNT=7]="COUNT"}(DV||(DV={}));var OV,LV=((mV={})[DV.PRIORITY]=SV.UINT32,mV[DV.STAGE]=SV.UINT32,mV[DV.PHASE]=SV.UINT32,mV[DV.PRIMITIVE]=SV.UINT32,mV[DV.BATCHING_SCHEME]=SV.UINT32,mV[DV.DYNAMIC_STATE]=SV.UINT32,mV[DV.HASH]=SV.UINT32,mV[DV.COUNT]=SV.NEVER,mV),FV=((gV={})[DV.PRIORITY]=DV.STAGE-DV.PRIORITY,gV[DV.STAGE]=DV.PHASE-DV.STAGE,gV[DV.PHASE]=DV.PRIMITIVE-DV.PHASE,gV[DV.PRIMITIVE]=DV.BATCHING_SCHEME-DV.PRIMITIVE,gV[DV.BATCHING_SCHEME]=DV.DYNAMIC_STATE-DV.BATCHING_SCHEME,gV[DV.DYNAMIC_STATE]=DV.HASH-DV.DYNAMIC_STATE,gV[DV.HASH]=DV.COUNT-DV.HASH,gV[DV.COUNT]=1,gV),NV=new CV(bV.PASS,LV,FV,DV);!function(t){t[t.CENTER=0]="CENTER",t[t.HALFEXTENTS=3]="HALFEXTENTS",t[t.COUNT=6]="COUNT"}(OV||(OV={}));var kV=((yV={})[OV.CENTER]=SV.FLOAT32,yV[OV.HALFEXTENTS]=SV.FLOAT32,yV[OV.COUNT]=SV.NEVER,yV),GV=((vV={})[OV.CENTER]=OV.HALFEXTENTS-OV.CENTER,vV[OV.HALFEXTENTS]=OV.COUNT-OV.HALFEXTENTS,vV[OV.COUNT]=1,vV),VV=new CV(bV.AABB,kV,GV,OV);at(WO.prototype,"RenderScene.prototype",[{name:"raycastUI2DNode"},{name:"raycastUINode"}]),at(WO.prototype,"RenderScene.prototype",[{name:"raycastAll",suggest:"using intersect.rayModel in geometry"},{name:"raycastAllModels",suggest:"using intersect.rayModel in geometry"},{name:"raycastSingleModel",suggest:"using intersect.rayModel in geometry"},{name:"raycastAllCanvas",suggest:"using intersect.rayAABB in geometry"},{name:"rayResultCanvas"},{name:"rayResultModels"},{name:"rayResultAll"},{name:"rayResultSingleModel"}]),at(xO.prototype,"Model.prototype",[{name:"isInstancingEnabled"},{name:"instancedAttributes"}]);var UV={};at(UV,"CameraVisFlags",[{name:"GENERAL"}]),st(UV,"CameraVisFlags",[{name:"PROFILER",newName:"PROFILER",target:am.BitMask,targetName:"PROFILER"},{name:"GIZMOS",newName:"GIZMOS",target:am.BitMask,targetName:"GIZMOS"},{name:"EDITOR",newName:"EDITOR",target:am.BitMask,targetName:"EDITOR"},{name:"UI",newName:"UI",target:am.BitMask,targetName:"UI_3D"},{name:"UI2D",newName:"UI2D",target:am.BitMask,targetName:"UI_2D"}]),v.CameraVisFlags=UV;var zV={};at(zV,"VisibilityFlags",[{name:"GENERAL"}]),st(zV,"VisibilityFlags",[{name:"ALWALS",newName:"ALWALS",target:am.Enum,targetName:"ALWALS"},{name:"PROFILER",newName:"PROFILER",target:am.Enum,targetName:"PROFILER"},{name:"GIZMOS",newName:"GIZMOS",target:am.Enum,targetName:"GIZMOS"},{name:"EDITOR",newName:"EDITOR",target:am.Enum,targetName:"EDITOR"},{name:"UI",newName:"UI",target:am.Enum,targetName:"UI_3D"},{name:"UI2D",newName:"UI2D",target:am.Enum,targetName:"UI_2D"}]),v.VisibilityFlags=zV,st(dT.prototype,"Pass.prototype",[{name:"getBindingTypeFromHandle",newName:"getDescriptorTypeFromHandle"}]),at(Hw.prototype,"Camera.prototype",[{name:"getSplitFrustum"},{name:"setMatView"},{name:"setMatViewInv"},{name:"setMatProjInv"},{name:"setMatViewProjInv"},{name:"setMatProj"},{name:"setMatViewProj"},{name:"getMatViewInv"}]),at(GT.prototype,"Shadows.prototype",[{name:"aspect"},{name:"selfShadow"},{name:"linear"},{name:"packing"},{name:"autoAdapt"},{name:"fixedArea"},{name:"pcf"},{name:"bias"},{name:"normalBias"},{name:"near"},{name:"far"},{name:"shadowDistance"},{name:"invisibleOcclusionRange"},{name:"orthoSize"},{name:"saturation"}]),at(NO.prototype,"SpotLight.prototype",[{name:"aspect"}]),st(_O.prototype,"SubModel.prototype",[{name:"subMeshData",newName:"subMesh"}]),at(_O.prototype,"SubModel.prototype",[{name:"getSubModel",suggest:"Use `subModels[i]` instead"},{name:"subModelNum",suggest:"Use `subModels.length` instead"}]);var HV,WV,XV,jV=function(t){if(void 0===uV[t]){var e=1<10||(p=.5*(s+o),m=.5*(a+h),g=.5*((c=.5*(e+n))+(f=.5*(n+s))),y=.5*((_=.5*(i+r))+(d=.5*(r+a))),((C=$V((n-o)*(E=h-i)-(r-h)*(b=o-e)))+(x=$V((s-o)*E-(a-h)*b)))*(C+x)=2*qV)l=2*qV;else for(;l<0;)l+=2*qV;else if($V(l)>=2*qV)l=2*-qV;else for(;l>0;)l-=2*qV;for(h=0|JV(1,KV($V(l)/(.5*qV)+.5,5)),c=$V(4/3*(1-ZV(o=l/h/2))/QV(o)),a||(c=-c),A=0;A<=h;A++)d=e+(_=ZV(u=r+l*(A/h)))*n,p=i+(f=QV(u))*n,m=-f*n*c,g=_*n*c,0===A?t.moveTo(d,p):t.bezierCurveTo(y+S,v+T,d-m,p-g,d,p),y=d,v=p,S=m,T=g}(this,t,e,i,n,r,s)},e.ellipse=function(t,e,i,n){iU(this,t,e,i,n),this._curPath.complex=!1},e.circle=function(t,e,i){iU(this,t,e,i,i),this._curPath.complex=!1},e.rect=function(t,e,i,n){this.moveTo(t,e),this.lineTo(t+i,e),this.lineTo(t+i,e+n),this.lineTo(t,e+n),this.close(),this._curPath.complex=!1},e.roundRect=function(t,e,i,n,r){!function(t,e,i,n,r,s){if(s<.1)t.rect(e,i,n,r);else{var a=KV(s,.5*$V(n))*tU(n),o=KV(s,.5*$V(r))*tU(r);t.moveTo(e,i+o),t.lineTo(e,i+r-o),t.bezierCurveTo(e,i+r-o*(1-eU),e+a*(1-eU),i+r,e+a,i+r),t.lineTo(e+n-a,i+r),t.bezierCurveTo(e+n-a*(1-eU),i+r,e+n,i+r-o*(1-eU),e+n,i+r-o),t.lineTo(e+n,i+o),t.bezierCurveTo(e+n,i+o*(1-eU),e+n-a*(1-eU),i,e+n-a,i),t.lineTo(e+a,i),t.bezierCurveTo(e+a*(1-eU),i,e,i+o*(1-eU),e,i+o),t.close()}}(this,t,e,i,n,r),this._curPath.complex=!1},e.clear=function(){this.pathLength=0,this.pathOffset=0,this.pointsOffset=0,this.dataOffset=0,this._curPath=null,this.paths.length=0,this._points.length=0;for(var t=this._renderDataList,e=0,i=t.length;e0){for(var i=0;ii)for(var n=i;n=0&&s.y>=0&&s.x<=n&&s.y<=r;else if(this.type===sz.GRAPHICS_ELLIPSE){var h=n/2,u=r/2,l=s.x-.5*n,c=s.y-.5*r;o=l*l/(h*h)+c*c/(u*u)<1}return this._inverted&&(o=!o),o},i._nodeStateChange=function(){this._updateGraphics()},i._changeRenderType=function(){this._type!==sz.SPRITE_STENCIL?this._createGraphics():this._createSprite()},i._createSprite=function(){if(!this._sprite){var t=this._sprite=this.node.getComponent(rz);if(!t){var e=this.node;t=this._sprite=e.addComponent(rz)}}this._sprite.stencilStage=this.inverted?xk.ENTER_LEVEL_INVERTED:xk.ENTER_LEVEL,this._sprite.updateMaterial()},i._createGraphics=function(){if(!this._graphics){var t=this._graphics=this.node.getComponent(YU);if(!t){var e=this.node;t=this._graphics=e.addComponent(YU)}t.lineWidth=1;var i=mn.WHITE.clone();i.a=0,t.fillColor=i}this._graphics.stencilStage=this.inverted?xk.ENTER_LEVEL_INVERTED:xk.ENTER_LEVEL},i._updateGraphics=function(){if(this._graphics&&(this._type===sz.GRAPHICS_RECT||this._type===sz.GRAPHICS_ELLIPSE)){var t=this.node._uiProps.uiTransformComp,e=this._graphics;e.clear();var i=t.contentSize,n=i.width,r=i.height,s=t.anchorPoint,a=-n*s.x,o=-r*s.y;if(this._type===sz.GRAPHICS_RECT)e.rect(a,o,n,r);else if(this._type===sz.GRAPHICS_ELLIPSE){for(var h=function(t,e,i){uz.length=0;for(var n=2*Math.PI/i,r=0;r"]),this._specialSymbolArray.push([/&/g,"&"]),this._specialSymbolArray.push([/"/g,'"']),this._specialSymbolArray.push([/'/g,"'"])}var e=t.prototype;return e.parse=function(t){this._resultObjectArray.length=0,this._stack.length=0;for(var e=0,i=t.length;e",e),r=-1;if(n>=0&&(r=t.lastIndexOf("<",n))",r+1)),r<0)this._stack.pop(),this._processResult(t.substring(e)),e=i;else{var s=t.substring(e,r),a=t.substring(r+1,n);""===a&&(s=t.substring(e,n+1)),this._processResult(s),-1===n?n=r:"/"===t.charAt(r+1)?this._stack.pop():this._addToStack(a),e=n+1}}return this._resultObjectArray},e._attributeToObject=function(t){t=t.trim();var e={},i=/^(color|size)(\s)*=/.exec(t),n="",r=0,s="";if(i){if(n=i[0],""===(t=t.substring(n.length).trim()))return e;switch(r=t.indexOf(" "),n[0]){case"c":e.color=r>-1?t.substring(0,r).trim():t;break;case"s":e.size=parseInt(t)}return r>-1&&(s=t.substring(r+1).trim(),e.event=this._processEventHandler(s)),e}if((i=/^(br(\s)*\/)/.exec(t))&&i[0].length>0&&(n=i[0].trim()).startsWith("br")&&"/"===n[n.length-1])return e.isNewLine=!0,this._resultObjectArray.push({text:"",style:{isNewLine:!0}}),e;var a="",o=-1;if((i=/^(img(\s)*src(\s)*=[^>]+\/)/.exec(t))&&i[0].length>0&&(n=i[0].trim()).startsWith("img")&&"/"===n[n.length-1]){var h;i=Az.exec(t);for(var u=!1;i;){var l=(n=(t=t.substring(t.indexOf(i[0]))).substr(0,i[0].length)).length;if(n=(n=n.replace(/[^a-zA-Z]/g,"").trim()).toLowerCase(),a=t.substring(l).trim(),o="src"===n?this.getRightQuotationIndex(a):-1,h=(r=a.indexOf(" ",o+1>=a.length?-1:o+1))>-1?a.substr(0,r):a,t=a.substring(r).trim(),h.endsWith("/")&&(h=h.slice(0,-1)),"src"===n){switch(h.charCodeAt(0)){case 34:case 39:u=!0,h=h.slice(1,-1)}e.isImage=!0,e.src=h}else if("height"===n)e.imageHeight=parseInt(h);else if("width"===n)e.imageWidth=parseInt(h);else if("align"===n){switch(h.charCodeAt(0)){case 34:case 39:h=h.slice(1,-1)}e.imageAlign=h.toLowerCase()}else"offset"===n?e.imageOffset=h:"click"===n&&(e.event=this._processEventHandler(n+"="+h));e.event&&"param"===n&&(e.event[n]=h.replace(/^"|"$/g,"")),i=Az.exec(t)}return u&&e.isImage&&this._resultObjectArray.push({text:"",style:e}),{}}if(i=/^(outline(\s)*[^>]*)/.exec(t)){var c={color:"#ffffff",width:1};if(t=i[0].substring("outline".length).trim()){var _,f=/(\s)*color(\s)*=|(\s)*width(\s)*=|(\s)*click(\s)*=|(\s)*param(\s)*=/;for(i=f.exec(t);i;)n=(t=t.substring(t.indexOf(i[0]))).substr(0,i[0].length),_=(r=(a=t.substring(n.length).trim()).indexOf(" "))>-1?a.substr(0,r):a,n=(n=n.replace(/[^a-zA-Z]/g,"").trim()).toLowerCase(),t=a.substring(r).trim(),"click"===n?e.event=this._processEventHandler(n+"="+_):"color"===n?c.color=_:"width"===n&&(c.width=parseInt(_)),e.event&&"param"===n&&(e.event[n]=_.replace(/^"|"$/g,"")),i=f.exec(t)}e.outline=c}if((i=/^(on|u|b|i)(\s)*/.exec(t))&&i[0].length>0){switch(n=i[0],t=t.substring(n.length).trim(),n[0]){case"u":e.underline=!0;break;case"i":e.italic=!0;break;case"b":e.bold=!0}if(""===t)return e;e.event=this._processEventHandler(t)}return e},e.getRightQuotationIndex=function(t){var e=-1,i=-1,n=t.indexOf("'"),r=t.indexOf('"'),s=r>-1&&(r-1&&(n=t.length?-1:e+1)):s&&(e=r,i=t.indexOf('"',e+1>=t.length?-1:e+1)),i},e._processEventHandler=function(t){for(var e={},i=0,n=!1,r=Tz.exec(t);r;){var s=r[0],a="";if(n=!1,'"'===(t=t.substring(s.length).trim()).charAt(0))(i=t.indexOf('"',1))>-1&&(a=t.substring(1,i).trim(),n=!0),i++;else if("'"===t.charAt(0))(i=t.indexOf("'",1))>-1&&(a=t.substring(1,i).trim(),n=!0),i++;else{var o=/(\S)+/.exec(t);i=(a=o?o[0]:"").length}n&&(e[s=s.substring(0,s.length-1).trim()]=a),t=t.substring(i).trim(),r=Tz.exec(t)}return e},e._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)}},e._processResult=function(t){0!==t.length&&(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}))},e._escapeSpecialSymbol=function(t){for(var e,i=f(this._specialSymbolArray);!(e=i()).done;){var n=e.value,r=n[0],s=n[1];t=t.replace(r,s)}return t},t}()),Ez=t("n",Js("cc.LabelOutline")(cz=Qs(110)(cz=Zs(sV)((_z=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r0&&e>0){this._updateResolutionPolicy(i);var n=this._resolutionPolicy;n&&n.preApply(this),this._designResolutionSize.width=t,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 s=this._viewportRect,a=this._visibleRect,o=r.viewport;s.x=o.x,s.y=o.y,s.width=o.width,s.height=o.height,a.x=0,a.y=0,a.width=o.width/this._scaleX,a.height=o.height/this._scaleY}n.postApply(this),mH.width=this._visibleRect.width,mH.height=this._visibleRect.height,Ml&&Ml.init(this._visibleRect),this.emit("design-resolution-changed")}else Q(2200)},i.getDesignResolutionSize=function(){return new zn(this._designResolutionSize.width,this._designResolutionSize.height)},i.setRealPixelResolution=function(t,e,i){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)},i.getViewportRect=function(){return this._viewportRect},i.getScaleX=function(){return this._scaleX},i.getScaleY=function(){return this._scaleY},i.getDevicePixelRatio=function(){return Rl.devicePixelRatio},i.convertToLocationInView=function(t,e,i,n){void 0===n&&(n=new kn);var r=Rl.devicePixelRatio*(t-i.left),s=Rl.devicePixelRatio*(i.top+i.height-e);return Rl.isFrameRotated?(n.x=Dl.windowSize.width-s,n.y=r):(n.x=r,n.y=s),n},i._convertToUISpace=function(t){var e=this._viewportRect;t.x=(t.x-e.x)/this._scaleX,t.y=(t.y-e.y)/this._scaleY},i._updateAdaptResult=function(t,e,i){var n;v.director.root.resize(t,e,void 0===i||0===i?1:i);var r=this._designResolutionSize.width,s=this._designResolutionSize.height;t>0&&this.setDesignResolutionSize(r,s,this._resolutionPolicy),this.emit("canvas-resize"),null===(n=this._resizeCallback)||void 0===n||n.call(this)},e}(Qu(Nu)));yH.instance=void 0;var vH=function(){function t(){this.name="ContainerStrategy"}var e=t.prototype;return e.preApply=function(){},e.apply=function(){},e.postApply=function(){},e._setupCanvas=function(){var t=v.game.canvas;if(t){var e=Dl.windowSize;t.width!==e.width&&(t.width=e.width),t.height!==e.height&&(t.height=e.height)}},t}();vH.EQUAL_TO_FRAME=void 0,vH.PROPORTION_TO_FRAME=void 0;var SH=function(){function t(){this.name="ContentStrategy",this._result=void 0,this._result={scale:[1,1],viewport:null}}var e=t.prototype;return e.preApply=function(){},e.apply=function(){return{scale:[1,1]}},e.postApply=function(){},e._buildResult=function(t,e,i,n,r,s){Math.abs(t-i)<2&&(i=t),Math.abs(e-n)<2&&(n=e);var a=new Wn(Math.round((t-i)/2),Math.round((e-n)/2),i,n);return this._result.scale=[r,s],this._result.viewport=a,this._result},t}();SH.EXACT_FIT=void 0,SH.SHOW_ALL=void 0,SH.NO_BORDER=void 0,SH.FIXED_HEIGHT=void 0,SH.FIXED_WIDTH=void 0,function(){var t=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;rp?0:d>0?d:p}v.Canvas=FH,at(t("U",Js("cc.UIComponent")(MH=Zs(sG)(MH=Qs(110)(MH=$s(MH=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;re||0===VH)&&(VH=e,s&&(0===s.length?s.push({distance:e,vertexIndex0:i/3,vertexIndex1:n/3,vertexIndex2:r/3}):(s[0].distance=e,s[0].vertexIndex0=i/3,s[0].vertexIndex1=n/3,s[0].vertexIndex2=r/3))):(VH=e,s&&s.push({distance:e,vertexIndex0:i/3,vertexIndex1:n/3,vertexIndex2:r/3}))},function(t,e,i){if(VH=0,0===e.geometricInfo.positions.length)return VH;var n=void 0===i?GH:i;if(NH(t,e.geometricInfo.boundingBox.min,e.geometricInfo.boundingBox.max)){var r=e.primitiveMode,s=e.geometricInfo;!function(t,e,i,n,r){if(i===vc.TRIANGLE_LIST)for(var s=e.length,a=0;ar.distance)&&(UH(r.mode,l,o,h,u,r.result),r.mode===du.ANY))return l}else if(i===vc.TRIANGLE_STRIP)for(var c=e.length-2,_=0,f=0;fr.distance)&&(UH(r.mode,g,d,p,m,r.result),r.mode===du.ANY))return g}else if(i===vc.TRIANGLE_FAN){var y=e.length-1,v=3*e[0];un.set(kH.a,t[v],t[v+1],t[v+2]);for(var S=1;Sr.distance)&&(UH(r.mode,b,v,T,A,r.result),r.mode===du.ANY))return b}}}(s.positions,s.indices,r,t,n)}return VH}),jH=function(){var t=0,e={distance:1/0,doubleSided:!1,mode:du.ANY};return function(i,n,r){t=0;var s=void 0===r?e:r,a=n.renderingSubMeshes.length,o=n.struct.minPosition,h=n.struct.maxPosition;if(o&&h&&!NH(i,o,h))return t;for(var u=0;uc)&&(t=c,s.subIndices&&(s.subIndices[0]=u));else if(t=c,s.subIndices&&s.subIndices.push(u),s.mode===du.ANY)return c}return t&&s.mode===du.CLOSEST&&(s.result&&(s.result[0].distance=t,s.result.length=1),s.subIndices&&(s.subIndices.length=1)),t}}(),YH=function(){var t=0,e={distance:1/0,doubleSided:!1,mode:du.ANY},i=new ur,n=new Mn;return function(r,s,a){t=0;var o=void 0===a?e:a,h=s.worldBounds;if(h&&!ls.rayAABB(r,h))return t;ur.copy(i,r),s.node&&(Mn.invert(n,s.node.getWorldMatrix(n)),un.transformMat4(i.o,r.o,n),un.transformMat4Normal(i.d,r.d,n));for(var u=s.subModels,l=0;l_)&&(t=_,o.subIndices&&(o.subIndices[0]=l));else if(t=_,o.subIndices&&o.subIndices.push(l),o.mode===du.ANY)return _}return t&&o.mode===du.CLOSEST&&(o.result&&(o.result[0].distance=t,o.result.length=1),o.subIndices&&(o.subIndices.length=1)),t}}();ls.rayModel=YH,ls.raySubMesh=XH,ls.rayMesh=jH,uT("specular-pass");var qH,KH,JH,ZH,QH,$H,tW,eW,iW,nW,rW,sW,aW,oW,hW,uW,lW,cW=t("d$",Js("cc.ModelRenderer")((HH=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r0)for(var t=0;tc;){if((s/=2)<1){s*=2;break}a=a.substring(r,s),o=n.substring(s),this._calculateSize(h,e,a)}for(var _=1e3,f=1;_&&r0&&(f=d[0].length),s+=f,a=n.substring(r,s),o=n.substring(s),this._calculateSize(h,e,a),_--}for(;_&&a.length>=2&&h.x>c;)s-=f,a=n.substring(r,s),this._calculateSize(h,e,a),f=1,_--;if(a.length>=2){var p=QN(a);p&&p.length>0&&a!==p[0]&&(s-=p[0].length,a=n.substring(r,s))}if(i.push(a),r=s,s+=a.length,a=n.substring(r,s),o=n.substring(s),this._calculateSize(u,e,o),this._calculateSize(h,e,a),_--,u.x<2048&&h.x=0;e--){var i=t[e];if(i.name===VW||i.name===UW){i.parent=null;var n=jW(i.name);n.node=i,i.name===VW?(n.comp=i.getComponent(sV),WW.put(n)):(n.comp=i.getComponent(rz),XW.put(n)),this._labelChildrenNum--}}this._segments.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},i._activateChildren=function(t){for(var e=this.node.children.length-1;e>=0;e--){var i=this.node.children[e];i.name!==VW&&i.name!==UW||(i.active=t)}},i._addLabelSegment=function(t,e){var i;if(0===this._labelSegmentsCache.length)i=this._createFontLabel(t);else{var n=(i=this._labelSegmentsCache.pop()).node.getComponent(sV);n&&(n.string=t)}var r=i.comp;return r.verticalAlign!==this._verticalAlign&&(r.verticalAlign=this._verticalAlign),i.styleIndex=e,i.lineCount=this._lineCount,i.node._uiProps.uiTransformComp.setAnchorPoint(0,0),i.node.layer=this.node.layer,this.node.insertChild(i.node,this._labelChildrenNum++),this._applyTextAttribute(i),this._segments.push(i),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 s=this._getFirstWordLen(t,r,t.length),a=t.substr(r,s),o=this._measureText(i,a);if(!(this._lineOffsetX+o<=this._maxWidth)){if(r>0){var h=t.substr(0,r);this._addLabelSegment(h,i),t=t.substr(r,t.length),n=this._measureText(i,t)}this._updateLineInfo();break}this._lineOffsetX+=o,r+=s}if(n>this._maxWidth)for(var u=$N(t,n,this._maxWidth,this._measureText(i)),l=0;l1&&l0?(o*=a=l/h,h*=a):(o*=a=this._lineHeight/h,h*=a),u>0&&(o=u),this._maxWidth>0?(this._lineOffsetX+o>this._maxWidth&&this._updateLineInfo(),this._lineOffsetX+=o):(this._lineOffsetX+=o,this._lineOffsetX>this._labelWidth&&(this._labelWidth=this._lineOffsetX)),r.node._uiProps.uiTransformComp.setContentSize(o,h),r.lineCount=this._lineCount,r.clickHandler="",r.clickParam="";var c=e.event;c&&(r.clickHandler=c.click,r.clickParam=c.param)}else J(4400)}},i._updateTextDefaultColor=function(){for(var t=0;t0){var u=this._measureText(n,h);this._updateRichTextWithMaxWidth(h,u,n),a.length>1&&othis._labelWidth&&(this._labelWidth=this._lineOffsetX),a.length>1&&o0&&(this._labelWidth=this._maxWidth),this._labelHeight=(this._lineCount+NN)*this._lineHeight,this.node._uiProps.uiTransformComp.setContentSize(this._labelWidth,this._labelHeight),this._updateRichTextPosition(),this._layoutDirty=!1}},i._getFirstWordLen=function(t,e,i){var n=t.charAt(e);if(YN(n)||qN(n))return 1;for(var r=1,s=e+1;se&&(t=0,e=h);var u=this._labelWidth*(.5*this._horizontalAlign-r);switch(this._horizontalAlign){case ZG.LEFT:break;case ZG.CENTER:u-=this._linesWidth[h-1]/2;break;case ZG.RIGHT:u-=this._linesWidth[h-1]}var l=o.node.position;if(o.node.setPosition(t+u,this._lineHeight*(i-h)-this._labelHeight*s,l.z),h===e&&(t+=o.node._uiProps.uiTransformComp.width),o.node.getComponent(rz)){var c=o.node.position.clone(),_=this._lineHeight,f=this._lineHeight*(1+NN);switch(o.node._uiProps.uiTransformComp.anchorY){case 1:c.y+=_+(f-_)/2;break;case.5:c.y+=f/2;break;default:c.y+=(f-_)/2}if(o.imageOffset){var d=o.imageOffset.split(",");if(1===d.length&&d[0]){var p=parseFloat(d[0]);Number.isInteger(p)&&(c.y+=p)}else if(2===d.length){var m=parseFloat(d[0]),g=parseFloat(d[1]);Number.isInteger(m)&&(c.x+=m),Number.isInteger(g)&&(c.y+=g)}}o.node.position=c}var y=o.node.getComponent(Ez);if(y){var v=o.node.position.clone();v.y-=y.width,o.node.position=v}}},i._convertLiteralColorValue=function(t){var e=t.toUpperCase();return mn[e]?mn[e]:(new mn).fromHEX(t)},i._applyTextAttribute=function(t){var e=t.node.getComponent(sV);if(e){this._resetLabelState(e);var i,n=t.styleIndex;if(this._textArray[n]&&(i=this._textArray[n].style),i){if(i.color?e.color=this._convertLiteralColorValue(i.color):e.color=this._fontColor,e.isBold=!!i.bold,e.isItalic=!!i.italic,e.isUnderline=!!i.underline,i.outline){var r=t.node.getComponent(Ez);r||(r=t.node.addComponent(Ez)),r.color=this._convertLiteralColorValue(i.outline.color),r.width=i.outline.width}e.fontSize=i.size||this._fontSize,t.clickHandler="",t.clickParam="";var s=i.event;s&&(t.clickHandler=s.click||"",t.clickParam=s.param||"")}e.cacheMode=this._cacheMode,this._font instanceof AN&&!this._isSystemFontUsed?e.font=this._font:e.fontFamily=this._fontFamily,e.useSystemFont=this._isSystemFontUsed,e.lineHeight=this._lineHeight,e.updateRenderData(!0)}},i._applyLayer=function(){for(var t,e=f(this._segments);!(t=e()).done;)t.value.node.layer=this.node.layer},i._resetLabelState=function(t){t.fontSize=this._fontSize,t.color=this._fontColor,t.isBold=!1,t.isItalic=!1,t.isUnderline=!1},n(e,[{key:"string",get:function(){return this._string},set:function(t){this._string!==t&&(this._string=t,this._updateRichTextStatus())}},{key:"horizontalAlign",get:function(){return this._horizontalAlign},set:function(t){this.horizontalAlign!==t&&(this._horizontalAlign=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"verticalAlign",get:function(){return this._verticalAlign},set:function(t){this._verticalAlign!==t&&(this._verticalAlign=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"fontSize",get:function(){return this._fontSize},set:function(t){this._fontSize!==t&&(this._fontSize=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"fontColor",get:function(){return this._fontColor},set:function(t){this._fontColor!==t&&(this._fontColor=t,this._updateTextDefaultColor())}},{key:"fontFamily",get:function(){return this._fontFamily},set:function(t){this._fontFamily!==t&&(this._fontFamily=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"font",get:function(){return this._font},set:function(t){this._font!==t&&(this._font=t,this._layoutDirty=!0,this._font?(this.useSystemFont=!1,this._onTTFLoaded()):this.useSystemFont=!0,this._updateRichTextStatus())}},{key:"useSystemFont",get:function(){return this._isSystemFontUsed},set:function(t){this._isSystemFontUsed!==t&&(this._isSystemFontUsed=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"cacheMode",get:function(){return this._cacheMode},set:function(t){this._cacheMode!==t&&(this._cacheMode=t,this._updateRichTextStatus())}},{key:"maxWidth",get:function(){return this._maxWidth},set:function(t){this._maxWidth!==t&&(this._maxWidth=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"lineHeight",get:function(){return this._lineHeight},set:function(t){this._lineHeight!==t&&(this._lineHeight=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"imageAtlas",get:function(){return this._imageAtlas},set:function(t){this._imageAtlas!==t&&(this._imageAtlas=t,this._layoutDirty=!0,this._updateRichTextStatus())}},{key:"handleTouchEvent",get:function(){return this._handleTouchEvent},set:function(t){this._handleTouchEvent!==t&&(this._handleTouchEvent=t,this.enabledInHierarchy&&(this.handleTouchEvent?this._addEventListeners():this._removeEventListeners()))}}]),e}(hp)).HorizontalAlign=ZG,kW.VerticalAlign=QG,p((bW=kW).prototype,"horizontalAlign",[mW],Object.getOwnPropertyDescriptor(bW.prototype,"horizontalAlign"),bW.prototype),p(bW.prototype,"verticalAlign",[gW],Object.getOwnPropertyDescriptor(bW.prototype,"verticalAlign"),bW.prototype),p(bW.prototype,"fontColor",[yW],Object.getOwnPropertyDescriptor(bW.prototype,"fontColor"),bW.prototype),p(bW.prototype,"font",[vW],Object.getOwnPropertyDescriptor(bW.prototype,"font"),bW.prototype),p(bW.prototype,"cacheMode",[SW],Object.getOwnPropertyDescriptor(bW.prototype,"cacheMode"),bW.prototype),p(bW.prototype,"imageAtlas",[TW],Object.getOwnPropertyDescriptor(bW.prototype,"imageAtlas"),bW.prototype),EW=Us(bW.prototype,"_lineHeight",[sa],(function(){return 40})),CW=Us(bW.prototype,"_string",[sa],(function(){return"RichText"})),xW=Us(bW.prototype,"_horizontalAlign",[sa],(function(){return ZG.LEFT})),wW=Us(bW.prototype,"_verticalAlign",[sa],(function(){return QG.TOP})),RW=Us(bW.prototype,"_fontSize",[sa],(function(){return 40})),IW=Us(bW.prototype,"_fontColor",[sa],(function(){return mn.WHITE.clone()})),DW=Us(bW.prototype,"_maxWidth",[sa],(function(){return 0})),BW=Us(bW.prototype,"_fontFamily",[sa],(function(){return"Arial"})),MW=Us(bW.prototype,"_font",[sa],(function(){return null})),PW=Us(bW.prototype,"_isSystemFontUsed",[sa],(function(){return!0})),OW=Us(bW.prototype,"_userDefinedFont",[sa],(function(){return null})),LW=Us(bW.prototype,"_cacheMode",[sa],(function(){return tV.NONE})),FW=Us(bW.prototype,"_imageAtlas",[sa],(function(){return null})),NW=Us(bW.prototype,"_handleTouchEvent",[sa],(function(){return!0})),AW=bW))||AW)||AW));v.RichText=KW;var JW=t("m",Js("cc.UIMeshRenderer")(qW=Qs(110)(qW=function(t){function e(){var e;return(e=t.call(this)||this)._modelComponent=null,e._dirtyVersion=-1,e._internalId=-1,e.stencilStage=xk.DISABLED,e._renderData=null,e._renderEntity=new jk(Ik.DYNAMIC),e}s(e,t);var i=e.prototype;return i.__preload=function(){this.node._uiProps.uiComp=this},i.onEnable=function(){nF.addRenderer(this),this.markForUpdateRenderData()},i.onDisable=function(){nF.removeRenderer(this),this.renderEntity.enabled=this._canRender()},i.onLoad=function(){this.node._uiProps.uiTransformComp||this.node.addComponent("cc.UITransform"),this._modelComponent=this.getComponent("cc.ModelRenderer"),this._modelComponent?this.renderEntity.setNode(this.node):V("node '"+(this.node&&this.node.name)+"' doesn't have any renderable component")},i.onDestroy=function(){this.renderEntity.setNode(null),this.node._uiProps.uiComp===this&&(this.node._uiProps.uiComp=null),this._modelComponent=this.getComponent("cc.ModelRenderer"),this._modelComponent&&(this._modelComponent._sceneGetter=null)},i._render=function(t){if(this._modelComponent){var e=this._modelComponent._collectModels();this._modelComponent._detachFromScene();for(var i=0;i0)for(s=e;s=e;s-=n)a=BX(s,t[s],t[s+1],a);return a&&wX(a,a.next)&&(MX(a),a=a.next),a}function dX(t,e){if(void 0===e&&(e=null),!t)return t;e||(e=t);var i=t,n=!1;do{if(n=!1,i.steiner||!wX(i,i.next)&&0!==xX(i.prev,i,i.next))i=i.next;else{if(MX(i),(i=e=i.prev)===i.next)return null;n=!0}}while(n||i!==e);return e}function pX(t,e,i,n,r,s,a){if(void 0===a&&(a=0),t){!a&&s&&function(t,e,i,n){var r=t;do{null===r.z&&(r.z=AX(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=0,i=null,n=null,r=null,s=null,a=0,o=0,h=0,u=1;do{for(i=t,t=null,s=null,a=0;i;){for(a++,n=i,o=0,e=0;e0||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,u*=2}while(a>1)}(r)}(t,n,r,s);for(var o=t,h=null,u=null;t.prev!==t.next;)if(h=t.prev,u=t.next,s?gX(t,n,r,s):mX(t))e.push(h.i/i),e.push(t.i/i),e.push(u.i/i),MX(t),t=u.next,o=u.next;else if((t=u)===o){a?1===a?pX(t=yX(t,e,i),e,i,n,r,s,2):2===a&&vX(t,e,i,n,r,s):pX(dX(t),e,i,n,r,s,1);break}}}function mX(t){var e=t.prev,i=t,n=t.next;if(xX(e,i,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(EX(e.x,e.y,i.x,i.y,n.x,n.y,r.x,r.y)&&xX(r.prev,r,r.next)>=0)return!1;r=r.next}return!0}function gX(t,e,i,n){var r=t.prev,s=t,a=t.next;if(xX(r,s,a)>=0)return!1;for(var o=r.xs.x?r.x>a.x?r.x:a.x:s.x>a.x?s.x:a.x,l=r.y>s.y?r.y>a.y?r.y:a.y:s.y>a.y?s.y:a.y,c=AX(o,h,e,i,n),_=AX(u,l,e,i,n),f=t.nextZ;f&&f.z<=_;){if(f!==t.prev&&f!==t.next&&EX(r.x,r.y,s.x,s.y,a.x,a.y,f.x,f.y)&&xX(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=c;){if(f!==t.prev&&f!==t.next&&EX(r.x,r.y,s.x,s.y,a.x,a.y,f.x,f.y)&&xX(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0}function yX(t,e,i){var n=t;do{var r=n.prev,s=n.next.next;!wX(r,s)&&RX(r,n,n.next,s)&&IX(r,s)&&IX(s,r)&&(e.push(r.i/i),e.push(n.i/i),e.push(s.i/i),MX(n),MX(n.next),n=t=s),n=n.next}while(n!==t);return n}function vX(t,e,i,n,r,s){var a=t;do{for(var o=a.next.next;o!==a.prev;){if(a.i!==o.i&&CX(a,o)){var h=DX(a,o);return a=dX(a,a.next),h=dX(h,h.next),pX(a,e,i,n,r,s),void pX(h,e,i,n,r,s)}o=o.next}a=a.next}while(a!==t)}function SX(t,e){return t.x-e.x}function TX(t,e){if(e=function(t,e){var i=e,n=t.x,r=t.y,s=-1/0,a=null;do{if(r<=i.y&&r>=i.next.y){var o=i.x+(r-i.y)*(i.next.x-i.x)/(i.next.y-i.y);if(o<=n&&o>s){if(s=o,o===n){if(r===i.y)return i;if(r===i.next.y)return i.next}a=i.x=i.x&&i.x>=l&&EX(ra.x)&&IX(i,t)&&(a=i,_=h),i=i.next;return a}(t,e)){var i=DX(e,t);dX(i,i.next)}}function AX(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 bX(t){var e=t,i=t;do{e.x=0&&(t-a)*(n-o)-(i-a)*(e-o)>=0&&(i-a)*(s-o)-(r-a)*(n-o)>=0}function CX(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&&RX(i,i.next,t,e))return!0;i=i.next}while(i!==t);return!1}(t,e)&&IX(t,e)&&IX(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 xX(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function wX(t,e){return t.x===e.x&&t.y===e.y}function RX(t,e,i,n){return!!(wX(t,e)&&wX(i,n)||wX(t,n)&&wX(i,e))||xX(t,e,i)>0!=xX(t,e,n)>0&&xX(i,n,t)>0!=xX(i,n,e)>0}function IX(t,e){return xX(t.prev,t,t.next)<0?xX(t,e,t.next)>=0&&xX(t,t.prev,e)>=0:xX(t,e,t.prev)<0||xX(t,t.next,e)<0}function DX(t,e){var i=new _X(t.i,t.x,t.y),n=new _X(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 BX(t,e,i,n){var r=new _X(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 MX(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 PX(t,e,i){i=i||3;var n=e?e.length:0,r=n?e[0]*i:t.length,s=fX(t,0,r,i,!0),a=[];if(!s)return a;var o=0,h=0,u=0,l=0,c=0,_=0,f=0;if(n&&(s=function(t,e,i,n){var r,s=[],a=0,o=null;for(a=0,r=e.length;a80*i){o=u=t[0],h=l=t[1];for(var d=i;du&&(u=c),_>l&&(l=_);f=Math.max(u-o,l-h)}return pX(s,a,i,o,h,f),a}for(var OX=Math.PI,LX=Math.min,FX=Math.max,NX=Math.ceil,kX=Math.acos,GX=Math.cos,VX=Math.sin,UX=Math.atan2,zX=null,HX=null,WX=new mn,XX=[],jX=0;jX<4;jX++)XX.push(new un);function YX(t,e,i){return ti?i:t}var qX={useModel:!0,updateRenderData:function(){},fillBuffers:function(){},renderIA:function(){},getRenderData:function(t,e){if(!HX)return null;var i=HX.getRenderDataList(),n=i[HX.dataOffset];if(!n)return null;var r=n,s=r?r.vertexStart+e:0;return(s>65535||3*s>131070)&&(++HX.dataOffset,HX.dataOffset0&&(r=1/e);for(var s=t.paths,a=t.pathOffset,o=t.pathLength;a1e-6){var S=1/d;S>600&&(S=600),_.dmx*=S,_.dmy*=S}_.dx*c.dy-c.dx*_.dy>0&&(_.flags|=XV.PT_LEFT),d*(p=FX(11,LX(c.len,_.len)*r))*p<1&&(_.flags|=XV.PT_INNERBEVEL),_.flags&XV.PT_CORNER&&(d*n*n<1||i===WV.BEVEL||i===WV.ROUND)&&(_.flags|=XV.PT_BEVEL),0!=(_.flags&(XV.PT_BEVEL|XV.PT_INNERBEVEL))&&h.bevel++,c=_,_=u[f+1]}}},_flattenPaths:function(t){for(var e=t.paths,i=t.pathOffset,n=t.pathLength;i2&&a.equals(o)&&(r.closed=!0,s.pop(),a=s[s.length-1]);for(var h=0,u=s.length;hm&&(g-=2*OX),this._vSet(_,f,1),this._vSet(u-s*n,e.y-a*n,-1);for(var y=YX(NX((m-g)/OX)*r,2,r),v=0;vZX||n.canvasSize.height>ZX)&&a<=3;){if(++a>3)this._fontScale=1;else{var o=Math.max(n.canvasSize.width,n.canvasSize.height),h=ZX/o;this._fontScale*=h,this._fontScale=Math.max(1,this._fontScale)}this._updatePaddingRect(e,n),this._calculateLabelFont(e,i,n,r)}}s&&(s=n.parsedString)},e.generateRenderInfo=function(t,e,i,n,r,s,a){t?(this._computeAlignmentOffset(e,i,n),this.generateVertexData(t,e,i,n,r,s,a)):(this._updateLabelDimensions(e,i,n),this._updateTexture(e,i,n,r),this.generateVertexData(t,e,i,n,r,s,a))},e.setCanvasUsed=function(t,e){this._canvas=t,this._context=e},e._getStyleFontScale=function(t,e){var i=e;return i*t>this._maxFontSize&&tu?o:u}var l=o,c=(s.length+NN)*this._getLineHeight(e.lineHeight,t.actualFontSize,t.fontSize);i.canvasSize.width=l+i.canvasPadding.width*this._fontScale,i.canvasSize.height=c+i.canvasPadding.height*this._fontScale,i.nodeContentSize.width=(l+i.contentSizeExtend.width*this._fontScale)/this._fontScale,i.nodeContentSize.height=(c+i.contentSizeExtend.height*this._fontScale)/this._fontScale;break;case $G.SHRINK:this._calculateShrinkFont(r,t,e,i),this._calculateWrapText(r,t,e,i),i.canvasSize.width=i.nodeContentSize.width*this._fontScale,i.canvasSize.height=i.nodeContentSize.height*this._fontScale;break;case $G.CLAMP:this._calculateWrapText(r,t,e,i),i.canvasSize.width=i.nodeContentSize.width*this._fontScale,i.canvasSize.height=i.nodeContentSize.height*this._fontScale;break;case $G.RESIZE_HEIGHT:this._calculateWrapText(r,t,e,i);var _=(i.parsedString.length+NN)*this._getLineHeight(e.lineHeight,t.actualFontSize,t.fontSize);i.canvasSize.width=i.nodeContentSize.width*this._fontScale,i.canvasSize.height=_+i.canvasPadding.height*this._fontScale,i.nodeContentSize.height=(_+i.contentSizeExtend.height*this._fontScale)/this._fontScale}}},e._getFontDesc=function(t,e,i,n){var r=t.toString()+"px ";return r+=e,i&&(r="bold "+r),n&&(r="italic "+r),r},e._getLineHeight=function(t,e,i){return 0===t?e:t*e/i},e._calculateShrinkFont=function(t,e,i,n){if(this._context){var r=this._getFontDesc(e.actualFontSize,e.fontFamily,e.isBold,e.isItalic);this._context.font=r;var s=this._calculateParagraphLength(t,this._context,r),a=0,o=0,h=0,u=e.actualFontSize;if(i.wrapping){var l=n.nodeContentSize.width*this._fontScale,c=n.nodeContentSize.height*this._fontScale;if(l<0||c<0)return;o=c+1;for(var _=0,f=0|e.actualFontSize+1,d=0;_>1)<=0){q(4003);break}u=d,r=this._getFontDesc(u,e.fontFamily,e.isBold,e.isItalic),this._context.font=r;var p=this._getLineHeight(i.lineHeight,u,e.fontSize);for(o=0,a=0;ac?f=d-1:_=d}0===_?q(4003):(u=_,r=this._getFontDesc(u,e.fontFamily,e.isBold,e.isItalic),this._context.font=r)}else{for(o=t.length*this._getLineHeight(i.lineHeight,u,e.fontSize),a=0;a1&&i.hasShadow,a=this._measureText(this._context,i.fontDesc),o=0,h=0;i.hasShadow&&this._setupShadow(i),i.isOutlined&&this._setupOutline(i);for(var u=0;u0&&this._isVerticalClamp(t,e,i,n,this)&&this._shrinkLabelToContentSize(t,e,i,n,this._isVerticalClamp),t.fontSize>0&&this._isHorizontalNeedShrink(e,i)&&this._shrinkLabelToContentSize(t,e,i,n,this._isHorizontalClamp)),this._parsedString(i,n)},e._parsedString=function(t,e){for(var i=[],n="",r=0,s=0,a=e.length;r0&&h>0&&x+d.w*t.bmfontScale>e.maxLineWidth&&!qN(m)){e.linesWidth.push(c),c=0,o++,h=0,u-=e.lineHeight*this._getFontScale(t,e)+0,A=!0;break}b.x=x,b.y=u-d.offsetY*t.bmfontScale,this._recordLetterInfo(b,m,C,o),C+1b.y-d.h*t.bmfontScale&&(v=b.y-d.h*t.bmfontScale)}else this._recordPlaceholderInfo(C,m),G("Can't find letter definition in texture atlas "+t.fntConfig.atlasName+" for letter:"+m);else this._recordPlaceholderInfo(C,m)}A||(h=T,_v&&(f=v),l<(c=S)&&(l=c),p+=g)}else e.linesWidth.push(c),c=0,o++,h=0,u-=e.lineHeight*this._getFontScale(t,e)+0,this._recordPlaceholderInfo(p,m),p++}return e.linesWidth.push(c),e.numberOfLines=o+1,e.textDesiredHeight=e.numberOfLines*e.lineHeight*this._getFontScale(t,e),e.numberOfLines>1&&(e.textDesiredHeight+=0*(e.numberOfLines-1)),i.nodeContentSize.width=e.textWidthTemp,i.nodeContentSize.height=e.textHeightTemp,e.textWidthTemp<=0&&(i.nodeContentSize.width=parseFloat(l.toFixed(2))+2*hk.margin),e.textHeightTemp<=0&&(i.nodeContentSize.height=parseFloat(e.textDesiredHeight.toFixed(2))+2*hk.margin),e.tailoredTopY=i.nodeContentSize.height,e.tailoredBottomY=0,_>0&&(e.tailoredTopY=i.nodeContentSize.height+_),f<-e.textDesiredHeight&&(e.tailoredBottomY=e.textDesiredHeight+f),!0},e._recordPlaceholderInfo=function(t,e){if(t>=this._lettersInfo.length){var i=new $X;this._lettersInfo.push(i)}this._lettersInfo[t].char=e,this._lettersInfo[t].hash=""+e.charCodeAt(0)+hk.hash,this._lettersInfo[t].valid=!1},e._recordLetterInfo=function(t,e,i,n){if(i>=this._lettersInfo.length){var r=new $X;this._lettersInfo.push(r)}var s=""+e.charCodeAt(0)+hk.hash;this._lettersInfo[i].line=n,this._lettersInfo[i].char=e,this._lettersInfo[i].hash=s,this._lettersInfo[i].valid=hk.fontAtlas.getLetter(s).valid,this._lettersInfo[i].x=t.x,this._lettersInfo[i].y=t.y},e._getFirstWordLen=function(t,e,i,n,r){var s=i.charAt(n);if(YN(s)||"\n"===s||qN(s))return 1;var a=1,o=hk.fontAtlas.getLetterDefinitionForChar(s,hk);if(!o)return a;for(var h=o.xAdvance*t.bmfontScale+e.spacingX,u=n+1;ue.maxLineWidth&&!qN(s)&&e.maxLineWidth>0)return a;if(h+=o.xAdvance*t.bmfontScale+e.spacingX,"\n"===s||qN(s)||YN(s))break;a++}return a},e._computeAlignmentOffset=function(t,e,i){switch(e.linesOffsetX.length=0,e.letterOffsetY=0,e.horizontalAlign){case ZG.LEFT:for(var n=0;ni.nodeContentSize.height},e._isHorizontalClamp=function(t,e,i,n,r){for(var s=!1,a=0,o=n.length;a0)if(e.wrapping){if(e.linesWidth[c]>i.nodeContentSize.width&&(l>i.nodeContentSize.width||l<0)){s=!0;break}}else if(l>i.nodeContentSize.width){s=!0;break}}}return s},e._isHorizontalNeedShrink=function(t,e){for(var i=0,n=t.linesWidth.length;ie.nodeContentSize.width)return!0;return!1},e._shrinkLabelToContentSize=function(t,e,i,n,r){for(var s=0,a=0|t.actualFontSize,o=0;s>1;if(h<=0)break;t.bmfontScale=h/(t.originFontSize*this._fontScale),this._multilineTextWrap(t,e,i,n,this._getFirstWordLen),this._computeAlignmentOffset(t,e,i),r(t,e,i,n,this)?a=o-1:s=o}s>=0&&this._scaleFontSizeDown(t,e,i,n,s)},e._scaleFontSizeDown=function(t,e,i,n,r){var s=!0;r||(r=.1,s=!1),t.actualFontSize=r,s&&(this._updateFontScale(t),this._multilineTextWrap(t,e,i,n,this._getFirstWordLen))},e._updateQuads=function(t,e,i,n,r,s){for(var a=t.spriteFrame?t.spriteFrame.texture:hk.fontAtlas.getTexture(),o=n.uiTransAnchorX*i.nodeContentSize.width,h=n.uiTransAnchorY*i.nodeContentSize.height,u=0,l=r.length;u0){if(f>e.tailoredTopY){var d=f-e.tailoredTopY;this._tmpRect.y+=d,this._tmpRect.height-=d,f-=d}f-this._tmpRect.height*t.bmfontScale0&&this._isHorizontalClamped(e,i,m,p)&&e.overFlow===$G.CLAMP&&(this._tmpRect.width=0),this._tmpRect.height>0&&this._tmpRect.width>0){var g=this._determineRect(t),y=c.x+e.linesOffsetX[c.line],v=n.quadCount;n.quadCount+=4,this.updateQuatCount(n),s(t,i,n,v,a,this._tmpRect,g,y-o,f-h)}}else V("Can't find letter in this bitmap-font")}}return!0},e._isHorizontalClamped=function(t,e,i,n){var r=t.linesWidth[n],s=i>e.nodeContentSize.width||i<0;return t.wrapping?r>e.nodeContentSize.width&&s:s},e._determineRect=function(t){var e=t.spriteFrame;if(!e)return!1;var i=e.isRotated(),n=e.getOriginalSize(),r=e.getRect(),s=e.getOffset(),a=s.x+(n.width-r.width)/2,o=s.y-(n.height-r.height)/2;if(i){var h=this._tmpRect.x;this._tmpRect.x=r.x+r.height-this._tmpRect.y-this._tmpRect.height-o,this._tmpRect.y=h+r.y-a,this._tmpRect.y<0&&(this._tmpRect.height+=o)}else this._tmpRect.x+=r.x-a,this._tmpRect.y+=r.y+o;return i},t}();tj.instance=void 0,tj.instance=new tj;var ej,ij=new ok(64,64),nj=new ON(null),rj=null,sj=null,aj=null,oj=null,hj={updateProcessingData:function(t,e,i,n,r,s){t.fontSize=r.fontSize,t.actualFontSize=r.fontSize,t.originFontSize=aj?aj.fontSize:r.fontSize,e.horizontalAlign=r.horizontalAlign,e.verticalAlign=r.verticalAlign,e.spacingX=r.spacingX;var a=r.overflow;e.overFlow=a,e.lineHeight=r.lineHeight,i.nodeContentSize.width=s.width,i.nodeContentSize.height=s.height,a===$G.NONE?(e.wrapping=!1,i.nodeContentSize.width+=2*hk.margin,i.nodeContentSize.height+=2*hk.margin):a===$G.RESIZE_HEIGHT?(e.wrapping=!0,i.nodeContentSize.height+=2*hk.margin):e.wrapping=r.enableWrapText,n.uiTransAnchorX=s.anchorX,n.uiTransAnchorY=s.anchorY,hk.lineHeight=r.lineHeight,hk.fontSize=r.fontSize,t.spriteFrame=oj,t.fntConfig=aj,t.fontFamily=hk.fontFamily,t.color.set(r.color)},updateRenderData:function(t){if(t.renderData&&rj!==t){if(t.renderData.vertDirty){sj=(rj=t).node._uiProps.uiTransformComp;var e=t.renderData,i=tj.instance,n=t.textStyle,r=t.textLayout,s=t.textLayoutData,a=t.textRenderData;n.fontScale=bH.getScaleX(),this._updateFontFamily(t),this.updateProcessingData(n,r,s,a,t,sj),this._updateLabelInfo(t),n.fontDesc=hk.fontDesc,i.processingString(!0,n,r,s,t.string),this.resetRenderData(t),a.quadCount=0,i.generateRenderInfo(!0,n,r,s,a,t.string,this.generateVertexData),e.dataLength=a.quadCount,e.resize(e.dataLength,e.dataLength/2*3);for(var o=e.data,h=0,u=a.quadCount;h0&&(i=i+t.margin+t.out.toHEX()),""+t.fontSize+t.fontFamily+e+i}(hk)},_getFontDesc:function(){return hk.fontSize.toString()+"px "+hk.fontFamily}}),fj=new mn(255,255,255,255),dj={createData:function(t){var e=t.requestRenderData();return e.resize(0,0),e},fillBuffers:function(t){if(t.renderData){var e=t.node;fj.a=255*e._uiProps.opacity,Bf(e,0,t.renderData,fj)}},updateColor:function(){}};Ut(dj,_j);var pj=sV.Overflow,mj={updateProcessingData:function(t,e,i,n,r,s){t.isSystemFontUsed=r.useSystemFont,t.fontSize=r.fontSize,i.nodeContentSize.width=i.canvasSize.width=s.width,i.nodeContentSize.height=i.canvasSize.height=s.height,e.lineHeight=r.lineHeight,e.overFlow=r.overflow,r.overflow===pj.NONE?e.wrapping=!1:r.overflow===pj.RESIZE_HEIGHT?e.wrapping=!0:e.wrapping=r.enableWrapText,t.isBold=r.isBold,t.isItalic=r.isItalic,t.isUnderline=r.isUnderline,t.underlineHeight=r.underlineHeight;var a=Ez&&r.getComponent(Ez);(a=a&&a.enabled&&a.width>0?a:null)?(t.isOutlined=!0,t.outlineColor.set(a.color),t.outlineWidth=a.width):t.isOutlined=!1;var o=lX&&r.getComponent(lX);(o=o&&o.enabled?o:null)?(t.hasShadow=!0,t.shadowColor.set(o.color),t.shadowBlur=o.blur,t.shadowOffsetX=o.offset.x,t.shadowOffsetY=o.offset.y):t.hasShadow=!1,t.color.set(r.color),n.texture=r.spriteFrame,n.uiTransAnchorX=s.anchorX,n.uiTransAnchorY=s.anchorY,e.horizontalAlign=r.horizontalAlign,e.verticalAlign=r.verticalAlign},getAssemblerData:function(){var t=sV._canvasPool.get();return t.canvas.width=t.canvas.height=1,t},resetAssemblerData:function(t){t&&sV._canvasPool.put(t)},updateRenderData:function(t){if(t.renderData){if(t.renderData.vertDirty){var e=t.node._uiProps.uiTransformComp,i=tj.instance,n=t.textStyle,r=t.textLayout,s=t.textLayoutData,a=t.textRenderData;n.fontScale=bH.getScaleX(),this.updateProcessingData(n,r,s,a,t,e),i.setCanvasUsed(t.assemblerData.canvas,t.assemblerData.context),n.fontFamily=this._updateFontFamily(t),this._resetDynamicAtlas(t),i.processingString(!1,n,r,s,t.string),i.generateRenderInfo(!1,n,r,s,a,t.string,this.generateVertexData);var o=t.renderData;o.textureDirty=!0,this._calDynamicAtlas(t,s),t.actualFontSize=n.actualFontSize,e.setContentSize(s.nodeContentSize);var h=o.data;h[0]=a.vertexBuffer[0],h[1]=a.vertexBuffer[1],h[2]=a.vertexBuffer[2],h[3]=a.vertexBuffer[3],this.updateUVs(t),t.renderData.vertDirty=!1,t.contentWidth=s.nodeContentSize.width}t.spriteFrame&&t.renderData.updateRenderData(t,t.spriteFrame)}},generateVertexData:function(t,e,i){var n=i.vertexBuffer,r=e.nodeContentSize.width,s=e.nodeContentSize.height,a=i.uiTransAnchorX*r,o=i.uiTransAnchorY*s;n[0].x=-a,n[0].y=-o,n[1].x=r-a,n[1].y=-o,n[2].x=-a,n[2].y=s-o,n[3].x=r-a,n[3].y=s-o},updateVertexData:function(){},updateUVs:function(){},_updateFontFamily:function(t){return t.useSystemFont?t.fontFamily||"Arial":t.font&&t.font._nativeAsset||"Arial"},_calDynamicAtlas:function(t,e){if(!(t.cacheMode!==sV.CacheMode.BITMAP||e.canvasSize.width<=0||e.canvasSize.height<=0)){var i=t.ttfSpriteFrame;bF.packToDynamicAtlas(t,i)}},_resetDynamicAtlas:function(t){if(t.cacheMode===sV.CacheMode.BITMAP){var e=t.ttfSpriteFrame;bF.deleteAtlasSpriteFrame(e),e._resetDynamicAtlasFrame()}}},gj=mn.WHITE.clone(),yj=Uint16Array.from([0,1,2,1,3,2]),vj={createData:function(t){var e=t.requestRenderData();e.dataLength=4,e.resize(4,6),t.textRenderData.quadCount=4;var i=e.chunk.vb;i[3]=i[21]=i[22]=i[31]=0,i[4]=i[12]=i[13]=i[30]=1;for(var n=5,r=0;r<4;r++)mn.toArray(i,gj,n),n+=9;return e.chunk.setIndexBuffer(yj),e},fillBuffers:function(t){for(var e=t.renderData,i=e.chunk,n=e.data,r=t.node,s=i.vb,a=r.worldMatrix,o=e.floatStride,h=0,u=n.length,l=0;l1?1:r)<0?0:r;var s=(n=(n=n>1?1:n)<0?0:n)+(r=(r-=n)<0?0:r);s=s>1?1:s,this.updateUVs(t,n,s),this.updateVertexData(t,n,s),i.updateRenderData(t,e)}},updateUVs:function(t,e,i){var n=t.spriteFrame,r=t.renderData.chunk.vb,s=n.width,a=n.height,o=n.rect,h=0,u=0,l=0,c=0,_=0,f=0,d=0,p=0,m=0,g=0;switch(n.isRotated()?(h=o.x/s,u=(o.y+o.width)/a,l=_=h,d=m=(o.x+o.height)/s,f=g=u,c=p=o.y/a):(h=o.x/s,u=(o.y+o.height)/a,l=d=h,_=m=(o.x+o.width)/s,c=f=u,p=g=o.y/a),t.fillType){case Tj.HORIZONTAL:r[3]=l+(_-l)*e,r[4]=c+(f-c)*e,r[12]=l+(_-l)*i,r[13]=c+(f-c)*i,r[21]=d+(m-d)*e,r[22]=p+(g-p)*e,r[30]=d+(m-d)*i,r[31]=p+(g-p)*i;break;case Tj.VERTICAL:r[3]=l+(d-l)*e,r[4]=c+(p-c)*e,r[12]=_+(m-_)*e,r[13]=f+(g-f)*e,r[21]=l+(d-l)*i,r[22]=c+(p-c)*i,r[30]=_+(m-_)*i,r[31]=f+(g-f)*i;break;default:Q(2626)}},updateVertexData:function(t,e,i){var n=t.renderData.data,r=t.node._uiProps.uiTransformComp,s=r.width,a=r.height,o=r.anchorX*s,h=r.anchorY*a,u=-o,l=-h,c=s-o,_=a-h,f=0;switch(t.fillType){case Tj.HORIZONTAL:f=u+(c-u)*i,u+=(c-u)*e,c=f;break;case Tj.VERTICAL:f=l+(_-l)*i,l+=(_-l)*e,_=f;break;default:Q(2626)}n[0].x=u,n[0].y=l,n[1].x=c,n[1].y=l,n[2].x=u,n[2].y=_,n[3].x=c,n[3].y=_},createData:function(t){var e=t.requestRenderData();e.dataLength=4,e.resize(4,6),e.chunk.setIndexBuffer(bj);for(var i,n=f(e.data);!(i=n()).done;)i.value.z=0;return e},updateWorldVertexData:function(t,e){t.node.getWorldMatrix(Aj);for(var i=t.renderData.floatStride,n=t.renderData.data,r=e.vb,s=0,a=0;a<4;a++){var o=n[a],h=o.x,u=o.y,l=Aj.m03*h+Aj.m07*u+Aj.m15;l=l?1/l:1,r[s=a*i]=(Aj.m00*h+Aj.m04*u+Aj.m12)*l,r[s+1]=(Aj.m01*h+Aj.m05*u+Aj.m13)*l,r[s+2]=(Aj.m02*h+Aj.m06*u+Aj.m14)*l}},fillBuffers:function(t){var e=t.renderData,i=e.chunk;(t._flagChangedVersion!==t.node.flagChangedVersion||e.vertDirty)&&(this.updateWorldVertexData(t,i),e.vertDirty=!1,t._flagChangedVersion=t.node.flagChangedVersion),i.bufferId;var n=i.vertexOffset,r=i.meshBuffer,s=i.meshBuffer.iData,a=r.indexOffset;s[a++]=n,s[a++]=n+1,s[a++]=n+2,s[a++]=n+2,s[a++]=n+1,s[a++]=n+3,r.indexOffset+=6},updateColor:function(t){for(var e=t.renderData,i=e.chunk.vb,n=e.floatStride,r=5,s=t.color,a=s.r/255,o=s.g/255,h=s.b/255,u=t.node._uiProps.opacity,l=0;l<4;l++)i[r]=a,i[r+1]=o,i[r+2]=h,i[r+3]=u,r+=n}},Cj=2*Math.PI,xj=1e-6,wj=new Mn,Rj=[new kn,new kn,new kn,new kn],Ij=new Array(4),Dj=new Array(8),Bj=[new kn,new kn,new kn,new kn],Mj=[new kn,new kn,new kn,new kn],Pj=new kn,Oj=[new kn,new kn,new kn,new kn],Lj=null;function Fj(t,e,i,n,r,s,a){var o=Math.sin(s);o=Math.abs(o)>xj?o:0;var h=Math.cos(s),u=0,l=0;if(0!==(h=Math.abs(h)>xj?h:0)){if(u=o/h,(t-r.x)*h>0){var c=r.y+u*(t-r.x);a[0].x=t,a[0].y=c}if((e-r.x)*h>0){var _=r.y+u*(e-r.x);a[2].x=e,a[2].y=_}}if(0!==o){if(l=h/o,(n-r.y)*o>0){var f=r.x+l*(n-r.y);a[3].x=f,a[3].y=n}if((i-r.y)*o>0){var d=r.x+l*(i-r.y);a[1].x=d,a[1].y=i}}}function Nj(t,e){var i=e.x-t.x,n=e.y-t.y;if(0===i&&0===n)return 0;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}function kj(t,e,i,n,r){var s=Ij,a=s[0],o=s[1],h=s[2],u=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,Gj((i.x-a)/(h-a),(i.y-o)/(u-o),t,e),Gj((n.x-a)/(h-a),(n.y-o)/(u-o),t,e+1),Gj((r.x-a)/(h-a),(r.y-o)/(u-o),t,e+2)}function Gj(t,e,i,n){var r=Dj,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,u=i[n];u.u=s+(a-s)*e,u.v=o+(h-o)*e}for(var Vj={useModel:!1,createData:function(t){return t.requestRenderData()},updateRenderData:function(t){var e=t.spriteFrame;bF.packToDynamicAtlas(t,e),this.updateUVs(t);var i=t.renderData;if(i&&e){if(!i.vertDirty)return;var n=i.data,r=t.fillStart,s=t.fillRange;for(s<0&&(r+=s,s=-s);r>=1;)r-=1;for(;r<0;)r+=1;var a=(r*=Cj)+(s*=Cj);!function(t){var e=t.node._uiProps.uiTransformComp,i=e.width,n=e.height,r=e.anchorX*i,s=e.anchorY*n,a=-r,o=-s,h=i-r,u=n-s,l=Ij;l[0]=a,l[1]=o,l[2]=h,l[3]=u;var c=t.fillCenter,_=Pj.x=Math.min(Math.max(0,c.x),1)*(h-a)+a,f=Pj.y=Math.min(Math.max(0,c.y),1)*(u-o)+o;Rj[0].x=Rj[3].x=a,Rj[1].x=Rj[2].x=h,Rj[0].y=Rj[1].y=o,Rj[2].y=Rj[3].y=u;for(var d=0,p=Oj;d=Cj)i.dataLength=o+3,kj(n,o,Pj,Rj[u.x],Rj[u.y]),o+=3;else{var l=Nj(Pj,Rj[u.x]),c=Nj(Pj,Rj[u.y]);c=a||(l>=r?(i.dataLength=o+3,kj(n,o,Pj,Rj[u.x],c>=a?Mj[h]:Rj[u.y]),o+=3):c>r&&(c<=a?(i.dataLength=o+3,kj(n,o,Pj,Bj[h],Rj[u.y]),o+=3):(i.dataLength=o+3,kj(n,o,Pj,Bj[h],Mj[h]),o+=3))),l+=Cj,c+=Cj}}0===o&&(i.dataLength=0),i.resize(o,o),i.updateRenderData(t,e)}},createQuadIndices:function(t){Lj=null,Lj=new Uint16Array(t);for(var e=0,i=0;i1?1:p,m=Number.isNaN(m)||m>1?1:m,f=f<0?0:f,d=d<0?0:d,Wj[0].x=-a,Wj[0].y=-o,Wj[1].x=u*p-a,Wj[1].y=_*m-o,Wj[2].x=Wj[1].x+f,Wj[2].y=Wj[1].y+d,Wj[3].x=r-a,Wj[3].y=s-o;for(var g=0;g<4;g++)for(var y=0;y<4;y++){var v=4*g+y;v0||t.insetBottom>0||t.insetLeft>0||t.insetRight>0)?2:0}var sY={createData:function(t){return t.requestRenderData()},updateRenderData:function(t){var e=t.renderData,i=t.spriteFrame;if(i&&e&&e.vertDirty){var n=t.node._uiProps.uiTransformComp,r=Math.abs(n.width),s=Math.abs(n.height),a=i.getRect(),o=i.insetLeft,h=i.insetRight,u=a.width-o-h,l=i.insetTop,c=i.insetBottom,_=a.height-l-c,f=r-o-h,d=s-l-c;f=f>0?f:0,d=d>0?d:0;var p=0===u?f:f/u,m=0===_?d:d/_,g=rY(i),y=Math.ceil(m+g),v=Math.ceil(p+g);e.dataLength=4*y*v,this.updateVerts(t,f,d,y,v),e.vertexCount!==y*v*4&&(t.renderEntity.colorDirty=!0),e.resize(y*v*4,y*v*6),e.updateRenderData(t,i)}},createQuadIndices:function(t){if(t%6==0){var e=t/6;nY=null,nY=new Uint16Array(t);for(var i=0,n=0;n1?1:o.width/(p+m),A=o.height/(y+v)>1?1:o.height/(y+v);s=g>0?Math.floor(1e3*e)/1e3%g==0?g:e%g:e,a=S>0?Math.floor(1e3*i)/1e3%S==0?S:i%S:i,iY.length=0,eY=Math.max(n+1,r+1);for(var b=0;b=r?c-f:C*g-f,iY[C].y=C>=n?_-d:C*S-d;else for(var x=0;x1&&x0?p*T-f+g*(x-1):p+e-f:x===r-1?iY[x].x=p*T-f+s+g*(x-2):x>=r&&(iY[x].x=Math.min(p+e+m,c)-f),0===x?iY[x].y=-d:1===x?iY[x].y=v*A-d:x>1&&x0?v*A-d+S*(x-1):v+i-d:x===n-1?iY[x].y=v*A-d+a+S*(x-2):x>=n&&(iY[x].y=Math.min(v+i+y,_)-d);for(var w=0,R=0,I=0,D=0,B=0;BS?i>=(E>0?z:z+1)*S?1:G%1:G;for(var H=0;Hg?e>=(E>0?H:H+1)*g?1:k%1:k,O?(0===E?(V[0]=Jj.u,V[1]=Jj.u,V[2]=Jj.u+(Zj.u-Jj.u)*N,U[0]=Yj.v,U[1]=Yj.v+(qj.v-Yj.v)*F,U[2]=Yj.v):(0===z?(V[0]=jj.u,V[1]=jj.u,V[2]=Jj.u):z0){var o=a.claimedTouchIdList.indexOf(n.getID());if(-1!==o){if(a._handleEventTouch(t),t.type!==xx.TOUCH_END&&t.type!==xx.TOUCH_CANCEL||he(a.claimedTouchIdList,o),r=!1,!t.preventSwallow)break;t.preventSwallow=!1}}}return--this._inDispatchCount<=0&&this._updatePointerEventProcessorList(),r},e._updatePointerEventProcessorList=function(){for(var t=this._processorListToAdd,e=t.length,i=0;ie)for(;e0){for(var t=this._meshDataArray.length,e=0;e0){!function(t,e){for(var i,n,r,s=t.vertexFormat,a=t.chunk.vb,o=0,h=0;h>>0;else if(n.size/n.count==4)for(var c=o+3;c>2}}(r.renderData,a);var h=r.renderData.getMeshBuffer();h&&h.setDirty()}if(i.length>0&&!t._static)for(var u=0;u0&&(this.autoMergeBatches(this._currComponent),this.resetRenderStates(),Ok.sharedManager.exitMask())),e+=1}},e._screenSort=function(t,e){return t.node.getSiblingIndex()-e.node.getSiblingIndex()},e._releaseDescriptorSetCache=function(t){this._descriptorSetCache.releaseDescriptorSetCache(t)},e._createClearModel=function(){if(!this._maskClearModel){this._maskClearMtl=hT.get("default-clear-stencil"),this._maskClearModel=v.director.root.createModel(xO);var t=mk(uk),e=If.gfxDevice,i=e.createBuffer(new Jc(Jl.VERTEX|Jl.TRANSFER_DST,$l.DEVICE,4*t,t)),n=new Float32Array([-1,-1,0,1,-1,0,-1,1,0,1,1,0]);i.update(n);var r=e.createBuffer(new Jc(Jl.INDEX|Jl.TRANSFER_DST,$l.DEVICE,6*Uint16Array.BYTES_PER_ELEMENT,Uint16Array.BYTES_PER_ELEMENT)),s=new Uint16Array([0,1,2,2,1,3]);r.update(s),this._maskModelMesh=new PR([i],uk,vc.TRIANGLE_LIST,r),this._maskModelMesh.subMeshIdx=0,this._maskClearModel.initSubModel(0,this._maskModelMesh,this._maskClearMtl)}},e._insertMaskBatch=function(t){this.autoMergeBatches(this._currComponent),this.resetRenderStates(),this._createClearModel(),this._maskClearModel.node=this._maskClearModel.transform=t.node;var e=Ok.sharedManager;e.pushMask(1);var i,n=e.clear(t),r=0,s=this._maskClearMtl;s&&(i=e.getStencilStage(n,s),r=e.getStencilHash(n));var a=this._maskClearModel,o=v.director.getTotalFrames();a&&(a.updateTransform(o),a.updateUBOs(o));for(var h=0;h=0;a--){var o=i[a],h=t[o];t.splice(o,1),this._localCachePool.free(h)}}},e.reset=function(){for(var t=this._localDescriptorSetCache,e=t.length,i=0;i@123丁ぁᄁ",TY=Object.create(null),AY=[],bY=3e3;function EY(){for(var t=!0,e=Date.now(),i=AY.length-1;i>=0;i--){var n=AY[i],r=n.fontFamilyName;if(e-n.startTime>bY)J(4933,r),n.onComplete(null,r),AY.splice(i,1);else{var s=n.refWidth,a="40px "+r;yY.font=a,s!==KN(yY,SY,a)?(AY.splice(i,1),n.onComplete(null,r)):t=!1}}t&&(clearInterval(vY),vY=-1)}function CY(t,e,i){var n=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}(t);if(TY[n])i(null,n);else{if(!yY){var r=gY.createElement("canvas");r.width=100,r.height=100,yY=r.getContext("2d")}var s="40px "+n,a=gY.createElement("style");a.type="text/css";var o="";Number.isNaN(n)?o+="@font-face { font-family:"+n+"; src:":o+='@font-face { font-family:"'+n+'"; src:',o+='url("'+t+'");',a.textContent=o+"}",gY.body.appendChild(a);var h=gY.createElement("div"),u=h.style;if(u.fontFamily=n,h.innerHTML=".",u.position="absolute",u.left="-100px",u.top="-100px",gY.body.appendChild(h),function(){if(void 0===mY)if("FontFace"in T){var t=/Gecko.*Firefox\/(\d+)/.exec(T.navigator.userAgent),e=/OS X.*Version\/10\..*Safari/.exec(T.navigator.userAgent)&&/Apple/.exec(T.navigator.vendor);mY=t?parseInt(t[1],10)>42:!e}else mY=!1;return mY}())!function(t,e,i){var n=new Promise((function(i,n){!function r(){Date.now()-t>=bY?n():gY.fonts.load("40px "+e).then((function(t){t.length>=1?i():setTimeout(r,100)}),(function(){n()}))}()})),r=null,s=new Promise((function(t,e){r=setTimeout(e,bY)}));Promise.race([s,n]).then((function(){r&&(clearTimeout(r),r=null),i(null,e)}),(function(){J(4933,e),i(null,e)}))}(Date.now(),n,i);else{var l={fontFamilyName:n,refWidth:KN(yY,SY,s),onComplete:i,startTime:Date.now()};AY.push(l),-1===vY&&(vY=setInterval(EY,100))}TY[n]=a}}function xY(t,e,i,n){var r=new BN;r._nativeUrl=t,r._nativeAsset=e,n(null,r)}wS.register({".font":CY,".eot":CY,".ttf":CY,".woff":CY,".svg":CY,".ttc":CY}),GS.register({".font":xY,".eot":xY,".ttf":xY,".woff":xY,".svg":xY,".ttc":xY}),v.UI={MeshBuffer:Tk,spriteAssembler:hY,graphicsAssembler:KX,labelAssembler:Sj,RenderData:Kk,MeshRenderData:Jk},SF.on(vF.EVENT_POST_SUBSYSTEM_INIT,(function(){PY.init()}));var wY,RY,IY,DY,BY,MY,PY=t("a4",function(){function t(){}return t.getSortingPriority=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),(t+32768<<16|e+32768)>>>0},t.getLayerIndex=function(t){void 0===t&&(t=0);var e=0;return this.indexMap.has(t)?e=this.indexMap.get(t):Q(2105),e},t.getLayerIndexByName=function(t){var e=this.getLayerByName(t);return this.getLayerIndex(e)},t.getLayerName=function(t){void 0===t&&(t=0);var e="";return this.nameMap.has(t)?e=this.nameMap.get(t):Q(2105),e},t.getLayerByName=function(t){for(var e=this.nameMap.size,i=this.nameMap.keys(),n=0,r=0;r=i.length||i[e].length===t.length&&(i[e]=t.slice(0),this._uploadSubMeshShapesWeights(e))},e.setWeight=function(t,e,i){var n=this._subMeshShapesWeights;if(!(e>=n.length)){var r=n[e];i>=r.length||(r[i]=t,this._uploadSubMeshShapesWeights(e))}},e.setInstancedAttribute=function(t,e){if(this.model)for(var i=this.model.subModels,n=0;n0&&this.bindposes.length>0},n(e,[{key:"joints",get:function(){return this._joints},set:function(t){this._joints=t}},{key:"bindposes",get:function(){return this._bindposes},set:function(t){this._bindposes=t}},{key:"inverseBindposes",get:function(){if(!this._invBindposes){this._invBindposes=[];for(var t=0;tFT.LEVEL_1},set:function(t){this._csmLevel=t?FT.LEVEL_4:FT.LEVEL_1,this._light&&(this._light.csmLevel=this._csmLevel,this._light.csmNeedUpdate=!0)}},{key:"csmLayerLambda",get:function(){return this._csmLayerLambda},set:function(t){this._csmLayerLambda=t,this._light&&(this._light.csmLayerLambda=this._csmLayerLambda,this._light.csmNeedUpdate=!0)}},{key:"csmOptimizationMode",get:function(){return this._csmOptimizationMode},set:function(t){this._csmOptimizationMode=t,this._light&&(this._light.csmOptimizationMode=this._csmOptimizationMode)}},{key:"shadowFixedArea",get:function(){return this._shadowFixedArea},set:function(t){this._shadowFixedArea=t,this._light&&(this._light.shadowFixedArea=this._shadowFixedArea)}},{key:"shadowNear",get:function(){return this._shadowNear},set:function(t){this._shadowNear=t,this._light&&(this._light.shadowNear=this._shadowNear)}},{key:"shadowFar",get:function(){return this._shadowFar},set:function(t){this._shadowFar=Math.min(t,GT.MAX_FAR),this._light&&(this._light.shadowFar=this._shadowFar)}},{key:"shadowOrthoSize",get:function(){return this._shadowOrthoSize},set:function(t){this._shadowOrthoSize=t,this._light&&(this._light.shadowOrthoSize=this._shadowOrthoSize)}},{key:"csmAdvancedOptions",get:function(){return this._csmAdvancedOptions},set:function(t){this._csmAdvancedOptions=t}},{key:"csmLayersTransition",get:function(){return this._csmLayersTransition},set:function(t){this._csmLayersTransition=t,this._light&&(this._light.csmLayersTransition=t)}},{key:"csmTransitionRange",get:function(){return this._csmTransitionRange},set:function(t){this._csmTransitionRange=t,this._light&&(this._light.csmTransitionRange=t)}}]),e}(yZ),YK=Us(jK.prototype,"_illuminanceHDR",[vZ,oK],(function(){return 65e3})),qK=Us(jK.prototype,"_illuminanceLDR",[SZ],(function(){return 65e3*Hw.standardExposureValue})),KK=Us(jK.prototype,"_shadowEnabled",[SZ],(function(){return!1})),JK=Us(jK.prototype,"_shadowPcf",[SZ],(function(){return LT.HARD})),ZK=Us(jK.prototype,"_shadowBias",[SZ],(function(){return 1e-5})),QK=Us(jK.prototype,"_shadowNormalBias",[SZ],(function(){return 0})),$K=Us(jK.prototype,"_shadowSaturation",[SZ],(function(){return 1})),tJ=Us(jK.prototype,"_shadowDistance",[SZ],(function(){return 50})),eJ=Us(jK.prototype,"_shadowInvisibleOcclusionRange",[SZ],(function(){return 200})),iJ=Us(jK.prototype,"_csmLevel",[SZ],(function(){return FT.LEVEL_4})),nJ=Us(jK.prototype,"_csmLayerLambda",[SZ],(function(){return.75})),rJ=Us(jK.prototype,"_csmOptimizationMode",[SZ],(function(){return NT.RemoveDuplicates})),sJ=Us(jK.prototype,"_csmAdvancedOptions",[SZ],(function(){return!1})),aJ=Us(jK.prototype,"_csmLayersTransition",[SZ],(function(){return!1})),oJ=Us(jK.prototype,"_csmTransitionRange",[SZ],(function(){return.05})),hJ=Us(jK.prototype,"_shadowFixedArea",[SZ],(function(){return!1})),uJ=Us(jK.prototype,"_shadowNear",[SZ],(function(){return.1})),lJ=Us(jK.prototype,"_shadowFar",[SZ],(function(){return 10})),cJ=Us(jK.prototype,"_shadowOrthoSize",[SZ],(function(){return 5})),p(jK.prototype,"illuminance",[hK],Object.getOwnPropertyDescriptor(jK.prototype,"illuminance"),jK.prototype),p(jK.prototype,"shadowEnabled",[uK,lK],Object.getOwnPropertyDescriptor(jK.prototype,"shadowEnabled"),jK.prototype),p(jK.prototype,"shadowPcf",[cK,_K],Object.getOwnPropertyDescriptor(jK.prototype,"shadowPcf"),jK.prototype),p(jK.prototype,"shadowBias",[fK,dK],Object.getOwnPropertyDescriptor(jK.prototype,"shadowBias"),jK.prototype),p(jK.prototype,"shadowNormalBias",[pK,mK],Object.getOwnPropertyDescriptor(jK.prototype,"shadowNormalBias"),jK.prototype),p(jK.prototype,"shadowSaturation",[gK,yK],Object.getOwnPropertyDescriptor(jK.prototype,"shadowSaturation"),jK.prototype),p(jK.prototype,"shadowDistance",[vK,SK],Object.getOwnPropertyDescriptor(jK.prototype,"shadowDistance"),jK.prototype),p(jK.prototype,"shadowInvisibleOcclusionRange",[TK,AK],Object.getOwnPropertyDescriptor(jK.prototype,"shadowInvisibleOcclusionRange"),jK.prototype),p(jK.prototype,"csmLevel",[bK,EK],Object.getOwnPropertyDescriptor(jK.prototype,"csmLevel"),jK.prototype),p(jK.prototype,"enableCSM",[CK,xK],Object.getOwnPropertyDescriptor(jK.prototype,"enableCSM"),jK.prototype),p(jK.prototype,"csmLayerLambda",[wK,RK],Object.getOwnPropertyDescriptor(jK.prototype,"csmLayerLambda"),jK.prototype),p(jK.prototype,"csmOptimizationMode",[IK,DK],Object.getOwnPropertyDescriptor(jK.prototype,"csmOptimizationMode"),jK.prototype),p(jK.prototype,"shadowFixedArea",[BK,MK],Object.getOwnPropertyDescriptor(jK.prototype,"shadowFixedArea"),jK.prototype),p(jK.prototype,"shadowNear",[PK,OK],Object.getOwnPropertyDescriptor(jK.prototype,"shadowNear"),jK.prototype),p(jK.prototype,"shadowFar",[LK,FK],Object.getOwnPropertyDescriptor(jK.prototype,"shadowFar"),jK.prototype),p(jK.prototype,"shadowOrthoSize",[NK,kK],Object.getOwnPropertyDescriptor(jK.prototype,"shadowOrthoSize"),jK.prototype),p(jK.prototype,"csmAdvancedOptions",[GK,VK],Object.getOwnPropertyDescriptor(jK.prototype,"csmAdvancedOptions"),jK.prototype),p(jK.prototype,"csmLayersTransition",[UK,zK],Object.getOwnPropertyDescriptor(jK.prototype,"csmLayersTransition"),jK.prototype),p(jK.prototype,"csmTransitionRange",[HK,WK],Object.getOwnPropertyDescriptor(jK.prototype,"csmTransitionRange"),jK.prototype),XK=jK))||XK)),EZ=t("ad",(_J=Js("cc.SphereLight"),fJ=aa("_luminance"),dJ=Ia(Ke),pJ=Ia(Ke),mJ=Ia(mZ),gJ=Ia(Je),yJ=Ia(Je),_J((SJ=function(t){function e(){var e;return(e=t.call(this)||this)._size=TJ&&TJ(),e._luminanceHDR=AJ&&AJ(),e._luminanceLDR=bJ&&bJ(),e._term=EJ&&EJ(),e._range=CJ&&CJ(),e._lightType=DO,e}return s(e,t),e.prototype._createLight=function(){t.prototype._createLight.call(this),this._type=sR.SPHERE,this.size=this._size,this.range=this._range,this._light&&(this._light.luminanceHDR=this._luminanceHDR,this._light.luminanceLDR=this._luminanceLDR)},n(e,[{key:"luminousFlux",get:function(){return v.director.root.pipeline.pipelineSceneData.isHDR?this._luminanceHDR*TR(this._size):this._luminanceLDR},set:function(t){var e=0;v.director.root.pipeline.pipelineSceneData.isHDR?(this._luminanceHDR=t/TR(this._size),e=this._luminanceHDR):(this._luminanceLDR=t,e=this._luminanceLDR),this._light&&(this._light.luminance=e)}},{key:"luminance",get:function(){return v.director.root.pipeline.pipelineSceneData.isHDR?this._luminanceHDR:this._luminanceLDR},set:function(t){v.director.root.pipeline.pipelineSceneData.isHDR?(this._luminanceHDR=t,this._light&&(this._light.luminanceHDR=this._luminanceHDR)):(this._luminanceLDR=t,this._light&&(this._light.luminanceLDR=this._luminanceLDR))}},{key:"term",get:function(){return this._term},set:function(t){this._term=t}},{key:"size",get:function(){return this._size},set:function(t){this._size=t,this._light&&(this._light.size=t)}},{key:"range",get:function(){return this._range},set:function(t){this._range=t,this._light&&(this._light.range=t)}}]),e}(yZ),TJ=Us(SJ.prototype,"_size",[sa],(function(){return.15})),AJ=Us(SJ.prototype,"_luminanceHDR",[sa,fJ],(function(){return 1700/TR(.15)})),bJ=Us(SJ.prototype,"_luminanceLDR",[sa],(function(){return 1700/TR(.15)*Hw.standardExposureValue*Hw.standardLightMeterScale})),EJ=Us(SJ.prototype,"_term",[sa],(function(){return mZ.LUMINOUS_FLUX})),CJ=Us(SJ.prototype,"_range",[sa],(function(){return 1})),p(SJ.prototype,"luminousFlux",[dJ],Object.getOwnPropertyDescriptor(SJ.prototype,"luminousFlux"),SJ.prototype),p(SJ.prototype,"luminance",[pJ],Object.getOwnPropertyDescriptor(SJ.prototype,"luminance"),SJ.prototype),p(SJ.prototype,"term",[mJ],Object.getOwnPropertyDescriptor(SJ.prototype,"term"),SJ.prototype),p(SJ.prototype,"size",[gJ],Object.getOwnPropertyDescriptor(SJ.prototype,"size"),SJ.prototype),p(SJ.prototype,"range",[yJ],Object.getOwnPropertyDescriptor(SJ.prototype,"range"),SJ.prototype),vJ=SJ))||vJ)),CZ=Ia,xZ=sa,wZ=aa,RZ=ta,IZ=t("ae",(xJ=Js("cc.SpotLight"),wJ=wZ("_luminance"),RJ=CZ(mZ),IJ=CZ(Je),DJ=RZ({group:{name:"DynamicShadowSettings",displayOrder:1}}),BJ=CZ(Ze),MJ=RZ({group:{name:"DynamicShadowSettings",displayOrder:2}}),PJ=CZ(LT),OJ=RZ({group:{name:"DynamicShadowSettings",displayOrder:3}}),LJ=CZ(Je),FJ=RZ({group:{name:"DynamicShadowSettings",displayOrder:4}}),NJ=CZ(Je),xJ((GJ=function(t){function e(){var e;return(e=t.call(this)||this)._size=VJ&&VJ(),e._luminanceHDR=UJ&&UJ(),e._luminanceLDR=zJ&&zJ(),e._term=HJ&&HJ(),e._range=WJ&&WJ(),e._spotAngle=XJ&&XJ(),e._shadowEnabled=jJ&&jJ(),e._shadowPcf=YJ&&YJ(),e._shadowBias=qJ&&qJ(),e._shadowNormalBias=KJ&&KJ(),e._lightType=NO,e}return s(e,t),e.prototype._createLight=function(){if(t.prototype._createLight.call(this),this._type=sR.SPOT,this.size=this._size,this.range=this._range,this.spotAngle=this._spotAngle,this._light){var e=this._light;e.luminanceHDR=this._luminanceHDR,e.luminanceLDR=this._luminanceLDR,e.shadowEnabled=this._shadowEnabled,e.shadowPcf=this._shadowPcf,e.shadowBias=this._shadowBias,e.shadowNormalBias=this._shadowNormalBias}},n(e,[{key:"luminousFlux",get:function(){return v.director.root.pipeline.pipelineSceneData.isHDR?this._luminanceHDR*TR(this._size):this._luminanceLDR},set:function(t){var e=0;v.director.root.pipeline.pipelineSceneData.isHDR?(this._luminanceHDR=t/TR(this._size),e=this._luminanceHDR):(this._luminanceLDR=t,e=this._luminanceLDR),this._light&&(this._light.luminance=e)}},{key:"luminance",get:function(){return v.director.root.pipeline.pipelineSceneData.isHDR?this._luminanceHDR:this._luminanceLDR},set:function(t){v.director.root.pipeline.pipelineSceneData.isHDR?(this._luminanceHDR=t,this._light&&(this._light.luminanceHDR=this._luminanceHDR)):(this._luminanceLDR=t,this._light&&(this._light.luminanceLDR=this._luminanceLDR))}},{key:"term",get:function(){return this._term},set:function(t){this._term=t}},{key:"size",get:function(){return this._size},set:function(t){this._size=t,this._light&&(this._light.size=t)}},{key:"range",get:function(){return this._range},set:function(t){this._range=t,this._light&&(this._light.range=t)}},{key:"spotAngle",get:function(){return this._spotAngle},set:function(t){this._spotAngle=t,this._light&&(this._light.spotAngle=Pi(t))}},{key:"shadowEnabled",get:function(){return this._shadowEnabled},set:function(t){this._shadowEnabled=t,this._light&&(this._light.shadowEnabled=t)}},{key:"shadowPcf",get:function(){return this._shadowPcf},set:function(t){this._shadowPcf=t,this._light&&(this._light.shadowPcf=t)}},{key:"shadowBias",get:function(){return this._shadowBias},set:function(t){this._shadowBias=t,this._light&&(this._light.shadowBias=t)}},{key:"shadowNormalBias",get:function(){return this._shadowNormalBias},set:function(t){this._shadowNormalBias=t,this._light&&(this._light.shadowNormalBias=t)}}]),e}(yZ),VJ=Us(GJ.prototype,"_size",[xZ],(function(){return.15})),UJ=Us(GJ.prototype,"_luminanceHDR",[xZ,wJ],(function(){return 1700/TR(.15)})),zJ=Us(GJ.prototype,"_luminanceLDR",[xZ],(function(){return 1700/TR(.15)*Hw.standardExposureValue*Hw.standardLightMeterScale})),HJ=Us(GJ.prototype,"_term",[xZ],(function(){return mZ.LUMINOUS_FLUX})),WJ=Us(GJ.prototype,"_range",[xZ],(function(){return 1})),XJ=Us(GJ.prototype,"_spotAngle",[xZ],(function(){return 60})),jJ=Us(GJ.prototype,"_shadowEnabled",[xZ],(function(){return!1})),YJ=Us(GJ.prototype,"_shadowPcf",[xZ],(function(){return LT.HARD})),qJ=Us(GJ.prototype,"_shadowBias",[xZ],(function(){return 1e-5})),KJ=Us(GJ.prototype,"_shadowNormalBias",[xZ],(function(){return 0})),p(GJ.prototype,"term",[RJ],Object.getOwnPropertyDescriptor(GJ.prototype,"term"),GJ.prototype),p(GJ.prototype,"size",[IJ],Object.getOwnPropertyDescriptor(GJ.prototype,"size"),GJ.prototype),p(GJ.prototype,"shadowEnabled",[DJ,BJ],Object.getOwnPropertyDescriptor(GJ.prototype,"shadowEnabled"),GJ.prototype),p(GJ.prototype,"shadowPcf",[MJ,PJ],Object.getOwnPropertyDescriptor(GJ.prototype,"shadowPcf"),GJ.prototype),p(GJ.prototype,"shadowBias",[OJ,LJ],Object.getOwnPropertyDescriptor(GJ.prototype,"shadowBias"),GJ.prototype),p(GJ.prototype,"shadowNormalBias",[FJ,NJ],Object.getOwnPropertyDescriptor(GJ.prototype,"shadowNormalBias"),GJ.prototype),kJ=GJ))||kJ));t("af",(JJ=Js("cc.PointLight"),ZJ=aa("_luminance"),QJ=Ia(Ke),$J=Ia(Ke),tZ=Ia(mZ),eZ=Ia(Je),JJ((nZ=function(t){function e(){var e;return(e=t.call(this)||this)._luminanceHDR=rZ&&rZ(),e._luminanceLDR=sZ&&sZ(),e._term=aZ&&aZ(),e._range=oZ&&oZ(),e._lightType=kO,e}return s(e,t),e.prototype._createLight=function(){t.prototype._createLight.call(this),this._type=sR.POINT,this.range=this._range,this._light&&(this._light.luminanceHDR=this._luminanceHDR,this._light.luminanceLDR=this._luminanceLDR)},n(e,[{key:"luminousFlux",get:function(){return v.director.root.pipeline.pipelineSceneData.isHDR?this._luminanceHDR*TR(1):this._luminanceLDR},set:function(t){var e=0;v.director.root.pipeline.pipelineSceneData.isHDR?(this._luminanceHDR=t/TR(1),e=this._luminanceHDR):(this._luminanceLDR=t,e=this._luminanceLDR),this._light&&(this._light.luminance=e)}},{key:"luminance",get:function(){return v.director.root.pipeline.pipelineSceneData.isHDR?this._luminanceHDR:this._luminanceLDR},set:function(t){v.director.root.pipeline.pipelineSceneData.isHDR?(this._luminanceHDR=t,this._light&&(this._light.luminanceHDR=this._luminanceHDR)):(this._luminanceLDR=t,this._light&&(this._light.luminanceLDR=this._luminanceLDR))}},{key:"term",get:function(){return this._term},set:function(t){this._term=t}},{key:"range",get:function(){return this._range},set:function(t){this._range=t,this._light&&(this._light.range=t)}}]),e}(yZ),rZ=Us(nZ.prototype,"_luminanceHDR",[sa,ZJ],(function(){return 1700/TR(.15)})),sZ=Us(nZ.prototype,"_luminanceLDR",[sa],(function(){return 1700/TR(.15)*Hw.standardExposureValue*Hw.standardLightMeterScale})),aZ=Us(nZ.prototype,"_term",[sa],(function(){return mZ.LUMINOUS_FLUX})),oZ=Us(nZ.prototype,"_range",[sa],(function(){return 1})),p(nZ.prototype,"luminousFlux",[QJ],Object.getOwnPropertyDescriptor(nZ.prototype,"luminousFlux"),nZ.prototype),p(nZ.prototype,"luminance",[$J],Object.getOwnPropertyDescriptor(nZ.prototype,"luminance"),nZ.prototype),p(nZ.prototype,"term",[tZ],Object.getOwnPropertyDescriptor(nZ.prototype,"term"),nZ.prototype),p(nZ.prototype,"range",[eZ],Object.getOwnPropertyDescriptor(nZ.prototype,"range"),nZ.prototype),iZ=nZ))||iZ)),t("ag",(hZ=Js("cc.RangedDirectionalLight"),uZ=aa("_illuminance"),lZ=Ia(Ke),hZ((_Z=function(t){function e(){var e;return(e=t.call(this)||this)._illuminanceHDR=fZ&&fZ(),e._illuminanceLDR=dZ&&dZ(),e._lightType=VO,e}return s(e,t),e.prototype._createLight=function(){t.prototype._createLight.call(this),this._type=sR.RANGED_DIRECTIONAL,this._light&&(this._light.illuminanceHDR=this._illuminanceHDR,this._light.illuminanceLDR=this._illuminanceLDR)},n(e,[{key:"illuminance",get:function(){return v.director.root.pipeline.pipelineSceneData.isHDR?this._illuminanceHDR:this._illuminanceLDR},set:function(t){v.director.root.pipeline.pipelineSceneData.isHDR?(this._illuminanceHDR=t,this._light&&(this._light.illuminanceHDR=this._illuminanceHDR)):(this._illuminanceLDR=t,this._light&&(this._light.illuminanceLDR=this._illuminanceLDR))}}]),e}(yZ),fZ=Us(_Z.prototype,"_illuminanceHDR",[ta,uZ],(function(){return 65e3})),dZ=Us(_Z.prototype,"_illuminanceLDR",[sa],(function(){return 65e3*Hw.standardExposureValue})),p(_Z.prototype,"illuminance",[lZ],Object.getOwnPropertyDescriptor(_Z.prototype,"illuminance"),_Z.prototype),cZ=_Z))||cZ)),v.LightComponent=yZ,$t(yZ,"cc.LightComponent"),v.DirectionalLightComponent=bZ,$t(bZ,"cc.DirectionalLightComponent"),v.SphereLightComponent=EZ,$t(EZ,"cc.SphereLightComponent"),v.SpotLightComponent=IZ,$t(IZ,"cc.SpotLightComponent"),st(IZ.prototype,"SpotLight.prototype",[{name:"luminousPower",newName:"luminousFlux",customGetter:function(){return this.luminousFlux},customSetter:function(t){this.luminousFlux=t}}]),st(EZ.prototype,"SphereLight.prototype",[{name:"luminousPower",newName:"luminousFlux",customGetter:function(){return this.luminousFlux},customSetter:function(t){this.luminousFlux=t}}]),st(yZ.PhotometricTerm,"Light.PhotometricTerm",[{name:"LUMINOUS_POWER",newName:"LUMINOUS_FLUX"}]);var DZ=Symbol("BakeNodeCurves"),BZ=function(){function t(){}return t.getOrExtract=function(e){var i=t.pool.get(e);if(!i||i.samples!==e.sample){i&&v.director.root.dataPoolManager.releaseAnimationClip(e);var n=Math.ceil(e.sample*e.duration)+1,r=e.sample;i=e[DZ](0,r,n),t.pool.set(e,i)}return i},t.destroy=function(e){t.pool.delete(e)},t}();BZ.pool=new Map;var MZ=new Mn;function PZ(t,e,i){for(Mn.identity(i);t!==e;)Mn.fromRTS(MZ,t.rotation,t.position,t.scale),Mn.multiply(i,MZ,i),t=t.parent;return i}var OZ=new n_(ac.POINT,ac.POINT,ac.NONE,oc.CLAMP,oc.CLAMP,oc.CLAMP),LZ=function(t,e,i){t[e+0]=i.m00,t[e+1]=i.m01,t[e+2]=i.m02,t[e+3]=i.m12,t[e+4]=i.m04,t[e+5]=i.m05,t[e+6]=i.m06,t[e+7]=i.m13,t[e+8]=i.m08,t[e+9]=i.m09,t[e+10]=i.m10,t[e+11]=i.m14};function FZ(t,e){var i=4/Math.sqrt(e);return 12*Math.ceil(Math.max(480*i,t)/12)}new bn,new bn,new un,new bn,new un;var NZ=new un,kZ=new un,GZ=new un,VZ=new un,UZ=new Mn,zZ=new Mn,HZ=new bs,WZ=Number.MAX_SAFE_INTEGER;!function(){function t(t){this._device=void 0,this._pool=void 0,this._textureBuffers=new Map,this._formatSize=void 0,this._pixelsPerJoint=void 0,this._customPool=void 0,this._chunkIdxMap=new Map,this._device=t;var e=function(t){return t.getFormatFeatures(Yl.RGBA32F)&nc.SAMPLED_TEXTURE?Yl.RGBA32F:Yl.RGBA8}(this._device);this._formatSize=k_[e].size,this._pixelsPerJoint=48/this._formatSize,this._pool=new TV(t),this._pool.initialize({format:e,roundUpFn:FZ}),this._customPool=new TV(t),this._customPool.initialize({format:e,roundUpFn:FZ})}var e=t.prototype;e.clear=function(){this._pool.destroy(),this._textureBuffers.clear()},e.registerCustomTextureLayouts=function(t){for(var e=0;e0&&t.refCount--,!t.refCount&&t.readyToBeDeleted){var e=t.skeletonHash^t.clipHash;(void 0!==this._chunkIdxMap.get(e)?this._customPool:this._pool).free(t.handle),this._textureBuffers.get(e)===t&&this._textureBuffers.delete(e)}},e.releaseSkeleton=function(t){for(var e=this._textureBuffers.values(),i=e.next();!i.done;){var n=i.value;n.skeletonHash===t.hash&&(n.readyToBeDeleted=!0,n.refCount?this._textureBuffers.delete(n.skeletonHash^n.clipHash):this.releaseHandle(n)),i=e.next()}},e.releaseAnimationClip=function(t){for(var e=this._textureBuffers.values(),i=e.next();!i.done;){var n=i.value;n.clipHash===t.hash&&(n.readyToBeDeleted=!0,n.refCount?this._textureBuffers.delete(n.skeletonHash^n.clipHash):this.releaseHandle(n)),i=e.next()}},e._createAnimInfos=function(t,e,i){for(var n=[],r=t.joints,s=t.bindposes,a=r.length,o=BZ.getOrExtract(e),h=0;h0;){t=XZ[--i],XZ[i]=null;var r=t.node;Mn.fromRTS(t.local,r.rotation,r.position,r.scale),n=Mn.multiply(t.world,n,t.local)}return n}function qZ(t,e){for(var i,n=null,r=0;t!==e;){var s=t.uuid;if(jZ.has(s)){n=jZ.get(s);break}n={node:t,local:new Mn,world:new Mn,stamp:-1,parent:null},jZ.set(s,n),XZ[r++]=n,t=t.parent,n=null}for(;r>0;)i=XZ[--r],XZ[r]=null,i.parent=n,n=i;return n}function KZ(t){for(var e=jZ.get(t.uuid)||null;e;)jZ.delete(e.node.uuid),e=e.parent}var JZ=[{name:"CC_USE_SKINNING",value:!0},{name:"CC_USE_REAL_TIME_JOINT_TEXTURE",value:!1}],ZZ=[{name:"CC_USE_SKINNING",value:!0},{name:"CC_USE_REAL_TIME_JOINT_TEXTURE",value:!0}];function QZ(t,e,i,n){for(var r=0;r=0&&(e.push(r),t.push(a))}}var $Z=new un,tQ=new un,eQ=new un,iQ=new un,nQ=new Mn,rQ=new bs,sQ=function(){this._format=cd.RGBA32F,this._textures=[],this._buffers=[]};sQ.WIDTH=256,sQ.HEIGHT=3;var aQ,oQ,hQ,uQ,lQ,cQ,_Q,fQ,dQ,pQ,mQ,gQ,yQ,vQ,SQ,TQ,AQ,bQ,EQ,CQ,xQ,wQ,RQ,IQ,DQ,BQ,MQ,PQ,OQ,LQ,FQ,NQ,kQ=function(t){function e(){var e;return(e=t.call(this)||this)._buffers=[],e._dataArray=[],e._joints=[],e._bufferIndices=null,e._realTimeJointTexture=new sQ,e._realTimeTextureMode=!1,e.type=fO.SKINNING,e}s(e,t);var i=e.prototype;return i.destroy=function(){if(this.bindSkeleton(),this._buffers.length){for(var e=0;e=0?a.instancedAttributeBlock.views[r][0]=i.data[0]:n=!0}return n&&i.dirty&&(i.buffer.update(i.data),i.dirty=!1),!0},i.getMacroPatches=function(e){var i=t.prototype.getMacroPatches.call(this,e);return i?i.concat(GQ):GQ},i.uploadAnimation=function(t){if(this._skeleton&&this._mesh&&this.uploadedAnim!==t){this.uploadedAnim=t;var e=this._dataPoolManager,i=null;t?(i=e.jointTexturePool.getSequencePoseTexture(this._skeleton,t,this._mesh,this.transform),this._jointsMedium.boundsInfo=i&&i.bounds.get(this._mesh.hash),this._modelBounds=null):(i=e.jointTexturePool.getDefaultPoseTexture(this._skeleton,this._mesh,this.transform),this._jointsMedium.boundsInfo=null,this._modelBounds=i&&i.bounds.get(this._mesh.hash)[0]),this._applyJointTexture(i)}},i._applyJointTexture=function(t){void 0===t&&(t=null);var e=this._jointsMedium.texture;if(e&&e!==t&&this._dataPoolManager.jointTexturePool.releaseHandle(e),this._jointsMedium.texture=t,t){var i=this._jointsMedium,n=i.buffer,r=i.jointTextureInfo;r[0]=t.handle.texture.width,r[1]=this._skeleton.joints.length,r[2]=t.pixelOffset+.1,r[3]=1/r[0],this.updateInstancedJointTextureInfo(),n&&n.update(r);for(var s=t.handle.texture,a=0;a=0&&s.length>0){var a=s[n];a[0]=i.data[0],a[1]=e[1],a[2]=e[2]}}},e}(Aq),UQ=t("ah",(aQ=Js("cc.SkinnedMeshRenderer"),oQ=Qs(100),hQ=Ia(sK),uQ=Ia(tg),lQ=Ia(sK),cQ=Ia(tg),aQ(_Q=oQ((fQ=function(t){function e(){var e;return(e=t.call(this)||this)._skeleton=dQ&&dQ(),e._skinningRoot=pQ&&pQ(),e._clip=null,e.associatedAnimation=null,e._modelType=VQ,e}s(e,t);var i=e.prototype;return i.onLoad=function(){t.prototype.onLoad.call(this),this._tryBindAnimation()},i.onDestroy=function(){this.associatedAnimation&&(this.associatedAnimation.notifySkinnedMeshRemoved(this),this.associatedAnimation),t.prototype.onDestroy.call(this)},i.uploadAnimation=function(t){this._clip=t,this.model&&this.model.uploadAnimation&&this.model.uploadAnimation(t)},i.setUseBakedAnimation=function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1);var i=t?VQ:kQ;(e||this._modelType!==i)&&(this._modelType=i,this._model&&(v.director.root.destroyModel(this._model),this._model=null,this._models.length=0,this._updateModels(),this._updateCastShadow(),this._updateReceiveShadow(),this._updateUseLightProbe(),this.enabledInHierarchy&&this._attachToScene()))},i.setSharedMaterial=function(e,i){t.prototype.setSharedMaterial.call(this,e,i),this._modelType===kQ&&this.getMaterialInstance(i)},i._updateModelParams=function(){this._update(),t.prototype._updateModelParams.call(this)},i._tryBindAnimation=function(){var t=this._skinningRoot;if(t){for(var e=!1,i=this.node;i;i=i.parent)if(i===t){e=!0;break}if(e){var n=t.getComponent("cc.SkeletalAnimation");n&&n.enabledInHierarchy?n.notifySkinnedMeshAdded(this):this.setUseBakedAnimation(!1)}}},i._update=function(){this.model&&(this.model.bindSkeleton(this._skeleton,this._skinningRoot,this._mesh),this.model.uploadAnimation&&this.model.uploadAnimation(this._clip))},n(e,[{key:"skeleton",get:function(){return this._skeleton},set:function(t){t!==this._skeleton&&(this._skeleton=t,this._update())}},{key:"skinningRoot",get:function(){return this._skinningRoot},set:function(t){t!==this._skinningRoot&&(this._skinningRoot=t,this._tryBindAnimation(),this._update())}},{key:"model",get:function(){return this._model}}]),e}(Uq),dQ=Us(fQ.prototype,"_skeleton",[hQ],(function(){return null})),pQ=Us(fQ.prototype,"_skinningRoot",[uQ],(function(){return null})),p(fQ.prototype,"skeleton",[lQ],Object.getOwnPropertyDescriptor(fQ.prototype,"skeleton"),fQ.prototype),p(fQ.prototype,"skinningRoot",[cQ],Object.getOwnPropertyDescriptor(fQ.prototype,"skinningRoot"),fQ.prototype),_Q=fQ))||_Q)||_Q)),zQ=new f_(Pc.ATTR_BATCH_ID,Yl.R32F),HQ=new f_(Pc.ATTR_BATCH_UV,Yl.RG32F),WQ=k_[zQ.format].size+k_[HQ.format].size,XQ=t("aj",(mQ=Js("cc.SkinnedMeshUnit"),gQ=Ia(YF),yQ=Ia(sK),vQ=Ia(MT),SQ=Ia(UQ),mQ((AQ=function(){function t(){this.mesh=bQ&&bQ(),this.skeleton=EQ&&EQ(),this.material=CQ&&CQ(),this._localTransform=xQ&&xQ(),this._offset=wQ&&wQ(),this._size=RQ&&RQ()}return n(t,[{key:"offset",get:function(){return this._offset},set:function(t){kn.copy(this._offset,t)}},{key:"size",get:function(){return this._size},set:function(t){kn.copy(this._size,t)}},{key:"copyFrom",get:function(){return null},set:function(t){t&&(this.mesh=t.mesh,this.skeleton=t.skeleton,this.material=t.getSharedMaterial(0),t.skinningRoot&&PZ(t.node,t.skinningRoot,this._localTransform))}}]),t}(),bQ=Us(AQ.prototype,"mesh",[gQ],(function(){return null})),EQ=Us(AQ.prototype,"skeleton",[yQ],(function(){return null})),CQ=Us(AQ.prototype,"material",[vQ],(function(){return null})),xQ=Us(AQ.prototype,"_localTransform",[sa],(function(){return new Mn})),wQ=Us(AQ.prototype,"_offset",[sa],(function(){return new kn(0,0)})),RQ=Us(AQ.prototype,"_size",[sa],(function(){return new kn(1,1)})),p(AQ.prototype,"copyFrom",[SQ],Object.getOwnPropertyDescriptor(AQ.prototype,"copyFrom"),AQ.prototype),TQ=AQ))||TQ)),jQ=new Mn;new Mn;var YQ,qQ,KQ,JQ,ZQ,QQ,$Q,t$,e$,i$,n$,r$,s$,a$,o$,h$,u$,l$=new un,c$=t("ai",(IQ=Js("cc.SkinnedMeshBatchRenderer"),DQ=Qs(100),BQ=Ia([Qe]),MQ=Ia([XQ]),IQ(PQ=DQ((OQ=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r=Kl.SAMPLER1D){var s=null;t.batchableTextureNames.find((function(t){return t===i}))?((s=t._textures[i])||(s=t.createTexture(i)),t.cookTextures(s,i,n)):t.units.some((function(t){return s=t.material&&t.material.getProperty(i,n)})),s&&e.setProperty(i,s,n)}else{for(var a=[],o=0;o=0)return 1;t.push(i),e.push(Mn.multiply(new Mn,r.bindposes[a]||Mn.IDENTITY,jQ))},a=0;at[i]?1:t[e]0&&f.copyBuffersToTexture(s,_,a),n.length>0&&f.copyTexImagesToTexture(n,_,r)},i.createTexture=function(t){var e=new im;return e.setFilters(fd.LINEAR,fd.LINEAR),e.setMipFilter(fd.NEAREST),e.reset({width:this.atlasSize,height:this.atlasSize,format:cd.RGBA8888}),this._textures[t]=e,e},i.resizeAtlases=function(){for(var t in this._textures)this._textures[t].reset({width:this.atlasSize,height:this.atlasSize,format:cd.RGBA8888})},i._createUnitMesh=function(t,e){for(var i=JSON.parse(JSON.stringify(e.struct)),n={},r=0;rthis._renderers.length)&&(t=this._renderers.length),this._renderers.splice(t,0,e);var i=!1;return e.model&&(i=!0,this._LODData.addModel(e.model)),this._modelAddedCallback&&i&&this._modelAddedCallback(),e},e.deleteRenderer=function(t){var e,i=this._renderers.splice(t,1),n=i.length>0?null===(e=i[0])||void 0===e?void 0:e.model:null;return n&&this._LODData.eraseModel(n),i[0]},e.getRenderer=function(t){return this._renderers[t]||null},e.setRenderer=function(t,e){t<0||t>=this.rendererCount?console.error("setRenderer to LOD error, index out of range"):(this.deleteRenderer(t),this.insertRenderer(t,e))},n(t,[{key:"screenUsagePercentage",get:function(){return this._screenUsagePercentage},set:function(t){this._screenUsagePercentage=t,this._LODData.screenUsagePercentage=t}},{key:"renderers",get:function(){return this._renderers},set:function(t){if(t!==this._renderers){var e=!1;this._renderers.length=0,this._LODData.clearModels();for(var i=0;ithis.lodCount)&&(t=this.lodCount),i||(i=new f$),i.modelAddedCallback=this.onLodModelAddedCallback.bind(this),!e){var n=this.getLOD(t-1),r=this.getLOD(t);if(n&&r)e=(n.screenUsagePercentage+r.screenUsagePercentage)/2;else if(n&&!r)(e=n.screenUsagePercentage/2)>.01&&(e=.01);else if(r&&!n){e=r.screenUsagePercentage;var s=this.getLOD(t+1);r.screenUsagePercentage=(e+(s?s.screenUsagePercentage:0))/2}else e=_$[0]}return i.screenUsagePercentage=e,this._LODs.splice(t,0,i),this._lodGroup.insertLOD(t,i.lodData),this._updateDataToScene(),this.node&&this._emitChangeNode(this.node),i},i.eraseLOD=function(t){if(t<0||t>=this.lodCount)return console.warn("eraseLOD error, index out of range"),null;var e=this._LODs[t];return e?(this._LODs.splice(t,1),this._lodGroup.eraseLOD(t),this._updateDataToScene(),this._emitChangeNode(this.node),e):(console.warn("eraseLOD error, LOD not exist at specified index."),null)},i.getLOD=function(t){return t<0||t>=this.lodCount?(console.warn("getLOD error, index out of range"),null):this._LODs[t]},i.setLOD=function(t,e){t<0||t>=this.lodCount?console.warn("setLOD error, index out of range"):(this._LODs[t]=e,e.modelAddedCallback=this.onLodModelAddedCallback.bind(this),this.lodGroup.updateLOD(t,e.lodData),this._updateDataToScene())},i.recalculateBounds=function(){for(var t=new un,e=new un,i=null,n=new un,r=0;r0&&this._lodGroup.lodCount<1&&this._LODs.forEach((function(e,i){e.lodData.screenUsagePercentage=e.screenUsagePercentage;var n=e.renderers;if(null!==n&&n.length>0)for(var r=0;r1?e[1]:null},e._getModelsByProbe=function(t){var e=[],i=this._useCubeModels;t.probeType===eR.PLANAR&&(i=this._usePlanarModels);for(var n,r=f(i.entries());!(n=r()).done;){var s=n.value;s[1]===t&&e.push(s[0])}return e},e._removeDependentModels=function(t){for(var e,i=f(this._useCubeModels.keys());!(e=i()).done;){var n=e.value,r=this._useCubeModels.get(n);void 0!==r&&r===t&&(this._useCubeModels.delete(n),this.selectReflectionProbe(n))}for(var s,a=f(this._usePlanarModels.keys());!(s=a()).done;){var o=s.value,h=this._usePlanarModels.get(o);void 0!==h&&h===t&&(this._usePlanarModels.delete(o),this.selectPlanarReflectionProbe(o))}},e._updateCubemapOfModel=function(t,e){var i=t.node;if(i){var n=i.getComponent(Uq);if(n&&(n.updateProbeCubemap(e?e.cubemap:null),n.updateReflectionProbeId(e&&e.cubemap?e.getProbeId():-1),e&&(n.updateReflectionProbeDataMap(this._dataTexture),this._isUsedBlending(t)))){var r=this._getBlendProbe(t);this._updateBlendProbeInfo(t,e,r)}}},e._updatePlanarMapOfModel=function(t,e,i){var n=t.node.getComponent(Uq);n&&(n.updateProbePlanarMap(e),i?(n.updateReflectionProbeId(i.getProbeId()),n.updateReflectionProbeDataMap(this._dataTexture)):n.updateReflectionProbeId(-1))},e._isUsedBlending=function(t){return t.reflectionProbeType===uO.BLEND_PROBES||t.reflectionProbeType===uO.BLEND_PROBES_AND_SKYBOX},e._updateBlendProbeInfo=function(t,e,i){var n=t.node;if(n){var r=n.getComponent(Uq);r&&(i?(r.updateReflectionProbeBlendId(i.getProbeId()),r.updateProbeBlendCubemap(i.cubemap),r.updateReflectionProbeBlendWeight(this._calculateBlendWeight(t,e,i))):(r.updateReflectionProbeBlendId(-1),t.reflectionProbeType===uO.BLEND_PROBES_AND_SKYBOX&&r.updateReflectionProbeBlendWeight(this._calculateBlendWeight(t,e,i))))}},e._updateBlendCubemap=function(t,e){var i=t.node;if(i&&this._isUsedBlending(t)){var n=i.getComponent(Uq);n&&n.updateProbeBlendCubemap(e.cubemap)}},e._calculateBlendWeight=function(t,e,i){if(i){var n=un.distance(t.node.worldPosition,e.node.worldPosition),r=un.distance(t.node.worldPosition,i.node.worldPosition);return 1-r/(n+r)}return t.reflectionProbeType===uO.BLEND_PROBES?0:t.reflectionProbeType===uO.BLEND_PROBES_AND_SKYBOX?this._calculateBlendOfSkybox(t.worldBounds,e.boundingBox):0},e._calculateBlendOfSkybox=function(t,e){if(!t)return 1;var i=new un,n=new un,r=new un,s=new un;if(un.subtract(i,t.center,t.halfExtents),un.add(n,t.center,t.halfExtents),un.subtract(r,e.center,e.halfExtents),un.add(s,e.center,e.halfExtents),i.x<=s.x&&n.x>=r.x&&i.y<=s.y&&n.y>=r.y&&i.z<=s.z&&n.z>=r.z){var a=new un;un.multiplyScalar(a,t.halfExtents,2);var o=i.x+a.x<=s.x&&n.x+a.x>=r.x,h=i.x-a.x<=s.x&&n.x-a.x>=r.x,u=i.y+a.y<=s.y&&n.y+a.y>=r.y,l=i.y-a.y<=s.y&&n.y-a.y>=r.y,c=i.z+a.z<=s.z&&n.z+a.z>=r.z,_=i.z-a.z<=s.z&&n.z-a.z>=r.z,f=[];if(!o){var d=n.x-s.x;f.push(d/a.x)}if(!h){var p=Math.abs(i.x-r.x);f.push(p/a.x)}if(!u){var m=n.y-s.y;f.push(m/a.y)}if(!l){var g=Math.abs(i.y-r.y);f.push(g/a.y)}if(!c){var y=n.z-s.z;f.push(y/a.z)}if(!_){var v=Math.abs(i.z-r.z);f.push(v/a.z)}return f.length>0?(f.sort((function(t,e){return e-t})),f[0]):0}return 1},n(t,[{key:"updateForRuntime",get:function(){return this._updateForRuntime},set:function(t){this._updateForRuntime=t}}]),t}());function m$(t){return void 0===(t=t||{}).includeNormal&&(t.includeNormal=!0),void 0===t.includeUV&&(t.includeUV=!0),t}p$.probeManager=void 0,p$.probeManager=new p$,v.internal.reflectionProbeManager=p$.probeManager;var g$=new un,y$=new un,v$=new un,S$=new un,T$=new un,A$=new un,b$=new un,E$=new un,C$=new un,x$=new un,w$=new un,R$=new un,I$=new un(0,0,0),D$=new un(0,0,0);function B$(t,e,i,n){void 0===t&&(t=.5),void 0===e&&(e=.5),void 0===i&&(i=2),void 0===n&&(n={});var r=.5*i,s=n.radialSegments||32,a=n.heightSegments||1,o=void 0===n.capped||n.capped,h=n.arc||2*Math.PI,u=0;o||(t>0&&u++,e>0&&u++);var l=(s+1)*(a+1);o&&(l+=(s+1)*u+s*u);var c=s*a*6;o&&(c+=s*u*3);var _=new Array(c),f=new Array(3*l),d=new Array(3*l),p=new Array(2*l),m=Math.max(t,e),g=new un(-m,-r,-m),y=new un(m,r,m),v=Math.sqrt(m*m+r*r),S=0,T=0;return function(){for(var n=[],o=t-e,u=o*o/i*Math.sign(o),l=0;l<=a;l++){for(var c=[],m=l/a,g=m*o+e,y=0;y<=s;++y){var v=y/s,A=v*h,b=Math.sin(A),E=Math.cos(A);f[3*S]=g*b,f[3*S+1]=m*i-r,f[3*S+2]=g*E,un.normalize(I$,un.set(D$,b,-u,E)),d[3*S]=I$.x,d[3*S+1]=I$.y,d[3*S+2]=I$.z,p[2*S]=2*(1-v)%1,p[2*S+1]=m,c.push(S),++S}n.push(c)}for(var C=0;C0&&A(!1),t>0&&A(!0)),{positions:f,normals:d,uvs:p,indices:_,minPos:g,maxPos:y,boundingRadius:v};function A(i){for(var n=i?t:e,a=i?1:-1,o=S,u=1;u<=s;++u)f[3*S]=0,f[3*S+1]=r*a,f[3*S+2]=0,d[3*S]=0,d[3*S+1]=a,d[3*S+2]=0,p[2*S]=.5,p[2*S+1]=.5,++S;for(var l=S,c=0;c<=s;++c){var m=c/s*h,g=Math.cos(m),y=Math.sin(m);f[3*S]=n*y,f[3*S+1]=r*a,f[3*S+2]=n*g,d[3*S]=0,d[3*S+1]=a,d[3*S+2]=0,p[2*S]=.5-.5*y*a,p[2*S+1]=.5+.5*g,++S}for(var v=0;v0&&(n[n.length-1]=1),{positions:i,indices:n,minPos:{x:1,y:1,z:0},maxPos:{x:-1,y:-1,z:0},boundingRadius:1,primitiveMode:vc.TRIANGLE_FAN}},translate:function(t,e){for(var i=e.x||0,n=e.y||0,r=e.z||0,s=Math.floor(t.positions.length/3),a=0;ah?h<<16|o:o<<16|h;void 0===r[u]&&(r[u]=0,n.push(o,h))}return t.indices=n,t.primitiveMode=vc.LINE_LIST,t},wireframe:function(t){for(var e=[[0,1],[1,2],[2,0]],i=[],n={},r=0;ro?o<<16|a:a<<16|o;void 0===n[h]&&(n[h]=0,i.push(a,o))}return i},invWinding:function(t){for(var e=[],i=0;i=3){e[0]=t[0],e[1]=t[1],e[2]=t[2];for(var i=t.length,n=3;n0&&(this._delayTime-=t,this._delayTime>0)||(this._currentFramePlayed?this.time+=t*this._speed:this._currentFramePlayed=!0,this._process())},i.sample=function(){var t=this.getWrappedInfo(this.time,this._wrappedInfo);return this._sampleCurves(t.time),this._sampleEvents(t),this._sampleEmbeddedPlayers(t),t},i.onPlay=function(){var t;this.setTime(this._getPlaybackStart()),this._delayTime=this._delay,this._onReplayOrResume(),this.emit(E0.PLAY,this),null===(t=this._clipEmbeddedPlayerEval)||void 0===t||t.notifyHostPlay(this.current)},i.onStop=function(){var t;this.isPaused||this._onPauseOrStop(),this.emit(E0.STOP,this),null===(t=this._clipEmbeddedPlayerEval)||void 0===t||t.notifyHostStop()},i.onResume=function(){var t;this._onReplayOrResume(),this.emit(E0.RESUME,this),null===(t=this._clipEmbeddedPlayerEval)||void 0===t||t.notifyHostPlay(this.current)},i.onPause=function(){var t;this._onPauseOrStop(),this.emit(E0.PAUSE,this),null===(t=this._clipEmbeddedPlayerEval)||void 0===t||t.notifyHostPause(this.current)},i._sampleCurves=function(t){var e=this._poseOutput,i=this._clipEval;e&&(e.weight=this.weight),i&&i.evaluate(t)},i._process=function(){this._useSimpleProcess?this.simpleProcess():this.process()},i.process=function(){var t,e=this.sample();this._allowLastFrame&&(t=this._lastWrapInfo?this._lastWrapInfo:this._lastWrapInfo=new C0(e),this.repeatCount>1&&(0|e.iterations)>(0|t.iterations)&&this.emit(E0.LASTFRAME,this),t.set(e)),e.stopped&&(this.stop(),this.emit(E0.FINISHED,this))},i.simpleProcess=function(){var t=this._playbackRange.min,e=this._playbackDuration,i=0,n=0;if(0!==e&&((i=this.time%e)<0&&(i+=e),n=(t+i)*this._invDuration),this._sampleCurves(t+i),this._clipEventEval||this._clipEmbeddedPlayerEval){var r=this.getWrappedInfo(this.time,this._wrappedInfo);this._sampleEvents(r),this._sampleEmbeddedPlayers(r)}this._allowLastFrame&&(Number.isNaN(this._lastIterations)&&(this._lastIterations=n),(this.time>0&&this._lastIterations>n||this.time<0&&this._lastIterations0&&(t-=1),1&t&&(i=!i)),(e&hu.Reverse)===hu.Reverse&&(i=!i),i},i.getWrappedInfo=function(t,e){e=e||new C0;var i=this._playbackRange.min,n=this._playbackDuration,r=this.repeatCount;if(0===n)return e.time=0,e.ratio=0,e.direction=1,e.stopped=!!Number.isFinite(r),e.iterations=0,e;var s=!1,a=(t-=i)>0?t/n:-t/n;if(a>=r){a=r,s=!0;var o=r-(0|r);0===o&&(o=1),t=o*n*(t>0?1:-1)}if(t>n){var h=t%n;t=0===h?n:h}else t<0&&0!=(t%=n)&&(t+=n);var u=!1,l=this._wrapMode&hu.ShouldWrap;l&&(u=this._needReverse(a));var c=u?-1:1;return this.speed<0&&(c*=-1),l&&u&&(t=n-t),e.time=i+t,e.ratio=e.time/this.duration,e.direction=c,e.stopped=s,e.iterations=a,e},i._getPlaybackStart=function(){return this._playbackRange.min},i._sampleEvents=function(t){var e;null===(e=this._clipEventEval)||void 0===e||e.sample(t.ratio,t.direction,t.iterations)},i._sampleEmbeddedPlayers=function(t){var e;null===(e=this._clipEmbeddedPlayerEval)||void 0===e||e.evaluate(t.time,Math.trunc(t.iterations))},i._emit=function(t,e){this._target&&this._target.isValid&&this._target.emit(t,t,e)},i._onReplayOrResume=function(){w0().addAnimation(this)},i._onPauseOrStop=function(){w0().removeAnimation(this)},n(e,[{key:"clip",get:function(){return this._clip}},{key:"name",get:function(){return this._name}},{key:"length",get:function(){return this.duration}},{key:"wrapMode",get:function(){return this._wrapMode},set:function(t){var e;this._wrapMode=t,this.time=0,t&hu.Loop?this.repeatCount=1/0:this.repeatCount=1,null===(e=this._clipEventEval)||void 0===e||e.setWrapMode(t)}},{key:"repeatCount",get:function(){return this._repeatCount},set:function(t){this._repeatCount=t;var e=this._wrapMode&hu.ShouldWrap,i=(this.wrapMode&hu.Reverse)===hu.Reverse;this._useSimpleProcess=t===1/0&&!e&&!i}},{key:"delay",get:function(){return this._delay},set:function(t){this._delayTime=this._delay=t}},{key:"playbackRange",get:function(){return this._playbackRange},set:function(t){t.max,t.min,this._playbackRange.min=Math.max(t.min,0),this._playbackRange.max=Math.min(t.max,this.duration),this._playbackDuration=this._playbackRange.max-this._playbackRange.min,this.setTime(0)}},{key:"speed",get:function(){return this._speed},set:function(t){var e;this._speed=t,null===(e=this._clipEmbeddedPlayerEval)||void 0===e||e.notifyHostSpeedChanged(t)}},{key:"current",get:function(){return this.getWrappedInfo(this.time).time}},{key:"ratio",get:function(){return 0===this.duration?0:this.current/this.duration}},{key:"weight",get:function(){return this._weight},set:function(t){this._weight=t,this._poseOutput&&(this._poseOutput.weight=t)}},{key:"curveLoaded",get:function(){return this._curveLoaded}}]),e}(b0));v.AnimationState=B0,Js("cc.animation.EmbeddedAnimationClipPlayable")((R0=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;re){var i;(i=this._channels).push.apply(i,Array.from({length:t-e},(function(){return new m1(new sh)})))}}}]),e}(p1),o1=Us(a1.prototype,"_channels",[v1],(function(){return[]})),a1));var S1,T1,A1,b1,E1,C1,x1,w1,R1,I1,D1,B1,M1,P1,O1,L1,F1,N1,k1=function(){function t(t){this._curves=t,this._result=new Array(t.length).fill(0)}return t.prototype.evaluate=function(t){for(var e=this._result,i=e.length,n=0;n=t.passes.length)J(3941,t.name,e);else{var r=t.passes[e],s=r.getHandle(i);if(s){if(dT.getTypeFromHandle(s)1}return!1}(r,i)?{set:function(t){r.setUniformArray(a,t)}}:{set:function(t){r.setUniform(a,t)}}:void J(3943,t.name,e,i,n)}var o=dT.getBindingFromHandle(s),h=r.properties[i],u=h&&h.value?""+h.value+vv(h.type):yv(h.type),l=hT.get(u);return l||(V("Illegal texture default value: "+u+"."),l=hT.get("default-texture")),{set:function(t){t||(t=l);var e=t.getGFXTexture();e&&e.width&&e.height&&(r.bindTexture(o,e),t instanceof Nd&&r.bindSampler(o,If.gfxDevice.getSampler(t.getSamplerInfo())))}}}J(3942,t.name,e,i)}}else J(3940,t)},t}(),A1=Us(T1.prototype,"passIndex",[sa],(function(){return 0})),b1=Us(T1.prototype,"uniformName",[sa],(function(){return""})),E1=p(T1.prototype,"channelIndex",[xa],{configurable:!0,enumerable:!0,writable:!0,initializer:function(){}}),S1=T1))||S1,V1=Js("cc.animation.MorphWeightValueProxy")((x1=function(){function t(){this.subMeshIndex=w1&&w1(),this.shapeIndex=R1&&R1()}return t.prototype.forTarget=function(t){var e=this;return{set:function(i){t.setWeight(i,e.subMeshIndex,e.shapeIndex)}}},t}(),w1=Us(x1.prototype,"subMeshIndex",[sa],(function(){return 0})),R1=Us(x1.prototype,"shapeIndex",[sa],(function(){return 0})),C1=x1))||C1,U1=Js("cc.animation.MorphWeightsValueProxy")((D1=function(){function t(){this.subMeshIndex=B1&&B1()}return t.prototype.forTarget=function(t){var e=this;return{set:function(i){t.setWeights(i,e.subMeshIndex)}}},t}(),B1=Us(D1.prototype,"subMeshIndex",[sa],(function(){return 0})),I1=D1))||I1,z1=Js("cc.animation.MorphWeightsAllValueProxy")(M1=function(){function t(){}return t.prototype.forTarget=function(t){return{set:function(e){for(var i,n,r=null!==(i=null===(n=t.mesh)||void 0===n?void 0:n.struct.primitives.length)&&void 0!==i?i:0,s=0;s1e-6){n=!1;break}this._findRatio=n?R2:Ls}return t.prototype.sample=function(t){return this._findRatio(this.ratios,t)},t}());v.RatioSampler=E2;var C2=t("au",function(){function t(e,i){this.types=void 0,this.type=null,this._values=[],this._lerp=void 0,this._duration=void 0,this._array=void 0,this._duration=i,this._values=e.values;var n=function(e){return"string"==typeof e?e:Array.isArray(e)?e[0]===e[1]&&e[2]===e[3]?t.Linear:t.Bezier(e):t.Linear};if(void 0!==e.easingMethod)this.type=n(e.easingMethod);else if(Array.isArray(e.easingMethods))this.types=e.easingMethods.map(n);else if(void 0!==e.easingMethods){this.types=new Array(this._values.length).fill(null);for(var r=0,s=Object.keys(e.easingMethods);r=e.ratios.length))return t.valueBetween(i,n-1,e.ratios[n-1],n,e.ratios[n]);n=e.ratios.length-1}return t.valueAt(n)}function w2(t,e){if("string"==typeof e){var i=qo[e];i?t=i(t):Q(3906,e)}else Array.isArray(e)&&(t=Vh(e,t));return t}function R2(t,e){var i=t.length-1;if(0===i)return 0;var n=t[0];if(er)return i;var s=(e=(e-n)/(r-n))/(1/i),a=0|s,o=1e-6;return s-a=0)i=r;else{var s=~r,a=s-1;i=a;var o=t[s],h=t[a];n=(e-h)/(o-h)}return{index:i,ratio:n}}!function(){function t(){this._reset()}var e=t.prototype;e.calculate=function(t,e,i){if(this._reset(),!(e>i)){var n=t.length;if(n){var r=t[0],s=t[n-1],a=0,o=0;if(e=s)a=n-1,o=0;else{var h=E3(t,e);a=h.index,o=h.ratio}var u=0,l=0;if(i=s)u=n-1,l=0;else{var c=E3(t,i);u=c.index,l=c.ratio}var _=!o,f=!l;a!==u||o!==l?(_||(this.preLerpIndex=a,this.preLerpRatio=o),this.directKeyframesBegin=_?a:a+1,this.directKeyframesEnd=u+1,f||(this.postLerpIndex=u,this.postLerpRatio=l)):_?(this.directKeyframesBegin=a,this.directKeyframesEnd=a+1):(this.preLerpIndex=a,this.preLerpRatio=o)}}},e._reset=function(){this.preLerpIndex=-1,this.preLerpRatio=0,this.directKeyframesBegin=0,this.directKeyframesEnd=0,this.postLerpIndex=-1,this.postLerpRatio=0},n(t,[{key:"keyframesCount",get:function(){var t=this.preLerpIndex,e=this.directKeyframesBegin;return 0+(t<0?0:1)+(this.directKeyframesEnd-e)+(this.postLerpIndex<0?0:1)}}])}();var C3,x3=function(){function t(t,e){this._nodeEvaluations=void 0,this._nodeEvaluations=t.map((function(t){return t.createEvaluator(e)}))}return t.prototype.evaluate=function(t){this._nodeEvaluations.forEach((function(e){e.evaluate(t)}))},t}(),w3=function(){function t(t,e,i,n,r){this._position=null,this._rotation=null,this._scale=null,e&&(this._position=G3(e.times,e.values,un,t,"position",r)),i&&(this._rotation=G3(i.times,i.values,bn,t,"rotation",r)),n&&(this._scale=G3(n.times,n.values,un,t,"scale",r))}return t.prototype.evaluate=function(t){if(this._position){var e=this._position.evaluator.evaluate(t);this._position.runtimeBinding.setValue(e)}if(this._rotation){var i=this._rotation.evaluator.evaluate(t);this._rotation.runtimeBinding.setValue(i)}if(this._scale){var n=this._scale.evaluator.evaluate(t);this._scale.runtimeBinding.setValue(n)}},t}(),R3=function(){function t(t,e,i){this._times=void 0,this._inputSampleResultCache={just:!1,index:-1,nextIndex:-1,ratio:0},this._values=void 0,this._prevValue=void 0,this._nextValue=void 0,this._resultValue=void 0,this._times=t,this._values=e,this._prevValue=new i,this._nextValue=new i,this._resultValue=new i}return t.prototype.evaluate=function(t){var e=this._times,i=this._values,n=this._resultValue;if(0===e.length)return n;var r=function(t,e,i){var n=t.length,r=t[0],s=t[n-1];if(es)i.just=!0,i.index=n-1;else{var a=Ls(t,e);if(a>=0)i.just=!0,i.index=a;else{var o=~a,h=o-1,u=t[h],l=t[o],c=(e-t[h])/(l-u);i.just=!1,i.index=h,i.nextIndex=o,i.ratio=c}}return i}(e,t,this._inputSampleResultCache);return r.just?i.get(r.index,n):i.lerp(r.index,r.nextIndex,r.ratio,this._prevValue,this._nextValue,n),n},t}(),I3=function(){function t(t,e){this._nodeEvaluations=void 0,this._nodeEvaluations=t.map((function(t){return t.createEvaluatorForAnimationGraph(e)})).filter((function(t){return!!t}))}var e=t.prototype;return e.destroy=function(){for(var t=this._nodeEvaluations,e=t.length,i=0;i=0){var _=u.substring(0,c),f=h[_];f&&(l.parent=f)}}for(var d=this._createEvalWithBinder(void 0,(function(t){var e=t.parseTrsPath();if(e){var i=h[e.node];if(i)return w5(i,e.property)}}),void 0),p=0;p=0&&this._embeddedPlayers.splice(e,1)},i[p5]=function(){this._embeddedPlayers.length=0},i.getAuxiliaryCurveNames_experimental=function(){return this._auxiliaryCurveEntries.map((function(t){return t.name}))},i.hasAuxiliaryCurve_experimental=function(t){return!!this._findAuxiliaryCurveEntry(t)},i.addAuxiliaryCurve_experimental=function(t){var e=this._findAuxiliaryCurveEntry(t);return e||((e=new o5).name=t,this._auxiliaryCurveEntries.push(e)),e.curve},i.getAuxiliaryCurve_experimental=function(t){return this._findAuxiliaryCurveEntry(t).curve},i.renameAuxiliaryCurve_experimental=function(t,e){var i=this._findAuxiliaryCurveEntry(t);i&&(i.name=e)},i.removeAuxiliaryCurve_experimental=function(t){_e(this._auxiliaryCurveEntries,(function(e){return e.name===t}))},i._trySyncLegacyData=function(){this._legacyDataDirty&&(this._legacyDataDirty=!1,this.syncLegacyData())},i._createEvalWithBinder=function(t,e,i){this._legacyDataDirty&&(this._legacyDataDirty=!1,this.syncLegacyData());var n,r=[];i&&(n=this._createRootMotionEvaluation(t,i,r));for(var s,a=[],o=this._tracks,h=o.length,u=0;u=c&&t<=_?o?e!==u&&(h.stop(),h.play(),a.entered=!0):(h.play(),a.entered=!0):o&&(h.stop(),a.entered=!1),a.lastIterations=e,a.entered){var f=t-c;a.instantiatedPlayer.setTime(f)}}}},e.notifyHostSpeedChanged=function(t){for(var e=this._embeddedPlayers,i=this._embeddedPlayerEvaluationInfos,n=e.length,r=0;r0?((s&hu.PingPong)===hu.PingPong?e*=-1:h=n,o++):1===e&&h===n-1&&ra)break}h+=e,this._doFire(h,!0)}while(h!==r&&h>-1&&h=e.length||this._ignoreIndex===t))for(var i=e[t],n=i.events.length,r=0;r0||delete e[t])},e.apply=function(t){var e,i,n,r=this._transformApplyFlags,s=this._properties,a=s.position,o=s.scale,h=s.rotation,u=s.eulerAngles;r&&(a&&r&B5.POSITION&&(e=a.result),o&&r&B5.SCALE&&(i=o.result),u&&r&B5.EULER_ANGLES&&(n=u.result),h&&r&B5.ROTATION&&(n=h.result),(n||e||i)&&t.setRTS(n,e,i),this._transformApplyFlags=0)},n(t,[{key:"empty",get:function(){var t=this._properties;return!(t.position||t.rotation||t.eulerAngles||t.scale)}}]),t}()),G5=function(t){function e(){return t.apply(this,arguments)||this}return s(e,t),e.prototype.createNodeBlendState=function(){return new k5},e}(M5),V5=t("ay",Js(((L5=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r=0?this._crossFades.fastRemoveAt(e):Q(3907)},i.update=function(t){var e=this._delayEvents,i=this._crossFades,n=this._sockets,r=i.array;for(i.i=0;i.i=0?this._anims.fastRemoveAt(e):Q(3907)},i.pushDelayEvent=function(t,e,i){this._delayEvents.push({fn:t,thisArg:e,args:i})},i.addSockets=function(t,e){for(var i=this,n=function(){var n=e[r];if(i._sockets.find((function(t){return t.target===n.target})))return 1;var s=t.getChildByPath(n.path),a=n.target&&s&&qZ(s,t);a&&i._sockets.push({target:n.target,transform:a})},r=0;r=h.easeDuration){a=o+1,h.easeTime=h.easeDuration;break}}if(a!==i.length){for(var c=a;c=0||(this._clips.push(t),this.createState(t)))}}]),e}(Qu(hp))).EventType=E0,p((Y5=Z5).prototype,"clips",[H5],Object.getOwnPropertyDescriptor(Y5.prototype,"clips"),Y5.prototype),p(Y5.prototype,"defaultClip",[W5],Object.getOwnPropertyDescriptor(Y5.prototype,"defaultClip"),Y5.prototype),q5=Us(Y5.prototype,"playOnLoad",[sa],(function(){return!1})),K5=Us(Y5.prototype,"_clips",[X5],(function(){return[]})),J5=Us(Y5.prototype,"_defaultClip",[sa],(function(){return null})),j5=Y5))||j5)||j5));function n4(t,e){return t===e||!!t&&!!e&&t._uuid===e._uuid&&t._uuid}v.Animation=i4,v.AnimationComponent=i4,$t(i4,"cc.AnimationComponent"),function(t){t.PLAYED="play",t.PAUSED="pause",t.STOPPED="stop",t.SEEKED="seeked",t.ENDED="ended",t.INTERRUPTION_BEGIN="interruptionBegin",t.INTERRUPTION_END="interruptionEnd",t.USER_GESTURE="on_gesture"}(Q5||(Q5={})),function(t){t[t.DOM_AUDIO=0]="DOM_AUDIO",t[t.WEB_AUDIO=1]="WEB_AUDIO",t[t.MINIGAME_AUDIO=2]="MINIGAME_AUDIO",t[t.NATIVE_AUDIO=3]="NATIVE_AUDIO",t[t.UNKNOWN_AUDIO=4]="UNKNOWN_AUDIO"}($5||($5={})),function(t){t[t.INIT=0]="INIT",t[t.PLAYING=1]="PLAYING",t[t.PAUSED=2]="PAUSED",t[t.STOPPED=3]="STOPPED",t[t.INTERRUPTED=4]="INTERRUPTED"}(t4||(t4={}));var r4,s4=t("aD",function(){function t(){this._bufferView=void 0,this._normalizeFactor=1;for(var t=arguments.length,e=new Array(t),i=0;i=0;s--){var a=i[s];if("stop"===a.op){n.push(a);break}if("seek"===a.op)r||(n.push(a),r=!0);else{if(r){n.push(a);break}0===n.length&&n.push(a)}}t._operationQueue=n.reverse()}(t);var i=t._operationQueue[0];i&&o4(t,i)})).catch((function(){})))}function h4(t,e,i){var n=i.value;i.value=function(){for(var t=this,i=arguments.length,r=new Array(i),s=0;s=this.duration&&(this._startTime=this._now(),this._startOffset=0),e%this.duration},e.start=function(){this._isPaused=!1,this._startTime=this._now()},e.pause=function(){this._isPaused||(this._isPaused=!0,this._startOffset=this._calculateCurrentTime())},e.stop=function(){this._isPaused=!0,this._startOffset=0},e.seek=function(t){this._startTime=this._now(),this._startOffset=Di(t,0,this.duration)},n(t,[{key:"duration",get:function(){return this._nativeAudio.duration}},{key:"currentTime",get:function(){return this._isPaused?this._startOffset:this._calculateCurrentTime()}}]),t}(),p4=new(function(){function t(){this._audioBufferDataMap={}}var e=t.prototype;return e.addCache=function(t,e){this._audioBufferDataMap[t]?console.warn("Audio buffer "+t+" has been cached"):this._audioBufferDataMap[t]={usedCount:1,audioBuffer:e}},e.retainCache=function(t){var e=this._audioBufferDataMap[t];e?e.usedCount++:console.warn("Audio buffer cache "+t+" has not been added.")},e.getCache=function(t){var e=this._audioBufferDataMap[t];return null==e?void 0:e.audioBuffer},e.tryReleasingCache=function(t){var e=this._audioBufferDataMap[t];e?--e.usedCount<=0&&delete this._audioBufferDataMap[t]:console.warn("Audio buffer cache "+t+" has not been added.")},t}()),m4=window.AudioContext||window.webkitAudioContext||window.mozAudioContext,g4="on-context-running",y4=function(){function t(){var t=this;this._eventTarget=void 0,this._context=void 0,this._isRunning=!1,this._context=new(window.AudioContext||window.webkitAudioContext||window.mozAudioContext),this._eventTarget=new $u,this._context.onstatechange=function(){"running"===t._context.state?(t._isRunning=!0,t._eventTarget.emit(g4)):t._isRunning=!1}}var e=t.prototype;return e.onceRunning=function(t,e){this._eventTarget.once(g4,t,e)},e.offRunning=function(t,e){this._eventTarget.off(g4,t,e)},e.decodeAudioData=function(t){var e=this;return new Promise((function(i){var n=e._context.decodeAudioData(t,(function(t){i(t)}),(function(t){console.error("failed to load Web Audio",t)}));null==n||n.catch((function(t){V("decodeAudioData error",t)}))}))},e.runContext=function(){var t=this;return new Promise((function(e){if(t.isRunning)e();else{var i=t._context;if(i.resume)if(i.resume().catch((function(t){V("runContext error",t)})),"running"!==i.state){var n=document.getElementById("GameCanvas"),r=function t(){i.resume().then((function(){null==n||n.removeEventListener("touchend",t,{capture:!0}),null==n||n.removeEventListener("mouseup",t,{capture:!0}),e()})).catch((function(t){V("onGesture resume error",t)}))};null==n||n.addEventListener("touchend",r,{capture:!0}),null==n||n.addEventListener("mouseup",r,{capture:!0})}else e();else e()}}))},e.createBufferSource=function(t,e){var i=this._context.createBufferSource();return void 0!==t&&(i.buffer=t),void 0!==e&&(i.loop=e),i},e.createGain=function(t){void 0===t&&(t=1);var e=this._context.createGain();return this.setGainValue(e,t),e},e.setGainValue=function(t,e){if(t.gain.setTargetAtTime)try{t.gain.setTargetAtTime(e,this._context.currentTime,0)}catch(i){t.gain.setTargetAtTime(e,this._context.currentTime,.01)}else t.gain.value=e},e.connectContext=function(t){this._context&&t.connect(this._context.destination)},n(t,[{key:"isRunning",get:function(){return this._isRunning}},{key:"currentTime",get:function(){return this._context.currentTime}}]),t}();y4.support=!!m4,y4.support&&(c4=new y4);var v4,S4,T4,A4,b4=function(){function t(t,e,i){this._duration=void 0,this._bufferSourceNode=void 0,this._onPlayCb=void 0,this._currentTimer=0,this._url=void 0,this._onEndCb=void 0,this._duration=t.duration,this._url=i,this._bufferSourceNode=c4.createBufferSource(t,!1);var n=c4.createGain(e);this._bufferSourceNode.connect(n),c4.connectContext(n)}var e=t.prototype;return e.play=function(){var t=this;this._bufferSourceNode.start(),c4.runContext().then((function(){var e;null===(e=t.onPlay)||void 0===e||e.call(t),t._currentTimer=window.setTimeout((function(){var e;p4.tryReleasingCache(t._url),null===(e=t.onEnd)||void 0===e||e.call(t)}),1e3*t._duration)})).catch((function(t){V("play error",t)}))},e.stop=function(){clearTimeout(this._currentTimer),p4.tryReleasingCache(this._url),this._bufferSourceNode.stop(),this._bufferSourceNode.disconnect(),this._bufferSourceNode.buffer=null},n(t,[{key:"onPlay",get:function(){return this._onPlayCb},set:function(t){this._onPlayCb=t}},{key:"onEnd",get:function(){return this._onEndCb},set:function(t){this._onEndCb=t}}]),t}(),E4=(p((l4=function(){function t(t,e){this._src=void 0,this._audioBuffer=void 0,this._sourceNode=void 0,this._gainNode=void 0,this._currentTimer=0,this._volume=1,this._loop=!1,this._state=t4.INIT,this._audioTimer=void 0,this._runningCallback=void 0,this._eventTarget=new $u,this._operationQueue=[],this._audioBuffer=t,this._audioTimer=new d4(t),this._gainNode=c4.createGain(),c4.connectContext(this._gainNode),this._src=e,SF.on(vF.EVENT_PAUSE,this._onInterruptedBegin,this),SF.on(vF.EVENT_RESUME,this._onInterruptedEnd,this)}var e=t.prototype;return e.destroy=function(){this._audioTimer.destroy(),this._audioBuffer&&(this._audioBuffer=null),p4.tryReleasingCache(this._src),SF.off(vF.EVENT_PAUSE,this._onInterruptedBegin,this),SF.off(vF.EVENT_RESUME,this._onInterruptedEnd,this),this.offRunning()},t.load=function(e){return new Promise((function(i){t.loadNative(e).then((function(n){i(new t(n,e))})).catch((function(t){V("load error",e,t)}))}))},t.loadNative=function(t){return new Promise((function(e,i){var n=p4.getCache(t);if(n)return p4.retainCache(t),void e(n);var r=new XMLHttpRequest,s="load audio failed: "+t+", status: ";r.open("GET",t,!0),r.responseType="arraybuffer",r.onload=function(){200===r.status||0===r.status?c4.decodeAudioData(r.response).then((function(i){p4.addCache(t,i),e(i)})).catch((function(e){V("loadNative error",t,e)})):i(new Error(""+s+r.status+"(no response)"))},r.onerror=function(){i(new Error(""+s+r.status+"(error)"))},r.ontimeout=function(){i(new Error(""+s+r.status+"(time out)"))},r.onabort=function(){i(new Error(""+s+r.status+"(abort)"))},r.send(null)}))},t.loadOneShotAudio=function(e,i){return new Promise((function(n,r){t.loadNative(e).then((function(t){var r=new b4(t,i,e);n(r)})).catch(r)}))},e.getPCMData=function(t){return new s4(this._audioBuffer.getChannelData(t),1)},e._onInterruptedBegin=function(){var t=this;this._state===t4.PLAYING&&this.pause().then((function(){t._state=t4.INTERRUPTED,t._eventTarget.emit(Q5.INTERRUPTION_BEGIN)})).catch((function(t){V("_onInterruptedBegin error",t)}))},e._onInterruptedEnd=function(){var t=this;this._state===t4.INTERRUPTED&&this.play().then((function(){t._eventTarget.emit(Q5.INTERRUPTION_END)})).catch((function(t){V("_onInterruptedEnd error",t)}))},e.offRunning=function(){this._runningCallback&&(c4.offRunning(this._runningCallback),this._runningCallback=void 0)},e.seek=function(t){var e=this;return new Promise((function(i){e.offRunning(),e._audioTimer.seek(t),e._state===t4.PLAYING?e._doPlay().then(i).catch((function(t){V("seek error",t)})):i()}))},e.play=function(){return this.offRunning(),this._doPlay()},e._doPlay=function(){var t=this;return new Promise((function(e){c4.isRunning?(t._startSourceNode(),e()):(t.offRunning(),t._runningCallback=function(){t._startSourceNode(),e()},c4.onceRunning(t._runningCallback),c4.runContext().catch((function(t){V("doPlay error",t)})))}))},e._startSourceNode=function(){var t=this;this._stopSourceNode(),this._sourceNode=c4.createBufferSource(this._audioBuffer,this.loop),this._sourceNode.connect(this._gainNode),this._sourceNode.loop=this._loop,this._sourceNode.start(0,this._audioTimer.currentTime),this._state=t4.PLAYING,this._audioTimer.start(),window.clearTimeout(this._currentTimer),this._currentTimer=window.setTimeout((function e(){t.loop?t._currentTimer=window.setTimeout(e,1e3*t._audioBuffer.duration):(t._audioTimer.stop(),t._eventTarget.emit(Q5.ENDED),t._state=t4.INIT)}),1e3*(this._audioBuffer.duration-this._audioTimer.currentTime))},e._stopSourceNode=function(){try{this._sourceNode&&(this._sourceNode.stop(),this._sourceNode.disconnect(),this._sourceNode.buffer=null,this._sourceNode=void 0)}catch(t){}},e.pause=function(){return this.offRunning(),this._state===t4.PLAYING&&this._sourceNode?(this._audioTimer.pause(),this._state=t4.PAUSED,window.clearTimeout(this._currentTimer),this._stopSourceNode(),Promise.resolve()):Promise.resolve()},e.stop=function(){return this.offRunning(),this._sourceNode?(this._audioTimer.stop(),this._state=t4.STOPPED,window.clearTimeout(this._currentTimer),this._stopSourceNode(),Promise.resolve()):(this._audioTimer.stop(),this._state=t4.STOPPED,Promise.resolve())},e.onInterruptionBegin=function(t){this._eventTarget.on(Q5.INTERRUPTION_BEGIN,t)},e.offInterruptionBegin=function(t){this._eventTarget.off(Q5.INTERRUPTION_BEGIN,t)},e.onInterruptionEnd=function(t){this._eventTarget.on(Q5.INTERRUPTION_END,t)},e.offInterruptionEnd=function(t){this._eventTarget.off(Q5.INTERRUPTION_END,t)},e.onEnded=function(t){this._eventTarget.on(Q5.ENDED,t)},e.offEnded=function(t){this._eventTarget.off(Q5.ENDED,t)},n(t,[{key:"sampleRate",get:function(){return this._audioBuffer.sampleRate}},{key:"src",get:function(){return this._src}},{key:"type",get:function(){return $5.WEB_AUDIO}},{key:"state",get:function(){return this._state}},{key:"loop",get:function(){return this._loop},set:function(t){this._loop=t,this._sourceNode&&(this._sourceNode.loop=t)}},{key:"volume",get:function(){return this._volume},set:function(t){t=Bi(t),this._volume=t,c4.setGainValue(this._gainNode,t)}},{key:"duration",get:function(){return this._audioBuffer.duration}},{key:"currentTime",get:function(){return this._audioTimer.currentTime}}]),t}()).prototype,"seek",[h4],Object.getOwnPropertyDescriptor(l4.prototype,"seek"),l4.prototype),p(l4.prototype,"play",[h4],Object.getOwnPropertyDescriptor(l4.prototype,"play"),l4.prototype),p(l4.prototype,"pause",[h4],Object.getOwnPropertyDescriptor(l4.prototype,"pause"),l4.prototype),p(l4.prototype,"stop",[h4],Object.getOwnPropertyDescriptor(l4.prototype,"stop"),l4.prototype),l4),C4=function(){function t(t){this._audio=void 0,this._audio=t}var e=t.prototype;return e.play=function(){this._audio.play()},e.stop=function(){this._audio.stop()},n(t,[{key:"onPlay",get:function(){return this._audio.onPlay},set:function(t){this._audio.onPlay=t}},{key:"onEnd",get:function(){return this._audio.onEnd},set:function(t){this._audio.onEnd=t}}]),t}(),x4=function(){function t(t){this._player=void 0,this._player=t}t.load=function(e,i){return new Promise((function(n){(null==i?void 0:i.audioLoadMode)!==$5.DOM_AUDIO&&y4.support?E4.load(e).then((function(e){n(new t(e))})).catch((function(){})):(y4.support||J(5201),f4.load(e).then((function(e){n(new t(e))})).catch((function(){})))}))};var e=t.prototype;return e.destroy=function(){this._player.destroy()},t.loadNative=function(t,e){return(null==e?void 0:e.audioLoadMode)!==$5.DOM_AUDIO&&y4.support?E4.loadNative(t):(y4.support||J(5201),f4.loadNative(t))},t.loadOneShotAudio=function(t,e,i){return new Promise((function(n,r){(null==i?void 0:i.audioLoadMode)!==$5.DOM_AUDIO&&y4.support?E4.loadOneShotAudio(t,e).then((function(t){n(new C4(t))})).catch(r):(y4.support||J(5201),f4.loadOneShotAudio(t,e).then((function(t){n(new C4(t))})).catch(r))}))},e.getPCMData=function(t){return this._player.getPCMData(t)},e.seek=function(t){return this._player.seek(t)},e.play=function(){return this._player.play()},e.pause=function(){return this._player.pause()},e.stop=function(){return this._player.stop()},e.onInterruptionBegin=function(t){this._player.onInterruptionBegin(t)},e.offInterruptionBegin=function(t){this._player.offInterruptionBegin(t)},e.onInterruptionEnd=function(t){this._player.onInterruptionEnd(t)},e.offInterruptionEnd=function(t){this._player.offInterruptionEnd(t)},e.onEnded=function(t){this._player.onEnded(t)},e.offEnded=function(t){this._player.offEnded(t)},n(t,[{key:"src",get:function(){return this._player.src}},{key:"type",get:function(){return this._player.type}},{key:"state",get:function(){return this._player.state}},{key:"loop",get:function(){return this._player.loop},set:function(t){this._player.loop=t}},{key:"volume",get:function(){return this._player.volume},set:function(t){this._player.volume=t}},{key:"duration",get:function(){return this._player.duration}},{key:"currentTime",get:function(){return this._player.currentTime}},{key:"sampleRate",get:function(){return this._player.sampleRate}}]),t}();x4.maxAudioChannel=24;var w4=t("aC",Js("cc.AudioClip")(((A4=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r-1?(t[i].playTime=performance.now(),!1):(t.push({audio:e,playTime:performance.now()}),!0)},e.addPlaying=function(t){t instanceof x4?this._tryAddPlaying(this._audioPlayerInfoList,t):this._tryAddPlaying(this._oneShotAudioInfoList,t)},e._tryRemovePlaying=function(t,e){var i=this._findIndex(t,e);return-1!==i&&(ue(t,i),!0)},e.removePlaying=function(t){t instanceof x4?this._tryRemovePlaying(this._audioPlayerInfoList,t):this._tryRemovePlaying(this._oneShotAudioInfoList,t)},e.discardOnePlayingIfNeeded=function(){var t;this._audioPlayerInfoList.length+this._oneShotAudioInfoList.length0?this._oneShotAudioInfoList.forEach((function(e){(!t||e.playTime0){for(var i=0,n=this._objects;i0){for(var r=0;ri&&(r.length=i),t._maxCountMap[n]=i;else for(var n in t._defaultMaxCount=i,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}(C8||(C8={})),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,u=t.y,l=h+t.width,c=u+t.height,_=i*h+r*u+a,f=n*h+s*u+o,d=i*l+r*u+a,p=n*l+s*u+o,m=i*l+r*c+a,g=n*l+s*c+o,y=i*h+r*c+a,v=n*h+s*c+o,S=0;_>d&&(S=_,_=d,d=S),m>y&&(S=m,m=y,y=S),t.x=Math.floor(_y?d:y)-t.x),f>p&&(S=f,f=p,p=S),g>v&&(S=g,g=v,v=S),t.y=Math.floor(fv?p:v)-t.y)},t}();t.Matrix=e}(C8||(C8={})),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>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&&s=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}(C8||(C8={})),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}(C8||(C8={})),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}(C8||(C8={})),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}(C8||(C8={})),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 E8(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=0&&t=0&&t=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))for(var e in this.cacheFrameRate=t,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 E8(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 E8(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 r=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.color=null,t.userData=null,t}return E8(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=r}(C8||(C8={})),function(t){var e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return E8(e,t),e.prototype._onClear=function(){this.order=0,this.name="",this.type=0,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 E8(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;var n=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.bones=[],e}return E8(e,t),e.toString=function(){return"[class dragonBones.PathConstraintData]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.pathSlot=null,this.pathDisplayData=null,this.bones.length=0,this.positionMode=0,this.spacingMode=1,this.rotateMode=1,this.position=0,this.spacing=0,this.rotateOffset=0,this.rotateMix=0,this.translateMix=0},e.prototype.AddBone=function(t){this.bones.push(t)},e}(e);t.PathConstraintData=n}(C8||(C8={})),function(t){var e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return E8(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}(C8||(C8={})),function(t){var e=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.displays={},e}return E8(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];er&&(a|=2),es&&(a|=8),a},e.rectangleIntersectsSegment=function(t,i,n,r,s,a,o,h,u,l,c){void 0===u&&(u=null),void 0===l&&(l=null),void 0===c&&(c=null);var _=t>s&&ta&&is&&na&&r=-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,u=.5*this.height;return e.rectangleIntersectsSegment(t,i,n,r,-h,-u,h,u,s,a,o)},e}(e);t.RectangleBoundingBoxData=i;var n=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return E8(e,t),e.toString=function(){return"[class dragonBones.EllipseData]"},e.ellipseIntersectsSegment=function(t,e,i,n,r,s,a,o,h,u,l){void 0===h&&(h=null),void 0===u&&(u=null),void 0===l&&(l=null);var c=a/o,_=c*c,f=i-t,d=(n*=c)-(e*=c),p=Math.sqrt(f*f+d*d),m=f/p,g=d/p,y=(r-t)*m+(s-e)*g,v=a*a,S=v-(t*t+e*e)+y*y,T=0;if(S>=0){var A=Math.sqrt(S),b=y-A,E=y+A,C=b<0?-1:b<=p?0:1,x=E<0?-1:E<=p?0:1,w=C*x;if(w<0)return-1;0===w&&(-1===C?(T=2,i=t+E*m,n=(e+E*g)/c,null!==h&&(h.x=i,h.y=n),null!==u&&(u.x=i,u.y=n),null!==l&&(l.x=Math.atan2(n/v*_,i/v),l.y=l.x+Math.PI)):1===x?(T=1,t+=b*m,e=(e+b*g)/c,null!==h&&(h.x=t,h.y=e),null!==u&&(u.x=t,u.y=e),null!==l&&(l.x=Math.atan2(e/v*_,t/v),l.y=l.x+Math.PI)):(T=3,null!==h&&(h.x=t+b*m,h.y=(e+b*g)/c,null!==l&&(l.x=Math.atan2(h.y/v*_,h.x/v))),null!==u&&(u.x=t+E*m,u.y=(e+E*g)/c,null!==l&&(l.y=Math.atan2(u.y/v*_,u.x/v)))))}return T},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 r=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.vertices=[],e}return E8(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,u=t-i,l=e-n,c=t*n-e*i,_=0,f=r[h-2],d=r[h-1],p=0,m=0,g=0,y=0,v=0,S=0,T=0;T=f&&R<=A||R>=A&&R<=f)&&(0===u||R>=t&&R<=i||R>=i&&R<=t)){var I=(c*C-l*x)/w;if((I>=d&&I<=b||I>=b&&I<=d)&&(0===l||I>=e&&I<=n||I>=n&&I<=e)){if(null===a){g=R,y=I,v=R,S=I,_++,null!==o&&(o.x=Math.atan2(b-d,A-f)-.5*Math.PI,o.y=o.x);break}var D=R-t;D<0&&(D=-D),0===_?(p=D,m=D,g=R,y=I,v=R,S=I,null!==o&&(o.x=Math.atan2(b-d,A-f)-.5*Math.PI,o.y=o.x)):(Dm&&(m=D,v=R,S=I,null!==o&&(o.y=Math.atan2(b-d,A-f)-.5*Math.PI))),_++}}f=A,d=b}return 1===_?(null!==s&&(s.x=g,s.y=y),null!==a&&(a.x=g,a.y=y),null!==o&&(o.y=o.x+Math.PI)):_>1&&(_++,null!==s&&(s.x=g,s.y=y),null!==a&&(a.x=v,a.y=S)),_},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.type=2,this.x=0,this.y=0,this.vertices.length=0},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=e||a=e){var h=this.vertices[s],u=this.vertices[n];(e-o)*(h-u)/(a-o)+u0)){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=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=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=0&&r.contains(o)&&this.boneMask.splice(h,1)}else for(var u=0,l=t.getBones();ue._zOrder?1:-1},i.prototype._onClear=function(){null!==this._clock&&this._clock.remove(this);for(var t=0,e=this._bones;t=s)){var o=i[a],h=this.getSlot(o.name);null!==h&&h._setZorder(r)}}this._slotsDirty=!0,this._zOrderDirty=!n}},i.prototype._addBone=function(t){this._bones.indexOf(t)<0&&this._bones.push(t)},i.prototype._addSlot=function(t){this._slots.indexOf(t)<0&&this._slots.push(t)},i.prototype._addConstraint=function(t){this._constraints.indexOf(t)<0&&this._constraints.push(t)},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._slotsDirty&&(this._slotsDirty=!1,this._slots.sort(i._onSortSlots)),this._cacheFrameIndex<0||this._cacheFrameIndex!==e){var n=0,r=0;for(n=0,r=this._bones.length;n0){this._lockUpdate=!0;for(var s=0,a=this._actions;s0){if(null!==(a=this.getBone(t))&&(a.invalidUpdate(),e))for(var i=0,n=this._slots;i0){if(null===r&&null===s){m=S;break}var T;null!==r&&((T=o?r.y-e:r.x-t)<0&&(T=-T),(null===m||Tu)&&(u=T,_=s.x,f=s.y,g=S,null!==a&&(p=a.y)))}}return null!==m&&null!==r&&(r.x=l,r.y=c,null!==a&&(a.x=d)),null!==g&&null!==s&&(s.x=_,s.y=f,null!==a&&(a.y=p)),m},i.prototype.getBone=function(t){for(var e=0,i=this._bones;e=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=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=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=s)return this.globalTransformMatrix;if(d=7*(2*(o*(h+1)+2*o+h+f)+((r=i>this._kX*(t+s)+m)?1:0)),this._matrixCahce[d]>0)y.copyFromArray(g,d+1);else{var v=f*(u+2),S=this._hullCache[4],T=this._hullCache[5],A=this._hullCache[2]-(h-f)*S,b=this._hullCache[3]-(h-f)*T,E=this._vertices;r?this._getAffineTransform(-s,m+c,800,c,E[v+u+2],E[v+u+3],A+S,b+T,E[v],E[v+1],e._helpTransform,y,!0):this._getAffineTransform(-n,m,800,c,A,b,E[v],E[v+1],A+S,b+T,e._helpTransform,y,!1),g[d]=1,g[d+1]=y.a,g[d+2]=y.b,g[d+3]=y.c,g[d+4]=y.d,g[d+5]=y.tx,g[d+6]=y.ty}}else if(t>=s){if(i<-s||i>=s)return this.globalTransformMatrix;d=7*(2*(o*(h+1)+o+f)+((r=i>this._kX*(t-n)+m)?1:0)),this._matrixCahce[d]>0?y.copyFromArray(g,d+1):(v=(f+1)*(u+2)-2,S=this._hullCache[4],T=this._hullCache[5],A=this._hullCache[0]+f*S,b=this._hullCache[1]+f*T,E=this._vertices,r?this._getAffineTransform(n,m+c,800,c,A+S,b+T,E[v+u+2],E[v+u+3],A,b,e._helpTransform,y,!0):this._getAffineTransform(s,m,800,c,E[v],E[v+1],A,b,E[v+u+2],E[v+u+3],e._helpTransform,y,!1),g[d]=1,g[d+1]=y.a,g[d+2]=y.b,g[d+3]=y.c,g[d+4]=y.d,g[d+5]=y.tx,g[d+6]=y.ty)}else if(i<-s){if(t<-s||t>=s)return this.globalTransformMatrix;d=7*(o*(h+1)+2*_+((r=i>this._kY*(t-p-l)-n)?1:0)),this._matrixCahce[d]>0?y.copyFromArray(g,d+1):(v=2*_,S=this._hullCache[10],T=this._hullCache[11],A=this._hullCache[8]+_*S,b=this._hullCache[9]+_*T,E=this._vertices,r?this._getAffineTransform(p+l,-s,l,800,E[v+2],E[v+3],E[v],E[v+1],A+S,b+T,e._helpTransform,y,!0):this._getAffineTransform(p,-n,l,800,A,b,A+S,b+T,E[v],E[v+1],e._helpTransform,y,!1),g[d]=1,g[d+1]=y.a,g[d+2]=y.b,g[d+3]=y.c,g[d+4]=y.d,g[d+5]=y.tx,g[d+6]=y.ty)}else if(i>=s){if(t<-s||t>=s)return this.globalTransformMatrix;d=7*(2*(o*(h+1)+o+h+f)+((r=i>this._kY*(t-p-l)+s)?1:0)),this._matrixCahce[d]>0?y.copyFromArray(g,d+1):(v=h*(u+2)+2*_,S=this._hullCache[10],T=this._hullCache[11],A=this._hullCache[6]-(o-_)*S,b=this._hullCache[7]-(o-_)*T,E=this._vertices,r?this._getAffineTransform(p+l,n,l,800,A+S,b+T,A,b,E[v+2],E[v+3],e._helpTransform,y,!0):this._getAffineTransform(p,s,l,800,E[v],E[v+1],E[v+2],E[v+3],A,b,e._helpTransform,y,!1),g[d]=1,g[d+1]=y.a,g[d+2]=y.b,g[d+3]=y.c,g[d+4]=y.d,g[d+5]=y.tx,g[d+6]=y.ty)}else d=7*(2*(o*f+_)+((r=i>this._k*(t-p-l)+m)?1:0)),this._matrixCahce[d]>0?y.copyFromArray(g,d+1):(v=2*_+f*(u+2),E=this._vertices,r?this._getAffineTransform(p+l,m+c,l,c,E[v+u+4],E[v+u+5],E[v+u+2],E[v+u+3],E[v+2],E[v+3],e._helpTransform,y,!0):this._getAffineTransform(p,m,l,c,E[v],E[v+1],E[v+2],E[v+3],E[v+u+2],E[v+u+3],e._helpTransform,y,!1),g[d]=1,g[d+1]=y.a,g[d+2]=y.b,g[d+3]=y.c,g[d+4]=y.d,g[d+5]=y.tx,g[d+6]=y.ty);return y},e.prototype.init=function(e,i){if(null===this._boneData){t.prototype.init.call(this,e,i);var n=e.segmentX,r=e.segmentY,s=e.vertices.length;this._dX=400/n,this._dY=400/r,this._k=-this._dY/this._dX,this._kX=-this._dY/800,this._kY=-800/this._dX,this._vertices.length=s,this._deformVertices.length=s,this._matrixCahce.length=14*(n*r+2*n+2*r),this._hullCache.length=10;for(var a=0;a=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=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=0;this._localDirty&&this._updateGlobalTransformMatrix(l),l&&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 c=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]=c-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]=c-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}(C8||(C8={})),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._displayDatas=[],i._displayList=[],i._deformVertices=null,i._rawDisplay=null,i._meshDisplay=null,i}return E8(i,e),i.prototype._onClear=function(){e.prototype._onClear.call(this);for(var i=[],n=0,r=this._displayList;n=0&&(null!==this._rawDisplayDatas&&(s=this._displayIndex=0&&this._displayIndex=0&&null!==this._rawDisplayDatas){var a=this._displayIndex0)for(var o=0,h=s;o0){this._displayList.length!==e.length&&(this._displayList.length=e.length);for(var i=0,n=e.length;i0&&(this._displayList.length=0);return this._displayIndex>=0&&this._displayIndex=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._deformVertices&&null!==this._deformVertices.verticesData&&this._display===this._meshDisplay){var i=null!==this._deformVertices.verticesData.weight,n=0!==this._parent._boneData.type;if((this._deformVertices.verticesDirty||i&&this._deformVertices.isBonesUpdate()||n&&this._parent._childrenTransformDirty)&&(this._deformVertices.verticesDirty=!1,this._updateMesh()),i||n)return}if(this._transformDirty){if(this._transformDirty=!1,this._cachedFrameIndex<0){var r=t>=0;this._updateGlobalTransformMatrix(r),r&&null!==this._cachedFrameIndices&&(this._cachedFrameIndex=this._cachedFrameIndices[t]=this._armature._armatureData.setCacheFrame(this.globalTransformMatrix,this.global))}else this._isFromCache=!0,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;i0&&(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;rd)continue}for(;;W++){var N=p[W];if(!(F>N)){0===W?F/=N:F=(F-(V=p[W-1]))/(N-V);break}}if(W!==_){_=W;var k=6*W;for(E=u[k],C=u[k+1],x=u[k+2],w=u[k+3],R=u[k+4],I=u[k+5],S=2*(m=.03*(E-2*x+R))+(y=.006*(3*(x-R)-E+(D=u[k+6]))),T=2*(g=.03*(C-2*w+I))+(v=.006*(3*(w-I)-C+(B=u[k+7]))),A=.3*(x-E)+m+.16666667*y,b=.3*(w-C)+g+.16666667*v,O=Math.sqrt(A*A+b*b),P[0]=O,k=1;k<8;k++)A+=S,b+=T,S+=y,T+=v,O+=Math.sqrt(A*A+b*b),P[k]=O;A+=S,b+=T,O+=Math.sqrt(A*A+b*b),P[8]=O,A+=S+y,b+=T+v,O+=Math.sqrt(A*A+b*b),P[9]=O,L=0}for(F*=O;;L++){var G=P[L];if(!(F>G)){var V;0===L?F/=G:F=L+(F-(V=P[L-1]))/(G-V);break}}this.addCurvePosition(.1*F,E,C,x,w,R,I,D,B,a,H,i)}}else{var U=t.curveLengths;if(d=U[c-=h?1:2],n&&(f*=d),r)for(var z=0;zd)continue}for(var X=0;;W++){var j=U[W];if(!(f>j)){if(0===W)X=f/j;else{var Y=U[W-1];X=(f-Y)/(j-Y)}break}}W!==_&&(_=W,h&&W===c?(this._computeVertices(l-4,4,0,u),this._computeVertices(0,4,4,u)):this._computeVertices(6*W+2,8,0,u)),this.addCurvePosition(X,u[0],u[1],u[2],u[3],u[4],u[5],u[6],u[7],a,H,i)}}},i.prototype.addCurvePosition=function(t,e,i,n,r,s,a,o,h,u,l,c){if(0===t)return u[l]=e,u[l+1]=i,void(u[l+2]=0);if(1===t)return u[l]=o,u[l+1]=h,void(u[l+2]=0);var _=1-t,f=_*_,d=t*t,p=f*_,m=f*t*3,g=_*d*3,y=t*d,v=p*e+m*n+g*s+y*o,S=p*i+m*r+g*a+y*h;u[l]=v,u[l+1]=S,u[l+2]=c?Math.atan2(S-(p*i+m*r+g*a),v-(p*e+m*n+g*s)):0},i.prototype.init=function(t,e){this._constraintData=t,this._armature=e;var i=t;this.pathOffset=i.pathDisplayData.vertices.offset,this.position=i.position,this.spacing=i.spacing,this.rotateOffset=i.rotateOffset,this.rotateMix=i.rotateMix,this.translateMix=i.translateMix,this._root=this._armature.getBone(i.root.name),this._target=this._armature.getBone(i.target.name),this._pathSlot=this._armature.getSlot(i.pathSlot.name);for(var n=0,r=i.bones.length;n0?t.Transform.DEG_RAD:-t.Transform.DEG_RAD));for(var R=this.rotateMix,I=this.translateMix,D=(g=0,3);g0){var N=M.a,k=M.b,G=M.c,V=M.d,U=void 0,z=void 0,H=void 0;if(U=_?E[D-1]:Math.atan2(O,P),U-=Math.atan2(k,N),b){z=Math.cos(U),H=Math.sin(U);var W=B._boneData.length;x+=(W*(z*N-H*k)-P)*R,w+=(W*(H*N+z*k)-O)*R}else U+=C;U>t.Transform.PI?U-=t.Transform.PI_D:U<-t.Transform.PI&&(U+=t.Transform.PI_D),U*=R,z=Math.cos(U),H=Math.sin(U),M.a=z*N-H*k,M.b=H*N+z*k,M.c=z*G-H*V,M.d=H*G+z*V}B.global.fromMatrix(M)}this.dirty=!1}}},i.prototype.invalidUpdate=function(){},i}(e);t.PathConstraint=n}(C8||(C8={})),function(t){var e=function(){function t(t){void 0===t&&(t=0),this.time=0,this.timeScale=1,this._systemTime=0,this._animatebles=[],this._clock=null,this.time=t,this._systemTime=.001*(new Date).getTime()}return t.prototype.advanceTime=function(t){t!=t&&(t=0);var e=.001*Date.now();if(t<0&&(t=e-this._systemTime),this._systemTime=e,1!==this.timeScale&&(t*=this.timeScale),0!==t){t<0?this.time-=t:this.time+=t;for(var i=0,n=0,r=this._animatebles.length;i0&&(this._animatebles[i-n]=s,this._animatebles[i]=null),s.advanceTime(t)):n++}if(n>0){for(r=this._animatebles.length;i=0&&(this._animatebles[e]=null,t.clock=null)},t.prototype.clear=function(){for(var t=0,e=this._animatebles;t0&&d._subFadeState>0)this._armature._dragonBones.bufferObject(d),this._animationStates.length=0,this._lastAnimationState=null;else{var i=d._animationData,n=i.cacheFrameRate;if(this._animationDirty&&n>0){this._animationDirty=!1;for(var r=0,s=this._armature.getBones();r0){var c=l[0];if(null!==c&&c.parent===this._armature.armatureData.defaultSkin){u._cachedFrameIndices=i.getSlotCachedFrameIndices(u.name);continue}}u._cachedFrameIndices=null}}d.advanceTime(t,n)}else if(e>1){for(var _=0,f=0;_0&&d._subFadeState>0?(f++,this._armature._dragonBones.bufferObject(d),this._animationDirty=!0,this._lastAnimationState===d&&(this._lastAnimationState=null)):(f>0&&(this._animationStates[_-f]=d),d.advanceTime(t,0)),_===e-1&&f>0&&(this._animationStates.length-=f,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;t1?(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,u=0,l=this._animationStates.length;uthis._animationStates[u].layer){h=!0,this._animationStates.splice(u,0,o);break}if(u!==l-1&&o.layer>this._animationStates[u+1].layer){h=!0,this._animationStates.splice(u+1,0,o);break}}h||this._animationStates.push(o)}else this._animationStates.push(o);for(var c=0,_=this._armature.getSlots();c<_.length;c++){var f=_[c].childArmature;null!==f&&f.inheritAnimation&&f.animation.hasAnimation(i)&&null===f.animation.getState(i)&&f.animation.fadeIn(i)}var d=!1;for(var p in n.animationTimelines){this._lockUpdate||(d=!0,this._lockUpdate=!0);var m=this.fadeIn(p,e.fadeInTime,1,o.layer,null,0);null!==m&&(m.resetToPose=!1,m._parent=o,m.stop())}return d&&(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;t0},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){for(var e in this._animationNames.length=0,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){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),console.warn("Deprecated."),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 o=this._animations[t];return o&&i>0&&(this._animationConfig.timeScale=o.duration/i),this.playConfig(this._animationConfig)},i.prototype.gotoAndStop=function(t,e){return void 0===e&&(e=0),console.warn("Deprecated."),this.gotoAndStopByTime(t,e)},Object.defineProperty(i.prototype,"animationList",{get:function(){return console.warn("Deprecated."),this._animationNames},enumerable:!0,configurable:!0}),Object.defineProperty(i.prototype,"animationDataList",{get:function(){console.warn("Deprecated.");for(var t=[],e=0,i=this._animationNames.length;e0;if(this._subFadeState<0){this._subFadeState=0;var r=n?t.EventObject.FADE_OUT:t.EventObject.FADE_IN;this._armature.eventDispatcher.hasDBEventListener(r)&&((i=t.BaseObject.borrowObject(t.EventObject)).type=r,i.armature=this._armature,i.animationState=this,this._armature._dragonBones.bufferEvent(i))}(e<0&&(e=-e),this._fadeTime+=e,this._fadeTime>=this.fadeTotalTime?(this._subFadeState=1,this._fadeProgress=n?0:1):this._fadeTime>0?this._fadeProgress=n?1-this._fadeTime/this.fadeTotalTime:this._fadeTime/this.fadeTotalTime:this._fadeProgress=n?1:0,this._subFadeState>0)&&(n||(this._playheadState|=1,this._fadeState=0),r=n?t.EventObject.FADE_OUT_COMPLETE:t.EventObject.FADE_IN_COMPLETE,this._armature.eventDispatcher.hasDBEventListener(r)&&((i=t.BaseObject.borrowObject(t.EventObject)).type=r,i.armature=this._armature,i.animationState=this,this._armature._dragonBones.bufferEvent(i)))},r.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;r0,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 u=0,l=this._boneTimelines.length;u0&&(this._subFadeState=0,this._poseTimelines.length>0)){for(var f=0,d=this._poseTimelines;f0&&this.autoFadeOutTime>=0&&this.fadeOut(this.autoFadeOutTime)}}},r.prototype.play=function(){this._playheadState=3},r.prototype.stop=function(){this._playheadState&=1},r.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;i1e-6?t/this._fadeProgress:0,this._fadeTime=this.fadeTotalTime*(1-this._fadeProgress)},r.prototype.containsBoneMask=function(t){return 0===this._boneMask.length||this._boneMask.indexOf(t)>=0},r.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=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=0&&n.contains(o)&&this._boneMask.splice(h,1)}else for(var u=0,l=r;u0},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"isFadeComplete",{get:function(){return 0===this._fadeState},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"isPlaying",{get:function(){return 0!=(2&this._playheadState)&&this._actionTimeline.playState<=0},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"isCompleted",{get:function(){return this._actionTimeline.playState>0},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"currentPlayTimes",{get:function(){return this._actionTimeline.currentPlayTimes},enumerable:!0,configurable:!0}),Object.defineProperty(r.prototype,"totalTime",{get:function(){return this._duration},enumerable:!0,configurable:!0}),Object.defineProperty(r.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._duration0&&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;i0))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,2}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}(C8||(C8={})),function(t){var e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return E8(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 E8(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.currentPlayTimes0?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 E8(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;2===t?(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 r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return E8(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.slot=null},e}(i);t.SlotTimelineState=r;var s=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return E8(e,t),e.prototype._onClear=function(){t.prototype._onClear.call(this),this.constraint=null},e}(i);t.ConstraintTimelineState=s}(C8||(C8={})),function(t){var e=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return E8(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;a0&&s.hasDBEventListener(t.EventObject.COMPLETE)&&((u=t.BaseObject.borrowObject(t.EventObject)).type=t.EventObject.COMPLETE,u.armature=this._armature,u.animationState=this._animationState)),this._frameCount>1){var l=this._timelineData,c=Math.floor(this.currentTime*this._frameRate),_=this._frameIndices[l.frameIndicesOffset+c];if(this._frameIndex!==_){var f=this._frameIndex;if(this._frameIndex=_,null!==this._timelineArray)if(this._frameOffset=this._animationData.frameOffset+this._timelineArray[l.offset+5+this._frameIndex],o){if(f<0){var d=Math.floor(r*this._frameRate);f=this._frameIndices[l.frameIndicesOffset+d],this.currentPlayTimes===n&&f===_&&(f=-1)}for(;f>=0;){var p=this._animationData.frameOffset+this._timelineArray[l.offset+5+f],m=this._frameArray[p]/this._frameRate;if(this._position<=m&&m<=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 for(f<0&&(d=Math.floor(r*this._frameRate),f=this._frameIndices[l.frameIndicesOffset+d],p=this._animationData.frameOffset+this._timelineArray[l.offset+5+f],m=this._frameArray[p]/this._frameRate,this.currentPlayTimes===n&&(r<=m?f>0?f--:f=this._frameCount-1:f===_&&(f=-1)));f>=0&&(f=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 E8(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 r=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return E8(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=r;var s=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return E8(i,e),i.toString=function(){return"[class dragonBones.BoneRotateTimelineState]"},i.prototype._onArriveAtFrame=function(){if(e.prototype._onArriveAtFrame.call(this),null!==this._timelineData){var i=this._animationData.frameFloatOffset+this._frameValueOffset+2*this._frameIndex,n=this._frameFloatArray,r=this.bonePose.current,s=this.bonePose.delta;r.rotation=n[i++],r.skew=n[i++],2===this._tweenState?(this._frameIndex===this._frameCount-1?(i=this._animationData.frameFloatOffset+this._frameValueOffset,s.rotation=t.Transform.normalizeRadian(n[i++]-r.rotation)):s.rotation=n[i++]-r.rotation,s.skew=n[i++]-r.skew):(s.rotation=0,s.skew=0)}else r=this.bonePose.current,s=this.bonePose.delta,r.rotation=0,r.skew=0,s.rotation=0,s.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=s;var a=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return E8(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=a;var o=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[],e._delta=[],e._result=[],e}return E8(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=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=h;var u=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 E8(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=u;var l=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._current=[],e._delta=[],e._result=[],e}return E8(e,t),e.toString=function(){return"[class dragonBones.DeformTimelineState]"},e.prototype._onClear=function(){t.prototype._onClear.call(this),this.vertexOffset=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=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;2===t?(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=_}(C8||(C8={})),function(t){var e=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return E8(e,t),e.actionDataToInstance=function(t,i,n){0===t.type?i.type=e.FRAME_EVENT:i.type=10===t.type?e.FRAME_EVENT:e.SOUND_EVENT,i.name=t.name,i.armature=n,i.actionData=t,i.data=t.data,null!==t.bone&&(i.bone=n.getBone(t.bone.name)),null!==t.slot&&(i.slot=n.getSlot(t.slot.name))},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.actionData=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}(C8||(C8={})),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;case"path":return 4;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._getPositionMode=function(t){switch(t.toLocaleLowerCase()){case"percent":return 1;case"fixed":return 0;default:return 1}},e._getSpacingMode=function(t){switch(t.toLocaleLowerCase()){case"length":return 0;case"percent":return 2;case"fixed":return 1;default:return 0}},e._getRotateMode=function(t){switch(t.toLocaleLowerCase()){case"tangent":return 0;case"chain":return 1;case"chainscale":return 2;default:return 0}},e.parseDragonBonesData=function(e){return console.warn("Deprecated."),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("已废弃");for(var r={},s=i[e.SUB_TEXTURE],a=0,o=s.length;a255)return encodeURI(r);return r}return String(r)}return n},n.prototype._getCurvePoint=function(t,e,i,n,r,s,a,o,h,u){var l=1-h,c=l*l,_=h*h,f=l*c,d=3*h*c,p=3*l*_,m=h*_;u.x=f*t+d*i+p*r+m*a,u.y=f*e+d*n+p*s+m*o},n.prototype._samplingEasingCurve=function(t,e){for(var i=t.length,n=-2,r=0,s=e.length;r=0&&n+61e-4;){var y=.5*(g+m);this._getCurvePoint(h,u,l,c,_,f,d,p,y,this._helpPoint),a-this._helpPoint.x>0?m=y:g=y}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),u=0,l=null,c=0,_=h;c<_.length;c++){var f=_[c];this._armature.addAction(f,!1)}0===this._actionFrames.length&&((l=new i).frameStart=0,this._actionFrames.push(l),l=null);for(var d=0,p=this._actionFrames;dn)break;u++}null===l&&((l=new i).frameStart=n,this._actionFrames.splice(u+1,0,l));for(var g=0;g0){var f=r.getBone(c);null!==f?_.parent=f:(c in this._cacheBones||(this._cacheBones[c]=[]),this._cacheBones[c].push(_))}if(_.name in this._cacheBones){for(var d=0,p=this._cacheBones[_.name];d0&&null!==i.parent?(s.root=i.parent,s.bone=i):(s.root=i,s.bone=null),s},n.prototype._parsePathConstraint=function(e){var i=this._armature.getSlot(n._getString(e,t.DataParser.TARGET,""));if(null===i)return null;var r=this._armature.defaultSkin;if(null===r)return null;var s=r.getDisplay(i.name,n._getString(e,t.DataParser.TARGET_DISPLAY,i.name));if(null===s||!(s instanceof t.PathDisplayData))return null;var a=e[t.DataParser.BONES];if(null===a||0===a.length)return null;var o=t.BaseObject.borrowObject(t.PathConstraintData);o.name=n._getString(e,t.DataParser.NAME,""),o.type=1,o.pathSlot=i,o.pathDisplayData=s,o.target=i.parent,o.positionMode=t.DataParser._getPositionMode(n._getString(e,t.DataParser.POSITION_MODE,"")),o.spacingMode=t.DataParser._getSpacingMode(n._getString(e,t.DataParser.SPACING_MODE,"")),o.rotateMode=t.DataParser._getRotateMode(n._getString(e,t.DataParser.ROTATE_MODE,"")),o.position=n._getNumber(e,t.DataParser.POSITION,0),o.spacing=n._getNumber(e,t.DataParser.SPACING,0),o.rotateOffset=n._getNumber(e,t.DataParser.ROTATE_OFFSET,0),o.rotateMix=n._getNumber(e,t.DataParser.ROTATE_MIX,1),o.translateMix=n._getNumber(e,t.DataParser.TRANSLATE_MIX,1);for(var h=0,u=a;h0?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 u=0,l=this._parseActionData(e[t.DataParser.ACTIONS],0,null,null);u0?r:i,p.vertices.data=this._data,t.DataParser.SHARE in e?(this._cacheRawMeshes.push(e),this._cacheMeshes.push(p)):this._parseMesh(e,p),t.DataParser.GLUE_WEIGHTS in e&&t.DataParser.GLUE_MESHES in e&&(this._cacheRawMeshes.push(e),this._cacheMeshes.push(p));break;case 3:var m=this._parseBoundingBox(e);if(null!==m){var g=a=t.BaseObject.borrowObject(t.BoundingBoxDisplayData);g.name=i,g.path=r.length>0?r:i,g.boundingBox=m}break;case 4:var y=e[t.DataParser.LENGTHS],v=a=t.BaseObject.borrowObject(t.PathDisplayData);v.closed=n._getBoolean(e,t.DataParser.CLOSED,!1),v.constantSpeed=n._getBoolean(e,t.DataParser.CONSTANT_SPEED,!1),v.name=i,v.path=r.length>0?r:i,v.vertices.data=this._data,v.curveLengths.length=y.length;for(var S=0,T=y.length;Si.width&&(i.width=h),ui.height&&(i.height=u))}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;a0&&(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,u,l){if(null!==e&&s.length>0&&s in e&&(r=e[s]),null===r)return null;var c=r.length;if(0===c)return null;var _=this._frameIntArray.length,f=this._frameFloatArray.length,d=t.BaseObject.borrowObject(t.TimelineData),p=this._timelineArray.length;if(this._timelineArray.length+=5+c,null!==e?(this._timelineArray[p+0]=Math.round(100*n._getNumber(e,t.DataParser.SCALE,1)),this._timelineArray[p+1]=Math.round(100*n._getNumber(e,t.DataParser.OFFSET,0))):(this._timelineArray[p+0]=100,this._timelineArray[p+1]=0),this._timelineArray[p+2]=c,this._timelineArray[p+3]=u,this._timelineArray[p+4]=o?_-this._animation.frameIntOffset:h?f-this._animation.frameFloatOffset:0,this._timeline=d,d.type=a,d.offset=p,1===c)d.frameIndicesOffset=-1,this._timelineArray[p+5+0]=l.call(this,r[0],0,0)-this._animation.frameOffset;else{var m=this._animation.frameCount+1,g=this._data.frameIndices,y=0;t.DragonBones.webAssembly?(y=g.size(),g.resize(y+m,0)):(y=g.length,g.length+=m),d.frameIndicesOffset=y;for(var v=0,S=0,T=0,A=0;v0)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;o0){for(var a=this._armature.sortedSlots.length,o=new Array(a-s.length/2),h=new Array(a),u=0;u0?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),u=this._surface.vertices.length/2,l=0,c=0;this._frameFloatArray.length+=2*u;for(var _=0;_<2*u;_+=2)l=_=o.length?0:o[_-h],c=_+1=o.length?0:o[_+1-h],this._frameFloatArray[s+_]=l,this._frameFloatArray[s+_+1]=c;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),u=this._intArray[this._mesh.vertices.offset+0],l=this._mesh.parent.name+"_"+this._slot.name+"_"+this._mesh.name,c=this._mesh.vertices.weight,_=0,f=0,d=0,p=0;if(null!==c){var m=this._weightSlotPose[l];this._helpMatrixA.copyFromArray(m,0),this._frameFloatArray.length+=2*c.count,d=c.offset+2+c.bones.length}else this._frameFloatArray.length+=2*u;for(var g=0;g<2*u;g+=2)if(null===o?(_=0,f=0):(_=g=o.length?0:o[g-h],f=g+1=o.length?0:o[g+1-h]),null!==c){var y=this._weightBonePoses[l],v=this._intArray[d++];this._helpMatrixA.transformPoint(_,f,this._helpPoint,!0),_=this._helpPoint.x,f=this._helpPoint.y;for(var S=0;S=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];o0&&(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;o0&&_>0&&(l.frame=t.TextureData.createRectangle(),l.frame.x=n._getNumber(u,t.DataParser.FRAME_X,0),l.frame.y=n._getNumber(u,t.DataParser.FRAME_Y,0),l.frame.width=c,l.frame.height=_),i.addTexture(l)}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(){this.frameStart=0,this.actions=[]};t.ActionFrame=i}(C8||(C8={})),function(t){var e=function(e){function i(){return null!==e&&e.apply(this,arguments)||this}return E8(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 u=r,l=o;r=0,s=0,a=0,o=0,e=this._inRange(u,l,1114111)&&!this._inRange(u,55296,57343)?u: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;e255)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 u=0,l=0,c=0,_=0;u=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;o0&&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;n0&&(o.texture=this._getTextureData(e.textureAtlasName,i.path)),null===o.texture&&(o.texture=this._getTextureData(s,i.path)),a=null!==n&&2===n.type&&this._isSupportMesh()?r.meshDisplay:r.rawDisplay;break;case 2:var h=i;null!==e&&e.textureAtlasName.length>0&&(h.texture=this._getTextureData(e.textureAtlasName,h.path)),null===h.texture&&(h.texture=this._getTextureData(s,h.path)),a=this._isSupportMesh()?r.meshDisplay:r.rawDisplay;break;case 1:var u=i,l=this._buildChildArmature(e,r,i);if(null!==l){if(l.inheritAnimation=u.inheritAnimation,!l.inheritAnimation){var c=u.actions.length>0?u.actions:l.armatureData.defaultActions;if(c.length>0)for(var _=0,f=c;_=0)){var l=i.getDisplays(u.name);if(l||(null!==a&&i!==a&&(l=a.getDisplays(u.name)),l)){var c=t.DragonBones.webAssembly?l.size():l.length,_=u.displayList;_.length=c;for(var f=0,d=c;f0&&n.inheritDeform,a=this._localVertices;if(r){var o=n.data,h=o.intArray,u=o.floatArray,l=h[n.offset+r7.MeshVertexCount],c=h[r.offset+r7.WeigthFloatOffset];c<0&&(c+=65536);for(var _=0,f=r.offset+r7.WeigthBoneIndices+i.length,d=c,p=0,m=0;_=0;o--)if(s>=e[o]._zOrder){e.splice(o+1,0,r),a=!0;break}a||e.unshift(r)}this._slots=e},i._buildArmature=function(t){var e=G8.borrowObject(T6);e._skinData=t.skin,e._animation=G8.borrowObject(D6),e._animation._armature=e,e._animation.animations=t.armature.animations,e._isChildArmature=!1;var i=new g7;return e.init(t.armature,i,i,this._dragonBones),e},i._buildSlot=function(t,e,i){var n=G8.borrowObject(m7),r=n;return n.init(e,i,r,r),n},i.getDragonBonesDataByUUID=function(t){for(var e in this._dragonBonesDataMap)if(-1!==e.indexOf(t))return this._dragonBonesDataMap[e];return null},i.removeDragonBonesDataByUUID=function(t,e){for(var i in void 0===e&&(e=!0),this._dragonBonesDataMap)-1!==i.indexOf(t)&&(e&&this._dragonBones.bufferObject(this._dragonBonesDataMap[i]),delete this._dragonBonesDataMap[i])},e}(i7))._factory=null,D8=B8))||D8,v7=1/60,S7=[],T7=[],A7=0,b7=0,E7=0,C7=null,x7=null,w7=0,R7=0,I7=0,D7=0,B7=0,M7=function(){function t(){this.maxVertexCount=0,this.maxIndexCount=0,this._privateMode=!1,this._inited=!1,this._invalid=!0,this._enableCacheAttachedInfo=!1,this.frames=[],this.totalTime=0,this.isCompleted=!1,this._frameIdx=-1,this._armatureInfo=null,this._animationName=null,this._tempSegments=null,this._tempColors=null,this._tempBoneInfos=null}var e=t.prototype;return e.init=function(t,e){this._inited=!0,this._armatureInfo=t,this._animationName=e},e.clear=function(){this._inited=!1;for(var t=0,e=this.frames.length;t0&&(r[D7-1].vfOffset=E7),r.length=D7,s.length=A7;var a=I7-1;if(a>=0)if(R7>0){var o=n[a];o.indexCount=R7,o.vfCount=9*w7,o.vertexCount=w7,n.length=I7}else n.length=I7-1;if(0!==n.length){var h,u=i.vertices,l=E7/5,c=9*l;(!u||u.length>8&255)/255,u[_+7]=(h>>16&255)/255,u[_+8]=(h>>24&255)/255,_+=9;var d=i.indices;(!d||d.lengththis.maxVertexCount?l:this.maxVertexCount,this.maxIndexCount=d.length>this.maxIndexCount?d.length:this.maxIndexCount}},e._traverseArmature=function(t,e){var i,n,r,s,a,o,h,u,l,c=this._tempColors,_=this._tempSegments,f=this._tempBoneInfos,d=t._slots,p=t._bones;if(this._enableCacheAttachedInfo)for(var m=0,g=p.length;m=0&&(R7>0?((l=_[u]).indexCount=R7,l.vertexCount=w7,l.vfCount=9*w7):I7--),_[I7]={tex:h,blendMode:r._blendMode,indexCount:0,vertexCount:0,vfCount:0},I7++,R7=0,w7=0),o=(a.a*e<<24>>>0)+(a.b<<16)+(a.g<<8)+a.r,B7!==o&&(B7=o,D7>0&&(c[D7-1].vfOffset=E7),c[D7++]={r:a.r,g:a.g,b:a.b,a:a.a*e,vfOffset:0}),i=r._localVertices,n=r._indices,s=r._worldMatrix;for(var b=0,E=i.length;b":0},r=i.animations,s=0;for(var a in r)r.hasOwnProperty(a)&&(n[a]=s+1,s++);return ve(n)}return null},i.destroy=function(){return this._clear(),t.prototype.destroy.call(this)},i._clear=function(){this._factory&&(P7.sharedCache.resetArmature(this._uuid),this._factory.removeDragonBonesDataByUUID(this._uuid,!0))},n(e,[{key:"dragonBonesJson",get:function(){return this._dragonBonesJson},set:function(t){this._dragonBonesJson=t,this._dragonBonesJsonData=JSON.parse(t),this.reset()}}]),e}(ld),N8=Us(F8.prototype,"_dragonBonesJson",[z7],(function(){return""})),L8=F8))||L8;v.internal.DragonBonesAsset=H7;var W7,X7=sa,j7=Ia,Y7=(O7=Js("dragonBones.DragonBonesAtlasAsset"),L7=j7(im),O7((N7=function(t){function e(){var e;return(e=t.call(this)||this)._atlasJson=k7&&k7(),e._texture=G7&&G7(),e._atlasJsonData=V7&&V7(),e._factory=null,e._textureAtlasData=U7&&U7(),e._clear(),e}s(e,t);var i=e.prototype;return i.createNode=function(t){var e=new tg(this.name);return e.addComponent("dragonBones.ArmatureDisplay").dragonAtlasAsset=this,t(null,e)},i.init=function(t){this._factory=t,this._atlasJsonData||(this._atlasJsonData=JSON.parse(this.atlasJson));var e=this._atlasJsonData;this._uuid=this._uuid||e.name,this._textureAtlasData?t.addTextureAtlasData(this._textureAtlasData,this._uuid):this._textureAtlasData=t.parseTextureAtlasData(e,this.texture,this._uuid)},i.destroy=function(){return this._clear(),t.prototype.destroy.call(this)},i._clear=function(){this._factory&&(P7.sharedCache.resetArmature(this._uuid),this._factory.removeTextureAtlasData(this._uuid,!0),this._factory.removeDragonBonesDataByUUID(this._uuid,!0)),this._textureAtlasData=null},n(e,[{key:"atlasJson",get:function(){return this._atlasJson},set:function(t){this._atlasJson=t,this._atlasJsonData=JSON.parse(this.atlasJson),this._clear()}},{key:"texture",get:function(){return this._texture},set:function(t){this._texture=t,this._clear()}}]),e}(ld),k7=Us(N7.prototype,"_atlasJson",[X7],(function(){return""})),G7=Us(N7.prototype,"_texture",[X7,L7],(function(){return null})),V7=Us(N7.prototype,"_atlasJsonData",[X7],(function(){return{}})),U7=Us(N7.prototype,"_textureAtlasData",[X7],(function(){return null})),F7=N7))||F7);v.internal.DragonBonesAtlasAsset=Y7;var q7,K7,J7,Z7,Q7,$7,t9,e9,i9,n9,r9,s9,a9,o9,h9,u9,l9,c9,_9,f9,d9,p9,m9,g9,y9,v9,S9,T9,A9,b9,E9,C9,x9,w9,R9=new Mn,I9=Js("dragonBones.AttachUtil")(W7=function(){function t(){this._inited=!1,this._armature=null,this._armatureNode=null,this._armatureDisplay=null}var e=t.prototype;return e.init=function(t){this._inited=!0,this._armature=t._armature,this._armatureNode=t.node,this._armatureDisplay=t},e.reset=function(){this._inited=!1,this._armature=null,this._armatureNode=null,this._armatureDisplay=null},e._syncAttachedNode=function(){if(this._inited){this._armatureNode.worldMatrix;var t=null,e=this._armatureDisplay.isAnimationCached();if(!e||!this._armatureDisplay||(t=this._armatureDisplay._curFrame&&this._armatureDisplay._curFrame.boneInfos))for(var i,n,r,s=this._armatureDisplay.sockets,a=this._armatureDisplay.socketNodes,o=this._armature.getBones(),h=s.length-1;h>=0;h--){var u=s[h],l=u.target;if(l)if(l.isValid){var c=e?t[u.boneIndex]:o[u.boneIndex];c&&(i=l,n=c.globalTransformMatrix,r=void 0,(r=R9).m00=n.a,r.m01=n.b,r.m04=-n.c,r.m05=-n.d,r.m12=n.tx,r.m13=n.ty,i.matrix=R9)}else a.delete(u.path),s.splice(h,1)}}},t}())||W7,D9=function(t){function e(){var e;return(e=t.call(this)||this)._armatures=new Set,e}s(e,t),e.getInstance=function(){return e._instance||(e._instance=new e,dF.registerSystem(e.ID,e._instance,Nu.Priority.HIGH)),e._instance};var i=e.prototype;return i.add=function(t){t&&(this._armatures.has(t)||this._armatures.add(t))},i.remove=function(t){t&&this._armatures.has(t)&&this._armatures.delete(t)},i.postUpdate=function(t){this._armatures&&this._armatures.forEach((function(e){e.updateAnimation(t),e.syncAttachedNode()}))},i.prepareRenderData=function(){this._armatures&&this._armatures.forEach((function(t){t.markForUpdateRenderData()}))},e}(Nu);D9.ID="ARMATURE",D9._instance=void 0,v.internal.ArmatureSystem=D9,function(t){t[t.default=-1]="default"}(E9||(E9={})),Ae(E9),function(t){t[t[""]=0]=""}(C9||(C9={})),Ae(C9),function(t){t[t.REALTIME=0]="REALTIME"}(x9||(x9={})),Ae(C9),function(t){t[t.REALTIME=0]="REALTIME",t[t.SHARED_CACHE=1]="SHARED_CACHE",t[t.PRIVATE_CACHE=2]="PRIVATE_CACHE"}(w9||(w9={})),Ae(w9);var B9=Js,M9=sa,P9=Ia,O9=Da,L9=(q7=B9("dragonBones.ArmatureDisplay.DragonBoneSocket"),K7=P9(tg),q7((Z7=function(t,e){void 0===t&&(t=""),void 0===e&&(e=null),this.path=Q7&&Q7(),this.target=$7&&$7(),this.boneIndex=null,this.path=t,this.target=e},Q7=Us(Z7.prototype,"path",[M9],(function(){return""})),$7=Us(Z7.prototype,"target",[K7,M9],(function(){return null})),J7=Z7))||J7);$t(L9,"dragonBones.ArmatureDisplay.DragonBoneSocket");var F9=(t9=B9("dragonBones.ArmatureDisplay"),e9=P9(H7),i9=P9(Y7),n9=P9(E9),r9=P9(C9),s9=P9([L9]),a9=P9(MT),t9(((b9=function(t){s(i,t);var e=i.prototype;function i(){var e;return(e=t.call(this)||this).playTimes=u9&&u9(),e.premultipliedAlpha=l9&&l9(),e._armature=null,e.attachUtil=void 0,e._defaultArmatureIndexValue=c9&&c9(),e._dragonAsset=_9&&_9(),e._dragonAtlasAsset=f9&&f9(),e._armatureName=d9&&d9(),e._animationName=p9&&p9(),e._animationIndexValue=m9&&m9(),e._preCacheMode=-1,e._cacheMode=w9.REALTIME,e._defaultCacheModeValue=g9&&g9(),e._timeScale=y9&&y9(),e._playTimes=v9&&v9(),e._debugBones=S9&&S9(),e._enableBatch=T9&&T9(),e._debugDraw=null,e._armatureKey="",e._accTime=0,e._playCount=0,e._frameCache=null,e._curFrame=null,e._playing=!1,e._armatureCache=null,e._eventTarget=void 0,e._factory=null,e._displayProxy=null,e._drawIdx=0,e._drawList=new Lu((function(){return{material:null,texture:null,indexOffset:0,indexCount:0}}),1),e.maxVertexCount=0,e.maxIndexCount=0,e._materialCache={},e._enumArmatures=ve({}),e._enumAnimations=ve({}),e._socketNodes=new Map,e._cachedSockets=new Map,e._sockets=A9&&A9(),e._inited=void 0,e._drawInfoList=[],e._cacheModeEnum=void 0,e._eventTarget=new $u,e._inited=!1,e.attachUtil=new I9,e.initFactory(),ui(c(e),"_animationIndex",e._enumAnimations),ui(c(e),"_defaultArmatureIndex",e._enumArmatures),e._useVertexOpacity=!0,e}return e.requestDrawInfo=function(t){return this._drawInfoList[t]||(this._drawInfoList[t]=new Rk),this._drawInfoList[t]},e.initFactory=function(){this._factory=y7.getInstance()},e.onLoad=function(){t.prototype.onLoad.call(this)},e._requestDrawData=function(t,e,i,n){var r=this._drawList.add();return r.material=t,r.texture=e,r.indexOffset=i,r.indexCount=n,r},e.destroyRenderData=function(){this._drawList.reset(),t.prototype.destroyRenderData.call(this)},e.getMaterialTemplate=function(){return null!==this.customMaterial?this.customMaterial:(this.material||this.updateMaterial(),this.material)},e.getMaterialForBlend=function(t,e){var i=t+"/"+e,n=this._materialCache[i];if(n)return n;var r=this.getMaterialTemplate();return(n=new UT({parent:r,subModelIdx:0,owner:this})).recompileShaders({TWO_COLORED:!1,USE_LOCAL:!1}),this._materialCache[i]=n,n.overridePipelineStates({blendState:{targets:[{blendSrc:t,blendDst:e}]}}),n},e._updateBuiltinMaterial=function(){return hT.get("default-spine-material")},e.updateMaterial=function(){var t;t=this._customMaterial?this._customMaterial:this._updateBuiltinMaterial(),this.setSharedMaterial(t,0),this._cleanMaterialCache()},e._render=function(t){var e=0;if(this.renderData&&this._drawList){for(var i=this.renderData,n=i.chunk,r=n.vertexAccessor,s=i.getMeshBuffer(),a=s.indexOffset,o=0;othis.maxVertexCount?e.maxVertexCount:this.maxVertexCount,this.maxIndexCount=e.maxIndexCount>this.maxIndexCount?e.maxIndexCount:this.maxIndexCount,this.renderData.resize(this.maxVertexCount,this.maxIndexCount),(!this.renderData.indices||this.maxIndexCount>this.renderData.indices.length)&&(this.renderData.indices=new Uint16Array(this.maxIndexCount)))),e.isCompleted&&r>=i.length){if(this._playCount++,this.playTimes>0&&this._playCount>=this.playTimes)return this._curFrame=i[i.length-1],this._accTime=0,this._playing=!1,this._playCount=0,this._emitCacheCompleteEvent(),void this.attachUtil._syncAttachedNode();this._accTime=0,r=0,this._emitCacheCompleteEvent()}this._curFrame=i[r],this.attachUtil._syncAttachedNode()}else e.isInvalid()&&(e.updateToFrame(),this._curFrame=i[i.length-1],this.renderData&&(this.renderData.vertexCountthis.maxVertexCount?e.maxVertexCount:this.maxVertexCount,this.maxIndexCount=e.maxIndexCount>this.maxIndexCount?e.maxIndexCount:this.maxIndexCount,this.renderData.resize(this.maxVertexCount,this.maxIndexCount),(!this.renderData.indices||this.maxIndexCount>this.renderData.indices.length)&&(this.renderData.indices=new Uint16Array(this.maxIndexCount))))}}},e.onDestroy=function(){this._materialInstances=this._materialInstances.filter((function(t){return!!t})),this._inited=!1,this._cacheMode===w9.PRIVATE_CACHE?(this._armatureCache.dispose(),this._armatureCache=null,this._armature=null):this._cacheMode===w9.SHARED_CACHE?(this._armatureCache=null,this._armature=null):this._armature&&(this._armature.dispose(),this._armature=null),this._drawList.destroy(),t.prototype.onDestroy.call(this)},e._updateDebugDraw=function(){if(this.debugBones){if(!this._debugDraw){var t=new tg("DEBUG_DRAW_NODE");t.hideFlags|=Xa.Flags.DontSave|Xa.Flags.HideInHierarchy;var e=t.addComponent(YU);e.lineWidth=1,e.strokeColor=new mn(255,0,0,255),this._debugDraw=e}this._debugDraw.node.parent=this.node}else this._debugDraw&&(this._debugDraw.node.parent=null);this.markForUpdateRenderData()},e._updateBatch=function(){this._cleanMaterialCache(),this.markForUpdateRenderData()},e._buildArmature=function(){if(this.dragonAsset&&this.dragonAtlasAsset&&this.armatureName){this._armature&&(this._preCacheMode===w9.PRIVATE_CACHE?this._armatureCache.dispose():this._preCacheMode===w9.REALTIME&&this._armature.dispose(),this._armatureCache=null,this._armature=null,this._displayProxy=null,this._frameCache=null,this._curFrame=null,this._playing=!1,this._preCacheMode=-1),this._cacheMode===w9.SHARED_CACHE?this._armatureCache=P7.sharedCache:this._cacheMode===w9.PRIVATE_CACHE&&(this._armatureCache=new P7,this._armatureCache.enablePrivateMode());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=w9.REALTIME)),this._preCacheMode=this._cacheMode,this._cacheMode===w9.REALTIME){if(this._displayProxy=this._factory.buildArmatureDisplay(this.armatureName,this._armatureKey,"",t),!this._displayProxy)return;this._displayProxy._ccNode=this.node,this._displayProxy._ccComponent=this,this._displayProxy.setEventTarget(this._eventTarget),this._armature=this._displayProxy._armature,this._armature.animation.timeScale=this.timeScale}if(this._cacheMode!==w9.REALTIME&&this.debugBones&&console.warn("Debug bones is invalid in cached mode"),this._armature){var e=this._armature.armatureData.aabb;this.node._uiProps.uiTransformComp.setContentSize(e.width,e.height)}this.attachUtil.init(this),this.animationName&&this.playAnimation(this.animationName,this.playTimes),this._flushAssembler()}},e.querySockets=function(){return this._armature?(0===this._cachedSockets.size&&this._indexBoneSockets(),Array.from(this._cachedSockets.keys()).sort()):[]},e.querySocketPathByName=function(t){for(var e,i=[],n=f(this._cachedSockets.keys());!(e=n()).done;){var r=e.value;r.endsWith(t)&&i.push(r)}return i},e._parseDragonAtlasAsset=function(){this.dragonAtlasAsset&&this.dragonAtlasAsset.init(this._factory)},e._refresh=function(){this._buildArmature(),this._indexBoneSockets(),this.markForUpdateRenderData()},e._updateCacheModeEnum=function(){this._cacheModeEnum=ve({}),this._armature?Object.assign(this._cacheModeEnum,w9):Object.assign(this._cacheModeEnum,x9),ui(this,"_defaultCacheMode",this._cacheModeEnum)},e._updateAnimEnum=function(){var t;t=this.dragonAsset?this.dragonAsset.getAnimsEnum(this.armatureName):C9,this._enumAnimations=ve({}),Object.assign(this._enumAnimations,t||C9),ve.update(this._enumAnimations),ui(this,"_animationIndex",this._enumAnimations)},e._updateArmatureEnum=function(){var t;t=this.dragonAsset?this.dragonAsset.getArmatureEnum():E9,this._enumArmatures=ve({}),Object.assign(this._enumArmatures,t||E9),ve.update(this._enumArmatures),ui(this,"_defaultArmatureIndex",this._enumArmatures)},e._indexBoneSockets=function(){if(this._armature){this._cachedSockets.clear();var t=this._cachedSockets,e=function t(e,i,n){if(n.has(e))return n.get(e);var r=i[e];if(!r.parent)return n.set(e,r.name),r.path=r.name,r.name;var s=t(r.parent._boneIndex,i,n)+"/"+r.name;return n.set(e,s),r.path=s,s};!function i(n,r){for(var s=r.getBones(),a=new Map,o=0;o0&&this._frameCache.enableCacheAttachedInfo(),this._frameCache.updateToFrame(0),this._playing=!0,this._curFrame=this._frameCache.frames[0])}else if(this._armature)return this._armature.animation.play(t,this.playTimes);return this.markForUpdateRenderData(),null},e.updateAnimationCache=function(t){this.isAnimationCached()&&this._armatureCache.updateAnimationCache(this._armatureKey,t)},e.invalidAnimationCache=function(){this.isAnimationCached()&&this._armatureCache.invalidAnimationCache(this._armatureKey)},e.getArmatureNames=function(){var t=this._factory.getDragonBonesData(this._armatureKey);return t&&t.armatureNames||[]},e.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},e.on=function(t,e,i){this.addEventListener(t,e,i)},e.off=function(t,e,i){this.removeEventListener(t,e,i)},e.once=function(t,e,i){this._eventTarget.once(t,e,i)},e.addEventListener=function(t,e,i){this._eventTarget.on(t,e,i)},e.removeEventListener=function(t,e,i){this._eventTarget.off(t,e,i)},e.buildArmature=function(t,e){return this._factory.createArmatureNode(this,t,e)},e.armature=function(){return this._armature},e._flushAssembler=function(){var t=i.Assembler.getAssembler(this);this._assembler!==t&&(this._assembler=t),this._armature&&this._assembler&&(this._renderData=this._assembler.createData(this),this._renderData&&(this.maxVertexCount=this._renderData.vertexCount,this.maxIndexCount=this._renderData.indexCount),this.markForUpdateRenderData(),this._updateColor())},e._updateSocketBindings=function(){if(this._armature){this._socketNodes.clear();for(var t=0,e=this._sockets.length;t0&&this._frameCache&&this._frameCache.enableCacheAttachedInfo()}},{key:"socketNodes",get:function(){return this._socketNodes}},{key:"drawList",get:function(){return this._drawList}},{key:"customMaterial",get:function(){return this._customMaterial},set:function(t){this._customMaterial=t,this.updateMaterial(),this.markForUpdateRenderData()}}]),i}(bG)).AnimationCacheMode=w9,p((h9=b9).prototype,"dragonAsset",[e9],Object.getOwnPropertyDescriptor(h9.prototype,"dragonAsset"),h9.prototype),p(h9.prototype,"dragonAtlasAsset",[i9],Object.getOwnPropertyDescriptor(h9.prototype,"dragonAtlasAsset"),h9.prototype),p(h9.prototype,"_defaultArmatureIndex",[n9],Object.getOwnPropertyDescriptor(h9.prototype,"_defaultArmatureIndex"),h9.prototype),p(h9.prototype,"_animationIndex",[r9],Object.getOwnPropertyDescriptor(h9.prototype,"_animationIndex"),h9.prototype),p(h9.prototype,"timeScale",[M9],Object.getOwnPropertyDescriptor(h9.prototype,"timeScale"),h9.prototype),u9=Us(h9.prototype,"playTimes",[M9],(function(){return-1})),l9=Us(h9.prototype,"premultipliedAlpha",[M9],(function(){return!1})),p(h9.prototype,"sockets",[s9],Object.getOwnPropertyDescriptor(h9.prototype,"sockets"),h9.prototype),c9=Us(h9.prototype,"_defaultArmatureIndexValue",[M9],(function(){return E9.default})),_9=Us(h9.prototype,"_dragonAsset",[M9],(function(){return null})),f9=Us(h9.prototype,"_dragonAtlasAsset",[M9],(function(){return null})),d9=Us(h9.prototype,"_armatureName",[M9],(function(){return""})),p9=Us(h9.prototype,"_animationName",[M9],(function(){return""})),m9=Us(h9.prototype,"_animationIndexValue",[M9],(function(){return 0})),g9=Us(h9.prototype,"_defaultCacheModeValue",[M9],(function(){return w9.REALTIME})),y9=Us(h9.prototype,"_timeScale",[M9],(function(){return 1})),v9=Us(h9.prototype,"_playTimes",[M9],(function(){return-1})),S9=Us(h9.prototype,"_debugBones",[M9],(function(){return!1})),T9=Us(h9.prototype,"_enableBatch",[M9],(function(){return!1})),A9=Us(h9.prototype,"_sockets",[M9],(function(){return[]})),p(h9.prototype,"customMaterial",[O9,a9],Object.getOwnPropertyDescriptor(h9.prototype,"customMaterial"),h9.prototype),o9=h9))||o9);v.internal.ArmatureDisplay=F9;var N9,k9,G9,V9,U9,z9,H9,W9,X9,j9,Y9,q9=new mn(255,0,0,255),K9=new mn(0,0,255,255),J9=new mn(0,255,0,255),Z9=0,Q9=0,$9=0,ttt=0,ett=0,itt=0,ntt=0,rtt=0,stt=0,att=new Float32Array(4),ott=new un(0,0,0),htt=new Mn,utt=null,ltt=null;function ctt(t,e){if(!t)return null;var i,n;switch(e){case 1:i=U9?lc.ONE:lc.SRC_ALPHA,n=lc.ONE;break;case 10:i=lc.DST_COLOR,n=lc.ONE_MINUS_SRC_ALPHA;break;case 12:i=lc.ONE,n=lc.ONE_MINUS_SRC_COLOR;break;case 0:default:i=U9?lc.ONE:lc.SRC_ALPHA,n=lc.ONE_MINUS_SRC_ALPHA}return j9.getMaterialForBlend(i,n)}function _tt(t,e){var i=t.a*e*V9,n=U9?i/255:1,r=t.r*N9*n/255,s=t.g*k9*n/255,a=t.b*G9*n/255;att[0]=r,att[1]=s,att[2]=a,att[3]=U9?1:i/255}var ftt=null,dtt={accessor:ftt,vCount:32767,ensureAccessor:function(){if(!ftt){var t=dF.root.device,e=dF.root.batcher2D,i=ck;this.accessor=ftt=new Ck(t,i,this.vCount),e.registerBufferAccessor(Number.parseInt("DRAGONBONES",36),ftt)}return this.accessor},createData:function(t){var e=t.renderData;if(!e){this.ensureAccessor();for(var i=t._armature._slots,n=0,r=0,s=0;s0&&(j9._requestDrawData(utt,ltt,stt,S),stt=itt),utt=n,ltt=v.tex}Q9=v.vertexCount,ett=v.indexCount,a=d.chunk.vertexOffset;for(var T=itt,A=itt+ett;T=f&&(_tt(_=c[l++],1),f=_.vfOffset),p.set(att,R+5);o+=u,$9+=Q9,itt+=ett,Q9=0,ett=0}}var D=itt-stt;ltt&&D>0&&j9._requestDrawData(utt,ltt,stt,D)}}}(t._curFrame,n);else{ptt(e,1,n);var r=t._debugDraw;if(t.debugBones&&r){r.clear(),r.lineWidth=5,r.strokeColor=q9,r.fillColor=K9;for(var s=e.getBones(),a=0,o=s.length;a0&&(j9._requestDrawData(utt,ltt,stt,d),stt=itt),ltt=f,utt=r}_tt(o,e),htt.set(h._worldMatrix),s=h._localVertices,Q9=s.length/4,Z9=9*Q9,a=h._indices,ett=a.length;var p=!1;if($9+Q9>ntt&&(ntt=$9+Q9,p=!0),itt+ett>rtt&&(rtt=itt+ett,p=!0),p){var m=W9,g=n.chunk.vertexOffset;n.resizeAndCopy(ntt,rtt>n.indexCount?rtt:n.indexCount),X9=n.chunk.vb,rtt>W9.length&&(W9=n.indices=new Uint16Array(rtt));for(var y=n.chunk.vertexOffset-g,v=0;v0&&(j9._requestDrawData(utt,ltt,stt,u),stt=itt),j9.maxIndexCountr._maxVertices)J(12008);else{var s=r._vertexCount*(un.length+mn.length);un.toArray(r._vertices,t,s),s+=un.length,mn.toArray(r._vertices,i,s),s+=mn.length,un.toArray(r._vertices,e,s),s+=un.length,mn.toArray(r._vertices,i,s),r._vertexCount+=2}},e.addLine=function(t,e,i,n){void 0===n&&(n=!0);var r=this._buffers.lines[n?1:0];if(r._vertexCount+2>r._maxVertices)J(12008);else{var s=r._vertexCount*(un.length+mn.length);un.toArray(r._vertices,t,s),s+=un.length,mn.toArray(r._vertices,i,s),s+=mn.length,un.toArray(r._vertices,e,s),s+=un.length,mn.toArray(r._vertices,i,s),r._vertexCount+=2}},e.addTriangle=function(t,e,i,n,r,s,a){if(void 0===r&&(r=!0),void 0===s&&(s=!0),void 0===a&&(a=!1),r)return this.addLine(t,e,n,s),this.addLine(e,i,n,s),void this.addLine(i,t,n,s);var o=this._buffers.triangles[s?1:0];if(o._vertexCount+3>o._maxVertices)J(12009);else{var h=new rn(rn.ZERO);if(!a){var u=new un(e.x-t.x,e.y-t.y,e.z-t.z),l=new un(i.x-t.x,i.y-t.y,i.z-t.z),c=new un;un.normalize(c,un.cross(c,u,l)),h.set(c.x,c.y,c.z,1)}var _=o._vertexCount*(un.length+rn.length+mn.length);un.toArray(o._vertices,t,_),_+=un.length,rn.toArray(o._vertices,h,_),_+=rn.length,mn.toArray(o._vertices,n,_),_+=mn.length,un.toArray(o._vertices,e,_),_+=un.length,rn.toArray(o._vertices,h,_),_+=rn.length,mn.toArray(o._vertices,n,_),_+=mn.length,un.toArray(o._vertices,i,_),_+=un.length,rn.toArray(o._vertices,h,_),_+=rn.length,mn.toArray(o._vertices,n,_),o._vertexCount+=3}},e.addQuad=function(t,e,i,n,r,s,a,o){void 0===s&&(s=!0),void 0===a&&(a=!0),void 0===o&&(o=!1),s?(this.addLine(t,e,r,a),this.addLine(e,i,r,a),this.addLine(i,n,r,a),this.addLine(n,t,r,a)):(this.addTriangle(t,e,i,r,s,a,o),this.addTriangle(t,i,n,r,s,a,o))},e.addBoundingBox=function(t,e,i,n,r,s,a){void 0===i&&(i=!0),void 0===n&&(n=!0),void 0===r&&(r=!1),void 0===s&&(s=!1),void 0===a&&(a=new Mn),Ttt.set(t.center.x-t.halfExtents.x,t.center.y-t.halfExtents.y,t.center.z-t.halfExtents.z),Att.set(t.center.x+t.halfExtents.x,t.center.y+t.halfExtents.y,t.center.z+t.halfExtents.z),btt.set(Ttt.x,Ttt.y,Ttt.z),Ett.set(Att.x,Ttt.y,Ttt.z),Ctt.set(Ttt.x,Att.y,Ttt.z),xtt.set(Att.x,Att.y,Ttt.z),wtt.set(Ttt.x,Ttt.y,Att.z),Rtt.set(Att.x,Ttt.y,Att.z),Itt.set(Ttt.x,Att.y,Att.z),Dtt.set(Att.x,Att.y,Att.z),s&&(un.transformMat4(btt,btt,a),un.transformMat4(Ett,Ett,a),un.transformMat4(Ctt,Ctt,a),un.transformMat4(xtt,xtt,a),un.transformMat4(wtt,wtt,a),un.transformMat4(Rtt,Rtt,a),un.transformMat4(Itt,Itt,a),un.transformMat4(Dtt,Dtt,a)),i?(this.addLine(Itt,Dtt,e,n),this.addLine(Dtt,xtt,e,n),this.addLine(xtt,Ctt,e,n),this.addLine(Ctt,Itt,e,n),this.addLine(wtt,Rtt,e,n),this.addLine(Rtt,Ett,e,n),this.addLine(Ett,btt,e,n),this.addLine(btt,wtt,e,n),this.addLine(Itt,wtt,e,n),this.addLine(Dtt,Rtt,e,n),this.addLine(xtt,Ett,e,n),this.addLine(Ctt,btt,e,n)):(this.addQuad(wtt,Rtt,Dtt,Itt,e,i,n,r),this.addQuad(Rtt,Ett,xtt,Dtt,e,i,n,r),this.addQuad(Ett,btt,Ctt,xtt,e,i,n,r),this.addQuad(btt,wtt,Itt,Ctt,e,i,n,r),this.addQuad(Itt,Dtt,xtt,Ctt,e,i,n,r),this.addQuad(btt,Ett,Rtt,wtt,e,i,n,r))},e.addCross=function(t,e,i,n){void 0===n&&(n=!0);var r=.5*e,s=new un(t.x-r,t.y,t.z),a=new un(t.x+r,t.y,t.z);this.addLine(s,a,i,n),s.set(t.x,t.y-r,t.z),a.set(t.x,t.y+r,t.z),this.addLine(s,a,i,n),s.set(t.x,t.y,t.z-r),a.set(t.x,t.y,t.z+r),this.addLine(s,a,i,n)},e.addFrustum=function(t,e,i){void 0===i&&(i=!0);var n=t.vertices;this.addLine(n[0],n[1],e,i),this.addLine(n[1],n[2],e,i),this.addLine(n[2],n[3],e,i),this.addLine(n[3],n[0],e,i),this.addLine(n[4],n[5],e,i),this.addLine(n[5],n[6],e,i),this.addLine(n[6],n[7],e,i),this.addLine(n[7],n[4],e,i),this.addLine(n[0],n[4],e,i),this.addLine(n[1],n[5],e,i),this.addLine(n[2],n[6],e,i),this.addLine(n[3],n[7],e,i)},e.addCapsule=function(t,e,i,n,r,s,a,o,h,u,l){void 0===r&&(r=32),void 0===s&&(s=8),void 0===a&&(a=!0),void 0===o&&(o=!0),void 0===h&&(h=!1),void 0===u&&(u=!1),void 0===l&&(l=new Mn);for(var c=2*Math.PI/r,_=Math.PI/2/s,f=new un(t.x,t.y-i/2,t.z),d=new un(t.x,t.y+i/2,t.z),p=new Array,m=new Array,g=0;g0&&4294967295===i)for(var u=new mn(255-e.r,255-e.g,255-e.b,e.a),l=t.getKnotCount(),c=t.knots,_=0;_0&&(t.extensions.useVAO&&n.glVAO&&(t.extensions.OES_vertex_array_object.bindVertexArrayOES(null),n.glVAO=null),uet.gpuInputAssembler=null,t.stateCache.glArrayBuffer!==e.glBuffer&&(i.bindBuffer(i.ARRAY_BUFFER,e.glBuffer),t.stateCache.glArrayBuffer=e.glBuffer),i.bufferData(i.ARRAY_BUFFER,e.size,r),i.bindBuffer(i.ARRAY_BUFFER,null),t.stateCache.glArrayBuffer=null))}else if(e.usage&Jl.INDEX){e.glTarget=i.ELEMENT_ARRAY_BUFFER;var a=i.createBuffer();a&&(e.glBuffer=a,e.size>0&&(t.extensions.useVAO&&n.glVAO&&(t.extensions.OES_vertex_array_object.bindVertexArrayOES(null),n.glVAO=null),uet.gpuInputAssembler=null,t.stateCache.glElementArrayBuffer!==e.glBuffer&&(i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,e.glBuffer),t.stateCache.glElementArrayBuffer=e.glBuffer),i.bufferData(i.ELEMENT_ARRAY_BUFFER,e.size,r),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,null),t.stateCache.glElementArrayBuffer=null))}else e.usage&Jl.UNIFORM?(e.glTarget=i.NONE,e.buffer&&(e.vf32=new Float32Array(e.buffer.buffer))):(e.usage&Jl.INDIRECT||e.usage&Jl.TRANSFER_DST||e.usage&Jl.TRANSFER_SRC||U("Unsupported BufferType, create buffer failed."),e.glTarget=i.NONE)}function net(t,e){var i=t.gl,n=t.stateCache;if(e.glBuffer){switch(e.glTarget){case i.ARRAY_BUFFER:t.extensions.useVAO&&n.glVAO&&(t.extensions.OES_vertex_array_object.bindVertexArrayOES(null),t.stateCache.glVAO=null),uet.gpuInputAssembler=null,i.bindBuffer(i.ARRAY_BUFFER,null),t.stateCache.glArrayBuffer=null;break;case i.ELEMENT_ARRAY_BUFFER:t.extensions.useVAO&&n.glVAO&&(t.extensions.OES_vertex_array_object.bindVertexArrayOES(null),t.stateCache.glVAO=null),uet.gpuInputAssembler=null,i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,null),t.stateCache.glElementArrayBuffer=null}i.deleteBuffer(e.glBuffer),e.glBuffer=null}}function ret(t,e,i,n,r){if(e.usage&Jl.UNIFORM)ArrayBuffer.isView(i)?e.vf32.set(i,n/Float32Array.BYTES_PER_ELEMENT):e.vf32.set(new Float32Array(i),n/Float32Array.BYTES_PER_ELEMENT);else if(e.usage&Jl.INDIRECT){e.indirects.clearDraws();for(var s=i.drawInfos,a=0;a0){e.glBlocks=new Array(e.blocks.length);for(var S=0;S0){e.glSamplerTextures=new Array(e.samplerTextures.length);for(var D=0;D=0&&E.gpuDescriptors[C],w=null,R=0;if(x&&x.gpuBuffer){var I=x.gpuBuffer,D=T[b.set],B=D&&D[b.binding];B>=0&&(R=r[B]),"vf32"in I?w=I.vf32:(R+=I.offset,w=I.gpuBuffer.vf32),R>>=2}if(w)for(var M=b.glActiveUniforms.length,P=0;P=0&&Rt.gpuDescriptors[It],Bt=wt.units.length,Mt=0;Mt0){var Ot=Dt.gpuTexture,Lt=l.glTexUnits[Pt];Lt.glTexture!==Ot.glTexture&&(l.texUnit!==Pt&&(u.activeTexture(u.TEXTURE0+Pt),l.texUnit=Pt),Ot.glTexture?u.bindTexture(Ot.glTarget,Ot.glTexture):u.bindTexture(Ot.glTarget,t.nullTex2D.gpuTexture.glTexture),Lt.glTexture=Ot.glTexture);var Ft=Dt.gpuSampler;Ot.isPowerOf2?(a=Ft.glWrapS,o=Ft.glWrapT):(a=u.CLAMP_TO_EDGE,o=u.CLAMP_TO_EDGE),h=Ot.isPowerOf2?Ot.mipLevel<=1&&(Ft.glMinFilter===u.LINEAR_MIPMAP_NEAREST||Ft.glMinFilter===u.LINEAR_MIPMAP_LINEAR)?u.LINEAR:Ft.glMinFilter:Ft.glMinFilter===u.LINEAR||Ft.glMinFilter===u.LINEAR_MIPMAP_NEAREST||Ft.glMinFilter===u.LINEAR_MIPMAP_LINEAR?u.LINEAR:u.NEAREST,Ot.glWrapS!==a&&(l.texUnit!==Pt&&(u.activeTexture(u.TEXTURE0+Pt),l.texUnit=Pt),u.texParameteri(Ot.glTarget,u.TEXTURE_WRAP_S,a),Ot.glWrapS=a),Ot.glWrapT!==o&&(l.texUnit!==Pt&&(u.activeTexture(u.TEXTURE0+Pt),l.texUnit=Pt),u.texParameteri(Ot.glTarget,u.TEXTURE_WRAP_T,o),Ot.glWrapT=o),Ot.glMinFilter!==h&&(l.texUnit!==Pt&&(u.activeTexture(u.TEXTURE0+Pt),l.texUnit=Pt),u.texParameteri(Ot.glTarget,u.TEXTURE_MIN_FILTER,h),Ot.glMinFilter=h),Ot.glMagFilter!==Ft.glMagFilter&&(l.texUnit!==Pt&&(u.activeTexture(u.TEXTURE0+Pt),l.texUnit=Pt),u.texParameteri(Ot.glTarget,u.TEXTURE_MAG_FILTER,Ft.glMagFilter),Ot.glMagFilter=Ft.glMagFilter)}Dt=Rt.gpuDescriptors[++It]}}}if(i&&c&&(_||uet.gpuInputAssembler!==i)){uet.gpuInputAssembler=i;var Nt=t.extensions.ANGLE_instanced_arrays;if(t.extensions.useVAO){var kt=t.extensions.OES_vertex_array_object,Gt=i.glVAOs.get(c.glProgram);if(!Gt){var Vt;Gt=kt.createVertexArrayOES(),i.glVAOs.set(c.glProgram,Gt),kt.bindVertexArrayOES(Gt),u.bindBuffer(u.ARRAY_BUFFER,null),u.bindBuffer(u.ELEMENT_ARRAY_BUFFER,null),l.glArrayBuffer=null,l.glElementArrayBuffer=null;for(var Ut=c.glInputs.length,zt=0;zt=0&&(u.enableVertexAttribArray(ae),l.glEnabledAttribLocs[ae]=!0),l.glCurrentAttribLocs[ae]=!0,u.vertexAttribPointer(ae,ee.count,ee.glType,ee.isNormalized,ee.stride,oe),Nt&&Nt.vertexAttribDivisorANGLE(ae,ee.isInstanced?1:0)}}}var he=i.gpuIndexBuffer;he&&l.glElementArrayBuffer!==he.glBuffer&&(u.bindBuffer(u.ELEMENT_ARRAY_BUFFER,he.glBuffer),l.glElementArrayBuffer=he.glBuffer);for(var ue=0;ue0){var f=e.firstIndex*h.stride;r.drawElementsInstancedANGLE(o,e.indexCount,a.glIndexType,f,e.instanceCount)}}else e.vertexCount>0&&r.drawArraysInstancedANGLE(o,e.firstVertex,e.vertexCount,e.instanceCount);else if(h){if(e.indexCount>0){var d=e.firstIndex*h.stride;i.drawElements(o,e.indexCount,a.glIndexType,d)}}else e.vertexCount>0&&i.drawArrays(o,e.firstVertex,e.vertexCount)}}var pet=new Array(Htt.COUNT);function met(t,e){pet.fill(0);for(var i=0;i0?m.buffStride:_.width,d.height=m.buffTexHeight>0?m.buffTexHeight:_.height;var y=m.texExtent.width+f.x===i.width>>g?m.texExtent.width:_.width,v=m.texExtent.height+f.y===i.height>>g?m.texExtent.height:_.height,S=void 0,T=e[a++];if(d.width===_.width&&d.height===_.height){var A=H_(i.format,y,v,1)/u.BYTES_PER_ELEMENT;et(Number.isInteger(A),9101),S=new u(T.buffer,T.byteOffset+m.buffOffset,A)}else S=yet(T,i.format,m.buffOffset,d,_);l?i.glInternalFmt===Ott.COMPRESSED_RGB_ETC1_WEBGL||t.extensions.noCompressedTexSubImage2D?r.compressedTexImage2D(r.TEXTURE_2D,g,i.glInternalFmt,y,v,0,S):r.compressedTexSubImage2D(r.TEXTURE_2D,g,f.x,f.y,y,v,i.glFormat,S):r.texSubImage2D(r.TEXTURE_2D,g,f.x,f.y,y,v,i.glFormat,i.glType,S)}break;case r.TEXTURE_CUBE_MAP:for(var b=0;b0?E.buffStride:_.width,d.height=E.buffTexHeight>0?E.buffTexHeight:_.height;var x=E.texExtent.width+f.x===i.width>>C?E.texExtent.width:_.width,w=E.texExtent.height+f.y===i.height>>C?E.texExtent.height:_.height,R=E.texSubres.baseArrayLayer+E.texSubres.layerCount;for(o=E.texSubres.baseArrayLayer;o0,this.instancedDraw=!!e.instanceCount,this.drawCount=Math.max(t+1,this.drawCount),this.drawByIndex?(this.counts[t]=e.indexCount,this.offsets[t]=e.firstIndex):(this.counts[t]=e.vertexCount,this.offsets[t]=e.firstVertex),this.instances[t]=Math.max(1,e.instanceCount)},e._ensureCapacity=function(t){if(!(this._capacity>t)){this._capacity=zi(t);var e=new Int32Array(this._capacity),i=new Int32Array(this._capacity),n=new Int32Array(this._capacity);this.byteOffsets=new Int32Array(this._capacity),e.set(this.counts),i.set(this.offsets),n.set(this.instances),this.counts=e,this.offsets=i,this.instances=n}},t}(),bet=function(){function t(){this._gpuShader=null,this._gpuDescriptorSetLayout=null,this._gpuPipelineLayout=null,this._gpuPipelineState=null,this._gpuVertexBuffer=null,this._gpuInputAssembler=null,this._gpuPointSampler=null,this._gpuLinearSampler=null,this._gpuDescriptorSet=null,this._gpuUniformBuffer=null,this._drawInfo=null,this._glFramebuffer=null,this._uniformBuffer=null;var t=Ftt.instance.gl,e=Ftt.instance.bindingMappingInfo.maxBlockCounts[0];this._gpuShader={name:"Blit Pass",blocks:[new s_(0,0,"BlitParams",[new r_("tilingOffsetSrc",Kl.FLOAT4,1),new r_("tilingOffsetDst",Kl.FLOAT4,1)],1)],samplerTextures:[new a_(0,e,"textureSrc",Kl.SAMPLER2D,1)],subpassInputs:[],gpuStages:[{type:fc.VERTEX,source:"\n precision mediump float;\n\n attribute vec2 a_position;\n attribute vec2 a_texCoord;\n \n uniform vec4 tilingOffsetSrc;\n uniform vec4 tilingOffsetDst;\n \n varying vec2 v_texCoord;\n \n void main() {\n v_texCoord = a_texCoord * tilingOffsetSrc.xy + tilingOffsetSrc.zw;\n gl_Position = vec4((a_position + 1.0) * tilingOffsetDst.xy - 1.0 + tilingOffsetDst.zw * 2.0, 0, 1);\n }",glShader:null},{type:fc.FRAGMENT,source:"\n precision mediump float;\n uniform sampler2D textureSrc;\n\n varying vec2 v_texCoord;\n \n void main() {\n gl_FragColor = texture2D(textureSrc, v_texCoord);\n }",glShader:null}],glProgram:null,glInputs:[],glUniforms:[],glBlocks:[],glSamplerTextures:[]},set(Ftt.instance,this._gpuShader),this._gpuDescriptorSetLayout={bindings:[new C_(0,Cc.UNIFORM_BUFFER,1,fc.VERTEX),new C_(e,Cc.SAMPLER_TEXTURE,1,fc.FRAGMENT)],dynamicBindings:[],descriptorIndices:[],descriptorCount:e+1};for(var i=0;i0&&(this._uniformBuffer=new Uint8Array(this._size)),this._gpuBuffer={usage:this._usage,memUsage:this._memUsage,size:this._size,stride:this._stride,buffer:null,vf32:null,indirects:new Aet,glTarget:0,glBuffer:null},this._usage&Jl.UNIFORM&&(this._gpuBuffer.buffer=this._uniformBuffer),iet(Ftt.instance,this._gpuBuffer),Ftt.instance.memoryStatus.bufferSize+=this._size},i.destroy=function(){this._gpuBuffer&&(net(Ftt.instance,this._gpuBuffer),Ftt.instance.memoryStatus.bufferSize-=this._size,this._gpuBuffer=null),this._gpuBufferView&&(this._gpuBufferView=null)},i.resize=function(t){if(this._isBufferView)console.warn("cannot resize buffer views!");else{var e=this._size;e!==t&&(this._size=t,this._count=this._size/this._stride,this._uniformBuffer&&(this._uniformBuffer=new Uint8Array(t)),this._gpuBuffer&&(this._uniformBuffer&&(this._gpuBuffer.buffer=this._uniformBuffer),this._gpuBuffer.size=t,t>0&&(function(t,e){var i=t.gl,n=t.stateCache,r=e.memUsage&$l.HOST?i.DYNAMIC_DRAW:i.STATIC_DRAW;e.usage&Jl.VERTEX?(t.extensions.useVAO&&n.glVAO&&(t.extensions.OES_vertex_array_object.bindVertexArrayOES(null),n.glVAO=null),uet.gpuInputAssembler=null,t.stateCache.glArrayBuffer!==e.glBuffer&&i.bindBuffer(i.ARRAY_BUFFER,e.glBuffer),e.buffer?i.bufferData(i.ARRAY_BUFFER,e.buffer,r):i.bufferData(i.ARRAY_BUFFER,e.size,r),i.bindBuffer(i.ARRAY_BUFFER,null),t.stateCache.glArrayBuffer=null):e.usage&Jl.INDEX?(t.extensions.useVAO&&n.glVAO&&(t.extensions.OES_vertex_array_object.bindVertexArrayOES(null),n.glVAO=null),uet.gpuInputAssembler=null,t.stateCache.glElementArrayBuffer!==e.glBuffer&&i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,e.glBuffer),e.buffer?i.bufferData(i.ELEMENT_ARRAY_BUFFER,e.buffer,r):i.bufferData(i.ELEMENT_ARRAY_BUFFER,e.size,r),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,null),t.stateCache.glElementArrayBuffer=null):e.usage&Jl.UNIFORM?e.buffer&&(e.vf32=new Float32Array(e.buffer.buffer)):(e.usage&Jl.INDIRECT||e.usage&Jl.TRANSFER_DST||e.usage&Jl.TRANSFER_SRC||U("Unsupported BufferType, create buffer failed."),e.glTarget=i.NONE)}(Ftt.instance,this._gpuBuffer),Ftt.instance.memoryStatus.bufferSize-=e,Ftt.instance.memoryStatus.bufferSize+=t)))}},i.update=function(t,e){var i;this._isBufferView?console.warn("cannot update through buffer views!"):(i=void 0!==e?e:this._usage&Jl.INDIRECT?0:t.byteLength,ret(Ftt.instance,this._gpuBuffer,t,0,i))},n(e,[{key:"gpuBuffer",get:function(){return this._gpuBuffer}},{key:"gpuBufferView",get:function(){return this._gpuBufferView}}]),e}(Z_),Cet=function(){function t(t,e){this._frees=void 0,this._freeIdx=0,this._freeCmds=void 0,this._frees=new Array(e),this._freeCmds=new Fu(e);for(var i=0;i0?this.gpuColorTextures[0].width:this.gpuDepthStencilTexture.width},set width(t){a=t},get height(){return this.isOffscreen?o:this.gpuColorTextures.length>0?this.gpuColorTextures[0].height:this.gpuDepthStencilTexture.height},set height(t){o=t},lodLevel:e},function(t,e){for(var i=0;ii&&(i=s.binding)}this._bindingIndices=Array(i+1).fill(-1);for(var a=this._descriptorIndices=Array(i+1).fill(-1),o=0;ot.capabilities.maxTextureSize&&Q(9100,s,t.capabilities.maxTextureSize),t.textureExclusive[e.format]||t.extensions.WEBGL_depth_texture||!k_[e.format].hasDepth){if(e.glTexture=i.createTexture(),e.size>0){var a=t.stateCache.glTexUnits[t.stateCache.texUnit];if(a.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_2D,e.glTexture),a.glTexture=e.glTexture),k_[e.format].isCompressed)for(var o=0;o>1),r=Math.max(1,r>>1)}else for(var l=0;l>1),r=Math.max(1,r>>1);e.isPowerOf2?(e.glWrapS=i.REPEAT,e.glWrapT=i.REPEAT):(e.glWrapS=i.CLAMP_TO_EDGE,e.glWrapT=i.CLAMP_TO_EDGE),e.glMinFilter=i.LINEAR,e.glMagFilter=i.LINEAR,i.texParameteri(e.glTarget,i.TEXTURE_WRAP_S,e.glWrapS),i.texParameteri(e.glTarget,i.TEXTURE_WRAP_T,e.glWrapT),i.texParameteri(e.glTarget,i.TEXTURE_MIN_FILTER,e.glMinFilter),i.texParameteri(e.glTarget,i.TEXTURE_MAG_FILTER,e.glMagFilter)}}else e.glInternalFmt=function(t,e){switch(t){case Yl.R5G6B5:return e.RGB565;case Yl.RGB5A1:return e.RGB5_A1;case Yl.RGBA4:return e.RGBA4;case Yl.RGBA16F:return Ott.RGBA16F_EXT;case Yl.RGBA32F:return Ott.RGBA32F_EXT;case Yl.SRGB8_A8:return Ott.SRGB8_ALPHA8_EXT;case Yl.DEPTH:return e.DEPTH_COMPONENT16;case Yl.DEPTH_STENCIL:return e.DEPTH_STENCIL;default:return U("Unsupported Format, convert to WebGL internal format failed."),e.RGBA}}(e.format,i),e.glRenderbuffer=i.createRenderbuffer(),e.size>0&&(t.stateCache.glRenderbuffer!==e.glRenderbuffer&&(i.bindRenderbuffer(i.RENDERBUFFER,e.glRenderbuffer),t.stateCache.glRenderbuffer=e.glRenderbuffer),i.renderbufferStorage(i.RENDERBUFFER,e.glInternalFmt,n,r));break;case tc.CUBE:e.glTarget=i.TEXTURE_CUBE_MAP;var c=Math.max(n,r);if(c>t.capabilities.maxCubeMapTextureSize&&Q(9100,c,t.capabilities.maxTextureSize),e.glTexture=i.createTexture(),e.size>0){var _=t.stateCache.glTexUnits[t.stateCache.texUnit];if(_.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_CUBE_MAP,e.glTexture),_.glTexture=e.glTexture),k_[e.format].isCompressed)for(var f=0;f<6;++f){n=e.width,r=e.height;for(var d=0;d>1),r=Math.max(1,r>>1)}}else for(var g=0;g<6;++g){n=e.width,r=e.height;for(var y=0;y>1),r=Math.max(1,r>>1)}e.isPowerOf2?(e.glWrapS=i.REPEAT,e.glWrapT=i.REPEAT):(e.glWrapS=i.CLAMP_TO_EDGE,e.glWrapT=i.CLAMP_TO_EDGE),e.glMinFilter=i.LINEAR,e.glMagFilter=i.LINEAR,i.texParameteri(e.glTarget,i.TEXTURE_WRAP_S,e.glWrapS),i.texParameteri(e.glTarget,i.TEXTURE_WRAP_T,e.glWrapT),i.texParameteri(e.glTarget,i.TEXTURE_MIN_FILTER,e.glMinFilter),i.texParameteri(e.glTarget,i.TEXTURE_MAG_FILTER,e.glMagFilter)}break;default:U("Unsupported TextureType, create texture failed."),e.type=tc.TEX2D,e.glTarget=i.TEXTURE_2D}}(Ftt.instance,this._gpuTexture),Ftt.instance.memoryStatus.textureSize+=this._size),this._viewInfo.texture=this,this._viewInfo.type=t.type,this._viewInfo.format=t.format,this._viewInfo.baseLevel=0,this._viewInfo.levelCount=t.levelCount,this._viewInfo.baseLayer=0,this._viewInfo.layerCount=t.layerCount)},i.destroy=function(){!this._isTextureView&&this._gpuTexture&&(function(t,e){var i=t.gl;if(e.glTexture){var n=t.stateCache.glTexUnits,r=t.stateCache.texUnit;i.deleteTexture(e.glTexture);for(var s=0;s1&&(this._info.levelCount=Math.min(this._info.levelCount,e.getLevelCount(t,i)));var n=this._size;this._info.width=t,this._info.height=i,this._size=W_(this._info.format,this.width,this.height,this.depth,this._info.levelCount)*this._info.layerCount,!this._isTextureView&&this._gpuTexture&&(this._gpuTexture.width=t,this._gpuTexture.height=i,this._gpuTexture.size=this._size,this._gpuTexture.isSwapchainTexture||(function(t,e){if(e.size){var i=t.gl,n=e.width,r=e.height;switch(e.type){case tc.TEX2D:e.glTarget=i.TEXTURE_2D;var s=Math.max(n,r);if(s>t.capabilities.maxTextureSize&&Q(9100,s,t.capabilities.maxTextureSize),e.glRenderbuffer)t.stateCache.glRenderbuffer!==e.glRenderbuffer&&(i.bindRenderbuffer(i.RENDERBUFFER,e.glRenderbuffer),t.stateCache.glRenderbuffer=e.glRenderbuffer),i.renderbufferStorage(i.RENDERBUFFER,e.glInternalFmt,n,r);else if(e.glTexture){var a=t.stateCache.glTexUnits[t.stateCache.texUnit];if(a.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_2D,e.glTexture),a.glTexture=e.glTexture),k_[e.format].isCompressed)for(var o=0;o>1),r=Math.max(1,r>>1)}else for(var l=0;l>1),r=Math.max(1,r>>1)}break;case tc.CUBE:e.glTarget=i.TEXTURE_CUBE_MAP;var c=Math.max(n,r);c>t.capabilities.maxCubeMapTextureSize&&Q(9100,c,t.capabilities.maxTextureSize);var _=t.stateCache.glTexUnits[t.stateCache.texUnit];if(_.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_CUBE_MAP,e.glTexture),_.glTexture=e.glTexture),k_[e.format].isCompressed)for(var f=0;f<6;++f){n=e.width,r=e.height;for(var d=0;d>1),r=Math.max(1,r>>1)}}else for(var g=0;g<6;++g){n=e.width,r=e.height;for(var y=0;y>1),r=Math.max(1,r>>1)}break;default:U("Unsupported TextureType, create texture failed."),e.type=tc.TEX2D,e.glTarget=i.TEXTURE_2D}}}(Ftt.instance,this._gpuTexture),Ftt.instance.memoryStatus.textureSize-=n,Ftt.instance.memoryStatus.textureSize+=this._size))}},i.initAsSwapchainTexture=function(t){var e=new e_;e.format=t.format,e.usage=k_[t.format].hasDepth?ec.DEPTH_STENCIL_ATTACHMENT:ec.COLOR_ATTACHMENT,e.width=t.width,e.height=t.height,this.initialize(e,!0)},n(e,[{key:"gpuTexture",get:function(){return this._gpuTexture}},{key:"lodLevel",get:function(){return this._lodLevel}}]),e}(yf),zet="webglcontextlost";function Het(t,e){for(var i=["","WEBKIT_","MOZ_"],n=0;nt.capabilities.maxTextureSize&&Q(9100,o,t.capabilities.maxTextureSize),e.samples===rc.X1){if(e.glTexture=i.createTexture(),e.size>0){var h=t.stateCache.glTexUnits[t.stateCache.texUnit];if(h.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_2D,e.glTexture),h.glTexture=e.glTexture),k_[e.format].isCompressed)for(var u=0;u>1),r=Math.max(1,r>>1)}else i.texStorage2D(i.TEXTURE_2D,e.mipLevel,e.glInternalFmt,n,r)}}else e.glRenderbuffer=i.createRenderbuffer(),e.size>0&&(t.stateCache.glRenderbuffer!==e.glRenderbuffer&&(i.bindRenderbuffer(i.RENDERBUFFER,e.glRenderbuffer),t.stateCache.glRenderbuffer=e.glRenderbuffer),i.renderbufferStorageMultisample(i.RENDERBUFFER,e.samples,e.glInternalFmt,e.width,e.height));break;case tc.TEX2D_ARRAY:e.glTarget=i.TEXTURE_2D_ARRAY;var _=Math.max(n,r);if(_>t.capabilities.maxTextureSize&&Q(9100,_,t.capabilities.maxTextureSize),a>t.capabilities.maxArrayTextureLayers&&Q(9100,a,t.capabilities.maxArrayTextureLayers),e.glTexture=i.createTexture(),e.size>0){var f=t.stateCache.glTexUnits[t.stateCache.texUnit];if(f.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_2D_ARRAY,e.glTexture),f.glTexture=e.glTexture),k_[e.format].isCompressed)for(var d=0;d>1),r=Math.max(1,r>>1)}else i.texStorage3D(i.TEXTURE_2D_ARRAY,e.mipLevel,e.glInternalFmt,n,r,a)}break;case tc.TEX3D:e.glTarget=i.TEXTURE_3D;var g=Math.max(Math.max(n,r),s);if(g>t.capabilities.max3DTextureSize&&Q(9100,g,t.capabilities.max3DTextureSize),e.glTexture=i.createTexture(),e.size>0){var y=t.stateCache.glTexUnits[t.stateCache.texUnit];if(y.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_3D,e.glTexture),y.glTexture=e.glTexture),k_[e.format].isCompressed)for(var v=0;v>1),r=Math.max(1,r>>1)}else i.texStorage3D(i.TEXTURE_3D,e.mipLevel,e.glInternalFmt,n,r,s)}break;case tc.CUBE:e.glTarget=i.TEXTURE_CUBE_MAP;var A=Math.max(n,r);if(A>t.capabilities.maxCubeMapTextureSize&&Q(9100,A,t.capabilities.maxTextureSize),e.glTexture=i.createTexture(),e.size>0){var b=t.stateCache.glTexUnits[t.stateCache.texUnit];if(b.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_CUBE_MAP,e.glTexture),b.glTexture=e.glTexture),k_[e.format].isCompressed)for(var E=0;E>1),r=Math.max(1,r>>1)}else i.texStorage2D(i.TEXTURE_CUBE_MAP,e.mipLevel,e.glInternalFmt,n,r)}break;default:U("Unsupported TextureType, create texture failed."),e.type=tc.TEX2D,e.glTarget=i.TEXTURE_2D}}function yit(t,e){var i=t.gl;if(e.glTexture){var n=t.stateCache.glTexUnits,r=t.stateCache.texUnit;i.deleteTexture(e.glTexture);for(var s=0;s=0&&T.gpuDescriptors[A];if(b&&b.gpuBuffer){var E=y[S.set],C=E&&E[S.binding],x=b.gpuBuffer.glOffset;C>=0&&(x+=r[C]),o.glBindUBOs[S.glBinding]===b.gpuBuffer.glBuffer&&o.glBindUBOOffsets[S.glBinding]===x||(x?a.bindBufferRange(a.UNIFORM_BUFFER,S.glBinding,b.gpuBuffer.glBuffer,x,b.gpuBuffer.size):a.bindBufferBase(a.UNIFORM_BUFFER,S.glBinding,b.gpuBuffer.glBuffer),o.glUniformBuffer=o.glBindUBOs[S.glBinding]=b.gpuBuffer.glBuffer,o.glBindUBOOffsets[S.glBinding]=x)}}for(var w=h.glSamplerTextures.length,R=0;R=0&&D.gpuDescriptors[B],P=0;P0){L.glTexture!==N.glTexture&&(o.texUnit!==O&&(a.activeTexture(a.TEXTURE0+O),o.texUnit=O),N.glTexture?a.bindTexture(N.glTarget,N.glTexture):a.bindTexture(N.glTarget,t.nullTex2D.gpuTexture.glTexture),L.glTexture=N.glTexture);var V=M.gpuSampler.getGLSampler(t,k,G);o.glSamplerUnits[O]!==V&&(a.bindSampler(O,V),o.glSamplerUnits[O]=V)}M=D.gpuDescriptors[++B]}}}if(i&&h&&(u||vit.gpuInputAssembler!==i))if(vit.gpuInputAssembler=i,t.extensions.useVAO){var U=i.glVAOs.get(h.glProgram);if(!U){var z;U=a.createVertexArray(),i.glVAOs.set(h.glProgram,U),a.bindVertexArray(U),a.bindBuffer(a.ARRAY_BUFFER,null),a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,null),o.glArrayBuffer=null,o.glElementArrayBuffer=null;for(var H=0;H=0&&(a.enableVertexAttribArray(rt),o.glEnabledAttribLocs[rt]=!0),o.glCurrentAttribLocs[rt]=!0,a.vertexAttribPointer(rt,tt.count,tt.glType,tt.isNormalized,tt.stride,st),a.vertexAttribDivisor(rt,tt.isInstanced?1:0)}}}var at=i.gpuIndexBuffer;at&&o.glElementArrayBuffer!==at.glBuffer&&(a.bindBuffer(a.ELEMENT_ARRAY_BUFFER,at.glBuffer),o.glElementArrayBuffer=at.glBuffer);for(var ot=0;ot0){var c=e.firstIndex*a.stride;i.drawElementsInstanced(r,e.indexCount,n.glIndexType,c,e.instanceCount)}}else e.vertexCount>0&&i.drawArraysInstanced(r,e.firstVertex,e.vertexCount,e.instanceCount);else if(a){if(e.indexCount>0){var _=e.firstIndex*a.stride;i.drawElements(r,e.indexCount,n.glIndexType,_)}}else e.vertexCount>0&&i.drawArrays(r,e.firstVertex,e.vertexCount)}}var bit=new Array(nit.COUNT);function Eit(t,e){bit.fill(0);for(var i=0;i0?m.buffStride:_.width,d.height=m.buffTexHeight>0?m.buffTexHeight:_.height;var y=m.texExtent.width+f.x===i.width>>g?m.texExtent.width:_.width,v=m.texExtent.height+f.y===i.height>>g?m.texExtent.height:_.height,S=void 0,T=e[a++];if(d.width===_.width&&d.height===_.height){var A=H_(i.format,y,v,1)/u.BYTES_PER_ELEMENT;et(Number.isInteger(A),9101),S=new u(T.buffer,T.byteOffset+m.buffOffset,A)}else S=xit(T,i.format,m.buffOffset,d,_);l?i.glInternalFmt!==Yet.COMPRESSED_RGB_ETC1_WEBGL?r.compressedTexSubImage2D(r.TEXTURE_2D,g,f.x,f.y,y,v,i.glFormat,S):r.compressedTexImage2D(r.TEXTURE_2D,g,i.glInternalFmt,y,v,0,S):r.texSubImage2D(r.TEXTURE_2D,g,f.x,f.y,y,v,i.glFormat,i.glType,S)}break;case r.TEXTURE_2D_ARRAY:for(var b=0;b0?E.buffStride:_.width,d.height=E.buffTexHeight>0?E.buffTexHeight:_.height;var x=E.texExtent.width+f.x===i.width>>C?E.texExtent.width:_.width,w=E.texExtent.height+f.y===i.height>>C?E.texExtent.height:_.height,R=E.texSubres.baseArrayLayer+E.texSubres.layerCount;for(o=E.texSubres.baseArrayLayer;o0?P.buffStride:_.width,d.height=P.buffTexHeight>0?P.buffTexHeight:_.height;var L=P.texExtent.width+f.x===i.width>>O?P.texExtent.width:_.width,F=P.texExtent.height+f.y===i.height>>O?P.texExtent.height:_.height,N=void 0,k=e[a++];if(d.width===_.width&&d.height===_.height){var G=H_(i.format,L,F,_.depth)/u.BYTES_PER_ELEMENT;et(Number.isInteger(G),9101),N=new u(k.buffer,k.byteOffset+P.buffOffset,G)}else N=xit(k,i.format,P.buffOffset,d,_);l?i.glInternalFmt!==Yet.COMPRESSED_RGB_ETC1_WEBGL?r.compressedTexSubImage3D(r.TEXTURE_2D_ARRAY,O,f.x,f.y,f.z,L,F,_.depth,i.glFormat,N):r.compressedTexImage3D(r.TEXTURE_2D_ARRAY,O,i.glInternalFmt,L,F,_.depth,0,N):r.texSubImage3D(r.TEXTURE_2D_ARRAY,O,f.x,f.y,f.z,L,F,_.depth,i.glFormat,i.glType,N)}break;case r.TEXTURE_CUBE_MAP:for(var V=0;V0?z.buffStride:_.width,d.height=z.buffTexHeight>0?z.buffTexHeight:_.height;var W=z.texExtent.width+f.x===i.width>>H?z.texExtent.width:_.width,X=z.texExtent.height+f.y===i.height>>H?z.texExtent.height:_.height,j=z.texSubres.baseArrayLayer+z.texSubres.layerCount;for(o=z.texSubres.baseArrayLayer;o0,this.instancedDraw=!!e.instanceCount,this.drawCount=Math.max(t+1,this.drawCount),this.drawByIndex?(this.counts[t]=e.indexCount,this.offsets[t]=e.firstIndex):(this.counts[t]=e.vertexCount,this.offsets[t]=e.firstVertex),this.instances[t]=Math.max(1,e.instanceCount)},e._ensureCapacity=function(t){if(!(this._capacity>t)){this._capacity=zi(t);var e=new Int32Array(this._capacity),i=new Int32Array(this._capacity),n=new Int32Array(this._capacity);this.byteOffsets=new Int32Array(this._capacity),e.set(this.counts),i.set(this.offsets),n.set(this.instances),this.counts=e,this.offsets=i,this.instances=n}},t}(),Dit=function(){function t(){this._srcFramebuffer=void 0,this._dstFramebuffer=void 0;var t=Ket.instance.gl;this._srcFramebuffer=t.createFramebuffer(),this._dstFramebuffer=t.createFramebuffer()}return t.prototype.destroy=function(){var t=Ket.instance.gl;t.deleteFramebuffer(this._srcFramebuffer),t.deleteFramebuffer(this._dstFramebuffer)},n(t,[{key:"srcFramebuffer",get:function(){return this._srcFramebuffer}},{key:"dstFramebuffer",get:function(){return this._dstFramebuffer}}]),t}(),Bit=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r0&&(t.extensions.useVAO&&n.glVAO&&(i.bindVertexArray(null),n.glVAO=null),vit.gpuInputAssembler=null,t.stateCache.glArrayBuffer!==e.glBuffer&&(i.bindBuffer(i.ARRAY_BUFFER,e.glBuffer),t.stateCache.glArrayBuffer=e.glBuffer),i.bufferData(i.ARRAY_BUFFER,e.size,r),i.bindBuffer(i.ARRAY_BUFFER,null),t.stateCache.glArrayBuffer=null))}else if(e.usage&Jl.INDEX){e.glTarget=i.ELEMENT_ARRAY_BUFFER;var a=i.createBuffer();a&&(e.glBuffer=a,e.size>0&&(t.extensions.useVAO&&n.glVAO&&(i.bindVertexArray(null),n.glVAO=null),vit.gpuInputAssembler=null,t.stateCache.glElementArrayBuffer!==e.glBuffer&&(i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,e.glBuffer),t.stateCache.glElementArrayBuffer=e.glBuffer),i.bufferData(i.ELEMENT_ARRAY_BUFFER,e.size,r),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,null),t.stateCache.glElementArrayBuffer=null))}else if(e.usage&Jl.UNIFORM){e.glTarget=i.UNIFORM_BUFFER;var o=i.createBuffer();o&&e.size>0&&(e.glBuffer=o,t.stateCache.glUniformBuffer!==e.glBuffer&&(i.bindBuffer(i.UNIFORM_BUFFER,e.glBuffer),t.stateCache.glUniformBuffer=e.glBuffer),i.bufferData(i.UNIFORM_BUFFER,e.size,r),i.bindBuffer(i.UNIFORM_BUFFER,null),t.stateCache.glUniformBuffer=null)}else e.usage&Jl.INDIRECT||e.usage&Jl.TRANSFER_DST||e.usage&Jl.TRANSFER_SRC||U("Unsupported BufferType, create buffer failed."),e.glTarget=i.NONE}(Ket.instance,this._gpuBuffer),Ket.instance.memoryStatus.bufferSize+=this._size},i.destroy=function(){this._gpuBuffer&&(this._isBufferView||(function(t,e){var i=t.gl,n=t.stateCache;if(e.glBuffer){switch(e.glTarget){case i.ARRAY_BUFFER:t.extensions.useVAO&&n.glVAO&&(i.bindVertexArray(null),t.stateCache.glVAO=null),vit.gpuInputAssembler=null,i.bindBuffer(i.ARRAY_BUFFER,null),t.stateCache.glArrayBuffer=null;break;case i.ELEMENT_ARRAY_BUFFER:t.extensions.useVAO&&n.glVAO&&(i.bindVertexArray(null),t.stateCache.glVAO=null),vit.gpuInputAssembler=null,i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,null),t.stateCache.glElementArrayBuffer=null;break;case i.UNIFORM_BUFFER:i.bindBuffer(i.UNIFORM_BUFFER,null),t.stateCache.glUniformBuffer=null}i.deleteBuffer(e.glBuffer),e.glBuffer=null}}(Ket.instance,this._gpuBuffer),Ket.instance.memoryStatus.bufferSize-=this._size),this._gpuBuffer=null)},i.resize=function(t){if(this._isBufferView)console.warn("cannot resize buffer views!");else{var e=this._size;e!==t&&(this._size=t,this._count=this._size/this._stride,this._gpuBuffer&&(this._gpuBuffer.size=t,t>0&&(function(t,e){var i=t.gl,n=t.stateCache,r=e.memUsage&$l.HOST?i.DYNAMIC_DRAW:i.STATIC_DRAW;e.usage&Jl.VERTEX?(t.extensions.useVAO&&n.glVAO&&(i.bindVertexArray(null),n.glVAO=null),vit.gpuInputAssembler=null,n.glArrayBuffer!==e.glBuffer&&i.bindBuffer(i.ARRAY_BUFFER,e.glBuffer),e.buffer?i.bufferData(i.ARRAY_BUFFER,e.buffer,r):i.bufferData(i.ARRAY_BUFFER,e.size,r),i.bindBuffer(i.ARRAY_BUFFER,null),n.glArrayBuffer=null):e.usage&Jl.INDEX?(t.extensions.useVAO&&n.glVAO&&(i.bindVertexArray(null),n.glVAO=null),vit.gpuInputAssembler=null,t.stateCache.glElementArrayBuffer!==e.glBuffer&&i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,e.glBuffer),e.buffer?i.bufferData(i.ELEMENT_ARRAY_BUFFER,e.buffer,r):i.bufferData(i.ELEMENT_ARRAY_BUFFER,e.size,r),i.bindBuffer(i.ELEMENT_ARRAY_BUFFER,null),t.stateCache.glElementArrayBuffer=null):e.usage&Jl.UNIFORM?(t.stateCache.glUniformBuffer!==e.glBuffer&&i.bindBuffer(i.UNIFORM_BUFFER,e.glBuffer),i.bufferData(i.UNIFORM_BUFFER,e.size,r),i.bindBuffer(i.UNIFORM_BUFFER,null),t.stateCache.glUniformBuffer=null):(e.usage&Jl.INDIRECT||e.usage&Jl.TRANSFER_DST||e.usage&Jl.TRANSFER_SRC||U("Unsupported BufferType, create buffer failed."),e.glTarget=i.NONE)}(Ket.instance,this._gpuBuffer),Ket.instance.memoryStatus.bufferSize-=e,Ket.instance.memoryStatus.bufferSize+=t)))}},i.update=function(t,e){var i;this._isBufferView?console.warn("cannot update through buffer views!"):(i=void 0!==e?e:this._usage&Jl.INDIRECT?0:t.byteLength,mit(Ket.instance,this._gpuBuffer,t,0,i))},n(e,[{key:"gpuBuffer",get:function(){return this._gpuBuffer}}]),e}(Z_),Mit=function(){function t(t,e){this._frees=void 0,this._freeIdx=0,this._freeCmds=void 0,this._frees=new Array(e),this._freeCmds=new Fu(e);for(var i=0;i0?this.gpuColorViews[0].gpuTexture.width:this.gpuDepthStencilView.gpuTexture.width},set width(t){s=t},get height(){return this.isOffscreen?a:this.gpuColorViews.length>0?this.gpuColorViews[0].gpuTexture.height:this.gpuDepthStencilView.gpuTexture.height},set height(t){a=t}},function(t,e){for(var i=0;i>o.baseLevel),e.height=Math.min(e.height,h.height>>o.baseLevel))}var u=e.gpuDepthStencilView;if(u){var l=u.gpuTexture,c=k_[l.format].hasStencil?n.DEPTH_STENCIL_ATTACHMENT:n.DEPTH_ATTACHMENT;l.glTexture?n.framebufferTexture2D(n.FRAMEBUFFER,c,l.glTarget,l.glTexture,e.gpuDepthStencilView.baseLevel):n.framebufferRenderbuffer(n.FRAMEBUFFER,c,n.RENDERBUFFER,l.glRenderbuffer),e.width=Math.min(e.width,l.width>>u.baseLevel),e.height=Math.min(e.height,l.height>>u.baseLevel)}n.drawBuffers(r);var _=n.checkFramebufferStatus(n.FRAMEBUFFER);if(_!==n.FRAMEBUFFER_COMPLETE)switch(_){case n.FRAMEBUFFER_INCOMPLETE_ATTACHMENT:U("glCheckFramebufferStatus() - FRAMEBUFFER_INCOMPLETE_ATTACHMENT");break;case n.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT:U("glCheckFramebufferStatus() - FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT");break;case n.FRAMEBUFFER_INCOMPLETE_DIMENSIONS:U("glCheckFramebufferStatus() - FRAMEBUFFER_INCOMPLETE_DIMENSIONS");break;case n.FRAMEBUFFER_UNSUPPORTED:U("glCheckFramebufferStatus() - FRAMEBUFFER_UNSUPPORTED")}t.stateCache.glFramebuffer!==e.glFramebuffer&&n.bindFramebuffer(n.FRAMEBUFFER,t.stateCache.glFramebuffer)}}(Ket.instance,this._gpuFramebuffer),this._width=this._gpuFramebuffer.width,this._height=this._gpuFramebuffer.height},i.destroy=function(){var t,e;this._gpuFramebuffer&&(t=Ket.instance,(e=this._gpuFramebuffer).glFramebuffer&&(t.gl.deleteFramebuffer(e.glFramebuffer),t.stateCache.glFramebuffer===e.glFramebuffer&&(t.gl.bindFramebuffer(t.gl.FRAMEBUFFER,null),t.stateCache.glFramebuffer=null),e.glFramebuffer=null),this._gpuFramebuffer=null)},n(e,[{key:"gpuFramebuffer",get:function(){return this._gpuFramebuffer}}]),e}(nf),Fit=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;ri&&(i=s.binding)}this._bindingIndices=Array(i+1).fill(-1);for(var a=this._descriptorIndices=Array(i+1).fill(-1),o=0;o0){e.glSamplerTextures=new Array(e.samplerTextures.length);for(var M=0;M1&&(this._info.levelCount=Math.min(this._info.levelCount,e.getLevelCount(t,i)));var n=this._size;this._info.width=t,this._info.height=i,this._size=W_(this._info.format,this.width,this.height,this.depth,this._info.levelCount)*this._info.layerCount,!this._isTextureView&&this._gpuTexture&&(this._gpuTexture.width=t,this._gpuTexture.height=i,this._gpuTexture.size=this._size,this._gpuTexture.isSwapchainTexture||(function(t,e){if(e.size){var i=t.gl,n=e.width,r=e.height,s=e.depth,a=e.arrayLayer;switch(e.type){case tc.TEX2D:e.glTarget=i.TEXTURE_2D;var o=Math.max(n,r);if(o>t.capabilities.maxTextureSize&&Q(9100,o,t.capabilities.maxTextureSize),e.samples===rc.X1){var h=t.stateCache.glTexUnits[t.stateCache.texUnit];if(h.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_2D,e.glTexture),h.glTexture=e.glTexture),k_[e.format].isCompressed)for(var u=0;u>1),r=Math.max(1,r>>1)}else yit(t,e),git(t,e)}else e.glRenderbuffer&&(t.stateCache.glRenderbuffer!==e.glRenderbuffer&&(i.bindRenderbuffer(i.RENDERBUFFER,e.glRenderbuffer),t.stateCache.glRenderbuffer=e.glRenderbuffer),i.renderbufferStorageMultisample(i.RENDERBUFFER,e.samples,e.glInternalFmt,e.width,e.height));break;case tc.TEX2D_ARRAY:e.glTarget=i.TEXTURE_2D_ARRAY;var _=Math.max(n,r);if(_>t.capabilities.maxTextureSize&&Q(9100,_,t.capabilities.maxTextureSize),a>t.capabilities.maxArrayTextureLayers&&Q(9100,a,t.capabilities.maxArrayTextureLayers),e.glTexture=i.createTexture(),e.size>0){var f=t.stateCache.glTexUnits[t.stateCache.texUnit];if(f.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_2D_ARRAY,e.glTexture),f.glTexture=e.glTexture),k_[e.format].isCompressed)for(var d=0;d>1),r=Math.max(1,r>>1)}else i.texStorage3D(i.TEXTURE_2D_ARRAY,e.mipLevel,e.glInternalFmt,n,r,a)}break;case tc.TEX3D:e.glTarget=i.TEXTURE_3D;var g=Math.max(Math.max(n,r),s);if(g>t.capabilities.max3DTextureSize&&Q(9100,g,t.capabilities.max3DTextureSize),e.glTexture=i.createTexture(),e.size>0){var y=t.stateCache.glTexUnits[t.stateCache.texUnit];if(y.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_3D,e.glTexture),y.glTexture=e.glTexture),k_[e.format].isCompressed)for(var v=0;v>1),r=Math.max(1,r>>1)}else i.texStorage3D(i.TEXTURE_3D,e.mipLevel,e.glInternalFmt,n,r,s)}break;case tc.CUBE:e.type=tc.CUBE,e.glTarget=i.TEXTURE_CUBE_MAP;var A=Math.max(n,r);A>t.capabilities.maxCubeMapTextureSize&&Q(9100,A,t.capabilities.maxTextureSize);var b=t.stateCache.glTexUnits[t.stateCache.texUnit];if(b.glTexture!==e.glTexture&&(i.bindTexture(i.TEXTURE_CUBE_MAP,e.glTexture),b.glTexture=e.glTexture),k_[e.format].isCompressed)for(var E=0;E<6;++E){n=e.width,r=e.height;for(var C=0;C>1),r=Math.max(1,r>>1)}}else yit(t,e),git(t,e);break;default:U("Unsupported TextureType, create texture failed."),e.type=tc.TEX2D,e.glTarget=i.TEXTURE_2D}}}(Ket.instance,this._gpuTexture),Ket.instance.memoryStatus.textureSize-=n,Ket.instance.memoryStatus.textureSize+=this._size))}},i.initAsSwapchainTexture=function(t){var e=new e_;e.format=t.format,e.usage=k_[t.format].hasDepth?ec.DEPTH_STENCIL_ATTACHMENT:ec.COLOR_ATTACHMENT,e.width=t.width,e.height=t.height,this.initialize(e,!0)},n(e,[{key:"gpuTexture",get:function(){return this._gpuTexture}},{key:"gpuTextureView",get:function(){return this._gpuTextureView}}]),e}(yf),qit="webglcontextlost";function Kit(t,e){for(var i=["","WEBKIT_","MOZ_"],n=0;n1||e.length>1)return!1;if(t[0]instanceof HTMLVideoElement){var i=t[0];return 0===e[0].texOffset.x&&0===e[0].texOffset.y&&e[0].texExtent.width===i.videoWidth&&e[0].texExtent.height===i.videoHeight}return!1}(e,n))r.texImage2D(r.TEXTURE_2D,n[0].texSubres.mipLevel,i.glInternalFmt,n[0].texExtent.width,n[0].texExtent.height,0,i.glFormat,i.glType,e[0]);else for(var h=0;h=0&&o<=1&&h>=0&&h<=1)return!0}return!1}v.WebGL2Device=Qit;var tnt=new kn,ent=new kn,int=new kn,nnt=new kn;function rnt(t,e,i){for(var n=i.length,r=0;rr!=c>r&&n<(l-h)*(r-u)/(c-u)+h&&(i=!i)}return i}function ant(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:tnt.set(e.x+h*s,e.y+h*a):e:tnt.set(e.x+h*s,e.y+h*a),s=t.x-r.x,a=t.y-r.y,Math.sqrt(s*s+a*a)}var ont=t("eV",(function(){}));ont.lineLine=$it,ont.lineRect=function(t,e,i){var n=tnt.set(i.x,i.y),r=ent.set(i.x,i.yMax),s=int.set(i.xMax,i.yMax),a=nnt.set(i.xMax,i.y);return!!($it(t,e,n,r)||$it(t,e,r,s)||$it(t,e,s,a)||$it(t,e,a,n))},ont.linePolygon=rnt,ont.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,u=e.y+e.height;return i<=h&&r>=a&&n<=u&&s>=o},ont.rectPolygon=function(t,e){var i=tnt.set(t.x,t.y),n=ent.set(t.x,t.yMax),r=int.set(t.xMax,t.yMax),s=nnt.set(t.xMax,t.y);if(rnt(i,n,e))return!0;if(rnt(n,r,e))return!0;if(rnt(r,s,e))return!0;if(rnt(s,i,e))return!0;for(var a=0,o=e.length;as+o&&(u=s+o),ra+h&&(l=a+h);var c=n-u,_=r-l;return Math.sqrt(c*c+_*_)<=i},ont.polygonPolygon=function(t,e){var i,n;for(i=0,n=t.length;i=0){var s=t._probes,a=s[this.vertex0].position,o=s[this.vertex1].position,h=s[this.vertex2].position,u=s[this.vertex3].position;this.sphere.init(a,o,h,u)}}var e=t.prototype;return e.isInCircumSphere=function(t){return un.squaredDistance(t,this.sphere.center)=0},e.isOuterCell=function(){return this.vertex3<0},t}(),Pnt=Us(Mnt.prototype,"invalid",[Xnt],(function(){return!1})),Ont=Us(Mnt.prototype,"vertex0",[Xnt],(function(){return-1})),Lnt=Us(Mnt.prototype,"vertex1",[Xnt],(function(){return-1})),Fnt=Us(Mnt.prototype,"vertex2",[Xnt],(function(){return-1})),Nnt=Us(Mnt.prototype,"vertex3",[Xnt],(function(){return-1})),knt=Us(Mnt.prototype,"neighbours",[Xnt],(function(){return[-1,-1,-1,-1]})),Gnt=Us(Mnt.prototype,"matrix",[Xnt],(function(){return new vn})),Vnt=Us(Mnt.prototype,"offset",[Xnt],(function(){return new un(0,0,0)})),Unt=Us(Mnt.prototype,"sphere",[Xnt],(function(){return new nrt})),Bnt=Mnt))||Bnt),srt=t("e$",function(){function t(t){this._probes=[],this._tetrahedrons=[],this._triangles=[],this._edges=[],this._probes=t}var e=t.prototype;return e.build=function(){return this.reset(),this.tetrahedralize(),this.computeAdjacency(),this.computeMatrices(),this._tetrahedrons},e.reset=function(){this._tetrahedrons.length=0,this._triangles.length=0,this._edges.length=0},e.tetrahedralize=function(){for(var t=this._probes.length,e=this.initTetrahedron(),i=0;i0&&un.negate(t,t),un.add(l.normal,l.normal,t),un.add(c.normal,c.normal,t),un.add(_.normal,_.normal,t);var p=this._triangles[h].vertex0,m=d>0?this._triangles[h].vertex2:this._triangles[h].vertex1,g=d>0?this._triangles[h].vertex1:this._triangles[h].vertex2,y=new rrt(this,p,m,g);y.neighbours[3]=this._triangles[h].tetrahedron,this._tetrahedrons[this._triangles[h].tetrahedron].neighbours[this._triangles[h].index]=this._tetrahedrons.length,this._tetrahedrons.push(y)}}for(var v=0,S=r;S=0?this.computeTetrahedronMatrix(e):this.computeOuterCellMatrix(e)}},e.computeTetrahedronMatrix=function(t){var e=this._probes[t.vertex0].position,i=this._probes[t.vertex1].position,n=this._probes[t.vertex2].position,r=this._probes[t.vertex3].position;t.matrix.set(e.x-r.x,i.x-r.x,n.x-r.x,e.y-r.y,i.y-r.y,n.y-r.y,e.z-r.z,i.z-r.z,n.z-r.z),t.matrix.invert(),t.matrix.transpose()},e.computeOuterCellMatrix=function(t){var e=[],i=[];e[0]=this._probes[t.vertex0].normal,e[1]=this._probes[t.vertex1].normal,e[2]=this._probes[t.vertex2].normal,i[0]=this._probes[t.vertex0].position,i[1]=this._probes[t.vertex1].position,i[2]=this._probes[t.vertex2].position,un.subtract(qnt,i[0],i[2]),un.subtract(Knt,e[0],e[2]),un.subtract(Jnt,i[1],i[2]),un.subtract(Znt,e[1],e[2]),Qnt.set(i[2]),un.negate($nt,e[2]);var n=[];n[0]=Knt.y*Znt.z-Knt.z*Znt.y,n[3]=-Knt.x*Znt.z+Knt.z*Znt.x,n[6]=Knt.x*Znt.y-Knt.y*Znt.x,n[9]=qnt.x*Znt.y*$nt.z-qnt.y*Znt.x*$nt.z+Knt.x*Jnt.y*$nt.z-Knt.y*Jnt.x*$nt.z+qnt.z*Znt.x*$nt.y-qnt.z*Znt.y*$nt.x+Knt.z*Jnt.x*$nt.y-Knt.z*Jnt.y*$nt.x-qnt.x*Znt.z*$nt.y+qnt.y*Znt.z*$nt.x-Knt.x*Jnt.z*$nt.y+Knt.y*Jnt.z*$nt.x,n[9]-=Qnt.x*n[0]+Qnt.y*n[3]+Qnt.z*n[6],n[1]=Knt.y*Jnt.z+qnt.y*Znt.z-Knt.z*Jnt.y-qnt.z*Znt.y,n[4]=-qnt.x*Znt.z-Knt.x*Jnt.z+qnt.z*Znt.x+Knt.z*Jnt.x,n[7]=qnt.x*Znt.y-qnt.y*Znt.x+Knt.x*Jnt.y-Knt.y*Jnt.x,n[10]=qnt.x*Jnt.y*$nt.z-qnt.y*Jnt.x*$nt.z-qnt.x*Jnt.z*$nt.y+qnt.y*Jnt.z*$nt.x+qnt.z*Jnt.x*$nt.y-qnt.z*Jnt.y*$nt.x,n[10]-=Qnt.x*n[1]+Qnt.y*n[4]+Qnt.z*n[7],n[2]=-qnt.z*Jnt.y+qnt.y*Jnt.z,n[5]=-qnt.x*Jnt.z+qnt.z*Jnt.x,n[8]=qnt.x*Jnt.y-qnt.y*Jnt.x,n[11]=0,n[11]-=Qnt.x*n[2]+Qnt.y*n[5]+Qnt.z*n[8];var r=Knt.x*Znt.y*$nt.z-Knt.y*Znt.x*$nt.z+Knt.z*Znt.x*$nt.y-Knt.z*Znt.y*$nt.x+Knt.y*Znt.z*$nt.x-Knt.x*Znt.z*$nt.y;if(Math.abs(r)>wi)for(var s=0;s<12;s++)n[s]/=r;else t.vertex3=-2;t.matrix.set(n[0],n[1],n[2],n[3],n[4],n[5],n[6],n[7],n[8]),t.offset.set(n[9],n[10],n[11])},t}()),art=t("f0",function(){function t(){}return t.uniformSampleSphere=function(t,e){var i=1-2*t,n=Math.sqrt(Math.max(0,1-i*i)),r=2*Math.PI*e,s=n*Math.cos(r),a=n*Math.sin(r);return new un(s,a,i)},t.uniformSampleSphereAll=function(t){for(var e=Math.floor(Math.sqrt(t)),i=e,n=[],r=1/e,s=1/i,a=0;a0&&(t.length,e.length);for(var i=this.getBasisCount(),n=t.length,r=1/(art.uniformSpherePdf()*n),s=[],a=0;a0){var h=Math.sqrt(o);n.push(Math.cbrt(-a+h)+Math.cbrt(-a-h))}else if(o<0){var u=Math.acos(-a*Math.sqrt(-s)/(s*s))/3;n.push(2*Math.sqrt(-s)*Math.cos(u)),n.push(2*Math.sqrt(-s)*Math.cos(u+2*Math.PI/3)),n.push(2*Math.sqrt(-s)*Math.cos(u+4*Math.PI/3))}else if(0===a)n.push(0);else{var l=Math.cbrt(a);n.push(l),n.push(-2*l)}for(var c=0;c=0)return n[c]+r;return 0},t}(),mrt=new un(0,0,0),grt=new un(0,0,0),yrt=new un(0,0,0),vrt=new un(0,0,0),Srt=new un(0,0,0),Trt=new un(0,0,0),Art=new un(0,0,0),brt=new un(0,0,0),Ert=new un(0,0,0),Crt=new un(0,0,0),xrt=new un(0,0,0),wrt=new un(0,0,0),Rrt=new un(0,0,0),Irt=new un(0,0,0),Drt=new un(0,0,0),Brt=t("f2",(hrt=Js("cc.LightProbesData"),urt=Ia([trt]),lrt=Ia([rrt]),hrt((_rt=function(){function t(){this._probes=frt&&frt(),this._tetrahedrons=drt&&drt()}var e=t.prototype;return e.empty=function(){return 0===this._probes.length||0===this._tetrahedrons.length},e.reset=function(){this._probes.length=0,this._tetrahedrons.length=0},e.updateProbes=function(t){this._probes.length=0;for(var e=t.length,i=0;i=0)for(var h=this._probes[r.vertex3].coefficients,u=0;u=n)&&(e=0);for(var r=-1,s=-1,a=0;a=0&&i.y>=0&&i.z>=0&&i.w>=0)break;if(r===(s=i.x=0?this.getTetrahedronBarycentricCoord(t,e,i):this.getOuterCellBarycentricCoord(t,e,i)},e.getTetrahedronBarycentricCoord=function(t,e,i){var n=new un(0,0,0);un.subtract(n,t,this._probes[e.vertex3].position),un.transformMat3(n,n,e.matrix),i.set(n.x,n.y,n.z,1-n.x-n.y-n.z)},e.getOuterCellBarycentricCoord=function(e,i,n){var r=this._probes[i.vertex0].position,s=this._probes[i.vertex1].position,a=this._probes[i.vertex2].position;un.subtract(Crt,s,r),un.subtract(xrt,a,r),un.cross(Ert,Crt,xrt),un.subtract(wrt,e,r);var o=un.dot(wrt,Ert);if(o<0)n.set(0,0,0,-1);else{var h=new un(0,0,0);un.transformMat3(h,e,i.matrix),un.add(h,h,i.offset),o=-1===i.vertex3?prt.getCubicUniqueRoot(h.x,h.y,h.z):prt.getQuadraticUniqueRoot(h.x,h.y,h.z),un.scaleAndAdd(Rrt,r,this._probes[i.vertex0].normal,o),un.scaleAndAdd(Irt,s,this._probes[i.vertex1].normal,o),un.scaleAndAdd(Drt,a,this._probes[i.vertex2].normal,o);var u=t.getTriangleBarycentricCoord(Rrt,Irt,Drt,e);n.set(u.x,u.y,u.z,0)}},n(t,[{key:"probes",get:function(){return this._probes}},{key:"tetrahedrons",get:function(){return this._tetrahedrons}}]),t}(),frt=Us(_rt.prototype,"_probes",[sa,urt],(function(){return[]})),drt=Us(_rt.prototype,"_tetrahedrons",[sa,lrt],(function(){return[]})),crt=_rt))||crt));v.internal.LightProbesData=Brt;var Mrt,Prt,Ort,Lrt,Frt,Nrt,krt,Grt,Vrt,Urt,zrt,Hrt,Wrt,Xrt,jrt,Yrt=t("f3",function(){function t(){this._giScale=1,this._giSamples=1024,this._bounces=2,this._reduceRinging=0,this._showProbe=!0,this._showWireframe=!0,this._showConvex=!1,this._data=null,this._lightProbeSphereVolume=1}var e=t.prototype;return e.initialize=function(t){this._giScale=t.giScale,this._giSamples=t.giSamples,this._bounces=t.bounces,this._reduceRinging=t.reduceRinging,this._showProbe=t.showProbe,this._showWireframe=t.showWireframe,this._showConvex=t.showConvex,this._data=t.data,this._lightProbeSphereVolume=t.lightProbeSphereVolume},e.empty=function(){return!this._data||this._data.empty()},n(t,[{key:"giScale",get:function(){return this._giScale},set:function(t){this._giScale=t}},{key:"giSamples",get:function(){return this._giSamples},set:function(t){this._giSamples=t}},{key:"bounces",get:function(){return this._bounces},set:function(t){this._bounces=t}},{key:"reduceRinging",get:function(){return this._reduceRinging},set:function(t){this._reduceRinging=t}},{key:"showProbe",get:function(){return this._showProbe},set:function(t){this._showProbe=t}},{key:"showWireframe",get:function(){return this._showWireframe},set:function(t){this._showWireframe=t}},{key:"showConvex",get:function(){return this._showConvex},set:function(t){this._showConvex=t}},{key:"data",get:function(){return this._data},set:function(t){this._data=t}},{key:"lightProbeSphereVolume",get:function(){return this._lightProbeSphereVolume},set:function(t){this._lightProbeSphereVolume=t}}]),t}());v.internal.LightProbes=Yrt,t("f4",(Mrt=Js("cc.LightProbeGroup"),Prt=Ia([un]),Ort=Ia(znt),Lrt=Ia(Ke),Frt=Ia(Ke),Nrt=Ia(Ke),Mrt(krt=$s((Grt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r1){var n=0;un.subtract(bst,t[1],t[0]),this._vdataF32[n++]=t[0].x,this._vdataF32[n++]=t[0].y,this._vdataF32[n++]=t[0].z,this._vdataF32[n++]=0,this._vdataF32[n++]=e.evaluate(0,1),this._vdataF32[n++]=0,this._vdataF32[n++]=0,this._vdataF32[n++]=bst.x,this._vdataF32[n++]=bst.y,this._vdataF32[n++]=bst.z,this._vdataUint32[n++]=i.evaluate(0,1)._val,this._vdataF32[n++]=t[0].x,this._vdataF32[n++]=t[0].y,this._vdataF32[n++]=t[0].z,this._vdataF32[n++]=1,this._vdataF32[n++]=e.evaluate(0,1),this._vdataF32[n++]=0,this._vdataF32[n++]=1,this._vdataF32[n++]=bst.x,this._vdataF32[n++]=bst.y,this._vdataF32[n++]=bst.z,this._vdataUint32[n++]=i.evaluate(0,1)._val;for(var r=1;r0&&this._models[0]&&this._detachFromScene()},i._attachToScene=function(){if(t.prototype._attachToScene.call(this),this._models.length>0&&this._models[0]&&this.node&&this.node.scene){var e=this._models[0];e.scene&&this._detachFromScene(),this._getRenderScene().addModel(e)}},i._detachFromScene=function(){if(t.prototype._detachFromScene.call(this),this._models.length>0&&this._models[0]){var e=this._models[0];e.scene&&e.scene.removeModel(e)}},i._onMaterialModified=function(e,i){t.prototype._onMaterialModified.call(this,e,i);var n=this.getMaterialInstance(0);n&&(sat.CC_USE_WORLD_SPACE=this.worldSpace,n.recompileShaders(sat),this._models[0]&&this._models[0].updateMaterial(n))},n(e,[{key:"texture",get:function(){return this._texture},set:function(t){this._texture=t,this.material&&this.material.setProperty("mainTexture",t)}},{key:"lineMaterial",get:function(){return this.getSharedMaterial(0)},set:function(t){this.setSharedMaterial(t,0)}},{key:"sharedMaterials",get:function(){return t.prototype.sharedMaterials},set:function(t){this.sharedMaterials=t}},{key:"worldSpace",get:function(){return this._worldSpace},set:function(t){this._worldSpace=t;var e=this.getMaterialInstance(0);e&&(sat.CC_USE_WORLD_SPACE=this.worldSpace,e.recompileShaders(sat),this._models[0]&&this._models[0].setSubModelMaterial(0,e))}},{key:"positions",get:function(){return this._positions},set:function(t){this._positions=t,this._models[0]&&this._models[0].addLineVertexData(this._positions,this.width,this.color)}},{key:"width",get:function(){return this._width},set:function(t){this._width=t,this._models[0]&&this._models[0].addLineVertexData(this._positions,this._width,this._color)}},{key:"color",get:function(){return this._color},set:function(t){this._color=t,this._models[0]&&this._models[0].addLineVertexData(this._positions,this._width,this._color)}},{key:"tile",get:function(){return this._tile},set:function(t){this._tile.set(t),this.material&&(this._tile_offset.x=this._tile.x,this._tile_offset.y=this._tile.y,this.material.setProperty("mainTiling_Offset",this._tile_offset))}},{key:"offset",get:function(){return this._offset},set:function(t){this._offset.set(t),this.material&&(this._tile_offset.z=this._offset.x,this._tile_offset.w=this._offset.y,this.material.setProperty("mainTiling_Offset",this._tile_offset))}}]),e}(cW),jst=Us(Xst.prototype,"_texture",[Lst],(function(){return null})),p(Xst.prototype,"texture",[Fst],Object.getOwnPropertyDescriptor(Xst.prototype,"texture"),Xst.prototype),Yst=Us(Xst.prototype,"_material",[sa],(function(){return null})),p(Xst.prototype,"lineMaterial",[Nst],Object.getOwnPropertyDescriptor(Xst.prototype,"lineMaterial"),Xst.prototype),p(Xst.prototype,"sharedMaterials",[Da,sa],Object.getOwnPropertyDescriptor(Xst.prototype,"sharedMaterials"),Xst.prototype),qst=Us(Xst.prototype,"_worldSpace",[sa],(function(){return!1})),Kst=Us(Xst.prototype,"_positions",[kst],(function(){return[]})),p(Xst.prototype,"positions",[Gst],Object.getOwnPropertyDescriptor(Xst.prototype,"positions"),Xst.prototype),p(Xst.prototype,"width",[Vst],Object.getOwnPropertyDescriptor(Xst.prototype,"width"),Xst.prototype),Jst=Us(Xst.prototype,"_width",[sa],(function(){return new Ist})),p(Xst.prototype,"color",[Ust],Object.getOwnPropertyDescriptor(Xst.prototype,"color"),Xst.prototype),Zst=Us(Xst.prototype,"_color",[sa],(function(){return new nat})),Qst=Us(Xst.prototype,"_tile",[sa],(function(){return new kn(1,1)})),p(Xst.prototype,"tile",[zst],Object.getOwnPropertyDescriptor(Xst.prototype,"tile"),Xst.prototype),$st=Us(Xst.prototype,"_offset",[sa],(function(){return new kn(0,0)})),p(Xst.prototype,"offset",[Hst],Object.getOwnPropertyDescriptor(Xst.prototype,"offset"),Xst.prototype),Wst=Xst))||Wst)),oat=function(){function t(t){this.particleSystem=void 0,this.position=void 0,this.velocity=void 0,this.animatedVelocity=void 0,this.ultimateVelocity=void 0,this.angularVelocity=void 0,this.axisOfRotation=void 0,this.rotation=void 0,this.startEuler=void 0,this.startRotation=void 0,this.startRotated=void 0,this.deltaQuat=void 0,this.deltaMat=void 0,this.localMat=void 0,this.startSize=void 0,this.size=void 0,this.startColor=void 0,this.color=void 0,this.randomSeed=void 0,this.remainingLifetime=void 0,this.loopCount=void 0,this.lastLoop=void 0,this.trailDelay=void 0,this.startLifetime=void 0,this.emitAccumulator0=void 0,this.emitAccumulator1=void 0,this.frameIndex=void 0,this.startRow=void 0,this.particleSystem=t,this.position=new un(0,0,0),this.velocity=new un(0,0,0),this.animatedVelocity=new un(0,0,0),this.ultimateVelocity=new un(0,0,0),this.angularVelocity=new un(0,0,0),this.axisOfRotation=new un(0,0,0),this.rotation=new un(0,0,0),this.startEuler=new un(0,0,0),this.startRotation=new bn,this.startRotated=!1,this.deltaQuat=new bn,this.deltaMat=new Mn,this.localMat=new Mn,this.startSize=new un(0,0,0),this.size=new un(0,0,0),this.startColor=mn.WHITE.clone(),this.color=mn.WHITE.clone(),this.randomSeed=0,this.remainingLifetime=0,this.loopCount=0,this.lastLoop=0,this.trailDelay=0,this.startLifetime=0,this.emitAccumulator0=0,this.emitAccumulator1=0,this.frameIndex=0,this.startRow=0}return t.prototype.reset=function(){this.rotation.set(0,0,0),this.startEuler.set(0,0,0),this.startRotation.set(0,0,0,1),this.startRotated=!1,this.deltaQuat.set(0,0,0,1),this.deltaMat.identity(),this.localMat.identity()},t}();oat.INDENTIFY_NEG_QUAT=10,oat.R2D=180/Math.PI;var hat,uat,lat,cat,_at,fat,dat="colorModule",pat="rotationModule",mat="sizeModule",gat="textureModule",yat="noiseModule",vat=["sizeModule","colorModule","forceModule","velocityModule","limitModule","rotationModule","textureModule","noiseModule"],Sat=["_colorOverLifetimeModule","_shapeModule","_sizeOvertimeModule","_velocityOvertimeModule","_forceOvertimeModule","_limitVelocityOvertimeModule","_rotationOvertimeModule","_textureAnimationModule","_noiseModule","_trailModule"],Tat=function(){function t(){this.target=null,this.needUpdate=!1,this.needAnimate=!0,this.name=void 0}var e=t.prototype;return e.bindTarget=function(t){this.target=t},e.update=function(){},t}(),Aat=ve({World:0,Local:1,Custom:2}),bat=ve({Pause:0,PauseAndCatchup:1,AlwaysSimulate:2}),Eat=ve({World:0,Local:1,View:2}),Cat=ve({Billboard:0,StrecthedBillboard:1,HorizontalBillboard:2,VerticalBillboard:3,Mesh:4}),xat=ve({Box:0,Circle:1,Cone:2,Sphere:3,Hemisphere:4}),wat=ve({Base:0,Edge:1,Shell:2,Volume:3}),Rat=ve({Random:0,Loop:1,PingPong:2}),Iat=ve({Particles:0}),Dat=ve({Stretch:0}),Bat=new un(0,0,-1);function Mat(t,e,i,n){return e!==t?(t===Aat.World||Mn.invert(i,i),Mn.getRotation(n,i),!0):(bn.set(n,0,0,0,1),!1)}function Pat(t,e){kn.set(t,Math.cos(e),Math.sin(e))}function Oat(t){var e=Ni(-1,1),i=Ni(0,2*Math.PI),n=Math.sqrt(1-e*e),r=n*Math.cos(i),s=n*Math.sin(i);un.set(t,r,s,e)}function Lat(t,e,i){Oat(t),un.multiplyScalar(t,t,e+(i-e)*Li())}function Fat(t,e,i,n){Pat(t,n),t.z=0,un.multiplyScalar(t,t,e+(i-e)*Li())}function Nat(t){for(var e=0;ee){var s=r-r*i;r=s>e?s:e}return r*n}var Oot,Lot,Fot,Not,kot,Got,Vot,Uot,zot,Hot,Wot,Xot,jot,Yot,qot,Kot,Jot,Zot,Qot,$ot,tht,eht,iht,nht,rht,sht,aht,oht,hht,uht,lht,cht,_ht,fht,dht,pht,mht,ght,yht,vht,Sht,Tht,Aht,bht,Eht,Cht,xht,wht,Rht,Iht,Dht,Bht,Mht,Pht,Oht,Lht,Fht,Nht,kht,Ght,Vht,Uht,zht,Hht,Wht,Xht,jht,Yht,qht,Kht,Jht,Zht,Qht,$ht,tut,eut,iut,nut,rut,sut,aut,out,hut,uut,lut,cut,_ut=125292,fut=(dot=Js("cc.RotationOvertimeModule"),pot=Ia(Ist),mot=Ia(Ist),got=Ia(Ist),dot((vot=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r0){var i=Hi(t._time-t.startDelay.evaluate(0,1),t.duration)-e;i=i>0?i:0;var n=Hi(t.time-t.startDelay.evaluate(0,1),t.duration);this._curTime>=i&&this._curTime0&&(n.z*=-1),un.normalize(r,n);break;case wat.Shell:Oat(n),un.multiplyScalar(n,n,e),n.z>0&&(n.z*=-1),un.normalize(r,n);break;default:console.warn(t+" is not supported for hemisphere emitter.")}}(this.emitFrom,this.radius,this.radiusThickness,t.position,t.velocity);break;default:console.warn(this.shapeType+" shapeType is not supported by ShapeModule.")}if(this.randomPositionAmount>0&&(t.position.x+=Ni(-this.randomPositionAmount,this.randomPositionAmount),t.position.y+=Ni(-this.randomPositionAmount,this.randomPositionAmount),t.position.z+=Ni(-this.randomPositionAmount,this.randomPositionAmount)),un.transformQuat(t.velocity,t.velocity,this.quat),un.transformMat4(t.position,t.position,this.mat),this.sphericalDirectionAmount>0){var e=un.normalize(but,t.position);un.lerp(t.velocity,t.velocity,e,this.sphericalDirectionAmount)}this.lastTime=this.particleSystem._time},e.constructMat=function(){bn.fromEuler(this.quat,this._rotation.x,this._rotation.y,this._rotation.z),Mn.fromRTS(this.mat,this.quat,this._position,this._scale)},e.generateArcAngle=function(){if(this.arcMode===Rat.Random)return Ni(0,this._arc);var t=this.totalAngle+2*Math.PI*this.arcSpeed.evaluate(this.particleSystem._time,1)*(this.particleSystem._time-this.lastTime);switch(this.totalAngle=t,0!==this.arcSpread&&(t=Math.floor(t/(this._arc*this.arcSpread))*this._arc*this.arcSpread),this.arcMode){case Rat.Loop:return Hi(t,this._arc);case Rat.PingPong:return Wi(t,this._arc);default:return Hi(t,this._arc)}},n(t,[{key:"position",get:function(){return this._position},set:function(t){this._position=t,this.constructMat()}},{key:"rotation",get:function(){return this._rotation},set:function(t){this._rotation=t,this.constructMat()}},{key:"scale",get:function(){return this._scale},set:function(t){this._scale=t,this.constructMat()}},{key:"arc",get:function(){return Oi(this._arc)},set:function(t){this._arc=Pi(t)}},{key:"angle",get:function(){return Math.round(100*Oi(this._angle))/100},set:function(t){this._angle=Pi(t)}},{key:"enable",get:function(){return this._enable},set:function(t){this._enable=t}},{key:"shapeType",get:function(){return this._shapeType},set:function(t){switch(this._shapeType=t,this._shapeType){case xat.Box:this.emitFrom===wat.Base&&(this.emitFrom=wat.Volume);break;case xat.Cone:this.emitFrom===wat.Edge&&(this.emitFrom=wat.Base);break;case xat.Sphere:case xat.Hemisphere:this.emitFrom!==wat.Base&&this.emitFrom!==wat.Edge||(this.emitFrom=wat.Volume)}}}]),t}(),Yht=Us(jht.prototype,"_enable",[sa],(function(){return!1})),qht=Us(jht.prototype,"_shapeType",[Ght,Vht],(function(){return xat.Cone})),p(jht.prototype,"shapeType",[Uht],Object.getOwnPropertyDescriptor(jht.prototype,"shapeType"),jht.prototype),Kht=Us(jht.prototype,"emitFrom",[zht,sa],(function(){return wat.Volume})),Jht=Us(jht.prototype,"alignToDirection",[sa],(function(){return!1})),Zht=Us(jht.prototype,"randomDirectionAmount",[sa],(function(){return 0})),Qht=Us(jht.prototype,"sphericalDirectionAmount",[sa],(function(){return 0})),$ht=Us(jht.prototype,"randomPositionAmount",[sa],(function(){return 0})),tut=Us(jht.prototype,"radius",[sa],(function(){return 1})),eut=Us(jht.prototype,"radiusThickness",[sa],(function(){return 1})),iut=Us(jht.prototype,"arcMode",[Hht,sa],(function(){return Rat.Random})),nut=Us(jht.prototype,"arcSpread",[sa],(function(){return 0})),rut=Us(jht.prototype,"arcSpeed",[Wht,sa],(function(){return new Ist})),sut=Us(jht.prototype,"length",[sa],(function(){return 5})),aut=Us(jht.prototype,"boxThickness",[sa],(function(){return new un(0,0,0)})),out=Us(jht.prototype,"_position",[sa],(function(){return new un(0,0,0)})),hut=Us(jht.prototype,"_rotation",[sa],(function(){return new un(0,0,0)})),uut=Us(jht.prototype,"_scale",[sa],(function(){return new un(1,1,1)})),lut=Us(jht.prototype,"_arc",[sa],(function(){return Pi(360)})),cut=Us(jht.prototype,"_angle",[sa],(function(){return Pi(25)})),Xht=jht))||Xht);function wut(t,e){e.x>0&&(t[0]+=.5*Ni(-e.x,e.x),t[0]=Di(t[0],-.5,.5)),e.y>0&&(t[1]+=.5*Ni(-e.y,e.y),t[1]=Di(t[1],-.5,.5)),e.z>0&&(t[2]+=.5*Ni(-e.z,e.z),t[2]=Di(t[2],-.5,.5))}var Rut=[0,0,1,0,0,1,1,1],Iut=[0,0,0,1,0,0,0,1,0,1,1,0],Dut=function(t){function e(){var e;return(e=t.call(this)||this)._capacity=void 0,e._bufferSize=void 0,e._vertAttrs=void 0,e._vertAttribSize=void 0,e._vBuffer=void 0,e._vertAttrsFloatCount=void 0,e._vdataF32=void 0,e._vdataUint32=void 0,e._subMeshData=void 0,e._mesh=void 0,e._vertCount=0,e._indexCount=0,e._startTimeOffset=0,e._lifeTimeOffset=0,e._material=null,e._vertAttribSizeStatic=void 0,e._vertStaticAttrsFloatCount=void 0,e._insBuffers=void 0,e._insIndices=void 0,e._useInstance=void 0,e._iaVertCount=0,e._iaIndexCount=0,e.type=fO.PARTICLE_BATCH,e._capacity=0,e._bufferSize=16,e._vertAttrs=null,e._vertAttribSize=0,e._vBuffer=null,e._vertAttrsFloatCount=0,e._vdataF32=null,e._vdataUint32=null,e._vertAttribSizeStatic=0,e._vertStaticAttrsFloatCount=0,e._insBuffers=[],e._insIndices=null,If.gfxDevice.hasFeature(jl.INSTANCED_ARRAYS)?e._useInstance=!0:e._useInstance=!1,e._subMeshData=null,e._mesh=null,e}s(e,t);var i=e.prototype;return i.setCapacity=function(t){var e=this._capacity!==t;this._capacity=t,this._bufferSize=Math.max(this._capacity,16),this._subMeshData&&e&&this.rebuild()},i.setVertexAttributes=function(t,e){if(this._useInstance)this.setVertexAttributesIns(t,e);else{if(this._mesh===t&&this._vertAttrs===e)return;this._mesh=t,this._vertAttrs=e,this._vertAttribSize=0;for(var i,n=f(this._vertAttrs);!(i=n()).done;){var r=i.value;r.offset=this._vertAttribSize,this._vertAttribSize+=k_[r.format].size}this._vertAttrsFloatCount=this._vertAttribSize/4,this.rebuild()}},i.setVertexAttributesIns=function(t,e){if(this._mesh!==t||this._vertAttrs!==e){this._mesh=t,this._vertAttrs=e,this._vertAttribSize=0,this._vertAttribSizeStatic=0;for(var i,n=f(this._vertAttrs);!(i=n()).done;){var r=i.value;0===r.stream?(r.offset=this._vertAttribSize,this._vertAttribSize+=k_[r.format].size):1===r.stream&&(r.offset=this._vertAttribSizeStatic,this._vertAttribSizeStatic+=k_[r.format].size)}this._vertAttrsFloatCount=this._vertAttribSize/4,this._vertStaticAttrsFloatCount=this._vertAttribSizeStatic/4,this.rebuild()}},i.createSubMeshData=function(){this.destroySubMeshData(),this._vertCount=4,this._indexCount=6,this._mesh&&(this._vertCount=this._mesh.struct.vertexBundles[this._mesh.struct.primitives[0].vertexBundelIndices[0]].view.count,this._indexCount=this._mesh.struct.primitives[0].indexView.count);var t=this._device.createBuffer(new Jc(Jl.VERTEX|Jl.TRANSFER_DST,$l.HOST|$l.DEVICE,this._vertAttribSize*this._bufferSize*this._vertCount,this._vertAttribSize)),e=new ArrayBuffer(this._vertAttribSize*this._bufferSize*this._vertCount);if(this._mesh&&this._capacity>0){var i=this._vertAttrs[this._vertAttrs.findIndex((function(t){return t.name===Pc.ATTR_TEX_COORD}))].offset;this._mesh.copyAttribute(0,Pc.ATTR_TEX_COORD,e,this._vertAttribSize,i);var n=this._vertAttrs.findIndex((function(t){return t.name===Pc.ATTR_TEX_COORD3}));if(i=this._vertAttrs[n++].offset,this._mesh.copyAttribute(0,Pc.ATTR_POSITION,e,this._vertAttribSize,i),i=this._vertAttrs[n++].offset,this._mesh.copyAttribute(0,Pc.ATTR_NORMAL,e,this._vertAttribSize,i),i=this._vertAttrs[n++].offset,!this._mesh.copyAttribute(0,Pc.ATTR_COLOR,e,this._vertAttribSize,i))for(var r=new Uint32Array(e),s=0;s0){this._mesh.copyIndices(0,h);for(var u=1;u=this._particleSystem.capacity?null:this._particles.add()},i.getDefaultTrailMaterial=function(){return this._defaultTrailMat},i.setNewParticle=function(){},i._initModuleList=function(){var t=this;kut.forEach((function(e){if(t._particleSystem){var i=t._particleSystem[e];i&&i.enable&&(i.needUpdate&&(t._updateList[i.name]=i),i.needAnimate&&(t._animateList[i.name]=i))}})),this._runAnimateList.length=0;for(var e=0,i=vat.length;e0,this._particles.length},i.getNoisePreview=function(t,e,i){var n=this;this._runAnimateList.forEach((function(r){r.name===yat&&r.getNoisePreview(t,n._particleSystem,e,i)}))},i.updateRenderData=function(){for(var t=0,e=0;e=(null===(t=this._particleSystem)||void 0===t?void 0:t.capacity)?null:this._tempParticle},i.setNewParticle=function(t){this._particleSystem&&(this._model.addGPUParticleVertexData(t,this._particleNum,this._particleSystem.time),this._particleNum++)},i.getDefaultMaterial=function(){return this._defaultMat},i.updateRotation=function(t){t&&this.doUpdateRotation(t)},i.doUpdateRotation=function(t){if(this._renderInfo.renderMode===Cat.Mesh||this._alignSpace!==Eat.View){var e;if(this._alignSpace===Eat.Local)null===(e=this._particleSystem)||void 0===e||e.node.getRotation($ut);else if(this._alignSpace===Eat.World){var i;null===(i=this._particleSystem)||void 0===i||i.node.getWorldRotation($ut)}else if(this._alignSpace===Eat.View){var n,r;$ut.set(0,0,0,1);var s=null===(n=this._particleSystem)||void 0===n||null===(r=n.node.scene.renderScene)||void 0===r?void 0:r.cameras;if(void 0!==s&&this._particleSystem)for(var a=0;a<(null==s?void 0:s.length);++a){var o=s[a];if((o.visibility&this._particleSystem.node.layer)===this._particleSystem.node.layer){bn.fromViewUp($ut,o.forward);break}}}else $ut.set(0,0,0,1);t.setUniform(this._uNodeRotHandle,$ut)}},i.updateScale=function(t){t&&this.doUpdateScale(t)},i.doUpdateScale=function(t){var e,i=this._node_scale;switch(null===(e=this._particleSystem)||void 0===e?void 0:e.scaleSpace){case Aat.Local:this._particleSystem.node.getScale(i);break;case Aat.World:this._particleSystem.node.getWorldScale(i)}t.setUniform(t.getHandle("scale"),Kut.set(i.x,i.y,i.z))},i.updateParticles=function(t){return this._particleSystem?(this._particleNum=this._model.updateGPUParticles(this._particleNum,this._particleSystem.time,t),this.updateShaderUniform(t),this._model.enabled=this._particleNum>0,this._particleNum):this._particleNum},i.updateRenderData=function(){},i.beforeRender=function(){this._model.updateIA(this._particleNum)},i.updateAlignSpace=function(t){this._alignSpace=t},i.updateShaderUniform=function(t){if(this._particleSystem){var e=this._particleSystem.getMaterialInstance(0)||this._defaultMat;if(e){var i=e.passes[0];Zut.x=this._particleSystem.time,Zut.y=t,i.setUniform(this._uTimeHandle,Zut),this._particleSystem.node.getWorldRotation(Qut),i.setUniform(this._uRotHandle,Qut),this.doUpdateRotation(i)}}},i.initShaderUniform=function(t){var e,i,n,r,s,a,o=t.passes[0];this._uTimeHandle=o.getHandle("u_timeDelta"),this._uRotHandle=o.getHandle("u_worldRot"),this._uNodeRotHandle=o.getHandle("nodeRotation"),this.doUpdateScale(o),o.setUniform(o.getHandle("frameTile_velLenScale"),this._unifrom_velLenScale),Zut.x=Tlt,Zut.y=.03125,o.setUniform(o.getHandle("u_sampleInfo"),Zut);var h=!1,u=null===(e=this._particleSystem)||void 0===e?void 0:e._forceOvertimeModule;if(h=!!u&&u.enable,this._defines.FORCE_OVER_TIME_MODULE_ENABLE=h,h){var l=Pst(this._forceTexture,this._forceData,Tlt,u.x,u.y,u.z);this._forceTexture=l.texture,this._forceData=l.texdata;var c=o.getHandle("force_over_time_tex0"),_=dT.getBindingFromHandle(c);o.bindSampler(_,this._forceTexture.getGFXSampler()),o.bindTexture(_,this._forceTexture.getGFXTexture());var f=o.getHandle("u_force_space");o.setUniform(f,u.space);var d=o.getHandle("u_force_mode");o.setUniform(d,this._forceTexture.height)}var p=null===(i=this._particleSystem)||void 0===i?void 0:i._velocityOvertimeModule;if(h=!!p&&p.enable,this._defines.VELOCITY_OVER_TIME_MODULE_ENABLE=h,h){var m=function(t,e,i,n,r,s,a){var o=Math.max(Bst(n),Bst(r),Bst(s),Bst(a)),h=i*o*4;null!==e&&e.length===h||(e=new Float32Array(i*o*4));for(var u=[n,r,s,a],l=0;l=8&&t.getFormatFeatures(Yl.RGBA32F)&(nc.RENDER_TARGET|nc.SAMPLED_TEXTURE))||(v.warn("Maybe the device has restrictions on vertex textures or does not support float textures."),!1)}var Nlt,klt,Glt,Vlt,Ult,zlt,Hlt,Wlt,Xlt,jlt,Ylt,qlt,Klt,Jlt,Zlt,Qlt,$lt,tct,ect,ict,nct,rct,sct,act,oct,hct,uct,lct,cct,_ct,fct,dct,pct,mct,gct,yct,vct,Sct,Tct,Act,bct,Ect,Cct,xct,wct,Rct,Ict,Dct,Bct,Mct,Pct,Oct,Lct,Fct,Nct,kct,Gct,Vct,Uct,zct,Hct,Wct,Xct,jct,Yct,qct,Kct,Jct,Zct,Qct,$ct,t_t,e_t,i_t,n_t,r_t,s_t,a_t,o_t,h_t,u_t,l_t,c_t,__t,f_t,d_t,p_t,m_t,g_t,y_t,v_t,S_t,T_t,A_t,b_t,E_t,C_t,x_t,w_t,R_t,I_t,D_t,B_t,M_t,P_t,O_t,L_t,F_t,N_t,k_t,G_t,V_t,U_t,z_t,H_t,W_t,X_t,j_t,Y_t,q_t,K_t,J_t,Z_t,Q_t,$_t,tft,eft,ift,nft,rft,sft,aft,oft,hft,uft,lft,cft,_ft,fft,dft,pft,mft,gft,yft,vft,Sft=(tlt=Js("cc.ParticleSystemRenderer"),elt=Ia(Cat),ilt=Ia(Cat),nlt=Ia(YF),rlt=Ia(MT),slt=Ia(MT),alt=Ia(MT),olt=Ia(MT),hlt=Ia(Eat),tlt(((Slt=function(){function t(){this._renderMode=clt&&clt(),this._velocityScale=_lt&&_lt(),this._lengthScale=flt&&flt(),this._mesh=dlt&&dlt(),this._cpuMaterial=plt&&plt(),this._gpuMaterial=mlt&&mlt(),this._mainTexture=glt&&glt(),this._useGPU=ylt&&ylt(),this._alignSpace=vlt&&vlt(),this._particleSystem=null}var e=t.prototype;return e.create=function(t){null===this._particleSystem?this._particleSystem=t:this._particleSystem!==t&&Q(6033)},e.onInit=function(t){this.create(t);var e=this._useGPU&&Flt();this._particleSystem.processor?Q(6034):(this._particleSystem.processor=e?new Llt(this):new qut(this),this._particleSystem.processor.updateAlignSpace(this.alignSpace),this._particleSystem.processor.onInit(t)),e?this.gpuMaterial=this.particleMaterial:(this.particleMaterial&&-1!==this.particleMaterial.effectName.indexOf("particle-gpu")&&(this.particleMaterial=null,J(6035)),this.cpuMaterial=this.particleMaterial)},e._switchProcessor=function(){if(this._particleSystem){this._particleSystem.processor&&(this._particleSystem.processor.detachFromScene(),this._particleSystem.processor.clear(),this._particleSystem.processor=null);var t=this._useGPU&&Flt();!t&&this.cpuMaterial&&(this.particleMaterial=this.cpuMaterial),t&&this.gpuMaterial&&(this.particleMaterial=this.gpuMaterial),this._particleSystem.processor=t?new Llt(this):new qut(this),this._particleSystem.processor.updateAlignSpace(this.alignSpace),this._particleSystem.processor.onInit(this._particleSystem),this._particleSystem.processor.onEnable(),this._particleSystem.bindModule()}},n(t,[{key:"renderMode",get:function(){return this._renderMode},set:function(t){this._renderMode!==t&&(this._renderMode=t,this._particleSystem&&this._particleSystem.processor.updateRenderMode())}},{key:"velocityScale",get:function(){return this._velocityScale},set:function(t){this._velocityScale=t,this._particleSystem&&this._particleSystem.processor.updateMaterialParams()}},{key:"lengthScale",get:function(){return this._lengthScale},set:function(t){this._lengthScale=t,this._particleSystem&&this._particleSystem.processor.updateMaterialParams()}},{key:"mesh",get:function(){return this._mesh},set:function(t){this._mesh=t,this._particleSystem&&this._particleSystem.processor.setVertexAttributes()}},{key:"particleMaterial",get:function(){return this._particleSystem?this._particleSystem.getSharedMaterial(0):null},set:function(t){this._particleSystem&&this._particleSystem.setSharedMaterial(t,0)}},{key:"cpuMaterial",get:function(){return this._cpuMaterial},set:function(t){if(null!==t){var e=t.effectName;-1!==e.indexOf("particle")&&-1===e.indexOf("particle-gpu")?(this._cpuMaterial=t,this.particleMaterial=this._cpuMaterial):J(6035)}}},{key:"gpuMaterial",get:function(){return this._gpuMaterial},set:function(t){null!==t&&(-1!==t.effectName.indexOf("particle-gpu")?(this._gpuMaterial=t,this.particleMaterial=this._gpuMaterial):J(6035))}},{key:"trailMaterial",get:function(){return this._particleSystem?this._particleSystem.getSharedMaterial(1):null},set:function(t){this._particleSystem&&this._particleSystem.setSharedMaterial(t,1)}},{key:"mainTexture",get:function(){return this._mainTexture},set:function(t){this._mainTexture=t}},{key:"useGPU",get:function(){return this._useGPU},set:function(t){this._useGPU!==t&&(Flt()?this._useGPU=t:this._useGPU=!1,this._switchProcessor())}},{key:"alignSpace",get:function(){return this._alignSpace},set:function(t){this._alignSpace=t,this._particleSystem.processor.updateAlignSpace(this._alignSpace)}}]),t}()).AlignmentSpace=Eat,p((llt=Slt).prototype,"renderMode",[elt],Object.getOwnPropertyDescriptor(llt.prototype,"renderMode"),llt.prototype),clt=Us(llt.prototype,"_renderMode",[ilt,sa],(function(){return Cat.Billboard})),_lt=Us(llt.prototype,"_velocityScale",[sa],(function(){return 1})),flt=Us(llt.prototype,"_lengthScale",[sa],(function(){return 1})),dlt=Us(llt.prototype,"_mesh",[sa],(function(){return null})),p(llt.prototype,"mesh",[nlt],Object.getOwnPropertyDescriptor(llt.prototype,"mesh"),llt.prototype),p(llt.prototype,"particleMaterial",[rlt],Object.getOwnPropertyDescriptor(llt.prototype,"particleMaterial"),llt.prototype),p(llt.prototype,"cpuMaterial",[slt],Object.getOwnPropertyDescriptor(llt.prototype,"cpuMaterial"),llt.prototype),plt=Us(llt.prototype,"_cpuMaterial",[sa],(function(){return null})),p(llt.prototype,"gpuMaterial",[alt],Object.getOwnPropertyDescriptor(llt.prototype,"gpuMaterial"),llt.prototype),mlt=Us(llt.prototype,"_gpuMaterial",[sa],(function(){return null})),p(llt.prototype,"trailMaterial",[olt],Object.getOwnPropertyDescriptor(llt.prototype,"trailMaterial"),llt.prototype),glt=Us(llt.prototype,"_mainTexture",[sa],(function(){return null})),ylt=Us(llt.prototype,"_useGPU",[sa],(function(){return!1})),p(llt.prototype,"alignSpace",[hlt],Object.getOwnPropertyDescriptor(llt.prototype,"alignSpace"),llt.prototype),vlt=Us(llt.prototype,"_alignSpace",[sa],(function(){return Eat.View})),ult=llt))||ult),Tft=Math.cos(Pi(100)),Aft={position:new un,velocity:new un},bft=new bn,Eft=new un,Cft=new un,xft=new mn,wft=function(){function t(t){for(this.start=void 0,this.end=void 0,this.trailElements=void 0,this.start=-1,this.end=-1,this.trailElements=[];t--;)this.trailElements.push({position:new un,lifetime:0,width:0,velocity:new un,direction:0,color:new mn})}var e=t.prototype;return e.getElement=function(t){return-1===this.start?null:(t<0&&(t=(t+this.trailElements.length)%this.trailElements.length),t>=this.trailElements.length&&(t%=this.trailElements.length),this.trailElements[t])},e.addElement=function(){if(0===this.trailElements.length)return null;if(-1===this.start)return this.start=0,this.end=1,this.trailElements[0];this.start===this.end&&(this.trailElements.splice(this.end,0,{position:new un,lifetime:0,width:0,velocity:new un,direction:0,color:new mn}),this.start++,this.start%=this.trailElements.length);var t=this.end++;return this.end%=this.trailElements.length,this.trailElements[t]},e.iterateElement=function(t,e,i,n){for(var r=this.start>=this.end?this.end+this.trailElements.length:this.end,s=this.start;st.lastLoop)t.trailDelay>1?(t.lastLoop=t.loopCount,t.trailDelay=0):t.trailDelay++;else{var i=this._particleTrail.get(t);if(!i)return i=this._trailSegments.alloc(),void this._particleTrail.set(t,i);var n=i.getElement(i.end-1);if(this._needTransform?un.transformMat4(Eft,t.position,this._psTransform):un.copy(Eft,t.position),!(n&&(i.iterateElement(this,this._updateTrailElement,t,e),un.squaredDistance(n.position,Eft)2){var a=i.getElement(i.end-2),o=i.getElement(i.end-3);un.subtract(Eft,o.position,a.position),un.subtract(Cft,n.position,a.position),un.subtract(a.velocity,Cft,Eft),un.equals(un.ZERO,a.velocity)&&un.copy(a.velocity,Eft),un.normalize(a.velocity,a.velocity),this._checkDirectionReverse(a,o)}this.colorFromParticle?n.color.set(t.color):n.color.set(this.colorOvertime.evaluate(0,1))}}},t.removeParticle=function(t){var e=this._particleTrail.get(t);e&&this._trailSegments&&(e.clear(),this._trailSegments.free(e),this._particleTrail.delete(t))},t.updateRenderData=function(){this.vbOffset=0,this.ibOffset=0;for(var t,e=f(this._particleTrail.keys());!(t=e()).done;){var i=t.value,n=this._particleTrail.get(i);if(-1!==n.start){var r=4*this.vbOffset/this._vertSize,s=n.start>=n.end?n.end+n.trailElements.length:n.end,a=s-n.start,o=1/a,h=n.trailElements[n.start];this._fillVertexBuffer(h,this.colorOverTrail.evaluate(1,1),r,1,0,4);for(var u=n.start+1;u2){var p=n.getElement(n.end-1),m=n.getElement(n.end-2);un.subtract(Eft,m.position,p.position),un.subtract(Cft,Aft.position,p.position),un.normalize(Eft,Eft),un.normalize(Cft,Cft),un.subtract(p.velocity,Cft,Eft),un.normalize(p.velocity,p.velocity),this._checkDirectionReverse(p,m),this.vbOffset-=this._vertSize/4*2,this.ibOffset-=6,this._fillVertexBuffer(p,this.colorOverTrail.evaluate(o,1),r,o,a-1,5),un.subtract(Aft.velocity,Aft.position,p.position),un.normalize(Aft.velocity,Aft.velocity),this._checkDirectionReverse(Aft,p)}this.widthFromParticle?Aft.width=i.size.x*this.widthRatio.evaluate(0,1):Aft.width=this.widthRatio.evaluate(0,1),Aft.color=i.color,un.equals(Aft.velocity,un.ZERO)?this.ibOffset-=3:this._fillVertexBuffer(Aft,this.colorOverTrail.evaluate(0,1),r,0,a,1)}}this._trailModel&&(this._trailModel.enabled=this.ibOffset>0)},t.updateIA=function(t){var e=this._trailModel&&this._trailModel.subModels;if(e&&e.length>0){var i=e[0];i.inputAssembler.vertexBuffers[0].update(this._vbF32),i.inputAssembler.indexBuffer.update(this._iBuffer),i.inputAssembler.firstIndex=0,i.inputAssembler.indexCount=t,i.inputAssembler.vertexCount=this._iaVertCount}},t.beforeRender=function(){this.updateIA(this.ibOffset)},t._createModel=function(){this._trailModel||(this._trailModel=v.director.root.createModel(xO))},t.rebuild=function(){var t=dF.root.device,e=t.createBuffer(new Jc(Jl.VERTEX|Jl.TRANSFER_DST,$l.HOST|$l.DEVICE,this._vertSize*(this._trailNum+1)*2,this._vertSize)),i=new ArrayBuffer(this._vertSize*(this._trailNum+1)*2);this._vbF32=new Float32Array(i),this._vbUint32=new Uint32Array(i),e.update(i);var n=t.createBuffer(new Jc(Jl.INDEX|Jl.TRANSFER_DST,$l.HOST|$l.DEVICE,6*Math.max(1,this._trailNum)*Uint16Array.BYTES_PER_ELEMENT,Uint16Array.BYTES_PER_ELEMENT));this._iBuffer=new Uint16Array(6*Math.max(1,this._trailNum)),n.update(this._iBuffer),this._iaVertCount=2*(this._trailNum+1),this._iaIndexCount=6*this._trailNum,this._subMeshData=new PR([e],this._vertAttrs,vc.TRIANGLE_LIST,n);var r=this._trailModel;r&&this._material&&(r.node=r.transform=this._particleSystem.node,r.visFlags=this._particleSystem.visibility,r.initSubModel(0,this._subMeshData,this._material),r.enabled=!0)},t._updateTrailElement=function(t,e,i,n){return e.lifetime+=n,t.colorFromParticle?(e.color.set(i.color),e.color.multiply(t.colorOvertime.evaluate(1-i.remainingLifetime/i.startLifetime,1))):e.color.set(t.colorOvertime.evaluate(1-i.remainingLifetime/i.startLifetime,1)),t.widthFromParticle?e.width=i.size.x*t.widthRatio.evaluate(e.lifetime/t._trailLifetime,1):e.width=t.widthRatio.evaluate(e.lifetime/t._trailLifetime,1),e.lifetime>t._trailLifetime},t._fillVertexBuffer=function(t,e,i,n,r,s){this._vbF32[this.vbOffset++]=t.position.x,this._vbF32[this.vbOffset++]=t.position.y,this._vbF32[this.vbOffset++]=t.position.z,this._vbF32[this.vbOffset++]=t.direction,this._vbF32[this.vbOffset++]=t.width,this._vbF32[this.vbOffset++]=n,this._vbF32[this.vbOffset++]=0,this._vbF32[this.vbOffset++]=t.velocity.x,this._vbF32[this.vbOffset++]=t.velocity.y,this._vbF32[this.vbOffset++]=t.velocity.z,xft.set(t.color),xft.multiply(e),this._vbUint32[this.vbOffset++]=xft._val,this._vbF32[this.vbOffset++]=t.position.x,this._vbF32[this.vbOffset++]=t.position.y,this._vbF32[this.vbOffset++]=t.position.z,this._vbF32[this.vbOffset++]=1-t.direction,this._vbF32[this.vbOffset++]=t.width,this._vbF32[this.vbOffset++]=n,this._vbF32[this.vbOffset++]=1,this._vbF32[this.vbOffset++]=t.velocity.x,this._vbF32[this.vbOffset++]=t.velocity.y,this._vbF32[this.vbOffset++]=t.velocity.z,this._vbUint32[this.vbOffset++]=xft._val,1&s&&(this._iBuffer[this.ibOffset++]=i+2*r,this._iBuffer[this.ibOffset++]=i+2*r-1,this._iBuffer[this.ibOffset++]=i+2*r+1),4&s&&(this._iBuffer[this.ibOffset++]=i+2*r,this._iBuffer[this.ibOffset++]=i+2*r+1,this._iBuffer[this.ibOffset++]=i+2*r+2)},t._checkDirectionReverse=function(t,e){un.dot(t.velocity,e.velocity)0&&!this._isCulled&&(null!==(e=this.processor.getModel())&&void 0!==e&&e.scene||this.processor.attachToScene(),this._trailModule&&this._trailModule.enable&&(null!==(i=this._trailModule.getModel())&&void 0!==i&&i.scene||this._trailModule._attachToScene()),this._needAttach=!1);!this.renderer.useGPU&&this._trailModule&&this._trailModule.enable&&(this._trailModule.inited||(this._trailModule.clear(),this._trailModule.destroy(),this._trailModule.onInit(this),this._trailModule.enable=!1,this._trailModule.enable=!0))},i.beforeRender=function(){var t,e;this.getParticleCount()<=0?null!==(e=this.processor.getModel())&&void 0!==e&&e.scene&&(this.processor.detachFromScene(),this._trailModule&&this._trailModule.enable&&this._trailModule._detachFromScene(),this._needAttach=!1):null!==(t=this.processor.getModel())&&void 0!==t&&t.scene||(this._needAttach=!0),this._isPlaying&&(this.processor.updateRenderData(),this.processor.beforeRender(),this._trailModule&&this._trailModule.enable&&(this._trailModule.updateRenderData(),this._trailModule.beforeRender()))},i._onVisibilityChange=function(t){this.processor.model&&(this.processor.model.visFlags=t)},i.emit=function(t,e){var i=this._time%this.duration/this.duration;this._needRefresh&&(this.node.invalidateChildren(hm.POSITION),this._needRefresh=!1),this._simulationSpace===Aat.World&&(this.node.getWorldMatrix(kft),this.node.getWorldRotation(Gft));for(var n=0;ne){if(this._time>this.duration+e&&(this.loop||(this._isEmitting=!1)),!this._isEmitting)return;if(this._emitRateTimeCounter+=this.rateOverTime.evaluate(this._time/this.duration,1)*t,this._emitRateTimeCounter>1){var i=Math.floor(this._emitRateTimeCounter);this._emitRateTimeCounter-=i,this.emit(i,t)}var n=this.rateOverDistance.evaluate(this._time/this.duration,1);if(n>0){un.copy(this._oldWPos,this._curWPos),this.node.getWorldPosition(this._curWPos);var r=un.distance(this._curWPos,this._oldWPos);this._emitRateDistanceCounter+=r*n}if(this._emitRateDistanceCounter>1){var s=Math.floor(this._emitRateDistanceCounter);this._emitRateDistanceCounter-=s,this.emit(s,t)}for(var a,o=f(this.bursts);!(a=o()).done;)a.value.update(this,t)}},i._resetPosition=function(){this.node.getWorldPosition(this._oldWPos),un.copy(this._curWPos,this._oldWPos)},i.addSubEmitter=function(t){this._subEmitters.push(t)},i.removeSubEmitter=function(t){this._subEmitters.splice(this._subEmitters.indexOf(t),1)},i.addBurst=function(t){this.bursts.push(t)},i.removeBurst=function(t){this.bursts.splice(this.bursts.indexOf(t),1)},i.getBoundingX=function(){return this._aabbHalfX},i.getBoundingY=function(){return this._aabbHalfY},i.getBoundingZ=function(){return this._aabbHalfZ},i.setBoundingX=function(t){this._boundingBox&&this._culler&&(this._boundingBox.halfExtents.x=t,this._culler.setBoundingBoxSize(this._boundingBox.halfExtents),this._aabbHalfX=t)},i.setBoundingY=function(t){this._boundingBox&&this._culler&&(this._boundingBox.halfExtents.y=t,this._culler.setBoundingBoxSize(this._boundingBox.halfExtents),this._aabbHalfY=t)},i.setBoundingZ=function(t){this._boundingBox&&this._culler&&(this._boundingBox.halfExtents.z=t,this._culler.setBoundingBoxSize(this._boundingBox.halfExtents),this._aabbHalfZ=t)},i._onBeforeSerialize=function(t){var e=this;return this.dataCulling?t.filter((function(t){return!Sat.includes(t)||e[t]&&e[t].enable})):t},i.getNoisePreview=function(t,e){var i=[];return this.processor&&this.processor.getNoisePreview(i,t,e),i},n(e,[{key:"capacity",get:function(){return this._capacity},set:function(t){this._capacity=Math.floor(t>0?t:0),this.processor&&this.processor.model&&this.processor.model.setCapacity(this._capacity)}},{key:"prewarm",get:function(){return this._prewarm},set:function(t){!0===t&&this.loop,this._prewarm=t}},{key:"simulationSpace",get:function(){return this._simulationSpace},set:function(t){t!==this._simulationSpace&&(this._simulationSpace=t,this.processor&&(this.processor.updateMaterialParams(),this.processor.updateTrailMaterial()))}},{key:"renderCulling",get:function(){return this._renderCulling},set:function(t){this._renderCulling=t,t&&(this._boundingBox||(this._boundingBox=new bs,this._calculateBounding(!1)))}},{key:"cullingMode",get:function(){return this._cullingMode},set:function(t){this._cullingMode=t}},{key:"aabbHalfX",get:function(){return this.getBoundingX()||0},set:function(t){this.setBoundingX(t)}},{key:"aabbHalfY",get:function(){return this.getBoundingY()||0},set:function(t){this.setBoundingY(t)}},{key:"aabbHalfZ",get:function(){return this.getBoundingZ()||0},set:function(t){this.setBoundingZ(t)}},{key:"dataCulling",get:function(){return this._dataCulling},set:function(t){this._dataCulling=t}},{key:"sharedMaterials",get:function(){return Vft.get.call(this)},set:function(t){Vft.set.call(this,t)}},{key:"colorOverLifetimeModule",get:function(){return this._colorOverLifetimeModule},set:function(t){t&&(this._colorOverLifetimeModule=t)}},{key:"shapeModule",get:function(){return this._shapeModule},set:function(t){t&&(this._shapeModule=t)}},{key:"sizeOvertimeModule",get:function(){return this._sizeOvertimeModule},set:function(t){t&&(this._sizeOvertimeModule=t)}},{key:"velocityOvertimeModule",get:function(){return this._velocityOvertimeModule},set:function(t){t&&(this._velocityOvertimeModule=t)}},{key:"forceOvertimeModule",get:function(){return this._forceOvertimeModule},set:function(t){t&&(this._forceOvertimeModule=t)}},{key:"limitVelocityOvertimeModule",get:function(){return this._limitVelocityOvertimeModule},set:function(t){t&&(this._limitVelocityOvertimeModule=t)}},{key:"rotationOvertimeModule",get:function(){return this._rotationOvertimeModule},set:function(t){t&&(this._rotationOvertimeModule=t)}},{key:"textureAnimationModule",get:function(){return this._textureAnimationModule},set:function(t){t&&(this._textureAnimationModule=t)}},{key:"noiseModule",get:function(){return this._noiseModule},set:function(t){t&&(this._noiseModule=t)}},{key:"trailModule",get:function(){return this._trailModule},set:function(t){t&&(this._trailModule=t)}},{key:"isPlaying",get:function(){return this._isPlaying}},{key:"isPaused",get:function(){return this._isPaused}},{key:"isStopped",get:function(){return this._isStopped}},{key:"isEmitting",get:function(){return this._isEmitting}},{key:"time",get:function(){return this._time}}]),e}(cW)).CullingMode=bat,M_t=Us((B_t=vft).prototype,"startColor",[Gct,sa],(function(){return new nat})),P_t=Us(B_t.prototype,"scaleSpace",[Vct,sa],(function(){return Aat.Local})),O_t=Us(B_t.prototype,"startSize3D",[sa],(function(){return!1})),L_t=Us(B_t.prototype,"startSizeX",[Uct,zct],(function(){return new Ist})),F_t=Us(B_t.prototype,"startSizeY",[Hct,sa],(function(){return new Ist})),N_t=Us(B_t.prototype,"startSizeZ",[Wct,sa],(function(){return new Ist})),k_t=Us(B_t.prototype,"startSpeed",[Xct,sa],(function(){return new Ist})),G_t=Us(B_t.prototype,"startRotation3D",[sa],(function(){return!1})),V_t=Us(B_t.prototype,"startRotationX",[jct,sa],(function(){return new Ist})),U_t=Us(B_t.prototype,"startRotationY",[Yct,sa],(function(){return new Ist})),z_t=Us(B_t.prototype,"startRotationZ",[qct,Kct],(function(){return new Ist})),H_t=Us(B_t.prototype,"startDelay",[Jct,sa],(function(){return new Ist})),W_t=Us(B_t.prototype,"startLifetime",[Zct,sa],(function(){return new Ist})),X_t=Us(B_t.prototype,"duration",[sa],(function(){return 5})),j_t=Us(B_t.prototype,"loop",[sa],(function(){return!0})),p(B_t.prototype,"simulationSpace",[Qct,sa],Object.getOwnPropertyDescriptor(B_t.prototype,"simulationSpace"),B_t.prototype),Y_t=Us(B_t.prototype,"simulationSpeed",[sa],(function(){return 1})),q_t=Us(B_t.prototype,"playOnAwake",[sa],(function(){return!0})),K_t=Us(B_t.prototype,"gravityModifier",[$ct,sa],(function(){return new Ist})),J_t=Us(B_t.prototype,"rateOverTime",[t_t,sa],(function(){return new Ist})),Z_t=Us(B_t.prototype,"rateOverDistance",[e_t,sa],(function(){return new Ist})),Q_t=Us(B_t.prototype,"bursts",[i_t,sa],(function(){return[]})),p(B_t.prototype,"renderCulling",[n_t],Object.getOwnPropertyDescriptor(B_t.prototype,"renderCulling"),B_t.prototype),$_t=Us(B_t.prototype,"_renderCulling",[sa],(function(){return!1})),p(B_t.prototype,"cullingMode",[r_t],Object.getOwnPropertyDescriptor(B_t.prototype,"cullingMode"),B_t.prototype),tft=Us(B_t.prototype,"_cullingMode",[sa],(function(){return bat.Pause})),p(B_t.prototype,"aabbHalfX",[s_t],Object.getOwnPropertyDescriptor(B_t.prototype,"aabbHalfX"),B_t.prototype),eft=Us(B_t.prototype,"_aabbHalfX",[sa],(function(){return 0})),p(B_t.prototype,"aabbHalfY",[a_t],Object.getOwnPropertyDescriptor(B_t.prototype,"aabbHalfY"),B_t.prototype),ift=Us(B_t.prototype,"_aabbHalfY",[sa],(function(){return 0})),p(B_t.prototype,"aabbHalfZ",[o_t],Object.getOwnPropertyDescriptor(B_t.prototype,"aabbHalfZ"),B_t.prototype),nft=Us(B_t.prototype,"_aabbHalfZ",[sa],(function(){return 0})),rft=Us(B_t.prototype,"_dataCulling",[sa,h_t],(function(){return!1})),p(B_t.prototype,"sharedMaterials",[Da,sa],Object.getOwnPropertyDescriptor(B_t.prototype,"sharedMaterials"),B_t.prototype),sft=Us(B_t.prototype,"_colorOverLifetimeModule",[u_t],(function(){return null})),p(B_t.prototype,"colorOverLifetimeModule",[l_t],Object.getOwnPropertyDescriptor(B_t.prototype,"colorOverLifetimeModule"),B_t.prototype),aft=Us(B_t.prototype,"_shapeModule",[c_t],(function(){return null})),p(B_t.prototype,"shapeModule",[__t],Object.getOwnPropertyDescriptor(B_t.prototype,"shapeModule"),B_t.prototype),oft=Us(B_t.prototype,"_sizeOvertimeModule",[f_t],(function(){return null})),p(B_t.prototype,"sizeOvertimeModule",[d_t],Object.getOwnPropertyDescriptor(B_t.prototype,"sizeOvertimeModule"),B_t.prototype),hft=Us(B_t.prototype,"_velocityOvertimeModule",[p_t],(function(){return null})),p(B_t.prototype,"velocityOvertimeModule",[m_t],Object.getOwnPropertyDescriptor(B_t.prototype,"velocityOvertimeModule"),B_t.prototype),uft=Us(B_t.prototype,"_forceOvertimeModule",[g_t],(function(){return null})),p(B_t.prototype,"forceOvertimeModule",[y_t],Object.getOwnPropertyDescriptor(B_t.prototype,"forceOvertimeModule"),B_t.prototype),lft=Us(B_t.prototype,"_limitVelocityOvertimeModule",[v_t],(function(){return null})),p(B_t.prototype,"limitVelocityOvertimeModule",[S_t],Object.getOwnPropertyDescriptor(B_t.prototype,"limitVelocityOvertimeModule"),B_t.prototype),cft=Us(B_t.prototype,"_rotationOvertimeModule",[T_t],(function(){return null})),p(B_t.prototype,"rotationOvertimeModule",[A_t],Object.getOwnPropertyDescriptor(B_t.prototype,"rotationOvertimeModule"),B_t.prototype),_ft=Us(B_t.prototype,"_textureAnimationModule",[b_t],(function(){return null})),p(B_t.prototype,"textureAnimationModule",[E_t],Object.getOwnPropertyDescriptor(B_t.prototype,"textureAnimationModule"),B_t.prototype),fft=Us(B_t.prototype,"_noiseModule",[C_t],(function(){return null})),p(B_t.prototype,"noiseModule",[x_t],Object.getOwnPropertyDescriptor(B_t.prototype,"noiseModule"),B_t.prototype),dft=Us(B_t.prototype,"_trailModule",[w_t],(function(){return null})),p(B_t.prototype,"trailModule",[R_t],Object.getOwnPropertyDescriptor(B_t.prototype,"trailModule"),B_t.prototype),pft=Us(B_t.prototype,"renderer",[I_t,sa],(function(){return new Sft})),mft=Us(B_t.prototype,"_prewarm",[sa],(function(){return!1})),gft=Us(B_t.prototype,"_capacity",[sa],(function(){return 100})),yft=Us(B_t.prototype,"_simulationSpace",[sa],(function(){return Aat.Local})),D_t=B_t))||D_t)||D_t)),zft=t("f8",function(){function t(){}return t.instantiate=function(t){return this.registeredSceneEvent||(dF.on(fF.EVENT_BEFORE_SCENE_LAUNCH,this.onSceneUnload,this),this.registeredSceneEvent=!0),this.particleSystemPool.has(t._uuid)||this.particleSystemPool.set(t._uuid,new Ou((function(){return m8(t)||new tg}),1,(function(t){return t.destroy()}))),this.particleSystemPool.get(t._uuid).alloc()},t.destroy=function(t){this.particleSystemPool.has(t._prefab.asset._uuid)&&(this.stop(t),this.particleSystemPool.get(t._prefab.asset._uuid).free(t))},t.play=function(t){for(var e,i=f(t.getComponentsInChildren(Uft));!(e=i()).done;)e.value.play()},t.stop=function(t){for(var e,i=f(t.getComponentsInChildren(Uft));!(e=i()).done;)e.value.stop()},t.onSceneUnload=function(){this.particleSystemPool.forEach((function(t){return t.destroy()})),this.particleSystemPool.clear()},t}());zft.particleSystemPool=new Map,zft.registeredSceneEvent=!1,at(Aut.prototype,"Burst.prototype",[{name:"minCount"},{name:"maxCount"}]),st(Uft.prototype,"ParticleSystem.prototype",[{name:"enableCulling",newName:"dataCulling"}]),v.ParticleSystemComponent=Uft,$t(Uft,"cc.ParticleSystemComponent"),v.BillboardComponent=Tst,$t(Tst,"cc.BillboardComponent"),v.LineComponent=aat,$t(aat,"cc.LineComponent"),v.ParticleUtils=zft;var Hft,Wft,Xft,jft=ve({GRAVITY:0,RADIUS:1}),Yft=ve({FREE:0,RELATIVE:1,GROUPED:2}),qft=new kn(0,0),Kft=new kn,Jft=new kn,Zft=new kn,Qft=new kn,$ft=pk(ck),tdt=function(){this.pos=new kn(0,0),this.startPos=new kn(0,0),this.color=new mn(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=new kn(0,0),this.aspectRatio=1,this.dir=new kn(0,0),this.radialAccel=0,this.tangentialAccel=0,this.angle=0,this.degreesPerSecond=0,this.radius=0,this.deltaRadius=0},edt=new(function(t){function e(){return t.apply(this,arguments)||this}return s(e,t),e.prototype.get=function(){return this._get()||new tdt},e}(ae))((function(t){t.pos.set(qft),t.startPos.set(qft),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(qft),t.aspectRatio=1,t.dir.set(qft),t.radialAccel=0,t.tangentialAccel=0,t.angle=0,t.degreesPerSecond=0,t.radius=0,t.deltaRadius=0}),1024),idt=function(){function t(t){this.particles=[],this.active=!1,this.uvFilled=0,this.finished=!1,this.readyToPlay=!0,this.elapsed=0,this.emitCounter=0,this._worldRotation=0,this.sys=t,this.particles=[],this.active=!1,this.readyToPlay=!0,this.finished=!1,this.elapsed=0,this.emitCounter=0,this.uvFilled=0,this._worldRotation=0}var e=t.prototype;return e.stop=function(){this.active=!1,this.readyToPlay=!1,this.elapsed=this.sys.duration,this.emitCounter=0},e.reset=function(){this.active=!0,this.readyToPlay=!0,this.elapsed=0,this.emitCounter=0,this.finished=!1;for(var t=this.particles,e=0;e1?h=o/u:o=h*u;var l=o/2,c=h/2;if(t.rotation){var _=-l,f=-c,d=l,p=c,m=-Ve(t.rotation),g=Math.cos(m),y=Math.sin(m);r[n]=_*g-f*y+s,r[n+1]=_*y+f*g+a,r[n+2]=0,r[n+9]=d*g-f*y+s,r[n+10]=d*y+f*g+a,r[n+11]=0,r[n+18]=_*g-p*y+s,r[n+19]=_*y+p*g+a,r[n+20]=0,r[n+27]=d*g-p*y+s,r[n+28]=d*y+p*g+a,r[n+29]=0}else r[n]=s-l,r[n+1]=a-c,r[n+2]=0,r[n+9]=s+l,r[n+10]=a-c,r[n+11]=0,r[n+18]=s-l,r[n+19]=a+c,r[n+20]=0,r[n+27]=s+l,r[n+28]=a+c,r[n+29]=0;mn.toArray(r,t.color,n+5),mn.toArray(r,t.color,n+14),mn.toArray(r,t.color,n+23),mn.toArray(r,t.color,n+32)},e.step=function(t){var e=this.sys.assembler,i=this.sys,n=i.node,r=this.particles;if(t=t>e.maxParticleDeltaTime?e.maxParticleDeltaTime:t,n.updateWorldTransform(),i.positionType===Yft.FREE){this._worldRotation=function(t){for(var e=0,i=t;i;)e+=i.eulerAngles.z,i=i.parent;return e}(n);var s=n.worldMatrix;Kft.x=s.m12,Kft.y=s.m13}else i.positionType===Yft.RELATIVE?(this._worldRotation=n.eulerAngles.z,Kft.x=n.position.x,Kft.y=n.position.y):this._worldRotation=0;if(this.active&&i.emissionRate){var a=1/i.emissionRate;for(r.lengtha;)this.emitParticle(Kft),this.emitCounter-=a;this.elapsed+=t,-1!==i.duration&&i.durationthis.uvFilled&&this.updateUVs();for(var u=0;u0){if(i.emitterMode===jft.GRAVITY){var c=Qft,_=Jft,f=Zft;(l.pos.x||l.pos.y)&&(_.set(l.pos),_.normalize()),f.set(_),_.multiplyScalar(l.radialAccel);var d=f.x;f.x=-f.y,f.y=d,f.multiplyScalar(l.tangentialAccel),c.set(_),c.add(f),c.add(i.gravity),c.multiplyScalar(t),l.dir.add(c),c.set(l.dir),c.multiplyScalar(t),l.pos.add(c)}else l.angle+=l.degreesPerSecond*t,l.radius+=l.deltaRadius*t,l.pos.x=-Math.cos(l.angle)*l.radius,l.pos.y=-Math.sin(l.angle)*l.radius;l.color.r+=l.deltaColor.r*t,l.color.g+=l.deltaColor.g*t,l.color.b+=l.deltaColor.b*t,l.color.a+=l.deltaColor.a*t,l.size+=l.deltaSize*t,l.size<0&&(l.size=0),l.rotation+=l.deltaRotation*t;var p=Jft;p.set(l.pos),i.positionType!==Yft.GROUPED&&p.add(l.startPos);var m=$ft*u*4;this.updateParticleBuffer(l,p,o,m),++u}else{var g=r[u];u!==r.length-1&&(r[u]=r[r.length-1]),edt.put(g),r.length--,o.resize(o.vertexCount-4,o.indexCount-6)}}this.renderData.material=this.sys.getRenderMaterial(0),this.renderData.frame=this.sys._renderSpriteFrame,o.setRenderDrawInfoAttributes(),0!==r.length||this.active||this.readyToPlay||(this.finished=!0,i._finishedSimulation())},e.requestData=function(t,e){var i=this.renderData.indexCount;this.renderData.request(t,e);for(var n=this.renderData.indexCount/6,r=this.renderData.iData,s=i;s=0?ns;s>=0?++n:--n)t.push(this.data[this.pos++]);break;case"tRNS":switch(this.transparency={},this.colorType){case 3:this.transparency.indexed=this.read(s);var u=255-this.transparency.indexed.length;if(u>0)for(r=0;u>=0?ru;u>=0?++r:--r)this.transparency.indexed.push(255);break;case 0:this.transparency.grayscale=this.read(s)[0];break;case 2:this.transparency.rgb=this.read(s)}break;case"tEXt":var l=this.read(s),c=l.indexOf(0),_=String.fromCharCode.apply(String,l.slice(0,c));this.text[_]=String.fromCharCode.apply(String,l.slice(c+1));break;case"IEND":e&&this.animation.frames.push(e),this.colors=function(){switch(i.colorType){case 0:case 3:case 4:return 1;case 2:case 6:return 3}}.call(this);var f=this.colorType;this.hasAlphaChannel=4===f||6===f;var d=this.colors+(this.hasAlphaChannel?1:0);return this.pixelBitlength=this.bits*d,this.colorSpace=function(){switch(i.colors){case 1:return"DeviceGray";case 3:return"DeviceRGB"}}.call(this),void(this.imgData instanceof Uint8Array||(this.imgData=new Uint8Array(this.imgData)));default:this.pos+=s}if(this.pos+=4,this.pos>this.data.length)throw new Error(it(6017))}}var e=t.prototype;return e.read=function(t){var e=0,i=[];for(e=0;t>=0?et;t>=0?++e:--e)i.push(this.data[this.pos++]);return i},e.readUInt32=function(){return this.data[this.pos++]<<24|this.data[this.pos++]<<16|this.data[this.pos++]<<8|this.data[this.pos++]},e.readUInt16=function(){return this.data[this.pos++]<<8|this.data[this.pos++]},e.decodePixels=function(t){if(null==t&&(t=this.imgData),0===t.length)return new Uint8Array(0);t=new zF.Inflate(t,{index:0,verify:!1}).decompress();for(var e=this.pixelBitlength/8,i=e*this.width,n=new Uint8Array(i*this.height),r=t.length,s=0,a=0,o=0,h=0,u=0,l=0,c=0,_=0,f=0,d=0,p=0,m=0,g=0,y=0,v=0,S=0,T=0,A=0,b=0;a>>8*(4-s)):r.push(n);else for(var a=0;a=8?-1!==["RATIONAL","SRATIONAL"].indexOf(e)?(r.push(this.getUint32(n+o)),r.push(this.getUint32(n+o+4))):q(8e3):r.push(this.getBytes(s,n+o))}return"ASCII"===e&&r.forEach((function(t,e,i){i[e]=String.fromCharCode(t)})),r},e.getBytes=function(t,e){if(t<=0)q(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);q(8002)}return 0},e.getBits=function(t,e,i){i=i||0;var n=e+Math.floor(i/8),r=i+t,s=32-t,a=0,o=0;return r<=0?q(6023):r<=8?(a=24+i,o=this.getUint8(n)):r<=16?(a=16+i,o=this.getUint16(n)):r<=32?(a=i,o=this.getUint32(n)):q(6022),{bits:o<>>s,byteOffset:n+Math.floor(r/8),bitOffset:r%8}},e.parseFileDirectory=function(t){var e=this.getUint16(t),i=[],n=0,r=0;for(n=t+2,r=0;r=0&&L<=127?g=L+1:L>=-127&&L<=-1?y=1-L:x=!0}else{for(var F=this.getUint8(S+b),N=0;N0)for(var a=0;a>4,i=(15&r)<<4|(s=udt[t.charCodeAt(h++)])>>2,n=(3&s)<<6|(a=udt[t.charCodeAt(h++)]),o.push(String.fromCharCode(e)),64!==s&&o.push(String.fromCharCode(i)),64!==a&&o.push(String.fromCharCode(n));return o.join("")},decodeAsArray:function(t,e){var i,n,r,s=this.decode(t),a=[];for(i=0,r=s.length/e;i=0;--n)a[i]+=s.charCodeAt(i*e+n)<<8*n;return a}},fdt=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(fdt.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};fdt.gunzip=function(t){return t.constructor===Array||t.constructor,new fdt(t).gunzip()[0][0]},fdt.HufNode=function(){this.b0=0,this.b1=0,this.jump=null,this.jumppos=-1},fdt.LITERALS=288,fdt.NAMEMAX=256,fdt.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],fdt.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],fdt.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],fdt.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],fdt.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],fdt.border=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],fdt.prototype.gunzip=function(){return this.outputArr=[],this.nextFile(),this.unzipped},fdt.prototype.readByte=function(){return this.bits+=8,this.bytepos>=1,0===this.bb&&(this.bb=this.readByte(),t=1&this.bb,this.bb=this.bb>>1|128),t},fdt.prototype.readBits=function(t){for(var e=0,i=t;i--;)e=e<<1|this.readBit();return t&&(e=fdt.bitReverse[e]>>8-t),e},fdt.prototype.flushBuffer=function(){this.bIdx=0},fdt.prototype.addBuffer=function(t){this.buf32k[this.bIdx++]=t,this.outputArr.push(String.fromCharCode(t)),32768===this.bIdx&&(this.bIdx=0)},fdt.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]++}},fdt.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},fdt.prototype.CreateTree=function(t,e,i){var n;for(this.Places=t,this.treepos=0,this.flens=i,this.fmax=e,n=0;n<17;n++)this.fpos[n]=0;return this.len=0,this.Rec()?-1:0},fdt.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>1)>23?(a=a<<1|this.readBit())>199?a=(a-=128)<<1|this.readBit():(a-=48)>143&&(a+=136):a+=256,a<256)this.addBuffer(a);else{if(256===a)break;for(a-=257,d=this.readBits(fdt.cplext[a])+fdt.cplens[a],a=fdt.bitReverse[this.readBits(5)]>>3,fdt.cpdext[a]>8?(p=this.readBits(8),p|=this.readBits(fdt.cpdext[a]-8)<<8):p=this.readBits(fdt.cpdext[a]),p+=fdt.cpdist[a],a=0;ao)return this.flushBuffer(),1;for(_=i?c[i-1]:0;a--;)c[i++]=_}else{if(i+(a=17===a?3+this.readBits(3):11+this.readBits(7))>o)return this.flushBuffer(),1;for(;a--;)c[i++]=0}for(d=this.literalTree.length,i=0;i=256){var d,p;if(0==(a-=256))break;for(a--,d=this.readBits(fdt.cplext[a])+fdt.cplens[a],a=this.DecodeValue(this.distanceTree),fdt.cpdext[a]>8?(p=this.readBits(8),p|=this.readBits(fdt.cpdext[a]-8)<<8):p=this.readBits(fdt.cpdext[a]),p+=fdt.cpdist[a];d--;)s=this.buf32k[this.bIdx-p&32767],this.addBuffer(s)}else this.addBuffer(a)}}while(!t);return this.flushBuffer(),this.byteAlign(),0},fdt.prototype.unzipFile=function(t){var e;for(this.gunzip(),e=0;e=0;--n)a[i]+=s.charCodeAt(i*e+n)<<8*n;return a},fpt.unzipAsArray=function(t,e){e=e||1;var i,n,r,s=this.unzip(t),a=[];for(i=0,r=s.length/e;i=0;--n)a[i]+=s.charCodeAt(i*e+n)<<8*n;return a},function(t){t[t.JPG=0]="JPG",t[t.PNG=1]="PNG",t[t.TIFF=2]="TIFF",t[t.WEBP=3]="WEBP",t[t.PVR=4]="PVR",t[t.ETC=5]="ETC",t[t.S3TC=6]="S3TC",t[t.ATITC=7]="ATITC",t[t.TGA=8]="TGA",t[t.RAWDATA=9]="RAWDATA",t[t.UNKNOWN=10]="UNKNOWN"}(_pt||(_pt={}));var ppt,mpt,gpt,ypt,vpt,Spt,Tpt,Apt,bpt,Ept,Cpt,xpt=t("fc",(ddt=Js("cc.ParticleSystem2D"),pdt=Ia(rdt),mdt=Ia(mN),gdt=Ia(Yft),ydt=Ia(jft),vdt=aa("preview"),ddt(((cpt=function(t){function e(){var e;return(e=t.call(this)||this).duration=Adt&&Adt(),e.emissionRate=bdt&&bdt(),e.life=Edt&&Edt(),e.lifeVar=Cdt&&Cdt(),e.angle=xdt&&xdt(),e.angleVar=wdt&&wdt(),e.startSize=Rdt&&Rdt(),e.startSizeVar=Idt&&Idt(),e.endSize=Ddt&&Ddt(),e.endSizeVar=Bdt&&Bdt(),e.startSpin=Mdt&&Mdt(),e.startSpinVar=Pdt&&Pdt(),e.endSpin=Odt&&Odt(),e.endSpinVar=Ldt&&Ldt(),e.sourcePos=Fdt&&Fdt(),e.posVar=Ndt&&Ndt(),e.emitterMode=kdt&&kdt(),e.gravity=Gdt&&Gdt(),e.speed=Vdt&&Vdt(),e.speedVar=Udt&&Udt(),e.tangentialAccel=zdt&&zdt(),e.tangentialAccelVar=Hdt&&Hdt(),e.radialAccel=Wdt&&Wdt(),e.radialAccelVar=Xdt&&Xdt(),e.rotationIsDir=jdt&&jdt(),e.startRadius=Ydt&&Ydt(),e.startRadiusVar=qdt&&qdt(),e.endRadius=Kdt&&Kdt(),e.endRadiusVar=Jdt&&Jdt(),e.rotatePerS=Zdt&&Zdt(),e.rotatePerSVar=Qdt&&Qdt(),e.aspectRatio=1,e.playOnLoad=$dt&&$dt(),e.autoRemoveOnFinish=tpt&&tpt(),e._preview=ept&&ept(),e._custom=ipt&&ipt(),e._file=npt&&npt(),e._spriteFrame=rpt&&rpt(),e._totalParticles=spt&&spt(),e._startColor=apt&&apt(),e._startColorVar=opt&&opt(),e._endColor=hpt&&hpt(),e._endColorVar=upt&&upt(),e._positionType=lpt&&lpt(),e._stopped=!0,e._useFile=void 0,e.initProperties(),e._useFile=!1,e}s(e,t);var i=e.prototype;return i.onEnable=function(){t.prototype.onEnable.call(this),this._updateMaterial(),this._updatePositionType()},i.onDestroy=function(){t.prototype.onDestroy.call(this),this.autoRemoveOnFinish&&(this.autoRemoveOnFinish=!1),this._simulator.uvFilled=0,this._simulator.renderData&&this._assembler&&this._assembler.removeData(this._simulator.renderData)},i.initProperties=function(){this._previewTimer=null,this._focused=!1,this.aspectRatio=1,this._simulator=new idt(this)},i.onFocusInEditor=function(){this._focused=!0;for(var t=dpt(this.node),e=0;e=this.totalParticles},i._applyFile=function(){var t=this._file;if(t){if(!t)return void Q(6029);if(!this.isValid)return;this._plistFile=t.nativeUrl,this._custom||(this._spriteFrame!==t.spriteFrame&&(this.spriteFrame=t.spriteFrame),this._initWithDictionary(t._nativeAsset)),this._spriteFrame?!this._renderSpriteFrame&&this._spriteFrame&&this._applySpriteFrame():t.spriteFrame?this.spriteFrame=t.spriteFrame:this._custom&&this._initTextureWithDictionary(t._nativeAsset)}},i._initTextureWithDictionary=function(t){var e,i=this;if(t.spriteFrameUuid){var n=t.spriteFrameUuid;nT.loadAny(n,(function(e,n){e?(t.spriteFrameUuid=void 0,i._initTextureWithDictionary(t),U(e)):i.spriteFrame=n}))}else{var r=gl(this._plistFile,t.textureFileName||"");if(t.textureFileName)nT.loadRemote(r,(function(e,n){e?(t.textureFileName=void 0,i._initTextureWithDictionary(t),U(e)):i.spriteFrame=n?mN.createWithImage(n):mN.createWithImage(hT.get("white-texture"))}));else if(t.textureImageData){var s=t.textureImageData;if(!(s&&s.length>0))return!1;var a=r;this.file&&(a+="-"+this.file.uuid);var o=nT.assets.get(a);if(!o){var h=fpt.unzipBase64AsArray(s,1);if(!h)return J(6030,this._file.name),!1;var u=(e=h).length>8&&137===e[0]&&80===e[1]&&78===e[2]&&71===e[3]&&13===e[4]&&10===e[5]&&26===e[6]&&10===e[7]?_pt.PNG:e.length>2&&(73===e[0]&&73===e[1]||77===e[0]&&77===e[1]||255===e[0]&&216===e[1])?_pt.TIFF:_pt.UNKNOWN;if(u!==_pt.TIFF&&u!==_pt.PNG)return J(6031,this._file.name),!1;var l=T.document.createElement("canvas");u===_pt.PNG?new sdt(h).render(l):(this._tiffReader||(this._tiffReader=new adt),this._tiffReader.parseTIFF(h,l)),o=new Md(l),nT.assets.add(a,o)}o||J(6032,this._file.name),this.spriteFrame=o?mN.createWithImage(o):mN.createWithImage(hT.get("white-texture"))}}return!0},i._initWithDictionary=function(t){this._useFile=!0,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||lc.SRC_ALPHA),this._dstBlendFactor=parseInt(t.blendFuncDestination||lc.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 n=this._startColorVar;n.r=255*parseFloat(t.startColorVarianceRed||0),n.g=255*parseFloat(t.startColorVarianceGreen||0),n.b=255*parseFloat(t.startColorVarianceBlue||0),n.a=255*parseFloat(t.startColorVarianceAlpha||0);var r=this._endColor;r.r=255*parseFloat(t.finishColorRed||0),r.g=255*parseFloat(t.finishColorGreen||0),r.b=255*parseFloat(t.finishColorBlue||0),r.a=255*parseFloat(t.finishColorAlpha||0);var s=this._endColorVar;if(s.r=255*parseFloat(t.finishColorVarianceRed||0),s.g=255*parseFloat(t.finishColorVarianceGreen||0),s.b=255*parseFloat(t.finishColorVarianceBlue||0),s.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.positionType=parseFloat(void 0!==t.positionType?t.positionType:Yft.FREE),this.sourcePos.set(0,0),this.posVar.set(parseFloat(t.sourcePositionVariancex||0),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||jft.GRAVITY),this.emitterMode===jft.GRAVITY){this.gravity.set(parseFloat(t.gravityx||0),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 a=t.rotationIsDir||"";null!==a?(a=a.toString().toLowerCase(),this.rotationIsDir="true"===a||"1"===a):this.rotationIsDir=!1}else{if(this.emitterMode!==jft.RADIUS)return J(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},i._syncAspect=function(){if(this._renderSpriteFrame){var t=this._renderSpriteFrame.rect;this.aspectRatio=t.width/t.height}},i._applySpriteFrame=function(){this._renderSpriteFrame=this._renderSpriteFrame||this._spriteFrame,this._renderSpriteFrame?this._renderSpriteFrame.texture&&(this._simulator&&this._simulator.updateUVs(!0),this._syncAspect(),this._updateMaterial(),this._stopped=!1,this.markForUpdateRenderData()):this.resetSystem()},i._getTexture=function(){return this._renderSpriteFrame&&this._renderSpriteFrame.texture},i._updateMaterial=function(){if(this._customMaterial){this.setSharedMaterial(this._customMaterial,0);var t=this.getRenderMaterial(0).passes[0].blendState.targets[0];this._dstBlendFactor=t.blendDst,this._srcBlendFactor=t.blendSrc}var e=this.getMaterialInstance(0);e&&e.recompileShaders({USE_LOCAL:this._positionType!==Yft.FREE}),e&&e.passes.length>0&&this._updateBlendFunc()},i._finishedSimulation=function(){this.resetSystem(),this.stopSystem(),this.markForUpdateRenderData(),this.autoRemoveOnFinish&&this._stopped&&this.node.destroy()},i._canRender=function(){return t.prototype._canRender.call(this)&&!this._stopped&&null!==this._renderSpriteFrame&&void 0!==this._renderSpriteFrame},i._render=function(t){this._positionType===Yft.RELATIVE?t.commitComp(this,this._simulator.renderData,this._renderSpriteFrame,this._assembler,this.node.parent):this.positionType===Yft.GROUPED?t.commitComp(this,this._simulator.renderData,this._renderSpriteFrame,this._assembler,this.node):t.commitComp(this,this._simulator.renderData,this._renderSpriteFrame,this._assembler,null)},i._updatePositionType=function(){this._positionType===Yft.RELATIVE?(this._renderEntity.setRenderTransform(this.node.parent),this._renderEntity.setUseLocal(!0)):this.positionType===Yft.GROUPED?(this._renderEntity.setRenderTransform(this.node),this._renderEntity.setUseLocal(!0)):(this._renderEntity.setRenderTransform(null),this._renderEntity.setUseLocal(!1))},n(e,[{key:"custom",get:function(){return this._custom},set:function(t){this._custom!==t&&(this._custom=t,this._applyFile(),this._updateMaterial())}},{key:"file",get:function(){return this._file},set:function(t){this._file!==t&&(this._file=t,t?this._applyFile():this.custom=!0)}},{key:"spriteFrame",get:function(){return this._spriteFrame},set:function(t){this._renderSpriteFrame!==t&&(this._renderSpriteFrame=t,t&&!t._uuid||(this._spriteFrame=t),this._applySpriteFrame())}},{key:"particleCount",get:function(){return this._simulator.particles.length}},{key:"totalParticles",get:function(){return this._totalParticles},set:function(t){this._totalParticles!==t&&(this._totalParticles=t)}},{key:"startColor",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}},{key:"startColorVar",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}},{key:"color",get:function(){return this._color},set:function(){}},{key:"endColor",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}},{key:"endColorVar",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}},{key:"positionType",get:function(){return this._positionType},set:function(t){this._positionType=t,this._updateMaterial(),this._updatePositionType()}},{key:"preview",get:function(){return this._preview},set:function(t){t?this._startPreview():this._stopPreview(),this._preview=t}},{key:"stopped",get:function(){return this._stopped}},{key:"active",get:function(){return this._simulator.active}},{key:"assembler",get:function(){return this._assembler}}]),e}(bG)).EmitterMode=jft,cpt.PositionType=Yft,cpt.DURATION_INFINITY=-1,cpt.START_SIZE_EQUAL_TO_END_SIZE=-1,cpt.START_RADIUS_EQUAL_TO_END_RADIUS=-1,p((Tdt=cpt).prototype,"file",[pdt],Object.getOwnPropertyDescriptor(Tdt.prototype,"file"),Tdt.prototype),p(Tdt.prototype,"spriteFrame",[mdt],Object.getOwnPropertyDescriptor(Tdt.prototype,"spriteFrame"),Tdt.prototype),Adt=Us(Tdt.prototype,"duration",[sa],(function(){return-1})),bdt=Us(Tdt.prototype,"emissionRate",[sa],(function(){return 10})),Edt=Us(Tdt.prototype,"life",[sa],(function(){return 1})),Cdt=Us(Tdt.prototype,"lifeVar",[sa],(function(){return 0})),p(Tdt.prototype,"color",[Da],Object.getOwnPropertyDescriptor(Tdt.prototype,"color"),Tdt.prototype),xdt=Us(Tdt.prototype,"angle",[sa],(function(){return 90})),wdt=Us(Tdt.prototype,"angleVar",[sa],(function(){return 20})),Rdt=Us(Tdt.prototype,"startSize",[sa],(function(){return 50})),Idt=Us(Tdt.prototype,"startSizeVar",[sa],(function(){return 0})),Ddt=Us(Tdt.prototype,"endSize",[sa],(function(){return 0})),Bdt=Us(Tdt.prototype,"endSizeVar",[sa],(function(){return 0})),Mdt=Us(Tdt.prototype,"startSpin",[sa],(function(){return 0})),Pdt=Us(Tdt.prototype,"startSpinVar",[sa],(function(){return 0})),Odt=Us(Tdt.prototype,"endSpin",[sa],(function(){return 0})),Ldt=Us(Tdt.prototype,"endSpinVar",[sa],(function(){return 0})),Fdt=Us(Tdt.prototype,"sourcePos",[sa],(function(){return kn.ZERO.clone()})),Ndt=Us(Tdt.prototype,"posVar",[sa],(function(){return kn.ZERO.clone()})),p(Tdt.prototype,"positionType",[gdt],Object.getOwnPropertyDescriptor(Tdt.prototype,"positionType"),Tdt.prototype),kdt=Us(Tdt.prototype,"emitterMode",[sa,ydt],(function(){return jft.GRAVITY})),Gdt=Us(Tdt.prototype,"gravity",[sa],(function(){return kn.ZERO.clone()})),Vdt=Us(Tdt.prototype,"speed",[sa],(function(){return 180})),Udt=Us(Tdt.prototype,"speedVar",[sa],(function(){return 50})),zdt=Us(Tdt.prototype,"tangentialAccel",[sa],(function(){return 80})),Hdt=Us(Tdt.prototype,"tangentialAccelVar",[sa],(function(){return 0})),Wdt=Us(Tdt.prototype,"radialAccel",[sa],(function(){return 0})),Xdt=Us(Tdt.prototype,"radialAccelVar",[sa],(function(){return 0})),jdt=Us(Tdt.prototype,"rotationIsDir",[sa],(function(){return!1})),Ydt=Us(Tdt.prototype,"startRadius",[sa],(function(){return 0})),qdt=Us(Tdt.prototype,"startRadiusVar",[sa],(function(){return 0})),Kdt=Us(Tdt.prototype,"endRadius",[sa],(function(){return 0})),Jdt=Us(Tdt.prototype,"endRadiusVar",[sa],(function(){return 0})),Zdt=Us(Tdt.prototype,"rotatePerS",[sa],(function(){return 0})),Qdt=Us(Tdt.prototype,"rotatePerSVar",[sa],(function(){return 0})),$dt=Us(Tdt.prototype,"playOnLoad",[sa],(function(){return!0})),tpt=Us(Tdt.prototype,"autoRemoveOnFinish",[sa],(function(){return!1})),ept=Us(Tdt.prototype,"_preview",[vdt],(function(){return!0})),ipt=Us(Tdt.prototype,"_custom",[sa],(function(){return!1})),npt=Us(Tdt.prototype,"_file",[sa],(function(){return null})),rpt=Us(Tdt.prototype,"_spriteFrame",[sa],(function(){return null})),spt=Us(Tdt.prototype,"_totalParticles",[sa],(function(){return 150})),apt=Us(Tdt.prototype,"_startColor",[sa],(function(){return new mn(255,255,255,255)})),opt=Us(Tdt.prototype,"_startColorVar",[sa],(function(){return new mn(0,0,0,0)})),hpt=Us(Tdt.prototype,"_endColor",[sa],(function(){return new mn(255,255,255,0)})),upt=Us(Tdt.prototype,"_endColorVar",[sa],(function(){return new mn(0,0,0,0)})),lpt=Us(Tdt.prototype,"_positionType",[sa],(function(){return Yft.FREE})),Sdt=Tdt))||Sdt)),wpt=function(){function t(t,e){this.point=new kn,this.dir=new kn,this.distance=0,this.time=0,t&&this.point.set(t),e&&this.dir.set(e)}var e=t.prototype;return e.setPoint=function(t,e){this.point.x=t,this.point.y=e},e.setDir=function(t,e){this.dir.x=t,this.dir.y=e},t}(),Rpt=t("fd",(ppt=Js("cc.MotionStreak"),mpt=Ia(im),ppt(((Cpt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r1){var h=o[0],u=h.point.x-s,l=h.point.y-a;u*u+l*l=0;b--){var E=o[b],C=E.point,x=E.dir;if(E.time-=e,E.time<0)o.splice(b,1);else{var w=E.time/T,R=o[b-1];if(!A){if(!R){o.splice(b,1);continue}C.x=R.point.x-x.x*w,C.y=R.point.y-x.y*w}A=!0,Mpt(Dpt,x);var I=(w*y<<24>>>0)+(g<<16)+(m<<8)+p,D=_;S[D].x=C.x+Dpt.x*n,S[D].y=C.y+Dpt.y*n,S[D].u=1,S[D].v=w,S[D].color._val=I,S[D+=1].x=C.x-Dpt.x*n,S[D].y=C.y-Dpt.y*n,S[D].u=0,S[D].v=w,S[D].color._val=I,_+=2}}c=_<=2?0:3*(_-2),f.resize(_,c)}},updateWorldVertexAllData:function(t){for(var e=t.renderData,i=e.floatStride,n=e.data,r=e.chunk.vb,s=0;se?t:e}function O(t,e,i){return ti?i:t}var L=isFinite;function F(t){return t*t}function N(t){return 1/Math.sqrt(t)}var k=Math.sqrt,G=Math.pow;var V=Math.cos,U=Math.sin,z=Math.acos,H=Math.asin,W=Math.atan2;var X=function(){function t(){for(var t=arguments.length,e=new Array(t),i=0;i=r){var e=1/t;this.x*=e,this.y*=e}return t},e.SelfNormalize=function(){var t=this.Length();if(t>=r){var e=1/t;this.x*=e,this.y*=e}return this},e.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},e.SelfRotateCosSin=function(t,e){var i=this.x;return this.x=t*i-e*this.y,this.y=e*i+t*this.y,this},e.IsValid=function(){return isFinite(this.x)&&isFinite(this.y)},e.SelfCrossVS=function(t){var e=this.x;return this.x=t*this.y,this.y=-t*e,this},e.SelfCrossSV=function(t){var e=this.x;return this.x=-t*this.y,this.y=t*e,this},e.SelfMinV=function(t){return this.x=M(this.x,t.x),this.y=M(this.y,t.y),this},e.SelfMaxV=function(t){return this.x=P(this.x,t.x),this.y=P(this.y,t.y),this},e.SelfAbs=function(){return this.x=B(this.x),this.y=B(this.y),this},e.SelfNeg=function(){return this.x=-this.x,this.y=-this.y,this},e.SelfSkew=function(){var t=this.x;return this.x=-this.y,this.y=t,this},t.MakeArray=function(e){return x(e,(function(){return new t}))},t.AbsV=function(t,e){return e.x=B(t.x),e.y=B(t.y),e},t.MinV=function(t,e,i){return i.x=M(t.x,e.x),i.y=M(t.y,e.y),i},t.MaxV=function(t,e,i){return i.x=P(t.x,e.x),i.y=P(t.y,e.y),i},t.ClampV=function(t,e,i,n){return n.x=O(t.x,e.x,i.x),n.y=O(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},n(t,[{key:"x",get:function(){return this.data[0]},set:function(t){this.data[0]=t}},{key:"y",get:function(){return this.data[1]},set:function(t){this.data[1]=t}}]),t}();X.ZERO=new X(0,0),X.UNITX=new X(1,0),X.UNITY=new X(0,1),X.s_t0=new X,X.s_t1=new X,X.s_t2=new X,X.s_t3=new X;var j=new X(0,0),Y=function(){function t(){for(var t=arguments.length,e=new Array(t),i=0;ithis.m_count&&(this.m_min_count=this.m_count)},t}(),rt=function(){function t(t){this.m_stack=[],this.m_count=0,this.m_stack=x(t,(function(){return null})),this.m_count=0}var e=t.prototype;return e.Reset=function(){return this.m_count=0,this},e.Push=function(t){this.m_stack[this.m_count]=t,this.m_count++},e.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},e.GetCount=function(){return this.m_count},t}(),st=function(){function t(){this.m_buffer=X.MakeArray(2),this.m_vertices=this.m_buffer,this.m_count=0,this.m_radius=0}var e=t.prototype;return e.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},e.Reset=function(){return this.m_vertices=this.m_buffer,this.m_count=0,this.m_radius=0,this},e.SetShape=function(t,e){t.SetupDistanceProxy(this,e)},e.SetVerticesRadius=function(t,e,i){this.m_vertices=t,this.m_count=e,this.m_radius=i},e.GetSupport=function(t){for(var e=0,i=X.DotVV(this.m_vertices[0],t),n=1;ni&&(e=n,i=r)}return e},e.GetSupportVertex=function(t){for(var e=0,i=X.DotVV(this.m_vertices[0],t),n=1;ni&&(e=n,i=r)}return this.m_vertices[e]},e.GetVertexCount=function(){return this.m_count},e.GetVertex=function(t){return this.m_vertices[t]},t}(),at=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}(),ot=function(){function t(){this.proxyA=new st,this.proxyB=new st,this.transformA=new Z,this.transformB=new Z,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}(),ht=function(){function t(){this.pointA=new X,this.pointB=new X,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}();t.b2_gjkCalls=0,t.b2_gjkIters=0,t.b2_gjkMaxIters=0;var ut=function(){function t(){this.wA=new X,this.wB=new X,this.w=new X,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}(),lt=function(){function t(){this.m_v1=new ut,this.m_v2=new ut,this.m_v3=new ut,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}var e=t.prototype;return e.ReadCache=function(t,e,i,n,s){this.m_count=t.count;for(var a=this.m_vertices,o=0;o1){var c=t.metric,_=this.GetMetric();(_<.5*c||2*c<_||_0?X.CrossOneV(e,t):X.CrossVOne(e,t);default:return t.SetZero()}},e.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()}},e.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}},e.GetMetric=function(){switch(this.m_count){case 0:case 1:return 0;case 2:return X.DistanceVV(this.m_v1.w,this.m_v2.w);case 3:return X.CrossVV(X.SubVV(this.m_v2.w,this.m_v1.w,X.s_t0),X.SubVV(this.m_v3.w,this.m_v1.w,X.s_t1));default:return 0}},e.Solve2=function(){var e=this.m_v1.w,i=this.m_v2.w,n=X.SubVV(i,e,t.s_e12),r=-X.DotVV(e,n);if(r<=0)return this.m_v1.a=1,void(this.m_count=1);var s=X.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},e.Solve3=function(){var e=this.m_v1.w,i=this.m_v2.w,n=this.m_v3.w,r=X.SubVV(i,e,t.s_e12),s=X.DotVV(e,r),a=X.DotVV(i,r),o=-s,h=X.SubVV(n,e,t.s_e13),u=X.DotVV(e,h),l=X.DotVV(n,h),c=-u,_=X.SubVV(n,i,t.s_e23),f=X.DotVV(i,_),d=X.DotVV(n,_),p=-f,m=X.CrossVV(r,h),g=m*X.CrossVV(i,n),y=m*X.CrossVV(n,e),v=m*X.CrossVV(e,i);if(o<=0&&c<=0)return this.m_v1.a=1,void(this.m_count=1);if(a>0&&o>0&&v<=0){var S=1/(a+o);return this.m_v1.a=a*S,this.m_v2.a=o*S,void(this.m_count=2)}if(l>0&&c>0&&y<=0){var T=1/(l+c);return this.m_v1.a=l*T,this.m_v3.a=c*T,this.m_count=2,void this.m_v2.Copy(this.m_v3)}if(a<=0&&p<=0)return this.m_v2.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v2);if(l<=0&&d<=0)return this.m_v3.a=1,this.m_count=1,void this.m_v1.Copy(this.m_v3);if(d>0&&p>0&&g<=0){var A=1/(d+p);return this.m_v2.a=d*A,this.m_v3.a=p*A,this.m_count=2,void this.m_v1.Copy(this.m_v3)}var b=1/(g+y+v);this.m_v1.a=g*b,this.m_v2.a=y*b,this.m_v3.a=v*b,this.m_count=3},t}();lt.s_e12=new X,lt.s_e13=new X,lt.s_e23=new X;var ct=new lt,_t=[0,0,0],ft=[0,0,0],dt=new X,pt=new X,mt=new X,gt=new X,yt=new X;function vt(e,i,n){++t.b2_gjkCalls;var s=n.proxyA,o=n.proxyB,h=n.transformA,u=n.transformB,l=ct;l.ReadCache(i,s,h,o,u);for(var c=l.m_vertices,_=_t,f=ft,d=0,p=0;p<20;){d=l.m_count;for(var m=0;mT+A&&e.distance>r){e.distance-=T+A;var b=X.SubVV(e.pointB,e.pointA,mt);b.Normalize(),e.pointA.SelfMulAdd(T,b),e.pointB.SelfMulSub(A,b)}else{var E=X.MidVV(e.pointA,e.pointB,dt);e.pointA.Copy(E),e.pointB.Copy(E),e.distance=0}}}var St,Tt=new X,At=new lt,bt=new X,Et=new X,Ct=new X,xt=new X,wt=new X,Rt=new X;(St=t.b2ContactFeatureType||(t.b2ContactFeatureType={}))[St.e_vertex=0]="e_vertex",St[St.e_face=1]="e_face";var It,Dt=function(){function t(){this._key=0,this._key_invalid=!1,this._indexA=0,this._indexB=0,this._typeA=0,this._typeB=0}return n(t,[{key:"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}},{key:"indexA",get:function(){return this._indexA},set:function(t){this._indexA=t,this._key_invalid=!0}},{key:"indexB",get:function(){return this._indexB},set:function(t){this._indexB=t,this._key_invalid=!0}},{key:"typeA",get:function(){return this._typeA},set:function(t){this._typeA=t,this._key_invalid=!0}},{key:"typeB",get:function(){return this._typeB},set:function(t){this._typeB=t,this._key_invalid=!0}}]),t}(),Bt=function(){function t(){this.cf=new Dt}var e=t.prototype;return e.Copy=function(t){return this.key=t.key,this},e.Clone=function(){return(new t).Copy(this)},n(t,[{key:"key",get:function(){return this.cf.key},set:function(t){this.cf.key=t}}]),t}(),Mt=function(){function t(){this.localPoint=new X,this.normalImpulse=0,this.tangentImpulse=0,this.id=new Bt}t.MakeArray=function(e){return x(e,(function(){return new t}))};var e=t.prototype;return e.Reset=function(){this.localPoint.SetZero(),this.normalImpulse=0,this.tangentImpulse=0,this.id.key=0},e.Copy=function(t){return this.localPoint.Copy(t.localPoint),this.normalImpulse=t.normalImpulse,this.tangentImpulse=t.tangentImpulse,this.id.Copy(t.id),this},t}();(It=t.b2ManifoldType||(t.b2ManifoldType={}))[It.e_unknown=-1]="e_unknown",It[It.e_circles=0]="e_circles",It[It.e_faceA=1]="e_faceA",It[It.e_faceB=2]="e_faceB";var Pt,Ot=function(){function e(){this.points=Mt.MakeArray(2),this.localNormal=new X,this.localPoint=new X,this.type=t.b2ManifoldType.e_unknown,this.pointCount=0}var i=e.prototype;return i.Reset=function(){for(var e=0;e<2;++e)this.points[e].Reset();this.localNormal.SetZero(),this.localPoint.SetZero(),this.type=t.b2ManifoldType.e_unknown,this.pointCount=0},i.Copy=function(t){this.pointCount=t.pointCount;for(var e=0;e<2;++e)this.points[e].Copy(t.points[e]);return this.localNormal.Copy(t.localNormal),this.localPoint.Copy(t.localPoint),this.type=t.type,this},i.Clone=function(){return(new e).Copy(this)},e}(),Lt=function(){function e(){this.normal=new X,this.points=X.MakeArray(2),this.separations=w(2)}return e.prototype.Initialize=function(i,n,r,s,o){if(0!==i.pointCount)switch(i.type){case t.b2ManifoldType.e_circles:this.normal.Set(1,0);var h=Z.MulXV(n,i.localPoint,e.Initialize_s_pointA),u=Z.MulXV(s,i.points[0].localPoint,e.Initialize_s_pointB);X.DistanceSquaredVV(h,u)>a&&X.SubVV(u,h,this.normal).SelfNormalize();var l=X.AddVMulSV(h,r,this.normal,e.Initialize_s_cA),c=X.SubVMulSV(u,o,this.normal,e.Initialize_s_cB);X.MidVV(l,c,this.points[0]),this.separations[0]=X.DotVV(X.SubVV(c,l,X.s_t0),this.normal);break;case t.b2ManifoldType.e_faceA:J.MulRV(n.q,i.localNormal,this.normal);for(var _=Z.MulXV(n,i.localPoint,e.Initialize_s_planePoint),f=0;fp){var g=d;d=p,p=g,m=1}if(d>n&&(_.x=m,_.y=0,n=d),n>(s=M(s,p)))return!1}if(cS){var A=v;v=S,S=A,T=1}if(v>n&&(_.x=0,_.y=T,n=v),n>(s=M(s,S)))return!1}return!(n<0||e.maxFraction0;){var n=i.Pop();if(null!==n&&n.aabb.TestOverlap(t))if(n.IsLeaf()){if(!e(n))return}else i.Push(n.child1),i.Push(n.child2)}},e.QueryPoint=function(t,e){var i=this.m_stack.Reset();for(i.Push(this.m_root);i.GetCount()>0;){var n=i.Pop();if(null!==n&&n.aabb.TestContain(t))if(n.IsLeaf()){if(!e(n))return}else i.Push(n.child1),i.Push(n.child2)}},e.RayCast=function(e,i){var n=e.p1,r=e.p2,s=X.SubVV(r,n,t.s_r);s.Normalize();var a=X.CrossOneV(s,t.s_v),o=X.AbsV(a,t.s_abs_v),h=e.maxFraction,u=t.s_segmentAABB,l=n.x+h*(r.x-n.x),c=n.y+h*(r.y-n.y);u.lowerBound.x=M(n.x,l),u.lowerBound.y=M(n.y,c),u.upperBound.x=P(n.x,l),u.upperBound.y=P(n.y,c);var _=this.m_stack.Reset();for(_.Push(this.m_root);_.GetCount()>0;){var f=_.Pop();if(null!==f&&Vt(f.aabb,u)){var d=f.aabb.GetCenter(),p=f.aabb.GetExtents();if(!(B(X.DotVV(a,X.SubVV(n,d,X.s_t0)))-X.DotVV(o,p)>0))if(f.IsLeaf()){var m=t.s_subInput;m.p1.Copy(e.p1),m.p2.Copy(e.p2),m.maxFraction=h;var g=i(m,f);if(0===g)return;g>0&&(h=g,l=n.x+h*(r.x-n.x),c=n.y+h*(r.y-n.y),u.lowerBound.x=M(n.x,l),u.lowerBound.y=M(n.y,c),u.upperBound.x=P(n.x,l),u.upperBound.y=P(n.y,c))}else _.Push(f.child1),_.Push(f.child2)}}},e.AllocateNode=function(){if(null!==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,e}return new Yt(t.s_node_id++)},e.FreeNode=function(t){t.parent=this.m_freeList,t.child1=null,t.child2=null,t.height=-1,t.Reset(),this.m_freeList=t},e.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},e.DestroyProxy=function(t){this.RemoveLeaf(t),this.FreeNode(t)},e.MoveProxy=function(t,e,i){if(t.aabb.Contains(e))return!1;this.RemoveLeaf(t);t.aabb.lowerBound.x=e.lowerBound.x-.1,t.aabb.lowerBound.y=e.lowerBound.y-.1,t.aabb.upperBound.x=e.upperBound.x+.1,t.aabb.upperBound.y=e.upperBound.y+.1;var n=2*i.x,r=2*i.y;return n<0?t.aabb.lowerBound.x+=n:t.aabb.upperBound.x+=n,r<0?t.aabb.lowerBound.y+=r:t.aabb.upperBound.y+=r,this.InsertLeaf(t),!0},e.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=jt(n.child1),s=jt(n.child2),a=n.aabb.GetPerimeter(),o=t.s_combinedAABB;o.Combine2(n.aabb,i);var h=o.GetPerimeter(),u=2*h,l=2*(h-a),c=void 0,_=t.s_aabb,f=void 0;r.IsLeaf()?(_.Combine2(i,r.aabb),c=_.GetPerimeter()+l):(_.Combine2(i,r.aabb),f=r.aabb.GetPerimeter(),c=_.GetPerimeter()-f+l);var d=void 0;if(s.IsLeaf()?(_.Combine2(i,s.aabb),d=_.GetPerimeter()+l):(_.Combine2(i,s.aabb),f=s.aabb.GetPerimeter(),d=_.GetPerimeter()-f+l),u1){var r=jt(i.child1),s=jt(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+P(e.height,s.height),i.height=1+P(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+P(e.height,r.height),i.height=1+P(t.height,s.height)),i}if(n<-1){var a=jt(e.child1),o=jt(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+P(i.height,o.height),e.height=1+P(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+P(i.height,a.height),e.height=1+P(t.height,o.height)),e}return t},e.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))+t.GetAreaNode(e.child2)},e.GetAreaRatio=function(){if(null===this.m_root)return 0;var e=this.m_root.aabb.GetPerimeter();return t.GetAreaNode(this.m_root)/e},t.ComputeHeightNode=function(e){return null===e||e.IsLeaf()?0:1+P(t.ComputeHeightNode(e.child1),t.ComputeHeightNode(e.child2))},e.ComputeHeight=function(){return t.ComputeHeightNode(this.m_root)},e.ValidateStructure=function(t){if(null!==t&&(this.m_root,!t.IsLeaf())){var e=jt(t.child1),i=jt(t.child2);this.ValidateStructure(e),this.ValidateStructure(i)}},e.ValidateMetrics=function(e){if(null!==e&&!e.IsLeaf()){var i=jt(e.child1),n=jt(e.child2);t.s_aabb.Combine2(i.aabb,n.aabb),this.ValidateMetrics(i),this.ValidateMetrics(n)}},e.Validate=function(){},t.GetMaxBalanceNode=function(t,e){if(null===t)return e;if(t.height<=1)return e;var i=jt(t.child1),n=jt(t.child2);return P(e,B(n.height-i.height))},e.GetMaxBalance=function(){return t.GetMaxBalanceNode(this.m_root,0)},e.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)}},e.ShiftOrigin=function(e){t.ShiftOriginNode(this.m_root,e)},t}();function Kt(t,e,i){var n=t[e];t[e]=t[i],t[i]=n}function Jt(t,e){return t=i)break;Kt(t,h,i)}}if(0===a)break;r=i,i=s[--a]}}(this.m_pairBuffer,0,this.m_pairCount,$t);for(var r=0;r_+f){e.state=t.b2TOIOutputState.e_separated,e.t=u,A=!0;break}if(w>_-f){d=b;break}var R=T.Evaluate(C[0],x[0],d);if(R<_-f){e.state=t.b2TOIOutputState.e_failed,e.t=d,A=!0;break}if(R<=_+f){e.state=t.b2TOIOutputState.e_touching,e.t=d,A=!0;break}for(var I=0,D=d,M=b;;){var O;O=1&I?D+(_-R)*(M-D)/(w-R):.5*(D+M),++I,++t.b2_toiRootIters;var L=T.Evaluate(C[0],x[0],O);if(B(L-_)_?(D=O,R=L):(M=O,w=L),50===I)break}if(t.b2_toiMaxRootIters=P(t.b2_toiMaxRootIters,I),++E===a)break}if(++p,++t.b2_toiIters,A)break;if(20===p){e.state=t.b2TOIOutputState.e_failed,e.t=d;break}}t.b2_toiMaxIters=P(t.b2_toiMaxIters,p);var F=n.GetMilliseconds();t.b2_toiMaxTime=P(t.b2_toiMaxTime,F),t.b2_toiTime+=F}var Ae=new X,be=new X;function Ee(e,i,n,r,s){e.pointCount=0;var a=Z.MulXV(n,i.m_p,Ae),o=Z.MulXV(s,r.m_p,be),h=X.DistanceSquaredVV(a,o),u=i.m_radius+r.m_radius;h>u*u||(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 Ce=new X,xe=new X,we=new X;function Re(e,n,s,a,o){e.pointCount=0;for(var h=Z.MulXV(o,a.m_p,Ce),u=Z.MulTXV(s,h,xe),l=0,c=-i,_=n.m_radius+a.m_radius,f=n.m_count,d=n.m_vertices,p=n.m_normals,m=0;m_)return;g>c&&(c=g,l=m)}var y=l,v=(y+1)%f,S=d[y],T=d[v];if(c_*_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,X.SubVV(u,S,e.localNormal).SelfNormalize(),e.localPoint.Copy(S),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}else if(b<=0){if(X.DistanceSquaredVV(u,T)>_*_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,X.SubVV(u,T,e.localNormal).SelfNormalize(),e.localPoint.Copy(T),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}else{var E=X.MidVV(S,T,we);if(X.DotVV(X.SubVV(u,E,X.s_t1),p[y])>_)return;e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(p[y]).SelfNormalize(),e.localPoint.Copy(E),e.points[0].localPoint.Copy(a.m_p),e.points[0].id.key=0}}var Ie=new X,De=new X,Be=new X,Me=new X;function Pe(t,e,n,r,s){for(var a=t.m_vertices,o=t.m_normals,h=r.m_count,u=r.m_vertices,l=J.MulRV(e.q,o[n],Ie),c=J.MulTRV(s.q,l,De),_=0,f=i,d=0;dc&&(c=f,l=_)}var d=Pe(e,n,l,r,s),p=(l+a-1)%a,m=Pe(e,n,p,r,s),g=(l+1)%a,y=Pe(e,n,g,r,s),v=0,S=0,T=0;if(m>d&&m>y)T=-1,v=p,S=m;else{if(!(y>d))return t[0]=l,d;T=1,v=g,S=y}for(;(d=Pe(e,n,l=-1===T?(v+a-1)%a:(v+1)%a,r,s))>S;)v=l,S=d;return t[0]=v,S}var Ne=new X;var ke=Ft.MakeArray(2),Ge=Ft.MakeArray(2),Ve=Ft.MakeArray(2),Ue=[0],ze=[0],He=new X,We=new X,Xe=new X,je=new X,Ye=new X,qe=new X,Ke=new X,Je=new X;function Ze(e,n,r,s,a){e.pointCount=0;var o=n.m_radius+s.m_radius,h=Ue;h[0]=0;var u=Fe(h,n,r,s,a);if(!(u>o)){var l=ze;l[0]=0;var c=Fe(l,s,a,n,r);if(!(c>o)){var _,f,d,p,m=0,g=0;c>.98*u+.001?(_=s,f=n,d=a,p=r,m=l[0],e.type=t.b2ManifoldType.e_faceB,g=1):(_=n,f=s,d=r,p=a,m=h[0],e.type=t.b2ManifoldType.e_faceA,g=0);var y=ke;!function(e,n,r,s,a,o){for(var h=n.m_normals,u=a.m_count,l=a.m_vertices,c=a.m_normals,_=J.MulTRV(o.q,J.MulRV(r.q,h[s],X.s_t0),Ne),f=0,d=i,p=0;p_*_)return;if(i.m_hasVertex0){var m=i.m_vertex0,g=o,y=X.SubVV(g,m,ii);if(X.DotVV(y,X.SubVV(g,a,X.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(d),e.points[0].id.Copy(f),void e.points[0].localPoint.Copy(r.m_p)}if(l<=0){var v=h,S=X.SubVV(a,v,ei);if(X.DotVV(S,S)>_*_)return;if(i.m_hasVertex3){var T=i.m_vertex3,A=h,b=X.SubVV(T,A,ni);if(X.DotVV(b,X.SubVV(a,A,X.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(v),e.points[0].id.Copy(f),void e.points[0].localPoint.Copy(r.m_p)}var E=X.DotVV(u,u),C=ri;C.x=1/E*(l*o.x+c*h.x),C.y=1/E*(l*o.y+c*h.y);var x=X.SubVV(a,C,ei);if(!(X.DotVV(x,x)>_*_)){var w=si.Set(-u.y,u.x);X.DotVV(w,X.SubVV(a,o,X.s_t0))<0&&w.Set(-w.x,-w.y),w.Normalize(),f.cf.indexA=0,f.cf.typeA=t.b2ContactFeatureType.e_face,e.pointCount=1,e.type=t.b2ManifoldType.e_faceA,e.localNormal.Copy(w),e.localPoint.Copy(o),e.points[0].id.Copy(f),e.points[0].localPoint.Copy(r.m_p)}}!function(t){t[t.e_unknown=0]="e_unknown",t[t.e_edgeA=1]="e_edgeA",t[t.e_edgeB=2]="e_edgeB"}(Qe||(Qe={}));var hi,ui=function(){this.type=Qe.e_unknown,this.index=0,this.separation=0},li=function(){this.vertices=[],this.normals=[],this.count=0};!function(t){t[t.e_isolated=0]="e_isolated",t[t.e_concave=1]="e_concave",t[t.e_convex=2]="e_convex"}(hi||(hi={}));var ci=function(){function e(){this.m_polygonB=new li,this.m_xf=new Z,this.m_centroidB=new X,this.m_v0=new X,this.m_v1=new X,this.m_v2=new X,this.m_v3=new X,this.m_normal0=new X,this.m_normal1=new X,this.m_normal2=new X,this.m_normal=new X,this.m_type1=hi.e_isolated,this.m_type2=hi.e_isolated,this.m_lowerLimit=new X,this.m_upperLimit=new X,this.m_radius=0,this.m_front=!1}var n=e.prototype;return n.Collide=function(i,n,r,s,a){Z.MulTXX(r,a,this.m_xf),Z.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 o=n.m_hasVertex0,h=n.m_hasVertex3,u=X.SubVV(this.m_v2,this.m_v1,e.s_edge1);u.Normalize(),this.m_normal1.Set(u.y,-u.x);var l=X.DotVV(this.m_normal1,X.SubVV(this.m_centroidB,this.m_v1,X.s_t0)),c=0,_=0,f=!1,d=!1;if(o){var p=X.SubVV(this.m_v1,this.m_v0,e.s_edge0);p.Normalize(),this.m_normal0.Set(p.y,-p.x),f=X.CrossVV(p,u)>=0,c=X.DotVV(this.m_normal0,X.SubVV(this.m_centroidB,this.m_v0,X.s_t0))}if(h){var m=X.SubVV(this.m_v3,this.m_v2,e.s_edge2);m.Normalize(),this.m_normal2.Set(m.y,-m.x),d=X.CrossVV(u,m)>0,_=X.DotVV(this.m_normal2,X.SubVV(this.m_centroidB,this.m_v2,X.s_t0))}o&&h?f&&d?(this.m_front=c>=0||l>=0||_>=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())):f?(this.m_front=c>=0||l>=0&&_>=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=_>=0||c>=0&&l>=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=c>=0&&l>=0&&_>=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())):o?f?(this.m_front=c>=0||l>=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=c>=0&&l>=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())):h?d?(this.m_front=l>=0||_>=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=l>=0&&_>=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=l>=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 g=0;gthis.m_radius)){var v=this.ComputePolygonSeparation(e.s_polygonAxis);if(!(v.type!==Qe.e_unknown&&v.separation>this.m_radius)){var S;S=v.type===Qe.e_unknown?y:v.separation>.98*y.separation+.001?v:y;var T=e.s_ie,A=e.s_rf;if(S.type===Qe.e_edgeA){i.type=t.b2ManifoldType.e_faceA;for(var b=0,E=X.DotVV(this.m_normal,this.m_polygonB.normals[0]),C=1;Cthis.m_radius)return n.type=Qe.e_edgeB,n.index=s,n.separation=o,n;if(X.DotVV(a,r)>=0){if(X.DotVV(X.SubVV(a,this.m_upperLimit,X.s_t0),this.m_normal)<-c)continue}else if(X.DotVV(X.SubVV(a,this.m_lowerLimit,X.s_t0),this.m_normal)<-c)continue;o>n.separation&&(n.type=Qe.e_edgeB,n.index=s,n.separation=o)}return n},e}();ci.s_edge1=new X,ci.s_edge0=new X,ci.s_edge2=new X,ci.s_ie=Ft.MakeArray(2),ci.s_rf=new function(){this.i1=0,this.i2=0,this.v1=new X,this.v2=new X,this.normal=new X,this.sideNormal1=new X,this.sideOffset1=0,this.sideNormal2=new X,this.sideOffset2=0},ci.s_clipPoints1=Ft.MakeArray(2),ci.s_clipPoints2=Ft.MakeArray(2),ci.s_edgeAxis=new ui,ci.s_polygonAxis=new ui,ci.s_n=new X,ci.s_perp=new X;var _i=new ci;function fi(t,e,i,n,r){_i.Collide(t,e,i,n,r)}var di,pi=function(){this.mass=0,this.center=new X(0,0),this.I=0};(di=t.b2ShapeType||(t.b2ShapeType={}))[di.e_unknown=-1]="e_unknown",di[di.e_circleShape=0]="e_circleShape",di[di.e_edgeShape=1]="e_edgeShape",di[di.e_polygonShape=2]="e_polygonShape",di[di.e_chainShape=3]="e_chainShape",di[di.e_shapeTypeCount=4]="e_shapeTypeCount";var mi=function(){function e(e,i){this.m_type=t.b2ShapeType.e_unknown,this.m_radius=0,this.m_type=e,this.m_radius=i}var i=e.prototype;return i.Copy=function(t){return this.m_radius=t.m_radius,this},i.GetType=function(){return this.m_type},e}(),gi=function(e){function i(i){var n;return void 0===i&&(i=0),(n=e.call(this,t.b2ShapeType.e_circleShape,i)||this).m_p=new X,n}s(i,e);var n=i.prototype;return n.Set=function(t,e){return void 0===e&&(e=this.m_radius),this.m_p.Copy(t),this.m_radius=e,this},n.Clone=function(){return(new i).Copy(this)},n.Copy=function(t){return e.prototype.Copy.call(this,t),this.m_p.Copy(t.m_p),this},n.GetChildCount=function(){return 1},n.TestPoint=function(t,e){var n=Z.MulXV(t,this.m_p,i.TestPoint_s_center),r=X.SubVV(e,n,i.TestPoint_s_d);return X.DotVV(r,r)<=F(this.m_radius)},n.ComputeDistance=function(t,e,n){var r=Z.MulXV(t,this.m_p,i.ComputeDistance_s_center);return X.SubVV(e,r,n),n.Normalize()-this.m_radius},n.RayCast=function(t,e,n){var s=Z.MulXV(n,this.m_p,i.RayCast_s_position),a=X.SubVV(e.p1,s,i.RayCast_s_s),o=X.DotVV(a,a)-F(this.m_radius),h=X.SubVV(e.p2,e.p1,i.RayCast_s_r),u=X.DotVV(a,h),l=X.DotVV(h,h),c=u*u-l*o;if(c<0||lthis.m_radius)return n.Copy(s),o*this.m_radius*this.m_radius;var h=this.m_radius*this.m_radius,u=a*a,l=h*(H(a/this.m_radius)+o/2)+a*k(h-u),c=-2/3*G(h-u,1.5)/l;return n.x=s.x+t.x*c,n.y=s.y+t.y*c,l},n.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}(mi);gi.TestPoint_s_center=new X,gi.TestPoint_s_d=new X,gi.ComputeDistance_s_center=new X,gi.RayCast_s_position=new X,gi.RayCast_s_s=new X,gi.RayCast_s_r=new X,gi.ComputeAABB_s_p=new X;var yi=function(e){function n(){var i;return(i=e.call(this,t.b2ShapeType.e_polygonShape,_)||this).m_centroid=new X(0,0),i.m_vertices=[],i.m_normals=[],i.m_count=0,i}s(n,e);var r=n.prototype;return r.Clone=function(){return(new n).Copy(this)},r.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=X.MakeArray(this.m_count),this.m_normals=X.MakeArray(this.m_count);for(var i=0;il||_===l&&r[c].yy.LengthSquared()&&(m=g)}else m=g;if(++d,p=m,m===u)break}this.m_count=d,this.m_vertices=X.MakeArray(this.m_count),this.m_normals=X.MakeArray(this.m_count);for(var T=0;T0)return!1;return!0},r.ComputeDistance=function(t,e,r){for(var s=Z.MulTXV(t,e,n.ComputeDistance_s_pLocal),a=-i,o=n.ComputeDistance_s_normalForMaxDistance.Copy(s),h=0;ha&&(a=u,o.Copy(this.m_normals[h]))}if(a>0){for(var l=n.ComputeDistance_s_minDistance.Copy(o),c=a*a,_=0;_d&&(l.Copy(f),c=d)}return J.MulRV(t.q,l,r),r.Normalize(),Math.sqrt(c)}return J.MulRV(t.q,o,r),a},r.RayCast=function(t,e,i){for(var r=Z.MulTXV(i,e.p1,n.RayCast_s_p1),s=Z.MulTXV(i,e.p2,n.RayCast_s_p2),a=X.SubVV(s,r,n.RayCast_s_d),o=0,h=e.maxFraction,u=-1,l=0;l0&&c=0&&(t.fraction=o,J.MulRV(i.q,this.m_normals[u],t.normal),!0)},r.ComputeAABB=function(t,e){for(var i=Z.MulXV(e,this.m_vertices[0],t.lowerBound),r=t.upperBound.Copy(i),s=0;s0&&(f?c||(u=_-1,h++):c&&(l=_-1,h++)),c=f}switch(h){case 0:if(c){var d=n.ComputeSubmergedArea_s_md;return this.ComputeMass(d,1),Z.MulXV(i,d.center,r),d.mass}return 0;case 1:-1===u?u=this.m_count-1:l=this.m_count-1}for(var p,m=(u+1)%this.m_count,g=(l+1)%this.m_count,y=(0-o[u])/(o[m]-o[u]),v=(0-o[l])/(o[g]-o[l]),S=n.ComputeSubmergedArea_s_intoVec.Set(this.m_vertices[u].x*(1-y)+this.m_vertices[m].x*y,this.m_vertices[u].y*(1-y)+this.m_vertices[m].y*y),T=n.ComputeSubmergedArea_s_outoVec.Set(this.m_vertices[l].x*(1-v)+this.m_vertices[g].x*v,this.m_vertices[l].y*(1-v)+this.m_vertices[g].y*v),A=0,b=n.ComputeSubmergedArea_s_center.SetZero(),E=this.m_vertices[m],C=m;C!==g;){p=(C=(C+1)%this.m_count)===g?T:this.m_vertices[C];var x=.5*((E.x-S.x)*(p.y-S.y)-(E.y-S.y)*(p.x-S.x));A+=x,b.x+=x*(S.x+E.x+p.x)/3,b.y+=x*(S.y+E.y+p.y)/3,E=p}return b.SelfMul(1/A),Z.MulXV(i,b,r),A},r.Dump=function(t){t(" const shape: b2PolygonShape = new b2PolygonShape();\n"),t(" const vs: b2Vec2[] = [];\n");for(var e=0;e0){var u=X.DotVV(o,o);h>u?X.SubVV(e,s,a):a.SelfMulSub(h/u,o)}return n.Copy(a),n.Normalize()},n.RayCast=function(t,e,n){var r=Z.MulTXV(n,e.p1,i.RayCast_s_p1),s=Z.MulTXV(n,e.p2,i.RayCast_s_p2),a=X.SubVV(s,r,i.RayCast_s_d),o=this.m_vertex1,h=this.m_vertex2,u=X.SubVV(h,o,i.RayCast_s_e),l=t.normal.Set(u.y,-u.x).SelfNormalize(),c=X.DotVV(l,X.SubVV(o,r,X.s_t0)),_=X.DotVV(l,a);if(0===_)return!1;var f=c/_;if(f<0||e.maxFraction0&&t.normal.SelfNeg(),0))},n.ComputeAABB=function(t,e){var n=Z.MulXV(e,this.m_vertex1,i.ComputeAABB_s_v1),r=Z.MulXV(e,this.m_vertex2,i.ComputeAABB_s_v2);X.MinV(n,r,t.lowerBound),X.MaxV(n,r,t.upperBound);var s=this.m_radius;t.lowerBound.SelfSubXY(s,s),t.upperBound.SelfAddXY(s,s)},n.ComputeMass=function(t){t.mass=0,X.MidVV(this.m_vertex1,this.m_vertex2,t.center),t.I=0},n.SetupDistanceProxy=function(t){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},n.ComputeSubmergedArea=function(t,e,i,n){return n.SetZero(),0},n.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}(mi);vi.ComputeDistance_s_v1=new X,vi.ComputeDistance_s_v2=new X,vi.ComputeDistance_s_d=new X,vi.ComputeDistance_s_s=new X,vi.RayCast_s_p1=new X,vi.RayCast_s_p2=new X,vi.RayCast_s_d=new X,vi.RayCast_s_e=new X,vi.RayCast_s_q=new X,vi.RayCast_s_r=new X,vi.ComputeAABB_s_v1=new X,vi.ComputeAABB_s_v2=new X;var Si=function(e){function i(){var i;return(i=e.call(this,t.b2ShapeType.e_chainShape,_)||this).m_vertices=[],i.m_count=0,i.m_prevVertex=new X,i.m_nextVertex=new X,i.m_hasPrevVertex=!1,i.m_hasNextVertex=!1,i}s(i,e);var n=i.prototype;return n.CreateLoop=function(){for(var t=arguments.length,e=new Array(t),i=0;i0?(t.m_vertex0.Copy(this.m_vertices[e-1]),t.m_hasVertex0=!0):(t.m_vertex0.Copy(this.m_prevVertex),t.m_hasVertex0=this.m_hasPrevVertex),e0&&this.ResetMassData(),this.m_world.m_newFixture=!0,e},n.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)},n.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.Reset(),--this.m_fixtureCount,this.ResetMassData()},n.SetTransformVec=function(t,e){this.SetTransformXY(t.x,t.y,e)},n.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),Z.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.SynchronizeProxies(this.m_xf,this.m_xf,X.ZERO);this.m_world.m_contactManager.FindNewContacts()},n.SetTransform=function(t){this.SetTransformVec(t.p,t.GetAngle())},n.GetTransform=function(){return this.m_xf},n.GetPosition=function(){return this.m_xf.p},n.SetPosition=function(t){this.SetTransformVec(t,this.GetAngle())},n.SetPositionXY=function(t,e){this.SetTransformXY(t,e,this.GetAngle())},n.GetAngle=function(){return this.m_sweep.a},n.SetAngle=function(t){this.SetTransformVec(this.GetPosition(),t)},n.GetWorldCenter=function(){return this.m_sweep.c},n.GetLocalCenter=function(){return this.m_sweep.localCenter},n.SetLinearVelocity=function(e){this.m_type!==t.b2BodyType.b2_staticBody&&(X.DotVV(e,e)>0&&this.SetAwake(!0),this.m_linearVelocity.Copy(e))},n.GetLinearVelocity=function(){return this.m_linearVelocity},n.SetAngularVelocity=function(e){this.m_type!==t.b2BodyType.b2_staticBody&&(e*e>0&&this.SetAwake(!0),this.m_angularVelocity=e)},n.GetAngularVelocity=function(){return this.m_angularVelocity},n.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},n.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))},n.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))},n.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))},n.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)))},n.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))},n.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))},n.GetMass=function(){return this.m_mass},n.GetInertia=function(){return this.m_I+this.m_mass*X.DotVV(this.m_sweep.localCenter,this.m_sweep.localCenter)},n.GetMassData=function(t){return t.mass=this.m_mass,t.I=this.m_I+this.m_mass*X.DotVV(this.m_sweep.localCenter,this.m_sweep.localCenter),t.center.Copy(this.m_sweep.localCenter),t},n.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*X.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),Z.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.c0.Copy(this.m_sweep.c),X.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,X.SubVV(this.m_sweep.c,n,X.s_t0),this.m_linearVelocity)}},n.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*X.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),Z.MulXV(this.m_xf,this.m_sweep.localCenter,this.m_sweep.c),this.m_sweep.c0.Copy(this.m_sweep.c),X.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,X.SubVV(this.m_sweep.c,s,X.s_t0),this.m_linearVelocity)},n.GetWorldPoint=function(t,e){return Z.MulXV(this.m_xf,t,e)},n.GetWorldVector=function(t,e){return J.MulRV(this.m_xf.q,t,e)},n.GetLocalPoint=function(t,e){return Z.MulTXV(this.m_xf,t,e)},n.GetLocalVector=function(t,e){return J.MulTRV(this.m_xf.q,t,e)},n.GetLinearVelocityFromWorldPoint=function(t,e){return X.AddVCrossSV(this.m_linearVelocity,this.m_angularVelocity,X.SubVV(t,this.m_sweep.c,X.s_t0),e)},n.GetLinearVelocityFromLocalPoint=function(t,e){return this.GetLinearVelocityFromWorldPoint(this.GetWorldPoint(t,e),e)},n.GetLinearDamping=function(){return this.m_linearDamping},n.SetLinearDamping=function(t){this.m_linearDamping=t},n.GetAngularDamping=function(){return this.m_angularDamping},n.SetAngularDamping=function(t){this.m_angularDamping=t},n.GetGravityScale=function(){return this.m_gravityScale},n.SetGravityScale=function(t){this.m_gravityScale=t},n.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()}},n.GetType=function(){return this.m_type},n.SetBullet=function(t){this.m_bulletFlag=t},n.IsBullet=function(){return this.m_bulletFlag},n.SetSleepingAllowed=function(t){this.m_autoSleepFlag=t,t||this.SetAwake(!0)},n.IsSleepingAllowed=function(){return this.m_autoSleepFlag},n.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)},n.IsAwake=function(){return this.m_awakeFlag},n.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();else{for(var i=this.m_fixtureList;i;i=i.m_next)i.DestroyProxies();for(var n=this.m_contactList;n;){var r=n;n=n.next,this.m_world.m_contactManager.Destroy(r.contact)}this.m_contactList=null}},n.IsActive=function(){return this.m_activeFlag},n.SetFixedRotation=function(t){this.m_fixedRotationFlag!==t&&(this.m_fixedRotationFlag=t,this.m_angularVelocity=0,this.ResetMassData())},n.IsFixedRotation=function(){return this.m_fixedRotationFlag},n.GetFixtureList=function(){return this.m_fixtureList},n.GetJointList=function(){return this.m_jointList},n.GetContactList=function(){return this.m_contactList},n.GetNext=function(){return this.m_next},n.GetUserData=function(){return this.m_userData},n.SetUserData=function(t){this.m_userData=t},n.GetWorld=function(){return this.m_world},n.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")},n.SynchronizeFixtures=function(){var t=i.SynchronizeFixtures_s_xf1;t.q.SetAngle(this.m_sweep.a0),J.MulRV(t.q,this.m_sweep.localCenter,t.p),X.SubVV(this.m_sweep.c0,t.p,t.p);for(var e=X.SubVV(this.m_sweep.c,this.m_sweep.c0,i.SynchronizeFixtures_s_displacement),n=this.m_fixtureList;n;n=n.m_next)n.SynchronizeProxies(t,this.m_xf,e)},n.SynchronizeTransform=function(){this.m_xf.q.SetAngle(this.m_sweep.a),J.MulRV(this.m_xf.q,this.m_sweep.localCenter,this.m_xf.p),X.SubVV(this.m_sweep.c,this.m_xf.p,this.m_xf.p)},n.ShouldCollide=function(e){return(this.m_type!==t.b2BodyType.b2_staticBody||e.m_type!==t.b2BodyType.b2_staticBody)&&this.ShouldCollideConnected(e)},n.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},n.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),J.MulRV(this.m_xf.q,this.m_sweep.localCenter,this.m_xf.p),X.SubVV(this.m_sweep.c,this.m_xf.p,this.m_xf.p)},n.GetControllerList=function(){return this.m_controllerList},n.GetControllerCount=function(){return this.m_controllerCount},i}();Ri.CreateFixtureShapeDensity_s_def=new Ai,Ri.SetMassData_s_oldCenter=new X,Ri.ResetMassData_s_localCenter=new X,Ri.ResetMassData_s_oldCenter=new X,Ri.ResetMassData_s_massData=new pi,Ri.SynchronizeFixtures_s_xf1=new Z,Ri.SynchronizeFixtures_s_displacement=new X,(wi=t.b2JointType||(t.b2JointType={}))[wi.e_unknownJoint=0]="e_unknownJoint",wi[wi.e_revoluteJoint=1]="e_revoluteJoint",wi[wi.e_prismaticJoint=2]="e_prismaticJoint",wi[wi.e_distanceJoint=3]="e_distanceJoint",wi[wi.e_pulleyJoint=4]="e_pulleyJoint",wi[wi.e_mouseJoint=5]="e_mouseJoint",wi[wi.e_gearJoint=6]="e_gearJoint",wi[wi.e_wheelJoint=7]="e_wheelJoint",wi[wi.e_weldJoint=8]="e_weldJoint",wi[wi.e_frictionJoint=9]="e_frictionJoint",wi[wi.e_ropeJoint=10]="e_ropeJoint",wi[wi.e_motorJoint=11]="e_motorJoint",wi[wi.e_areaJoint=12]="e_areaJoint",(xi=t.b2LimitState||(t.b2LimitState={}))[xi.e_inactiveLimit=0]="e_inactiveLimit",xi[xi.e_atLowerLimit=1]="e_atLowerLimit",xi[xi.e_atUpperLimit=2]="e_atUpperLimit",xi[xi.e_equalLimits=3]="e_equalLimits";var Ii=function(){function t(){this.linear=new X,this.angularA=0,this.angularB=0}var e=t.prototype;return e.SetZero=function(){return this.linear.SetZero(),this.angularA=0,this.angularB=0,this},e.Set=function(t,e,i){return this.linear.Copy(t),this.angularA=e,this.angularB=i,this},t}(),Di=function(){function t(t){this._other=null,this.prev=null,this.next=null,this.joint=t}return t.prototype.Reset=function(){this._other=null,this.prev=null,this.next=null},n(t,[{key:"other",get:function(){if(null===this._other)throw new Error;return this._other},set:function(t){if(null!==this._other)throw new Error;this._other=t}}]),t}(),Bi=function(e){this.type=t.b2JointType.e_unknownJoint,this.userData=null,this.collideConnected=!1,this.type=e},Mi=function(){function i(i){this.m_type=t.b2JointType.e_unknownJoint,this.m_prev=null,this.m_next=null,this.m_edgeA=new Di(this),this.m_edgeB=new Di(this),this.m_index=0,this.m_islandFlag=!1,this.m_collideConnected=!1,this.m_userData=null,this.m_type=i.type,this.m_edgeA.other=i.bodyB,this.m_edgeB.other=i.bodyA,this.m_bodyA=i.bodyA,this.m_bodyB=i.bodyB,this.m_collideConnected=e(i.collideConnected,!1),this.m_userData=e(i.userData,null)}var n=i.prototype;return n.GetType=function(){return this.m_type},n.GetBodyA=function(){return this.m_bodyA},n.GetBodyB=function(){return this.m_bodyB},n.GetNext=function(){return this.m_next},n.GetUserData=function(){return this.m_userData},n.SetUserData=function(t){this.m_userData=t},n.IsActive=function(){return this.m_bodyA.IsActive()&&this.m_bodyB.IsActive()},n.GetCollideConnected=function(){return this.m_collideConnected},n.Dump=function(t){t("// Dump is not supported for this joint type.\n")},n.ShiftOrigin=function(){},i}(),Pi=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_distanceJoint)||this).localAnchorA=new X,i.localAnchorB=new X,i.length=1,i.frequencyHz=0,i.dampingRatio=0,i}return s(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=X.DistanceVV(i,n),this.frequencyHz=0,this.dampingRatio=0},i}(Bi),Oi=function(t){function i(i){var n;return(n=t.call(this,i)||this).m_frequencyHz=0,n.m_dampingRatio=0,n.m_bias=0,n.m_localAnchorA=new X,n.m_localAnchorB=new X,n.m_gamma=0,n.m_impulse=0,n.m_length=0,n.m_indexA=0,n.m_indexB=0,n.m_u=new X,n.m_rA=new X,n.m_rB=new X,n.m_localCenterA=new X,n.m_localCenterB=new X,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=0,n.m_qA=new J,n.m_qB=new J,n.m_lalcA=new X,n.m_lalcB=new X,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}s(i,t);var n=i.prototype;return n.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.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},n.GetReactionTorque=function(){return 0},n.GetLocalAnchorA=function(){return this.m_localAnchorA},n.GetLocalAnchorB=function(){return this.m_localAnchorB},n.SetLength=function(t){this.m_length=t},n.Length=function(){return this.m_length},n.SetFrequency=function(t){this.m_frequencyHz=t},n.GetFrequency=function(){return this.m_frequencyHz},n.SetDampingRatio=function(t){this.m_dampingRatio=t},n.GetDampingRatio=function(){return this.m_dampingRatio},n.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)},n.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,h=t.positions[this.m_indexB].a,u=t.velocities[this.m_indexB].v,c=t.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(n),f=this.m_qB.SetAngle(h);X.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),J.MulRV(_,this.m_lalcA,this.m_rA),X.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),J.MulRV(f,this.m_lalcB,this.m_rB),this.m_u.x=a.x+this.m_rB.x-e.x-this.m_rA.x,this.m_u.y=a.y+this.m_rB.y-e.y-this.m_rA.y;var d=this.m_u.Length();d>l?this.m_u.SelfMul(1/d):this.m_u.SetZero();var p=X.CrossVV(this.m_rA,this.m_u),m=X.CrossVV(this.m_rB,this.m_u),g=this.m_invMassA+this.m_invIA*p*p+this.m_invMassB+this.m_invIB*m*m;if(this.m_mass=0!==g?1/g:0,this.m_frequencyHz>0){var y=d-this.m_length,v=2*o*this.m_frequencyHz,S=2*this.m_mass*this.m_dampingRatio*v,T=this.m_mass*v*v,A=t.step.dt;this.m_gamma=A*(S+A*T),this.m_gamma=0!==this.m_gamma?1/this.m_gamma:0,this.m_bias=y*A*T*this.m_gamma,g+=this.m_gamma,this.m_mass=0!==g?1/g:0}else this.m_gamma=0,this.m_bias=0;if(t.step.warmStarting){this.m_impulse*=t.step.dtRatio;var b=X.MulSV(this.m_impulse,this.m_u,i.InitVelocityConstraints_s_P);r.SelfMulSub(this.m_invMassA,b),s-=this.m_invIA*X.CrossVV(this.m_rA,b),u.SelfMulAdd(this.m_invMassB,b),c+=this.m_invIB*X.CrossVV(this.m_rB,b)}else this.m_impulse=0;t.velocities[this.m_indexA].w=s,t.velocities[this.m_indexB].w=c},n.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=X.AddVCrossSV(e,n,this.m_rA,i.SolveVelocityConstraints_s_vpA),o=X.AddVCrossSV(r,s,this.m_rB,i.SolveVelocityConstraints_s_vpB),h=X.DotVV(this.m_u,X.SubVV(o,a,X.s_t0)),u=-this.m_mass*(h+this.m_bias+this.m_gamma*this.m_impulse);this.m_impulse+=u;var l=X.MulSV(u,this.m_u,i.SolveVelocityConstraints_s_P);e.SelfMulSub(this.m_invMassA,l),n-=this.m_invIA*X.CrossVV(this.m_rA,l),r.SelfMulAdd(this.m_invMassB,l),s+=this.m_invIB*X.CrossVV(this.m_rB,l),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},n.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),h=J.MulRV(a,this.m_lalcA,this.m_rA),u=J.MulRV(o,this.m_lalcB,this.m_rB),c=this.m_u;c.x=r.x+u.x-e.x-h.x,c.y=r.y+u.y-e.y-h.y;var _=this.m_u.Normalize()-this.m_length;_=O(_,-.2,d);var f=-this.m_mass*_,p=X.MulSV(f,c,i.SolvePositionConstraints_s_P);return e.SelfMulSub(this.m_invMassA,p),n-=this.m_invIA*X.CrossVV(h,p),r.SelfMulAdd(this.m_invMassB,p),s+=this.m_invIB*X.CrossVV(u,p),t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,B(_)F(d)&&v.SelfMul(d/k(S)),S>F(l)&&(f=!1),g.x+=v.x,g.y+=v.y}return f},i}(Mi),Ni=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_frictionJoint)||this).localAnchorA=new X,i.localAnchorB=new X,i.maxForce=0,i.maxTorque=0,i}return s(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}(Bi),ki=function(t){function i(i){var n;return(n=t.call(this,i)||this).m_localAnchorA=new X,n.m_localAnchorB=new X,n.m_linearImpulse=new X,n.m_angularImpulse=0,n.m_maxForce=0,n.m_maxTorque=0,n.m_indexA=0,n.m_indexB=0,n.m_rA=new X,n.m_rB=new X,n.m_localCenterA=new X,n.m_localCenterB=new X,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_linearMass=new q,n.m_angularMass=0,n.m_qA=new J,n.m_qB=new J,n.m_lalcA=new X,n.m_lalcB=new X,n.m_K=new q,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}s(i,t);var n=i.prototype;return n.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);X.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var u=J.MulRV(o,this.m_lalcA,this.m_rA);X.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var l=J.MulRV(h,this.m_lalcB,this.m_rB),c=this.m_invMassA,_=this.m_invMassB,f=this.m_invIA,d=this.m_invIB,p=this.m_K;if(p.ex.x=c+_+f*u.y*u.y+d*l.y*l.y,p.ex.y=-f*u.x*u.y-d*l.x*l.y,p.ey.x=p.ex.y,p.ey.y=c+_+f*u.x*u.x+d*l.x*l.x,p.GetInverse(this.m_linearMass),this.m_angularMass=f+d,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 m=this.m_linearImpulse;i.SelfMulSub(c,m),n-=f*(X.CrossVV(this.m_rA,m)+this.m_angularImpulse),s.SelfMulAdd(_,m),a+=d*(X.CrossVV(this.m_rB,m)+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},n.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,u=this.m_invIB,l=t.step.dt,c=s-n,_=-this.m_angularMass*c,f=this.m_angularImpulse,d=l*this.m_maxTorque;this.m_angularImpulse=O(this.m_angularImpulse+_,-d,d),n-=h*(_=this.m_angularImpulse-f),s+=u*_;var p=X.SubVV(X.AddVCrossSV(r,s,this.m_rB,X.s_t0),X.AddVCrossSV(e,n,this.m_rA,X.s_t1),i.SolveVelocityConstraints_s_Cdot_v2),m=q.MulMV(this.m_linearMass,p,i.SolveVelocityConstraints_s_impulseV).SelfNeg(),g=i.SolveVelocityConstraints_s_oldImpulseV.Copy(this.m_linearImpulse);this.m_linearImpulse.SelfAdd(m);var y=l*this.m_maxForce;this.m_linearImpulse.LengthSquared()>y*y&&(this.m_linearImpulse.Normalize(),this.m_linearImpulse.SelfMul(y)),X.SubVV(this.m_linearImpulse,g,m),e.SelfMulSub(a,m),n-=h*X.CrossVV(this.m_rA,m),r.SelfMulAdd(o,m),s+=u*X.CrossVV(this.m_rB,m),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},n.SolvePositionConstraints=function(){return!0},n.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.GetReactionForce=function(t,e){return e.x=t*this.m_linearImpulse.x,e.y=t*this.m_linearImpulse.y,e},n.GetReactionTorque=function(t){return t*this.m_angularImpulse},n.GetLocalAnchorA=function(){return this.m_localAnchorA},n.GetLocalAnchorB=function(){return this.m_localAnchorB},n.SetMaxForce=function(t){this.m_maxForce=t},n.GetMaxForce=function(){return this.m_maxForce},n.SetMaxTorque=function(t){this.m_maxTorque=t},n.GetMaxTorque=function(){return this.m_maxTorque},n.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}(Mi);ki.SolveVelocityConstraints_s_Cdot_v2=new X,ki.SolveVelocityConstraints_s_impulseV=new X,ki.SolveVelocityConstraints_s_oldImpulseV=new X;var Gi=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_gearJoint)||this).ratio=1,i}return s(i,e),i}(Bi),Vi=function(i){function n(n){var r,s,a;(r=i.call(this,n)||this).m_typeA=t.b2JointType.e_unknownJoint,r.m_typeB=t.b2JointType.e_unknownJoint,r.m_localAnchorA=new X,r.m_localAnchorB=new X,r.m_localAnchorC=new X,r.m_localAnchorD=new X,r.m_localAxisC=new X,r.m_localAxisD=new X,r.m_referenceAngleA=0,r.m_referenceAngleB=0,r.m_constant=0,r.m_ratio=0,r.m_impulse=0,r.m_indexA=0,r.m_indexB=0,r.m_indexC=0,r.m_indexD=0,r.m_lcA=new X,r.m_lcB=new X,r.m_lcC=new X,r.m_lcD=new X,r.m_mA=0,r.m_mB=0,r.m_mC=0,r.m_mD=0,r.m_iA=0,r.m_iB=0,r.m_iC=0,r.m_iD=0,r.m_JvAC=new X,r.m_JvBD=new X,r.m_JwA=0,r.m_JwB=0,r.m_JwC=0,r.m_JwD=0,r.m_mass=0,r.m_qA=new J,r.m_qB=new J,r.m_qC=new J,r.m_qD=new J,r.m_lalcA=new X,r.m_lalcB=new X,r.m_lalcC=new X,r.m_lalcD=new X,r.m_joint1=n.joint1,r.m_joint2=n.joint2,r.m_typeA=r.m_joint1.GetType(),r.m_typeB=r.m_joint2.GetType(),r.m_bodyC=r.m_joint1.GetBodyA(),r.m_bodyA=r.m_joint1.GetBodyB();var o=r.m_bodyA.m_xf,h=r.m_bodyA.m_sweep.a,u=r.m_bodyC.m_xf,l=r.m_bodyC.m_sweep.a;if(r.m_typeA===t.b2JointType.e_revoluteJoint){var c=n.joint1;r.m_localAnchorC.Copy(c.m_localAnchorA),r.m_localAnchorA.Copy(c.m_localAnchorB),r.m_referenceAngleA=c.m_referenceAngle,r.m_localAxisC.SetZero(),s=h-l-r.m_referenceAngleA}else{var _=n.joint1;r.m_localAnchorC.Copy(_.m_localAnchorA),r.m_localAnchorA.Copy(_.m_localAnchorB),r.m_referenceAngleA=_.m_referenceAngle,r.m_localAxisC.Copy(_.m_localXAxisA);var f=r.m_localAnchorC,d=J.MulTRV(u.q,X.AddVV(J.MulRV(o.q,r.m_localAnchorA,X.s_t0),X.SubVV(o.p,u.p,X.s_t1),X.s_t0),X.s_t0);s=X.DotVV(X.SubVV(d,f,X.s_t0),r.m_localAxisC)}r.m_bodyD=r.m_joint2.GetBodyA(),r.m_bodyB=r.m_joint2.GetBodyB();var p=r.m_bodyB.m_xf,m=r.m_bodyB.m_sweep.a,g=r.m_bodyD.m_xf,y=r.m_bodyD.m_sweep.a;if(r.m_typeB===t.b2JointType.e_revoluteJoint){var v=n.joint2;r.m_localAnchorD.Copy(v.m_localAnchorA),r.m_localAnchorB.Copy(v.m_localAnchorB),r.m_referenceAngleB=v.m_referenceAngle,r.m_localAxisD.SetZero(),a=m-y-r.m_referenceAngleB}else{var S=n.joint2;r.m_localAnchorD.Copy(S.m_localAnchorA),r.m_localAnchorB.Copy(S.m_localAnchorB),r.m_referenceAngleB=S.m_referenceAngle,r.m_localAxisD.Copy(S.m_localXAxisA);var T=r.m_localAnchorD,A=J.MulTRV(g.q,X.AddVV(J.MulRV(p.q,r.m_localAnchorB,X.s_t0),X.SubVV(p.p,g.p,X.s_t1),X.s_t0),X.s_t0);a=X.DotVV(X.SubVV(A,T,X.s_t0),r.m_localAxisD)}return r.m_ratio=e(n.ratio,1),r.m_constant=s+r.m_ratio*a,r.m_impulse=0,r}s(n,i);var r=n.prototype;return r.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,u=e.positions[this.m_indexC].a,l=e.velocities[this.m_indexC].v,c=e.velocities[this.m_indexC].w,_=e.positions[this.m_indexD].a,f=e.velocities[this.m_indexD].v,d=e.velocities[this.m_indexD].w,p=this.m_qA.SetAngle(i),m=this.m_qB.SetAngle(a),g=this.m_qC.SetAngle(u),y=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 v=J.MulRV(g,this.m_localAxisC,n.InitVelocityConstraints_s_u);X.SubVV(this.m_localAnchorC,this.m_lcC,this.m_lalcC);var S=J.MulRV(g,this.m_lalcC,n.InitVelocityConstraints_s_rC);X.SubVV(this.m_localAnchorA,this.m_lcA,this.m_lalcA);var T=J.MulRV(p,this.m_lalcA,n.InitVelocityConstraints_s_rA);this.m_JvAC.Copy(v),this.m_JwC=X.CrossVV(S,v),this.m_JwA=X.CrossVV(T,v),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{var A=J.MulRV(y,this.m_localAxisD,n.InitVelocityConstraints_s_u);X.SubVV(this.m_localAnchorD,this.m_lcD,this.m_lalcD);var b=J.MulRV(y,this.m_lalcD,n.InitVelocityConstraints_s_rD);X.SubVV(this.m_localAnchorB,this.m_lcB,this.m_lalcB);var E=J.MulRV(m,this.m_lalcB,n.InitVelocityConstraints_s_rB);X.MulSV(this.m_ratio,A,this.m_JvBD),this.m_JwD=this.m_ratio*X.CrossVV(b,A),this.m_JwB=this.m_ratio*X.CrossVV(E,A),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,l.SelfMulSub(this.m_mC*this.m_impulse,this.m_JvAC),c-=this.m_iC*this.m_impulse*this.m_JwC,f.SelfMulSub(this.m_mD*this.m_impulse,this.m_JvBD),d-=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=c,e.velocities[this.m_indexD].w=d},r.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,u=X.DotVV(this.m_JvAC,X.SubVV(e,s,X.s_t0))+X.DotVV(this.m_JvBD,X.SubVV(n,o,X.s_t0));u+=this.m_JwA*i-this.m_JwC*a+(this.m_JwB*r-this.m_JwD*h);var l=-this.m_mass*u;this.m_impulse+=l,e.SelfMulAdd(this.m_mA*l,this.m_JvAC),i+=this.m_iA*l*this.m_JwA,n.SelfMulAdd(this.m_mB*l,this.m_JvBD),r+=this.m_iB*l*this.m_JwB,s.SelfMulSub(this.m_mC*l,this.m_JvAC),a-=this.m_iC*l*this.m_JwC,o.SelfMulSub(this.m_mD*l,this.m_JvBD),h-=this.m_iD*l*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},r.SolvePositionConstraints=function(e){var i,r,s,a,o,h,u=e.positions[this.m_indexA].c,l=e.positions[this.m_indexA].a,c=e.positions[this.m_indexB].c,_=e.positions[this.m_indexB].a,f=e.positions[this.m_indexC].c,d=e.positions[this.m_indexC].a,p=e.positions[this.m_indexD].c,m=e.positions[this.m_indexD].a,g=this.m_qA.SetAngle(l),y=this.m_qB.SetAngle(_),v=this.m_qC.SetAngle(d),S=this.m_qD.SetAngle(m),T=this.m_JvAC,A=this.m_JvBD,b=0;if(this.m_typeA===t.b2JointType.e_revoluteJoint)T.SetZero(),s=1,o=1,b+=this.m_iA+this.m_iC,i=l-d-this.m_referenceAngleA;else{var E=J.MulRV(v,this.m_localAxisC,n.SolvePositionConstraints_s_u),C=J.MulRV(v,this.m_lalcC,n.SolvePositionConstraints_s_rC),x=J.MulRV(g,this.m_lalcA,n.SolvePositionConstraints_s_rA);T.Copy(E),o=X.CrossVV(C,E),s=X.CrossVV(x,E),b+=this.m_mC+this.m_mA+this.m_iC*o*o+this.m_iA*s*s;var w=this.m_lalcC,R=J.MulTRV(v,X.AddVV(x,X.SubVV(u,f,X.s_t0),X.s_t0),X.s_t0);i=X.DotVV(X.SubVV(R,w,X.s_t0),this.m_localAxisC)}if(this.m_typeB===t.b2JointType.e_revoluteJoint)A.SetZero(),a=this.m_ratio,h=this.m_ratio,b+=this.m_ratio*this.m_ratio*(this.m_iB+this.m_iD),r=_-m-this.m_referenceAngleB;else{var I=J.MulRV(S,this.m_localAxisD,n.SolvePositionConstraints_s_u),D=J.MulRV(S,this.m_lalcD,n.SolvePositionConstraints_s_rD),B=J.MulRV(y,this.m_lalcB,n.SolvePositionConstraints_s_rB);X.MulSV(this.m_ratio,I,A),h=this.m_ratio*X.CrossVV(D,I),a=this.m_ratio*X.CrossVV(B,I),b+=this.m_ratio*this.m_ratio*(this.m_mD+this.m_mB)+this.m_iD*h*h+this.m_iB*a*a;var M=this.m_lalcD,P=J.MulTRV(S,X.AddVV(B,X.SubVV(c,p,X.s_t0),X.s_t0),X.s_t0);r=X.DotVV(X.SubVV(P,M,X.s_t0),this.m_localAxisD)}var O=i+this.m_ratio*r-this.m_constant,L=0;return b>0&&(L=-O/b),u.SelfMulAdd(this.m_mA*L,T),l+=this.m_iA*L*s,c.SelfMulAdd(this.m_mB*L,A),_+=this.m_iB*L*a,f.SelfMulSub(this.m_mC*L,T),d-=this.m_iC*L*o,p.SelfMulSub(this.m_mD*L,A),m-=this.m_iD*L*h,e.positions[this.m_indexA].a=l,e.positions[this.m_indexB].a=_,e.positions[this.m_indexC].a=d,e.positions[this.m_indexD].a=m,!0},r.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},r.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},r.GetReactionForce=function(t,e){return X.MulSV(t*this.m_impulse,this.m_JvAC,e)},r.GetReactionTorque=function(t){return t*this.m_impulse*this.m_JwA},r.GetJoint1=function(){return this.m_joint1},r.GetJoint2=function(){return this.m_joint2},r.GetRatio=function(){return this.m_ratio},r.SetRatio=function(t){this.m_ratio=t},r.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}(Mi);Vi.InitVelocityConstraints_s_u=new X,Vi.InitVelocityConstraints_s_rA=new X,Vi.InitVelocityConstraints_s_rB=new X,Vi.InitVelocityConstraints_s_rC=new X,Vi.InitVelocityConstraints_s_rD=new X,Vi.SolvePositionConstraints_s_u=new X,Vi.SolvePositionConstraints_s_rA=new X,Vi.SolvePositionConstraints_s_rB=new X,Vi.SolvePositionConstraints_s_rC=new X,Vi.SolvePositionConstraints_s_rD=new X;var Ui=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_motorJoint)||this).linearOffset=new X(0,0),i.angularOffset=0,i.maxForce=1,i.maxTorque=1,i.correctionFactor=.3,i}return s(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}(Bi),zi=function(t){function i(i){var n;return(n=t.call(this,i)||this).m_linearOffset=new X,n.m_angularOffset=0,n.m_linearImpulse=new X,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 X,n.m_rB=new X,n.m_localCenterA=new X,n.m_localCenterB=new X,n.m_linearError=new X,n.m_angularError=0,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_linearMass=new q,n.m_angularMass=0,n.m_qA=new J,n.m_qB=new J,n.m_K=new q,n.m_linearOffset.Copy(e(i.linearOffset,X.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}s(i,t);var n=i.prototype;return n.GetAnchorA=function(t){var e=this.m_bodyA.GetPosition();return t.x=e.x,t.y=e.y,t},n.GetAnchorB=function(t){var e=this.m_bodyB.GetPosition();return t.x=e.x,t.y=e.y,t},n.GetReactionForce=function(t,e){return X.MulSV(t,this.m_linearImpulse,e)},n.GetReactionTorque=function(t){return t*this.m_angularImpulse},n.SetLinearOffset=function(t){X.IsEqualToV(t,this.m_linearOffset)||(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_linearOffset.Copy(t))},n.GetLinearOffset=function(){return this.m_linearOffset},n.SetAngularOffset=function(t){t!==this.m_angularOffset&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_angularOffset=t)},n.GetAngularOffset=function(){return this.m_angularOffset},n.SetMaxForce=function(t){this.m_maxForce=t},n.GetMaxForce=function(){return this.m_maxForce},n.SetMaxTorque=function(t){this.m_maxTorque=t},n.GetMaxTorque=function(){return this.m_maxTorque},n.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,u=this.m_qA.SetAngle(i),l=this.m_qB.SetAngle(a),c=J.MulRV(u,X.SubVV(this.m_linearOffset,this.m_localCenterA,X.s_t0),this.m_rA),_=J.MulRV(l,X.NegV(this.m_localCenterB,X.s_t0),this.m_rB),f=this.m_invMassA,d=this.m_invMassB,p=this.m_invIA,m=this.m_invIB,g=this.m_K;if(g.ex.x=f+d+p*c.y*c.y+m*_.y*_.y,g.ex.y=-p*c.x*c.y-m*_.x*_.y,g.ey.x=g.ex.y,g.ey.y=f+d+p*c.x*c.x+m*_.x*_.x,g.GetInverse(this.m_linearMass),this.m_angularMass=p+m,this.m_angularMass>0&&(this.m_angularMass=1/this.m_angularMass),X.SubVV(X.AddVV(s,_,X.s_t0),X.AddVV(e,c,X.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 y=this.m_linearImpulse;n.SelfMulSub(f,y),r-=p*(X.CrossVV(c,y)+this.m_angularImpulse),o.SelfMulAdd(d,y),h+=m*(X.CrossVV(_,y)+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},n.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,u=this.m_invIB,l=t.step.dt,c=t.step.inv_dt,_=s-n+c*this.m_correctionFactor*this.m_angularError,f=-this.m_angularMass*_,d=this.m_angularImpulse,p=l*this.m_maxTorque;this.m_angularImpulse=O(this.m_angularImpulse+f,-p,p),n-=h*(f=this.m_angularImpulse-d),s+=u*f;var m=this.m_rA,g=this.m_rB,y=X.AddVV(X.SubVV(X.AddVV(r,X.CrossSV(s,g,X.s_t0),X.s_t0),X.AddVV(e,X.CrossSV(n,m,X.s_t1),X.s_t1),X.s_t2),X.MulSV(c*this.m_correctionFactor,this.m_linearError,X.s_t3),i.SolveVelocityConstraints_s_Cdot_v2),v=q.MulMV(this.m_linearMass,y,i.SolveVelocityConstraints_s_impulse_v2).SelfNeg(),S=i.SolveVelocityConstraints_s_oldImpulse_v2.Copy(this.m_linearImpulse);this.m_linearImpulse.SelfAdd(v);var T=l*this.m_maxForce;this.m_linearImpulse.LengthSquared()>T*T&&(this.m_linearImpulse.Normalize(),this.m_linearImpulse.SelfMul(T)),X.SubVV(this.m_linearImpulse,S,v),e.SelfMulSub(a,v),n-=h*X.CrossVV(m,v),r.SelfMulAdd(o,v),s+=u*X.CrossVV(g,v),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},n.SolvePositionConstraints=function(){return!0},n.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}(Mi);zi.SolveVelocityConstraints_s_Cdot_v2=new X,zi.SolveVelocityConstraints_s_impulse_v2=new X,zi.SolveVelocityConstraints_s_oldImpulse_v2=new X;var Hi=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_mouseJoint)||this).target=new X,i.maxForce=0,i.frequencyHz=5,i.dampingRatio=.7,i}return s(i,e),i}(Bi),Wi=function(t){function i(i){var n;return(n=t.call(this,i)||this).m_localAnchorB=new X,n.m_targetA=new X,n.m_frequencyHz=0,n.m_dampingRatio=0,n.m_beta=0,n.m_impulse=new X,n.m_maxForce=0,n.m_gamma=0,n.m_indexA=0,n.m_indexB=0,n.m_rB=new X,n.m_localCenterB=new X,n.m_invMassB=0,n.m_invIB=0,n.m_mass=new q,n.m_C=new X,n.m_qB=new J,n.m_lalcB=new X,n.m_K=new q,n.m_targetA.Copy(e(i.target,X.ZERO)),Z.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}s(i,t);var n=i.prototype;return n.SetTarget=function(t){this.m_bodyB.IsAwake()||this.m_bodyB.SetAwake(!0),this.m_targetA.Copy(t)},n.GetTarget=function(){return this.m_targetA},n.SetMaxForce=function(t){this.m_maxForce=t},n.GetMaxForce=function(){return this.m_maxForce},n.SetFrequency=function(t){this.m_frequencyHz=t},n.GetFrequency=function(){return this.m_frequencyHz},n.SetDampingRatio=function(t){this.m_dampingRatio=t},n.GetDampingRatio=function(){return this.m_dampingRatio},n.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,s=this.m_qB.SetAngle(i),a=this.m_bodyB.GetMass(),h=2*o*this.m_frequencyHz,u=2*a*this.m_dampingRatio*h,l=a*h*h,c=t.step.dt;this.m_gamma=c*(u+c*l),0!==this.m_gamma&&(this.m_gamma=1/this.m_gamma),this.m_beta=c*l*this.m_gamma,X.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),J.MulRV(s,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*X.CrossVV(this.m_rB,this.m_impulse)):this.m_impulse.SetZero(),t.velocities[this.m_indexB].w=r},n.SolveVelocityConstraints=function(t){var e=t.velocities[this.m_indexB].v,n=t.velocities[this.m_indexB].w,r=X.AddVCrossSV(e,n,this.m_rB,i.SolveVelocityConstraints_s_Cdot),s=q.MulMV(this.m_mass,X.AddVV(r,X.AddVV(this.m_C,X.MulSV(this.m_gamma,this.m_impulse,X.s_t0),X.s_t0),X.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()),X.SubVV(this.m_impulse,a,s),e.SelfMulAdd(this.m_invMassB,s),n+=this.m_invIB*X.CrossVV(this.m_rB,s),t.velocities[this.m_indexB].w=n},n.SolvePositionConstraints=function(){return!0},n.GetAnchorA=function(t){return t.x=this.m_targetA.x,t.y=this.m_targetA.y,t},n.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.GetReactionForce=function(t,e){return X.MulSV(t,this.m_impulse,e)},n.GetReactionTorque=function(){return 0},n.Dump=function(t){t("Mouse joint dumping is not supported.\n")},n.ShiftOrigin=function(t){this.m_targetA.SelfSub(t)},i}(Mi);Wi.SolveVelocityConstraints_s_Cdot=new X,Wi.SolveVelocityConstraints_s_impulse=new X,Wi.SolveVelocityConstraints_s_oldImpulse=new X;var Xi=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_prismaticJoint)||this).localAnchorA=new X,i.localAnchorB=new X,i.localAxisA=new X(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 s(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}(Bi),ji=function(i){function n(n){var r;return(r=i.call(this,n)||this).m_localAnchorA=new X,r.m_localAnchorB=new X,r.m_localXAxisA=new X,r.m_localYAxisA=new X,r.m_referenceAngle=0,r.m_impulse=new Y(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 X,r.m_localCenterB=new X,r.m_invMassA=0,r.m_invMassB=0,r.m_invIA=0,r.m_invIB=0,r.m_axis=new X(0,0),r.m_perp=new X(0,0),r.m_s1=0,r.m_s2=0,r.m_a1=0,r.m_a2=0,r.m_K=new K,r.m_K3=new K,r.m_K2=new q,r.m_motorMass=0,r.m_qA=new J,r.m_qB=new J,r.m_lalcA=new X,r.m_lalcB=new X,r.m_rA=new X,r.m_rB=new X,r.m_localAnchorA.Copy(e(n.localAnchorA,X.ZERO)),r.m_localAnchorB.Copy(e(n.localAnchorB,X.ZERO)),r.m_localXAxisA.Copy(e(n.localAxisA,new X(1,0))).SelfNormalize(),X.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}s(n,i);var r=n.prototype;return r.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,h=e.positions[this.m_indexB].a,u=e.velocities[this.m_indexB].v,l=e.velocities[this.m_indexB].w,c=this.m_qA.SetAngle(r),_=this.m_qB.SetAngle(h);X.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var f=J.MulRV(c,this.m_lalcA,this.m_rA);X.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var d=J.MulRV(_,this.m_lalcB,this.m_rB),p=X.AddVV(X.SubVV(o,i,X.s_t0),X.SubVV(d,f,X.s_t1),n.InitVelocityConstraints_s_d),m=this.m_invMassA,g=this.m_invMassB,y=this.m_invIA,v=this.m_invIB;if(J.MulRV(c,this.m_localXAxisA,this.m_axis),this.m_a1=X.CrossVV(X.AddVV(p,f,X.s_t0),this.m_axis),this.m_a2=X.CrossVV(d,this.m_axis),this.m_motorMass=m+g+y*this.m_a1*this.m_a1+v*this.m_a2*this.m_a2,this.m_motorMass>0&&(this.m_motorMass=1/this.m_motorMass),J.MulRV(c,this.m_localYAxisA,this.m_perp),this.m_s1=X.CrossVV(X.AddVV(p,f,X.s_t0),this.m_perp),this.m_s2=X.CrossVV(d,this.m_perp),this.m_K.ex.x=m+g+y*this.m_s1*this.m_s1+v*this.m_s2*this.m_s2,this.m_K.ex.y=y*this.m_s1+v*this.m_s2,this.m_K.ex.z=y*this.m_s1*this.m_a1+v*this.m_s2*this.m_a2,this.m_K.ey.x=this.m_K.ex.y,this.m_K.ey.y=y+v,0===this.m_K.ey.y&&(this.m_K.ey.y=1),this.m_K.ey.z=y*this.m_a1+v*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=m+g+y*this.m_a1*this.m_a1+v*this.m_a2*this.m_a2,this.m_enableLimit){var S=X.DotVV(this.m_axis,p);B(this.m_upperTranslation-this.m_lowerTranslation)<.016?this.m_limitState=t.b2LimitState.e_equalLimits:S<=this.m_lowerTranslation?this.m_limitState!==t.b2LimitState.e_atLowerLimit&&(this.m_limitState=t.b2LimitState.e_atLowerLimit,this.m_impulse.z=0):S>=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 T=X.AddVV(X.MulSV(this.m_impulse.x,this.m_perp,X.s_t0),X.MulSV(this.m_motorImpulse+this.m_impulse.z,this.m_axis,X.s_t1),n.InitVelocityConstraints_s_P),A=this.m_impulse.x*this.m_s1+this.m_impulse.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_a1,b=this.m_impulse.x*this.m_s2+this.m_impulse.y+(this.m_motorImpulse+this.m_impulse.z)*this.m_a2;s.SelfMulSub(m,T),a-=y*A,u.SelfMulAdd(g,T),l+=v*b}else this.m_impulse.SetZero(),this.m_motorImpulse=0;e.velocities[this.m_indexA].w=a,e.velocities[this.m_indexB].w=l},r.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,u=this.m_invIA,l=this.m_invIB;if(this.m_enableMotor&&this.m_limitState!==t.b2LimitState.e_equalLimits){var c=X.DotVV(this.m_axis,X.SubVV(s,i,X.s_t0))+this.m_a2*a-this.m_a1*r,_=this.m_motorMass*(this.m_motorSpeed-c),f=this.m_motorImpulse,d=e.step.dt*this.m_maxMotorForce;this.m_motorImpulse=O(this.m_motorImpulse+_,-d,d),_=this.m_motorImpulse-f;var p=X.MulSV(_,this.m_axis,n.SolveVelocityConstraints_s_P),m=_*this.m_a1,g=_*this.m_a2;i.SelfMulSub(o,p),r-=u*m,s.SelfMulAdd(h,p),a+=l*g}var y=X.DotVV(this.m_perp,X.SubVV(s,i,X.s_t0))+this.m_s2*a-this.m_s1*r,v=a-r;if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit){var S=X.DotVV(this.m_axis,X.SubVV(s,i,X.s_t0))+this.m_a2*a-this.m_a1*r,T=n.SolveVelocityConstraints_s_f1.Copy(this.m_impulse),A=this.m_K.Solve33(-y,-v,-S,n.SolveVelocityConstraints_s_df3);this.m_impulse.SelfAdd(A),this.m_limitState===t.b2LimitState.e_atLowerLimit?this.m_impulse.z=P(this.m_impulse.z,0):this.m_limitState===t.b2LimitState.e_atUpperLimit&&(this.m_impulse.z=M(this.m_impulse.z,0));var b=-y-(this.m_impulse.z-T.z)*this.m_K.ez.x,E=-v-(this.m_impulse.z-T.z)*this.m_K.ez.y,C=this.m_K.Solve22(b,E,n.SolveVelocityConstraints_s_f2r);C.x+=T.x,C.y+=T.y,this.m_impulse.x=C.x,this.m_impulse.y=C.y,A.x=this.m_impulse.x-T.x,A.y=this.m_impulse.y-T.y,A.z=this.m_impulse.z-T.z;var x=X.AddVV(X.MulSV(A.x,this.m_perp,X.s_t0),X.MulSV(A.z,this.m_axis,X.s_t1),n.SolveVelocityConstraints_s_P),w=A.x*this.m_s1+A.y+A.z*this.m_a1,R=A.x*this.m_s2+A.y+A.z*this.m_a2;i.SelfMulSub(o,x),r-=u*w,s.SelfMulAdd(h,x),a+=l*R}else{var I=this.m_K.Solve22(-y,-v,n.SolveVelocityConstraints_s_df2);this.m_impulse.x+=I.x,this.m_impulse.y+=I.y;var D=X.MulSV(I.x,this.m_perp,n.SolveVelocityConstraints_s_P),B=I.x*this.m_s1+I.y,L=I.x*this.m_s2+I.y;i.SelfMulSub(o,D),r-=u*B,s.SelfMulAdd(h,D),a+=l*L}e.velocities[this.m_indexA].w=r,e.velocities[this.m_indexB].w=a},r.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),h=this.m_invMassA,u=this.m_invMassB,_=this.m_invIA,f=this.m_invIB,p=J.MulRV(a,this.m_lalcA,this.m_rA),m=J.MulRV(o,this.m_lalcB,this.m_rB),g=X.SubVV(X.AddVV(r,m,X.s_t0),X.AddVV(e,p,X.s_t1),n.SolvePositionConstraints_s_d),y=J.MulRV(a,this.m_localXAxisA,this.m_axis),v=X.CrossVV(X.AddVV(g,p,X.s_t0),y),S=X.CrossVV(m,y),T=J.MulRV(a,this.m_localYAxisA,this.m_perp),A=X.CrossVV(X.AddVV(g,p,X.s_t0),T),b=X.CrossVV(m,T),E=n.SolvePositionConstraints_s_impulse,C=X.DotVV(T,g),x=s-i-this.m_referenceAngle,w=B(C),R=B(x),I=!1,D=0;if(this.m_enableLimit){var M=X.DotVV(y,g);B(this.m_upperTranslation-this.m_lowerTranslation)<.016?(D=O(M,-.2,d),w=P(w,B(M)),I=!0):M<=this.m_lowerTranslation?(D=O(M-this.m_lowerTranslation+l,-.2,0),w=P(w,this.m_lowerTranslation-M),I=!0):M>=this.m_upperTranslation&&(D=O(M-this.m_upperTranslation-l,0,d),w=P(w,M-this.m_upperTranslation),I=!0)}if(I){var L=h+u+_*A*A+f*b*b,F=_*A+f*b,N=_*A*v+f*b*S,k=_+f;0===k&&(k=1);var G=_*v+f*S,V=h+u+_*v*v+f*S*S,U=this.m_K3;U.ex.SetXYZ(L,F,N),U.ey.SetXYZ(F,k,G),U.ez.SetXYZ(N,G,V),E=U.Solve33(-C,-x,-D,E)}else{var z=h+u+_*A*A+f*b*b,H=_*A+f*b,W=_+f;0===W&&(W=1);var j=this.m_K2;j.ex.Set(z,H),j.ey.Set(H,W);var Y=j.Solve(-C,-x,n.SolvePositionConstraints_s_impulse1);E.x=Y.x,E.y=Y.y,E.z=0}var q=X.AddVV(X.MulSV(E.x,T,X.s_t0),X.MulSV(E.z,y,X.s_t1),n.SolvePositionConstraints_s_P),K=E.x*A+E.y+E.z*v,Z=E.x*b+E.y+E.z*S;return e.SelfMulSub(h,q),i-=_*K,r.SelfMulAdd(u,q),s+=f*Z,t.positions[this.m_indexA].a=i,t.positions[this.m_indexB].a=s,w<=l&&R<=c},r.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},r.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},r.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},r.GetReactionTorque=function(t){return t*this.m_impulse.y},r.GetLocalAnchorA=function(){return this.m_localAnchorA},r.GetLocalAnchorB=function(){return this.m_localAnchorB},r.GetLocalAxisA=function(){return this.m_localXAxisA},r.GetReferenceAngle=function(){return this.m_referenceAngle},r.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=X.SubVV(e,t,n.GetJointTranslation_s_d),r=this.m_bodyA.GetWorldVector(this.m_localXAxisA,n.GetJointTranslation_s_axis);return X.DotVV(i,r)},r.GetJointSpeed=function(){var t=this.m_bodyA,e=this.m_bodyB;X.SubVV(this.m_localAnchorA,t.m_sweep.localCenter,this.m_lalcA);var i=J.MulRV(t.m_xf.q,this.m_lalcA,this.m_rA);X.SubVV(this.m_localAnchorB,e.m_sweep.localCenter,this.m_lalcB);var n=J.MulRV(e.m_xf.q,this.m_lalcB,this.m_rB),r=X.AddVV(t.m_sweep.c,i,X.s_t0),s=X.AddVV(e.m_sweep.c,n,X.s_t1),a=X.SubVV(s,r,X.s_t2),o=t.GetWorldVector(this.m_localXAxisA,this.m_axis),h=t.m_linearVelocity,u=e.m_linearVelocity,l=t.m_angularVelocity,c=e.m_angularVelocity;return X.DotVV(a,X.CrossSV(l,o,X.s_t0))+X.DotVV(o,X.SubVV(X.AddVCrossSV(u,c,n,X.s_t0),X.AddVCrossSV(h,l,i,X.s_t1),X.s_t0))},r.IsLimitEnabled=function(){return this.m_enableLimit},r.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)},r.GetLowerLimit=function(){return this.m_lowerTranslation},r.GetUpperLimit=function(){return this.m_upperTranslation},r.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)},r.IsMotorEnabled=function(){return this.m_enableMotor},r.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},r.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},r.GetMotorSpeed=function(){return this.m_motorSpeed},r.SetMaxMotorForce=function(t){t!==this.m_maxMotorForce&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorForce=t)},r.GetMaxMotorForce=function(){return this.m_maxMotorForce},r.GetMotorForce=function(t){return t*this.m_motorImpulse},r.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}(Mi);ji.InitVelocityConstraints_s_d=new X,ji.InitVelocityConstraints_s_P=new X,ji.SolveVelocityConstraints_s_P=new X,ji.SolveVelocityConstraints_s_f2r=new X,ji.SolveVelocityConstraints_s_f1=new Y,ji.SolveVelocityConstraints_s_df3=new Y,ji.SolveVelocityConstraints_s_df2=new X,ji.SolvePositionConstraints_s_d=new X,ji.SolvePositionConstraints_s_impulse=new Y,ji.SolvePositionConstraints_s_impulse1=new X,ji.SolvePositionConstraints_s_P=new X,ji.GetJointTranslation_s_pA=new X,ji.GetJointTranslation_s_pB=new X,ji.GetJointTranslation_s_d=new X,ji.GetJointTranslation_s_axis=new X;var Yi=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_pulleyJoint)||this).groundAnchorA=new X(-1,1),i.groundAnchorB=new X(1,1),i.localAnchorA=new X(-1,0),i.localAnchorB=new X(1,0),i.lengthA=0,i.lengthB=0,i.ratio=1,i.collideConnected=!0,i}return s(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=X.DistanceVV(r,i),this.lengthB=X.DistanceVV(s,n),this.ratio=a},i}(Bi),qi=function(t){function i(i){var n;return(n=t.call(this,i)||this).m_groundAnchorA=new X,n.m_groundAnchorB=new X,n.m_lengthA=0,n.m_lengthB=0,n.m_localAnchorA=new X,n.m_localAnchorB=new X,n.m_constant=0,n.m_ratio=0,n.m_impulse=0,n.m_indexA=0,n.m_indexB=0,n.m_uA=new X,n.m_uB=new X,n.m_rA=new X,n.m_rB=new X,n.m_localCenterA=new X,n.m_localCenterB=new X,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_mass=0,n.m_qA=new J,n.m_qB=new J,n.m_lalcA=new X,n.m_lalcB=new X,n.m_groundAnchorA.Copy(e(i.groundAnchorA,new X(-1,1))),n.m_groundAnchorB.Copy(e(i.groundAnchorB,new X(1,0))),n.m_localAnchorA.Copy(e(i.localAnchorA,new X(-1,0))),n.m_localAnchorB.Copy(e(i.localAnchorB,new X(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}s(i,t);var n=i.prototype;return n.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,h=t.velocities[this.m_indexB].v,u=t.velocities[this.m_indexB].w,l=this.m_qA.SetAngle(n),c=this.m_qB.SetAngle(o);X.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),J.MulRV(l,this.m_lalcA,this.m_rA),X.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),J.MulRV(c,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 _=this.m_uA.Length(),f=this.m_uB.Length();_>.08?this.m_uA.SelfMul(1/_):this.m_uA.SetZero(),f>.08?this.m_uB.SelfMul(1/f):this.m_uB.SetZero();var d=X.CrossVV(this.m_rA,this.m_uA),p=X.CrossVV(this.m_rB,this.m_uB),m=this.m_invMassA+this.m_invIA*d*d,g=this.m_invMassB+this.m_invIB*p*p;if(this.m_mass=m+this.m_ratio*this.m_ratio*g,this.m_mass>0&&(this.m_mass=1/this.m_mass),t.step.warmStarting){this.m_impulse*=t.step.dtRatio;var y=X.MulSV(-this.m_impulse,this.m_uA,i.InitVelocityConstraints_s_PA),v=X.MulSV(-this.m_ratio*this.m_impulse,this.m_uB,i.InitVelocityConstraints_s_PB);r.SelfMulAdd(this.m_invMassA,y),s+=this.m_invIA*X.CrossVV(this.m_rA,y),h.SelfMulAdd(this.m_invMassB,v),u+=this.m_invIB*X.CrossVV(this.m_rB,v)}else this.m_impulse=0;t.velocities[this.m_indexA].w=s,t.velocities[this.m_indexB].w=u},n.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=X.AddVCrossSV(e,n,this.m_rA,i.SolveVelocityConstraints_s_vpA),o=X.AddVCrossSV(r,s,this.m_rB,i.SolveVelocityConstraints_s_vpB),h=-X.DotVV(this.m_uA,a)-this.m_ratio*X.DotVV(this.m_uB,o),u=-this.m_mass*h;this.m_impulse+=u;var l=X.MulSV(-u,this.m_uA,i.SolveVelocityConstraints_s_PA),c=X.MulSV(-this.m_ratio*u,this.m_uB,i.SolveVelocityConstraints_s_PB);e.SelfMulAdd(this.m_invMassA,l),n+=this.m_invIA*X.CrossVV(this.m_rA,l),r.SelfMulAdd(this.m_invMassB,c),s+=this.m_invIB*X.CrossVV(this.m_rB,c),t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},n.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);X.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var h=J.MulRV(a,this.m_lalcA,this.m_rA);X.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var u=J.MulRV(o,this.m_lalcB,this.m_rB),c=this.m_uA.Copy(e).SelfAdd(h).SelfSub(this.m_groundAnchorA),_=this.m_uB.Copy(r).SelfAdd(u).SelfSub(this.m_groundAnchorB),f=c.Length(),d=_.Length();f>.08?c.SelfMul(1/f):c.SetZero(),d>.08?_.SelfMul(1/d):_.SetZero();var p=X.CrossVV(h,c),m=X.CrossVV(u,_),g=this.m_invMassA+this.m_invIA*p*p,y=this.m_invMassB+this.m_invIB*m*m,v=g+this.m_ratio*this.m_ratio*y;v>0&&(v=1/v);var S=this.m_constant-f-this.m_ratio*d,T=B(S),A=-v*S,b=X.MulSV(-A,c,i.SolvePositionConstraints_s_PA),E=X.MulSV(-this.m_ratio*A,_,i.SolvePositionConstraints_s_PB);return e.SelfMulAdd(this.m_invMassA,b),n+=this.m_invIA*X.CrossVV(h,b),r.SelfMulAdd(this.m_invMassB,E),s+=this.m_invIB*X.CrossVV(u,E),t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,T0&&(this.m_motorMass=1/this.m_motorMass),this.m_enableMotor&&!m||(this.m_motorImpulse=0),this.m_enableLimit&&!m){var g=a-i-this.m_referenceAngle;B(this.m_upperAngle-this.m_lowerAngle)<2*c?this.m_limitState=t.b2LimitState.e_equalLimits:g<=this.m_lowerAngle?(this.m_limitState!==t.b2LimitState.e_atLowerLimit&&(this.m_impulse.z=0),this.m_limitState=t.b2LimitState.e_atLowerLimit):g>=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 y=n.InitVelocityConstraints_s_P.Set(this.m_impulse.x,this.m_impulse.y);r.SelfMulSub(_,y),s-=d*(X.CrossVV(this.m_rA,y)+this.m_motorImpulse+this.m_impulse.z),o.SelfMulAdd(f,y),h+=p*(X.CrossVV(this.m_rB,y)+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},r.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,u=this.m_invIA,l=this.m_invIB,c=u+l===0;if(this.m_enableMotor&&this.m_limitState!==t.b2LimitState.e_equalLimits&&!c){var _=a-r-this.m_motorSpeed,f=-this.m_motorMass*_,d=this.m_motorImpulse,p=e.step.dt*this.m_maxMotorTorque;this.m_motorImpulse=O(this.m_motorImpulse+f,-p,p),r-=u*(f=this.m_motorImpulse-d),a+=l*f}if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit&&!c){var m=X.SubVV(X.AddVCrossSV(s,a,this.m_rB,X.s_t0),X.AddVCrossSV(i,r,this.m_rA,X.s_t1),n.SolveVelocityConstraints_s_Cdot1),g=a-r,y=this.m_mass.Solve33(m.x,m.y,g,n.SolveVelocityConstraints_s_impulse_v3).SelfNeg();if(this.m_limitState===t.b2LimitState.e_equalLimits)this.m_impulse.SelfAdd(y);else if(this.m_limitState===t.b2LimitState.e_atLowerLimit)if(this.m_impulse.z+y.z<0){var v=-m.x+this.m_impulse.z*this.m_mass.ez.x,S=-m.y+this.m_impulse.z*this.m_mass.ez.y,T=this.m_mass.Solve22(v,S,n.SolveVelocityConstraints_s_reduced_v2);y.x=T.x,y.y=T.y,y.z=-this.m_impulse.z,this.m_impulse.x+=T.x,this.m_impulse.y+=T.y,this.m_impulse.z=0}else this.m_impulse.SelfAdd(y);else if(this.m_limitState===t.b2LimitState.e_atUpperLimit)if(this.m_impulse.z+y.z>0){var A=-m.x+this.m_impulse.z*this.m_mass.ez.x,b=-m.y+this.m_impulse.z*this.m_mass.ez.y,E=this.m_mass.Solve22(A,b,n.SolveVelocityConstraints_s_reduced_v2);y.x=E.x,y.y=E.y,y.z=-this.m_impulse.z,this.m_impulse.x+=E.x,this.m_impulse.y+=E.y,this.m_impulse.z=0}else this.m_impulse.SelfAdd(y);var C=n.SolveVelocityConstraints_s_P.Set(y.x,y.y);i.SelfMulSub(o,C),r-=u*(X.CrossVV(this.m_rA,C)+y.z),s.SelfMulAdd(h,C),a+=l*(X.CrossVV(this.m_rB,C)+y.z)}else{var x=X.SubVV(X.AddVCrossSV(s,a,this.m_rB,X.s_t0),X.AddVCrossSV(i,r,this.m_rA,X.s_t1),n.SolveVelocityConstraints_s_Cdot_v2),w=this.m_mass.Solve22(-x.x,-x.y,n.SolveVelocityConstraints_s_impulse_v2);this.m_impulse.x+=w.x,this.m_impulse.y+=w.y,i.SelfMulSub(o,w),r-=u*X.CrossVV(this.m_rA,w),s.SelfMulAdd(h,w),a+=l*X.CrossVV(this.m_rB,w)}e.velocities[this.m_indexA].w=r,e.velocities[this.m_indexB].w=a},r.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,h=this.m_qA.SetAngle(s),u=this.m_qB.SetAngle(o),_=0,f=this.m_invIA+this.m_invIB===0;if(this.m_enableLimit&&this.m_limitState!==t.b2LimitState.e_inactiveLimit&&!f){var d=o-s-this.m_referenceAngle,m=0;if(this.m_limitState===t.b2LimitState.e_equalLimits){var g=O(d-this.m_lowerAngle,-.13962634015955555,p);m=-this.m_motorMass*g,_=B(g)}else if(this.m_limitState===t.b2LimitState.e_atLowerLimit){var y=d-this.m_lowerAngle;_=-y,y=O(y+c,-.13962634015955555,0),m=-this.m_motorMass*y}else if(this.m_limitState===t.b2LimitState.e_atUpperLimit){var v=d-this.m_upperAngle;_=v,v=O(v-c,0,p),m=-this.m_motorMass*v}s-=this.m_invIA*m,o+=this.m_invIB*m}h.SetAngle(s),u.SetAngle(o),X.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var S=J.MulRV(h,this.m_lalcA,this.m_rA);X.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var T=J.MulRV(u,this.m_lalcB,this.m_rB),A=X.SubVV(X.AddVV(a,T,X.s_t0),X.AddVV(r,S,X.s_t1),n.SolvePositionConstraints_s_C_v2);i=A.Length();var b=this.m_invMassA,E=this.m_invMassB,C=this.m_invIA,x=this.m_invIB,w=this.m_K;w.ex.x=b+E+C*S.y*S.y+x*T.y*T.y,w.ex.y=-C*S.x*S.y-x*T.x*T.y,w.ey.x=w.ex.y,w.ey.y=b+E+C*S.x*S.x+x*T.x*T.x;var R=w.Solve(A.x,A.y,n.SolvePositionConstraints_s_impulse).SelfNeg();return r.SelfMulSub(b,R),s-=C*X.CrossVV(S,R),a.SelfMulAdd(E,R),o+=x*X.CrossVV(T,R),e.positions[this.m_indexA].a=s,e.positions[this.m_indexB].a=o,i<=l&&_<=c},r.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},r.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},r.GetReactionForce=function(t,e){return e.x=t*this.m_impulse.x,e.y=t*this.m_impulse.y,e},r.GetReactionTorque=function(t){return t*this.m_impulse.z},r.GetLocalAnchorA=function(){return this.m_localAnchorA},r.GetLocalAnchorB=function(){return this.m_localAnchorB},r.GetReferenceAngle=function(){return this.m_referenceAngle},r.GetJointAngle=function(){return this.m_bodyB.m_sweep.a-this.m_bodyA.m_sweep.a-this.m_referenceAngle},r.GetJointSpeed=function(){return this.m_bodyB.m_angularVelocity-this.m_bodyA.m_angularVelocity},r.IsMotorEnabled=function(){return this.m_enableMotor},r.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},r.GetMotorTorque=function(t){return t*this.m_motorImpulse},r.GetMotorSpeed=function(){return this.m_motorSpeed},r.SetMaxMotorTorque=function(t){t!==this.m_maxMotorTorque&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorTorque=t)},r.GetMaxMotorTorque=function(){return this.m_maxMotorTorque},r.IsLimitEnabled=function(){return this.m_enableLimit},r.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)},r.GetLowerLimit=function(){return this.m_lowerAngle},r.GetUpperLimit=function(){return this.m_upperAngle},r.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)},r.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},r.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}(Mi);Ji.InitVelocityConstraints_s_P=new X,Ji.SolveVelocityConstraints_s_P=new X,Ji.SolveVelocityConstraints_s_Cdot_v2=new X,Ji.SolveVelocityConstraints_s_Cdot1=new X,Ji.SolveVelocityConstraints_s_impulse_v3=new Y,Ji.SolveVelocityConstraints_s_reduced_v2=new X,Ji.SolveVelocityConstraints_s_impulse_v2=new X,Ji.SolvePositionConstraints_s_C_v2=new X,Ji.SolvePositionConstraints_s_impulse=new X;var Zi=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_ropeJoint)||this).localAnchorA=new X(-1,0),i.localAnchorB=new X(1,0),i.maxLength=0,i}return s(i,e),i}(Bi),Qi=function(i){function n(n){var r;return(r=i.call(this,n)||this).m_localAnchorA=new X,r.m_localAnchorB=new X,r.m_maxLength=0,r.m_length=0,r.m_impulse=0,r.m_indexA=0,r.m_indexB=0,r.m_u=new X,r.m_rA=new X,r.m_rB=new X,r.m_localCenterA=new X,r.m_localCenterB=new X,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 J,r.m_qB=new J,r.m_lalcA=new X,r.m_lalcB=new X,r.m_localAnchorA.Copy(e(n.localAnchorA,new X(-1,0))),r.m_localAnchorB.Copy(e(n.localAnchorB,new X(1,0))),r.m_maxLength=e(n.maxLength,0),r}s(n,i);var r=n.prototype;return r.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,h=e.positions[this.m_indexB].a,u=e.velocities[this.m_indexB].v,c=e.velocities[this.m_indexB].w,_=this.m_qA.SetAngle(r),f=this.m_qB.SetAngle(h);X.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA),J.MulRV(_,this.m_lalcA,this.m_rA),X.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB),J.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 d=this.m_length-this.m_maxLength;if(this.m_state=d>0?t.b2LimitState.e_atUpperLimit:t.b2LimitState.e_inactiveLimit,!(this.m_length>l))return this.m_u.SetZero(),this.m_mass=0,void(this.m_impulse=0);this.m_u.SelfMul(1/this.m_length);var p=X.CrossVV(this.m_rA,this.m_u),m=X.CrossVV(this.m_rB,this.m_u),g=this.m_invMassA+this.m_invIA*p*p+this.m_invMassB+this.m_invIB*m*m;if(this.m_mass=0!==g?1/g:0,e.step.warmStarting){this.m_impulse*=e.step.dtRatio;var y=X.MulSV(this.m_impulse,this.m_u,n.InitVelocityConstraints_s_P);s.SelfMulSub(this.m_invMassA,y),a-=this.m_invIA*X.CrossVV(this.m_rA,y),u.SelfMulAdd(this.m_invMassB,y),c+=this.m_invIB*X.CrossVV(this.m_rB,y)}else this.m_impulse=0;e.velocities[this.m_indexA].w=a,e.velocities[this.m_indexB].w=c},r.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=X.AddVCrossSV(e,i,this.m_rA,n.SolveVelocityConstraints_s_vpA),o=X.AddVCrossSV(r,s,this.m_rB,n.SolveVelocityConstraints_s_vpB),h=this.m_length-this.m_maxLength,u=X.DotVV(this.m_u,X.SubVV(o,a,X.s_t0));h<0&&(u+=t.step.inv_dt*h);var l=-this.m_mass*u,c=this.m_impulse;this.m_impulse=M(0,this.m_impulse+l),l=this.m_impulse-c;var _=X.MulSV(l,this.m_u,n.SolveVelocityConstraints_s_P);e.SelfMulSub(this.m_invMassA,_),i-=this.m_invIA*X.CrossVV(this.m_rA,_),r.SelfMulAdd(this.m_invMassB,_),s+=this.m_invIB*X.CrossVV(this.m_rB,_),t.velocities[this.m_indexA].w=i,t.velocities[this.m_indexB].w=s},r.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);X.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var h=J.MulRV(a,this.m_lalcA,this.m_rA);X.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var u=J.MulRV(o,this.m_lalcB,this.m_rB),c=this.m_u.Copy(r).SelfAdd(u).SelfSub(e).SelfSub(h),_=c.Normalize(),f=_-this.m_maxLength;f=O(f,0,d);var p=-this.m_mass*f,m=X.MulSV(p,c,n.SolvePositionConstraints_s_P);return e.SelfMulSub(this.m_invMassA,m),i-=this.m_invIA*X.CrossVV(h,m),r.SelfMulAdd(this.m_invMassB,m),s+=this.m_invIB*X.CrossVV(u,m),t.positions[this.m_indexA].a=i,t.positions[this.m_indexB].a=s,_-this.m_maxLength0){p.GetInverse22(this.m_mass);var m=f+d,g=m>0?1/m:0,y=s-e-this.m_referenceAngle,v=2*o*this.m_frequencyHz,S=2*g*this.m_dampingRatio*v,T=g*v*v,A=t.step.dt;this.m_gamma=A*(S+A*T),this.m_gamma=0!==this.m_gamma?1/this.m_gamma:0,this.m_bias=y*A*T*this.m_gamma,m+=this.m_gamma,this.m_mass.ez.z=0!==m?1/m:0}else p.GetSymInverse33(this.m_mass),this.m_gamma=0,this.m_bias=0;if(t.step.warmStarting){this.m_impulse.SelfMul(t.step.dtRatio);var b=i.InitVelocityConstraints_s_P.Set(this.m_impulse.x,this.m_impulse.y);n.SelfMulSub(c,b),r-=f*(X.CrossVV(this.m_rA,b)+this.m_impulse.z),a.SelfMulAdd(_,b),h+=d*(X.CrossVV(this.m_rB,b)+this.m_impulse.z)}else this.m_impulse.SetZero();t.velocities[this.m_indexA].w=r,t.velocities[this.m_indexB].w=h},n.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,u=this.m_invIB;if(this.m_frequencyHz>0){var l=s-n,c=-this.m_mass.ez.z*(l+this.m_bias+this.m_gamma*this.m_impulse.z);this.m_impulse.z+=c,n-=h*c,s+=u*c;var _=X.SubVV(X.AddVCrossSV(r,s,this.m_rB,X.s_t0),X.AddVCrossSV(e,n,this.m_rA,X.s_t1),i.SolveVelocityConstraints_s_Cdot1),f=K.MulM33XY(this.m_mass,_.x,_.y,i.SolveVelocityConstraints_s_impulse1).SelfNeg();this.m_impulse.x+=f.x,this.m_impulse.y+=f.y;var d=f;e.SelfMulSub(a,d),n-=h*X.CrossVV(this.m_rA,d),r.SelfMulAdd(o,d),s+=u*X.CrossVV(this.m_rB,d)}else{var p=X.SubVV(X.AddVCrossSV(r,s,this.m_rB,X.s_t0),X.AddVCrossSV(e,n,this.m_rA,X.s_t1),i.SolveVelocityConstraints_s_Cdot1),m=s-n,g=K.MulM33XYZ(this.m_mass,p.x,p.y,m,i.SolveVelocityConstraints_s_impulse).SelfNeg();this.m_impulse.SelfAdd(g);var y=i.SolveVelocityConstraints_s_P.Set(g.x,g.y);e.SelfMulSub(a,y),n-=h*(X.CrossVV(this.m_rA,y)+g.z),r.SelfMulAdd(o,y),s+=u*(X.CrossVV(this.m_rB,y)+g.z)}t.velocities[this.m_indexA].w=n,t.velocities[this.m_indexB].w=s},n.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),h=this.m_invMassA,u=this.m_invMassB,_=this.m_invIA,f=this.m_invIB;X.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var d=J.MulRV(a,this.m_lalcA,this.m_rA);X.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var p,m,g=J.MulRV(o,this.m_lalcB,this.m_rB),y=this.m_K;if(y.ex.x=h+u+d.y*d.y*_+g.y*g.y*f,y.ey.x=-d.y*d.x*_-g.y*g.x*f,y.ez.x=-d.y*_-g.y*f,y.ex.y=y.ey.x,y.ey.y=h+u+d.x*d.x*_+g.x*g.x*f,y.ez.y=d.x*_+g.x*f,y.ex.z=y.ez.x,y.ey.z=y.ez.y,y.ez.z=_+f,this.m_frequencyHz>0){var v=X.SubVV(X.AddVV(r,g,X.s_t0),X.AddVV(e,d,X.s_t1),i.SolvePositionConstraints_s_C1);p=v.Length(),m=0;var S=y.Solve22(v.x,v.y,i.SolvePositionConstraints_s_P).SelfNeg();e.SelfMulSub(h,S),n-=_*X.CrossVV(d,S),r.SelfMulAdd(u,S),s+=f*X.CrossVV(g,S)}else{var T=X.SubVV(X.AddVV(r,g,X.s_t0),X.AddVV(e,d,X.s_t1),i.SolvePositionConstraints_s_C1),A=s-n-this.m_referenceAngle;p=T.Length(),m=B(A);var b=y.Solve33(T.x,T.y,A,i.SolvePositionConstraints_s_impulse).SelfNeg(),E=i.SolvePositionConstraints_s_P.Set(b.x,b.y);e.SelfMulSub(h,E),n-=_*(X.CrossVV(this.m_rA,E)+b.z),r.SelfMulAdd(u,E),s+=f*(X.CrossVV(this.m_rB,E)+b.z)}return t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,p<=l&&m<=c},n.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.GetReactionForce=function(t,e){return e.x=t*this.m_impulse.x,e.y=t*this.m_impulse.y,e},n.GetReactionTorque=function(t){return t*this.m_impulse.z},n.GetLocalAnchorA=function(){return this.m_localAnchorA},n.GetLocalAnchorB=function(){return this.m_localAnchorB},n.GetReferenceAngle=function(){return this.m_referenceAngle},n.SetFrequency=function(t){this.m_frequencyHz=t},n.GetFrequency=function(){return this.m_frequencyHz},n.SetDampingRatio=function(t){this.m_dampingRatio=t},n.GetDampingRatio=function(){return this.m_dampingRatio},n.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}(Mi);tn.InitVelocityConstraints_s_P=new X,tn.SolveVelocityConstraints_s_Cdot1=new X,tn.SolveVelocityConstraints_s_impulse1=new X,tn.SolveVelocityConstraints_s_impulse=new Y,tn.SolveVelocityConstraints_s_P=new X,tn.SolvePositionConstraints_s_C1=new X,tn.SolvePositionConstraints_s_P=new X,tn.SolvePositionConstraints_s_impulse=new Y;var en=function(e){function i(){var i;return(i=e.call(this,t.b2JointType.e_wheelJoint)||this).localAnchorA=new X(0,0),i.localAnchorB=new X(0,0),i.localAxisA=new X(1,0),i.enableMotor=!1,i.maxMotorTorque=0,i.motorSpeed=0,i.frequencyHz=2,i.dampingRatio=.7,i}return s(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}(Bi),nn=function(t){function i(i){var n;return(n=t.call(this,i)||this).m_frequencyHz=0,n.m_dampingRatio=0,n.m_localAnchorA=new X,n.m_localAnchorB=new X,n.m_localXAxisA=new X,n.m_localYAxisA=new X,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 X,n.m_localCenterB=new X,n.m_invMassA=0,n.m_invMassB=0,n.m_invIA=0,n.m_invIB=0,n.m_ax=new X,n.m_ay=new X,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 J,n.m_qB=new J,n.m_lalcA=new X,n.m_lalcB=new X,n.m_rA=new X,n.m_rB=new X,n.m_frequencyHz=e(i.frequencyHz,2),n.m_dampingRatio=e(i.dampingRatio,.7),n.m_localAnchorA.Copy(e(i.localAnchorA,X.ZERO)),n.m_localAnchorB.Copy(e(i.localAnchorB,X.ZERO)),n.m_localXAxisA.Copy(e(i.localAxisA,X.UNITX)),X.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}s(i,t);var n=i.prototype;return n.GetMotorSpeed=function(){return this.m_motorSpeed},n.GetMaxMotorTorque=function(){return this.m_maxMotorTorque},n.SetSpringFrequencyHz=function(t){this.m_frequencyHz=t},n.GetSpringFrequencyHz=function(){return this.m_frequencyHz},n.SetSpringDampingRatio=function(t){this.m_dampingRatio=t},n.GetSpringDampingRatio=function(){return this.m_dampingRatio},n.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,s=this.m_invIB,a=t.positions[this.m_indexA].c,h=t.positions[this.m_indexA].a,u=t.velocities[this.m_indexA].v,l=t.velocities[this.m_indexA].w,c=t.positions[this.m_indexB].c,_=t.positions[this.m_indexB].a,f=t.velocities[this.m_indexB].v,d=t.velocities[this.m_indexB].w,p=this.m_qA.SetAngle(h),m=this.m_qB.SetAngle(_);X.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var g=J.MulRV(p,this.m_lalcA,this.m_rA);X.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var y=J.MulRV(m,this.m_lalcB,this.m_rB),v=X.SubVV(X.AddVV(c,y,X.s_t0),X.AddVV(a,g,X.s_t1),i.InitVelocityConstraints_s_d);if(J.MulRV(p,this.m_localYAxisA,this.m_ay),this.m_sAy=X.CrossVV(X.AddVV(v,g,X.s_t0),this.m_ay),this.m_sBy=X.CrossVV(y,this.m_ay),this.m_mass=e+n+r*this.m_sAy*this.m_sAy+s*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){J.MulRV(p,this.m_localXAxisA,this.m_ax),this.m_sAx=X.CrossVV(X.AddVV(v,g,X.s_t0),this.m_ax),this.m_sBx=X.CrossVV(y,this.m_ax);var S=e+n+r*this.m_sAx*this.m_sAx+s*this.m_sBx*this.m_sBx;if(S>0){this.m_springMass=1/S;var T=X.DotVV(v,this.m_ax),A=2*o*this.m_frequencyHz,b=2*this.m_springMass*this.m_dampingRatio*A,E=this.m_springMass*A*A,C=t.step.dt;this.m_gamma=C*(b+C*E),this.m_gamma>0&&(this.m_gamma=1/this.m_gamma),this.m_bias=T*C*E*this.m_gamma,this.m_springMass=S+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+s,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 x=X.AddVV(X.MulSV(this.m_impulse,this.m_ay,X.s_t0),X.MulSV(this.m_springImpulse,this.m_ax,X.s_t1),i.InitVelocityConstraints_s_P),w=this.m_impulse*this.m_sAy+this.m_springImpulse*this.m_sAx+this.m_motorImpulse,R=this.m_impulse*this.m_sBy+this.m_springImpulse*this.m_sBx+this.m_motorImpulse;u.SelfMulSub(this.m_invMassA,x),l-=this.m_invIA*w,f.SelfMulAdd(this.m_invMassB,x),d+=this.m_invIB*R}else this.m_impulse=0,this.m_springImpulse=0,this.m_motorImpulse=0;t.velocities[this.m_indexA].w=l,t.velocities[this.m_indexB].w=d},n.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,u=t.velocities[this.m_indexB].w,l=X.DotVV(this.m_ax,X.SubVV(h,a,X.s_t0))+this.m_sBx*u-this.m_sAx*o,c=-this.m_springMass*(l+this.m_bias+this.m_gamma*this.m_springImpulse);this.m_springImpulse+=c;var _=X.MulSV(c,this.m_ax,i.SolveVelocityConstraints_s_P),f=c*this.m_sAx,d=c*this.m_sBx;a.SelfMulSub(e,_),o-=r*f,h.SelfMulAdd(n,_);var p=(u+=s*d)-o-this.m_motorSpeed,m=-this.m_motorMass*p,g=this.m_motorImpulse,y=t.step.dt*this.m_maxMotorTorque;this.m_motorImpulse=O(this.m_motorImpulse+m,-y,y),o-=r*(m=this.m_motorImpulse-g),u+=s*m;var v=X.DotVV(this.m_ay,X.SubVV(h,a,X.s_t0))+this.m_sBy*u-this.m_sAy*o,S=-this.m_mass*v;this.m_impulse+=S;var T=X.MulSV(S,this.m_ay,i.SolveVelocityConstraints_s_P),A=S*this.m_sAy,b=S*this.m_sBy;a.SelfMulSub(e,T),o-=r*A,h.SelfMulAdd(n,T),u+=s*b,t.velocities[this.m_indexA].w=o,t.velocities[this.m_indexB].w=u},n.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);X.SubVV(this.m_localAnchorA,this.m_localCenterA,this.m_lalcA);var h=J.MulRV(a,this.m_lalcA,this.m_rA);X.SubVV(this.m_localAnchorB,this.m_localCenterB,this.m_lalcB);var u,c=J.MulRV(o,this.m_lalcB,this.m_rB),_=X.AddVV(X.SubVV(r,e,X.s_t0),X.SubVV(c,h,X.s_t1),i.SolvePositionConstraints_s_d),f=J.MulRV(a,this.m_localYAxisA,this.m_ay),d=X.CrossVV(X.AddVV(_,h,X.s_t0),f),p=X.CrossVV(c,f),m=X.DotVV(_,this.m_ay),g=this.m_invMassA+this.m_invMassB+this.m_invIA*this.m_sAy*this.m_sAy+this.m_invIB*this.m_sBy*this.m_sBy;u=0!==g?-m/g:0;var y=X.MulSV(u,f,i.SolvePositionConstraints_s_P),v=u*d,S=u*p;return e.SelfMulSub(this.m_invMassA,y),n-=this.m_invIA*v,r.SelfMulAdd(this.m_invMassB,y),s+=this.m_invIB*S,t.positions[this.m_indexA].a=n,t.positions[this.m_indexB].a=s,B(m)<=l},n.GetDefinition=function(t){return t},n.GetAnchorA=function(t){return this.m_bodyA.GetWorldPoint(this.m_localAnchorA,t)},n.GetAnchorB=function(t){return this.m_bodyB.GetWorldPoint(this.m_localAnchorB,t)},n.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},n.GetReactionTorque=function(t){return t*this.m_motorImpulse},n.GetLocalAnchorA=function(){return this.m_localAnchorA},n.GetLocalAnchorB=function(){return this.m_localAnchorB},n.GetLocalAxisA=function(){return this.m_localXAxisA},n.GetJointTranslation=function(){return this.GetPrismaticJointTranslation()},n.GetJointLinearSpeed=function(){return this.GetPrismaticJointSpeed()},n.GetJointAngle=function(){return this.GetRevoluteJointAngle()},n.GetJointAngularSpeed=function(){return this.GetRevoluteJointSpeed()},n.GetPrismaticJointTranslation=function(){var t=this.m_bodyA,e=this.m_bodyB,i=t.GetWorldPoint(this.m_localAnchorA,new X),n=e.GetWorldPoint(this.m_localAnchorB,new X),r=X.SubVV(n,i,new X),s=t.GetWorldVector(this.m_localXAxisA,new X);return X.DotVV(r,s)},n.GetPrismaticJointSpeed=function(){var t=this.m_bodyA,e=this.m_bodyB;X.SubVV(this.m_localAnchorA,t.m_sweep.localCenter,this.m_lalcA);var i=J.MulRV(t.m_xf.q,this.m_lalcA,this.m_rA);X.SubVV(this.m_localAnchorB,e.m_sweep.localCenter,this.m_lalcB);var n=J.MulRV(e.m_xf.q,this.m_lalcB,this.m_rB),r=X.AddVV(t.m_sweep.c,i,X.s_t0),s=X.AddVV(e.m_sweep.c,n,X.s_t1),a=X.SubVV(s,r,X.s_t2),o=t.GetWorldVector(this.m_localXAxisA,new X),h=t.m_linearVelocity,u=e.m_linearVelocity,l=t.m_angularVelocity,c=e.m_angularVelocity;return X.DotVV(a,X.CrossSV(l,o,X.s_t0))+X.DotVV(o,X.SubVV(X.AddVCrossSV(u,c,n,X.s_t0),X.AddVCrossSV(h,l,i,X.s_t1),X.s_t0))},n.GetRevoluteJointAngle=function(){return this.m_bodyB.m_sweep.a-this.m_bodyA.m_sweep.a},n.GetRevoluteJointSpeed=function(){var t=this.m_bodyA.m_angularVelocity;return this.m_bodyB.m_angularVelocity-t},n.IsMotorEnabled=function(){return this.m_enableMotor},n.EnableMotor=function(t){t!==this.m_enableMotor&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_enableMotor=t)},n.SetMotorSpeed=function(t){t!==this.m_motorSpeed&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_motorSpeed=t)},n.SetMaxMotorTorque=function(t){t!==this.m_maxMotorTorque&&(this.m_bodyA.SetAwake(!0),this.m_bodyB.SetAwake(!0),this.m_maxMotorTorque=t)},n.GetMotorTorque=function(t){return t*this.m_motorImpulse},n.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}(Mi);function rn(t,e){return k(t*e)}function sn(t,e){return t>e?t:e}nn.InitVelocityConstraints_s_d=new X,nn.InitVelocityConstraints_s_P=new X,nn.SolveVelocityConstraints_s_P=new X,nn.SolvePositionConstraints_s_d=new X,nn.SolvePositionConstraints_s_P=new X;var an=function(){function t(t){this._other=null,this.prev=null,this.next=null,this.contact=t}return t.prototype.Reset=function(){this._other=null,this.prev=null,this.next=null},n(t,[{key:"other",get:function(){if(null===this._other)throw new Error;return this._other},set:function(t){if(null!==this._other)throw new Error;this._other=t}}]),t}(),on=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_nodeA=new an(this),this.m_nodeB=new an(this),this.m_indexA=0,this.m_indexB=0,this.m_manifold=new Ot,this.m_toiCount=0,this.m_toi=0,this.m_friction=0,this.m_restitution=0,this.m_tangentSpeed=0,this.m_oldManifold=new Ot}var e=t.prototype;return e.GetManifold=function(){return this.m_manifold},e.GetWorldManifold=function(t){var e=this.m_fixtureA.GetBody(),i=this.m_fixtureB.GetBody(),n=this.GetShapeA(),r=this.GetShapeB();t.Initialize(this.m_manifold,e.GetTransform(),n.m_radius,i.GetTransform(),r.m_radius)},e.IsTouching=function(){return this.m_touchingFlag},e.SetEnabled=function(t){this.m_enabledFlag=t},e.IsEnabled=function(){return this.m_enabledFlag},e.GetNext=function(){return this.m_next},e.GetFixtureA=function(){return this.m_fixtureA},e.GetChildIndexA=function(){return this.m_indexA},e.GetShapeA=function(){return this.m_fixtureA.GetShape()},e.GetFixtureB=function(){return this.m_fixtureB},e.GetChildIndexB=function(){return this.m_indexB},e.GetShapeB=function(){return this.m_fixtureB.GetShape()},e.FlagForFiltering=function(){this.m_filterFlag=!0},e.SetFriction=function(t){this.m_friction=t},e.GetFriction=function(){return this.m_friction},e.ResetFriction=function(){this.m_friction=rn(this.m_fixtureA.m_friction,this.m_fixtureB.m_friction)},e.SetRestitution=function(t){this.m_restitution=t},e.GetRestitution=function(){return this.m_restitution},e.ResetRestitution=function(){this.m_restitution=sn(this.m_fixtureA.m_restitution,this.m_fixtureB.m_restitution)},e.SetTangentSpeed=function(t){this.m_tangentSpeed=t},e.GetTangentSpeed=function(){return this.m_tangentSpeed},e.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,this.m_nodeA.Reset(),this.m_nodeB.Reset(),this.m_toiCount=0,this.m_friction=rn(this.m_fixtureA.m_friction,this.m_fixtureB.m_friction),this.m_restitution=sn(this.m_fixtureA.m_restitution,this.m_fixtureB.m_restitution)},e.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(),u=o.GetTransform(),l=h.GetTransform();if(a){var c=this.GetShapeA(),_=this.GetShapeB();i=Xt(c,this.m_indexA,_,this.m_indexB,u,l),this.m_manifold.pointCount=0}else{this.Evaluate(this.m_manifold,u,l),i=this.m_manifold.pointCount>0;for(var f=0;f0:0!=(s.maskBits&a.categoryBits)&&0!=(s.categoryBits&a.maskBits)},i.ShouldCollideFixtureParticle=function(){return!0},i.ShouldCollideParticleParticle=function(){return!0},e}();yn.b2_defaultFilter=new yn;var vn=function(){this.normalImpulses=w(2),this.tangentImpulses=w(2),this.count=0},Sn=function(){function t(){}var e=t.prototype;return e.BeginContact=function(){},e.EndContact=function(){},e.BeginContactFixtureParticle=function(){},e.EndContactFixtureParticle=function(){},e.BeginContactParticleParticle=function(){},e.EndContactParticleParticle=function(){},e.PreSolve=function(){},e.PostSolve=function(){},t}();Sn.b2_defaultListener=new Sn;var Tn=function(){function t(){}var e=t.prototype;return e.ReportFixture=function(){return!0},e.ReportParticle=function(){return!1},e.ShouldQueryParticleSystem=function(){return!0},t}(),An=function(){function t(){}var e=t.prototype;return e.ReportFixture=function(t,e,i,n){return n},e.ReportParticle=function(){return 0},e.ShouldQueryParticleSystem=function(){return!0},t}(),bn=function(){function e(){this.m_broadPhase=new Qt,this.m_contactList=null,this.m_contactCount=0,this.m_contactFilter=yn.b2_defaultFilter,this.m_contactListener=Sn.b2_defaultListener,this.m_contactFactory=new mn}var i=e.prototype;return i.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 u=h.contact.GetFixtureA(),l=h.contact.GetFixtureB(),c=h.contact.GetChildIndexA(),_=h.contact.GetChildIndexB();if(u===i&&l===n&&c===r&&_===s)return;if(u===n&&l===i&&c===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.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.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)}}},i.FindNewContacts=function(){var t=this;this.m_broadPhase.UpdatePairs((function(e,i){t.AddPair(e,i)}))},i.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),t.m_manifold.pointCount>0&&!e.IsSensor()&&!i.IsSensor()&&(e.GetBody().SetAwake(!0),i.GetBody().SetAwake(!0)),this.m_contactFactory.Destroy(t),--this.m_contactCount},i.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)){var h=e;e=h.m_next,this.Destroy(h);continue}e.m_filterFlag=!1}var u=a.IsAwake()&&a.m_type!==t.b2BodyType.b2_staticBody,l=o.IsAwake()&&o.m_type!==t.b2BodyType.b2_staticBody;if(u||l){var c=i.m_proxies[r].treeNode,_=n.m_proxies[s].treeNode;if(Vt(c.aabb,_.aabb))e.Update(this.m_contactListener),e=e.m_next;else{var f=e;e=f.m_next,this.Destroy(f)}}else e=e.m_next}},e}(),En=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}(),xn=function(){function t(){this.c=new X,this.a=0}return t.MakeArray=function(e){return x(e,(function(){return new t}))},t}(),wn=function(){function t(){this.v=new X,this.w=0}return t.MakeArray=function(e){return x(e,(function(){return new t}))},t}(),Rn=function(){this.step=new Cn},In=!1,Dn=function(){function t(){this.rA=new X,this.rB=new X,this.normalImpulse=0,this.tangentImpulse=0,this.normalMass=0,this.tangentMass=0,this.velocityBias=0}return t.MakeArray=function(e){return x(e,(function(){return new t}))},t}(),Bn=function(){function t(){this.points=Dn.MakeArray(2),this.normal=new X,this.tangent=new X,this.normalMass=new q,this.K=new q,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 x(e,(function(){return new t}))},t}(),Mn=function(){function e(){this.localPoints=X.MakeArray(2),this.localNormal=new X,this.localPoint=new X,this.indexA=0,this.indexB=0,this.invMassA=0,this.invMassB=0,this.localCenterA=new X,this.localCenterB=new X,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 x(t,(function(){return new e}))},e}(),Pn=function(){this.step=new Cn,this.count=0},On=function(){function e(){this.normal=new X,this.point=new X,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,u=e.Initialize_s_clipPoint;switch(i.type){case t.b2ManifoldType.e_circles:Z.MulXV(n,i.localPoint,a),Z.MulXV(r,i.localPoints[0],o),X.SubVV(o,a,this.normal).SelfNormalize(),X.MidVV(a,o,this.point),this.separation=X.DotVV(X.SubVV(o,a,X.s_t0),this.normal)-i.radiusA-i.radiusB;break;case t.b2ManifoldType.e_faceA:J.MulRV(n.q,i.localNormal,this.normal),Z.MulXV(n,i.localPoint,h),Z.MulXV(r,i.localPoints[s],u),this.separation=X.DotVV(X.SubVV(u,h,X.s_t0),this.normal)-i.radiusA-i.radiusB,this.point.Copy(u);break;case t.b2ManifoldType.e_faceB:J.MulRV(r.q,i.localNormal,this.normal),Z.MulXV(r,i.localPoint,h),Z.MulXV(n,i.localPoints[s],u),this.separation=X.DotVV(X.SubVV(u,h,X.s_t0),this.normal)-i.radiusA-i.radiusB,this.point.Copy(u),this.normal.SelfNeg()}},e}();On.Initialize_s_pointA=new X,On.Initialize_s_pointB=new X,On.Initialize_s_planePoint=new X,On.Initialize_s_clipPoint=new X;var Ln=function(){function t(){this.m_step=new Cn,this.m_positionConstraints=Mn.MakeArray(1024),this.m_velocityConstraints=Bn.MakeArray(1024),this.m_count=0}var e=t.prototype;return e.Initialize=function(t){if(this.m_step.Copy(t.step),this.m_count=t.count,this.m_positionConstraints.length0?1/B:0;var M=s.tangent,P=X.CrossVV(R.rA,M),O=X.CrossVV(R.rB,M),L=_+f+d*P*P+p*O*O;R.tangentMass=L>0?1/L:0,R.velocityBias=0;var F=X.DotVV(s.normal,X.SubVV(X.AddVCrossSV(E,C,R.rB,X.s_t0),X.AddVCrossSV(S,T,R.rA,X.s_t1),X.s_t0));F<-1&&(R.velocityBias+=-s.restitution*F)}s.pointCount}},e.WarmStart=function(){for(var e=t.WarmStart_s_P,i=0;i0?-R/B:0;X.MulSV(P,C,a),S.SelfMulSub(d,a),T-=p*X.CrossVV(r,a),A.SelfMulAdd(g,a),b+=y*X.CrossVV(s,a)}this.m_positions[c].a=T,this.m_positions[_].a=b}return o>-.024},e.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,h=t.SolveTOIPositionConstraints_s_P,u=0,c=0;c0?-D/L:0;X.MulSV(F,w,h),A.SelfMulSub(y,h),b-=v*X.CrossVV(a,h),E.SelfMulAdd(S,h),C+=T*X.CrossVV(o,h)}this.m_positions[f].a=b,this.m_positions[d].a=C}return u>=-.012},t}();Ln.InitializeVelocityConstraints_s_xfA=new Z,Ln.InitializeVelocityConstraints_s_xfB=new Z,Ln.InitializeVelocityConstraints_s_worldManifold=new Lt,Ln.WarmStart_s_P=new X,Ln.SolveVelocityConstraints_s_dv=new X,Ln.SolveVelocityConstraints_s_dv1=new X,Ln.SolveVelocityConstraints_s_dv2=new X,Ln.SolveVelocityConstraints_s_P=new X,Ln.SolveVelocityConstraints_s_a=new X,Ln.SolveVelocityConstraints_s_b=new X,Ln.SolveVelocityConstraints_s_x=new X,Ln.SolveVelocityConstraints_s_d=new X,Ln.SolveVelocityConstraints_s_P1=new X,Ln.SolveVelocityConstraints_s_P2=new X,Ln.SolveVelocityConstraints_s_P1P2=new X,Ln.SolvePositionConstraints_s_xfA=new Z,Ln.SolvePositionConstraints_s_xfB=new Z,Ln.SolvePositionConstraints_s_psm=new On,Ln.SolvePositionConstraints_s_rA=new X,Ln.SolvePositionConstraints_s_rB=new X,Ln.SolvePositionConstraints_s_P=new X,Ln.SolveTOIPositionConstraints_s_xfA=new Z,Ln.SolveTOIPositionConstraints_s_xfB=new Z,Ln.SolveTOIPositionConstraints_s_psm=new On,Ln.SolveTOIPositionConstraints_s_rA=new X,Ln.SolveTOIPositionConstraints_s_rB=new X,Ln.SolveTOIPositionConstraints_s_P=new X;var Fn,Nn=function(){function e(){this.m_bodies=[],this.m_contacts=[],this.m_joints=[],this.m_positions=xn.MakeArray(1024),this.m_velocities=wn.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}var n=e.prototype;return n.Initialize=function(t,e,i,n){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_listener=n,this.m_positions.length4){var R=2/w.Length();C.SelfMul(R)}var I=h*x;I*I>g&&(x*=m/B(I)),b.x+=h*C.x,b.y+=h*C.y,E+=h*x,this.m_positions[A].a=E,this.m_velocities[A].w=x}o.Reset();for(var D=!1,P=0;P.0012184696791469947||X.DotVV(z.m_linearVelocity,z.m_linearVelocity)>1e-4?(z.m_sleepTime=0,V=0):(z.m_sleepTime+=h,V=M(V,z.m_sleepTime)))}if(V>=.5&&D)for(var H=0;H4){var v=2/y.Length();d.SelfMul(v)}var S=l*p;S*S>g&&(p*=m/B(S)),_.SelfMulAdd(l,d),f+=l*p,this.m_positions[c].a=f,this.m_velocities[c].w=p;var T=this.m_bodies[c];T.m_sweep.c.Copy(_),T.m_sweep.a=f,T.m_linearVelocity.Copy(d),T.m_angularVelocity=p,T.SynchronizeTransform()}this.Report(o.m_velocityConstraints)},n.Report=function(t){if(null!==this.m_listener)for(var i=0;i0){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(var s=this.m_firstIndex;s0&&(this.m_angularVelocity*=1/this.m_inertia),this.m_timestamp=this.m_system.m_timestamp}},e}();Hn.GetLinearVelocityFromWorldPoint_s_t0=new X;var Wn=function(){function t(t){this.m_buffer=[],this.m_front=0,this.m_back=0,this.m_buffer.fill(null,0,t)}var e=t.prototype;return e.Push=function(t){if(this.m_back>=this.m_capacity){for(var e=this.m_front;e=0&&f>=0&&_0&&u.Push(new Yn(p-1,m,g-1,y)),m>0&&u.Push(new Yn(p,m-1,g-this.m_countX,y)),pk*k+G*G&&(this.m_diagram[M]=L,D>0&&u.Push(new Yn(D-1,B,M-1,L)),B>0&&u.Push(new Yn(D,B-1,M-this.m_countX,L)),D=i)break;qn(t,h,i)}}if(0===a)break;r=i,i=s[--a]}return t}function Zn(t,e,i,n){return void 0===e&&(e=0),void 0===i&&(i=t.length-e),void 0===n&&(n=Kn),Jn(t,e,i,n)}function Qn(t,e,i){void 0===i&&(i=t.length);for(var n=0,r=0;r0;){var a=Math.floor(s/2),o=e+a;r(t[o],n)?(e=++o,s-=a+1):s=a}return e}function tr(t,e,i,n,r){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 er(t,e,i,n){for(var r=i;e!==r;)qn(t,e++,r++),r===n?r=i:e===i&&(i=r)}var ir=function(){function t(t){this.data=[],this.count=0,this.capacity=0,this.allocator=t}var e=t.prototype;return e.Append=function(){return this.count>=this.capacity&&this.Grow(),this.count++},e.Reserve=function(t){if(!(this.capacity>=t)){for(var e=this.capacity;e=0;)this.ReportFixtureAndParticle(t,i,s);return!0},i.ReportParticle=function(){return!1},i.ReportFixtureAndParticle=function(){},e}(Tn),rr=function(){function t(){this.indexA=0,this.indexB=0,this.weight=0,this.normal=new X,this.flags=0}var e=t.prototype;return e.SetIndices=function(t,e){this.indexA=t,this.indexB=e},e.SetWeight=function(t){this.weight=t},e.SetNormal=function(t){this.normal.Copy(t)},e.SetFlags=function(t){this.flags=t},e.GetIndexA=function(){return this.indexA},e.GetIndexB=function(){return this.indexB},e.GetWeight=function(){return this.weight},e.GetNormal=function(){return this.normal},e.GetFlags=function(){return this.flags},e.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},e.IsNotEqual=function(t){return!this.IsEqual(t)},e.ApproximatelyEqual=function(t){return this.indexA===t.indexA&&this.indexB===t.indexB&&this.flags===t.flags&&B(this.weight-t.weight)<.01&&X.DistanceSquaredVV(this.normal,t.normal)<1e-4},t}(),sr=function(){this.index=0,this.weight=0,this.normal=new X,this.mass=0},ar=function(){this.indexA=0,this.indexB=0,this.flags=0,this.strength=0,this.distance=0},or=function(){this.indexA=0,this.indexB=0,this.indexC=0,this.flags=0,this.strength=0,this.pa=new X(0,0),this.pb=new X(0,0),this.pc=new X(0,0),this.ka=0,this.kb=0,this.kc=0,this.s=0},hr=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}var e=t.prototype;return e.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},e.Clone=function(){return(new t).Copy(this)},t}(),ur=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 lr,this.m_flagsBuffer=new lr,this.m_positionBuffer=new lr,this.m_velocityBuffer=new lr,this.m_forceBuffer=[],this.m_weightBuffer=[],this.m_staticPressureBuffer=[],this.m_accumulationBuffer=[],this.m_accumulation2Buffer=[],this.m_depthBuffer=[],this.m_colorBuffer=new lr,this.m_groupBuffer=[],this.m_userDataBuffer=new lr,this.m_stuckThreshold=0,this.m_lastBodyContactStepBuffer=new lr,this.m_bodyContactCountBuffer=new lr,this.m_consecutiveContactStepsBuffer=new lr,this.m_stuckParticleBuffer=new ir((function(){return 0})),this.m_proxyBuffer=new ir((function(){return new cr})),this.m_contactBuffer=new ir((function(){return new rr})),this.m_bodyContactBuffer=new ir((function(){return new sr})),this.m_pairBuffer=new ir((function(){return new ar})),this.m_triadBuffer=new ir((function(){return new or})),this.m_expirationTimeBuffer=new lr,this.m_indexByExpirationTimeBuffer=new lr,this.m_timeElapsed=0,this.m_expirationTimeBufferRequiresSorting=!1,this.m_groupCount=0,this.m_groupList=null,this.m_def=new hr,this.m_prev=null,this.m_next=null,this.UpdateBodyContacts_callback=null,this.SolveCollision_callback=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)}n.computeTag=function(t,e){return(e+n.yOffset>>>0<>>0)>>>0},n.computeRelativeTag=function(t,e,i){return t+(i<>>0};var r=n.prototype;return r.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)},r.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:T;this.ReallocateInternalAllocatedBuffers(i)}if(this.m_count>=this.m_internalAllocatedCapacity){if(!this.m_def.destroyByAge)return y;this.DestroyOldestParticle(0,!1),this.SolveZombie()}var n=this.m_count++;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[n]=(this.m_positionBuffer.data[n]||new X).Copy(e(t.position,X.ZERO)),this.m_velocityBuffer.data[n]=(this.m_velocityBuffer.data[n]||new X).Copy(e(t.velocity,X.ZERO)),this.m_weightBuffer[n]=0,this.m_forceBuffer[n]=(this.m_forceBuffer[n]||new X).SetZero(),this.m_staticPressureBuffer&&(this.m_staticPressureBuffer[n]=0),this.m_depthBuffer&&(this.m_depthBuffer[n]=0);var r=(new tt).Copy(e(t.color,tt.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 tt).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;(this.m_expirationTimeBuffer.data||o)&&(this.SetParticleLifetime(n,o?a:this.ExpirationTimeToLifetime(-this.GetQuantizedTimeElapsed())),this.m_indexByExpirationTimeBuffer.data[n]=n),s.index=n;var h=e(t.group,null);return this.m_groupBuffer[n]=h,h&&(h.m_firstIndex0?n:r,e)},r.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 yr(this,t,e,i),a=r;return t.ComputeAABB(a,e,0),this.m_world.QueryAABB(s,a),s.Destroyed()},r.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,X.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;o0&&(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))},r.GetStuckCandidates=function(){return this.m_stuckParticleBuffer.Data()},r.GetStuckCandidateCount=function(){return this.m_stuckParticleBuffer.GetCount()},r.ComputeCollisionEnergy=function(){for(var t=n.ComputeCollisionEnergy_s_v,e=this.m_velocityBuffer.data,i=0,r=0;r0?this.GetQuantizedTimeElapsed()+s:s;a!==this.m_expirationTimeBuffer.data[t]&&(this.m_expirationTimeBuffer.data[t]=a,this.m_expirationTimeBufferRequiresSorting=!0)},r.GetParticleLifetime=function(t){return this.ExpirationTimeToLifetime(this.GetExpirationTimeBuffer()[t])},r.SetDestructionByAge=function(t){t&&this.GetExpirationTimeBuffer(),this.m_def.destroyByAge=t},r.GetDestructionByAge=function(){return this.m_def.destroyByAge},r.GetExpirationTimeBuffer=function(){return this.m_expirationTimeBuffer.data=this.RequestBuffer(this.m_expirationTimeBuffer.data),this.m_expirationTimeBuffer.data},r.ExpirationTimeToLifetime=function(t){return(t>0?t-this.GetQuantizedTimeElapsed():t)*this.m_def.lifetimeGranularity},r.GetIndexByExpirationTimeBuffer=function(){return this.GetParticleCount()?this.SetParticleLifetime(0,this.GetParticleLifetime(0)):this.m_indexByExpirationTimeBuffer.data=this.RequestBuffer(this.m_indexByExpirationTimeBuffer.data),this.m_indexByExpirationTimeBuffer.data},r.ParticleApplyLinearImpulse=function(t,e){this.ApplyLinearImpulse(t,t+1,e)},r.ApplyLinearImpulse=function(t,e,i){for(var n=this.m_velocityBuffer.data,r=(e-t)*this.GetParticleMass(),s=(new X).Copy(i).SelfMul(1/r),a=t;a=0;){var m=X.SubVV(e,u[c],s),g=X.DotVV(m,f),y=g*g-d*(X.DotVV(m,m)-this.m_squaredDiameter);if(y>=0){var v=k(y),S=(-g-v)/d;if(S>_)continue;if(S<0&&((S=(-g+v)/d)<0||S>_))continue;var T=X.AddVMulSV(m,S,f,o);if(T.Normalize(),(_=M(_,t.ReportParticle(this,c,X.AddVMulSV(e,S,f,h),T,S)))<=0)break}}}},r.ComputeAABB=function(t){var e=this.GetParticleCount();t.lowerBound.x=+i,t.lowerBound.y=+i,t.upperBound.x=-i,t.upperBound.y=-i;for(var n=this.m_positionBuffer.data,r=0;re?e:t}if(t=e(t,this.m_def.maxCount),t=e(t,this.m_flagsBuffer.userSuppliedCapacity),t=e(t,this.m_positionBuffer.userSuppliedCapacity),t=e(t,this.m_velocityBuffer.userSuppliedCapacity),t=e(t,this.m_colorBuffer.userSuppliedCapacity),t=e(t,this.m_userDataBuffer.userSuppliedCapacity),this.m_internalAllocatedCapacity0;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}},r.CreateParticleForGroup=function(t,i,n){var r=new kn;r.flags=e(t.flags,0),Z.MulXV(i,n,r.position),X.AddVV(e(t.linearVelocity,X.ZERO),X.CrossSV(e(t.angularVelocity,0),X.SubVV(r.position,e(t.position,X.ZERO),X.s_t0),X.s_t0),r.velocity),r.color.Copy(e(t.color,tt.ZERO)),r.lifetime=e(t.lifetime,0),r.userData=t.userData,this.CreateParticle(r)},r.CreateParticlesStrokeShapeForGroup=function(i,r,s){var a=n.CreateParticlesStrokeShapeForGroup_s_edge,o=n.CreateParticlesStrokeShapeForGroup_s_d,h=n.CreateParticlesStrokeShapeForGroup_s_p,u=e(r.stride,0);0===u&&(u=this.GetParticleStride());for(var l=0,c=i.GetChildCount(),_=0;_=e&&f=e&&dy||X.DotVV(m,m)>y||X.DotVV(g,g)>y)return;var v=C.m_groupBuffer[t],S=C.m_groupBuffer[e],T=C.m_groupBuffer[i],A=C.m_triadBuffer.data[C.m_triadBuffer.Append()];A.indexA=t,A.indexB=e,A.indexC=i,A.flags=u|l|c,A.strength=M(M(v?v.m_strength:1,S?S.m_strength:1),T?T.m_strength:1);var b=(_.x+f.x+d.x)/3,E=(_.y+f.y+d.y)/3;A.pa.x=_.x-b,A.pa.y=_.y-E,A.pb.x=f.x-b,A.pb.y=f.y-E,A.pc.x=d.x-b,A.pc.y=d.y-E,A.ka=-X.DotVV(g,p),A.kb=-X.DotVV(p,m),A.kc=-X.DotVV(m,g),A.s=X.CrossVV(_,f)+X.CrossVV(f,d)+X.CrossVV(d,_)}})),Zn(this.m_triadBuffer.data,0,this.m_triadBuffer.count,n.CompareTriadIndices),this.m_triadBuffer.Unique(n.MatchTriadIndices)}},r.UpdatePairsAndTriadsWithReactiveParticles=function(){var e=new Tr(this.m_flagsBuffer);this.UpdatePairsAndTriads(0,this.m_count,e);for(var i=0;i>0,E=0;EP&&(this.m_depthBuffer[R]=P,C=!0),M>O&&(this.m_depthBuffer[I]=O,C=!0)}if(!C)break}for(var L=0;L0)for(var i=this.GetParticleCount(),r=0;rthis.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),null===this.UpdateBodyContacts_callback&&(this.UpdateBodyContacts_callback=new Ar(this));var a=this.UpdateBodyContacts_callback;a.m_contactFilter=this.GetFixtureContactFilter(),this.m_world.QueryAABB(a,s),this.m_def.strictContactCheck&&this.RemoveSpuriousBodyContacts(),this.NotifyBodyContactListenerPostContact(e)},r.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_iterationIndexi&&r.SelfMul(k(i/s))}},r.SolveGravity=function(t){for(var e=n.SolveGravity_s_gravity,i=this.m_velocityBuffer.data,r=X.MulSV(t.dt*this.m_def.gravityScale,this.m_world.GetGravity(),e),s=0;s=0;){var L=p[O],F=this.m_groupBuffer[O];if(w!==F&&R!==F){var N=this.GetLinearVelocity(F,O,L,h),G=X.SubVV(L,E,u),V=X.SubVV(N,I,l),U=X.CrossVV(M,V),z=X.CrossVV(B,V)-X.CrossVV(G,M),H=X.CrossVV(B,G),W=void 0,j=void 0,Y=c,q=_;if(0===U){if(0===z)continue;if(!((j=-H/z)>=0&&j=0&&W<=1))continue}else{var K=z*z-4*H*U;if(K<0)continue;var J=k(K),Z=(-z-J)/(2*U),Q=(-z+J)/(2*U);if(Z>Q){var $=Z;Z=Q,Q=$}if(j=Z,X.AddVMulSV(B,j,M,Y),X.AddVMulSV(G,j,V,q),W=X.DotVV(Y,q)/X.DotVV(Y,Y),!(j>=0&&j=0&&W<=1)){if(!((j=Q)>=0&&j=0&&W<=1))continue}}var tt=f;tt.x=I.x+W*M.x-N.x,tt.y=I.y+W*M.y-N.y;var et=X.MulSV(v,tt,d);if(F&&this.IsRigidGroup(F)){var it=F.GetMass(),nt=F.GetInertia();it>0&&F.m_linearVelocity.SelfMulAdd(1/it,et),nt>0&&(F.m_angularVelocity+=X.CrossVV(X.SubVV(L,F.GetCenter(),X.s_t0),et)/nt)}else m[O].SelfAdd(tt);this.ParticleApplyForce(O,et.SelfMul(-e.inv_dt))}}}}},r.SolveStaticPressure=function(e){this.m_staticPressureBuffer=this.RequestBuffer(this.m_staticPressureBuffer);for(var i=this.GetCriticalPressure(e),n=this.m_def.staticPressureStrength*i,r=S*i,s=this.m_def.staticPressureRelaxation,a=0;ao){var f=l.body,d=l.mass,p=r[c],m=l.normal,g=X.MulSV(a*d*(_-o),m,i);s[c].SelfMulSub(h,g),f.ApplyLinearImpulse(g,p,!0)}}}for(var y=0;yo){var T=v.indexA,A=v.indexB,b=v.normal,E=X.MulSV(a*(S-o),b,i);s[T].SelfSub(E),s[A].SelfAdd(E)}}}},r.SolveSolid=function(t){var e=n.SolveSolid_s_f,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=0?(x=M(x,D),w=P(w,D+1)):R=!0}xr:s})),this.m_expirationTimeBufferRequiresSorting=!1);for(var s=r-1;s>=0;--s){var a=n[s],o=i[a];if(ee.weight:t.index3)return!0;var o=t.Copy(n.normal);o.SelfMul(r.m_particleDiameter*(1-n.weight));var h=X.AddVV(r.m_positionBuffer.data[n.index],o,e);if(!n.fixture.TestPoint(h)){for(var u=n.fixture.GetShape().GetChildCount(),c=0;cthis.m_stuckThreshold&&(this.m_stuckParticleBuffer.data[this.m_stuckParticleBuffer.Append()]=t)),this.m_lastBodyContactStepBuffer.data[t]=this.m_timestamp)},r.ValidateParticleIndex=function(t){return t>=0&&t0?1/n:0,e[0]=r>0?1/r:0,i[0]=X.CrossVV(X.SubVV(a,s,X.s_t0),o)},r.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{var u=this.m_flagsBuffer.data[a];this.InitDampingParameter(e,i,n,u&t.b2ParticleFlag.b2_wallParticle?0:this.GetParticleMass(),0,o,o,h)}},r.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},r.ApplyDamping=function(t,e,i,n,r,s,a,o){r&&n?(r.m_linearVelocity.SelfMulAdd(a*t,o),r.m_angularVelocity+=a*i*e):this.m_velocityBuffer.data[s].SelfMulAdd(a*t,o)},n}();ur.xTruncBits=12,ur.yTruncBits=12,ur.tagBits=32,ur.yOffset=1<>>0,this.m_xUpper=(i&ur.xMask)>>>0,this.m_yLower=(e&ur.yMask)>>>0,this.m_yUpper=(i&ur.yMask)>>>0,this.m_first=n,this.m_last=r}return t.prototype.GetNext=function(){for(;this.m_first>>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 y},t}(),fr=function(){this.next=null,this.count=0,this.index=0},dr=function(){function t(){}var e=t.prototype;return e.Allocate=function(t,e){return e},e.Clear=function(){},e.GetCount=function(){return 0},e.Invalidate=function(){},e.GetValidBuffer=function(){return[]},e.GetBuffer=function(){return[]},e.SetCount=function(){},t}(),pr=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.Initialize=function(){},i.Find=function(){return y},e}(dr),mr=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.Initialize=function(){},i.Find=function(){return y},e}(dr),gr=function(){function t(){}var e=t.prototype;return e.IsNecessary=function(){return!0},e.ShouldCreatePair=function(){return!0},e.ShouldCreateTriad=function(){return!0},t}(),yr=function(t){function e(e,i,n,r){var s;return(s=t.call(this)||this).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}s(e,t);var i=e.prototype;return i.ReportFixture=function(){return!1},i.ReportParticle=function(t,e){return t===this.m_system&&(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)},i.Destroyed=function(){return this.m_destroyed},e}(Tn),vr=function(t){function e(e){var i;return(i=t.call(this)||this).m_threshold=0,i.m_threshold=e,i}s(e,t);var i=e.prototype;return i.ShouldCreatePair=function(t,e){return t0?1/_:0,p=f>0?1/f:0,m=this.m_system.m_flagsBuffer.data[r]&t.b2ParticleFlag.b2_wallParticle?0:this.m_system.GetParticleInvMass(),g=X.SubVV(o,c,a),y=X.CrossVV(g,h),v=m+d+p*y*y,S=this.m_system.m_bodyContactBuffer.data[this.m_system.m_bodyContactBuffer.Append()];S.index=r,S.body=l,S.fixture=e,S.weight=1-u*this.m_system.m_inverseDiameter,S.normal.Copy(h.SelfNeg()),S.mass=v>0?1/v:0,this.m_system.DetectStuckParticle(r)}},i}(nr);Ar.ReportFixtureAndParticle_s_n=new X,Ar.ReportFixtureAndParticle_s_rp=new X;var br=function(e){function i(t,i){var n;return(n=e.call(this,t)||this).m_step=i,n}s(i,e);var n=i.prototype;return n.ReportFixtureAndParticle=function(e,n,r){var s=i.ReportFixtureAndParticle_s_p1,a=i.ReportFixtureAndParticle_s_output,o=i.ReportFixtureAndParticle_s_input,h=i.ReportFixtureAndParticle_s_p,u=i.ReportFixtureAndParticle_s_v,c=i.ReportFixtureAndParticle_s_f,_=e.GetBody(),f=this.m_system.m_positionBuffer.data[r],d=this.m_system.m_velocityBuffer.data[r],p=a,m=o;if(0===this.m_system.m_iterationIndex){var g=Z.MulTXV(_.m_xf0,f,s);e.GetShape().GetType()===t.b2ShapeType.e_circleShape&&(g.SelfSub(_.GetLocalCenter()),J.MulRV(_.m_xf0.q,g,g),J.MulTRV(_.m_xf.q,g,g),g.SelfAdd(_.GetLocalCenter())),Z.MulXV(_.m_xf,g,m.p1)}else m.p1.Copy(f);if(X.AddVMulSV(f,this.m_step.dt,d,m.p2),m.maxFraction=1,e.RayCast(p,m,n)){var y=p.normal,v=h;v.x=(1-p.fraction)*m.p1.x+p.fraction*m.p2.x+l*y.x,v.y=(1-p.fraction)*m.p1.y+p.fraction*m.p2.y+l*y.y;var S=u;S.x=this.m_step.inv_dt*(v.x-f.x),S.y=this.m_step.inv_dt*(v.y-f.y),this.m_system.m_velocityBuffer.data[r].Copy(S);var T=c;T.x=this.m_step.inv_dt*this.m_system.GetParticleMass()*(d.x-S.x),T.y=this.m_step.inv_dt*this.m_system.GetParticleMass()*(d.y-S.y),this.m_system.ParticleApplyForce(r,T)}},n.ReportParticle=function(){return!1},i}(nr);br.ReportFixtureAndParticle_s_p1=new X,br.ReportFixtureAndParticle_s_output=new kt,br.ReportFixtureAndParticle_s_input=new Nt,br.ReportFixtureAndParticle_s_p=new X,br.ReportFixtureAndParticle_s_v=new X,br.ReportFixtureAndParticle_s_f=new X;var Er=function(){function e(t){this.m_newFixture=!1,this.m_locked=!1,this.m_clearForces=!0,this.m_contactManager=new bn,this.m_bodyList=null,this.m_jointList=null,this.m_particleSystemList=null,this.m_bodyCount=0,this.m_jointCount=0,this.m_gravity=new X,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 En,this.m_island=new Nn,this.s_stack=[],this.m_controllerList=null,this.m_controllerCount=0,this.m_gravity.Copy(t)}var n=e.prototype;return n.SetDestructionListener=function(t){this.m_destructionListener=t},n.SetContactFilter=function(t){this.m_contactManager.m_contactFilter=t},n.SetContactListener=function(t){this.m_contactManager.m_contactListener=t},n.SetDebugDraw=function(t){this.m_debugDraw=t},n.CreateBody=function(t){if(void 0===t&&(t={}),this.IsLocked())throw new Error;var e=new Ri(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},n.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.Reset(),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){switch(e.type){case t.b2JointType.e_distanceJoint:return new Oi(e);case t.b2JointType.e_mouseJoint:return new Wi(e);case t.b2JointType.e_prismaticJoint:return new ji(e);case t.b2JointType.e_revoluteJoint:return new Ji(e);case t.b2JointType.e_pulleyJoint:return new qi(e);case t.b2JointType.e_gearJoint:return new Vi(e);case t.b2JointType.e_wheelJoint:return new nn(e);case t.b2JointType.e_weldJoint:return new tn(e);case t.b2JointType.e_frictionJoint:return new ki(e);case t.b2JointType.e_ropeJoint:return new Qi(e);case t.b2JointType.e_motorJoint:return new zi(e);case t.b2JointType.e_areaJoint:return new Fi(e)}throw new Error},e._Joint_Destroy=function(){},n.CreateJoint=function(t){if(this.IsLocked())throw new Error;var i=e._Joint_Create(t);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=i.m_bodyA,r=i.m_bodyB;if(!i.m_collideConnected)for(var s=r.GetContactList();s;)s.other===n&&s.contact.FlagForFiltering(),s=s.next;return i},n.DestroyJoint=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_jointList&&(this.m_jointList=t.m_next);var i=t.m_bodyA,n=t.m_bodyB,r=t.m_collideConnected;if(i.SetAwake(!0),n.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===i.m_jointList&&(i.m_jointList=t.m_edgeA.next),t.m_edgeA.Reset(),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===n.m_jointList&&(n.m_jointList=t.m_edgeB.next),t.m_edgeB.Reset(),e._Joint_Destroy(t),--this.m_jointCount,!r)for(var s=n.GetContactList();s;)s.other===i&&s.contact.FlagForFiltering(),s=s.next},n.CreateParticleSystem=function(t){if(this.IsLocked())throw new Error;var e=new ur(t,this);return e.m_prev=null,e.m_next=this.m_particleSystemList,this.m_particleSystemList&&(this.m_particleSystemList.m_prev=e),this.m_particleSystemList=e,e},n.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)},n.CalculateReasonableParticleIterations=function(t){if(null===this.m_particleSystemList)return 1;return Gn(this.m_gravity.Length(),function(t){for(var e=i,n=t.GetParticleSystemList();null!==n;n=n.m_next)e=M(e,n.GetRadius());return e}(this),t)},n.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(),u=this.m_particleSystemList;u;u=u.m_next)u.Solve(a);this.Solve(a),this.m_profile.solve=h.GetMilliseconds()}if(this.m_continuousPhysics&&a.dt>0){var l=e.Step_s_timer.Reset();this.SolveTOI(a),this.m_profile.solveTOI=l.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()},n.ClearForces=function(){for(var t=this.m_bodyList;t;t=t.m_next)t.m_force.SetZero(),t.m_torque=0},n.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)}}},n.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);for(var u=e.DrawDebugData_s_vs,l=this.m_bodyList;l;l=l.m_next)if(l.IsActive())for(var c=l.GetFixtureList();c;c=c.m_next)for(var _=0;_0;){var c=h[--l];if(!c)throw new Error;if(r.AddBody(c),c.m_awakeFlag=!0,c.GetType()!==t.b2BodyType.b2_staticBody){for(var _=c.m_contactList;_;_=_.next){var f=_.contact;if(!f.m_islandFlag&&f.IsEnabled()&&f.IsTouching()){var d=f.m_fixtureA.m_isSensor,p=f.m_fixtureB.m_isSensor;if(!d&&!p){r.AddContact(f),f.m_islandFlag=!0;var m=_.other;m.m_islandFlag||(h[l++]=m,m.m_islandFlag=!0)}}}for(var g=c.m_jointList;g;g=g.next)if(!g.joint.m_islandFlag){var y=g.other;y.IsActive()&&(r.AddJoint(g.joint),g.joint.m_islandFlag=!0,y.m_islandFlag||(h[l++]=y,y.m_islandFlag=!0))}}}var v=new En;r.Solve(v,e,this.m_gravity,this.m_allowSleep),this.m_profile.solveInit+=v.solveInit,this.m_profile.solveVelocity+=v.solveVelocity,this.m_profile.solvePosition+=v.solvePosition;for(var S=0;S8)){var u=1;if(h.m_toiFlag)u=h.m_toi;else{var l=h.GetFixtureA(),c=h.GetFixtureB();if(l.IsSensor()||c.IsSensor())continue;var _=l.GetBody(),f=c.GetBody(),d=_.m_type,p=f.m_type,m=_.IsAwake()&&d!==t.b2BodyType.b2_staticBody,g=f.IsAwake()&&p!==t.b2BodyType.b2_staticBody;if(!m&&!g)continue;var y=_.IsBullet()||d!==t.b2BodyType.b2_dynamicBody,v=f.IsBullet()||p!==t.b2BodyType.b2_dynamicBody;if(!y&&!v)continue;var S=_.m_sweep.alpha0;_.m_sweep.alpha0this.maxTimestep&&this.maxTimestep>0&&(i=this.maxTimestep);for(var n=this.m_bodyList;n;n=n.nextBody){var s=n.body;if(s.IsAwake()){var a=s.GetWorldVector(q.MulMV(this.T,s.GetLocalVector(s.GetLinearVelocity(),X.s_t0),X.s_t1),e.Step_s_damping);s.SetLinearVelocity(X.AddVV(s.GetLinearVelocity(),X.MulSV(i,a,X.s_t0),X.s_t1))}}}},i.Draw=function(){},i.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/P(t,e):0},e}(xr);Br.Step_s_damping=new X;var Mr=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 X,this.m_damping=0,this.m_k2=1,this.m_k3=.1}var e=t.prototype;return e.GetVertexCount=function(){return this.m_count},e.GetVertices=function(){return this.m_ps},e.Initialize=function(t){this.m_count=t.count,this.m_ps=X.MakeArray(this.m_count),this.m_p0s=X.MakeArray(this.m_count),this.m_vs=X.MakeArray(this.m_count),this.m_ims=w(this.m_count);for(var e=0;e0?1/i:0}var n=this.m_count-1,r=this.m_count-2;this.m_Ls=w(n),this.m_as=w(r);for(var s=0;s0&&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(var r=0;ro;)b=(m-=2*o)-this.m_as[i];for(;b<-o;)b=(m+=2*o)-this.m_as[i];var E=-this.m_k3*A*b;n.SelfMulAdd(a*E,v),r.SelfMulAdd(h*E,S),s.SelfMulAdd(u*E,T)}}}},e.Draw=function(t){for(var e=new tt(.4,.5,.7),i=0;i1?e-1:0),n=1;n0&&0==(t&t-1)},t.b2IsValid=L,t.b2Island=Nn,t.b2Jacobian=Ii,t.b2Joint=Mi,t.b2JointDef=Bi,t.b2JointEdge=Di,t.b2Log=function(){},t.b2MakeArray=x,t.b2MakeNullArray=function(t){for(var e=new Array(t),i=0;i>1&2147483647,t|=t>>2&1073741823,t|=t>>4&268435455,1+((t|=t>>8&16777215)|t>>16&65535)},t.b2Pair=Zt,t.b2PairLessThan=$t,t.b2ParseInt=function(t){return parseInt(t,10)},t.b2ParseUInt=function(t){return Math.abs(parseInt(t,10))},t.b2ParticleBodyContact=sr,t.b2ParticleContact=rr,t.b2ParticleDef=kn,t.b2ParticleGroup=Hn,t.b2ParticleGroupDef=zn,t.b2ParticleHandle=Un,t.b2ParticlePair=ar,t.b2ParticlePairSet=mr,t.b2ParticleSystem=ur,t.b2ParticleSystemDef=hr,t.b2ParticleSystem_CompositeShape=Sr,t.b2ParticleSystem_ConnectionFilter=gr,t.b2ParticleSystem_DestroyParticlesInShapeCallback=yr,t.b2ParticleSystem_FixedSetAllocator=dr,t.b2ParticleSystem_FixtureParticle=function(t,e){this.second=y,this.first=t,this.second=e},t.b2ParticleSystem_FixtureParticleSet=pr,t.b2ParticleSystem_InsideBoundsEnumerator=_r,t.b2ParticleSystem_JoinParticleGroupsFilter=vr,t.b2ParticleSystem_ParticleListNode=fr,t.b2ParticleSystem_ParticlePair=function(t,e){this.first=y,this.second=y,this.first=t,this.second=e},t.b2ParticleSystem_Proxy=cr,t.b2ParticleSystem_ReactiveFilter=Tr,t.b2ParticleSystem_SolveCollisionCallback=br,t.b2ParticleSystem_UpdateBodyContactsCallback=Ar,t.b2ParticleSystem_UserOverridableBuffer=lr,t.b2ParticleTriad=or,t.b2PolygonAndCircleContact=ln,t.b2PolygonContact=un,t.b2PolygonShape=yi,t.b2Position=xn,t.b2PositionSolverManifold=On,t.b2Pow=G,t.b2PrismaticJoint=ji,t.b2PrismaticJointDef=Xi,t.b2Profile=En,t.b2PulleyJoint=qi,t.b2PulleyJointDef=Yi,t.b2QueryCallback=Tn,t.b2RadToDeg=function(t){return t*I},t.b2Random=function(){return 2*Math.random()-1},t.b2RandomRange=function(t,e){return(e-t)*Math.random()+t},t.b2RayCastCallback=An,t.b2RayCastInput=Nt,t.b2RayCastOutput=kt,t.b2RevoluteJoint=Ji,t.b2RevoluteJointDef=Ki,t.b2Rope=Mr,t.b2RopeDef=function(){this.vertices=[],this.count=0,this.masses=[],this.gravity=new X(0,0),this.damping=.1,this.k2=.9,this.k3=.1},t.b2RopeJoint=Qi,t.b2RopeJointDef=Zi,t.b2Rot=J,t.b2SeparationFunction=ce,t.b2Shape=mi,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=P(i.m_radius,_)+P(n.m_radius,_),s=e.transformA,a=e.transformB,o=e.translationB,h=Tt.Set(0,0),u=0,l=At;l.m_count=0;for(var c=l.m_vertices,f=i.GetSupport(J.MulTRV(s.q,X.NegV(o,X.s_t1),X.s_t0)),d=Z.MulXV(s,i.GetVertex(f),bt),p=n.GetSupport(J.MulTRV(a.q,o,X.s_t0)),m=Z.MulXV(a,n.GetVertex(p),Et),g=X.SubVV(d,m,Ct),y=P(_,r-_),v=0;v<20&&B(g.Length()-y)>.004;){t.iterations+=1,f=i.GetSupport(J.MulTRV(s.q,X.NegV(g,X.s_t1),X.s_t0)),d=Z.MulXV(s,i.GetVertex(f),bt),p=n.GetSupport(J.MulTRV(a.q,g,X.s_t0)),m=Z.MulXV(a,n.GetVertex(p),Et);var S=X.SubVV(d,m,xt);g.Normalize();var T=X.DotVV(g,S),A=X.DotVV(g,o);if(T-y>u*A){if(A<=0)return!1;if((u=(T-y)/A)>1)return!1;h.Copy(g).SelfNeg(),l.m_count=0}var b=c[l.m_count];switch(b.indexA=p,b.wA.Copy(m).SelfMulAdd(u,o),b.indexB=f,b.wB.Copy(d),b.w.Copy(b.wB).SelfSub(b.wA),b.a=1,l.m_count+=1,l.m_count){case 1:break;case 2:l.Solve2();break;case 3:l.Solve3()}if(3===l.m_count)return!1;l.GetClosestPoint(g),++v}var E=wt,C=Rt;return l.GetWitnessPoints(E,C),g.LengthSquared()>0&&(h.Copy(g).SelfNeg(),h.Normalize()),t.normal.Copy(h),t.lambda=u,t.iterations=v,!0},t.b2ShapeCastInput=function(){this.proxyA=new st,this.proxyB=new st,this.transformA=new Z,this.transformB=new Z,this.translationB=new X},t.b2ShapeCastOutput=function(){this.point=new X,this.normal=new X,this.lambda=0,this.iterations=0},t.b2Simplex=lt,t.b2SimplexCache=at,t.b2SimplexVertex=ut,t.b2Sin=U,t.b2SolverData=Rn,t.b2Sq=F,t.b2Sqrt=k,t.b2StackAllocator=function(){},t.b2Swap=function(t,e){var i=t[0];t[0]=e[0],e[0]=i},t.b2Sweep=$,t.b2TOIInput=he,t.b2TOIOutput=le,t.b2TensorDampingController=Br,t.b2TestOverlapAABB=Vt,t.b2TestOverlapShape=Xt,t.b2TimeOfImpact=Te,t.b2TimeStep=Cn,t.b2Timer=it,t.b2Transform=Z,t.b2TreeNode=Yt,t.b2Vec2=X,t.b2Vec2_zero=j,t.b2Vec3=Y,t.b2Velocity=wn,t.b2VelocityConstraintPoint=Dn,t.b2Version=E,t.b2WeldJoint=tn,t.b2WeldJointDef=$i,t.b2WheelJoint=nn,t.b2WheelJointDef=en,t.b2World=Er,t.b2WorldManifold=Lt,t.b2_180_over_pi=I,t.b2_aabbExtension=h,t.b2_aabbMultiplier=2,t.b2_angularSleepTolerance=b,t.b2_angularSlop=c,t.b2_barrierCollisionTime=2.5,t.b2_baumgarte=.2,t.b2_branch="master",t.b2_commit="fbf51801d80fc389d43dc46524520e89043b6faf",t.b2_epsilon=r,t.b2_epsilon_sq=a,t.b2_gjk_reset=function(){t.b2_gjkCalls=0,t.b2_gjkIters=0,t.b2_gjkMaxIters=0},t.b2_invalidParticleIndex=y,t.b2_linearSleepTolerance=A,t.b2_linearSlop=l,t.b2_maxAngularCorrection=p,t.b2_maxFloat=i,t.b2_maxLinearCorrection=d,t.b2_maxManifoldPoints=2,t.b2_maxParticleForce=.5,t.b2_maxParticleIndex=2147483647,t.b2_maxParticlePressure=S,t.b2_maxPolygonVertices=8,t.b2_maxRotation=m,t.b2_maxRotationSquared=g,t.b2_maxSubSteps=8,t.b2_maxTOIContacts=32,t.b2_maxTranslation=2,t.b2_maxTranslationSquared=4,t.b2_maxTriadDistance=2,t.b2_maxTriadDistanceSquared=4,t.b2_minParticleSystemBufferCapacity=T,t.b2_minParticleWeight=1,t.b2_minPulleyLength=2,t.b2_particleStride=v,t.b2_pi=o,t.b2_pi_over_180=R,t.b2_polygonRadius=_,t.b2_timeToSleep=.5,t.b2_toiBaumgarte=.75,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.b2_two_pi=D,t.b2_velocityThreshold=1,t.b2_version=C,t.g_blockSolve=In,Object.defineProperty(t,"__esModule",{value:!0})}(e)}));Qpt(tmt);var emt={};for(var imt in tmt)-1===imt.indexOf("b2_")&&(emt[imt.replace("b2","")]=tmt[imt]);var nmt=emt,rmt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r0}function _mt(t,e,i){return vmt(t,e,i)>=0}function fmt(t,e,i){return vmt(t,e,i)<=0}function dmt(t,e){var i=e.x-t.x,n=e.y-t.y;return i*i+n*n}function pmt(t){mmt(t)||t.reverse()}function mmt(t){return t.length<3||function(t){var e,i=0;for(e=0;e0}function gmt(t,e,i,n){var r,s=new kn,a=e.y-t.y,o=t.x-e.x,h=a*t.x+o*t.y,u=n.y-i.y,l=i.x-n.x,c=u*i.x+l*i.y,_=a*l-u*o;return r=_,0,Math.abs(r-0)<=1e-6||(s.x=(l*h-o*c)/_,s.y=(a*c-u*h)/_),s}function ymt(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,u=i.x,l=i.y,c=n.x,_=n.y;if(Math.max(s,o)0&&f<1&&d>0&&d<1&&(r.x=s+f*(o-s),r.y=a+f*(h-a),!0))}function vmt(t,e,i){return t.x*(e.y-i.y)+e.x*(i.y-t.y)+i.x*(t.y-e.y)}var Smt=Object.freeze({__proto__:null,ConvexPartition:function t(e){pmt(e);for(var i,n,r,s,a,o,h=[],u=new kn,l=new kn,c=0,_=0,f=0;fm&&(g=y,m=v)}a=omt(f,g,e),o=omt(g,f,e)}return(h=h.concat(t(a))).concat(t(o))}h.push(e);for(var S=h.length-1;S>=0;S--)0==h[S].length&&h.splice(S,0);return h},ForceCounterClockWise:pmt,IsCounterClockWise:mmt});function Tmt(t){xmt(t);for(var e=!0,i=0,n=t.length;iu.angleCos&&(u=c):u=c)}if(!u){for(var _=0;_1e-5)return console.log("Failed to find ear. There might be self-intersection in the polygon."),null}}break}if(n.push([u.prev.point,u.point,u.next.point]),u.isActive=!1,u.prev.next=u.next,u.next.prev=u.prev,u.prev.shouldUpdate=!0,u.next.shouldUpdate=!0,Rmt(u.next),h===e-4)break;for(var g=0;g1e-5&&n.push([S,T,A])}}return n}(t);if(!s)return null;for(;s.length;){for(var a=s.splice(0,1)[0],o=0,h=a.length;o0||bmt(c,l,a[(o+2)%h])>0)){for(var m=[],g=(o+1)%h;g!==o;g=(g+1)%h)m.push(a[g]);m.push(u,c),a=m,h=m.length,o=-1,s.splice(_,1)}}r.push(a)}return r}var Amt=function(){this.isActive=!1,this.isConvex=!1,this.isEar=!1,this.point=null,this.angleCos=0,this.shouldUpdate=!1,this.index=0,this.prev=null,this.next=null};function bmt(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)}function Emt(t,e,i){return bmt(t,e,i)<0}function Cmt(t,e){return t.x===e.x&&t.y===e.y}function xmt(t){(function(t){for(var e=0,i=0,n=t.length;i0})(t)&&t.reverse()}function wmt(t,e){if(t.shouldUpdate){t.shouldUpdate=!1;var i=t.prev.point,n=t.point,r=t.next.point;t.isConvex=Emt(i,n,r);var s=i.x-n.x,a=i.y-n.y,o=Math.sqrt(s*s+a*a);s/=o,a/=o;var h=r.x-n.x,u=r.y-n.y,l=Math.sqrt(h*h+u*u);if(h/=l,u/=l,t.angleCos=s*h+a*u,t.isConvex){t.isEar=!0;for(var c=0,_=e.length;c<_;++c){var f=e[c];if(f.isActive&&f!==t){var d=f.point;if(!(Cmt(i,d)||Cmt(n,d)||Cmt(r,d))){var p=bmt(i,d,n),m=bmt(n,d,r),g=bmt(r,d,i);if(p>0&&m>0&&g>0){t.isEar=!1;break}if(0===p&&m>=0&&g>=0&&(bmt(i,f.prev.point,n)>0||bmt(i,f.next.point,n)>0)){t.isEar=!1;break}if(0===m&&p>=0&&g>=0&&(bmt(n,f.prev.point,r)>0||bmt(n,f.next.point,r)>0)){t.isEar=!1;break}if(0===g&&p>=0&&m>=0&&(bmt(r,f.prev.point,i)>0||bmt(r,f.next.point,i)>0)){t.isEar=!1;break}}}}}else t.isEar=!1}}function Rmt(t){for(var e=t,i=t;;)if(Cmt(e.point,e.next.point)||0===bmt(e.prev.point,e.point,e.next.point)){if(e.prev.next=e.next,e.next.prev=e.prev,e.prev.shouldUpdate=!0,e.next.shouldUpdate=!0,e===e.next)break;i=e.prev,e=e.next}else if((e=e.next)===i)break}var Imt,Dmt,Bmt,Mmt,Pmt,Omt,Lmt,Fmt,Nmt,kmt,Gmt=Object.freeze({__proto__:null,ConvexPartition:Tmt});t("g5",Imt),function(t){t[t.DYNAMIC=1]="DYNAMIC",t[t.STATIC=2]="STATIC",t[t.KINEMATIC=4]="KINEMATIC"}(Imt||t("g5",Imt={})),ve(Imt),t("g4",Dmt),function(t){t[t.X_AXIS=0]="X_AXIS",t[t.Y_AXIS=1]="Y_AXIS",t[t.Z_AXIS=2]="Z_AXIS"}(Dmt||t("g4",Dmt={})),ve(Dmt),function(t){t[t.X=0]="X",t[t.Y=1]="Y",t[t.Z=2]="Z",t[t.SWING1=3]="SWING1",t[t.SWING2=4]="SWING2",t[t.TWIST=5]="TWIST"}(Bmt||(Bmt={})),ve(Bmt),function(t){t[t.VERTEX=1]="VERTEX",t[t.LINE=2]="LINE",t[t.TRIANGLE=3]="TRIANGLE",t[t.TETRAHEDRON=4]="TETRAHEDRON"}(Mmt||(Mmt={})),ve(Mmt),t("g6",Pmt),function(t){t[t.BOX=0]="BOX",t[t.SPHERE=1]="SPHERE",t[t.CAPSULE=2]="CAPSULE",t[t.CYLINDER=3]="CYLINDER",t[t.CONE=4]="CONE",t[t.MESH=5]="MESH",t[t.PLANE=6]="PLANE",t[t.SIMPLEX=7]="SIMPLEX",t[t.TERRAIN=8]="TERRAIN"}(Pmt||t("g6",Pmt={})),ve(Pmt),function(t){t[t.POINT_TO_POINT=0]="POINT_TO_POINT",t[t.HINGE=1]="HINGE",t[t.FIXED=2]="FIXED",t[t.CONFIGURABLE=3]="CONFIGURABLE"}(Omt||(Omt={})),ve(Omt),function(t){t[t.FREE=0]="FREE",t[t.LIMITED=1]="LIMITED",t[t.LOCKED=2]="LOCKED"}(Lmt||(Lmt={})),ve(Lmt),function(t){t[t.DISABLED=0]="DISABLED",t[t.SERVO=1]="SERVO",t[t.INDUCTION=2]="INDUCTION"}(Fmt||(Fmt={})),ve(Fmt),function(t){t[t.BOX=0]="BOX",t[t.CAPSULE=1]="CAPSULE"}(Nmt||(Nmt={})),ve(Nmt),function(t){t[t.DEFAULT=1]="DEFAULT"}(kmt||(kmt={})),ve(kmt);var Vmt=function(t){if(1===t){for(var e=this,i=function(t){var i="_"+(1<e;)this.physicsWorld.step(e,i,n),this._accumulator-=e;for(var s=this._delayEvents,a=0,o=s.length;a=Gpt.All?1:n)},i.getFixtures=function(){return this._fixtures},i.getPoints=function(){return this._points},i.getNormals=function(){return this._normals},i.getFractions=function(){return this._fractions},e}(nmt.RayCastCallback),iSt=[],nSt=[new kn,new kn],rSt=new nmt.WorldManifold,sSt={points:[],separations:[],normal:new kn},aSt=function(){this.localPoint=new kn,this.normalImpulse=0,this.tangentImpulse=0},oSt=[new aSt,new aSt],hSt={type:0,localPoint:new kn,localNormal:new kn,points:[]},uSt={normalImpulses:[],tangentImpulses:[]},lSt=function(){function t(){this.colliderA=null,this.colliderB=null,this.disabled=!1,this.disabledOnce=!1,this._impulse=null,this._inverted=!1,this._b2contact=null}t.get=function(e){var i=iSt.pop();return i||(i=new t),i.init(e),i},t.put=function(t){var e=t.m_userData;e&&(iSt.push(e),e.reset())};var e=t.prototype;return e._setImpulse=function(t){this._impulse=t},e.init=function(t){this.colliderA=t.m_fixtureA.m_userData.collider,this.colliderB=t.m_fixtureB.m_userData.collider,this.disabled=!1,this.disabledOnce=!1,this._impulse=null,this._inverted=!1,this._b2contact=t,t.m_userData=this},e.reset=function(){this.setTangentSpeed(0),this.resetFriction(),this.resetRestitution(),this.colliderA=null,this.colliderB=null,this.disabled=!1,this._impulse=null,this._b2contact.m_userData=null,this._b2contact=null},e.getWorldManifold=function(){var t=sSt.points,e=sSt.separations,i=sSt.normal;this._b2contact.GetWorldManifold(rSt);var n=rSt.points,r=rSt.separations,s=this._b2contact.GetManifold().pointCount;t.length=e.length=s;for(var a=0;a0){for(var a=r.getPoints(),o=r.getNormals(),h=r.getFractions(),u=[],l=0,c=s.length;lMath.PI&&(r-=xi);var s=(this._animatedAngle-r)*n;this._animatedAngle<-Ci&&r>Ci&&(s=(this._animatedAngle+xi-r)*n),this._animatedAngle>Ci&&r<-Ci&&(s=(this._animatedAngle-xi-r)*n),e.SetAngularVelocity(s)}},e.syncSceneToPhysics=function(){var t=this._rigidBody.node.hasChangedFlags;t&&this.nodeTransformChanged(t)},e.syncPositionToPhysics=function(t){void 0===t&&(t=!1);var e=this._body;if(e){var i,n=this._rigidBody.node.worldPosition,r=this._rigidBody.type;(i=r===Lpt.Animated?e.GetLinearVelocity():e.GetPosition()).x=n.x/Wpt,i.y=n.y/Wpt,r===Lpt.Animated&&t?this._animatedPos.set(i.x,i.y):e.SetTransformVec(i,e.GetAngle())}},e.syncRotationToPhysics=function(t){void 0===t&&(t=!1);var e=this._body;if(e){var i=this._rigidBody.node.worldRotation,n=bSt;bn.toEulerInYXZOrder(n,i);var r=Pi(n.z);this._rigidBody.type===Lpt.Animated&&t?this._animatedAngle=r:e.SetTransformVec(e.GetPosition(),r)}},e.resetVelocity=function(){var t=this._body;if(t){var e=t.m_linearVelocity;e.Set(0,0),t.SetLinearVelocity(e),t.SetAngularVelocity(0)}},e.setType=function(t){this._body.SetType(t)},e.setLinearDamping=function(t){this._body.SetLinearDamping(t)},e.setAngularDamping=function(t){this._body.SetAngularDamping(t)},e.setGravityScale=function(t){this._body.SetGravityScale(t)},e.setFixedRotation=function(t){this._body.SetFixedRotation(t)},e.setAllowSleep=function(t){this._body.SetSleepingAllowed(t)},e.isActive=function(){return this._body.IsActive()},e.setActive=function(t){this._body.SetActive(t)},e.wakeUp=function(){this._body.SetAwake(!0)},e.sleep=function(){this._body.SetAwake(!1)},e.getMass=function(){return this._body.GetMass()},e.setLinearVelocity=function(t){this._body.SetLinearVelocity(t)},e.getLinearVelocity=function(t){var e=this._body.GetLinearVelocity();return t.x=e.x,t.y=e.y,t},e.getLinearVelocityFromWorldPoint=function(t,e){return ESt.Set(t.x/Wpt,t.y/Wpt),this._body.GetLinearVelocityFromWorldPoint(ESt,e),e.x*=Wpt,e.y*=Wpt,e},e.setAngularVelocity=function(t){this._body.SetAngularVelocity(t)},e.getAngularVelocity=function(){return Oi(this._body.GetAngularVelocity())},e.getLocalVector=function(t,e){return e=e||new kn,ESt.Set(t.x/Wpt,t.y/Wpt),this._body.GetLocalVector(ESt,e),e.x*=Wpt,e.y*=Wpt,e},e.getWorldVector=function(t,e){return ESt.Set(t.x/Wpt,t.y/Wpt),this._body.GetWorldVector(ESt,e),e.x*=Wpt,e.y*=Wpt,e},e.getLocalPoint=function(t,e){return e=e||new kn,ESt.Set(t.x/Wpt,t.y/Wpt),this._body.GetLocalPoint(ESt,e),e.x*=Wpt,e.y*=Wpt,e},e.getWorldPoint=function(t,e){return e=e||new kn,ESt.Set(t.x/Wpt,t.y/Wpt),this._body.GetWorldPoint(ESt,e),e.x*=Wpt,e.y*=Wpt,e},e.getLocalCenter=function(t){t=t||new kn;var e=this._body.GetLocalCenter();return t.x=e.x*Wpt,t.y=e.y*Wpt,t},e.getWorldCenter=function(t){t=t||new kn;var e=this._body.GetWorldCenter();return t.x=e.x*Wpt,t.y=e.y*Wpt,t},e.getInertia=function(){return this._body.GetInertia()},e.applyForce=function(t,e,i){this._body&&(ESt.Set(e.x/Wpt,e.y/Wpt),this._body.ApplyForce(t,ESt,i))},e.applyForceToCenter=function(t,e){this._body&&this._body.ApplyForceToCenter(t,e)},e.applyTorque=function(t,e){this._body&&this._body.ApplyTorque(t,e)},e.applyLinearImpulse=function(t,e,i){this._body&&(ESt.Set(e.x/Wpt,e.y/Wpt),this._body.ApplyLinearImpulse(t,ESt,i))},e.applyLinearImpulseToCenter=function(t,e){this._body&&this._body.ApplyLinearImpulse(t,this._body.GetPosition(),e)},e.applyAngularImpulse=function(t,e){this._body&&this._body.ApplyAngularImpulse(t,e)},n(t,[{key:"impl",get:function(){return this._body}},{key:"_imp",set:function(t){this._body=t}},{key:"rigidBody",get:function(){return this._rigidBody}},{key:"isAwake",get:function(){return this._body.IsAwake()}},{key:"isSleeping",get:function(){return!this._body.IsAwake()}}]),t}(),xSt=new nmt.Filter,wSt=new nmt.Vec2,RSt=new nmt.Vec2;function ISt(t){var e=t.collider;return e.body?xSt.categoryBits=e.group===kmt.DEFAULT?e.body.group:e.group:xSt.categoryBits=e.group,xSt.maskBits=fgt.instance.collisionMatrix[xSt.categoryBits],xSt}var DSt,BSt=function(){function t(){this._shapes=[],this._fixtures=[],this._collider=null,this._body=null,this._inited=!1,this._rect=new Wn}var e=t.prototype;return e.initialize=function(t){this._collider=t},e.onLoad=function(){},e.onEnable=function(){fgt.instance._callAfterStep(this,this._init)},e.onDisable=function(){fgt.instance._callAfterStep(this,this._destroy)},e.start=function(){},e.onGroupChanged=function(){var t=ISt(this);this._fixtures.forEach((function(e){e.SetFilterData(t)}))},e.apply=function(){this._destroy(),this.collider.enabledInHierarchy&&this._init()},e.getFixtureIndex=function(t){return this._fixtures.indexOf(t)},e._createShapes=function(){return[]},e._init=function(){if(!this._inited){var t=this.collider,e=t.node.worldScale,i=un.ZERO,n=t.getComponent(Yvt);n&&n.impl&&n.impl.impl?this._body=n.impl.impl:(this._body=fgt.instance.physicsWorld.groundBodyImpl,i=t.node.worldPosition);for(var r=0===e.x&&0===e.y?[]:this._createShapes(e.x,e.y,i.x,i.y),s=ISt(this),a=0;a=0;i--){var n=t[i];n.m_userData=null,fgt.instance.physicsWorld.unregisterContactFixture(n),e&&e.DestroyFixture(n)}this._body=null,this._fixtures.length=0,this._shapes.length=0,this._inited=!1}},n(t,[{key:"impl",get:function(){return this._shapes}},{key:"collider",get:function(){return this._collider}},{key:"worldAABB",get:function(){for(var t=1e7,e=t,i=t,n=-t,r=-t,s=this._fixtures,a=0;an&&(n=RSt.x),RSt.y>r&&(r=RSt.y)}e*=Wpt,i*=Wpt,n*=Wpt,r*=Wpt;var c=this._rect;return c.x=e,c.y=i,c.width=n-e,c.height=r-i,c}}]),t}(),MSt=new Wn,PSt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r0&&a[0].equals(a[a.length-1])&&(a.length-=1);var o=Tmt(a);if(!o)return console.log("[Physics2D] b2PolygonShape failed to decompose polygon into convex polygons, node name: ",s.node.name),r;for(var h=s.offset,u=0;u=0&&e.allMaterials.splice(i,1),!0}return!1},i.setValues=function(t,i,n,r){var s=this._friction!==t||this._rollingFriction!==i||this._spinningFriction!==n||this._restitution!==r;this._friction=t,this._rollingFriction=i,this._spinningFriction=n,this._restitution=r,s&&this.emit(e.EVENT_UPDATE)},n(e,[{key:"friction",get:function(){return this._friction},set:function(t){Ri(this._friction,t)||(this._friction=t,this.emit(e.EVENT_UPDATE))}},{key:"rollingFriction",get:function(){return this._rollingFriction},set:function(t){Ri(this._rollingFriction,t)||(this._rollingFriction=t,this.emit(e.EVENT_UPDATE))}},{key:"spinningFriction",get:function(){return this._spinningFriction},set:function(t){Ri(this._spinningFriction,t)||(this._spinningFriction=t,this.emit(e.EVENT_UPDATE))}},{key:"restitution",get:function(){return this._restitution},set:function(t){Ri(this._restitution,t)||(this._restitution=t,this.emit(e.EVENT_UPDATE))}}]),e}(ld)).allMaterials=[],DTt.EVENT_UPDATE="event_update",DTt._idCounter=0,p((CTt=DTt).prototype,"friction",[STt],Object.getOwnPropertyDescriptor(CTt.prototype,"friction"),CTt.prototype),p(CTt.prototype,"rollingFriction",[TTt],Object.getOwnPropertyDescriptor(CTt.prototype,"rollingFriction"),CTt.prototype),p(CTt.prototype,"spinningFriction",[ATt],Object.getOwnPropertyDescriptor(CTt.prototype,"spinningFriction"),CTt.prototype),p(CTt.prototype,"restitution",[bTt],Object.getOwnPropertyDescriptor(CTt.prototype,"restitution"),CTt.prototype),xTt=Us(CTt.prototype,"_friction",[sa],(function(){return.6})),wTt=Us(CTt.prototype,"_rollingFriction",[sa],(function(){return 0})),RTt=Us(CTt.prototype,"_spinningFriction",[sa],(function(){return 0})),ITt=Us(CTt.prototype,"_restitution",[sa],(function(){return 0})),ETt=CTt))||ETt)),UTt=t("fN",function(){function t(){this._hitPoint=new un,this._hitNormal=new un,this._distance=0,this._collider=null}var e=t.prototype;return e._assign=function(t,e,i,n){un.copy(this._hitPoint,t),un.copy(this._hitNormal,n),this._distance=e,this._collider=i},e.clone=function(){var e=new t;return un.copy(e._hitPoint,this._hitPoint),un.copy(e._hitNormal,this._hitNormal),e._distance=this._distance,e._collider=this._collider,e},n(t,[{key:"hitPoint",get:function(){return this._hitPoint}},{key:"distance",get:function(){return this._distance}},{key:"collider",get:function(){return this._collider}},{key:"hitNormal",get:function(){return this._hitNormal}}]),t}()),zTt=t("fO",function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r=this._fixedTimeStep)){this.physicsWorld.syncSceneToPhysics();break}this.physicsWorld.syncSceneToPhysics(),this.physicsWorld.step(this._fixedTimeStep),this.physicsWorld.emitEvents(),this.physicsWorld.syncAfterEvents(),this._accumulator-=this._fixedTimeStep,this._subStepCount++}dF.emit(fF.EVENT_AFTER_PHYSICS)}}else this.physicsWorld.syncSceneToPhysics()},e.resetConfiguration=function(t){var e=t?t.allowSleep:xe.querySettings(Ce.Category.PHYSICS,"allowSleep");"boolean"==typeof e&&(this._allowSleep=e);var i=t?t.fixedTimeStep:xe.querySettings(Ce.Category.PHYSICS,"fixedTimeStep");"number"==typeof i&&(this._fixedTimeStep=i);var n=t?t.maxSubSteps:xe.querySettings(Ce.Category.PHYSICS,"maxSubSteps");"number"==typeof n&&(this._maxSubSteps=n);var r=t?t.sleepThreshold:xe.querySettings(Ce.Category.PHYSICS,"sleepThreshold");"number"==typeof r&&(this._sleepThreshold=r);var s=t?t.autoSimulation:xe.querySettings(Ce.Category.PHYSICS,"autoSimulation");"boolean"==typeof s&&(this.autoSimulation=s);var a=t?t.gravity:xe.querySettings(Ce.Category.PHYSICS,"gravity");a&&un.copy(this._gravity,a);var o=t?t.collisionMatrix:xe.querySettings(Ce.Category.PHYSICS,"collisionMatrix");if(o)for(var h in o)this.collisionMatrix[""+(1<>>0,this.raycastOptions.maxDistance=i,this.raycastOptions.queryTrigger=n,this.physicsWorld.raycast(t,this.raycastOptions,this.raycastResultPool,this.raycastResults))},e.raycastClosest=function(t,e,i,n){return void 0===e&&(e=4294967295),void 0===i&&(i=1e7),void 0===n&&(n=!0),!!this.physicsWorld&&(this.raycastOptions.mask=e>>>0,this.raycastOptions.maxDistance=i,this.raycastOptions.queryTrigger=n,this.physicsWorld.raycastClosest(t,this.raycastOptions,this.raycastClosestResult))},e.lineStripCast=function(t,e,i,n){if(void 0===e&&(e=4294967295),void 0===i&&(i=1e7),void 0===n&&(n=!0),t.length<2)return!1;this.lineStripCastResults=[];for(var r=0,s=new ur,a=1;ai);++a){var o=t[a-1],h=t[a],u=new un;un.subtract(u,h,o);var l=un.len(u);if(r+=l,un.multiplyScalar(u,u,1/l),s.d=u,s.o=o,this.raycast(s,e,l,n))for(var c=0;c0},e.lineStripCastClosest=function(t,e,i,n){if(void 0===e&&(e=4294967295),void 0===i&&(i=1e7),void 0===n&&(n=!0),t.length<2)return!1;for(var r=0,s=new ur,a=!1,o=1;oi);++o){var h=t[o-1],u=t[o],l=new un;un.subtract(l,u,h);var c=un.len(l);if(r+=c,un.multiplyScalar(l,l,1/c),s.d=l,s.o=h,a=this.raycastClosest(s,e,c,n)){var _=this.raycastClosestResult,f=new zTt;f._assign(_.hitPoint,_.distance,_.collider,_.hitNormal,o-1),this.lineStripCastClosestResult=f;break}}return a},e.sweepBox=function(t,e,i,n,r,s){return void 0===n&&(n=4294967295),void 0===r&&(r=1e7),void 0===s&&(s=!0),!!this.physicsWorld&&(this.sweepResultPool.reset(),this.sweepCastResults.length=0,this.raycastOptions.mask=n>>>0,this.raycastOptions.maxDistance=r,this.raycastOptions.queryTrigger=s,this.physicsWorld.sweepBox(t,e,i,this.raycastOptions,this.sweepResultPool,this.sweepCastResults))},e.sweepBoxClosest=function(t,e,i,n,r,s){return void 0===n&&(n=4294967295),void 0===r&&(r=1e7),void 0===s&&(s=!0),!!this.physicsWorld&&(this.raycastOptions.mask=n>>>0,this.raycastOptions.maxDistance=r,this.raycastOptions.queryTrigger=s,this.physicsWorld.sweepBoxClosest(t,e,i,this.raycastOptions,this.sweepCastClosestResult))},e.sweepSphere=function(t,e,i,n,r){return void 0===i&&(i=4294967295),void 0===n&&(n=1e7),void 0===r&&(r=!0),!!this.physicsWorld&&(this.sweepResultPool.reset(),this.sweepCastResults.length=0,this.raycastOptions.mask=i>>>0,this.raycastOptions.maxDistance=n,this.raycastOptions.queryTrigger=r,this.physicsWorld.sweepSphere(t,e,this.raycastOptions,this.sweepResultPool,this.sweepCastResults))},e.sweepSphereClosest=function(t,e,i,n,r){return void 0===i&&(i=4294967295),void 0===n&&(n=1e7),void 0===r&&(r=!0),!!this.physicsWorld&&(this.raycastOptions.mask=i>>>0,this.raycastOptions.maxDistance=n,this.raycastOptions.queryTrigger=r,this.physicsWorld.sweepSphereClosest(t,e,this.raycastOptions,this.sweepCastClosestResult))},e.sweepCapsule=function(t,e,i,n,r,s,a){return void 0===r&&(r=4294967295),void 0===s&&(s=1e7),void 0===a&&(a=!0),!!this.physicsWorld&&(this.sweepResultPool.reset(),this.sweepCastResults.length=0,this.raycastOptions.mask=r>>>0,this.raycastOptions.maxDistance=s,this.raycastOptions.queryTrigger=a,this.physicsWorld.sweepCapsule(t,e,i,n,this.raycastOptions,this.sweepResultPool,this.sweepCastResults))},e.sweepCapsuleClosest=function(t,e,i,n,r,s,a){return void 0===r&&(r=4294967295),void 0===s&&(s=1e7),void 0===a&&(a=!0),!!this.physicsWorld&&(this.raycastOptions.mask=r>>>0,this.raycastOptions.maxDistance=s,this.raycastOptions.queryTrigger=a,this.physicsWorld.sweepCapsuleClosest(t,e,i,n,this.raycastOptions,this.sweepCastClosestResult))},e._updateMaterial=function(){this.physicsWorld&&this.physicsWorld.setDefaultMaterial(this._material)},i.constructAndRegister=function(){var t;if((null===(t=xe.querySettings(Ce.Category.PHYSICS,"enabled"))||void 0===t||t)&&!i._instance){var e=new i;i._instance=e,e.resetConfiguration(),function(t){if(DSt||(DSt=t),qSt.runInEditor&&!qSt.physicsWorld){console.info("[PHYSICS]: using "+qSt.id+".");var e=qSt.physicsWorld=QSt();e.setGravity(DSt.gravity),e.setAllowSleep(DSt.allowSleep)}}(e),dF.registerSystem(i.ID,e,e.priority),SF.onPostProjectInitDelegate.add(e.initDefaultMaterial.bind(e))}},n(i,[{key:"enable",get:function(){return this._enable},set:function(t){this._enable=t}},{key:"allowSleep",get:function(){return this._allowSleep},set:function(t){this._allowSleep=t,this.physicsWorld&&this.physicsWorld.setAllowSleep(t)}},{key:"maxSubSteps",get:function(){return this._maxSubSteps},set:function(t){this._maxSubSteps=t}},{key:"fixedTimeStep",get:function(){return this._fixedTimeStep},set:function(t){this._fixedTimeStep=t}},{key:"gravity",get:function(){return this._gravity},set:function(t){this._gravity.set(t),this.physicsWorld&&this.physicsWorld.setGravity(t)}},{key:"sleepThreshold",get:function(){return this._sleepThreshold},set:function(t){this._sleepThreshold=t}},{key:"autoSimulation",get:function(){return this._autoSimulation},set:function(t){this._autoSimulation=t}},{key:"defaultMaterial",get:function(){return this._material}},{key:"physicsWorld",get:function(){return qSt.physicsWorld}}],[{key:"PHYSICS_NONE",get:function(){return!qSt.id}},{key:"PHYSICS_BUILTIN",get:function(){return"builtin"===qSt.id}},{key:"PHYSICS_CANNON",get:function(){return"cannon.js"===qSt.id}},{key:"PHYSICS_BULLET",get:function(){return"bullet"===qSt.id}},{key:"PHYSICS_PHYSX",get:function(){return"physx"===qSt.id}},{key:"PhysicsGroup",get:function(){return kmt}},{key:"instance",get:function(){return i._instance}}]),i}(Nu));sAt.ID="PHYSICS",sAt._instance=null,dF.once(fF.EVENT_INIT,(function(){sAt.constructAndRegister()}));var aAt,oAt,hAt,uAt,lAt,cAt,_At,fAt,dAt,pAt,mAt,gAt=t("fJ",(HTt=Js("cc.RigidBody"),WTt=Qs(-1),XTt=Ia(sAt.PhysicsGroup),jTt=Ia(Imt),HTt(YTt=$s(YTt=WTt(((rAt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;rDmt.Z_AXIS||this._direction!==t&&(this._direction=t,this._shape&&this.shape.setDirection(t))}},{key:"height",get:function(){return 2*this._radius+this._cylinderHeight},set:function(t){var e=t-2*this._radius;e<0&&(e=0),this.cylinderHeight=e}},{key:"worldHeight",get:function(){return 2*this._radius*this._getRadiusScale()+this._cylinderHeight*this._getHeightScale()}},{key:"shape",get:function(){return this._shape}}]),e}(bAt)).prototype,"direction",[RAt],Object.getOwnPropertyDescriptor(DAt.prototype,"direction"),DAt.prototype),BAt=Us(DAt.prototype,"_radius",[sa],(function(){return.5})),MAt=Us(DAt.prototype,"_cylinderHeight",[sa],(function(){return 1})),PAt=Us(DAt.prototype,"_direction",[sa],(function(){return Dmt.Y_AXIS})),IAt=DAt))||IAt)),Gbt=t("fU",(OAt=Js("cc.CylinderCollider"),LAt=Ia(Dmt),OAt((p((NAt=function(t){function e(){var e;return(e=t.call(this,Pmt.CYLINDER)||this)._radius=kAt&&kAt(),e._height=GAt&&GAt(),e._direction=VAt&&VAt(),e}return s(e,t),n(e,[{key:"radius",get:function(){return this._radius},set:function(t){this._radius!==t&&(this._radius=Math.abs(t),this._shape&&this.shape.setRadius(t))}},{key:"height",get:function(){return this._height},set:function(t){this._height!==t&&(this._height=Math.abs(t),this._shape&&this.shape.setHeight(t))}},{key:"direction",get:function(){return this._direction},set:function(t){this._direction!==t&&(tDmt.Z_AXIS||(this._direction=t,this._shape&&this.shape.setDirection(t)))}},{key:"shape",get:function(){return this._shape}}]),e}(bAt)).prototype,"direction",[LAt],Object.getOwnPropertyDescriptor(NAt.prototype,"direction"),NAt.prototype),kAt=Us(NAt.prototype,"_radius",[sa],(function(){return.5})),GAt=Us(NAt.prototype,"_height",[sa],(function(){return 2})),VAt=Us(NAt.prototype,"_direction",[sa],(function(){return Dmt.Y_AXIS})),FAt=NAt))||FAt)),Vbt=t("fV",(UAt=Js("cc.ConeCollider"),zAt=Ia(Dmt),UAt((p((WAt=function(t){function e(){var e;return(e=t.call(this,Pmt.CONE)||this)._radius=XAt&&XAt(),e._height=jAt&&jAt(),e._direction=YAt&&YAt(),e}return s(e,t),n(e,[{key:"radius",get:function(){return this._radius},set:function(t){this._radius!==t&&(this._radius=Math.abs(t),this._shape&&this.shape.setRadius(t))}},{key:"height",get:function(){return this._height},set:function(t){this._height!==t&&(t<0&&(t=0),this._height=t,this._shape&&this.shape.setHeight(t))}},{key:"direction",get:function(){return this._direction},set:function(t){this._direction!==t&&(tDmt.Z_AXIS||(this._direction=t,this._shape&&this.shape.setDirection(t)))}},{key:"shape",get:function(){return this._shape}}]),e}(bAt)).prototype,"direction",[zAt],Object.getOwnPropertyDescriptor(WAt.prototype,"direction"),WAt.prototype),XAt=Us(WAt.prototype,"_radius",[sa],(function(){return.5})),jAt=Us(WAt.prototype,"_height",[sa],(function(){return 1})),YAt=Us(WAt.prototype,"_direction",[sa],(function(){return Dmt.Y_AXIS})),HAt=WAt))||HAt)),Ubt=t("fT",(qAt=Js("cc.MeshCollider"),KAt=Ia(YF),qAt((p((ZAt=function(t){function e(){var e;return(e=t.call(this,Pmt.MESH)||this)._mesh=QAt&&QAt(),e._convex=$At&&$At(),e}return s(e,t),e.prototype.onEnable=function(){if(t.prototype.onEnable.call(this),this.node){var e=this.node.getComponent(gAt);e&&e.isValid&&e.type===Imt.DYNAMIC&&!this.convex&&J(9630,this.node.name)}},n(e,[{key:"mesh",get:function(){return this._mesh},set:function(t){this._mesh!==t&&(this._mesh=t,this._shape&&this.shape.setMesh(this._mesh))}},{key:"convex",get:function(){return this._convex},set:function(t){this._convex!==t&&(this._convex=t,this._shape&&this._mesh&&this.shape.setMesh(this._mesh))}},{key:"shape",get:function(){return this._shape}}]),e}(bAt)).prototype,"mesh",[KAt],Object.getOwnPropertyDescriptor(ZAt.prototype,"mesh"),ZAt.prototype),QAt=Us(ZAt.prototype,"_mesh",[sa],(function(){return null})),$At=Us(ZAt.prototype,"_convex",[sa],(function(){return!1})),JAt=ZAt))||JAt)),zbt=t("fL",Js("cc.ConstantForce")(tbt=Zs(gAt)(tbt=$s((ebt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;rt)){for(var e=this.buffer.byteLength;e=sEt?this.tileSize=e.readDouble():this.tileSize=e.readFloat(),this.tileSize=Math.floor(100*this.tileSize)/100,e.readIntArray(this._blockCount),this.weightMapSize=e.readInt16(),this.lightMapSize=e.readInt16();var i=e.readInt();this.heights=new Uint16Array(i);for(var n=0;n=rEt){var o=e.readInt();this.normals=new Float32Array(o);for(var h=0;h=tEt){var c=e.readInt();this.layerBuffer=new Array(c);for(var _=0;_=eEt){var f=e.readInt();this._layerBinaryInfos=new Array(f);for(var d=0;d=sEt?this._layerBinaryInfos[d].tileSize=e.readDouble():this._layerBinaryInfos[d].tileSize=e.readFloat(),this._layerBinaryInfos[d].detailMapId=e.readString(),this._version>=iEt&&(this._layerBinaryInfos[d].normalMapId=e.readString(),this._version>=sEt?(this._layerBinaryInfos[d].roughness=e.readDouble(),this._layerBinaryInfos[d].metallic=e.readDouble()):(this._layerBinaryInfos[d].roughness=e.readFloat(),this._layerBinaryInfos[d].metallic=e.readFloat()))}return!0},i._exportNativeData=function(){var t=new hEt;t.writeInt32(aEt),t.writeDouble(this.tileSize),t.writeIntArray(this._blockCount),t.writeInt16(this.weightMapSize),t.writeInt16(this.lightMapSize),t.writeInt32(this.heights.length);for(var e=0;e=0&&(ue(this.ghostStruct.wrappedShapes,i),t.setCompound(0),this.ghostEnabled=!1)}else{var n=this.bodyStruct.wrappedShapes.indexOf(t);n>=0&&(this.bodyStruct.useCompound?t.setCompound(0):_Tt.CollisionObject_setCollisionShape(this.body,_Tt.EmptyShape_static()),_Tt.CollisionObject_activate(this.body,!0),this.dirty|=DRt.BODY_RE_ADD,ue(this.bodyStruct.wrappedShapes,n),this.bodyEnabled=!1)}},e.addJoint=function(t,e){e?this.wrappedJoints1.indexOf(t)<0&&this.wrappedJoints1.push(t):this.wrappedJoints0.indexOf(t)<0&&this.wrappedJoints0.push(t)},e.removeJoint=function(t,e){if(e){var i=this.wrappedJoints1.indexOf(t);i>=0&&ue(this.wrappedJoints1,i)}else{var n=this.wrappedJoints0.indexOf(t);n>=0&&ue(this.wrappedJoints0,n)}},e.updateDirty=function(){this.dirty&&(this.bodyIndex>=0&&this.dirty&DRt.BODY_RE_ADD&&this.updateBodyByReAdd(),this.ghostIndex>=0&&this.dirty&DRt.GHOST_RE_ADD&&this.updateGhostByReAdd(),this.dirty=0)},e.syncSceneToPhysics=function(){if(this.node.hasChangedFlags){var t=mTt.instance.BT_QUAT_0,e=_Tt.CollisionObject_getWorldTransform(this.body);if(FTt(t,this.node.worldRotation),OTt(_Tt.Transform_getOrigin(e),this.node.worldPosition),_Tt.Transform_setRotation(e,t),this.node.hasChangedFlags&hm.SCALE&&this.syncBodyScale(),_Tt.CollisionObject_isKinematicObject(this.body)){var i=_Tt.RigidBody_getMotionState(this.body);i&&_Tt.MotionState_setWorldTransform(i,e)}else this.isBodySleeping()&&_Tt.CollisionObject_activate(this.body)}},e.syncPhysicsToScene=function(){_Tt.CollisionObject_isStaticOrKinematicObject(this.body)||this.syncPhysicsToGraphics()},e.syncPhysicsToGraphics=function(){if(!this.isBodySleeping()){var t=mTt.instance.BT_QUAT_0,e=mTt.instance.BT_TRANSFORM_0;if(_Tt.MotionState_getWorldTransform(_Tt.RigidBody_getMotionState(this.body),e),_Tt.Transform_getRotation(e,t),this.node.worldRotation=NTt(VRt,t),this.node.worldPosition=LTt(GRt,_Tt.Transform_getOrigin(e)),this._ghostStruct){var i=_Tt.CollisionObject_getWorldTransform(this.ghost);OTt(_Tt.Transform_getOrigin(i),this.node.worldPosition),FTt(t,this.node.worldRotation),_Tt.Transform_setRotation(i,t)}}},e.syncSceneToGhost=function(){if(this.node.hasChangedFlags){var t=mTt.instance.BT_QUAT_0,e=_Tt.CollisionObject_getWorldTransform(this.ghost);OTt(_Tt.Transform_getOrigin(e),this.node.worldPosition),FTt(t,this.node.worldRotation),_Tt.Transform_setRotation(e,t),this.node.hasChangedFlags&hm.SCALE&&this.syncGhostScale(),_Tt.CollisionObject_activate(this.ghost)}},e.syncInitialBody=function(){var t=mTt.instance.BT_QUAT_0,e=_Tt.CollisionObject_getWorldTransform(this.body);OTt(_Tt.Transform_getOrigin(e),this.node.worldPosition),FTt(t,this.node.worldRotation),_Tt.Transform_setRotation(e,t),this.syncBodyScale(),_Tt.CollisionObject_activate(this.body)},e.syncInitialGhost=function(){var t=mTt.instance.BT_QUAT_0,e=_Tt.CollisionObject_getWorldTransform(this.ghost);OTt(_Tt.Transform_getOrigin(e),this.node.worldPosition),FTt(t,this.node.worldRotation),_Tt.Transform_setRotation(e,t),this.syncGhostScale(),_Tt.CollisionObject_activate(this.body)},e.syncBodyScale=function(){for(var t=0;t=0&&(this.wrappedWorld.removeSharedBody(this),this.bodyIndex=this.wrappedWorld.bodies.length,this.wrappedWorld.addSharedBody(this))},e.updateGhostByReAdd=function(){this.ghostIndex>=0&&(this.wrappedWorld.removeGhostObject(this),this.ghostIndex=this.wrappedWorld.ghosts.length,this.wrappedWorld.addGhostObject(this))},e.destroy=function(){if(t.sharedBodesMap.delete(this.node.uuid),this.node=null,this.wrappedWorld=null,this._bodyStruct){var e=this._bodyStruct;mTt.delWrapper(e.body,_Tt.BODY_CACHE_NAME),_Tt._safe_delete(e.motionState,aTt.EBulletTypeMotionState),_Tt._safe_delete(e.compound,aTt.EBulletTypeCollisionShape),_Tt._safe_delete(e.body,aTt.EBulletTypeCollisionObject),this._bodyStruct=null}if(this._ghostStruct){var i=this._ghostStruct;_Tt._safe_delete(i.compound,aTt.EBulletTypeCollisionShape),_Tt._safe_delete(i.ghost,aTt.EBulletTypeCollisionObject),this._ghostStruct=null}},e.isBodySleeping=function(){return _Tt.CollisionObject_getActivationState(this.body)===PRt.ISLAND_SLEEPING},n(t,[{key:"wrappedBody",get:function(){return this._wrappedBody}},{key:"bodyCompoundShape",get:function(){return this.bodyStruct.compound}},{key:"ghostCompoundShape",get:function(){return this.ghostStruct.compound}},{key:"body",get:function(){return this.bodyStruct.body}},{key:"ghost",get:function(){return this.ghostStruct.ghost}},{key:"collisionFilterGroup",get:function(){return this._collisionFilterGroup},set:function(t){t!==this._collisionFilterGroup&&(this._collisionFilterGroup=t,this.dirty|=DRt.BODY_RE_ADD,this.dirty|=DRt.GHOST_RE_ADD)}},{key:"collisionFilterMask",get:function(){return this._collisionFilterMask},set:function(t){t!==this._collisionFilterMask&&(this._collisionFilterMask=t,this.dirty|=DRt.BODY_RE_ADD,this.dirty|=DRt.GHOST_RE_ADD)}},{key:"bodyStruct",get:function(){return this._instantiateBodyStruct(),this._bodyStruct}},{key:"ghostStruct",get:function(){return this._instantiateGhostStruct(),this._ghostStruct}},{key:"bodyEnabled",set:function(t){if(t){if(this.bodyIndex<0){if(0===this.bodyStruct.wrappedShapes.length){if(!this.wrappedBody)return;if(!this.wrappedBody.rigidBody.isDynamic)return}this.bodyIndex=this.wrappedWorld.bodies.length,this.wrappedWorld.addSharedBody(this),this.syncInitialBody()}}else this.bodyIndex>=0&&(0===this.bodyStruct.wrappedShapes.length&&null==this.wrappedBody||0===this.bodyStruct.wrappedShapes.length&&null!=this.wrappedBody&&!this.wrappedBody.isEnabled||0===this.bodyStruct.wrappedShapes.length&&null!=this.wrappedBody&&!this.wrappedBody.rigidBody.enabledInHierarchy)&&(_Tt.RigidBody_clearState(this.body),this.bodyIndex=-1,this.wrappedWorld.removeSharedBody(this))}},{key:"ghostEnabled",set:function(t){t?this.ghostIndex<0&&this.ghostStruct.wrappedShapes.length>0&&(this.ghostIndex=1,this.wrappedWorld.addGhostObject(this),this.syncInitialGhost()):this.ghostIndex>=0&&0===this.ghostStruct.wrappedShapes.length&&this.ghost&&(this.ghostIndex=-1,this.wrappedWorld.removeGhostObject(this))}},{key:"reference",set:function(t){t?this.ref++:this.ref--,0===this.ref&&this.destroy()}}]),t}();zRt.idCounter=0,zRt.sharedBodesMap=new Map;var HRt=gTt,WRt={},XRt=function(){function t(){this.id=t.idCounter++,this._isEnabled=!1,this._isTrigger=!1,this._isInitialized=!1,this._impl=0,this._compound=0,this.quat=_Tt.Quat_new(0,0,0,1),this.transform=_Tt.Transform_new(),this._collider=void 0,this._sharedBody=void 0}var e=t.prototype;return e.updateEventListener=function(){this._sharedBody.wrappedWorld.updateNeedEmitEvents(this.collider.needCollisionEvent||this.collider.needTriggerEvent)},e.setMaterial=function(t){var e=null==t?sAt.instance.defaultMaterial:t;if(!this._isTrigger&&this._isEnabled)if(this._compound){WRt[e._uuid]||(WRt[e._uuid]=_Tt.ccMaterial_new());var i=WRt[e._uuid];_Tt.ccMaterial_set(i,e.restitution,e.friction,e.rollingFriction,e.spinningFriction),_Tt.CollisionShape_setMaterial(this._impl,i)}else _Tt.CollisionObject_setMaterial(this._sharedBody.body,e.restitution,e.friction,e.rollingFriction,e.spinningFriction)},e.setCenter=function(t){un.copy(HRt,t),HRt.multiply(this._collider.node.worldScale),OTt(_Tt.Transform_getOrigin(this.transform),HRt),this.updateCompoundTransform()},e.setAsTrigger=function(t){this._isTrigger!==t&&(this._isEnabled&&(this._sharedBody.removeShape(this,!t),this._sharedBody.addShape(this,t)),this._isTrigger=t)},e.getAABB=function(t){var e=mTt.instance.BT_TRANSFORM_0;_Tt.Transform_setIdentity(e),_Tt.Transform_setRotation(e,FTt(mTt.instance.BT_QUAT_0,this._collider.node.worldRotation));var i=mTt.instance.BT_V3_0,n=mTt.instance.BT_V3_1;_Tt.CollisionShape_getAabb(this._impl,e,i,n),t.halfExtents.x=(_Tt.Vec3_x(n)-_Tt.Vec3_x(i))/2,t.halfExtents.y=(_Tt.Vec3_y(n)-_Tt.Vec3_y(i))/2,t.halfExtents.z=(_Tt.Vec3_z(n)-_Tt.Vec3_z(i))/2,un.add(t.center,this._collider.node.worldPosition,this._collider.center)},e.getBoundingSphere=function(t){t.radius=_Tt.CollisionShape_getLocalBoundingSphere(this._impl),un.add(t.center,this._collider.node.worldPosition,this._collider.center)},e.initialize=function(t){this._collider=t,this._isInitialized=!0,this._sharedBody=sAt.instance.physicsWorld.getSharedBody(this._collider.node),this._sharedBody.reference=!0,this.onComponentSet(),this.setWrapper()},e.setWrapper=function(){mTt.isNotEmptyShape(this._impl)&&(_Tt.CollisionShape_setUserPointer(this._impl,this._impl),mTt.setWrapper(this._impl,t.TYPE,this))},e.onLoad=function(){this.setCenter(this._collider.center),this.setAsTrigger(this._collider.isTrigger)},e.onEnable=function(){this._isEnabled=!0,this._sharedBody.addShape(this,this._isTrigger),this.setMaterial(this.collider.sharedMaterial)},e.onDisable=function(){this._isEnabled=!1,this._sharedBody.removeShape(this,this._isTrigger)},e.onDestroy=function(){this._sharedBody.reference=!1,this._collider=null,_Tt._safe_delete(this.quat,aTt.EBulletTypeQuat),_Tt._safe_delete(this.transform,aTt.EBulletTypeTransform),this._compound&&_Tt._safe_delete(this._compound,aTt.EBulletTypeCollisionShape),mTt.isNotEmptyShape(this._impl)&&(_Tt._safe_delete(this._impl,aTt.EBulletTypeCollisionShape),mTt.delWrapper(this._impl,t.TYPE))},e.updateByReAdd=function(){this._isEnabled&&(this._sharedBody.removeShape(this,this._isTrigger),this._sharedBody.addShape(this,this._isTrigger))},e.getGroup=function(){return this._sharedBody.collisionFilterGroup},e.setGroup=function(t){this._sharedBody.collisionFilterGroup=t},e.addGroup=function(t){this._sharedBody.collisionFilterGroup|=t},e.removeGroup=function(t){this._sharedBody.collisionFilterGroup&=~t},e.getMask=function(){return this._sharedBody.collisionFilterMask},e.setMask=function(t){this._sharedBody.collisionFilterMask=t},e.addMask=function(t){this._sharedBody.collisionFilterMask|=t},e.removeMask=function(t){this._sharedBody.collisionFilterMask&=~t},e.setCompound=function(t){this._compound&&_Tt.CompoundShape_removeChildShape(this._compound,this._impl),t&&_Tt.CompoundShape_addChildShape(t,this.transform,this._impl),this._compound=t},e.updateScale=function(){this.setCenter(this._collider.center)},e.updateCompoundTransform=function(){this._compound?_Tt.CompoundShape_updateChildTransform(this._compound,this._impl,this.transform,!0):this._isEnabled&&!this._isTrigger&&this._sharedBody&&!this._sharedBody.bodyStruct.useCompound&&(this._sharedBody.dirty|=DRt.BODY_RE_ADD)},e.needCompound=function(){return this._collider.type===Pmt.TERRAIN||!this._collider.center.equals(un.ZERO)},n(t,[{key:"attachedRigidBody",get:function(){return this._sharedBody.wrappedBody?this._sharedBody.wrappedBody.rigidBody:null}},{key:"impl",get:function(){return this._impl}},{key:"collider",get:function(){return this._collider}},{key:"sharedBody",get:function(){return this._sharedBody}}]),t}();XRt.TYPE="shape",XRt.idCounter=0;var jRt=function(){function t(){this.matrix=[]}var e=t.prototype;return e.get=function(t,e){if(e>t){var i=e;e=t,t=i}return this.matrix[(t*(t+1)>>1)+e-1]},e.set=function(t,e,i){if(e>t){var n=e;e=t,t=n}this.matrix[(t*(t+1)>>1)+e-1]=i?1:0},e.reset=function(){this.matrix.length=0},e.setNumObjects=function(t){this.matrix.length=t*(t-1)>>1},t}(),YRt=function(){function t(){this.data=void 0,this.data={keys:[]}}var e=t.prototype;return e.get=function(t,e){if(t>e){var i=e;e=t,t=i}return this.data[t+"-"+e]},e.set=function(t,e,i){if(t>e){var n=e;e=t,t=n}var r=t+"-"+e;if(null==i){var s=this.data.keys.indexOf(r);if(-1!==s)return this.data.keys.splice(s,1),delete this.data[r],i}return this.get(t,e)||this.data.keys.push(r),this.data[r]=i,this.data[r]},e.reset=function(){this.data={keys:[]}},e.getLength=function(){return this.data.keys.length},e.getKeyByIndex=function(t){return this.data.keys[t]},e.getDataByKey=function(t){return this.data[t]},t}(),qRt=function(){function t(t){this.impl=0,this.event=void 0,this.event=t}var e=t.prototype;return e.getLocalPointOnA=function(t){this.impl&<t(t,_Tt.ManifoldPoint_get_m_localPointA(this.impl))},e.getLocalPointOnB=function(t){this.impl&<t(t,_Tt.ManifoldPoint_get_m_localPointB(this.impl))},e.getWorldPointOnA=function(t){this.impl&<t(t,_Tt.ManifoldPoint_get_m_positionWorldOnA(this.impl))},e.getWorldPointOnB=function(t){this.impl&<t(t,_Tt.ManifoldPoint_get_m_positionWorldOnB(this.impl))},e.getLocalNormalOnA=function(t){if(this.impl){var e=mTt.instance.BT_QUAT_0,i=_Tt.PersistentManifold_getBody0(this.event.impl),n=_Tt.CollisionObject_getWorldTransform(i);_Tt.Transform_getRotation(n,e);var r=BTt;NTt(r,e),bn.conjugate(r,r),LTt(t,_Tt.ManifoldPoint_get_m_normalWorldOnB(this.impl)),this.isBodyA||un.negate(t,t),un.transformQuat(t,t,r)}},e.getLocalNormalOnB=function(t){if(this.impl){var e=mTt.instance.BT_QUAT_0,i=_Tt.PersistentManifold_getBody1(this.event.impl),n=_Tt.CollisionObject_getWorldTransform(i);_Tt.Transform_getRotation(n,e);var r=BTt;NTt(r,e),bn.conjugate(r,r),LTt(t,_Tt.ManifoldPoint_get_m_normalWorldOnB(this.impl)),un.transformQuat(t,t,r)}},e.getWorldNormalOnA=function(t){this.impl&&(LTt(t,_Tt.ManifoldPoint_get_m_normalWorldOnB(this.impl)),this.isBodyA||un.negate(t,t))},e.getWorldNormalOnB=function(t){this.impl&<t(t,_Tt.ManifoldPoint_get_m_normalWorldOnB(this.impl))},n(t,[{key:"isBodyA",get:function(){return this.event.selfCollider.shape.sharedBody.body===_Tt.PersistentManifold_getBody0(this.event.impl)}}]),t}(),KRt=[],JRt=gTt,ZRt=yTt,QRt=new IRt,$Rt=function(){var t=e.prototype;function e(){this._world=void 0,this._broadphase=void 0,this._solver=void 0,this._dispatcher=void 0,this._needEmitEvents=!1,this._needSyncAfterEvents=!1,this._needEmitCCTEvents=!1,this.bodies=[],this.ghosts=[],this.ccts=[],this.constraints=[],this.triggerArrayMat=new jRt,this.collisionArrayMat=new jRt,this.contactsDic=new YRt,this.oldContactsDic=new YRt,this.cctShapeEventDic=new YRt,this.cctContactsDic=new YRt,this.cctOldContactsDic=new YRt,this._broadphase=_Tt.DbvtBroadphase_new(),this._dispatcher=_Tt.CollisionDispatcher_new(),this._solver=_Tt.SequentialImpulseConstraintSolver_new(),this._world=_Tt.ccDiscreteDynamicsWorld_new(this._dispatcher,this._broadphase,this._solver)}return t.setDefaultMaterial=function(){},t.setAllowSleep=function(t){_Tt.ccDiscreteDynamicsWorld_setAllowSleep(this._world,t)},t.setGravity=function(t){_Tt.DynamicsWorld_setGravity(this._world,OTt(mTt.instance.BT_V3_0,t))},t.updateNeedEmitEvents=function(t){if(this.ghosts)if(t)this._needEmitEvents=!0;else{this._needEmitEvents=!1;for(var e=0;e=0;t--){var e=this.ghosts[t];e.updateDirty(),e.syncSceneToGhost()}for(var i=this.bodies.length-1;i>=0;i--){var n=this.bodies[i];n.updateDirty(),n.syncSceneToPhysics()}for(var r=this.ccts,s=r.length-1;s>=0;s--){var a=r[s];a.updateDirty(),a.syncSceneToPhysics()}},t.syncAfterEvents=function(){this._needSyncAfterEvents&&this.syncSceneToPhysics()},t.raycast=function(t,e,i,n){t.computeHit(JRt,e.maxDistance);var r=OTt(mTt.instance.BT_V3_0,JRt),s=OTt(mTt.instance.BT_V3_1,t.o),a=_Tt.ccAllRayCallback_static();if(_Tt.ccAllRayCallback_reset(a,s,r,e.mask,e.queryTrigger),_Tt.ccAllRayCallback_setFlags(a,oTt.UseSubSimplexConvexCastRaytest),_Tt.CollisionWorld_rayTest(this._world,s,r,a),_Tt.RayCallback_hasHit(a)){for(var o=_Tt.ccAllRayCallback_getHitPointWorld(a),h=_Tt.ccAllRayCallback_getHitNormalWorld(a),u=_Tt.ccAllRayCallback_getCollisionShapePtrs(a),l=0,c=_Tt.int_array_size(u);l=0&&(ue(this.bodies,e),_Tt.DynamicsWorld_removeRigidBody(this._world,t.body))},t.addGhostObject=function(t){this.ghosts.indexOf(t)<0&&(this.ghosts.push(t),_Tt.CollisionWorld_addCollisionObject(this._world,t.ghost,t.collisionFilterGroup,t.collisionFilterMask))},t.removeGhostObject=function(t){var e=this.ghosts.indexOf(t);e>=0&&(ue(this.ghosts,e),_Tt.CollisionWorld_removeCollisionObject(this._world,t.ghost))},t.addCCT=function(t){if(this.ccts.indexOf(t)<0){this.ccts.push(t);var e=_Tt.CharacterController_getGhostObject(t.impl);_Tt.CollisionWorld_addCollisionObject(this._world,e,t.getGroup(),t.getMask()),_Tt.DynamicsWorld_addAction(this._world,t.impl)}},t.removeCCT=function(t){var e=this.ccts.indexOf(t);if(e>=0){ue(this.ccts,e);var i=_Tt.CharacterController_getGhostObject(t.impl);_Tt.CollisionWorld_removeCollisionObject(this._world,i),_Tt.DynamicsWorld_removeAction(this._world,t.impl)}},t.addConstraint=function(t){var e=this.constraints.indexOf(t);e<0&&(this.constraints.push(t),_Tt.DynamicsWorld_addConstraint(this.impl,t.impl,!t.constraint.enableCollision),t.index=e)},t.removeConstraint=function(t){var e=this.constraints.indexOf(t);e>=0&&(this.constraints.splice(e,1),_Tt.DynamicsWorld_removeConstraint(this.impl,t.impl),t.index=-1)},t.emitEvents=function(){this._needSyncAfterEvents=!1,this._needEmitEvents&&(this.gatherConatactData(),this.emitCollisionAndTriggerEvent(),this.emitCCTTriggerEvent()),this._needEmitCCTEvents&&this.emitCCTCollisionEvent()},t.emitCollisionAndTriggerEvent=function(){for(var t=this.contactsDic.getLength();t--;){KRt.push.apply(KRt,dTt.contacts),dTt.contacts.length=0;var e=this.contactsDic.getKeyByIndex(t),i=this.contactsDic.getDataByKey(e),n=i.shape0,r=i.shape1;this.oldContactsDic.set(n.id,r.id,i);var s=n.collider,a=r.collider;if(s&&a){if(s.isTrigger||a.isTrigger)this.triggerArrayMat.get(n.id,r.id)?fTt.type="onTriggerStay":(fTt.type="onTriggerEnter",this.triggerArrayMat.set(n.id,r.id,!0)),fTt.impl=i.impl,fTt.selfCollider=s,fTt.otherCollider=a,s.emit(fTt.type,fTt),fTt.selfCollider=a,fTt.otherCollider=s,a.emit(fTt.type,fTt),this._needSyncAfterEvents=!0;else{var o=s.attachedRigidBody,h=a.attachedRigidBody;if(o&&h){if(o.isSleeping&&h.isSleeping)continue}else if(!o&&h){if(h.isSleeping)continue}else if(!h&&o&&o.isSleeping)continue;this.collisionArrayMat.get(n.id,r.id)?dTt.type="onCollisionStay":(dTt.type="onCollisionEnter",this.collisionArrayMat.set(n.id,r.id,!0));for(var u=0;u0){var c=KRt.pop();c.impl=l,dTt.contacts.push(c)}else{var _=new qRt(dTt);_.impl=l,dTt.contacts.push(_)}}dTt.impl=i.impl,dTt.selfCollider=s,dTt.otherCollider=a,s.emit(dTt.type,dTt),dTt.selfCollider=a,dTt.otherCollider=s,a.emit(dTt.type,dTt),this._needSyncAfterEvents=!0}null==this.oldContactsDic.get(n.id,r.id)&&this.oldContactsDic.set(n.id,r.id,i)}}for(var f=this.oldContactsDic.getLength();f--;){var d=this.oldContactsDic.getKeyByIndex(f),p=this.oldContactsDic.getDataByKey(d),m=p.shape0,g=p.shape1,y=m.collider,v=g.collider;if(y&&v){var S=y.isTrigger||v.isTrigger;null==this.contactsDic.getDataByKey(d)&&(S?this.triggerArrayMat.get(m.id,g.id)&&(fTt.type="onTriggerExit",fTt.selfCollider=y,fTt.otherCollider=v,y.emit(fTt.type,fTt),fTt.selfCollider=v,fTt.otherCollider=y,v.emit(fTt.type,fTt),this.triggerArrayMat.set(m.id,g.id,!1),this.oldContactsDic.set(m.id,g.id,null),this._needSyncAfterEvents=!0):this.collisionArrayMat.get(m.id,g.id)&&(KRt.push.apply(KRt,dTt.contacts),dTt.contacts.length=0,dTt.type="onCollisionExit",dTt.selfCollider=y,dTt.otherCollider=v,y.emit(dTt.type,dTt),dTt.selfCollider=v,dTt.otherCollider=y,v.emit(dTt.type,dTt),this.collisionArrayMat.set(m.id,g.id,!1),this.oldContactsDic.set(m.id,g.id,null),this._needSyncAfterEvents=!0))}}this.contactsDic.reset()},t.emitCCTTriggerEvent=function(){for(var t=this.cctContactsDic.getLength();t--;){var e=this.cctContactsDic.getKeyByIndex(t),i=this.cctContactsDic.getDataByKey(e),n=i.shape,r=i.cct;this.cctOldContactsDic.set(n.id,r.id,i);var s=n.collider,a=r.characterController;s&&a&&(s.isTrigger&&(this.triggerArrayMat.get(n.id,r.id)?pTt.type="onControllerTriggerStay":(pTt.type="onControllerTriggerEnter",this.triggerArrayMat.set(n.id,r.id,!0)),pTt.impl=i.impl,pTt.collider=s,pTt.characterController=a,s.emit(pTt.type,pTt),pTt.collider=s,pTt.characterController=a,a.emit(pTt.type,pTt),this._needSyncAfterEvents=!0),null==this.cctOldContactsDic.get(n.id,r.id)&&this.cctOldContactsDic.set(n.id,r.id,i))}for(var o=this.cctOldContactsDic.getLength();o--;){var h=this.cctOldContactsDic.getKeyByIndex(o),u=this.cctOldContactsDic.getDataByKey(h),l=u.shape,c=u.cct,_=l.collider,f=c.characterController;if(_&&f){var d=_.isTrigger;null==this.cctContactsDic.getDataByKey(h)&&d&&this.triggerArrayMat.get(l.id,c.id)&&(pTt.type="onControllerTriggerExit",pTt.collider=_,pTt.characterController=f,_.emit(pTt.type,pTt),pTt.collider=_,pTt.characterController=f,f.emit(pTt.type,pTt),this.triggerArrayMat.set(l.id,c.id,!1),this.cctOldContactsDic.set(l.id,c.id,null),this._needSyncAfterEvents=!0)}}this.cctContactsDic.reset()},t.emitCCTCollisionEvent=function(){for(var t=this.cctShapeEventDic.getLength();t--;){var e,i=this.cctShapeEventDic.getKeyByIndex(t),n=this.cctShapeEventDic.getDataByKey(i),r=n.BulletCharacterController,s=n.BulletShape,a=n.worldPos,o=n.worldNormal,h=n.motionDir,u=n.motionLength;QRt.controller=r.characterController,QRt.collider=s.collider,QRt.worldPosition.set(a.x,a.y,a.z),QRt.worldNormal.set(o.x,o.y,o.z),QRt.motionDirection.set(h.x,h.y,h.z),QRt.motionLength=u,null===(e=QRt.controller)||void 0===e||e.emit("onControllerColliderHit",QRt),this._needSyncAfterEvents=!0}this.cctShapeEventDic.reset()},t.gatherConatactData=function(){for(var t=_Tt.Dispatcher_getNumManifolds(this._dispatcher),e=0;e0){if(this.collider.convex){var i=this._getBtTriangleMesh(e);this._impl=_Tt.ConvexTriangleMeshShape_new(i)}else this.btBVHMeshShape=nIt.getBulletBvhTriangleMeshShape(e.hash,e),this._impl=_Tt.ScaledBvhTriangleMeshShape_new(this.btBVHMeshShape.bulletBvhTriangleMeshShapePtr,1,1,1);var n=mTt.instance.BT_V3_0;OTt(n,this._collider.node.worldScale),_Tt.CollisionShape_setLocalScaling(this._impl,n),_Tt.CollisionShape_setMargin(this._impl,.01),this.setCompound(this._compound),this.updateByReAdd(),this.setWrapper()}else this._impl=_Tt.EmptyShape_static()}},i.onComponentSet=function(){this.setMesh(this.collider.mesh)},i.onDestroy=function(){this.collider.convex?this.refBtTriangleMesh&&_Tt._safe_delete(this.refBtTriangleMesh,aTt.EBulletTypeTriangleMesh):this.btBVHMeshShape&&(this.btBVHMeshShape.reference=!1),t.prototype.onDestroy.call(this)},i.updateScale=function(){t.prototype.updateScale.call(this);var e=mTt.instance.BT_V3_0;OTt(e,this._collider.node.worldScale),_Tt.CollisionShape_setLocalScaling(this._impl,e),this.updateCompoundTransform()},i._getBtTriangleMesh=function(t){return this.refBtTriangleMesh=_Tt.TriangleMesh_new(),kTt(this.refBtTriangleMesh,t),this.refBtTriangleMesh},n(e,[{key:"collider",get:function(){return this._collider}}]),e}(XRt),oIt=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.setHeight=function(){this.updateProperties(this.collider.radius,this.collider.height,this.collider.direction,this._collider.node.worldScale)},i.setDirection=function(){this.updateProperties(this.collider.radius,this.collider.height,this.collider.direction,this._collider.node.worldScale)},i.setRadius=function(){this.updateProperties(this.collider.radius,this.collider.height,this.collider.direction,this._collider.node.worldScale)},i.onComponentSet=function(){var t=mTt.instance.BT_V3_0;_Tt.Vec3_set(t,.5,1,.5),this._impl=_Tt.CylinderShape_new(t),this.setRadius(this.collider.radius)},i.updateScale=function(){t.prototype.updateScale.call(this),this.setRadius(this.collider.radius)},i.updateProperties=function(t,e,i,n){var r,s,a=n,o=i;1===o?(s=e*Math.abs(a.y),r=t*Math.abs(Yi(a.x,a.z))):0===o?(s=e*Math.abs(a.x),r=t*Math.abs(Yi(a.y,a.z))):(s=e*Math.abs(a.z),r=t*Math.abs(Yi(a.x,a.y))),_Tt.CylinderShape_updateProp(this._impl,r,s/2,o),this.updateCompoundTransform()},n(e,[{key:"collider",get:function(){return this._collider}}]),e}(XRt),hIt=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.setHeight=function(){this.updateProperties(this.collider.radius,this.collider.height,this.collider.direction,this._collider.node.worldScale)},i.setDirection=function(){this.updateProperties(this.collider.radius,this.collider.height,this.collider.direction,this._collider.node.worldScale)},i.setRadius=function(){this.updateProperties(this.collider.radius,this.collider.height,this.collider.direction,this._collider.node.worldScale)},i.onComponentSet=function(){this._impl=_Tt.ConeShape_new(.5,1),this.setRadius(this.collider.radius)},i.updateScale=function(){t.prototype.updateScale.call(this),this.setRadius(this.collider.radius)},i.updateProperties=function(t,e,i,n){var r,s,a=n,o=i;1===o?(s=e*Math.abs(a.y),r=t*Math.abs(Yi(a.x,a.z))):0===o?(s=e*Math.abs(a.x),r=t*Math.abs(Yi(a.y,a.z))):(s=e*Math.abs(a.z),r=t*Math.abs(Yi(a.x,a.y))),_Tt.ConeShape_setRadius(this._impl,r),_Tt.ConeShape_setHeight(this._impl,s),_Tt.ConeShape_setConeUpIndex(this._impl,o);var h=mTt.instance.BT_V3_0;_Tt.Vec3_set(h,1,1,1),_Tt.CollisionShape_setLocalScaling(this._impl,h),this.updateCompoundTransform()},n(e,[{key:"impl",get:function(){return this._impl}},{key:"collider",get:function(){return this._collider}}]),e}(XRt),uIt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;ru&&(s=u),u>a&&(a=u),r+=4}a+=.01,s-=.01,this._localOffset.set((i-1)/2*this._tileSize,(a+s)/2,(n-1)/2*this._tileSize),this._impl=_Tt.TerrainShape_new(i,n,this._bufPtr,1,s,a);var l=mTt.instance.BT_V3_0;_Tt.Vec3_set(l,this._tileSize,1,this._tileSize),_Tt.CollisionShape_setLocalScaling(this._impl,l),this.setCompound(this._compound),this.updateByReAdd(),this.setWrapper()}else this._impl=_Tt.EmptyShape_static()}},i.onComponentSet=function(){this.setTerrain(this.collider.terrain)},i.onDestroy=function(){this._bufPtr&&_Tt._free(this._bufPtr),t.prototype.onDestroy.call(this)},i.setCenter=function(t){un.copy(gTt,t),gTt.add(this._localOffset),OTt(_Tt.Transform_getOrigin(this.transform),gTt),this.updateCompoundTransform()},n(e,[{key:"collider",get:function(){return this._collider}}]),e}(XRt),lIt=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.setShapeType=function(){},i.setVertices=function(){},i.onComponentSet=function(){this._impl=_Tt.SimplexShape_new();for(var t=this.collider.shapeType,e=this.collider.vertices,i=mTt.instance.BT_V3_0,n=0;n=0){var t=this._rigidBody.body.sharedBody;t.wrappedWorld.removeConstraint(this),t.wrappedWorld.addConstraint(this)}},e.initialize=function(t){this._com=t,this._rigidBody=t.attachedBody,this._connectedBody=t.connectedBody,this._collided=t.enableCollision,this.onComponentSet(),this.setEnableCollision(this._collided)},e.onEnable=function(){var t=this._rigidBody.body.sharedBody;t.wrappedWorld.addConstraint(this),t.addJoint(this,0);var e=this._connectedBody;e&&e.body.sharedBody.addJoint(this,1)},e.onDisable=function(){var t=this._rigidBody.body.sharedBody;t.wrappedWorld.removeConstraint(this),t.removeJoint(this,0);var e=this._connectedBody;e&&e.body.sharedBody.removeJoint(this,1)},e.onDestroy=function(){_Tt._safe_delete(this._impl,aTt.EBulletTypeTypedConstraint),this._com=null,this._rigidBody=null,this._connectedBody=null},n(t,[{key:"impl",get:function(){return this._impl}},{key:"constraint",get:function(){return this._com}}]),t}(),fIt=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.setPivotA=function(){var t=this.constraint,e=mTt.instance.BT_V3_0;un.multiply(gTt,t.node.worldScale,t.pivotA),OTt(e,gTt),_Tt.P2PConstraint_setPivotA(this._impl,e),t.connectedBody||this.setPivotB(t.pivotB)},i.setPivotB=function(){var t=this.constraint,e=this._rigidBody.node,i=mTt.instance.BT_V3_0,n=t.connectedBody;n?(un.multiply(gTt,n.node.worldScale,t.pivotB),OTt(i,gTt)):(un.multiply(gTt,e.worldScale,t.pivotA),un.transformQuat(gTt,gTt,e.worldRotation),un.add(gTt,gTt,e.worldPosition),OTt(i,gTt)),_Tt.P2PConstraint_setPivotB(this._impl,i)},i.onComponentSet=function(){var t=this.constraint.connectedBody,e=this._rigidBody.body.impl,i=t?t.body.impl:_Tt.TypedConstraint_getFixedBody(),n=mTt.instance.BT_V3_0,r=mTt.instance.BT_V3_1;this._impl=_Tt.P2PConstraint_new(e,i,n,r),this.setPivotA(this.constraint.pivotA),this.setPivotB(this.constraint.pivotB)},i.updateScale0=function(){this.setPivotA(this.constraint.pivotA)},i.updateScale1=function(){this.setPivotB(this.constraint.pivotB)},n(e,[{key:"constraint",get:function(){return this._com}}]),e}(_It),dIt=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.setBreakForce=function(t){_Tt.TypedConstraint_setMaxImpulseThreshold(this._impl,t)},i.setBreakTorque=function(){},i.onComponentSet=function(){var t=this.constraint.connectedBody,e=this._rigidBody.body.impl,i=t?t.body.impl:_Tt.TypedConstraint_getFixedBody(),n=mTt.instance.BT_TRANSFORM_0,r=mTt.instance.BT_TRANSFORM_1;this._impl=_Tt.FixedConstraint_new(e,i,n,r),this.setBreakForce(this.constraint.breakForce),this.setBreakTorque(this.constraint.breakTorque),this.updateFrames()},i.updateFrames=function(){var t=this.constraint.connectedBody,e=this._rigidBody.body.sharedBody,i=gTt,n=BTt,r=mTt.instance.BT_TRANSFORM_0,s=mTt.instance.BT_TRANSFORM_1,a=mTt.instance.BT_QUAT_0,o=PTt;if(Mn.fromRT(o,e.node.worldRotation,e.node.worldPosition),Mn.invert(o,o),Mn.getRotation(n,o),Mn.getTranslation(i,o),OTt(_Tt.Transform_getOrigin(r),i),FTt(a,n),_Tt.Transform_setRotation(r,a),t){var h=t.body.sharedBody;Mn.fromRT(o,h.node.worldRotation,h.node.worldPosition),Mn.invert(o,o),Mn.getRotation(n,o),Mn.getTranslation(i,o),OTt(_Tt.Transform_getOrigin(s),i),FTt(a,n),_Tt.Transform_setRotation(s,a)}else _Tt.Transform_setIdentity(s);_Tt.FixedConstraint_setFrames(this._impl,r,s)},i.updateScale0=function(){this.updateFrames()},i.updateScale1=function(){this.updateFrames()},n(e,[{key:"constraint",get:function(){return this._com}}]),e}(_It),pIt=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.setPivotA=function(){this.updateFrames()},i.setPivotB=function(){this.updateFrames()},i.setAxis=function(){this.updateFrames()},i.setLimitEnabled=function(){this.constraint.limitEnabled?_Tt.HingeConstraint_setLimit(this._impl,Pi(this.constraint.lowerLimit),Pi(this.constraint.upperLimit),.9,.3,1):_Tt.HingeConstraint_setLimit(this._impl,1,0,.9,.3,1)},i.setLowerLimit=function(){this.constraint.limitEnabled&&_Tt.HingeConstraint_setLimit(this._impl,Pi(this.constraint.lowerLimit),Pi(this.constraint.upperLimit),.9,.3,1)},i.setUpperLimit=function(){this.constraint.limitEnabled&&_Tt.HingeConstraint_setLimit(this._impl,Pi(this.constraint.lowerLimit),Pi(this.constraint.upperLimit),.9,.3,1)},i.setMotorEnabled=function(t){_Tt.HingeConstraint_enableMotor(this._impl,t);var e=-this.constraint.motorVelocity/60,i=GTt(this.constraint.motorForceLimit,sAt.instance.fixedTimeStep);_Tt.HingeConstraint_setMotorVelocity(this._impl,e),_Tt.HingeConstraint_setMaxMotorImpulse(this._impl,i)},i.setMotorVelocity=function(t){if(this.constraint.motorEnabled){var e=-t/60;_Tt.HingeConstraint_setMotorVelocity(this._impl,e)}},i.setMotorForceLimit=function(t){if(this.constraint.motorEnabled){var e=GTt(t,sAt.instance.fixedTimeStep);_Tt.HingeConstraint_setMaxMotorImpulse(this._impl,e)}},i.onComponentSet=function(){var t=this.constraint.connectedBody,e=this._rigidBody.body.impl,i=t?t.body.impl:_Tt.TypedConstraint_getFixedBody(),n=mTt.instance.BT_TRANSFORM_0,r=mTt.instance.BT_TRANSFORM_1;this._impl=_Tt.HingeConstraint_new(e,i,n,r),this.setLimitEnabled(this.constraint.limitEnabled),this.setLowerLimit(this.constraint.lowerLimit),this.setUpperLimit(this.constraint.upperLimit),this.setMotorEnabled(this.constraint.motorEnabled),this.setMotorVelocity(this.constraint.motorVelocity),this.setMotorForceLimit(this.constraint.motorForceLimit),this.updateFrames()},i.updateFrames=function(){var t=this.constraint,e=t.node,i=gTt,n=BTt,r=MTt,s=mTt.instance.BT_TRANSFORM_0;un.multiply(i,e.worldScale,t.pivotA),OTt(_Tt.Transform_getOrigin(s),i);var a=mTt.instance.BT_QUAT_0;un.normalize(i,t.axis),bn.rotationTo(r,un.UNIT_Z,i),FTt(a,r),_Tt.Transform_setRotation(s,a);var o=mTt.instance.BT_TRANSFORM_1,h=this.constraint.connectedBody;h?(un.multiply(i,h.node.worldScale,t.pivotB),bn.multiply(r,e.worldRotation,r),bn.invert(n,h.node.worldRotation),bn.multiply(r,n,r)):(un.multiply(i,e.worldScale,t.pivotA),un.transformQuat(i,i,e.worldRotation),un.add(i,i,e.worldPosition),bn.multiply(r,e.worldRotation,r)),OTt(_Tt.Transform_getOrigin(o),i),FTt(a,r),_Tt.Transform_setRotation(o,a),_Tt.HingeConstraint_setFrames(this._impl,s,o)},i.updateScale0=function(){this.updateFrames()},i.updateScale1=function(){this.updateFrames()},n(e,[{key:"constraint",get:function(){return this._com}}]),e}(_It);!function(t){t[t.RO_XYZ=0]="RO_XYZ",t[t.RO_XZY=1]="RO_XZY",t[t.RO_YXZ=2]="RO_YXZ",t[t.RO_YZX=3]="RO_YZX",t[t.RO_ZXY=4]="RO_ZXY",t[t.RO_ZYX=5]="RO_ZYX"}(rIt||(rIt={})),function(t){t[t.X=0]="X",t[t.Y=1]="Y",t[t.Z=2]="Z",t[t.TWIST=3]="TWIST",t[t.SWING1=4]="SWING1",t[t.SWING2=5]="SWING2"}(sIt||(sIt={}));var mIt=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i._setLimit=function(t,e,i,n){switch(t){case Lmt.LOCKED:_Tt.Generic6DofSpring2Constraint_setLimit(this._impl,e,0,0);break;case Lmt.LIMITED:_Tt.Generic6DofSpring2Constraint_setLimit(this._impl,e,i,n);break;case Lmt.FREE:_Tt.Generic6DofSpring2Constraint_setLimit(this._impl,e,1,0)}},i.setConstraintMode=function(t,e){var i=this.constraint.linearLimitSettings,n=this.constraint.angularLimitSettings,r=[0,0,0],s=[0,0,0],a=0,o=0;switch(t){case 0:case 1:case 2:un.toArray(r,i.lower),un.toArray(s,i.upper),o=r[t],a=s[t];break;case 3:o=-(a=.5*Pi(n.twistExtent));break;case 4:o=-(a=.5*Pi(n.swingExtent1));break;case 5:o=-(a=.5*Pi(n.swingExtent2));break;default:U("idx should be in [0, 5], but give "+t)}this._setLimit(e,t,o,a)},i.setLinearLimit=function(t,e,i){var n=0,r=this.constraint.linearLimitSettings;switch(t){case 0:n=r.xMotion;break;case 1:n=r.yMotion;break;case 2:n=r.zMotion}this._setLimit(n,t,e,i)},i.setAngularExtent=function(t,e,i){var n=this.constraint.angularLimitSettings;this._setLimit(n.twistMotion,sIt.TWIST,.5*-Pi(t),.5*Pi(t)),this._setLimit(n.swingMotion1,sIt.SWING1,.5*-Pi(e),.5*Pi(e)),this._setLimit(n.swingMotion2,sIt.SWING2,.5*-Pi(i),.5*Pi(i))},i.setSwingSoftConstraint=function(t){_Tt.Generic6DofSpring2Constraint_enableSpring(this._impl,sIt.SWING1,t),_Tt.Generic6DofSpring2Constraint_enableSpring(this._impl,sIt.SWING2,t)},i.setTwistSoftConstraint=function(t){_Tt.Generic6DofSpring2Constraint_enableSpring(this._impl,sIt.TWIST,t)},i.setLinearSoftConstraint=function(t){_Tt.Generic6DofSpring2Constraint_enableSpring(this._impl,sIt.X,t),_Tt.Generic6DofSpring2Constraint_enableSpring(this._impl,sIt.Y,t),_Tt.Generic6DofSpring2Constraint_enableSpring(this._impl,sIt.Z,t)},i.setLinearStiffness=function(t){_Tt.Generic6DofSpring2Constraint_setStiffness(this._impl,sIt.X,t),_Tt.Generic6DofSpring2Constraint_setStiffness(this._impl,sIt.Y,t),_Tt.Generic6DofSpring2Constraint_setStiffness(this._impl,sIt.Z,t)},i.setLinearDamping=function(t){_Tt.Generic6DofSpring2Constraint_setDamping(this._impl,sIt.X,t),_Tt.Generic6DofSpring2Constraint_setDamping(this._impl,sIt.Y,t),_Tt.Generic6DofSpring2Constraint_setDamping(this._impl,sIt.Z,t)},i.setLinearRestitution=function(t){_Tt.Generic6DofSpring2Constraint_setBounce(this._impl,sIt.X,t),_Tt.Generic6DofSpring2Constraint_setBounce(this._impl,sIt.Y,t),_Tt.Generic6DofSpring2Constraint_setBounce(this._impl,sIt.Z,t)},i.setSwingStiffness=function(t){_Tt.Generic6DofSpring2Constraint_setStiffness(this._impl,sIt.SWING1,t),_Tt.Generic6DofSpring2Constraint_setStiffness(this._impl,sIt.SWING2,t)},i.setSwingDamping=function(t){_Tt.Generic6DofSpring2Constraint_setDamping(this._impl,sIt.SWING1,t),_Tt.Generic6DofSpring2Constraint_setDamping(this._impl,sIt.SWING2,t)},i.setSwingRestitution=function(t){_Tt.Generic6DofSpring2Constraint_setBounce(this._impl,sIt.SWING1,t),_Tt.Generic6DofSpring2Constraint_setBounce(this._impl,sIt.SWING2,t)},i.setTwistStiffness=function(t){_Tt.Generic6DofSpring2Constraint_setStiffness(this._impl,sIt.TWIST,t)},i.setTwistDamping=function(t){_Tt.Generic6DofSpring2Constraint_setDamping(this._impl,sIt.TWIST,t)},i.setTwistRestitution=function(t){_Tt.Generic6DofSpring2Constraint_setBounce(this._impl,sIt.TWIST,t)},i.setDriverMode=function(t,e){e===Fmt.DISABLED?_Tt.Generic6DofSpring2Constraint_enableMotor(this._impl,t,!1):e===Fmt.SERVO?(_Tt.Generic6DofSpring2Constraint_enableMotor(this._impl,t,!0),_Tt.Generic6DofSpring2Constraint_setServo(this._impl,t,!0)):e===Fmt.INDUCTION&&(_Tt.Generic6DofSpring2Constraint_enableMotor(this._impl,t,!0),_Tt.Generic6DofSpring2Constraint_setServo(this._impl,t,!1))},i._updateMotorTargetAndVelocity=function(t){var e=Fmt.DISABLED,i=0,n=0,r=0,s=this.constraint.linearDriverSettings,a=this.constraint.angularDriverSettings;switch(t){case 0:i=sIt.X,e=s.xDrive,n=s.targetPosition.x,r=-s.targetVelocity.x;break;case 1:i=sIt.Y,e=s.yDrive,n=s.targetPosition.y,r=-s.targetVelocity.y;break;case 2:i=sIt.Z,e=s.zDrive,n=s.targetPosition.z,r=-s.targetVelocity.z;break;case 3:i=sIt.TWIST,e=a.twistDrive,n=-Pi(a.targetOrientation.x),r=-Pi(a.targetVelocity.x);break;case 4:i=sIt.SWING1,e=a.swingDrive1,n=-Pi(a.targetOrientation.y),r=-Pi(a.targetVelocity.y);break;case 5:i=sIt.SWING2,e=a.swingDrive2,n=-Pi(a.targetOrientation.z),r=-Pi(a.targetVelocity.z)}var o=t>2?a.strength:s.strength;_Tt.Generic6DofSpring2Constraint_setServoTarget(this._impl,i,n),e===Fmt.SERVO?t>2?_Tt.Generic6DofSpring2Constraint_setTargetVelocity(this._impl,i,-n*o*.1):_Tt.Generic6DofSpring2Constraint_setTargetVelocity(this._impl,i,n*o*.1):e===Fmt.INDUCTION&&_Tt.Generic6DofSpring2Constraint_setTargetVelocity(this._impl,i,r)},i.setLinearMotorTarget=function(){this._updateMotorTargetAndVelocity(0),this._updateMotorTargetAndVelocity(1),this._updateMotorTargetAndVelocity(2)},i.setLinearMotorVelocity=function(){this._updateMotorTargetAndVelocity(0),this._updateMotorTargetAndVelocity(1),this._updateMotorTargetAndVelocity(2)},i.setLinearMotorForceLimit=function(t){_Tt.Generic6DofSpring2Constraint_setMaxMotorForce(this._impl,sIt.X,t),_Tt.Generic6DofSpring2Constraint_setMaxMotorForce(this._impl,sIt.Y,t),_Tt.Generic6DofSpring2Constraint_setMaxMotorForce(this._impl,sIt.Z,t)},i.setAngularMotorTarget=function(){this._updateMotorTargetAndVelocity(3),this._updateMotorTargetAndVelocity(4),this._updateMotorTargetAndVelocity(5)},i.setAngularMotorVelocity=function(){this._updateMotorTargetAndVelocity(3),this._updateMotorTargetAndVelocity(4),this._updateMotorTargetAndVelocity(5)},i.setAngularMotorForceLimit=function(t){_Tt.Generic6DofSpring2Constraint_setMaxMotorForce(this._impl,sIt.TWIST,t),_Tt.Generic6DofSpring2Constraint_setMaxMotorForce(this._impl,sIt.SWING1,t),_Tt.Generic6DofSpring2Constraint_setMaxMotorForce(this._impl,sIt.SWING2,t)},i.setPivotA=function(){this.updateFrames()},i.setPivotB=function(){this.updateFrames()},i.setAutoPivotB=function(){this.updateFrames()},i.setAxis=function(){this.updateFrames()},i.setSecondaryAxis=function(){this.updateFrames()},i.setBreakForce=function(){var t=GTt(Math.max(this.constraint.breakForce,this.constraint.breakTorque),sAt.instance.fixedTimeStep);_Tt.TypedConstraint_setMaxImpulseThreshold(this._impl,t)},i.setBreakTorque=function(){var t=GTt(Math.max(this.constraint.breakForce,this.constraint.breakTorque),sAt.instance.fixedTimeStep);_Tt.TypedConstraint_setMaxImpulseThreshold(this._impl,t)},i.onComponentSet=function(){var t=this.constraint.connectedBody,e=this._rigidBody.body.impl,i=t&&t.body.impl||_Tt.TypedConstraint_getFixedBody(),n=mTt.instance.BT_TRANSFORM_0,r=mTt.instance.BT_TRANSFORM_1;this._impl=_Tt.Generic6DofSpring2Constraint_new(e,i,n,r,rIt.RO_YZX);var s=this.constraint.linearLimitSettings,a=this.constraint.angularLimitSettings;this.setConstraintMode(0,s.xMotion),this.setConstraintMode(1,s.yMotion),this.setConstraintMode(2,s.zMotion),this.setConstraintMode(3,a.twistMotion),this.setConstraintMode(4,a.swingMotion1),this.setConstraintMode(5,a.swingMotion2),this.setLinearSoftConstraint(s.enableSoftConstraint),this.setLinearStiffness(s.stiffness),this.setLinearDamping(s.damping),this.setLinearRestitution(s.restitution),this.setSwingSoftConstraint(a.enableSoftConstraintSwing),this.setSwingRestitution(a.swingRestitution),this.setSwingStiffness(a.swingStiffness),this.setSwingDamping(a.swingDamping),this.setTwistSoftConstraint(a.enableSoftConstraintTwist),this.setTwistRestitution(a.twistRestitution),this.setTwistStiffness(a.twistStiffness),this.setTwistDamping(a.twistDamping);var o=this.constraint.linearDriverSettings,h=this.constraint.angularDriverSettings;this.setDriverMode(0,o.xDrive),this.setDriverMode(1,o.yDrive),this.setDriverMode(2,o.zDrive),this.setDriverMode(3,h.twistDrive),this.setDriverMode(4,h.swingDrive1),this.setDriverMode(5,h.swingDrive2),this.setLinearMotorTarget(o.targetPosition),this.setLinearMotorVelocity(o.targetVelocity),this.setLinearMotorForceLimit(o.strength),this.setAngularMotorTarget(h.targetOrientation),this.setAngularMotorVelocity(h.targetVelocity),this.setAngularMotorForceLimit(h.strength),this.setBreakForce(this.constraint.breakForce),this.setBreakTorque(this.constraint.breakTorque),this.updateFrames()},i.updateFrames=function(){var t=this.constraint,e=t.node,i=gTt,n=BTt,r=MTt,s=mTt.instance.BT_TRANSFORM_0;un.multiply(i,e.worldScale,t.pivotA),OTt(_Tt.Transform_getOrigin(s),i);var a=mTt.instance.BT_QUAT_0,o=t.axis,h=t.secondaryAxis,u=un.cross(yTt,o,h);Mn.set(PTt,o.x,o.y,o.z,0,h.x,h.y,h.z,0,u.x,u.y,u.z,0,0,0,0,1).getRotation(n),FTt(a,n),_Tt.Transform_setRotation(s,a);var l=mTt.instance.BT_TRANSFORM_1,c=this.constraint.connectedBody;c?(bn.multiply(n,e.worldRotation,n),bn.invert(r,c.node.worldRotation),bn.multiply(n,r,n),t.autoPivotB?(un.multiply(i,t.node.worldScale,t.pivotA),un.transformQuat(i,i,e.worldRotation),un.add(i,i,t.node.worldPosition),un.subtract(i,i,c.node.worldPosition),un.transformQuat(i,i,r)):un.multiply(i,c.node.worldScale,t.pivotB)):(un.multiply(i,e.worldScale,t.pivotA),un.transformQuat(i,i,e.worldRotation),un.add(i,i,e.worldPosition),bn.multiply(n,e.worldRotation,n)),OTt(_Tt.Transform_getOrigin(l),i),FTt(a,n),_Tt.Transform_setRotation(l,a),_Tt.Generic6DofSpring2Constraint_setFrames(this._impl,s,l)},i.updateScale0=function(){this.updateFrames()},i.updateScale1=function(){this.updateFrames()},n(e,[{key:"constraint",get:function(){return this._com}}]),e}(_It),gIt=new un(0,0,0),yIt=new un(0,0,0);new un(0,0,0);var vIt=function(){function t(){this.wrappedWorld=void 0,this._isEnabled=!1,this._impl=0,this._comp=null,this._btCollisionFlags=0,this._word3=0,this._dirty=!1,this._collisionFilterGroup=kmt.DEFAULT,this._collisionFilterMask=-1,this.id=t.idCounter++,this.wrappedWorld=sAt.instance.physicsWorld}var e=t.prototype;return e.onComponentSet=function(){},e.updateScale=function(){},e.initialize=function(t){this._comp=t;var e=this._comp.group,i=sAt.instance.collisionMatrix[e];return this._collisionFilterGroup=e,this._collisionFilterMask=i,this.onComponentSet(),0!==this._impl||(U("[Physics]: Initialize BulletCharacterController failed"),!1)},e.setWrapper=function(){mTt.setWrapper(this._impl,_Tt.CCT_CACHE_NAME,this);var t=_Tt.CharacterController_getCollisionShape(this.impl);mTt.setWrapper(t,_Tt.CCT_CACHE_NAME,this)},e.onEnable=function(){this._isEnabled=!0,this._impl||this.onComponentSet(),this.setDetectCollisions(!1),this.setOverlapRecovery(!0),sAt.instance.physicsWorld.addCCT(this),this.setWrapper()},e.onDisable=function(){this._isEnabled=!1,this.wrappedWorld.removeCCT(this),this.onDestroy()},e.onDestroy=function(){_Tt._safe_delete(this._impl,aTt.EBulletTypeCharacterController),mTt.delWrapper(this._impl,_Tt.CCT_CACHE_NAME),this._impl=0},e.onLoad=function(){},e.getPosition=function(t){this._impl&<t(t,_Tt.CharacterController_getPosition(this.impl))},e.setPosition=function(t){this._impl&&(OTt(_Tt.CharacterController_getPosition(this.impl),t),this.syncPhysicsToScene())},e.setContactOffset=function(t){this._impl&&_Tt.CharacterController_setContactOffset(this._impl,t)},e.setStepOffset=function(t){this._impl&&_Tt.CharacterController_setStepOffset(this._impl,t)},e.setSlopeLimit=function(t){this._impl&&_Tt.CharacterController_setSlopeLimit(this._impl,Ve(t))},e.setDetectCollisions=function(t){this._impl&&_Tt.CharacterController_setCollision(this.impl,t)},e.setOverlapRecovery=function(t){this._impl&&_Tt.CharacterController_setOverlapRecovery(this.impl,t)},e.onGround=function(){return(4&this._btCollisionFlags)>0},e.syncSceneToPhysics=function(){var t=this.characterController.node;t.hasChangedFlags&&(t.hasChangedFlags&hm.SCALE&&this.syncScale(),t.hasChangedFlags&hm.POSITION&&(un.add(gIt,t.worldPosition,this.scaledCenter),this.setPosition(gIt)))},e.syncPhysicsToScene=function(){this.getPosition(gIt),gIt.subtract(this.scaledCenter),this._comp.node.setWorldPosition(gIt)},e.syncScale=function(){this.updateScale()},e.move=function(t,e,i){if(this._isEnabled){var n=mTt.instance.BT_V3_0;_Tt.Vec3_set(n,t.x,t.y,t.z),this._btCollisionFlags=_Tt.CharacterController_move(this.impl,n,e,i)}},e.setGroup=function(t){t!==this._collisionFilterGroup&&(this._collisionFilterGroup=t,this._dirty=!0)},e.getGroup=function(){return this._collisionFilterGroup},e.addGroup=function(t){this._collisionFilterGroup|=t,this._dirty=!0},e.removeGroup=function(t){this._collisionFilterGroup&=~t,this._dirty=!0},e.setMask=function(t){t!==this._collisionFilterMask&&(this._collisionFilterMask=t,this._dirty=!0)},e.getMask=function(){return this._collisionFilterMask},e.addMask=function(t){this._collisionFilterMask|=t,this._dirty=!0},e.removeMask=function(t){this._collisionFilterMask&=~t,this._dirty=!0},e.updateEventListener=function(){this.wrappedWorld.updateNeedEmitCCTEvents(this.characterController.needCollisionEvent)},e.updateDirty=function(){this._dirty&&(sAt.instance.physicsWorld.removeCCT(this),sAt.instance.physicsWorld.addCCT(this),this._dirty=!1)},e.onShapeHitExt=function(t){var e=_Tt.ControllerShapeHit_getHitShape(t),i=sAt.instance.physicsWorld;i.cctShapeEventDic.get(this.impl,e);var n=new un;LTt(n,_Tt.ControllerHit_getHitWorldPos(t));var r=new un;LTt(r,_Tt.ControllerHit_getHitWorldNormal(t));var s=new un;LTt(s,_Tt.ControllerHit_getHitMotionDir(t));var a=_Tt.ControllerHit_getHitMotionLength(t),o=mTt.getWrapper(e,XRt.TYPE);o&&i.cctShapeEventDic.set(this.impl,e,{BulletCharacterController:this,BulletShape:o,worldPos:n,worldNormal:r,motionDir:s,motionLength:a})},n(t,[{key:"isEnabled",get:function(){return this._isEnabled}},{key:"impl",get:function(){return this._impl}},{key:"characterController",get:function(){return this._comp}},{key:"scaledCenter",get:function(){return un.multiply(yIt,this._comp.center,this._comp.node.worldScale),yIt}}]),t}();vIt.idCounter=0;var SIt,TIt,AIt,bIt,EIt,CIt,xIt,wIt,RIt=new un(0,0,0),IIt=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.onComponentSet=function(){this.component.node.getWorldPosition(RIt),RIt.add(this.scaledCenter);var t=mTt.instance.BT_V3_0;_Tt.Vec3_set(t,RIt.x,RIt.y,RIt.z);var e=un.UNIT_Y,i=mTt.instance.BT_V3_1;_Tt.Vec3_set(i,e.x,e.y,e.z);var n=_Tt.ControllerHitReport_new(),r=sAt.instance.physicsWorld,s=_Tt.CapsuleCharacterControllerDesc_new(Ve(this.component.slopeLimit),this.component.stepOffset,this.component.skinWidth,i,t,n,this.component.radius,this.component.height);this._impl=_Tt.CapsuleCharacterController_new(r.impl,s,0),this.updateScale()},i.setRadius=function(){this.updateScale()},i.setHeight=function(){this.updateScale()},i.updateScale=function(){this.updateGeometry()},i.updateGeometry=function(){var t=this.component.node.worldScale,e=this.component.radius*Yi(t.x,t.z),i=this.component.height*Math.abs(t.y);_Tt.CapsuleCharacterController_setRadius(this.impl,e),_Tt.CapsuleCharacterController_setHeight(this.impl,i),this._dirty=!0},n(e,[{key:"component",get:function(){return this._comp}}]),e}(vIt),DIt=new un(0,0,0),BIt=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.onComponentSet=function(){this.component.node.getWorldPosition(DIt),DIt.add(this.scaledCenter);var t=mTt.instance.BT_V3_0;_Tt.Vec3_set(t,DIt.x,DIt.y,DIt.z);var e=un.UNIT_Y,i=mTt.instance.BT_V3_1;_Tt.Vec3_set(i,e.x,e.y,e.z);var n=_Tt.ControllerHitReport_new(),r=sAt.instance.physicsWorld,s=_Tt.BoxCharacterControllerDesc_new(Ve(this.component.slopeLimit),this.component.stepOffset,this.component.skinWidth,i,t,n,this.component.halfHeight,this.component.halfSideExtent,this.component.halfForwardExtent);this._impl=_Tt.BoxCharacterController_new(r.impl,s,0),this.updateScale()},i.setHalfHeight=function(){this.updateScale()},i.setHalfSideExtent=function(){this.updateScale()},i.setHalfForwardExtent=function(){this.updateScale()},i.updateScale=function(){this.updateGeometry()},i.updateGeometry=function(){var t=this.component.node.worldScale;_Tt.BoxCharacterController_setHalfSideExtent(this.impl,this.component.halfSideExtent*t.x),_Tt.BoxCharacterController_setHalfHeight(this.impl,this.component.halfHeight*t.y),_Tt.BoxCharacterController_setHalfForwardExtent(this.impl,this.component.halfForwardExtent*t.z),this._dirty=!0},n(e,[{key:"component",get:function(){return this._comp}}]),e}(vIt);SF.once(vF.EVENT_PRE_SUBSYSTEM_INIT,(function(){qSt.register("bullet",{PhysicsWorld:$Rt,RigidBody:kRt,BoxShape:tIt,SphereShape:eIt,CapsuleShape:iIt,TrimeshShape:aIt,CylinderShape:oIt,ConeShape:hIt,TerrainShape:uIt,SimplexShape:lIt,PlaneShape:cIt,PointToPointConstraint:fIt,HingeConstraint:pIt,FixedConstraint:dIt,ConfigurableConstraint:mIt,BoxCharacterController:BIt,CapsuleCharacterController:IIt})})),function(t){t[t.BOX=0]="BOX",t[t.SPHERE=1]="SPHERE",t[t.CYLINDER=2]="CYLINDER",t[t.CONE=3]="CONE",t[t.CAPSULE=4]="CAPSULE",t[t.TORUS=5]="TORUS",t[t.PLANE=6]="PLANE",t[t.QUAD=7]="QUAD"}(wIt||(wIt={})),Ae(wIt);var MIt=t("g8",(SIt=Js("cc.Primitive"),TIt=Ia(wIt),SIt(((xIt=function(t){function e(e){var i;return void 0===e&&(e=wIt.BOX),(i=t.call(this)||this).type=EIt&&EIt(),i.info=CIt&&CIt(),i.type=e,i}return s(e,t),e.prototype.onLoaded=function(){nN(U$[wIt[this.type].toLowerCase()](this.info),this)},e}(YF)).PrimitiveType=wIt,EIt=Us((bIt=xIt).prototype,"type",[TIt],(function(){return wIt.BOX})),CIt=Us(bIt.prototype,"info",[sa],(function(){return{}})),AIt=bIt))||AIt));v.Primitive=MIt,v.primitives=U$;var PIt,OIt,LIt=function(){function t(t,e,i){this._opts=void 0,this._total=0,this._value=0,this._averageValue=0,this._accumValue=0,this._accumSamples=0,this._id=t,this._opts=e,this._accumStart=i}var e=t.prototype;return e.sample=function(t){this._average(this._value,t)},e.human=function(){var t=this._opts,e=t.average,i=t.isInteger,n=e?this._averageValue:this._value;return i?Math.round(n):Math.round(100*n)/100},e.alarm=function(){return this._opts.below&&this._valuethis._opts.over},e._average=function(t,e){if(void 0===e&&(e=0),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)}},n(t,[{key:"value",get:function(){return this._value},set:function(t){this._value=t}}]),t}(),FIt=Js("cc.PerfCounter")(PIt=function(t){function e(e,i,n){var r;return(r=t.call(this,e,i,n)||this)._time=n,r}s(e,t);var i=e.prototype;return i.start=function(t){void 0===t&&(t=0),this._time=t},i.end=function(t){void 0===t&&(t=0),this._value=t-this._time,this._average(this._value)},i.tick=function(){this.end(),this.start()},i.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}(LIt))||PIt,NIt="0123456789. ",kIt=500,GIt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,".":10},VIt={fps:{desc:"Framerate (FPS)",below:30,average:kIt,isInteger:!0},draws:{desc:"Draw call",isInteger:!0},frame:{desc:"Frame time (ms)",min:0,max:50,average:kIt},instances:{desc:"Instance Count",isInteger:!0},tricount:{desc:"Triangle",isInteger:!0},logic:{desc:"Game Logic (ms)",min:0,max:50,average:kIt,color:"#080"},physics:{desc:"Physics (ms)",min:0,max:50,average:kIt},render:{desc:"Renderer (ms)",min:0,max:50,average:kIt,color:"#f90"},present:{desc:"Present (ms)",min:0,max:50,average:kIt,color:"#f90"},textureMemory:{desc:"GFX Texture Mem(M)"},bufferMemory:{desc:"GFX Buffer Mem(M)"}},UIt=t("g9",function(t){function e(){var e;return(e=t.call(this)||this)._profilerStats=null,e._showFPS=!1,e._rootNode=null,e._device=null,e._swapchain=null,e._meshRenderer=null,e._canvas=null,e._ctx=null,e._texture=null,e._region=new Wc,e._canvasArr=[],e._regionArr=[e._region],e.digitsData=null,e.offsetData=null,e.pass=null,e._canvasDone=!1,e._statsDone=!1,e._inited=!1,e._lineHeight=280/(Object.keys(VIt).length+1),e._wordHeight=0,e._eachNumWidth=0,e._totalLines=0,e.lastTime=0,e._canvas=T.document.createElement("canvas"),e._ctx=e._canvas.getContext("2d"),e._canvasArr.push(e._canvas),e}s(e,t);var i=e.prototype;return i.init=function(){xe.querySettings(Ce.Category.PROFILING,"showFPS")?this.showStats():this.hideStats()},i.isShowingStats=function(){return this._showFPS},i.hideStats=function(){this._showFPS&&(this._rootNode&&(this._rootNode.active=!1),v.director.off(v.Director.EVENT_BEFORE_UPDATE,this.beforeUpdate,this),v.director.off(v.Director.EVENT_AFTER_UPDATE,this.afterUpdate,this),v.director.off(v.Director.EVENT_BEFORE_PHYSICS,this.beforePhysics,this),v.director.off(v.Director.EVENT_AFTER_PHYSICS,this.afterPhysics,this),v.director.off(v.Director.EVENT_BEFORE_DRAW,this.beforeDraw,this),v.director.off(v.Director.EVENT_AFTER_RENDER,this.afterRender,this),v.director.off(v.Director.EVENT_AFTER_DRAW,this.afterPresent,this),this._showFPS=!1,dF.root.pipeline.profiler=null,v.game.config.showFPS=!1)},i.showStats=function(){if(!this._showFPS){if(!this._device){var t=v.director.root;this._device=If.gfxDevice,this._swapchain=t.mainWindow.swapchain}this.generateCanvas(),this.generateStats(),v.game.once(v.Game.EVENT_ENGINE_INITED,this.generateNode,this),v.game.on(v.Game.EVENT_RESTART,this.generateNode,this),this._rootNode&&(this._rootNode.active=!0),v.director.on(v.Director.EVENT_BEFORE_UPDATE,this.beforeUpdate,this),v.director.on(v.Director.EVENT_AFTER_UPDATE,this.afterUpdate,this),v.director.on(v.Director.EVENT_BEFORE_PHYSICS,this.beforePhysics,this),v.director.on(v.Director.EVENT_AFTER_PHYSICS,this.afterPhysics,this),v.director.on(v.Director.EVENT_BEFORE_DRAW,this.beforeDraw,this),v.director.on(v.Director.EVENT_AFTER_RENDER,this.afterRender,this),v.director.on(v.Director.EVENT_AFTER_DRAW,this.afterPresent,this),this._showFPS=!0,this._canvasDone=!0,this._statsDone=!0,v.game.config.showFPS=!0}},i.generateCanvas=function(){if(!this._canvasDone){this._ctx&&this._canvas&&(this._canvas.width=280,this._canvas.height=280,this._canvas.style.width=""+this._canvas.width,this._canvas.style.height=""+this._canvas.height,this._ctx.font="23px Arial",this._ctx.textBaseline="top",this._ctx.fillStyle="#fff",this._texture=this._device.createTexture(new e_(tc.TEX2D,ec.SAMPLED|ec.TRANSFER_DST,Yl.RGBA8,280,280)),this._region.texExtent.width=280,this._region.texExtent.height=280)}},i.generateStats=function(){if(!this._statsDone&&this._ctx&&this._canvas){this._profilerStats=null;var t=performance.now();this._ctx.textAlign="left";var e=0;for(var i in VIt){var n=VIt[i];this._ctx.fillText(n.desc,0,e*this._lineHeight),n.counter=new FIt(i,n,t),e++}this._totalLines=e,this._wordHeight=this._totalLines*this._lineHeight/this._canvas.height;for(var r=0;r=0;o--){var h=8*i+o,u=a[a.length-(8-o)],l=GIt[u];void 0===l&&(l=11),n[h]=l}i++}}}},n(e,[{key:"_stats",get:function(){return V("Profiler._stats is deprecated, please use Profiler.stats instead."),this._profilerStats}},{key:"stats",get:function(){return this._profilerStats}}]),e}(Nu)),zIt=t("ga",new UIt);dF.registerSystem("profiler",zIt,0),v.profiler=zIt,function(t){var e,i,n,r,s,a,o,h;(e=t.MixBlend||(t.MixBlend={}))[e.setup=0]="setup",e[e.first=1]="first",e[e.replace=2]="replace",e[e.add=3]="add",(i=t.MixDirection||(t.MixDirection={}))[i.mixIn=0]="mixIn",i[i.mixOut=1]="mixOut",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"}(t.TimelineType||(t.TimelineType={})),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"}(t.EventType||(t.EventType={})),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=t.TransformMode||(t.TransformMode={}))[n.Normal=0]="Normal",n[n.OnlyTranslation=1]="OnlyTranslation",n[n.NoRotationOrReflection=2]="NoRotationOrReflection",n[n.NoScale=3]="NoScale",n[n.NoScaleOrReflection=4]="NoScaleOrReflection",(r=t.PositionMode||(t.PositionMode={}))[r.Fixed=0]="Fixed",r[r.Percent=1]="Percent",(s=t.SpacingMode||(t.SpacingMode={}))[s.Length=0]="Length",s[s.Fixed=1]="Fixed",s[s.Percent=2]="Percent",(a=t.RotateMode||(t.RotateMode={}))[a.Tangent=0]="Tangent",a[a.Chain=1]="Chain",a[a.ChainScale=2]="ChainScale",(o=t.TextureFilter||(t.TextureFilter={}))[o.Nearest=9728]="Nearest",o[o.Linear=9729]="Linear",o[o.MipMap=9987]="MipMap",o[o.MipMapNearestNearest=9984]="MipMapNearestNearest",o[o.MipMapLinearNearest=9985]="MipMapLinearNearest",o[o.MipMapNearestLinear=9986]="MipMapNearestLinear",o[o.MipMapLinearLinear=9987]="MipMapLinearLinear",(h=t.TextureWrap||(t.TextureWrap={}))[h.MirroredRepeat=33648]="MirroredRepeat",h[h.ClampToEdge=33071]="ClampToEdge",h[h.Repeat=10497]="Repeat",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[t.Clipping=6]="Clipping"}(t.AttachmentType||(t.AttachmentType={}))}(OIt||(OIt={}));var HIt=OIt,WIt=0,XIt=function(){function t(){this.start=void 0,this.interrupt=void 0,this.end=void 0,this.dispose=void 0,this.complete=void 0,this.event=void 0}return t.getListeners=function(e){return e.listener||(e.listener=new t),e.listener},t.emitListener=function(e,i,n){var r=t._listenerSet.get(e);r&&r&&r(i,n)},t.addListener=function(e){var i=++WIt;return t._listenerSet.set(i,e),i},t}();function jIt(t,e,i){Object.defineProperty(t,i,{get:function(){for(var t=[],i=e.call(this),n=i.size(),r=0;r=this._maxFrameIdex&&(this.isCompleted=!0)}while(this.needToUpdate(t))},e.getFrame=function(t){var e=t%this._maxFrameIdex;return this.frames[e]},e.invalidAnimationFrames=function(){this._curIndex=-1,this._isCompleted=!1,this.frames.length=0},e.updateRenderData=function(t,e){var i=e.vCount,n=e.iCount,r=oDt/Float32Array.BYTES_PER_ELEMENT,s=new Uint8Array(Float32Array.BYTES_PER_ELEMENT*r*i),a=new Uint16Array(n),o=e.vPtr,h=i*Float32Array.BYTES_PER_ELEMENT*r,u=HIt.wasmUtil.wasm.HEAPU8.subarray(o,o+h);s.set(u);var l=e.iPtr,c=Uint16Array.BYTES_PER_ELEMENT*n,_=HIt.wasmUtil.wasm.HEAPU8.subarray(l,l+c);new Uint8Array(a.buffer).set(_);var f=new uDt;f.vCount=i,f.iCount=n,f.vData=s,f.iData=a;for(var d=e.getMeshes(),p=d.size(),m=0;m0)&&this.textureNames&&this.textureNames.length>0)return t||U(this.name+" no textures found!"),null;var e=HIt.wasmUtil.querySpineSkeletonDataByUUID(this._uuid);if(e)this._skeletonCache=e;else if(this.skeletonJsonStr)this._skeletonCache=HIt.wasmUtil.createSpineSkeletonDataWithJson(this.skeletonJsonStr,this._atlasText),HIt.wasmUtil.registerSpineSkeletonDataWithUUID(this._skeletonCache,this._uuid);else{var i=new Uint8Array(this._nativeAsset),n=i.length,r=HIt.wasmUtil.queryStoreMemory(n);HIt.wasmUtil.wasm.HEAPU8.subarray(r,r+n).set(i),this._skeletonCache=HIt.wasmUtil.createSpineSkeletonDataWithBinary(n,this._atlasText),HIt.wasmUtil.registerSpineSkeletonDataWithUUID(this._skeletonCache,this._uuid)}return this._skeletonCache},i.getSkinsEnum=function(){if(this._skinsEnum)return this._skinsEnum;var t=this.getRuntimeData(!0);if(t){for(var e=t.skins,i={},n=0;n1)return this._animsEnum;var t=this.getRuntimeData(!0);if(t){for(var e={"":0},i=t.animations,n=0;n"]=0]=""}(qDt||(qDt={})),Ae(qDt),function(t){t[t.COLORED_TEXTURED=0]="COLORED_TEXTURED",t[t.TWO_COLORED=1]="TWO_COLORED"}(KDt||(KDt={}));var $Dt=(pDt=Js("sp.Skeleton.SpineSocket"),mDt=Ia(tg),pDt((yDt=function(t,e){void 0===t&&(t=""),void 0===e&&(e=null),this.path=vDt&&vDt(),this.target=SDt&&SDt(),this.path=t,this.target=e},vDt=Us(yDt.prototype,"path",[sa],(function(){return""})),SDt=Us(yDt.prototype,"target",[mDt,sa],(function(){return null})),gDt=yDt))||gDt);$t($Dt,"sp.Skeleton.SpineSocket");var tBt=(TDt=Js("sp.Skeleton"),ADt=Ia(fDt),bDt=Ia(YDt),EDt=Ia(qDt),CDt=Ia(jDt),xDt=Ia([$Dt]),wDt=Ia(MT),TDt(((XDt=function(t){function e(){var e;return(e=t.call(this)||this)._skeletonData=DDt&&DDt(),e.defaultSkin=BDt&&BDt(),e.defaultAnimation=MDt&&MDt(),e._premultipliedAlpha=PDt&&PDt(),e._timeScale=ODt&&ODt(),e._preCacheMode=LDt&&LDt(),e._cacheMode=FDt&&FDt(),e._defaultCacheMode=NDt&&NDt(),e._sockets=kDt&&kDt(),e._useTint=GDt&&GDt(),e._debugMesh=VDt&&VDt(),e._debugBones=UDt&&UDt(),e._debugSlots=zDt&&zDt(),e._enableBatch=HDt&&HDt(),e._runtimeData=null,e._skeleton=null,e._instance=null,e._state=null,e._textures=[],e._animationName="",e._skinName="",e._drawList=new Lu((function(){return{material:null,texture:null,indexOffset:0,indexCount:0}}),1),e._materialCache={},e.paused=!1,e._enumSkins=ve({}),e._enumAnimations=ve({}),e.attachUtil=void 0,e._socketNodes=new Map,e._cachedSockets=new Map,e._startEntry=void 0,e._endEntry=void 0,e._paused=!1,e._accTime=0,e._playCount=0,e._skeletonCache=null,e._animCache=null,e._animationQueue=[],e._headAniInfo=null,e._isAniComplete=!0,e._playTimes=0,e._curFrame=null,e._needUpdateSkeltonData=!0,e._listener=null,e._debugRenderer=null,e._startSlotIndex=void 0,e._endSlotIndex=void 0,e._slotTextures=null,e.loop=WDt&&WDt(),e._useVertexOpacity=!0,e._startEntry={animation:{name:""},trackIndex:0},e._endEntry={animation:{name:""},trackIndex:0},e._startSlotIndex=-1,e._endSlotIndex=-1,e._instance=new HIt.SkeletonInstance,e.attachUtil=new ZDt,e}s(e,t);var i=e.prototype;return i.__preload=function(){t.prototype.__preload.call(this),this._updateSkeletonData(),this._updateDebugDraw()},i.onRestore=function(){this.updateMaterial(),this.markForUpdateRenderData()},i.getState=function(){return this._state},i.onEnable=function(){t.prototype.onEnable.call(this),this._flushAssembler(),dDt.getInstance().add(this)},i.onDisable=function(){t.prototype.onDisable.call(this),dDt.getInstance().remove(this)},i.onDestroy=function(){this.destroyRenderData(),this._cleanMaterialCache(),HIt.wasmUtil.destroySpineInstance(this._instance),t.prototype.onDestroy.call(this)},i.clearAnimation=function(){this.isAnimationCached()||(this.clearTrack(0),this.setToSetupPose())},i._updateSkeletonData=function(){var t,e=this._skeletonData;if(!e)return this._runtimeData=null,this._state=null,this._skeleton=null,this._textures=[],void this._refreshInspector();this._needUpdateSkeltonData=!1;var i=null===(t=this.skeletonData)||void 0===t?void 0:t.getRuntimeData();i&&(this.setSkeletonData(i),this.defaultSkin&&this.setSkin(this.defaultSkin),this._textures=e.textures,this._runtimeData=e.getRuntimeData(),this._runtimeData&&(this.setSkeletonData(this._runtimeData),this._refreshInspector(),this.defaultAnimation&&(this.animation=this.defaultAnimation.toString()),this.defaultSkin&&this.setSkin(this.defaultSkin),this._updateUseTint(),this._indexBoneSockets(),this._updateSocketBindings(),this.attachUtil.init(this),this._preCacheMode=this._cacheMode))},i.setSkeletonData=function(t){if(this._cacheMode===jDt.SHARED_CACHE?this._skeletonCache=_Dt.sharedCache:this._cacheMode===jDt.PRIVATE_CACHE&&(this._skeletonCache=new _Dt,this._skeletonCache.enablePrivateMode()),this.isAnimationCached()){if((this.debugBones||this.debugSlots)&&V("Debug bones or slots is invalid in cached mode"),this.skeletonData){var e=this._skeletonCache.getSkeletonCache(this.skeletonData.uuid,t);this._skeleton=e.skeleton}}else this._skeleton=this._instance.initSkeleton(t),this._state=this._instance.getAnimationState(),this._instance.setPremultipliedAlpha(this._premultipliedAlpha);this._flushAssembler()},i.setSlotsRange=function(t,e){this.isAnimationCached()?V("Slots visible range can not be modified in cached mode."):(this._startSlotIndex=t,this._endSlotIndex=e)},i.getAttachment=function(t,e){return this._skeleton?this._skeleton.getAttachmentByName(t,e):null},i.setAttachment=function(t,e){this._skeleton&&this._skeleton.setAttachment(t,e),this.invalidAnimationCache()},i.getTextureAtlas=function(t){return t.region},i.setAnimation=function(t,e,i){if("string"!=typeof e)return q(7511),null;if(!this._skeleton.data.findAnimation(e))return q(7509,e),null;var n=null;if(void 0===i&&(i=!0),this._playTimes=i?0:1,this.isAnimationCached()){if(0!==t&&V("Track index can not greater than 0 in cached mode."),!this._skeletonCache)return null;var r=this._skeletonCache.getAnimationCache(this._skeletonData.uuid,e);r||(r=this._skeletonCache.initAnimationCache(this.skeletonData.uuid,this._skeletonData,e)),r&&(this._animationName=e,this._isAniComplete=!1,this._accTime=0,this._playCount=0,this._animCache=r,this._socketNodes.size>0&&this._animCache.enableCacheAttachedInfo(),this._animCache.updateToFrame(0),this._curFrame=this._animCache.frames[0])}else this._animationName=e,n=this._instance.setAnimation(t,e,i);return this.markForUpdateRenderData(),n},i.addAnimation=function(t,e,i,n){if(n=n||0,this.isAnimationCached())return 0!==t&&V("Track index can not greater than 0 in cached mode."),this._animationQueue.push({animationName:e,loop:i,delay:n}),null;if(this._skeleton){var r,s=this._skeleton.data.findAnimation(e);return s?null===(r=this._state)||void 0===r?void 0:r.addAnimationWith(t,s,i,n):(q(7510,e),null)}return null},i.findAnimation=function(t){return this._skeleton?this._skeleton.data.findAnimation(t):null},i.getCurrent=function(t){if(this.isAnimationCached())V("'getCurrent' interface can not be invoked in cached mode.");else if(this._state)return this._state.getCurrent(t);return null},i.setSkin=function(t){this._skeleton&&this._skeleton.setSkinByName(t),this._instance.setSkin(t),this.isAnimationCached()&&this._animCache&&this._animCache.setSkin(t),this.invalidAnimationCache()},i.updateAnimation=function(t){if(this.markForUpdateRenderData(),!this.paused)if(t*=1*this._timeScale,this.isAnimationCached()){if(this._isAniComplete){var e;if(0===this._animationQueue.length&&!this._headAniInfo){var i=this._animCache;if(i&&i.isInvalid()){i.updateToFrame(0);var n=i.frames;this._curFrame=n[n.length-1]}return}if(this._headAniInfo||(this._headAniInfo=this._animationQueue.shift()),this._accTime+=t,this._accTime>(null===(e=this._headAniInfo)||void 0===e?void 0:e.delay)){var r=this._headAniInfo;this._headAniInfo=null,this.setAnimation(0,null==r?void 0:r.animationName,null==r?void 0:r.loop)}return}this._updateCache(t)}else this._instance.updateAnimation(t)},i._updateCache=function(t){var e=this._animCache;if(e.isInited()){var i=e.frames,n=_Dt.FrameTime;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;var r=Math.floor(this._accTime/n);if(e.isCompleted||e.updateToFrame(r),this._curFrame=i[r],e.isCompleted&&r>=i.length){if(this._playCount++,this._playTimes>0&&this._playCount>=this._playTimes)return this._curFrame=i[i.length-1],this._accTime=0,this._playCount=0,this._isAniComplete=!0,void this._emitCacheCompleteEvent();this._accTime=0,r=0,this._curFrame=i[r],this._emitCacheCompleteEvent()}}},i._emitCacheCompleteEvent=function(){this._listener&&(this._endEntry.animation.name=this._animationName,this._listener.complete&&this._listener.complete(this._endEntry),this._listener.end&&this._listener.end(this._endEntry))},i.updateRenderData=function(){return this.isAnimationCached()?this._curFrame?this._curFrame.model:null:this._instance.updateRenderData()},i._flushAssembler=function(){var t=e.Assembler.getAssembler(this);this._assembler!==t&&(this._assembler=t),this._skeleton&&this._assembler&&(this._renderData=this._assembler.createData(this),this.markForUpdateRenderData(),this._updateColor())},i._render=function(t){var e=0;if(this.renderData&&this._drawList.length>0){for(var i=this.renderData,n=i.chunk,r=n.vertexAccessor,s=i.getMeshBuffer(),a=s.indexOffset,o=0;o":e(t[i.parent.data.index])+"/"+i.data.name},i=0,n=t.length;i0?Array.from(this._cachedSockets.keys()).sort():[]):[]},i._updateUseTint=function(){this._cleanMaterialCache(),this.destroyRenderData(),this.isAnimationCached()||this._instance.setUseTint(this._useTint),this._assembler&&this._skeleton&&(this._renderData=this._assembler.createData(this),this.markForUpdateRenderData())},i._updateBatch=function(){this._cleanMaterialCache(),this.markForUpdateRenderData()},i._updateDebugDraw=function(){if(this.debugBones||this.debugSlots||this.debugMesh){if(!this._debugRenderer){var t=new tg("DEBUG_DRAW_NODE");t.hideFlags|=Xa.Flags.DontSave|Xa.Flags.HideInHierarchy;var e=t.addComponent(YU);e.lineWidth=1,e.strokeColor=new mn(255,0,0,255),this._debugRenderer=e,t.parent=this.node}this.isAnimationCached()?V("Debug bones or slots is invalid in cached mode"):this._instance.setDebugMode(!0)}else this._debugRenderer&&(this._debugRenderer.node.destroy(),this._debugRenderer=null,this.isAnimationCached()||this._instance&&this._instance.setDebugMode(!1))},i._updateUITransform=function(){var t=this.node._uiProps.uiTransformComp,e=this._runtimeData;if(!e)return t.setContentSize(100,100),t.anchorX=.5,void(t.anchorX=.5);var i=e.width,n=e.height;i&&n&&(t.setContentSize(i,n),0!==i&&(t.anchorX=Math.abs(e.x)/i),0!==n&&(t.anchorY=Math.abs(e.y)/n))},i._updateColor=function(){this.node._uiProps.colorDirty=!0;var t=this._color.r/255,e=this._color.g/255,i=this._color.b/255,n=this.node._uiProps.opacity;this._instance.setColor(t,e,i,n)},i.setVertexEffectDelegate=function(t){if(t){var e=null==t?void 0:t.getEffectType();if("jitter"===e){var i=null==t?void 0:t.getJitterVertexEffect();this._instance.setJitterEffect(i)}else if("swirl"===e){var n=null==t?void 0:t.getJitterVertexEffect();this._instance.setSwirlEffect(n)}}else this._instance.clearEffect()},i._ensureListener=function(){this._listener||(this._listener=new XIt)},i.setStartListener=function(t){this._ensureListener();var e=XIt.addListener(t);this._instance.setListener(e,HIt.EventType.start),this._listener.start=t},i.setInterruptListener=function(t){this._ensureListener();var e=XIt.addListener(t);this._instance.setListener(e,HIt.EventType.interrupt),this._listener.interrupt=t},i.setEndListener=function(t){this._ensureListener();var e=XIt.addListener(t);this._instance.setListener(e,HIt.EventType.end),this._listener.end=t},i.setDisposeListener=function(t){this._ensureListener();var e=XIt.addListener(t);this._instance.setListener(e,HIt.EventType.dispose),this._listener.dispose=t},i.setCompleteListener=function(t){this._ensureListener();var e=XIt.addListener(t);this._instance.setListener(e,HIt.EventType.complete),this._listener.complete=t},i.setEventListener=function(t){this._ensureListener();var e=XIt.addListener(t);this._instance.setListener(e,HIt.EventType.event),this._listener.event=t},i.setTrackStartListener=function(t,e){XIt.getListeners(t).start=e},i.setTrackInterruptListener=function(t,e){XIt.getListeners(t).interrupt=e},i.setTrackEndListener=function(t,e){XIt.getListeners(t).end=e},i.setTrackDisposeListener=function(t,e){XIt.getListeners(t).dispose=e},i.setTrackCompleteListener=function(t,e){var i=this;XIt.getListeners(t).complete=function(t){var n=Math.floor(t.trackTime/t.animationEnd),r=XIt.addListener(e);e(t,n),i._instance.setListener(r,HIt.EventType.event),i._listener.event=e}},i.setTrackEventListener=function(t,e){XIt.getListeners(t).event=e},i.getDebugShapes=function(){return this._instance.getDebugShapes()},i.setSlotTexture=function(t,e,i){if(this.isAnimationCached())U("Cached mode can't change texture of slot");else if(this.findSlot(t)){var n=e.width,r=e.height,s=i||!1;this._instance.resizeSlotRegion(t,n,r,s),this._slotTextures||(this._slotTextures=new Map);var a=0;this._slotTextures.forEach((function(t,i){t===e&&(a=i)})),0===a&&(a=++QDt,this._slotTextures.set(a,e)),this._instance.setSlotTexture(t,a)}else U("No slot named:"+t)},n(e,[{key:"drawList",get:function(){return this._drawList}},{key:"skeletonData",get:function(){return this._skeletonData},set:function(t){t&&t.resetEnums(),this._skeletonData!==t&&(this.destroyRenderData(),this._skeletonData=t,this.defaultSkin="",this.defaultAnimation="",this._animationName="",this._skinName="",this._updateSkeletonData(),this._updateUITransform())}},{key:"_defaultSkinIndex",get:function(){if(this.skeletonData){var t=this.skeletonData.getSkinsEnum();if(t)if(""===this.defaultSkin){if(t.hasOwnProperty(0))return this._defaultSkinIndex=0,0}else{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){var i=e[t];void 0!==i?(this.defaultSkin=String(i),this.setSkin(this.defaultSkin),this._refreshInspector(),this.markForUpdateRenderData()):U(this.name+" skin enums are invalid")}else U(this.name+" skin enums are invalid")}},{key:"_animationIndex",get:function(){var t=this.animation;if(this.skeletonData)if(t){var e=this.skeletonData.getAnimsEnum();if(e){var i=e[t];if(void 0!==i)return i}}else this._refreshInspector();return 0},set:function(t){var e;if(this.skeletonData&&(e=this.skeletonData.getAnimsEnum()),e){var i=String(e[t]);void 0!==i?(this.animation=i,this.animation=i):U(this.name+" animation enums are invalid")}else U(this.name+" animation enums are invalid")}},{key:"defaultCacheMode",get:function(){return this._defaultCacheMode},set:function(t){this._defaultCacheMode=t,this.setAnimationCacheMode(this._defaultCacheMode)}},{key:"premultipliedAlpha",get:function(){return this._premultipliedAlpha},set:function(t){t!==this._premultipliedAlpha&&(this._premultipliedAlpha=t,this._instance.setPremultipliedAlpha(t),this.markForUpdateRenderData())}},{key:"timeScale",get:function(){return this._timeScale},set:function(t){t!==this._timeScale&&(this._timeScale=t)}},{key:"useTint",get:function(){return this._useTint},set:function(t){t!==this._useTint&&(this._useTint=t,this._updateUseTint())}},{key:"enableBatch",get:function(){return this._enableBatch},set:function(t){t!==this._enableBatch&&(this._enableBatch=t,this._updateBatch())}},{key:"sockets",get:function(){return this._sockets},set:function(t){this._sockets=t,this._updateSocketBindings(),this.syncAttachedNode()}},{key:"debugSlots",get:function(){return this._debugSlots},set:function(t){t!==this._debugSlots&&(this._debugSlots=t,this._updateDebugDraw(),this.markForUpdateRenderData())}},{key:"debugBones",get:function(){return this._debugBones},set:function(t){t!==this._debugBones&&(this._debugBones=t,this._updateDebugDraw(),this.markForUpdateRenderData())}},{key:"debugMesh",get:function(){return this._debugMesh},set:function(t){t!==this._debugMesh&&(this._debugMesh=t,this._updateDebugDraw(),this.markForUpdateRenderData())}},{key:"socketNodes",get:function(){return this._socketNodes}},{key:"animation",get:function(){return this._animationName},set:function(t){t?this.setAnimation(0,t,this.loop):this.clearAnimation()}},{key:"customMaterial",get:function(){return this._customMaterial},set:function(t){this._customMaterial=t,this.updateMaterial(),this.markForUpdateRenderData()}}]),e}(bG)).SpineSocket=$Dt,XDt.AnimationCacheMode=jDt,DDt=Us((IDt=XDt).prototype,"_skeletonData",[sa],(function(){return null})),BDt=Us(IDt.prototype,"defaultSkin",[sa],(function(){return""})),MDt=Us(IDt.prototype,"defaultAnimation",[sa],(function(){return""})),PDt=Us(IDt.prototype,"_premultipliedAlpha",[sa],(function(){return!0})),ODt=Us(IDt.prototype,"_timeScale",[sa],(function(){return 1})),LDt=Us(IDt.prototype,"_preCacheMode",[sa],(function(){return jDt.UNSET})),FDt=Us(IDt.prototype,"_cacheMode",[sa],(function(){return jDt.REALTIME})),NDt=Us(IDt.prototype,"_defaultCacheMode",[sa],(function(){return jDt.REALTIME})),kDt=Us(IDt.prototype,"_sockets",[sa],(function(){return[]})),GDt=Us(IDt.prototype,"_useTint",[sa],(function(){return!1})),VDt=Us(IDt.prototype,"_debugMesh",[sa],(function(){return!1})),UDt=Us(IDt.prototype,"_debugBones",[sa],(function(){return!1})),zDt=Us(IDt.prototype,"_debugSlots",[sa],(function(){return!1})),HDt=Us(IDt.prototype,"_enableBatch",[sa],(function(){return!1})),p(IDt.prototype,"skeletonData",[ADt],Object.getOwnPropertyDescriptor(IDt.prototype,"skeletonData"),IDt.prototype),p(IDt.prototype,"_defaultSkinIndex",[bDt],Object.getOwnPropertyDescriptor(IDt.prototype,"_defaultSkinIndex"),IDt.prototype),p(IDt.prototype,"_animationIndex",[EDt],Object.getOwnPropertyDescriptor(IDt.prototype,"_animationIndex"),IDt.prototype),p(IDt.prototype,"defaultCacheMode",[CDt],Object.getOwnPropertyDescriptor(IDt.prototype,"defaultCacheMode"),IDt.prototype),WDt=Us(IDt.prototype,"loop",[sa],(function(){return!0})),p(IDt.prototype,"sockets",[xDt],Object.getOwnPropertyDescriptor(IDt.prototype,"sockets"),IDt.prototype),p(IDt.prototype,"customMaterial",[Da,wDt],Object.getOwnPropertyDescriptor(IDt.prototype,"customMaterial"),IDt.prototype),RDt=IDt))||RDt);v.internal.SpineSkeleton=tBt;var eBt,iBt,nBt,rBt,sBt=function(){function t(){this.name="sp.VertexEffectDelegate",this._vertexEffect=void 0,this._interpolation=void 0,this._effectType=void 0,this._vertexEffect=null,this._interpolation=null,this._effectType="none"}var e=t.prototype;return e.clear=function(){this._vertexEffect=null,this._interpolation=null,this._effectType="none"},e.initJitter=function(t,e){return this._effectType="jitter",this._vertexEffect=new HIt.JitterEffect(t,e),this._vertexEffect},e.initSwirlWithPow=function(t,e){return this._effectType="swirl",this._interpolation=new HIt.Pow(e),this._vertexEffect=new HIt.SwirlEffect(t,this._interpolation),this._vertexEffect},e.initSwirlWithPowOut=function(t,e){return this._effectType="swirl",this._interpolation=new HIt.PowOut(e),this._vertexEffect=new HIt.SwirlEffect(t,this._interpolation),this._vertexEffect},e.getJitterVertexEffect=function(){return this._vertexEffect},e.getSwirlVertexEffect=function(){return this._vertexEffect},e.getVertexEffect=function(){return this._vertexEffect},e.getEffectType=function(){return this._effectType},t}(),aBt=new mn(0,0,255,255),oBt=new mn(255,0,0,255),hBt=new mn(0,255,0,255),uBt=new mn(255,255,0,255),lBt=null,cBt=null,_Bt=!1,fBt=!1,dBt=mk(_k),pBt=mk(dk);function mBt(t,e){var i,n;switch(t){case 1:i=_Bt?lc.ONE:lc.SRC_ALPHA,n=lc.ONE;break;case 2:i=lc.DST_COLOR,n=lc.ONE_MINUS_SRC_ALPHA;break;case 3:i=lc.ONE,n=lc.ONE_MINUS_SRC_COLOR;break;case 0:default:i=_Bt?lc.ONE:lc.SRC_ALPHA,n=lc.ONE_MINUS_SRC_ALPHA}return e.getMaterialForBlendAndTint(i,n,fBt?KDt.TWO_COLORED:KDt.COLORED_TEXTURED)}var gBt={fillBuffers:function(){},updateColor:function(){},vCount:32767,ensureAccessor:function(t){var e=t?cBt:lBt;if(!e){var i=dF.root.device,n=dF.root.batcher2D,r=t?dk:_k;t?(e=cBt=new Ck(i,r,this.vCount),n.registerBufferAccessor(Number.parseInt("SPINETINT",36),cBt)):(e=lBt=new Ck(i,r,this.vCount),n.registerBufferAccessor(Number.parseInt("SPINE",36),lBt))}return e},createData:function(t){var e=t.renderData;if(!e){var i=t.useTint||t.isAnimationCached(),n=this.ensureAccessor(i);e=Kk.add(i?dk:_k,n)}return e},updateRenderData:function(t){t._skeleton&&function(t){if(t.drawList.reset(),0!==t.color.a){t._updateColor(),_Bt=t.premultipliedAlpha,fBt=t.useTint||t.isAnimationCached(),t.isAnimationCached()?function(t){var e=t.updateRenderData();if(e){var i=e.vCount,n=e.iCount,r=t.renderData;if(r.vertexCount===i&&r.indexCount===n||(r.resize(i,n),r.indices=new Uint16Array(n)),!(i<1||n<1)){var s=r.chunk.vb,a=new Uint8Array(s.buffer,s.byteOffset,Float32Array.BYTES_PER_ELEMENT*s.length);a.set(e.vData);var o=t.color;if(4294967295!==o._val||_Bt){eBt=o.r/255,iBt=o.g/255,nBt=o.b/255,rBt=o.a/255;for(var h=0;h0||e.indexCount>0)&&i.getMeshBuffer(e.chunk.bufferId).setDirty()}}(t)}};v.internal.SpineAssembler=gBt;var yBt,vBt,SBt={getAssembler:function(){return gBt}};tBt.Assembler=SBt,function(t){t[t.REGION=0]="REGION",t[t.BOUNDING_BOX=1]="BOUNDING_BOX",t[t.MESH=2]="MESH",t[t.SKINNED_MESH=3]="SKINNED_MESH"}(yBt||(yBt={})),Ae(yBt),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"}(vBt||(vBt={})),Ae(vBt),t("gb",Object.freeze({__proto__:null,spine:HIt,get ATTACHMENT_TYPE(){return yBt},get AnimationEventType(){return vBt},timeScale:1,get AnimationCacheMode(){return jDt},get DefaultSkinsEnum(){return YDt},get DefaultAnimsEnum(){return qDt},get SpineMaterialType(){return KDt},SpineSocket:$Dt,Skeleton:tBt,SkeletonData:fDt,VertexEffectDelegate:sBt,simpleSpineAssembler:SBt})),t("gc",function(){function t(t,e){this.data=new Uint16Array,this.w=0,this.h=0,this.w=t,this.h=e,this.data=new Uint16Array(t*e);for(var i=0;i>t,n=0;if(t<3&&(i-=2,n=e*_Mt+e),0!==i&&0!==i){var r=i*i*6;this._bodyIndexPool[t].indices=new Uint16Array(r);for(var s=0,a=new Uint16Array(r),o=n,h=o+_Mt*e,u=0;u>e,o=0,h=new Uint16Array(2*a+2);h[o++]=0,h[o++]=0;for(var u=1;u>e,o=0,h=new Uint16Array(2*a+2);h[o++]=1056,h[o++]=1056;for(var u=1;u>e,o=0,h=new Uint16Array(2*a+2);h[o++]=0,h[o++]=0;for(var u=1;u>e,o=0,h=new Uint16Array(2*a+2);h[o++]=32,h[o++]=32;for(var u=1;u0&&(this._brushPass=n.passes[0],this._currentMaterial.passes.push(this._brushPass),n.passes.pop())}return e&&this._model.initSubModel(0,this._meshData,this._currentMaterial),this.setSharedMaterial(this._currentMaterial,0),this._currentMaterialLayers=i,this._model.enabled=!0,this._model.receiveShadow=t.getTerrain().receiveShadow,!0}return!1},i._updateLightingmap=function(t,e){null!=this._model&&(this._lightmap=t,this._updateReceiveDirLight(),this._model.updateLightingmap(t,e))},i._onMaterialModified=function(t,e){null!=this._model&&this._onRebuildPSO(t,e||this._getBuiltinMaterial())},i._onRebuildPSO=function(t,e){this._model&&this._model.setSubModelMaterial(t,e)},i._clearMaterials=function(){null!=this._model&&this._onMaterialModified(0,null)},i._onUpdateReceiveDirLight=function(t,e){void 0===e&&(e=!1),this._model&&(e?this._model.receiveDirLight=!1:this.node&&(t&this.node.layer)===this.node.layer||t&this._model.visFlags?this._model.receiveDirLight=!0:this._model.receiveDirLight=!1)},i._updateReceiveDirLight=function(){var t=this.node.scene;if(t&&t.renderScene){var e=t.renderScene.mainLight;if(e){var i=e.visibility;e.node&&(e.node.mobility===Rm.Static&&this._lightmap?this._onUpdateReceiveDirLight(i,!0):this._onUpdateReceiveDirLight(i))}}},i._getBuiltinMaterial=function(){return hT.get("missing-material")},e}(cW),TMt=t("gf",Js("cc.TerrainBlockLightmapInfo")((LBt=function(){this.texture=FBt&&FBt(),this.UOff=NBt&&NBt(),this.VOff=kBt&&kBt(),this.UScale=GBt&&GBt(),this.VScale=VBt&&VBt()},FBt=Us(LBt.prototype,"texture",[sa],(function(){return null})),NBt=Us(LBt.prototype,"UOff",[sa],(function(){return 0})),kBt=Us(LBt.prototype,"VOff",[sa],(function(){return 0})),GBt=Us(LBt.prototype,"UScale",[sa],(function(){return 0})),VBt=Us(LBt.prototype,"VScale",[sa],(function(){return 0})),OBt=LBt))||OBt),AMt=t("gg",function(){function t(t,e,i){this._terrain=void 0,this._node=void 0,this._renderable=void 0,this._index=[1,1],this._weightMap=null,this._lightmapInfo=null,this._lodLevel=0,this._lodKey=new dMt,this._errorMetrics=[0,0,0,0],this._LevelDistances=[fMt,fMt,fMt,fMt],this._bbMin=new un,this._bbMax=new un,this._terrain=t,this._index[0]=e,this._index[1]=i,this._lightmapInfo=t._getLightmapInfo(e,i),this._node=new tg("TerrainBlock"),this._node.setParent(this._terrain.node),this._node.hideFlags|=Xa.Flags.DontSave|Xa.Flags.HideInHierarchy,this._node.layer=this._terrain.node.layer,this._renderable=this._node.addComponent(SMt)}var e=t.prototype;return e.build=function(){var t=dF.root.device,e=new Float32Array(Ybt*jbt*jbt);this._buildVertexData(e);var i=t.createBuffer(new Jc(Jl.VERTEX|Jl.TRANSFER_DST,$l.DEVICE,Ybt*Float32Array.BYTES_PER_ELEMENT*jbt*jbt,Ybt*Float32Array.BYTES_PER_ELEMENT));i.update(e),this._buildBoundingBox();var n=[new f_(Pc.ATTR_POSITION,Yl.RGB32F),new f_(Pc.ATTR_NORMAL,Yl.RGB32F),new f_(Pc.ATTR_TEX_COORD,Yl.RG32F)];this._renderable._meshData=new PR([i],n,vc.TRIANGLE_LIST,this._terrain._getSharedIndexBuffer(),null,!1),this._renderable._model=v.director.root.createModel(xO),this._renderable._model.createBoundingShape(this._bbMin,this._bbMax),this._renderable._model.node=this._renderable._model.transform=this._node,null!=this._renderable.node.scene&&(this.visible=!0),this._updateWeightMap(),this._updateMaterial(!0),this._terrain.lodEnable&&(this._updateLodBuffer(e),this._updateIndexBuffer())},e.rebuild=function(){this._updateHeight(),this._updateWeightMap(),this._renderable._invalidMaterial(),this._updateMaterial(!1)},e.destroy=function(){this.visible=!1,this._renderable._destroyModel(),null!=this._node&&this._node.isValid&&this._node.destroy(),null!=this._weightMap&&this._weightMap.destroy()},e.update=function(){this._updateMaterial(!1),this.lightmap!==this._renderable._lightmap&&this._renderable._updateLightingmap(this.lightmap,this.lightmapUVParam);var t=this._terrain.useNormalMap,e=this._terrain.usePBR,i=function(t){return null!==t?t.detailMap:null},n=function(t){var e=null!==t?t.normalMap:null;return null===e&&(e=hT.get("normal-texture")),e},r=this._renderable._currentMaterial;if(null!==r){var s=this.getMaxLayer(),a=new rn(1,1,1,1),o=new rn(1,1,1,1),h=new rn(0,0,0,0);if(0===s)if(-1!==this.layers[0]){var u=this._terrain.getLayer(this.layers[0]);null!==u&&(a.x=1/u.tileSize,o.x=u.roughness,h.x=u.metallic),r.setProperty("detailMap0",i(u)),t&&r.setProperty("normalMap0",n(u))}else r.setProperty("detailMap0",hT.get("default-texture")),t&&r.setProperty("normalMap0",hT.get("normal-texture"));else if(1===s){var l=this._terrain.getLayer(this.layers[0]),c=this._terrain.getLayer(this.layers[1]);null!==l&&(a.x=1/l.tileSize,o.x=l.roughness,h.x=l.metallic),null!==c&&(a.y=1/c.tileSize,o.y=c.roughness,h.y=c.metallic),r.setProperty("weightMap",this._weightMap),r.setProperty("detailMap0",i(l)),r.setProperty("detailMap1",i(c)),t&&(r.setProperty("normalMap0",n(l)),r.setProperty("normalMap1",n(c)))}else if(2===s){var _=this._terrain.getLayer(this.layers[0]),f=this._terrain.getLayer(this.layers[1]),d=this._terrain.getLayer(this.layers[2]);null!==_&&(a.x=1/_.tileSize,o.x=_.roughness,h.x=_.metallic),null!==f&&(a.y=1/f.tileSize,o.y=f.roughness,h.y=f.metallic),null!==d&&(a.z=1/d.tileSize,o.z=d.roughness,h.z=d.metallic),r.setProperty("weightMap",this._weightMap),r.setProperty("detailMap0",i(_)),r.setProperty("detailMap1",i(f)),r.setProperty("detailMap2",i(d)),t&&(r.setProperty("normalMap0",n(_)),r.setProperty("normalMap1",n(f)),r.setProperty("normalMap2",n(d)))}else if(3===s){var p=this._terrain.getLayer(this.layers[0]),m=this._terrain.getLayer(this.layers[1]),g=this._terrain.getLayer(this.layers[2]),y=this._terrain.getLayer(this.layers[3]);null!==p&&(a.x=1/p.tileSize,o.x=p.roughness,h.x=p.metallic),null!==m&&(a.y=1/m.tileSize,o.y=m.roughness,h.y=m.metallic),null!==g&&(a.z=1/g.tileSize,o.z=g.roughness,h.z=g.metallic),null!==y&&(a.w=1/y.tileSize,o.w=y.roughness,h.w=y.metallic),r.setProperty("weightMap",this._weightMap),r.setProperty("detailMap0",i(p)),r.setProperty("detailMap1",i(m)),r.setProperty("detailMap2",i(g)),r.setProperty("detailMap3",i(y)),t&&(r.setProperty("normalMap0",n(p)),r.setProperty("normalMap1",n(m)),r.setProperty("normalMap2",n(g)),r.setProperty("normalMap3",n(y)))}r.setProperty("UVScale",a),e&&(r.setProperty("roughness",o),r.setProperty("metallic",h))}},e._buildLodInfo=function(){var t=new Float32Array(Ybt*jbt*jbt);this._buildVertexData(t),this._updateLodBuffer(t),this._updateIndexBuffer()},e._updateLevel=function(t){var e=new un,i=new un;un.add(e,this._bbMin,this._terrain.node.getWorldPosition()),un.add(i,this._bbMax,this._terrain.node.getWorldPosition());var n=un.distance(e,t),r=un.distance(i,t),s=Math.min(n,r);for(s-=this._terrain.LodBias,this._lodLevel=0;this._lodLevel<3&&!(s<=this._LevelDistances[this._lodLevel+1]);)++this._lodLevel},e.setBrushMaterial=function(t){this._renderable._brushMaterial!==t&&(this._renderable._invalidMaterial(),this._renderable._brushMaterial=t)},e._getBrushMaterial=function(){return this._renderable?this._renderable._brushMaterial:null},e._getBrushPass=function(){return this._renderable?this._renderable._brushPass:null},e.getTerrain=function(){return this._terrain},e.getIndex=function(){return this._index},e.getRect=function(){var t=new Wn;return t.x=this._index[0]*Xbt,t.y=this._index[1]*Xbt,t.width=Xbt,t.height=Xbt,t},e.setLayer=function(t,e){this.layers[t]!==e&&(this._terrain.setBlockLayer(this._index[0],this._index[1],t,e),this._renderable._invalidMaterial(),this._updateMaterial(!1))},e.getLayer=function(t){return this.layers[t]},e.getMaxLayer=function(){return this.layers[3]>=0?3:this.layers[2]>=0?2:this.layers[1]>=0?1:0},e._getMaterialDefines=function(t){var e=1;return this._terrain.node&&this._terrain.node.scene&&this._terrain.node.scene.globals.bakedWithStationaryMainLight&&(e=2),{LAYERS:t+1,CC_USE_LIGHTMAP:null!==this.lightmap?e:0,USE_NORMALMAP:this._terrain.useNormalMap?1:0,USE_PBR:this._terrain.usePBR?1:0}},e._invalidMaterial=function(){this._renderable._invalidMaterial()},e._updateMaterial=function(t){this._renderable._updateMaterial(this,t)&&(null!==this.lightmap&&this.lightmap.setWrapMode(_d.CLAMP_TO_BORDER,_d.CLAMP_TO_BORDER),this._renderable._updateLightingmap(this.lightmap,this.lightmapUVParam))},e._updateHeight=function(){if(null!=this._renderable._meshData){var t=new Float32Array(Ybt*jbt*jbt);this._buildVertexData(t),this._renderable._meshData.vertexBuffers[0].update(t),this._buildBoundingBox(),this._renderable._model.createBoundingShape(this._bbMin,this._bbMax),this._renderable._model.updateWorldBound(),this._updateLodBuffer(t),this._updateIndexBuffer()}},e._updateWeightMap=function(){if(0!==this.getMaxLayer()){null==this._weightMap&&(this._weightMap=new im,this._weightMap.create(this._terrain.weightMapSize,this._terrain.weightMapSize,cd.RGBA8888),this._weightMap.setFilters(fd.LINEAR,fd.LINEAR),this._weightMap.setWrapMode(_d.CLAMP_TO_EDGE,_d.CLAMP_TO_EDGE));for(var t=new Uint8Array(this._terrain.weightMapSize*this._terrain.weightMapSize*4),e=0,i=0;i0){var e=this.getTerrain().getBlock(this._index[0]-1,this._index[1]);t.west=e._lodLevel,t.west0){var n=this.getTerrain().getBlock(this._index[0],this._index[1]-1);t.north=n._lodLevel,t.north>t,o=s-1>>t,h=0;hthis.vertexCount[0]-1||s<0||s>this.vertexCount[1]-1)return null;r=Di(r,0,this.vertexCount[0]-1),s=Di(s,0,this.vertexCount[1]-1),a=Di(a,0,this.vertexCount[0]-1),o=Di(o,0,this.vertexCount[1]-1);var l=this.getHeight(r,s),c=this.getHeight(a,s),_=this.getHeight(r,o),f=this.getHeight(a,o),d=.5*(c+_);return h+u<=1?f=d+(d-l):l=d+(d-f),(l*(1-h)+c*h)*(1-u)+(_*(1-h)+f*h)*u},i._setNormal=function(t,e,i){var n=e*this.vertexCount[0]+t;this._normals[3*n+0]=i.x,this._normals[3*n+1]=i.y,this._normals[3*n+2]=i.z},i.getNormal=function(t,e){var i=e*this.vertexCount[0]+t,n=new un;return n.x=this._normals[3*i+0],n.y=this._normals[3*i+1],n.z=this._normals[3*i+2],n},i.getNormalAt=function(t,e){var i=t/this.tileSize,n=e/this.tileSize,r=Math.floor(i),s=Math.floor(n),a=r+1,o=s+1,h=i-r,u=n-s;if(r<0||r>this.vertexCount[0]-1||s<0||s>this.vertexCount[1]-1)return null;r=Di(r,0,this.vertexCount[0]-1),s=Di(s,0,this.vertexCount[1]-1),a=Di(a,0,this.vertexCount[0]-1),o=Di(o,0,this.vertexCount[1]-1);var l=this.getNormal(r,s),c=this.getNormal(a,s),_=this.getNormal(r,o),f=this.getNormal(a,o),d=new un;un.add(d,c,_).multiplyScalar(.5),h+u<=1?(f.set(d),f.subtract(l),f.add(d)):(l.set(d),l.subtract(f),l.add(d));var p=new un,m=new un,g=new un;return un.lerp(p,l,c,h),un.lerp(m,_,f,h),un.lerp(g,p,m,u),g},i.setWeight=function(t,e,i){var n=e*this._weightMapSize*this._blockCount[0]+t;this._weights[4*n+0]=255*i.x,this._weights[4*n+1]=255*i.y,this._weights[4*n+2]=255*i.z,this._weights[4*n+3]=255*i.w},i.getWeight=function(t,e){var i=e*this._weightMapSize*this._blockCount[0]+t,n=new rn;return n.x=this._weights[4*i+0]/255,n.y=this._weights[4*i+1]/255,n.z=this._weights[4*i+2]/255,n.w=this._weights[4*i+3]/255,n},i.getWeightAt=function(t,e){var i=this.weightMapSize*this.blockCount[0],n=this.weightMapSize*this.blockCount[1];if(0===i||0===n)return null;var r=t/i,s=e/n,a=Math.floor(r),o=Math.floor(s),h=a+1,u=o+1,l=r-a,c=s-o;if(a<0||a>i-1||o<0||o>n-1)return null;a=Di(a,0,i-1),o=Di(o,0,n-1),h=Di(h,0,i-1),u=Di(u,0,n-1);var _=this.getWeight(a,o),f=this.getWeight(h,o),d=this.getWeight(a,u),p=this.getWeight(h,u),m=new rn;rn.add(m,f,d).multiplyScalar(.5),l+c<=1?(p=new rn,rn.subtract(p,m,_).add(m)):(_=new rn,rn.subtract(_,m,p).add(m));var g=new rn,y=new rn,v=new rn;return rn.lerp(g,_,f,l),rn.lerp(y,d,p,l),rn.lerp(v,g,y,c),v},i.getMaxWeightLayerAt=function(t,e){var i=this.weightMapSize*this.blockCount[0],n=this.weightMapSize*this.blockCount[1];if(0===i||0===n)return null;var r=t/i,s=e/n,a=Math.floor(r),o=Math.floor(s);if(a<0||a>i-1||o<0||o>n-1)return null;var h=this.getWeight(a,o),u=Math.floor(t/this.weightMapSize),l=Math.floor(e/this.weightMapSize),c=this.getBlock(u,l),_=0;return h.y>h[_]&&-1!==c.getLayer(1)&&(_=1),h.y>h[_]&&-1!==c.getLayer(2)&&(_=2),h.z>h[_]&&-1!==c.getLayer(3)&&(_=3),_=c.getLayer(_),this.getLayer(_)},i.getBlockLayers=function(t,e){var i=(e*this._blockCount[0]+t)*Hbt;return[this._layerBuffer[i],this._layerBuffer[i+1],this._layerBuffer[i+2],this._layerBuffer[i+3]]},i.getBlockLayer=function(t,e,i){var n=(e*this._blockCount[0]+t)*Hbt;return this._layerBuffer[n+i]},i.setBlockLayer=function(t,e,i,n){var r=(e*this._blockCount[0]+t)*Hbt;this._layerBuffer[r+i]=n},i.getBlock=function(t,e){return this._blocks[e*this._blockCount[0]+t]},i.getBlocks=function(){return this._blocks},i.rayCheck=function(t,e,i,n){void 0===n&&(n=!0);var r=t;n&&un.subtract(r,t,this.node.getWorldPosition());var s=new un;s.set(e),s.multiplyScalar(i);var a=null;if(e.equals(new un(0,1,0))){var o=this.getHeightAt(r.x,r.z);null!=o&&r.y<=o&&(a=new un(r.x,o,r.z))}else if(e.equals(new un(0,-1,0))){var h=this.getHeightAt(r.x,r.z);null!=h&&r.y>=h&&(a=new un(r.x,h,r.z))}else{for(var u=0;u++<2e3;){var l=this.getHeightAt(r.x,r.z);if(null!=l&&r.y<=l)break;r.add(e)}for(;u++<2e3;){var c=this.getHeightAt(r.x,r.z);if(null!=c&&r.y<=c){a=new un(r.x,c,r.z);break}r.add(s)}}return a},i._createSharedIndexBuffer=function(){var t=If.gfxDevice;if(null!==this._lod){var e=t.createBuffer(new Jc(Jl.INDEX|Jl.TRANSFER_DST,$l.DEVICE,Uint16Array.BYTES_PER_ELEMENT*this._lod._indexBuffer.length,Uint16Array.BYTES_PER_ELEMENT));return e.update(this._lod._indexBuffer),e}for(var i=new Uint16Array(Xbt*Xbt*6),n=0,r=0;r0}},{key:"info",get:function(){var t=new yMt;return t.tileSize=this.tileSize,t.blockCount[0]=this.blockCount[0],t.blockCount[1]=this.blockCount[1],t.weightMapSize=this.weightMapSize,t.lightMapSize=this.lightMapSize,t}}]),e}(hp),ZBt=Us(JBt.prototype,"__asset",[zBt,sa],(function(){return null})),QBt=Us(JBt.prototype,"_effectAsset",[HBt,sa],(function(){return null})),$Bt=Us(JBt.prototype,"_lightmapInfos",[WBt,sa],(function(){return[]})),tMt=Us(JBt.prototype,"_receiveShadow",[sa],(function(){return!1})),eMt=Us(JBt.prototype,"_useNormalmap",[sa],(function(){return!1})),iMt=Us(JBt.prototype,"_usePBR",[sa],(function(){return!1})),nMt=Us(JBt.prototype,"_lodEnable",[sa],(function(){return!1})),rMt=Us(JBt.prototype,"_lodBias",[XBt,sa],(function(){return 0})),p(JBt.prototype,"_asset",[jBt],Object.getOwnPropertyDescriptor(JBt.prototype,"_asset"),JBt.prototype),p(JBt.prototype,"effectAsset",[YBt],Object.getOwnPropertyDescriptor(JBt.prototype,"effectAsset"),JBt.prototype),p(JBt.prototype,"info",[qBt],Object.getOwnPropertyDescriptor(JBt.prototype,"info"),JBt.prototype),KBt=JBt))||KBt)||KBt)),function(t){t[t.ORTHO=0]="ORTHO",t[t.HEX=1]="HEX",t[t.ISO=2]="ISO"}(sMt||(sMt={})),Ae(sMt),function(t){t[t.NONE=0]="NONE",t[t.MAP=1]="MAP",t[t.LAYER=2]="LAYER",t[t.OBJECTGROUP=3]="OBJECTGROUP",t[t.OBJECT=4]="OBJECT",t[t.TILE=5]="TILE"}(aMt||(aMt={})),Ae(aMt),function(t){t[t.HORIZONTAL=2147483648]="HORIZONTAL",t[t.VERTICAL=1073741824]="VERTICAL",t[t.DIAGONAL=536870912]="DIAGONAL",t[t.FLIPPED_ALL=4026531840]="FLIPPED_ALL",t[t.FLIPPED_MASK=268435455]="FLIPPED_MASK"}(oMt||(oMt={})),Ae(oMt),function(t){t[t.STAGGERAXIS_X=0]="STAGGERAXIS_X",t[t.STAGGERAXIS_Y=1]="STAGGERAXIS_Y"}(hMt||(hMt={})),Ae(hMt),function(t){t[t.STAGGERINDEX_ODD=0]="STAGGERINDEX_ODD",t[t.STAGGERINDEX_EVEN=1]="STAGGERINDEX_EVEN"}(uMt||(uMt={})),Ae(uMt),function(t){t[t.RightDown=0]="RightDown",t[t.RightUp=1]="RightUp",t[t.LeftDown=2]="LeftDown",t[t.LeftUp=3]="LeftUp"}(lMt||(lMt={})),Ae(lMt),function(t){t[t.RECT=0]="RECT",t[t.ELLIPSE=1]="ELLIPSE",t[t.POLYGON=2]="POLYGON",t[t.POLYLINE=3]="POLYLINE",t[t.IMAGE=4]="IMAGE",t[t.TEXT=5]="TEXT"}(cMt||(cMt={})),Ae(cMt);var bMt=function(){function t(){this.name="",this.firstGid=0,this.spacing=0,this.margin=0,this.sourceImage=void 0,this.imageName=null,this.imageOffset=null,this.imageSize=new zn(0,0),this.tileOffset=new kn(0,0),this._tileSize=new zn(0,0),this.collection=!1}return t.prototype.rectForGID=function(t,e){var i=e||new Wn(0,0,0,0);i.width=this._tileSize.width,i.height=this._tileSize.height;var n=t;if(n&=oMt.FLIPPED_MASK,n-=this.firstGid,this.imageOffset)i.x=this.imageOffset.x,i.y=this.imageOffset.y;else{var r=Math.floor((this.imageSize.width-2*this.margin+this.spacing)/(this._tileSize.width+this.spacing));i.x=Math.round(n%r*(this._tileSize.width+this.spacing)+this.margin),i.y=Math.round(Math.floor(n/r)*(this._tileSize.height+this.spacing)+this.margin)}return i},t}(),EMt=function(){function t(){this.properties={},this.name="",this.objects=[],this.visible=!0,this.opacity=0,this.color=new mn(255,255,255,255),this.offset=new kn(0,0),this.draworder="topdown",this.tintColor=null}var e=t.prototype;return e.getProperties=function(){return this.properties},e.setProperties=function(t){this.properties=t},t}(),CMt=function(){function t(){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=new kn(0,0),this.tintColor=null}var e=t.prototype;return e.getProperties=function(){return this.properties},e.setProperties=function(t){this.properties=t},t}();CMt.ATTRIB_NONE=1,CMt.ATTRIB_BASE64=2,CMt.ATTRIB_GZIP=4,CMt.ATTRIB_ZLIB=8;var xMt=function(){this.name="",this.visible=!0,this.width=0,this.height=0,this.offset=new kn(0,0),this.opacity=0,this.trans=new mn(255,255,255,255),this.sourceImage=void 0,this.tintColor=null};function wMt(t){var e=sV.HorizontalAlign;switch(t){case"center":return e.CENTER;case"right":return e.RIGHT;default:return e.LEFT}}function RMt(t){var e=sV.VerticalAlign;switch(t){case"center":return e.CENTER;case"bottom":return e.BOTTOM;default:return e.TOP}}function IMt(t){if(!t)return new mn(0,0,0,255);if(8===(t=-1!==t.indexOf("#")?t.substring(1):t).length){var e=parseInt(t.substr(0,2),16)||255,i=parseInt(t.substr(2,2),16)||0,n=parseInt(t.substr(4,2),16)||0,r=parseInt(t.substr(6,2),16)||0;return new mn(i,n,r,e)}var s=parseInt(t.substr(0,2),16)||0,a=parseInt(t.substr(2,2),16)||0,o=parseInt(t.substr(4,2),16)||0;return new mn(s,a,o,255)}function DMt(t,e){for(var i=[],n=t.getElementsByTagName("properties"),r=0;r1,A=S[0],b=A.getAttribute("source");b=b.replace(/\\/g,"/");var E=m.getElementsByTagName("tile"),C=E&&E.length||1,x=null,w=m.getAttribute("name")||"",R=parseInt(m.getAttribute("spacing"))||0,I=parseInt(m.getAttribute("margin"))||0,D=i||parseInt(m.getAttribute("firstgid"))||0,B=new zn(0,0);B.width=parseFloat(m.getAttribute("tilewidth")),B.height=parseFloat(m.getAttribute("tileheight"));var M=m.getElementsByTagName("tileoffset")[0],P=0,O=0;M&&(P=parseFloat(M.getAttribute("x"))||0,O=parseFloat(M.getAttribute("y"))||0);for(var L=null,F=0;F0){var H=U[0],W=H.getAttribute("source");if(W=W.replace(/\\/g,"/"),L.imageName=W,L.imageSize.width=parseFloat(H.getAttribute("width"))||0,L.imageSize.height=parseFloat(H.getAttribute("height"))||0,z||(L._tileSize.width=L.imageSize.width,L._tileSize.height=L.imageSize.height),L.sourceImage=this._spriteFrameMap[W],!L.sourceImage){var X=t.getNameWithPostfix(W);if(L.imageName=X,L.sourceImage=this._spriteFrameMap[X],!L.sourceImage){var j=t.getShortName(W);L.imageName=j,L.sourceImage=this._spriteFrameMap[j],L.sourceImage||(Q(7221,W),console.warn("Please try asset type of "+W+" to 'sprite-frame'"))}}L.firstGid=this.parentGID&oMt.FLIPPED_MASK}var Y=(oMt.FLIPPED_MASK&this.parentGID)>>>0;this._tileProperties.set(Y,DMt(x));var K=x.getElementsByTagName("animation");if(K&&K.length>0){var J=K[0].getElementsByTagName("frame"),Z={frames:[],dt:0,frameIdx:0};this._tileAnimations.set(Y,Z);for(var $=Z.frames,tt=0;tt0){var f=_[0];l.type=cMt.TEXT,l.wrap="1"===f.getAttribute("wrap"),l.color=IMt(f.getAttribute("color")),l.halign=wMt(f.getAttribute("halign")),l.valign=RMt(f.getAttribute("valign")),l.pixelsize=parseInt(f.getAttribute("pixelsize"))||16,l.text=f.childNodes[0].nodeValue}var d=u.getAttribute("gid");d&&(l.gid=parseInt(d),l.type=cMt.IMAGE);var p=u.getElementsByTagName("ellipse");p&&p.length>0&&(l.type=cMt.ELLIPSE);var m=u.getElementsByTagName("polygon");if(m&&m.length>0){l.type=cMt.POLYGON;var g=m[0].getAttribute("points");g&&(l.points=this._parsePointsString(g))}var y=u.getElementsByTagName("polyline");if(y&&y.length>0){l.type=cMt.POLYLINE;var v=y[0].getAttribute("points");v&&(l.polylinePoints=this._parsePointsString(v))}l.type||(l.type=cMt.RECT),e.objects.push(l)}"index"!==a&&e.objects.sort((function(t,e){return t.y-e.y}))}return e},e._parsePointsString=function(t){if(!t)return null;for(var e=[],i=t.split(" "),n=0;n1||t.imageOffset)if(i){v._name=i.name;var b=i.unbiasUV[0],E=i.rotated?i.unbiasUV[1]:i.unbiasUV[5];v.l=b+(v.x+.5)/c,v.t=E+(v.y+.5)/_,v.r=b+(v.x+v.width-.5)/c,v.b=E+(v.y+v.height-.5)/_,v._rect=new Wn(v.x,v.y,v.width,v.height)}else v.l=v.x/c,v.t=v.y/_,v.r=(v.x+v.width)/c,v.b=(v.y+v.height)/_,v._rect=new Wn(v.x,v.y,v.width,v.height);else i.rotated?(v._rotated=!0,v._name=i.name,v._rect=i.getRect(),v.l=i.unbiasUV[0],v.t=i.unbiasUV[1],v.r=i.unbiasUV[4],v.b=i.unbiasUV[3]):(v._name=i.name,v._rect=i.getRect(),v.l=i.unbiasUV[0],v.t=i.unbiasUV[5],v.r=i.unbiasUV[2],v.b=i.unbiasUV[1]);v.cx=(v.l+v.r)/2,v.cy=(v.t+v.b)/2,e.set(A,v)}}for(var YMt,qMt,KMt,JMt,ZMt,QMt,$Mt,tPt,ePt,iPt,nPt,rPt,sPt,aPt,oPt,hPt,uPt,lPt,cPt,_Pt,fPt,dPt,pPt,mPt,gPt,yPt,vPt,SPt,TPt,APt,bPt,EPt,CPt=new Mn,xPt=new kn,wPt=new un,RPt=new un,IPt={row:0,col:0},DPt=t("gL",Js("cc.TiledUserNodeData")(zMt=function(t){function e(){var e;return(e=t.call(this)||this)._index=-1,e._row=-1,e._col=-1,e._tiledLayer=null,e}return s(e,t),e}(hp))||zMt),BPt=t("gM",Js("cc.TiledLayer")(HMt=function(t){s(i,t);var e=i.prototype;function i(){var e;return(e=t.call(this)||this)._userNodeGrid={},e._userNodeMap={},e._userNodeDirty=!1,e.tiledTiles=[],e._viewPort={x:-1,y:-1,width:-1,height:-1},e._cullingRect={leftDown:{row:-1,col:-1},rightTop:{row:-1,col:-1}},e._cullingDirty=!0,e._rightTop={row:-1,col:-1},e._layerInfo=null,e._mapInfo=null,e._topOffset=0,e._downOffset=0,e._leftOffset=0,e._rightOffset=0,e.tiles=[],e.vertices=[],e._verticesDirty=!0,e._layerName="",e._layerSize=void 0,e._minGID=void 0,e._maxGID=void 0,e._layerOrientation=null,e._opacity=void 0,e._tintColor=void 0,e.texGrids=null,e._textures=[],e._tilesets=[],e._leftDownToCenterX=0,e._leftDownToCenterY=0,e._hasTiledNodeGrid=!1,e._hasAniGrid=!1,e._animations=null,e._enableCulling=void 0,e.colorChanged=!1,e._properties=void 0,e.renderOrder=void 0,e._staggerAxis=void 0,e._staggerIndex=void 0,e._hexSideLength=void 0,e._mapTileSize=void 0,e._odd_even=void 0,e._diffX1=void 0,e._diffY1=void 0,e._useAutomaticVertexZ=void 0,e._vertexZvalue=void 0,e._offset=void 0,e._tiledDataArray=[],e._cameraNode=void 0,e._drawInfoList=[],e._tiledDataArrayIdx=0,e}return e.requestDrawInfo=function(t){return this._drawInfoList[t]||(this._drawInfoList[t]=new Rk,this._drawInfoList[t].setDrawInfoType(Sk.MIDDLEWARE)),this._drawInfoList[t]},e.hasTiledNode=function(){return this._hasTiledNodeGrid},e.hasAnimation=function(){return this._hasAniGrid},e.addUserNode=function(t){var e=t.getComponent(DPt);return e?(V("CCTiledLayer:addUserNode node has been added"),!1):(e=t.addComponent(DPt),t.parent=this.node,this._userNodeMap[t.uuid]=e,e._row=-1,e._col=-1,e._tiledLayer=this,this._nodeLocalPosToLayerPos(t.getPosition(),xPt),this._positionToRowCol(xPt.x,xPt.y,IPt),this._addUserNodeToGrid(e,IPt),this._updateCullingOffsetByUserNode(t),t.on(lm.TRANSFORM_CHANGED,this._userNodePosChange,e),t.on(lm.SIZE_CHANGED,this._userNodeSizeChange,e),!0)},e.removeUserNode=function(t){var e=t.getComponent(DPt);return e?(t.off(lm.TRANSFORM_CHANGED,this._userNodePosChange,e),t.off(lm.SIZE_CHANGED,this._userNodeSizeChange,e),this._removeUserNodeFromGrid(e),delete this._userNodeMap[t.uuid],t._removeComponent(e),e.destroy(),t.removeFromParent(),!0):(V("CCTiledLayer:removeUserNode node is not exist"),!1)},e.destroyUserNode=function(t){this.removeUserNode(t),t.destroy()},e._nodeLocalPosToLayerPos=function(t,e){e.x=t.x+this._leftDownToCenterX,e.y=t.y+this._leftDownToCenterY},e.getNodesByRowCol=function(t,e){var i=this._userNodeGrid[t];return i?i[e]:null},e.getNodesCountByRow=function(t){var e=this._userNodeGrid[t];return e?e.count:0},e._updateAllUserNode=function(){for(var t in this._userNodeGrid={},this._userNodeMap){var e=this._userNodeMap[t];this._nodeLocalPosToLayerPos(e.node.getPosition(),xPt),this._positionToRowCol(xPt.x,xPt.y,IPt),this._addUserNodeToGrid(e,IPt),this._updateCullingOffsetByUserNode(e.node)}},e._updateCullingOffsetByUserNode=function(t){var e=t._uiProps.uiTransformComp.contentSize;this._topOffsetthis._rightTop.row&&(t.row=this._rightTop.row),i<0&&(t.col=0),i>this._rightTop.col&&(t.col=this._rightTop.col)},e._addUserNodeToGrid=function(t,e){var i=e.row,n=e.col,r=this._userNodeGrid[i]=this._userNodeGrid[i]||{count:0},s=r[n]=r[n]||{count:0,list:[]};t._row=i,t._col=n,t._index=s.list.length,r.count++,s.count++,s.list.push(t),this._userNodeDirty=!0},e.isUserNodeDirty=function(){return this._userNodeDirty},e.setUserNodeDirty=function(t){this._userNodeDirty=t},e._reinstallCamera=function(){var t=dF.root.batcher2D.getFirstRenderCamera(this.node),e=null==t?void 0:t.node;return this._cameraNode!==e&&(this._uninstallCamera(),e&&(e.on(lm.TRANSFORM_CHANGED,this.updateCulling,this),e.on(lm.SIZE_CHANGED,this.updateCulling,this),this._cameraNode=e)),t},e._uninstallCamera=function(){this._cameraNode&&(this._cameraNode.off(lm.TRANSFORM_CHANGED,this.updateCulling,this),this._cameraNode.off(lm.SIZE_CHANGED,this.updateCulling,this),delete this._cameraNode)},e.onEnable=function(){t.prototype.onEnable.call(this),this.node.on(lm.ANCHOR_CHANGED,this._syncAnchorPoint,this),this.node.on(lm.TRANSFORM_CHANGED,this.updateCulling,this),this.node.on(lm.SIZE_CHANGED,this.updateCulling,this),this.node.parent.on(lm.TRANSFORM_CHANGED,this.updateCulling,this),this.node.parent.on(lm.SIZE_CHANGED,this.updateCulling,this),this.markForUpdateRenderData(),this.scheduleOnce(this.updateCulling.bind(this))},e.onDisable=function(){var e,i;t.prototype.onDisable.call(this),null===(e=this.node.parent)||void 0===e||e.off(lm.SIZE_CHANGED,this.updateCulling,this),null===(i=this.node.parent)||void 0===i||i.off(lm.TRANSFORM_CHANGED,this.updateCulling,this),this.node.off(lm.SIZE_CHANGED,this.updateCulling,this),this.node.off(lm.TRANSFORM_CHANGED,this.updateCulling,this),this.node.off(lm.ANCHOR_CHANGED,this._syncAnchorPoint,this),this._uninstallCamera()},e._syncAnchorPoint=function(){var t=this.node,e=t._uiProps.uiTransformComp,i=t.getScale();this._leftDownToCenterX=e.width*e.anchorX*i.x,this._leftDownToCenterY=e.height*e.anchorY*i.y,this._cullingDirty=!0,this.markForUpdateRenderData()},e.getLayerName=function(){return this._layerName},e.setLayerName=function(t){this._layerName=t},e.getProperty=function(t){return this._properties[t]},e.getPositionAt=function(t,e){var i;switch(void 0!==e?(i=Math.floor(t),e=Math.floor(e)):(i=Math.floor(t.x),e=Math.floor(t.y)),this._layerOrientation){case sMt.ORTHO:return this._positionForOrthoAt(i,e);case sMt.ISO:return this._positionForIsoAt(i,e);case sMt.HEX:return this._positionForHexAt(i,e)}return null},e.isInvalidPosition=function(t,e){return t>=this._layerSize.width||e>=this._layerSize.height||t<0||e<0},e._positionForIsoAt=function(t,e){var i=0,n=0,r=Math.floor(t)+Math.floor(e)*this._layerSize.width,s=this.tiles[r];if(s){var a=(s&oMt.FLIPPED_MASK)>>>0,o=this.texGrids.get(a).tileset.tileOffset;i=o.x,n=o.y}return new kn(.5*this._mapTileSize.width*(this._layerSize.height+t-e-1)+i,.5*this._mapTileSize.height*(this._layerSize.width-t+this._layerSize.height-e-2)-n)},e._positionForOrthoAt=function(t,e){var i=0,n=0,r=Math.floor(t)+Math.floor(e)*this._layerSize.width,s=this.tiles[r];if(s){var a=(s&oMt.FLIPPED_MASK)>>>0,o=this.texGrids.get(a).tileset.tileOffset;i=o.x,n=o.y}return new kn(t*this._mapTileSize.width+i,(this._layerSize.height-e-1)*this._mapTileSize.height-n)},e._positionForHexAt=function(t,e){var i,n=this._mapTileSize.width,r=this._mapTileSize.height,s=this._layerSize.height,a=Math.floor(t)+Math.floor(e)*this._layerSize.width,o=(this.tiles[a]&oMt.FLIPPED_MASK)>>>0;i=this.texGrids.get(o)?this.texGrids.get(o).tileset.tileOffset:{x:0,y:0};var h=this._staggerIndex===uMt.STAGGERINDEX_ODD?1:-1,u=0,l=0,c=0,_=0;switch(this._staggerAxis){case hMt.STAGGERAXIS_Y:c=0,e%2==1&&(c=n/2*h),u=t*n+c+i.x,l=(s-e-1)*(r-(r-this._hexSideLength)/2)-i.y;break;case hMt.STAGGERAXIS_X:_=0,t%2==1&&(_=r/2*-h),u=t*(n-(n-this._hexSideLength)/2)+i.x,l=(s-e-1)*r+_-i.y}return new kn(u,l)},e.setTilesGIDAt=function(t,e,i,n){if(t&&0!==t.length&&!(n<=0)){i<0&&(i=0),e<0&&(e=0);for(var r=0,s=e+n,a=i;;a++)for(var o=e;o=t.length)return;this._updateTileForGID(t[r],o,a),r++}}},e.setTileGIDAt=function(t,e,i,n){var r=(t&oMt.FLIPPED_MASK)>>>0;if(e=Math.floor(e),i=Math.floor(i),this.isInvalidPosition(e,i))throw new Error("cc.TiledLayer.setTileGIDAt(): invalid position");this.tiles&&this._tilesets&&0!==this._tilesets.length?0!==r&&r>>0,e,i)):q(7238)},e._updateTileForGID=function(t,e,i){var n=0|e+i*this._layerSize.width;if(!(n>=this.tiles.length)&&t!==this.tiles[n]){var r=(t&oMt.FLIPPED_MASK)>>>0;this.texGrids.get(r)?(this.tiles[n]=t,this._updateVertex(e,i)):this.tiles[n]=0,this._cullingDirty=!0}},e.getTileGIDAt=function(t,e){if(this.isInvalidPosition(t,e))throw new Error("cc.TiledLayer.getTileGIDAt(): invalid position");if(!this.tiles)return q(7237),null;var i=Math.floor(t)+Math.floor(e)*this._layerSize.width;return(this.tiles[i]&oMt.FLIPPED_MASK)>>>0},e.getTileFlagsAt=function(t,e){if(this.isInvalidPosition(t,e))throw new Error("TiledLayer.getTileFlagsAt: invalid position");if(!this.tiles)return q(7240),null;var i=Math.floor(t)+Math.floor(e)*this._layerSize.width;return(this.tiles[i]&oMt.FLIPPED_ALL)>>>0},e.setCullingDirty=function(t){this._cullingDirty=t},e.isCullingDirty=function(){return this._cullingDirty},e.updateViewPort=function(t,e,i,n){if(this._viewPort.width!==i||this._viewPort.height!==n||this._viewPort.x!==t||this._viewPort.y!==e){this._viewPort.x=t,this._viewPort.y=e,this._viewPort.width=i,this._viewPort.height=n;var r=1;this._layerOrientation===sMt.ISO&&(r=2);var s=this._viewPort.x-this._offset.x+this._leftDownToCenterX,a=this._viewPort.y-this._offset.y+this._leftDownToCenterY,o=s-this._leftOffset,h=a-this._downOffset,u=s+i+this._rightOffset,l=a+n+this._topOffset,c=this._cullingRect.leftDown,_=this._cullingRect.rightTop;o<0&&(o=0),h<0&&(h=0),this._positionToRowCol(o,h,IPt),IPt.row-=r,IPt.col-=r,IPt.row=IPt.row>0?IPt.row:0,IPt.col=IPt.col>0?IPt.col:0,IPt.row===c.row&&IPt.col===c.col||(c.row=IPt.row,c.col=IPt.col,this._cullingDirty=!0),u<0||l<0?(IPt.row=-1,IPt.col=-1):(this._positionToRowCol(u,l,IPt),IPt.row++,IPt.col++),IPt.row===_.row&&IPt.col===_.col||(_.row=IPt.row,_.col=IPt.col,this._cullingDirty=!0),this._cullingDirty&&this.markForUpdateRenderData()}},e._positionToRowCol=function(t,e,i){var n=this._mapTileSize.width,r=this._mapTileSize.height,s=.5*n,a=.5*r,o=0,h=0,u=0,l=0,c=this._staggerAxis;switch(this._layerOrientation){case sMt.ORTHO:h=Math.floor(t/n),o=Math.floor(e/r);break;case sMt.ISO:h=Math.floor(t/s),o=Math.floor(e/a);break;case sMt.HEX:c===hMt.STAGGERAXIS_Y?(u=(o=Math.floor(e/(r-this._diffY1)))%2==1?s*this._odd_even:0,h=Math.floor((t-u)/n)):(l=(h=Math.floor(t/(n-this._diffX1)))%2==1?a*-this._odd_even:0,o=Math.floor((e-l)/r))}return i.row=o,i.col=h,i},e.updateCulling=function(){if(this._enableCulling){this.node.updateWorldTransform(),Mn.invert(CPt,this.node.getWorldMatrix());var t=this._reinstallCamera();t&&(wPt.x=0,wPt.y=0,wPt.z=0,RPt.x=t.width,RPt.y=t.height,RPt.z=0,t.screenToWorld(wPt,wPt),t.screenToWorld(RPt,RPt),un.transformMat4(wPt,wPt,CPt),un.transformMat4(RPt,RPt,CPt),this.updateViewPort(wPt.x,wPt.y,RPt.x-wPt.x,RPt.y-wPt.y))}},e.getLayerOrientation=function(){return this._layerOrientation},e.getProperties=function(){return this._properties},e._updateVertex=function(t,e){var i=oMt.FLIPPED_MASK,n=this.vertices,r=this._layerOrientation,s=this.tiles;if(s){var a,o,h,u,l=this._rightTop,c=this._mapTileSize.width,_=this._mapTileSize.height,f=.5*c,d=.5*_,p=this._layerSize.height,m=this._layerSize.width,g=this.texGrids,y=0,v=0;r===sMt.HEX&&(a=this._staggerAxis,o=this._diffX1,h=this._diffY1,u=this._odd_even);var S,T,A,b=0,E=0,C=0,x=0,w=e*m+t;S=(s[w]&i)>>>0;var R=g.get(S);if(R){switch(this._animations.get(S)&&(this._hasAniGrid=this._hasAniGrid||!0),r){case sMt.ORTHO:y=(b=t)*c,v=(E=p-e-1)*_;break;case sMt.ISO:y=f*(b=p+t-e-1),v=d*(E=p+m-t-e-2);break;case sMt.HEX:y=t*(c-o)+(a===hMt.STAGGERAXIS_Y&&e%2==1?f*u:0),v=(p-e-1)*(_-h)+(a===hMt.STAGGERAXIS_X&&t%2==1?d*-u:0),b=t,E=p-e-1}var I=n[E]=n[E]||{minCol:0,maxCol:0},D=I[b]=I[b]||{left:0,bottom:0,index:0};I.minCol>b&&(I.minCol=b),I.maxCol=0&&this._textures.length>t?this._textures[t]:null},e.getTextures=function(){return this._textures},e.setTexture=function(t){this.setTextures([t])},e.setTextures=function(t){this._textures=t,this.markForUpdateRenderData()},e.getLayerSize=function(){return this._layerSize},e.getMapTileSize=function(){return this._mapTileSize},e.getTileSet=function(t){return t=t||0,this._tilesets&&t>=0&&this._tilesets.length>t?this._tilesets[t]:null},e.getTileSets=function(){return this._tilesets},e.setTileSet=function(t){this.setTileSets([t])},e.setTileSets=function(t){this._tilesets=t;var e=this._textures=[],i=this.texGrids;i.clear();for(var n=0;n0&&t[t.length-1].subNodes&&0===t[t.length-1].subNodes.length;)t.pop();if(t.length>0){var e=t[t.length-1];if(e.renderData&&0===e.renderData.vertexCount)return e}var i={renderData:null,texture:null};return this._tiledDataArray.push(i),i},e.requestSubNodesData=function(){var t=this._tiledDataArray;if(t.length>0&&t[t.length-1].subNodes&&0===t[t.length-1].subNodes.length)return t[t.length-1];var e={subNodes:[]};return this._tiledDataArray.push(e),e},e.destroyRenderData=function(){this._tiledDataArray.forEach((function(t){var e=t.renderData;e&&Kk.remove(e)})),this._tiledDataArray.length=0,t.prototype.destroyRenderData.call(this)},e._flushAssembler=function(){var t=i.Assembler.getAssembler(this);this._assembler!==t&&(this._assembler=t,this._assembler.createData(this)),0===this._tiledDataArray.length&&(this.markForUpdateRenderData(),this._updateColor())},e._render=function(t){for(var e=0;e>>0,M=i.get(B);if(!M)continue;var P=M.tileset,O="img"+S.id;g[O]=!0;var L=this.node.getChildByName(O);S.width=S.width||M.width,S.height=S.height||M.height,L&&L._objFlags&Xa.Flags.HideInHierarchy&&(L.removeFromParent(),L.hideFlags|=Xa.Flags.DontSave,L.destroy(),L=null),L||(L=new tg),this._animations.get(B)&&(this.aniObjects.push({object:S,imgNode:L,gridGID:B}),this._hasAniObj=!0);var F=P.tileOffset.x,N=P.tileOffset.y;L.active=S.visible,L.setRotationFromEuler(0,0,-S.rotation),L.setPosition(S.x-d,S.y-p),L.name=O,L.parent=this.node,L.setSiblingIndex(y),L.layer=this.node.layer;var k=L.getComponent(rz);k||(k=L.addComponent(rz));var G=L._uiProps.uiTransformComp;c?(G.anchorX=.5+F/S.width,G.anchorY=N/S.height):(G.anchorX=F/S.width,G.anchorY=N/S.height),this._tintColor?(l.set(this._tintColor),l.a*=this._opacity/255,k.color.set(l)):k.color.a*=this._opacity/255,k.sizeMode=rz.SizeMode.CUSTOM;var V=this._premultiplyAlpha?lc.ONE:lc.SRC_ALPHA;k.srcBlendFactor!==V&&(k.srcBlendFactor=V,k.material&&k._updateBlendFunc());var U=M.spriteFrame;U=U?U.clone():new mN,(D&r)>>>0&&(U.flipUVX=!U.flipUVX),(D&s)>>>0&&(U.flipUVY=!U.flipUVY),U.rotated=M._rotated,U.rect=M._rect,k.spriteFrame=U,G.setContentSize(S.width,S.height),k.markForUpdateRenderData()}}this._objects=m;for(var z=this.node.children,H=/^(?:img|text)\d+$/,W=0,X=z.length;W0&&(m[d[g]]=p[g].text);var y=new WMt(i.tmxXmlStr,m,a,o,c),v=y.getTilesets();v&&0!==v.length||q(7241),this._buildWithMapInfo(y)}else this._releaseMapInfo()},i._releaseMapInfo=function(){for(var t=this._layers,e=0,i=t.length;e0)for(var A=0,b=y.length;A=o.length&&(a.frameIdx=0),h=o[a.frameIdx]),n.set(s,h.grid)}for(var u=this.getLayers(),l=0,c=u.length;l>>0&&(i=WPt,WPt=XPt,XPt=i),(e&oMt.HORIZONTAL)>>>0&&(i=HPt,HPt=XPt,XPt=i,i=WPt,WPt=jPt,jPt=i),(e&oMt.VERTICAL)>>>0&&(i=HPt,HPt=WPt,WPt=i,i=XPt,XPt=jPt,jPt=i)}function eOt(){if(!(JPt<1)&&ZPt){var t=4*JPt,e=6*JPt,i=kPt.requestTiledRenderData();i.renderData=Kk.add(ck),i.texture=ZPt;var n=i.renderData;n.resize(t,e),n.chunk.vb.set(NPt.subarray(0,9*t),0),JPt=0,ZPt=null}}function iOt(t,e,i,n,r){if(!(e.row<0||e.col<0)){kPt=r;var s=r.node.worldMatrix;YPt=0;var a,o,h,u,l,c,_,f,d,p=r.tiledTiles,m=r.texGrids,g=r.tiles,y=18,v=27,S=r.vertices,T=0,A=0,b=0,E=0,C=0,x=0,w=!0;GPt=tOt;var R=new Float32Array(4);R[0]=r.color.r/255,R[1]=r.color.g/255,R[2]=r.color.b/255,R[3]=r.color.a/255,-1===i?(u=e.row,l=t.row):(u=t.row,l=e.row);var I=Math.abs(t.row-e.row)+1,D=Math.abs(e.col-t.col)+1;NPt=new Float32Array(I*D*36),JPt=0;for(var B=NPt;(l-u)*i>=0;u+=i)for(a=S[u],x=r.getNodesCountByRow(u),w=a&&0===x,1===n?(o=w&&t.cola.maxCol?a.maxCol:e.col):(o=w&&e.col>a.maxCol?a.maxCol:e.col,h=w&&t.col=0;o+=n){if(c=a&&a[o],x>0){eOt();var M=r.requestSubNodesData(),P=r.getNodesByRowCol(u,o);P&&P.count>0&&(M.subNodes=P.list)}c&&(T=g[c.index],(f=m.get((T&oMt.FLIPPED_MASK)>>>0))&&(ZPt!==f.texture&&(eOt(),ZPt=f.texture),_=f.tileset._tileSize,A=c.left-qPt,b=c.bottom-KPt,E=A+_.width,C=b+_.height,d=p[c.index],YPt=36*JPt,d?d.node.active&&nOt(d.node,R,B,A,E,C,b,!1):(LPt[0].x=A,LPt[0].y=C,LPt[1].x=A,LPt[1].y=b,LPt[2].x=E,LPt[2].y=C,LPt[3].x=E,LPt[3].y=b,LPt[0].transformMat4(s),B[YPt]=LPt[0].x,B[YPt+1]=LPt[0].y,B[YPt+2]=LPt[0].z,LPt[1].transformMat4(s),B[YPt+9]=LPt[1].x,B[YPt+9+1]=LPt[1].y,B[YPt+9+2]=LPt[1].z,LPt[2].transformMat4(s),B[YPt+y]=LPt[2].x,B[YPt+y+1]=LPt[2].y,B[YPt+y+2]=LPt[2].z,LPt[3].transformMat4(s),B[YPt+v]=LPt[3].x,B[YPt+v+1]=LPt[3].y,B[YPt+v+2]=LPt[3].z,B.set(R,YPt+5),B.set(R,YPt+9+5),B.set(R,YPt+y+5),B.set(R,YPt+v+5)),GPt(f,T),B[YPt+3]=HPt.x,B[YPt+4]=HPt.y,B[YPt+9+3]=WPt.x,B[YPt+9+4]=WPt.y,B[YPt+y+3]=XPt.x,B[YPt+y+4]=XPt.y,B[YPt+v+3]=jPt.x,B[YPt+v+4]=jPt.y,++JPt>=OPt&&eOt()))}eOt()}}function nOt(t,e,i,n,r,s,a,o){var h=18,u=27;t.updateWorldTransform(),Mn.fromRTS(VPt,t.rotation,t.position,t.scale),un.set(UPt,-(n+qPt),-(a+KPt),0),Mn.transform(VPt,VPt,UPt),Mn.multiply(VPt,t.parent.worldMatrix,VPt);var l=VPt,c=l.m12,_=l.m13,f=l.m00,d=l.m01,p=l.m04,m=l.m05,g=1===f&&0===d&&0===p&&1===m;if(o){var y=(n+r)/2,v=(s+a)/2;g?(i[YPt]=y+c,i[YPt+1]=s+_,i[YPt+9]=n+c,i[YPt+9+1]=v+_,i[YPt+h]=r+c,i[YPt+h+1]=v+_,i[YPt+u]=y+c,i[YPt+u+1]=a+_):(i[YPt]=y*f+s*p+c,i[YPt+1]=y*d+s*m+_,i[YPt+9]=n*f+v*p+c,i[YPt+9+1]=n*d+v*m+_,i[YPt+h]=r*f+v*p+c,i[YPt+h+1]=r*d+v*m+_,i[YPt+u]=y*f+a*p+c,i[YPt+u+1]=y*d+a*m+_)}else g?(i[YPt]=n+c,i[YPt+1]=s+_,i[YPt+9]=n+c,i[YPt+9+1]=a+_,i[YPt+h]=r+c,i[YPt+h+1]=s+_,i[YPt+u]=r+c,i[YPt+u+1]=a+_):(i[YPt]=n*f+s*p+c,i[YPt+1]=n*d+s*m+_,i[YPt+9]=n*f+a*p+c,i[YPt+9+1]=n*d+a*m+_,i[YPt+h]=r*f+s*p+c,i[YPt+h+1]=r*d+s*m+_,i[YPt+u]=r*f+a*p+c,i[YPt+u+1]=r*d+a*m+_);i.set(e,YPt+5),i.set(e,YPt+9+5),i.set(e,YPt+h+5),i.set(e,YPt+u+5)}var rOt=t("gP",{getAssembler:function(){return $Pt}});BPt.Assembler=rOt;var sOt=function(){function t(){this.originalTarget=null,this.target=null,this.tag=t.TAG_INVALID}var e=t.prototype;return e.clone=function(){var e=new t;return e.originalTarget=null,e.target=null,e.tag=this.tag,e},e.isDone=function(){return!0},e.startWithTarget=function(t){this.originalTarget=t,this.target=t},e.stop=function(){this.target=null},e.step=function(){q(1006)},e.update=function(){q(1007)},e.getTarget=function(){return this.target},e.setTarget=function(t){this.target=t},e.getOriginalTarget=function(){return this.originalTarget},e.setOriginalTarget=function(t){this.originalTarget=t},e.getTag=function(){return this.tag},e.setTag=function(t){this.tag=t},e.reverse=function(){return q(1008),null},e.retain=function(){},e.release=function(){},t}();sOt.TAG_INVALID=-1;var aOt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r=n&&i.actionIndex--;break}}},e._removeActionByTag=function(t,e,i){for(var n=0,r=e.actions.length;n=0;--n){var r=e.actions[n];if(r&&r.getTag()===t){if(i&&r.getOriginalTarget()!==i)continue;this._removeActionAtIndex(n,e)}}},e.removeActionByTag=function(t,e){var i=this;t===sOt.TAG_INVALID&&q(1002);var n=this._hashTargets;if(e){var r=n.get(e);r&&this._removeActionByTag(t,r,e)}else n.forEach((function(e){i._removeActionByTag(t,e)}))},e.removeAllActionsByTag=function(t,e){var i=this;t===sOt.TAG_INVALID&&q(1002);var n=this._hashTargets;if(e){var r=n.get(e);r&&this._removeAllActionsByTag(t,r,e)}else n.forEach((function(e){i._removeAllActionsByTag(t,e)}))},e.getActionByTag=function(t,e){t===sOt.TAG_INVALID&&q(1004);var i=this._hashTargets.get(e);if(i){if(null!=i.actions)for(var n=0;n=t&&e.actionIndex--,0===e.actions.length&&this._deleteHashElement(e)},e._deleteHashElement=function(t){var e=!1;if(t&&!t.lock&&this._hashTargets.get(t.target)){this._hashTargets.delete(t.target);for(var i=this._arrayTargets,n=0,r=i.length;n=this._duration},i._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},i._reverseEaseList=function(t){if(this._easeList){t._easeList=[];for(var e=0;e1.192092896e-7?this._duration:1.192092896e-7);e=e<1?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))},i.startWithTarget=function(t){sOt.prototype.startWithTarget.call(this,t),this._elapsed=0,this._firstTick=!0},i.reverse=function(){return q(1010),this},i.setAmplitudeRate=function(){q(1011)},i.getAmplitudeRate=function(){return q(1012),0},i.speed=function(t){return t<=0?(q(1013),this):(this._speedMethod=!0,this._speed*=t,this)},i.getSpeed=function(){return this._speed},i.setSpeed=function(t){return this._speed=t,this},i.repeat=function(t){return t=Math.round(t),isNaN(t)||t<1?(q(1014),this):(this._repeatMethod=!0,this._timesForRepeat*=t,this)},i.repeatForever=function(){return this._repeatMethod=!0,this._timesForRepeat=this.MAX_VALUE,this._repeatForever=!0,this},e}(aOt),SOt=function(t){function e(i){var n;(n=t.call(this)||this)._actions=[],n._split=0,n._last=0,n._reversed=!1;var r=i instanceof Array?i:arguments;if(1===r.length)return Q(1019),c(n);var s=r.length-1;if(s>=0&&null==r[s]&&q(1015),s>=0){for(var a,o=r[0],h=1;h1?e%1:e),this._last=n)},i.reverse=function(){var t=e._actionOneTwo(this._actions[1].reverse(),this._actions[0].reverse());return this._cloneDecoration(t),this._reverseEaseList(t),t._reversed=!0,t},e}(vOt);function TOt(t){var e=t instanceof Array?t:arguments;if(1===e.length)return Q(1019),null;var i=e.length-1;i>=0&&null==e[i]&&q(1015);var n=null;if(i>=0){n=e[0];for(var r=1;r<=i;r++)e[r]&&(n=SOt._actionOneTwo(n,e[r]))}return n}mOt=SOt,SOt._actionOneTwo=function(t,e){var i=new mOt;return i.initWithTwoActions(t,e),i};var AOt=function(t){function e(e,i){var n;return(n=t.call(this)||this)._times=0,n._total=0,n._nextDt=0,n._actionInstant=!1,n._innerAction=null,void 0!==i&&n.initWithAction(e,i),n}s(e,t);var i=e.prototype;return i.initWithAction=function(t,e){var i=t._duration*e;return!!this.initWithDuration(i)&&(this._times=e,this._innerAction=t,t instanceof cOt&&(this._actionInstant=!0,this._times-=1),this._total=0,!0)},i.clone=function(){var t=new e;return this._cloneDecoration(t),t.initWithAction(this._innerAction.clone(),this._times),t},i.startWithTarget=function(t){this._total=0,this._nextDt=this._innerAction._duration/this._duration,vOt.prototype.startWithTarget.call(this,t),this._innerAction.startWithTarget(t)},i.stop=function(){this._innerAction.stop(),sOt.prototype.stop.call(this)},i.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._total1?1:r;t>=1&&this._total=0&&null==r[s]&&q(1015),s>=0){for(var a,o=r[0],h=1;hr?this._two=SOt._actionOneTwo(e,wOt(n-r)):n0&&null==e[e.length-1]&&q(1015);for(var i=e[0],n=1;n0&&(i=this._time/this._duration),i>=1&&(i=1),this._transition===cLt.COLOR){var n=e._uiProps.uiComp;mn.lerp(dLt,this._fromColor,this._toColor,i),n&&(n.color=dLt)}else this.transition===cLt.SCALE&&(e.getScale(this._targetScale),this._targetScale.x=Mi(this._fromScale.x,this._toScale.x,i),this._targetScale.y=Mi(this._fromScale.y,this._toScale.y,i),e.setScale(this._targetScale));1===i&&(this._transitionFinished=!0)}},i._resizeNodeToTargetNode=function(){this.target&&this.target._uiProps.uiTransformComp},i._resetState=function(){this._pressed=!1,this._hovered=!1;var t=this.target;if(t){var e=this._transition;if(e===cLt.COLOR&&this._interactable){var i=t.getComponent(bG);i&&(i.color=this._normalColor)}else e===cLt.SCALE&&this._originalScale&&t.setScale(this._originalScale);this._transitionFinished=!0}},i._registerNodeEvent=function(){this.node.on(lm.TOUCH_START,this._onTouchBegan,this),this.node.on(lm.TOUCH_MOVE,this._onTouchMove,this),this.node.on(lm.TOUCH_END,this._onTouchEnded,this),this.node.on(lm.TOUCH_CANCEL,this._onTouchCancel,this),this.node.on(lm.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.on(lm.MOUSE_LEAVE,this._onMouseMoveOut,this),this.node.on(IOt.XRUI_HOVER_ENTERED,this._xrHoverEnter,this),this.node.on(IOt.XRUI_HOVER_EXITED,this._xrHoverExit,this),this.node.on(IOt.XRUI_CLICK,this._xrClick,this),this.node.on(IOt.XRUI_UNCLICK,this._xrUnClick,this)},i._registerTargetEvent=function(t){t.on(lm.TRANSFORM_CHANGED,this._onTargetTransformChanged,this)},i._unregisterNodeEvent=function(){this.node.off(lm.TOUCH_START,this._onTouchBegan,this),this.node.off(lm.TOUCH_MOVE,this._onTouchMove,this),this.node.off(lm.TOUCH_END,this._onTouchEnded,this),this.node.off(lm.TOUCH_CANCEL,this._onTouchCancel,this),this.node.off(lm.MOUSE_ENTER,this._onMouseMoveIn,this),this.node.off(lm.MOUSE_LEAVE,this._onMouseMoveOut,this),this.node.off(IOt.XRUI_HOVER_ENTERED,this._xrHoverEnter,this),this.node.off(IOt.XRUI_HOVER_EXITED,this._xrHoverExit,this),this.node.off(IOt.XRUI_CLICK,this._xrClick,this),this.node.off(IOt.XRUI_UNCLICK,this._xrUnClick,this)},i._unregisterTargetEvent=function(t){t.off(lm.TRANSFORM_CHANGED)},i._getTargetSprite=function(t){var e=null;return t&&(e=t.getComponent(rz)),e},i._applyTarget=function(){this.target&&(this._sprite=this._getTargetSprite(this.target),this._originalScale||(this._originalScale=new un),un.copy(this._originalScale,this.target.getScale()),this._registerTargetEvent(this.target))},i._onTargetSpriteFrameChanged=function(t){this._transition===cLt.SPRITE&&this._setCurrentStateSpriteFrame(t.spriteFrame)},i._setCurrentStateSpriteFrame=function(t){if(t)switch(this._getButtonState()){case _Lt.NORMAL:this._normalSprite=t;break;case _Lt.HOVER:this._hoverSprite=t;break;case _Lt.PRESSED:this._pressedSprite=t;break;case _Lt.DISABLED:this._disabledSprite=t}},i._onTargetColorChanged=function(t){this._transition===cLt.COLOR&&this._setCurrentStateColor(t)},i._setCurrentStateColor=function(t){switch(this._getButtonState()){case _Lt.NORMAL:this._normalColor=t;break;case _Lt.HOVER:this._hoverColor=t;break;case _Lt.PRESSED:this._pressedColor=t;break;case _Lt.DISABLED:this._disabledColor=t}},i._onTargetTransformChanged=function(t){t&hm.SCALE&&this._originalScale&&this._transition===cLt.SCALE&&this._transitionFinished&&un.copy(this._originalScale,this.target.getScale())},i._onTouchBegan=function(t){this._interactable&&this.enabledInHierarchy&&(this._pressed=!0,this._updateState(),t&&(t.propagationStopped=!0))},i._onTouchMove=function(t){if(this._interactable&&this.enabledInHierarchy&&this._pressed&&t){var e=t.touch;if(e){var i,n=this.node._uiProps.uiTransformComp.hitTest(e.getLocation(),t.windowId);this._transition===cLt.SCALE&&this.target&&this._originalScale?n?(un.copy(this._fromScale,this._originalScale),un.multiplyScalar(this._toScale,this._originalScale,this._zoomScale),this._transitionFinished=!1):(this._time=0,this._transitionFinished=!0,this.target.setScale(this._originalScale)):(i=n?_Lt.PRESSED:_Lt.NORMAL,this._applyTransition(i)),t&&(t.propagationStopped=!0)}}},i._onTouchEnded=function(t){this._interactable&&this.enabledInHierarchy&&(this._pressed&&(sp.emitEvents(this.clickEvents,t),this.node.emit(fLt.CLICK,this)),this._pressed=!1,this._updateState(),t&&(t.propagationStopped=!0))},i._onTouchCancel=function(){this._interactable&&this.enabledInHierarchy&&(this._pressed=!1,this._updateState())},i._onMouseMoveIn=function(){!this._pressed&&this.interactable&&this.enabledInHierarchy&&(this._transition!==cLt.SPRITE||this._hoverSprite)&&(this._hovered||(this._hovered=!0,this._updateState()))},i._onMouseMoveOut=function(){this._hovered&&(this._hovered=!1,this._updateState())},i._updateState=function(){var t=this._getButtonState();this._applyTransition(t)},i._getButtonState=function(){var t=_Lt.NORMAL;return this._interactable?this._pressed?t=_Lt.PRESSED:this._hovered&&(t=_Lt.HOVER):t=_Lt.DISABLED,t.toString()},i._updateColorTransition=function(t){var e,i=this[t+"Color"],n=null===(e=this.target)||void 0===e?void 0:e.getComponent(bG);n&&(t===_Lt.DISABLED.toString()?n.color=i:(this._fromColor=n.color.clone(),this._toColor=i,this._time=0,this._transitionFinished=!1))},i._updateSpriteTransition=function(t){var e=this[t+"Sprite"];this._sprite&&e&&(this._sprite.spriteFrame=e)},i._updateScaleTransition=function(t){this._interactable&&(t===_Lt.PRESSED.toString()?this._zoomUp():this._zoomBack())},i._zoomUp=function(){this._originalScale&&(un.copy(this._fromScale,this._originalScale),un.multiplyScalar(this._toScale,this._originalScale,this._zoomScale),this._time=0,this._transitionFinished=!1)},i._zoomBack=function(){this.target&&this._originalScale&&(un.copy(this._fromScale,this.target.getScale()),un.copy(this._toScale,this._originalScale),this._time=0,this._transitionFinished=!1)},i._applyTransition=function(t){var e=this._transition;e===cLt.COLOR?this._updateColorTransition(t):e===cLt.SPRITE?this._updateSpriteTransition(t):e===cLt.SCALE&&this._updateScaleTransition(t)},i._xrHoverEnter=function(){this._onMouseMoveIn(),this._updateState()},i._xrHoverExit=function(){this._onMouseMoveOut(),this._pressed&&(this._pressed=!1,this._updateState())},i._xrClick=function(){this._interactable&&this.enabledInHierarchy&&(this._pressed=!0,this._updateState())},i._xrUnClick=function(){this._interactable&&this.enabledInHierarchy&&(this._pressed&&(sp.emitEvents(this.clickEvents,this),this.node.emit(fLt.CLICK,this)),this._pressed=!1,this._updateState())},n(e,[{key:"target",get:function(){return this._target||this.node},set:function(t){this._target!==t&&(this._target&&this._unregisterTargetEvent(this._target),this._target=t,this._applyTarget())}},{key:"interactable",get:function(){return this._interactable},set:function(t){this._interactable!==t&&(this._interactable=t,this._updateState(),this._interactable||this._resetState())}},{key:"_resizeToTarget",set:function(t){t&&this._resizeNodeToTargetNode()}},{key:"transition",get:function(){return this._transition},set:function(t){this._transition!==t&&(this._transition===cLt.COLOR?this._updateColorTransition(_Lt.NORMAL):this._transition===cLt.SPRITE&&this._updateSpriteTransition(_Lt.NORMAL),this._transition=t,this._updateState())}},{key:"normalColor",get:function(){return this._normalColor},set:function(t){this._normalColor!==t&&(this._normalColor.set(t),this._updateState())}},{key:"pressedColor",get:function(){return this._pressedColor},set:function(t){this._pressedColor!==t&&this._pressedColor.set(t)}},{key:"hoverColor",get:function(){return this._hoverColor},set:function(t){this._hoverColor!==t&&this._hoverColor.set(t)}},{key:"disabledColor",get:function(){return this._disabledColor},set:function(t){this._disabledColor!==t&&(this._disabledColor.set(t),this._updateState())}},{key:"duration",get:function(){return this._duration},set:function(t){this._duration!==t&&(this._duration=t)}},{key:"zoomScale",get:function(){return this._zoomScale},set:function(t){this._zoomScale!==t&&(this._zoomScale=t)}},{key:"normalSprite",get:function(){return this._normalSprite},set:function(t){if(this._normalSprite!==t){this._normalSprite=t;var e=this.node.getComponent(rz);e&&(e.spriteFrame=t),this._updateState()}}},{key:"pressedSprite",get:function(){return this._pressedSprite},set:function(t){this._pressedSprite!==t&&(this._pressedSprite=t,this._updateState())}},{key:"hoverSprite",get:function(){return this._hoverSprite},set:function(t){this._hoverSprite!==t&&(this._hoverSprite=t,this._updateState())}},{key:"disabledSprite",get:function(){return this._disabledSprite},set:function(t){this._disabledSprite!==t&&(this._disabledSprite=t,this._updateState())}}]),e}(hp)).Transition=cLt,nLt.EventType=fLt,p((zOt=nLt).prototype,"target",[OOt],Object.getOwnPropertyDescriptor(zOt.prototype,"target"),zOt.prototype),p(zOt.prototype,"transition",[LOt],Object.getOwnPropertyDescriptor(zOt.prototype,"transition"),zOt.prototype),p(zOt.prototype,"normalSprite",[FOt],Object.getOwnPropertyDescriptor(zOt.prototype,"normalSprite"),zOt.prototype),p(zOt.prototype,"pressedSprite",[NOt],Object.getOwnPropertyDescriptor(zOt.prototype,"pressedSprite"),zOt.prototype),p(zOt.prototype,"hoverSprite",[kOt],Object.getOwnPropertyDescriptor(zOt.prototype,"hoverSprite"),zOt.prototype),p(zOt.prototype,"disabledSprite",[GOt],Object.getOwnPropertyDescriptor(zOt.prototype,"disabledSprite"),zOt.prototype),HOt=Us(zOt.prototype,"clickEvents",[VOt,sa],(function(){return[]})),WOt=Us(zOt.prototype,"_interactable",[sa],(function(){return!0})),XOt=Us(zOt.prototype,"_transition",[sa],(function(){return cLt.NONE})),jOt=Us(zOt.prototype,"_normalColor",[sa],(function(){return mn.WHITE.clone()})),YOt=Us(zOt.prototype,"_hoverColor",[sa],(function(){return new mn(211,211,211,255)})),qOt=Us(zOt.prototype,"_pressedColor",[sa],(function(){return mn.WHITE.clone()})),KOt=Us(zOt.prototype,"_disabledColor",[sa],(function(){return new mn(124,124,124,255)})),JOt=Us(zOt.prototype,"_normalSprite",[sa],(function(){return null})),ZOt=Us(zOt.prototype,"_hoverSprite",[sa],(function(){return null})),QOt=Us(zOt.prototype,"_pressedSprite",[sa],(function(){return null})),$Ot=Us(zOt.prototype,"_disabledSprite",[sa],(function(){return null})),tLt=Us(zOt.prototype,"_duration",[sa],(function(){return.1})),eLt=Us(zOt.prototype,"_zoomScale",[sa],(function(){return 1.2})),iLt=Us(zOt.prototype,"_target",[sa],(function(){return null})),UOt=zOt))||UOt)||UOt)||UOt));v.Button=pLt;var mLt,gLt,yLt,vLt=function(){function t(){}return t.add=function(t){var e=this._tabIndexList;-1===e.indexOf(t)&&e.push(t)},t.remove=function(t){var e=this._tabIndexList,i=e.indexOf(t);-1!==i&&e.splice(i,1)},t.resort=function(){this._tabIndexList.sort((function(t,e){return t._delegate.tabIndex-e._delegate.tabIndex}))},t.next=function(t){var e=this._tabIndexList,i=e.indexOf(t);if(t.setFocus(!1),-1!==i){var n=e[i+1];n&&n._delegate.tabIndex>=0&&n.setFocus(!0)}},t}();vLt._tabIndexList=[],function(t){t[t.DEFAULT=0]="DEFAULT",t[t.DONE=1]="DONE",t[t.SEND=2]="SEND",t[t.SEARCH=3]="SEARCH",t[t.GO=4]="GO",t[t.NEXT=5]="NEXT"}(mLt||(mLt={})),ve(mLt),function(t){t[t.ANY=0]="ANY",t[t.EMAIL_ADDR=1]="EMAIL_ADDR",t[t.NUMERIC=2]="NUMERIC",t[t.PHONE_NUMBER=3]="PHONE_NUMBER",t[t.URL=4]="URL",t[t.DECIMAL=5]="DECIMAL",t[t.SINGLE_LINE=6]="SINGLE_LINE"}(gLt||(gLt={})),ve(gLt),function(t){t[t.PASSWORD=0]="PASSWORD",t[t.SENSITIVE=1]="SENSITIVE",t[t.INITIAL_CAPS_WORD=2]="INITIAL_CAPS_WORD",t[t.INITIAL_CAPS_SENTENCE=3]="INITIAL_CAPS_SENTENCE",t[t.INITIAL_CAPS_ALL_CHARACTERS=4]="INITIAL_CAPS_ALL_CHARACTERS",t[t.DEFAULT=5]="DEFAULT"}(yLt||(yLt={})),ve(yLt);var SLt,TLt,ALt,bLt,ELt,CLt,xLt,wLt,RLt,ILt,DLt,BLt,MLt,PLt,OLt,LLt,FLt,NLt,kLt,GLt,VLt,ULt,zLt,HLt,WLt,XLt,jLt,YLt,qLt,KLt,JLt=function(){function t(){this._editing=!1,this._delegate=null,this._dirtyFlag=!1}var e=t.prototype;return e.init=function(){},e.onEnable=function(){},e.update=function(){},e.onDisable=function(){this._editing&&this.endEditing()},e.clear=function(){this._delegate=null},e.setTabIndex=function(){},e.setSize=function(){},e.setFocus=function(t){t?this.beginEditing():this.endEditing()},e.isFocused=function(){return this._editing},e.beginEditing=function(){},e.endEditing=function(){},t}(),ZLt=T.document,QLt=new Mn,$Lt=new Mn,tFt=new un,eFt=null,iFt=0,nFt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r=0&&(e.value=e.value.slice(0,r)),n._editBoxTextChanged(e.value)}},n.onClick=function(){t._editing&&Bl.isMobile&&t._adjustWindowScroll()},n.onKeydown=function(i){i.keyCode===Px.ENTER?(i.propagationStopped=!0,t._delegate._editBoxEditingReturn(),t._isTextArea||e.blur()):i.keyCode===Px.TAB&&(i.propagationStopped=!0,i.preventDefault(),vLt.next(t))},n.onBlur=function(){Bl.isMobile&&i&&n.compositionEnd(),t._editing=!1,eFt=null,t._hideDom(),t._delegate._editBoxEditingDidEnded()},e.addEventListener("compositionstart",n.compositionStart),e.addEventListener("compositionend",n.compositionEnd),e.addEventListener("input",n.onInput),e.addEventListener("keydown",n.onKeydown),e.addEventListener("blur",n.onBlur),e.addEventListener("touchstart",n.onClick)}},i._removeEventListeners=function(){if(this._edTxt){var t=this._edTxt,e=this.__eventListeners;t.removeEventListener("compositionstart",e.compositionStart),t.removeEventListener("compositionend",e.compositionEnd),t.removeEventListener("input",e.onInput),t.removeEventListener("keydown",e.onKeydown),t.removeEventListener("blur",e.onBlur),t.removeEventListener("touchstart",e.onClick),e.compositionStart=null,e.compositionEnd=null,e.onInput=null,e.onKeydown=null,e.onBlur=null,e.onClick=null}},e}(JLt);!function(t){t.EDITING_DID_BEGAN="editing-did-began",t.EDITING_DID_ENDED="editing-did-ended",t.TEXT_CHANGED="text-changed",t.EDITING_RETURN="editing-return",t.XR_EDITING_DID_BEGAN="xr-editing-did-began",t.XR_EDITING_DID_ENDED="xr-editing-did-ended"}(KLt||(KLt={}));var rFt,sFt,aFt,oFt,hFt,uFt,lFt,cFt,_Ft,fFt,dFt,pFt,mFt,gFt,yFt,vFt,SFt,TFt,AFt,bFt,EFt,CFt,xFt,wFt,RFt,IFt,DFt,BFt,MFt,PFt,OFt,LFt,FFt,NFt,kFt=t("gW",(SLt=Js("cc.EditBox"),TLt=Qs(110),ALt=Zs(sG),bLt=Ia(sV),ELt=Ia(sV),CLt=Ia(mN),xLt=Ia(yLt),wLt=Ia(gLt),RLt=Ia(mLt),ILt=Ia([sp]),DLt=Ia([sp]),BLt=Ia([sp]),MLt=Ia([sp]),SLt(PLt=TLt(PLt=ALt(((qLt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r=0&&t.length>=this._maxLength&&(t=t.slice(0,this._maxLength)),this._string!==t&&(this._string=t,this._updateString(t))}},{key:"placeholder",get:function(){return this._placeholderLabel?this._placeholderLabel.string:""},set:function(t){this._placeholderLabel&&(this._placeholderLabel.string=t)}},{key:"textLabel",get:function(){return this._textLabel},set:function(t){this._textLabel!==t&&(this._textLabel=t,this._textLabel&&(this._updateTextLabel(),this._updateLabels()))}},{key:"placeholderLabel",get:function(){return this._placeholderLabel},set:function(t){this._placeholderLabel!==t&&(this._placeholderLabel=t,this._placeholderLabel&&(this._updatePlaceholderLabel(),this._updateLabels()))}},{key:"backgroundImage",get:function(){return this._backgroundImage},set:function(t){this._backgroundImage!==t&&(this._backgroundImage=t,this._ensureBackgroundSprite(),this._background.spriteFrame=t)}},{key:"inputFlag",get:function(){return this._inputFlag},set:function(t){this._inputFlag!==t&&(this._inputFlag=t,this._updateString(this._string))}},{key:"inputMode",get:function(){return this._inputMode},set:function(t){this._inputMode!==t&&(this._inputMode=t,this._updateTextLabel(),this._updatePlaceholderLabel())}},{key:"returnType",get:function(){return this._returnType},set:function(t){this._returnType=t}},{key:"maxLength",get:function(){return this._maxLength},set:function(t){this._maxLength=t}},{key:"tabIndex",get:function(){return this._tabIndex},set:function(t){this._tabIndex!==t&&(this._tabIndex=t,this._impl&&this._impl.setTabIndex(t))}}]),e}(hp))._EditBoxImpl=JLt,qLt.KeyboardReturnType=mLt,qLt.InputFlag=yLt,qLt.InputMode=gLt,qLt.EventType=KLt,p((OLt=qLt).prototype,"textLabel",[bLt],Object.getOwnPropertyDescriptor(OLt.prototype,"textLabel"),OLt.prototype),p(OLt.prototype,"placeholderLabel",[ELt],Object.getOwnPropertyDescriptor(OLt.prototype,"placeholderLabel"),OLt.prototype),p(OLt.prototype,"backgroundImage",[CLt],Object.getOwnPropertyDescriptor(OLt.prototype,"backgroundImage"),OLt.prototype),p(OLt.prototype,"inputFlag",[xLt],Object.getOwnPropertyDescriptor(OLt.prototype,"inputFlag"),OLt.prototype),p(OLt.prototype,"inputMode",[wLt],Object.getOwnPropertyDescriptor(OLt.prototype,"inputMode"),OLt.prototype),p(OLt.prototype,"returnType",[RLt],Object.getOwnPropertyDescriptor(OLt.prototype,"returnType"),OLt.prototype),LLt=Us(OLt.prototype,"editingDidBegan",[ILt,sa],(function(){return[]})),FLt=Us(OLt.prototype,"textChanged",[DLt,sa],(function(){return[]})),NLt=Us(OLt.prototype,"editingDidEnded",[BLt,sa],(function(){return[]})),kLt=Us(OLt.prototype,"editingReturn",[MLt,sa],(function(){return[]})),GLt=Us(OLt.prototype,"_textLabel",[sa],(function(){return null})),VLt=Us(OLt.prototype,"_placeholderLabel",[sa],(function(){return null})),ULt=Us(OLt.prototype,"_returnType",[sa],(function(){return mLt.DEFAULT})),zLt=Us(OLt.prototype,"_string",[sa],(function(){return""})),HLt=Us(OLt.prototype,"_tabIndex",[sa],(function(){return 0})),WLt=Us(OLt.prototype,"_backgroundImage",[sa],(function(){return null})),XLt=Us(OLt.prototype,"_inputFlag",[sa],(function(){return yLt.DEFAULT})),jLt=Us(OLt.prototype,"_inputMode",[sa],(function(){return gLt.ANY})),YLt=Us(OLt.prototype,"_maxLength",[sa],(function(){return 20})),PLt=OLt))||PLt)||PLt)||PLt));"object"==typeof window&&"object"==typeof document&&(kFt._EditBoxImpl=nFt),v.internal.EditBox=kFt,function(t){t[t.NONE=0]="NONE",t[t.HORIZONTAL=1]="HORIZONTAL",t[t.VERTICAL=2]="VERTICAL",t[t.GRID=3]="GRID"}(MFt||(MFt={})),Ae(MFt),function(t){t[t.NONE=0]="NONE",t[t.CONTAINER=1]="CONTAINER",t[t.CHILDREN=2]="CHILDREN"}(PFt||(PFt={})),Ae(PFt),function(t){t[t.HORIZONTAL=0]="HORIZONTAL",t[t.VERTICAL=1]="VERTICAL"}(OFt||(OFt={})),Ae(OFt),function(t){t[t.BOTTOM_TO_TOP=0]="BOTTOM_TO_TOP",t[t.TOP_TO_BOTTOM=1]="TOP_TO_BOTTOM"}(LFt||(LFt={})),Ae(LFt),function(t){t[t.LEFT_TO_RIGHT=0]="LEFT_TO_RIGHT",t[t.RIGHT_TO_LEFT=1]="RIGHT_TO_LEFT"}(FFt||(FFt={})),Ae(FFt),function(t){t[t.NONE=0]="NONE",t[t.FIXED_ROW=1]="FIXED_ROW",t[t.FIXED_COL=2]="FIXED_COL"}(NFt||(NFt={})),Ae(NFt);var GFt,VFt,UFt,zFt,HFt,WFt,XFt,jFt,YFt,qFt,KFt,JFt,ZFt,QFt,$Ft=new un,tNt=t("gX",(rFt=Js("cc.Layout"),sFt=Qs(110),aFt=Zs(sG),oFt=Ia(MFt),hFt=Ia(PFt),uFt=Ia(OFt),lFt=Ia(LFt),cFt=Ia(FFt),_Ft=Ia(NFt),rFt(fFt=sFt(fFt=aFt(((BFt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r_&&(f=Math.max(_,f),c=_||w,_=w),u+=a*(C*x+this._spacingX);var R=a*(1-C)*x;if(e){if(s>0)(d=v/s>0&&v%s==0)&&(c=_>w?_:c);else if(x>t-g)u>h+a*C*x&&(d=!0);else{var I=(1-this._horizontalDirection-r.x)*t,D=u+R+a*(a>0?this._paddingRight:this._paddingLeft);d=Math.abs(D)>Math.abs(I)}d&&(u=h+a*C*x,w!==_&&(c=_),l+=c+this._spacingY,c=_=w)}var B=i(T,S,l);n&&T.setPosition(u,B),u+=R}return c=Math.max(c,_),Math.max(f,l+c)+this._getPaddingV()},i._doLayoutVertically=function(t,e,i,n){var r=this.node._uiProps.uiTransformComp.anchorPoint,s=this._getFixedBreakingNum(),a=1,o=this._paddingBottom;this._verticalDirection===LFt.TOP_TO_BOTTOM&&(a=-1,o=this._paddingTop);var h=(this._verticalDirection-r.y)*t+a*o,u=h-a*this._spacingY,l=0,c=0,_=0,f=0,d=!1,p=this._usefulLayoutObj.length,m=this._cellSize.height,g=this._getPaddingV();this._layoutType!==MFt.GRID&&this._resizeMode===PFt.CHILDREN&&(m=(t-g-(p-1)*this._spacingY)/p);for(var y=this._usefulLayoutObj,v=0;vl&&(c=Math.max(l,c),_=l||x,l=x),u+=a*(C*w+this._spacingY);var R=a*(1-C)*w;if(e){if(s>0)(d=v/s>0&&v%s==0)&&(_=l>w?l:_);else if(w>t-g)u>h+a*C*w&&(d=!0);else{var I=(1-this._verticalDirection-r.y)*t,D=u+R+a*(a>0?this._paddingTop:this._paddingBottom);d=Math.abs(D)>Math.abs(I)}d&&(u=h+a*C*w,x!==l&&(_=l),f+=_+this._spacingX,_=l=x)}var B=i(T,S,f);n&&(T.getPosition($Ft),T.setPosition(B,u,$Ft.z)),u+=R}return _=Math.max(_,l),Math.max(c,f+_)+this._getPaddingH()},i._doLayoutGridAxisHorizontal=function(t,e){var i=this,n=e.width,r=1,s=-t.y*e.height,a=this._paddingBottom;this._verticalDirection===LFt.TOP_TO_BOTTOM&&(r=-1,s=(1-t.y)*e.height,a=this._paddingTop);var o=function(t,e,n){return s+r*(n+(1-e.anchorY)*e.height*i._getUsedScaleValue(t.scale.y)+a)},h=0;this._resizeMode===PFt.CONTAINER&&(h=this._doLayoutHorizontally(n,!0,o,!1),s=-t.y*h,this._verticalDirection===LFt.TOP_TO_BOTTOM&&(r=-1,s=(1-t.y)*h)),this._doLayoutHorizontally(n,!0,o,!0),this._resizeMode===PFt.CONTAINER&&this.node._uiProps.uiTransformComp.setContentSize(n,h)},i._doLayoutGridAxisVertical=function(t,e){var i=this,n=e.height,r=1,s=-t.x*e.width,a=this._paddingLeft;this._horizontalDirection===FFt.RIGHT_TO_LEFT&&(r=-1,s=(1-t.x)*e.width,a=this._paddingRight);var o=function(t,e,n){return s+r*(n+(1-e.anchorX)*e.width*i._getUsedScaleValue(t.scale.x)+a)},h=0;this._resizeMode===PFt.CONTAINER&&(h=this._doLayoutVertically(n,!0,o,!1),s=-t.x*h,this._horizontalDirection===FFt.RIGHT_TO_LEFT&&(r=-1,s=(1-t.x)*h)),this._doLayoutVertically(n,!0,o,!0),this._resizeMode===PFt.CONTAINER&&this.node._uiProps.uiTransformComp.setContentSize(h,n)},i._doLayoutGrid=function(){var t=this.node._uiProps.uiTransformComp,e=t.anchorPoint,i=t.contentSize;this.startAxis===OFt.HORIZONTAL?this._doLayoutGridAxisHorizontal(e,i):this.startAxis===OFt.VERTICAL&&this._doLayoutGridAxisVertical(e,i)},i._getHorizontalBaseWidth=function(){var t=this._usefulLayoutObj,e=0,i=t.length;if(this._resizeMode===PFt.CONTAINER){for(var n=0;n0?n:-n)),i*(e/r)},i._calculatePosition=function(t,e,i,n,r,s,a){var o=e-i;s&&(o+=Math.abs(s));var h=0;o&&(h=Bi(h=r/o));var u=(n-a)*h;this._direction===pNt.VERTICAL?t.set(0,u):t.set(u,0)},i._updateLength=function(t){if(this._handle){var e=this._handle.node._uiProps.uiTransformComp,i=e.contentSize,n=e.anchorPoint;n.x===vNt.x&&n.y===vNt.y||e.setAnchorPoint(vNt),this._direction===pNt.HORIZONTAL?e.setContentSize(t,i.height):e.setContentSize(i.width,t)}},i._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)}},n(e,[{key:"handle",get:function(){return this._handle},set:function(t){this._handle!==t&&(this._handle=t,this.onScroll(kn.ZERO))}},{key:"direction",get:function(){return this._direction},set:function(t){this._direction!==t&&(this._direction=t,this.onScroll(kn.ZERO))}},{key:"enableAutoHide",get:function(){return this._enableAutoHide},set:function(t){this._enableAutoHide!==t&&(this._enableAutoHide=t,this._enableAutoHide&&this._setOpacity(0))}},{key:"autoHideTime",get:function(){return this._autoHideTime},set:function(t){this._autoHideTime!==t&&(this._autoHideTime=t)}}]),e}(hp)).Direction=pNt,p((oNt=fNt).prototype,"handle",[rNt],Object.getOwnPropertyDescriptor(oNt.prototype,"handle"),oNt.prototype),p(oNt.prototype,"direction",[sNt],Object.getOwnPropertyDescriptor(oNt.prototype,"direction"),oNt.prototype),hNt=Us(oNt.prototype,"_scrollView",[sa],(function(){return null})),uNt=Us(oNt.prototype,"_handle",[sa],(function(){return null})),lNt=Us(oNt.prototype,"_direction",[sa],(function(){return pNt.HORIZONTAL})),cNt=Us(oNt.prototype,"_enableAutoHide",[sa],(function(){return!1})),_Nt=Us(oNt.prototype,"_autoHideTime",[sa],(function(){return 1})),aNt=oNt))||aNt)||aNt)||aNt));v.ScrollBar=bNt;var ENt,CNt,xNt,wNt,RNt,INt,DNt,BNt,MNt,PNt,ONt,LNt,FNt,NNt,kNt,GNt,VNt,UNt,zNt,HNt,WNt,XNt=t("h2",Js("cc.ViewGroup")(ANt=Qs(110)(ANt=function(t){function e(){return t.apply(this,arguments)||this}return s(e,t),e}(hp))||ANt)||ANt);v.ViewGroup=XNt;var jNt,YNt,qNt=1e-4,KNt=new un,JNt=new un,ZNt=new kn,QNt=new kn,$Nt=function(){return(new Date).getMilliseconds()},tkt={"scroll-to-top":0,"scroll-to-bottom":1,"scroll-to-left":2,"scroll-to-right":3,scrolling:4,"bounce-bottom":6,"bounce-left":7,"bounce-right":8,"bounce-top":5,"scroll-ended":9,"touch-up":10,"scroll-ended-with-threshold":11,"scroll-began":12};!function(t){t.SCROLL_TO_TOP="scroll-to-top",t.SCROLL_TO_BOTTOM="scroll-to-bottom",t.SCROLL_TO_LEFT="scroll-to-left",t.SCROLL_TO_RIGHT="scroll-to-right",t.SCROLL_BEGAN="scroll-began",t.SCROLL_ENDED="scroll-ended",t.BOUNCE_TOP="bounce-top",t.BOUNCE_BOTTOM="bounce-bottom",t.BOUNCE_LEFT="bounce-left",t.BOUNCE_RIGHT="bounce-right",t.SCROLLING="scrolling",t.SCROLL_ENG_WITH_THRESHOLD="scroll-ended-with-threshold",t.TOUCH_UP="touch-up"}(jNt||(jNt={})),function(t){t[t.NONE=0]="NONE",t[t.LEFT=1]="LEFT",t[t.RIGHT=2]="RIGHT"}(YNt||(YNt={}));var ekt,ikt,nkt,rkt,skt,akt,okt,hkt,ukt,lkt,ckt,_kt,fkt,dkt=t("g_",(ENt=Js("cc.ScrollView"),CNt=Qs(110),xNt=Zs(sG),wNt=Ia(tg),RNt=Ia(bNt),INt=Ia(bNt),DNt=Ia([sp]),ENt(BNt=CNt(BNt=xNt(((WNt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r=0?e:0,i=i>=0?i:0)},i.scrollToPercentHorizontal=function(t,e,i){var n=this._calculateMovePercentDelta({anchor:new kn(t,0),applyToHorizontal:!0,applyToVertical:!1});e?this._startAutoScroll(n,e,!1!==i):this._moveContent(n)},i.scrollTo=function(t,e,i){var n=this._calculateMovePercentDelta({anchor:new kn(t),applyToHorizontal:!0,applyToVertical:!0});e?this._startAutoScroll(n,e,i):this._moveContent(n)},i.scrollToPercentVertical=function(t,e,i){var n=this._calculateMovePercentDelta({anchor:new kn(0,t),applyToHorizontal:!1,applyToVertical:!0});e?this._startAutoScroll(n,e,i):this._moveContent(n)},i.stopAutoScroll=function(){this._autoScrolling=!1,this._autoScrollAccumulatedTime=this._autoScrollTotalTime},i.setContentPosition=function(t){this._setContentPosition(t)},i._setContentPosition=function(t){if(this._content){var e=this._getContentPosition();Math.abs(t.x-e.x)7&&!this._touchMoved&&t.target!==this.node){var r=new Mx(t.getTouches(),t.bubbles,Cx.TOUCH_CANCEL);r.touch=t.touch,r.simulate=!0,t.target.dispatchEvent(r),this._touchMoved=!0}this._stopPropagationIfTargetIsMe(t)}}},i._onTouchEnded=function(t,e){if(this.enabledInHierarchy&&this._content&&t&&!this._hasNestedViewGroup(t,e)){this._dispatchEvent(jNt.TOUCH_UP);var i=t.touch;this._handleReleaseLogic(i),this._touchMoved?t.propagationStopped=!0:this._stopPropagationIfTargetIsMe(t)}},i._onTouchCancelled=function(t,e){if(this.enabledInHierarchy&&this._content&&!this._hasNestedViewGroup(t,e)){if(t&&!t.simulate){var i=t.touch;this._handleReleaseLogic(i)}this._stopPropagationIfTargetIsMe(t)}},i._calculateBoundary=function(){if(this._content&&this.view){var t=this._content.getComponent(tNt);t&&t.enabledInHierarchy&&t.updateLayout();var e=this.view,i=e.width*e.anchorX,n=e.height*e.anchorY;this._leftBoundary=-i,this._bottomBoundary=-n,this._rightBoundary=this._leftBoundary+e.width,this._topBoundary=this._bottomBoundary+e.height,this._moveContentToTopLeft(e.contentSize)}},i._hasNestedViewGroup=function(t,e){if(!t||t.eventPhase!==wx.CAPTURING_PHASE)return!1;if(e)for(var i,n=f(e);!(i=n()).done;){var r=i.value;if(this.node===r)return!(!t.target||!t.target.getComponent(XNt));if(r.getComponent(XNt))return!0}return!1},i._startInertiaScroll=function(t){var e=new un(t);e.multiplyScalar(.7),this._startAttenuatingAutoScroll(e,t)},i._calculateAttenuatedFactor=function(t){return this.brake<=0?1-this.brake:(1-this.brake)*(1/(1+14e-6*t+t*t*8e-9))},i._startAttenuatingAutoScroll=function(t,e){var i=t.clone();if(i.normalize(),this._content&&this.view){var n=this._content._uiProps.uiTransformComp.contentSize,r=this.view.contentSize,s=n.width-r.width,a=n.height-r.height,o=this._calculateAttenuatedFactor(s),h=this._calculateAttenuatedFactor(a);i.x=i.x*s*(1-this.brake)*o,i.y=i.y*a*h*(1-this.brake),i.z=0}var u=t.length(),l=i.length()/u;if(i.add(t),this.brake>0&&l>7){l=Math.sqrt(l);var c=t.clone();c.multiplyScalar(l),i.set(c),i.add(t)}var _=this._calculateAutoScrollTimeByInitialSpeed(e.length());this.brake>0&&l>3&&(_*=l=3),0===this.brake&&l>1&&(_*=l),this._startAutoScroll(i,_,!0)},i._calculateAutoScrollTimeByInitialSpeed=function(t){return Math.sqrt(Math.sqrt(t/5))},i._startAutoScroll=function(t,e,i){void 0===i&&(i=!1);var n=this._flattenVectorByDirection(t);this._autoScrolling=!0,this._autoScrollTargetDelta=n,this._autoScrollAttenuate=i,un.copy(this._autoScrollStartPosition,this._getContentPosition()),this._autoScrollTotalTime=e,this._autoScrollAccumulatedTime=0,this._autoScrollBraking=!1,this._isScrollEndedWithThresholdEventFired=!1,this._autoScrollBrakingStartPosition.set(0,0,0),this._getHowMuchOutOfBoundary().equals(un.ZERO,qNt)||(this._autoScrollCurrentlyOutOfBoundary=!0)},i._calculateTouchMoveVelocity=function(){var t=new un,e=0;if((e=this._touchMoveTimeDeltas.reduce((function(t,e){return t+e}),e))<=0||e>=.5)t.set(un.ZERO);else{var i=new un;i=this._touchMoveDisplacements.reduce((function(t,e){return t.add(e),t}),i),t.set(i.x*(1-this.brake)/e,i.y*(1-this.brake)/e,i.z)}return t},i._flattenVectorByDirection=function(t){var e=t;return e.x=this.horizontal?e.x:0,e.y=this.vertical?e.y:0,e},i._moveContent=function(t,e){var i=this._flattenVectorByDirection(t);KNt.set(this._getContentPosition()),KNt.add(i),KNt.set(Math.round(1e4*KNt.x)*qNt,Math.round(1e4*KNt.y)*qNt,KNt.z),this._setContentPosition(KNt);var n=this._getHowMuchOutOfBoundary();ZNt.set(n.x,n.y),this._updateScrollBar(ZNt),this.elastic&&e&&this._startBounceBackIfNeeded()},i._getContentLeftBoundary=function(){if(!this._content)return-1;var t=this._getContentPosition(),e=this._content._uiProps.uiTransformComp;return t.x-e.anchorX*e.width},i._getContentRightBoundary=function(){if(!this._content)return-1;var t=this._content._uiProps.uiTransformComp;return this._getContentLeftBoundary()+t.width},i._getContentTopBoundary=function(){if(!this._content)return-1;var t=this._content._uiProps.uiTransformComp;return this._getContentBottomBoundary()+t.height},i._getContentBottomBoundary=function(){if(!this._content)return-1;var t=this._getContentPosition(),e=this._content._uiProps.uiTransformComp;return t.y-e.anchorY*e.height},i._getHowMuchOutOfBoundary=function(t){if((t=t||new un).equals(un.ZERO,qNt)&&!this._outOfBoundaryAmountDirty)return this._outOfBoundaryAmount;var e=new un,i=this._getContentLeftBoundary(),n=this._getContentRightBoundary();i+t.x>this._leftBoundary?e.x=this._leftBoundary-(i+t.x):n+t.xthis._bottomBoundary&&(e.y=this._bottomBoundary-(s+t.y)),t.equals(un.ZERO,qNt)&&(this._outOfBoundaryAmount=e,this._outOfBoundaryAmountDirty=!1),this._clampDelta(e),e},i._updateScrollBar=function(t){this._horizontalScrollBar&&this._horizontalScrollBar.isValid&&this._horizontalScrollBar.onScroll(t),this._verticalScrollBar&&this._verticalScrollBar.isValid&&this._verticalScrollBar.onScroll(t)},i._onScrollBarTouchBegan=function(){this._horizontalScrollBar&&this._horizontalScrollBar.isValid&&this._horizontalScrollBar.onTouchBegan(),this._verticalScrollBar&&this._verticalScrollBar.isValid&&this._verticalScrollBar.onTouchBegan()},i._onScrollBarTouchEnded=function(){this._horizontalScrollBar&&this._horizontalScrollBar.isValid&&this._horizontalScrollBar.onTouchEnded(),this._verticalScrollBar&&this._verticalScrollBar.isValid&&this._verticalScrollBar.onTouchEnded()},i._dispatchEvent=function(t){if(t===jNt.SCROLL_ENDED)this._scrollEventEmitMask=0;else if(t===jNt.SCROLL_TO_TOP||t===jNt.SCROLL_TO_BOTTOM||t===jNt.SCROLL_TO_LEFT||t===jNt.SCROLL_TO_RIGHT){var e=1<0?l.y-o*u+i.y>=this._bottomBoundary&&(n=jNt.SCROLL_TO_BOTTOM):i.y<0&&l.y-o*u+u+i.y<=this._topBoundary&&(n=jNt.SCROLL_TO_TOP)),this.horizontal&&(i.x<0?l.x-a*h+h+i.x<=this._rightBoundary&&(r=jNt.SCROLL_TO_RIGHT):i.x>0&&l.x-a*h+i.x>=this._leftBoundary&&(r=jNt.SCROLL_TO_LEFT))}this._moveContent(i,!1),(this.horizontal&&0!==i.x||this.vertical&&0!==i.y)&&(this._scrolling||(this._scrolling=!0,this._dispatchEvent(jNt.SCROLL_BEGAN)),this._dispatchEvent(jNt.SCROLLING)),""!==n&&this._dispatchEvent(n),""!==r&&this._dispatchEvent(r)},i._handlePressLogic=function(){this._autoScrolling&&this._dispatchEvent(jNt.SCROLL_ENDED),this._autoScrolling=!1,this._isBouncing=!1,this._touchMovePreviousTimestamp=$Nt(),this._touchMoveDisplacements.length=0,this._touchMoveTimeDeltas.length=0,this._onScrollBarTouchBegan()},i._clampDelta=function(t){if(this._content&&this.view){var e=this.view.contentSize,i=this._content._uiProps.uiTransformComp;i.width=5;)this._touchMoveDisplacements.shift(),this._touchMoveTimeDeltas.shift();this._touchMoveDisplacements.push(e);var i=$Nt();this._touchMoveTimeDeltas.push((i-this._touchMovePreviousTimestamp)/1e3),this._touchMovePreviousTimestamp=i},i._startBounceBackIfNeeded=function(){if(!this.elastic)return!1;var t=this._getHowMuchOutOfBoundary();if(this._clampDelta(t),t.equals(un.ZERO,qNt))return!1;var e=Math.max(this.bounceDuration,0);return this._startAutoScroll(t,e,!0),this._isBouncing||(t.y>0&&this._dispatchEvent(jNt.BOUNCE_TOP),t.y<0&&this._dispatchEvent(jNt.BOUNCE_BOTTOM),t.x>0&&this._dispatchEvent(jNt.BOUNCE_RIGHT),t.x<0&&this._dispatchEvent(jNt.BOUNCE_LEFT),this._isBouncing=!0),!0},i._processInertiaScroll=function(){if(!this._startBounceBackIfNeeded()&&this.inertia){var t=this._calculateTouchMoveVelocity();!t.equals(KNt,qNt)&&this.brake<1&&this._startInertiaScroll(t)}this._onScrollBarTouchEnded()},i._isOutOfBoundary=function(){return!this._getHowMuchOutOfBoundary().equals(un.ZERO,qNt)},i._isNecessaryAutoScrollBrake=function(){if(this._autoScrollBraking)return!0;if(this._isOutOfBoundary()){if(!this._autoScrollCurrentlyOutOfBoundary)return this._autoScrollCurrentlyOutOfBoundary=!0,this._autoScrollBraking=!0,un.copy(this._autoScrollBrakingStartPosition,this._getContentPosition()),!0}else this._autoScrollCurrentlyOutOfBoundary=!1;return!1},i._processAutoScrolling=function(t){var e=this._isNecessaryAutoScrollBrake(),i=e?.05:1;this._autoScrollAccumulatedTime+=t*(1/i);var n,r=Math.min(1,this._autoScrollAccumulatedTime/this._autoScrollTotalTime);this._autoScrollAttenuate&&(n=r,r=(n-=1)*n*n*n*n+1);var s=this._autoScrollTargetDelta.clone();s.multiplyScalar(r);var a=this._autoScrollStartPosition.clone();a.add(s);var o=Math.abs(r-1)<=qNt;if(Math.abs(r-1)<=this.getScrollEndedEventTiming()&&!this._isScrollEndedWithThresholdEventFired&&(this._dispatchEvent(jNt.SCROLL_ENG_WITH_THRESHOLD),this._isScrollEndedWithThresholdEventFired=!0),this.elastic){var h=a.clone();h.subtract(this._autoScrollBrakingStartPosition),e&&h.multiplyScalar(i),a.set(this._autoScrollBrakingStartPosition),a.add(h)}else{var u=a.clone();u.subtract(this.getContentPosition());var l=this._getHowMuchOutOfBoundary(u);l.equals(un.ZERO,qNt)||(a.add(l),o=!0)}o&&(this._autoScrolling=!1);var c=a.clone();c.subtract(this._getContentPosition()),this._clampDelta(c),this._moveContent(c,o),this._dispatchEvent(jNt.SCROLLING),this._autoScrolling||(this._isBouncing=!1,this._scrolling=!1,this._dispatchEvent(jNt.SCROLL_ENDED))},i._checkMouseWheel=function(t){if(!this._getHowMuchOutOfBoundary().equals(un.ZERO,qNt))return this._processInertiaScroll(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent(jNt.SCROLL_ENDED)),this.unschedule(this._checkMouseWheel),void(this._stopMouseWheel=!1);this._mouseWheelEventElapsedTime+=t,this._mouseWheelEventElapsedTime>.1&&(this._onScrollBarTouchEnded(),this._scrolling&&(this._scrolling=!1,this._autoScrolling||this._dispatchEvent(jNt.SCROLL_ENDED)),this.unschedule(this._checkMouseWheel),this._stopMouseWheel=!1)},i._calculateMovePercentDelta=function(t){var e=t.anchor,i=t.applyToHorizontal,n=t.applyToVertical;this._calculateBoundary(),e.clampf(kn.ZERO,kn.ONE);var r=this._getContentBottomBoundary()-this._bottomBoundary;r=-r;var s=this._getContentLeftBoundary()-this._leftBoundary;s=-s;var a=new un;if(this._content&&this.view){var o=0,h=this._content._uiProps.uiTransformComp.contentSize,u=this.view.contentSize;i&&(o=h.width-u.width,a.x=s-o*e.x),n&&(o=h.height-u.height,a.y=r-o*e.y)}return a},i._moveContentToTopLeft=function(t){var e=this._getContentBottomBoundary()-this._bottomBoundary;e=-e;var i=new un,n=0,r=this._getContentLeftBoundary()-this._leftBoundary;if(r=-r,this._content){var s=this._content._uiProps.uiTransformComp.contentSize;s.height1)for(var n=i[0],r=0;r0){var i=this.node.parent&&this.node.parent._uiProps,n=i&&i.uiTransformComp,r=n?n.contentSize:Ml;this.isAlignLeft&&t===fGt.LEFT?this._left=e?this._left*r.width:this._left/r.width:this.isAlignRight&&t===fGt.RIGHT?this._right=e?this._right*r.width:this._right/r.width:this.isAlignHorizontalCenter&&t===fGt.CENTER?this._horizontalCenter=e?this._horizontalCenter*r.width:this._horizontalCenter/r.width:this.isAlignTop&&t===fGt.TOP?this._top=e?this._top*r.height:this._top/r.height:this.isAlignBottom&&t===fGt.BOT?this._bottom=e?this._bottom*r.height:this._bottom/r.height:this.isAbsoluteVerticalCenter&&t===fGt.MID&&(this._verticalCenter=this._verticalCenter/r.height),this._recursiveDirty()}},i._registerTargetEvents=function(){var t=this._target||this.node.parent;t&&t.getComponent(sG)&&(t.on(lm.TRANSFORM_CHANGED,this._setDirtyByMode,this),t.on(lm.SIZE_CHANGED,this._setDirtyByMode,this),t.on(lm.ANCHOR_CHANGED,this._setDirtyByMode,this))},i._unregisterTargetEvents=function(){var t=this._target||this.node.parent;t&&(t.off(lm.TRANSFORM_CHANGED,this._setDirtyByMode,this),t.off(lm.SIZE_CHANGED,this._setDirtyByMode,this),t.off(lm.ANCHOR_CHANGED,this._setDirtyByMode,this))},i._unregisterOldParentEvents=function(t){var e=this._target||t;e&&(e.off(lm.TRANSFORM_CHANGED,this._setDirtyByMode,this),e.off(lm.SIZE_CHANGED,this._setDirtyByMode,this))},i._setDirtyByMode=function(){this.alignMode===_Gt.ALWAYS&&this._recursiveDirty()},i._setAlign=function(t,e){if(e!==(this._alignFlags&t)>0){var i=(t&DGt)>0,n=this.node._uiProps.uiTransformComp;e?(this._alignFlags|=t,i?(this.isAlignHorizontalCenter=!1,this.isStretchWidth&&(this._originalWidth=n.width)):(this.isAlignVerticalCenter=!1,this.isStretchHeight&&(this._originalHeight=n.height))):(i?this.isStretchWidth&&(n.width=this._originalWidth):this.isStretchHeight&&(n.height=this._originalHeight),this._alignFlags&=~t)}},i._recursiveDirty=function(){this._dirty||(this._dirty=!0)},n(e,[{key:"target",get:function(){return this._target},set:function(t){this._target!==t&&(this._unregisterTargetEvents(),this._target=t,this._registerTargetEvents(),this._validateTargetInDEV(),this._recursiveDirty())}},{key:"isAlignTop",get:function(){return(this._alignFlags&fGt.TOP)>0},set:function(t){this._setAlign(fGt.TOP,t),this._recursiveDirty()}},{key:"isAlignBottom",get:function(){return(this._alignFlags&fGt.BOT)>0},set:function(t){this._setAlign(fGt.BOT,t),this._recursiveDirty()}},{key:"isAlignLeft",get:function(){return(this._alignFlags&fGt.LEFT)>0},set:function(t){this._setAlign(fGt.LEFT,t),this._recursiveDirty()}},{key:"isAlignRight",get:function(){return(this._alignFlags&fGt.RIGHT)>0},set:function(t){this._setAlign(fGt.RIGHT,t),this._recursiveDirty()}},{key:"isAlignVerticalCenter",get:function(){return(this._alignFlags&fGt.MID)>0},set:function(t){t?(this.isAlignTop=!1,this.isAlignBottom=!1,this._alignFlags|=fGt.MID):this._alignFlags&=~fGt.MID,this._recursiveDirty()}},{key:"isAlignHorizontalCenter",get:function(){return(this._alignFlags&fGt.CENTER)>0},set:function(t){t?(this.isAlignLeft=!1,this.isAlignRight=!1,this._alignFlags|=fGt.CENTER):this._alignFlags&=~fGt.CENTER,this._recursiveDirty()}},{key:"isStretchWidth",get:function(){return(this._alignFlags&DGt)===DGt}},{key:"isStretchHeight",get:function(){return(this._alignFlags&IGt)===IGt}},{key:"top",get:function(){return this._top},set:function(t){this._top=t,this._recursiveDirty()}},{key:"editorTop",get:function(){return this._isAbsTop?this._top:100*this._top},set:function(t){this._top=this._isAbsTop?t:t/100,this._recursiveDirty()}},{key:"bottom",get:function(){return this._bottom},set:function(t){this._bottom=t,this._recursiveDirty()}},{key:"editorBottom",get:function(){return this._isAbsBottom?this._bottom:100*this._bottom},set:function(t){this._bottom=this._isAbsBottom?t:t/100,this._recursiveDirty()}},{key:"left",get:function(){return this._left},set:function(t){this._left=t,this._recursiveDirty()}},{key:"editorLeft",get:function(){return this._isAbsLeft?this._left:100*this._left},set:function(t){this._left=this._isAbsLeft?t:t/100,this._recursiveDirty()}},{key:"right",get:function(){return this._right},set:function(t){this._right=t,this._recursiveDirty()}},{key:"editorRight",get:function(){return this._isAbsRight?this._right:100*this._right},set:function(t){this._right=this._isAbsRight?t:t/100,this._recursiveDirty()}},{key:"horizontalCenter",get:function(){return this._horizontalCenter},set:function(t){this._horizontalCenter=t,this._recursiveDirty()}},{key:"editorHorizontalCenter",get:function(){return this._isAbsHorizontalCenter?this._horizontalCenter:100*this._horizontalCenter},set:function(t){this._horizontalCenter=this._isAbsHorizontalCenter?t:t/100,this._recursiveDirty()}},{key:"verticalCenter",get:function(){return this._verticalCenter},set:function(t){this._verticalCenter=t,this._recursiveDirty()}},{key:"editorVerticalCenter",get:function(){return this._isAbsVerticalCenter?this._verticalCenter:100*this._verticalCenter},set:function(t){this._verticalCenter=this._isAbsVerticalCenter?t:t/100,this._recursiveDirty()}},{key:"isAbsoluteTop",get:function(){return this._isAbsTop},set:function(t){this._isAbsTop!==t&&(this._isAbsTop=t,this._autoChangedValue(fGt.TOP,this._isAbsTop))}},{key:"isAbsoluteBottom",get:function(){return this._isAbsBottom},set:function(t){this._isAbsBottom!==t&&(this._isAbsBottom=t,this._autoChangedValue(fGt.BOT,this._isAbsBottom))}},{key:"isAbsoluteLeft",get:function(){return this._isAbsLeft},set:function(t){this._isAbsLeft!==t&&(this._isAbsLeft=t,this._autoChangedValue(fGt.LEFT,this._isAbsLeft))}},{key:"isAbsoluteRight",get:function(){return this._isAbsRight},set:function(t){this._isAbsRight!==t&&(this._isAbsRight=t,this._autoChangedValue(fGt.RIGHT,this._isAbsRight))}},{key:"isAbsoluteHorizontalCenter",get:function(){return this._isAbsHorizontalCenter},set:function(t){this._isAbsHorizontalCenter!==t&&(this._isAbsHorizontalCenter=t,this._autoChangedValue(fGt.CENTER,this._isAbsHorizontalCenter))}},{key:"isAbsoluteVerticalCenter",get:function(){return this._isAbsVerticalCenter},set:function(t){this._isAbsVerticalCenter!==t&&(this._isAbsVerticalCenter=t,this._autoChangedValue(fGt.MID,this._isAbsVerticalCenter))}},{key:"alignMode",get:function(){return this._alignMode},set:function(t){this._alignMode=t,this._recursiveDirty()}},{key:"alignFlags",get:function(){return this._alignFlags},set:function(t){this._alignFlags!==t&&(this._alignFlags=t,this._recursiveDirty())}}]),e}(hp)).AlignMode=_Gt,p((Xkt=lGt).prototype,"target",[zkt],Object.getOwnPropertyDescriptor(Xkt.prototype,"target"),Xkt.prototype),p(Xkt.prototype,"alignMode",[Hkt],Object.getOwnPropertyDescriptor(Xkt.prototype,"alignMode"),Xkt.prototype),jkt=Us(Xkt.prototype,"_alignFlags",[sa],(function(){return 0})),Ykt=Us(Xkt.prototype,"_target",[sa],(function(){return null})),qkt=Us(Xkt.prototype,"_left",[sa],(function(){return 0})),Kkt=Us(Xkt.prototype,"_right",[sa],(function(){return 0})),Jkt=Us(Xkt.prototype,"_top",[sa],(function(){return 0})),Zkt=Us(Xkt.prototype,"_bottom",[sa],(function(){return 0})),Qkt=Us(Xkt.prototype,"_horizontalCenter",[sa],(function(){return 0})),$kt=Us(Xkt.prototype,"_verticalCenter",[sa],(function(){return 0})),tGt=Us(Xkt.prototype,"_isAbsLeft",[sa],(function(){return!0})),eGt=Us(Xkt.prototype,"_isAbsRight",[sa],(function(){return!0})),iGt=Us(Xkt.prototype,"_isAbsTop",[sa],(function(){return!0})),nGt=Us(Xkt.prototype,"_isAbsBottom",[sa],(function(){return!0})),rGt=Us(Xkt.prototype,"_isAbsHorizontalCenter",[sa],(function(){return!0})),sGt=Us(Xkt.prototype,"_isAbsVerticalCenter",[sa],(function(){return!0})),aGt=Us(Xkt.prototype,"_originalWidth",[sa],(function(){return 0})),oGt=Us(Xkt.prototype,"_originalHeight",[sa],(function(){return 0})),hGt=Us(Xkt.prototype,"_alignMode",[sa],(function(){return _Gt.ON_WINDOW_RESIZE})),uGt=Us(Xkt.prototype,"_lockFlags",[sa,oa],(function(){return 0})),Wkt=Xkt))||Wkt)||Wkt)||Wkt));v.internal.computeInverseTransForTarget=mGt,v.internal.getReadonlyNodeSize=pGt,v.Widget=BGt;var MGt,PGt=new mn;!function(t){t[t.HORIZONTAL=0]="HORIZONTAL",t[t.VERTICAL=1]="VERTICAL"}(MGt||(MGt={})),Ae(MGt);var OGt,LGt,FGt,NGt,kGt,GGt,VGt,UGt,zGt,HGt,WGt,XGt,jGt,YGt,qGt,KGt,JGt,ZGt,QGt,$Gt,tVt,eVt,iVt,nVt,rVt=t("h5",(gGt=Js("cc.PageViewIndicator"),yGt=Qs(110),vGt=Ia(mN),SGt=Ia(MGt),TGt=Ia(zn),gGt(AGt=yGt(((RGt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r=t.length)){for(var i=0;it.length)for(i=0;i0;--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()}}},n(e,[{key:"spriteFrame",get:function(){return this._spriteFrame},set:function(t){this._spriteFrame!==t&&(this._spriteFrame=t)}},{key:"direction",get:function(){return this._direction},set:function(t){this._direction!==t&&(this._direction=t)}},{key:"cellSize",get:function(){return this._cellSize},set:function(t){this._cellSize!==t&&(this._cellSize=t)}}]),e}(hp)).Direction=MGt,p((bGt=RGt).prototype,"spriteFrame",[vGt],Object.getOwnPropertyDescriptor(bGt.prototype,"spriteFrame"),bGt.prototype),p(bGt.prototype,"direction",[SGt],Object.getOwnPropertyDescriptor(bGt.prototype,"direction"),bGt.prototype),p(bGt.prototype,"cellSize",[TGt],Object.getOwnPropertyDescriptor(bGt.prototype,"cellSize"),bGt.prototype),EGt=Us(bGt.prototype,"spacing",[sa],(function(){return 0})),CGt=Us(bGt.prototype,"_spriteFrame",[sa],(function(){return null})),xGt=Us(bGt.prototype,"_direction",[sa],(function(){return MGt.HORIZONTAL})),wGt=Us(bGt.prototype,"_cellSize",[sa],(function(){return new zn(20,20)})),AGt=bGt))||AGt)||AGt));v.PageViewIndicator=rVt;var sVt,aVt,oVt,hVt=new kn;!function(t){t[t.Unified=0]="Unified",t[t.Free=1]="Free"}(sVt||(sVt={})),Ae(sVt),function(t){t[t.Horizontal=0]="Horizontal",t[t.Vertical=1]="Vertical"}(aVt||(aVt={})),Ae(aVt),function(t){t.PAGE_TURNING="page-turning"}(oVt||(oVt={}));var uVt=t("h4",(OGt=Js("cc.PageView"),LGt=Qs(110),FGt=Ia(sVt),NGt=Ia(aVt),kGt=Ia(rVt),GGt=Ia(bNt),VGt=Ia(bNt),UGt=Ia([sp]),zGt=Ia([sp]),OGt(HGt=LGt(((nVt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r=this._pages.length)this.addPage(t);else{if(!t._uiProps.uiTransformComp)return void q(4301);this._pages.splice(e,0,t),this.content.insertChild(t,e),this._updatePageView()}},i.removePage=function(t){if(t&&this.content){var e=this._pages.indexOf(t);-1!==e?this.removePageAtIndex(e):J(4300,t.name)}},i.removePageAtIndex=function(t){var e=this._pages;if(!(t<0||t>=e.length)){var i=e[t];i&&this.content&&(this.content.removeChild(i),e.splice(t,1),this._updatePageView())}},i.removeAllPages=function(){if(this.content){for(var t=this._pages,e=0,i=t.length;e=this._pages.length||(this._curPageIdx=t,this.scrollToOffset(this._moveOffsetValue(t),e,!0),this.indicator&&this.indicator._changedState())},i.getScrollEndedEventTiming=function(){return this.pageTurningEventTiming},i._updatePageView=function(){if(this.content){var t=this.content.getComponent(tNt);t&&t.enabled&&t.updateLayout();var e=this._pages.length;this._curPageIdx>=e&&(this._curPageIdx=0===e?0:e-1,this._lastPageIdx=this._curPageIdx);for(var i=this._initContentPos,n=0;n0){var i=this._pages[0]._uiProps.uiTransformComp,n=this._pages[this._pages.length-1]._uiProps.uiTransformComp;this.direction===aVt.Horizontal?(e.paddingLeft=(t.width-i.width)/2,e.paddingRight=(t.width-n.width)/2):this.direction===aVt.Vertical&&(e.paddingTop=(t.height-i.height)/2,e.paddingBottom=(t.height-n.height)/2)}e.updateLayout()}}},i._initPages=function(){if(this.content){this._initContentPos=this.content.position;for(var t=this.content.children,e=0;e=0||this._pages.push(i)}this._syncScrollDirection(),this._syncSizeMode(),this._updatePageView()}},i._dispatchPageTurningEvent=function(){this._lastPageIdx!==this._curPageIdx&&(this._lastPageIdx=this._curPageIdx,sp.emitEvents(this.pageEvents,this,oVt.PAGE_TURNING),this.node.emit(oVt.PAGE_TURNING,this))},i._isQuicklyScrollable=function(t){if(this.direction===aVt.Horizontal){if(Math.abs(t.x)>this.autoPageTurningThreshold)return!0}else if(this.direction===aVt.Vertical&&Math.abs(t.y)>this.autoPageTurningThreshold)return!0;return!1},i._moveOffsetValue=function(t){var e=new kn;if(this._sizeMode===sVt.Free)this.direction===aVt.Horizontal?e.x=this._scrollCenterOffsetX[t]:this.direction===aVt.Vertical&&(e.y=this._scrollCenterOffsetY[t]);else{var i=this.view;if(!i)return e;this.direction===aVt.Horizontal?e.x=t*i.width:this.direction===aVt.Vertical&&(e.y=t*i.height)}return e},i._getDragDirection=function(t){return this._direction===aVt.Horizontal?0===t.x?0:t.x>0?1:-1:0===t.y?0:t.y<0?1:-1},i._isScrollable=function(t,e,i){if(this._sizeMode===sVt.Free){var n=0,r=0;if(this.direction===aVt.Horizontal)return n=this._scrollCenterOffsetX[e],r=this._scrollCenterOffsetX[i],Math.abs(t.x)>=Math.abs(n-r)*this.scrollThreshold;if(this.direction===aVt.Vertical)return n=this._scrollCenterOffsetY[e],r=this._scrollCenterOffsetY[i],Math.abs(t.y)>=Math.abs(n-r)*this.scrollThreshold}else{var s=this.view;if(!s)return!1;if(this.direction===aVt.Horizontal)return Math.abs(t.x)>=s.width*this.scrollThreshold;if(this.direction===aVt.Vertical)return Math.abs(t.y)>=s.height*this.scrollThreshold}return!1},i._autoScrollToPage=function(){if(this._startBounceBackIfNeeded()){var t=this._getHowMuchOutOfBoundary();this._clampDelta(t),(t.x>0||t.y<0)&&(this._curPageIdx=0===this._pages.length?0:this._pages.length-1),(t.x<0||t.y>0)&&(this._curPageIdx=0),this.indicator&&this.indicator._changedState()}else{var e=new kn;kn.subtract(e,this._touchBeganPosition,this._touchEndPosition);var i=this._curPageIdx,n=i+this._getDragDirection(e),r=this.pageTurningSpeed*Math.abs(i-n);if(n1e-10?e:t}var n=t.node,r=n.parent;if(r){var s=dVt;s.set(0,0);var a=pVt;if(a.set(1,1),t.target&&mGt(n,r=t.target,s,a),!e)return;var o=r._uiProps&&r._uiProps.uiTransformComp,h=o?o.anchorPoint:cVt,u=n._uiProps.uiTransformComp,l=pGt(r),c=u.anchorPoint,_=n.getPosition(),f=fGt,d=n.getScale(),p=0;if(e&f.LEFT){var m=-h.x*l.width;m+=s.x,m*=a.x,p=_.x-c.x*u.width*Math.abs(d.x)-m,t.isAbsoluteLeft||(p/=l.width),p/=a.x,t.left=i(t.left,p)}if(e&f.RIGHT){var g=(1-h.x)*l.width;g+=s.x,p=(g*=a.x)-(_.x+(1-c.x)*u.width*Math.abs(d.x)),t.isAbsoluteRight||(p/=l.width),p/=a.x,t.right=i(t.right,p)}if(e&f.TOP){var y=(1-h.y)*l.height;y+=s.y,p=(y*=a.y)-(_.y+(1-c.y)*u.height*Math.abs(d.y)),t.isAbsoluteTop||(p/=l.height),p/=a.y,t.top=i(t.top,p)}if(e&f.BOT){var v=-h.y*l.height;v+=s.y,v*=a.y,p=_.y-c.y*u.height*Math.abs(d.y)-v,t.isAbsoluteBottom||(p/=l.height),p/=a.y,t.bottom=i(t.bottom,p)}}},updateAlignment:function t(e){var i=e.parent;i&&tg.isNode(i)&&t(i);var n=e.getComponent(BGt);n&&i&&mVt(e,n)},AlignMode:_Gt,AlignFlags:fGt});dF.on(fF.EVENT_INIT,(function(){TVt.init()}));var AVt,bVt,EVt,CVt,xVt,wVt,RVt,IVt,DVt,BVt,MVt,PVt,OVt=t("h6",Js("cc.SafeArea")(vVt=Qs(110)(vVt=Zs(BGt)(vVt=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.onEnable=function(){this.updateArea(),Rl.on("window-resize",this.updateArea,this),Rl.on("orientation-change",this.updateArea,this)},i.onDisable=function(){Rl.off("window-resize",this.updateArea,this),Rl.off("orientation-change",this.updateArea,this)},i.updateArea=function(){var t=this.node.getComponent(BGt),e=this.node.getComponent(sG);if(t&&e){t.updateAlignment();var i=this.node.position.clone(),n=e.anchorPoint.clone();t.isAlignTop=t.isAlignBottom=t.isAlignLeft=t.isAlignRight=!0;var r=bH.getVisibleSize(),s=r.width,a=r.height,o=Bl.getSafeAreaRect();t.top=a-o.y-o.height,t.bottom=o.y,t.left=o.x,t.right=s-o.x-o.width,t.updateAlignment();var h=this.node.position.clone(),u=n.x-(h.x-i.x)/e.width,l=n.y-(h.y-i.y)/e.height;e.setAnchorPoint(u,l),TVt.add(t)}},e}(hp))||vVt)||vVt)||vVt);v.SafeArea=OVt;var LVt,FVt=t("h7",(AVt=Js("cc.UICoordinateTracker"),bVt=Qs(110),EVt=Ia(tg),CVt=Ia(pH),xVt=Ia([sp]),AVt(wVt=bVt((p((RVt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r0)){var i=this._distance/Math.abs(this._viewPos.z);sp.emitEvents(this.syncEvents,this._transformPos,i)}},i._checkCanMove=function(){this._canMove=!(!this._camera||!this._target)},n(e,[{key:"target",get:function(){return this._target},set:function(t){this._target!==t&&(this._target=t,this._checkCanMove())}},{key:"camera",get:function(){return this._camera},set:function(t){this._camera!==t&&(this._camera=t,this._checkCanMove())}},{key:"useScale",get:function(){return this._useScale},set:function(t){this._useScale!==t&&(this._useScale=t)}},{key:"distance",get:function(){return this._distance},set:function(t){this._distance!==t&&(this._distance=t)}}]),e}(hp)).prototype,"target",[EVt],Object.getOwnPropertyDescriptor(RVt.prototype,"target"),RVt.prototype),p(RVt.prototype,"camera",[CVt],Object.getOwnPropertyDescriptor(RVt.prototype,"camera"),RVt.prototype),IVt=Us(RVt.prototype,"syncEvents",[xVt,sa],(function(){return[]})),DVt=Us(RVt.prototype,"_target",[sa],(function(){return null})),BVt=Us(RVt.prototype,"_camera",[sa],(function(){return null})),MVt=Us(RVt.prototype,"_useScale",[sa],(function(){return!0})),PVt=Us(RVt.prototype,"_distance",[sa],(function(){return 1})),wVt=RVt))||wVt)||wVt)),NVt=[lm.TOUCH_START,lm.TOUCH_END,lm.TOUCH_MOVE,lm.MOUSE_DOWN,lm.MOUSE_MOVE,lm.MOUSE_UP,lm.MOUSE_ENTER,lm.MOUSE_LEAVE,lm.MOUSE_WHEEL];function kVt(t){t.propagationStopped=!0}var GVt,VVt,UVt,zVt,HVt,WVt=t("h8",Js("cc.BlockInputEvents")(LVt=function(t){function e(){return t.apply(this,arguments)||this}s(e,t);var i=e.prototype;return i.onEnable=function(){for(var t=0;tn?n:i;e.width*=r,e.height*=r;var s=bH.getViewportRect(),a=e.getBoundingBoxToWorld(),o=bH.getVisibleSize(),h=Rl.devicePixelRatio,u=(s.width*(a.x/o.width)+s.x)/h,l=(s.height*(a.y/o.height)+s.y)/h,c=s.width*(a.width/o.width)/h,_=s.height*(a.height/o.height)/h;this._openDataContext.postMessage({fromEngine:!0,type:"engine",event:"viewport",x:u,y:l,width:c,height:_})}},i._updateSubContextTexture=function(){var t=this._imageAsset;if(t&&this._openDataContext&&!(t.width<=0||t.height<=0)){var e=this._openDataContext.canvas;t.reset(e),(e.width>t.width||e.height>t.height)&&this._texture.create(e.width,e.height),this._texture.uploadData(e)}},i._registerNodeEvent=function(){this.node.on(lm.TRANSFORM_CHANGED,this._updateSubContextView,this),this.node.on(lm.SIZE_CHANGED,this._updateSubContextView,this),this.node.on(lm.LAYER_CHANGED,this._updateContentLayer,this)},i._unregisterNodeEvent=function(){this.node.off(lm.TRANSFORM_CHANGED,this._updateSubContextView,this),this.node.off(lm.SIZE_CHANGED,this._updateSubContextView,this),this.node.off(lm.LAYER_CHANGED,this._updateContentLayer,this)},i._updateContentLayer=function(){this._content.layer=this.node.layer},i.update=function(t){void 0===t?this._updateSubContextTexture():performance.now()-this._updatedTime>=this._updateInterval&&(this._updatedTime+=this._updateInterval,this._updateSubContextTexture())},i.onDestroy=function(){this._content.destroy(),this._texture.destroy(),this._sprite&&this._sprite.destroy(),this._imageAsset.destroy(),this._openDataContext=null},n(e,[{key:"designResolutionSize",get:function(){return this._designResolutionSize},set:function(){}},{key:"fps",get:function(){return this._fps},set:function(t){this._fps!==t&&(this._fps=t,this._updateInterval=1e3/t)}}]),e}(hp),UVt=Us(VVt.prototype,"_fps",[sa],(function(){return 60})),zVt=Us(VVt.prototype,"_designResolutionSize",[sa],(function(){return new zn(640,960)})),GVt=VVt))||GVt)||GVt)||GVt);v.SubContextView=XVt,gt({ButtonComponent:{newName:"Button",since:"1.2.0",removed:!1},EditBoxComponent:{newName:"EditBox",since:"1.2.0",removed:!1},LayoutComponent:{newName:"Layout",since:"1.2.0",removed:!1},ProgressBarComponent:{newName:"ProgressBar",since:"1.2.0",removed:!1},ScrollViewComponent:{newName:"ScrollView",since:"1.2.0",removed:!1},ScrollBarComponent:{newName:"ScrollBar",since:"1.2.0",removed:!1},SliderComponent:{newName:"Slider",since:"1.2.0",removed:!1},ToggleComponent:{newName:"Toggle",since:"1.2.0",removed:!1},ToggleContainerComponent:{newName:"ToggleContainer",since:"1.2.0",removed:!1},WidgetComponent:{newName:"Widget",since:"1.2.0",removed:!1},PageViewComponent:{newName:"PageView",since:"1.2.0",removed:!1},PageViewIndicatorComponent:{newName:"PageViewIndicator",since:"1.2.0",removed:!1},SafeAreaComponent:{newName:"SafeArea",since:"1.2.0",removed:!1},UICoordinateTrackerComponent:{newName:"UICoordinateTracker",since:"1.2.0",removed:!1},BlockInputEventsComponent:{newName:"BlockInputEvents",since:"1.2.0",removed:!1}});var jVt,YVt,qVt,KVt=t("he",Js("cc.UIReorderComponent")(HVt=function(){J(1408,"UIReorderComponent")})||HVt);v.UIReorderComponent=KVt,v.ButtonComponent=pLt,$t(pLt,"cc.ButtonComponent"),v.EditBoxComponent=kFt,$t(kFt,"cc.EditBoxComponent"),v.LayoutComponent=tNt,$t(tNt,"cc.LayoutComponent"),v.ProgressBarComponent=dNt,$t(dNt,"cc.ProgressBarComponent"),v.ScrollViewComponent=dkt,$t(dkt,"cc.ScrollViewComponent"),v.ScrollBarComponent=bNt,$t(bNt,"cc.ScrollBarComponent"),v.SliderComponent=Ikt,$t(Ikt,"cc.SliderComponent"),v.ToggleComponent=kkt,$t(kkt,"cc.ToggleComponent"),v.ToggleContainerComponent=cGt,$t(cGt,"cc.ToggleContainerComponent"),v.WidgetComponent=BGt,$t(BGt,"cc.WidgetComponent"),v.PageViewComponent=uVt,$t(uVt,"cc.PageViewComponent"),v.PageViewIndicatorComponent=rVt,$t(rVt,"cc.PageViewIndicatorComponent"),v.SafeAreaComponent=OVt,$t(OVt,"cc.SafeAreaComponent"),$t(FVt,"cc.UICoordinateTrackerComponent"),v.BlockInputEventsComponent=WVt,$t(WVt,"cc.BlockInputEventsComponent"),at(yH.prototype,"View.prototype",[{name:"isAntiAliasEnabled",suggest:"The API of Texture2d have been largely modified, no alternative"},{name:"enableAntiAlias",suggest:"The API of Texture2d have been largely modified, no alternative"}]),ot(yH.prototype,"View.prototype",[{name:"adjustViewportMeta"},{name:"enableAutoFullScreen",suggest:"use screen.requestFullScreen() instead."},{name:"isAutoFullScreenEnabled"},{name:"setCanvasSize",suggest:"setting size in CSS pixels is not recommended, please use screen.windowSize instead."},{name:"getCanvasSize",suggest:"please use screen.windowSize instead."},{name:"getFrameSize",suggest:"getting size in CSS pixels is not recommended, please use screen.windowSize instead."},{name:"setFrameSize",suggest:"setting size in CSS pixels is not recommended, please use screen.windowSize instead."},{name:"getDevicePixelRatio",suggest:"use screen.devicePixelRatio instead."},{name:"convertToLocationInView"},{name:"enableRetina"},{name:"isRetinaEnabled"},{name:"setRealPixelResolution"}]);var JVt=t("hf",Js("cc.VideoClip")((YVt=function(t){function e(){var e;return(e=t.call(this)||this)._duration=qVt&&qVt(),e._video=null,e}return s(e,t),n(e,[{key:"_nativeAsset",get:function(){return this._video},set:function(t){this._video=t,this._duration=t?t.duration:0}}]),e}(ld),qVt=Us(YVt.prototype,"_duration",[sa],(function(){return 0})),jVt=YVt))||jVt),ZVt=T.document;function QVt(t,e,i){var n=ZVt.createElement("video"),r=ZVt.createElement("source");n.appendChild(r);var s=new XMLHttpRequest;s.open("GET",t,!0),s.responseType="blob",s.onload=function(){200===this.status||0===this.status?(r.src=URL.createObjectURL(this.response),i(null,n)):i(new Error(s.status+"(no response)"))},s.onerror=function(){var e="load video failure - "+t;G(e),i(new Error(e))},s.send()}function $Vt(t,e,i,n){var r=new JVt;r._nativeUrl=t,r._nativeAsset=e,n(null,r)}wS.register({".mp4":QVt,".avi":QVt,".mov":QVt,".mpg":QVt,".mpeg":QVt,".rm":QVt,".rmvb":QVt}),GS.register({".mp4":$Vt,".avi":$Vt,".mov":$Vt,".mpg":$Vt,".mpeg":$Vt,".rm":$Vt,".rmvb":$Vt});var tUt,eUt,iUt=ve({REMOTE:0,LOCAL:1});!function(t){t.NONE="none",t.PLAYING="playing",t.PAUSED="paused",t.STOPPED="stopped",t.COMPLETED="completed",t.META_LOADED="meta-loaded",t.READY_TO_PLAY="ready-to-play",t.ERROR="error",t.CLICKED="clicked"}(tUt||(tUt={})),function(t){t[t.HAVE_NOTHING=0]="HAVE_NOTHING",t[t.HAVE_METADATA=1]="HAVE_METADATA",t[t.HAVE_CURRENT_DATA=2]="HAVE_CURRENT_DATA",t[t.HAVE_FUTURE_DATA=3]="HAVE_FUTURE_DATA",t[t.HAVE_ENOUGH_DATA=4]="HAVE_ENOUGH_DATA"}(eUt||(eUt={}));var nUt=function(){function t(t){var e=this;this._componentEventList=new Map,this._state=tUt.NONE,this._video=null,this._onInterruptedBegin=void 0,this._onInterruptedEnd=void 0,this._interrupted=!1,this._loaded=!1,this._loadedMeta=!1,this._ignorePause=!1,this._fullScreenOnAwake=!1,this._visible=!0,this._playing=!1,this._cachedCurrentTime=-1,this._waitingFullscreen=!1,this._waitingPlay=!1,this._keepAspectRatio=!1,this._component=null,this._uiTrans=null,this._node=null,this._stayOnBottom=!1,this._dirty=!1,this._forceUpdate=!1,this._w=0,this._h=0,this._m00=0,this._m01=0,this._m04=0,this._m05=0,this._m12=0,this._m13=0,this._component=t,this._node=t.node,this._uiTrans=t.node.getComponent(sG),this._onInterruptedBegin=function(){e.video&&e._state===tUt.PLAYING&&(e.video.pause(),e._interrupted=!0)},this._onInterruptedEnd=function(){e._interrupted&&e.video&&(e.video.play(),e._interrupted=!1)},v.game.on(v.Game.EVENT_PAUSE,this._onInterruptedBegin),v.game.on(v.Game.EVENT_RESUME,this._onInterruptedEnd)}var e=t.prototype;return e.onLoadedMetadata=function(t){this._loadedMeta=!0,this._forceUpdate=!0,this._visible?this.enable():this.disable(),this.dispatchEvent(tUt.META_LOADED);var e=t.target;this._keepAspectRatio&&e&&this.syncUITransform(e.videoWidth,e.videoHeight),this.delayedFullScreen(),this.delayedPlay()},e.onCanPlay=function(){this._loaded=!0,this.dispatchEvent(tUt.READY_TO_PLAY)},e.onPlay=function(){this._playing=!0,this.dispatchEvent(tUt.PLAYING)},e.onPlaying=function(){this.dispatchEvent(tUt.PLAYING)},e.onPause=function(){this._playing=!1,this._ignorePause?this._ignorePause=!1:this.dispatchEvent(tUt.PAUSED)},e.onStoped=function(){this._playing=!1,this._ignorePause=!1,this.dispatchEvent(tUt.STOPPED)},e.onEnded=function(){this._playing=!1,this.dispatchEvent(tUt.COMPLETED)},e.onClick=function(){this.dispatchEvent(tUt.CLICKED)},e.onError=function(t){this.dispatchEvent(tUt.ERROR);var e=t.target;e&&e.error&&U("Error "+e.error.code+"; details: "+e.error.message)},e.play=function(){this._loadedMeta||this._loaded?this.canPlay():this._waitingPlay=!0},e.delayedPlay=function(){this._waitingPlay&&(this.canPlay(),this._waitingPlay=!1)},e.syncFullScreenOnAwake=function(t){this._fullScreenOnAwake=t,this._loadedMeta||this._loaded?this.canFullScreen(t):this._waitingFullscreen=!0},e.delayedFullScreen=function(){this._waitingFullscreen&&(this.canFullScreen(this._fullScreenOnAwake),this._waitingFullscreen=!1)},e.dispatchEvent=function(t){var e=this._componentEventList.get(t);e&&(this._state=t,e.call(this))},e.syncUITransform=function(t,e){this._uiTrans&&(this._uiTrans.width=t,this._uiTrans.height=e)},e.syncCurrentTime=function(){this.video&&-1!==this._cachedCurrentTime&&this.video.currentTime!==this._cachedCurrentTime&&(this.seekTo(this._cachedCurrentTime),this._cachedCurrentTime=-1)},e.destroy=function(){this.removeVideoPlayer(),this._componentEventList.clear(),v.game.off(v.Game.EVENT_PAUSE,this._onInterruptedBegin),v.game.off(v.Game.EVENT_RESUME,this._onInterruptedEnd)},n(t,[{key:"fullScreenOnAwake",get:function(){return this._fullScreenOnAwake}},{key:"loaded",get:function(){return this._loaded}},{key:"componentEventList",get:function(){return this._componentEventList}},{key:"video",get:function(){return this._video}},{key:"state",get:function(){return this._state}},{key:"isPlaying",get:function(){return this._playing}},{key:"UICamera",get:function(){return dF.root.batcher2D.getFirstRenderCamera(this._node)}}]),t}();v.internal.VideoPlayerImpl=nUt;var rUt,sUt,aUt,oUt,hUt,uUt,lUt,cUt,_Ut,fUt,dUt,pUt,mUt,gUt,yUt,vUt,SUt,TUt,AUt,bUt,EUt,CUt=T.document,xUt=-Math.pow(2,15),wUt=Fn(),RUt=function(t){function e(e){var i;return(i=t.call(this,e)||this)._eventList=new Map,i._clearColorA=-1,i._clearFlag=void 0,i}s(e,t);var i=e.prototype;return i.addListener=function(t,e){this._video&&(this._eventList.set(t,e),this._video.addEventListener(t,e))},i.removeAllListeners=function(){var t=this;this._eventList.forEach((function(e,i){t._video&&t._video.removeEventListener(i,e)})),this._eventList.clear()},i.canPlay=function(){var t=this;if(this.video){var e=this.video.play();T.Promise&&e instanceof Promise&&e.catch((function(){})).then((function(){t.syncCurrentTime()}))}},i.pause=function(){this.video&&(this.video.pause(),this._cachedCurrentTime=this.video.currentTime)},i.resume=function(){this.play()},i.stop=function(){var t=this;this.video&&(this._ignorePause=!0,this.video.currentTime=0,this.video.pause(),this._cachedCurrentTime=0,setTimeout((function(){t._ignorePause=!1,t.dispatchEvent(tUt.STOPPED)}),0))},i.syncClip=function(t){this.removeVideoPlayer(),t&&this.createVideoPlayer(t.nativeUrl)},i.syncURL=function(t){this.removeVideoPlayer(),t&&this.createVideoPlayer(t)},i.syncPlaybackRate=function(t){Bl.browserType!==tl.UC?this.video&&(this.video.playbackRate=t):V("playbackRate is not supported by the uc mobile browser.")},i.syncVolume=function(t){this.video&&(this.video.volume=t)},i.syncMute=function(t){this.video&&(this.video.muted=t)},i.syncLoop=function(t){this.video&&(this.video.loop=t)},i.getDuration=function(){return this.video?this.video.duration:0},i.getCurrentTime=function(){return this.video?this.video.currentTime:-1},i.seekTo=function(t){this.video&&(this.video.currentTime=t,this._cachedCurrentTime=this.video.currentTime)},i.canFullScreen=function(t){var e=this,i=this._video;if(i&&i.readyState===eUt.HAVE_ENOUGH_DATA)return Bl.os===nl.IOS&&Bl.isBrowser?(t?i.webkitEnterFullscreen&&i.webkitEnterFullscreen():i.webkitExitFullscreen&&i.webkitExitFullscreen(),void(this._fullScreenOnAwake=i.webkitDisplayingFullscreen)):Dl.supportsFullScreen?void(t?(Bl.browserType===tl.IE&&(i.style.transform=""),i.setAttribute("x5-video-player-fullscreen","true"),Dl.requestFullScreen(i,(function(t){var n=Bl.browserType===tl.IE?t.msFullscreenElement:t.fullscreenElement;e._fullScreenOnAwake=n===i}),(function(){e._fullScreenOnAwake=!1}))):(i.removeAttribute("x5-video-player-fullscreen"),Dl.exitFullScreen())):(this._fullScreenOnAwake=t,this._forceUpdate=!0,void this.syncMatrix())},i.syncStayOnBottom=function(t){this._video&&(this._video.style["z-index"]=t?xUt:0,this._stayOnBottom=t),this._dirty=!0},i.syncKeepAspectRatio=function(t){this._keepAspectRatio=t,t&&this._loadedMeta&&this._video&&this.syncUITransform(this._video.videoWidth,this._video.videoHeight)},i.removeVideoPlayer=function(){var t=this._video;t&&Le(SF.container,t)&&(SF.container.removeChild(t),this.removeAllListeners()),this._cachedCurrentTime=0,this._playing=!1,this._loaded=!1,this._loadedMeta=!1,this._video=null},i.createVideoPlayer=function(t){var e=this._video=CUt.createElement("video");e.className="cocosVideo",e.style.visibility="hidden",e.style.position="absolute",e.style.bottom="0px",e.style.left="0px",e.style["transform-origin"]="0px 100% 0px",e.style["-webkit-transform-origin"]="0px 100% 0px",e.setAttribute("preload","auto"),e.setAttribute("webkit-playsinline",""),e.setAttribute("x5-playsinline",""),e.setAttribute("playsinline",""),this._bindDomEvent(),SF.container.appendChild(e);var i=CUt.createElement("source");e.appendChild(i),i.src=t},i._bindDomEvent=function(){this._video,this.addListener("loadedmetadata",this.onLoadedMetadata.bind(this)),this.addListener("canplay",this.onCanPlay.bind(this)),this.addListener("canplaythrough",this.onCanPlay.bind(this)),this.addListener("play",this.onPlay.bind(this)),this.addListener("playing",this.onPlaying.bind(this)),this.addListener("pause",this.onPause.bind(this)),this.addListener("click",this.onClick.bind(this)),this.addListener("ended",this.onEnded.bind(this)),this.addListener("error",this.onError.bind(this))},i.onCanPlay=function(e){var i=e.target;if(!this._loaded||!i)switch(i.readyState){case eUt.HAVE_METADATA:case eUt.HAVE_ENOUGH_DATA:t.prototype.onCanPlay.call(this,e)}},i.enable=function(){if(this._video){if(this._visible=!0,"visible"===this._video.style.visibility)return;this._video.style.visibility="visible"}},i.disable=function(t){if(this._video){if(!t&&this._playing&&this._video.pause(),this._visible=!1,"hidden"===this._video.style.visibility)return;this._video.style.visibility="hidden"}},i.syncMatrix=function(){if(this._video&&this._visible&&this._component){var t=this.UICamera;if(t&&!Dl.fullScreen()){this._dirty&&(this._dirty=!1,this._stayOnBottom?(this._clearColorA=t.clearColor.w,this._clearFlag=t.clearFlag,t.clearColor.w=0,t.clearFlag=Ic.ALL):this._clearFlag&&(t.clearColor.w=this._clearColorA,t.clearFlag=this._clearFlag,this._clearColorA=-1,this._clearFlag=null)),this._component.node.getWorldMatrix(wUt),t.update(!0),t.worldMatrixToScreen(wUt,wUt,SF.canvas.width,SF.canvas.height);var e=0,i=0;if(this._fullScreenOnAwake?(e=Ml.width,i=Ml.height):(e=this._uiTrans.contentSize.width,i=this._uiTrans.contentSize.height),this._forceUpdate||this._m00!==wUt.m00||this._m01!==wUt.m01||this._m04!==wUt.m04||this._m05!==wUt.m05||this._m12!==wUt.m12||this._m13!==wUt.m13||this._w!==e||this._h!==i){this._m00=wUt.m00,this._m01=wUt.m01,this._m04=wUt.m04,this._m05=wUt.m05,this._m12=wUt.m12,this._m13=wUt.m13,this._w=e,this._h=i;var n=Rl.devicePixelRatio,r=1/n,s=1/n,a=SF.container,o=wUt.m00*r,h=wUt.m01,u=wUt.m04,l=wUt.m05*s;this._video.style.width=this._w+"px",this._video.style.height=this._h+"px",Bl.browserType!==tl.MOBILE_QQ?this._video.style.objectFit=this._keepAspectRatio?"none":"fill":V("keepAspectRatio is not supported by the qq mobile browser.");var c=this._w*r,_=this._h*s,f=this._uiTrans.anchorPoint,d=f.x,p=f.y,m=c*wUt.m00*d,g=_*wUt.m05*p,y=a&&a.style.paddingLeft?parseInt(a.style.paddingLeft):0,v=a&&a.style.paddingBottom?parseInt(a.style.paddingBottom):0,S="matrix("+o+","+-h+","+-u+","+l+","+(wUt.m12*r-m+y)+","+-(wUt.m13*s-g+v)+")";this._video.style.transform=S,this._video.style["-webkit-transform"]=S,Bl.browserType!==tl.IE&&(this._forceUpdate=!1)}}}},e}(nUt),IUt=function(){function t(){}return t.getImpl=function(t){return new RUt(t)},t}();v.internal.VideoPlayerImplManager=IUt;var DUt,BUt=t("hg",(rUt=Js("cc.VideoPlayer"),sUt=Zs(sG),aUt=Ia(JVt),oUt=Ia(iUt),hUt=Ia(JVt),uUt=Ia([sp]),rUt(lUt=sUt(((EUt=function(t){function e(){for(var e,i=arguments.length,n=new Array(i),r=0;r1?i-1:0),r=1;r