diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 6704566..0000000 --- a/.gitignore +++ /dev/null @@ -1,104 +0,0 @@ -# Logs -logs -*.log -npm-debug.log* -yarn-debug.log* -yarn-error.log* -lerna-debug.log* - -# Diagnostic reports (https://nodejs.org/api/report.html) -report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json - -# Runtime data -pids -*.pid -*.seed -*.pid.lock - -# Directory for instrumented libs generated by jscoverage/JSCover -lib-cov - -# Coverage directory used by tools like istanbul -coverage -*.lcov - -# nyc test coverage -.nyc_output - -# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) -.grunt - -# Bower dependency directory (https://bower.io/) -bower_components - -# node-waf configuration -.lock-wscript - -# Compiled binary addons (https://nodejs.org/api/addons.html) -build/Release - -# Dependency directories -node_modules/ -jspm_packages/ - -# TypeScript v1 declaration files -typings/ - -# TypeScript cache -*.tsbuildinfo - -# Optional npm cache directory -.npm - -# Optional eslint cache -.eslintcache - -# Microbundle cache -.rpt2_cache/ -.rts2_cache_cjs/ -.rts2_cache_es/ -.rts2_cache_umd/ - -# Optional REPL history -.node_repl_history - -# Output of 'npm pack' -*.tgz - -# Yarn Integrity file -.yarn-integrity - -# dotenv environment variables file -.env -.env.test - -# parcel-bundler cache (https://parceljs.org/) -.cache - -# Next.js build output -.next - -# Nuxt.js build / generate output -.nuxt -dist - -# Gatsby files -.cache/ -# Comment in the public line in if your project uses Gatsby and *not* Next.js -# https://nextjs.org/blog/next-9-1#public-directory-support -# public - -# vuepress build output -.vuepress/dist - -# Serverless directories -.serverless/ - -# FuseBox cache -.fusebox/ - -# DynamoDB Local files -.dynamodb/ - -# TernJS port file -.tern-port diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/1.clearcolor.html b/1.clearcolor.html new file mode 100644 index 0000000..ce5079e --- /dev/null +++ b/1.clearcolor.html @@ -0,0 +1 @@ +
=C&&(C=65536+((1023&C)<<10)|1023&A.charCodeAt(++I)),127>=C){if(g>=Q)break;B[g++]=C}else{if(2047>=C){if(g+1>=Q)break;B[g++]=192|C>>6}else{if(65535>=C){if(g+2>=Q)break;B[g++]=224|C>>12}else{if(g+3>=Q)break;B[g++]=240|C>>18,B[g++]=128|C>>12&63}B[g++]=128|C>>6&63}B[g++]=128|63&C}}B[g]=0}}function W(A){for(var B=0,g=0;g=Q&&(Q=65536+((1023&Q)<<10)|1023&A.charCodeAt(++g)),127>=Q?++B:B=2047>=Q?B+2:65535>=Q?B+3:B+4}return B}function V(A){return 0>2]}var _={};function $(A){switch(A){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: "+A)}}var AA=void 0;function BA(A){for(var B="";U[A];)B+=AA[U[A++]];return B}var gA={},QA={},IA={};function CA(A){var B=Error,g=function(A,B){if(void 0===A)A="_unknown";else{var g=(A=A.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);A=48<=g&&57>=g?"_"+A:A}return new Function("body","return function "+A+'() {\n "use strict"; return body.apply(this, arguments);\n};\n')(B)}(A,(function(B){this.name=A,this.message=B,void 0!==(B=Error(B).stack)&&(this.stack=this.toString()+"\n"+B.replace(/^Error(:[^\n]*)?\n/,""))}));return g.prototype=Object.create(B.prototype),g.prototype.constructor=g,g.prototype.toString=function(){return void 0===this.message?this.name:this.name+": "+this.message},g}var EA=void 0;function DA(A){throw new EA(A)}function GA(A,B,g){if(g=g||{},!("argPackAdvance"in B))throw new TypeError("registerType registeredInstance requires argPackAdvance");var Q=B.name;if(A||DA('type "'+Q+'" must have a positive integer typeid pointer'),QA.hasOwnProperty(A)){if(g.U)return;DA("Cannot register type '"+Q+"' twice")}QA[A]=B,delete IA[A],gA.hasOwnProperty(A)&&(B=gA[A],delete gA[A],B.forEach((function(A){A()})))}var oA=[],RA=[{},{value:void 0},{value:null},{value:!0},{value:!1}];function FA(A){return this.fromWireType(d[A>>2])}function wA(A){if(null===A)return"null";var B=typeof A;return"object"===B||"array"===B||"function"===B?A.toString():""+A}function YA(A,B){switch(B){case 2:return function(A){return this.fromWireType(a[A>>2])};case 3:return function(A){return this.fromWireType(K[A>>3])};default:throw new TypeError("Unknown float type: "+A)}}function MA(A,B,g){switch(B){case 0:return g?function(A){return Z[A]}:function(A){return U[A]};case 1:return g?function(A){return h[A>>1]}:function(A){return y[A>>1]};case 2:return g?function(A){return k[A>>2]}:function(A){return d[A>>2]};default:throw new TypeError("Unknown integer type: "+A)}}var iA,NA={};function ZA(){if(!iA){var A,B={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:G};for(A in NA)B[A]=NA[A];var g=[];for(A in B)g.push(A+"="+B[A]);iA=g}return iA}function UA(A){return 0==A%4&&(0!=A%100||0==A%400)}function hA(A,B){for(var g=0,Q=0;Q<=B;g+=A[Q++]);return g}var yA=[31,29,31,30,31,30,31,31,30,31,30,31],kA=[31,28,31,30,31,30,31,31,30,31,30,31];function dA(A,B){for(A=new Date(A.getTime());0Q-A.getDate())){A.setDate(A.getDate()+B);break}B-=Q-A.getDate()+1,A.setDate(1),11>g?A.setMonth(g+1):(A.setMonth(0),A.setFullYear(A.getFullYear()+1))}return A}function aA(A,B,g,Q){function I(A,B,g){for(A="number"==typeof A?A.toString():A||"";A.lengthA?-1:0=E(D(new Date(A.getFullYear(),0,4)),A)?0>=E(B,A)?A.getFullYear()+1:A.getFullYear():A.getFullYear()-1}var o=k[Q+40>>2];for(var R in Q={Z:k[Q>>2],Y:k[Q+4>>2],N:k[Q+8>>2],M:k[Q+12>>2],K:k[Q+16>>2],J:k[Q+20>>2],O:k[Q+24>>2],P:k[Q+28>>2],ia:k[Q+32>>2],X:k[Q+36>>2],$:o?H(o):""},g=H(g),o={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"})g=g.replace(new RegExp(R,"g"),o[R]);var F="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),w="January February March April May June July August September October November December".split(" ");for(R in o={"%a":function(A){return F[A.O].substring(0,3)},"%A":function(A){return F[A.O]},"%b":function(A){return w[A.K].substring(0,3)},"%B":function(A){return w[A.K]},"%C":function(A){return C((A.J+1900)/100|0,2)},"%d":function(A){return C(A.M,2)},"%e":function(A){return I(A.M,2," ")},"%g":function(A){return G(A).toString().substring(2)},"%G":function(A){return G(A)},"%H":function(A){return C(A.N,2)},"%I":function(A){return 0==(A=A.N)?A=12:12A.N?"AM":"PM"},"%S":function(A){return C(A.Z,2)},"%t":function(){return"\t"},"%u":function(A){return A.O||7},"%U":function(A){var B=new Date(A.J+1900,0,1),g=0===B.getDay()?B:dA(B,7-B.getDay());return 0>E(g,A=new Date(A.J+1900,A.K,A.M))?C(Math.ceil((31-g.getDate()+(hA(UA(A.getFullYear())?yA:kA,A.getMonth()-1)-31)+A.getDate())/7),2):0===E(g,B)?"01":"00"},"%V":function(A){var B=D(new Date(A.J+1900,0,4)),g=D(new Date(A.J+1901,0,4)),Q=dA(new Date(A.J+1900,0,1),A.P);return 0>E(Q,B)?"53":0>=E(g,Q)?"01":C(Math.ceil((B.getFullYear() E(g,A=new Date(A.J+1900,A.K,A.M))?C(Math.ceil((31-g.getDate()+(hA(UA(A.getFullYear())?yA:kA,A.getMonth()-1)-31)+A.getDate())/7),2):0===E(g,B)?"01":"00"},"%y":function(A){return(A.J+1900).toString().substring(2)},"%Y":function(A){return A.J+1900},"%z":function(A){var B=0<=(A=A.X);return A=Math.abs(A)/60,(B?"+":"-")+String("0000"+(A/60*100+A%60)).slice(-4)},"%Z":function(A){return A.$},"%%":function(){return"%"}})0<=g.indexOf(R)&&(g=g.replace(new RegExp(R,"g"),o[R](Q)));return(R=function(A){var B=Array(W(A)+1);return l(A,B,0,B.length),B}(g)).length>B?0:(Z.set(R,A),R.length-1)}for(var KA=Array(256),JA=0;256>JA;++JA)KA[JA]=String.fromCharCode(JA);AA=KA,EA=B.BindingError=CA("BindingError"),B.InternalError=CA("InternalError"),B.count_emval_handles=function(){for(var A=0,B=5;B >2]=63),-1},v:function(A,B){e=B;try{var g=P(),Q=P();if(-1===g||0===Q)var I=-28;else{var C=_.V[g];if(C&&Q===C.fa){var E=(void 0).da(C.ca);_.ba(g,E,Q,C.flags),(void 0).ha(E),_.V[g]=null,C.aa&&lA(C.ga)}I=0}return I}catch(A){return z(A),-A.S}},d:function(){},s:function(A,B,g,Q,I){var C=$(g);GA(A,{name:B=BA(B),fromWireType:function(A){return!!A},toWireType:function(A,B){return B?Q:I},argPackAdvance:8,readValueFromPointer:function(A){if(1===g)var Q=Z;else if(2===g)Q=h;else{if(4!==g)throw new TypeError("Unknown boolean type size: "+B);Q=k}return this.fromWireType(Q[A>>C])},L:null})},q:function(A,B){GA(A,{name:B=BA(B),fromWireType:function(A){var B=RA[A].value;return 4>>D}}var G=-1!=B.indexOf("unsigned");GA(A,{name:B,fromWireType:C,toWireType:function(A,g){if("number"!=typeof g&&"boolean"!=typeof g)throw new TypeError('Cannot convert "'+wA(g)+'" to '+this.name);if(g I)throw new TypeError('Passing a number "'+wA(g)+'" from JS side to C/C++ side to an argument of type "'+B+'", which is outside the valid range ['+Q+", "+I+"]!");return G?g>>>0:0|g},argPackAdvance:8,readValueFromPointer:MA(B,E,0!==Q),L:null})},a:function(A,B,g){function Q(A){A>>=2;var B=d;return new I(B.buffer,B[A+1],B[A])}var I=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][B];GA(A,{name:g=BA(g),fromWireType:Q,argPackAdvance:8,readValueFromPointer:Q},{U:!0})},f:function(A,B){var g="std::string"===(B=BA(B));GA(A,{name:B,fromWireType:function(A){var B=d[A>>2];if(g){var Q=U[A+4+B],I=0;0!=Q&&(I=Q,U[A+4+B]=0);var C=A+4;for(Q=0;Q<=B;++Q){var E=A+4+Q;if(0==U[E]){if(C=H(C),void 0===D)var D=C;else D+=String.fromCharCode(0),D+=C;C=E+1}}0!=I&&(U[A+4+B]=I)}else{for(D=Array(B),Q=0;Q>2]=I,g&&Q)l(B,U,C+4,I+1);else if(Q)for(Q=0;Q>2],C=Array(g),E=A+4>>I,D=0;D>2]=C;for(var G=E+4>>I,o=0;o =B?V(2*B):Math.min(V((3*B+2147483648)/4),2147418112);A:{try{i.grow(B-N.byteLength+65535>>16),L(i.buffer);var g=1;break A}catch(A){}g=void 0}return!!g},h:function(A,B){var g=0;return ZA().forEach((function(Q,I){var C=B+g;for(I=k[A+4*I>>2]=C,C=0;C >0]=Q.charCodeAt(C);Z[I>>0]=0,g+=Q.length+1})),0},i:function(A,B){var g=ZA();k[A>>2]=g.length;var Q=0;return g.forEach((function(A){Q+=A.length+1})),k[B>>2]=Q,0},l:function(){return 0},m:function(){return 0},k:function(A,B,g,Q){try{for(var I=0,C=0;C >2],D=k[B+(8*C+4)>>2],G=0;G >2]=I,0}catch(A){return z(A),A.S}},memory:i,w:function(){},p:function(){},u:function(A,B,g,Q){return aA(A,B,g,Q)},table:J},bA=function(){function A(A){B.asm=A.exports,j--,B.monitorRunDependencies&&B.monitorRunDependencies(j),0==j&&(null!==u&&(clearInterval(u),u=null),T&&(A=T,T=null,A()))}function g(B){A(B.instance)}function Q(A){return(F||!E&&!D||"function"!=typeof fetch?new Promise((function(A){A(O())})):fetch(v,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+v+"'";return A.arrayBuffer()})).catch((function(){return O()}))).then((function(A){return WebAssembly.instantiate(A,I)})).then(A,(function(A){Y("failed to asynchronously prepare wasm: "+A),z(A)}))}var I={env:cA,wasi_unstable:cA};if(j++,B.monitorRunDependencies&&B.monitorRunDependencies(j),B.instantiateWasm)try{return B.instantiateWasm(I,A)}catch(A){return Y("Module.instantiateWasm callback failed with error: "+A),!1}return function(){if(F||"function"!=typeof WebAssembly.instantiateStreaming||f()||"function"!=typeof fetch)return Q(g);fetch(v,{credentials:"same-origin"}).then((function(A){return WebAssembly.instantiateStreaming(A,I).then(g,(function(A){Y("wasm streaming compile failed: "+A),Y("falling back to ArrayBuffer instantiation"),Q(g)}))}))}(),{}}();B.asm=bA;var sA=B.___wasm_call_ctors=function(){return B.asm.x.apply(null,arguments)};B._convert_glsl_to_spirv=function(){return B.asm.y.apply(null,arguments)},B._destroy_output_buffer=function(){return B.asm.z.apply(null,arguments)};var HA=B._malloc=function(){return B.asm.A.apply(null,arguments)},lA=B._free=function(){return B.asm.B.apply(null,arguments)};B.___getTypeName=function(){return B.asm.C.apply(null,arguments)},B.___embind_register_native_and_builtin_types=function(){return B.asm.D.apply(null,arguments)};var WA,VA=B.stackSave=function(){return B.asm.E.apply(null,arguments)},LA=B.stackAlloc=function(){return B.asm.F.apply(null,arguments)},SA=B.stackRestore=function(){return B.asm.G.apply(null,arguments)};function mA(){function A(){if(!WA&&(WA=!0,!c)){if(m(X),m(p),B.onRuntimeInitialized&&B.onRuntimeInitialized(),B.postRun)for("function"==typeof B.postRun&&(B.postRun=[B.postRun]);B.postRun.length;){var A=B.postRun.shift();t.unshift(A)}m(t)}}if(!(0 {const A=()=>new Promise(A=>{C({locateFile:()=>Q,onRuntimeInitialized(){A({compileGLSLZeroCopy:this.compileGLSLZeroCopy,compileGLSL:this.compileGLSL})}})});let B;return()=>(B||(B=A()),B)})()},5:function(A,B,g){"use strict";g.r(B),g.d(B,"glMatrix",(function(){return Q})),g.d(B,"mat2",(function(){return I})),g.d(B,"mat2d",(function(){return C})),g.d(B,"mat3",(function(){return E})),g.d(B,"mat4",(function(){return D})),g.d(B,"quat",(function(){return R})),g.d(B,"quat2",(function(){return F})),g.d(B,"vec2",(function(){return w})),g.d(B,"vec3",(function(){return G})),g.d(B,"vec4",(function(){return o}));var Q={};g.r(Q),g.d(Q,"EPSILON",(function(){return Y})),g.d(Q,"ARRAY_TYPE",(function(){return M})),g.d(Q,"RANDOM",(function(){return i})),g.d(Q,"setMatrixArrayType",(function(){return N})),g.d(Q,"toRadian",(function(){return U})),g.d(Q,"equals",(function(){return h}));var I={};g.r(I),g.d(I,"create",(function(){return y})),g.d(I,"clone",(function(){return k})),g.d(I,"copy",(function(){return d})),g.d(I,"identity",(function(){return a})),g.d(I,"fromValues",(function(){return K})),g.d(I,"set",(function(){return J})),g.d(I,"transpose",(function(){return c})),g.d(I,"invert",(function(){return b})),g.d(I,"adjoint",(function(){return s})),g.d(I,"determinant",(function(){return H})),g.d(I,"multiply",(function(){return l})),g.d(I,"rotate",(function(){return W})),g.d(I,"scale",(function(){return V})),g.d(I,"fromRotation",(function(){return L})),g.d(I,"fromScaling",(function(){return S})),g.d(I,"str",(function(){return m})),g.d(I,"frob",(function(){return n})),g.d(I,"LDU",(function(){return X})),g.d(I,"add",(function(){return p})),g.d(I,"subtract",(function(){return t})),g.d(I,"exactEquals",(function(){return x})),g.d(I,"equals",(function(){return j})),g.d(I,"multiplyScalar",(function(){return u})),g.d(I,"multiplyScalarAndAdd",(function(){return T})),g.d(I,"mul",(function(){return z})),g.d(I,"sub",(function(){return f}));var C={};g.r(C),g.d(C,"create",(function(){return v})),g.d(C,"clone",(function(){return q})),g.d(C,"copy",(function(){return O})),g.d(C,"identity",(function(){return r})),g.d(C,"fromValues",(function(){return e})),g.d(C,"set",(function(){return P})),g.d(C,"invert",(function(){return _})),g.d(C,"determinant",(function(){return $})),g.d(C,"multiply",(function(){return AA})),g.d(C,"rotate",(function(){return BA})),g.d(C,"scale",(function(){return gA})),g.d(C,"translate",(function(){return QA})),g.d(C,"fromRotation",(function(){return IA})),g.d(C,"fromScaling",(function(){return CA})),g.d(C,"fromTranslation",(function(){return EA})),g.d(C,"str",(function(){return DA})),g.d(C,"frob",(function(){return GA})),g.d(C,"add",(function(){return oA})),g.d(C,"subtract",(function(){return RA})),g.d(C,"multiplyScalar",(function(){return FA})),g.d(C,"multiplyScalarAndAdd",(function(){return wA})),g.d(C,"exactEquals",(function(){return YA})),g.d(C,"equals",(function(){return MA})),g.d(C,"mul",(function(){return iA})),g.d(C,"sub",(function(){return NA}));var E={};g.r(E),g.d(E,"create",(function(){return ZA})),g.d(E,"fromMat4",(function(){return UA})),g.d(E,"clone",(function(){return hA})),g.d(E,"copy",(function(){return yA})),g.d(E,"fromValues",(function(){return kA})),g.d(E,"set",(function(){return dA})),g.d(E,"identity",(function(){return aA})),g.d(E,"transpose",(function(){return KA})),g.d(E,"invert",(function(){return JA})),g.d(E,"adjoint",(function(){return cA})),g.d(E,"determinant",(function(){return bA})),g.d(E,"multiply",(function(){return sA})),g.d(E,"translate",(function(){return HA})),g.d(E,"rotate",(function(){return lA})),g.d(E,"scale",(function(){return WA})),g.d(E,"fromTranslation",(function(){return VA})),g.d(E,"fromRotation",(function(){return LA})),g.d(E,"fromScaling",(function(){return SA})),g.d(E,"fromMat2d",(function(){return mA})),g.d(E,"fromQuat",(function(){return nA})),g.d(E,"normalFromMat4",(function(){return XA})),g.d(E,"projection",(function(){return pA})),g.d(E,"str",(function(){return tA})),g.d(E,"frob",(function(){return xA})),g.d(E,"add",(function(){return jA})),g.d(E,"subtract",(function(){return uA})),g.d(E,"multiplyScalar",(function(){return TA})),g.d(E,"multiplyScalarAndAdd",(function(){return zA})),g.d(E,"exactEquals",(function(){return fA})),g.d(E,"equals",(function(){return vA})),g.d(E,"mul",(function(){return qA})),g.d(E,"sub",(function(){return OA}));var D={};g.r(D),g.d(D,"create",(function(){return rA})),g.d(D,"clone",(function(){return eA})),g.d(D,"copy",(function(){return PA})),g.d(D,"fromValues",(function(){return _A})),g.d(D,"set",(function(){return $A})),g.d(D,"identity",(function(){return AB})),g.d(D,"transpose",(function(){return BB})),g.d(D,"invert",(function(){return gB})),g.d(D,"adjoint",(function(){return QB})),g.d(D,"determinant",(function(){return IB})),g.d(D,"multiply",(function(){return CB})),g.d(D,"translate",(function(){return EB})),g.d(D,"scale",(function(){return DB})),g.d(D,"rotate",(function(){return GB})),g.d(D,"rotateX",(function(){return oB})),g.d(D,"rotateY",(function(){return RB})),g.d(D,"rotateZ",(function(){return FB})),g.d(D,"fromTranslation",(function(){return wB})),g.d(D,"fromScaling",(function(){return YB})),g.d(D,"fromRotation",(function(){return MB})),g.d(D,"fromXRotation",(function(){return iB})),g.d(D,"fromYRotation",(function(){return NB})),g.d(D,"fromZRotation",(function(){return ZB})),g.d(D,"fromRotationTranslation",(function(){return UB})),g.d(D,"fromQuat2",(function(){return hB})),g.d(D,"getTranslation",(function(){return yB})),g.d(D,"getScaling",(function(){return kB})),g.d(D,"getRotation",(function(){return dB})),g.d(D,"fromRotationTranslationScale",(function(){return aB})),g.d(D,"fromRotationTranslationScaleOrigin",(function(){return KB})),g.d(D,"fromQuat",(function(){return JB})),g.d(D,"frustum",(function(){return cB})),g.d(D,"perspective",(function(){return bB})),g.d(D,"perspectiveFromFieldOfView",(function(){return sB})),g.d(D,"ortho",(function(){return HB})),g.d(D,"lookAt",(function(){return lB})),g.d(D,"targetTo",(function(){return WB})),g.d(D,"str",(function(){return VB})),g.d(D,"frob",(function(){return LB})),g.d(D,"add",(function(){return SB})),g.d(D,"subtract",(function(){return mB})),g.d(D,"multiplyScalar",(function(){return nB})),g.d(D,"multiplyScalarAndAdd",(function(){return XB})),g.d(D,"exactEquals",(function(){return pB})),g.d(D,"equals",(function(){return tB})),g.d(D,"mul",(function(){return xB})),g.d(D,"sub",(function(){return jB}));var G={};g.r(G),g.d(G,"create",(function(){return uB})),g.d(G,"clone",(function(){return TB})),g.d(G,"length",(function(){return zB})),g.d(G,"fromValues",(function(){return fB})),g.d(G,"copy",(function(){return vB})),g.d(G,"set",(function(){return qB})),g.d(G,"add",(function(){return OB})),g.d(G,"subtract",(function(){return rB})),g.d(G,"multiply",(function(){return eB})),g.d(G,"divide",(function(){return PB})),g.d(G,"ceil",(function(){return _B})),g.d(G,"floor",(function(){return $B})),g.d(G,"min",(function(){return Ag})),g.d(G,"max",(function(){return Bg})),g.d(G,"round",(function(){return gg})),g.d(G,"scale",(function(){return Qg})),g.d(G,"scaleAndAdd",(function(){return Ig})),g.d(G,"distance",(function(){return Cg})),g.d(G,"squaredDistance",(function(){return Eg})),g.d(G,"squaredLength",(function(){return Dg})),g.d(G,"negate",(function(){return Gg})),g.d(G,"inverse",(function(){return og})),g.d(G,"normalize",(function(){return Rg})),g.d(G,"dot",(function(){return Fg})),g.d(G,"cross",(function(){return wg})),g.d(G,"lerp",(function(){return Yg})),g.d(G,"hermite",(function(){return Mg})),g.d(G,"bezier",(function(){return ig})),g.d(G,"random",(function(){return Ng})),g.d(G,"transformMat4",(function(){return Zg})),g.d(G,"transformMat3",(function(){return Ug})),g.d(G,"transformQuat",(function(){return hg})),g.d(G,"rotateX",(function(){return yg})),g.d(G,"rotateY",(function(){return kg})),g.d(G,"rotateZ",(function(){return dg})),g.d(G,"angle",(function(){return ag})),g.d(G,"zero",(function(){return Kg})),g.d(G,"str",(function(){return Jg})),g.d(G,"exactEquals",(function(){return cg})),g.d(G,"equals",(function(){return bg})),g.d(G,"sub",(function(){return Hg})),g.d(G,"mul",(function(){return lg})),g.d(G,"div",(function(){return Wg})),g.d(G,"dist",(function(){return Vg})),g.d(G,"sqrDist",(function(){return Lg})),g.d(G,"len",(function(){return Sg})),g.d(G,"sqrLen",(function(){return mg})),g.d(G,"forEach",(function(){return ng}));var o={};g.r(o),g.d(o,"create",(function(){return Xg})),g.d(o,"clone",(function(){return pg})),g.d(o,"fromValues",(function(){return tg})),g.d(o,"copy",(function(){return xg})),g.d(o,"set",(function(){return jg})),g.d(o,"add",(function(){return ug})),g.d(o,"subtract",(function(){return Tg})),g.d(o,"multiply",(function(){return zg})),g.d(o,"divide",(function(){return fg})),g.d(o,"ceil",(function(){return vg})),g.d(o,"floor",(function(){return qg})),g.d(o,"min",(function(){return Og})),g.d(o,"max",(function(){return rg})),g.d(o,"round",(function(){return eg})),g.d(o,"scale",(function(){return Pg})),g.d(o,"scaleAndAdd",(function(){return _g})),g.d(o,"distance",(function(){return $g})),g.d(o,"squaredDistance",(function(){return AQ})),g.d(o,"length",(function(){return BQ})),g.d(o,"squaredLength",(function(){return gQ})),g.d(o,"negate",(function(){return QQ})),g.d(o,"inverse",(function(){return IQ})),g.d(o,"normalize",(function(){return CQ})),g.d(o,"dot",(function(){return EQ})),g.d(o,"cross",(function(){return DQ})),g.d(o,"lerp",(function(){return GQ})),g.d(o,"random",(function(){return oQ})),g.d(o,"transformMat4",(function(){return RQ})),g.d(o,"transformQuat",(function(){return FQ})),g.d(o,"zero",(function(){return wQ})),g.d(o,"str",(function(){return YQ})),g.d(o,"exactEquals",(function(){return MQ})),g.d(o,"equals",(function(){return iQ})),g.d(o,"sub",(function(){return NQ})),g.d(o,"mul",(function(){return ZQ})),g.d(o,"div",(function(){return UQ})),g.d(o,"dist",(function(){return hQ})),g.d(o,"sqrDist",(function(){return yQ})),g.d(o,"len",(function(){return kQ})),g.d(o,"sqrLen",(function(){return dQ})),g.d(o,"forEach",(function(){return aQ}));var R={};g.r(R),g.d(R,"create",(function(){return KQ})),g.d(R,"identity",(function(){return JQ})),g.d(R,"setAxisAngle",(function(){return cQ})),g.d(R,"getAxisAngle",(function(){return bQ})),g.d(R,"getAngle",(function(){return sQ})),g.d(R,"multiply",(function(){return HQ})),g.d(R,"rotateX",(function(){return lQ})),g.d(R,"rotateY",(function(){return WQ})),g.d(R,"rotateZ",(function(){return VQ})),g.d(R,"calculateW",(function(){return LQ})),g.d(R,"exp",(function(){return SQ})),g.d(R,"ln",(function(){return mQ})),g.d(R,"pow",(function(){return nQ})),g.d(R,"slerp",(function(){return XQ})),g.d(R,"random",(function(){return pQ})),g.d(R,"invert",(function(){return tQ})),g.d(R,"conjugate",(function(){return xQ})),g.d(R,"fromMat3",(function(){return jQ})),g.d(R,"fromEuler",(function(){return uQ})),g.d(R,"str",(function(){return TQ})),g.d(R,"clone",(function(){return eQ})),g.d(R,"fromValues",(function(){return PQ})),g.d(R,"copy",(function(){return _Q})),g.d(R,"set",(function(){return $Q})),g.d(R,"add",(function(){return AI})),g.d(R,"mul",(function(){return BI})),g.d(R,"scale",(function(){return gI})),g.d(R,"dot",(function(){return QI})),g.d(R,"lerp",(function(){return II})),g.d(R,"length",(function(){return CI})),g.d(R,"len",(function(){return EI})),g.d(R,"squaredLength",(function(){return DI})),g.d(R,"sqrLen",(function(){return GI})),g.d(R,"normalize",(function(){return oI})),g.d(R,"exactEquals",(function(){return RI})),g.d(R,"equals",(function(){return FI})),g.d(R,"rotationTo",(function(){return wI})),g.d(R,"sqlerp",(function(){return YI})),g.d(R,"setAxes",(function(){return MI}));var F={};g.r(F),g.d(F,"create",(function(){return iI})),g.d(F,"clone",(function(){return NI})),g.d(F,"fromValues",(function(){return ZI})),g.d(F,"fromRotationTranslationValues",(function(){return UI})),g.d(F,"fromRotationTranslation",(function(){return hI})),g.d(F,"fromTranslation",(function(){return yI})),g.d(F,"fromRotation",(function(){return kI})),g.d(F,"fromMat4",(function(){return dI})),g.d(F,"copy",(function(){return aI})),g.d(F,"identity",(function(){return KI})),g.d(F,"set",(function(){return JI})),g.d(F,"getReal",(function(){return cI})),g.d(F,"getDual",(function(){return bI})),g.d(F,"setReal",(function(){return sI})),g.d(F,"setDual",(function(){return HI})),g.d(F,"getTranslation",(function(){return lI})),g.d(F,"translate",(function(){return WI})),g.d(F,"rotateX",(function(){return VI})),g.d(F,"rotateY",(function(){return LI})),g.d(F,"rotateZ",(function(){return SI})),g.d(F,"rotateByQuatAppend",(function(){return mI})),g.d(F,"rotateByQuatPrepend",(function(){return nI})),g.d(F,"rotateAroundAxis",(function(){return XI})),g.d(F,"add",(function(){return pI})),g.d(F,"multiply",(function(){return tI})),g.d(F,"mul",(function(){return xI})),g.d(F,"scale",(function(){return jI})),g.d(F,"dot",(function(){return uI})),g.d(F,"lerp",(function(){return TI})),g.d(F,"invert",(function(){return zI})),g.d(F,"conjugate",(function(){return fI})),g.d(F,"length",(function(){return vI})),g.d(F,"len",(function(){return qI})),g.d(F,"squaredLength",(function(){return OI})),g.d(F,"sqrLen",(function(){return rI})),g.d(F,"normalize",(function(){return eI})),g.d(F,"str",(function(){return PI})),g.d(F,"exactEquals",(function(){return _I})),g.d(F,"equals",(function(){return $I}));var w={};g.r(w),g.d(w,"create",(function(){return AC})),g.d(w,"clone",(function(){return BC})),g.d(w,"fromValues",(function(){return gC})),g.d(w,"copy",(function(){return QC})),g.d(w,"set",(function(){return IC})),g.d(w,"add",(function(){return CC})),g.d(w,"subtract",(function(){return EC})),g.d(w,"multiply",(function(){return DC})),g.d(w,"divide",(function(){return GC})),g.d(w,"ceil",(function(){return oC})),g.d(w,"floor",(function(){return RC})),g.d(w,"min",(function(){return FC})),g.d(w,"max",(function(){return wC})),g.d(w,"round",(function(){return YC})),g.d(w,"scale",(function(){return MC})),g.d(w,"scaleAndAdd",(function(){return iC})),g.d(w,"distance",(function(){return NC})),g.d(w,"squaredDistance",(function(){return ZC})),g.d(w,"length",(function(){return UC})),g.d(w,"squaredLength",(function(){return hC})),g.d(w,"negate",(function(){return yC})),g.d(w,"inverse",(function(){return kC})),g.d(w,"normalize",(function(){return dC})),g.d(w,"dot",(function(){return aC})),g.d(w,"cross",(function(){return KC})),g.d(w,"lerp",(function(){return JC})),g.d(w,"random",(function(){return cC})),g.d(w,"transformMat2",(function(){return bC})),g.d(w,"transformMat2d",(function(){return sC})),g.d(w,"transformMat3",(function(){return HC})),g.d(w,"transformMat4",(function(){return lC})),g.d(w,"rotate",(function(){return WC})),g.d(w,"angle",(function(){return VC})),g.d(w,"zero",(function(){return LC})),g.d(w,"str",(function(){return SC})),g.d(w,"exactEquals",(function(){return mC})),g.d(w,"equals",(function(){return nC})),g.d(w,"len",(function(){return XC})),g.d(w,"sub",(function(){return pC})),g.d(w,"mul",(function(){return tC})),g.d(w,"div",(function(){return xC})),g.d(w,"dist",(function(){return jC})),g.d(w,"sqrDist",(function(){return uC})),g.d(w,"sqrLen",(function(){return TC})),g.d(w,"forEach",(function(){return zC}));var Y=1e-6,M="undefined"!=typeof Float32Array?Float32Array:Array,i=Math.random;function N(A){M=A}var Z=Math.PI/180;function U(A){return A*Z}function h(A,B){return Math.abs(A-B)<=Y*Math.max(1,Math.abs(A),Math.abs(B))}function y(){var A=new M(4);return M!=Float32Array&&(A[1]=0,A[2]=0),A[0]=1,A[3]=1,A}function k(A){var B=new M(4);return B[0]=A[0],B[1]=A[1],B[2]=A[2],B[3]=A[3],B}function d(A,B){return A[0]=B[0],A[1]=B[1],A[2]=B[2],A[3]=B[3],A}function a(A){return A[0]=1,A[1]=0,A[2]=0,A[3]=1,A}function K(A,B,g,Q){var I=new M(4);return I[0]=A,I[1]=B,I[2]=g,I[3]=Q,I}function J(A,B,g,Q,I){return A[0]=B,A[1]=g,A[2]=Q,A[3]=I,A}function c(A,B){if(A===B){var g=B[1];A[1]=B[2],A[2]=g}else A[0]=B[0],A[1]=B[2],A[2]=B[1],A[3]=B[3];return A}function b(A,B){var g=B[0],Q=B[1],I=B[2],C=B[3],E=g*C-I*Q;return E?(E=1/E,A[0]=C*E,A[1]=-Q*E,A[2]=-I*E,A[3]=g*E,A):null}function s(A,B){var g=B[0];return A[0]=B[3],A[1]=-B[1],A[2]=-B[2],A[3]=g,A}function H(A){return A[0]*A[3]-A[2]*A[1]}function l(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=g[0],G=g[1],o=g[2],R=g[3];return A[0]=Q*D+C*G,A[1]=I*D+E*G,A[2]=Q*o+C*R,A[3]=I*o+E*R,A}function W(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=Math.sin(g),G=Math.cos(g);return A[0]=Q*G+C*D,A[1]=I*G+E*D,A[2]=Q*-D+C*G,A[3]=I*-D+E*G,A}function V(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=g[0],G=g[1];return A[0]=Q*D,A[1]=I*D,A[2]=C*G,A[3]=E*G,A}function L(A,B){var g=Math.sin(B),Q=Math.cos(B);return A[0]=Q,A[1]=g,A[2]=-g,A[3]=Q,A}function S(A,B){return A[0]=B[0],A[1]=0,A[2]=0,A[3]=B[1],A}function m(A){return"mat2("+A[0]+", "+A[1]+", "+A[2]+", "+A[3]+")"}function n(A){return Math.hypot(A[0],A[1],A[2],A[3])}function X(A,B,g,Q){return A[2]=Q[2]/Q[0],g[0]=Q[0],g[1]=Q[1],g[3]=Q[3]-A[2]*g[1],[A,B,g]}function p(A,B,g){return A[0]=B[0]+g[0],A[1]=B[1]+g[1],A[2]=B[2]+g[2],A[3]=B[3]+g[3],A}function t(A,B,g){return A[0]=B[0]-g[0],A[1]=B[1]-g[1],A[2]=B[2]-g[2],A[3]=B[3]-g[3],A}function x(A,B){return A[0]===B[0]&&A[1]===B[1]&&A[2]===B[2]&&A[3]===B[3]}function j(A,B){var g=A[0],Q=A[1],I=A[2],C=A[3],E=B[0],D=B[1],G=B[2],o=B[3];return Math.abs(g-E)<=Y*Math.max(1,Math.abs(g),Math.abs(E))&&Math.abs(Q-D)<=Y*Math.max(1,Math.abs(Q),Math.abs(D))&&Math.abs(I-G)<=Y*Math.max(1,Math.abs(I),Math.abs(G))&&Math.abs(C-o)<=Y*Math.max(1,Math.abs(C),Math.abs(o))}function u(A,B,g){return A[0]=B[0]*g,A[1]=B[1]*g,A[2]=B[2]*g,A[3]=B[3]*g,A}function T(A,B,g,Q){return A[0]=B[0]+g[0]*Q,A[1]=B[1]+g[1]*Q,A[2]=B[2]+g[2]*Q,A[3]=B[3]+g[3]*Q,A}Math.hypot||(Math.hypot=function(){for(var A=0,B=arguments.length;B--;)A+=arguments[B]*arguments[B];return Math.sqrt(A)});var z=l,f=t;function v(){var A=new M(6);return M!=Float32Array&&(A[1]=0,A[2]=0,A[4]=0,A[5]=0),A[0]=1,A[3]=1,A}function q(A){var B=new M(6);return B[0]=A[0],B[1]=A[1],B[2]=A[2],B[3]=A[3],B[4]=A[4],B[5]=A[5],B}function O(A,B){return A[0]=B[0],A[1]=B[1],A[2]=B[2],A[3]=B[3],A[4]=B[4],A[5]=B[5],A}function r(A){return A[0]=1,A[1]=0,A[2]=0,A[3]=1,A[4]=0,A[5]=0,A}function e(A,B,g,Q,I,C){var E=new M(6);return E[0]=A,E[1]=B,E[2]=g,E[3]=Q,E[4]=I,E[5]=C,E}function P(A,B,g,Q,I,C,E){return A[0]=B,A[1]=g,A[2]=Q,A[3]=I,A[4]=C,A[5]=E,A}function _(A,B){var g=B[0],Q=B[1],I=B[2],C=B[3],E=B[4],D=B[5],G=g*C-Q*I;return G?(G=1/G,A[0]=C*G,A[1]=-Q*G,A[2]=-I*G,A[3]=g*G,A[4]=(I*D-C*E)*G,A[5]=(Q*E-g*D)*G,A):null}function $(A){return A[0]*A[3]-A[1]*A[2]}function AA(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=B[4],G=B[5],o=g[0],R=g[1],F=g[2],w=g[3],Y=g[4],M=g[5];return A[0]=Q*o+C*R,A[1]=I*o+E*R,A[2]=Q*F+C*w,A[3]=I*F+E*w,A[4]=Q*Y+C*M+D,A[5]=I*Y+E*M+G,A}function BA(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=B[4],G=B[5],o=Math.sin(g),R=Math.cos(g);return A[0]=Q*R+C*o,A[1]=I*R+E*o,A[2]=Q*-o+C*R,A[3]=I*-o+E*R,A[4]=D,A[5]=G,A}function gA(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=B[4],G=B[5],o=g[0],R=g[1];return A[0]=Q*o,A[1]=I*o,A[2]=C*R,A[3]=E*R,A[4]=D,A[5]=G,A}function QA(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=B[4],G=B[5],o=g[0],R=g[1];return A[0]=Q,A[1]=I,A[2]=C,A[3]=E,A[4]=Q*o+C*R+D,A[5]=I*o+E*R+G,A}function IA(A,B){var g=Math.sin(B),Q=Math.cos(B);return A[0]=Q,A[1]=g,A[2]=-g,A[3]=Q,A[4]=0,A[5]=0,A}function CA(A,B){return A[0]=B[0],A[1]=0,A[2]=0,A[3]=B[1],A[4]=0,A[5]=0,A}function EA(A,B){return A[0]=1,A[1]=0,A[2]=0,A[3]=1,A[4]=B[0],A[5]=B[1],A}function DA(A){return"mat2d("+A[0]+", "+A[1]+", "+A[2]+", "+A[3]+", "+A[4]+", "+A[5]+")"}function GA(A){return Math.hypot(A[0],A[1],A[2],A[3],A[4],A[5],1)}function oA(A,B,g){return A[0]=B[0]+g[0],A[1]=B[1]+g[1],A[2]=B[2]+g[2],A[3]=B[3]+g[3],A[4]=B[4]+g[4],A[5]=B[5]+g[5],A}function RA(A,B,g){return A[0]=B[0]-g[0],A[1]=B[1]-g[1],A[2]=B[2]-g[2],A[3]=B[3]-g[3],A[4]=B[4]-g[4],A[5]=B[5]-g[5],A}function FA(A,B,g){return A[0]=B[0]*g,A[1]=B[1]*g,A[2]=B[2]*g,A[3]=B[3]*g,A[4]=B[4]*g,A[5]=B[5]*g,A}function wA(A,B,g,Q){return A[0]=B[0]+g[0]*Q,A[1]=B[1]+g[1]*Q,A[2]=B[2]+g[2]*Q,A[3]=B[3]+g[3]*Q,A[4]=B[4]+g[4]*Q,A[5]=B[5]+g[5]*Q,A}function YA(A,B){return A[0]===B[0]&&A[1]===B[1]&&A[2]===B[2]&&A[3]===B[3]&&A[4]===B[4]&&A[5]===B[5]}function MA(A,B){var g=A[0],Q=A[1],I=A[2],C=A[3],E=A[4],D=A[5],G=B[0],o=B[1],R=B[2],F=B[3],w=B[4],M=B[5];return Math.abs(g-G)<=Y*Math.max(1,Math.abs(g),Math.abs(G))&&Math.abs(Q-o)<=Y*Math.max(1,Math.abs(Q),Math.abs(o))&&Math.abs(I-R)<=Y*Math.max(1,Math.abs(I),Math.abs(R))&&Math.abs(C-F)<=Y*Math.max(1,Math.abs(C),Math.abs(F))&&Math.abs(E-w)<=Y*Math.max(1,Math.abs(E),Math.abs(w))&&Math.abs(D-M)<=Y*Math.max(1,Math.abs(D),Math.abs(M))}var iA=AA,NA=RA;function ZA(){var A=new M(9);return M!=Float32Array&&(A[1]=0,A[2]=0,A[3]=0,A[5]=0,A[6]=0,A[7]=0),A[0]=1,A[4]=1,A[8]=1,A}function UA(A,B){return A[0]=B[0],A[1]=B[1],A[2]=B[2],A[3]=B[4],A[4]=B[5],A[5]=B[6],A[6]=B[8],A[7]=B[9],A[8]=B[10],A}function hA(A){var B=new M(9);return B[0]=A[0],B[1]=A[1],B[2]=A[2],B[3]=A[3],B[4]=A[4],B[5]=A[5],B[6]=A[6],B[7]=A[7],B[8]=A[8],B}function yA(A,B){return A[0]=B[0],A[1]=B[1],A[2]=B[2],A[3]=B[3],A[4]=B[4],A[5]=B[5],A[6]=B[6],A[7]=B[7],A[8]=B[8],A}function kA(A,B,g,Q,I,C,E,D,G){var o=new M(9);return o[0]=A,o[1]=B,o[2]=g,o[3]=Q,o[4]=I,o[5]=C,o[6]=E,o[7]=D,o[8]=G,o}function dA(A,B,g,Q,I,C,E,D,G,o){return A[0]=B,A[1]=g,A[2]=Q,A[3]=I,A[4]=C,A[5]=E,A[6]=D,A[7]=G,A[8]=o,A}function aA(A){return A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=1,A[5]=0,A[6]=0,A[7]=0,A[8]=1,A}function KA(A,B){if(A===B){var g=B[1],Q=B[2],I=B[5];A[1]=B[3],A[2]=B[6],A[3]=g,A[5]=B[7],A[6]=Q,A[7]=I}else A[0]=B[0],A[1]=B[3],A[2]=B[6],A[3]=B[1],A[4]=B[4],A[5]=B[7],A[6]=B[2],A[7]=B[5],A[8]=B[8];return A}function JA(A,B){var g=B[0],Q=B[1],I=B[2],C=B[3],E=B[4],D=B[5],G=B[6],o=B[7],R=B[8],F=R*E-D*o,w=-R*C+D*G,Y=o*C-E*G,M=g*F+Q*w+I*Y;return M?(M=1/M,A[0]=F*M,A[1]=(-R*Q+I*o)*M,A[2]=(D*Q-I*E)*M,A[3]=w*M,A[4]=(R*g-I*G)*M,A[5]=(-D*g+I*C)*M,A[6]=Y*M,A[7]=(-o*g+Q*G)*M,A[8]=(E*g-Q*C)*M,A):null}function cA(A,B){var g=B[0],Q=B[1],I=B[2],C=B[3],E=B[4],D=B[5],G=B[6],o=B[7],R=B[8];return A[0]=E*R-D*o,A[1]=I*o-Q*R,A[2]=Q*D-I*E,A[3]=D*G-C*R,A[4]=g*R-I*G,A[5]=I*C-g*D,A[6]=C*o-E*G,A[7]=Q*G-g*o,A[8]=g*E-Q*C,A}function bA(A){var B=A[0],g=A[1],Q=A[2],I=A[3],C=A[4],E=A[5],D=A[6],G=A[7],o=A[8];return B*(o*C-E*G)+g*(-o*I+E*D)+Q*(G*I-C*D)}function sA(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=B[4],G=B[5],o=B[6],R=B[7],F=B[8],w=g[0],Y=g[1],M=g[2],i=g[3],N=g[4],Z=g[5],U=g[6],h=g[7],y=g[8];return A[0]=w*Q+Y*E+M*o,A[1]=w*I+Y*D+M*R,A[2]=w*C+Y*G+M*F,A[3]=i*Q+N*E+Z*o,A[4]=i*I+N*D+Z*R,A[5]=i*C+N*G+Z*F,A[6]=U*Q+h*E+y*o,A[7]=U*I+h*D+y*R,A[8]=U*C+h*G+y*F,A}function HA(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=B[4],G=B[5],o=B[6],R=B[7],F=B[8],w=g[0],Y=g[1];return A[0]=Q,A[1]=I,A[2]=C,A[3]=E,A[4]=D,A[5]=G,A[6]=w*Q+Y*E+o,A[7]=w*I+Y*D+R,A[8]=w*C+Y*G+F,A}function lA(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=B[4],G=B[5],o=B[6],R=B[7],F=B[8],w=Math.sin(g),Y=Math.cos(g);return A[0]=Y*Q+w*E,A[1]=Y*I+w*D,A[2]=Y*C+w*G,A[3]=Y*E-w*Q,A[4]=Y*D-w*I,A[5]=Y*G-w*C,A[6]=o,A[7]=R,A[8]=F,A}function WA(A,B,g){var Q=g[0],I=g[1];return A[0]=Q*B[0],A[1]=Q*B[1],A[2]=Q*B[2],A[3]=I*B[3],A[4]=I*B[4],A[5]=I*B[5],A[6]=B[6],A[7]=B[7],A[8]=B[8],A}function VA(A,B){return A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=1,A[5]=0,A[6]=B[0],A[7]=B[1],A[8]=1,A}function LA(A,B){var g=Math.sin(B),Q=Math.cos(B);return A[0]=Q,A[1]=g,A[2]=0,A[3]=-g,A[4]=Q,A[5]=0,A[6]=0,A[7]=0,A[8]=1,A}function SA(A,B){return A[0]=B[0],A[1]=0,A[2]=0,A[3]=0,A[4]=B[1],A[5]=0,A[6]=0,A[7]=0,A[8]=1,A}function mA(A,B){return A[0]=B[0],A[1]=B[1],A[2]=0,A[3]=B[2],A[4]=B[3],A[5]=0,A[6]=B[4],A[7]=B[5],A[8]=1,A}function nA(A,B){var g=B[0],Q=B[1],I=B[2],C=B[3],E=g+g,D=Q+Q,G=I+I,o=g*E,R=Q*E,F=Q*D,w=I*E,Y=I*D,M=I*G,i=C*E,N=C*D,Z=C*G;return A[0]=1-F-M,A[3]=R-Z,A[6]=w+N,A[1]=R+Z,A[4]=1-o-M,A[7]=Y-i,A[2]=w-N,A[5]=Y+i,A[8]=1-o-F,A}function XA(A,B){var g=B[0],Q=B[1],I=B[2],C=B[3],E=B[4],D=B[5],G=B[6],o=B[7],R=B[8],F=B[9],w=B[10],Y=B[11],M=B[12],i=B[13],N=B[14],Z=B[15],U=g*D-Q*E,h=g*G-I*E,y=g*o-C*E,k=Q*G-I*D,d=Q*o-C*D,a=I*o-C*G,K=R*i-F*M,J=R*N-w*M,c=R*Z-Y*M,b=F*N-w*i,s=F*Z-Y*i,H=w*Z-Y*N,l=U*H-h*s+y*b+k*c-d*J+a*K;return l?(l=1/l,A[0]=(D*H-G*s+o*b)*l,A[1]=(G*c-E*H-o*J)*l,A[2]=(E*s-D*c+o*K)*l,A[3]=(I*s-Q*H-C*b)*l,A[4]=(g*H-I*c+C*J)*l,A[5]=(Q*c-g*s-C*K)*l,A[6]=(i*a-N*d+Z*k)*l,A[7]=(N*y-M*a-Z*h)*l,A[8]=(M*d-i*y+Z*U)*l,A):null}function pA(A,B,g){return A[0]=2/B,A[1]=0,A[2]=0,A[3]=0,A[4]=-2/g,A[5]=0,A[6]=-1,A[7]=1,A[8]=1,A}function tA(A){return"mat3("+A[0]+", "+A[1]+", "+A[2]+", "+A[3]+", "+A[4]+", "+A[5]+", "+A[6]+", "+A[7]+", "+A[8]+")"}function xA(A){return Math.hypot(A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],A[8])}function jA(A,B,g){return A[0]=B[0]+g[0],A[1]=B[1]+g[1],A[2]=B[2]+g[2],A[3]=B[3]+g[3],A[4]=B[4]+g[4],A[5]=B[5]+g[5],A[6]=B[6]+g[6],A[7]=B[7]+g[7],A[8]=B[8]+g[8],A}function uA(A,B,g){return A[0]=B[0]-g[0],A[1]=B[1]-g[1],A[2]=B[2]-g[2],A[3]=B[3]-g[3],A[4]=B[4]-g[4],A[5]=B[5]-g[5],A[6]=B[6]-g[6],A[7]=B[7]-g[7],A[8]=B[8]-g[8],A}function TA(A,B,g){return A[0]=B[0]*g,A[1]=B[1]*g,A[2]=B[2]*g,A[3]=B[3]*g,A[4]=B[4]*g,A[5]=B[5]*g,A[6]=B[6]*g,A[7]=B[7]*g,A[8]=B[8]*g,A}function zA(A,B,g,Q){return A[0]=B[0]+g[0]*Q,A[1]=B[1]+g[1]*Q,A[2]=B[2]+g[2]*Q,A[3]=B[3]+g[3]*Q,A[4]=B[4]+g[4]*Q,A[5]=B[5]+g[5]*Q,A[6]=B[6]+g[6]*Q,A[7]=B[7]+g[7]*Q,A[8]=B[8]+g[8]*Q,A}function fA(A,B){return A[0]===B[0]&&A[1]===B[1]&&A[2]===B[2]&&A[3]===B[3]&&A[4]===B[4]&&A[5]===B[5]&&A[6]===B[6]&&A[7]===B[7]&&A[8]===B[8]}function vA(A,B){var g=A[0],Q=A[1],I=A[2],C=A[3],E=A[4],D=A[5],G=A[6],o=A[7],R=A[8],F=B[0],w=B[1],M=B[2],i=B[3],N=B[4],Z=B[5],U=B[6],h=B[7],y=B[8];return Math.abs(g-F)<=Y*Math.max(1,Math.abs(g),Math.abs(F))&&Math.abs(Q-w)<=Y*Math.max(1,Math.abs(Q),Math.abs(w))&&Math.abs(I-M)<=Y*Math.max(1,Math.abs(I),Math.abs(M))&&Math.abs(C-i)<=Y*Math.max(1,Math.abs(C),Math.abs(i))&&Math.abs(E-N)<=Y*Math.max(1,Math.abs(E),Math.abs(N))&&Math.abs(D-Z)<=Y*Math.max(1,Math.abs(D),Math.abs(Z))&&Math.abs(G-U)<=Y*Math.max(1,Math.abs(G),Math.abs(U))&&Math.abs(o-h)<=Y*Math.max(1,Math.abs(o),Math.abs(h))&&Math.abs(R-y)<=Y*Math.max(1,Math.abs(R),Math.abs(y))}var qA=sA,OA=uA;function rA(){var A=new M(16);return M!=Float32Array&&(A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[11]=0,A[12]=0,A[13]=0,A[14]=0),A[0]=1,A[5]=1,A[10]=1,A[15]=1,A}function eA(A){var B=new M(16);return B[0]=A[0],B[1]=A[1],B[2]=A[2],B[3]=A[3],B[4]=A[4],B[5]=A[5],B[6]=A[6],B[7]=A[7],B[8]=A[8],B[9]=A[9],B[10]=A[10],B[11]=A[11],B[12]=A[12],B[13]=A[13],B[14]=A[14],B[15]=A[15],B}function PA(A,B){return A[0]=B[0],A[1]=B[1],A[2]=B[2],A[3]=B[3],A[4]=B[4],A[5]=B[5],A[6]=B[6],A[7]=B[7],A[8]=B[8],A[9]=B[9],A[10]=B[10],A[11]=B[11],A[12]=B[12],A[13]=B[13],A[14]=B[14],A[15]=B[15],A}function _A(A,B,g,Q,I,C,E,D,G,o,R,F,w,Y,i,N){var Z=new M(16);return Z[0]=A,Z[1]=B,Z[2]=g,Z[3]=Q,Z[4]=I,Z[5]=C,Z[6]=E,Z[7]=D,Z[8]=G,Z[9]=o,Z[10]=R,Z[11]=F,Z[12]=w,Z[13]=Y,Z[14]=i,Z[15]=N,Z}function $A(A,B,g,Q,I,C,E,D,G,o,R,F,w,Y,M,i,N){return A[0]=B,A[1]=g,A[2]=Q,A[3]=I,A[4]=C,A[5]=E,A[6]=D,A[7]=G,A[8]=o,A[9]=R,A[10]=F,A[11]=w,A[12]=Y,A[13]=M,A[14]=i,A[15]=N,A}function AB(A){return A[0]=1,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=1,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=1,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function BB(A,B){if(A===B){var g=B[1],Q=B[2],I=B[3],C=B[6],E=B[7],D=B[11];A[1]=B[4],A[2]=B[8],A[3]=B[12],A[4]=g,A[6]=B[9],A[7]=B[13],A[8]=Q,A[9]=C,A[11]=B[14],A[12]=I,A[13]=E,A[14]=D}else A[0]=B[0],A[1]=B[4],A[2]=B[8],A[3]=B[12],A[4]=B[1],A[5]=B[5],A[6]=B[9],A[7]=B[13],A[8]=B[2],A[9]=B[6],A[10]=B[10],A[11]=B[14],A[12]=B[3],A[13]=B[7],A[14]=B[11],A[15]=B[15];return A}function gB(A,B){var g=B[0],Q=B[1],I=B[2],C=B[3],E=B[4],D=B[5],G=B[6],o=B[7],R=B[8],F=B[9],w=B[10],Y=B[11],M=B[12],i=B[13],N=B[14],Z=B[15],U=g*D-Q*E,h=g*G-I*E,y=g*o-C*E,k=Q*G-I*D,d=Q*o-C*D,a=I*o-C*G,K=R*i-F*M,J=R*N-w*M,c=R*Z-Y*M,b=F*N-w*i,s=F*Z-Y*i,H=w*Z-Y*N,l=U*H-h*s+y*b+k*c-d*J+a*K;return l?(l=1/l,A[0]=(D*H-G*s+o*b)*l,A[1]=(I*s-Q*H-C*b)*l,A[2]=(i*a-N*d+Z*k)*l,A[3]=(w*d-F*a-Y*k)*l,A[4]=(G*c-E*H-o*J)*l,A[5]=(g*H-I*c+C*J)*l,A[6]=(N*y-M*a-Z*h)*l,A[7]=(R*a-w*y+Y*h)*l,A[8]=(E*s-D*c+o*K)*l,A[9]=(Q*c-g*s-C*K)*l,A[10]=(M*d-i*y+Z*U)*l,A[11]=(F*y-R*d-Y*U)*l,A[12]=(D*J-E*b-G*K)*l,A[13]=(g*b-Q*J+I*K)*l,A[14]=(i*h-M*k-N*U)*l,A[15]=(R*k-F*h+w*U)*l,A):null}function QB(A,B){var g=B[0],Q=B[1],I=B[2],C=B[3],E=B[4],D=B[5],G=B[6],o=B[7],R=B[8],F=B[9],w=B[10],Y=B[11],M=B[12],i=B[13],N=B[14],Z=B[15];return A[0]=D*(w*Z-Y*N)-F*(G*Z-o*N)+i*(G*Y-o*w),A[1]=-(Q*(w*Z-Y*N)-F*(I*Z-C*N)+i*(I*Y-C*w)),A[2]=Q*(G*Z-o*N)-D*(I*Z-C*N)+i*(I*o-C*G),A[3]=-(Q*(G*Y-o*w)-D*(I*Y-C*w)+F*(I*o-C*G)),A[4]=-(E*(w*Z-Y*N)-R*(G*Z-o*N)+M*(G*Y-o*w)),A[5]=g*(w*Z-Y*N)-R*(I*Z-C*N)+M*(I*Y-C*w),A[6]=-(g*(G*Z-o*N)-E*(I*Z-C*N)+M*(I*o-C*G)),A[7]=g*(G*Y-o*w)-E*(I*Y-C*w)+R*(I*o-C*G),A[8]=E*(F*Z-Y*i)-R*(D*Z-o*i)+M*(D*Y-o*F),A[9]=-(g*(F*Z-Y*i)-R*(Q*Z-C*i)+M*(Q*Y-C*F)),A[10]=g*(D*Z-o*i)-E*(Q*Z-C*i)+M*(Q*o-C*D),A[11]=-(g*(D*Y-o*F)-E*(Q*Y-C*F)+R*(Q*o-C*D)),A[12]=-(E*(F*N-w*i)-R*(D*N-G*i)+M*(D*w-G*F)),A[13]=g*(F*N-w*i)-R*(Q*N-I*i)+M*(Q*w-I*F),A[14]=-(g*(D*N-G*i)-E*(Q*N-I*i)+M*(Q*G-I*D)),A[15]=g*(D*w-G*F)-E*(Q*w-I*F)+R*(Q*G-I*D),A}function IB(A){var B=A[0],g=A[1],Q=A[2],I=A[3],C=A[4],E=A[5],D=A[6],G=A[7],o=A[8],R=A[9],F=A[10],w=A[11],Y=A[12],M=A[13],i=A[14],N=A[15];return(B*E-g*C)*(F*N-w*i)-(B*D-Q*C)*(R*N-w*M)+(B*G-I*C)*(R*i-F*M)+(g*D-Q*E)*(o*N-w*Y)-(g*G-I*E)*(o*i-F*Y)+(Q*G-I*D)*(o*M-R*Y)}function CB(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=B[4],G=B[5],o=B[6],R=B[7],F=B[8],w=B[9],Y=B[10],M=B[11],i=B[12],N=B[13],Z=B[14],U=B[15],h=g[0],y=g[1],k=g[2],d=g[3];return A[0]=h*Q+y*D+k*F+d*i,A[1]=h*I+y*G+k*w+d*N,A[2]=h*C+y*o+k*Y+d*Z,A[3]=h*E+y*R+k*M+d*U,h=g[4],y=g[5],k=g[6],d=g[7],A[4]=h*Q+y*D+k*F+d*i,A[5]=h*I+y*G+k*w+d*N,A[6]=h*C+y*o+k*Y+d*Z,A[7]=h*E+y*R+k*M+d*U,h=g[8],y=g[9],k=g[10],d=g[11],A[8]=h*Q+y*D+k*F+d*i,A[9]=h*I+y*G+k*w+d*N,A[10]=h*C+y*o+k*Y+d*Z,A[11]=h*E+y*R+k*M+d*U,h=g[12],y=g[13],k=g[14],d=g[15],A[12]=h*Q+y*D+k*F+d*i,A[13]=h*I+y*G+k*w+d*N,A[14]=h*C+y*o+k*Y+d*Z,A[15]=h*E+y*R+k*M+d*U,A}function EB(A,B,g){var Q,I,C,E,D,G,o,R,F,w,Y,M,i=g[0],N=g[1],Z=g[2];return B===A?(A[12]=B[0]*i+B[4]*N+B[8]*Z+B[12],A[13]=B[1]*i+B[5]*N+B[9]*Z+B[13],A[14]=B[2]*i+B[6]*N+B[10]*Z+B[14],A[15]=B[3]*i+B[7]*N+B[11]*Z+B[15]):(Q=B[0],I=B[1],C=B[2],E=B[3],D=B[4],G=B[5],o=B[6],R=B[7],F=B[8],w=B[9],Y=B[10],M=B[11],A[0]=Q,A[1]=I,A[2]=C,A[3]=E,A[4]=D,A[5]=G,A[6]=o,A[7]=R,A[8]=F,A[9]=w,A[10]=Y,A[11]=M,A[12]=Q*i+D*N+F*Z+B[12],A[13]=I*i+G*N+w*Z+B[13],A[14]=C*i+o*N+Y*Z+B[14],A[15]=E*i+R*N+M*Z+B[15]),A}function DB(A,B,g){var Q=g[0],I=g[1],C=g[2];return A[0]=B[0]*Q,A[1]=B[1]*Q,A[2]=B[2]*Q,A[3]=B[3]*Q,A[4]=B[4]*I,A[5]=B[5]*I,A[6]=B[6]*I,A[7]=B[7]*I,A[8]=B[8]*C,A[9]=B[9]*C,A[10]=B[10]*C,A[11]=B[11]*C,A[12]=B[12],A[13]=B[13],A[14]=B[14],A[15]=B[15],A}function GB(A,B,g,Q){var I,C,E,D,G,o,R,F,w,M,i,N,Z,U,h,y,k,d,a,K,J,c,b,s,H=Q[0],l=Q[1],W=Q[2],V=Math.hypot(H,l,W);return V 0?(g[0]=2*(D*E+R*Q+G*C-o*I)/F,g[1]=2*(G*E+R*I+o*Q-D*C)/F,g[2]=2*(o*E+R*C+D*I-G*Q)/F):(g[0]=2*(D*E+R*Q+G*C-o*I),g[1]=2*(G*E+R*I+o*Q-D*C),g[2]=2*(o*E+R*C+D*I-G*Q)),UB(A,B,g),A}function yB(A,B){return A[0]=B[12],A[1]=B[13],A[2]=B[14],A}function kB(A,B){var g=B[0],Q=B[1],I=B[2],C=B[4],E=B[5],D=B[6],G=B[8],o=B[9],R=B[10];return A[0]=Math.hypot(g,Q,I),A[1]=Math.hypot(C,E,D),A[2]=Math.hypot(G,o,R),A}function dB(A,B){var g=new M(3);kB(g,B);var Q=1/g[0],I=1/g[1],C=1/g[2],E=B[0]*Q,D=B[1]*I,G=B[2]*C,o=B[4]*Q,R=B[5]*I,F=B[6]*C,w=B[8]*Q,Y=B[9]*I,i=B[10]*C,N=E+R+i,Z=0;return N>0?(Z=2*Math.sqrt(N+1),A[3]=.25*Z,A[0]=(F-Y)/Z,A[1]=(w-G)/Z,A[2]=(D-o)/Z):E>R&&E>i?(Z=2*Math.sqrt(1+E-R-i),A[3]=(F-Y)/Z,A[0]=.25*Z,A[1]=(D+o)/Z,A[2]=(w+G)/Z):R>i?(Z=2*Math.sqrt(1+R-E-i),A[3]=(w-G)/Z,A[0]=(D+o)/Z,A[1]=.25*Z,A[2]=(F+Y)/Z):(Z=2*Math.sqrt(1+i-E-R),A[3]=(D-o)/Z,A[0]=(w+G)/Z,A[1]=(F+Y)/Z,A[2]=.25*Z),A}function aB(A,B,g,Q){var I=B[0],C=B[1],E=B[2],D=B[3],G=I+I,o=C+C,R=E+E,F=I*G,w=I*o,Y=I*R,M=C*o,i=C*R,N=E*R,Z=D*G,U=D*o,h=D*R,y=Q[0],k=Q[1],d=Q[2];return A[0]=(1-(M+N))*y,A[1]=(w+h)*y,A[2]=(Y-U)*y,A[3]=0,A[4]=(w-h)*k,A[5]=(1-(F+N))*k,A[6]=(i+Z)*k,A[7]=0,A[8]=(Y+U)*d,A[9]=(i-Z)*d,A[10]=(1-(F+M))*d,A[11]=0,A[12]=g[0],A[13]=g[1],A[14]=g[2],A[15]=1,A}function KB(A,B,g,Q,I){var C=B[0],E=B[1],D=B[2],G=B[3],o=C+C,R=E+E,F=D+D,w=C*o,Y=C*R,M=C*F,i=E*R,N=E*F,Z=D*F,U=G*o,h=G*R,y=G*F,k=Q[0],d=Q[1],a=Q[2],K=I[0],J=I[1],c=I[2],b=(1-(i+Z))*k,s=(Y+y)*k,H=(M-h)*k,l=(Y-y)*d,W=(1-(w+Z))*d,V=(N+U)*d,L=(M+h)*a,S=(N-U)*a,m=(1-(w+i))*a;return A[0]=b,A[1]=s,A[2]=H,A[3]=0,A[4]=l,A[5]=W,A[6]=V,A[7]=0,A[8]=L,A[9]=S,A[10]=m,A[11]=0,A[12]=g[0]+K-(b*K+l*J+L*c),A[13]=g[1]+J-(s*K+W*J+S*c),A[14]=g[2]+c-(H*K+V*J+m*c),A[15]=1,A}function JB(A,B){var g=B[0],Q=B[1],I=B[2],C=B[3],E=g+g,D=Q+Q,G=I+I,o=g*E,R=Q*E,F=Q*D,w=I*E,Y=I*D,M=I*G,i=C*E,N=C*D,Z=C*G;return A[0]=1-F-M,A[1]=R+Z,A[2]=w-N,A[3]=0,A[4]=R-Z,A[5]=1-o-M,A[6]=Y+i,A[7]=0,A[8]=w+N,A[9]=Y-i,A[10]=1-o-F,A[11]=0,A[12]=0,A[13]=0,A[14]=0,A[15]=1,A}function cB(A,B,g,Q,I,C,E){var D=1/(g-B),G=1/(I-Q),o=1/(C-E);return A[0]=2*C*D,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=2*C*G,A[6]=0,A[7]=0,A[8]=(g+B)*D,A[9]=(I+Q)*G,A[10]=(E+C)*o,A[11]=-1,A[12]=0,A[13]=0,A[14]=E*C*2*o,A[15]=0,A}function bB(A,B,g,Q,I){var C,E=1/Math.tan(B/2);return A[0]=E/g,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=E,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[11]=-1,A[12]=0,A[13]=0,A[15]=0,null!=I&&I!==1/0?(C=1/(Q-I),A[10]=(I+Q)*C,A[14]=2*I*Q*C):(A[10]=-1,A[14]=-2*Q),A}function sB(A,B,g,Q){var I=Math.tan(B.upDegrees*Math.PI/180),C=Math.tan(B.downDegrees*Math.PI/180),E=Math.tan(B.leftDegrees*Math.PI/180),D=Math.tan(B.rightDegrees*Math.PI/180),G=2/(E+D),o=2/(I+C);return A[0]=G,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=o,A[6]=0,A[7]=0,A[8]=-(E-D)*G*.5,A[9]=(I-C)*o*.5,A[10]=Q/(g-Q),A[11]=-1,A[12]=0,A[13]=0,A[14]=Q*g/(g-Q),A[15]=0,A}function HB(A,B,g,Q,I,C,E){var D=1/(B-g),G=1/(Q-I),o=1/(C-E);return A[0]=-2*D,A[1]=0,A[2]=0,A[3]=0,A[4]=0,A[5]=-2*G,A[6]=0,A[7]=0,A[8]=0,A[9]=0,A[10]=2*o,A[11]=0,A[12]=(B+g)*D,A[13]=(I+Q)*G,A[14]=(E+C)*o,A[15]=1,A}function lB(A,B,g,Q){var I,C,E,D,G,o,R,F,w,M,i=B[0],N=B[1],Z=B[2],U=Q[0],h=Q[1],y=Q[2],k=g[0],d=g[1],a=g[2];return Math.abs(i-k) 0&&(R*=Y=1/Math.sqrt(Y),F*=Y,w*=Y);var M=G*w-o*F,i=o*R-D*w,N=D*F-G*R;return(Y=M*M+i*i+N*N)>0&&(M*=Y=1/Math.sqrt(Y),i*=Y,N*=Y),A[0]=M,A[1]=i,A[2]=N,A[3]=0,A[4]=F*N-w*i,A[5]=w*M-R*N,A[6]=R*i-F*M,A[7]=0,A[8]=R,A[9]=F,A[10]=w,A[11]=0,A[12]=I,A[13]=C,A[14]=E,A[15]=1,A}function VB(A){return"mat4("+A[0]+", "+A[1]+", "+A[2]+", "+A[3]+", "+A[4]+", "+A[5]+", "+A[6]+", "+A[7]+", "+A[8]+", "+A[9]+", "+A[10]+", "+A[11]+", "+A[12]+", "+A[13]+", "+A[14]+", "+A[15]+")"}function LB(A){return Math.hypot(A[0],A[1],A[2],A[3],A[4],A[5],A[6],A[7],A[8],A[9],A[10],A[11],A[12],A[13],A[14],A[15])}function SB(A,B,g){return A[0]=B[0]+g[0],A[1]=B[1]+g[1],A[2]=B[2]+g[2],A[3]=B[3]+g[3],A[4]=B[4]+g[4],A[5]=B[5]+g[5],A[6]=B[6]+g[6],A[7]=B[7]+g[7],A[8]=B[8]+g[8],A[9]=B[9]+g[9],A[10]=B[10]+g[10],A[11]=B[11]+g[11],A[12]=B[12]+g[12],A[13]=B[13]+g[13],A[14]=B[14]+g[14],A[15]=B[15]+g[15],A}function mB(A,B,g){return A[0]=B[0]-g[0],A[1]=B[1]-g[1],A[2]=B[2]-g[2],A[3]=B[3]-g[3],A[4]=B[4]-g[4],A[5]=B[5]-g[5],A[6]=B[6]-g[6],A[7]=B[7]-g[7],A[8]=B[8]-g[8],A[9]=B[9]-g[9],A[10]=B[10]-g[10],A[11]=B[11]-g[11],A[12]=B[12]-g[12],A[13]=B[13]-g[13],A[14]=B[14]-g[14],A[15]=B[15]-g[15],A}function nB(A,B,g){return A[0]=B[0]*g,A[1]=B[1]*g,A[2]=B[2]*g,A[3]=B[3]*g,A[4]=B[4]*g,A[5]=B[5]*g,A[6]=B[6]*g,A[7]=B[7]*g,A[8]=B[8]*g,A[9]=B[9]*g,A[10]=B[10]*g,A[11]=B[11]*g,A[12]=B[12]*g,A[13]=B[13]*g,A[14]=B[14]*g,A[15]=B[15]*g,A}function XB(A,B,g,Q){return A[0]=B[0]+g[0]*Q,A[1]=B[1]+g[1]*Q,A[2]=B[2]+g[2]*Q,A[3]=B[3]+g[3]*Q,A[4]=B[4]+g[4]*Q,A[5]=B[5]+g[5]*Q,A[6]=B[6]+g[6]*Q,A[7]=B[7]+g[7]*Q,A[8]=B[8]+g[8]*Q,A[9]=B[9]+g[9]*Q,A[10]=B[10]+g[10]*Q,A[11]=B[11]+g[11]*Q,A[12]=B[12]+g[12]*Q,A[13]=B[13]+g[13]*Q,A[14]=B[14]+g[14]*Q,A[15]=B[15]+g[15]*Q,A}function pB(A,B){return A[0]===B[0]&&A[1]===B[1]&&A[2]===B[2]&&A[3]===B[3]&&A[4]===B[4]&&A[5]===B[5]&&A[6]===B[6]&&A[7]===B[7]&&A[8]===B[8]&&A[9]===B[9]&&A[10]===B[10]&&A[11]===B[11]&&A[12]===B[12]&&A[13]===B[13]&&A[14]===B[14]&&A[15]===B[15]}function tB(A,B){var g=A[0],Q=A[1],I=A[2],C=A[3],E=A[4],D=A[5],G=A[6],o=A[7],R=A[8],F=A[9],w=A[10],M=A[11],i=A[12],N=A[13],Z=A[14],U=A[15],h=B[0],y=B[1],k=B[2],d=B[3],a=B[4],K=B[5],J=B[6],c=B[7],b=B[8],s=B[9],H=B[10],l=B[11],W=B[12],V=B[13],L=B[14],S=B[15];return Math.abs(g-h)<=Y*Math.max(1,Math.abs(g),Math.abs(h))&&Math.abs(Q-y)<=Y*Math.max(1,Math.abs(Q),Math.abs(y))&&Math.abs(I-k)<=Y*Math.max(1,Math.abs(I),Math.abs(k))&&Math.abs(C-d)<=Y*Math.max(1,Math.abs(C),Math.abs(d))&&Math.abs(E-a)<=Y*Math.max(1,Math.abs(E),Math.abs(a))&&Math.abs(D-K)<=Y*Math.max(1,Math.abs(D),Math.abs(K))&&Math.abs(G-J)<=Y*Math.max(1,Math.abs(G),Math.abs(J))&&Math.abs(o-c)<=Y*Math.max(1,Math.abs(o),Math.abs(c))&&Math.abs(R-b)<=Y*Math.max(1,Math.abs(R),Math.abs(b))&&Math.abs(F-s)<=Y*Math.max(1,Math.abs(F),Math.abs(s))&&Math.abs(w-H)<=Y*Math.max(1,Math.abs(w),Math.abs(H))&&Math.abs(M-l)<=Y*Math.max(1,Math.abs(M),Math.abs(l))&&Math.abs(i-W)<=Y*Math.max(1,Math.abs(i),Math.abs(W))&&Math.abs(N-V)<=Y*Math.max(1,Math.abs(N),Math.abs(V))&&Math.abs(Z-L)<=Y*Math.max(1,Math.abs(Z),Math.abs(L))&&Math.abs(U-S)<=Y*Math.max(1,Math.abs(U),Math.abs(S))}var xB=CB,jB=mB;function uB(){var A=new M(3);return M!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0),A}function TB(A){var B=new M(3);return B[0]=A[0],B[1]=A[1],B[2]=A[2],B}function zB(A){var B=A[0],g=A[1],Q=A[2];return Math.hypot(B,g,Q)}function fB(A,B,g){var Q=new M(3);return Q[0]=A,Q[1]=B,Q[2]=g,Q}function vB(A,B){return A[0]=B[0],A[1]=B[1],A[2]=B[2],A}function qB(A,B,g,Q){return A[0]=B,A[1]=g,A[2]=Q,A}function OB(A,B,g){return A[0]=B[0]+g[0],A[1]=B[1]+g[1],A[2]=B[2]+g[2],A}function rB(A,B,g){return A[0]=B[0]-g[0],A[1]=B[1]-g[1],A[2]=B[2]-g[2],A}function eB(A,B,g){return A[0]=B[0]*g[0],A[1]=B[1]*g[1],A[2]=B[2]*g[2],A}function PB(A,B,g){return A[0]=B[0]/g[0],A[1]=B[1]/g[1],A[2]=B[2]/g[2],A}function _B(A,B){return A[0]=Math.ceil(B[0]),A[1]=Math.ceil(B[1]),A[2]=Math.ceil(B[2]),A}function $B(A,B){return A[0]=Math.floor(B[0]),A[1]=Math.floor(B[1]),A[2]=Math.floor(B[2]),A}function Ag(A,B,g){return A[0]=Math.min(B[0],g[0]),A[1]=Math.min(B[1],g[1]),A[2]=Math.min(B[2],g[2]),A}function Bg(A,B,g){return A[0]=Math.max(B[0],g[0]),A[1]=Math.max(B[1],g[1]),A[2]=Math.max(B[2],g[2]),A}function gg(A,B){return A[0]=Math.round(B[0]),A[1]=Math.round(B[1]),A[2]=Math.round(B[2]),A}function Qg(A,B,g){return A[0]=B[0]*g,A[1]=B[1]*g,A[2]=B[2]*g,A}function Ig(A,B,g,Q){return A[0]=B[0]+g[0]*Q,A[1]=B[1]+g[1]*Q,A[2]=B[2]+g[2]*Q,A}function Cg(A,B){var g=B[0]-A[0],Q=B[1]-A[1],I=B[2]-A[2];return Math.hypot(g,Q,I)}function Eg(A,B){var g=B[0]-A[0],Q=B[1]-A[1],I=B[2]-A[2];return g*g+Q*Q+I*I}function Dg(A){var B=A[0],g=A[1],Q=A[2];return B*B+g*g+Q*Q}function Gg(A,B){return A[0]=-B[0],A[1]=-B[1],A[2]=-B[2],A}function og(A,B){return A[0]=1/B[0],A[1]=1/B[1],A[2]=1/B[2],A}function Rg(A,B){var g=B[0],Q=B[1],I=B[2],C=g*g+Q*Q+I*I;return C>0&&(C=1/Math.sqrt(C)),A[0]=B[0]*C,A[1]=B[1]*C,A[2]=B[2]*C,A}function Fg(A,B){return A[0]*B[0]+A[1]*B[1]+A[2]*B[2]}function wg(A,B,g){var Q=B[0],I=B[1],C=B[2],E=g[0],D=g[1],G=g[2];return A[0]=I*G-C*D,A[1]=C*E-Q*G,A[2]=Q*D-I*E,A}function Yg(A,B,g,Q){var I=B[0],C=B[1],E=B[2];return A[0]=I+Q*(g[0]-I),A[1]=C+Q*(g[1]-C),A[2]=E+Q*(g[2]-E),A}function Mg(A,B,g,Q,I,C){var E=C*C,D=E*(2*C-3)+1,G=E*(C-2)+C,o=E*(C-1),R=E*(3-2*C);return A[0]=B[0]*D+g[0]*G+Q[0]*o+I[0]*R,A[1]=B[1]*D+g[1]*G+Q[1]*o+I[1]*R,A[2]=B[2]*D+g[2]*G+Q[2]*o+I[2]*R,A}function ig(A,B,g,Q,I,C){var E=1-C,D=E*E,G=C*C,o=D*E,R=3*C*D,F=3*G*E,w=G*C;return A[0]=B[0]*o+g[0]*R+Q[0]*F+I[0]*w,A[1]=B[1]*o+g[1]*R+Q[1]*F+I[1]*w,A[2]=B[2]*o+g[2]*R+Q[2]*F+I[2]*w,A}function Ng(A,B){B=B||1;var g=2*i()*Math.PI,Q=2*i()-1,I=Math.sqrt(1-Q*Q)*B;return A[0]=Math.cos(g)*I,A[1]=Math.sin(g)*I,A[2]=Q*B,A}function Zg(A,B,g){var Q=B[0],I=B[1],C=B[2],E=g[3]*Q+g[7]*I+g[11]*C+g[15];return E=E||1,A[0]=(g[0]*Q+g[4]*I+g[8]*C+g[12])/E,A[1]=(g[1]*Q+g[5]*I+g[9]*C+g[13])/E,A[2]=(g[2]*Q+g[6]*I+g[10]*C+g[14])/E,A}function Ug(A,B,g){var Q=B[0],I=B[1],C=B[2];return A[0]=Q*g[0]+I*g[3]+C*g[6],A[1]=Q*g[1]+I*g[4]+C*g[7],A[2]=Q*g[2]+I*g[5]+C*g[8],A}function hg(A,B,g){var Q=g[0],I=g[1],C=g[2],E=g[3],D=B[0],G=B[1],o=B[2],R=I*o-C*G,F=C*D-Q*o,w=Q*G-I*D,Y=I*w-C*F,M=C*R-Q*w,i=Q*F-I*R,N=2*E;return R*=N,F*=N,w*=N,Y*=2,M*=2,i*=2,A[0]=D+R+Y,A[1]=G+F+M,A[2]=o+w+i,A}function yg(A,B,g,Q){var I=[],C=[];return I[0]=B[0]-g[0],I[1]=B[1]-g[1],I[2]=B[2]-g[2],C[0]=I[0],C[1]=I[1]*Math.cos(Q)-I[2]*Math.sin(Q),C[2]=I[1]*Math.sin(Q)+I[2]*Math.cos(Q),A[0]=C[0]+g[0],A[1]=C[1]+g[1],A[2]=C[2]+g[2],A}function kg(A,B,g,Q){var I=[],C=[];return I[0]=B[0]-g[0],I[1]=B[1]-g[1],I[2]=B[2]-g[2],C[0]=I[2]*Math.sin(Q)+I[0]*Math.cos(Q),C[1]=I[1],C[2]=I[2]*Math.cos(Q)-I[0]*Math.sin(Q),A[0]=C[0]+g[0],A[1]=C[1]+g[1],A[2]=C[2]+g[2],A}function dg(A,B,g,Q){var I=[],C=[];return I[0]=B[0]-g[0],I[1]=B[1]-g[1],I[2]=B[2]-g[2],C[0]=I[0]*Math.cos(Q)-I[1]*Math.sin(Q),C[1]=I[0]*Math.sin(Q)+I[1]*Math.cos(Q),C[2]=I[2],A[0]=C[0]+g[0],A[1]=C[1]+g[1],A[2]=C[2]+g[2],A}function ag(A,B){var g=A[0],Q=A[1],I=A[2],C=B[0],E=B[1],D=B[2],G=Math.sqrt(g*g+Q*Q+I*I)*Math.sqrt(C*C+E*E+D*D),o=G&&Fg(A,B)/G;return Math.acos(Math.min(Math.max(o,-1),1))}function Kg(A){return A[0]=0,A[1]=0,A[2]=0,A}function Jg(A){return"vec3("+A[0]+", "+A[1]+", "+A[2]+")"}function cg(A,B){return A[0]===B[0]&&A[1]===B[1]&&A[2]===B[2]}function bg(A,B){var g=A[0],Q=A[1],I=A[2],C=B[0],E=B[1],D=B[2];return Math.abs(g-C)<=Y*Math.max(1,Math.abs(g),Math.abs(C))&&Math.abs(Q-E)<=Y*Math.max(1,Math.abs(Q),Math.abs(E))&&Math.abs(I-D)<=Y*Math.max(1,Math.abs(I),Math.abs(D))}var sg,Hg=rB,lg=eB,Wg=PB,Vg=Cg,Lg=Eg,Sg=zB,mg=Dg,ng=(sg=uB(),function(A,B,g,Q,I,C){var E,D;for(B||(B=3),g||(g=0),D=Q?Math.min(Q*B+g,A.length):A.length,E=g;E 0&&(E=1/Math.sqrt(E)),A[0]=g*E,A[1]=Q*E,A[2]=I*E,A[3]=C*E,A}function EQ(A,B){return A[0]*B[0]+A[1]*B[1]+A[2]*B[2]+A[3]*B[3]}function DQ(A,B,g,Q){var I=g[0]*Q[1]-g[1]*Q[0],C=g[0]*Q[2]-g[2]*Q[0],E=g[0]*Q[3]-g[3]*Q[0],D=g[1]*Q[2]-g[2]*Q[1],G=g[1]*Q[3]-g[3]*Q[1],o=g[2]*Q[3]-g[3]*Q[2],R=B[0],F=B[1],w=B[2],Y=B[3];return A[0]=F*o-w*G+Y*D,A[1]=-R*o+w*E-Y*C,A[2]=R*G-F*E+Y*I,A[3]=-R*D+F*C-w*I,A}function GQ(A,B,g,Q){var I=B[0],C=B[1],E=B[2],D=B[3];return A[0]=I+Q*(g[0]-I),A[1]=C+Q*(g[1]-C),A[2]=E+Q*(g[2]-E),A[3]=D+Q*(g[3]-D),A}function oQ(A,B){var g,Q,I,C,E,D;B=B||1;do{E=(g=2*i()-1)*g+(Q=2*i()-1)*Q}while(E>=1);do{D=(I=2*i()-1)*I+(C=2*i()-1)*C}while(D>=1);var G=Math.sqrt((1-E)/D);return A[0]=B*g,A[1]=B*Q,A[2]=B*I*G,A[3]=B*C*G,A}function RQ(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3];return A[0]=g[0]*Q+g[4]*I+g[8]*C+g[12]*E,A[1]=g[1]*Q+g[5]*I+g[9]*C+g[13]*E,A[2]=g[2]*Q+g[6]*I+g[10]*C+g[14]*E,A[3]=g[3]*Q+g[7]*I+g[11]*C+g[15]*E,A}function FQ(A,B,g){var Q=B[0],I=B[1],C=B[2],E=g[0],D=g[1],G=g[2],o=g[3],R=o*Q+D*C-G*I,F=o*I+G*Q-E*C,w=o*C+E*I-D*Q,Y=-E*Q-D*I-G*C;return A[0]=R*o+Y*-E+F*-G-w*-D,A[1]=F*o+Y*-D+w*-E-R*-G,A[2]=w*o+Y*-G+R*-D-F*-E,A[3]=B[3],A}function wQ(A){return A[0]=0,A[1]=0,A[2]=0,A[3]=0,A}function YQ(A){return"vec4("+A[0]+", "+A[1]+", "+A[2]+", "+A[3]+")"}function MQ(A,B){return A[0]===B[0]&&A[1]===B[1]&&A[2]===B[2]&&A[3]===B[3]}function iQ(A,B){var g=A[0],Q=A[1],I=A[2],C=A[3],E=B[0],D=B[1],G=B[2],o=B[3];return Math.abs(g-E)<=Y*Math.max(1,Math.abs(g),Math.abs(E))&&Math.abs(Q-D)<=Y*Math.max(1,Math.abs(Q),Math.abs(D))&&Math.abs(I-G)<=Y*Math.max(1,Math.abs(I),Math.abs(G))&&Math.abs(C-o)<=Y*Math.max(1,Math.abs(C),Math.abs(o))}var NQ=Tg,ZQ=zg,UQ=fg,hQ=$g,yQ=AQ,kQ=BQ,dQ=gQ,aQ=function(){var A=Xg();return function(B,g,Q,I,C,E){var D,G;for(g||(g=4),Q||(Q=0),G=I?Math.min(I*g+Q,B.length):B.length,D=Q;D Y?(A[0]=B[0]/Q,A[1]=B[1]/Q,A[2]=B[2]/Q):(A[0]=1,A[1]=0,A[2]=0),g}function sQ(A,B){var g=QI(A,B);return Math.acos(2*g*g-1)}function HQ(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=g[0],G=g[1],o=g[2],R=g[3];return A[0]=Q*R+E*D+I*o-C*G,A[1]=I*R+E*G+C*D-Q*o,A[2]=C*R+E*o+Q*G-I*D,A[3]=E*R-Q*D-I*G-C*o,A}function lQ(A,B,g){g*=.5;var Q=B[0],I=B[1],C=B[2],E=B[3],D=Math.sin(g),G=Math.cos(g);return A[0]=Q*G+E*D,A[1]=I*G+C*D,A[2]=C*G-I*D,A[3]=E*G-Q*D,A}function WQ(A,B,g){g*=.5;var Q=B[0],I=B[1],C=B[2],E=B[3],D=Math.sin(g),G=Math.cos(g);return A[0]=Q*G-C*D,A[1]=I*G+E*D,A[2]=C*G+Q*D,A[3]=E*G-I*D,A}function VQ(A,B,g){g*=.5;var Q=B[0],I=B[1],C=B[2],E=B[3],D=Math.sin(g),G=Math.cos(g);return A[0]=Q*G+I*D,A[1]=I*G-Q*D,A[2]=C*G+E*D,A[3]=E*G-C*D,A}function LQ(A,B){var g=B[0],Q=B[1],I=B[2];return A[0]=g,A[1]=Q,A[2]=I,A[3]=Math.sqrt(Math.abs(1-g*g-Q*Q-I*I)),A}function SQ(A,B){var g=B[0],Q=B[1],I=B[2],C=B[3],E=Math.sqrt(g*g+Q*Q+I*I),D=Math.exp(C),G=E>0?D*Math.sin(E)/E:0;return A[0]=g*G,A[1]=Q*G,A[2]=I*G,A[3]=D*Math.cos(E),A}function mQ(A,B){var g=B[0],Q=B[1],I=B[2],C=B[3],E=Math.sqrt(g*g+Q*Q+I*I),D=E>0?Math.atan2(E,C)/E:0;return A[0]=g*D,A[1]=Q*D,A[2]=I*D,A[3]=.5*Math.log(g*g+Q*Q+I*I+C*C),A}function nQ(A,B,g){return mQ(A,B),gI(A,A,g),SQ(A,A),A}function XQ(A,B,g,Q){var I,C,E,D,G,o=B[0],R=B[1],F=B[2],w=B[3],M=g[0],i=g[1],N=g[2],Z=g[3];return(C=o*M+R*i+F*N+w*Z)<0&&(C=-C,M=-M,i=-i,N=-N,Z=-Z),1-C>Y?(I=Math.acos(C),E=Math.sin(I),D=Math.sin((1-Q)*I)/E,G=Math.sin(Q*I)/E):(D=1-Q,G=Q),A[0]=D*o+G*M,A[1]=D*R+G*i,A[2]=D*F+G*N,A[3]=D*w+G*Z,A}function pQ(A){var B=i(),g=i(),Q=i(),I=Math.sqrt(1-B),C=Math.sqrt(B);return A[0]=I*Math.sin(2*Math.PI*g),A[1]=I*Math.cos(2*Math.PI*g),A[2]=C*Math.sin(2*Math.PI*Q),A[3]=C*Math.cos(2*Math.PI*Q),A}function tQ(A,B){var g=B[0],Q=B[1],I=B[2],C=B[3],E=g*g+Q*Q+I*I+C*C,D=E?1/E:0;return A[0]=-g*D,A[1]=-Q*D,A[2]=-I*D,A[3]=C*D,A}function xQ(A,B){return A[0]=-B[0],A[1]=-B[1],A[2]=-B[2],A[3]=B[3],A}function jQ(A,B){var g,Q=B[0]+B[4]+B[8];if(Q>0)g=Math.sqrt(Q+1),A[3]=.5*g,g=.5/g,A[0]=(B[5]-B[7])*g,A[1]=(B[6]-B[2])*g,A[2]=(B[1]-B[3])*g;else{var I=0;B[4]>B[0]&&(I=1),B[8]>B[3*I+I]&&(I=2);var C=(I+1)%3,E=(I+2)%3;g=Math.sqrt(B[3*I+I]-B[3*C+C]-B[3*E+E]+1),A[I]=.5*g,g=.5/g,A[3]=(B[3*C+E]-B[3*E+C])*g,A[C]=(B[3*C+I]+B[3*I+C])*g,A[E]=(B[3*E+I]+B[3*I+E])*g}return A}function uQ(A,B,g,Q){var I=.5*Math.PI/180;B*=I,g*=I,Q*=I;var C=Math.sin(B),E=Math.cos(B),D=Math.sin(g),G=Math.cos(g),o=Math.sin(Q),R=Math.cos(Q);return A[0]=C*G*R-E*D*o,A[1]=E*D*R+C*G*o,A[2]=E*G*o-C*D*R,A[3]=E*G*R+C*D*o,A}function TQ(A){return"quat("+A[0]+", "+A[1]+", "+A[2]+", "+A[3]+")"}var zQ,fQ,vQ,qQ,OQ,rQ,eQ=pg,PQ=tg,_Q=xg,$Q=jg,AI=ug,BI=HQ,gI=Pg,QI=EQ,II=GQ,CI=BQ,EI=CI,DI=gQ,GI=DI,oI=CQ,RI=MQ,FI=iQ,wI=(zQ=uB(),fQ=fB(1,0,0),vQ=fB(0,1,0),function(A,B,g){var Q=Fg(B,g);return Q<-.999999?(wg(zQ,fQ,B),Sg(zQ)<1e-6&&wg(zQ,vQ,B),Rg(zQ,zQ),cQ(A,zQ,Math.PI),A):Q>.999999?(A[0]=0,A[1]=0,A[2]=0,A[3]=1,A):(wg(zQ,B,g),A[0]=zQ[0],A[1]=zQ[1],A[2]=zQ[2],A[3]=1+Q,oI(A,A))}),YI=(qQ=KQ(),OQ=KQ(),function(A,B,g,Q,I,C){return XQ(qQ,B,I,C),XQ(OQ,g,Q,C),XQ(A,qQ,OQ,2*C*(1-C)),A}),MI=(rQ=ZA(),function(A,B,g,Q){return rQ[0]=g[0],rQ[3]=g[1],rQ[6]=g[2],rQ[1]=Q[0],rQ[4]=Q[1],rQ[7]=Q[2],rQ[2]=-B[0],rQ[5]=-B[1],rQ[8]=-B[2],oI(A,jQ(A,rQ))});function iI(){var A=new M(8);return M!=Float32Array&&(A[0]=0,A[1]=0,A[2]=0,A[4]=0,A[5]=0,A[6]=0,A[7]=0),A[3]=1,A}function NI(A){var B=new M(8);return B[0]=A[0],B[1]=A[1],B[2]=A[2],B[3]=A[3],B[4]=A[4],B[5]=A[5],B[6]=A[6],B[7]=A[7],B}function ZI(A,B,g,Q,I,C,E,D){var G=new M(8);return G[0]=A,G[1]=B,G[2]=g,G[3]=Q,G[4]=I,G[5]=C,G[6]=E,G[7]=D,G}function UI(A,B,g,Q,I,C,E){var D=new M(8);D[0]=A,D[1]=B,D[2]=g,D[3]=Q;var G=.5*I,o=.5*C,R=.5*E;return D[4]=G*Q+o*g-R*B,D[5]=o*Q+R*A-G*g,D[6]=R*Q+G*B-o*A,D[7]=-G*A-o*B-R*g,D}function hI(A,B,g){var Q=.5*g[0],I=.5*g[1],C=.5*g[2],E=B[0],D=B[1],G=B[2],o=B[3];return A[0]=E,A[1]=D,A[2]=G,A[3]=o,A[4]=Q*o+I*G-C*D,A[5]=I*o+C*E-Q*G,A[6]=C*o+Q*D-I*E,A[7]=-Q*E-I*D-C*G,A}function yI(A,B){return A[0]=0,A[1]=0,A[2]=0,A[3]=1,A[4]=.5*B[0],A[5]=.5*B[1],A[6]=.5*B[2],A[7]=0,A}function kI(A,B){return A[0]=B[0],A[1]=B[1],A[2]=B[2],A[3]=B[3],A[4]=0,A[5]=0,A[6]=0,A[7]=0,A}function dI(A,B){var g=KQ();dB(g,B);var Q=new M(3);return yB(Q,B),hI(A,g,Q),A}function aI(A,B){return A[0]=B[0],A[1]=B[1],A[2]=B[2],A[3]=B[3],A[4]=B[4],A[5]=B[5],A[6]=B[6],A[7]=B[7],A}function KI(A){return A[0]=0,A[1]=0,A[2]=0,A[3]=1,A[4]=0,A[5]=0,A[6]=0,A[7]=0,A}function JI(A,B,g,Q,I,C,E,D,G){return A[0]=B,A[1]=g,A[2]=Q,A[3]=I,A[4]=C,A[5]=E,A[6]=D,A[7]=G,A}var cI=_Q;function bI(A,B){return A[0]=B[4],A[1]=B[5],A[2]=B[6],A[3]=B[7],A}var sI=_Q;function HI(A,B){return A[4]=B[0],A[5]=B[1],A[6]=B[2],A[7]=B[3],A}function lI(A,B){var g=B[4],Q=B[5],I=B[6],C=B[7],E=-B[0],D=-B[1],G=-B[2],o=B[3];return A[0]=2*(g*o+C*E+Q*G-I*D),A[1]=2*(Q*o+C*D+I*E-g*G),A[2]=2*(I*o+C*G+g*D-Q*E),A}function WI(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=.5*g[0],G=.5*g[1],o=.5*g[2],R=B[4],F=B[5],w=B[6],Y=B[7];return A[0]=Q,A[1]=I,A[2]=C,A[3]=E,A[4]=E*D+I*o-C*G+R,A[5]=E*G+C*D-Q*o+F,A[6]=E*o+Q*G-I*D+w,A[7]=-Q*D-I*G-C*o+Y,A}function VI(A,B,g){var Q=-B[0],I=-B[1],C=-B[2],E=B[3],D=B[4],G=B[5],o=B[6],R=B[7],F=D*E+R*Q+G*C-o*I,w=G*E+R*I+o*Q-D*C,Y=o*E+R*C+D*I-G*Q,M=R*E-D*Q-G*I-o*C;return lQ(A,B,g),Q=A[0],I=A[1],C=A[2],E=A[3],A[4]=F*E+M*Q+w*C-Y*I,A[5]=w*E+M*I+Y*Q-F*C,A[6]=Y*E+M*C+F*I-w*Q,A[7]=M*E-F*Q-w*I-Y*C,A}function LI(A,B,g){var Q=-B[0],I=-B[1],C=-B[2],E=B[3],D=B[4],G=B[5],o=B[6],R=B[7],F=D*E+R*Q+G*C-o*I,w=G*E+R*I+o*Q-D*C,Y=o*E+R*C+D*I-G*Q,M=R*E-D*Q-G*I-o*C;return WQ(A,B,g),Q=A[0],I=A[1],C=A[2],E=A[3],A[4]=F*E+M*Q+w*C-Y*I,A[5]=w*E+M*I+Y*Q-F*C,A[6]=Y*E+M*C+F*I-w*Q,A[7]=M*E-F*Q-w*I-Y*C,A}function SI(A,B,g){var Q=-B[0],I=-B[1],C=-B[2],E=B[3],D=B[4],G=B[5],o=B[6],R=B[7],F=D*E+R*Q+G*C-o*I,w=G*E+R*I+o*Q-D*C,Y=o*E+R*C+D*I-G*Q,M=R*E-D*Q-G*I-o*C;return VQ(A,B,g),Q=A[0],I=A[1],C=A[2],E=A[3],A[4]=F*E+M*Q+w*C-Y*I,A[5]=w*E+M*I+Y*Q-F*C,A[6]=Y*E+M*C+F*I-w*Q,A[7]=M*E-F*Q-w*I-Y*C,A}function mI(A,B,g){var Q=g[0],I=g[1],C=g[2],E=g[3],D=B[0],G=B[1],o=B[2],R=B[3];return A[0]=D*E+R*Q+G*C-o*I,A[1]=G*E+R*I+o*Q-D*C,A[2]=o*E+R*C+D*I-G*Q,A[3]=R*E-D*Q-G*I-o*C,D=B[4],G=B[5],o=B[6],R=B[7],A[4]=D*E+R*Q+G*C-o*I,A[5]=G*E+R*I+o*Q-D*C,A[6]=o*E+R*C+D*I-G*Q,A[7]=R*E-D*Q-G*I-o*C,A}function nI(A,B,g){var Q=B[0],I=B[1],C=B[2],E=B[3],D=g[0],G=g[1],o=g[2],R=g[3];return A[0]=Q*R+E*D+I*o-C*G,A[1]=I*R+E*G+C*D-Q*o,A[2]=C*R+E*o+Q*G-I*D,A[3]=E*R-Q*D-I*G-C*o,D=g[4],G=g[5],o=g[6],R=g[7],A[4]=Q*R+E*D+I*o-C*G,A[5]=I*R+E*G+C*D-Q*o,A[6]=C*R+E*o+Q*G-I*D,A[7]=E*R-Q*D-I*G-C*o,A}function XI(A,B,g,Q){if(Math.abs(Q) 0){g=Math.sqrt(g);var Q=B[0]/g,I=B[1]/g,C=B[2]/g,E=B[3]/g,D=B[4],G=B[5],o=B[6],R=B[7],F=Q*D+I*G+C*o+E*R;A[0]=Q,A[1]=I,A[2]=C,A[3]=E,A[4]=(D-Q*F)/g,A[5]=(G-I*F)/g,A[6]=(o-C*F)/g,A[7]=(R-E*F)/g}return A}function PI(A){return"quat2("+A[0]+", "+A[1]+", "+A[2]+", "+A[3]+", "+A[4]+", "+A[5]+", "+A[6]+", "+A[7]+")"}function _I(A,B){return A[0]===B[0]&&A[1]===B[1]&&A[2]===B[2]&&A[3]===B[3]&&A[4]===B[4]&&A[5]===B[5]&&A[6]===B[6]&&A[7]===B[7]}function $I(A,B){var g=A[0],Q=A[1],I=A[2],C=A[3],E=A[4],D=A[5],G=A[6],o=A[7],R=B[0],F=B[1],w=B[2],M=B[3],i=B[4],N=B[5],Z=B[6],U=B[7];return Math.abs(g-R)<=Y*Math.max(1,Math.abs(g),Math.abs(R))&&Math.abs(Q-F)<=Y*Math.max(1,Math.abs(Q),Math.abs(F))&&Math.abs(I-w)<=Y*Math.max(1,Math.abs(I),Math.abs(w))&&Math.abs(C-M)<=Y*Math.max(1,Math.abs(C),Math.abs(M))&&Math.abs(E-i)<=Y*Math.max(1,Math.abs(E),Math.abs(i))&&Math.abs(D-N)<=Y*Math.max(1,Math.abs(D),Math.abs(N))&&Math.abs(G-Z)<=Y*Math.max(1,Math.abs(G),Math.abs(Z))&&Math.abs(o-U)<=Y*Math.max(1,Math.abs(o),Math.abs(U))}function AC(){var A=new M(2);return M!=Float32Array&&(A[0]=0,A[1]=0),A}function BC(A){var B=new M(2);return B[0]=A[0],B[1]=A[1],B}function gC(A,B){var g=new M(2);return g[0]=A,g[1]=B,g}function QC(A,B){return A[0]=B[0],A[1]=B[1],A}function IC(A,B,g){return A[0]=B,A[1]=g,A}function CC(A,B,g){return A[0]=B[0]+g[0],A[1]=B[1]+g[1],A}function EC(A,B,g){return A[0]=B[0]-g[0],A[1]=B[1]-g[1],A}function DC(A,B,g){return A[0]=B[0]*g[0],A[1]=B[1]*g[1],A}function GC(A,B,g){return A[0]=B[0]/g[0],A[1]=B[1]/g[1],A}function oC(A,B){return A[0]=Math.ceil(B[0]),A[1]=Math.ceil(B[1]),A}function RC(A,B){return A[0]=Math.floor(B[0]),A[1]=Math.floor(B[1]),A}function FC(A,B,g){return A[0]=Math.min(B[0],g[0]),A[1]=Math.min(B[1],g[1]),A}function wC(A,B,g){return A[0]=Math.max(B[0],g[0]),A[1]=Math.max(B[1],g[1]),A}function YC(A,B){return A[0]=Math.round(B[0]),A[1]=Math.round(B[1]),A}function MC(A,B,g){return A[0]=B[0]*g,A[1]=B[1]*g,A}function iC(A,B,g,Q){return A[0]=B[0]+g[0]*Q,A[1]=B[1]+g[1]*Q,A}function NC(A,B){var g=B[0]-A[0],Q=B[1]-A[1];return Math.hypot(g,Q)}function ZC(A,B){var g=B[0]-A[0],Q=B[1]-A[1];return g*g+Q*Q}function UC(A){var B=A[0],g=A[1];return Math.hypot(B,g)}function hC(A){var B=A[0],g=A[1];return B*B+g*g}function yC(A,B){return A[0]=-B[0],A[1]=-B[1],A}function kC(A,B){return A[0]=1/B[0],A[1]=1/B[1],A}function dC(A,B){var g=B[0],Q=B[1],I=g*g+Q*Q;return I>0&&(I=1/Math.sqrt(I)),A[0]=B[0]*I,A[1]=B[1]*I,A}function aC(A,B){return A[0]*B[0]+A[1]*B[1]}function KC(A,B,g){var Q=B[0]*g[1]-B[1]*g[0];return A[0]=A[1]=0,A[2]=Q,A}function JC(A,B,g,Q){var I=B[0],C=B[1];return A[0]=I+Q*(g[0]-I),A[1]=C+Q*(g[1]-C),A}function cC(A,B){B=B||1;var g=2*i()*Math.PI;return A[0]=Math.cos(g)*B,A[1]=Math.sin(g)*B,A}function bC(A,B,g){var Q=B[0],I=B[1];return A[0]=g[0]*Q+g[2]*I,A[1]=g[1]*Q+g[3]*I,A}function sC(A,B,g){var Q=B[0],I=B[1];return A[0]=g[0]*Q+g[2]*I+g[4],A[1]=g[1]*Q+g[3]*I+g[5],A}function HC(A,B,g){var Q=B[0],I=B[1];return A[0]=g[0]*Q+g[3]*I+g[6],A[1]=g[1]*Q+g[4]*I+g[7],A}function lC(A,B,g){var Q=B[0],I=B[1];return A[0]=g[0]*Q+g[4]*I+g[12],A[1]=g[1]*Q+g[5]*I+g[13],A}function WC(A,B,g,Q){var I=B[0]-g[0],C=B[1]-g[1],E=Math.sin(Q),D=Math.cos(Q);return A[0]=I*D-C*E+g[0],A[1]=I*E+C*D+g[1],A}function VC(A,B){var g=A[0],Q=A[1],I=B[0],C=B[1],E=Math.sqrt(g*g+Q*Q)*Math.sqrt(I*I+C*C),D=E&&(g*I+Q*C)/E;return Math.acos(Math.min(Math.max(D,-1),1))}function LC(A){return A[0]=0,A[1]=0,A}function SC(A){return"vec2("+A[0]+", "+A[1]+")"}function mC(A,B){return A[0]===B[0]&&A[1]===B[1]}function nC(A,B){var g=A[0],Q=A[1],I=B[0],C=B[1];return Math.abs(g-I)<=Y*Math.max(1,Math.abs(g),Math.abs(I))&&Math.abs(Q-C)<=Y*Math.max(1,Math.abs(Q),Math.abs(C))}var XC=UC,pC=EC,tC=DC,xC=GC,jC=NC,uC=ZC,TC=hC,zC=function(){var A=AC();return function(B,g,Q,I,C,E){var D,G;for(g||(g=2),Q||(Q=0),G=I?Math.min(I*g+Q,B.length):B.length,D=Q;D