@wasm-oj/browser 0.2.4 → 0.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -14,7 +14,7 @@ let e,t=null;function n(){return t!==null&&t.buffer===e.memory.buffer||(t=new Ui
14
14
  let result = Atomics.wait(ia, index, value);
15
15
  postMessage(result);
16
16
  };
17
- `],{type:`text/javascript`})),e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;u().setInt32(t+4,r,!0),u().setInt32(t+0,n,!0)},t.wbg.__wbindgen_lt=function(e,t){return e<t},t.wbg.__wbindgen_memory=function(){return e.memory},t.wbg.__wbindgen_module=function(){return Ue.__wbindgen_wasm_module},t.wbg.__wbindgen_neg=function(e){return-e},t.wbg.__wbindgen_number_get=function(e,t){let n=typeof t==`number`?t:void 0;u().setFloat64(e+8,d(n)?0:n,!0),u().setInt32(e+0,!d(n),!0)},t.wbg.__wbindgen_number_new=function(e){return e},t.wbg.__wbindgen_rethrow=function(e){throw e},t.wbg.__wbindgen_shr=function(e,t){return e>>t},t.wbg.__wbindgen_string_get=function(t,n){let r=typeof n==`string`?n:void 0;var i=d(r)?0:c(r,e.__wbindgen_malloc,e.__wbindgen_realloc),a=o;u().setInt32(t+4,a,!0),u().setInt32(t+0,i,!0)},t.wbg.__wbindgen_string_new=function(e,t){return a(e,t)},t.wbg.__wbindgen_throw=function(e,t){throw Error(a(e,t))},t}function Ve(e,t){e.wbg.memory=t||new WebAssembly.Memory({initial:34,maximum:16384,shared:!0})}function He(n,r,i){if(e=n.exports,Ue.__wbindgen_wasm_module=r,l=null,t=null,i!==void 0&&(typeof i!=`number`||i===0||i%65536!=0))throw`invalid stack size`;return e.__wbindgen_start(i),e}async function Ue(t,n){if(e!==void 0)return e;let r;t!==void 0&&(Object.getPrototypeOf(t)===Object.prototype?{module_or_path:t,memory:n,thread_stack_size:r}=t:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`)),t===void 0&&(t=new URL(``+new URL(`wasmer_js_bg-lccPpAdN.wasm`,import.meta.url).href,``+import.meta.url));let i=Be();(typeof t==`string`||typeof Request==`function`&&t instanceof Request||typeof URL==`function`&&t instanceof URL)&&(t=fetch(t)),Ve(i,n);let{instance:a,module:o}=await async function(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(!e.ok||!ze.has(e.type)||e.headers.get(`Content-Type`)===`application/wasm`)throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}let n=await e.arrayBuffer();return await WebAssembly.instantiate(n,t)}{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}}(await t,i);return He(a,o,r)}const We=async(e,t)=>{e?(e instanceof WebAssembly.Module||e instanceof URL||e instanceof WebAssembly.Module)&&(t?(console.info("Passing the module and memory as first arguments to the init function is deprecated, please use: `init({module: WASM_MODULE, memory: WASM_MEMORY})`"),e={module:e,memory:t}):(console.info("Passing the module as first argument to the init function is deprecated, please use: `init({module: WASM_MODULE})`"),e={module:e})):e={},Ge(e);let n=await Ue(e.module,e.memory);return e.log&&se(e.log),e.workerUrl&&oe(e.workerUrl.toString()),e.sdkUrl?ae(e.sdkUrl.toString()):ae(new URL(``+new URL(`index-CMYYN-aK.mjs`,import.meta.url).href,``+import.meta.url).toString()),n},Ge=e=>{globalThis.__WASMER_REGISTRY__={registryUrl:e.registryUrl,token:e.token}};var Ke=``+new URL(`wasmer_js_bg-lccPpAdN.wasm`,import.meta.url).href;const g=`wasm-oj-v2`,qe=Object.freeze({clangPins:`${g}/clang-pins`,clangLibcxxPch:`${g}/clang-libcxx-pch`,clangToolchain:`${g}/clang-toolchain`,compileBatch:`${g}/compile-batch`,compileTrace:`${g}/compile-trace`,conformance:`${g}/conformance`,conformanceEvidence:`${g}/conformance-evidence`,conformanceMatrix:`${g}/conformance-matrix`,cppDependencyLock:`${g}/cpp-dependency-lock`,dependencyLock:`${g}/dependency-lock`,dependencyOfflineBundle:`${g}/dependency-offline-bundle`,incrementalBuildGraph:`${g}/incremental-build-graph`,interactiveRequest:`${g}/interactive-request`,goToolchain:`${g}/go-toolchain`,objectCache:`${g}/object-cache`,pythonToolchain:`${g}/python-toolchain`,replayBundle:`${g}/replay-bundle`,rustToolchain:`${g}/rust-toolchain`,runRequest:`${g}/run-request`,runtimeBundle:`${g}/runtime-bundle`,runtimeCoreLicenses:`${g}/runtime-core-licenses`,thirdPartyComponents:`${g}/third-party-components`,wasmerSdkLicenses:`${g}/wasmer-sdk-licenses`,toolchainPackage:`${g}/toolchain-package`}),Je=Object.freeze({database:`${g}:storage`,databaseVersion:2,dependencyCache:`${g}:dependencies`,incrementalBuildCache:`${g}:incremental-build-cache`,runtimeFilesCache:`${g}:runtime-files`,toolchainCache:`${g}:toolchains`}),Ye=Object.freeze([`c`,`cpp`,`rust`,`python`,`javascript`,`typescript`,`go`]);function _(e){if(typeof e!=`string`||!e||e!==e.trim()||e.length>128)throw Error(`Language identifiers must be non-empty, trimmed, and at most 128 characters.`)}function v(e){return Ye.includes(e)}Object.freeze([`cargo`,`npm`,`pypi`,`go`,`cpp`]);const y=`22.0.0-git20542-10`,Xe=`wasm-oj/clang@${y}`,Ze=`/toolchains/clang-${y}.webc.gz.bin`,Qe=`/toolchains/clang-${y}.cc1-pins.json`,$e=`/toolchains/clang-${y}.manifest.json`,et=`/toolchains/clang-${y}.libcxx-pch.json`,tt=`/toolchains/clang-${y}.cpp-debug.pch.gz.bin`,nt=`/toolchains/clang-${y}.cpp-release.pch.gz.bin`,rt=`7f10d90b8e52b270f04874641a1d0bf9e94e85b4f6c7573a774cebbc6d32552a`,it=`21ded33b9c6d4e1aaad5528c940bdaf6c3e84be77ea8f522f018ca7289a2a224`,at=`895eee17c63b1112c84adcc4ddbcb38e0c18e53bff15f50a8689b9b82d87b1ff`,ot=`6382dcdfb6a2da49032a0e08da3b1fb490eb24432be85c3c12e3e871a5065273`,st=Object.freeze({"cpp-debug":Object.freeze({path:tt,sha256:`c420c4643c48826643e75585d5bfdc281f11883d4bda28b283e3c706f3046b3a`,compressedSha256:`a3811351bae3289caf096f2d4bb6d2ee5db84b97e05514e87190d36b65c500cf`}),"cpp-release":Object.freeze({path:nt,sha256:`c4b2132cc6d698e97dd1386431fdb54faaaf38b35b2528c7bc854f860d1f64b1`,compressedSha256:`ef004fc05ec50af697a37f7c9c814bf62e9676d0de162d6ac35305533939f93f`})}),b=`3.14.7`,ct=`a42c98f5f00582638c8e445440c506bbf94d5e55b3415d1f8d82d11c56cd4b56`,lt=`${`wasm-oj/cpython@${b}`}#sha256:${ct}`,ut=`/toolchains/python-${b}-wasip1.webc.gz.bin`,dt=`/toolchains/python-${b}-wasip1.manifest.json`,ft=`10027f0e32c77dfa0ce1c413b6cb27307d6744fe5e18e6da8cea738bd020260c`,pt=`53a24b258363a8494af164121111a34b49c85fa0e054627fe131feba6f359cd5`,mt=`c1acac884af1c86833db5b65f8cc0a2304fce74dea0a05d9b40bde0a4e3e7c0e`,ht=`0.15.1`,gt=`wasm-oj/quickjs-ng@${ht}`,_t=`/toolchains/quickjs-${ht}.wasm.gz.bin`,vt=`dc6e02e8610269e61b341331661515616451cec929fd534fa96d1c4f47fbcc9a`,yt=`7.0.2`,bt=`/toolchains/typescript-${yt}.wasm.gz.bin`,xt=`29c6ee0e46151e2644049ae96162b1b1d46dcb13310e2a928114bb9030c3ea92`,St=`1.91.1-dev`,Ct=`/toolchains/rust-${St}.webc.gz.bin`,wt=`/toolchains/rust-${St}.manifest.json`,Tt=`cfbdadc67be1315e735aa55bdf8a5a0d00171982a023fefcf7ba586127753887`,Et=`765de8d68d03078e79f69f49dec0dcab1ff96fe3bbe5e9eafebb2ce61a39d3ee`,Dt=`d5bbdca994e61888679c5738cb9420649c0854ed0eb5d65468bc67d5d550bce1`,x=`1.26.5`,Ot=`/toolchains/go-${x}-wasip1.webc.gz.bin`,kt=`/toolchains/go-${x}-wasip1.manifest.json`,At=`/toolchains/go-${x}-wasip1.stdlib.gz.bin`,jt=`70a7e359884b09b2e1a622d6ac5cd6e31c334aab519e6dd80dff5e040a9e09e4`,Mt=`c3a97934b6a83fefdea5c31f99141f70f76189eedc9ec0fa9ccd41302e50963b`,Nt=`5d784e9ca640b9525e84b598c0beb97ca110ae908568ca45f6441a441d99a262`,Pt=`aeffc384fdc624544f174ba5fc3c22395717fdbc3c4387d677d20855b6be80d8`,Ft=`e1ec64b08efd02b35b7ffdaf3970875aaae98325fa4795eafca94ebae2d0d192`,It=`9e557f5b86961fd604217d7521461c5d2b7322e383fa30dead5669b77db12201`,Lt=`2eefca10af935a307ab7946447146bd30e0ea0fb5460be54dc1c55844d155580`,Rt=`8c37bce1c6fceeaffeffe93e10834309b67c8b6fb58c6f8a24547afe8be67f5d`,zt=`738a82b7d7e7ff8d98b07bb076785da7035847a166afb8446fd150c4efce6103`,Bt=`0ed234b66cdde19cb29e6c2865a3636d792d3cf72f102e73a7b3fdede80b79e6`,Vt=Object.freeze({[Ze]:rt,[Qe]:at,[$e]:ot,[et]:`9bbe41d77c786f1c36169369c909268530b05726e1581683f6edd9a2983eebd0`,[tt]:st[`cpp-debug`].compressedSha256,[nt]:st[`cpp-release`].compressedSha256,[ut]:ft,[dt]:pt,[_t]:vt,[bt]:xt,[Ct]:Tt,[wt]:Dt,[Ot]:jt,[kt]:Nt,[At]:Pt,"/toolchains/java-teavm-0.13.1.compiler.wasm":Rt,"/toolchains/java-teavm-0.13.1.compile-classlib.bin":zt,"/toolchains/java-teavm-0.13.1.runtime-classlib.bin":Bt}),Ht=Object.freeze({c:Object.freeze([rt,it,at,ot]),cpp:Object.freeze([rt,it,at,ot]),rust:Object.freeze([Tt,Et,Dt]),python:Object.freeze([ft,ct,pt,mt]),javascript:Object.freeze([xt,vt]),typescript:Object.freeze([xt,vt]),go:Object.freeze([jt,Mt,Nt,Pt,Ft,It,Lt])});function Ut(e){if(e===`java`)return[Rt,zt,Bt].join(`.`);if(!v(e))throw Error(`WASM-OJ has no built-in toolchain for '${e}'.`);return Ht[e].join(`.`)}function S(e){return Object.freeze({...e,compilerPackages:Object.freeze([...e.compilerPackages]),targets:Object.freeze([...e.targets])})}const Wt=Object.freeze({c:S({language:`c`,label:`Clang 22`,artifact:`wasm`,compilerPackages:[Xe],targets:[`wasip1`,`wasix`],version:y,note:`Native wasip1 module via Clang and LLD; directly executable by WASI and WASIX runtimes.`}),cpp:S({language:`cpp`,label:`Clang++ 22 (C++20)`,artifact:`wasm`,compilerPackages:[Xe],targets:[`wasip1`,`wasix`],version:y,note:`C++20/libc++ wasip1 module; directly executable by WASI and WASIX runtimes.`}),rust:S({language:`rust`,label:`Rust ${St}`,artifact:`wasm`,compilerPackages:[`rustc@${St}#sha256:${Et}`],targets:[`wasip1`],version:St,note:`Real rustc, its matching standard library, and a fresh deterministic wasm-ld stage execute as one pinned WebC under Wasmer.`}),python:S({language:`python`,label:`CPython ${b}`,artifact:`runtime-bundle`,compilerPackages:[lt],runtimePackage:lt,targets:[`wasip1`],version:b,note:`Python source files executed by the source-built CPython wasm32-wasip1 interpreter and standard library.`}),javascript:S({language:`javascript`,label:`QuickJS-ng`,artifact:`runtime-bundle`,compilerPackages:[`typescript@${yt}-wasi`],runtimePackage:gt,targets:[`wasip1`],version:ht,note:`JavaScript checked by TypeScript/WASI, then executed by the bundled QuickJS-ng/WASI runtime.`}),typescript:S({language:`typescript`,label:`TypeScript + QuickJS-ng`,artifact:`runtime-bundle`,compilerPackages:[`typescript@${yt}-wasi`],runtimePackage:gt,targets:[`wasip1`],version:yt,note:`The native TypeScript compiler and QuickJS-ng runtime both execute as local WASI modules.`}),go:S({language:`go`,label:`Go ${x}`,artifact:`wasm`,compilerPackages:[`go@${x}#sha256:${Mt}`],targets:[`wasip1`],version:x,note:`The standard Go compiler, linker, and pinned wasip1 standard library execute locally as one WebC under Wasmer.`})});function Gt(e){if(e===`java`)return[`wasm-oj/java-teavm@teavm-0.13.1-wasmgc-wasip1`];if(!v(e))throw Error(`WASM-OJ has no built-in toolchain for '${e}'.`);let t=Wt[e];return[...new Set([...t.compilerPackages,...t.runtimePackage?[t.runtimePackage]:[]])]}const C=Object.freeze({files:256,bytesPerFile:4194304,totalBytes:16777216}),Kt=new TextEncoder;function qt(e,t){return e<t?-1:+(e>t)}function w(e,t=`Project path`){if(typeof e!=`string`||!e||e!==e.trim()||e.length>4096)throw Error(`${t} must be a non-empty, trimmed string of at most 4096 characters.`);if(e.startsWith(`/`)||e.includes(`\\`)||e.includes(`\0`)||e.split(`/`).some(e=>!e||e===`.`||e===`..`))throw Error(`${t} '${e}' must be a normalized relative path that cannot escape the project.`)}function Jt(e){if(!Array.isArray(e)||e.length===0)throw Error(`A project must contain at least one source file.`);if(e.length>C.files)throw Error(`A project cannot contain more than ${C.files} source files.`);let t=new Set,n=0;return e.map((e,r)=>{if(!e||typeof e!=`object`)throw Error(`Project file ${r} is invalid.`);if(w(e.path,`Project file ${r} path`),_(e.language),typeof e.content!=`string`)throw Error(`Project file '${e.path}' content must be a string.`);if(e.content.length>C.bytesPerFile)throw Error(`Project file '${e.path}' exceeds the ${C.bytesPerFile} byte source limit.`);let i=Kt.encode(e.content).byteLength;if(i>C.bytesPerFile)throw Error(`Project file '${e.path}' exceeds the ${C.bytesPerFile} byte source limit.`);if(n+=i,n>C.totalBytes)throw Error(`Project sources exceed the ${C.totalBytes} byte total limit.`);if(t.has(e.path))throw Error(`Duplicate project path '${e.path}'.`);return t.add(e.path),{path:e.path,language:e.language,content:e.content}}).sort((e,t)=>qt(e.path,t.path))}function T(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Runtime bundle files must be a record.`);return Object.entries(e).map(([e,t])=>(w(e,`Runtime bundle path`),[e,t])).sort(([e],[t])=>qt(e,t))}async function Yt(e){let t=typeof e==`string`?new TextEncoder().encode(e):e,n=new Uint8Array(t.byteLength);n.set(t);let r=await crypto.subtle.digest(`SHA-256`,n);return Array.from(new Uint8Array(r),e=>e.toString(16).padStart(2,`0`)).join(``)}const E=1048576,Xt=Object.freeze({requirements:128,sourceFiles:128,sourceTextBytes:8*E,hosts:32,roots:512,packages:512,referencesPerPackage:512,concurrency:16,metadataBytes:8*E,packageBytes:256*E,totalDownloadBytes:512*E,archiveFiles:16384,unpackedBytes:512*E});Object.freeze({packages:Xt.packages,filesPerPackage:Xt.archiveFiles,bytesPerFile:64*E,totalBytes:Xt.unpackedBytes});const Zt=/^[a-f0-9]{64}$/,Qt=/^\/toolchains\/[A-Za-z0-9][A-Za-z0-9._+/-]*$/,$t=new URL(`https://wasm-oj.invalid/`);function en(e,t){if(!Array.isArray(e)||e.length===0)throw Error(`At least one explicit WASM-OJ toolchain source is required.`);let n=t??e[0]?.kind;if(n!==`browser`&&n!==`server`)throw Error(`Toolchain sources must declare either the 'browser' or 'server' host kind.`);let r=new Set,i=new Set,a=new Set,o=new Set;for(let[t,s]of e.entries()){if(pn(s,`Toolchain source ${t}`),s.kind!==n)throw Error(`Toolchain source ${t} has host kind '${String(s.kind)}'; expected '${n}'.`);n===`browser`?(D(s,[`kind`,`descriptor`,`baseUrl`],`Browser toolchain source ${t}`),cn(s.baseUrl,t)):(D(s,[`kind`,`descriptor`,`directory`],`Server toolchain source ${t}`),ln(s.directory,t));let e=s.descriptor;if(sn(e,t),r.has(e.id))throw Error(`Toolchain descriptor id '${e.id}' is registered more than once.`);r.add(e.id);for(let t of e.languages){if(i.has(t))throw Error(`Toolchain language '${t}' is owned by more than one descriptor.`);i.add(t)}for(let t of e.profiles){let e=dn(t.language,t.target,t.optimization);if(a.has(e))throw Error(`Toolchain profile '${e}' is registered more than once.`);a.add(e)}for(let t of e.assets){if(o.has(t.path))throw Error(`Toolchain asset '${t.path}' is owned by more than one descriptor.`);o.add(t.path)}}return e}function tn(e){return en(e,`browser`)}function nn(e){tn(e);let t=e.map(e=>Object.freeze({kind:`browser`,baseUrl:e.baseUrl,descriptor:fn(e.descriptor)}));return Object.freeze(t)}function rn(e,t){un(t,`Requested toolchain asset path`);let n;for(let r of e){let e=r.descriptor.assets.find(e=>e.path===t);if(e){if(n)throw Error(`Toolchain asset '${t}' has more than one source.`);n={source:r,asset:e}}}if(!n)throw Error(`No explicit toolchain source declares asset '${t}'.`);return n}function an(e,t,n){let{source:r}=rn(e,t),i=new URL(r.baseUrl,n);if(!i.pathname.endsWith(`/`))throw Error(`Browser toolchain base URL '${r.baseUrl}' must end with '/'.`);return i}function on(e,t,n){let{asset:r}=rn(e,t),i=an(e,t,n),a=[...i.searchParams];i.search=``;let o=new URL(r.path.slice(r.path.lastIndexOf(`/`)+1),i);for(let[e,t]of a)o.searchParams.append(e,t);return o.searchParams.set(`sha256`,r.sha256),o}function sn(e,t){let n=`Toolchain descriptor ${t}`;if(pn(e,n),D(e,[`schema`,`id`,`version`,`wasmOjContract`,`languages`,`profiles`,`assets`],n),e.schema!==qe.toolchainPackage)throw Error(`${n} schema '${String(e.schema)}' is unsupported; expected '${qe.toolchainPackage}'.`);if(e.wasmOjContract!==2)throw Error(`${n} contract '${String(e.wasmOjContract)}' is unsupported; expected '2'.`);if(mn(e.id,`${n} id`,214),mn(e.version,`${n} version`,128),!Array.isArray(e.languages)||e.languages.length===0)throw Error(`${n} must declare at least one language.`);if(!Array.isArray(e.profiles)||e.profiles.length===0)throw Error(`${n} must declare at least one build profile.`);if(!Array.isArray(e.assets)||e.assets.length===0)throw Error(`${n} must declare at least one digest-pinned asset.`);let r=new Set;for(let t of e.languages){if(_(t),r.has(t))throw Error(`${n} repeats language '${t}'.`);r.add(t)}let i=new Set;for(let[t,a]of e.profiles.entries()){if(pn(a,`${n} profile ${t}`),D(a,[`language`,`target`,`optimization`],`${n} profile ${t}`),_(a.language),!r.has(a.language))throw Error(`${n} profile ${t} references undeclared language '${a.language}'.`);if(a.target!==`wasip1`&&a.target!==`wasix`)throw Error(`${n} profile ${t} has unsupported target '${String(a.target)}'.`);if(a.optimization!==`debug`&&a.optimization!==`release`)throw Error(`${n} profile ${t} has unsupported optimization '${String(a.optimization)}'.`);let e=dn(a.language,a.target,a.optimization);if(i.has(e))throw Error(`${n} repeats profile '${e}'.`);i.add(e)}for(let t of r)if(!e.profiles.some(e=>e.language===t))throw Error(`${n} language '${t}' has no build profile.`);let a=new Set;for(let[t,r]of e.assets.entries()){let e=`${n} asset ${t}`;if(pn(r,e),D(r,[`path`,`bytes`,`sha256`,`exportPath`],e),un(r.path,`${e} path`),a.has(r.path))throw Error(`${n} repeats asset '${r.path}'.`);if(a.add(r.path),!Number.isSafeInteger(r.bytes)||r.bytes<=0)throw Error(`${e} bytes must be a positive safe integer.`);if(!Zt.test(r.sha256))throw Error(`${e} sha256 must be a lowercase hexadecimal SHA-256 digest.`);let i=Vt[r.path];if(i!==void 0&&r.sha256!==i)throw Error(`${e} digest '${r.sha256}' does not match the WASM-OJ pin '${i}'.`);let o=`./assets/${r.path.slice(r.path.lastIndexOf(`/`)+1)}`;if(r.exportPath!==o)throw Error(`${e} exportPath must be '${o}'.`)}}function cn(e,t){mn(e,`Browser toolchain source ${t} baseUrl`,4096);let n;try{n=e.startsWith(`/`)?new URL(e,$t):new URL(e)}catch{throw Error(`Browser toolchain source ${t} baseUrl must be absolute or root-relative.`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw Error(`Browser toolchain source ${t} baseUrl must use HTTP or HTTPS.`);if(n.username||n.password)throw Error(`Browser toolchain source ${t} baseUrl must not contain credentials.`);if(n.hash)throw Error(`Browser toolchain source ${t} baseUrl must not contain a fragment.`);if(!n.pathname.endsWith(`/`))throw Error(`Browser toolchain source ${t} baseUrl must identify a directory and end with '/'.`)}function ln(e,t){if(!(e instanceof URL))throw Error(`Server toolchain source ${t} directory must be a URL.`);if(e.protocol!==`file:`)throw Error(`Server toolchain source ${t} directory must use the file: protocol.`);if(e.search||e.hash||!e.pathname.endsWith(`/`))throw Error(`Server toolchain source ${t} directory must be a query-free directory URL ending with '/'.`)}function un(e,t){if(!Qt.test(e)||e.includes(`//`))throw Error(`${t} must be a canonical absolute path below '/toolchains/'.`);let n=e.split(`/`);if(n.includes(`.`)||n.includes(`..`))throw Error(`${t} must not contain traversal segments.`)}function dn(e,t,n){return`${e}/${t}/${n}`}function fn(e){return Object.freeze({...e,languages:Object.freeze([...e.languages]),profiles:Object.freeze(e.profiles.map(e=>Object.freeze({...e}))),assets:Object.freeze(e.assets.map(e=>Object.freeze({...e})))})}function pn(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`${t} must be an object.`)}function D(e,t,n){let r=Object.keys(e).sort(),i=[...t].sort();if(r.length!==i.length||r.some((e,t)=>e!==i[t]))throw Error(`${n} must contain exactly: ${i.join(`, `)}.`)}function mn(e,t,n){if(typeof e!=`string`||e.length===0||e!==e.trim()||e.length>n)throw Error(`${t} must be a non-empty trimmed string of at most ${n} characters.`)}const hn=`weighted`;Object.freeze({instructionBudget:1e10,logicalTimeLimitMs:6e4,memoryLimitBytes:268435456,outputLimitBytes:4194304,filesystemWriteLimitBytes:67108864,filesystemEntryLimit:4096,wallTimeLimitMs:6e4}),new TextEncoder,Object.freeze({runtimeCoreWasmSha256:`0ae00fc646f529aafb5d1a68758220e6428f6c565e8e621eeb6c8f14ac5d4a10`,runtimeSourceRootSha256:`a7e9071511d127e3b14920558c7c38c27a1fa19d98906c8476c1df8041a9c3bb`,wasmerNativeVersion:`7.2.1`,wasmerSdkVersion:`0.10.0`,wasmerSdkWasmSha256:`49a6646209f5ab5e7c737eac33407d87d9a9959ac83e5ecaaab9261b2323589e`,wasmerWasixVersion:`0.702.1`});const gn=`e5680beae9bd832ed2b679267250ce1efc7d104dd005bb155135664b40f961fb`;function _n(e,t,n){return _(e),[`wasm-oj-cost`,`contract-2`,encodeURIComponent(e),t,n]}function vn(e,t,n,r){let i=v(e)?Ut(e):r;if(!i||!/^[A-Za-z0-9._-]+$/.test(i))throw Error(v(e)?`WASM-OJ toolchain content identity is invalid for '${e}'.`:`Downstream language '${e}' requires an explicit content identity using letters, digits, '.', '_' or '-'.`);return[..._n(e,t,n),`content-${i}`,`runtime-${gn}`,hn].join(`:`)}function yn(e,t,n,r){let i=`${_n(t,n,r).join(`:`)}:content-`,a=`:runtime-${gn}:${hn}`;if(!e.startsWith(i)||!e.endsWith(a))return!1;let o=e.slice(i.length,-a.length);return!!o&&/^[A-Za-z0-9._-]+$/.test(o)}const bn=Object.freeze({debug:2907,release:2419}),xn=Ut(`java`),Sn=Object.freeze({[vn(`java`,`wasip1`,`debug`,xn)]:bn.debug,[vn(`java`,`wasip1`,`release`,xn)]:bn.release});var Cn=class{baselines=new Map;sealed=!1;constructor(e={}){for(let[t,n]of Object.entries(e))this.register(t,n)}register(e,t){if(this.sealed)throw Error(`CostBaselineRegistry is sealed after its first lookup.`);if(typeof e!=`string`||!e||e!==e.trim()||e.length>16384)throw Error(`Cost profile IDs must be non-empty, trimmed strings of at most 16384 characters.`);if(!Number.isSafeInteger(t)||t<0)throw RangeError(`Cost baseline '${e}' must be a non-negative safe integer.`);if(this.baselines.has(e))throw Error(`Cost profile '${e}' is already registered.`);this.baselines.set(e,t)}baseline(e){if(this.sealed=!0,typeof e!=`string`||e.length===0)throw Error(`Cost profile is required.`);return this.baselines.get(e)??0}};function wn(){return new Cn(Sn)}function Tn(e={}){return new Cn({...Sn,...e})}function En(e,t,n=wn()){if(!Number.isSafeInteger(t)||t<1)throw RangeError(`Net instruction budget must be a positive safe integer.`);let r=n.baseline(e),i=r+t;if(!Number.isSafeInteger(i))throw RangeError(`Raw instruction budget overflows for cost profile '${e}'.`);return{profile:e,baselineCost:r,netInstructionBudget:t,rawInstructionBudget:i}}function Dn(e,t,n=wn()){if(!(v(e.language)?e.costProfile===vn(e.language,e.target,e.optimization):yn(e.costProfile,e.language,e.target,e.optimization)))throw Error(`Artifact cost profile '${e.costProfile}' does not match ${e.language}/${e.target}/${e.optimization}.`);let r=En(e.costProfile,t,n);if(e.language===`java`&&r.baselineCost===0)throw Error(`Java cost profile '${e.costProfile}' has no calibrated empty-program baseline.`);return r}function On(e,t){if(!e||typeof e!=`object`)throw TypeError(`Runtime metrics must be an object.`);if(!Number.isSafeInteger(e.cost)||e.cost<0)throw RangeError(`Runtime returned an invalid raw instruction cost.`);if(e.costModel!==`weighted`)throw Error(`Runtime returned unsupported cost model '${String(e.costModel)}'.`);if(!e.operations||typeof e.operations!=`object`||Array.isArray(e.operations))throw TypeError(`Runtime operations must be a record of weighted operation counts.`);let n=Object.fromEntries(Object.entries(e.operations).map(([e,t])=>{if(!e||e!==e.trim()||e.length>128)throw Error(`Runtime operation names must be non-empty, trimmed strings of at most 128 characters.`);return O(t,`Runtime operation '${e}' count`),[e,t]}).sort(([e],[t])=>e<t?-1:+(e>t)));return O(e.memoryBytes,`Runtime memoryBytes`),O(e.logicalTimeNs,`Runtime logicalTimeNs`),O(e.filesystemBytes,`Runtime filesystemBytes`),O(e.filesystemEntries,`Runtime filesystemEntries`),O(e.stdoutBytes,`Runtime stdoutBytes`),O(e.stderrBytes,`Runtime stderrBytes`),{cost:Math.max(0,e.cost-t.baselineCost),rawCost:e.cost,baselineCost:t.baselineCost,costProfile:t.profile,costModel:e.costModel,operations:n,memoryBytes:e.memoryBytes,logicalTimeNs:e.logicalTimeNs,filesystemBytes:e.filesystemBytes,filesystemEntries:e.filesystemEntries,stdoutBytes:e.stdoutBytes,stderrBytes:e.stderrBytes}}function O(e,t){if(!Number.isSafeInteger(e)||e<0)throw RangeError(`${t} must be a non-negative safe integer.`)}const kn=new TextEncoder,An=Object.freeze({python:`python`,javascript:`qjs`,typescript:`qjs`});function k(e,t,n=16384){if(typeof e!=`string`||!e||e!==e.trim()||e.length>n)throw Error(`${t} must be a non-empty, trimmed string of at most ${n} characters.`)}function jn(e){return JSON.stringify({schema:qe.runtimeBundle,version:2,name:e.name,target:e.target,language:e.language,runtime:{package:e.runtimePackage,command:e.command},execution:{deterministic:!0,contractVersion:2},entry:e.entry,files:[...e.files]},null,2)}function Mn(e,t,n,r){return k(e.name,`Project name`),k(t,`Runtime package`),k(n,`Runtime command`,128),_(e.config.language),w(r,`Runtime bundle entry`),jn({name:e.name,target:e.config.target,language:e.config.language,runtimePackage:t,command:n,entry:r,files:Jt(e.files).map(e=>e.path)})}function Nn(e){let t;try{t=JSON.parse(e.manifest)}catch(e){throw Error(`Runtime bundle manifest is not valid JSON.`,{cause:e})}if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`Runtime bundle manifest must be a JSON object.`);let n=t,r=n.runtime,i=n.execution;if(!r||typeof r!=`object`||Array.isArray(r))throw Error(`Runtime bundle manifest runtime must be an object.`);if(!i||typeof i!=`object`||Array.isArray(i))throw Error(`Runtime bundle manifest execution must be an object.`);let a=r,o=i;if(k(n.name,`Runtime bundle manifest name`),k(a.package,`Runtime bundle manifest package`),k(a.command,`Runtime bundle manifest command`,128),n.target!==`wasip1`&&n.target!==`wasix`)throw Error(`Runtime bundle manifest has an invalid target.`);if(typeof n.language!=`string`)throw Error(`Runtime bundle manifest has an invalid language.`);if(_(n.language),typeof n.entry!=`string`)throw Error(`Runtime bundle manifest has an invalid entry.`);if(w(n.entry,`Runtime bundle manifest entry`),!Array.isArray(n.files))throw Error(`Runtime bundle manifest files must be an array.`);let s=n.files.map((e,t)=>(w(e,`Runtime bundle manifest file ${t}`),e)),c=[...s].sort((e,t)=>e<t?-1:+(e>t));if(new Set(s).size!==s.length||JSON.stringify(s)!==JSON.stringify(c))throw Error(`Runtime bundle manifest files must be unique and canonically sorted.`);if(n.schema!==qe.runtimeBundle||n.version!==2||o.deterministic!==!0||o.contractVersion!==2)throw Error(`Runtime bundle manifest does not match the current WASM-OJ contract.`);let l={name:n.name,target:n.target,language:n.language,runtimePackage:a.package,command:a.command,entry:n.entry,files:s};if(e.manifest!==jn(l))throw Error(`Runtime bundle manifest must use the canonical WASM-OJ representation without extra fields.`);return l}function Pn(e){switch(e.config.language){case`c`:case`cpp`:case`go`:case`rust`:return`${e.name}.wasm`;case`python`:return`${e.name}.python-${e.config.target}.json`;case`javascript`:case`typescript`:return`${e.name}.${e.config.language}-${e.config.target}.json`;default:throw Error(`WASM-OJ has no built-in artifact name for '${e.config.language}'.`)}}function Fn(e){if(e.config.language===`python`){if(!e.config.entry.endsWith(`.py`))throw Error(`Python entry files must end in '.py'.`);return e.config.entry}if(e.config.language===`typescript`){if(!e.config.entry.endsWith(`.ts`))throw Error(`TypeScript entry files must end in '.ts'.`);return`${e.config.entry.slice(0,-3)}.js`}return e.config.entry}function In(e){if(e.wasmOjContract!==2)throw Error(`Artifact WASM-OJ contract '${String(e.wasmOjContract)}' is unsupported; expected '2'.`);if(k(e.id,`Artifact id`),k(e.projectId,`Artifact projectId`),k(e.cacheKey,`Artifact cacheKey`),k(e.name,`Artifact name`),typeof e.language!=`string`)throw Error(`Artifact language must be a string.`);if(_(e.language),e.target!==`wasip1`&&e.target!==`wasix`)throw Error(`Artifact target is invalid.`);if(e.optimization!==`debug`&&e.optimization!==`release`)throw Error(`Artifact optimization is invalid.`);if(typeof e.createdAt!=`number`||!Number.isFinite(e.createdAt)||e.createdAt<0)throw Error(`Artifact createdAt must be a non-negative finite number.`);if(typeof e.durationMs!=`number`||!Number.isFinite(e.durationMs)||e.durationMs<0)throw Error(`Artifact durationMs must be a non-negative finite number.`);if(!Number.isSafeInteger(e.size)||e.size<0)throw Error(`Artifact size must be a non-negative safe integer.`);if(!Array.isArray(e.toolchains))throw Error(`Artifact toolchains must be an array.`);let t=e.toolchains;if(t.length===0||t.some(e=>typeof e!=`string`||!e||e!==e.trim())||new Set(t).size!==t.length)throw Error(`Artifact toolchains must be non-empty, unique, trimmed identities.`);if(k(e.costProfile,`Artifact costProfile`),e.dependencyLockSha256!==void 0&&(typeof e.dependencyLockSha256!=`string`||!/^[0-9a-f]{64}$/.test(e.dependencyLockSha256)))throw Error(`Artifact dependencyLockSha256 must be lowercase SHA-256 hexadecimal.`)}function Ln(e){if(!v(e.language))return;let t=Wt[e.language];if(!t.targets.includes(e.target))throw Error(`Artifact target '${e.target}' is unsupported for built-in language '${e.language}'.`);if(e.kind!==t.artifact)throw Error(`Built-in '${e.language}' artifacts must use kind '${t.artifact}', not '${e.kind}'.`);let n=Gt(e.language);if(JSON.stringify(e.toolchains)!==JSON.stringify(n))throw Error(`Artifact toolchains do not match the canonical '${e.language}' toolchain identities.`);let r=vn(e.language,e.target,e.optimization);if(e.costProfile!==r)throw Error(`Artifact cost profile '${e.costProfile}' does not match ${e.language}/${e.target}/${e.optimization}.`);if(e.kind===`runtime-bundle`){let n=An[e.language];if(e.runtimePackage!==t.runtimePackage||e.command!==n)throw Error(`Built-in '${e.language}' artifact runtime package or command is not canonical.`)}}function Rn(e){k(e.runtimePackage,`Runtime bundle package`),k(e.command,`Runtime bundle command`,128),w(e.entry,`Runtime bundle entry`),k(e.manifest,`Runtime bundle manifest`,1048576);let t=T(e.files);for(let[e,n]of t)if(typeof n!=`string`&&!(n instanceof Uint8Array))throw Error(`Runtime bundle file '${e}' must contain text or Uint8Array bytes.`);if(!Object.hasOwn(e.files,e.entry))throw Error(`Runtime bundle entry '${e.entry}' is not present in its files.`);if(e.files[`wasm-oj.manifest.json`]!==e.manifest)throw Error(`Runtime bundle must contain its exact manifest at 'wasm-oj.manifest.json'.`);let n=Nn(e);if(n.target!==e.target||n.language!==e.language||n.runtimePackage!==e.runtimePackage||n.command!==e.command||n.entry!==e.entry)throw Error(`Runtime bundle manifest metadata does not match its artifact metadata.`);return n}function zn(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Build artifact must be an object.`);let n=e;if(In(n),n.kind!==`wasm`&&n.kind!==`runtime-bundle`)throw Error(`Artifact kind must be 'wasm' or 'runtime-bundle'.`);let r=e,i,a;if(r.kind===`wasm`){if(!(r.bytes instanceof Uint8Array))throw Error(`Wasm artifact bytes must be a Uint8Array.`);a=r.bytes.byteLength}else i=Rn(r),a=T(r.files).reduce((e,[,t])=>e+(typeof t==`string`?kn.encode(t).byteLength:t.byteLength),0);if(r.size!==a)throw Error(`Artifact size ${r.size} does not match payload size ${a}.`);if(Ln(r),!v(r.language)&&!yn(r.costProfile,r.language,r.target,r.optimization))throw Error(`Artifact cost profile '${r.costProfile}' does not match ${r.language}/${r.target}/${r.optimization}.`);if(!t)return;let{project:o,cacheKey:s}=t;Jt(o.files);let c={cacheKey:s,projectId:o.id,language:o.config.language,target:o.config.target,optimization:o.config.optimization,dependencyLockSha256:o.dependencies?.lockSha256};for(let e of[`cacheKey`,`projectId`,`language`,`target`,`optimization`,`dependencyLockSha256`])if(r[e]!==c[e])throw Error(`Artifact ${e} '${String(r[e])}' does not match build identity '${String(c[e])}'.`);if(!v(o.config.language))return;let l=Pn(o);if(r.name!==l)throw Error(`Artifact name '${r.name}' does not match build identity '${l}'.`);if(r.kind===`runtime-bundle`){let e=Fn(o);if(r.entry!==e)throw Error(`Artifact entry '${r.entry}' does not match build identity '${e}'.`);let t=Mn(o,r.runtimePackage,r.command,e);if(r.manifest!==t||i?.name!==o.name)throw Error(`Runtime bundle manifest does not match the canonical project build identity.`)}}const A=e=>({parameters:e,results:[127]});Object.freeze({args_get:A([127,127]),args_sizes_get:A([127,127]),clock_res_get:A([127,127]),clock_time_get:A([127,126,127]),environ_get:A([127,127]),environ_sizes_get:A([127,127]),fd_advise:A([127,126,126,127]),fd_allocate:A([127,126,126]),fd_close:A([127]),fd_datasync:A([127]),fd_fdstat_get:A([127,127]),fd_fdstat_set_flags:A([127,127]),fd_fdstat_set_rights:A([127,126,126]),fd_filestat_get:A([127,127]),fd_filestat_set_size:A([127,126]),fd_filestat_set_times:A([127,126,126,127]),fd_pread:A([127,127,127,126,127]),fd_prestat_dir_name:A([127,127,127]),fd_prestat_get:A([127,127]),fd_pwrite:A([127,127,127,126,127]),fd_read:A([127,127,127,127]),fd_readdir:A([127,127,127,126,127]),fd_renumber:A([127,127]),fd_seek:A([127,126,127,127]),fd_sync:A([127]),fd_tell:A([127,127]),fd_write:A([127,127,127,127]),path_create_directory:A([127,127,127]),path_filestat_get:A([127,127,127,127,127]),path_filestat_set_times:A([127,127,127,127,126,126,127]),path_link:A([127,127,127,127,127,127,127]),path_open:A([127,127,127,127,127,126,126,127,127]),path_readlink:A([127,127,127,127,127,127]),path_remove_directory:A([127,127,127]),path_rename:A([127,127,127,127,127,127]),path_symlink:A([127,127,127,127,127]),path_unlink_file:A([127,127,127]),poll_oneoff:A([127,127,127,127]),proc_exit:{parameters:[127],results:[]},proc_raise:A([127]),random_get:A([127,127]),sched_yield:A([])}),Object.freeze(new Set(`args_get.args_sizes_get.clock_res_get.clock_time_get.environ_get.environ_sizes_get.fd_advise.fd_allocate.fd_close.fd_datasync.fd_fdstat_get.fd_fdstat_set_flags.fd_fdstat_set_rights.fd_filestat_get.fd_filestat_set_size.fd_filestat_set_times.fd_pread.fd_prestat_dir_name.fd_prestat_get.fd_pwrite.fd_read.fd_readdir.fd_renumber.fd_seek.fd_sync.fd_tell.fd_write.path_create_directory.path_filestat_get.path_filestat_set_times.path_link.path_open.path_readlink.path_remove_directory.path_rename.path_symlink.path_unlink_file.poll_oneoff.proc_exit.proc_raise.random_get.sched_yield`.split(`.`))),Object.freeze(new Set([`c-wasip1-release`,`cpp-wasip1-release`,`rust-wasip1-release`,`go-wasip1-release`])),Object.freeze({c:`cpp`,cpp:`cpp`,rust:`cargo`,python:`pypi`,javascript:`npm`,typescript:`npm`,go:`go`}),`${x.split(`.`).slice(0,2).join(`.`)}`,Object.freeze({version:x,target:`wasip1/wasm`,packageAsset:Ot,packageCompressedSha256:jt,packageSha256:Mt,manifestAsset:kt,manifestSha256:Nt,standardLibraryAsset:At,standardLibraryCompressedSha256:Pt,standardLibrarySha256:Ft,compilerSha256:It,linkerSha256:Lt});const Bn=Object.freeze({randomSeed:1592594996,realtimeEpochMs:Date.UTC(2e3,0,1),clockStepNs:1e6});function Vn(e){let t={...Bn,...e};if(!Number.isInteger(t.randomSeed)||t.randomSeed<0||t.randomSeed>4294967295)throw RangeError(`randomSeed must be an unsigned 32-bit integer.`);if(!Number.isSafeInteger(t.realtimeEpochMs)||t.realtimeEpochMs<0||t.realtimeEpochMs>18446744073e3)throw RangeError(`realtimeEpochMs must be a non-negative integer representable by a WASI timestamp.`);if(!Number.isSafeInteger(t.clockStepNs)||t.clockStepNs<1||t.clockStepNs>1e9)throw RangeError(`clockStepNs must be an integer from 1 through 1,000,000,000.`);return t}const Hn=new Set([`WASM_OJ_RANDOM_SEED`,`WASM_OJ_REALTIME_EPOCH_MS`,`WASM_OJ_CLOCK_STEP_NS`,`PYTHONHASHSEED`,`TZ`,`LC_ALL`]);function Un(e,t){let n=Vn(t),r=Object.keys(e).find(e=>Hn.has(e));if(r)throw Error(`Environment variable '${r}' is reserved by the deterministic runner.`);return{...e,WASM_OJ_RANDOM_SEED:String(n.randomSeed).padStart(10,`0`),WASM_OJ_REALTIME_EPOCH_MS:String(n.realtimeEpochMs).padStart(14,`0`),WASM_OJ_CLOCK_STEP_NS:String(n.clockStepNs).padStart(10,`0`),PYTHONHASHSEED:`0`,TZ:`UTC`,LC_ALL:`C`}}String.raw`
17
+ `],{type:`text/javascript`})),e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;u().setInt32(t+4,r,!0),u().setInt32(t+0,n,!0)},t.wbg.__wbindgen_lt=function(e,t){return e<t},t.wbg.__wbindgen_memory=function(){return e.memory},t.wbg.__wbindgen_module=function(){return Ue.__wbindgen_wasm_module},t.wbg.__wbindgen_neg=function(e){return-e},t.wbg.__wbindgen_number_get=function(e,t){let n=typeof t==`number`?t:void 0;u().setFloat64(e+8,d(n)?0:n,!0),u().setInt32(e+0,!d(n),!0)},t.wbg.__wbindgen_number_new=function(e){return e},t.wbg.__wbindgen_rethrow=function(e){throw e},t.wbg.__wbindgen_shr=function(e,t){return e>>t},t.wbg.__wbindgen_string_get=function(t,n){let r=typeof n==`string`?n:void 0;var i=d(r)?0:c(r,e.__wbindgen_malloc,e.__wbindgen_realloc),a=o;u().setInt32(t+4,a,!0),u().setInt32(t+0,i,!0)},t.wbg.__wbindgen_string_new=function(e,t){return a(e,t)},t.wbg.__wbindgen_throw=function(e,t){throw Error(a(e,t))},t}function Ve(e,t){e.wbg.memory=t||new WebAssembly.Memory({initial:34,maximum:16384,shared:!0})}function He(n,r,i){if(e=n.exports,Ue.__wbindgen_wasm_module=r,l=null,t=null,i!==void 0&&(typeof i!=`number`||i===0||i%65536!=0))throw`invalid stack size`;return e.__wbindgen_start(i),e}async function Ue(t,n){if(e!==void 0)return e;let r;t!==void 0&&(Object.getPrototypeOf(t)===Object.prototype?{module_or_path:t,memory:n,thread_stack_size:r}=t:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`)),t===void 0&&(t=new URL(``+new URL(`wasmer_js_bg-lccPpAdN.wasm`,import.meta.url).href,``+import.meta.url));let i=Be();(typeof t==`string`||typeof Request==`function`&&t instanceof Request||typeof URL==`function`&&t instanceof URL)&&(t=fetch(t)),Ve(i,n);let{instance:a,module:o}=await async function(e,t){if(typeof Response==`function`&&e instanceof Response){if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(!e.ok||!ze.has(e.type)||e.headers.get(`Content-Type`)===`application/wasm`)throw t;console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t)}let n=await e.arrayBuffer();return await WebAssembly.instantiate(n,t)}{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}}(await t,i);return He(a,o,r)}const We=async(e,t)=>{e?(e instanceof WebAssembly.Module||e instanceof URL||e instanceof WebAssembly.Module)&&(t?(console.info("Passing the module and memory as first arguments to the init function is deprecated, please use: `init({module: WASM_MODULE, memory: WASM_MEMORY})`"),e={module:e,memory:t}):(console.info("Passing the module as first argument to the init function is deprecated, please use: `init({module: WASM_MODULE})`"),e={module:e})):e={},Ge(e);let n=await Ue(e.module,e.memory);return e.log&&se(e.log),e.workerUrl&&oe(e.workerUrl.toString()),e.sdkUrl?ae(e.sdkUrl.toString()):ae(new URL(``+new URL(`index-CMYYN-aK.mjs`,import.meta.url).href,``+import.meta.url).toString()),n},Ge=e=>{globalThis.__WASMER_REGISTRY__={registryUrl:e.registryUrl,token:e.token}};var Ke=``+new URL(`wasmer_js_bg-lccPpAdN.wasm`,import.meta.url).href;const g=`wasm-oj-v2`,qe=Object.freeze({clangPins:`${g}/clang-pins`,clangLibcxxPch:`${g}/clang-libcxx-pch`,clangToolchain:`${g}/clang-toolchain`,compileBatch:`${g}/compile-batch`,compileTrace:`${g}/compile-trace`,conformance:`${g}/conformance`,conformanceEvidence:`${g}/conformance-evidence`,conformanceMatrix:`${g}/conformance-matrix`,cppDependencyLock:`${g}/cpp-dependency-lock`,dependencyLock:`${g}/dependency-lock`,dependencyOfflineBundle:`${g}/dependency-offline-bundle`,incrementalBuildGraph:`${g}/incremental-build-graph`,interactiveRequest:`${g}/interactive-request`,goToolchain:`${g}/go-toolchain`,objectCache:`${g}/object-cache`,pythonToolchain:`${g}/python-toolchain`,replayBundle:`${g}/replay-bundle`,rustToolchain:`${g}/rust-toolchain`,runRequest:`${g}/run-request`,runtimeBundle:`${g}/runtime-bundle`,runtimeCoreLicenses:`${g}/runtime-core-licenses`,thirdPartyComponents:`${g}/third-party-components`,wasmerSdkLicenses:`${g}/wasmer-sdk-licenses`,toolchainPackage:`${g}/toolchain-package`}),Je=Object.freeze({database:`${g}:storage`,databaseVersion:2,dependencyCache:`${g}:dependencies`,incrementalBuildCache:`${g}:incremental-build-cache`,runtimeFilesCache:`${g}:runtime-files`,toolchainCache:`${g}:toolchains`}),Ye=Object.freeze([`c`,`cpp`,`rust`,`python`,`javascript`,`typescript`,`go`]);function _(e){if(typeof e!=`string`||!e||e!==e.trim()||e.length>128)throw Error(`Language identifiers must be non-empty, trimmed, and at most 128 characters.`)}function v(e){return Ye.includes(e)}Object.freeze([`cargo`,`npm`,`pypi`,`go`,`cpp`]);const y=`22.0.0-git20542-10`,Xe=`wasm-oj/clang@${y}`,Ze=`/toolchains/clang-${y}.webc.gz.bin`,Qe=`/toolchains/clang-${y}.cc1-pins.json`,$e=`/toolchains/clang-${y}.manifest.json`,et=`/toolchains/clang-${y}.libcxx-pch.json`,tt=`/toolchains/clang-${y}.cpp-debug.pch.gz.bin`,nt=`/toolchains/clang-${y}.cpp-release.pch.gz.bin`,rt=`7f10d90b8e52b270f04874641a1d0bf9e94e85b4f6c7573a774cebbc6d32552a`,it=`21ded33b9c6d4e1aaad5528c940bdaf6c3e84be77ea8f522f018ca7289a2a224`,at=`895eee17c63b1112c84adcc4ddbcb38e0c18e53bff15f50a8689b9b82d87b1ff`,ot=`6382dcdfb6a2da49032a0e08da3b1fb490eb24432be85c3c12e3e871a5065273`,st=Object.freeze({"cpp-debug":Object.freeze({path:tt,sha256:`c420c4643c48826643e75585d5bfdc281f11883d4bda28b283e3c706f3046b3a`,compressedSha256:`a3811351bae3289caf096f2d4bb6d2ee5db84b97e05514e87190d36b65c500cf`}),"cpp-release":Object.freeze({path:nt,sha256:`c4b2132cc6d698e97dd1386431fdb54faaaf38b35b2528c7bc854f860d1f64b1`,compressedSha256:`ef004fc05ec50af697a37f7c9c814bf62e9676d0de162d6ac35305533939f93f`})}),b=`3.14.7`,ct=`a42c98f5f00582638c8e445440c506bbf94d5e55b3415d1f8d82d11c56cd4b56`,lt=`${`wasm-oj/cpython@${b}`}#sha256:${ct}`,ut=`/toolchains/python-${b}-wasip1.webc.gz.bin`,dt=`/toolchains/python-${b}-wasip1.manifest.json`,ft=`10027f0e32c77dfa0ce1c413b6cb27307d6744fe5e18e6da8cea738bd020260c`,pt=`53a24b258363a8494af164121111a34b49c85fa0e054627fe131feba6f359cd5`,mt=`c1acac884af1c86833db5b65f8cc0a2304fce74dea0a05d9b40bde0a4e3e7c0e`,ht=`0.15.1`,gt=`wasm-oj/quickjs-ng@${ht}`,_t=`/toolchains/quickjs-${ht}.wasm.gz.bin`,vt=`dc6e02e8610269e61b341331661515616451cec929fd534fa96d1c4f47fbcc9a`,yt=`7.0.2`,bt=`/toolchains/typescript-${yt}.wasm.gz.bin`,xt=`29c6ee0e46151e2644049ae96162b1b1d46dcb13310e2a928114bb9030c3ea92`,St=`1.91.1-dev`,Ct=`/toolchains/rust-${St}.webc.gz.bin`,wt=`/toolchains/rust-${St}.manifest.json`,Tt=`cfbdadc67be1315e735aa55bdf8a5a0d00171982a023fefcf7ba586127753887`,Et=`765de8d68d03078e79f69f49dec0dcab1ff96fe3bbe5e9eafebb2ce61a39d3ee`,Dt=`d5bbdca994e61888679c5738cb9420649c0854ed0eb5d65468bc67d5d550bce1`,x=`1.26.5`,Ot=`/toolchains/go-${x}-wasip1.webc.gz.bin`,kt=`/toolchains/go-${x}-wasip1.manifest.json`,At=`/toolchains/go-${x}-wasip1.stdlib.gz.bin`,jt=`70a7e359884b09b2e1a622d6ac5cd6e31c334aab519e6dd80dff5e040a9e09e4`,Mt=`c3a97934b6a83fefdea5c31f99141f70f76189eedc9ec0fa9ccd41302e50963b`,Nt=`5d784e9ca640b9525e84b598c0beb97ca110ae908568ca45f6441a441d99a262`,Pt=`aeffc384fdc624544f174ba5fc3c22395717fdbc3c4387d677d20855b6be80d8`,Ft=`e1ec64b08efd02b35b7ffdaf3970875aaae98325fa4795eafca94ebae2d0d192`,It=`9e557f5b86961fd604217d7521461c5d2b7322e383fa30dead5669b77db12201`,Lt=`2eefca10af935a307ab7946447146bd30e0ea0fb5460be54dc1c55844d155580`,Rt=`8c37bce1c6fceeaffeffe93e10834309b67c8b6fb58c6f8a24547afe8be67f5d`,zt=`738a82b7d7e7ff8d98b07bb076785da7035847a166afb8446fd150c4efce6103`,Bt=`0ed234b66cdde19cb29e6c2865a3636d792d3cf72f102e73a7b3fdede80b79e6`,Vt=Object.freeze({[Ze]:rt,[Qe]:at,[$e]:ot,[et]:`9bbe41d77c786f1c36169369c909268530b05726e1581683f6edd9a2983eebd0`,[tt]:st[`cpp-debug`].compressedSha256,[nt]:st[`cpp-release`].compressedSha256,[ut]:ft,[dt]:pt,[_t]:vt,[bt]:xt,[Ct]:Tt,[wt]:Dt,[Ot]:jt,[kt]:Nt,[At]:Pt,"/toolchains/java-teavm-0.13.1.compiler.wasm":Rt,"/toolchains/java-teavm-0.13.1.compile-classlib.bin":zt,"/toolchains/java-teavm-0.13.1.runtime-classlib.bin":Bt}),Ht=Object.freeze({c:Object.freeze([rt,it,at,ot]),cpp:Object.freeze([rt,it,at,ot]),rust:Object.freeze([Tt,Et,Dt]),python:Object.freeze([ft,ct,pt,mt]),javascript:Object.freeze([xt,vt]),typescript:Object.freeze([xt,vt]),go:Object.freeze([jt,Mt,Nt,Pt,Ft,It,Lt])});function Ut(e){if(e===`java`)return[Rt,zt,Bt].join(`.`);if(!v(e))throw Error(`WASM-OJ has no built-in toolchain for '${e}'.`);return Ht[e].join(`.`)}function S(e){return Object.freeze({...e,compilerPackages:Object.freeze([...e.compilerPackages]),targets:Object.freeze([...e.targets])})}const Wt=Object.freeze({c:S({language:`c`,label:`Clang 22`,artifact:`wasm`,compilerPackages:[Xe],targets:[`wasip1`,`wasix`],version:y,note:`Native wasip1 module via Clang and LLD; directly executable by WASI and WASIX runtimes.`}),cpp:S({language:`cpp`,label:`Clang++ 22 (C++20)`,artifact:`wasm`,compilerPackages:[Xe],targets:[`wasip1`,`wasix`],version:y,note:`C++20/libc++ wasip1 module; directly executable by WASI and WASIX runtimes.`}),rust:S({language:`rust`,label:`Rust ${St}`,artifact:`wasm`,compilerPackages:[`rustc@${St}#sha256:${Et}`],targets:[`wasip1`],version:St,note:`Real rustc, its matching standard library, and a fresh deterministic wasm-ld stage execute as one pinned WebC under Wasmer.`}),python:S({language:`python`,label:`CPython ${b}`,artifact:`runtime-bundle`,compilerPackages:[lt],runtimePackage:lt,targets:[`wasip1`],version:b,note:`Python source files executed by the source-built CPython wasm32-wasip1 interpreter and standard library.`}),javascript:S({language:`javascript`,label:`QuickJS-ng`,artifact:`runtime-bundle`,compilerPackages:[`typescript@${yt}-wasi`],runtimePackage:gt,targets:[`wasip1`],version:ht,note:`JavaScript checked by TypeScript/WASI, then executed by the bundled QuickJS-ng/WASI runtime.`}),typescript:S({language:`typescript`,label:`TypeScript + QuickJS-ng`,artifact:`runtime-bundle`,compilerPackages:[`typescript@${yt}-wasi`],runtimePackage:gt,targets:[`wasip1`],version:yt,note:`The native TypeScript compiler and QuickJS-ng runtime both execute as local WASI modules.`}),go:S({language:`go`,label:`Go ${x}`,artifact:`wasm`,compilerPackages:[`go@${x}#sha256:${Mt}`],targets:[`wasip1`],version:x,note:`The standard Go compiler, linker, and pinned wasip1 standard library execute locally as one WebC under Wasmer.`})});function Gt(e){if(e===`java`)return[`wasm-oj/java-teavm@teavm-0.13.1-wasmgc-wasip1`];if(!v(e))throw Error(`WASM-OJ has no built-in toolchain for '${e}'.`);let t=Wt[e];return[...new Set([...t.compilerPackages,...t.runtimePackage?[t.runtimePackage]:[]])]}const C=Object.freeze({files:256,bytesPerFile:4194304,totalBytes:16777216}),Kt=new TextEncoder;function qt(e,t){return e<t?-1:+(e>t)}function w(e,t=`Project path`){if(typeof e!=`string`||!e||e!==e.trim()||e.length>4096)throw Error(`${t} must be a non-empty, trimmed string of at most 4096 characters.`);if(e.startsWith(`/`)||e.includes(`\\`)||e.includes(`\0`)||e.split(`/`).some(e=>!e||e===`.`||e===`..`))throw Error(`${t} '${e}' must be a normalized relative path that cannot escape the project.`)}function Jt(e){if(!Array.isArray(e)||e.length===0)throw Error(`A project must contain at least one source file.`);if(e.length>C.files)throw Error(`A project cannot contain more than ${C.files} source files.`);let t=new Set,n=0;return e.map((e,r)=>{if(!e||typeof e!=`object`)throw Error(`Project file ${r} is invalid.`);if(w(e.path,`Project file ${r} path`),_(e.language),typeof e.content!=`string`)throw Error(`Project file '${e.path}' content must be a string.`);if(e.content.length>C.bytesPerFile)throw Error(`Project file '${e.path}' exceeds the ${C.bytesPerFile} byte source limit.`);let i=Kt.encode(e.content).byteLength;if(i>C.bytesPerFile)throw Error(`Project file '${e.path}' exceeds the ${C.bytesPerFile} byte source limit.`);if(n+=i,n>C.totalBytes)throw Error(`Project sources exceed the ${C.totalBytes} byte total limit.`);if(t.has(e.path))throw Error(`Duplicate project path '${e.path}'.`);return t.add(e.path),{path:e.path,language:e.language,content:e.content}}).sort((e,t)=>qt(e.path,t.path))}function T(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Runtime bundle files must be a record.`);return Object.entries(e).map(([e,t])=>(w(e,`Runtime bundle path`),[e,t])).sort(([e],[t])=>qt(e,t))}async function Yt(e){let t=typeof e==`string`?new TextEncoder().encode(e):e,n=new Uint8Array(t.byteLength);n.set(t);let r=await crypto.subtle.digest(`SHA-256`,n);return Array.from(new Uint8Array(r),e=>e.toString(16).padStart(2,`0`)).join(``)}const E=1048576,Xt=Object.freeze({requirements:128,sourceFiles:128,sourceTextBytes:8*E,hosts:32,roots:512,packages:512,referencesPerPackage:512,concurrency:16,metadataBytes:8*E,packageBytes:256*E,totalDownloadBytes:512*E,archiveFiles:16384,unpackedBytes:512*E});Object.freeze({packages:Xt.packages,filesPerPackage:Xt.archiveFiles,bytesPerFile:64*E,totalBytes:Xt.unpackedBytes});const Zt=/^[a-f0-9]{64}$/,Qt=/^\/toolchains\/[A-Za-z0-9][A-Za-z0-9._+/-]*$/,$t=new URL(`https://wasm-oj.invalid/`);function en(e,t){if(!Array.isArray(e)||e.length===0)throw Error(`At least one explicit WASM-OJ toolchain source is required.`);let n=t??e[0]?.kind;if(n!==`browser`&&n!==`server`)throw Error(`Toolchain sources must declare either the 'browser' or 'server' host kind.`);let r=new Set,i=new Set,a=new Set,o=new Set;for(let[t,s]of e.entries()){if(pn(s,`Toolchain source ${t}`),s.kind!==n)throw Error(`Toolchain source ${t} has host kind '${String(s.kind)}'; expected '${n}'.`);n===`browser`?(D(s,[`kind`,`descriptor`,`baseUrl`],`Browser toolchain source ${t}`),cn(s.baseUrl,t)):(D(s,[`kind`,`descriptor`,`directory`],`Server toolchain source ${t}`),ln(s.directory,t));let e=s.descriptor;if(sn(e,t),r.has(e.id))throw Error(`Toolchain descriptor id '${e.id}' is registered more than once.`);r.add(e.id);for(let t of e.languages){if(i.has(t))throw Error(`Toolchain language '${t}' is owned by more than one descriptor.`);i.add(t)}for(let t of e.profiles){let e=dn(t.language,t.target,t.optimization);if(a.has(e))throw Error(`Toolchain profile '${e}' is registered more than once.`);a.add(e)}for(let t of e.assets){if(o.has(t.path))throw Error(`Toolchain asset '${t.path}' is owned by more than one descriptor.`);o.add(t.path)}}return e}function tn(e){return en(e,`browser`)}function nn(e){tn(e);let t=e.map(e=>Object.freeze({kind:`browser`,baseUrl:e.baseUrl,descriptor:fn(e.descriptor)}));return Object.freeze(t)}function rn(e,t){un(t,`Requested toolchain asset path`);let n;for(let r of e){let e=r.descriptor.assets.find(e=>e.path===t);if(e){if(n)throw Error(`Toolchain asset '${t}' has more than one source.`);n={source:r,asset:e}}}if(!n)throw Error(`No explicit toolchain source declares asset '${t}'.`);return n}function an(e,t,n){let{source:r}=rn(e,t),i=new URL(r.baseUrl,n);if(!i.pathname.endsWith(`/`))throw Error(`Browser toolchain base URL '${r.baseUrl}' must end with '/'.`);return i}function on(e,t,n){let{asset:r}=rn(e,t),i=an(e,t,n),a=[...i.searchParams];i.search=``;let o=new URL(r.path.slice(r.path.lastIndexOf(`/`)+1),i);for(let[e,t]of a)o.searchParams.append(e,t);return o.searchParams.set(`sha256`,r.sha256),o}function sn(e,t){let n=`Toolchain descriptor ${t}`;if(pn(e,n),D(e,[`schema`,`id`,`version`,`wasmOjContract`,`languages`,`profiles`,`assets`],n),e.schema!==qe.toolchainPackage)throw Error(`${n} schema '${String(e.schema)}' is unsupported; expected '${qe.toolchainPackage}'.`);if(e.wasmOjContract!==2)throw Error(`${n} contract '${String(e.wasmOjContract)}' is unsupported; expected '2'.`);if(mn(e.id,`${n} id`,214),mn(e.version,`${n} version`,128),!Array.isArray(e.languages)||e.languages.length===0)throw Error(`${n} must declare at least one language.`);if(!Array.isArray(e.profiles)||e.profiles.length===0)throw Error(`${n} must declare at least one build profile.`);if(!Array.isArray(e.assets)||e.assets.length===0)throw Error(`${n} must declare at least one digest-pinned asset.`);let r=new Set;for(let t of e.languages){if(_(t),r.has(t))throw Error(`${n} repeats language '${t}'.`);r.add(t)}let i=new Set;for(let[t,a]of e.profiles.entries()){if(pn(a,`${n} profile ${t}`),D(a,[`language`,`target`,`optimization`],`${n} profile ${t}`),_(a.language),!r.has(a.language))throw Error(`${n} profile ${t} references undeclared language '${a.language}'.`);if(a.target!==`wasip1`&&a.target!==`wasix`)throw Error(`${n} profile ${t} has unsupported target '${String(a.target)}'.`);if(a.optimization!==`debug`&&a.optimization!==`release`)throw Error(`${n} profile ${t} has unsupported optimization '${String(a.optimization)}'.`);let e=dn(a.language,a.target,a.optimization);if(i.has(e))throw Error(`${n} repeats profile '${e}'.`);i.add(e)}for(let t of r)if(!e.profiles.some(e=>e.language===t))throw Error(`${n} language '${t}' has no build profile.`);let a=new Set;for(let[t,r]of e.assets.entries()){let e=`${n} asset ${t}`;if(pn(r,e),D(r,[`path`,`bytes`,`sha256`,`exportPath`],e),un(r.path,`${e} path`),a.has(r.path))throw Error(`${n} repeats asset '${r.path}'.`);if(a.add(r.path),!Number.isSafeInteger(r.bytes)||r.bytes<=0)throw Error(`${e} bytes must be a positive safe integer.`);if(!Zt.test(r.sha256))throw Error(`${e} sha256 must be a lowercase hexadecimal SHA-256 digest.`);let i=Vt[r.path];if(i!==void 0&&r.sha256!==i)throw Error(`${e} digest '${r.sha256}' does not match the WASM-OJ pin '${i}'.`);let o=`./assets/${r.path.slice(r.path.lastIndexOf(`/`)+1)}`;if(r.exportPath!==o)throw Error(`${e} exportPath must be '${o}'.`)}}function cn(e,t){mn(e,`Browser toolchain source ${t} baseUrl`,4096);let n;try{n=e.startsWith(`/`)?new URL(e,$t):new URL(e)}catch{throw Error(`Browser toolchain source ${t} baseUrl must be absolute or root-relative.`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw Error(`Browser toolchain source ${t} baseUrl must use HTTP or HTTPS.`);if(n.username||n.password)throw Error(`Browser toolchain source ${t} baseUrl must not contain credentials.`);if(n.hash)throw Error(`Browser toolchain source ${t} baseUrl must not contain a fragment.`);if(!n.pathname.endsWith(`/`))throw Error(`Browser toolchain source ${t} baseUrl must identify a directory and end with '/'.`)}function ln(e,t){if(!(e instanceof URL))throw Error(`Server toolchain source ${t} directory must be a URL.`);if(e.protocol!==`file:`)throw Error(`Server toolchain source ${t} directory must use the file: protocol.`);if(e.search||e.hash||!e.pathname.endsWith(`/`))throw Error(`Server toolchain source ${t} directory must be a query-free directory URL ending with '/'.`)}function un(e,t){if(!Qt.test(e)||e.includes(`//`))throw Error(`${t} must be a canonical absolute path below '/toolchains/'.`);let n=e.split(`/`);if(n.includes(`.`)||n.includes(`..`))throw Error(`${t} must not contain traversal segments.`)}function dn(e,t,n){return`${e}/${t}/${n}`}function fn(e){return Object.freeze({...e,languages:Object.freeze([...e.languages]),profiles:Object.freeze(e.profiles.map(e=>Object.freeze({...e}))),assets:Object.freeze(e.assets.map(e=>Object.freeze({...e})))})}function pn(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`${t} must be an object.`)}function D(e,t,n){let r=Object.keys(e).sort(),i=[...t].sort();if(r.length!==i.length||r.some((e,t)=>e!==i[t]))throw Error(`${n} must contain exactly: ${i.join(`, `)}.`)}function mn(e,t,n){if(typeof e!=`string`||e.length===0||e!==e.trim()||e.length>n)throw Error(`${t} must be a non-empty trimmed string of at most ${n} characters.`)}const hn=`weighted`;Object.freeze({instructionBudget:1e10,logicalTimeLimitMs:6e4,memoryLimitBytes:268435456,outputLimitBytes:4194304,filesystemWriteLimitBytes:67108864,filesystemEntryLimit:4096,wallTimeLimitMs:6e4}),new TextEncoder,Object.freeze({runtimeCoreWasmSha256:`077aa936a3382a242eee7222fc17369769cb5ad265303d730ffc45ee192367e9`,runtimeSourceRootSha256:`c65b3bbcad41359f86b8f1d1315af8f079b44f0e9084ace0d6d50c0ec418415b`,wasmerNativeVersion:`7.2.1`,wasmerSdkVersion:`0.10.0`,wasmerSdkWasmSha256:`49a6646209f5ab5e7c737eac33407d87d9a9959ac83e5ecaaab9261b2323589e`,wasmerWasixVersion:`0.702.1`});const gn=`47684bee57aafd163b18a787fa16eed33cab3ec3c0005c3c46bb4f1803ffc835`;function _n(e,t,n){return _(e),[`wasm-oj-cost`,`contract-2`,encodeURIComponent(e),t,n]}function vn(e,t,n,r){let i=v(e)?Ut(e):r;if(!i||!/^[A-Za-z0-9._-]+$/.test(i))throw Error(v(e)?`WASM-OJ toolchain content identity is invalid for '${e}'.`:`Downstream language '${e}' requires an explicit content identity using letters, digits, '.', '_' or '-'.`);return[..._n(e,t,n),`content-${i}`,`runtime-${gn}`,hn].join(`:`)}function yn(e,t,n,r){let i=`${_n(t,n,r).join(`:`)}:content-`,a=`:runtime-${gn}:${hn}`;if(!e.startsWith(i)||!e.endsWith(a))return!1;let o=e.slice(i.length,-a.length);return!!o&&/^[A-Za-z0-9._-]+$/.test(o)}const bn=Object.freeze({debug:2907,release:2419}),xn=Ut(`java`),Sn=Object.freeze({[vn(`java`,`wasip1`,`debug`,xn)]:bn.debug,[vn(`java`,`wasip1`,`release`,xn)]:bn.release});var Cn=class{baselines=new Map;sealed=!1;constructor(e={}){for(let[t,n]of Object.entries(e))this.register(t,n)}register(e,t){if(this.sealed)throw Error(`CostBaselineRegistry is sealed after its first lookup.`);if(typeof e!=`string`||!e||e!==e.trim()||e.length>16384)throw Error(`Cost profile IDs must be non-empty, trimmed strings of at most 16384 characters.`);if(!Number.isSafeInteger(t)||t<0)throw RangeError(`Cost baseline '${e}' must be a non-negative safe integer.`);if(this.baselines.has(e))throw Error(`Cost profile '${e}' is already registered.`);this.baselines.set(e,t)}baseline(e){if(this.sealed=!0,typeof e!=`string`||e.length===0)throw Error(`Cost profile is required.`);return this.baselines.get(e)??0}};function wn(){return new Cn(Sn)}function Tn(e={}){return new Cn({...Sn,...e})}function En(e,t,n=wn()){if(!Number.isSafeInteger(t)||t<1)throw RangeError(`Net instruction budget must be a positive safe integer.`);let r=n.baseline(e),i=r+t;if(!Number.isSafeInteger(i))throw RangeError(`Raw instruction budget overflows for cost profile '${e}'.`);return{profile:e,baselineCost:r,netInstructionBudget:t,rawInstructionBudget:i}}function Dn(e,t,n=wn()){if(!(v(e.language)?e.costProfile===vn(e.language,e.target,e.optimization):yn(e.costProfile,e.language,e.target,e.optimization)))throw Error(`Artifact cost profile '${e.costProfile}' does not match ${e.language}/${e.target}/${e.optimization}.`);let r=En(e.costProfile,t,n);if(e.language===`java`&&r.baselineCost===0)throw Error(`Java cost profile '${e.costProfile}' has no calibrated empty-program baseline.`);return r}function On(e,t){if(!e||typeof e!=`object`)throw TypeError(`Runtime metrics must be an object.`);if(!Number.isSafeInteger(e.cost)||e.cost<0)throw RangeError(`Runtime returned an invalid raw instruction cost.`);if(e.costModel!==`weighted`)throw Error(`Runtime returned unsupported cost model '${String(e.costModel)}'.`);if(!e.operations||typeof e.operations!=`object`||Array.isArray(e.operations))throw TypeError(`Runtime operations must be a record of weighted operation counts.`);let n=Object.fromEntries(Object.entries(e.operations).map(([e,t])=>{if(!e||e!==e.trim()||e.length>128)throw Error(`Runtime operation names must be non-empty, trimmed strings of at most 128 characters.`);return O(t,`Runtime operation '${e}' count`),[e,t]}).sort(([e],[t])=>e<t?-1:+(e>t)));return O(e.memoryBytes,`Runtime memoryBytes`),O(e.logicalTimeNs,`Runtime logicalTimeNs`),O(e.filesystemBytes,`Runtime filesystemBytes`),O(e.filesystemEntries,`Runtime filesystemEntries`),O(e.stdoutBytes,`Runtime stdoutBytes`),O(e.stderrBytes,`Runtime stderrBytes`),{cost:Math.max(0,e.cost-t.baselineCost),rawCost:e.cost,baselineCost:t.baselineCost,costProfile:t.profile,costModel:e.costModel,operations:n,memoryBytes:e.memoryBytes,logicalTimeNs:e.logicalTimeNs,filesystemBytes:e.filesystemBytes,filesystemEntries:e.filesystemEntries,stdoutBytes:e.stdoutBytes,stderrBytes:e.stderrBytes}}function O(e,t){if(!Number.isSafeInteger(e)||e<0)throw RangeError(`${t} must be a non-negative safe integer.`)}const kn=new TextEncoder,An=Object.freeze({python:`python`,javascript:`qjs`,typescript:`qjs`});function k(e,t,n=16384){if(typeof e!=`string`||!e||e!==e.trim()||e.length>n)throw Error(`${t} must be a non-empty, trimmed string of at most ${n} characters.`)}function jn(e){return JSON.stringify({schema:qe.runtimeBundle,version:2,name:e.name,target:e.target,language:e.language,runtime:{package:e.runtimePackage,command:e.command},execution:{deterministic:!0,contractVersion:2},entry:e.entry,files:[...e.files]},null,2)}function Mn(e,t,n,r){return k(e.name,`Project name`),k(t,`Runtime package`),k(n,`Runtime command`,128),_(e.config.language),w(r,`Runtime bundle entry`),jn({name:e.name,target:e.config.target,language:e.config.language,runtimePackage:t,command:n,entry:r,files:Jt(e.files).map(e=>e.path)})}function Nn(e){let t;try{t=JSON.parse(e.manifest)}catch(e){throw Error(`Runtime bundle manifest is not valid JSON.`,{cause:e})}if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`Runtime bundle manifest must be a JSON object.`);let n=t,r=n.runtime,i=n.execution;if(!r||typeof r!=`object`||Array.isArray(r))throw Error(`Runtime bundle manifest runtime must be an object.`);if(!i||typeof i!=`object`||Array.isArray(i))throw Error(`Runtime bundle manifest execution must be an object.`);let a=r,o=i;if(k(n.name,`Runtime bundle manifest name`),k(a.package,`Runtime bundle manifest package`),k(a.command,`Runtime bundle manifest command`,128),n.target!==`wasip1`&&n.target!==`wasix`)throw Error(`Runtime bundle manifest has an invalid target.`);if(typeof n.language!=`string`)throw Error(`Runtime bundle manifest has an invalid language.`);if(_(n.language),typeof n.entry!=`string`)throw Error(`Runtime bundle manifest has an invalid entry.`);if(w(n.entry,`Runtime bundle manifest entry`),!Array.isArray(n.files))throw Error(`Runtime bundle manifest files must be an array.`);let s=n.files.map((e,t)=>(w(e,`Runtime bundle manifest file ${t}`),e)),c=[...s].sort((e,t)=>e<t?-1:+(e>t));if(new Set(s).size!==s.length||JSON.stringify(s)!==JSON.stringify(c))throw Error(`Runtime bundle manifest files must be unique and canonically sorted.`);if(n.schema!==qe.runtimeBundle||n.version!==2||o.deterministic!==!0||o.contractVersion!==2)throw Error(`Runtime bundle manifest does not match the current WASM-OJ contract.`);let l={name:n.name,target:n.target,language:n.language,runtimePackage:a.package,command:a.command,entry:n.entry,files:s};if(e.manifest!==jn(l))throw Error(`Runtime bundle manifest must use the canonical WASM-OJ representation without extra fields.`);return l}function Pn(e){switch(e.config.language){case`c`:case`cpp`:case`go`:case`rust`:return`${e.name}.wasm`;case`python`:return`${e.name}.python-${e.config.target}.json`;case`javascript`:case`typescript`:return`${e.name}.${e.config.language}-${e.config.target}.json`;default:throw Error(`WASM-OJ has no built-in artifact name for '${e.config.language}'.`)}}function Fn(e){if(e.config.language===`python`){if(!e.config.entry.endsWith(`.py`))throw Error(`Python entry files must end in '.py'.`);return e.config.entry}if(e.config.language===`typescript`){if(!e.config.entry.endsWith(`.ts`))throw Error(`TypeScript entry files must end in '.ts'.`);return`${e.config.entry.slice(0,-3)}.js`}return e.config.entry}function In(e){if(e.wasmOjContract!==2)throw Error(`Artifact WASM-OJ contract '${String(e.wasmOjContract)}' is unsupported; expected '2'.`);if(k(e.id,`Artifact id`),k(e.projectId,`Artifact projectId`),k(e.cacheKey,`Artifact cacheKey`),k(e.name,`Artifact name`),typeof e.language!=`string`)throw Error(`Artifact language must be a string.`);if(_(e.language),e.target!==`wasip1`&&e.target!==`wasix`)throw Error(`Artifact target is invalid.`);if(e.optimization!==`debug`&&e.optimization!==`release`)throw Error(`Artifact optimization is invalid.`);if(typeof e.createdAt!=`number`||!Number.isFinite(e.createdAt)||e.createdAt<0)throw Error(`Artifact createdAt must be a non-negative finite number.`);if(typeof e.durationMs!=`number`||!Number.isFinite(e.durationMs)||e.durationMs<0)throw Error(`Artifact durationMs must be a non-negative finite number.`);if(!Number.isSafeInteger(e.size)||e.size<0)throw Error(`Artifact size must be a non-negative safe integer.`);if(!Array.isArray(e.toolchains))throw Error(`Artifact toolchains must be an array.`);let t=e.toolchains;if(t.length===0||t.some(e=>typeof e!=`string`||!e||e!==e.trim())||new Set(t).size!==t.length)throw Error(`Artifact toolchains must be non-empty, unique, trimmed identities.`);if(k(e.costProfile,`Artifact costProfile`),e.dependencyLockSha256!==void 0&&(typeof e.dependencyLockSha256!=`string`||!/^[0-9a-f]{64}$/.test(e.dependencyLockSha256)))throw Error(`Artifact dependencyLockSha256 must be lowercase SHA-256 hexadecimal.`)}function Ln(e){if(!v(e.language))return;let t=Wt[e.language];if(!t.targets.includes(e.target))throw Error(`Artifact target '${e.target}' is unsupported for built-in language '${e.language}'.`);if(e.kind!==t.artifact)throw Error(`Built-in '${e.language}' artifacts must use kind '${t.artifact}', not '${e.kind}'.`);let n=Gt(e.language);if(JSON.stringify(e.toolchains)!==JSON.stringify(n))throw Error(`Artifact toolchains do not match the canonical '${e.language}' toolchain identities.`);let r=vn(e.language,e.target,e.optimization);if(e.costProfile!==r)throw Error(`Artifact cost profile '${e.costProfile}' does not match ${e.language}/${e.target}/${e.optimization}.`);if(e.kind===`runtime-bundle`){let n=An[e.language];if(e.runtimePackage!==t.runtimePackage||e.command!==n)throw Error(`Built-in '${e.language}' artifact runtime package or command is not canonical.`)}}function Rn(e){k(e.runtimePackage,`Runtime bundle package`),k(e.command,`Runtime bundle command`,128),w(e.entry,`Runtime bundle entry`),k(e.manifest,`Runtime bundle manifest`,1048576);let t=T(e.files);for(let[e,n]of t)if(typeof n!=`string`&&!(n instanceof Uint8Array))throw Error(`Runtime bundle file '${e}' must contain text or Uint8Array bytes.`);if(!Object.hasOwn(e.files,e.entry))throw Error(`Runtime bundle entry '${e.entry}' is not present in its files.`);if(e.files[`wasm-oj.manifest.json`]!==e.manifest)throw Error(`Runtime bundle must contain its exact manifest at 'wasm-oj.manifest.json'.`);let n=Nn(e);if(n.target!==e.target||n.language!==e.language||n.runtimePackage!==e.runtimePackage||n.command!==e.command||n.entry!==e.entry)throw Error(`Runtime bundle manifest metadata does not match its artifact metadata.`);return n}function zn(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Build artifact must be an object.`);let n=e;if(In(n),n.kind!==`wasm`&&n.kind!==`runtime-bundle`)throw Error(`Artifact kind must be 'wasm' or 'runtime-bundle'.`);let r=e,i,a;if(r.kind===`wasm`){if(!(r.bytes instanceof Uint8Array))throw Error(`Wasm artifact bytes must be a Uint8Array.`);a=r.bytes.byteLength}else i=Rn(r),a=T(r.files).reduce((e,[,t])=>e+(typeof t==`string`?kn.encode(t).byteLength:t.byteLength),0);if(r.size!==a)throw Error(`Artifact size ${r.size} does not match payload size ${a}.`);if(Ln(r),!v(r.language)&&!yn(r.costProfile,r.language,r.target,r.optimization))throw Error(`Artifact cost profile '${r.costProfile}' does not match ${r.language}/${r.target}/${r.optimization}.`);if(!t)return;let{project:o,cacheKey:s}=t;Jt(o.files);let c={cacheKey:s,projectId:o.id,language:o.config.language,target:o.config.target,optimization:o.config.optimization,dependencyLockSha256:o.dependencies?.lockSha256};for(let e of[`cacheKey`,`projectId`,`language`,`target`,`optimization`,`dependencyLockSha256`])if(r[e]!==c[e])throw Error(`Artifact ${e} '${String(r[e])}' does not match build identity '${String(c[e])}'.`);if(!v(o.config.language))return;let l=Pn(o);if(r.name!==l)throw Error(`Artifact name '${r.name}' does not match build identity '${l}'.`);if(r.kind===`runtime-bundle`){let e=Fn(o);if(r.entry!==e)throw Error(`Artifact entry '${r.entry}' does not match build identity '${e}'.`);let t=Mn(o,r.runtimePackage,r.command,e);if(r.manifest!==t||i?.name!==o.name)throw Error(`Runtime bundle manifest does not match the canonical project build identity.`)}}const A=e=>({parameters:e,results:[127]});Object.freeze({args_get:A([127,127]),args_sizes_get:A([127,127]),clock_res_get:A([127,127]),clock_time_get:A([127,126,127]),environ_get:A([127,127]),environ_sizes_get:A([127,127]),fd_advise:A([127,126,126,127]),fd_allocate:A([127,126,126]),fd_close:A([127]),fd_datasync:A([127]),fd_fdstat_get:A([127,127]),fd_fdstat_set_flags:A([127,127]),fd_fdstat_set_rights:A([127,126,126]),fd_filestat_get:A([127,127]),fd_filestat_set_size:A([127,126]),fd_filestat_set_times:A([127,126,126,127]),fd_pread:A([127,127,127,126,127]),fd_prestat_dir_name:A([127,127,127]),fd_prestat_get:A([127,127]),fd_pwrite:A([127,127,127,126,127]),fd_read:A([127,127,127,127]),fd_readdir:A([127,127,127,126,127]),fd_renumber:A([127,127]),fd_seek:A([127,126,127,127]),fd_sync:A([127]),fd_tell:A([127,127]),fd_write:A([127,127,127,127]),path_create_directory:A([127,127,127]),path_filestat_get:A([127,127,127,127,127]),path_filestat_set_times:A([127,127,127,127,126,126,127]),path_link:A([127,127,127,127,127,127,127]),path_open:A([127,127,127,127,127,126,126,127,127]),path_readlink:A([127,127,127,127,127,127]),path_remove_directory:A([127,127,127]),path_rename:A([127,127,127,127,127,127]),path_symlink:A([127,127,127,127,127]),path_unlink_file:A([127,127,127]),poll_oneoff:A([127,127,127,127]),proc_exit:{parameters:[127],results:[]},proc_raise:A([127]),random_get:A([127,127]),sched_yield:A([])}),Object.freeze(new Set(`args_get.args_sizes_get.clock_res_get.clock_time_get.environ_get.environ_sizes_get.fd_advise.fd_allocate.fd_close.fd_datasync.fd_fdstat_get.fd_fdstat_set_flags.fd_fdstat_set_rights.fd_filestat_get.fd_filestat_set_size.fd_filestat_set_times.fd_pread.fd_prestat_dir_name.fd_prestat_get.fd_pwrite.fd_read.fd_readdir.fd_renumber.fd_seek.fd_sync.fd_tell.fd_write.path_create_directory.path_filestat_get.path_filestat_set_times.path_link.path_open.path_readlink.path_remove_directory.path_rename.path_symlink.path_unlink_file.poll_oneoff.proc_exit.proc_raise.random_get.sched_yield`.split(`.`))),Object.freeze(new Set([`c-wasip1-release`,`cpp-wasip1-release`,`rust-wasip1-release`,`go-wasip1-release`])),Object.freeze({c:`cpp`,cpp:`cpp`,rust:`cargo`,python:`pypi`,javascript:`npm`,typescript:`npm`,go:`go`}),`${x.split(`.`).slice(0,2).join(`.`)}`,Object.freeze({version:x,target:`wasip1/wasm`,packageAsset:Ot,packageCompressedSha256:jt,packageSha256:Mt,manifestAsset:kt,manifestSha256:Nt,standardLibraryAsset:At,standardLibraryCompressedSha256:Pt,standardLibrarySha256:Ft,compilerSha256:It,linkerSha256:Lt});const Bn=Object.freeze({randomSeed:1592594996,realtimeEpochMs:Date.UTC(2e3,0,1),clockStepNs:1e6});function Vn(e){let t={...Bn,...e};if(!Number.isInteger(t.randomSeed)||t.randomSeed<0||t.randomSeed>4294967295)throw RangeError(`randomSeed must be an unsigned 32-bit integer.`);if(!Number.isSafeInteger(t.realtimeEpochMs)||t.realtimeEpochMs<0||t.realtimeEpochMs>18446744073e3)throw RangeError(`realtimeEpochMs must be a non-negative integer representable by a WASI timestamp.`);if(!Number.isSafeInteger(t.clockStepNs)||t.clockStepNs<1||t.clockStepNs>1e9)throw RangeError(`clockStepNs must be an integer from 1 through 1,000,000,000.`);return t}const Hn=new Set([`WASM_OJ_RANDOM_SEED`,`WASM_OJ_REALTIME_EPOCH_MS`,`WASM_OJ_CLOCK_STEP_NS`,`PYTHONHASHSEED`,`TZ`,`LC_ALL`]);function Un(e,t){let n=Vn(t),r=Object.keys(e).find(e=>Hn.has(e));if(r)throw Error(`Environment variable '${r}' is reserved by the deterministic runner.`);return{...e,WASM_OJ_RANDOM_SEED:String(n.randomSeed).padStart(10,`0`),WASM_OJ_REALTIME_EPOCH_MS:String(n.realtimeEpochMs).padStart(14,`0`),WASM_OJ_CLOCK_STEP_NS:String(n.clockStepNs).padStart(10,`0`),PYTHONHASHSEED:`0`,TZ:`UTC`,LC_ALL:`C`}}String.raw`
18
18
  #include <stddef.h>
19
19
  #include <stdint.h>
20
20
  #include <stdlib.h>
@@ -291,10 +291,10 @@ globalThis.__wasm_oj_module_source = (id) => {
291
291
  return __modules[id];
292
292
  };
293
293
  __wasm_oj_eval_module(${JSON.stringify(e.entry)});
294
- `}function sr(e=wn()){let t=new rr;return t.register({id:`standalone-wasm`,interactive:`streaming`,supports:e=>e.kind===`wasm`,prepare:async(t,n)=>{if(t.kind!==`wasm`)throw Error(`Expected a standalone Wasm artifact.`);return ir(t,t.bytes,n,e)}}),t.register({id:`quickjs`,supports:e=>e.kind===`runtime-bundle`&&e.command===`qjs`,prepare:async(t,n,r)=>{if(t.kind!==`runtime-bundle`)throw Error(`Expected a QuickJS runtime bundle.`);let i=ir(t,await r.quickJs(),n,e);return i.stdin=er.encode(or(t,n.stdin,n)),i}}),t.register({id:`cpython`,interactive:`streaming`,supports:e=>e.kind===`runtime-bundle`&&e.runtimePackage===lt&&e.command===`python`,prepare:async(t,n,r)=>{if(t.kind!==`runtime-bundle`)throw Error(`Expected a CPython runtime bundle.`);let i=ir(t,await r.packageCommand(t.runtimePackage,t.command),n,e);i.args=[`/project/.wasm-oj/deterministic_runner.py`,`/project/${t.entry}`,...n.args],i.env={...i.env,PYTHONHOME:`/cpython`,PYTHONPATH:`/project/site-packages`,PYTHONDONTWRITEBYTECODE:`1`};let a=await r.packageFileSystem({packageSpecifier:t.runtimePackage,command:t.command,args:[`-c`,Jn],cacheKey:qn,expectedSha256:mt});return i.files=fr(i.files,{...a,"/cpython/lib/python3.14/.keep":new Uint8Array,"/cpython/lib/python3.14/lib-dynload/.keep":new Uint8Array,...ar(t)}),i.cwd=`/project`,i}}),t}function cr(e,t){if(typeof e!=`string`||!e.startsWith(`/`)||e.includes(`\\`)||e.length>4096||e.includes(`\0`)||e.endsWith(`/`)||e.includes(`//`)||e.split(`/`).some(e=>e===`.`||e===`..`))throw Error(`${t} must be an absolute, normalized guest file path.`);return e}function lr(e,t){return e===`/`?e:cr(e,t)}function ur(e){let t=Object.entries(e);pr(t,tr,`Run input files`);let n={};for(let[e,r]of t.sort(([e],[t])=>e.localeCompare(t))){if(cr(e,`Run input path`),!(r instanceof Uint8Array))throw TypeError(`Run input file '${e}' must be a Uint8Array.`);n[e]=r.slice()}return n}function dr(e){if(!Array.isArray(e)||e.length>256)throw Error(`Run output paths may contain at most 256 entries.`);let t=e.map(e=>cr(e,`Run output path`)).sort();if(t.some((e,n)=>n>0&&t[n-1]===e))throw Error(`Run output paths must be unique.`);return t}function fr(e,t){let n=Object.keys(e).find(e=>Object.hasOwn(t,e));if(n)throw Error(`Run input file '${n}' collides with a protected runtime file.`);let r={...e,...t};return pr(Object.entries(r),nr,`Prepared runtime files`),r}function pr(e,t,n){if(e.length>t.files)throw Error(`${n} may contain at most ${t.files} entries.`);let r=0;for(let[i,a]of e){if(!(a instanceof Uint8Array))throw TypeError(`${n} '${i}' must be a Uint8Array.`);if(a.byteLength>t.bytesPerFile)throw Error(`${n} '${i}' exceeds ${t.bytesPerFile} bytes.`);if(r+=a.byteLength,!Number.isSafeInteger(r)||r>t.totalBytes)throw Error(`${n} exceed ${t.totalBytes} total bytes.`)}}async function mr(e,t,n,r=sr()){return zn(e),r.driver(e).prepare(e,t,n)}async function hr(e,t,n,r=sr()){zn(e);let i=r.driver(e);if(i.interactive!==`streaming`)throw Error(`Runtime driver '${i.id}' does not support streaming interactive execution.`);return i.prepare(e,t,n)}const gr=(e,t)=>{console.warn(`[Runner] ${e}`,t)};async function _r(e,t,n=gr){try{return await e.open(t)}catch(e){n(`Unable to open the optional runtime-files cache; continuing without it.`,e);return}}async function vr(e,t,n,r=gr){if(e){let n=await yr(e,t,r);if(n)return n}let i=await n(),a=await $n(i,t.expectedSha256);return e&&await br(e,t,i,r),a}async function yr(e,t,n){let r;try{r=await e.match(t.cacheRequest)}catch(e){n(`Unable to read the optional runtime-files cache; exporting a fresh archive.`,e);return}if(r)try{let i=new Uint8Array(await r.arrayBuffer()),a=await $n(i,t.expectedSha256);return await br(e,t,i,n),a}catch(r){n(`Ignoring an invalid runtime-files cache archive; exporting a fresh archive.`,r);try{await e.delete(t.cacheRequest)}catch(e){n(`Unable to delete the invalid runtime-files cache archive.`,e)}return}}async function br(e,t,n,r){try{await e.put(t.cacheRequest,new Response(Uint8Array.from(n).buffer,{headers:{"Content-Type":`application/vnd.wasm-oj.runtime-files`,"X-WASM-OJ-Cache-Key":t.cacheKey,"X-WASM-OJ-Byte-Length":String(n.byteLength),"X-WASM-OJ-Cached-At":String(Date.now())}}))}catch(e){r(`Unable to persist the verified runtime-files archive; continuing without cache persistence.`,e)}}var xr=class{wasmer;commands;released=!1;constructor(e){this.wasmer=e,this.commands=e.commands}free(){if(this.released)throw Error(`Wasmer package handle was released more than once.`);this.released=!0;let e=[];for(let t of new Set(Object.values(this.commands)))try{t.free()}catch(t){e.push(t)}try{this.wasmer.free()}catch(t){e.push(t)}if(e.length===1)throw e[0];if(e.length>1)throw AggregateError(e,`Unable to release a Wasmer package and its command handles.`)}},Sr=class{entries=new Map;async acquire(e,t){let n=this.entries.get(e);n||(n=this.createEntry(e,t),this.entries.set(e,n)),n.borrowers+=1;let r;try{r=await n.promise}catch(e){throw--n.borrowers,e}let i=!1;return{value:r,release:()=>{if(i)throw Error(`Package handle lease was released more than once.`);if(i=!0,--n.borrowers,n.borrowers<0)throw Error(`Package handle lease count became negative.`);this.releaseRetiredEntry(n)}}}retireAll(){let e=[...this.entries.values()];this.entries.clear();let t=[];for(let n of e){n.retired=!0;try{this.releaseRetiredEntry(n)}catch(e){t.push(e)}}if(t.length>0)throw AggregateError(t,`Unable to release one or more retired package handles.`);return{wait:()=>Promise.all(e.map(e=>Tr(e))).then(()=>void 0)}}createEntry(e,t){let n={},r={promise:Promise.resolve().then(t).then(e=>{let t=n.current;if(!t)throw Error(`Package handle cache entry was not initialized.`);return t.handle=e,e},t=>{let r=n.current;throw r?(this.entries.get(e)===r&&this.entries.delete(e),r.releaseState=`released`,Er(r),t):Error(`Package handle cache entry was not initialized.`)}),borrowers:0,retired:!1,releaseState:`pending`,releaseListeners:new Set};return n.current=r,r}releaseRetiredEntry(e){if(!(!e.retired||e.borrowers!==0||!e.handle||e.releaseState!==`pending`))try{e.handle.free(),e.releaseState=`released`}catch(t){throw e.releaseState=`failed`,e.releaseError=t,t}finally{Er(e)}}};async function Cr(e,t,n){let r=e.commands[t];if(!r)throw Error(`Package does not expose the '${t}' command.`);return n(r)}function wr(e,t){return Dr(()=>t(e.value),()=>e.release(),`Package operation and package-handle cleanup both failed.`)}function Tr(e){return e.releaseState===`released`?Promise.resolve():e.releaseState===`failed`?Promise.reject(e.releaseError):new Promise((t,n)=>{let r=()=>{e.releaseListeners.delete(r),e.releaseState===`released`?t():n(e.releaseError)};e.releaseListeners.add(r)})}function Er(e){for(let t of[...e.releaseListeners])t()}async function Dr(e,t,n){let r,i=!1,a;try{r=await e()}catch(e){i=!0,a=e}let o=!1,s;try{t()}catch(e){o=!0,s=e}if(i&&o)throw AggregateError([a,s],n);if(i)throw a;if(o)throw s;return r}var Or=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Rr.unregister(this),e}free(){let e=this.__destroy_into_raw();W.__wbg_gocompilersession_free(e,0)}compilePipeline(e){return W.gocompilersession_compilePipeline(this.__wbg_ptr,e)}get digest(){let e,t;try{let n=W.gocompilersession_digest(this.__wbg_ptr);return e=n[0],t=n[1],I(n[0],n[1])}finally{W.__wbindgen_free(e,t,1)}}get generation(){let e=W.gocompilersession_generation(this.__wbg_ptr);if(e[2])throw H(e[1]);return e[0]>>>0}constructor(e){let t=W.gocompilersession_new(e);if(t[2])throw H(t[1]);return this.__wbg_ptr=t[0],Rr.register(this,this.__wbg_ptr,this),this}};Symbol.dispose&&(Or.prototype[Symbol.dispose]=Or.prototype.free);var kr=class e{static __wrap(t){let n=Object.create(e.prototype);return n.__wbg_ptr=t,zr.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,zr.unregister(this),e}free(){let e=this.__destroy_into_raw();W.__wbg_trap_free(e,0)}static __wbg_wasmer_trap(){W.trap___wbg_wasmer_trap()}};Symbol.dispose&&(kr.prototype[Symbol.dispose]=kr.prototype.free);function Ar(e,t){let n=W.run_wasm_oj(e,t);if(n[2])throw H(n[1]);return H(n[0])}function jr(){return{__proto__:null,"./runtime-core_bg.js":{__proto__:null,__wbg_BigInt_54837260f97b6890:function(e){return BigInt(e)},__wbg_Error_408e67f47ca7b58b:function(e,t){return Error(I(e,t))},__wbg_Number_3890faa6d3ff057d:function(e){return Number(e)},__wbg_String_8564e559799eccda:function(e,t){let n=V(String(t),W.__wbindgen_malloc,W.__wbindgen_realloc),r=U;F().setInt32(e+4,r,!0),F().setInt32(e+0,n,!0)},__wbg___wbindgen_bigint_get_as_i64_c4ecf48528083721:function(e,t){let n=t,r=typeof n==`bigint`?n:void 0;F().setBigInt64(e+8,B(r)?BigInt(0):r,!0),F().setInt32(e+0,!B(r),!0)},__wbg___wbindgen_boolean_get_c9c83ebd41b34df3:function(e){let t=e,n=typeof t==`boolean`?t:void 0;return B(n)?16777215:+!!n},__wbg___wbindgen_debug_string_a57024b9c6e4a48b:function(e,t){let n=V(Vr(t),W.__wbindgen_malloc,W.__wbindgen_realloc),r=U;F().setInt32(e+4,r,!0),F().setInt32(e+0,n,!0)},__wbg___wbindgen_function_table_cad76479cff6555c:function(){return W.__wbindgen_export},__wbg___wbindgen_in_ac983077f137f2e6:function(e,t){return e in t},__wbg___wbindgen_is_bigint_8ffbbef442139384:function(e){return typeof e==`bigint`},__wbg___wbindgen_is_function_5e4570eb24ffa122:function(e){return typeof e==`function`},__wbg___wbindgen_is_object_a2790eb24c211ea0:function(e){let t=e;return typeof t==`object`&&!!t},__wbg___wbindgen_is_string_e6f02f0ea5f20a32:function(e){return typeof e==`string`},__wbg___wbindgen_is_undefined_6cff064c44e0d823:function(e){return e===void 0},__wbg___wbindgen_jsval_eq_0a18949a61670320:function(e,t){return e===t},__wbg___wbindgen_jsval_loose_eq_acf2776254a8d832:function(e,t){return e==t},__wbg___wbindgen_lt_94fbb50645571f95:function(e,t){return e<t},__wbg___wbindgen_neg_8a39375bffed95b1:function(e){return-e},__wbg___wbindgen_number_get_136b9679cab35cfb:function(e,t){let n=t,r=typeof n==`number`?n:void 0;F().setFloat64(e+8,B(r)?0:r,!0),F().setInt32(e+0,!B(r),!0)},__wbg___wbindgen_rethrow_fbd2dcd7d2b9ac5f:function(e){throw e},__wbg___wbindgen_shr_cf84c7eeac93e2e0:function(e,t){return e>>t},__wbg___wbindgen_string_get_d154f1e671052120:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=B(r)?0:V(r,W.__wbindgen_malloc,W.__wbindgen_realloc),a=U;F().setInt32(e+4,a,!0),F().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_bb96b2010945f0bc:function(e,t){throw Error(I(e,t))},__wbg__wbg_cb_unref_be22cc64ae6946a0:function(e){e._wbg_cb_unref()},__wbg_apply_6cd9daeacef161ce:function(){return z(function(e,t,n){return Reflect.apply(e,t,n)},arguments)},__wbg_apply_cb180996ed7fdae9:function(){return z(function(e,t,n){return e.apply(t,n)},arguments)},__wbg_arrayBuffer_16433f17fbd74397:function(){return z(function(e){return e.arrayBuffer()},arguments)},__wbg_bind_ba1d91a55e59341a:function(e,t,n){return e.bind(t,n)},__wbg_bind_f0a9af73583d6566:function(e,t,n,r){return e.bind(t,n,r)},__wbg_buffer_8117fe4dab119813:function(e){return e.buffer},__wbg_buffer_bc63d6f0ff4af1fc:function(e){return e.buffer},__wbg_byteLength_031910aabf3577e0:function(e){return e.byteLength},__wbg_byteLength_dfbb09ce977c0dad:function(e){return e.byteLength},__wbg_call_1c5886ab9c57d1c7:function(){return z(function(e,t){return e.call(t)},arguments)},__wbg_call_35dba3c747ad7521:function(){return z(function(e,t,n){return e.call(t,n)},arguments)},__wbg_constructor_aaf603909746f45e:function(e){return e.constructor},__wbg_customSections_b6ef655bf3ceaeb6:function(e,t,n){return WebAssembly.Module.customSections(e,I(t,n))},__wbg_done_669171204c3dcae2:function(e){return e.done},__wbg_entries_7774d489e1da5f4f:function(e){return Object.entries(e)},__wbg_error_757e9472f8410341:function(e,t){let n,r;try{n=e,r=t,console.error(I(e,t))}finally{W.__wbindgen_free(n,r,1)}},__wbg_exports_7d05caa1a0c36b86:function(e){return e.exports},__wbg_exports_c5a4e6d954ac0ad0:function(e){return WebAssembly.Module.exports(e)},__wbg_fetch_729fad2e5272298f:function(e,t){return e.fetch(t)},__wbg_fetch_d752d93f5b259503:function(e,t){return e.fetch(t)},__wbg_from_74f3d90e0ff11240:function(e){return Array.from(e)},__wbg_getPrototypeOf_55a24d07487f0509:function(){return z(function(e){return Reflect.getPrototypeOf(e)},arguments)},__wbg_getRandomValues_436a51d0629d84e1:function(){return z(function(e,t){globalThis.crypto.getRandomValues(N(e,t))},arguments)},__wbg_getTime_63fb0332e6c4ec17:function(e){return e.getTime()},__wbg_getTimezoneOffset_4baa793e0d3962a8:function(e){return e.getTimezoneOffset()},__wbg_get_70e2ce0f7d009e1f:function(){return z(function(e,t){return e.get(t>>>0)},arguments)},__wbg_get_971a0c45d172643f:function(){return z(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_c0c8f8d7da0c03dd:function(e,t){return e[t>>>0]},__wbg_get_d173c0308df22d37:function(){return z(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_unchecked_e20b893aeafc3fca:function(e,t){return e[t>>>0]},__wbg_get_with_ref_key_6412cf3094599694:function(e,t){return e[t]},__wbg_grow_5344199563323c70:function(){return z(function(e,t){return e.grow(t>>>0)},arguments)},__wbg_grow_adf1e32e3f3bb932:function(){return z(function(e,t){return e.grow(t>>>0)},arguments)},__wbg_headers_6dedf39f001ae99d:function(e){return e.headers},__wbg_headers_92567b07014384b9:function(e){return e.headers},__wbg_imports_d64558b2dafe33b8:function(e){return WebAssembly.Module.imports(e)},__wbg_instanceof_ArrayBuffer_993d02d2d254cad1:function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t},__wbg_instanceof_Error_61d8a02a0f3383a1:function(e){let t;try{t=e instanceof Error}catch{t=!1}return t},__wbg_instanceof_Function_f7fa7e26e46ea413:function(e){let t;try{t=e instanceof Function}catch{t=!1}return t},__wbg_instanceof_Global_eb9f44c43679a9c6:function(e){let t;try{t=e instanceof WebAssembly.Global}catch{t=!1}return t},__wbg_instanceof_Memory_37fa5d38ff0dd2f3:function(e){let t;try{t=e instanceof WebAssembly.Memory}catch{t=!1}return t},__wbg_instanceof_Object_80ad464782e2bd73:function(e){let t;try{t=e instanceof Object}catch{t=!1}return t},__wbg_instanceof_RangeError_b306483892e8598c:function(e){let t;try{t=e instanceof RangeError}catch{t=!1}return t},__wbg_instanceof_Response_8f49efbd4bfd76d6:function(e){let t;try{t=e instanceof Response}catch{t=!1}return t},__wbg_instanceof_SharedArrayBuffer_c734e76df6d827cb:function(e){let t;try{t=e instanceof SharedArrayBuffer}catch{t=!1}return t},__wbg_instanceof_Table_01ff4017eccbeab8:function(e){let t;try{t=e instanceof WebAssembly.Table}catch{t=!1}return t},__wbg_instanceof_Tag_21ca531473671582:function(e){let t;try{t=e instanceof WebAssembly.Tag}catch{t=!1}return t},__wbg_instanceof_Uint8Array_f935dbb0aa7cdeed:function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t},__wbg_instanceof_WorkerGlobalScope_8c58a6d74926b578:function(e){let t;try{t=e instanceof WorkerGlobalScope}catch{t=!1}return t},__wbg_isArray_6339f732981044bf:function(e){return Array.isArray(e)},__wbg_isSafeInteger_f3d6cd19ccfe4512:function(e){return Number.isSafeInteger(e)},__wbg_iterator_5cebbb86e33c6dd6:function(){return Symbol.iterator},__wbg_length_1368b9bb66f6a6aa:function(e){return e.length},__wbg_length_36bd29c6848c2144:function(e){return e.length},__wbg_length_ecfa2c63d3d0d82c:function(e){return e.length},__wbg_message_c141d5e68716b595:function(e){return e.message},__wbg_new_0_f117d868b403dc07:function(){return new Date},__wbg_new_116be93542d39019:function(){return[]},__wbg_new_227d7c05414eb861:function(){return Error()},__wbg_new_52e39b693b131692:function(){return z(function(e){return new WebAssembly.Tag(e)},arguments)},__wbg_new_77cc4f4f472aeb81:function(e){return new Uint8Array(e)},__wbg_new_82966bafe01b664f:function(){return z(function(e){return new WebAssembly.Table(e)},arguments)},__wbg_new_bd7a161a1b96dc2a:function(){return z(function(e,t){return new WebAssembly.Global(e,t)},arguments)},__wbg_new_cdf041679ded4c5f:function(){return new Map},__wbg_new_d1599c9e69d35606:function(){return z(function(e,t){return new WebAssembly.Instance(e,t)},arguments)},__wbg_new_e3fb27841b78e4f4:function(){return z(function(e){return new WebAssembly.Module(e)},arguments)},__wbg_new_ebe3e0f6837f0879:function(){return{}},__wbg_new_f9d6489212f3b2b3:function(e){return new Date(e)},__wbg_new_fee1181bcca662c4:function(){return z(function(e){return new WebAssembly.Memory(e)},arguments)},__wbg_new_from_slice_3eea173078478cfe:function(e,t){return new Uint8Array(N(e,t))},__wbg_new_typed_cceaf62d8d95e9f2:function(e,t){try{var n={a:e,b:t};return new Promise((e,t)=>{let r=n.a;n.a=0;try{return Ir(r,n.b,e,t)}finally{n.a=r}})}finally{n.a=0}},__wbg_new_with_args_75f20e1087b74fa8:function(e,t,n,r){return Function(I(e,t),I(n,r))},__wbg_new_with_length_2ccc5dbfb4541247:function(e){return Array(e>>>0)},__wbg_new_with_length_3ffc1c56427c525c:function(e){return new Uint8Array(e>>>0)},__wbg_new_with_str_and_init_5a37d576dec75a86:function(){return z(function(e,t,n){return new Request(I(e,t),n)},arguments)},__wbg_next_42cf16ee0dafc9e2:function(){return z(function(e){return e.next()},arguments)},__wbg_next_8f26b64fa5e9f64b:function(e){return e.next},__wbg_now_8b265300afd5f2b9:function(){return Date.now()},__wbg_prototypesetcall_de8e0d9553586985:function(e,t,n){Uint8Array.prototype.set.call(N(e,t),n)},__wbg_push_adb0107829f02d75:function(e,t){return e.push(t)},__wbg_queueMicrotask_ac694eae12e92dfb:function(e){queueMicrotask(e)},__wbg_queueMicrotask_be5fe34a8f4cad4d:function(e){return e.queueMicrotask},__wbg_redirected_38edd6189354296c:function(e){return e.redirected},__wbg_resolve_020f95d838c6ef25:function(e){return Promise.resolve(e)},__wbg_set_014226dfeca53178:function(e,t,n){return e.set(t,n)},__wbg_set_14811fdb285b1915:function(){return z(function(e,t,n){e.set(t>>>0,n)},arguments)},__wbg_set_6be42768c690e380:function(e,t,n){e[t]=n},__wbg_set_8155bb79a948541b:function(){return z(function(e,t,n){return Reflect.set(e,t,n)},arguments)},__wbg_set_a80955eb93b145c6:function(e,t,n){e[t>>>0]=n},__wbg_set_b9b5b5cb7b495037:function(e,t,n){e.set(N(t,n))},__wbg_set_body_f301b68bff45f419:function(e,t){e.body=t},__wbg_set_e92392c4b44c5de1:function(){return z(function(e,t,n,r,i){e.set(I(t,n),I(r,i))},arguments)},__wbg_set_method_cf2b992b9a610bc3:function(e,t,n){e.method=I(t,n)},__wbg_set_mode_d6479dfd6696c8d3:function(e,t){e.mode=Lr[t]},__wbg_set_value_1b7bd2bc4ef248bb:function(e,t){e.value=t},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=V(n,W.__wbindgen_malloc,W.__wbindgen_realloc),i=U;F().setInt32(e+4,i,!0),F().setInt32(e+0,r,!0)},__wbg_static_accessor_GLOBAL_THIS_466428f93b4eaa76:function(){let e=typeof globalThis>`u`?null:globalThis;return B(e)?0:M(e)},__wbg_static_accessor_GLOBAL_c7aea38d4de089bc:function(){let e=typeof global>`u`?null:global;return B(e)?0:M(e)},__wbg_static_accessor_SELF_42d4fae05e59267a:function(){let e=typeof self>`u`?null:self;return B(e)?0:M(e)},__wbg_static_accessor_WINDOW_e0db14a0eba6a812:function(){let e=typeof window>`u`?null:window;return B(e)?0:M(e)},__wbg_status_b0de02a07fd7d927:function(e){return e.status},__wbg_subarray_a4cc58201c7359fd:function(e,t,n){return e.subarray(t>>>0,n>>>0)},__wbg_then_7026b513a94278a8:function(e,t){return e.then(t)},__wbg_then_72819b8d4e081fb5:function(e,t,n){return e.then(t,n)},__wbg_toString_2f0b0aec069cb718:function(e){return e.toString()},__wbg_toString_effe882d0e9af91c:function(e,t,n){let r=V(t.toString(n),W.__wbindgen_malloc,W.__wbindgen_realloc),i=U;F().setInt32(e+4,i,!0),F().setInt32(e+0,r,!0)},__wbg_trap_new:function(e){return kr.__wrap(e)},__wbg_value_1e2369fab29b420e:function(e){return e.value},__wbg_value_728796e3a1723ff8:function(e){return e.value},__wbindgen_cast_0000000000000001:function(e,t){return Ur(e,t,Mr)},__wbindgen_cast_0000000000000002:function(e,t){return Ur(e,t,Pr)},__wbindgen_cast_0000000000000003:function(e,t){return Ur(e,t,Fr)},__wbindgen_cast_0000000000000004:function(e,t){return Ur(e,t,Nr)},__wbindgen_cast_0000000000000005:function(e){return e},__wbindgen_cast_0000000000000006:function(e){return e},__wbindgen_cast_0000000000000007:function(e,t){return N(e,t)},__wbindgen_cast_0000000000000008:function(e,t){return I(e,t)},__wbindgen_cast_0000000000000009:function(e,t){return BigInt.asUintN(64,e)|BigInt.asUintN(64,t)<<BigInt(64)},__wbindgen_cast_000000000000000a:function(e){return BigInt.asUintN(64,e)},__wbindgen_cast_000000000000000b:function(e,t){var n=Hr(e,t);return W.__wbindgen_free(e,t*4,4),n},__wbindgen_init_externref_table:function(){let e=W.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function Mr(e,t,n){let r=W.wasm_bindgen_68458880a41dd4bb___convert__closures_____invoke___wasm_bindgen_68458880a41dd4bb___JsValue__core_9b3796e30d99ddb7___result__Result_____wasm_bindgen_68458880a41dd4bb___JsError___true_(e,t,n);if(r[1])throw H(r[0])}function Nr(e,t,n){let r=W.wasm_bindgen_68458880a41dd4bb___convert__closures________invoke___js_sys_c11fba41208799d1___Array__core_9b3796e30d99ddb7___result__Result_____wasm_bindgen_68458880a41dd4bb___JsValue___true_(e,t,n);if(r[1])throw H(r[0])}function Pr(e,t,n){let r=W.wasm_bindgen_68458880a41dd4bb___convert__closures________invoke___js_sys_c11fba41208799d1___Array__core_9b3796e30d99ddb7___result__Result_js_sys_c11fba41208799d1___Array__wasm_bindgen_68458880a41dd4bb___JsValue___true_(e,t,n);if(r[2])throw H(r[1]);return H(r[0])}function Fr(e,t,n){let r=W.wasm_bindgen_68458880a41dd4bb___convert__closures________invoke___js_sys_c11fba41208799d1___Array__core_9b3796e30d99ddb7___result__Result_js_sys_c11fba41208799d1___Array__wasm_bindgen_68458880a41dd4bb___JsValue___true__2(e,t,n);if(r[2])throw H(r[1]);return H(r[0])}function Ir(e,t,n,r){W.wasm_bindgen_68458880a41dd4bb___convert__closures_____invoke___js_sys_c11fba41208799d1___Function_fn_wasm_bindgen_68458880a41dd4bb___JsValue_____wasm_bindgen_68458880a41dd4bb___sys__Undefined___js_sys_c11fba41208799d1___Function_fn_wasm_bindgen_68458880a41dd4bb___JsValue_____wasm_bindgen_68458880a41dd4bb___sys__Undefined_______true_(e,t,n,r)}const Lr=[`same-origin`,`no-cors`,`cors`,`navigate`],Rr=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>W.__wbg_gocompilersession_free(e,1)),zr=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>W.__wbg_trap_free(e,1));function M(e){let t=W.__externref_table_alloc();return W.__wbindgen_externrefs.set(t,e),t}const Br=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>W.__wbindgen_destroy_closure(e.a,e.b));function Vr(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=Vr(e[0]));for(let r=1;r<t;r++)n+=`, `+Vr(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function Hr(e,t){e>>>=0;let n=F(),r=[];for(let i=e;i<e+4*t;i+=4)r.push(W.__wbindgen_externrefs.get(n.getUint32(i,!0)));return W.__externref_drop_slice(e,t),r}function N(e,t){return e>>>=0,R().subarray(e/1,e/1+t)}let P=null;function F(){return(P===null||P.buffer.detached===!0||P.buffer.detached===void 0&&P.buffer!==W.memory.buffer)&&(P=new DataView(W.memory.buffer)),P}function I(e,t){return Kr(e>>>0,t)}let L=null;function R(){return(L===null||L.byteLength===0)&&(L=new Uint8Array(W.memory.buffer)),L}function z(e,t){try{return e.apply(this,t)}catch(e){let t=M(e);W.__wbindgen_exn_store(t)}}function B(e){return e==null}function Ur(e,t,n){let r={a:e,b:t,cnt:1},i=(...e)=>{r.cnt++;let t=r.a;r.a=0;try{return n(t,r.b,...e)}finally{r.a=t,i._wbg_cb_unref()}};return i._wbg_cb_unref=()=>{--r.cnt===0&&(W.__wbindgen_destroy_closure(r.a,r.b),r.a=0,Br.unregister(r))},Br.register(i,r,r),i}function V(e,t,n){if(n===void 0){let n=qr.encode(e),r=t(n.length,1)>>>0;return R().subarray(r,r+n.length).set(n),U=n.length,r}let r=e.length,i=t(r,1)>>>0,a=R(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=R().subarray(i+o,i+r),a=qr.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return U=o,i}function H(e){let t=W.__wbindgen_externrefs.get(e);return W.__externref_table_dealloc(e),t}let Wr=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});Wr.decode();let Gr=0;function Kr(e,t){return Gr+=t,Gr>=2146435072&&(Wr=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),Wr.decode(),Gr=t),Wr.decode(R().subarray(e,e+t))}const qr=new TextEncoder;`encodeInto`in qr||(qr.encodeInto=function(e,t){let n=qr.encode(e);return t.set(n),{read:e.length,written:n.length}});let U=0,W;function Jr(e,t){return W=e.exports,P=null,L=null,W.__wbindgen_start(),W}async function Yr(e,t){if(typeof Response==`function`&&e instanceof Response){if(!e.ok)throw Error(`failed to fetch Wasm: ${e.status} ${e.statusText} fetching '${e.url}'`);if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}async function Xr(e){if(W!==void 0)return W;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`)),e===void 0&&(e=new URL(``+new URL(`runtime-core_bg-pToqhf1W.wasm`,import.meta.url).href,``+import.meta.url));let t=jr();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:n,module:r}=await Yr(await e,t);return Jr(n,r)}var Zr=``+new URL(`runtime-core_bg-pToqhf1W.wasm`,import.meta.url).href;function Qr(e,t={}){let n=$r(e);try{return new Worker(n.url,{...t,type:`module`})}finally{n.revoke()}}function $r(e){let t=ei(),n=ti(e),r=new Blob([`const pendingMessages = [];
294
+ `}function sr(e=wn()){let t=new rr;return t.register({id:`standalone-wasm`,interactive:`streaming`,supports:e=>e.kind===`wasm`,prepare:async(t,n)=>{if(t.kind!==`wasm`)throw Error(`Expected a standalone Wasm artifact.`);return ir(t,t.bytes,n,e)}}),t.register({id:`quickjs`,supports:e=>e.kind===`runtime-bundle`&&e.command===`qjs`,prepare:async(t,n,r)=>{if(t.kind!==`runtime-bundle`)throw Error(`Expected a QuickJS runtime bundle.`);let i=ir(t,await r.quickJs(),n,e);return i.stdin=er.encode(or(t,n.stdin,n)),i}}),t.register({id:`cpython`,interactive:`streaming`,supports:e=>e.kind===`runtime-bundle`&&e.runtimePackage===lt&&e.command===`python`,prepare:async(t,n,r)=>{if(t.kind!==`runtime-bundle`)throw Error(`Expected a CPython runtime bundle.`);let i=ir(t,await r.packageCommand(t.runtimePackage,t.command),n,e);i.args=[`/project/.wasm-oj/deterministic_runner.py`,`/project/${t.entry}`,...n.args],i.env={...i.env,PYTHONHOME:`/cpython`,PYTHONPATH:`/project/site-packages`,PYTHONDONTWRITEBYTECODE:`1`};let a=await r.packageFileSystem({packageSpecifier:t.runtimePackage,command:t.command,args:[`-c`,Jn],cacheKey:qn,expectedSha256:mt});return i.files=fr(i.files,{...a,"/cpython/lib/python3.14/.keep":new Uint8Array,"/cpython/lib/python3.14/lib-dynload/.keep":new Uint8Array,...ar(t)}),i.cwd=`/project`,i}}),t}function cr(e,t){if(typeof e!=`string`||!e.startsWith(`/`)||e.includes(`\\`)||e.length>4096||e.includes(`\0`)||e.endsWith(`/`)||e.includes(`//`)||e.split(`/`).some(e=>e===`.`||e===`..`))throw Error(`${t} must be an absolute, normalized guest file path.`);return e}function lr(e,t){return e===`/`?e:cr(e,t)}function ur(e){let t=Object.entries(e);pr(t,tr,`Run input files`);let n={};for(let[e,r]of t.sort(([e],[t])=>e.localeCompare(t))){if(cr(e,`Run input path`),!(r instanceof Uint8Array))throw TypeError(`Run input file '${e}' must be a Uint8Array.`);n[e]=r.slice()}return n}function dr(e){if(!Array.isArray(e)||e.length>256)throw Error(`Run output paths may contain at most 256 entries.`);let t=e.map(e=>cr(e,`Run output path`)).sort();if(t.some((e,n)=>n>0&&t[n-1]===e))throw Error(`Run output paths must be unique.`);return t}function fr(e,t){let n=Object.keys(e).find(e=>Object.hasOwn(t,e));if(n)throw Error(`Run input file '${n}' collides with a protected runtime file.`);let r={...e,...t};return pr(Object.entries(r),nr,`Prepared runtime files`),r}function pr(e,t,n){if(e.length>t.files)throw Error(`${n} may contain at most ${t.files} entries.`);let r=0;for(let[i,a]of e){if(!(a instanceof Uint8Array))throw TypeError(`${n} '${i}' must be a Uint8Array.`);if(a.byteLength>t.bytesPerFile)throw Error(`${n} '${i}' exceeds ${t.bytesPerFile} bytes.`);if(r+=a.byteLength,!Number.isSafeInteger(r)||r>t.totalBytes)throw Error(`${n} exceed ${t.totalBytes} total bytes.`)}}async function mr(e,t,n,r=sr()){return zn(e),r.driver(e).prepare(e,t,n)}async function hr(e,t,n,r=sr()){zn(e);let i=r.driver(e);if(i.interactive!==`streaming`)throw Error(`Runtime driver '${i.id}' does not support streaming interactive execution.`);return i.prepare(e,t,n)}const gr=(e,t)=>{console.warn(`[Runner] ${e}`,t)};async function _r(e,t,n=gr){try{return await e.open(t)}catch(e){n(`Unable to open the optional runtime-files cache; continuing without it.`,e);return}}async function vr(e,t,n,r=gr){if(e){let n=await yr(e,t,r);if(n)return n}let i=await n(),a=await $n(i,t.expectedSha256);return e&&await br(e,t,i,r),a}async function yr(e,t,n){let r;try{r=await e.match(t.cacheRequest)}catch(e){n(`Unable to read the optional runtime-files cache; exporting a fresh archive.`,e);return}if(r)try{let i=new Uint8Array(await r.arrayBuffer()),a=await $n(i,t.expectedSha256);return await br(e,t,i,n),a}catch(r){n(`Ignoring an invalid runtime-files cache archive; exporting a fresh archive.`,r);try{await e.delete(t.cacheRequest)}catch(e){n(`Unable to delete the invalid runtime-files cache archive.`,e)}return}}async function br(e,t,n,r){try{await e.put(t.cacheRequest,new Response(Uint8Array.from(n).buffer,{headers:{"Content-Type":`application/vnd.wasm-oj.runtime-files`,"X-WASM-OJ-Cache-Key":t.cacheKey,"X-WASM-OJ-Byte-Length":String(n.byteLength),"X-WASM-OJ-Cached-At":String(Date.now())}}))}catch(e){r(`Unable to persist the verified runtime-files archive; continuing without cache persistence.`,e)}}var xr=class{wasmer;commands;released=!1;constructor(e){this.wasmer=e,this.commands=e.commands}free(){if(this.released)throw Error(`Wasmer package handle was released more than once.`);this.released=!0;let e=[];for(let t of new Set(Object.values(this.commands)))try{t.free()}catch(t){e.push(t)}try{this.wasmer.free()}catch(t){e.push(t)}if(e.length===1)throw e[0];if(e.length>1)throw AggregateError(e,`Unable to release a Wasmer package and its command handles.`)}},Sr=class{entries=new Map;async acquire(e,t){let n=this.entries.get(e);n||(n=this.createEntry(e,t),this.entries.set(e,n)),n.borrowers+=1;let r;try{r=await n.promise}catch(e){throw--n.borrowers,e}let i=!1;return{value:r,release:()=>{if(i)throw Error(`Package handle lease was released more than once.`);if(i=!0,--n.borrowers,n.borrowers<0)throw Error(`Package handle lease count became negative.`);this.releaseRetiredEntry(n)}}}retireAll(){let e=[...this.entries.values()];this.entries.clear();let t=[];for(let n of e){n.retired=!0;try{this.releaseRetiredEntry(n)}catch(e){t.push(e)}}if(t.length>0)throw AggregateError(t,`Unable to release one or more retired package handles.`);return{wait:()=>Promise.all(e.map(e=>Tr(e))).then(()=>void 0)}}createEntry(e,t){let n={},r={promise:Promise.resolve().then(t).then(e=>{let t=n.current;if(!t)throw Error(`Package handle cache entry was not initialized.`);return t.handle=e,e},t=>{let r=n.current;throw r?(this.entries.get(e)===r&&this.entries.delete(e),r.releaseState=`released`,Er(r),t):Error(`Package handle cache entry was not initialized.`)}),borrowers:0,retired:!1,releaseState:`pending`,releaseListeners:new Set};return n.current=r,r}releaseRetiredEntry(e){if(!(!e.retired||e.borrowers!==0||!e.handle||e.releaseState!==`pending`))try{e.handle.free(),e.releaseState=`released`}catch(t){throw e.releaseState=`failed`,e.releaseError=t,t}finally{Er(e)}}};async function Cr(e,t,n){let r=e.commands[t];if(!r)throw Error(`Package does not expose the '${t}' command.`);return n(r)}function wr(e,t){return Dr(()=>t(e.value),()=>e.release(),`Package operation and package-handle cleanup both failed.`)}function Tr(e){return e.releaseState===`released`?Promise.resolve():e.releaseState===`failed`?Promise.reject(e.releaseError):new Promise((t,n)=>{let r=()=>{e.releaseListeners.delete(r),e.releaseState===`released`?t():n(e.releaseError)};e.releaseListeners.add(r)})}function Er(e){for(let t of[...e.releaseListeners])t()}async function Dr(e,t,n){let r,i=!1,a;try{r=await e()}catch(e){i=!0,a=e}let o=!1,s;try{t()}catch(e){o=!0,s=e}if(i&&o)throw AggregateError([a,s],n);if(i)throw a;if(o)throw s;return r}var Or=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Rr.unregister(this),e}free(){let e=this.__destroy_into_raw();W.__wbg_gocompilersession_free(e,0)}compilePipeline(e){return W.gocompilersession_compilePipeline(this.__wbg_ptr,e)}get digest(){let e,t;try{let n=W.gocompilersession_digest(this.__wbg_ptr);return e=n[0],t=n[1],F(n[0],n[1])}finally{W.__wbindgen_free(e,t,1)}}get generation(){let e=W.gocompilersession_generation(this.__wbg_ptr);if(e[2])throw V(e[1]);return e[0]>>>0}constructor(e){let t=W.gocompilersession_new(e);if(t[2])throw V(t[1]);return this.__wbg_ptr=t[0],Rr.register(this,this.__wbg_ptr,this),this}};Symbol.dispose&&(Or.prototype[Symbol.dispose]=Or.prototype.free);var kr=class e{static __wrap(t){let n=Object.create(e.prototype);return n.__wbg_ptr=t,zr.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,zr.unregister(this),e}free(){let e=this.__destroy_into_raw();W.__wbg_trap_free(e,0)}static __wbg_wasmer_trap(){W.trap___wbg_wasmer_trap()}};Symbol.dispose&&(kr.prototype[Symbol.dispose]=kr.prototype.free);function Ar(e,t){let n=W.run_wasm_oj(e,t);if(n[2])throw V(n[1]);return V(n[0])}function jr(){return{__proto__:null,"./runtime-core_bg.js":{__proto__:null,__wbg_BigInt_54837260f97b6890:function(e){return BigInt(e)},__wbg_Error_408e67f47ca7b58b:function(e,t){return Error(F(e,t))},__wbg_Number_3890faa6d3ff057d:function(e){return Number(e)},__wbg_String_8564e559799eccda:function(e,t){let n=B(String(t),W.__wbindgen_malloc,W.__wbindgen_realloc),r=U;P().setInt32(e+4,r,!0),P().setInt32(e+0,n,!0)},__wbg___wbindgen_bigint_get_as_i64_c4ecf48528083721:function(e,t){let n=t,r=typeof n==`bigint`?n:void 0;P().setBigInt64(e+8,z(r)?BigInt(0):r,!0),P().setInt32(e+0,!z(r),!0)},__wbg___wbindgen_boolean_get_c9c83ebd41b34df3:function(e){let t=e,n=typeof t==`boolean`?t:void 0;return z(n)?16777215:+!!n},__wbg___wbindgen_debug_string_a57024b9c6e4a48b:function(e,t){let n=B(Vr(t),W.__wbindgen_malloc,W.__wbindgen_realloc),r=U;P().setInt32(e+4,r,!0),P().setInt32(e+0,n,!0)},__wbg___wbindgen_function_table_cad76479cff6555c:function(){return W.__wbindgen_export},__wbg___wbindgen_in_ac983077f137f2e6:function(e,t){return e in t},__wbg___wbindgen_is_bigint_8ffbbef442139384:function(e){return typeof e==`bigint`},__wbg___wbindgen_is_function_5e4570eb24ffa122:function(e){return typeof e==`function`},__wbg___wbindgen_is_object_a2790eb24c211ea0:function(e){let t=e;return typeof t==`object`&&!!t},__wbg___wbindgen_is_string_e6f02f0ea5f20a32:function(e){return typeof e==`string`},__wbg___wbindgen_is_undefined_6cff064c44e0d823:function(e){return e===void 0},__wbg___wbindgen_jsval_eq_0a18949a61670320:function(e,t){return e===t},__wbg___wbindgen_jsval_loose_eq_acf2776254a8d832:function(e,t){return e==t},__wbg___wbindgen_lt_94fbb50645571f95:function(e,t){return e<t},__wbg___wbindgen_neg_8a39375bffed95b1:function(e){return-e},__wbg___wbindgen_number_get_136b9679cab35cfb:function(e,t){let n=t,r=typeof n==`number`?n:void 0;P().setFloat64(e+8,z(r)?0:r,!0),P().setInt32(e+0,!z(r),!0)},__wbg___wbindgen_rethrow_fbd2dcd7d2b9ac5f:function(e){throw e},__wbg___wbindgen_shr_cf84c7eeac93e2e0:function(e,t){return e>>t},__wbg___wbindgen_string_get_d154f1e671052120:function(e,t){let n=t,r=typeof n==`string`?n:void 0;var i=z(r)?0:B(r,W.__wbindgen_malloc,W.__wbindgen_realloc),a=U;P().setInt32(e+4,a,!0),P().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_bb96b2010945f0bc:function(e,t){throw Error(F(e,t))},__wbg__wbg_cb_unref_be22cc64ae6946a0:function(e){e._wbg_cb_unref()},__wbg_apply_6cd9daeacef161ce:function(){return R(function(e,t,n){return Reflect.apply(e,t,n)},arguments)},__wbg_apply_cb180996ed7fdae9:function(){return R(function(e,t,n){return e.apply(t,n)},arguments)},__wbg_arrayBuffer_16433f17fbd74397:function(){return R(function(e){return e.arrayBuffer()},arguments)},__wbg_bind_ba1d91a55e59341a:function(e,t,n){return e.bind(t,n)},__wbg_bind_f0a9af73583d6566:function(e,t,n,r){return e.bind(t,n,r)},__wbg_buffer_8117fe4dab119813:function(e){return e.buffer},__wbg_buffer_bc63d6f0ff4af1fc:function(e){return e.buffer},__wbg_byteLength_031910aabf3577e0:function(e){return e.byteLength},__wbg_byteLength_dfbb09ce977c0dad:function(e){return e.byteLength},__wbg_call_1c5886ab9c57d1c7:function(){return R(function(e,t){return e.call(t)},arguments)},__wbg_call_35dba3c747ad7521:function(){return R(function(e,t,n){return e.call(t,n)},arguments)},__wbg_constructor_aaf603909746f45e:function(e){return e.constructor},__wbg_customSections_b6ef655bf3ceaeb6:function(e,t,n){return WebAssembly.Module.customSections(e,F(t,n))},__wbg_done_669171204c3dcae2:function(e){return e.done},__wbg_entries_7774d489e1da5f4f:function(e){return Object.entries(e)},__wbg_error_757e9472f8410341:function(e,t){let n,r;try{n=e,r=t,console.error(F(e,t))}finally{W.__wbindgen_free(n,r,1)}},__wbg_exports_7d05caa1a0c36b86:function(e){return e.exports},__wbg_exports_c5a4e6d954ac0ad0:function(e){return WebAssembly.Module.exports(e)},__wbg_fetch_729fad2e5272298f:function(e,t){return e.fetch(t)},__wbg_fetch_d752d93f5b259503:function(e,t){return e.fetch(t)},__wbg_from_74f3d90e0ff11240:function(e){return Array.from(e)},__wbg_getPrototypeOf_55a24d07487f0509:function(){return R(function(e){return Reflect.getPrototypeOf(e)},arguments)},__wbg_getRandomValues_436a51d0629d84e1:function(){return R(function(e,t){globalThis.crypto.getRandomValues(Ur(e,t))},arguments)},__wbg_getTime_63fb0332e6c4ec17:function(e){return e.getTime()},__wbg_getTimezoneOffset_4baa793e0d3962a8:function(e){return e.getTimezoneOffset()},__wbg_get_70e2ce0f7d009e1f:function(){return R(function(e,t){return e.get(t>>>0)},arguments)},__wbg_get_971a0c45d172643f:function(){return R(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_c0c8f8d7da0c03dd:function(e,t){return e[t>>>0]},__wbg_get_d173c0308df22d37:function(){return R(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_unchecked_e20b893aeafc3fca:function(e,t){return e[t>>>0]},__wbg_get_with_ref_key_6412cf3094599694:function(e,t){return e[t]},__wbg_grow_5344199563323c70:function(){return R(function(e,t){return e.grow(t>>>0)},arguments)},__wbg_grow_adf1e32e3f3bb932:function(){return R(function(e,t){return e.grow(t>>>0)},arguments)},__wbg_headers_6dedf39f001ae99d:function(e){return e.headers},__wbg_headers_92567b07014384b9:function(e){return e.headers},__wbg_imports_d64558b2dafe33b8:function(e){return WebAssembly.Module.imports(e)},__wbg_instanceof_ArrayBuffer_993d02d2d254cad1:function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t},__wbg_instanceof_Error_61d8a02a0f3383a1:function(e){let t;try{t=e instanceof Error}catch{t=!1}return t},__wbg_instanceof_Function_f7fa7e26e46ea413:function(e){let t;try{t=e instanceof Function}catch{t=!1}return t},__wbg_instanceof_Global_eb9f44c43679a9c6:function(e){let t;try{t=e instanceof WebAssembly.Global}catch{t=!1}return t},__wbg_instanceof_Memory_37fa5d38ff0dd2f3:function(e){let t;try{t=e instanceof WebAssembly.Memory}catch{t=!1}return t},__wbg_instanceof_Object_80ad464782e2bd73:function(e){let t;try{t=e instanceof Object}catch{t=!1}return t},__wbg_instanceof_RangeError_b306483892e8598c:function(e){let t;try{t=e instanceof RangeError}catch{t=!1}return t},__wbg_instanceof_Response_8f49efbd4bfd76d6:function(e){let t;try{t=e instanceof Response}catch{t=!1}return t},__wbg_instanceof_SharedArrayBuffer_c734e76df6d827cb:function(e){let t;try{t=e instanceof SharedArrayBuffer}catch{t=!1}return t},__wbg_instanceof_Table_01ff4017eccbeab8:function(e){let t;try{t=e instanceof WebAssembly.Table}catch{t=!1}return t},__wbg_instanceof_Tag_21ca531473671582:function(e){let t;try{t=e instanceof WebAssembly.Tag}catch{t=!1}return t},__wbg_instanceof_Uint8Array_f935dbb0aa7cdeed:function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t},__wbg_instanceof_WorkerGlobalScope_8c58a6d74926b578:function(e){let t;try{t=e instanceof WorkerGlobalScope}catch{t=!1}return t},__wbg_isArray_6339f732981044bf:function(e){return Array.isArray(e)},__wbg_isSafeInteger_f3d6cd19ccfe4512:function(e){return Number.isSafeInteger(e)},__wbg_iterator_5cebbb86e33c6dd6:function(){return Symbol.iterator},__wbg_length_1368b9bb66f6a6aa:function(e){return e.length},__wbg_length_36bd29c6848c2144:function(e){return e.length},__wbg_length_ecfa2c63d3d0d82c:function(e){return e.length},__wbg_message_c141d5e68716b595:function(e){return e.message},__wbg_new_0_f117d868b403dc07:function(){return new Date},__wbg_new_116be93542d39019:function(){return[]},__wbg_new_227d7c05414eb861:function(){return Error()},__wbg_new_3867db84790e6cb4:function(e){return new SharedArrayBuffer(e>>>0)},__wbg_new_52e39b693b131692:function(){return R(function(e){return new WebAssembly.Tag(e)},arguments)},__wbg_new_77cc4f4f472aeb81:function(e){return new Uint8Array(e)},__wbg_new_82966bafe01b664f:function(){return R(function(e){return new WebAssembly.Table(e)},arguments)},__wbg_new_bd7a161a1b96dc2a:function(){return R(function(e,t){return new WebAssembly.Global(e,t)},arguments)},__wbg_new_cdf041679ded4c5f:function(){return new Map},__wbg_new_d1599c9e69d35606:function(){return R(function(e,t){return new WebAssembly.Instance(e,t)},arguments)},__wbg_new_e3fb27841b78e4f4:function(){return R(function(e){return new WebAssembly.Module(e)},arguments)},__wbg_new_ebe3e0f6837f0879:function(){return{}},__wbg_new_f545e2e1ea609f29:function(e){return new Int32Array(e)},__wbg_new_f9d6489212f3b2b3:function(e){return new Date(e)},__wbg_new_fee1181bcca662c4:function(){return R(function(e){return new WebAssembly.Memory(e)},arguments)},__wbg_new_from_slice_3eea173078478cfe:function(e,t){return new Uint8Array(Ur(e,t))},__wbg_new_typed_cceaf62d8d95e9f2:function(e,t){try{var n={a:e,b:t};return new Promise((e,t)=>{let r=n.a;n.a=0;try{return Ir(r,n.b,e,t)}finally{n.a=r}})}finally{n.a=0}},__wbg_new_with_args_75f20e1087b74fa8:function(e,t,n,r){return Function(F(e,t),F(n,r))},__wbg_new_with_length_2ccc5dbfb4541247:function(e){return Array(e>>>0)},__wbg_new_with_length_3ffc1c56427c525c:function(e){return new Uint8Array(e>>>0)},__wbg_new_with_str_and_init_5a37d576dec75a86:function(){return R(function(e,t,n){return new Request(F(e,t),n)},arguments)},__wbg_next_42cf16ee0dafc9e2:function(){return R(function(e){return e.next()},arguments)},__wbg_next_8f26b64fa5e9f64b:function(e){return e.next},__wbg_now_8b265300afd5f2b9:function(){return Date.now()},__wbg_prototypesetcall_de8e0d9553586985:function(e,t,n){Uint8Array.prototype.set.call(Ur(e,t),n)},__wbg_push_adb0107829f02d75:function(e,t){return e.push(t)},__wbg_queueMicrotask_ac694eae12e92dfb:function(e){queueMicrotask(e)},__wbg_queueMicrotask_be5fe34a8f4cad4d:function(e){return e.queueMicrotask},__wbg_redirected_38edd6189354296c:function(e){return e.redirected},__wbg_resolve_020f95d838c6ef25:function(e){return Promise.resolve(e)},__wbg_set_014226dfeca53178:function(e,t,n){return e.set(t,n)},__wbg_set_14811fdb285b1915:function(){return R(function(e,t,n){e.set(t>>>0,n)},arguments)},__wbg_set_6be42768c690e380:function(e,t,n){e[t]=n},__wbg_set_8155bb79a948541b:function(){return R(function(e,t,n){return Reflect.set(e,t,n)},arguments)},__wbg_set_a80955eb93b145c6:function(e,t,n){e[t>>>0]=n},__wbg_set_b9b5b5cb7b495037:function(e,t,n){e.set(Ur(t,n))},__wbg_set_body_f301b68bff45f419:function(e,t){e.body=t},__wbg_set_e92392c4b44c5de1:function(){return R(function(e,t,n,r,i){e.set(F(t,n),F(r,i))},arguments)},__wbg_set_method_cf2b992b9a610bc3:function(e,t,n){e.method=F(t,n)},__wbg_set_mode_d6479dfd6696c8d3:function(e,t){e.mode=Lr[t]},__wbg_set_value_1b7bd2bc4ef248bb:function(e,t){e.value=t},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=B(n,W.__wbindgen_malloc,W.__wbindgen_realloc),i=U;P().setInt32(e+4,i,!0),P().setInt32(e+0,r,!0)},__wbg_static_accessor_GLOBAL_THIS_466428f93b4eaa76:function(){let e=typeof globalThis>`u`?null:globalThis;return z(e)?0:M(e)},__wbg_static_accessor_GLOBAL_c7aea38d4de089bc:function(){let e=typeof global>`u`?null:global;return z(e)?0:M(e)},__wbg_static_accessor_SELF_42d4fae05e59267a:function(){let e=typeof self>`u`?null:self;return z(e)?0:M(e)},__wbg_static_accessor_WINDOW_e0db14a0eba6a812:function(){let e=typeof window>`u`?null:window;return z(e)?0:M(e)},__wbg_status_b0de02a07fd7d927:function(e){return e.status},__wbg_subarray_a4cc58201c7359fd:function(e,t,n){return e.subarray(t>>>0,n>>>0)},__wbg_then_7026b513a94278a8:function(e,t){return e.then(t)},__wbg_then_72819b8d4e081fb5:function(e,t,n){return e.then(t,n)},__wbg_toString_2f0b0aec069cb718:function(e){return e.toString()},__wbg_toString_effe882d0e9af91c:function(e,t,n){let r=B(t.toString(n),W.__wbindgen_malloc,W.__wbindgen_realloc),i=U;P().setInt32(e+4,i,!0),P().setInt32(e+0,r,!0)},__wbg_trap_new:function(e){return kr.__wrap(e)},__wbg_value_1e2369fab29b420e:function(e){return e.value},__wbg_value_728796e3a1723ff8:function(e){return e.value},__wbg_wait_5f03a1b29e76c8cb:function(){return R(function(e,t,n,r){return Atomics.wait(e,t>>>0,n,r)},arguments)},__wbindgen_cast_0000000000000001:function(e,t){return Wr(e,t,Mr)},__wbindgen_cast_0000000000000002:function(e,t){return Wr(e,t,Pr)},__wbindgen_cast_0000000000000003:function(e,t){return Wr(e,t,Fr)},__wbindgen_cast_0000000000000004:function(e,t){return Wr(e,t,Nr)},__wbindgen_cast_0000000000000005:function(e){return e},__wbindgen_cast_0000000000000006:function(e){return e},__wbindgen_cast_0000000000000007:function(e,t){return Ur(e,t)},__wbindgen_cast_0000000000000008:function(e,t){return F(e,t)},__wbindgen_cast_0000000000000009:function(e,t){return BigInt.asUintN(64,e)|BigInt.asUintN(64,t)<<BigInt(64)},__wbindgen_cast_000000000000000a:function(e){return BigInt.asUintN(64,e)},__wbindgen_cast_000000000000000b:function(e,t){var n=Hr(e,t);return W.__wbindgen_free(e,t*4,4),n},__wbindgen_init_externref_table:function(){let e=W.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}}}}function Mr(e,t,n){let r=W.wasm_bindgen_68458880a41dd4bb___convert__closures_____invoke___wasm_bindgen_68458880a41dd4bb___JsValue__core_9b3796e30d99ddb7___result__Result_____wasm_bindgen_68458880a41dd4bb___JsError___true_(e,t,n);if(r[1])throw V(r[0])}function Nr(e,t,n){let r=W.wasm_bindgen_68458880a41dd4bb___convert__closures________invoke___js_sys_c11fba41208799d1___Array__core_9b3796e30d99ddb7___result__Result_____wasm_bindgen_68458880a41dd4bb___JsValue___true_(e,t,n);if(r[1])throw V(r[0])}function Pr(e,t,n){let r=W.wasm_bindgen_68458880a41dd4bb___convert__closures________invoke___js_sys_c11fba41208799d1___Array__core_9b3796e30d99ddb7___result__Result_js_sys_c11fba41208799d1___Array__wasm_bindgen_68458880a41dd4bb___JsValue___true_(e,t,n);if(r[2])throw V(r[1]);return V(r[0])}function Fr(e,t,n){let r=W.wasm_bindgen_68458880a41dd4bb___convert__closures________invoke___js_sys_c11fba41208799d1___Array__core_9b3796e30d99ddb7___result__Result_js_sys_c11fba41208799d1___Array__wasm_bindgen_68458880a41dd4bb___JsValue___true__2(e,t,n);if(r[2])throw V(r[1]);return V(r[0])}function Ir(e,t,n,r){W.wasm_bindgen_68458880a41dd4bb___convert__closures_____invoke___js_sys_c11fba41208799d1___Function_fn_wasm_bindgen_68458880a41dd4bb___JsValue_____wasm_bindgen_68458880a41dd4bb___sys__Undefined___js_sys_c11fba41208799d1___Function_fn_wasm_bindgen_68458880a41dd4bb___JsValue_____wasm_bindgen_68458880a41dd4bb___sys__Undefined_______true_(e,t,n,r)}const Lr=[`same-origin`,`no-cors`,`cors`,`navigate`],Rr=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>W.__wbg_gocompilersession_free(e,1)),zr=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>W.__wbg_trap_free(e,1));function M(e){let t=W.__externref_table_alloc();return W.__wbindgen_externrefs.set(t,e),t}const Br=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>W.__wbindgen_destroy_closure(e.a,e.b));function Vr(e){let t=typeof e;if(t==`number`||t==`boolean`||e==null)return`${e}`;if(t==`string`)return`"${e}"`;if(t==`symbol`){let t=e.description;return t==null?`Symbol`:`Symbol(${t})`}if(t==`function`){let t=e.name;return typeof t==`string`&&t.length>0?`Function(${t})`:`Function`}if(Array.isArray(e)){let t=e.length,n=`[`;t>0&&(n+=Vr(e[0]));for(let r=1;r<t;r++)n+=`, `+Vr(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(n&&n.length>1)r=n[1];else return toString.call(e);if(r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function Hr(e,t){e>>>=0;let n=P(),r=[];for(let i=e;i<e+4*t;i+=4)r.push(W.__wbindgen_externrefs.get(n.getUint32(i,!0)));return W.__externref_drop_slice(e,t),r}function Ur(e,t){return e>>>=0,L().subarray(e/1,e/1+t)}let N=null;function P(){return(N===null||N.buffer.detached===!0||N.buffer.detached===void 0&&N.buffer!==W.memory.buffer)&&(N=new DataView(W.memory.buffer)),N}function F(e,t){return qr(e>>>0,t)}let I=null;function L(){return(I===null||I.byteLength===0)&&(I=new Uint8Array(W.memory.buffer)),I}function R(e,t){try{return e.apply(this,t)}catch(e){let t=M(e);W.__wbindgen_exn_store(t)}}function z(e){return e==null}function Wr(e,t,n){let r={a:e,b:t,cnt:1},i=(...e)=>{r.cnt++;let t=r.a;r.a=0;try{return n(t,r.b,...e)}finally{r.a=t,i._wbg_cb_unref()}};return i._wbg_cb_unref=()=>{--r.cnt===0&&(W.__wbindgen_destroy_closure(r.a,r.b),r.a=0,Br.unregister(r))},Br.register(i,r,r),i}function B(e,t,n){if(n===void 0){let n=H.encode(e),r=t(n.length,1)>>>0;return L().subarray(r,r+n.length).set(n),U=n.length,r}let r=e.length,i=t(r,1)>>>0,a=L(),o=0;for(;o<r;o++){let t=e.charCodeAt(o);if(t>127)break;a[i+o]=t}if(o!==r){o!==0&&(e=e.slice(o)),i=n(i,r,r=o+e.length*3,1)>>>0;let t=L().subarray(i+o,i+r),a=H.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return U=o,i}function V(e){let t=W.__wbindgen_externrefs.get(e);return W.__externref_table_dealloc(e),t}let Gr=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});Gr.decode();let Kr=0;function qr(e,t){return Kr+=t,Kr>=2146435072&&(Gr=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),Gr.decode(),Kr=t),Gr.decode(L().subarray(e,e+t))}const H=new TextEncoder;`encodeInto`in H||(H.encodeInto=function(e,t){let n=H.encode(e);return t.set(n),{read:e.length,written:n.length}});let U=0,W;function Jr(e,t){return W=e.exports,N=null,I=null,W.__wbindgen_start(),W}async function Yr(e,t){if(typeof Response==`function`&&e instanceof Response){if(!e.ok)throw Error(`failed to fetch Wasm: ${e.status} ${e.statusText} fetching '${e.url}'`);if(typeof WebAssembly.instantiateStreaming==`function`)try{return await WebAssembly.instantiateStreaming(e,t)}catch(t){if(n(e.type)&&e.headers.get(`Content-Type`)!==`application/wasm`)console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n",t);else throw t}let r=await e.arrayBuffer();return await WebAssembly.instantiate(r,t)}{let n=await WebAssembly.instantiate(e,t);return n instanceof WebAssembly.Instance?{instance:n,module:e}:n}function n(e){switch(e){case`basic`:case`cors`:case`default`:return!0}return!1}}async function Xr(e){if(W!==void 0)return W;e!==void 0&&(Object.getPrototypeOf(e)===Object.prototype?{module_or_path:e}=e:console.warn(`using deprecated parameters for the initialization function; pass a single object instead`)),e===void 0&&(e=new URL(``+new URL(`runtime-core_bg-CKk6CPFH.wasm`,import.meta.url).href,``+import.meta.url));let t=jr();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:n,module:r}=await Yr(await e,t);return Jr(n,r)}var Zr=``+new URL(`runtime-core_bg-CKk6CPFH.wasm`,import.meta.url).href;function Qr(e,t={}){let n=$r(e,{liveness:!0}),r;try{r=new Worker(n.url,{...t,type:`module`})}finally{n.revoke()}return ii(r,t.name),r}function $r(e,{liveness:t=!1}={}){let n=oi(),r=si(e),i=new Blob([`const pendingMessages = [];
295
295
  `,`const queueMessage = (event) => { event.stopImmediatePropagation(); pendingMessages.push(event.data); };
296
296
  `,`globalThis.addEventListener("message", queueMessage);
297
- `,`Object.defineProperty(globalThis, "__wasmOjModuleWorkerBaseUrl", { value: ${JSON.stringify(t.href)} });\n`,`try { await import(${JSON.stringify(n)}); } finally { globalThis.removeEventListener("message", queueMessage); }\n`,`for (const data of pendingMessages) globalThis.dispatchEvent(new MessageEvent("message", { data }));
298
- `],{type:`text/javascript`}),i=URL.createObjectURL(r),a=!0;return{url:i,revoke(){a&&(a=!1,URL.revokeObjectURL(i))}}}function ei(){let e=globalThis.location?.href;if(e){let t=new URL(e);if(t.protocol===`http:`||t.protocol===`https:`)return t;if(t.protocol!==`blob:`)throw Error(`A module Worker requires an HTTP(S) browser base URL.`)}let t=globalThis.__wasmOjModuleWorkerBaseUrl;if(typeof t!=`string`)throw Error(`A module Worker requires a browser base URL.`);let n=new URL(t);if(n.origin===`null`||n.protocol!==`http:`&&n.protocol!==`https:`)throw Error(`A module Worker requires an HTTP(S) browser base URL.`);return n}function ti(e){let t=ei(),n;try{n=new URL(e instanceof URL?e.href:e,t)}catch{throw Error(`A module Worker URL must be a valid same-origin HTTP(S) URL.`)}if(n.origin!==t.origin||n.username||n.password||n.search||n.hash)throw Error(`A module Worker URL must be same-origin and contain no credentials, query, or fragment.`);return n.href}const ni=65536;function ri(e){let t=ni;for(;t<e&&t<2**30;)t*=2;return t}function ii(e=ni){if(!Number.isSafeInteger(e)||e<=0||e&e-1||e>2**30)throw Error(`Interactive pipe capacity must be a power of two up to 1 GiB.`);return new SharedArrayBuffer(32+e)}var ai=``+new URL(`interactive-side.worker-TI8uZzD7.js`,import.meta.url).href,oi=``+new URL(`wasmer-thread.worker-DKlJE3cb.js`,import.meta.url).href,si=function(e){return e[e.Static=1]=`Static`,e[e.Dynamic=2]=`Dynamic`,e[e.ImportMeta=3]=`ImportMeta`,e[e.StaticSourcePhase=4]=`StaticSourcePhase`,e[e.DynamicSourcePhase=5]=`DynamicSourcePhase`,e[e.StaticDeferPhase=6]=`StaticDeferPhase`,e[e.DynamicDeferPhase=7]=`DynamicDeferPhase`,e}({});const ci=new Uint8Array(new Uint16Array([1]).buffer)[0]===1;function li(e,t=`@`){if(!G)return fi.then(()=>li(e));let n=e.length+1,r=(G.__heap_base.value||G.__heap_base)+4*n-G.memory.buffer.byteLength;r>0&&G.memory.grow(Math.ceil(r/65536));let i=G.sa(n-1);if(typeof Buffer<`u`?Buffer.from(G.memory.buffer,i,2*(n-1)).write(e,`utf16le`):(ci?di:ui)(e,new Uint16Array(G.memory.buffer,i,n)),!G.parse())throw Object.assign(Error(`Parse error ${t}:${e.slice(0,G.e()).split(`
297
+ `,`Object.defineProperty(globalThis, "__wasmOjModuleWorkerBaseUrl", { value: ${JSON.stringify(n.href)} });\n`,...t?[ti]:[],`try { await import(${JSON.stringify(r)}); } finally { globalThis.removeEventListener("message", queueMessage); }\n`,`for (const data of pendingMessages) globalThis.dispatchEvent(new MessageEvent("message", { data }));
298
+ `],{type:`text/javascript`}),a=URL.createObjectURL(i),o=!0;return{url:a,revoke(){o&&(o=!1,URL.revokeObjectURL(a))}}}const ei=`__wasmOjWorkerLiveness`,ti=`try { const lock = "wasm-oj-worker-" + crypto.randomUUID(); navigator.locks.request(lock, () => { postMessage({ ${ei}: lock }); return new Promise(() => {}); }).catch(() => {}); } catch {}\n`,ni=new WeakMap;function ri(e,t){let n=ni.get(e);if(n){if(n.lost){let e=n.lost;queueMicrotask(()=>t(e));return}n.listeners.add(t)}}function ii(e,t){let n={listeners:new Set};ni.set(e,n);let r=new AbortController,i=e.terminate.bind(e);e.terminate=()=>{r.abort(),n.listeners.clear(),i()},e.addEventListener(`message`,e=>{let i=ai(e.data);if(i===void 0)return;e.stopImmediatePropagation();let a=globalThis.navigator?.locks;a&&a.request(i,{signal:r.signal},()=>{if(r.signal.aborted)return;let e=Error(`The ${t??`module`} Worker stopped without reporting an error.`);n.lost=e;let i=[...n.listeners];n.listeners.clear();for(let t of i)t(e)}).catch(()=>void 0)})}function ai(e){if(typeof e!=`object`||!e)return;let t=e[ei];return typeof t==`string`?t:void 0}function oi(){let e=globalThis.location?.href;if(e){let t=new URL(e);if(t.protocol===`http:`||t.protocol===`https:`)return t;if(t.protocol!==`blob:`)throw Error(`A module Worker requires an HTTP(S) browser base URL.`)}let t=globalThis.__wasmOjModuleWorkerBaseUrl;if(typeof t!=`string`)throw Error(`A module Worker requires a browser base URL.`);let n=new URL(t);if(n.origin===`null`||n.protocol!==`http:`&&n.protocol!==`https:`)throw Error(`A module Worker requires an HTTP(S) browser base URL.`);return n}function si(e){let t=oi(),n;try{n=new URL(e instanceof URL?e.href:e,t)}catch{throw Error(`A module Worker URL must be a valid same-origin HTTP(S) URL.`)}if(n.origin!==t.origin||n.username||n.password||n.search||n.hash)throw Error(`A module Worker URL must be same-origin and contain no credentials, query, or fragment.`);return n.href}const ci=65536;function li(e){let t=ci;for(;t<e&&t<2**30;)t*=2;return t}function ui(e=ci){if(!Number.isSafeInteger(e)||e<=0||e&e-1||e>2**30)throw Error(`Interactive pipe capacity must be a power of two up to 1 GiB.`);return new SharedArrayBuffer(32+e)}var di=``+new URL(`interactive-side.worker-pP6UC6gL.js`,import.meta.url).href,fi=``+new URL(`wasmer-thread.worker-DKlJE3cb.js`,import.meta.url).href,pi=class{host;owns;originalWorker;originalDescriptor;trackedWorker;workers=new Map;deferred=new Set;teardownQuietMs;operations=0;lastTeardownAt=-1/0;installed=!1;constructor(e,t={}){this.host=e,this.teardownQuietMs=t.teardownQuietMs??250,this.owns=t.owns??(()=>!0)}install(){if(this.installed)throw Error(`Nested Worker ownership is already installed.`);if(this.originalWorker=this.host.Worker,this.originalDescriptor=Object.getOwnPropertyDescriptor(this.host,`Worker`),this.trackedWorker=new Proxy(this.originalWorker,{construct:(e,t,n)=>{let r=Reflect.construct(e,t,n);return this.owns(String(t[0]))&&this.own(r),r}}),Object.defineProperty(this.host,"Worker",{configurable:!0,enumerable:this.originalDescriptor?.enumerable??!1,writable:!0,value:this.trackedWorker}),this.host.Worker!==this.trackedWorker)throw Error(`Unable to install nested Worker ownership.`);this.installed=!0}async run(e){for(;;){let e=this.lastTeardownAt+this.teardownQuietMs-performance.now();if(e<=0)break;await new Promise(t=>setTimeout(t,e))}this.operations+=1;try{return await e()}finally{if(--this.operations,this.operations===0){let e=[...this.deferred];this.deferred.clear();for(let t of e)t()}}}terminateAll(){if(!this.installed){if(this.workers.size>0)throw Error(`Nested Workers exist without an installed owner.`);return}if(this.host.Worker!==this.trackedWorker)throw Error(`The Worker constructor changed while nested Worker ownership was active.`);if(this.originalDescriptor)Object.defineProperty(this.host,"Worker",this.originalDescriptor);else if(!Reflect.deleteProperty(this.host,`Worker`))throw Error(`Unable to restore the inherited Worker constructor.`);if(this.host.Worker!==this.originalWorker)throw Error(`The original Worker constructor was not restored.`);this.installed=!1;let e=[...this.workers.values()];this.deferred.clear();for(let t of e)t()}get size(){return this.workers.size}own(e){let t=e.terminate.bind(e),n=()=>{this.workers.delete(e)&&(t(),this.lastTeardownAt=performance.now())};this.workers.set(e,n),e.terminate=()=>{this.operations>0?this.deferred.add(n):n()}}},mi=function(e){return e[e.Static=1]=`Static`,e[e.Dynamic=2]=`Dynamic`,e[e.ImportMeta=3]=`ImportMeta`,e[e.StaticSourcePhase=4]=`StaticSourcePhase`,e[e.DynamicSourcePhase=5]=`DynamicSourcePhase`,e[e.StaticDeferPhase=6]=`StaticDeferPhase`,e[e.DynamicDeferPhase=7]=`DynamicDeferPhase`,e}({});const hi=new Uint8Array(new Uint16Array([1]).buffer)[0]===1;function gi(e,t=`@`){if(!G)return yi.then(()=>gi(e));let n=e.length+1,r=(G.__heap_base.value||G.__heap_base)+4*n-G.memory.buffer.byteLength;r>0&&G.memory.grow(Math.ceil(r/65536));let i=G.sa(n-1);if(typeof Buffer<`u`?Buffer.from(G.memory.buffer,i,2*(n-1)).write(e,`utf16le`):(hi?vi:_i)(e,new Uint16Array(G.memory.buffer,i,n)),!G.parse())throw Object.assign(Error(`Parse error ${t}:${e.slice(0,G.e()).split(`
299
299
  `).length}:${G.e()-e.lastIndexOf(`
300
- `,G.e()-1)}`),{idx:G.e()});let a=[],o=[];for(;G.ri();){let t=G.is(),n=G.ie(),r=G.it(),i=G.ai(),o=G.id(),l=G.ss(),u=G.se(),d;G.ip()&&(d=s(e.slice(o===-1?t-1:t,o===-1?n+1:n)));let f=null;for(f=[],G.rsa();G.ra();){let t=G.aks(),n=G.ake(),r=G.avs(),i=G.ave();f.push([c(e.slice(t,n)),c(e.slice(r,i))])}f.length===0&&(f=null),a.push({n:d,t:r,s:t,e:n,ss:l,se:u,d:o,a:i,at:f})}for(;G.re();){let t=G.es(),n=G.ee(),r=G.els(),i=G.ele(),a=r<0?void 0:c(e.slice(r,i)),s=c(e.slice(t,n));o.push({s:t,e:n,ls:r,le:i,ss:G.ess(),n:s,ln:a})}function s(e){try{return(0,eval)(e)}catch{}}function c(e){if(!e)return e;let t=e[0];return(t===`"`||t===`'`)&&s(e)||e}return[a,o,!!G.f(),!!G.ms()]}function ui(e,t){let n=e.length,r=0;for(;r<n;){let n=e.charCodeAt(r);t[r++]=(255&n)<<8|n>>>8}}function di(e,t){let n=e.length,r=0;for(;r<n;)t[r]=e.charCodeAt(r++)}let G;const fi=WebAssembly.compile((()=>{return e=`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`,typeof Buffer<`u`?Buffer.from(e,`base64`):Uint8Array.from(atob(e),e=>e.charCodeAt(0));var e})()).then(WebAssembly.instantiate).then(({exports:e})=>{G=e}),K=Object.freeze({count:16,sourceBytes:1048576}),pi=`createRuntimeDriver`,mi=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function hi(e,t){if(!Array.isArray(e))throw TypeError(`Browser runtime-driver plug-ins must be an array.`);if(e.length>K.count)throw RangeError(`At most ${K.count} browser runtime-driver plug-ins are allowed.`);if(e.length===0)return[];let n=wi(t,`Browser runtime-driver plug-in base URL`),r=new Set;return e.map((e,t)=>{if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`Browser runtime-driver plug-in ${t} must be an object.`);let i=Si(e.id,`Browser runtime-driver plug-in ${t} ID`);if(r.has(i))throw Error(`Browser runtime-driver plug-in '${i}' is declared more than once.`);if(r.add(i),typeof e.moduleUrl!=`string`||!e.moduleUrl||e.moduleUrl!==e.moduleUrl.trim())throw TypeError(`Browser runtime-driver plug-in '${i}' moduleUrl must be a non-empty trimmed string.`);let a=wi(new URL(e.moduleUrl,n).href,`Browser runtime-driver plug-in '${i}' module URL`);if(a.origin!==n.origin)throw Error(`Browser runtime-driver plug-in '${i}' must be loaded from ${n.origin}.`);if(a.username||a.password||a.hash)throw Error(`Browser runtime-driver plug-in '${i}' URL cannot contain credentials or a fragment.`);if(typeof e.sha256!=`string`||!/^[0-9a-f]{64}$/.test(e.sha256))throw Error(`Browser runtime-driver plug-in '${i}' SHA-256 must be lowercase hexadecimal.`);let o=Ci(e.exportName??pi,i);return Object.freeze({id:i,moduleUrl:a.href,sha256:e.sha256,...o===pi?{}:{exportName:o}})})}async function gi(e,t){let n=hi(e,t);await fi;let r=[];for(let e of n)r.push(await _i(e));return r}async function _i(e){let t=await fetch(e.moduleUrl,{cache:`force-cache`,credentials:`same-origin`,redirect:`error`});if(!t.ok)throw Error(`Unable to load browser runtime-driver plug-in '${e.id}' (${t.status}).`);let n=await vi(t,e.id),r=await Yt(n);if(r!==e.sha256)throw Error(`Browser runtime-driver plug-in '${e.id}' has digest ${r}; expected ${e.sha256}.`);bi(new TextDecoder(`utf-8`,{fatal:!0}).decode(n),e.id);let i=new Uint8Array(n.byteLength);i.set(n);let a=URL.createObjectURL(new Blob([i.buffer],{type:`text/javascript`}));try{let t=await import(a),n=e.exportName??pi,r=t[n];if(typeof r!=`function`)throw TypeError(`Browser runtime-driver plug-in '${e.id}' must export function '${n}'.`);let i=await r();return xi(i,e.id),i}finally{URL.revokeObjectURL(a)}}async function vi(e,t){let n=e.headers.get(`content-length`);if(n!==null&&(!/^\d+$/.test(n)||Number(n)>K.sourceBytes))throw RangeError(`Browser runtime-driver plug-in '${t}' exceeds ${K.sourceBytes} source bytes.`);if(!e.body){let n=new Uint8Array(await e.arrayBuffer());return yi(n.byteLength,t),n}let r=e.body.getReader(),i=[],a=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;a+=n.byteLength,yi(a,t),i.push(n)}}catch(e){throw await r.cancel(e).catch(()=>void 0),e}let o=new Uint8Array(a),s=0;for(let e of i)o.set(e,s),s+=e.byteLength;return o}function yi(e,t){if(e>K.sourceBytes)throw RangeError(`Browser runtime-driver plug-in '${t}' exceeds ${K.sourceBytes} source bytes.`)}function bi(e,t){let[n]=li(e,t);if(n.find(e=>e.t!==si.ImportMeta))throw Error(`Browser runtime-driver plug-in '${t}' must be self-contained and cannot import another module.`)}function xi(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`Browser runtime-driver plug-in '${t}' factory must return a RuntimeDriver object.`);let n=e;if(n.id!==t)throw Error(`Browser runtime-driver plug-in '${t}' returned driver ID '${String(n.id)}'.`);if(typeof n.supports!=`function`||typeof n.prepare!=`function`)throw TypeError(`Browser runtime-driver plug-in '${t}' must implement supports() and prepare().`);if(n.interactive!==void 0&&n.interactive!==`streaming`)throw Error(`Browser runtime-driver plug-in '${t}' has an invalid interactive capability.`)}function Si(e,t){if(typeof e!=`string`||!e||e!==e.trim()||e.length>128)throw Error(`${t} must be non-empty, trimmed, and at most 128 characters.`);return e}function Ci(e,t){if(typeof e!=`string`||!mi.test(e)||e.length>128)throw Error(`Browser runtime-driver plug-in '${t}' exportName must be an ASCII JavaScript identifier.`);return e}function wi(e,t){let n;try{n=new URL(e)}catch{throw Error(`${t} must be a valid absolute URL.`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw Error(`${t} must use HTTP or HTTPS.`);return n}const Ti=self,q=ei(),J=new TextDecoder,Ei=new Sr,Di=new Map;let Oi,ki,Ai,Y,ji,Mi,X;function Z(e){Ti.postMessage(e)}function Q(e,t,n,r){Z({type:`progress`,requestId:e,progress:{phase:t,label:n,progress:r}})}async function Ni(e,t,n,r=[]){if(!crossOriginIsolated)throw Error(`The deterministic runner requires a cross-origin-isolated page with COOP and COEP headers.`);if(Mi=nn(t),Q(e,`initializing`,`Starting deterministic Wasmer runner`,.1),X=await Pi(),await Xr({module_or_path:X}),Y=sr(Tn(n)),r.length>0){Q(e,`initializing`,`Loading pinned runtime-driver plug-ins`,.85);for(let e of await gi(r,q.href))Y.register(e)}Q(e,`initializing`,`Deterministic Wasmer runner ready`,1)}async function Pi(){let e=await fetch(new URL(Zr,q));if(!e.ok)throw Error(`Unable to load the WASM-OJ runtime core (${e.status}).`);return e.headers.get(`Content-Type`)?.startsWith(`application/wasm`)?WebAssembly.compileStreaming(e):WebAssembly.compile(await e.arrayBuffer())}async function Fi(){if(Oi)return Oi;ki??=(async()=>{let e=$r(new URL(oi,q));Ai=e;try{await We({log:`warn`,module:new URL(Ke,q),workerUrl:e.url});let t=new Oe({registry:null});return Oi=t,t}catch(t){throw Ai===e&&(Ai=void 0),e.revoke(),t}})();try{return await ki}catch(e){throw ki=void 0,e}}function Ii(e){if(!Mi)throw Error(`The runner toolchain-source registry is not initialized.`);return on(Mi,e,q)}async function Li(e,t,n,r){let i=await fetch(Ii(e));if(!i.ok)throw Error(`Unable to load ${t} (${i.status}).`);let a=new Uint8Array(await i.arrayBuffer());if(!Mi)throw Error(`The runner toolchain-source registry is not initialized.`);let{asset:o}=rn(Mi,e);if(a.byteLength!==o.bytes)throw Error(`Pinned ${t} asset has ${a.byteLength} bytes; expected ${o.bytes}.`);if(o.sha256!==n)throw Error(`Pinned ${t} descriptor digest ${o.sha256} does not match runtime pin ${n}.`);let s=await Yt(a);if(s!==n)throw Error(`Pinned ${t} asset has digest ${s}; expected ${n}.`);let c=new Response(a).body;if(!c)throw Error(`Pinned ${t} asset '${e}' has no response body.`);let l=c.pipeThrough(new DecompressionStream(`gzip`)),u=new Uint8Array(await new Response(l).arrayBuffer());if(r){let e=await Yt(u);if(e!==r)throw Error(`Pinned ${t} payload has digest ${e}; expected ${r}.`)}return u}function Ri(e){if(e!==lt)throw Error(`No pinned WASM-OJ runtime package is declared for '${e}'.`);return Ei.acquire(e,async()=>{let[e,t]=await Promise.all([Li(ut,`Python/WASI package`,ft,ct),Fi()]);return new xr(await Ie.fromFile(e,t))})}function zi(e){let t=`${e.packageSpecifier}\n${e.command}\n${e.cacheKey}\n${e.expectedSha256}`;return new Request(new URL(`/__wasm_oj_runtime_files__/${encodeURIComponent(t)}`,q))}async function Bi(e){let t=`${e.packageSpecifier}\n${e.command}\n${e.cacheKey}\n${e.expectedSha256}`,n=Di.get(t);if(n)return n;n=(async()=>vr(await _r(caches,Je.runtimeFilesCache),{cacheRequest:zi(e),cacheKey:e.cacheKey,expectedSha256:e.expectedSha256},async()=>wr(await Ri(e.packageSpecifier),t=>Cr(t,e.command,async t=>{let n=await t.run({args:e.args,env:{PYTHONHOME:`/usr/local`,PYTHONHASHSEED:`0`,PYTHONDONTWRITEBYTECODE:`1`}});try{return await Zn(n)}catch(t){throw Error(`Unable to export runtime files from ${e.packageSpecifier}: ${t instanceof Error?t.message:String(t)}`)}finally{n.free()}}))))(),Di.set(t,n);try{return await n}catch(e){throw Di.get(t)===n&&Di.delete(t),e}}function Vi(){let e=ji;if(e)return e;let t=Li(_t,`the pinned QuickJS-ng ${ht}/WASI runtime`,vt);return ji=t,t.catch(()=>{ji===t&&(ji=void 0)}),t}const Hi={quickJs(){return Vi()},async packageCommand(e,t){return wr(await Ri(e),e=>Cr(e,t,e=>e.binary()))},packageFileSystem:Bi};async function Ui(){let e=Ei.retireAll();Di.clear(),ji=void 0,await e.wait(),await caches.delete(Je.runtimeFilesCache)}function $(e){let t=Number(e);if(!Number.isSafeInteger(t)||t<0)throw Error(`Runner returned an invalid numeric metric: ${String(e)}.`);return t}function Wi(e){return{cost:$(e.cost),costModel:e.costModel,operations:Object.fromEntries(Object.entries(e.operations).map(([e,t])=>[e,$(t)])),memoryBytes:$(e.memoryBytes),logicalTimeNs:$(e.logicalTimeNs),filesystemBytes:$(e.filesystemBytes),filesystemEntries:$(e.filesystemEntries),stdoutBytes:$(e.stdoutBytes),stderrBytes:$(e.stderrBytes)}}async function Gi(e){let t=performance.now();if(Q(e.requestId,`loading-toolchain`,`Resolving runtime for ${e.artifact.name}`,.1),!Y)throw Error(`The WASM-OJ runtime-driver registry is not initialized.`);let n=await mr(e.artifact,e.config,Hi,Y),r=0,i=0,a=Ar(n,t=>{t?(Q(e.requestId,`running`,`Running ${e.artifact.name} with deterministic Wasmer`,.25),r=performance.now()):(i=performance.now()-r,Q(e.requestId,`packaging`,`Collecting execution results`,.9))});if(!a.ok||!a.result){let e=a.error??{code:`RUNTIME_ERROR`,message:`The runtime core returned no result.`};throw Object.assign(Error(e.message),{code:e.code})}let o=J.decode(a.result.stdout),s=J.decode(a.result.stderr);return o&&Z({type:`stream`,requestId:e.requestId,stream:`stdout`,chunk:o}),s&&Z({type:`stream`,requestId:e.requestId,stream:`stderr`,chunk:s}),{code:a.result.code,stdout:o,stderr:s,files:Object.fromEntries(Object.entries(a.result.files).map(([e,t])=>[e,t.slice()])),durationMs:performance.now()-t,executionDurationMs:i,determinism:{...e.config.determinism},resources:{...e.config.resources},termination:a.result.termination,trapMessage:a.result.trapMessage,metrics:On(Wi(a.result.metrics),n.cost)}}async function Ki(e){let t=performance.now();if(!Y)throw Error(`The WASM-OJ runtime-driver registry is not initialized.`);Q(e.requestId,`loading-toolchain`,`Resolving contestant and interactor runtimes`,.1);let[n,r]=await Promise.all([hr(e.contestant,Yi(e.config.contestant,e.config.determinism),Hi,Y),hr(e.interactor,Yi(e.config.interactor,e.config.determinism),Hi,Y)]),[i,a]=await qi(e.requestId,{contestant:Xi(n),interactor:Xi(r)},e.config.determinism);return{contestant:Zi(i.process,n),interactor:Zi(a.process,r),contestantToInteractor:J.decode(i.protocol),interactorToContestant:J.decode(a.protocol),durationMs:performance.now()-t,determinism:{...e.config.determinism}}}async function qi(e,t,n){if(!X)throw Error(`The WASM-OJ runtime core is not initialized.`);let r=ii(ri(t.contestant.resources.outputLimitBytes)),i=ii(ri(t.interactor.resources.outputLimitBytes)),a=[];try{a.push(Ji(`contestant`,{runtimeCore:X,request:{program:t.contestant,determinism:n},input:i,output:r})),a.push(Ji(`interactor`,{runtimeCore:X,request:{program:t.interactor,determinism:n},input:r,output:i})),Promise.all(a.map(e=>e.running)).then(()=>{Q(e,`running`,`Running interactive session with deterministic Wasmer`,.25)});let o=await Promise.all(a.map(e=>e.result));return Q(e,`packaging`,`Collecting interactive results`,.9),[o[0],o[1]]}finally{for(let e of a)e.worker.terminate()}}function Ji(e,t){let n=Qr(new URL(ai,q),{name:`wasm-oj-interactive-${e}`}),r,i=new Promise(e=>{r=e}),a=new Promise((t,i)=>{n.addEventListener(`message`,n=>{let a=n.data;if(a.type===`running`)r();else if(a.type===`error`)i(Object.assign(Error(`Interactive ${e} failed: ${a.message}`),{code:`RUNTIME_ERROR`}));else{let n=a.response;if(n.ok&&n.result)t(n.result);else{let t=n.error??{code:`RUNTIME_ERROR`,message:`the runtime returned no result.`};i(Object.assign(Error(`Interactive ${e} failed: ${t.message}`),{code:t.code}))}}}),n.addEventListener(`error`,t=>{t.preventDefault(),i(Object.assign(Error(`The interactive ${e} Worker crashed${t.message?`: ${t.message}`:`.`}`),{code:`RUNTIME_ERROR`}))})});try{n.postMessage(t)}catch(e){throw n.terminate(),e}return{worker:n,running:i,result:a}}function Yi(e,t){return{args:[...e.args],stdin:``,env:{...e.env},files:Object.fromEntries(Object.entries(e.files??{}).map(([e,t])=>[e,t.slice()])),outputPaths:[],...e.cwd===void 0?{}:{cwd:e.cwd},determinism:{...t},resources:{...e.resources}}}function Xi(e){return{wasm:e.wasm,args:e.args,env:e.env,files:e.files,cwd:e.cwd,startupEntropyBytes:e.startupEntropyBytes,resources:e.resources}}function Zi(e,t){let n=On({cost:$(e.metrics.cost),costModel:`weighted`,operations:Object.fromEntries(Object.entries(e.metrics.operations).map(([e,t])=>[e,$(t)])),memoryBytes:0,logicalTimeNs:$(e.metrics.logicalTimeNs),filesystemBytes:$(e.metrics.filesystemBytes),filesystemEntries:$(e.metrics.filesystemEntries),stdoutBytes:$(e.metrics.protocolBytes),stderrBytes:$(e.metrics.stderrBytes)},t.cost);return{code:e.code,stderr:J.decode(e.stderr),termination:e.termination,metrics:{...n,memoryBytes:null}}}Ti.addEventListener(`message`,e=>{let t=e.data;(async()=>{try{switch(t.type){case`initialize`:await Ni(t.requestId,t.toolchains,t.additionalCostBaselines,t.runtimeDriverPlugins),Z({type:`ready`,requestId:t.requestId});break;case`run`:Z({type:`run-result`,requestId:t.requestId,result:await Gi(t)});break;case`interact`:Z({type:`interactive-result`,requestId:t.requestId,result:await Ki(t)});break;case`clear-runtime-cache`:await Ui(),Z({type:`runtime-cache-cleared`,requestId:t.requestId})}}catch(e){let n=e instanceof Error?e:Error(String(e)),r=typeof n.code==`string`?n.code:`RUNNER_ERROR`;Z({type:`error`,requestId:t.requestId,code:r,message:n.message,stack:n.stack})}})()});
300
+ `,G.e()-1)}`),{idx:G.e()});let a=[],o=[];for(;G.ri();){let t=G.is(),n=G.ie(),r=G.it(),i=G.ai(),o=G.id(),l=G.ss(),u=G.se(),d;G.ip()&&(d=s(e.slice(o===-1?t-1:t,o===-1?n+1:n)));let f=null;for(f=[],G.rsa();G.ra();){let t=G.aks(),n=G.ake(),r=G.avs(),i=G.ave();f.push([c(e.slice(t,n)),c(e.slice(r,i))])}f.length===0&&(f=null),a.push({n:d,t:r,s:t,e:n,ss:l,se:u,d:o,a:i,at:f})}for(;G.re();){let t=G.es(),n=G.ee(),r=G.els(),i=G.ele(),a=r<0?void 0:c(e.slice(r,i)),s=c(e.slice(t,n));o.push({s:t,e:n,ls:r,le:i,ss:G.ess(),n:s,ln:a})}function s(e){try{return(0,eval)(e)}catch{}}function c(e){if(!e)return e;let t=e[0];return(t===`"`||t===`'`)&&s(e)||e}return[a,o,!!G.f(),!!G.ms()]}function _i(e,t){let n=e.length,r=0;for(;r<n;){let n=e.charCodeAt(r);t[r++]=(255&n)<<8|n>>>8}}function vi(e,t){let n=e.length,r=0;for(;r<n;)t[r]=e.charCodeAt(r++)}let G;const yi=WebAssembly.compile((()=>{return e=`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`,typeof Buffer<`u`?Buffer.from(e,`base64`):Uint8Array.from(atob(e),e=>e.charCodeAt(0));var e})()).then(WebAssembly.instantiate).then(({exports:e})=>{G=e}),K=Object.freeze({count:16,sourceBytes:1048576}),bi=`createRuntimeDriver`,xi=/^[A-Za-z_$][A-Za-z0-9_$]*$/;function Si(e,t){if(!Array.isArray(e))throw TypeError(`Browser runtime-driver plug-ins must be an array.`);if(e.length>K.count)throw RangeError(`At most ${K.count} browser runtime-driver plug-ins are allowed.`);if(e.length===0)return[];let n=ji(t,`Browser runtime-driver plug-in base URL`),r=new Set;return e.map((e,t)=>{if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`Browser runtime-driver plug-in ${t} must be an object.`);let i=ki(e.id,`Browser runtime-driver plug-in ${t} ID`);if(r.has(i))throw Error(`Browser runtime-driver plug-in '${i}' is declared more than once.`);if(r.add(i),typeof e.moduleUrl!=`string`||!e.moduleUrl||e.moduleUrl!==e.moduleUrl.trim())throw TypeError(`Browser runtime-driver plug-in '${i}' moduleUrl must be a non-empty trimmed string.`);let a=ji(new URL(e.moduleUrl,n).href,`Browser runtime-driver plug-in '${i}' module URL`);if(a.origin!==n.origin)throw Error(`Browser runtime-driver plug-in '${i}' must be loaded from ${n.origin}.`);if(a.username||a.password||a.hash)throw Error(`Browser runtime-driver plug-in '${i}' URL cannot contain credentials or a fragment.`);if(typeof e.sha256!=`string`||!/^[0-9a-f]{64}$/.test(e.sha256))throw Error(`Browser runtime-driver plug-in '${i}' SHA-256 must be lowercase hexadecimal.`);let o=Ai(e.exportName??bi,i);return Object.freeze({id:i,moduleUrl:a.href,sha256:e.sha256,...o===bi?{}:{exportName:o}})})}async function Ci(e,t){let n=Si(e,t);await yi;let r=[];for(let e of n)r.push(await wi(e));return r}async function wi(e){let t=await fetch(e.moduleUrl,{cache:`force-cache`,credentials:`same-origin`,redirect:`error`});if(!t.ok)throw Error(`Unable to load browser runtime-driver plug-in '${e.id}' (${t.status}).`);let n=await Ti(t,e.id),r=await Yt(n);if(r!==e.sha256)throw Error(`Browser runtime-driver plug-in '${e.id}' has digest ${r}; expected ${e.sha256}.`);Di(new TextDecoder(`utf-8`,{fatal:!0}).decode(n),e.id);let i=new Uint8Array(n.byteLength);i.set(n);let a=URL.createObjectURL(new Blob([i.buffer],{type:`text/javascript`}));try{let t=await import(a),n=e.exportName??bi,r=t[n];if(typeof r!=`function`)throw TypeError(`Browser runtime-driver plug-in '${e.id}' must export function '${n}'.`);let i=await r();return Oi(i,e.id),i}finally{URL.revokeObjectURL(a)}}async function Ti(e,t){let n=e.headers.get(`content-length`);if(n!==null&&(!/^\d+$/.test(n)||Number(n)>K.sourceBytes))throw RangeError(`Browser runtime-driver plug-in '${t}' exceeds ${K.sourceBytes} source bytes.`);if(!e.body){let n=new Uint8Array(await e.arrayBuffer());return Ei(n.byteLength,t),n}let r=e.body.getReader(),i=[],a=0;try{for(;;){let{done:e,value:n}=await r.read();if(e)break;a+=n.byteLength,Ei(a,t),i.push(n)}}catch(e){throw await r.cancel(e).catch(()=>void 0),e}let o=new Uint8Array(a),s=0;for(let e of i)o.set(e,s),s+=e.byteLength;return o}function Ei(e,t){if(e>K.sourceBytes)throw RangeError(`Browser runtime-driver plug-in '${t}' exceeds ${K.sourceBytes} source bytes.`)}function Di(e,t){let[n]=gi(e,t);if(n.find(e=>e.t!==mi.ImportMeta))throw Error(`Browser runtime-driver plug-in '${t}' must be self-contained and cannot import another module.`)}function Oi(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(`Browser runtime-driver plug-in '${t}' factory must return a RuntimeDriver object.`);let n=e;if(n.id!==t)throw Error(`Browser runtime-driver plug-in '${t}' returned driver ID '${String(n.id)}'.`);if(typeof n.supports!=`function`||typeof n.prepare!=`function`)throw TypeError(`Browser runtime-driver plug-in '${t}' must implement supports() and prepare().`);if(n.interactive!==void 0&&n.interactive!==`streaming`)throw Error(`Browser runtime-driver plug-in '${t}' has an invalid interactive capability.`)}function ki(e,t){if(typeof e!=`string`||!e||e!==e.trim()||e.length>128)throw Error(`${t} must be non-empty, trimmed, and at most 128 characters.`);return e}function Ai(e,t){if(typeof e!=`string`||!xi.test(e)||e.length>128)throw Error(`Browser runtime-driver plug-in '${t}' exportName must be an ASCII JavaScript identifier.`);return e}function ji(e,t){let n;try{n=new URL(e)}catch{throw Error(`${t} must be a valid absolute URL.`)}if(n.protocol!==`http:`&&n.protocol!==`https:`)throw Error(`${t} must use HTTP or HTTPS.`);return n}const Mi=self,q=oi(),J=new TextDecoder,Ni=new Sr,Y=new Map;let Pi,Fi,Ii;const Li=new pi(globalThis,{owns:e=>e===Ii?.url});let Ri=!1,X,zi,Bi,Vi;function Z(e){Mi.postMessage(e)}function Q(e,t,n,r){Z({type:`progress`,requestId:e,progress:{phase:t,label:n,progress:r}})}async function Hi(e,t,n,r=[]){if(!crossOriginIsolated)throw Error(`The deterministic runner requires a cross-origin-isolated page with COOP and COEP headers.`);if(Bi=nn(t),Q(e,`initializing`,`Starting deterministic Wasmer runner`,.1),Vi=await Ui(),await Xr({module_or_path:Vi}),X=sr(Tn(n)),r.length>0){Q(e,`initializing`,`Loading pinned runtime-driver plug-ins`,.85);for(let e of await Ci(r,q.href))X.register(e)}Q(e,`initializing`,`Deterministic Wasmer runner ready`,1)}async function Ui(){let e=await fetch(new URL(Zr,q));if(!e.ok)throw Error(`Unable to load the WASM-OJ runtime core (${e.status}).`);return e.headers.get(`Content-Type`)?.startsWith(`application/wasm`)?WebAssembly.compileStreaming(e):WebAssembly.compile(await e.arrayBuffer())}async function Wi(){if(Pi)return Pi;Fi??=(async()=>{let e=$r(new URL(fi,q));Ii=e;try{Ri||=(Li.install(),!0),await We({log:`warn`,module:new URL(Ke,q),workerUrl:e.url});let t=new Oe({registry:null});return Pi=t,t}catch(t){throw Ii===e&&(Ii=void 0),e.revoke(),t}})();try{return await Fi}catch(e){throw Fi=void 0,e}}function Gi(e){if(!Bi)throw Error(`The runner toolchain-source registry is not initialized.`);return on(Bi,e,q)}async function Ki(e,t,n,r){let i=await fetch(Gi(e));if(!i.ok)throw Error(`Unable to load ${t} (${i.status}).`);let a=new Uint8Array(await i.arrayBuffer());if(!Bi)throw Error(`The runner toolchain-source registry is not initialized.`);let{asset:o}=rn(Bi,e);if(a.byteLength!==o.bytes)throw Error(`Pinned ${t} asset has ${a.byteLength} bytes; expected ${o.bytes}.`);if(o.sha256!==n)throw Error(`Pinned ${t} descriptor digest ${o.sha256} does not match runtime pin ${n}.`);let s=await Yt(a);if(s!==n)throw Error(`Pinned ${t} asset has digest ${s}; expected ${n}.`);let c=new Response(a).body;if(!c)throw Error(`Pinned ${t} asset '${e}' has no response body.`);let l=c.pipeThrough(new DecompressionStream(`gzip`)),u=new Uint8Array(await new Response(l).arrayBuffer());if(r){let e=await Yt(u);if(e!==r)throw Error(`Pinned ${t} payload has digest ${e}; expected ${r}.`)}return u}function qi(e){if(e!==lt)throw Error(`No pinned WASM-OJ runtime package is declared for '${e}'.`);return Ni.acquire(e,async()=>{let[e,t]=await Promise.all([Ki(ut,`Python/WASI package`,ft,ct),Wi()]);return new xr(await Ie.fromFile(e,t))})}function Ji(e){let t=`${e.packageSpecifier}\n${e.command}\n${e.cacheKey}\n${e.expectedSha256}`;return new Request(new URL(`/__wasm_oj_runtime_files__/${encodeURIComponent(t)}`,q))}async function Yi(e){let t=`${e.packageSpecifier}\n${e.command}\n${e.cacheKey}\n${e.expectedSha256}`,n=Y.get(t);if(n)return n;n=(async()=>vr(await _r(caches,Je.runtimeFilesCache),{cacheRequest:Ji(e),cacheKey:e.cacheKey,expectedSha256:e.expectedSha256},async()=>wr(await qi(e.packageSpecifier),t=>Cr(t,e.command,async t=>{let n=await t.run({args:e.args,env:{PYTHONHOME:`/usr/local`,PYTHONHASHSEED:`0`,PYTHONDONTWRITEBYTECODE:`1`}});try{return await Zn(n)}catch(t){throw Error(`Unable to export runtime files from ${e.packageSpecifier}: ${t instanceof Error?t.message:String(t)}`)}finally{n.free()}}))))(),Y.set(t,n);try{return await n}catch(e){throw Y.get(t)===n&&Y.delete(t),e}}function Xi(){let e=zi;if(e)return e;let t=Ki(_t,`the pinned QuickJS-ng ${ht}/WASI runtime`,vt);return zi=t,t.catch(()=>{zi===t&&(zi=void 0)}),t}const Zi={quickJs(){return Xi()},async packageCommand(e,t){return wr(await qi(e),e=>Cr(e,t,e=>e.binary()))},packageFileSystem:Yi};async function Qi(){let e=Ni.retireAll();Y.clear(),zi=void 0,await e.wait(),await caches.delete(Je.runtimeFilesCache)}function $(e){let t=Number(e);if(!Number.isSafeInteger(t)||t<0)throw Error(`Runner returned an invalid numeric metric: ${String(e)}.`);return t}function $i(e){return{cost:$(e.cost),costModel:e.costModel,operations:Object.fromEntries(Object.entries(e.operations).map(([e,t])=>[e,$(t)])),memoryBytes:$(e.memoryBytes),logicalTimeNs:$(e.logicalTimeNs),filesystemBytes:$(e.filesystemBytes),filesystemEntries:$(e.filesystemEntries),stdoutBytes:$(e.stdoutBytes),stderrBytes:$(e.stderrBytes)}}async function ea(e){let t=performance.now();if(Q(e.requestId,`loading-toolchain`,`Resolving runtime for ${e.artifact.name}`,.1),!X)throw Error(`The WASM-OJ runtime-driver registry is not initialized.`);let n=await mr(e.artifact,e.config,Zi,X),r=0,i=0,a=Ar(n,t=>{t?(Q(e.requestId,`running`,`Running ${e.artifact.name} with deterministic Wasmer`,.25),r=performance.now()):(i=performance.now()-r,Q(e.requestId,`packaging`,`Collecting execution results`,.9))});if(!a.ok||!a.result){let e=a.error??{code:`RUNTIME_ERROR`,message:`The runtime core returned no result.`};throw Object.assign(Error(e.message),{code:e.code})}let o=J.decode(a.result.stdout),s=J.decode(a.result.stderr);return o&&Z({type:`stream`,requestId:e.requestId,stream:`stdout`,chunk:o}),s&&Z({type:`stream`,requestId:e.requestId,stream:`stderr`,chunk:s}),{code:a.result.code,stdout:o,stderr:s,files:Object.fromEntries(Object.entries(a.result.files).map(([e,t])=>[e,t.slice()])),durationMs:performance.now()-t,executionDurationMs:i,determinism:{...e.config.determinism},resources:{...e.config.resources},termination:a.result.termination,trapMessage:a.result.trapMessage,metrics:On($i(a.result.metrics),n.cost)}}async function ta(e){let t=performance.now();if(!X)throw Error(`The WASM-OJ runtime-driver registry is not initialized.`);Q(e.requestId,`loading-toolchain`,`Resolving contestant and interactor runtimes`,.1);let[n,r]=await Promise.all([hr(e.contestant,ia(e.config.contestant,e.config.determinism),Zi,X),hr(e.interactor,ia(e.config.interactor,e.config.determinism),Zi,X)]),[i,a]=await na(e.requestId,{contestant:aa(n),interactor:aa(r)},e.config.determinism);return{contestant:oa(i.process,n),interactor:oa(a.process,r),contestantToInteractor:J.decode(i.protocol),interactorToContestant:J.decode(a.protocol),durationMs:performance.now()-t,determinism:{...e.config.determinism}}}async function na(e,t,n){if(!Vi)throw Error(`The WASM-OJ runtime core is not initialized.`);let r=ui(li(t.contestant.resources.outputLimitBytes)),i=ui(li(t.interactor.resources.outputLimitBytes)),a=[];try{a.push(ra(`contestant`,{runtimeCore:Vi,request:{program:t.contestant,determinism:n},input:i,output:r})),a.push(ra(`interactor`,{runtimeCore:Vi,request:{program:t.interactor,determinism:n},input:r,output:i})),Promise.all(a.map(e=>e.running)).then(()=>{Q(e,`running`,`Running interactive session with deterministic Wasmer`,.25)});let o=await Promise.all(a.map(e=>e.result));return Q(e,`packaging`,`Collecting interactive results`,.9),[o[0],o[1]]}finally{for(let e of a)e.worker.terminate()}}function ra(e,t){let n=Qr(new URL(di,q),{name:`wasm-oj-interactive-${e}`}),r,i=new Promise(e=>{r=e}),a=new Promise((t,i)=>{n.addEventListener(`message`,n=>{let a=n.data;if(a.type===`running`)r();else if(a.type===`error`)i(Object.assign(Error(`Interactive ${e} failed: ${a.message}`),{code:`RUNTIME_ERROR`}));else{let n=a.response;if(n.ok&&n.result)t(n.result);else{let t=n.error??{code:`RUNTIME_ERROR`,message:`the runtime returned no result.`};i(Object.assign(Error(`Interactive ${e} failed: ${t.message}`),{code:t.code}))}}});let a=t=>{i(Object.assign(Error(`The interactive ${e} Worker crashed${t?`: ${t}`:`.`}`),{code:`RUNTIME_ERROR`}))};n.addEventListener(`error`,e=>{e.preventDefault(),a(e.message)}),ri(n,e=>a(e.message))});try{n.postMessage(t)}catch(e){throw n.terminate(),e}return{worker:n,running:i,result:a}}function ia(e,t){return{args:[...e.args],stdin:``,env:{...e.env},files:Object.fromEntries(Object.entries(e.files??{}).map(([e,t])=>[e,t.slice()])),outputPaths:[],...e.cwd===void 0?{}:{cwd:e.cwd},determinism:{...t},resources:{...e.resources}}}function aa(e){return{wasm:e.wasm,args:e.args,env:e.env,files:e.files,cwd:e.cwd,startupEntropyBytes:e.startupEntropyBytes,resources:e.resources}}function oa(e,t){let n=On({cost:$(e.metrics.cost),costModel:`weighted`,operations:Object.fromEntries(Object.entries(e.metrics.operations).map(([e,t])=>[e,$(t)])),memoryBytes:0,logicalTimeNs:$(e.metrics.logicalTimeNs),filesystemBytes:$(e.metrics.filesystemBytes),filesystemEntries:$(e.metrics.filesystemEntries),stdoutBytes:$(e.metrics.protocolBytes),stderrBytes:$(e.metrics.stderrBytes)},t.cost);return{code:e.code,stderr:J.decode(e.stderr),termination:e.termination,metrics:{...n,memoryBytes:null}}}Mi.addEventListener(`message`,e=>{let t=e.data;(async()=>{try{switch(t.type){case`initialize`:await Hi(t.requestId,t.toolchains,t.additionalCostBaselines,t.runtimeDriverPlugins),Z({type:`ready`,requestId:t.requestId});break;case`run`:Z({type:`run-result`,requestId:t.requestId,result:await Li.run(()=>ea(t))});break;case`interact`:Z({type:`interactive-result`,requestId:t.requestId,result:await Li.run(()=>ta(t))});break;case`clear-runtime-cache`:await Li.run(()=>Qi()),Z({type:`runtime-cache-cleared`,requestId:t.requestId})}}catch(e){let n=e instanceof Error?e:Error(String(e)),r=typeof n.code==`string`?n.code:`RUNNER_ERROR`;Z({type:`error`,requestId:t.requestId,code:r,message:n.message,stack:n.stack})}})()});