From 14833ba0e14cf078837954f686f7e5744427ef9a Mon Sep 17 00:00:00 2001 From: Laurent Meyer <94935904+laurentmmeyer@users.noreply.github.com> Date: Wed, 1 Jan 2025 23:38:31 +0100 Subject: [PATCH 1/3] F!!: very experimental integration of the work of @jkrimmer - seems to work. One PDF file (cannot be disclosed) is crashing and worker seems to be fine as well --- src/lib/background-worker.js | 120 +- src/lib/gs-worker.js | 5442 ---------------------------------- src/lib/gs-worker.wasm | Bin 13987253 -> 0 bytes src/lib/gs.js | 2788 +++++++++++++++++ src/lib/gs.wasm | Bin 0 -> 28400600 bytes 5 files changed, 2862 insertions(+), 5488 deletions(-) delete mode 100644 src/lib/gs-worker.js delete mode 100644 src/lib/gs-worker.wasm create mode 100644 src/lib/gs.js create mode 100755 src/lib/gs.wasm diff --git a/src/lib/background-worker.js b/src/lib/background-worker.js index 74ebf45..a7a0b14 100644 --- a/src/lib/background-worker.js +++ b/src/lib/background-worker.js @@ -1,70 +1,98 @@ -function loadScript() { - import("./gs-worker.js"); -} +import gs from "./gs.js"; -var Module; +let Module; function _GSPS2PDF( dataStruct, responseCallback, + progressCallback, + statusUpdateCallback, ) { // first download the ps data var xhr = new XMLHttpRequest(); xhr.open("GET", dataStruct.psDataURL); xhr.responseType = "arraybuffer"; - xhr.onload = function () { - console.log('onload') + xhr.onload = async function () { // release the URL self.URL.revokeObjectURL(dataStruct.psDataURL); - //set up EMScripten environment + // load module Module = { - preRun: [ - function () { - self.Module.FS.writeFile("input.pdf", new Uint8Array(xhr.response)); - }, - ], - postRun: [ - function () { - var uarray = self.Module.FS.readFile("output.pdf", { encoding: "binary" }); - var blob = new Blob([uarray], { type: "application/octet-stream" }); - var pdfDataURL = self.URL.createObjectURL(blob); - responseCallback({ pdfDataURL: pdfDataURL, url: dataStruct.url }); - }, - ], - arguments: [ - "-sDEVICE=pdfwrite", - "-dCompatibilityLevel=1.4", - "-dPDFSETTINGS=/ebook", - "-DNOPAUSE", - "-dQUIET", - "-dBATCH", - "-sOutputFile=output.pdf", - "input.pdf", - ], - print: function (text) {}, - printErr: function (text) {}, + print: function (text) { + statusUpdateCallback(text); + }, + printErr: function (text) { + statusUpdateCallback("Error: " + text); + console.error(text); + }, + setStatus: function (text) { + if (!Module.setStatus.last) + Module.setStatus.last = {time: Date.now(), text: ""}; + if (text === Module.setStatus.last.text) return; + var m = text.match(/([^(]+)\((\d+(\.\d+)?)\/(\d+)\)/); + var now = Date.now(); + if (m && now - Module.setStatus.last.time < 30) + // if this is a progress update, skip it if too soon + return; + Module.setStatus.last.time = now; + Module.setStatus.last.text = text; + if (m) { + text = m[1]; + if (progressCallback) + progressCallback(false, parseInt(m[2]) * 100, parseInt(m[4]) * 100); + } else { + if (progressCallback) + progressCallback(true, 0, 0); + } + if (statusUpdateCallback) + statusUpdateCallback(text); + }, totalDependencies: 0, - noExitRuntime: 1 }; - // Module.setStatus("Loading Ghostscript..."); - if (!self.Module) { - self.Module = Module; - loadScript(); - } else { - self.Module["calledRun"] = false; - self.Module["postRun"] = Module.postRun; - self.Module["preRun"] = Module.preRun; - self.Module.callMain(); - } + Module.setStatus("Loading Ghostscript..."); + const wasmModule = await gs(); + // copy source file to virtual filesystem + const FS = wasmModule.FS; + FS.writeFile = (path, content) => { + const stream = FS.open(path, 'w'); + FS.write(stream, new Uint8Array([...content]), 0, content.length, 0); + FS.close(stream); + }; + FS.readFile = (path, options = { encoding: 'utf8' }) => { + const stream = FS.open(path, 'r'); + const buffer = new Uint8Array(FS.stat(path).size); + FS.read(stream, buffer, 0, buffer.length, 0); + FS.close(stream); + + return options.encoding === 'utf8' + ? new TextDecoder('utf8').decode(buffer) + : buffer; + }; + FS.writeFile("input.pdf", new Uint8Array(xhr.response)); + // ghostscript arguments and run ghostscript + var gsargs = [ + "-sDEVICE=pdfwrite", + "-dCompatibilityLevel=1.5", + "-dPDFSETTINGS=/ebook", + "-DNOPAUSE", + //"-dQUIET", + "-dBATCH", + "-sOutputFile=output.pdf", + "input.pdf", + ] + wasmModule.callMain(gsargs); + // make output file on virtual filesystem downloadable + var uarray = FS.readFile("output.pdf", {encoding: "binary"}); //Uint8Array + var blob = new Blob([uarray], {type: "application/octet-stream"}); + var pdfDataURL = self.URL.createObjectURL(blob); + responseCallback({pdfDataURL: pdfDataURL, url: dataStruct.url}); }; xhr.send(); } - -self.addEventListener('message', function({data:e}) { +self.addEventListener('message', function ({data: e}) { console.log("message", e) // e.data contains the message sent to the worker. - if (e.target !== 'wasm'){ + if (e.target !== 'wasm') { return; } console.log('Message received from main script', e.data); diff --git a/src/lib/gs-worker.js b/src/lib/gs-worker.js deleted file mode 100644 index cbff913..0000000 --- a/src/lib/gs-worker.js +++ /dev/null @@ -1,5442 +0,0 @@ -// include: shell.js -// The Module object: Our interface to the outside world. We import -// and export values on it. There are various ways Module can be used: -// 1. Not defined. We create it here -// 2. A function parameter, function(Module) { ..generated code.. } -// 3. pre-run appended it, var Module = {}; ..generated code.. -// 4. External script tag defines var Module. -// We need to check if Module already exists (e.g. case 3 above). -// Substitution will be replaced with actual code on later stage of the build, -// this way Closure Compiler will not mangle it (e.g. case 4. above). -// Note that if you want to run closure, and also to use Module -// after the generated code, you will need to define var Module = {}; -// before the code. Then that object will be used in the code, and you -// can continue to use Module afterwards as well. -var Module = typeof Module != 'undefined' ? Module : self.Module ? self.Module : {}; - -// --pre-jses are emitted after the Module integration code, so that they can -// refer to Module (if they choose; they can also define Module) - - -// Sometimes an existing Module object exists with properties -// meant to overwrite the default module functionality. Here -// we collect those properties and reapply _after_ we configure -// the current environment's defaults to avoid having to be so -// defensive during initialization. -var moduleOverrides = Object.assign({}, Module); - -var arguments_ = []; -var thisProgram = './this.program'; -var quit_ = (status, toThrow) => { - throw toThrow; -}; - -// Determine the runtime environment we are in. You can customize this by -// setting the ENVIRONMENT setting at compile time (see settings.js). - -// Attempt to auto-detect the environment -var ENVIRONMENT_IS_WEB = typeof window == 'object'; -var ENVIRONMENT_IS_WORKER = typeof importScripts == 'function'; -// N.b. Electron.js environment is simultaneously a NODE-environment, but -// also a web environment. -var ENVIRONMENT_IS_NODE = typeof process == 'object' && typeof process.versions == 'object' && typeof process.versions.node == 'string'; -var ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER; - -if (Module['ENVIRONMENT']) { - throw new Error('Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)'); -} - -// `/` should be present at the end if `scriptDirectory` is not empty -var scriptDirectory = ''; -function locateFile(path) { - if (Module['locateFile']) { - return Module['locateFile'](path, scriptDirectory); - } - return scriptDirectory + path; -} - -// Hooks that are implemented differently in different runtime environments. -var read_, - readAsync, - readBinary; - -if (ENVIRONMENT_IS_NODE) { - if (typeof process == 'undefined' || !process.release || process.release.name !== 'node') throw new Error('not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)'); - - var nodeVersion = process.versions.node; - var numericVersion = nodeVersion.split('.').slice(0, 3); - numericVersion = (numericVersion[0] * 10000) + (numericVersion[1] * 100) + (numericVersion[2].split('-')[0] * 1); - var minVersion = 160000; - if (numericVersion < 160000) { - throw new Error('This emscripten-generated code requires node v16.0.0 (detected v' + nodeVersion + ')'); - } - - // `require()` is no-op in an ESM module, use `createRequire()` to construct - // the require()` function. This is only necessary for multi-environment - // builds, `-sENVIRONMENT=node` emits a static import declaration instead. - // TODO: Swap all `require()`'s with `import()`'s? - // These modules will usually be used on Node.js. Load them eagerly to avoid - // the complexity of lazy-loading. - var fs = require('fs'); - var nodePath = require('path'); - - if (ENVIRONMENT_IS_WORKER) { - scriptDirectory = nodePath.dirname(scriptDirectory) + '/'; - } else { - scriptDirectory = __dirname + '/'; - } - -// include: node_shell_read.js -read_ = (filename, binary) => { - // We need to re-wrap `file://` strings to URLs. Normalizing isn't - // necessary in that case, the path should already be absolute. - filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename); - return fs.readFileSync(filename, binary ? undefined : 'utf8'); -}; - -readBinary = (filename) => { - var ret = read_(filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - assert(ret.buffer); - return ret; -}; - -readAsync = (filename, onload, onerror, binary = true) => { - // See the comment in the `read_` function. - filename = isFileURI(filename) ? new URL(filename) : nodePath.normalize(filename); - fs.readFile(filename, binary ? undefined : 'utf8', (err, data) => { - if (err) onerror(err); - else onload(binary ? data.buffer : data); - }); -}; -// end include: node_shell_read.js - if (!Module['thisProgram'] && process.argv.length > 1) { - thisProgram = process.argv[1].replace(/\\/g, '/'); - } - - arguments_ = process.argv.slice(2); - - if (typeof module != 'undefined') { - module['exports'] = Module; - } - - process.on('uncaughtException', (ex) => { - // suppress ExitStatus exceptions from showing an error - if (ex !== 'unwind' && !(ex instanceof ExitStatus) && !(ex.context instanceof ExitStatus)) { - throw ex; - } - }); - - quit_ = (status, toThrow) => { - process.exitCode = status; - throw toThrow; - }; - -} else -if (ENVIRONMENT_IS_SHELL) { - - if ((typeof process == 'object' && typeof require === 'function') || typeof window == 'object' || typeof importScripts == 'function') throw new 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?)'); - - if (typeof read != 'undefined') { - read_ = read; - } - - readBinary = (f) => { - if (typeof readbuffer == 'function') { - return new Uint8Array(readbuffer(f)); - } - let data = read(f, 'binary'); - assert(typeof data == 'object'); - return data; - }; - - readAsync = (f, onload, onerror) => { - setTimeout(() => onload(readBinary(f))); - }; - - if (typeof clearTimeout == 'undefined') { - globalThis.clearTimeout = (id) => {}; - } - - if (typeof setTimeout == 'undefined') { - // spidermonkey lacks setTimeout but we use it above in readAsync. - globalThis.setTimeout = (f) => (typeof f == 'function') ? f() : abort(); - } - - if (typeof scriptArgs != 'undefined') { - arguments_ = scriptArgs; - } else if (typeof arguments != 'undefined') { - arguments_ = arguments; - } - - if (typeof quit == 'function') { - quit_ = (status, toThrow) => { - // Unlike node which has process.exitCode, d8 has no such mechanism. So we - // have no way to set the exit code and then let the program exit with - // that code when it naturally stops running (say, when all setTimeouts - // have completed). For that reason, we must call `quit` - the only way to - // set the exit code - but quit also halts immediately. To increase - // consistency with node (and the web) we schedule the actual quit call - // using a setTimeout to give the current stack and any exception handlers - // a chance to run. This enables features such as addOnPostRun (which - // expected to be able to run code after main returns). - setTimeout(() => { - if (!(toThrow instanceof ExitStatus)) { - let toLog = toThrow; - if (toThrow && typeof toThrow == 'object' && toThrow.stack) { - toLog = [toThrow, toThrow.stack]; - } - err(`exiting due to exception: ${toLog}`); - } - quit(status); - }); - throw toThrow; - }; - } - - if (typeof print != 'undefined') { - // Prefer to use print/printErr where they exist, as they usually work better. - if (typeof console == 'undefined') console = /** @type{!Console} */({}); - console.log = /** @type{!function(this:Console, ...*): undefined} */ (print); - console.warn = console.error = /** @type{!function(this:Console, ...*): undefined} */ (typeof printErr != 'undefined' ? printErr : print); - } - -} else - -// Note that this includes Node.js workers when relevant (pthreads is enabled). -// Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and -// ENVIRONMENT_IS_NODE. -if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) { - if (ENVIRONMENT_IS_WORKER) { // Check worker, not web, since window could be polyfilled - scriptDirectory = self.location.href; - } else if (typeof document != 'undefined' && document.currentScript) { // web - scriptDirectory = document.currentScript.src; - } - // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them. - // otherwise, slice off the final part of the url to find the script directory. - // if scriptDirectory does not contain a slash, lastIndexOf will return -1, - // and scriptDirectory will correctly be replaced with an empty string. - // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #), - // they are removed because they could contain a slash. - if (scriptDirectory.startsWith('blob:')) { - scriptDirectory = ''; - } else { - scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, '').lastIndexOf('/')+1); - } - - if (!(typeof window == 'object' || typeof importScripts == 'function')) throw new 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?)'); - - // Differentiate the Web Worker from the Node Worker case, as reading must - // be done differently. - { -// include: web_or_worker_shell_read.js -read_ = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.send(null); - return xhr.responseText; - } - - if (ENVIRONMENT_IS_WORKER) { - readBinary = (url) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - xhr.responseType = 'arraybuffer'; - xhr.send(null); - return new Uint8Array(/** @type{!ArrayBuffer} */(xhr.response)); - }; - } - - readAsync = (url, onload, onerror) => { - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, true); - xhr.responseType = 'arraybuffer'; - xhr.onload = () => { - if (xhr.status == 200 || (xhr.status == 0 && xhr.response)) { // file URLs can return 0 - onload(xhr.response); - return; - } - onerror(); - }; - xhr.onerror = onerror; - xhr.send(null); - } - -// end include: web_or_worker_shell_read.js - } -} else -{ - throw new Error('environment detection error'); -} - -var out = Module['print'] || console.log.bind(console); -var err = Module['printErr'] || console.error.bind(console); - -// Merge back in the overrides -Object.assign(Module, moduleOverrides); -// Free the object hierarchy contained in the overrides, this lets the GC -// reclaim data used. -moduleOverrides = null; -checkIncomingModuleAPI(); - -// Emit code to handle expected values on the Module object. This applies Module.x -// to the proper local x. This has two benefits: first, we only emit it if it is -// expected to arrive, and second, by using a local everywhere else that can be -// minified. - -if (Module['arguments']) arguments_ = Module['arguments'];legacyModuleProp('arguments', 'arguments_'); - -if (Module['thisProgram']) thisProgram = Module['thisProgram'];legacyModuleProp('thisProgram', 'thisProgram'); - -if (Module['quit']) quit_ = Module['quit'];legacyModuleProp('quit', 'quit_'); - -// perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message -// Assertions on removed incoming Module JS APIs. -assert(typeof Module['memoryInitializerPrefixURL'] == 'undefined', 'Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['pthreadMainPrefixURL'] == 'undefined', 'Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['cdInitializerPrefixURL'] == 'undefined', 'Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['filePackagePrefixURL'] == 'undefined', 'Module.filePackagePrefixURL option was removed, use Module.locateFile instead'); -assert(typeof Module['read'] == 'undefined', 'Module.read option was removed (modify read_ in JS)'); -assert(typeof Module['readAsync'] == 'undefined', 'Module.readAsync option was removed (modify readAsync in JS)'); -assert(typeof Module['readBinary'] == 'undefined', 'Module.readBinary option was removed (modify readBinary in JS)'); -assert(typeof Module['setWindowTitle'] == 'undefined', 'Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)'); -assert(typeof Module['TOTAL_MEMORY'] == 'undefined', 'Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY'); -legacyModuleProp('asm', 'wasmExports'); -legacyModuleProp('read', 'read_'); -legacyModuleProp('readAsync', 'readAsync'); -legacyModuleProp('readBinary', 'readBinary'); -legacyModuleProp('setWindowTitle', 'setWindowTitle'); -var IDBFS = 'IDBFS is no longer included by default; build with -lidbfs.js'; -var PROXYFS = 'PROXYFS is no longer included by default; build with -lproxyfs.js'; -var WORKERFS = 'WORKERFS is no longer included by default; build with -lworkerfs.js'; -var FETCHFS = 'FETCHFS is no longer included by default; build with -lfetchfs.js'; -var ICASEFS = 'ICASEFS is no longer included by default; build with -licasefs.js'; -var JSFILEFS = 'JSFILEFS is no longer included by default; build with -ljsfilefs.js'; -var OPFS = 'OPFS is no longer included by default; build with -lopfs.js'; - -var NODEFS = 'NODEFS is no longer included by default; build with -lnodefs.js'; - -assert(!ENVIRONMENT_IS_SHELL, 'shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable.'); - -// end include: shell.js - -// include: preamble.js -// === Preamble library stuff === - -// Documentation for the public APIs defined in this file must be updated in: -// site/source/docs/api_reference/preamble.js.rst -// A prebuilt local version of the documentation is available at: -// site/build/text/docs/api_reference/preamble.js.txt -// You can also build docs locally as HTML or other formats in site/ -// An online HTML version (which may be of a different version of Emscripten) -// is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html - -var wasmBinary; -if (Module['wasmBinary']) wasmBinary = Module['wasmBinary'];legacyModuleProp('wasmBinary', 'wasmBinary'); - -if (typeof WebAssembly != 'object') { - err('no native wasm support detected'); -} - -// Wasm globals - -var wasmMemory; - -//======================================== -// Runtime essentials -//======================================== - -// whether we are quitting the application. no code should run after this. -// set in exit() and abort() -var ABORT = false; - -// set by exit() and abort(). Passed to 'onExit' handler. -// NOTE: This is also used as the process return code code in shell environments -// but only when noExitRuntime is false. -var EXITSTATUS; - -// In STRICT mode, we only define assert() when ASSERTIONS is set. i.e. we -// don't define it at all in release modes. This matches the behaviour of -// MINIMAL_RUNTIME. -// TODO(sbc): Make this the default even without STRICT enabled. -/** @type {function(*, string=)} */ -function assert(condition, text) { - if (!condition) { - abort('Assertion failed' + (text ? ': ' + text : '')); - } -} - -// We used to include malloc/free by default in the past. Show a helpful error in -// builds with assertions. - -// Memory management - -var HEAP, -/** @type {!Int8Array} */ - HEAP8, -/** @type {!Uint8Array} */ - HEAPU8, -/** @type {!Int16Array} */ - HEAP16, -/** @type {!Uint16Array} */ - HEAPU16, -/** @type {!Int32Array} */ - HEAP32, -/** @type {!Uint32Array} */ - HEAPU32, -/** @type {!Float32Array} */ - HEAPF32, -/** @type {!Float64Array} */ - HEAPF64; - -// include: runtime_shared.js -function updateMemoryViews() { - var b = wasmMemory.buffer; - Module['HEAP8'] = HEAP8 = new Int8Array(b); - Module['HEAP16'] = HEAP16 = new Int16Array(b); - Module['HEAPU8'] = HEAPU8 = new Uint8Array(b); - Module['HEAPU16'] = HEAPU16 = new Uint16Array(b); - Module['HEAP32'] = HEAP32 = new Int32Array(b); - Module['HEAPU32'] = HEAPU32 = new Uint32Array(b); - Module['HEAPF32'] = HEAPF32 = new Float32Array(b); - Module['HEAPF64'] = HEAPF64 = new Float64Array(b); -} -// end include: runtime_shared.js -assert(!Module['STACK_SIZE'], 'STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time') - -assert(typeof Int32Array != 'undefined' && typeof Float64Array !== 'undefined' && Int32Array.prototype.subarray != undefined && Int32Array.prototype.set != undefined, - 'JS engine does not provide full typed array support'); - -// If memory is defined in wasm, the user can't provide it, or set INITIAL_MEMORY -assert(!Module['wasmMemory'], 'Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally'); -assert(!Module['INITIAL_MEMORY'], 'Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically'); - -// include: runtime_stack_check.js -// Initializes the stack cookie. Called at the startup of main and at the startup of each thread in pthreads mode. -function writeStackCookie() { - var max = _emscripten_stack_get_end(); - assert((max & 3) == 0); - // If the stack ends at address zero we write our cookies 4 bytes into the - // stack. This prevents interference with SAFE_HEAP and ASAN which also - // monitor writes to address zero. - if (max == 0) { - max += 4; - } - // The stack grow downwards towards _emscripten_stack_get_end. - // We write cookies to the final two words in the stack and detect if they are - // ever overwritten. - HEAPU32[((max)>>2)] = 0x02135467; - HEAPU32[(((max)+(4))>>2)] = 0x89BACDFE; - // Also test the global address 0 for integrity. - HEAPU32[((0)>>2)] = 1668509029; -} - -function checkStackCookie() { - if (ABORT) return; - var max = _emscripten_stack_get_end(); - // See writeStackCookie(). - if (max == 0) { - max += 4; - } - var cookie1 = HEAPU32[((max)>>2)]; - var cookie2 = HEAPU32[(((max)+(4))>>2)]; - if (cookie1 != 0x02135467 || cookie2 != 0x89BACDFE) { - abort(`Stack overflow! Stack cookie has been overwritten at ${ptrToString(max)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ptrToString(cookie2)} ${ptrToString(cookie1)}`); - } - // Also test the global address 0 for integrity. - if (HEAPU32[((0)>>2)] != 0x63736d65 /* 'emsc' */) { - abort('Runtime error: The application has corrupted its heap memory area (address zero)!'); - } -} -// end include: runtime_stack_check.js -// include: runtime_assertions.js -// Endianness check -(function() { - var h16 = new Int16Array(1); - var h8 = new Int8Array(h16.buffer); - h16[0] = 0x6373; - if (h8[0] !== 0x73 || h8[1] !== 0x63) throw 'Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)'; -})(); - -// end include: runtime_assertions.js -var __ATPRERUN__ = []; // functions called before the runtime is initialized -var __ATINIT__ = []; // functions called during startup -var __ATMAIN__ = []; // functions called when main() is to be run -var __ATEXIT__ = []; // functions called during shutdown -var __ATPOSTRUN__ = []; // functions called after the main() is called - -var runtimeInitialized = false; - -var runtimeExited = false; - -function preRun() { - if (Module['preRun']) { - if (typeof Module['preRun'] == 'function') Module['preRun'] = [Module['preRun']]; - while (Module['preRun'].length) { - addOnPreRun(Module['preRun'].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); -} - -function initRuntime() { - assert(!runtimeInitialized); - runtimeInitialized = true; - - checkStackCookie(); - - -if (!Module['noFSInit'] && !FS.init.initialized) - FS.init(); -FS.ignorePermissions = false; - -TTY.init(); - callRuntimeCallbacks(__ATINIT__); -} - -function preMain() { - checkStackCookie(); - - callRuntimeCallbacks(__ATMAIN__); -} - -function exitRuntime() { - assert(!runtimeExited); - checkStackCookie(); - ___funcs_on_exit(); // Native atexit() functions - callRuntimeCallbacks(__ATEXIT__); - FS.quit(); -TTY.shutdown(); - runtimeExited = true; -} - -function postRun() { - checkStackCookie(); - - if (Module['postRun']) { - if (typeof Module['postRun'] == 'function') Module['postRun'] = [Module['postRun']]; - while (Module['postRun'].length) { - addOnPostRun(Module['postRun'].shift()); - } - } - - callRuntimeCallbacks(__ATPOSTRUN__); -} - -function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); -} - -function addOnInit(cb) { - __ATINIT__.unshift(cb); -} - -function addOnPreMain(cb) { - __ATMAIN__.unshift(cb); -} - -function addOnExit(cb) { - __ATEXIT__.unshift(cb); -} - -function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); -} - -// include: runtime_math.js -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/fround - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/clz32 - -// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/trunc - -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'); -// end include: runtime_math.js -// A counter of dependencies for calling run(). If we need to -// do asynchronous work before running, increment this and -// decrement it. Incrementing must happen in a place like -// Module.preRun (used by emcc to add file preloading). -// Note that you can add dependencies in preRun, even though -// it happens right before run - run will be postponed until -// the dependencies are met. -var runDependencies = 0; -var runDependencyWatcher = null; -var dependenciesFulfilled = null; // overridden to take different actions when all run dependencies are fulfilled -var runDependencyTracking = {}; - -function getUniqueRunDependency(id) { - var orig = id; - while (1) { - if (!runDependencyTracking[id]) return id; - id = orig + Math.random(); - } -} - -function addRunDependency(id) { - runDependencies++; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(!runDependencyTracking[id]); - runDependencyTracking[id] = 1; - if (runDependencyWatcher === null && typeof setInterval != 'undefined') { - // Check for missing dependencies every few seconds - runDependencyWatcher = setInterval(() => { - if (ABORT) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - return; - } - var shown = false; - for (var dep in runDependencyTracking) { - if (!shown) { - shown = true; - err('still waiting on run dependencies:'); - } - err(`dependency: ${dep}`); - } - if (shown) { - err('(end of list)'); - } - }, 10000); - } - } else { - err('warning: run dependency added without ID'); - } -} - -function removeRunDependency(id) { - runDependencies--; - - Module['monitorRunDependencies']?.(runDependencies); - - if (id) { - assert(runDependencyTracking[id]); - delete runDependencyTracking[id]; - } else { - err('warning: run dependency removed without ID'); - } - if (runDependencies == 0) { - if (runDependencyWatcher !== null) { - clearInterval(runDependencyWatcher); - runDependencyWatcher = null; - } - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); // can add another dependenciesFulfilled - } - } -} - -/** @param {string|number=} what */ -function abort(what) { - Module['onAbort']?.(what); - - what = 'Aborted(' + what + ')'; - // TODO(sbc): Should we remove printing and leave it up to whoever - // catches the exception? - err(what); - - ABORT = true; - EXITSTATUS = 1; - - // Use a wasm runtime error, because a JS error might be seen as a foreign - // exception, which means we'd run destructors on it. We need the error to - // simply make the program stop. - // FIXME This approach does not work in Wasm EH because it currently does not assume - // all RuntimeErrors are from traps; it decides whether a RuntimeError is from - // a trap or not based on a hidden field within the object. So at the moment - // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that - // allows this in the wasm spec. - - // Suppress closure compiler warning here. Closure compiler's builtin extern - // definition for WebAssembly.RuntimeError claims it takes no arguments even - // though it can. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed. - /** @suppress {checkTypes} */ - var e = new WebAssembly.RuntimeError(what); - - // Throw the error whether or not MODULARIZE is set because abort is used - // in code paths apart from instantiation where an exception is expected - // to be thrown when abort is called. - throw e; -} - -// include: memoryprofiler.js -// end include: memoryprofiler.js -// include: URIUtils.js -// Prefix of data URIs emitted by SINGLE_FILE and related options. -var dataURIPrefix = 'data:application/octet-stream;base64,'; - -/** - * Indicates whether filename is a base64 data URI. - * @noinline - */ -var isDataURI = (filename) => filename.startsWith(dataURIPrefix); - -/** - * Indicates whether filename is delivered via file protocol (as opposed to http/https) - * @noinline - */ -var isFileURI = (filename) => filename.startsWith('file://'); -// end include: URIUtils.js -function createExportWrapper(name) { - return (...args) => { - assert(runtimeInitialized, `native function \`${name}\` called before runtime initialization`); - assert(!runtimeExited, `native function \`${name}\` called after runtime exit (use NO_EXIT_RUNTIME to keep it alive after main() exits)`); - var f = wasmExports[name]; - assert(f, `exported native function \`${name}\` not found`); - return f(...args); - }; -} - -// include: runtime_exceptions.js -// end include: runtime_exceptions.js -var wasmBinaryFile; - wasmBinaryFile = "https://cdn-wasm.b-cdn.net/gs-worker.wasm"; - // if (!isDataURI(wasmBinaryFile)) { - // wasmBinaryFile = locateFile(wasmBinaryFile); - // } - -function getBinarySync(file) { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - if (readBinary) { - return readBinary(file); - } - throw 'both async and sync fetching of the wasm failed'; -} - -function getBinaryPromise(binaryFile) { - // If we don't have the binary yet, try to load it asynchronously. - // Fetch has some additional restrictions over XHR, like it can't be used on a file:// url. - // See https://github.com/github/fetch/pull/92#issuecomment-140665932 - // Cordova or Electron apps are typically loaded from a file:// url. - // So use fetch if it is available and the url is not a file, otherwise fall back to XHR. - if (!wasmBinary - && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) { - if (typeof fetch == 'function' - && !isFileURI(binaryFile) - ) { - return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { - if (!response['ok']) { - throw `failed to load wasm binary file at '${binaryFile}'`; - } - return response['arrayBuffer'](); - }).catch(() => getBinarySync(binaryFile)); - } - else if (readAsync) { - // fetch is not available or url is file => try XHR (readAsync uses XHR internally) - return new Promise((resolve, reject) => { - readAsync(binaryFile, (response) => resolve(new Uint8Array(/** @type{!ArrayBuffer} */(response))), reject) - }); - } - } - - // Otherwise, getBinarySync should be able to get it synchronously - return Promise.resolve().then(() => getBinarySync(binaryFile)); -} - -function instantiateArrayBuffer(binaryFile, imports, receiver) { - return getBinaryPromise(binaryFile).then((binary) => { - return WebAssembly.instantiate(binary, imports); - }).then(receiver, (reason) => { - err(`failed to asynchronously prepare wasm: ${reason}`); - - // Warn on some common problems. - if (isFileURI(wasmBinaryFile)) { - err(`warning: Loading from a file URI (${wasmBinaryFile}) 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`); - } - abort(reason); - }); -} - -function instantiateAsync(binary, binaryFile, imports, callback) { - if (!binary && - typeof WebAssembly.instantiateStreaming == 'function' && - !isDataURI(binaryFile) && - // Don't use streaming for file:// delivered objects in a webview, fetch them synchronously. - !isFileURI(binaryFile) && - // Avoid instantiateStreaming() on Node.js environment for now, as while - // Node.js v18.1.0 implements it, it does not have a full fetch() - // implementation yet. - // - // Reference: - // https://github.com/emscripten-core/emscripten/pull/16917 - !ENVIRONMENT_IS_NODE && - typeof fetch == 'function') { - return fetch(binaryFile, { credentials: 'same-origin' }).then((response) => { - // Suppress closure warning here since the upstream definition for - // instantiateStreaming only allows Promise rather than - // an actual Response. - // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure is fixed. - /** @suppress {checkTypes} */ - var result = WebAssembly.instantiateStreaming(response, imports); - - return result.then( - callback, - function(reason) { - // We expect the most common failure cause to be a bad MIME type for the binary, - // in which case falling back to ArrayBuffer instantiation should work. - err(`wasm streaming compile failed: ${reason}`); - err('falling back to ArrayBuffer instantiation'); - return instantiateArrayBuffer(binaryFile, imports, callback); - }); - }); - } - return instantiateArrayBuffer(binaryFile, imports, callback); -} - -// Create the wasm instance. -// Receives the wasm imports, returns the exports. -function createWasm() { - // prepare imports - var info = { - 'env': wasmImports, - 'wasi_snapshot_preview1': wasmImports, - }; - // Load the wasm module and create an instance of using native support in the JS engine. - // handle a generated wasm instance, receiving its exports and - // performing other necessary setup - /** @param {WebAssembly.Module=} module*/ - function receiveInstance(instance, module) { - wasmExports = instance.exports; - - - - wasmMemory = wasmExports['memory']; - - assert(wasmMemory, 'memory not found in wasm exports'); - updateMemoryViews(); - - wasmTable = wasmExports['__indirect_function_table']; - - assert(wasmTable, 'table not found in wasm exports'); - - addOnInit(wasmExports['__wasm_call_ctors']); - - removeRunDependency('wasm-instantiate'); - return wasmExports; - } - // wait for the pthread pool (if any) - addRunDependency('wasm-instantiate'); - - // Prefer streaming instantiation if available. - // Async compilation can be confusing when an error on the page overwrites Module - // (for example, if the order of elements is wrong, and the one defining Module is - // later), so we save Module and check it later. - var trueModule = Module; - function receiveInstantiationResult(result) { - // 'result' is a ResultObject object which has both the module and instance. - // receiveInstance() will swap in the exports (to Module.asm) so they can be called - assert(Module === trueModule, 'the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?'); - trueModule = null; - // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line. - // When the regression is fixed, can restore the above PTHREADS-enabled path. - receiveInstance(result['instance']); - } - - // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback - // to manually instantiate the Wasm module themselves. This allows pages to - // run the instantiation parallel to any other async startup actions they are - // performing. - // Also pthreads and wasm workers initialize the wasm instance through this - // path. - if (Module['instantiateWasm']) { - - try { - return Module['instantiateWasm'](info, receiveInstance); - } catch(e) { - err(`Module.instantiateWasm callback failed with error: ${e}`); - return false; - } - } - - instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult); - return {}; // no exports yet; we'll fill them in later -} - -// Globals used by JS i64 conversions (see makeSetValue) -var tempDouble; -var tempI64; - -// include: runtime_debug.js -function legacyModuleProp(prop, newName, incoming=true) { - if (!Object.getOwnPropertyDescriptor(Module, prop)) { - Object.defineProperty(Module, prop, { - configurable: true, - get() { - let extra = incoming ? ' (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)' : ''; - abort(`\`Module.${prop}\` has been replaced by \`${newName}\`` + extra); - - } - }); - } -} - -function ignoredModuleProp(prop) { - if (Object.getOwnPropertyDescriptor(Module, prop)) { - abort(`\`Module.${prop}\` was supplied but \`${prop}\` not included in INCOMING_MODULE_JS_API`); - } -} - -// forcing the filesystem exports a few things by default -function isExportedByForceFilesystem(name) { - return name === 'FS_createPath' || - name === 'FS_createDataFile' || - name === 'FS_createPreloadedFile' || - name === 'FS_unlink' || - name === 'addRunDependency' || - // The old FS has some functionality that WasmFS lacks. - name === 'FS_createLazyFile' || - name === 'FS_createDevice' || - name === 'removeRunDependency'; -} - -function missingGlobal(sym, msg) { - if (typeof globalThis !== 'undefined') { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - warnOnce(`\`${sym}\` is not longer defined by emscripten. ${msg}`); - return undefined; - } - }); - } -} - -missingGlobal('buffer', 'Please use HEAP8.buffer or wasmMemory.buffer'); -missingGlobal('asm', 'Please use wasmExports instead'); - -function missingLibrarySymbol(sym) { - if (typeof globalThis !== 'undefined' && !Object.getOwnPropertyDescriptor(globalThis, sym)) { - Object.defineProperty(globalThis, sym, { - configurable: true, - get() { - // Can't `abort()` here because it would break code that does runtime - // checks. e.g. `if (typeof SDL === 'undefined')`. - var msg = `\`${sym}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`; - // DEFAULT_LIBRARY_FUNCS_TO_INCLUDE requires the name as it appears in - // library.js, which means $name for a JS name with no prefix, or name - // for a JS name like _name. - var librarySymbol = sym; - if (!librarySymbol.startsWith('_')) { - librarySymbol = '$' + sym; - } - msg += ` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${librarySymbol}')`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - warnOnce(msg); - return undefined; - } - }); - } - // Any symbol that is not included from the JS library is also (by definition) - // not exported on the Module object. - unexportedRuntimeSymbol(sym); -} - -function unexportedRuntimeSymbol(sym) { - if (!Object.getOwnPropertyDescriptor(Module, sym)) { - Object.defineProperty(Module, sym, { - configurable: true, - get() { - var msg = `'${sym}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`; - if (isExportedByForceFilesystem(sym)) { - msg += '. Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you'; - } - abort(msg); - } - }); - } -} - -// Used by XXXXX_DEBUG settings to output debug messages. -function dbg(...args) { - // TODO(sbc): Make this configurable somehow. Its not always convenient for - // logging to show up as warnings. - console.warn(...args); -} -// end include: runtime_debug.js -// === Body === -// end include: preamble.js - - - /** @constructor */ - function ExitStatus(status) { - this.name = 'ExitStatus'; - this.message = `Program terminated with exit(${status})`; - this.status = status; - } - - var callRuntimeCallbacks = (callbacks) => { - while (callbacks.length > 0) { - // Pass the module as the first argument. - callbacks.shift()(Module); - } - }; - - - /** - * @param {number} ptr - * @param {string} type - */ - function getValue(ptr, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': return HEAP8[ptr]; - case 'i8': return HEAP8[ptr]; - case 'i16': return HEAP16[((ptr)>>1)]; - case 'i32': return HEAP32[((ptr)>>2)]; - case 'i64': abort('to do getValue(i64) use WASM_BIGINT'); - case 'float': return HEAPF32[((ptr)>>2)]; - case 'double': return HEAPF64[((ptr)>>3)]; - case '*': return HEAPU32[((ptr)>>2)]; - default: abort(`invalid type for getValue: ${type}`); - } - } - - var noExitRuntime = Module['noExitRuntime'] || false; - - var ptrToString = (ptr) => { - assert(typeof ptr === 'number'); - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - ptr >>>= 0; - return '0x' + ptr.toString(16).padStart(8, '0'); - }; - - - /** - * @param {number} ptr - * @param {number} value - * @param {string} type - */ - function setValue(ptr, value, type = 'i8') { - if (type.endsWith('*')) type = '*'; - switch (type) { - case 'i1': HEAP8[ptr] = value; break; - case 'i8': HEAP8[ptr] = value; break; - case 'i16': HEAP16[((ptr)>>1)] = value; break; - case 'i32': HEAP32[((ptr)>>2)] = value; break; - case 'i64': abort('to do setValue(i64) use WASM_BIGINT'); - case 'float': HEAPF32[((ptr)>>2)] = value; break; - case 'double': HEAPF64[((ptr)>>3)] = value; break; - case '*': HEAPU32[((ptr)>>2)] = value; break; - default: abort(`invalid type for setValue: ${type}`); - } - } - - var warnOnce = (text) => { - warnOnce.shown ||= {}; - if (!warnOnce.shown[text]) { - warnOnce.shown[text] = 1; - if (ENVIRONMENT_IS_NODE) text = 'warning: ' + text; - err(text); - } - }; - - var UTF8Decoder = typeof TextDecoder != 'undefined' ? new TextDecoder('utf8') : undefined; - - /** - * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given - * array that contains uint8 values, returns a copy of that string as a - * Javascript String object. - * heapOrArray is either a regular array, or a JavaScript typed array view. - * @param {number} idx - * @param {number=} maxBytesToRead - * @return {string} - */ - var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => { - var endIdx = idx + maxBytesToRead; - var endPtr = idx; - // TextDecoder needs to know the byte length in advance, it doesn't stop on - // null terminator by itself. Also, use the length info to avoid running tiny - // strings through TextDecoder, since .subarray() allocates garbage. - // (As a tiny code save trick, compare endPtr against endIdx using a negation, - // so that undefined means Infinity) - while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr; - - if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) { - return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr)); - } - var str = ''; - // If building with TextDecoder, we have already computed the string length - // above, so test loop end condition against that - while (idx < endPtr) { - // For UTF8 byte structure, see: - // http://en.wikipedia.org/wiki/UTF-8#Description - // https://www.ietf.org/rfc/rfc2279.txt - // https://tools.ietf.org/html/rfc3629 - var u0 = heapOrArray[idx++]; - if (!(u0 & 0x80)) { str += String.fromCharCode(u0); continue; } - var u1 = heapOrArray[idx++] & 63; - if ((u0 & 0xE0) == 0xC0) { str += String.fromCharCode(((u0 & 31) << 6) | u1); continue; } - var u2 = heapOrArray[idx++] & 63; - if ((u0 & 0xF0) == 0xE0) { - u0 = ((u0 & 15) << 12) | (u1 << 6) | u2; - } else { - if ((u0 & 0xF8) != 0xF0) warnOnce('Invalid UTF-8 leading byte ' + ptrToString(u0) + ' encountered when deserializing a UTF-8 string in wasm memory to a JS string!'); - u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63); - } - - if (u0 < 0x10000) { - str += String.fromCharCode(u0); - } else { - var ch = u0 - 0x10000; - str += String.fromCharCode(0xD800 | (ch >> 10), 0xDC00 | (ch & 0x3FF)); - } - } - return str; - }; - - /** - * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the - * emscripten HEAP, returns a copy of that string as a Javascript String object. - * - * @param {number} ptr - * @param {number=} maxBytesToRead - An optional length that specifies the - * maximum number of bytes to read. You can omit this parameter to scan the - * string until the first 0 byte. If maxBytesToRead is passed, and the string - * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the - * string will cut short at that byte index (i.e. maxBytesToRead will not - * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing - * frequent uses of UTF8ToString() with and without maxBytesToRead may throw - * JS JIT optimizations off, so it is worth to consider consistently using one - * @return {string} - */ - var UTF8ToString = (ptr, maxBytesToRead) => { - assert(typeof ptr == 'number', `UTF8ToString expects a number (got ${typeof ptr})`); - return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ''; - }; - var ___assert_fail = (condition, filename, line, func) => { - abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [filename ? UTF8ToString(filename) : 'unknown filename', line, func ? UTF8ToString(func) : 'unknown function']); - }; - - var PATH = { - isAbs:(path) => path.charAt(0) === '/', - splitPath:(filename) => { - var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/; - return splitPathRe.exec(filename).slice(1); - }, - normalizeArray:(parts, allowAboveRoot) => { - // if the path tries to go above the root, `up` ends up > 0 - var up = 0; - for (var i = parts.length - 1; i >= 0; i--) { - var last = parts[i]; - if (last === '.') { - parts.splice(i, 1); - } else if (last === '..') { - parts.splice(i, 1); - up++; - } else if (up) { - parts.splice(i, 1); - up--; - } - } - // if the path is allowed to go above the root, restore leading ..s - if (allowAboveRoot) { - for (; up; up--) { - parts.unshift('..'); - } - } - return parts; - }, - normalize:(path) => { - var isAbsolute = PATH.isAbs(path), - trailingSlash = path.substr(-1) === '/'; - // Normalize the path - path = PATH.normalizeArray(path.split('/').filter((p) => !!p), !isAbsolute).join('/'); - if (!path && !isAbsolute) { - path = '.'; - } - if (path && trailingSlash) { - path += '/'; - } - return (isAbsolute ? '/' : '') + path; - }, - dirname:(path) => { - var result = PATH.splitPath(path), - root = result[0], - dir = result[1]; - if (!root && !dir) { - // No dirname whatsoever - return '.'; - } - if (dir) { - // It has a dirname, strip trailing slash - dir = dir.substr(0, dir.length - 1); - } - return root + dir; - }, - basename:(path) => { - // EMSCRIPTEN return '/'' for '/', not an empty string - if (path === '/') return '/'; - path = PATH.normalize(path); - path = path.replace(/\/$/, ""); - var lastSlash = path.lastIndexOf('/'); - if (lastSlash === -1) return path; - return path.substr(lastSlash+1); - }, - join:(...paths) => PATH.normalize(paths.join('/')), - join2:(l, r) => PATH.normalize(l + '/' + r), - }; - - var initRandomFill = () => { - if (typeof crypto == 'object' && typeof crypto['getRandomValues'] == 'function') { - // for modern web browsers - return (view) => crypto.getRandomValues(view); - } else - if (ENVIRONMENT_IS_NODE) { - // for nodejs with or without crypto support included - try { - var crypto_module = require('crypto'); - var randomFillSync = crypto_module['randomFillSync']; - if (randomFillSync) { - // nodejs with LTS crypto support - return (view) => crypto_module['randomFillSync'](view); - } - // very old nodejs with the original crypto API - var randomBytes = crypto_module['randomBytes']; - return (view) => ( - view.set(randomBytes(view.byteLength)), - // Return the original view to match modern native implementations. - view - ); - } catch (e) { - // nodejs doesn't have crypto support - } - } - // we couldn't find a proper implementation, as Math.random() is not suitable for /dev/random, see emscripten-core/emscripten/pull/7096 - abort('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: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };'); - }; - var randomFill = (view) => { - // Lazily init on the first invocation. - return (randomFill = initRandomFill())(view); - }; - - - - var PATH_FS = { - resolve:(...args) => { - var resolvedPath = '', - resolvedAbsolute = false; - for (var i = args.length - 1; i >= -1 && !resolvedAbsolute; i--) { - var path = (i >= 0) ? args[i] : FS.cwd(); - // Skip empty and invalid entries - if (typeof path != 'string') { - throw new TypeError('Arguments to path.resolve must be strings'); - } else if (!path) { - return ''; // an invalid portion invalidates the whole thing - } - resolvedPath = path + '/' + resolvedPath; - resolvedAbsolute = PATH.isAbs(path); - } - // At this point the path should be resolved to a full absolute path, but - // handle relative paths to be safe (might happen when process.cwd() fails) - resolvedPath = PATH.normalizeArray(resolvedPath.split('/').filter((p) => !!p), !resolvedAbsolute).join('/'); - return ((resolvedAbsolute ? '/' : '') + resolvedPath) || '.'; - }, - relative:(from, to) => { - from = PATH_FS.resolve(from).substr(1); - to = PATH_FS.resolve(to).substr(1); - function trim(arr) { - var start = 0; - for (; start < arr.length; start++) { - if (arr[start] !== '') break; - } - var end = arr.length - 1; - for (; end >= 0; end--) { - if (arr[end] !== '') break; - } - if (start > end) return []; - return arr.slice(start, end - start + 1); - } - var fromParts = trim(from.split('/')); - var toParts = trim(to.split('/')); - var length = Math.min(fromParts.length, toParts.length); - var samePartsLength = length; - for (var i = 0; i < length; i++) { - if (fromParts[i] !== toParts[i]) { - samePartsLength = i; - break; - } - } - var outputParts = []; - for (var i = samePartsLength; i < fromParts.length; i++) { - outputParts.push('..'); - } - outputParts = outputParts.concat(toParts.slice(samePartsLength)); - return outputParts.join('/'); - }, - }; - - - - var FS_stdin_getChar_buffer = []; - - var lengthBytesUTF8 = (str) => { - var len = 0; - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - var c = str.charCodeAt(i); // possibly a lead surrogate - if (c <= 0x7F) { - len++; - } else if (c <= 0x7FF) { - len += 2; - } else if (c >= 0xD800 && c <= 0xDFFF) { - len += 4; ++i; - } else { - len += 3; - } - } - return len; - }; - - var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => { - assert(typeof str === 'string', `stringToUTF8Array expects a string (got ${typeof str})`); - // Parameter maxBytesToWrite is not optional. Negative values, 0, null, - // undefined and false each don't write out any bytes. - if (!(maxBytesToWrite > 0)) - return 0; - - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; // -1 for string null terminator. - for (var i = 0; i < str.length; ++i) { - // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code - // unit, not a Unicode code point of the character! So decode - // UTF16->UTF32->UTF8. - // See http://unicode.org/faq/utf_bom.html#utf16-3 - // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description - // and https://www.ietf.org/rfc/rfc2279.txt - // and https://tools.ietf.org/html/rfc3629 - var u = str.charCodeAt(i); // possibly a lead surrogate - if (u >= 0xD800 && u <= 0xDFFF) { - var u1 = str.charCodeAt(++i); - u = 0x10000 + ((u & 0x3FF) << 10) | (u1 & 0x3FF); - } - if (u <= 0x7F) { - if (outIdx >= endIdx) break; - heap[outIdx++] = u; - } else if (u <= 0x7FF) { - if (outIdx + 1 >= endIdx) break; - heap[outIdx++] = 0xC0 | (u >> 6); - heap[outIdx++] = 0x80 | (u & 63); - } else if (u <= 0xFFFF) { - if (outIdx + 2 >= endIdx) break; - heap[outIdx++] = 0xE0 | (u >> 12); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } else { - if (outIdx + 3 >= endIdx) break; - if (u > 0x10FFFF) warnOnce('Invalid Unicode code point ' + ptrToString(u) + ' encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF).'); - heap[outIdx++] = 0xF0 | (u >> 18); - heap[outIdx++] = 0x80 | ((u >> 12) & 63); - heap[outIdx++] = 0x80 | ((u >> 6) & 63); - heap[outIdx++] = 0x80 | (u & 63); - } - } - // Null-terminate the pointer to the buffer. - heap[outIdx] = 0; - return outIdx - startIdx; - }; - /** @type {function(string, boolean=, number=)} */ - function intArrayFromString(stringy, dontAddNull, length) { - var len = length > 0 ? length : lengthBytesUTF8(stringy)+1; - var u8array = new Array(len); - var numBytesWritten = stringToUTF8Array(stringy, u8array, 0, u8array.length); - if (dontAddNull) u8array.length = numBytesWritten; - return u8array; - } - var FS_stdin_getChar = () => { - if (!FS_stdin_getChar_buffer.length) { - var result = null; - if (ENVIRONMENT_IS_NODE) { - // we will read data by chunks of BUFSIZE - var BUFSIZE = 256; - var buf = Buffer.alloc(BUFSIZE); - var bytesRead = 0; - - // For some reason we must suppress a closure warning here, even though - // fd definitely exists on process.stdin, and is even the proper way to - // get the fd of stdin, - // https://github.com/nodejs/help/issues/2136#issuecomment-523649904 - // This started to happen after moving this logic out of library_tty.js, - // so it is related to the surrounding code in some unclear manner. - /** @suppress {missingProperties} */ - var fd = process.stdin.fd; - - try { - bytesRead = fs.readSync(fd, buf); - } catch(e) { - // Cross-platform differences: on Windows, reading EOF throws an exception, but on other OSes, - // reading EOF returns 0. Uniformize behavior by treating the EOF exception to return 0. - if (e.toString().includes('EOF')) bytesRead = 0; - else throw e; - } - - if (bytesRead > 0) { - result = buf.slice(0, bytesRead).toString('utf-8'); - } else { - result = null; - } - } else - if (typeof window != 'undefined' && - typeof window.prompt == 'function') { - // Browser. - result = window.prompt('Input: '); // returns null on cancel - if (result !== null) { - result += '\n'; - } - } else if (typeof readline == 'function') { - // Command line. - result = readline(); - if (result !== null) { - result += '\n'; - } - } - if (!result) { - return null; - } - FS_stdin_getChar_buffer = intArrayFromString(result, true); - } - return FS_stdin_getChar_buffer.shift(); - }; - var TTY = { - ttys:[], - init() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // currently, FS.init does not distinguish if process.stdin is a file or TTY - // // device, it always assumes it's a TTY device. because of this, we're forcing - // // process.stdin to UTF8 encoding to at least make stdin reading compatible - // // with text files until FS.init can be refactored. - // process.stdin.setEncoding('utf8'); - // } - }, - shutdown() { - // https://github.com/emscripten-core/emscripten/pull/1555 - // if (ENVIRONMENT_IS_NODE) { - // // inolen: any idea as to why node -e 'process.stdin.read()' wouldn't exit immediately (with process.stdin being a tty)? - // // isaacs: because now it's reading from the stream, you've expressed interest in it, so that read() kicks off a _read() which creates a ReadReq operation - // // inolen: I thought read() in that case was a synchronous operation that just grabbed some amount of buffered data if it exists? - // // isaacs: it is. but it also triggers a _read() call, which calls readStart() on the handle - // // isaacs: do process.stdin.pause() and i'd think it'd probably close the pending call - // process.stdin.pause(); - // } - }, - register(dev, ops) { - TTY.ttys[dev] = { input: [], output: [], ops: ops }; - FS.registerDevice(dev, TTY.stream_ops); - }, - stream_ops:{ - open(stream) { - var tty = TTY.ttys[stream.node.rdev]; - if (!tty) { - throw new FS.ErrnoError(43); - } - stream.tty = tty; - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - stream.tty.ops.fsync(stream.tty); - }, - fsync(stream) { - stream.tty.ops.fsync(stream.tty); - }, - read(stream, buffer, offset, length, pos /* ignored */) { - if (!stream.tty || !stream.tty.ops.get_char) { - throw new FS.ErrnoError(60); - } - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = stream.tty.ops.get_char(stream.tty); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - if (!stream.tty || !stream.tty.ops.put_char) { - throw new FS.ErrnoError(60); - } - try { - for (var i = 0; i < length; i++) { - stream.tty.ops.put_char(stream.tty, buffer[offset+i]); - } - } catch (e) { - throw new FS.ErrnoError(29); - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - }, - }, - default_tty_ops:{ - get_char(tty) { - return FS_stdin_getChar(); - }, - put_char(tty, val) { - if (val === null || val === 10) { - out(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); // val == 0 would cut text output off in the middle. - } - }, - fsync(tty) { - if (tty.output && tty.output.length > 0) { - out(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }, - ioctl_tcgets(tty) { - // typical setting - return { - c_iflag: 25856, - c_oflag: 5, - c_cflag: 191, - c_lflag: 35387, - c_cc: [ - 0x03, 0x1c, 0x7f, 0x15, 0x04, 0x00, 0x01, 0x00, 0x11, 0x13, 0x1a, 0x00, - 0x12, 0x0f, 0x17, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - ] - }; - }, - ioctl_tcsets(tty, optional_actions, data) { - // currently just ignore - return 0; - }, - ioctl_tiocgwinsz(tty) { - return [24, 80]; - }, - }, - default_tty1_ops:{ - put_char(tty, val) { - if (val === null || val === 10) { - err(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } else { - if (val != 0) tty.output.push(val); - } - }, - fsync(tty) { - if (tty.output && tty.output.length > 0) { - err(UTF8ArrayToString(tty.output, 0)); - tty.output = []; - } - }, - }, - }; - - - var zeroMemory = (address, size) => { - HEAPU8.fill(0, address, address + size); - return address; - }; - - var alignMemory = (size, alignment) => { - assert(alignment, "alignment argument is required"); - return Math.ceil(size / alignment) * alignment; - }; - var mmapAlloc = (size) => { - abort('internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported'); - }; - var MEMFS = { - ops_table:null, - mount(mount) { - return MEMFS.createNode(null, '/', 16384 | 511 /* 0777 */, 0); - }, - createNode(parent, name, mode, dev) { - if (FS.isBlkdev(mode) || FS.isFIFO(mode)) { - // no supported - throw new FS.ErrnoError(63); - } - MEMFS.ops_table ||= { - dir: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - lookup: MEMFS.node_ops.lookup, - mknod: MEMFS.node_ops.mknod, - rename: MEMFS.node_ops.rename, - unlink: MEMFS.node_ops.unlink, - rmdir: MEMFS.node_ops.rmdir, - readdir: MEMFS.node_ops.readdir, - symlink: MEMFS.node_ops.symlink - }, - stream: { - llseek: MEMFS.stream_ops.llseek - } - }, - file: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: { - llseek: MEMFS.stream_ops.llseek, - read: MEMFS.stream_ops.read, - write: MEMFS.stream_ops.write, - allocate: MEMFS.stream_ops.allocate, - mmap: MEMFS.stream_ops.mmap, - msync: MEMFS.stream_ops.msync - } - }, - link: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr, - readlink: MEMFS.node_ops.readlink - }, - stream: {} - }, - chrdev: { - node: { - getattr: MEMFS.node_ops.getattr, - setattr: MEMFS.node_ops.setattr - }, - stream: FS.chrdev_stream_ops - } - }; - var node = FS.createNode(parent, name, mode, dev); - if (FS.isDir(node.mode)) { - node.node_ops = MEMFS.ops_table.dir.node; - node.stream_ops = MEMFS.ops_table.dir.stream; - node.contents = {}; - } else if (FS.isFile(node.mode)) { - node.node_ops = MEMFS.ops_table.file.node; - node.stream_ops = MEMFS.ops_table.file.stream; - node.usedBytes = 0; // The actual number of bytes used in the typed array, as opposed to contents.length which gives the whole capacity. - // When the byte data of the file is populated, this will point to either a typed array, or a normal JS array. Typed arrays are preferred - // for performance, and used by default. However, typed arrays are not resizable like normal JS arrays are, so there is a small disk size - // penalty involved for appending file writes that continuously grow a file similar to std::vector capacity vs used -scheme. - node.contents = null; - } else if (FS.isLink(node.mode)) { - node.node_ops = MEMFS.ops_table.link.node; - node.stream_ops = MEMFS.ops_table.link.stream; - } else if (FS.isChrdev(node.mode)) { - node.node_ops = MEMFS.ops_table.chrdev.node; - node.stream_ops = MEMFS.ops_table.chrdev.stream; - } - node.timestamp = Date.now(); - // add the new node to the parent - if (parent) { - parent.contents[name] = node; - parent.timestamp = node.timestamp; - } - return node; - }, - getFileDataAsTypedArray(node) { - if (!node.contents) return new Uint8Array(0); - if (node.contents.subarray) return node.contents.subarray(0, node.usedBytes); // Make sure to not return excess unused bytes. - return new Uint8Array(node.contents); - }, - expandFileStorage(node, newCapacity) { - var prevCapacity = node.contents ? node.contents.length : 0; - if (prevCapacity >= newCapacity) return; // No need to expand, the storage was already large enough. - // Don't expand strictly to the given requested limit if it's only a very small increase, but instead geometrically grow capacity. - // For small filesizes (<1MB), perform size*2 geometric increase, but for large sizes, do a much more conservative size*1.125 increase to - // avoid overshooting the allocation cap by a very large margin. - var CAPACITY_DOUBLING_MAX = 1024 * 1024; - newCapacity = Math.max(newCapacity, (prevCapacity * (prevCapacity < CAPACITY_DOUBLING_MAX ? 2.0 : 1.125)) >>> 0); - if (prevCapacity != 0) newCapacity = Math.max(newCapacity, 256); // At minimum allocate 256b for each file when expanding. - var oldContents = node.contents; - node.contents = new Uint8Array(newCapacity); // Allocate new storage. - if (node.usedBytes > 0) node.contents.set(oldContents.subarray(0, node.usedBytes), 0); // Copy old data over to the new storage. - }, - resizeFileStorage(node, newSize) { - if (node.usedBytes == newSize) return; - if (newSize == 0) { - node.contents = null; // Fully decommit when requesting a resize to zero. - node.usedBytes = 0; - } else { - var oldContents = node.contents; - node.contents = new Uint8Array(newSize); // Allocate new storage. - if (oldContents) { - node.contents.set(oldContents.subarray(0, Math.min(newSize, node.usedBytes))); // Copy old data over to the new storage. - } - node.usedBytes = newSize; - } - }, - node_ops:{ - getattr(node) { - var attr = {}; - // device numbers reuse inode numbers. - attr.dev = FS.isChrdev(node.mode) ? node.id : 1; - attr.ino = node.id; - attr.mode = node.mode; - attr.nlink = 1; - attr.uid = 0; - attr.gid = 0; - attr.rdev = node.rdev; - if (FS.isDir(node.mode)) { - attr.size = 4096; - } else if (FS.isFile(node.mode)) { - attr.size = node.usedBytes; - } else if (FS.isLink(node.mode)) { - attr.size = node.link.length; - } else { - attr.size = 0; - } - attr.atime = new Date(node.timestamp); - attr.mtime = new Date(node.timestamp); - attr.ctime = new Date(node.timestamp); - // NOTE: In our implementation, st_blocks = Math.ceil(st_size/st_blksize), - // but this is not required by the standard. - attr.blksize = 4096; - attr.blocks = Math.ceil(attr.size / attr.blksize); - return attr; - }, - setattr(node, attr) { - if (attr.mode !== undefined) { - node.mode = attr.mode; - } - if (attr.timestamp !== undefined) { - node.timestamp = attr.timestamp; - } - if (attr.size !== undefined) { - MEMFS.resizeFileStorage(node, attr.size); - } - }, - lookup(parent, name) { - throw FS.genericErrors[44]; - }, - mknod(parent, name, mode, dev) { - return MEMFS.createNode(parent, name, mode, dev); - }, - rename(old_node, new_dir, new_name) { - // if we're overwriting a directory at new_name, make sure it's empty. - if (FS.isDir(old_node.mode)) { - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - } - if (new_node) { - for (var i in new_node.contents) { - throw new FS.ErrnoError(55); - } - } - } - // do the internal rewiring - delete old_node.parent.contents[old_node.name]; - old_node.parent.timestamp = Date.now() - old_node.name = new_name; - new_dir.contents[new_name] = old_node; - new_dir.timestamp = old_node.parent.timestamp; - old_node.parent = new_dir; - }, - unlink(parent, name) { - delete parent.contents[name]; - parent.timestamp = Date.now(); - }, - rmdir(parent, name) { - var node = FS.lookupNode(parent, name); - for (var i in node.contents) { - throw new FS.ErrnoError(55); - } - delete parent.contents[name]; - parent.timestamp = Date.now(); - }, - readdir(node) { - var entries = ['.', '..']; - for (var key of Object.keys(node.contents)) { - entries.push(key); - } - return entries; - }, - symlink(parent, newname, oldpath) { - var node = MEMFS.createNode(parent, newname, 511 /* 0777 */ | 40960, 0); - node.link = oldpath; - return node; - }, - readlink(node) { - if (!FS.isLink(node.mode)) { - throw new FS.ErrnoError(28); - } - return node.link; - }, - }, - stream_ops:{ - read(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= stream.node.usedBytes) return 0; - var size = Math.min(stream.node.usedBytes - position, length); - assert(size >= 0); - if (size > 8 && contents.subarray) { // non-trivial, and typed array - buffer.set(contents.subarray(position, position + size), offset); - } else { - for (var i = 0; i < size; i++) buffer[offset + i] = contents[position + i]; - } - return size; - }, - write(stream, buffer, offset, length, position, canOwn) { - // The data buffer should be a typed array view - assert(!(buffer instanceof ArrayBuffer)); - // If the buffer is located in main memory (HEAP), and if - // memory can grow, we can't hold on to references of the - // memory buffer, as they may get invalidated. That means we - // need to do copy its contents. - if (buffer.buffer === HEAP8.buffer) { - canOwn = false; - } - - if (!length) return 0; - var node = stream.node; - node.timestamp = Date.now(); - - if (buffer.subarray && (!node.contents || node.contents.subarray)) { // This write is from a typed array to a typed array? - if (canOwn) { - assert(position === 0, 'canOwn must imply no weird position inside the file'); - node.contents = buffer.subarray(offset, offset + length); - node.usedBytes = length; - return length; - } else if (node.usedBytes === 0 && position === 0) { // If this is a simple first write to an empty file, do a fast set since we don't need to care about old data. - node.contents = buffer.slice(offset, offset + length); - node.usedBytes = length; - return length; - } else if (position + length <= node.usedBytes) { // Writing to an already allocated and used subrange of the file? - node.contents.set(buffer.subarray(offset, offset + length), position); - return length; - } - } - - // Appending to an existing file and we need to reallocate, or source data did not come as a typed array. - MEMFS.expandFileStorage(node, position+length); - if (node.contents.subarray && buffer.subarray) { - // Use typed array write which is available. - node.contents.set(buffer.subarray(offset, offset + length), position); - } else { - for (var i = 0; i < length; i++) { - node.contents[position + i] = buffer[offset + i]; // Or fall back to manual write if not. - } - } - node.usedBytes = Math.max(node.usedBytes, position + length); - return length; - }, - llseek(stream, offset, whence) { - var position = offset; - if (whence === 1) { - position += stream.position; - } else if (whence === 2) { - if (FS.isFile(stream.node.mode)) { - position += stream.node.usedBytes; - } - } - if (position < 0) { - throw new FS.ErrnoError(28); - } - return position; - }, - allocate(stream, offset, length) { - MEMFS.expandFileStorage(stream.node, offset + length); - stream.node.usedBytes = Math.max(stream.node.usedBytes, offset + length); - }, - mmap(stream, length, position, prot, flags) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - var ptr; - var allocated; - var contents = stream.node.contents; - // Only make a new copy when MAP_PRIVATE is specified. - if (!(flags & 2) && contents.buffer === HEAP8.buffer) { - // We can't emulate MAP_SHARED when the file is not backed by the - // buffer we're mapping to (e.g. the HEAP buffer). - allocated = false; - ptr = contents.byteOffset; - } else { - // Try to avoid unnecessary slices. - if (position > 0 || position + length < contents.length) { - if (contents.subarray) { - contents = contents.subarray(position, position + length); - } else { - contents = Array.prototype.slice.call(contents, position, position + length); - } - } - allocated = true; - ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - HEAP8.set(contents, ptr); - } - return { ptr, allocated }; - }, - msync(stream, buffer, offset, length, mmapFlags) { - MEMFS.stream_ops.write(stream, buffer, 0, length, offset, false); - // should we check if bytesWritten and length are the same? - return 0; - }, - }, - }; - - /** @param {boolean=} noRunDep */ - var asyncLoad = (url, onload, onerror, noRunDep) => { - var dep = !noRunDep ? getUniqueRunDependency(`al ${url}`) : ''; - readAsync(url, (arrayBuffer) => { - assert(arrayBuffer, `Loading data file "${url}" failed (no arrayBuffer).`); - onload(new Uint8Array(arrayBuffer)); - if (dep) removeRunDependency(dep); - }, (event) => { - if (onerror) { - onerror(); - } else { - throw `Loading data file "${url}" failed.`; - } - }); - if (dep) addRunDependency(dep); - }; - - - var FS_createDataFile = (parent, name, fileData, canRead, canWrite, canOwn) => { - FS.createDataFile(parent, name, fileData, canRead, canWrite, canOwn); - }; - - var preloadPlugins = Module['preloadPlugins'] || []; - var FS_handledByPreloadPlugin = (byteArray, fullname, finish, onerror) => { - // Ensure plugins are ready. - if (typeof Browser != 'undefined') Browser.init(); - - var handled = false; - preloadPlugins.forEach((plugin) => { - if (handled) return; - if (plugin['canHandle'](fullname)) { - plugin['handle'](byteArray, fullname, finish, onerror); - handled = true; - } - }); - return handled; - }; - var FS_createPreloadedFile = (parent, name, url, canRead, canWrite, onload, onerror, dontCreateFile, canOwn, preFinish) => { - // TODO we should allow people to just pass in a complete filename instead - // of parent and name being that we just join them anyways - var fullname = name ? PATH_FS.resolve(PATH.join2(parent, name)) : parent; - var dep = getUniqueRunDependency(`cp ${fullname}`); // might have several active requests for the same fullname - function processData(byteArray) { - function finish(byteArray) { - preFinish?.(); - if (!dontCreateFile) { - FS_createDataFile(parent, name, byteArray, canRead, canWrite, canOwn); - } - onload?.(); - removeRunDependency(dep); - } - if (FS_handledByPreloadPlugin(byteArray, fullname, finish, () => { - onerror?.(); - removeRunDependency(dep); - })) { - return; - } - finish(byteArray); - } - addRunDependency(dep); - if (typeof url == 'string') { - asyncLoad(url, processData, onerror); - } else { - processData(url); - } - }; - - var FS_modeStringToFlags = (str) => { - var flagModes = { - 'r': 0, - 'r+': 2, - 'w': 512 | 64 | 1, - 'w+': 512 | 64 | 2, - 'a': 1024 | 64 | 1, - 'a+': 1024 | 64 | 2, - }; - var flags = flagModes[str]; - if (typeof flags == 'undefined') { - throw new Error(`Unknown file open mode: ${str}`); - } - return flags; - }; - - var FS_getMode = (canRead, canWrite) => { - var mode = 0; - if (canRead) mode |= 292 | 73; - if (canWrite) mode |= 146; - return mode; - }; - - - - - var ERRNO_MESSAGES = { - 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", - }; - - var ERRNO_CODES = { - 'EPERM': 63, - 'ENOENT': 44, - 'ESRCH': 71, - 'EINTR': 27, - 'EIO': 29, - 'ENXIO': 60, - 'E2BIG': 1, - 'ENOEXEC': 45, - 'EBADF': 8, - 'ECHILD': 12, - 'EAGAIN': 6, - 'EWOULDBLOCK': 6, - 'ENOMEM': 48, - 'EACCES': 2, - 'EFAULT': 21, - 'ENOTBLK': 105, - 'EBUSY': 10, - 'EEXIST': 20, - 'EXDEV': 75, - 'ENODEV': 43, - 'ENOTDIR': 54, - 'EISDIR': 31, - 'EINVAL': 28, - 'ENFILE': 41, - 'EMFILE': 33, - 'ENOTTY': 59, - 'ETXTBSY': 74, - 'EFBIG': 22, - 'ENOSPC': 51, - 'ESPIPE': 70, - 'EROFS': 69, - 'EMLINK': 34, - 'EPIPE': 64, - 'EDOM': 18, - 'ERANGE': 68, - 'ENOMSG': 49, - 'EIDRM': 24, - 'ECHRNG': 106, - 'EL2NSYNC': 156, - 'EL3HLT': 107, - 'EL3RST': 108, - 'ELNRNG': 109, - 'EUNATCH': 110, - 'ENOCSI': 111, - 'EL2HLT': 112, - 'EDEADLK': 16, - 'ENOLCK': 46, - 'EBADE': 113, - 'EBADR': 114, - 'EXFULL': 115, - 'ENOANO': 104, - 'EBADRQC': 103, - 'EBADSLT': 102, - 'EDEADLOCK': 16, - 'EBFONT': 101, - 'ENOSTR': 100, - 'ENODATA': 116, - 'ETIME': 117, - 'ENOSR': 118, - 'ENONET': 119, - 'ENOPKG': 120, - 'EREMOTE': 121, - 'ENOLINK': 47, - 'EADV': 122, - 'ESRMNT': 123, - 'ECOMM': 124, - 'EPROTO': 65, - 'EMULTIHOP': 36, - 'EDOTDOT': 125, - 'EBADMSG': 9, - 'ENOTUNIQ': 126, - 'EBADFD': 127, - 'EREMCHG': 128, - 'ELIBACC': 129, - 'ELIBBAD': 130, - 'ELIBSCN': 131, - 'ELIBMAX': 132, - 'ELIBEXEC': 133, - 'ENOSYS': 52, - 'ENOTEMPTY': 55, - 'ENAMETOOLONG': 37, - 'ELOOP': 32, - 'EOPNOTSUPP': 138, - 'EPFNOSUPPORT': 139, - 'ECONNRESET': 15, - 'ENOBUFS': 42, - 'EAFNOSUPPORT': 5, - 'EPROTOTYPE': 67, - 'ENOTSOCK': 57, - 'ENOPROTOOPT': 50, - 'ESHUTDOWN': 140, - 'ECONNREFUSED': 14, - 'EADDRINUSE': 3, - 'ECONNABORTED': 13, - 'ENETUNREACH': 40, - 'ENETDOWN': 38, - 'ETIMEDOUT': 73, - 'EHOSTDOWN': 142, - 'EHOSTUNREACH': 23, - 'EINPROGRESS': 26, - 'EALREADY': 7, - 'EDESTADDRREQ': 17, - 'EMSGSIZE': 35, - 'EPROTONOSUPPORT': 66, - 'ESOCKTNOSUPPORT': 137, - 'EADDRNOTAVAIL': 4, - 'ENETRESET': 39, - 'EISCONN': 30, - 'ENOTCONN': 53, - 'ETOOMANYREFS': 141, - 'EUSERS': 136, - 'EDQUOT': 19, - 'ESTALE': 72, - 'ENOTSUP': 138, - 'ENOMEDIUM': 148, - 'EILSEQ': 25, - 'EOVERFLOW': 61, - 'ECANCELED': 11, - 'ENOTRECOVERABLE': 56, - 'EOWNERDEAD': 62, - 'ESTRPIPE': 135, - }; - var FS = { - root:null, - mounts:[], - devices:{ - }, - streams:[], - nextInode:1, - nameTable:null, - currentPath:"/", - initialized:false, - ignorePermissions:true, - ErrnoError:class extends Error { - // We set the `name` property to be able to identify `FS.ErrnoError` - // - the `name` is a standard ECMA-262 property of error objects. Kind of good to have it anyway. - // - when using PROXYFS, an error can come from an underlying FS - // as different FS objects have their own FS.ErrnoError each, - // the test `err instanceof FS.ErrnoError` won't detect an error coming from another filesystem, causing bugs. - // we'll use the reliable test `err.name == "ErrnoError"` instead - constructor(errno) { - super(ERRNO_MESSAGES[errno]); - // TODO(sbc): Use the inline member declaration syntax once we - // support it in acorn and closure. - this.name = 'ErrnoError'; - this.errno = errno; - for (var key in ERRNO_CODES) { - if (ERRNO_CODES[key] === errno) { - this.code = key; - break; - } - } - } - }, - genericErrors:{ - }, - filesystems:null, - syncFSRequests:0, - FSStream:class { - constructor() { - // TODO(https://github.com/emscripten-core/emscripten/issues/21414): - // Use inline field declarations. - this.shared = {}; - } - get object() { - return this.node; - } - set object(val) { - this.node = val; - } - get isRead() { - return (this.flags & 2097155) !== 1; - } - get isWrite() { - return (this.flags & 2097155) !== 0; - } - get isAppend() { - return (this.flags & 1024); - } - get flags() { - return this.shared.flags; - } - set flags(val) { - this.shared.flags = val; - } - get position() { - return this.shared.position; - } - set position(val) { - this.shared.position = val; - } - }, - FSNode:class { - constructor(parent, name, mode, rdev) { - if (!parent) { - parent = this; // root node sets parent to itself - } - this.parent = parent; - this.mount = parent.mount; - this.mounted = null; - this.id = FS.nextInode++; - this.name = name; - this.mode = mode; - this.node_ops = {}; - this.stream_ops = {}; - this.rdev = rdev; - this.readMode = 292/*292*/ | 73/*73*/; - this.writeMode = 146/*146*/; - } - get read() { - return (this.mode & this.readMode) === this.readMode; - } - set read(val) { - val ? this.mode |= this.readMode : this.mode &= ~this.readMode; - } - get write() { - return (this.mode & this.writeMode) === this.writeMode; - } - set write(val) { - val ? this.mode |= this.writeMode : this.mode &= ~this.writeMode; - } - get isFolder() { - return FS.isDir(this.mode); - } - get isDevice() { - return FS.isChrdev(this.mode); - } - }, - lookupPath(path, opts = {}) { - path = PATH_FS.resolve(path); - - if (!path) return { path: '', node: null }; - - var defaults = { - follow_mount: true, - recurse_count: 0 - }; - opts = Object.assign(defaults, opts) - - if (opts.recurse_count > 8) { // max recursive lookup of 8 - throw new FS.ErrnoError(32); - } - - // split the absolute path - var parts = path.split('/').filter((p) => !!p); - - // start at the root - var current = FS.root; - var current_path = '/'; - - for (var i = 0; i < parts.length; i++) { - var islast = (i === parts.length-1); - if (islast && opts.parent) { - // stop resolving - break; - } - - current = FS.lookupNode(current, parts[i]); - current_path = PATH.join2(current_path, parts[i]); - - // jump to the mount's root node if this is a mountpoint - if (FS.isMountpoint(current)) { - if (!islast || (islast && opts.follow_mount)) { - current = current.mounted.root; - } - } - - // by default, lookupPath will not follow a symlink if it is the final path component. - // setting opts.follow = true will override this behavior. - if (!islast || opts.follow) { - var count = 0; - while (FS.isLink(current.mode)) { - var link = FS.readlink(current_path); - current_path = PATH_FS.resolve(PATH.dirname(current_path), link); - - var lookup = FS.lookupPath(current_path, { recurse_count: opts.recurse_count + 1 }); - current = lookup.node; - - if (count++ > 40) { // limit max consecutive symlinks to 40 (SYMLOOP_MAX). - throw new FS.ErrnoError(32); - } - } - } - } - - return { path: current_path, node: current }; - }, - getPath(node) { - var path; - while (true) { - if (FS.isRoot(node)) { - var mount = node.mount.mountpoint; - if (!path) return mount; - return mount[mount.length-1] !== '/' ? `${mount}/${path}` : mount + path; - } - path = path ? `${node.name}/${path}` : node.name; - node = node.parent; - } - }, - hashName(parentid, name) { - var hash = 0; - - for (var i = 0; i < name.length; i++) { - hash = ((hash << 5) - hash + name.charCodeAt(i)) | 0; - } - return ((parentid + hash) >>> 0) % FS.nameTable.length; - }, - hashAddNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - node.name_next = FS.nameTable[hash]; - FS.nameTable[hash] = node; - }, - hashRemoveNode(node) { - var hash = FS.hashName(node.parent.id, node.name); - if (FS.nameTable[hash] === node) { - FS.nameTable[hash] = node.name_next; - } else { - var current = FS.nameTable[hash]; - while (current) { - if (current.name_next === node) { - current.name_next = node.name_next; - break; - } - current = current.name_next; - } - } - }, - lookupNode(parent, name) { - var errCode = FS.mayLookup(parent); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - var hash = FS.hashName(parent.id, name); - for (var node = FS.nameTable[hash]; node; node = node.name_next) { - var nodeName = node.name; - if (node.parent.id === parent.id && nodeName === name) { - return node; - } - } - // if we failed to find it in the cache, call into the VFS - return FS.lookup(parent, name); - }, - createNode(parent, name, mode, rdev) { - assert(typeof parent == 'object') - var node = new FS.FSNode(parent, name, mode, rdev); - - FS.hashAddNode(node); - - return node; - }, - destroyNode(node) { - FS.hashRemoveNode(node); - }, - isRoot(node) { - return node === node.parent; - }, - isMountpoint(node) { - return !!node.mounted; - }, - isFile(mode) { - return (mode & 61440) === 32768; - }, - isDir(mode) { - return (mode & 61440) === 16384; - }, - isLink(mode) { - return (mode & 61440) === 40960; - }, - isChrdev(mode) { - return (mode & 61440) === 8192; - }, - isBlkdev(mode) { - return (mode & 61440) === 24576; - }, - isFIFO(mode) { - return (mode & 61440) === 4096; - }, - isSocket(mode) { - return (mode & 49152) === 49152; - }, - flagsToPermissionString(flag) { - var perms = ['r', 'w', 'rw'][flag & 3]; - if ((flag & 512)) { - perms += 'w'; - } - return perms; - }, - nodePermissions(node, perms) { - if (FS.ignorePermissions) { - return 0; - } - // return 0 if any user, group or owner bits are set. - if (perms.includes('r') && !(node.mode & 292)) { - return 2; - } else if (perms.includes('w') && !(node.mode & 146)) { - return 2; - } else if (perms.includes('x') && !(node.mode & 73)) { - return 2; - } - return 0; - }, - mayLookup(dir) { - if (!FS.isDir(dir.mode)) return 54; - var errCode = FS.nodePermissions(dir, 'x'); - if (errCode) return errCode; - if (!dir.node_ops.lookup) return 2; - return 0; - }, - mayCreate(dir, name) { - try { - var node = FS.lookupNode(dir, name); - return 20; - } catch (e) { - } - return FS.nodePermissions(dir, 'wx'); - }, - mayDelete(dir, name, isdir) { - var node; - try { - node = FS.lookupNode(dir, name); - } catch (e) { - return e.errno; - } - var errCode = FS.nodePermissions(dir, 'wx'); - if (errCode) { - return errCode; - } - if (isdir) { - if (!FS.isDir(node.mode)) { - return 54; - } - if (FS.isRoot(node) || FS.getPath(node) === FS.cwd()) { - return 10; - } - } else { - if (FS.isDir(node.mode)) { - return 31; - } - } - return 0; - }, - mayOpen(node, flags) { - if (!node) { - return 44; - } - if (FS.isLink(node.mode)) { - return 32; - } else if (FS.isDir(node.mode)) { - if (FS.flagsToPermissionString(flags) !== 'r' || // opening for write - (flags & 512)) { // TODO: check for O_SEARCH? (== search for dir only) - return 31; - } - } - return FS.nodePermissions(node, FS.flagsToPermissionString(flags)); - }, - MAX_OPEN_FDS:4096, - nextfd() { - for (var fd = 0; fd <= FS.MAX_OPEN_FDS; fd++) { - if (!FS.streams[fd]) { - return fd; - } - } - throw new FS.ErrnoError(33); - }, - getStreamChecked(fd) { - var stream = FS.getStream(fd); - if (!stream) { - throw new FS.ErrnoError(8); - } - return stream; - }, - getStream:(fd) => FS.streams[fd], - createStream(stream, fd = -1) { - - // clone it, so we can return an instance of FSStream - stream = Object.assign(new FS.FSStream(), stream); - if (fd == -1) { - fd = FS.nextfd(); - } - stream.fd = fd; - FS.streams[fd] = stream; - return stream; - }, - closeStream(fd) { - FS.streams[fd] = null; - }, - dupStream(origStream, fd = -1) { - var stream = FS.createStream(origStream, fd); - stream.stream_ops?.dup?.(stream); - return stream; - }, - chrdev_stream_ops:{ - open(stream) { - var device = FS.getDevice(stream.node.rdev); - // override node's stream ops with the device's - stream.stream_ops = device.stream_ops; - // forward the open call - stream.stream_ops.open?.(stream); - }, - llseek() { - throw new FS.ErrnoError(70); - }, - }, - major:(dev) => ((dev) >> 8), - minor:(dev) => ((dev) & 0xff), - makedev:(ma, mi) => ((ma) << 8 | (mi)), - registerDevice(dev, ops) { - FS.devices[dev] = { stream_ops: ops }; - }, - getDevice:(dev) => FS.devices[dev], - getMounts(mount) { - var mounts = []; - var check = [mount]; - - while (check.length) { - var m = check.pop(); - - mounts.push(m); - - check.push(...m.mounts); - } - - return mounts; - }, - syncfs(populate, callback) { - if (typeof populate == 'function') { - callback = populate; - populate = false; - } - - FS.syncFSRequests++; - - if (FS.syncFSRequests > 1) { - err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`); - } - - var mounts = FS.getMounts(FS.root.mount); - var completed = 0; - - function doCallback(errCode) { - assert(FS.syncFSRequests > 0); - FS.syncFSRequests--; - return callback(errCode); - } - - function done(errCode) { - if (errCode) { - if (!done.errored) { - done.errored = true; - return doCallback(errCode); - } - return; - } - if (++completed >= mounts.length) { - doCallback(null); - } - }; - - // sync all mounts - mounts.forEach((mount) => { - if (!mount.type.syncfs) { - return done(null); - } - mount.type.syncfs(mount, populate, done); - }); - }, - mount(type, opts, mountpoint) { - if (typeof type == 'string') { - // The filesystem was not included, and instead we have an error - // message stored in the variable. - throw type; - } - var root = mountpoint === '/'; - var pseudo = !mountpoint; - var node; - - if (root && FS.root) { - throw new FS.ErrnoError(10); - } else if (!root && !pseudo) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - mountpoint = lookup.path; // use the absolute path - node = lookup.node; - - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - - if (!FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - } - - var mount = { - type, - opts, - mountpoint, - mounts: [] - }; - - // create a root node for the fs - var mountRoot = type.mount(mount); - mountRoot.mount = mount; - mount.root = mountRoot; - - if (root) { - FS.root = mountRoot; - } else if (node) { - // set as a mountpoint - node.mounted = mount; - - // add the new mount to the current mount's children - if (node.mount) { - node.mount.mounts.push(mount); - } - } - - return mountRoot; - }, - unmount(mountpoint) { - var lookup = FS.lookupPath(mountpoint, { follow_mount: false }); - - if (!FS.isMountpoint(lookup.node)) { - throw new FS.ErrnoError(28); - } - - // destroy the nodes for this mount, and all its child mounts - var node = lookup.node; - var mount = node.mounted; - var mounts = FS.getMounts(mount); - - Object.keys(FS.nameTable).forEach((hash) => { - var current = FS.nameTable[hash]; - - while (current) { - var next = current.name_next; - - if (mounts.includes(current.mount)) { - FS.destroyNode(current); - } - - current = next; - } - }); - - // no longer a mountpoint - node.mounted = null; - - // remove this mount from the child mounts - var idx = node.mount.mounts.indexOf(mount); - assert(idx !== -1); - node.mount.mounts.splice(idx, 1); - }, - lookup(parent, name) { - return parent.node_ops.lookup(parent, name); - }, - mknod(path, mode, dev) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - if (!name || name === '.' || name === '..') { - throw new FS.ErrnoError(28); - } - var errCode = FS.mayCreate(parent, name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.mknod) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.mknod(parent, name, mode, dev); - }, - create(path, mode) { - mode = mode !== undefined ? mode : 438 /* 0666 */; - mode &= 4095; - mode |= 32768; - return FS.mknod(path, mode, 0); - }, - mkdir(path, mode) { - mode = mode !== undefined ? mode : 511 /* 0777 */; - mode &= 511 | 512; - mode |= 16384; - return FS.mknod(path, mode, 0); - }, - mkdirTree(path, mode) { - var dirs = path.split('/'); - var d = ''; - for (var i = 0; i < dirs.length; ++i) { - if (!dirs[i]) continue; - d += '/' + dirs[i]; - try { - FS.mkdir(d, mode); - } catch(e) { - if (e.errno != 20) throw e; - } - } - }, - mkdev(path, mode, dev) { - if (typeof dev == 'undefined') { - dev = mode; - mode = 438 /* 0666 */; - } - mode |= 8192; - return FS.mknod(path, mode, dev); - }, - symlink(oldpath, newpath) { - if (!PATH_FS.resolve(oldpath)) { - throw new FS.ErrnoError(44); - } - var lookup = FS.lookupPath(newpath, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var newname = PATH.basename(newpath); - var errCode = FS.mayCreate(parent, newname); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.symlink) { - throw new FS.ErrnoError(63); - } - return parent.node_ops.symlink(parent, newname, oldpath); - }, - rename(old_path, new_path) { - var old_dirname = PATH.dirname(old_path); - var new_dirname = PATH.dirname(new_path); - var old_name = PATH.basename(old_path); - var new_name = PATH.basename(new_path); - // parents must exist - var lookup, old_dir, new_dir; - - // let the errors from non existent directories percolate up - lookup = FS.lookupPath(old_path, { parent: true }); - old_dir = lookup.node; - lookup = FS.lookupPath(new_path, { parent: true }); - new_dir = lookup.node; - - if (!old_dir || !new_dir) throw new FS.ErrnoError(44); - // need to be part of the same mount - if (old_dir.mount !== new_dir.mount) { - throw new FS.ErrnoError(75); - } - // source must exist - var old_node = FS.lookupNode(old_dir, old_name); - // old path should not be an ancestor of the new path - var relative = PATH_FS.relative(old_path, new_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(28); - } - // new path should not be an ancestor of the old path - relative = PATH_FS.relative(new_path, old_dirname); - if (relative.charAt(0) !== '.') { - throw new FS.ErrnoError(55); - } - // see if the new path already exists - var new_node; - try { - new_node = FS.lookupNode(new_dir, new_name); - } catch (e) { - // not fatal - } - // early out if nothing needs to change - if (old_node === new_node) { - return; - } - // we'll need to delete the old entry - var isdir = FS.isDir(old_node.mode); - var errCode = FS.mayDelete(old_dir, old_name, isdir); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - // need delete permissions if we'll be overwriting. - // need create permissions if new doesn't already exist. - errCode = new_node ? - FS.mayDelete(new_dir, new_name, isdir) : - FS.mayCreate(new_dir, new_name); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!old_dir.node_ops.rename) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(old_node) || (new_node && FS.isMountpoint(new_node))) { - throw new FS.ErrnoError(10); - } - // if we are going to change the parent, check write permissions - if (new_dir !== old_dir) { - errCode = FS.nodePermissions(old_dir, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // remove the node from the lookup hash - FS.hashRemoveNode(old_node); - // do the underlying fs rename - try { - old_dir.node_ops.rename(old_node, new_dir, new_name); - } catch (e) { - throw e; - } finally { - // add the node back to the hash (in case node_ops.rename - // changed its name) - FS.hashAddNode(old_node); - } - }, - rmdir(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, true); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.rmdir) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.rmdir(parent, name); - FS.destroyNode(node); - }, - readdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - if (!node.node_ops.readdir) { - throw new FS.ErrnoError(54); - } - return node.node_ops.readdir(node); - }, - unlink(path) { - var lookup = FS.lookupPath(path, { parent: true }); - var parent = lookup.node; - if (!parent) { - throw new FS.ErrnoError(44); - } - var name = PATH.basename(path); - var node = FS.lookupNode(parent, name); - var errCode = FS.mayDelete(parent, name, false); - if (errCode) { - // According to POSIX, we should map EISDIR to EPERM, but - // we instead do what Linux does (and we must, as we use - // the musl linux libc). - throw new FS.ErrnoError(errCode); - } - if (!parent.node_ops.unlink) { - throw new FS.ErrnoError(63); - } - if (FS.isMountpoint(node)) { - throw new FS.ErrnoError(10); - } - parent.node_ops.unlink(parent, name); - FS.destroyNode(node); - }, - readlink(path) { - var lookup = FS.lookupPath(path); - var link = lookup.node; - if (!link) { - throw new FS.ErrnoError(44); - } - if (!link.node_ops.readlink) { - throw new FS.ErrnoError(28); - } - return PATH_FS.resolve(FS.getPath(link.parent), link.node_ops.readlink(link)); - }, - stat(path, dontFollow) { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - var node = lookup.node; - if (!node) { - throw new FS.ErrnoError(44); - } - if (!node.node_ops.getattr) { - throw new FS.ErrnoError(63); - } - return node.node_ops.getattr(node); - }, - lstat(path) { - return FS.stat(path, true); - }, - chmod(path, mode, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - node.node_ops.setattr(node, { - mode: (mode & 4095) | (node.mode & ~4095), - timestamp: Date.now() - }); - }, - lchmod(path, mode) { - FS.chmod(path, mode, true); - }, - fchmod(fd, mode) { - var stream = FS.getStreamChecked(fd); - FS.chmod(stream.node, mode); - }, - chown(path, uid, gid, dontFollow) { - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: !dontFollow }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - node.node_ops.setattr(node, { - timestamp: Date.now() - // we ignore the uid / gid for now - }); - }, - lchown(path, uid, gid) { - FS.chown(path, uid, gid, true); - }, - fchown(fd, uid, gid) { - var stream = FS.getStreamChecked(fd); - FS.chown(stream.node, uid, gid); - }, - truncate(path, len) { - if (len < 0) { - throw new FS.ErrnoError(28); - } - var node; - if (typeof path == 'string') { - var lookup = FS.lookupPath(path, { follow: true }); - node = lookup.node; - } else { - node = path; - } - if (!node.node_ops.setattr) { - throw new FS.ErrnoError(63); - } - if (FS.isDir(node.mode)) { - throw new FS.ErrnoError(31); - } - if (!FS.isFile(node.mode)) { - throw new FS.ErrnoError(28); - } - var errCode = FS.nodePermissions(node, 'w'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - node.node_ops.setattr(node, { - size: len, - timestamp: Date.now() - }); - }, - ftruncate(fd, len) { - var stream = FS.getStreamChecked(fd); - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(28); - } - FS.truncate(stream.node, len); - }, - utime(path, atime, mtime) { - var lookup = FS.lookupPath(path, { follow: true }); - var node = lookup.node; - node.node_ops.setattr(node, { - timestamp: Math.max(atime, mtime) - }); - }, - open(path, flags, mode) { - if (path === "") { - throw new FS.ErrnoError(44); - } - flags = typeof flags == 'string' ? FS_modeStringToFlags(flags) : flags; - mode = typeof mode == 'undefined' ? 438 /* 0666 */ : mode; - if ((flags & 64)) { - mode = (mode & 4095) | 32768; - } else { - mode = 0; - } - var node; - if (typeof path == 'object') { - node = path; - } else { - path = PATH.normalize(path); - try { - var lookup = FS.lookupPath(path, { - follow: !(flags & 131072) - }); - node = lookup.node; - } catch (e) { - // ignore - } - } - // perhaps we need to create the node - var created = false; - if ((flags & 64)) { - if (node) { - // if O_CREAT and O_EXCL are set, error out if the node already exists - if ((flags & 128)) { - throw new FS.ErrnoError(20); - } - } else { - // node doesn't exist, try to create it - node = FS.mknod(path, mode, 0); - created = true; - } - } - if (!node) { - throw new FS.ErrnoError(44); - } - // can't truncate a device - if (FS.isChrdev(node.mode)) { - flags &= ~512; - } - // if asked only for a directory, then this must be one - if ((flags & 65536) && !FS.isDir(node.mode)) { - throw new FS.ErrnoError(54); - } - // check permissions, if this is not a file we just created now (it is ok to - // create and write to a file with read-only permissions; it is read-only - // for later use) - if (!created) { - var errCode = FS.mayOpen(node, flags); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - } - // do truncation if necessary - if ((flags & 512) && !created) { - FS.truncate(node, 0); - } - // we've already handled these, don't pass down to the underlying vfs - flags &= ~(128 | 512 | 131072); - - // register the stream with the filesystem - var stream = FS.createStream({ - node, - path: FS.getPath(node), // we want the absolute path to the node - flags, - seekable: true, - position: 0, - stream_ops: node.stream_ops, - // used by the file family libc calls (fopen, fwrite, ferror, etc.) - ungotten: [], - error: false - }); - // call the new stream's open function - if (stream.stream_ops.open) { - stream.stream_ops.open(stream); - } - if (Module['logReadFiles'] && !(flags & 1)) { - if (!FS.readFiles) FS.readFiles = {}; - if (!(path in FS.readFiles)) { - FS.readFiles[path] = 1; - } - } - return stream; - }, - close(stream) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (stream.getdents) stream.getdents = null; // free readdir state - try { - if (stream.stream_ops.close) { - stream.stream_ops.close(stream); - } - } catch (e) { - throw e; - } finally { - FS.closeStream(stream.fd); - } - stream.fd = null; - }, - isClosed(stream) { - return stream.fd === null; - }, - llseek(stream, offset, whence) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (!stream.seekable || !stream.stream_ops.llseek) { - throw new FS.ErrnoError(70); - } - if (whence != 0 && whence != 1 && whence != 2) { - throw new FS.ErrnoError(28); - } - stream.position = stream.stream_ops.llseek(stream, offset, whence); - stream.ungotten = []; - return stream.position; - }, - read(stream, buffer, offset, length, position) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.read) { - throw new FS.ErrnoError(28); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesRead = stream.stream_ops.read(stream, buffer, offset, length, position); - if (!seeking) stream.position += bytesRead; - return bytesRead; - }, - write(stream, buffer, offset, length, position, canOwn) { - assert(offset >= 0); - if (length < 0 || position < 0) { - throw new FS.ErrnoError(28); - } - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(31); - } - if (!stream.stream_ops.write) { - throw new FS.ErrnoError(28); - } - if (stream.seekable && stream.flags & 1024) { - // seek to the end before writing in append mode - FS.llseek(stream, 0, 2); - } - var seeking = typeof position != 'undefined'; - if (!seeking) { - position = stream.position; - } else if (!stream.seekable) { - throw new FS.ErrnoError(70); - } - var bytesWritten = stream.stream_ops.write(stream, buffer, offset, length, position, canOwn); - if (!seeking) stream.position += bytesWritten; - return bytesWritten; - }, - allocate(stream, offset, length) { - if (FS.isClosed(stream)) { - throw new FS.ErrnoError(8); - } - if (offset < 0 || length <= 0) { - throw new FS.ErrnoError(28); - } - if ((stream.flags & 2097155) === 0) { - throw new FS.ErrnoError(8); - } - if (!FS.isFile(stream.node.mode) && !FS.isDir(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (!stream.stream_ops.allocate) { - throw new FS.ErrnoError(138); - } - stream.stream_ops.allocate(stream, offset, length); - }, - mmap(stream, length, position, prot, flags) { - // User requests writing to file (prot & PROT_WRITE != 0). - // Checking if we have permissions to write to the file unless - // MAP_PRIVATE flag is set. According to POSIX spec it is possible - // to write to file opened in read-only mode with MAP_PRIVATE flag, - // as all modifications will be visible only in the memory of - // the current process. - if ((prot & 2) !== 0 - && (flags & 2) === 0 - && (stream.flags & 2097155) !== 2) { - throw new FS.ErrnoError(2); - } - if ((stream.flags & 2097155) === 1) { - throw new FS.ErrnoError(2); - } - if (!stream.stream_ops.mmap) { - throw new FS.ErrnoError(43); - } - return stream.stream_ops.mmap(stream, length, position, prot, flags); - }, - msync(stream, buffer, offset, length, mmapFlags) { - assert(offset >= 0); - if (!stream.stream_ops.msync) { - return 0; - } - return stream.stream_ops.msync(stream, buffer, offset, length, mmapFlags); - }, - ioctl(stream, cmd, arg) { - if (!stream.stream_ops.ioctl) { - throw new FS.ErrnoError(59); - } - return stream.stream_ops.ioctl(stream, cmd, arg); - }, - readFile(path, opts = {}) { - opts.flags = opts.flags || 0; - opts.encoding = opts.encoding || 'binary'; - if (opts.encoding !== 'utf8' && opts.encoding !== 'binary') { - throw new Error(`Invalid encoding type "${opts.encoding}"`); - } - var ret; - var stream = FS.open(path, opts.flags); - var stat = FS.stat(path); - var length = stat.size; - var buf = new Uint8Array(length); - FS.read(stream, buf, 0, length, 0); - if (opts.encoding === 'utf8') { - ret = UTF8ArrayToString(buf, 0); - } else if (opts.encoding === 'binary') { - ret = buf; - } - FS.close(stream); - return ret; - }, - writeFile(path, data, opts = {}) { - opts.flags = opts.flags || 577; - var stream = FS.open(path, opts.flags, opts.mode); - if (typeof data == 'string') { - var buf = new Uint8Array(lengthBytesUTF8(data)+1); - var actualNumBytes = stringToUTF8Array(data, buf, 0, buf.length); - FS.write(stream, buf, 0, actualNumBytes, undefined, opts.canOwn); - } else if (ArrayBuffer.isView(data)) { - FS.write(stream, data, 0, data.byteLength, undefined, opts.canOwn); - } else { - throw new Error('Unsupported data type'); - } - FS.close(stream); - }, - cwd:() => FS.currentPath, - chdir(path) { - var lookup = FS.lookupPath(path, { follow: true }); - if (lookup.node === null) { - throw new FS.ErrnoError(44); - } - if (!FS.isDir(lookup.node.mode)) { - throw new FS.ErrnoError(54); - } - var errCode = FS.nodePermissions(lookup.node, 'x'); - if (errCode) { - throw new FS.ErrnoError(errCode); - } - FS.currentPath = lookup.path; - }, - createDefaultDirectories() { - FS.mkdir('/tmp'); - FS.mkdir('/home'); - FS.mkdir('/home/web_user'); - }, - createDefaultDevices() { - // create /dev - FS.mkdir('/dev'); - // setup /dev/null - FS.registerDevice(FS.makedev(1, 3), { - read: () => 0, - write: (stream, buffer, offset, length, pos) => length, - }); - FS.mkdev('/dev/null', FS.makedev(1, 3)); - // setup /dev/tty and /dev/tty1 - // stderr needs to print output using err() rather than out() - // so we register a second tty just for it. - TTY.register(FS.makedev(5, 0), TTY.default_tty_ops); - TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops); - FS.mkdev('/dev/tty', FS.makedev(5, 0)); - FS.mkdev('/dev/tty1', FS.makedev(6, 0)); - // setup /dev/[u]random - // use a buffer to avoid overhead of individual crypto calls per byte - var randomBuffer = new Uint8Array(1024), randomLeft = 0; - var randomByte = () => { - if (randomLeft === 0) { - randomLeft = randomFill(randomBuffer).byteLength; - } - return randomBuffer[--randomLeft]; - }; - FS.createDevice('/dev', 'random', randomByte); - FS.createDevice('/dev', 'urandom', randomByte); - // we're not going to emulate the actual shm device, - // just create the tmp dirs that reside in it commonly - FS.mkdir('/dev/shm'); - FS.mkdir('/dev/shm/tmp'); - }, - createSpecialDirectories() { - // create /proc/self/fd which allows /proc/self/fd/6 => readlink gives the - // name of the stream for fd 6 (see test_unistd_ttyname) - FS.mkdir('/proc'); - var proc_self = FS.mkdir('/proc/self'); - FS.mkdir('/proc/self/fd'); - FS.mount({ - mount() { - var node = FS.createNode(proc_self, 'fd', 16384 | 511 /* 0777 */, 73); - node.node_ops = { - lookup(parent, name) { - var fd = +name; - var stream = FS.getStreamChecked(fd); - var ret = { - parent: null, - mount: { mountpoint: 'fake' }, - node_ops: { readlink: () => stream.path }, - }; - ret.parent = ret; // make it look like a simple root node - return ret; - } - }; - return node; - } - }, {}, '/proc/self/fd'); - }, - createStandardStreams() { - // TODO deprecate the old functionality of a single - // input / output callback and that utilizes FS.createDevice - // and instead require a unique set of stream ops - - // by default, we symlink the standard streams to the - // default tty devices. however, if the standard streams - // have been overwritten we create a unique device for - // them instead. - if (Module['stdin']) { - FS.createDevice('/dev', 'stdin', Module['stdin']); - } else { - FS.symlink('/dev/tty', '/dev/stdin'); - } - if (Module['stdout']) { - FS.createDevice('/dev', 'stdout', null, Module['stdout']); - } else { - FS.symlink('/dev/tty', '/dev/stdout'); - } - if (Module['stderr']) { - FS.createDevice('/dev', 'stderr', null, Module['stderr']); - } else { - FS.symlink('/dev/tty1', '/dev/stderr'); - } - - // open default streams for the stdin, stdout and stderr devices - var stdin = FS.open('/dev/stdin', 0); - var stdout = FS.open('/dev/stdout', 1); - var stderr = FS.open('/dev/stderr', 1); - assert(stdin.fd === 0, `invalid handle for stdin (${stdin.fd})`); - assert(stdout.fd === 1, `invalid handle for stdout (${stdout.fd})`); - assert(stderr.fd === 2, `invalid handle for stderr (${stderr.fd})`); - }, - staticInit() { - // Some errors may happen quite a bit, to avoid overhead we reuse them (and suffer a lack of stack info) - [44].forEach((code) => { - FS.genericErrors[code] = new FS.ErrnoError(code); - FS.genericErrors[code].stack = ''; - }); - - FS.nameTable = new Array(4096); - - FS.mount(MEMFS, {}, '/'); - - FS.createDefaultDirectories(); - FS.createDefaultDevices(); - FS.createSpecialDirectories(); - - FS.filesystems = { - 'MEMFS': MEMFS, - }; - }, - init(input, output, error) { - assert(!FS.init.initialized, '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)'); - FS.init.initialized = true; - - // Allow Module.stdin etc. to provide defaults, if none explicitly passed to us here - Module['stdin'] = input || Module['stdin']; - Module['stdout'] = output || Module['stdout']; - Module['stderr'] = error || Module['stderr']; - - FS.createStandardStreams(); - }, - quit() { - FS.init.initialized = false; - // force-flush all streams, so we get musl std streams printed out - _fflush(0); - // close all of our streams - for (var i = 0; i < FS.streams.length; i++) { - var stream = FS.streams[i]; - if (!stream) { - continue; - } - FS.close(stream); - } - }, - findObject(path, dontResolveLastLink) { - var ret = FS.analyzePath(path, dontResolveLastLink); - if (!ret.exists) { - return null; - } - return ret.object; - }, - analyzePath(path, dontResolveLastLink) { - // operate from within the context of the symlink's target - try { - var lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - path = lookup.path; - } catch (e) { - } - var ret = { - isRoot: false, exists: false, error: 0, name: null, path: null, object: null, - parentExists: false, parentPath: null, parentObject: null - }; - try { - var lookup = FS.lookupPath(path, { parent: true }); - ret.parentExists = true; - ret.parentPath = lookup.path; - ret.parentObject = lookup.node; - ret.name = PATH.basename(path); - lookup = FS.lookupPath(path, { follow: !dontResolveLastLink }); - ret.exists = true; - ret.path = lookup.path; - ret.object = lookup.node; - ret.name = lookup.node.name; - ret.isRoot = lookup.path === '/'; - } catch (e) { - ret.error = e.errno; - }; - return ret; - }, - createPath(parent, path, canRead, canWrite) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - var parts = path.split('/').reverse(); - while (parts.length) { - var part = parts.pop(); - if (!part) continue; - var current = PATH.join2(parent, part); - try { - FS.mkdir(current); - } catch (e) { - // ignore EEXIST - } - parent = current; - } - return current; - }, - createFile(parent, name, properties, canRead, canWrite) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(canRead, canWrite); - return FS.create(path, mode); - }, - createDataFile(parent, name, data, canRead, canWrite, canOwn) { - var path = name; - if (parent) { - parent = typeof parent == 'string' ? parent : FS.getPath(parent); - path = name ? PATH.join2(parent, name) : parent; - } - var mode = FS_getMode(canRead, canWrite); - var node = FS.create(path, mode); - if (data) { - if (typeof data == 'string') { - var arr = new Array(data.length); - for (var i = 0, len = data.length; i < len; ++i) arr[i] = data.charCodeAt(i); - data = arr; - } - // make sure we can write to the file - FS.chmod(node, mode | 146); - var stream = FS.open(node, 577); - FS.write(stream, data, 0, data.length, 0, canOwn); - FS.close(stream); - FS.chmod(node, mode); - } - }, - createDevice(parent, name, input, output) { - var path = PATH.join2(typeof parent == 'string' ? parent : FS.getPath(parent), name); - var mode = FS_getMode(!!input, !!output); - if (!FS.createDevice.major) FS.createDevice.major = 64; - var dev = FS.makedev(FS.createDevice.major++, 0); - // Create a fake device that a set of stream ops to emulate - // the old behavior. - FS.registerDevice(dev, { - open(stream) { - stream.seekable = false; - }, - close(stream) { - // flush any pending line data - if (output?.buffer?.length) { - output(10); - } - }, - read(stream, buffer, offset, length, pos /* ignored */) { - var bytesRead = 0; - for (var i = 0; i < length; i++) { - var result; - try { - result = input(); - } catch (e) { - throw new FS.ErrnoError(29); - } - if (result === undefined && bytesRead === 0) { - throw new FS.ErrnoError(6); - } - if (result === null || result === undefined) break; - bytesRead++; - buffer[offset+i] = result; - } - if (bytesRead) { - stream.node.timestamp = Date.now(); - } - return bytesRead; - }, - write(stream, buffer, offset, length, pos) { - for (var i = 0; i < length; i++) { - try { - output(buffer[offset+i]); - } catch (e) { - throw new FS.ErrnoError(29); - } - } - if (length) { - stream.node.timestamp = Date.now(); - } - return i; - } - }); - return FS.mkdev(path, mode, dev); - }, - forceLoadFile(obj) { - if (obj.isDevice || obj.isFolder || obj.link || obj.contents) return true; - if (typeof XMLHttpRequest != 'undefined') { - throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread."); - } else if (read_) { - // Command-line. - try { - // WARNING: Can't read binary files in V8's d8 or tracemonkey's js, as - // read() will try to parse UTF8. - obj.contents = intArrayFromString(read_(obj.url), true); - obj.usedBytes = obj.contents.length; - } catch (e) { - throw new FS.ErrnoError(29); - } - } else { - throw new Error('Cannot load without read() or XMLHttpRequest.'); - } - }, - createLazyFile(parent, name, url, canRead, canWrite) { - // Lazy chunked Uint8Array (implements get and length from Uint8Array). - // Actual getting is abstracted away for eventual reuse. - class LazyUint8Array { - constructor() { - this.lengthKnown = false; - this.chunks = []; // Loaded chunks. Index is the chunk number - } - get(idx) { - if (idx > this.length-1 || idx < 0) { - return undefined; - } - var chunkOffset = idx % this.chunkSize; - var chunkNum = (idx / this.chunkSize)|0; - return this.getter(chunkNum)[chunkOffset]; - } - setDataGetter(getter) { - this.getter = getter; - } - cacheLength() { - // Find length - var xhr = new XMLHttpRequest(); - xhr.open('HEAD', url, false); - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - var datalength = Number(xhr.getResponseHeader("Content-length")); - var header; - var hasByteServing = (header = xhr.getResponseHeader("Accept-Ranges")) && header === "bytes"; - var usesGzip = (header = xhr.getResponseHeader("Content-Encoding")) && header === "gzip"; - - var chunkSize = 1024*1024; // Chunk size in bytes - - if (!hasByteServing) chunkSize = datalength; - - // Function to get a range from the remote URL. - var doXHR = (from, to) => { - if (from > to) throw new Error("invalid range (" + from + ", " + to + ") or no bytes requested!"); - if (to > datalength-1) throw new Error("only " + datalength + " bytes available! programmer error!"); - - // TODO: Use mozResponseArrayBuffer, responseStream, etc. if available. - var xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); - if (datalength !== chunkSize) xhr.setRequestHeader("Range", "bytes=" + from + "-" + to); - - // Some hints to the browser that we want binary data. - xhr.responseType = 'arraybuffer'; - if (xhr.overrideMimeType) { - xhr.overrideMimeType('text/plain; charset=x-user-defined'); - } - - xhr.send(null); - if (!(xhr.status >= 200 && xhr.status < 300 || xhr.status === 304)) throw new Error("Couldn't load " + url + ". Status: " + xhr.status); - if (xhr.response !== undefined) { - return new Uint8Array(/** @type{Array} */(xhr.response || [])); - } - return intArrayFromString(xhr.responseText || '', true); - }; - var lazyArray = this; - lazyArray.setDataGetter((chunkNum) => { - var start = chunkNum * chunkSize; - var end = (chunkNum+1) * chunkSize - 1; // including this byte - end = Math.min(end, datalength-1); // if datalength-1 is selected, this is the last block - if (typeof lazyArray.chunks[chunkNum] == 'undefined') { - lazyArray.chunks[chunkNum] = doXHR(start, end); - } - if (typeof lazyArray.chunks[chunkNum] == 'undefined') throw new Error('doXHR failed!'); - return lazyArray.chunks[chunkNum]; - }); - - if (usesGzip || !datalength) { - // if the server uses gzip or doesn't supply the length, we have to download the whole file to get the (uncompressed) length - chunkSize = datalength = 1; // this will force getter(0)/doXHR do download the whole file - datalength = this.getter(0).length; - chunkSize = datalength; - out("LazyFiles on gzip forces download of the whole file when length is accessed"); - } - - this._length = datalength; - this._chunkSize = chunkSize; - this.lengthKnown = true; - } - get length() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._length; - } - get chunkSize() { - if (!this.lengthKnown) { - this.cacheLength(); - } - return this._chunkSize; - } - } - - if (typeof XMLHttpRequest != 'undefined') { - if (!ENVIRONMENT_IS_WORKER) throw 'Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc'; - var lazyArray = new LazyUint8Array(); - var properties = { isDevice: false, contents: lazyArray }; - } else { - var properties = { isDevice: false, url: url }; - } - - var node = FS.createFile(parent, name, properties, canRead, canWrite); - // This is a total hack, but I want to get this lazy file code out of the - // core of MEMFS. If we want to keep this lazy file concept I feel it should - // be its own thin LAZYFS proxying calls to MEMFS. - if (properties.contents) { - node.contents = properties.contents; - } else if (properties.url) { - node.contents = null; - node.url = properties.url; - } - // Add a function that defers querying the file size until it is asked the first time. - Object.defineProperties(node, { - usedBytes: { - get: function() { return this.contents.length; } - } - }); - // override each stream op with one that tries to force load the lazy file first - var stream_ops = {}; - var keys = Object.keys(node.stream_ops); - keys.forEach((key) => { - var fn = node.stream_ops[key]; - stream_ops[key] = (...args) => { - FS.forceLoadFile(node); - return fn(...args); - }; - }); - function writeChunks(stream, buffer, offset, length, position) { - var contents = stream.node.contents; - if (position >= contents.length) - return 0; - var size = Math.min(contents.length - position, length); - assert(size >= 0); - if (contents.slice) { // normal array - for (var i = 0; i < size; i++) { - buffer[offset + i] = contents[position + i]; - } - } else { - for (var i = 0; i < size; i++) { // LazyUint8Array from sync binary XHR - buffer[offset + i] = contents.get(position + i); - } - } - return size; - } - // use a custom read function - stream_ops.read = (stream, buffer, offset, length, position) => { - FS.forceLoadFile(node); - return writeChunks(stream, buffer, offset, length, position) - }; - // use a custom mmap function - stream_ops.mmap = (stream, length, position, prot, flags) => { - FS.forceLoadFile(node); - var ptr = mmapAlloc(length); - if (!ptr) { - throw new FS.ErrnoError(48); - } - writeChunks(stream, HEAP8, ptr, length, position); - return { ptr, allocated: true }; - }; - node.stream_ops = stream_ops; - return node; - }, - absolutePath() { - abort('FS.absolutePath has been removed; use PATH_FS.resolve instead'); - }, - createFolder() { - abort('FS.createFolder has been removed; use FS.mkdir instead'); - }, - createLink() { - abort('FS.createLink has been removed; use FS.symlink instead'); - }, - joinPath() { - abort('FS.joinPath has been removed; use PATH.join instead'); - }, - mmapAlloc() { - abort('FS.mmapAlloc has been replaced by the top level function mmapAlloc'); - }, - standardizePath() { - abort('FS.standardizePath has been removed; use PATH.normalize instead'); - }, - }; - - var SYSCALLS = { - DEFAULT_POLLMASK:5, - calculateAt(dirfd, path, allowEmpty) { - if (PATH.isAbs(path)) { - return path; - } - // relative path - var dir; - if (dirfd === -100) { - dir = FS.cwd(); - } else { - var dirstream = SYSCALLS.getStreamFromFD(dirfd); - dir = dirstream.path; - } - if (path.length == 0) { - if (!allowEmpty) { - throw new FS.ErrnoError(44);; - } - return dir; - } - return PATH.join2(dir, path); - }, - doStat(func, path, buf) { - var stat = func(path); - HEAP32[((buf)>>2)] = stat.dev; - HEAP32[(((buf)+(4))>>2)] = stat.mode; - HEAPU32[(((buf)+(8))>>2)] = stat.nlink; - HEAP32[(((buf)+(12))>>2)] = stat.uid; - HEAP32[(((buf)+(16))>>2)] = stat.gid; - HEAP32[(((buf)+(20))>>2)] = stat.rdev; - (tempI64 = [stat.size>>>0,(tempDouble = stat.size,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(24))>>2)] = tempI64[0],HEAP32[(((buf)+(28))>>2)] = tempI64[1]); - HEAP32[(((buf)+(32))>>2)] = 4096; - HEAP32[(((buf)+(36))>>2)] = stat.blocks; - var atime = stat.atime.getTime(); - var mtime = stat.mtime.getTime(); - var ctime = stat.ctime.getTime(); - (tempI64 = [Math.floor(atime / 1000)>>>0,(tempDouble = Math.floor(atime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(40))>>2)] = tempI64[0],HEAP32[(((buf)+(44))>>2)] = tempI64[1]); - HEAPU32[(((buf)+(48))>>2)] = (atime % 1000) * 1000; - (tempI64 = [Math.floor(mtime / 1000)>>>0,(tempDouble = Math.floor(mtime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(56))>>2)] = tempI64[0],HEAP32[(((buf)+(60))>>2)] = tempI64[1]); - HEAPU32[(((buf)+(64))>>2)] = (mtime % 1000) * 1000; - (tempI64 = [Math.floor(ctime / 1000)>>>0,(tempDouble = Math.floor(ctime / 1000),(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(72))>>2)] = tempI64[0],HEAP32[(((buf)+(76))>>2)] = tempI64[1]); - HEAPU32[(((buf)+(80))>>2)] = (ctime % 1000) * 1000; - (tempI64 = [stat.ino>>>0,(tempDouble = stat.ino,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((buf)+(88))>>2)] = tempI64[0],HEAP32[(((buf)+(92))>>2)] = tempI64[1]); - return 0; - }, - doMsync(addr, stream, len, flags, offset) { - if (!FS.isFile(stream.node.mode)) { - throw new FS.ErrnoError(43); - } - if (flags & 2) { - // MAP_PRIVATE calls need not to be synced back to underlying fs - return 0; - } - var buffer = HEAPU8.slice(addr, addr + len); - FS.msync(stream, buffer, offset, len, flags); - }, - varargs:undefined, - get() { - assert(SYSCALLS.varargs != undefined); - // the `+` prepended here is necessary to convince the JSCompiler that varargs is indeed a number. - var ret = HEAP32[((+SYSCALLS.varargs)>>2)]; - SYSCALLS.varargs += 4; - return ret; - }, - getp() { return SYSCALLS.get() }, - getStr(ptr) { - var ret = UTF8ToString(ptr); - return ret; - }, - getStreamFromFD(fd) { - var stream = FS.getStreamChecked(fd); - return stream; - }, - }; - function ___syscall_dup(fd) { - try { - - var old = SYSCALLS.getStreamFromFD(fd); - return FS.dupStream(old).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_dup3(fd, newfd, flags) { - try { - - var old = SYSCALLS.getStreamFromFD(fd); - assert(!flags); - if (old.fd === newfd) return -28; - var existing = FS.getStream(newfd); - if (existing) FS.close(existing); - return FS.dupStream(old, newfd).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fcntl64(fd, cmd, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (cmd) { - case 0: { - var arg = SYSCALLS.get(); - if (arg < 0) { - return -28; - } - while (FS.streams[arg]) { - arg++; - } - var newStream; - newStream = FS.dupStream(stream, arg); - return newStream.fd; - } - case 1: - case 2: - return 0; // FD_CLOEXEC makes no sense for a single process. - case 3: - return stream.flags; - case 4: { - var arg = SYSCALLS.get(); - stream.flags |= arg; - return 0; - } - case 12: { - var arg = SYSCALLS.getp(); - var offset = 0; - // We're always unlocked. - HEAP16[(((arg)+(offset))>>1)] = 2; - return 0; - } - case 13: - case 14: - return 0; // Pretend that the locking is successful. - } - return -28; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_fstat64(fd, buf) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - return SYSCALLS.doStat(FS.stat, stream.path, buf); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var stringToUTF8 = (str, outPtr, maxBytesToWrite) => { - assert(typeof maxBytesToWrite == 'number', 'stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!'); - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - }; - - function ___syscall_getdents64(fd, dirp, count) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd) - stream.getdents ||= FS.readdir(stream.path); - - var struct_size = 280; - var pos = 0; - var off = FS.llseek(stream, 0, 1); - - var idx = Math.floor(off / struct_size); - - while (idx < stream.getdents.length && pos + struct_size <= count) { - var id; - var type; - var name = stream.getdents[idx]; - if (name === '.') { - id = stream.node.id; - type = 4; // DT_DIR - } - else if (name === '..') { - var lookup = FS.lookupPath(stream.path, { parent: true }); - id = lookup.node.id; - type = 4; // DT_DIR - } - else { - var child = FS.lookupNode(stream.node, name); - id = child.id; - type = FS.isChrdev(child.mode) ? 2 : // DT_CHR, character device. - FS.isDir(child.mode) ? 4 : // DT_DIR, directory. - FS.isLink(child.mode) ? 10 : // DT_LNK, symbolic link. - 8; // DT_REG, regular file. - } - assert(id); - (tempI64 = [id>>>0,(tempDouble = id,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[((dirp + pos)>>2)] = tempI64[0],HEAP32[(((dirp + pos)+(4))>>2)] = tempI64[1]); - (tempI64 = [(idx + 1) * struct_size>>>0,(tempDouble = (idx + 1) * struct_size,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[(((dirp + pos)+(8))>>2)] = tempI64[0],HEAP32[(((dirp + pos)+(12))>>2)] = tempI64[1]); - HEAP16[(((dirp + pos)+(16))>>1)] = 280; - HEAP8[(dirp + pos)+(18)] = type; - stringToUTF8(name, dirp + pos + 19, 256); - pos += struct_size; - idx += 1; - } - FS.llseek(stream, idx * struct_size, 0); - return pos; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_ioctl(fd, op, varargs) { - SYSCALLS.varargs = varargs; - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - switch (op) { - case 21509: { - if (!stream.tty) return -59; - return 0; - } - case 21505: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcgets) { - var termios = stream.tty.ops.ioctl_tcgets(stream); - var argp = SYSCALLS.getp(); - HEAP32[((argp)>>2)] = termios.c_iflag || 0; - HEAP32[(((argp)+(4))>>2)] = termios.c_oflag || 0; - HEAP32[(((argp)+(8))>>2)] = termios.c_cflag || 0; - HEAP32[(((argp)+(12))>>2)] = termios.c_lflag || 0; - for (var i = 0; i < 32; i++) { - HEAP8[(argp + i)+(17)] = termios.c_cc[i] || 0; - } - return 0; - } - return 0; - } - case 21510: - case 21511: - case 21512: { - if (!stream.tty) return -59; - return 0; // no-op, not actually adjusting terminal settings - } - case 21506: - case 21507: - case 21508: { - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tcsets) { - var argp = SYSCALLS.getp(); - var c_iflag = HEAP32[((argp)>>2)]; - var c_oflag = HEAP32[(((argp)+(4))>>2)]; - var c_cflag = HEAP32[(((argp)+(8))>>2)]; - var c_lflag = HEAP32[(((argp)+(12))>>2)]; - var c_cc = [] - for (var i = 0; i < 32; i++) { - c_cc.push(HEAP8[(argp + i)+(17)]); - } - return stream.tty.ops.ioctl_tcsets(stream.tty, op, { c_iflag, c_oflag, c_cflag, c_lflag, c_cc }); - } - return 0; // no-op, not actually adjusting terminal settings - } - case 21519: { - if (!stream.tty) return -59; - var argp = SYSCALLS.getp(); - HEAP32[((argp)>>2)] = 0; - return 0; - } - case 21520: { - if (!stream.tty) return -59; - return -28; // not supported - } - case 21531: { - var argp = SYSCALLS.getp(); - return FS.ioctl(stream, op, argp); - } - case 21523: { - // TODO: in theory we should write to the winsize struct that gets - // passed in, but for now musl doesn't read anything on it - if (!stream.tty) return -59; - if (stream.tty.ops.ioctl_tiocgwinsz) { - var winsize = stream.tty.ops.ioctl_tiocgwinsz(stream.tty); - var argp = SYSCALLS.getp(); - HEAP16[((argp)>>1)] = winsize[0]; - HEAP16[(((argp)+(2))>>1)] = winsize[1]; - } - return 0; - } - case 21524: { - // TODO: technically, this ioctl call should change the window size. - // but, since emscripten doesn't have any concept of a terminal window - // yet, we'll just silently throw it away as we do TIOCGWINSZ - if (!stream.tty) return -59; - return 0; - } - case 21515: { - if (!stream.tty) return -59; - return 0; - } - default: return -28; // not supported - } - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_lstat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.doStat(FS.lstat, path, buf); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_newfstatat(dirfd, path, buf, flags) { - try { - - path = SYSCALLS.getStr(path); - var nofollow = flags & 256; - var allowEmpty = flags & 4096; - flags = flags & (~6400); - assert(!flags, `unknown flags in __syscall_newfstatat: ${flags}`); - path = SYSCALLS.calculateAt(dirfd, path, allowEmpty); - return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_openat(dirfd, path, flags, varargs) { - SYSCALLS.varargs = varargs; - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - var mode = varargs ? SYSCALLS.get() : 0; - return FS.open(path, flags, mode).fd; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_renameat(olddirfd, oldpath, newdirfd, newpath) { - try { - - oldpath = SYSCALLS.getStr(oldpath); - newpath = SYSCALLS.getStr(newpath); - oldpath = SYSCALLS.calculateAt(olddirfd, oldpath); - newpath = SYSCALLS.calculateAt(newdirfd, newpath); - FS.rename(oldpath, newpath); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_rmdir(path) { - try { - - path = SYSCALLS.getStr(path); - FS.rmdir(path); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_stat64(path, buf) { - try { - - path = SYSCALLS.getStr(path); - return SYSCALLS.doStat(FS.stat, path, buf); - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - function ___syscall_unlinkat(dirfd, path, flags) { - try { - - path = SYSCALLS.getStr(path); - path = SYSCALLS.calculateAt(dirfd, path); - if (flags === 0) { - FS.unlink(path); - } else if (flags === 512) { - FS.rmdir(path); - } else { - abort('Invalid flags passed to unlinkat'); - } - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return -e.errno; - } - } - - var nowIsMonotonic = 1; - var __emscripten_get_now_is_monotonic = () => nowIsMonotonic; - - var __emscripten_throw_longjmp = () => { - throw Infinity; - }; - - var convertI32PairToI53Checked = (lo, hi) => { - assert(lo == (lo >>> 0) || lo == (lo|0)); // lo should either be a i32 or a u32 - assert(hi === (hi|0)); // hi should be a i32 - return ((hi + 0x200000) >>> 0 < 0x400001 - !!lo) ? (lo >>> 0) + hi * 4294967296 : NaN; - }; - function __gmtime_js(time_low, time_high,tmPtr) { - var time = convertI32PairToI53Checked(time_low, time_high); - - - var date = new Date(time * 1000); - HEAP32[((tmPtr)>>2)] = date.getUTCSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getUTCMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getUTCHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getUTCDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getUTCMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getUTCFullYear()-1900; - HEAP32[(((tmPtr)+(24))>>2)] = date.getUTCDay(); - var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); - var yday = ((date.getTime() - start) / (1000 * 60 * 60 * 24))|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - ; - } - - var isLeapYear = (year) => year%4 === 0 && (year%100 !== 0 || year%400 === 0); - - var MONTH_DAYS_LEAP_CUMULATIVE = [0,31,60,91,121,152,182,213,244,274,305,335]; - - var MONTH_DAYS_REGULAR_CUMULATIVE = [0,31,59,90,120,151,181,212,243,273,304,334]; - var ydayFromDate = (date) => { - var leap = isLeapYear(date.getFullYear()); - var monthDaysCumulative = (leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE); - var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1; // -1 since it's days since Jan 1 - - return yday; - }; - - function __localtime_js(time_low, time_high,tmPtr) { - var time = convertI32PairToI53Checked(time_low, time_high); - - - var date = new Date(time*1000); - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getFullYear()-1900; - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - HEAP32[(((tmPtr)+(36))>>2)] = -(date.getTimezoneOffset() * 60); - - // Attention: DST is in December in South, and some regions don't have DST at all. - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dst = (summerOffset != winterOffset && date.getTimezoneOffset() == Math.min(winterOffset, summerOffset))|0; - HEAP32[(((tmPtr)+(32))>>2)] = dst; - ; - } - - - - var __mktime_js = function(tmPtr) { - - var ret = (() => { - var date = new Date(HEAP32[(((tmPtr)+(20))>>2)] + 1900, - HEAP32[(((tmPtr)+(16))>>2)], - HEAP32[(((tmPtr)+(12))>>2)], - HEAP32[(((tmPtr)+(8))>>2)], - HEAP32[(((tmPtr)+(4))>>2)], - HEAP32[((tmPtr)>>2)], - 0); - - // There's an ambiguous hour when the time goes back; the tm_isdst field is - // used to disambiguate it. Date() basically guesses, so we fix it up if it - // guessed wrong, or fill in tm_isdst with the guess if it's -1. - var dst = HEAP32[(((tmPtr)+(32))>>2)]; - var guessedOffset = date.getTimezoneOffset(); - var start = new Date(date.getFullYear(), 0, 1); - var summerOffset = new Date(date.getFullYear(), 6, 1).getTimezoneOffset(); - var winterOffset = start.getTimezoneOffset(); - var dstOffset = Math.min(winterOffset, summerOffset); // DST is in December in South - if (dst < 0) { - // Attention: some regions don't have DST at all. - HEAP32[(((tmPtr)+(32))>>2)] = Number(summerOffset != winterOffset && dstOffset == guessedOffset); - } else if ((dst > 0) != (dstOffset == guessedOffset)) { - var nonDstOffset = Math.max(winterOffset, summerOffset); - var trueOffset = dst > 0 ? dstOffset : nonDstOffset; - // Don't try setMinutes(date.getMinutes() + ...) -- it's messed up. - date.setTime(date.getTime() + (trueOffset - guessedOffset)*60000); - } - - HEAP32[(((tmPtr)+(24))>>2)] = date.getDay(); - var yday = ydayFromDate(date)|0; - HEAP32[(((tmPtr)+(28))>>2)] = yday; - // To match expected behavior, update fields from date - HEAP32[((tmPtr)>>2)] = date.getSeconds(); - HEAP32[(((tmPtr)+(4))>>2)] = date.getMinutes(); - HEAP32[(((tmPtr)+(8))>>2)] = date.getHours(); - HEAP32[(((tmPtr)+(12))>>2)] = date.getDate(); - HEAP32[(((tmPtr)+(16))>>2)] = date.getMonth(); - HEAP32[(((tmPtr)+(20))>>2)] = date.getYear(); - - var timeMs = date.getTime(); - if (isNaN(timeMs)) { - return -1; - } - // Return time in microseconds - return timeMs / 1000; - })(); - return (setTempRet0((tempDouble = ret,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)), ret>>>0); - }; - - var __tzset_js = (timezone, daylight, std_name, dst_name) => { - // TODO: Use (malleable) environment variables instead of system settings. - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - var winterOffset = winter.getTimezoneOffset(); - var summerOffset = summer.getTimezoneOffset(); - - // Local standard timezone offset. Local standard time is not adjusted for - // daylight savings. This code uses the fact that getTimezoneOffset returns - // a greater value during Standard Time versus Daylight Saving Time (DST). - // Thus it determines the expected output during Standard Time, and it - // compares whether the output of the given date the same (Standard) or less - // (DST). - var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - - // timezone is specified as seconds west of UTC ("The external variable - // `timezone` shall be set to the difference, in seconds, between - // Coordinated Universal Time (UTC) and local standard time."), the same - // as returned by stdTimezoneOffset. - // See http://pubs.opengroup.org/onlinepubs/009695399/functions/tzset.html - HEAPU32[((timezone)>>2)] = stdTimezoneOffset * 60; - - HEAP32[((daylight)>>2)] = Number(winterOffset != summerOffset); - - function extractZone(date) { - var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); - return match ? match[1] : "GMT"; - }; - var winterName = extractZone(winter); - var summerName = extractZone(summer); - if (summerOffset < winterOffset) { - // Northern hemisphere - stringToUTF8(winterName, std_name, 7); - stringToUTF8(summerName, dst_name, 7); - } else { - stringToUTF8(winterName, dst_name, 7); - stringToUTF8(summerName, std_name, 7); - } - }; - - var _emscripten_date_now = () => Date.now(); - - var _emscripten_get_now; - // Modern environment where performance.now() is supported: - // N.B. a shorter form "_emscripten_get_now = performance.now;" is - // unfortunately not allowed even in current browsers (e.g. FF Nightly 75). - _emscripten_get_now = () => performance.now(); - ; - - var _emscripten_memcpy_js = (dest, src, num) => HEAPU8.copyWithin(dest, src, src + num); - - var getHeapMax = () => - // Stay one Wasm page short of 4GB: while e.g. Chrome is able to allocate - // full 4GB Wasm memories, the size will wrap back to 0 bytes in Wasm side - // for any code that deals with heap sizes, which would require special - // casing all heap size related code to treat 0 specially. - 2147483648; - - var growMemory = (size) => { - var b = wasmMemory.buffer; - var pages = (size - b.byteLength + 65535) / 65536; - try { - // round size grow request up to wasm page size (fixed 64KB per spec) - wasmMemory.grow(pages); // .grow() takes a delta compared to the previous size - updateMemoryViews(); - return 1 /*success*/; - } catch(e) { - err(`growMemory: Attempted to grow heap from ${b.byteLength} bytes to ${size} bytes, but got error: ${e}`); - } - // implicit 0 return to save code size (caller will cast "undefined" into 0 - // anyhow) - }; - var _emscripten_resize_heap = (requestedSize) => { - var oldSize = HEAPU8.length; - // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned. - requestedSize >>>= 0; - // With multithreaded builds, races can happen (another thread might increase the size - // in between), so return a failure, and let the caller retry. - assert(requestedSize > oldSize); - - // Memory resize rules: - // 1. Always increase heap size to at least the requested size, rounded up - // to next page multiple. - // 2a. If MEMORY_GROWTH_LINEAR_STEP == -1, excessively resize the heap - // geometrically: increase the heap size according to - // MEMORY_GROWTH_GEOMETRIC_STEP factor (default +20%), At most - // overreserve by MEMORY_GROWTH_GEOMETRIC_CAP bytes (default 96MB). - // 2b. If MEMORY_GROWTH_LINEAR_STEP != -1, excessively resize the heap - // linearly: increase the heap size by at least - // MEMORY_GROWTH_LINEAR_STEP bytes. - // 3. Max size for the heap is capped at 2048MB-WASM_PAGE_SIZE, or by - // MAXIMUM_MEMORY, or by ASAN limit, depending on which is smallest - // 4. If we were unable to allocate as much memory, it may be due to - // over-eager decision to excessively reserve due to (3) above. - // Hence if an allocation fails, cut down on the amount of excess - // growth, in an attempt to succeed to perform a smaller allocation. - - // A limit is set for how much we can grow. We should not exceed that - // (the wasm binary specifies it, so if we tried, we'd fail anyhow). - var maxHeapSize = getHeapMax(); - if (requestedSize > maxHeapSize) { - err(`Cannot enlarge memory, requested ${requestedSize} bytes, but the limit is ${maxHeapSize} bytes!`); - return false; - } - - var alignUp = (x, multiple) => x + (multiple - x % multiple) % multiple; - - // Loop through potential heap size increases. If we attempt a too eager - // reservation that fails, cut down on the attempted size and reserve a - // smaller bump instead. (max 3 times, chosen somewhat arbitrarily) - for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { - var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); // ensure geometric growth - // but limit overreserving (default to capping at +96MB overgrowth at most) - overGrownHeapSize = Math.min(overGrownHeapSize, requestedSize + 100663296 ); - - var newSize = Math.min(maxHeapSize, alignUp(Math.max(requestedSize, overGrownHeapSize), 65536)); - - var replacement = growMemory(newSize); - if (replacement) { - - return true; - } - } - err(`Failed to grow the heap from ${oldSize} bytes to ${newSize} bytes, not enough memory!`); - return false; - }; - - var ENV = { - }; - - var getExecutableName = () => { - return thisProgram || './this.program'; - }; - var getEnvStrings = () => { - if (!getEnvStrings.strings) { - // Default values. - // Browser language detection #8751 - var lang = ((typeof navigator == 'object' && navigator.languages && navigator.languages[0]) || 'C').replace('-', '_') + '.UTF-8'; - var env = { - 'USER': 'web_user', - 'LOGNAME': 'web_user', - 'PATH': '/', - 'PWD': '/', - 'HOME': '/home/web_user', - 'LANG': lang, - '_': getExecutableName() - }; - // Apply the user-provided values, if any. - for (var x in ENV) { - // x is a key in ENV; if ENV[x] is undefined, that means it was - // explicitly set to be so. We allow user code to do that to - // force variables with default values to remain unset. - if (ENV[x] === undefined) delete env[x]; - else env[x] = ENV[x]; - } - var strings = []; - for (var x in env) { - strings.push(`${x}=${env[x]}`); - } - getEnvStrings.strings = strings; - } - return getEnvStrings.strings; - }; - - var stringToAscii = (str, buffer) => { - for (var i = 0; i < str.length; ++i) { - assert(str.charCodeAt(i) === (str.charCodeAt(i) & 0xff)); - HEAP8[buffer++] = str.charCodeAt(i); - } - // Null-terminate the string - HEAP8[buffer] = 0; - }; - var _environ_get = (__environ, environ_buf) => { - var bufSize = 0; - getEnvStrings().forEach((string, i) => { - var ptr = environ_buf + bufSize; - HEAPU32[(((__environ)+(i*4))>>2)] = ptr; - stringToAscii(string, ptr); - bufSize += string.length + 1; - }); - return 0; - }; - - var _environ_sizes_get = (penviron_count, penviron_buf_size) => { - var strings = getEnvStrings(); - HEAPU32[((penviron_count)>>2)] = strings.length; - var bufSize = 0; - strings.forEach((string) => bufSize += string.length + 1); - HEAPU32[((penviron_buf_size)>>2)] = bufSize; - return 0; - }; - - - var runtimeKeepaliveCounter = 0; - var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0; - var _proc_exit = (code) => { - EXITSTATUS = code; - if (!keepRuntimeAlive()) { - Module['onExit']?.(code); - ABORT = true; - } - quit_(code, new ExitStatus(code)); - }; - - /** @suppress {duplicate } */ - /** @param {boolean|number=} implicit */ - var exitJS = (status, implicit) => { - EXITSTATUS = status; - - if (!keepRuntimeAlive()) { - exitRuntime(); - } - - // if exit() was called explicitly, warn the user if the runtime isn't actually being shut down - if (keepRuntimeAlive() && !implicit) { - var msg = `program exited (with status: ${status}), but keepRuntimeAlive() is set (counter=${runtimeKeepaliveCounter}) due to an async operation, so halting execution but not exiting the runtime or preventing further async execution (you can use emscripten_force_exit, if you want to force a true shutdown)`; - err(msg); - } - - _proc_exit(status); - }; - var _exit = exitJS; - - function _fd_close(fd) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - FS.close(stream); - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - /** @param {number=} offset */ - var doReadv = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.read(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (curr < len) break; // nothing more to read - if (typeof offset !== 'undefined') { - offset += curr; - } - } - return ret; - }; - - - function _fd_pread(fd,iov,iovcnt,offset_low, offset_high,pnum) { - var offset = convertI32PairToI53Checked(offset_low, offset_high); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd) - var num = doReadv(stream, iov, iovcnt, offset); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - /** @param {number=} offset */ - var doWritev = (stream, iov, iovcnt, offset) => { - var ret = 0; - for (var i = 0; i < iovcnt; i++) { - var ptr = HEAPU32[((iov)>>2)]; - var len = HEAPU32[(((iov)+(4))>>2)]; - iov += 8; - var curr = FS.write(stream, HEAP8, ptr, len, offset); - if (curr < 0) return -1; - ret += curr; - if (typeof offset !== 'undefined') { - offset += curr; - } - } - return ret; - }; - - - function _fd_pwrite(fd,iov,iovcnt,offset_low, offset_high,pnum) { - var offset = convertI32PairToI53Checked(offset_low, offset_high); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd) - var num = doWritev(stream, iov, iovcnt, offset); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - - function _fd_read(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doReadv(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - function _fd_seek(fd,offset_low, offset_high,whence,newOffset) { - var offset = convertI32PairToI53Checked(offset_low, offset_high); - - - try { - - if (isNaN(offset)) return 61; - var stream = SYSCALLS.getStreamFromFD(fd); - FS.llseek(stream, offset, whence); - (tempI64 = [stream.position>>>0,(tempDouble = stream.position,(+(Math.abs(tempDouble))) >= 1.0 ? (tempDouble > 0.0 ? (+(Math.floor((tempDouble)/4294967296.0)))>>>0 : (~~((+(Math.ceil((tempDouble - +(((~~(tempDouble)))>>>0))/4294967296.0)))))>>>0) : 0)], HEAP32[((newOffset)>>2)] = tempI64[0],HEAP32[(((newOffset)+(4))>>2)] = tempI64[1]); - if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null; // reset readdir state - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - ; - } - - - function _fd_write(fd, iov, iovcnt, pnum) { - try { - - var stream = SYSCALLS.getStreamFromFD(fd); - var num = doWritev(stream, iov, iovcnt); - HEAPU32[((pnum)>>2)] = num; - return 0; - } catch (e) { - if (typeof FS == 'undefined' || !(e.name === 'ErrnoError')) throw e; - return e.errno; - } - } - - - var handleException = (e) => { - // Certain exception types we do not treat as errors since they are used for - // internal control flow. - // 1. ExitStatus, which is thrown by exit() - // 2. "unwind", which is thrown by emscripten_unwind_to_js_event_loop() and others - // that wish to return to JS event loop. - if (e instanceof ExitStatus || e == 'unwind') { - return EXITSTATUS; - } - checkStackCookie(); - if (e instanceof WebAssembly.RuntimeError) { - if (_emscripten_stack_get_current() <= 0) { - err('Stack overflow detected. You can try increasing -sSTACK_SIZE (currently set to 65536)'); - } - } - quit_(1, e); - }; - - - var stringToUTF8OnStack = (str) => { - var size = lengthBytesUTF8(str) + 1; - var ret = stackAlloc(size); - stringToUTF8(str, ret, size); - return ret; - }; - - var wasmTableMirror = []; - - var wasmTable; - var getWasmTableEntry = (funcPtr) => { - var func = wasmTableMirror[funcPtr]; - if (!func) { - if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1; - wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr); - } - assert(wasmTable.get(funcPtr) == func, 'JavaScript-side Wasm function table mirror is out of date!'); - return func; - }; - - FS.createPreloadedFile = FS_createPreloadedFile; - FS.staticInit();; -function checkIncomingModuleAPI() { - ignoredModuleProp('fetchSettings'); -} -var wasmImports = { - /** @export */ - __assert_fail: ___assert_fail, - /** @export */ - __syscall_dup: ___syscall_dup, - /** @export */ - __syscall_dup3: ___syscall_dup3, - /** @export */ - __syscall_fcntl64: ___syscall_fcntl64, - /** @export */ - __syscall_fstat64: ___syscall_fstat64, - /** @export */ - __syscall_getdents64: ___syscall_getdents64, - /** @export */ - __syscall_ioctl: ___syscall_ioctl, - /** @export */ - __syscall_lstat64: ___syscall_lstat64, - /** @export */ - __syscall_newfstatat: ___syscall_newfstatat, - /** @export */ - __syscall_openat: ___syscall_openat, - /** @export */ - __syscall_renameat: ___syscall_renameat, - /** @export */ - __syscall_rmdir: ___syscall_rmdir, - /** @export */ - __syscall_stat64: ___syscall_stat64, - /** @export */ - __syscall_unlinkat: ___syscall_unlinkat, - /** @export */ - _emscripten_get_now_is_monotonic: __emscripten_get_now_is_monotonic, - /** @export */ - _emscripten_throw_longjmp: __emscripten_throw_longjmp, - /** @export */ - _gmtime_js: __gmtime_js, - /** @export */ - _localtime_js: __localtime_js, - /** @export */ - _mktime_js: __mktime_js, - /** @export */ - _tzset_js: __tzset_js, - /** @export */ - emscripten_date_now: _emscripten_date_now, - /** @export */ - emscripten_get_now: _emscripten_get_now, - /** @export */ - emscripten_memcpy_js: _emscripten_memcpy_js, - /** @export */ - emscripten_resize_heap: _emscripten_resize_heap, - /** @export */ - environ_get: _environ_get, - /** @export */ - environ_sizes_get: _environ_sizes_get, - /** @export */ - exit: _exit, - /** @export */ - fd_close: _fd_close, - /** @export */ - fd_pread: _fd_pread, - /** @export */ - fd_pwrite: _fd_pwrite, - /** @export */ - fd_read: _fd_read, - /** @export */ - fd_seek: _fd_seek, - /** @export */ - fd_write: _fd_write, - /** @export */ - invoke_ii: invoke_ii, - /** @export */ - invoke_iii: invoke_iii, - /** @export */ - invoke_iiii: invoke_iiii, - /** @export */ - invoke_iiiii: invoke_iiiii, - /** @export */ - invoke_vi: invoke_vi, - /** @export */ - invoke_vii: invoke_vii, - /** @export */ - invoke_viii: invoke_viii, - /** @export */ - invoke_viiii: invoke_viiii -}; -var wasmExports = createWasm(); -var ___wasm_call_ctors = createExportWrapper('__wasm_call_ctors'); -var _main = Module['_main'] = createExportWrapper('__main_argc_argv'); -var _malloc = createExportWrapper('malloc'); -var setTempRet0 = createExportWrapper('setTempRet0'); -var _free = createExportWrapper('free'); -var _fflush = createExportWrapper('fflush'); -var ___funcs_on_exit = createExportWrapper('__funcs_on_exit'); -var _setThrew = createExportWrapper('setThrew'); -var _emscripten_stack_init = () => (_emscripten_stack_init = wasmExports['emscripten_stack_init'])(); -var _emscripten_stack_get_free = () => (_emscripten_stack_get_free = wasmExports['emscripten_stack_get_free'])(); -var _emscripten_stack_get_base = () => (_emscripten_stack_get_base = wasmExports['emscripten_stack_get_base'])(); -var _emscripten_stack_get_end = () => (_emscripten_stack_get_end = wasmExports['emscripten_stack_get_end'])(); -var stackSave = createExportWrapper('stackSave'); -var stackRestore = createExportWrapper('stackRestore'); -var stackAlloc = createExportWrapper('stackAlloc'); -var _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports['emscripten_stack_get_current'])(); -var dynCall_jii = Module['dynCall_jii'] = createExportWrapper('dynCall_jii'); -var dynCall_iiji = Module['dynCall_iiji'] = createExportWrapper('dynCall_iiji'); -var dynCall_iiiiiij = Module['dynCall_iiiiiij'] = createExportWrapper('dynCall_iiiiiij'); -var dynCall_iiiiiiijjii = Module['dynCall_iiiiiiijjii'] = createExportWrapper('dynCall_iiiiiiijjii'); -var dynCall_iiiiiiiiiijj = Module['dynCall_iiiiiiiiiijj'] = createExportWrapper('dynCall_iiiiiiiiiijj'); -var dynCall_jiiiii = Module['dynCall_jiiiii'] = createExportWrapper('dynCall_jiiiii'); -var dynCall_iiiiiiiiiiji = Module['dynCall_iiiiiiiiiiji'] = createExportWrapper('dynCall_iiiiiiiiiiji'); -var dynCall_iiiijii = Module['dynCall_iiiijii'] = createExportWrapper('dynCall_iiiijii'); -var dynCall_iiiiijiii = Module['dynCall_iiiiijiii'] = createExportWrapper('dynCall_iiiiijiii'); -var dynCall_viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiii = Module['dynCall_viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiii'] = createExportWrapper('dynCall_viiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiii'); -var dynCall_viiiiiiiiiiiiiijiiiii = Module['dynCall_viiiiiiiiiiiiiijiiiii'] = createExportWrapper('dynCall_viiiiiiiiiiiiiijiiiii'); -var dynCall_vijii = Module['dynCall_vijii'] = createExportWrapper('dynCall_vijii'); -var dynCall_jji = Module['dynCall_jji'] = createExportWrapper('dynCall_jji'); -var dynCall_iji = Module['dynCall_iji'] = createExportWrapper('dynCall_iji'); -var dynCall_jiji = Module['dynCall_jiji'] = createExportWrapper('dynCall_jiji'); -var dynCall_iij = Module['dynCall_iij'] = createExportWrapper('dynCall_iij'); -var dynCall_ji = Module['dynCall_ji'] = createExportWrapper('dynCall_ji'); -var dynCall_iijii = Module['dynCall_iijii'] = createExportWrapper('dynCall_iijii'); -var dynCall_iijj = Module['dynCall_iijj'] = createExportWrapper('dynCall_iijj'); -var dynCall_iijjjjjj = Module['dynCall_iijjjjjj'] = createExportWrapper('dynCall_iijjjjjj'); -var dynCall_viiiiiiiiijiiii = Module['dynCall_viiiiiiiiijiiii'] = createExportWrapper('dynCall_viiiiiiiiijiiii'); - -function invoke_vi(index,a1) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_ii(index,a1) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_vii(index,a1,a2) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1,a2); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_iii(index,a1,a2) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_viii(index,a1,a2,a3) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1,a2,a3); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_iiii(index,a1,a2,a3) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2,a3); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_viiii(index,a1,a2,a3,a4) { - var sp = stackSave(); - try { - getWasmTableEntry(index)(a1,a2,a3,a4); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - -function invoke_iiiii(index,a1,a2,a3,a4) { - var sp = stackSave(); - try { - return getWasmTableEntry(index)(a1,a2,a3,a4); - } catch(e) { - stackRestore(sp); - if (e !== e+0) throw e; - _setThrew(1, 0); - } -} - - -// include: postamble.js -// === Auto-generated postamble setup entry stuff === - -Module['FS'] = FS; -Module['run'] = run; -var missingLibrarySymbols = [ - 'writeI53ToI64', - 'writeI53ToI64Clamped', - 'writeI53ToI64Signaling', - 'writeI53ToU64Clamped', - 'writeI53ToU64Signaling', - 'readI53FromI64', - 'readI53FromU64', - 'convertI32PairToI53', - 'convertU32PairToI53', - 'arraySum', - 'addDays', - 'inetPton4', - 'inetNtop4', - 'inetPton6', - 'inetNtop6', - 'readSockaddr', - 'writeSockaddr', - 'getCallstack', - 'emscriptenLog', - 'convertPCtoSourceLocation', - 'readEmAsmArgs', - 'jstoi_q', - 'listenOnce', - 'autoResumeAudioContext', - 'dynCallLegacy', - 'getDynCaller', - 'dynCall', - 'runtimeKeepalivePush', - 'runtimeKeepalivePop', - 'callUserCallback', - 'maybeExit', - 'asmjsMangle', - 'HandleAllocator', - 'getNativeTypeSize', - 'STACK_SIZE', - 'STACK_ALIGN', - 'POINTER_SIZE', - 'ASSERTIONS', - 'getCFunc', - 'ccall', - 'cwrap', - 'uleb128Encode', - 'sigToWasmTypes', - 'generateFuncType', - 'convertJsFunctionToWasm', - 'getEmptyTableSlot', - 'updateTableMap', - 'getFunctionAddress', - 'addFunction', - 'removeFunction', - 'reallyNegative', - 'unSign', - 'strLen', - 'reSign', - 'formatString', - 'intArrayToString', - 'AsciiToString', - 'UTF16ToString', - 'stringToUTF16', - 'lengthBytesUTF16', - 'UTF32ToString', - 'stringToUTF32', - 'lengthBytesUTF32', - 'stringToNewUTF8', - 'writeArrayToMemory', - 'registerKeyEventCallback', - 'maybeCStringToJsString', - 'findEventTarget', - 'getBoundingClientRect', - 'fillMouseEventData', - 'registerMouseEventCallback', - 'registerWheelEventCallback', - 'registerUiEventCallback', - 'registerFocusEventCallback', - 'fillDeviceOrientationEventData', - 'registerDeviceOrientationEventCallback', - 'fillDeviceMotionEventData', - 'registerDeviceMotionEventCallback', - 'screenOrientation', - 'fillOrientationChangeEventData', - 'registerOrientationChangeEventCallback', - 'fillFullscreenChangeEventData', - 'registerFullscreenChangeEventCallback', - 'JSEvents_requestFullscreen', - 'JSEvents_resizeCanvasForFullscreen', - 'registerRestoreOldStyle', - 'hideEverythingExceptGivenElement', - 'restoreHiddenElements', - 'setLetterbox', - 'softFullscreenResizeWebGLRenderTarget', - 'doRequestFullscreen', - 'fillPointerlockChangeEventData', - 'registerPointerlockChangeEventCallback', - 'registerPointerlockErrorEventCallback', - 'requestPointerLock', - 'fillVisibilityChangeEventData', - 'registerVisibilityChangeEventCallback', - 'registerTouchEventCallback', - 'fillGamepadEventData', - 'registerGamepadEventCallback', - 'registerBeforeUnloadEventCallback', - 'fillBatteryEventData', - 'battery', - 'registerBatteryEventCallback', - 'setCanvasElementSize', - 'getCanvasElementSize', - 'jsStackTrace', - 'stackTrace', - 'checkWasiClock', - 'wasiRightsToMuslOFlags', - 'wasiOFlagsToMuslOFlags', - 'createDyncallWrapper', - 'safeSetTimeout', - 'setImmediateWrapped', - 'clearImmediateWrapped', - 'polyfillSetImmediate', - 'getPromise', - 'makePromise', - 'idsToPromises', - 'makePromiseCallback', - 'ExceptionInfo', - 'findMatchingCatch', - 'Browser_asyncPrepareDataCounter', - 'setMainLoop', - 'getSocketFromFD', - 'getSocketAddress', - 'FS_unlink', - 'FS_mkdirTree', - '_setNetworkCallback', - 'heapObjectForWebGLType', - 'toTypedArrayIndex', - 'webgl_enable_ANGLE_instanced_arrays', - 'webgl_enable_OES_vertex_array_object', - 'webgl_enable_WEBGL_draw_buffers', - 'webgl_enable_WEBGL_multi_draw', - 'emscriptenWebGLGet', - 'computeUnpackAlignedImageSize', - 'colorChannelsInGlTextureFormat', - 'emscriptenWebGLGetTexPixelData', - 'emscriptenWebGLGetUniform', - 'webglGetUniformLocation', - 'webglPrepareUniformLocationsBeforeFirstUse', - 'webglGetLeftBracePos', - 'emscriptenWebGLGetVertexAttrib', - '__glGetActiveAttribOrUniform', - 'writeGLArray', - 'registerWebGlEventCallback', - 'runAndAbortIfError', - 'ALLOC_NORMAL', - 'ALLOC_STACK', - 'allocate', - 'writeStringToMemory', - 'writeAsciiToMemory', - 'setErrNo', - 'demangle', -]; -missingLibrarySymbols.forEach(missingLibrarySymbol) - -var unexportedSymbols = [ - 'run', - 'addOnPreRun', - 'addOnInit', - 'addOnPreMain', - 'addOnExit', - 'addOnPostRun', - 'addRunDependency', - 'removeRunDependency', - 'FS_createFolder', - 'FS_createPath', - 'FS_createLazyFile', - 'FS_createLink', - 'FS_createDevice', - 'FS_readFile', - 'out', - 'err', - 'callMain', - 'abort', - 'wasmMemory', - 'wasmExports', - 'stackAlloc', - 'stackSave', - 'stackRestore', - 'getTempRet0', - 'setTempRet0', - 'writeStackCookie', - 'checkStackCookie', - 'convertI32PairToI53Checked', - 'ptrToString', - 'zeroMemory', - 'exitJS', - 'getHeapMax', - 'growMemory', - 'ENV', - 'MONTH_DAYS_REGULAR', - 'MONTH_DAYS_LEAP', - 'MONTH_DAYS_REGULAR_CUMULATIVE', - 'MONTH_DAYS_LEAP_CUMULATIVE', - 'isLeapYear', - 'ydayFromDate', - 'ERRNO_CODES', - 'ERRNO_MESSAGES', - 'DNS', - 'Protocols', - 'Sockets', - 'initRandomFill', - 'randomFill', - 'timers', - 'warnOnce', - 'UNWIND_CACHE', - 'readEmAsmArgsArray', - 'jstoi_s', - 'getExecutableName', - 'handleException', - 'keepRuntimeAlive', - 'asyncLoad', - 'alignMemory', - 'mmapAlloc', - 'wasmTable', - 'noExitRuntime', - 'freeTableIndexes', - 'functionsInTableMap', - 'setValue', - 'getValue', - 'PATH', - 'PATH_FS', - 'UTF8Decoder', - 'UTF8ArrayToString', - 'UTF8ToString', - 'stringToUTF8Array', - 'stringToUTF8', - 'lengthBytesUTF8', - 'intArrayFromString', - 'stringToAscii', - 'UTF16Decoder', - 'stringToUTF8OnStack', - 'JSEvents', - 'specialHTMLTargets', - 'findCanvasEventTarget', - 'currentFullscreenStrategy', - 'restoreOldWindowedStyle', - 'ExitStatus', - 'getEnvStrings', - 'doReadv', - 'doWritev', - 'promiseMap', - 'uncaughtExceptionCount', - 'exceptionLast', - 'exceptionCaught', - 'Browser', - 'getPreloadedImageData__data', - 'wget', - 'SYSCALLS', - 'preloadPlugins', - 'FS_createPreloadedFile', - 'FS_modeStringToFlags', - 'FS_getMode', - 'FS_stdin_getChar_buffer', - 'FS_stdin_getChar', - 'FS', - 'FS_createDataFile', - 'MEMFS', - 'TTY', - 'PIPEFS', - 'SOCKFS', - 'tempFixedLengthArray', - 'miniTempWebGLFloatBuffers', - 'miniTempWebGLIntBuffers', - 'GL', - 'AL', - 'GLUT', - 'EGL', - 'GLEW', - 'IDBStore', - 'SDL', - 'SDL_gfx', - 'allocateUTF8', - 'allocateUTF8OnStack', -]; -unexportedSymbols.forEach(unexportedRuntimeSymbol); - - - -var calledRun; - -dependenciesFulfilled = function runCaller() { - // If run has never been called, and we should call run (INVOKE_RUN is true, and Module.noInitialRun is not false) - if (!calledRun) run(); - if (!calledRun) dependenciesFulfilled = runCaller; // try this again later, after new deps are fulfilled -}; - -function callMain(args = []) { - assert(runDependencies == 0, 'cannot call main when async dependencies remain! (listen on Module["onRuntimeInitialized"])'); - assert(__ATPRERUN__.length == 0, 'cannot call main when preRun functions remain to be called'); - - var entryFunction = _main; - - args.unshift(thisProgram); - - var argc = args.length; - var argv = stackAlloc((argc + 1) * 4); - var argv_ptr = argv; - args.forEach((arg) => { - HEAPU32[((argv_ptr)>>2)] = stringToUTF8OnStack(arg); - argv_ptr += 4; - }); - HEAPU32[((argv_ptr)>>2)] = 0; - - try { - - var ret = entryFunction(argc, argv); - - // if we're not running an evented main loop, it's time to exit - exitJS(ret, /* implicit = */ true); - return ret; - } - catch (e) { - return handleException(e); - } -} - -function stackCheckInit() { - // This is normally called automatically during __wasm_call_ctors but need to - // get these values before even running any of the ctors so we call it redundantly - // here. - _emscripten_stack_init(); - // TODO(sbc): Move writeStackCookie to native to to avoid this. - writeStackCookie(); -} - -function run(args = arguments_) { - - if (runDependencies > 0) { - return; - } - - stackCheckInit(); - - preRun(); - - // a preRun added a dependency, run will be called later - if (runDependencies > 0) { - return; - } - - function doRun() { - // run may have just been called through dependencies being fulfilled just in this very frame, - // or while the async setStatus time below was happening - if (calledRun) return; - calledRun = true; - Module['calledRun'] = true; - - if (ABORT) return; - - initRuntime(); - - preMain(); - - if (Module['onRuntimeInitialized']) Module['onRuntimeInitialized'](); - - if (shouldRunNow) callMain(args); - - postRun(); - } - - if (Module['setStatus']) { - Module['setStatus']('Running...'); - setTimeout(function() { - setTimeout(function() { - Module['setStatus'](''); - }, 1); - doRun(); - }, 1); - } else - { - doRun(); - } - checkStackCookie(); -} - -if (Module['preInit']) { - if (typeof Module['preInit'] == 'function') Module['preInit'] = [Module['preInit']]; - while (Module['preInit'].length > 0) { - Module['preInit'].pop()(); - } -} - -// shouldRunNow refers to calling main(), not run(). -var shouldRunNow = true; - -if (Module['noInitialRun']) shouldRunNow = false; - -run(); - -var workerResponded = false, workerCallbackId = -1; - -(function() { - var messageBuffer = null, buffer = 0, bufferSize = 0; - - function flushMessages() { - if (!messageBuffer) return; - if (runtimeInitialized) { - var temp = messageBuffer; - messageBuffer = null; - temp.forEach(function(message) { - onmessage(message); - }); - } - } - - function messageResender() { - flushMessages(); - if (messageBuffer) { - setTimeout(messageResender, 100); // still more to do - } - } - - onmessage = (msg) => { - // if main has not yet been called (mem init file, other async things), buffer messages - if (!runtimeInitialized) { - if (!messageBuffer) { - messageBuffer = []; - setTimeout(messageResender, 100); - } - messageBuffer.push(msg); - return; - } - flushMessages(); - - var func = Module['_' + msg.data['funcName']]; - if (!func) throw 'invalid worker function to call: ' + msg.data['funcName']; - var data = msg.data['data']; - if (data) { - if (!data.byteLength) data = new Uint8Array(data); - if (!buffer || bufferSize < data.length) { - if (buffer) _free(buffer); - bufferSize = data.length; - buffer = _malloc(data.length); - } - HEAPU8.set(data, buffer); - } - - workerResponded = false; - workerCallbackId = msg.data['callbackId']; - if (data) { - func(buffer, data.length); - } else { - func(0, 0); - } - } -})(); - -// end include: postamble.js - diff --git a/src/lib/gs-worker.wasm b/src/lib/gs-worker.wasm deleted file mode 100644 index e0f333053f4f35c61496dd985bb2db9e943ee4a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 13987253 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�TF}q_H#4e2Oj_Hay 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

bgi4*ZDc`KL=2Mrc_W>ROcgPMR;m< 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 z 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
cVSn*deb3Tlb>Cydq3>!~#|@|Zc24)b-#azJ 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�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 z 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 z

`Ym+`KkV7Ku5sttA$f{ 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