Created
November 13, 2021 16:10
-
-
Save vijfhoek/9c6c6fb32685faef431c612f6cba6332 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
let wasm; | |
const heap = new Array(32).fill(undefined); | |
heap.push(undefined, null, true, false); | |
function getObject(idx) { return heap[idx]; } | |
let heap_next = heap.length; | |
function addHeapObject(obj) { | |
if (heap_next === heap.length) heap.push(heap.length + 1); | |
const idx = heap_next; | |
heap_next = heap[idx]; | |
heap[idx] = obj; | |
return idx; | |
} | |
let cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true }); | |
cachedTextDecoder.decode(); | |
let cachegetUint8Memory0 = null; | |
function getUint8Memory0() { | |
if (cachegetUint8Memory0 === null || cachegetUint8Memory0.buffer !== wasm.memory.buffer) { | |
cachegetUint8Memory0 = new Uint8Array(wasm.memory.buffer); | |
} | |
return cachegetUint8Memory0; | |
} | |
function getStringFromWasm0(ptr, len) { | |
return cachedTextDecoder.decode(getUint8Memory0().subarray(ptr, ptr + len)); | |
} | |
function dropObject(idx) { | |
if (idx < 36) return; | |
heap[idx] = heap_next; | |
heap_next = idx; | |
} | |
function takeObject(idx) { | |
const ret = getObject(idx); | |
dropObject(idx); | |
return ret; | |
} | |
function debugString(val) { | |
// primitive types | |
const type = typeof val; | |
if (type == 'number' || type == 'boolean' || val == null) { | |
return `${val}`; | |
} | |
if (type == 'string') { | |
return `"${val}"`; | |
} | |
if (type == 'symbol') { | |
const description = val.description; | |
if (description == null) { | |
return 'Symbol'; | |
} else { | |
return `Symbol(${description})`; | |
} | |
} | |
if (type == 'function') { | |
const name = val.name; | |
if (typeof name == 'string' && name.length > 0) { | |
return `Function(${name})`; | |
} else { | |
return 'Function'; | |
} | |
} | |
// objects | |
if (Array.isArray(val)) { | |
const length = val.length; | |
let debug = '['; | |
if (length > 0) { | |
debug += debugString(val[0]); | |
} | |
for(let i = 1; i < length; i++) { | |
debug += ', ' + debugString(val[i]); | |
} | |
debug += ']'; | |
return debug; | |
} | |
// Test for built-in | |
const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val)); | |
let className; | |
if (builtInMatches.length > 1) { | |
className = builtInMatches[1]; | |
} else { | |
// Failed to match the standard '[object ClassName]' | |
return toString.call(val); | |
} | |
if (className == 'Object') { | |
// we're a user defined class or Object | |
// JSON.stringify avoids problems with cycles, and is generally much | |
// easier than looping through ownProperties of `val`. | |
try { | |
return 'Object(' + JSON.stringify(val) + ')'; | |
} catch (_) { | |
return 'Object'; | |
} | |
} | |
// errors | |
if (val instanceof Error) { | |
return `${val.name}: ${val.message}\n${val.stack}`; | |
} | |
// TODO we could test for more things here, like `Set`s and `Map`s. | |
return className; | |
} | |
let WASM_VECTOR_LEN = 0; | |
let cachedTextEncoder = new TextEncoder('utf-8'); | |
const encodeString = (typeof cachedTextEncoder.encodeInto === 'function' | |
? function (arg, view) { | |
return cachedTextEncoder.encodeInto(arg, view); | |
} | |
: function (arg, view) { | |
const buf = cachedTextEncoder.encode(arg); | |
view.set(buf); | |
return { | |
read: arg.length, | |
written: buf.length | |
}; | |
}); | |
function passStringToWasm0(arg, malloc, realloc) { | |
if (realloc === undefined) { | |
const buf = cachedTextEncoder.encode(arg); | |
const ptr = malloc(buf.length); | |
getUint8Memory0().subarray(ptr, ptr + buf.length).set(buf); | |
WASM_VECTOR_LEN = buf.length; | |
return ptr; | |
} | |
let len = arg.length; | |
let ptr = malloc(len); | |
const mem = getUint8Memory0(); | |
let offset = 0; | |
for (; offset < len; offset++) { | |
const code = arg.charCodeAt(offset); | |
if (code > 0x7F) break; | |
mem[ptr + offset] = code; | |
} | |
if (offset !== len) { | |
if (offset !== 0) { | |
arg = arg.slice(offset); | |
} | |
ptr = realloc(ptr, len, len = offset + arg.length * 3); | |
const view = getUint8Memory0().subarray(ptr + offset, ptr + len); | |
const ret = encodeString(arg, view); | |
offset += ret.written; | |
} | |
WASM_VECTOR_LEN = offset; | |
return ptr; | |
} | |
let cachegetInt32Memory0 = null; | |
function getInt32Memory0() { | |
if (cachegetInt32Memory0 === null || cachegetInt32Memory0.buffer !== wasm.memory.buffer) { | |
cachegetInt32Memory0 = new Int32Array(wasm.memory.buffer); | |
} | |
return cachegetInt32Memory0; | |
} | |
function makeMutClosure(arg0, arg1, dtor, f) { | |
const state = { a: arg0, b: arg1, cnt: 1, dtor }; | |
const real = (...args) => { | |
// First up with a closure we increment the internal reference | |
// count. This ensures that the Rust closure environment won't | |
// be deallocated while we're invoking it. | |
state.cnt++; | |
const a = state.a; | |
state.a = 0; | |
try { | |
return f(a, state.b, ...args); | |
} finally { | |
if (--state.cnt === 0) { | |
wasm.__wbindgen_export_2.get(state.dtor)(a, state.b); | |
} else { | |
state.a = a; | |
} | |
} | |
}; | |
real.original = state; | |
return real; | |
} | |
let stack_pointer = 32; | |
function addBorrowedObject(obj) { | |
if (stack_pointer == 1) throw new Error('out of js stack'); | |
heap[--stack_pointer] = obj; | |
return stack_pointer; | |
} | |
function __wbg_adapter_16(arg0, arg1, arg2) { | |
try { | |
wasm._dyn_core__ops__function__FnMut___A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hb8783c1574554db6(arg0, arg1, addBorrowedObject(arg2)); | |
} finally { | |
heap[stack_pointer++] = undefined; | |
} | |
} | |
function isLikeNone(x) { | |
return x === undefined || x === null; | |
} | |
function handleError(f, args) { | |
try { | |
return f.apply(this, args); | |
} catch (e) { | |
wasm.__wbindgen_exn_store(addHeapObject(e)); | |
} | |
} | |
async function load(module, imports) { | |
if (typeof Response === 'function' && module instanceof Response) { | |
if (typeof WebAssembly.instantiateStreaming === 'function') { | |
try { | |
return await WebAssembly.instantiateStreaming(module, imports); | |
} catch (e) { | |
if (module.headers.get('Content-Type') != 'application/wasm') { | |
console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e); | |
} else { | |
throw e; | |
} | |
} | |
} | |
const bytes = await module.arrayBuffer(); | |
return await WebAssembly.instantiate(bytes, imports); | |
} else { | |
const instance = await WebAssembly.instantiate(module, imports); | |
if (instance instanceof WebAssembly.Instance) { | |
return { instance, module }; | |
} else { | |
return instance; | |
} | |
} | |
} | |
async function init(input) { | |
if (typeof input === 'undefined') { | |
input = new URL('index-7edc4c9689949e84_bg.wasm', import.meta.url); | |
} | |
const imports = {}; | |
imports.wbg = {}; | |
imports.wbg.__wbindgen_object_clone_ref = function(arg0) { | |
var ret = getObject(arg0); | |
return addHeapObject(ret); | |
}; | |
imports.wbg.__wbindgen_is_undefined = function(arg0) { | |
var ret = getObject(arg0) === undefined; | |
return ret; | |
}; | |
imports.wbg.__wbindgen_string_new = function(arg0, arg1) { | |
var ret = getStringFromWasm0(arg0, arg1); | |
return addHeapObject(ret); | |
}; | |
imports.wbg.__wbindgen_cb_drop = function(arg0) { | |
const obj = takeObject(arg0).original; | |
if (obj.cnt-- == 1) { | |
obj.a = 0; | |
return true; | |
} | |
var ret = false; | |
return ret; | |
}; | |
imports.wbg.__wbg_error_09919627ac0992f5 = function(arg0, arg1) { | |
try { | |
console.error(getStringFromWasm0(arg0, arg1)); | |
} finally { | |
wasm.__wbindgen_free(arg0, arg1); | |
} | |
}; | |
imports.wbg.__wbg_new_693216e109162396 = function() { | |
var ret = new Error(); | |
return addHeapObject(ret); | |
}; | |
imports.wbg.__wbg_stack_0ddaca5d1abfb52f = function(arg0, arg1) { | |
var ret = getObject(arg1).stack; | |
var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); | |
var len0 = WASM_VECTOR_LEN; | |
getInt32Memory0()[arg0 / 4 + 1] = len0; | |
getInt32Memory0()[arg0 / 4 + 0] = ptr0; | |
}; | |
imports.wbg.__wbindgen_object_drop_ref = function(arg0) { | |
takeObject(arg0); | |
}; | |
imports.wbg.__wbg_instanceof_Window_c4b70662a0d2c5ec = function(arg0) { | |
var ret = getObject(arg0) instanceof Window; | |
return ret; | |
}; | |
imports.wbg.__wbg_document_1c64944725c0d81d = function(arg0) { | |
var ret = getObject(arg0).document; | |
return isLikeNone(ret) ? 0 : addHeapObject(ret); | |
}; | |
imports.wbg.__wbg_createElement_86c152812a141a62 = function() { return handleError(function (arg0, arg1, arg2) { | |
var ret = getObject(arg0).createElement(getStringFromWasm0(arg1, arg2)); | |
return addHeapObject(ret); | |
}, arguments) }; | |
imports.wbg.__wbg_createElementNS_ae12b8681c3957a3 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { | |
var ret = getObject(arg0).createElementNS(arg1 === 0 ? undefined : getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); | |
return addHeapObject(ret); | |
}, arguments) }; | |
imports.wbg.__wbg_createTextNode_365db3bc3d0523ab = function(arg0, arg1, arg2) { | |
var ret = getObject(arg0).createTextNode(getStringFromWasm0(arg1, arg2)); | |
return addHeapObject(ret); | |
}; | |
imports.wbg.__wbg_querySelector_b92a6c73bcfe671b = function() { return handleError(function (arg0, arg1, arg2) { | |
var ret = getObject(arg0).querySelector(getStringFromWasm0(arg1, arg2)); | |
return isLikeNone(ret) ? 0 : addHeapObject(ret); | |
}, arguments) }; | |
imports.wbg.__wbg_instanceof_HtmlTextAreaElement_c2f3b4bd6871d5ad = function(arg0) { | |
var ret = getObject(arg0) instanceof HTMLTextAreaElement; | |
return ret; | |
}; | |
imports.wbg.__wbg_value_686b2a68422cb88d = function(arg0, arg1) { | |
var ret = getObject(arg1).value; | |
var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); | |
var len0 = WASM_VECTOR_LEN; | |
getInt32Memory0()[arg0 / 4 + 1] = len0; | |
getInt32Memory0()[arg0 / 4 + 0] = ptr0; | |
}; | |
imports.wbg.__wbg_setvalue_0a07023245efa3cc = function(arg0, arg1, arg2) { | |
getObject(arg0).value = getStringFromWasm0(arg1, arg2); | |
}; | |
imports.wbg.__wbg_instanceof_HtmlButtonElement_54060a3d8d49c8a6 = function(arg0) { | |
var ret = getObject(arg0) instanceof HTMLButtonElement; | |
return ret; | |
}; | |
imports.wbg.__wbg_settype_bd9da7e07b7cb217 = function(arg0, arg1, arg2) { | |
getObject(arg0).type = getStringFromWasm0(arg1, arg2); | |
}; | |
imports.wbg.__wbg_instanceof_HtmlInputElement_8cafe5f30dfdb6bc = function(arg0) { | |
var ret = getObject(arg0) instanceof HTMLInputElement; | |
return ret; | |
}; | |
imports.wbg.__wbg_setchecked_206243371da58f6a = function(arg0, arg1) { | |
getObject(arg0).checked = arg1 !== 0; | |
}; | |
imports.wbg.__wbg_files_a3fa7d3aaf57bbd2 = function(arg0) { | |
var ret = getObject(arg0).files; | |
return isLikeNone(ret) ? 0 : addHeapObject(ret); | |
}; | |
imports.wbg.__wbg_settype_6a7d0ca3b1b6d0c2 = function(arg0, arg1, arg2) { | |
getObject(arg0).type = getStringFromWasm0(arg1, arg2); | |
}; | |
imports.wbg.__wbg_value_0627d4b1c27534e6 = function(arg0, arg1) { | |
var ret = getObject(arg1).value; | |
var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); | |
var len0 = WASM_VECTOR_LEN; | |
getInt32Memory0()[arg0 / 4 + 1] = len0; | |
getInt32Memory0()[arg0 / 4 + 0] = ptr0; | |
}; | |
imports.wbg.__wbg_setvalue_2459f62386b6967f = function(arg0, arg1, arg2) { | |
getObject(arg0).value = getStringFromWasm0(arg1, arg2); | |
}; | |
imports.wbg.__wbg_addEventListener_09e11fbf8b4b719b = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { | |
getObject(arg0).addEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3), getObject(arg4)); | |
}, arguments) }; | |
imports.wbg.__wbg_removeEventListener_24d5a7c12c3f3c39 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { | |
getObject(arg0).removeEventListener(getStringFromWasm0(arg1, arg2), getObject(arg3), arg4 !== 0); | |
}, arguments) }; | |
imports.wbg.__wbg_namespaceURI_f4cd665d07463337 = function(arg0, arg1) { | |
var ret = getObject(arg1).namespaceURI; | |
var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); | |
var len0 = WASM_VECTOR_LEN; | |
getInt32Memory0()[arg0 / 4 + 1] = len0; | |
getInt32Memory0()[arg0 / 4 + 0] = ptr0; | |
}; | |
imports.wbg.__wbg_getAttribute_bb1d602e925e860a = function(arg0, arg1, arg2, arg3) { | |
var ret = getObject(arg1).getAttribute(getStringFromWasm0(arg2, arg3)); | |
var ptr0 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); | |
var len0 = WASM_VECTOR_LEN; | |
getInt32Memory0()[arg0 / 4 + 1] = len0; | |
getInt32Memory0()[arg0 / 4 + 0] = ptr0; | |
}; | |
imports.wbg.__wbg_removeAttribute_eea03ed128669b8f = function() { return handleError(function (arg0, arg1, arg2) { | |
getObject(arg0).removeAttribute(getStringFromWasm0(arg1, arg2)); | |
}, arguments) }; | |
imports.wbg.__wbg_setAttribute_1b533bf07966de55 = function() { return handleError(function (arg0, arg1, arg2, arg3, arg4) { | |
getObject(arg0).setAttribute(getStringFromWasm0(arg1, arg2), getStringFromWasm0(arg3, arg4)); | |
}, arguments) }; | |
imports.wbg.__wbg_log_3445347661d4505e = function(arg0) { | |
console.log(getObject(arg0)); | |
}; | |
imports.wbg.__wbg_nodeName_38e4703dc3b21af6 = function(arg0, arg1) { | |
var ret = getObject(arg1).nodeName; | |
var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); | |
var len0 = WASM_VECTOR_LEN; | |
getInt32Memory0()[arg0 / 4 + 1] = len0; | |
getInt32Memory0()[arg0 / 4 + 0] = ptr0; | |
}; | |
imports.wbg.__wbg_lastChild_ca5bac177ef353f6 = function(arg0) { | |
var ret = getObject(arg0).lastChild; | |
return isLikeNone(ret) ? 0 : addHeapObject(ret); | |
}; | |
imports.wbg.__wbg_setnodeValue_702374ad3d0ec3df = function(arg0, arg1, arg2) { | |
getObject(arg0).nodeValue = arg1 === 0 ? undefined : getStringFromWasm0(arg1, arg2); | |
}; | |
imports.wbg.__wbg_appendChild_d318db34c4559916 = function() { return handleError(function (arg0, arg1) { | |
var ret = getObject(arg0).appendChild(getObject(arg1)); | |
return addHeapObject(ret); | |
}, arguments) }; | |
imports.wbg.__wbg_insertBefore_5b314357408fbec1 = function() { return handleError(function (arg0, arg1, arg2) { | |
var ret = getObject(arg0).insertBefore(getObject(arg1), getObject(arg2)); | |
return addHeapObject(ret); | |
}, arguments) }; | |
imports.wbg.__wbg_removeChild_d3ca7b53e537867e = function() { return handleError(function (arg0, arg1) { | |
var ret = getObject(arg0).removeChild(getObject(arg1)); | |
return addHeapObject(ret); | |
}, arguments) }; | |
imports.wbg.__wbg_instanceof_HtmlSelectElement_27fb687660e6b5ba = function(arg0) { | |
var ret = getObject(arg0) instanceof HTMLSelectElement; | |
return ret; | |
}; | |
imports.wbg.__wbg_newnoargs_be86524d73f67598 = function(arg0, arg1) { | |
var ret = new Function(getStringFromWasm0(arg0, arg1)); | |
return addHeapObject(ret); | |
}; | |
imports.wbg.__wbg_call_888d259a5fefc347 = function() { return handleError(function (arg0, arg1) { | |
var ret = getObject(arg0).call(getObject(arg1)); | |
return addHeapObject(ret); | |
}, arguments) }; | |
imports.wbg.__wbg_is_0f5efc7977a2c50b = function(arg0, arg1) { | |
var ret = Object.is(getObject(arg0), getObject(arg1)); | |
return ret; | |
}; | |
imports.wbg.__wbg_new_0b83d3df67ecb33e = function() { | |
var ret = new Object(); | |
return addHeapObject(ret); | |
}; | |
imports.wbg.__wbg_globalThis_3f735a5746d41fbd = function() { return handleError(function () { | |
var ret = globalThis.globalThis; | |
return addHeapObject(ret); | |
}, arguments) }; | |
imports.wbg.__wbg_self_c6fbdfc2918d5e58 = function() { return handleError(function () { | |
var ret = self.self; | |
return addHeapObject(ret); | |
}, arguments) }; | |
imports.wbg.__wbg_window_baec038b5ab35c54 = function() { return handleError(function () { | |
var ret = window.window; | |
return addHeapObject(ret); | |
}, arguments) }; | |
imports.wbg.__wbg_global_1bc0b39582740e95 = function() { return handleError(function () { | |
var ret = global.global; | |
return addHeapObject(ret); | |
}, arguments) }; | |
imports.wbg.__wbg_set_82a4e8a85e31ac42 = function() { return handleError(function (arg0, arg1, arg2) { | |
var ret = Reflect.set(getObject(arg0), getObject(arg1), getObject(arg2)); | |
return ret; | |
}, arguments) }; | |
imports.wbg.__wbindgen_debug_string = function(arg0, arg1) { | |
var ret = debugString(getObject(arg1)); | |
var ptr0 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc); | |
var len0 = WASM_VECTOR_LEN; | |
getInt32Memory0()[arg0 / 4 + 1] = len0; | |
getInt32Memory0()[arg0 / 4 + 0] = ptr0; | |
}; | |
imports.wbg.__wbindgen_throw = function(arg0, arg1) { | |
throw new Error(getStringFromWasm0(arg0, arg1)); | |
}; | |
imports.wbg.__wbindgen_closure_wrapper1691 = function(arg0, arg1, arg2) { | |
var ret = makeMutClosure(arg0, arg1, 86, __wbg_adapter_16); | |
return addHeapObject(ret); | |
}; | |
if (typeof input === 'string' || (typeof Request === 'function' && input instanceof Request) || (typeof URL === 'function' && input instanceof URL)) { | |
input = fetch(input); | |
} | |
const { instance, module } = await load(await input, imports); | |
wasm = instance.exports; | |
init.__wbindgen_wasm_module = module; | |
wasm.__wbindgen_start(); | |
return wasm; | |
} | |
export default init; | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment