-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathllama_webgpu_core_mem64.js
More file actions
2 lines (2 loc) · 126 KB
/
llama_webgpu_core_mem64.js
File metadata and controls
2 lines (2 loc) · 126 KB
1
2
async function createLlamaWebGpuCoreModule(moduleArg={}){var moduleRtn;var Module=moduleArg;var ENVIRONMENT_IS_WEB=!!globalThis.window;var ENVIRONMENT_IS_WORKER=!!globalThis.WorkerGlobalScope;var ENVIRONMENT_IS_NODE=globalThis.process?.versions?.node&&globalThis.process?.type!="renderer";var ENVIRONMENT_IS_PTHREAD=ENVIRONMENT_IS_WORKER&&globalThis.name=="em-pthread";var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var _scriptName=import.meta.url;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var readAsync,readBinary;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){try{scriptDirectory=new URL(".",_scriptName).href}catch{}{if(ENVIRONMENT_IS_WORKER){readBinary=url=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}}readAsync=async url=>{var response=await fetch(url,{credentials:"same-origin"});if(response.ok){return response.arrayBuffer()}throw new Error(response.status+" : "+response.url)}}}else{}var out=console.log.bind(console);var err=console.error.bind(console);var wasmBinary;var wasmModule;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}class EmscriptenEH{}class EmscriptenSjLj extends EmscriptenEH{}function growMemViews(){if(wasmMemory.buffer!=HEAP8.buffer){updateMemoryViews()}}var readyPromiseResolve,readyPromiseReject;var startWorker;if(ENVIRONMENT_IS_PTHREAD){var initializedJS=false;self.onunhandledrejection=e=>{throw e.reason||e};function handleMessage(e){try{var msgData=e["data"];var cmd=msgData.cmd;if(cmd==="load"){let messageQueue=[];self.onmessage=e=>messageQueue.push(e);startWorker=()=>{postMessage({cmd:"loaded"});for(let msg of messageQueue){handleMessage(msg)}self.onmessage=handleMessage};for(const handler of msgData.handlers){if(!Module[handler]||Module[handler].proxy){Module[handler]=(...args)=>{postMessage({cmd:"callHandler",handler,args})};if(handler=="print")out=Module[handler];if(handler=="printErr")err=Module[handler]}}wasmMemory=msgData.wasmMemory;updateMemoryViews();wasmModule=msgData.wasmModule;createWasm();run()}else if(cmd==="run"){establishStackSpace(msgData.pthread_ptr);__emscripten_thread_init(msgData.pthread_ptr,0,0,1,0,0);PThread.threadInitTLS();__emscripten_thread_mailbox_await(msgData.pthread_ptr);if(!initializedJS){initializedJS=true}try{invokeEntryPoint(msgData.start_routine,msgData.arg)}catch(ex){if(ex!="unwind"){throw ex}}}else if(msgData.target==="setimmediate"){}else if(cmd==="checkMailbox"){if(initializedJS){checkMailbox()}}else if(cmd){err(`worker: received unknown command ${cmd}`);err(msgData)}}catch(ex){__emscripten_thread_crashed();throw ex}}self.onmessage=handleMessage}var runtimeInitialized=false;function updateMemoryViews(){var b=wasmMemory.buffer;HEAP8=new Int8Array(b);HEAP16=new Int16Array(b);HEAPU8=new Uint8Array(b);HEAPU16=new Uint16Array(b);HEAP32=new Int32Array(b);HEAPU32=new Uint32Array(b);HEAPF32=new Float32Array(b);HEAPF64=new Float64Array(b);HEAP64=new BigInt64Array(b);HEAPU64=new BigUint64Array(b)}function initMemory(){if(ENVIRONMENT_IS_PTHREAD){return}if(Module["wasmMemory"]){wasmMemory=Module["wasmMemory"]}else{var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||16777216;wasmMemory=new WebAssembly.Memory({initial:BigInt(INITIAL_MEMORY/65536),maximum:196608n,shared:true,address:"i64"})}updateMemoryViews()}function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(onPreRuns)}function initRuntime(){runtimeInitialized=true;if(ENVIRONMENT_IS_PTHREAD)return startWorker();wasmExports["nb"]()}function preMain(){}function postRun(){if(ENVIRONMENT_IS_PTHREAD){return}if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(onPostRuns)}function abort(what){Module["onAbort"]?.(what);what=`Aborted(${what})`;err(what);ABORT=true;what+=". Build with -sASSERTIONS for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject?.(e);throw e}var wasmBinaryFile;function findWasmBinary(){if(Module["locateFile"]){return locateFile("llama_webgpu_core_mem64.wasm")}return new URL("llama_webgpu_core_mem64.wasm",import.meta.url).href}function getBinarySync(file){if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}if(readBinary){return readBinary(file)}throw"both async and sync fetching of the wasm failed"}async function getWasmBinary(binaryFile){if(!wasmBinary){try{var response=await readAsync(binaryFile);return new Uint8Array(response)}catch{}}return getBinarySync(binaryFile)}async function instantiateArrayBuffer(binaryFile,imports){try{var binary=await getWasmBinary(binaryFile);var instance=await WebAssembly.instantiate(binary,imports);return instance}catch(reason){err(`failed to asynchronously prepare wasm: ${reason}`);abort(reason)}}async function instantiateAsync(binary,binaryFile,imports){if(!binary){try{var response=fetch(binaryFile,{credentials:"same-origin"});var instantiationResult=await WebAssembly.instantiateStreaming(response,imports);return instantiationResult}catch(reason){err(`wasm streaming compile failed: ${reason}`);err("falling back to ArrayBuffer instantiation")}}return instantiateArrayBuffer(binaryFile,imports)}function getWasmImports(){assignWasmImports();var imports={a:wasmImports};return imports}async function createWasm(){function receiveInstance(instance,module){wasmExports=instance.exports;wasmExports=Asyncify.instrumentWasmExports(wasmExports);wasmExports=applySignatureConversions(wasmExports);registerTLSInit(wasmExports["Bc"]);assignWasmExports(wasmExports);wasmModule=module;return wasmExports}function receiveInstantiationResult(result){return receiveInstance(result["instance"],result["module"])}var info=getWasmImports();if(Module["instantiateWasm"]){return new Promise((resolve,reject)=>{Module["instantiateWasm"](info,(inst,mod)=>{resolve(receiveInstance(inst,mod))})})}if(ENVIRONMENT_IS_PTHREAD){var instance=new WebAssembly.Instance(wasmModule,getWasmImports());return receiveInstance(instance,wasmModule)}wasmBinaryFile??=findWasmBinary();var result=await instantiateAsync(wasmBinary,wasmBinaryFile,info);var exports=receiveInstantiationResult(result);return exports}class ExitStatus{name="ExitStatus";constructor(status){this.message=`Program terminated with exit(${status})`;this.status=status}}var HEAP16;var HEAP32;var HEAP64;var HEAP8;var HEAPF32;var HEAPF64;var HEAPU16;var HEAPU32;var HEAPU64;var HEAPU8;var terminateWorker=worker=>{worker.terminate();worker.onmessage=e=>{}};var cleanupThread=pthread_ptr=>{var worker=PThread.pthreads[pthread_ptr];PThread.returnWorkerToPool(worker)};var callRuntimeCallbacks=callbacks=>{while(callbacks.length>0){callbacks.shift()(Module)}};var onPreRuns=[];var addOnPreRun=cb=>onPreRuns.push(cb);var runDependencies=0;var dependenciesFulfilled=null;var removeRunDependency=id=>{runDependencies--;Module["monitorRunDependencies"]?.(runDependencies);if(runDependencies==0){if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}};var addRunDependency=id=>{runDependencies++;Module["monitorRunDependencies"]?.(runDependencies)};var spawnThread=threadParams=>{var worker=PThread.getNewWorker();if(!worker){return 6}PThread.runningWorkers.push(worker);PThread.pthreads[threadParams.pthread_ptr]=worker;worker.pthread_ptr=threadParams.pthread_ptr;var msg={cmd:"run",start_routine:threadParams.startRoutine,arg:threadParams.arg,pthread_ptr:threadParams.pthread_ptr};worker.postMessage(msg,threadParams.transferList);return 0};var runtimeKeepaliveCounter=0;var keepRuntimeAlive=()=>noExitRuntime||runtimeKeepaliveCounter>0;var stackSave=()=>_emscripten_stack_get_current();var stackRestore=val=>__emscripten_stack_restore(val);var stackAlloc=sz=>__emscripten_stack_alloc(sz);var proxyToMainThread=(funcIndex,emAsmAddr,proxyMode,...callArgs)=>{var bufSize=8*callArgs.length*2;var sp=stackSave();var args=stackAlloc(bufSize);var b=args/8;for(var arg of callArgs){if(typeof arg=="bigint"){(growMemViews(),HEAP64)[b++]=1n;(growMemViews(),HEAP64)[b++]=arg}else{(growMemViews(),HEAP64)[b++]=0n;(growMemViews(),HEAPF64)[b++]=arg}}var rtn=__emscripten_run_js_on_main_thread(funcIndex,emAsmAddr,bufSize,args,proxyMode);stackRestore(sp);return rtn};function _proc_exit(code){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(0,0,1,code);EXITSTATUS=code;if(!keepRuntimeAlive()){PThread.terminateAllThreads();Module["onExit"]?.(code);ABORT=true}quit_(code,new ExitStatus(code))}function exitOnMainThread(returnCode){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(1,0,0,returnCode);_exit(returnCode)}var exitJS=(status,implicit)=>{EXITSTATUS=status;if(ENVIRONMENT_IS_PTHREAD){exitOnMainThread(status);throw"unwind"}_proc_exit(status)};var _exit=exitJS;var waitAsyncPolyfilled=!Atomics.waitAsync||globalThis.navigator?.userAgent&&Number((navigator.userAgent.match(/Chrom(e|ium)\/([0-9]+)\./)||[])[2])<91;var PThread={unusedWorkers:[],runningWorkers:[],tlsInitFunctions:[],pthreads:{},init(){if(!ENVIRONMENT_IS_PTHREAD){PThread.initMainThread()}},initMainThread(){var pthreadPoolSize=4;while(pthreadPoolSize--){PThread.allocateUnusedWorker()}addOnPreRun(async()=>{var pthreadPoolReady=PThread.loadWasmModuleToAllWorkers();addRunDependency("loading-workers");await pthreadPoolReady;removeRunDependency("loading-workers")})},terminateAllThreads:()=>{for(var worker of PThread.runningWorkers){terminateWorker(worker)}for(var worker of PThread.unusedWorkers){terminateWorker(worker)}PThread.unusedWorkers=[];PThread.runningWorkers=[];PThread.pthreads={}},terminateRuntime:()=>{PThread.terminateAllThreads();var pthread_ptr=_pthread_self();___set_thread_state(0,0,0,1);if(!waitAsyncPolyfilled){Atomics.notify((growMemViews(),HEAP32),pthread_ptr/4)}},returnWorkerToPool:worker=>{var pthread_ptr=worker.pthread_ptr;delete PThread.pthreads[pthread_ptr];PThread.unusedWorkers.push(worker);PThread.runningWorkers.splice(PThread.runningWorkers.indexOf(worker),1);worker.pthread_ptr=0;__emscripten_thread_free_data(pthread_ptr)},threadInitTLS(){PThread.tlsInitFunctions.forEach(f=>f())},loadWasmModuleToWorker:worker=>new Promise(onFinishedLoading=>{worker.onmessage=e=>{var d=e["data"];var cmd=d.cmd;if(d.targetThread&&d.targetThread!=_pthread_self()){var targetWorker=PThread.pthreads[d.targetThread];if(targetWorker){targetWorker.postMessage(d,d.transferList)}else{err(`worker sent message (${cmd}) to pthread (${d.targetThread}) that no longer exists`)}return}if(cmd==="checkMailbox"){checkMailbox()}else if(cmd==="spawnThread"){spawnThread(d)}else if(cmd==="cleanupThread"){callUserCallback(()=>cleanupThread(d.thread))}else if(cmd==="loaded"){worker.loaded=true;onFinishedLoading(worker)}else if(d.target==="setimmediate"){worker.postMessage(d)}else if(cmd==="callHandler"){Module[d.handler](...d.args)}else if(cmd){err(`worker sent an unknown command ${cmd}`)}};worker.onerror=e=>{var message="worker sent an error!";err(`${message} ${e.filename}:${e.lineno}: ${e.message}`);throw e};var handlers=[];var knownHandlers=["onExit","onAbort","print","printErr"];for(var handler of knownHandlers){if(Module.propertyIsEnumerable(handler)){handlers.push(handler)}}worker.postMessage({cmd:"load",handlers,wasmMemory,wasmModule})}),async loadWasmModuleToAllWorkers(){if(ENVIRONMENT_IS_PTHREAD){return}let pthreadPoolReady=Promise.all(PThread.unusedWorkers.map(PThread.loadWasmModuleToWorker));return pthreadPoolReady},allocateUnusedWorker(){var worker;if(Module["mainScriptUrlOrBlob"]){var pthreadMainJs=Module["mainScriptUrlOrBlob"];if(typeof pthreadMainJs!="string"){pthreadMainJs=URL.createObjectURL(pthreadMainJs)}worker=new Worker(pthreadMainJs,{type:"module",name:"em-pthread"})}else worker=new Worker(new URL("llama_webgpu_core_mem64.js",import.meta.url),{type:"module",name:"em-pthread"});PThread.unusedWorkers.push(worker)},getNewWorker(){if(PThread.unusedWorkers.length==0){PThread.allocateUnusedWorker();PThread.loadWasmModuleToWorker(PThread.unusedWorkers[0])}return PThread.unusedWorkers.pop()}};var onPostRuns=[];var addOnPostRun=cb=>onPostRuns.push(cb);var dynCalls={};function establishStackSpace(pthread_ptr){var stackHigh=Number((growMemViews(),HEAPU64)[(pthread_ptr+80)/8]);var stackSize=Number((growMemViews(),HEAPU64)[(pthread_ptr+88)/8]);var stackLow=stackHigh-stackSize;_emscripten_stack_set_limits(stackHigh,stackLow);stackRestore(stackHigh)}var invokeEntryPoint=(ptr,arg)=>{runtimeKeepaliveCounter=0;noExitRuntime=0;var result=(a1=>dynCall_jj(ptr,BigInt(a1)))(arg);function finish(result){if(keepRuntimeAlive()){EXITSTATUS=result;return}__emscripten_thread_exit(result)}finish(result)};var noExitRuntime=true;var registerTLSInit=tlsInitFunc=>PThread.tlsInitFunctions.push(tlsInitFunc);var wasmMemory;var INT53_MAX=9007199254740992;var INT53_MIN=-9007199254740992;var bigintToI53Checked=num=>num<INT53_MIN||num>INT53_MAX?NaN:Number(num);var ___call_sighandler=function(fp,sig){fp=bigintToI53Checked(fp);return(a1=>dynCall_vi(fp,a1))(sig)};var exceptionCaught=[];var uncaughtExceptionCount=0;var ___cxa_begin_catch=function(ptr){ptr=bigintToI53Checked(ptr);var ret=(()=>{var info=new ExceptionInfo(ptr);if(!info.get_caught()){info.set_caught(true);uncaughtExceptionCount--}info.set_rethrown(false);exceptionCaught.push(info);return ___cxa_get_exception_ptr(ptr)})();return BigInt(ret)};var ___cxa_end_catch=()=>{_setThrew(0,0);var info=exceptionCaught.pop();___cxa_decrement_exception_refcount(info.excPtr)};var findMatchingCatch=args=>{setTempRet0(0);return 0};var ___cxa_find_matching_catch_2=()=>BigInt(findMatchingCatch([]));var ___cxa_find_matching_catch_3=arg0=>{arg0=bigintToI53Checked(arg0);return BigInt(findMatchingCatch([arg0]))};var ___cxa_rethrow=()=>{if(!exceptionCaught.length){abort("no exception to throw")}var info=exceptionCaught.at(-1);var ptr=info.excPtr;info.set_rethrown(true);info.set_caught(false);uncaughtExceptionCount++;abort()};class ExceptionInfo{constructor(excPtr){this.excPtr=excPtr;this.ptr=excPtr-48}set_type(type){(growMemViews(),HEAPU64)[(this.ptr+8)/8]=BigInt(type)}get_type(){return Number((growMemViews(),HEAPU64)[(this.ptr+8)/8])}set_destructor(destructor){(growMemViews(),HEAPU64)[(this.ptr+16)/8]=BigInt(destructor)}get_destructor(){return Number((growMemViews(),HEAPU64)[(this.ptr+16)/8])}set_caught(caught){caught=caught?1:0;(growMemViews(),HEAP8)[this.ptr+24]=caught}get_caught(){return(growMemViews(),HEAP8)[this.ptr+24]!=0}set_rethrown(rethrown){rethrown=rethrown?1:0;(growMemViews(),HEAP8)[this.ptr+25]=rethrown}get_rethrown(){return(growMemViews(),HEAP8)[this.ptr+25]!=0}init(type,destructor){this.set_adjusted_ptr(0);this.set_type(type);this.set_destructor(destructor)}set_adjusted_ptr(adjustedPtr){(growMemViews(),HEAPU64)[(this.ptr+32)/8]=BigInt(adjustedPtr)}get_adjusted_ptr(){return Number((growMemViews(),HEAPU64)[(this.ptr+32)/8])}}function ___cxa_throw(ptr,type,destructor){ptr=bigintToI53Checked(ptr);type=bigintToI53Checked(type);destructor=bigintToI53Checked(destructor);var info=new ExceptionInfo(ptr);info.init(type,destructor);uncaughtExceptionCount++;abort()}function pthreadCreateProxied(pthread_ptr,attr,startRoutine,arg){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(2,0,1,pthread_ptr,attr,startRoutine,arg);return ___pthread_create_js(pthread_ptr,attr,startRoutine,arg)}var _emscripten_has_threading_support=()=>!!globalThis.SharedArrayBuffer;function ___pthread_create_js(pthread_ptr,attr,startRoutine,arg){pthread_ptr=bigintToI53Checked(pthread_ptr);attr=bigintToI53Checked(attr);startRoutine=bigintToI53Checked(startRoutine);arg=bigintToI53Checked(arg);if(!_emscripten_has_threading_support()){return 6}var transferList=[];var error=0;if(ENVIRONMENT_IS_PTHREAD&&(transferList.length===0||error)){return pthreadCreateProxied(pthread_ptr,attr,startRoutine,arg)}if(error)return error;var threadParams={startRoutine,pthread_ptr,arg,transferList};if(ENVIRONMENT_IS_PTHREAD){threadParams.cmd="spawnThread";postMessage(threadParams,transferList);return 0}return spawnThread(threadParams)}function ___resumeException(ptr){ptr=bigintToI53Checked(ptr);abort()}var __abort_js=()=>abort("");function __emscripten_init_main_thread_js(tb){tb=bigintToI53Checked(tb);__emscripten_thread_init(tb,!ENVIRONMENT_IS_WORKER,1,!ENVIRONMENT_IS_WEB,65536,false);PThread.threadInitTLS()}var handleException=e=>{if(e instanceof ExitStatus||e=="unwind"){return EXITSTATUS}quit_(1,e)};var maybeExit=()=>{if(!keepRuntimeAlive()){try{if(ENVIRONMENT_IS_PTHREAD){if(_pthread_self())__emscripten_thread_exit(EXITSTATUS);return}_exit(EXITSTATUS)}catch(e){handleException(e)}}};var callUserCallback=func=>{if(ABORT){return}try{return func()}catch(e){handleException(e)}finally{maybeExit()}};function __emscripten_thread_mailbox_await(pthread_ptr){pthread_ptr=bigintToI53Checked(pthread_ptr);if(!waitAsyncPolyfilled){var wait=Atomics.waitAsync((growMemViews(),HEAP32),pthread_ptr/4,pthread_ptr);wait.value.then(checkMailbox);var waitingAsync=pthread_ptr+212;Atomics.store((growMemViews(),HEAP32),waitingAsync/4,1)}}var checkMailbox=()=>{var pthread_ptr=_pthread_self();if(!pthread_ptr)return;callUserCallback(()=>{__emscripten_thread_mailbox_await(pthread_ptr);__emscripten_check_mailbox()})};function __emscripten_notify_mailbox_postmessage(targetThread,currThreadId){targetThread=bigintToI53Checked(targetThread);currThreadId=bigintToI53Checked(currThreadId);if(targetThread==currThreadId){setTimeout(checkMailbox)}else if(ENVIRONMENT_IS_PTHREAD){postMessage({targetThread,cmd:"checkMailbox"})}else{var worker=PThread.pthreads[targetThread];if(!worker){return}worker.postMessage({cmd:"checkMailbox"})}}var proxiedJSCallArgs=[];function __emscripten_receive_on_main_thread_js(funcIndex,emAsmAddr,callingThread,bufSize,args,ctx,ctxArgs){emAsmAddr=bigintToI53Checked(emAsmAddr);callingThread=bigintToI53Checked(callingThread);args=bigintToI53Checked(args);ctx=bigintToI53Checked(ctx);ctxArgs=bigintToI53Checked(ctxArgs);proxiedJSCallArgs.length=0;var b=args/8;var end=(args+bufSize)/8;while(b<end){var arg;if((growMemViews(),HEAP64)[b++]){arg=(growMemViews(),HEAP64)[b++]}else{arg=(growMemViews(),HEAPF64)[b++]}proxiedJSCallArgs.push(arg)}var func=proxiedFunctionTable[funcIndex];PThread.currentProxiedOperationCallerThread=callingThread;var rtn=func(...proxiedJSCallArgs);PThread.currentProxiedOperationCallerThread=0;if(ctx){rtn.then(rtn=>__emscripten_run_js_on_main_thread_done(ctx,ctxArgs,rtn));return}if(typeof rtn=="bigint"){rtn=bigintToI53Checked(rtn)}return rtn}var __emscripten_runtime_keepalive_clear=()=>{noExitRuntime=false;runtimeKeepaliveCounter=0};function __emscripten_thread_cleanup(thread){thread=bigintToI53Checked(thread);if(!ENVIRONMENT_IS_PTHREAD)cleanupThread(thread);else postMessage({cmd:"cleanupThread",thread})}function __emscripten_thread_set_strongref(thread){thread=bigintToI53Checked(thread)}var stringToUTF8Array=(str,heap,outIdx,maxBytesToWrite)=>{if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.codePointAt(i);if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63;i++}}heap[outIdx]=0;return outIdx-startIdx};var stringToUTF8=(str,outPtr,maxBytesToWrite)=>stringToUTF8Array(str,(growMemViews(),HEAPU8),outPtr,maxBytesToWrite);var __tzset_js=function(timezone,daylight,std_name,dst_name){timezone=bigintToI53Checked(timezone);daylight=bigintToI53Checked(daylight);std_name=bigintToI53Checked(std_name);dst_name=bigintToI53Checked(dst_name);var currentYear=(new Date).getFullYear();var winter=new Date(currentYear,0,1);var summer=new Date(currentYear,6,1);var winterOffset=winter.getTimezoneOffset();var summerOffset=summer.getTimezoneOffset();var stdTimezoneOffset=Math.max(winterOffset,summerOffset);(growMemViews(),HEAPU64)[timezone/8]=BigInt(stdTimezoneOffset*60);(growMemViews(),HEAP32)[daylight/4]=Number(winterOffset!=summerOffset);var extractZone=timezoneOffset=>{var sign=timezoneOffset>=0?"-":"+";var absOffset=Math.abs(timezoneOffset);var hours=String(Math.floor(absOffset/60)).padStart(2,"0");var minutes=String(absOffset%60).padStart(2,"0");return`UTC${sign}${hours}${minutes}`};var winterName=extractZone(winterOffset);var summerName=extractZone(summerOffset);if(summerOffset<winterOffset){stringToUTF8(winterName,std_name,17);stringToUTF8(summerName,dst_name,17)}else{stringToUTF8(winterName,dst_name,17);stringToUTF8(summerName,std_name,17)}};function __wasmfs_copy_preloaded_file_data(index,buffer){buffer=bigintToI53Checked(buffer);return(growMemViews(),HEAPU8).set(wasmFSPreloadedFiles[index].fileData,buffer)}var wasmFS$backends={};var wasmFS$JSMemoryRanges={};var UTF8Decoder=globalThis.TextDecoder&&new TextDecoder;var findStringEnd=(heapOrArray,idx,maxBytesToRead,ignoreNul)=>{var maxIdx=idx+maxBytesToRead;if(ignoreNul)return maxIdx;while(heapOrArray[idx]&&!(idx>=maxIdx))++idx;return idx};var UTF8ArrayToString=(heapOrArray,idx=0,maxBytesToRead,ignoreNul)=>{var endPtr=findStringEnd(heapOrArray,idx,maxBytesToRead,ignoreNul);if(endPtr-idx>16&&heapOrArray.buffer&&UTF8Decoder){return UTF8Decoder.decode(heapOrArray.buffer instanceof ArrayBuffer?heapOrArray.subarray(idx,endPtr):heapOrArray.slice(idx,endPtr))}var str="";while(idx<endPtr){var u0=heapOrArray[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heapOrArray[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heapOrArray[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heapOrArray[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}return str};var UTF8ToString=(ptr,maxBytesToRead,ignoreNul)=>ptr?UTF8ArrayToString((growMemViews(),HEAPU8),ptr,maxBytesToRead,ignoreNul):"";async function __wasmfs_create_fetch_backend_js(backend){backend=bigintToI53Checked(backend);async function getFileRange(file,offset,len){var url="";var fileUrl_p=__wasmfs_fetch_get_file_url(file);var fileUrl=UTF8ToString(fileUrl_p);var isAbs=fileUrl.indexOf("://")!==-1;if(isAbs){url=fileUrl}else{try{var u=new URL(fileUrl,self.location.origin);url=u.toString()}catch(_e){throw{status:404}}}var chunkSize=__wasmfs_fetch_get_chunk_size(file);offset??=0;len??=chunkSize;if(!(file in wasmFS$JSMemoryRanges)){var fileInfo=await fetch(url,{method:"HEAD",headers:{Range:"bytes=0-"}});if(fileInfo.ok&&fileInfo.headers.has("Content-Length")&&fileInfo.headers.get("Accept-Ranges")=="bytes"&&parseInt(fileInfo.headers.get("Content-Length"),10)>chunkSize*2){var size=parseInt(fileInfo.headers.get("Content-Length"),10);wasmFS$JSMemoryRanges[file]={size,chunks:[],chunkSize};len=Math.min(len,size-offset)}else{var wholeFileReq=await fetch(url);if(!wholeFileReq.ok){throw wholeFileReq}var wholeFileData=new Uint8Array(await wholeFileReq.arrayBuffer());wasmFS$JSMemoryRanges[file]={size:wholeFileData.byteLength,chunks:[wholeFileData],chunkSize:wholeFileData.byteLength};return}}var firstChunk=offset/chunkSize|0;var lastChunk=(offset+len-1)/chunkSize|0;var allPresent=true;var i;for(i=firstChunk;i<=lastChunk;i++){if(!wasmFS$JSMemoryRanges[file].chunks[i]){allPresent=false;break}}if(allPresent){return}var start=firstChunk*chunkSize;var end=(lastChunk+1)*chunkSize;var response=await fetch(url,{headers:{Range:`bytes=${start}-${end-1}`}});if(!response.ok){throw response}var bytes=new Uint8Array(await response["arrayBuffer"]());for(i=firstChunk;i<=lastChunk;i++){wasmFS$JSMemoryRanges[file].chunks[i]=bytes.slice(i*chunkSize-start,(i+1)*chunkSize-start)}}wasmFS$backends[backend]={allocFile:async file=>{},freeFile:async file=>{wasmFS$JSMemoryRanges[file]=undefined},write:async(file,buffer,length,offset)=>{console.error("TODO: file writing in fetch backend? read-only for now")},read:async(file,buffer,length,offset)=>{if(offset<0||length<=0){return 0}try{await getFileRange(file,offset||0,length)}catch(failedResponse){return failedResponse.status===404?-44:-8}var fileInfo=wasmFS$JSMemoryRanges[file];length=Math.min(length,fileInfo.size-offset);if(length<=0){return 0}var chunks=fileInfo.chunks;var chunkSize=fileInfo.chunkSize;var firstChunk=offset/chunkSize|0;var lastChunk=(offset+length-1)/chunkSize|0;var readLength=0;for(var i=firstChunk;i<=lastChunk;i++){var chunk=chunks[i];var start=Math.max(i*chunkSize,offset);var chunkStart=i*chunkSize;var end=Math.min(chunkStart+chunkSize,offset+length);(growMemViews(),HEAPU8).set(chunk.subarray(start-chunkStart,end-chunkStart),buffer+(start-offset));readLength=end-offset}return readLength},getSize:async file=>{try{await getFileRange(file,0,0)}catch(failedResponse){return 0}return wasmFS$JSMemoryRanges[file].size}}}var wasmFSPreloadedDirs=[];var __wasmfs_get_num_preloaded_dirs=()=>wasmFSPreloadedDirs.length;var wasmFSPreloadedFiles=[];var wasmFSPreloadingFlushed=false;var __wasmfs_get_num_preloaded_files=()=>{wasmFSPreloadingFlushed=true;return wasmFSPreloadedFiles.length};function __wasmfs_get_preloaded_child_path(index,childNameBuffer){childNameBuffer=bigintToI53Checked(childNameBuffer);var s=wasmFSPreloadedDirs[index].childName;var len=lengthBytesUTF8(s)+1;stringToUTF8(s,childNameBuffer,len)}var __wasmfs_get_preloaded_file_mode=index=>wasmFSPreloadedFiles[index].mode;var __wasmfs_get_preloaded_file_size=index=>BigInt(wasmFSPreloadedFiles[index].fileData.length);function __wasmfs_get_preloaded_parent_path(index,parentPathBuffer){parentPathBuffer=bigintToI53Checked(parentPathBuffer);var s=wasmFSPreloadedDirs[index].parentPath;var len=lengthBytesUTF8(s)+1;stringToUTF8(s,parentPathBuffer,len)}var lengthBytesUTF8=str=>{var len=0;for(var i=0;i<str.length;++i){var c=str.charCodeAt(i);if(c<=127){len++}else if(c<=2047){len+=2}else if(c>=55296&&c<=57343){len+=4;++i}else{len+=3}}return len};function __wasmfs_get_preloaded_path_name(index,fileNameBuffer){fileNameBuffer=bigintToI53Checked(fileNameBuffer);var s=wasmFSPreloadedFiles[index].pathName;var len=lengthBytesUTF8(s)+1;stringToUTF8(s,fileNameBuffer,len)}function __wasmfs_jsimpl_alloc_file(backend,file){backend=bigintToI53Checked(backend);file=bigintToI53Checked(file);return wasmFS$backends[backend].allocFile(file)}async function __wasmfs_jsimpl_async_alloc_file(ctx,backend,file){ctx=bigintToI53Checked(ctx);backend=bigintToI53Checked(backend);file=bigintToI53Checked(file);await wasmFS$backends[backend].allocFile(file);_emscripten_proxy_finish(ctx)}async function __wasmfs_jsimpl_async_free_file(ctx,backend,file){ctx=bigintToI53Checked(ctx);backend=bigintToI53Checked(backend);file=bigintToI53Checked(file);await wasmFS$backends[backend].freeFile(file);_emscripten_proxy_finish(ctx)}async function __wasmfs_jsimpl_async_get_size(ctx,backend,file,size_p){ctx=bigintToI53Checked(ctx);backend=bigintToI53Checked(backend);file=bigintToI53Checked(file);size_p=bigintToI53Checked(size_p);var size=await wasmFS$backends[backend].getSize(file);(growMemViews(),HEAP64)[size_p/8]=BigInt(size);_emscripten_proxy_finish(ctx)}async function __wasmfs_jsimpl_async_read(ctx,backend,file,buffer,length,offset,result_p){ctx=bigintToI53Checked(ctx);backend=bigintToI53Checked(backend);file=bigintToI53Checked(file);buffer=bigintToI53Checked(buffer);length=bigintToI53Checked(length);offset=bigintToI53Checked(offset);result_p=bigintToI53Checked(result_p);var result=await wasmFS$backends[backend].read(file,buffer,length,offset);(growMemViews(),HEAPU64)[result_p/8]=BigInt(result);_emscripten_proxy_finish(ctx)}async function __wasmfs_jsimpl_async_write(ctx,backend,file,buffer,length,offset,result_p){ctx=bigintToI53Checked(ctx);backend=bigintToI53Checked(backend);file=bigintToI53Checked(file);buffer=bigintToI53Checked(buffer);length=bigintToI53Checked(length);offset=bigintToI53Checked(offset);result_p=bigintToI53Checked(result_p);var result=await wasmFS$backends[backend].write(file,buffer,length,offset);(growMemViews(),HEAPU64)[result_p/8]=BigInt(result);_emscripten_proxy_finish(ctx)}function __wasmfs_jsimpl_free_file(backend,file){backend=bigintToI53Checked(backend);file=bigintToI53Checked(file);return wasmFS$backends[backend].freeFile(file)}function __wasmfs_jsimpl_get_size(backend,file){backend=bigintToI53Checked(backend);file=bigintToI53Checked(file);return wasmFS$backends[backend].getSize(file)}function __wasmfs_jsimpl_read(backend,file,buffer,length,offset){backend=bigintToI53Checked(backend);file=bigintToI53Checked(file);buffer=bigintToI53Checked(buffer);length=bigintToI53Checked(length);offset=bigintToI53Checked(offset);if(!wasmFS$backends[backend].read){return-28}return wasmFS$backends[backend].read(file,buffer,length,offset)}function __wasmfs_jsimpl_set_size(backend,file,size){backend=bigintToI53Checked(backend);file=bigintToI53Checked(file);size=bigintToI53Checked(size);return wasmFS$backends[backend].setSize(file,size)}function __wasmfs_jsimpl_write(backend,file,buffer,length,offset){backend=bigintToI53Checked(backend);file=bigintToI53Checked(file);buffer=bigintToI53Checked(buffer);length=bigintToI53Checked(length);offset=bigintToI53Checked(offset);if(!wasmFS$backends[backend].write){return-28}return wasmFS$backends[backend].write(file,buffer,length,offset)}var FS_stdin_getChar_buffer=[];var intArrayFromString=(stringy,dontAddNull,length)=>{var len=length>0?length:lengthBytesUTF8(stringy)+1;var u8array=new Array(len);var numBytesWritten=stringToUTF8Array(stringy,u8array,0,u8array.length);if(dontAddNull)u8array.length=numBytesWritten;return u8array};var FS_stdin_getChar=()=>{if(!FS_stdin_getChar_buffer.length){var result=null;if(globalThis.window?.prompt){result=window.prompt("Input: ");if(result!==null){result+="\n"}}else{}if(!result){return null}FS_stdin_getChar_buffer=intArrayFromString(result,true)}return FS_stdin_getChar_buffer.shift()};var __wasmfs_stdin_get_char=()=>{var c=FS_stdin_getChar();if(typeof c==="number"){return c}return-1};var __wasmfs_thread_utils_heartbeat=function(queue){queue=bigintToI53Checked(queue);var intervalID=setInterval(()=>{if(ABORT){clearInterval(intervalID)}else{_emscripten_proxy_execute_queue(queue)}},50)};var _emscripten_get_now=()=>performance.timeOrigin+performance.now();var _emscripten_date_now=()=>Date.now();var nowIsMonotonic=1;var checkWasiClock=clock_id=>clock_id>=0&&clock_id<=3;function _clock_time_get(clk_id,ignored_precision,ptime){ignored_precision=bigintToI53Checked(ignored_precision);ptime=bigintToI53Checked(ptime);if(!checkWasiClock(clk_id)){return 28}var now;if(clk_id===0){now=_emscripten_date_now()}else if(nowIsMonotonic){now=_emscripten_get_now()}else{return 52}var nsec=Math.round(now*1e3*1e3);(growMemViews(),HEAP64)[ptime/8]=BigInt(nsec);return 0}var _emscripten_check_blocking_allowed=()=>{};function _emscripten_err(str){str=bigintToI53Checked(str);return err(UTF8ToString(str))}var runtimeKeepalivePush=()=>{runtimeKeepaliveCounter+=1};var _emscripten_exit_with_live_runtime=()=>{runtimeKeepalivePush();throw"unwind"};var getHeapMax=()=>12884901888;var _emscripten_get_heap_max=()=>BigInt(getHeapMax());var _emscripten_has_asyncify=()=>1;var _emscripten_num_logical_cores=()=>navigator["hardwareConcurrency"];function _emscripten_out(str){str=bigintToI53Checked(str);return out(UTF8ToString(str))}var alignMemory=(size,alignment)=>Math.ceil(size/alignment)*alignment;var growMemory=size=>{var oldHeapSize=wasmMemory.buffer.byteLength;var pages=(size-oldHeapSize+65535)/65536|0;try{wasmMemory.grow(BigInt(pages));updateMemoryViews();return 1}catch(e){}};function _emscripten_resize_heap(requestedSize){requestedSize=bigintToI53Checked(requestedSize);var oldSize=(growMemViews(),HEAPU8).length;if(requestedSize<=oldSize){return false}var maxHeapSize=getHeapMax();if(requestedSize>maxHeapSize){return false}for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignMemory(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=growMemory(newSize);if(replacement){return true}}return false}var _emscripten_unwind_to_js_event_loop=()=>{throw"unwind"};var stringToUTF8OnStack=str=>{var size=lengthBytesUTF8(str)+1;var ret=stackAlloc(size);stringToUTF8(str,ret,size);return ret};var stringToNewUTF8=str=>{var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8(str,ret,size);return ret};var WebGPU={Internals:{jsObjects:[],jsObjectInsert:(ptr,jsObject)=>{WebGPU.Internals.jsObjects[ptr]=jsObject},bufferOnUnmaps:[],futures:[],futureInsert:(futureId,promise)=>{WebGPU.Internals.futures[futureId]=new Promise(resolve=>promise.finally(()=>resolve(futureId)))}},getJsObject:ptr=>{if(!ptr)return undefined;return WebGPU.Internals.jsObjects[ptr]},importJsAdapter:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateAdapter(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsBindGroup:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateBindGroup(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsBindGroupLayout:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateBindGroupLayout(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsBuffer:(buffer,parentPtr=0)=>{assert(buffer.mapState!="pending");var mapState=buffer.mapState=="mapped"?3:1;var bufferPtr=_emwgpuCreateBuffer(parentPtr,mapState);WebGPU.Internals.jsObjectInsert(bufferPtr,buffer);if(buffer.mapState=="mapped"){WebGPU.Internals.bufferOnUnmaps[bufferPtr]=[]}return bufferPtr},importJsCommandBuffer:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateCommandBuffer(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsCommandEncoder:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateCommandEncoder(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsComputePassEncoder:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateComputePassEncoder(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsComputePipeline:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateComputePipeline(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsDevice:(device,parentPtr=0)=>{var queuePtr=_emwgpuCreateQueue(parentPtr);var devicePtr=_emwgpuCreateDevice(parentPtr,queuePtr);WebGPU.Internals.jsObjectInsert(queuePtr,device.queue);WebGPU.Internals.jsObjectInsert(devicePtr,device);return devicePtr},importJsPipelineLayout:(obj,parentPtr=0)=>{var ptr=_emwgpuCreatePipelineLayout(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsQuerySet:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateQuerySet(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsQueue:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateQueue(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsRenderBundle:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateRenderBundle(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsRenderBundleEncoder:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateRenderBundleEncoder(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsRenderPassEncoder:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateRenderPassEncoder(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsRenderPipeline:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateRenderPipeline(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsSampler:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateSampler(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsShaderModule:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateShaderModule(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsSurface:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateSurface(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsTexture:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateTexture(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},importJsTextureView:(obj,parentPtr=0)=>{var ptr=_emwgpuCreateTextureView(parentPtr);WebGPU.Internals.jsObjects[ptr]=obj;return ptr},errorCallback:(callback,type,message,userdata)=>{var sp=stackSave();var messagePtr=stringToUTF8OnStack(message);((a1,a2,a3)=>dynCall_vijj(callback,a1,BigInt(a2),BigInt(a3)))(type,BigInt(messagePtr),userdata);stackRestore(sp)},setStringView:(ptr,data,length)=>{(growMemViews(),HEAPU64)[ptr/8]=BigInt(data);(growMemViews(),HEAPU64)[(ptr+8)/8]=BigInt(length)},makeStringFromStringView:stringViewPtr=>{var ptr=Number((growMemViews(),HEAPU64)[stringViewPtr/8]);var length=Number((growMemViews(),HEAPU64)[(stringViewPtr+8)/8]);return UTF8ToString(ptr,length)},makeStringFromOptionalStringView:stringViewPtr=>{var ptr=Number((growMemViews(),HEAPU64)[stringViewPtr/8]);var length=Number((growMemViews(),HEAPU64)[(stringViewPtr+8)/8]);if(!ptr){if(length===0){return""}return undefined}return UTF8ToString(ptr,length)},makeColor:ptr=>({r:(growMemViews(),HEAPF64)[ptr/8],g:(growMemViews(),HEAPF64)[(ptr+8)/8],b:(growMemViews(),HEAPF64)[(ptr+16)/8],a:(growMemViews(),HEAPF64)[(ptr+24)/8]}),makeExtent3D:ptr=>({width:(growMemViews(),HEAPU32)[ptr/4],height:(growMemViews(),HEAPU32)[(ptr+4)/4],depthOrArrayLayers:(growMemViews(),HEAPU32)[(ptr+8)/4]}),makeOrigin3D:ptr=>({x:(growMemViews(),HEAPU32)[ptr/4],y:(growMemViews(),HEAPU32)[(ptr+4)/4],z:(growMemViews(),HEAPU32)[(ptr+8)/4]}),makeTexelCopyTextureInfo:ptr=>({texture:WebGPU.getJsObject(Number((growMemViews(),HEAPU64)[ptr/8])),mipLevel:(growMemViews(),HEAPU32)[(ptr+8)/4],origin:WebGPU.makeOrigin3D(ptr+12),aspect:WebGPU.TextureAspect[(growMemViews(),HEAPU32)[(ptr+24)/4]]}),makeTexelCopyBufferLayout:ptr=>{var bytesPerRow=(growMemViews(),HEAPU32)[(ptr+8)/4];var rowsPerImage=(growMemViews(),HEAPU32)[(ptr+12)/4];return{offset:(growMemViews(),HEAPU32)[(ptr+4)/4]*4294967296+(growMemViews(),HEAPU32)[ptr/4],bytesPerRow:bytesPerRow===4294967295?undefined:bytesPerRow,rowsPerImage:rowsPerImage===4294967295?undefined:rowsPerImage}},makeTexelCopyBufferInfo:ptr=>{var layoutPtr=ptr+0;var bufferCopyView=WebGPU.makeTexelCopyBufferLayout(layoutPtr);bufferCopyView["buffer"]=WebGPU.getJsObject(Number((growMemViews(),HEAPU64)[(ptr+16)/8]));return bufferCopyView},makePassTimestampWrites:ptr=>{if(ptr===0)return undefined;return{querySet:WebGPU.getJsObject(Number((growMemViews(),HEAPU64)[(ptr+8)/8])),beginningOfPassWriteIndex:(growMemViews(),HEAPU32)[(ptr+16)/4],endOfPassWriteIndex:(growMemViews(),HEAPU32)[(ptr+20)/4]}},makePipelineConstants:(constantCount,constantsPtr)=>{if(!constantCount)return;var constants={};for(var i=0;i<constantCount;++i){var entryPtr=constantsPtr+32*i;var key=WebGPU.makeStringFromStringView(entryPtr+8);constants[key]=(growMemViews(),HEAPF64)[(entryPtr+24)/8]}return constants},makePipelineLayout:layoutPtr=>{if(!layoutPtr)return"auto";return WebGPU.getJsObject(layoutPtr)},makeComputeState:ptr=>{if(!ptr)return undefined;var desc={module:WebGPU.getJsObject(Number((growMemViews(),HEAPU64)[(ptr+8)/8])),constants:WebGPU.makePipelineConstants((growMemViews(),HEAPU32)[(ptr+32)/4],Number((growMemViews(),HEAPU64)[(ptr+40)/8])),entryPoint:WebGPU.makeStringFromOptionalStringView(ptr+16)};return desc},makeComputePipelineDesc:descriptor=>{var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+8),layout:WebGPU.makePipelineLayout(Number((growMemViews(),HEAPU64)[(descriptor+24)/8])),compute:WebGPU.makeComputeState(descriptor+32)};return desc},makeRenderPipelineDesc:descriptor=>{function makePrimitiveState(psPtr){if(!psPtr)return undefined;return{topology:WebGPU.PrimitiveTopology[(growMemViews(),HEAPU32)[(psPtr+8)/4]],stripIndexFormat:WebGPU.IndexFormat[(growMemViews(),HEAPU32)[(psPtr+12)/4]],frontFace:WebGPU.FrontFace[(growMemViews(),HEAPU32)[(psPtr+16)/4]],cullMode:WebGPU.CullMode[(growMemViews(),HEAPU32)[(psPtr+20)/4]],unclippedDepth:!!(growMemViews(),HEAPU32)[(psPtr+24)/4]}}function makeBlendComponent(bdPtr){if(!bdPtr)return undefined;return{operation:WebGPU.BlendOperation[(growMemViews(),HEAPU32)[bdPtr/4]],srcFactor:WebGPU.BlendFactor[(growMemViews(),HEAPU32)[(bdPtr+4)/4]],dstFactor:WebGPU.BlendFactor[(growMemViews(),HEAPU32)[(bdPtr+8)/4]]}}function makeBlendState(bsPtr){if(!bsPtr)return undefined;return{alpha:makeBlendComponent(bsPtr+12),color:makeBlendComponent(bsPtr+0)}}function makeColorState(csPtr){var formatInt=(growMemViews(),HEAPU32)[(csPtr+8)/4];return formatInt===0?undefined:{format:WebGPU.TextureFormat[formatInt],blend:makeBlendState(Number((growMemViews(),HEAPU64)[(csPtr+16)/8])),writeMask:(growMemViews(),HEAPU32)[(csPtr+24)/4]}}function makeColorStates(count,csArrayPtr){var states=[];for(var i=0;i<count;++i){states.push(makeColorState(csArrayPtr+32*i))}return states}function makeStencilStateFace(ssfPtr){return{compare:WebGPU.CompareFunction[(growMemViews(),HEAPU32)[ssfPtr/4]],failOp:WebGPU.StencilOperation[(growMemViews(),HEAPU32)[(ssfPtr+4)/4]],depthFailOp:WebGPU.StencilOperation[(growMemViews(),HEAPU32)[(ssfPtr+8)/4]],passOp:WebGPU.StencilOperation[(growMemViews(),HEAPU32)[(ssfPtr+12)/4]]}}function makeDepthStencilState(dssPtr){if(!dssPtr)return undefined;return{format:WebGPU.TextureFormat[(growMemViews(),HEAPU32)[(dssPtr+8)/4]],depthWriteEnabled:!!(growMemViews(),HEAPU32)[(dssPtr+12)/4],depthCompare:WebGPU.CompareFunction[(growMemViews(),HEAPU32)[(dssPtr+16)/4]],stencilFront:makeStencilStateFace(dssPtr+20),stencilBack:makeStencilStateFace(dssPtr+36),stencilReadMask:(growMemViews(),HEAPU32)[(dssPtr+52)/4],stencilWriteMask:(growMemViews(),HEAPU32)[(dssPtr+56)/4],depthBias:(growMemViews(),HEAP32)[(dssPtr+60)/4],depthBiasSlopeScale:(growMemViews(),HEAPF32)[(dssPtr+64)/4],depthBiasClamp:(growMemViews(),HEAPF32)[(dssPtr+68)/4]}}function makeVertexAttribute(vaPtr){return{format:WebGPU.VertexFormat[(growMemViews(),HEAPU32)[(vaPtr+8)/4]],offset:(growMemViews(),HEAPU32)[(vaPtr+4+16)/4]*4294967296+(growMemViews(),HEAPU32)[(vaPtr+16)/4],shaderLocation:(growMemViews(),HEAPU32)[(vaPtr+24)/4]}}function makeVertexAttributes(count,vaArrayPtr){var vas=[];for(var i=0;i<count;++i){vas.push(makeVertexAttribute(vaArrayPtr+i*32))}return vas}function makeVertexBuffer(vbPtr){if(!vbPtr)return undefined;var stepModeInt=(growMemViews(),HEAPU32)[(vbPtr+8)/4];var attributeCountInt=(growMemViews(),HEAPU32)[(vbPtr+24)/4];if(stepModeInt===0&&attributeCountInt===0){return null}return{arrayStride:(growMemViews(),HEAPU32)[(vbPtr+4+16)/4]*4294967296+(growMemViews(),HEAPU32)[(vbPtr+16)/4],stepMode:WebGPU.VertexStepMode[stepModeInt],attributes:makeVertexAttributes(attributeCountInt,Number((growMemViews(),HEAPU64)[(vbPtr+32)/8]))}}function makeVertexBuffers(count,vbArrayPtr){if(!count)return undefined;var vbs=[];for(var i=0;i<count;++i){vbs.push(makeVertexBuffer(vbArrayPtr+i*40))}return vbs}function makeVertexState(viPtr){if(!viPtr)return undefined;var desc={module:WebGPU.getJsObject(Number((growMemViews(),HEAPU64)[(viPtr+8)/8])),constants:WebGPU.makePipelineConstants((growMemViews(),HEAPU32)[(viPtr+32)/4],Number((growMemViews(),HEAPU64)[(viPtr+40)/8])),buffers:makeVertexBuffers((growMemViews(),HEAPU32)[(viPtr+48)/4],Number((growMemViews(),HEAPU64)[(viPtr+56)/8])),entryPoint:WebGPU.makeStringFromOptionalStringView(viPtr+16)};return desc}function makeMultisampleState(msPtr){if(!msPtr)return undefined;return{count:(growMemViews(),HEAPU32)[(msPtr+8)/4],mask:(growMemViews(),HEAPU32)[(msPtr+12)/4],alphaToCoverageEnabled:!!(growMemViews(),HEAPU32)[(msPtr+16)/4]}}function makeFragmentState(fsPtr){if(!fsPtr)return undefined;var desc={module:WebGPU.getJsObject(Number((growMemViews(),HEAPU64)[(fsPtr+8)/8])),constants:WebGPU.makePipelineConstants((growMemViews(),HEAPU32)[(fsPtr+32)/4],Number((growMemViews(),HEAPU64)[(fsPtr+40)/8])),targets:makeColorStates((growMemViews(),HEAPU32)[(fsPtr+48)/4],Number((growMemViews(),HEAPU64)[(fsPtr+56)/8])),entryPoint:WebGPU.makeStringFromOptionalStringView(fsPtr+16)};return desc}var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+8),layout:WebGPU.makePipelineLayout(Number((growMemViews(),HEAPU64)[(descriptor+24)/8])),vertex:makeVertexState(descriptor+32),primitive:makePrimitiveState(descriptor+96),depthStencil:makeDepthStencilState(Number((growMemViews(),HEAPU64)[(descriptor+128)/8])),multisample:makeMultisampleState(descriptor+136),fragment:makeFragmentState(Number((growMemViews(),HEAPU64)[(descriptor+160)/8]))};return desc},fillLimitStruct:(limits,limitsOutPtr)=>{function setLimitValueU32(name,limitOffset){var limitValue=limits[name];(growMemViews(),HEAP32)[(limitsOutPtr+limitOffset)/4]=limitValue}function setLimitValueU64(name,limitOffset){var limitValue=limits[name];(growMemViews(),HEAP64)[(limitsOutPtr+limitOffset)/8]=BigInt(limitValue)}setLimitValueU32("maxTextureDimension1D",8);setLimitValueU32("maxTextureDimension2D",12);setLimitValueU32("maxTextureDimension3D",16);setLimitValueU32("maxTextureArrayLayers",20);setLimitValueU32("maxBindGroups",24);setLimitValueU32("maxBindGroupsPlusVertexBuffers",28);setLimitValueU32("maxBindingsPerBindGroup",32);setLimitValueU32("maxDynamicUniformBuffersPerPipelineLayout",36);setLimitValueU32("maxDynamicStorageBuffersPerPipelineLayout",40);setLimitValueU32("maxSampledTexturesPerShaderStage",44);setLimitValueU32("maxSamplersPerShaderStage",48);setLimitValueU32("maxStorageBuffersPerShaderStage",52);setLimitValueU32("maxStorageTexturesPerShaderStage",56);setLimitValueU32("maxUniformBuffersPerShaderStage",60);setLimitValueU32("minUniformBufferOffsetAlignment",80);setLimitValueU32("minStorageBufferOffsetAlignment",84);setLimitValueU64("maxUniformBufferBindingSize",64);setLimitValueU64("maxStorageBufferBindingSize",72);setLimitValueU32("maxVertexBuffers",88);setLimitValueU64("maxBufferSize",96);setLimitValueU32("maxVertexAttributes",104);setLimitValueU32("maxVertexBufferArrayStride",108);setLimitValueU32("maxInterStageShaderVariables",112);setLimitValueU32("maxColorAttachments",116);setLimitValueU32("maxColorAttachmentBytesPerSample",120);setLimitValueU32("maxComputeWorkgroupStorageSize",124);setLimitValueU32("maxComputeInvocationsPerWorkgroup",128);setLimitValueU32("maxComputeWorkgroupSizeX",132);setLimitValueU32("maxComputeWorkgroupSizeY",136);setLimitValueU32("maxComputeWorkgroupSizeZ",140);setLimitValueU32("maxComputeWorkgroupsPerDimension",144);if(limits.maxImmediateSize!==undefined){setLimitValueU32("maxImmediateSize",148)}},fillAdapterInfoStruct:(info,infoStruct)=>{(growMemViews(),HEAP32)[(infoStruct+88)/4]=info.subgroupMinSize;(growMemViews(),HEAP32)[(infoStruct+92)/4]=info.subgroupMaxSize;var strs=info.vendor+info.architecture+info.device+info.description;var strPtr=stringToNewUTF8(strs);var vendorLen=lengthBytesUTF8(info.vendor);WebGPU.setStringView(infoStruct+8,strPtr,vendorLen);strPtr+=vendorLen;var architectureLen=lengthBytesUTF8(info.architecture);WebGPU.setStringView(infoStruct+24,strPtr,architectureLen);strPtr+=architectureLen;var deviceLen=lengthBytesUTF8(info.device);WebGPU.setStringView(infoStruct+40,strPtr,deviceLen);strPtr+=deviceLen;var descriptionLen=lengthBytesUTF8(info.description);WebGPU.setStringView(infoStruct+56,strPtr,descriptionLen);strPtr+=descriptionLen;(growMemViews(),HEAP32)[(infoStruct+72)/4]=2;var adapterType=info.isFallbackAdapter?3:4;(growMemViews(),HEAP32)[(infoStruct+76)/4]=adapterType;(growMemViews(),HEAP32)[(infoStruct+80)/4]=0;(growMemViews(),HEAP32)[(infoStruct+84)/4]=0},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:[,"unmapped","pending","mapped"],CompareFunction:[,"never","less","equal","less-equal","greater","not-equal","greater-equal","always"],CompilationInfoRequestStatus:[,"success","callback-cancelled"],CompositeAlphaMode:[,"opaque","premultiplied","unpremultiplied","inherit"],CullMode:[,"none","front","back"],ErrorFilter:[,"validation","out-of-memory","internal"],FeatureLevel:[,"compatibility","core"],FeatureName:{1:"core-features-and-limits",2:"depth-clip-control",3:"depth32float-stencil8",4:"texture-compression-bc",5:"texture-compression-bc-sliced-3d",6:"texture-compression-etc2",7:"texture-compression-astc",8:"texture-compression-astc-sliced-3d",9:"timestamp-query",10:"indirect-first-instance",11:"shader-f16",12:"rg11b10ufloat-renderable",13:"bgra8unorm-storage",14:"float32-filterable",15:"float32-blendable",16:"clip-distances",17:"dual-source-blending",18:"subgroups",19:"texture-formats-tier1",20:"texture-formats-tier2",21:"primitive-index",327692:"chromium-experimental-unorm16-texture-formats",327693:"chromium-experimental-snorm16-texture-formats",327732:"chromium-experimental-multi-draw-indirect"},FilterMode:[,"nearest","linear"],FrontFace:[,"ccw","cw"],IndexFormat:[,"uint16","uint32"],InstanceFeatureName:[,"timed-wait-any","shader-source-spirv","multiple-devices-per-adapter"],LoadOp:[,"load","clear"],MipmapFilterMode:[,"nearest","linear"],OptionalBool:["false","true"],PowerPreference:[,"low-power","high-performance"],PredefinedColorSpace:[,"srgb","display-p3"],PrimitiveTopology:[,"point-list","line-list","line-strip","triangle-list","triangle-strip"],QueryType:[,"occlusion","timestamp"],SamplerBindingType:["binding-not-used",,"filtering","non-filtering","comparison"],Status:[,"success","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:[,"success-optimal","success-suboptimal","timeout","outdated","lost","error"],TextureAspect:[,"all","stencil-only","depth-only"],TextureDimension:[,"1d","2d","3d"],TextureFormat:[,"r8unorm","r8snorm","r8uint","r8sint","r16unorm","r16snorm","r16uint","r16sint","r16float","rg8unorm","rg8snorm","rg8uint","rg8sint","r32float","r32uint","r32sint","rg16unorm","rg16snorm","rg16uint","rg16sint","rg16float","rgba8unorm","rgba8unorm-srgb","rgba8snorm","rgba8uint","rgba8sint","bgra8unorm","bgra8unorm-srgb","rgb10a2uint","rgb10a2unorm","rg11b10ufloat","rgb9e5ufloat","rg32float","rg32uint","rg32sint","rgba16unorm","rgba16snorm","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"],ToneMappingMode:[,"standard","extended"],VertexFormat:[,"uint8","uint8x2","uint8x4","sint8","sint8x2","sint8x4","unorm8","unorm8x2","unorm8x4","snorm8","snorm8x2","snorm8x4","uint16","uint16x2","uint16x4","sint16","sint16x2","sint16x4","unorm16","unorm16x2","unorm16x4","snorm16","snorm16x2","snorm16x4","float16","float16x2","float16x4","float32","float32x2","float32x3","float32x4","uint32","uint32x2","uint32x3","uint32x4","sint32","sint32x2","sint32x3","sint32x4","unorm10-10-10-2","unorm8x4-bgra"],VertexStepMode:[,"vertex","instance"],WGSLLanguageFeatureName:[,"readonly_and_readwrite_storage_textures","packed_4x8_integer_dot_product","unrestricted_pointer_parameters","pointer_composite_access"]};var emwgpuStringToInt_DeviceLostReason={undefined:1,unknown:1,destroyed:2};var runtimeKeepalivePop=()=>{runtimeKeepaliveCounter-=1};function _emwgpuAdapterRequestDevice(adapterPtr,futureId,deviceLostFutureId,devicePtr,queuePtr,descriptor){adapterPtr=bigintToI53Checked(adapterPtr);futureId=bigintToI53Checked(futureId);deviceLostFutureId=bigintToI53Checked(deviceLostFutureId);devicePtr=bigintToI53Checked(devicePtr);queuePtr=bigintToI53Checked(queuePtr);descriptor=bigintToI53Checked(descriptor);var adapter=WebGPU.getJsObject(adapterPtr);var desc={};if(descriptor){var requiredFeatureCount=(growMemViews(),HEAPU32)[(descriptor+24)/4];if(requiredFeatureCount){var requiredFeaturesPtr=Number((growMemViews(),HEAPU64)[(descriptor+32)/8]);desc["requiredFeatures"]=Array.from((growMemViews(),HEAPU32).subarray(requiredFeaturesPtr/4,(requiredFeaturesPtr+requiredFeatureCount*4)/4),feature=>WebGPU.FeatureName[feature])}var limitsPtr=Number((growMemViews(),HEAPU64)[(descriptor+40)/8]);if(limitsPtr){var requiredLimits={};function setLimitU32IfDefined(name,limitOffset,ignoreIfZero=false){var ptr=limitsPtr+limitOffset;var value=(growMemViews(),HEAPU32)[ptr/4];if(value!=4294967295&&(!ignoreIfZero||value!=0)){requiredLimits[name]=value}}function setLimitU64IfDefined(name,limitOffset){var ptr=limitsPtr+limitOffset;var limitPart1=(growMemViews(),HEAPU32)[ptr/4];var limitPart2=(growMemViews(),HEAPU32)[(ptr+4)/4];if(limitPart1!=4294967295||limitPart2!=4294967295){requiredLimits[name]=(growMemViews(),HEAPU32)[(ptr+4)/4]*4294967296+(growMemViews(),HEAPU32)[ptr/4]}}setLimitU32IfDefined("maxTextureDimension1D",8);setLimitU32IfDefined("maxTextureDimension2D",12);setLimitU32IfDefined("maxTextureDimension3D",16);setLimitU32IfDefined("maxTextureArrayLayers",20);setLimitU32IfDefined("maxBindGroups",24);setLimitU32IfDefined("maxBindGroupsPlusVertexBuffers",28);setLimitU32IfDefined("maxDynamicUniformBuffersPerPipelineLayout",36);setLimitU32IfDefined("maxDynamicStorageBuffersPerPipelineLayout",40);setLimitU32IfDefined("maxSampledTexturesPerShaderStage",44);setLimitU32IfDefined("maxSamplersPerShaderStage",48);setLimitU32IfDefined("maxStorageBuffersPerShaderStage",52);setLimitU32IfDefined("maxStorageTexturesPerShaderStage",56);setLimitU32IfDefined("maxUniformBuffersPerShaderStage",60);setLimitU32IfDefined("minUniformBufferOffsetAlignment",80);setLimitU32IfDefined("minStorageBufferOffsetAlignment",84);setLimitU64IfDefined("maxUniformBufferBindingSize",64);setLimitU64IfDefined("maxStorageBufferBindingSize",72);setLimitU32IfDefined("maxVertexBuffers",88);setLimitU64IfDefined("maxBufferSize",96);setLimitU32IfDefined("maxVertexAttributes",104);setLimitU32IfDefined("maxVertexBufferArrayStride",108);setLimitU32IfDefined("maxInterStageShaderVariables",112);setLimitU32IfDefined("maxColorAttachments",116);setLimitU32IfDefined("maxColorAttachmentBytesPerSample",120);setLimitU32IfDefined("maxComputeWorkgroupStorageSize",124);setLimitU32IfDefined("maxComputeInvocationsPerWorkgroup",128);setLimitU32IfDefined("maxComputeWorkgroupSizeX",132);setLimitU32IfDefined("maxComputeWorkgroupSizeY",136);setLimitU32IfDefined("maxComputeWorkgroupSizeZ",140);setLimitU32IfDefined("maxComputeWorkgroupsPerDimension",144);setLimitU32IfDefined("maxImmediateSize",148,true);desc["requiredLimits"]=requiredLimits}var defaultQueuePtr=Number((growMemViews(),HEAPU64)[(descriptor+48)/8]);if(defaultQueuePtr){var defaultQueueDesc={label:WebGPU.makeStringFromOptionalStringView(defaultQueuePtr+8)};desc["defaultQueue"]=defaultQueueDesc}desc["label"]=WebGPU.makeStringFromOptionalStringView(descriptor+8)}runtimeKeepalivePush();WebGPU.Internals.futureInsert(futureId,adapter.requestDevice(desc).then(device=>{runtimeKeepalivePop();callUserCallback(()=>{WebGPU.Internals.jsObjectInsert(queuePtr,device.queue);WebGPU.Internals.jsObjectInsert(devicePtr,device);devicePtr=BigInt(devicePtr);WebGPU.Internals.futureInsert(deviceLostFutureId,device.lost.then(info=>{callUserCallback(()=>{device.onuncapturederror=ev=>{};var sp=stackSave();var messagePtr=stringToUTF8OnStack(info.message);_emwgpuOnDeviceLostCompleted(deviceLostFutureId,emwgpuStringToInt_DeviceLostReason[info.reason],BigInt(messagePtr));stackRestore(sp)})}));device.onuncapturederror=ev=>{var type=5;if(ev.error instanceof GPUValidationError)type=2;else if(ev.error instanceof GPUOutOfMemoryError)type=3;else if(ev.error instanceof GPUInternalError)type=4;var sp=stackSave();var messagePtr=stringToUTF8OnStack(ev.error.message);_emwgpuOnUncapturedError(BigInt(devicePtr),type,BigInt(messagePtr));stackRestore(sp)};_emwgpuOnRequestDeviceCompleted(futureId,1,BigInt(devicePtr),0n)})},ex=>{runtimeKeepalivePop();callUserCallback(()=>{var sp=stackSave();var messagePtr=stringToUTF8OnStack(ex.message);_emwgpuOnRequestDeviceCompleted(futureId,3,BigInt(devicePtr),BigInt(messagePtr));if(deviceLostFutureId){_emwgpuOnDeviceLostCompleted(deviceLostFutureId,4,BigInt(messagePtr))}stackRestore(sp)})}))}function _emwgpuBufferDestroy(bufferPtr){bufferPtr=bigintToI53Checked(bufferPtr);var buffer=WebGPU.getJsObject(bufferPtr);var onUnmap=WebGPU.Internals.bufferOnUnmaps[bufferPtr];if(onUnmap){for(var i=0;i<onUnmap.length;++i){onUnmap[i]()}delete WebGPU.Internals.bufferOnUnmaps[bufferPtr]}buffer.destroy()}var warnOnce=text=>{warnOnce.shown||={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}};var _emwgpuBufferGetConstMappedRange=function(bufferPtr,offset,size){bufferPtr=bigintToI53Checked(bufferPtr);offset=bigintToI53Checked(offset);size=bigintToI53Checked(size);var ret=(()=>{var buffer=WebGPU.getJsObject(bufferPtr);if(size===0)warnOnce("getMappedRange size=0 no longer means WGPU_WHOLE_MAP_SIZE");if(size==-1)size=undefined;var mapped;try{mapped=buffer.getMappedRange(offset,size)}catch(ex){return 0}var data=_memalign(16,mapped.byteLength);(growMemViews(),HEAPU8).set(new Uint8Array(mapped),data);WebGPU.Internals.bufferOnUnmaps[bufferPtr].push(()=>_free(data));return data})();return BigInt(ret)};var _emwgpuBufferMapAsync=function(bufferPtr,futureId,mode,offset,size){bufferPtr=bigintToI53Checked(bufferPtr);futureId=bigintToI53Checked(futureId);mode=bigintToI53Checked(mode);offset=bigintToI53Checked(offset);size=bigintToI53Checked(size);var buffer=WebGPU.getJsObject(bufferPtr);WebGPU.Internals.bufferOnUnmaps[bufferPtr]=[];if(size==-1)size=undefined;runtimeKeepalivePush();WebGPU.Internals.futureInsert(futureId,buffer.mapAsync(mode,offset,size).then(()=>{runtimeKeepalivePop();callUserCallback(()=>{_emwgpuOnMapAsyncCompleted(futureId,1,0n)})},ex=>{runtimeKeepalivePop();callUserCallback(()=>{var sp=stackSave();var messagePtr=stringToUTF8OnStack(ex.message);var status=ex.name==="AbortError"?4:ex.name==="OperationError"?3:0;_emwgpuOnMapAsyncCompleted(futureId,status,BigInt(messagePtr));delete WebGPU.Internals.bufferOnUnmaps[bufferPtr]})}))};function _emwgpuBufferUnmap(bufferPtr){bufferPtr=bigintToI53Checked(bufferPtr);var buffer=WebGPU.getJsObject(bufferPtr);var onUnmap=WebGPU.Internals.bufferOnUnmaps[bufferPtr];if(!onUnmap){return}for(var i=0;i<onUnmap.length;++i){onUnmap[i]()}delete WebGPU.Internals.bufferOnUnmaps[bufferPtr];buffer.unmap()}function _emwgpuDelete(ptr){ptr=bigintToI53Checked(ptr);delete WebGPU.Internals.jsObjects[ptr]}function _emwgpuDeviceCreateBuffer(devicePtr,descriptor,bufferPtr){devicePtr=bigintToI53Checked(devicePtr);descriptor=bigintToI53Checked(descriptor);bufferPtr=bigintToI53Checked(bufferPtr);var mappedAtCreation=!!(growMemViews(),HEAPU32)[(descriptor+40)/4];var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+8),usage:(growMemViews(),HEAPU32)[(descriptor+24)/4],size:(growMemViews(),HEAPU32)[(descriptor+4+32)/4]*4294967296+(growMemViews(),HEAPU32)[(descriptor+32)/4],mappedAtCreation};var device=WebGPU.getJsObject(devicePtr);var buffer;try{buffer=device.createBuffer(desc)}catch(ex){return false}WebGPU.Internals.jsObjectInsert(bufferPtr,buffer);if(mappedAtCreation){WebGPU.Internals.bufferOnUnmaps[bufferPtr]=[]}return true}function _emwgpuDeviceCreateShaderModule(devicePtr,descriptor,shaderModulePtr){devicePtr=bigintToI53Checked(devicePtr);descriptor=bigintToI53Checked(descriptor);shaderModulePtr=bigintToI53Checked(shaderModulePtr);var nextInChainPtr=Number((growMemViews(),HEAPU64)[descriptor/8]);var sType=(growMemViews(),HEAPU32)[(nextInChainPtr+8)/4];var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+8),code:""};switch(sType){case 2:{desc["code"]=WebGPU.makeStringFromStringView(nextInChainPtr+16);break}}var device=WebGPU.getJsObject(devicePtr);WebGPU.Internals.jsObjectInsert(shaderModulePtr,device.createShaderModule(desc))}var _emwgpuDeviceDestroy=devicePtr=>{const device=WebGPU.getJsObject(devicePtr);device.onuncapturederror=null;device.destroy()};function _emwgpuInstanceRequestAdapter(instancePtr,futureId,options,adapterPtr){instancePtr=bigintToI53Checked(instancePtr);futureId=bigintToI53Checked(futureId);options=bigintToI53Checked(options);adapterPtr=bigintToI53Checked(adapterPtr);var opts;if(options){var featureLevel=(growMemViews(),HEAPU32)[(options+8)/4];opts={featureLevel:WebGPU.FeatureLevel[featureLevel],powerPreference:WebGPU.PowerPreference[(growMemViews(),HEAPU32)[(options+12)/4]],forceFallbackAdapter:!!(growMemViews(),HEAPU32)[(options+16)/4]};var nextInChainPtr=Number((growMemViews(),HEAPU64)[options/8]);if(nextInChainPtr!==0){var sType=(growMemViews(),HEAPU32)[(nextInChainPtr+8)/4];var webxrOptions=nextInChainPtr;opts.xrCompatible=!!(growMemViews(),HEAPU32)[(webxrOptions+16)/4]}}if(!("gpu"in navigator)){var sp=stackSave();var messagePtr=stringToUTF8OnStack("WebGPU not available on this browser (navigator.gpu is not available)");_emwgpuOnRequestAdapterCompleted(futureId,3,BigInt(adapterPtr),BigInt(messagePtr));stackRestore(sp);return}runtimeKeepalivePush();WebGPU.Internals.futureInsert(futureId,navigator.gpu.requestAdapter(opts).then(adapter=>{runtimeKeepalivePop();callUserCallback(()=>{if(adapter){WebGPU.Internals.jsObjectInsert(adapterPtr,adapter);_emwgpuOnRequestAdapterCompleted(futureId,1,BigInt(adapterPtr),0n)}else{var sp=stackSave();var messagePtr=stringToUTF8OnStack("WebGPU not available on this browser (requestAdapter returned null)");_emwgpuOnRequestAdapterCompleted(futureId,3,BigInt(adapterPtr),BigInt(messagePtr));stackRestore(sp)}})},ex=>{runtimeKeepalivePop();callUserCallback(()=>{var sp=stackSave();var messagePtr=stringToUTF8OnStack(ex.message);_emwgpuOnRequestAdapterCompleted(futureId,4,BigInt(adapterPtr),BigInt(messagePtr));stackRestore(sp)})}))}var _emwgpuQueueOnSubmittedWorkDone=function(queuePtr,futureId){queuePtr=bigintToI53Checked(queuePtr);futureId=bigintToI53Checked(futureId);var queue=WebGPU.getJsObject(queuePtr);runtimeKeepalivePush();WebGPU.Internals.futureInsert(futureId,queue.onSubmittedWorkDone().then(()=>{runtimeKeepalivePop();callUserCallback(()=>{_emwgpuOnWorkDoneCompleted(futureId,1)})}))};var _emwgpuWaitAny=function(futurePtr,futureCount,timeoutMSPtr){futurePtr=bigintToI53Checked(futurePtr);futureCount=bigintToI53Checked(futureCount);timeoutMSPtr=bigintToI53Checked(timeoutMSPtr);return Asyncify.handleAsync(async()=>{var promises=[];if(timeoutMSPtr){var timeoutMS=(growMemViews(),HEAP32)[timeoutMSPtr/4];promises.length=futureCount+1;promises[futureCount]=new Promise(resolve=>setTimeout(resolve,timeoutMS,0))}else{promises.length=futureCount}for(var i=0;i<futureCount;++i){var futureId=(growMemViews(),HEAPU32)[(futurePtr+i*8+4)/4]*4294967296+(growMemViews(),HEAPU32)[(futurePtr+i*8)/4];if(!(futureId in WebGPU.Internals.futures)){return futureId}promises[i]=WebGPU.Internals.futures[futureId]}const firstResolvedFuture=await Promise.race(promises);delete WebGPU.Internals.futures[firstResolvedFuture];return firstResolvedFuture})};_emwgpuWaitAny.isAsync=true;var ENV={};var getExecutableName=()=>thisProgram||"./this.program";var getEnvStrings=()=>{if(!getEnvStrings.strings){var lang=(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8";var env={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:lang,_:getExecutableName()};for(var x in ENV){if(ENV[x]===undefined)delete env[x];else env[x]=ENV[x]}var strings=[];for(var x in env){strings.push(`${x}=${env[x]}`)}getEnvStrings.strings=strings}return getEnvStrings.strings};function _environ_get(__environ,environ_buf){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(3,0,1,__environ,environ_buf);__environ=bigintToI53Checked(__environ);environ_buf=bigintToI53Checked(environ_buf);var bufSize=0;var envp=0;for(var string of getEnvStrings()){var ptr=environ_buf+bufSize;(growMemViews(),HEAPU64)[(__environ+envp)/8]=BigInt(ptr);bufSize+=stringToUTF8(string,ptr,Infinity)+1;envp+=8}return 0}function _environ_sizes_get(penviron_count,penviron_buf_size){if(ENVIRONMENT_IS_PTHREAD)return proxyToMainThread(4,0,1,penviron_count,penviron_buf_size);penviron_count=bigintToI53Checked(penviron_count);penviron_buf_size=bigintToI53Checked(penviron_buf_size);var strings=getEnvStrings();(growMemViews(),HEAPU64)[penviron_count/8]=BigInt(strings.length);var bufSize=0;for(var string of strings){bufSize+=lengthBytesUTF8(string)+1}(growMemViews(),HEAPU64)[penviron_buf_size/8]=BigInt(bufSize);return 0}var initRandomFill=()=>view=>(view.set(crypto.getRandomValues(new Uint8Array(view.byteLength))),0);var randomFill=view=>(randomFill=initRandomFill())(view);function _random_get(buffer,size){buffer=bigintToI53Checked(buffer);size=bigintToI53Checked(size);return randomFill((growMemViews(),HEAPU8).subarray(buffer,buffer+size))}var emwgpuStringToInt_FeatureName={"core-features-and-limits":1,"depth-clip-control":2,"depth32float-stencil8":3,"texture-compression-bc":4,"texture-compression-bc-sliced-3d":5,"texture-compression-etc2":6,"texture-compression-astc":7,"texture-compression-astc-sliced-3d":8,"timestamp-query":9,"indirect-first-instance":10,"shader-f16":11,"rg11b10ufloat-renderable":12,"bgra8unorm-storage":13,"float32-filterable":14,"float32-blendable":15,"clip-distances":16,"dual-source-blending":17,subgroups:18,"texture-formats-tier1":19,"texture-formats-tier2":20,"primitive-index":21,"chromium-experimental-unorm16-texture-formats":327692,"chromium-experimental-snorm16-texture-formats":327693,"chromium-experimental-multi-draw-indirect":327732};function _wgpuAdapterGetFeatures(adapterPtr,supportedFeatures){adapterPtr=bigintToI53Checked(adapterPtr);supportedFeatures=bigintToI53Checked(supportedFeatures);var adapter=WebGPU.getJsObject(adapterPtr);var featuresPtr=_malloc(adapter.features.size*4);var offset=0;var numFeatures=0;for(const feature of adapter.features){var featureEnumValue=emwgpuStringToInt_FeatureName[feature];if(featureEnumValue>=0){(growMemViews(),HEAP32)[(featuresPtr+offset)/4]=featureEnumValue;offset+=4;numFeatures++}}(growMemViews(),HEAPU64)[(supportedFeatures+8)/8]=BigInt(featuresPtr);(growMemViews(),HEAPU64)[supportedFeatures/8]=BigInt(numFeatures)}function _wgpuAdapterGetInfo(adapterPtr,info){adapterPtr=bigintToI53Checked(adapterPtr);info=bigintToI53Checked(info);var adapter=WebGPU.getJsObject(adapterPtr);WebGPU.fillAdapterInfoStruct(adapter.info,info);return 1}function _wgpuAdapterGetLimits(adapterPtr,limitsOutPtr){adapterPtr=bigintToI53Checked(adapterPtr);limitsOutPtr=bigintToI53Checked(limitsOutPtr);var adapter=WebGPU.getJsObject(adapterPtr);WebGPU.fillLimitStruct(adapter.limits,limitsOutPtr);return 1}function _wgpuAdapterHasFeature(adapterPtr,featureEnumValue){adapterPtr=bigintToI53Checked(adapterPtr);var adapter=WebGPU.getJsObject(adapterPtr);return adapter.features.has(WebGPU.FeatureName[featureEnumValue])}var _wgpuBufferGetSize=function(bufferPtr){bufferPtr=bigintToI53Checked(bufferPtr);var ret=(()=>{var buffer=WebGPU.getJsObject(bufferPtr);return buffer.size})();return BigInt(ret)};var _wgpuCommandEncoderBeginComputePass=function(encoderPtr,descriptor){encoderPtr=bigintToI53Checked(encoderPtr);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{var desc;if(descriptor){desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+8),timestampWrites:WebGPU.makePassTimestampWrites(Number((growMemViews(),HEAPU64)[(descriptor+24)/8]))}}var commandEncoder=WebGPU.getJsObject(encoderPtr);var ptr=_emwgpuCreateComputePassEncoder(0n);WebGPU.Internals.jsObjectInsert(ptr,commandEncoder.beginComputePass(desc));return ptr})();return BigInt(ret)};function _wgpuCommandEncoderCopyBufferToBuffer(encoderPtr,srcPtr,srcOffset,dstPtr,dstOffset,size){encoderPtr=bigintToI53Checked(encoderPtr);srcPtr=bigintToI53Checked(srcPtr);srcOffset=bigintToI53Checked(srcOffset);dstPtr=bigintToI53Checked(dstPtr);dstOffset=bigintToI53Checked(dstOffset);size=bigintToI53Checked(size);var commandEncoder=WebGPU.getJsObject(encoderPtr);var src=WebGPU.getJsObject(srcPtr);var dst=WebGPU.getJsObject(dstPtr);commandEncoder.copyBufferToBuffer(src,srcOffset,dst,dstOffset,size)}var _wgpuCommandEncoderFinish=function(encoderPtr,descriptor){encoderPtr=bigintToI53Checked(encoderPtr);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{var commandEncoder=WebGPU.getJsObject(encoderPtr);var ptr=_emwgpuCreateCommandBuffer(0n);WebGPU.Internals.jsObjectInsert(ptr,commandEncoder.finish());return ptr})();return BigInt(ret)};function _wgpuComputePassEncoderDispatchWorkgroups(passPtr,x,y,z){passPtr=bigintToI53Checked(passPtr);var pass=WebGPU.getJsObject(passPtr);pass.dispatchWorkgroups(x,y,z)}function _wgpuComputePassEncoderEnd(passPtr){passPtr=bigintToI53Checked(passPtr);var pass=WebGPU.getJsObject(passPtr);pass.end()}function _wgpuComputePassEncoderSetBindGroup(passPtr,groupIndex,groupPtr,dynamicOffsetCount,dynamicOffsetsPtr){passPtr=bigintToI53Checked(passPtr);groupPtr=bigintToI53Checked(groupPtr);dynamicOffsetCount=bigintToI53Checked(dynamicOffsetCount);dynamicOffsetsPtr=bigintToI53Checked(dynamicOffsetsPtr);var pass=WebGPU.getJsObject(passPtr);var group=WebGPU.getJsObject(groupPtr);if(dynamicOffsetCount==0){pass.setBindGroup(groupIndex,group)}else{pass.setBindGroup(groupIndex,group,(growMemViews(),HEAPU32),dynamicOffsetsPtr/4,dynamicOffsetCount)}}function _wgpuComputePassEncoderSetPipeline(passPtr,pipelinePtr){passPtr=bigintToI53Checked(passPtr);pipelinePtr=bigintToI53Checked(pipelinePtr);var pass=WebGPU.getJsObject(passPtr);var pipeline=WebGPU.getJsObject(pipelinePtr);pass.setPipeline(pipeline)}var _wgpuComputePipelineGetBindGroupLayout=function(pipelinePtr,groupIndex){pipelinePtr=bigintToI53Checked(pipelinePtr);var ret=(()=>{var pipeline=WebGPU.getJsObject(pipelinePtr);var ptr=_emwgpuCreateBindGroupLayout(0n);WebGPU.Internals.jsObjectInsert(ptr,pipeline.getBindGroupLayout(groupIndex));return ptr})();return BigInt(ret)};var readI53FromI64=ptr=>(growMemViews(),HEAPU32)[ptr/4]+(growMemViews(),HEAP32)[(ptr+4)/4]*4294967296;var _wgpuDeviceCreateBindGroup=function(devicePtr,descriptor){devicePtr=bigintToI53Checked(devicePtr);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{function makeEntry(entryPtr){var bufferPtr=(growMemViews(),HEAPU32)[(entryPtr+16)/4];var samplerPtr=(growMemViews(),HEAPU32)[(entryPtr+40)/4];var textureViewPtr=(growMemViews(),HEAPU32)[(entryPtr+48)/4];var binding=(growMemViews(),HEAPU32)[(entryPtr+8)/4];if(bufferPtr){var size=readI53FromI64(entryPtr+32);if(size==-1)size=undefined;return{binding,resource:{buffer:WebGPU.getJsObject(bufferPtr),offset:(growMemViews(),HEAPU32)[(entryPtr+4+24)/4]*4294967296+(growMemViews(),HEAPU32)[(entryPtr+24)/4],size}}}else if(samplerPtr){return{binding,resource:WebGPU.getJsObject(samplerPtr)}}else{return{binding,resource:WebGPU.getJsObject(textureViewPtr)}}}function makeEntries(count,entriesPtrs){var entries=[];for(var i=0;i<count;++i){entries.push(makeEntry(entriesPtrs+56*i))}return entries}var desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+8),layout:WebGPU.getJsObject(Number((growMemViews(),HEAPU64)[(descriptor+24)/8])),entries:makeEntries((growMemViews(),HEAPU32)[(descriptor+32)/4],Number((growMemViews(),HEAPU64)[(descriptor+40)/8]))};var device=WebGPU.getJsObject(devicePtr);var ptr=_emwgpuCreateBindGroup(0n);WebGPU.Internals.jsObjectInsert(ptr,device.createBindGroup(desc));return ptr})();return BigInt(ret)};var _wgpuDeviceCreateCommandEncoder=function(devicePtr,descriptor){devicePtr=bigintToI53Checked(devicePtr);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{var desc;if(descriptor){desc={label:WebGPU.makeStringFromOptionalStringView(descriptor+8)}}var device=WebGPU.getJsObject(devicePtr);var ptr=_emwgpuCreateCommandEncoder(0n);WebGPU.Internals.jsObjectInsert(ptr,device.createCommandEncoder(desc));return ptr})();return BigInt(ret)};var _wgpuDeviceCreateComputePipeline=function(devicePtr,descriptor){devicePtr=bigintToI53Checked(devicePtr);descriptor=bigintToI53Checked(descriptor);var ret=(()=>{var desc=WebGPU.makeComputePipelineDesc(descriptor);var device=WebGPU.getJsObject(devicePtr);var ptr=_emwgpuCreateComputePipeline(0n);WebGPU.Internals.jsObjectInsert(ptr,device.createComputePipeline(desc));return ptr})();return BigInt(ret)};var _wgpuQueueSubmit=function(queuePtr,commandCount,commands){queuePtr=bigintToI53Checked(queuePtr);commandCount=bigintToI53Checked(commandCount);commands=bigintToI53Checked(commands);var queue=WebGPU.getJsObject(queuePtr);var cmds=Array.from((growMemViews(),HEAP64).subarray(commands/8,(commands+commandCount*8)/8),id=>WebGPU.getJsObject(id));queue.submit(cmds)};function _wgpuQueueWriteBuffer(queuePtr,bufferPtr,bufferOffset,data,size){queuePtr=bigintToI53Checked(queuePtr);bufferPtr=bigintToI53Checked(bufferPtr);bufferOffset=bigintToI53Checked(bufferOffset);data=bigintToI53Checked(data);size=bigintToI53Checked(size);var queue=WebGPU.getJsObject(queuePtr);var buffer=WebGPU.getJsObject(bufferPtr);var subarray=(growMemViews(),HEAPU8).subarray(data,data+size);queue.writeBuffer(buffer,bufferOffset,subarray,0,size)}var PATH={isAbs:path=>path.charAt(0)==="/",splitPath:filename=>{var splitPathRe=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return splitPathRe.exec(filename).slice(1)},normalizeArray:(parts,allowAboveRoot)=>{var up=0;for(var i=parts.length-1;i>=0;i--){var last=parts[i];if(last==="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up;up--){parts.unshift("..")}}return parts},normalize:path=>{var isAbsolute=PATH.isAbs(path),trailingSlash=path.slice(-1)==="/";path=PATH.normalizeArray(path.split("/").filter(p=>!!p),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path},dirname:path=>{var result=PATH.splitPath(path),root=result[0],dir=result[1];if(!root&&!dir){return"."}if(dir){dir=dir.slice(0,-1)}return root+dir},basename:path=>path&&path.match(/([^\/]+|\/)\/*$/)[1],join:(...paths)=>PATH.normalize(paths.join("/")),join2:(l,r)=>PATH.normalize(l+"/"+r)};var withStackSave=f=>{var stack=stackSave();var ret=f();stackRestore(stack);return ret};var readI53FromU64=ptr=>(growMemViews(),HEAPU32)[ptr/4]+(growMemViews(),HEAPU32)[(ptr+4)/4]*4294967296;var FS_mknod=(path,mode,dev)=>FS.handleError(withStackSave(()=>{var pathBuffer=stringToUTF8OnStack(path);return __wasmfs_mknod(pathBuffer,mode,dev)}));var FS_create=(path,mode=438)=>{mode&=4095;mode|=32768;return FS_mknod(path,mode,0)};var FS_fileDataToTypedArray=data=>{if(typeof data=="string"){data=intArrayFromString(data,true)}if(!data.subarray){data=new Uint8Array(data)}return data};var FS_writeFile=(path,data)=>{var sp=stackSave();var pathBuffer=stringToUTF8OnStack(path);data=FS_fileDataToTypedArray(data);var len=data.length;var dataBuffer=_malloc(len);(growMemViews(),HEAPU8).set(data,dataBuffer);var ret=__wasmfs_write_file(pathBuffer,dataBuffer,len);_free(dataBuffer);stackRestore(sp);return ret};var FS_createDataFile=(parent,name,fileData,canRead,canWrite,canOwn)=>{var pathName=name?parent+"/"+name:parent;var mode=FS_getMode(canRead,canWrite);if(!wasmFSPreloadingFlushed){wasmFSPreloadedFiles.push({pathName,fileData,mode})}else{FS_create(pathName,mode);FS_writeFile(pathName,fileData)}};var asyncLoad=async url=>{var arrayBuffer=await readAsync(url);return new Uint8Array(arrayBuffer)};var PATH_FS={resolve:(...args)=>{var resolvedPath="",resolvedAbsolute=false;for(var i=args.length-1;i>=-1&&!resolvedAbsolute;i--){var path=i>=0?args[i]:FS.cwd();if(typeof path!="string"){throw new TypeError("Arguments to path.resolve must be strings")}else if(!path){return""}resolvedPath=path+"/"+resolvedPath;resolvedAbsolute=PATH.isAbs(path)}resolvedPath=PATH.normalizeArray(resolvedPath.split("/").filter(p=>!!p),!resolvedAbsolute).join("/");return(resolvedAbsolute?"/":"")+resolvedPath||"."},relative:(from,to)=>{from=PATH_FS.resolve(from).slice(1);to=PATH_FS.resolve(to).slice(1);function trim(arr){var start=0;for(;start<arr.length;start++){if(arr[start]!=="")break}var end=arr.length-1;for(;end>=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;i<length;i++){if(fromParts[i]!==toParts[i]){samePartsLength=i;break}}var outputParts=[];for(var i=samePartsLength;i<fromParts.length;i++){outputParts.push("..")}outputParts=outputParts.concat(toParts.slice(samePartsLength));return outputParts.join("/")}};var getUniqueRunDependency=id=>id;var preloadPlugins=[];var FS_handledByPreloadPlugin=async(byteArray,fullname)=>{if(typeof Browser!="undefined")Browser.init();for(var plugin of preloadPlugins){if(plugin["canHandle"](fullname)){return plugin["handle"](byteArray,fullname)}}return byteArray};var FS_preloadFile=async(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish)=>{var fullname=name?PATH_FS.resolve(PATH.join2(parent,name)):parent;var dep=getUniqueRunDependency(`cp ${fullname}`);addRunDependency(dep);try{var byteArray=url;if(typeof url=="string"){byteArray=await asyncLoad(url)}byteArray=await FS_handledByPreloadPlugin(byteArray,fullname);preFinish?.();if(!dontCreateFile){FS_createDataFile(parent,name,byteArray,canRead,canWrite,canOwn)}}finally{removeRunDependency(dep)}};var FS_createPreloadedFile=(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)=>{FS_preloadFile(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish).then(onload).catch(onerror)};var FS_getMode=(canRead,canWrite)=>{var mode=0;if(canRead)mode|=292|73;if(canWrite)mode|=146;return mode};var FS_modeStringToFlags=str=>{if(typeof str!="string")return str;var flagModes={r:0,"r+":2,w:512|64|1,"w+":512|64|2,a:1024|64|1,"a+":1024|64|2};var flags=flagModes[str];if(typeof flags=="undefined"){throw new Error(`Unknown file open mode: ${str}`)}return flags};var FS_mkdir=(path,mode=511)=>FS.handleError(withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_mkdir(buffer,mode)}));var FS_mkdirTree=(path,mode)=>{var dirs=path.split("/");var d="";for(var dir of dirs){if(!dir)continue;if(d||PATH.isAbs(path))d+="/";d+=dir;try{FS_mkdir(d,mode)}catch(e){if(e.errno!=20)throw e}}};var FS_unlink=path=>withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_unlink(buffer)});var wasmFSDevices={};var wasmFSDeviceStreams={};var FS={ErrnoError:class extends Error{name="ErrnoError";message="FS error";constructor(code){super();this.errno=code}},handleError(returnValue){if(returnValue<0){throw new FS.ErrnoError(-returnValue)}return returnValue},createDataFile(parent,name,fileData,canRead,canWrite,canOwn){FS_createDataFile(parent,name,fileData,canRead,canWrite,canOwn)},createPath(parent,path,canRead,canWrite){var parts=path.split("/").reverse();while(parts.length){var part=parts.pop();if(!part)continue;var current=PATH.join2(parent,part);if(!wasmFSPreloadingFlushed){wasmFSPreloadedDirs.push({parentPath:parent,childName:part})}else{try{FS.mkdir(current)}catch(e){if(e.errno!=20)throw e}}parent=current}return current},createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish){return FS_createPreloadedFile(parent,name,url,canRead,canWrite,onload,onerror,dontCreateFile,canOwn,preFinish)},async preloadFile(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish){return FS_preloadFile(parent,name,url,canRead,canWrite,dontCreateFile,canOwn,preFinish)},readFile(path,opts={}){opts.encoding=opts.encoding||"binary";if(opts.encoding!=="utf8"&&opts.encoding!=="binary"){throw new Error(`Invalid encoding type "${opts.encoding}"`)}var buf,length;withStackSave(()=>{var bufPtr=stackAlloc(8);var sizePtr=stackAlloc(8);FS.handleError(-__wasmfs_read_file(stringToUTF8OnStack(path),bufPtr,sizePtr));buf=Number((growMemViews(),HEAPU64)[bufPtr/8]);length=readI53FromI64(sizePtr)});return opts.encoding==="utf8"?UTF8ToString(buf,length):(growMemViews(),HEAPU8).slice(buf,buf+length)},cwd:()=>UTF8ToString(__wasmfs_get_cwd()),analyzePath(path){var exists=!!FS.findObject(path);return{exists,object:{contents:exists?FS.readFile(path):null}}},mkdir:(path,mode)=>FS_mkdir(path,mode),mkdirTree:(path,mode)=>FS_mkdirTree(path,mode),rmdir:path=>FS.handleError(withStackSave(()=>__wasmfs_rmdir(stringToUTF8OnStack(path)))),open:(path,flags,mode=438)=>withStackSave(()=>{flags=FS_modeStringToFlags(flags);var buffer=stringToUTF8OnStack(path);var fd=FS.handleError(__wasmfs_open(buffer,flags,mode));return{fd}}),create:(path,mode)=>FS_create(path,mode),close:stream=>FS.handleError(-__wasmfs_close(stream.fd)),unlink:path=>FS_unlink(path),chdir:path=>withStackSave(()=>__wasmfs_chdir(stringToUTF8OnStack(path))),read(stream,buffer,offset,length,position){var seeking=typeof position!="undefined";var dataBuffer=_malloc(length);var bytesRead;if(seeking){bytesRead=__wasmfs_pread(stream.fd,BigInt(dataBuffer),BigInt(length),BigInt(position))}else{bytesRead=__wasmfs_read(stream.fd,BigInt(dataBuffer),BigInt(length))}if(bytesRead>0){buffer.set((growMemViews(),HEAPU8).subarray(dataBuffer,dataBuffer+bytesRead),offset)}_free(dataBuffer);return FS.handleError(bytesRead)},write(stream,buffer,offset,length,position,canOwn){var seeking=typeof position!="undefined";var dataBuffer=_malloc(length);for(var i=0;i<length;i++){(growMemViews(),HEAP8)[dataBuffer+i]=buffer[offset+i]}var bytesRead;if(seeking){bytesRead=__wasmfs_pwrite(stream.fd,BigInt(dataBuffer),BigInt(length),BigInt(position))}else{bytesRead=__wasmfs_write(stream.fd,BigInt(dataBuffer),BigInt(length))}_free(dataBuffer);return FS.handleError(bytesRead)},writeFile:(path,data)=>FS_writeFile(path,data),mmap:(stream,length,offset,prot,flags)=>{var buf=FS.handleError(__wasmfs_mmap(BigInt(length),prot,flags,stream.fd,BigInt(offset)));return{ptr:buf,allocated:true}},msync:(stream,bufferPtr,offset,length,mmapFlags)=>FS.handleError(__wasmfs_msync(bufferPtr,length,mmapFlags)),munmap:(addr,length)=>FS.handleError(__wasmfs_munmap(addr,length)),symlink:(target,linkpath)=>withStackSave(()=>__wasmfs_symlink(stringToUTF8OnStack(target),stringToUTF8OnStack(linkpath))),readlink(path){return withStackSave(()=>{var bufPtr=stackAlloc(8);FS.handleError(__wasmfs_readlink(stringToUTF8OnStack(path),bufPtr));var readBuffer=Number((growMemViews(),HEAPU64)[bufPtr/8]);return UTF8ToString(readBuffer)})},statBufToObject(statBuf){return{dev:(growMemViews(),HEAPU32)[statBuf/4],mode:(growMemViews(),HEAPU32)[(statBuf+4)/4],nlink:(growMemViews(),HEAPU64)[(statBuf+8)/8],uid:(growMemViews(),HEAPU32)[(statBuf+16)/4],gid:(growMemViews(),HEAPU32)[(statBuf+20)/4],rdev:(growMemViews(),HEAPU32)[(statBuf+24)/4],size:readI53FromI64(statBuf+32),blksize:(growMemViews(),HEAP32)[(statBuf+40)/4],blocks:(growMemViews(),HEAP32)[(statBuf+44)/4],atime:readI53FromI64(statBuf+48),mtime:readI53FromI64(statBuf+64),ctime:readI53FromI64(statBuf+80),ino:readI53FromU64(statBuf+96)}},stat(path){return withStackSave(()=>{var statBuf=stackAlloc(104);FS.handleError(__wasmfs_stat(stringToUTF8OnStack(path),statBuf));return FS.statBufToObject(statBuf)})},lstat(path){return withStackSave(()=>{var statBuf=stackAlloc(104);FS.handleError(__wasmfs_lstat(stringToUTF8OnStack(path),statBuf));return FS.statBufToObject(statBuf)})},chmod(path,mode){return FS.handleError(withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_chmod(buffer,mode)}))},lchmod(path,mode){return FS.handleError(withStackSave(()=>{var buffer=stringToUTF8OnStack(path);return __wasmfs_lchmod(buffer,mode)}))},fchmod(fd,mode){return FS.handleError(__wasmfs_fchmod(fd,mode))},utime:(path,atime,mtime)=>FS.handleError(withStackSave(()=>__wasmfs_utime(stringToUTF8OnStack(path),atime,mtime))),truncate(path,len){return FS.handleError(withStackSave(()=>__wasmfs_truncate(stringToUTF8OnStack(path),BigInt(len))))},ftruncate(fd,len){return FS.handleError(__wasmfs_ftruncate(fd,BigInt(len)))},findObject(path){var result=withStackSave(()=>__wasmfs_identify(stringToUTF8OnStack(path)));if(result==44){return null}return{isFolder:result==31,isDevice:false}},readdir:path=>withStackSave(()=>{var pathBuffer=stringToUTF8OnStack(path);var entries=[];var state=__wasmfs_readdir_start(pathBuffer);if(!state){throw new Error("No such directory")}var entry;while(entry=__wasmfs_readdir_get(state)){entries.push(UTF8ToString(entry))}__wasmfs_readdir_finish(state);return entries}),mount:(type,opts,mountpoint)=>{var backendPointer=type.createBackend(opts);return FS.handleError(withStackSave(()=>__wasmfs_mount(stringToUTF8OnStack(mountpoint),backendPointer)))},unmount:mountpoint=>FS.handleError(withStackSave(()=>_wasmfs_unmount(stringToUTF8OnStack(mountpoint)))),mknod:(path,mode,dev)=>FS_mknod(path,mode,dev),makedev:(ma,mi)=>ma<<8|mi,registerDevice(dev,ops){var backendPointer=_wasmfs_create_jsimpl_backend();var definedOps={userRead:ops.read,userWrite:ops.write,allocFile:file=>{wasmFSDeviceStreams[file]={}},freeFile:file=>{wasmFSDeviceStreams[file]=undefined},getSize:file=>{},setSize:(file,size)=>0,read:(file,buffer,length,offset)=>{var bufferArray=(growMemViews(),HEAP8).subarray(buffer,buffer+length);try{var bytesRead=definedOps.userRead(wasmFSDeviceStreams[file],bufferArray,0,length,offset)}catch(e){return-e.errno}(growMemViews(),HEAP8).set(bufferArray,buffer);return bytesRead},write:(file,buffer,length,offset)=>{var bufferArray=(growMemViews(),HEAP8).subarray(buffer,buffer+length);try{var bytesWritten=definedOps.userWrite(wasmFSDeviceStreams[file],bufferArray,0,length,offset)}catch(e){return-e.errno}(growMemViews(),HEAP8).set(bufferArray,buffer);return bytesWritten}};wasmFS$backends[backendPointer]=definedOps;wasmFSDevices[dev]=backendPointer},createDevice(parent,name,input,output){if(typeof parent!="string"){throw new Error("Only string paths are accepted")}var path=PATH.join2(parent,name);var mode=FS_getMode(!!input,!!output);FS.createDevice.major??=64;var dev=FS.makedev(FS.createDevice.major++,0);FS.registerDevice(dev,{read(stream,buffer,offset,length,pos){var bytesRead=0;for(var i=0;i<length;i++){var result;try{result=input()}catch(e){throw new FS.ErrnoError(29)}if(result===undefined&&bytesRead===0){throw new FS.ErrnoError(6)}if(result===null||result===undefined)break;bytesRead++;buffer[offset+i]=result}return bytesRead},write(stream,buffer,offset,length,pos){for(var i=0;i<length;i++){try{output(buffer[offset+i])}catch(e){throw new FS.ErrnoError(29)}}return i}});return FS.mkdev(path,mode,dev)},mkdev(path,mode,dev){if(typeof dev==="undefined"){dev=mode;mode=438}var deviceBackend=wasmFSDevices[dev];if(!deviceBackend){throw new Error("Invalid device ID.")}return FS.handleError(withStackSave(()=>_wasmfs_create_file(stringToUTF8OnStack(path),mode,deviceBackend)))},rename(oldPath,newPath){return FS.handleError(withStackSave(()=>{var oldPathBuffer=stringToUTF8OnStack(oldPath);var newPathBuffer=stringToUTF8OnStack(newPath);return __wasmfs_rename(oldPathBuffer,newPathBuffer)}))},llseek(stream,offset,whence){return FS.handleError(__wasmfs_llseek(stream.fd,BigInt(offset),whence))}};var runAndAbortIfError=func=>{try{return func()}catch(e){abort(e)}};var Asyncify={rewindArguments:new Map,instrumentWasmImports(imports){var importPattern=/^(invoke_.*|__asyncjs__.*)$/;for(let[x,original]of Object.entries(imports)){if(typeof original=="function"){let isAsyncifyImport=original.isAsync||importPattern.test(x)}}},saveRewindArguments(func,passedArguments){return Asyncify.rewindArguments.set(func,Array.from(passedArguments))},restoreRewindArguments(func){return Asyncify.rewindArguments.get(func)},instrumentFunction(original){var wrapper=(...args)=>{Asyncify.exportCallStack.push(original);try{Asyncify.saveRewindArguments(original,args);return original(...args)}finally{if(!ABORT){var top=Asyncify.exportCallStack.pop();Asyncify.maybeStopUnwind()}}};Asyncify.funcWrappers.set(original,wrapper);return wrapper},instrumentWasmExports(exports){var ret={};for(let[x,original]of Object.entries(exports)){if(typeof original=="function"){var wrapper=Asyncify.instrumentFunction(original);ret[x]=wrapper}else{ret[x]=original}}return ret},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callstackFuncToId:new Map,callStackIdToFunc:new Map,funcWrappers:new Map,callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(func){if(!Asyncify.callstackFuncToId.has(func)){var id=Asyncify.callStackId++;Asyncify.callstackFuncToId.set(func,id);Asyncify.callStackIdToFunc.set(id,func)}return Asyncify.callstackFuncToId.get(func)},maybeStopUnwind(){if(Asyncify.currData&&Asyncify.state===Asyncify.State.Unwinding&&Asyncify.exportCallStack.length===0){Asyncify.state=Asyncify.State.Normal;runtimeKeepalivePush();runAndAbortIfError(_asyncify_stop_unwind);if(typeof Fibers!="undefined"){Fibers.trampoline()}}},whenDone(){return new Promise((resolve,reject)=>{Asyncify.asyncPromiseHandlers={resolve,reject}})},allocateData(){var ptr=_malloc(24+Asyncify.StackSize);Asyncify.setDataHeader(ptr,ptr+24,Asyncify.StackSize);Asyncify.setDataRewindFunc(ptr);return ptr},setDataHeader(ptr,stack,stackSize){(growMemViews(),HEAPU64)[ptr/8]=BigInt(stack);(growMemViews(),HEAPU64)[(ptr+8)/8]=BigInt(stack+stackSize)},setDataRewindFunc(ptr){var bottomOfCallStack=Asyncify.exportCallStack[0];var rewindId=Asyncify.getCallStackId(bottomOfCallStack);(growMemViews(),HEAP32)[(ptr+16)/4]=rewindId},getDataRewindFunc(ptr){var id=(growMemViews(),HEAP32)[(ptr+16)/4];var func=Asyncify.callStackIdToFunc.get(id);return func},doRewind(ptr){var original=Asyncify.getDataRewindFunc(ptr);var func=Asyncify.funcWrappers.get(original);runtimeKeepalivePop();func=func.bind(0,...Asyncify.restoreRewindArguments(original));return callUserCallback(func)},handleSleep(startAsync){if(ABORT)return;if(Asyncify.state===Asyncify.State.Normal){var reachedCallback=false;var reachedAfterCallback=false;startAsync((handleSleepReturnValue=0)=>{if(ABORT)return;Asyncify.handleSleepReturnValue=handleSleepReturnValue;reachedCallback=true;if(!reachedAfterCallback){return}Asyncify.state=Asyncify.State.Rewinding;runAndAbortIfError(()=>_asyncify_start_rewind(Asyncify.currData));if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.resume()}var asyncWasmReturnValue,isError=false;try{asyncWasmReturnValue=Asyncify.doRewind(Asyncify.currData)}catch(err){asyncWasmReturnValue=err;isError=true}var handled=false;if(!Asyncify.currData){var asyncPromiseHandlers=Asyncify.asyncPromiseHandlers;if(asyncPromiseHandlers){Asyncify.asyncPromiseHandlers=null;(isError?asyncPromiseHandlers.reject:asyncPromiseHandlers.resolve)(asyncWasmReturnValue);handled=true}}if(isError&&!handled){throw asyncWasmReturnValue}});reachedAfterCallback=true;if(!reachedCallback){Asyncify.state=Asyncify.State.Unwinding;Asyncify.currData=Asyncify.allocateData();if(typeof MainLoop!="undefined"&&MainLoop.func){MainLoop.pause()}runAndAbortIfError(()=>_asyncify_start_unwind(Asyncify.currData))}}else if(Asyncify.state===Asyncify.State.Rewinding){Asyncify.state=Asyncify.State.Normal;runAndAbortIfError(_asyncify_stop_rewind);_free(Asyncify.currData);Asyncify.currData=null;Asyncify.sleepCallbacks.forEach(callUserCallback)}else{abort(`invalid state: ${Asyncify.state}`)}return Asyncify.handleSleepReturnValue},handleAsync:startAsync=>Asyncify.handleSleep(async wakeUp=>{wakeUp(await startAsync())})};var getCFunc=ident=>{var func=Module["_"+ident];return func};var writeArrayToMemory=(array,buffer)=>{(growMemViews(),HEAP8).set(array,buffer)};var ccall=(ident,returnType,argTypes,args,opts)=>{var toC={pointer:p=>BigInt(p),string:str=>{var ret=0;if(str!==null&&str!==undefined&&str!==0){ret=stringToUTF8OnStack(str)}return BigInt(ret)},array:arr=>{var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return BigInt(ret)}};function convertReturnValue(ret){if(returnType==="string"){return UTF8ToString(Number(ret))}if(returnType==="pointer")return Number(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var previousAsync=Asyncify.currData;var ret=func(...cArgs);function onDone(ret){runtimeKeepalivePop();if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}var asyncMode=opts?.async;runtimeKeepalivePush();if(Asyncify.currData!=previousAsync){return Asyncify.whenDone().then(onDone)}ret=onDone(ret);if(asyncMode)return Promise.resolve(ret);return ret};var FS_createPath=FS.createPath;PThread.init();{initMemory();if(Module["noExitRuntime"])noExitRuntime=Module["noExitRuntime"];if(Module["preloadPlugins"])preloadPlugins=Module["preloadPlugins"];if(Module["print"])out=Module["print"];if(Module["printErr"])err=Module["printErr"];if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].shift()()}}}Module["addRunDependency"]=addRunDependency;Module["removeRunDependency"]=removeRunDependency;Module["ccall"]=ccall;Module["UTF8ToString"]=UTF8ToString;Module["FS_preloadFile"]=FS_preloadFile;Module["FS_unlink"]=FS_unlink;Module["FS_createPath"]=FS_createPath;Module["FS"]=FS;Module["FS_createDataFile"]=FS_createDataFile;var proxiedFunctionTable=[_proc_exit,exitOnMainThread,pthreadCreateProxied,_environ_get,_environ_sizes_get];var _llamadart_webgpu_probe,_llamadart_webgpu_supports_pthreads,_llamadart_webgpu_pthread_pool_size,_llamadart_webgpu_backends_json,_llamadart_webgpu_last_error,_llamadart_webgpu_set_log_level,_llamadart_webgpu_load_model,_llamadart_webgpu_load_model_from_url,_wasmfs_create_file,_llamadart_webgpu_mmproj_load,_llamadart_webgpu_mmproj_free,_llamadart_webgpu_mmproj_supports_vision,_llamadart_webgpu_mmproj_supports_audio,_llamadart_webgpu_media_clear_pending,_llamadart_webgpu_media_add_file,_llamadart_webgpu_media_add_encoded,_llamadart_webgpu_media_add_rgb,_llamadart_webgpu_media_add_audio_f32,_llamadart_webgpu_tokenize_to_json,_llamadart_webgpu_last_tokens_json,_llamadart_webgpu_state_save_file,_llamadart_webgpu_state_load_file,_llamadart_webgpu_detokenize_from_json,_llamadart_webgpu_last_detokenized,_llamadart_webgpu_embed_to_json,_llamadart_webgpu_last_embedding_json,_llamadart_webgpu_generate,_llamadart_webgpu_begin_generation,_llamadart_webgpu_next_token,_llamadart_webgpu_last_piece,_llamadart_webgpu_end_generation,_llamadart_webgpu_request_cancel,_llamadart_webgpu_last_output,_llamadart_webgpu_get_context_size,_llamadart_webgpu_model_meta_json,_llamadart_webgpu_shutdown,_main,_malloc,_free,_emwgpuCreateBindGroup,_emwgpuCreateBindGroupLayout,_emwgpuCreateCommandBuffer,_emwgpuCreateCommandEncoder,_emwgpuCreateComputePassEncoder,_emwgpuCreateComputePipeline,_emwgpuCreatePipelineLayout,_emwgpuCreateQuerySet,_emwgpuCreateRenderBundle,_emwgpuCreateRenderBundleEncoder,_emwgpuCreateRenderPassEncoder,_emwgpuCreateRenderPipeline,_emwgpuCreateSampler,_emwgpuCreateSurface,_emwgpuCreateTexture,_emwgpuCreateTextureView,_emwgpuCreateAdapter,_emwgpuCreateBuffer,_emwgpuCreateDevice,_emwgpuCreateQueue,_emwgpuCreateShaderModule,_emwgpuOnDeviceLostCompleted,_emwgpuOnMapAsyncCompleted,_emwgpuOnRequestAdapterCompleted,_emwgpuOnRequestDeviceCompleted,_emwgpuOnWorkDoneCompleted,_emwgpuOnUncapturedError,__emscripten_tls_init,_pthread_self,__emscripten_thread_init,___set_thread_state,__emscripten_thread_crashed,_emscripten_proxy_execute_queue,_emscripten_proxy_finish,__emscripten_run_js_on_main_thread_done,__emscripten_run_js_on_main_thread,__emscripten_thread_free_data,__emscripten_thread_exit,__emscripten_check_mailbox,_memalign,_setThrew,_emscripten_stack_set_limits,__emscripten_stack_restore,__emscripten_stack_alloc,_emscripten_stack_get_current,___cxa_decrement_exception_refcount,___cxa_get_exception_ptr,__wasmfs_fetch_get_file_url,__wasmfs_fetch_get_chunk_size,__wasmfs_read_file,__wasmfs_write_file,__wasmfs_mkdir,__wasmfs_rmdir,__wasmfs_open,__wasmfs_mknod,__wasmfs_unlink,__wasmfs_chdir,__wasmfs_symlink,__wasmfs_readlink,__wasmfs_write,__wasmfs_pwrite,__wasmfs_chmod,__wasmfs_fchmod,__wasmfs_lchmod,__wasmfs_llseek,__wasmfs_rename,__wasmfs_read,__wasmfs_pread,__wasmfs_truncate,__wasmfs_ftruncate,__wasmfs_close,__wasmfs_mmap,__wasmfs_msync,__wasmfs_munmap,__wasmfs_utime,__wasmfs_stat,__wasmfs_lstat,__wasmfs_mount,__wasmfs_identify,__wasmfs_readdir_start,__wasmfs_readdir_get,__wasmfs_readdir_finish,__wasmfs_get_cwd,_wasmfs_create_jsimpl_backend,_wasmfs_unmount,dynCall_vijj,dynCall_jj,dynCall_ij,dynCall_vj,dynCall_vjj,dynCall_vjij,dynCall_jjj,dynCall_ifj,dynCall_vjjj,dynCall_vjjjj,dynCall_vjjjjj,dynCall_jjjj,dynCall_ijj,dynCall_jjjjj,dynCall_jjjii,dynCall_jjji,dynCall_vji,dynCall_ijiii,dynCall_vjiiii,dynCall_iji,dynCall_vjjii,dynCall_v,dynCall_vijjiiiijjj,dynCall_ijjjj,dynCall_djj,dynCall_ijjj,dynCall_ijji,dynCall_jjjjii,dynCall_vjjjjii,dynCall_ijii,dynCall_ijjjjjj,dynCall_ijjjjjjjj,dynCall_ijjjjj,dynCall_ijjii,dynCall_vijjjjjji,dynCall_vi,dynCall_i,dynCall_ijijj,dynCall_iii,dynCall_vijjjj,dynCall_vjijj,dynCall_vjijjj,dynCall_vjjjij,dynCall_jji,dynCall_vjiii,dynCall_vjjjjjj,dynCall_vijjj,dynCall_jjjjjj,dynCall_ji,dynCall_vjjij,dynCall_ijjjjii,dynCall_ijjjjjjj,dynCall_ijij,dynCall_viifffj,dynCall_ii,dynCall_vjjji,dynCall_vjji,dynCall_vij,dynCall_vjjjjjji,dynCall_ijjjjjjji,dynCall_vjjijj,dynCall_j,dynCall_ijdiiii,dynCall_vjjjii,dynCall_jjjjij,dynCall_jjjjjjj,dynCall_jjjjid,dynCall_jjjjijj,dynCall_jjjjjjjii,dynCall_jjjjijii,dynCall_jjjjijjj,dynCall_jjjijijj,dynCall_jjjijij,dynCall_vjjjiij,_asyncify_start_unwind,_asyncify_stop_unwind,_asyncify_start_rewind,_asyncify_stop_rewind,__indirect_function_table,wasmTable;function assignWasmExports(wasmExports){_llamadart_webgpu_probe=Module["_llamadart_webgpu_probe"]=wasmExports["ob"];_llamadart_webgpu_supports_pthreads=Module["_llamadart_webgpu_supports_pthreads"]=wasmExports["pb"];_llamadart_webgpu_pthread_pool_size=Module["_llamadart_webgpu_pthread_pool_size"]=wasmExports["qb"];_llamadart_webgpu_backends_json=Module["_llamadart_webgpu_backends_json"]=wasmExports["rb"];_llamadart_webgpu_last_error=Module["_llamadart_webgpu_last_error"]=wasmExports["sb"];_llamadart_webgpu_set_log_level=Module["_llamadart_webgpu_set_log_level"]=wasmExports["tb"];_llamadart_webgpu_load_model=Module["_llamadart_webgpu_load_model"]=wasmExports["ub"];_llamadart_webgpu_load_model_from_url=Module["_llamadart_webgpu_load_model_from_url"]=wasmExports["vb"];_wasmfs_create_file=wasmExports["wb"];_llamadart_webgpu_mmproj_load=Module["_llamadart_webgpu_mmproj_load"]=wasmExports["xb"];_llamadart_webgpu_mmproj_free=Module["_llamadart_webgpu_mmproj_free"]=wasmExports["yb"];_llamadart_webgpu_mmproj_supports_vision=Module["_llamadart_webgpu_mmproj_supports_vision"]=wasmExports["zb"];_llamadart_webgpu_mmproj_supports_audio=Module["_llamadart_webgpu_mmproj_supports_audio"]=wasmExports["Ab"];_llamadart_webgpu_media_clear_pending=Module["_llamadart_webgpu_media_clear_pending"]=wasmExports["Bb"];_llamadart_webgpu_media_add_file=Module["_llamadart_webgpu_media_add_file"]=wasmExports["Cb"];_llamadart_webgpu_media_add_encoded=Module["_llamadart_webgpu_media_add_encoded"]=wasmExports["Db"];_llamadart_webgpu_media_add_rgb=Module["_llamadart_webgpu_media_add_rgb"]=wasmExports["Eb"];_llamadart_webgpu_media_add_audio_f32=Module["_llamadart_webgpu_media_add_audio_f32"]=wasmExports["Fb"];_llamadart_webgpu_tokenize_to_json=Module["_llamadart_webgpu_tokenize_to_json"]=wasmExports["Gb"];_llamadart_webgpu_last_tokens_json=Module["_llamadart_webgpu_last_tokens_json"]=wasmExports["Hb"];_llamadart_webgpu_state_save_file=Module["_llamadart_webgpu_state_save_file"]=wasmExports["Ib"];_llamadart_webgpu_state_load_file=Module["_llamadart_webgpu_state_load_file"]=wasmExports["Jb"];_llamadart_webgpu_detokenize_from_json=Module["_llamadart_webgpu_detokenize_from_json"]=wasmExports["Kb"];_llamadart_webgpu_last_detokenized=Module["_llamadart_webgpu_last_detokenized"]=wasmExports["Lb"];_llamadart_webgpu_embed_to_json=Module["_llamadart_webgpu_embed_to_json"]=wasmExports["Mb"];_llamadart_webgpu_last_embedding_json=Module["_llamadart_webgpu_last_embedding_json"]=wasmExports["Nb"];_llamadart_webgpu_generate=Module["_llamadart_webgpu_generate"]=wasmExports["Ob"];_llamadart_webgpu_begin_generation=Module["_llamadart_webgpu_begin_generation"]=wasmExports["Qb"];_llamadart_webgpu_next_token=Module["_llamadart_webgpu_next_token"]=wasmExports["Rb"];_llamadart_webgpu_last_piece=Module["_llamadart_webgpu_last_piece"]=wasmExports["Sb"];_llamadart_webgpu_end_generation=Module["_llamadart_webgpu_end_generation"]=wasmExports["Tb"];_llamadart_webgpu_request_cancel=Module["_llamadart_webgpu_request_cancel"]=wasmExports["Ub"];_llamadart_webgpu_last_output=Module["_llamadart_webgpu_last_output"]=wasmExports["Vb"];_llamadart_webgpu_get_context_size=Module["_llamadart_webgpu_get_context_size"]=wasmExports["Wb"];_llamadart_webgpu_model_meta_json=Module["_llamadart_webgpu_model_meta_json"]=wasmExports["Xb"];_llamadart_webgpu_shutdown=Module["_llamadart_webgpu_shutdown"]=wasmExports["Yb"];_main=Module["_main"]=wasmExports["Zb"];_malloc=wasmExports["_b"];_free=wasmExports["$b"];_emwgpuCreateBindGroup=wasmExports["ac"];_emwgpuCreateBindGroupLayout=wasmExports["bc"];_emwgpuCreateCommandBuffer=wasmExports["cc"];_emwgpuCreateCommandEncoder=wasmExports["dc"];_emwgpuCreateComputePassEncoder=wasmExports["ec"];_emwgpuCreateComputePipeline=wasmExports["fc"];_emwgpuCreatePipelineLayout=wasmExports["gc"];_emwgpuCreateQuerySet=wasmExports["hc"];_emwgpuCreateRenderBundle=wasmExports["ic"];_emwgpuCreateRenderBundleEncoder=wasmExports["jc"];_emwgpuCreateRenderPassEncoder=wasmExports["kc"];_emwgpuCreateRenderPipeline=wasmExports["lc"];_emwgpuCreateSampler=wasmExports["mc"];_emwgpuCreateSurface=wasmExports["nc"];_emwgpuCreateTexture=wasmExports["oc"];_emwgpuCreateTextureView=wasmExports["pc"];_emwgpuCreateAdapter=wasmExports["qc"];_emwgpuCreateBuffer=wasmExports["rc"];_emwgpuCreateDevice=wasmExports["sc"];_emwgpuCreateQueue=wasmExports["tc"];_emwgpuCreateShaderModule=wasmExports["uc"];_emwgpuOnDeviceLostCompleted=wasmExports["vc"];_emwgpuOnMapAsyncCompleted=wasmExports["wc"];_emwgpuOnRequestAdapterCompleted=wasmExports["xc"];_emwgpuOnRequestDeviceCompleted=wasmExports["yc"];_emwgpuOnWorkDoneCompleted=wasmExports["zc"];_emwgpuOnUncapturedError=wasmExports["Ac"];__emscripten_tls_init=wasmExports["Bc"];_pthread_self=wasmExports["Cc"];__emscripten_thread_init=wasmExports["Dc"];___set_thread_state=wasmExports["Ec"];__emscripten_thread_crashed=wasmExports["Fc"];_emscripten_proxy_execute_queue=wasmExports["Gc"];_emscripten_proxy_finish=wasmExports["Hc"];__emscripten_run_js_on_main_thread_done=wasmExports["Ic"];__emscripten_run_js_on_main_thread=wasmExports["Jc"];__emscripten_thread_free_data=wasmExports["Kc"];__emscripten_thread_exit=wasmExports["Lc"];__emscripten_check_mailbox=wasmExports["Mc"];_memalign=wasmExports["Nc"];_setThrew=wasmExports["Oc"];_emscripten_stack_set_limits=wasmExports["Pc"];__emscripten_stack_restore=wasmExports["Qc"];__emscripten_stack_alloc=wasmExports["Rc"];_emscripten_stack_get_current=wasmExports["Sc"];___cxa_decrement_exception_refcount=wasmExports["Tc"];___cxa_get_exception_ptr=wasmExports["Uc"];__wasmfs_fetch_get_file_url=wasmExports["Vc"];__wasmfs_fetch_get_chunk_size=wasmExports["Wc"];__wasmfs_read_file=wasmExports["Xc"];__wasmfs_write_file=wasmExports["Yc"];__wasmfs_mkdir=wasmExports["Zc"];__wasmfs_rmdir=wasmExports["_c"];__wasmfs_open=wasmExports["$c"];__wasmfs_mknod=wasmExports["ad"];__wasmfs_unlink=wasmExports["bd"];__wasmfs_chdir=wasmExports["cd"];__wasmfs_symlink=wasmExports["dd"];__wasmfs_readlink=wasmExports["ed"];__wasmfs_write=wasmExports["fd"];__wasmfs_pwrite=wasmExports["gd"];__wasmfs_chmod=wasmExports["hd"];__wasmfs_fchmod=wasmExports["id"];__wasmfs_lchmod=wasmExports["jd"];__wasmfs_llseek=wasmExports["kd"];__wasmfs_rename=wasmExports["ld"];__wasmfs_read=wasmExports["md"];__wasmfs_pread=wasmExports["nd"];__wasmfs_truncate=wasmExports["od"];__wasmfs_ftruncate=wasmExports["pd"];__wasmfs_close=wasmExports["qd"];__wasmfs_mmap=wasmExports["rd"];__wasmfs_msync=wasmExports["sd"];__wasmfs_munmap=wasmExports["td"];__wasmfs_utime=wasmExports["ud"];__wasmfs_stat=wasmExports["vd"];__wasmfs_lstat=wasmExports["wd"];__wasmfs_mount=wasmExports["xd"];__wasmfs_identify=wasmExports["yd"];__wasmfs_readdir_start=wasmExports["zd"];__wasmfs_readdir_get=wasmExports["Ad"];__wasmfs_readdir_finish=wasmExports["Bd"];__wasmfs_get_cwd=wasmExports["Cd"];_wasmfs_create_jsimpl_backend=wasmExports["Dd"];_wasmfs_unmount=wasmExports["Ed"];dynCall_vijj=dynCalls["vijj"]=wasmExports["Fd"];dynCall_jj=dynCalls["jj"]=wasmExports["Gd"];dynCall_ij=dynCalls["ij"]=wasmExports["Hd"];dynCall_vj=dynCalls["vj"]=wasmExports["Id"];dynCall_vjj=dynCalls["vjj"]=wasmExports["Jd"];dynCall_vjij=dynCalls["vjij"]=wasmExports["Kd"];dynCall_jjj=dynCalls["jjj"]=wasmExports["Ld"];dynCall_ifj=dynCalls["ifj"]=wasmExports["Md"];dynCall_vjjj=dynCalls["vjjj"]=wasmExports["Nd"];dynCall_vjjjj=dynCalls["vjjjj"]=wasmExports["Od"];dynCall_vjjjjj=dynCalls["vjjjjj"]=wasmExports["Pd"];dynCall_jjjj=dynCalls["jjjj"]=wasmExports["Qd"];dynCall_ijj=dynCalls["ijj"]=wasmExports["Rd"];dynCall_jjjjj=dynCalls["jjjjj"]=wasmExports["Sd"];dynCall_jjjii=dynCalls["jjjii"]=wasmExports["Td"];dynCall_jjji=dynCalls["jjji"]=wasmExports["Ud"];dynCall_vji=dynCalls["vji"]=wasmExports["Vd"];dynCall_ijiii=dynCalls["ijiii"]=wasmExports["Wd"];dynCall_vjiiii=dynCalls["vjiiii"]=wasmExports["Xd"];dynCall_iji=dynCalls["iji"]=wasmExports["Yd"];dynCall_vjjii=dynCalls["vjjii"]=wasmExports["Zd"];dynCall_v=dynCalls["v"]=wasmExports["_d"];dynCall_vijjiiiijjj=dynCalls["vijjiiiijjj"]=wasmExports["$d"];dynCall_ijjjj=dynCalls["ijjjj"]=wasmExports["ae"];dynCall_djj=dynCalls["djj"]=wasmExports["be"];dynCall_ijjj=dynCalls["ijjj"]=wasmExports["ce"];dynCall_ijji=dynCalls["ijji"]=wasmExports["de"];dynCall_jjjjii=dynCalls["jjjjii"]=wasmExports["ee"];dynCall_vjjjjii=dynCalls["vjjjjii"]=wasmExports["fe"];dynCall_ijii=dynCalls["ijii"]=wasmExports["ge"];dynCall_ijjjjjj=dynCalls["ijjjjjj"]=wasmExports["he"];dynCall_ijjjjjjjj=dynCalls["ijjjjjjjj"]=wasmExports["ie"];dynCall_ijjjjj=dynCalls["ijjjjj"]=wasmExports["je"];dynCall_ijjii=dynCalls["ijjii"]=wasmExports["ke"];dynCall_vijjjjjji=dynCalls["vijjjjjji"]=wasmExports["le"];dynCall_vi=dynCalls["vi"]=wasmExports["me"];dynCall_i=dynCalls["i"]=wasmExports["ne"];dynCall_ijijj=dynCalls["ijijj"]=wasmExports["oe"];dynCall_iii=dynCalls["iii"]=wasmExports["pe"];dynCall_vijjjj=dynCalls["vijjjj"]=wasmExports["qe"];dynCall_vjijj=dynCalls["vjijj"]=wasmExports["re"];dynCall_vjijjj=dynCalls["vjijjj"]=wasmExports["se"];dynCall_vjjjij=dynCalls["vjjjij"]=wasmExports["te"];dynCall_jji=dynCalls["jji"]=wasmExports["ue"];dynCall_vjiii=dynCalls["vjiii"]=wasmExports["ve"];dynCall_vjjjjjj=dynCalls["vjjjjjj"]=wasmExports["we"];dynCall_vijjj=dynCalls["vijjj"]=wasmExports["xe"];dynCall_jjjjjj=dynCalls["jjjjjj"]=wasmExports["ye"];dynCall_ji=dynCalls["ji"]=wasmExports["ze"];dynCall_vjjij=dynCalls["vjjij"]=wasmExports["Ae"];dynCall_ijjjjii=dynCalls["ijjjjii"]=wasmExports["Be"];dynCall_ijjjjjjj=dynCalls["ijjjjjjj"]=wasmExports["Ce"];dynCall_ijij=dynCalls["ijij"]=wasmExports["De"];dynCall_viifffj=dynCalls["viifffj"]=wasmExports["Ee"];dynCall_ii=dynCalls["ii"]=wasmExports["Fe"];dynCall_vjjji=dynCalls["vjjji"]=wasmExports["Ge"];dynCall_vjji=dynCalls["vjji"]=wasmExports["He"];dynCall_vij=dynCalls["vij"]=wasmExports["Ie"];dynCall_vjjjjjji=dynCalls["vjjjjjji"]=wasmExports["Je"];dynCall_ijjjjjjji=dynCalls["ijjjjjjji"]=wasmExports["Ke"];dynCall_vjjijj=dynCalls["vjjijj"]=wasmExports["Le"];dynCall_j=dynCalls["j"]=wasmExports["Me"];dynCall_ijdiiii=dynCalls["ijdiiii"]=wasmExports["Ne"];dynCall_vjjjii=dynCalls["vjjjii"]=wasmExports["Oe"];dynCall_jjjjij=dynCalls["jjjjij"]=wasmExports["Pe"];dynCall_jjjjjjj=dynCalls["jjjjjjj"]=wasmExports["Qe"];dynCall_jjjjid=dynCalls["jjjjid"]=wasmExports["Re"];dynCall_jjjjijj=dynCalls["jjjjijj"]=wasmExports["Se"];dynCall_jjjjjjjii=dynCalls["jjjjjjjii"]=wasmExports["Te"];dynCall_jjjjijii=dynCalls["jjjjijii"]=wasmExports["Ue"];dynCall_jjjjijjj=dynCalls["jjjjijjj"]=wasmExports["Ve"];dynCall_jjjijijj=dynCalls["jjjijijj"]=wasmExports["We"];dynCall_jjjijij=dynCalls["jjjijij"]=wasmExports["Xe"];dynCall_vjjjiij=dynCalls["vjjjiij"]=wasmExports["Ye"];_asyncify_start_unwind=wasmExports["Ze"];_asyncify_stop_unwind=wasmExports["_e"];_asyncify_start_rewind=wasmExports["$e"];_asyncify_stop_rewind=wasmExports["af"];__indirect_function_table=wasmTable=wasmExports["Pb"]}var wasmImports;function assignWasmImports(){wasmImports={X:___call_sighandler,D:___cxa_begin_catch,G:___cxa_end_catch,b:___cxa_find_matching_catch_2,k:___cxa_find_matching_catch_3,Aa:___cxa_rethrow,i:___cxa_throw,ha:___pthread_create_js,h:___resumeException,oa:__abort_js,ja:__emscripten_init_main_thread_js,ca:__emscripten_notify_mailbox_postmessage,L:__emscripten_receive_on_main_thread_js,Z:__emscripten_runtime_keepalive_clear,J:__emscripten_thread_cleanup,ia:__emscripten_thread_mailbox_await,ma:__emscripten_thread_set_strongref,$:__tzset_js,gb:__wasmfs_copy_preloaded_file_data,lb:__wasmfs_create_fetch_backend_js,eb:__wasmfs_get_num_preloaded_dirs,fb:__wasmfs_get_num_preloaded_files,bb:__wasmfs_get_preloaded_child_path,$a:__wasmfs_get_preloaded_file_mode,hb:__wasmfs_get_preloaded_file_size,cb:__wasmfs_get_preloaded_parent_path,ab:__wasmfs_get_preloaded_path_name,_a:__wasmfs_jsimpl_alloc_file,W:__wasmfs_jsimpl_async_alloc_file,mb:__wasmfs_jsimpl_async_free_file,V:__wasmfs_jsimpl_async_get_size,U:__wasmfs_jsimpl_async_read,T:__wasmfs_jsimpl_async_write,S:__wasmfs_jsimpl_free_file,Za:__wasmfs_jsimpl_get_size,Ya:__wasmfs_jsimpl_read,Wa:__wasmfs_jsimpl_set_size,Xa:__wasmfs_jsimpl_write,jb:__wasmfs_stdin_get_char,kb:__wasmfs_thread_utils_heartbeat,na:_clock_time_get,K:_emscripten_check_blocking_allowed,u:_emscripten_date_now,A:_emscripten_err,N:_emscripten_exit_with_live_runtime,da:_emscripten_get_heap_max,M:_emscripten_get_now,ua:_emscripten_has_asyncify,ea:_emscripten_num_logical_cores,ib:_emscripten_out,ba:_emscripten_resize_heap,fa:_emscripten_unwind_to_js_event_loop,ta:_emwgpuAdapterRequestDevice,za:_emwgpuBufferDestroy,ya:_emwgpuBufferGetConstMappedRange,xa:_emwgpuBufferMapAsync,wa:_emwgpuBufferUnmap,s:_emwgpuDelete,sa:_emwgpuDeviceCreateBuffer,ra:_emwgpuDeviceCreateShaderModule,F:_emwgpuDeviceDestroy,qa:_emwgpuInstanceRequestAdapter,pa:_emwgpuQueueOnSubmittedWorkDone,va:_emwgpuWaitAny,ka:_environ_get,la:_environ_sizes_get,ga:_exit,v:invoke_ij,E:invoke_iji,w:invoke_ijj,H:invoke_ijjj,x:invoke_ijjjj,t:invoke_ijjjjii,Da:invoke_ijjjjjjj,Ba:invoke_ijjjjjjji,d:invoke_jj,Q:invoke_jji,f:invoke_jjj,B:invoke_jjji,j:invoke_jjjj,q:invoke_jjjjj,La:invoke_jjjjjj,e:invoke_v,z:invoke_vijj,c:invoke_vj,m:invoke_vji,O:invoke_vjiii,Ra:invoke_vjij,r:invoke_vjijj,P:invoke_vjijjj,n:invoke_vjj,y:invoke_vjji,l:invoke_vjjij,g:invoke_vjjj,Ca:invoke_vjjji,Sa:invoke_vjjjij,o:invoke_vjjjj,R:invoke_vjjjjj,p:invoke_vjjjjjj,C:invoke_vjjjjjji,a:wasmMemory,Y:_proc_exit,_:_random_get,Va:_wgpuAdapterGetFeatures,db:_wgpuAdapterGetInfo,aa:_wgpuAdapterGetLimits,Ua:_wgpuAdapterHasFeature,Qa:_wgpuBufferGetSize,Ia:_wgpuCommandEncoderBeginComputePass,Oa:_wgpuCommandEncoderCopyBufferToBuffer,Na:_wgpuCommandEncoderFinish,Fa:_wgpuComputePassEncoderDispatchWorkgroups,Ea:_wgpuComputePassEncoderEnd,Ga:_wgpuComputePassEncoderSetBindGroup,Ha:_wgpuComputePassEncoderSetPipeline,Ka:_wgpuComputePipelineGetBindGroupLayout,Ja:_wgpuDeviceCreateBindGroup,Pa:_wgpuDeviceCreateCommandEncoder,Ta:_wgpuDeviceCreateComputePipeline,Ma:_wgpuQueueSubmit,I:_wgpuQueueWriteBuffer}}function invoke_jj(index,a1){var sp=stackSave();try{return dynCall_jj(Number(index),a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0);return 0n}}function invoke_vj(index,a1){var sp=stackSave();try{dynCall_vj(Number(index),a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_jjjj(index,a1,a2,a3){var sp=stackSave();try{return dynCall_jjjj(Number(index),a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0);return 0n}}function invoke_ijjjj(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_ijjjj(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vjijj(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vjijj(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_ijj(index,a1,a2){var sp=stackSave();try{return dynCall_ijj(Number(index),a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vjj(index,a1,a2){var sp=stackSave();try{dynCall_vjj(Number(index),a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_iji(index,a1,a2){var sp=stackSave();try{return dynCall_iji(Number(index),a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_jjj(index,a1,a2){var sp=stackSave();try{return dynCall_jjj(Number(index),a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0);return 0n}}function invoke_v(index){var sp=stackSave();try{dynCall_v(Number(index))}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vijj(index,a1,a2,a3){var sp=stackSave();try{dynCall_vijj(Number(index),a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vjjjij(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_vjjjij(Number(index),a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vjij(index,a1,a2,a3){var sp=stackSave();try{dynCall_vjij(Number(index),a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vjjj(index,a1,a2,a3){var sp=stackSave();try{dynCall_vjjj(Number(index),a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_jjjjj(index,a1,a2,a3,a4){var sp=stackSave();try{return dynCall_jjjjj(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0);return 0n}}function invoke_vjjjjjj(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{dynCall_vjjjjjj(Number(index),a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_jjjjjj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{return dynCall_jjjjjj(Number(index),a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0);return 0n}}function invoke_vjjjjj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_vjjjjj(Number(index),a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_jji(index,a1,a2){var sp=stackSave();try{return dynCall_jji(Number(index),a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0);return 0n}}function invoke_vjijjj(index,a1,a2,a3,a4,a5){var sp=stackSave();try{dynCall_vjijjj(Number(index),a1,a2,a3,a4,a5)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vjiii(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vjiii(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vjjjj(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vjjjj(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_ij(index,a1){var sp=stackSave();try{return dynCall_ij(Number(index),a1)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vjjij(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vjjij(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_ijjjjii(index,a1,a2,a3,a4,a5,a6){var sp=stackSave();try{return dynCall_ijjjjii(Number(index),a1,a2,a3,a4,a5,a6)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_ijjjjjjj(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{return dynCall_ijjjjjjj(Number(index),a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_ijjj(index,a1,a2,a3){var sp=stackSave();try{return dynCall_ijjj(Number(index),a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vjjji(index,a1,a2,a3,a4){var sp=stackSave();try{dynCall_vjjji(Number(index),a1,a2,a3,a4)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vji(index,a1,a2){var sp=stackSave();try{dynCall_vji(Number(index),a1,a2)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vjjjjjji(index,a1,a2,a3,a4,a5,a6,a7){var sp=stackSave();try{dynCall_vjjjjjji(Number(index),a1,a2,a3,a4,a5,a6,a7)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_jjji(index,a1,a2,a3){var sp=stackSave();try{return dynCall_jjji(Number(index),a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0);return 0n}}function invoke_ijjjjjjji(index,a1,a2,a3,a4,a5,a6,a7,a8){var sp=stackSave();try{return dynCall_ijjjjjjji(Number(index),a1,a2,a3,a4,a5,a6,a7,a8)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function invoke_vjji(index,a1,a2,a3){var sp=stackSave();try{dynCall_vjji(Number(index),a1,a2,a3)}catch(e){stackRestore(sp);if(!(e instanceof EmscriptenEH))throw e;_setThrew(1,0)}}function applySignatureConversions(wasmExports){wasmExports=Object.assign({},wasmExports);var makeWrapper___PP=f=>(a0,a1,a2)=>f(a0,BigInt(a1?a1:0),BigInt(a2?a2:0));var makeWrapper_pp=f=>a0=>Number(f(BigInt(a0)));var makeWrapper__p=f=>a0=>f(BigInt(a0));var makeWrapper_p=f=>()=>Number(f());var makeWrapper_ppp=f=>(a0,a1)=>Number(f(BigInt(a0),BigInt(a1)));var makeWrapper__p_____=f=>(a0,a1,a2,a3,a4,a5)=>f(BigInt(a0),a1,a2,a3,a4,a5);var makeWrapper__p___=f=>(a0,a1,a2,a3)=>f(BigInt(a0),a1,a2,a3);var makeWrapper__pp_=f=>(a0,a1,a2)=>f(BigInt(a0),BigInt(a1),a2);var makeWrapper___p_p_=f=>(a0,a1,a2,a3,a4)=>f(a0,BigInt(a1),a2,BigInt(a3),a4);var makeWrapper__pp=f=>(a0,a1)=>f(BigInt(a0),BigInt(a1));var makeWrapper__ppp=f=>(a0,a1,a2)=>f(BigInt(a0),BigInt(a1),BigInt(a2));var makeWrapper__p_=f=>(a0,a1)=>f(BigInt(a0),a1);var makeWrapper__p__=f=>(a0,a1,a2)=>f(BigInt(a0),a1,a2);var makeWrapper___pp=f=>(a0,a1,a2)=>f(a0,BigInt(a1),BigInt(a2));var makeWrapper___pp_=f=>(a0,a1,a2,a3)=>f(a0,BigInt(a1),BigInt(a2),a3);var makeWrapper_pp____=f=>(a0,a1,a2,a3,a4)=>Number(f(BigInt(a0),a1,a2,a3,a4));var makeWrapper_p_=f=>a0=>Number(f(a0));var makeWrapper__p____=f=>(a0,a1,a2,a3,a4)=>f(BigInt(a0),a1,a2,a3,a4);var makeWrapper__p__________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8,a9,a10);var makeWrapper__p______=f=>(a0,a1,a2,a3,a4,a5,a6)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6);var makeWrapper__p________=f=>(a0,a1,a2,a3,a4,a5,a6,a7,a8)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7,a8);var makeWrapper__p_______=f=>(a0,a1,a2,a3,a4,a5,a6,a7)=>f(BigInt(a0),a1,a2,a3,a4,a5,a6,a7);wasmExports["Zb"]=makeWrapper___PP(wasmExports["Zb"]);wasmExports["_b"]=makeWrapper_pp(wasmExports["_b"]);wasmExports["$b"]=makeWrapper__p(wasmExports["$b"]);wasmExports["Cc"]=makeWrapper_p(wasmExports["Cc"]);wasmExports["emscripten_builtin_memalign"]=makeWrapper_ppp(wasmExports["emscripten_builtin_memalign"]);wasmExports["Dc"]=makeWrapper__p_____(wasmExports["Dc"]);wasmExports["Ec"]=makeWrapper__p___(wasmExports["Ec"]);wasmExports["Gc"]=makeWrapper__p(wasmExports["Gc"]);wasmExports["Hc"]=makeWrapper__p(wasmExports["Hc"]);wasmExports["Ic"]=makeWrapper__pp_(wasmExports["Ic"]);wasmExports["Jc"]=makeWrapper___p_p_(wasmExports["Jc"]);wasmExports["Kc"]=makeWrapper__p(wasmExports["Kc"]);wasmExports["Lc"]=makeWrapper__p(wasmExports["Lc"]);wasmExports["Nc"]=makeWrapper_ppp(wasmExports["Nc"]);wasmExports["Oc"]=makeWrapper__p(wasmExports["Oc"]);wasmExports["Pc"]=makeWrapper__pp(wasmExports["Pc"]);wasmExports["Qc"]=makeWrapper__p(wasmExports["Qc"]);wasmExports["Rc"]=makeWrapper_pp(wasmExports["Rc"]);wasmExports["Sc"]=makeWrapper_p(wasmExports["Sc"]);wasmExports["Tc"]=makeWrapper__p(wasmExports["Tc"]);wasmExports["Uc"]=makeWrapper_pp(wasmExports["Uc"]);wasmExports["Xc"]=makeWrapper__ppp(wasmExports["Xc"]);wasmExports["Yc"]=makeWrapper__ppp(wasmExports["Yc"]);wasmExports["Zc"]=makeWrapper__p_(wasmExports["Zc"]);wasmExports["_c"]=makeWrapper__p(wasmExports["_c"]);wasmExports["$c"]=makeWrapper__p__(wasmExports["$c"]);wasmExports["ad"]=makeWrapper__p__(wasmExports["ad"]);wasmExports["bd"]=makeWrapper__p(wasmExports["bd"]);wasmExports["cd"]=makeWrapper__p(wasmExports["cd"]);wasmExports["dd"]=makeWrapper__pp(wasmExports["dd"]);wasmExports["ed"]=makeWrapper__pp(wasmExports["ed"]);wasmExports["hd"]=makeWrapper__p_(wasmExports["hd"]);wasmExports["jd"]=makeWrapper__p_(wasmExports["jd"]);wasmExports["ld"]=makeWrapper__pp(wasmExports["ld"]);wasmExports["md"]=makeWrapper___pp(wasmExports["md"]);wasmExports["nd"]=makeWrapper___pp_(wasmExports["nd"]);wasmExports["od"]=makeWrapper__p_(wasmExports["od"]);wasmExports["rd"]=makeWrapper_pp____(wasmExports["rd"]);wasmExports["sd"]=makeWrapper__pp_(wasmExports["sd"]);wasmExports["td"]=makeWrapper__pp(wasmExports["td"]);wasmExports["ud"]=makeWrapper__p__(wasmExports["ud"]);wasmExports["xd"]=makeWrapper__pp(wasmExports["xd"]);wasmExports["yd"]=makeWrapper__p(wasmExports["yd"]);wasmExports["Cd"]=makeWrapper_p_(wasmExports["Cd"]);wasmExports["Fd"]=makeWrapper__p___(wasmExports["Fd"]);wasmExports["Gd"]=makeWrapper__p_(wasmExports["Gd"]);wasmExports["Hd"]=makeWrapper__p_(wasmExports["Hd"]);wasmExports["Id"]=makeWrapper__p_(wasmExports["Id"]);wasmExports["Jd"]=makeWrapper__p__(wasmExports["Jd"]);wasmExports["Kd"]=makeWrapper__p___(wasmExports["Kd"]);wasmExports["Ld"]=makeWrapper__p__(wasmExports["Ld"]);wasmExports["Md"]=makeWrapper__p__(wasmExports["Md"]);wasmExports["Nd"]=makeWrapper__p___(wasmExports["Nd"]);wasmExports["Od"]=makeWrapper__p____(wasmExports["Od"]);wasmExports["Pd"]=makeWrapper__p_____(wasmExports["Pd"]);wasmExports["Qd"]=makeWrapper__p___(wasmExports["Qd"]);wasmExports["Rd"]=makeWrapper__p__(wasmExports["Rd"]);wasmExports["Sd"]=makeWrapper__p____(wasmExports["Sd"]);wasmExports["Td"]=makeWrapper__p____(wasmExports["Td"]);wasmExports["Ud"]=makeWrapper__p___(wasmExports["Ud"]);wasmExports["Vd"]=makeWrapper__p__(wasmExports["Vd"]);wasmExports["Wd"]=makeWrapper__p____(wasmExports["Wd"]);wasmExports["Xd"]=makeWrapper__p_____(wasmExports["Xd"]);wasmExports["Yd"]=makeWrapper__p__(wasmExports["Yd"]);wasmExports["Zd"]=makeWrapper__p____(wasmExports["Zd"]);wasmExports["_d"]=makeWrapper__p(wasmExports["_d"]);wasmExports["$d"]=makeWrapper__p__________(wasmExports["$d"]);wasmExports["ae"]=makeWrapper__p____(wasmExports["ae"]);wasmExports["be"]=makeWrapper__p__(wasmExports["be"]);wasmExports["ce"]=makeWrapper__p___(wasmExports["ce"]);wasmExports["de"]=makeWrapper__p___(wasmExports["de"]);wasmExports["ee"]=makeWrapper__p_____(wasmExports["ee"]);wasmExports["fe"]=makeWrapper__p______(wasmExports["fe"]);wasmExports["ge"]=makeWrapper__p___(wasmExports["ge"]);wasmExports["he"]=makeWrapper__p______(wasmExports["he"]);wasmExports["ie"]=makeWrapper__p________(wasmExports["ie"]);wasmExports["je"]=makeWrapper__p_____(wasmExports["je"]);wasmExports["ke"]=makeWrapper__p____(wasmExports["ke"]);wasmExports["le"]=makeWrapper__p________(wasmExports["le"]);wasmExports["me"]=makeWrapper__p_(wasmExports["me"]);wasmExports["ne"]=makeWrapper__p(wasmExports["ne"]);wasmExports["oe"]=makeWrapper__p____(wasmExports["oe"]);wasmExports["pe"]=makeWrapper__p__(wasmExports["pe"]);wasmExports["qe"]=makeWrapper__p_____(wasmExports["qe"]);wasmExports["re"]=makeWrapper__p____(wasmExports["re"]);wasmExports["se"]=makeWrapper__p_____(wasmExports["se"]);wasmExports["te"]=makeWrapper__p_____(wasmExports["te"]);wasmExports["ue"]=makeWrapper__p__(wasmExports["ue"]);wasmExports["ve"]=makeWrapper__p____(wasmExports["ve"]);wasmExports["we"]=makeWrapper__p______(wasmExports["we"]);wasmExports["xe"]=makeWrapper__p____(wasmExports["xe"]);wasmExports["ye"]=makeWrapper__p_____(wasmExports["ye"]);wasmExports["ze"]=makeWrapper__p_(wasmExports["ze"]);wasmExports["Ae"]=makeWrapper__p____(wasmExports["Ae"]);wasmExports["Be"]=makeWrapper__p______(wasmExports["Be"]);wasmExports["Ce"]=makeWrapper__p_______(wasmExports["Ce"]);wasmExports["De"]=makeWrapper__p___(wasmExports["De"]);wasmExports["Ee"]=makeWrapper__p______(wasmExports["Ee"]);wasmExports["Fe"]=makeWrapper__p_(wasmExports["Fe"]);wasmExports["Ge"]=makeWrapper__p____(wasmExports["Ge"]);wasmExports["He"]=makeWrapper__p___(wasmExports["He"]);wasmExports["Ie"]=makeWrapper__p__(wasmExports["Ie"]);wasmExports["Je"]=makeWrapper__p_______(wasmExports["Je"]);wasmExports["Ke"]=makeWrapper__p________(wasmExports["Ke"]);wasmExports["Le"]=makeWrapper__p_____(wasmExports["Le"]);wasmExports["Me"]=makeWrapper__p(wasmExports["Me"]);wasmExports["Ne"]=makeWrapper__p______(wasmExports["Ne"]);wasmExports["Oe"]=makeWrapper__p_____(wasmExports["Oe"]);wasmExports["Pe"]=makeWrapper__p_____(wasmExports["Pe"]);wasmExports["Qe"]=makeWrapper__p______(wasmExports["Qe"]);wasmExports["Re"]=makeWrapper__p_____(wasmExports["Re"]);wasmExports["Se"]=makeWrapper__p______(wasmExports["Se"]);wasmExports["Te"]=makeWrapper__p________(wasmExports["Te"]);wasmExports["Ue"]=makeWrapper__p_______(wasmExports["Ue"]);wasmExports["Ve"]=makeWrapper__p_______(wasmExports["Ve"]);wasmExports["We"]=makeWrapper__p_______(wasmExports["We"]);wasmExports["Xe"]=makeWrapper__p______(wasmExports["Xe"]);wasmExports["Ye"]=makeWrapper__p______(wasmExports["Ye"]);wasmExports["Ze"]=makeWrapper__p(wasmExports["Ze"]);wasmExports["$e"]=makeWrapper__p(wasmExports["$e"]);return wasmExports}function callMain(){var entryFunction=_main;var argc=0;var argv=0;try{var ret=entryFunction(argc,BigInt(argv));exitJS(ret,true);return ret}catch(e){return handleException(e)}}function run(){if(runDependencies>0){dependenciesFulfilled=run;return}if(ENVIRONMENT_IS_PTHREAD){readyPromiseResolve?.(Module);initRuntime();return}preRun();if(runDependencies>0){dependenciesFulfilled=run;return}function doRun(){Module["calledRun"]=true;if(ABORT)return;initRuntime();preMain();readyPromiseResolve?.(Module);Module["onRuntimeInitialized"]?.();var noInitialRun=Module["noInitialRun"]||false;if(!noInitialRun)callMain();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(()=>{setTimeout(()=>Module["setStatus"](""),1);doRun()},1)}else{doRun()}}var wasmExports;if(!ENVIRONMENT_IS_PTHREAD){wasmExports=await (createWasm());run()}if(runtimeInitialized){moduleRtn=Module}else{moduleRtn=new Promise((resolve,reject)=>{readyPromiseResolve=resolve;readyPromiseReject=reject})}
;return moduleRtn}export default createLlamaWebGpuCoreModule;var isPthread=globalThis.name=="em-pthread";isPthread&&createLlamaWebGpuCoreModule();