@sketch-hq/sketch-web-renderer 15.20.4 → 15.20.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/out/web-renderer/comparison-worker.js +1 -1
- package/out/web-renderer/export-worker.js +1 -1
- package/out/web-renderer/index.js +1 -1
- package/out/web-renderer/ts/canvas-renderer/CanvasRenderer.d.ts +14 -0
- package/out/web-renderer/ts/canvas-renderer/CanvasRenderer.d.ts.map +1 -1
- package/out/web-renderer/ts/canvas-renderer/ComparisonController.d.ts +19 -2
- package/out/web-renderer/ts/canvas-renderer/ComparisonController.d.ts.map +1 -1
- package/out/web-renderer/ts/canvas-renderer/react/hooks/actions.d.ts +11 -0
- package/out/web-renderer/ts/canvas-renderer/react/hooks/actions.d.ts.map +1 -1
- package/out/web-renderer/ts/comparison/differences.d.ts +11 -1
- package/out/web-renderer/ts/comparison/differences.d.ts.map +1 -1
- package/out/web-renderer/wasm/Debug/web-renderer-debug.mjs +6 -0
- package/out/web-renderer/wasm/Debug/web-renderer-debug.wasm +2 -2
- package/out/web-renderer/wasm/Release/web-renderer-release.mjs +40 -35
- package/out/web-renderer/wasm/Release/web-renderer-release.wasm +0 -0
- package/out/web-renderer/{web-renderer-debug-042d411e.js → web-renderer-debug-5d10b8d4.js} +1 -1
- package/out/web-renderer/{web-renderer-debug-6f6583a0.js → web-renderer-debug-8a275e3f.js} +6 -0
- package/out/web-renderer/{web-renderer-release-899835ca.js → web-renderer-release-8fc9eb08.js} +1 -1
- package/out/web-renderer/{web-renderer-release-1be639cc.js → web-renderer-release-eb7b9f6a.js} +39 -34
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(){"use strict";var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},e(r,t)};function r(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var t=function(){return t=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var a in r=arguments[t])Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a]);return e},t.apply(this,arguments)};function n(e,r,t,n){return new(t||(t=Promise))((function(a,o){function i(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var r;e.done?a(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(i,s)}c((n=n.apply(e,r||[])).next())}))}function a(e,r){var t,n,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(c){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(i=0)),i;)try{if(t=1,n&&(a=2&s[0]?n.return:s[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,s[1])).done)return a;switch(n=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,n=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){i.label=s[1];break}if(6===s[0]&&i.label<a[1]){i.label=a[1],a=s;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(s);break}a[2]&&i.ops.pop(),i.trys.pop();continue}s=r.call(e,i)}catch(e){s=[6,e],n=0}finally{t=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}function o(e,r,t){if(t||2===arguments.length)for(var n,a=0,o=r.length;a<o;a++)!n&&a in r||(n||(n=Array.prototype.slice.call(r,0,a)),n[a]=r[a]);return e.concat(n||Array.prototype.slice.call(r))}void 0===globalThis.window&&(globalThis.window=globalThis),void 0===globalThis.document&&(globalThis.document={currentScript:{src:self.location.href},createElement:function(){return{getContext:function(){return null},style:{}}},getElementById:function(){return null}}),void 0===globalThis.requestAnimationFrame&&(globalThis.requestAnimationFrame=function(e){return setTimeout((function(){return e(performance.now())}),16)},globalThis.cancelAnimationFrame=function(e){return clearTimeout(e)});var i,s,c=function(e){function t(r,n,a){var o=this.constructor,i=e.call(this,"(".concat(r,") ").concat(n))||this;return i.code=r,i.cause=a,i.name=t.name,Object.setPrototypeOf(i,o.prototype),i}return r(t,e),t}(Error);!function(e){e.debug="debug",e.release="release"}(i||(i={})),function(e){e.Fit="Fit",e.FillWidth="FillWidth",e.ActualSize="ActualSize"}(s||(s={}));var u=function(){function e(){this.listeners={}}return e.prototype.on=function(e,r){var t,n;this.listeners[e]=null!==(t=this.listeners[e])&&void 0!==t?t:new Set,null===(n=this.listeners[e])||void 0===n||n.add(r)},e.prototype.off=function(e,r){var t;null===(t=this.listeners[e])||void 0===t||t.delete(r)},e.prototype.forwardEvent=function(e,r){this.on(r,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];e.emit.apply(e,o([r],t,!1))}))},e.prototype.emit=function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];var n=this.listeners[e];(null==n?void 0:n.size)&&n.forEach((function(e){Promise.resolve().then((function(){e.apply(void 0,r)}))}))},e.prototype.detachAllListeners=function(){this.listeners={}},e}(),l=function(){function e(e){void 0===e&&(e=!1),this.removeListenerCallbacks=[],this.disabled=e}return e.prototype.add=function(e,r,t,n){var a=this,o=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];a.disabled||t.apply(void 0,e)};e.addEventListener(r,o,n);var i=function(){e.removeEventListener(r,o,n)};return this.removeListenerCallbacks.push(i),i},e.prototype.dispose=function(){this.removeListenerCallbacks.forEach((function(e){return e()}))},e.prototype.setDisabled=function(e){this.disabled=e},e}(),d={delayedDraw:!0,offscreenCanvas:!1,useDirtyRectsRendering:!0,safariWebGL2:!1,pageBoundariesLimit:!1,canvasLayersEvents:!1};function f(e,r){var t;function n(){for(var n=[],a=0;a<arguments.length;a++)n[a]=arguments[a];clearTimeout(t),t=setTimeout((function(){e.apply(void 0,n)}),r)}return n.cancel=function(){t&&clearTimeout(t)},n}function m(e){if(!e)return[];for(var r=[],t=0;t<e.size();t++)r.push(e.get(t));return r}!function(e){function t(r,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var a=e.call(this)||this;return a.state={pinchToZoomLastDistance:0,lastGestureScale:1,isCtrlPressed:!1},a.handleGestureStart=function(e){e.preventDefault(),a.state.lastGestureScale=e.scale},a.handleGestureChange=function(e){e.preventDefault();var r=e.scale/a.state.lastGestureScale;a.state.lastGestureScale=e.scale;var t=a.getCorrectPointerPosition(e);a.emitZoomEvent(r,t)},a.handleGestureEnd=function(e){e.preventDefault()},a.updateMousePosition=function(e){a.emit("pointermove",{type:"mouse",position:a.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},a.updateGlobalMousePosition=function(e){a.emit("globalpointermove",{type:"mouse",position:a.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},a.handleTouchStart=function(e){e.preventDefault(),a.handleTouchPinchToZoomStart(e),a.emit("pointerdown",{type:"touch",position:a.getCorrectPointerPosition(e),button:0,touchesCount:e.touches.length})},a.handleMouseDown=function(e){e.ctrlKey||(e.preventDefault(),a.emit("pointerdown",{type:"mouse",position:a.getCorrectPointerPosition(e),button:e.button,touchesCount:0}))},a.handleTouchMove=function(e){a.handleTouchPinchToZoomChange(e),a.emit("pointermove",{type:"touch",position:a.getCorrectPointerPosition(e),button:0,touchesCount:e.touches.length})},a.handleMouseMove=function(e){a.updateMousePosition(e)},a.handleGlobalTouchMove=function(e){a.emit("globalpointermove",{type:"touch",position:a.getCorrectPointerPosition(e),button:0,touchesCount:e.touches.length})},a.handleGlobalMouseMove=function(e){a.updateGlobalMousePosition(e)},a.handleTouchPinchToZoomStart=function(e){var r;!e.touches||(null===(r=e.touches)||void 0===r?void 0:r.length)<2||(a.state.pinchToZoomLastDistance=a.calculateDistanceBetweenTouches(e.touches[0],e.touches[1]))},a.handleTouchPinchToZoomChange=function(e){var r;if(e.touches&&!((null===(r=e.touches)||void 0===r?void 0:r.length)<2)){var t=a.calculateDistanceBetweenTouches(e.touches[0],e.touches[1]),n=a.getCorrectPointerPosition(e),o=1+.004*(t-a.state.pinchToZoomLastDistance);a.state.pinchToZoomLastDistance=t,a.emitZoomEvent(o,n)}},a.handleTouchEnd=function(e){var r=a.getCorrectPointerPosition(e);a.emit("pointerup",{position:r,type:"touch",button:0,touchesCount:e.touches.length})},a.handleMouseUp=function(e){a.emit("pointerup",{type:"mouse",position:a.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},a.debouncedUpdateMousePosition=f(a.updateMousePosition,40),a.debouncedUpdateGlobalMousePosition=f(a.updateGlobalMousePosition,40),a.handleMouseWheel=function(e){e.preventDefault();var r=e.ctrlKey&&!a.state.isCtrlPressed,t=e.metaKey||r||a.state.isCtrlPressed;if(a.debouncedUpdateMousePosition(e),a.debouncedUpdateGlobalMousePosition(e),t){var n=r||a.invertedWheelZoom?-1:1,o=a.getCorrectPointerPosition(e),i=1+.005*e.deltaY*n;a.emitZoomEvent(i,o)}else a.emit("wheel",{x:-e.deltaX,y:-e.deltaY},{type:"mouse",position:a.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},a.target=r,a.invertedWheelZoom=t,a.targetBounds=r.getBoundingClientRect(),a.listenersCollector=new l(n),a.addListeners(),a.targetResizeObserver=new ResizeObserver(a.updateTargetBounds.bind(a)),a.targetResizeObserver.observe(a.target),a}r(t,e),t.prototype.updateTargetBounds=function(){this.targetBounds=this.target.getBoundingClientRect()},t.prototype.addListeners=function(){this.addTouchEventListeners(),this.addMouseEventListeners(),this.addKeyboardEventListeners(),this.addSafariGesturesEventListeners()},t.prototype.addKeyboardEventListeners=function(){var e=this;this.listenersCollector.add(document,"keydown",(function(r){"Control"===r.key&&(e.state.isCtrlPressed=!0)})),this.listenersCollector.add(document,"keyup",(function(r){"Control"===r.key&&(e.state.isCtrlPressed=!1)})),this.listenersCollector.add(document,"contextmenu",(function(r){r.ctrlKey&&(e.state.isCtrlPressed=!1)}))},t.prototype.addMouseEventListeners=function(){this.listenersCollector.add(this.target,"mousedown",this.handleMouseDown),this.listenersCollector.add(this.target,"mousemove",this.handleMouseMove),this.listenersCollector.add(document,"mousemove",this.handleGlobalMouseMove),this.listenersCollector.add(document,"mouseup",this.handleMouseUp),this.listenersCollector.add(this.target,"wheel",this.handleMouseWheel)},t.prototype.addTouchEventListeners=function(){this.listenersCollector.add(this.target,"touchstart",this.handleTouchStart),this.listenersCollector.add(document,"touchmove",this.handleGlobalTouchMove,{passive:!0,capture:!0}),this.listenersCollector.add(this.target,"touchmove",this.handleTouchMove,{passive:!0,capture:!0}),this.listenersCollector.add(document,"touchcancel",this.handleTouchEnd),this.listenersCollector.add(document,"touchend",this.handleTouchEnd)},t.prototype.addSafariGesturesEventListeners=function(){"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0||(this.listenersCollector.add(this.target,"gesturestart",this.handleGestureStart,{capture:!0}),this.listenersCollector.add(this.target,"gesturechange",this.handleGestureChange,{capture:!0}),this.listenersCollector.add(this.target,"gestureend",this.handleGestureEnd,{capture:!0}))},t.prototype.clampPointerToTargetBounds=function(e){return{x:e.x-this.targetBounds.x,y:e.y-this.targetBounds.y}},t.prototype.getCorrectPointerPosition=function(e){var r,t={x:0,y:0};if((null===(r=e.touches)||void 0===r?void 0:r.length)>1){var n=e,a=n.touches[0],o=n.touches[1];t={x:(a.clientX+o.clientX)/2,y:(a.clientY+o.clientY)/2}}else t=function(e){var r,t,n,a,o,i=null!==(t=null===(r=e.touches)||void 0===r?void 0:r[0])&&void 0!==t?t:null===(n=e.changedTouches)||void 0===n?void 0:n[0];return{x:null!==(a=null==i?void 0:i.clientX)&&void 0!==a?a:e.clientX,y:null!==(o=null==i?void 0:i.clientY)&&void 0!==o?o:e.clientY}}(e);return this.clampPointerToTargetBounds(t)},t.prototype.calculateDistanceBetweenTouches=function(e,r){return Math.hypot(e.clientX-r.clientX,e.clientY-r.clientY)},t.prototype.emitZoomEvent=function(e,r){this.emit("pinchToZoom",e,r)},t.prototype.dispose=function(){this.listenersCollector.dispose(),this.targetResizeObserver.disconnect()},t.prototype.setDisable=function(e){this.listenersCollector.setDisabled(e)},t.prototype.setInvertedWheelZoom=function(e){this.invertedWheelZoom=e}}(u),function(e){function t(r){var t=e.call(this)||this;return t.listenersCollector=new l,t.handleKeyUp=function(e){t.emit("keyUp",e.code)},t.target=r,t.addListeners(),t}r(t,e),t.prototype.addListeners=function(){this.listenersCollector.add(this.target,"keyup",this.handleKeyUp)},t.prototype.dispose=function(){this.listenersCollector.dispose()}}(u);var p,g,h,v,y,b,_,w,T,E,C,x,P,S,A,F,L,I,D,k,M,O,B,W,U,G,R,$,N,j,V,H=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.logDebug=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];this.emit.apply(this,o(["log","debug"],e,!1))},t.prototype.logWarning=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];this.emit.apply(this,o(["log","warn"],e,!1))},t.prototype.logError=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];this.emit.apply(this,o(["log","error"],e,!1))},t}(u),Y=new H,z=function(){function e(e){this.settings=e}return e.prototype.isReleaseMode=function(){return this.settings.mode===i.release},e.prototype.init=function(){return n(this,void 0,void 0,(function(){var e,r,t,n,o,i=this;return a(this,(function(a){switch(a.label){case 0:return[4,this.importModule()];case 1:e=a.sent(),r=e.default,a.label=2;case 2:return a.trys.push([2,4,,5]),t=this,[4,r({FeatureFlags:this.settings.featureFlags,currentWebGLVersion:this.settings.webglVersion,bridge:this.settings.jsBridge,locateFile:function(e){return i.settings.locateFile.replace("{file}",e)}})];case 3:return t.instance=a.sent(),[3,5];case 4:throw n=a.sent(),new c("WASM_ERROR","An error occurred while trying to create the wasm module.",n);case 5:return this.pointerTypeToWASMMap={unset:this.instance.PRUserPointerTypeEnum.Unset,mouse:this.instance.PRUserPointerTypeEnum.Mouse,touch:this.instance.PRUserPointerTypeEnum.Touch},this.prCursorTypeToCSSCursorMap=((o={})[this.instance.PRCursorTypeEnum.Auto.value]="auto",o[this.instance.PRCursorTypeEnum.Default.value]="default",o[this.instance.PRCursorTypeEnum.Pointer.value]="pointer",o[this.instance.PRCursorTypeEnum.Grab.value]="grab",o[this.instance.PRCursorTypeEnum.Grabbing.value]="grabbing",o),this.prototypeResizeModeToWASMMap={Fit:this.instance.PrototypeResizeModeWasmEnum.Fit,FillWidth:this.instance.PrototypeResizeModeWasmEnum.FillWidth,ActualSize:this.instance.PrototypeResizeModeWasmEnum.ActualSize},[2]}}))}))},e.prototype.makeWebGLContext=function(e,r,n){var a;void 0===r&&(r={}),void 0===n&&(n="srgb");var o=t({antialias:!1,alpha:!1,stencil:!1,depth:!1,powerPreference:"high-performance",preserveDrawingBuffer:!1,desynchronized:!0},r),i=this.instance.GL.createContext(e,o);if(!i)throw new c("WEBGL_ERROR","Unable to create WebGL context. WebGL might be unsupported, disabled, or this device is not able to run WebGL correctly.");var s=null===(a=this.instance.GL.getContext(i))||void 0===a?void 0:a.GLctx;return s&&(s.getExtension("WEBGL_debug_renderer_info"),"srgb"!==n&&"drawingBufferColorSpace"in s&&(s.drawingBufferColorSpace=n)),i},e.prototype.createWebGLTextureFromImage=function(e,r){var t=this.instance.GL,n=t.getContext(r);if(!n)throw new Error("Unable to retrieve emscripten WebGL context from handle");var a=n.GLctx;if(!a)throw new Error("WebGL context is null");var o=a.createTexture();a.bindTexture(a.TEXTURE_2D,o),a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);var i=t.getNewId(t.textures);return t.textures[i]=o,a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,e),a.bindTexture(a.TEXTURE_2D,null),i},e.prototype.destroyWebGLContext=function(e){var r;Y.logDebug("Destroying WebGL context");var t=null===(r=this.instance)||void 0===r?void 0:r.GL.getContext(e);if(t){this.instance.GL.deleteContext(e);var n=t.GLctx.getExtension("WEBGL_lose_context");if(n)return n.loseContext(),Y.logDebug("WebGL destroyed"),!0;Y.logError("WEBGL_lose_context not available. Not possible to destroy WebGL context manually.")}else Y.logError("WebGL context not found while trying to destroy it")},e.prototype.importModule=function(){return this.isReleaseMode()?Promise.resolve().then((function(){return he})):Promise.resolve().then((function(){return ye}))},e.prototype.mapToCSSCursor=function(e){return this.prCursorTypeToCSSCursorMap[e.value]},e.prototype.mapToPRPointerType=function(e){var r;return null!==(r=this.pointerTypeToWASMMap[e])&&void 0!==r?r:this.instance.PRUserPointerTypeEnum.Unset},e.prototype.mapPointerInfo=function(e){return t(t({},e),{type:this.mapToPRPointerType(e.type)})},e.prototype.mapResizeMode=function(e){return this.prototypeResizeModeToWASMMap[e]},e}();function X(e){var r=m(e);return e.delete(),r}function q(e){switch(e.kind.value){case p.Boolean:return e.boolean;case p.Number:return e.number;case p.Text:return e.text;default:return null}}!function(e){e[e.Absent=0]="Absent",e[e.Boolean=1]="Boolean",e[e.Number=2]="Number",e[e.Text=3]="Text"}(p||(p={})),function(e){e[e.Added=0]="Added",e[e.Removed=1]="Removed",e[e.Modified=2]="Modified"}(g||(g={})),function(e){e[e.None=0]="None",e[e.Frame=1]="Frame",e[e.Section=2]="Section"}(h||(h={})),function(e){e[e.None=0]="None",e[e.Scale=1]="Scale",e[e.Width=2]="Width",e[e.Height=3]="Height"}(v||(v={})),function(e){e[e.None=0]="None",e[e.PNG=1]="PNG",e[e.JPG=2]="JPG",e[e.TIFF=3]="TIFF",e[e.WEBP=4]="WEBP",e[e.PDF=5]="PDF",e[e.EPS=6]="EPS",e[e.SVG=7]="SVG",e[e.HEIC=8]="HEIC"}(y||(y={})),function(e){e[e.Color=0]="Color",e[e.Gradient=1]="Gradient",e[e.Pattern=2]="Pattern"}(b||(b={})),function(e){e[e.Fit=0]="Fit",e[e.Fill=1]="Fill",e[e.Stretch=2]="Stretch",e[e.Tile=3]="Tile"}(_||(_={})),function(e){e[e.Linear=0]="Linear",e[e.Radial=1]="Radial",e[e.Angular=2]="Angular"}(w||(w={})),function(e){e[e.Rgb=0]="Rgb",e[e.Oklab=1]="Oklab",e[e.Oklch=2]="Oklch"}(T||(T={})),function(e){e[e.Center=0]="Center",e[e.Inside=1]="Inside",e[e.Outside=2]="Outside"}(E||(E={})),function(e){e[e.Butt=0]="Butt",e[e.Round=1]="Round",e[e.Square=2]="Square"}(C||(C={})),function(e){e[e.Miter=0]="Miter",e[e.Round=1]="Round",e[e.Bevel=2]="Bevel"}(x||(x={})),function(e){e[e.Motion=0]="Motion",e[e.Zoom=1]="Zoom",e[e.Background=2]="Background",e[e.Gaussian=3]="Gaussian"}(P||(P={})),function(e){e[e.Normal=0]="Normal",e[e.DestAtop=1]="DestAtop",e[e.Clear=2]="Clear",e[e.Source=3]="Source",e[e.Darken=4]="Darken",e[e.Multiply=5]="Multiply",e[e.ColorBurn=6]="ColorBurn",e[e.Lighten=7]="Lighten",e[e.Screen=8]="Screen",e[e.ColorDodge=9]="ColorDodge",e[e.Overlay=10]="Overlay",e[e.SoftLight=11]="SoftLight",e[e.HardLight=12]="HardLight",e[e.Difference=13]="Difference",e[e.Exclusion=14]="Exclusion",e[e.Hue=15]="Hue",e[e.Saturation=16]="Saturation",e[e.Color=17]="Color",e[e.Luminosity=18]="Luminosity",e[e.PlusLighter=19]="PlusLighter",e[e.PlusDarker=20]="PlusDarker"}(S||(S={})),function(e){e[e.Artboard=0]="Artboard",e[e.SymbolMaster=1]="SymbolMaster",e[e.SymbolInstance=2]="SymbolInstance",e[e.Hotspot=3]="Hotspot",e[e.Bitmap=4]="Bitmap",e[e.Group=5]="Group",e[e.Oval=6]="Oval",e[e.Polygon=7]="Polygon",e[e.Rectangle=8]="Rectangle",e[e.ShapeGroup=9]="ShapeGroup",e[e.ShapePath=10]="ShapePath",e[e.Star=11]="Star",e[e.Text=12]="Text",e[e.Triangle=13]="Triangle",e[e.Slice=14]="Slice",e[e.Section=15]="Section"}(A||(A={})),function(e){e[e.Angled=2]="Angled",e[e.InsideArc=4]="InsideArc",e[e.InsideSquare=3]="InsideSquare",e[e.Rounded=0]="Rounded",e[e.Smooth=1]="Smooth"}(F||(F={})),function(e){e[e.Lowercase=2]="Lowercase",e[e.None=0]="None",e[e.Uppercase=1]="Uppercase"}(L||(L={})),function(e){e[e.Center=1]="Center",e[e.Justified=3]="Justified",e[e.Left=0]="Left",e[e.Right=2]="Right"}(I||(I={})),function(e){e[e.Top=0]="Top",e[e.Middle=1]="Middle",e[e.Bottom=2]="Bottom"}(D||(D={})),function(e){e[e.LineThrough=2]="LineThrough",e[e.Underline=1]="Underline",e[e.None=0]="None"}(k||(k={})),function(e){e[e.Fixed=0]="Fixed",e[e.Fill=1]="Fill",e[e.Fit=2]="Fit",e[e.Relative=3]="Relative"}(M||(M={})),function(e){e[e.Horizontal=0]="Horizontal",e[e.Vertical=1]="Vertical"}(O||(O={})),function(e){e[e.Start=0]="Start",e[e.Center=1]="Center",e[e.End=2]="End",e[e.SpaceBetween=3]="SpaceBetween",e[e.SpaceAround=4]="SpaceAround",e[e.SpaceEvenly=5]="SpaceEvenly"}(B||(B={})),function(e){e[e.None=0]="None",e[e.Start=1]="Start",e[e.Center=2]="Center",e[e.End=3]="End",e[e.Stretch=4]="Stretch"}(W||(W={})),function(e){e[e.FirstOnTop=0]="FirstOnTop",e[e.LastOnTop=1]="LastOnTop"}(U||(U={})),function(e){e[e.Unset=0]="Unset",e[e.Mouse=1]="Mouse",e[e.Touch=2]="Touch"}(G||(G={})),function(e){e[e.Auto=0]="Auto",e[e.Default=1]="Default",e[e.Pointer=2]="Pointer",e[e.Grab=3]="Grab",e[e.Grabbing=4]="Grabbing"}(R||(R={})),function(e){e[e.PNG=0]="PNG",e[e.JPG=1]="JPG",e[e.WEBP=2]="WEBP",e[e.PDF=4]="PDF",e[e.SVG=3]="SVG",e[e.RASTER=5]="RASTER"}($||($={})),function(e){e[e.Screen=0]="Screen",e[e.Overlay=1]="Overlay"}(N||(N={})),function(e){e[e.Fit=0]="Fit",e[e.FillWidth=1]="FillWidth",e[e.ActualSize=2]="ActualSize"}(j||(j={}));var Q=((V={})[g.Added]="added",V[g.Removed]="removed",V[g.Modified]="modified",V),J=function(e){var r;return null!==(r=Q[e.value])&&void 0!==r?r:"modified"};function Z(e){return X(e).map((function(e){return{property:e.property,before:q(e.before),after:q(e.after)}}))}function K(e){var r=function(e){return{x:e.x,y:e.y}};return{topLeft:r(e.topLeft),topRight:r(e.topRight),bottomRight:r(e.bottomRight),bottomLeft:r(e.bottomLeft)}}function ee(e){return{x:e.x,y:e.y,width:e.width,height:e.height}}var re=function(e){return""===e?null:e};function te(e){return X(e).filter((function(e){return void 0!==e}))}function ne(e){return X(e).map((function(e){return{id:e.uuid,format:e.format}}))}function ae(e,r){var t=new Map;return e.entities.forEach((function(e){("before"===r?e.beforeImages:e.afterImages).forEach((function(e){t.has(e.id)||t.set(e.id,e)}))})),Array.from(t.values())}function oe(e,r,o){var i=r.imagesURLFormat,s=r.imagesURLMap;return n(this,void 0,void 0,(function(){var r=this;return a(this,(function(c){switch(c.label){case 0:return i||s?[4,Promise.all(e.map((function(e){var c=e.id,u=e.format;return n(r,void 0,void 0,(function(){var e,r,n;return a(this,(function(a){switch(a.label){case 0:return e=null==s?void 0:s[c],(r=e?e.replace(":format",u):null==i?void 0:i.replace(":imageId",c).replace(":format",u))?[4,o(r)]:[2,void 0];case 1:return[2,(n=a.sent())?t({id:c},n):void 0]}}))}))})))]:[2,[]];case 1:return[2,c.sent().filter((function(e){return!!e}))]}}))}))}function ie(e,r,t,n,a){void 0===a&&(a=[]);var o=[];return function(e,r){var t=new Set;return e.entities.forEach((function(e){("before"===r?e.beforeFragmentIds:e.afterFragmentIds).forEach((function(e){return t.add(e)}))})),t}(e,r).forEach((function(e){var r=n.get(e);r&&o.push({id:e,bytes:r})})),{file:t,fragments:o,images:a}}var se=function(){},ce={logDebug:function(e){return console.debug("[ComparisonWorker C++] ".concat(e))},logWarning:function(e){return console.warn("[ComparisonWorker C++] ".concat(e))},logError:function(e){return console.error("[ComparisonWorker C++] ".concat(e))},resolveImageUrl:function(){return""},resolveFragmentUrl:function(){return""},emitMetric:se,onDrawComplete:se,onAllImagesReady:se,onCameraMoveStart:se,onCameraMoveEnd:se,onCameraZoomStart:se,onCameraZoomEnd:se,onCameraZoomChange:se,onCameraPanChange:se,onCursorChange:se};function ue(e){return n(this,void 0,void 0,(function(){var r,t;return a(this,(function(n){switch(n.label){case 0:if(!e)return[2,void 0];n.label=1;case 1:return n.trys.push([1,4,,5]),[4,fetch(e)];case 2:return(r=n.sent()).ok?[4,r.arrayBuffer()]:[2,void 0];case 3:return[2,(t=n.sent()).byteLength>0?new Uint8Array(t):void 0];case 4:return n.sent(),[2,void 0];case 5:return[2]}}))}))}function le(e){var r;return n(this,void 0,void 0,(function(){var t,n;return a(this,(function(a){switch(a.label){case 0:return a.trys.push([0,3,,4]),[4,fetch(e)];case 1:return(t=a.sent()).ok?[4,t.arrayBuffer()]:[2,void 0];case 2:return 0===(n=a.sent()).byteLength?[2,void 0]:[2,{bytes:new Uint8Array(n),type:null!==(r=t.headers.get("content-type"))&&void 0!==r?r:""}];case 3:return a.sent(),[2,void 0];case 4:return[2]}}))}))}function de(e,r,t){var o=r.fragmentsURLFormat,i=void 0===o?"":o,s=r.fragmentsURLMap,c=void 0===s?{}:s;return n(this,void 0,void 0,(function(){var r,o,s,u,l,d,f,p,g,h,v=this;return a(this,(function(y){switch(y.label){case 0:r=0,y.label=1;case 1:return r<8?(o=e.pendingFragmentIds(),s=m(o),o.delete(),0===s.length?[2]:[4,Promise.all(s.map((function(e){return n(v,void 0,void 0,(function(){var r,t;return a(this,(function(n){switch(n.label){case 0:return r={id:e},[4,ue(null!==(t=c[e])&&void 0!==t?t:i.replace(":fragmentId",e))];case 1:return[2,(r.bytes=n.sent(),r)]}}))}))})))]):[3,4];case 2:for(u=y.sent(),l=0,d=0,f=u;d<f.length;d++)p=f[d],g=p.id,(h=p.bytes)&&e.attachFragment(g,h)&&(l++,null==t||t.set(g,h));if(0===l)return[2];y.label=3;case 3:return r++,[3,1];case 4:return[2]}}))}))}var fe=function(){function e(){}return e.prototype.init=function(e,r){var t=new z({mode:r,locateFile:e,jsBridge:ce,featureFlags:d,webglVersion:2});this.wasmModule=t.init().then((function(){return t})),this.wasmModule.catch((function(){}))},e.prototype.compare=function(e,r,t,o){return n(this,void 0,void 0,(function(){var i,s,c,u,l,d,f,m,p,g,v,y,b,_,w,T,E=this;return a(this,(function(C){switch(C.label){case 0:i=[],s=new Map,C.label=1;case 1:if(C.trys.push([1,7,8,9]),!this.wasmModule)throw new Error("Comparison worker not initialised");return[4,this.wasmModule];case 2:return u=C.sent().instance,l=function(e,r){return n(E,void 0,void 0,(function(){var t,n,l,d;return a(this,(function(a){switch(a.label){case 0:return t="before"===r?"earlier":"later",n=new u.ComparisonDocument,i.push(n),[4,ue(e.fileURL)];case 1:if(!(l=a.sent()))throw new Error("could not fetch the ".concat(t," version"));if(!n.load(l))throw new Error("could not read the ".concat(t," version"));return(d=r===o)&&(c=l),[4,de(n,e,d?s:void 0)];case 2:return a.sent(),[2,n]}}))}))},[4,Promise.all([l(r,"before"),l(t,"after")])];case 3:return d=C.sent(),f=d[0],m=d[1],p=function(e){return{entities:X(e.entities).map((function(e){return{kind:J(e.kind),entityKind:e.entityKind.value===h.Section?"section":"frame",uuid:e.uuid,layerPathHash:e.layerPathHash,beforeFragmentIds:te(e.beforeFragmentIds),afterFragmentIds:te(e.afterFragmentIds),beforeImages:ne(e.beforeImages),afterImages:ne(e.afterImages),parentEntityUUID:re(e.parentEntityUUID),name:e.name,changes:Z(e.changes),layerChangeCount:e.layerChangeCount,drawsImage:e.drawsImage,beforeExtent:ee(e.beforeExtent),afterExtent:ee(e.afterExtent),quadAfter:K(e.quadAfter),quadBefore:K(e.quadBefore)}})),layers:X(e.layers).map((function(e){return{kind:J(e.kind),layerPathHash:e.layerPathHash,uuid:e.uuid,name:e.name,type:e.type<0?null:e.type,entityUUID:re(e.entityUUID),parentLayerPathHash:re(e.parentLayerPathHash),drawsImage:e.drawsImage,changes:Z(e.changes),beforeExtent:ee(e.beforeExtent),afterExtent:ee(e.afterExtent),quadAfter:K(e.quadAfter),quadBefore:K(e.quadBefore)}})),beforeNodeCount:e.beforeNodeCount,afterNodeCount:e.afterNodeCount,isPartial:e.isPartial}}(u.compareDocuments(f,m)),o&&c?(v=ie,y=[p,o,c,s],[4,oe(ae(p,o),"before"===o?r:t,le)]):[3,5];case 4:return g=v.apply(void 0,y.concat([C.sent()])),[3,6];case 5:g=void 0,C.label=6;case 6:return b=function(e,r,t){if(!t)return[{type:"comparison",requestId:e,differences:r},[]];var n=[],a=function(e){var r=e.buffer;n.includes(r)||n.push(r)};return a(t.file),t.fragments.forEach((function(e){var r=e.bytes;return a(r)})),t.images.forEach((function(e){var r=e.bytes;return a(r)})),[{type:"comparison",requestId:e,differences:r,source:t},n]}(e,p,g),_=b[0],w=b[1],self.postMessage(_,{transfer:w}),[3,9];case 7:return T=C.sent(),self.postMessage({type:"error",requestId:e,message:T instanceof Error?T.message:String(T)}),[3,9];case 8:return i.forEach((function(e){return e.delete()})),[7];case 9:return[2]}}))}))},e}(),me=new fe;self.addEventListener("message",(function(e){switch(e.data.type){case"init":me.init(e.data.locateFile,e.data.mode);break;case"compare":me.compare(e.data.requestId,e.data.before,e.data.after,e.data.keep)}}));var pe,ge=(pe=document.currentScript&&document.currentScript.src||new URL("comparison-worker.js",document.baseURI).href,function(){var e,r,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Object.assign({},t),a=new Promise(((t,n)=>{e=t,r=n})),o=Object.assign({},n),i="";"undefined"!=typeof document&&document.currentScript&&(i=document.currentScript.src),pe&&(i=pe),i=i.startsWith("blob:")?"":i.substr(0,i.replace(/[?#].*/,"").lastIndexOf("/")+1);var s,c,u=n.print||console.log.bind(console),l=n.printErr||console.error.bind(console);Object.assign(n,o),o=null;var d,f,m,p,g,h,v,y,b,_,w=!1;function T(){var e=c.buffer;d=new Int8Array(e),m=new Int16Array(e),f=new Uint8Array(e),p=new Uint16Array(e),g=new Int32Array(e),h=new Uint32Array(e),v=new Float32Array(e),_=new Float64Array(e),y=new BigInt64Array(e),b=new BigUint64Array(e)}var E=[],C=[],x=[],P=0,S=null;function A(e){var t;null===(t=n.onAbort)||void 0===t||t.call(n,e),l(e="Aborted("+e+")"),w=!0,e+=". Build with -sASSERTIONS for more info.";var a=new WebAssembly.RuntimeError(e);throw r(a),a}var F,L=e=>e.startsWith("data:application/octet-stream;base64,");function I(){if(n.locateFile){var e="web-renderer-release.wasm";return L(e)?e:(r=e,n.locateFile?n.locateFile(r,i):i+r)}var r;return new URL("web-renderer-release.wasm",document.currentScript&&document.currentScript.src||new URL("comparison-worker.js",document.baseURI).href).href}function D(e){if(e==F&&s)return new Uint8Array(s);throw"both async and sync fetching of the wasm failed"}function k(e,r,t){return function(e){return"function"==typeof fetch?fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '".concat(e,"'");return r.arrayBuffer()})).catch((()=>D(e))):Promise.resolve().then((()=>D(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then(t,(e=>{l("failed to asynchronously prepare wasm: ".concat(e)),A(e)}))}function M(e){this.name="ExitStatus",this.message="Program terminated with exit(".concat(e,")"),this.status=e}var O=e=>{for(;e.length>0;)e.shift()(n)},B=n.noExitRuntime||!0,W=e=>mo(e),U=()=>po(),G={},R=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function $(e){return this.fromWireType(h[e>>2])}var N,j,V,H={},Y={},z={},X=e=>{throw new N(e)},q=(e,r,t)=>{function n(r){var n=t(r);n.length!==e.length&&X("Mismatched type converter count");for(var a=0;a<e.length;++a)K(e[a],n[a])}e.forEach((function(e){z[e]=r}));var a=new Array(r.length),o=[],i=0;r.forEach(((e,r)=>{Y.hasOwnProperty(e)?a[r]=Y[e]:(o.push(e),H.hasOwnProperty(e)||(H[e]=[]),H[e].push((()=>{a[r]=Y[e],++i===o.length&&n(a)})))})),0===o.length&&n(a)},Q=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},J=e=>{for(var r="",t=e;f[t];)r+=j[f[t++]];return r},Z=e=>{throw new V(e)};function K(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=r.name;if(e||Z('type "'.concat(n,'" must have a positive integer typeid pointer')),Y.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;Z("Cannot register type '".concat(n,"' twice"))}if(Y[e]=r,delete z[e],H.hasOwnProperty(e)){var a=H[e];delete H[e],a.forEach((e=>e()))}}(e,r,t)}var ee,re=(e,r,t)=>{switch(r){case 1:return t?e=>d[e]:e=>f[e];case 2:return t?e=>m[e>>1]:e=>p[e>>1];case 4:return t?e=>g[e>>2]:e=>h[e>>2];case 8:return t?e=>y[e>>3]:e=>b[e>>3];default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}},te=8,ne=e=>{Z(e.$$.ptrType.registeredClass.name+" instance already deleted")},ae=!1,oe=e=>{},ie=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},se=(e,r,t)=>{if(r===t)return e;if(void 0===t.baseClass)return null;var n=se(e,r,t.baseClass);return null===n?null:t.downcast(n)},ce={},ue=()=>Object.keys(ge).length,le=()=>{var e=[];for(var r in ge)ge.hasOwnProperty(r)&&e.push(ge[r]);return e},de=[],fe=()=>{for(;de.length;){var e=de.pop();e.$$.deleteScheduled=!1,e.delete()}},me=e=>{ee=e,de.length&&ee&&ee(fe)},ge={},he=(e,r)=>(r=((e,r)=>{for(void 0===r&&Z("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r})(e,r),ge[r]),ve=(e,r)=>(r.ptrType&&r.ptr||X("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!=!!r.smartPtr&&X("Both smartPtrType and smartPtr must be specified"),r.count={value:1},be(Object.create(e,{$$:{value:r,writable:!0}})));function ye(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=he(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function a(){return this.isSmartPointer?ve(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):ve(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o,i=this.registeredClass.getActualType(r),s=ce[i];if(!s)return a.call(this);o=this.isConst?s.constPointerType:s.pointerType;var c=se(r,this.registeredClass,o.registeredClass);return null===c?a.call(this):this.isSmartPointer?ve(o.registeredClass.instancePrototype,{ptrType:o,ptr:c,smartPtrType:this,smartPtr:e}):ve(o.registeredClass.instancePrototype,{ptrType:o,ptr:c})}var be=e=>"undefined"==typeof FinalizationRegistry?(be=e=>e,e):(ae=new FinalizationRegistry((e=>{ie(e.$$)})),be=e=>{var r=e.$$;if(r.smartPtr){var t={$$:r};ae.register(e,t,e)}return e},oe=e=>ae.unregister(e),be(e));function _e(){}var we=(e,r)=>Object.defineProperty(r,"name",{value:e}),Te=(e,r,t)=>{if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return e[r].overloadTable.hasOwnProperty(a.length)||Z("Function '".concat(t,"' called with an invalid number of arguments (").concat(a.length,") - expects one of (").concat(e[r].overloadTable,")!")),e[r].overloadTable[a.length].apply(this,a)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}},Ee=(e,r,t)=>{n.hasOwnProperty(e)?((void 0===t||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[t])&&Z("Cannot register public name '".concat(e,"' twice")),Te(n,e,e),n.hasOwnProperty(t)&&Z("Cannot register multiple overloads of a function with the same number of arguments (".concat(t,")!")),n[e].overloadTable[t]=r):(n[e]=r,void 0!==t&&(n[e].numArguments=t))};function Ce(e,r,t,n,a,o,i,s){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=a,this.getActualType=o,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}var xe=(e,r,t)=>{for(;r!==t;)r.upcast||Z("Expected null or instance of ".concat(t.name,", got an instance of ").concat(r.name)),e=r.upcast(e),r=r.baseClass;return e};function Pe(e,r){if(null===r)return this.isReference&&Z("null is not a valid ".concat(this.name)),0;r.$$||Z('Cannot pass "'.concat(Q(r),'" as a ').concat(this.name)),r.$$.ptr||Z("Cannot pass deleted object as a pointer of type ".concat(this.name));var t=r.$$.ptrType.registeredClass;return xe(r.$$.ptr,t,this.registeredClass)}function Se(e,r){var t;if(null===r)return this.isReference&&Z("null is not a valid ".concat(this.name)),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r&&r.$$||Z('Cannot pass "'.concat(Q(r),'" as a ').concat(this.name)),r.$$.ptr||Z("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&r.$$.ptrType.isConst&&Z("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));var n=r.$$.ptrType.registeredClass;if(t=xe(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&Z("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:Z("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var a=r.clone();t=this.rawShare(t,qe.toHandle((()=>a.delete()))),null!==e&&e.push(this.rawDestructor,t)}break;default:Z("Unsupporting sharing policy")}return t}function Ae(e,r){if(null===r)return this.isReference&&Z("null is not a valid ".concat(this.name)),0;r.$$||Z('Cannot pass "'.concat(Q(r),'" as a ').concat(this.name)),r.$$.ptr||Z("Cannot pass deleted object as a pointer of type ".concat(this.name)),r.$$.ptrType.isConst&&Z("Cannot convert argument of type ".concat(r.$$.ptrType.name," to parameter type ").concat(this.name));var t=r.$$.ptrType.registeredClass;return xe(r.$$.ptr,t,this.registeredClass)}function Fe(e,r,t,n,a,o,i,s,c,u,l){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=a,this.pointeeType=o,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,a||void 0!==r.baseClass?this.toWireType=Se:n?(this.toWireType=Pe,this.destructorFunction=null):(this.toWireType=Ae,this.destructorFunction=null)}var Le,Ie,De=(e,r,t)=>{n.hasOwnProperty(e)||X("Replacing nonexistent public symbol"),void 0!==n[e].overloadTable&&void 0!==t?n[e].overloadTable[t]=r:(n[e]=r,n[e].argCount=t)},ke=[],Me=e=>{var r=ke[e];return r||(e>=ke.length&&(ke.length=e+1),ke[e]=r=Le.get(e)),r},Oe=(e,r)=>{e=J(e);var t=Me(r);return"function"!=typeof t&&Z("unknown function pointer with signature ".concat(e,": ").concat(r)),t},Be=e=>{var r=co(e),t=J(r);return lo(r),t},We=(e,r)=>{var t=[],n={};throw r.forEach((function e(r){n[r]||Y[r]||(z[r]?z[r].forEach(e):(t.push(r),n[r]=!0))})),new Ie("".concat(e,": ")+t.map(Be).join([", "]))};function Ue(e){for(var r=1;r<e.length;++r)if(null!==e[r]&&void 0===e[r].destructorFunction)return!0;return!1}function Ge(e,r){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var t=we(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var n=new t,a=e.apply(n,r);return a instanceof Object?a:n}function Re(e,r,t,n,a,o){var i=r.length;i<2&&Z("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==r[1]&&null!==t,c=Ue(r),u="void"!==r[0].name,l=[e,Z,n,a,R,r[0],r[1]],d=0;d<i-2;++d)l.push(r[d+2]);if(!c)for(d=s?1:2;d<r.length;++d)null!==r[d].destructorFunction&&l.push(r[d].destructorFunction);var[f,m]=function(e,r,t,n){for(var a=Ue(e),o=e.length,i="",s="",c=0;c<o-2;++c)i+=(0!==c?", ":"")+"arg"+c,s+=(0!==c?", ":"")+"arg"+c+"Wired";var u="\n return function (".concat(i,") {\n if (arguments.length !== ").concat(o-2,") {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ").concat(o-2,"');\n }");a&&(u+="var destructors = [];\n");var l=a?"destructors":"null",d=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(r&&(u+="var thisWired = classParam['toWireType']("+l+", this);\n"),c=0;c<o-2;++c)u+="var arg"+c+"Wired = argType"+c+"['toWireType']("+l+", arg"+c+");\n",d.push("argType"+c);if(r&&(s="thisWired"+(s.length>0?", ":"")+s),u+=(t||n?"var rv = ":"")+"invoker(fn"+(s.length>0?", ":"")+s+");\n",a)u+="runDestructors(destructors);\n";else for(c=r?1:2;c<e.length;++c){var f=1===c?"thisWired":"arg"+(c-2)+"Wired";null!==e[c].destructorFunction&&(u+="".concat(f,"_dtor(").concat(f,");\n"),d.push("".concat(f,"_dtor")))}return t&&(u+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),[d,u+="}\n"]}(r,s,u,o);f.push(m);var p=Ge(Function,f)(...l);return we(e,p)}var $e,Ne=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(h[r+4*n>>2]);return t},je=e=>{var r=(e=e.trim()).indexOf("(");return-1!==r?e.substr(0,r):e},Ve=(e,r,t)=>(e instanceof Object||Z("".concat(t,' with invalid "this": ').concat(e)),e instanceof r.registeredClass.constructor||Z("".concat(t,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||Z("cannot call emscripten binding method ".concat(t," on deleted object")),xe(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),He=[],Ye=[],ze=e=>{e>9&&0==--Ye[e+1]&&(Ye[e]=void 0,He.push(e))},Xe=()=>Ye.length/2-5-He.length,qe={toValue:e=>(e||Z("Cannot use deleted val. handle = "+e),Ye[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:var r=He.pop()||Ye.length;return Ye[r]=e,Ye[r+1]=1,r}}},Qe={name:"emscripten::val",fromWireType:e=>{var r=qe.toValue(e);return ze(e),r},toWireType:(e,r)=>qe.toHandle(r),argPackAdvance:te,readValueFromPointer:$,destructorFunction:null},Je=e=>K(e,Qe),Ze=(e,r,t)=>{switch(r){case 1:return t?function(e){return this.fromWireType(d[e])}:function(e){return this.fromWireType(f[e])};case 2:return t?function(e){return this.fromWireType(m[e>>1])}:function(e){return this.fromWireType(p[e>>1])};case 4:return t?function(e){return this.fromWireType(g[e>>2])}:function(e){return this.fromWireType(h[e>>2])};default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}},Ke=(e,r)=>{var t=Y[e];return void 0===t&&Z("".concat(r," has unknown type ").concat(Be(e))),t},er=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(v[e>>2])};case 8:return function(e){return this.fromWireType(_[e>>3])};default:throw new TypeError("invalid float width (".concat(r,"): ").concat(e))}},rr=(e,r,t,n)=>{if(!(n>0))return 0;for(var a=t,o=t+n-1,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=o)break;r[t++]=s}else if(s<=2047){if(t+1>=o)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=o)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=o)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-a},tr=(e,r,t)=>rr(e,f,r,t),nr=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},ar="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,or=(e,r,t)=>{for(var n=r+t,a=r;e[a]&&!(a>=n);)++a;if(a-r>16&&e.buffer&&ar)return ar.decode(e.subarray(r,a));for(var o="";r<a;){var i=e[r++];if(128&i){var s=63&e[r++];if(192!=(224&i)){var c=63&e[r++];if((i=224==(240&i)?(15&i)<<12|s<<6|c:(7&i)<<18|s<<12|c<<6|63&e[r++])<65536)o+=String.fromCharCode(i);else{var u=i-65536;o+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else o+=String.fromCharCode((31&i)<<6|s)}else o+=String.fromCharCode(i)}return o},ir=(e,r)=>e?or(f,e,r):"",sr="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,cr=(e,r)=>{for(var t=e,n=t>>1,a=n+r/2;!(n>=a)&&p[n];)++n;if((t=n<<1)-e>32&&sr)return sr.decode(f.subarray(e,t));for(var o="",i=0;!(i>=r/2);++i){var s=m[e+2*i>>1];if(0==s)break;o+=String.fromCharCode(s)}return o},ur=(e,r,t)=>{var n;if(null!==(n=t)&&void 0!==n||(t=2147483647),t<2)return 0;for(var a=r,o=(t-=2)<2*e.length?t/2:e.length,i=0;i<o;++i){var s=e.charCodeAt(i);m[r>>1]=s,r+=2}return m[r>>1]=0,r-a},lr=e=>2*e.length,dr=(e,r)=>{for(var t=0,n="";!(t>=r/4);){var a=g[e+4*t>>2];if(0==a)break;if(++t,a>=65536){var o=a-65536;n+=String.fromCharCode(55296|o>>10,56320|1023&o)}else n+=String.fromCharCode(a)}return n},fr=(e,r,t)=>{var n;if(null!==(n=t)&&void 0!==n||(t=2147483647),t<4)return 0;for(var a=r,o=a+t-4,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),g[r>>2]=s,(r+=4)+4>o)break}return g[r>>2]=0,r-a},mr=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&++t,r+=4}return r},pr=(e,r,t)=>{var n=[],a=e.toWireType(n,t);return n.length&&(h[r>>2]=qe.toHandle(n)),a},gr=[],hr={},vr=e=>{var r=hr[e];return void 0===r?J(e):r},yr=()=>"object"==typeof globalThis?globalThis:Function("return this")();$e=()=>performance.now();var br,_r,wr,Tr,Er=e=>{var r=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(e.getSupportedExtensions()||[]).filter((e=>r.includes(e)))},Cr={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:e=>{Cr.lastError||(Cr.lastError=e)},getNewId:e=>{for(var r=Cr.counter++,t=e.length;t<r;t++)e[t]=null;return r},genObject:(e,r,t,n)=>{for(var a=0;a<e;a++){var o=Tr[t](),i=o&&Cr.getNewId(n);o?(o.name=i,n[i]=o):Cr.recordError(1282),g[r+4*a>>2]=i}},getSource:(e,r,t,n)=>{for(var a="",o=0;o<r;++o){var i=n?h[n+4*o>>2]:void 0;a+=ir(h[t+4*o>>2],i)}return a},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){function n(r,t){var n=e.getContextSafariWebGL2Fixed(r,t);return"webgl"==r==n instanceof WebGLRenderingContext?n:null}e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=n}var t=r.majorVersion>1?e.getContext("webgl2",r):e.getContext("webgl",r);return t?Cr.registerContext(t,r):0},registerContext:(e,r)=>{var t=Cr.getNewId(Cr.contexts),n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),Cr.contexts[t]=n,(void 0===r.enableExtensionsByDefault||r.enableExtensionsByDefault)&&Cr.initExtensions(n),t},makeContextCurrent:e=>{var r;return Cr.currentContext=Cr.contexts[e],n.ctx=Tr=null===(r=Cr.currentContext)||void 0===r?void 0:r.GLctx,!(e&&!Tr)},getContext:e=>Cr.contexts[e],deleteContext:e=>{Cr.currentContext===Cr.contexts[e]&&(Cr.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(Cr.contexts[e].GLctx.canvas),Cr.contexts[e]&&Cr.contexts[e].GLctx.canvas&&(Cr.contexts[e].GLctx.canvas.GLctxObject=void 0),Cr.contexts[e]=null},initExtensions:e=>{if(e||(e=Cr.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r,t=e.GLctx;(e=>{var r=e.getExtension("ANGLE_instanced_arrays");r&&(e.vertexAttribDivisor=(e,t)=>r.vertexAttribDivisorANGLE(e,t),e.drawArraysInstanced=(e,t,n,a)=>r.drawArraysInstancedANGLE(e,t,n,a),e.drawElementsInstanced=(e,t,n,a,o)=>r.drawElementsInstancedANGLE(e,t,n,a,o))})(t),(e=>{var r=e.getExtension("OES_vertex_array_object");r&&(e.createVertexArray=()=>r.createVertexArrayOES(),e.deleteVertexArray=e=>r.deleteVertexArrayOES(e),e.bindVertexArray=e=>r.bindVertexArrayOES(e),e.isVertexArray=e=>r.isVertexArrayOES(e))})(t),(e=>{var r=e.getExtension("WEBGL_draw_buffers");r&&(e.drawBuffers=(e,t)=>r.drawBuffersWEBGL(e,t))})(t),(r=t).dibvbi=r.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),(e=>{e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")})(t),e.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),(e=>{e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")})(t),Er(t).forEach((e=>{e.includes("lose_context")||e.includes("debug")||t.getExtension(e)}))}}},xr=e=>Tr.activeTexture(e),Pr=(e,r)=>{Tr.attachShader(Cr.programs[e],Cr.shaders[r])},Sr=(e,r)=>{Tr.beginQuery(e,Cr.queries[r])},Ar=(e,r)=>{Tr.disjointTimerQueryExt.beginQueryEXT(e,Cr.queries[r])},Fr=(e,r,t)=>{Tr.bindAttribLocation(Cr.programs[e],r,ir(t))},Lr=(e,r)=>{35051==e?Tr.currentPixelPackBufferBinding=r:35052==e&&(Tr.currentPixelUnpackBufferBinding=r),Tr.bindBuffer(e,Cr.buffers[r])},Ir=(e,r)=>{Tr.bindFramebuffer(e,Cr.framebuffers[r])},Dr=Ir,kr=(e,r)=>{Tr.bindRenderbuffer(e,Cr.renderbuffers[r])},Mr=(e,r)=>{Tr.bindSampler(e,Cr.samplers[r])},Or=(e,r)=>{Tr.bindTexture(e,Cr.textures[r])},Br=e=>{Tr.bindVertexArray(Cr.vaos[e])},Wr=Br,Ur=Br,Gr=Ur,Rr=(e,r,t,n)=>Tr.blendColor(e,r,t,n),$r=e=>Tr.blendEquation(e),Nr=(e,r)=>Tr.blendFunc(e,r),jr=(e,r,t,n,a,o,i,s,c,u)=>Tr.blitFramebuffer(e,r,t,n,a,o,i,s,c,u),Vr=(e,r,t,n)=>{Cr.currentContext.version>=2?t&&r?Tr.bufferData(e,f,n,t,r):Tr.bufferData(e,r,n):Tr.bufferData(e,t?f.subarray(t,t+r):r,n)},Hr=(e,r,t,n)=>{Cr.currentContext.version>=2?t&&Tr.bufferSubData(e,r,f,n,t):Tr.bufferSubData(e,r,f.subarray(n,n+t))},Yr=e=>Tr.checkFramebufferStatus(e),zr=e=>Tr.clear(e),Xr=zr,qr=(e,r,t,n)=>Tr.clearColor(e,r,t,n),Qr=qr,Jr=e=>Tr.clearStencil(e),Zr=Jr,Kr=(e,r,t)=>(t=Number(t),Tr.clientWaitSync(Cr.syncs[e],r,t)),et=(e,r,t,n)=>{Tr.colorMask(!!e,!!r,!!t,!!n)},rt=e=>{Tr.compileShader(Cr.shaders[e])},tt=(e,r,t,n,a,o,i,s)=>{if(Cr.currentContext.version>=2)return Tr.currentPixelUnpackBufferBinding||!i?void Tr.compressedTexImage2D(e,r,t,n,a,o,i,s):void Tr.compressedTexImage2D(e,r,t,n,a,o,f,s,i);Tr.compressedTexImage2D(e,r,t,n,a,o,s?f.subarray(s,s+i):null)},nt=(e,r,t,n,a,o,i,s,c)=>{if(Cr.currentContext.version>=2)return Tr.currentPixelUnpackBufferBinding||!s?void Tr.compressedTexSubImage2D(e,r,t,n,a,o,i,s,c):void Tr.compressedTexSubImage2D(e,r,t,n,a,o,i,f,c,s);Tr.compressedTexSubImage2D(e,r,t,n,a,o,i,c?f.subarray(c,c+s):null)},at=(e,r,t,n,a)=>Tr.copyBufferSubData(e,r,t,n,a),ot=(e,r,t,n,a,o,i,s)=>Tr.copyTexSubImage2D(e,r,t,n,a,o,i,s),it=()=>{var e=Cr.getNewId(Cr.programs),r=Tr.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,Cr.programs[e]=r,e},st=e=>{var r=Cr.getNewId(Cr.shaders);return Cr.shaders[r]=Tr.createShader(e),r},ct=e=>Tr.cullFace(e),ut=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Cr.buffers[n];a&&(Tr.deleteBuffer(a),a.name=0,Cr.buffers[n]=null,n==Tr.currentPixelPackBufferBinding&&(Tr.currentPixelPackBufferBinding=0),n==Tr.currentPixelUnpackBufferBinding&&(Tr.currentPixelUnpackBufferBinding=0))}},lt=(e,r)=>{for(var t=0;t<e;++t){var n=g[r+4*t>>2],a=Cr.framebuffers[n];a&&(Tr.deleteFramebuffer(a),a.name=0,Cr.framebuffers[n]=null)}},dt=e=>{if(e){var r=Cr.programs[e];r?(Tr.deleteProgram(r),r.name=0,Cr.programs[e]=null):Cr.recordError(1281)}},ft=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Cr.queries[n];a&&(Tr.deleteQuery(a),Cr.queries[n]=null)}},mt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Cr.queries[n];a&&(Tr.disjointTimerQueryExt.deleteQueryEXT(a),Cr.queries[n]=null)}},pt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Cr.renderbuffers[n];a&&(Tr.deleteRenderbuffer(a),a.name=0,Cr.renderbuffers[n]=null)}},gt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Cr.samplers[n];a&&(Tr.deleteSampler(a),a.name=0,Cr.samplers[n]=null)}},ht=e=>{if(e){var r=Cr.shaders[e];r?(Tr.deleteShader(r),Cr.shaders[e]=null):Cr.recordError(1281)}},vt=e=>{if(e){var r=Cr.syncs[e];r?(Tr.deleteSync(r),r.name=0,Cr.syncs[e]=null):Cr.recordError(1281)}},yt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Cr.textures[n];a&&(Tr.deleteTexture(a),a.name=0,Cr.textures[n]=null)}},bt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2];Tr.deleteVertexArray(Cr.vaos[n]),Cr.vaos[n]=null}},_t=bt,wt=bt,Tt=wt,Et=e=>{Tr.depthMask(!!e)},Ct=e=>Tr.disable(e),xt=e=>{Tr.disableVertexAttribArray(e)},Pt=(e,r,t)=>{Tr.drawArrays(e,r,t)},St=(e,r,t,n)=>{Tr.drawArraysInstanced(e,r,t,n)},At=(e,r,t,n,a)=>{Tr.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,r,t,n,a)},Ft=[],Lt=(e,r)=>{for(var t=Ft[e],n=0;n<e;n++)t[n]=g[r+4*n>>2];Tr.drawBuffers(t)},It=(e,r,t,n)=>{Tr.drawElements(e,r,t,n)},Dt=It,kt=(e,r,t,n,a)=>{Tr.drawElementsInstanced(e,r,t,n,a)},Mt=(e,r,t,n,a,o,i)=>{Tr.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,r,t,n,a,o,i)},Ot=(e,r,t,n,a,o)=>{It(e,n,a,o)},Bt=e=>Tr.enable(e),Wt=e=>{Tr.enableVertexAttribArray(e)},Ut=e=>Tr.endQuery(e),Gt=e=>{Tr.disjointTimerQueryExt.endQueryEXT(e)},Rt=(e,r)=>{var t=Tr.fenceSync(e,r);if(t){var n=Cr.getNewId(Cr.syncs);return t.name=n,Cr.syncs[n]=t,n}return 0},$t=()=>Tr.finish(),Nt=()=>Tr.flush(),jt=(e,r,t,n)=>{Tr.framebufferRenderbuffer(e,r,t,Cr.renderbuffers[n])},Vt=(e,r,t,n,a)=>{Tr.framebufferTexture2D(e,r,t,Cr.textures[n],a)},Ht=e=>Tr.frontFace(e),Yt=(e,r)=>{Cr.genObject(e,r,"createBuffer",Cr.buffers)},zt=(e,r)=>{Cr.genObject(e,r,"createFramebuffer",Cr.framebuffers)},Xt=(e,r)=>{Cr.genObject(e,r,"createQuery",Cr.queries)},qt=(e,r)=>{for(var t=0;t<e;t++){var n=Tr.disjointTimerQueryExt.createQueryEXT();if(!n){for(Cr.recordError(1282);t<e;)g[r+4*t++>>2]=0;return}var a=Cr.getNewId(Cr.queries);n.name=a,Cr.queries[a]=n,g[r+4*t>>2]=a}},Qt=(e,r)=>{Cr.genObject(e,r,"createRenderbuffer",Cr.renderbuffers)},Jt=(e,r)=>{Cr.genObject(e,r,"createSampler",Cr.samplers)},Zt=(e,r)=>{Cr.genObject(e,r,"createTexture",Cr.textures)},Kt=(e,r)=>{Cr.genObject(e,r,"createVertexArray",Cr.vaos)},en=Kt,rn=Kt,tn=e=>Tr.generateMipmap(e),nn=(e,r,t)=>{t?g[t>>2]=Tr.getBufferParameter(e,r):Cr.recordError(1281)},an=()=>{var e=Tr.getError()||Cr.lastError;return Cr.lastError=0,e},on=(e,r)=>{h[e>>2]=r;var t=h[e>>2];h[e+4>>2]=(r-t)/4294967296},sn=function(){var e=Er(Tr);return e=e.concat(e.map((e=>"GL_"+e)))},cn=(e,r,t)=>{if(r){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=t&&1!=t&&Cr.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var a=Tr.getParameter(34467);n=a?a.length:0;break;case 33309:if(Cr.currentContext.version<2)return void Cr.recordError(1282);n=sn().length;break;case 33307:case 33308:if(Cr.currentContext.version<2)return void Cr.recordError(1280);n=33307==e?3:0}if(void 0===n){var o=Tr.getParameter(e);switch(typeof o){case"number":n=o;break;case"boolean":n=o?1:0;break;case"string":return void Cr.recordError(1280);case"object":if(null===o)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Cr.recordError(1280)}else{if(o instanceof Float32Array||o instanceof Uint32Array||o instanceof Int32Array||o instanceof Array){for(var i=0;i<o.length;++i)switch(t){case 0:g[r+4*i>>2]=o[i];break;case 2:v[r+4*i>>2]=o[i];break;case 4:d[r+i]=o[i]?1:0}return}try{n=0|o.name}catch(r){return Cr.recordError(1280),void l("GL_INVALID_ENUM in glGet".concat(t,"v: Unknown object returned from WebGL getParameter(").concat(e,")! (error: ").concat(r,")"))}}break;default:return Cr.recordError(1280),void l("GL_INVALID_ENUM in glGet".concat(t,"v: Native code calling glGet").concat(t,"v(").concat(e,") and it returns ").concat(o," of type ").concat(typeof o,"!"))}}switch(t){case 1:on(r,n);break;case 0:g[r>>2]=n;break;case 2:v[r>>2]=n;break;case 4:d[r]=n?1:0}}else Cr.recordError(1281)},un=(e,r)=>cn(e,r,2),ln=(e,r,t,n)=>{var a=Tr.getFramebufferAttachmentParameter(e,r,t);(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)&&(a=0|a.name),g[n>>2]=a},dn=(e,r)=>cn(e,r,0),fn=dn,mn=(e,r,t,n)=>{var a=Tr.getProgramInfoLog(Cr.programs[e]);null===a&&(a="(unknown error)");var o=r>0&&n?tr(a,n,r):0;t&&(g[t>>2]=o)},pn=(e,r,t)=>{if(t)if(e>=Cr.counter)Cr.recordError(1281);else if(e=Cr.programs[e],35716==r){var n=Tr.getProgramInfoLog(e);null===n&&(n="(unknown error)"),g[t>>2]=n.length+1}else if(35719==r){if(!e.maxUniformLength)for(var a=0;a<Tr.getProgramParameter(e,35718);++a)e.maxUniformLength=Math.max(e.maxUniformLength,Tr.getActiveUniform(e,a).name.length+1);g[t>>2]=e.maxUniformLength}else if(35722==r){if(!e.maxAttributeLength)for(a=0;a<Tr.getProgramParameter(e,35721);++a)e.maxAttributeLength=Math.max(e.maxAttributeLength,Tr.getActiveAttrib(e,a).name.length+1);g[t>>2]=e.maxAttributeLength}else if(35381==r){if(!e.maxUniformBlockNameLength)for(a=0;a<Tr.getProgramParameter(e,35382);++a)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,Tr.getActiveUniformBlockName(e,a).length+1);g[t>>2]=e.maxUniformBlockNameLength}else g[t>>2]=Tr.getProgramParameter(e,r);else Cr.recordError(1281)},gn=(e,r,t)=>{if(t){var n,a=Cr.queries[e];n=Cr.currentContext.version<2?Tr.disjointTimerQueryExt.getQueryObjectEXT(a,r):Tr.getQueryParameter(a,r),on(t,"boolean"==typeof n?n?1:0:n)}else Cr.recordError(1281)},hn=gn,vn=gn,yn=(e,r,t)=>{if(t){var n,a=Cr.queries[e],o=Tr.getQueryParameter(a,r);n="boolean"==typeof o?o?1:0:o,g[t>>2]=n}else Cr.recordError(1281)},bn=(e,r,t)=>{if(t){var n,a=Cr.queries[e],o=Tr.disjointTimerQueryExt.getQueryObjectEXT(a,r);n="boolean"==typeof o?o?1:0:o,g[t>>2]=n}else Cr.recordError(1281)},_n=(e,r,t)=>{t?g[t>>2]=Tr.getQuery(e,r):Cr.recordError(1281)},wn=(e,r,t)=>{t?g[t>>2]=Tr.disjointTimerQueryExt.getQueryEXT(e,r):Cr.recordError(1281)},Tn=(e,r,t)=>{t?g[t>>2]=Tr.getRenderbufferParameter(e,r):Cr.recordError(1281)},En=(e,r,t,n)=>{var a=Tr.getShaderInfoLog(Cr.shaders[e]);null===a&&(a="(unknown error)");var o=r>0&&n?tr(a,n,r):0;t&&(g[t>>2]=o)},Cn=(e,r,t,n)=>{var a=Tr.getShaderPrecisionFormat(e,r);g[t>>2]=a.rangeMin,g[t+4>>2]=a.rangeMax,g[n>>2]=a.precision},xn=(e,r,t)=>{if(t)if(35716==r){var n=Tr.getShaderInfoLog(Cr.shaders[e]);null===n&&(n="(unknown error)");var a=n?n.length+1:0;g[t>>2]=a}else if(35720==r){var o=Tr.getShaderSource(Cr.shaders[e]),i=o?o.length+1:0;g[t>>2]=i}else g[t>>2]=Tr.getShaderParameter(Cr.shaders[e],r);else Cr.recordError(1281)},Pn=e=>{var r=nr(e)+1,t=uo(r);return t&&tr(e,t,r),t},Sn=e=>{var r=Cr.stringCache[e];if(!r){switch(e){case 7939:r=Pn(sn().join(" "));break;case 7936:case 7937:case 37445:case 37446:var t=Tr.getParameter(e);t||Cr.recordError(1280),r=t?Pn(t):0;break;case 7938:var n=Tr.getParameter(7938);n=Cr.currentContext.version>=2?"OpenGL ES 3.0 (".concat(n,")"):"OpenGL ES 2.0 (".concat(n,")"),r=Pn(n);break;case 35724:var a=Tr.getParameter(35724),o=a.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==o&&(3==o[1].length&&(o[1]=o[1]+"0"),a="OpenGL ES GLSL ES ".concat(o[1]," (").concat(a,")")),r=Pn(a);break;default:Cr.recordError(1280)}Cr.stringCache[e]=r}return r},An=Sn,Fn=(e,r)=>{if(Cr.currentContext.version<2)return Cr.recordError(1282),0;var t=Cr.stringiCache[e];if(t)return r<0||r>=t.length?(Cr.recordError(1281),0):t[r];if(7939===e){var n=sn().map(Pn);return t=Cr.stringiCache[e]=n,r<0||r>=t.length?(Cr.recordError(1281),0):t[r]}return Cr.recordError(1280),0},Ln=Fn,In=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Dn=(e,r)=>{if(r=ir(r),e=Cr.programs[e]){(e=>{var r,t,n=e.uniformLocsById,a=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},r=0;r<Tr.getProgramParameter(e,35718);++r){var o=Tr.getActiveUniform(e,r),i=o.name,s=o.size,c=In(i),u=c>0?i.slice(0,c):i,l=e.uniformIdCounter;for(e.uniformIdCounter+=s,a[u]=[s,l],t=0;t<s;++t)n[l]=t,e.uniformArrayNamesById[l++]=u}})(e);var t=e.uniformLocsById,n=0,a=r,o=In(r);o>0&&(s=r.slice(o+1),n=parseInt(s)>>>0,a=r.slice(0,o));var i=e.uniformSizeAndIdsByName[a];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||Tr.getUniformLocation(e,r)))return n}else Cr.recordError(1281);var s;return-1},kn=(e,r,t)=>{for(var n=Ft[r],a=0;a<r;a++)n[a]=g[t+4*a>>2];Tr.invalidateFramebuffer(e,n)},Mn=(e,r,t,n,a,o,i)=>{for(var s=Ft[r],c=0;c<r;c++)s[c]=g[t+4*c>>2];Tr.invalidateSubFramebuffer(e,s,n,a,o,i)},On=e=>Tr.isSync(Cr.syncs[e]),Bn=e=>{var r=Cr.textures[e];return r?Tr.isTexture(r):0},Wn=e=>Tr.lineWidth(e),Un=e=>{e=Cr.programs[e],Tr.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Gn=(e,r,t,n,a,o)=>{Tr.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,g,r>>2,g,t>>2,g,n>>2,h,a>>2,o)},Rn=(e,r,t,n,a,o,i,s)=>{Tr.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,g,r>>2,t,g,n>>2,g,a>>2,g,o>>2,h,i>>2,s)},$n=(e,r)=>{3317==e&&(Cr.unpackAlignment=r),Tr.pixelStorei(e,r)},Nn=(e,r)=>{Tr.disjointTimerQueryExt.queryCounterEXT(Cr.queries[e],r)},jn=e=>Tr.readBuffer(e),Vn=e=>0==(e-=5120)?d:1==e?f:2==e?m:4==e?g:6==e?v:5==e||28922==e||28520==e||30779==e||30782==e?h:p,Hn=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),Yn=(e,r,t,n,a,o)=>{var i=Vn(e),s=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(r)*i.BYTES_PER_ELEMENT,c=((e,r,t,n)=>{var a;return r*(e*t+(a=n)-1&-a)})(t,n,s,Cr.unpackAlignment);return i.subarray(Hn(a,i),Hn(a+c,i))},zn=(e,r,t,n,a,o,i)=>{if(Cr.currentContext.version>=2){if(Tr.currentPixelPackBufferBinding)return void Tr.readPixels(e,r,t,n,a,o,i);var s=Vn(o),c=Hn(i,s);Tr.readPixels(e,r,t,n,a,o,s,c)}else{var u=Yn(o,a,t,n,i);u?Tr.readPixels(e,r,t,n,a,o,u):Cr.recordError(1280)}},Xn=(e,r,t,n)=>Tr.renderbufferStorage(e,r,t,n),qn=(e,r,t,n,a)=>Tr.renderbufferStorageMultisample(e,r,t,n,a),Qn=(e,r,t)=>{Tr.samplerParameterf(Cr.samplers[e],r,t)},Jn=(e,r,t)=>{Tr.samplerParameteri(Cr.samplers[e],r,t)},Zn=(e,r,t)=>{var n=g[t>>2];Tr.samplerParameteri(Cr.samplers[e],r,n)},Kn=(e,r,t,n)=>Tr.scissor(e,r,t,n),ea=(e,r,t,n)=>{var a=Cr.getSource(e,r,t,n);Tr.shaderSource(Cr.shaders[e],a)},ra=(e,r,t)=>Tr.stencilFunc(e,r,t),ta=(e,r,t,n)=>Tr.stencilFuncSeparate(e,r,t,n),na=e=>Tr.stencilMask(e),aa=(e,r)=>Tr.stencilMaskSeparate(e,r),oa=(e,r,t)=>Tr.stencilOp(e,r,t),ia=(e,r,t,n)=>Tr.stencilOpSeparate(e,r,t,n),sa=(e,r,t,n,a,o,i,s,c)=>{if(Cr.currentContext.version>=2){if(Tr.currentPixelUnpackBufferBinding)return void Tr.texImage2D(e,r,t,n,a,o,i,s,c);if(c){var u=Vn(s),l=Hn(c,u);return void Tr.texImage2D(e,r,t,n,a,o,i,s,u,l)}}var d=c?Yn(s,i,n,a,c):null;Tr.texImage2D(e,r,t,n,a,o,i,s,d)},ca=(e,r,t)=>Tr.texParameterf(e,r,t),ua=(e,r,t)=>{var n=v[t>>2];Tr.texParameterf(e,r,n)},la=(e,r,t)=>Tr.texParameteri(e,r,t),da=(e,r,t)=>{var n=g[t>>2];Tr.texParameteri(e,r,n)},fa=(e,r,t,n,a)=>Tr.texStorage2D(e,r,t,n,a),ma=(e,r,t,n,a,o,i,s,c)=>{if(Cr.currentContext.version>=2){if(Tr.currentPixelUnpackBufferBinding)return void Tr.texSubImage2D(e,r,t,n,a,o,i,s,c);if(c){var u=Vn(s);return void Tr.texSubImage2D(e,r,t,n,a,o,i,s,u,Hn(c,u))}}var l=c?Yn(s,i,a,o,c):null;Tr.texSubImage2D(e,r,t,n,a,o,i,s,l)},pa=e=>{var r=Tr.currentProgram;if(r){var t=r.uniformLocsById[e];return"number"==typeof t&&(r.uniformLocsById[e]=t=Tr.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?"[".concat(t,"]"):""))),t}Cr.recordError(1282)},ga=(e,r)=>{Tr.uniform1f(pa(e),r)},ha=[],va=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform1fv(pa(e),v,t>>2,r);else{if(r<=288)for(var n=ha[r],a=0;a<r;++a)n[a]=v[t+4*a>>2];else n=v.subarray(t>>2,t+4*r>>2);Tr.uniform1fv(pa(e),n)}},ya=(e,r)=>{Tr.uniform1i(pa(e),r)},ba=[],_a=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform1iv(pa(e),g,t>>2,r);else{if(r<=288)for(var n=ba[r],a=0;a<r;++a)n[a]=g[t+4*a>>2];else n=g.subarray(t>>2,t+4*r>>2);Tr.uniform1iv(pa(e),n)}},wa=(e,r,t)=>{Tr.uniform2f(pa(e),r,t)},Ta=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform2fv(pa(e),v,t>>2,2*r);else{if(r<=144)for(var n=ha[2*r],a=0;a<2*r;a+=2)n[a]=v[t+4*a>>2],n[a+1]=v[t+(4*a+4)>>2];else n=v.subarray(t>>2,t+8*r>>2);Tr.uniform2fv(pa(e),n)}},Ea=(e,r,t)=>{Tr.uniform2i(pa(e),r,t)},Ca=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform2iv(pa(e),g,t>>2,2*r);else{if(r<=144)for(var n=ba[2*r],a=0;a<2*r;a+=2)n[a]=g[t+4*a>>2],n[a+1]=g[t+(4*a+4)>>2];else n=g.subarray(t>>2,t+8*r>>2);Tr.uniform2iv(pa(e),n)}},xa=(e,r,t,n)=>{Tr.uniform3f(pa(e),r,t,n)},Pa=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform3fv(pa(e),v,t>>2,3*r);else{if(r<=96)for(var n=ha[3*r],a=0;a<3*r;a+=3)n[a]=v[t+4*a>>2],n[a+1]=v[t+(4*a+4)>>2],n[a+2]=v[t+(4*a+8)>>2];else n=v.subarray(t>>2,t+12*r>>2);Tr.uniform3fv(pa(e),n)}},Sa=(e,r,t,n)=>{Tr.uniform3i(pa(e),r,t,n)},Aa=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform3iv(pa(e),g,t>>2,3*r);else{if(r<=96)for(var n=ba[3*r],a=0;a<3*r;a+=3)n[a]=g[t+4*a>>2],n[a+1]=g[t+(4*a+4)>>2],n[a+2]=g[t+(4*a+8)>>2];else n=g.subarray(t>>2,t+12*r>>2);Tr.uniform3iv(pa(e),n)}},Fa=(e,r,t,n,a)=>{Tr.uniform4f(pa(e),r,t,n,a)},La=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform4fv(pa(e),v,t>>2,4*r);else{if(r<=72){var n=ha[4*r],a=v;t>>=2;for(var o=0;o<4*r;o+=4){var i=t+o;n[o]=a[i],n[o+1]=a[i+1],n[o+2]=a[i+2],n[o+3]=a[i+3]}}else n=v.subarray(t>>2,t+16*r>>2);Tr.uniform4fv(pa(e),n)}},Ia=(e,r,t,n,a)=>{Tr.uniform4i(pa(e),r,t,n,a)},Da=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform4iv(pa(e),g,t>>2,4*r);else{if(r<=72)for(var n=ba[4*r],a=0;a<4*r;a+=4)n[a]=g[t+4*a>>2],n[a+1]=g[t+(4*a+4)>>2],n[a+2]=g[t+(4*a+8)>>2],n[a+3]=g[t+(4*a+12)>>2];else n=g.subarray(t>>2,t+16*r>>2);Tr.uniform4iv(pa(e),n)}},ka=(e,r,t,n)=>{if(Cr.currentContext.version>=2)r&&Tr.uniformMatrix2fv(pa(e),!!t,v,n>>2,4*r);else{if(r<=72)for(var a=ha[4*r],o=0;o<4*r;o+=4)a[o]=v[n+4*o>>2],a[o+1]=v[n+(4*o+4)>>2],a[o+2]=v[n+(4*o+8)>>2],a[o+3]=v[n+(4*o+12)>>2];else a=v.subarray(n>>2,n+16*r>>2);Tr.uniformMatrix2fv(pa(e),!!t,a)}},Ma=(e,r,t,n)=>{if(Cr.currentContext.version>=2)r&&Tr.uniformMatrix3fv(pa(e),!!t,v,n>>2,9*r);else{if(r<=32)for(var a=ha[9*r],o=0;o<9*r;o+=9)a[o]=v[n+4*o>>2],a[o+1]=v[n+(4*o+4)>>2],a[o+2]=v[n+(4*o+8)>>2],a[o+3]=v[n+(4*o+12)>>2],a[o+4]=v[n+(4*o+16)>>2],a[o+5]=v[n+(4*o+20)>>2],a[o+6]=v[n+(4*o+24)>>2],a[o+7]=v[n+(4*o+28)>>2],a[o+8]=v[n+(4*o+32)>>2];else a=v.subarray(n>>2,n+36*r>>2);Tr.uniformMatrix3fv(pa(e),!!t,a)}},Oa=(e,r,t,n)=>{if(Cr.currentContext.version>=2)r&&Tr.uniformMatrix4fv(pa(e),!!t,v,n>>2,16*r);else{if(r<=18){var a=ha[16*r],o=v;n>>=2;for(var i=0;i<16*r;i+=16){var s=n+i;a[i]=o[s],a[i+1]=o[s+1],a[i+2]=o[s+2],a[i+3]=o[s+3],a[i+4]=o[s+4],a[i+5]=o[s+5],a[i+6]=o[s+6],a[i+7]=o[s+7],a[i+8]=o[s+8],a[i+9]=o[s+9],a[i+10]=o[s+10],a[i+11]=o[s+11],a[i+12]=o[s+12],a[i+13]=o[s+13],a[i+14]=o[s+14],a[i+15]=o[s+15]}}else a=v.subarray(n>>2,n+64*r>>2);Tr.uniformMatrix4fv(pa(e),!!t,a)}},Ba=e=>{e=Cr.programs[e],Tr.useProgram(e),Tr.currentProgram=e},Wa=(e,r)=>Tr.vertexAttrib1f(e,r),Ua=(e,r)=>{Tr.vertexAttrib2f(e,v[r>>2],v[r+4>>2])},Ga=(e,r)=>{Tr.vertexAttrib3f(e,v[r>>2],v[r+4>>2],v[r+8>>2])},Ra=(e,r)=>{Tr.vertexAttrib4f(e,v[r>>2],v[r+4>>2],v[r+8>>2],v[r+12>>2])},$a=(e,r)=>{Tr.vertexAttribDivisor(e,r)},Na=(e,r,t,n,a)=>{Tr.vertexAttribIPointer(e,r,t,n,a)},ja=(e,r,t,n,a,o)=>{Tr.vertexAttribPointer(e,r,t,!!n,a,o)},Va=(e,r,t,n)=>Tr.viewport(e,r,t,n),Ha=(e,r,t)=>{t=Number(t),Tr.waitSync(Cr.syncs[e],r,t)},Ya=e=>{var r=(e-c.buffer.byteLength+65535)/65536;try{return c.grow(r),T(),1}catch(e){}},za={},Xa=()=>{if(!Xa.strings){var e={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",_:"./this.program"};for(var r in za)void 0===za[r]?delete e[r]:e[r]=za[r];var t=[];for(var r in e)t.push("".concat(r,"=").concat(e[r]));Xa.strings=t}return Xa.strings},qa=e=>{B||(w=!0),((e,r)=>{throw r})(0,new M(e))},Qa=(e,r)=>{qa(e)},Ja=[null,[],[]],Za=e=>e%4==0&&(e%100!=0||e%400==0),Ka=[31,29,31,30,31,30,31,31,30,31,30,31],eo=[31,28,31,30,31,30,31,31,30,31,30,31],ro=(e,r,t,n)=>{var a=h[n+40>>2],o={tm_sec:g[n>>2],tm_min:g[n+4>>2],tm_hour:g[n+8>>2],tm_mday:g[n+12>>2],tm_mon:g[n+16>>2],tm_year:g[n+20>>2],tm_wday:g[n+24>>2],tm_yday:g[n+28>>2],tm_isdst:g[n+32>>2],tm_gmtoff:g[n+36>>2],tm_zone:a?ir(a):""},i=ir(t),s={"%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"};for(var c in s)i=i.replace(new RegExp(c,"g"),s[c]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],l=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length<r;)n=t[0]+n;return n}function m(e,r){return f(e,r,"0")}function p(e,r){function t(e){return e<0?-1:e>0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function v(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function y(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=Za(t.getFullYear()),a=t.getMonth(),o=(n?Ka:eo)[a];if(!(r>o-t.getDate()))return t.setDate(t.getDate()+r),t;r-=o-t.getDate()+1,t.setDate(1),a<11?t.setMonth(a+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),a=v(t),o=v(n);return p(a,r)<=0?p(o,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var b={"%a":e=>u[e.tm_wday].substring(0,3),"%A":e=>u[e.tm_wday],"%b":e=>l[e.tm_mon].substring(0,3),"%B":e=>l[e.tm_mon],"%C":e=>m((e.tm_year+1900)/100|0,2),"%d":e=>m(e.tm_mday,2),"%e":e=>f(e.tm_mday,2," "),"%g":e=>y(e).toString().substring(2),"%G":y,"%H":e=>m(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),m(r,2)},"%j":e=>m(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(Za(e.tm_year+1900)?Ka:eo,e.tm_mon-1),3),"%m":e=>m(e.tm_mon+1,2),"%M":e=>m(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>m(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return m(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&Za(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&Za(e.tm_year%400-1))&&r++}return m(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return m(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var c in i=i.replace(/%%/g,"\0\0"),b)i.includes(c)&&(i=i.replace(new RegExp(c,"g"),b[c](o)));i=i.replace(/\0\0/g,"%");var _,w,T,E,C,x,P,S,A=(_=i,w=!1,E=T>0?T:nr(_)+1,C=new Array(E),x=rr(_,C,0,C.length),w&&(C.length=x),C);return A.length>r?0:(P=A,S=e,d.set(P,S),A.length-1)};N=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},(()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);j=e})(),V=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(_e.prototype,{isAliasOf(e){if(!(this instanceof _e))return!1;if(!(e instanceof _e))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,a=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)a=n.upcast(a),n=n.baseClass;return r===n&&t===a},clone(){if(this.$$.ptr||ne(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,r=be(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return r.$$.count.value+=1,r.$$.deleteScheduled=!1,r},delete(){this.$$.ptr||ne(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Z("Object already scheduled for deletion"),oe(this),ie(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||ne(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Z("Object already scheduled for deletion"),de.push(this),1===de.length&&ee&&ee(fe),this.$$.deleteScheduled=!0,this}}),n.getInheritedInstanceCount=ue,n.getLiveInheritedInstances=le,n.flushPendingDeletes=fe,n.setDelayFunction=me,Object.assign(Fe.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;null===(r=this.rawDestructor)||void 0===r||r.call(this,e)},argPackAdvance:te,readValueFromPointer:$,fromWireType:ye}),Ie=n.UnboundTypeError=(br=Error,(wr=we(_r="UnboundTypeError",(function(e){this.name=_r,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(br.prototype),wr.prototype.constructor=wr,wr.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},wr),Ye.push(0,1,void 0,1,null,1,!0,1,!1,1),n.count_emval_handles=Xe;for(var to=0;to<32;++to)Ft.push(new Array(to));var no=new Float32Array(288);for(to=0;to<288;++to)ha[to]=no.subarray(0,to);var ao=new Int32Array(288);for(to=0;to<288;++to)ba[to]=ao.subarray(0,to);var oo,io={nb:()=>{A("")},l:e=>{var r=G[e];delete G[e];var t=r.rawConstructor,n=r.rawDestructor,a=r.fields,o=a.map((e=>e.getterReturnType)).concat(a.map((e=>e.setterArgumentType)));q([e],o,(e=>{var o={};return a.forEach(((r,t)=>{var n=r.fieldName,i=e[t],s=r.getter,c=r.getterContext,u=e[t+a.length],l=r.setter,d=r.setterContext;o[n]={read:e=>i.fromWireType(s(c,e)),write:(e,r)=>{var t=[];l(d,e,u.toWireType(t,r)),R(t)}}})),[{name:r.name,fromWireType:e=>{var r={};for(var t in o)r[t]=o[t].read(e);return n(e),r},toWireType:(e,r)=>{for(var a in o)if(!(a in r))throw new TypeError('Missing field: "'.concat(a,'"'));var i=t();for(a in o)o[a].write(i,r[a]);return null!==e&&e.push(n,i),i},argPackAdvance:te,readValueFromPointer:$,destructorFunction:n}]}))},R:(e,r,t,n,a)=>{var o=-1!=(r=J(r)).indexOf("u");K(e,{name:r,fromWireType:e=>e,toWireType:function(e,r){if("bigint"!=typeof r&&"number"!=typeof r)throw new TypeError('Cannot convert "'.concat(Q(r),'" to ').concat(this.name));return"number"==typeof r&&(r=BigInt(r)),r},argPackAdvance:te,readValueFromPointer:re(r,t,!o),destructorFunction:null})},ab:(e,r,t,n)=>{K(e,{name:r=J(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:n},argPackAdvance:te,readValueFromPointer:function(e){return this.fromWireType(f[e])},destructorFunction:null})},f:(e,r,t,n,a,o,i,s,c,u,l,d,f)=>{l=J(l),o=Oe(a,o),s&&(s=Oe(i,s)),u&&(u=Oe(c,u)),f=Oe(d,f);var m=(e=>{if(void 0===e)return"_unknown";var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=48&&r<=57?"_".concat(e):e})(l);Ee(m,(function(){We("Cannot construct ".concat(l," due to unbound types"),[n])})),q([e,r,t],n?[n]:[],(r=>{var t,a;r=r[0],a=n?(t=r.registeredClass).instancePrototype:_e.prototype;var i=we(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new V("Use 'new' to construct "+l);if(void 0===g.constructor_body)throw new V(l+" has no accessible constructor");for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var n=g.constructor_body[r.length];if(void 0===n)throw new V("Tried to invoke ctor of ".concat(l," with invalid number of parameters (").concat(r.length,") - expected (").concat(Object.keys(g.constructor_body).toString(),") parameters instead!"));return n.apply(this,r)})),c=Object.create(a,{constructor:{value:i}});i.prototype=c;var d,p,g=new Ce(l,i,c,f,t,o,s,u);g.baseClass&&(null!==(p=(d=g.baseClass).__derivedClasses)&&void 0!==p||(d.__derivedClasses=[]),g.baseClass.__derivedClasses.push(g));var h=new Fe(l,g,!0,!1,!1),v=new Fe(l+"*",g,!1,!1,!1),y=new Fe(l+" const*",g,!1,!0,!1);return ce[e]={pointerType:v,constPointerType:y},De(m,i),[h,v,y]}))},Yc:(e,r,t,n,a,o,i,s)=>{var c=Ne(t,n);r=J(r),r=je(r),o=Oe(a,o),q([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r);function a(){We("Cannot call ".concat(n," due to unbound types"),c)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]);var u=e.registeredClass.constructor;return void 0===u[r]?(a.argCount=t-1,u[r]=a):(Te(u,r,n),u[r].overloadTable[t-1]=a),q([],c,(a=>{var c=[a[0],null].concat(a.slice(1)),l=Re(n,c,null,o,i,s);if(void 0===u[r].overloadTable?(l.argCount=t-1,u[r]=l):u[r].overloadTable[t-1]=l,e.registeredClass.__derivedClasses)for(var d of e.registeredClass.__derivedClasses)d.constructor.hasOwnProperty(r)||(d.constructor[r]=l);return[]})),[]}))},s:(e,r,t,n,a,o)=>{var i=Ne(r,t);a=Oe(n,a),q([],[e],(e=>{e=e[0];var t="constructor ".concat(e.name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[r-1])throw new V("Cannot register multiple constructors with identical number of parameters (".concat(r-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[r-1]=()=>{We("Cannot construct ".concat(e.name," due to unbound types"),i)},q([],i,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[r-1]=Re(t,n,null,a,o),[]))),[]}))},a:(e,r,t,n,a,o,i,s,c)=>{var u=Ne(t,n);r=J(r),r=je(r),o=Oe(a,o),q([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r);function a(){We("Cannot call ".concat(n," due to unbound types"),u)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(r);var l=e.registeredClass.instancePrototype,d=l[r];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===t-2?(a.argCount=t-2,a.className=e.name,l[r]=a):(Te(l,r,n),l[r].overloadTable[t-2]=a),q([],u,(a=>{var s=Re(n,a,e,o,i,c);return void 0===l[r].overloadTable?(s.argCount=t-2,l[r]=s):l[r].overloadTable[t-2]=s,[]})),[]}))},e:(e,r,t,n,a,o,i,s,c,u)=>{r=J(r),a=Oe(n,a),q([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r),l={get(){We("Cannot access ".concat(n," due to unbound types"),[t,i])},enumerable:!0,configurable:!0};return l.set=c?()=>We("Cannot access ".concat(n," due to unbound types"),[t,i]):e=>Z(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,r,l),q([],c?[t,i]:[t],(t=>{var i=t[0],l={get(){var r=Ve(this,e,n+" getter");return i.fromWireType(a(o,r))},enumerable:!0};if(c){c=Oe(s,c);var d=t[1];l.set=function(r){var t=Ve(this,e,n+" setter"),a=[];c(u,t,d.toWireType(a,r)),R(a)}}return Object.defineProperty(e.registeredClass.instancePrototype,r,l),[]})),[]}))},$a:Je,n:(e,r,t,n)=>{function a(){}r=J(r),a.values={},K(e,{name:r,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,r)=>r.value,argPackAdvance:te,readValueFromPointer:Ze(r,t,n),destructorFunction:null}),Ee(r,a)},c:(e,r,t)=>{var n=Ke(e,"enum");r=J(r);var a=n.constructor,o=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:we("".concat(n.name,"_").concat(r),(function(){}))}});a.values[t]=o,a[r]=o},Q:(e,r,t)=>{K(e,{name:r=J(r),fromWireType:e=>e,toWireType:(e,r)=>r,argPackAdvance:te,readValueFromPointer:er(r,t),destructorFunction:null})},oa:(e,r,t,n,a,o,i)=>{var s=Ne(r,t);e=J(e),e=je(e),a=Oe(n,a),Ee(e,(function(){We("Cannot call ".concat(e," due to unbound types"),s)}),r-1),q([],s,(t=>{var n=[t[0],null].concat(t.slice(1));return De(e,Re(e,n,null,a,o,i),r-1),[]}))},E:(e,r,t,n,a)=>{r=J(r);var o=e=>e;if(0===n){var i=32-8*t;o=e=>e<<i>>>i}var s=r.includes("unsigned");K(e,{name:r,fromWireType:o,toWireType:s?function(e,r){return this.name,r>>>0}:function(e,r){return this.name,r},argPackAdvance:te,readValueFromPointer:re(r,t,0!==n),destructorFunction:null})},x:(e,r,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][r];function a(e){var r=h[e>>2],t=h[e+4>>2];return new n(d.buffer,t,r)}K(e,{name:t=J(t),fromWireType:a,argPackAdvance:te,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},u:(e,r)=>{Je(e)},V:(e,r,t,n,a,o,i,s,c,u,l,d)=>{t=J(t),o=Oe(a,o),s=Oe(i,s),u=Oe(c,u),d=Oe(l,d),q([e],[r],(e=>(e=e[0],[new Fe(t,e.registeredClass,!1,!1,!0,e,n,o,s,u,d)])))},P:(e,r)=>{var t="std::string"===(r=J(r));K(e,{name:r,fromWireType(e){var r,n=h[e>>2],a=e+4;if(t)for(var o=a,i=0;i<=n;++i){var s=a+i;if(i==n||0==f[s]){var c=ir(o,s-o);void 0===r?r=c:(r+=String.fromCharCode(0),r+=c),o=s+1}}else{var u=new Array(n);for(i=0;i<n;++i)u[i]=String.fromCharCode(f[a+i]);r=u.join("")}return lo(e),r},toWireType(e,r){var n;r instanceof ArrayBuffer&&(r=new Uint8Array(r));var a="string"==typeof r;a||r instanceof Uint8Array||r instanceof Uint8ClampedArray||r instanceof Int8Array||Z("Cannot pass non-string to std::string"),n=t&&a?nr(r):r.length;var o=uo(4+n+1),i=o+4;if(h[o>>2]=n,t&&a)tr(r,i,n+1);else if(a)for(var s=0;s<n;++s){var c=r.charCodeAt(s);c>255&&(lo(i),Z("String has UTF-16 code units that do not fit in 8 bits")),f[i+s]=c}else for(s=0;s<n;++s)f[i+s]=r[s];return null!==e&&e.push(lo,o),o},argPackAdvance:te,readValueFromPointer:$,destructorFunction(e){lo(e)}})},I:(e,r,t)=>{var n,a,o,i;t=J(t),2===r?(n=cr,a=ur,i=lr,o=e=>p[e>>1]):4===r&&(n=dr,a=fr,i=mr,o=e=>h[e>>2]),K(e,{name:t,fromWireType:e=>{for(var t,a=h[e>>2],i=e+4,s=0;s<=a;++s){var c=e+4+s*r;if(s==a||0==o(c)){var u=n(i,c-i);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),i=c+r}}return lo(e),t},toWireType:(e,n)=>{"string"!=typeof n&&Z("Cannot pass non-string to C++ string type ".concat(t));var o=i(n),s=uo(4+o+r);return h[s>>2]=o/r,a(n,s+4,o+r),null!==e&&e.push(lo,s),s},argPackAdvance:te,readValueFromPointer:$,destructorFunction(e){lo(e)}})},Nc:(e,r)=>{Je(e)},m:(e,r,t,n,a,o)=>{G[e]={name:J(r),rawConstructor:Oe(t,n),rawDestructor:Oe(a,o),fields:[]}},d:(e,r,t,n,a,o,i,s,c,u)=>{G[e].fields.push({fieldName:J(r),getterReturnType:t,getter:Oe(n,a),getterContext:o,setterArgumentType:i,setter:Oe(s,c),setterContext:u})},bb:(e,r)=>{K(e,{isVoid:!0,name:r=J(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})},lb:()=>1,db:()=>{throw 1/0},y:(e,r,t)=>(e=qe.toValue(e),r=Ke(r,"emval::as"),pr(r,t,e)),C:(e,r,t,n)=>(e=gr[e])(null,r=qe.toValue(r),t,n),o:(e,r,t,n,a)=>(e=gr[e])(r=qe.toValue(r),r[t=vr(t)],n,a),b:ze,L:e=>0===e?qe.toHandle(yr()):(e=vr(e),qe.toHandle(yr()[e])),k:(e,r,t)=>{var n=((e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=Ke(h[r+4*n>>2],"parameter "+n);return t})(e,r),a=n.shift();e--;var o="return function (obj, func, destructorsRef, args) {\n",i=0,s=[];0===t&&s.push("obj");for(var c=["retType"],u=[a],l=0;l<e;++l)s.push("arg"+l),c.push("argType"+l),u.push(n[l]),o+=" var arg".concat(l," = argType").concat(l,".readValueFromPointer(args").concat(i?"+"+i:"",");\n"),i+=n[l].argPackAdvance;o+=" var rv = ".concat(1===t?"new func":"func.call","(").concat(s.join(", "),");\n"),a.isVoid||(c.push("emval_returnValue"),u.push(pr),o+=" return emval_returnValue(retType, destructorsRef, rv);\n"),o+="};\n",c.push(o);var d,f,m=Ge(Function,c)(...u),p="methodCaller<(".concat(n.map((e=>e.name)).join(", "),") => ").concat(a.name,">");return d=we(p,m),f=gr.length,gr.push(d),f},t:e=>(e=vr(e),qe.toHandle(n[e])),v:(e,r)=>(e=qe.toValue(e),r=qe.toValue(r),qe.toHandle(e[r])),q:e=>{e>9&&(Ye[e+1]+=1)},K:()=>qe.toHandle([]),r:e=>qe.toHandle(vr(e)),J:()=>qe.toHandle({}),g:e=>{var r=qe.toValue(e);R(r),ze(e)},B:(e,r,t)=>{e=qe.toValue(e),r=qe.toValue(r),t=qe.toValue(t),e[r]=t},i:(e,r)=>{var t=(e=Ke(e,"_emval_take_value")).readValueFromPointer(r);return qe.toHandle(t)},gb:function(e,r){var t;e=(t=e)<-9007199254740992||t>9007199254740992?NaN:Number(t);var n=new Date(1e3*e);g[r>>2]=n.getUTCSeconds(),g[r+4>>2]=n.getUTCMinutes(),g[r+8>>2]=n.getUTCHours(),g[r+12>>2]=n.getUTCDate(),g[r+16>>2]=n.getUTCMonth(),g[r+20>>2]=n.getUTCFullYear()-1900,g[r+24>>2]=n.getUTCDay();var a=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),o=(n.getTime()-a)/864e5|0;g[r+28>>2]=o},fb:(e,r,t,n)=>{var a=(new Date).getFullYear(),o=new Date(a,0,1),i=new Date(a,6,1),s=o.getTimezoneOffset(),c=i.getTimezoneOffset(),u=Math.max(s,c);h[e>>2]=60*u,g[r>>2]=Number(s!=c);var l=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],d=l(o),f=l(i);c<s?(tr(d,t,17),tr(f,n,17)):(tr(d,n,17),tr(f,t,17))},O:e=>cancelAnimationFrame(e),T:()=>Date.now(),kb:$e,bd:xr,cd:Pr,Fb:Sr,zb:Ar,dd:Fr,ed:Lr,bc:Dr,cc:kr,Lb:Mr,fd:Or,xc:Wr,Ac:Gr,gd:Rr,hd:$r,id:Nr,Xb:jr,jd:Vr,kd:Hr,dc:Yr,ld:Xr,md:Qr,nd:Zr,Ub:Kr,od:et,pd:rt,qd:tt,W:nt,Wb:at,X:ot,Y:it,Z:st,_:ct,$:ut,ec:lt,aa:dt,Gb:ft,Ab:mt,fc:pt,Mb:gt,ba:ht,Vb:vt,ca:yt,yc:_t,Bc:Tt,da:Et,ea:Ct,fa:xt,ga:Pt,vc:St,sc:At,qc:Lt,ha:Dt,wc:kt,tc:Mt,kc:Ot,ia:Bt,ja:Wt,Hb:Ut,Bb:Gt,Rb:Rt,ka:$t,la:Nt,gc:jt,hc:Vt,ma:Ht,na:Yt,ic:zt,Ib:Xt,Cb:qt,jc:Qt,Nb:Jt,pa:Zt,uc:en,Cc:rn,Zb:tn,qa:nn,ra:an,sa:un,_b:ln,ta:fn,ua:mn,va:pn,wb:hn,xb:vn,Jb:yn,Db:bn,Kb:_n,Eb:wn,$b:Tn,wa:En,tb:Cn,xa:xn,ya:An,zc:Ln,za:Dn,ub:kn,vb:Mn,Sb:On,Aa:Bn,Ba:Wn,Ca:Un,oc:Gn,pc:Rn,Da:$n,yb:Nn,rc:jn,Ea:zn,ac:Xn,Yb:qn,Ob:Qn,Pb:Jn,Qb:Zn,Fa:Kn,Ga:ea,Ha:ra,Ia:ta,Ja:na,Ka:aa,La:oa,Ma:ia,Na:sa,Oa:ca,Pa:ua,Qa:la,Ra:da,lc:fa,Sa:ma,Ta:ga,Ua:va,Zc:ya,_c:_a,$c:wa,ad:Ta,Xc:Ea,Wc:Ca,Vc:xa,Uc:Pa,Tc:Sa,Sc:Aa,Rc:Fa,Qc:La,Dc:Ia,Ec:Da,Fc:ka,Gc:Ma,Hc:Oa,Ic:Ba,Jc:Wa,Kc:Ua,Lc:Ga,Mc:Ra,mc:$a,nc:Na,Oc:ja,Pc:Va,Tb:Ha,G:(e,r)=>requestAnimationFrame((t=>Me(e)(t,r))),eb:e=>{var r=f.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n,a,o=1;o<=4;o*=2){var i=r*(1+.2/o);i=Math.min(i,e+100663296);var s=Math.min(t,(n=Math.max(e,i))+((a=65536)-n%a)%a);if(Ya(s))return!0}return!1},_a:e=>Cr.makeContextCurrent(e)?0:-5,ib:(e,r)=>{var t=0;return Xa().forEach(((n,a)=>{var o=r+t;h[e+4*a>>2]=o,((e,r)=>{for(var t=0;t<e.length;++t)d[r++]=e.charCodeAt(t);d[r]=0})(n,o),t+=n.length+1})),0},jb:(e,r)=>{var t=Xa();h[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),h[r>>2]=n,0},ob:Qa,mb:e=>52,hb:function(e,r,t,n){return 70},S:(e,r,t,n)=>{for(var a,o,i,s=0,c=0;c<t;c++){var d=h[r>>2],m=h[r+4>>2];r+=8;for(var p=0;p<m;p++)a=e,o=f[d+p],i=void 0,i=Ja[a],0===o||10===o?((1===a?u:l)(or(i,0)),i.length=0):i.push(o);s+=m}return h[n>>2]=s,0},Za:Ir,Wa:zr,Ya:qr,Xa:Jr,H:dn,N:Sn,Va:Fn,h:function(e,r){var t=U();try{return Me(e)(r)}catch(e){if(W(t),e!==e+0)throw e;fo(1,0)}},w:function(e,r,t){var n=U();try{return Me(e)(r,t)}catch(e){if(W(n),e!==e+0)throw e;fo(1,0)}},p:function(e,r,t,n){var a=U();try{return Me(e)(r,t,n)}catch(e){if(W(a),e!==e+0)throw e;fo(1,0)}},F:function(e,r,t,n,a){var o=U();try{return Me(e)(r,t,n,a)}catch(e){if(W(o),e!==e+0)throw e;fo(1,0)}},pb:function(e,r,t,n,a,o){var i=U();try{return Me(e)(r,t,n,a,o)}catch(e){if(W(i),e!==e+0)throw e;fo(1,0)}},sb:function(e,r,t,n,a,o,i){var s=U();try{return Me(e)(r,t,n,a,o,i)}catch(e){if(W(s),e!==e+0)throw e;fo(1,0)}},U:function(e,r,t,n,a,o,i,s){var c=U();try{return Me(e)(r,t,n,a,o,i,s)}catch(e){if(W(c),e!==e+0)throw e;fo(1,0)}},M:function(e){var r=U();try{Me(e)()}catch(e){if(W(r),e!==e+0)throw e;fo(1,0)}},j:function(e,r){var t=U();try{Me(e)(r)}catch(e){if(W(t),e!==e+0)throw e;fo(1,0)}},D:function(e,r,t){var n=U();try{Me(e)(r,t)}catch(e){if(W(n),e!==e+0)throw e;fo(1,0)}},z:function(e,r,t,n){var a=U();try{Me(e)(r,t,n)}catch(e){if(W(a),e!==e+0)throw e;fo(1,0)}},A:function(e,r,t,n,a){var o=U();try{Me(e)(r,t,n,a)}catch(e){if(W(o),e!==e+0)throw e;fo(1,0)}},qb:function(e,r,t,n,a,o,i){var s=U();try{Me(e)(r,t,n,a,o,i)}catch(e){if(W(s),e!==e+0)throw e;fo(1,0)}},rb:function(e,r,t,n,a,o,i,s,c,u){var l=U();try{Me(e)(r,t,n,a,o,i,s,c,u)}catch(e){if(W(l),e!==e+0)throw e;fo(1,0)}},cb:(e,r,t,n,a)=>ro(e,r,t,n)},so=function(){var e,t,a,o,i={a:io};function u(e,r){var t;return so=e.exports,c=so.rd,T(),Le=so.vd,t=so.sd,C.unshift(t),function(e){if(0==--P&&S){var r=S;S=null,r()}}(),so}if(P++,n.instantiateWasm)try{return n.instantiateWasm(i,u)}catch(e){l("Module.instantiateWasm callback failed with error: ".concat(e)),r(e)}return F||(F=I()),(e=s,t=F,a=i,o=function(e){u(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||L(t)||"function"!=typeof fetch?k(t,a,o):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,a).then(o,(function(e){return l("wasm streaming compile failed: ".concat(e)),l("falling back to ArrayBuffer instantiation"),k(t,a,o)}))))).catch(r),{}}(),co=e=>(co=so.td)(e),uo=n._malloc=e=>(uo=n._malloc=so.ud)(e),lo=n._free=e=>(lo=n._free=so.wd)(e),fo=(e,r)=>(fo=so.xd)(e,r),mo=e=>(mo=so.yd)(e),po=()=>(po=so.zd)();function go(){P>0||(O(E),P>0||oo||(oo=!0,n.calledRun=!0,w||(O(C),e(n),O(x))))}return n.GL=Cr,S=function e(){oo||go(),oo||(S=e)},go(),a}),he=Object.freeze({__proto__:null,default:ge}),ve=(()=>{var e=document.currentScript&&document.currentScript.src||new URL("comparison-worker.js",document.baseURI).href;return function(){var r,t,n,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=Object.assign({},a),i=new Promise(((e,r)=>{t=e,n=r}));["_malloc","_free","_memory","___indirect_function_table","onRuntimeInitialized"].forEach((e=>{Object.getOwnPropertyDescriptor(i,e)||Object.defineProperty(i,e,{get:()=>O("You are getting "+e+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>O("You are setting "+e+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}));if(o.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");var s=Object.assign({},o),c="";if("undefined"!=typeof document&&document.currentScript&&(c=document.currentScript.src),e&&(c=e),c=c.startsWith("blob:")?"":c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1),"object"!=typeof window&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var u,l,d=o.print||console.log.bind(console),f=o.printErr||console.error.bind(console);Object.assign(o,s),s=null,H("ENVIRONMENT"),H("GL_MAX_TEXTURE_IMAGE_UNITS"),H("SDL_canPlayWithWebAudio"),H("SDL_numSimultaneouslyQueuedBuffers"),H("INITIAL_MEMORY"),H("arguments"),H("canvas"),H("doNotCaptureKeyboard"),H("dynamicLibraries"),H("elementPointerLock"),H("extraStackTrace"),H("forcedAspectRatio"),H("keyboardListeningElement"),H("freePreloadedMediaOnUse"),H("loadSplitModule"),H("logReadFiles"),H("mem"),H("monitorRunDependencies"),H("noInitialRun"),H("onCustomMessage"),H("onExit"),H("onFree"),H("onFullScreen"),H("onMalloc"),H("onRealloc"),H("onRuntimeInitialized"),H("postMainLoop"),H("postRun"),H("preInit"),H("preMainLoop"),H("preRun"),H("preinitializedWebGLContext"),H("preloadPlugins"),H("quit"),H("setStatus"),H("statusMessage"),H("stderr"),H("stdin"),H("stdout"),H("thisProgram"),H("wasm"),H("wasmBinary"),H("websocket"),H("fetchSettings"),V("arguments","arguments_"),V("thisProgram","thisProgram"),V("quit","quit_"),C(void 0===o.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),C(void 0===o.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),C(void 0===o.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),C(void 0===o.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),C(void 0===o.read,"Module.read option was removed (modify read_ in JS)"),C(void 0===o.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),C(void 0===o.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),C(void 0===o.setWindowTitle,"Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"),C(void 0===o.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),V("asm","wasmExports"),V("read","read_"),V("readAsync","readAsync"),V("readBinary","readBinary"),V("setWindowTitle","setWindowTitle"),C(!0,"worker environment detected but not enabled at build time. Add `worker` to `-sENVIRONMENT` to enable."),C(!0,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."),C(!0,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable."),V("wasmBinary","wasmBinary"),"object"!=typeof WebAssembly&&f("no native wasm support detected");var m,p,g,h,v,y,b,_,w,T,E=!1;function C(e,r){e||O("Assertion failed"+(r?": "+r:""))}function x(){var e=l.buffer;m=new Int8Array(e),g=new Int16Array(e),p=new Uint8Array(e),h=new Uint16Array(e),v=new Int32Array(e),y=new Uint32Array(e),b=new Float32Array(e),T=new Float64Array(e),_=new BigInt64Array(e),w=new BigUint64Array(e)}function P(){if(!E){var e=ko();0==e&&(e+=4);var r=y[e>>2],t=y[e+4>>2];34821223==r&&2310721022==t||O("Stack overflow! Stack cookie has been overwritten at ".concat(Z(e),", expected hex dwords 0x89BACDFE and 0x2135467, but received ").concat(Z(t)," ").concat(Z(r))),1668509029!=y[0]&&O("Runtime error: The application has corrupted its heap memory area (address zero)!")}}C(!o.STACK_SIZE,"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"),C("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&null!=Int32Array.prototype.subarray&&null!=Int32Array.prototype.set,"JS engine does not provide full typed array support"),C(!o.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),C(!o.INITIAL_MEMORY,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),r=new Int8Array(e.buffer);if(e[0]=25459,115!==r[0]||99!==r[1])throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"}();var S=[],A=[],F=[],L=!1;C(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),C(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),C(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),C(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var I=0,D=null,k=null,M={};function O(e){var r;null===(r=o.onAbort)||void 0===r||r.call(o,e),f(e="Aborted("+e+")"),E=!0;var t=new WebAssembly.RuntimeError(e);throw n(t),t}var B={error(){O("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM")},init(){B.error()},createDataFile(){B.error()},createPreloadedFile(){B.error()},createLazyFile(){B.error()},open(){B.error()},mkdev(){B.error()},registerDevice(){B.error()},analyzePath(){B.error()},ErrnoError(){B.error()}};o.FS_createDataFile=B.createDataFile,o.FS_createPreloadedFile=B.createPreloadedFile;var W,U=e=>e.startsWith("data:application/octet-stream;base64,"),G=e=>e.startsWith("file://");function R(e,r){return function(){C(L,"native function `".concat(e,"` called before runtime initialization"));var t=Po[e];return C(t,"exported native function `".concat(e,"` not found")),C(arguments.length<=r,"native function `".concat(e,"` called with ").concat(arguments.length," args but expects ").concat(r)),t(...arguments)}}function $(){if(o.locateFile){var e="web-renderer-debug.wasm";return U(e)?e:(r=e,o.locateFile?o.locateFile(r,c):c+r)}var r;return new URL("web-renderer-debug.wasm",document.currentScript&&document.currentScript.src||new URL("comparison-worker.js",document.baseURI).href).href}function N(e){if(e==W&&u)return new Uint8Array(u);throw"both async and sync fetching of the wasm failed"}function j(e,r,t){return function(e){return"function"==typeof fetch?fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '".concat(e,"'");return r.arrayBuffer()})).catch((()=>N(e))):Promise.resolve().then((()=>N(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then(t,(e=>{f("failed to asynchronously prepare wasm: ".concat(e)),G(W)&&f("warning: Loading from a file URI (".concat(W,") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing")),O(e)}))}function V(e,r){var t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];Object.getOwnPropertyDescriptor(o,e)||Object.defineProperty(o,e,{configurable:!0,get(){var n=t?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";O("`Module.".concat(e,"` has been replaced by `").concat(r,"`")+n)}})}function H(e){Object.getOwnPropertyDescriptor(o,e)&&O("`Module.".concat(e,"` was supplied but `").concat(e,"` not included in INCOMING_MODULE_JS_API"))}function Y(e){return"FS_createPath"===e||"FS_createDataFile"===e||"FS_createPreloadedFile"===e||"FS_unlink"===e||"addRunDependency"===e||"FS_createLazyFile"===e||"FS_createDevice"===e||"removeRunDependency"===e}function z(e,r){"undefined"!=typeof globalThis&&Object.defineProperty(globalThis,e,{configurable:!0,get(){re("`".concat(e,"` is not longer defined by emscripten. ").concat(r))}})}function X(e){Object.getOwnPropertyDescriptor(o,e)||Object.defineProperty(o,e,{configurable:!0,get(){var r="'".concat(e,"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)");Y(e)&&(r+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),O(r)}})}function q(e){this.name="ExitStatus",this.message="Program terminated with exit(".concat(e,")"),this.status=e}z("buffer","Please use HEAP8.buffer or wasmMemory.buffer"),z("asm","Please use wasmExports instead");var Q=e=>{for(;e.length>0;)e.shift()(o)},J=o.noExitRuntime||!0,Z=e=>(C("number"==typeof e),"0x"+(e>>>=0).toString(16).padStart(8,"0")),K=e=>Mo(e),ee=()=>Oo(),re=e=>{re.shown||(re.shown={}),re.shown[e]||(re.shown[e]=1,f(e))},te="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,ne=(e,r,t)=>{for(var n=r+t,a=r;e[a]&&!(a>=n);)++a;if(a-r>16&&e.buffer&&te)return te.decode(e.subarray(r,a));for(var o="";r<a;){var i=e[r++];if(128&i){var s=63&e[r++];if(192!=(224&i)){var c=63&e[r++];if(224==(240&i)?i=(15&i)<<12|s<<6|c:(240!=(248&i)&&re("Invalid UTF-8 leading byte "+Z(i)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),i=(7&i)<<18|s<<12|c<<6|63&e[r++]),i<65536)o+=String.fromCharCode(i);else{var u=i-65536;o+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else o+=String.fromCharCode((31&i)<<6|s)}else o+=String.fromCharCode(i)}return o},ae=(e,r)=>(C("number"==typeof e,"UTF8ToString expects a number (got ".concat(typeof e,")")),e?ne(p,e,r):""),oe={},ie=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function se(e){return this.fromWireType(y[e>>2])}var ce,ue,le,de={},fe={},me={},pe=e=>{throw new ce(e)},ge=(e,r,t)=>{function n(r){var n=t(r);n.length!==e.length&&pe("Mismatched type converter count");for(var a=0;a<e.length;++a)be(e[a],n[a])}e.forEach((function(e){me[e]=r}));var a=new Array(r.length),o=[],i=0;r.forEach(((e,r)=>{fe.hasOwnProperty(e)?a[r]=fe[e]:(o.push(e),de.hasOwnProperty(e)||(de[e]=[]),de[e].push((()=>{a[r]=fe[e],++i===o.length&&n(a)})))})),0===o.length&&n(a)},he=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},ve=e=>{for(var r="",t=e;p[t];)r+=ue[p[t++]];return r},ye=e=>{throw new le(e)};function be(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=r.name;if(e||ye('type "'.concat(n,'" must have a positive integer typeid pointer')),fe.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;ye("Cannot register type '".concat(n,"' twice"))}if(fe[e]=r,delete me[e],de.hasOwnProperty(e)){var a=de[e];delete de[e],a.forEach((e=>e()))}}(e,r,t)}var _e,we=(e,r,t)=>{switch(r){case 1:return t?e=>m[e]:e=>p[e];case 2:return t?e=>g[e>>1]:e=>h[e>>1];case 4:return t?e=>v[e>>2]:e=>y[e>>2];case 8:return t?e=>_[e>>3]:e=>w[e>>3];default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}},Te=8,Ee=e=>{ye(e.$$.ptrType.registeredClass.name+" instance already deleted")},Ce=!1,xe=e=>{},Pe=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Se=(e,r,t)=>{if(r===t)return e;if(void 0===t.baseClass)return null;var n=Se(e,r,t.baseClass);return null===n?null:t.downcast(n)},Ae={},Fe=()=>Object.keys(Me).length,Le=()=>{var e=[];for(var r in Me)Me.hasOwnProperty(r)&&e.push(Me[r]);return e},Ie=[],De=()=>{for(;Ie.length;){var e=Ie.pop();e.$$.deleteScheduled=!1,e.delete()}},ke=e=>{_e=e,Ie.length&&_e&&_e(De)},Me={},Oe=(e,r)=>(r=((e,r)=>{for(void 0===r&&ye("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r})(e,r),Me[r]),Be=(e,r)=>(r.ptrType&&r.ptr||pe("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!==!!r.smartPtr&&pe("Both smartPtrType and smartPtr must be specified"),r.count={value:1},Ue(Object.create(e,{$$:{value:r,writable:!0}})));function We(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=Oe(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function a(){return this.isSmartPointer?Be(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):Be(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o,i=this.registeredClass.getActualType(r),s=Ae[i];if(!s)return a.call(this);o=this.isConst?s.constPointerType:s.pointerType;var c=Se(r,this.registeredClass,o.registeredClass);return null===c?a.call(this):this.isSmartPointer?Be(o.registeredClass.instancePrototype,{ptrType:o,ptr:c,smartPtrType:this,smartPtr:e}):Be(o.registeredClass.instancePrototype,{ptrType:o,ptr:c})}var Ue=e=>"undefined"==typeof FinalizationRegistry?(Ue=e=>e,e):(Ce=new FinalizationRegistry((e=>{console.warn(e.leakWarning.stack.replace(/^Error: /,"")),Pe(e.$$)})),Ue=e=>{var r=e.$$;if(!!r.smartPtr){var t={$$:r},n=r.ptrType.registeredClass;t.leakWarning=new Error("Embind found a leaked C++ instance ".concat(n.name," <").concat(Z(r.ptr),">.\n")+"We'll free it automatically in this case, but this functionality is not reliable across various environments.\nMake sure to invoke .delete() manually once you're done with the instance instead.\nOriginally allocated"),"captureStackTrace"in Error&&Error.captureStackTrace(t.leakWarning,We),Ce.register(e,t,e)}return e},xe=e=>Ce.unregister(e),Ue(e));function Ge(){}var Re=(e,r)=>Object.defineProperty(r,"name",{value:e}),$e=(e,r,t)=>{if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return e[r].overloadTable.hasOwnProperty(a.length)||ye("Function '".concat(t,"' called with an invalid number of arguments (").concat(a.length,") - expects one of (").concat(e[r].overloadTable,")!")),e[r].overloadTable[a.length].apply(this,a)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}},Ne=(e,r,t)=>{o.hasOwnProperty(e)?((void 0===t||void 0!==o[e].overloadTable&&void 0!==o[e].overloadTable[t])&&ye("Cannot register public name '".concat(e,"' twice")),$e(o,e,e),o.hasOwnProperty(t)&&ye("Cannot register multiple overloads of a function with the same number of arguments (".concat(t,")!")),o[e].overloadTable[t]=r):(o[e]=r,void 0!==t&&(o[e].numArguments=t))};function je(e,r,t,n,a,o,i,s){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=a,this.getActualType=o,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}var Ve=(e,r,t)=>{for(;r!==t;)r.upcast||ye("Expected null or instance of ".concat(t.name,", got an instance of ").concat(r.name)),e=r.upcast(e),r=r.baseClass;return e};function He(e,r){if(null===r)return this.isReference&&ye("null is not a valid ".concat(this.name)),0;r.$$||ye('Cannot pass "'.concat(he(r),'" as a ').concat(this.name)),r.$$.ptr||ye("Cannot pass deleted object as a pointer of type ".concat(this.name));var t=r.$$.ptrType.registeredClass;return Ve(r.$$.ptr,t,this.registeredClass)}function Ye(e,r){var t;if(null===r)return this.isReference&&ye("null is not a valid ".concat(this.name)),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r&&r.$$||ye('Cannot pass "'.concat(he(r),'" as a ').concat(this.name)),r.$$.ptr||ye("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&r.$$.ptrType.isConst&&ye("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));var n=r.$$.ptrType.registeredClass;if(t=Ve(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&ye("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:ye("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var a=r.clone();t=this.rawShare(t,mr.toHandle((()=>a.delete()))),null!==e&&e.push(this.rawDestructor,t)}break;default:ye("Unsupporting sharing policy")}return t}function ze(e,r){if(null===r)return this.isReference&&ye("null is not a valid ".concat(this.name)),0;r.$$||ye('Cannot pass "'.concat(he(r),'" as a ').concat(this.name)),r.$$.ptr||ye("Cannot pass deleted object as a pointer of type ".concat(this.name)),r.$$.ptrType.isConst&&ye("Cannot convert argument of type ".concat(r.$$.ptrType.name," to parameter type ").concat(this.name));var t=r.$$.ptrType.registeredClass;return Ve(r.$$.ptr,t,this.registeredClass)}function Xe(e,r,t,n,a,o,i,s,c,u,l){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=a,this.pointeeType=o,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,a||void 0!==r.baseClass?this.toWireType=Ye:n?(this.toWireType=He,this.destructorFunction=null):(this.toWireType=ze,this.destructorFunction=null)}var qe,Qe,Je=(e,r,t)=>{o.hasOwnProperty(e)||pe("Replacing nonexistent public symbol"),void 0!==o[e].overloadTable&&void 0!==t?o[e].overloadTable[t]=r:(o[e]=r,o[e].argCount=t)},Ze=[],Ke=e=>{var r=Ze[e];return r||(e>=Ze.length&&(Ze.length=e+1),Ze[e]=r=qe.get(e)),C(qe.get(e)==r,"JavaScript-side Wasm function table mirror is out of date!"),r},er=(e,r)=>{e=ve(e);var t=Ke(r);return"function"!=typeof t&&ye("unknown function pointer with signature ".concat(e,": ").concat(r)),t},rr=e=>{var r=So(e),t=ve(r);return Fo(r),t},tr=(e,r)=>{var t=[],n={};throw r.forEach((function e(r){n[r]||fe[r]||(me[r]?me[r].forEach(e):(t.push(r),n[r]=!0))})),new Qe("".concat(e,": ")+t.map(rr).join([", "]))};function nr(e){for(var r=1;r<e.length;++r)if(null!==e[r]&&void 0===e[r].destructorFunction)return!0;return!1}function ar(e,r){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var t=Re(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var n=new t,a=e.apply(n,r);return a instanceof Object?a:n}function or(e,r,t,n,a,o){var i=r.length;i<2&&ye("argTypes array size mismatch! Must at least get return value and 'this' types!"),C(!o,"Async bindings are only supported with JSPI.");for(var s=null!==r[1]&&null!==t,c=nr(r),u="void"!==r[0].name,l=[e,ye,n,a,ie,r[0],r[1]],d=0;d<i-2;++d)l.push(r[d+2]);if(!c)for(d=s?1:2;d<r.length;++d)null!==r[d].destructorFunction&&l.push(r[d].destructorFunction);var[f,m]=function(e,r,t,n){for(var a=nr(e),o=e.length,i="",s="",c=0;c<o-2;++c)i+=(0!==c?", ":"")+"arg"+c,s+=(0!==c?", ":"")+"arg"+c+"Wired";var u="\n return function (".concat(i,") {\n if (arguments.length !== ").concat(o-2,") {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ").concat(o-2,"');\n }");a&&(u+="var destructors = [];\n");var l=a?"destructors":"null",d=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(r&&(u+="var thisWired = classParam['toWireType']("+l+", this);\n"),c=0;c<o-2;++c)u+="var arg"+c+"Wired = argType"+c+"['toWireType']("+l+", arg"+c+");\n",d.push("argType"+c);if(r&&(s="thisWired"+(s.length>0?", ":"")+s),u+=(t||n?"var rv = ":"")+"invoker(fn"+(s.length>0?", ":"")+s+");\n",a)u+="runDestructors(destructors);\n";else for(c=r?1:2;c<e.length;++c){var f=1===c?"thisWired":"arg"+(c-2)+"Wired";null!==e[c].destructorFunction&&(u+="".concat(f,"_dtor(").concat(f,");\n"),d.push("".concat(f,"_dtor")))}return t&&(u+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),u+="}\n",[d,u="if (arguments.length !== ".concat(d.length,'){ throw new Error(humanName + "Expected ').concat(d.length,' closure arguments " + arguments.length + " given."); }\n').concat(u)]}(r,s,u,o);f.push(m);var p=ar(Function,f)(...l);return Re(e,p)}var ir=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(y[r+4*n>>2]);return t},sr=e=>{var r=(e=e.trim()).indexOf("(");return-1!==r?(C(")"==e[e.length-1],"Parentheses for argument names should match."),e.substr(0,r)):e},cr=(e,r,t)=>(e instanceof Object||ye("".concat(t,' with invalid "this": ').concat(e)),e instanceof r.registeredClass.constructor||ye("".concat(t,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||ye("cannot call emscripten binding method ".concat(t," on deleted object")),Ve(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),ur=[],lr=[],dr=e=>{e>9&&0==--lr[e+1]&&(C(void 0!==lr[e],"Decref for unallocated handle."),lr[e]=void 0,ur.push(e))},fr=()=>lr.length/2-5-ur.length,mr={toValue:e=>(e||ye("Cannot use deleted val. handle = "+e),C(2===e||void 0!==lr[e]&&e%2==0,"invalid handle: ".concat(e)),lr[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:var r=ur.pop()||lr.length;return lr[r]=e,lr[r+1]=1,r}}},pr={name:"emscripten::val",fromWireType:e=>{var r=mr.toValue(e);return dr(e),r},toWireType:(e,r)=>mr.toHandle(r),argPackAdvance:Te,readValueFromPointer:se,destructorFunction:null},gr=e=>be(e,pr),hr=(e,r,t)=>{switch(r){case 1:return t?function(e){return this.fromWireType(m[e])}:function(e){return this.fromWireType(p[e])};case 2:return t?function(e){return this.fromWireType(g[e>>1])}:function(e){return this.fromWireType(h[e>>1])};case 4:return t?function(e){return this.fromWireType(v[e>>2])}:function(e){return this.fromWireType(y[e>>2])};default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}},vr=(e,r)=>{var t=fe[e];return void 0===t&&ye("".concat(r," has unknown type ").concat(rr(e))),t},yr=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(b[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError("invalid float width (".concat(r,"): ").concat(e))}},br=(e,r,t,n)=>{if(C("string"==typeof e,"stringToUTF8Array expects a string (got ".concat(typeof e,")")),!(n>0))return 0;for(var a=t,o=t+n-1,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(s<=127){if(t>=o)break;r[t++]=s}else if(s<=2047){if(t+1>=o)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=o)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=o)break;s>1114111&&re("Invalid Unicode code point "+Z(s)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-a},_r=(e,r,t)=>(C("number"==typeof t,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),br(e,p,r,t)),wr=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},Tr="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Er=(e,r)=>{C(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var t=e,n=t>>1,a=n+r/2;!(n>=a)&&h[n];)++n;if((t=n<<1)-e>32&&Tr)return Tr.decode(p.subarray(e,t));for(var o="",i=0;!(i>=r/2);++i){var s=g[e+2*i>>1];if(0==s)break;o+=String.fromCharCode(s)}return o},Cr=(e,r,t)=>{var n;if(C(r%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),C("number"==typeof t,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),null!==(n=t)&&void 0!==n||(t=2147483647),t<2)return 0;for(var a=r,o=(t-=2)<2*e.length?t/2:e.length,i=0;i<o;++i){var s=e.charCodeAt(i);g[r>>1]=s,r+=2}return g[r>>1]=0,r-a},xr=e=>2*e.length,Pr=(e,r)=>{C(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var t=0,n="";!(t>=r/4);){var a=v[e+4*t>>2];if(0==a)break;if(++t,a>=65536){var o=a-65536;n+=String.fromCharCode(55296|o>>10,56320|1023&o)}else n+=String.fromCharCode(a)}return n},Sr=(e,r,t)=>{var n;if(C(r%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),C("number"==typeof t,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),null!==(n=t)&&void 0!==n||(t=2147483647),t<4)return 0;for(var a=r,o=a+t-4,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(v[r>>2]=s,(r+=4)+4>o)break}return v[r>>2]=0,r-a},Ar=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&++t,r+=4}return r},Fr=(e,r,t)=>{var n=[],a=e.toWireType(n,t);return n.length&&(y[r>>2]=mr.toHandle(n)),a},Lr=[],Ir={},Dr=e=>{var r=Ir[e];return void 0===r?ve(e):r},kr=()=>"object"==typeof globalThis?globalThis:Function("return this")();var Mr;Mr=()=>performance.now();var Or=e=>{var r=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(e.getSupportedExtensions()||[]).filter((e=>r.includes(e)))},Br={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:e=>{Br.lastError||(Br.lastError=e)},getNewId:e=>{for(var r=Br.counter++,t=e.length;t<r;t++)e[t]=null;return r},genObject:(e,r,t,n)=>{for(var a=0;a<e;a++){var o=_o[t](),i=o&&Br.getNewId(n);o?(o.name=i,n[i]=o):Br.recordError(1282),v[r+4*a>>2]=i}},getSource:(e,r,t,n)=>{for(var a="",o=0;o<r;++o){var i=n?y[n+4*o>>2]:void 0;a+=ae(y[t+4*o>>2],i)}return a},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){function n(r,t){var n=e.getContextSafariWebGL2Fixed(r,t);return"webgl"==r==n instanceof WebGLRenderingContext?n:null}e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=n}var t=r.majorVersion>1?e.getContext("webgl2",r):e.getContext("webgl",r);return t?Br.registerContext(t,r):0},registerContext:(e,r)=>{var t=Br.getNewId(Br.contexts),n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),Br.contexts[t]=n,(void 0===r.enableExtensionsByDefault||r.enableExtensionsByDefault)&&Br.initExtensions(n),t},makeContextCurrent:e=>{var r;return Br.currentContext=Br.contexts[e],o.ctx=_o=null===(r=Br.currentContext)||void 0===r?void 0:r.GLctx,!(e&&!_o)},getContext:e=>Br.contexts[e],deleteContext:e=>{Br.currentContext===Br.contexts[e]&&(Br.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(Br.contexts[e].GLctx.canvas),Br.contexts[e]&&Br.contexts[e].GLctx.canvas&&(Br.contexts[e].GLctx.canvas.GLctxObject=void 0),Br.contexts[e]=null},initExtensions:e=>{if(e||(e=Br.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r,t=e.GLctx;(e=>{var r=e.getExtension("ANGLE_instanced_arrays");if(r)e.vertexAttribDivisor=(e,t)=>r.vertexAttribDivisorANGLE(e,t),e.drawArraysInstanced=(e,t,n,a)=>r.drawArraysInstancedANGLE(e,t,n,a),e.drawElementsInstanced=(e,t,n,a,o)=>r.drawElementsInstancedANGLE(e,t,n,a,o)})(t),(e=>{var r=e.getExtension("OES_vertex_array_object");if(r)e.createVertexArray=()=>r.createVertexArrayOES(),e.deleteVertexArray=e=>r.deleteVertexArrayOES(e),e.bindVertexArray=e=>r.bindVertexArrayOES(e),e.isVertexArray=e=>r.isVertexArrayOES(e)})(t),(e=>{var r=e.getExtension("WEBGL_draw_buffers");if(r)e.drawBuffers=(e,t)=>r.drawBuffersWEBGL(e,t)})(t),(r=t).dibvbi=r.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),(e=>{e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")})(t),e.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),(e=>{e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")})(t),Or(t).forEach((e=>{e.includes("lose_context")||e.includes("debug")||t.getExtension(e)}))}}},Wr=e=>_o.activeTexture(e),Ur=(e,r)=>{_o.attachShader(Br.programs[e],Br.shaders[r])},Gr=(e,r)=>{_o.beginQuery(e,Br.queries[r])},Rr=(e,r)=>{_o.disjointTimerQueryExt.beginQueryEXT(e,Br.queries[r])},$r=(e,r,t)=>{_o.bindAttribLocation(Br.programs[e],r,ae(t))},Nr=(e,r)=>{35051==e?_o.currentPixelPackBufferBinding=r:35052==e&&(_o.currentPixelUnpackBufferBinding=r),_o.bindBuffer(e,Br.buffers[r])},jr=(e,r)=>{_o.bindFramebuffer(e,Br.framebuffers[r])},Vr=jr,Hr=(e,r)=>{_o.bindRenderbuffer(e,Br.renderbuffers[r])},Yr=(e,r)=>{_o.bindSampler(e,Br.samplers[r])},zr=(e,r)=>{_o.bindTexture(e,Br.textures[r])},Xr=e=>{_o.bindVertexArray(Br.vaos[e])},qr=Xr,Qr=Xr,Jr=Qr,Zr=(e,r,t,n)=>_o.blendColor(e,r,t,n),Kr=e=>_o.blendEquation(e),et=(e,r)=>_o.blendFunc(e,r),rt=(e,r,t,n,a,o,i,s,c,u)=>_o.blitFramebuffer(e,r,t,n,a,o,i,s,c,u),tt=(e,r,t,n)=>{Br.currentContext.version>=2?t&&r?_o.bufferData(e,p,n,t,r):_o.bufferData(e,r,n):_o.bufferData(e,t?p.subarray(t,t+r):r,n)},nt=(e,r,t,n)=>{Br.currentContext.version>=2?t&&_o.bufferSubData(e,r,p,n,t):_o.bufferSubData(e,r,p.subarray(n,n+t))},at=e=>_o.checkFramebufferStatus(e),ot=e=>_o.clear(e),it=ot,st=(e,r,t,n)=>_o.clearColor(e,r,t,n),ct=st,ut=e=>_o.clearStencil(e),lt=ut,dt=(e,r,t)=>(t=Number(t),_o.clientWaitSync(Br.syncs[e],r,t)),ft=(e,r,t,n)=>{_o.colorMask(!!e,!!r,!!t,!!n)},mt=e=>{_o.compileShader(Br.shaders[e])},pt=(e,r,t,n,a,o,i,s)=>{if(Br.currentContext.version>=2)return _o.currentPixelUnpackBufferBinding||!i?void _o.compressedTexImage2D(e,r,t,n,a,o,i,s):void _o.compressedTexImage2D(e,r,t,n,a,o,p,s,i);_o.compressedTexImage2D(e,r,t,n,a,o,s?p.subarray(s,s+i):null)},gt=(e,r,t,n,a,o,i,s,c)=>{if(Br.currentContext.version>=2)return _o.currentPixelUnpackBufferBinding||!s?void _o.compressedTexSubImage2D(e,r,t,n,a,o,i,s,c):void _o.compressedTexSubImage2D(e,r,t,n,a,o,i,p,c,s);_o.compressedTexSubImage2D(e,r,t,n,a,o,i,c?p.subarray(c,c+s):null)},ht=(e,r,t,n,a)=>_o.copyBufferSubData(e,r,t,n,a),vt=(e,r,t,n,a,o,i,s)=>_o.copyTexSubImage2D(e,r,t,n,a,o,i,s),yt=()=>{var e=Br.getNewId(Br.programs),r=_o.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,Br.programs[e]=r,e},bt=e=>{var r=Br.getNewId(Br.shaders);return Br.shaders[r]=_o.createShader(e),r},_t=e=>_o.cullFace(e),wt=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],a=Br.buffers[n];a&&(_o.deleteBuffer(a),a.name=0,Br.buffers[n]=null,n==_o.currentPixelPackBufferBinding&&(_o.currentPixelPackBufferBinding=0),n==_o.currentPixelUnpackBufferBinding&&(_o.currentPixelUnpackBufferBinding=0))}},Tt=(e,r)=>{for(var t=0;t<e;++t){var n=v[r+4*t>>2],a=Br.framebuffers[n];a&&(_o.deleteFramebuffer(a),a.name=0,Br.framebuffers[n]=null)}},Et=e=>{if(e){var r=Br.programs[e];r?(_o.deleteProgram(r),r.name=0,Br.programs[e]=null):Br.recordError(1281)}},Ct=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],a=Br.queries[n];a&&(_o.deleteQuery(a),Br.queries[n]=null)}},xt=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],a=Br.queries[n];a&&(_o.disjointTimerQueryExt.deleteQueryEXT(a),Br.queries[n]=null)}},Pt=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],a=Br.renderbuffers[n];a&&(_o.deleteRenderbuffer(a),a.name=0,Br.renderbuffers[n]=null)}},St=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],a=Br.samplers[n];a&&(_o.deleteSampler(a),a.name=0,Br.samplers[n]=null)}},At=e=>{if(e){var r=Br.shaders[e];r?(_o.deleteShader(r),Br.shaders[e]=null):Br.recordError(1281)}},Ft=e=>{if(e){var r=Br.syncs[e];r?(_o.deleteSync(r),r.name=0,Br.syncs[e]=null):Br.recordError(1281)}},Lt=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],a=Br.textures[n];a&&(_o.deleteTexture(a),a.name=0,Br.textures[n]=null)}},It=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2];_o.deleteVertexArray(Br.vaos[n]),Br.vaos[n]=null}},Dt=It,kt=It,Mt=kt,Ot=e=>{_o.depthMask(!!e)},Bt=e=>_o.disable(e),Wt=e=>{_o.disableVertexAttribArray(e)},Ut=(e,r,t)=>{_o.drawArrays(e,r,t)},Gt=(e,r,t,n)=>{_o.drawArraysInstanced(e,r,t,n)},Rt=(e,r,t,n,a)=>{_o.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,r,t,n,a)},$t=[],Nt=(e,r)=>{for(var t=$t[e],n=0;n<e;n++)t[n]=v[r+4*n>>2];_o.drawBuffers(t)},jt=(e,r,t,n)=>{_o.drawElements(e,r,t,n)},Vt=jt,Ht=(e,r,t,n,a)=>{_o.drawElementsInstanced(e,r,t,n,a)},Yt=(e,r,t,n,a,o,i)=>{_o.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,r,t,n,a,o,i)},zt=(e,r,t,n,a,o)=>{jt(e,n,a,o)},Xt=e=>_o.enable(e),qt=e=>{_o.enableVertexAttribArray(e)},Qt=e=>_o.endQuery(e),Jt=e=>{_o.disjointTimerQueryExt.endQueryEXT(e)},Zt=(e,r)=>{var t=_o.fenceSync(e,r);if(t){var n=Br.getNewId(Br.syncs);return t.name=n,Br.syncs[n]=t,n}return 0},Kt=()=>_o.finish(),en=()=>_o.flush(),rn=(e,r,t,n)=>{_o.framebufferRenderbuffer(e,r,t,Br.renderbuffers[n])},tn=(e,r,t,n,a)=>{_o.framebufferTexture2D(e,r,t,Br.textures[n],a)},nn=e=>_o.frontFace(e),an=(e,r)=>{Br.genObject(e,r,"createBuffer",Br.buffers)},on=(e,r)=>{Br.genObject(e,r,"createFramebuffer",Br.framebuffers)},sn=(e,r)=>{Br.genObject(e,r,"createQuery",Br.queries)},cn=(e,r)=>{for(var t=0;t<e;t++){var n=_o.disjointTimerQueryExt.createQueryEXT();if(!n){for(Br.recordError(1282);t<e;)v[r+4*t++>>2]=0;return}var a=Br.getNewId(Br.queries);n.name=a,Br.queries[a]=n,v[r+4*t>>2]=a}},un=(e,r)=>{Br.genObject(e,r,"createRenderbuffer",Br.renderbuffers)},ln=(e,r)=>{Br.genObject(e,r,"createSampler",Br.samplers)},dn=(e,r)=>{Br.genObject(e,r,"createTexture",Br.textures)},fn=(e,r)=>{Br.genObject(e,r,"createVertexArray",Br.vaos)},mn=fn,pn=fn,gn=pn,hn=e=>_o.generateMipmap(e),vn=(e,r,t)=>{t?v[t>>2]=_o.getBufferParameter(e,r):Br.recordError(1281)},yn=()=>{var e=_o.getError()||Br.lastError;return Br.lastError=0,e},bn=(e,r)=>{y[e>>2]=r;var t=y[e>>2];y[e+4>>2]=(r-t)/4294967296;var n=r>=0?(e=>y[e>>2]+4294967296*y[e+4>>2])(e):(e=>y[e>>2]+4294967296*v[e+4>>2])(e),a=e>>2;n!=r&&re("writeI53ToI64() out of range: serialized JS Number ".concat(r," to Wasm heap as bytes lo=").concat(Z(y[a]),", hi=").concat(Z(y[a+1]),", which deserializes back to ").concat(n," instead!"))},_n=function(){var e=Or(_o);return e=e.concat(e.map((e=>"GL_"+e)))},wn=(e,r,t)=>{if(r){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=t&&1!=t&&Br.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var a=_o.getParameter(34467);n=a?a.length:0;break;case 33309:if(Br.currentContext.version<2)return void Br.recordError(1282);n=_n().length;break;case 33307:case 33308:if(Br.currentContext.version<2)return void Br.recordError(1280);n=33307==e?3:0}if(void 0===n){var o=_o.getParameter(e);switch(typeof o){case"number":n=o;break;case"boolean":n=o?1:0;break;case"string":return void Br.recordError(1280);case"object":if(null===o)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Br.recordError(1280)}else{if(o instanceof Float32Array||o instanceof Uint32Array||o instanceof Int32Array||o instanceof Array){for(var i=0;i<o.length;++i)switch(t){case 0:v[r+4*i>>2]=o[i];break;case 2:b[r+4*i>>2]=o[i];break;case 4:m[r+i]=o[i]?1:0}return}try{n=0|o.name}catch(r){return Br.recordError(1280),void f("GL_INVALID_ENUM in glGet".concat(t,"v: Unknown object returned from WebGL getParameter(").concat(e,")! (error: ").concat(r,")"))}}break;default:return Br.recordError(1280),void f("GL_INVALID_ENUM in glGet".concat(t,"v: Native code calling glGet").concat(t,"v(").concat(e,") and it returns ").concat(o," of type ").concat(typeof o,"!"))}}switch(t){case 1:bn(r,n);break;case 0:v[r>>2]=n;break;case 2:b[r>>2]=n;break;case 4:m[r]=n?1:0}}else Br.recordError(1281)},Tn=(e,r)=>wn(e,r,2),En=(e,r,t,n)=>{var a=_o.getFramebufferAttachmentParameter(e,r,t);(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)&&(a=0|a.name),v[n>>2]=a},Cn=(e,r)=>wn(e,r,0),xn=Cn,Pn=(e,r,t,n)=>{var a=_o.getProgramInfoLog(Br.programs[e]);null===a&&(a="(unknown error)");var o=r>0&&n?_r(a,n,r):0;t&&(v[t>>2]=o)},Sn=(e,r,t)=>{if(t)if(e>=Br.counter)Br.recordError(1281);else if(e=Br.programs[e],35716==r){var n=_o.getProgramInfoLog(e);null===n&&(n="(unknown error)"),v[t>>2]=n.length+1}else if(35719==r){if(!e.maxUniformLength)for(var a=0;a<_o.getProgramParameter(e,35718);++a)e.maxUniformLength=Math.max(e.maxUniformLength,_o.getActiveUniform(e,a).name.length+1);v[t>>2]=e.maxUniformLength}else if(35722==r){if(!e.maxAttributeLength)for(a=0;a<_o.getProgramParameter(e,35721);++a)e.maxAttributeLength=Math.max(e.maxAttributeLength,_o.getActiveAttrib(e,a).name.length+1);v[t>>2]=e.maxAttributeLength}else if(35381==r){if(!e.maxUniformBlockNameLength)for(a=0;a<_o.getProgramParameter(e,35382);++a)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,_o.getActiveUniformBlockName(e,a).length+1);v[t>>2]=e.maxUniformBlockNameLength}else v[t>>2]=_o.getProgramParameter(e,r);else Br.recordError(1281)},An=(e,r,t)=>{if(t){var n,a=Br.queries[e];n=Br.currentContext.version<2?_o.disjointTimerQueryExt.getQueryObjectEXT(a,r):_o.getQueryParameter(a,r),bn(t,"boolean"==typeof n?n?1:0:n)}else Br.recordError(1281)},Fn=An,Ln=An,In=(e,r,t)=>{if(t){var n,a=Br.queries[e],o=_o.getQueryParameter(a,r);n="boolean"==typeof o?o?1:0:o,v[t>>2]=n}else Br.recordError(1281)},Dn=(e,r,t)=>{if(t){var n,a=Br.queries[e],o=_o.disjointTimerQueryExt.getQueryObjectEXT(a,r);n="boolean"==typeof o?o?1:0:o,v[t>>2]=n}else Br.recordError(1281)},kn=(e,r,t)=>{t?v[t>>2]=_o.getQuery(e,r):Br.recordError(1281)},Mn=(e,r,t)=>{t?v[t>>2]=_o.disjointTimerQueryExt.getQueryEXT(e,r):Br.recordError(1281)},On=(e,r,t)=>{t?v[t>>2]=_o.getRenderbufferParameter(e,r):Br.recordError(1281)},Bn=(e,r,t,n)=>{var a=_o.getShaderInfoLog(Br.shaders[e]);null===a&&(a="(unknown error)");var o=r>0&&n?_r(a,n,r):0;t&&(v[t>>2]=o)},Wn=(e,r,t,n)=>{var a=_o.getShaderPrecisionFormat(e,r);v[t>>2]=a.rangeMin,v[t+4>>2]=a.rangeMax,v[n>>2]=a.precision},Un=(e,r,t)=>{if(t)if(35716==r){var n=_o.getShaderInfoLog(Br.shaders[e]);null===n&&(n="(unknown error)");var a=n?n.length+1:0;v[t>>2]=a}else if(35720==r){var o=_o.getShaderSource(Br.shaders[e]),i=o?o.length+1:0;v[t>>2]=i}else v[t>>2]=_o.getShaderParameter(Br.shaders[e],r);else Br.recordError(1281)},Gn=e=>{var r=wr(e)+1,t=Ao(r);return t&&_r(e,t,r),t},Rn=e=>{var r=Br.stringCache[e];if(!r){switch(e){case 7939:r=Gn(_n().join(" "));break;case 7936:case 7937:case 37445:case 37446:var t=_o.getParameter(e);t||Br.recordError(1280),r=t?Gn(t):0;break;case 7938:var n=_o.getParameter(7938);n=Br.currentContext.version>=2?"OpenGL ES 3.0 (".concat(n,")"):"OpenGL ES 2.0 (".concat(n,")"),r=Gn(n);break;case 35724:var a=_o.getParameter(35724),o=a.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==o&&(3==o[1].length&&(o[1]=o[1]+"0"),a="OpenGL ES GLSL ES ".concat(o[1]," (").concat(a,")")),r=Gn(a);break;default:Br.recordError(1280)}Br.stringCache[e]=r}return r},$n=Rn,Nn=(e,r)=>{if(Br.currentContext.version<2)return Br.recordError(1282),0;var t=Br.stringiCache[e];if(t)return r<0||r>=t.length?(Br.recordError(1281),0):t[r];if(7939===e){var n=_n().map(Gn);return t=Br.stringiCache[e]=n,r<0||r>=t.length?(Br.recordError(1281),0):t[r]}return Br.recordError(1280),0},jn=Nn,Vn=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Hn=(e,r)=>{if(r=ae(r),e=Br.programs[e]){(e=>{var r,t,n=e.uniformLocsById,a=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},r=0;r<_o.getProgramParameter(e,35718);++r){var o=_o.getActiveUniform(e,r),i=o.name,s=o.size,c=Vn(i),u=c>0?i.slice(0,c):i,l=e.uniformIdCounter;for(e.uniformIdCounter+=s,a[u]=[s,l],t=0;t<s;++t)n[l]=t,e.uniformArrayNamesById[l++]=u}})(e);var t=e.uniformLocsById,n=0,a=r,o=Vn(r);o>0&&(s=r.slice(o+1),n=parseInt(s)>>>0,a=r.slice(0,o));var i=e.uniformSizeAndIdsByName[a];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||_o.getUniformLocation(e,r)))return n}else Br.recordError(1281);var s;return-1},Yn=(e,r,t)=>{for(var n=$t[r],a=0;a<r;a++)n[a]=v[t+4*a>>2];_o.invalidateFramebuffer(e,n)},zn=(e,r,t,n,a,o,i)=>{for(var s=$t[r],c=0;c<r;c++)s[c]=v[t+4*c>>2];_o.invalidateSubFramebuffer(e,s,n,a,o,i)},Xn=e=>_o.isSync(Br.syncs[e]),qn=e=>{var r=Br.textures[e];return r?_o.isTexture(r):0},Qn=e=>_o.lineWidth(e),Jn=e=>{e=Br.programs[e],_o.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Zn=(e,r,t,n,a,o)=>{_o.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,v,r>>2,v,t>>2,v,n>>2,y,a>>2,o)},Kn=(e,r,t,n,a,o,i,s)=>{_o.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,v,r>>2,t,v,n>>2,v,a>>2,v,o>>2,y,i>>2,s)},ea=(e,r)=>{3317==e&&(Br.unpackAlignment=r),_o.pixelStorei(e,r)},ra=(e,r)=>{_o.disjointTimerQueryExt.queryCounterEXT(Br.queries[e],r)},ta=e=>_o.readBuffer(e),na=e=>0==(e-=5120)?m:1==e?p:2==e?g:4==e?v:6==e?b:5==e||28922==e||28520==e||30779==e||30782==e?y:h,aa=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),oa=(e,r,t,n,a,o)=>{var i=na(e),s=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(r)*i.BYTES_PER_ELEMENT,c=((e,r,t,n)=>{var a;return r*(e*t+(a=n)-1&-a)})(t,n,s,Br.unpackAlignment);return i.subarray(aa(a,i),aa(a+c,i))},ia=(e,r,t,n,a,o,i)=>{if(Br.currentContext.version>=2){if(_o.currentPixelPackBufferBinding)return void _o.readPixels(e,r,t,n,a,o,i);var s=na(o),c=aa(i,s);_o.readPixels(e,r,t,n,a,o,s,c)}else{var u=oa(o,a,t,n,i);u?_o.readPixels(e,r,t,n,a,o,u):Br.recordError(1280)}},sa=(e,r,t,n)=>_o.renderbufferStorage(e,r,t,n),ca=(e,r,t,n,a)=>_o.renderbufferStorageMultisample(e,r,t,n,a),ua=(e,r,t)=>{_o.samplerParameterf(Br.samplers[e],r,t)},la=(e,r,t)=>{_o.samplerParameteri(Br.samplers[e],r,t)},da=(e,r,t)=>{var n=v[t>>2];_o.samplerParameteri(Br.samplers[e],r,n)},fa=(e,r,t,n)=>_o.scissor(e,r,t,n),ma=(e,r,t,n)=>{var a=Br.getSource(e,r,t,n);_o.shaderSource(Br.shaders[e],a)},pa=(e,r,t)=>_o.stencilFunc(e,r,t),ga=(e,r,t,n)=>_o.stencilFuncSeparate(e,r,t,n),ha=e=>_o.stencilMask(e),va=(e,r)=>_o.stencilMaskSeparate(e,r),ya=(e,r,t)=>_o.stencilOp(e,r,t),ba=(e,r,t,n)=>_o.stencilOpSeparate(e,r,t,n),_a=(e,r,t,n,a,o,i,s,c)=>{if(Br.currentContext.version>=2){if(_o.currentPixelUnpackBufferBinding)return void _o.texImage2D(e,r,t,n,a,o,i,s,c);if(c){var u=na(s),l=aa(c,u);return void _o.texImage2D(e,r,t,n,a,o,i,s,u,l)}}var d=c?oa(s,i,n,a,c):null;_o.texImage2D(e,r,t,n,a,o,i,s,d)},wa=(e,r,t)=>_o.texParameterf(e,r,t),Ta=(e,r,t)=>{var n=b[t>>2];_o.texParameterf(e,r,n)},Ea=(e,r,t)=>_o.texParameteri(e,r,t),Ca=(e,r,t)=>{var n=v[t>>2];_o.texParameteri(e,r,n)},xa=(e,r,t,n,a)=>_o.texStorage2D(e,r,t,n,a),Pa=(e,r,t,n,a,o,i,s,c)=>{if(Br.currentContext.version>=2){if(_o.currentPixelUnpackBufferBinding)return void _o.texSubImage2D(e,r,t,n,a,o,i,s,c);if(c){var u=na(s);return void _o.texSubImage2D(e,r,t,n,a,o,i,s,u,aa(c,u))}}var l=c?oa(s,i,a,o,c):null;_o.texSubImage2D(e,r,t,n,a,o,i,s,l)},Sa=e=>{var r=_o.currentProgram;if(r){var t=r.uniformLocsById[e];return"number"==typeof t&&(r.uniformLocsById[e]=t=_o.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?"[".concat(t,"]"):""))),t}Br.recordError(1282)},Aa=(e,r)=>{_o.uniform1f(Sa(e),r)},Fa=[],La=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform1fv(Sa(e),b,t>>2,r);else{if(r<=288)for(var n=Fa[r],a=0;a<r;++a)n[a]=b[t+4*a>>2];else n=b.subarray(t>>2,t+4*r>>2);_o.uniform1fv(Sa(e),n)}},Ia=(e,r)=>{_o.uniform1i(Sa(e),r)},Da=[],ka=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform1iv(Sa(e),v,t>>2,r);else{if(r<=288)for(var n=Da[r],a=0;a<r;++a)n[a]=v[t+4*a>>2];else n=v.subarray(t>>2,t+4*r>>2);_o.uniform1iv(Sa(e),n)}},Ma=(e,r,t)=>{_o.uniform2f(Sa(e),r,t)},Oa=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform2fv(Sa(e),b,t>>2,2*r);else{if(r<=144)for(var n=Fa[2*r],a=0;a<2*r;a+=2)n[a]=b[t+4*a>>2],n[a+1]=b[t+(4*a+4)>>2];else n=b.subarray(t>>2,t+8*r>>2);_o.uniform2fv(Sa(e),n)}},Ba=(e,r,t)=>{_o.uniform2i(Sa(e),r,t)},Wa=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform2iv(Sa(e),v,t>>2,2*r);else{if(r<=144)for(var n=Da[2*r],a=0;a<2*r;a+=2)n[a]=v[t+4*a>>2],n[a+1]=v[t+(4*a+4)>>2];else n=v.subarray(t>>2,t+8*r>>2);_o.uniform2iv(Sa(e),n)}},Ua=(e,r,t,n)=>{_o.uniform3f(Sa(e),r,t,n)},Ga=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform3fv(Sa(e),b,t>>2,3*r);else{if(r<=96)for(var n=Fa[3*r],a=0;a<3*r;a+=3)n[a]=b[t+4*a>>2],n[a+1]=b[t+(4*a+4)>>2],n[a+2]=b[t+(4*a+8)>>2];else n=b.subarray(t>>2,t+12*r>>2);_o.uniform3fv(Sa(e),n)}},Ra=(e,r,t,n)=>{_o.uniform3i(Sa(e),r,t,n)},$a=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform3iv(Sa(e),v,t>>2,3*r);else{if(r<=96)for(var n=Da[3*r],a=0;a<3*r;a+=3)n[a]=v[t+4*a>>2],n[a+1]=v[t+(4*a+4)>>2],n[a+2]=v[t+(4*a+8)>>2];else n=v.subarray(t>>2,t+12*r>>2);_o.uniform3iv(Sa(e),n)}},Na=(e,r,t,n,a)=>{_o.uniform4f(Sa(e),r,t,n,a)},ja=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform4fv(Sa(e),b,t>>2,4*r);else{if(r<=72){var n=Fa[4*r],a=b;t>>=2;for(var o=0;o<4*r;o+=4){var i=t+o;n[o]=a[i],n[o+1]=a[i+1],n[o+2]=a[i+2],n[o+3]=a[i+3]}}else n=b.subarray(t>>2,t+16*r>>2);_o.uniform4fv(Sa(e),n)}},Va=(e,r,t,n,a)=>{_o.uniform4i(Sa(e),r,t,n,a)},Ha=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform4iv(Sa(e),v,t>>2,4*r);else{if(r<=72)for(var n=Da[4*r],a=0;a<4*r;a+=4)n[a]=v[t+4*a>>2],n[a+1]=v[t+(4*a+4)>>2],n[a+2]=v[t+(4*a+8)>>2],n[a+3]=v[t+(4*a+12)>>2];else n=v.subarray(t>>2,t+16*r>>2);_o.uniform4iv(Sa(e),n)}},Ya=(e,r,t,n)=>{if(Br.currentContext.version>=2)r&&_o.uniformMatrix2fv(Sa(e),!!t,b,n>>2,4*r);else{if(r<=72)for(var a=Fa[4*r],o=0;o<4*r;o+=4)a[o]=b[n+4*o>>2],a[o+1]=b[n+(4*o+4)>>2],a[o+2]=b[n+(4*o+8)>>2],a[o+3]=b[n+(4*o+12)>>2];else a=b.subarray(n>>2,n+16*r>>2);_o.uniformMatrix2fv(Sa(e),!!t,a)}},za=(e,r,t,n)=>{if(Br.currentContext.version>=2)r&&_o.uniformMatrix3fv(Sa(e),!!t,b,n>>2,9*r);else{if(r<=32)for(var a=Fa[9*r],o=0;o<9*r;o+=9)a[o]=b[n+4*o>>2],a[o+1]=b[n+(4*o+4)>>2],a[o+2]=b[n+(4*o+8)>>2],a[o+3]=b[n+(4*o+12)>>2],a[o+4]=b[n+(4*o+16)>>2],a[o+5]=b[n+(4*o+20)>>2],a[o+6]=b[n+(4*o+24)>>2],a[o+7]=b[n+(4*o+28)>>2],a[o+8]=b[n+(4*o+32)>>2];else a=b.subarray(n>>2,n+36*r>>2);_o.uniformMatrix3fv(Sa(e),!!t,a)}},Xa=(e,r,t,n)=>{if(Br.currentContext.version>=2)r&&_o.uniformMatrix4fv(Sa(e),!!t,b,n>>2,16*r);else{if(r<=18){var a=Fa[16*r],o=b;n>>=2;for(var i=0;i<16*r;i+=16){var s=n+i;a[i]=o[s],a[i+1]=o[s+1],a[i+2]=o[s+2],a[i+3]=o[s+3],a[i+4]=o[s+4],a[i+5]=o[s+5],a[i+6]=o[s+6],a[i+7]=o[s+7],a[i+8]=o[s+8],a[i+9]=o[s+9],a[i+10]=o[s+10],a[i+11]=o[s+11],a[i+12]=o[s+12],a[i+13]=o[s+13],a[i+14]=o[s+14],a[i+15]=o[s+15]}}else a=b.subarray(n>>2,n+64*r>>2);_o.uniformMatrix4fv(Sa(e),!!t,a)}},qa=e=>{e=Br.programs[e],_o.useProgram(e),_o.currentProgram=e},Qa=(e,r)=>_o.vertexAttrib1f(e,r),Ja=(e,r)=>{_o.vertexAttrib2f(e,b[r>>2],b[r+4>>2])},Za=(e,r)=>{_o.vertexAttrib3f(e,b[r>>2],b[r+4>>2],b[r+8>>2])},Ka=(e,r)=>{_o.vertexAttrib4f(e,b[r>>2],b[r+4>>2],b[r+8>>2],b[r+12>>2])},eo=(e,r)=>{_o.vertexAttribDivisor(e,r)},ro=(e,r,t,n,a)=>{_o.vertexAttribIPointer(e,r,t,n,a)},to=(e,r,t,n,a,o)=>{_o.vertexAttribPointer(e,r,t,!!n,a,o)},no=(e,r,t,n)=>_o.viewport(e,r,t,n),ao=(e,r,t)=>{t=Number(t),_o.waitSync(Br.syncs[e],r,t)},oo=e=>{var r=l.buffer,t=(e-r.byteLength+65535)/65536;try{return l.grow(t),x(),1}catch(t){f("growMemory: Attempted to grow heap from ".concat(r.byteLength," bytes to ").concat(e," bytes, but got error: ").concat(t))}},io={},so=()=>{if(!so.strings){var e={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",_:"./this.program"};for(var r in io)void 0===io[r]?delete e[r]:e[r]=io[r];var t=[];for(var r in e)t.push("".concat(r,"=").concat(e[r]));so.strings=t}return so.strings},co=()=>J||!1,uo=(e,r)=>{if(function(){var e=d,r=f,t=!1;d=f=e=>{t=!0};try{mo()}catch(e){}d=e,f=r,t&&(re("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc."),re("(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)"))}(),co()&&!r){var t="program exited (with status: ".concat(e,"), but keepRuntimeAlive() is set (counter=").concat(0,") due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)");n(t),f(t)}var a;a=e,co()||(E=!0),((e,r)=>{throw r})(0,new q(a))};var lo=[null,[],[]],fo=(e,r)=>{var t=lo[e];C(t),0===r||10===r?((1===e?d:f)(ne(t,0)),t.length=0):t.push(r)},mo=()=>{Lo(0),lo[1].length&&fo(1,10),lo[2].length&&fo(2,10)},po=e=>e%4==0&&(e%100!=0||e%400==0),go=[31,29,31,30,31,30,31,31,30,31,30,31],ho=[31,28,31,30,31,30,31,31,30,31,30,31];var vo,yo,bo,_o,wo=(e,r,t,n)=>{var a=y[n+40>>2],o={tm_sec:v[n>>2],tm_min:v[n+4>>2],tm_hour:v[n+8>>2],tm_mday:v[n+12>>2],tm_mon:v[n+16>>2],tm_year:v[n+20>>2],tm_wday:v[n+24>>2],tm_yday:v[n+28>>2],tm_isdst:v[n+32>>2],tm_gmtoff:v[n+36>>2],tm_zone:a?ae(a):""},i=ae(t),s={"%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"};for(var c in s)i=i.replace(new RegExp(c,"g"),s[c]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],l=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length<r;)n=t[0]+n;return n}function f(e,r){return d(e,r,"0")}function p(e,r){function t(e){return e<0?-1:e>0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function g(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function h(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=po(t.getFullYear()),a=t.getMonth(),o=(n?go:ho)[a];if(!(r>o-t.getDate()))return t.setDate(t.getDate()+r),t;r-=o-t.getDate()+1,t.setDate(1),a<11?t.setMonth(a+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),a=g(t),o=g(n);return p(a,r)<=0?p(o,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var b={"%a":e=>u[e.tm_wday].substring(0,3),"%A":e=>u[e.tm_wday],"%b":e=>l[e.tm_mon].substring(0,3),"%B":e=>l[e.tm_mon],"%C":e=>f((e.tm_year+1900)/100|0,2),"%d":e=>f(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>h(e).toString().substring(2),"%G":h,"%H":e=>f(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),f(r,2)},"%j":e=>f(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(po(e.tm_year+1900)?go:ho,e.tm_mon-1),3),"%m":e=>f(e.tm_mon+1,2),"%M":e=>f(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>f(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return f(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&po(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&po(e.tm_year%400-1))&&r++}return f(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return f(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var c in i=i.replace(/%%/g,"\0\0"),b)i.includes(c)&&(i=i.replace(new RegExp(c,"g"),b[c](o)));i=i.replace(/\0\0/g,"%");var _,w,T,E,x,P,S,A,F=(_=i,w=!1,E=T>0?T:wr(_)+1,x=new Array(E),P=br(_,x,0,x.length),w&&(x.length=P),x);return F.length>r?0:(A=e,C((S=F).length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),m.set(S,A),F.length-1)};ce=o.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},(()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);ue=e})(),le=o.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(Ge.prototype,{isAliasOf(e){if(!(this instanceof Ge))return!1;if(!(e instanceof Ge))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,a=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)a=n.upcast(a),n=n.baseClass;return r===n&&t===a},clone(){if(this.$$.ptr||Ee(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,r=Ue(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return r.$$.count.value+=1,r.$$.deleteScheduled=!1,r},delete(){this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ye("Object already scheduled for deletion"),xe(this),Pe(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ye("Object already scheduled for deletion"),Ie.push(this),1===Ie.length&&_e&&_e(De),this.$$.deleteScheduled=!0,this}}),o.getInheritedInstanceCount=Fe,o.getLiveInheritedInstances=Le,o.flushPendingDeletes=De,o.setDelayFunction=ke,Object.assign(Xe.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;null===(r=this.rawDestructor)||void 0===r||r.call(this,e)},argPackAdvance:Te,readValueFromPointer:se,fromWireType:We}),Qe=o.UnboundTypeError=(vo=Error,(bo=Re(yo="UnboundTypeError",(function(e){this.name=yo,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(vo.prototype),bo.prototype.constructor=bo,bo.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},bo),lr.push(0,1,void 0,1,null,1,!0,1,!1,1),C(10===lr.length),o.count_emval_handles=fr;for(var To=0;To<32;++To)$t.push(new Array(To));var Eo=new Float32Array(288);for(To=0;To<288;++To)Fa[To]=Eo.subarray(0,To);var Co=new Int32Array(288);for(To=0;To<288;++To)Da[To]=Co.subarray(0,To);var xo={__assert_fail:(e,r,t,n)=>{O("Assertion failed: ".concat(ae(e),", at: ")+[r?ae(r):"unknown filename",t,n?ae(n):"unknown function"])},_abort_js:()=>{O("native code called abort()")},_embind_finalize_value_object:e=>{var r=oe[e];delete oe[e];var t=r.rawConstructor,n=r.rawDestructor,a=r.fields,o=a.map((e=>e.getterReturnType)).concat(a.map((e=>e.setterArgumentType)));ge([e],o,(e=>{var o={};return a.forEach(((r,t)=>{var n=r.fieldName,i=e[t],s=r.getter,c=r.getterContext,u=e[t+a.length],l=r.setter,d=r.setterContext;o[n]={read:e=>i.fromWireType(s(c,e)),write:(e,r)=>{var t=[];l(d,e,u.toWireType(t,r)),ie(t)}}})),[{name:r.name,fromWireType:e=>{var r={};for(var t in o)r[t]=o[t].read(e);return n(e),r},toWireType:(e,r)=>{for(var a in o)if(!(a in r))throw new TypeError('Missing field: "'.concat(a,'"'));var i=t();for(a in o)o[a].write(i,r[a]);return null!==e&&e.push(n,i),i},argPackAdvance:Te,readValueFromPointer:se,destructorFunction:n}]}))},_embind_register_bigint:(e,r,t,n,a)=>{var o=-1!=(r=ve(r)).indexOf("u");o&&(a=(1n<<64n)-1n),be(e,{name:r,fromWireType:e=>e,toWireType:function(e,t){if("bigint"!=typeof t&&"number"!=typeof t)throw new TypeError('Cannot convert "'.concat(he(t),'" to ').concat(this.name));if("number"==typeof t&&(t=BigInt(t)),t<n||t>a)throw new TypeError('Passing a number "'.concat(he(t),'" from JS side to C/C++ side to an argument of type "').concat(r,'", which is outside the valid range [').concat(n,", ").concat(a,"]!"));return t},argPackAdvance:Te,readValueFromPointer:we(r,t,!o),destructorFunction:null})},_embind_register_bool:(e,r,t,n)=>{be(e,{name:r=ve(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:n},argPackAdvance:Te,readValueFromPointer:function(e){return this.fromWireType(p[e])},destructorFunction:null})},_embind_register_class:(e,r,t,n,a,o,i,s,c,u,l,d,f)=>{l=ve(l),o=er(a,o),s&&(s=er(i,s)),u&&(u=er(c,u)),f=er(d,f);var m=(e=>{if(void 0===e)return"_unknown";var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=48&&r<=57?"_".concat(e):e})(l);Ne(m,(function(){tr("Cannot construct ".concat(l," due to unbound types"),[n])})),ge([e,r,t],n?[n]:[],(r=>{var t,a;r=r[0],a=n?(t=r.registeredClass).instancePrototype:Ge.prototype;var i=Re(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new le("Use 'new' to construct "+l);if(void 0===g.constructor_body)throw new le(l+" has no accessible constructor");for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var n=g.constructor_body[r.length];if(void 0===n)throw new le("Tried to invoke ctor of ".concat(l," with invalid number of parameters (").concat(r.length,") - expected (").concat(Object.keys(g.constructor_body).toString(),") parameters instead!"));return n.apply(this,r)})),c=Object.create(a,{constructor:{value:i}});i.prototype=c;var d,p,g=new je(l,i,c,f,t,o,s,u);g.baseClass&&(null!==(p=(d=g.baseClass).__derivedClasses)&&void 0!==p||(d.__derivedClasses=[]),g.baseClass.__derivedClasses.push(g));var h=new Xe(l,g,!0,!1,!1),v=new Xe(l+"*",g,!1,!1,!1),y=new Xe(l+" const*",g,!1,!0,!1);return Ae[e]={pointerType:v,constPointerType:y},Je(m,i),[h,v,y]}))},_embind_register_class_class_function:(e,r,t,n,a,o,i,s)=>{var c=ir(t,n);r=ve(r),r=sr(r),o=er(a,o),ge([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r);function a(){tr("Cannot call ".concat(n," due to unbound types"),c)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]);var u=e.registeredClass.constructor;return void 0===u[r]?(a.argCount=t-1,u[r]=a):($e(u,r,n),u[r].overloadTable[t-1]=a),ge([],c,(a=>{var c=[a[0],null].concat(a.slice(1)),l=or(n,c,null,o,i,s);if(void 0===u[r].overloadTable?(l.argCount=t-1,u[r]=l):u[r].overloadTable[t-1]=l,e.registeredClass.__derivedClasses)for(var d of e.registeredClass.__derivedClasses)d.constructor.hasOwnProperty(r)||(d.constructor[r]=l);return[]})),[]}))},_embind_register_class_constructor:(e,r,t,n,a,o)=>{C(r>0);var i=ir(r,t);a=er(n,a),ge([],[e],(e=>{e=e[0];var t="constructor ".concat(e.name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[r-1])throw new le("Cannot register multiple constructors with identical number of parameters (".concat(r-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[r-1]=()=>{tr("Cannot construct ".concat(e.name," due to unbound types"),i)},ge([],i,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[r-1]=or(t,n,null,a,o),[]))),[]}))},_embind_register_class_function:(e,r,t,n,a,o,i,s,c)=>{var u=ir(t,n);r=ve(r),r=sr(r),o=er(a,o),ge([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r);function a(){tr("Cannot call ".concat(n," due to unbound types"),u)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(r);var l=e.registeredClass.instancePrototype,d=l[r];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===t-2?(a.argCount=t-2,a.className=e.name,l[r]=a):($e(l,r,n),l[r].overloadTable[t-2]=a),ge([],u,(a=>{var s=or(n,a,e,o,i,c);return void 0===l[r].overloadTable?(s.argCount=t-2,l[r]=s):l[r].overloadTable[t-2]=s,[]})),[]}))},_embind_register_class_property:(e,r,t,n,a,o,i,s,c,u)=>{r=ve(r),a=er(n,a),ge([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r),l={get(){tr("Cannot access ".concat(n," due to unbound types"),[t,i])},enumerable:!0,configurable:!0};return l.set=c?()=>tr("Cannot access ".concat(n," due to unbound types"),[t,i]):e=>ye(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,r,l),ge([],c?[t,i]:[t],(t=>{var i=t[0],l={get(){var r=cr(this,e,n+" getter");return i.fromWireType(a(o,r))},enumerable:!0};if(c){c=er(s,c);var d=t[1];l.set=function(r){var t=cr(this,e,n+" setter"),a=[];c(u,t,d.toWireType(a,r)),ie(a)}}return Object.defineProperty(e.registeredClass.instancePrototype,r,l),[]})),[]}))},_embind_register_emval:gr,_embind_register_enum:(e,r,t,n)=>{function a(){}r=ve(r),a.values={},be(e,{name:r,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,r)=>r.value,argPackAdvance:Te,readValueFromPointer:hr(r,t,n),destructorFunction:null}),Ne(r,a)},_embind_register_enum_value:(e,r,t)=>{var n=vr(e,"enum");r=ve(r);var a=n.constructor,o=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:Re("".concat(n.name,"_").concat(r),(function(){}))}});a.values[t]=o,a[r]=o},_embind_register_float:(e,r,t)=>{be(e,{name:r=ve(r),fromWireType:e=>e,toWireType:(e,r)=>{if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError("Cannot convert ".concat(he(r)," to ").concat(this.name));return r},argPackAdvance:Te,readValueFromPointer:yr(r,t),destructorFunction:null})},_embind_register_function:(e,r,t,n,a,o,i)=>{var s=ir(r,t);e=ve(e),e=sr(e),a=er(n,a),Ne(e,(function(){tr("Cannot call ".concat(e," due to unbound types"),s)}),r-1),ge([],s,(t=>{var n=[t[0],null].concat(t.slice(1));return Je(e,or(e,n,null,a,o,i),r-1),[]}))},_embind_register_integer:(e,r,t,n,a)=>{r=ve(r),-1===a&&(a=4294967295);var o=e=>e;if(0===n){var i=32-8*t;o=e=>e<<i>>>i}var s=r.includes("unsigned"),c=(e,t)=>{if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'.concat(he(e),'" to ').concat(t));if(e<n||e>a)throw new TypeError('Passing a number "'.concat(he(e),'" from JS side to C/C++ side to an argument of type "').concat(r,'", which is outside the valid range [').concat(n,", ").concat(a,"]!"))};be(e,{name:r,fromWireType:o,toWireType:s?function(e,r){return c(r,this.name),r>>>0}:function(e,r){return c(r,this.name),r},argPackAdvance:Te,readValueFromPointer:we(r,t,0!==n),destructorFunction:null})},_embind_register_memory_view:(e,r,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][r];function a(e){var r=y[e>>2],t=y[e+4>>2];return new n(m.buffer,t,r)}be(e,{name:t=ve(t),fromWireType:a,argPackAdvance:Te,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},_embind_register_optional:(e,r)=>{gr(e)},_embind_register_smart_ptr:(e,r,t,n,a,o,i,s,c,u,l,d)=>{t=ve(t),o=er(a,o),s=er(i,s),u=er(c,u),d=er(l,d),ge([e],[r],(e=>(e=e[0],[new Xe(t,e.registeredClass,!1,!1,!0,e,n,o,s,u,d)])))},_embind_register_std_string:(e,r)=>{var t="std::string"===(r=ve(r));be(e,{name:r,fromWireType(e){var r,n=y[e>>2],a=e+4;if(t)for(var o=a,i=0;i<=n;++i){var s=a+i;if(i==n||0==p[s]){var c=ae(o,s-o);void 0===r?r=c:(r+=String.fromCharCode(0),r+=c),o=s+1}}else{var u=new Array(n);for(i=0;i<n;++i)u[i]=String.fromCharCode(p[a+i]);r=u.join("")}return Fo(e),r},toWireType(e,r){var n;r instanceof ArrayBuffer&&(r=new Uint8Array(r));var a="string"==typeof r;a||r instanceof Uint8Array||r instanceof Uint8ClampedArray||r instanceof Int8Array||ye("Cannot pass non-string to std::string"),n=t&&a?wr(r):r.length;var o=Ao(4+n+1),i=o+4;if(y[o>>2]=n,t&&a)_r(r,i,n+1);else if(a)for(var s=0;s<n;++s){var c=r.charCodeAt(s);c>255&&(Fo(i),ye("String has UTF-16 code units that do not fit in 8 bits")),p[i+s]=c}else for(s=0;s<n;++s)p[i+s]=r[s];return null!==e&&e.push(Fo,o),o},argPackAdvance:Te,readValueFromPointer:se,destructorFunction(e){Fo(e)}})},_embind_register_std_wstring:(e,r,t)=>{var n,a,o,i;t=ve(t),2===r?(n=Er,a=Cr,i=xr,o=e=>h[e>>1]):4===r&&(n=Pr,a=Sr,i=Ar,o=e=>y[e>>2]),be(e,{name:t,fromWireType:e=>{for(var t,a=y[e>>2],i=e+4,s=0;s<=a;++s){var c=e+4+s*r;if(s==a||0==o(c)){var u=n(i,c-i);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),i=c+r}}return Fo(e),t},toWireType:(e,n)=>{"string"!=typeof n&&ye("Cannot pass non-string to C++ string type ".concat(t));var o=i(n),s=Ao(4+o+r);return y[s>>2]=o/r,a(n,s+4,o+r),null!==e&&e.push(Fo,s),s},argPackAdvance:Te,readValueFromPointer:se,destructorFunction(e){Fo(e)}})},_embind_register_user_type:(e,r)=>{gr(e)},_embind_register_value_object:(e,r,t,n,a,o)=>{oe[e]={name:ve(r),rawConstructor:er(t,n),rawDestructor:er(a,o),fields:[]}},_embind_register_value_object_field:(e,r,t,n,a,o,i,s,c,u)=>{oe[e].fields.push({fieldName:ve(r),getterReturnType:t,getter:er(n,a),getterContext:o,setterArgumentType:i,setter:er(s,c),setterContext:u})},_embind_register_void:(e,r)=>{be(e,{isVoid:!0,name:r=ve(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})},_emscripten_get_now_is_monotonic:()=>1,_emscripten_throw_longjmp:()=>{throw 1/0},_emval_as:(e,r,t)=>(e=mr.toValue(e),r=vr(r,"emval::as"),Fr(r,t,e)),_emval_call:(e,r,t,n)=>(e=Lr[e])(null,r=mr.toValue(r),t,n),_emval_call_method:(e,r,t,n,a)=>(e=Lr[e])(r=mr.toValue(r),r[t=Dr(t)],n,a),_emval_decref:dr,_emval_get_global:e=>0===e?mr.toHandle(kr()):(e=Dr(e),mr.toHandle(kr()[e])),_emval_get_method_caller:(e,r,t)=>{var n=((e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=vr(y[r+4*n>>2],"parameter "+n);return t})(e,r),a=n.shift();e--;var o="return function (obj, func, destructorsRef, args) {\n",i=0,s=[];0===t&&s.push("obj");for(var c=["retType"],u=[a],l=0;l<e;++l)s.push("arg"+l),c.push("argType"+l),u.push(n[l]),o+=" var arg".concat(l," = argType").concat(l,".readValueFromPointer(args").concat(i?"+"+i:"",");\n"),i+=n[l].argPackAdvance;o+=" var rv = ".concat(1===t?"new func":"func.call","(").concat(s.join(", "),");\n"),a.isVoid||(c.push("emval_returnValue"),u.push(Fr),o+=" return emval_returnValue(retType, destructorsRef, rv);\n"),o+="};\n",c.push(o);var d,f,m=ar(Function,c)(...u),p="methodCaller<(".concat(n.map((e=>e.name)).join(", "),") => ").concat(a.name,">");return d=Re(p,m),f=Lr.length,Lr.push(d),f},_emval_get_module_property:e=>(e=Dr(e),mr.toHandle(o[e])),_emval_get_property:(e,r)=>(e=mr.toValue(e),r=mr.toValue(r),mr.toHandle(e[r])),_emval_incref:e=>{e>9&&(lr[e+1]+=1)},_emval_new_array:()=>mr.toHandle([]),_emval_new_cstring:e=>mr.toHandle(Dr(e)),_emval_new_object:()=>mr.toHandle({}),_emval_run_destructors:e=>{var r=mr.toValue(e);ie(r),dr(e)},_emval_set_property:(e,r,t)=>{e=mr.toValue(e),r=mr.toValue(r),t=mr.toValue(t),e[r]=t},_emval_take_value:(e,r)=>{var t=(e=vr(e,"_emval_take_value")).readValueFromPointer(r);return mr.toHandle(t)},_gmtime_js:function(e,r){var t;e=(t=e)<-9007199254740992||t>9007199254740992?NaN:Number(t);var n=new Date(1e3*e);v[r>>2]=n.getUTCSeconds(),v[r+4>>2]=n.getUTCMinutes(),v[r+8>>2]=n.getUTCHours(),v[r+12>>2]=n.getUTCDate(),v[r+16>>2]=n.getUTCMonth(),v[r+20>>2]=n.getUTCFullYear()-1900,v[r+24>>2]=n.getUTCDay();var a=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),o=(n.getTime()-a)/864e5|0;v[r+28>>2]=o},_tzset_js:(e,r,t,n)=>{var a=(new Date).getFullYear(),o=new Date(a,0,1),i=new Date(a,6,1),s=o.getTimezoneOffset(),c=i.getTimezoneOffset(),u=Math.max(s,c);y[e>>2]=60*u,v[r>>2]=Number(s!=c);var l=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],d=l(o),f=l(i);C(d),C(f),C(wr(d)<=16,"timezone name truncated to fit in TZNAME_MAX (".concat(d,")")),C(wr(f)<=16,"timezone name truncated to fit in TZNAME_MAX (".concat(f,")")),c<s?(_r(d,t,17),_r(f,n,17)):(_r(d,n,17),_r(f,t,17))},emscripten_cancel_animation_frame:e=>cancelAnimationFrame(e),emscripten_date_now:()=>Date.now(),emscripten_get_now:Mr,emscripten_glActiveTexture:Wr,emscripten_glAttachShader:Ur,emscripten_glBeginQuery:Gr,emscripten_glBeginQueryEXT:Rr,emscripten_glBindAttribLocation:$r,emscripten_glBindBuffer:Nr,emscripten_glBindFramebuffer:Vr,emscripten_glBindRenderbuffer:Hr,emscripten_glBindSampler:Yr,emscripten_glBindTexture:zr,emscripten_glBindVertexArray:qr,emscripten_glBindVertexArrayOES:Jr,emscripten_glBlendColor:Zr,emscripten_glBlendEquation:Kr,emscripten_glBlendFunc:et,emscripten_glBlitFramebuffer:rt,emscripten_glBufferData:tt,emscripten_glBufferSubData:nt,emscripten_glCheckFramebufferStatus:at,emscripten_glClear:it,emscripten_glClearColor:ct,emscripten_glClearStencil:lt,emscripten_glClientWaitSync:dt,emscripten_glColorMask:ft,emscripten_glCompileShader:mt,emscripten_glCompressedTexImage2D:pt,emscripten_glCompressedTexSubImage2D:gt,emscripten_glCopyBufferSubData:ht,emscripten_glCopyTexSubImage2D:vt,emscripten_glCreateProgram:yt,emscripten_glCreateShader:bt,emscripten_glCullFace:_t,emscripten_glDeleteBuffers:wt,emscripten_glDeleteFramebuffers:Tt,emscripten_glDeleteProgram:Et,emscripten_glDeleteQueries:Ct,emscripten_glDeleteQueriesEXT:xt,emscripten_glDeleteRenderbuffers:Pt,emscripten_glDeleteSamplers:St,emscripten_glDeleteShader:At,emscripten_glDeleteSync:Ft,emscripten_glDeleteTextures:Lt,emscripten_glDeleteVertexArrays:Dt,emscripten_glDeleteVertexArraysOES:Mt,emscripten_glDepthMask:Ot,emscripten_glDisable:Bt,emscripten_glDisableVertexAttribArray:Wt,emscripten_glDrawArrays:Ut,emscripten_glDrawArraysInstanced:Gt,emscripten_glDrawArraysInstancedBaseInstanceWEBGL:Rt,emscripten_glDrawBuffers:Nt,emscripten_glDrawElements:Vt,emscripten_glDrawElementsInstanced:Ht,emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL:Yt,emscripten_glDrawRangeElements:zt,emscripten_glEnable:Xt,emscripten_glEnableVertexAttribArray:qt,emscripten_glEndQuery:Qt,emscripten_glEndQueryEXT:Jt,emscripten_glFenceSync:Zt,emscripten_glFinish:Kt,emscripten_glFlush:en,emscripten_glFramebufferRenderbuffer:rn,emscripten_glFramebufferTexture2D:tn,emscripten_glFrontFace:nn,emscripten_glGenBuffers:an,emscripten_glGenFramebuffers:on,emscripten_glGenQueries:sn,emscripten_glGenQueriesEXT:cn,emscripten_glGenRenderbuffers:un,emscripten_glGenSamplers:ln,emscripten_glGenTextures:dn,emscripten_glGenVertexArrays:mn,emscripten_glGenVertexArraysOES:gn,emscripten_glGenerateMipmap:hn,emscripten_glGetBufferParameteriv:vn,emscripten_glGetError:yn,emscripten_glGetFloatv:Tn,emscripten_glGetFramebufferAttachmentParameteriv:En,emscripten_glGetIntegerv:xn,emscripten_glGetProgramInfoLog:Pn,emscripten_glGetProgramiv:Sn,emscripten_glGetQueryObjecti64vEXT:Fn,emscripten_glGetQueryObjectui64vEXT:Ln,emscripten_glGetQueryObjectuiv:In,emscripten_glGetQueryObjectuivEXT:Dn,emscripten_glGetQueryiv:kn,emscripten_glGetQueryivEXT:Mn,emscripten_glGetRenderbufferParameteriv:On,emscripten_glGetShaderInfoLog:Bn,emscripten_glGetShaderPrecisionFormat:Wn,emscripten_glGetShaderiv:Un,emscripten_glGetString:$n,emscripten_glGetStringi:jn,emscripten_glGetUniformLocation:Hn,emscripten_glInvalidateFramebuffer:Yn,emscripten_glInvalidateSubFramebuffer:zn,emscripten_glIsSync:Xn,emscripten_glIsTexture:qn,emscripten_glLineWidth:Qn,emscripten_glLinkProgram:Jn,emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL:Zn,emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL:Kn,emscripten_glPixelStorei:ea,emscripten_glQueryCounterEXT:ra,emscripten_glReadBuffer:ta,emscripten_glReadPixels:ia,emscripten_glRenderbufferStorage:sa,emscripten_glRenderbufferStorageMultisample:ca,emscripten_glSamplerParameterf:ua,emscripten_glSamplerParameteri:la,emscripten_glSamplerParameteriv:da,emscripten_glScissor:fa,emscripten_glShaderSource:ma,emscripten_glStencilFunc:pa,emscripten_glStencilFuncSeparate:ga,emscripten_glStencilMask:ha,emscripten_glStencilMaskSeparate:va,emscripten_glStencilOp:ya,emscripten_glStencilOpSeparate:ba,emscripten_glTexImage2D:_a,emscripten_glTexParameterf:wa,emscripten_glTexParameterfv:Ta,emscripten_glTexParameteri:Ea,emscripten_glTexParameteriv:Ca,emscripten_glTexStorage2D:xa,emscripten_glTexSubImage2D:Pa,emscripten_glUniform1f:Aa,emscripten_glUniform1fv:La,emscripten_glUniform1i:Ia,emscripten_glUniform1iv:ka,emscripten_glUniform2f:Ma,emscripten_glUniform2fv:Oa,emscripten_glUniform2i:Ba,emscripten_glUniform2iv:Wa,emscripten_glUniform3f:Ua,emscripten_glUniform3fv:Ga,emscripten_glUniform3i:Ra,emscripten_glUniform3iv:$a,emscripten_glUniform4f:Na,emscripten_glUniform4fv:ja,emscripten_glUniform4i:Va,emscripten_glUniform4iv:Ha,emscripten_glUniformMatrix2fv:Ya,emscripten_glUniformMatrix3fv:za,emscripten_glUniformMatrix4fv:Xa,emscripten_glUseProgram:qa,emscripten_glVertexAttrib1f:Qa,emscripten_glVertexAttrib2fv:Ja,emscripten_glVertexAttrib3fv:Za,emscripten_glVertexAttrib4fv:Ka,emscripten_glVertexAttribDivisor:eo,emscripten_glVertexAttribIPointer:ro,emscripten_glVertexAttribPointer:to,emscripten_glViewport:no,emscripten_glWaitSync:ao,emscripten_request_animation_frame:(e,r)=>requestAnimationFrame((t=>Ke(e)(t,r))),emscripten_resize_heap:e=>{var r=p.length;C((e>>>=0)>r);var t=2147483648;if(e>t)return f("Cannot enlarge memory, requested ".concat(e," bytes, but the limit is ").concat(t," bytes!")),!1;for(var n,a,o=1;o<=4;o*=2){var i=r*(1+.2/o);i=Math.min(i,e+100663296);var s=Math.min(t,(n=Math.max(e,i))+((a=65536)-n%a)%a);if(oo(s))return!0}return f("Failed to grow the heap from ".concat(r," bytes to ").concat(s," bytes, not enough memory!")),!1},emscripten_webgl_make_context_current:e=>Br.makeContextCurrent(e)?0:-5,environ_get:(e,r)=>{var t=0;return so().forEach(((n,a)=>{var o=r+t;y[e+4*a>>2]=o,((e,r)=>{for(var t=0;t<e.length;++t)C(e.charCodeAt(t)===(255&e.charCodeAt(t))),m[r++]=e.charCodeAt(t);m[r]=0})(n,o),t+=n.length+1})),0},environ_sizes_get:(e,r)=>{var t=so();y[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),y[r>>2]=n,0},exit:uo,fd_close:e=>{O("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM")},fd_seek:function(e,r,t,n){return 70},fd_write:(e,r,t,n)=>{for(var a=0,o=0;o<t;o++){var i=y[r>>2],s=y[r+4>>2];r+=8;for(var c=0;c<s;c++)fo(e,p[i+c]);a+=s}return y[n>>2]=a,0},glBindFramebuffer:jr,glClear:ot,glClearColor:st,glClearStencil:ut,glGetIntegerv:Cn,glGetString:Rn,glGetStringi:Nn,invoke_ii:function(e,r){var t=ee();try{return Ke(e)(r)}catch(e){if(K(t),e!==e+0)throw e;Io(1,0)}},invoke_iii:function(e,r,t){var n=ee();try{return Ke(e)(r,t)}catch(e){if(K(n),e!==e+0)throw e;Io(1,0)}},invoke_iiii:function(e,r,t,n){var a=ee();try{return Ke(e)(r,t,n)}catch(e){if(K(a),e!==e+0)throw e;Io(1,0)}},invoke_iiiii:function(e,r,t,n,a){var o=ee();try{return Ke(e)(r,t,n,a)}catch(e){if(K(o),e!==e+0)throw e;Io(1,0)}},invoke_iiiiii:function(e,r,t,n,a,o){var i=ee();try{return Ke(e)(r,t,n,a,o)}catch(e){if(K(i),e!==e+0)throw e;Io(1,0)}},invoke_iiiiiii:function(e,r,t,n,a,o,i){var s=ee();try{return Ke(e)(r,t,n,a,o,i)}catch(e){if(K(s),e!==e+0)throw e;Io(1,0)}},invoke_iiiiiiii:function(e,r,t,n,a,o,i,s){var c=ee();try{return Ke(e)(r,t,n,a,o,i,s)}catch(e){if(K(c),e!==e+0)throw e;Io(1,0)}},invoke_v:function(e){var r=ee();try{Ke(e)()}catch(e){if(K(r),e!==e+0)throw e;Io(1,0)}},invoke_vi:function(e,r){var t=ee();try{Ke(e)(r)}catch(e){if(K(t),e!==e+0)throw e;Io(1,0)}},invoke_vii:function(e,r,t){var n=ee();try{Ke(e)(r,t)}catch(e){if(K(n),e!==e+0)throw e;Io(1,0)}},invoke_viii:function(e,r,t,n){var a=ee();try{Ke(e)(r,t,n)}catch(e){if(K(a),e!==e+0)throw e;Io(1,0)}},invoke_viiii:function(e,r,t,n,a){var o=ee();try{Ke(e)(r,t,n,a)}catch(e){if(K(o),e!==e+0)throw e;Io(1,0)}},invoke_viiiiii:function(e,r,t,n,a,o,i){var s=ee();try{Ke(e)(r,t,n,a,o,i)}catch(e){if(K(s),e!==e+0)throw e;Io(1,0)}},invoke_viiiiiiiii:function(e,r,t,n,a,o,i,s,c,u){var l=ee();try{Ke(e)(r,t,n,a,o,i,s,c,u)}catch(e){if(K(l),e!==e+0)throw e;Io(1,0)}},strftime_l:(e,r,t,n,a)=>wo(e,r,t,n)},Po=function(){var e,r={env:xo,wasi_snapshot_preview1:xo};function t(e,r){var t;return Po=e.exports,C(l=Po.memory,"memory not found in wasm exports"),x(),C(qe=Po.__indirect_function_table,"table not found in wasm exports"),t=Po.__wasm_call_ctors,A.unshift(t),function(e){if(I--,e?(C(M[e]),delete M[e]):f("warning: run dependency removed without ID"),0==I&&(null!==D&&(clearInterval(D),D=null),k)){var r=k;k=null,r()}}("wasm-instantiate"),Po}I++,(e="wasm-instantiate")?(C(!M[e]),M[e]=1,null===D&&"undefined"!=typeof setInterval&&(D=setInterval((()=>{if(E)return clearInterval(D),void(D=null);var e=!1;for(var r in M)e||(e=!0,f("still waiting on run dependencies:")),f("dependency: ".concat(r));e&&f("(end of list)")}),1e4))):f("warning: run dependency added without ID");var a,i,s,c,d=o;if(o.instantiateWasm)try{return o.instantiateWasm(r,t)}catch(e){f("Module.instantiateWasm callback failed with error: ".concat(e)),n(e)}return W||(W=$()),(a=u,i=W,s=r,c=function(e){C(o===d,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),d=null,t(e.instance)},a||"function"!=typeof WebAssembly.instantiateStreaming||U(i)||"function"!=typeof fetch?j(i,s,c):fetch(i,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,s).then(c,(function(e){return f("wasm streaming compile failed: ".concat(e)),f("falling back to ArrayBuffer instantiation"),j(i,s,c)}))))).catch(n),{}}(),So=R("__getTypeName",1),Ao=o._malloc=R("malloc",1),Fo=o._free=R("free",1),Lo=R("fflush",1),Io=R("setThrew",2),Do=()=>(Do=Po.emscripten_stack_init)(),ko=()=>(ko=Po.emscripten_stack_get_end)(),Mo=e=>(Mo=Po._emscripten_stack_restore)(e),Oo=()=>(Oo=Po.emscripten_stack_get_current)();o.GL=Br;["writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","convertI32PairToI53","convertI32PairToI53Checked","convertU32PairToI53","stackAlloc","getTempRet0","setTempRet0","zeroMemory","ydayFromDate","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","initRandomFill","randomFill","emscriptenLog","readEmAsmArgs","listenOnce","autoResumeAudioContext","getDynCaller","dynCall","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","asmjsMangle","asyncLoad","alignMemory","mmapAlloc","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","getCFunc","ccall","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","stringToUTF8OnStack","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","jsStackTrace","getCallstack","convertPCtoSourceLocation","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","safeSetTimeout","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","Browser_asyncPrepareDataCounter","setMainLoop","getSocketFromFD","getSocketAddress","emscriptenWebGLGetUniform","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","emscriptenWebGLGetIndexed","getFunctionArgsName","createJsInvokerSignature","registerInheritedInstance","unregisterInheritedInstance","writeGLArray","registerWebGlEventCallback","fetchDeleteCachedData","fetchLoadCachedData","fetchCacheData","fetchXHR"].forEach((function(e){"undefined"==typeof globalThis||Object.getOwnPropertyDescriptor(globalThis,e)||Object.defineProperty(globalThis,e,{configurable:!0,get(){var r="`".concat(e,"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line"),t=e;t.startsWith("_")||(t="$"+e),r+=" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='".concat(t,"')"),Y(e)&&(r+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),re(r)}}),X(e)}));var Bo;function Wo(){var e;Do(),C(0==(3&(e=ko()))),0==e&&(e+=4),y[e>>2]=34821223,y[e+4>>2]=2310721022,y[0]=1668509029}function Uo(){I>0||(Wo(),Q(S),I>0||(Bo||(Bo=!0,o.calledRun=!0,E||(C(!L),L=!0,P(),Q(A),t(o),C(!o._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),P(),Q(F))),P()))}["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","FS_createFolder","FS_createPath","FS_createLazyFile","FS_createLink","FS_createDevice","FS_readFile","out","err","callMain","abort","wasmMemory","wasmExports","HEAPF32","HEAPF64","HEAP_DATA_VIEW","HEAP8","HEAPU8","HEAP16","HEAPU16","HEAP32","HEAPU32","HEAP64","HEAPU64","writeStackCookie","checkStackCookie","writeI53ToI64","readI53FromI64","readI53FromU64","MAX_INT53","MIN_INT53","bigintToI53Checked","stackSave","stackRestore","ptrToString","exitJS","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","arraySum","addDays","ERRNO_CODES","ERRNO_MESSAGES","DNS","Protocols","Sockets","timers","warnOnce","readEmAsmArgsArray","jstoi_q","jstoi_s","getExecutableName","keepRuntimeAlive","wasmTable","noExitRuntime","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","stringToNewUTF8","writeArrayToMemory","JSEvents","specialHTMLTargets","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","UNWIND_CACHE","ExitStatus","getEnvStrings","flush_NO_FILESYSTEM","promiseMap","Browser","getPreloadedImageData__data","wget","SYSCALLS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance","webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance","InternalError","BindingError","throwInternalError","throwBindingError","registeredTypes","awaitingDependencies","typeDependencies","tupleRegistrations","structRegistrations","sharedRegisterType","whenDependentTypesAreResolved","embind_charCodes","embind_init_charCodes","readLatin1String","getTypeName","getFunctionName","heap32VectorToArray","requireRegisteredType","usesDestructorStack","createJsInvoker","UnboundTypeError","PureVirtualError","GenericWireTypeSize","EmValType","init_embind","throwUnboundTypeError","ensureOverloadTable","exposePublicSymbol","replacePublicSymbol","extendError","createNamedFunction","embindRepr","registeredInstances","getBasestPointer","getInheritedInstance","getInheritedInstanceCount","getLiveInheritedInstances","registeredPointers","registerType","integerReadValueFromPointer","enumReadValueFromPointer","floatReadValueFromPointer","readPointer","runDestructors","newFunc","craftInvokerFunction","embind__requireFunction","genericPointerToWireType","constNoSmartPtrRawPointerToWireType","nonConstNoSmartPtrRawPointerToWireType","init_RegisteredPointer","RegisteredPointer","RegisteredPointer_fromWireType","runDestructor","releaseClassHandle","finalizationRegistry","detachFinalizer_deps","detachFinalizer","attachFinalizer","makeClassHandle","init_ClassHandle","ClassHandle","throwInstanceAlreadyDeleted","deletionQueue","flushPendingDeletes","delayFunction","setDelayFunction","RegisteredClass","shallowCopyInternalPointer","downcastPointer","upcastPointer","validateThis","char_0","char_9","makeLegalFunctionName","emval_freelist","emval_handles","emval_symbols","init_emval","count_emval_handles","getStringOrSymbol","Emval","emval_get_global","emval_returnValue","emval_lookupTypes","emval_methodCallers","emval_addMethodCaller","reflectConstruct","Fetch"].forEach(X),k=function e(){Bo||Uo(),Bo||(k=e)},Uo(),r=i;var Go=function(e){e in a||Object.defineProperty(a,e,{configurable:!0,get(){O("Access to module property ('".concat(e,"') is no longer possible via the module constructor argument; Instead, use the result of the module constructor."))}})};for(var Ro of Object.keys(o))Go(Ro);return r}})(),ye=Object.freeze({__proto__:null,default:ve})}();
|
|
1
|
+
!function(){"use strict";var e=function(r,t){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},e(r,t)};function r(r,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=r}e(r,t),r.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var t=function(){return t=Object.assign||function(e){for(var r,t=1,n=arguments.length;t<n;t++)for(var a in r=arguments[t])Object.prototype.hasOwnProperty.call(r,a)&&(e[a]=r[a]);return e},t.apply(this,arguments)};function n(e,r,t,n){return new(t||(t=Promise))((function(a,o){function i(e){try{c(n.next(e))}catch(e){o(e)}}function s(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var r;e.done?a(e.value):(r=e.value,r instanceof t?r:new t((function(e){e(r)}))).then(i,s)}c((n=n.apply(e,r||[])).next())}))}function a(e,r){var t,n,a,o,i={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(s){return function(c){return function(s){if(t)throw new TypeError("Generator is already executing.");for(;o&&(o=0,s[0]&&(i=0)),i;)try{if(t=1,n&&(a=2&s[0]?n.return:s[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,s[1])).done)return a;switch(n=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return i.label++,{value:s[1],done:!1};case 5:i.label++,n=s[1],s=[0];continue;case 7:s=i.ops.pop(),i.trys.pop();continue;default:if(!(a=i.trys,(a=a.length>0&&a[a.length-1])||6!==s[0]&&2!==s[0])){i=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){i.label=s[1];break}if(6===s[0]&&i.label<a[1]){i.label=a[1],a=s;break}if(a&&i.label<a[2]){i.label=a[2],i.ops.push(s);break}a[2]&&i.ops.pop(),i.trys.pop();continue}s=r.call(e,i)}catch(e){s=[6,e],n=0}finally{t=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,c])}}}function o(e,r,t){if(t||2===arguments.length)for(var n,a=0,o=r.length;a<o;a++)!n&&a in r||(n||(n=Array.prototype.slice.call(r,0,a)),n[a]=r[a]);return e.concat(n||Array.prototype.slice.call(r))}void 0===globalThis.window&&(globalThis.window=globalThis),void 0===globalThis.document&&(globalThis.document={currentScript:{src:self.location.href},createElement:function(){return{getContext:function(){return null},style:{}}},getElementById:function(){return null}}),void 0===globalThis.requestAnimationFrame&&(globalThis.requestAnimationFrame=function(e){return setTimeout((function(){return e(performance.now())}),16)},globalThis.cancelAnimationFrame=function(e){return clearTimeout(e)});var i,s,c=function(e){function t(r,n,a){var o=this.constructor,i=e.call(this,"(".concat(r,") ").concat(n))||this;return i.code=r,i.cause=a,i.name=t.name,Object.setPrototypeOf(i,o.prototype),i}return r(t,e),t}(Error);!function(e){e.debug="debug",e.release="release"}(i||(i={})),function(e){e.Fit="Fit",e.FillWidth="FillWidth",e.ActualSize="ActualSize"}(s||(s={}));var u=function(){function e(){this.listeners={}}return e.prototype.on=function(e,r){var t,n;this.listeners[e]=null!==(t=this.listeners[e])&&void 0!==t?t:new Set,null===(n=this.listeners[e])||void 0===n||n.add(r)},e.prototype.off=function(e,r){var t;null===(t=this.listeners[e])||void 0===t||t.delete(r)},e.prototype.forwardEvent=function(e,r){this.on(r,(function(){for(var t=[],n=0;n<arguments.length;n++)t[n]=arguments[n];e.emit.apply(e,o([r],t,!1))}))},e.prototype.emit=function(e){for(var r=[],t=1;t<arguments.length;t++)r[t-1]=arguments[t];var n=this.listeners[e];(null==n?void 0:n.size)&&n.forEach((function(e){Promise.resolve().then((function(){e.apply(void 0,r)}))}))},e.prototype.detachAllListeners=function(){this.listeners={}},e}(),l=function(){function e(e){void 0===e&&(e=!1),this.removeListenerCallbacks=[],this.disabled=e}return e.prototype.add=function(e,r,t,n){var a=this,o=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];a.disabled||t.apply(void 0,e)};e.addEventListener(r,o,n);var i=function(){e.removeEventListener(r,o,n)};return this.removeListenerCallbacks.push(i),i},e.prototype.dispose=function(){this.removeListenerCallbacks.forEach((function(e){return e()}))},e.prototype.setDisabled=function(e){this.disabled=e},e}(),d={delayedDraw:!0,offscreenCanvas:!1,useDirtyRectsRendering:!0,safariWebGL2:!1,pageBoundariesLimit:!1,canvasLayersEvents:!1};function f(e,r){var t;function n(){for(var n=[],a=0;a<arguments.length;a++)n[a]=arguments[a];clearTimeout(t),t=setTimeout((function(){e.apply(void 0,n)}),r)}return n.cancel=function(){t&&clearTimeout(t)},n}function m(e){if(!e)return[];for(var r=[],t=0;t<e.size();t++)r.push(e.get(t));return r}!function(e){function t(r,t,n){void 0===t&&(t=!1),void 0===n&&(n=!1);var a=e.call(this)||this;return a.state={pinchToZoomLastDistance:0,lastGestureScale:1,isCtrlPressed:!1},a.handleGestureStart=function(e){e.preventDefault(),a.state.lastGestureScale=e.scale},a.handleGestureChange=function(e){e.preventDefault();var r=e.scale/a.state.lastGestureScale;a.state.lastGestureScale=e.scale;var t=a.getCorrectPointerPosition(e);a.emitZoomEvent(r,t)},a.handleGestureEnd=function(e){e.preventDefault()},a.updateMousePosition=function(e){a.emit("pointermove",{type:"mouse",position:a.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},a.updateGlobalMousePosition=function(e){a.emit("globalpointermove",{type:"mouse",position:a.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},a.handleTouchStart=function(e){e.preventDefault(),a.handleTouchPinchToZoomStart(e),a.emit("pointerdown",{type:"touch",position:a.getCorrectPointerPosition(e),button:0,touchesCount:e.touches.length})},a.handleMouseDown=function(e){e.ctrlKey||(e.preventDefault(),a.emit("pointerdown",{type:"mouse",position:a.getCorrectPointerPosition(e),button:e.button,touchesCount:0}))},a.handleTouchMove=function(e){a.handleTouchPinchToZoomChange(e),a.emit("pointermove",{type:"touch",position:a.getCorrectPointerPosition(e),button:0,touchesCount:e.touches.length})},a.handleMouseMove=function(e){a.updateMousePosition(e)},a.handleGlobalTouchMove=function(e){a.emit("globalpointermove",{type:"touch",position:a.getCorrectPointerPosition(e),button:0,touchesCount:e.touches.length})},a.handleGlobalMouseMove=function(e){a.updateGlobalMousePosition(e)},a.handleTouchPinchToZoomStart=function(e){var r;!e.touches||(null===(r=e.touches)||void 0===r?void 0:r.length)<2||(a.state.pinchToZoomLastDistance=a.calculateDistanceBetweenTouches(e.touches[0],e.touches[1]))},a.handleTouchPinchToZoomChange=function(e){var r;if(e.touches&&!((null===(r=e.touches)||void 0===r?void 0:r.length)<2)){var t=a.calculateDistanceBetweenTouches(e.touches[0],e.touches[1]),n=a.getCorrectPointerPosition(e),o=1+.004*(t-a.state.pinchToZoomLastDistance);a.state.pinchToZoomLastDistance=t,a.emitZoomEvent(o,n)}},a.handleTouchEnd=function(e){var r=a.getCorrectPointerPosition(e);a.emit("pointerup",{position:r,type:"touch",button:0,touchesCount:e.touches.length})},a.handleMouseUp=function(e){a.emit("pointerup",{type:"mouse",position:a.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},a.debouncedUpdateMousePosition=f(a.updateMousePosition,40),a.debouncedUpdateGlobalMousePosition=f(a.updateGlobalMousePosition,40),a.handleMouseWheel=function(e){e.preventDefault();var r=e.ctrlKey&&!a.state.isCtrlPressed,t=e.metaKey||r||a.state.isCtrlPressed;if(a.debouncedUpdateMousePosition(e),a.debouncedUpdateGlobalMousePosition(e),t){var n=r||a.invertedWheelZoom?-1:1,o=a.getCorrectPointerPosition(e),i=1+.005*e.deltaY*n;a.emitZoomEvent(i,o)}else a.emit("wheel",{x:-e.deltaX,y:-e.deltaY},{type:"mouse",position:a.getCorrectPointerPosition(e),button:e.button,touchesCount:0})},a.target=r,a.invertedWheelZoom=t,a.targetBounds=r.getBoundingClientRect(),a.listenersCollector=new l(n),a.addListeners(),a.targetResizeObserver=new ResizeObserver(a.updateTargetBounds.bind(a)),a.targetResizeObserver.observe(a.target),a}r(t,e),t.prototype.updateTargetBounds=function(){this.targetBounds=this.target.getBoundingClientRect()},t.prototype.addListeners=function(){this.addTouchEventListeners(),this.addMouseEventListeners(),this.addKeyboardEventListeners(),this.addSafariGesturesEventListeners()},t.prototype.addKeyboardEventListeners=function(){var e=this;this.listenersCollector.add(document,"keydown",(function(r){"Control"===r.key&&(e.state.isCtrlPressed=!0)})),this.listenersCollector.add(document,"keyup",(function(r){"Control"===r.key&&(e.state.isCtrlPressed=!1)})),this.listenersCollector.add(document,"contextmenu",(function(r){r.ctrlKey&&(e.state.isCtrlPressed=!1)}))},t.prototype.addMouseEventListeners=function(){this.listenersCollector.add(this.target,"mousedown",this.handleMouseDown),this.listenersCollector.add(this.target,"mousemove",this.handleMouseMove),this.listenersCollector.add(document,"mousemove",this.handleGlobalMouseMove),this.listenersCollector.add(document,"mouseup",this.handleMouseUp),this.listenersCollector.add(this.target,"wheel",this.handleMouseWheel)},t.prototype.addTouchEventListeners=function(){this.listenersCollector.add(this.target,"touchstart",this.handleTouchStart),this.listenersCollector.add(document,"touchmove",this.handleGlobalTouchMove,{passive:!0,capture:!0}),this.listenersCollector.add(this.target,"touchmove",this.handleTouchMove,{passive:!0,capture:!0}),this.listenersCollector.add(document,"touchcancel",this.handleTouchEnd),this.listenersCollector.add(document,"touchend",this.handleTouchEnd)},t.prototype.addSafariGesturesEventListeners=function(){"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0||(this.listenersCollector.add(this.target,"gesturestart",this.handleGestureStart,{capture:!0}),this.listenersCollector.add(this.target,"gesturechange",this.handleGestureChange,{capture:!0}),this.listenersCollector.add(this.target,"gestureend",this.handleGestureEnd,{capture:!0}))},t.prototype.clampPointerToTargetBounds=function(e){return{x:e.x-this.targetBounds.x,y:e.y-this.targetBounds.y}},t.prototype.getCorrectPointerPosition=function(e){var r,t={x:0,y:0};if((null===(r=e.touches)||void 0===r?void 0:r.length)>1){var n=e,a=n.touches[0],o=n.touches[1];t={x:(a.clientX+o.clientX)/2,y:(a.clientY+o.clientY)/2}}else t=function(e){var r,t,n,a,o,i=null!==(t=null===(r=e.touches)||void 0===r?void 0:r[0])&&void 0!==t?t:null===(n=e.changedTouches)||void 0===n?void 0:n[0];return{x:null!==(a=null==i?void 0:i.clientX)&&void 0!==a?a:e.clientX,y:null!==(o=null==i?void 0:i.clientY)&&void 0!==o?o:e.clientY}}(e);return this.clampPointerToTargetBounds(t)},t.prototype.calculateDistanceBetweenTouches=function(e,r){return Math.hypot(e.clientX-r.clientX,e.clientY-r.clientY)},t.prototype.emitZoomEvent=function(e,r){this.emit("pinchToZoom",e,r)},t.prototype.dispose=function(){this.listenersCollector.dispose(),this.targetResizeObserver.disconnect()},t.prototype.setDisable=function(e){this.listenersCollector.setDisabled(e)},t.prototype.setInvertedWheelZoom=function(e){this.invertedWheelZoom=e}}(u),function(e){function t(r){var t=e.call(this)||this;return t.listenersCollector=new l,t.handleKeyUp=function(e){t.emit("keyUp",e.code)},t.target=r,t.addListeners(),t}r(t,e),t.prototype.addListeners=function(){this.listenersCollector.add(this.target,"keyup",this.handleKeyUp)},t.prototype.dispose=function(){this.listenersCollector.dispose()}}(u);var p,g,h,v,y,b,_,w,T,E,C,x,P,S,A,F,L,I,D,k,M,O,B,W,U,G,R,$,N,j,V,H=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return r(t,e),t.prototype.logDebug=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];this.emit.apply(this,o(["log","debug"],e,!1))},t.prototype.logWarning=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];this.emit.apply(this,o(["log","warn"],e,!1))},t.prototype.logError=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];this.emit.apply(this,o(["log","error"],e,!1))},t}(u),Y=new H,z=function(){function e(e){this.settings=e}return e.prototype.isReleaseMode=function(){return this.settings.mode===i.release},e.prototype.init=function(){return n(this,void 0,void 0,(function(){var e,r,t,n,o,i=this;return a(this,(function(a){switch(a.label){case 0:return[4,this.importModule()];case 1:e=a.sent(),r=e.default,a.label=2;case 2:return a.trys.push([2,4,,5]),t=this,[4,r({FeatureFlags:this.settings.featureFlags,currentWebGLVersion:this.settings.webglVersion,bridge:this.settings.jsBridge,locateFile:function(e){return i.settings.locateFile.replace("{file}",e)}})];case 3:return t.instance=a.sent(),[3,5];case 4:throw n=a.sent(),new c("WASM_ERROR","An error occurred while trying to create the wasm module.",n);case 5:return this.pointerTypeToWASMMap={unset:this.instance.PRUserPointerTypeEnum.Unset,mouse:this.instance.PRUserPointerTypeEnum.Mouse,touch:this.instance.PRUserPointerTypeEnum.Touch},this.prCursorTypeToCSSCursorMap=((o={})[this.instance.PRCursorTypeEnum.Auto.value]="auto",o[this.instance.PRCursorTypeEnum.Default.value]="default",o[this.instance.PRCursorTypeEnum.Pointer.value]="pointer",o[this.instance.PRCursorTypeEnum.Grab.value]="grab",o[this.instance.PRCursorTypeEnum.Grabbing.value]="grabbing",o),this.prototypeResizeModeToWASMMap={Fit:this.instance.PrototypeResizeModeWasmEnum.Fit,FillWidth:this.instance.PrototypeResizeModeWasmEnum.FillWidth,ActualSize:this.instance.PrototypeResizeModeWasmEnum.ActualSize},[2]}}))}))},e.prototype.makeWebGLContext=function(e,r,n){var a;void 0===r&&(r={}),void 0===n&&(n="srgb");var o=t({antialias:!1,alpha:!1,stencil:!1,depth:!1,powerPreference:"high-performance",preserveDrawingBuffer:!1,desynchronized:!0},r),i=this.instance.GL.createContext(e,o);if(!i)throw new c("WEBGL_ERROR","Unable to create WebGL context. WebGL might be unsupported, disabled, or this device is not able to run WebGL correctly.");var s=null===(a=this.instance.GL.getContext(i))||void 0===a?void 0:a.GLctx;return s&&(s.getExtension("WEBGL_debug_renderer_info"),"srgb"!==n&&"drawingBufferColorSpace"in s&&(s.drawingBufferColorSpace=n)),i},e.prototype.createWebGLTextureFromImage=function(e,r){var t=this.instance.GL,n=t.getContext(r);if(!n)throw new Error("Unable to retrieve emscripten WebGL context from handle");var a=n.GLctx;if(!a)throw new Error("WebGL context is null");var o=a.createTexture();a.bindTexture(a.TEXTURE_2D,o),a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0);var i=t.getNewId(t.textures);return t.textures[i]=o,a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,e),a.bindTexture(a.TEXTURE_2D,null),i},e.prototype.destroyWebGLContext=function(e){var r;Y.logDebug("Destroying WebGL context");var t=null===(r=this.instance)||void 0===r?void 0:r.GL.getContext(e);if(t){this.instance.GL.deleteContext(e);var n=t.GLctx.getExtension("WEBGL_lose_context");if(n)return n.loseContext(),Y.logDebug("WebGL destroyed"),!0;Y.logError("WEBGL_lose_context not available. Not possible to destroy WebGL context manually.")}else Y.logError("WebGL context not found while trying to destroy it")},e.prototype.importModule=function(){return this.isReleaseMode()?Promise.resolve().then((function(){return he})):Promise.resolve().then((function(){return ye}))},e.prototype.mapToCSSCursor=function(e){return this.prCursorTypeToCSSCursorMap[e.value]},e.prototype.mapToPRPointerType=function(e){var r;return null!==(r=this.pointerTypeToWASMMap[e])&&void 0!==r?r:this.instance.PRUserPointerTypeEnum.Unset},e.prototype.mapPointerInfo=function(e){return t(t({},e),{type:this.mapToPRPointerType(e.type)})},e.prototype.mapResizeMode=function(e){return this.prototypeResizeModeToWASMMap[e]},e}();function X(e){var r=m(e);return e.delete(),r}function q(e){switch(e.kind.value){case p.Boolean:return e.boolean;case p.Number:return e.number;case p.Text:return e.text;default:return null}}!function(e){e[e.Absent=0]="Absent",e[e.Boolean=1]="Boolean",e[e.Number=2]="Number",e[e.Text=3]="Text"}(p||(p={})),function(e){e[e.Added=0]="Added",e[e.Removed=1]="Removed",e[e.Modified=2]="Modified"}(g||(g={})),function(e){e[e.None=0]="None",e[e.Frame=1]="Frame",e[e.Section=2]="Section"}(h||(h={})),function(e){e[e.None=0]="None",e[e.Scale=1]="Scale",e[e.Width=2]="Width",e[e.Height=3]="Height"}(v||(v={})),function(e){e[e.None=0]="None",e[e.PNG=1]="PNG",e[e.JPG=2]="JPG",e[e.TIFF=3]="TIFF",e[e.WEBP=4]="WEBP",e[e.PDF=5]="PDF",e[e.EPS=6]="EPS",e[e.SVG=7]="SVG",e[e.HEIC=8]="HEIC"}(y||(y={})),function(e){e[e.Color=0]="Color",e[e.Gradient=1]="Gradient",e[e.Pattern=2]="Pattern"}(b||(b={})),function(e){e[e.Fit=0]="Fit",e[e.Fill=1]="Fill",e[e.Stretch=2]="Stretch",e[e.Tile=3]="Tile"}(_||(_={})),function(e){e[e.Linear=0]="Linear",e[e.Radial=1]="Radial",e[e.Angular=2]="Angular"}(w||(w={})),function(e){e[e.Rgb=0]="Rgb",e[e.Oklab=1]="Oklab",e[e.Oklch=2]="Oklch"}(T||(T={})),function(e){e[e.Center=0]="Center",e[e.Inside=1]="Inside",e[e.Outside=2]="Outside"}(E||(E={})),function(e){e[e.Butt=0]="Butt",e[e.Round=1]="Round",e[e.Square=2]="Square"}(C||(C={})),function(e){e[e.Miter=0]="Miter",e[e.Round=1]="Round",e[e.Bevel=2]="Bevel"}(x||(x={})),function(e){e[e.Motion=0]="Motion",e[e.Zoom=1]="Zoom",e[e.Background=2]="Background",e[e.Gaussian=3]="Gaussian"}(P||(P={})),function(e){e[e.Normal=0]="Normal",e[e.DestAtop=1]="DestAtop",e[e.Clear=2]="Clear",e[e.Source=3]="Source",e[e.Darken=4]="Darken",e[e.Multiply=5]="Multiply",e[e.ColorBurn=6]="ColorBurn",e[e.Lighten=7]="Lighten",e[e.Screen=8]="Screen",e[e.ColorDodge=9]="ColorDodge",e[e.Overlay=10]="Overlay",e[e.SoftLight=11]="SoftLight",e[e.HardLight=12]="HardLight",e[e.Difference=13]="Difference",e[e.Exclusion=14]="Exclusion",e[e.Hue=15]="Hue",e[e.Saturation=16]="Saturation",e[e.Color=17]="Color",e[e.Luminosity=18]="Luminosity",e[e.PlusLighter=19]="PlusLighter",e[e.PlusDarker=20]="PlusDarker"}(S||(S={})),function(e){e[e.Artboard=0]="Artboard",e[e.SymbolMaster=1]="SymbolMaster",e[e.SymbolInstance=2]="SymbolInstance",e[e.Hotspot=3]="Hotspot",e[e.Bitmap=4]="Bitmap",e[e.Group=5]="Group",e[e.Oval=6]="Oval",e[e.Polygon=7]="Polygon",e[e.Rectangle=8]="Rectangle",e[e.ShapeGroup=9]="ShapeGroup",e[e.ShapePath=10]="ShapePath",e[e.Star=11]="Star",e[e.Text=12]="Text",e[e.Triangle=13]="Triangle",e[e.Slice=14]="Slice",e[e.Section=15]="Section"}(A||(A={})),function(e){e[e.Angled=2]="Angled",e[e.InsideArc=4]="InsideArc",e[e.InsideSquare=3]="InsideSquare",e[e.Rounded=0]="Rounded",e[e.Smooth=1]="Smooth"}(F||(F={})),function(e){e[e.Lowercase=2]="Lowercase",e[e.None=0]="None",e[e.Uppercase=1]="Uppercase"}(L||(L={})),function(e){e[e.Center=1]="Center",e[e.Justified=3]="Justified",e[e.Left=0]="Left",e[e.Right=2]="Right"}(I||(I={})),function(e){e[e.Top=0]="Top",e[e.Middle=1]="Middle",e[e.Bottom=2]="Bottom"}(D||(D={})),function(e){e[e.LineThrough=2]="LineThrough",e[e.Underline=1]="Underline",e[e.None=0]="None"}(k||(k={})),function(e){e[e.Fixed=0]="Fixed",e[e.Fill=1]="Fill",e[e.Fit=2]="Fit",e[e.Relative=3]="Relative"}(M||(M={})),function(e){e[e.Horizontal=0]="Horizontal",e[e.Vertical=1]="Vertical"}(O||(O={})),function(e){e[e.Start=0]="Start",e[e.Center=1]="Center",e[e.End=2]="End",e[e.SpaceBetween=3]="SpaceBetween",e[e.SpaceAround=4]="SpaceAround",e[e.SpaceEvenly=5]="SpaceEvenly"}(B||(B={})),function(e){e[e.None=0]="None",e[e.Start=1]="Start",e[e.Center=2]="Center",e[e.End=3]="End",e[e.Stretch=4]="Stretch"}(W||(W={})),function(e){e[e.FirstOnTop=0]="FirstOnTop",e[e.LastOnTop=1]="LastOnTop"}(U||(U={})),function(e){e[e.Unset=0]="Unset",e[e.Mouse=1]="Mouse",e[e.Touch=2]="Touch"}(G||(G={})),function(e){e[e.Auto=0]="Auto",e[e.Default=1]="Default",e[e.Pointer=2]="Pointer",e[e.Grab=3]="Grab",e[e.Grabbing=4]="Grabbing"}(R||(R={})),function(e){e[e.PNG=0]="PNG",e[e.JPG=1]="JPG",e[e.WEBP=2]="WEBP",e[e.PDF=4]="PDF",e[e.SVG=3]="SVG",e[e.RASTER=5]="RASTER"}($||($={})),function(e){e[e.Screen=0]="Screen",e[e.Overlay=1]="Overlay"}(N||(N={})),function(e){e[e.Fit=0]="Fit",e[e.FillWidth=1]="FillWidth",e[e.ActualSize=2]="ActualSize"}(j||(j={}));var Q=((V={})[g.Added]="added",V[g.Removed]="removed",V[g.Modified]="modified",V),J=function(e){var r;return null!==(r=Q[e.value])&&void 0!==r?r:"modified"};function Z(e){return X(e).map((function(e){return{property:e.property,before:q(e.before),after:q(e.after)}}))}function K(e){var r=function(e){return{x:e.x,y:e.y}};return{topLeft:r(e.topLeft),topRight:r(e.topRight),bottomRight:r(e.bottomRight),bottomLeft:r(e.bottomLeft)}}function ee(e){return{x:e.x,y:e.y,width:e.width,height:e.height}}var re=function(e){return""===e?null:e};function te(e){return X(e).filter((function(e){return void 0!==e}))}function ne(e){return X(e).map((function(e){return{id:e.uuid,format:e.format}}))}function ae(e,r){var t=new Map;return e.entities.forEach((function(e){("before"===r?e.beforeImages:e.afterImages).forEach((function(e){t.has(e.id)||t.set(e.id,e)}))})),Array.from(t.values())}function oe(e,r,o){var i=r.imagesURLFormat,s=r.imagesURLMap;return n(this,void 0,void 0,(function(){var r=this;return a(this,(function(c){switch(c.label){case 0:return i||s?[4,Promise.all(e.map((function(e){var c=e.id,u=e.format;return n(r,void 0,void 0,(function(){var e,r,n;return a(this,(function(a){switch(a.label){case 0:return e=null==s?void 0:s[c],(r=e?e.replace(":format",u):null==i?void 0:i.replace(":imageId",c).replace(":format",u))?[4,o(r)]:[2,void 0];case 1:return[2,(n=a.sent())?t({id:c},n):void 0]}}))}))})))]:[2,[]];case 1:return[2,c.sent().filter((function(e){return!!e}))]}}))}))}function ie(e,r,t,n,a){void 0===a&&(a=[]);var o=[];return function(e,r){var t=new Set;return e.entities.forEach((function(e){("before"===r?e.beforeFragmentIds:e.afterFragmentIds).forEach((function(e){return t.add(e)}))})),t}(e,r).forEach((function(e){var r=n.get(e);r&&o.push({id:e,bytes:r})})),{file:t,fragments:o,images:a}}var se=function(){},ce={logDebug:function(e){return console.debug("[ComparisonWorker C++] ".concat(e))},logWarning:function(e){return console.warn("[ComparisonWorker C++] ".concat(e))},logError:function(e){return console.error("[ComparisonWorker C++] ".concat(e))},resolveImageUrl:function(){return""},resolveFragmentUrl:function(){return""},emitMetric:se,onDrawComplete:se,onAllImagesReady:se,onCameraMoveStart:se,onCameraMoveEnd:se,onCameraZoomStart:se,onCameraZoomEnd:se,onCameraZoomChange:se,onCameraPanChange:se,onCursorChange:se};function ue(e){return n(this,void 0,void 0,(function(){var r,t;return a(this,(function(n){switch(n.label){case 0:if(!e)return[2,void 0];n.label=1;case 1:return n.trys.push([1,4,,5]),[4,fetch(e)];case 2:return(r=n.sent()).ok?[4,r.arrayBuffer()]:[2,void 0];case 3:return[2,(t=n.sent()).byteLength>0?new Uint8Array(t):void 0];case 4:return n.sent(),[2,void 0];case 5:return[2]}}))}))}function le(e){var r;return n(this,void 0,void 0,(function(){var t,n;return a(this,(function(a){switch(a.label){case 0:return a.trys.push([0,3,,4]),[4,fetch(e)];case 1:return(t=a.sent()).ok?[4,t.arrayBuffer()]:[2,void 0];case 2:return 0===(n=a.sent()).byteLength?[2,void 0]:[2,{bytes:new Uint8Array(n),type:null!==(r=t.headers.get("content-type"))&&void 0!==r?r:""}];case 3:return a.sent(),[2,void 0];case 4:return[2]}}))}))}function de(e,r,t){var o=r.fragmentsURLFormat,i=void 0===o?"":o,s=r.fragmentsURLMap,c=void 0===s?{}:s;return n(this,void 0,void 0,(function(){var r,o,s,u,l,d,f,p,g,h,v=this;return a(this,(function(y){switch(y.label){case 0:r=0,y.label=1;case 1:return r<8?(o=e.pendingFragmentIds(),s=m(o),o.delete(),0===s.length?[2]:[4,Promise.all(s.map((function(e){return n(v,void 0,void 0,(function(){var r,t;return a(this,(function(n){switch(n.label){case 0:return r={id:e},[4,ue(null!==(t=c[e])&&void 0!==t?t:i.replace(":fragmentId",e))];case 1:return[2,(r.bytes=n.sent(),r)]}}))}))})))]):[3,4];case 2:for(u=y.sent(),l=0,d=0,f=u;d<f.length;d++)p=f[d],g=p.id,(h=p.bytes)&&e.attachFragment(g,h)&&(l++,null==t||t.set(g,h));if(0===l)return[2];y.label=3;case 3:return r++,[3,1];case 4:return[2]}}))}))}var fe=function(){function e(){}return e.prototype.init=function(e,r){var t=new z({mode:r,locateFile:e,jsBridge:ce,featureFlags:d,webglVersion:2});this.wasmModule=t.init().then((function(){return t})),this.wasmModule.catch((function(){}))},e.prototype.compare=function(e,r,t,o){return n(this,void 0,void 0,(function(){var i,s,c,u,l,d,f,m,p,g,v,y,b,_,w,T,E=this;return a(this,(function(C){switch(C.label){case 0:i=[],s=new Map,C.label=1;case 1:if(C.trys.push([1,7,8,9]),!this.wasmModule)throw new Error("Comparison worker not initialised");return[4,this.wasmModule];case 2:return u=C.sent().instance,l=function(e,r){return n(E,void 0,void 0,(function(){var t,n,l,d;return a(this,(function(a){switch(a.label){case 0:return t="before"===r?"earlier":"later",n=new u.ComparisonDocument,i.push(n),[4,ue(e.fileURL)];case 1:if(!(l=a.sent()))throw new Error("could not fetch the ".concat(t," version"));if(!n.load(l))throw new Error("could not read the ".concat(t," version"));return(d=r===o)&&(c=l),[4,de(n,e,d?s:void 0)];case 2:return a.sent(),[2,n]}}))}))},[4,Promise.all([l(r,"before"),l(t,"after")])];case 3:return d=C.sent(),f=d[0],m=d[1],p=function(e){return{entities:X(e.entities).map((function(e){return{kind:J(e.kind),entityKind:e.entityKind.value===h.Section?"section":"frame",uuid:e.uuid,layerPathHash:e.layerPathHash,beforeFragmentIds:te(e.beforeFragmentIds),afterFragmentIds:te(e.afterFragmentIds),beforeImages:ne(e.beforeImages),afterImages:ne(e.afterImages),parentEntityUUID:re(e.parentEntityUUID),name:e.name,changes:Z(e.changes),layerChangeCount:e.layerChangeCount,drawsImage:e.drawsImage,beforeExtent:ee(e.beforeExtent),afterExtent:ee(e.afterExtent),quadAfter:K(e.quadAfter),quadBefore:K(e.quadBefore)}})),layers:X(e.layers).map((function(e){return{kind:J(e.kind),layerPathHash:e.layerPathHash,uuid:e.uuid,name:e.name,type:e.type<0?null:e.type,entityUUID:re(e.entityUUID),parentLayerPathHash:re(e.parentLayerPathHash),drawsImage:e.drawsImage,changes:Z(e.changes),beforeExtent:ee(e.beforeExtent),afterExtent:ee(e.afterExtent),quadAfter:K(e.quadAfter),quadBefore:K(e.quadBefore)}})),beforeNodeCount:e.beforeNodeCount,afterNodeCount:e.afterNodeCount,isPartial:e.isPartial}}(u.compareDocuments(f,m)),o&&c?(v=ie,y=[p,o,c,s],[4,oe(ae(p,o),"before"===o?r:t,le)]):[3,5];case 4:return g=v.apply(void 0,y.concat([C.sent()])),[3,6];case 5:g=void 0,C.label=6;case 6:return b=function(e,r,t){if(!t)return[{type:"comparison",requestId:e,differences:r},[]];var n=[],a=function(e){var r=e.buffer;n.includes(r)||n.push(r)};return a(t.file),t.fragments.forEach((function(e){var r=e.bytes;return a(r)})),t.images.forEach((function(e){var r=e.bytes;return a(r)})),[{type:"comparison",requestId:e,differences:r,source:t},n]}(e,p,g),_=b[0],w=b[1],self.postMessage(_,{transfer:w}),[3,9];case 7:return T=C.sent(),self.postMessage({type:"error",requestId:e,message:T instanceof Error?T.message:String(T)}),[3,9];case 8:return i.forEach((function(e){return e.delete()})),[7];case 9:return[2]}}))}))},e}(),me=new fe;self.addEventListener("message",(function(e){switch(e.data.type){case"init":me.init(e.data.locateFile,e.data.mode);break;case"compare":me.compare(e.data.requestId,e.data.before,e.data.after,e.data.keep)}}));var pe,ge=(pe=document.currentScript&&document.currentScript.src||new URL("comparison-worker.js",document.baseURI).href,function(){var e,r,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=Object.assign({},t),a=new Promise(((t,n)=>{e=t,r=n})),o=Object.assign({},n),i="";"undefined"!=typeof document&&document.currentScript&&(i=document.currentScript.src),pe&&(i=pe),i=i.startsWith("blob:")?"":i.substr(0,i.replace(/[?#].*/,"").lastIndexOf("/")+1);var s,c,u=n.print||console.log.bind(console),l=n.printErr||console.error.bind(console);Object.assign(n,o),o=null;var d,f,m,p,g,h,v,y,b,_,w=!1;function T(){var e=c.buffer;d=new Int8Array(e),m=new Int16Array(e),f=new Uint8Array(e),p=new Uint16Array(e),g=new Int32Array(e),h=new Uint32Array(e),v=new Float32Array(e),_=new Float64Array(e),y=new BigInt64Array(e),b=new BigUint64Array(e)}var E=[],C=[],x=[],P=0,S=null;function A(e){var t;null===(t=n.onAbort)||void 0===t||t.call(n,e),l(e="Aborted("+e+")"),w=!0,e+=". Build with -sASSERTIONS for more info.";var a=new WebAssembly.RuntimeError(e);throw r(a),a}var F,L=e=>e.startsWith("data:application/octet-stream;base64,");function I(){if(n.locateFile){var e="web-renderer-release.wasm";return L(e)?e:(r=e,n.locateFile?n.locateFile(r,i):i+r)}var r;return new URL("web-renderer-release.wasm",document.currentScript&&document.currentScript.src||new URL("comparison-worker.js",document.baseURI).href).href}function D(e){if(e==F&&s)return new Uint8Array(s);throw"both async and sync fetching of the wasm failed"}function k(e,r,t){return function(e){return"function"==typeof fetch?fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '".concat(e,"'");return r.arrayBuffer()})).catch((()=>D(e))):Promise.resolve().then((()=>D(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then(t,(e=>{l("failed to asynchronously prepare wasm: ".concat(e)),A(e)}))}function M(e){this.name="ExitStatus",this.message="Program terminated with exit(".concat(e,")"),this.status=e}var O=e=>{for(;e.length>0;)e.shift()(n)},B=n.noExitRuntime||!0,W=e=>mo(e),U=()=>po(),G={},R=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function $(e){return this.fromWireType(h[e>>2])}var N,j,V,H={},Y={},z={},X=e=>{throw new N(e)},q=(e,r,t)=>{function n(r){var n=t(r);n.length!==e.length&&X("Mismatched type converter count");for(var a=0;a<e.length;++a)K(e[a],n[a])}e.forEach((function(e){z[e]=r}));var a=new Array(r.length),o=[],i=0;r.forEach(((e,r)=>{Y.hasOwnProperty(e)?a[r]=Y[e]:(o.push(e),H.hasOwnProperty(e)||(H[e]=[]),H[e].push((()=>{a[r]=Y[e],++i===o.length&&n(a)})))})),0===o.length&&n(a)},Q=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},J=e=>{for(var r="",t=e;f[t];)r+=j[f[t++]];return r},Z=e=>{throw new V(e)};function K(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=r.name;if(e||Z('type "'.concat(n,'" must have a positive integer typeid pointer')),Y.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;Z("Cannot register type '".concat(n,"' twice"))}if(Y[e]=r,delete z[e],H.hasOwnProperty(e)){var a=H[e];delete H[e],a.forEach((e=>e()))}}(e,r,t)}var ee,re=(e,r,t)=>{switch(r){case 1:return t?e=>d[e]:e=>f[e];case 2:return t?e=>m[e>>1]:e=>p[e>>1];case 4:return t?e=>g[e>>2]:e=>h[e>>2];case 8:return t?e=>y[e>>3]:e=>b[e>>3];default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}},te=8,ne=e=>{Z(e.$$.ptrType.registeredClass.name+" instance already deleted")},ae=!1,oe=e=>{},ie=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},se=(e,r,t)=>{if(r===t)return e;if(void 0===t.baseClass)return null;var n=se(e,r,t.baseClass);return null===n?null:t.downcast(n)},ce={},ue=()=>Object.keys(ge).length,le=()=>{var e=[];for(var r in ge)ge.hasOwnProperty(r)&&e.push(ge[r]);return e},de=[],fe=()=>{for(;de.length;){var e=de.pop();e.$$.deleteScheduled=!1,e.delete()}},me=e=>{ee=e,de.length&&ee&&ee(fe)},ge={},he=(e,r)=>(r=((e,r)=>{for(void 0===r&&Z("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r})(e,r),ge[r]),ve=(e,r)=>(r.ptrType&&r.ptr||X("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!=!!r.smartPtr&&X("Both smartPtrType and smartPtr must be specified"),r.count={value:1},be(Object.create(e,{$$:{value:r,writable:!0}})));function ye(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=he(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function a(){return this.isSmartPointer?ve(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):ve(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o,i=this.registeredClass.getActualType(r),s=ce[i];if(!s)return a.call(this);o=this.isConst?s.constPointerType:s.pointerType;var c=se(r,this.registeredClass,o.registeredClass);return null===c?a.call(this):this.isSmartPointer?ve(o.registeredClass.instancePrototype,{ptrType:o,ptr:c,smartPtrType:this,smartPtr:e}):ve(o.registeredClass.instancePrototype,{ptrType:o,ptr:c})}var be=e=>"undefined"==typeof FinalizationRegistry?(be=e=>e,e):(ae=new FinalizationRegistry((e=>{ie(e.$$)})),be=e=>{var r=e.$$;if(r.smartPtr){var t={$$:r};ae.register(e,t,e)}return e},oe=e=>ae.unregister(e),be(e));function _e(){}var we=(e,r)=>Object.defineProperty(r,"name",{value:e}),Te=(e,r,t)=>{if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return e[r].overloadTable.hasOwnProperty(a.length)||Z("Function '".concat(t,"' called with an invalid number of arguments (").concat(a.length,") - expects one of (").concat(e[r].overloadTable,")!")),e[r].overloadTable[a.length].apply(this,a)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}},Ee=(e,r,t)=>{n.hasOwnProperty(e)?((void 0===t||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[t])&&Z("Cannot register public name '".concat(e,"' twice")),Te(n,e,e),n.hasOwnProperty(t)&&Z("Cannot register multiple overloads of a function with the same number of arguments (".concat(t,")!")),n[e].overloadTable[t]=r):(n[e]=r,void 0!==t&&(n[e].numArguments=t))};function Ce(e,r,t,n,a,o,i,s){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=a,this.getActualType=o,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}var xe=(e,r,t)=>{for(;r!==t;)r.upcast||Z("Expected null or instance of ".concat(t.name,", got an instance of ").concat(r.name)),e=r.upcast(e),r=r.baseClass;return e};function Pe(e,r){if(null===r)return this.isReference&&Z("null is not a valid ".concat(this.name)),0;r.$$||Z('Cannot pass "'.concat(Q(r),'" as a ').concat(this.name)),r.$$.ptr||Z("Cannot pass deleted object as a pointer of type ".concat(this.name));var t=r.$$.ptrType.registeredClass;return xe(r.$$.ptr,t,this.registeredClass)}function Se(e,r){var t;if(null===r)return this.isReference&&Z("null is not a valid ".concat(this.name)),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r&&r.$$||Z('Cannot pass "'.concat(Q(r),'" as a ').concat(this.name)),r.$$.ptr||Z("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&r.$$.ptrType.isConst&&Z("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));var n=r.$$.ptrType.registeredClass;if(t=xe(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&Z("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:Z("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var a=r.clone();t=this.rawShare(t,qe.toHandle((()=>a.delete()))),null!==e&&e.push(this.rawDestructor,t)}break;default:Z("Unsupporting sharing policy")}return t}function Ae(e,r){if(null===r)return this.isReference&&Z("null is not a valid ".concat(this.name)),0;r.$$||Z('Cannot pass "'.concat(Q(r),'" as a ').concat(this.name)),r.$$.ptr||Z("Cannot pass deleted object as a pointer of type ".concat(this.name)),r.$$.ptrType.isConst&&Z("Cannot convert argument of type ".concat(r.$$.ptrType.name," to parameter type ").concat(this.name));var t=r.$$.ptrType.registeredClass;return xe(r.$$.ptr,t,this.registeredClass)}function Fe(e,r,t,n,a,o,i,s,c,u,l){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=a,this.pointeeType=o,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,a||void 0!==r.baseClass?this.toWireType=Se:n?(this.toWireType=Pe,this.destructorFunction=null):(this.toWireType=Ae,this.destructorFunction=null)}var Le,Ie,De=(e,r,t)=>{n.hasOwnProperty(e)||X("Replacing nonexistent public symbol"),void 0!==n[e].overloadTable&&void 0!==t?n[e].overloadTable[t]=r:(n[e]=r,n[e].argCount=t)},ke=[],Me=e=>{var r=ke[e];return r||(e>=ke.length&&(ke.length=e+1),ke[e]=r=Le.get(e)),r},Oe=(e,r)=>{e=J(e);var t=Me(r);return"function"!=typeof t&&Z("unknown function pointer with signature ".concat(e,": ").concat(r)),t},Be=e=>{var r=co(e),t=J(r);return lo(r),t},We=(e,r)=>{var t=[],n={};throw r.forEach((function e(r){n[r]||Y[r]||(z[r]?z[r].forEach(e):(t.push(r),n[r]=!0))})),new Ie("".concat(e,": ")+t.map(Be).join([", "]))};function Ue(e){for(var r=1;r<e.length;++r)if(null!==e[r]&&void 0===e[r].destructorFunction)return!0;return!1}function Ge(e,r){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var t=we(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var n=new t,a=e.apply(n,r);return a instanceof Object?a:n}function Re(e,r,t,n,a,o){var i=r.length;i<2&&Z("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==r[1]&&null!==t,c=Ue(r),u="void"!==r[0].name,l=[e,Z,n,a,R,r[0],r[1]],d=0;d<i-2;++d)l.push(r[d+2]);if(!c)for(d=s?1:2;d<r.length;++d)null!==r[d].destructorFunction&&l.push(r[d].destructorFunction);var[f,m]=function(e,r,t,n){for(var a=Ue(e),o=e.length,i="",s="",c=0;c<o-2;++c)i+=(0!==c?", ":"")+"arg"+c,s+=(0!==c?", ":"")+"arg"+c+"Wired";var u="\n return function (".concat(i,") {\n if (arguments.length !== ").concat(o-2,") {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ").concat(o-2,"');\n }");a&&(u+="var destructors = [];\n");var l=a?"destructors":"null",d=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(r&&(u+="var thisWired = classParam['toWireType']("+l+", this);\n"),c=0;c<o-2;++c)u+="var arg"+c+"Wired = argType"+c+"['toWireType']("+l+", arg"+c+");\n",d.push("argType"+c);if(r&&(s="thisWired"+(s.length>0?", ":"")+s),u+=(t||n?"var rv = ":"")+"invoker(fn"+(s.length>0?", ":"")+s+");\n",a)u+="runDestructors(destructors);\n";else for(c=r?1:2;c<e.length;++c){var f=1===c?"thisWired":"arg"+(c-2)+"Wired";null!==e[c].destructorFunction&&(u+="".concat(f,"_dtor(").concat(f,");\n"),d.push("".concat(f,"_dtor")))}return t&&(u+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),[d,u+="}\n"]}(r,s,u,o);f.push(m);var p=Ge(Function,f)(...l);return we(e,p)}var $e,Ne=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(h[r+4*n>>2]);return t},je=e=>{var r=(e=e.trim()).indexOf("(");return-1!==r?e.substr(0,r):e},Ve=(e,r,t)=>(e instanceof Object||Z("".concat(t,' with invalid "this": ').concat(e)),e instanceof r.registeredClass.constructor||Z("".concat(t,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||Z("cannot call emscripten binding method ".concat(t," on deleted object")),xe(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),He=[],Ye=[],ze=e=>{e>9&&0==--Ye[e+1]&&(Ye[e]=void 0,He.push(e))},Xe=()=>Ye.length/2-5-He.length,qe={toValue:e=>(e||Z("Cannot use deleted val. handle = "+e),Ye[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:var r=He.pop()||Ye.length;return Ye[r]=e,Ye[r+1]=1,r}}},Qe={name:"emscripten::val",fromWireType:e=>{var r=qe.toValue(e);return ze(e),r},toWireType:(e,r)=>qe.toHandle(r),argPackAdvance:te,readValueFromPointer:$,destructorFunction:null},Je=e=>K(e,Qe),Ze=(e,r,t)=>{switch(r){case 1:return t?function(e){return this.fromWireType(d[e])}:function(e){return this.fromWireType(f[e])};case 2:return t?function(e){return this.fromWireType(m[e>>1])}:function(e){return this.fromWireType(p[e>>1])};case 4:return t?function(e){return this.fromWireType(g[e>>2])}:function(e){return this.fromWireType(h[e>>2])};default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}},Ke=(e,r)=>{var t=Y[e];return void 0===t&&Z("".concat(r," has unknown type ").concat(Be(e))),t},er=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(v[e>>2])};case 8:return function(e){return this.fromWireType(_[e>>3])};default:throw new TypeError("invalid float width (".concat(r,"): ").concat(e))}},rr=(e,r,t,n)=>{if(!(n>0))return 0;for(var a=t,o=t+n-1,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),s<=127){if(t>=o)break;r[t++]=s}else if(s<=2047){if(t+1>=o)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=o)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=o)break;r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-a},tr=(e,r,t)=>rr(e,f,r,t),nr=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},ar="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,or=(e,r,t)=>{for(var n=r+t,a=r;e[a]&&!(a>=n);)++a;if(a-r>16&&e.buffer&&ar)return ar.decode(e.subarray(r,a));for(var o="";r<a;){var i=e[r++];if(128&i){var s=63&e[r++];if(192!=(224&i)){var c=63&e[r++];if((i=224==(240&i)?(15&i)<<12|s<<6|c:(7&i)<<18|s<<12|c<<6|63&e[r++])<65536)o+=String.fromCharCode(i);else{var u=i-65536;o+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else o+=String.fromCharCode((31&i)<<6|s)}else o+=String.fromCharCode(i)}return o},ir=(e,r)=>e?or(f,e,r):"",sr="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,cr=(e,r)=>{for(var t=e,n=t>>1,a=n+r/2;!(n>=a)&&p[n];)++n;if((t=n<<1)-e>32&&sr)return sr.decode(f.subarray(e,t));for(var o="",i=0;!(i>=r/2);++i){var s=m[e+2*i>>1];if(0==s)break;o+=String.fromCharCode(s)}return o},ur=(e,r,t)=>{var n;if(null!==(n=t)&&void 0!==n||(t=2147483647),t<2)return 0;for(var a=r,o=(t-=2)<2*e.length?t/2:e.length,i=0;i<o;++i){var s=e.charCodeAt(i);m[r>>1]=s,r+=2}return m[r>>1]=0,r-a},lr=e=>2*e.length,dr=(e,r)=>{for(var t=0,n="";!(t>=r/4);){var a=g[e+4*t>>2];if(0==a)break;if(++t,a>=65536){var o=a-65536;n+=String.fromCharCode(55296|o>>10,56320|1023&o)}else n+=String.fromCharCode(a)}return n},fr=(e,r,t)=>{var n;if(null!==(n=t)&&void 0!==n||(t=2147483647),t<4)return 0;for(var a=r,o=a+t-4,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i)),g[r>>2]=s,(r+=4)+4>o)break}return g[r>>2]=0,r-a},mr=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&++t,r+=4}return r},pr=(e,r,t)=>{var n=[],a=e.toWireType(n,t);return n.length&&(h[r>>2]=qe.toHandle(n)),a},gr=[],hr={},vr=e=>{var r=hr[e];return void 0===r?J(e):r},yr=()=>"object"==typeof globalThis?globalThis:Function("return this")();$e=()=>performance.now();var br,_r,wr,Tr,Er=e=>{var r=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(e.getSupportedExtensions()||[]).filter((e=>r.includes(e)))},Cr={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:e=>{Cr.lastError||(Cr.lastError=e)},getNewId:e=>{for(var r=Cr.counter++,t=e.length;t<r;t++)e[t]=null;return r},genObject:(e,r,t,n)=>{for(var a=0;a<e;a++){var o=Tr[t](),i=o&&Cr.getNewId(n);o?(o.name=i,n[i]=o):Cr.recordError(1282),g[r+4*a>>2]=i}},getSource:(e,r,t,n)=>{for(var a="",o=0;o<r;++o){var i=n?h[n+4*o>>2]:void 0;a+=ir(h[t+4*o>>2],i)}return a},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){function n(r,t){var n=e.getContextSafariWebGL2Fixed(r,t);return"webgl"==r==n instanceof WebGLRenderingContext?n:null}e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=n}var t=r.majorVersion>1?e.getContext("webgl2",r):e.getContext("webgl",r);return t?Cr.registerContext(t,r):0},registerContext:(e,r)=>{var t=Cr.getNewId(Cr.contexts),n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),Cr.contexts[t]=n,(void 0===r.enableExtensionsByDefault||r.enableExtensionsByDefault)&&Cr.initExtensions(n),t},makeContextCurrent:e=>{var r;return Cr.currentContext=Cr.contexts[e],n.ctx=Tr=null===(r=Cr.currentContext)||void 0===r?void 0:r.GLctx,!(e&&!Tr)},getContext:e=>Cr.contexts[e],deleteContext:e=>{Cr.currentContext===Cr.contexts[e]&&(Cr.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(Cr.contexts[e].GLctx.canvas),Cr.contexts[e]&&Cr.contexts[e].GLctx.canvas&&(Cr.contexts[e].GLctx.canvas.GLctxObject=void 0),Cr.contexts[e]=null},initExtensions:e=>{if(e||(e=Cr.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r,t=e.GLctx;(e=>{var r=e.getExtension("ANGLE_instanced_arrays");r&&(e.vertexAttribDivisor=(e,t)=>r.vertexAttribDivisorANGLE(e,t),e.drawArraysInstanced=(e,t,n,a)=>r.drawArraysInstancedANGLE(e,t,n,a),e.drawElementsInstanced=(e,t,n,a,o)=>r.drawElementsInstancedANGLE(e,t,n,a,o))})(t),(e=>{var r=e.getExtension("OES_vertex_array_object");r&&(e.createVertexArray=()=>r.createVertexArrayOES(),e.deleteVertexArray=e=>r.deleteVertexArrayOES(e),e.bindVertexArray=e=>r.bindVertexArrayOES(e),e.isVertexArray=e=>r.isVertexArrayOES(e))})(t),(e=>{var r=e.getExtension("WEBGL_draw_buffers");r&&(e.drawBuffers=(e,t)=>r.drawBuffersWEBGL(e,t))})(t),(r=t).dibvbi=r.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),(e=>{e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")})(t),e.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),(e=>{e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")})(t),Er(t).forEach((e=>{e.includes("lose_context")||e.includes("debug")||t.getExtension(e)}))}}},xr=e=>Tr.activeTexture(e),Pr=(e,r)=>{Tr.attachShader(Cr.programs[e],Cr.shaders[r])},Sr=(e,r)=>{Tr.beginQuery(e,Cr.queries[r])},Ar=(e,r)=>{Tr.disjointTimerQueryExt.beginQueryEXT(e,Cr.queries[r])},Fr=(e,r,t)=>{Tr.bindAttribLocation(Cr.programs[e],r,ir(t))},Lr=(e,r)=>{35051==e?Tr.currentPixelPackBufferBinding=r:35052==e&&(Tr.currentPixelUnpackBufferBinding=r),Tr.bindBuffer(e,Cr.buffers[r])},Ir=(e,r)=>{Tr.bindFramebuffer(e,Cr.framebuffers[r])},Dr=Ir,kr=(e,r)=>{Tr.bindRenderbuffer(e,Cr.renderbuffers[r])},Mr=(e,r)=>{Tr.bindSampler(e,Cr.samplers[r])},Or=(e,r)=>{Tr.bindTexture(e,Cr.textures[r])},Br=e=>{Tr.bindVertexArray(Cr.vaos[e])},Wr=Br,Ur=Br,Gr=Ur,Rr=(e,r,t,n)=>Tr.blendColor(e,r,t,n),$r=e=>Tr.blendEquation(e),Nr=(e,r)=>Tr.blendFunc(e,r),jr=(e,r,t,n,a,o,i,s,c,u)=>Tr.blitFramebuffer(e,r,t,n,a,o,i,s,c,u),Vr=(e,r,t,n)=>{Cr.currentContext.version>=2?t&&r?Tr.bufferData(e,f,n,t,r):Tr.bufferData(e,r,n):Tr.bufferData(e,t?f.subarray(t,t+r):r,n)},Hr=(e,r,t,n)=>{Cr.currentContext.version>=2?t&&Tr.bufferSubData(e,r,f,n,t):Tr.bufferSubData(e,r,f.subarray(n,n+t))},Yr=e=>Tr.checkFramebufferStatus(e),zr=e=>Tr.clear(e),Xr=zr,qr=(e,r,t,n)=>Tr.clearColor(e,r,t,n),Qr=qr,Jr=e=>Tr.clearStencil(e),Zr=Jr,Kr=(e,r,t)=>(t=Number(t),Tr.clientWaitSync(Cr.syncs[e],r,t)),et=(e,r,t,n)=>{Tr.colorMask(!!e,!!r,!!t,!!n)},rt=e=>{Tr.compileShader(Cr.shaders[e])},tt=(e,r,t,n,a,o,i,s)=>{if(Cr.currentContext.version>=2)return Tr.currentPixelUnpackBufferBinding||!i?void Tr.compressedTexImage2D(e,r,t,n,a,o,i,s):void Tr.compressedTexImage2D(e,r,t,n,a,o,f,s,i);Tr.compressedTexImage2D(e,r,t,n,a,o,s?f.subarray(s,s+i):null)},nt=(e,r,t,n,a,o,i,s,c)=>{if(Cr.currentContext.version>=2)return Tr.currentPixelUnpackBufferBinding||!s?void Tr.compressedTexSubImage2D(e,r,t,n,a,o,i,s,c):void Tr.compressedTexSubImage2D(e,r,t,n,a,o,i,f,c,s);Tr.compressedTexSubImage2D(e,r,t,n,a,o,i,c?f.subarray(c,c+s):null)},at=(e,r,t,n,a)=>Tr.copyBufferSubData(e,r,t,n,a),ot=(e,r,t,n,a,o,i,s)=>Tr.copyTexSubImage2D(e,r,t,n,a,o,i,s),it=()=>{var e=Cr.getNewId(Cr.programs),r=Tr.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,Cr.programs[e]=r,e},st=e=>{var r=Cr.getNewId(Cr.shaders);return Cr.shaders[r]=Tr.createShader(e),r},ct=e=>Tr.cullFace(e),ut=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Cr.buffers[n];a&&(Tr.deleteBuffer(a),a.name=0,Cr.buffers[n]=null,n==Tr.currentPixelPackBufferBinding&&(Tr.currentPixelPackBufferBinding=0),n==Tr.currentPixelUnpackBufferBinding&&(Tr.currentPixelUnpackBufferBinding=0))}},lt=(e,r)=>{for(var t=0;t<e;++t){var n=g[r+4*t>>2],a=Cr.framebuffers[n];a&&(Tr.deleteFramebuffer(a),a.name=0,Cr.framebuffers[n]=null)}},dt=e=>{if(e){var r=Cr.programs[e];r?(Tr.deleteProgram(r),r.name=0,Cr.programs[e]=null):Cr.recordError(1281)}},ft=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Cr.queries[n];a&&(Tr.deleteQuery(a),Cr.queries[n]=null)}},mt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Cr.queries[n];a&&(Tr.disjointTimerQueryExt.deleteQueryEXT(a),Cr.queries[n]=null)}},pt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Cr.renderbuffers[n];a&&(Tr.deleteRenderbuffer(a),a.name=0,Cr.renderbuffers[n]=null)}},gt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Cr.samplers[n];a&&(Tr.deleteSampler(a),a.name=0,Cr.samplers[n]=null)}},ht=e=>{if(e){var r=Cr.shaders[e];r?(Tr.deleteShader(r),Cr.shaders[e]=null):Cr.recordError(1281)}},vt=e=>{if(e){var r=Cr.syncs[e];r?(Tr.deleteSync(r),r.name=0,Cr.syncs[e]=null):Cr.recordError(1281)}},yt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2],a=Cr.textures[n];a&&(Tr.deleteTexture(a),a.name=0,Cr.textures[n]=null)}},bt=(e,r)=>{for(var t=0;t<e;t++){var n=g[r+4*t>>2];Tr.deleteVertexArray(Cr.vaos[n]),Cr.vaos[n]=null}},_t=bt,wt=bt,Tt=wt,Et=e=>{Tr.depthMask(!!e)},Ct=e=>Tr.disable(e),xt=e=>{Tr.disableVertexAttribArray(e)},Pt=(e,r,t)=>{Tr.drawArrays(e,r,t)},St=(e,r,t,n)=>{Tr.drawArraysInstanced(e,r,t,n)},At=(e,r,t,n,a)=>{Tr.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,r,t,n,a)},Ft=[],Lt=(e,r)=>{for(var t=Ft[e],n=0;n<e;n++)t[n]=g[r+4*n>>2];Tr.drawBuffers(t)},It=(e,r,t,n)=>{Tr.drawElements(e,r,t,n)},Dt=It,kt=(e,r,t,n,a)=>{Tr.drawElementsInstanced(e,r,t,n,a)},Mt=(e,r,t,n,a,o,i)=>{Tr.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,r,t,n,a,o,i)},Ot=(e,r,t,n,a,o)=>{It(e,n,a,o)},Bt=e=>Tr.enable(e),Wt=e=>{Tr.enableVertexAttribArray(e)},Ut=e=>Tr.endQuery(e),Gt=e=>{Tr.disjointTimerQueryExt.endQueryEXT(e)},Rt=(e,r)=>{var t=Tr.fenceSync(e,r);if(t){var n=Cr.getNewId(Cr.syncs);return t.name=n,Cr.syncs[n]=t,n}return 0},$t=()=>Tr.finish(),Nt=()=>Tr.flush(),jt=(e,r,t,n)=>{Tr.framebufferRenderbuffer(e,r,t,Cr.renderbuffers[n])},Vt=(e,r,t,n,a)=>{Tr.framebufferTexture2D(e,r,t,Cr.textures[n],a)},Ht=e=>Tr.frontFace(e),Yt=(e,r)=>{Cr.genObject(e,r,"createBuffer",Cr.buffers)},zt=(e,r)=>{Cr.genObject(e,r,"createFramebuffer",Cr.framebuffers)},Xt=(e,r)=>{Cr.genObject(e,r,"createQuery",Cr.queries)},qt=(e,r)=>{for(var t=0;t<e;t++){var n=Tr.disjointTimerQueryExt.createQueryEXT();if(!n){for(Cr.recordError(1282);t<e;)g[r+4*t++>>2]=0;return}var a=Cr.getNewId(Cr.queries);n.name=a,Cr.queries[a]=n,g[r+4*t>>2]=a}},Qt=(e,r)=>{Cr.genObject(e,r,"createRenderbuffer",Cr.renderbuffers)},Jt=(e,r)=>{Cr.genObject(e,r,"createSampler",Cr.samplers)},Zt=(e,r)=>{Cr.genObject(e,r,"createTexture",Cr.textures)},Kt=(e,r)=>{Cr.genObject(e,r,"createVertexArray",Cr.vaos)},en=Kt,rn=Kt,tn=e=>Tr.generateMipmap(e),nn=(e,r,t)=>{t?g[t>>2]=Tr.getBufferParameter(e,r):Cr.recordError(1281)},an=()=>{var e=Tr.getError()||Cr.lastError;return Cr.lastError=0,e},on=(e,r)=>{h[e>>2]=r;var t=h[e>>2];h[e+4>>2]=(r-t)/4294967296},sn=function(){var e=Er(Tr);return e=e.concat(e.map((e=>"GL_"+e)))},cn=(e,r,t)=>{if(r){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=t&&1!=t&&Cr.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var a=Tr.getParameter(34467);n=a?a.length:0;break;case 33309:if(Cr.currentContext.version<2)return void Cr.recordError(1282);n=sn().length;break;case 33307:case 33308:if(Cr.currentContext.version<2)return void Cr.recordError(1280);n=33307==e?3:0}if(void 0===n){var o=Tr.getParameter(e);switch(typeof o){case"number":n=o;break;case"boolean":n=o?1:0;break;case"string":return void Cr.recordError(1280);case"object":if(null===o)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Cr.recordError(1280)}else{if(o instanceof Float32Array||o instanceof Uint32Array||o instanceof Int32Array||o instanceof Array){for(var i=0;i<o.length;++i)switch(t){case 0:g[r+4*i>>2]=o[i];break;case 2:v[r+4*i>>2]=o[i];break;case 4:d[r+i]=o[i]?1:0}return}try{n=0|o.name}catch(r){return Cr.recordError(1280),void l("GL_INVALID_ENUM in glGet".concat(t,"v: Unknown object returned from WebGL getParameter(").concat(e,")! (error: ").concat(r,")"))}}break;default:return Cr.recordError(1280),void l("GL_INVALID_ENUM in glGet".concat(t,"v: Native code calling glGet").concat(t,"v(").concat(e,") and it returns ").concat(o," of type ").concat(typeof o,"!"))}}switch(t){case 1:on(r,n);break;case 0:g[r>>2]=n;break;case 2:v[r>>2]=n;break;case 4:d[r]=n?1:0}}else Cr.recordError(1281)},un=(e,r)=>cn(e,r,2),ln=(e,r,t,n)=>{var a=Tr.getFramebufferAttachmentParameter(e,r,t);(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)&&(a=0|a.name),g[n>>2]=a},dn=(e,r)=>cn(e,r,0),fn=dn,mn=(e,r,t,n)=>{var a=Tr.getProgramInfoLog(Cr.programs[e]);null===a&&(a="(unknown error)");var o=r>0&&n?tr(a,n,r):0;t&&(g[t>>2]=o)},pn=(e,r,t)=>{if(t)if(e>=Cr.counter)Cr.recordError(1281);else if(e=Cr.programs[e],35716==r){var n=Tr.getProgramInfoLog(e);null===n&&(n="(unknown error)"),g[t>>2]=n.length+1}else if(35719==r){if(!e.maxUniformLength)for(var a=0;a<Tr.getProgramParameter(e,35718);++a)e.maxUniformLength=Math.max(e.maxUniformLength,Tr.getActiveUniform(e,a).name.length+1);g[t>>2]=e.maxUniformLength}else if(35722==r){if(!e.maxAttributeLength)for(a=0;a<Tr.getProgramParameter(e,35721);++a)e.maxAttributeLength=Math.max(e.maxAttributeLength,Tr.getActiveAttrib(e,a).name.length+1);g[t>>2]=e.maxAttributeLength}else if(35381==r){if(!e.maxUniformBlockNameLength)for(a=0;a<Tr.getProgramParameter(e,35382);++a)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,Tr.getActiveUniformBlockName(e,a).length+1);g[t>>2]=e.maxUniformBlockNameLength}else g[t>>2]=Tr.getProgramParameter(e,r);else Cr.recordError(1281)},gn=(e,r,t)=>{if(t){var n,a=Cr.queries[e];n=Cr.currentContext.version<2?Tr.disjointTimerQueryExt.getQueryObjectEXT(a,r):Tr.getQueryParameter(a,r),on(t,"boolean"==typeof n?n?1:0:n)}else Cr.recordError(1281)},hn=gn,vn=gn,yn=(e,r,t)=>{if(t){var n,a=Cr.queries[e],o=Tr.getQueryParameter(a,r);n="boolean"==typeof o?o?1:0:o,g[t>>2]=n}else Cr.recordError(1281)},bn=(e,r,t)=>{if(t){var n,a=Cr.queries[e],o=Tr.disjointTimerQueryExt.getQueryObjectEXT(a,r);n="boolean"==typeof o?o?1:0:o,g[t>>2]=n}else Cr.recordError(1281)},_n=(e,r,t)=>{t?g[t>>2]=Tr.getQuery(e,r):Cr.recordError(1281)},wn=(e,r,t)=>{t?g[t>>2]=Tr.disjointTimerQueryExt.getQueryEXT(e,r):Cr.recordError(1281)},Tn=(e,r,t)=>{t?g[t>>2]=Tr.getRenderbufferParameter(e,r):Cr.recordError(1281)},En=(e,r,t,n)=>{var a=Tr.getShaderInfoLog(Cr.shaders[e]);null===a&&(a="(unknown error)");var o=r>0&&n?tr(a,n,r):0;t&&(g[t>>2]=o)},Cn=(e,r,t,n)=>{var a=Tr.getShaderPrecisionFormat(e,r);g[t>>2]=a.rangeMin,g[t+4>>2]=a.rangeMax,g[n>>2]=a.precision},xn=(e,r,t)=>{if(t)if(35716==r){var n=Tr.getShaderInfoLog(Cr.shaders[e]);null===n&&(n="(unknown error)");var a=n?n.length+1:0;g[t>>2]=a}else if(35720==r){var o=Tr.getShaderSource(Cr.shaders[e]),i=o?o.length+1:0;g[t>>2]=i}else g[t>>2]=Tr.getShaderParameter(Cr.shaders[e],r);else Cr.recordError(1281)},Pn=e=>{var r=nr(e)+1,t=uo(r);return t&&tr(e,t,r),t},Sn=e=>{var r=Cr.stringCache[e];if(!r){switch(e){case 7939:r=Pn(sn().join(" "));break;case 7936:case 7937:case 37445:case 37446:var t=Tr.getParameter(e);t||Cr.recordError(1280),r=t?Pn(t):0;break;case 7938:var n=Tr.getParameter(7938);n=Cr.currentContext.version>=2?"OpenGL ES 3.0 (".concat(n,")"):"OpenGL ES 2.0 (".concat(n,")"),r=Pn(n);break;case 35724:var a=Tr.getParameter(35724),o=a.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==o&&(3==o[1].length&&(o[1]=o[1]+"0"),a="OpenGL ES GLSL ES ".concat(o[1]," (").concat(a,")")),r=Pn(a);break;default:Cr.recordError(1280)}Cr.stringCache[e]=r}return r},An=Sn,Fn=(e,r)=>{if(Cr.currentContext.version<2)return Cr.recordError(1282),0;var t=Cr.stringiCache[e];if(t)return r<0||r>=t.length?(Cr.recordError(1281),0):t[r];if(7939===e){var n=sn().map(Pn);return t=Cr.stringiCache[e]=n,r<0||r>=t.length?(Cr.recordError(1281),0):t[r]}return Cr.recordError(1280),0},Ln=Fn,In=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Dn=(e,r)=>{if(r=ir(r),e=Cr.programs[e]){(e=>{var r,t,n=e.uniformLocsById,a=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},r=0;r<Tr.getProgramParameter(e,35718);++r){var o=Tr.getActiveUniform(e,r),i=o.name,s=o.size,c=In(i),u=c>0?i.slice(0,c):i,l=e.uniformIdCounter;for(e.uniformIdCounter+=s,a[u]=[s,l],t=0;t<s;++t)n[l]=t,e.uniformArrayNamesById[l++]=u}})(e);var t=e.uniformLocsById,n=0,a=r,o=In(r);o>0&&(s=r.slice(o+1),n=parseInt(s)>>>0,a=r.slice(0,o));var i=e.uniformSizeAndIdsByName[a];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||Tr.getUniformLocation(e,r)))return n}else Cr.recordError(1281);var s;return-1},kn=(e,r,t)=>{for(var n=Ft[r],a=0;a<r;a++)n[a]=g[t+4*a>>2];Tr.invalidateFramebuffer(e,n)},Mn=(e,r,t,n,a,o,i)=>{for(var s=Ft[r],c=0;c<r;c++)s[c]=g[t+4*c>>2];Tr.invalidateSubFramebuffer(e,s,n,a,o,i)},On=e=>Tr.isSync(Cr.syncs[e]),Bn=e=>{var r=Cr.textures[e];return r?Tr.isTexture(r):0},Wn=e=>Tr.lineWidth(e),Un=e=>{e=Cr.programs[e],Tr.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Gn=(e,r,t,n,a,o)=>{Tr.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,g,r>>2,g,t>>2,g,n>>2,h,a>>2,o)},Rn=(e,r,t,n,a,o,i,s)=>{Tr.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,g,r>>2,t,g,n>>2,g,a>>2,g,o>>2,h,i>>2,s)},$n=(e,r)=>{3317==e&&(Cr.unpackAlignment=r),Tr.pixelStorei(e,r)},Nn=(e,r)=>{Tr.disjointTimerQueryExt.queryCounterEXT(Cr.queries[e],r)},jn=e=>Tr.readBuffer(e),Vn=e=>0==(e-=5120)?d:1==e?f:2==e?m:4==e?g:6==e?v:5==e||28922==e||28520==e||30779==e||30782==e?h:p,Hn=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),Yn=(e,r,t,n,a,o)=>{var i=Vn(e),s=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(r)*i.BYTES_PER_ELEMENT,c=((e,r,t,n)=>{var a;return r*(e*t+(a=n)-1&-a)})(t,n,s,Cr.unpackAlignment);return i.subarray(Hn(a,i),Hn(a+c,i))},zn=(e,r,t,n,a,o,i)=>{if(Cr.currentContext.version>=2){if(Tr.currentPixelPackBufferBinding)return void Tr.readPixels(e,r,t,n,a,o,i);var s=Vn(o),c=Hn(i,s);Tr.readPixels(e,r,t,n,a,o,s,c)}else{var u=Yn(o,a,t,n,i);u?Tr.readPixels(e,r,t,n,a,o,u):Cr.recordError(1280)}},Xn=(e,r,t,n)=>Tr.renderbufferStorage(e,r,t,n),qn=(e,r,t,n,a)=>Tr.renderbufferStorageMultisample(e,r,t,n,a),Qn=(e,r,t)=>{Tr.samplerParameterf(Cr.samplers[e],r,t)},Jn=(e,r,t)=>{Tr.samplerParameteri(Cr.samplers[e],r,t)},Zn=(e,r,t)=>{var n=g[t>>2];Tr.samplerParameteri(Cr.samplers[e],r,n)},Kn=(e,r,t,n)=>Tr.scissor(e,r,t,n),ea=(e,r,t,n)=>{var a=Cr.getSource(e,r,t,n);Tr.shaderSource(Cr.shaders[e],a)},ra=(e,r,t)=>Tr.stencilFunc(e,r,t),ta=(e,r,t,n)=>Tr.stencilFuncSeparate(e,r,t,n),na=e=>Tr.stencilMask(e),aa=(e,r)=>Tr.stencilMaskSeparate(e,r),oa=(e,r,t)=>Tr.stencilOp(e,r,t),ia=(e,r,t,n)=>Tr.stencilOpSeparate(e,r,t,n),sa=(e,r,t,n,a,o,i,s,c)=>{if(Cr.currentContext.version>=2){if(Tr.currentPixelUnpackBufferBinding)return void Tr.texImage2D(e,r,t,n,a,o,i,s,c);if(c){var u=Vn(s),l=Hn(c,u);return void Tr.texImage2D(e,r,t,n,a,o,i,s,u,l)}}var d=c?Yn(s,i,n,a,c):null;Tr.texImage2D(e,r,t,n,a,o,i,s,d)},ca=(e,r,t)=>Tr.texParameterf(e,r,t),ua=(e,r,t)=>{var n=v[t>>2];Tr.texParameterf(e,r,n)},la=(e,r,t)=>Tr.texParameteri(e,r,t),da=(e,r,t)=>{var n=g[t>>2];Tr.texParameteri(e,r,n)},fa=(e,r,t,n,a)=>Tr.texStorage2D(e,r,t,n,a),ma=(e,r,t,n,a,o,i,s,c)=>{if(Cr.currentContext.version>=2){if(Tr.currentPixelUnpackBufferBinding)return void Tr.texSubImage2D(e,r,t,n,a,o,i,s,c);if(c){var u=Vn(s);return void Tr.texSubImage2D(e,r,t,n,a,o,i,s,u,Hn(c,u))}}var l=c?Yn(s,i,a,o,c):null;Tr.texSubImage2D(e,r,t,n,a,o,i,s,l)},pa=e=>{var r=Tr.currentProgram;if(r){var t=r.uniformLocsById[e];return"number"==typeof t&&(r.uniformLocsById[e]=t=Tr.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?"[".concat(t,"]"):""))),t}Cr.recordError(1282)},ga=(e,r)=>{Tr.uniform1f(pa(e),r)},ha=[],va=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform1fv(pa(e),v,t>>2,r);else{if(r<=288)for(var n=ha[r],a=0;a<r;++a)n[a]=v[t+4*a>>2];else n=v.subarray(t>>2,t+4*r>>2);Tr.uniform1fv(pa(e),n)}},ya=(e,r)=>{Tr.uniform1i(pa(e),r)},ba=[],_a=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform1iv(pa(e),g,t>>2,r);else{if(r<=288)for(var n=ba[r],a=0;a<r;++a)n[a]=g[t+4*a>>2];else n=g.subarray(t>>2,t+4*r>>2);Tr.uniform1iv(pa(e),n)}},wa=(e,r,t)=>{Tr.uniform2f(pa(e),r,t)},Ta=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform2fv(pa(e),v,t>>2,2*r);else{if(r<=144)for(var n=ha[2*r],a=0;a<2*r;a+=2)n[a]=v[t+4*a>>2],n[a+1]=v[t+(4*a+4)>>2];else n=v.subarray(t>>2,t+8*r>>2);Tr.uniform2fv(pa(e),n)}},Ea=(e,r,t)=>{Tr.uniform2i(pa(e),r,t)},Ca=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform2iv(pa(e),g,t>>2,2*r);else{if(r<=144)for(var n=ba[2*r],a=0;a<2*r;a+=2)n[a]=g[t+4*a>>2],n[a+1]=g[t+(4*a+4)>>2];else n=g.subarray(t>>2,t+8*r>>2);Tr.uniform2iv(pa(e),n)}},xa=(e,r,t,n)=>{Tr.uniform3f(pa(e),r,t,n)},Pa=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform3fv(pa(e),v,t>>2,3*r);else{if(r<=96)for(var n=ha[3*r],a=0;a<3*r;a+=3)n[a]=v[t+4*a>>2],n[a+1]=v[t+(4*a+4)>>2],n[a+2]=v[t+(4*a+8)>>2];else n=v.subarray(t>>2,t+12*r>>2);Tr.uniform3fv(pa(e),n)}},Sa=(e,r,t,n)=>{Tr.uniform3i(pa(e),r,t,n)},Aa=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform3iv(pa(e),g,t>>2,3*r);else{if(r<=96)for(var n=ba[3*r],a=0;a<3*r;a+=3)n[a]=g[t+4*a>>2],n[a+1]=g[t+(4*a+4)>>2],n[a+2]=g[t+(4*a+8)>>2];else n=g.subarray(t>>2,t+12*r>>2);Tr.uniform3iv(pa(e),n)}},Fa=(e,r,t,n,a)=>{Tr.uniform4f(pa(e),r,t,n,a)},La=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform4fv(pa(e),v,t>>2,4*r);else{if(r<=72){var n=ha[4*r],a=v;t>>=2;for(var o=0;o<4*r;o+=4){var i=t+o;n[o]=a[i],n[o+1]=a[i+1],n[o+2]=a[i+2],n[o+3]=a[i+3]}}else n=v.subarray(t>>2,t+16*r>>2);Tr.uniform4fv(pa(e),n)}},Ia=(e,r,t,n,a)=>{Tr.uniform4i(pa(e),r,t,n,a)},Da=(e,r,t)=>{if(Cr.currentContext.version>=2)r&&Tr.uniform4iv(pa(e),g,t>>2,4*r);else{if(r<=72)for(var n=ba[4*r],a=0;a<4*r;a+=4)n[a]=g[t+4*a>>2],n[a+1]=g[t+(4*a+4)>>2],n[a+2]=g[t+(4*a+8)>>2],n[a+3]=g[t+(4*a+12)>>2];else n=g.subarray(t>>2,t+16*r>>2);Tr.uniform4iv(pa(e),n)}},ka=(e,r,t,n)=>{if(Cr.currentContext.version>=2)r&&Tr.uniformMatrix2fv(pa(e),!!t,v,n>>2,4*r);else{if(r<=72)for(var a=ha[4*r],o=0;o<4*r;o+=4)a[o]=v[n+4*o>>2],a[o+1]=v[n+(4*o+4)>>2],a[o+2]=v[n+(4*o+8)>>2],a[o+3]=v[n+(4*o+12)>>2];else a=v.subarray(n>>2,n+16*r>>2);Tr.uniformMatrix2fv(pa(e),!!t,a)}},Ma=(e,r,t,n)=>{if(Cr.currentContext.version>=2)r&&Tr.uniformMatrix3fv(pa(e),!!t,v,n>>2,9*r);else{if(r<=32)for(var a=ha[9*r],o=0;o<9*r;o+=9)a[o]=v[n+4*o>>2],a[o+1]=v[n+(4*o+4)>>2],a[o+2]=v[n+(4*o+8)>>2],a[o+3]=v[n+(4*o+12)>>2],a[o+4]=v[n+(4*o+16)>>2],a[o+5]=v[n+(4*o+20)>>2],a[o+6]=v[n+(4*o+24)>>2],a[o+7]=v[n+(4*o+28)>>2],a[o+8]=v[n+(4*o+32)>>2];else a=v.subarray(n>>2,n+36*r>>2);Tr.uniformMatrix3fv(pa(e),!!t,a)}},Oa=(e,r,t,n)=>{if(Cr.currentContext.version>=2)r&&Tr.uniformMatrix4fv(pa(e),!!t,v,n>>2,16*r);else{if(r<=18){var a=ha[16*r],o=v;n>>=2;for(var i=0;i<16*r;i+=16){var s=n+i;a[i]=o[s],a[i+1]=o[s+1],a[i+2]=o[s+2],a[i+3]=o[s+3],a[i+4]=o[s+4],a[i+5]=o[s+5],a[i+6]=o[s+6],a[i+7]=o[s+7],a[i+8]=o[s+8],a[i+9]=o[s+9],a[i+10]=o[s+10],a[i+11]=o[s+11],a[i+12]=o[s+12],a[i+13]=o[s+13],a[i+14]=o[s+14],a[i+15]=o[s+15]}}else a=v.subarray(n>>2,n+64*r>>2);Tr.uniformMatrix4fv(pa(e),!!t,a)}},Ba=e=>{e=Cr.programs[e],Tr.useProgram(e),Tr.currentProgram=e},Wa=(e,r)=>Tr.vertexAttrib1f(e,r),Ua=(e,r)=>{Tr.vertexAttrib2f(e,v[r>>2],v[r+4>>2])},Ga=(e,r)=>{Tr.vertexAttrib3f(e,v[r>>2],v[r+4>>2],v[r+8>>2])},Ra=(e,r)=>{Tr.vertexAttrib4f(e,v[r>>2],v[r+4>>2],v[r+8>>2],v[r+12>>2])},$a=(e,r)=>{Tr.vertexAttribDivisor(e,r)},Na=(e,r,t,n,a)=>{Tr.vertexAttribIPointer(e,r,t,n,a)},ja=(e,r,t,n,a,o)=>{Tr.vertexAttribPointer(e,r,t,!!n,a,o)},Va=(e,r,t,n)=>Tr.viewport(e,r,t,n),Ha=(e,r,t)=>{t=Number(t),Tr.waitSync(Cr.syncs[e],r,t)},Ya=e=>{var r=(e-c.buffer.byteLength+65535)/65536;try{return c.grow(r),T(),1}catch(e){}},za={},Xa=()=>{if(!Xa.strings){var e={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",_:"./this.program"};for(var r in za)void 0===za[r]?delete e[r]:e[r]=za[r];var t=[];for(var r in e)t.push("".concat(r,"=").concat(e[r]));Xa.strings=t}return Xa.strings},qa=e=>{B||(w=!0),((e,r)=>{throw r})(0,new M(e))},Qa=(e,r)=>{qa(e)},Ja=[null,[],[]],Za=e=>e%4==0&&(e%100!=0||e%400==0),Ka=[31,29,31,30,31,30,31,31,30,31,30,31],eo=[31,28,31,30,31,30,31,31,30,31,30,31],ro=(e,r,t,n)=>{var a=h[n+40>>2],o={tm_sec:g[n>>2],tm_min:g[n+4>>2],tm_hour:g[n+8>>2],tm_mday:g[n+12>>2],tm_mon:g[n+16>>2],tm_year:g[n+20>>2],tm_wday:g[n+24>>2],tm_yday:g[n+28>>2],tm_isdst:g[n+32>>2],tm_gmtoff:g[n+36>>2],tm_zone:a?ir(a):""},i=ir(t),s={"%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"};for(var c in s)i=i.replace(new RegExp(c,"g"),s[c]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],l=["January","February","March","April","May","June","July","August","September","October","November","December"];function f(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length<r;)n=t[0]+n;return n}function m(e,r){return f(e,r,"0")}function p(e,r){function t(e){return e<0?-1:e>0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function v(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function y(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=Za(t.getFullYear()),a=t.getMonth(),o=(n?Ka:eo)[a];if(!(r>o-t.getDate()))return t.setDate(t.getDate()+r),t;r-=o-t.getDate()+1,t.setDate(1),a<11?t.setMonth(a+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),a=v(t),o=v(n);return p(a,r)<=0?p(o,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var b={"%a":e=>u[e.tm_wday].substring(0,3),"%A":e=>u[e.tm_wday],"%b":e=>l[e.tm_mon].substring(0,3),"%B":e=>l[e.tm_mon],"%C":e=>m((e.tm_year+1900)/100|0,2),"%d":e=>m(e.tm_mday,2),"%e":e=>f(e.tm_mday,2," "),"%g":e=>y(e).toString().substring(2),"%G":y,"%H":e=>m(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),m(r,2)},"%j":e=>m(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(Za(e.tm_year+1900)?Ka:eo,e.tm_mon-1),3),"%m":e=>m(e.tm_mon+1,2),"%M":e=>m(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>m(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return m(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&Za(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&Za(e.tm_year%400-1))&&r++}return m(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return m(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var c in i=i.replace(/%%/g,"\0\0"),b)i.includes(c)&&(i=i.replace(new RegExp(c,"g"),b[c](o)));i=i.replace(/\0\0/g,"%");var _,w,T,E,C,x,P,S,A=(_=i,w=!1,E=T>0?T:nr(_)+1,C=new Array(E),x=rr(_,C,0,C.length),w&&(C.length=x),C);return A.length>r?0:(P=A,S=e,d.set(P,S),A.length-1)};N=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},(()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);j=e})(),V=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(_e.prototype,{isAliasOf(e){if(!(this instanceof _e))return!1;if(!(e instanceof _e))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,a=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)a=n.upcast(a),n=n.baseClass;return r===n&&t===a},clone(){if(this.$$.ptr||ne(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,r=be(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return r.$$.count.value+=1,r.$$.deleteScheduled=!1,r},delete(){this.$$.ptr||ne(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Z("Object already scheduled for deletion"),oe(this),ie(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||ne(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Z("Object already scheduled for deletion"),de.push(this),1===de.length&&ee&&ee(fe),this.$$.deleteScheduled=!0,this}}),n.getInheritedInstanceCount=ue,n.getLiveInheritedInstances=le,n.flushPendingDeletes=fe,n.setDelayFunction=me,Object.assign(Fe.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;null===(r=this.rawDestructor)||void 0===r||r.call(this,e)},argPackAdvance:te,readValueFromPointer:$,fromWireType:ye}),Ie=n.UnboundTypeError=(br=Error,(wr=we(_r="UnboundTypeError",(function(e){this.name=_r,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(br.prototype),wr.prototype.constructor=wr,wr.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},wr),Ye.push(0,1,void 0,1,null,1,!0,1,!1,1),n.count_emval_handles=Xe;for(var to=0;to<32;++to)Ft.push(new Array(to));var no=new Float32Array(288);for(to=0;to<288;++to)ha[to]=no.subarray(0,to);var ao=new Int32Array(288);for(to=0;to<288;++to)ba[to]=ao.subarray(0,to);var oo,io={nb:()=>{A("")},l:e=>{var r=G[e];delete G[e];var t=r.rawConstructor,n=r.rawDestructor,a=r.fields,o=a.map((e=>e.getterReturnType)).concat(a.map((e=>e.setterArgumentType)));q([e],o,(e=>{var o={};return a.forEach(((r,t)=>{var n=r.fieldName,i=e[t],s=r.getter,c=r.getterContext,u=e[t+a.length],l=r.setter,d=r.setterContext;o[n]={read:e=>i.fromWireType(s(c,e)),write:(e,r)=>{var t=[];l(d,e,u.toWireType(t,r)),R(t)}}})),[{name:r.name,fromWireType:e=>{var r={};for(var t in o)r[t]=o[t].read(e);return n(e),r},toWireType:(e,r)=>{for(var a in o)if(!(a in r))throw new TypeError('Missing field: "'.concat(a,'"'));var i=t();for(a in o)o[a].write(i,r[a]);return null!==e&&e.push(n,i),i},argPackAdvance:te,readValueFromPointer:$,destructorFunction:n}]}))},R:(e,r,t,n,a)=>{var o=-1!=(r=J(r)).indexOf("u");K(e,{name:r,fromWireType:e=>e,toWireType:function(e,r){if("bigint"!=typeof r&&"number"!=typeof r)throw new TypeError('Cannot convert "'.concat(Q(r),'" to ').concat(this.name));return"number"==typeof r&&(r=BigInt(r)),r},argPackAdvance:te,readValueFromPointer:re(r,t,!o),destructorFunction:null})},ab:(e,r,t,n)=>{K(e,{name:r=J(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:n},argPackAdvance:te,readValueFromPointer:function(e){return this.fromWireType(f[e])},destructorFunction:null})},g:(e,r,t,n,a,o,i,s,c,u,l,d,f)=>{l=J(l),o=Oe(a,o),s&&(s=Oe(i,s)),u&&(u=Oe(c,u)),f=Oe(d,f);var m=(e=>{if(void 0===e)return"_unknown";var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=48&&r<=57?"_".concat(e):e})(l);Ee(m,(function(){We("Cannot construct ".concat(l," due to unbound types"),[n])})),q([e,r,t],n?[n]:[],(r=>{var t,a;r=r[0],a=n?(t=r.registeredClass).instancePrototype:_e.prototype;var i=we(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new V("Use 'new' to construct "+l);if(void 0===g.constructor_body)throw new V(l+" has no accessible constructor");for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var n=g.constructor_body[r.length];if(void 0===n)throw new V("Tried to invoke ctor of ".concat(l," with invalid number of parameters (").concat(r.length,") - expected (").concat(Object.keys(g.constructor_body).toString(),") parameters instead!"));return n.apply(this,r)})),c=Object.create(a,{constructor:{value:i}});i.prototype=c;var d,p,g=new Ce(l,i,c,f,t,o,s,u);g.baseClass&&(null!==(p=(d=g.baseClass).__derivedClasses)&&void 0!==p||(d.__derivedClasses=[]),g.baseClass.__derivedClasses.push(g));var h=new Fe(l,g,!0,!1,!1),v=new Fe(l+"*",g,!1,!1,!1),y=new Fe(l+" const*",g,!1,!0,!1);return ce[e]={pointerType:v,constPointerType:y},De(m,i),[h,v,y]}))},Zc:(e,r,t,n,a,o,i,s)=>{var c=Ne(t,n);r=J(r),r=je(r),o=Oe(a,o),q([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r);function a(){We("Cannot call ".concat(n," due to unbound types"),c)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]);var u=e.registeredClass.constructor;return void 0===u[r]?(a.argCount=t-1,u[r]=a):(Te(u,r,n),u[r].overloadTable[t-1]=a),q([],c,(a=>{var c=[a[0],null].concat(a.slice(1)),l=Re(n,c,null,o,i,s);if(void 0===u[r].overloadTable?(l.argCount=t-1,u[r]=l):u[r].overloadTable[t-1]=l,e.registeredClass.__derivedClasses)for(var d of e.registeredClass.__derivedClasses)d.constructor.hasOwnProperty(r)||(d.constructor[r]=l);return[]})),[]}))},t:(e,r,t,n,a,o)=>{var i=Ne(r,t);a=Oe(n,a),q([],[e],(e=>{e=e[0];var t="constructor ".concat(e.name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[r-1])throw new V("Cannot register multiple constructors with identical number of parameters (".concat(r-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[r-1]=()=>{We("Cannot construct ".concat(e.name," due to unbound types"),i)},q([],i,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[r-1]=Re(t,n,null,a,o),[]))),[]}))},a:(e,r,t,n,a,o,i,s,c)=>{var u=Ne(t,n);r=J(r),r=je(r),o=Oe(a,o),q([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r);function a(){We("Cannot call ".concat(n," due to unbound types"),u)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(r);var l=e.registeredClass.instancePrototype,d=l[r];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===t-2?(a.argCount=t-2,a.className=e.name,l[r]=a):(Te(l,r,n),l[r].overloadTable[t-2]=a),q([],u,(a=>{var s=Re(n,a,e,o,i,c);return void 0===l[r].overloadTable?(s.argCount=t-2,l[r]=s):l[r].overloadTable[t-2]=s,[]})),[]}))},e:(e,r,t,n,a,o,i,s,c,u)=>{r=J(r),a=Oe(n,a),q([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r),l={get(){We("Cannot access ".concat(n," due to unbound types"),[t,i])},enumerable:!0,configurable:!0};return l.set=c?()=>We("Cannot access ".concat(n," due to unbound types"),[t,i]):e=>Z(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,r,l),q([],c?[t,i]:[t],(t=>{var i=t[0],l={get(){var r=Ve(this,e,n+" getter");return i.fromWireType(a(o,r))},enumerable:!0};if(c){c=Oe(s,c);var d=t[1];l.set=function(r){var t=Ve(this,e,n+" setter"),a=[];c(u,t,d.toWireType(a,r)),R(a)}}return Object.defineProperty(e.registeredClass.instancePrototype,r,l),[]})),[]}))},$a:Je,o:(e,r,t,n)=>{function a(){}r=J(r),a.values={},K(e,{name:r,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,r)=>r.value,argPackAdvance:te,readValueFromPointer:Ze(r,t,n),destructorFunction:null}),Ee(r,a)},c:(e,r,t)=>{var n=Ke(e,"enum");r=J(r);var a=n.constructor,o=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:we("".concat(n.name,"_").concat(r),(function(){}))}});a.values[t]=o,a[r]=o},Q:(e,r,t)=>{K(e,{name:r=J(r),fromWireType:e=>e,toWireType:(e,r)=>r,argPackAdvance:te,readValueFromPointer:er(r,t),destructorFunction:null})},pa:(e,r,t,n,a,o,i)=>{var s=Ne(r,t);e=J(e),e=je(e),a=Oe(n,a),Ee(e,(function(){We("Cannot call ".concat(e," due to unbound types"),s)}),r-1),q([],s,(t=>{var n=[t[0],null].concat(t.slice(1));return De(e,Re(e,n,null,a,o,i),r-1),[]}))},E:(e,r,t,n,a)=>{r=J(r);var o=e=>e;if(0===n){var i=32-8*t;o=e=>e<<i>>>i}var s=r.includes("unsigned");K(e,{name:r,fromWireType:o,toWireType:s?function(e,r){return this.name,r>>>0}:function(e,r){return this.name,r},argPackAdvance:te,readValueFromPointer:re(r,t,0!==n),destructorFunction:null})},y:(e,r,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][r];function a(e){var r=h[e>>2],t=h[e+4>>2];return new n(d.buffer,t,r)}K(e,{name:t=J(t),fromWireType:a,argPackAdvance:te,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},v:(e,r)=>{Je(e)},W:(e,r,t,n,a,o,i,s,c,u,l,d)=>{t=J(t),o=Oe(a,o),s=Oe(i,s),u=Oe(c,u),d=Oe(l,d),q([e],[r],(e=>(e=e[0],[new Fe(t,e.registeredClass,!1,!1,!0,e,n,o,s,u,d)])))},P:(e,r)=>{var t="std::string"===(r=J(r));K(e,{name:r,fromWireType(e){var r,n=h[e>>2],a=e+4;if(t)for(var o=a,i=0;i<=n;++i){var s=a+i;if(i==n||0==f[s]){var c=ir(o,s-o);void 0===r?r=c:(r+=String.fromCharCode(0),r+=c),o=s+1}}else{var u=new Array(n);for(i=0;i<n;++i)u[i]=String.fromCharCode(f[a+i]);r=u.join("")}return lo(e),r},toWireType(e,r){var n;r instanceof ArrayBuffer&&(r=new Uint8Array(r));var a="string"==typeof r;a||r instanceof Uint8Array||r instanceof Uint8ClampedArray||r instanceof Int8Array||Z("Cannot pass non-string to std::string"),n=t&&a?nr(r):r.length;var o=uo(4+n+1),i=o+4;if(h[o>>2]=n,t&&a)tr(r,i,n+1);else if(a)for(var s=0;s<n;++s){var c=r.charCodeAt(s);c>255&&(lo(i),Z("String has UTF-16 code units that do not fit in 8 bits")),f[i+s]=c}else for(s=0;s<n;++s)f[i+s]=r[s];return null!==e&&e.push(lo,o),o},argPackAdvance:te,readValueFromPointer:$,destructorFunction(e){lo(e)}})},I:(e,r,t)=>{var n,a,o,i;t=J(t),2===r?(n=cr,a=ur,i=lr,o=e=>p[e>>1]):4===r&&(n=dr,a=fr,i=mr,o=e=>h[e>>2]),K(e,{name:t,fromWireType:e=>{for(var t,a=h[e>>2],i=e+4,s=0;s<=a;++s){var c=e+4+s*r;if(s==a||0==o(c)){var u=n(i,c-i);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),i=c+r}}return lo(e),t},toWireType:(e,n)=>{"string"!=typeof n&&Z("Cannot pass non-string to C++ string type ".concat(t));var o=i(n),s=uo(4+o+r);return h[s>>2]=o/r,a(n,s+4,o+r),null!==e&&e.push(lo,s),s},argPackAdvance:te,readValueFromPointer:$,destructorFunction(e){lo(e)}})},Oc:(e,r)=>{Je(e)},m:(e,r,t,n,a,o)=>{G[e]={name:J(r),rawConstructor:Oe(t,n),rawDestructor:Oe(a,o),fields:[]}},d:(e,r,t,n,a,o,i,s,c,u)=>{G[e].fields.push({fieldName:J(r),getterReturnType:t,getter:Oe(n,a),getterContext:o,setterArgumentType:i,setter:Oe(s,c),setterContext:u})},bb:(e,r)=>{K(e,{isVoid:!0,name:r=J(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})},lb:()=>1,db:()=>{throw 1/0},w:(e,r,t)=>(e=qe.toValue(e),r=Ke(r,"emval::as"),pr(r,t,e)),C:(e,r,t,n)=>(e=gr[e])(null,r=qe.toValue(r),t,n),p:(e,r,t,n,a)=>(e=gr[e])(r=qe.toValue(r),r[t=vr(t)],n,a),b:ze,L:e=>0===e?qe.toHandle(yr()):(e=vr(e),qe.toHandle(yr()[e])),k:(e,r,t)=>{var n=((e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=Ke(h[r+4*n>>2],"parameter "+n);return t})(e,r),a=n.shift();e--;var o="return function (obj, func, destructorsRef, args) {\n",i=0,s=[];0===t&&s.push("obj");for(var c=["retType"],u=[a],l=0;l<e;++l)s.push("arg"+l),c.push("argType"+l),u.push(n[l]),o+=" var arg".concat(l," = argType").concat(l,".readValueFromPointer(args").concat(i?"+"+i:"",");\n"),i+=n[l].argPackAdvance;o+=" var rv = ".concat(1===t?"new func":"func.call","(").concat(s.join(", "),");\n"),a.isVoid||(c.push("emval_returnValue"),u.push(pr),o+=" return emval_returnValue(retType, destructorsRef, rv);\n"),o+="};\n",c.push(o);var d,f,m=Ge(Function,c)(...u),p="methodCaller<(".concat(n.map((e=>e.name)).join(", "),") => ").concat(a.name,">");return d=we(p,m),f=gr.length,gr.push(d),f},u:e=>(e=vr(e),qe.toHandle(n[e])),s:(e,r)=>(e=qe.toValue(e),r=qe.toValue(r),qe.toHandle(e[r])),r:e=>{e>9&&(Ye[e+1]+=1)},S:e=>"string"==typeof(e=qe.toValue(e)),K:()=>qe.toHandle([]),n:e=>qe.toHandle(vr(e)),J:()=>qe.toHandle({}),f:e=>{var r=qe.toValue(e);R(r),ze(e)},B:(e,r,t)=>{e=qe.toValue(e),r=qe.toValue(r),t=qe.toValue(t),e[r]=t},i:(e,r)=>{var t=(e=Ke(e,"_emval_take_value")).readValueFromPointer(r);return qe.toHandle(t)},gb:function(e,r){var t;e=(t=e)<-9007199254740992||t>9007199254740992?NaN:Number(t);var n=new Date(1e3*e);g[r>>2]=n.getUTCSeconds(),g[r+4>>2]=n.getUTCMinutes(),g[r+8>>2]=n.getUTCHours(),g[r+12>>2]=n.getUTCDate(),g[r+16>>2]=n.getUTCMonth(),g[r+20>>2]=n.getUTCFullYear()-1900,g[r+24>>2]=n.getUTCDay();var a=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),o=(n.getTime()-a)/864e5|0;g[r+28>>2]=o},fb:(e,r,t,n)=>{var a=(new Date).getFullYear(),o=new Date(a,0,1),i=new Date(a,6,1),s=o.getTimezoneOffset(),c=i.getTimezoneOffset(),u=Math.max(s,c);h[e>>2]=60*u,g[r>>2]=Number(s!=c);var l=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],d=l(o),f=l(i);c<s?(tr(d,t,17),tr(f,n,17)):(tr(d,n,17),tr(f,t,17))},O:e=>cancelAnimationFrame(e),U:()=>Date.now(),kb:$e,bd:xr,cd:Pr,Fb:Sr,zb:Ar,dd:Fr,ed:Lr,bc:Dr,cc:kr,Lb:Mr,fd:Or,xc:Wr,Ac:Gr,gd:Rr,hd:$r,id:Nr,Xb:jr,jd:Vr,kd:Hr,dc:Yr,ld:Xr,md:Qr,nd:Zr,Ub:Kr,od:et,pd:rt,qd:tt,rd:nt,Wb:at,X:ot,Y:it,Z:st,_:ct,$:ut,ec:lt,aa:dt,Gb:ft,Ab:mt,fc:pt,Mb:gt,ba:ht,Vb:vt,ca:yt,yc:_t,Bc:Tt,da:Et,ea:Ct,fa:xt,ga:Pt,vc:St,sc:At,qc:Lt,ha:Dt,wc:kt,tc:Mt,kc:Ot,ia:Bt,ja:Wt,Hb:Ut,Bb:Gt,Rb:Rt,ka:$t,la:Nt,gc:jt,hc:Vt,ma:Ht,na:Yt,ic:zt,Ib:Xt,Cb:qt,jc:Qt,Nb:Jt,oa:Zt,uc:en,Cc:rn,Zb:tn,qa:nn,ra:an,sa:un,_b:ln,ta:fn,ua:mn,va:pn,wb:hn,xb:vn,Jb:yn,Db:bn,Kb:_n,Eb:wn,$b:Tn,wa:En,tb:Cn,xa:xn,ya:An,zc:Ln,za:Dn,ub:kn,vb:Mn,Sb:On,Aa:Bn,Ba:Wn,Ca:Un,oc:Gn,pc:Rn,Da:$n,yb:Nn,rc:jn,Ea:zn,ac:Xn,Yb:qn,Ob:Qn,Pb:Jn,Qb:Zn,Fa:Kn,Ga:ea,Ha:ra,Ia:ta,Ja:na,Ka:aa,La:oa,Ma:ia,Na:sa,Oa:ca,Pa:ua,Qa:la,Ra:da,lc:fa,Sa:ma,Ta:ga,Ua:va,Yc:ya,_c:_a,$c:wa,ad:Ta,Xc:Ea,Wc:Ca,Vc:xa,Uc:Pa,Tc:Sa,Sc:Aa,Rc:Fa,Qc:La,Dc:Ia,Ec:Da,Fc:ka,Gc:Ma,Hc:Oa,Ic:Ba,Jc:Wa,Kc:Ua,Lc:Ga,Mc:Ra,mc:$a,nc:Na,Nc:ja,Pc:Va,Tb:Ha,G:(e,r)=>requestAnimationFrame((t=>Me(e)(t,r))),eb:e=>{var r=f.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n,a,o=1;o<=4;o*=2){var i=r*(1+.2/o);i=Math.min(i,e+100663296);var s=Math.min(t,(n=Math.max(e,i))+((a=65536)-n%a)%a);if(Ya(s))return!0}return!1},_a:e=>Cr.makeContextCurrent(e)?0:-5,ib:(e,r)=>{var t=0;return Xa().forEach(((n,a)=>{var o=r+t;h[e+4*a>>2]=o,((e,r)=>{for(var t=0;t<e.length;++t)d[r++]=e.charCodeAt(t);d[r]=0})(n,o),t+=n.length+1})),0},jb:(e,r)=>{var t=Xa();h[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),h[r>>2]=n,0},ob:Qa,mb:e=>52,hb:function(e,r,t,n){return 70},T:(e,r,t,n)=>{for(var a,o,i,s=0,c=0;c<t;c++){var d=h[r>>2],m=h[r+4>>2];r+=8;for(var p=0;p<m;p++)a=e,o=f[d+p],i=void 0,i=Ja[a],0===o||10===o?((1===a?u:l)(or(i,0)),i.length=0):i.push(o);s+=m}return h[n>>2]=s,0},Za:Ir,Wa:zr,Ya:qr,Xa:Jr,H:dn,N:Sn,Va:Fn,h:function(e,r){var t=U();try{return Me(e)(r)}catch(e){if(W(t),e!==e+0)throw e;fo(1,0)}},x:function(e,r,t){var n=U();try{return Me(e)(r,t)}catch(e){if(W(n),e!==e+0)throw e;fo(1,0)}},q:function(e,r,t,n){var a=U();try{return Me(e)(r,t,n)}catch(e){if(W(a),e!==e+0)throw e;fo(1,0)}},F:function(e,r,t,n,a){var o=U();try{return Me(e)(r,t,n,a)}catch(e){if(W(o),e!==e+0)throw e;fo(1,0)}},pb:function(e,r,t,n,a,o){var i=U();try{return Me(e)(r,t,n,a,o)}catch(e){if(W(i),e!==e+0)throw e;fo(1,0)}},sb:function(e,r,t,n,a,o,i){var s=U();try{return Me(e)(r,t,n,a,o,i)}catch(e){if(W(s),e!==e+0)throw e;fo(1,0)}},V:function(e,r,t,n,a,o,i,s){var c=U();try{return Me(e)(r,t,n,a,o,i,s)}catch(e){if(W(c),e!==e+0)throw e;fo(1,0)}},M:function(e){var r=U();try{Me(e)()}catch(e){if(W(r),e!==e+0)throw e;fo(1,0)}},j:function(e,r){var t=U();try{Me(e)(r)}catch(e){if(W(t),e!==e+0)throw e;fo(1,0)}},D:function(e,r,t){var n=U();try{Me(e)(r,t)}catch(e){if(W(n),e!==e+0)throw e;fo(1,0)}},z:function(e,r,t,n){var a=U();try{Me(e)(r,t,n)}catch(e){if(W(a),e!==e+0)throw e;fo(1,0)}},A:function(e,r,t,n,a){var o=U();try{Me(e)(r,t,n,a)}catch(e){if(W(o),e!==e+0)throw e;fo(1,0)}},qb:function(e,r,t,n,a,o,i){var s=U();try{Me(e)(r,t,n,a,o,i)}catch(e){if(W(s),e!==e+0)throw e;fo(1,0)}},rb:function(e,r,t,n,a,o,i,s,c,u){var l=U();try{Me(e)(r,t,n,a,o,i,s,c,u)}catch(e){if(W(l),e!==e+0)throw e;fo(1,0)}},cb:(e,r,t,n,a)=>ro(e,r,t,n)},so=function(){var e,t,a,o,i={a:io};function u(e,r){var t;return so=e.exports,c=so.sd,T(),Le=so.wd,t=so.td,C.unshift(t),function(e){if(0==--P&&S){var r=S;S=null,r()}}(),so}if(P++,n.instantiateWasm)try{return n.instantiateWasm(i,u)}catch(e){l("Module.instantiateWasm callback failed with error: ".concat(e)),r(e)}return F||(F=I()),(e=s,t=F,a=i,o=function(e){u(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||L(t)||"function"!=typeof fetch?k(t,a,o):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,a).then(o,(function(e){return l("wasm streaming compile failed: ".concat(e)),l("falling back to ArrayBuffer instantiation"),k(t,a,o)}))))).catch(r),{}}(),co=e=>(co=so.ud)(e),uo=n._malloc=e=>(uo=n._malloc=so.vd)(e),lo=n._free=e=>(lo=n._free=so.xd)(e),fo=(e,r)=>(fo=so.yd)(e,r),mo=e=>(mo=so.zd)(e),po=()=>(po=so.Ad)();function go(){P>0||(O(E),P>0||oo||(oo=!0,n.calledRun=!0,w||(O(C),e(n),O(x))))}return n.GL=Cr,S=function e(){oo||go(),oo||(S=e)},go(),a}),he=Object.freeze({__proto__:null,default:ge}),ve=(()=>{var e=document.currentScript&&document.currentScript.src||new URL("comparison-worker.js",document.baseURI).href;return function(){var r,t,n,a=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},o=Object.assign({},a),i=new Promise(((e,r)=>{t=e,n=r}));["_malloc","_free","_memory","___indirect_function_table","onRuntimeInitialized"].forEach((e=>{Object.getOwnPropertyDescriptor(i,e)||Object.defineProperty(i,e,{get:()=>O("You are getting "+e+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),set:()=>O("You are setting "+e+" on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js")})}));if(o.ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");var s=Object.assign({},o),c="";if("undefined"!=typeof document&&document.currentScript&&(c=document.currentScript.src),e&&(c=e),c=c.startsWith("blob:")?"":c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1),"object"!=typeof window&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");var u,l,d=o.print||console.log.bind(console),f=o.printErr||console.error.bind(console);Object.assign(o,s),s=null,H("ENVIRONMENT"),H("GL_MAX_TEXTURE_IMAGE_UNITS"),H("SDL_canPlayWithWebAudio"),H("SDL_numSimultaneouslyQueuedBuffers"),H("INITIAL_MEMORY"),H("arguments"),H("canvas"),H("doNotCaptureKeyboard"),H("dynamicLibraries"),H("elementPointerLock"),H("extraStackTrace"),H("forcedAspectRatio"),H("keyboardListeningElement"),H("freePreloadedMediaOnUse"),H("loadSplitModule"),H("logReadFiles"),H("mem"),H("monitorRunDependencies"),H("noInitialRun"),H("onCustomMessage"),H("onExit"),H("onFree"),H("onFullScreen"),H("onMalloc"),H("onRealloc"),H("onRuntimeInitialized"),H("postMainLoop"),H("postRun"),H("preInit"),H("preMainLoop"),H("preRun"),H("preinitializedWebGLContext"),H("preloadPlugins"),H("quit"),H("setStatus"),H("statusMessage"),H("stderr"),H("stdin"),H("stdout"),H("thisProgram"),H("wasm"),H("wasmBinary"),H("websocket"),H("fetchSettings"),V("arguments","arguments_"),V("thisProgram","thisProgram"),V("quit","quit_"),C(void 0===o.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),C(void 0===o.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),C(void 0===o.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),C(void 0===o.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),C(void 0===o.read,"Module.read option was removed (modify read_ in JS)"),C(void 0===o.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),C(void 0===o.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),C(void 0===o.setWindowTitle,"Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"),C(void 0===o.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),V("asm","wasmExports"),V("read","read_"),V("readAsync","readAsync"),V("readBinary","readBinary"),V("setWindowTitle","setWindowTitle"),C(!0,"worker environment detected but not enabled at build time. Add `worker` to `-sENVIRONMENT` to enable."),C(!0,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."),C(!0,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable."),V("wasmBinary","wasmBinary"),"object"!=typeof WebAssembly&&f("no native wasm support detected");var m,p,g,h,v,y,b,_,w,T,E=!1;function C(e,r){e||O("Assertion failed"+(r?": "+r:""))}function x(){var e=l.buffer;m=new Int8Array(e),g=new Int16Array(e),p=new Uint8Array(e),h=new Uint16Array(e),v=new Int32Array(e),y=new Uint32Array(e),b=new Float32Array(e),T=new Float64Array(e),_=new BigInt64Array(e),w=new BigUint64Array(e)}function P(){if(!E){var e=ko();0==e&&(e+=4);var r=y[e>>2],t=y[e+4>>2];34821223==r&&2310721022==t||O("Stack overflow! Stack cookie has been overwritten at ".concat(Z(e),", expected hex dwords 0x89BACDFE and 0x2135467, but received ").concat(Z(t)," ").concat(Z(r))),1668509029!=y[0]&&O("Runtime error: The application has corrupted its heap memory area (address zero)!")}}C(!o.STACK_SIZE,"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"),C("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&null!=Int32Array.prototype.subarray&&null!=Int32Array.prototype.set,"JS engine does not provide full typed array support"),C(!o.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),C(!o.INITIAL_MEMORY,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),r=new Int8Array(e.buffer);if(e[0]=25459,115!==r[0]||99!==r[1])throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"}();var S=[],A=[],F=[],L=!1;C(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),C(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),C(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),C(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var I=0,D=null,k=null,M={};function O(e){var r;null===(r=o.onAbort)||void 0===r||r.call(o,e),f(e="Aborted("+e+")"),E=!0;var t=new WebAssembly.RuntimeError(e);throw n(t),t}var B={error(){O("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM")},init(){B.error()},createDataFile(){B.error()},createPreloadedFile(){B.error()},createLazyFile(){B.error()},open(){B.error()},mkdev(){B.error()},registerDevice(){B.error()},analyzePath(){B.error()},ErrnoError(){B.error()}};o.FS_createDataFile=B.createDataFile,o.FS_createPreloadedFile=B.createPreloadedFile;var W,U=e=>e.startsWith("data:application/octet-stream;base64,"),G=e=>e.startsWith("file://");function R(e,r){return function(){C(L,"native function `".concat(e,"` called before runtime initialization"));var t=Po[e];return C(t,"exported native function `".concat(e,"` not found")),C(arguments.length<=r,"native function `".concat(e,"` called with ").concat(arguments.length," args but expects ").concat(r)),t(...arguments)}}function $(){if(o.locateFile){var e="web-renderer-debug.wasm";return U(e)?e:(r=e,o.locateFile?o.locateFile(r,c):c+r)}var r;return new URL("web-renderer-debug.wasm",document.currentScript&&document.currentScript.src||new URL("comparison-worker.js",document.baseURI).href).href}function N(e){if(e==W&&u)return new Uint8Array(u);throw"both async and sync fetching of the wasm failed"}function j(e,r,t){return function(e){return"function"==typeof fetch?fetch(e,{credentials:"same-origin"}).then((r=>{if(!r.ok)throw"failed to load wasm binary file at '".concat(e,"'");return r.arrayBuffer()})).catch((()=>N(e))):Promise.resolve().then((()=>N(e)))}(e).then((e=>WebAssembly.instantiate(e,r))).then(t,(e=>{f("failed to asynchronously prepare wasm: ".concat(e)),G(W)&&f("warning: Loading from a file URI (".concat(W,") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing")),O(e)}))}function V(e,r){var t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];Object.getOwnPropertyDescriptor(o,e)||Object.defineProperty(o,e,{configurable:!0,get(){var n=t?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":"";O("`Module.".concat(e,"` has been replaced by `").concat(r,"`")+n)}})}function H(e){Object.getOwnPropertyDescriptor(o,e)&&O("`Module.".concat(e,"` was supplied but `").concat(e,"` not included in INCOMING_MODULE_JS_API"))}function Y(e){return"FS_createPath"===e||"FS_createDataFile"===e||"FS_createPreloadedFile"===e||"FS_unlink"===e||"addRunDependency"===e||"FS_createLazyFile"===e||"FS_createDevice"===e||"removeRunDependency"===e}function z(e,r){"undefined"!=typeof globalThis&&Object.defineProperty(globalThis,e,{configurable:!0,get(){re("`".concat(e,"` is not longer defined by emscripten. ").concat(r))}})}function X(e){Object.getOwnPropertyDescriptor(o,e)||Object.defineProperty(o,e,{configurable:!0,get(){var r="'".concat(e,"' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)");Y(e)&&(r+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),O(r)}})}function q(e){this.name="ExitStatus",this.message="Program terminated with exit(".concat(e,")"),this.status=e}z("buffer","Please use HEAP8.buffer or wasmMemory.buffer"),z("asm","Please use wasmExports instead");var Q=e=>{for(;e.length>0;)e.shift()(o)},J=o.noExitRuntime||!0,Z=e=>(C("number"==typeof e),"0x"+(e>>>=0).toString(16).padStart(8,"0")),K=e=>Mo(e),ee=()=>Oo(),re=e=>{re.shown||(re.shown={}),re.shown[e]||(re.shown[e]=1,f(e))},te="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,ne=(e,r,t)=>{for(var n=r+t,a=r;e[a]&&!(a>=n);)++a;if(a-r>16&&e.buffer&&te)return te.decode(e.subarray(r,a));for(var o="";r<a;){var i=e[r++];if(128&i){var s=63&e[r++];if(192!=(224&i)){var c=63&e[r++];if(224==(240&i)?i=(15&i)<<12|s<<6|c:(240!=(248&i)&&re("Invalid UTF-8 leading byte "+Z(i)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),i=(7&i)<<18|s<<12|c<<6|63&e[r++]),i<65536)o+=String.fromCharCode(i);else{var u=i-65536;o+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else o+=String.fromCharCode((31&i)<<6|s)}else o+=String.fromCharCode(i)}return o},ae=(e,r)=>(C("number"==typeof e,"UTF8ToString expects a number (got ".concat(typeof e,")")),e?ne(p,e,r):""),oe={},ie=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function se(e){return this.fromWireType(y[e>>2])}var ce,ue,le,de={},fe={},me={},pe=e=>{throw new ce(e)},ge=(e,r,t)=>{function n(r){var n=t(r);n.length!==e.length&&pe("Mismatched type converter count");for(var a=0;a<e.length;++a)be(e[a],n[a])}e.forEach((function(e){me[e]=r}));var a=new Array(r.length),o=[],i=0;r.forEach(((e,r)=>{fe.hasOwnProperty(e)?a[r]=fe[e]:(o.push(e),de.hasOwnProperty(e)||(de[e]=[]),de[e].push((()=>{a[r]=fe[e],++i===o.length&&n(a)})))})),0===o.length&&n(a)},he=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},ve=e=>{for(var r="",t=e;p[t];)r+=ue[p[t++]];return r},ye=e=>{throw new le(e)};function be(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,r){var t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=r.name;if(e||ye('type "'.concat(n,'" must have a positive integer typeid pointer')),fe.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;ye("Cannot register type '".concat(n,"' twice"))}if(fe[e]=r,delete me[e],de.hasOwnProperty(e)){var a=de[e];delete de[e],a.forEach((e=>e()))}}(e,r,t)}var _e,we=(e,r,t)=>{switch(r){case 1:return t?e=>m[e]:e=>p[e];case 2:return t?e=>g[e>>1]:e=>h[e>>1];case 4:return t?e=>v[e>>2]:e=>y[e>>2];case 8:return t?e=>_[e>>3]:e=>w[e>>3];default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}},Te=8,Ee=e=>{ye(e.$$.ptrType.registeredClass.name+" instance already deleted")},Ce=!1,xe=e=>{},Pe=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Se=(e,r,t)=>{if(r===t)return e;if(void 0===t.baseClass)return null;var n=Se(e,r,t.baseClass);return null===n?null:t.downcast(n)},Ae={},Fe=()=>Object.keys(Me).length,Le=()=>{var e=[];for(var r in Me)Me.hasOwnProperty(r)&&e.push(Me[r]);return e},Ie=[],De=()=>{for(;Ie.length;){var e=Ie.pop();e.$$.deleteScheduled=!1,e.delete()}},ke=e=>{_e=e,Ie.length&&_e&&_e(De)},Me={},Oe=(e,r)=>(r=((e,r)=>{for(void 0===r&&ye("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r})(e,r),Me[r]),Be=(e,r)=>(r.ptrType&&r.ptr||pe("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!==!!r.smartPtr&&pe("Both smartPtrType and smartPtr must be specified"),r.count={value:1},Ue(Object.create(e,{$$:{value:r,writable:!0}})));function We(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=Oe(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function a(){return this.isSmartPointer?Be(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):Be(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var o,i=this.registeredClass.getActualType(r),s=Ae[i];if(!s)return a.call(this);o=this.isConst?s.constPointerType:s.pointerType;var c=Se(r,this.registeredClass,o.registeredClass);return null===c?a.call(this):this.isSmartPointer?Be(o.registeredClass.instancePrototype,{ptrType:o,ptr:c,smartPtrType:this,smartPtr:e}):Be(o.registeredClass.instancePrototype,{ptrType:o,ptr:c})}var Ue=e=>"undefined"==typeof FinalizationRegistry?(Ue=e=>e,e):(Ce=new FinalizationRegistry((e=>{console.warn(e.leakWarning.stack.replace(/^Error: /,"")),Pe(e.$$)})),Ue=e=>{var r=e.$$;if(!!r.smartPtr){var t={$$:r},n=r.ptrType.registeredClass;t.leakWarning=new Error("Embind found a leaked C++ instance ".concat(n.name," <").concat(Z(r.ptr),">.\n")+"We'll free it automatically in this case, but this functionality is not reliable across various environments.\nMake sure to invoke .delete() manually once you're done with the instance instead.\nOriginally allocated"),"captureStackTrace"in Error&&Error.captureStackTrace(t.leakWarning,We),Ce.register(e,t,e)}return e},xe=e=>Ce.unregister(e),Ue(e));function Ge(){}var Re=(e,r)=>Object.defineProperty(r,"name",{value:e}),$e=(e,r,t)=>{if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(){for(var n=arguments.length,a=new Array(n),o=0;o<n;o++)a[o]=arguments[o];return e[r].overloadTable.hasOwnProperty(a.length)||ye("Function '".concat(t,"' called with an invalid number of arguments (").concat(a.length,") - expects one of (").concat(e[r].overloadTable,")!")),e[r].overloadTable[a.length].apply(this,a)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}},Ne=(e,r,t)=>{o.hasOwnProperty(e)?((void 0===t||void 0!==o[e].overloadTable&&void 0!==o[e].overloadTable[t])&&ye("Cannot register public name '".concat(e,"' twice")),$e(o,e,e),o.hasOwnProperty(t)&&ye("Cannot register multiple overloads of a function with the same number of arguments (".concat(t,")!")),o[e].overloadTable[t]=r):(o[e]=r,void 0!==t&&(o[e].numArguments=t))};function je(e,r,t,n,a,o,i,s){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=a,this.getActualType=o,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}var Ve=(e,r,t)=>{for(;r!==t;)r.upcast||ye("Expected null or instance of ".concat(t.name,", got an instance of ").concat(r.name)),e=r.upcast(e),r=r.baseClass;return e};function He(e,r){if(null===r)return this.isReference&&ye("null is not a valid ".concat(this.name)),0;r.$$||ye('Cannot pass "'.concat(he(r),'" as a ').concat(this.name)),r.$$.ptr||ye("Cannot pass deleted object as a pointer of type ".concat(this.name));var t=r.$$.ptrType.registeredClass;return Ve(r.$$.ptr,t,this.registeredClass)}function Ye(e,r){var t;if(null===r)return this.isReference&&ye("null is not a valid ".concat(this.name)),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r&&r.$$||ye('Cannot pass "'.concat(he(r),'" as a ').concat(this.name)),r.$$.ptr||ye("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&r.$$.ptrType.isConst&&ye("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));var n=r.$$.ptrType.registeredClass;if(t=Ve(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&ye("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:ye("Cannot convert argument of type ".concat(r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var a=r.clone();t=this.rawShare(t,mr.toHandle((()=>a.delete()))),null!==e&&e.push(this.rawDestructor,t)}break;default:ye("Unsupporting sharing policy")}return t}function ze(e,r){if(null===r)return this.isReference&&ye("null is not a valid ".concat(this.name)),0;r.$$||ye('Cannot pass "'.concat(he(r),'" as a ').concat(this.name)),r.$$.ptr||ye("Cannot pass deleted object as a pointer of type ".concat(this.name)),r.$$.ptrType.isConst&&ye("Cannot convert argument of type ".concat(r.$$.ptrType.name," to parameter type ").concat(this.name));var t=r.$$.ptrType.registeredClass;return Ve(r.$$.ptr,t,this.registeredClass)}function Xe(e,r,t,n,a,o,i,s,c,u,l){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=a,this.pointeeType=o,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=u,this.rawDestructor=l,a||void 0!==r.baseClass?this.toWireType=Ye:n?(this.toWireType=He,this.destructorFunction=null):(this.toWireType=ze,this.destructorFunction=null)}var qe,Qe,Je=(e,r,t)=>{o.hasOwnProperty(e)||pe("Replacing nonexistent public symbol"),void 0!==o[e].overloadTable&&void 0!==t?o[e].overloadTable[t]=r:(o[e]=r,o[e].argCount=t)},Ze=[],Ke=e=>{var r=Ze[e];return r||(e>=Ze.length&&(Ze.length=e+1),Ze[e]=r=qe.get(e)),C(qe.get(e)==r,"JavaScript-side Wasm function table mirror is out of date!"),r},er=(e,r)=>{e=ve(e);var t=Ke(r);return"function"!=typeof t&&ye("unknown function pointer with signature ".concat(e,": ").concat(r)),t},rr=e=>{var r=So(e),t=ve(r);return Fo(r),t},tr=(e,r)=>{var t=[],n={};throw r.forEach((function e(r){n[r]||fe[r]||(me[r]?me[r].forEach(e):(t.push(r),n[r]=!0))})),new Qe("".concat(e,": ")+t.map(rr).join([", "]))};function nr(e){for(var r=1;r<e.length;++r)if(null!==e[r]&&void 0===e[r].destructorFunction)return!0;return!1}function ar(e,r){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var t=Re(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var n=new t,a=e.apply(n,r);return a instanceof Object?a:n}function or(e,r,t,n,a,o){var i=r.length;i<2&&ye("argTypes array size mismatch! Must at least get return value and 'this' types!"),C(!o,"Async bindings are only supported with JSPI.");for(var s=null!==r[1]&&null!==t,c=nr(r),u="void"!==r[0].name,l=[e,ye,n,a,ie,r[0],r[1]],d=0;d<i-2;++d)l.push(r[d+2]);if(!c)for(d=s?1:2;d<r.length;++d)null!==r[d].destructorFunction&&l.push(r[d].destructorFunction);var[f,m]=function(e,r,t,n){for(var a=nr(e),o=e.length,i="",s="",c=0;c<o-2;++c)i+=(0!==c?", ":"")+"arg"+c,s+=(0!==c?", ":"")+"arg"+c+"Wired";var u="\n return function (".concat(i,") {\n if (arguments.length !== ").concat(o-2,") {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ").concat(o-2,"');\n }");a&&(u+="var destructors = [];\n");var l=a?"destructors":"null",d=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(r&&(u+="var thisWired = classParam['toWireType']("+l+", this);\n"),c=0;c<o-2;++c)u+="var arg"+c+"Wired = argType"+c+"['toWireType']("+l+", arg"+c+");\n",d.push("argType"+c);if(r&&(s="thisWired"+(s.length>0?", ":"")+s),u+=(t||n?"var rv = ":"")+"invoker(fn"+(s.length>0?", ":"")+s+");\n",a)u+="runDestructors(destructors);\n";else for(c=r?1:2;c<e.length;++c){var f=1===c?"thisWired":"arg"+(c-2)+"Wired";null!==e[c].destructorFunction&&(u+="".concat(f,"_dtor(").concat(f,");\n"),d.push("".concat(f,"_dtor")))}return t&&(u+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),u+="}\n",[d,u="if (arguments.length !== ".concat(d.length,'){ throw new Error(humanName + "Expected ').concat(d.length,' closure arguments " + arguments.length + " given."); }\n').concat(u)]}(r,s,u,o);f.push(m);var p=ar(Function,f)(...l);return Re(e,p)}var ir=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(y[r+4*n>>2]);return t},sr=e=>{var r=(e=e.trim()).indexOf("(");return-1!==r?(C(")"==e[e.length-1],"Parentheses for argument names should match."),e.substr(0,r)):e},cr=(e,r,t)=>(e instanceof Object||ye("".concat(t,' with invalid "this": ').concat(e)),e instanceof r.registeredClass.constructor||ye("".concat(t,' incompatible with "this" of type ').concat(e.constructor.name)),e.$$.ptr||ye("cannot call emscripten binding method ".concat(t," on deleted object")),Ve(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),ur=[],lr=[],dr=e=>{e>9&&0==--lr[e+1]&&(C(void 0!==lr[e],"Decref for unallocated handle."),lr[e]=void 0,ur.push(e))},fr=()=>lr.length/2-5-ur.length,mr={toValue:e=>(e||ye("Cannot use deleted val. handle = "+e),C(2===e||void 0!==lr[e]&&e%2==0,"invalid handle: ".concat(e)),lr[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:var r=ur.pop()||lr.length;return lr[r]=e,lr[r+1]=1,r}}},pr={name:"emscripten::val",fromWireType:e=>{var r=mr.toValue(e);return dr(e),r},toWireType:(e,r)=>mr.toHandle(r),argPackAdvance:Te,readValueFromPointer:se,destructorFunction:null},gr=e=>be(e,pr),hr=(e,r,t)=>{switch(r){case 1:return t?function(e){return this.fromWireType(m[e])}:function(e){return this.fromWireType(p[e])};case 2:return t?function(e){return this.fromWireType(g[e>>1])}:function(e){return this.fromWireType(h[e>>1])};case 4:return t?function(e){return this.fromWireType(v[e>>2])}:function(e){return this.fromWireType(y[e>>2])};default:throw new TypeError("invalid integer width (".concat(r,"): ").concat(e))}},vr=(e,r)=>{var t=fe[e];return void 0===t&&ye("".concat(r," has unknown type ").concat(rr(e))),t},yr=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(b[e>>2])};case 8:return function(e){return this.fromWireType(T[e>>3])};default:throw new TypeError("invalid float width (".concat(r,"): ").concat(e))}},br=(e,r,t,n)=>{if(C("string"==typeof e,"stringToUTF8Array expects a string (got ".concat(typeof e,")")),!(n>0))return 0;for(var a=t,o=t+n-1,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(s<=127){if(t>=o)break;r[t++]=s}else if(s<=2047){if(t+1>=o)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=o)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=o)break;s>1114111&&re("Invalid Unicode code point "+Z(s)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-a},_r=(e,r,t)=>(C("number"==typeof t,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),br(e,p,r,t)),wr=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},Tr="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Er=(e,r)=>{C(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var t=e,n=t>>1,a=n+r/2;!(n>=a)&&h[n];)++n;if((t=n<<1)-e>32&&Tr)return Tr.decode(p.subarray(e,t));for(var o="",i=0;!(i>=r/2);++i){var s=g[e+2*i>>1];if(0==s)break;o+=String.fromCharCode(s)}return o},Cr=(e,r,t)=>{var n;if(C(r%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),C("number"==typeof t,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),null!==(n=t)&&void 0!==n||(t=2147483647),t<2)return 0;for(var a=r,o=(t-=2)<2*e.length?t/2:e.length,i=0;i<o;++i){var s=e.charCodeAt(i);g[r>>1]=s,r+=2}return g[r>>1]=0,r-a},xr=e=>2*e.length,Pr=(e,r)=>{C(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var t=0,n="";!(t>=r/4);){var a=v[e+4*t>>2];if(0==a)break;if(++t,a>=65536){var o=a-65536;n+=String.fromCharCode(55296|o>>10,56320|1023&o)}else n+=String.fromCharCode(a)}return n},Sr=(e,r,t)=>{var n;if(C(r%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),C("number"==typeof t,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),null!==(n=t)&&void 0!==n||(t=2147483647),t<4)return 0;for(var a=r,o=a+t-4,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(v[r>>2]=s,(r+=4)+4>o)break}return v[r>>2]=0,r-a},Ar=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&++t,r+=4}return r},Fr=(e,r,t)=>{var n=[],a=e.toWireType(n,t);return n.length&&(y[r>>2]=mr.toHandle(n)),a},Lr=[],Ir={},Dr=e=>{var r=Ir[e];return void 0===r?ve(e):r},kr=()=>"object"==typeof globalThis?globalThis:Function("return this")();var Mr;Mr=()=>performance.now();var Or=e=>{var r=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"];return(e.getSupportedExtensions()||[]).filter((e=>r.includes(e)))},Br={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:e=>{Br.lastError||(Br.lastError=e)},getNewId:e=>{for(var r=Br.counter++,t=e.length;t<r;t++)e[t]=null;return r},genObject:(e,r,t,n)=>{for(var a=0;a<e;a++){var o=_o[t](),i=o&&Br.getNewId(n);o?(o.name=i,n[i]=o):Br.recordError(1282),v[r+4*a>>2]=i}},getSource:(e,r,t,n)=>{for(var a="",o=0;o<r;++o){var i=n?y[n+4*o>>2]:void 0;a+=ae(y[t+4*o>>2],i)}return a},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){function n(r,t){var n=e.getContextSafariWebGL2Fixed(r,t);return"webgl"==r==n instanceof WebGLRenderingContext?n:null}e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=n}var t=r.majorVersion>1?e.getContext("webgl2",r):e.getContext("webgl",r);return t?Br.registerContext(t,r):0},registerContext:(e,r)=>{var t=Br.getNewId(Br.contexts),n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),Br.contexts[t]=n,(void 0===r.enableExtensionsByDefault||r.enableExtensionsByDefault)&&Br.initExtensions(n),t},makeContextCurrent:e=>{var r;return Br.currentContext=Br.contexts[e],o.ctx=_o=null===(r=Br.currentContext)||void 0===r?void 0:r.GLctx,!(e&&!_o)},getContext:e=>Br.contexts[e],deleteContext:e=>{Br.currentContext===Br.contexts[e]&&(Br.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(Br.contexts[e].GLctx.canvas),Br.contexts[e]&&Br.contexts[e].GLctx.canvas&&(Br.contexts[e].GLctx.canvas.GLctxObject=void 0),Br.contexts[e]=null},initExtensions:e=>{if(e||(e=Br.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var r,t=e.GLctx;(e=>{var r=e.getExtension("ANGLE_instanced_arrays");if(r)e.vertexAttribDivisor=(e,t)=>r.vertexAttribDivisorANGLE(e,t),e.drawArraysInstanced=(e,t,n,a)=>r.drawArraysInstancedANGLE(e,t,n,a),e.drawElementsInstanced=(e,t,n,a,o)=>r.drawElementsInstancedANGLE(e,t,n,a,o)})(t),(e=>{var r=e.getExtension("OES_vertex_array_object");if(r)e.createVertexArray=()=>r.createVertexArrayOES(),e.deleteVertexArray=e=>r.deleteVertexArrayOES(e),e.bindVertexArray=e=>r.bindVertexArrayOES(e),e.isVertexArray=e=>r.isVertexArrayOES(e)})(t),(e=>{var r=e.getExtension("WEBGL_draw_buffers");if(r)e.drawBuffers=(e,t)=>r.drawBuffersWEBGL(e,t)})(t),(r=t).dibvbi=r.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"),(e=>{e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")})(t),e.version>=2&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!t.disjointTimerQueryExt)&&(t.disjointTimerQueryExt=t.getExtension("EXT_disjoint_timer_query")),(e=>{e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")})(t),Or(t).forEach((e=>{e.includes("lose_context")||e.includes("debug")||t.getExtension(e)}))}}},Wr=e=>_o.activeTexture(e),Ur=(e,r)=>{_o.attachShader(Br.programs[e],Br.shaders[r])},Gr=(e,r)=>{_o.beginQuery(e,Br.queries[r])},Rr=(e,r)=>{_o.disjointTimerQueryExt.beginQueryEXT(e,Br.queries[r])},$r=(e,r,t)=>{_o.bindAttribLocation(Br.programs[e],r,ae(t))},Nr=(e,r)=>{35051==e?_o.currentPixelPackBufferBinding=r:35052==e&&(_o.currentPixelUnpackBufferBinding=r),_o.bindBuffer(e,Br.buffers[r])},jr=(e,r)=>{_o.bindFramebuffer(e,Br.framebuffers[r])},Vr=jr,Hr=(e,r)=>{_o.bindRenderbuffer(e,Br.renderbuffers[r])},Yr=(e,r)=>{_o.bindSampler(e,Br.samplers[r])},zr=(e,r)=>{_o.bindTexture(e,Br.textures[r])},Xr=e=>{_o.bindVertexArray(Br.vaos[e])},qr=Xr,Qr=Xr,Jr=Qr,Zr=(e,r,t,n)=>_o.blendColor(e,r,t,n),Kr=e=>_o.blendEquation(e),et=(e,r)=>_o.blendFunc(e,r),rt=(e,r,t,n,a,o,i,s,c,u)=>_o.blitFramebuffer(e,r,t,n,a,o,i,s,c,u),tt=(e,r,t,n)=>{Br.currentContext.version>=2?t&&r?_o.bufferData(e,p,n,t,r):_o.bufferData(e,r,n):_o.bufferData(e,t?p.subarray(t,t+r):r,n)},nt=(e,r,t,n)=>{Br.currentContext.version>=2?t&&_o.bufferSubData(e,r,p,n,t):_o.bufferSubData(e,r,p.subarray(n,n+t))},at=e=>_o.checkFramebufferStatus(e),ot=e=>_o.clear(e),it=ot,st=(e,r,t,n)=>_o.clearColor(e,r,t,n),ct=st,ut=e=>_o.clearStencil(e),lt=ut,dt=(e,r,t)=>(t=Number(t),_o.clientWaitSync(Br.syncs[e],r,t)),ft=(e,r,t,n)=>{_o.colorMask(!!e,!!r,!!t,!!n)},mt=e=>{_o.compileShader(Br.shaders[e])},pt=(e,r,t,n,a,o,i,s)=>{if(Br.currentContext.version>=2)return _o.currentPixelUnpackBufferBinding||!i?void _o.compressedTexImage2D(e,r,t,n,a,o,i,s):void _o.compressedTexImage2D(e,r,t,n,a,o,p,s,i);_o.compressedTexImage2D(e,r,t,n,a,o,s?p.subarray(s,s+i):null)},gt=(e,r,t,n,a,o,i,s,c)=>{if(Br.currentContext.version>=2)return _o.currentPixelUnpackBufferBinding||!s?void _o.compressedTexSubImage2D(e,r,t,n,a,o,i,s,c):void _o.compressedTexSubImage2D(e,r,t,n,a,o,i,p,c,s);_o.compressedTexSubImage2D(e,r,t,n,a,o,i,c?p.subarray(c,c+s):null)},ht=(e,r,t,n,a)=>_o.copyBufferSubData(e,r,t,n,a),vt=(e,r,t,n,a,o,i,s)=>_o.copyTexSubImage2D(e,r,t,n,a,o,i,s),yt=()=>{var e=Br.getNewId(Br.programs),r=_o.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,Br.programs[e]=r,e},bt=e=>{var r=Br.getNewId(Br.shaders);return Br.shaders[r]=_o.createShader(e),r},_t=e=>_o.cullFace(e),wt=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],a=Br.buffers[n];a&&(_o.deleteBuffer(a),a.name=0,Br.buffers[n]=null,n==_o.currentPixelPackBufferBinding&&(_o.currentPixelPackBufferBinding=0),n==_o.currentPixelUnpackBufferBinding&&(_o.currentPixelUnpackBufferBinding=0))}},Tt=(e,r)=>{for(var t=0;t<e;++t){var n=v[r+4*t>>2],a=Br.framebuffers[n];a&&(_o.deleteFramebuffer(a),a.name=0,Br.framebuffers[n]=null)}},Et=e=>{if(e){var r=Br.programs[e];r?(_o.deleteProgram(r),r.name=0,Br.programs[e]=null):Br.recordError(1281)}},Ct=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],a=Br.queries[n];a&&(_o.deleteQuery(a),Br.queries[n]=null)}},xt=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],a=Br.queries[n];a&&(_o.disjointTimerQueryExt.deleteQueryEXT(a),Br.queries[n]=null)}},Pt=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],a=Br.renderbuffers[n];a&&(_o.deleteRenderbuffer(a),a.name=0,Br.renderbuffers[n]=null)}},St=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],a=Br.samplers[n];a&&(_o.deleteSampler(a),a.name=0,Br.samplers[n]=null)}},At=e=>{if(e){var r=Br.shaders[e];r?(_o.deleteShader(r),Br.shaders[e]=null):Br.recordError(1281)}},Ft=e=>{if(e){var r=Br.syncs[e];r?(_o.deleteSync(r),r.name=0,Br.syncs[e]=null):Br.recordError(1281)}},Lt=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2],a=Br.textures[n];a&&(_o.deleteTexture(a),a.name=0,Br.textures[n]=null)}},It=(e,r)=>{for(var t=0;t<e;t++){var n=v[r+4*t>>2];_o.deleteVertexArray(Br.vaos[n]),Br.vaos[n]=null}},Dt=It,kt=It,Mt=kt,Ot=e=>{_o.depthMask(!!e)},Bt=e=>_o.disable(e),Wt=e=>{_o.disableVertexAttribArray(e)},Ut=(e,r,t)=>{_o.drawArrays(e,r,t)},Gt=(e,r,t,n)=>{_o.drawArraysInstanced(e,r,t,n)},Rt=(e,r,t,n,a)=>{_o.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,r,t,n,a)},$t=[],Nt=(e,r)=>{for(var t=$t[e],n=0;n<e;n++)t[n]=v[r+4*n>>2];_o.drawBuffers(t)},jt=(e,r,t,n)=>{_o.drawElements(e,r,t,n)},Vt=jt,Ht=(e,r,t,n,a)=>{_o.drawElementsInstanced(e,r,t,n,a)},Yt=(e,r,t,n,a,o,i)=>{_o.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,r,t,n,a,o,i)},zt=(e,r,t,n,a,o)=>{jt(e,n,a,o)},Xt=e=>_o.enable(e),qt=e=>{_o.enableVertexAttribArray(e)},Qt=e=>_o.endQuery(e),Jt=e=>{_o.disjointTimerQueryExt.endQueryEXT(e)},Zt=(e,r)=>{var t=_o.fenceSync(e,r);if(t){var n=Br.getNewId(Br.syncs);return t.name=n,Br.syncs[n]=t,n}return 0},Kt=()=>_o.finish(),en=()=>_o.flush(),rn=(e,r,t,n)=>{_o.framebufferRenderbuffer(e,r,t,Br.renderbuffers[n])},tn=(e,r,t,n,a)=>{_o.framebufferTexture2D(e,r,t,Br.textures[n],a)},nn=e=>_o.frontFace(e),an=(e,r)=>{Br.genObject(e,r,"createBuffer",Br.buffers)},on=(e,r)=>{Br.genObject(e,r,"createFramebuffer",Br.framebuffers)},sn=(e,r)=>{Br.genObject(e,r,"createQuery",Br.queries)},cn=(e,r)=>{for(var t=0;t<e;t++){var n=_o.disjointTimerQueryExt.createQueryEXT();if(!n){for(Br.recordError(1282);t<e;)v[r+4*t++>>2]=0;return}var a=Br.getNewId(Br.queries);n.name=a,Br.queries[a]=n,v[r+4*t>>2]=a}},un=(e,r)=>{Br.genObject(e,r,"createRenderbuffer",Br.renderbuffers)},ln=(e,r)=>{Br.genObject(e,r,"createSampler",Br.samplers)},dn=(e,r)=>{Br.genObject(e,r,"createTexture",Br.textures)},fn=(e,r)=>{Br.genObject(e,r,"createVertexArray",Br.vaos)},mn=fn,pn=fn,gn=pn,hn=e=>_o.generateMipmap(e),vn=(e,r,t)=>{t?v[t>>2]=_o.getBufferParameter(e,r):Br.recordError(1281)},yn=()=>{var e=_o.getError()||Br.lastError;return Br.lastError=0,e},bn=(e,r)=>{y[e>>2]=r;var t=y[e>>2];y[e+4>>2]=(r-t)/4294967296;var n=r>=0?(e=>y[e>>2]+4294967296*y[e+4>>2])(e):(e=>y[e>>2]+4294967296*v[e+4>>2])(e),a=e>>2;n!=r&&re("writeI53ToI64() out of range: serialized JS Number ".concat(r," to Wasm heap as bytes lo=").concat(Z(y[a]),", hi=").concat(Z(y[a+1]),", which deserializes back to ").concat(n," instead!"))},_n=function(){var e=Or(_o);return e=e.concat(e.map((e=>"GL_"+e)))},wn=(e,r,t)=>{if(r){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=t&&1!=t&&Br.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var a=_o.getParameter(34467);n=a?a.length:0;break;case 33309:if(Br.currentContext.version<2)return void Br.recordError(1282);n=_n().length;break;case 33307:case 33308:if(Br.currentContext.version<2)return void Br.recordError(1280);n=33307==e?3:0}if(void 0===n){var o=_o.getParameter(e);switch(typeof o){case"number":n=o;break;case"boolean":n=o?1:0;break;case"string":return void Br.recordError(1280);case"object":if(null===o)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Br.recordError(1280)}else{if(o instanceof Float32Array||o instanceof Uint32Array||o instanceof Int32Array||o instanceof Array){for(var i=0;i<o.length;++i)switch(t){case 0:v[r+4*i>>2]=o[i];break;case 2:b[r+4*i>>2]=o[i];break;case 4:m[r+i]=o[i]?1:0}return}try{n=0|o.name}catch(r){return Br.recordError(1280),void f("GL_INVALID_ENUM in glGet".concat(t,"v: Unknown object returned from WebGL getParameter(").concat(e,")! (error: ").concat(r,")"))}}break;default:return Br.recordError(1280),void f("GL_INVALID_ENUM in glGet".concat(t,"v: Native code calling glGet").concat(t,"v(").concat(e,") and it returns ").concat(o," of type ").concat(typeof o,"!"))}}switch(t){case 1:bn(r,n);break;case 0:v[r>>2]=n;break;case 2:b[r>>2]=n;break;case 4:m[r]=n?1:0}}else Br.recordError(1281)},Tn=(e,r)=>wn(e,r,2),En=(e,r,t,n)=>{var a=_o.getFramebufferAttachmentParameter(e,r,t);(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)&&(a=0|a.name),v[n>>2]=a},Cn=(e,r)=>wn(e,r,0),xn=Cn,Pn=(e,r,t,n)=>{var a=_o.getProgramInfoLog(Br.programs[e]);null===a&&(a="(unknown error)");var o=r>0&&n?_r(a,n,r):0;t&&(v[t>>2]=o)},Sn=(e,r,t)=>{if(t)if(e>=Br.counter)Br.recordError(1281);else if(e=Br.programs[e],35716==r){var n=_o.getProgramInfoLog(e);null===n&&(n="(unknown error)"),v[t>>2]=n.length+1}else if(35719==r){if(!e.maxUniformLength)for(var a=0;a<_o.getProgramParameter(e,35718);++a)e.maxUniformLength=Math.max(e.maxUniformLength,_o.getActiveUniform(e,a).name.length+1);v[t>>2]=e.maxUniformLength}else if(35722==r){if(!e.maxAttributeLength)for(a=0;a<_o.getProgramParameter(e,35721);++a)e.maxAttributeLength=Math.max(e.maxAttributeLength,_o.getActiveAttrib(e,a).name.length+1);v[t>>2]=e.maxAttributeLength}else if(35381==r){if(!e.maxUniformBlockNameLength)for(a=0;a<_o.getProgramParameter(e,35382);++a)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,_o.getActiveUniformBlockName(e,a).length+1);v[t>>2]=e.maxUniformBlockNameLength}else v[t>>2]=_o.getProgramParameter(e,r);else Br.recordError(1281)},An=(e,r,t)=>{if(t){var n,a=Br.queries[e];n=Br.currentContext.version<2?_o.disjointTimerQueryExt.getQueryObjectEXT(a,r):_o.getQueryParameter(a,r),bn(t,"boolean"==typeof n?n?1:0:n)}else Br.recordError(1281)},Fn=An,Ln=An,In=(e,r,t)=>{if(t){var n,a=Br.queries[e],o=_o.getQueryParameter(a,r);n="boolean"==typeof o?o?1:0:o,v[t>>2]=n}else Br.recordError(1281)},Dn=(e,r,t)=>{if(t){var n,a=Br.queries[e],o=_o.disjointTimerQueryExt.getQueryObjectEXT(a,r);n="boolean"==typeof o?o?1:0:o,v[t>>2]=n}else Br.recordError(1281)},kn=(e,r,t)=>{t?v[t>>2]=_o.getQuery(e,r):Br.recordError(1281)},Mn=(e,r,t)=>{t?v[t>>2]=_o.disjointTimerQueryExt.getQueryEXT(e,r):Br.recordError(1281)},On=(e,r,t)=>{t?v[t>>2]=_o.getRenderbufferParameter(e,r):Br.recordError(1281)},Bn=(e,r,t,n)=>{var a=_o.getShaderInfoLog(Br.shaders[e]);null===a&&(a="(unknown error)");var o=r>0&&n?_r(a,n,r):0;t&&(v[t>>2]=o)},Wn=(e,r,t,n)=>{var a=_o.getShaderPrecisionFormat(e,r);v[t>>2]=a.rangeMin,v[t+4>>2]=a.rangeMax,v[n>>2]=a.precision},Un=(e,r,t)=>{if(t)if(35716==r){var n=_o.getShaderInfoLog(Br.shaders[e]);null===n&&(n="(unknown error)");var a=n?n.length+1:0;v[t>>2]=a}else if(35720==r){var o=_o.getShaderSource(Br.shaders[e]),i=o?o.length+1:0;v[t>>2]=i}else v[t>>2]=_o.getShaderParameter(Br.shaders[e],r);else Br.recordError(1281)},Gn=e=>{var r=wr(e)+1,t=Ao(r);return t&&_r(e,t,r),t},Rn=e=>{var r=Br.stringCache[e];if(!r){switch(e){case 7939:r=Gn(_n().join(" "));break;case 7936:case 7937:case 37445:case 37446:var t=_o.getParameter(e);t||Br.recordError(1280),r=t?Gn(t):0;break;case 7938:var n=_o.getParameter(7938);n=Br.currentContext.version>=2?"OpenGL ES 3.0 (".concat(n,")"):"OpenGL ES 2.0 (".concat(n,")"),r=Gn(n);break;case 35724:var a=_o.getParameter(35724),o=a.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==o&&(3==o[1].length&&(o[1]=o[1]+"0"),a="OpenGL ES GLSL ES ".concat(o[1]," (").concat(a,")")),r=Gn(a);break;default:Br.recordError(1280)}Br.stringCache[e]=r}return r},$n=Rn,Nn=(e,r)=>{if(Br.currentContext.version<2)return Br.recordError(1282),0;var t=Br.stringiCache[e];if(t)return r<0||r>=t.length?(Br.recordError(1281),0):t[r];if(7939===e){var n=_n().map(Gn);return t=Br.stringiCache[e]=n,r<0||r>=t.length?(Br.recordError(1281),0):t[r]}return Br.recordError(1280),0},jn=Nn,Vn=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Hn=(e,r)=>{if(r=ae(r),e=Br.programs[e]){(e=>{var r,t,n=e.uniformLocsById,a=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},r=0;r<_o.getProgramParameter(e,35718);++r){var o=_o.getActiveUniform(e,r),i=o.name,s=o.size,c=Vn(i),u=c>0?i.slice(0,c):i,l=e.uniformIdCounter;for(e.uniformIdCounter+=s,a[u]=[s,l],t=0;t<s;++t)n[l]=t,e.uniformArrayNamesById[l++]=u}})(e);var t=e.uniformLocsById,n=0,a=r,o=Vn(r);o>0&&(s=r.slice(o+1),n=parseInt(s)>>>0,a=r.slice(0,o));var i=e.uniformSizeAndIdsByName[a];if(i&&n<i[0]&&(t[n+=i[1]]=t[n]||_o.getUniformLocation(e,r)))return n}else Br.recordError(1281);var s;return-1},Yn=(e,r,t)=>{for(var n=$t[r],a=0;a<r;a++)n[a]=v[t+4*a>>2];_o.invalidateFramebuffer(e,n)},zn=(e,r,t,n,a,o,i)=>{for(var s=$t[r],c=0;c<r;c++)s[c]=v[t+4*c>>2];_o.invalidateSubFramebuffer(e,s,n,a,o,i)},Xn=e=>_o.isSync(Br.syncs[e]),qn=e=>{var r=Br.textures[e];return r?_o.isTexture(r):0},Qn=e=>_o.lineWidth(e),Jn=e=>{e=Br.programs[e],_o.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Zn=(e,r,t,n,a,o)=>{_o.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,v,r>>2,v,t>>2,v,n>>2,y,a>>2,o)},Kn=(e,r,t,n,a,o,i,s)=>{_o.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,v,r>>2,t,v,n>>2,v,a>>2,v,o>>2,y,i>>2,s)},ea=(e,r)=>{3317==e&&(Br.unpackAlignment=r),_o.pixelStorei(e,r)},ra=(e,r)=>{_o.disjointTimerQueryExt.queryCounterEXT(Br.queries[e],r)},ta=e=>_o.readBuffer(e),na=e=>0==(e-=5120)?m:1==e?p:2==e?g:4==e?v:6==e?b:5==e||28922==e||28520==e||30779==e||30782==e?y:h,aa=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),oa=(e,r,t,n,a,o)=>{var i=na(e),s=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(r)*i.BYTES_PER_ELEMENT,c=((e,r,t,n)=>{var a;return r*(e*t+(a=n)-1&-a)})(t,n,s,Br.unpackAlignment);return i.subarray(aa(a,i),aa(a+c,i))},ia=(e,r,t,n,a,o,i)=>{if(Br.currentContext.version>=2){if(_o.currentPixelPackBufferBinding)return void _o.readPixels(e,r,t,n,a,o,i);var s=na(o),c=aa(i,s);_o.readPixels(e,r,t,n,a,o,s,c)}else{var u=oa(o,a,t,n,i);u?_o.readPixels(e,r,t,n,a,o,u):Br.recordError(1280)}},sa=(e,r,t,n)=>_o.renderbufferStorage(e,r,t,n),ca=(e,r,t,n,a)=>_o.renderbufferStorageMultisample(e,r,t,n,a),ua=(e,r,t)=>{_o.samplerParameterf(Br.samplers[e],r,t)},la=(e,r,t)=>{_o.samplerParameteri(Br.samplers[e],r,t)},da=(e,r,t)=>{var n=v[t>>2];_o.samplerParameteri(Br.samplers[e],r,n)},fa=(e,r,t,n)=>_o.scissor(e,r,t,n),ma=(e,r,t,n)=>{var a=Br.getSource(e,r,t,n);_o.shaderSource(Br.shaders[e],a)},pa=(e,r,t)=>_o.stencilFunc(e,r,t),ga=(e,r,t,n)=>_o.stencilFuncSeparate(e,r,t,n),ha=e=>_o.stencilMask(e),va=(e,r)=>_o.stencilMaskSeparate(e,r),ya=(e,r,t)=>_o.stencilOp(e,r,t),ba=(e,r,t,n)=>_o.stencilOpSeparate(e,r,t,n),_a=(e,r,t,n,a,o,i,s,c)=>{if(Br.currentContext.version>=2){if(_o.currentPixelUnpackBufferBinding)return void _o.texImage2D(e,r,t,n,a,o,i,s,c);if(c){var u=na(s),l=aa(c,u);return void _o.texImage2D(e,r,t,n,a,o,i,s,u,l)}}var d=c?oa(s,i,n,a,c):null;_o.texImage2D(e,r,t,n,a,o,i,s,d)},wa=(e,r,t)=>_o.texParameterf(e,r,t),Ta=(e,r,t)=>{var n=b[t>>2];_o.texParameterf(e,r,n)},Ea=(e,r,t)=>_o.texParameteri(e,r,t),Ca=(e,r,t)=>{var n=v[t>>2];_o.texParameteri(e,r,n)},xa=(e,r,t,n,a)=>_o.texStorage2D(e,r,t,n,a),Pa=(e,r,t,n,a,o,i,s,c)=>{if(Br.currentContext.version>=2){if(_o.currentPixelUnpackBufferBinding)return void _o.texSubImage2D(e,r,t,n,a,o,i,s,c);if(c){var u=na(s);return void _o.texSubImage2D(e,r,t,n,a,o,i,s,u,aa(c,u))}}var l=c?oa(s,i,a,o,c):null;_o.texSubImage2D(e,r,t,n,a,o,i,s,l)},Sa=e=>{var r=_o.currentProgram;if(r){var t=r.uniformLocsById[e];return"number"==typeof t&&(r.uniformLocsById[e]=t=_o.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?"[".concat(t,"]"):""))),t}Br.recordError(1282)},Aa=(e,r)=>{_o.uniform1f(Sa(e),r)},Fa=[],La=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform1fv(Sa(e),b,t>>2,r);else{if(r<=288)for(var n=Fa[r],a=0;a<r;++a)n[a]=b[t+4*a>>2];else n=b.subarray(t>>2,t+4*r>>2);_o.uniform1fv(Sa(e),n)}},Ia=(e,r)=>{_o.uniform1i(Sa(e),r)},Da=[],ka=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform1iv(Sa(e),v,t>>2,r);else{if(r<=288)for(var n=Da[r],a=0;a<r;++a)n[a]=v[t+4*a>>2];else n=v.subarray(t>>2,t+4*r>>2);_o.uniform1iv(Sa(e),n)}},Ma=(e,r,t)=>{_o.uniform2f(Sa(e),r,t)},Oa=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform2fv(Sa(e),b,t>>2,2*r);else{if(r<=144)for(var n=Fa[2*r],a=0;a<2*r;a+=2)n[a]=b[t+4*a>>2],n[a+1]=b[t+(4*a+4)>>2];else n=b.subarray(t>>2,t+8*r>>2);_o.uniform2fv(Sa(e),n)}},Ba=(e,r,t)=>{_o.uniform2i(Sa(e),r,t)},Wa=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform2iv(Sa(e),v,t>>2,2*r);else{if(r<=144)for(var n=Da[2*r],a=0;a<2*r;a+=2)n[a]=v[t+4*a>>2],n[a+1]=v[t+(4*a+4)>>2];else n=v.subarray(t>>2,t+8*r>>2);_o.uniform2iv(Sa(e),n)}},Ua=(e,r,t,n)=>{_o.uniform3f(Sa(e),r,t,n)},Ga=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform3fv(Sa(e),b,t>>2,3*r);else{if(r<=96)for(var n=Fa[3*r],a=0;a<3*r;a+=3)n[a]=b[t+4*a>>2],n[a+1]=b[t+(4*a+4)>>2],n[a+2]=b[t+(4*a+8)>>2];else n=b.subarray(t>>2,t+12*r>>2);_o.uniform3fv(Sa(e),n)}},Ra=(e,r,t,n)=>{_o.uniform3i(Sa(e),r,t,n)},$a=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform3iv(Sa(e),v,t>>2,3*r);else{if(r<=96)for(var n=Da[3*r],a=0;a<3*r;a+=3)n[a]=v[t+4*a>>2],n[a+1]=v[t+(4*a+4)>>2],n[a+2]=v[t+(4*a+8)>>2];else n=v.subarray(t>>2,t+12*r>>2);_o.uniform3iv(Sa(e),n)}},Na=(e,r,t,n,a)=>{_o.uniform4f(Sa(e),r,t,n,a)},ja=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform4fv(Sa(e),b,t>>2,4*r);else{if(r<=72){var n=Fa[4*r],a=b;t>>=2;for(var o=0;o<4*r;o+=4){var i=t+o;n[o]=a[i],n[o+1]=a[i+1],n[o+2]=a[i+2],n[o+3]=a[i+3]}}else n=b.subarray(t>>2,t+16*r>>2);_o.uniform4fv(Sa(e),n)}},Va=(e,r,t,n,a)=>{_o.uniform4i(Sa(e),r,t,n,a)},Ha=(e,r,t)=>{if(Br.currentContext.version>=2)r&&_o.uniform4iv(Sa(e),v,t>>2,4*r);else{if(r<=72)for(var n=Da[4*r],a=0;a<4*r;a+=4)n[a]=v[t+4*a>>2],n[a+1]=v[t+(4*a+4)>>2],n[a+2]=v[t+(4*a+8)>>2],n[a+3]=v[t+(4*a+12)>>2];else n=v.subarray(t>>2,t+16*r>>2);_o.uniform4iv(Sa(e),n)}},Ya=(e,r,t,n)=>{if(Br.currentContext.version>=2)r&&_o.uniformMatrix2fv(Sa(e),!!t,b,n>>2,4*r);else{if(r<=72)for(var a=Fa[4*r],o=0;o<4*r;o+=4)a[o]=b[n+4*o>>2],a[o+1]=b[n+(4*o+4)>>2],a[o+2]=b[n+(4*o+8)>>2],a[o+3]=b[n+(4*o+12)>>2];else a=b.subarray(n>>2,n+16*r>>2);_o.uniformMatrix2fv(Sa(e),!!t,a)}},za=(e,r,t,n)=>{if(Br.currentContext.version>=2)r&&_o.uniformMatrix3fv(Sa(e),!!t,b,n>>2,9*r);else{if(r<=32)for(var a=Fa[9*r],o=0;o<9*r;o+=9)a[o]=b[n+4*o>>2],a[o+1]=b[n+(4*o+4)>>2],a[o+2]=b[n+(4*o+8)>>2],a[o+3]=b[n+(4*o+12)>>2],a[o+4]=b[n+(4*o+16)>>2],a[o+5]=b[n+(4*o+20)>>2],a[o+6]=b[n+(4*o+24)>>2],a[o+7]=b[n+(4*o+28)>>2],a[o+8]=b[n+(4*o+32)>>2];else a=b.subarray(n>>2,n+36*r>>2);_o.uniformMatrix3fv(Sa(e),!!t,a)}},Xa=(e,r,t,n)=>{if(Br.currentContext.version>=2)r&&_o.uniformMatrix4fv(Sa(e),!!t,b,n>>2,16*r);else{if(r<=18){var a=Fa[16*r],o=b;n>>=2;for(var i=0;i<16*r;i+=16){var s=n+i;a[i]=o[s],a[i+1]=o[s+1],a[i+2]=o[s+2],a[i+3]=o[s+3],a[i+4]=o[s+4],a[i+5]=o[s+5],a[i+6]=o[s+6],a[i+7]=o[s+7],a[i+8]=o[s+8],a[i+9]=o[s+9],a[i+10]=o[s+10],a[i+11]=o[s+11],a[i+12]=o[s+12],a[i+13]=o[s+13],a[i+14]=o[s+14],a[i+15]=o[s+15]}}else a=b.subarray(n>>2,n+64*r>>2);_o.uniformMatrix4fv(Sa(e),!!t,a)}},qa=e=>{e=Br.programs[e],_o.useProgram(e),_o.currentProgram=e},Qa=(e,r)=>_o.vertexAttrib1f(e,r),Ja=(e,r)=>{_o.vertexAttrib2f(e,b[r>>2],b[r+4>>2])},Za=(e,r)=>{_o.vertexAttrib3f(e,b[r>>2],b[r+4>>2],b[r+8>>2])},Ka=(e,r)=>{_o.vertexAttrib4f(e,b[r>>2],b[r+4>>2],b[r+8>>2],b[r+12>>2])},eo=(e,r)=>{_o.vertexAttribDivisor(e,r)},ro=(e,r,t,n,a)=>{_o.vertexAttribIPointer(e,r,t,n,a)},to=(e,r,t,n,a,o)=>{_o.vertexAttribPointer(e,r,t,!!n,a,o)},no=(e,r,t,n)=>_o.viewport(e,r,t,n),ao=(e,r,t)=>{t=Number(t),_o.waitSync(Br.syncs[e],r,t)},oo=e=>{var r=l.buffer,t=(e-r.byteLength+65535)/65536;try{return l.grow(t),x(),1}catch(t){f("growMemory: Attempted to grow heap from ".concat(r.byteLength," bytes to ").concat(e," bytes, but got error: ").concat(t))}},io={},so=()=>{if(!so.strings){var e={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",_:"./this.program"};for(var r in io)void 0===io[r]?delete e[r]:e[r]=io[r];var t=[];for(var r in e)t.push("".concat(r,"=").concat(e[r]));so.strings=t}return so.strings},co=()=>J||!1,uo=(e,r)=>{if(function(){var e=d,r=f,t=!1;d=f=e=>{t=!0};try{mo()}catch(e){}d=e,f=r,t&&(re("stdio streams had content in them that was not flushed. you should set EXIT_RUNTIME to 1 (see the Emscripten FAQ), or make sure to emit a newline when you printf etc."),re("(this may also be due to not including full filesystem support - try building with -sFORCE_FILESYSTEM)"))}(),co()&&!r){var t="program exited (with status: ".concat(e,"), but keepRuntimeAlive() is set (counter=").concat(0,") due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)");n(t),f(t)}var a;a=e,co()||(E=!0),((e,r)=>{throw r})(0,new q(a))};var lo=[null,[],[]],fo=(e,r)=>{var t=lo[e];C(t),0===r||10===r?((1===e?d:f)(ne(t,0)),t.length=0):t.push(r)},mo=()=>{Lo(0),lo[1].length&&fo(1,10),lo[2].length&&fo(2,10)},po=e=>e%4==0&&(e%100!=0||e%400==0),go=[31,29,31,30,31,30,31,31,30,31,30,31],ho=[31,28,31,30,31,30,31,31,30,31,30,31];var vo,yo,bo,_o,wo=(e,r,t,n)=>{var a=y[n+40>>2],o={tm_sec:v[n>>2],tm_min:v[n+4>>2],tm_hour:v[n+8>>2],tm_mday:v[n+12>>2],tm_mon:v[n+16>>2],tm_year:v[n+20>>2],tm_wday:v[n+24>>2],tm_yday:v[n+28>>2],tm_isdst:v[n+32>>2],tm_gmtoff:v[n+36>>2],tm_zone:a?ae(a):""},i=ae(t),s={"%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"};for(var c in s)i=i.replace(new RegExp(c,"g"),s[c]);var u=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],l=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,r,t){for(var n="number"==typeof e?e.toString():e||"";n.length<r;)n=t[0]+n;return n}function f(e,r){return d(e,r,"0")}function p(e,r){function t(e){return e<0?-1:e>0?1:0}var n;return 0===(n=t(e.getFullYear()-r.getFullYear()))&&0===(n=t(e.getMonth()-r.getMonth()))&&(n=t(e.getDate()-r.getDate())),n}function g(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function h(e){var r=((e,r)=>{for(var t=new Date(e.getTime());r>0;){var n=po(t.getFullYear()),a=t.getMonth(),o=(n?go:ho)[a];if(!(r>o-t.getDate()))return t.setDate(t.getDate()+r),t;r-=o-t.getDate()+1,t.setDate(1),a<11?t.setMonth(a+1):(t.setMonth(0),t.setFullYear(t.getFullYear()+1))}return t})(new Date(e.tm_year+1900,0,1),e.tm_yday),t=new Date(r.getFullYear(),0,4),n=new Date(r.getFullYear()+1,0,4),a=g(t),o=g(n);return p(a,r)<=0?p(o,r)<=0?r.getFullYear()+1:r.getFullYear():r.getFullYear()-1}var b={"%a":e=>u[e.tm_wday].substring(0,3),"%A":e=>u[e.tm_wday],"%b":e=>l[e.tm_mon].substring(0,3),"%B":e=>l[e.tm_mon],"%C":e=>f((e.tm_year+1900)/100|0,2),"%d":e=>f(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>h(e).toString().substring(2),"%G":h,"%H":e=>f(e.tm_hour,2),"%I":e=>{var r=e.tm_hour;return 0==r?r=12:r>12&&(r-=12),f(r,2)},"%j":e=>f(e.tm_mday+((e,r)=>{for(var t=0,n=0;n<=r;t+=e[n++]);return t})(po(e.tm_year+1900)?go:ho,e.tm_mon-1),3),"%m":e=>f(e.tm_mon+1,2),"%M":e=>f(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>f(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var r=e.tm_yday+7-e.tm_wday;return f(Math.floor(r/7),2)},"%V":e=>{var r=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&r++,r){if(53==r){var t=(e.tm_wday+371-e.tm_yday)%7;4==t||3==t&&po(e.tm_year)||(r=1)}}else{r=52;var n=(e.tm_wday+7-e.tm_yday-1)%7;(4==n||5==n&&po(e.tm_year%400-1))&&r++}return f(r,2)},"%w":e=>e.tm_wday,"%W":e=>{var r=e.tm_yday+7-(e.tm_wday+6)%7;return f(Math.floor(r/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var r=e.tm_gmtoff,t=r>=0;return r=(r=Math.abs(r)/60)/60*100+r%60,(t?"+":"-")+String("0000"+r).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var c in i=i.replace(/%%/g,"\0\0"),b)i.includes(c)&&(i=i.replace(new RegExp(c,"g"),b[c](o)));i=i.replace(/\0\0/g,"%");var _,w,T,E,x,P,S,A,F=(_=i,w=!1,E=T>0?T:wr(_)+1,x=new Array(E),P=br(_,x,0,x.length),w&&(x.length=P),x);return F.length>r?0:(A=e,C((S=F).length>=0,"writeArrayToMemory array must have a length (should be an array or typed array)"),m.set(S,A),F.length-1)};ce=o.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},(()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);ue=e})(),le=o.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(Ge.prototype,{isAliasOf(e){if(!(this instanceof Ge))return!1;if(!(e instanceof Ge))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,a=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)a=n.upcast(a),n=n.baseClass;return r===n&&t===a},clone(){if(this.$$.ptr||Ee(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,r=Ue(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return r.$$.count.value+=1,r.$$.deleteScheduled=!1,r},delete(){this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ye("Object already scheduled for deletion"),xe(this),Pe(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ye("Object already scheduled for deletion"),Ie.push(this),1===Ie.length&&_e&&_e(De),this.$$.deleteScheduled=!0,this}}),o.getInheritedInstanceCount=Fe,o.getLiveInheritedInstances=Le,o.flushPendingDeletes=De,o.setDelayFunction=ke,Object.assign(Xe.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;null===(r=this.rawDestructor)||void 0===r||r.call(this,e)},argPackAdvance:Te,readValueFromPointer:se,fromWireType:We}),Qe=o.UnboundTypeError=(vo=Error,(bo=Re(yo="UnboundTypeError",(function(e){this.name=yo,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(vo.prototype),bo.prototype.constructor=bo,bo.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},bo),lr.push(0,1,void 0,1,null,1,!0,1,!1,1),C(10===lr.length),o.count_emval_handles=fr;for(var To=0;To<32;++To)$t.push(new Array(To));var Eo=new Float32Array(288);for(To=0;To<288;++To)Fa[To]=Eo.subarray(0,To);var Co=new Int32Array(288);for(To=0;To<288;++To)Da[To]=Co.subarray(0,To);var xo={__assert_fail:(e,r,t,n)=>{O("Assertion failed: ".concat(ae(e),", at: ")+[r?ae(r):"unknown filename",t,n?ae(n):"unknown function"])},_abort_js:()=>{O("native code called abort()")},_embind_finalize_value_object:e=>{var r=oe[e];delete oe[e];var t=r.rawConstructor,n=r.rawDestructor,a=r.fields,o=a.map((e=>e.getterReturnType)).concat(a.map((e=>e.setterArgumentType)));ge([e],o,(e=>{var o={};return a.forEach(((r,t)=>{var n=r.fieldName,i=e[t],s=r.getter,c=r.getterContext,u=e[t+a.length],l=r.setter,d=r.setterContext;o[n]={read:e=>i.fromWireType(s(c,e)),write:(e,r)=>{var t=[];l(d,e,u.toWireType(t,r)),ie(t)}}})),[{name:r.name,fromWireType:e=>{var r={};for(var t in o)r[t]=o[t].read(e);return n(e),r},toWireType:(e,r)=>{for(var a in o)if(!(a in r))throw new TypeError('Missing field: "'.concat(a,'"'));var i=t();for(a in o)o[a].write(i,r[a]);return null!==e&&e.push(n,i),i},argPackAdvance:Te,readValueFromPointer:se,destructorFunction:n}]}))},_embind_register_bigint:(e,r,t,n,a)=>{var o=-1!=(r=ve(r)).indexOf("u");o&&(a=(1n<<64n)-1n),be(e,{name:r,fromWireType:e=>e,toWireType:function(e,t){if("bigint"!=typeof t&&"number"!=typeof t)throw new TypeError('Cannot convert "'.concat(he(t),'" to ').concat(this.name));if("number"==typeof t&&(t=BigInt(t)),t<n||t>a)throw new TypeError('Passing a number "'.concat(he(t),'" from JS side to C/C++ side to an argument of type "').concat(r,'", which is outside the valid range [').concat(n,", ").concat(a,"]!"));return t},argPackAdvance:Te,readValueFromPointer:we(r,t,!o),destructorFunction:null})},_embind_register_bool:(e,r,t,n)=>{be(e,{name:r=ve(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:n},argPackAdvance:Te,readValueFromPointer:function(e){return this.fromWireType(p[e])},destructorFunction:null})},_embind_register_class:(e,r,t,n,a,o,i,s,c,u,l,d,f)=>{l=ve(l),o=er(a,o),s&&(s=er(i,s)),u&&(u=er(c,u)),f=er(d,f);var m=(e=>{if(void 0===e)return"_unknown";var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=48&&r<=57?"_".concat(e):e})(l);Ne(m,(function(){tr("Cannot construct ".concat(l," due to unbound types"),[n])})),ge([e,r,t],n?[n]:[],(r=>{var t,a;r=r[0],a=n?(t=r.registeredClass).instancePrototype:Ge.prototype;var i=Re(l,(function(){if(Object.getPrototypeOf(this)!==c)throw new le("Use 'new' to construct "+l);if(void 0===g.constructor_body)throw new le(l+" has no accessible constructor");for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var n=g.constructor_body[r.length];if(void 0===n)throw new le("Tried to invoke ctor of ".concat(l," with invalid number of parameters (").concat(r.length,") - expected (").concat(Object.keys(g.constructor_body).toString(),") parameters instead!"));return n.apply(this,r)})),c=Object.create(a,{constructor:{value:i}});i.prototype=c;var d,p,g=new je(l,i,c,f,t,o,s,u);g.baseClass&&(null!==(p=(d=g.baseClass).__derivedClasses)&&void 0!==p||(d.__derivedClasses=[]),g.baseClass.__derivedClasses.push(g));var h=new Xe(l,g,!0,!1,!1),v=new Xe(l+"*",g,!1,!1,!1),y=new Xe(l+" const*",g,!1,!0,!1);return Ae[e]={pointerType:v,constPointerType:y},Je(m,i),[h,v,y]}))},_embind_register_class_class_function:(e,r,t,n,a,o,i,s)=>{var c=ir(t,n);r=ve(r),r=sr(r),o=er(a,o),ge([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r);function a(){tr("Cannot call ".concat(n," due to unbound types"),c)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]);var u=e.registeredClass.constructor;return void 0===u[r]?(a.argCount=t-1,u[r]=a):($e(u,r,n),u[r].overloadTable[t-1]=a),ge([],c,(a=>{var c=[a[0],null].concat(a.slice(1)),l=or(n,c,null,o,i,s);if(void 0===u[r].overloadTable?(l.argCount=t-1,u[r]=l):u[r].overloadTable[t-1]=l,e.registeredClass.__derivedClasses)for(var d of e.registeredClass.__derivedClasses)d.constructor.hasOwnProperty(r)||(d.constructor[r]=l);return[]})),[]}))},_embind_register_class_constructor:(e,r,t,n,a,o)=>{C(r>0);var i=ir(r,t);a=er(n,a),ge([],[e],(e=>{e=e[0];var t="constructor ".concat(e.name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[r-1])throw new le("Cannot register multiple constructors with identical number of parameters (".concat(r-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[r-1]=()=>{tr("Cannot construct ".concat(e.name," due to unbound types"),i)},ge([],i,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[r-1]=or(t,n,null,a,o),[]))),[]}))},_embind_register_class_function:(e,r,t,n,a,o,i,s,c)=>{var u=ir(t,n);r=ve(r),r=sr(r),o=er(a,o),ge([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r);function a(){tr("Cannot call ".concat(n," due to unbound types"),u)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(r);var l=e.registeredClass.instancePrototype,d=l[r];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===t-2?(a.argCount=t-2,a.className=e.name,l[r]=a):($e(l,r,n),l[r].overloadTable[t-2]=a),ge([],u,(a=>{var s=or(n,a,e,o,i,c);return void 0===l[r].overloadTable?(s.argCount=t-2,l[r]=s):l[r].overloadTable[t-2]=s,[]})),[]}))},_embind_register_class_property:(e,r,t,n,a,o,i,s,c,u)=>{r=ve(r),a=er(n,a),ge([],[e],(e=>{e=e[0];var n="".concat(e.name,".").concat(r),l={get(){tr("Cannot access ".concat(n," due to unbound types"),[t,i])},enumerable:!0,configurable:!0};return l.set=c?()=>tr("Cannot access ".concat(n," due to unbound types"),[t,i]):e=>ye(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,r,l),ge([],c?[t,i]:[t],(t=>{var i=t[0],l={get(){var r=cr(this,e,n+" getter");return i.fromWireType(a(o,r))},enumerable:!0};if(c){c=er(s,c);var d=t[1];l.set=function(r){var t=cr(this,e,n+" setter"),a=[];c(u,t,d.toWireType(a,r)),ie(a)}}return Object.defineProperty(e.registeredClass.instancePrototype,r,l),[]})),[]}))},_embind_register_emval:gr,_embind_register_enum:(e,r,t,n)=>{function a(){}r=ve(r),a.values={},be(e,{name:r,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,r)=>r.value,argPackAdvance:Te,readValueFromPointer:hr(r,t,n),destructorFunction:null}),Ne(r,a)},_embind_register_enum_value:(e,r,t)=>{var n=vr(e,"enum");r=ve(r);var a=n.constructor,o=Object.create(n.constructor.prototype,{value:{value:t},constructor:{value:Re("".concat(n.name,"_").concat(r),(function(){}))}});a.values[t]=o,a[r]=o},_embind_register_float:(e,r,t)=>{be(e,{name:r=ve(r),fromWireType:e=>e,toWireType:(e,r)=>{if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError("Cannot convert ".concat(he(r)," to ").concat(this.name));return r},argPackAdvance:Te,readValueFromPointer:yr(r,t),destructorFunction:null})},_embind_register_function:(e,r,t,n,a,o,i)=>{var s=ir(r,t);e=ve(e),e=sr(e),a=er(n,a),Ne(e,(function(){tr("Cannot call ".concat(e," due to unbound types"),s)}),r-1),ge([],s,(t=>{var n=[t[0],null].concat(t.slice(1));return Je(e,or(e,n,null,a,o,i),r-1),[]}))},_embind_register_integer:(e,r,t,n,a)=>{r=ve(r),-1===a&&(a=4294967295);var o=e=>e;if(0===n){var i=32-8*t;o=e=>e<<i>>>i}var s=r.includes("unsigned"),c=(e,t)=>{if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError('Cannot convert "'.concat(he(e),'" to ').concat(t));if(e<n||e>a)throw new TypeError('Passing a number "'.concat(he(e),'" from JS side to C/C++ side to an argument of type "').concat(r,'", which is outside the valid range [').concat(n,", ").concat(a,"]!"))};be(e,{name:r,fromWireType:o,toWireType:s?function(e,r){return c(r,this.name),r>>>0}:function(e,r){return c(r,this.name),r},argPackAdvance:Te,readValueFromPointer:we(r,t,0!==n),destructorFunction:null})},_embind_register_memory_view:(e,r,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][r];function a(e){var r=y[e>>2],t=y[e+4>>2];return new n(m.buffer,t,r)}be(e,{name:t=ve(t),fromWireType:a,argPackAdvance:Te,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},_embind_register_optional:(e,r)=>{gr(e)},_embind_register_smart_ptr:(e,r,t,n,a,o,i,s,c,u,l,d)=>{t=ve(t),o=er(a,o),s=er(i,s),u=er(c,u),d=er(l,d),ge([e],[r],(e=>(e=e[0],[new Xe(t,e.registeredClass,!1,!1,!0,e,n,o,s,u,d)])))},_embind_register_std_string:(e,r)=>{var t="std::string"===(r=ve(r));be(e,{name:r,fromWireType(e){var r,n=y[e>>2],a=e+4;if(t)for(var o=a,i=0;i<=n;++i){var s=a+i;if(i==n||0==p[s]){var c=ae(o,s-o);void 0===r?r=c:(r+=String.fromCharCode(0),r+=c),o=s+1}}else{var u=new Array(n);for(i=0;i<n;++i)u[i]=String.fromCharCode(p[a+i]);r=u.join("")}return Fo(e),r},toWireType(e,r){var n;r instanceof ArrayBuffer&&(r=new Uint8Array(r));var a="string"==typeof r;a||r instanceof Uint8Array||r instanceof Uint8ClampedArray||r instanceof Int8Array||ye("Cannot pass non-string to std::string"),n=t&&a?wr(r):r.length;var o=Ao(4+n+1),i=o+4;if(y[o>>2]=n,t&&a)_r(r,i,n+1);else if(a)for(var s=0;s<n;++s){var c=r.charCodeAt(s);c>255&&(Fo(i),ye("String has UTF-16 code units that do not fit in 8 bits")),p[i+s]=c}else for(s=0;s<n;++s)p[i+s]=r[s];return null!==e&&e.push(Fo,o),o},argPackAdvance:Te,readValueFromPointer:se,destructorFunction(e){Fo(e)}})},_embind_register_std_wstring:(e,r,t)=>{var n,a,o,i;t=ve(t),2===r?(n=Er,a=Cr,i=xr,o=e=>h[e>>1]):4===r&&(n=Pr,a=Sr,i=Ar,o=e=>y[e>>2]),be(e,{name:t,fromWireType:e=>{for(var t,a=y[e>>2],i=e+4,s=0;s<=a;++s){var c=e+4+s*r;if(s==a||0==o(c)){var u=n(i,c-i);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),i=c+r}}return Fo(e),t},toWireType:(e,n)=>{"string"!=typeof n&&ye("Cannot pass non-string to C++ string type ".concat(t));var o=i(n),s=Ao(4+o+r);return y[s>>2]=o/r,a(n,s+4,o+r),null!==e&&e.push(Fo,s),s},argPackAdvance:Te,readValueFromPointer:se,destructorFunction(e){Fo(e)}})},_embind_register_user_type:(e,r)=>{gr(e)},_embind_register_value_object:(e,r,t,n,a,o)=>{oe[e]={name:ve(r),rawConstructor:er(t,n),rawDestructor:er(a,o),fields:[]}},_embind_register_value_object_field:(e,r,t,n,a,o,i,s,c,u)=>{oe[e].fields.push({fieldName:ve(r),getterReturnType:t,getter:er(n,a),getterContext:o,setterArgumentType:i,setter:er(s,c),setterContext:u})},_embind_register_void:(e,r)=>{be(e,{isVoid:!0,name:r=ve(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})},_emscripten_get_now_is_monotonic:()=>1,_emscripten_throw_longjmp:()=>{throw 1/0},_emval_as:(e,r,t)=>(e=mr.toValue(e),r=vr(r,"emval::as"),Fr(r,t,e)),_emval_call:(e,r,t,n)=>(e=Lr[e])(null,r=mr.toValue(r),t,n),_emval_call_method:(e,r,t,n,a)=>(e=Lr[e])(r=mr.toValue(r),r[t=Dr(t)],n,a),_emval_decref:dr,_emval_get_global:e=>0===e?mr.toHandle(kr()):(e=Dr(e),mr.toHandle(kr()[e])),_emval_get_method_caller:(e,r,t)=>{var n=((e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=vr(y[r+4*n>>2],"parameter "+n);return t})(e,r),a=n.shift();e--;var o="return function (obj, func, destructorsRef, args) {\n",i=0,s=[];0===t&&s.push("obj");for(var c=["retType"],u=[a],l=0;l<e;++l)s.push("arg"+l),c.push("argType"+l),u.push(n[l]),o+=" var arg".concat(l," = argType").concat(l,".readValueFromPointer(args").concat(i?"+"+i:"",");\n"),i+=n[l].argPackAdvance;o+=" var rv = ".concat(1===t?"new func":"func.call","(").concat(s.join(", "),");\n"),a.isVoid||(c.push("emval_returnValue"),u.push(Fr),o+=" return emval_returnValue(retType, destructorsRef, rv);\n"),o+="};\n",c.push(o);var d,f,m=ar(Function,c)(...u),p="methodCaller<(".concat(n.map((e=>e.name)).join(", "),") => ").concat(a.name,">");return d=Re(p,m),f=Lr.length,Lr.push(d),f},_emval_get_module_property:e=>(e=Dr(e),mr.toHandle(o[e])),_emval_get_property:(e,r)=>(e=mr.toValue(e),r=mr.toValue(r),mr.toHandle(e[r])),_emval_incref:e=>{e>9&&(lr[e+1]+=1)},_emval_is_string:e=>"string"==typeof(e=mr.toValue(e)),_emval_new_array:()=>mr.toHandle([]),_emval_new_cstring:e=>mr.toHandle(Dr(e)),_emval_new_object:()=>mr.toHandle({}),_emval_run_destructors:e=>{var r=mr.toValue(e);ie(r),dr(e)},_emval_set_property:(e,r,t)=>{e=mr.toValue(e),r=mr.toValue(r),t=mr.toValue(t),e[r]=t},_emval_take_value:(e,r)=>{var t=(e=vr(e,"_emval_take_value")).readValueFromPointer(r);return mr.toHandle(t)},_gmtime_js:function(e,r){var t;e=(t=e)<-9007199254740992||t>9007199254740992?NaN:Number(t);var n=new Date(1e3*e);v[r>>2]=n.getUTCSeconds(),v[r+4>>2]=n.getUTCMinutes(),v[r+8>>2]=n.getUTCHours(),v[r+12>>2]=n.getUTCDate(),v[r+16>>2]=n.getUTCMonth(),v[r+20>>2]=n.getUTCFullYear()-1900,v[r+24>>2]=n.getUTCDay();var a=Date.UTC(n.getUTCFullYear(),0,1,0,0,0,0),o=(n.getTime()-a)/864e5|0;v[r+28>>2]=o},_tzset_js:(e,r,t,n)=>{var a=(new Date).getFullYear(),o=new Date(a,0,1),i=new Date(a,6,1),s=o.getTimezoneOffset(),c=i.getTimezoneOffset(),u=Math.max(s,c);y[e>>2]=60*u,v[r>>2]=Number(s!=c);var l=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],d=l(o),f=l(i);C(d),C(f),C(wr(d)<=16,"timezone name truncated to fit in TZNAME_MAX (".concat(d,")")),C(wr(f)<=16,"timezone name truncated to fit in TZNAME_MAX (".concat(f,")")),c<s?(_r(d,t,17),_r(f,n,17)):(_r(d,n,17),_r(f,t,17))},emscripten_cancel_animation_frame:e=>cancelAnimationFrame(e),emscripten_date_now:()=>Date.now(),emscripten_get_now:Mr,emscripten_glActiveTexture:Wr,emscripten_glAttachShader:Ur,emscripten_glBeginQuery:Gr,emscripten_glBeginQueryEXT:Rr,emscripten_glBindAttribLocation:$r,emscripten_glBindBuffer:Nr,emscripten_glBindFramebuffer:Vr,emscripten_glBindRenderbuffer:Hr,emscripten_glBindSampler:Yr,emscripten_glBindTexture:zr,emscripten_glBindVertexArray:qr,emscripten_glBindVertexArrayOES:Jr,emscripten_glBlendColor:Zr,emscripten_glBlendEquation:Kr,emscripten_glBlendFunc:et,emscripten_glBlitFramebuffer:rt,emscripten_glBufferData:tt,emscripten_glBufferSubData:nt,emscripten_glCheckFramebufferStatus:at,emscripten_glClear:it,emscripten_glClearColor:ct,emscripten_glClearStencil:lt,emscripten_glClientWaitSync:dt,emscripten_glColorMask:ft,emscripten_glCompileShader:mt,emscripten_glCompressedTexImage2D:pt,emscripten_glCompressedTexSubImage2D:gt,emscripten_glCopyBufferSubData:ht,emscripten_glCopyTexSubImage2D:vt,emscripten_glCreateProgram:yt,emscripten_glCreateShader:bt,emscripten_glCullFace:_t,emscripten_glDeleteBuffers:wt,emscripten_glDeleteFramebuffers:Tt,emscripten_glDeleteProgram:Et,emscripten_glDeleteQueries:Ct,emscripten_glDeleteQueriesEXT:xt,emscripten_glDeleteRenderbuffers:Pt,emscripten_glDeleteSamplers:St,emscripten_glDeleteShader:At,emscripten_glDeleteSync:Ft,emscripten_glDeleteTextures:Lt,emscripten_glDeleteVertexArrays:Dt,emscripten_glDeleteVertexArraysOES:Mt,emscripten_glDepthMask:Ot,emscripten_glDisable:Bt,emscripten_glDisableVertexAttribArray:Wt,emscripten_glDrawArrays:Ut,emscripten_glDrawArraysInstanced:Gt,emscripten_glDrawArraysInstancedBaseInstanceWEBGL:Rt,emscripten_glDrawBuffers:Nt,emscripten_glDrawElements:Vt,emscripten_glDrawElementsInstanced:Ht,emscripten_glDrawElementsInstancedBaseVertexBaseInstanceWEBGL:Yt,emscripten_glDrawRangeElements:zt,emscripten_glEnable:Xt,emscripten_glEnableVertexAttribArray:qt,emscripten_glEndQuery:Qt,emscripten_glEndQueryEXT:Jt,emscripten_glFenceSync:Zt,emscripten_glFinish:Kt,emscripten_glFlush:en,emscripten_glFramebufferRenderbuffer:rn,emscripten_glFramebufferTexture2D:tn,emscripten_glFrontFace:nn,emscripten_glGenBuffers:an,emscripten_glGenFramebuffers:on,emscripten_glGenQueries:sn,emscripten_glGenQueriesEXT:cn,emscripten_glGenRenderbuffers:un,emscripten_glGenSamplers:ln,emscripten_glGenTextures:dn,emscripten_glGenVertexArrays:mn,emscripten_glGenVertexArraysOES:gn,emscripten_glGenerateMipmap:hn,emscripten_glGetBufferParameteriv:vn,emscripten_glGetError:yn,emscripten_glGetFloatv:Tn,emscripten_glGetFramebufferAttachmentParameteriv:En,emscripten_glGetIntegerv:xn,emscripten_glGetProgramInfoLog:Pn,emscripten_glGetProgramiv:Sn,emscripten_glGetQueryObjecti64vEXT:Fn,emscripten_glGetQueryObjectui64vEXT:Ln,emscripten_glGetQueryObjectuiv:In,emscripten_glGetQueryObjectuivEXT:Dn,emscripten_glGetQueryiv:kn,emscripten_glGetQueryivEXT:Mn,emscripten_glGetRenderbufferParameteriv:On,emscripten_glGetShaderInfoLog:Bn,emscripten_glGetShaderPrecisionFormat:Wn,emscripten_glGetShaderiv:Un,emscripten_glGetString:$n,emscripten_glGetStringi:jn,emscripten_glGetUniformLocation:Hn,emscripten_glInvalidateFramebuffer:Yn,emscripten_glInvalidateSubFramebuffer:zn,emscripten_glIsSync:Xn,emscripten_glIsTexture:qn,emscripten_glLineWidth:Qn,emscripten_glLinkProgram:Jn,emscripten_glMultiDrawArraysInstancedBaseInstanceWEBGL:Zn,emscripten_glMultiDrawElementsInstancedBaseVertexBaseInstanceWEBGL:Kn,emscripten_glPixelStorei:ea,emscripten_glQueryCounterEXT:ra,emscripten_glReadBuffer:ta,emscripten_glReadPixels:ia,emscripten_glRenderbufferStorage:sa,emscripten_glRenderbufferStorageMultisample:ca,emscripten_glSamplerParameterf:ua,emscripten_glSamplerParameteri:la,emscripten_glSamplerParameteriv:da,emscripten_glScissor:fa,emscripten_glShaderSource:ma,emscripten_glStencilFunc:pa,emscripten_glStencilFuncSeparate:ga,emscripten_glStencilMask:ha,emscripten_glStencilMaskSeparate:va,emscripten_glStencilOp:ya,emscripten_glStencilOpSeparate:ba,emscripten_glTexImage2D:_a,emscripten_glTexParameterf:wa,emscripten_glTexParameterfv:Ta,emscripten_glTexParameteri:Ea,emscripten_glTexParameteriv:Ca,emscripten_glTexStorage2D:xa,emscripten_glTexSubImage2D:Pa,emscripten_glUniform1f:Aa,emscripten_glUniform1fv:La,emscripten_glUniform1i:Ia,emscripten_glUniform1iv:ka,emscripten_glUniform2f:Ma,emscripten_glUniform2fv:Oa,emscripten_glUniform2i:Ba,emscripten_glUniform2iv:Wa,emscripten_glUniform3f:Ua,emscripten_glUniform3fv:Ga,emscripten_glUniform3i:Ra,emscripten_glUniform3iv:$a,emscripten_glUniform4f:Na,emscripten_glUniform4fv:ja,emscripten_glUniform4i:Va,emscripten_glUniform4iv:Ha,emscripten_glUniformMatrix2fv:Ya,emscripten_glUniformMatrix3fv:za,emscripten_glUniformMatrix4fv:Xa,emscripten_glUseProgram:qa,emscripten_glVertexAttrib1f:Qa,emscripten_glVertexAttrib2fv:Ja,emscripten_glVertexAttrib3fv:Za,emscripten_glVertexAttrib4fv:Ka,emscripten_glVertexAttribDivisor:eo,emscripten_glVertexAttribIPointer:ro,emscripten_glVertexAttribPointer:to,emscripten_glViewport:no,emscripten_glWaitSync:ao,emscripten_request_animation_frame:(e,r)=>requestAnimationFrame((t=>Ke(e)(t,r))),emscripten_resize_heap:e=>{var r=p.length;C((e>>>=0)>r);var t=2147483648;if(e>t)return f("Cannot enlarge memory, requested ".concat(e," bytes, but the limit is ").concat(t," bytes!")),!1;for(var n,a,o=1;o<=4;o*=2){var i=r*(1+.2/o);i=Math.min(i,e+100663296);var s=Math.min(t,(n=Math.max(e,i))+((a=65536)-n%a)%a);if(oo(s))return!0}return f("Failed to grow the heap from ".concat(r," bytes to ").concat(s," bytes, not enough memory!")),!1},emscripten_webgl_make_context_current:e=>Br.makeContextCurrent(e)?0:-5,environ_get:(e,r)=>{var t=0;return so().forEach(((n,a)=>{var o=r+t;y[e+4*a>>2]=o,((e,r)=>{for(var t=0;t<e.length;++t)C(e.charCodeAt(t)===(255&e.charCodeAt(t))),m[r++]=e.charCodeAt(t);m[r]=0})(n,o),t+=n.length+1})),0},environ_sizes_get:(e,r)=>{var t=so();y[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),y[r>>2]=n,0},exit:uo,fd_close:e=>{O("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM")},fd_seek:function(e,r,t,n){return 70},fd_write:(e,r,t,n)=>{for(var a=0,o=0;o<t;o++){var i=y[r>>2],s=y[r+4>>2];r+=8;for(var c=0;c<s;c++)fo(e,p[i+c]);a+=s}return y[n>>2]=a,0},glBindFramebuffer:jr,glClear:ot,glClearColor:st,glClearStencil:ut,glGetIntegerv:Cn,glGetString:Rn,glGetStringi:Nn,invoke_ii:function(e,r){var t=ee();try{return Ke(e)(r)}catch(e){if(K(t),e!==e+0)throw e;Io(1,0)}},invoke_iii:function(e,r,t){var n=ee();try{return Ke(e)(r,t)}catch(e){if(K(n),e!==e+0)throw e;Io(1,0)}},invoke_iiii:function(e,r,t,n){var a=ee();try{return Ke(e)(r,t,n)}catch(e){if(K(a),e!==e+0)throw e;Io(1,0)}},invoke_iiiii:function(e,r,t,n,a){var o=ee();try{return Ke(e)(r,t,n,a)}catch(e){if(K(o),e!==e+0)throw e;Io(1,0)}},invoke_iiiiii:function(e,r,t,n,a,o){var i=ee();try{return Ke(e)(r,t,n,a,o)}catch(e){if(K(i),e!==e+0)throw e;Io(1,0)}},invoke_iiiiiii:function(e,r,t,n,a,o,i){var s=ee();try{return Ke(e)(r,t,n,a,o,i)}catch(e){if(K(s),e!==e+0)throw e;Io(1,0)}},invoke_iiiiiiii:function(e,r,t,n,a,o,i,s){var c=ee();try{return Ke(e)(r,t,n,a,o,i,s)}catch(e){if(K(c),e!==e+0)throw e;Io(1,0)}},invoke_v:function(e){var r=ee();try{Ke(e)()}catch(e){if(K(r),e!==e+0)throw e;Io(1,0)}},invoke_vi:function(e,r){var t=ee();try{Ke(e)(r)}catch(e){if(K(t),e!==e+0)throw e;Io(1,0)}},invoke_vii:function(e,r,t){var n=ee();try{Ke(e)(r,t)}catch(e){if(K(n),e!==e+0)throw e;Io(1,0)}},invoke_viii:function(e,r,t,n){var a=ee();try{Ke(e)(r,t,n)}catch(e){if(K(a),e!==e+0)throw e;Io(1,0)}},invoke_viiii:function(e,r,t,n,a){var o=ee();try{Ke(e)(r,t,n,a)}catch(e){if(K(o),e!==e+0)throw e;Io(1,0)}},invoke_viiiiii:function(e,r,t,n,a,o,i){var s=ee();try{Ke(e)(r,t,n,a,o,i)}catch(e){if(K(s),e!==e+0)throw e;Io(1,0)}},invoke_viiiiiiiii:function(e,r,t,n,a,o,i,s,c,u){var l=ee();try{Ke(e)(r,t,n,a,o,i,s,c,u)}catch(e){if(K(l),e!==e+0)throw e;Io(1,0)}},strftime_l:(e,r,t,n,a)=>wo(e,r,t,n)},Po=function(){var e,r={env:xo,wasi_snapshot_preview1:xo};function t(e,r){var t;return Po=e.exports,C(l=Po.memory,"memory not found in wasm exports"),x(),C(qe=Po.__indirect_function_table,"table not found in wasm exports"),t=Po.__wasm_call_ctors,A.unshift(t),function(e){if(I--,e?(C(M[e]),delete M[e]):f("warning: run dependency removed without ID"),0==I&&(null!==D&&(clearInterval(D),D=null),k)){var r=k;k=null,r()}}("wasm-instantiate"),Po}I++,(e="wasm-instantiate")?(C(!M[e]),M[e]=1,null===D&&"undefined"!=typeof setInterval&&(D=setInterval((()=>{if(E)return clearInterval(D),void(D=null);var e=!1;for(var r in M)e||(e=!0,f("still waiting on run dependencies:")),f("dependency: ".concat(r));e&&f("(end of list)")}),1e4))):f("warning: run dependency added without ID");var a,i,s,c,d=o;if(o.instantiateWasm)try{return o.instantiateWasm(r,t)}catch(e){f("Module.instantiateWasm callback failed with error: ".concat(e)),n(e)}return W||(W=$()),(a=u,i=W,s=r,c=function(e){C(o===d,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),d=null,t(e.instance)},a||"function"!=typeof WebAssembly.instantiateStreaming||U(i)||"function"!=typeof fetch?j(i,s,c):fetch(i,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,s).then(c,(function(e){return f("wasm streaming compile failed: ".concat(e)),f("falling back to ArrayBuffer instantiation"),j(i,s,c)}))))).catch(n),{}}(),So=R("__getTypeName",1),Ao=o._malloc=R("malloc",1),Fo=o._free=R("free",1),Lo=R("fflush",1),Io=R("setThrew",2),Do=()=>(Do=Po.emscripten_stack_init)(),ko=()=>(ko=Po.emscripten_stack_get_end)(),Mo=e=>(Mo=Po._emscripten_stack_restore)(e),Oo=()=>(Oo=Po.emscripten_stack_get_current)();o.GL=Br;["writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","convertI32PairToI53","convertI32PairToI53Checked","convertU32PairToI53","stackAlloc","getTempRet0","setTempRet0","zeroMemory","ydayFromDate","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","initRandomFill","randomFill","emscriptenLog","readEmAsmArgs","listenOnce","autoResumeAudioContext","getDynCaller","dynCall","handleException","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","asmjsMangle","asyncLoad","alignMemory","mmapAlloc","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","getCFunc","ccall","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","reallyNegative","unSign","strLen","reSign","formatString","intArrayToString","AsciiToString","stringToUTF8OnStack","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","jsStackTrace","getCallstack","convertPCtoSourceLocation","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","safeSetTimeout","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","Browser_asyncPrepareDataCounter","setMainLoop","getSocketFromFD","getSocketAddress","emscriptenWebGLGetUniform","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","emscriptenWebGLGetIndexed","getFunctionArgsName","createJsInvokerSignature","registerInheritedInstance","unregisterInheritedInstance","writeGLArray","registerWebGlEventCallback","fetchDeleteCachedData","fetchLoadCachedData","fetchCacheData","fetchXHR"].forEach((function(e){"undefined"==typeof globalThis||Object.getOwnPropertyDescriptor(globalThis,e)||Object.defineProperty(globalThis,e,{configurable:!0,get(){var r="`".concat(e,"` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line"),t=e;t.startsWith("_")||(t="$"+e),r+=" (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='".concat(t,"')"),Y(e)&&(r+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),re(r)}}),X(e)}));var Bo;function Wo(){var e;Do(),C(0==(3&(e=ko()))),0==e&&(e+=4),y[e>>2]=34821223,y[e+4>>2]=2310721022,y[0]=1668509029}function Uo(){I>0||(Wo(),Q(S),I>0||(Bo||(Bo=!0,o.calledRun=!0,E||(C(!L),L=!0,P(),Q(A),t(o),C(!o._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),P(),Q(F))),P()))}["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","FS_createFolder","FS_createPath","FS_createLazyFile","FS_createLink","FS_createDevice","FS_readFile","out","err","callMain","abort","wasmMemory","wasmExports","HEAPF32","HEAPF64","HEAP_DATA_VIEW","HEAP8","HEAPU8","HEAP16","HEAPU16","HEAP32","HEAPU32","HEAP64","HEAPU64","writeStackCookie","checkStackCookie","writeI53ToI64","readI53FromI64","readI53FromU64","MAX_INT53","MIN_INT53","bigintToI53Checked","stackSave","stackRestore","ptrToString","exitJS","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","arraySum","addDays","ERRNO_CODES","ERRNO_MESSAGES","DNS","Protocols","Sockets","timers","warnOnce","readEmAsmArgsArray","jstoi_q","jstoi_s","getExecutableName","keepRuntimeAlive","wasmTable","noExitRuntime","freeTableIndexes","functionsInTableMap","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","stringToNewUTF8","writeArrayToMemory","JSEvents","specialHTMLTargets","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","UNWIND_CACHE","ExitStatus","getEnvStrings","flush_NO_FILESYSTEM","promiseMap","Browser","getPreloadedImageData__data","wget","SYSCALLS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance","webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance","InternalError","BindingError","throwInternalError","throwBindingError","registeredTypes","awaitingDependencies","typeDependencies","tupleRegistrations","structRegistrations","sharedRegisterType","whenDependentTypesAreResolved","embind_charCodes","embind_init_charCodes","readLatin1String","getTypeName","getFunctionName","heap32VectorToArray","requireRegisteredType","usesDestructorStack","createJsInvoker","UnboundTypeError","PureVirtualError","GenericWireTypeSize","EmValType","init_embind","throwUnboundTypeError","ensureOverloadTable","exposePublicSymbol","replacePublicSymbol","extendError","createNamedFunction","embindRepr","registeredInstances","getBasestPointer","getInheritedInstance","getInheritedInstanceCount","getLiveInheritedInstances","registeredPointers","registerType","integerReadValueFromPointer","enumReadValueFromPointer","floatReadValueFromPointer","readPointer","runDestructors","newFunc","craftInvokerFunction","embind__requireFunction","genericPointerToWireType","constNoSmartPtrRawPointerToWireType","nonConstNoSmartPtrRawPointerToWireType","init_RegisteredPointer","RegisteredPointer","RegisteredPointer_fromWireType","runDestructor","releaseClassHandle","finalizationRegistry","detachFinalizer_deps","detachFinalizer","attachFinalizer","makeClassHandle","init_ClassHandle","ClassHandle","throwInstanceAlreadyDeleted","deletionQueue","flushPendingDeletes","delayFunction","setDelayFunction","RegisteredClass","shallowCopyInternalPointer","downcastPointer","upcastPointer","validateThis","char_0","char_9","makeLegalFunctionName","emval_freelist","emval_handles","emval_symbols","init_emval","count_emval_handles","getStringOrSymbol","Emval","emval_get_global","emval_returnValue","emval_lookupTypes","emval_methodCallers","emval_addMethodCaller","reflectConstruct","Fetch"].forEach(X),k=function e(){Bo||Uo(),Bo||(k=e)},Uo(),r=i;var Go=function(e){e in a||Object.defineProperty(a,e,{configurable:!0,get(){O("Access to module property ('".concat(e,"') is no longer possible via the module constructor argument; Instead, use the result of the module constructor."))}})};for(var Ro of Object.keys(o))Go(Ro);return r}})(),ye=Object.freeze({__proto__:null,default:ve})}();
|