@wasm-oj/browser 0.2.1 → 0.2.3

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.
@@ -0,0 +1,448 @@
1
+ /*!
2
+ * @wasmer/sdk
3
+ * Wasmer Javascript SDK. It allows interacting with Wasmer Packages in Node.js and the Browser.
4
+ *
5
+ * @version v0.8.0
6
+ * @author Wasmer Engineering Team <engineering@wasmer.io>
7
+ * @homepage https://github.com/wasmerio/wasmer-js
8
+ * @repository git+https://github.com/wasmerio/wasmer-js.git
9
+ * @license MIT
10
+ */
11
+ let e,t=null;function n(){return t!==null&&t.buffer===e.memory.buffer||(t=new Uint8Array(e.memory.buffer)),t}let r=typeof TextDecoder<`u`?new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error(`TextDecoder not available`)}};typeof TextDecoder<`u`&&r.decode();let i=0;function a(e,t){return function(e,t){return i+=t,i>=2146435072&&(r=typeof TextDecoder<`u`?new TextDecoder(`utf-8`,{ignoreBOM:!0,fatal:!0}):{decode:()=>{throw Error(`TextDecoder not available`)}},r.decode(),i=t),r.decode(n().slice(e,e+t))}(e>>>=0,t)}let o=0;const s=typeof TextEncoder<`u`?new TextEncoder(`utf-8`):{encode:()=>{throw Error(`TextEncoder not available`)}};function c(e,t,r){if(r===void 0){let r=s.encode(e),i=t(r.length,1)>>>0;return n().subarray(i,i+r.length).set(r),o=r.length,i}let i=e.length,a=t(i,1)>>>0,c=n(),l=0;for(;l<i;l++){let t=e.charCodeAt(l);if(t>127)break;c[a+l]=t}if(l!==i){l!==0&&(e=e.slice(l)),a=r(a,i,i=l+3*e.length,1)>>>0;let t=function(e,t){let n=s.encode(e);return t.set(n),{read:e.length,written:n.length}}(e,n().subarray(a+l,a+i));l+=t.written,a=r(a,i,l,1)>>>0}return o=l,a}let l=null;function u(){return l!==null&&l.buffer===e.memory.buffer||(l=new DataView(e.memory.buffer)),l}function d(e){return e==null}function f(t){let n=e.__externref_table_alloc();return e.__wbindgen_export_5.set(n,t),n}function p(t,n){try{return t.apply(this,n)}catch(t){let n=f(t);e.__wbindgen_exn_store(n)}}function m(e,t){return e>>>=0,n().subarray(e/1,e/1+t)}const h=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((t=>{e.__wbindgen_export_6.get(t.dtor)(t.a,t.b)}));function g(t,n,r,i){let a={a:t,b:n,cnt:1,dtor:r},o=(...t)=>{a.cnt++;let n=a.a;a.a=0;try{return i(n,a.b,...t)}finally{--a.cnt==0?(e.__wbindgen_export_6.get(a.dtor)(n,a.b),h.unregister(a)):a.a=n}};return o.original=a,h.register(o,a,a),o}function _(t,n,r,i){let a={a:t,b:n,cnt:1,dtor:r},o=(...t)=>{a.cnt++;try{return i(a.a,a.b,...t)}finally{--a.cnt==0&&(e.__wbindgen_export_6.get(a.dtor)(a.a,a.b),a.a=0,h.unregister(a))}};return o.original=a,h.register(o,a,a),o}function v(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+=v(e[0]));for(let r=1;r<t;r++)n+=`, `+v(e[r]);return n+=`]`,n}let n=/\[object ([^\]]+)\]/.exec(toString.call(e)),r;if(!(n&&n.length>1))return toString.call(e);if(r=n[1],r==`Object`)try{return`Object(`+JSON.stringify(e)+`)`}catch{return`Object`}return e instanceof Error?`${e.name}: ${e.message}\n${e.stack}`:r}function y(t){let n=e.__wbindgen_export_5.get(t);return e.__externref_table_dealloc(t),n}function b(e,t){if(!(e instanceof t))throw Error(`expected instance of ${t.name}`)}function ee(t){e.setSDKUrl(t)}function te(t){e.setWorkerUrl(t)}function x(t){var n=d(t)?0:c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;let i=e.initializeLogger(n,r);if(i[1])throw y(i[0])}function S(t,n,r){e.closure542_externref_shim(t,n,r)}function C(t,n,r){return e.closure752_externref_shim(t,n,r)}function w(t,n){return e.closure751_externref_shim(t,n)}function T(t,n,r){let i=e.closure1343_externref_shim_multivalue_shim(t,n,r);if(i[2])throw y(i[1]);return y(i[0])}function ne(t,n,r){let i=e.closure1346_externref_shim_multivalue_shim(t,n,r);if(i[1])throw y(i[0])}const E=[`blob`,`arraybuffer`],D=[`omit`,`same-origin`,`include`],O=[`same-origin`,`no-cors`,`cors`,`navigate`],re=[`classic`,`module`];typeof FinalizationRegistry>`u`||new FinalizationRegistry((t=>e.__wbg_atom_free(t>>>0,1)));const ie=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((t=>e.__wbg_command_free(t>>>0,1)));var ae=class t{static __wrap(e){e>>>=0;let n=Object.create(t.prototype);return n.__wbg_ptr=e,ie.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,ie.unregister(this),e}free(){let t=this.__destroy_into_raw();e.__wbg_command_free(t,0)}get name(){return e.__wbg_get_command_name(this.__wbg_ptr)}set name(t){e.__wbg_set_command_name(this.__wbg_ptr,t)}run(t){return e.command_run(this.__wbg_ptr,d(t)?0:f(t))}binary(){return e.command_binary(this.__wbg_ptr)}};const oe=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((t=>e.__wbg_deployedapp_free(t>>>0,1)));var se=class t{static __wrap(e){e>>>=0;let n=Object.create(t.prototype);return n.__wbg_ptr=e,oe.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,oe.unregister(this),e}free(){let t=this.__destroy_into_raw();e.__wbg_deployedapp_free(t,0)}get id(){let t,n;try{let r=e.__wbg_get_deployedapp_id(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}set id(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_deployedapp_id(this.__wbg_ptr,n,r)}get created_at(){let t,n;try{let r=e.__wbg_get_deployedapp_created_at(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}set created_at(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_deployedapp_created_at(this.__wbg_ptr,n,r)}get version(){let t,n;try{let r=e.__wbg_get_deployedapp_version(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}set version(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_deployedapp_version(this.__wbg_ptr,n,r)}get description(){let t=e.__wbg_get_deployedapp_description(this.__wbg_ptr),n;return t[0]!==0&&(n=a(t[0],t[1]).slice(),e.canonical_abi_free(t[0],1*t[1],1)),n}set description(t){var n=d(t)?0:c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_deployedapp_description(this.__wbg_ptr,n,r)}get yaml_config(){let t,n;try{let r=e.__wbg_get_deployedapp_yaml_config(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}set yaml_config(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_deployedapp_yaml_config(this.__wbg_ptr,n,r)}get user_yaml_config(){let t,n;try{let r=e.__wbg_get_deployedapp_user_yaml_config(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}set user_yaml_config(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_deployedapp_user_yaml_config(this.__wbg_ptr,n,r)}get config(){let t,n;try{let r=e.__wbg_get_deployedapp_config(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}set config(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_deployedapp_config(this.__wbg_ptr,n,r)}get json_config(){let t,n;try{let r=e.__wbg_get_deployedapp_json_config(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}set json_config(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_deployedapp_json_config(this.__wbg_ptr,n,r)}get url(){let t,n;try{let r=e.__wbg_get_deployedapp_url(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}set url(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_deployedapp_url(this.__wbg_ptr,n,r)}get app_id(){let t=e.__wbg_get_deployedapp_app_id(this.__wbg_ptr),n;return t[0]!==0&&(n=a(t[0],t[1]).slice(),e.canonical_abi_free(t[0],1*t[1],1)),n}set app_id(t){var n=d(t)?0:c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_deployedapp_app_id(this.__wbg_ptr,n,r)}};const k=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((t=>e.__wbg_directory_free(t>>>0,1)));var ce=class{__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,k.unregister(this),e}free(){let t=this.__destroy_into_raw();e.__wbg_directory_free(t,0)}__getClassname(){let t,n;try{let r=e.directory___getClassname(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}constructor(t){let n=e.directory_new(d(t)?0:f(t));if(n[2])throw y(n[1]);return this.__wbg_ptr=n[0]>>>0,k.register(this,this.__wbg_ptr,this),this}readDir(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;return e.directory_readDir(this.__wbg_ptr,n,r)}writeFile(t,n){let r=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),i=o;return e.directory_writeFile(this.__wbg_ptr,r,i,n)}readFile(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;return e.directory_readFile(this.__wbg_ptr,n,r)}readTextFile(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;return e.directory_readTextFile(this.__wbg_ptr,n,r)}createDir(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;return e.directory_createDir(this.__wbg_ptr,n,r)}removeDir(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;return e.directory_removeDir(this.__wbg_ptr,n,r)}removeFile(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;return e.directory_removeFile(this.__wbg_ptr,n,r)}};const le=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((t=>e.__wbg_instance_free(t>>>0,1)));var ue=class t{static __wrap(e){e>>>=0;let n=Object.create(t.prototype);return n.__wbg_ptr=e,le.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,le.unregister(this),e}free(){let t=this.__destroy_into_raw();e.__wbg_instance_free(t,0)}get stdin(){return e.__wbg_get_instance_stdin(this.__wbg_ptr)}get stdout(){return e.__wbg_get_instance_stdout(this.__wbg_ptr)}get stderr(){return e.__wbg_get_instance_stderr(this.__wbg_ptr)}wait(){let t=this.__destroy_into_raw();return e.instance_wait(t)}};typeof FinalizationRegistry>`u`||new FinalizationRegistry((t=>e.__wbg_intounderlyingbytesource_free(t>>>0,1))),typeof FinalizationRegistry>`u`||new FinalizationRegistry((t=>e.__wbg_intounderlyingsink_free(t>>>0,1))),typeof FinalizationRegistry>`u`||new FinalizationRegistry((t=>e.__wbg_intounderlyingsource_free(t>>>0,1)));const de=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((t=>e.__wbg_publishpackageoutput_free(t>>>0,1)));var fe=class t{static __wrap(e){e>>>=0;let n=Object.create(t.prototype);return n.__wbg_ptr=e,de.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,de.unregister(this),e}free(){let t=this.__destroy_into_raw();e.__wbg_publishpackageoutput_free(t,0)}get manifest(){return e.__wbg_get_publishpackageoutput_manifest(this.__wbg_ptr)}set manifest(t){e.__wbg_set_publishpackageoutput_manifest(this.__wbg_ptr,t)}get hash(){let t,n;try{let r=e.__wbg_get_publishpackageoutput_hash(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}set hash(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_deployedapp_id(this.__wbg_ptr,n,r)}};const pe=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((t=>e.__wbg_readablestreamsource_free(t>>>0,1)));var me=class t{static __wrap(e){e>>>=0;let n=Object.create(t.prototype);return n.__wbg_ptr=e,pe.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,pe.unregister(this),e}free(){let t=this.__destroy_into_raw();e.__wbg_readablestreamsource_free(t,0)}pull(t){return e.readablestreamsource_pull(this.__wbg_ptr,t)}cancel(){e.readablestreamsource_cancel(this.__wbg_ptr)}get type(){return e.readablestreamsource_type(this.__wbg_ptr)}};const he=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((t=>e.__wbg_runtime_free(t>>>0,1)));var ge=class t{static __wrap(e){e>>>=0;let n=Object.create(t.prototype);return n.__wbg_ptr=e,he.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,he.unregister(this),e}free(){let t=this.__destroy_into_raw();e.__wbg_runtime_free(t,0)}__getClassname(){let t,n;try{let r=e.runtime___getClassname(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}constructor(t){let n=e.runtime_js_new(d(t)?0:f(t));if(n[2])throw y(n[1]);return this.__wbg_ptr=n[0]>>>0,he.register(this,this.__wbg_ptr,this),this}static global(n){let r=e.runtime_global(d(n)?16777215:+!!n);if(r[2])throw y(r[1]);return r[0]===0?void 0:t.__wrap(r[0])}};typeof FinalizationRegistry>`u`||new FinalizationRegistry((t=>e.__wbg_threadpoolworker_free(t>>>0,1)));const _e=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((t=>e.__wbg_trap_free(t>>>0,1)));var ve=class t{static __wrap(e){e>>>=0;let n=Object.create(t.prototype);return n.__wbg_ptr=e,_e.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,_e.unregister(this),e}free(){let t=this.__destroy_into_raw();e.__wbg_trap_free(t,0)}static __wbg_wasmer_trap(){e.trap___wbg_wasmer_trap()}};const ye=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((t=>e.__wbg_user_free(t>>>0,1)));var be=class t{static __wrap(e){e>>>=0;let n=Object.create(t.prototype);return n.__wbg_ptr=e,ye.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,ye.unregister(this),e}free(){let t=this.__destroy_into_raw();e.__wbg_user_free(t,0)}get id(){let t,n;try{let r=e.__wbg_get_user_id(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}set id(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_deployedapp_id(this.__wbg_ptr,n,r)}get username(){let t,n;try{let r=e.__wbg_get_user_username(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}set username(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_deployedapp_created_at(this.__wbg_ptr,n,r)}};const xe=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((t=>e.__wbg_userpackagedefinition_free(t>>>0,1)));var Se=class t{static __wrap(e){e>>>=0;let n=Object.create(t.prototype);return n.__wbg_ptr=e,xe.register(n,n.__wbg_ptr,n),n}static __unwrap(e){return e instanceof t?e.__destroy_into_raw():0}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,xe.unregister(this),e}free(){let t=this.__destroy_into_raw();e.__wbg_userpackagedefinition_free(t,0)}__getClassname(){let t,n;try{let r=e.userpackagedefinition___getClassname(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}get hash(){let t,n;try{let r=e.__wbg_get_userpackagedefinition_hash(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}set hash(t){let n=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),r=o;e.__wbg_set_userpackagedefinition_hash(this.__wbg_ptr,n,r)}};typeof FinalizationRegistry>`u`||new FinalizationRegistry((t=>e.__wbg_volume_free(t>>>0,1)));const Ce=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((t=>e.__wbg_wasmer_free(t>>>0,1)));var we=class t{static __wrap(e){e>>>=0;let n=Object.create(t.prototype);return n.__wbg_ptr=e,Ce.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ce.unregister(this),e}free(){let t=this.__destroy_into_raw();e.__wbg_wasmer_free(t,0)}static createPackage(t){return e.wasmer_createPackage(t)}static publishPackage(n){return b(n,t),e.wasmer_publishPackage(n.__wbg_ptr)}static whoami(){return e.wasmer_whoami()}__getClassname(){let t,n;try{let r=e.wasmer___getClassname(this.__wbg_ptr);return t=r[0],n=r[1],a(r[0],r[1])}finally{e.canonical_abi_free(t,n,1)}}get entrypoint(){let t=e.__wbg_get_wasmer_entrypoint(this.__wbg_ptr);return t===0?void 0:ae.__wrap(t)}set entrypoint(t){let n=0;d(t)||(b(t,ae),n=t.__destroy_into_raw()),e.__wbg_set_wasmer_entrypoint(this.__wbg_ptr,n)}get commands(){return e.__wbg_get_wasmer_commands(this.__wbg_ptr)}set commands(t){e.__wbg_set_wasmer_commands(this.__wbg_ptr,t)}get pkg(){let t=e.__wbg_get_wasmer_pkg(this.__wbg_ptr);return t===0?void 0:Se.__wrap(t)}set pkg(t){let n=0;d(t)||(b(t,Se),n=t.__destroy_into_raw()),e.__wbg_set_wasmer_pkg(this.__wbg_ptr,n)}static fromRegistry(t,n){let r=c(t,e.__wbindgen_malloc,e.__wbindgen_realloc),i=o;return e.wasmer_fromRegistry(r,i,d(n)?0:f(n))}static fromFile(t,n){return e.wasmer_fromFile(t,d(n)?0:f(n))}static fromWasm(n,r){let i=e.wasmer_fromWasm(n,d(r)?0:f(r));if(i[2])throw y(i[1]);return t.__wrap(i[0])}static deployApp(t){return e.wasmer_deployApp(t)}static deleteApp(t){return e.wasmer_deleteApp(t)}};typeof FinalizationRegistry>`u`||new FinalizationRegistry((t=>e.__wbg_wasmerpackage_free(t>>>0,1)));const Te=typeof FinalizationRegistry>`u`?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry((t=>e.__wbg_writablestreamsink_free(t>>>0,1)));var Ee=class t{static __wrap(e){e>>>=0;let n=Object.create(t.prototype);return n.__wbg_ptr=e,Te.register(n,n.__wbg_ptr,n),n}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Te.unregister(this),e}free(){let t=this.__destroy_into_raw();e.__wbg_writablestreamsink_free(t,0)}close(){return e.writablestreamsink_close(this.__wbg_ptr)}abort(t){e.writablestreamsink_abort(this.__wbg_ptr,t)}write(t){return e.writablestreamsink_write(this.__wbg_ptr,t)}};const De=new Set([`basic`,`cors`,`default`]);function Oe(){let t={wbg:{}};return t.wbg.__wbg_BigInt_6e3a01c3311ee796=function(e){return BigInt(e)},t.wbg.__wbg_Error_0497d5bdba9362e5=function(e,t){return Error(a(e,t))},t.wbg.__wbg_String_8f0eb39a4a4c2f66=function(t,n){let r=c(String(n),e.__wbindgen_malloc,e.__wbindgen_realloc),i=o;u().setInt32(t+4,i,!0),u().setInt32(t+0,r,!0)},t.wbg.__wbg_abort_18ba44d46e13d7fe=function(e){e.abort()},t.wbg.__wbg_apiKey_136c64a1dd577ea4=function(t,n){let r=n.apiKey;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.__wbg_append_0342728346e47425=function(){return p((function(e,t,n,r,i){e.append(a(t,n),a(r,i))}),arguments)},t.wbg.__wbg_apply_8745fdcf855d21f5=function(){return p((function(e,t,n){return e.apply(t,n)}),arguments)},t.wbg.__wbg_apply_d49e9c0472b015cc=function(){return p((function(e,t,n){return Reflect.apply(e,t,n)}),arguments)},t.wbg.__wbg_args_ce3906bca5fd2b6f=function(e){let t=e.args;return d(t)?0:f(t)},t.wbg.__wbg_arrayBuffer_d58b858456021d7f=function(){return p((function(e){return e.arrayBuffer()}),arguments)},t.wbg.__wbg_assert_83d6354717cc805b=function(e,t){console.assert(e!==0,t)},t.wbg.__wbg_async_89f8ca583cefeb81=function(e){return e.async},t.wbg.__wbg_bind_1e748fe02d440d48=function(e,t,n){return e.bind(t,n)},t.wbg.__wbg_bind_d075481af636a524=function(e,t,n,r){return e.bind(t,n,r)},t.wbg.__wbg_buffer_a1a27a0dfa70165d=function(e){return e.buffer},t.wbg.__wbg_buffer_e495ba54cee589cc=function(e){return e.buffer},t.wbg.__wbg_byobRequest_56aa768ee4dfed17=function(e){let t=e.byobRequest;return d(t)?0:f(t)},t.wbg.__wbg_byteLength_937f8a52f9697148=function(e){return e.byteLength},t.wbg.__wbg_byteLength_bf6d30ef92bae19b=function(e){return e.byteLength},t.wbg.__wbg_byteOffset_4d94b7170e641898=function(e){return e.byteOffset},t.wbg.__wbg_call_f2db6205e5c51dc8=function(){return p((function(e,t,n){return e.call(t,n)}),arguments)},t.wbg.__wbg_call_fbe8be8bf6436ce5=function(){return p((function(e,t){return e.call(t)}),arguments)},t.wbg.__wbg_close_290fb040af98d3ac=function(){return p((function(e){e.close()}),arguments)},t.wbg.__wbg_close_b2641ef0870e518c=function(){return p((function(e){e.close()}),arguments)},t.wbg.__wbg_close_f203332f9561bf29=function(e){return e.close()},t.wbg.__wbg_colno_1fbc9165b6cd1b26=function(e){return e.colno},t.wbg.__wbg_command_new=function(e){return ae.__wrap(e)},t.wbg.__wbg_constructor_1a4f07ad72d5cac3=function(e){return e.constructor},t.wbg.__wbg_createObjectURL_1acd82bf8749f5a9=function(){return p((function(t,n){let r=c(URL.createObjectURL(n),e.__wbindgen_malloc,e.__wbindgen_realloc),i=o;u().setInt32(t+4,i,!0),u().setInt32(t+0,r,!0)}),arguments)},t.wbg.__wbg_crypto_ed58b8e10a292839=function(e){return e.crypto},t.wbg.__wbg_customSections_3a8a19674e217d36=function(e,t,n){return WebAssembly.Module.customSections(e,a(t,n))},t.wbg.__wbg_cwd_13b069cde8a90c68=function(t,n){let r=n.cwd;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.__wbg_data_fffd43bf0ca75fff=function(e){return e.data},t.wbg.__wbg_defineProperty_6a428a581612fed4=function(e,t,n){return Object.defineProperty(e,t,n)},t.wbg.__wbg_deleteProperty_ec71c2c829351683=function(){return p((function(e,t){return Reflect.deleteProperty(e,t)}),arguments)},t.wbg.__wbg_deployedapp_new=function(e){return se.__wrap(e)},t.wbg.__wbg_desiredSize_dd7689d8aa7da7dd=function(e,t){let n=t.desiredSize;u().setFloat64(e+8,d(n)?0:n,!0),u().setInt32(e+0,!d(n),!0)},t.wbg.__wbg_done_4d01f352bade43b7=function(e){return e.done},t.wbg.__wbg_enqueue_a62faa171c4fd287=function(){return p((function(e,t){e.enqueue(t)}),arguments)},t.wbg.__wbg_entries_41651c850143b957=function(e){return Object.entries(e)},t.wbg.__wbg_env_6b7462d491e7d2ae=function(e){return e.env},t.wbg.__wbg_error_1950bd19b566135e=function(e,t){e.error(t)},t.wbg.__wbg_error_7534b8e9a36f1ab4=function(t,n){let r,i;try{r=t,i=n,console.error(a(t,n))}finally{e.canonical_abi_free(r,i,1)}},t.wbg.__wbg_exports_5cb55953fb23c405=function(e){return e.exports},t.wbg.__wbg_exports_93f662ec1dd2b1e2=function(e){return WebAssembly.Module.exports(e)},t.wbg.__wbg_fetch_03b6c973bb6da9b8=function(e){return fetch(e)},t.wbg.__wbg_fetch_6e679fcfa9759479=function(e,t){return e.fetch(t)},t.wbg.__wbg_fetch_a8e43a4e138dfc93=function(e,t){return e.fetch(t)},t.wbg.__wbg_filename_5c8881452d91f4fd=function(t,n){let r=c(n.filename,e.__wbindgen_malloc,e.__wbindgen_realloc),i=o;u().setInt32(t+4,i,!0),u().setInt32(t+0,r,!0)},t.wbg.__wbg_for_555902b1a859c603=function(e,t){return Symbol.for(a(e,t))},t.wbg.__wbg_from_12ff8e47307bd4c7=function(e){return Array.from(e)},t.wbg.__wbg_getPrototypeOf_a1794d62c12daab4=function(){return p((function(e){return Reflect.getPrototypeOf(e)}),arguments)},t.wbg.__wbg_getRandomValues_bcb4912f16000dc4=function(){return p((function(e,t){e.getRandomValues(t)}),arguments)},t.wbg.__wbg_getTime_2afe67905d873e92=function(e){return e.getTime()},t.wbg.__wbg_getTimezoneOffset_31f33c0868da345e=function(e){return e.getTimezoneOffset()},t.wbg.__wbg_get_92470be87867c2e5=function(){return p((function(e,t){return Reflect.get(e,t)}),arguments)},t.wbg.__wbg_get_a131a44bd1eb6979=function(e,t){return e[t>>>0]},t.wbg.__wbg_get_be8d302ec5bf8863=function(){return p((function(e,t){return e.get(t>>>0)}),arguments)},t.wbg.__wbg_getwithrefkey_1dc361bd10053bfe=function(e,t){return e[t]},t.wbg.__wbg_grow_0a942972adfcde67=function(){return p((function(e,t){return e.grow(t>>>0)}),arguments)},t.wbg.__wbg_grow_ae9c73e837b2d936=function(e,t){return e.grow(t>>>0)},t.wbg.__wbg_grow_d034989fce14cc8e=function(){return p((function(e,t){return e.grow(t>>>0)}),arguments)},t.wbg.__wbg_hardwareConcurrency_10d7194b406e56d2=function(e){return e.hardwareConcurrency},t.wbg.__wbg_hardwareConcurrency_fd778a5fdf975150=function(e){return e.hardwareConcurrency},t.wbg.__wbg_has_809e438ee9d787a7=function(){return p((function(e,t){return Reflect.has(e,t)}),arguments)},t.wbg.__wbg_headers_0f0cbdc6290b6780=function(e){return e.headers},t.wbg.__wbg_headers_67fbc7839fe933b3=function(e){return e.headers},t.wbg.__wbg_imports_1f5c972c2e57dfb5=function(e){return WebAssembly.Module.imports(e)},t.wbg.__wbg_instance_new=function(e){return ue.__wrap(e)},t.wbg.__wbg_instanceof_ArrayBuffer_a8b6f580b363f2bc=function(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t},t.wbg.__wbg_instanceof_Blob_2688511ca2a71508=function(e){let t;try{t=e instanceof Blob}catch{t=!1}return t},t.wbg.__wbg_instanceof_Date_ef7e3d6f544a9d16=function(e){let t;try{t=e instanceof Date}catch{t=!1}return t},t.wbg.__wbg_instanceof_Error_58a92d81483a4b16=function(e){let t;try{t=e instanceof Error}catch{t=!1}return t},t.wbg.__wbg_instanceof_Function_4de5a228b53c20c3=function(e){let t;try{t=e instanceof Function}catch{t=!1}return t},t.wbg.__wbg_instanceof_Global_d43eb3e1373e574d=function(e){let t;try{t=e instanceof WebAssembly.Global}catch{t=!1}return t},t.wbg.__wbg_instanceof_Map_80cc65041c96417a=function(e){let t;try{t=e instanceof Map}catch{t=!1}return t},t.wbg.__wbg_instanceof_Memory_613951003465ef5c=function(e){let t;try{t=e instanceof WebAssembly.Memory}catch{t=!1}return t},t.wbg.__wbg_instanceof_Module_ac6579472cc013d8=function(e){let t;try{t=e instanceof WebAssembly.Module}catch{t=!1}return t},t.wbg.__wbg_instanceof_Object_9a05796038b7a8f6=function(e){let t;try{t=e instanceof Object}catch{t=!1}return t},t.wbg.__wbg_instanceof_RangeError_67b19cb7651a2151=function(e){let t;try{t=e instanceof RangeError}catch{t=!1}return t},t.wbg.__wbg_instanceof_Response_e80ce8b7a2b968d2=function(e){let t;try{t=e instanceof Response}catch{t=!1}return t},t.wbg.__wbg_instanceof_Table_a5fae5b77c0e21e8=function(e){let t;try{t=e instanceof WebAssembly.Table}catch{t=!1}return t},t.wbg.__wbg_instanceof_Tag_ff306496211677da=function(e){let t;try{t=e instanceof WebAssembly.Tag}catch{t=!1}return t},t.wbg.__wbg_instanceof_TypeError_16d245a01d4dd626=function(e){let t;try{t=e instanceof TypeError}catch{t=!1}return t},t.wbg.__wbg_instanceof_Uint8Array_ca460677bc155827=function(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t},t.wbg.__wbg_instanceof_Window_68f3f67bad1729c1=function(e){let t;try{t=e instanceof Window}catch{t=!1}return t},t.wbg.__wbg_instanceof_WorkerGlobalScope_11f8a14c11024785=function(e){let t;try{t=e instanceof WorkerGlobalScope}catch{t=!1}return t},t.wbg.__wbg_isArray_2a07fd175d45c496=function(e){return Array.isArray(e)},t.wbg.__wbg_isArray_5f090bed72bd4f89=function(e){return Array.isArray(e)},t.wbg.__wbg_isSafeInteger_90d7c4674047d684=function(e){return Number.isSafeInteger(e)},t.wbg.__wbg_is_49ee71a294f7d2fe=function(e,t){return Object.is(e,t)},t.wbg.__wbg_iterator_4068add5b2aef7a6=function(){return Symbol.iterator},t.wbg.__wbg_keys_42062809bf87339e=function(e){return Object.keys(e)},t.wbg.__wbg_length_865e6e8de4a8c6cb=function(e){return e.length},t.wbg.__wbg_length_ab6d22b5ead75c72=function(e){return e.length},t.wbg.__wbg_length_f00ec12454a5d9fd=function(e){return e.length},t.wbg.__wbg_lineno_9fe2a23a82cebd53=function(e){return e.lineno},t.wbg.__wbg_locked_c5cc88823268db66=function(e){return e.locked},t.wbg.__wbg_log_ea240990d83e374e=function(e){console.log(e)},t.wbg.__wbg_message_4159c15dac08c5e9=function(e){return e.message},t.wbg.__wbg_message_44ef9b801b7d8bc3=function(t,n){let r=c(n.message,e.__wbindgen_malloc,e.__wbindgen_realloc),i=o;u().setInt32(t+4,i,!0),u().setInt32(t+0,r,!0)},t.wbg.__wbg_mount_dfb06836b0f9b20b=function(e){return e.mount},t.wbg.__wbg_msCrypto_0a36e2ec3a343d26=function(e){return e.msCrypto},t.wbg.__wbg_navigator_6db993f5ffeb46be=function(e){return e.navigator},t.wbg.__wbg_navigator_fc64ba1417939b25=function(e){return e.navigator},t.wbg.__wbg_networkGateway_79e326cb5c82e7fd=function(t,n){let r=n.networkGateway;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.__wbg_new0_97314565408dea38=function(){return new Date},t.wbg.__wbg_new_07b483f72211fd66=function(){return{}},t.wbg.__wbg_new_104a6fcd57ac32c0=function(){return p((function(){return new FileReader}),arguments)},t.wbg.__wbg_new_181343b7eb238d99=function(e){return new Int32Array(e)},t.wbg.__wbg_new_186abcfdff244e42=function(){return p((function(){return new AbortController}),arguments)},t.wbg.__wbg_new_2debb2b422bd07bd=function(){return p((function(e,t){return new WebAssembly.Global(e,t)}),arguments)},t.wbg.__wbg_new_39fae4e38868373c=function(){return p((function(e,t){return new Worker(a(e,t))}),arguments)},t.wbg.__wbg_new_476169e6d59f23ae=function(e,t){return Error(a(e,t))},t.wbg.__wbg_new_4796e1cd2eb9ea6d=function(){return p((function(){return new Headers}),arguments)},t.wbg.__wbg_new_58353953ad2097cc=function(){return[]},t.wbg.__wbg_new_5dd74caa1b362828=function(){return p((function(e){return new WebAssembly.Module(e)}),arguments)},t.wbg.__wbg_new_7449da607adc249f=function(){return p((function(e,t){return new WebAssembly.Instance(e,t)}),arguments)},t.wbg.__wbg_new_75fba833e24e4ae9=function(){return p((function(e){return new WebAssembly.Memory(e)}),arguments)},t.wbg.__wbg_new_8a6f238a6ece86ea=function(){return Error()},t.wbg.__wbg_new_a2957aa5684de228=function(e){return new Date(e)},t.wbg.__wbg_new_a4e7a0370d48e1b4=function(){return p((function(e){return new ReadableStreamDefaultReader(e)}),arguments)},t.wbg.__wbg_new_a979b4b45bd55c7f=function(){return new Map},t.wbg.__wbg_new_b60148568efca43b=function(e,t){return TypeError(a(e,t))},t.wbg.__wbg_new_e30c39c06edaabf2=function(t,n){try{var r={a:t,b:n};return new Promise(((t,n)=>{let i=r.a;r.a=0;try{return function(t,n,r,i){e.closure191_externref_shim(t,n,r,i)}(i,r.b,t,n)}finally{r.a=i}}))}finally{r.a=r.b=0}},t.wbg.__wbg_new_e52b3efaaa774f96=function(e){return new Uint8Array(e)},t.wbg.__wbg_new_e769da3b652f0d9f=function(){return p((function(e){return new WebAssembly.Table(e)}),arguments)},t.wbg.__wbg_new_f42a001532528172=function(){return p((function(e,t){return new WebSocket(a(e,t))}),arguments)},t.wbg.__wbg_new_fd4b538754de98d6=function(){return p((function(e){return new WebAssembly.Tag(e)}),arguments)},t.wbg.__wbg_newfromslice_7c05ab1297cb2d88=function(e,t){return new Uint8Array(m(e,t))},t.wbg.__wbg_newnoargs_ff528e72d35de39a=function(e,t){return Function(a(e,t))},t.wbg.__wbg_newwithargs_17a05078fc85d3aa=function(e,t,n,r){return Function(a(e,t),a(n,r))},t.wbg.__wbg_newwithbyteoffsetandlength_3b01ecda099177e8=function(e,t,n){return new Uint8Array(e,t>>>0,n>>>0)},t.wbg.__wbg_newwithlength_08f872dc1e3ada2e=function(e){return new Uint8Array(e>>>0)},t.wbg.__wbg_newwithlength_6ee231411efd06b6=function(e){return Array(e>>>0)},t.wbg.__wbg_newwithoptions_9931e161b714ebf9=function(){return p((function(e,t,n){return new Worker(a(e,t),n)}),arguments)},t.wbg.__wbg_newwithstrandinit_f8a9dbe009d6be37=function(){return p((function(e,t,n){return new Request(a(e,t),n)}),arguments)},t.wbg.__wbg_newwithu8arraysequenceandoptions_3b5b6ab7317ffd8f=function(){return p((function(e,t){return new Blob(e,t)}),arguments)},t.wbg.__wbg_newwithunderlyingsinkandstrategy_481c2b5a223a4560=function(){return p((function(e,t){return new WritableStream(e,t)}),arguments)},t.wbg.__wbg_newwithunderlyingsourceandstrategy_594ea2be3e0723ff=function(){return p((function(e,t){return new ReadableStream(e,t)}),arguments)},t.wbg.__wbg_next_8bb824d217961b5d=function(e){return e.next},t.wbg.__wbg_next_e2da48d8fff7439a=function(){return p((function(e){return e.next()}),arguments)},t.wbg.__wbg_node_02999533c4ea02e3=function(e){return e.node},t.wbg.__wbg_now_eb0821f3bd9f6529=function(){return Date.now()},t.wbg.__wbg_of_995ab9c48c3965f1=function(e,t,n){return[e,t,n]},t.wbg.__wbg_postMessage_54ce7f4b41ac732e=function(){return p((function(e,t){e.postMessage(t)}),arguments)},t.wbg.__wbg_postMessage_95ef4554c6b7ca0c=function(){return p((function(e,t){e.postMessage(t)}),arguments)},t.wbg.__wbg_process_5c1d670bc53614b8=function(e){return e.process},t.wbg.__wbg_program_0ccd177127e926dc=function(e){return e.program},t.wbg.__wbg_publishpackageoutput_new=function(e){return fe.__wrap(e)},t.wbg.__wbg_push_73fd7b5550ebf707=function(e,t){return e.push(t)},t.wbg.__wbg_queueMicrotask_46c1df247678729f=function(e){queueMicrotask(e)},t.wbg.__wbg_queueMicrotask_8acf3ccb75ed8d11=function(e){return e.queueMicrotask},t.wbg.__wbg_randomFillSync_ab2cfe79ebbf2740=function(){return p((function(e,t){e.randomFillSync(t)}),arguments)},t.wbg.__wbg_random_210bb7fbfa33591d=function(){return Math.random()},t.wbg.__wbg_readAsArrayBuffer_ec86f70be9ee80e9=function(){return p((function(e,t){e.readAsArrayBuffer(t)}),arguments)},t.wbg.__wbg_read_f4b89f69cc51efc7=function(e){return e.read()},t.wbg.__wbg_readablestreamsource_new=function(e){return me.__wrap(e)},t.wbg.__wbg_redirected_380499cd18bc27c0=function(e){return e.redirected},t.wbg.__wbg_registry_0193688f92324c7c=function(e){let t=e.registry;return d(t)?0:f(t)},t.wbg.__wbg_releaseLock_c589dd51c0812aca=function(e){e.releaseLock()},t.wbg.__wbg_require_79b1e9274cde3c87=function(){return p((function(){return module.require}),arguments)},t.wbg.__wbg_resolve_0dac8c580ffd4678=function(e){return Promise.resolve(e)},t.wbg.__wbg_respond_b227f1c3be2bb879=function(){return p((function(e,t){e.respond(t>>>0)}),arguments)},t.wbg.__wbg_result_142fc4d88cbccb26=function(){return p((function(e){return e.result}),arguments)},t.wbg.__wbg_runtime_3a007260b7cad09f=function(e){return e.runtime},t.wbg.__wbg_send_05456d2bf190b017=function(){return p((function(e,t){e.send(t)}),arguments)},t.wbg.__wbg_setTimeout_84a114fc6c4403f8=function(){return p((function(e,t,n){return e.setTimeout(t,n)}),arguments)},t.wbg.__wbg_setTimeout_906fea9a7279f446=function(){return p((function(e,t,n){return e.setTimeout(t,n)}),arguments)},t.wbg.__wbg_set_3f1d0b984ed272ed=function(e,t,n){e[t]=n},t.wbg.__wbg_set_7422acbe992d64ab=function(e,t,n){e[t>>>0]=n},t.wbg.__wbg_set_b042eef31c50834d=function(){return p((function(e,t,n,r,i){e.set(a(t,n),a(r,i))}),arguments)},t.wbg.__wbg_set_c43293f93a35998a=function(){return p((function(e,t,n){return Reflect.set(e,t,n)}),arguments)},t.wbg.__wbg_set_d6bdfd275fb8a4ce=function(e,t,n){return e.set(t,n)},t.wbg.__wbg_set_eeace154fc5ce736=function(){return p((function(e,t,n){e.set(t>>>0,n)}),arguments)},t.wbg.__wbg_set_fe4e79d1ed3b0e9b=function(e,t,n){e.set(t,n>>>0)},t.wbg.__wbg_setbinaryType_52787d6025601cc5=function(e,t){e.binaryType=E[t]},t.wbg.__wbg_setbody_971ec015fc13d6b4=function(e,t){e.body=t},t.wbg.__wbg_setcredentials_920d91fb5984c94a=function(e,t){e.credentials=D[t]},t.wbg.__wbg_setheaders_65a4eb4c0443ae61=function(e,t){e.headers=t},t.wbg.__wbg_sethighwatermark_3017ad772d071dcb=function(e,t){e.highWaterMark=t},t.wbg.__wbg_setmethod_8ce1be0b4d701b7c=function(e,t,n){e.method=a(t,n)},t.wbg.__wbg_setmode_bd35f026f55b6247=function(e,t){e.mode=O[t]},t.wbg.__wbg_setname_9b01ac306adf8bfd=function(e,t,n){e.name=a(t,n)},t.wbg.__wbg_setonclose_c6db38f935250174=function(e,t){e.onclose=t},t.wbg.__wbg_setonerror_890bfd1ff86e9c78=function(e,t){e.onerror=t},t.wbg.__wbg_setonloadend_a6c211075855db45=function(e,t){e.onloadend=t},t.wbg.__wbg_setonmessage_49ca623a77cfb3e6=function(e,t){e.onmessage=t},t.wbg.__wbg_setonmessage_f6cf46183c427754=function(e,t){e.onmessage=t},t.wbg.__wbg_setonopen_1475cbeb761c101f=function(e,t){e.onopen=t},t.wbg.__wbg_setsignal_8e72abfe7ee03c97=function(e,t){e.signal=t},t.wbg.__wbg_setsize_13f2192310db9b34=function(e,t){e.size=t},t.wbg.__wbg_settype_acc38e64fddb9e3f=function(e,t,n){e.type=a(t,n)},t.wbg.__wbg_settype_ca83ae32b7117898=function(e,t){e.type=re[t]},t.wbg.__wbg_setvalue_bd9df7c968e4b416=function(e,t){e.value=t},t.wbg.__wbg_signal_b96223519a041faa=function(e){return e.signal},t.wbg.__wbg_stack_0ed75d68575b0f3c=function(t,n){let r=c(n.stack,e.__wbindgen_malloc,e.__wbindgen_realloc),i=o;u().setInt32(t+4,i,!0),u().setInt32(t+0,r,!0)},t.wbg.__wbg_static_accessor_GLOBAL_487c52c58d65314d=function(){let e=typeof global>`u`?null:global;return d(e)?0:f(e)},t.wbg.__wbg_static_accessor_GLOBAL_THIS_ee9704f328b6b291=function(){let e=typeof globalThis>`u`?null:globalThis;return d(e)?0:f(e)},t.wbg.__wbg_static_accessor_SELF_78c9e3071b912620=function(){let e=typeof self>`u`?null:self;return d(e)?0:f(e)},t.wbg.__wbg_static_accessor_WINDOW_a093d21393777366=function(){let e=typeof window>`u`?null:window;return d(e)?0:f(e)},t.wbg.__wbg_status_a54682bbe52f9058=function(e){return e.status},t.wbg.__wbg_stdin_4d05ba90fc2c39de=function(e){let t=e.stdin;return d(t)?0:f(t)},t.wbg.__wbg_stringify_c242842b97f054cc=function(){return p((function(e){return JSON.stringify(e)}),arguments)},t.wbg.__wbg_subarray_dd4ade7d53bd8e26=function(e,t,n){return e.subarray(t>>>0,n>>>0)},t.wbg.__wbg_terminate_af36b01db24a1745=function(e){e.terminate()},t.wbg.__wbg_text_ec0e22f60e30dd2f=function(){return p((function(e){return e.text()}),arguments)},t.wbg.__wbg_then_82ab9fb4080f1707=function(e,t,n){return e.then(t,n)},t.wbg.__wbg_then_db882932c0c714c6=function(e,t){return e.then(t)},t.wbg.__wbg_toString_2a748bb7135f7e4d=function(t,n,r){let i=c(n.toString(r),e.__wbindgen_malloc,e.__wbindgen_realloc),a=o;u().setInt32(t+4,a,!0),u().setInt32(t+0,i,!0)},t.wbg.__wbg_toString_bc7a05a172b5cf14=function(e){return e.toString()},t.wbg.__wbg_trap_new=function(e){return ve.__wrap(e)},t.wbg.__wbg_url_e6ed869ea05b7a71=function(t,n){let r=c(n.url,e.__wbindgen_malloc,e.__wbindgen_realloc),i=o;u().setInt32(t+4,i,!0),u().setInt32(t+0,r,!0)},t.wbg.__wbg_userAgent_470abfd84e4eedcb=function(){return p((function(t,n){let r=c(n.userAgent,e.__wbindgen_malloc,e.__wbindgen_realloc),i=o;u().setInt32(t+4,i,!0),u().setInt32(t+0,r,!0)}),arguments)},t.wbg.__wbg_userAgent_a24a493cd80cbd00=function(){return p((function(t,n){let r=c(n.userAgent,e.__wbindgen_malloc,e.__wbindgen_realloc),i=o;u().setInt32(t+4,i,!0),u().setInt32(t+0,r,!0)}),arguments)},t.wbg.__wbg_user_new=function(e){return be.__wrap(e)},t.wbg.__wbg_userpackagedefinition_unwrap=function(e){return Se.__unwrap(e)},t.wbg.__wbg_uses_7494620cc35a86ad=function(e){let t=e.uses;return d(t)?0:f(t)},t.wbg.__wbg_value_17b896954e14f896=function(e){return e.value},t.wbg.__wbg_value_c22dc41e42f5d813=function(e){return e.value},t.wbg.__wbg_value_f8fe3ce05407a213=function(e){return e.value},t.wbg.__wbg_versions_c71aa1626a93e0a1=function(e){return e.versions},t.wbg.__wbg_view_a9ad80dcbad7cf1c=function(e){let t=e.view;return d(t)?0:f(t)},t.wbg.__wbg_waitAsync_c3398694eaa5aeab=function(e,t,n){return Atomics.waitAsync(e,t>>>0,n)},t.wbg.__wbg_waitAsync_e36f18e2e26c3b7d=function(){return Atomics.waitAsync},t.wbg.__wbg_wasmer_new=function(e){return we.__wrap(e)},t.wbg.__wbg_writablestreamsink_new=function(e){return Ee.__wrap(e)},t.wbg.__wbindgen_array_new=function(){return[]},t.wbg.__wbindgen_array_push=function(e,t){e.push(t)},t.wbg.__wbindgen_as_number=function(e){return+e},t.wbg.__wbindgen_bigint_from_i64=function(e){return e},t.wbg.__wbindgen_bigint_from_u128=function(e,t){return BigInt.asUintN(64,e)<<BigInt(64)|BigInt.asUintN(64,t)},t.wbg.__wbindgen_bigint_from_u64=function(e){return BigInt.asUintN(64,e)},t.wbg.__wbindgen_bigint_get_as_i64=function(e,t){let n=typeof t==`bigint`?t:void 0;u().setBigInt64(e+8,d(n)?BigInt(0):n,!0),u().setInt32(e+0,!d(n),!0)},t.wbg.__wbindgen_boolean_get=function(e){return typeof e==`boolean`?+!!e:2},t.wbg.__wbindgen_cb_drop=function(e){let t=e.original;return t.cnt--==1&&(t.a=0,!0)},t.wbg.__wbindgen_closure_wrapper13762=function(e,t,n){return g(e,t,1342,T)},t.wbg.__wbindgen_closure_wrapper13766=function(e,t,n){return g(e,t,1342,T)},t.wbg.__wbindgen_closure_wrapper13769=function(e,t,n){return g(e,t,1342,ne)},t.wbg.__wbindgen_closure_wrapper7191=function(e,t,n){return g(e,t,541,S)},t.wbg.__wbindgen_closure_wrapper7199=function(e,t,n){return g(e,t,541,S)},t.wbg.__wbindgen_closure_wrapper8876=function(e,t,n){return _(e,t,750,C)},t.wbg.__wbindgen_closure_wrapper9091=function(e,t,n){return _(e,t,750,w)},t.wbg.__wbindgen_closure_wrapper9126=function(e,t,n){return g(e,t,750,S)},t.wbg.__wbindgen_closure_wrapper9506=function(e,t,n){return g(e,t,750,S)},t.wbg.__wbindgen_debug_string=function(t,n){let r=c(v(n),e.__wbindgen_malloc,e.__wbindgen_realloc),i=o;u().setInt32(t+4,i,!0),u().setInt32(t+0,r,!0)},t.wbg.__wbindgen_function_table=function(){return e.__wbindgen_export_6},t.wbg.__wbindgen_in=function(e,t){return e in t},t.wbg.__wbindgen_init_externref_table=function(){let t=e.__wbindgen_export_5,n=t.grow(4);t.set(0,void 0),t.set(n+0,void 0),t.set(n+1,null),t.set(n+2,!0),t.set(n+3,!1)},t.wbg.__wbindgen_is_bigint=function(e){return typeof e==`bigint`},t.wbg.__wbindgen_is_falsy=function(e){return!e},t.wbg.__wbindgen_is_function=function(e){return typeof e==`function`},t.wbg.__wbindgen_is_null=function(e){return e===null},t.wbg.__wbindgen_is_object=function(e){return typeof e==`object`&&!!e},t.wbg.__wbindgen_is_string=function(e){return typeof e==`string`},t.wbg.__wbindgen_is_undefined=function(e){return e===void 0},t.wbg.__wbindgen_jsval_eq=function(e,t){return e===t},t.wbg.__wbindgen_jsval_loose_eq=function(e,t){return e==t},t.wbg.__wbindgen_link_db87ac8434ca3f93=function(t){let n=c(URL.createObjectURL===void 0?`data:application/javascript,onmessage%20%3D%20function%20(ev)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20let%20%5Bia%2C%20index%2C%20value%5D%20%3D%20ev.data%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20ia%20%3D%20new%20Int32Array(ia.buffer)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20let%20result%20%3D%20Atomics.wait(ia%2C%20index%2C%20value)%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20postMessage(result)%3B%0A%20%20%20%20%20%20%20%20%7D%3B%0A%20%20%20%20%20%20%20%20`:URL.createObjectURL(new Blob([`onmessage = function (ev) {
12
+ let [ia, index, value] = ev.data;
13
+ ia = new Int32Array(ia.buffer);
14
+ let result = Atomics.wait(ia, index, value);
15
+ postMessage(result);
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.`)}Object.freeze({instructionBudget:1e10,logicalTimeLimitMs:6e4,memoryLimitBytes:268435456,outputLimitBytes:4194304,filesystemWriteLimitBytes:67108864,filesystemEntryLimit:4096,wallTimeLimitMs:6e4}),new TextEncoder,Object.freeze({runtimeCoreWasmSha256:`1e297ad276694e9fb8a23afdc6ccc0b2ae56a223ced19d5cae26fe4661daa11e`,runtimeSourceRootSha256:`27c52cb1887aa8a7e0d8a238514fc8881cf86c68267e2a1691f110423692e2b6`,wasmerNativeVersion:`7.2.1`,wasmerSdkVersion:`0.10.0`,wasmerSdkWasmSha256:`49a6646209f5ab5e7c737eac33407d87d9a9959ac83e5ecaaab9261b2323589e`,wasmerWasixVersion:`0.702.1`});function cn(e,t,n){return M(e),[`wasm-oj-cost`,`contract-2`,encodeURIComponent(e),t,n]}function ln(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[...cn(e,t,n),`content-${i}`,`runtime-d3e44cafdc1c17a7e6bd4591ef04ec8161af805a519b5bbff437b15e5accd442`,`weighted`].join(`:`)}new TextEncoder,Object.freeze({python:`python`,javascript:`qjs`,typescript:`qjs`});function un(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 dn(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 fn(e,t,n,r){return un(e.name,`Project name`),un(t,`Runtime package`),un(n,`Runtime command`,128),M(e.config.language),Rt(r,`Runtime bundle entry`),dn({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 pn(e){return Vt(e)}function mn(e){return e===`warning`?`warning`:e===`note`||e===`info`?`info`:`error`}function hn(e){return e.replace(/^file:\/\//,``).replace(/^\/?(?:workspace|project|work)\//,``).replace(/^\.\//,``)}function gn(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:hn(r[1]),line:Number(r[2]),column:Number(r[3]),severity:mn(r[4].replace(`fatal `,``)),message:r[5],source:`clang`,code:r[6]});return t}function _n(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:mn(r[4]),message:r[6],file:hn(r[1]),line:Number(r[2]),column:Number(r[3]),source:`typescript`,code:`TS${r[5]}`});return t}function vn(e,t){return e.length>0?e:[{severity:`error`,file:hn(t.file),line:1,column:1,source:t.source,message:t.message}]}const yn=String.raw`
18
+ declare module "std" {
19
+ const std: {
20
+ err: { puts(value: string): void };
21
+ in: { readAsString(): string };
22
+ out: { puts(value: string): void };
23
+ };
24
+ export default std;
25
+ export const err: typeof std.err;
26
+ export const out: typeof std.out;
27
+ const input: typeof std.in;
28
+ export { input as in };
29
+ }
30
+ `,bn=`declare module "buffer" {
31
+ export class Buffer extends Uint8Array {
32
+ length: number
33
+ write(string: string, offset?: number, length?: number, encoding?: string): number;
34
+ toString(encoding?: string, start?: number, end?: number): string;
35
+ toJSON(): { type: 'Buffer', data: any[] };
36
+ equals(otherBuffer: Buffer): boolean;
37
+ compare(otherBuffer: Uint8Array, targetStart?: number, targetEnd?: number, sourceStart?: number, sourceEnd?: number): number;
38
+ copy(targetBuffer: Buffer, targetStart?: number, sourceStart?: number, sourceEnd?: number): number;
39
+ slice(start?: number, end?: number): Buffer;
40
+ writeUIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
41
+ writeUIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
42
+ writeIntLE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
43
+ writeIntBE(value: number, offset: number, byteLength: number, noAssert?: boolean): number;
44
+ readUIntLE(offset: number, byteLength: number, noAssert?: boolean): number;
45
+ readUIntBE(offset: number, byteLength: number, noAssert?: boolean): number;
46
+ readIntLE(offset: number, byteLength: number, noAssert?: boolean): number;
47
+ readIntBE(offset: number, byteLength: number, noAssert?: boolean): number;
48
+ readUInt8(offset: number, noAssert?: boolean): number;
49
+ readUInt16LE(offset: number, noAssert?: boolean): number;
50
+ readUInt16BE(offset: number, noAssert?: boolean): number;
51
+ readUInt32LE(offset: number, noAssert?: boolean): number;
52
+ readUInt32BE(offset: number, noAssert?: boolean): number;
53
+ readBigUInt64LE(offset: number): BigInt;
54
+ readBigUInt64BE(offset: number): BigInt;
55
+ readInt8(offset: number, noAssert?: boolean): number;
56
+ readInt16LE(offset: number, noAssert?: boolean): number;
57
+ readInt16BE(offset: number, noAssert?: boolean): number;
58
+ readInt32LE(offset: number, noAssert?: boolean): number;
59
+ readInt32BE(offset: number, noAssert?: boolean): number;
60
+ readBigInt64LE(offset: number): BigInt;
61
+ readBigInt64BE(offset: number): BigInt;
62
+ readFloatLE(offset: number, noAssert?: boolean): number;
63
+ readFloatBE(offset: number, noAssert?: boolean): number;
64
+ readDoubleLE(offset: number, noAssert?: boolean): number;
65
+ readDoubleBE(offset: number, noAssert?: boolean): number;
66
+ reverse(): this;
67
+ swap16(): Buffer;
68
+ swap32(): Buffer;
69
+ swap64(): Buffer;
70
+ writeUInt8(value: number, offset: number, noAssert?: boolean): number;
71
+ writeUInt16LE(value: number, offset: number, noAssert?: boolean): number;
72
+ writeUInt16BE(value: number, offset: number, noAssert?: boolean): number;
73
+ writeUInt32LE(value: number, offset: number, noAssert?: boolean): number;
74
+ writeUInt32BE(value: number, offset: number, noAssert?: boolean): number;
75
+ writeBigUInt64LE(value: number, offset: number): BigInt;
76
+ writeBigUInt64BE(value: number, offset: number): BigInt;
77
+ writeInt8(value: number, offset: number, noAssert?: boolean): number;
78
+ writeInt16LE(value: number, offset: number, noAssert?: boolean): number;
79
+ writeInt16BE(value: number, offset: number, noAssert?: boolean): number;
80
+ writeInt32LE(value: number, offset: number, noAssert?: boolean): number;
81
+ writeInt32BE(value: number, offset: number, noAssert?: boolean): number;
82
+ writeBigInt64LE(value: number, offset: number): BigInt;
83
+ writeBigInt64BE(value: number, offset: number): BigInt;
84
+ writeFloatLE(value: number, offset: number, noAssert?: boolean): number;
85
+ writeFloatBE(value: number, offset: number, noAssert?: boolean): number;
86
+ writeDoubleLE(value: number, offset: number, noAssert?: boolean): number;
87
+ writeDoubleBE(value: number, offset: number, noAssert?: boolean): number;
88
+ fill(value: any, offset?: number, end?: number): this;
89
+ indexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number;
90
+ lastIndexOf(value: string | number | Buffer, byteOffset?: number, encoding?: string): number;
91
+ includes(value: string | number | Buffer, byteOffset?: number, encoding?: string): boolean;
92
+
93
+ /**
94
+ * Allocates a new buffer containing the given {str}.
95
+ *
96
+ * @param str String to store in buffer.
97
+ * @param encoding encoding to use, optional. Default is 'utf8'
98
+ */
99
+ constructor (str: string, encoding?: string);
100
+ /**
101
+ * Allocates a new buffer of {size} octets.
102
+ *
103
+ * @param size count of octets to allocate.
104
+ */
105
+ constructor (size: number);
106
+ /**
107
+ * Allocates a new buffer containing the given {array} of octets.
108
+ *
109
+ * @param array The octets to store.
110
+ */
111
+ constructor (array: Uint8Array);
112
+ /**
113
+ * Produces a Buffer backed by the same allocated memory as
114
+ * the given {ArrayBuffer}.
115
+ *
116
+ *
117
+ * @param arrayBuffer The ArrayBuffer with which to share memory.
118
+ */
119
+ constructor (arrayBuffer: ArrayBuffer);
120
+ /**
121
+ * Allocates a new buffer containing the given {array} of octets.
122
+ *
123
+ * @param array The octets to store.
124
+ */
125
+ constructor (array: any[]);
126
+ /**
127
+ * Copies the passed {buffer} data onto a new {Buffer} instance.
128
+ *
129
+ * @param buffer The buffer to copy.
130
+ */
131
+ constructor (buffer: Buffer);
132
+ prototype: Buffer;
133
+ /**
134
+ * Allocates a new Buffer using an {array} of octets.
135
+ *
136
+ * @param array
137
+ */
138
+ static from(array: any[]): Buffer;
139
+ /**
140
+ * When passed a reference to the .buffer property of a TypedArray instance,
141
+ * the newly created Buffer will share the same allocated memory as the TypedArray.
142
+ * The optional {byteOffset} and {length} arguments specify a memory range
143
+ * within the {arrayBuffer} that will be shared by the Buffer.
144
+ *
145
+ * @param arrayBuffer The .buffer property of a TypedArray or a new ArrayBuffer()
146
+ * @param byteOffset
147
+ * @param length
148
+ */
149
+ static from(arrayBuffer: ArrayBuffer, byteOffset?: number, length?: number): Buffer;
150
+ /**
151
+ * Copies the passed {buffer} data onto a new Buffer instance.
152
+ *
153
+ * @param buffer
154
+ */
155
+ static from(buffer: Buffer | Uint8Array): Buffer;
156
+ /**
157
+ * Creates a new Buffer containing the given JavaScript string {str}.
158
+ * If provided, the {encoding} parameter identifies the character encoding.
159
+ * If not provided, {encoding} defaults to 'utf8'.
160
+ *
161
+ * @param str
162
+ */
163
+ static from(str: string, encoding?: string): Buffer;
164
+ /**
165
+ * Returns true if {obj} is a Buffer
166
+ *
167
+ * @param obj object to test.
168
+ */
169
+ static isBuffer(obj: any): obj is Buffer;
170
+ /**
171
+ * Returns true if {encoding} is a valid encoding argument.
172
+ * Valid string encodings in Node 0.12: 'ascii'|'utf8'|'utf16le'|'ucs2'(alias of 'utf16le')|'base64'|'binary'(deprecated)|'hex'
173
+ *
174
+ * @param encoding string to test.
175
+ */
176
+ static isEncoding(encoding: string): boolean;
177
+ /**
178
+ * Gives the actual byte length of a string. encoding defaults to 'utf8'.
179
+ * This is not the same as String.prototype.length since that returns the number of characters in a string.
180
+ *
181
+ * @param string string to test.
182
+ * @param encoding encoding used to evaluate (defaults to 'utf8')
183
+ */
184
+ static byteLength(string: string, encoding?: string): number;
185
+ /**
186
+ * Returns a buffer which is the result of concatenating all the buffers in the list together.
187
+ *
188
+ * If the list has no items, or if the totalLength is 0, then it returns a zero-length buffer.
189
+ * If the list has exactly one item, then the first item of the list is returned.
190
+ * If the list has more than one item, then a new Buffer is created.
191
+ *
192
+ * @param list An array of Buffer objects to concatenate
193
+ * @param totalLength Total length of the buffers when concatenated.
194
+ * If totalLength is not provided, it is read from the buffers in the list. However, this adds an additional loop to the function, so it is faster to provide the length explicitly.
195
+ */
196
+ static concat(list: Uint8Array[], totalLength?: number): Buffer;
197
+ /**
198
+ * The same as buf1.compare(buf2).
199
+ */
200
+ static compare(buf1: Uint8Array, buf2: Uint8Array): number;
201
+ /**
202
+ * Allocates a new buffer of {size} octets.
203
+ *
204
+ * @param size count of octets to allocate.
205
+ * @param fill if specified, buffer will be initialized by calling buf.fill(fill).
206
+ * If parameter is omitted, buffer will be filled with zeros.
207
+ * @param encoding encoding used for call to buf.fill while initializing
208
+ */
209
+ static alloc(size: number, fill?: string | Buffer | number, encoding?: string): Buffer;
210
+ /**
211
+ * Allocates a new buffer of {size} octets, leaving memory not initialized, so the contents
212
+ * of the newly created Buffer are unknown and may contain sensitive data.
213
+ *
214
+ * @param size count of octets to allocate
215
+ */
216
+ static allocUnsafe(size: number): Buffer;
217
+ /**
218
+ * Allocates a new non-pooled buffer of {size} octets, leaving memory not initialized, so the contents
219
+ * of the newly created Buffer are unknown and may contain sensitive data.
220
+ *
221
+ * @param size count of octets to allocate
222
+ */
223
+ static allocUnsafeSlow(size: number): Buffer;
224
+ }
225
+
226
+ const buffer: { Buffer: typeof Buffer }; export default buffer;
227
+ }
228
+ `+String.raw`
229
+ type BufferEncoding = "ascii" | "utf8" | "utf-8" | "utf16le" | "utf-16le" | "ucs2" | "ucs-2" | "base64" | "latin1" | "binary" | "hex";
230
+ type Buffer = import("buffer").Buffer;
231
+ declare const Buffer: typeof import("buffer").Buffer;
232
+ interface NodeReadable extends AsyncIterable<Buffer | string> {
233
+ on(event: "data", callback: (chunk: Buffer | string) => void): this;
234
+ on(event: "readable" | "end" | "close", callback: () => void): this;
235
+ on(event: "error", callback: (error: Error) => void): this;
236
+ setEncoding(encoding: BufferEncoding): this;
237
+ read(size?: number): Buffer | string | null;
238
+ resume(): this;
239
+ pause(): this;
240
+ pipe<T extends NodeWritable>(destination: T, options?: { end?: boolean }): T;
241
+ }
242
+ interface NodeWritable {
243
+ write(value: string | Uint8Array, callback?: (error?: Error | null) => void): boolean;
244
+ write(value: string | Uint8Array, encoding?: BufferEncoding, callback?: (error?: Error | null) => void): boolean;
245
+ end(value?: string | Uint8Array): this;
246
+ on(event: "error", callback: (error: Error) => void): this;
247
+ on(event: "drain" | "finish" | "close", callback: () => void): this;
248
+ }
249
+ interface NodeProcess {
250
+ stdin: NodeReadable;
251
+ stdout: NodeWritable;
252
+ stderr: NodeWritable;
253
+ env: Record<string, string | undefined>;
254
+ argv: string[];
255
+ nextTick(callback: (...args: any[]) => void, ...args: any[]): void;
256
+ }
257
+ declare const process: NodeProcess;
258
+ declare module "fs" {
259
+ export function readFileSync(file: number | string, options?: null | { encoding?: null }): Buffer;
260
+ export function readFileSync(file: number | string, options: BufferEncoding | { encoding: BufferEncoding }): string;
261
+ export function readSync(fd: number, buffer: ArrayBufferView, offset?: number, length?: number, position?: number | null): number;
262
+ export function writeFileSync(file: number | string, data: string | ArrayBufferView, options?: BufferEncoding | { encoding?: BufferEncoding }): void;
263
+ export function writeSync(fd: number, buffer: ArrayBufferView, offset?: number, length?: number, position?: number | null): number;
264
+ export function writeSync(fd: number, value: string, position?: number | null, encoding?: BufferEncoding): number;
265
+ const fs: { readFileSync: typeof readFileSync; readSync: typeof readSync; writeFileSync: typeof writeFileSync; writeSync: typeof writeSync };
266
+ export default fs;
267
+ }
268
+ declare module "node:fs" { export * from "fs"; export { default } from "fs"; }
269
+ declare module "process" { const value: NodeProcess; export default value; export const stdin: NodeReadable; export const stdout: NodeWritable; export const stderr: NodeWritable; export const nextTick: NodeProcess["nextTick"]; export const env: NodeProcess["env"]; export const argv: string[]; }
270
+ declare module "node:process" { export * from "process"; export { default } from "process"; }
271
+ declare module "node:buffer" { export * from "buffer"; export { default } from "buffer"; }
272
+ declare module "readline" {
273
+ export class Interface implements AsyncIterable<string> {
274
+ constructor(options: { input: NodeReadable; output?: NodeWritable; terminal?: boolean; crlfDelay?: number });
275
+ on(event: "line", callback: (line: string) => void): this;
276
+ on(event: "close" | "pause" | "resume", callback: () => void): this;
277
+ on(event: "error", callback: (error: Error) => void): this;
278
+ close(): void;
279
+ pause(): this;
280
+ resume(): this;
281
+ [Symbol.asyncIterator](): AsyncIterator<string>;
282
+ }
283
+ export function createInterface(options: { input: NodeReadable; output?: NodeWritable; terminal?: boolean; crlfDelay?: number }): Interface;
284
+ const readline: { createInterface: typeof createInterface; Interface: typeof Interface };
285
+ export default readline;
286
+ }
287
+ declare module "node:readline" { export * from "readline"; export { default } from "readline"; }
288
+ `,xn=String.raw`
289
+ declare function require(name: "fs" | "node:fs"): typeof import("fs");
290
+ declare function require(name: "readline" | "node:readline"): typeof import("readline");
291
+ declare function require(name: "buffer" | "node:buffer"): typeof import("buffer");
292
+ declare function require(name: "process" | "node:process"): NodeProcess;
293
+ `;var Sn=class{drivers=new Map;ids=new Set;register(e){if(!e||typeof e!=`object`)throw TypeError(`Language drivers must be objects.`);if(typeof e.id!=`string`||!e.id||e.id!==e.id.trim()||e.id.length>128)throw Error(`Language driver IDs must be non-empty, trimmed, and at most 128 characters.`);if(this.ids.has(e.id))throw Error(`Language driver '${e.id}' is already registered.`);if(!Array.isArray(e.languages)||e.languages.length===0)throw Error(`Language driver '${e.id}' has no languages.`);if(typeof e.build!=`function`)throw TypeError(`Language driver '${e.id}' must implement build().`);let t=new Set;for(let n of e.languages){if(typeof n!=`string`)throw TypeError(`Language identifiers must be strings.`);if(M(n),t.has(n))throw Error(`Language '${n}' is duplicated in driver '${e.id}'.`);t.add(n);let r=this.drivers.get(n);if(r)throw Error(`Language '${n}' is already owned by driver '${r.id}'.`)}for(let n of t)this.drivers.set(n,e);this.ids.add(e.id)}driver(e){let t=this.drivers.get(e);if(!t)throw Error(`No language driver is registered for '${e}'.`);return t}languages(){return[...this.drivers.keys()]}};Object.freeze({randomSeed:1592594996,realtimeEpochMs:Date.UTC(2e3,0,1),clockStepNs:1e6});const Cn=`.wasm-oj/determinism.c`,wn=String.raw`
294
+ #include <stddef.h>
295
+ #include <stdint.h>
296
+ #include <stdlib.h>
297
+
298
+ #ifdef __cplusplus
299
+ extern "C" {
300
+ #endif
301
+
302
+ static uint32_t wasm_oj_random_state;
303
+ static int wasm_oj_initialized;
304
+
305
+ static uint64_t wasm_oj_parse_u64(const char *value) {
306
+ if (!value || !*value) abort();
307
+ uint64_t result = 0;
308
+ for (const unsigned char *cursor = (const unsigned char *)value; *cursor; ++cursor) {
309
+ if (*cursor < '0' || *cursor > '9') abort();
310
+ uint64_t digit = (uint64_t)(*cursor - '0');
311
+ if (result > (UINT64_MAX - digit) / 10) abort();
312
+ result = result * 10 + digit;
313
+ }
314
+ return result;
315
+ }
316
+
317
+ static void wasm_oj_initialize(void) {
318
+ if (wasm_oj_initialized) return;
319
+ uint64_t seed = wasm_oj_parse_u64(getenv("WASM_OJ_RANDOM_SEED"));
320
+ wasm_oj_random_state = (uint32_t)seed;
321
+ wasm_oj_initialized = 1;
322
+ }
323
+
324
+ static uint32_t wasm_oj_next_u32(void) {
325
+ wasm_oj_random_state += 0x9e3779b9u;
326
+ uint32_t value = wasm_oj_random_state;
327
+ value ^= value >> 16;
328
+ value *= 0x21f0aaadu;
329
+ value ^= value >> 15;
330
+ value *= 0x735a2d97u;
331
+ value ^= value >> 15;
332
+ return value;
333
+ }
334
+
335
+ uint32_t __imported_wasi_snapshot_preview1_random_get(uint8_t *buffer, size_t length) {
336
+ wasm_oj_initialize();
337
+ uint32_t word = 0;
338
+ for (size_t index = 0; index < length; ++index) {
339
+ if ((index & 3u) == 0) word = wasm_oj_next_u32();
340
+ buffer[index] = (uint8_t)(word >> ((index & 3u) * 8u));
341
+ }
342
+ return 0;
343
+ }
344
+
345
+ #ifdef __cplusplus
346
+ }
347
+ #endif
348
+ `,Tn=String.raw`
349
+ import os as _os
350
+ import runpy as _runpy
351
+ import sys as _sys
352
+
353
+ _random_state = None
354
+
355
+ def _random_seed():
356
+ global _random_state
357
+ if _random_state is None:
358
+ _random_state = int(_os.environ["WASM_OJ_RANDOM_SEED"]) & 0xffffffff
359
+ return _random_state
360
+
361
+ def _next_u32():
362
+ global _random_state
363
+ _random_seed()
364
+ _random_state = (_random_state + 0x9e3779b9) & 0xffffffff
365
+ value = _random_state
366
+ value ^= value >> 16
367
+ value = (value * 0x21f0aaad) & 0xffffffff
368
+ value ^= value >> 15
369
+ value = (value * 0x735a2d97) & 0xffffffff
370
+ value ^= value >> 15
371
+ return value & 0xffffffff
372
+
373
+ def _urandom(length):
374
+ if not isinstance(length, int) or length < 0:
375
+ raise ValueError("negative argument not allowed")
376
+ output = bytearray(length)
377
+ word = 0
378
+ for index in range(length):
379
+ if index % 4 == 0:
380
+ word = _next_u32()
381
+ output[index] = (word >> ((index % 4) * 8)) & 0xff
382
+ return bytes(output)
383
+
384
+ _os.urandom = _urandom
385
+ if hasattr(_os, "getrandom"):
386
+ _os.getrandom = lambda size, flags=0: _urandom(size)
387
+
388
+ _entry = _sys.argv[1]
389
+ _sys.argv = [_entry, *_sys.argv[2:]]
390
+ _sys.path[0] = _os.path.dirname(_entry)
391
+ _runpy.run_path(_entry, run_name="__main__")
392
+ `,En=new TextDecoder;async function Dn(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(En.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 On(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 kn(e,t,n,r){return On(e.map(e=>e===`-emit-obj`?`-emit-pch`:e===`c++`?`c++-header`:e),t,n,r)}function An(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 jn=Object.freeze([`source`,`header`,`package`,`pch`,`object`,`link-result`]);var Mn=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 Rn(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=Fn(n),a=await this.internInputs(i),o=await Rn(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(!Nn(m,f)||!Pn(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)=>In(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!==``&&In(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`||!jn.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(Fn(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)=>In(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(Fn(e).map(async e=>{let t=await Ln(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 Nn(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 Pn(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 Fn(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)=>In(e.identity,t.identity))}function In(e,t){return e<t?-1:+(e>t)}async function Ln(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 Rn(e,t,n){return V(JSON.stringify({schema:j.incrementalBuildGraph,kind:e,logicalKey:t,dependencies:n}))}const zn=new TextDecoder;var Bn=class{graph;constructor(e){this.graph=new Mn(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,Kn(t,n))}async store(e,t,n,r,i=[]){let a=Hn(t,n);return a?this.graph.store(`object`,e,[...Wn(a,n),...i],r):!1}async lookupPch(e,t){return this.graph.lookup(e,Kn(t))}async storePch(e,t,n,r){let i=Hn(t,n);return i?this.graph.store(`pch`,e,Wn(i,n),r):!1}lookupLink(e,t){return this.graph.lookupExact(`link-result`,e,Gn(t))}storeLink(e,t,n){return this.graph.store(`link-result`,e,Gn(t),n)}snapshot(){return this.graph.snapshot()}exportState(){return this.graph.exportState()}restoreState(e){return this.graph.restoreState(e)}clear(){this.graph.clear()}};function Vn(e){let t=zn.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 Hn(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 Un(e){return/\.(?:c|cc|cpp|cxx)$/i.test(e)?`source`:`header`}function Wn(e,t){return Gn(e.map(e=>({kind:Un(e),identity:e,bytes:t.get(e)})))}function Gn(e){return[...e,{kind:`package`,identity:`cpp:clang@${P}`,digest:P}]}function Kn(e,t=[]){let n=new Map([...e].map(([e,t])=>[e,{kind:Un(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 qn=`#pragma once
393
+ #include <algorithm>
394
+ #include <array>
395
+ #include <bitset>
396
+ #include <cassert>
397
+ #include <cctype>
398
+ #include <cerrno>
399
+ #include <cfloat>
400
+ #include <charconv>
401
+ #include <chrono>
402
+ #include <climits>
403
+ #include <cmath>
404
+ #include <compare>
405
+ #include <concepts>
406
+ #include <cstddef>
407
+ #include <cstdint>
408
+ #include <cstdio>
409
+ #include <cstdlib>
410
+ #include <cstring>
411
+ #include <deque>
412
+ #include <exception>
413
+ #include <functional>
414
+ #include <iomanip>
415
+ #include <ios>
416
+ #include <iostream>
417
+ #include <iterator>
418
+ #include <limits>
419
+ #include <map>
420
+ #include <memory>
421
+ #include <numeric>
422
+ #include <optional>
423
+ #include <queue>
424
+ #include <random>
425
+ #include <ranges>
426
+ #include <set>
427
+ #include <span>
428
+ #include <sstream>
429
+ #include <stack>
430
+ #include <string>
431
+ #include <string_view>
432
+ #include <tuple>
433
+ #include <type_traits>
434
+ #include <unordered_map>
435
+ #include <unordered_set>
436
+ #include <utility>
437
+ #include <variant>
438
+ #include <vector>
439
+ `,Jn=new TextDecoder;async function Yn(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(Jn.decode(e))}catch(e){throw Error(`Pinned libc++ PCH manifest is not valid JSON.`,{cause:e})}if(!Zn(n)||n.schema!==j.clangLibcxxPch||n.version!==`22.0.0-git20542-10`||n.clangPackageSha256!==`21ded33b9c6d4e1aaad5528c940bdaf6c3e84be77ea8f522f018ca7289a2a224`||n.clangPinsSha256!==`895eee17c63b1112c84adcc4ddbcb38e0c18e53bff15f50a8689b9b82d87b1ff`||n.header!==qn||!Zn(n.profiles))throw Error(`Pinned libc++ PCH manifest is not admitted by the active Clang toolchain contract.`);if(n.headerSha256!==await V(qn))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(!Zn(t)||typeof t.path!=`string`||!t.path.endsWith(`.${e}.pch.gz.bin`)||!$n(t.byteLength)||!$n(t.compressedByteLength)||!Qn(t.sha256)||!Qn(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:qn,headerSha256:n.headerSha256,profiles:i}}function Xn(e){return e===qn}function Zn(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Qn(e){return typeof e==`string`&&/^[0-9a-f]{64}$/.test(e)}function $n(e){return Number.isSafeInteger(e)&&e>0}var er=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||!tr(this.#t,e)){this.#t=e.slice(),this.#n=t;return}if(!(t-this.#n<this.#e))return e.slice()}};function tr(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 nr=Object.freeze({c:`cpp`,cpp:`cpp`,rust:`cargo`,python:`pypi`,javascript:`npm`,typescript:`npm`,go:`go`});function rr(e){if(!e.dependencies)return;let t=nr[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 ir(e,t){return rr(e),e.dependencies?.packages.filter(e=>e.package.ecosystem===t)??[]}function ar(e){let t={};for(let n of ir(e,`pypi`))for(let[e,r]of Object.entries(n.files))t[`site-packages/${e}`]=r.slice();return t}function or(e){let t={},n=new Set,r=[];for(let i of ir(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]=ur(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
+ `)),t}function sr(e){let t=new Map,n=[],r=[];for(let[i,a]of ir(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(!dr(n))continue;U(i,a.package.id,n);let s=`${o}/${n}`;if(t.set(s,i.slice()),fr(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 cr(e){let t=ir(e,`cargo`),n=new Map(t.map(e=>[e.package.id,e])),r=pr(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(gr(o)))throw Error(`Cargo dependency '${t.package.id}' uses unsupported renamed dependencies.`);let s=mr(o,`lib`),c=_r(hr(s,`name`)??t.package.name,t.package.id),l=hr(s,`path`)??`src/lib.rs`;if(!t.files[l])throw Error(`Cargo dependency '${t.package.id}' omits '${l}'.`);let u=hr(mr(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))vr(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 lr(e){let t=[],n=[];for(let[r,i]of ir(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=>yr(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=>br(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 ur(e){return/(?:^|\/)(?:package\.json)$/.test(e)||/\.(?:js|cjs|d\.ts|json)$/i.test(e)}function dr(e){return/\.(?:h|hh|hpp|hxx|inc|c|cc|cpp|cxx)$/i.test(e)}function fr(e){return/\.(?:c|cc|cpp|cxx)$/i.test(e)}function pr(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 mr(e,t){return e.match(RegExp(`(?:^|\\n)\\[${t.replace(/[.*+?^${}()|[\\]\\]/g,`\\$&`)}\\]\\s*\\n([\\s\\S]*?)(?=\\n\\[|$)`))?.[1]??``}function hr(e,t){return e.match(RegExp(`^\\s*${t}\\s*=\\s*"([^"]+)"\\s*(?:#.*)?$`,`m`))?.[1]}function gr(e){return e.split(/\n(?=\[)/).filter(e=>/\bdependencies\]/.test(e.split(`
441
+ `,1)[0])).join(`
442
+ `)}function _r(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 vr(e){return e.endsWith(`.rs`)||e.endsWith(`.md`)||e.endsWith(`.txt`)||e===`Cargo.toml`}function yr(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 br(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,xr;const Sr=new Map,G=new Bn(67108864),Cr=new TextEncoder,wr=new TextDecoder,Tr=55e3;async function Er(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 Ar(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,Cr.encode(e.content)])),d=sr(e);for(let[e,t]of d.files)u.set(e,t);u.set(Cn,Cr.encode(wn));let f=new ce(Object.fromEntries([...u].map(([e,t])=>[`/${e}`,t])));try{await Vr(f,`/build`),await Vr(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,Cn],_=``,v=``,y=[],b=[],ee=0,te=0,x=0,S=0,C=0,w=0,T=0,ne=0,E=[],D=p?Nr(e):void 0,O=`/project/build/wasm-oj.pch`,re,ie=!1;if(D){let t=u.get(D),i;if(Xn(wr.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 Mr(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=kn(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 Pr(o,s,f,r,n,O,t);if(E.push(...c.diagnostics),_+=c.stdout,v+=c.stderr,!c.pch||!c.dependency)return Ur(e,_,v,1,`clang`,E);i=c.pch,await G.storePch(p,Vn(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=On(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 Fr(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`),Ur(e,_,v,1,`clang`,E);T.diagnostics.length===0&&await G.store(x,Vn(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=An(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 Ir(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:ln(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}}}):Ur(e,_,v,1,`wasm-ld`,E)}finally{f.free()}}function Dr(){return G.exportState()}function Or(e){return G.restoreState(e)}async function kr(){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 Ar(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 Dn(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=jr(o,i.command),c=jr(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 jr(e,t){let n=e.commands[t];if(!n)throw Error(`The SDK-direct Clang package does not expose '${t}'.`);return n}async function Mr(e,t,n){xr??=n.loadToolchainFile(He).then(Yn);let r=Sr.get(e);r||(r=xr.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}),Sr.set(e,r));try{return await r}catch(t){throw Sr.delete(e),t}}function Nr(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 Pr(e,t,n,r,i,a,o){let s=new er;return Lr(e,t,n,r,i,`projectSpawn`,`projectWait`,`projectOutputReady`,async e=>{let[t,r]=await Promise.all([Hr(n,a),Hr(n,o)]),i=s.observe(t?.byteLength?t:void 0,performance.now());return i&&r?.byteLength&&wr.decode(r).endsWith(`
443
+ `)?{pch:i,dependency:r}:/\d+ errors? generated\.\s*$/.test(e)?{}:void 0}).then(e=>({...e.value,diagnostics:gn(`${e.stderr}\n${e.stdout}`),stdout:e.stdout,stderr:e.stderr}))}function Fr(e,t,n,r,i,a,o,s,c,l){return Lr(e,t,n,r,i,a,o,s,async e=>{let[t,r]=await Promise.all([Br(n,c),Hr(n,l)]);return t&&r?.byteLength&&wr.decode(r).endsWith(`
444
+ `)?{object:t,dependency:r}:/\d+ errors? generated\.\s*$/.test(e)?{}:void 0}).then(e=>({...e.value,diagnostics:gn(`${e.stderr}\n${e.stdout}`),stdout:e.stdout,stderr:e.stderr}))}function Ir(e,t,n,r,i,a,o,s,c){return Lr(e,t,n,r,i,a,o,s,async e=>await Br(n,c)||(/(?:wasm-ld|lld): error:/i.test(e)?null:void 0)).then(e=>({...e,value:e.value??void 0}))}async function Lr(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=Rr(l.stdout),d=Rr(l.stderr),f=performance.now()+Tr;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 ${Tr} ms.`)}finally{r.trace(i,s,`end`),r.trace(i,o,`end`),await Promise.all([u.cancel(),d.cancel()]),l.free()}}function Rr(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:()=>wr.decode(zr(n)),cancel:async()=>{try{await t.cancel()}catch{}}}}function zr(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 Br(e,t){let n=await Hr(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 Vr(e,t){try{await e.createDir(t)}catch(e){if(!String(e).toLowerCase().includes(`exist`))throw e}}async function Hr(e,t){let n=t.startsWith(`/project/`)?t.slice(8):t;try{return await e.readFile(n)}catch{return}}function Ur(e,t,n,r,i,a){return{success:!1,diagnostics:vn(a??gn(`${n}\n${t}`),{file:e.config.entry,source:i,message:n.trim()||`${i} exited with code ${r}.`}),stdout:t,stderr:n,cacheHit:!1}}const Wr=new TextEncoder;let Gr,Kr;function qr(e){Kr=e}function K(e,t,n,r){q().progress(e,t,n,r)}function q(){if(!Kr)throw Error(`Wasmer compiler host is not configured.`);return Kr}function Jr(){return q().getRuntime()}async function Yr(){Gr??=q().loadToolchainAsset(st);try{return we.fromWasm(await Gr,Jr())}catch(e){throw Gr=void 0,e}}function Xr(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:ln(e.config.language,e.config.target,e.config.optimization,a),...e.dependencies===void 0?{}:{dependencyLockSha256:e.dependencies.lockSha256}}}async function Zr(e,t,n){let r=performance.now();K(n,`compiling`,`Compiling with rustc ${I}`,.2);let i=cr(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:vn(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`,...Xr(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 Qr(e){return Object.values(e).reduce((e,t)=>e+(typeof t==`string`?Wr.encode(t).byteLength:t.byteLength),0)}async function $r(e,t,n){let r=performance.now(),i=ar(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`]=Tn;let o=e.config.entry,s=fn(e,Ze,`python`,o);a[`wasm-oj.manifest.json`]=s;let c=pn(a);return{success:!0,diagnostics:[],artifact:{kind:`runtime-bundle`,...Xr(e,t,r,Qr(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 ei(e,t,n){let r=performance.now();K(n,`compiling`,`Compiling with Go ${L}`,.3);let i=lr(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:vn(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`,...Xr(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 ti(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:vn(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`,...Xr(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 ni(e){return e.endsWith(`.ts`)?e.slice(0,-3)+`.js`:e}function ri(e){let t=e.config.language===`typescript`?`.ts`:`.js`;return e.files.filter(e=>e.path.endsWith(t))}function ii(e){return ri(e).filter(e=>!e.path.endsWith(`.d.ts`))}async function ai(e,t){let n=ri(e),r=ii(e),i=or(e);K(t,`loading-toolchain`,`Loading TypeScript ${ot}/WASI`);let a=(await Yr()).entrypoint;if(!a)throw Error(`The TypeScript/WASI compiler has no executable entrypoint.`);let o=r.map(e=>ni(e.path)),s=`/project/.wasm-oj/quickjs.d.ts`,c=await(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]:yn+bn+xn},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}`)})})).wait(),l;if(c.ok)try{l=JSON.parse(c.stdout)}catch{l=void 0}let u={};if(l)for(let e of o){let t=l.files[`/project/build/${e}`];t!==void 0&&(u[e]=t)}return Object.assign(u,i),{files:u,output:c,response:l}}async function oi(e,t,n){let r=performance.now();if(!ii(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(ii(e).map(e=>[e.path,e.content])),...or(e)};else{K(n,`compiling`,`Compiling TypeScript with TypeScript/WASI`,.5);let t=await ai(e,n);i=t.files,o=t.output.stderr,a=_n(t.response?.diagnostics??``);let r=ii(e).every(e=>Object.hasOwn(i,ni(e.path)));if(!t.output.ok||!t.response||t.response.status!==0||!r||a.some(e=>e.severity===`error`))return{success:!1,diagnostics:vn(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=ni(e.config.entry),c=fn(e,rt,`qjs`,s);i[`wasm-oj.manifest.json`]=c;let l=pn(i),u={kind:`runtime-bundle`,...Xr(e,t,r,Qr(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 si(e,t,n){let r={...e,files:zt(e.files)};if(rr(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 Er(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 Sn;J.register({id:`rustc`,languages:[`rust`],build:({project:e,cacheKey:t,requestId:n})=>Zr(e,t,n)}),J.register({id:`cpython`,languages:[`python`],build:({project:e,cacheKey:t,requestId:n})=>$r(e,t,n)}),J.register({id:`typescript`,languages:[`javascript`,`typescript`],build:({project:e,cacheKey:t,requestId:n})=>oi(e,t,n)}),J.register({id:`go`,languages:[`go`],build:({project:e,cacheKey:t,requestId:n})=>ei(e,t,n)}),J.register({id:`teavm-java`,languages:[`java`],build:({project:e,cacheKey:t,requestId:n})=>ti(e,t,n)});function ci(){Gr=void 0}function li(e){return(e.config.target===`wasip1`||e.config.target===`wasix`)&&(e.config.language===`c`||e.config.language===`cpp`)}function ui(e){if(!li(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&&!Xn(r.content)?1:0;return n.size+i+2}function di(e){let t=ui(e);if(t>8)throw Error(`The browser Clang project requires ${t} compiler stages; the verified per-Worker limit is 8.`);return t}const fi=`manifests`,Y=`metadata`,pi=`blobs`,X=`clang`,mi=new TextEncoder;var hi=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 gi(){let e=await vi();try{let t=e.transaction([fi,Y,pi],`readonly`),n=t.objectStore(fi).get(X),r=t.objectStore(Y).get(X),[i,a]=await Promise.all([yi(n),yi(r)]);if(i===void 0&&a===void 0){await bi(t);return}let o=wi(i),s=Ti(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(pi),u=await Promise.all(c.map(e=>yi(l.get(e))));await bi(t);let d=u.map((e,t)=>Ei(e,c[t]));return Oi(Di(o),d,s),await xi(e,s),{manifest:Di(o),blobs:d.map(({digest:e,bytes:t})=>({digest:e,bytes:t}))}}finally{e.close()}}async function _i(e){let t=Si(e),n=Ci(e),r=await vi();try{let e=r.transaction([fi,Y,pi],`readwrite`),i=e.objectStore(Y),a=await yi(i.get(X));if(a!==void 0&&Ti(a).generation===t.generation)return await bi(e),!1;let o=e.objectStore(pi),s=new Set((await yi(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=ki(n),d=Ai(t),f=ji(u,d);return e.objectStore(fi).put(l),i.put({id:X,generation:t.generation,blobBytes:u,manifestBytes:d,byteLength:f,lastAccessedAt:Date.now()}),await bi(e),!0}finally{r.close()}}function vi(){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(fi,{keyPath:`id`}),e.createObjectStore(Y,{keyPath:`id`}),e.createObjectStore(pi,{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 yi(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 bi(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 xi(e,t){let n=e.transaction(Y,`readwrite`);n.objectStore(Y).put({...t,lastAccessedAt:Date.now()}),await bi(n)}function Si(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 Di(wi({id:X,...e.manifest}))}function Ci(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 wi(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 Ti(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)||ji(t.blobBytes,t.manifestBytes)!==t.byteLength)throw Error(`Persisted Clang build graph metadata has invalid storage accounting.`);return t}function Ei(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 Di(e){return{schema:e.schema,version:e.version,generation:e.generation,entries:e.entries}}function Oi(e,t,n){if(ki(t)!==n.blobBytes||Ai(e)!==n.manifestBytes)throw Error(`Persisted Clang build graph storage accounting does not match its records.`)}function ki(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=ji(t,r.bytes.byteLength)}return t}function Ai(e){return mi.encode(JSON.stringify(e)).byteLength}function ji(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 Mi=``+new URL(`rustc-stage.worker-BJ5u-1c2.js`,import.meta.url).href,Ni=``+new URL(`go-stage.worker-DMewq4N3.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 Pi=``+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 Fi=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(!Ii(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(Li(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 Ii(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 Li(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 Ri(e,t={}){let n=zi(e);try{return new Worker(n.url,{...t,type:`module`})}finally{n.revoke()}}function zi(e){let t=Bi(),n=Vi(e),r=new Blob([`const pendingMessages = [];
445
+ `,`const queueMessage = (event) => { event.stopImmediatePropagation(); pendingMessages.push(event.data); };
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 Bi(){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 Vi(e){let t=Bi(),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 Hi=``+new URL(`wasmer-thread.worker-DKlJE3cb.js`,import.meta.url).href;const Ui=self,Wi=Bi();let Gi,Q,Ki,qi,Ji,Yi,Xi;const Zi=new hi({load:gi,restore:Or,capture:Dr,save:_i});let Qi=!1;function $(e){Ui.postMessage(e)}function $i(e,t,n,r){$({type:`progress`,requestId:e,progress:{phase:t,label:n,progress:r}})}function ea(e,t,n){$({type:`compile-trace`,requestId:e,event:{schema:j.compileTrace,operation:t,state:n,monotonicMs:performance.now()}})}async function ta(e){let t=aa(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 ra(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 na(e){let t=aa(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 ra(e,r),r}async function ra(e,t){let{asset:n}=Yt(ia(),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 ia(){if(!Gi)throw Error(`The compiler toolchain-source registry is not initialized.`);return Gi}function aa(e){return Zt(ia(),e,Wi)}function oa(e){return Xt(ia(),e,Wi).toString()}function sa(e){return Ji??=new Fi({createWorker:()=>Ri(Mi,{name:`wasm-oj-rustc-stage`}),timeoutMs:185e3,stageLabel:`rustc`}),Ji.run({type:`compile`,request:e,assetBaseUrl:oa(lt)})}function ca(e){return Yi??=new Fi({createWorker:()=>Ri(Ni,{name:`wasm-oj-go-stage`}),timeoutMs:185e3,stageLabel:`Go`}),Yi.run({type:`compile`,request:e,assetBaseUrl:oa(mt)})}function la(e){return Xi??=new Fi({createWorker:()=>Ri(Pi,{name:`wasm-oj-java-stage`}),timeoutMs:185e3,stageLabel:`Java`}),Xi.run({type:`compile`,request:e,assetBaseUrl:oa(Et)})}function ua(){qr({getRuntime:()=>{if(!Q)throw Error(`The compiler Wasmer runtime is not initialized for this language.`);return Q},loadToolchainAsset:ta,loadToolchainFile:na,compileRust:sa,compileGo:ca,compileJava:la,progress:$i,trace:ea})}async function da(e,t){if(!crossOriginIsolated)throw Error(`Wasmer requires a cross-origin-isolated page. Serve this app with COOP and COEP headers.`);ea(e,`workerInitialize`,`start`),$i(e,`initializing`,`Starting compiler worker`,.2),Gi=Jt(t),ua(),$i(e,`initializing`,`Compiler worker ready`,1),ea(e,`workerInitialize`,`end`)}function fa(e){return e===`c`||e===`cpp`||e===`javascript`||e===`typescript`}async function pa(e){if(!Q){Ki??=(async()=>{$i(e,`initializing`,`Starting Wasmer compiler runtime`,.1);let t=zi(new URL(Hi,Wi));qi=t;try{await Me({log:`warn`,module:new URL(Pe,Wi),workerUrl:t.url}),Q=new ge({registry:null})}catch(e){throw qi===t&&(qi=void 0),t.revoke(),e}$i(e,`initializing`,`Wasmer compiler runtime ready`,.2)})();try{await Ki}catch(e){throw Ki=void 0,e}}}async function ma(e){fa(e.project.config.language)&&await pa(e.requestId),li(e.project)&&(await Zi.ensureLoaded(),di(e.project));let t=await si(e.project,e.cacheKey,e.requestId);return li(e.project)&&await Zi.persistIfDirty(),t}async function ha(){if(Qi)throw Error(`The compiler Worker is already quiescing.`);Qi=!0;let e=Ji,t=Yi,n=Xi;Ji=void 0,Yi=void 0,Xi=void 0;try{await Promise.all([e?.shutdown({type:`shutdown`}),t?.shutdown({type:`shutdown`}),n?.shutdown({type:`shutdown`,assetBaseUrl:oa(Et)})])}finally{try{await Zi.persistIfDirty(),await kr()}finally{ci(),Q?.free(),Q=void 0,Ki=void 0,qi?.revoke(),qi=void 0}}}Ui.addEventListener(`message`,e=>{let t=e.data;(async()=>{try{switch(t.type){case`initialize`:await da(t.requestId,t.toolchains),$({type:`ready`,requestId:t.requestId});break;case`build`:$({type:`build-result`,requestId:t.requestId,result:await ma(t)});break;case`quiesce`:await ha(),$({type:`quiesced`,requestId:t.requestId}),Ui.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})}})()});