wynnbuilder-forked-for-changes/js/c++/utils.js.out
hppeng b157f79fc0 Trying things out with emscripten
super inefficient for dev for now; set multiple files to compile separately
into frankenstein js files as I migrate code
2023-04-10 13:08:22 -07:00

1019 lines
61 KiB
Text

var create_utils = (() => {
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
return (
function(create_utils = {}) {
var e;
e || (e = typeof create_utils !== 'undefined' ? create_utils : {});
var aa, ba;
e.ready = new Promise(function(a, b) {
aa = a;
ba = b;
});
["_main", "___getTypeName", "__embind_initialize_bindings", "_fflush", "onRuntimeInitialized"].forEach(a => {
Object.getOwnPropertyDescriptor(e.ready, a) || Object.defineProperty(e.ready, a, {get:() => p("You are getting " + a + " on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"), set:() => p("You are setting " + a + " on the Promise object, instead of the instance. Use .then() to get called back with the instance, see the MODULARIZE docs in src/settings.js"),});
});
var ca = Object.assign({}, e);
if (e.ENVIRONMENT) {
throw Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");
}
var t = "";
"undefined" != typeof document && document.currentScript && (t = document.currentScript.src);
_scriptDir && (t = _scriptDir);
0 !== t.indexOf("blob:") ? t = t.substr(0, t.replace(/[?#].*/, "").lastIndexOf("/") + 1) : t = "";
if ("object" != typeof window && "function" != typeof importScripts) {
throw Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");
}
var da = e.print || console.log.bind(console), v = e.printErr || console.warn.bind(console);
Object.assign(e, ca);
ca = null;
Object.getOwnPropertyDescriptor(e, "fetchSettings") && p("`Module.fetchSettings` was supplied but `fetchSettings` not included in INCOMING_MODULE_JS_API");
w("arguments", "arguments_");
w("thisProgram", "thisProgram");
w("quit", "quit_");
x("undefined" == typeof e.memoryInitializerPrefixURL, "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead");
x("undefined" == typeof e.pthreadMainPrefixURL, "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead");
x("undefined" == typeof e.cdInitializerPrefixURL, "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead");
x("undefined" == typeof e.filePackagePrefixURL, "Module.filePackagePrefixURL option was removed, use Module.locateFile instead");
x("undefined" == typeof e.read, "Module.read option was removed (modify read_ in JS)");
x("undefined" == typeof e.readAsync, "Module.readAsync option was removed (modify readAsync in JS)");
x("undefined" == typeof e.readBinary, "Module.readBinary option was removed (modify readBinary in JS)");
x("undefined" == typeof e.setWindowTitle, "Module.setWindowTitle option was removed (modify setWindowTitle in JS)");
x("undefined" == typeof e.TOTAL_MEMORY, "Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY");
w("read", "read_");
w("readAsync", "readAsync");
w("readBinary", "readBinary");
w("setWindowTitle", "setWindowTitle");
x(!0, "worker environment detected but not enabled at build time. Add 'worker' to `-sENVIRONMENT` to enable.");
x(!0, "node environment detected but not enabled at build time. Add 'node' to `-sENVIRONMENT` to enable.");
x(!0, "shell environment detected but not enabled at build time. Add 'shell' to `-sENVIRONMENT` to enable.");
var ea;
e.wasmBinary && (ea = e.wasmBinary);
w("wasmBinary", "wasmBinary");
var noExitRuntime = e.noExitRuntime || !0;
w("noExitRuntime", "noExitRuntime");
"object" != typeof WebAssembly && p("no native wasm support detected");
var fa, y = !1;
function x(a, b) {
a || p("Assertion failed" + (b ? ": " + b : ""));
}
var ha = "undefined" != typeof TextDecoder ? new TextDecoder("utf8") : void 0;
function ia(a, b, c) {
var d = b + c;
for (c = b; a[c] && !(c >= d);) {
++c;
}
if (16 < c - b && a.buffer && ha) {
return ha.decode(a.subarray(b, c));
}
for (d = ""; b < c;) {
var f = a[b++];
if (f & 128) {
var h = a[b++] & 63;
if (192 == (f & 224)) {
d += String.fromCharCode((f & 31) << 6 | h);
} else {
var m = a[b++] & 63;
224 == (f & 240) ? f = (f & 15) << 12 | h << 6 | m : (240 != (f & 248) && z("Invalid UTF-8 leading byte " + A(f) + " encountered when deserializing a UTF-8 string in wasm memory to a JS string!"), f = (f & 7) << 18 | h << 12 | m << 6 | a[b++] & 63);
65536 > f ? d += String.fromCharCode(f) : (f -= 65536, d += String.fromCharCode(55296 | f >> 10, 56320 | f & 1023));
}
} else {
d += String.fromCharCode(f);
}
}
return d;
}
var B, C, D, E, H, I, ja, ka;
x(!e.STACK_SIZE, "STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time");
x("undefined" != typeof Int32Array && "undefined" !== typeof Float64Array && void 0 != Int32Array.prototype.subarray && void 0 != Int32Array.prototype.set, "JS engine does not provide full typed array support");
x(!e.wasmMemory, "Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally");
x(!e.INITIAL_MEMORY, "Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically");
var J;
function la() {
var a = ma();
x(0 == (a & 3));
0 == a && (a += 4);
I[a >> 2] = 34821223;
I[a + 4 >> 2] = 2310721022;
I[0] = 1668509029;
}
function na() {
if (!y) {
var a = ma();
0 == a && (a += 4);
var b = I[a >> 2], c = I[a + 4 >> 2];
34821223 == b && 2310721022 == c || p("Stack overflow! Stack cookie has been overwritten at " + A(a) + ", expected hex dwords 0x89BACDFE and 0x2135467, but received " + A(c) + " " + A(b));
1668509029 !== I[0] && p("Runtime error: The application has corrupted its heap memory area (address zero)!");
}
}
var oa = new Int16Array(1), pa = new Int8Array(oa.buffer);
oa[0] = 25459;
if (115 !== pa[0] || 99 !== pa[1]) {
throw "Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)";
}
var qa = [], ra = [], sa = [], ta = !1;
function ua() {
var a = e.preRun.shift();
qa.unshift(a);
}
x(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
x(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
x(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
x(Math.trunc, "This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");
var L = 0, M = null, N = null, O = {};
function va() {
L++;
e.monitorRunDependencies && e.monitorRunDependencies(L);
x(!O["wasm-instantiate"]);
O["wasm-instantiate"] = 1;
null === M && "undefined" != typeof setInterval && (M = setInterval(function() {
if (y) {
clearInterval(M), M = null;
} else {
var a = !1, b;
for (b in O) {
a || (a = !0, v("still waiting on run dependencies:")), v("dependency: " + b);
}
a && v("(end of list)");
}
}, 10000));
}
function p(a) {
if (e.onAbort) {
e.onAbort(a);
}
a = "Aborted(" + a + ")";
v(a);
y = !0;
a = new WebAssembly.RuntimeError(a);
ba(a);
throw a;
}
function wa() {
p("Filesystem support (FS) was not included. The problem is that you are using files from JS, but files were not used from C/C++, so filesystem support was not auto-included. You can force-include filesystem support with -sFORCE_FILESYSTEM");
}
e.FS_createDataFile = function() {
wa();
};
e.FS_createPreloadedFile = function() {
wa();
};
function xa(a) {
return a.startsWith("data:application/octet-stream;base64,");
}
function P(a) {
var b = ya;
return function() {
var c = b;
b || (c = e.asm);
x(ta, "native function `" + a + "` called before runtime initialization");
c[a] || x(c[a], "exported native function `" + a + "` not found");
return c[a].apply(null, arguments);
};
}
var R;
R = "data:application/octet-stream;base64,AGFzbQEAAAABlIGAgAAWYAF/AX9gAX8AYAAAYAABf2ADf39/AX9gBX9/f39/AGACf38Bf2AEf39/fwBgBn9/f39/fwBgAn9/AGADf39/AGADf35/AX5gB39/f39/f38AYAR/f39/AX9gA319fQF9YAV/f39/fwF/YAR/fX19AX1gAX0BfWABfwF9YAR/f35/AX5gBX9/f35+AGAEf35/fwF/AtaDgIAADwNlbnYZX2VtYmluZF9yZWdpc3Rlcl9mdW5jdGlvbgAMA2VudhVfZW1iaW5kX3JlZ2lzdGVyX3ZvaWQACQNlbnYVX2VtYmluZF9yZWdpc3Rlcl9ib29sAAUDZW52GF9lbWJpbmRfcmVnaXN0ZXJfaW50ZWdlcgAFA2VudhZfZW1iaW5kX3JlZ2lzdGVyX2Zsb2F0AAoDZW52G19lbWJpbmRfcmVnaXN0ZXJfc3RkX3N0cmluZwAJA2VudhxfZW1iaW5kX3JlZ2lzdGVyX3N0ZF93c3RyaW5nAAoDZW52Fl9lbWJpbmRfcmVnaXN0ZXJfZW12YWwACQNlbnYcX2VtYmluZF9yZWdpc3Rlcl9tZW1vcnlfdmlldwAKA2VudhVlbXNjcmlwdGVuX21lbWNweV9iaWcACgNlbnYWZW1zY3JpcHRlbl9yZXNpemVfaGVhcAAAFndhc2lfc25hcHNob3RfcHJldmlldzEIZmRfY2xvc2UAABZ3YXNpX3NuYXBzaG90X3ByZXZpZXcxCGZkX3dyaXRlAA0DZW52F19lbWJpbmRfcmVnaXN0ZXJfYmlnaW50AAwWd2FzaV9zbmFwc2hvdF9wcmV2aWV3MQdmZF9zZWVrAA8D1YCAgABUAg4GBgYGAgACBgQJEAAAAxESAwIAAgECAgQAAAMEAAEDAAAAAAQLCwEBAwIAAQEGAAEBAQEBBAQABA0HBwcFBwUFCAgAAgMDAwMBAAMBAwATDxQVBIWAgIAAAXABFhYFhoCAgAABAYACgAIGl4CAgAAEfwFBgIAEC38BQQALfwFBAAt/AUEACwfVgoCAABIGbWVtb3J5AgARX193YXNtX2NhbGxfY3RvcnMADxlfX2luZGlyZWN0X2Z1bmN0aW9uX3RhYmxlAQANX19nZXRUeXBlTmFtZQAjG19lbWJpbmRfaW5pdGlhbGl6ZV9iaW5kaW5ncwAkEF9fZXJybm9f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IHNob3J0PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVuc2lnbmVkIGludD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZmxvYXQ+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQ4X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDhfdD4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dWludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PGludDE2X3Q+AGVtc2NyaXB0ZW46Om1lbW9yeV92aWV3PHVpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxpbnQzMl90PgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzx1bnNpZ25lZCBjaGFyPgBzdGQ6OmJhc2ljX3N0cmluZzx1bnNpZ25lZCBjaGFyPgBlbXNjcmlwdGVuOjptZW1vcnlfdmlldzxzaWduZWQgY2hhcj4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8bG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8dW5zaWduZWQgbG9uZz4AZW1zY3JpcHRlbjo6bWVtb3J5X3ZpZXc8ZG91YmxlPgAAAAAAAAAAAAAAALwHAQC8BwEAvAcBALwHAQBmaWZmZgBOU3QzX18yMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlNfOWFsbG9jYXRvckljRUVFRQAAAADYBwEAJgMBAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0loTlNfMTFjaGFyX3RyYWl0c0loRUVOU185YWxsb2NhdG9ySWhFRUVFAADYBwEAcAMBAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0l3TlNfMTFjaGFyX3RyYWl0c0l3RUVOU185YWxsb2NhdG9ySXdFRUVFAADYBwEAuAMBAE5TdDNfXzIxMmJhc2ljX3N0cmluZ0lEc05TXzExY2hhcl90cmFpdHNJRHNFRU5TXzlhbGxvY2F0b3JJRHNFRUVFAAAA2AcBAAAEAQBOU3QzX18yMTJiYXNpY19zdHJpbmdJRGlOU18xMWNoYXJfdHJhaXRzSURpRUVOU185YWxsb2NhdG9ySURpRUVFRQAAANgHAQBMBAEATjEwZW1zY3JpcHRlbjN2YWxFAADYBwEAmAQBAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWNFRQAA2AcBALQEAQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lhRUUAANgHAQDcBAEATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaEVFAADYBwEABAUBAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SXNFRQAA2AcBACwFAQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0l0RUUAANgHAQBUBQEATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJaUVFAADYBwEAfAUBAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWpFRQAA2AcBAKQFAQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lsRUUAANgHAQDMBQEATjEwZW1zY3JpcHRlbjExbWVtb3J5X3ZpZXdJbUVFAADYBwEA9AUBAE4xMGVtc2NyaXB0ZW4xMW1lbW9yeV92aWV3SWZFRQAA2AcBABwGAQBOMTBlbXNjcmlwdGVuMTFtZW1vcnlfdmlld0lkRUUAANgHAQBEBgEATjEwX19jeHhhYml2MTE2X19zaGltX3R5cGVfaW5mb0UAAAAAAAgBAGwGAQBkCAEATjEwX19jeHhhYml2MTE3X19jbGFzc190eXBlX2luZm9FAAAAAAgBAJwGAQCQBgEAAAAAABAHAQAIAAAACQAAAAoAAAALAAAADAAAAE4xMF9fY3h4YWJpdjEyM19fZnVuZGFtZW50YWxfdHlwZV9pbmZvRQAACAEA6AYBAJAGAQB2AAAA1AYBABwHAQBiAAAA1AYBACgHAQBjAAAA1AYBADQHAQBoAAAA1AYBAEAHAQBhAAAA1AYBAEwHAQBzAAAA1AYBAFgHAQB0AAAA1AYBAGQHAQBpAAAA1AYBAHAHAQBqAAAA1AYBAHwHAQBsAAAA1AYBAIgHAQBtAAAA1AYBAJQHAQB4AAAA1AYBAKAHAQB5AAAA1AYBAKwHAQBmAAAA1AYBALgHAQBkAAAA1AYBAMQHAQAAAAAAwAYBAAgAAAANAAAACgAAAAsAAAAOAAAADwAAABAAAAARAAAAAAAAAEgIAQAIAAAAEgAAAAoAAAALAAAADgAAABMAAAAUAAAAFQAAAE4xMF9fY3h4YWJpdjEyMF9fc2lfY2xhc3NfdHlwZV9pbmZvRQAAAAAACAEAIAgBAMAGAQBTdDl0eXBlX2luZm8AAAAA2AcBAFQIAQAAQfCQBAucATALAQAAAAAABQAAAAAAAAAAAAAABQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAAAAcAAAAcCwEAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAAAP//////////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAgBAA==";
if (!xa(R)) {
var za = R;
R = e.locateFile ? e.locateFile(za, t) : t + za;
}
function Aa(a) {
var b = R;
try {
a: {
try {
if (b == R && ea) {
var c = new Uint8Array(ea);
break a;
}
if (xa(b)) {
try {
var d = Ba(b.slice(37)), f = new Uint8Array(d.length);
for (b = 0; b < d.length; ++b) {
f[b] = d.charCodeAt(b);
}
var h = f;
} catch (n) {
throw Error("Converting base64 string to bytes failed.");
}
var m = h;
} else {
m = void 0;
}
if (m) {
c = m;
break a;
}
throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)";
} catch (n) {
p(n);
}
c = void 0;
}
var k = new WebAssembly.Module(c);
var g = new WebAssembly.Instance(k, a);
} catch (n) {
throw a = n.toString(), v("failed to compile wasm module: " + a), (a.includes("imported Memory") || a.includes("memory import")) && v("Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)."), n;
}
return [g, k];
}
function w(a, b) {
Object.getOwnPropertyDescriptor(e, a) || Object.defineProperty(e, a, {configurable:!0, get:function() {
p("Module." + a + " has been replaced with plain " + b + " (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)");
}});
}
function Ca(a) {
return "FS_createPath" === a || "FS_createDataFile" === a || "FS_createPreloadedFile" === a || "FS_unlink" === a || "addRunDependency" === a || "FS_createLazyFile" === a || "FS_createDevice" === a || "removeRunDependency" === a;
}
(function(a, b) {
"undefined" !== typeof globalThis && Object.defineProperty(globalThis, a, {configurable:!0, get:function() {
z("`" + a + "` is not longer defined by emscripten. " + b);
}});
})("buffer", "Please use HEAP8.buffer or wasmMemory.buffer");
function Da(a) {
Object.getOwnPropertyDescriptor(e, a) || Object.defineProperty(e, a, {configurable:!0, get:function() {
var b = "'" + a + "' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the FAQ)";
Ca(a) && (b += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you");
p(b);
}});
}
function Ea(a) {
for (; 0 < a.length;) {
a.shift()(e);
}
}
function A(a) {
x("number" === typeof a);
return "0x" + a.toString(16).padStart(8, "0");
}
function z(a) {
S || (S = {});
S[a] || (S[a] = 1, v(a));
}
var S;
function Fa(a) {
switch(a) {
case 1:
return 0;
case 2:
return 1;
case 4:
return 2;
case 8:
return 3;
default:
throw new TypeError("Unknown type size: " + a);
}
}
var Ga = void 0;
function T(a) {
for (var b = ""; C[a];) {
b += Ga[C[a++]];
}
return b;
}
var U = {}, V = {}, Ha = {};
function Ia(a) {
if (void 0 === a) {
return "_unknown";
}
a = a.replace(/[^a-zA-Z0-9_]/g, "$");
var b = a.charCodeAt(0);
return 48 <= b && 57 >= b ? "_" + a : a;
}
function Ja(a, b) {
a = Ia(a);
return {[a]:function() {
return b.apply(this, arguments);
}}[a];
}
function Ka(a) {
var b = Error, c = Ja(a, function(d) {
this.name = a;
this.message = d;
d = Error(d).stack;
void 0 !== d && (this.stack = this.toString() + "\n" + d.replace(/^Error(:[^\n]*)?\n/, ""));
});
c.prototype = Object.create(b.prototype);
c.prototype.constructor = c;
c.prototype.toString = function() {
return void 0 === this.message ? this.name : this.name + ": " + this.message;
};
return c;
}
var La = void 0;
function W(a) {
throw new La(a);
}
var Ma = void 0;
function Na(a, b) {
function c(k) {
k = b(k);
if (k.length !== d.length) {
throw new Ma("Mismatched type converter count");
}
for (var g = 0; g < d.length; ++g) {
X(d[g], k[g]);
}
}
var d = [];
d.forEach(function(k) {
Ha[k] = a;
});
var f = Array(a.length), h = [], m = 0;
a.forEach((k, g) => {
V.hasOwnProperty(k) ? f[g] = V[k] : (h.push(k), U.hasOwnProperty(k) || (U[k] = []), U[k].push(() => {
f[g] = V[k];
++m;
m === h.length && c(f);
}));
});
0 === h.length && c(f);
}
function X(a, b, c = {}) {
if (!("argPackAdvance" in b)) {
throw new TypeError("registerType registeredInstance requires argPackAdvance");
}
var d = b.name;
a || W('type "' + d + '" must have a positive integer typeid pointer');
if (V.hasOwnProperty(a)) {
if (c.j) {
return;
}
W("Cannot register type '" + d + "' twice");
}
V[a] = b;
delete Ha[a];
U.hasOwnProperty(a) && (b = U[a], delete U[a], b.forEach(f => f()));
}
var Oa = [], Y = [{}, {value:void 0}, {value:null}, {value:!0}, {value:!1}], Pa = a => {
switch(a) {
case void 0:
return 1;
case null:
return 2;
case !0:
return 3;
case !1:
return 4;
default:
var b = Oa.length ? Oa.pop() : Y.length;
Y[b] = {l:1, value:a};
return b;
}
};
function Qa(a) {
return this.fromWireType(H[a >> 2]);
}
function Ta(a) {
if (null === a) {
return "null";
}
var b = typeof a;
return "object" === b || "array" === b || "function" === b ? a.toString() : "" + a;
}
function Ua(a, b) {
switch(b) {
case 2:
return function(c) {
return this.fromWireType(ja[c >> 2]);
};
case 3:
return function(c) {
return this.fromWireType(ka[c >> 3]);
};
default:
throw new TypeError("Unknown float type: " + a);
}
}
function Va(a) {
var b = Function;
if (!(b instanceof Function)) {
throw new TypeError("new_ called with constructor type " + typeof b + " which is not a function");
}
var c = Ja(b.name || "unknownFunctionName", function() {
});
c.prototype = b.prototype;
c = new c();
a = b.apply(c, a);
return a instanceof Object ? a : c;
}
function Wa(a) {
for (; a.length;) {
var b = a.pop();
a.pop()(b);
}
}
function Xa(a, b) {
var c = e;
if (void 0 === c[a].g) {
var d = c[a];
c[a] = function() {
c[a].g.hasOwnProperty(arguments.length) || W("Function '" + b + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + c[a].g + ")!");
return c[a].g[arguments.length].apply(this, arguments);
};
c[a].g = [];
c[a].g[d.i] = d;
}
}
function Ya(a, b, c) {
e.hasOwnProperty(a) ? ((void 0 === c || void 0 !== e[a].g && void 0 !== e[a].g[c]) && W("Cannot register public name '" + a + "' twice"), Xa(a, a), e.hasOwnProperty(c) && W("Cannot register multiple overloads of a function with the same number of arguments (" + c + ")!"), e[a].g[c] = b) : (e[a] = b, void 0 !== c && (e[a].o = c));
}
function Za(a, b) {
for (var c = [], d = 0; d < a; d++) {
c.push(I[b + 4 * d >> 2]);
}
return c;
}
var $a = [];
function ab(a) {
var b = $a[a];
b || (a >= $a.length && ($a.length = a + 1), $a[a] = b = J.get(a));
x(J.get(a) == b, "JavaScript-side Wasm function table mirror is out of date!");
return b;
}
function bb(a, b) {
x(a.includes("j") || a.includes("p"), "getDynCaller should only be called with i64 sigs");
var c = [];
return function() {
c.length = 0;
Object.assign(c, arguments);
if (a.includes("j")) {
x("dynCall_" + a in e, "bad function pointer type - dynCall function not found for sig '" + a + "'");
c && c.length ? x(c.length === a.substring(1).replace(/j/g, "--").length) : x(1 == a.length);
var d = e["dynCall_" + a];
d = c && c.length ? d.apply(null, [b].concat(c)) : d.call(null, b);
} else {
x(ab(b), "missing table entry in dynCall: " + b), d = ab(b).apply(null, c);
}
return d;
};
}
function cb(a, b) {
a = T(a);
var c = a.includes("j") ? bb(a, b) : ab(b);
"function" != typeof c && W("unknown function pointer with signature " + a + ": " + b);
return c;
}
var db = void 0;
function eb(a) {
a = fb(a);
var b = T(a);
Z(a);
return b;
}
function gb(a, b) {
function c(h) {
f[h] || V[h] || (Ha[h] ? Ha[h].forEach(c) : (d.push(h), f[h] = !0));
}
var d = [], f = {};
b.forEach(c);
throw new db(a + ": " + d.map(eb).join([", "]));
}
function hb(a, b, c) {
switch(b) {
case 0:
return c ? function(d) {
return B[d];
} : function(d) {
return C[d];
};
case 1:
return c ? function(d) {
return D[d >> 1];
} : function(d) {
return E[d >> 1];
};
case 2:
return c ? function(d) {
return H[d >> 2];
} : function(d) {
return I[d >> 2];
};
default:
throw new TypeError("Unknown integer type: " + a);
}
}
var ib = "undefined" != typeof TextDecoder ? new TextDecoder("utf-16le") : void 0;
function jb(a, b) {
x(0 == a % 2, "Pointer passed to UTF16ToString must be aligned to two bytes!");
var c = a >> 1;
for (var d = c + b / 2; !(c >= d) && E[c];) {
++c;
}
c <<= 1;
if (32 < c - a && ib) {
return ib.decode(C.subarray(a, c));
}
c = "";
for (d = 0; !(d >= b / 2); ++d) {
var f = D[a + 2 * d >> 1];
if (0 == f) {
break;
}
c += String.fromCharCode(f);
}
return c;
}
function kb(a, b, c) {
x(0 == b % 2, "Pointer passed to stringToUTF16 must be aligned to two bytes!");
x("number" == typeof c, "stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");
void 0 === c && (c = 2147483647);
if (2 > c) {
return 0;
}
c -= 2;
var d = b;
c = c < 2 * a.length ? c / 2 : a.length;
for (var f = 0; f < c; ++f) {
D[b >> 1] = a.charCodeAt(f), b += 2;
}
D[b >> 1] = 0;
return b - d;
}
function lb(a) {
return 2 * a.length;
}
function mb(a, b) {
x(0 == a % 4, "Pointer passed to UTF32ToString must be aligned to four bytes!");
for (var c = 0, d = ""; !(c >= b / 4);) {
var f = H[a + 4 * c >> 2];
if (0 == f) {
break;
}
++c;
65536 <= f ? (f -= 65536, d += String.fromCharCode(55296 | f >> 10, 56320 | f & 1023)) : d += String.fromCharCode(f);
}
return d;
}
function nb(a, b, c) {
x(0 == b % 4, "Pointer passed to stringToUTF32 must be aligned to four bytes!");
x("number" == typeof c, "stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!");
void 0 === c && (c = 2147483647);
if (4 > c) {
return 0;
}
var d = b;
c = d + c - 4;
for (var f = 0; f < a.length; ++f) {
var h = a.charCodeAt(f);
if (55296 <= h && 57343 >= h) {
var m = a.charCodeAt(++f);
h = 65536 + ((h & 1023) << 10) | m & 1023;
}
H[b >> 2] = h;
b += 4;
if (b + 4 > c) {
break;
}
}
H[b >> 2] = 0;
return b - d;
}
function ob(a) {
for (var b = 0, c = 0; c < a.length; ++c) {
var d = a.charCodeAt(c);
55296 <= d && 57343 >= d && ++c;
b += 4;
}
return b;
}
for (var pb = [null, [], []], qb = Array(256), rb = 0; 256 > rb; ++rb) {
qb[rb] = String.fromCharCode(rb);
}
Ga = qb;
La = e.BindingError = Ka("BindingError");
Ma = e.InternalError = Ka("InternalError");
e.count_emval_handles = function() {
for (var a = 0, b = 5; b < Y.length; ++b) {
void 0 !== Y[b] && ++a;
}
return a;
};
e.get_first_emval = function() {
for (var a = 5; a < Y.length; ++a) {
if (void 0 !== Y[a]) {
return Y[a];
}
}
return null;
};
db = e.UnboundTypeError = Ka("UnboundTypeError");
var Ba = "function" == typeof atob ? atob : function(a) {
var b = "", c = 0;
a = a.replace(/[^A-Za-z0-9\+\/=]/g, "");
do {
var d = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));
var f = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));
var h = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));
var m = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=".indexOf(a.charAt(c++));
d = d << 2 | f >> 4;
f = (f & 15) << 4 | h >> 2;
var k = (h & 3) << 6 | m;
b += String.fromCharCode(d);
64 !== h && (b += String.fromCharCode(f));
64 !== m && (b += String.fromCharCode(k));
} while (c < a.length);
return b;
}, tb = {_embind_register_bigint:function() {
}, _embind_register_bool:function(a, b, c, d, f) {
var h = Fa(c);
b = T(b);
X(a, {name:b, fromWireType:function(m) {
return !!m;
}, toWireType:function(m, k) {
return k ? d : f;
}, argPackAdvance:8, readValueFromPointer:function(m) {
if (1 === c) {
var k = B;
} else if (2 === c) {
k = D;
} else if (4 === c) {
k = H;
} else {
throw new TypeError("Unknown boolean type size: " + b);
}
return this.fromWireType(k[m >> h]);
}, h:null,});
}, _embind_register_emval:function(a, b) {
b = T(b);
X(a, {name:b, fromWireType:function(c) {
c || W("Cannot use deleted val. handle = " + c);
var d = Y[c].value;
4 < c && 0 === --Y[c].l && (Y[c] = void 0, Oa.push(c));
return d;
}, toWireType:function(c, d) {
return Pa(d);
}, argPackAdvance:8, readValueFromPointer:Qa, h:null,});
}, _embind_register_float:function(a, b, c) {
c = Fa(c);
b = T(b);
X(a, {name:b, fromWireType:function(d) {
return d;
}, toWireType:function(d, f) {
if ("number" != typeof f && "boolean" != typeof f) {
throw new TypeError('Cannot convert "' + Ta(f) + '" to ' + this.name);
}
return f;
}, argPackAdvance:8, readValueFromPointer:Ua(b, c), h:null,});
}, _embind_register_function:function(a, b, c, d, f, h, m) {
var k = Za(b, c);
a = T(a);
f = cb(d, f);
Ya(a, function() {
gb("Cannot call " + a + " due to unbound types", k);
}, b - 1);
Na(k, function(g) {
var n = a, l = a;
g = [g[0], null].concat(g.slice(1));
var r = f, u = g.length;
2 > u && W("argTypes array size mismatch! Must at least get return value and 'this' types!");
x(!m, "Async bindings are only supported with JSPI.");
for (var F = null !== g[1] && !1, G = !1, q = 1; q < g.length; ++q) {
if (null !== g[q] && void 0 === g[q].h) {
G = !0;
break;
}
}
var Ra = "void" !== g[0].name, K = "", Q = "";
for (q = 0; q < u - 2; ++q) {
K += (0 !== q ? ", " : "") + "arg" + q, Q += (0 !== q ? ", " : "") + "arg" + q + "Wired";
}
l = "return function " + Ia(l) + "(" + K + ") {\nif (arguments.length !== " + (u - 2) + ") {\nthrowBindingError('function " + l + " called with ' + arguments.length + ' arguments, expected " + (u - 2) + " args!');\n}\n";
G && (l += "var destructors = [];\n");
var Sa = G ? "destructors" : "null";
K = "throwBindingError invoker fn runDestructors retType classParam".split(" ");
r = [W, r, h, Wa, g[0], g[1]];
F && (l += "var thisWired = classParam.toWireType(" + Sa + ", this);\n");
for (q = 0; q < u - 2; ++q) {
l += "var arg" + q + "Wired = argType" + q + ".toWireType(" + Sa + ", arg" + q + "); // " + g[q + 2].name + "\n", K.push("argType" + q), r.push(g[q + 2]);
}
F && (Q = "thisWired" + (0 < Q.length ? ", " : "") + Q);
l += (Ra || m ? "var rv = " : "") + "invoker(fn" + (0 < Q.length ? ", " : "") + Q + ");\n";
if (G) {
l += "runDestructors(destructors);\n";
} else {
for (q = F ? 1 : 2; q < g.length; ++q) {
u = 1 === q ? "thisWired" : "arg" + (q - 2) + "Wired", null !== g[q].h && (l += u + "_dtor(" + u + "); // " + g[q].name + "\n", K.push(u + "_dtor"), r.push(g[q].h));
}
}
Ra && (l += "var ret = retType.fromWireType(rv);\nreturn ret;\n");
K.push(l + "}\n");
g = Va(K).apply(null, r);
q = b - 1;
if (!e.hasOwnProperty(n)) {
throw new Ma("Replacing nonexistant public symbol");
}
void 0 !== e[n].g && void 0 !== q ? e[n].g[q] = g : (e[n] = g, e[n].i = q);
return [];
});
}, _embind_register_integer:function(a, b, c, d, f) {
b = T(b);
-1 === f && (f = 4294967295);
var h = Fa(c), m = n => n;
if (0 === d) {
var k = 32 - 8 * c;
m = n => n << k >>> k;
}
var g = (n, l) => {
if ("number" != typeof n && "boolean" != typeof n) {
throw new TypeError('Cannot convert "' + Ta(n) + '" to ' + l);
}
if (n < d || n > f) {
throw new TypeError('Passing a number "' + Ta(n) + '" from JS side to C/C++ side to an argument of type "' + b + '", which is outside the valid range [' + d + ", " + f + "]!");
}
};
c = b.includes("unsigned") ? function(n, l) {
g(l, this.name);
return l >>> 0;
} : function(n, l) {
g(l, this.name);
return l;
};
X(a, {name:b, fromWireType:m, toWireType:c, argPackAdvance:8, readValueFromPointer:hb(b, h, 0 !== d), h:null,});
}, _embind_register_memory_view:function(a, b, c) {
function d(h) {
h >>= 2;
var m = I;
return new f(m.buffer, m[h + 1], m[h]);
}
var f = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array,][b];
c = T(c);
X(a, {name:c, fromWireType:d, argPackAdvance:8, readValueFromPointer:d,}, {j:!0,});
}, _embind_register_std_string:function(a, b) {
b = T(b);
var c = "std::string" === b;
X(a, {name:b, fromWireType:function(d) {
var f = I[d >> 2], h = d + 4;
if (c) {
for (var m = h, k = 0; k <= f; ++k) {
var g = h + k;
if (k == f || 0 == C[g]) {
var n = m;
m = g - m;
x("number" == typeof n);
n = n ? ia(C, n, m) : "";
if (void 0 === l) {
var l = n;
} else {
l += String.fromCharCode(0), l += n;
}
m = g + 1;
}
}
} else {
l = Array(f);
for (k = 0; k < f; ++k) {
l[k] = String.fromCharCode(C[h + k]);
}
l = l.join("");
}
Z(d);
return l;
}, toWireType:function(d, f) {
f instanceof ArrayBuffer && (f = new Uint8Array(f));
var h = "string" == typeof f;
h || f instanceof Uint8Array || f instanceof Uint8ClampedArray || f instanceof Int8Array || W("Cannot pass non-string to std::string");
if (c && h) {
for (var m = 0, k = 0; k < f.length; ++k) {
var g = f.charCodeAt(k);
127 >= g ? m++ : 2047 >= g ? m += 2 : 55296 <= g && 57343 >= g ? (m += 4, ++k) : m += 3;
}
g = m;
} else {
g = f.length;
}
m = sb(4 + g + 1);
k = m + 4;
I[m >> 2] = g;
if (c && h) {
if (h = g + 1, x("number" == typeof h, "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"), g = C, 0 < h) {
h = k + h - 1;
for (var n = 0; n < f.length; ++n) {
var l = f.charCodeAt(n);
if (55296 <= l && 57343 >= l) {
var r = f.charCodeAt(++n);
l = 65536 + ((l & 1023) << 10) | r & 1023;
}
if (127 >= l) {
if (k >= h) {
break;
}
g[k++] = l;
} else {
if (2047 >= l) {
if (k + 1 >= h) {
break;
}
g[k++] = 192 | l >> 6;
} else {
if (65535 >= l) {
if (k + 2 >= h) {
break;
}
g[k++] = 224 | l >> 12;
} else {
if (k + 3 >= h) {
break;
}
1114111 < l && z("Invalid Unicode code point " + A(l) + " encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).");
g[k++] = 240 | l >> 18;
g[k++] = 128 | l >> 12 & 63;
}
g[k++] = 128 | l >> 6 & 63;
}
g[k++] = 128 | l & 63;
}
}
g[k] = 0;
}
} else {
if (h) {
for (h = 0; h < g; ++h) {
n = f.charCodeAt(h), 255 < n && (Z(k), W("String has UTF-16 code units that do not fit in 8 bits")), C[k + h] = n;
}
} else {
for (h = 0; h < g; ++h) {
C[k + h] = f[h];
}
}
}
null !== d && d.push(Z, m);
return m;
}, argPackAdvance:8, readValueFromPointer:Qa, h:function(d) {
Z(d);
},});
}, _embind_register_std_wstring:function(a, b, c) {
c = T(c);
if (2 === b) {
var d = jb;
var f = kb;
var h = lb;
var m = () => E;
var k = 1;
} else {
4 === b && (d = mb, f = nb, h = ob, m = () => I, k = 2);
}
X(a, {name:c, fromWireType:function(g) {
for (var n = I[g >> 2], l = m(), r, u = g + 4, F = 0; F <= n; ++F) {
var G = g + 4 + F * b;
if (F == n || 0 == l[G >> k]) {
u = d(u, G - u), void 0 === r ? r = u : (r += String.fromCharCode(0), r += u), u = G + b;
}
}
Z(g);
return r;
}, toWireType:function(g, n) {
"string" != typeof n && W("Cannot pass non-string to C++ string type " + c);
var l = h(n), r = sb(4 + l + b);
I[r >> 2] = l >> k;
f(n, r + 4, l + b);
null !== g && g.push(Z, r);
return r;
}, argPackAdvance:8, readValueFromPointer:Qa, h:function(g) {
Z(g);
},});
}, _embind_register_void:function(a, b) {
b = T(b);
X(a, {m:!0, name:b, argPackAdvance:0, fromWireType:function() {
}, toWireType:function() {
},});
}, emscripten_memcpy_big:function(a, b, c) {
C.copyWithin(a, b, b + c);
}, emscripten_resize_heap:function(a) {
p("Cannot enlarge memory arrays to size " + (a >>> 0) + " bytes (OOM). Either (1) compile with -sINITIAL_MEMORY=X with X higher than the current value " + B.length + ", (2) compile with -sALLOW_MEMORY_GROWTH which allows increasing the size at runtime, or (3) if you want malloc to return NULL (0) instead of this abort, compile with -sABORTING_MALLOC=0");
}, fd_close:function() {
p("fd_close called without SYSCALLS_REQUIRE_FILESYSTEM");
}, fd_seek:function() {
return 70;
}, fd_write:function(a, b, c, d) {
for (var f = 0, h = 0; h < c; h++) {
var m = I[b >> 2], k = I[b + 4 >> 2];
b += 8;
for (var g = 0; g < k; g++) {
var n = a, l = C[m + g], r = pb[n];
x(r);
0 === l || 10 === l ? ((1 === n ? da : v)(ia(r, 0)), r.length = 0) : r.push(l);
}
f += k;
}
I[d >> 2] = f;
return 0;
}}, ya = function() {
function a(c) {
c = c.exports;
e.asm = c;
fa = e.asm.memory;
x(fa, "memory not found in wasm exports");
var d = fa.buffer;
e.HEAP8 = B = new Int8Array(d);
e.HEAP16 = D = new Int16Array(d);
e.HEAP32 = H = new Int32Array(d);
e.HEAPU8 = C = new Uint8Array(d);
e.HEAPU16 = E = new Uint16Array(d);
e.HEAPU32 = I = new Uint32Array(d);
e.HEAPF32 = ja = new Float32Array(d);
e.HEAPF64 = ka = new Float64Array(d);
J = e.asm.__indirect_function_table;
x(J, "table not found in wasm exports");
ra.unshift(e.asm.__wasm_call_ctors);
L--;
e.monitorRunDependencies && e.monitorRunDependencies(L);
x(O["wasm-instantiate"]);
delete O["wasm-instantiate"];
0 == L && (null !== M && (clearInterval(M), M = null), N && (d = N, N = null, d()));
return c;
}
var b = {env:tb, wasi_snapshot_preview1:tb,};
va();
if (e.instantiateWasm) {
try {
return e.instantiateWasm(b, a);
} catch (c) {
v("Module.instantiateWasm callback failed with error: " + c), ba(c);
}
}
b = Aa(b);
return a(b[0]);
}(), fb = e.___getTypeName = P("__getTypeName");
e.__embind_initialize_bindings = P("_embind_initialize_bindings");
e._fflush = P("fflush");
var sb = P("malloc"), Z = P("free"), ub = ya.emscripten_stack_init, ma = ya.emscripten_stack_get_end;
e.dynCall_jiji = P("dynCall_jiji");
"zeroMemory stringToNewUTF8 exitJS emscripten_realloc_buffer setErrNo inetPton4 inetNtop4 inetPton6 inetNtop6 readSockaddr writeSockaddr getHostByName getRandomDevice traverseStack convertPCtoSourceLocation readEmAsmArgs jstoi_q jstoi_s getExecutableName listenOnce autoResumeAudioContext handleException runtimeKeepalivePush runtimeKeepalivePop callUserCallback maybeExit safeSetTimeout asmjsMangle asyncLoad alignMemory mmapAlloc HandleAllocator getNativeTypeSize STACK_SIZE STACK_ALIGN POINTER_SIZE ASSERTIONS writeI53ToI64 writeI53ToI64Clamped writeI53ToI64Signaling writeI53ToU64Clamped writeI53ToU64Signaling readI53FromI64 readI53FromU64 convertI32PairToI53 convertU32PairToI53 getCFunc ccall cwrap uleb128Encode sigToWasmTypes generateFuncType convertJsFunctionToWasm getEmptyTableSlot updateTableMap getFunctionAddress addFunction removeFunction reallyNegative unSign strLen reSign formatString intArrayFromString AsciiToString stringToAscii allocateUTF8 allocateUTF8OnStack writeStringToMemory writeArrayToMemory writeAsciiToMemory getSocketFromFD getSocketAddress registerKeyEventCallback maybeCStringToJsString findEventTarget findCanvasEventTarget getBoundingClientRect fillMouseEventData registerMouseEventCallback registerWheelEventCallback registerUiEventCallback registerFocusEventCallback fillDeviceOrientationEventData registerDeviceOrientationEventCallback fillDeviceMotionEventData registerDeviceMotionEventCallback screenOrientation fillOrientationChangeEventData registerOrientationChangeEventCallback fillFullscreenChangeEventData registerFullscreenChangeEventCallback JSEvents_requestFullscreen JSEvents_resizeCanvasForFullscreen registerRestoreOldStyle hideEverythingExceptGivenElement restoreHiddenElements setLetterbox softFullscreenResizeWebGLRenderTarget doRequestFullscreen fillPointerlockChangeEventData registerPointerlockChangeEventCallback registerPointerlockErrorEventCallback requestPointerLock fillVisibilityChangeEventData registerVisibilityChangeEventCallback registerTouchEventCallback fillGamepadEventData registerGamepadEventCallback registerBeforeUnloadEventCallback fillBatteryEventData battery registerBatteryEventCallback setCanvasElementSize getCanvasElementSize demangle demangleAll jsStackTrace stackTrace getEnvStrings checkWasiClock createDyncallWrapper setImmediateWrapped clearImmediateWrapped polyfillSetImmediate getPromise makePromise makePromiseCallback ExceptionInfo exception_addRef exception_decRef setMainLoop _setNetworkCallback heapObjectForWebGLType heapAccessShiftForWebGLHeap emscriptenWebGLGet computeUnpackAlignedImageSize emscriptenWebGLGetTexPixelData emscriptenWebGLGetUniform webglGetUniformLocation webglPrepareUniformLocationsBeforeFirstUse webglGetLeftBracePos emscriptenWebGLGetVertexAttrib writeGLArray SDL_unicode SDL_ttfContext SDL_audio GLFW_Window runAndAbortIfError ALLOC_NORMAL ALLOC_STACK allocate init_embind getBasestPointer registerInheritedInstance unregisterInheritedInstance getInheritedInstance getInheritedInstanceCount getLiveInheritedInstances requireRegisteredType enumReadValueFromPointer genericPointerToWireType constNoSmartPtrRawPointerToWireType nonConstNoSmartPtrRawPointerToWireType init_RegisteredPointer RegisteredPointer RegisteredPointer_getPointee RegisteredPointer_destructor RegisteredPointer_deleteObject RegisteredPointer_fromWireType runDestructor releaseClassHandle detachFinalizer attachFinalizer makeClassHandle init_ClassHandle ClassHandle ClassHandle_isAliasOf throwInstanceAlreadyDeleted ClassHandle_clone ClassHandle_delete ClassHandle_isDeleted ClassHandle_deleteLater flushPendingDeletes setDelayFunction RegisteredClass shallowCopyInternalPointer downcastPointer upcastPointer validateThis getStringOrSymbol craftEmvalAllocator emval_get_global emval_lookupTypes emval_allocateDestructors emval_addMethodCaller".split(" ").forEach(function(a) {
"undefined" === typeof globalThis || Object.getOwnPropertyDescriptor(globalThis, a) || Object.defineProperty(globalThis, a, {configurable:!0, get:function() {
var b = "`" + a + "` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line", c = a;
c.startsWith("_") || (c = "$" + a);
b += " (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE=" + c + ")";
Ca(a) && (b += ". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you");
z(b);
}});
Da(a);
});
"run UTF8ArrayToString UTF8ToString stringToUTF8Array stringToUTF8 lengthBytesUTF8 addOnPreRun addOnInit addOnPreMain addOnExit addOnPostRun addRunDependency removeRunDependency FS_createFolder FS_createPath FS_createDataFile FS_createPreloadedFile FS_createLazyFile FS_createLink FS_createDevice FS_unlink out err callMain abort keepRuntimeAlive wasmMemory stackAlloc stackSave stackRestore getTempRet0 setTempRet0 writeStackCookie checkStackCookie intArrayFromBase64 tryParseAsDataURI ptrToString getHeapMax abortOnCannotGrowMemory ENV ERRNO_CODES ERRNO_MESSAGES DNS Protocols Sockets timers warnOnce UNWIND_CACHE readEmAsmArgsArray dynCallLegacy getDynCaller dynCall convertI32PairToI53Checked freeTableIndexes functionsInTableMap setValue getValue PATH PATH_FS intArrayToString UTF16Decoder UTF16ToString stringToUTF16 lengthBytesUTF16 UTF32ToString stringToUTF32 lengthBytesUTF32 SYSCALLS JSEvents specialHTMLTargets currentFullscreenStrategy restoreOldWindowedStyle ExitStatus flush_NO_FILESYSTEM dlopenMissingError promiseMap uncaughtExceptionCount exceptionLast exceptionCaught Browser wget FS MEMFS TTY PIPEFS SOCKFS tempFixedLengthArray miniTempWebGLFloatBuffers GL AL SDL SDL_gfx GLUT EGL GLFW GLEW IDBStore InternalError BindingError UnboundTypeError PureVirtualError throwInternalError throwBindingError throwUnboundTypeError ensureOverloadTable exposePublicSymbol replacePublicSymbol extendError createNamedFunction embindRepr registeredInstances registeredTypes awaitingDependencies typeDependencies registeredPointers registerType whenDependentTypesAreResolved embind_charCodes embind_init_charCodes readLatin1String getTypeName heap32VectorToArray getShiftFromSize integerReadValueFromPointer floatReadValueFromPointer simpleReadValueFromPointer runDestructors new_ craftInvokerFunction embind__requireFunction tupleRegistrations structRegistrations finalizationRegistry detachFinalizer_deps deletionQueue delayFunction char_0 char_9 makeLegalFunctionName emval_handle_array emval_free_list emval_symbols init_emval count_emval_handles get_first_emval Emval emval_newers emval_methodCallers emval_registeredMethods".split(" ").forEach(Da);
var vb;
N = function wb() {
vb || xb();
vb || (N = wb);
};
function xb() {
function a() {
if (!vb && (vb = !0, e.calledRun = !0, !y)) {
x(!ta);
ta = !0;
na();
Ea(ra);
aa(e);
if (e.onRuntimeInitialized) {
e.onRuntimeInitialized();
}
x(!e._main, 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]');
na();
if (e.postRun) {
for ("function" == typeof e.postRun && (e.postRun = [e.postRun]); e.postRun.length;) {
var b = e.postRun.shift();
sa.unshift(b);
}
}
Ea(sa);
}
}
if (!(0 < L)) {
ub();
la();
if (e.preRun) {
for ("function" == typeof e.preRun && (e.preRun = [e.preRun]); e.preRun.length;) {
ua();
}
}
Ea(qa);
0 < L || (e.setStatus ? (e.setStatus("Running..."), setTimeout(function() {
setTimeout(function() {
e.setStatus("");
}, 1);
a();
}, 1)) : a(), na());
}
}
if (e.preInit) {
for ("function" == typeof e.preInit && (e.preInit = [e.preInit]); 0 < e.preInit.length;) {
e.preInit.pop()();
}
}
xb();
return create_utils
}
);
})();
if (typeof exports === 'object' && typeof module === 'object')
module.exports = create_utils;
else if (typeof define === 'function' && define['amd'])
define([], function() { return create_utils; });
else if (typeof exports === 'object')
exports["create_utils"] = create_utils;