nothing-simulator/docs/js/twgl.min.js
2025-03-04 05:04:38 -05:00

6 lines
No EOL
65 KiB
JavaScript

/*!
* @license twgl.js 6.1.0 Copyright (c) 2015, Gregg Tavares All Rights Reserved.
* Available via the MIT license.
* see: http://github.com/greggman/twgl.js for details
*/
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.twgl=t():e.twgl=t()}("undefined"!=typeof self?self:this,(()=>(()=>{"use strict";var e={650:(e,t,r)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.__esModule=!0,t.createAttribsFromArrays=z,t.createBufferFromArray=C,t.createBufferFromTypedArray=F,t.createBufferInfoFromArrays=function(e,t,r){var n=z(e,t),i=Object.assign({},r||{});i.attribs=Object.assign({},r?r.attribs:{},n);var u=t.indices;if(u){var a=S(u,"indices");i.indices=F(e,a,l),i.numElements=a.length,i.elementType=o.getGLTypeForTypedArray(a)}else i.numElements||(i.numElements=function(e,t){var r,n;for(n=0;n<k.length&&!((r=k[n])in t)&&!((r=w.attribPrefix+r)in t);++n);n===k.length&&(r=Object.keys(t)[0]);var o=t[r];if(!o.buffer)return 1;e.bindBuffer(c,o.buffer);var i=e.getBufferParameter(c,s);e.bindBuffer(c,null);var u=(x=o.type,x===y||x===b?1:x===v||x===m?2:x===p||x===d||x===h?4:0),a=i/u,f=o.numComponents||o.size,l=a/f;var x;if(l%1!=0)throw new Error("numComponents ".concat(f," not correct for length ").concat(length));return l}(e,i.attribs));return i},t.createBuffersFromArrays=function(e,t){var r={};Object.keys(t).forEach((function(n){r[n]=C(e,t[n],n)})),t.indices?(r.numElements=t.indices.length,r.elementType=o.getGLTypeForTypedArray(S(t.indices),"indices")):r.numElements=function(e){var t,r;for(r=0;r<k.length&&!((t=k[r])in e);++r);r===k.length&&(t=Object.keys(e)[0]);var n=e[t],o=_(n).length;if(void 0===o)return 1;var i=A(n,t),u=o/i;if(o%i>0)throw new Error("numComponents ".concat(i," not correct for length ").concat(o));return u}(t);return r},t.getArray_=_,t.getNumComponents_=A,t.setAttribInfoBufferFromArray=function(e,t,r,n){r=S(r),void 0!==n?(e.bindBuffer(c,t.buffer),e.bufferSubData(c,n,r)):x(e,c,t.buffer,r,t.drawType)},t.setAttributeDefaults_=function(e){i.copyExistingProperties(e,w)},t.setAttributePrefix=function(e){w.attribPrefix=e};var o=a(r(801)),i=a(r(303));function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(u=function(e){return e?r:t})(e)}function a(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=n(e)&&"function"!=typeof e)return{default:e};var r=u(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var f=i?Object.getOwnPropertyDescriptor(e,a):null;f&&(f.get||f.set)?Object.defineProperty(o,a,f):o[a]=e[a]}return o.default=e,r&&r.set(e,o),o}var f=35044,c=34962,l=34963,s=34660,y=5120,b=5121,v=5122,m=5123,p=5124,d=5125,h=5126,w={attribPrefix:""};function x(e,t,r,n,o){e.bindBuffer(t,r),e.bufferData(t,n,o||f)}function F(e,t,r,n){if(i.isBuffer(e,t))return t;r=r||c;var o=e.createBuffer();return x(e,r,o,t,n),o}function j(e){return"indices"===e}function _(e){return e.length?e:e.data}var E=/coord|texture/i,O=/color|colour/i;function A(e,t,r){return e.numComponents||e.size||function(e,t){var r;if(t%(r=E.test(e)?2:O.test(e)?4:3)>0)throw new Error("Can not guess numComponents for attribute '".concat(e,"'. Tried ").concat(r," but ").concat(t," values is not evenly divisible by ").concat(r,". You should specify it."));return r}(t,r||_(e).length)}function S(e,t){if(o.isArrayBuffer(e))return e;if(o.isArrayBuffer(e.data))return e.data;Array.isArray(e)&&(e={data:e});var r=e.type?T(e.type):void 0;return r||(r=j(t)?Uint16Array:Float32Array),new r(e.data)}function T(e){return"number"==typeof e?o.getTypedArrayTypeForGLType(e):e||Float32Array}function g(e,t){return{buffer:t.buffer,numValues:24,type:(r=t.type,"number"==typeof r?r:r?o.getGLTypeForTypedArrayType(r):h),arrayType:T(t.type)};var r}function P(e,t){var r=t.data||t,n=T(t.type),i=r*n.BYTES_PER_ELEMENT,u=e.createBuffer();return e.bindBuffer(c,u),e.bufferData(c,i,t.drawType||f),{buffer:u,numValues:r,type:o.getGLTypeForTypedArrayType(n),arrayType:n}}function R(e,t,r){var n=S(t,r);return{arrayType:n.constructor,buffer:F(e,n,void 0,t.drawType),type:o.getGLTypeForTypedArray(n),numValues:0}}function z(e,t){var r={};return Object.keys(t).forEach((function(n){if(!j(n)){var i=t[n],u=i.attrib||i.name||i.attribName||w.attribPrefix+n;if(i.value){if(!Array.isArray(i.value)&&!o.isArrayBuffer(i.value))throw new Error("array.value is not array or typedarray");r[u]={value:i.value}}else{var a=(i.buffer&&i.buffer instanceof WebGLBuffer?g:"number"==typeof i||"number"==typeof i.data?P:R)(e,i,n),f=a.buffer,c=a.type,l=a.numValues,s=a.arrayType,y=void 0!==i.normalize?i.normalize:(v=s)===Int8Array||v===Uint8Array,b=A(i,n,l);r[u]={buffer:f,numComponents:b,type:c,normalize:y,stride:i.stride||0,offset:i.offset||0,divisor:void 0===i.divisor?void 0:i.divisor,drawType:i.drawType}}}var v})),e.bindBuffer(c,null),r}var k=["position","positions","a_position"];function C(e,t,r){var n="indices"===r?l:c;return F(e,S(t,r),n)}},341:(e,t,r)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.__esModule=!0,t.drawBufferInfo=f,t.drawObjectList=function(e,t){var r=null,n=null;t.forEach((function(t){if(!1!==t.active){var i=t.programInfo,a=t.vertexArrayInfo||t.bufferInfo,c=!1,l=void 0===t.type?u:t.type;i!==r&&(r=i,e.useProgram(i.program),c=!0),(c||a!==n)&&(n&&n.vertexArrayObject&&!a.vertexArrayObject&&e.bindVertexArray(null),n=a,o.setBuffersAndAttributes(e,i,a)),o.setUniforms(i,t.uniforms),f(e,a,l,t.count,t.offset,t.instanceCount)}})),n&&n.vertexArrayObject&&e.bindVertexArray(null)};var o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=n(e)&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var f=u?Object.getOwnPropertyDescriptor(e,a):null;f&&(f.get||f.set)?Object.defineProperty(o,a,f):o[a]=e[a]}return o.default=e,r&&r.set(e,o),o}(r(38));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}var u=4,a=5123;function f(e,t,r,n,o,i){r=void 0===r?u:r;var f=t.indices,c=t.elementType,l=void 0===n?t.numElements:n;o=void 0===o?0:o,c||f?void 0!==i?e.drawElementsInstanced(r,l,void 0===c?a:t.elementType,o,i):e.drawElements(r,l,void 0===c?a:t.elementType,o):void 0!==i?e.drawArraysInstanced(r,o,l,i):e.drawArrays(r,o,l)}},167:(e,t,r)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.__esModule=!0,t.bindFramebufferInfo=function(e,t,r){r=r||f,t?(e.bindFramebuffer(r,t.framebuffer),e.viewport(0,0,t.width,t.height)):(e.bindFramebuffer(r,null),e.viewport(0,0,e.drawingBufferWidth,e.drawingBufferHeight))},t.createFramebufferInfo=function(e,t,r,n){var u=f,a=e.createFramebuffer();e.bindFramebuffer(u,a),r=r||e.drawingBufferWidth,n=n||e.drawingBufferHeight;var s=[],b={framebuffer:a,attachments:[],width:r,height:n};(t=t||d).forEach((function(t,a){var f=t.attachment,v=t.samples,d=t.format,F=t.attachmentPoint||function(e,t){return h[e]||h[t]}(d,t.internalFormat);if(F||(F=y+a),function(e){return e>=y&&e<y+x}(F)&&s.push(F),!f)if(void 0!==v||function(e){return w[e]}(d))f=e.createRenderbuffer(),e.bindRenderbuffer(c,f),v>1?e.renderbufferStorageMultisample(c,v,d,r,n):e.renderbufferStorage(c,d,r,n);else{var j=Object.assign({},t);j.width=r,j.height=n,void 0===j.auto&&(j.auto=!1,j.min=j.min||j.minMag||p,j.mag=j.mag||j.minMag||p,j.wrapS=j.wrapS||j.wrap||m,j.wrapT=j.wrapT||j.wrap||m),f=o.createTexture(e,j)}if(i.isRenderbuffer(e,f))e.framebufferRenderbuffer(u,F,c,f);else{if(!i.isTexture(e,f))throw new Error("unknown attachment type");void 0!==t.layer?e.framebufferTextureLayer(u,F,f,t.level||0,t.layer):e.framebufferTexture2D(u,F,t.target||l,f,t.level||0)}b.attachments.push(f)})),e.drawBuffers&&e.drawBuffers(s);return b},t.resizeFramebufferInfo=function(e,t,r,n,u){n=n||e.drawingBufferWidth,u=u||e.drawingBufferHeight,t.width=n,t.height=u,(r=r||d).forEach((function(r,a){var f=t.attachments[a],l=r.format,s=r.samples;if(void 0!==s||i.isRenderbuffer(e,f))e.bindRenderbuffer(c,f),s>1?e.renderbufferStorageMultisample(c,s,l,n,u):e.renderbufferStorage(c,l,n,u);else{if(!i.isTexture(e,f))throw new Error("unknown attachment type");o.resizeTexture(e,f,r,n,u)}}))};var o=a(r(175)),i=a(r(303));function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(u=function(e){return e?r:t})(e)}function a(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=n(e)&&"function"!=typeof e)return{default:e};var r=u(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var f=i?Object.getOwnPropertyDescriptor(e,a):null;f&&(f.get||f.set)?Object.defineProperty(o,a,f):o[a]=e[a]}return o.default=e,r&&r.set(e,o),o}var f=36160,c=36161,l=3553,s=34041,y=36064,b=36096,v=33306,m=33071,p=9729,d=[{format:6408,type:5121,min:p,wrap:m},{format:s}],h={};h[34041]=v,h[6401]=36128,h[36168]=36128,h[6402]=b,h[33189]=b,h[33190]=b,h[36012]=b,h[35056]=v,h[36013]=v;var w={};w[32854]=!0,w[32855]=!0,w[36194]=!0,w[34041]=!0,w[33189]=!0,w[6401]=!0,w[36168]=!0;var x=32},303:(e,t)=>{function r(e){return r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},r(e)}t.__esModule=!0,t.copyExistingProperties=function(e,t){Object.keys(t).forEach((function(r){t.hasOwnProperty(r)&&e.hasOwnProperty(r)&&(t[r]=e[r])}))},t.copyNamedProperties=function(e,t,r){e.forEach((function(e){var n=t[e];void 0!==n&&(r[e]=n)}))},t.error=function(){var e;(e=console).error.apply(e,arguments)},t.isBuffer=function(e,t){return"undefined"!=typeof WebGLBuffer&&o(t,"WebGLBuffer")},t.isRenderbuffer=function(e,t){return"undefined"!=typeof WebGLRenderbuffer&&o(t,"WebGLRenderbuffer")},t.isSampler=function(e,t){return"undefined"!=typeof WebGLSampler&&o(t,"WebGLSampler")},t.isShader=function(e,t){return"undefined"!=typeof WebGLShader&&o(t,"WebGLShader")},t.isTexture=function(e,t){return"undefined"!=typeof WebGLTexture&&o(t,"WebGLTexture")},t.warn=function(){var e;(e=console).warn.apply(e,arguments)};var n=new Map;function o(e,t){if(!e||"object"!==r(e))return!1;var o=n.get(t);o||(o=new WeakMap,n.set(t,o));var i=o.get(e);if(void 0===i){var u=Object.prototype.toString.call(e);i=u.substring(8,u.length-1)===t,o.set(e,i)}return i}},38:(e,t,r)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.__esModule=!0,t.bindTransformFeedbackInfo=Re,t.bindUniformBlock=Ue,t.createAttributeSetters=Le,t.createProgram=he,t.createProgramAsync=void 0,t.createProgramFromScripts=function(e,t,r,n,o){var i,u=ve(r,n,o),a=[],f=m(t);try{for(f.s();!(i=f.n()).done;){var c=i.value,l=F(c);if(!l)return ye(u,"unknown script element: ".concat(c));a.push(l.text)}}catch(e){f.e(e)}finally{f.f()}return he(e,a,u)},t.createProgramFromSources=Ee,t.createProgramInfo=Xe,t.createProgramInfoAsync=void 0,t.createProgramInfoFromProgram=Be,t.createProgramInfos=Ye,t.createProgramInfosAsync=void 0,t.createPrograms=Ve,t.createProgramsAsync=void 0,t.createTransformFeedback=function(e,t,r){var n=e.createTransformFeedback();return e.bindTransformFeedback(T,n),e.useProgram(t.program),Re(e,t,r),e.bindTransformFeedback(T,null),n},t.createTransformFeedbackInfo=Pe,t.createUniformBlockInfo=function(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return Me(e,t.program,t.uniformBlockSpec,r,n)},t.createUniformBlockInfoFromProgram=Me,t.createUniformBlockSpecFromProgram=ze,t.createUniformSetters=ge,t.setAttributes=Ge,t.setBlockUniforms=function(e,t){var r=e.setters;for(var n in t){var o=r[n];if(o)o(t[n])}},t.setBuffersAndAttributes=function(e,t,r){r.vertexArrayObject?e.bindVertexArray(r.vertexArrayObject):(Ge(t.attribSetters||t,r.attribs),r.indices&&e.bindBuffer(O,r.indices))},t.setUniformBlock=function(e,t,r){Ue(e,t,r)&&e.bufferSubData(A,0,r.asUint8,r.offset||0,r.size||0)},t.setUniforms=We,t.setUniformsAndBindTextures=void 0;var o=a(r(854)),i=a(r(303));function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(u=function(e){return e?r:t})(e)}function a(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=n(e)&&"function"!=typeof e)return{default:e};var r=u(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var f=i?Object.getOwnPropertyDescriptor(e,a):null;f&&(f.get||f.set)?Object.defineProperty(o,a,f):o[a]=e[a]}return o.default=e,r&&r.set(e,o),o}function f(){f=function(){return t};var e,t={},r=Object.prototype,o=r.hasOwnProperty,i=Object.defineProperty||function(e,t,r){e[t]=r.value},u="function"==typeof Symbol?Symbol:{},a=u.iterator||"@@iterator",c=u.asyncIterator||"@@asyncIterator",l=u.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,r){return e[t]=r}}function y(e,t,r,n){var o=t&&t.prototype instanceof w?t:w,u=Object.create(o.prototype),a=new z(n||[]);return i(u,"_invoke",{value:T(e,r,a)}),u}function b(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}t.wrap=y;var v="suspendedStart",m="suspendedYield",p="executing",d="completed",h={};function w(){}function x(){}function F(){}var j={};s(j,a,(function(){return this}));var _=Object.getPrototypeOf,E=_&&_(_(k([])));E&&E!==r&&o.call(E,a)&&(j=E);var O=F.prototype=w.prototype=Object.create(j);function A(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function S(e,t){function r(i,u,a,f){var c=b(e[i],e,u);if("throw"!==c.type){var l=c.arg,s=l.value;return s&&"object"==n(s)&&o.call(s,"__await")?t.resolve(s.__await).then((function(e){r("next",e,a,f)}),(function(e){r("throw",e,a,f)})):t.resolve(s).then((function(e){l.value=e,a(l)}),(function(e){return r("throw",e,a,f)}))}f(c.arg)}var u;i(this,"_invoke",{value:function(e,n){function o(){return new t((function(t,o){r(e,n,t,o)}))}return u=u?u.then(o,o):o()}})}function T(t,r,n){var o=v;return function(i,u){if(o===p)throw new Error("Generator is already running");if(o===d){if("throw"===i)throw u;return{value:e,done:!0}}for(n.method=i,n.arg=u;;){var a=n.delegate;if(a){var f=g(a,n);if(f){if(f===h)continue;return f}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if(o===v)throw o=d,n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);o=p;var c=b(t,r,n);if("normal"===c.type){if(o=n.done?d:m,c.arg===h)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(o=d,n.method="throw",n.arg=c.arg)}}}function g(t,r){var n=r.method,o=t.iterator[n];if(o===e)return r.delegate=null,"throw"===n&&t.iterator.return&&(r.method="return",r.arg=e,g(t,r),"throw"===r.method)||"return"!==n&&(r.method="throw",r.arg=new TypeError("The iterator does not provide a '"+n+"' method")),h;var i=b(o,t.iterator,r.arg);if("throw"===i.type)return r.method="throw",r.arg=i.arg,r.delegate=null,h;var u=i.arg;return u?u.done?(r[t.resultName]=u.value,r.next=t.nextLoc,"return"!==r.method&&(r.method="next",r.arg=e),r.delegate=null,h):u:(r.method="throw",r.arg=new TypeError("iterator result is not an object"),r.delegate=null,h)}function P(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function R(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function z(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function k(t){if(t||""===t){var r=t[a];if(r)return r.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var i=-1,u=function r(){for(;++i<t.length;)if(o.call(t,i))return r.value=t[i],r.done=!1,r;return r.value=e,r.done=!0,r};return u.next=u}}throw new TypeError(n(t)+" is not iterable")}return x.prototype=F,i(O,"constructor",{value:F,configurable:!0}),i(F,"constructor",{value:x,configurable:!0}),x.displayName=s(F,l,"GeneratorFunction"),t.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===x||"GeneratorFunction"===(t.displayName||t.name))},t.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,F):(e.__proto__=F,s(e,l,"GeneratorFunction")),e.prototype=Object.create(O),e},t.awrap=function(e){return{__await:e}},A(S.prototype),s(S.prototype,c,(function(){return this})),t.AsyncIterator=S,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var u=new S(y(e,r,n,o),i);return t.isGeneratorFunction(r)?u:u.next().then((function(e){return e.done?e.value:u.next()}))},A(O),s(O,l,"Generator"),s(O,a,(function(){return this})),s(O,"toString",(function(){return"[object Generator]"})),t.keys=function(e){var t=Object(e),r=[];for(var n in t)r.push(n);return r.reverse(),function e(){for(;r.length;){var n=r.pop();if(n in t)return e.value=n,e.done=!1,e}return e.done=!0,e}},t.values=k,z.prototype={constructor:z,reset:function(t){if(this.prev=0,this.next=0,this.sent=this._sent=e,this.done=!1,this.delegate=null,this.method="next",this.arg=e,this.tryEntries.forEach(R),!t)for(var r in this)"t"===r.charAt(0)&&o.call(this,r)&&!isNaN(+r.slice(1))&&(this[r]=e)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var r=this;function n(n,o){return a.type="throw",a.arg=t,r.next=n,o&&(r.method="next",r.arg=e),!!o}for(var i=this.tryEntries.length-1;i>=0;--i){var u=this.tryEntries[i],a=u.completion;if("root"===u.tryLoc)return n("end");if(u.tryLoc<=this.prev){var f=o.call(u,"catchLoc"),c=o.call(u,"finallyLoc");if(f&&c){if(this.prev<u.catchLoc)return n(u.catchLoc,!0);if(this.prev<u.finallyLoc)return n(u.finallyLoc)}else if(f){if(this.prev<u.catchLoc)return n(u.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<u.finallyLoc)return n(u.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var n=this.tryEntries[r];if(n.tryLoc<=this.prev&&o.call(n,"finallyLoc")&&this.prev<n.finallyLoc){var i=n;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var u=i?i.completion:{};return u.type=e,u.arg=t,i?(this.method="next",this.next=i.finallyLoc,h):this.complete(u)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),h},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),R(r),h}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;R(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,r,n){return this.delegate={iterator:k(t),resultName:r,nextLoc:n},"next"===this.method&&(this.arg=e),h}},t}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t,r){var o;return o=function(e,t){if("object"!=n(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,t||"default");if("object"!=n(o))return o;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==n(o)?o:String(o))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function y(e,t,r,n,o,i,u){try{var a=e[i](u),f=a.value}catch(e){return void r(e)}a.done?t(f):Promise.resolve(f).then(n,o)}function b(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function u(e){y(i,n,o,u,a,"next",e)}function a(e){y(i,n,o,u,a,"throw",e)}u(void 0)}))}}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var n,o,i,u,a=[],f=!0,c=!1;try{if(i=(r=r.call(e)).next,0===t){if(Object(r)!==r)return;f=!1}else for(;!(f=(n=i.call(r)).done)&&(a.push(n.value),a.length!==t);f=!0);}catch(e){c=!0,o=e}finally{try{if(!f&&null!=r.return&&(u=r.return(),Object(u)!==u))return}finally{if(c)throw o}}return a}}(e,t)||d(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function m(e,t){var r="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!r){if(Array.isArray(e)||(r=d(e))||t&&e&&"number"==typeof e.length){r&&(e=r);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,u=!0,a=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return u=e.done,e},e:function(e){a=!0,i=e},f:function(){try{u||null==r.return||r.return()}finally{if(a)throw i}}}}function p(e){return function(e){if(Array.isArray(e))return h(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||d(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function d(e,t){if(e){if("string"==typeof e)return h(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);return"Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?h(e,t):void 0}}function h(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r<t;r++)n[r]=e[r];return n}var w=i.error,x=i.warn;function F(e){return"undefined"!=typeof document&&document.getElementById?document.getElementById(e):null}var j=33984,_=35048,E=34962,O=34963,A=35345,S=35982,T=36386,g=35713,P=35714,R=35632,z=35633,k=35981,C=35718,M=35721,U=35971,I=35382,W=35396,L=35398,G=35392,B=35395,N=5126,X=5124,D=5125,V=3553,Y=34067,H=32879,q=35866,K={};function $(e,t){return K[t].bindPoint}function Z(e,t){return function(r){e.uniform1i(t,r)}}function J(e,t){return function(r){e.uniform1iv(t,r)}}function Q(e,t){return function(r){e.uniform2iv(t,r)}}function ee(e,t){return function(r){e.uniform3iv(t,r)}}function te(e,t){return function(r){e.uniform4iv(t,r)}}function re(e,t,r,n){var u=$(0,t);return o.isWebGL2(e)?function(t){var o,a;!t||i.isTexture(e,t)?(o=t,a=null):(o=t.texture,a=t.sampler),e.uniform1i(n,r),e.activeTexture(j+r),e.bindTexture(u,o),e.bindSampler(r,a)}:function(t){e.uniform1i(n,r),e.activeTexture(j+r),e.bindTexture(u,t)}}function ne(e,t,r,n,u){for(var a=$(0,t),f=new Int32Array(u),c=0;c<u;++c)f[c]=r+c;return o.isWebGL2(e)?function(t){e.uniform1iv(n,f),t.forEach((function(t,n){var o,u;e.activeTexture(j+f[n]),!t||i.isTexture(e,t)?(o=t,u=null):(o=t.texture,u=t.sampler),e.bindSampler(r,u),e.bindTexture(a,o)}))}:function(t){e.uniform1iv(n,f),t.forEach((function(t,r){e.activeTexture(j+f[r]),e.bindTexture(a,t)}))}}function oe(e,t){return function(r){if(r.value)switch(e.disableVertexAttribArray(t),r.value.length){case 4:e.vertexAttrib4fv(t,r.value);break;case 3:e.vertexAttrib3fv(t,r.value);break;case 2:e.vertexAttrib2fv(t,r.value);break;case 1:e.vertexAttrib1fv(t,r.value);break;default:throw new Error("the length of a float constant value must be between 1 and 4!")}else e.bindBuffer(E,r.buffer),e.enableVertexAttribArray(t),e.vertexAttribPointer(t,r.numComponents||r.size,r.type||N,r.normalize||!1,r.stride||0,r.offset||0),e.vertexAttribDivisor&&e.vertexAttribDivisor(t,r.divisor||0)}}function ie(e,t){return function(r){if(r.value){if(e.disableVertexAttribArray(t),4!==r.value.length)throw new Error("The length of an integer constant value must be 4!");e.vertexAttrib4iv(t,r.value)}else e.bindBuffer(E,r.buffer),e.enableVertexAttribArray(t),e.vertexAttribIPointer(t,r.numComponents||r.size,r.type||X,r.stride||0,r.offset||0),e.vertexAttribDivisor&&e.vertexAttribDivisor(t,r.divisor||0)}}function ue(e,t){return function(r){if(r.value){if(e.disableVertexAttribArray(t),4!==r.value.length)throw new Error("The length of an unsigned integer constant value must be 4!");e.vertexAttrib4uiv(t,r.value)}else e.bindBuffer(E,r.buffer),e.enableVertexAttribArray(t),e.vertexAttribIPointer(t,r.numComponents||r.size,r.type||D,r.stride||0,r.offset||0),e.vertexAttribDivisor&&e.vertexAttribDivisor(t,r.divisor||0)}}function ae(e,t,r){var n=r.size,o=r.count;return function(r){e.bindBuffer(E,r.buffer);for(var i=r.size||r.numComponents||n,u=i/o,a=r.type||N,f=K[a].size*i,c=r.normalize||!1,l=r.offset||0,s=f/o,y=0;y<o;++y)e.enableVertexAttribArray(t+y),e.vertexAttribPointer(t+y,u,a,c,f,l+s*y),e.vertexAttribDivisor&&e.vertexAttribDivisor(t+y,r.divisor||0)}}K[5126]={Type:Float32Array,size:4,setter:function(e,t){return function(r){e.uniform1f(t,r)}},arraySetter:function(e,t){return function(r){e.uniform1fv(t,r)}}},K[35664]={Type:Float32Array,size:8,setter:function(e,t){return function(r){e.uniform2fv(t,r)}},cols:2},K[35665]={Type:Float32Array,size:12,setter:function(e,t){return function(r){e.uniform3fv(t,r)}},cols:3},K[35666]={Type:Float32Array,size:16,setter:function(e,t){return function(r){e.uniform4fv(t,r)}},cols:4},K[X]={Type:Int32Array,size:4,setter:Z,arraySetter:J},K[35667]={Type:Int32Array,size:8,setter:Q,cols:2},K[35668]={Type:Int32Array,size:12,setter:ee,cols:3},K[35669]={Type:Int32Array,size:16,setter:te,cols:4},K[5125]={Type:Uint32Array,size:4,setter:function(e,t){return function(r){e.uniform1ui(t,r)}},arraySetter:function(e,t){return function(r){e.uniform1uiv(t,r)}}},K[36294]={Type:Uint32Array,size:8,setter:function(e,t){return function(r){e.uniform2uiv(t,r)}},cols:2},K[36295]={Type:Uint32Array,size:12,setter:function(e,t){return function(r){e.uniform3uiv(t,r)}},cols:3},K[36296]={Type:Uint32Array,size:16,setter:function(e,t){return function(r){e.uniform4uiv(t,r)}},cols:4},K[35670]={Type:Uint32Array,size:4,setter:Z,arraySetter:J},K[35671]={Type:Uint32Array,size:8,setter:Q,cols:2},K[35672]={Type:Uint32Array,size:12,setter:ee,cols:3},K[35673]={Type:Uint32Array,size:16,setter:te,cols:4},K[35674]={Type:Float32Array,size:32,setter:function(e,t){return function(r){e.uniformMatrix2fv(t,!1,r)}},rows:2,cols:2},K[35675]={Type:Float32Array,size:48,setter:function(e,t){return function(r){e.uniformMatrix3fv(t,!1,r)}},rows:3,cols:3},K[35676]={Type:Float32Array,size:64,setter:function(e,t){return function(r){e.uniformMatrix4fv(t,!1,r)}},rows:4,cols:4},K[35685]={Type:Float32Array,size:32,setter:function(e,t){return function(r){e.uniformMatrix2x3fv(t,!1,r)}},rows:2,cols:3},K[35686]={Type:Float32Array,size:32,setter:function(e,t){return function(r){e.uniformMatrix2x4fv(t,!1,r)}},rows:2,cols:4},K[35687]={Type:Float32Array,size:48,setter:function(e,t){return function(r){e.uniformMatrix3x2fv(t,!1,r)}},rows:3,cols:2},K[35688]={Type:Float32Array,size:48,setter:function(e,t){return function(r){e.uniformMatrix3x4fv(t,!1,r)}},rows:3,cols:4},K[35689]={Type:Float32Array,size:64,setter:function(e,t){return function(r){e.uniformMatrix4x2fv(t,!1,r)}},rows:4,cols:2},K[35690]={Type:Float32Array,size:64,setter:function(e,t){return function(r){e.uniformMatrix4x3fv(t,!1,r)}},rows:4,cols:3},K[35678]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:V},K[35680]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:Y},K[35679]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:H},K[35682]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:V},K[36289]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:q},K[36292]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:q},K[36293]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:Y},K[36298]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:V},K[36299]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:H},K[36300]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:Y},K[36303]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:q},K[36306]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:V},K[36307]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:H},K[36308]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:Y},K[36311]={Type:null,size:0,setter:re,arraySetter:ne,bindPoint:q};var fe={};fe[5126]={size:4,setter:oe},fe[35664]={size:8,setter:oe},fe[35665]={size:12,setter:oe},fe[35666]={size:16,setter:oe},fe[X]={size:4,setter:ie},fe[35667]={size:8,setter:ie},fe[35668]={size:12,setter:ie},fe[35669]={size:16,setter:ie},fe[5125]={size:4,setter:ue},fe[36294]={size:8,setter:ue},fe[36295]={size:12,setter:ue},fe[36296]={size:16,setter:ue},fe[35670]={size:4,setter:ie},fe[35671]={size:8,setter:ie},fe[35672]={size:12,setter:ie},fe[35673]={size:16,setter:ie},fe[35674]={size:4,setter:ae,count:2},fe[35675]={size:9,setter:ae,count:3},fe[35676]={size:16,setter:ae,count:4};var ce=/ERROR:\s*\d+:(\d+)/gi;var le=/^[ \t]*\n/;function se(e){var t=0;return le.test(e)&&(t=1,e=e.replace(le,"")),{lineOffset:t,shaderSource:e}}function ye(e,t){return e.errorCallback(t),e.callback&&setTimeout((function(){e.callback("".concat(t,"\n").concat(e.errors.join("\n")))})),null}function be(e,t,r,n){if(n=n||w,!e.getShaderParameter(r,g)){var i=e.getShaderInfoLog(r),u=se(e.getShaderSource(r)),a=u.lineOffset,f=u.shaderSource,c="".concat(function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,n=p(t.matchAll(ce)),o=new Map(n.map((function(e,r){var o=parseInt(e[1]),i=n[r+1],u=i?i.index:t.length;return[o-1,t.substring(e.index,u)]})));return e.split("\n").map((function(e,t){var n=o.get(t);return"".concat(t+1+r,": ").concat(e).concat(n?"\n\n^^^ ".concat(n):"")})).join("\n")}(f,i,a),"\nError compiling ").concat(o.glEnumToString(e,t),": ").concat(i);return n(c),c}return""}function ve(e,t,r){var n,o,i;if("function"==typeof t&&(r=t,t=void 0),"function"==typeof e)r=e,e=void 0;else if(e&&!Array.isArray(e)){var u=e;r=u.errorCallback,e=u.attribLocations,n=u.transformFeedbackVaryings,o=u.transformFeedbackMode,i=u.callback}var a=r||w,f=[],c={errorCallback:function(e){f.push(e);for(var t=arguments.length,r=new Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];a.apply(void 0,[e].concat(r))},transformFeedbackVaryings:n,transformFeedbackMode:o,callback:i,errors:f},l={};return Array.isArray(e)?e.forEach((function(e,r){l[e]=t?t[r]:r})):l=e||{},c.attribLocations=l,c}var me=["VERTEX_SHADER","FRAGMENT_SHADER"];var pe=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return new Promise((function(t){return setTimeout(t,e)}))};function de(e,t,r){for(var n,o=e.createProgram(),i=ve(r),u=i.attribLocations,a=i.transformFeedbackVaryings,f=i.transformFeedbackMode,c=0;c<t.length;++c){var l=t[c];if("string"==typeof l){var s=F(l),y=s?s.text:l,b=e[me[c]];s&&s.type&&(b=((n=s.type).indexOf("frag")>=0?R:n.indexOf("vert")>=0?z:void 0)||b),l=e.createShader(b),e.shaderSource(l,se(y).shaderSource),e.compileShader(l),e.attachShader(o,l)}}Object.entries(u).forEach((function(t){var r=v(t,2),n=r[0],i=r[1];return e.bindAttribLocation(o,i,n)}));var m=a;return m&&(m.attribs&&(m=m.attribs),Array.isArray(m)||(m=Object.keys(m)),e.transformFeedbackVaryings(o,m,f||k)),e.linkProgram(o),o}function he(e,t,r,n,o){var i=ve(r,n,o),u=new Set(t),a=de(e,t,i);function f(e,t){var r=_e(e,t,i.errorCallback);return r&&function(e,t,r){var n,o=m(e.getAttachedShaders(t));try{for(o.s();!(n=o.n()).done;){var i=n.value;r.has(i)&&e.deleteShader(i)}}catch(e){o.e(e)}finally{o.f()}e.deleteProgram(t)}(e,t,u),r}if(!i.callback)return f(e,a)?void 0:a;xe(e,a).then((function(){var t=f(e,a);i.callback(t,t?void 0:a)}))}function we(e){return function(t,r){for(var n=arguments.length,o=new Array(n>2?n-2:0),i=2;i<n;i++)o[i-2]=arguments[i];return new Promise((function(n,i){var u=ve.apply(void 0,o);u.callback=function(e,t){e?i(e):n(t)},e(t,r,u)}))}}t.createProgramAsync=we(he),t.createProgramInfoAsync=we(Xe);function xe(e,t){return Fe.apply(this,arguments)}function Fe(){return Fe=b(f().mark((function e(t,r){var n,o,i;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.getExtension("KHR_parallel_shader_compile"),o=n?function(e,t){return e.getProgramParameter(t,n.COMPLETION_STATUS_KHR)}:function(){return!0},i=0;case 3:return e.next=5,pe(i);case 5:i=1e3/60;case 6:if(!o(t,r)){e.next=3;break}case 7:case"end":return e.stop()}}),e)}))),Fe.apply(this,arguments)}function je(){return je=b(f().mark((function e(t,r){var n,o,i;return f().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=0,o=Object.values(r);case 1:if(!(n<o.length)){e.next=8;break}return i=o[n],e.next=5,xe(t,i);case 5:n++,e.next=1;break;case 8:case"end":return e.stop()}}),e)}))),je.apply(this,arguments)}function _e(e,t,r){if(r=r||w,!e.getProgramParameter(t,P)){var n=e.getProgramInfoLog(t);r("Error in program linking: ".concat(n));var o=e.getAttachedShaders(t).map((function(t){return be(e,e.getShaderParameter(t,e.SHADER_TYPE),t,r)}));return"".concat(n,"\n").concat(o.filter((function(e){return e})).join("\n"))}}function Ee(e,t,r,n,o){return he(e,t,r,n,o)}function Oe(e){var t=e.name;return t.startsWith("gl_")||t.startsWith("webgl_")}var Ae=/(\.|\[|]|\w+)/g,Se=function(e){return e>="0"&&e<="9"};function Te(e,t,r,n){for(var o=e.split(Ae).filter((function(e){return""!==e})),i=0,u="";;){var a=o[i++];u+=a;var f=Se(a[0]),c=f?parseInt(a):a;if(f&&(u+=o[i++]),i===o.length){r[c]=t;break}var l=o[i++],s="["===l,y=r[c]||(s?[]:{});r[c]=y,r=y,n[u]=n[u]||function(e){return function(t){Ie(e,t)}}(y),u+=l}}function ge(e,t){var r=0;function n(t,n,o){var i,u=n.name.endsWith("[0]"),a=n.type,f=K[a];if(!f)throw new Error("unknown type: 0x".concat(a.toString(16)));if(f.bindPoint){var c=r;r+=n.size,i=u?f.arraySetter(e,a,c,o,n.size):f.setter(e,a,c,o,n.size)}else i=f.arraySetter&&u?f.arraySetter(e,o):f.setter(e,o);return i.location=o,i}for(var o={},i={},u=e.getProgramParameter(t,C),a=0;a<u;++a){var f=e.getActiveUniform(t,a);if(!Oe(f)){var c=f.name;c.endsWith("[0]")&&(c=c.substr(0,c.length-3));var l=e.getUniformLocation(t,f.name);if(l){var s=n(0,f,l);o[c]=s,Te(c,s,i,o)}}}return o}function Pe(e,t){for(var r={},n=e.getProgramParameter(t,U),o=0;o<n;++o){var i=e.getTransformFeedbackVarying(t,o);r[i.name]={index:o,type:i.type,size:i.size}}return r}function Re(e,t,r){for(var n in t.transformFeedbackInfo&&(t=t.transformFeedbackInfo),r.attribs&&(r=r.attribs),r){var o=t[n];if(o){var i=r[n];i.offset?e.bindBufferRange(S,o.index,i.buffer,i.offset,i.size):e.bindBufferBase(S,o.index,i.buffer)}}}function ze(e,t){for(var r=e.getProgramParameter(t,C),n=[],o=[],i=0;i<r;++i){o.push(i),n.push({});var u=e.getActiveUniform(t,i);n[i].name=u.name}[["UNIFORM_TYPE","type"],["UNIFORM_SIZE","size"],["UNIFORM_BLOCK_INDEX","blockNdx"],["UNIFORM_OFFSET","offset"]].forEach((function(r){var i=r[0],u=r[1];e.getActiveUniforms(t,o,e[i]).forEach((function(e,t){n[t][u]=e}))}));for(var a={},f=e.getProgramParameter(t,I),c=0;c<f;++c){var l=e.getActiveUniformBlockName(t,c),s={index:e.getUniformBlockIndex(t,l),usedByVertexShader:e.getActiveUniformBlockParameter(t,c,W),usedByFragmentShader:e.getActiveUniformBlockParameter(t,c,L),size:e.getActiveUniformBlockParameter(t,c,G),uniformIndices:e.getActiveUniformBlockParameter(t,c,B)};s.used=s.usedByVertexShader||s.usedByFragmentShader,a[l]=s}return{blockSpecs:a,uniformData:n}}var ke=/\[\d+\]\.$/,Ce=function(e,t){return((e+(t-1))/t|0)*t};function Me(e,t,r,n){var o,i,u,a,f=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{},c=r.blockSpecs,l=r.uniformData,s=c[n];if(!s)return x("no uniform block object named:",n),{name:n,uniforms:{}};var y=null!==(o=f.offset)&&void 0!==o?o:0,b=null!==(i=f.array)&&void 0!==i?i:new ArrayBuffer(s.size),v=null!==(u=f.buffer)&&void 0!==u?u:e.createBuffer(),m=s.index;e.bindBuffer(A,v),f.buffer||e.bufferData(A,b.byteLength,_),e.uniformBlockBinding(t,s.index,m);var p=n+".";ke.test(p)&&(p=p.replace(ke,"."));var d={},h={},w={};return s.uniformIndices.forEach((function(e){var t=l[e],r=t.name;r.startsWith(p)&&(r=r.substr(p.length));var n=r.endsWith("[0]");n&&(r=r.substr(0,r.length-3));var o=K[t.type],i=o.Type,u=n?Ce(o.size,16)*t.size:o.size*t.size,a=new i(b,y+t.offset,u/i.BYTES_PER_ELEMENT);d[r]=a;var f=function(e,t,r,n){if(t||r){n=n||1;var o=e.length/4;return function(t){for(var r=0,i=0,u=0;u<o;++u){for(var a=0;a<n;++a)e[r++]=t[i++];r+=4-n}}}return function(t){t.length?e.set(t):e[0]=t}}(a,n,o.rows,o.cols);h[r]=f,Te(r,f,w,h)})),{name:n,array:b,asFloat:new Float32Array(b),asUint8:new Uint8Array(b),buffer:v,uniforms:d,setters:h,offset:null!==(a=f.bufferOffset)&&void 0!==a?a:y,size:s.size}}function Ue(e,t,r){var n=(t.uniformBlockSpec||t).blockSpecs[r.name];if(n){var o,i=n.index;return e.bindBufferRange(A,i,r.buffer,r.offset||0,null!==(o=r.size)&&void 0!==o?o:r.array.byteLength),!0}return!1}function Ie(e,t){for(var r in t){var n=e[r];"function"==typeof n?n(t[r]):Ie(e[r],t[r])}}function We(e){for(var t=e.uniformSetters||e,r=arguments.length<=1?0:arguments.length-1,n=0;n<r;++n){var o=n+1<1||arguments.length<=n+1?void 0:arguments[n+1];if(Array.isArray(o))for(var i=o.length,u=0;u<i;++u)We(t,o[u]);else for(var a in o){var f=t[a];f&&f(o[a])}}}t.setUniformsAndBindTextures=We;function Le(e,t){for(var r={},n=e.getProgramParameter(t,M),o=0;o<n;++o){var i=e.getActiveAttrib(t,o);if(!Oe(i)){var u=e.getAttribLocation(t,i.name),a=fe[i.type],f=a.setter(e,u,a);f.location=u,r[i.name]=f}}return r}function Ge(e,t){for(var r in t){var n=e[r];n&&n(t[r])}}function Be(e,t){var r=ge(e,t),n=Le(e,t),i={program:t,uniformSetters:r,attribSetters:n,uniformLocations:Object.fromEntries(Object.entries(r).map((function(e){var t=v(e,2);return[t[0],t[1].location]}))),attribLocations:Object.fromEntries(Object.entries(n).map((function(e){var t=v(e,2);return[t[0],t[1].location]})))};return o.isWebGL2(e)&&(i.uniformBlockSpec=ze(e,t),i.transformFeedbackInfo=Pe(e,t)),i}var Ne=/\s|{|}|;/;function Xe(e,t,r,n,o){var i=ve(r,n,o),u=[];if(t=t.map((function(e){if(!Ne.test(e)){var t=F(e);if(t)e=t.text;else{var r="no element with id: ".concat(e);i.errorCallback(r),u.push(r)}}return e})),u.length)return ye(i,"");var a=i.callback;a&&(i.callback=function(t,r){a(t,t?void 0:Be(e,r))});var f=Ee(e,t,i);return f?Be(e,f):null}function De(e,t,r,n,o){for(var i=0,u=Object.entries(t);i<u.length;i++){var a=v(u[i],2),f=a[0],c=a[1],s=l({},o),y=r[f];Array.isArray(y)||Object.assign(s,y);var b=_e(e,c,s.errorCallback);if(b){for(var p=0,d=Object.values(t);p<d.length;p++){var h=d[p],w=e.getAttachedShaders(h);e.deleteProgram(h);var x,F=m(w);try{for(F.s();!(x=F.n()).done;){var j=x.value;n.has(j)||e.deleteShader(j)}}catch(e){F.e(e)}finally{F.f()}}return b}}}function Ve(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=new Set,o=Object.fromEntries(Object.entries(t).map((function(t){var o=v(t,2),i=o[0],u=o[1],a=l({},r),f=Array.isArray(u)?u:u.shaders;return Array.isArray(u)||Object.assign(a,u),f.forEach(n.add,n),[i,de(e,f,a)]})));if(!r.callback)return De(e,o,t,n,r)?void 0:o;(function(e,t){return je.apply(this,arguments)})(e,o).then((function(){var i=De(e,o,t,n,r);r.callback(i,i?void 0:o)}))}function Ye(e,t,r){function n(e,t){return Object.fromEntries(Object.entries(t).map((function(t){var r=v(t,2),n=r[0],o=r[1];return[n,Be(e,o)]})))}var o=(r=ve(r)).callback;o&&(r.callback=function(t,r){o(t,t?void 0:n(e,r))});var i=Ve(e,t,r);if(!o&&i)return n(e,i)}t.createProgramsAsync=we(Ve),t.createProgramInfosAsync=we(Ye)},175:(e,t,r)=>{t.__esModule=!0,t.canFilter=kt,t.canGenerateMipmap=zt,t.createSampler=Dt,t.createSamplers=function(e,t){var r={};return Object.keys(t).forEach((function(n){r[n]=Dt(e,t[n])})),r},t.createTexture=ur,t.createTextureAsync=function(e,t){return new Promise((function(r,n){ur(e,t,(function(e,t,o){e?n(e):r({texture:t,source:o})}))}))},t.createTextures=function(e,t,r){r=r||$t;var n=0,o=[],i={},u={};function a(){0===n&&setTimeout((function(){r(o.length?o:void 0,i,u)}),0)}return Object.keys(t).forEach((function(r){var f,c,l=t[r];("string"==typeof(c=l.src)||Array.isArray(c)&&"string"==typeof c[0])&&(f=function(e,t,i){u[r]=i,--n,e&&o.push(e),a()},++n),i[r]=ur(e,l,f)})),a(),i},t.createTexturesAsync=function(e,t){return new Promise((function(r,n){ur(e,t,(function(e,t,o){e?n(e):r({textures:t,sources:o})}))}))},t.getBytesPerElementForInternalFormat=gt,t.getFormatAndTypeForInternalFormat=Pt,t.getNumComponentsForFormat=function(e){var t=At[e];if(!t)throw"unknown format: "+e;return t.t},t.loadTextureFromUrl=tr,t.resizeTexture=function(e,t,r,n,o,i){n=n||r.width,o=o||r.height,i=i||r.depth;var u=r.target||S;e.bindTexture(u,t);var a,f=r.level||0,c=r.internalFormat||r.format||w,l=Pt(c),s=r.format||l.format,y=r.src;a=y&&(m(y)||Array.isArray(y)&&"number"==typeof y[0])?r.type||Ct(e,y,l.type):r.type||l.type;if(u===T)for(var b=0;b<6;++b)e.texImage2D(R+b,f,c,n,o,0,s,a,null);else u===g||u===P?e.texImage3D(u,f,c,n,o,i,0,s,a,null):e.texImage2D(u,f,c,n,o,0,s,a,null)},t.setDefaultTextureColor=Ut,t.setEmptyTexture=ir,t.setSamplerParameters=Xt,t.setTextureDefaults_=function(e){i.copyExistingProperties(e,v),e.textureColor&&Ut(e.textureColor)},t.setTextureFilteringForSize=Vt,t.setTextureFromArray=or,t.setTextureFromElement=Kt,t.setTextureParameters=Nt;var n=a(r(854)),o=a(r(801)),i=a(r(303));function u(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(u=function(e){return e?r:t})(e)}function a(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=f(e)&&"function"!=typeof e)return{default:e};var r=u(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var i in e)if("default"!==i&&Object.prototype.hasOwnProperty.call(e,i)){var a=o?Object.getOwnPropertyDescriptor(e,i):null;a&&(a.get||a.set)?Object.defineProperty(n,i,a):n[i]=e[i]}return n.default=e,r&&r.set(e,n),n}function f(e){return f="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},f(e)}function c(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?c(Object(r),!0).forEach((function(t){s(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):c(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function s(e,t,r){var n;return n=function(e,t){if("object"!=f(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var n=r.call(e,t||"default");if("object"!=f(n))return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(t,"string"),(t="symbol"==f(n)?n:String(n))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var y,b,v={textureColor:new Uint8Array([128,192,255,255]),textureOptions:{},crossOrigin:void 0},m=o.isArrayBuffer,p=function(){return y=y||("undefined"!=typeof document&&document.createElement?document.createElement("canvas").getContext("2d"):null)},d=6406,h=6407,w=6408,x=6409,F=6410,j=6402,_=34041,E=33071,O=9728,A=9729,S=3553,T=34067,g=32879,P=35866,R=34069,z=34070,k=34071,C=34072,M=34073,U=34074,I=10241,W=10240,L=10242,G=10243,B=32882,N=33082,X=33083,D=33084,V=33085,Y=34892,H=34893,q=3317,K=3314,$=32878,Z=3316,J=3315,Q=32877,ee=37443,te=37441,re=37440,ne=33321,oe=36756,ie=33325,ue=33326,ae=33330,fe=33329,ce=33338,le=33337,se=33340,ye=33339,be=33323,ve=36757,me=33327,pe=33328,de=33336,he=33335,we=33332,xe=33331,Fe=33334,je=33333,_e=32849,Ee=35905,Oe=36194,Ae=36758,Se=35898,Te=35901,ge=34843,Pe=34837,Re=36221,ze=36239,ke=36215,Ce=36233,Me=36209,Ue=36227,Ie=32856,We=35907,Le=36759,Ge=32855,Be=32854,Ne=32857,Xe=34842,De=34836,Ve=36220,Ye=36238,He=36975,qe=36214,Ke=36232,$e=36226,Ze=36208,Je=33189,Qe=33190,et=36012,tt=36013,rt=35056,nt=5120,ot=5121,it=5122,ut=5123,at=5124,ft=5125,ct=5126,lt=32819,st=32820,yt=33635,bt=5131,vt=36193,mt=33640,pt=35899,dt=35902,ht=36269,wt=34042,xt=33319,Ft=33320,jt=6403,_t=36244,Et=36248,Ot=36249,At={},St=At;function Tt(e){if(!b){var t={};t[d]={o:d,i:!0,u:!0,l:[1,2,2,4],type:[ot,bt,vt,ct]},t[x]={o:x,i:!0,u:!0,l:[1,2,2,4],type:[ot,bt,vt,ct]},t[F]={o:F,i:!0,u:!0,l:[2,4,4,8],type:[ot,bt,vt,ct]},t[h]={o:h,i:!0,u:!0,l:[3,6,6,12,2],type:[ot,bt,vt,ct,yt]},t[w]={o:w,i:!0,u:!0,l:[4,8,8,16,2,2],type:[ot,bt,vt,ct,lt,st]},t[j]={o:j,i:!0,u:!1,l:[2,4],type:[ft,ut]},t[ne]={o:jt,i:!0,u:!0,l:[1],type:[ot]},t[oe]={o:jt,i:!1,u:!0,l:[1],type:[nt]},t[ie]={o:jt,i:!1,u:!0,l:[4,2],type:[ct,bt]},t[ue]={o:jt,i:!1,u:!1,l:[4],type:[ct]},t[ae]={o:_t,i:!0,u:!1,l:[1],type:[ot]},t[fe]={o:_t,i:!0,u:!1,l:[1],type:[nt]},t[we]={o:_t,i:!0,u:!1,l:[2],type:[ut]},t[xe]={o:_t,i:!0,u:!1,l:[2],type:[it]},t[Fe]={o:_t,i:!0,u:!1,l:[4],type:[ft]},t[je]={o:_t,i:!0,u:!1,l:[4],type:[at]},t[be]={o:xt,i:!0,u:!0,l:[2],type:[ot]},t[ve]={o:xt,i:!1,u:!0,l:[2],type:[nt]},t[me]={o:xt,i:!1,u:!0,l:[8,4],type:[ct,bt]},t[pe]={o:xt,i:!1,u:!1,l:[8],type:[ct]},t[de]={o:Ft,i:!0,u:!1,l:[2],type:[ot]},t[he]={o:Ft,i:!0,u:!1,l:[2],type:[nt]},t[ce]={o:Ft,i:!0,u:!1,l:[4],type:[ut]},t[le]={o:Ft,i:!0,u:!1,l:[4],type:[it]},t[se]={o:Ft,i:!0,u:!1,l:[8],type:[ft]},t[ye]={o:Ft,i:!0,u:!1,l:[8],type:[at]},t[_e]={o:h,i:!0,u:!0,l:[3],type:[ot]},t[Ee]={o:h,i:!1,u:!0,l:[3],type:[ot]},t[Oe]={o:h,i:!0,u:!0,l:[3,2],type:[ot,yt]},t[Ae]={o:h,i:!1,u:!0,l:[3],type:[nt]},t[Se]={o:h,i:!1,u:!0,l:[12,6,4],type:[ct,bt,pt]},t[Te]={o:h,i:!1,u:!0,l:[12,6,4],type:[ct,bt,dt]},t[ge]={o:h,i:!1,u:!0,l:[12,6],type:[ct,bt]},t[Pe]={o:h,i:!1,u:!1,l:[12],type:[ct]},t[Re]={o:Et,i:!1,u:!1,l:[3],type:[ot]},t[ze]={o:Et,i:!1,u:!1,l:[3],type:[nt]},t[ke]={o:Et,i:!1,u:!1,l:[6],type:[ut]},t[Ce]={o:Et,i:!1,u:!1,l:[6],type:[it]},t[Me]={o:Et,i:!1,u:!1,l:[12],type:[ft]},t[Ue]={o:Et,i:!1,u:!1,l:[12],type:[at]},t[Ie]={o:w,i:!0,u:!0,l:[4],type:[ot]},t[We]={o:w,i:!0,u:!0,l:[4],type:[ot]},t[Le]={o:w,i:!1,u:!0,l:[4],type:[nt]},t[Ge]={o:w,i:!0,u:!0,l:[4,2,4],type:[ot,st,mt]},t[Be]={o:w,i:!0,u:!0,l:[4,2],type:[ot,lt]},t[Ne]={o:w,i:!0,u:!0,l:[4],type:[mt]},t[Xe]={o:w,i:!1,u:!0,l:[16,8],type:[ct,bt]},t[De]={o:w,i:!1,u:!1,l:[16],type:[ct]},t[Ve]={o:Ot,i:!0,u:!1,l:[4],type:[ot]},t[Ye]={o:Ot,i:!0,u:!1,l:[4],type:[nt]},t[He]={o:Ot,i:!0,u:!1,l:[4],type:[mt]},t[qe]={o:Ot,i:!0,u:!1,l:[8],type:[ut]},t[Ke]={o:Ot,i:!0,u:!1,l:[8],type:[it]},t[$e]={o:Ot,i:!0,u:!1,l:[16],type:[at]},t[Ze]={o:Ot,i:!0,u:!1,l:[16],type:[ft]},t[Je]={o:j,i:!0,u:!1,l:[2,4],type:[ut,ft]},t[Qe]={o:j,i:!0,u:!1,l:[4],type:[ft]},t[et]={o:j,i:!0,u:!1,l:[4],type:[ct]},t[rt]={o:_,i:!0,u:!1,l:[4],type:[wt]},t[tt]={o:_,i:!0,u:!1,l:[4],type:[ht]},Object.keys(t).forEach((function(e){var r=t[e];r.bytesPerElementMap={},r.l.forEach((function(e,t){var n=r.type[t];r.bytesPerElementMap[n]=e}))})),b=t}return b[e]}function gt(e,t){var r=Tt(e);if(!r)throw"unknown internal format";var n=r.bytesPerElementMap[t];if(void 0===n)throw"unknown internal format";return n}function Pt(e){var t=Tt(e);if(!t)throw"unknown internal format";return{format:t.o,type:t.type[0]}}function Rt(e){return 0==(e&e-1)}function zt(e,t,r,o){if(!n.isWebGL2(e))return Rt(t)&&Rt(r);var i=Tt(o);if(!i)throw"unknown internal format";return i.i&&i.u}function kt(e){var t=Tt(e);if(!t)throw"unknown internal format";return t.u}function Ct(e,t,r){return m(t)?o.getGLTypeForTypedArray(t):r||ot}function Mt(e,t,r,n,o){if(o%1!=0)throw"can't guess dimensions";if(r||n){if(n){if(!r&&(r=o/n)%1)throw"can't guess dimensions"}else if((n=o/r)%1)throw"can't guess dimensions"}else{var i=Math.sqrt(o/(t===T?6:1));i%1==0?(r=i,n=i):(r=o,n=1)}return{width:r,height:n}}function Ut(e){v.textureColor=new Uint8Array([255*e[0],255*e[1],255*e[2],255*e[3]])}function It(e,t,r){var n,o,i;void 0!==t.colorspaceConversion&&(n=e.getParameter(ee),e.pixelStorei(ee,t.colorspaceConversion)),void 0!==t.premultiplyAlpha&&(o=e.getParameter(te),e.pixelStorei(te,t.premultiplyAlpha)),void 0!==t.flipY&&(i=e.getParameter(re),e.pixelStorei(re,t.flipY)),r(),void 0!==n&&e.pixelStorei(ee,n),void 0!==o&&e.pixelStorei(te,o),void 0!==i&&e.pixelStorei(re,i)}function Wt(e,t,r,n){var o=t[r];return s({},r,void 0===o?e.getParameter(n):o)}function Lt(e,t){return l(l(l(l({},t),Wt(e,t,"flipY",re)),Wt(e,t,"premultiplyAlpha",te)),Wt(e,t,"colorspaceConversion",ee))}function Gt(e){e.pixelStorei(q,4),n.isWebGL2(e)&&(e.pixelStorei(K,0),e.pixelStorei($,0),e.pixelStorei(Z,0),e.pixelStorei(J,0),e.pixelStorei(Q,0))}function Bt(e,t,r,n){n.minMag&&(r.call(e,t,I,n.minMag),r.call(e,t,W,n.minMag)),n.min&&r.call(e,t,I,n.min),n.mag&&r.call(e,t,W,n.mag),n.wrap&&(r.call(e,t,L,n.wrap),r.call(e,t,G,n.wrap),(t===g||i.isSampler(e,t))&&r.call(e,t,B,n.wrap)),n.wrapR&&r.call(e,t,B,n.wrapR),n.wrapS&&r.call(e,t,L,n.wrapS),n.wrapT&&r.call(e,t,G,n.wrapT),void 0!==n.minLod&&r.call(e,t,N,n.minLod),void 0!==n.maxLod&&r.call(e,t,X,n.maxLod),void 0!==n.baseLevel&&r.call(e,t,D,n.baseLevel),void 0!==n.maxLevel&&r.call(e,t,V,n.maxLevel),void 0!==n.compareFunc&&r.call(e,t,H,n.compareFunc),void 0!==n.compareMode&&r.call(e,t,Y,n.compareMode)}function Nt(e,t,r){var n=r.target||S;e.bindTexture(n,t),Bt(e,n,e.texParameteri,r)}function Xt(e,t,r){Bt(e,t,e.samplerParameteri,r)}function Dt(e,t){var r=e.createSampler();return Xt(e,r,t),r}function Vt(e,t,r,n,o,i){r=r||v.textureOptions,i=i||w;var u=r.target||S;if(n=n||r.width,o=o||r.height,e.bindTexture(u,t),zt(e,n,o,i))e.generateMipmap(u);else{var a=kt(i)?A:O;e.texParameteri(u,I,a),e.texParameteri(u,W,a),e.texParameteri(u,L,E),e.texParameteri(u,G,E)}}function Yt(e){return!0===e.auto||void 0===e.auto&&void 0===e.level}function Ht(e,t){return(t=t||{}).cubeFaceOrder||[R,z,k,C,M,U]}function qt(e,t){var r=Ht(0,t).map((function(e,t){return{face:e,ndx:t}}));return r.sort((function(e,t){return e.face-t.face})),r}function Kt(e,t,r,n){var o=(n=n||v.textureOptions).target||S,i=n.level||0,u=r.width,a=r.height,f=n.internalFormat||n.format||w,c=Pt(f),l=n.format||c.format,s=n.type||c.type;if(e.bindTexture(o,t),o===T){var y,b,m=r.width,d=r.height;if(m/6===d)y=d,b=[0,0,1,0,2,0,3,0,4,0,5,0];else if(d/6===m)y=m,b=[0,0,0,1,0,2,0,3,0,4,0,5];else if(m/3==d/2)y=m/3,b=[0,0,1,0,2,0,0,1,1,1,2,1];else{if(m/2!=d/3)throw"can't figure out cube map from element: "+(r.src?r.src:r.nodeName);y=m/2,b=[0,0,1,0,0,1,1,1,0,2,1,2]}var h=p();h?(h.canvas.width=y,h.canvas.height=y,u=y,a=y,It(e,n,(function(){qt(0,n).forEach((function(t){var n=b[2*t.ndx+0]*y,o=b[2*t.ndx+1]*y;h.drawImage(r,n,o,y,y,0,0,y,y),e.texImage2D(t.face,i,f,l,s,h.canvas)})),h.canvas.width=1,h.canvas.height=1}))):"undefined"!=typeof createImageBitmap&&(u=y,a=y,qt(0,n).forEach((function(c){var v=b[2*c.ndx+0]*y,m=b[2*c.ndx+1]*y;e.texImage2D(c.face,i,f,y,y,0,l,s,null),createImageBitmap(r,v,m,y,y,{premultiplyAlpha:"none",colorSpaceConversion:"none"}).then((function(r){It(e,n,(function(){e.bindTexture(o,t),e.texImage2D(c.face,i,f,l,s,r),Yt(n)&&Vt(e,t,n,u,a,f)}))}))})))}else It(e,n,o===g||o===P?function(){var t=Math.min(r.width,r.height),n=Math.max(r.width,r.height),u=n/t;if(u%1!=0)throw"can not compute 3D dimensions of element";var a=r.width===n?1:0,c=r.height===n?1:0;e.pixelStorei(q,1),e.pixelStorei(K,r.width),e.pixelStorei($,0),e.pixelStorei(Q,0),e.texImage3D(o,i,f,t,t,t,0,l,s,null);for(var y=0;y<u;++y){var b=y*t*a,v=y*t*c;e.pixelStorei(Z,b),e.pixelStorei(J,v),e.texSubImage3D(o,i,0,0,y,t,t,1,l,s,r)}Gt(e)}:function(){e.texImage2D(o,i,f,l,s,r)});Yt(n)&&Vt(e,t,n,u,a,f),Nt(e,t,n)}function $t(){}function Zt(e,t){return void 0!==t||function(e){if("undefined"!=typeof document){var t=document.createElement("a");return t.href=e,t.hostname===location.hostname&&t.port===location.port&&t.protocol===location.protocol}var r=new URL(location.href).origin;return new URL(e,location.href).origin===r}(e)?t:"anonymous"}function Jt(e){return"undefined"!=typeof ImageBitmap&&e instanceof ImageBitmap||"undefined"!=typeof ImageData&&e instanceof ImageData||"undefined"!=typeof HTMLElement&&e instanceof HTMLElement}function Qt(e,t,r){return Jt(e)?(setTimeout((function(){r(null,e)})),e):function(e,t,r){var n;if(r=r||$t,t=void 0!==t?t:v.crossOrigin,t=Zt(e,t),"undefined"!=typeof Image){n=new Image,void 0!==t&&(n.crossOrigin=t);var o=function(){n.removeEventListener("error",u),n.removeEventListener("load",a),n=null},u=function(){var t="couldn't load image: "+e;i.error(t),r(t,n),o()},a=function(){r(null,n),o()};return n.addEventListener("error",u),n.addEventListener("load",a),n.src=e,n}if("undefined"!=typeof ImageBitmap){var f,c,l=function(){r(f,c)},s={};t&&(s.mode="cors"),fetch(e,s).then((function(e){if(!e.ok)throw e;return e.blob()})).then((function(e){return createImageBitmap(e,{premultiplyAlpha:"none",colorSpaceConversion:"none"})})).then((function(e){c=e,setTimeout(l)})).catch((function(e){f=e,setTimeout(l)})),n=null}return n}(e,t,r)}function er(e,t,r){var n=(r=r||v.textureOptions).target||S;if(e.bindTexture(n,t),!1!==r.color){var o=function(e){return e=e||v.textureColor,m(e)?e:new Uint8Array([255*e[0],255*e[1],255*e[2],255*e[3]])}(r.color);if(n===T)for(var i=0;i<6;++i)e.texImage2D(R+i,0,w,1,1,0,w,ot,o);else n===g||n===P?e.texImage3D(n,0,w,1,1,1,0,w,ot,o):e.texImage2D(n,0,w,1,1,0,w,ot,o)}}function tr(e,t,r,n){return n=n||$t,r=r||v.textureOptions,er(e,t,r),Qt((r=Lt(e,r)).src,r.crossOrigin,(function(o,i){o?n(o,t,i):(Kt(e,t,i,r),n(null,t,i))}))}function rr(e,t,r,n){n=n||$t;var o=r.src;if(6!==o.length)throw"there must be 6 urls for a cubemap";var i=r.level||0,u=r.internalFormat||r.format||w,a=Pt(u),f=r.format||a.format,c=r.type||ot,l=r.target||S;if(l!==T)throw"target must be TEXTURE_CUBE_MAP";er(e,t,r),r=Lt(e,r);var s,y=6,b=[],v=Ht(0,r);s=o.map((function(o,a){return Qt(o,r.crossOrigin,(m=v[a],function(o,a){--y,o?b.push(o):a.width!==a.height?b.push("cubemap face img is not a square: "+a.src):It(e,r,(function(){e.bindTexture(l,t),5===y?Ht().forEach((function(t){e.texImage2D(t,i,u,f,c,a)})):e.texImage2D(m,i,u,f,c,a),Yt(r)&&e.generateMipmap(l)})),0===y&&n(b.length?b:void 0,t,s)}));var m}))}function nr(e,t,r,n){n=n||$t;var o=r.src,i=r.internalFormat||r.format||w,u=Pt(i),a=r.format||u.format,f=r.type||ot,c=r.target||P;if(c!==g&&c!==P)throw"target must be TEXTURE_3D or TEXTURE_2D_ARRAY";er(e,t,r),r=Lt(e,r);var l,s=o.length,y=[],b=r.level||0,v=r.width,m=r.height,d=o.length,h=!0;l=o.map((function(o,u){return Qt(o,r.crossOrigin,(w=u,function(o,u){--s,o?y.push(o):It(e,r,(function(){if(e.bindTexture(c,t),h){h=!1,v=r.width||u.width,m=r.height||u.height,e.texImage3D(c,b,i,v,m,d,0,a,f,null);for(var n=0;n<d;++n)e.texSubImage3D(c,b,0,0,n,v,m,1,a,f,u)}else{var o,l=u;u.width===v&&u.height===m||(l=(o=p()).canvas,o.canvas.width=v,o.canvas.height=m,o.drawImage(u,0,0,v,m)),e.texSubImage3D(c,b,0,0,w,v,m,1,a,f,l),o&&l===o.canvas&&(o.canvas.width=0,o.canvas.height=0)}Yt(r)&&e.generateMipmap(c)})),0===s&&n(y.length?y:void 0,t,l)}));var w}))}function or(e,t,r,i){var u=(i=i||v.textureOptions).target||S;e.bindTexture(u,t);var a=i.width,f=i.height,c=i.depth,l=i.level||0,s=i.internalFormat||i.format||w,y=Pt(s),b=i.format||y.format,p=i.type||Ct(0,r,y.type);if(m(r))r instanceof Uint8ClampedArray&&(r=new Uint8Array(r.buffer));else{var d=o.getTypedArrayTypeForGLType(p);r=new d(r)}var h,x=gt(s,p),F=r.byteLength/x;if(F%1)throw"length wrong size for format: "+n.glEnumToString(e,b);if(u===g||u===P)if(a||f||c)!a||f&&c?!f||a&&c?(h=Mt(0,u,a,f,F/c),a=h.width,f=h.height):(h=Mt(0,u,a,c,F/f),a=h.width,c=h.height):(h=Mt(0,u,f,c,F/a),f=h.width,c=h.height);else{var j=Math.cbrt(F);if(j%1!=0)throw"can't guess cube size of array of numElements: "+F;a=j,f=j,c=j}else h=Mt(0,u,a,f,F),a=h.width,f=h.height;return Gt(e),e.pixelStorei(q,i.unpackAlignment||1),It(e,i,(function(){if(u===T){var t=x/r.BYTES_PER_ELEMENT,n=F/6*t;qt(0,i).forEach((function(t){var o=n*t.ndx,i=r.subarray(o,o+n);e.texImage2D(t.face,l,s,a,f,0,b,p,i)}))}else u===g||u===P?e.texImage3D(u,l,s,a,f,c,0,b,p,r):e.texImage2D(u,l,s,a,f,0,b,p,r)})),{width:a,height:f,depth:c,type:p}}function ir(e,t,r){var n=r.target||S;e.bindTexture(n,t);var o=r.level||0,i=r.internalFormat||r.format||w,u=Pt(i),a=r.format||u.format,f=r.type||u.type;It(e,r,(function(){if(n===T)for(var t=0;t<6;++t)e.texImage2D(R+t,o,i,r.width,r.height,0,a,f,null);else n===g||n===P?e.texImage3D(n,o,i,r.width,r.height,r.depth,0,a,f,null):e.texImage2D(n,o,i,r.width,r.height,0,a,f,null)}))}function ur(e,t,r){r=r||$t,t=t||v.textureOptions;var n=e.createTexture(),o=t.target||S,i=t.width||1,u=t.height||1,a=t.internalFormat||w;e.bindTexture(o,n),o===T&&(e.texParameteri(o,L,E),e.texParameteri(o,G,E));var f=t.src;if(f)if("function"==typeof f&&(f=f(e,t)),"string"==typeof f)tr(e,n,t,r);else if(m(f)||Array.isArray(f)&&("number"==typeof f[0]||Array.isArray(f[0])||m(f[0]))){var c=or(e,n,f,t);i=c.width,u=c.height}else Array.isArray(f)&&("string"==typeof f[0]||Jt(f[0]))?o===T?rr(e,n,t,r):nr(e,n,t,r):(Kt(e,n,f,t),i=f.width,u=f.height);else ir(e,n,t);return Yt(t)&&Vt(e,n,t,i,u,a),Nt(e,n,t),n}St[d]={t:1},St[x]={t:1},St[F]={t:2},St[h]={t:3},St[w]={t:4},St[jt]={t:1},St[_t]={t:1},St[xt]={t:2},St[Ft]={t:2},St[h]={t:3},St[Et]={t:3},St[w]={t:4},St[Ot]={t:4},St[j]={t:1},St[_]={t:2}},599:(e,t,r)=>{t.__esModule=!0;var n=r(373);Object.keys(n).forEach((function(e){"default"!==e&&"__esModule"!==e&&(e in t&&t[e]===n[e]||(t[e]=n[e]))}))},373:(e,t,r)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.__esModule=!0;var o={addExtensionsToContext:!0,getContext:!0,getWebGLContext:!0,resizeCanvasToDisplaySize:!0,setDefaults:!0,attributes:!0,textures:!0,utils:!0,draw:!0,framebuffers:!0,programs:!0,typedarrays:!0,vertexArrays:!0};t.addExtensionsToContext=x,t.framebuffers=t.draw=t.attributes=void 0,t.getContext=function(e,t){var r=function(e,t){for(var r=["webgl2","webgl","experimental-webgl"],n=null,o=0;o<r.length;++o)if(n=e.getContext(r[o],t)){p.addExtensionsToContext&&x(n);break}return n}(e,t);return r},t.getWebGLContext=function(e,t){var r=function(e,t){for(var r=["webgl","experimental-webgl"],n=null,o=0;o<r.length;++o)if(n=e.getContext(r[o],t)){p.addExtensionsToContext&&x(n);break}return n}(e,t);return r},t.programs=void 0,t.resizeCanvasToDisplaySize=function(e,t){t=t||1,t=Math.max(0,t);var r=e.clientWidth*t|0,n=e.clientHeight*t|0;if(e.width!==r||e.height!==n)return e.width=r,e.height=n,!0;return!1},t.setDefaults=function(e){a.copyExistingProperties(e,p),i.setAttributeDefaults_(e),u.setTextureDefaults_(e)},t.vertexArrays=t.utils=t.typedarrays=t.textures=void 0;var i=m(r(650));t.attributes=i,Object.keys(i).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(o,e)||e in t&&t[e]===i[e]||(t[e]=i[e]))}));var u=m(r(175));t.textures=u,Object.keys(u).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(o,e)||e in t&&t[e]===u[e]||(t[e]=u[e]))}));var a=m(r(303)),f=m(r(854));t.utils=f,Object.keys(f).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(o,e)||e in t&&t[e]===f[e]||(t[e]=f[e]))}));var c=m(r(341));t.draw=c,Object.keys(c).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(o,e)||e in t&&t[e]===c[e]||(t[e]=c[e]))}));var l=m(r(167));t.framebuffers=l,Object.keys(l).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(o,e)||e in t&&t[e]===l[e]||(t[e]=l[e]))}));var s=m(r(38));t.programs=s,Object.keys(s).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(o,e)||e in t&&t[e]===s[e]||(t[e]=s[e]))}));var y=m(r(801));t.typedarrays=y,Object.keys(y).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(o,e)||e in t&&t[e]===y[e]||(t[e]=y[e]))}));var b=m(r(496));function v(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(v=function(e){return e?r:t})(e)}function m(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=n(e)&&"function"!=typeof e)return{default:e};var r=v(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},i=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&Object.prototype.hasOwnProperty.call(e,u)){var a=i?Object.getOwnPropertyDescriptor(e,u):null;a&&(a.get||a.set)?Object.defineProperty(o,u,a):o[u]=e[u]}return o.default=e,r&&r.set(e,o),o}t.vertexArrays=b,Object.keys(b).forEach((function(e){"default"!==e&&"__esModule"!==e&&(Object.prototype.hasOwnProperty.call(o,e)||e in t&&t[e]===b[e]||(t[e]=b[e]))}));var p={addExtensionsToContext:!0};var d=/^(.*?)_/;function h(e,t){f.glEnumToString(e,0);var r=e.getExtension(t);if(r){var n={},o=d.exec(t)[1],i="_"+o;for(var u in r){var c=r[u],l="function"==typeof c,s=l?o:i,y=u;u.endsWith(s)&&(y=u.substring(0,u.length-s.length)),void 0!==e[y]?l||e[y]===c||a.warn(y,e[y],c,u):l?e[y]=function(e){return function(){return e.apply(r,arguments)}}(c):(e[y]=c,n[y]=c)}n.constructor={name:r.constructor.name},f.glEnumToString(n,0)}return r}var w=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_color_buffer_float","EXT_color_buffer_half_float","EXT_disjoint_timer_query","EXT_disjoint_timer_query_webgl2","EXT_frag_depth","EXT_sRGB","EXT_shader_texture_lod","EXT_texture_filter_anisotropic","OES_element_index_uint","OES_standard_derivatives","OES_texture_float","OES_texture_float_linear","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_compressed_texture_atc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_pvrtc","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_depth_texture","WEBGL_draw_buffers"];function x(e){for(var t=0;t<w.length;++t)h(e,w[t])}},801:(e,t)=>{t.__esModule=!0,t.getGLTypeForTypedArray=function(e){if(e instanceof Int8Array)return r;if(e instanceof Uint8Array)return n;if(e instanceof Uint8ClampedArray)return n;if(e instanceof Int16Array)return o;if(e instanceof Uint16Array)return i;if(e instanceof Int32Array)return u;if(e instanceof Uint32Array)return a;if(e instanceof Float32Array)return f;throw new Error("unsupported typed array type")},t.getGLTypeForTypedArrayType=function(e){if(e===Int8Array)return r;if(e===Uint8Array)return n;if(e===Uint8ClampedArray)return n;if(e===Int16Array)return o;if(e===Uint16Array)return i;if(e===Int32Array)return u;if(e===Uint32Array)return a;if(e===Float32Array)return f;throw new Error("unsupported typed array type")},t.getTypedArrayTypeForGLType=function(e){var t=c[e];if(!t)throw new Error("unknown gl type");return t},t.isArrayBuffer=void 0;var r=5120,n=5121,o=5122,i=5123,u=5124,a=5125,f=5126,c={},l=c;l[r]=Int8Array,l[n]=Uint8Array,l[o]=Int16Array,l[i]=Uint16Array,l[u]=Int32Array,l[a]=Uint32Array,l[f]=Float32Array,l[32819]=Uint16Array,l[32820]=Uint16Array,l[33635]=Uint16Array,l[5131]=Uint16Array,l[33640]=Uint32Array,l[35899]=Uint32Array,l[35902]=Uint32Array,l[36269]=Uint32Array,l[34042]=Uint32Array;t.isArrayBuffer="undefined"!=typeof SharedArrayBuffer?function(e){return e&&e.buffer&&(e.buffer instanceof ArrayBuffer||e.buffer instanceof SharedArrayBuffer)}:function(e){return e&&e.buffer&&e.buffer instanceof ArrayBuffer}},854:(e,t)=>{t.__esModule=!0,t.glEnumToString=void 0,t.isWebGL1=function(e){return!e.texStorage2D},t.isWebGL2=function(e){return!!e.texStorage2D};var r,n;t.glEnumToString=(r={},n={},function(e,t){return function(e){var t=e.constructor.name;if(!r[t]){for(var o in e)if("number"==typeof e[o]){var i=n[e[o]];n[e[o]]=i?"".concat(i," | ").concat(o):o}r[t]=!0}}(e),n[t]||("number"==typeof t?"0x".concat(t.toString(16)):t)})},496:(e,t,r)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.__esModule=!0,t.createVAOAndSetAttributes=a,t.createVAOFromBufferInfo=function(e,t,r){return a(e,t.attribSetters||t,r.attribs,r.indices)},t.createVertexArrayInfo=function(e,t,r){var n=e.createVertexArray();e.bindVertexArray(n),t.length||(t=[t]);return t.forEach((function(t){o.setBuffersAndAttributes(e,t,r)})),e.bindVertexArray(null),{numElements:r.numElements,elementType:r.elementType,vertexArrayObject:n}};var o=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=n(e)&&"function"!=typeof e)return{default:e};var r=i(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var f=u?Object.getOwnPropertyDescriptor(e,a):null;f&&(f.get||f.set)?Object.defineProperty(o,a,f):o[a]=e[a]}return o.default=e,r&&r.set(e,o),o}(r(38));function i(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(i=function(e){return e?r:t})(e)}var u=34963;function a(e,t,r,n){var i=e.createVertexArray();return e.bindVertexArray(i),o.setAttributes(t,r),n&&e.bindBuffer(u,n),e.bindVertexArray(null),i}}},t={};var r=function r(n){var o=t[n];if(void 0!==o)return o.exports;var i=t[n]={exports:{}};return e[n](i,i.exports,r),i.exports}(599);return r})()));