diff --git a/codecs/basis/LICENSE.codec.md b/codecs/basis/LICENSE.codec.md new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/codecs/basis/LICENSE.codec.md @@ -0,0 +1 @@ + diff --git a/codecs/basis/Makefile b/codecs/basis/Makefile new file mode 100644 index 00000000..ce73d462 --- /dev/null +++ b/codecs/basis/Makefile @@ -0,0 +1,76 @@ +CODEC_URL := https://github.com/BinomialLLC/basis_universal/archive/refs/tags/v1.15_rel2.tar.gz +CODEC_DIR := node_modules/basis +BUILD_DIR := build +ENVIRONMENT = node + +OUT_JS := enc/basis_enc.js # enc/basis_node_enc.js +OUT_WASM := $(OUT_JS:.js=.wasm) + +CODEC_CPP_SOURCE_FILES := \ + encoder/basisu_comp.cpp \ + encoder/basisu_enc.cpp \ + encoder/basisu_backend.cpp \ + encoder/basisu_basis_file.cpp \ + encoder/basisu_etc.cpp \ + encoder/basisu_uastc_enc.cpp \ + encoder/basisu_gpu_texture.cpp \ + encoder/basisu_frontend.cpp \ + encoder/basisu_bc7enc.cpp \ + encoder/basisu_pvrtc1_4.cpp \ + encoder/basisu_astc_decomp.cpp \ + encoder/basisu_global_selector_palette_helpers.cpp \ + encoder/basisu_resampler.cpp \ + encoder/jpgd.cpp \ + encoder/lodepng.cpp \ + transcoder/basisu_transcoder.cpp + +CODEC_C_SOURCE_FILES := \ + encoder/apg_bmp.c \ + zstd/zstd.c + +CODEC_CPP_OBJECT_FILES := $(CODEC_CPP_SOURCE_FILES:.cpp=.o) +CODEC_C_OBJECT_FILES := $(CODEC_C_SOURCE_FILES:.c=.o) +CODEC_CPP_OBJECT_FILE_PATHS := $(addprefix $(CODEC_DIR)/, $(CODEC_CPP_OBJECT_FILES)) +CODEC_C_OBJECT_FILE_PATHS := $(addprefix $(CODEC_DIR)/, $(CODEC_C_OBJECT_FILES)) + +.PHONY: all clean + +all: $(OUT_JS) + +# Define dependencies for all variations of build artifacts. +$(filter enc/%,$(OUT_JS)): enc/basis_enc.cpp +# $(filter dec/%,$(OUT_JS)): dec/mozjpeg_dec.cpp + +# enc/mozjpeg_node_enc.js dec/mozjpeg_node_dec.js: ENVIRONMENT = node + +%.js: $(CODEC_CPP_OBJECT_FILE_PATHS) $(CODEC_C_OBJECT_FILE_PATHS) + $(CXX) \ + -I $(CODEC_DIR)/encoder \ + ${CXXFLAGS} \ + ${LDFLAGS} \ + --closure 1 \ + --bind \ + -s ALLOW_MEMORY_GROWTH=1 \ + -s MODULARIZE=1 \ + -s TEXTDECODER=2 \ + -s ENVIRONMENT=$(ENVIRONMENT) \ + -s EXPORT_ES6=1 \ + -o $@ \ + $+ + +$(CODEC_CPP_OBJECT_FILES): $(CODEC_DIR) + $(CXX) \ + -o $@ \ + -c $(@:.o=.cpp) + +$(CODEC_C_OBJECT_FILES): $(CODEC_DIR) + $(CC) \ + -o $@ \ + -c $(@:.o=.c) + +$(CODEC_DIR): + mkdir -p $@ + curl -sL $(CODEC_URL) | tar xz --strip 1 -C $@ + +clean: + $(RM) $(OUT_JS) $(OUT_WASM) diff --git a/codecs/basis/enc/basis_enc.cpp b/codecs/basis/enc/basis_enc.cpp new file mode 100644 index 00000000..935fb6ac --- /dev/null +++ b/codecs/basis/enc/basis_enc.cpp @@ -0,0 +1,61 @@ +#include +#include +#include +#include "basisu_comp.h" +#include "basisu_enc.h" + +using namespace emscripten; +using namespace basisu; + + + +thread_local const val Uint8Array = val::global("Uint8Array"); + +val encode(std::string image_in, int image_width, int image_height/*, MozJpegOptions opts*/) { + basis_compressor_params params; + basis_compressor compressor; + image img = image(reinterpret_cast(image_in.c_str()), image_width, image_height, 4); + // We don’t need the encoder to read/decode files from the filesystem + params.m_read_source_images = false; + // Writing is unnecessary, too + params.m_read_source_images = false; + // Generate .basis file + params.m_uastc = true; + params.m_compression_level = 2; /* 0-4 */ + params.m_source_images.push_back(img); + + if(!compressor.init(params)) { + return val(std::string("Well something went wrong during init")); + } + + if(compressor.process() != 0) { + return val(std::string("Well something went wrong during processing")); + } + + auto comp_data = compressor.get_output_basis_file(); + auto js_result = Uint8Array.new_(typed_memory_view(comp_data.size(), &comp_data[0])); + // Not sure if there is anything to free here + return js_result; +} + +EMSCRIPTEN_BINDINGS(my_module) { + // value_object("MozJpegOptions") + // .field("quality", &MozJpegOptions::quality) + // .field("baseline", &MozJpegOptions::baseline) + // .field("arithmetic", &MozJpegOptions::arithmetic) + // .field("progressive", &MozJpegOptions::progressive) + // .field("optimize_coding", &MozJpegOptions::optimize_coding) + // .field("smoothing", &MozJpegOptions::smoothing) + // .field("color_space", &MozJpegOptions::color_space) + // .field("quant_table", &MozJpegOptions::quant_table) + // .field("trellis_multipass", &MozJpegOptions::trellis_multipass) + // .field("trellis_opt_zero", &MozJpegOptions::trellis_opt_zero) + // .field("trellis_opt_table", &MozJpegOptions::trellis_opt_table) + // .field("trellis_loops", &MozJpegOptions::trellis_loops) + // .field("chroma_subsample", &MozJpegOptions::chroma_subsample) + // .field("auto_subsample", &MozJpegOptions::auto_subsample) + // .field("separate_chroma_quality", &MozJpegOptions::separate_chroma_quality) + // .field("chroma_quality", &MozJpegOptions::chroma_quality); + + function("encode", &encode); +} diff --git a/codecs/basis/enc/basis_enc.js b/codecs/basis/enc/basis_enc.js new file mode 100644 index 00000000..0f1694f4 --- /dev/null +++ b/codecs/basis/enc/basis_enc.js @@ -0,0 +1,3183 @@ + +var Module = (function() { + var _scriptDir = import.meta.url; + + return ( +function(Module) { + Module = Module || {}; + + +var a; +a || (a = typeof Module !== 'undefined' ? Module : {}); +var aa, ba; +a.ready = new Promise(function(b, c) { + aa = b; + ba = c; +}); +Object.getOwnPropertyDescriptor(a.ready, "_main") || (Object.defineProperty(a.ready, "_main", {configurable:!0, get:function() { + e("You are getting _main 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"); +}}), Object.defineProperty(a.ready, "_main", {configurable:!0, set:function() { + e("You are setting _main 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "_emscripten_stack_get_end") || (Object.defineProperty(a.ready, "_emscripten_stack_get_end", {configurable:!0, get:function() { + e("You are getting _emscripten_stack_get_end 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"); +}}), Object.defineProperty(a.ready, "_emscripten_stack_get_end", {configurable:!0, set:function() { + e("You are setting _emscripten_stack_get_end 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "_emscripten_stack_get_free") || (Object.defineProperty(a.ready, "_emscripten_stack_get_free", {configurable:!0, get:function() { + e("You are getting _emscripten_stack_get_free 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"); +}}), Object.defineProperty(a.ready, "_emscripten_stack_get_free", {configurable:!0, set:function() { + e("You are setting _emscripten_stack_get_free 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "_emscripten_stack_init") || (Object.defineProperty(a.ready, "_emscripten_stack_init", {configurable:!0, get:function() { + e("You are getting _emscripten_stack_init 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"); +}}), Object.defineProperty(a.ready, "_emscripten_stack_init", {configurable:!0, set:function() { + e("You are setting _emscripten_stack_init 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "_stackSave") || (Object.defineProperty(a.ready, "_stackSave", {configurable:!0, get:function() { + e("You are getting _stackSave 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"); +}}), Object.defineProperty(a.ready, "_stackSave", {configurable:!0, set:function() { + e("You are setting _stackSave 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "_stackRestore") || (Object.defineProperty(a.ready, "_stackRestore", {configurable:!0, get:function() { + e("You are getting _stackRestore 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"); +}}), Object.defineProperty(a.ready, "_stackRestore", {configurable:!0, set:function() { + e("You are setting _stackRestore 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "_stackAlloc") || (Object.defineProperty(a.ready, "_stackAlloc", {configurable:!0, get:function() { + e("You are getting _stackAlloc 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"); +}}), Object.defineProperty(a.ready, "_stackAlloc", {configurable:!0, set:function() { + e("You are setting _stackAlloc 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "___wasm_call_ctors") || (Object.defineProperty(a.ready, "___wasm_call_ctors", {configurable:!0, get:function() { + e("You are getting ___wasm_call_ctors 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"); +}}), Object.defineProperty(a.ready, "___wasm_call_ctors", {configurable:!0, set:function() { + e("You are setting ___wasm_call_ctors 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "_fflush") || (Object.defineProperty(a.ready, "_fflush", {configurable:!0, get:function() { + e("You are getting _fflush 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"); +}}), Object.defineProperty(a.ready, "_fflush", {configurable:!0, set:function() { + e("You are setting _fflush 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "___errno_location") || (Object.defineProperty(a.ready, "___errno_location", {configurable:!0, get:function() { + e("You are getting ___errno_location 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"); +}}), Object.defineProperty(a.ready, "___errno_location", {configurable:!0, set:function() { + e("You are setting ___errno_location 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "_malloc") || (Object.defineProperty(a.ready, "_malloc", {configurable:!0, get:function() { + e("You are getting _malloc 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"); +}}), Object.defineProperty(a.ready, "_malloc", {configurable:!0, set:function() { + e("You are setting _malloc 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "_free") || (Object.defineProperty(a.ready, "_free", {configurable:!0, get:function() { + e("You are getting _free 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"); +}}), Object.defineProperty(a.ready, "_free", {configurable:!0, set:function() { + e("You are setting _free 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "_emscripten_main_thread_process_queued_calls") || (Object.defineProperty(a.ready, "_emscripten_main_thread_process_queued_calls", {configurable:!0, get:function() { + e("You are getting _emscripten_main_thread_process_queued_calls 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"); +}}), Object.defineProperty(a.ready, "_emscripten_main_thread_process_queued_calls", {configurable:!0, set:function() { + e("You are setting _emscripten_main_thread_process_queued_calls 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "_setThrew") || (Object.defineProperty(a.ready, "_setThrew", {configurable:!0, get:function() { + e("You are getting _setThrew 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"); +}}), Object.defineProperty(a.ready, "_setThrew", {configurable:!0, set:function() { + e("You are setting _setThrew 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"); +}})); +Object.getOwnPropertyDescriptor(a.ready, "onRuntimeInitialized") || (Object.defineProperty(a.ready, "onRuntimeInitialized", {configurable:!0, get:function() { + e("You are getting onRuntimeInitialized 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"); +}}), Object.defineProperty(a.ready, "onRuntimeInitialized", {configurable:!0, set:function() { + e("You are setting onRuntimeInitialized 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 = {}, l; +for (l in a) { + a.hasOwnProperty(l) && (ca[l] = a[l]); +} +if (a.ENVIRONMENT) { + throw Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -s ENVIRONMENT=web or -s ENVIRONMENT=node)"); +} +var da = "", ea, fa, ha, ia; +if ("object" !== typeof process || "function" !== typeof require) { + 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?)"); +} +da = __dirname + "/"; +ea = function(b) { + ha || (ha = require("fs")); + ia || (ia = require("path")); + b = ia.normalize(b); + return ha.readFileSync(b, null); +}; +fa = function(b) { + b = ea(b); + b.buffer || (b = new Uint8Array(b)); + assert(b.buffer); + return b; +}; +1 < process.argv.length && process.argv[1].replace(/\\/g, "/"); +process.argv.slice(2); +process.on("uncaughtException", function(b) { + throw b; +}); +process.on("unhandledRejection", e); +a.inspect = function() { + return "[Emscripten Module object]"; +}; +var ja = a.print || console.log.bind(console), q = a.printErr || console.warn.bind(console); +for (l in ca) { + ca.hasOwnProperty(l) && (a[l] = ca[l]); +} +ca = null; +Object.getOwnPropertyDescriptor(a, "arguments") || Object.defineProperty(a, "arguments", {configurable:!0, get:function() { + e("Module.arguments has been replaced with plain arguments_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)"); +}}); +Object.getOwnPropertyDescriptor(a, "thisProgram") || Object.defineProperty(a, "thisProgram", {configurable:!0, get:function() { + e("Module.thisProgram has been replaced with plain thisProgram (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)"); +}}); +Object.getOwnPropertyDescriptor(a, "quit") || Object.defineProperty(a, "quit", {configurable:!0, get:function() { + e("Module.quit has been replaced with plain quit_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)"); +}}); +assert("undefined" === typeof a.memoryInitializerPrefixURL, "Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert("undefined" === typeof a.pthreadMainPrefixURL, "Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"); +assert("undefined" === typeof a.cdInitializerPrefixURL, "Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"); +assert("undefined" === typeof a.filePackagePrefixURL, "Module.filePackagePrefixURL option was removed, use Module.locateFile instead"); +assert("undefined" === typeof a.read, "Module.read option was removed (modify read_ in JS)"); +assert("undefined" === typeof a.readAsync, "Module.readAsync option was removed (modify readAsync in JS)"); +assert("undefined" === typeof a.readBinary, "Module.readBinary option was removed (modify readBinary in JS)"); +assert("undefined" === typeof a.setWindowTitle, "Module.setWindowTitle option was removed (modify setWindowTitle in JS)"); +assert("undefined" === typeof a.TOTAL_MEMORY, "Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"); +Object.getOwnPropertyDescriptor(a, "read") || Object.defineProperty(a, "read", {configurable:!0, get:function() { + e("Module.read has been replaced with plain read_ (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)"); +}}); +Object.getOwnPropertyDescriptor(a, "readAsync") || Object.defineProperty(a, "readAsync", {configurable:!0, get:function() { + e("Module.readAsync has been replaced with plain readAsync (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)"); +}}); +Object.getOwnPropertyDescriptor(a, "readBinary") || Object.defineProperty(a, "readBinary", {configurable:!0, get:function() { + e("Module.readBinary has been replaced with plain readBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)"); +}}); +Object.getOwnPropertyDescriptor(a, "setWindowTitle") || Object.defineProperty(a, "setWindowTitle", {configurable:!0, get:function() { + e("Module.setWindowTitle has been replaced with plain setWindowTitle (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 ka(b) { + la || (la = {}); + la[b] || (la[b] = 1, q(b)); +} +var la, ma = 0, na; +a.wasmBinary && (na = a.wasmBinary); +Object.getOwnPropertyDescriptor(a, "wasmBinary") || Object.defineProperty(a, "wasmBinary", {configurable:!0, get:function() { + e("Module.wasmBinary has been replaced with plain wasmBinary (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)"); +}}); +var noExitRuntime = a.noExitRuntime || !0; +Object.getOwnPropertyDescriptor(a, "noExitRuntime") || Object.defineProperty(a, "noExitRuntime", {configurable:!0, get:function() { + e("Module.noExitRuntime has been replaced with plain noExitRuntime (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)"); +}}); +"object" !== typeof WebAssembly && e("no native wasm support detected"); +var oa, pa = !1; +function assert(b, c) { + b || e("Assertion failed: " + c); +} +var qa = new TextDecoder("utf8"); +function ra(b) { + for (var c = 0; b[c] && !(NaN <= c);) { + ++c; + } + return qa.decode(b.subarray ? b.subarray(0, c) : new Uint8Array(b.slice(0, c))); +} +function sa(b, c) { + if (!b) { + return ""; + } + c = b + c; + for (var d = b; !(d >= c) && v[d];) { + ++d; + } + return qa.decode(v.subarray(b, d)); +} +function ta(b, c, d, f) { + if (!(0 < f)) { + return 0; + } + var g = d; + f = d + f - 1; + for (var h = 0; h < b.length; ++h) { + var k = b.charCodeAt(h); + if (55296 <= k && 57343 >= k) { + var m = b.charCodeAt(++h); + k = 65536 + ((k & 1023) << 10) | m & 1023; + } + if (127 >= k) { + if (d >= f) { + break; + } + c[d++] = k; + } else { + if (2047 >= k) { + if (d + 1 >= f) { + break; + } + c[d++] = 192 | k >> 6; + } else { + if (65535 >= k) { + if (d + 2 >= f) { + break; + } + c[d++] = 224 | k >> 12; + } else { + if (d + 3 >= f) { + break; + } + 2097152 <= k && ka("Invalid Unicode code point 0x" + k.toString(16) + " encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x1FFFFF)."); + c[d++] = 240 | k >> 18; + c[d++] = 128 | k >> 12 & 63; + } + c[d++] = 128 | k >> 6 & 63; + } + c[d++] = 128 | k & 63; + } + } + c[d] = 0; + return d - g; +} +function ua(b, c, d) { + assert("number" == typeof d, "stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + ta(b, v, c, d); +} +function va(b) { + for (var c = 0, d = 0; d < b.length; ++d) { + var f = b.charCodeAt(d); + 55296 <= f && 57343 >= f && (f = 65536 + ((f & 1023) << 10) | b.charCodeAt(++d) & 1023); + 127 >= f ? ++c : c = 2047 >= f ? c + 2 : 65535 >= f ? c + 3 : c + 4; + } + return c; +} +var wa = new TextDecoder("utf-16le"); +function xa(b, c) { + assert(0 == b % 2, "Pointer passed to UTF16ToString must be aligned to two bytes!"); + var d = b >> 1; + for (c = d + c / 2; !(d >= c) && ya[d];) { + ++d; + } + return wa.decode(v.subarray(b, d << 1)); +} +function za(b, c, d) { + assert(0 == c % 2, "Pointer passed to stringToUTF16 must be aligned to two bytes!"); + assert("number" == typeof d, "stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + void 0 === d && (d = 2147483647); + if (2 > d) { + return 0; + } + d -= 2; + var f = c; + d = d < 2 * b.length ? d / 2 : b.length; + for (var g = 0; g < d; ++g) { + w[c >> 1] = b.charCodeAt(g), c += 2; + } + w[c >> 1] = 0; + return c - f; +} +function Aa(b) { + return 2 * b.length; +} +function Ba(b, c) { + assert(0 == b % 4, "Pointer passed to UTF32ToString must be aligned to four bytes!"); + for (var d = 0, f = ""; !(d >= c / 4);) { + var g = z[b + 4 * d >> 2]; + if (0 == g) { + break; + } + ++d; + 65536 <= g ? (g -= 65536, f += String.fromCharCode(55296 | g >> 10, 56320 | g & 1023)) : f += String.fromCharCode(g); + } + return f; +} +function Ca(b, c, d) { + assert(0 == c % 4, "Pointer passed to stringToUTF32 must be aligned to four bytes!"); + assert("number" == typeof d, "stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"); + void 0 === d && (d = 2147483647); + if (4 > d) { + return 0; + } + var f = c; + d = f + d - 4; + for (var g = 0; g < b.length; ++g) { + var h = b.charCodeAt(g); + if (55296 <= h && 57343 >= h) { + var k = b.charCodeAt(++g); + h = 65536 + ((h & 1023) << 10) | k & 1023; + } + z[c >> 2] = h; + c += 4; + if (c + 4 > d) { + break; + } + } + z[c >> 2] = 0; + return c - f; +} +function Da(b) { + for (var c = 0, d = 0; d < b.length; ++d) { + var f = b.charCodeAt(d); + 55296 <= f && 57343 >= f && ++d; + c += 4; + } + return c; +} +var Ea, A, v, w, ya, z, B, Fa, Ga; +function Ha() { + var b = oa.buffer; + Ea = b; + a.HEAP8 = A = new Int8Array(b); + a.HEAP16 = w = new Int16Array(b); + a.HEAP32 = z = new Int32Array(b); + a.HEAPU8 = v = new Uint8Array(b); + a.HEAPU16 = ya = new Uint16Array(b); + a.HEAPU32 = B = new Uint32Array(b); + a.HEAPF32 = Fa = new Float32Array(b); + a.HEAPF64 = Ga = new Float64Array(b); +} +a.TOTAL_STACK && assert(5242880 === a.TOTAL_STACK, "the stack size can no longer be determined at runtime"); +var Ia = a.INITIAL_MEMORY || 16777216; +Object.getOwnPropertyDescriptor(a, "INITIAL_MEMORY") || Object.defineProperty(a, "INITIAL_MEMORY", {configurable:!0, get:function() { + e("Module.INITIAL_MEMORY has been replaced with plain INITIAL_MEMORY (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)"); +}}); +assert(5242880 <= Ia, "INITIAL_MEMORY should be larger than TOTAL_STACK, was " + Ia + "! (TOTAL_STACK=5242880)"); +assert("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"); +assert(!a.wasmMemory, "Use of `wasmMemory` detected. Use -s IMPORTED_MEMORY to define wasmMemory externally"); +assert(16777216 == Ia, "Detected runtime INITIAL_MEMORY setting. Use -s IMPORTED_MEMORY to define wasmMemory dynamically"); +var C; +function Ja() { + var b = Ka(); + assert(0 == (b & 3)); + B[(b >> 2) + 1] = 34821223; + B[(b >> 2) + 2] = 2310721022; + z[0] = 1668509029; +} +function La() { + if (!pa) { + var b = Ka(), c = B[(b >> 2) + 1]; + b = B[(b >> 2) + 2]; + 34821223 == c && 2310721022 == b || e("Stack overflow! Stack cookie has been overwritten, expected hex dwords 0x89BACDFE and 0x2135467, but received 0x" + b.toString(16) + " " + c.toString(16)); + 1668509029 !== z[0] && e("Runtime error: The application has corrupted its heap memory area (address zero)!"); + } +} +var Ma = new Int16Array(1), Na = new Int8Array(Ma.buffer); +Ma[0] = 25459; +if (115 !== Na[0] || 99 !== Na[1]) { + throw "Runtime error: expected the system to be little-endian! (Run with -s SUPPORT_BIG_ENDIAN=1 to bypass)"; +} +var Oa = [], Pa = [], Qa = [], Ra = [], Sa = !1; +function Ta() { + var b = a.preRun.shift(); + Oa.unshift(b); +} +assert(Math.imul, "This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.fround, "This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(Math.clz32, "This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"); +assert(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 D = 0, E = null, Ua = null, Va = {}; +function Wa() { + D++; + a.monitorRunDependencies && a.monitorRunDependencies(D); + assert(!Va["wasm-instantiate"]); + Va["wasm-instantiate"] = 1; + null === E && "undefined" !== typeof setInterval && (E = setInterval(function() { + if (pa) { + clearInterval(E), E = null; + } else { + var b = !1, c; + for (c in Va) { + b || (b = !0, q("still waiting on run dependencies:")), q("dependency: " + c); + } + b && q("(end of list)"); + } + }, 10000)); +} +a.preloadedImages = {}; +a.preloadedAudios = {}; +function e(b) { + if (a.onAbort) { + a.onAbort(b); + } + q(b); + pa = !0; + b = "abort(" + b + ") at "; + a: { + var c = Error(); + if (!c.stack) { + try { + throw Error(); + } catch (d) { + c = d; + } + if (!c.stack) { + c = "(no stack trace available)"; + break a; + } + } + c = c.stack.toString(); + } + a.extraStackTrace && (c += "\n" + a.extraStackTrace()); + c = Xa(c); + b = new WebAssembly.RuntimeError(b + c); + ba(b); + throw b; +} +function Ya(b) { + var c = H; + return String.prototype.startsWith ? c.startsWith(b) : 0 === c.indexOf(b); +} +function Za() { + return Ya("data:application/octet-stream;base64,"); +} +function I(b) { + return function() { + var c = a.asm; + assert(Sa, "native function `" + b + "` called before runtime initialization"); + assert(!0, "native function `" + b + "` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)"); + c[b] || assert(c[b], "exported native function `" + b + "` not found"); + return c[b].apply(null, arguments); + }; +} +var H = "basis_enc.wasm"; +if (!Za()) { + var $a = H; + H = a.locateFile ? a.locateFile($a, da) : da + $a; +} +function ab() { + return Promise.resolve().then(function() { + a: { + var b = H; + try { + if (b == H && na) { + var c = new Uint8Array(na); + break a; + } + if (fa) { + c = fa(b); + break a; + } + throw "both async and sync fetching of the wasm failed"; + } catch (d) { + e(d); + } + c = void 0; + } + return c; + }); +} +var J, bb; +function cb(b) { + for (; 0 < b.length;) { + var c = b.shift(); + if ("function" == typeof c) { + c(a); + } else { + var d = c.Bc; + "number" === typeof d ? void 0 === c.D ? C.get(d)() : C.get(d)(c.D) : d(void 0 === c.D ? null : c.D); + } + } +} +function Xa(b) { + return b.replace(/\b_Z[\w\d_]+/g, function(c) { + ka("warning: build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"); + return c === c ? c : c + " [" + c + "]"; + }); +} +function db(b) { + this.A = b - 16; + this.ha = function(c) { + z[this.A + 8 >> 2] = c; + }; + this.ea = function(c) { + z[this.A + 0 >> 2] = c; + }; + this.fa = function() { + z[this.A + 4 >> 2] = 0; + }; + this.da = function() { + A[this.A + 12 >> 0] = 0; + }; + this.ga = function() { + A[this.A + 13 >> 0] = 0; + }; + this.X = function(c, d) { + this.ha(c); + this.ea(d); + this.fa(); + this.da(); + this.ga(); + }; +} +var eb = 0; +function fb(b, c) { + for (var d = 0, f = b.length - 1; 0 <= f; f--) { + var g = b[f]; + "." === g ? b.splice(f, 1) : ".." === g ? (b.splice(f, 1), d++) : d && (b.splice(f, 1), d--); + } + if (c) { + for (; d; d--) { + b.unshift(".."); + } + } + return b; +} +function gb(b) { + var c = "/" === b.charAt(0), d = "/" === b.substr(-1); + (b = fb(b.split("/").filter(function(f) { + return !!f; + }), !c).join("/")) || c || (b = "."); + b && d && (b += "/"); + return (c ? "/" : "") + b; +} +function hb(b) { + var c = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(b).slice(1); + b = c[0]; + c = c[1]; + if (!b && !c) { + return "."; + } + c && (c = c.substr(0, c.length - 1)); + return b + c; +} +function ib(b) { + if ("/" === b) { + return "/"; + } + b = gb(b); + b = b.replace(/\/$/, ""); + var c = b.lastIndexOf("/"); + return -1 === c ? b : b.substr(c + 1); +} +function jb() { + if ("object" === typeof crypto && "function" === typeof crypto.getRandomValues) { + var b = new Uint8Array(1); + return function() { + crypto.getRandomValues(b); + return b[0]; + }; + } + try { + var c = require("crypto"); + return function() { + return c.randomBytes(1)[0]; + }; + } catch (d) { + } + return function() { + e("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: function(array) { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };"); + }; +} +function kb() { + for (var b = "", c = !1, d = arguments.length - 1; -1 <= d && !c; d--) { + c = 0 <= d ? arguments[d] : "/"; + if ("string" !== typeof c) { + throw new TypeError("Arguments to path.resolve must be strings"); + } + if (!c) { + return ""; + } + b = c + "/" + b; + c = "/" === c.charAt(0); + } + b = fb(b.split("/").filter(function(f) { + return !!f; + }), !c).join("/"); + return (c ? "/" : "") + b || "."; +} +var lb = []; +function mb(b, c) { + lb[b] = {input:[], output:[], v:c}; + nb(b, ob); +} +var ob = {open:function(b) { + var c = lb[b.node.rdev]; + if (!c) { + throw new K(43); + } + b.tty = c; + b.seekable = !1; +}, close:function(b) { + b.tty.v.flush(b.tty); +}, flush:function(b) { + b.tty.v.flush(b.tty); +}, read:function(b, c, d, f) { + if (!b.tty || !b.tty.v.O) { + throw new K(60); + } + for (var g = 0, h = 0; h < f; h++) { + try { + var k = b.tty.v.O(b.tty); + } catch (m) { + throw new K(29); + } + if (void 0 === k && 0 === g) { + throw new K(6); + } + if (null === k || void 0 === k) { + break; + } + g++; + c[d + h] = k; + } + g && (b.node.timestamp = Date.now()); + return g; +}, write:function(b, c, d, f) { + if (!b.tty || !b.tty.v.G) { + throw new K(60); + } + try { + for (var g = 0; g < f; g++) { + b.tty.v.G(b.tty, c[d + g]); + } + } catch (h) { + throw new K(29); + } + f && (b.node.timestamp = Date.now()); + return g; +}}, pb = {O:function(b) { + if (!b.input.length) { + var c = null, d = Buffer.U ? Buffer.U(256) : new Buffer(256), f = 0; + try { + f = ha.readSync(process.stdin.fd, d, 0, 256, null); + } catch (g) { + if (-1 != g.toString().indexOf("EOF")) { + f = 0; + } else { + throw g; + } + } + 0 < f ? c = d.slice(0, f).toString("utf-8") : c = null; + if (!c) { + return null; + } + d = Array(va(c) + 1); + c = ta(c, d, 0, d.length); + d.length = c; + b.input = d; + } + return b.input.shift(); +}, G:function(b, c) { + null === c || 10 === c ? (ja(ra(b.output)), b.output = []) : 0 != c && b.output.push(c); +}, flush:function(b) { + b.output && 0 < b.output.length && (ja(ra(b.output)), b.output = []); +}}, qb = {G:function(b, c) { + null === c || 10 === c ? (q(ra(b.output)), b.output = []) : 0 != c && b.output.push(c); +}, flush:function(b) { + b.output && 0 < b.output.length && (q(ra(b.output)), b.output = []); +}}, L = {h:null, l:function() { + return L.createNode(null, "/", 16895, 0); +}, createNode:function(b, c, d, f) { + if (24576 === (d & 61440) || 4096 === (d & 61440)) { + throw new K(63); + } + L.h || (L.h = {dir:{node:{o:L.c.o, j:L.c.j, lookup:L.c.lookup, B:L.c.B, rename:L.c.rename, unlink:L.c.unlink, rmdir:L.c.rmdir, readdir:L.c.readdir, symlink:L.c.symlink}, stream:{u:L.f.u}}, file:{node:{o:L.c.o, j:L.c.j}, stream:{u:L.f.u, read:L.f.read, write:L.f.write, J:L.f.J, P:L.f.P, S:L.f.S}}, link:{node:{o:L.c.o, j:L.c.j, readlink:L.c.readlink}, stream:{}}, K:{node:{o:L.c.o, j:L.c.j}, stream:rb}}); + d = sb(b, c, d, f); + 16384 === (d.mode & 61440) ? (d.c = L.h.dir.node, d.f = L.h.dir.stream, d.b = {}) : 32768 === (d.mode & 61440) ? (d.c = L.h.file.node, d.f = L.h.file.stream, d.g = 0, d.b = null) : 40960 === (d.mode & 61440) ? (d.c = L.h.link.node, d.f = L.h.link.stream) : 8192 === (d.mode & 61440) && (d.c = L.h.K.node, d.f = L.h.K.stream); + d.timestamp = Date.now(); + b && (b.b[c] = d, b.timestamp = d.timestamp); + return d; +}, Cc:function(b) { + return b.b ? b.b.subarray ? b.b.subarray(0, b.g) : new Uint8Array(b.b) : new Uint8Array(0); +}, L:function(b, c) { + var d = b.b ? b.b.length : 0; + d >= c || (c = Math.max(c, d * (1048576 > d ? 2.0 : 1.125) >>> 0), 0 != d && (c = Math.max(c, 256)), d = b.b, b.b = new Uint8Array(c), 0 < b.g && b.b.set(d.subarray(0, b.g), 0)); +}, aa:function(b, c) { + if (b.g != c) { + if (0 == c) { + b.b = null, b.g = 0; + } else { + var d = b.b; + b.b = new Uint8Array(c); + d && b.b.set(d.subarray(0, Math.min(c, b.g))); + b.g = c; + } + } +}, c:{o:function(b) { + var c = {}; + c.dev = 8192 === (b.mode & 61440) ? b.id : 1; + c.ino = b.id; + c.mode = b.mode; + c.nlink = 1; + c.uid = 0; + c.gid = 0; + c.rdev = b.rdev; + 16384 === (b.mode & 61440) ? c.size = 4096 : 32768 === (b.mode & 61440) ? c.size = b.g : 40960 === (b.mode & 61440) ? c.size = b.link.length : c.size = 0; + c.atime = new Date(b.timestamp); + c.mtime = new Date(b.timestamp); + c.ctime = new Date(b.timestamp); + c.V = 4096; + c.blocks = Math.ceil(c.size / c.V); + return c; +}, j:function(b, c) { + void 0 !== c.mode && (b.mode = c.mode); + void 0 !== c.timestamp && (b.timestamp = c.timestamp); + void 0 !== c.size && L.aa(b, c.size); +}, lookup:function() { + throw tb[44]; +}, B:function(b, c, d, f) { + return L.createNode(b, c, d, f); +}, rename:function(b, c, d) { + if (16384 === (b.mode & 61440)) { + try { + var f = ub(c, d); + } catch (h) { + } + if (f) { + for (var g in f.b) { + throw new K(55); + } + } + } + delete b.parent.b[b.name]; + b.parent.timestamp = Date.now(); + b.name = d; + c.b[d] = b; + c.timestamp = b.parent.timestamp; + b.parent = c; +}, unlink:function(b, c) { + delete b.b[c]; + b.timestamp = Date.now(); +}, rmdir:function(b, c) { + var d = ub(b, c), f; + for (f in d.b) { + throw new K(55); + } + delete b.b[c]; + b.timestamp = Date.now(); +}, readdir:function(b) { + var c = [".", ".."], d; + for (d in b.b) { + b.b.hasOwnProperty(d) && c.push(d); + } + return c; +}, symlink:function(b, c, d) { + b = L.createNode(b, c, 41471, 0); + b.link = d; + return b; +}, readlink:function(b) { + if (40960 !== (b.mode & 61440)) { + throw new K(28); + } + return b.link; +}}, f:{read:function(b, c, d, f, g) { + var h = b.node.b; + if (g >= b.node.g) { + return 0; + } + b = Math.min(b.node.g - g, f); + assert(0 <= b); + if (8 < b && h.subarray) { + c.set(h.subarray(g, g + b), d); + } else { + for (f = 0; f < b; f++) { + c[d + f] = h[g + f]; + } + } + return b; +}, write:function(b, c, d, f, g, h) { + assert(!(c instanceof ArrayBuffer)); + c.buffer === A.buffer && (h = !1); + if (!f) { + return 0; + } + b = b.node; + b.timestamp = Date.now(); + if (c.subarray && (!b.b || b.b.subarray)) { + if (h) { + return assert(0 === g, "canOwn must imply no weird position inside the file"), b.b = c.subarray(d, d + f), b.g = f; + } + if (0 === b.g && 0 === g) { + return b.b = c.slice(d, d + f), b.g = f; + } + if (g + f <= b.g) { + return b.b.set(c.subarray(d, d + f), g), f; + } + } + L.L(b, g + f); + if (b.b.subarray && c.subarray) { + b.b.set(c.subarray(d, d + f), g); + } else { + for (h = 0; h < f; h++) { + b.b[g + h] = c[d + h]; + } + } + b.g = Math.max(b.g, g + f); + return f; +}, u:function(b, c, d) { + 1 === d ? c += b.position : 2 === d && 32768 === (b.node.mode & 61440) && (c += b.node.g); + if (0 > c) { + throw new K(28); + } + return c; +}, J:function(b, c, d) { + L.L(b.node, c + d); + b.node.g = Math.max(b.node.g, c + d); +}, P:function(b, c, d, f, g, h) { + if (0 !== c) { + throw new K(28); + } + if (32768 !== (b.node.mode & 61440)) { + throw new K(43); + } + b = b.node.b; + if (h & 2 || b.buffer !== Ea) { + if (0 < f || f + d < b.length) { + b.subarray ? b = b.subarray(f, f + d) : b = Array.prototype.slice.call(b, f, f + d); + } + f = !0; + h = 16384 * Math.ceil(d / 16384); + for (c = vb(h); d < h;) { + A[c + d++] = 0; + } + d = c; + if (!d) { + throw new K(48); + } + A.set(b, d); + } else { + f = !1, d = b.byteOffset; + } + return {A:d, Ac:f}; +}, S:function(b, c, d, f, g) { + if (32768 !== (b.node.mode & 61440)) { + throw new K(43); + } + if (g & 2) { + return 0; + } + L.f.write(b, c, 0, f, d, !1); + return 0; +}}}, wb = {0:"Success", 1:"Arg list too long", 2:"Permission denied", 3:"Address already in use", 4:"Address not available", 5:"Address family not supported by protocol family", 6:"No more processes", 7:"Socket already connected", 8:"Bad file number", 9:"Trying to read unreadable message", 10:"Mount device busy", 11:"Operation canceled", 12:"No children", 13:"Connection aborted", 14:"Connection refused", 15:"Connection reset by peer", 16:"File locking deadlock error", 17:"Destination address required", +18:"Math arg out of domain of func", 19:"Quota exceeded", 20:"File exists", 21:"Bad address", 22:"File too large", 23:"Host is unreachable", 24:"Identifier removed", 25:"Illegal byte sequence", 26:"Connection already in progress", 27:"Interrupted system call", 28:"Invalid argument", 29:"I/O error", 30:"Socket is already connected", 31:"Is a directory", 32:"Too many symbolic links", 33:"Too many open files", 34:"Too many links", 35:"Message too long", 36:"Multihop attempted", 37:"File or path name too long", +38:"Network interface is not configured", 39:"Connection reset by network", 40:"Network is unreachable", 41:"Too many open files in system", 42:"No buffer space available", 43:"No such device", 44:"No such file or directory", 45:"Exec format error", 46:"No record locks available", 47:"The link has been severed", 48:"Not enough core", 49:"No message of desired type", 50:"Protocol not available", 51:"No space left on device", 52:"Function not implemented", 53:"Socket is not connected", 54:"Not a directory", +55:"Directory not empty", 56:"State not recoverable", 57:"Socket operation on non-socket", 59:"Not a typewriter", 60:"No such device or address", 61:"Value too large for defined data type", 62:"Previous owner died", 63:"Not super-user", 64:"Broken pipe", 65:"Protocol error", 66:"Unknown protocol", 67:"Protocol wrong type for socket", 68:"Math result not representable", 69:"Read only file system", 70:"Illegal seek", 71:"No such process", 72:"Stale file handle", 73:"Connection timed out", 74:"Text file busy", +75:"Cross-device link", 100:"Device not a stream", 101:"Bad font file fmt", 102:"Invalid slot", 103:"Invalid request code", 104:"No anode", 105:"Block device required", 106:"Channel number out of range", 107:"Level 3 halted", 108:"Level 3 reset", 109:"Link number out of range", 110:"Protocol driver not attached", 111:"No CSI structure available", 112:"Level 2 halted", 113:"Invalid exchange", 114:"Invalid request descriptor", 115:"Exchange full", 116:"No data (for no delay io)", 117:"Timer expired", +118:"Out of streams resources", 119:"Machine is not on the network", 120:"Package not installed", 121:"The object is remote", 122:"Advertise error", 123:"Srmount error", 124:"Communication error on send", 125:"Cross mount point (not really error)", 126:"Given log. name not unique", 127:"f.d. invalid for this operation", 128:"Remote address changed", 129:"Can access a needed shared lib", 130:"Accessing a corrupted shared lib", 131:".lib section in a.out corrupted", 132:"Attempting to link in too many libs", +133:"Attempting to exec a shared library", 135:"Streams pipe error", 136:"Too many users", 137:"Socket type not supported", 138:"Not supported", 139:"Protocol family not supported", 140:"Can't send after socket shutdown", 141:"Too many references", 142:"Host is down", 148:"No medium (in tape drive)", 156:"Level 2 not synchronized"}, xb = {$b:63, zb:44, nc:71, Va:27, Xa:29, Wb:60, ja:1, Ab:45, sa:8, Ba:12, pa:6, xc:6, Eb:48, ka:2, Oa:21, Nb:105, za:10, Na:20, yc:75, yb:43, Pb:54, Za:31, Wa:28, tb:41, +lb:33, Ub:59, uc:74, Pa:22, Jb:51, mc:70, jc:69, mb:34, bc:64, Ka:18, fc:68, Fb:49, Sa:24, Ca:106, ab:156, bb:107, cb:108, jb:109, vc:110, wb:111, $a:112, Ha:16, Bb:46, ra:113, va:114, zc:115, ub:104, wa:103, xa:102, Ia:16, ya:101, Lb:100, xb:116, rc:117, Kb:118, Gb:119, Hb:120, ic:121, Cb:47, na:122, oc:123, Da:124, cc:65, ob:36, La:125, ua:9, Vb:126, ta:127, hc:128, eb:129, fb:130, ib:131, hb:132, gb:133, Mb:52, Qb:55, pb:37, kb:32, Xb:138, ac:139, Ga:15, vb:42, oa:5, ec:67, Sb:57, Ib:50, kc:140, +Fa:14, la:3, Ea:13, sb:40, qb:38, sc:73, Qa:142, Ra:23, Ua:26, qa:7, Ja:17, nb:35, dc:66, lc:137, ma:4, rb:39, Ya:30, Ob:53, tc:141, wc:136, Ma:19, pc:72, Tb:138, Db:148, Ta:25, Yb:61, Aa:11, Rb:56, Zb:62, qc:135}, yb = null, zb = {}, Ab = [], Bb = 1, Cb = null, Db = !0, Eb = {}, K = null, tb = {}; +function M(b, c) { + b = kb("/", b); + c = c || {}; + if (!b) { + return {path:"", node:null}; + } + var d = {N:!0, H:0}, f; + for (f in d) { + void 0 === c[f] && (c[f] = d[f]); + } + if (8 < c.H) { + throw new K(32); + } + b = fb(b.split("/").filter(function(k) { + return !!k; + }), !1); + var g = yb; + d = "/"; + for (f = 0; f < b.length; f++) { + var h = f === b.length - 1; + if (h && c.parent) { + break; + } + g = ub(g, b[f]); + d = gb(d + "/" + b[f]); + g.C && (!h || h && c.N) && (g = g.C.root); + if (!h || c.M) { + for (h = 0; 40960 === (g.mode & 61440);) { + if (g = Fb(d), d = kb(hb(d), g), g = M(d, {H:c.H}).node, 40 < h++) { + throw new K(32); + } + } + } + } + return {path:d, node:g}; +} +function Gb(b) { + for (var c;;) { + if (b === b.parent) { + return b = b.l.R, c ? "/" !== b[b.length - 1] ? b + "/" + c : b + c : b; + } + c = c ? b.name + "/" + c : b.name; + b = b.parent; + } +} +function Hb(b, c) { + for (var d = 0, f = 0; f < c.length; f++) { + d = (d << 5) - d + c.charCodeAt(f) | 0; + } + return (b + d >>> 0) % Cb.length; +} +function ub(b, c) { + var d; + if (d = (d = Ib(b, "x")) ? d : b.c.lookup ? 0 : 2) { + throw new K(d, b); + } + for (d = Cb[Hb(b.id, c)]; d; d = d.$) { + var f = d.name; + if (d.parent.id === b.id && f === c) { + return d; + } + } + return b.c.lookup(b, c); +} +function sb(b, c, d, f) { + assert("object" === typeof b); + b = new Jb(b, c, d, f); + c = Hb(b.parent.id, b.name); + b.$ = Cb[c]; + return Cb[c] = b; +} +var Kb = {r:0, "r+":2, w:577, "w+":578, a:1089, "a+":1090}; +function Lb(b) { + var c = ["r", "w", "rw"][b & 3]; + b & 512 && (c += "w"); + return c; +} +function Ib(b, c) { + if (Db) { + return 0; + } + if (-1 === c.indexOf("r") || b.mode & 292) { + if (-1 !== c.indexOf("w") && !(b.mode & 146) || -1 !== c.indexOf("x") && !(b.mode & 73)) { + return 2; + } + } else { + return 2; + } + return 0; +} +function Mb(b, c) { + try { + return ub(b, c), 20; + } catch (d) { + } + return Ib(b, "wx"); +} +function Nb(b) { + var c = 4096; + for (b = b || 0; b <= c; b++) { + if (!Ab[b]) { + return b; + } + } + throw new K(33); +} +function Ob(b, c) { + Pb || (Pb = function() { + }, Pb.prototype = {}); + var d = new Pb, f; + for (f in b) { + d[f] = b[f]; + } + b = d; + c = Nb(c); + b.fd = c; + return Ab[c] = b; +} +var rb = {open:function(b) { + b.f = zb[b.node.rdev].f; + b.f.open && b.f.open(b); +}, u:function() { + throw new K(70); +}}; +function nb(b, c) { + zb[b] = {f:c}; +} +function Qb(b, c) { + if ("string" === typeof b) { + throw b; + } + var d = "/" === c, f = !c; + if (d && yb) { + throw new K(10); + } + if (!d && !f) { + var g = M(c, {N:!1}); + c = g.path; + g = g.node; + if (g.C) { + throw new K(10); + } + if (16384 !== (g.mode & 61440)) { + throw new K(54); + } + } + c = {type:b, Fc:{}, R:c, Z:[]}; + b = b.l(c); + b.l = c; + c.root = b; + d ? yb = b : g && (g.C = c, g.l && g.l.Z.push(c)); +} +function Rb(b, c, d) { + var f = M(b, {parent:!0}).node; + b = ib(b); + if (!b || "." === b || ".." === b) { + throw new K(28); + } + var g = Mb(f, b); + if (g) { + throw new K(g); + } + if (!f.c.B) { + throw new K(63); + } + return f.c.B(f, b, c, d); +} +function N(b) { + return Rb(b, 16895, 0); +} +function Sb(b, c, d) { + "undefined" === typeof d && (d = c, c = 438); + Rb(b, c | 8192, d); +} +function Tb(b, c) { + if (!kb(b)) { + throw new K(44); + } + var d = M(c, {parent:!0}).node; + if (!d) { + throw new K(44); + } + c = ib(c); + var f = Mb(d, c); + if (f) { + throw new K(f); + } + if (!d.c.symlink) { + throw new K(63); + } + d.c.symlink(d, c, b); +} +function Fb(b) { + b = M(b).node; + if (!b) { + throw new K(44); + } + if (!b.c.readlink) { + throw new K(28); + } + return kb(Gb(b.parent), b.c.readlink(b)); +} +function Ub(b, c, d, f) { + if ("" === b) { + throw new K(44); + } + if ("string" === typeof c) { + var g = Kb[c]; + if ("undefined" === typeof g) { + throw Error("Unknown file open mode: " + c); + } + c = g; + } + d = c & 64 ? ("undefined" === typeof d ? 438 : d) & 4095 | 32768 : 0; + if ("object" === typeof b) { + var h = b; + } else { + b = gb(b); + try { + h = M(b, {M:!(c & 131072)}).node; + } catch (m) { + } + } + g = !1; + if (c & 64) { + if (h) { + if (c & 128) { + throw new K(20); + } + } else { + h = Rb(b, d, 0), g = !0; + } + } + if (!h) { + throw new K(44); + } + 8192 === (h.mode & 61440) && (c &= -513); + if (c & 65536 && 16384 !== (h.mode & 61440)) { + throw new K(54); + } + if (!g && (d = h ? 40960 === (h.mode & 61440) ? 32 : 16384 === (h.mode & 61440) && ("r" !== Lb(c) || c & 512) ? 31 : Ib(h, Lb(c)) : 44)) { + throw new K(d); + } + if (c & 512) { + d = h; + var k; + "string" === typeof d ? k = M(d, {M:!0}).node : k = d; + if (!k.c.j) { + throw new K(63); + } + if (16384 === (k.mode & 61440)) { + throw new K(31); + } + if (32768 !== (k.mode & 61440)) { + throw new K(28); + } + if (d = Ib(k, "w")) { + throw new K(d); + } + k.c.j(k, {size:0, timestamp:Date.now()}); + } + c &= -131713; + f = Ob({node:h, path:Gb(h), flags:c, seekable:!0, position:0, f:h.f, ia:[], error:!1}, f); + f.f.open && f.f.open(f); + !a.logReadFiles || c & 1 || (Vb || (Vb = {}), b in Vb || (Vb[b] = 1, q("FS.trackingDelegate error on read file: " + b))); + try { + Eb.onOpenFile && (h = 0, 1 !== (c & 2097155) && (h |= 1), 0 !== (c & 2097155) && (h |= 2), Eb.onOpenFile(b, h)); + } catch (m) { + q("FS.trackingDelegate['onOpenFile']('" + b + "', flags) threw an exception: " + m.message); + } + return f; +} +function Wb(b, c, d) { + if (null === b.fd) { + throw new K(8); + } + if (!b.seekable || !b.f.u) { + throw new K(70); + } + if (0 != d && 1 != d && 2 != d) { + throw new K(28); + } + b.position = b.f.u(b, c, d); + b.ia = []; +} +function Xb() { + K || (K = function(b, c) { + this.node = c; + this.ba = function(d) { + this.s = d; + for (var f in xb) { + if (xb[f] === d) { + this.code = f; + break; + } + } + }; + this.ba(b); + this.message = wb[b]; + this.stack && (Object.defineProperty(this, "stack", {value:Error().stack, writable:!0}), this.stack = Xa(this.stack)); + }, K.prototype = Error(), K.prototype.constructor = K, [44].forEach(function(b) { + tb[b] = new K(b); + tb[b].stack = ""; + })); +} +var Yb; +function Zb(b, c) { + var d = 0; + b && (d |= 365); + c && (d |= 146); + return d; +} +function ac(b, c, d) { + b = gb("/dev/" + b); + var f = Zb(!!c, !!d); + bc || (bc = 64); + var g = bc++ << 8 | 0; + nb(g, {open:function(h) { + h.seekable = !1; + }, close:function() { + d && d.buffer && d.buffer.length && d(10); + }, read:function(h, k, m, n) { + for (var r = 0, t = 0; t < n; t++) { + try { + var u = c(); + } catch (x) { + throw new K(29); + } + if (void 0 === u && 0 === r) { + throw new K(6); + } + if (null === u || void 0 === u) { + break; + } + r++; + k[m + t] = u; + } + r && (h.node.timestamp = Date.now()); + return r; + }, write:function(h, k, m, n) { + for (var r = 0; r < n; r++) { + try { + d(k[m + r]); + } catch (t) { + throw new K(29); + } + } + n && (h.node.timestamp = Date.now()); + return r; + }}); + Sb(b, f, g); +} +var bc, O = {}, Pb, Vb, P = void 0; +function Q() { + assert(void 0 != P); + P += 4; + return z[P - 4 >> 2]; +} +function R(b) { + b = Ab[b]; + if (!b) { + throw new K(8); + } + return b; +} +function cc(b) { + switch(b) { + case 1: + return 0; + case 2: + return 1; + case 4: + return 2; + case 8: + return 3; + default: + throw new TypeError("Unknown type size: " + b); + } +} +var dc = void 0; +function S(b) { + for (var c = ""; v[b];) { + c += dc[v[b++]]; + } + return c; +} +var T = {}, U = {}, ec = {}; +function fc(b) { + if (void 0 === b) { + return "_unknown"; + } + b = b.replace(/[^a-zA-Z0-9_]/g, "$"); + var c = b.charCodeAt(0); + return 48 <= c && 57 >= c ? "_" + b : b; +} +function gc(b, c) { + b = fc(b); + return (new Function("body", "return function " + b + '() {\n "use strict"; return body.apply(this, arguments);\n};\n'))(c); +} +function hc(b) { + var c = Error, d = gc(b, function(f) { + this.name = b; + this.message = f; + f = Error(f).stack; + void 0 !== f && (this.stack = this.toString() + "\n" + f.replace(/^Error(:[^\n]*)?\n/, "")); + }); + d.prototype = Object.create(c.prototype); + d.prototype.constructor = d; + d.prototype.toString = function() { + return void 0 === this.message ? this.name : this.name + ": " + this.message; + }; + return d; +} +var ic = void 0; +function V(b) { + throw new ic(b); +} +var jc = void 0; +function kc(b, c) { + function d(m) { + m = c(m); + if (m.length !== f.length) { + throw new jc("Mismatched type converter count"); + } + for (var n = 0; n < f.length; ++n) { + W(f[n], m[n]); + } + } + var f = []; + f.forEach(function(m) { + ec[m] = b; + }); + var g = Array(b.length), h = [], k = 0; + b.forEach(function(m, n) { + U.hasOwnProperty(m) ? g[n] = U[m] : (h.push(m), T.hasOwnProperty(m) || (T[m] = []), T[m].push(function() { + g[n] = U[m]; + ++k; + k === h.length && d(g); + })); + }); + 0 === h.length && d(g); +} +function W(b, c, d) { + d = d || {}; + if (!("argPackAdvance" in c)) { + throw new TypeError("registerType registeredInstance requires argPackAdvance"); + } + var f = c.name; + b || V('type "' + f + '" must have a positive integer typeid pointer'); + if (U.hasOwnProperty(b)) { + if (d.W) { + return; + } + V("Cannot register type '" + f + "' twice"); + } + U[b] = c; + delete ec[b]; + T.hasOwnProperty(b) && (c = T[b], delete T[b], c.forEach(function(g) { + g(); + })); +} +var lc = [], X = [{}, {value:void 0}, {value:null}, {value:!0}, {value:!1}]; +function mc(b) { + 4 < b && 0 === --X[b].I && (X[b] = void 0, lc.push(b)); +} +function nc(b) { + switch(b) { + case void 0: + return 1; + case null: + return 2; + case !0: + return 3; + case !1: + return 4; + default: + var c = lc.length ? lc.pop() : X.length; + X[c] = {I:1, value:b}; + return c; + } +} +function oc(b) { + return this.fromWireType(B[b >> 2]); +} +function pc(b) { + if (null === b) { + return "null"; + } + var c = typeof b; + return "object" === c || "array" === c || "function" === c ? b.toString() : "" + b; +} +function qc(b, c) { + switch(c) { + case 2: + return function(d) { + return this.fromWireType(Fa[d >> 2]); + }; + case 3: + return function(d) { + return this.fromWireType(Ga[d >> 3]); + }; + default: + throw new TypeError("Unknown float type: " + b); + } +} +function rc(b) { + var c = Function; + if (!(c instanceof Function)) { + throw new TypeError("new_ called with constructor type " + typeof c + " which is not a function"); + } + var d = gc(c.name || "unknownFunctionName", function() { + }); + d.prototype = c.prototype; + d = new d; + b = c.apply(d, b); + return b instanceof Object ? b : d; +} +function sc(b) { + for (; b.length;) { + var c = b.pop(); + b.pop()(c); + } +} +function tc(b, c) { + var d = a; + if (void 0 === d[b].i) { + var f = d[b]; + d[b] = function() { + d[b].i.hasOwnProperty(arguments.length) || V("Function '" + c + "' called with an invalid number of arguments (" + arguments.length + ") - expects one of (" + d[b].i + ")!"); + return d[b].i[arguments.length].apply(this, arguments); + }; + d[b].i = []; + d[b].i[f.T] = f; + } +} +function uc(b, c, d) { + a.hasOwnProperty(b) ? ((void 0 === d || void 0 !== a[b].i && void 0 !== a[b].i[d]) && V("Cannot register public name '" + b + "' twice"), tc(b, b), a.hasOwnProperty(d) && V("Cannot register multiple overloads of a function with the same number of arguments (" + d + ")!"), a[b].i[d] = c) : (a[b] = c, void 0 !== d && (a[b].Ec = d)); +} +function vc(b, c) { + for (var d = [], f = 0; f < b; f++) { + d.push(z[(c >> 2) + f]); + } + return d; +} +function wc(b, c) { + assert(0 <= b.indexOf("j"), "getDynCaller should only be called with i64 sigs"); + var d = []; + return function() { + d.length = arguments.length; + for (var f = 0; f < arguments.length; f++) { + d[f] = arguments[f]; + } + -1 != b.indexOf("j") ? (assert("dynCall_" + b in a, "bad function pointer type - no table for sig '" + b + "'"), d && d.length ? assert(d.length === b.substring(1).replace(/j/g, "--").length) : assert(1 == b.length), f = a["dynCall_" + b], f = d && d.length ? f.apply(null, [c].concat(d)) : f.call(null, c)) : (assert(C.get(c), "missing table entry in dynCall: " + c), f = C.get(c).apply(null, d)); + return f; + }; +} +function xc(b, c) { + b = S(b); + var d = -1 != b.indexOf("j") ? wc(b, c) : C.get(c); + "function" !== typeof d && V("unknown function pointer with signature " + b + ": " + c); + return d; +} +var yc = void 0; +function zc(b) { + b = Ac(b); + var c = S(b); + Y(b); + return c; +} +function Bc(b, c) { + function d(h) { + g[h] || U[h] || (ec[h] ? ec[h].forEach(d) : (f.push(h), g[h] = !0)); + } + var f = [], g = {}; + c.forEach(d); + throw new yc(b + ": " + f.map(zc).join([", "])); +} +function Cc(b, c, d) { + switch(c) { + case 0: + return d ? function(f) { + return A[f]; + } : function(f) { + return v[f]; + }; + case 1: + return d ? function(f) { + return w[f >> 1]; + } : function(f) { + return ya[f >> 1]; + }; + case 2: + return d ? function(f) { + return z[f >> 2]; + } : function(f) { + return B[f >> 2]; + }; + default: + throw new TypeError("Unknown integer type: " + b); + } +} +var Dc = {}; +function Ec() { + return "object" === typeof globalThis ? globalThis : Function("return this")(); +} +function Fc(b, c) { + var d = U[b]; + void 0 === d && V(c + " has unknown type " + zc(b)); + return d; +} +var Gc = {}; +function Jb(b, c, d, f) { + b || (b = this); + this.parent = b; + this.l = b.l; + this.C = null; + this.id = Bb++; + this.name = c; + this.mode = d; + this.c = {}; + this.f = {}; + this.rdev = f; +} +Object.defineProperties(Jb.prototype, {read:{get:function() { + return 365 === (this.mode & 365); +}, set:function(b) { + b ? this.mode |= 365 : this.mode &= -366; +}}, write:{get:function() { + return 146 === (this.mode & 146); +}, set:function(b) { + b ? this.mode |= 146 : this.mode &= -147; +}}}); +Xb(); +Cb = Array(4096); +Qb(L, "/"); +N("/tmp"); +N("/home"); +N("/home/web_user"); +(function() { + N("/dev"); + nb(259, {read:function() { + return 0; + }, write:function(c, d, f, g) { + return g; + }}); + Sb("/dev/null", 259); + mb(1280, pb); + mb(1536, qb); + Sb("/dev/tty", 1280); + Sb("/dev/tty1", 1536); + var b = jb(); + ac("random", b); + ac("urandom", b); + N("/dev/shm"); + N("/dev/shm/tmp"); +})(); +(function() { + N("/proc"); + var b = N("/proc/self"); + N("/proc/self/fd"); + Qb({l:function() { + var c = sb(b, "fd", 16895, 73); + c.c = {lookup:function(d, f) { + var g = Ab[+f]; + if (!g) { + throw new K(8); + } + d = {parent:null, l:{R:"fake"}, c:{readlink:function() { + return g.path; + }}}; + return d.parent = d; + }}; + return c; + }}, "/proc/self/fd"); +})(); +for (var Hc = Array(256), Ic = 0; 256 > Ic; ++Ic) { + Hc[Ic] = String.fromCharCode(Ic); +} +dc = Hc; +ic = a.BindingError = hc("BindingError"); +jc = a.InternalError = hc("InternalError"); +a.count_emval_handles = function() { + for (var b = 0, c = 5; c < X.length; ++c) { + void 0 !== X[c] && ++b; + } + return b; +}; +a.get_first_emval = function() { + for (var b = 5; b < X.length; ++b) { + if (void 0 !== X[b]) { + return X[b]; + } + } + return null; +}; +yc = a.UnboundTypeError = hc("UnboundTypeError"); +var Oc = {__assert_fail:function(b, c, d, f) { + e("Assertion failed: " + sa(b) + ", at: " + [c ? sa(c) : "unknown filename", d, f ? sa(f) : "unknown function"]); +}, __cxa_allocate_exception:function(b) { + return vb(b + 16) + 16; +}, __cxa_thread_atexit:function() { +}, __cxa_throw:function(b, c, d) { + (new db(b)).X(c, d); + eb++; + throw b + " - Exception catching is disabled, this exception cannot be caught. Compile with -s NO_DISABLE_EXCEPTION_CATCHING or -s EXCEPTION_CATCHING_ALLOWED=[..] to catch."; +}, __sys_fcntl64:function(b, c, d) { + P = d; + try { + var f = R(b); + switch(c) { + case 0: + var g = Q(); + return 0 > g ? -28 : Ub(f.path, f.flags, 0, g).fd; + case 1: + case 2: + return 0; + case 3: + return f.flags; + case 4: + return g = Q(), f.flags |= g, 0; + case 12: + return g = Q(), w[g + 0 >> 1] = 2, 0; + case 13: + case 14: + return 0; + case 16: + case 8: + return -28; + case 9: + return z[Jc() >> 2] = 28, -1; + default: + return -28; + } + } catch (h) { + return "undefined" !== typeof O && h instanceof K || e(h), -h.s; + } +}, __sys_ioctl:function(b, c, d) { + P = d; + try { + var f = R(b); + switch(c) { + case 21509: + case 21505: + return f.tty ? 0 : -59; + case 21510: + case 21511: + case 21512: + case 21506: + case 21507: + case 21508: + return f.tty ? 0 : -59; + case 21519: + if (!f.tty) { + return -59; + } + var g = Q(); + return z[g >> 2] = 0; + case 21520: + return f.tty ? -28 : -59; + case 21531: + b = g = Q(); + if (!f.f.Y) { + throw new K(59); + } + return f.f.Y(f, c, b); + case 21523: + return f.tty ? 0 : -59; + case 21524: + return f.tty ? 0 : -59; + default: + e("bad ioctl syscall " + c); + } + } catch (h) { + return "undefined" !== typeof O && h instanceof K || e(h), -h.s; + } +}, __sys_open:function(b, c, d) { + P = d; + try { + var f = sa(b), g = d ? Q() : 0; + return Ub(f, c, g).fd; + } catch (h) { + return "undefined" !== typeof O && h instanceof K || e(h), -h.s; + } +}, _embind_register_bool:function(b, c, d, f, g) { + var h = cc(d); + c = S(c); + W(b, {name:c, fromWireType:function(k) { + return !!k; + }, toWireType:function(k, m) { + return m ? f : g; + }, argPackAdvance:8, readValueFromPointer:function(k) { + if (1 === d) { + var m = A; + } else { + if (2 === d) { + m = w; + } else { + if (4 === d) { + m = z; + } else { + throw new TypeError("Unknown boolean type size: " + c); + } + } + } + return this.fromWireType(m[k >> h]); + }, m:null, }); +}, _embind_register_emval:function(b, c) { + c = S(c); + W(b, {name:c, fromWireType:function(d) { + var f = X[d].value; + mc(d); + return f; + }, toWireType:function(d, f) { + return nc(f); + }, argPackAdvance:8, readValueFromPointer:oc, m:null, }); +}, _embind_register_float:function(b, c, d) { + d = cc(d); + c = S(c); + W(b, {name:c, fromWireType:function(f) { + return f; + }, toWireType:function(f, g) { + if ("number" !== typeof g && "boolean" !== typeof g) { + throw new TypeError('Cannot convert "' + pc(g) + '" to ' + this.name); + } + return g; + }, argPackAdvance:8, readValueFromPointer:qc(c, d), m:null, }); +}, _embind_register_function:function(b, c, d, f, g, h) { + var k = vc(c, d); + b = S(b); + g = xc(f, g); + uc(b, function() { + Bc("Cannot call " + b + " due to unbound types", k); + }, c - 1); + kc(k, function(m) { + var n = [m[0], null].concat(m.slice(1)), r = m = b, t = g, u = n.length; + 2 > u && V("argTypes array size mismatch! Must at least get return value and 'this' types!"); + for (var x = null !== n[1] && !1, y = !1, p = 1; p < n.length; ++p) { + if (null !== n[p] && void 0 === n[p].m) { + y = !0; + break; + } + } + var F = "void" !== n[0].name, G = "", Z = ""; + for (p = 0; p < u - 2; ++p) { + G += (0 !== p ? ", " : "") + "arg" + p, Z += (0 !== p ? ", " : "") + "arg" + p + "Wired"; + } + r = "return function " + fc(r) + "(" + G + ") {\nif (arguments.length !== " + (u - 2) + ") {\nthrowBindingError('function " + r + " called with ' + arguments.length + ' arguments, expected " + (u - 2) + " args!');\n}\n"; + y && (r += "var destructors = [];\n"); + var $b = y ? "destructors" : "null"; + G = "throwBindingError invoker fn runDestructors retType classParam".split(" "); + t = [V, t, h, sc, n[0], n[1]]; + x && (r += "var thisWired = classParam.toWireType(" + $b + ", this);\n"); + for (p = 0; p < u - 2; ++p) { + r += "var arg" + p + "Wired = argType" + p + ".toWireType(" + $b + ", arg" + p + "); // " + n[p + 2].name + "\n", G.push("argType" + p), t.push(n[p + 2]); + } + x && (Z = "thisWired" + (0 < Z.length ? ", " : "") + Z); + r += (F ? "var rv = " : "") + "invoker(fn" + (0 < Z.length ? ", " : "") + Z + ");\n"; + if (y) { + r += "runDestructors(destructors);\n"; + } else { + for (p = x ? 1 : 2; p < n.length; ++p) { + u = 1 === p ? "thisWired" : "arg" + (p - 2) + "Wired", null !== n[p].m && (r += u + "_dtor(" + u + "); // " + n[p].name + "\n", G.push(u + "_dtor"), t.push(n[p].m)); + } + } + F && (r += "var ret = retType.fromWireType(rv);\nreturn ret;\n"); + G.push(r + "}\n"); + n = rc(G).apply(null, t); + p = c - 1; + if (!a.hasOwnProperty(m)) { + throw new jc("Replacing nonexistant public symbol"); + } + void 0 !== a[m].i && void 0 !== p ? a[m].i[p] = n : (a[m] = n, a[m].T = p); + return []; + }); +}, _embind_register_integer:function(b, c, d, f, g) { + function h(r) { + return r; + } + c = S(c); + -1 === g && (g = 4294967295); + var k = cc(d); + if (0 === f) { + var m = 32 - 8 * d; + h = function(r) { + return r << m >>> m; + }; + } + var n = -1 != c.indexOf("unsigned"); + W(b, {name:c, fromWireType:h, toWireType:function(r, t) { + if ("number" !== typeof t && "boolean" !== typeof t) { + throw new TypeError('Cannot convert "' + pc(t) + '" to ' + this.name); + } + if (t < f || t > g) { + throw new TypeError('Passing a number "' + pc(t) + '" from JS side to C/C++ side to an argument of type "' + c + '", which is outside the valid range [' + f + ", " + g + "]!"); + } + return n ? t >>> 0 : t | 0; + }, argPackAdvance:8, readValueFromPointer:Cc(c, k, 0 !== f), m:null, }); +}, _embind_register_memory_view:function(b, c, d) { + function f(h) { + h >>= 2; + var k = B; + return new g(Ea, k[h + 1], k[h]); + } + var g = [Int8Array, Uint8Array, Int16Array, Uint16Array, Int32Array, Uint32Array, Float32Array, Float64Array, ][c]; + d = S(d); + W(b, {name:d, fromWireType:f, argPackAdvance:8, readValueFromPointer:f, }, {W:!0, }); +}, _embind_register_std_string:function(b, c) { + c = S(c); + var d = "std::string" === c; + W(b, {name:c, fromWireType:function(f) { + var g = B[f >> 2]; + if (d) { + for (var h = f + 4, k = 0; k <= g; ++k) { + var m = f + 4 + k; + if (k == g || 0 == v[m]) { + h = sa(h, m - h); + if (void 0 === n) { + var n = h; + } else { + n += String.fromCharCode(0), n += h; + } + h = m + 1; + } + } + } else { + n = Array(g); + for (k = 0; k < g; ++k) { + n[k] = String.fromCharCode(v[f + 4 + k]); + } + n = n.join(""); + } + Y(f); + return n; + }, toWireType:function(f, g) { + g instanceof ArrayBuffer && (g = new Uint8Array(g)); + var h = "string" === typeof g; + h || g instanceof Uint8Array || g instanceof Uint8ClampedArray || g instanceof Int8Array || V("Cannot pass non-string to std::string"); + var k = (d && h ? function() { + return va(g); + } : function() { + return g.length; + })(), m = vb(4 + k + 1); + B[m >> 2] = k; + if (d && h) { + ua(g, m + 4, k + 1); + } else { + if (h) { + for (h = 0; h < k; ++h) { + var n = g.charCodeAt(h); + 255 < n && (Y(m), V("String has UTF-16 code units that do not fit in 8 bits")); + v[m + 4 + h] = n; + } + } else { + for (h = 0; h < k; ++h) { + v[m + 4 + h] = g[h]; + } + } + } + null !== f && f.push(Y, m); + return m; + }, argPackAdvance:8, readValueFromPointer:oc, m:function(f) { + Y(f); + }, }); +}, _embind_register_std_wstring:function(b, c, d) { + d = S(d); + if (2 === c) { + var f = xa; + var g = za; + var h = Aa; + var k = function() { + return ya; + }; + var m = 1; + } else { + 4 === c && (f = Ba, g = Ca, h = Da, k = function() { + return B; + }, m = 2); + } + W(b, {name:d, fromWireType:function(n) { + for (var r = B[n >> 2], t = k(), u, x = n + 4, y = 0; y <= r; ++y) { + var p = n + 4 + y * c; + if (y == r || 0 == t[p >> m]) { + x = f(x, p - x), void 0 === u ? u = x : (u += String.fromCharCode(0), u += x), x = p + c; + } + } + Y(n); + return u; + }, toWireType:function(n, r) { + "string" !== typeof r && V("Cannot pass non-string to C++ string type " + d); + var t = h(r), u = vb(4 + t + c); + B[u >> 2] = t >> m; + g(r, u + 4, t + c); + null !== n && n.push(Y, u); + return u; + }, argPackAdvance:8, readValueFromPointer:oc, m:function(n) { + Y(n); + }, }); +}, _embind_register_void:function(b, c) { + c = S(c); + W(b, {Dc:!0, name:c, argPackAdvance:0, fromWireType:function() { + }, toWireType:function() { + }, }); +}, _emval_decref:mc, _emval_get_global:function(b) { + if (0 === b) { + return nc(Ec()); + } + var c = Dc[b]; + b = void 0 === c ? S(b) : c; + return nc(Ec()[b]); +}, _emval_incref:function(b) { + 4 < b && (X[b].I += 1); +}, _emval_new:function(b, c, d, f) { + b || V("Cannot use deleted val. handle = " + b); + b = X[b].value; + var g = Gc[c]; + if (!g) { + g = ""; + for (var h = 0; h < c; ++h) { + g += (0 !== h ? ", " : "") + "arg" + h; + } + var k = "return function emval_allocator_" + c + "(constructor, argTypes, args) {\n"; + for (h = 0; h < c; ++h) { + k += "var argType" + h + " = requireRegisteredType(Module['HEAP32'][(argTypes >>> 2) + " + h + '], "parameter ' + h + '");\nvar arg' + h + " = argType" + h + ".readValueFromPointer(args);\nargs += argType" + h + "['argPackAdvance'];\n"; + } + g = (new Function("requireRegisteredType", "Module", "__emval_register", k + ("var obj = new constructor(" + g + ");\nreturn __emval_register(obj);\n}\n")))(Fc, a, nc); + Gc[c] = g; + } + return g(b, d, f); +}, _emval_take_value:function(b, c) { + b = Fc(b, "_emval_take_value"); + b = b.readValueFromPointer(c); + return nc(b); +}, abort:function() { + e(); +}, emscripten_get_heap_max:function() { + return 2147483648; +}, emscripten_longjmp:function(b, c) { + Kc(b, c || 1); + throw "longjmp"; +}, emscripten_memcpy_big:function(b, c, d) { + v.copyWithin(b, c, c + d); +}, emscripten_resize_heap:function(b) { + var c = v.length; + assert(b > c); + if (2147483648 < b) { + return q("Cannot enlarge memory, asked to go up to " + b + " bytes, but the limit is 2147483648 bytes!"), !1; + } + for (var d = 1; 4 >= d; d *= 2) { + var f = c * (1 + 0.2 / d); + f = Math.min(f, b + 100663296); + f = Math.max(b, f); + 0 < f % 65536 && (f += 65536 - f % 65536); + f = Math.min(2147483648, f); + a: { + var g = f; + try { + oa.grow(g - Ea.byteLength + 65535 >>> 16); + Ha(); + var h = 1; + break a; + } catch (k) { + console.error("emscripten_realloc_buffer: Attempted to grow heap from " + Ea.byteLength + " bytes to " + g + " bytes, but got error: " + k); + } + h = void 0; + } + if (h) { + return !0; + } + } + q("Failed to grow the heap from " + c + " bytes to " + f + " bytes, not enough memory!"); + return !1; +}, fd_close:function(b) { + try { + var c = R(b); + if (null === c.fd) { + throw new K(8); + } + c.F && (c.F = null); + try { + c.f.close && c.f.close(c); + } catch (d) { + throw d; + } finally { + Ab[c.fd] = null; + } + c.fd = null; + return 0; + } catch (d) { + return "undefined" !== typeof O && d instanceof K || e(d), d.s; + } +}, fd_read:function(b, c, d, f) { + try { + a: { + for (var g = R(b), h = b = 0; h < d; h++) { + var k = z[c + (8 * h + 4) >> 2], m = g, n = z[c + 8 * h >> 2], r = k, t = void 0, u = A; + if (0 > r || 0 > t) { + throw new K(28); + } + if (null === m.fd) { + throw new K(8); + } + if (1 === (m.flags & 2097155)) { + throw new K(8); + } + if (16384 === (m.node.mode & 61440)) { + throw new K(31); + } + if (!m.f.read) { + throw new K(28); + } + var x = "undefined" !== typeof t; + if (!x) { + t = m.position; + } else { + if (!m.seekable) { + throw new K(70); + } + } + var y = m.f.read(m, u, n, r, t); + x || (m.position += y); + var p = y; + if (0 > p) { + var F = -1; + break a; + } + b += p; + if (p < k) { + break; + } + } + F = b; + } + z[f >> 2] = F; + return 0; + } catch (G) { + return "undefined" !== typeof O && G instanceof K || e(G), G.s; + } +}, fd_seek:function(b, c, d, f, g) { + try { + var h = R(b); + b = 4294967296 * d + (c >>> 0); + if (-9007199254740992 >= b || 9007199254740992 <= b) { + return -61; + } + Wb(h, b, f); + bb = [h.position >>> 0, (J = h.position, 1.0 <= +Math.abs(J) ? 0.0 < J ? (Math.min(+Math.floor(J / 4294967296.0), 4294967295.0) | 0) >>> 0 : ~~+Math.ceil((J - +(~~J >>> 0)) / 4294967296.0) >>> 0 : 0)]; + z[g >> 2] = bb[0]; + z[g + 4 >> 2] = bb[1]; + h.F && 0 === b && 0 === f && (h.F = null); + return 0; + } catch (k) { + return "undefined" !== typeof O && k instanceof K || e(k), k.s; + } +}, fd_write:function(b, c, d, f) { + try { + a: { + for (var g = R(b), h = b = 0; h < d; h++) { + var k = g, m = z[c + 8 * h >> 2], n = z[c + (8 * h + 4) >> 2], r = void 0, t = A; + if (0 > n || 0 > r) { + throw new K(28); + } + if (null === k.fd) { + throw new K(8); + } + if (0 === (k.flags & 2097155)) { + throw new K(8); + } + if (16384 === (k.node.mode & 61440)) { + throw new K(31); + } + if (!k.f.write) { + throw new K(28); + } + k.seekable && k.flags & 1024 && Wb(k, 0, 2); + var u = "undefined" !== typeof r; + if (!u) { + r = k.position; + } else { + if (!k.seekable) { + throw new K(70); + } + } + var x = k.f.write(k, t, m, n, r, void 0); + u || (k.position += x); + try { + if (k.path && Eb.onWriteToFile) { + Eb.onWriteToFile(k.path); + } + } catch (F) { + q("FS.trackingDelegate['onWriteToFile']('" + k.path + "') threw an exception: " + F.message); + } + var y = x; + if (0 > y) { + var p = -1; + break a; + } + b += y; + } + p = b; + } + z[f >> 2] = p; + return 0; + } catch (F) { + return "undefined" !== typeof O && F instanceof K || e(F), F.s; + } +}, getTempRet0:function() { + return ma | 0; +}, gettimeofday:function(b) { + var c = Date.now(); + z[b >> 2] = c / 1000 | 0; + z[b + 4 >> 2] = c % 1000 * 1000 | 0; + return 0; +}, invoke_vi:Lc, invoke_vii:Mc, invoke_viii:Nc, setTempRet0:function(b) { + ma = b | 0; +}}; +(function() { + function b(h) { + a.asm = h.exports; + oa = a.asm.memory; + assert(oa, "memory not found in wasm exports"); + Ha(); + C = a.asm.__indirect_function_table; + assert(C, "table not found in wasm exports"); + Pa.unshift(a.asm.__wasm_call_ctors); + D--; + a.monitorRunDependencies && a.monitorRunDependencies(D); + assert(Va["wasm-instantiate"]); + delete Va["wasm-instantiate"]; + 0 == D && (null !== E && (clearInterval(E), E = null), Ua && (h = Ua, Ua = null, h())); + } + function c(h) { + assert(a === g, "the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"); + g = null; + b(h.instance); + } + function d(h) { + return ab().then(function(k) { + return WebAssembly.instantiate(k, f); + }).then(h, function(k) { + q("failed to asynchronously prepare wasm: " + k); + Ya("file://") && q("warning: Loading from a file URI (" + H + ") is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing"); + e(k); + }); + } + var f = {env:Oc, wasi_snapshot_preview1:Oc, }; + Wa(); + var g = a; + if (a.instantiateWasm) { + try { + return a.instantiateWasm(f, b); + } catch (h) { + return q("Module.instantiateWasm callback failed with error: " + h), !1; + } + } + (function() { + return na || "function" !== typeof WebAssembly.instantiateStreaming || Za() || "function" !== typeof fetch ? d(c) : fetch(H, {credentials:"same-origin"}).then(function(h) { + return WebAssembly.instantiateStreaming(h, f).then(c, function(k) { + q("wasm streaming compile failed: " + k); + q("falling back to ArrayBuffer instantiation"); + return d(c); + }); + }); + })().catch(ba); + return {}; +})(); +a.___wasm_call_ctors = I("__wasm_call_ctors"); +var Y = a._free = I("free"), vb = a._malloc = I("malloc"); +a._fflush = I("fflush"); +var Ac = a.___getTypeName = I("__getTypeName"); +a.___embind_register_native_and_builtin_types = I("__embind_register_native_and_builtin_types"); +var Jc = a.___errno_location = I("__errno_location"); +a._emscripten_main_thread_process_queued_calls = I("emscripten_main_thread_process_queued_calls"); +var Ka = a._emscripten_stack_get_end = function() { + return (Ka = a._emscripten_stack_get_end = a.asm.emscripten_stack_get_end).apply(null, arguments); +}, Pc = a.stackSave = I("stackSave"), Qc = a.stackRestore = I("stackRestore"); +a.stackAlloc = I("stackAlloc"); +var Rc = a._emscripten_stack_init = function() { + return (Rc = a._emscripten_stack_init = a.asm.emscripten_stack_init).apply(null, arguments); +}; +a._emscripten_stack_get_free = function() { + return (a._emscripten_stack_get_free = a.asm.emscripten_stack_get_free).apply(null, arguments); +}; +var Kc = a._setThrew = I("setThrew"); +a.dynCall_jiiii = I("dynCall_jiiii"); +a.dynCall_jiji = I("dynCall_jiji"); +function Mc(b, c, d) { + var f = Pc(); + try { + C.get(b)(c, d); + } catch (g) { + Qc(f); + if (g !== g + 0 && "longjmp" !== g) { + throw g; + } + Kc(1, 0); + } +} +function Lc(b, c) { + var d = Pc(); + try { + C.get(b)(c); + } catch (f) { + Qc(d); + if (f !== f + 0 && "longjmp" !== f) { + throw f; + } + Kc(1, 0); + } +} +function Nc(b, c, d, f) { + var g = Pc(); + try { + C.get(b)(c, d, f); + } catch (h) { + Qc(g); + if (h !== h + 0 && "longjmp" !== h) { + throw h; + } + Kc(1, 0); + } +} +Object.getOwnPropertyDescriptor(a, "intArrayFromString") || (a.intArrayFromString = function() { + e("'intArrayFromString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "intArrayToString") || (a.intArrayToString = function() { + e("'intArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "ccall") || (a.ccall = function() { + e("'ccall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "cwrap") || (a.cwrap = function() { + e("'cwrap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "setValue") || (a.setValue = function() { + e("'setValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getValue") || (a.getValue = function() { + e("'getValue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "allocate") || (a.allocate = function() { + e("'allocate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "UTF8ArrayToString") || (a.UTF8ArrayToString = function() { + e("'UTF8ArrayToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "UTF8ToString") || (a.UTF8ToString = function() { + e("'UTF8ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "stringToUTF8Array") || (a.stringToUTF8Array = function() { + e("'stringToUTF8Array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "stringToUTF8") || (a.stringToUTF8 = function() { + e("'stringToUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "lengthBytesUTF8") || (a.lengthBytesUTF8 = function() { + e("'lengthBytesUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "stackTrace") || (a.stackTrace = function() { + e("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "addOnPreRun") || (a.addOnPreRun = function() { + e("'addOnPreRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "addOnInit") || (a.addOnInit = function() { + e("'addOnInit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "addOnPreMain") || (a.addOnPreMain = function() { + e("'addOnPreMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "addOnExit") || (a.addOnExit = function() { + e("'addOnExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "addOnPostRun") || (a.addOnPostRun = function() { + e("'addOnPostRun' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "writeStringToMemory") || (a.writeStringToMemory = function() { + e("'writeStringToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "writeArrayToMemory") || (a.writeArrayToMemory = function() { + e("'writeArrayToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "writeAsciiToMemory") || (a.writeAsciiToMemory = function() { + e("'writeAsciiToMemory' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "addRunDependency") || (a.addRunDependency = function() { + e("'addRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); +}); +Object.getOwnPropertyDescriptor(a, "removeRunDependency") || (a.removeRunDependency = function() { + e("'removeRunDependency' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); +}); +Object.getOwnPropertyDescriptor(a, "FS_createFolder") || (a.FS_createFolder = function() { + e("'FS_createFolder' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "FS_createPath") || (a.FS_createPath = function() { + e("'FS_createPath' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); +}); +Object.getOwnPropertyDescriptor(a, "FS_createDataFile") || (a.FS_createDataFile = function() { + e("'FS_createDataFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); +}); +Object.getOwnPropertyDescriptor(a, "FS_createPreloadedFile") || (a.FS_createPreloadedFile = function() { + e("'FS_createPreloadedFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); +}); +Object.getOwnPropertyDescriptor(a, "FS_createLazyFile") || (a.FS_createLazyFile = function() { + e("'FS_createLazyFile' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); +}); +Object.getOwnPropertyDescriptor(a, "FS_createLink") || (a.FS_createLink = function() { + e("'FS_createLink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "FS_createDevice") || (a.FS_createDevice = function() { + e("'FS_createDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); +}); +Object.getOwnPropertyDescriptor(a, "FS_unlink") || (a.FS_unlink = function() { + e("'FS_unlink' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ). Alternatively, forcing filesystem support (-s FORCE_FILESYSTEM=1) can export this for you"); +}); +Object.getOwnPropertyDescriptor(a, "getLEB") || (a.getLEB = function() { + e("'getLEB' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getFunctionTables") || (a.getFunctionTables = function() { + e("'getFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "alignFunctionTables") || (a.alignFunctionTables = function() { + e("'alignFunctionTables' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerFunctions") || (a.registerFunctions = function() { + e("'registerFunctions' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "addFunction") || (a.addFunction = function() { + e("'addFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "removeFunction") || (a.removeFunction = function() { + e("'removeFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getFuncWrapper") || (a.getFuncWrapper = function() { + e("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "prettyPrint") || (a.prettyPrint = function() { + e("'prettyPrint' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "makeBigInt") || (a.makeBigInt = function() { + e("'makeBigInt' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "dynCall") || (a.dynCall = function() { + e("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getCompilerSetting") || (a.getCompilerSetting = function() { + e("'getCompilerSetting' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "print") || (a.print = function() { + e("'print' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "printErr") || (a.printErr = function() { + e("'printErr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getTempRet0") || (a.getTempRet0 = function() { + e("'getTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "setTempRet0") || (a.setTempRet0 = function() { + e("'setTempRet0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "callMain") || (a.callMain = function() { + e("'callMain' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "abort") || (a.abort = function() { + e("'abort' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "stringToNewUTF8") || (a.stringToNewUTF8 = function() { + e("'stringToNewUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "setFileTime") || (a.setFileTime = function() { + e("'setFileTime' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "emscripten_realloc_buffer") || (a.emscripten_realloc_buffer = function() { + e("'emscripten_realloc_buffer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "ENV") || (a.ENV = function() { + e("'ENV' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "ERRNO_CODES") || (a.ERRNO_CODES = function() { + e("'ERRNO_CODES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "ERRNO_MESSAGES") || (a.ERRNO_MESSAGES = function() { + e("'ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "setErrNo") || (a.setErrNo = function() { + e("'setErrNo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "inetPton4") || (a.inetPton4 = function() { + e("'inetPton4' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "inetNtop4") || (a.inetNtop4 = function() { + e("'inetNtop4' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "inetPton6") || (a.inetPton6 = function() { + e("'inetPton6' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "inetNtop6") || (a.inetNtop6 = function() { + e("'inetNtop6' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "readSockaddr") || (a.readSockaddr = function() { + e("'readSockaddr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "writeSockaddr") || (a.writeSockaddr = function() { + e("'writeSockaddr' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "DNS") || (a.DNS = function() { + e("'DNS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getHostByName") || (a.getHostByName = function() { + e("'getHostByName' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "GAI_ERRNO_MESSAGES") || (a.GAI_ERRNO_MESSAGES = function() { + e("'GAI_ERRNO_MESSAGES' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "Protocols") || (a.Protocols = function() { + e("'Protocols' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "Sockets") || (a.Sockets = function() { + e("'Sockets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getRandomDevice") || (a.getRandomDevice = function() { + e("'getRandomDevice' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "traverseStack") || (a.traverseStack = function() { + e("'traverseStack' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "UNWIND_CACHE") || (a.UNWIND_CACHE = function() { + e("'UNWIND_CACHE' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "withBuiltinMalloc") || (a.withBuiltinMalloc = function() { + e("'withBuiltinMalloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "readAsmConstArgsArray") || (a.readAsmConstArgsArray = function() { + e("'readAsmConstArgsArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "readAsmConstArgs") || (a.readAsmConstArgs = function() { + e("'readAsmConstArgs' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "mainThreadEM_ASM") || (a.mainThreadEM_ASM = function() { + e("'mainThreadEM_ASM' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "jstoi_q") || (a.jstoi_q = function() { + e("'jstoi_q' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "jstoi_s") || (a.jstoi_s = function() { + e("'jstoi_s' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getExecutableName") || (a.getExecutableName = function() { + e("'getExecutableName' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "listenOnce") || (a.listenOnce = function() { + e("'listenOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "autoResumeAudioContext") || (a.autoResumeAudioContext = function() { + e("'autoResumeAudioContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "dynCallLegacy") || (a.dynCallLegacy = function() { + e("'dynCallLegacy' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getDynCaller") || (a.getDynCaller = function() { + e("'getDynCaller' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "dynCall") || (a.dynCall = function() { + e("'dynCall' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "callRuntimeCallbacks") || (a.callRuntimeCallbacks = function() { + e("'callRuntimeCallbacks' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "runtimeKeepaliveCounter") || (a.runtimeKeepaliveCounter = function() { + e("'runtimeKeepaliveCounter' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "keepRuntimeAlive") || (a.keepRuntimeAlive = function() { + e("'keepRuntimeAlive' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "runtimeKeepalivePush") || (a.runtimeKeepalivePush = function() { + e("'runtimeKeepalivePush' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "runtimeKeepalivePop") || (a.runtimeKeepalivePop = function() { + e("'runtimeKeepalivePop' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "callUserCallback") || (a.callUserCallback = function() { + e("'callUserCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "maybeExit") || (a.maybeExit = function() { + e("'maybeExit' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "reallyNegative") || (a.reallyNegative = function() { + e("'reallyNegative' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "unSign") || (a.unSign = function() { + e("'unSign' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "reSign") || (a.reSign = function() { + e("'reSign' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "formatString") || (a.formatString = function() { + e("'formatString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "PATH") || (a.PATH = function() { + e("'PATH' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "PATH_FS") || (a.PATH_FS = function() { + e("'PATH_FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "SYSCALLS") || (a.SYSCALLS = function() { + e("'SYSCALLS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "syscallMmap2") || (a.syscallMmap2 = function() { + e("'syscallMmap2' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "syscallMunmap") || (a.syscallMunmap = function() { + e("'syscallMunmap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getSocketFromFD") || (a.getSocketFromFD = function() { + e("'getSocketFromFD' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getSocketAddress") || (a.getSocketAddress = function() { + e("'getSocketAddress' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "JSEvents") || (a.JSEvents = function() { + e("'JSEvents' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerKeyEventCallback") || (a.registerKeyEventCallback = function() { + e("'registerKeyEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "specialHTMLTargets") || (a.specialHTMLTargets = function() { + e("'specialHTMLTargets' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "maybeCStringToJsString") || (a.maybeCStringToJsString = function() { + e("'maybeCStringToJsString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "findEventTarget") || (a.findEventTarget = function() { + e("'findEventTarget' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "findCanvasEventTarget") || (a.findCanvasEventTarget = function() { + e("'findCanvasEventTarget' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getBoundingClientRect") || (a.getBoundingClientRect = function() { + e("'getBoundingClientRect' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "fillMouseEventData") || (a.fillMouseEventData = function() { + e("'fillMouseEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerMouseEventCallback") || (a.registerMouseEventCallback = function() { + e("'registerMouseEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerWheelEventCallback") || (a.registerWheelEventCallback = function() { + e("'registerWheelEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerUiEventCallback") || (a.registerUiEventCallback = function() { + e("'registerUiEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerFocusEventCallback") || (a.registerFocusEventCallback = function() { + e("'registerFocusEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "fillDeviceOrientationEventData") || (a.fillDeviceOrientationEventData = function() { + e("'fillDeviceOrientationEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerDeviceOrientationEventCallback") || (a.registerDeviceOrientationEventCallback = function() { + e("'registerDeviceOrientationEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "fillDeviceMotionEventData") || (a.fillDeviceMotionEventData = function() { + e("'fillDeviceMotionEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerDeviceMotionEventCallback") || (a.registerDeviceMotionEventCallback = function() { + e("'registerDeviceMotionEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "screenOrientation") || (a.screenOrientation = function() { + e("'screenOrientation' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "fillOrientationChangeEventData") || (a.fillOrientationChangeEventData = function() { + e("'fillOrientationChangeEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerOrientationChangeEventCallback") || (a.registerOrientationChangeEventCallback = function() { + e("'registerOrientationChangeEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "fillFullscreenChangeEventData") || (a.fillFullscreenChangeEventData = function() { + e("'fillFullscreenChangeEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerFullscreenChangeEventCallback") || (a.registerFullscreenChangeEventCallback = function() { + e("'registerFullscreenChangeEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerRestoreOldStyle") || (a.registerRestoreOldStyle = function() { + e("'registerRestoreOldStyle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "hideEverythingExceptGivenElement") || (a.hideEverythingExceptGivenElement = function() { + e("'hideEverythingExceptGivenElement' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "restoreHiddenElements") || (a.restoreHiddenElements = function() { + e("'restoreHiddenElements' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "setLetterbox") || (a.setLetterbox = function() { + e("'setLetterbox' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "currentFullscreenStrategy") || (a.currentFullscreenStrategy = function() { + e("'currentFullscreenStrategy' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "restoreOldWindowedStyle") || (a.restoreOldWindowedStyle = function() { + e("'restoreOldWindowedStyle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "softFullscreenResizeWebGLRenderTarget") || (a.softFullscreenResizeWebGLRenderTarget = function() { + e("'softFullscreenResizeWebGLRenderTarget' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "doRequestFullscreen") || (a.doRequestFullscreen = function() { + e("'doRequestFullscreen' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "fillPointerlockChangeEventData") || (a.fillPointerlockChangeEventData = function() { + e("'fillPointerlockChangeEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerPointerlockChangeEventCallback") || (a.registerPointerlockChangeEventCallback = function() { + e("'registerPointerlockChangeEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerPointerlockErrorEventCallback") || (a.registerPointerlockErrorEventCallback = function() { + e("'registerPointerlockErrorEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "requestPointerLock") || (a.requestPointerLock = function() { + e("'requestPointerLock' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "fillVisibilityChangeEventData") || (a.fillVisibilityChangeEventData = function() { + e("'fillVisibilityChangeEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerVisibilityChangeEventCallback") || (a.registerVisibilityChangeEventCallback = function() { + e("'registerVisibilityChangeEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerTouchEventCallback") || (a.registerTouchEventCallback = function() { + e("'registerTouchEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "fillGamepadEventData") || (a.fillGamepadEventData = function() { + e("'fillGamepadEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerGamepadEventCallback") || (a.registerGamepadEventCallback = function() { + e("'registerGamepadEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerBeforeUnloadEventCallback") || (a.registerBeforeUnloadEventCallback = function() { + e("'registerBeforeUnloadEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "fillBatteryEventData") || (a.fillBatteryEventData = function() { + e("'fillBatteryEventData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "battery") || (a.battery = function() { + e("'battery' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerBatteryEventCallback") || (a.registerBatteryEventCallback = function() { + e("'registerBatteryEventCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "setCanvasElementSize") || (a.setCanvasElementSize = function() { + e("'setCanvasElementSize' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getCanvasElementSize") || (a.getCanvasElementSize = function() { + e("'getCanvasElementSize' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "polyfillSetImmediate") || (a.polyfillSetImmediate = function() { + e("'polyfillSetImmediate' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "demangle") || (a.demangle = function() { + e("'demangle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "demangleAll") || (a.demangleAll = function() { + e("'demangleAll' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "jsStackTrace") || (a.jsStackTrace = function() { + e("'jsStackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "stackTrace") || (a.stackTrace = function() { + e("'stackTrace' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getEnvStrings") || (a.getEnvStrings = function() { + e("'getEnvStrings' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "checkWasiClock") || (a.checkWasiClock = function() { + e("'checkWasiClock' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "writeI53ToI64") || (a.writeI53ToI64 = function() { + e("'writeI53ToI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "writeI53ToI64Clamped") || (a.writeI53ToI64Clamped = function() { + e("'writeI53ToI64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "writeI53ToI64Signaling") || (a.writeI53ToI64Signaling = function() { + e("'writeI53ToI64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "writeI53ToU64Clamped") || (a.writeI53ToU64Clamped = function() { + e("'writeI53ToU64Clamped' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "writeI53ToU64Signaling") || (a.writeI53ToU64Signaling = function() { + e("'writeI53ToU64Signaling' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "readI53FromI64") || (a.readI53FromI64 = function() { + e("'readI53FromI64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "readI53FromU64") || (a.readI53FromU64 = function() { + e("'readI53FromU64' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "convertI32PairToI53") || (a.convertI32PairToI53 = function() { + e("'convertI32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "convertU32PairToI53") || (a.convertU32PairToI53 = function() { + e("'convertU32PairToI53' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "uncaughtExceptionCount") || (a.uncaughtExceptionCount = function() { + e("'uncaughtExceptionCount' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "exceptionLast") || (a.exceptionLast = function() { + e("'exceptionLast' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "exceptionCaught") || (a.exceptionCaught = function() { + e("'exceptionCaught' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "ExceptionInfoAttrs") || (a.ExceptionInfoAttrs = function() { + e("'ExceptionInfoAttrs' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "ExceptionInfo") || (a.ExceptionInfo = function() { + e("'ExceptionInfo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "CatchInfo") || (a.CatchInfo = function() { + e("'CatchInfo' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "exception_addRef") || (a.exception_addRef = function() { + e("'exception_addRef' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "exception_decRef") || (a.exception_decRef = function() { + e("'exception_decRef' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "Browser") || (a.Browser = function() { + e("'Browser' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "funcWrappers") || (a.funcWrappers = function() { + e("'funcWrappers' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getFuncWrapper") || (a.getFuncWrapper = function() { + e("'getFuncWrapper' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "setMainLoop") || (a.setMainLoop = function() { + e("'setMainLoop' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "FS") || (a.FS = function() { + e("'FS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "mmapAlloc") || (a.mmapAlloc = function() { + e("'mmapAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "MEMFS") || (a.MEMFS = function() { + e("'MEMFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "TTY") || (a.TTY = function() { + e("'TTY' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "PIPEFS") || (a.PIPEFS = function() { + e("'PIPEFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "SOCKFS") || (a.SOCKFS = function() { + e("'SOCKFS' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "_setNetworkCallback") || (a._setNetworkCallback = function() { + e("'_setNetworkCallback' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "tempFixedLengthArray") || (a.tempFixedLengthArray = function() { + e("'tempFixedLengthArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "miniTempWebGLFloatBuffers") || (a.miniTempWebGLFloatBuffers = function() { + e("'miniTempWebGLFloatBuffers' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "heapObjectForWebGLType") || (a.heapObjectForWebGLType = function() { + e("'heapObjectForWebGLType' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "heapAccessShiftForWebGLHeap") || (a.heapAccessShiftForWebGLHeap = function() { + e("'heapAccessShiftForWebGLHeap' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "GL") || (a.GL = function() { + e("'GL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "emscriptenWebGLGet") || (a.emscriptenWebGLGet = function() { + e("'emscriptenWebGLGet' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "computeUnpackAlignedImageSize") || (a.computeUnpackAlignedImageSize = function() { + e("'computeUnpackAlignedImageSize' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "emscriptenWebGLGetTexPixelData") || (a.emscriptenWebGLGetTexPixelData = function() { + e("'emscriptenWebGLGetTexPixelData' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "emscriptenWebGLGetUniform") || (a.emscriptenWebGLGetUniform = function() { + e("'emscriptenWebGLGetUniform' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "emscriptenWebGLGetVertexAttrib") || (a.emscriptenWebGLGetVertexAttrib = function() { + e("'emscriptenWebGLGetVertexAttrib' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "writeGLArray") || (a.writeGLArray = function() { + e("'writeGLArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "AL") || (a.AL = function() { + e("'AL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "SDL_unicode") || (a.SDL_unicode = function() { + e("'SDL_unicode' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "SDL_ttfContext") || (a.SDL_ttfContext = function() { + e("'SDL_ttfContext' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "SDL_audio") || (a.SDL_audio = function() { + e("'SDL_audio' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "SDL") || (a.SDL = function() { + e("'SDL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "SDL_gfx") || (a.SDL_gfx = function() { + e("'SDL_gfx' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "GLUT") || (a.GLUT = function() { + e("'GLUT' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "EGL") || (a.EGL = function() { + e("'EGL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "GLFW_Window") || (a.GLFW_Window = function() { + e("'GLFW_Window' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "GLFW") || (a.GLFW = function() { + e("'GLFW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "GLEW") || (a.GLEW = function() { + e("'GLEW' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "IDBStore") || (a.IDBStore = function() { + e("'IDBStore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "runAndAbortIfError") || (a.runAndAbortIfError = function() { + e("'runAndAbortIfError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "emval_handle_array") || (a.emval_handle_array = function() { + e("'emval_handle_array' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "emval_free_list") || (a.emval_free_list = function() { + e("'emval_free_list' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "emval_symbols") || (a.emval_symbols = function() { + e("'emval_symbols' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "init_emval") || (a.init_emval = function() { + e("'init_emval' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "count_emval_handles") || (a.count_emval_handles = function() { + e("'count_emval_handles' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "get_first_emval") || (a.get_first_emval = function() { + e("'get_first_emval' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getStringOrSymbol") || (a.getStringOrSymbol = function() { + e("'getStringOrSymbol' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "requireHandle") || (a.requireHandle = function() { + e("'requireHandle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "emval_newers") || (a.emval_newers = function() { + e("'emval_newers' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "craftEmvalAllocator") || (a.craftEmvalAllocator = function() { + e("'craftEmvalAllocator' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "emval_get_global") || (a.emval_get_global = function() { + e("'emval_get_global' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "emval_methodCallers") || (a.emval_methodCallers = function() { + e("'emval_methodCallers' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "InternalError") || (a.InternalError = function() { + e("'InternalError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "BindingError") || (a.BindingError = function() { + e("'BindingError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "UnboundTypeError") || (a.UnboundTypeError = function() { + e("'UnboundTypeError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "PureVirtualError") || (a.PureVirtualError = function() { + e("'PureVirtualError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "init_embind") || (a.init_embind = function() { + e("'init_embind' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "throwInternalError") || (a.throwInternalError = function() { + e("'throwInternalError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "throwBindingError") || (a.throwBindingError = function() { + e("'throwBindingError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "throwUnboundTypeError") || (a.throwUnboundTypeError = function() { + e("'throwUnboundTypeError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "ensureOverloadTable") || (a.ensureOverloadTable = function() { + e("'ensureOverloadTable' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "exposePublicSymbol") || (a.exposePublicSymbol = function() { + e("'exposePublicSymbol' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "replacePublicSymbol") || (a.replacePublicSymbol = function() { + e("'replacePublicSymbol' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "extendError") || (a.extendError = function() { + e("'extendError' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "createNamedFunction") || (a.createNamedFunction = function() { + e("'createNamedFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registeredInstances") || (a.registeredInstances = function() { + e("'registeredInstances' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getBasestPointer") || (a.getBasestPointer = function() { + e("'getBasestPointer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerInheritedInstance") || (a.registerInheritedInstance = function() { + e("'registerInheritedInstance' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "unregisterInheritedInstance") || (a.unregisterInheritedInstance = function() { + e("'unregisterInheritedInstance' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getInheritedInstance") || (a.getInheritedInstance = function() { + e("'getInheritedInstance' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getInheritedInstanceCount") || (a.getInheritedInstanceCount = function() { + e("'getInheritedInstanceCount' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getLiveInheritedInstances") || (a.getLiveInheritedInstances = function() { + e("'getLiveInheritedInstances' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registeredTypes") || (a.registeredTypes = function() { + e("'registeredTypes' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "awaitingDependencies") || (a.awaitingDependencies = function() { + e("'awaitingDependencies' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "typeDependencies") || (a.typeDependencies = function() { + e("'typeDependencies' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registeredPointers") || (a.registeredPointers = function() { + e("'registeredPointers' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "registerType") || (a.registerType = function() { + e("'registerType' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "whenDependentTypesAreResolved") || (a.whenDependentTypesAreResolved = function() { + e("'whenDependentTypesAreResolved' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "embind_charCodes") || (a.embind_charCodes = function() { + e("'embind_charCodes' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "embind_init_charCodes") || (a.embind_init_charCodes = function() { + e("'embind_init_charCodes' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "readLatin1String") || (a.readLatin1String = function() { + e("'readLatin1String' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getTypeName") || (a.getTypeName = function() { + e("'getTypeName' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "heap32VectorToArray") || (a.heap32VectorToArray = function() { + e("'heap32VectorToArray' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "requireRegisteredType") || (a.requireRegisteredType = function() { + e("'requireRegisteredType' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "getShiftFromSize") || (a.getShiftFromSize = function() { + e("'getShiftFromSize' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "integerReadValueFromPointer") || (a.integerReadValueFromPointer = function() { + e("'integerReadValueFromPointer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "enumReadValueFromPointer") || (a.enumReadValueFromPointer = function() { + e("'enumReadValueFromPointer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "floatReadValueFromPointer") || (a.floatReadValueFromPointer = function() { + e("'floatReadValueFromPointer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "simpleReadValueFromPointer") || (a.simpleReadValueFromPointer = function() { + e("'simpleReadValueFromPointer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "runDestructors") || (a.runDestructors = function() { + e("'runDestructors' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "new_") || (a.new_ = function() { + e("'new_' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "craftInvokerFunction") || (a.craftInvokerFunction = function() { + e("'craftInvokerFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "embind__requireFunction") || (a.embind__requireFunction = function() { + e("'embind__requireFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "tupleRegistrations") || (a.tupleRegistrations = function() { + e("'tupleRegistrations' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "structRegistrations") || (a.structRegistrations = function() { + e("'structRegistrations' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "genericPointerToWireType") || (a.genericPointerToWireType = function() { + e("'genericPointerToWireType' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "constNoSmartPtrRawPointerToWireType") || (a.constNoSmartPtrRawPointerToWireType = function() { + e("'constNoSmartPtrRawPointerToWireType' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "nonConstNoSmartPtrRawPointerToWireType") || (a.nonConstNoSmartPtrRawPointerToWireType = function() { + e("'nonConstNoSmartPtrRawPointerToWireType' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "init_RegisteredPointer") || (a.init_RegisteredPointer = function() { + e("'init_RegisteredPointer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "RegisteredPointer") || (a.RegisteredPointer = function() { + e("'RegisteredPointer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "RegisteredPointer_getPointee") || (a.RegisteredPointer_getPointee = function() { + e("'RegisteredPointer_getPointee' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "RegisteredPointer_destructor") || (a.RegisteredPointer_destructor = function() { + e("'RegisteredPointer_destructor' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "RegisteredPointer_deleteObject") || (a.RegisteredPointer_deleteObject = function() { + e("'RegisteredPointer_deleteObject' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "RegisteredPointer_fromWireType") || (a.RegisteredPointer_fromWireType = function() { + e("'RegisteredPointer_fromWireType' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "runDestructor") || (a.runDestructor = function() { + e("'runDestructor' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "releaseClassHandle") || (a.releaseClassHandle = function() { + e("'releaseClassHandle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "finalizationGroup") || (a.finalizationGroup = function() { + e("'finalizationGroup' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "detachFinalizer_deps") || (a.detachFinalizer_deps = function() { + e("'detachFinalizer_deps' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "detachFinalizer") || (a.detachFinalizer = function() { + e("'detachFinalizer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "attachFinalizer") || (a.attachFinalizer = function() { + e("'attachFinalizer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "makeClassHandle") || (a.makeClassHandle = function() { + e("'makeClassHandle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "init_ClassHandle") || (a.init_ClassHandle = function() { + e("'init_ClassHandle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "ClassHandle") || (a.ClassHandle = function() { + e("'ClassHandle' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "ClassHandle_isAliasOf") || (a.ClassHandle_isAliasOf = function() { + e("'ClassHandle_isAliasOf' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "throwInstanceAlreadyDeleted") || (a.throwInstanceAlreadyDeleted = function() { + e("'throwInstanceAlreadyDeleted' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "ClassHandle_clone") || (a.ClassHandle_clone = function() { + e("'ClassHandle_clone' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "ClassHandle_delete") || (a.ClassHandle_delete = function() { + e("'ClassHandle_delete' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "deletionQueue") || (a.deletionQueue = function() { + e("'deletionQueue' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "ClassHandle_isDeleted") || (a.ClassHandle_isDeleted = function() { + e("'ClassHandle_isDeleted' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "ClassHandle_deleteLater") || (a.ClassHandle_deleteLater = function() { + e("'ClassHandle_deleteLater' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "flushPendingDeletes") || (a.flushPendingDeletes = function() { + e("'flushPendingDeletes' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "delayFunction") || (a.delayFunction = function() { + e("'delayFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "setDelayFunction") || (a.setDelayFunction = function() { + e("'setDelayFunction' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "RegisteredClass") || (a.RegisteredClass = function() { + e("'RegisteredClass' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "shallowCopyInternalPointer") || (a.shallowCopyInternalPointer = function() { + e("'shallowCopyInternalPointer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "downcastPointer") || (a.downcastPointer = function() { + e("'downcastPointer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "upcastPointer") || (a.upcastPointer = function() { + e("'upcastPointer' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "validateThis") || (a.validateThis = function() { + e("'validateThis' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "char_0") || (a.char_0 = function() { + e("'char_0' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "char_9") || (a.char_9 = function() { + e("'char_9' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "makeLegalFunctionName") || (a.makeLegalFunctionName = function() { + e("'makeLegalFunctionName' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "warnOnce") || (a.warnOnce = function() { + e("'warnOnce' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "stackSave") || (a.stackSave = function() { + e("'stackSave' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "stackRestore") || (a.stackRestore = function() { + e("'stackRestore' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "stackAlloc") || (a.stackAlloc = function() { + e("'stackAlloc' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "AsciiToString") || (a.AsciiToString = function() { + e("'AsciiToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "stringToAscii") || (a.stringToAscii = function() { + e("'stringToAscii' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "UTF16ToString") || (a.UTF16ToString = function() { + e("'UTF16ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "stringToUTF16") || (a.stringToUTF16 = function() { + e("'stringToUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "lengthBytesUTF16") || (a.lengthBytesUTF16 = function() { + e("'lengthBytesUTF16' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "UTF32ToString") || (a.UTF32ToString = function() { + e("'UTF32ToString' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "stringToUTF32") || (a.stringToUTF32 = function() { + e("'stringToUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "lengthBytesUTF32") || (a.lengthBytesUTF32 = function() { + e("'lengthBytesUTF32' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "allocateUTF8") || (a.allocateUTF8 = function() { + e("'allocateUTF8' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +Object.getOwnPropertyDescriptor(a, "allocateUTF8OnStack") || (a.allocateUTF8OnStack = function() { + e("'allocateUTF8OnStack' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}); +a.writeStackCookie = Ja; +a.checkStackCookie = La; +Object.getOwnPropertyDescriptor(a, "ALLOC_NORMAL") || Object.defineProperty(a, "ALLOC_NORMAL", {configurable:!0, get:function() { + e("'ALLOC_NORMAL' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}}); +Object.getOwnPropertyDescriptor(a, "ALLOC_STACK") || Object.defineProperty(a, "ALLOC_STACK", {configurable:!0, get:function() { + e("'ALLOC_STACK' was not exported. add it to EXTRA_EXPORTED_RUNTIME_METHODS (see the FAQ)"); +}}); +var Sc; +Ua = function Tc() { + Sc || Uc(); + Sc || (Ua = Tc); +}; +function Uc() { + function b() { + if (!Sc && (Sc = !0, a.calledRun = !0, !pa)) { + La(); + assert(!Sa); + Sa = !0; + if (!a.noFSInit && !Yb) { + assert(!Yb, "FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"); + Yb = !0; + Xb(); + a.stdin = a.stdin; + a.stdout = a.stdout; + a.stderr = a.stderr; + a.stdin ? ac("stdin", a.stdin) : Tb("/dev/tty", "/dev/stdin"); + a.stdout ? ac("stdout", null, a.stdout) : Tb("/dev/tty", "/dev/stdout"); + a.stderr ? ac("stderr", null, a.stderr) : Tb("/dev/tty1", "/dev/stderr"); + var c = Ub("/dev/stdin", 0), d = Ub("/dev/stdout", 1), f = Ub("/dev/stderr", 1); + assert(0 === c.fd, "invalid handle for stdin (" + c.fd + ")"); + assert(1 === d.fd, "invalid handle for stdout (" + d.fd + ")"); + assert(2 === f.fd, "invalid handle for stderr (" + f.fd + ")"); + } + cb(Pa); + La(); + Db = !1; + cb(Qa); + aa(a); + if (a.onRuntimeInitialized) { + a.onRuntimeInitialized(); + } + assert(!a._main, 'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'); + La(); + if (a.postRun) { + for ("function" == typeof a.postRun && (a.postRun = [a.postRun]); a.postRun.length;) { + c = a.postRun.shift(), Ra.unshift(c); + } + } + cb(Ra); + } + } + if (!(0 < D)) { + Rc(); + Ja(); + if (a.preRun) { + for ("function" == typeof a.preRun && (a.preRun = [a.preRun]); a.preRun.length;) { + Ta(); + } + } + cb(Oa); + 0 < D || (a.setStatus ? (a.setStatus("Running..."), setTimeout(function() { + setTimeout(function() { + a.setStatus(""); + }, 1); + b(); + }, 1)) : b(), La()); + } +} +a.run = Uc; +if (a.preInit) { + for ("function" == typeof a.preInit && (a.preInit = [a.preInit]); 0 < a.preInit.length;) { + a.preInit.pop()(); + } +} +Uc(); + + + + return Module.ready +} +); +})(); +export default Module; \ No newline at end of file diff --git a/codecs/basis/enc/basis_enc.wasm b/codecs/basis/enc/basis_enc.wasm new file mode 100755 index 00000000..04100baf Binary files /dev/null and b/codecs/basis/enc/basis_enc.wasm differ diff --git a/codecs/basis/package.json b/codecs/basis/package.json new file mode 100644 index 00000000..37fdf439 --- /dev/null +++ b/codecs/basis/package.json @@ -0,0 +1,5 @@ +{ + "scripts": { + "build": "../build-cpp.sh" + } +}