{"version":3,"sources":["wasm_exec.js"],"names":["enosys","err","Error","code","globalThis","fs","outputBuf","constants","O_WRONLY","O_RDWR","O_CREAT","O_TRUNC","O_APPEND","O_EXCL","writeSync","fd","buf","nl","decoder","decode","lastIndexOf","console","log","substr","length","write","offset","position","callback","chmod","path","mode","chown","uid","gid","close","fchmod","fchown","fstat","fsync","ftruncate","lchown","link","lstat","mkdir","perm","open","flags","read","buffer","readdir","readlink","rename","from","to","rmdir","stat","symlink","truncate","unlink","utimes","atime","mtime","process","getuid","getgid","geteuid","getegid","getgroups","pid","ppid","umask","cwd","chdir","crypto","performance","TextEncoder","TextDecoder","encoder","Go","constructor","argv","env","exit","warn","_exitPromise","Promise","resolve","_resolveExitPromise","_pendingEvent","_scheduledTimeouts","Map","_nextCallbackTimeoutID","setInt64","addr","v","mem","setUint32","Math","floor","getInt64","low","getUint32","getInt32","loadValue","f","getFloat64","undefined","isNaN","id","_values","storeValue","setFloat64","_ids","get","_idPool","pop","_goRefCounts","set","typeFlag","loadSlice","array","len","Uint8Array","_inst","exports","loadSliceOfValues","a","Array","i","loadString","saddr","DataView","timeOrigin","Date","now","importObject","go","sp","exited","p","n","msec","getTime","setInt32","setTimeout","_resume","has","clearTimeout","delete","getRandomValues","push","result","Reflect","getsp","deleteProperty","m","args","apply","setUint8","construct","parseInt","str","encode","String","dst","src","Uint8ClampedArray","toCopy","subarray","value","run","instance","WebAssembly","Instance","NaN","fill","Infinity","strPtr","ptr","bytes","argc","argvPtrs","forEach","arg","Object","keys","sort","key","resume","_makeFuncWrapper","event","this","arguments"],"mappings":"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","file":"wasm_exec.500e6748.js","sourceRoot":"../src","sourcesContent":["// Copyright 2018 The Go Authors. All rights reserved.\n// Use of this source code is governed by a BSD-style\n// license that can be found in the LICENSE file.\n\n\"use strict\";\n\n(() => {\n\tconst enosys = () => {\n\t\tconst err = new Error(\"not implemented\");\n\t\terr.code = \"ENOSYS\";\n\t\treturn err;\n\t};\n\n\tif (!globalThis.fs) {\n\t\tlet outputBuf = \"\";\n\t\tglobalThis.fs = {\n\t\t\tconstants: { O_WRONLY: -1, O_RDWR: -1, O_CREAT: -1, O_TRUNC: -1, O_APPEND: -1, O_EXCL: -1 }, // unused\n\t\t\twriteSync(fd, buf) {\n\t\t\t\toutputBuf += decoder.decode(buf);\n\t\t\t\tconst nl = outputBuf.lastIndexOf(\"\\n\");\n\t\t\t\tif (nl != -1) {\n\t\t\t\t\tconsole.log(outputBuf.substr(0, nl));\n\t\t\t\t\toutputBuf = outputBuf.substr(nl + 1);\n\t\t\t\t}\n\t\t\t\treturn buf.length;\n\t\t\t},\n\t\t\twrite(fd, buf, offset, length, position, callback) {\n\t\t\t\tif (offset !== 0 || length !== buf.length || position !== null) {\n\t\t\t\t\tcallback(enosys());\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tconst n = this.writeSync(fd, buf);\n\t\t\t\tcallback(null, n);\n\t\t\t},\n\t\t\tchmod(path, mode, callback) { callback(enosys()); },\n\t\t\tchown(path, uid, gid, callback) { callback(enosys()); },\n\t\t\tclose(fd, callback) { callback(enosys()); },\n\t\t\tfchmod(fd, mode, callback) { callback(enosys()); },\n\t\t\tfchown(fd, uid, gid, callback) { callback(enosys()); },\n\t\t\tfstat(fd, callback) { callback(enosys()); },\n\t\t\tfsync(fd, callback) { callback(null); },\n\t\t\tftruncate(fd, length, callback) { callback(enosys()); },\n\t\t\tlchown(path, uid, gid, callback) { callback(enosys()); },\n\t\t\tlink(path, link, callback) { callback(enosys()); },\n\t\t\tlstat(path, callback) { callback(enosys()); },\n\t\t\tmkdir(path, perm, callback) { callback(enosys()); },\n\t\t\topen(path, flags, mode, callback) { callback(enosys()); },\n\t\t\tread(fd, buffer, offset, length, position, callback) { callback(enosys()); },\n\t\t\treaddir(path, callback) { callback(enosys()); },\n\t\t\treadlink(path, callback) { callback(enosys()); },\n\t\t\trename(from, to, callback) { callback(enosys()); },\n\t\t\trmdir(path, callback) { callback(enosys()); },\n\t\t\tstat(path, callback) { callback(enosys()); },\n\t\t\tsymlink(path, link, callback) { callback(enosys()); },\n\t\t\ttruncate(path, length, callback) { callback(enosys()); },\n\t\t\tunlink(path, callback) { callback(enosys()); },\n\t\t\tutimes(path, atime, mtime, callback) { callback(enosys()); },\n\t\t};\n\t}\n\n\tif (!globalThis.process) {\n\t\tglobalThis.process = {\n\t\t\tgetuid() { return -1; },\n\t\t\tgetgid() { return -1; },\n\t\t\tgeteuid() { return -1; },\n\t\t\tgetegid() { return -1; },\n\t\t\tgetgroups() { throw enosys(); },\n\t\t\tpid: -1,\n\t\t\tppid: -1,\n\t\t\tumask() { throw enosys(); },\n\t\t\tcwd() { throw enosys(); },\n\t\t\tchdir() { throw enosys(); },\n\t\t}\n\t}\n\n\tif (!globalThis.crypto) {\n\t\tthrow new Error(\"globalThis.crypto is not available, polyfill required (crypto.getRandomValues only)\");\n\t}\n\n\tif (!globalThis.performance) {\n\t\tthrow new Error(\"globalThis.performance is not available, polyfill required (performance.now only)\");\n\t}\n\n\tif (!globalThis.TextEncoder) {\n\t\tthrow new Error(\"globalThis.TextEncoder is not available, polyfill required\");\n\t}\n\n\tif (!globalThis.TextDecoder) {\n\t\tthrow new Error(\"globalThis.TextDecoder is not available, polyfill required\");\n\t}\n\n\tconst encoder = new TextEncoder(\"utf-8\");\n\tconst decoder = new TextDecoder(\"utf-8\");\n\n\tglobalThis.Go = class {\n\t\tconstructor() {\n\t\t\tthis.argv = [\"js\"];\n\t\t\tthis.env = {};\n\t\t\tthis.exit = (code) => {\n\t\t\t\tif (code !== 0) {\n\t\t\t\t\tconsole.warn(\"exit code:\", code);\n\t\t\t\t}\n\t\t\t};\n\t\t\tthis._exitPromise = new Promise((resolve) => {\n\t\t\t\tthis._resolveExitPromise = resolve;\n\t\t\t});\n\t\t\tthis._pendingEvent = null;\n\t\t\tthis._scheduledTimeouts = new Map();\n\t\t\tthis._nextCallbackTimeoutID = 1;\n\n\t\t\tconst setInt64 = (addr, v) => {\n\t\t\t\tthis.mem.setUint32(addr + 0, v, true);\n\t\t\t\tthis.mem.setUint32(addr + 4, Math.floor(v / 4294967296), true);\n\t\t\t}\n\n\t\t\tconst getInt64 = (addr) => {\n\t\t\t\tconst low = this.mem.getUint32(addr + 0, true);\n\t\t\t\tconst high = this.mem.getInt32(addr + 4, true);\n\t\t\t\treturn low + high * 4294967296;\n\t\t\t}\n\n\t\t\tconst loadValue = (addr) => {\n\t\t\t\tconst f = this.mem.getFloat64(addr, true);\n\t\t\t\tif (f === 0) {\n\t\t\t\t\treturn undefined;\n\t\t\t\t}\n\t\t\t\tif (!isNaN(f)) {\n\t\t\t\t\treturn f;\n\t\t\t\t}\n\n\t\t\t\tconst id = this.mem.getUint32(addr, true);\n\t\t\t\treturn this._values[id];\n\t\t\t}\n\n\t\t\tconst storeValue = (addr, v) => {\n\t\t\t\tconst nanHead = 0x7FF80000;\n\n\t\t\t\tif (typeof v === \"number\" && v !== 0) {\n\t\t\t\t\tif (isNaN(v)) {\n\t\t\t\t\t\tthis.mem.setUint32(addr + 4, nanHead, true);\n\t\t\t\t\t\tthis.mem.setUint32(addr, 0, true);\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\t\t\t\t\tthis.mem.setFloat64(addr, v, true);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tif (v === undefined) {\n\t\t\t\t\tthis.mem.setFloat64(addr, 0, true);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tlet id = this._ids.get(v);\n\t\t\t\tif (id === undefined) {\n\t\t\t\t\tid = this._idPool.pop();\n\t\t\t\t\tif (id === undefined) {\n\t\t\t\t\t\tid = this._values.length;\n\t\t\t\t\t}\n\t\t\t\t\tthis._values[id] = v;\n\t\t\t\t\tthis._goRefCounts[id] = 0;\n\t\t\t\t\tthis._ids.set(v, id);\n\t\t\t\t}\n\t\t\t\tthis._goRefCounts[id]++;\n\t\t\t\tlet typeFlag = 0;\n\t\t\t\tswitch (typeof v) {\n\t\t\t\t\tcase \"object\":\n\t\t\t\t\t\tif (v !== null) {\n\t\t\t\t\t\t\ttypeFlag = 1;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"string\":\n\t\t\t\t\t\ttypeFlag = 2;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"symbol\":\n\t\t\t\t\t\ttypeFlag = 3;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase \"function\":\n\t\t\t\t\t\ttypeFlag = 4;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tthis.mem.setUint32(addr + 4, nanHead | typeFlag, true);\n\t\t\t\tthis.mem.setUint32(addr, id, true);\n\t\t\t}\n\n\t\t\tconst loadSlice = (addr) => {\n\t\t\t\tconst array = getInt64(addr + 0);\n\t\t\t\tconst len = getInt64(addr + 8);\n\t\t\t\treturn new Uint8Array(this._inst.exports.mem.buffer, array, len);\n\t\t\t}\n\n\t\t\tconst loadSliceOfValues = (addr) => {\n\t\t\t\tconst array = getInt64(addr + 0);\n\t\t\t\tconst len = getInt64(addr + 8);\n\t\t\t\tconst a = new Array(len);\n\t\t\t\tfor (let i = 0; i < len; i++) {\n\t\t\t\t\ta[i] = loadValue(array + i * 8);\n\t\t\t\t}\n\t\t\t\treturn a;\n\t\t\t}\n\n\t\t\tconst loadString = (addr) => {\n\t\t\t\tconst saddr = getInt64(addr + 0);\n\t\t\t\tconst len = getInt64(addr + 8);\n\t\t\t\treturn decoder.decode(new DataView(this._inst.exports.mem.buffer, saddr, len));\n\t\t\t}\n\n\t\t\tconst timeOrigin = Date.now() - performance.now();\n\t\t\tthis.importObject = {\n\t\t\t\tgo: {\n\t\t\t\t\t// Go's SP does not change as long as no Go code is running. Some operations (e.g. calls, getters and setters)\n\t\t\t\t\t// may synchronously trigger a Go event handler. This makes Go code get executed in the middle of the imported\n\t\t\t\t\t// function. A goroutine can switch to a new stack if the current stack is too small (see morestack function).\n\t\t\t\t\t// This changes the SP, thus we have to update the SP used by the imported function.\n\n\t\t\t\t\t// func wasmExit(code int32)\n\t\t\t\t\t\"runtime.wasmExit\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tconst code = this.mem.getInt32(sp + 8, true);\n\t\t\t\t\t\tthis.exited = true;\n\t\t\t\t\t\tdelete this._inst;\n\t\t\t\t\t\tdelete this._values;\n\t\t\t\t\t\tdelete this._goRefCounts;\n\t\t\t\t\t\tdelete this._ids;\n\t\t\t\t\t\tdelete this._idPool;\n\t\t\t\t\t\tthis.exit(code);\n\t\t\t\t\t},\n\n\t\t\t\t\t// func wasmWrite(fd uintptr, p unsafe.Pointer, n int32)\n\t\t\t\t\t\"runtime.wasmWrite\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tconst fd = getInt64(sp + 8);\n\t\t\t\t\t\tconst p = getInt64(sp + 16);\n\t\t\t\t\t\tconst n = this.mem.getInt32(sp + 24, true);\n\t\t\t\t\t\tfs.writeSync(fd, new Uint8Array(this._inst.exports.mem.buffer, p, n));\n\t\t\t\t\t},\n\n\t\t\t\t\t// func resetMemoryDataView()\n\t\t\t\t\t\"runtime.resetMemoryDataView\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tthis.mem = new DataView(this._inst.exports.mem.buffer);\n\t\t\t\t\t},\n\n\t\t\t\t\t// func nanotime1() int64\n\t\t\t\t\t\"runtime.nanotime1\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tsetInt64(sp + 8, (timeOrigin + performance.now()) * 1000000);\n\t\t\t\t\t},\n\n\t\t\t\t\t// func walltime() (sec int64, nsec int32)\n\t\t\t\t\t\"runtime.walltime\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tconst msec = (new Date).getTime();\n\t\t\t\t\t\tsetInt64(sp + 8, msec / 1000);\n\t\t\t\t\t\tthis.mem.setInt32(sp + 16, (msec % 1000) * 1000000, true);\n\t\t\t\t\t},\n\n\t\t\t\t\t// func scheduleTimeoutEvent(delay int64) int32\n\t\t\t\t\t\"runtime.scheduleTimeoutEvent\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tconst id = this._nextCallbackTimeoutID;\n\t\t\t\t\t\tthis._nextCallbackTimeoutID++;\n\t\t\t\t\t\tthis._scheduledTimeouts.set(id, setTimeout(\n\t\t\t\t\t\t\t() => {\n\t\t\t\t\t\t\t\tthis._resume();\n\t\t\t\t\t\t\t\twhile (this._scheduledTimeouts.has(id)) {\n\t\t\t\t\t\t\t\t\t// for some reason Go failed to register the timeout event, log and try again\n\t\t\t\t\t\t\t\t\t// (temporary workaround for https://github.com/golang/go/issues/28975)\n\t\t\t\t\t\t\t\t\tconsole.warn(\"scheduleTimeoutEvent: missed timeout event\");\n\t\t\t\t\t\t\t\t\tthis._resume();\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tgetInt64(sp + 8) + 1, // setTimeout has been seen to fire up to 1 millisecond early\n\t\t\t\t\t\t));\n\t\t\t\t\t\tthis.mem.setInt32(sp + 16, id, true);\n\t\t\t\t\t},\n\n\t\t\t\t\t// func clearTimeoutEvent(id int32)\n\t\t\t\t\t\"runtime.clearTimeoutEvent\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tconst id = this.mem.getInt32(sp + 8, true);\n\t\t\t\t\t\tclearTimeout(this._scheduledTimeouts.get(id));\n\t\t\t\t\t\tthis._scheduledTimeouts.delete(id);\n\t\t\t\t\t},\n\n\t\t\t\t\t// func getRandomData(r []byte)\n\t\t\t\t\t\"runtime.getRandomData\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tcrypto.getRandomValues(loadSlice(sp + 8));\n\t\t\t\t\t},\n\n\t\t\t\t\t// func finalizeRef(v ref)\n\t\t\t\t\t\"syscall/js.finalizeRef\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tconst id = this.mem.getUint32(sp + 8, true);\n\t\t\t\t\t\tthis._goRefCounts[id]--;\n\t\t\t\t\t\tif (this._goRefCounts[id] === 0) {\n\t\t\t\t\t\t\tconst v = this._values[id];\n\t\t\t\t\t\t\tthis._values[id] = null;\n\t\t\t\t\t\t\tthis._ids.delete(v);\n\t\t\t\t\t\t\tthis._idPool.push(id);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\n\t\t\t\t\t// func stringVal(value string) ref\n\t\t\t\t\t\"syscall/js.stringVal\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tstoreValue(sp + 24, loadString(sp + 8));\n\t\t\t\t\t},\n\n\t\t\t\t\t// func valueGet(v ref, p string) ref\n\t\t\t\t\t\"syscall/js.valueGet\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tconst result = Reflect.get(loadValue(sp + 8), loadString(sp + 16));\n\t\t\t\t\t\tsp = this._inst.exports.getsp() >>> 0; // see comment above\n\t\t\t\t\t\tstoreValue(sp + 32, result);\n\t\t\t\t\t},\n\n\t\t\t\t\t// func valueSet(v ref, p string, x ref)\n\t\t\t\t\t\"syscall/js.valueSet\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tReflect.set(loadValue(sp + 8), loadString(sp + 16), loadValue(sp + 32));\n\t\t\t\t\t},\n\n\t\t\t\t\t// func valueDelete(v ref, p string)\n\t\t\t\t\t\"syscall/js.valueDelete\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tReflect.deleteProperty(loadValue(sp + 8), loadString(sp + 16));\n\t\t\t\t\t},\n\n\t\t\t\t\t// func valueIndex(v ref, i int) ref\n\t\t\t\t\t\"syscall/js.valueIndex\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tstoreValue(sp + 24, Reflect.get(loadValue(sp + 8), getInt64(sp + 16)));\n\t\t\t\t\t},\n\n\t\t\t\t\t// valueSetIndex(v ref, i int, x ref)\n\t\t\t\t\t\"syscall/js.valueSetIndex\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tReflect.set(loadValue(sp + 8), getInt64(sp + 16), loadValue(sp + 24));\n\t\t\t\t\t},\n\n\t\t\t\t\t// func valueCall(v ref, m string, args []ref) (ref, bool)\n\t\t\t\t\t\"syscall/js.valueCall\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst v = loadValue(sp + 8);\n\t\t\t\t\t\t\tconst m = Reflect.get(v, loadString(sp + 16));\n\t\t\t\t\t\t\tconst args = loadSliceOfValues(sp + 32);\n\t\t\t\t\t\t\tconst result = Reflect.apply(m, v, args);\n\t\t\t\t\t\t\tsp = this._inst.exports.getsp() >>> 0; // see comment above\n\t\t\t\t\t\t\tstoreValue(sp + 56, result);\n\t\t\t\t\t\t\tthis.mem.setUint8(sp + 64, 1);\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\tsp = this._inst.exports.getsp() >>> 0; // see comment above\n\t\t\t\t\t\t\tstoreValue(sp + 56, err);\n\t\t\t\t\t\t\tthis.mem.setUint8(sp + 64, 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\n\t\t\t\t\t// func valueInvoke(v ref, args []ref) (ref, bool)\n\t\t\t\t\t\"syscall/js.valueInvoke\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst v = loadValue(sp + 8);\n\t\t\t\t\t\t\tconst args = loadSliceOfValues(sp + 16);\n\t\t\t\t\t\t\tconst result = Reflect.apply(v, undefined, args);\n\t\t\t\t\t\t\tsp = this._inst.exports.getsp() >>> 0; // see comment above\n\t\t\t\t\t\t\tstoreValue(sp + 40, result);\n\t\t\t\t\t\t\tthis.mem.setUint8(sp + 48, 1);\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\tsp = this._inst.exports.getsp() >>> 0; // see comment above\n\t\t\t\t\t\t\tstoreValue(sp + 40, err);\n\t\t\t\t\t\t\tthis.mem.setUint8(sp + 48, 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\n\t\t\t\t\t// func valueNew(v ref, args []ref) (ref, bool)\n\t\t\t\t\t\"syscall/js.valueNew\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst v = loadValue(sp + 8);\n\t\t\t\t\t\t\tconst args = loadSliceOfValues(sp + 16);\n\t\t\t\t\t\t\tconst result = Reflect.construct(v, args);\n\t\t\t\t\t\t\tsp = this._inst.exports.getsp() >>> 0; // see comment above\n\t\t\t\t\t\t\tstoreValue(sp + 40, result);\n\t\t\t\t\t\t\tthis.mem.setUint8(sp + 48, 1);\n\t\t\t\t\t\t} catch (err) {\n\t\t\t\t\t\t\tsp = this._inst.exports.getsp() >>> 0; // see comment above\n\t\t\t\t\t\t\tstoreValue(sp + 40, err);\n\t\t\t\t\t\t\tthis.mem.setUint8(sp + 48, 0);\n\t\t\t\t\t\t}\n\t\t\t\t\t},\n\n\t\t\t\t\t// func valueLength(v ref) int\n\t\t\t\t\t\"syscall/js.valueLength\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tsetInt64(sp + 16, parseInt(loadValue(sp + 8).length));\n\t\t\t\t\t},\n\n\t\t\t\t\t// valuePrepareString(v ref) (ref, int)\n\t\t\t\t\t\"syscall/js.valuePrepareString\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tconst str = encoder.encode(String(loadValue(sp + 8)));\n\t\t\t\t\t\tstoreValue(sp + 16, str);\n\t\t\t\t\t\tsetInt64(sp + 24, str.length);\n\t\t\t\t\t},\n\n\t\t\t\t\t// valueLoadString(v ref, b []byte)\n\t\t\t\t\t\"syscall/js.valueLoadString\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tconst str = loadValue(sp + 8);\n\t\t\t\t\t\tloadSlice(sp + 16).set(str);\n\t\t\t\t\t},\n\n\t\t\t\t\t// func valueInstanceOf(v ref, t ref) bool\n\t\t\t\t\t\"syscall/js.valueInstanceOf\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tthis.mem.setUint8(sp + 24, (loadValue(sp + 8) instanceof loadValue(sp + 16)) ? 1 : 0);\n\t\t\t\t\t},\n\n\t\t\t\t\t// func copyBytesToGo(dst []byte, src ref) (int, bool)\n\t\t\t\t\t\"syscall/js.copyBytesToGo\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tconst dst = loadSlice(sp + 8);\n\t\t\t\t\t\tconst src = loadValue(sp + 32);\n\t\t\t\t\t\tif (!(src instanceof Uint8Array || src instanceof Uint8ClampedArray)) {\n\t\t\t\t\t\t\tthis.mem.setUint8(sp + 48, 0);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst toCopy = src.subarray(0, dst.length);\n\t\t\t\t\t\tdst.set(toCopy);\n\t\t\t\t\t\tsetInt64(sp + 40, toCopy.length);\n\t\t\t\t\t\tthis.mem.setUint8(sp + 48, 1);\n\t\t\t\t\t},\n\n\t\t\t\t\t// func copyBytesToJS(dst ref, src []byte) (int, bool)\n\t\t\t\t\t\"syscall/js.copyBytesToJS\": (sp) => {\n\t\t\t\t\t\tsp >>>= 0;\n\t\t\t\t\t\tconst dst = loadValue(sp + 8);\n\t\t\t\t\t\tconst src = loadSlice(sp + 16);\n\t\t\t\t\t\tif (!(dst instanceof Uint8Array || dst instanceof Uint8ClampedArray)) {\n\t\t\t\t\t\t\tthis.mem.setUint8(sp + 48, 0);\n\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t}\n\t\t\t\t\t\tconst toCopy = src.subarray(0, dst.length);\n\t\t\t\t\t\tdst.set(toCopy);\n\t\t\t\t\t\tsetInt64(sp + 40, toCopy.length);\n\t\t\t\t\t\tthis.mem.setUint8(sp + 48, 1);\n\t\t\t\t\t},\n\n\t\t\t\t\t\"debug\": (value) => {\n\t\t\t\t\t\tconsole.log(value);\n\t\t\t\t\t},\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\n\t\tasync run(instance) {\n\t\t\tif (!(instance instanceof WebAssembly.Instance)) {\n\t\t\t\tthrow new Error(\"Go.run: WebAssembly.Instance expected\");\n\t\t\t}\n\t\t\tthis._inst = instance;\n\t\t\tthis.mem = new DataView(this._inst.exports.mem.buffer);\n\t\t\tthis._values = [ // JS values that Go currently has references to, indexed by reference id\n\t\t\t\tNaN,\n\t\t\t\t0,\n\t\t\t\tnull,\n\t\t\t\ttrue,\n\t\t\t\tfalse,\n\t\t\t\tglobalThis,\n\t\t\t\tthis,\n\t\t\t];\n\t\t\tthis._goRefCounts = new Array(this._values.length).fill(Infinity); // number of references that Go has to a JS value, indexed by reference id\n\t\t\tthis._ids = new Map([ // mapping from JS values to reference ids\n\t\t\t\t[0, 1],\n\t\t\t\t[null, 2],\n\t\t\t\t[true, 3],\n\t\t\t\t[false, 4],\n\t\t\t\t[globalThis, 5],\n\t\t\t\t[this, 6],\n\t\t\t]);\n\t\t\tthis._idPool = []; // unused ids that have been garbage collected\n\t\t\tthis.exited = false; // whether the Go program has exited\n\n\t\t\t// Pass command line arguments and environment variables to WebAssembly by writing them to the linear memory.\n\t\t\tlet offset = 4096;\n\n\t\t\tconst strPtr = (str) => {\n\t\t\t\tconst ptr = offset;\n\t\t\t\tconst bytes = encoder.encode(str + \"\\0\");\n\t\t\t\tnew Uint8Array(this.mem.buffer, offset, bytes.length).set(bytes);\n\t\t\t\toffset += bytes.length;\n\t\t\t\tif (offset % 8 !== 0) {\n\t\t\t\t\toffset += 8 - (offset % 8);\n\t\t\t\t}\n\t\t\t\treturn ptr;\n\t\t\t};\n\n\t\t\tconst argc = this.argv.length;\n\n\t\t\tconst argvPtrs = [];\n\t\t\tthis.argv.forEach((arg) => {\n\t\t\t\targvPtrs.push(strPtr(arg));\n\t\t\t});\n\t\t\targvPtrs.push(0);\n\n\t\t\tconst keys = Object.keys(this.env).sort();\n\t\t\tkeys.forEach((key) => {\n\t\t\t\targvPtrs.push(strPtr(`${key}=${this.env[key]}`));\n\t\t\t});\n\t\t\targvPtrs.push(0);\n\n\t\t\tconst argv = offset;\n\t\t\targvPtrs.forEach((ptr) => {\n\t\t\t\tthis.mem.setUint32(offset, ptr, true);\n\t\t\t\tthis.mem.setUint32(offset + 4, 0, true);\n\t\t\t\toffset += 8;\n\t\t\t});\n\n\t\t\t// The linker guarantees global data starts from at least wasmMinDataAddr.\n\t\t\t// Keep in sync with cmd/link/internal/ld/data.go:wasmMinDataAddr.\n\t\t\tconst wasmMinDataAddr = 4096 + 8192;\n\t\t\tif (offset >= wasmMinDataAddr) {\n\t\t\t\tthrow new Error(\"total length of command line and environment variables exceeds limit\");\n\t\t\t}\n\n\t\t\tthis._inst.exports.run(argc, argv);\n\t\t\tif (this.exited) {\n\t\t\t\tthis._resolveExitPromise();\n\t\t\t}\n\t\t\tawait this._exitPromise;\n\t\t}\n\n\t\t_resume() {\n\t\t\tif (this.exited) {\n\t\t\t\tthrow new Error(\"Go program has already exited\");\n\t\t\t}\n\t\t\tthis._inst.exports.resume();\n\t\t\tif (this.exited) {\n\t\t\t\tthis._resolveExitPromise();\n\t\t\t}\n\t\t}\n\n\t\t_makeFuncWrapper(id) {\n\t\t\tconst go = this;\n\t\t\treturn function () {\n\t\t\t\tconst event = { id: id, this: this, args: arguments };\n\t\t\t\tgo._pendingEvent = event;\n\t\t\t\tgo._resume();\n\t\t\t\treturn event.result;\n\t\t\t};\n\t\t}\n\t}\n})();\n"]}