@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 je.__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 ke(e,t){e.wbg.memory=t||new WebAssembly.Memory({initial:34,maximum:16384,shared:!0})}function Ae(n,r,i){if(e=n.exports,je.__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 je(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=Oe();(typeof t==`string`||typeof Request==`function`&&t instanceof Request||typeof URL==`function`&&t instanceof URL)&&(t=fetch(t)),ke(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||!De.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 Ae(a,o,r)}const Me=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={},Ne(e);let n=await je(e.module,e.memory);return e.log&&x(e.log),e.workerUrl&&te(e.workerUrl.toString()),e.sdkUrl?ee(e.sdkUrl.toString()):ee(new URL(``+new URL(`index-CMYYN-aK.mjs`,import.meta.url).href,``+import.meta.url).toString()),n},Ne=e=>{globalThis.__WASMER_REGISTRY__={registryUrl:e.registryUrl,token:e.token}};var Pe=``+new URL(`wasmer_js_bg-lccPpAdN.wasm`,import.meta.url).href;const A=`wasm-oj-v2`,j=Object.freeze({clangPins:`${A}/clang-pins`,clangLibcxxPch:`${A}/clang-libcxx-pch`,clangToolchain:`${A}/clang-toolchain`,compileBatch:`${A}/compile-batch`,compileTrace:`${A}/compile-trace`,conformance:`${A}/conformance`,conformanceEvidence:`${A}/conformance-evidence`,conformanceMatrix:`${A}/conformance-matrix`,cppDependencyLock:`${A}/cpp-dependency-lock`,dependencyLock:`${A}/dependency-lock`,dependencyOfflineBundle:`${A}/dependency-offline-bundle`,incrementalBuildGraph:`${A}/incremental-build-graph`,interactiveRequest:`${A}/interactive-request`,goToolchain:`${A}/go-toolchain`,objectCache:`${A}/object-cache`,pythonToolchain:`${A}/python-toolchain`,replayBundle:`${A}/replay-bundle`,rustToolchain:`${A}/rust-toolchain`,runRequest:`${A}/run-request`,runtimeBundle:`${A}/runtime-bundle`,runtimeCoreLicenses:`${A}/runtime-core-licenses`,thirdPartyComponents:`${A}/third-party-components`,wasmerSdkLicenses:`${A}/wasmer-sdk-licenses`,toolchainPackage:`${A}/toolchain-package`}),Fe=Object.freeze({database:`${A}:storage`,databaseVersion:2,dependencyCache:`${A}:dependencies`,incrementalBuildCache:`${A}:incremental-build-cache`,runtimeFilesCache:`${A}:runtime-files`,toolchainCache:`${A}:toolchains`}),Ie=Object.freeze([`c`,`cpp`,`rust`,`python`,`javascript`,`typescript`,`go`]);function M(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 Le(e){return Ie.includes(e)}Object.freeze([`cargo`,`npm`,`pypi`,`go`,`cpp`]);const N=`22.0.0-git20542-10`,Re=`wasm-oj/clang@${N}`,ze=`/toolchains/clang-${N}.webc.gz.bin`,Be=`/toolchains/clang-${N}.cc1-pins.json`,Ve=`/toolchains/clang-${N}.manifest.json`,He=`/toolchains/clang-${N}.libcxx-pch.json`,Ue=`/toolchains/clang-${N}.cpp-debug.pch.gz.bin`,We=`/toolchains/clang-${N}.cpp-release.pch.gz.bin`,Ge=`7f10d90b8e52b270f04874641a1d0bf9e94e85b4f6c7573a774cebbc6d32552a`,P=`21ded33b9c6d4e1aaad5528c940bdaf6c3e84be77ea8f522f018ca7289a2a224`,F=`895eee17c63b1112c84adcc4ddbcb38e0c18e53bff15f50a8689b9b82d87b1ff`,Ke=`6382dcdfb6a2da49032a0e08da3b1fb490eb24432be85c3c12e3e871a5065273`,qe=`9bbe41d77c786f1c36169369c909268530b05726e1581683f6edd9a2983eebd0`,Je=Object.freeze({"cpp-debug":Object.freeze({path:Ue,sha256:`c420c4643c48826643e75585d5bfdc281f11883d4bda28b283e3c706f3046b3a`,compressedSha256:`a3811351bae3289caf096f2d4bb6d2ee5db84b97e05514e87190d36b65c500cf`}),"cpp-release":Object.freeze({path:We,sha256:`c4b2132cc6d698e97dd1386431fdb54faaaf38b35b2528c7bc854f860d1f64b1`,compressedSha256:`ef004fc05ec50af697a37f7c9c814bf62e9676d0de162d6ac35305533939f93f`})}),Ye=`3.14.7`,Xe=`a42c98f5f00582638c8e445440c506bbf94d5e55b3415d1f8d82d11c56cd4b56`,Ze=`${`wasm-oj/cpython@${Ye}`}#sha256:${Xe}`,Qe=`/toolchains/python-${Ye}-wasip1.webc.gz.bin`,$e=`/toolchains/python-${Ye}-wasip1.manifest.json`,et=`10027f0e32c77dfa0ce1c413b6cb27307d6744fe5e18e6da8cea738bd020260c`,tt=`53a24b258363a8494af164121111a34b49c85fa0e054627fe131feba6f359cd5`,nt=`0.15.1`,rt=`wasm-oj/quickjs-ng@${nt}`,it=`/toolchains/quickjs-${nt}.wasm.gz.bin`,at=`dc6e02e8610269e61b341331661515616451cec929fd534fa96d1c4f47fbcc9a`,ot=`7.0.2`,st=`/toolchains/typescript-${ot}.wasm.gz.bin`,ct=`29c6ee0e46151e2644049ae96162b1b1d46dcb13310e2a928114bb9030c3ea92`,I=`1.91.1-dev`,lt=`/toolchains/rust-${I}.webc.gz.bin`,ut=`/toolchains/rust-${I}.manifest.json`,dt=`cfbdadc67be1315e735aa55bdf8a5a0d00171982a023fefcf7ba586127753887`,ft=`765de8d68d03078e79f69f49dec0dcab1ff96fe3bbe5e9eafebb2ce61a39d3ee`,pt=`d5bbdca994e61888679c5738cb9420649c0854ed0eb5d65468bc67d5d550bce1`,L=`1.26.5`,mt=`/toolchains/go-${L}-wasip1.webc.gz.bin`,ht=`/toolchains/go-${L}-wasip1.manifest.json`,gt=`/toolchains/go-${L}-wasip1.stdlib.gz.bin`,_t=`70a7e359884b09b2e1a622d6ac5cd6e31c334aab519e6dd80dff5e040a9e09e4`,vt=`c3a97934b6a83fefdea5c31f99141f70f76189eedc9ec0fa9ccd41302e50963b`,yt=`5d784e9ca640b9525e84b598c0beb97ca110ae908568ca45f6441a441d99a262`,bt=`aeffc384fdc624544f174ba5fc3c22395717fdbc3c4387d677d20855b6be80d8`,xt=`e1ec64b08efd02b35b7ffdaf3970875aaae98325fa4795eafca94ebae2d0d192`,St=`9e557f5b86961fd604217d7521461c5d2b7322e383fa30dead5669b77db12201`,Ct=`2eefca10af935a307ab7946447146bd30e0ea0fb5460be54dc1c55844d155580`,wt=`teavm-0.13.1-wasmgc-wasip1`,Tt=`wasm-oj/java-teavm@${wt}`,Et=`/toolchains/java-teavm-0.13.1.compiler.wasm`,Dt=`/toolchains/java-teavm-0.13.1.compile-classlib.bin`,Ot=`/toolchains/java-teavm-0.13.1.runtime-classlib.bin`,kt=`8c37bce1c6fceeaffeffe93e10834309b67c8b6fb58c6f8a24547afe8be67f5d`,At=`738a82b7d7e7ff8d98b07bb076785da7035847a166afb8446fd150c4efce6103`,jt=`0ed234b66cdde19cb29e6c2865a3636d792d3cf72f102e73a7b3fdede80b79e6`,Mt=Object.freeze({[ze]:Ge,[Be]:F,[Ve]:Ke,[He]:qe,[Ue]:Je[`cpp-debug`].compressedSha256,[We]:Je[`cpp-release`].compressedSha256,[Qe]:et,[$e]:tt,[it]:at,[st]:ct,[lt]:dt,[ut]:pt,[mt]:_t,[ht]:yt,[gt]:bt,[Et]:kt,[Dt]:At,[Ot]:jt}),Nt=Object.freeze({c:Object.freeze([Ge,P,F,Ke]),cpp:Object.freeze([Ge,P,F,Ke]),rust:Object.freeze([dt,ft,pt]),python:Object.freeze([et,Xe,tt,`c1acac884af1c86833db5b65f8cc0a2304fce74dea0a05d9b40bde0a4e3e7c0e`]),javascript:Object.freeze([ct,at]),typescript:Object.freeze([ct,at]),go:Object.freeze([_t,vt,yt,bt,xt,St,Ct])});function Pt(e){if(e===`java`)return[kt,At,jt].join(`.`);if(!Le(e))throw Error(`WASM-OJ has no built-in toolchain for '${e}'.`);return Nt[e].join(`.`)}function R(e){return Object.freeze({...e,compilerPackages:Object.freeze([...e.compilerPackages]),targets:Object.freeze([...e.targets])})}const Ft=Object.freeze({c:R({language:`c`,label:`Clang 22`,artifact:`wasm`,compilerPackages:[Re],targets:[`wasip1`,`wasix`],version:N,note:`Native wasip1 module via Clang and LLD; directly executable by WASI and WASIX runtimes.`}),cpp:R({language:`cpp`,label:`Clang++ 22 (C++20)`,artifact:`wasm`,compilerPackages:[Re],targets:[`wasip1`,`wasix`],version:N,note:`C++20/libc++ wasip1 module; directly executable by WASI and WASIX runtimes.`}),rust:R({language:`rust`,label:`Rust ${I}`,artifact:`wasm`,compilerPackages:[`rustc@${I}#sha256:${ft}`],targets:[`wasip1`],version:I,note:`Real rustc, its matching standard library, and a fresh deterministic wasm-ld stage execute as one pinned WebC under Wasmer.`}),python:R({language:`python`,label:`CPython ${Ye}`,artifact:`runtime-bundle`,compilerPackages:[Ze],runtimePackage:Ze,targets:[`wasip1`],version:Ye,note:`Python source files executed by the source-built CPython wasm32-wasip1 interpreter and standard library.`}),javascript:R({language:`javascript`,label:`QuickJS-ng`,artifact:`runtime-bundle`,compilerPackages:[`typescript@${ot}-wasi`],runtimePackage:rt,targets:[`wasip1`],version:nt,note:`JavaScript checked by TypeScript/WASI, then executed by the bundled QuickJS-ng/WASI runtime.`}),typescript:R({language:`typescript`,label:`TypeScript + QuickJS-ng`,artifact:`runtime-bundle`,compilerPackages:[`typescript@${ot}-wasi`],runtimePackage:rt,targets:[`wasip1`],version:ot,note:`The native TypeScript compiler and QuickJS-ng runtime both execute as local WASI modules.`}),go:R({language:`go`,label:`Go ${L}`,artifact:`wasm`,compilerPackages:[`go@${L}#sha256:${vt}`],targets:[`wasip1`],version:L,note:`The standard Go compiler, linker, and pinned wasip1 standard library execute locally as one WebC under Wasmer.`})});function z(e){if(e===`java`)return[Tt];if(!Le(e))throw Error(`WASM-OJ has no built-in toolchain for '${e}'.`);let t=Ft[e];return[...new Set([...t.compilerPackages,...t.runtimePackage?[t.runtimePackage]:[]])]}const B=Object.freeze({files:256,bytesPerFile:4194304,totalBytes:16777216}),It=new TextEncoder;function Lt(e,t){return e<t?-1:+(e>t)}function Rt(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 zt(e){if(!Array.isArray(e)||e.length===0)throw Error(`A project must contain at least one source file.`);if(e.length>B.files)throw Error(`A project cannot contain more than ${B.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(Rt(e.path,`Project file ${r} path`),M(e.language),typeof e.content!=`string`)throw Error(`Project file '${e.path}' content must be a string.`);if(e.content.length>B.bytesPerFile)throw Error(`Project file '${e.path}' exceeds the ${B.bytesPerFile} byte source limit.`);let i=It.encode(e.content).byteLength;if(i>B.bytesPerFile)throw Error(`Project file '${e.path}' exceeds the ${B.bytesPerFile} byte source limit.`);if(n+=i,n>B.totalBytes)throw Error(`Project sources exceed the ${B.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)=>Lt(e.path,t.path))}function Bt(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])=>(Rt(e,`Runtime bundle path`),[e,t])).sort(([e],[t])=>Lt(e,t))}function Vt(e){return Object.fromEntries(Bt(e))}async function V(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 H=1048576,Ht=Object.freeze({requirements:128,sourceFiles:128,sourceTextBytes:8*H,hosts:32,roots:512,packages:512,referencesPerPackage:512,concurrency:16,metadataBytes:8*H,packageBytes:256*H,totalDownloadBytes:512*H,archiveFiles:16384,unpackedBytes:512*H});Object.freeze({packages:Ht.packages,filesPerPackage:Ht.archiveFiles,bytesPerFile:64*H,totalBytes:Ht.unpackedBytes});const Ut=/^[a-f0-9]{64}$/,Wt=/^\/toolchains\/[A-Za-z0-9][A-Za-z0-9._+/-]*$/,Gt=new URL(`https://wasm-oj.invalid/`);function Kt(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(an(s,`Toolchain source ${t}`),s.kind!==n)throw Error(`Toolchain source ${t} has host kind '${String(s.kind)}'; expected '${n}'.`);n===`browser`?(on(s,[`kind`,`descriptor`,`baseUrl`],`Browser toolchain source ${t}`),$t(s.baseUrl,t)):(on(s,[`kind`,`descriptor`,`directory`],`Server toolchain source ${t}`),en(s.directory,t));let e=s.descriptor;if(Qt(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=nn(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 qt(e){return Kt(e,`browser`)}function Jt(e){qt(e);let t=e.map(e=>Object.freeze({kind:`browser`,baseUrl:e.baseUrl,descriptor:rn(e.descriptor)}));return Object.freeze(t)}function Yt(e,t){tn(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 Xt(e,t,n){let{source:r}=Yt(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 Zt(e,t,n){let{asset:r}=Yt(e,t),i=Xt(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 Qt(e,t){let n=`Toolchain descriptor ${t}`;if(an(e,n),on(e,[`schema`,`id`,`version`,`wasmOjContract`,`languages`,`profiles`,`assets`],n),e.schema!==j.toolchainPackage)throw Error(`${n} schema '${String(e.schema)}' is unsupported; expected '${j.toolchainPackage}'.`);if(e.wasmOjContract!==2)throw Error(`${n} contract '${String(e.wasmOjContract)}' is unsupported; expected '2'.`);if(sn(e.id,`${n} id`,214),sn(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(M(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(an(a,`${n} profile ${t}`),on(a,[`language`,`target`,`optimization`],`${n} profile ${t}`),M(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=nn(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(an(r,e),on(r,[`path`,`bytes`,`sha256`,`exportPath`],e),tn(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(!Ut.test(r.sha256))throw Error(`${e} sha256 must be a lowercase hexadecimal SHA-256 digest.`);let i=Mt[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 $t(e,t){sn(e,`Browser toolchain source ${t} baseUrl`,4096);let n;try{n=e.startsWith(`/`)?new URL(e,Gt):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 en(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 tn(e,t){if(!Wt.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 nn(e,t,n){return`${e}/${t}/${n}`}function rn(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 an(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`${t} must be an object.`)}function on(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 sn(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.`)}async function cn(e,t,n={}){let r=n.idleGraceMs??2e3;await e.stdin?.close().catch(()=>void 0);let i=e.stdout.getReader(),a=e.stderr.getReader(),o=()=>i.read().then(({done:e,value:t})=>({source:`stdout`,chunk:e?void 0:t})),s=()=>a.read().then(({done:e,value:t})=>({source:`stderr`,chunk:e?void 0:t})).catch(()=>({source:`stderr`})),c=dn(),l=dn(),u=o(),d=s(),f;try{for(;;){let e=f!==void 0,i=(e?[n.collectStderr?d:void 0]:[u,d]).filter(e=>e!==void 0);if(i.length===0)break;let a;(e||i.length===1)&&i.push(new Promise(e=>{a=setTimeout(()=>e({source:`idle`}),r)}));let p=await Promise.race(i).finally(()=>clearTimeout(a));if(p.source===`idle`)break;if(p.source===`stdout`){if(!p.chunk){u=void 0;continue}c.append(p.chunk),f=t(c.bytes()),u=f===void 0?o():void 0}else p.chunk?(l.append(p.chunk),d=s()):d=void 0}}finally{await Promise.allSettled([i.cancel(),a.cancel()])}return{message:f,stderr:new TextDecoder().decode(l.bytes())}}const ln=new Set([9,10,13,32]);function un(e){let t=e.byteLength;for(;t>0&&ln.has(e[t-1]);)--t;if(t!==0&&e[t-1]===125)try{return JSON.parse(new TextDecoder().decode(e.subarray(0,t)))}catch{return}}function dn(){let e=new Uint8Array,t=0;return{append(n){if(t+n.byteLength>e.byteLength){let r=new Uint8Array(Math.max(t+n.byteLength,e.byteLength*2));r.set(e.subarray(0,t)),e=r}e.set(n,t),t+=n.byteLength},bytes:()=>e.subarray(0,t)}}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`});function fn(e,t,n){return M(e),[`wasm-oj-cost`,`contract-2`,encodeURIComponent(e),t,n]}function pn(e,t,n,r){let i=Le(e)?Pt(e):r;if(!i||!/^[A-Za-z0-9._-]+$/.test(i))throw Error(Le(e)?`WASM-OJ toolchain content identity is invalid for '${e}'.`:`Downstream language '${e}' requires an explicit content identity using letters, digits, '.', '_' or '-'.`);return[...fn(e,t,n),`content-${i}`,`runtime-e5680beae9bd832ed2b679267250ce1efc7d104dd005bb155135664b40f961fb`,`weighted`].join(`:`)}new TextEncoder,Object.freeze({python:`python`,javascript:`qjs`,typescript:`qjs`});function mn(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 hn(e){return JSON.stringify({schema:j.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 gn(e,t,n,r){return mn(e.name,`Project name`),mn(t,`Runtime package`),mn(n,`Runtime command`,128),M(e.config.language),Rt(r,`Runtime bundle entry`),hn({name:e.name,target:e.config.target,language:e.config.language,runtimePackage:t,command:n,entry:r,files:zt(e.files).map(e=>e.path)})}function _n(e){return Vt(e)}function vn(e){return e===`warning`?`warning`:e===`note`||e===`info`?`info`:`error`}function yn(e){return e.replace(/^file:\/\//,``).replace(/^\/?(?:workspace|project|work)\//,``).replace(/^\.\//,``)}function bn(e){let t=[],n=/^(.*?):(\d+):(\d+):\s+(fatal error|error|warning|note):\s+(.+?)(?:\s+\[([^\]]+)\])?$/gm,r;for(;(r=n.exec(e))!==null;)t.push({file:yn(r[1]),line:Number(r[2]),column:Number(r[3]),severity:vn(r[4].replace(`fatal `,``)),message:r[5],source:`clang`,code:r[6]});return t}function xn(e){let t=[],n=/^(.*?)\((\d+),(\d+)\):\s+(error|warning|message)\s+TS(\d+):\s+(.+)$/gm,r;for(;(r=n.exec(e))!==null;)t.push({severity:vn(r[4]),message:r[6],file:yn(r[1]),line:Number(r[2]),column:Number(r[3]),source:`typescript`,code:`TS${r[5]}`});return t}function Sn(e,t){return e.length>0?e:[{severity:`error`,file:yn(t.file),line:1,column:1,source:t.source,message:t.message}]}const Cn=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 je.__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 ke(e,t){e.wbg.memory=t||new WebAssembly.Memory({initial:34,maximum:16384,shared:!0})}function Ae(n,r,i){if(e=n.exports,je.__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 je(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=Oe();(typeof t==`string`||typeof Request==`function`&&t instanceof Request||typeof URL==`function`&&t instanceof URL)&&(t=fetch(t)),ke(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||!De.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 Ae(a,o,r)}const Me=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={},Ne(e);let n=await je(e.module,e.memory);return e.log&&x(e.log),e.workerUrl&&te(e.workerUrl.toString()),e.sdkUrl?ee(e.sdkUrl.toString()):ee(new URL(``+new URL(`index-CMYYN-aK.mjs`,import.meta.url).href,``+import.meta.url).toString()),n},Ne=e=>{globalThis.__WASMER_REGISTRY__={registryUrl:e.registryUrl,token:e.token}};var Pe=``+new URL(`wasmer_js_bg-lccPpAdN.wasm`,import.meta.url).href;const A=`wasm-oj-v2`,j=Object.freeze({clangPins:`${A}/clang-pins`,clangLibcxxPch:`${A}/clang-libcxx-pch`,clangToolchain:`${A}/clang-toolchain`,compileBatch:`${A}/compile-batch`,compileTrace:`${A}/compile-trace`,conformance:`${A}/conformance`,conformanceEvidence:`${A}/conformance-evidence`,conformanceMatrix:`${A}/conformance-matrix`,cppDependencyLock:`${A}/cpp-dependency-lock`,dependencyLock:`${A}/dependency-lock`,dependencyOfflineBundle:`${A}/dependency-offline-bundle`,incrementalBuildGraph:`${A}/incremental-build-graph`,interactiveRequest:`${A}/interactive-request`,goToolchain:`${A}/go-toolchain`,objectCache:`${A}/object-cache`,pythonToolchain:`${A}/python-toolchain`,replayBundle:`${A}/replay-bundle`,rustToolchain:`${A}/rust-toolchain`,runRequest:`${A}/run-request`,runtimeBundle:`${A}/runtime-bundle`,runtimeCoreLicenses:`${A}/runtime-core-licenses`,thirdPartyComponents:`${A}/third-party-components`,wasmerSdkLicenses:`${A}/wasmer-sdk-licenses`,toolchainPackage:`${A}/toolchain-package`}),Fe=Object.freeze({database:`${A}:storage`,databaseVersion:2,dependencyCache:`${A}:dependencies`,incrementalBuildCache:`${A}:incremental-build-cache`,runtimeFilesCache:`${A}:runtime-files`,toolchainCache:`${A}:toolchains`}),Ie=Object.freeze([`c`,`cpp`,`rust`,`python`,`javascript`,`typescript`,`go`]);function M(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 Le(e){return Ie.includes(e)}Object.freeze([`cargo`,`npm`,`pypi`,`go`,`cpp`]);const N=`22.0.0-git20542-10`,Re=`wasm-oj/clang@${N}`,ze=`/toolchains/clang-${N}.webc.gz.bin`,Be=`/toolchains/clang-${N}.cc1-pins.json`,Ve=`/toolchains/clang-${N}.manifest.json`,He=`/toolchains/clang-${N}.libcxx-pch.json`,Ue=`/toolchains/clang-${N}.cpp-debug.pch.gz.bin`,We=`/toolchains/clang-${N}.cpp-release.pch.gz.bin`,Ge=`7f10d90b8e52b270f04874641a1d0bf9e94e85b4f6c7573a774cebbc6d32552a`,P=`21ded33b9c6d4e1aaad5528c940bdaf6c3e84be77ea8f522f018ca7289a2a224`,F=`895eee17c63b1112c84adcc4ddbcb38e0c18e53bff15f50a8689b9b82d87b1ff`,Ke=`6382dcdfb6a2da49032a0e08da3b1fb490eb24432be85c3c12e3e871a5065273`,qe=`9bbe41d77c786f1c36169369c909268530b05726e1581683f6edd9a2983eebd0`,Je=Object.freeze({"cpp-debug":Object.freeze({path:Ue,sha256:`c420c4643c48826643e75585d5bfdc281f11883d4bda28b283e3c706f3046b3a`,compressedSha256:`a3811351bae3289caf096f2d4bb6d2ee5db84b97e05514e87190d36b65c500cf`}),"cpp-release":Object.freeze({path:We,sha256:`c4b2132cc6d698e97dd1386431fdb54faaaf38b35b2528c7bc854f860d1f64b1`,compressedSha256:`ef004fc05ec50af697a37f7c9c814bf62e9676d0de162d6ac35305533939f93f`})}),Ye=`3.14.7`,Xe=`a42c98f5f00582638c8e445440c506bbf94d5e55b3415d1f8d82d11c56cd4b56`,Ze=`${`wasm-oj/cpython@${Ye}`}#sha256:${Xe}`,Qe=`/toolchains/python-${Ye}-wasip1.webc.gz.bin`,$e=`/toolchains/python-${Ye}-wasip1.manifest.json`,et=`10027f0e32c77dfa0ce1c413b6cb27307d6744fe5e18e6da8cea738bd020260c`,tt=`53a24b258363a8494af164121111a34b49c85fa0e054627fe131feba6f359cd5`,nt=`0.15.1`,rt=`wasm-oj/quickjs-ng@${nt}`,it=`/toolchains/quickjs-${nt}.wasm.gz.bin`,at=`dc6e02e8610269e61b341331661515616451cec929fd534fa96d1c4f47fbcc9a`,ot=`7.0.2`,st=`/toolchains/typescript-${ot}.wasm.gz.bin`,ct=`29c6ee0e46151e2644049ae96162b1b1d46dcb13310e2a928114bb9030c3ea92`,I=`1.91.1-dev`,lt=`/toolchains/rust-${I}.webc.gz.bin`,ut=`/toolchains/rust-${I}.manifest.json`,dt=`cfbdadc67be1315e735aa55bdf8a5a0d00171982a023fefcf7ba586127753887`,ft=`765de8d68d03078e79f69f49dec0dcab1ff96fe3bbe5e9eafebb2ce61a39d3ee`,pt=`d5bbdca994e61888679c5738cb9420649c0854ed0eb5d65468bc67d5d550bce1`,L=`1.26.5`,mt=`/toolchains/go-${L}-wasip1.webc.gz.bin`,ht=`/toolchains/go-${L}-wasip1.manifest.json`,gt=`/toolchains/go-${L}-wasip1.stdlib.gz.bin`,_t=`70a7e359884b09b2e1a622d6ac5cd6e31c334aab519e6dd80dff5e040a9e09e4`,vt=`c3a97934b6a83fefdea5c31f99141f70f76189eedc9ec0fa9ccd41302e50963b`,yt=`5d784e9ca640b9525e84b598c0beb97ca110ae908568ca45f6441a441d99a262`,bt=`aeffc384fdc624544f174ba5fc3c22395717fdbc3c4387d677d20855b6be80d8`,xt=`e1ec64b08efd02b35b7ffdaf3970875aaae98325fa4795eafca94ebae2d0d192`,St=`9e557f5b86961fd604217d7521461c5d2b7322e383fa30dead5669b77db12201`,Ct=`2eefca10af935a307ab7946447146bd30e0ea0fb5460be54dc1c55844d155580`,wt=`teavm-0.13.1-wasmgc-wasip1`,Tt=`wasm-oj/java-teavm@${wt}`,Et=`/toolchains/java-teavm-0.13.1.compiler.wasm`,Dt=`/toolchains/java-teavm-0.13.1.compile-classlib.bin`,Ot=`/toolchains/java-teavm-0.13.1.runtime-classlib.bin`,kt=`8c37bce1c6fceeaffeffe93e10834309b67c8b6fb58c6f8a24547afe8be67f5d`,At=`738a82b7d7e7ff8d98b07bb076785da7035847a166afb8446fd150c4efce6103`,jt=`0ed234b66cdde19cb29e6c2865a3636d792d3cf72f102e73a7b3fdede80b79e6`,Mt=Object.freeze({[ze]:Ge,[Be]:F,[Ve]:Ke,[He]:qe,[Ue]:Je[`cpp-debug`].compressedSha256,[We]:Je[`cpp-release`].compressedSha256,[Qe]:et,[$e]:tt,[it]:at,[st]:ct,[lt]:dt,[ut]:pt,[mt]:_t,[ht]:yt,[gt]:bt,[Et]:kt,[Dt]:At,[Ot]:jt}),Nt=Object.freeze({c:Object.freeze([Ge,P,F,Ke]),cpp:Object.freeze([Ge,P,F,Ke]),rust:Object.freeze([dt,ft,pt]),python:Object.freeze([et,Xe,tt,`c1acac884af1c86833db5b65f8cc0a2304fce74dea0a05d9b40bde0a4e3e7c0e`]),javascript:Object.freeze([ct,at]),typescript:Object.freeze([ct,at]),go:Object.freeze([_t,vt,yt,bt,xt,St,Ct])});function Pt(e){if(e===`java`)return[kt,At,jt].join(`.`);if(!Le(e))throw Error(`WASM-OJ has no built-in toolchain for '${e}'.`);return Nt[e].join(`.`)}function R(e){return Object.freeze({...e,compilerPackages:Object.freeze([...e.compilerPackages]),targets:Object.freeze([...e.targets])})}const Ft=Object.freeze({c:R({language:`c`,label:`Clang 22`,artifact:`wasm`,compilerPackages:[Re],targets:[`wasip1`,`wasix`],version:N,note:`Native wasip1 module via Clang and LLD; directly executable by WASI and WASIX runtimes.`}),cpp:R({language:`cpp`,label:`Clang++ 22 (C++20)`,artifact:`wasm`,compilerPackages:[Re],targets:[`wasip1`,`wasix`],version:N,note:`C++20/libc++ wasip1 module; directly executable by WASI and WASIX runtimes.`}),rust:R({language:`rust`,label:`Rust ${I}`,artifact:`wasm`,compilerPackages:[`rustc@${I}#sha256:${ft}`],targets:[`wasip1`],version:I,note:`Real rustc, its matching standard library, and a fresh deterministic wasm-ld stage execute as one pinned WebC under Wasmer.`}),python:R({language:`python`,label:`CPython ${Ye}`,artifact:`runtime-bundle`,compilerPackages:[Ze],runtimePackage:Ze,targets:[`wasip1`],version:Ye,note:`Python source files executed by the source-built CPython wasm32-wasip1 interpreter and standard library.`}),javascript:R({language:`javascript`,label:`QuickJS-ng`,artifact:`runtime-bundle`,compilerPackages:[`typescript@${ot}-wasi`],runtimePackage:rt,targets:[`wasip1`],version:nt,note:`JavaScript checked by TypeScript/WASI, then executed by the bundled QuickJS-ng/WASI runtime.`}),typescript:R({language:`typescript`,label:`TypeScript + QuickJS-ng`,artifact:`runtime-bundle`,compilerPackages:[`typescript@${ot}-wasi`],runtimePackage:rt,targets:[`wasip1`],version:ot,note:`The native TypeScript compiler and QuickJS-ng runtime both execute as local WASI modules.`}),go:R({language:`go`,label:`Go ${L}`,artifact:`wasm`,compilerPackages:[`go@${L}#sha256:${vt}`],targets:[`wasip1`],version:L,note:`The standard Go compiler, linker, and pinned wasip1 standard library execute locally as one WebC under Wasmer.`})});function z(e){if(e===`java`)return[Tt];if(!Le(e))throw Error(`WASM-OJ has no built-in toolchain for '${e}'.`);let t=Ft[e];return[...new Set([...t.compilerPackages,...t.runtimePackage?[t.runtimePackage]:[]])]}const B=Object.freeze({files:256,bytesPerFile:4194304,totalBytes:16777216}),It=new TextEncoder;function Lt(e,t){return e<t?-1:+(e>t)}function Rt(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 zt(e){if(!Array.isArray(e)||e.length===0)throw Error(`A project must contain at least one source file.`);if(e.length>B.files)throw Error(`A project cannot contain more than ${B.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(Rt(e.path,`Project file ${r} path`),M(e.language),typeof e.content!=`string`)throw Error(`Project file '${e.path}' content must be a string.`);if(e.content.length>B.bytesPerFile)throw Error(`Project file '${e.path}' exceeds the ${B.bytesPerFile} byte source limit.`);let i=It.encode(e.content).byteLength;if(i>B.bytesPerFile)throw Error(`Project file '${e.path}' exceeds the ${B.bytesPerFile} byte source limit.`);if(n+=i,n>B.totalBytes)throw Error(`Project sources exceed the ${B.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)=>Lt(e.path,t.path))}function Bt(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])=>(Rt(e,`Runtime bundle path`),[e,t])).sort(([e],[t])=>Lt(e,t))}function Vt(e){return Object.fromEntries(Bt(e))}async function V(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 H=1048576,Ht=Object.freeze({requirements:128,sourceFiles:128,sourceTextBytes:8*H,hosts:32,roots:512,packages:512,referencesPerPackage:512,concurrency:16,metadataBytes:8*H,packageBytes:256*H,totalDownloadBytes:512*H,archiveFiles:16384,unpackedBytes:512*H});Object.freeze({packages:Ht.packages,filesPerPackage:Ht.archiveFiles,bytesPerFile:64*H,totalBytes:Ht.unpackedBytes});const Ut=/^[a-f0-9]{64}$/,Wt=/^\/toolchains\/[A-Za-z0-9][A-Za-z0-9._+/-]*$/,Gt=new URL(`https://wasm-oj.invalid/`);function Kt(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(an(s,`Toolchain source ${t}`),s.kind!==n)throw Error(`Toolchain source ${t} has host kind '${String(s.kind)}'; expected '${n}'.`);n===`browser`?(on(s,[`kind`,`descriptor`,`baseUrl`],`Browser toolchain source ${t}`),$t(s.baseUrl,t)):(on(s,[`kind`,`descriptor`,`directory`],`Server toolchain source ${t}`),en(s.directory,t));let e=s.descriptor;if(Qt(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=nn(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 qt(e){return Kt(e,`browser`)}function Jt(e){qt(e);let t=e.map(e=>Object.freeze({kind:`browser`,baseUrl:e.baseUrl,descriptor:rn(e.descriptor)}));return Object.freeze(t)}function Yt(e,t){tn(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 Xt(e,t,n){let{source:r}=Yt(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 Zt(e,t,n){let{asset:r}=Yt(e,t),i=Xt(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 Qt(e,t){let n=`Toolchain descriptor ${t}`;if(an(e,n),on(e,[`schema`,`id`,`version`,`wasmOjContract`,`languages`,`profiles`,`assets`],n),e.schema!==j.toolchainPackage)throw Error(`${n} schema '${String(e.schema)}' is unsupported; expected '${j.toolchainPackage}'.`);if(e.wasmOjContract!==2)throw Error(`${n} contract '${String(e.wasmOjContract)}' is unsupported; expected '2'.`);if(sn(e.id,`${n} id`,214),sn(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(M(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(an(a,`${n} profile ${t}`),on(a,[`language`,`target`,`optimization`],`${n} profile ${t}`),M(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=nn(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(an(r,e),on(r,[`path`,`bytes`,`sha256`,`exportPath`],e),tn(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(!Ut.test(r.sha256))throw Error(`${e} sha256 must be a lowercase hexadecimal SHA-256 digest.`);let i=Mt[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 $t(e,t){sn(e,`Browser toolchain source ${t} baseUrl`,4096);let n;try{n=e.startsWith(`/`)?new URL(e,Gt):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 en(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 tn(e,t){if(!Wt.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 nn(e,t,n){return`${e}/${t}/${n}`}function rn(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 an(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`${t} must be an object.`)}function on(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 sn(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.`)}async function cn(e,t,n={}){let r=n.idleGraceMs??2e3;await e.stdin?.close().catch(()=>void 0);let i=e.stdout.getReader(),a=e.stderr.getReader(),o=()=>i.read().then(({done:e,value:t})=>({source:`stdout`,chunk:e?void 0:t})),s=()=>a.read().then(({done:e,value:t})=>({source:`stderr`,chunk:e?void 0:t})).catch(()=>({source:`stderr`})),c=dn(),l=dn(),u=o(),d=s(),f;try{for(;;){let e=f!==void 0,i=(e?[n.collectStderr?d:void 0]:[u,d]).filter(e=>e!==void 0);if(i.length===0)break;let a;(e||i.length===1)&&i.push(new Promise(e=>{a=setTimeout(()=>e({source:`idle`}),r)}));let p=await Promise.race(i).finally(()=>clearTimeout(a));if(p.source===`idle`)break;if(p.source===`stdout`){if(!p.chunk){u=void 0;continue}c.append(p.chunk),f=t(c.bytes()),u=f===void 0?o():void 0}else p.chunk?(l.append(p.chunk),d=s()):d=void 0}}finally{await Promise.allSettled([i.cancel(),a.cancel()])}return{message:f,stderr:new TextDecoder().decode(l.bytes())}}const ln=new Set([9,10,13,32]);function un(e){let t=e.byteLength;for(;t>0&&ln.has(e[t-1]);)--t;if(t!==0&&e[t-1]===125)try{return JSON.parse(new TextDecoder().decode(e.subarray(0,t)))}catch{return}}function dn(){let e=new Uint8Array,t=0;return{append(n){if(t+n.byteLength>e.byteLength){let r=new Uint8Array(Math.max(t+n.byteLength,e.byteLength*2));r.set(e.subarray(0,t)),e=r}e.set(n,t),t+=n.byteLength},bytes:()=>e.subarray(0,t)}}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`});function fn(e,t,n){return M(e),[`wasm-oj-cost`,`contract-2`,encodeURIComponent(e),t,n]}function pn(e,t,n,r){let i=Le(e)?Pt(e):r;if(!i||!/^[A-Za-z0-9._-]+$/.test(i))throw Error(Le(e)?`WASM-OJ toolchain content identity is invalid for '${e}'.`:`Downstream language '${e}' requires an explicit content identity using letters, digits, '.', '_' or '-'.`);return[...fn(e,t,n),`content-${i}`,`runtime-47684bee57aafd163b18a787fa16eed33cab3ec3c0005c3c46bb4f1803ffc835`,`weighted`].join(`:`)}new TextEncoder,Object.freeze({python:`python`,javascript:`qjs`,typescript:`qjs`});function mn(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 hn(e){return JSON.stringify({schema:j.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 gn(e,t,n,r){return mn(e.name,`Project name`),mn(t,`Runtime package`),mn(n,`Runtime command`,128),M(e.config.language),Rt(r,`Runtime bundle entry`),hn({name:e.name,target:e.config.target,language:e.config.language,runtimePackage:t,command:n,entry:r,files:zt(e.files).map(e=>e.path)})}function _n(e){return Vt(e)}function vn(e){return e===`warning`?`warning`:e===`note`||e===`info`?`info`:`error`}function yn(e){return e.replace(/^file:\/\//,``).replace(/^\/?(?:workspace|project|work)\//,``).replace(/^\.\//,``)}function bn(e){let t=[],n=/^(.*?):(\d+):(\d+):\s+(fatal error|error|warning|note):\s+(.+?)(?:\s+\[([^\]]+)\])?$/gm,r;for(;(r=n.exec(e))!==null;)t.push({file:yn(r[1]),line:Number(r[2]),column:Number(r[3]),severity:vn(r[4].replace(`fatal `,``)),message:r[5],source:`clang`,code:r[6]});return t}function xn(e){let t=[],n=/^(.*?)\((\d+),(\d+)\):\s+(error|warning|message)\s+TS(\d+):\s+(.+)$/gm,r;for(;(r=n.exec(e))!==null;)t.push({severity:vn(r[4]),message:r[6],file:yn(r[1]),line:Number(r[2]),column:Number(r[3]),source:`typescript`,code:`TS${r[5]}`});return t}function Sn(e,t){return e.length>0?e:[{severity:`error`,file:yn(t.file),line:1,column:1,source:t.source,message:t.message}]}const Cn=String.raw`
18
18
  declare module "std" {
19
19
  const std: {
20
20
  err: { puts(value: string): void };
@@ -389,7 +389,7 @@ _entry = _sys.argv[1]
389
389
  _sys.argv = [_entry, *_sys.argv[2:]]
390
390
  _sys.path[0] = _os.path.dirname(_entry)
391
391
  _runpy.run_path(_entry, run_name="__main__")
392
- `,An=new TextDecoder;async function jn(e){let t=await V(e);if(t!==`895eee17c63b1112c84adcc4ddbcb38e0c18e53bff15f50a8689b9b82d87b1ff`)throw Error(`The pinned cc1 manifest drifted from its contract: expected ${F}, received ${t}. Regenerate it with scripts/pin-clang-cc1-argv.mjs and update CLANG_CC1_PINS_SHA256.`);let n=JSON.parse(An.decode(e));if(n.schema!==j.clangPins)throw Error(`Unsupported cc1 pin schema '${n.schema}'.`);for(let e of[`input`,`output`,`mainFileName`,`objects`])if(typeof n.placeholders?.[e]!=`string`)throw Error(`The cc1 pin manifest is missing the '${e}' placeholder.`);if(!n.command||!n.linkerCommand)throw Error(`The cc1 pin manifest is missing a compiler or linker command.`);if(!n.source||!/^[a-f0-9]{64}$/.test(n.sourceSha256))throw Error(`The cc1 pin manifest is missing its source toolchain identity.`);for(let[e,t]of Object.entries(n.configs))if(!Array.isArray(t.cc1)||!Array.isArray(t.link)||t.cc1[0]!==`-cc1`)throw Error(`The cc1 pin manifest entry '${e}' is malformed.`);return n}function Mn(e,t,n,r){let i=n.slice(n.lastIndexOf(`/`)+1),a=n.startsWith(`/`)?n:`/project/${n}`;return e.map(e=>e===t.input?a:e===t.output?r:e===t.mainFileName?i:e)}function Nn(e,t,n,r){return Mn(e.map(e=>e===`-emit-obj`?`-emit-pch`:e===`c++`?`c++-header`:e),t,n,r)}function Pn(e,t,n,r){let i=[];for(let a of e)a===t.objects?i.push(...n):a===t.output?i.push(r):i.push(a);return i}const Fn=Object.freeze([`source`,`header`,`package`,`pch`,`object`,`link-result`]);var In=class{limitBytes;logical=new Map;nodes=new Map;blobs=new Map;storedBytes=0;generation=0;constructor(e){if(!Number.isSafeInteger(e)||e<=0)throw RangeError(`Incremental build graph limit must be a positive safe integer.`);this.limitBytes=e}async lookup(e,t){let n=this.logical.get(e);if(!n)return;let r=[];for(let e of n.dependencies){let n=t.get(e.identity);if(!n||n.kind!==e.kind)return;r.push(n)}return this.lookupExact(n.kind,e,r)}async lookupExact(e,t,n){let r=await Hn(e,t,(await this.internInputs(n)).map(e=>e.key)),i=this.nodes.get(r);if(!i)return;let a=this.blobs.get(i.digest);if(a)return this.blobs.delete(i.digest),this.blobs.set(i.digest,a),a.slice()}async store(e,t,n,r){if(r.byteLength>this.limitBytes)return!1;let i=zn(n),a=await this.internInputs(i),o=await Hn(e,t,a.map(e=>e.key)),s=r.slice(),c=await V(s),l=this.logical.get(t),u=l?this.nodes.get(l.nodeKey):void 0,d=!1;if(u&&(u.key!==o||u.digest!==c)){if(this.logical.delete(t),this.nodes.delete(u.key),![...this.logical.values()].some(e=>this.nodes.get(e.nodeKey)?.digest===u.digest)){let e=this.blobs.get(u.digest);e&&(this.blobs.delete(u.digest),this.storedBytes-=e.byteLength)}d=!0}d=this.ensureCapacity(s.byteLength,c)||d,this.blobs.has(c)||(this.blobs.set(c,s),this.storedBytes+=s.byteLength,d=!0);let f={key:o,kind:e,identity:t,digest:c,dependencies:a.map(e=>e.key),byteLength:s.byteLength},p={kind:e,dependencies:i.map(({kind:e,identity:t})=>({kind:e,identity:t})),nodeKey:o},m=this.nodes.get(o),h=this.logical.get(t);return(!Ln(m,f)||!Rn(h,p))&&(d=!0),this.nodes.set(o,f),this.logical.set(t,p),d&&(this.generation+=1),!0}exportState(){let e=[],t=new Set;for(let[n,r]of this.logical){let i=this.nodes.get(r.nodeKey);if(!i)continue;let a=this.blobs.get(i.digest);if(!a)continue;let o=i.dependencies.map(e=>{let t=this.nodes.get(e);if(!t)throw Error(`Build graph dependency '${e}' is missing.`);return{kind:t.kind,identity:t.identity,digest:t.digest}});e.push({kind:r.kind,logicalKey:n,inputs:o,outputDigest:i.digest,outputByteLength:a.byteLength}),t.add(i.digest)}return{manifest:{schema:j.incrementalBuildGraph,version:2,generation:this.generation,entries:e.sort((e,t)=>Bn(e.logicalKey,t.logicalKey))},blobs:[...t].sort().map(e=>({digest:e,bytes:this.blobs.get(e)}))}}async restoreState(e){if(!e||typeof e!=`object`||Array.isArray(e)||Object.keys(e).sort().join(`,`)!==`blobs,manifest`)throw Error(`Incremental build graph state does not use the active WASM-OJ contract.`);let{manifest:t}=e;if(!t||typeof t!=`object`||Array.isArray(t)||Object.keys(t).sort().join(`,`)!==`entries,generation,schema,version`||t.schema!==j.incrementalBuildGraph||t.version!==2||!Number.isSafeInteger(t.generation)||t.generation<0||!Array.isArray(t.entries)||!Array.isArray(e.blobs))throw Error(`Incremental build graph manifest does not use the active WASM-OJ contract.`);let n=new Map,r=0,i=``;for(let t of e.blobs){if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`Incremental build graph state contains a malformed blob.`);let e=t;if(Object.keys(e).sort().join(`,`)!==`bytes,digest`||typeof e.digest!=`string`||!/^[0-9a-f]{64}$/.test(e.digest)||e.digest<=i||!(e.bytes instanceof Uint8Array)||await V(e.bytes)!==e.digest)throw Error(`Incremental build graph state contains an invalid content-addressed blob.`);if(i=e.digest,r+=e.bytes.byteLength,!Number.isSafeInteger(r)||r>this.limitBytes)throw Error(`Incremental build graph state exceeds its storage limit.`);n.set(e.digest,e.bytes)}let a=new Set,o=[],s=new Set,c=``;for(let e of t.entries){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Incremental build graph manifest contains a malformed entry.`);let t=e;if(Object.keys(t).sort().join(`,`)!==`inputs,kind,logicalKey,outputByteLength,outputDigest`)throw Error(`Incremental build graph manifest entry has an invalid shape.`);if(t.kind!==`pch`&&t.kind!==`object`&&t.kind!==`link-result`)throw Error(`Incremental build graph manifest entry has an invalid node kind.`);if(typeof t.logicalKey!=`string`||!t.logicalKey||t.logicalKey!==t.logicalKey.trim()||t.logicalKey.length>16384||c!==``&&Bn(c,t.logicalKey)>=0)throw Error(`Incremental build graph manifest has an invalid or non-canonical logical key.`);if(c=t.logicalKey,a.has(t.logicalKey))throw Error(`Incremental build graph manifest repeats '${t.logicalKey}'.`);if(a.add(t.logicalKey),typeof t.outputDigest!=`string`||!/^[0-9a-f]{64}$/.test(t.outputDigest)||!Number.isSafeInteger(t.outputByteLength)||t.outputByteLength<0)throw Error(`Incremental build graph output '${t.logicalKey}' has invalid metadata.`);let r=n.get(t.outputDigest);if(!r||r.byteLength!==t.outputByteLength)throw Error(`Incremental build graph output '${t.logicalKey}' is missing or has the wrong size.`);if(s.add(t.outputDigest),!Array.isArray(t.inputs))throw Error(`Incremental build graph entry '${t.logicalKey}' inputs must be an array.`);let i=t.inputs.map(e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Incremental build graph entry '${t.logicalKey}' has a malformed input.`);let n=e;if(Object.keys(n).sort().join(`,`)!==`digest,identity,kind`||!Fn.slice(0,5).includes(n.kind)||typeof n.identity!=`string`||typeof n.digest!=`string`)throw Error(`Incremental build graph entry '${t.logicalKey}' has an invalid input.`);return{kind:n.kind,identity:n.identity,digest:n.digest}});if(zn(i).some((e,t)=>e.identity!==i[t]?.identity))throw Error(`Incremental build graph entry '${t.logicalKey}' inputs are not canonical.`);o.push({kind:t.kind,logicalKey:t.logicalKey,inputs:i,output:r})}if(s.size!==n.size)throw Error(`Incremental build graph state contains an unreferenced content-addressed blob.`);this.clear();for(let e of o)if(!await this.store(e.kind,e.logicalKey,e.inputs,e.output))throw Error(`Incremental build graph entry '${e.logicalKey}' exceeds its storage limit.`);this.generation=t.generation}snapshot(){return{schema:j.incrementalBuildGraph,nodes:[...this.nodes.values()].map(e=>({...e,dependencies:[...e.dependencies]})).sort((e,t)=>Bn(e.key,t.key)),storedBytes:this.storedBytes}}clear(){let e=this.logical.size>0||this.nodes.size>0||this.blobs.size>0;this.logical.clear(),this.nodes.clear(),this.blobs.clear(),this.storedBytes=0,e&&(this.generation+=1)}async internInputs(e){return Promise.all(zn(e).map(async e=>{let t=await Vn(e),n=await V(JSON.stringify({schema:j.incrementalBuildGraph,kind:e.kind,identity:e.identity,digest:t})),r={key:n,kind:e.kind,identity:e.identity,digest:t,dependencies:[],byteLength:e.bytes?.byteLength??0};return this.nodes.set(n,r),r}))}ensureCapacity(e,t){if(this.blobs.has(t))return!1;let n=!1;for(;this.storedBytes+e>this.limitBytes&&this.blobs.size>0;){let e=this.blobs.keys().next().value,t=this.blobs.get(e);this.blobs.delete(e),this.storedBytes-=t.byteLength,n=!0;for(let[t,n]of this.nodes)if(n.digest===e&&n.dependencies.length!==0){this.nodes.delete(t);for(let[e,n]of this.logical)n.nodeKey===t&&this.logical.delete(e)}}return n}};function Ln(e,t){return e?.key===t.key&&e.kind===t.kind&&e.identity===t.identity&&e.digest===t.digest&&e.byteLength===t.byteLength&&e.dependencies.length===t.dependencies.length&&e.dependencies.every((e,n)=>e===t.dependencies[n])}function Rn(e,t){return e?.kind===t.kind&&e.nodeKey===t.nodeKey&&e.dependencies.length===t.dependencies.length&&e.dependencies.every((e,n)=>e.kind===t.dependencies[n]?.kind&&e.identity===t.dependencies[n]?.identity)}function zn(e){let t=new Map;for(let n of e){if(!n.identity||n.identity!==n.identity.trim()||n.identity.length>16384)throw Error(`Build graph input identities must be non-empty, trimmed strings.`);if(t.has(n.identity))throw Error(`Duplicate build graph input '${n.identity}'.`);if(n.bytes===void 0==(n.digest===void 0))throw Error(`Build graph input '${n.identity}' must provide exactly one of bytes or digest.`);t.set(n.identity,n)}return[...t.values()].sort((e,t)=>Bn(e.identity,t.identity))}function Bn(e,t){return e<t?-1:+(e>t)}async function Vn(e){if(e.bytes)return V(e.bytes);if(!/^[0-9a-f]{64}$/.test(e.digest))throw Error(`Build graph input '${e.identity}' has an invalid digest.`);return e.digest}function Hn(e,t,n){return V(JSON.stringify({schema:j.incrementalBuildGraph,kind:e,logicalKey:t,dependencies:n}))}const Un=new TextDecoder;var Wn=class{graph;constructor(e){this.graph=new In(e)}async unitManifestKey(e,t,n,r){let i=e.configs[t];if(!i)throw Error(`Unknown pinned Clang configuration '${t}'.`);return V(JSON.stringify({schema:j.objectCache,pinsSha256:F,sourceToolchainSha256:e.sourceSha256,packageSha256:P,version:e.version,config:t,cc1Argv:i.cc1,unit:n,source:await V(r)}))}async lookup(e,t,n=[]){return this.graph.lookup(e,Xn(t,n))}async store(e,t,n,r,i=[]){let a=Kn(t,n);return a?this.graph.store(`object`,e,[...Jn(a,n),...i],r):!1}async lookupPch(e,t){return this.graph.lookup(e,Xn(t))}async storePch(e,t,n,r){let i=Kn(t,n);return i?this.graph.store(`pch`,e,Jn(i,n),r):!1}lookupLink(e,t){return this.graph.lookupExact(`link-result`,e,Yn(t))}storeLink(e,t,n){return this.graph.store(`link-result`,e,Yn(t),n)}snapshot(){return this.graph.snapshot()}exportState(){return this.graph.exportState()}restoreState(e){return this.graph.restoreState(e)}clear(){this.graph.clear()}};function Gn(e){let t=Un.decode(e).replace(/\\\r?\n/g,` `),n=t.indexOf(`:`);if(n<0)return[];let r=[],i=/(?:\\.|[^\s\\])+/g,a=t.slice(n+1);for(let e=i.exec(a);e;e=i.exec(a))r.push(e[0].replace(/\\(.)/g,`$1`));return r}function Kn(e,t){let n=new Set;for(let r of e){if(r.startsWith(`/usr/`)||r.startsWith(`/sysroot/`)||r.startsWith(`/lib/`))continue;let e=r.startsWith(`/project/`)?r.slice(9):r.replace(/^\.\//,``);if(!e||e.startsWith(`/`)||e.split(`/`).some(e=>e===``||e===`.`||e===`..`)||!t.has(e))return;n.add(e)}if(n.size!==0)return[...n].sort()}function qn(e){return/\.(?:c|cc|cpp|cxx)$/i.test(e)?`source`:`header`}function Jn(e,t){return Yn(e.map(e=>({kind:qn(e),identity:e,bytes:t.get(e)})))}function Yn(e){return[...e,{kind:`package`,identity:`cpp:clang@${P}`,digest:P}]}function Xn(e,t=[]){let n=new Map([...e].map(([e,t])=>[e,{kind:qn(e),identity:e,bytes:t}]));n.set(`cpp:clang@${P}`,{kind:`package`,identity:`cpp:clang@${P}`,digest:P});for(let e of t)n.set(e.identity,e);return n}const Zn=`#pragma once
392
+ `,An=new TextDecoder;async function jn(e){let t=await V(e);if(t!==`895eee17c63b1112c84adcc4ddbcb38e0c18e53bff15f50a8689b9b82d87b1ff`)throw Error(`The pinned cc1 manifest drifted from its contract: expected ${F}, received ${t}. Regenerate it with scripts/pin-clang-cc1-argv.mjs and update CLANG_CC1_PINS_SHA256.`);let n=JSON.parse(An.decode(e));if(n.schema!==j.clangPins)throw Error(`Unsupported cc1 pin schema '${n.schema}'.`);for(let e of[`input`,`output`,`mainFileName`,`objects`])if(typeof n.placeholders?.[e]!=`string`)throw Error(`The cc1 pin manifest is missing the '${e}' placeholder.`);if(!n.command||!n.linkerCommand)throw Error(`The cc1 pin manifest is missing a compiler or linker command.`);if(!n.source||!/^[a-f0-9]{64}$/.test(n.sourceSha256))throw Error(`The cc1 pin manifest is missing its source toolchain identity.`);for(let[e,t]of Object.entries(n.configs))if(!Array.isArray(t.cc1)||!Array.isArray(t.link)||t.cc1[0]!==`-cc1`)throw Error(`The cc1 pin manifest entry '${e}' is malformed.`);return n}function Mn(e,t,n,r){let i=n.slice(n.lastIndexOf(`/`)+1),a=n.startsWith(`/`)?n:`/project/${n}`;return e.map(e=>e===t.input?a:e===t.output?r:e===t.mainFileName?i:e)}function Nn(e,t,n,r){return Mn(e.map(e=>e===`-emit-obj`?`-emit-pch`:e===`c++`?`c++-header`:e),t,n,r)}function Pn(e,t,n,r,i){let a=[];for(let i of e)i===t.objects?a.push(...n):i===t.output?a.push(r):a.push(i);return i!==void 0&&a.push(`--stack-first`,`-z`,`stack-size=${i}`),a}const Fn=Object.freeze([`source`,`header`,`package`,`pch`,`object`,`link-result`]);var In=class{limitBytes;logical=new Map;nodes=new Map;blobs=new Map;storedBytes=0;generation=0;constructor(e){if(!Number.isSafeInteger(e)||e<=0)throw RangeError(`Incremental build graph limit must be a positive safe integer.`);this.limitBytes=e}async lookup(e,t){let n=this.logical.get(e);if(!n)return;let r=[];for(let e of n.dependencies){let n=t.get(e.identity);if(!n||n.kind!==e.kind)return;r.push(n)}return this.lookupExact(n.kind,e,r)}async lookupExact(e,t,n){let r=await Hn(e,t,(await this.internInputs(n)).map(e=>e.key)),i=this.nodes.get(r);if(!i)return;let a=this.blobs.get(i.digest);if(a)return this.blobs.delete(i.digest),this.blobs.set(i.digest,a),a.slice()}async store(e,t,n,r){if(r.byteLength>this.limitBytes)return!1;let i=zn(n),a=await this.internInputs(i),o=await Hn(e,t,a.map(e=>e.key)),s=r.slice(),c=await V(s),l=this.logical.get(t),u=l?this.nodes.get(l.nodeKey):void 0,d=!1;if(u&&(u.key!==o||u.digest!==c)){if(this.logical.delete(t),this.nodes.delete(u.key),![...this.logical.values()].some(e=>this.nodes.get(e.nodeKey)?.digest===u.digest)){let e=this.blobs.get(u.digest);e&&(this.blobs.delete(u.digest),this.storedBytes-=e.byteLength)}d=!0}d=this.ensureCapacity(s.byteLength,c)||d,this.blobs.has(c)||(this.blobs.set(c,s),this.storedBytes+=s.byteLength,d=!0);let f={key:o,kind:e,identity:t,digest:c,dependencies:a.map(e=>e.key),byteLength:s.byteLength},p={kind:e,dependencies:i.map(({kind:e,identity:t})=>({kind:e,identity:t})),nodeKey:o},m=this.nodes.get(o),h=this.logical.get(t);return(!Ln(m,f)||!Rn(h,p))&&(d=!0),this.nodes.set(o,f),this.logical.set(t,p),d&&(this.generation+=1),!0}exportState(){let e=[],t=new Set;for(let[n,r]of this.logical){let i=this.nodes.get(r.nodeKey);if(!i)continue;let a=this.blobs.get(i.digest);if(!a)continue;let o=i.dependencies.map(e=>{let t=this.nodes.get(e);if(!t)throw Error(`Build graph dependency '${e}' is missing.`);return{kind:t.kind,identity:t.identity,digest:t.digest}});e.push({kind:r.kind,logicalKey:n,inputs:o,outputDigest:i.digest,outputByteLength:a.byteLength}),t.add(i.digest)}return{manifest:{schema:j.incrementalBuildGraph,version:2,generation:this.generation,entries:e.sort((e,t)=>Bn(e.logicalKey,t.logicalKey))},blobs:[...t].sort().map(e=>({digest:e,bytes:this.blobs.get(e)}))}}async restoreState(e){if(!e||typeof e!=`object`||Array.isArray(e)||Object.keys(e).sort().join(`,`)!==`blobs,manifest`)throw Error(`Incremental build graph state does not use the active WASM-OJ contract.`);let{manifest:t}=e;if(!t||typeof t!=`object`||Array.isArray(t)||Object.keys(t).sort().join(`,`)!==`entries,generation,schema,version`||t.schema!==j.incrementalBuildGraph||t.version!==2||!Number.isSafeInteger(t.generation)||t.generation<0||!Array.isArray(t.entries)||!Array.isArray(e.blobs))throw Error(`Incremental build graph manifest does not use the active WASM-OJ contract.`);let n=new Map,r=0,i=``;for(let t of e.blobs){if(!t||typeof t!=`object`||Array.isArray(t))throw Error(`Incremental build graph state contains a malformed blob.`);let e=t;if(Object.keys(e).sort().join(`,`)!==`bytes,digest`||typeof e.digest!=`string`||!/^[0-9a-f]{64}$/.test(e.digest)||e.digest<=i||!(e.bytes instanceof Uint8Array)||await V(e.bytes)!==e.digest)throw Error(`Incremental build graph state contains an invalid content-addressed blob.`);if(i=e.digest,r+=e.bytes.byteLength,!Number.isSafeInteger(r)||r>this.limitBytes)throw Error(`Incremental build graph state exceeds its storage limit.`);n.set(e.digest,e.bytes)}let a=new Set,o=[],s=new Set,c=``;for(let e of t.entries){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Incremental build graph manifest contains a malformed entry.`);let t=e;if(Object.keys(t).sort().join(`,`)!==`inputs,kind,logicalKey,outputByteLength,outputDigest`)throw Error(`Incremental build graph manifest entry has an invalid shape.`);if(t.kind!==`pch`&&t.kind!==`object`&&t.kind!==`link-result`)throw Error(`Incremental build graph manifest entry has an invalid node kind.`);if(typeof t.logicalKey!=`string`||!t.logicalKey||t.logicalKey!==t.logicalKey.trim()||t.logicalKey.length>16384||c!==``&&Bn(c,t.logicalKey)>=0)throw Error(`Incremental build graph manifest has an invalid or non-canonical logical key.`);if(c=t.logicalKey,a.has(t.logicalKey))throw Error(`Incremental build graph manifest repeats '${t.logicalKey}'.`);if(a.add(t.logicalKey),typeof t.outputDigest!=`string`||!/^[0-9a-f]{64}$/.test(t.outputDigest)||!Number.isSafeInteger(t.outputByteLength)||t.outputByteLength<0)throw Error(`Incremental build graph output '${t.logicalKey}' has invalid metadata.`);let r=n.get(t.outputDigest);if(!r||r.byteLength!==t.outputByteLength)throw Error(`Incremental build graph output '${t.logicalKey}' is missing or has the wrong size.`);if(s.add(t.outputDigest),!Array.isArray(t.inputs))throw Error(`Incremental build graph entry '${t.logicalKey}' inputs must be an array.`);let i=t.inputs.map(e=>{if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Incremental build graph entry '${t.logicalKey}' has a malformed input.`);let n=e;if(Object.keys(n).sort().join(`,`)!==`digest,identity,kind`||!Fn.slice(0,5).includes(n.kind)||typeof n.identity!=`string`||typeof n.digest!=`string`)throw Error(`Incremental build graph entry '${t.logicalKey}' has an invalid input.`);return{kind:n.kind,identity:n.identity,digest:n.digest}});if(zn(i).some((e,t)=>e.identity!==i[t]?.identity))throw Error(`Incremental build graph entry '${t.logicalKey}' inputs are not canonical.`);o.push({kind:t.kind,logicalKey:t.logicalKey,inputs:i,output:r})}if(s.size!==n.size)throw Error(`Incremental build graph state contains an unreferenced content-addressed blob.`);this.clear();for(let e of o)if(!await this.store(e.kind,e.logicalKey,e.inputs,e.output))throw Error(`Incremental build graph entry '${e.logicalKey}' exceeds its storage limit.`);this.generation=t.generation}snapshot(){return{schema:j.incrementalBuildGraph,nodes:[...this.nodes.values()].map(e=>({...e,dependencies:[...e.dependencies]})).sort((e,t)=>Bn(e.key,t.key)),storedBytes:this.storedBytes}}clear(){let e=this.logical.size>0||this.nodes.size>0||this.blobs.size>0;this.logical.clear(),this.nodes.clear(),this.blobs.clear(),this.storedBytes=0,e&&(this.generation+=1)}async internInputs(e){return Promise.all(zn(e).map(async e=>{let t=await Vn(e),n=await V(JSON.stringify({schema:j.incrementalBuildGraph,kind:e.kind,identity:e.identity,digest:t})),r={key:n,kind:e.kind,identity:e.identity,digest:t,dependencies:[],byteLength:e.bytes?.byteLength??0};return this.nodes.set(n,r),r}))}ensureCapacity(e,t){if(this.blobs.has(t))return!1;let n=!1;for(;this.storedBytes+e>this.limitBytes&&this.blobs.size>0;){let e=this.blobs.keys().next().value,t=this.blobs.get(e);this.blobs.delete(e),this.storedBytes-=t.byteLength,n=!0;for(let[t,n]of this.nodes)if(n.digest===e&&n.dependencies.length!==0){this.nodes.delete(t);for(let[e,n]of this.logical)n.nodeKey===t&&this.logical.delete(e)}}return n}};function Ln(e,t){return e?.key===t.key&&e.kind===t.kind&&e.identity===t.identity&&e.digest===t.digest&&e.byteLength===t.byteLength&&e.dependencies.length===t.dependencies.length&&e.dependencies.every((e,n)=>e===t.dependencies[n])}function Rn(e,t){return e?.kind===t.kind&&e.nodeKey===t.nodeKey&&e.dependencies.length===t.dependencies.length&&e.dependencies.every((e,n)=>e.kind===t.dependencies[n]?.kind&&e.identity===t.dependencies[n]?.identity)}function zn(e){let t=new Map;for(let n of e){if(!n.identity||n.identity!==n.identity.trim()||n.identity.length>16384)throw Error(`Build graph input identities must be non-empty, trimmed strings.`);if(t.has(n.identity))throw Error(`Duplicate build graph input '${n.identity}'.`);if(n.bytes===void 0==(n.digest===void 0))throw Error(`Build graph input '${n.identity}' must provide exactly one of bytes or digest.`);t.set(n.identity,n)}return[...t.values()].sort((e,t)=>Bn(e.identity,t.identity))}function Bn(e,t){return e<t?-1:+(e>t)}async function Vn(e){if(e.bytes)return V(e.bytes);if(!/^[0-9a-f]{64}$/.test(e.digest))throw Error(`Build graph input '${e.identity}' has an invalid digest.`);return e.digest}function Hn(e,t,n){return V(JSON.stringify({schema:j.incrementalBuildGraph,kind:e,logicalKey:t,dependencies:n}))}const Un=new TextDecoder;var Wn=class{graph;constructor(e){this.graph=new In(e)}async unitManifestKey(e,t,n,r){let i=e.configs[t];if(!i)throw Error(`Unknown pinned Clang configuration '${t}'.`);return V(JSON.stringify({schema:j.objectCache,pinsSha256:F,sourceToolchainSha256:e.sourceSha256,packageSha256:P,version:e.version,config:t,cc1Argv:i.cc1,unit:n,source:await V(r)}))}async lookup(e,t,n=[]){return this.graph.lookup(e,Xn(t,n))}async store(e,t,n,r,i=[]){let a=Kn(t,n);return a?this.graph.store(`object`,e,[...Jn(a,n),...i],r):!1}async lookupPch(e,t){return this.graph.lookup(e,Xn(t))}async storePch(e,t,n,r){let i=Kn(t,n);return i?this.graph.store(`pch`,e,Jn(i,n),r):!1}lookupLink(e,t){return this.graph.lookupExact(`link-result`,e,Yn(t))}storeLink(e,t,n){return this.graph.store(`link-result`,e,Yn(t),n)}snapshot(){return this.graph.snapshot()}exportState(){return this.graph.exportState()}restoreState(e){return this.graph.restoreState(e)}clear(){this.graph.clear()}};function Gn(e){let t=Un.decode(e).replace(/\\\r?\n/g,` `),n=t.indexOf(`:`);if(n<0)return[];let r=[],i=/(?:\\.|[^\s\\])+/g,a=t.slice(n+1);for(let e=i.exec(a);e;e=i.exec(a))r.push(e[0].replace(/\\(.)/g,`$1`));return r}function Kn(e,t){let n=new Set;for(let r of e){if(r.startsWith(`/usr/`)||r.startsWith(`/sysroot/`)||r.startsWith(`/lib/`))continue;let e=r.startsWith(`/project/`)?r.slice(9):r.replace(/^\.\//,``);if(!e||e.startsWith(`/`)||e.split(`/`).some(e=>e===``||e===`.`||e===`..`)||!t.has(e))return;n.add(e)}if(n.size!==0)return[...n].sort()}function qn(e){return/\.(?:c|cc|cpp|cxx)$/i.test(e)?`source`:`header`}function Jn(e,t){return Yn(e.map(e=>({kind:qn(e),identity:e,bytes:t.get(e)})))}function Yn(e){return[...e,{kind:`package`,identity:`cpp:clang@${P}`,digest:P}]}function Xn(e,t=[]){let n=new Map([...e].map(([e,t])=>[e,{kind:qn(e),identity:e,bytes:t}]));n.set(`cpp:clang@${P}`,{kind:`package`,identity:`cpp:clang@${P}`,digest:P});for(let e of t)n.set(e.identity,e);return n}const Zn=`#pragma once
393
393
  #include <algorithm>
394
394
  #include <array>
395
395
  #include <bitset>
@@ -439,10 +439,10 @@ _runpy.run_path(_entry, run_name="__main__")
439
439
  `,Qn=new TextDecoder;async function $n(e){let t=await V(e);if(t!==`9bbe41d77c786f1c36169369c909268530b05726e1581683f6edd9a2983eebd0`)throw Error(`Pinned libc++ PCH manifest digest mismatch: expected ${qe}, received ${t}.`);let n;try{n=JSON.parse(Qn.decode(e))}catch(e){throw Error(`Pinned libc++ PCH manifest is not valid JSON.`,{cause:e})}if(!tr(n)||n.schema!==j.clangLibcxxPch||n.version!==`22.0.0-git20542-10`||n.clangPackageSha256!==`21ded33b9c6d4e1aaad5528c940bdaf6c3e84be77ea8f522f018ca7289a2a224`||n.clangPinsSha256!==`895eee17c63b1112c84adcc4ddbcb38e0c18e53bff15f50a8689b9b82d87b1ff`||n.header!==Zn||!tr(n.profiles))throw Error(`Pinned libc++ PCH manifest is not admitted by the active Clang toolchain contract.`);if(n.headerSha256!==await V(Zn))throw Error(`Pinned libc++ PCH header digest does not match its canonical source.`);let r=n.profiles,i=Object.fromEntries(await Promise.all([`cpp-debug`,`cpp-release`].map(async e=>{let t=r[e];if(!tr(t)||typeof t.path!=`string`||!t.path.endsWith(`.${e}.pch.gz.bin`)||!rr(t.byteLength)||!rr(t.compressedByteLength)||!nr(t.sha256)||!nr(t.compressedSha256))throw Error(`Pinned libc++ PCH profile '${e}' is malformed.`);return[e,{path:t.path,byteLength:t.byteLength,sha256:t.sha256,compressedByteLength:t.compressedByteLength,compressedSha256:t.compressedSha256}]})));if(Object.keys(r).sort().join(`,`)!==`cpp-debug,cpp-release`)throw Error(`Pinned libc++ PCH manifest has an unexpected profile set.`);return{schema:j.clangLibcxxPch,version:N,clangPackageSha256:P,clangPinsSha256:F,header:Zn,headerSha256:n.headerSha256,profiles:i}}function er(e){return e===Zn}function tr(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function nr(e){return typeof e==`string`&&/^[0-9a-f]{64}$/.test(e)}function rr(e){return Number.isSafeInteger(e)&&e>0}var ir=class{#e;#t;#n=0;constructor(e=75){if(!Number.isFinite(e)||e<=0)throw RangeError(`Mounted-output stability interval must be positive and finite.`);this.#e=e}observe(e,t){if(!Number.isFinite(t))throw RangeError(`Mounted-output observation time must be finite.`);if(!e){this.#t=void 0,this.#n=0;return}if(!this.#t||!ar(this.#t,e)){this.#t=e.slice(),this.#n=t;return}if(!(t-this.#n<this.#e))return e.slice()}};function ar(e,t){if(e.byteLength!==t.byteLength)return!1;for(let n=0;n<e.byteLength;n+=1)if(e[n]!==t[n])return!1;return!0}const or=Object.freeze({c:`cpp`,cpp:`cpp`,rust:`cargo`,python:`pypi`,javascript:`npm`,typescript:`npm`,go:`go`});function sr(e){if(!e.dependencies)return;let t=or[e.config.language];if(!t)throw Error(`Compiler '${e.config.language}' does not declare a dependency ecosystem.`);let n=e.dependencies.packages.find(e=>e.package.ecosystem!==t);if(n)throw Error(`${e.config.language} projects accept only '${t}' dependencies; '${n.package.id}' is '${n.package.ecosystem}'.`)}function cr(e,t){return sr(e),e.dependencies?.packages.filter(e=>e.package.ecosystem===t)??[]}function lr(e){let t={};for(let n of cr(e,`pypi`))for(let[e,r]of Object.entries(n.files))t[`site-packages/${e}`]=r.slice();return t}function ur(e){let t={},n=new Set,r=[];for(let i of cr(e,`npm`)){if(n.has(i.package.name))throw Error(`npm dependency '${i.package.name}' resolves to multiple versions in a flat runtime graph.`);n.add(i.package.name);let e=i.files[`package.json`];if(!e)throw Error(`npm dependency '${i.package.id}' omits package.json.`);let a=U(e,i.package.id,`package.json`);if(JSON.parse(a).type===`module`)throw Error(`npm dependency '${i.package.id}' uses unsupported ESM package semantics.`);Object.keys(i.files).some(e=>e.endsWith(`.d.ts`))||r.push(i.package.name);for(let[e,n]of Object.entries(i.files)){let r=`node_modules/${i.package.name}/${e}`;t[r]=mr(e)?U(n,i.package.id,e):n.slice()}}return r.length>0&&(t[`.wasm-oj/npm-untyped-modules.d.ts`]=r.sort().flatMap(e=>[`declare module ${JSON.stringify(e)} { const value: any; export = value; }`,`declare module ${JSON.stringify(`${e}/*`)} { const value: any; export = value; }`]).join(`
440
440
  `)),t}function dr(e){let t=new Map,n=[],r=[];for(let[i,a]of cr(e,`cpp`).entries()){let o=`.wasm-oj/dependencies/cpp/${String(i).padStart(4,`0`)}`;n.push(`/project/${o}`),Object.keys(a.files).some(e=>e.startsWith(`include/`))&&n.push(`/project/${o}/include`);for(let[n,i]of Object.entries(a.files)){if(!hr(n))continue;U(i,a.package.id,n);let s=`${o}/${n}`;if(t.set(s,i.slice()),gr(n)){if(e.config.language===`c`&&!n.endsWith(`.c`))throw Error(`C dependency '${a.package.id}' contains C++ source '${n}'.`);r.push(s)}}}return{files:t,includeDirectories:Object.freeze(n),sources:Object.freeze(r)}}function fr(e){let t=cr(e,`cargo`),n=new Map(t.map(e=>[e.package.id,e])),r=_r(t),i=new Map,a=[];for(let[e,t]of r.entries()){let n=`.wasm-oj/dependencies/cargo/${String(e).padStart(4,`0`)}`,r=t.files[`Cargo.toml`],o=U(r,t.package.id,`Cargo.toml`);if(/\bpackage\s*=\s*"/m.test(br(o)))throw Error(`Cargo dependency '${t.package.id}' uses unsupported renamed dependencies.`);let s=vr(o,`lib`),c=xr(yr(s,`name`)??t.package.name,t.package.id),l=yr(s,`path`)??`src/lib.rs`;if(!t.files[l])throw Error(`Cargo dependency '${t.package.id}' omits '${l}'.`);let u=yr(vr(o,`package`),`edition`)??`2015`;if(!/^(?:2015|2018|2021|2024)$/.test(u))throw Error(`Cargo dependency '${t.package.id}' has unsupported Rust edition '${u}'.`);let d=`/work/build/deps/lib${String(e).padStart(4,`0`)}_${c}.rlib`;i.set(t.package.id,{id:t.package.id,crateName:c,root:`${n}/${l}`,edition:u,outputPath:d,features:Object.freeze([...t.package.features??[]])});for(let[e,r]of Object.entries(t.files))Sr(e)&&a.push({path:`${n}/${e}`,language:`rust`,content:U(r,t.package.id,e)})}let o=r.map(e=>{let t=i.get(e.package.id);return Object.freeze({...t,externs:Object.freeze(e.package.dependencies.map(t=>{let n=i.get(t);if(!n)throw Error(`Cargo dependency '${e.package.id}' refers to unavailable '${t}'.`);return Object.freeze({crateName:n.crateName,path:n.outputPath})}))})}),s=e.dependencies?.lock.roots.map(e=>{if(!n.has(e))throw Error(`Cargo root '${e}' is unavailable.`);let t=i.get(e);return Object.freeze({crateName:t.crateName,path:t.outputPath})})??[];return{files:a,crates:Object.freeze(o),roots:Object.freeze(s)}}function pr(e){let t=[],n=[];for(let[r,i]of cr(e,`go`).entries()){let e=`.wasm-oj/dependencies/go/${String(r).padStart(4,`0`)}`,a=new Map;for(let[n,r]of Object.entries(i.files)){if(!n.endsWith(`.go`)||n.endsWith(`_test.go`)||n.split(`/`).includes(`vendor`))continue;let o=U(r,i.package.id,n);if(/^\s*\/\/(?:go:build|\s*\+build)\b/m.test(o))throw Error(`Go dependency '${i.package.id}' uses unsupported build constraints in '${n}'.`);if(/import\s+(?:[._A-Za-z][A-Za-z0-9_]*\s+)?["`]C["`]/.test(o))throw Error(`Go dependency '${i.package.id}' uses unsupported cgo in '${n}'.`);let s=n.includes(`/`)?n.slice(0,n.lastIndexOf(`/`)):``,c=a.get(s)??[];c.push({path:n,content:o}),a.set(s,c),t.push({path:`${e}/${n}`,language:`go`,content:o})}for(let[t,r]of[...a].sort(([e],[t])=>e.localeCompare(t))){let a=new Set(r.map(e=>Cr(e.content,i.package.id,e.path)));if(a.size!==1)throw Error(`Go dependency '${i.package.id}' directory '${t||`.`}' contains multiple packages.`);if([...a][0]===`main`)continue;let o=t?`${i.package.name}/${t}`:i.package.name,s=n.length;n.push(Object.freeze({id:`${i.package.id}:${t||`.`}`,importPath:o,sourcePaths:Object.freeze(r.map(t=>`${e}/${t.path}`).sort()),imports:Object.freeze([...new Set(r.flatMap(e=>wr(e.content)))].sort()),archivePath:`/work/build/deps/${String(s).padStart(4,`0`)}.a`}))}}return{files:t,packages:Object.freeze(n)}}function U(e,t,n){try{return new TextDecoder(`utf-8`,{fatal:!0}).decode(e)}catch(e){throw Error(`Dependency '${t}' compiler file '${n}' is not valid UTF-8.`,{cause:e})}}function mr(e){return/(?:^|\/)(?:package\.json)$/.test(e)||/\.(?:js|cjs|d\.ts|json)$/i.test(e)}function hr(e){return/\.(?:h|hh|hpp|hxx|inc|c|cc|cpp|cxx)$/i.test(e)}function gr(e){return/\.(?:c|cc|cpp|cxx)$/i.test(e)}function _r(e){let t=new Map(e.map(e=>[e.package.id,e])),n=new Map,r=[],i=e=>{let a=n.get(e);if(a===`visited`)return;if(a===`visiting`)throw Error(`Dependency graph contains a cycle at '${e}'.`);let o=t.get(e);if(!o)throw Error(`Dependency graph refers to unavailable package '${e}'.`);n.set(e,`visiting`);for(let e of o.package.dependencies)i(e);n.set(e,`visited`),r.push(o)};for(let t of e)i(t.package.id);return r}function vr(e,t){return e.match(RegExp(`(?:^|\\n)\\[${t.replace(/[.*+?^${}()|[\\]\\]/g,`\\$&`)}\\]\\s*\\n([\\s\\S]*?)(?=\\n\\[|$)`))?.[1]??``}function yr(e,t){return e.match(RegExp(`^\\s*${t}\\s*=\\s*"([^"]+)"\\s*(?:#.*)?$`,`m`))?.[1]}function br(e){return e.split(/\n(?=\[)/).filter(e=>/\bdependencies\]/.test(e.split(`
441
441
  `,1)[0])).join(`
442
- `)}function xr(e,t){let n=e.replaceAll(`-`,`_`);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(n))throw Error(`Cargo dependency '${t}' has unsupported crate name '${e}'.`);return n}function Sr(e){return e.endsWith(`.rs`)||e.endsWith(`.md`)||e.endsWith(`.txt`)||e===`Cargo.toml`}function Cr(e,t,n){let r=e.match(/^\s*package\s+([A-Za-z_][A-Za-z0-9_]*)\b/m);if(!r)throw Error(`Go dependency '${t}' source '${n}' has no package declaration.`);return r[1]}function wr(e){let t=[],n=/\bimport\s*\(([\s\S]*?)\)/g;for(let r of e.matchAll(n))for(let e of r[1].matchAll(/(?:^|\n)\s*(?:[._A-Za-z][A-Za-z0-9_]*\s+)?["`]([^"`]+)["`]/g))t.push(e[1]);let r=e.replace(n,``);for(let e of r.matchAll(/\bimport\s+(?:[._A-Za-z][A-Za-z0-9_]*\s+)?["`]([^"`]+)["`]/g))t.push(e[1]);return t}let W,Tr;const Er=new Map,G=new Wn(67108864),Dr=new TextEncoder,Or=new TextDecoder,kr=55e3;async function Ar(e,t,n,r){if(e.config.target!==`wasip1`&&e.config.target!==`wasix`)throw Error(`The output-ready Clang compiler accepts only wasip1 or wasix targets.`);if(e.config.language!==`c`&&e.config.language!==`cpp`)throw Error(`The output-ready Clang compiler accepts only C and C++ projects.`);let i=performance.now();r.progress(n,`loading-toolchain`,`Loading pinned Clang 22 toolchain`,.15);let{pins:a,compiler:o,linker:s}=await Pr(n,r),c=`${e.config.language}-${e.config.optimization}`,l=a.configs[c];if(!l)throw Error(`The pinned Clang manifest has no '${c}' configuration.`);r.trace(n,`filesystemPrepare`,`start`);let u=new Map(e.files.map(e=>[e.path,Dr.encode(e.content)])),d=dr(e);for(let[e,t]of d.files)u.set(e,t);u.set(Dn,Dr.encode(On));let f=new ce(Object.fromEntries([...u].map(([e,t])=>[`/${e}`,t])));try{await Gr(f,`/build`),await Gr(f,`/.wasm-oj`),r.trace(n,`filesystemPrepare`,`end`);let p=e.config.language===`cpp`,m=p?/\.(?:cc|cpp|cxx)$/:/\.c$/,h=e.files.filter(e=>m.test(e.path)).map(e=>e.path);h.includes(e.config.entry)||h.unshift(e.config.entry);let g=[...h,...d.sources,Dn],_=``,v=``,y=[],b=[],ee=0,te=0,x=0,S=0,C=0,w=0,T=0,ne=0,E=[],D=p?Lr(e):void 0,O=`/project/build/wasm-oj.pch`,re,ie=!1;if(D){let t=u.get(D),i;if(er(Or.decode(t))){ie=!0;let e=`wasm-oj.libcxx.hpp`;if(u.has(e))throw Error(`C++ projects using WASM-OJ's admitted libc++ PCH may not define reserved path '${e}'.`);u.set(e,t),await f.writeFile(`/${e}`,t),i=await Ir(c,n,r),x+=1,await f.writeFile(O.slice(8),i)}else{let s=await G.unitManifestKey(a,c,D,t),p=await V(JSON.stringify({baseKey:s,mode:`c++-header`})),m=await G.lookupPch(p,u);if(m)i=m,x+=1,await f.writeFile(O.slice(8),i);else{S+=1;let t=`/project/build/wasm-oj.pch.d`,s=Nn(l.cc1,a.placeholders,D,O);s.splice(s.length-1,0,...d.includeDirectories.flatMap(e=>[`-I`,e])),s.push(`-dependency-file`,t,`-MT`,O);let c=await Rr(o,s,f,r,n,O,t);if(E.push(...c.diagnostics),_+=c.stdout,v+=c.stderr,!c.pch||!c.dependency)return qr(e,_,v,1,`clang`,E);i=c.pch,await G.storePch(p,Gn(c.dependency),u,i)&&(C+=1)}}re={kind:`pch`,identity:`pch:${D}`,digest:await V(i)}}r.progress(n,`compiling`,`Compiling ${g.length} translation units with SDK-direct cc1`,.35),r.trace(n,`commandStart`,`start`),r.trace(n,`commandStart`,`end`),r.trace(n,`commandWait`,`start`),r.trace(n,`projectCompile`,`start`);for(let[t,i]of g.entries()){i===`.wasm-oj/determinism.c`&&(r.trace(n,`projectCompile`,`end`),r.trace(n,`runtimeShimCompile`,`start`));let s=`/project/build/${String(t).padStart(4,`0`)}.o`,p=`/project/build/${String(t).padStart(4,`0`)}.d`,m=u.get(i);if(!m)throw Error(`SDK-direct Clang is missing source bytes for '${i}'.`);let h=await G.unitManifestKey(a,c,i,m),g=i===`.wasm-oj/determinism.c`?void 0:re,x=g?await V(JSON.stringify({baseManifestKey:h,pch:g.digest})):h,S=g?[g]:[],C=await G.lookup(x,u,S);if(C){await f.writeFile(s.slice(8),C),ee+=1,y.push(s),b.push({kind:`object`,identity:i,bytes:C});continue}let w=Mn(l.cc1,a.placeholders,i,s);w.splice(w.length-1,0,...d.includeDirectories.flatMap(e=>[`-I`,e])),g&&w.splice(w.length-1,0,`-include-pch`,O,...ie?[`-fno-validate-pch`]:[]),w.push(`-dependency-file`,p,`-MT`,s);let T=await zr(o,w,f,r,n,i===`.wasm-oj/determinism.c`?`runtimeShimSpawn`:`projectSpawn`,i===`.wasm-oj/determinism.c`?`runtimeShimWait`:`projectWait`,i===`.wasm-oj/determinism.c`?`runtimeShimOutputReady`:`projectOutputReady`,s,p);if(E.push(...T.diagnostics),_+=T.stdout,v+=T.stderr,!T.object||!T.dependency)return r.trace(n,i===`.wasm-oj/determinism.c`?`runtimeShimCompile`:`projectCompile`,`end`),r.trace(n,`commandWait`,`end`),qr(e,_,v,1,`clang`,E);T.diagnostics.length===0&&await G.store(x,Gn(T.dependency),u,T.object,S)&&(te+=1),y.push(s),b.push({kind:`object`,identity:i,bytes:T.object})}r.trace(n,`runtimeShimCompile`,`end`),r.progress(n,`linking`,`Linking SDK-direct Clang objects`,.8),r.trace(n,`link`,`start`);let ae=`/project/build/app.wasm`,oe=Pn(l.link,a.placeholders,y,ae),se=await V(JSON.stringify({pins:a.sourceSha256,package:P,target:e.config.target,arguments:l.link})),k=await G.lookupLink(se,b),ce=``,le=``;if(k)w+=1;else{T+=1;let e=await Br(s,oe,f,r,n,`linkSpawn`,`linkWait`,`linkOutputReady`,ae);ce=e.stdout,le=e.stderr,k=e.value,k&&await G.storeLink(se,b,k)&&(ne+=1)}return r.trace(n,`link`,`end`),r.trace(n,`commandWait`,`end`),_+=ce,v+=le,k?(r.progress(n,`linking`,`Reading linked WebAssembly module`,.95),r.trace(n,`artifactReadback`,`start`),r.trace(n,`artifactReadback`,`end`),{success:!0,diagnostics:E,artifact:{kind:`wasm`,wasmOjContract:2,id:crypto.randomUUID(),projectId:e.id,cacheKey:t,name:`${e.name}.wasm`,language:e.config.language,target:e.config.target,optimization:e.config.optimization,createdAt:Date.now(),durationMs:performance.now()-i,size:k.byteLength,toolchains:z(e.config.language),costProfile:pn(e.config.language,e.config.target,e.config.optimization),...e.dependencies===void 0?{}:{dependencyLockSha256:e.dependencies.lockSha256},bytes:k},stdout:_,stderr:v,cacheHit:!1,buildGraph:{hits:{pch:x,object:ee,"link-result":w},misses:{pch:S,object:g.length-ee,"link-result":T},stores:{pch:C,object:te,"link-result":ne}}}):qr(e,_,v,1,`wasm-ld`,E)}finally{f.free()}}function jr(){return G.exportState()}function Mr(e){return G.restoreState(e)}async function Nr(){let e=W;if(W=void 0,!e)return;let{pkg:t,compiler:n,linker:r}=await e;n.free(),r.free(),t.free()}async function Pr(e,t){if(W){for(let n of[`toolchainFetch`,`toolchainDecode`,`toolchainLoad`])t.trace(e,n,`start`),t.trace(e,n,`end`);return W}W=(async()=>{t.trace(e,`toolchainFetch`,`start`);let[n,r]=await Promise.all([t.loadToolchainAsset(ze),t.loadToolchainFile(Be)]);t.trace(e,`toolchainFetch`,`end`),t.trace(e,`toolchainDecode`,`start`);let i=await jn(r),a=await V(n);if(a!==`21ded33b9c6d4e1aaad5528c940bdaf6c3e84be77ea8f522f018ca7289a2a224`)throw Error(`Pinned Clang package digest mismatch: received ${a}.`);t.trace(e,`toolchainDecode`,`end`),t.trace(e,`toolchainLoad`,`start`);let o=await we.fromFile(n,t.runtime),s=Fr(o,i.command),c=Fr(o,i.linkerCommand);return t.trace(e,`toolchainLoad`,`end`),{pkg:o,pins:i,compiler:s,linker:c}})();try{return await W}catch(e){throw W=void 0,e}}function Fr(e,t){let n=e.commands[t];if(!n)throw Error(`The SDK-direct Clang package does not expose '${t}'.`);return n}async function Ir(e,t,n){Tr??=n.loadToolchainFile(He).then($n);let r=Er.get(e);r||(r=Tr.then(async r=>{let i=r.profiles[e];n.progress(t,`loading-toolchain`,`Loading admitted libc++ PCH (${e})`,.25);let a=await n.loadToolchainAsset(`/toolchains/${i.path}`);if(a.byteLength!==i.byteLength||await V(a)!==i.sha256)throw Error(`Pinned libc++ PCH '${e}' failed decompressed integrity verification.`);return a}),Er.set(e,r));try{return await r}catch(t){throw Er.delete(e),t}}function Lr(e){let t=e.files.map(e=>e.path).filter(e=>e.split(`/`).at(-1)===`wasm-oj.pch.hpp`);if(t.length>1)throw Error(`C++ projects may contain at most one wasm-oj.pch.hpp; received ${t.join(`, `)}.`);return t[0]}function Rr(e,t,n,r,i,a,o){let s=new ir;return Vr(e,t,n,r,i,`projectSpawn`,`projectWait`,`projectOutputReady`,async e=>{let[t,r]=await Promise.all([Kr(n,a),Kr(n,o)]),i=s.observe(t?.byteLength?t:void 0,performance.now());return i&&r?.byteLength&&Or.decode(r).endsWith(`
442
+ `)}function xr(e,t){let n=e.replaceAll(`-`,`_`);if(!/^[A-Za-z_][A-Za-z0-9_]*$/.test(n))throw Error(`Cargo dependency '${t}' has unsupported crate name '${e}'.`);return n}function Sr(e){return e.endsWith(`.rs`)||e.endsWith(`.md`)||e.endsWith(`.txt`)||e===`Cargo.toml`}function Cr(e,t,n){let r=e.match(/^\s*package\s+([A-Za-z_][A-Za-z0-9_]*)\b/m);if(!r)throw Error(`Go dependency '${t}' source '${n}' has no package declaration.`);return r[1]}function wr(e){let t=[],n=/\bimport\s*\(([\s\S]*?)\)/g;for(let r of e.matchAll(n))for(let e of r[1].matchAll(/(?:^|\n)\s*(?:[._A-Za-z][A-Za-z0-9_]*\s+)?["`]([^"`]+)["`]/g))t.push(e[1]);let r=e.replace(n,``);for(let e of r.matchAll(/\bimport\s+(?:[._A-Za-z][A-Za-z0-9_]*\s+)?["`]([^"`]+)["`]/g))t.push(e[1]);return t}let W,Tr;const Er=new Map,G=new Wn(67108864),Dr=new TextEncoder,Or=new TextDecoder,kr=55e3;async function Ar(e,t,n,r){if(e.config.target!==`wasip1`&&e.config.target!==`wasix`)throw Error(`The output-ready Clang compiler accepts only wasip1 or wasix targets.`);if(e.config.language!==`c`&&e.config.language!==`cpp`)throw Error(`The output-ready Clang compiler accepts only C and C++ projects.`);let i=performance.now();r.progress(n,`loading-toolchain`,`Loading pinned Clang 22 toolchain`,.15);let{pins:a,compiler:o,linker:s}=await Pr(n,r),c=`${e.config.language}-${e.config.optimization}`,l=a.configs[c];if(!l)throw Error(`The pinned Clang manifest has no '${c}' configuration.`);r.trace(n,`filesystemPrepare`,`start`);let u=new Map(e.files.map(e=>[e.path,Dr.encode(e.content)])),d=dr(e);for(let[e,t]of d.files)u.set(e,t);u.set(Dn,Dr.encode(On));let f=new ce(Object.fromEntries([...u].map(([e,t])=>[`/${e}`,t])));try{await Gr(f,`/build`),await Gr(f,`/.wasm-oj`),r.trace(n,`filesystemPrepare`,`end`);let p=e.config.language===`cpp`,m=p?/\.(?:cc|cpp|cxx)$/:/\.c$/,h=e.files.filter(e=>m.test(e.path)).map(e=>e.path);h.includes(e.config.entry)||h.unshift(e.config.entry);let g=[...h,...d.sources,Dn],_=``,v=``,y=[],b=[],ee=0,te=0,x=0,S=0,C=0,w=0,T=0,ne=0,E=[],D=p?Lr(e):void 0,O=`/project/build/wasm-oj.pch`,re,ie=!1;if(D){let t=u.get(D),i;if(er(Or.decode(t))){ie=!0;let e=`wasm-oj.libcxx.hpp`;if(u.has(e))throw Error(`C++ projects using WASM-OJ's admitted libc++ PCH may not define reserved path '${e}'.`);u.set(e,t),await f.writeFile(`/${e}`,t),i=await Ir(c,n,r),x+=1,await f.writeFile(O.slice(8),i)}else{let s=await G.unitManifestKey(a,c,D,t),p=await V(JSON.stringify({baseKey:s,mode:`c++-header`})),m=await G.lookupPch(p,u);if(m)i=m,x+=1,await f.writeFile(O.slice(8),i);else{S+=1;let t=`/project/build/wasm-oj.pch.d`,s=Nn(l.cc1,a.placeholders,D,O);s.splice(s.length-1,0,...d.includeDirectories.flatMap(e=>[`-I`,e])),s.push(`-dependency-file`,t,`-MT`,O);let c=await Rr(o,s,f,r,n,O,t);if(E.push(...c.diagnostics),_+=c.stdout,v+=c.stderr,!c.pch||!c.dependency)return qr(e,_,v,1,`clang`,E);i=c.pch,await G.storePch(p,Gn(c.dependency),u,i)&&(C+=1)}}re={kind:`pch`,identity:`pch:${D}`,digest:await V(i)}}r.progress(n,`compiling`,`Compiling ${g.length} translation units with SDK-direct cc1`,.35),r.trace(n,`commandStart`,`start`),r.trace(n,`commandStart`,`end`),r.trace(n,`commandWait`,`start`),r.trace(n,`projectCompile`,`start`);for(let[t,i]of g.entries()){i===`.wasm-oj/determinism.c`&&(r.trace(n,`projectCompile`,`end`),r.trace(n,`runtimeShimCompile`,`start`));let s=`/project/build/${String(t).padStart(4,`0`)}.o`,p=`/project/build/${String(t).padStart(4,`0`)}.d`,m=u.get(i);if(!m)throw Error(`SDK-direct Clang is missing source bytes for '${i}'.`);let h=await G.unitManifestKey(a,c,i,m),g=i===`.wasm-oj/determinism.c`?void 0:re,x=g?await V(JSON.stringify({baseManifestKey:h,pch:g.digest})):h,S=g?[g]:[],C=await G.lookup(x,u,S);if(C){await f.writeFile(s.slice(8),C),ee+=1,y.push(s),b.push({kind:`object`,identity:i,bytes:C});continue}let w=Mn(l.cc1,a.placeholders,i,s);w.splice(w.length-1,0,...d.includeDirectories.flatMap(e=>[`-I`,e])),g&&w.splice(w.length-1,0,`-include-pch`,O,...ie?[`-fno-validate-pch`]:[]),w.push(`-dependency-file`,p,`-MT`,s);let T=await zr(o,w,f,r,n,i===`.wasm-oj/determinism.c`?`runtimeShimSpawn`:`projectSpawn`,i===`.wasm-oj/determinism.c`?`runtimeShimWait`:`projectWait`,i===`.wasm-oj/determinism.c`?`runtimeShimOutputReady`:`projectOutputReady`,s,p);if(E.push(...T.diagnostics),_+=T.stdout,v+=T.stderr,!T.object||!T.dependency)return r.trace(n,i===`.wasm-oj/determinism.c`?`runtimeShimCompile`:`projectCompile`,`end`),r.trace(n,`commandWait`,`end`),qr(e,_,v,1,`clang`,E);T.diagnostics.length===0&&await G.store(x,Gn(T.dependency),u,T.object,S)&&(te+=1),y.push(s),b.push({kind:`object`,identity:i,bytes:T.object})}r.trace(n,`runtimeShimCompile`,`end`),r.progress(n,`linking`,`Linking SDK-direct Clang objects`,.8),r.trace(n,`link`,`start`);let ae=`/project/build/app.wasm`,oe=Pn(l.link,a.placeholders,y,ae,e.config.stackSizeBytes),se=await V(JSON.stringify({pins:a.sourceSha256,package:P,target:e.config.target,arguments:oe})),k=await G.lookupLink(se,b),ce=``,le=``;if(k)w+=1;else{T+=1;let e=await Br(s,oe,f,r,n,`linkSpawn`,`linkWait`,`linkOutputReady`,ae);ce=e.stdout,le=e.stderr,k=e.value,k&&await G.storeLink(se,b,k)&&(ne+=1)}return r.trace(n,`link`,`end`),r.trace(n,`commandWait`,`end`),_+=ce,v+=le,k?(r.progress(n,`linking`,`Reading linked WebAssembly module`,.95),r.trace(n,`artifactReadback`,`start`),r.trace(n,`artifactReadback`,`end`),{success:!0,diagnostics:E,artifact:{kind:`wasm`,wasmOjContract:2,id:crypto.randomUUID(),projectId:e.id,cacheKey:t,name:`${e.name}.wasm`,language:e.config.language,target:e.config.target,optimization:e.config.optimization,createdAt:Date.now(),durationMs:performance.now()-i,size:k.byteLength,toolchains:z(e.config.language),costProfile:pn(e.config.language,e.config.target,e.config.optimization),...e.dependencies===void 0?{}:{dependencyLockSha256:e.dependencies.lockSha256},bytes:k},stdout:_,stderr:v,cacheHit:!1,buildGraph:{hits:{pch:x,object:ee,"link-result":w},misses:{pch:S,object:g.length-ee,"link-result":T},stores:{pch:C,object:te,"link-result":ne}}}):qr(e,_,v,1,`wasm-ld`,E)}finally{f.free()}}function jr(){return G.exportState()}function Mr(e){return G.restoreState(e)}async function Nr(){let e=W;if(W=void 0,!e)return;let{pkg:t,compiler:n,linker:r}=await e;n.free(),r.free(),t.free()}async function Pr(e,t){if(W){for(let n of[`toolchainFetch`,`toolchainDecode`,`toolchainLoad`])t.trace(e,n,`start`),t.trace(e,n,`end`);return W}W=(async()=>{t.trace(e,`toolchainFetch`,`start`);let[n,r]=await Promise.all([t.loadToolchainAsset(ze),t.loadToolchainFile(Be)]);t.trace(e,`toolchainFetch`,`end`),t.trace(e,`toolchainDecode`,`start`);let i=await jn(r),a=await V(n);if(a!==`21ded33b9c6d4e1aaad5528c940bdaf6c3e84be77ea8f522f018ca7289a2a224`)throw Error(`Pinned Clang package digest mismatch: received ${a}.`);t.trace(e,`toolchainDecode`,`end`),t.trace(e,`toolchainLoad`,`start`);let o=await we.fromFile(n,t.runtime),s=Fr(o,i.command),c=Fr(o,i.linkerCommand);return t.trace(e,`toolchainLoad`,`end`),{pkg:o,pins:i,compiler:s,linker:c}})();try{return await W}catch(e){throw W=void 0,e}}function Fr(e,t){let n=e.commands[t];if(!n)throw Error(`The SDK-direct Clang package does not expose '${t}'.`);return n}async function Ir(e,t,n){Tr??=n.loadToolchainFile(He).then($n);let r=Er.get(e);r||(r=Tr.then(async r=>{let i=r.profiles[e];n.progress(t,`loading-toolchain`,`Loading admitted libc++ PCH (${e})`,.25);let a=await n.loadToolchainAsset(`/toolchains/${i.path}`);if(a.byteLength!==i.byteLength||await V(a)!==i.sha256)throw Error(`Pinned libc++ PCH '${e}' failed decompressed integrity verification.`);return a}),Er.set(e,r));try{return await r}catch(t){throw Er.delete(e),t}}function Lr(e){let t=e.files.map(e=>e.path).filter(e=>e.split(`/`).at(-1)===`wasm-oj.pch.hpp`);if(t.length>1)throw Error(`C++ projects may contain at most one wasm-oj.pch.hpp; received ${t.join(`, `)}.`);return t[0]}function Rr(e,t,n,r,i,a,o){let s=new ir;return Vr(e,t,n,r,i,`projectSpawn`,`projectWait`,`projectOutputReady`,async e=>{let[t,r]=await Promise.all([Kr(n,a),Kr(n,o)]),i=s.observe(t?.byteLength?t:void 0,performance.now());return i&&r?.byteLength&&Or.decode(r).endsWith(`
443
443
  `)?{pch:i,dependency:r}:/\d+ errors? generated\.\s*$/.test(e)?{}:void 0}).then(e=>({...e.value,diagnostics:bn(`${e.stderr}\n${e.stdout}`),stdout:e.stdout,stderr:e.stderr}))}function zr(e,t,n,r,i,a,o,s,c,l){return Vr(e,t,n,r,i,a,o,s,async e=>{let[t,r]=await Promise.all([Wr(n,c),Kr(n,l)]);return t&&r?.byteLength&&Or.decode(r).endsWith(`
444
- `)?{object:t,dependency:r}:/\d+ errors? generated\.\s*$/.test(e)?{}:void 0}).then(e=>({...e.value,diagnostics:bn(`${e.stderr}\n${e.stdout}`),stdout:e.stdout,stderr:e.stderr}))}function Br(e,t,n,r,i,a,o,s,c){return Vr(e,t,n,r,i,a,o,s,async e=>await Wr(n,c)||(/(?:wasm-ld|lld): error:/i.test(e)?null:void 0)).then(e=>({...e,value:e.value??void 0}))}async function Vr(e,t,n,r,i,a,o,s,c){r.trace(i,a,`start`);let l=await e.run({args:t,cwd:`/project`,env:{PATH:`/bin`,SOURCE_DATE_EPOCH:`946684800`,TZ:`UTC`,LC_ALL:`C`},mount:{"/project":n}});r.trace(i,a,`end`),r.trace(i,o,`start`),r.trace(i,s,`start`);let u=Hr(l.stdout),d=Hr(l.stderr),f=performance.now()+kr;try{for(;performance.now()<f;){let e=await c(d.text());if(e!==void 0)return await new Promise(e=>setTimeout(e,0)),{value:e,stdout:u.text(),stderr:d.text()};await new Promise(e=>setTimeout(e,5))}throw Error(`Compiler stage did not produce a complete output within ${kr} ms.`)}finally{r.trace(i,s,`end`),r.trace(i,o,`end`),await Promise.all([u.cancel(),d.cancel()]),l.free()}}function Hr(e){let t=e.getReader(),n=[];return(async()=>{try{for(;;){let e=await t.read();if(e.done)return;let r=e.value instanceof Uint8Array?e.value:new Uint8Array(e.value);n.push(r.slice())}}catch{}})(),{text:()=>Or.decode(Ur(n)),cancel:async()=>{try{await t.cancel()}catch{}}}}function Ur(e){let t=new Uint8Array(e.reduce((e,t)=>e+t.byteLength,0)),n=0;for(let r of e)t.set(r,n),n+=r.byteLength;return t}async function Wr(e,t){let n=await Kr(e,t);if(!n||n.byteLength<=8)return;let r=new Uint8Array(n.byteLength);return r.set(n),WebAssembly.validate(r.buffer)?r:void 0}async function Gr(e,t){try{await e.createDir(t)}catch(e){if(!String(e).toLowerCase().includes(`exist`))throw e}}async function Kr(e,t){let n=t.startsWith(`/project/`)?t.slice(8):t;try{return await e.readFile(n)}catch{return}}function qr(e,t,n,r,i,a){return{success:!1,diagnostics:Sn(a??bn(`${n}\n${t}`),{file:e.config.entry,source:i,message:n.trim()||`${i} exited with code ${r}.`}),stdout:t,stderr:n,cacheHit:!1}}const Jr=new TextEncoder;let Yr,Xr;function Zr(e){Xr=e}function K(e,t,n,r){q().progress(e,t,n,r)}function q(){if(!Xr)throw Error(`Wasmer compiler host is not configured.`);return Xr}function Qr(){return q().getRuntime()}async function $r(){Yr??=q().loadToolchainAsset(st);try{return we.fromWasm(await Yr,Qr())}catch(e){throw Yr=void 0,e}}function ei(e,t,n,r,i,a){return{wasmOjContract:2,id:crypto.randomUUID(),projectId:e.id,cacheKey:t,name:`${e.name}.${e.config.target===`wasip1`?`wasm`:`wasix.wasm`}`,language:e.config.language,target:e.config.target,optimization:e.config.optimization,createdAt:Date.now(),durationMs:performance.now()-n,size:r,toolchains:i,costProfile:pn(e.config.language,e.config.target,e.config.optimization,a),...e.dependencies===void 0?{}:{dependencyLockSha256:e.dependencies.lockSha256}}}async function ti(e,t,n){let r=performance.now();K(n,`compiling`,`Compiling with rustc ${I}`,.2);let i=fr(e),a=await q().compileRust({entry:e.config.entry,files:[...e.files,...i.files],optimization:e.config.optimization,dependencies:i.crates,rootExterns:i.roots});if(!a.success||!a.wasm)return{success:!1,diagnostics:Sn(a.diagnostics,{file:e.config.entry,source:`rustc`,message:a.stderr.trim()||`rustc failed without a diagnostic.`}),stdout:a.stdout,stderr:a.stderr,cacheHit:!1};let o=a.wasm,s={kind:`wasm`,...ei(e,t,r,o.byteLength,z(`rust`)),bytes:o};return{success:!0,diagnostics:a.diagnostics,artifact:s,stdout:a.stdout,stderr:a.stderr,cacheHit:!1}}function ni(e){return Object.values(e).reduce((e,t)=>e+(typeof t==`string`?Jr.encode(t).byteLength:t.byteLength),0)}async function ri(e,t,n){let r=performance.now(),i=lr(e);K(n,`compiling`,`Packaging Python sources`,.55);let a=Object.fromEntries(e.files.map(e=>[e.path,e.content]));Object.assign(a,i),a[`.wasm-oj/deterministic_runner.py`]=kn;let o=e.config.entry,s=gn(e,Ze,`python`,o);a[`wasm-oj.manifest.json`]=s;let c=_n(a);return{success:!0,diagnostics:[],artifact:{kind:`runtime-bundle`,...ei(e,t,r,ni(c),z(`python`)),name:`${e.name}.python-${e.config.target}.json`,runtimePackage:Ze,command:`python`,entry:o,files:c,manifest:s},stdout:``,stderr:``,cacheHit:!1}}async function ii(e,t,n){let r=performance.now();K(n,`compiling`,`Compiling with Go ${L}`,.3);let i=pr(e),a=await q().compileGo({entry:e.config.entry,files:e.files,dependencyFiles:i.files,optimization:e.config.optimization,dependencies:i.packages});if(!a.success||!a.wasm)return{success:!1,diagnostics:Sn(a.diagnostics,{file:e.config.entry,source:`go`,message:a.stderr.trim()||`Go compilation failed without a diagnostic.`}),stdout:a.stdout,stderr:a.stderr,cacheHit:!1};let o={kind:`wasm`,...ei(e,t,r,a.wasm.byteLength,z(`go`)),bytes:a.wasm};return{success:!0,diagnostics:a.diagnostics,artifact:o,stdout:a.stdout,stderr:a.stderr,cacheHit:!1}}async function ai(e,t,n){let r=performance.now(),i=e.files.find(t=>t.path===e.config.entry);if(!i||!i.path.endsWith(`.java`))return{success:!1,diagnostics:[{severity:`error`,message:`The Java entry must be a .java source file.`,file:e.config.entry,line:1,column:1,source:`project`}],stdout:``,stderr:``,cacheHit:!1};K(n,`compiling`,`Compiling Java ${i.path}`,.3);let a=await q().compileJava({entry:e.config.entry,files:e.files,optimization:e.config.optimization});if(!a.success||!a.wasm)return{success:!1,diagnostics:Sn(a.diagnostics,{file:e.config.entry,source:`java`,message:a.stderr.trim()||`Java compilation failed without a diagnostic.`}),stdout:a.stdout,stderr:a.stderr,cacheHit:!1};let o={kind:`wasm`,...ei(e,t,r,a.wasm.byteLength,z(`java`),Pt(`java`)),bytes:a.wasm};return{success:!0,diagnostics:a.diagnostics,artifact:o,stdout:a.stdout,stderr:a.stderr,cacheHit:!1}}function oi(e){return e.endsWith(`.ts`)?e.slice(0,-3)+`.js`:e}function si(e){let t=e.config.language===`typescript`?`.ts`:`.js`;return e.files.filter(e=>e.path.endsWith(t))}function ci(e){return si(e).filter(e=>!e.path.endsWith(`.d.ts`))}async function li(e,t){let n=si(e),r=ci(e),i=ur(e);K(t,`loading-toolchain`,`Loading TypeScript ${ot}/WASI`);let a=(await $r()).entrypoint;if(!a)throw Error(`The TypeScript/WASI compiler has no executable entrypoint.`);let o=r.map(e=>oi(e.path)),s=`/project/.wasm-oj/quickjs.d.ts`,c=await a.run({stdin:JSON.stringify({files:{...Object.fromEntries(e.files.map(e=>[`/project/${e.path}`,e.content])),...Object.fromEntries(Object.entries(i).filter(([,e])=>typeof e==`string`).map(([e,t])=>[`/project/${e}`,t])),[s]:Cn+wn+Tn},sources:[s,...n.map(e=>`/project/${e.path}`),...Object.entries(i).filter(([e,t])=>e.endsWith(`.d.ts`)&&typeof t==`string`).map(([e])=>`/project/${e}`)],outputs:o.map(e=>`/project/build/${e}`)})}),l=await cn(c,un,{collectStderr:!0}).finally(()=>c.free()),u=l.message,d={};if(u)for(let e of o){let t=u.files[`/project/build/${e}`];t!==void 0&&(d[e]=t)}return Object.assign(d,i),{files:d,stderr:l.stderr,response:u}}async function ui(e,t,n){let r=performance.now();if(!ci(e).some(t=>t.path===e.config.entry))return{success:!1,diagnostics:[{severity:`error`,message:`The ${e.config.language===`typescript`?`.ts`:`.js`} entry file is not a supported executable source.`,file:e.config.entry,line:1,column:1,source:`project`}],stdout:``,stderr:``,cacheHit:!1};let i,a=[],o=``;if(e.config.language===`javascript`)K(n,`compiling`,`Preparing JavaScript modules`,.5),i={...Object.fromEntries(ci(e).map(e=>[e.path,e.content])),...ur(e)};else{K(n,`compiling`,`Compiling TypeScript with TypeScript/WASI`,.5);let t=await li(e,n);i=t.files,o=t.stderr,a=xn(t.response?.diagnostics??``);let r=ci(e).every(e=>Object.hasOwn(i,oi(e.path)));if(!t.response||t.response.status!==0||!r||a.some(e=>e.severity===`error`))return{success:!1,diagnostics:Sn(a,{file:e.config.entry,source:`typescript`,message:o.trim()||t.response?.diagnostics.trim()||`TypeScript 7.0.2 did not return every compiled output.`}),stdout:``,stderr:o,cacheHit:!1}}let s=oi(e.config.entry),c=gn(e,rt,`qjs`,s);i[`wasm-oj.manifest.json`]=c;let l=_n(i),u={kind:`runtime-bundle`,...ei(e,t,r,ni(l),z(e.config.language)),name:`${e.name}.${e.config.language===`typescript`?`typescript`:`javascript`}-${e.config.target}.json`,runtimePackage:rt,command:`qjs`,entry:s,files:l,manifest:c};return{success:!0,diagnostics:a,artifact:u,stdout:``,stderr:o,cacheHit:!1}}async function di(e,t,n){let r={...e,files:zt(e.files)};if(sr(r),K(n,`checking`,`Validating project configuration`,.05),!r.files.some(e=>e.path===r.config.entry))return{success:!1,diagnostics:[{severity:`error`,message:`Configured entry file does not exist.`,file:r.config.entry,line:1,column:1,source:`project`}],stdout:``,stderr:``,cacheHit:!1};if(r.config.language===`c`||r.config.language===`cpp`){let e=q();return Ar(r,t,n,{runtime:e.getRuntime(),loadToolchainAsset:e.loadToolchainAsset,loadToolchainFile:e.loadToolchainFile,progress:e.progress,trace:e.trace})}return J.driver(r.config.language).build({project:r,cacheKey:t,requestId:n})}const J=new En;J.register({id:`rustc`,languages:[`rust`],build:({project:e,cacheKey:t,requestId:n})=>ti(e,t,n)}),J.register({id:`cpython`,languages:[`python`],build:({project:e,cacheKey:t,requestId:n})=>ri(e,t,n)}),J.register({id:`typescript`,languages:[`javascript`,`typescript`],build:({project:e,cacheKey:t,requestId:n})=>ui(e,t,n)}),J.register({id:`go`,languages:[`go`],build:({project:e,cacheKey:t,requestId:n})=>ii(e,t,n)}),J.register({id:`teavm-java`,languages:[`java`],build:({project:e,cacheKey:t,requestId:n})=>ai(e,t,n)});function fi(){Yr=void 0}function pi(e){return(e.config.target===`wasip1`||e.config.target===`wasix`)&&(e.config.language===`c`||e.config.language===`cpp`)}function mi(e){if(!pi(e))return 0;let t=e.config.language===`cpp`?/\.(?:cc|cpp|cxx)$/:/\.c$/,n=new Set(e.files.filter(e=>t.test(e.path)).map(e=>e.path));n.add(e.config.entry);let r=e.config.language===`cpp`?e.files.find(e=>e.path.split(`/`).at(-1)===`wasm-oj.pch.hpp`):void 0,i=r&&!er(r.content)?1:0;return n.size+i+2}function hi(e){let t=mi(e);if(t>8)throw Error(`The browser Clang project requires ${t} compiler stages; the verified per-Worker limit is 8.`);return t}const gi=`manifests`,Y=`metadata`,_i=`blobs`,X=`clang`,vi=new TextEncoder;var yi=class{adapter;restoration;ready=!1;persistedGeneration=0;constructor(e){this.adapter=e}async ensureLoaded(){if(!this.ready){this.restoration??=this.loadOnce();try{await this.restoration}catch(e){throw this.restoration=void 0,e}}}async persistIfDirty(){if(!this.ready)return!1;let e=this.adapter.capture(),t=e.manifest.generation;if(t===this.persistedGeneration)return!1;if(t<this.persistedGeneration)throw Error(`Clang build graph generation moved backwards within one compiler Worker.`);let n=await this.adapter.save(e);return this.persistedGeneration=t,n}async loadOnce(){let e=await this.adapter.load();e&&await this.adapter.restore(e);let t=this.adapter.capture().manifest.generation;if(e&&t!==e.manifest.generation)throw Error(`Restored Clang build graph generation does not match persisted state.`);this.persistedGeneration=t,this.ready=!0}};async function bi(){let e=await Si();try{let t=e.transaction([gi,Y,_i],`readonly`),n=t.objectStore(gi).get(X),r=t.objectStore(Y).get(X),[i,a]=await Promise.all([Ci(n),Ci(r)]);if(i===void 0&&a===void 0){await wi(t);return}let o=Oi(i),s=ki(a);if(s.generation!==o.generation)throw Error(`Persisted Clang build graph generation metadata does not match its manifest.`);let c=[...new Set(o.entries.map(e=>e.outputDigest))].sort(),l=t.objectStore(_i),u=await Promise.all(c.map(e=>Ci(l.get(e))));await wi(t);let d=u.map((e,t)=>Ai(e,c[t]));return Mi(ji(o),d,s),await Ti(e,s),{manifest:ji(o),blobs:d.map(({digest:e,bytes:t})=>({digest:e,bytes:t}))}}finally{e.close()}}async function xi(e){let t=Ei(e),n=Di(e),r=await Si();try{let e=r.transaction([gi,Y,_i],`readwrite`),i=e.objectStore(Y),a=await Ci(i.get(X));if(a!==void 0&&ki(a).generation===t.generation)return await wi(e),!1;let o=e.objectStore(_i),s=new Set((await Ci(o.getAllKeys())).map(String)),c=new Set(n.map(e=>e.digest));for(let e of n)s.has(e.digest)||o.add({digest:e.digest,byteLength:e.bytes.byteLength,bytes:e.bytes});for(let e of s)c.has(e)||o.delete(e);let l={id:X,...t},u=Ni(n),d=Pi(t),f=Fi(u,d);return e.objectStore(gi).put(l),i.put({id:X,generation:t.generation,blobBytes:u,manifestBytes:d,byteLength:f,lastAccessedAt:Date.now()}),await wi(e),!0}finally{r.close()}}function Si(){return new Promise((e,t)=>{let n=indexedDB.open(Fe.incrementalBuildCache,2);n.addEventListener(`upgradeneeded`,()=>{let e=n.result;for(let t of[...e.objectStoreNames])e.deleteObjectStore(t);e.createObjectStore(gi,{keyPath:`id`}),e.createObjectStore(Y,{keyPath:`id`}),e.createObjectStore(_i,{keyPath:`digest`})}),n.addEventListener(`success`,()=>e(n.result),{once:!0}),n.addEventListener(`error`,()=>{t(n.error??Error(`Unable to open the incremental build cache.`))},{once:!0}),n.addEventListener(`blocked`,()=>{t(Error(`Incremental build cache open is blocked by another tab.`))},{once:!0})})}function Ci(e){return new Promise((t,n)=>{e.addEventListener(`success`,()=>t(e.result),{once:!0}),e.addEventListener(`error`,()=>n(e.error??Error(`IndexedDB request failed.`)),{once:!0})})}function wi(e){return new Promise((t,n)=>{e.addEventListener(`complete`,()=>t(),{once:!0}),e.addEventListener(`abort`,()=>n(e.error??Error(`IndexedDB transaction aborted.`)),{once:!0}),e.addEventListener(`error`,()=>n(e.error??Error(`IndexedDB transaction failed.`)),{once:!0})})}async function Ti(e,t){let n=e.transaction(Y,`readwrite`);n.objectStore(Y).put({...t,lastAccessedAt:Date.now()}),await wi(n)}function Ei(e){if(!e||typeof e!=`object`||Array.isArray(e)||Object.keys(e).sort().join(`,`)!==`blobs,manifest`)throw Error(`Clang build graph state has an invalid shape.`);return ji(Oi({id:X,...e.manifest}))}function Di(e){if(!Array.isArray(e.blobs))throw Error(`Clang build graph state blobs must be an array.`);let t=e.blobs.map(e=>{if(!e||typeof e!=`object`||Array.isArray(e)||Object.keys(e).sort().join(`,`)!==`bytes,digest`)throw Error(`Clang build graph state contains a malformed blob.`);if(typeof e.digest!=`string`||!/^[0-9a-f]{64}$/.test(e.digest)||!(e.bytes instanceof Uint8Array))throw Error(`Clang build graph state contains invalid blob metadata.`);return e});for(let e=0;e<t.length;e+=1)if(e>0&&t[e-1].digest>=t[e].digest)throw Error(`Clang build graph state blobs are not canonical or contain duplicates.`);let n=new Set(e.manifest.entries.map(e=>e.outputDigest));if(n.size!==t.length||t.some(e=>!n.has(e.digest)))throw Error(`Clang build graph state blobs do not exactly match its manifest references.`);return t}function Oi(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Persisted Clang build graph manifest has an invalid shape.`);let t=e;if(Object.keys(t).sort().join(`,`)!==`entries,generation,id,schema,version`||t.id!==X||t.schema!==j.incrementalBuildGraph||t.version!==2||!Number.isSafeInteger(t.generation)||t.generation<0||!Array.isArray(t.entries))throw Error(`Persisted Clang build graph manifest does not use the active storage contract.`);return t}function ki(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Persisted Clang build graph metadata has an invalid shape.`);let t=e;if(Object.keys(t).sort().join(`,`)!==`blobBytes,byteLength,generation,id,lastAccessedAt,manifestBytes`||t.id!==X||!Z(t.generation)||!Z(t.blobBytes)||!Z(t.manifestBytes)||!Z(t.byteLength)||!Z(t.lastAccessedAt)||Fi(t.blobBytes,t.manifestBytes)!==t.byteLength)throw Error(`Persisted Clang build graph metadata has invalid storage accounting.`);return t}function Ai(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Persisted Clang build graph blob '${t}' is missing.`);let n=e;if(Object.keys(n).sort().join(`,`)!==`byteLength,bytes,digest`||n.digest!==t||!Z(n.byteLength)||!(n.bytes instanceof Uint8Array)||n.bytes.byteLength!==n.byteLength)throw Error(`Persisted Clang build graph blob '${t}' has invalid metadata.`);return n}function ji(e){return{schema:e.schema,version:e.version,generation:e.generation,entries:e.entries}}function Mi(e,t,n){if(Ni(t)!==n.blobBytes||Pi(e)!==n.manifestBytes)throw Error(`Persisted Clang build graph storage accounting does not match its records.`)}function Ni(e){let t=0,n=new Set;for(let r of e){if(n.has(r.digest))throw Error(`Clang build graph repeats blob '${r.digest}'.`);n.add(r.digest),t=Fi(t,r.bytes.byteLength)}return t}function Pi(e){return vi.encode(JSON.stringify(e)).byteLength}function Fi(e,t){let n=e+t;if(!Number.isSafeInteger(n)||n<0)throw Error(`Incremental build graph byte length exceeds the safe integer range.`);return n}function Z(e){return Number.isSafeInteger(e)&&e>=0}Object.freeze([`wasi_snapshot_preview1.random_get`,`wasi_snapshot_preview1.clock_time_get`]),Object.freeze({version:I,packageAsset:lt,packageCompressedSha256:dt,packageSha256:ft,manifestAsset:ut,manifestSha256:pt,target:`wasm32-wasip1-threads`,edition:`2024`});var Ii=``+new URL(`rustc-stage.worker-BJ5u-1c2.js`,import.meta.url).href,Li=``+new URL(`go-stage.worker-BWRH2mts.js`,import.meta.url).href;`${L.split(`.`).slice(0,2).join(`.`)}`,Object.freeze({version:L,target:`wasip1/wasm`,packageAsset:mt,packageCompressedSha256:_t,packageSha256:vt,manifestAsset:ht,manifestSha256:yt,standardLibraryAsset:gt,standardLibraryCompressedSha256:bt,standardLibrarySha256:xt,compilerSha256:St,linkerSha256:Ct});var Ri=``+new URL(`java-stage.worker-COWR2SIP.js`,import.meta.url).href;Object.freeze({version:wt,package:Tt,compilerAsset:Et,compilerSha256:kt,compileClasslibAsset:Dt,compileClasslibSha256:At,runtimeClasslibAsset:Ot,runtimeClasslibSha256:jt});var zi=class{options;worker;pending;fault;disposed=!1;closing=!1;workerTerminated=!1;constructor(e){if(!Number.isFinite(e.timeoutMs)||e.timeoutMs<=0)throw RangeError(`A persistent isolated stage requires a positive finite timeout.`);if(!e.stageLabel.trim())throw Error(`A persistent isolated stage requires a non-empty label.`);this.options=e,this.worker=e.createWorker(),this.worker.addEventListener(`message`,this.onMessage),this.worker.addEventListener(`error`,this.onError),this.worker.addEventListener(`messageerror`,this.onMessageError)}run(e){if(this.disposed)throw Error(`The persistent ${this.options.stageLabel} stage is disposed.`);if(this.closing)throw Error(`The persistent ${this.options.stageLabel} stage is shutting down.`);if(this.fault)throw this.fault;if(this.pending)throw Error(`The persistent ${this.options.stageLabel} stage accepts one request at a time.`);return new Promise((t,n)=>{let r=setTimeout(()=>{this.fail(Error(`The persistent ${this.options.stageLabel} stage exceeded ${this.options.timeoutMs} ms.`))},this.options.timeoutMs);this.pending={kind:`run`,resolve:t,reject:n,timer:r};try{this.worker.postMessage(e)}catch(e){this.fail(e instanceof Error?e:Error(String(e)))}})}shutdown(e){if(this.disposed)throw Error(`The persistent ${this.options.stageLabel} stage is disposed.`);if(this.closing)throw Error(`The persistent ${this.options.stageLabel} stage is already shutting down.`);if(this.fault)throw this.fault;if(this.pending)throw Error(`The persistent ${this.options.stageLabel} stage cannot shut down during a request.`);return this.closing=!0,new Promise((t,n)=>{let r=setTimeout(()=>{this.fail(Error(`The persistent ${this.options.stageLabel} shutdown exceeded ${this.options.timeoutMs} ms.`))},this.options.timeoutMs);this.pending={kind:`shutdown`,resolve:t,reject:n,timer:r};try{this.worker.postMessage(e)}catch(e){this.fail(e instanceof Error?e:Error(String(e)))}})}dispose(){this.disposed||(this.disposed=!0,this.detach(),this.terminateWorker(),this.rejectPending(Error(`The persistent ${this.options.stageLabel} stage was disposed.`)))}onMessage=e=>{let t=e.data;if(!Bi(t)){this.fail(Error(`The persistent ${this.options.stageLabel} worker returned an invalid response.`));return}let n=this.pending;if(!n){this.fail(Error(`The persistent ${this.options.stageLabel} worker returned an unsolicited response.`));return}if(n.kind===`shutdown`){if(t.type!==`shutdown-complete`){this.fail(Error(t.type===`error`?t.message:`The persistent ${this.options.stageLabel} worker returned an invalid shutdown response.`));return}let e=this.takePending();if(!e||e.kind!==`shutdown`)return;this.disposed=!0,this.detach(),this.terminateWorker(),e.resolve();return}if(t.type===`shutdown-complete`){this.fail(Error(`The persistent ${this.options.stageLabel} worker shut down during an active request.`));return}let r=this.takePending();if(!r||r.kind!==`run`)return;if(t.type===`result`){r.resolve(t.result);return}let i=Error(t.message);t.stack!==void 0&&(i.stack=t.stack),r.reject(i)};onError=e=>{e.preventDefault(),this.fail(Error(Vi(e,`The persistent ${this.options.stageLabel} worker crashed.`)))};onMessageError=()=>{this.fail(Error(`The persistent ${this.options.stageLabel} worker returned an unreadable response.`))};fail(e){this.fault||this.disposed||(this.fault=e,this.detach(),this.terminateWorker(),this.rejectPending(e))}takePending(){let e=this.pending;if(e)return this.pending=void 0,clearTimeout(e.timer),e}rejectPending(e){this.takePending()?.reject(e)}detach(){this.worker.removeEventListener(`message`,this.onMessage),this.worker.removeEventListener(`error`,this.onError),this.worker.removeEventListener(`messageerror`,this.onMessageError)}terminateWorker(){this.workerTerminated||(this.workerTerminated=!0,this.worker.terminate())}};function Bi(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.type===`result`?Object.hasOwn(t,`result`):t.type===`shutdown-complete`?Object.keys(t).length===1:t.type===`error`&&typeof t.message==`string`&&(t.stack===void 0||typeof t.stack==`string`)}function Vi(e,t){let n=e.message||t,r=e.filename?`${e.filename}${e.lineno>0?`:${e.lineno}${e.colno>0?`:${e.colno}`:``}`:``}`:``;return r?`${n} (${r})`:n}function Hi(e,t={}){let n=Ui(e);try{return new Worker(n.url,{...t,type:`module`})}finally{n.revoke()}}function Ui(e){let t=Wi(),n=Gi(e),r=new Blob([`const pendingMessages = [];
444
+ `)?{object:t,dependency:r}:/\d+ errors? generated\.\s*$/.test(e)?{}:void 0}).then(e=>({...e.value,diagnostics:bn(`${e.stderr}\n${e.stdout}`),stdout:e.stdout,stderr:e.stderr}))}function Br(e,t,n,r,i,a,o,s,c){return Vr(e,t,n,r,i,a,o,s,async e=>await Wr(n,c)||(/(?:wasm-ld|lld): error:/i.test(e)?null:void 0)).then(e=>({...e,value:e.value??void 0}))}async function Vr(e,t,n,r,i,a,o,s,c){r.trace(i,a,`start`);let l=await e.run({args:t,cwd:`/project`,env:{PATH:`/bin`,SOURCE_DATE_EPOCH:`946684800`,TZ:`UTC`,LC_ALL:`C`},mount:{"/project":n}});r.trace(i,a,`end`),r.trace(i,o,`start`),r.trace(i,s,`start`);let u=Hr(l.stdout),d=Hr(l.stderr),f=performance.now()+kr;try{for(;performance.now()<f;){let e=await c(d.text());if(e!==void 0)return await new Promise(e=>setTimeout(e,0)),{value:e,stdout:u.text(),stderr:d.text()};await new Promise(e=>setTimeout(e,5))}throw Error(`Compiler stage did not produce a complete output within ${kr} ms.`)}finally{r.trace(i,s,`end`),r.trace(i,o,`end`),await Promise.all([u.cancel(),d.cancel()]),l.free()}}function Hr(e){let t=e.getReader(),n=[];return(async()=>{try{for(;;){let e=await t.read();if(e.done)return;let r=e.value instanceof Uint8Array?e.value:new Uint8Array(e.value);n.push(r.slice())}}catch{}})(),{text:()=>Or.decode(Ur(n)),cancel:async()=>{try{await t.cancel()}catch{}}}}function Ur(e){let t=new Uint8Array(e.reduce((e,t)=>e+t.byteLength,0)),n=0;for(let r of e)t.set(r,n),n+=r.byteLength;return t}async function Wr(e,t){let n=await Kr(e,t);if(!n||n.byteLength<=8)return;let r=new Uint8Array(n.byteLength);return r.set(n),WebAssembly.validate(r.buffer)?r:void 0}async function Gr(e,t){try{await e.createDir(t)}catch(e){if(!String(e).toLowerCase().includes(`exist`))throw e}}async function Kr(e,t){let n=t.startsWith(`/project/`)?t.slice(8):t;try{return await e.readFile(n)}catch{return}}function qr(e,t,n,r,i,a){return{success:!1,diagnostics:Sn(a??bn(`${n}\n${t}`),{file:e.config.entry,source:i,message:n.trim()||`${i} exited with code ${r}.`}),stdout:t,stderr:n,cacheHit:!1}}const Jr=new TextEncoder;let Yr,Xr;function Zr(e){Xr=e}function K(e,t,n,r){q().progress(e,t,n,r)}function q(){if(!Xr)throw Error(`Wasmer compiler host is not configured.`);return Xr}function Qr(){return q().getRuntime()}async function $r(){Yr??=q().loadToolchainAsset(st);try{return we.fromWasm(await Yr,Qr())}catch(e){throw Yr=void 0,e}}function ei(e,t,n,r,i,a){return{wasmOjContract:2,id:crypto.randomUUID(),projectId:e.id,cacheKey:t,name:`${e.name}.${e.config.target===`wasip1`?`wasm`:`wasix.wasm`}`,language:e.config.language,target:e.config.target,optimization:e.config.optimization,createdAt:Date.now(),durationMs:performance.now()-n,size:r,toolchains:i,costProfile:pn(e.config.language,e.config.target,e.config.optimization,a),...e.dependencies===void 0?{}:{dependencyLockSha256:e.dependencies.lockSha256}}}async function ti(e,t,n){let r=performance.now();K(n,`compiling`,`Compiling with rustc ${I}`,.2);let i=fr(e),a=await q().compileRust({entry:e.config.entry,files:[...e.files,...i.files],optimization:e.config.optimization,dependencies:i.crates,rootExterns:i.roots});if(!a.success||!a.wasm)return{success:!1,diagnostics:Sn(a.diagnostics,{file:e.config.entry,source:`rustc`,message:a.stderr.trim()||`rustc failed without a diagnostic.`}),stdout:a.stdout,stderr:a.stderr,cacheHit:!1};let o=a.wasm,s={kind:`wasm`,...ei(e,t,r,o.byteLength,z(`rust`)),bytes:o};return{success:!0,diagnostics:a.diagnostics,artifact:s,stdout:a.stdout,stderr:a.stderr,cacheHit:!1}}function ni(e){return Object.values(e).reduce((e,t)=>e+(typeof t==`string`?Jr.encode(t).byteLength:t.byteLength),0)}async function ri(e,t,n){let r=performance.now(),i=lr(e);K(n,`compiling`,`Packaging Python sources`,.55);let a=Object.fromEntries(e.files.map(e=>[e.path,e.content]));Object.assign(a,i),a[`.wasm-oj/deterministic_runner.py`]=kn;let o=e.config.entry,s=gn(e,Ze,`python`,o);a[`wasm-oj.manifest.json`]=s;let c=_n(a);return{success:!0,diagnostics:[],artifact:{kind:`runtime-bundle`,...ei(e,t,r,ni(c),z(`python`)),name:`${e.name}.python-${e.config.target}.json`,runtimePackage:Ze,command:`python`,entry:o,files:c,manifest:s},stdout:``,stderr:``,cacheHit:!1}}async function ii(e,t,n){let r=performance.now();K(n,`compiling`,`Compiling with Go ${L}`,.3);let i=pr(e),a=await q().compileGo({entry:e.config.entry,files:e.files,dependencyFiles:i.files,optimization:e.config.optimization,dependencies:i.packages});if(!a.success||!a.wasm)return{success:!1,diagnostics:Sn(a.diagnostics,{file:e.config.entry,source:`go`,message:a.stderr.trim()||`Go compilation failed without a diagnostic.`}),stdout:a.stdout,stderr:a.stderr,cacheHit:!1};let o={kind:`wasm`,...ei(e,t,r,a.wasm.byteLength,z(`go`)),bytes:a.wasm};return{success:!0,diagnostics:a.diagnostics,artifact:o,stdout:a.stdout,stderr:a.stderr,cacheHit:!1}}async function ai(e,t,n){let r=performance.now(),i=e.files.find(t=>t.path===e.config.entry);if(!i||!i.path.endsWith(`.java`))return{success:!1,diagnostics:[{severity:`error`,message:`The Java entry must be a .java source file.`,file:e.config.entry,line:1,column:1,source:`project`}],stdout:``,stderr:``,cacheHit:!1};K(n,`compiling`,`Compiling Java ${i.path}`,.3);let a=await q().compileJava({entry:e.config.entry,files:e.files,optimization:e.config.optimization});if(!a.success||!a.wasm)return{success:!1,diagnostics:Sn(a.diagnostics,{file:e.config.entry,source:`java`,message:a.stderr.trim()||`Java compilation failed without a diagnostic.`}),stdout:a.stdout,stderr:a.stderr,cacheHit:!1};let o={kind:`wasm`,...ei(e,t,r,a.wasm.byteLength,z(`java`),Pt(`java`)),bytes:a.wasm};return{success:!0,diagnostics:a.diagnostics,artifact:o,stdout:a.stdout,stderr:a.stderr,cacheHit:!1}}function oi(e){return e.endsWith(`.ts`)?e.slice(0,-3)+`.js`:e}function si(e){let t=e.config.language===`typescript`?`.ts`:`.js`;return e.files.filter(e=>e.path.endsWith(t))}function ci(e){return si(e).filter(e=>!e.path.endsWith(`.d.ts`))}async function li(e,t){let n=si(e),r=ci(e),i=ur(e);K(t,`loading-toolchain`,`Loading TypeScript ${ot}/WASI`);let a=(await $r()).entrypoint;if(!a)throw Error(`The TypeScript/WASI compiler has no executable entrypoint.`);let o=r.map(e=>oi(e.path)),s=`/project/.wasm-oj/quickjs.d.ts`,c=await a.run({stdin:JSON.stringify({files:{...Object.fromEntries(e.files.map(e=>[`/project/${e.path}`,e.content])),...Object.fromEntries(Object.entries(i).filter(([,e])=>typeof e==`string`).map(([e,t])=>[`/project/${e}`,t])),[s]:Cn+wn+Tn},sources:[s,...n.map(e=>`/project/${e.path}`),...Object.entries(i).filter(([e,t])=>e.endsWith(`.d.ts`)&&typeof t==`string`).map(([e])=>`/project/${e}`)],outputs:o.map(e=>`/project/build/${e}`)})}),l=await cn(c,un,{collectStderr:!0}).finally(()=>c.free()),u=l.message,d={};if(u)for(let e of o){let t=u.files[`/project/build/${e}`];t!==void 0&&(d[e]=t)}return Object.assign(d,i),{files:d,stderr:l.stderr,response:u}}async function ui(e,t,n){let r=performance.now();if(!ci(e).some(t=>t.path===e.config.entry))return{success:!1,diagnostics:[{severity:`error`,message:`The ${e.config.language===`typescript`?`.ts`:`.js`} entry file is not a supported executable source.`,file:e.config.entry,line:1,column:1,source:`project`}],stdout:``,stderr:``,cacheHit:!1};let i,a=[],o=``;if(e.config.language===`javascript`)K(n,`compiling`,`Preparing JavaScript modules`,.5),i={...Object.fromEntries(ci(e).map(e=>[e.path,e.content])),...ur(e)};else{K(n,`compiling`,`Compiling TypeScript with TypeScript/WASI`,.5);let t=await li(e,n);i=t.files,o=t.stderr,a=xn(t.response?.diagnostics??``);let r=ci(e).every(e=>Object.hasOwn(i,oi(e.path)));if(!t.response||t.response.status!==0||!r||a.some(e=>e.severity===`error`))return{success:!1,diagnostics:Sn(a,{file:e.config.entry,source:`typescript`,message:o.trim()||t.response?.diagnostics.trim()||`TypeScript 7.0.2 did not return every compiled output.`}),stdout:``,stderr:o,cacheHit:!1}}let s=oi(e.config.entry),c=gn(e,rt,`qjs`,s);i[`wasm-oj.manifest.json`]=c;let l=_n(i),u={kind:`runtime-bundle`,...ei(e,t,r,ni(l),z(e.config.language)),name:`${e.name}.${e.config.language===`typescript`?`typescript`:`javascript`}-${e.config.target}.json`,runtimePackage:rt,command:`qjs`,entry:s,files:l,manifest:c};return{success:!0,diagnostics:a,artifact:u,stdout:``,stderr:o,cacheHit:!1}}async function di(e,t,n){let r={...e,files:zt(e.files)};if(sr(r),K(n,`checking`,`Validating project configuration`,.05),!r.files.some(e=>e.path===r.config.entry))return{success:!1,diagnostics:[{severity:`error`,message:`Configured entry file does not exist.`,file:r.config.entry,line:1,column:1,source:`project`}],stdout:``,stderr:``,cacheHit:!1};if(r.config.language===`c`||r.config.language===`cpp`){let e=q();return Ar(r,t,n,{runtime:e.getRuntime(),loadToolchainAsset:e.loadToolchainAsset,loadToolchainFile:e.loadToolchainFile,progress:e.progress,trace:e.trace})}return J.driver(r.config.language).build({project:r,cacheKey:t,requestId:n})}const J=new En;J.register({id:`rustc`,languages:[`rust`],build:({project:e,cacheKey:t,requestId:n})=>ti(e,t,n)}),J.register({id:`cpython`,languages:[`python`],build:({project:e,cacheKey:t,requestId:n})=>ri(e,t,n)}),J.register({id:`typescript`,languages:[`javascript`,`typescript`],build:({project:e,cacheKey:t,requestId:n})=>ui(e,t,n)}),J.register({id:`go`,languages:[`go`],build:({project:e,cacheKey:t,requestId:n})=>ii(e,t,n)}),J.register({id:`teavm-java`,languages:[`java`],build:({project:e,cacheKey:t,requestId:n})=>ai(e,t,n)});function fi(){Yr=void 0}function pi(e){return(e.config.target===`wasip1`||e.config.target===`wasix`)&&(e.config.language===`c`||e.config.language===`cpp`)}function mi(e){if(!pi(e))return 0;let t=e.config.language===`cpp`?/\.(?:cc|cpp|cxx)$/:/\.c$/,n=new Set(e.files.filter(e=>t.test(e.path)).map(e=>e.path));n.add(e.config.entry);let r=e.config.language===`cpp`?e.files.find(e=>e.path.split(`/`).at(-1)===`wasm-oj.pch.hpp`):void 0,i=r&&!er(r.content)?1:0;return n.size+i+2}function hi(e){let t=mi(e);if(t>8)throw Error(`The browser Clang project requires ${t} compiler stages; the verified per-Worker limit is 8.`);return t}const gi=`manifests`,Y=`metadata`,_i=`blobs`,X=`clang`,vi=new TextEncoder;var yi=class{adapter;restoration;ready=!1;persistedGeneration=0;constructor(e){this.adapter=e}async ensureLoaded(){if(!this.ready){this.restoration??=this.loadOnce();try{await this.restoration}catch(e){throw this.restoration=void 0,e}}}async persistIfDirty(){if(!this.ready)return!1;let e=this.adapter.capture(),t=e.manifest.generation;if(t===this.persistedGeneration)return!1;if(t<this.persistedGeneration)throw Error(`Clang build graph generation moved backwards within one compiler Worker.`);let n=await this.adapter.save(e);return this.persistedGeneration=t,n}async loadOnce(){let e=await this.adapter.load();e&&await this.adapter.restore(e);let t=this.adapter.capture().manifest.generation;if(e&&t!==e.manifest.generation)throw Error(`Restored Clang build graph generation does not match persisted state.`);this.persistedGeneration=t,this.ready=!0}};async function bi(){let e=await Si();try{let t=e.transaction([gi,Y,_i],`readonly`),n=t.objectStore(gi).get(X),r=t.objectStore(Y).get(X),[i,a]=await Promise.all([Ci(n),Ci(r)]);if(i===void 0&&a===void 0){await wi(t);return}let o=Oi(i),s=ki(a);if(s.generation!==o.generation)throw Error(`Persisted Clang build graph generation metadata does not match its manifest.`);let c=[...new Set(o.entries.map(e=>e.outputDigest))].sort(),l=t.objectStore(_i),u=await Promise.all(c.map(e=>Ci(l.get(e))));await wi(t);let d=u.map((e,t)=>Ai(e,c[t]));return Mi(ji(o),d,s),await Ti(e,s),{manifest:ji(o),blobs:d.map(({digest:e,bytes:t})=>({digest:e,bytes:t}))}}finally{e.close()}}async function xi(e){let t=Ei(e),n=Di(e),r=await Si();try{let e=r.transaction([gi,Y,_i],`readwrite`),i=e.objectStore(Y),a=await Ci(i.get(X));if(a!==void 0&&ki(a).generation===t.generation)return await wi(e),!1;let o=e.objectStore(_i),s=new Set((await Ci(o.getAllKeys())).map(String)),c=new Set(n.map(e=>e.digest));for(let e of n)s.has(e.digest)||o.add({digest:e.digest,byteLength:e.bytes.byteLength,bytes:e.bytes});for(let e of s)c.has(e)||o.delete(e);let l={id:X,...t},u=Ni(n),d=Pi(t),f=Fi(u,d);return e.objectStore(gi).put(l),i.put({id:X,generation:t.generation,blobBytes:u,manifestBytes:d,byteLength:f,lastAccessedAt:Date.now()}),await wi(e),!0}finally{r.close()}}function Si(){return new Promise((e,t)=>{let n=indexedDB.open(Fe.incrementalBuildCache,2);n.addEventListener(`upgradeneeded`,()=>{let e=n.result;for(let t of[...e.objectStoreNames])e.deleteObjectStore(t);e.createObjectStore(gi,{keyPath:`id`}),e.createObjectStore(Y,{keyPath:`id`}),e.createObjectStore(_i,{keyPath:`digest`})}),n.addEventListener(`success`,()=>e(n.result),{once:!0}),n.addEventListener(`error`,()=>{t(n.error??Error(`Unable to open the incremental build cache.`))},{once:!0}),n.addEventListener(`blocked`,()=>{t(Error(`Incremental build cache open is blocked by another tab.`))},{once:!0})})}function Ci(e){return new Promise((t,n)=>{e.addEventListener(`success`,()=>t(e.result),{once:!0}),e.addEventListener(`error`,()=>n(e.error??Error(`IndexedDB request failed.`)),{once:!0})})}function wi(e){return new Promise((t,n)=>{e.addEventListener(`complete`,()=>t(),{once:!0}),e.addEventListener(`abort`,()=>n(e.error??Error(`IndexedDB transaction aborted.`)),{once:!0}),e.addEventListener(`error`,()=>n(e.error??Error(`IndexedDB transaction failed.`)),{once:!0})})}async function Ti(e,t){let n=e.transaction(Y,`readwrite`);n.objectStore(Y).put({...t,lastAccessedAt:Date.now()}),await wi(n)}function Ei(e){if(!e||typeof e!=`object`||Array.isArray(e)||Object.keys(e).sort().join(`,`)!==`blobs,manifest`)throw Error(`Clang build graph state has an invalid shape.`);return ji(Oi({id:X,...e.manifest}))}function Di(e){if(!Array.isArray(e.blobs))throw Error(`Clang build graph state blobs must be an array.`);let t=e.blobs.map(e=>{if(!e||typeof e!=`object`||Array.isArray(e)||Object.keys(e).sort().join(`,`)!==`bytes,digest`)throw Error(`Clang build graph state contains a malformed blob.`);if(typeof e.digest!=`string`||!/^[0-9a-f]{64}$/.test(e.digest)||!(e.bytes instanceof Uint8Array))throw Error(`Clang build graph state contains invalid blob metadata.`);return e});for(let e=0;e<t.length;e+=1)if(e>0&&t[e-1].digest>=t[e].digest)throw Error(`Clang build graph state blobs are not canonical or contain duplicates.`);let n=new Set(e.manifest.entries.map(e=>e.outputDigest));if(n.size!==t.length||t.some(e=>!n.has(e.digest)))throw Error(`Clang build graph state blobs do not exactly match its manifest references.`);return t}function Oi(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Persisted Clang build graph manifest has an invalid shape.`);let t=e;if(Object.keys(t).sort().join(`,`)!==`entries,generation,id,schema,version`||t.id!==X||t.schema!==j.incrementalBuildGraph||t.version!==2||!Number.isSafeInteger(t.generation)||t.generation<0||!Array.isArray(t.entries))throw Error(`Persisted Clang build graph manifest does not use the active storage contract.`);return t}function ki(e){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Persisted Clang build graph metadata has an invalid shape.`);let t=e;if(Object.keys(t).sort().join(`,`)!==`blobBytes,byteLength,generation,id,lastAccessedAt,manifestBytes`||t.id!==X||!Z(t.generation)||!Z(t.blobBytes)||!Z(t.manifestBytes)||!Z(t.byteLength)||!Z(t.lastAccessedAt)||Fi(t.blobBytes,t.manifestBytes)!==t.byteLength)throw Error(`Persisted Clang build graph metadata has invalid storage accounting.`);return t}function Ai(e,t){if(!e||typeof e!=`object`||Array.isArray(e))throw Error(`Persisted Clang build graph blob '${t}' is missing.`);let n=e;if(Object.keys(n).sort().join(`,`)!==`byteLength,bytes,digest`||n.digest!==t||!Z(n.byteLength)||!(n.bytes instanceof Uint8Array)||n.bytes.byteLength!==n.byteLength)throw Error(`Persisted Clang build graph blob '${t}' has invalid metadata.`);return n}function ji(e){return{schema:e.schema,version:e.version,generation:e.generation,entries:e.entries}}function Mi(e,t,n){if(Ni(t)!==n.blobBytes||Pi(e)!==n.manifestBytes)throw Error(`Persisted Clang build graph storage accounting does not match its records.`)}function Ni(e){let t=0,n=new Set;for(let r of e){if(n.has(r.digest))throw Error(`Clang build graph repeats blob '${r.digest}'.`);n.add(r.digest),t=Fi(t,r.bytes.byteLength)}return t}function Pi(e){return vi.encode(JSON.stringify(e)).byteLength}function Fi(e,t){let n=e+t;if(!Number.isSafeInteger(n)||n<0)throw Error(`Incremental build graph byte length exceeds the safe integer range.`);return n}function Z(e){return Number.isSafeInteger(e)&&e>=0}Object.freeze([`wasi_snapshot_preview1.random_get`,`wasi_snapshot_preview1.clock_time_get`]),Object.freeze({version:I,packageAsset:lt,packageCompressedSha256:dt,packageSha256:ft,manifestAsset:ut,manifestSha256:pt,target:`wasm32-wasip1-threads`,edition:`2024`});var Ii=``+new URL(`rustc-stage.worker-CXdxGODv.js`,import.meta.url).href,Li=``+new URL(`go-stage.worker-BIUc7Tsv.js`,import.meta.url).href;`${L.split(`.`).slice(0,2).join(`.`)}`,Object.freeze({version:L,target:`wasip1/wasm`,packageAsset:mt,packageCompressedSha256:_t,packageSha256:vt,manifestAsset:ht,manifestSha256:yt,standardLibraryAsset:gt,standardLibraryCompressedSha256:bt,standardLibrarySha256:xt,compilerSha256:St,linkerSha256:Ct});var Ri=``+new URL(`java-stage.worker-COWR2SIP.js`,import.meta.url).href;Object.freeze({version:wt,package:Tt,compilerAsset:Et,compilerSha256:kt,compileClasslibAsset:Dt,compileClasslibSha256:At,runtimeClasslibAsset:Ot,runtimeClasslibSha256:jt});function zi(e,t={}){let n=Bi(e,{liveness:!0}),r;try{r=new Worker(n.url,{...t,type:`module`})}finally{n.revoke()}return Gi(r,t.name),r}function Bi(e,{liveness:t=!1}={}){let n=qi(),r=Ji(e),i=new Blob([`const pendingMessages = [];
445
445
  `,`const queueMessage = (event) => { event.stopImmediatePropagation(); pendingMessages.push(event.data); };
446
446
  `,`globalThis.addEventListener("message", queueMessage);
447
- `,`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 }));
448
- `],{type:`text/javascript`}),i=URL.createObjectURL(r),a=!0;return{url:i,revoke(){a&&(a=!1,URL.revokeObjectURL(i))}}}function Wi(){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 Gi(e){let t=Wi(),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}var Ki=``+new URL(`wasmer-thread.worker-DKlJE3cb.js`,import.meta.url).href;const qi=self,Ji=Wi();let Yi,Q,Xi,Zi,Qi,$i,ea;const ta=new yi({load:bi,restore:Mr,capture:jr,save:xi});let na=!1;function $(e){qi.postMessage(e)}function ra(e,t,n,r){$({type:`progress`,requestId:e,progress:{phase:t,label:n,progress:r}})}function ia(e,t,n){$({type:`compile-trace`,requestId:e,event:{schema:j.compileTrace,operation:t,state:n,monotonicMs:performance.now()}})}async function aa(e){let t=la(e),n=await fetch(t);if(!n.ok)throw Error(`Unable to load pinned toolchain asset '${e}' (${n.status}).`);let r=new Uint8Array(await n.arrayBuffer());await sa(e,r);let i=new Response(r).body;if(!i)throw Error(`Pinned toolchain asset '${e}' has no response body.`);let a=i.pipeThrough(new DecompressionStream(`gzip`));return new Uint8Array(await new Response(a).arrayBuffer())}async function oa(e){let t=la(e),n=await fetch(t);if(!n.ok)throw Error(`Unable to load pinned toolchain file '${e}' (${n.status}).`);let r=new Uint8Array(await n.arrayBuffer());return await sa(e,r),r}async function sa(e,t){let{asset:n}=Yt(ca(),e);if(t.byteLength!==n.bytes)throw Error(`Pinned toolchain asset '${e}' has ${t.byteLength} bytes; expected ${n.bytes}.`);let r=await V(t);if(r!==n.sha256)throw Error(`Pinned toolchain asset '${e}' has digest ${r}; expected ${n.sha256}.`)}function ca(){if(!Yi)throw Error(`The compiler toolchain-source registry is not initialized.`);return Yi}function la(e){return Zt(ca(),e,Ji)}function ua(e){return Xt(ca(),e,Ji).toString()}function da(e){return Qi??=new zi({createWorker:()=>Hi(Ii,{name:`wasm-oj-rustc-stage`}),timeoutMs:185e3,stageLabel:`rustc`}),Qi.run({type:`compile`,request:e,assetBaseUrl:ua(lt)})}function fa(e){return $i??=new zi({createWorker:()=>Hi(Li,{name:`wasm-oj-go-stage`}),timeoutMs:185e3,stageLabel:`Go`}),$i.run({type:`compile`,request:e,assetBaseUrl:ua(mt)})}function pa(e){return ea??=new zi({createWorker:()=>Hi(Ri,{name:`wasm-oj-java-stage`}),timeoutMs:185e3,stageLabel:`Java`}),ea.run({type:`compile`,request:e,assetBaseUrl:ua(Et)})}function ma(){Zr({getRuntime:()=>{if(!Q)throw Error(`The compiler Wasmer runtime is not initialized for this language.`);return Q},loadToolchainAsset:aa,loadToolchainFile:oa,compileRust:da,compileGo:fa,compileJava:pa,progress:ra,trace:ia})}async function ha(e,t){if(!crossOriginIsolated)throw Error(`Wasmer requires a cross-origin-isolated page. Serve this app with COOP and COEP headers.`);ia(e,`workerInitialize`,`start`),ra(e,`initializing`,`Starting compiler worker`,.2),Yi=Jt(t),ma(),ra(e,`initializing`,`Compiler worker ready`,1),ia(e,`workerInitialize`,`end`)}function ga(e){return e===`c`||e===`cpp`||e===`javascript`||e===`typescript`}async function _a(e){if(!Q){Xi??=(async()=>{ra(e,`initializing`,`Starting Wasmer compiler runtime`,.1);let t=Ui(new URL(Ki,Ji));Zi=t;try{await Me({log:`warn`,module:new URL(Pe,Ji),workerUrl:t.url}),Q=new ge({registry:null})}catch(e){throw Zi===t&&(Zi=void 0),t.revoke(),e}ra(e,`initializing`,`Wasmer compiler runtime ready`,.2)})();try{await Xi}catch(e){throw Xi=void 0,e}}}async function va(e){ga(e.project.config.language)&&await _a(e.requestId),pi(e.project)&&(await ta.ensureLoaded(),hi(e.project));let t=await di(e.project,e.cacheKey,e.requestId);return pi(e.project)&&await ta.persistIfDirty(),t}async function ya(){if(na)throw Error(`The compiler Worker is already quiescing.`);na=!0;let e=Qi,t=$i,n=ea;Qi=void 0,$i=void 0,ea=void 0;try{await Promise.all([e?.shutdown({type:`shutdown`}),t?.shutdown({type:`shutdown`}),n?.shutdown({type:`shutdown`,assetBaseUrl:ua(Et)})])}finally{try{await ta.persistIfDirty(),await Nr()}finally{fi(),Q?.free(),Q=void 0,Xi=void 0,Zi?.revoke(),Zi=void 0}}}qi.addEventListener(`message`,e=>{let t=e.data;(async()=>{try{switch(t.type){case`initialize`:await ha(t.requestId,t.toolchains),$({type:`ready`,requestId:t.requestId});break;case`build`:$({type:`build-result`,requestId:t.requestId,result:await va(t)});break;case`quiesce`:await ya(),$({type:`quiesced`,requestId:t.requestId}),qi.close()}}catch(e){let n=e instanceof Error?e:Error(String(e));$({type:`error`,requestId:t.requestId,code:`COMPILER_ERROR`,message:n.message,stack:n.stack})}})()});
447
+ `,`Object.defineProperty(globalThis, "__wasmOjModuleWorkerBaseUrl", { value: ${JSON.stringify(n.href)} });\n`,...t?[Hi]:[],`try { await import(${JSON.stringify(r)}); } finally { globalThis.removeEventListener("message", queueMessage); }\n`,`for (const data of pendingMessages) globalThis.dispatchEvent(new MessageEvent("message", { data }));
448
+ `],{type:`text/javascript`}),a=URL.createObjectURL(i),o=!0;return{url:a,revoke(){o&&(o=!1,URL.revokeObjectURL(a))}}}const Vi=`__wasmOjWorkerLiveness`,Hi=`try { const lock = "wasm-oj-worker-" + crypto.randomUUID(); navigator.locks.request(lock, () => { postMessage({ ${Vi}: lock }); return new Promise(() => {}); }).catch(() => {}); } catch {}\n`,Ui=new WeakMap;function Wi(e,t){let n=Ui.get(e);if(n){if(n.lost){let e=n.lost;queueMicrotask(()=>t(e));return}n.listeners.add(t)}}function Gi(e,t){let n={listeners:new Set};Ui.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=Ki(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 Ki(e){if(typeof e!=`object`||!e)return;let t=e[Vi];return typeof t==`string`?t:void 0}function qi(){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 Ji(e){let t=qi(),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}var Yi=class{options;worker;pending;fault;disposed=!1;closing=!1;workerTerminated=!1;constructor(e){if(!Number.isFinite(e.timeoutMs)||e.timeoutMs<=0)throw RangeError(`A persistent isolated stage requires a positive finite timeout.`);if(!e.stageLabel.trim())throw Error(`A persistent isolated stage requires a non-empty label.`);this.options=e,this.worker=e.createWorker(),this.worker.addEventListener(`message`,this.onMessage),this.worker.addEventListener(`error`,this.onError),this.worker.addEventListener(`messageerror`,this.onMessageError),Wi(this.worker,e=>this.fail(e))}run(e){if(this.disposed)throw Error(`The persistent ${this.options.stageLabel} stage is disposed.`);if(this.closing)throw Error(`The persistent ${this.options.stageLabel} stage is shutting down.`);if(this.fault)throw this.fault;if(this.pending)throw Error(`The persistent ${this.options.stageLabel} stage accepts one request at a time.`);return new Promise((t,n)=>{let r=setTimeout(()=>{this.fail(Error(`The persistent ${this.options.stageLabel} stage exceeded ${this.options.timeoutMs} ms.`))},this.options.timeoutMs);this.pending={kind:`run`,resolve:t,reject:n,timer:r};try{this.worker.postMessage(e)}catch(e){this.fail(e instanceof Error?e:Error(String(e)))}})}shutdown(e){if(this.disposed)throw Error(`The persistent ${this.options.stageLabel} stage is disposed.`);if(this.closing)throw Error(`The persistent ${this.options.stageLabel} stage is already shutting down.`);if(this.fault)throw this.fault;if(this.pending)throw Error(`The persistent ${this.options.stageLabel} stage cannot shut down during a request.`);return this.closing=!0,new Promise((t,n)=>{let r=setTimeout(()=>{this.fail(Error(`The persistent ${this.options.stageLabel} shutdown exceeded ${this.options.timeoutMs} ms.`))},this.options.timeoutMs);this.pending={kind:`shutdown`,resolve:t,reject:n,timer:r};try{this.worker.postMessage(e)}catch(e){this.fail(e instanceof Error?e:Error(String(e)))}})}dispose(){this.disposed||(this.disposed=!0,this.detach(),this.terminateWorker(),this.rejectPending(Error(`The persistent ${this.options.stageLabel} stage was disposed.`)))}onMessage=e=>{let t=e.data;if(!Xi(t)){this.fail(Error(`The persistent ${this.options.stageLabel} worker returned an invalid response.`));return}let n=this.pending;if(!n){this.fail(Error(`The persistent ${this.options.stageLabel} worker returned an unsolicited response.`));return}if(n.kind===`shutdown`){if(t.type!==`shutdown-complete`){this.fail(Error(t.type===`error`?t.message:`The persistent ${this.options.stageLabel} worker returned an invalid shutdown response.`));return}let e=this.takePending();if(!e||e.kind!==`shutdown`)return;this.disposed=!0,this.detach(),this.terminateWorker(),e.resolve();return}if(t.type===`shutdown-complete`){this.fail(Error(`The persistent ${this.options.stageLabel} worker shut down during an active request.`));return}let r=this.takePending();if(!r||r.kind!==`run`)return;if(t.type===`result`){r.resolve(t.result);return}let i=Error(t.message);t.stack!==void 0&&(i.stack=t.stack),r.reject(i)};onError=e=>{e.preventDefault(),this.fail(Error(Zi(e,`The persistent ${this.options.stageLabel} worker crashed.`)))};onMessageError=()=>{this.fail(Error(`The persistent ${this.options.stageLabel} worker returned an unreadable response.`))};fail(e){this.fault||this.disposed||(this.fault=e,this.detach(),this.terminateWorker(),this.rejectPending(e))}takePending(){let e=this.pending;if(e)return this.pending=void 0,clearTimeout(e.timer),e}rejectPending(e){this.takePending()?.reject(e)}detach(){this.worker.removeEventListener(`message`,this.onMessage),this.worker.removeEventListener(`error`,this.onError),this.worker.removeEventListener(`messageerror`,this.onMessageError)}terminateWorker(){this.workerTerminated||(this.workerTerminated=!0,this.worker.terminate())}};function Xi(e){if(typeof e!=`object`||!e)return!1;let t=e;return t.type===`result`?Object.hasOwn(t,`result`):t.type===`shutdown-complete`?Object.keys(t).length===1:t.type===`error`&&typeof t.message==`string`&&(t.stack===void 0||typeof t.stack==`string`)}function Zi(e,t){let n=e.message||t,r=e.filename?`${e.filename}${e.lineno>0?`:${e.lineno}${e.colno>0?`:${e.colno}`:``}`:``}`:``;return r?`${n} (${r})`:n}var Qi=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()}}},$i=``+new URL(`wasmer-thread.worker-DKlJE3cb.js`,import.meta.url).href;const ea=self,ta=qi();let na,Q,ra,$;const ia=new Qi(globalThis,{owns:e=>e===$?.url});let aa=!1,oa,sa,ca;const la=new yi({load:bi,restore:Mr,capture:jr,save:xi});let ua=!1;function da(e){ea.postMessage(e)}function fa(e,t,n,r){da({type:`progress`,requestId:e,progress:{phase:t,label:n,progress:r}})}function pa(e,t,n){da({type:`compile-trace`,requestId:e,event:{schema:j.compileTrace,operation:t,state:n,monotonicMs:performance.now()}})}async function ma(e){let t=va(e),n=await fetch(t);if(!n.ok)throw Error(`Unable to load pinned toolchain asset '${e}' (${n.status}).`);let r=new Uint8Array(await n.arrayBuffer());await ga(e,r);let i=new Response(r).body;if(!i)throw Error(`Pinned toolchain asset '${e}' has no response body.`);let a=i.pipeThrough(new DecompressionStream(`gzip`));return new Uint8Array(await new Response(a).arrayBuffer())}async function ha(e){let t=va(e),n=await fetch(t);if(!n.ok)throw Error(`Unable to load pinned toolchain file '${e}' (${n.status}).`);let r=new Uint8Array(await n.arrayBuffer());return await ga(e,r),r}async function ga(e,t){let{asset:n}=Yt(_a(),e);if(t.byteLength!==n.bytes)throw Error(`Pinned toolchain asset '${e}' has ${t.byteLength} bytes; expected ${n.bytes}.`);let r=await V(t);if(r!==n.sha256)throw Error(`Pinned toolchain asset '${e}' has digest ${r}; expected ${n.sha256}.`)}function _a(){if(!na)throw Error(`The compiler toolchain-source registry is not initialized.`);return na}function va(e){return Zt(_a(),e,ta)}function ya(e){return Xt(_a(),e,ta).toString()}function ba(e){return oa??=new Yi({createWorker:()=>zi(Ii,{name:`wasm-oj-rustc-stage`}),timeoutMs:185e3,stageLabel:`rustc`}),oa.run({type:`compile`,request:e,assetBaseUrl:ya(lt)})}function xa(e){return sa??=new Yi({createWorker:()=>zi(Li,{name:`wasm-oj-go-stage`}),timeoutMs:185e3,stageLabel:`Go`}),sa.run({type:`compile`,request:e,assetBaseUrl:ya(mt)})}function Sa(e){return ca??=new Yi({createWorker:()=>zi(Ri,{name:`wasm-oj-java-stage`}),timeoutMs:185e3,stageLabel:`Java`}),ca.run({type:`compile`,request:e,assetBaseUrl:ya(Et)})}function Ca(){Zr({getRuntime:()=>{if(!Q)throw Error(`The compiler Wasmer runtime is not initialized for this language.`);return Q},loadToolchainAsset:ma,loadToolchainFile:ha,compileRust:ba,compileGo:xa,compileJava:Sa,progress:fa,trace:pa})}async function wa(e,t){if(!crossOriginIsolated)throw Error(`Wasmer requires a cross-origin-isolated page. Serve this app with COOP and COEP headers.`);pa(e,`workerInitialize`,`start`),fa(e,`initializing`,`Starting compiler worker`,.2),na=Jt(t),Ca(),fa(e,`initializing`,`Compiler worker ready`,1),pa(e,`workerInitialize`,`end`)}function Ta(e){return e===`c`||e===`cpp`||e===`javascript`||e===`typescript`}async function Ea(e){if(!Q){ra??=(async()=>{fa(e,`initializing`,`Starting Wasmer compiler runtime`,.1);let t=Bi(new URL($i,ta));$=t;try{aa||=(ia.install(),!0),await Me({log:`warn`,module:new URL(Pe,ta),workerUrl:t.url}),Q=new ge({registry:null})}catch(e){throw $===t&&($=void 0),t.revoke(),e}fa(e,`initializing`,`Wasmer compiler runtime ready`,.2)})();try{await ra}catch(e){throw ra=void 0,e}}}async function Da(e){Ta(e.project.config.language)&&await Ea(e.requestId),pi(e.project)&&(await la.ensureLoaded(),hi(e.project));let t=await di(e.project,e.cacheKey,e.requestId);return pi(e.project)&&await la.persistIfDirty(),t}async function Oa(){if(ua)throw Error(`The compiler Worker is already quiescing.`);ua=!0;let e=oa,t=sa,n=ca;oa=void 0,sa=void 0,ca=void 0;try{await Promise.all([e?.shutdown({type:`shutdown`}),t?.shutdown({type:`shutdown`}),n?.shutdown({type:`shutdown`,assetBaseUrl:ya(Et)})])}finally{try{await la.persistIfDirty(),await Nr()}finally{fi(),Q?.free(),Q=void 0,ra=void 0,$?.revoke(),$=void 0}}}ea.addEventListener(`message`,e=>{let t=e.data;(async()=>{try{switch(t.type){case`initialize`:await wa(t.requestId,t.toolchains),da({type:`ready`,requestId:t.requestId});break;case`build`:da({type:`build-result`,requestId:t.requestId,result:await ia.run(()=>Da(t))});break;case`quiesce`:await Oa(),da({type:`quiesced`,requestId:t.requestId}),ea.close()}}catch(e){let n=e instanceof Error?e:Error(String(e));da({type:`error`,requestId:t.requestId,code:`COMPILER_ERROR`,message:n.message,stack:n.stack})}})()});
@@ -0,0 +1,2 @@
1
+ var e=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,l.unregister(this),e}free(){let e=this.__destroy_into_raw();O.__wbg_gocompilersession_free(e,0)}compilePipeline(e){return O.gocompilersession_compilePipeline(this.__wbg_ptr,e)}get digest(){let e,t;try{let n=O.gocompilersession_digest(this.__wbg_ptr);return e=n[0],t=n[1],g(n[0],n[1])}finally{O.__wbindgen_free(e,t,1)}}get generation(){let e=O.gocompilersession_generation(this.__wbg_ptr);if(e[2])throw C(e[1]);return e[0]>>>0}constructor(e){let t=O.gocompilersession_new(e);if(t[2])throw C(t[1]);return this.__wbg_ptr=t[0],l.register(this,this.__wbg_ptr,this),this}};Symbol.dispose&&(e.prototype[Symbol.dispose]=e.prototype.free);var t=class e{static __wrap(t){let n=Object.create(e.prototype);return n.__wbg_ptr=t,ee.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,ee.unregister(this),e}free(){let e=this.__destroy_into_raw();O.__wbg_trap_free(e,0)}static __wbg_wasmer_trap(){O.trap___wbg_wasmer_trap()}};Symbol.dispose&&(t.prototype[Symbol.dispose]=t.prototype.free);function n(){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(g(e,t))},__wbg_Number_3890faa6d3ff057d:function(e){return Number(e)},__wbg_String_8564e559799eccda:function(e,t){let n=S(String(t),O.__wbindgen_malloc,O.__wbindgen_realloc),r=D;h().setInt32(e+4,r,!0),h().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;h().setBigInt64(e+8,b(r)?BigInt(0):r,!0),h().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=S(f(t),O.__wbindgen_malloc,O.__wbindgen_realloc),r=D;h().setInt32(e+4,r,!0),h().setInt32(e+0,n,!0)},__wbg___wbindgen_function_table_cad76479cff6555c:function(){return O.__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;h().setFloat64(e+8,b(r)?0:r,!0),h().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:S(r,O.__wbindgen_malloc,O.__wbindgen_realloc),a=D;h().setInt32(e+4,a,!0),h().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_bb96b2010945f0bc:function(e,t){throw Error(g(e,t))},__wbg__wbg_cb_unref_be22cc64ae6946a0:function(e){e._wbg_cb_unref()},__wbg_apply_6cd9daeacef161ce:function(){return y(function(e,t,n){return Reflect.apply(e,t,n)},arguments)},__wbg_apply_cb180996ed7fdae9:function(){return y(function(e,t,n){return e.apply(t,n)},arguments)},__wbg_arrayBuffer_16433f17fbd74397:function(){return y(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 y(function(e,t){return e.call(t)},arguments)},__wbg_call_35dba3c747ad7521:function(){return y(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,g(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(g(e,t))}finally{O.__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 y(function(e){return Reflect.getPrototypeOf(e)},arguments)},__wbg_getRandomValues_436a51d0629d84e1:function(){return y(function(e,t){globalThis.crypto.getRandomValues(p(e,t))},arguments)},__wbg_getTime_63fb0332e6c4ec17:function(e){return e.getTime()},__wbg_getTimezoneOffset_4baa793e0d3962a8:function(e){return e.getTimezoneOffset()},__wbg_get_70e2ce0f7d009e1f:function(){return y(function(e,t){return e.get(t>>>0)},arguments)},__wbg_get_971a0c45d172643f:function(){return y(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_c0c8f8d7da0c03dd:function(e,t){return e[t>>>0]},__wbg_get_d173c0308df22d37:function(){return y(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 y(function(e,t){return e.grow(t>>>0)},arguments)},__wbg_grow_adf1e32e3f3bb932:function(){return y(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 y(function(e){return new WebAssembly.Tag(e)},arguments)},__wbg_new_77cc4f4f472aeb81:function(e){return new Uint8Array(e)},__wbg_new_82966bafe01b664f:function(){return y(function(e){return new WebAssembly.Table(e)},arguments)},__wbg_new_bd7a161a1b96dc2a:function(){return y(function(e,t){return new WebAssembly.Global(e,t)},arguments)},__wbg_new_cdf041679ded4c5f:function(){return new Map},__wbg_new_d1599c9e69d35606:function(){return y(function(e,t){return new WebAssembly.Instance(e,t)},arguments)},__wbg_new_e3fb27841b78e4f4:function(){return y(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 y(function(e){return new WebAssembly.Memory(e)},arguments)},__wbg_new_from_slice_3eea173078478cfe:function(e,t){return new Uint8Array(p(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 s(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(g(e,t),g(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 y(function(e,t,n){return new Request(g(e,t),n)},arguments)},__wbg_next_42cf16ee0dafc9e2:function(){return y(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(p(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 y(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 y(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(p(t,n))},__wbg_set_body_f301b68bff45f419:function(e,t){e.body=t},__wbg_set_e92392c4b44c5de1:function(){return y(function(e,t,n,r,i){e.set(g(t,n),g(r,i))},arguments)},__wbg_set_method_cf2b992b9a610bc3:function(e,t,n){e.method=g(t,n)},__wbg_set_mode_d6479dfd6696c8d3:function(e,t){e.mode=c[t]},__wbg_set_value_1b7bd2bc4ef248bb:function(e,t){e.value=t},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=S(n,O.__wbindgen_malloc,O.__wbindgen_realloc),i=D;h().setInt32(e+4,i,!0),h().setInt32(e+0,r,!0)},__wbg_static_accessor_GLOBAL_THIS_466428f93b4eaa76:function(){let e=typeof globalThis>`u`?null:globalThis;return b(e)?0:u(e)},__wbg_static_accessor_GLOBAL_c7aea38d4de089bc:function(){let e=typeof global>`u`?null:global;return b(e)?0:u(e)},__wbg_static_accessor_SELF_42d4fae05e59267a:function(){let e=typeof self>`u`?null:self;return b(e)?0:u(e)},__wbg_static_accessor_WINDOW_e0db14a0eba6a812:function(){let e=typeof window>`u`?null:window;return b(e)?0:u(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=S(t.toString(n),O.__wbindgen_malloc,O.__wbindgen_realloc),i=D;h().setInt32(e+4,i,!0),h().setInt32(e+0,r,!0)},__wbg_trap_new:function(e){return t.__wrap(e)},__wbg_value_1e2369fab29b420e:function(e){return e.value},__wbg_value_728796e3a1723ff8:function(e){return e.value},__wbg_wait_5f03a1b29e76c8cb:function(){return y(function(e,t,n,r){return Atomics.wait(e,t>>>0,n,r)},arguments)},__wbindgen_cast_0000000000000001:function(e,t){return x(e,t,r)},__wbindgen_cast_0000000000000002:function(e,t){return x(e,t,a)},__wbindgen_cast_0000000000000003:function(e,t){return x(e,t,o)},__wbindgen_cast_0000000000000004:function(e,t){return x(e,t,i)},__wbindgen_cast_0000000000000005:function(e){return e},__wbindgen_cast_0000000000000006:function(e){return e},__wbindgen_cast_0000000000000007:function(e,t){return p(e,t)},__wbindgen_cast_0000000000000008:function(e,t){return g(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=te(e,t);return O.__wbindgen_free(e,t*4,4),n},__wbindgen_init_externref_table:function(){let e=O.__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 r(e,t,n){let r=O.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 C(r[0])}function i(e,t,n){let r=O.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 C(r[0])}function a(e,t,n){let r=O.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 C(r[1]);return C(r[0])}function o(e,t,n){let r=O.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 C(r[1]);return C(r[0])}function s(e,t,n,r){O.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 c=[`same-origin`,`no-cors`,`cors`,`navigate`],l=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>O.__wbg_gocompilersession_free(e,1)),ee=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>O.__wbg_trap_free(e,1));function u(e){let t=O.__externref_table_alloc();return O.__wbindgen_externrefs.set(t,e),t}const d=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>O.__wbindgen_destroy_closure(e.a,e.b));function f(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+=f(e[0]));for(let r=1;r<t;r++)n+=`, `+f(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 te(e,t){e>>>=0;let n=h(),r=[];for(let i=e;i<e+4*t;i+=4)r.push(O.__wbindgen_externrefs.get(n.getUint32(i,!0)));return O.__externref_drop_slice(e,t),r}function p(e,t){return e>>>=0,v().subarray(e/1,e/1+t)}let m=null;function h(){return(m===null||m.buffer.detached===!0||m.buffer.detached===void 0&&m.buffer!==O.memory.buffer)&&(m=new DataView(O.memory.buffer)),m}function g(e,t){return ne(e>>>0,t)}let _=null;function v(){return(_===null||_.byteLength===0)&&(_=new Uint8Array(O.memory.buffer)),_}function y(e,t){try{return e.apply(this,t)}catch(e){let t=u(e);O.__wbindgen_exn_store(t)}}function b(e){return e==null}function x(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&&(O.__wbindgen_destroy_closure(r.a,r.b),r.a=0,d.unregister(r))},d.register(i,r,r),i}function S(e,t,n){if(n===void 0){let n=E.encode(e),r=t(n.length,1)>>>0;return v().subarray(r,r+n.length).set(n),D=n.length,r}let r=e.length,i=t(r,1)>>>0,a=v(),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=v().subarray(i+o,i+r),a=E.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return D=o,i}function C(e){let t=O.__wbindgen_externrefs.get(e);return O.__externref_table_dealloc(e),t}let w=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});w.decode();let T=0;function ne(e,t){return T+=t,T>=2146435072&&(w=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),w.decode(),T=t),w.decode(v().subarray(e,e+t))}const E=new TextEncoder;`encodeInto`in E||(E.encodeInto=function(e,t){let n=E.encode(e);return t.set(n),{read:e.length,written:n.length}});let D=0,O;function re(e,t){return O=e.exports,m=null,_=null,O.__wbindgen_start(),O}async function ie(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 ae(e){if(O!==void 0)return O;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=n();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:r,module:i}=await ie(await e,t);return re(r,i)}var oe=``+new URL(`runtime-core_bg-CKk6CPFH.wasm`,import.meta.url).href;const k=`wasm-oj-v2`,se=Object.freeze({clangPins:`${k}/clang-pins`,clangLibcxxPch:`${k}/clang-libcxx-pch`,clangToolchain:`${k}/clang-toolchain`,compileBatch:`${k}/compile-batch`,compileTrace:`${k}/compile-trace`,conformance:`${k}/conformance`,conformanceEvidence:`${k}/conformance-evidence`,conformanceMatrix:`${k}/conformance-matrix`,cppDependencyLock:`${k}/cpp-dependency-lock`,dependencyLock:`${k}/dependency-lock`,dependencyOfflineBundle:`${k}/dependency-offline-bundle`,incrementalBuildGraph:`${k}/incremental-build-graph`,interactiveRequest:`${k}/interactive-request`,goToolchain:`${k}/go-toolchain`,objectCache:`${k}/object-cache`,pythonToolchain:`${k}/python-toolchain`,replayBundle:`${k}/replay-bundle`,rustToolchain:`${k}/rust-toolchain`,runRequest:`${k}/run-request`,runtimeBundle:`${k}/runtime-bundle`,runtimeCoreLicenses:`${k}/runtime-core-licenses`,thirdPartyComponents:`${k}/third-party-components`,wasmerSdkLicenses:`${k}/wasmer-sdk-licenses`,toolchainPackage:`${k}/toolchain-package`});Object.freeze({database:`${k}:storage`,databaseVersion:2,dependencyCache:`${k}:dependencies`,incrementalBuildCache:`${k}:incremental-build-cache`,runtimeFilesCache:`${k}:runtime-files`,toolchainCache:`${k}:toolchains`}),Object.freeze([`c`,`cpp`,`rust`,`python`,`javascript`,`typescript`,`go`]),Object.freeze([`cargo`,`npm`,`pypi`,`go`,`cpp`]);const A=`22.0.0-git20542-10`,ce=`wasm-oj/clang@${A}`,le=`/toolchains/clang-${A}.webc.gz.bin`,ue=`/toolchains/clang-${A}.cc1-pins.json`,de=`/toolchains/clang-${A}.manifest.json`,fe=`/toolchains/clang-${A}.libcxx-pch.json`,pe=`/toolchains/clang-${A}.cpp-debug.pch.gz.bin`,me=`/toolchains/clang-${A}.cpp-release.pch.gz.bin`,j=`7f10d90b8e52b270f04874641a1d0bf9e94e85b4f6c7573a774cebbc6d32552a`,he=`21ded33b9c6d4e1aaad5528c940bdaf6c3e84be77ea8f522f018ca7289a2a224`,M=`895eee17c63b1112c84adcc4ddbcb38e0c18e53bff15f50a8689b9b82d87b1ff`,N=`6382dcdfb6a2da49032a0e08da3b1fb490eb24432be85c3c12e3e871a5065273`,ge=Object.freeze({"cpp-debug":Object.freeze({path:pe,sha256:`c420c4643c48826643e75585d5bfdc281f11883d4bda28b283e3c706f3046b3a`,compressedSha256:`a3811351bae3289caf096f2d4bb6d2ee5db84b97e05514e87190d36b65c500cf`}),"cpp-release":Object.freeze({path:me,sha256:`c4b2132cc6d698e97dd1386431fdb54faaaf38b35b2528c7bc854f860d1f64b1`,compressedSha256:`ef004fc05ec50af697a37f7c9c814bf62e9676d0de162d6ac35305533939f93f`})}),P=`3.14.7`,_e=`a42c98f5f00582638c8e445440c506bbf94d5e55b3415d1f8d82d11c56cd4b56`,ve=`${`wasm-oj/cpython@${P}`}#sha256:${_e}`,ye=`/toolchains/python-${P}-wasip1.webc.gz.bin`,be=`/toolchains/python-${P}-wasip1.manifest.json`,xe=`10027f0e32c77dfa0ce1c413b6cb27307d6744fe5e18e6da8cea738bd020260c`,Se=`53a24b258363a8494af164121111a34b49c85fa0e054627fe131feba6f359cd5`,F=`0.15.1`,Ce=`wasm-oj/quickjs-ng@${F}`,we=`/toolchains/quickjs-${F}.wasm.gz.bin`,I=`dc6e02e8610269e61b341331661515616451cec929fd534fa96d1c4f47fbcc9a`,L=`7.0.2`,Te=`/toolchains/typescript-${L}.wasm.gz.bin`,R=`29c6ee0e46151e2644049ae96162b1b1d46dcb13310e2a928114bb9030c3ea92`,z=`1.91.1-dev`,Ee=`/toolchains/rust-${z}.webc.gz.bin`,De=`/toolchains/rust-${z}.manifest.json`,Oe=`cfbdadc67be1315e735aa55bdf8a5a0d00171982a023fefcf7ba586127753887`,ke=`765de8d68d03078e79f69f49dec0dcab1ff96fe3bbe5e9eafebb2ce61a39d3ee`,Ae=`d5bbdca994e61888679c5738cb9420649c0854ed0eb5d65468bc67d5d550bce1`,B=`1.26.5`,je=`/toolchains/go-${B}-wasip1.webc.gz.bin`,Me=`/toolchains/go-${B}-wasip1.manifest.json`,Ne=`/toolchains/go-${B}-wasip1.stdlib.gz.bin`,V=`70a7e359884b09b2e1a622d6ac5cd6e31c334aab519e6dd80dff5e040a9e09e4`,H=`c3a97934b6a83fefdea5c31f99141f70f76189eedc9ec0fa9ccd41302e50963b`,U=`5d784e9ca640b9525e84b598c0beb97ca110ae908568ca45f6441a441d99a262`,W=`aeffc384fdc624544f174ba5fc3c22395717fdbc3c4387d677d20855b6be80d8`,Pe=`e1ec64b08efd02b35b7ffdaf3970875aaae98325fa4795eafca94ebae2d0d192`,Fe=`9e557f5b86961fd604217d7521461c5d2b7322e383fa30dead5669b77db12201`,Ie=`2eefca10af935a307ab7946447146bd30e0ea0fb5460be54dc1c55844d155580`,Le=Object.freeze({[le]:j,[ue]:M,[de]:N,[fe]:`9bbe41d77c786f1c36169369c909268530b05726e1581683f6edd9a2983eebd0`,[pe]:ge[`cpp-debug`].compressedSha256,[me]:ge[`cpp-release`].compressedSha256,[ye]:xe,[be]:Se,[we]:I,[Te]:R,[Ee]:Oe,[De]:Ae,[je]:V,[Me]:U,[Ne]:W,"/toolchains/java-teavm-0.13.1.compiler.wasm":`8c37bce1c6fceeaffeffe93e10834309b67c8b6fb58c6f8a24547afe8be67f5d`,"/toolchains/java-teavm-0.13.1.compile-classlib.bin":`738a82b7d7e7ff8d98b07bb076785da7035847a166afb8446fd150c4efce6103`,"/toolchains/java-teavm-0.13.1.runtime-classlib.bin":`0ed234b66cdde19cb29e6c2865a3636d792d3cf72f102e73a7b3fdede80b79e6`});Object.freeze({c:Object.freeze([j,he,M,N]),cpp:Object.freeze([j,he,M,N]),rust:Object.freeze([Oe,ke,Ae]),python:Object.freeze([xe,_e,Se,`c1acac884af1c86833db5b65f8cc0a2304fce74dea0a05d9b40bde0a4e3e7c0e`]),javascript:Object.freeze([R,I]),typescript:Object.freeze([R,I]),go:Object.freeze([V,H,U,W,Pe,Fe,Ie])});function Re(e){let t=e.startsWith(`/`)?e:`/toolchains/${e}`,n=Le[t];if(!n)throw Error(`No pinned digest is declared for toolchain asset '${e}'.`);return n}function ze(e,t){let n=Re(e),r=new URL(t.href);r.pathname.endsWith(`/`)||(r.pathname+=`/`);let i=[...r.searchParams];r.search=``;let a=e.slice(e.lastIndexOf(`/`)+1),o=new URL(a,r);for(let[e,t]of i)o.searchParams.append(e,t);return o.searchParams.set(`sha256`,n),o}function G(e){return Object.freeze({...e,compilerPackages:Object.freeze([...e.compilerPackages]),targets:Object.freeze([...e.targets])})}Object.freeze({c:G({language:`c`,label:`Clang 22`,artifact:`wasm`,compilerPackages:[ce],targets:[`wasip1`,`wasix`],version:A,note:`Native wasip1 module via Clang and LLD; directly executable by WASI and WASIX runtimes.`}),cpp:G({language:`cpp`,label:`Clang++ 22 (C++20)`,artifact:`wasm`,compilerPackages:[ce],targets:[`wasip1`,`wasix`],version:A,note:`C++20/libc++ wasip1 module; directly executable by WASI and WASIX runtimes.`}),rust:G({language:`rust`,label:`Rust ${z}`,artifact:`wasm`,compilerPackages:[`rustc@${z}#sha256:${ke}`],targets:[`wasip1`],version:z,note:`Real rustc, its matching standard library, and a fresh deterministic wasm-ld stage execute as one pinned WebC under Wasmer.`}),python:G({language:`python`,label:`CPython ${P}`,artifact:`runtime-bundle`,compilerPackages:[ve],runtimePackage:ve,targets:[`wasip1`],version:P,note:`Python source files executed by the source-built CPython wasm32-wasip1 interpreter and standard library.`}),javascript:G({language:`javascript`,label:`QuickJS-ng`,artifact:`runtime-bundle`,compilerPackages:[`typescript@${L}-wasi`],runtimePackage:Ce,targets:[`wasip1`],version:F,note:`JavaScript checked by TypeScript/WASI, then executed by the bundled QuickJS-ng/WASI runtime.`}),typescript:G({language:`typescript`,label:`TypeScript + QuickJS-ng`,artifact:`runtime-bundle`,compilerPackages:[`typescript@${L}-wasi`],runtimePackage:Ce,targets:[`wasip1`],version:L,note:`The native TypeScript compiler and QuickJS-ng runtime both execute as local WASI modules.`}),go:G({language:`go`,label:`Go ${B}`,artifact:`wasm`,compilerPackages:[`go@${B}#sha256:${H}`],targets:[`wasip1`],version:B,note:`The standard Go compiler, linker, and pinned wasip1 standard library execute locally as one WebC under Wasmer.`})}),Object.freeze({c:`cpp`,cpp:`cpp`,rust:`cargo`,python:`pypi`,javascript:`npm`,typescript:`npm`,go:`go`});function Be(e){let t=[],n=/\bimport\s*\(([\s\S]*?)\)/g;for(let r of e.matchAll(n))for(let e of r[1].matchAll(/(?:^|\n)\s*(?:[._A-Za-z][A-Za-z0-9_]*\s+)?["`]([^"`]+)["`]/g))t.push(e[1]);let r=e.replace(n,``);for(let e of r.matchAll(/\bimport\s+(?:[._A-Za-z][A-Za-z0-9_]*\s+)?["`]([^"`]+)["`]/g))t.push(e[1]);return t}const Ve=`go${B.split(`.`).slice(0,2).join(`.`)}`,K=`/work/build/main.a`,He=`/work/build/app.wasm`,q=Object.freeze({version:B,target:`wasip1/wasm`,packageAsset:je,packageCompressedSha256:V,packageSha256:H,manifestAsset:Me,manifestSha256:U,standardLibraryAsset:Ne,standardLibraryCompressedSha256:W,standardLibrarySha256:Pe,compilerSha256:Fe,linkerSha256:Ie});function Ue(e){let t=JSON.parse(new TextDecoder(`utf-8`,{fatal:!0}).decode(e)),n=J(t.compiler,`compiler`),r=J(t.linker,`linker`),i=J(t.output,`output`),a=J(t.standardLibrary,`standardLibrary`);if(t.schema!==se.goToolchain||t.version!==q.version||t.target!==q.target||n.command!==`go-compile`||n.sha256!==q.compilerSha256||r.command!==`go-link`||r.sha256!==q.linkerSha256||JSON.stringify(t.deterministicReplacements)!==JSON.stringify([`wasi_snapshot_preview1.random_get`,`wasi_snapshot_preview1.clock_time_get`,`wasi_snapshot_preview1.sock_accept`,`wasi_snapshot_preview1.sock_shutdown`])||t.filesystemMount!==null||i.sha256!==q.packageSha256||i.compressedSha256!==q.packageCompressedSha256||a.sha256!==q.standardLibrarySha256||a.compressedSha256!==q.standardLibraryCompressedSha256||a.format!==`WOJGO002`)throw Error(`Pinned Go toolchain manifest does not match the compiler contract.`);if(!Array.isArray(t.packages)||t.packages.length<200)throw Error(`Pinned Go toolchain manifest has an incomplete standard library.`);let o=``,s=t.packages.map(e=>{let t=J(e,`packages[]`);if(typeof t.importPath!=`string`||t.importPath<=o||typeof t.archivePath!=`string`||t.archivePath!==`/go/pkg/${t.importPath}.a`||typeof t.sha256!=`string`||!/^[a-f0-9]{64}$/.test(t.sha256))throw Error(`Pinned Go toolchain manifest contains a non-canonical package entry.`);return o=t.importPath,Object.freeze({importPath:t.importPath,archivePath:t.archivePath,sha256:t.sha256})});return Object.freeze({packages:Object.freeze(s)})}function We(e,t){let{dataOffset:n,entries:r}=Ge(e,t),i={"/go/VERSION":new TextEncoder().encode(`go${B}\n`)};for(let t of r)i[t.archivePath]=e.subarray(n+t.offset,n+t.offset+t.length);return i}function Ge(e,t){if(e.byteLength<12||new TextDecoder().decode(e.subarray(0,8))!==`WOJGO002`)throw Error(`Pinned Go standard library has an invalid format header.`);let n=12+new DataView(e.buffer,e.byteOffset+8,4).getUint32(0,!0);if(n>e.byteLength)throw Error(`Pinned Go standard-library index exceeds its archive.`);let r=JSON.parse(new TextDecoder(`utf-8`,{fatal:!0}).decode(e.subarray(12,n)));if(!Array.isArray(r)||r.length!==t.length)throw Error(`Pinned Go standard-library index does not match the manifest.`);let i=[],a=0;for(let o=0;o<t.length;o+=1){let s=J(r[o],`standardLibrary[]`),c=t[o];if(s.importPath!==c.importPath||s.archivePath!==c.archivePath||s.sha256!==c.sha256||!Number.isSafeInteger(s.offset)||s.offset!==a||!Number.isSafeInteger(s.length)||s.length<=8||n+s.offset+s.length>e.byteLength)throw Error(`Pinned Go standard-library index contains a non-canonical archive entry.`);i.push(s),a+=s.length}if(n+a!==e.byteLength)throw Error(`Pinned Go standard library contains trailing or missing archive bytes.`);return{dataOffset:n,entries:Object.freeze(i)}}function Ke(e){let t=new TextEncoder;return Object.fromEntries(Object.entries(e).map(([e,n])=>[e,typeof n==`string`?t.encode(n):n]))}function qe(e,t){let n=e.map(e=>`packagefile ${e.importPath}=${e.archivePath}`);return t&&n.push(`packagefile command-line-arguments=${K}`),`${n.join(`
2
+ `)}\n`}function Je(e,t,n){let r=new Map(t.map(e=>[e.importPath,e])),i=new Set(n.map(e=>e.importPath)),a=new Map,o=[],s=(e,t)=>{if(i.has(e))return;let n=r.get(e);if(!n)throw Error(`Go package '${t}' imports unlocked package '${e}'.`);let c=a.get(e);if(c!==`visited`){if(c===`visiting`)throw Error(`Go dependency import cycle contains '${e}'.`);a.set(e,`visiting`);for(let t of n.imports)s(t,e);a.set(e,`visited`),o.push(n)}};for(let t of e.filter(e=>e.path.endsWith(`.go`)))for(let e of Be(t.content))s(e,`main`);return o}function Ye(e,t){return[`-o`,e.archivePath,`-p`,e.importPath,`-lang`,Ve,`-complete`,`-buildid=wasm_oj_dependency_${e.importPath}`,`-c=1`,`-dwarf=false`,`-trimpath`,`/work=.`,`-importcfg`,`/work/importcfg`,`-pack`,...t===`debug`?[`-N`,`-l`]:[],...e.sourcePaths.map(e=>`/work/${e}`)]}function Xe(e,t){let n=e.filter(e=>e.path.endsWith(`.go`)).map(e=>`/work/${e.path}`).sort();if(n.length===0)throw Error(`A Go project must contain at least one .go source file.`);return[`-o`,K,`-p`,`main`,`-lang`,Ve,`-complete`,`-buildid=wasm_oj_submission`,`-c=1`,`-dwarf=false`,`-trimpath`,`/work=.`,`-importcfg`,`/work/importcfg`,`-pack`,...t===`debug`?[`-N`,`-l`]:[],...n]}function Ze(e){return[`-o`,He,`-importcfg`,`/work/importcfg.link`,`-buildmode=exe`,`-buildid=`,...e===`release`?[`-s`,`-w`]:[],K]}function Qe(){return{GOOS:`wasip1`,GOARCH:`wasm`,GOROOT:`/go`,GOENV:`off`,GOTOOLCHAIN:`local`,PWD:`/work`,SOURCE_DATE_EPOCH:`946684800`,TZ:`UTC`,LC_ALL:`C`}}function J(e,t){if(typeof e!=`object`||!e||Array.isArray(e))throw Error(`Pinned Go toolchain manifest '${t}' field must be an object.`);return e}function $e(e){return e.replace(/^file:\/\//,``).replace(/^\/?(?:workspace|project|work)\//,``).replace(/^\.\//,``)}function et(e){let t=[],n=/^(.*?\.go):(\d+)(?::(\d+))?:\s*(.+)$/gm,r;for(;(r=n.exec(e))!==null;)t.push({severity:`error`,message:r[4],file:$e(r[1]),line:Number(r[2]),column:Number(r[3]??1),source:`go`});return t}Object.freeze({files:256,bytesPerFile:4194304,totalBytes:16777216}),new TextEncoder;async function tt(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 Y=1048576,nt=Object.freeze({requirements:128,sourceFiles:128,sourceTextBytes:8*Y,hosts:32,roots:512,packages:512,referencesPerPackage:512,concurrency:16,metadataBytes:8*Y,packageBytes:256*Y,totalDownloadBytes:512*Y,archiveFiles:16384,unpackedBytes:512*Y});Object.freeze({packages:nt.packages,filesPerPackage:nt.archiveFiles,bytesPerFile:64*Y,totalBytes:nt.unpackedBytes});const rt=new TextEncoder;var it=class e{digest;binding;generation=0;files=new Map;inFlight=!1;disposed=!1;static hydrate(t,n){lt(n.digest);let r=new t(n);if(r.digest!==n.digest||r.generation!==0)throw r.free(),Error(`The runtime-core Go session did not bind the admitted toolchain digest at generation zero.`);return new e(n.digest,r)}constructor(e,t){this.digest=e,this.binding=t}async compile(e,t){if(this.disposed)throw Error(`The browser Go compiler session is disposed.`);if(this.inFlight)throw Error(`The browser Go compiler session accepts one build at a time.`);if(this.generation>=4294967295)throw Error(`The browser Go compiler session generation is exhausted.`);let n=at(e),r={};for(let[e,t]of n){let n=this.files.get(e);(n===void 0||!ct(n,t))&&(r[e]=t)}let i=[...this.files.keys()].filter(e=>!n.has(e)).sort(ot),a=this.generation+1;this.inFlight=!0;try{let e=await this.binding.compilePipeline({digest:this.digest,sourceDelta:{generation:a,upsertFiles:r,removePaths:i},stages:t.map(st)});if(e.digest!==this.digest||e.generation!==a||this.binding.digest!==this.digest||this.binding.generation!==a)throw Error(`The runtime-core Go session returned a stale or mismatched generation.`);if(!ut(e.response))throw Error(`The runtime-core Go session returned an invalid compiler response.`);return this.files=n,this.generation=a,e.response}finally{this.inFlight=!1}}dispose(){if(!this.disposed){if(this.inFlight)throw Error(`The browser Go compiler session cannot be disposed during a build.`);this.disposed=!0,this.files.clear(),this.binding.free()}}};function at(e){return new Map(Object.entries(e).sort(([e],[t])=>ot(e,t)).map(([e,t])=>[e,Uint8Array.from(t)]))}function ot(e,t){let n=rt.encode(e),r=rt.encode(t),i=Math.min(n.byteLength,r.byteLength);for(let e=0;e<i;e+=1)if(n[e]!==r[e])return n[e]-r[e];return n.byteLength-r.byteLength}function st(e){return{command:e.command,args:[...e.args],env:{...e.env},stdin:e.stdin,files:{...e.files},cwd:e.cwd,outputPaths:[...e.outputPaths],outputLimitBytes:e.outputLimitBytes}}function ct(e,t){if(e.byteLength!==t.byteLength)return!1;for(let n=0;n<e.byteLength;n+=1)if(e[n]!==t[n])return!1;return!0}function lt(e){if(!/^[a-f0-9]{64}$/.test(e))throw Error(`The browser Go compiler session digest must be a lowercase SHA-256.`)}function ut(e){if(typeof e!=`object`||!e)return!1;let t=e;return typeof t.ok==`boolean`?t.ok?Object.hasOwn(t,`result`)&&t.error===void 0:t.result===void 0&&typeof t.error==`object`&&t.error!==null&&typeof t.error.code==`string`&&typeof t.error.message==`string`:!1}function dt(){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}const X=self,ft=dt();let pt=Promise.resolve(),mt,Z,Q;X.addEventListener(`message`,e=>{pt=pt.then(()=>gt(e.data),()=>gt(e.data))});async function ht(e){let t=new URL(e.assetBaseUrl,ft);t.pathname.endsWith(`/`)||(t.pathname+=`/`);let n=await _t(t),r=Je(e.request.files,e.request.dependencies??[],n.manifest.packages),i=[...n.manifest.packages,...r.map(e=>({importPath:e.importPath,archivePath:e.archivePath}))],a=Ke({...Object.fromEntries(e.request.files.map(e=>[`/work/${e.path}`,e.content])),...Object.fromEntries((e.request.dependencyFiles??[]).map(e=>[`/work/${e.path}`,e.content])),"/work/importcfg":qe(i,!1),"/work/importcfg.link":qe(i,!0)}),o={env:Qe(),stdin:new Uint8Array,files:{},cwd:`/work`,outputLimitBytes:33554432},s=[...r.map(t=>({...o,command:`go-compile`,args:Ye(t,e.request.optimization),outputPaths:[t.archivePath]})),{...o,command:`go-compile`,args:Xe(e.request.files,e.request.optimization),outputPaths:[K]},{...o,command:`go-link`,args:Ze(e.request.optimization),outputPaths:[He]}],c=await n.session.compile(a,s);if(!c.ok||!c.result)throw Error(c.error?.message??`The WASM-OJ Go compiler pipeline failed.`);let l=new TextDecoder,ee=c.result.stages.map(e=>l.decode(e.stdout)).join(``),u=c.result.stages.map(e=>l.decode(e.stderr)).join(``),d=c.result.stages.at(-1),f=d?.code===0?d.outputFiles[He]:void 0,te=f!==void 0&&WebAssembly.validate(Uint8Array.from(f));return{success:c.result.stages.length===r.length+2&&c.result.stages.every(e=>e.code===0)&&te,wasm:f,stdout:ee,stderr:u,diagnostics:et(u)}}async function gt(e){try{if(e.type===`shutdown`){Z?.session.dispose(),Z=void 0,mt=void 0,Q=void 0,X.postMessage({type:`shutdown-complete`}),X.close();return}let t=await ht(e);X.postMessage({type:`result`,result:t},t.wasm?[t.wasm.buffer]:[])}catch(e){let t=e instanceof Error?e:Error(String(e));X.postMessage({type:`error`,message:t.message,stack:t.stack})}}function _t(e){if(Q!==void 0&&Q!==e.href)throw Error(`The persistent Go stage cannot change its toolchain asset base URL.`);return Q=e.href,mt??=vt(e),mt}async function vt(t){let[,n,r,i]=await Promise.all([ae({module_or_path:new URL(oe,ft)}),yt(t),bt(t),xt(t)]),a={manifest:r,session:it.hydrate(e,{digest:q.manifestSha256,toolchain:{package:n,memoryLimitBytes:536870912},standardLibraryFiles:We(i,r.packages)})};return Z=a,a}async function yt(e){let t=await St(await Ct(e,q.packageAsset,q.packageCompressedSha256),`Go WebC`);return await $(`decompressed Go WebC`,t,q.packageSha256),t}async function bt(e){return Ue(await wt(e,q.manifestAsset,q.manifestSha256))}async function xt(e){let t=await St(await Ct(e,q.standardLibraryAsset,q.standardLibraryCompressedSha256),`Go standard library`);return await $(`decompressed Go standard library`,t,q.standardLibrarySha256),t}async function St(e,t){let n=e.body;if(!n)throw Error(`Pinned ${t} response has no body.`);return new Uint8Array(await new Response(n.pipeThrough(new DecompressionStream(`gzip`))).arrayBuffer())}async function Ct(e,t,n){let r=await fetch(ze(t,e));if(!r.ok)throw Error(`Unable to load pinned Go toolchain asset '${t}' (${r.status}).`);return await $(t,new Uint8Array(await r.clone().arrayBuffer()),n),r}async function wt(e,t,n){let r=await fetch(ze(t,e));if(!r.ok)throw Error(`Unable to load pinned Go toolchain asset '${t}' (${r.status}).`);let i=new Uint8Array(await r.arrayBuffer());return await $(t,i,n),i}async function $(e,t,n){let r=await tt(t);if(r!==n)throw Error(`Pinned Go toolchain asset '${e}' has digest ${r}; expected ${n}.`)}
@@ -0,0 +1 @@
1
+ var e=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,u.unregister(this),e}free(){let e=this.__destroy_into_raw();M.__wbg_gocompilersession_free(e,0)}compilePipeline(e){return M.gocompilersession_compilePipeline(this.__wbg_ptr,e)}get digest(){let e,t;try{let n=M.gocompilersession_digest(this.__wbg_ptr);return e=n[0],t=n[1],y(n[0],n[1])}finally{M.__wbindgen_free(e,t,1)}}get generation(){let e=M.gocompilersession_generation(this.__wbg_ptr);if(e[2])throw E(e[1]);return e[0]>>>0}constructor(e){let t=M.gocompilersession_new(e);if(t[2])throw E(t[1]);return this.__wbg_ptr=t[0],u.register(this,this.__wbg_ptr,this),this}};Symbol.dispose&&(e.prototype[Symbol.dispose]=e.prototype.free);var t=class e{static __wrap(t){let n=Object.create(e.prototype);return n.__wbg_ptr=t,d.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,d.unregister(this),e}free(){let e=this.__destroy_into_raw();M.__wbg_trap_free(e,0)}static __wbg_wasmer_trap(){M.trap___wbg_wasmer_trap()}};Symbol.dispose&&(t.prototype[Symbol.dispose]=t.prototype.free);function n(e,t,n,r,i,a,o){let s=M.run_interactive_side(e,t,n,r,i,a,o);if(s[2])throw E(s[1]);return E(s[0])}function r(){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(y(e,t))},__wbg_Number_3890faa6d3ff057d:function(e){return Number(e)},__wbg_String_8564e559799eccda:function(e,t){let n=T(String(t),M.__wbindgen_malloc,M.__wbindgen_realloc),r=j;v().setInt32(e+4,r,!0),v().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;v().setBigInt64(e+8,C(r)?BigInt(0):r,!0),v().setInt32(e+0,!C(r),!0)},__wbg___wbindgen_boolean_get_c9c83ebd41b34df3:function(e){let t=e,n=typeof t==`boolean`?t:void 0;return C(n)?16777215:+!!n},__wbg___wbindgen_debug_string_a57024b9c6e4a48b:function(e,t){let n=T(m(t),M.__wbindgen_malloc,M.__wbindgen_realloc),r=j;v().setInt32(e+4,r,!0),v().setInt32(e+0,n,!0)},__wbg___wbindgen_function_table_cad76479cff6555c:function(){return M.__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;v().setFloat64(e+8,C(r)?0:r,!0),v().setInt32(e+0,!C(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=C(r)?0:T(r,M.__wbindgen_malloc,M.__wbindgen_realloc),a=j;v().setInt32(e+4,a,!0),v().setInt32(e+0,i,!0)},__wbg___wbindgen_throw_bb96b2010945f0bc:function(e,t){throw Error(y(e,t))},__wbg__wbg_cb_unref_be22cc64ae6946a0:function(e){e._wbg_cb_unref()},__wbg_apply_6cd9daeacef161ce:function(){return S(function(e,t,n){return Reflect.apply(e,t,n)},arguments)},__wbg_apply_cb180996ed7fdae9:function(){return S(function(e,t,n){return e.apply(t,n)},arguments)},__wbg_arrayBuffer_16433f17fbd74397:function(){return S(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 S(function(e,t){return e.call(t)},arguments)},__wbg_call_35dba3c747ad7521:function(){return S(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,y(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(y(e,t))}finally{M.__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 S(function(e){return Reflect.getPrototypeOf(e)},arguments)},__wbg_getRandomValues_436a51d0629d84e1:function(){return S(function(e,t){globalThis.crypto.getRandomValues(g(e,t))},arguments)},__wbg_getTime_63fb0332e6c4ec17:function(e){return e.getTime()},__wbg_getTimezoneOffset_4baa793e0d3962a8:function(e){return e.getTimezoneOffset()},__wbg_get_70e2ce0f7d009e1f:function(){return S(function(e,t){return e.get(t>>>0)},arguments)},__wbg_get_971a0c45d172643f:function(){return S(function(e,t){return Reflect.get(e,t)},arguments)},__wbg_get_c0c8f8d7da0c03dd:function(e,t){return e[t>>>0]},__wbg_get_d173c0308df22d37:function(){return S(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 S(function(e,t){return e.grow(t>>>0)},arguments)},__wbg_grow_adf1e32e3f3bb932:function(){return S(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 S(function(e){return new WebAssembly.Tag(e)},arguments)},__wbg_new_77cc4f4f472aeb81:function(e){return new Uint8Array(e)},__wbg_new_82966bafe01b664f:function(){return S(function(e){return new WebAssembly.Table(e)},arguments)},__wbg_new_bd7a161a1b96dc2a:function(){return S(function(e,t){return new WebAssembly.Global(e,t)},arguments)},__wbg_new_cdf041679ded4c5f:function(){return new Map},__wbg_new_d1599c9e69d35606:function(){return S(function(e,t){return new WebAssembly.Instance(e,t)},arguments)},__wbg_new_e3fb27841b78e4f4:function(){return S(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 S(function(e){return new WebAssembly.Memory(e)},arguments)},__wbg_new_from_slice_3eea173078478cfe:function(e,t){return new Uint8Array(g(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 c(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(y(e,t),y(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 S(function(e,t,n){return new Request(y(e,t),n)},arguments)},__wbg_next_42cf16ee0dafc9e2:function(){return S(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(g(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 S(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 S(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(g(t,n))},__wbg_set_body_f301b68bff45f419:function(e,t){e.body=t},__wbg_set_e92392c4b44c5de1:function(){return S(function(e,t,n,r,i){e.set(y(t,n),y(r,i))},arguments)},__wbg_set_method_cf2b992b9a610bc3:function(e,t,n){e.method=y(t,n)},__wbg_set_mode_d6479dfd6696c8d3:function(e,t){e.mode=l[t]},__wbg_set_value_1b7bd2bc4ef248bb:function(e,t){e.value=t},__wbg_stack_3b0d974bbf31e44f:function(e,t){let n=t.stack,r=T(n,M.__wbindgen_malloc,M.__wbindgen_realloc),i=j;v().setInt32(e+4,i,!0),v().setInt32(e+0,r,!0)},__wbg_static_accessor_GLOBAL_THIS_466428f93b4eaa76:function(){let e=typeof globalThis>`u`?null:globalThis;return C(e)?0:f(e)},__wbg_static_accessor_GLOBAL_c7aea38d4de089bc:function(){let e=typeof global>`u`?null:global;return C(e)?0:f(e)},__wbg_static_accessor_SELF_42d4fae05e59267a:function(){let e=typeof self>`u`?null:self;return C(e)?0:f(e)},__wbg_static_accessor_WINDOW_e0db14a0eba6a812:function(){let e=typeof window>`u`?null:window;return C(e)?0:f(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=T(t.toString(n),M.__wbindgen_malloc,M.__wbindgen_realloc),i=j;v().setInt32(e+4,i,!0),v().setInt32(e+0,r,!0)},__wbg_trap_new:function(e){return t.__wrap(e)},__wbg_value_1e2369fab29b420e:function(e){return e.value},__wbg_value_728796e3a1723ff8:function(e){return e.value},__wbg_wait_5f03a1b29e76c8cb:function(){return S(function(e,t,n,r){return Atomics.wait(e,t>>>0,n,r)},arguments)},__wbindgen_cast_0000000000000001:function(e,t){return w(e,t,i)},__wbindgen_cast_0000000000000002:function(e,t){return w(e,t,o)},__wbindgen_cast_0000000000000003:function(e,t){return w(e,t,s)},__wbindgen_cast_0000000000000004:function(e,t){return w(e,t,a)},__wbindgen_cast_0000000000000005:function(e){return e},__wbindgen_cast_0000000000000006:function(e){return e},__wbindgen_cast_0000000000000007:function(e,t){return g(e,t)},__wbindgen_cast_0000000000000008:function(e,t){return y(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=h(e,t);return M.__wbindgen_free(e,t*4,4),n},__wbindgen_init_externref_table:function(){let e=M.__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 i(e,t,n){let r=M.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 E(r[0])}function a(e,t,n){let r=M.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 E(r[0])}function o(e,t,n){let r=M.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 E(r[1]);return E(r[0])}function s(e,t,n){let r=M.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 E(r[1]);return E(r[0])}function c(e,t,n,r){M.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 l=[`same-origin`,`no-cors`,`cors`,`navigate`],u=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>M.__wbg_gocompilersession_free(e,1)),d=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>M.__wbg_trap_free(e,1));function f(e){let t=M.__externref_table_alloc();return M.__wbindgen_externrefs.set(t,e),t}const p=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>M.__wbindgen_destroy_closure(e.a,e.b));function m(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+=m(e[0]));for(let r=1;r<t;r++)n+=`, `+m(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 h(e,t){e>>>=0;let n=v(),r=[];for(let i=e;i<e+4*t;i+=4)r.push(M.__wbindgen_externrefs.get(n.getUint32(i,!0)));return M.__externref_drop_slice(e,t),r}function g(e,t){return e>>>=0,x().subarray(e/1,e/1+t)}let _=null;function v(){return(_===null||_.buffer.detached===!0||_.buffer.detached===void 0&&_.buffer!==M.memory.buffer)&&(_=new DataView(M.memory.buffer)),_}function y(e,t){return k(e>>>0,t)}let b=null;function x(){return(b===null||b.byteLength===0)&&(b=new Uint8Array(M.memory.buffer)),b}function S(e,t){try{return e.apply(this,t)}catch(e){let t=f(e);M.__wbindgen_exn_store(t)}}function C(e){return e==null}function w(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&&(M.__wbindgen_destroy_closure(r.a,r.b),r.a=0,p.unregister(r))},p.register(i,r,r),i}function T(e,t,n){if(n===void 0){let n=A.encode(e),r=t(n.length,1)>>>0;return x().subarray(r,r+n.length).set(n),j=n.length,r}let r=e.length,i=t(r,1)>>>0,a=x(),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=x().subarray(i+o,i+r),a=A.encodeInto(e,t);o+=a.written,i=n(i,r,o,1)>>>0}return j=o,i}function E(e){let t=M.__wbindgen_externrefs.get(e);return M.__externref_table_dealloc(e),t}let D=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0});D.decode();let O=0;function k(e,t){return O+=t,O>=2146435072&&(D=new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}),D.decode(),O=t),D.decode(x().subarray(e,e+t))}const A=new TextEncoder;`encodeInto`in A||(A.encodeInto=function(e,t){let n=A.encode(e);return t.set(n),{read:e.length,written:n.length}});let j=0,M;function N(e,t){return M=e.exports,_=null,b=null,M.__wbindgen_start(),M}async function P(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 F(e){if(M!==void 0)return M;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=r();(typeof e==`string`||typeof Request==`function`&&e instanceof Request||typeof URL==`function`&&e instanceof URL)&&(e=fetch(e));let{instance:n,module:i}=await P(await e,t);return N(n,i)}var I=class{header;data;constructor(e){this.header=new Int32Array(e,0,8),this.data=new Uint8Array(e,32)}buffered(){return Atomics.load(this.header,1)-Atomics.load(this.header,0)>>>0}signal(e,t){Atomics.store(this.header,e,t),Atomics.add(this.header,4,1),Atomics.notify(this.header,4)}sequence(){return Atomics.load(this.header,4)}sleep(e){Atomics.wait(this.header,4,e,100)}},L=class extends I{poll(){let e=this.buffered();return e>0?e:Atomics.load(this.header,2)===0?-1:this.buffered()}wait(){for(;;){let e=this.sequence(),t=this.poll();if(t>=0)return t;this.sleep(e)}}read(e){let t=this.wait(),n=Math.min(t,e),r=new Uint8Array(n);if(n===0)return r;let i=Atomics.load(this.header,0),a=(i>>>0)%this.data.length,o=Math.min(n,this.data.length-a);return r.set(this.data.subarray(a,a+o)),r.set(this.data.subarray(0,n-o),o),this.signal(0,i+n|0),r}close(){this.signal(3,1)}},R=class extends I{write(e){if(Atomics.load(this.header,3)!==0)return-1;let t=0;for(;t<e.length;){let n=this.sequence();if(Atomics.load(this.header,3)!==0)return-1;let r=this.data.length-this.buffered();if(r===0){this.sleep(n);continue}let i=Math.min(r,e.length-t),a=Atomics.load(this.header,1),o=(a>>>0)%this.data.length,s=Math.min(i,this.data.length-o);this.data.set(e.subarray(t,t+s),o),this.data.set(e.subarray(t+s,t+i),0),this.signal(1,a+i|0),t+=i}return t}close(){this.signal(2,1)}};const z=self;function B(e){z.postMessage(e)}z.addEventListener(`message`,e=>{V(e.data)},{once:!0});async function V(e){let t=new L(e.input),r=new R(e.output),i;try{await F({module_or_path:e.runtimeCore}),i=n(e.request,e=>t.read(e),()=>t.poll(),()=>t.wait(),e=>r.write(e),e=>(e===0?t:r).close(),e=>{e&&B({type:`running`})})}catch(e){B({type:`error`,message:e instanceof Error?e.message:String(e)});return}finally{r.close(),t.close()}B({type:`result`,response:i})}