var ModuleFactory=(()=>{var e="undefined"!=typeof document?document.currentScript?.src:void 0;return"undefined"!=typeof __filename&&(e||=__filename),function(r={}){var t,n,a,o,i=r,s=new Promise((e,r)=>{t=e,n=r}),u="object"==typeof window,c="function"==typeof importScripts,l="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,d=Object.assign({},i),m="./this.program",f=(e,r)=>{throw r},p="";if(l){var g=require("fs"),h=require("path");p=__dirname+"/",o=e=>(e=J(e)?new URL(e):h.normalize(e),g.readFileSync(e)),a=(e,r=!0)=>(e=J(e)?new URL(e):h.normalize(e),new Promise((t,n)=>{g.readFile(e,r?void 0:"utf8",(e,a)=>{e?n(e):t(r?a.buffer:a)})})),!i.thisProgram&&process.argv.length>1&&(m=process.argv[1].replace(/\\/g,"/")),process.argv.slice(2),f=(e,r)=>{throw process.exitCode=e,r}}else(u||c)&&(c?p=self.location.href:"undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),e&&(p=e),p=p.startsWith("blob:")?"":p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1),c&&(o=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.responseType="arraybuffer",r.send(null),new Uint8Array(r.response)}),a=e=>J(e)?new Promise((r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{(200==n.status||0==n.status&&n.response)&&t(n.response),r(n.status)},n.onerror=r,n.send(null)}):fetch(e,{credentials:"same-origin"}).then(e=>e.ok?e.arrayBuffer():Promise.reject(new Error(e.status+" : "+e.url))));var v,b,w=i.print||console.log.bind(console),y=i.printErr||console.error.bind(console);Object.assign(i,d),d=null,i.arguments&&i.arguments,i.thisProgram&&(m=i.thisProgram),i.quit&&(f=i.quit),i.wasmBinary&&(v=i.wasmBinary);var _,x,E,S,k,L,B,C,P,F=!1;function I(){var e=b.buffer;i.HEAP8=x=new Int8Array(e),i.HEAP16=S=new Int16Array(e),i.HEAPU8=E=new Uint8Array(e),i.HEAPU16=k=new Uint16Array(e),i.HEAP32=L=new Int32Array(e),i.HEAPU32=B=new Uint32Array(e),i.HEAPF32=C=new Float32Array(e),i.HEAPF64=P=new Float64Array(e)}var T=[],A=[],O=[];function D(e){T.unshift(e)}function V(e){O.unshift(e)}var j=0,M=null,R=null;function U(e){j++,i.monitorRunDependencies?.(j)}function z(e){if(j--,i.monitorRunDependencies?.(j),0==j&&(null!==M&&(clearInterval(M),M=null),R)){var r=R;R=null,r()}}function G(e){i.onAbort?.(e),y(e="Aborted("+e+")"),F=!0,_=1,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw n(r),r}var N,$,W,H=e=>e.startsWith("data:application/octet-stream;base64,"),J=e=>e.startsWith("file://");function q(){var e,r="vision_wasm_internal.wasm";return H(r)?r:(e=r,i.locateFile?i.locateFile(e,p):p+e)}function X(e){if(e==N&&v)return new Uint8Array(v);if(o)return o(e);throw"both async and sync fetching of the wasm failed"}function Y(e,r,t){return function(e){return v?Promise.resolve().then(()=>X(e)):a(e).then(e=>new Uint8Array(e),()=>X(e))}(e).then(e=>WebAssembly.instantiate(e,r)).then(t,e=>{y(`failed to asynchronously prepare wasm: ${e}`),G(e)})}var Q={1285021:e=>{const r=Je.toValue(e).getContext("webgpu");return Ar.importJsTexture(r.getCurrentTexture())},1285164:(e,r,t,n,a)=>{const o=Je.toValue(e),i=Ar.getJsObject(r),s=Ar.getJsObject(t),u=n,c=a;i.queue.copyExternalImageToTexture({source:o},{texture:s},[u,c])},1285423:(e,r,t,n)=>{const a=Je.toValue(e),o=Ar.getJsObject(r),i=Ar.getJsObject(t),s=Ar.getJsObject(n),u=o.createBindGroup({layout:s,entries:[{binding:0,resource:i},{binding:1,resource:a}]});return Ar.importJsBindGroup(u)},1285793:(e,r)=>{const t=Je.toValue(e),n=Je.toValue(r);n.getContext("2d").drawImage(t,0,0,n.width,n.height)},1285958:(e,r)=>{const t=Je.toValue(e),n=Je.toValue(r),a=n.getContext("2d"),o=new ImageData(t,n.width,n.height);a.putImageData(o,0,0)},1286182:(e,r)=>{const t=Je.toValue(e),n=Je.toValue(r),a=t.getContext("2d").getImageData(0,0,t.width,t.height);n.set(a.data)},1286386:()=>"undefined"!=typeof HTMLCanvasElement,1286441:()=>!!i.preinitializedWebGPUDevice,1286492:()=>{Lr["#canvas"]=i.canvas},1286543:()=>"undefined"!=typeof wasmOffsetConverter};var K,Z=(e,r)=>{if(ce.mainLoop.timingMode=e,ce.mainLoop.timingValue=r,!ce.mainLoop.func)return 1;if(ce.mainLoop.running||(ce.mainLoop.running=!0),0==e)ce.mainLoop.scheduler=function(){var e=0|Math.max(0,ce.mainLoop.tickStartTime+r-K());setTimeout(ce.mainLoop.runner,e)},ce.mainLoop.method="timeout";else if(1==e)ce.mainLoop.scheduler=function(){ce.requestAnimationFrame(ce.mainLoop.runner)},ce.mainLoop.method="rAF";else if(2==e){if(void 0===ce.setImmediate)if("undefined"==typeof setImmediate){var t=[],n="setimmediate";addEventListener("message",e=>{e.data!==n&&e.data.target!==n||(e.stopPropagation(),t.shift()())},!0),ce.setImmediate=function(e){t.push(e),c?(i.setImmediates??=[],i.setImmediates.push(e),postMessage({target:n})):postMessage(n,"*")}}else ce.setImmediate=setImmediate;ce.mainLoop.scheduler=function(){ce.setImmediate(ce.mainLoop.runner)},ce.mainLoop.method="immediate"}return 0};K=()=>performance.now();var ee=e=>{if(e instanceof re||"unwind"==e)return _;f(1,e)};function re(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var te=()=>de||!1,ne=e=>{_=e,te()||(i.onExit?.(e),F=!0),f(e,new re(e))},ae=(e,r)=>{_=e,ne(e)},oe=e=>{if(!F)try{e(),(()=>{if(!te())try{ae(_)}catch(e){ee(e)}})()}catch(e){ee(e)}},ie=(e,r)=>setTimeout(()=>{oe(e)},r),se=e=>{se.shown||={},se.shown[e]||(se.shown[e]=1,l&&(e="warning: "+e),y(e))},ue=i.preloadPlugins||[],ce={mainLoop:{running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){ce.mainLoop.scheduler=null,ce.mainLoop.currentlyRunningMainloop++},resume(){ce.mainLoop.currentlyRunningMainloop++;var e=ce.mainLoop.timingMode,r=ce.mainLoop.timingValue,t=ce.mainLoop.func;ce.mainLoop.func=null,((e,r,t,n,a)=>{ce.mainLoop.func=e,ce.mainLoop.arg=n;var o=ce.mainLoop.currentlyRunningMainloop;function i(){return!(o0){Date.now();var r=ce.mainLoop.queue.shift();if(r.func(r.arg),ce.mainLoop.remainingBlockers){var t=ce.mainLoop.remainingBlockers,n=t%1==0?t-1:Math.floor(t);r.counted?ce.mainLoop.remainingBlockers=n:(n+=.5,ce.mainLoop.remainingBlockers=(8*t+n)/9)}if(ce.mainLoop.updateStatus(),!i())return;setTimeout(ce.mainLoop.runner,0)}else i()&&(ce.mainLoop.currentFrameNumber=ce.mainLoop.currentFrameNumber+1|0,1==ce.mainLoop.timingMode&&ce.mainLoop.timingValue>1&&ce.mainLoop.currentFrameNumber%ce.mainLoop.timingValue!=0?ce.mainLoop.scheduler():(0==ce.mainLoop.timingMode&&(ce.mainLoop.tickStartTime=K()),Er.newRenderingFrameStarted(),ce.mainLoop.runIter(e),i()&&("object"==typeof SDL&&SDL.audio?.queueNewAudioData?.(),ce.mainLoop.scheduler())))},a||(r&&r>0?Z(0,1e3/r):Z(1,1),ce.mainLoop.scheduler()),t)throw"unwind"})(t,0,!1,ce.mainLoop.arg,!0),Z(e,r),ce.mainLoop.scheduler()},updateStatus(){if(i.setStatus){var e=i.statusMessage||"Please wait...",r=ce.mainLoop.remainingBlockers,t=ce.mainLoop.expectedBlockers;r?r{var n=document.createElement("canvas");n.width=i.width,n.height=i.height,n.getContext("2d").drawImage(i,0,0),Qr[r]=n,URL.revokeObjectURL(o),t?.(e)},i.onerror=e=>{y(`Image ${o} could not be decoded`),n?.()},i.src=o}};ue.push(e);var r={canHandle:function(e){return!i.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,r,t,n){var a=!1;function o(n){a||(a=!0,Kr[r]=n,t?.(e))}var i=new Blob([e],{type:ce.getMimetype(r)}),s=URL.createObjectURL(i),u=new Audio;u.addEventListener("canplaythrough",()=>o(u),!1),u.onerror=function(t){a||(y(`warning: browser could not fully decode audio ${r}, trying slower base64 approach`),u.src="data:audio/x-"+r.substr(-3)+";base64,"+function(e){for(var r="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",t="",n=0,a=0,o=0;o=6;){var i=n>>a-6&63;a-=6,t+=r[i]}return 2==a?(t+=r[(3&n)<<4],t+="=="):4==a&&(t+=r[(15&n)<<2],t+="="),t}(e),o(u))},u.src=s,ie(()=>{o(u)},1e4)}};ue.push(r);var t=i.canvas;t&&(t.requestPointerLock=t.requestPointerLock||t.mozRequestPointerLock||t.webkitRequestPointerLock||t.msRequestPointerLock||(()=>{}),t.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),t.exitPointerLock=t.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",n,!1),document.addEventListener("mozpointerlockchange",n,!1),document.addEventListener("webkitpointerlockchange",n,!1),document.addEventListener("mspointerlockchange",n,!1),i.elementPointerLock&&t.addEventListener("click",e=>{!ce.pointerLock&&i.canvas.requestPointerLock&&(i.canvas.requestPointerLock(),e.preventDefault())},!1))}function n(){ce.pointerLock=document.pointerLockElement===i.canvas||document.mozPointerLockElement===i.canvas||document.webkitPointerLockElement===i.canvas||document.msPointerLockElement===i.canvas}},createContext(e,r,t,n){if(r&&i.ctx&&e==i.canvas)return i.ctx;var a,o;if(r){var s={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(n)for(var u in n)s[u]=n[u];void 0!==Er&&(o=Er.createContext(e,s))&&(a=Er.getContext(o).GLctx)}else a=e.getContext("2d");return a?(t&&(i.ctx=a,r&&Er.makeContextCurrent(o),i.useWebGL=r,ce.moduleContextCreatedCallbacks.forEach(e=>e()),ce.init()),a):null},destroyContext(e,r,t){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen(e,r){ce.lockPointer=e,ce.resizeCanvas=r,void 0===ce.lockPointer&&(ce.lockPointer=!0),void 0===ce.resizeCanvas&&(ce.resizeCanvas=!1);var t=i.canvas;function n(){ce.isFullscreen=!1;var e=t.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e?(t.exitFullscreen=ce.exitFullscreen,ce.lockPointer&&t.requestPointerLock(),ce.isFullscreen=!0,ce.resizeCanvas?ce.setFullscreenCanvasSize():ce.updateCanvasDimensions(t)):(e.parentNode.insertBefore(t,e),e.parentNode.removeChild(e),ce.resizeCanvas?ce.setWindowedCanvasSize():ce.updateCanvasDimensions(t)),i.onFullScreen?.(ce.isFullscreen),i.onFullscreen?.(ce.isFullscreen)}ce.fullscreenHandlersInstalled||(ce.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var a=document.createElement("div");t.parentNode.insertBefore(a,t),a.appendChild(t),a.requestFullscreen=a.requestFullscreen||a.mozRequestFullScreen||a.msRequestFullscreen||(a.webkitRequestFullscreen?()=>a.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(a.webkitRequestFullScreen?()=>a.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),a.requestFullscreen()},exitFullscreen:()=>!!ce.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0),nextRAF:0,fakeRequestAnimationFrame(e){var r=Date.now();if(0===ce.nextRAF)ce.nextRAF=r+1e3/60;else for(;r+2>=ce.nextRAF;)ce.nextRAF+=1e3/60;var t=Math.max(ce.nextRAF-r,0);setTimeout(e,t)},requestAnimationFrame(e){"function"!=typeof requestAnimationFrame?(0,ce.fakeRequestAnimationFrame)(e):requestAnimationFrame(e)},safeSetTimeout:(e,r)=>ie(e,r),safeRequestAnimationFrame:e=>ce.requestAnimationFrame(()=>{oe(e)}),getMimetype:e=>({jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]),getUserMedia(e){window.getUserMedia||=navigator.getUserMedia||navigator.mozGetUserMedia,window.getUserMedia(e)},getMovementX:e=>e.movementX||e.mozMovementX||e.webkitMovementX||0,getMovementY:e=>e.movementY||e.mozMovementY||e.webkitMovementY||0,getMouseWheelDelta(e){var r=0;switch(e.type){case"DOMMouseScroll":r=e.detail/3;break;case"mousewheel":r=e.wheelDelta/120;break;case"wheel":switch(r=e.deltaY,e.deltaMode){case 0:r/=100;break;case 1:r/=3;break;case 2:r*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return r},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(e,r){var t=i.canvas.getBoundingClientRect(),n=i.canvas.width,a=i.canvas.height,o=void 0!==window.scrollX?window.scrollX:window.pageXOffset,s=void 0!==window.scrollY?window.scrollY:window.pageYOffset,u=e-(o+t.left),c=r-(s+t.top);return{x:u*=n/t.width,y:c*=a/t.height}},setMouseCoords(e,r){const{x:t,y:n}=ce.calculateMouseCoords(e,r);ce.mouseMovementX=t-ce.mouseX,ce.mouseMovementY=n-ce.mouseY,ce.mouseX=t,ce.mouseY=n},calculateMouseEvent(e){if(ce.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?ce.mouseMovementX=ce.mouseMovementY=0:(ce.mouseMovementX=ce.getMovementX(e),ce.mouseMovementY=ce.getMovementY(e)),ce.mouseX+=ce.mouseMovementX,ce.mouseY+=ce.mouseMovementY;else{if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var r=e.touch;if(void 0===r)return;var t=ce.calculateMouseCoords(r.pageX,r.pageY);if("touchstart"===e.type)ce.lastTouches[r.identifier]=t,ce.touches[r.identifier]=t;else if("touchend"===e.type||"touchmove"===e.type){var n=ce.touches[r.identifier];n||=t,ce.lastTouches[r.identifier]=n,ce.touches[r.identifier]=t}return}ce.setMouseCoords(e.pageX,e.pageY)}},resizeListeners:[],updateResizeListeners(){var e=i.canvas;ce.resizeListeners.forEach(r=>r(e.width,e.height))},setCanvasSize(e,r,t){var n=i.canvas;ce.updateCanvasDimensions(n,e,r),t||ce.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if("undefined"!=typeof SDL){var e=B[SDL.screen>>2];e|=8388608,L[SDL.screen>>2]=e}ce.updateCanvasDimensions(i.canvas),ce.updateResizeListeners()},setWindowedCanvasSize(){if("undefined"!=typeof SDL){var e=B[SDL.screen>>2];e&=-8388609,L[SDL.screen>>2]=e}ce.updateCanvasDimensions(i.canvas),ce.updateResizeListeners()},updateCanvasDimensions(e,r,t){r&&t?(e.widthNative=r,e.heightNative=t):(r=e.widthNative,t=e.heightNative);var n=r,a=t;if(i.forcedAspectRatio&&i.forcedAspectRatio>0&&(n/a{for(;e.length>0;)e.shift()(i)},de=i.noExitRuntime||!0,me=e=>At(e),fe=()=>Dt();class pe{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){B[this.ptr+4>>2]=e}get_type(){return B[this.ptr+4>>2]}set_destructor(e){B[this.ptr+8>>2]=e}get_destructor(){return B[this.ptr+8>>2]}set_caught(e){e=e?1:0,x[this.ptr+12]=e}get_caught(){return 0!=x[this.ptr+12]}set_rethrown(e){e=e?1:0,x[this.ptr+13]=e}get_rethrown(){return 0!=x[this.ptr+13]}init(e,r){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(r)}set_adjusted_ptr(e){B[this.ptr+16>>2]=e}get_adjusted_ptr(){return B[this.ptr+16>>2]}get_exception_ptr(){if(Vt(this.get_type()))return B[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var ge={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var a=e[n];"."===a?e.splice(n,1):".."===a?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=ge.isAbs(e),t="/"===e.substr(-1);return(e=ge.normalizeArray(e.split("/").filter(e=>!!e),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=ge.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=ge.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:(...e)=>ge.normalize(e.join("/")),join2:(e,r)=>ge.normalize(e+"/"+r)},he=e=>(he=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(l)try{var e=require("crypto");if(e.randomFillSync)return r=>e.randomFillSync(r);var r=e.randomBytes;return e=>(e.set(r(e.byteLength)),e)}catch(e){}G("initRandomDevice")})())(e),ve={resolve:(...e)=>{for(var r="",t=!1,n=e.length-1;n>=-1&&!t;n--){var a=n>=0?e[n]:Fe.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");if(!a)return"";r=a+"/"+r,t=ge.isAbs(a)}return(t?"/":"")+(r=ge.normalizeArray(r.split("/").filter(e=>!!e),!t).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=ve.resolve(e).substr(1),r=ve.resolve(r).substr(1);for(var n=t(e.split("/")),a=t(r.split("/")),o=Math.min(n.length,a.length),i=o,s=0;s{for(var n=r+t,a=r;e[a]&&!(a>=n);)++a;return be.decode(e.buffer?e.subarray(r,a):new Uint8Array(e.slice(r,a)))},ye=[],_e=e=>{for(var r=0,t=0;t=55296&&n<=57343?(r+=4,++t):r+=3}return r},xe=(e,r,t,n)=>{if(!(n>0))return 0;for(var a=t,o=t+n-1,i=0;i=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;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};function Ee(e,r,t){var n=t>0?t:_e(e)+1,a=new Array(n),o=xe(e,a,0,a.length);return r&&(a.length=o),a}var Se={ttys:[],init(){},shutdown(){},register(e,r){Se.ttys[e]={input:[],output:[],ops:r},Fe.registerDevice(e,Se.stream_ops)},stream_ops:{open(e){var r=Se.ttys[e.node.rdev];if(!r)throw new Fe.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,a){if(!e.tty||!e.tty.ops.get_char)throw new Fe.ErrnoError(60);for(var o=0,i=0;i(()=>{if(!ye.length){var e=null;if(l){var r=Buffer.alloc(256),t=0,n=process.stdin.fd;try{t=g.readSync(n,r,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;t=0}t>0&&(e=r.slice(0,t).toString("utf-8"))}else"undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n");if(!e)return null;ye=Ee(e,!0)}return ye.shift()})(),put_char(e,r){null===r||10===r?(w(we(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(w(we(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(y(we(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(y(we(e.output,0)),e.output=[])}}},ke=e=>{e=((e,r)=>Math.ceil(e/r)*r)(e,65536);var r=Ft(65536,e);return r?((e,r)=>(E.fill(0,e,e+r),e))(r,e):0},Le={ops_table:null,mount:e=>Le.createNode(null,"/",16895,0),createNode(e,r,t,n){if(Fe.isBlkdev(t)||Fe.isFIFO(t))throw new Fe.ErrnoError(63);Le.ops_table||={dir:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,lookup:Le.node_ops.lookup,mknod:Le.node_ops.mknod,rename:Le.node_ops.rename,unlink:Le.node_ops.unlink,rmdir:Le.node_ops.rmdir,readdir:Le.node_ops.readdir,symlink:Le.node_ops.symlink},stream:{llseek:Le.stream_ops.llseek}},file:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:{llseek:Le.stream_ops.llseek,read:Le.stream_ops.read,write:Le.stream_ops.write,allocate:Le.stream_ops.allocate,mmap:Le.stream_ops.mmap,msync:Le.stream_ops.msync}},link:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr,readlink:Le.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Le.node_ops.getattr,setattr:Le.node_ops.setattr},stream:Fe.chrdev_stream_ops}};var a=Fe.createNode(e,r,t,n);return Fe.isDir(a.mode)?(a.node_ops=Le.ops_table.dir.node,a.stream_ops=Le.ops_table.dir.stream,a.contents={}):Fe.isFile(a.mode)?(a.node_ops=Le.ops_table.file.node,a.stream_ops=Le.ops_table.file.stream,a.usedBytes=0,a.contents=null):Fe.isLink(a.mode)?(a.node_ops=Le.ops_table.link.node,a.stream_ops=Le.ops_table.link.stream):Fe.isChrdev(a.mode)&&(a.node_ops=Le.ops_table.chrdev.node,a.stream_ops=Le.ops_table.chrdev.stream),a.timestamp=Date.now(),e&&(e.contents[r]=a,e.timestamp=a.timestamp),a},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=Fe.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,Fe.isDir(e.mode)?r.size=4096:Fe.isFile(e.mode)?r.size=e.usedBytes:Fe.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&Le.resizeFileStorage(e,r.size)},lookup(e,r){throw Fe.genericErrors[44]},mknod:(e,r,t,n)=>Le.createNode(e,r,t,n),rename(e,r,t){if(Fe.isDir(e.mode)){var n;try{n=Fe.lookupNode(r,t)}catch(e){}if(n)for(var a in n.contents)throw new Fe.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=Fe.lookupNode(e,r);for(var n in t.contents)throw new Fe.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=Le.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!Fe.isLink(e.mode))throw new Fe.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,a){var o=e.node.contents;if(a>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-a,n);if(i>8&&o.subarray)r.set(o.subarray(a,a+i),t);else for(var s=0;s0||t+r(Le.stream_ops.write(e,r,0,n,t,!1),0)}},Be=(e,r,t,n,a,o)=>{Fe.createDataFile(e,r,t,n,a,o)},Ce=(e,r,t,n,o,i,s,u,c,l)=>{var d=r?ve.resolve(ge.join2(e,r)):e;function m(t){function a(t){l?.(),u||Be(e,r,t,n,o,c),i?.(),z()}((e,r,t,n)=>{void 0!==ce&&ce.init();var a=!1;return ue.forEach(o=>{a||o.canHandle(r)&&(o.handle(e,r,t,n),a=!0)}),a})(t,d,a,()=>{s?.(),z()})||a(t)}U(),"string"==typeof t?((e,r,t,n)=>{var o=n?"":`al ${e}`;a(e).then(e=>{r(new Uint8Array(e)),o&&z()},r=>{if(!t)throw`Loading data file "${e}" failed.`;t()}),o&&U()})(t,m,s):m(t)},Pe=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},Fe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(e){this.node=e}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{constructor(e,r,t,n){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Fe.nextInode++,this.name=r,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=n,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return Fe.isDir(this.mode)}get isDevice(){return Fe.isChrdev(this.mode)}},lookupPath(e,r={}){if(!(e=ve.resolve(e)))return{path:"",node:null};if((r=Object.assign({follow_mount:!0,recurse_count:0},r)).recurse_count>8)throw new Fe.ErrnoError(32);for(var t=e.split("/").filter(e=>!!e),n=Fe.root,a="/",o=0;o40)throw new Fe.ErrnoError(32)}}return{path:a,node:n}},getPath(e){for(var r;;){if(Fe.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n>>0)%Fe.nameTable.length},hashAddNode(e){var r=Fe.hashName(e.parent.id,e.name);e.name_next=Fe.nameTable[r],Fe.nameTable[r]=e},hashRemoveNode(e){var r=Fe.hashName(e.parent.id,e.name);if(Fe.nameTable[r]===e)Fe.nameTable[r]=e.name_next;else for(var t=Fe.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=Fe.mayLookup(e);if(t)throw new Fe.ErrnoError(t);for(var n=Fe.hashName(e.id,r),a=Fe.nameTable[n];a;a=a.name_next){var o=a.name;if(a.parent.id===e.id&&o===r)return a}return Fe.lookup(e,r)},createNode(e,r,t,n){var a=new Fe.FSNode(e,r,t,n);return Fe.hashAddNode(a),a},destroyNode(e){Fe.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>Fe.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!Fe.isDir(e.mode))return 54;var r=Fe.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{Fe.lookupNode(e,r);return 20}catch(e){}return Fe.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=Fe.lookupNode(e,r)}catch(e){return e.errno}var a=Fe.nodePermissions(e,"wx");if(a)return a;if(t){if(!Fe.isDir(n.mode))return 54;if(Fe.isRoot(n)||Fe.getPath(n)===Fe.cwd())return 10}else if(Fe.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?Fe.isLink(e.mode)?32:Fe.isDir(e.mode)&&("r"!==Fe.flagsToPermissionString(r)||512&r)?31:Fe.nodePermissions(e,Fe.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Fe.MAX_OPEN_FDS;e++)if(!Fe.streams[e])return e;throw new Fe.ErrnoError(33)},getStreamChecked(e){var r=Fe.getStream(e);if(!r)throw new Fe.ErrnoError(8);return r},getStream:e=>Fe.streams[e],createStream:(e,r=-1)=>(e=Object.assign(new Fe.FSStream,e),-1==r&&(r=Fe.nextfd()),e.fd=r,Fe.streams[r]=e,e),closeStream(e){Fe.streams[e]=null},dupStream(e,r=-1){var t=Fe.createStream(e,r);return t.stream_ops?.dup?.(t),t},chrdev_stream_ops:{open(e){var r=Fe.getDevice(e.node.rdev);e.stream_ops=r.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new Fe.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){Fe.devices[e]={stream_ops:r}},getDevice:e=>Fe.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push(...n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),Fe.syncFSRequests++,Fe.syncFSRequests>1&&y(`warning: ${Fe.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=Fe.getMounts(Fe.root.mount),n=0;function a(e){return Fe.syncFSRequests--,r(e)}function o(e){if(e)return o.errored?void 0:(o.errored=!0,a(e));++n>=t.length&&a(null)}t.forEach(r=>{if(!r.type.syncfs)return o(null);r.type.syncfs(r,e,o)})},mount(e,r,t){var n,a="/"===t,o=!t;if(a&&Fe.root)throw new Fe.ErrnoError(10);if(!a&&!o){var i=Fe.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,Fe.isMountpoint(n))throw new Fe.ErrnoError(10);if(!Fe.isDir(n.mode))throw new Fe.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},u=e.mount(s);return u.mount=s,s.root=u,a?Fe.root=u:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),u},unmount(e){var r=Fe.lookupPath(e,{follow_mount:!1});if(!Fe.isMountpoint(r.node))throw new Fe.ErrnoError(28);var t=r.node,n=t.mounted,a=Fe.getMounts(n);Object.keys(Fe.nameTable).forEach(e=>{for(var r=Fe.nameTable[e];r;){var t=r.name_next;a.includes(r.mount)&&Fe.destroyNode(r),r=t}}),t.mounted=null;var o=t.mount.mounts.indexOf(n);t.mount.mounts.splice(o,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=Fe.lookupPath(e,{parent:!0}).node,a=ge.basename(e);if(!a||"."===a||".."===a)throw new Fe.ErrnoError(28);var o=Fe.mayCreate(n,a);if(o)throw new Fe.ErrnoError(o);if(!n.node_ops.mknod)throw new Fe.ErrnoError(63);return n.node_ops.mknod(n,a,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,Fe.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,Fe.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",a=0;a(void 0===t&&(t=r,r=438),r|=8192,Fe.mknod(e,r,t)),symlink(e,r){if(!ve.resolve(e))throw new Fe.ErrnoError(44);var t=Fe.lookupPath(r,{parent:!0}).node;if(!t)throw new Fe.ErrnoError(44);var n=ge.basename(r),a=Fe.mayCreate(t,n);if(a)throw new Fe.ErrnoError(a);if(!t.node_ops.symlink)throw new Fe.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,a=ge.dirname(e),o=ge.dirname(r),i=ge.basename(e),s=ge.basename(r);if(t=Fe.lookupPath(e,{parent:!0}).node,n=Fe.lookupPath(r,{parent:!0}).node,!t||!n)throw new Fe.ErrnoError(44);if(t.mount!==n.mount)throw new Fe.ErrnoError(75);var u,c=Fe.lookupNode(t,i),l=ve.relative(e,o);if("."!==l.charAt(0))throw new Fe.ErrnoError(28);if("."!==(l=ve.relative(r,a)).charAt(0))throw new Fe.ErrnoError(55);try{u=Fe.lookupNode(n,s)}catch(e){}if(c!==u){var d=Fe.isDir(c.mode),m=Fe.mayDelete(t,i,d);if(m)throw new Fe.ErrnoError(m);if(m=u?Fe.mayDelete(n,s,d):Fe.mayCreate(n,s))throw new Fe.ErrnoError(m);if(!t.node_ops.rename)throw new Fe.ErrnoError(63);if(Fe.isMountpoint(c)||u&&Fe.isMountpoint(u))throw new Fe.ErrnoError(10);if(n!==t&&(m=Fe.nodePermissions(t,"w")))throw new Fe.ErrnoError(m);Fe.hashRemoveNode(c);try{t.node_ops.rename(c,n,s),c.parent=n}catch(e){throw e}finally{Fe.hashAddNode(c)}}},rmdir(e){var r=Fe.lookupPath(e,{parent:!0}).node,t=ge.basename(e),n=Fe.lookupNode(r,t),a=Fe.mayDelete(r,t,!0);if(a)throw new Fe.ErrnoError(a);if(!r.node_ops.rmdir)throw new Fe.ErrnoError(63);if(Fe.isMountpoint(n))throw new Fe.ErrnoError(10);r.node_ops.rmdir(r,t),Fe.destroyNode(n)},readdir(e){var r=Fe.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new Fe.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=Fe.lookupPath(e,{parent:!0}).node;if(!r)throw new Fe.ErrnoError(44);var t=ge.basename(e),n=Fe.lookupNode(r,t),a=Fe.mayDelete(r,t,!1);if(a)throw new Fe.ErrnoError(a);if(!r.node_ops.unlink)throw new Fe.ErrnoError(63);if(Fe.isMountpoint(n))throw new Fe.ErrnoError(10);r.node_ops.unlink(r,t),Fe.destroyNode(n)},readlink(e){var r=Fe.lookupPath(e).node;if(!r)throw new Fe.ErrnoError(44);if(!r.node_ops.readlink)throw new Fe.ErrnoError(28);return ve.resolve(Fe.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=Fe.lookupPath(e,{follow:!r}).node;if(!t)throw new Fe.ErrnoError(44);if(!t.node_ops.getattr)throw new Fe.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>Fe.stat(e,!0),chmod(e,r,t){var n;"string"==typeof e?n=Fe.lookupPath(e,{follow:!t}).node:n=e;if(!n.node_ops.setattr)throw new Fe.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){Fe.chmod(e,r,!0)},fchmod(e,r){var t=Fe.getStreamChecked(e);Fe.chmod(t.node,r)},chown(e,r,t,n){var a;"string"==typeof e?a=Fe.lookupPath(e,{follow:!n}).node:a=e;if(!a.node_ops.setattr)throw new Fe.ErrnoError(63);a.node_ops.setattr(a,{timestamp:Date.now()})},lchown(e,r,t){Fe.chown(e,r,t,!0)},fchown(e,r,t){var n=Fe.getStreamChecked(e);Fe.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new Fe.ErrnoError(28);var t;"string"==typeof e?t=Fe.lookupPath(e,{follow:!0}).node:t=e;if(!t.node_ops.setattr)throw new Fe.ErrnoError(63);if(Fe.isDir(t.mode))throw new Fe.ErrnoError(31);if(!Fe.isFile(t.mode))throw new Fe.ErrnoError(28);var n=Fe.nodePermissions(t,"w");if(n)throw new Fe.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=Fe.getStreamChecked(e);if(!(2097155&t.flags))throw new Fe.ErrnoError(28);Fe.truncate(t.node,r)},utime(e,r,t){var n=Fe.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,r,t){if(""===e)throw new Fe.ErrnoError(44);var n;if(t=64&(r="string"==typeof r?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(r):r)?4095&(t=void 0===t?438:t)|32768:0,"object"==typeof e)n=e;else{e=ge.normalize(e);try{n=Fe.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var a=!1;if(64&r)if(n){if(128&r)throw new Fe.ErrnoError(20)}else n=Fe.mknod(e,t,0),a=!0;if(!n)throw new Fe.ErrnoError(44);if(Fe.isChrdev(n.mode)&&(r&=-513),65536&r&&!Fe.isDir(n.mode))throw new Fe.ErrnoError(54);if(!a){var o=Fe.mayOpen(n,r);if(o)throw new Fe.ErrnoError(o)}512&r&&!a&&Fe.truncate(n,0),r&=-131713;var s=Fe.createStream({node:n,path:Fe.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!i.logReadFiles||1&r||(Fe.readFiles||(Fe.readFiles={}),e in Fe.readFiles||(Fe.readFiles[e]=1)),s},close(e){if(Fe.isClosed(e))throw new Fe.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Fe.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(Fe.isClosed(e))throw new Fe.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Fe.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new Fe.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,a){if(n<0||a<0)throw new Fe.ErrnoError(28);if(Fe.isClosed(e))throw new Fe.ErrnoError(8);if(1==(2097155&e.flags))throw new Fe.ErrnoError(8);if(Fe.isDir(e.node.mode))throw new Fe.ErrnoError(31);if(!e.stream_ops.read)throw new Fe.ErrnoError(28);var o=void 0!==a;if(o){if(!e.seekable)throw new Fe.ErrnoError(70)}else a=e.position;var i=e.stream_ops.read(e,r,t,n,a);return o||(e.position+=i),i},write(e,r,t,n,a,o){if(n<0||a<0)throw new Fe.ErrnoError(28);if(Fe.isClosed(e))throw new Fe.ErrnoError(8);if(!(2097155&e.flags))throw new Fe.ErrnoError(8);if(Fe.isDir(e.node.mode))throw new Fe.ErrnoError(31);if(!e.stream_ops.write)throw new Fe.ErrnoError(28);e.seekable&&1024&e.flags&&Fe.llseek(e,0,2);var i=void 0!==a;if(i){if(!e.seekable)throw new Fe.ErrnoError(70)}else a=e.position;var s=e.stream_ops.write(e,r,t,n,a,o);return i||(e.position+=s),s},allocate(e,r,t){if(Fe.isClosed(e))throw new Fe.ErrnoError(8);if(r<0||t<=0)throw new Fe.ErrnoError(28);if(!(2097155&e.flags))throw new Fe.ErrnoError(8);if(!Fe.isFile(e.node.mode)&&!Fe.isDir(e.node.mode))throw new Fe.ErrnoError(43);if(!e.stream_ops.allocate)throw new Fe.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,a){if(2&n&&!(2&a)&&2!=(2097155&e.flags))throw new Fe.ErrnoError(2);if(1==(2097155&e.flags))throw new Fe.ErrnoError(2);if(!e.stream_ops.mmap)throw new Fe.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,a)},msync:(e,r,t,n,a)=>e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,a):0,ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new Fe.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e,r={}){if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=Fe.open(e,r.flags),a=Fe.stat(e).size,o=new Uint8Array(a);return Fe.read(n,o,0,a,0),"utf8"===r.encoding?t=we(o,0):"binary"===r.encoding&&(t=o),Fe.close(n),t},writeFile(e,r,t={}){t.flags=t.flags||577;var n=Fe.open(e,t.flags,t.mode);if("string"==typeof r){var a=new Uint8Array(_e(r)+1),o=xe(r,a,0,a.length);Fe.write(n,a,0,o,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");Fe.write(n,r,0,r.byteLength,void 0,t.canOwn)}Fe.close(n)},cwd:()=>Fe.currentPath,chdir(e){var r=Fe.lookupPath(e,{follow:!0});if(null===r.node)throw new Fe.ErrnoError(44);if(!Fe.isDir(r.node.mode))throw new Fe.ErrnoError(54);var t=Fe.nodePermissions(r.node,"x");if(t)throw new Fe.ErrnoError(t);Fe.currentPath=r.path},createDefaultDirectories(){Fe.mkdir("/tmp"),Fe.mkdir("/home"),Fe.mkdir("/home/web_user")},createDefaultDevices(){Fe.mkdir("/dev"),Fe.registerDevice(Fe.makedev(1,3),{read:()=>0,write:(e,r,t,n,a)=>n}),Fe.mkdev("/dev/null",Fe.makedev(1,3)),Se.register(Fe.makedev(5,0),Se.default_tty_ops),Se.register(Fe.makedev(6,0),Se.default_tty1_ops),Fe.mkdev("/dev/tty",Fe.makedev(5,0)),Fe.mkdev("/dev/tty1",Fe.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=he(e).byteLength),e[--r]);Fe.createDevice("/dev","random",t),Fe.createDevice("/dev","urandom",t),Fe.mkdir("/dev/shm"),Fe.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Fe.mkdir("/proc");var e=Fe.mkdir("/proc/self");Fe.mkdir("/proc/self/fd"),Fe.mount({mount(){var r=Fe.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=Fe.getStreamChecked(t),a={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return a.parent=a,a}},r}},{},"/proc/self/fd")},createStandardStreams(){i.stdin?Fe.createDevice("/dev","stdin",i.stdin):Fe.symlink("/dev/tty","/dev/stdin"),i.stdout?Fe.createDevice("/dev","stdout",null,i.stdout):Fe.symlink("/dev/tty","/dev/stdout"),i.stderr?Fe.createDevice("/dev","stderr",null,i.stderr):Fe.symlink("/dev/tty1","/dev/stderr");Fe.open("/dev/stdin",0),Fe.open("/dev/stdout",1),Fe.open("/dev/stderr",1)},staticInit(){[44].forEach(e=>{Fe.genericErrors[e]=new Fe.ErrnoError(e),Fe.genericErrors[e].stack=""}),Fe.nameTable=new Array(4096),Fe.mount(Le,{},"/"),Fe.createDefaultDirectories(),Fe.createDefaultDevices(),Fe.createSpecialDirectories(),Fe.filesystems={MEMFS:Le}},init(e,r,t){Fe.init.initialized=!0,i.stdin=e||i.stdin,i.stdout=r||i.stdout,i.stderr=t||i.stderr,Fe.createStandardStreams()},quit(){Fe.init.initialized=!1;for(var e=0;ethis.length-1||e<0)){var r=e%this.chunkSize,t=e/this.chunkSize|0;return this.getter(t)[r]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;if(e.open("HEAD",t,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+t+". Status: "+e.status);var r,n=Number(e.getResponseHeader("Content-length")),a=(r=e.getResponseHeader("Accept-Ranges"))&&"bytes"===r,o=(r=e.getResponseHeader("Content-Encoding"))&&"gzip"===r,i=1048576;a||(i=n);var s=this;s.setDataGetter(e=>{var r=e*i,a=(e+1)*i-1;if(a=Math.min(a,n-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,r)=>{if(e>r)throw new Error("invalid range ("+e+", "+r+") or no bytes requested!");if(r>n-1)throw new Error("only "+n+" bytes available! programmer error!");var a=new XMLHttpRequest;if(a.open("GET",t,!1),n!==i&&a.setRequestHeader("Range","bytes="+e+"-"+r),a.responseType="arraybuffer",a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined"),a.send(null),!(a.status>=200&&a.status<300||304===a.status))throw new Error("Couldn't load "+t+". Status: "+a.status);return void 0!==a.response?new Uint8Array(a.response||[]):Ee(a.responseText||"",!0)})(r,a)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]}),!o&&n||(i=n=1,n=this.getter(0).length,i=n,w("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if("undefined"!=typeof XMLHttpRequest){if(!c)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i={isDevice:!1,contents:new o}}else i={isDevice:!1,url:t};var s=Fe.createFile(e,r,i,n,a);i.contents?s.contents=i.contents:i.url&&(s.contents=null,s.url=i.url),Object.defineProperties(s,{usedBytes:{get:function(){return this.contents.length}}});var u={};function l(e,r,t,n,a){var o=e.node.contents;if(a>=o.length)return 0;var i=Math.min(o.length-a,n);if(o.slice)for(var s=0;s{var r=s.stream_ops[e];u[e]=(...e)=>(Fe.forceLoadFile(s),r(...e))}),u.read=(e,r,t,n,a)=>(Fe.forceLoadFile(s),l(e,r,t,n,a)),u.mmap=(e,r,t,n,a)=>{Fe.forceLoadFile(s);var o=ke(r);if(!o)throw new Fe.ErrnoError(48);return l(e,x,o,r,t),{ptr:o,allocated:!0}},s.stream_ops=u,s}},Ie=(e,r)=>{if(!e)return"";for(var t=e+r,n=e;!(n>=t)&&E[n];)++n;return be.decode(E.subarray(e,n))},Te={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(ge.isAbs(r))return r;var n;-100===e?n=Fe.cwd():n=Te.getStreamFromFD(e).path;if(0==r.length){if(!t)throw new Fe.ErrnoError(44);return n}return ge.join2(n,r)},doStat(e,r,t){var n=e(r);L[t>>2]=n.dev,L[t+4>>2]=n.mode,B[t+8>>2]=n.nlink,L[t+12>>2]=n.uid,L[t+16>>2]=n.gid,L[t+20>>2]=n.rdev,W=[n.size>>>0,($=n.size,+Math.abs($)>=1?$>0?+Math.floor($/4294967296)>>>0:~~+Math.ceil(($-+(~~$>>>0))/4294967296)>>>0:0)],L[t+24>>2]=W[0],L[t+28>>2]=W[1],L[t+32>>2]=4096,L[t+36>>2]=n.blocks;var a=n.atime.getTime(),o=n.mtime.getTime(),i=n.ctime.getTime();return W=[Math.floor(a/1e3)>>>0,($=Math.floor(a/1e3),+Math.abs($)>=1?$>0?+Math.floor($/4294967296)>>>0:~~+Math.ceil(($-+(~~$>>>0))/4294967296)>>>0:0)],L[t+40>>2]=W[0],L[t+44>>2]=W[1],B[t+48>>2]=a%1e3*1e3,W=[Math.floor(o/1e3)>>>0,($=Math.floor(o/1e3),+Math.abs($)>=1?$>0?+Math.floor($/4294967296)>>>0:~~+Math.ceil(($-+(~~$>>>0))/4294967296)>>>0:0)],L[t+56>>2]=W[0],L[t+60>>2]=W[1],B[t+64>>2]=o%1e3*1e3,W=[Math.floor(i/1e3)>>>0,($=Math.floor(i/1e3),+Math.abs($)>=1?$>0?+Math.floor($/4294967296)>>>0:~~+Math.ceil(($-+(~~$>>>0))/4294967296)>>>0:0)],L[t+72>>2]=W[0],L[t+76>>2]=W[1],B[t+80>>2]=i%1e3*1e3,W=[n.ino>>>0,($=n.ino,+Math.abs($)>=1?$>0?+Math.floor($/4294967296)>>>0:~~+Math.ceil(($-+(~~$>>>0))/4294967296)>>>0:0)],L[t+88>>2]=W[0],L[t+92>>2]=W[1],0},doMsync(e,r,t,n,a){if(!Fe.isFile(r.node.mode))throw new Fe.ErrnoError(43);if(2&n)return 0;var o=E.slice(e,e+t);Fe.msync(r,o,a,t,n)},getStreamFromFD:e=>Fe.getStreamChecked(e),varargs:void 0,getStr:e=>Ie(e)};function Ae(){var e=L[+Te.varargs>>2];return Te.varargs+=4,e}var Oe=Ae;var De,Ve,je=e=>{for(var r="",t=e;E[t];)r+=De[E[t++]];return r},Me={},Re={},Ue={},ze=e=>{throw new Ve(e)};function Ge(e,r,t={}){if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,r,t={}){var n=r.name;if(e||ze(`type "${n}" must have a positive integer typeid pointer`),Re.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;ze(`Cannot register type '${n}' twice`)}if(Re[e]=r,delete Ue[e],Me.hasOwnProperty(e)){var a=Me[e];delete Me[e],a.forEach(e=>e())}}(e,r,t)}var Ne=[],$e=[],We=e=>{e>9&&0===--$e[e+1]&&($e[e]=void 0,Ne.push(e))},He=()=>$e.length/2-5-Ne.length,Je={toValue:e=>(e||ze("Cannot use deleted val. handle = "+e),$e[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const r=Ne.pop()||$e.length;return $e[r]=e,$e[r+1]=1,r}}}};function qe(e){return this.fromWireType(B[e>>2])}var Xe={name:"emscripten::val",fromWireType:e=>{var r=Je.toValue(e);return We(e),r},toWireType:(e,r)=>Je.toHandle(r),argPackAdvance:8,readValueFromPointer:qe,destructorFunction:null},Ye=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(C[e>>2])};case 8:return function(e){return this.fromWireType(P[e>>3])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},Qe=(e,r,t)=>{switch(r){case 1:return t?e=>x[e]:e=>E[e];case 2:return t?e=>S[e>>1]:e=>k[e>>1];case 4:return t?e=>L[e>>2]:e=>B[e>>2];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}},Ke=(e,r,t)=>xe(e,E,r,t),Ze=new TextDecoder("utf-16le"),er=(e,r)=>{for(var t=e,n=t>>1,a=n+r/2;!(n>=a)&&k[n];)++n;return t=n<<1,Ze.decode(E.subarray(e,t))},rr=(e,r,t)=>{if(t??=2147483647,t<2)return 0;for(var n=r,a=(t-=2)<2*e.length?t/2:e.length,o=0;o>1]=i,r+=2}return S[r>>1]=0,r-n},tr=e=>2*e.length,nr=(e,r)=>{for(var t=0,n="";!(t>=r/4);){var a=L[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},ar=(e,r,t)=>{if(t??=2147483647,t<4)return 0;for(var n=r,a=n+t-4,o=0;o=55296&&i<=57343)i=65536+((1023&i)<<10)|1023&e.charCodeAt(++o);if(L[r>>2]=i,(r+=4)+4>a)break}return L[r>>2]=0,r-n},or=e=>{for(var r=0,t=0;t=55296&&n<=57343&&++t,r+=4}return r},ir=(e,r)=>{var t,n,a,o=Re[e];return void 0===o&&ze(`${r} has unknown type ${t=e,n=Pt(t),a=je(n),ot(n),a}`),o},sr={},ur=e=>{var r=sr[e];return void 0===r?je(e):r},cr=()=>{if("object"==typeof globalThis)return globalThis;function e(e){e.$$$embind_global$$$=e;var r="object"==typeof $$$embind_global$$$&&e.$$$embind_global$$$==e;return r||delete e.$$$embind_global$$$,r}if("object"==typeof $$$embind_global$$$)return $$$embind_global$$$;if("object"==typeof global&&e(global)?$$$embind_global$$$=global:"object"==typeof self&&e(self)&&($$$embind_global$$$=self),"object"==typeof $$$embind_global$$$)return $$$embind_global$$$;throw Error("unable to get global object.")},lr=(e,r)=>r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN;var dr=[0,31,60,91,121,152,182,213,244,274,305,335],mr=[0,31,59,90,120,151,181,212,243,273,304,334],fr=e=>{var r;return((r=e.getFullYear())%4==0&&(r%100!=0||r%400==0)?dr:mr)[e.getMonth()]+e.getDate()-1};var pr=[],gr=(e,r,t)=>{var n=((e,r)=>{var t;for(pr.length=0;t=E[e++];){var n=105!=t;r+=(n&=112!=t)&&r%8?4:0,pr.push(112==t?B[r>>2]:105==t?L[r>>2]:P[r>>3]),r+=n?8:4}return pr})(r,t);return Q[e](...n)},hr=e=>{var r=(e-b.buffer.byteLength+65535)/65536;try{return b.grow(r),I(),1}catch(e){}},vr=e=>(G("Cannot use convertFrameToPC (needed by __builtin_return_address) without -sUSE_OFFSET_CONVERTER"),0),br={},wr=e=>{e.forEach(e=>{var r=vr();r&&(br[r]=e)})};function yr(){return(new Error).stack.toString()}var _r,xr=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))},Er={counter:1,buffers:[],mappedBuffers:{},programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],byteSizeByTypeRoot:5120,byteSizeByType:[1,1,2,2,4,4,4,2,3,4,8],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{Er.lastError||(Er.lastError=e)},getNewId:e=>{for(var r=Er.counter++,t=e.length;t{for(var a=0;a>2]=i}},MAX_TEMP_BUFFER_SIZE:2097152,numTempVertexBuffersPerSize:64,log2ceilLookup:e=>32-Math.clz32(0===e?0:e-1),generateTempBuffers:(e,r)=>{var t=Er.log2ceilLookup(Er.MAX_TEMP_BUFFER_SIZE);r.tempVertexBufferCounters1=[],r.tempVertexBufferCounters2=[],r.tempVertexBufferCounters1.length=r.tempVertexBufferCounters2.length=t+1,r.tempVertexBuffers1=[],r.tempVertexBuffers2=[],r.tempVertexBuffers1.length=r.tempVertexBuffers2.length=t+1,r.tempIndexBuffers=[],r.tempIndexBuffers.length=t+1;for(var n=0;n<=t;++n){r.tempIndexBuffers[n]=null,r.tempVertexBufferCounters1[n]=r.tempVertexBufferCounters2[n]=0;var a=Er.numTempVertexBuffersPerSize;r.tempVertexBuffers1[n]=[],r.tempVertexBuffers2[n]=[];var o=r.tempVertexBuffers1[n],i=r.tempVertexBuffers2[n];o.length=i.length=a;for(var s=0;s>1,c=new Uint16Array(u),l=(n=0,0);!(c[n++]=l,n>=u||(c[n++]=l+1,n>=u)||(c[n++]=l+2,n>=u)||(c[n++]=l,n>=u)||(c[n++]=l+2,n>=u)||(c[n++]=l+3,n>=u));)l+=4;r.GLctx.bufferData(34963,c,35044),r.GLctx.bindBuffer(34963,null)}},getTempVertexBuffer:e=>{var r=Er.log2ceilLookup(e),t=Er.currentContext.tempVertexBuffers1[r],n=Er.currentContext.tempVertexBufferCounters1[r];Er.currentContext.tempVertexBufferCounters1[r]=Er.currentContext.tempVertexBufferCounters1[r]+1&Er.numTempVertexBuffersPerSize-1;var a=t[n];if(a)return a;var o=Yr.getParameter(34964);return t[n]=Yr.createBuffer(),Yr.bindBuffer(34962,t[n]),Yr.bufferData(34962,1<{var r=Er.log2ceilLookup(e),t=Er.currentContext.tempIndexBuffers[r];if(t)return t;var n=Yr.getParameter(34965);return Er.currentContext.tempIndexBuffers[r]=Yr.createBuffer(),Yr.bindBuffer(34963,Er.currentContext.tempIndexBuffers[r]),Yr.bufferData(34963,1<{if(Er.currentContext){var e=Er.currentContext.tempVertexBuffers1;Er.currentContext.tempVertexBuffers1=Er.currentContext.tempVertexBuffers2,Er.currentContext.tempVertexBuffers2=e,e=Er.currentContext.tempVertexBufferCounters1,Er.currentContext.tempVertexBufferCounters1=Er.currentContext.tempVertexBufferCounters2,Er.currentContext.tempVertexBufferCounters2=e;for(var r=Er.log2ceilLookup(Er.MAX_TEMP_BUFFER_SIZE),t=0;t<=r;++t)Er.currentContext.tempVertexBufferCounters1[t]=0}},getSource:(e,r,t,n)=>{for(var a="",o=0;o>2]:void 0;a+=Ie(B[t+4*o>>2],i)}return a},calcBufLength:(e,r,t,n)=>t>0?n*t:e*Er.byteSizeByType[r-Er.byteSizeByTypeRoot]*n,usedTempBuffers:[],preDrawHandleClientVertexAttribBindings:e=>{Er.resetBufferBinding=!1;for(var r=0;r{Er.resetBufferBinding&&Yr.bindBuffer(34962,Er.buffers[Yr.currentArrayBufferBinding])},createContext:(e,r)=>{if(!e.getContextSafariWebGL2Fixed){e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=function(r,t){var n=e.getContextSafariWebGL2Fixed(r,t);return"webgl"==r==n instanceof WebGLRenderingContext?n:null}}var t=r.majorVersion>1?e.getContext("webgl2",r):e.getContext("webgl",r);return t?Er.registerContext(t,r):0},registerContext:(e,r)=>{var t=Er.getNewId(Er.contexts),n={handle:t,attributes:r,version:r.majorVersion,GLctx:e};e.canvas&&(e.canvas.GLctxObject=n),Er.contexts[t]=n,(void 0===r.enableExtensionsByDefault||r.enableExtensionsByDefault)&&Er.initExtensions(n),n.maxVertexAttribs=n.GLctx.getParameter(34921),n.clientBuffers=[];for(var a=0;a(Er.currentContext=Er.contexts[e],i.ctx=Yr=Er.currentContext?.GLctx,!(e&&!Yr)),getContext:e=>Er.contexts[e],deleteContext:e=>{Er.currentContext===Er.contexts[e]&&(Er.currentContext=null),"object"==typeof Sr&&Sr.removeAllHandlersOnTarget(Er.contexts[e].GLctx.canvas),Er.contexts[e]&&Er.contexts[e].GLctx.canvas&&(Er.contexts[e].GLctx.canvas.GLctxObject=void 0),Er.contexts[e]=null},initExtensions:e=>{if(e||=Er.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),xr(t).forEach(e=>{e.includes("lose_context")||e.includes("debug")||t.getExtension(e)})}}},Sr={removeAllEventListeners(){for(;Sr.eventHandlers.length;)Sr._removeHandler(Sr.eventHandlers.length-1);Sr.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(e,r,t){function n(e,r){if(e.length!=r.length)return!1;for(var t in e)if(e[t]!=r[t])return!1;return!0}for(var a of Sr.deferredCalls)if(a.targetFunction==e&&n(a.argsList,t))return;Sr.deferredCalls.push({targetFunction:e,precedence:r,argsList:t}),Sr.deferredCalls.sort((e,r)=>e.precedencer.targetFunction!=e)},canPerformEventHandlerRequests:()=>navigator.userActivation?navigator.userActivation.isActive:Sr.inEventHandler&&Sr.currentEventHandler.allowsDeferredCalls,runDeferredCalls(){if(Sr.canPerformEventHandlerRequests()){var e=Sr.deferredCalls;for(var r of(Sr.deferredCalls=[],e))r.targetFunction(...r.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(e,r)=>{for(var t=0;te?e==window?"#window":e==screen?"#screen":e?.nodeName||"":"",fullscreenEnabled:()=>document.fullscreenEnabled||document.webkitFullscreenEnabled},kr=["default","low-power","high-performance"],Lr=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],Br=e=>("number"==typeof e&&(e=Ie(e)),e&&"#canvas"!==e?void 0!==Er&&Er.offscreenCanvases[e]?Er.offscreenCanvases[e]:(e=>{try{return e?("number"==typeof e&&(e=Lr[e]||Ie(e)),"#window"===e?window:"#document"===e?document:"#screen"===e?screen:"#canvas"===e?i.canvas:"string"==typeof e?document.getElementById(e):e):window}catch(e){return null}})(e):void 0!==Er&&Er.offscreenCanvases.canvas?Er.offscreenCanvases.canvas:i.canvas),Cr=(e,r)=>{var t=r>>2,n=L[t+2],a={alpha:!!x[r+0],depth:!!x[r+1],stencil:!!x[r+2],antialias:!!x[r+3],premultipliedAlpha:!!x[r+4],preserveDrawingBuffer:!!x[r+5],powerPreference:kr[n],failIfMajorPerformanceCaveat:!!x[r+12],majorVersion:L[t+4],minorVersion:L[t+5],enableExtensionsByDefault:x[r+24],explicitSwapControl:x[r+25],proxyContextToMainThread:L[t+7],renderViaOffscreenBackBuffer:x[r+32]},o=Br(e);return o?a.explicitSwapControl?0:Er.createContext(o,a):0},Pr=()=>Er.currentContext?Er.currentContext.handle:0,Fr=e=>Ot(e),Ir=e=>{var r=_e(e)+1,t=Fr(r);return Ke(e,t,r),t},Tr=[],Ar={Internals:{jsObjects:[],jsObjectInsert:(e,r)=>{Ar.Internals.jsObjects[e]=r},bufferOnUnmaps:[],futures:[],futureInsert:(e,r)=>{}},getJsObject:e=>{if(e)return Ar.Internals.jsObjects[e]},importJsAdapter:(e,r=0)=>{var t=St(r);return Ar.Internals.jsObjects[t]=e,t},importJsBindGroup:(e,r=0)=>{var t=ut(r);return Ar.Internals.jsObjects[t]=e,t},importJsBindGroupLayout:(e,r=0)=>{var t=ct(r);return Ar.Internals.jsObjects[t]=e,t},importJsBuffer:(e,r=0)=>{var t=kt(r);return Ar.Internals.jsObjects[t]=e,t},importJsCommandBuffer:(e,r=0)=>{var t=lt(r);return Ar.Internals.jsObjects[t]=e,t},importJsCommandEncoder:(e,r=0)=>{var t=dt(r);return Ar.Internals.jsObjects[t]=e,t},importJsComputePassEncoder:(e,r=0)=>{var t=mt(r);return Ar.Internals.jsObjects[t]=e,t},importJsComputePipeline:(e,r=0)=>{var t=ft(r);return Ar.Internals.jsObjects[t]=e,t},importJsDevice:(e,r=0)=>{var t=Bt(r),n=Lt(r,t);return Ar.Internals.jsObjectInsert(t,e.queue),Ar.Internals.jsObjectInsert(n,e),n},importJsPipelineLayout:(e,r=0)=>{var t=pt(r);return Ar.Internals.jsObjects[t]=e,t},importJsQuerySet:(e,r=0)=>{var t=gt(r);return Ar.Internals.jsObjects[t]=e,t},importJsQueue:(e,r=0)=>{var t=Bt(r);return Ar.Internals.jsObjects[t]=e,t},importJsRenderBundle:(e,r=0)=>{var t=ht(r);return Ar.Internals.jsObjects[t]=e,t},importJsRenderBundleEncoder:(e,r=0)=>{var t=vt(r);return Ar.Internals.jsObjects[t]=e,t},importJsRenderPassEncoder:(e,r=0)=>{var t=bt(r);return Ar.Internals.jsObjects[t]=e,t},importJsRenderPipeline:(e,r=0)=>{var t=wt(r);return Ar.Internals.jsObjects[t]=e,t},importJsSampler:(e,r=0)=>{var t=yt(r);return Ar.Internals.jsObjects[t]=e,t},importJsShaderModule:(e,r=0)=>{var t=Ct(r);return Ar.Internals.jsObjects[t]=e,t},importJsSurface:(e,r=0)=>{var t=_t(r);return Ar.Internals.jsObjects[t]=e,t},importJsTexture:(e,r=0)=>{var t=xt(r);return Ar.Internals.jsObjects[t]=e,t},importJsTextureView:(e,r=0)=>{var t=Et(r);return Ar.Internals.jsObjects[t]=e,t},errorCallback:(e,r,t,n)=>{var a,o,i=fe(),s=Ir(t);((o=Tr[a=e])||(a>=Tr.length&&(Tr.length=a+1),Tr[a]=o=_r.get(a)),o)(r,s,n),me(i)},setStringView:(e,r,t)=>{B[e>>2]=r,B[e+4>>2]=t},makeStringFromStringView:e=>{var r=B[e>>2],t=B[e+4>>2];return Ie(r,t)},makeStringFromOptionalStringView:e=>{var r=B[e>>2],t=B[e+4>>2];return r?Ie(r,t):0===t?"":void 0},makeColor:e=>({r:P[e>>3],g:P[e+8>>3],b:P[e+16>>3],a:P[e+24>>3]}),makeExtent3D:e=>({width:B[e>>2],height:B[e+4>>2],depthOrArrayLayers:B[e+8>>2]}),makeOrigin3D:e=>({x:B[e>>2],y:B[e+4>>2],z:B[e+8>>2]}),makeImageCopyTexture:e=>({texture:Ar.getJsObject(B[e>>2]),mipLevel:B[e+4>>2],origin:Ar.makeOrigin3D(e+8),aspect:Ar.TextureAspect[B[e+20>>2]]}),makeTextureDataLayout:e=>{var r=B[e+16>>2],t=B[e+20>>2];return{offset:4294967296*B[e+4+8>>2]+B[e+8>>2],bytesPerRow:4294967295===r?void 0:r,rowsPerImage:4294967295===t?void 0:t}},makeImageCopyBuffer:e=>{var r=e+0,t=Ar.makeTextureDataLayout(r);return t.buffer=Ar.getJsObject(B[e+24>>2]),t},makePipelineConstants:(e,r)=>{if(e){for(var t={},n=0;n>3]}return t}},makePipelineLayout:e=>e?Ar.getJsObject(e):"auto",makeComputeState:e=>{if(e)return{module:Ar.getJsObject(B[e+4>>2]),constants:Ar.makePipelineConstants(B[e+16>>2],B[e+20>>2]),entryPoint:Ar.makeStringFromOptionalStringView(e+8)}},makeComputePipelineDesc:e=>({label:Ar.makeStringFromOptionalStringView(e+4),layout:Ar.makePipelineLayout(B[e+12>>2]),compute:Ar.makeComputeState(e+16)}),makeRenderPipelineDesc:e=>{function r(e){if(e)return{operation:Ar.BlendOperation[B[e>>2]],srcFactor:Ar.BlendFactor[B[e+4>>2]],dstFactor:Ar.BlendFactor[B[e+8>>2]]}}function t(e){if(e)return{alpha:r(e+12),color:r(e+0)}}function n(e){var r=B[e+4>>2];return 0===r?void 0:{format:Ar.TextureFormat[r],blend:t(B[e+8>>2]),writeMask:B[e+16>>2]}}function a(e,r){for(var t=[],a=0;a>2]],failOp:Ar.StencilOperation[B[e+4>>2]],depthFailOp:Ar.StencilOperation[B[e+8>>2]],passOp:Ar.StencilOperation[B[e+12>>2]]}}function i(e){return{format:Ar.VertexFormat[B[e>>2]],offset:4294967296*B[e+4+8>>2]+B[e+8>>2],shaderLocation:B[e+16>>2]}}function s(e,r){for(var t=[],n=0;n>2];return 0===r?null:{arrayStride:4294967296*B[e+4>>2]+B[e>>2],stepMode:Ar.VertexStepMode[r],attributes:s(B[e+12>>2],B[e+16>>2])}}}function c(e,r){if(e){for(var t=[],n=0;n>2]),vertex:function(e){if(e)return{module:Ar.getJsObject(B[e+4>>2]),constants:Ar.makePipelineConstants(B[e+16>>2],B[e+20>>2]),buffers:c(B[e+24>>2],B[e+28>>2]),entryPoint:Ar.makeStringFromOptionalStringView(e+8)}}(e+16),primitive:function(e){if(e)return{topology:Ar.PrimitiveTopology[B[e+4>>2]],stripIndexFormat:Ar.IndexFormat[B[e+8>>2]],frontFace:Ar.FrontFace[B[e+12>>2]],cullMode:Ar.CullMode[B[e+16>>2]],unclippedDepth:!!B[e+20>>2]}}(e+48),depthStencil:function(e){if(e)return{format:Ar.TextureFormat[B[e+4>>2]],depthWriteEnabled:!!B[e+8>>2],depthCompare:Ar.CompareFunction[B[e+12>>2]],stencilFront:o(e+16),stencilBack:o(e+32),stencilReadMask:B[e+48>>2],stencilWriteMask:B[e+52>>2],depthBias:L[e+56>>2],depthBiasSlopeScale:C[e+60>>2],depthBiasClamp:C[e+64>>2]}}(B[e+72>>2]),multisample:function(e){if(e)return{count:B[e+4>>2],mask:B[e+8>>2],alphaToCoverageEnabled:!!B[e+12>>2]}}(e+76),fragment:function(e){if(e)return{module:Ar.getJsObject(B[e+4>>2]),constants:Ar.makePipelineConstants(B[e+16>>2],B[e+20>>2]),targets:a(B[e+24>>2],B[e+28>>2]),entryPoint:Ar.makeStringFromOptionalStringView(e+8)}}(B[e+92>>2])}},fillLimitStruct:(e,r)=>{var t=r+8;function n(r,n){var a=e[r];L[t+n>>2]=a}function a(r,n){var a=e[r];W=[a>>>0,($=a,+Math.abs($)>=1?$>0?+Math.floor($/4294967296)>>>0:~~+Math.ceil(($-+(~~$>>>0))/4294967296)>>>0:0)],L[t+n>>2]=W[0],L[t+(n+4)>>2]=W[1]}n("maxTextureDimension1D",0),n("maxTextureDimension2D",4),n("maxTextureDimension3D",8),n("maxTextureArrayLayers",12),n("maxBindGroups",16),n("maxBindGroupsPlusVertexBuffers",20),n("maxBindingsPerBindGroup",24),n("maxDynamicUniformBuffersPerPipelineLayout",28),n("maxDynamicStorageBuffersPerPipelineLayout",32),n("maxSampledTexturesPerShaderStage",36),n("maxSamplersPerShaderStage",40),n("maxStorageBuffersPerShaderStage",44),n("maxStorageTexturesPerShaderStage",48),n("maxUniformBuffersPerShaderStage",52),n("minUniformBufferOffsetAlignment",72),n("minStorageBufferOffsetAlignment",76),a("maxUniformBufferBindingSize",56),a("maxStorageBufferBindingSize",64),n("maxVertexBuffers",80),a("maxBufferSize",88),n("maxVertexAttributes",96),n("maxVertexBufferArrayStride",100),n("maxInterStageShaderComponents",104),n("maxInterStageShaderVariables",108),n("maxColorAttachments",112),n("maxColorAttachmentBytesPerSample",116),n("maxComputeWorkgroupStorageSize",120),n("maxComputeInvocationsPerWorkgroup",124),n("maxComputeWorkgroupSizeX",128),n("maxComputeWorkgroupSizeY",132),n("maxComputeWorkgroupSizeZ",136),n("maxComputeWorkgroupsPerDimension",140)},Int_BufferMapState:{unmapped:1,pending:2,mapped:3},Int_CompilationMessageType:{error:1,warning:2,info:3},Int_DeviceLostReason:{undefined:1,unknown:1,destroyed:2},Int_PreferredFormat:{rgba8unorm:18,bgra8unorm:23},WGSLFeatureName:{1:"readonly_and_readwrite_storage_textures",2:"packed_4x8_integer_dot_product",3:"unrestricted_pointer_parameters",4:"pointer_composite_access"},AddressMode:[,"clamp-to-edge","repeat","mirror-repeat"],BlendFactor:[,"zero","one","src","one-minus-src","src-alpha","one-minus-src-alpha","dst","one-minus-dst","dst-alpha","one-minus-dst-alpha","src-alpha-saturated","constant","one-minus-constant","src1","one-minus-src1","src1alpha","one-minus-src1alpha"],BlendOperation:[,"add","subtract","reverse-subtract","min","max"],BufferBindingType:["binding-not-used","uniform","storage","read-only-storage"],BufferMapState:{1:"unmapped",2:"pending",3:"mapped"},CompareFunction:[,"never","less","equal","less-equal","greater","not-equal","greater-equal","always"],CompilationInfoRequestStatus:{1:"success",2:"instance-dropped",3:"error",4:"device-lost",5:"unknown"},CompositeAlphaMode:[,"opaque","premultiplied","unpremultiplied","inherit"],CullMode:[,"none","front","back"],ErrorFilter:{1:"validation",2:"out-of-memory",3:"internal"},FeatureName:{1:"depth-clip-control",2:"depth32float-stencil8",3:"timestamp-query",4:"texture-compression-bc",5:"texture-compression-etc2",6:"texture-compression-astc",7:"indirect-first-instance",8:"shader-f16",9:"rg11b10ufloat-renderable",10:"bgra8unorm-storage",11:"float32-filterable",12:"float32-blendable",13:"subgroups",14:"subgroups-f16"},FilterMode:[,"nearest","linear"],FrontFace:[,"ccw","cw"],IndexFormat:[,"uint16","uint32"],LoadOp:[,"load","clear"],MipmapFilterMode:[,"nearest","linear"],OptionalBool:["false","true"],PowerPreference:[,"low-power","high-performance"],PrimitiveTopology:[,"point-list","line-list","line-strip","triangle-list","triangle-strip"],QueryType:{1:"occlusion",2:"timestamp"},SamplerBindingType:["binding-not-used","filtering","non-filtering","comparison"],Status:{1:"success",2:"error"},StencilOperation:[,"keep","zero","replace","invert","increment-clamp","decrement-clamp","increment-wrap","decrement-wrap"],StorageTextureAccess:["binding-not-used","write-only","read-only","read-write"],StoreOp:[,"store","discard"],SurfaceGetCurrentTextureStatus:{1:"success",2:"timeout",3:"outdated",4:"lost",5:"out-of-memory",6:"device-lost",7:"error"},TextureAspect:[,"all","stencil-only","depth-only"],TextureDimension:[,"1d","2d","3d"],TextureFormat:[,"r8unorm","r8snorm","r8uint","r8sint","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2uint","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat","rg32float","rg32uint","rg32sint","rgba16uint","rgba16sint","rgba16float","rgba32float","rgba32uint","rgba32sint","stencil8","depth16unorm","depth24plus","depth24plus-stencil8","depth32float","depth32float-stencil8","bc1-rgba-unorm","bc1-rgba-unorm-srgb","bc2-rgba-unorm","bc2-rgba-unorm-srgb","bc3-rgba-unorm","bc3-rgba-unorm-srgb","bc4-r-unorm","bc4-r-snorm","bc5-rg-unorm","bc5-rg-snorm","bc6h-rgb-ufloat","bc6h-rgb-float","bc7-rgba-unorm","bc7-rgba-unorm-srgb","etc2-rgb8unorm","etc2-rgb8unorm-srgb","etc2-rgb8a1unorm","etc2-rgb8a1unorm-srgb","etc2-rgba8unorm","etc2-rgba8unorm-srgb","eac-r11unorm","eac-r11snorm","eac-rg11unorm","eac-rg11snorm","astc-4x4-unorm","astc-4x4-unorm-srgb","astc-5x4-unorm","astc-5x4-unorm-srgb","astc-5x5-unorm","astc-5x5-unorm-srgb","astc-6x5-unorm","astc-6x5-unorm-srgb","astc-6x6-unorm","astc-6x6-unorm-srgb","astc-8x5-unorm","astc-8x5-unorm-srgb","astc-8x6-unorm","astc-8x6-unorm-srgb","astc-8x8-unorm","astc-8x8-unorm-srgb","astc-10x5-unorm","astc-10x5-unorm-srgb","astc-10x6-unorm","astc-10x6-unorm-srgb","astc-10x8-unorm","astc-10x8-unorm-srgb","astc-10x10-unorm","astc-10x10-unorm-srgb","astc-12x10-unorm","astc-12x10-unorm-srgb","astc-12x12-unorm","astc-12x12-unorm-srgb"],TextureSampleType:["binding-not-used","float","unfilterable-float","depth","sint","uint"],TextureViewDimension:[,"1d","2d","2d-array","cube","cube-array","3d"],VertexFormat:{1:"uint8",2:"uint8x2",3:"uint8x4",4:"sint8",5:"sint8x2",6:"sint8x4",7:"unorm8",8:"unorm8x2",9:"unorm8x4",10:"snorm8",11:"snorm8x2",12:"snorm8x4",13:"uint16",14:"uint16x2",15:"uint16x4",16:"sint16",17:"sint16x2",18:"sint16x4",19:"unorm16",20:"unorm16x2",21:"unorm16x4",22:"snorm16",23:"snorm16x2",24:"snorm16x4",25:"float16",26:"float16x2",27:"float16x4",28:"float32",29:"float32x2",30:"float32x3",31:"float32x4",32:"uint32",33:"uint32x2",34:"uint32x3",35:"uint32x4",36:"sint32",37:"sint32x2",38:"sint32x3",39:"sint32x4",40:"unorm10-10-10-2",41:"unorm8x4-bgra"},VertexStepMode:["vertex-buffer-not-used",,"vertex","instance"],FeatureNameString2Enum:{"depth-clip-control":"1","depth32float-stencil8":"2","timestamp-query":"3","texture-compression-bc":"4","texture-compression-etc2":"5","texture-compression-astc":"6","indirect-first-instance":"7","shader-f16":"8","rg11b10ufloat-renderable":"9","bgra8unorm-storage":"10","float32-filterable":"11","float32-blendable":"12",subgroups:"13","subgroups-f16":"14"}},Or={},Dr=()=>{if(!Dr.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",_:m||"./this.program"};for(var r in Or)void 0===Or[r]?delete e[r]:e[r]=Or[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);Dr.strings=t}return Dr.strings};var Vr=[],jr=function(){var e=xr(Yr);return e=e.concat(e.map(e=>"GL_"+e))},Mr=(e,r,t)=>{if(r){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=t&&1!=t&&Er.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var a=Yr.getParameter(34467);n=a?a.length:0;break;case 33309:if(Er.currentContext.version<2)return void Er.recordError(1282);n=jr().length;break;case 33307:case 33308:if(Er.currentContext.version<2)return void Er.recordError(1280);n=33307==e?3:0}if(void 0===n){var o=Yr.getParameter(e);switch(typeof o){case"number":n=o;break;case"boolean":n=o?1:0;break;case"string":return void Er.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 Er.recordError(1280)}else{if(o instanceof Float32Array||o instanceof Uint32Array||o instanceof Int32Array||o instanceof Array){for(var i=0;i>2]=o[i];break;case 2:C[r+4*i>>2]=o[i];break;case 4:x[r+i]=o[i]?1:0}return}try{n=0|o.name}catch(r){return Er.recordError(1280),void y(`GL_INVALID_ENUM in glGet${t}v: Unknown object returned from WebGL getParameter(${e})! (error: ${r})`)}}break;default:return Er.recordError(1280),void y(`GL_INVALID_ENUM in glGet${t}v: Native code calling glGet${t}v(${e}) and it returns ${o} of type ${typeof o}!`)}}switch(t){case 1:((e,r)=>{B[e>>2]=r;var t=B[e>>2];B[e+4>>2]=(r-t)/4294967296})(r,n);break;case 0:L[r>>2]=n;break;case 2:C[r>>2]=n;break;case 4:x[r]=n?1:0}}else Er.recordError(1281)},Rr=e=>{var r=_e(e)+1,t=it(r);return t&&Ke(e,t,r),t},Ur=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),zr=e=>0==(e-=5120)?x:1==e?E:2==e?S:4==e?L:6==e?C:5==e||28922==e||28520==e||30779==e||30782==e?B:k,Gr=(e,r)=>e>>>31-Math.clz32(r.BYTES_PER_ELEMENT),Nr=(e,r,t,n,a,o)=>{var i=zr(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,u=((e,r,t)=>{var n,a,o=(Er.unpackRowLength||e)*t;return r*(n=o,a=Er.unpackAlignment,n+a-1&-a)})(t,n,s);return i.subarray(Gr(a,i),Gr(a+u,i))},$r=e=>{var r=Yr.currentProgram;if(r){var t=r.uniformLocsById[e];return"number"==typeof t&&(r.uniformLocsById[e]=t=Yr.getUniformLocation(r,r.uniformArrayNamesById[e]+(t>0?`[${t}]`:""))),t}Er.recordError(1282)},Wr=[],Hr=[];var Jr=Fe.createPath,qr=Fe.createLazyFile,Xr=Fe.createDevice;i.requestFullscreen=ce.requestFullscreen,i.requestAnimationFrame=ce.requestAnimationFrame,i.setCanvasSize=ce.setCanvasSize,i.pauseMainLoop=ce.mainLoop.pause,i.resumeMainLoop=ce.mainLoop.resume,i.getUserMedia=ce.getUserMedia,i.createContext=ce.createContext;var Yr,Qr={},Kr={};Fe.createPreloadedFile=Ce,Fe.staticInit(),i.FS_createPath=Fe.createPath,i.FS_createDataFile=Fe.createDataFile,i.FS_createPreloadedFile=Fe.createPreloadedFile,i.FS_unlink=Fe.unlink,i.FS_createLazyFile=Fe.createLazyFile,i.FS_createDevice=Fe.createDevice,(()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);De=e})(),Ve=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},$e.push(0,1,void 0,1,null,1,!0,1,!1,1),i.count_emval_handles=He;for(var Zr=0;Zr<32;++Zr)Vr.push(new Array(Zr));var et=new Float32Array(288);for(Zr=0;Zr<=288;++Zr)Wr[Zr]=et.subarray(0,Zr);var rt=new Int32Array(288);for(Zr=0;Zr<=288;++Zr)Hr[Zr]=rt.subarray(0,Zr);var tt,nt={Wc:function(){const e=i.preinitializedWebGPUDevice,r=e.adapterInfo?e.adapterInfo.architecture:"Unknown";return Rr(r)},Vc:function(){const e=i.preinitializedWebGPUDevice,r=e.adapterInfo?e.adapterInfo.description:"Unknown";return Rr(r)},Uc:function(){const e=i.preinitializedWebGPUDevice,r=e.adapterInfo?e.adapterInfo.device:"Unknown";return Rr(r)},Tc:function(){const e=i.preinitializedWebGPUDevice,r=e.adapterInfo?e.adapterInfo.vendor:"Unknown";return Rr(r)},Sc:function(){return"undefined"!=typeof wasmOffsetConverter},Rc:function(e,r){i._wrapEmptyPacketListenerOutput(e,r)},Qc:function(e,r,t,n,a,o,s,u){const c=i._imageConverter(r,t,n,a,o,s,Float32Array);i._wrapSimpleListenerOutput(e,c,u)},Pc:function(e,r,t,n,a,o,s,u){const c=i._imageConverter(r,t,n,a,o,s,Float32Array);i._wrapSimpleListenerOutput(e,c,!1,u)},bb:function(e,r,t,n,a){const o=n?i.HEAPU8.slice(r,r+t):new Uint8Array(i.HEAPU8.buffer,r,t);i._wrapSimpleListenerOutput(e,o,a)},Oc:function(e,r,t){i._wrapSimpleListenerOutput(e,r,t)},Nc:function(e,r,t){i._wrapSimpleListenerOutput(e,r,t)},Mc:function(e,r,t){i._wrapSimpleListenerOutput(e,r,t)},Lc:function(e,r,t){i._wrapSimpleListenerOutput(e,r,t)},Kc:function(e,r,t){i._wrapSimpleListenerOutput(e,Ie(r),t)},Jc:function(e,r,t){i._wrapSimpleListenerOutput(e,r,t)},Ic:function(e,r,t,n,a,o,s,u){const c=i._imageConverter(r,t,n,a,o,s,Uint8Array);i._wrapSimpleListenerOutput(e,c,u)},Hc:function(e,r,t,n,a,o,s,u){const c=i._imageConverter(r,t,n,a,o,s,Uint8Array);i._wrapSimpleListenerOutput(e,c,!1,u)},G:function(e,r){i._wrapSimpleListenerOutput(e,void 0,!0,r)},Gc:function(e,r,t){i._wrapSimpleListenerOutput(e,r,!1,t)},Fc:function(e,r,t){i._wrapSimpleListenerOutput(e,r,!1,t)},Ec:function(e,r,t){i._wrapSimpleListenerOutput(e,r,!1,t)},Dc:function(e,r,t){i._wrapSimpleListenerOutput(e,r,!1,t)},Cc:function(e,r,t,n,a){const o=n?i.HEAPU8.slice(r,r+t):new Uint8Array(i.HEAPU8.buffer,r,t);i._wrapSimpleListenerOutput(e,o,!1,a)},Bc:function(e,r,t){i._wrapSimpleListenerOutput(e,Ie(r),!1,t)},Ac:function(e,r,t){i._wrapSimpleListenerOutput(e,r,!1,t)},zc:function(e,r,t,n,a){i._wrapSimpleListenerOutput(e,{data:Er.textures[r],width:t,height:n},a)},yc:function(e,r,t,n,a){i._wrapSimpleListenerOutput(e,{data:Er.textures[r],width:t,height:n},!1,a)},ra:function(e,r){if(i.errorListener){const t=Ie(r);i.errorListener(e,t)}},ab:function(){i._imageConverter||(i._imageConverter=(e,r,t,n,a,o,s)=>({data:new s(o?i.HEAPU8.slice(e,e+r).buffer:i.HEAPU8.buffer,e,t*n*a),width:t,height:n}))},p:function(){i._wrapSimpleListenerOutput||(i._wrapSimpleListenerOutput=(e,...r)=>{if(i.simpleListeners){const t=Ie(e);i.simpleListeners[t]&&i.simpleListeners[t](...r)}}),i._wrapEmptyPacketListenerOutput||(i._wrapEmptyPacketListenerOutput=(e,r)=>{if(i.emptyPacketListeners){const t=Ie(e);i.emptyPacketListeners[t]&&i.emptyPacketListeners[t](r)}})},$a:function(){return i&&i.gpuOriginForWebTexturesIsBottomLeft},nb:function(e,r){return Asyncify.handleAsync(async()=>{const t=Ar.getJsObject(e);await t.mapAsync(GPUMapMode.READ);const n=t.getMappedRange();E.set(new Uint8Array(n),r),t.unmap()})},l:(e,r,t)=>{throw new pe(e).init(r,t),e},xc:function(e){try{var r=Te.getStreamFromFD(e);return Fe.dupStream(r).fd}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return-e.errno}},wc:function(e,r,t,n){try{if(r=Te.getStr(r),r=Te.calculateAt(e,r),-8&t)return-28;var a=Fe.lookupPath(r,{follow:!0}).node;if(!a)return-44;var o="";return 4&t&&(o+="r"),2&t&&(o+="w"),1&t&&(o+="x"),o&&Fe.nodePermissions(a,o)?-2:0}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return-e.errno}},_a:function(e,r,t){Te.varargs=t;try{var n=Te.getStreamFromFD(e);switch(r){case 0:if((a=Ae())<0)return-28;for(;Fe.streams[a];)a++;return Fe.dupStream(n,a).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var a=Ae();return n.flags|=a,0;case 12:a=Oe();return S[a+0>>1]=2,0}return-28}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return-e.errno}},vc:function(e,r){try{var t=Te.getStreamFromFD(e);return Te.doStat(Fe.stat,t.path,r)}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return-e.errno}},uc:function(e,r,t){Te.varargs=t;try{var n=Te.getStreamFromFD(e);switch(r){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var a=n.tty.ops.ioctl_tcgets(n),o=Oe();L[o>>2]=a.c_iflag||0,L[o+4>>2]=a.c_oflag||0,L[o+8>>2]=a.c_cflag||0,L[o+12>>2]=a.c_lflag||0;for(var i=0;i<32;i++)x[o+i+17]=a.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){o=Oe();var s=L[o>>2],u=L[o+4>>2],c=L[o+8>>2],l=L[o+12>>2],d=[];for(i=0;i<32;i++)d.push(x[o+i+17]);return n.tty.ops.ioctl_tcsets(n.tty,r,{c_iflag:s,c_oflag:u,c_cflag:c,c_lflag:l,c_cc:d})}return 0;case 21519:if(!n.tty)return-59;o=Oe();return L[o>>2]=0,0;case 21520:return n.tty?-28:-59;case 21531:o=Oe();return Fe.ioctl(n,r,o);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var m=n.tty.ops.ioctl_tiocgwinsz(n.tty);o=Oe();S[o>>1]=m[0],S[o+2>>1]=m[1]}return 0;default:return-28}}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return-e.errno}},tc:function(e,r){try{return e=Te.getStr(e),Te.doStat(Fe.lstat,e,r)}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return-e.errno}},sc:function(e,r,t,n){try{r=Te.getStr(r);var a=256&n,o=4096&n;return n&=-6401,r=Te.calculateAt(e,r,o),Te.doStat(a?Fe.lstat:Fe.stat,r,t)}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return-e.errno}},Za:function(e,r,t,n){Te.varargs=n;try{r=Te.getStr(r),r=Te.calculateAt(e,r);var a=n?Ae():0;return Fe.open(r,t,a).fd}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return-e.errno}},rc:function(e,r){try{return e=Te.getStr(e),Te.doStat(Fe.stat,e,r)}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return-e.errno}},nc:()=>{G("")},xb:(e,r,t,n,a)=>{},mc:(e,r,t,n)=>{Ge(e,{name:r=je(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:n},argPackAdvance:8,readValueFromPointer:function(e){return this.fromWireType(E[e])},destructorFunction:null})},lc:e=>Ge(e,Xe),Xa:(e,r,t)=>{Ge(e,{name:r=je(r),fromWireType:e=>e,toWireType:(e,r)=>r,argPackAdvance:8,readValueFromPointer:Ye(r,t),destructorFunction:null})},D:(e,r,t,n,a)=>{r=je(r),-1===a&&(a=4294967295);var o=e=>e;if(0===n){var i=32-8*t;o=e=>e<>>i}var s=r.includes("unsigned");Ge(e,{name:r,fromWireType:o,toWireType:s?function(e,r){return this.name,r>>>0}:function(e,r){return this.name,r},argPackAdvance:8,readValueFromPointer:Qe(r,t,0!==n),destructorFunction:null})},o:(e,r,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][r];function a(e){var r=B[e>>2],t=B[e+4>>2];return new n(x.buffer,t,r)}Ge(e,{name:t=je(t),fromWireType:a,argPackAdvance:8,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},Wa:(e,r)=>{var t="std::string"===(r=je(r));Ge(e,{name:r,fromWireType(e){var r,n=B[e>>2],a=e+4;if(t)for(var o=a,i=0;i<=n;++i){var s=a+i;if(i==n||0==E[s]){var u=Ie(o,s-o);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),o=s+1}}else{var c=new Array(n);for(i=0;i>2]=n,t&&a)Ke(r,i,n+1);else if(a)for(var s=0;s255&&(ot(i),ze("String has UTF-16 code units that do not fit in 8 bits")),E[i+s]=u}else for(s=0;s{var n,a,o,i;t=je(t),2===r?(n=er,a=rr,i=tr,o=e=>k[e>>1]):4===r&&(n=nr,a=ar,i=or,o=e=>B[e>>2]),Ge(e,{name:t,fromWireType:e=>{for(var t,a=B[e>>2],i=e+4,s=0;s<=a;++s){var u=e+4+s*r;if(s==a||0==o(u)){var c=n(i,u-i);void 0===t?t=c:(t+=String.fromCharCode(0),t+=c),i=u+r}}return ot(e),t},toWireType:(e,n)=>{"string"!=typeof n&&ze(`Cannot pass non-string to C++ string type ${t}`);var o=i(n),s=it(4+o+r);return B[s>>2]=o/r,a(n,s+4,o+r),null!==e&&e.push(ot,s),s},argPackAdvance:8,readValueFromPointer:qe,destructorFunction(e){ot(e)}})},kc:(e,r)=>{Ge(e,{isVoid:!0,name:r=je(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})},jc:()=>1,ic:(e,r,t)=>E.copyWithin(e,r,r+t),na:(e,r,t)=>(e=Je.toValue(e),((e,r,t)=>{var n=[],a=e.toWireType(n,t);return n.length&&(B[r>>2]=Je.toHandle(n)),a})(r=ir(r,"emval::as"),t,e)),n:We,ma:e=>0===e?Je.toHandle(cr()):(e=ur(e),Je.toHandle(cr()[e])),Va:(e,r)=>(e=Je.toValue(e),r=Je.toValue(r),Je.toHandle(e[r])),Ua:e=>{e>9&&($e[e+1]+=1)},la:(e,r)=>(e=Je.toValue(e))instanceof(r=Je.toValue(r)),ha:e=>Je.toHandle(ur(e)),ka:e=>{(e=>{for(;e.length;){var r=e.pop();e.pop()(r)}})(Je.toValue(e)),We(e)},Ta:(e,r,t)=>{e=Je.toValue(e),r=Je.toValue(r),t=Je.toValue(t),e[r]=t},ga:(e,r)=>{var t=(e=ir(e,"_emval_take_value")).readValueFromPointer(r);return Je.toHandle(t)},hc:e=>(e=Je.toValue(e),Je.toHandle(typeof e)),wb:function(e,r,t){var n=lr(e,r),a=new Date(1e3*n);L[t>>2]=a.getUTCSeconds(),L[t+4>>2]=a.getUTCMinutes(),L[t+8>>2]=a.getUTCHours(),L[t+12>>2]=a.getUTCDate(),L[t+16>>2]=a.getUTCMonth(),L[t+20>>2]=a.getUTCFullYear()-1900,L[t+24>>2]=a.getUTCDay();var o=Date.UTC(a.getUTCFullYear(),0,1,0,0,0,0),i=(a.getTime()-o)/864e5|0;L[t+28>>2]=i},vb:function(e,r,t){var n=lr(e,r),a=new Date(1e3*n);L[t>>2]=a.getSeconds(),L[t+4>>2]=a.getMinutes(),L[t+8>>2]=a.getHours(),L[t+12>>2]=a.getDate(),L[t+16>>2]=a.getMonth(),L[t+20>>2]=a.getFullYear()-1900,L[t+24>>2]=a.getDay();var o=0|fr(a);L[t+28>>2]=o,L[t+36>>2]=-60*a.getTimezoneOffset();var i=new Date(a.getFullYear(),0,1),s=new Date(a.getFullYear(),6,1).getTimezoneOffset(),u=i.getTimezoneOffset(),c=0|(s!=u&&a.getTimezoneOffset()==Math.min(u,s));L[t+32>>2]=c},ub:function(e){var r,t=(()=>{var r=new Date(L[e+20>>2]+1900,L[e+16>>2],L[e+12>>2],L[e+8>>2],L[e+4>>2],L[e>>2],0),t=L[e+32>>2],n=r.getTimezoneOffset(),a=new Date(r.getFullYear(),0,1),o=new Date(r.getFullYear(),6,1).getTimezoneOffset(),i=a.getTimezoneOffset(),s=Math.min(i,o);if(t<0)L[e+32>>2]=Number(o!=i&&s==n);else if(t>0!=(s==n)){var u=Math.max(i,o),c=t>0?s:u;r.setTime(r.getTime()+6e4*(c-n))}L[e+24>>2]=r.getDay();var l=0|fr(r);L[e+28>>2]=l,L[e>>2]=r.getSeconds(),L[e+4>>2]=r.getMinutes(),L[e+8>>2]=r.getHours(),L[e+12>>2]=r.getDate(),L[e+16>>2]=r.getMonth(),L[e+20>>2]=r.getYear();var d=r.getTime();return isNaN(d)?-1:d/1e3})();return $=t,r=+Math.abs($)>=1?$>0?+Math.floor($/4294967296)>>>0:~~+Math.ceil(($-+(~~$>>>0))/4294967296)>>>0:0,Tt(r),t>>>0},tb:function(e,r,t,n,a,o,i,s){var u=lr(a,o);try{if(isNaN(u))return 61;var c=Te.getStreamFromFD(n),l=Fe.mmap(c,e,u,r,t),d=l.ptr;return L[i>>2]=l.allocated,B[s>>2]=d,0}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return-e.errno}},sb:function(e,r,t,n,a,o,i){var s=lr(o,i);try{var u=Te.getStreamFromFD(a);2&t&&Te.doMsync(e,u,r,n,s)}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return-e.errno}},gc:(e,r,t,n)=>{var a=(new Date).getFullYear(),o=new Date(a,0,1),i=new Date(a,6,1),s=o.getTimezoneOffset(),u=i.getTimezoneOffset(),c=Math.max(s,u);B[e>>2]=60*c,L[r>>2]=Number(s!=u);var l=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],d=l(o),m=l(i);ugr(e,r,t),Sa:(e,r,t)=>gr(e,r,t),ec:()=>Date.now(),ja:(e,r)=>y(Ie(e,r)),dc:()=>2147483648,t:K,cc:()=>0,bc:(e,r)=>w(Ie(e,r)),ac:e=>(G("Cannot use emscripten_pc_get_function without -sUSE_OFFSET_CONVERTER"),0),$b:e=>{var r=E.length,t=2147483648;if((e>>>=0)>t)return!1;for(var n=(e,r)=>e+(r-e%r)%r,a=1;a<=4;a*=2){var o=r*(1+.2/a);o=Math.min(o,e+100663296);var i=Math.min(t,n(Math.max(e,o),65536));if(hr(i))return!0}return!1},_b:function(){var e=yr().split("\n");return"Error"==e[0]&&e.shift(),wr(e),br.last_addr=vr(e[3]),br.last_stack=e,br.last_addr},Zb:(e,r,t)=>{var n;br.last_addr==e?n=br.last_stack:("Error"==(n=yr().split("\n"))[0]&&n.shift(),wr(n));for(var a=3;n[a]&&vr(n[a])!=e;)++a;for(var o=0;o>2]=vr(n[o+a]);return o},Yb:Cr,Xb:e=>{Er.currentContext==e&&(Er.currentContext=0),Er.deleteContext(e)},Wb:(e,r)=>{if(!r)return-5;if(!(e=Er.contexts[e]))return-3;var t=e.GLctx;if(!t)return-3;t=t.getContextAttributes(),x[r]=t.alpha,x[r+1]=t.depth,x[r+2]=t.stencil,x[r+3]=t.antialias,x[r+4]=t.premultipliedAlpha,x[r+5]=t.preserveDrawingBuffer;var n=t.powerPreference&&kr.indexOf(t.powerPreference);return L[r+8>>2]=n,x[r+12]=t.failIfMajorPerformanceCaveat,L[r+16>>2]=e.version,L[r+20>>2]=0,x[r+24]=e.attributes.enableExtensionsByDefault,0},Ra:Pr,Vb:e=>Er.makeContextCurrent(e)?0:-5,L:()=>(void 0===Ar.preinitializedDeviceId&&(Ar.preinitializedDeviceId=Ar.importJsDevice(i.preinitializedWebGPUDevice),st(Ar.preinitializedDeviceId)),st(Ar.preinitializedDeviceId),Ar.preinitializedDeviceId),Ub:e=>{var r=Ar.getJsObject(e),t=Ar.Internals.bufferOnUnmaps[e];if(t){for(var n=0;n{var n,a=Ar.getJsObject(e);0===t&&se("getMappedRange size=0 no longer means WGPU_WHOLE_MAP_SIZE"),-1==t&&(t=void 0);try{n=a.getMappedRange(r,t)}catch(e){return 0}var o=It(16,n.byteLength);return E.fill(0,o,n.byteLength),Ar.Internals.bufferOnUnmaps[e].push(()=>{new Uint8Array(n).set(E.subarray(o,o+n.byteLength)),ot(o)}),o},Sb:e=>{var r=Ar.getJsObject(e),t=Ar.Internals.bufferOnUnmaps[e];if(t){for(var n=0;n{delete Ar.Internals.jsObjects[e]},Rb:(e,r,t)=>{var n=!!B[r+32>>2],a={label:Ar.makeStringFromOptionalStringView(r+4),usage:B[r+16>>2],size:4294967296*B[r+4+24>>2]+B[r+24>>2],mappedAtCreation:n},o=Ar.getJsObject(e);Ar.Internals.jsObjectInsert(t,o.createBuffer(a)),n&&(Ar.Internals.bufferOnUnmaps[t]=[])},Qb:(e,r,t)=>{var n=B[r>>2],a=B[n+4>>2],o={label:Ar.makeStringFromOptionalStringView(r+4),code:""};if(2===a)o.code=Ar.makeStringFromStringView(n+8);var i=Ar.getJsObject(e);Ar.Internals.jsObjectInsert(t,i.createShaderModule(o))},Pb:e=>{Ar.getJsObject(e).destroy()},qc:(e,r)=>{var t=0;return Dr().forEach((n,a)=>{var o=r+t;B[e+4*a>>2]=o,((e,r)=>{for(var t=0;t{var t=Dr();B[e>>2]=t.length;var n=0;return t.forEach(e=>n+=e.length+1),B[r>>2]=n,0},Qa:ae,qa:function(e){try{var r=Te.getStreamFromFD(e);return Fe.close(r),0}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return e.errno}},Ya:function(e,r,t,n){try{var a=((e,r,t,n)=>{for(var a=0,o=0;o>2],s=B[r+4>>2];r+=8;var u=Fe.read(e,x,i,s,n);if(u<0)return-1;if(a+=u,u>2]=a,0}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return e.errno}},yb:function(e,r,t,n,a){var o=lr(r,t);try{if(isNaN(o))return 61;var i=Te.getStreamFromFD(e);return Fe.llseek(i,o,n),W=[i.position>>>0,($=i.position,+Math.abs($)>=1?$>0?+Math.floor($/4294967296)>>>0:~~+Math.ceil(($-+(~~$>>>0))/4294967296)>>>0:0)],L[a>>2]=W[0],L[a+4>>2]=W[1],i.getdents&&0===o&&0===n&&(i.getdents=null),0}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return e.errno}},pa:function(e,r,t,n){try{var a=((e,r,t,n)=>{for(var a=0,o=0;o>2],s=B[r+4>>2];r+=8;var u=Fe.write(e,x,i,s,n);if(u<0)return-1;a+=u,void 0!==n&&(n+=u)}return a})(Te.getStreamFromFD(e),r,t);return B[n>>2]=a,0}catch(e){if(void 0===Fe||"ErrnoError"!==e.name)throw e;return e.errno}},Ob:(e,r)=>(he(E.subarray(e,e+r)),0),b:e=>Yr.activeTexture(e),fa:(e,r)=>{Yr.attachShader(Er.programs[e],Er.shaders[r])},Nb:(e,r,t)=>{Yr.bindAttribLocation(Er.programs[e],r,Ie(t))},d:(e,r)=>{34962==e?Yr.currentArrayBufferBinding=r:34963==e&&(Yr.currentElementArrayBufferBinding=r),35051==e?Yr.currentPixelPackBufferBinding=r:35052==e&&(Yr.currentPixelUnpackBufferBinding=r),Yr.bindBuffer(e,Er.buffers[r])},Mb:(e,r,t)=>{Yr.bindBufferBase(e,r,Er.buffers[t])},u:(e,r)=>{Yr.bindFramebuffer(e,Er.framebuffers[r])},a:(e,r)=>{Yr.bindTexture(e,Er.textures[r])},r:e=>{Yr.bindVertexArray(Er.vaos[e]);var r=Yr.getParameter(34965);Yr.currentElementArrayBufferBinding=r?0|r.name:0},Pa:e=>Yr.blendEquation(e),Lb:(e,r)=>Yr.blendFunc(e,r),k:(e,r,t,n)=>{Er.currentContext.version>=2?t&&r?Yr.bufferData(e,E,n,t,r):Yr.bufferData(e,r,n):Yr.bufferData(e,t?E.subarray(t,t+r):r,n)},w:e=>Yr.clear(e),ea:(e,r,t,n)=>Yr.clearColor(e,r,t,n),U:(e,r,t,n)=>{var a=(t>>>0)+4294967296*n;return Yr.clientWaitSync(Er.syncs[e],r,a)},Oa:e=>{Yr.compileShader(Er.shaders[e])},Na:()=>{var e=Er.getNewId(Er.programs),r=Yr.createProgram();return r.name=e,r.maxUniformLength=r.maxAttributeLength=r.maxUniformBlockNameLength=0,r.uniformIdCounter=1,Er.programs[e]=r,e},Ma:e=>{var r=Er.getNewId(Er.shaders);return Er.shaders[r]=Yr.createShader(e),r},A:(e,r)=>{for(var t=0;t>2],a=Er.buffers[n];a&&(Yr.deleteBuffer(a),a.name=0,Er.buffers[n]=null,n==Yr.currentArrayBufferBinding&&(Yr.currentArrayBufferBinding=0),n==Yr.currentElementArrayBufferBinding&&(Yr.currentElementArrayBufferBinding=0),n==Yr.currentPixelPackBufferBinding&&(Yr.currentPixelPackBufferBinding=0),n==Yr.currentPixelUnpackBufferBinding&&(Yr.currentPixelUnpackBufferBinding=0))}},K:(e,r)=>{for(var t=0;t>2],a=Er.framebuffers[n];a&&(Yr.deleteFramebuffer(a),a.name=0,Er.framebuffers[n]=null)}},h:e=>{if(e){var r=Er.programs[e];r?(Yr.deleteProgram(r),r.name=0,Er.programs[e]=null):Er.recordError(1281)}},da:e=>{if(e){var r=Er.shaders[e];r?(Yr.deleteShader(r),Er.shaders[e]=null):Er.recordError(1281)}},ca:e=>{if(e){var r=Er.syncs[e];r?(Yr.deleteSync(r),r.name=0,Er.syncs[e]=null):Er.recordError(1281)}},y:(e,r)=>{for(var t=0;t>2],a=Er.textures[n];a&&(Yr.deleteTexture(a),a.name=0,Er.textures[n]=null)}},J:(e,r)=>{for(var t=0;t>2];Yr.deleteVertexArray(Er.vaos[n]),Er.vaos[n]=null}},La:(e,r)=>{Yr.detachShader(Er.programs[e],Er.shaders[r])},I:e=>Yr.disable(e),q:e=>{Er.currentContext.clientBuffers[e].enabled=!1,Yr.disableVertexAttribArray(e)},m:(e,r,t)=>{Er.preDrawHandleClientVertexAttribBindings(r+t),Yr.drawArrays(e,r,t),Er.postDrawHandleClientVertexAttribBindings()},X:(e,r)=>{for(var t=Vr[e],n=0;n>2];Yr.drawBuffers(t)},Kb:e=>Yr.enable(e),j:e=>{Er.currentContext.clientBuffers[e].enabled=!0,Yr.enableVertexAttribArray(e)},Ka:(e,r)=>{var t=Yr.fenceSync(e,r);if(t){var n=Er.getNewId(Er.syncs);return t.name=n,Er.syncs[n]=t,n}return 0},ba:()=>Yr.finish(),z:()=>Yr.flush(),x:(e,r,t,n,a)=>{Yr.framebufferTexture2D(e,r,t,Er.textures[n],a)},Ja:(e,r,t,n,a)=>{Yr.framebufferTextureLayer(e,r,Er.textures[t],n,a)},v:(e,r)=>{Er.genObject(e,r,"createBuffer",Er.buffers)},O:(e,r)=>{Er.genObject(e,r,"createFramebuffer",Er.framebuffers)},C:(e,r)=>{Er.genObject(e,r,"createTexture",Er.textures)},H:(e,r)=>{Er.genObject(e,r,"createVertexArray",Er.vaos)},Ia:(e,r)=>Yr.getAttribLocation(Er.programs[e],Ie(r)),aa:()=>{var e=Yr.getError()||Er.lastError;return Er.lastError=0,e},s:(e,r)=>Mr(e,r,0),Jb:(e,r,t)=>{if(t)if(e>=Er.counter)Er.recordError(1281);else if(e=Er.programs[e],35716==r){var n=Yr.getProgramInfoLog(e);null===n&&(n="(unknown error)"),L[t>>2]=n.length+1}else if(35719==r){if(!e.maxUniformLength)for(var a=0;a>2]=e.maxUniformLength}else if(35722==r){if(!e.maxAttributeLength)for(a=0;a>2]=e.maxAttributeLength}else if(35381==r){if(!e.maxUniformBlockNameLength)for(a=0;a>2]=e.maxUniformBlockNameLength}else L[t>>2]=Yr.getProgramParameter(e,r);else Er.recordError(1281)},Ib:(e,r,t,n)=>{var a=Yr.getShaderInfoLog(Er.shaders[e]);null===a&&(a="(unknown error)");var o=r>0&&n?Ke(a,n,r):0;t&&(L[t>>2]=o)},Hb:(e,r,t)=>{if(t)if(35716==r){var n=Yr.getShaderInfoLog(Er.shaders[e]);null===n&&(n="(unknown error)");var a=n?n.length+1:0;L[t>>2]=a}else if(35720==r){var o=Yr.getShaderSource(Er.shaders[e]),i=o?o.length+1:0;L[t>>2]=i}else L[t>>2]=Yr.getShaderParameter(Er.shaders[e],r);else Er.recordError(1281)},E:e=>{var r=Er.stringCache[e];if(!r){switch(e){case 7939:r=Rr(jr().join(" "));break;case 7936:case 7937:case 37445:case 37446:var t=Yr.getParameter(e);t||Er.recordError(1280),r=t?Rr(t):0;break;case 7938:var n=Yr.getParameter(7938);n=Er.currentContext.version>=2?`OpenGL ES 3.0 (${n})`:`OpenGL ES 2.0 (${n})`,r=Rr(n);break;case 35724:var a=Yr.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 ${o[1]} (${a})`),r=Rr(a);break;default:Er.recordError(1280)}Er.stringCache[e]=r}return r},Gb:(e,r)=>Yr.getUniformBlockIndex(Er.programs[e],Ie(r)),f:(e,r)=>{if(r=Ie(r),e=Er.programs[e]){(e=>{var r,t,n=e.uniformLocsById,a=e.uniformSizeAndIdsByName;if(!n)for(e.uniformLocsById=n={},e.uniformArrayNamesById={},r=0;r0?i.slice(0,u):i,l=e.uniformIdCounter;for(e.uniformIdCounter+=s,a[c]=[s,l],t=0;t0&&(s=r.slice(o+1),n=parseInt(s)>>>0,a=r.slice(0,o));var i=e.uniformSizeAndIdsByName[a];if(i&&n{e=Er.programs[e],Yr.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},$:(e,r)=>{3317==e?Er.unpackAlignment=r:3314==e&&(Er.unpackRowLength=r),Yr.pixelStorei(e,r)},ia:(e,r,t,n,a,o,i)=>{if(Er.currentContext.version>=2){if(Yr.currentPixelPackBufferBinding)return void Yr.readPixels(e,r,t,n,a,o,i);var s=zr(o),u=Gr(i,s);Yr.readPixels(e,r,t,n,a,o,s,u)}else{var c=Nr(o,a,t,n,i);c?Yr.readPixels(e,r,t,n,a,o,c):Er.recordError(1280)}},Ga:(e,r,t,n)=>{var a=Er.getSource(e,r,t,n);Yr.shaderSource(Er.shaders[e],a)},B:(e,r,t,n,a,o,i,s,u)=>{if(Er.currentContext.version>=2){if(Yr.currentPixelUnpackBufferBinding)return void Yr.texImage2D(e,r,t,n,a,o,i,s,u);if(u){var c=zr(s),l=Gr(u,c);return void Yr.texImage2D(e,r,t,n,a,o,i,s,c,l)}}var d=u?Nr(s,i,n,a,u):null;Yr.texImage2D(e,r,t,n,a,o,i,s,d)},_:(e,r,t)=>Yr.texParameterf(e,r,t),Fa:(e,r,t)=>{var n=C[t>>2];Yr.texParameterf(e,r,n)},c:(e,r,t)=>Yr.texParameteri(e,r,t),Z:(e,r,t,n,a)=>Yr.texStorage2D(e,r,t,n,a),Fb:(e,r,t,n,a,o)=>Yr.texStorage3D(e,r,t,n,a,o),W:(e,r,t,n,a,o,i,s,u)=>{if(Er.currentContext.version>=2){if(Yr.currentPixelUnpackBufferBinding)return void Yr.texSubImage2D(e,r,t,n,a,o,i,s,u);if(u){var c=zr(s);return void Yr.texSubImage2D(e,r,t,n,a,o,i,s,c,Gr(u,c))}}var l=u?Nr(s,i,a,o,u):null;Yr.texSubImage2D(e,r,t,n,a,o,i,s,l)},Eb:(e,r,t,n,a,o,i,s,u,c,l)=>{if(Yr.currentPixelUnpackBufferBinding)Yr.texSubImage3D(e,r,t,n,a,o,i,s,u,c,l);else if(l){var d=zr(c);Yr.texSubImage3D(e,r,t,n,a,o,i,s,u,c,d,Gr(l,d))}else Yr.texSubImage3D(e,r,t,n,a,o,i,s,u,c,null)},V:(e,r)=>{Yr.uniform1f($r(e),r)},e:(e,r)=>{Yr.uniform1i($r(e),r)},Db:(e,r,t)=>{Yr.uniform2f($r(e),r,t)},Cb:(e,r,t)=>{if(Er.currentContext.version>=2)r&&Yr.uniform2fv($r(e),C,t>>2,2*r);else{if(r<=144)for(var n=Wr[2*r],a=0;a<2*r;a+=2)n[a]=C[t+4*a>>2],n[a+1]=C[t+(4*a+4)>>2];else n=C.subarray(t>>2,t+8*r>>2);Yr.uniform2fv($r(e),n)}},Ea:(e,r,t,n)=>{Yr.uniform3f($r(e),r,t,n)},Da:(e,r,t)=>{if(Er.currentContext.version>=2)r&&Yr.uniform4fv($r(e),C,t>>2,4*r);else{if(r<=72){var n=Wr[4*r],a=C;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=C.subarray(t>>2,t+16*r>>2);Yr.uniform4fv($r(e),n)}},Bb:(e,r,t)=>{if(Er.currentContext.version>=2)r&&Yr.uniform4iv($r(e),L,t>>2,4*r);else{if(r<=72)for(var n=Hr[4*r],a=0;a<4*r;a+=4)n[a]=L[t+4*a>>2],n[a+1]=L[t+(4*a+4)>>2],n[a+2]=L[t+(4*a+8)>>2],n[a+3]=L[t+(4*a+12)>>2];else n=L.subarray(t>>2,t+16*r>>2);Yr.uniform4iv($r(e),n)}},Ab:(e,r,t)=>{e=Er.programs[e],Yr.uniformBlockBinding(e,r,t)},Ca:(e,r,t,n)=>{if(Er.currentContext.version>=2)r&&Yr.uniformMatrix4fv($r(e),!!t,C,n>>2,16*r);else{if(r<=18){var a=Wr[16*r],o=C;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=C.subarray(n>>2,n+64*r>>2);Yr.uniformMatrix4fv($r(e),!!t,a)}},g:e=>{e=Er.programs[e],Yr.useProgram(e),Yr.currentProgram=e},i:(e,r,t,n,a,o)=>{var i=Er.currentContext.clientBuffers[e];if(!Yr.currentArrayBufferBinding)return i.size=r,i.type=t,i.normalized=n,i.stride=a,i.ptr=o,i.clientside=!0,void(i.vertexAttribPointerAdaptor=function(e,r,t,n,a,o){this.vertexAttribPointer(e,r,t,n,a,o)});i.clientside=!1,Yr.vertexAttribPointer(e,r,t,!!n,a,o)},N:(e,r,t,n)=>Yr.viewport(e,r,t,n),zb:function(){var e=1;try{e=self.navigator.hardwareConcurrency}catch(e){}return e},qb:function(){let e;return"undefined"!=typeof HTMLCanvasElement?(e=document.createElement("canvas"),e.style.display="none"):e=new OffscreenCanvas(0,0),Je.toHandle(e)},pb:function(e){let r=Br(e);return i&&!r&&(r=i.canvasWebGpu),Je.toHandle(r)},ob:function(e,r){const t=Ar.getJsObject(e),n=Je.toValue(r),a=t.importExternalTexture({source:n});return Je.toHandle(a)},mb:function(e){const r=Je.toValue(e);Yr.texImage2D(Yr.TEXTURE_2D,0,Yr.RGBA,Yr.RGBA,Yr.UNSIGNED_BYTE,r)},oc:ne,lb:(e,r)=>{var t;r&&(t={label:Ar.makeStringFromOptionalStringView(r+4),timestampWrites:function(e){if(0!==e)return{querySet:Ar.getJsObject(B[e>>2]),beginningOfPassWriteIndex:B[e+4>>2],endOfPassWriteIndex:B[e+8>>2]}}(B[r+12>>2])});var n=Ar.getJsObject(e),a=mt();return Ar.Internals.jsObjectInsert(a,n.beginComputePass(t)),a},Ba:(e,r)=>{function t(e){var r=B[e+4>>2];if(0!==r){var t=L[e+8>>2];-1==t&&(t=void 0);var n=B[e+16>>2],a=B[e+20>>2],o=Ar.makeColor(e+24);return{view:Ar.getJsObject(r),depthSlice:t,resolveTarget:Ar.getJsObject(B[e+12>>2]),clearValue:o,loadOp:Ar.LoadOp[n],storeOp:Ar.StoreOp[a]}}}function n(e,r){for(var n=[],a=0;a>2]),depthClearValue:C[e+12>>2],depthLoadOp:Ar.LoadOp[B[e+4>>2]],depthStoreOp:Ar.StoreOp[B[e+8>>2]],depthReadOnly:!!B[e+16>>2],stencilClearValue:B[e+28>>2],stencilLoadOp:Ar.LoadOp[B[e+20>>2]],stencilStoreOp:Ar.StoreOp[B[e+24>>2]],stencilReadOnly:!!B[e+32>>2]}}function o(e){if(0!==e)return{querySet:Ar.getJsObject(B[e>>2]),beginningOfPassWriteIndex:B[e+4>>2],endOfPassWriteIndex:B[e+8>>2]}}var i=function(e){var r=B[e>>2],t=void 0;if(0!==r){B[r+4>>2];var i=r;t=4294967296*B[i+4+8>>2]+B[i+8>>2]}return{label:Ar.makeStringFromOptionalStringView(e+4),colorAttachments:n(B[e+12>>2],B[e+16>>2]),depthStencilAttachment:a(B[e+20>>2]),occlusionQuerySet:Ar.getJsObject(B[e+24>>2]),timestampWrites:o(B[e+28>>2]),maxDrawCount:t}}(r),s=Ar.getJsObject(e),u=bt();return Ar.Internals.jsObjectInsert(u,s.beginRenderPass(i)),u},kb:(e,r,t,n)=>{var a=Ar.getJsObject(e),o=Ar.makeExtent3D(n);a.copyBufferToTexture(Ar.makeImageCopyBuffer(r),Ar.makeImageCopyTexture(t),o)},jb:(e,r,t,n)=>{var a=Ar.getJsObject(e),o=Ar.makeExtent3D(n);a.copyTextureToBuffer(Ar.makeImageCopyTexture(r),Ar.makeImageCopyBuffer(t),o)},ib:(e,r,t,n)=>{var a=Ar.getJsObject(e),o=Ar.makeExtent3D(n);a.copyTextureToTexture(Ar.makeImageCopyTexture(r),Ar.makeImageCopyTexture(t),o)},T:(e,r)=>{var t=Ar.getJsObject(e),n=lt();return Ar.Internals.jsObjectInsert(n,t.finish()),n},hb:(e,r,t,n)=>{Ar.getJsObject(e).dispatchWorkgroups(r,t,n)},gb:e=>{Ar.getJsObject(e).end()},fb:(e,r,t,n,a)=>{var o=Ar.getJsObject(e),i=Ar.getJsObject(t);if(0==n)o.setBindGroup(r,i);else{for(var s=[],u=0;u>2]);o.setBindGroup(r,i,s)}},eb:(e,r)=>{var t=Ar.getJsObject(e),n=Ar.getJsObject(r);t.setPipeline(n)},db:(e,r)=>{var t=Ar.getJsObject(e),n=ct();return Ar.Internals.jsObjectInsert(n,t.getBindGroupLayout(r)),n},Aa:(e,r)=>{function t(e){var r=B[e+8>>2],t=B[e+32>>2],n=B[e+36>>2],a=B[e+4>>2];if(r){var o=(e=>B[e>>2]+4294967296*L[e+4>>2])(e+24);return-1==o&&(o=void 0),{binding:a,resource:{buffer:Ar.getJsObject(r),offset:4294967296*B[e+4+16>>2]+B[e+16>>2],size:o}}}return t?{binding:a,resource:Ar.getJsObject(t)}:{binding:a,resource:Ar.getJsObject(n)}}var n={label:Ar.makeStringFromOptionalStringView(r+4),layout:Ar.getJsObject(B[r+12>>2]),entries:function(e,r){for(var n=[],a=0;a>2],B[r+20>>2])},a=Ar.getJsObject(e),o=ut();return Ar.Internals.jsObjectInsert(o,a.createBindGroup(n)),o},S:(e,r)=>{var t;r&&(t={label:Ar.makeStringFromOptionalStringView(r+4)});var n=Ar.getJsObject(e),a=dt();return Ar.Internals.jsObjectInsert(a,n.createCommandEncoder(t)),a},za:(e,r)=>{var t=Ar.makeComputePipelineDesc(r),n=Ar.getJsObject(e),a=ft();return Ar.Internals.jsObjectInsert(a,n.createComputePipeline(t)),a},ya:(e,r)=>{var t=Ar.makeRenderPipelineDesc(r),n=Ar.getJsObject(e),a=wt();return Ar.Internals.jsObjectInsert(a,n.createRenderPipeline(t)),a},xa:(e,r)=>{var t;r&&(t={label:Ar.makeStringFromOptionalStringView(r+4),addressModeU:Ar.AddressMode[B[r+12>>2]],addressModeV:Ar.AddressMode[B[r+16>>2]],addressModeW:Ar.AddressMode[B[r+20>>2]],magFilter:Ar.FilterMode[B[r+24>>2]],minFilter:Ar.FilterMode[B[r+28>>2]],mipmapFilter:Ar.MipmapFilterMode[B[r+32>>2]],lodMinClamp:C[r+36>>2],lodMaxClamp:C[r+40>>2],compare:Ar.CompareFunction[B[r+44>>2]]});var n=Ar.getJsObject(e),a=yt();return Ar.Internals.jsObjectInsert(a,n.createSampler(t)),a},Y:(e,r)=>{var t={label:Ar.makeStringFromOptionalStringView(r+4),size:Ar.makeExtent3D(r+28),mipLevelCount:B[r+44>>2],sampleCount:B[r+48>>2],dimension:Ar.TextureDimension[B[r+24>>2]],format:Ar.TextureFormat[B[r+40>>2]],usage:B[r+16>>2]},n=B[r+52>>2];if(n){var a=B[r+56>>2];t.viewFormats=Array.from(L.subarray(a>>2,a+4*n>>2),e=>Ar.TextureFormat[e])}var o=Ar.getJsObject(e),i=xt();return Ar.Internals.jsObjectInsert(i,o.createTexture(t)),i},R:(e,r,t)=>{var n=Ar.getJsObject(e),a=Array.from(L.subarray(t>>2,t+4*r>>2),e=>Ar.getJsObject(e));n.submit(a)},rb:function(e,r,t,n,a,o){var i=lr(t,n),s=Ar.getJsObject(e),u=Ar.getJsObject(r),c=E.subarray(a,a+o);s.writeBuffer(u,i,c,0,o)},wa:(e,r,t,n,a)=>{Ar.getJsObject(e).draw(r,t,n,a)},va:e=>{Ar.getJsObject(e).end()},ua:(e,r,t,n,a)=>{var o=Ar.getJsObject(e),i=Ar.getJsObject(t);if(0==n)o.setBindGroup(r,i);else{for(var s=[],u=0;u>2]);o.setBindGroup(r,i,s)}},ta:(e,r)=>{var t=Ar.getJsObject(e),n=Ar.getJsObject(r);t.setPipeline(n)},sa:(e,r)=>{var t=Ar.getJsObject(e),n=ct();return Ar.Internals.jsObjectInsert(n,t.getBindGroupLayout(r)),n},Q:(e,r)=>{var t;if(r){var n=B[r+24>>2],a=B[r+32>>2];t={label:Ar.makeStringFromOptionalStringView(r+4),format:Ar.TextureFormat[B[r+12>>2]],dimension:Ar.TextureViewDimension[B[r+16>>2]],baseMipLevel:B[r+20>>2],mipLevelCount:4294967295===n?void 0:n,baseArrayLayer:B[r+28>>2],arrayLayerCount:4294967295===a?void 0:a,aspect:Ar.TextureAspect[B[r+36>>2]]}}var o=Ar.getJsObject(e),i=Et();return Ar.Internals.jsObjectInsert(i,o.createView(t)),i},P:e=>{Ar.getJsObject(e).destroy()},cb:e=>{var r=Ar.getJsObject(e);return Ar.TextureFormat.indexOf(r.format)}},at=function(){var e,r,t,a,o={a:nt};function s(e,r){var t;return at=e.exports,b=at.Xc,I(),_r=at.Zc,t=at.Yc,A.unshift(t),z(),at}if(U(),i.instantiateWasm)try{return i.instantiateWasm(o,s)}catch(e){y(`Module.instantiateWasm callback failed with error: ${e}`),n(e)}return N||(N=q()),(e=v,r=N,t=o,a=function(e){s(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||H(r)||J(r)||l||"function"!=typeof fetch?Y(r,t,a):fetch(r,{credentials:"same-origin"}).then(e=>WebAssembly.instantiateStreaming(e,t).then(a,function(e){return y(`wasm streaming compile failed: ${e}`),y("falling back to ArrayBuffer instantiation"),Y(r,t,a)}))).catch(n),{}}(),ot=i._free=e=>(ot=i._free=at._c)(e),it=i._malloc=e=>(it=i._malloc=at.$c)(e),st=(i._addBoundTextureAsImageToStream=(e,r,t,n)=>(i._addBoundTextureAsImageToStream=at.ad)(e,r,t,n),i._attachImageListener=(e,r)=>(i._attachImageListener=at.bd)(e,r),i._attachImageVectorListener=(e,r)=>(i._attachImageVectorListener=at.cd)(e,r),i._registerModelResourcesGraphService=()=>(i._registerModelResourcesGraphService=at.dd)(),i._bindTextureToStream=e=>(i._bindTextureToStream=at.ed)(e),i._addBoundTextureToStream=(e,r,t,n)=>(i._addBoundTextureToStream=at.fd)(e,r,t,n),i._addDoubleToInputStream=(e,r,t)=>(i._addDoubleToInputStream=at.gd)(e,r,t),i._addFloatToInputStream=(e,r,t)=>(i._addFloatToInputStream=at.hd)(e,r,t),i._addBoolToInputStream=(e,r,t)=>(i._addBoolToInputStream=at.id)(e,r,t),i._addIntToInputStream=(e,r,t)=>(i._addIntToInputStream=at.jd)(e,r,t),i._addUintToInputStream=(e,r,t)=>(i._addUintToInputStream=at.kd)(e,r,t),i._addStringToInputStream=(e,r,t)=>(i._addStringToInputStream=at.ld)(e,r,t),i._addRawDataSpanToInputStream=(e,r,t,n)=>(i._addRawDataSpanToInputStream=at.md)(e,r,t,n),i._allocateBoolVector=e=>(i._allocateBoolVector=at.nd)(e),i._allocateFloatVector=e=>(i._allocateFloatVector=at.od)(e),i._allocateDoubleVector=e=>(i._allocateDoubleVector=at.pd)(e),i._allocateIntVector=e=>(i._allocateIntVector=at.qd)(e),i._allocateUintVector=e=>(i._allocateUintVector=at.rd)(e),i._allocateStringVector=e=>(i._allocateStringVector=at.sd)(e),i._addBoolVectorEntry=(e,r)=>(i._addBoolVectorEntry=at.td)(e,r),i._addFloatVectorEntry=(e,r)=>(i._addFloatVectorEntry=at.ud)(e,r),i._addDoubleVectorEntry=(e,r)=>(i._addDoubleVectorEntry=at.vd)(e,r),i._addIntVectorEntry=(e,r)=>(i._addIntVectorEntry=at.wd)(e,r),i._addUintVectorEntry=(e,r)=>(i._addUintVectorEntry=at.xd)(e,r),i._addStringVectorEntry=(e,r)=>(i._addStringVectorEntry=at.yd)(e,r),i._addBoolVectorToInputStream=(e,r,t)=>(i._addBoolVectorToInputStream=at.zd)(e,r,t),i._addFloatVectorToInputStream=(e,r,t)=>(i._addFloatVectorToInputStream=at.Ad)(e,r,t),i._addDoubleVectorToInputStream=(e,r,t)=>(i._addDoubleVectorToInputStream=at.Bd)(e,r,t),i._addIntVectorToInputStream=(e,r,t)=>(i._addIntVectorToInputStream=at.Cd)(e,r,t),i._addUintVectorToInputStream=(e,r,t)=>(i._addUintVectorToInputStream=at.Dd)(e,r,t),i._addStringVectorToInputStream=(e,r,t)=>(i._addStringVectorToInputStream=at.Ed)(e,r,t),i._addFlatHashMapToInputStream=(e,r,t,n,a)=>(i._addFlatHashMapToInputStream=at.Fd)(e,r,t,n,a),i._addProtoToInputStream=(e,r,t,n,a)=>(i._addProtoToInputStream=at.Gd)(e,r,t,n,a),i._addEmptyPacketToInputStream=(e,r)=>(i._addEmptyPacketToInputStream=at.Hd)(e,r),i._addBoolToInputSidePacket=(e,r)=>(i._addBoolToInputSidePacket=at.Id)(e,r),i._addDoubleToInputSidePacket=(e,r)=>(i._addDoubleToInputSidePacket=at.Jd)(e,r),i._addFloatToInputSidePacket=(e,r)=>(i._addFloatToInputSidePacket=at.Kd)(e,r),i._addIntToInputSidePacket=(e,r)=>(i._addIntToInputSidePacket=at.Ld)(e,r),i._addUintToInputSidePacket=(e,r)=>(i._addUintToInputSidePacket=at.Md)(e,r),i._addStringToInputSidePacket=(e,r)=>(i._addStringToInputSidePacket=at.Nd)(e,r),i._addRawDataSpanToInputSidePacket=(e,r,t)=>(i._addRawDataSpanToInputSidePacket=at.Od)(e,r,t),i._addProtoToInputSidePacket=(e,r,t,n)=>(i._addProtoToInputSidePacket=at.Pd)(e,r,t,n),i._addBoolVectorToInputSidePacket=(e,r)=>(i._addBoolVectorToInputSidePacket=at.Qd)(e,r),i._addDoubleVectorToInputSidePacket=(e,r)=>(i._addDoubleVectorToInputSidePacket=at.Rd)(e,r),i._addFloatVectorToInputSidePacket=(e,r)=>(i._addFloatVectorToInputSidePacket=at.Sd)(e,r),i._addIntVectorToInputSidePacket=(e,r)=>(i._addIntVectorToInputSidePacket=at.Td)(e,r),i._addUintVectorToInputSidePacket=(e,r)=>(i._addUintVectorToInputSidePacket=at.Ud)(e,r),i._addStringVectorToInputSidePacket=(e,r)=>(i._addStringVectorToInputSidePacket=at.Vd)(e,r),i._attachBoolListener=e=>(i._attachBoolListener=at.Wd)(e),i._attachBoolVectorListener=e=>(i._attachBoolVectorListener=at.Xd)(e),i._attachDoubleListener=e=>(i._attachDoubleListener=at.Yd)(e),i._attachDoubleVectorListener=e=>(i._attachDoubleVectorListener=at.Zd)(e),i._attachFloatListener=e=>(i._attachFloatListener=at._d)(e),i._attachFloatVectorListener=e=>(i._attachFloatVectorListener=at.$d)(e),i._attachIntListener=e=>(i._attachIntListener=at.ae)(e),i._attachIntVectorListener=e=>(i._attachIntVectorListener=at.be)(e),i._attachUintListener=e=>(i._attachUintListener=at.ce)(e),i._attachUintVectorListener=e=>(i._attachUintVectorListener=at.de)(e),i._attachStringListener=e=>(i._attachStringListener=at.ee)(e),i._attachStringVectorListener=e=>(i._attachStringVectorListener=at.fe)(e),i._attachProtoListener=(e,r)=>(i._attachProtoListener=at.ge)(e,r),i._attachProtoVectorListener=(e,r)=>(i._attachProtoVectorListener=at.he)(e,r),i._getGraphConfig=(e,r)=>(i._getGraphConfig=at.ie)(e,r),e=>(st=at.je)(e)),ut=e=>(ut=at.ke)(e),ct=e=>(ct=at.le)(e),lt=e=>(lt=at.me)(e),dt=e=>(dt=at.ne)(e),mt=e=>(mt=at.oe)(e),ft=e=>(ft=at.pe)(e),pt=e=>(pt=at.qe)(e),gt=e=>(gt=at.re)(e),ht=e=>(ht=at.se)(e),vt=e=>(vt=at.te)(e),bt=e=>(bt=at.ue)(e),wt=e=>(wt=at.ve)(e),yt=e=>(yt=at.we)(e),_t=e=>(_t=at.xe)(e),xt=e=>(xt=at.ye)(e),Et=e=>(Et=at.ze)(e),St=e=>(St=at.Ae)(e),kt=(e,r)=>(kt=at.Be)(e,r),Lt=(e,r)=>(Lt=at.Ce)(e,r),Bt=e=>(Bt=at.De)(e),Ct=e=>(Ct=at.Ee)(e),Pt=(i._clearSubgraphs=()=>(i._clearSubgraphs=at.Fe)(),i._pushBinarySubgraph=(e,r)=>(i._pushBinarySubgraph=at.Ge)(e,r),i._pushTextSubgraph=(e,r)=>(i._pushTextSubgraph=at.He)(e,r),i._changeBinaryGraph=(e,r)=>(i._changeBinaryGraph=at.Ie)(e,r),i._changeTextGraph=(e,r)=>(i._changeTextGraph=at.Je)(e,r),i._processGl=e=>(i._processGl=at.Ke)(e),i._process=e=>(i._process=at.Le)(e),i._bindTextureToCanvas=()=>(i._bindTextureToCanvas=at.Me)(),i._requestShaderRefreshOnGraphChange=()=>(i._requestShaderRefreshOnGraphChange=at.Ne)(),i._waitUntilIdle=()=>(i._waitUntilIdle=at.Oe)(),i._closeGraph=()=>(i._closeGraph=at.Pe)(),i._setAutoRenderToScreen=e=>(i._setAutoRenderToScreen=at.Qe)(e),e=>(Pt=at.Re)(e)),Ft=(e,r)=>(Ft=at.Se)(e,r),It=(e,r)=>(It=at.Te)(e,r),Tt=e=>(Tt=at.Ue)(e),At=e=>(At=at.Ve)(e),Ot=e=>(Ot=at.We)(e),Dt=()=>(Dt=at.Xe)(),Vt=e=>(Vt=at.Ye)(e);i._kVersionStampBuildChangelistStr=1024,i._kVersionStampCitcSnapshotStr=1056,i._kVersionStampCitcWorkspaceIdStr=1088,i._kVersionStampSourceUriStr=1600,i._kVersionStampBuildClientStr=2112,i._kVersionStampBuildClientMintStatusStr=2624,i._kVersionStampBuildCompilerStr=2656,i._kVersionStampBuildDateTimePstStr=3168,i._kVersionStampBuildDepotPathStr=3200,i._kVersionStampBuildIdStr=3712,i._kVersionStampBuildInfoStr=4224,i._kVersionStampBuildLabelStr=4736,i._kVersionStampBuildTargetStr=5248,i._kVersionStampBuildTimestampStr=5760,i._kVersionStampBuildToolStr=5792,i._kVersionStampG3BuildTargetStr=6304,i._kVersionStampVerifiableStr=6816,i._kVersionStampBuildFdoTypeStr=6848,i._kVersionStampBuildBaselineChangelistStr=6880,i._kVersionStampBuildLtoTypeStr=6912,i._kVersionStampBuildPropellerTypeStr=6944,i._kVersionStampBuildPghoTypeStr=6976,i._kVersionStampBuildUsernameStr=7008,i._kVersionStampBuildHostnameStr=7520,i._kVersionStampBuildDirectoryStr=8032,i._kVersionStampBuildChangelistInt=8544,i._kVersionStampCitcSnapshotInt=8552,i._kVersionStampBuildClientMintStatusInt=8556,i._kVersionStampBuildTimestampInt=8560,i._kVersionStampVerifiableInt=8568,i._kVersionStampBuildCoverageEnabledInt=8572,i._kVersionStampBuildBaselineChangelistInt=8576,i._kVersionStampPrecookedTimestampStr=8592,i._kVersionStampPrecookedClientInfoStr=9104;function jt(){function e(){tt||(tt=!0,i.calledRun=!0,F||(i.noFSInit||Fe.init.initialized||Fe.init(),Fe.ignorePermissions=!1,Se.init(),le(A),t(i),i.onRuntimeInitialized?.(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)V(i.postRun.shift());le(O)}()))}j>0||(!function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)D(i.preRun.shift());le(T)}(),j>0||(i.setStatus?(i.setStatus("Running..."),setTimeout(function(){setTimeout(function(){i.setStatus("")},1),e()},1)):e()))}if(i.addRunDependency=U,i.removeRunDependency=z,i.ccall=(e,r,t,n,a)=>{var o={string:e=>{var r=0;return null!=e&&0!==e&&(r=Ir(e)),r},array:e=>{var r,t,n=Fr(e.length);return r=e,t=n,x.set(r,t),n}};var s=(e=>i["_"+e])(e),u=[],c=0;if(n)for(var l=0;lFe.unlink(e),i.FS_createPath=Jr,i.FS_createDevice=Xr,i.FS_createDataFile=Be,i.FS_createLazyFile=qr,R=function e(){tt||jt(),tt||(R=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return jt(),s}})();"object"==typeof exports&&"object"==typeof module?module.exports=ModuleFactory:"function"==typeof define&&define.amd&&define([],()=>ModuleFactory);