(()=>{if(typeof global!="undefined");else if(typeof window!="undefined")window.global=window;else if(typeof self!="undefined")self.global=self;else throw new Error("cannot export Go (neither global, window nor self is defined)");!global.require&&typeof require!="undefined"&&(global.require=require),!global.fs&&global.require&&(global.fs=require("node:fs"));const e=()=>{const e=new Error("not implemented");return e.code="ENOSYS",e};if(!global.fs){let t="";global.fs={constants:{O_WRONLY:-1,O_RDWR:-1,O_CREAT:-1,O_TRUNC:-1,O_APPEND:-1,O_EXCL:-1},writeSync(e,n){t+=s.decode(n);const o=t.lastIndexOf(` `);return o!=-1&&(console.log(t.substr(0,o)),t=t.substr(o+1)),n.length},write(t,n,s,o,i,a){if(s!==0||o!==n.length||i!==null){a(e());return}const r=this.writeSync(t,n);a(null,r)},chmod(t,n,s){s(e())},chown(t,n,s,o){o(e())},close(t,n){n(e())},fchmod(t,n,s){s(e())},fchown(t,n,s,o){o(e())},fstat(t,n){n(e())},fsync(e,t){t(null)},ftruncate(t,n,s){s(e())},lchown(t,n,s,o){o(e())},link(t,n,s){s(e())},lstat(t,n){n(e())},mkdir(t,n,s){s(e())},open(t,n,s,o){o(e())},read(t,n,s,o,i,a){a(e())},readdir(t,n){n(e())},readlink(t,n){n(e())},rename(t,n,s){s(e())},rmdir(t,n){n(e())},stat(t,n){n(e())},symlink(t,n,s){s(e())},truncate(t,n,s){s(e())},unlink(t,n){n(e())},utimes(t,n,s,o){o(e())}}}if(global.process||(global.process={getuid(){return-1},getgid(){return-1},geteuid(){return-1},getegid(){return-1},getgroups(){throw e()},pid:-1,ppid:-1,umask(){throw e()},cwd(){throw e()},chdir(){throw e()}}),!global.crypto){const e=require("node:crypto");global.crypto={getRandomValues(t){e.randomFillSync(t)}}}global.performance||(global.performance={now(){const[e,t]=process.hrtime();return e*1e3+t/1e6}}),global.TextEncoder||(global.TextEncoder=require("node:util").TextEncoder),global.TextDecoder||(global.TextDecoder=require("node:util").TextDecoder);const i=new TextEncoder("utf-8"),s=new TextDecoder("utf-8");let t=new DataView(new ArrayBuffer(8));var o=[];const n={};if(global.Go=class{constructor(){this._callbackTimeouts=new Map,this._nextCallbackTimeoutID=1;const e=()=>new DataView(this._inst.exports.memory.buffer),a=e=>{t.setBigInt64(0,e,!0);const n=t.getFloat64(0,!0);if(n===0)return void 0;if(!isNaN(n))return n;const s=e&4294967295n;return this._values[s]},h=t=>{let n=e().getBigUint64(t,!0);return a(n)},l=e=>{const s=2146959360n;if(typeof e=="number")return isNaN(e)?s<<32n:e===0?s<<32n|1n:(t.setFloat64(0,e,!0),t.getBigInt64(0,!0));switch(e){case void 0:return 0n;case null:return s<<32n|2n;case!0:return s<<32n|3n;case!1:return s<<32n|4n}let n=this._ids.get(e);n===void 0&&(n=this._idPool.pop(),n===void 0&&(n=BigInt(this._values.length)),this._values[n]=e,this._goRefCounts[n]=0,this._ids.set(e,n)),this._goRefCounts[n]++;let o=1n;switch(typeof e){case"string":o=2n;break;case"symbol":o=3n;break;case"function":o=4n;break}return n|(s|o)<<32n},r=(t,n)=>{let s=l(n);e().setBigUint64(t,s,!0)},d=(e,t)=>new Uint8Array(this._inst.exports.memory.buffer,e,t),u=(e,t)=>{const s=new Array(t);for(let n=0;ns.decode(new DataView(this._inst.exports.memory.buffer,e,t)),m=Date.now()-performance.now();this.importObject={wasi_snapshot_preview1:{fd_write:function(t,n,i,a){let r=0;if(t==1)for(let t=0;t0,fd_fdstat_get:()=>0,fd_seek:()=>0,proc_exit:e=>{throw this.exited=!0,this.exitCode=e,this._resolveExitPromise(),n},random_get:(e,t)=>(crypto.getRandomValues(d(e,t)),0)},gojs:{"runtime.ticks":()=>BigInt((m+performance.now())*1e6),"runtime.sleepTicks":e=>{setTimeout(()=>{if(this.exited)return;try{this._inst.exports.go_scheduler()}catch(e){if(e!==n)throw e}},Number(e)/1e6)},"syscall/js.finalizeRef":e=>{const t=e&4294967295n;if(this._goRefCounts?.[t]!==void 0){if(this._goRefCounts[t]--,this._goRefCounts[t]===0){const e=this._values[t];this._values[t]=null,this._ids.delete(e),this._idPool.push(t)}}else console.error("syscall/js.finalizeRef: unknown id",t)},"syscall/js.stringVal":(e,t)=>{e>>>=0;const n=c(e,t);return l(n)},"syscall/js.valueGet":(e,t,n)=>{let s=c(t,n),o=a(e),i=Reflect.get(o,s);return l(i)},"syscall/js.valueSet":(e,t,n,s)=>{const o=a(e),i=c(t,n),r=a(s);Reflect.set(o,i,r)},"syscall/js.valueDelete":(e,t,n)=>{const s=a(e),o=c(t,n);Reflect.deleteProperty(s,o)},"syscall/js.valueIndex":(e,t)=>l(Reflect.get(a(e),t)),"syscall/js.valueSetIndex":(e,t,n)=>{Reflect.set(a(e),t,a(n))},"syscall/js.valueCall":(t,n,s,o,i,l,d)=>{const h=a(n),m=c(s,o),f=u(i,l,d);try{const n=Reflect.get(h,m);r(t,Reflect.apply(n,h,f)),e().setUint8(t+8,1)}catch(n){r(t,n),e().setUint8(t+8,0)}},"syscall/js.valueInvoke":(t,n,s,o,i)=>{try{const c=a(n),l=u(s,o,i);r(t,Reflect.apply(c,void 0,l)),e().setUint8(t+8,1)}catch(n){r(t,n),e().setUint8(t+8,0)}},"syscall/js.valueNew":(t,n,s,o,i)=>{const c=a(n),l=u(s,o,i);try{r(t,Reflect.construct(c,l)),e().setUint8(t+8,1)}catch(n){r(t,n),e().setUint8(t+8,0)}},"syscall/js.valueLength":e=>a(e).length,"syscall/js.valuePrepareString":(t,n)=>{const o=String(a(n)),s=i.encode(o);r(t,s),e().setInt32(t+8,s.length,!0)},"syscall/js.valueLoadString":(e,t,n,s)=>{const o=a(e);d(t,n,s).set(o)},"syscall/js.valueInstanceOf":(e,t)=>a(e)instanceof a(t),"syscall/js.copyBytesToGo":(t,n,s,o,i)=>{let h=t,c=t+4;const l=d(n,s),r=a(i);if(!(r instanceof Uint8Array||r instanceof Uint8ClampedArray)){e().setUint8(c,0);return}const u=r.subarray(0,l.length);l.set(u),e().setUint32(h,u.length,!0),e().setUint8(c,1)},"syscall/js.copyBytesToJS":(t,n,s,o)=>{let u=t,c=t+4;const r=a(n),h=d(s,o);if(!(r instanceof Uint8Array||r instanceof Uint8ClampedArray)){e().setUint8(c,0);return}const l=h.subarray(0,r.length);r.set(l),e().setUint32(u,l.length,!0),e().setUint8(c,1)}}},this.importObject.env=this.importObject.gojs}async run(e){if(this._inst=e,this._values=[NaN,0,null,!0,!1,global,this],this._goRefCounts=[],this._ids=new Map,this._idPool=[],this.exited=!1,this.exitCode=0,this._inst.exports._start){let e=new Promise((e)=>{this._resolveExitPromise=e});try{this._inst.exports._start()}catch(e){if(e!==n)throw e}return await e,this.exitCode}this._inst.exports._initialize()}_resume(){if(this.exited)throw new Error("Go program has already exited");try{this._inst.exports.resume()}catch(e){if(e!==n)throw e}this.exited&&this._resolveExitPromise()}_makeFuncWrapper(e){const t=this;return function(){const n={id:e,this:this,args:arguments};return t._pendingEvent=n,t._resume(),n.result}}},global.require&&global.require.main===module&&global.process&&global.process.versions&&!global.process.versions.electron){process.argv.length!=3&&(console.error("usage: go_js_wasm_exec [wasm binary] [arguments]"),process.exit(1));const e=new Go;WebAssembly.instantiate(fs.readFileSync(process.argv[2]),e.importObject).then(async t=>{let n=await e.run(t.instance);process.exit(n)}).catch(e=>{console.error(e),process.exit(1)})}})();export default function(e){return new Promise(t=>{const n=new Go,s=e=>{const s=e.instance;global.wfa=s,n.run(s),t()};"instantiateStreaming"in WebAssembly?WebAssembly.instantiateStreaming(fetch(e),n.importObject).then(function(e){s(e)}):fetch(e).then(e=>e.arrayBuffer()).then(e=>WebAssembly.instantiate(e,n.importObject).then(function(e){s(e)}))})}