@prisma-next/sql-runtime 0.1.0-dev.2 → 0.1.0-dev.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accelerate-EEKAFGN3-SHR4XFVV.js +137863 -0
- package/dist/accelerate-EEKAFGN3-SHR4XFVV.js.map +1 -0
- package/dist/amcheck-24VY6X5V.js +13 -0
- package/dist/amcheck-24VY6X5V.js.map +1 -0
- package/dist/bloom-VS74NLHT.js +13 -0
- package/dist/bloom-VS74NLHT.js.map +1 -0
- package/dist/btree_gin-WBC4EAAI.js +13 -0
- package/dist/btree_gin-WBC4EAAI.js.map +1 -0
- package/dist/btree_gist-UNC6QD3M.js +13 -0
- package/dist/btree_gist-UNC6QD3M.js.map +1 -0
- package/dist/chunk-3KTOEDFX.js +49 -0
- package/dist/chunk-3KTOEDFX.js.map +1 -0
- package/dist/chunk-47DZBRQC.js +1280 -0
- package/dist/chunk-47DZBRQC.js.map +1 -0
- package/dist/chunk-52N6AFZM.js +133 -0
- package/dist/chunk-52N6AFZM.js.map +1 -0
- package/dist/chunk-7D4SUZUM.js +38 -0
- package/dist/chunk-7D4SUZUM.js.map +1 -0
- package/dist/chunk-7UNP42HJ.js +455 -0
- package/dist/chunk-7UNP42HJ.js.map +1 -0
- package/dist/chunk-ECWIHLAT.js +37 -0
- package/dist/chunk-ECWIHLAT.js.map +1 -0
- package/dist/chunk-EI626SDC.js +105 -0
- package/dist/chunk-EI626SDC.js.map +1 -0
- package/dist/chunk-UKKOYUGL.js +578 -0
- package/dist/chunk-UKKOYUGL.js.map +1 -0
- package/dist/chunk-XPLNMXQV.js +1537 -0
- package/dist/chunk-XPLNMXQV.js.map +1 -0
- package/dist/citext-T7MXGUY7.js +13 -0
- package/dist/citext-T7MXGUY7.js.map +1 -0
- package/dist/client-5FENX6AW.js +299 -0
- package/dist/client-5FENX6AW.js.map +1 -0
- package/dist/cube-TFDQBZCI.js +13 -0
- package/dist/cube-TFDQBZCI.js.map +1 -0
- package/dist/dict_int-AEUOPGWP.js +13 -0
- package/dist/dict_int-AEUOPGWP.js.map +1 -0
- package/dist/dict_xsyn-DAAYX3FL.js +13 -0
- package/dist/dict_xsyn-DAAYX3FL.js.map +1 -0
- package/dist/dist-LBVX6BJW.js +189 -0
- package/dist/dist-LBVX6BJW.js.map +1 -0
- package/dist/dist-LCVVJCGI.js +570 -0
- package/dist/dist-LCVVJCGI.js.map +1 -0
- package/dist/dist-WLKUVDN2.js +5127 -0
- package/dist/dist-WLKUVDN2.js.map +1 -0
- package/dist/earthdistance-KIGTF4LE.js +13 -0
- package/dist/earthdistance-KIGTF4LE.js.map +1 -0
- package/dist/file_fdw-5N55UP6I.js +13 -0
- package/dist/file_fdw-5N55UP6I.js.map +1 -0
- package/dist/fuzzystrmatch-KN3YWBFP.js +13 -0
- package/dist/fuzzystrmatch-KN3YWBFP.js.map +1 -0
- package/dist/hstore-YX726NKN.js +13 -0
- package/dist/hstore-YX726NKN.js.map +1 -0
- package/dist/http-exception-FZY2H4OF.js +8 -0
- package/dist/http-exception-FZY2H4OF.js.map +1 -0
- package/dist/index.d.ts +7 -59
- package/dist/index.js +15 -439
- package/dist/index.js.map +1 -1
- package/dist/intarray-NKVXNO2D.js +13 -0
- package/dist/intarray-NKVXNO2D.js.map +1 -0
- package/dist/isn-FTEMJGEV.js +13 -0
- package/dist/isn-FTEMJGEV.js.map +1 -0
- package/dist/lo-DB7L4NGI.js +13 -0
- package/dist/lo-DB7L4NGI.js.map +1 -0
- package/dist/logger-WQ7SHNDD.js +68 -0
- package/dist/logger-WQ7SHNDD.js.map +1 -0
- package/dist/ltree-Z32TZT6W.js +13 -0
- package/dist/ltree-Z32TZT6W.js.map +1 -0
- package/dist/nodefs-NM46ACH7.js +31 -0
- package/dist/nodefs-NM46ACH7.js.map +1 -0
- package/dist/opfs-ahp-NJO33LVZ.js +332 -0
- package/dist/opfs-ahp-NJO33LVZ.js.map +1 -0
- package/dist/pageinspect-YP3IZR4X.js +13 -0
- package/dist/pageinspect-YP3IZR4X.js.map +1 -0
- package/dist/pg_buffercache-7TD5J2FB.js +13 -0
- package/dist/pg_buffercache-7TD5J2FB.js.map +1 -0
- package/dist/pg_dump-SG4KYBUB.js +2492 -0
- package/dist/pg_dump-SG4KYBUB.js.map +1 -0
- package/dist/pg_freespacemap-DZDNCPZK.js +13 -0
- package/dist/pg_freespacemap-DZDNCPZK.js.map +1 -0
- package/dist/pg_surgery-J2MUEWEP.js +13 -0
- package/dist/pg_surgery-J2MUEWEP.js.map +1 -0
- package/dist/pg_trgm-7VNQOYS6.js +13 -0
- package/dist/pg_trgm-7VNQOYS6.js.map +1 -0
- package/dist/pg_visibility-TTSIPHFL.js +13 -0
- package/dist/pg_visibility-TTSIPHFL.js.map +1 -0
- package/dist/pg_walinspect-KPFHSHRJ.js +13 -0
- package/dist/pg_walinspect-KPFHSHRJ.js.map +1 -0
- package/dist/proxy-signals-GUDAMDHV.js +39 -0
- package/dist/proxy-signals-GUDAMDHV.js.map +1 -0
- package/dist/seg-IYVDLE4O.js +13 -0
- package/dist/seg-IYVDLE4O.js.map +1 -0
- package/dist/sql-runtime-qPimiOqJ.d.ts +63 -0
- package/dist/tablefunc-EF4RCS7S.js +13 -0
- package/dist/tablefunc-EF4RCS7S.js.map +1 -0
- package/dist/tcn-3VT5BQYW.js +13 -0
- package/dist/tcn-3VT5BQYW.js.map +1 -0
- package/dist/test/utils.d.ts +60 -0
- package/dist/test/utils.js +24604 -0
- package/dist/test/utils.js.map +1 -0
- package/dist/tiny-CW6F4GX6.js +10 -0
- package/dist/tiny-CW6F4GX6.js.map +1 -0
- package/dist/tsm_system_rows-ES7KNUQH.js +13 -0
- package/dist/tsm_system_rows-ES7KNUQH.js.map +1 -0
- package/dist/tsm_system_time-76WEIMBG.js +13 -0
- package/dist/tsm_system_time-76WEIMBG.js.map +1 -0
- package/dist/unaccent-7RYF3R64.js +13 -0
- package/dist/unaccent-7RYF3R64.js.map +1 -0
- package/dist/utility-Q5A254LJ-J4HTKZPT.js +347 -0
- package/dist/utility-Q5A254LJ-J4HTKZPT.js.map +1 -0
- package/dist/uuid_ossp-4ETE4FPE.js +13 -0
- package/dist/uuid_ossp-4ETE4FPE.js.map +1 -0
- package/dist/vector-74GPNV7V.js +13 -0
- package/dist/vector-74GPNV7V.js.map +1 -0
- package/package.json +12 -10
|
@@ -0,0 +1,2492 @@
|
|
|
1
|
+
import "./chunk-7D4SUZUM.js";
|
|
2
|
+
|
|
3
|
+
// ../../../node_modules/.pnpm/@electric-sql+pglite-tools@0.2.19_@electric-sql+pglite@0.3.14/node_modules/@electric-sql/pglite-tools/dist/chunk-WKZSYPH3.js
|
|
4
|
+
var x = Object.defineProperty;
|
|
5
|
+
var B = (e, r, t) => r in e ? x(e, r, { enumerable: true, configurable: true, writable: true, value: t }) : e[r] = t;
|
|
6
|
+
var b = (e, r, t) => B(e, typeof r != "symbol" ? r + "" : r, t);
|
|
7
|
+
var j = (() => {
|
|
8
|
+
var _scriptName = import.meta.url;
|
|
9
|
+
return async function(moduleArg = {}) {
|
|
10
|
+
var moduleRtn, Module = moduleArg, readyPromiseResolve, readyPromiseReject, readyPromise = new Promise((e, r) => {
|
|
11
|
+
readyPromiseResolve = e, readyPromiseReject = r;
|
|
12
|
+
}), ENVIRONMENT_IS_WEB = typeof window == "object", ENVIRONMENT_IS_WORKER = typeof WorkerGlobalScope < "u", ENVIRONMENT_IS_NODE = typeof process == "object" && typeof process.versions == "object" && typeof process.versions.node == "string" && process.type != "renderer";
|
|
13
|
+
if (ENVIRONMENT_IS_NODE) {
|
|
14
|
+
let { createRequire: e } = await import("module"), r = import.meta.url;
|
|
15
|
+
r.startsWith("data:") && (r = "/");
|
|
16
|
+
var require = e(r);
|
|
17
|
+
}
|
|
18
|
+
var moduleOverrides = Object.assign({}, Module), arguments_ = [], thisProgram = "./this.program", quit_ = (e, r) => {
|
|
19
|
+
throw r;
|
|
20
|
+
}, scriptDirectory = "";
|
|
21
|
+
function locateFile(e) {
|
|
22
|
+
return Module.locateFile ? Module.locateFile(e, scriptDirectory) : scriptDirectory + e;
|
|
23
|
+
}
|
|
24
|
+
var readAsync, readBinary;
|
|
25
|
+
if (ENVIRONMENT_IS_NODE) {
|
|
26
|
+
var fs = require("fs"), nodePath = require("path");
|
|
27
|
+
import.meta.url.startsWith("data:") || (scriptDirectory = nodePath.dirname(require("url").fileURLToPath(import.meta.url)) + "/"), readBinary = (e) => {
|
|
28
|
+
e = isFileURI(e) ? new URL(e) : e;
|
|
29
|
+
var r = fs.readFileSync(e);
|
|
30
|
+
return r;
|
|
31
|
+
}, readAsync = async (e, r = true) => {
|
|
32
|
+
e = isFileURI(e) ? new URL(e) : e;
|
|
33
|
+
var t = fs.readFileSync(e, r ? void 0 : "utf8");
|
|
34
|
+
return t;
|
|
35
|
+
}, !Module.thisProgram && process.argv.length > 1 && (thisProgram = process.argv[1].replace(/\\/g, "/")), arguments_ = process.argv.slice(2), quit_ = (e, r) => {
|
|
36
|
+
throw process.exitCode = e, r;
|
|
37
|
+
};
|
|
38
|
+
} else (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && (ENVIRONMENT_IS_WORKER ? scriptDirectory = self.location.href : typeof document < "u" && document.currentScript && (scriptDirectory = document.currentScript.src), _scriptName && (scriptDirectory = _scriptName), scriptDirectory.startsWith("blob:") ? scriptDirectory = "" : scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1), ENVIRONMENT_IS_WORKER && (readBinary = (e) => {
|
|
39
|
+
var r = new XMLHttpRequest();
|
|
40
|
+
return r.open("GET", e, false), r.responseType = "arraybuffer", r.send(null), new Uint8Array(r.response);
|
|
41
|
+
}), readAsync = async (e) => {
|
|
42
|
+
var r = await fetch(e, { credentials: "same-origin" });
|
|
43
|
+
if (r.ok) return r.arrayBuffer();
|
|
44
|
+
throw new Error(r.status + " : " + r.url);
|
|
45
|
+
});
|
|
46
|
+
var out = Module.print || console.log.bind(console), err = Module.printErr || console.error.bind(console);
|
|
47
|
+
Object.assign(Module, moduleOverrides), moduleOverrides = null, Module.arguments && (arguments_ = Module.arguments), Module.thisProgram && (thisProgram = Module.thisProgram);
|
|
48
|
+
var dynamicLibraries = Module.dynamicLibraries || [], wasmBinary = Module.wasmBinary;
|
|
49
|
+
function intArrayFromBase64(e) {
|
|
50
|
+
if (typeof ENVIRONMENT_IS_NODE < "u" && ENVIRONMENT_IS_NODE) {
|
|
51
|
+
var r = Buffer.from(e, "base64");
|
|
52
|
+
return new Uint8Array(r.buffer, r.byteOffset, r.length);
|
|
53
|
+
}
|
|
54
|
+
for (var t = atob(e), n = new Uint8Array(t.length), a = 0; a < t.length; ++a) n[a] = t.charCodeAt(a);
|
|
55
|
+
return n;
|
|
56
|
+
}
|
|
57
|
+
var wasmMemory, ABORT = false, EXITSTATUS;
|
|
58
|
+
function assert(e, r) {
|
|
59
|
+
e || abort(r);
|
|
60
|
+
}
|
|
61
|
+
var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAP64, HEAPU64, HEAPF64;
|
|
62
|
+
function updateMemoryViews() {
|
|
63
|
+
var e = wasmMemory.buffer;
|
|
64
|
+
Module.HEAP8 = HEAP8 = new Int8Array(e), Module.HEAP16 = HEAP16 = new Int16Array(e), Module.HEAPU8 = HEAPU8 = new Uint8Array(e), Module.HEAPU16 = HEAPU16 = new Uint16Array(e), Module.HEAP32 = HEAP32 = new Int32Array(e), Module.HEAPU32 = HEAPU32 = new Uint32Array(e), Module.HEAPF32 = HEAPF32 = new Float32Array(e), Module.HEAPF64 = HEAPF64 = new Float64Array(e), Module.HEAP64 = HEAP64 = new BigInt64Array(e), Module.HEAPU64 = HEAPU64 = new BigUint64Array(e);
|
|
65
|
+
}
|
|
66
|
+
if (Module.wasmMemory) wasmMemory = Module.wasmMemory;
|
|
67
|
+
else {
|
|
68
|
+
var INITIAL_MEMORY = Module.INITIAL_MEMORY || 33554432;
|
|
69
|
+
wasmMemory = new WebAssembly.Memory({ initial: INITIAL_MEMORY / 65536, maximum: 32768 });
|
|
70
|
+
}
|
|
71
|
+
updateMemoryViews();
|
|
72
|
+
var __ATPRERUN__ = [], __ATINIT__ = [], __ATMAIN__ = [], __ATEXIT__ = [], __ATPOSTRUN__ = [], __RELOC_FUNCS__ = [], runtimeInitialized = false, runtimeExited = false;
|
|
73
|
+
function preRun() {
|
|
74
|
+
if (Module.preRun) for (typeof Module.preRun == "function" && (Module.preRun = [Module.preRun]); Module.preRun.length; ) addOnPreRun(Module.preRun.shift());
|
|
75
|
+
callRuntimeCallbacks(__ATPRERUN__);
|
|
76
|
+
}
|
|
77
|
+
function initRuntime() {
|
|
78
|
+
runtimeInitialized = true, callRuntimeCallbacks(__RELOC_FUNCS__), !Module.noFSInit && !FS.initialized && FS.init(), FS.ignorePermissions = false, TTY.init(), PIPEFS.root = FS.mount(PIPEFS, {}, null), SOCKFS.root = FS.mount(SOCKFS, {}, null), callRuntimeCallbacks(__ATINIT__);
|
|
79
|
+
}
|
|
80
|
+
function preMain() {
|
|
81
|
+
callRuntimeCallbacks(__ATMAIN__);
|
|
82
|
+
}
|
|
83
|
+
function exitRuntime() {
|
|
84
|
+
___funcs_on_exit(), callRuntimeCallbacks(__ATEXIT__), FS.quit(), TTY.shutdown(), runtimeExited = true;
|
|
85
|
+
}
|
|
86
|
+
function postRun() {
|
|
87
|
+
if (Module.postRun) for (typeof Module.postRun == "function" && (Module.postRun = [Module.postRun]); Module.postRun.length; ) addOnPostRun(Module.postRun.shift());
|
|
88
|
+
callRuntimeCallbacks(__ATPOSTRUN__);
|
|
89
|
+
}
|
|
90
|
+
function addOnPreRun(e) {
|
|
91
|
+
__ATPRERUN__.unshift(e);
|
|
92
|
+
}
|
|
93
|
+
function addOnInit(e) {
|
|
94
|
+
__ATINIT__.unshift(e);
|
|
95
|
+
}
|
|
96
|
+
function addOnPostRun(e) {
|
|
97
|
+
__ATPOSTRUN__.unshift(e);
|
|
98
|
+
}
|
|
99
|
+
var runDependencies = 0, dependenciesFulfilled = null;
|
|
100
|
+
function getUniqueRunDependency(e) {
|
|
101
|
+
return e;
|
|
102
|
+
}
|
|
103
|
+
function addRunDependency(e) {
|
|
104
|
+
runDependencies++, Module.monitorRunDependencies?.(runDependencies);
|
|
105
|
+
}
|
|
106
|
+
function removeRunDependency(e) {
|
|
107
|
+
if (runDependencies--, Module.monitorRunDependencies?.(runDependencies), runDependencies == 0 && dependenciesFulfilled) {
|
|
108
|
+
var r = dependenciesFulfilled;
|
|
109
|
+
dependenciesFulfilled = null, r();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function abort(e) {
|
|
113
|
+
Module.onAbort?.(e), e = "Aborted(" + e + ")", err(e), ABORT = true, e += ". Build with -sASSERTIONS for more info.";
|
|
114
|
+
var r = new WebAssembly.RuntimeError(e);
|
|
115
|
+
throw readyPromiseReject(r), r;
|
|
116
|
+
}
|
|
117
|
+
var dataURIPrefix = "data:application/octet-stream;base64,", isDataURI = (e) => e.startsWith(dataURIPrefix), isFileURI = (e) => e.startsWith("file://");
|
|
118
|
+
function findWasmBinary() {
|
|
119
|
+
if (Module.locateFile) {
|
|
120
|
+
var e = "pg_dump.wasm";
|
|
121
|
+
return isDataURI(e) ? e : locateFile(e);
|
|
122
|
+
}
|
|
123
|
+
return new URL("pg_dump.wasm", import.meta.url).href;
|
|
124
|
+
}
|
|
125
|
+
var wasmBinaryFile;
|
|
126
|
+
function getBinarySync(e) {
|
|
127
|
+
if (e == wasmBinaryFile && wasmBinary) return new Uint8Array(wasmBinary);
|
|
128
|
+
if (readBinary) return readBinary(e);
|
|
129
|
+
throw "both async and sync fetching of the wasm failed";
|
|
130
|
+
}
|
|
131
|
+
async function getWasmBinary(e) {
|
|
132
|
+
if (!wasmBinary) try {
|
|
133
|
+
var r = await readAsync(e);
|
|
134
|
+
return new Uint8Array(r);
|
|
135
|
+
} catch {
|
|
136
|
+
}
|
|
137
|
+
return getBinarySync(e);
|
|
138
|
+
}
|
|
139
|
+
async function instantiateArrayBuffer(e, r) {
|
|
140
|
+
try {
|
|
141
|
+
var t = await getWasmBinary(e), n = await WebAssembly.instantiate(t, r);
|
|
142
|
+
return n;
|
|
143
|
+
} catch (a) {
|
|
144
|
+
err(`failed to asynchronously prepare wasm: ${a}`), abort(a);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
async function instantiateAsync(e, r, t) {
|
|
148
|
+
if (!e && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(r) && !ENVIRONMENT_IS_NODE && typeof fetch == "function") try {
|
|
149
|
+
var n = fetch(r, { credentials: "same-origin" }), a = await WebAssembly.instantiateStreaming(n, t);
|
|
150
|
+
return a;
|
|
151
|
+
} catch (o) {
|
|
152
|
+
err(`wasm streaming compile failed: ${o}`), err("falling back to ArrayBuffer instantiation");
|
|
153
|
+
}
|
|
154
|
+
return instantiateArrayBuffer(r, t);
|
|
155
|
+
}
|
|
156
|
+
function getWasmImports() {
|
|
157
|
+
return { env: wasmImports, wasi_snapshot_preview1: wasmImports, "GOT.mem": new Proxy(wasmImports, GOTHandler), "GOT.func": new Proxy(wasmImports, GOTHandler) };
|
|
158
|
+
}
|
|
159
|
+
async function createWasm() {
|
|
160
|
+
function e(a, o) {
|
|
161
|
+
wasmExports = a.exports, wasmExports = relocateExports(wasmExports, 1024);
|
|
162
|
+
var s = getDylinkMetadata(o);
|
|
163
|
+
return s.neededDynlibs && (dynamicLibraries = s.neededDynlibs.concat(dynamicLibraries)), mergeLibSymbols(wasmExports, "main"), LDSO.init(), loadDylibs(), addOnInit(wasmExports.__wasm_call_ctors), __RELOC_FUNCS__.push(wasmExports.__wasm_apply_data_relocs), removeRunDependency("wasm-instantiate"), wasmExports;
|
|
164
|
+
}
|
|
165
|
+
addRunDependency("wasm-instantiate");
|
|
166
|
+
function r(a) {
|
|
167
|
+
e(a.instance, a.module);
|
|
168
|
+
}
|
|
169
|
+
var t = getWasmImports();
|
|
170
|
+
if (Module.instantiateWasm) try {
|
|
171
|
+
return Module.instantiateWasm(t, e);
|
|
172
|
+
} catch (a) {
|
|
173
|
+
err(`Module.instantiateWasm callback failed with error: ${a}`), readyPromiseReject(a);
|
|
174
|
+
}
|
|
175
|
+
wasmBinaryFile ?? (wasmBinaryFile = findWasmBinary());
|
|
176
|
+
try {
|
|
177
|
+
var n = await instantiateAsync(wasmBinary, wasmBinaryFile, t);
|
|
178
|
+
return r(n), n;
|
|
179
|
+
} catch (a) {
|
|
180
|
+
readyPromiseReject(a);
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
var ASM_CONSTS = {};
|
|
185
|
+
class ExitStatus {
|
|
186
|
+
constructor(r) {
|
|
187
|
+
b(this, "name", "ExitStatus");
|
|
188
|
+
this.message = `Program terminated with exit(${r})`, this.status = r;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
var GOT = {}, currentModuleWeakSymbols = /* @__PURE__ */ new Set([]), GOTHandler = { get(e, r) {
|
|
192
|
+
var t = GOT[r];
|
|
193
|
+
return t || (t = GOT[r] = new WebAssembly.Global({ value: "i32", mutable: true })), currentModuleWeakSymbols.has(r) || (t.required = true), t;
|
|
194
|
+
} }, callRuntimeCallbacks = (e) => {
|
|
195
|
+
for (; e.length > 0; ) e.shift()(Module);
|
|
196
|
+
}, UTF8Decoder = typeof TextDecoder < "u" ? new TextDecoder() : void 0, UTF8ArrayToString = (e, r = 0, t = NaN) => {
|
|
197
|
+
for (var n = r + t, a = r; e[a] && !(a >= n); ) ++a;
|
|
198
|
+
if (a - r > 16 && e.buffer && UTF8Decoder) return UTF8Decoder.decode(e.subarray(r, a));
|
|
199
|
+
for (var o = ""; r < a; ) {
|
|
200
|
+
var s = e[r++];
|
|
201
|
+
if (!(s & 128)) {
|
|
202
|
+
o += String.fromCharCode(s);
|
|
203
|
+
continue;
|
|
204
|
+
}
|
|
205
|
+
var l = e[r++] & 63;
|
|
206
|
+
if ((s & 224) == 192) {
|
|
207
|
+
o += String.fromCharCode((s & 31) << 6 | l);
|
|
208
|
+
continue;
|
|
209
|
+
}
|
|
210
|
+
var u = e[r++] & 63;
|
|
211
|
+
if ((s & 240) == 224 ? s = (s & 15) << 12 | l << 6 | u : s = (s & 7) << 18 | l << 12 | u << 6 | e[r++] & 63, s < 65536) o += String.fromCharCode(s);
|
|
212
|
+
else {
|
|
213
|
+
var d = s - 65536;
|
|
214
|
+
o += String.fromCharCode(55296 | d >> 10, 56320 | d & 1023);
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
return o;
|
|
218
|
+
}, getDylinkMetadata = (e) => {
|
|
219
|
+
var r = 0, t = 0;
|
|
220
|
+
function n() {
|
|
221
|
+
return e[r++];
|
|
222
|
+
}
|
|
223
|
+
function a() {
|
|
224
|
+
for (var P = 0, H = 1; ; ) {
|
|
225
|
+
var I = e[r++];
|
|
226
|
+
if (P += (I & 127) * H, H *= 128, !(I & 128)) break;
|
|
227
|
+
}
|
|
228
|
+
return P;
|
|
229
|
+
}
|
|
230
|
+
function o() {
|
|
231
|
+
var P = a();
|
|
232
|
+
return r += P, UTF8ArrayToString(e, r - P, P);
|
|
233
|
+
}
|
|
234
|
+
function s(P, H) {
|
|
235
|
+
if (P) throw new Error(H);
|
|
236
|
+
}
|
|
237
|
+
var l = "dylink.0";
|
|
238
|
+
if (e instanceof WebAssembly.Module) {
|
|
239
|
+
var u = WebAssembly.Module.customSections(e, l);
|
|
240
|
+
u.length === 0 && (l = "dylink", u = WebAssembly.Module.customSections(e, l)), s(u.length === 0, "need dylink section"), e = new Uint8Array(u[0]), t = e.length;
|
|
241
|
+
} else {
|
|
242
|
+
var d = new Uint32Array(new Uint8Array(e.subarray(0, 24)).buffer), c = d[0] == 1836278016;
|
|
243
|
+
s(!c, "need to see wasm magic number"), s(e[8] !== 0, "need the dylink section to be first"), r = 9;
|
|
244
|
+
var m = a();
|
|
245
|
+
t = r + m, l = o();
|
|
246
|
+
}
|
|
247
|
+
var _ = { neededDynlibs: [], tlsExports: /* @__PURE__ */ new Set(), weakImports: /* @__PURE__ */ new Set() };
|
|
248
|
+
if (l == "dylink") {
|
|
249
|
+
_.memorySize = a(), _.memoryAlign = a(), _.tableSize = a(), _.tableAlign = a();
|
|
250
|
+
for (var f = a(), S = 0; S < f; ++S) {
|
|
251
|
+
var v = o();
|
|
252
|
+
_.neededDynlibs.push(v);
|
|
253
|
+
}
|
|
254
|
+
} else {
|
|
255
|
+
s(l !== "dylink.0");
|
|
256
|
+
for (var F = 1, g = 2, w = 3, A = 4, y = 256, p = 3, h = 1; r < t; ) {
|
|
257
|
+
var E = n(), M = a();
|
|
258
|
+
if (E === F) _.memorySize = a(), _.memoryAlign = a(), _.tableSize = a(), _.tableAlign = a();
|
|
259
|
+
else if (E === g) for (var f = a(), S = 0; S < f; ++S) v = o(), _.neededDynlibs.push(v);
|
|
260
|
+
else if (E === w) for (var T = a(); T--; ) {
|
|
261
|
+
var D = o(), R = a();
|
|
262
|
+
R & y && _.tlsExports.add(D);
|
|
263
|
+
}
|
|
264
|
+
else if (E === A) for (var T = a(); T--; ) {
|
|
265
|
+
var k = o(), D = o(), R = a();
|
|
266
|
+
(R & p) == h && _.weakImports.add(D);
|
|
267
|
+
}
|
|
268
|
+
else r += M;
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
return _;
|
|
272
|
+
}, newDSO = (e, r, t) => {
|
|
273
|
+
var n = { refcount: 1 / 0, name: e, exports: t, global: true };
|
|
274
|
+
return LDSO.loadedLibsByName[e] = n, r != null && (LDSO.loadedLibsByHandle[r] = n), n;
|
|
275
|
+
}, LDSO = { loadedLibsByName: {}, loadedLibsByHandle: {}, init() {
|
|
276
|
+
newDSO("__main__", 0, wasmImports);
|
|
277
|
+
} }, ___heap_base = 289952, alignMemory = (e, r) => Math.ceil(e / r) * r, getMemory = (e) => {
|
|
278
|
+
if (runtimeInitialized) return _calloc(e, 1);
|
|
279
|
+
var r = ___heap_base, t = r + alignMemory(e, 16);
|
|
280
|
+
return ___heap_base = t, GOT.__heap_base.value = t, r;
|
|
281
|
+
}, isInternalSym = (e) => ["__cpp_exception", "__c_longjmp", "__wasm_apply_data_relocs", "__dso_handle", "__tls_size", "__tls_align", "__set_stack_limits", "_emscripten_tls_init", "__wasm_init_tls", "__wasm_call_ctors", "__start_em_asm", "__stop_em_asm", "__start_em_js", "__stop_em_js"].includes(e) || e.startsWith("__em_js__"), uleb128Encode = (e, r) => {
|
|
282
|
+
e < 128 ? r.push(e) : r.push(e % 128 | 128, e >> 7);
|
|
283
|
+
}, sigToWasmTypes = (e) => {
|
|
284
|
+
for (var r = { i: "i32", j: "i64", f: "f32", d: "f64", e: "externref", p: "i32" }, t = { parameters: [], results: e[0] == "v" ? [] : [r[e[0]]] }, n = 1; n < e.length; ++n) t.parameters.push(r[e[n]]);
|
|
285
|
+
return t;
|
|
286
|
+
}, generateFuncType = (e, r) => {
|
|
287
|
+
var t = e.slice(0, 1), n = e.slice(1), a = { i: 127, p: 127, j: 126, f: 125, d: 124, e: 111 };
|
|
288
|
+
r.push(96), uleb128Encode(n.length, r);
|
|
289
|
+
for (var o = 0; o < n.length; ++o) r.push(a[n[o]]);
|
|
290
|
+
t == "v" ? r.push(0) : r.push(1, a[t]);
|
|
291
|
+
}, convertJsFunctionToWasm = (e, r) => {
|
|
292
|
+
if (typeof WebAssembly.Function == "function") return new WebAssembly.Function(sigToWasmTypes(r), e);
|
|
293
|
+
var t = [1];
|
|
294
|
+
generateFuncType(r, t);
|
|
295
|
+
var n = [0, 97, 115, 109, 1, 0, 0, 0, 1];
|
|
296
|
+
uleb128Encode(t.length, n), n.push(...t), n.push(2, 7, 1, 1, 101, 1, 102, 0, 0, 7, 5, 1, 1, 102, 0, 0);
|
|
297
|
+
var a = new WebAssembly.Module(new Uint8Array(n)), o = new WebAssembly.Instance(a, { e: { f: e } }), s = o.exports.f;
|
|
298
|
+
return s;
|
|
299
|
+
}, wasmTableMirror = [], wasmTable = new WebAssembly.Table({ initial: 215, element: "anyfunc" }), getWasmTableEntry = (e) => {
|
|
300
|
+
var r = wasmTableMirror[e];
|
|
301
|
+
return r || (e >= wasmTableMirror.length && (wasmTableMirror.length = e + 1), wasmTableMirror[e] = r = wasmTable.get(e)), r;
|
|
302
|
+
}, updateTableMap = (e, r) => {
|
|
303
|
+
if (functionsInTableMap) for (var t = e; t < e + r; t++) {
|
|
304
|
+
var n = getWasmTableEntry(t);
|
|
305
|
+
n && functionsInTableMap.set(n, t);
|
|
306
|
+
}
|
|
307
|
+
}, functionsInTableMap, getFunctionAddress = (e) => (functionsInTableMap || (functionsInTableMap = /* @__PURE__ */ new WeakMap(), updateTableMap(0, wasmTable.length)), functionsInTableMap.get(e) || 0), freeTableIndexes = [], getEmptyTableSlot = () => {
|
|
308
|
+
if (freeTableIndexes.length) return freeTableIndexes.pop();
|
|
309
|
+
try {
|
|
310
|
+
wasmTable.grow(1);
|
|
311
|
+
} catch (e) {
|
|
312
|
+
throw e instanceof RangeError ? "Unable to grow wasm table. Set ALLOW_TABLE_GROWTH." : e;
|
|
313
|
+
}
|
|
314
|
+
return wasmTable.length - 1;
|
|
315
|
+
}, setWasmTableEntry = (e, r) => {
|
|
316
|
+
wasmTable.set(e, r), wasmTableMirror[e] = wasmTable.get(e);
|
|
317
|
+
}, addFunction = (e, r) => {
|
|
318
|
+
var t = getFunctionAddress(e);
|
|
319
|
+
if (t) return t;
|
|
320
|
+
var n = getEmptyTableSlot();
|
|
321
|
+
try {
|
|
322
|
+
setWasmTableEntry(n, e);
|
|
323
|
+
} catch (o) {
|
|
324
|
+
if (!(o instanceof TypeError)) throw o;
|
|
325
|
+
var a = convertJsFunctionToWasm(e, r);
|
|
326
|
+
setWasmTableEntry(n, a);
|
|
327
|
+
}
|
|
328
|
+
return functionsInTableMap.set(e, n), n;
|
|
329
|
+
}, updateGOT = (e, r) => {
|
|
330
|
+
for (var t in e) if (!isInternalSym(t)) {
|
|
331
|
+
var n = e[t];
|
|
332
|
+
GOT[t] || (GOT[t] = new WebAssembly.Global({ value: "i32", mutable: true })), (r || GOT[t].value == 0) && (typeof n == "function" ? GOT[t].value = addFunction(n) : typeof n == "number" ? GOT[t].value = n : err(`unhandled export type for '${t}': ${typeof n}`));
|
|
333
|
+
}
|
|
334
|
+
}, relocateExports = (e, r, t) => {
|
|
335
|
+
var n = {};
|
|
336
|
+
for (var a in e) {
|
|
337
|
+
var o = e[a];
|
|
338
|
+
typeof o == "object" && (o = o.value), typeof o == "number" && (o += r), n[a] = o;
|
|
339
|
+
}
|
|
340
|
+
return updateGOT(n, t), n;
|
|
341
|
+
}, isSymbolDefined = (e) => {
|
|
342
|
+
var r = wasmImports[e];
|
|
343
|
+
return !(!r || r.stub);
|
|
344
|
+
}, dynCall = (e, r, t = []) => {
|
|
345
|
+
var n = getWasmTableEntry(r)(...t);
|
|
346
|
+
return n;
|
|
347
|
+
}, stackSave = () => _emscripten_stack_get_current(), stackRestore = (e) => __emscripten_stack_restore(e), createInvokeFunction = (e) => (r, ...t) => {
|
|
348
|
+
var n = stackSave();
|
|
349
|
+
try {
|
|
350
|
+
return dynCall(e, r, t);
|
|
351
|
+
} catch (a) {
|
|
352
|
+
if (stackRestore(n), a !== a + 0) throw a;
|
|
353
|
+
if (_setThrew(1, 0), e[0] == "j") return 0n;
|
|
354
|
+
}
|
|
355
|
+
}, resolveGlobalSymbol = (e, r = false) => {
|
|
356
|
+
var t;
|
|
357
|
+
return isSymbolDefined(e) ? t = wasmImports[e] : e.startsWith("invoke_") && (t = wasmImports[e] = createInvokeFunction(e.split("_")[1])), { sym: t, name: e };
|
|
358
|
+
}, UTF8ToString = (e, r) => e ? UTF8ArrayToString(HEAPU8, e, r) : "", loadWebAssemblyModule = (binary, flags, libName, localScope, handle) => {
|
|
359
|
+
var metadata = getDylinkMetadata(binary);
|
|
360
|
+
currentModuleWeakSymbols = metadata.weakImports;
|
|
361
|
+
function loadModule() {
|
|
362
|
+
var firstLoad = !handle || !HEAP8[handle + 8];
|
|
363
|
+
if (firstLoad) {
|
|
364
|
+
var memAlign = Math.pow(2, metadata.memoryAlign), memoryBase = metadata.memorySize ? alignMemory(getMemory(metadata.memorySize + memAlign), memAlign) : 0, tableBase = metadata.tableSize ? wasmTable.length : 0;
|
|
365
|
+
handle && (HEAP8[handle + 8] = 1, HEAPU32[handle + 12 >> 2] = memoryBase, HEAP32[handle + 16 >> 2] = metadata.memorySize, HEAPU32[handle + 20 >> 2] = tableBase, HEAP32[handle + 24 >> 2] = metadata.tableSize);
|
|
366
|
+
} else memoryBase = HEAPU32[handle + 12 >> 2], tableBase = HEAPU32[handle + 20 >> 2];
|
|
367
|
+
var tableGrowthNeeded = tableBase + metadata.tableSize - wasmTable.length;
|
|
368
|
+
tableGrowthNeeded > 0 && wasmTable.grow(tableGrowthNeeded);
|
|
369
|
+
var moduleExports;
|
|
370
|
+
function resolveSymbol(e) {
|
|
371
|
+
var r = resolveGlobalSymbol(e).sym;
|
|
372
|
+
return !r && localScope && (r = localScope[e]), r || (r = moduleExports[e]), r;
|
|
373
|
+
}
|
|
374
|
+
var proxyHandler = { get(e, r) {
|
|
375
|
+
switch (r) {
|
|
376
|
+
case "__memory_base":
|
|
377
|
+
return memoryBase;
|
|
378
|
+
case "__table_base":
|
|
379
|
+
return tableBase;
|
|
380
|
+
}
|
|
381
|
+
if (r in wasmImports && !wasmImports[r].stub) return wasmImports[r];
|
|
382
|
+
if (!(r in e)) {
|
|
383
|
+
var t;
|
|
384
|
+
e[r] = (...n) => (t || (t = resolveSymbol(r)), t(...n));
|
|
385
|
+
}
|
|
386
|
+
return e[r];
|
|
387
|
+
} }, proxy = new Proxy({}, proxyHandler), info = { "GOT.mem": new Proxy({}, GOTHandler), "GOT.func": new Proxy({}, GOTHandler), env: proxy, wasi_snapshot_preview1: proxy };
|
|
388
|
+
function postInstantiation(module, instance) {
|
|
389
|
+
updateTableMap(tableBase, metadata.tableSize), moduleExports = relocateExports(instance.exports, memoryBase), flags.allowUndefined || reportUndefinedSymbols();
|
|
390
|
+
function addEmAsm(addr, body) {
|
|
391
|
+
for (var args = [], arity = 0; arity < 16 && body.indexOf("$" + arity) != -1; arity++) args.push("$" + arity);
|
|
392
|
+
args = args.join(",");
|
|
393
|
+
var func = `(${args}) => { ${body} };`;
|
|
394
|
+
ASM_CONSTS[start] = eval(func);
|
|
395
|
+
}
|
|
396
|
+
if ("__start_em_asm" in moduleExports) for (var start = moduleExports.__start_em_asm, stop = moduleExports.__stop_em_asm; start < stop; ) {
|
|
397
|
+
var jsString = UTF8ToString(start);
|
|
398
|
+
addEmAsm(start, jsString), start = HEAPU8.indexOf(0, start) + 1;
|
|
399
|
+
}
|
|
400
|
+
function addEmJs(name, cSig, body) {
|
|
401
|
+
var jsArgs = [];
|
|
402
|
+
if (cSig = cSig.slice(1, -1), cSig != "void") {
|
|
403
|
+
cSig = cSig.split(",");
|
|
404
|
+
for (var i in cSig) {
|
|
405
|
+
var jsArg = cSig[i].split(" ").pop();
|
|
406
|
+
jsArgs.push(jsArg.replace("*", ""));
|
|
407
|
+
}
|
|
408
|
+
}
|
|
409
|
+
var func = `(${jsArgs}) => ${body};`;
|
|
410
|
+
moduleExports[name] = eval(func);
|
|
411
|
+
}
|
|
412
|
+
for (var name in moduleExports) if (name.startsWith("__em_js__")) {
|
|
413
|
+
var start = moduleExports[name], jsString = UTF8ToString(start), parts = jsString.split("<::>");
|
|
414
|
+
addEmJs(name.replace("__em_js__", ""), parts[0], parts[1]), delete moduleExports[name];
|
|
415
|
+
}
|
|
416
|
+
var applyRelocs = moduleExports.__wasm_apply_data_relocs;
|
|
417
|
+
applyRelocs && (runtimeInitialized ? applyRelocs() : __RELOC_FUNCS__.push(applyRelocs));
|
|
418
|
+
var init = moduleExports.__wasm_call_ctors;
|
|
419
|
+
return init && (runtimeInitialized ? init() : __ATINIT__.push(init)), moduleExports;
|
|
420
|
+
}
|
|
421
|
+
if (flags.loadAsync) {
|
|
422
|
+
if (binary instanceof WebAssembly.Module) {
|
|
423
|
+
var instance = new WebAssembly.Instance(binary, info);
|
|
424
|
+
return Promise.resolve(postInstantiation(binary, instance));
|
|
425
|
+
}
|
|
426
|
+
return WebAssembly.instantiate(binary, info).then((e) => postInstantiation(e.module, e.instance));
|
|
427
|
+
}
|
|
428
|
+
var module = binary instanceof WebAssembly.Module ? binary : new WebAssembly.Module(binary), instance = new WebAssembly.Instance(module, info);
|
|
429
|
+
return postInstantiation(module, instance);
|
|
430
|
+
}
|
|
431
|
+
return flags.loadAsync ? metadata.neededDynlibs.reduce((e, r) => e.then(() => loadDynamicLibrary(r, flags, localScope)), Promise.resolve()).then(loadModule) : (metadata.neededDynlibs.forEach((e) => loadDynamicLibrary(e, flags, localScope)), loadModule());
|
|
432
|
+
}, mergeLibSymbols = (e, r) => {
|
|
433
|
+
for (var [t, n] of Object.entries(e)) {
|
|
434
|
+
let a = (s) => {
|
|
435
|
+
isSymbolDefined(s) || (wasmImports[s] = n);
|
|
436
|
+
};
|
|
437
|
+
a(t);
|
|
438
|
+
let o = "__main_argc_argv";
|
|
439
|
+
t == "main" && a(o), t == o && a("main");
|
|
440
|
+
}
|
|
441
|
+
}, asyncLoad = async (e) => {
|
|
442
|
+
var r = await readAsync(e);
|
|
443
|
+
return new Uint8Array(r);
|
|
444
|
+
}, preloadPlugins = Module.preloadPlugins || [], registerWasmPlugin = () => {
|
|
445
|
+
var e = { promiseChainEnd: Promise.resolve(), canHandle: (r) => !Module.noWasmDecoding && r.endsWith(".so"), handle: (r, t, n, a) => {
|
|
446
|
+
e.promiseChainEnd = e.promiseChainEnd.then(() => loadWebAssemblyModule(r, { loadAsync: true, nodelete: true }, t, {})).then((o) => {
|
|
447
|
+
preloadedWasm[t] = o, n(r);
|
|
448
|
+
}, (o) => {
|
|
449
|
+
err(`failed to instantiate wasm: ${t}: ${o}`), a();
|
|
450
|
+
});
|
|
451
|
+
} };
|
|
452
|
+
preloadPlugins.push(e);
|
|
453
|
+
}, preloadedWasm = {};
|
|
454
|
+
function loadDynamicLibrary(e, r = { global: true, nodelete: true }, t, n) {
|
|
455
|
+
var a = LDSO.loadedLibsByName[e];
|
|
456
|
+
if (a) return r.global ? a.global || (a.global = true, mergeLibSymbols(a.exports, e)) : t && Object.assign(t, a.exports), r.nodelete && a.refcount !== 1 / 0 && (a.refcount = 1 / 0), a.refcount++, n && (LDSO.loadedLibsByHandle[n] = a), r.loadAsync ? Promise.resolve(true) : true;
|
|
457
|
+
a = newDSO(e, n, "loading"), a.refcount = r.nodelete ? 1 / 0 : 1, a.global = r.global;
|
|
458
|
+
function o() {
|
|
459
|
+
if (n) {
|
|
460
|
+
var u = HEAPU32[n + 28 >> 2], d = HEAPU32[n + 32 >> 2];
|
|
461
|
+
if (u && d) {
|
|
462
|
+
var c = HEAP8.slice(u, u + d);
|
|
463
|
+
return r.loadAsync ? Promise.resolve(c) : c;
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
var m = locateFile(e);
|
|
467
|
+
if (r.loadAsync) return asyncLoad(m);
|
|
468
|
+
if (!readBinary) throw new Error(`${m}: file not found, and synchronous loading of external files is not available`);
|
|
469
|
+
return readBinary(m);
|
|
470
|
+
}
|
|
471
|
+
function s() {
|
|
472
|
+
var u = preloadedWasm[e];
|
|
473
|
+
return u ? r.loadAsync ? Promise.resolve(u) : u : r.loadAsync ? o().then((d) => loadWebAssemblyModule(d, r, e, t, n)) : loadWebAssemblyModule(o(), r, e, t, n);
|
|
474
|
+
}
|
|
475
|
+
function l(u) {
|
|
476
|
+
a.global ? mergeLibSymbols(u, e) : t && Object.assign(t, u), a.exports = u;
|
|
477
|
+
}
|
|
478
|
+
return r.loadAsync ? s().then((u) => (l(u), true)) : (l(s()), true);
|
|
479
|
+
}
|
|
480
|
+
var reportUndefinedSymbols = () => {
|
|
481
|
+
for (var [e, r] of Object.entries(GOT)) if (r.value == 0) {
|
|
482
|
+
var t = resolveGlobalSymbol(e, true).sym;
|
|
483
|
+
if (!t && !r.required) continue;
|
|
484
|
+
if (typeof t == "function") r.value = addFunction(t, t.sig);
|
|
485
|
+
else if (typeof t == "number") r.value = t;
|
|
486
|
+
else throw new Error(`bad export type for '${e}': ${typeof t}`);
|
|
487
|
+
}
|
|
488
|
+
}, loadDylibs = () => {
|
|
489
|
+
if (!dynamicLibraries.length) {
|
|
490
|
+
reportUndefinedSymbols();
|
|
491
|
+
return;
|
|
492
|
+
}
|
|
493
|
+
addRunDependency("loadDylibs"), dynamicLibraries.reduce((e, r) => e.then(() => loadDynamicLibrary(r, { loadAsync: true, global: true, nodelete: true, allowUndefined: true })), Promise.resolve()).then(() => {
|
|
494
|
+
reportUndefinedSymbols(), removeRunDependency("loadDylibs");
|
|
495
|
+
});
|
|
496
|
+
}, noExitRuntime = Module.noExitRuntime || false, ___call_sighandler = (e, r) => getWasmTableEntry(e)(r);
|
|
497
|
+
___call_sighandler.sig = "vpi";
|
|
498
|
+
var ___memory_base = new WebAssembly.Global({ value: "i32", mutable: false }, 1024), ___stack_pointer = new WebAssembly.Global({ value: "i32", mutable: true }, 289952), PATH = { isAbs: (e) => e.charAt(0) === "/", splitPath: (e) => {
|
|
499
|
+
var r = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
|
|
500
|
+
return r.exec(e).slice(1);
|
|
501
|
+
}, normalizeArray: (e, r) => {
|
|
502
|
+
for (var t = 0, n = e.length - 1; n >= 0; n--) {
|
|
503
|
+
var a = e[n];
|
|
504
|
+
a === "." ? e.splice(n, 1) : a === ".." ? (e.splice(n, 1), t++) : t && (e.splice(n, 1), t--);
|
|
505
|
+
}
|
|
506
|
+
if (r) for (; t; t--) e.unshift("..");
|
|
507
|
+
return e;
|
|
508
|
+
}, normalize: (e) => {
|
|
509
|
+
var r = PATH.isAbs(e), t = e.substr(-1) === "/";
|
|
510
|
+
return e = PATH.normalizeArray(e.split("/").filter((n) => !!n), !r).join("/"), !e && !r && (e = "."), e && t && (e += "/"), (r ? "/" : "") + e;
|
|
511
|
+
}, dirname: (e) => {
|
|
512
|
+
var r = PATH.splitPath(e), t = r[0], n = r[1];
|
|
513
|
+
return !t && !n ? "." : (n && (n = n.substr(0, n.length - 1)), t + n);
|
|
514
|
+
}, basename: (e) => {
|
|
515
|
+
if (e === "/") return "/";
|
|
516
|
+
e = PATH.normalize(e), e = e.replace(/\/$/, "");
|
|
517
|
+
var r = e.lastIndexOf("/");
|
|
518
|
+
return r === -1 ? e : e.substr(r + 1);
|
|
519
|
+
}, join: (...e) => PATH.normalize(e.join("/")), join2: (e, r) => PATH.normalize(e + "/" + r) }, initRandomFill = () => {
|
|
520
|
+
if (typeof crypto == "object" && typeof crypto.getRandomValues == "function") return (n) => crypto.getRandomValues(n);
|
|
521
|
+
if (ENVIRONMENT_IS_NODE) try {
|
|
522
|
+
var e = require("crypto"), r = e.randomFillSync;
|
|
523
|
+
if (r) return (n) => e.randomFillSync(n);
|
|
524
|
+
var t = e.randomBytes;
|
|
525
|
+
return (n) => (n.set(t(n.byteLength)), n);
|
|
526
|
+
} catch {
|
|
527
|
+
}
|
|
528
|
+
abort("initRandomDevice");
|
|
529
|
+
}, randomFill = (e) => (randomFill = initRandomFill())(e), PATH_FS = { resolve: (...e) => {
|
|
530
|
+
for (var r = "", t = false, n = e.length - 1; n >= -1 && !t; n--) {
|
|
531
|
+
var a = n >= 0 ? e[n] : FS.cwd();
|
|
532
|
+
if (typeof a != "string") throw new TypeError("Arguments to path.resolve must be strings");
|
|
533
|
+
if (!a) return "";
|
|
534
|
+
r = a + "/" + r, t = PATH.isAbs(a);
|
|
535
|
+
}
|
|
536
|
+
return r = PATH.normalizeArray(r.split("/").filter((o) => !!o), !t).join("/"), (t ? "/" : "") + r || ".";
|
|
537
|
+
}, relative: (e, r) => {
|
|
538
|
+
e = PATH_FS.resolve(e).substr(1), r = PATH_FS.resolve(r).substr(1);
|
|
539
|
+
function t(d) {
|
|
540
|
+
for (var c = 0; c < d.length && d[c] === ""; c++) ;
|
|
541
|
+
for (var m = d.length - 1; m >= 0 && d[m] === ""; m--) ;
|
|
542
|
+
return c > m ? [] : d.slice(c, m - c + 1);
|
|
543
|
+
}
|
|
544
|
+
for (var n = t(e.split("/")), a = t(r.split("/")), o = Math.min(n.length, a.length), s = o, l = 0; l < o; l++) if (n[l] !== a[l]) {
|
|
545
|
+
s = l;
|
|
546
|
+
break;
|
|
547
|
+
}
|
|
548
|
+
for (var u = [], l = s; l < n.length; l++) u.push("..");
|
|
549
|
+
return u = u.concat(a.slice(s)), u.join("/");
|
|
550
|
+
} }, FS_stdin_getChar_buffer = [], lengthBytesUTF8 = (e) => {
|
|
551
|
+
for (var r = 0, t = 0; t < e.length; ++t) {
|
|
552
|
+
var n = e.charCodeAt(t);
|
|
553
|
+
n <= 127 ? r++ : n <= 2047 ? r += 2 : n >= 55296 && n <= 57343 ? (r += 4, ++t) : r += 3;
|
|
554
|
+
}
|
|
555
|
+
return r;
|
|
556
|
+
}, stringToUTF8Array = (e, r, t, n) => {
|
|
557
|
+
if (!(n > 0)) return 0;
|
|
558
|
+
for (var a = t, o = t + n - 1, s = 0; s < e.length; ++s) {
|
|
559
|
+
var l = e.charCodeAt(s);
|
|
560
|
+
if (l >= 55296 && l <= 57343) {
|
|
561
|
+
var u = e.charCodeAt(++s);
|
|
562
|
+
l = 65536 + ((l & 1023) << 10) | u & 1023;
|
|
563
|
+
}
|
|
564
|
+
if (l <= 127) {
|
|
565
|
+
if (t >= o) break;
|
|
566
|
+
r[t++] = l;
|
|
567
|
+
} else if (l <= 2047) {
|
|
568
|
+
if (t + 1 >= o) break;
|
|
569
|
+
r[t++] = 192 | l >> 6, r[t++] = 128 | l & 63;
|
|
570
|
+
} else if (l <= 65535) {
|
|
571
|
+
if (t + 2 >= o) break;
|
|
572
|
+
r[t++] = 224 | l >> 12, r[t++] = 128 | l >> 6 & 63, r[t++] = 128 | l & 63;
|
|
573
|
+
} else {
|
|
574
|
+
if (t + 3 >= o) break;
|
|
575
|
+
r[t++] = 240 | l >> 18, r[t++] = 128 | l >> 12 & 63, r[t++] = 128 | l >> 6 & 63, r[t++] = 128 | l & 63;
|
|
576
|
+
}
|
|
577
|
+
}
|
|
578
|
+
return r[t] = 0, t - a;
|
|
579
|
+
};
|
|
580
|
+
function intArrayFromString(e, r, t) {
|
|
581
|
+
var n = t > 0 ? t : lengthBytesUTF8(e) + 1, a = new Array(n), o = stringToUTF8Array(e, a, 0, a.length);
|
|
582
|
+
return r && (a.length = o), a;
|
|
583
|
+
}
|
|
584
|
+
var FS_stdin_getChar = () => {
|
|
585
|
+
if (!FS_stdin_getChar_buffer.length) {
|
|
586
|
+
var e = null;
|
|
587
|
+
if (ENVIRONMENT_IS_NODE) {
|
|
588
|
+
var r = 256, t = Buffer.alloc(r), n = 0, a = process.stdin.fd;
|
|
589
|
+
try {
|
|
590
|
+
n = fs.readSync(a, t, 0, r);
|
|
591
|
+
} catch (o) {
|
|
592
|
+
if (o.toString().includes("EOF")) n = 0;
|
|
593
|
+
else throw o;
|
|
594
|
+
}
|
|
595
|
+
n > 0 && (e = t.slice(0, n).toString("utf-8"));
|
|
596
|
+
} else typeof window < "u" && typeof window.prompt == "function" && (e = window.prompt("Input: "), e !== null && (e += `
|
|
597
|
+
`));
|
|
598
|
+
if (!e) return null;
|
|
599
|
+
FS_stdin_getChar_buffer = intArrayFromString(e, true);
|
|
600
|
+
}
|
|
601
|
+
return FS_stdin_getChar_buffer.shift();
|
|
602
|
+
}, TTY = { ttys: [], init() {
|
|
603
|
+
}, shutdown() {
|
|
604
|
+
}, register(e, r) {
|
|
605
|
+
TTY.ttys[e] = { input: [], output: [], ops: r }, FS.registerDevice(e, TTY.stream_ops);
|
|
606
|
+
}, stream_ops: { open(e) {
|
|
607
|
+
var r = TTY.ttys[e.node.rdev];
|
|
608
|
+
if (!r) throw new FS.ErrnoError(43);
|
|
609
|
+
e.tty = r, e.seekable = false;
|
|
610
|
+
}, close(e) {
|
|
611
|
+
e.tty.ops.fsync(e.tty);
|
|
612
|
+
}, fsync(e) {
|
|
613
|
+
e.tty.ops.fsync(e.tty);
|
|
614
|
+
}, read(e, r, t, n, a) {
|
|
615
|
+
if (!e.tty || !e.tty.ops.get_char) throw new FS.ErrnoError(60);
|
|
616
|
+
for (var o = 0, s = 0; s < n; s++) {
|
|
617
|
+
var l;
|
|
618
|
+
try {
|
|
619
|
+
l = e.tty.ops.get_char(e.tty);
|
|
620
|
+
} catch {
|
|
621
|
+
throw new FS.ErrnoError(29);
|
|
622
|
+
}
|
|
623
|
+
if (l === void 0 && o === 0) throw new FS.ErrnoError(6);
|
|
624
|
+
if (l == null) break;
|
|
625
|
+
o++, r[t + s] = l;
|
|
626
|
+
}
|
|
627
|
+
return o && (e.node.atime = Date.now()), o;
|
|
628
|
+
}, write(e, r, t, n, a) {
|
|
629
|
+
if (!e.tty || !e.tty.ops.put_char) throw new FS.ErrnoError(60);
|
|
630
|
+
try {
|
|
631
|
+
for (var o = 0; o < n; o++) e.tty.ops.put_char(e.tty, r[t + o]);
|
|
632
|
+
} catch {
|
|
633
|
+
throw new FS.ErrnoError(29);
|
|
634
|
+
}
|
|
635
|
+
return n && (e.node.mtime = e.node.ctime = Date.now()), o;
|
|
636
|
+
} }, default_tty_ops: { get_char(e) {
|
|
637
|
+
return FS_stdin_getChar();
|
|
638
|
+
}, put_char(e, r) {
|
|
639
|
+
r === null || r === 10 ? (out(UTF8ArrayToString(e.output)), e.output = []) : r != 0 && e.output.push(r);
|
|
640
|
+
}, fsync(e) {
|
|
641
|
+
e.output && e.output.length > 0 && (out(UTF8ArrayToString(e.output)), e.output = []);
|
|
642
|
+
}, ioctl_tcgets(e) {
|
|
643
|
+
return { c_iflag: 25856, c_oflag: 5, c_cflag: 191, c_lflag: 35387, c_cc: [3, 28, 127, 21, 4, 0, 1, 0, 17, 19, 26, 0, 18, 15, 23, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] };
|
|
644
|
+
}, ioctl_tcsets(e, r, t) {
|
|
645
|
+
return 0;
|
|
646
|
+
}, ioctl_tiocgwinsz(e) {
|
|
647
|
+
return [24, 80];
|
|
648
|
+
} }, default_tty1_ops: { put_char(e, r) {
|
|
649
|
+
r === null || r === 10 ? (err(UTF8ArrayToString(e.output)), e.output = []) : r != 0 && e.output.push(r);
|
|
650
|
+
}, fsync(e) {
|
|
651
|
+
e.output && e.output.length > 0 && (err(UTF8ArrayToString(e.output)), e.output = []);
|
|
652
|
+
} } }, zeroMemory = (e, r) => {
|
|
653
|
+
HEAPU8.fill(0, e, e + r);
|
|
654
|
+
}, mmapAlloc = (e) => {
|
|
655
|
+
abort();
|
|
656
|
+
}, MEMFS = { ops_table: null, mount(e) {
|
|
657
|
+
return MEMFS.createNode(null, "/", 16895, 0);
|
|
658
|
+
}, createNode(e, r, t, n) {
|
|
659
|
+
if (FS.isBlkdev(t) || FS.isFIFO(t)) throw new FS.ErrnoError(63);
|
|
660
|
+
MEMFS.ops_table || (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 } });
|
|
661
|
+
var a = FS.createNode(e, r, t, n);
|
|
662
|
+
return FS.isDir(a.mode) ? (a.node_ops = MEMFS.ops_table.dir.node, a.stream_ops = MEMFS.ops_table.dir.stream, a.contents = {}) : FS.isFile(a.mode) ? (a.node_ops = MEMFS.ops_table.file.node, a.stream_ops = MEMFS.ops_table.file.stream, a.usedBytes = 0, a.contents = null) : FS.isLink(a.mode) ? (a.node_ops = MEMFS.ops_table.link.node, a.stream_ops = MEMFS.ops_table.link.stream) : FS.isChrdev(a.mode) && (a.node_ops = MEMFS.ops_table.chrdev.node, a.stream_ops = MEMFS.ops_table.chrdev.stream), a.atime = a.mtime = a.ctime = Date.now(), e && (e.contents[r] = a, e.atime = e.mtime = e.ctime = a.atime), a;
|
|
663
|
+
}, getFileDataAsTypedArray(e) {
|
|
664
|
+
return e.contents ? e.contents.subarray ? e.contents.subarray(0, e.usedBytes) : new Uint8Array(e.contents) : new Uint8Array(0);
|
|
665
|
+
}, expandFileStorage(e, r) {
|
|
666
|
+
var t = e.contents ? e.contents.length : 0;
|
|
667
|
+
if (!(t >= r)) {
|
|
668
|
+
var n = 1024 * 1024;
|
|
669
|
+
r = Math.max(r, t * (t < n ? 2 : 1.125) >>> 0), t != 0 && (r = Math.max(r, 256));
|
|
670
|
+
var a = e.contents;
|
|
671
|
+
e.contents = new Uint8Array(r), e.usedBytes > 0 && e.contents.set(a.subarray(0, e.usedBytes), 0);
|
|
672
|
+
}
|
|
673
|
+
}, resizeFileStorage(e, r) {
|
|
674
|
+
if (e.usedBytes != r) if (r == 0) e.contents = null, e.usedBytes = 0;
|
|
675
|
+
else {
|
|
676
|
+
var t = e.contents;
|
|
677
|
+
e.contents = new Uint8Array(r), t && e.contents.set(t.subarray(0, Math.min(r, e.usedBytes))), e.usedBytes = r;
|
|
678
|
+
}
|
|
679
|
+
}, node_ops: { getattr(e) {
|
|
680
|
+
var r = {};
|
|
681
|
+
return r.dev = FS.isChrdev(e.mode) ? e.id : 1, r.ino = e.id, r.mode = e.mode, r.nlink = 1, r.uid = 0, r.gid = 0, r.rdev = e.rdev, FS.isDir(e.mode) ? r.size = 4096 : FS.isFile(e.mode) ? r.size = e.usedBytes : FS.isLink(e.mode) ? r.size = e.link.length : r.size = 0, r.atime = new Date(e.atime), r.mtime = new Date(e.mtime), r.ctime = new Date(e.ctime), r.blksize = 4096, r.blocks = Math.ceil(r.size / r.blksize), r;
|
|
682
|
+
}, setattr(e, r) {
|
|
683
|
+
for (let t of ["mode", "atime", "mtime", "ctime"]) r[t] && (e[t] = r[t]);
|
|
684
|
+
r.size !== void 0 && MEMFS.resizeFileStorage(e, r.size);
|
|
685
|
+
}, lookup(e, r) {
|
|
686
|
+
throw MEMFS.doesNotExistError;
|
|
687
|
+
}, mknod(e, r, t, n) {
|
|
688
|
+
return MEMFS.createNode(e, r, t, n);
|
|
689
|
+
}, rename(e, r, t) {
|
|
690
|
+
var n;
|
|
691
|
+
try {
|
|
692
|
+
n = FS.lookupNode(r, t);
|
|
693
|
+
} catch {
|
|
694
|
+
}
|
|
695
|
+
if (n) {
|
|
696
|
+
if (FS.isDir(e.mode)) for (var a in n.contents) throw new FS.ErrnoError(55);
|
|
697
|
+
FS.hashRemoveNode(n);
|
|
698
|
+
}
|
|
699
|
+
delete e.parent.contents[e.name], r.contents[t] = e, e.name = t, r.ctime = r.mtime = e.parent.ctime = e.parent.mtime = Date.now();
|
|
700
|
+
}, unlink(e, r) {
|
|
701
|
+
delete e.contents[r], e.ctime = e.mtime = Date.now();
|
|
702
|
+
}, rmdir(e, r) {
|
|
703
|
+
var t = FS.lookupNode(e, r);
|
|
704
|
+
for (var n in t.contents) throw new FS.ErrnoError(55);
|
|
705
|
+
delete e.contents[r], e.ctime = e.mtime = Date.now();
|
|
706
|
+
}, readdir(e) {
|
|
707
|
+
return [".", "..", ...Object.keys(e.contents)];
|
|
708
|
+
}, symlink(e, r, t) {
|
|
709
|
+
var n = MEMFS.createNode(e, r, 41471, 0);
|
|
710
|
+
return n.link = t, n;
|
|
711
|
+
}, readlink(e) {
|
|
712
|
+
if (!FS.isLink(e.mode)) throw new FS.ErrnoError(28);
|
|
713
|
+
return e.link;
|
|
714
|
+
} }, stream_ops: { read(e, r, t, n, a) {
|
|
715
|
+
var o = e.node.contents;
|
|
716
|
+
if (a >= e.node.usedBytes) return 0;
|
|
717
|
+
var s = Math.min(e.node.usedBytes - a, n);
|
|
718
|
+
if (s > 8 && o.subarray) r.set(o.subarray(a, a + s), t);
|
|
719
|
+
else for (var l = 0; l < s; l++) r[t + l] = o[a + l];
|
|
720
|
+
return s;
|
|
721
|
+
}, write(e, r, t, n, a, o) {
|
|
722
|
+
if (r.buffer === HEAP8.buffer && (o = false), !n) return 0;
|
|
723
|
+
var s = e.node;
|
|
724
|
+
if (s.mtime = s.ctime = Date.now(), r.subarray && (!s.contents || s.contents.subarray)) {
|
|
725
|
+
if (o) return s.contents = r.subarray(t, t + n), s.usedBytes = n, n;
|
|
726
|
+
if (s.usedBytes === 0 && a === 0) return s.contents = r.slice(t, t + n), s.usedBytes = n, n;
|
|
727
|
+
if (a + n <= s.usedBytes) return s.contents.set(r.subarray(t, t + n), a), n;
|
|
728
|
+
}
|
|
729
|
+
if (MEMFS.expandFileStorage(s, a + n), s.contents.subarray && r.subarray) s.contents.set(r.subarray(t, t + n), a);
|
|
730
|
+
else for (var l = 0; l < n; l++) s.contents[a + l] = r[t + l];
|
|
731
|
+
return s.usedBytes = Math.max(s.usedBytes, a + n), n;
|
|
732
|
+
}, llseek(e, r, t) {
|
|
733
|
+
var n = r;
|
|
734
|
+
if (t === 1 ? n += e.position : t === 2 && FS.isFile(e.node.mode) && (n += e.node.usedBytes), n < 0) throw new FS.ErrnoError(28);
|
|
735
|
+
return n;
|
|
736
|
+
}, allocate(e, r, t) {
|
|
737
|
+
MEMFS.expandFileStorage(e.node, r + t), e.node.usedBytes = Math.max(e.node.usedBytes, r + t);
|
|
738
|
+
}, mmap(e, r, t, n, a) {
|
|
739
|
+
if (!FS.isFile(e.node.mode)) throw new FS.ErrnoError(43);
|
|
740
|
+
var o, s, l = e.node.contents;
|
|
741
|
+
if (!(a & 2) && l && l.buffer === HEAP8.buffer) s = false, o = l.byteOffset;
|
|
742
|
+
else {
|
|
743
|
+
if (s = true, o = mmapAlloc(r), !o) throw new FS.ErrnoError(48);
|
|
744
|
+
l && ((t > 0 || t + r < l.length) && (l.subarray ? l = l.subarray(t, t + r) : l = Array.prototype.slice.call(l, t, t + r)), HEAP8.set(l, o));
|
|
745
|
+
}
|
|
746
|
+
return { ptr: o, allocated: s };
|
|
747
|
+
}, msync(e, r, t, n, a) {
|
|
748
|
+
return MEMFS.stream_ops.write(e, r, 0, n, t, false), 0;
|
|
749
|
+
} } }, FS_createDataFile = (e, r, t, n, a, o) => {
|
|
750
|
+
FS.createDataFile(e, r, t, n, a, o);
|
|
751
|
+
}, FS_handledByPreloadPlugin = (e, r, t, n) => {
|
|
752
|
+
typeof Browser < "u" && Browser.init();
|
|
753
|
+
var a = false;
|
|
754
|
+
return preloadPlugins.forEach((o) => {
|
|
755
|
+
a || o.canHandle(r) && (o.handle(e, r, t, n), a = true);
|
|
756
|
+
}), a;
|
|
757
|
+
}, FS_createPreloadedFile = (e, r, t, n, a, o, s, l, u, d) => {
|
|
758
|
+
var c = r ? PATH_FS.resolve(PATH.join2(e, r)) : e, m = `cp ${c}`;
|
|
759
|
+
function _(f) {
|
|
760
|
+
function S(v) {
|
|
761
|
+
d?.(), l || FS_createDataFile(e, r, v, n, a, u), o?.(), removeRunDependency(m);
|
|
762
|
+
}
|
|
763
|
+
FS_handledByPreloadPlugin(f, c, S, () => {
|
|
764
|
+
s?.(), removeRunDependency(m);
|
|
765
|
+
}) || S(f);
|
|
766
|
+
}
|
|
767
|
+
addRunDependency(m), typeof t == "string" ? asyncLoad(t).then(_, s) : _(t);
|
|
768
|
+
}, FS_modeStringToFlags = (e) => {
|
|
769
|
+
var r = { r: 0, "r+": 2, w: 577, "w+": 578, a: 1089, "a+": 1090 }, t = r[e];
|
|
770
|
+
if (typeof t > "u") throw new Error(`Unknown file open mode: ${e}`);
|
|
771
|
+
return t;
|
|
772
|
+
}, FS_getMode = (e, r) => {
|
|
773
|
+
var t = 0;
|
|
774
|
+
return e && (t |= 365), r && (t |= 146), t;
|
|
775
|
+
}, FS = { root: null, mounts: [], devices: {}, streams: [], nextInode: 1, nameTable: null, currentPath: "/", initialized: false, ignorePermissions: true, ErrnoError: class {
|
|
776
|
+
constructor(e) {
|
|
777
|
+
b(this, "name", "ErrnoError");
|
|
778
|
+
this.errno = e;
|
|
779
|
+
}
|
|
780
|
+
}, filesystems: null, syncFSRequests: 0, readFiles: {}, FSStream: class {
|
|
781
|
+
constructor() {
|
|
782
|
+
b(this, "shared", {});
|
|
783
|
+
}
|
|
784
|
+
get object() {
|
|
785
|
+
return this.node;
|
|
786
|
+
}
|
|
787
|
+
set object(e) {
|
|
788
|
+
this.node = e;
|
|
789
|
+
}
|
|
790
|
+
get isRead() {
|
|
791
|
+
return (this.flags & 2097155) !== 1;
|
|
792
|
+
}
|
|
793
|
+
get isWrite() {
|
|
794
|
+
return (this.flags & 2097155) !== 0;
|
|
795
|
+
}
|
|
796
|
+
get isAppend() {
|
|
797
|
+
return this.flags & 1024;
|
|
798
|
+
}
|
|
799
|
+
get flags() {
|
|
800
|
+
return this.shared.flags;
|
|
801
|
+
}
|
|
802
|
+
set flags(e) {
|
|
803
|
+
this.shared.flags = e;
|
|
804
|
+
}
|
|
805
|
+
get position() {
|
|
806
|
+
return this.shared.position;
|
|
807
|
+
}
|
|
808
|
+
set position(e) {
|
|
809
|
+
this.shared.position = e;
|
|
810
|
+
}
|
|
811
|
+
}, FSNode: class {
|
|
812
|
+
constructor(e, r, t, n) {
|
|
813
|
+
b(this, "node_ops", {});
|
|
814
|
+
b(this, "stream_ops", {});
|
|
815
|
+
b(this, "readMode", 365);
|
|
816
|
+
b(this, "writeMode", 146);
|
|
817
|
+
b(this, "mounted", null);
|
|
818
|
+
e || (e = this), this.parent = e, this.mount = e.mount, this.id = FS.nextInode++, this.name = r, this.mode = t, this.rdev = n, this.atime = this.mtime = this.ctime = Date.now();
|
|
819
|
+
}
|
|
820
|
+
get read() {
|
|
821
|
+
return (this.mode & this.readMode) === this.readMode;
|
|
822
|
+
}
|
|
823
|
+
set read(e) {
|
|
824
|
+
e ? this.mode |= this.readMode : this.mode &= ~this.readMode;
|
|
825
|
+
}
|
|
826
|
+
get write() {
|
|
827
|
+
return (this.mode & this.writeMode) === this.writeMode;
|
|
828
|
+
}
|
|
829
|
+
set write(e) {
|
|
830
|
+
e ? this.mode |= this.writeMode : this.mode &= ~this.writeMode;
|
|
831
|
+
}
|
|
832
|
+
get isFolder() {
|
|
833
|
+
return FS.isDir(this.mode);
|
|
834
|
+
}
|
|
835
|
+
get isDevice() {
|
|
836
|
+
return FS.isChrdev(this.mode);
|
|
837
|
+
}
|
|
838
|
+
}, lookupPath(e, r = {}) {
|
|
839
|
+
if (!e) return { path: "", node: null };
|
|
840
|
+
r.follow_mount ?? (r.follow_mount = true), PATH.isAbs(e) || (e = FS.cwd() + "/" + e);
|
|
841
|
+
e: for (var t = 0; t < 40; t++) {
|
|
842
|
+
for (var n = e.split("/").filter((d) => !!d && d !== "."), a = FS.root, o = "/", s = 0; s < n.length; s++) {
|
|
843
|
+
var l = s === n.length - 1;
|
|
844
|
+
if (l && r.parent) break;
|
|
845
|
+
if (n[s] === "..") {
|
|
846
|
+
o = PATH.dirname(o), a = a.parent;
|
|
847
|
+
continue;
|
|
848
|
+
}
|
|
849
|
+
o = PATH.join2(o, n[s]);
|
|
850
|
+
try {
|
|
851
|
+
a = FS.lookupNode(a, n[s]);
|
|
852
|
+
} catch (d) {
|
|
853
|
+
if (d?.errno === 44 && l && r.noent_okay) return { path: o };
|
|
854
|
+
throw d;
|
|
855
|
+
}
|
|
856
|
+
if (FS.isMountpoint(a) && (!l || r.follow_mount) && (a = a.mounted.root), FS.isLink(a.mode) && (!l || r.follow)) {
|
|
857
|
+
if (!a.node_ops.readlink) throw new FS.ErrnoError(52);
|
|
858
|
+
var u = a.node_ops.readlink(a);
|
|
859
|
+
PATH.isAbs(u) || (u = PATH.dirname(o) + "/" + u), e = u + "/" + n.slice(s + 1).join("/");
|
|
860
|
+
continue e;
|
|
861
|
+
}
|
|
862
|
+
}
|
|
863
|
+
return { path: o, node: a };
|
|
864
|
+
}
|
|
865
|
+
throw new FS.ErrnoError(32);
|
|
866
|
+
}, getPath(e) {
|
|
867
|
+
for (var r; ; ) {
|
|
868
|
+
if (FS.isRoot(e)) {
|
|
869
|
+
var t = e.mount.mountpoint;
|
|
870
|
+
return r ? t[t.length - 1] !== "/" ? `${t}/${r}` : t + r : t;
|
|
871
|
+
}
|
|
872
|
+
r = r ? `${e.name}/${r}` : e.name, e = e.parent;
|
|
873
|
+
}
|
|
874
|
+
}, hashName(e, r) {
|
|
875
|
+
for (var t = 0, n = 0; n < r.length; n++) t = (t << 5) - t + r.charCodeAt(n) | 0;
|
|
876
|
+
return (e + t >>> 0) % FS.nameTable.length;
|
|
877
|
+
}, hashAddNode(e) {
|
|
878
|
+
var r = FS.hashName(e.parent.id, e.name);
|
|
879
|
+
e.name_next = FS.nameTable[r], FS.nameTable[r] = e;
|
|
880
|
+
}, hashRemoveNode(e) {
|
|
881
|
+
var r = FS.hashName(e.parent.id, e.name);
|
|
882
|
+
if (FS.nameTable[r] === e) FS.nameTable[r] = e.name_next;
|
|
883
|
+
else for (var t = FS.nameTable[r]; t; ) {
|
|
884
|
+
if (t.name_next === e) {
|
|
885
|
+
t.name_next = e.name_next;
|
|
886
|
+
break;
|
|
887
|
+
}
|
|
888
|
+
t = t.name_next;
|
|
889
|
+
}
|
|
890
|
+
}, lookupNode(e, r) {
|
|
891
|
+
var t = FS.mayLookup(e);
|
|
892
|
+
if (t) throw new FS.ErrnoError(t);
|
|
893
|
+
for (var n = FS.hashName(e.id, r), a = FS.nameTable[n]; a; a = a.name_next) {
|
|
894
|
+
var o = a.name;
|
|
895
|
+
if (a.parent.id === e.id && o === r) return a;
|
|
896
|
+
}
|
|
897
|
+
return FS.lookup(e, r);
|
|
898
|
+
}, createNode(e, r, t, n) {
|
|
899
|
+
var a = new FS.FSNode(e, r, t, n);
|
|
900
|
+
return FS.hashAddNode(a), a;
|
|
901
|
+
}, destroyNode(e) {
|
|
902
|
+
FS.hashRemoveNode(e);
|
|
903
|
+
}, isRoot(e) {
|
|
904
|
+
return e === e.parent;
|
|
905
|
+
}, isMountpoint(e) {
|
|
906
|
+
return !!e.mounted;
|
|
907
|
+
}, isFile(e) {
|
|
908
|
+
return (e & 61440) === 32768;
|
|
909
|
+
}, isDir(e) {
|
|
910
|
+
return (e & 61440) === 16384;
|
|
911
|
+
}, isLink(e) {
|
|
912
|
+
return (e & 61440) === 40960;
|
|
913
|
+
}, isChrdev(e) {
|
|
914
|
+
return (e & 61440) === 8192;
|
|
915
|
+
}, isBlkdev(e) {
|
|
916
|
+
return (e & 61440) === 24576;
|
|
917
|
+
}, isFIFO(e) {
|
|
918
|
+
return (e & 61440) === 4096;
|
|
919
|
+
}, isSocket(e) {
|
|
920
|
+
return (e & 49152) === 49152;
|
|
921
|
+
}, flagsToPermissionString(e) {
|
|
922
|
+
var r = ["r", "w", "rw"][e & 3];
|
|
923
|
+
return e & 512 && (r += "w"), r;
|
|
924
|
+
}, nodePermissions(e, r) {
|
|
925
|
+
return FS.ignorePermissions ? 0 : r.includes("r") && !(e.mode & 292) || r.includes("w") && !(e.mode & 146) || r.includes("x") && !(e.mode & 73) ? 2 : 0;
|
|
926
|
+
}, mayLookup(e) {
|
|
927
|
+
if (!FS.isDir(e.mode)) return 54;
|
|
928
|
+
var r = FS.nodePermissions(e, "x");
|
|
929
|
+
return r || (e.node_ops.lookup ? 0 : 2);
|
|
930
|
+
}, mayCreate(e, r) {
|
|
931
|
+
if (!FS.isDir(e.mode)) return 54;
|
|
932
|
+
try {
|
|
933
|
+
var t = FS.lookupNode(e, r);
|
|
934
|
+
return 20;
|
|
935
|
+
} catch {
|
|
936
|
+
}
|
|
937
|
+
return FS.nodePermissions(e, "wx");
|
|
938
|
+
}, mayDelete(e, r, t) {
|
|
939
|
+
var n;
|
|
940
|
+
try {
|
|
941
|
+
n = FS.lookupNode(e, r);
|
|
942
|
+
} catch (o) {
|
|
943
|
+
return o.errno;
|
|
944
|
+
}
|
|
945
|
+
var a = FS.nodePermissions(e, "wx");
|
|
946
|
+
if (a) return a;
|
|
947
|
+
if (t) {
|
|
948
|
+
if (!FS.isDir(n.mode)) return 54;
|
|
949
|
+
if (FS.isRoot(n) || FS.getPath(n) === FS.cwd()) return 10;
|
|
950
|
+
} else if (FS.isDir(n.mode)) return 31;
|
|
951
|
+
return 0;
|
|
952
|
+
}, mayOpen(e, r) {
|
|
953
|
+
return e ? FS.isLink(e.mode) ? 32 : FS.isDir(e.mode) && (FS.flagsToPermissionString(r) !== "r" || r & 512) ? 31 : FS.nodePermissions(e, FS.flagsToPermissionString(r)) : 44;
|
|
954
|
+
}, MAX_OPEN_FDS: 4096, nextfd() {
|
|
955
|
+
for (var e = 0; e <= FS.MAX_OPEN_FDS; e++) if (!FS.streams[e]) return e;
|
|
956
|
+
throw new FS.ErrnoError(33);
|
|
957
|
+
}, getStreamChecked(e) {
|
|
958
|
+
var r = FS.getStream(e);
|
|
959
|
+
if (!r) throw new FS.ErrnoError(8);
|
|
960
|
+
return r;
|
|
961
|
+
}, getStream: (e) => FS.streams[e], createStream(e, r = -1) {
|
|
962
|
+
return e = Object.assign(new FS.FSStream(), e), r == -1 && (r = FS.nextfd()), e.fd = r, FS.streams[r] = e, e;
|
|
963
|
+
}, closeStream(e) {
|
|
964
|
+
FS.streams[e] = null;
|
|
965
|
+
}, dupStream(e, r = -1) {
|
|
966
|
+
var t = FS.createStream(e, r);
|
|
967
|
+
return t.stream_ops?.dup?.(t), t;
|
|
968
|
+
}, chrdev_stream_ops: { open(e) {
|
|
969
|
+
var r = FS.getDevice(e.node.rdev);
|
|
970
|
+
e.stream_ops = r.stream_ops, e.stream_ops.open?.(e);
|
|
971
|
+
}, llseek() {
|
|
972
|
+
throw new FS.ErrnoError(70);
|
|
973
|
+
} }, major: (e) => e >> 8, minor: (e) => e & 255, makedev: (e, r) => e << 8 | r, registerDevice(e, r) {
|
|
974
|
+
FS.devices[e] = { stream_ops: r };
|
|
975
|
+
}, getDevice: (e) => FS.devices[e], getMounts(e) {
|
|
976
|
+
for (var r = [], t = [e]; t.length; ) {
|
|
977
|
+
var n = t.pop();
|
|
978
|
+
r.push(n), t.push(...n.mounts);
|
|
979
|
+
}
|
|
980
|
+
return r;
|
|
981
|
+
}, syncfs(e, r) {
|
|
982
|
+
typeof e == "function" && (r = e, e = false), FS.syncFSRequests++, FS.syncFSRequests > 1 && err(`warning: ${FS.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);
|
|
983
|
+
var t = FS.getMounts(FS.root.mount), n = 0;
|
|
984
|
+
function a(s) {
|
|
985
|
+
return FS.syncFSRequests--, r(s);
|
|
986
|
+
}
|
|
987
|
+
function o(s) {
|
|
988
|
+
if (s) return o.errored ? void 0 : (o.errored = true, a(s));
|
|
989
|
+
++n >= t.length && a(null);
|
|
990
|
+
}
|
|
991
|
+
t.forEach((s) => {
|
|
992
|
+
if (!s.type.syncfs) return o(null);
|
|
993
|
+
s.type.syncfs(s, e, o);
|
|
994
|
+
});
|
|
995
|
+
}, mount(e, r, t) {
|
|
996
|
+
var n = t === "/", a = !t, o;
|
|
997
|
+
if (n && FS.root) throw new FS.ErrnoError(10);
|
|
998
|
+
if (!n && !a) {
|
|
999
|
+
var s = FS.lookupPath(t, { follow_mount: false });
|
|
1000
|
+
if (t = s.path, o = s.node, FS.isMountpoint(o)) throw new FS.ErrnoError(10);
|
|
1001
|
+
if (!FS.isDir(o.mode)) throw new FS.ErrnoError(54);
|
|
1002
|
+
}
|
|
1003
|
+
var l = { type: e, opts: r, mountpoint: t, mounts: [] }, u = e.mount(l);
|
|
1004
|
+
return u.mount = l, l.root = u, n ? FS.root = u : o && (o.mounted = l, o.mount && o.mount.mounts.push(l)), u;
|
|
1005
|
+
}, unmount(e) {
|
|
1006
|
+
var r = FS.lookupPath(e, { follow_mount: false });
|
|
1007
|
+
if (!FS.isMountpoint(r.node)) throw new FS.ErrnoError(28);
|
|
1008
|
+
var t = r.node, n = t.mounted, a = FS.getMounts(n);
|
|
1009
|
+
Object.keys(FS.nameTable).forEach((s) => {
|
|
1010
|
+
for (var l = FS.nameTable[s]; l; ) {
|
|
1011
|
+
var u = l.name_next;
|
|
1012
|
+
a.includes(l.mount) && FS.destroyNode(l), l = u;
|
|
1013
|
+
}
|
|
1014
|
+
}), t.mounted = null;
|
|
1015
|
+
var o = t.mount.mounts.indexOf(n);
|
|
1016
|
+
t.mount.mounts.splice(o, 1);
|
|
1017
|
+
}, lookup(e, r) {
|
|
1018
|
+
return e.node_ops.lookup(e, r);
|
|
1019
|
+
}, mknod(e, r, t) {
|
|
1020
|
+
var n = FS.lookupPath(e, { parent: true }), a = n.node, o = PATH.basename(e);
|
|
1021
|
+
if (!o || o === "." || o === "..") throw new FS.ErrnoError(28);
|
|
1022
|
+
var s = FS.mayCreate(a, o);
|
|
1023
|
+
if (s) throw new FS.ErrnoError(s);
|
|
1024
|
+
if (!a.node_ops.mknod) throw new FS.ErrnoError(63);
|
|
1025
|
+
return a.node_ops.mknod(a, o, r, t);
|
|
1026
|
+
}, statfs(e) {
|
|
1027
|
+
var r = { bsize: 4096, frsize: 4096, blocks: 1e6, bfree: 5e5, bavail: 5e5, files: FS.nextInode, ffree: FS.nextInode - 1, fsid: 42, flags: 2, namelen: 255 }, t = FS.lookupPath(e, { follow: true }).node;
|
|
1028
|
+
return t?.node_ops.statfs && Object.assign(r, t.node_ops.statfs(t.mount.opts.root)), r;
|
|
1029
|
+
}, create(e, r = 438) {
|
|
1030
|
+
return r &= 4095, r |= 32768, FS.mknod(e, r, 0);
|
|
1031
|
+
}, mkdir(e, r = 511) {
|
|
1032
|
+
return r &= 1023, r |= 16384, FS.mknod(e, r, 0);
|
|
1033
|
+
}, mkdirTree(e, r) {
|
|
1034
|
+
for (var t = e.split("/"), n = "", a = 0; a < t.length; ++a) if (t[a]) {
|
|
1035
|
+
n += "/" + t[a];
|
|
1036
|
+
try {
|
|
1037
|
+
FS.mkdir(n, r);
|
|
1038
|
+
} catch (o) {
|
|
1039
|
+
if (o.errno != 20) throw o;
|
|
1040
|
+
}
|
|
1041
|
+
}
|
|
1042
|
+
}, mkdev(e, r, t) {
|
|
1043
|
+
return typeof t > "u" && (t = r, r = 438), r |= 8192, FS.mknod(e, r, t);
|
|
1044
|
+
}, symlink(e, r) {
|
|
1045
|
+
if (!PATH_FS.resolve(e)) throw new FS.ErrnoError(44);
|
|
1046
|
+
var t = FS.lookupPath(r, { parent: true }), n = t.node;
|
|
1047
|
+
if (!n) throw new FS.ErrnoError(44);
|
|
1048
|
+
var a = PATH.basename(r), o = FS.mayCreate(n, a);
|
|
1049
|
+
if (o) throw new FS.ErrnoError(o);
|
|
1050
|
+
if (!n.node_ops.symlink) throw new FS.ErrnoError(63);
|
|
1051
|
+
return n.node_ops.symlink(n, a, e);
|
|
1052
|
+
}, rename(e, r) {
|
|
1053
|
+
var t = PATH.dirname(e), n = PATH.dirname(r), a = PATH.basename(e), o = PATH.basename(r), s, l, u;
|
|
1054
|
+
if (s = FS.lookupPath(e, { parent: true }), l = s.node, s = FS.lookupPath(r, { parent: true }), u = s.node, !l || !u) throw new FS.ErrnoError(44);
|
|
1055
|
+
if (l.mount !== u.mount) throw new FS.ErrnoError(75);
|
|
1056
|
+
var d = FS.lookupNode(l, a), c = PATH_FS.relative(e, n);
|
|
1057
|
+
if (c.charAt(0) !== ".") throw new FS.ErrnoError(28);
|
|
1058
|
+
if (c = PATH_FS.relative(r, t), c.charAt(0) !== ".") throw new FS.ErrnoError(55);
|
|
1059
|
+
var m;
|
|
1060
|
+
try {
|
|
1061
|
+
m = FS.lookupNode(u, o);
|
|
1062
|
+
} catch {
|
|
1063
|
+
}
|
|
1064
|
+
if (d !== m) {
|
|
1065
|
+
var _ = FS.isDir(d.mode), f = FS.mayDelete(l, a, _);
|
|
1066
|
+
if (f) throw new FS.ErrnoError(f);
|
|
1067
|
+
if (f = m ? FS.mayDelete(u, o, _) : FS.mayCreate(u, o), f) throw new FS.ErrnoError(f);
|
|
1068
|
+
if (!l.node_ops.rename) throw new FS.ErrnoError(63);
|
|
1069
|
+
if (FS.isMountpoint(d) || m && FS.isMountpoint(m)) throw new FS.ErrnoError(10);
|
|
1070
|
+
if (u !== l && (f = FS.nodePermissions(l, "w"), f)) throw new FS.ErrnoError(f);
|
|
1071
|
+
FS.hashRemoveNode(d);
|
|
1072
|
+
try {
|
|
1073
|
+
l.node_ops.rename(d, u, o), d.parent = u;
|
|
1074
|
+
} catch (S) {
|
|
1075
|
+
throw S;
|
|
1076
|
+
} finally {
|
|
1077
|
+
FS.hashAddNode(d);
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
}, rmdir(e) {
|
|
1081
|
+
var r = FS.lookupPath(e, { parent: true }), t = r.node, n = PATH.basename(e), a = FS.lookupNode(t, n), o = FS.mayDelete(t, n, true);
|
|
1082
|
+
if (o) throw new FS.ErrnoError(o);
|
|
1083
|
+
if (!t.node_ops.rmdir) throw new FS.ErrnoError(63);
|
|
1084
|
+
if (FS.isMountpoint(a)) throw new FS.ErrnoError(10);
|
|
1085
|
+
t.node_ops.rmdir(t, n), FS.destroyNode(a);
|
|
1086
|
+
}, readdir(e) {
|
|
1087
|
+
var r = FS.lookupPath(e, { follow: true }), t = r.node;
|
|
1088
|
+
if (!t.node_ops.readdir) throw new FS.ErrnoError(54);
|
|
1089
|
+
return t.node_ops.readdir(t);
|
|
1090
|
+
}, unlink(e) {
|
|
1091
|
+
var r = FS.lookupPath(e, { parent: true }), t = r.node;
|
|
1092
|
+
if (!t) throw new FS.ErrnoError(44);
|
|
1093
|
+
var n = PATH.basename(e), a = FS.lookupNode(t, n), o = FS.mayDelete(t, n, false);
|
|
1094
|
+
if (o) throw new FS.ErrnoError(o);
|
|
1095
|
+
if (!t.node_ops.unlink) throw new FS.ErrnoError(63);
|
|
1096
|
+
if (FS.isMountpoint(a)) throw new FS.ErrnoError(10);
|
|
1097
|
+
t.node_ops.unlink(t, n), FS.destroyNode(a);
|
|
1098
|
+
}, readlink(e) {
|
|
1099
|
+
var r = FS.lookupPath(e), t = r.node;
|
|
1100
|
+
if (!t) throw new FS.ErrnoError(44);
|
|
1101
|
+
if (!t.node_ops.readlink) throw new FS.ErrnoError(28);
|
|
1102
|
+
return t.node_ops.readlink(t);
|
|
1103
|
+
}, stat(e, r) {
|
|
1104
|
+
var t = FS.lookupPath(e, { follow: !r }), n = t.node;
|
|
1105
|
+
if (!n) throw new FS.ErrnoError(44);
|
|
1106
|
+
if (!n.node_ops.getattr) throw new FS.ErrnoError(63);
|
|
1107
|
+
return n.node_ops.getattr(n);
|
|
1108
|
+
}, lstat(e) {
|
|
1109
|
+
return FS.stat(e, true);
|
|
1110
|
+
}, chmod(e, r, t) {
|
|
1111
|
+
var n;
|
|
1112
|
+
if (typeof e == "string") {
|
|
1113
|
+
var a = FS.lookupPath(e, { follow: !t });
|
|
1114
|
+
n = a.node;
|
|
1115
|
+
} else n = e;
|
|
1116
|
+
if (!n.node_ops.setattr) throw new FS.ErrnoError(63);
|
|
1117
|
+
n.node_ops.setattr(n, { mode: r & 4095 | n.mode & -4096, ctime: Date.now() });
|
|
1118
|
+
}, lchmod(e, r) {
|
|
1119
|
+
FS.chmod(e, r, true);
|
|
1120
|
+
}, fchmod(e, r) {
|
|
1121
|
+
var t = FS.getStreamChecked(e);
|
|
1122
|
+
FS.chmod(t.node, r);
|
|
1123
|
+
}, chown(e, r, t, n) {
|
|
1124
|
+
var a;
|
|
1125
|
+
if (typeof e == "string") {
|
|
1126
|
+
var o = FS.lookupPath(e, { follow: !n });
|
|
1127
|
+
a = o.node;
|
|
1128
|
+
} else a = e;
|
|
1129
|
+
if (!a.node_ops.setattr) throw new FS.ErrnoError(63);
|
|
1130
|
+
a.node_ops.setattr(a, { timestamp: Date.now() });
|
|
1131
|
+
}, lchown(e, r, t) {
|
|
1132
|
+
FS.chown(e, r, t, true);
|
|
1133
|
+
}, fchown(e, r, t) {
|
|
1134
|
+
var n = FS.getStreamChecked(e);
|
|
1135
|
+
FS.chown(n.node, r, t);
|
|
1136
|
+
}, truncate(e, r) {
|
|
1137
|
+
if (r < 0) throw new FS.ErrnoError(28);
|
|
1138
|
+
var t;
|
|
1139
|
+
if (typeof e == "string") {
|
|
1140
|
+
var n = FS.lookupPath(e, { follow: true });
|
|
1141
|
+
t = n.node;
|
|
1142
|
+
} else t = e;
|
|
1143
|
+
if (!t.node_ops.setattr) throw new FS.ErrnoError(63);
|
|
1144
|
+
if (FS.isDir(t.mode)) throw new FS.ErrnoError(31);
|
|
1145
|
+
if (!FS.isFile(t.mode)) throw new FS.ErrnoError(28);
|
|
1146
|
+
var a = FS.nodePermissions(t, "w");
|
|
1147
|
+
if (a) throw new FS.ErrnoError(a);
|
|
1148
|
+
t.node_ops.setattr(t, { size: r, timestamp: Date.now() });
|
|
1149
|
+
}, ftruncate(e, r) {
|
|
1150
|
+
var t = FS.getStreamChecked(e);
|
|
1151
|
+
if (!(t.flags & 2097155)) throw new FS.ErrnoError(28);
|
|
1152
|
+
FS.truncate(t.node, r);
|
|
1153
|
+
}, utime(e, r, t) {
|
|
1154
|
+
var n = FS.lookupPath(e, { follow: true }), a = n.node;
|
|
1155
|
+
a.node_ops.setattr(a, { atime: r, mtime: t });
|
|
1156
|
+
}, open(e, r, t = 438) {
|
|
1157
|
+
if (e === "") throw new FS.ErrnoError(44);
|
|
1158
|
+
r = typeof r == "string" ? FS_modeStringToFlags(r) : r, r & 64 ? t = t & 4095 | 32768 : t = 0;
|
|
1159
|
+
var n;
|
|
1160
|
+
if (typeof e == "object") n = e;
|
|
1161
|
+
else {
|
|
1162
|
+
var a = FS.lookupPath(e, { follow: !(r & 131072), noent_okay: true });
|
|
1163
|
+
n = a.node, e = a.path;
|
|
1164
|
+
}
|
|
1165
|
+
var o = false;
|
|
1166
|
+
if (r & 64) if (n) {
|
|
1167
|
+
if (r & 128) throw new FS.ErrnoError(20);
|
|
1168
|
+
} else n = FS.mknod(e, t, 0), o = true;
|
|
1169
|
+
if (!n) throw new FS.ErrnoError(44);
|
|
1170
|
+
if (FS.isChrdev(n.mode) && (r &= -513), r & 65536 && !FS.isDir(n.mode)) throw new FS.ErrnoError(54);
|
|
1171
|
+
if (!o) {
|
|
1172
|
+
var s = FS.mayOpen(n, r);
|
|
1173
|
+
if (s) throw new FS.ErrnoError(s);
|
|
1174
|
+
}
|
|
1175
|
+
r & 512 && !o && FS.truncate(n, 0), r &= -131713;
|
|
1176
|
+
var l = FS.createStream({ node: n, path: FS.getPath(n), flags: r, seekable: true, position: 0, stream_ops: n.stream_ops, ungotten: [], error: false });
|
|
1177
|
+
return l.stream_ops.open && l.stream_ops.open(l), Module.logReadFiles && !(r & 1) && (e in FS.readFiles || (FS.readFiles[e] = 1)), l;
|
|
1178
|
+
}, close(e) {
|
|
1179
|
+
if (FS.isClosed(e)) throw new FS.ErrnoError(8);
|
|
1180
|
+
e.getdents && (e.getdents = null);
|
|
1181
|
+
try {
|
|
1182
|
+
e.stream_ops.close && e.stream_ops.close(e);
|
|
1183
|
+
} catch (r) {
|
|
1184
|
+
throw r;
|
|
1185
|
+
} finally {
|
|
1186
|
+
FS.closeStream(e.fd);
|
|
1187
|
+
}
|
|
1188
|
+
e.fd = null;
|
|
1189
|
+
}, isClosed(e) {
|
|
1190
|
+
return e.fd === null;
|
|
1191
|
+
}, llseek(e, r, t) {
|
|
1192
|
+
if (FS.isClosed(e)) throw new FS.ErrnoError(8);
|
|
1193
|
+
if (!e.seekable || !e.stream_ops.llseek) throw new FS.ErrnoError(70);
|
|
1194
|
+
if (t != 0 && t != 1 && t != 2) throw new FS.ErrnoError(28);
|
|
1195
|
+
return e.position = e.stream_ops.llseek(e, r, t), e.ungotten = [], e.position;
|
|
1196
|
+
}, read(e, r, t, n, a) {
|
|
1197
|
+
if (n < 0 || a < 0) throw new FS.ErrnoError(28);
|
|
1198
|
+
if (FS.isClosed(e)) throw new FS.ErrnoError(8);
|
|
1199
|
+
if ((e.flags & 2097155) === 1) throw new FS.ErrnoError(8);
|
|
1200
|
+
if (FS.isDir(e.node.mode)) throw new FS.ErrnoError(31);
|
|
1201
|
+
if (!e.stream_ops.read) throw new FS.ErrnoError(28);
|
|
1202
|
+
var o = typeof a < "u";
|
|
1203
|
+
if (!o) a = e.position;
|
|
1204
|
+
else if (!e.seekable) throw new FS.ErrnoError(70);
|
|
1205
|
+
var s = e.stream_ops.read(e, r, t, n, a);
|
|
1206
|
+
return o || (e.position += s), s;
|
|
1207
|
+
}, write(e, r, t, n, a, o) {
|
|
1208
|
+
if (n < 0 || a < 0) throw new FS.ErrnoError(28);
|
|
1209
|
+
if (FS.isClosed(e)) throw new FS.ErrnoError(8);
|
|
1210
|
+
if (!(e.flags & 2097155)) throw new FS.ErrnoError(8);
|
|
1211
|
+
if (FS.isDir(e.node.mode)) throw new FS.ErrnoError(31);
|
|
1212
|
+
if (!e.stream_ops.write) throw new FS.ErrnoError(28);
|
|
1213
|
+
e.seekable && e.flags & 1024 && FS.llseek(e, 0, 2);
|
|
1214
|
+
var s = typeof a < "u";
|
|
1215
|
+
if (!s) a = e.position;
|
|
1216
|
+
else if (!e.seekable) throw new FS.ErrnoError(70);
|
|
1217
|
+
var l = e.stream_ops.write(e, r, t, n, a, o);
|
|
1218
|
+
return s || (e.position += l), l;
|
|
1219
|
+
}, allocate(e, r, t) {
|
|
1220
|
+
if (FS.isClosed(e)) throw new FS.ErrnoError(8);
|
|
1221
|
+
if (r < 0 || t <= 0) throw new FS.ErrnoError(28);
|
|
1222
|
+
if (!(e.flags & 2097155)) throw new FS.ErrnoError(8);
|
|
1223
|
+
if (!FS.isFile(e.node.mode) && !FS.isDir(e.node.mode)) throw new FS.ErrnoError(43);
|
|
1224
|
+
if (!e.stream_ops.allocate) throw new FS.ErrnoError(138);
|
|
1225
|
+
e.stream_ops.allocate(e, r, t);
|
|
1226
|
+
}, mmap(e, r, t, n, a) {
|
|
1227
|
+
if (n & 2 && !(a & 2) && (e.flags & 2097155) !== 2) throw new FS.ErrnoError(2);
|
|
1228
|
+
if ((e.flags & 2097155) === 1) throw new FS.ErrnoError(2);
|
|
1229
|
+
if (!e.stream_ops.mmap) throw new FS.ErrnoError(43);
|
|
1230
|
+
if (!r) throw new FS.ErrnoError(28);
|
|
1231
|
+
return e.stream_ops.mmap(e, r, t, n, a);
|
|
1232
|
+
}, msync(e, r, t, n, a) {
|
|
1233
|
+
return e.stream_ops.msync ? e.stream_ops.msync(e, r, t, n, a) : 0;
|
|
1234
|
+
}, ioctl(e, r, t) {
|
|
1235
|
+
if (!e.stream_ops.ioctl) throw new FS.ErrnoError(59);
|
|
1236
|
+
return e.stream_ops.ioctl(e, r, t);
|
|
1237
|
+
}, readFile(e, r = {}) {
|
|
1238
|
+
if (r.flags = r.flags || 0, r.encoding = r.encoding || "binary", r.encoding !== "utf8" && r.encoding !== "binary") throw new Error(`Invalid encoding type "${r.encoding}"`);
|
|
1239
|
+
var t, n = FS.open(e, r.flags), a = FS.stat(e), o = a.size, s = new Uint8Array(o);
|
|
1240
|
+
return FS.read(n, s, 0, o, 0), r.encoding === "utf8" ? t = UTF8ArrayToString(s) : r.encoding === "binary" && (t = s), FS.close(n), t;
|
|
1241
|
+
}, writeFile(e, r, t = {}) {
|
|
1242
|
+
t.flags = t.flags || 577;
|
|
1243
|
+
var n = FS.open(e, t.flags, t.mode);
|
|
1244
|
+
if (typeof r == "string") {
|
|
1245
|
+
var a = new Uint8Array(lengthBytesUTF8(r) + 1), o = stringToUTF8Array(r, a, 0, a.length);
|
|
1246
|
+
FS.write(n, a, 0, o, void 0, t.canOwn);
|
|
1247
|
+
} else if (ArrayBuffer.isView(r)) FS.write(n, r, 0, r.byteLength, void 0, t.canOwn);
|
|
1248
|
+
else throw new Error("Unsupported data type");
|
|
1249
|
+
FS.close(n);
|
|
1250
|
+
}, cwd: () => FS.currentPath, chdir(e) {
|
|
1251
|
+
var r = FS.lookupPath(e, { follow: true });
|
|
1252
|
+
if (r.node === null) throw new FS.ErrnoError(44);
|
|
1253
|
+
if (!FS.isDir(r.node.mode)) throw new FS.ErrnoError(54);
|
|
1254
|
+
var t = FS.nodePermissions(r.node, "x");
|
|
1255
|
+
if (t) throw new FS.ErrnoError(t);
|
|
1256
|
+
FS.currentPath = r.path;
|
|
1257
|
+
}, createDefaultDirectories() {
|
|
1258
|
+
FS.mkdir("/tmp"), FS.mkdir("/home"), FS.mkdir("/home/web_user");
|
|
1259
|
+
}, createDefaultDevices() {
|
|
1260
|
+
FS.mkdir("/dev"), FS.registerDevice(FS.makedev(1, 3), { read: () => 0, write: (n, a, o, s, l) => s, llseek: () => 0 }), FS.mkdev("/dev/null", FS.makedev(1, 3)), 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));
|
|
1261
|
+
var e = new Uint8Array(1024), r = 0, t = () => (r === 0 && (r = randomFill(e).byteLength), e[--r]);
|
|
1262
|
+
FS.createDevice("/dev", "random", t), FS.createDevice("/dev", "urandom", t), FS.mkdir("/dev/shm"), FS.mkdir("/dev/shm/tmp");
|
|
1263
|
+
}, createSpecialDirectories() {
|
|
1264
|
+
FS.mkdir("/proc");
|
|
1265
|
+
var e = FS.mkdir("/proc/self");
|
|
1266
|
+
FS.mkdir("/proc/self/fd"), FS.mount({ mount() {
|
|
1267
|
+
var r = FS.createNode(e, "fd", 16895, 73);
|
|
1268
|
+
return r.stream_ops = { llseek: MEMFS.stream_ops.llseek }, r.node_ops = { lookup(t, n) {
|
|
1269
|
+
var a = +n, o = FS.getStreamChecked(a), s = { parent: null, mount: { mountpoint: "fake" }, node_ops: { readlink: () => o.path }, id: a + 1 };
|
|
1270
|
+
return s.parent = s, s;
|
|
1271
|
+
}, readdir() {
|
|
1272
|
+
return Array.from(FS.streams.entries()).filter(([t, n]) => n).map(([t, n]) => t.toString());
|
|
1273
|
+
} }, r;
|
|
1274
|
+
} }, {}, "/proc/self/fd");
|
|
1275
|
+
}, createStandardStreams(e, r, t) {
|
|
1276
|
+
e ? FS.createDevice("/dev", "stdin", e) : FS.symlink("/dev/tty", "/dev/stdin"), r ? FS.createDevice("/dev", "stdout", null, r) : FS.symlink("/dev/tty", "/dev/stdout"), t ? FS.createDevice("/dev", "stderr", null, t) : FS.symlink("/dev/tty1", "/dev/stderr");
|
|
1277
|
+
var n = FS.open("/dev/stdin", 0), a = FS.open("/dev/stdout", 1), o = FS.open("/dev/stderr", 1);
|
|
1278
|
+
}, staticInit() {
|
|
1279
|
+
FS.nameTable = new Array(4096), FS.mount(MEMFS, {}, "/"), FS.createDefaultDirectories(), FS.createDefaultDevices(), FS.createSpecialDirectories(), FS.filesystems = { MEMFS };
|
|
1280
|
+
}, init(e, r, t) {
|
|
1281
|
+
FS.initialized = true, e ?? (e = Module.stdin), r ?? (r = Module.stdout), t ?? (t = Module.stderr), FS.createStandardStreams(e, r, t);
|
|
1282
|
+
}, quit() {
|
|
1283
|
+
FS.initialized = false, _fflush(0);
|
|
1284
|
+
for (var e = 0; e < FS.streams.length; e++) {
|
|
1285
|
+
var r = FS.streams[e];
|
|
1286
|
+
r && FS.close(r);
|
|
1287
|
+
}
|
|
1288
|
+
}, findObject(e, r) {
|
|
1289
|
+
var t = FS.analyzePath(e, r);
|
|
1290
|
+
return t.exists ? t.object : null;
|
|
1291
|
+
}, analyzePath(e, r) {
|
|
1292
|
+
try {
|
|
1293
|
+
var t = FS.lookupPath(e, { follow: !r });
|
|
1294
|
+
e = t.path;
|
|
1295
|
+
} catch {
|
|
1296
|
+
}
|
|
1297
|
+
var n = { isRoot: false, exists: false, error: 0, name: null, path: null, object: null, parentExists: false, parentPath: null, parentObject: null };
|
|
1298
|
+
try {
|
|
1299
|
+
var t = FS.lookupPath(e, { parent: true });
|
|
1300
|
+
n.parentExists = true, n.parentPath = t.path, n.parentObject = t.node, n.name = PATH.basename(e), t = FS.lookupPath(e, { follow: !r }), n.exists = true, n.path = t.path, n.object = t.node, n.name = t.node.name, n.isRoot = t.path === "/";
|
|
1301
|
+
} catch (a) {
|
|
1302
|
+
n.error = a.errno;
|
|
1303
|
+
}
|
|
1304
|
+
return n;
|
|
1305
|
+
}, createPath(e, r, t, n) {
|
|
1306
|
+
e = typeof e == "string" ? e : FS.getPath(e);
|
|
1307
|
+
for (var a = r.split("/").reverse(); a.length; ) {
|
|
1308
|
+
var o = a.pop();
|
|
1309
|
+
if (o) {
|
|
1310
|
+
var s = PATH.join2(e, o);
|
|
1311
|
+
try {
|
|
1312
|
+
FS.mkdir(s);
|
|
1313
|
+
} catch {
|
|
1314
|
+
}
|
|
1315
|
+
e = s;
|
|
1316
|
+
}
|
|
1317
|
+
}
|
|
1318
|
+
return s;
|
|
1319
|
+
}, createFile(e, r, t, n, a) {
|
|
1320
|
+
var o = PATH.join2(typeof e == "string" ? e : FS.getPath(e), r), s = FS_getMode(n, a);
|
|
1321
|
+
return FS.create(o, s);
|
|
1322
|
+
}, createDataFile(e, r, t, n, a, o) {
|
|
1323
|
+
var s = r;
|
|
1324
|
+
e && (e = typeof e == "string" ? e : FS.getPath(e), s = r ? PATH.join2(e, r) : e);
|
|
1325
|
+
var l = FS_getMode(n, a), u = FS.create(s, l);
|
|
1326
|
+
if (t) {
|
|
1327
|
+
if (typeof t == "string") {
|
|
1328
|
+
for (var d = new Array(t.length), c = 0, m = t.length; c < m; ++c) d[c] = t.charCodeAt(c);
|
|
1329
|
+
t = d;
|
|
1330
|
+
}
|
|
1331
|
+
FS.chmod(u, l | 146);
|
|
1332
|
+
var _ = FS.open(u, 577);
|
|
1333
|
+
FS.write(_, t, 0, t.length, 0, o), FS.close(_), FS.chmod(u, l);
|
|
1334
|
+
}
|
|
1335
|
+
}, createDevice(e, r, t, n) {
|
|
1336
|
+
var l;
|
|
1337
|
+
var a = PATH.join2(typeof e == "string" ? e : FS.getPath(e), r), o = FS_getMode(!!t, !!n);
|
|
1338
|
+
(l = FS.createDevice).major ?? (l.major = 64);
|
|
1339
|
+
var s = FS.makedev(FS.createDevice.major++, 0);
|
|
1340
|
+
return FS.registerDevice(s, { open(u) {
|
|
1341
|
+
u.seekable = false;
|
|
1342
|
+
}, close(u) {
|
|
1343
|
+
n?.buffer?.length && n(10);
|
|
1344
|
+
}, read(u, d, c, m, _) {
|
|
1345
|
+
for (var f = 0, S = 0; S < m; S++) {
|
|
1346
|
+
var v;
|
|
1347
|
+
try {
|
|
1348
|
+
v = t();
|
|
1349
|
+
} catch {
|
|
1350
|
+
throw new FS.ErrnoError(29);
|
|
1351
|
+
}
|
|
1352
|
+
if (v === void 0 && f === 0) throw new FS.ErrnoError(6);
|
|
1353
|
+
if (v == null) break;
|
|
1354
|
+
f++, d[c + S] = v;
|
|
1355
|
+
}
|
|
1356
|
+
return f && (u.node.atime = Date.now()), f;
|
|
1357
|
+
}, write(u, d, c, m, _) {
|
|
1358
|
+
for (var f = 0; f < m; f++) try {
|
|
1359
|
+
n(d[c + f]);
|
|
1360
|
+
} catch {
|
|
1361
|
+
throw new FS.ErrnoError(29);
|
|
1362
|
+
}
|
|
1363
|
+
return m && (u.node.mtime = u.node.ctime = Date.now()), f;
|
|
1364
|
+
} }), FS.mkdev(a, o, s);
|
|
1365
|
+
}, forceLoadFile(e) {
|
|
1366
|
+
if (e.isDevice || e.isFolder || e.link || e.contents) return true;
|
|
1367
|
+
if (typeof XMLHttpRequest < "u") 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.");
|
|
1368
|
+
try {
|
|
1369
|
+
e.contents = readBinary(e.url), e.usedBytes = e.contents.length;
|
|
1370
|
+
} catch {
|
|
1371
|
+
throw new FS.ErrnoError(29);
|
|
1372
|
+
}
|
|
1373
|
+
}, createLazyFile(e, r, t, n, a) {
|
|
1374
|
+
class o {
|
|
1375
|
+
constructor() {
|
|
1376
|
+
b(this, "lengthKnown", false);
|
|
1377
|
+
b(this, "chunks", []);
|
|
1378
|
+
}
|
|
1379
|
+
get(f) {
|
|
1380
|
+
if (!(f > this.length - 1 || f < 0)) {
|
|
1381
|
+
var S = f % this.chunkSize, v = f / this.chunkSize | 0;
|
|
1382
|
+
return this.getter(v)[S];
|
|
1383
|
+
}
|
|
1384
|
+
}
|
|
1385
|
+
setDataGetter(f) {
|
|
1386
|
+
this.getter = f;
|
|
1387
|
+
}
|
|
1388
|
+
cacheLength() {
|
|
1389
|
+
var f = new XMLHttpRequest();
|
|
1390
|
+
if (f.open("HEAD", t, false), f.send(null), !(f.status >= 200 && f.status < 300 || f.status === 304)) throw new Error("Couldn't load " + t + ". Status: " + f.status);
|
|
1391
|
+
var S = Number(f.getResponseHeader("Content-length")), v, F = (v = f.getResponseHeader("Accept-Ranges")) && v === "bytes", g = (v = f.getResponseHeader("Content-Encoding")) && v === "gzip", w = 1024 * 1024;
|
|
1392
|
+
F || (w = S);
|
|
1393
|
+
var A = (p, h) => {
|
|
1394
|
+
if (p > h) throw new Error("invalid range (" + p + ", " + h + ") or no bytes requested!");
|
|
1395
|
+
if (h > S - 1) throw new Error("only " + S + " bytes available! programmer error!");
|
|
1396
|
+
var E = new XMLHttpRequest();
|
|
1397
|
+
if (E.open("GET", t, false), S !== w && E.setRequestHeader("Range", "bytes=" + p + "-" + h), E.responseType = "arraybuffer", E.overrideMimeType && E.overrideMimeType("text/plain; charset=x-user-defined"), E.send(null), !(E.status >= 200 && E.status < 300 || E.status === 304)) throw new Error("Couldn't load " + t + ". Status: " + E.status);
|
|
1398
|
+
return E.response !== void 0 ? new Uint8Array(E.response || []) : intArrayFromString(E.responseText || "", true);
|
|
1399
|
+
}, y = this;
|
|
1400
|
+
y.setDataGetter((p) => {
|
|
1401
|
+
var h = p * w, E = (p + 1) * w - 1;
|
|
1402
|
+
if (E = Math.min(E, S - 1), typeof y.chunks[p] > "u" && (y.chunks[p] = A(h, E)), typeof y.chunks[p] > "u") throw new Error("doXHR failed!");
|
|
1403
|
+
return y.chunks[p];
|
|
1404
|
+
}), (g || !S) && (w = S = 1, S = this.getter(0).length, w = S, out("LazyFiles on gzip forces download of the whole file when length is accessed")), this._length = S, this._chunkSize = w, this.lengthKnown = true;
|
|
1405
|
+
}
|
|
1406
|
+
get length() {
|
|
1407
|
+
return this.lengthKnown || this.cacheLength(), this._length;
|
|
1408
|
+
}
|
|
1409
|
+
get chunkSize() {
|
|
1410
|
+
return this.lengthKnown || this.cacheLength(), this._chunkSize;
|
|
1411
|
+
}
|
|
1412
|
+
}
|
|
1413
|
+
if (typeof XMLHttpRequest < "u") {
|
|
1414
|
+
if (!ENVIRONMENT_IS_WORKER) throw "Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";
|
|
1415
|
+
var s = new o(), l = { isDevice: false, contents: s };
|
|
1416
|
+
} else var l = { isDevice: false, url: t };
|
|
1417
|
+
var u = FS.createFile(e, r, l, n, a);
|
|
1418
|
+
l.contents ? u.contents = l.contents : l.url && (u.contents = null, u.url = l.url), Object.defineProperties(u, { usedBytes: { get: function() {
|
|
1419
|
+
return this.contents.length;
|
|
1420
|
+
} } });
|
|
1421
|
+
var d = {}, c = Object.keys(u.stream_ops);
|
|
1422
|
+
c.forEach((_) => {
|
|
1423
|
+
var f = u.stream_ops[_];
|
|
1424
|
+
d[_] = (...S) => (FS.forceLoadFile(u), f(...S));
|
|
1425
|
+
});
|
|
1426
|
+
function m(_, f, S, v, F) {
|
|
1427
|
+
var g = _.node.contents;
|
|
1428
|
+
if (F >= g.length) return 0;
|
|
1429
|
+
var w = Math.min(g.length - F, v);
|
|
1430
|
+
if (g.slice) for (var A = 0; A < w; A++) f[S + A] = g[F + A];
|
|
1431
|
+
else for (var A = 0; A < w; A++) f[S + A] = g.get(F + A);
|
|
1432
|
+
return w;
|
|
1433
|
+
}
|
|
1434
|
+
return d.read = (_, f, S, v, F) => (FS.forceLoadFile(u), m(_, f, S, v, F)), d.mmap = (_, f, S, v, F) => {
|
|
1435
|
+
FS.forceLoadFile(u);
|
|
1436
|
+
var g = mmapAlloc(f);
|
|
1437
|
+
if (!g) throw new FS.ErrnoError(48);
|
|
1438
|
+
return m(_, HEAP8, g, f, S), { ptr: g, allocated: true };
|
|
1439
|
+
}, u.stream_ops = d, u;
|
|
1440
|
+
} }, SYSCALLS = { DEFAULT_POLLMASK: 5, calculateAt(e, r, t) {
|
|
1441
|
+
if (PATH.isAbs(r)) return r;
|
|
1442
|
+
var n;
|
|
1443
|
+
if (e === -100) n = FS.cwd();
|
|
1444
|
+
else {
|
|
1445
|
+
var a = SYSCALLS.getStreamFromFD(e);
|
|
1446
|
+
n = a.path;
|
|
1447
|
+
}
|
|
1448
|
+
if (r.length == 0) {
|
|
1449
|
+
if (!t) throw new FS.ErrnoError(44);
|
|
1450
|
+
return n;
|
|
1451
|
+
}
|
|
1452
|
+
return n + "/" + r;
|
|
1453
|
+
}, doStat(e, r, t) {
|
|
1454
|
+
var n = e(r);
|
|
1455
|
+
HEAP32[t >> 2] = n.dev, HEAP32[t + 4 >> 2] = n.mode, HEAPU32[t + 8 >> 2] = n.nlink, HEAP32[t + 12 >> 2] = n.uid, HEAP32[t + 16 >> 2] = n.gid, HEAP32[t + 20 >> 2] = n.rdev, HEAP64[t + 24 >> 3] = BigInt(n.size), HEAP32[t + 32 >> 2] = 4096, HEAP32[t + 36 >> 2] = n.blocks;
|
|
1456
|
+
var a = n.atime.getTime(), o = n.mtime.getTime(), s = n.ctime.getTime();
|
|
1457
|
+
return HEAP64[t + 40 >> 3] = BigInt(Math.floor(a / 1e3)), HEAPU32[t + 48 >> 2] = a % 1e3 * 1e3 * 1e3, HEAP64[t + 56 >> 3] = BigInt(Math.floor(o / 1e3)), HEAPU32[t + 64 >> 2] = o % 1e3 * 1e3 * 1e3, HEAP64[t + 72 >> 3] = BigInt(Math.floor(s / 1e3)), HEAPU32[t + 80 >> 2] = s % 1e3 * 1e3 * 1e3, HEAP64[t + 88 >> 3] = BigInt(n.ino), 0;
|
|
1458
|
+
}, doMsync(e, r, t, n, a) {
|
|
1459
|
+
if (!FS.isFile(r.node.mode)) throw new FS.ErrnoError(43);
|
|
1460
|
+
if (n & 2) return 0;
|
|
1461
|
+
var o = HEAPU8.slice(e, e + t);
|
|
1462
|
+
FS.msync(r, o, a, t, n);
|
|
1463
|
+
}, getStreamFromFD(e) {
|
|
1464
|
+
var r = FS.getStreamChecked(e);
|
|
1465
|
+
return r;
|
|
1466
|
+
}, varargs: void 0, getStr(e) {
|
|
1467
|
+
var r = UTF8ToString(e);
|
|
1468
|
+
return r;
|
|
1469
|
+
} }, ___syscall__newselect = function(e, r, t, n, a) {
|
|
1470
|
+
try {
|
|
1471
|
+
for (var o = 0, s = r ? HEAP32[r >> 2] : 0, l = r ? HEAP32[r + 4 >> 2] : 0, u = t ? HEAP32[t >> 2] : 0, d = t ? HEAP32[t + 4 >> 2] : 0, c = n ? HEAP32[n >> 2] : 0, m = n ? HEAP32[n + 4 >> 2] : 0, _ = 0, f = 0, S = 0, v = 0, F = 0, g = 0, w = (r ? HEAP32[r >> 2] : 0) | (t ? HEAP32[t >> 2] : 0) | (n ? HEAP32[n >> 2] : 0), A = (r ? HEAP32[r + 4 >> 2] : 0) | (t ? HEAP32[t + 4 >> 2] : 0) | (n ? HEAP32[n + 4 >> 2] : 0), y = (k, P, H, I) => k < 32 ? P & I : H & I, p = 0; p < e; p++) {
|
|
1472
|
+
var h = 1 << p % 32;
|
|
1473
|
+
if (y(p, w, A, h)) {
|
|
1474
|
+
var E = SYSCALLS.getStreamFromFD(p), M = SYSCALLS.DEFAULT_POLLMASK;
|
|
1475
|
+
if (E.stream_ops.poll) {
|
|
1476
|
+
var T = -1;
|
|
1477
|
+
if (a) {
|
|
1478
|
+
var D = r ? HEAP32[a >> 2] : 0, R = r ? HEAP32[a + 4 >> 2] : 0;
|
|
1479
|
+
T = (D + R / 1e6) * 1e3;
|
|
1480
|
+
}
|
|
1481
|
+
M = E.stream_ops.poll(E, T);
|
|
1482
|
+
}
|
|
1483
|
+
M & 1 && y(p, s, l, h) && (p < 32 ? _ = _ | h : f = f | h, o++), M & 4 && y(p, u, d, h) && (p < 32 ? S = S | h : v = v | h, o++), M & 2 && y(p, c, m, h) && (p < 32 ? F = F | h : g = g | h, o++);
|
|
1484
|
+
}
|
|
1485
|
+
}
|
|
1486
|
+
return r && (HEAP32[r >> 2] = _, HEAP32[r + 4 >> 2] = f), t && (HEAP32[t >> 2] = S, HEAP32[t + 4 >> 2] = v), n && (HEAP32[n >> 2] = F, HEAP32[n + 4 >> 2] = g), o;
|
|
1487
|
+
} catch (k) {
|
|
1488
|
+
if (typeof FS > "u" || k.name !== "ErrnoError") throw k;
|
|
1489
|
+
return -k.errno;
|
|
1490
|
+
}
|
|
1491
|
+
};
|
|
1492
|
+
___syscall__newselect.sig = "iipppp";
|
|
1493
|
+
function ___syscall_dup(e) {
|
|
1494
|
+
try {
|
|
1495
|
+
var r = SYSCALLS.getStreamFromFD(e);
|
|
1496
|
+
return FS.dupStream(r).fd;
|
|
1497
|
+
} catch (t) {
|
|
1498
|
+
if (typeof FS > "u" || t.name !== "ErrnoError") throw t;
|
|
1499
|
+
return -t.errno;
|
|
1500
|
+
}
|
|
1501
|
+
}
|
|
1502
|
+
___syscall_dup.sig = "ii";
|
|
1503
|
+
function ___syscall_faccessat(e, r, t, n) {
|
|
1504
|
+
try {
|
|
1505
|
+
if (r = SYSCALLS.getStr(r), r = SYSCALLS.calculateAt(e, r), t & -8) return -28;
|
|
1506
|
+
var a = FS.lookupPath(r, { follow: true }), o = a.node;
|
|
1507
|
+
if (!o) return -44;
|
|
1508
|
+
var s = "";
|
|
1509
|
+
return t & 4 && (s += "r"), t & 2 && (s += "w"), t & 1 && (s += "x"), s && FS.nodePermissions(o, s) ? -2 : 0;
|
|
1510
|
+
} catch (l) {
|
|
1511
|
+
if (typeof FS > "u" || l.name !== "ErrnoError") throw l;
|
|
1512
|
+
return -l.errno;
|
|
1513
|
+
}
|
|
1514
|
+
}
|
|
1515
|
+
___syscall_faccessat.sig = "iipii";
|
|
1516
|
+
var ___syscall_fadvise64 = (e, r, t, n) => 0;
|
|
1517
|
+
___syscall_fadvise64.sig = "iijji";
|
|
1518
|
+
var syscallGetVarargI = () => {
|
|
1519
|
+
var e = HEAP32[+SYSCALLS.varargs >> 2];
|
|
1520
|
+
return SYSCALLS.varargs += 4, e;
|
|
1521
|
+
}, syscallGetVarargP = syscallGetVarargI;
|
|
1522
|
+
function ___syscall_fcntl64(e, r, t) {
|
|
1523
|
+
SYSCALLS.varargs = t;
|
|
1524
|
+
try {
|
|
1525
|
+
var n = SYSCALLS.getStreamFromFD(e);
|
|
1526
|
+
switch (r) {
|
|
1527
|
+
case 0: {
|
|
1528
|
+
var a = syscallGetVarargI();
|
|
1529
|
+
if (a < 0) return -28;
|
|
1530
|
+
for (; FS.streams[a]; ) a++;
|
|
1531
|
+
var o;
|
|
1532
|
+
return o = FS.dupStream(n, a), o.fd;
|
|
1533
|
+
}
|
|
1534
|
+
case 1:
|
|
1535
|
+
case 2:
|
|
1536
|
+
return 0;
|
|
1537
|
+
case 3:
|
|
1538
|
+
return n.flags;
|
|
1539
|
+
case 4: {
|
|
1540
|
+
var a = syscallGetVarargI();
|
|
1541
|
+
return n.flags |= a, 0;
|
|
1542
|
+
}
|
|
1543
|
+
case 12: {
|
|
1544
|
+
var a = syscallGetVarargP(), s = 0;
|
|
1545
|
+
return HEAP16[a + s >> 1] = 2, 0;
|
|
1546
|
+
}
|
|
1547
|
+
case 13:
|
|
1548
|
+
case 14:
|
|
1549
|
+
return 0;
|
|
1550
|
+
}
|
|
1551
|
+
return -28;
|
|
1552
|
+
} catch (l) {
|
|
1553
|
+
if (typeof FS > "u" || l.name !== "ErrnoError") throw l;
|
|
1554
|
+
return -l.errno;
|
|
1555
|
+
}
|
|
1556
|
+
}
|
|
1557
|
+
___syscall_fcntl64.sig = "iiip";
|
|
1558
|
+
function ___syscall_fstat64(e, r) {
|
|
1559
|
+
try {
|
|
1560
|
+
var t = SYSCALLS.getStreamFromFD(e);
|
|
1561
|
+
return SYSCALLS.doStat(FS.stat, t.path, r);
|
|
1562
|
+
} catch (n) {
|
|
1563
|
+
if (typeof FS > "u" || n.name !== "ErrnoError") throw n;
|
|
1564
|
+
return -n.errno;
|
|
1565
|
+
}
|
|
1566
|
+
}
|
|
1567
|
+
___syscall_fstat64.sig = "iip";
|
|
1568
|
+
var stringToUTF8 = (e, r, t) => stringToUTF8Array(e, HEAPU8, r, t);
|
|
1569
|
+
function ___syscall_getcwd(e, r) {
|
|
1570
|
+
try {
|
|
1571
|
+
if (r === 0) return -28;
|
|
1572
|
+
var t = FS.cwd(), n = lengthBytesUTF8(t) + 1;
|
|
1573
|
+
return r < n ? -68 : (stringToUTF8(t, e, r), n);
|
|
1574
|
+
} catch (a) {
|
|
1575
|
+
if (typeof FS > "u" || a.name !== "ErrnoError") throw a;
|
|
1576
|
+
return -a.errno;
|
|
1577
|
+
}
|
|
1578
|
+
}
|
|
1579
|
+
___syscall_getcwd.sig = "ipp";
|
|
1580
|
+
function ___syscall_getdents64(e, r, t) {
|
|
1581
|
+
try {
|
|
1582
|
+
var n = SYSCALLS.getStreamFromFD(e);
|
|
1583
|
+
n.getdents || (n.getdents = FS.readdir(n.path));
|
|
1584
|
+
for (var a = 280, o = 0, s = FS.llseek(n, 0, 1), l = Math.floor(s / a), u = Math.min(n.getdents.length, l + Math.floor(t / a)), d = l; d < u; d++) {
|
|
1585
|
+
var c, m, _ = n.getdents[d];
|
|
1586
|
+
if (_ === ".") c = n.node.id, m = 4;
|
|
1587
|
+
else if (_ === "..") {
|
|
1588
|
+
var f = FS.lookupPath(n.path, { parent: true });
|
|
1589
|
+
c = f.node.id, m = 4;
|
|
1590
|
+
} else {
|
|
1591
|
+
var S;
|
|
1592
|
+
try {
|
|
1593
|
+
S = FS.lookupNode(n.node, _);
|
|
1594
|
+
} catch (v) {
|
|
1595
|
+
if (v?.errno === 28) continue;
|
|
1596
|
+
throw v;
|
|
1597
|
+
}
|
|
1598
|
+
c = S.id, m = FS.isChrdev(S.mode) ? 2 : FS.isDir(S.mode) ? 4 : FS.isLink(S.mode) ? 10 : 8;
|
|
1599
|
+
}
|
|
1600
|
+
HEAP64[r + o >> 3] = BigInt(c), HEAP64[r + o + 8 >> 3] = BigInt((d + 1) * a), HEAP16[r + o + 16 >> 1] = 280, HEAP8[r + o + 18] = m, stringToUTF8(_, r + o + 19, 256), o += a;
|
|
1601
|
+
}
|
|
1602
|
+
return FS.llseek(n, d * a, 0), o;
|
|
1603
|
+
} catch (v) {
|
|
1604
|
+
if (typeof FS > "u" || v.name !== "ErrnoError") throw v;
|
|
1605
|
+
return -v.errno;
|
|
1606
|
+
}
|
|
1607
|
+
}
|
|
1608
|
+
___syscall_getdents64.sig = "iipp";
|
|
1609
|
+
function ___syscall_ioctl(e, r, t) {
|
|
1610
|
+
SYSCALLS.varargs = t;
|
|
1611
|
+
try {
|
|
1612
|
+
var n = SYSCALLS.getStreamFromFD(e);
|
|
1613
|
+
switch (r) {
|
|
1614
|
+
case 21509:
|
|
1615
|
+
return n.tty ? 0 : -59;
|
|
1616
|
+
case 21505: {
|
|
1617
|
+
if (!n.tty) return -59;
|
|
1618
|
+
if (n.tty.ops.ioctl_tcgets) {
|
|
1619
|
+
var a = n.tty.ops.ioctl_tcgets(n), o = syscallGetVarargP();
|
|
1620
|
+
HEAP32[o >> 2] = a.c_iflag || 0, HEAP32[o + 4 >> 2] = a.c_oflag || 0, HEAP32[o + 8 >> 2] = a.c_cflag || 0, HEAP32[o + 12 >> 2] = a.c_lflag || 0;
|
|
1621
|
+
for (var s = 0; s < 32; s++) HEAP8[o + s + 17] = a.c_cc[s] || 0;
|
|
1622
|
+
return 0;
|
|
1623
|
+
}
|
|
1624
|
+
return 0;
|
|
1625
|
+
}
|
|
1626
|
+
case 21510:
|
|
1627
|
+
case 21511:
|
|
1628
|
+
case 21512:
|
|
1629
|
+
return n.tty ? 0 : -59;
|
|
1630
|
+
case 21506:
|
|
1631
|
+
case 21507:
|
|
1632
|
+
case 21508: {
|
|
1633
|
+
if (!n.tty) return -59;
|
|
1634
|
+
if (n.tty.ops.ioctl_tcsets) {
|
|
1635
|
+
for (var o = syscallGetVarargP(), l = HEAP32[o >> 2], u = HEAP32[o + 4 >> 2], d = HEAP32[o + 8 >> 2], c = HEAP32[o + 12 >> 2], m = [], s = 0; s < 32; s++) m.push(HEAP8[o + s + 17]);
|
|
1636
|
+
return n.tty.ops.ioctl_tcsets(n.tty, r, { c_iflag: l, c_oflag: u, c_cflag: d, c_lflag: c, c_cc: m });
|
|
1637
|
+
}
|
|
1638
|
+
return 0;
|
|
1639
|
+
}
|
|
1640
|
+
case 21519: {
|
|
1641
|
+
if (!n.tty) return -59;
|
|
1642
|
+
var o = syscallGetVarargP();
|
|
1643
|
+
return HEAP32[o >> 2] = 0, 0;
|
|
1644
|
+
}
|
|
1645
|
+
case 21520:
|
|
1646
|
+
return n.tty ? -28 : -59;
|
|
1647
|
+
case 21531: {
|
|
1648
|
+
var o = syscallGetVarargP();
|
|
1649
|
+
return FS.ioctl(n, r, o);
|
|
1650
|
+
}
|
|
1651
|
+
case 21523: {
|
|
1652
|
+
if (!n.tty) return -59;
|
|
1653
|
+
if (n.tty.ops.ioctl_tiocgwinsz) {
|
|
1654
|
+
var _ = n.tty.ops.ioctl_tiocgwinsz(n.tty), o = syscallGetVarargP();
|
|
1655
|
+
HEAP16[o >> 1] = _[0], HEAP16[o + 2 >> 1] = _[1];
|
|
1656
|
+
}
|
|
1657
|
+
return 0;
|
|
1658
|
+
}
|
|
1659
|
+
case 21524:
|
|
1660
|
+
return n.tty ? 0 : -59;
|
|
1661
|
+
case 21515:
|
|
1662
|
+
return n.tty ? 0 : -59;
|
|
1663
|
+
default:
|
|
1664
|
+
return -28;
|
|
1665
|
+
}
|
|
1666
|
+
} catch (f) {
|
|
1667
|
+
if (typeof FS > "u" || f.name !== "ErrnoError") throw f;
|
|
1668
|
+
return -f.errno;
|
|
1669
|
+
}
|
|
1670
|
+
}
|
|
1671
|
+
___syscall_ioctl.sig = "iiip";
|
|
1672
|
+
function ___syscall_lstat64(e, r) {
|
|
1673
|
+
try {
|
|
1674
|
+
return e = SYSCALLS.getStr(e), SYSCALLS.doStat(FS.lstat, e, r);
|
|
1675
|
+
} catch (t) {
|
|
1676
|
+
if (typeof FS > "u" || t.name !== "ErrnoError") throw t;
|
|
1677
|
+
return -t.errno;
|
|
1678
|
+
}
|
|
1679
|
+
}
|
|
1680
|
+
___syscall_lstat64.sig = "ipp";
|
|
1681
|
+
function ___syscall_mkdirat(e, r, t) {
|
|
1682
|
+
try {
|
|
1683
|
+
return r = SYSCALLS.getStr(r), r = SYSCALLS.calculateAt(e, r), FS.mkdir(r, t, 0), 0;
|
|
1684
|
+
} catch (n) {
|
|
1685
|
+
if (typeof FS > "u" || n.name !== "ErrnoError") throw n;
|
|
1686
|
+
return -n.errno;
|
|
1687
|
+
}
|
|
1688
|
+
}
|
|
1689
|
+
___syscall_mkdirat.sig = "iipi";
|
|
1690
|
+
function ___syscall_newfstatat(e, r, t, n) {
|
|
1691
|
+
try {
|
|
1692
|
+
r = SYSCALLS.getStr(r);
|
|
1693
|
+
var a = n & 256, o = n & 4096;
|
|
1694
|
+
return n = n & -6401, r = SYSCALLS.calculateAt(e, r, o), SYSCALLS.doStat(a ? FS.lstat : FS.stat, r, t);
|
|
1695
|
+
} catch (s) {
|
|
1696
|
+
if (typeof FS > "u" || s.name !== "ErrnoError") throw s;
|
|
1697
|
+
return -s.errno;
|
|
1698
|
+
}
|
|
1699
|
+
}
|
|
1700
|
+
___syscall_newfstatat.sig = "iippi";
|
|
1701
|
+
function ___syscall_openat(e, r, t, n) {
|
|
1702
|
+
SYSCALLS.varargs = n;
|
|
1703
|
+
try {
|
|
1704
|
+
r = SYSCALLS.getStr(r), r = SYSCALLS.calculateAt(e, r);
|
|
1705
|
+
var a = n ? syscallGetVarargI() : 0;
|
|
1706
|
+
return FS.open(r, t, a).fd;
|
|
1707
|
+
} catch (o) {
|
|
1708
|
+
if (typeof FS > "u" || o.name !== "ErrnoError") throw o;
|
|
1709
|
+
return -o.errno;
|
|
1710
|
+
}
|
|
1711
|
+
}
|
|
1712
|
+
___syscall_openat.sig = "iipip";
|
|
1713
|
+
var PIPEFS = { BUCKET_BUFFER_SIZE: 8192, mount(e) {
|
|
1714
|
+
return FS.createNode(null, "/", 16895, 0);
|
|
1715
|
+
}, createPipe() {
|
|
1716
|
+
var e = { buckets: [], refcnt: 2 };
|
|
1717
|
+
e.buckets.push({ buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), offset: 0, roffset: 0 });
|
|
1718
|
+
var r = PIPEFS.nextname(), t = PIPEFS.nextname(), n = FS.createNode(PIPEFS.root, r, 4096, 0), a = FS.createNode(PIPEFS.root, t, 4096, 0);
|
|
1719
|
+
n.pipe = e, a.pipe = e;
|
|
1720
|
+
var o = FS.createStream({ path: r, node: n, flags: 0, seekable: false, stream_ops: PIPEFS.stream_ops });
|
|
1721
|
+
n.stream = o;
|
|
1722
|
+
var s = FS.createStream({ path: t, node: a, flags: 1, seekable: false, stream_ops: PIPEFS.stream_ops });
|
|
1723
|
+
return a.stream = s, { readable_fd: o.fd, writable_fd: s.fd };
|
|
1724
|
+
}, stream_ops: { poll(e) {
|
|
1725
|
+
var r = e.node.pipe;
|
|
1726
|
+
if ((e.flags & 2097155) === 1) return 260;
|
|
1727
|
+
if (r.buckets.length > 0) for (var t = 0; t < r.buckets.length; t++) {
|
|
1728
|
+
var n = r.buckets[t];
|
|
1729
|
+
if (n.offset - n.roffset > 0) return 65;
|
|
1730
|
+
}
|
|
1731
|
+
return 0;
|
|
1732
|
+
}, ioctl(e, r, t) {
|
|
1733
|
+
return 28;
|
|
1734
|
+
}, fsync(e) {
|
|
1735
|
+
return 28;
|
|
1736
|
+
}, read(e, r, t, n, a) {
|
|
1737
|
+
for (var o = e.node.pipe, s = 0, l = 0; l < o.buckets.length; l++) {
|
|
1738
|
+
var u = o.buckets[l];
|
|
1739
|
+
s += u.offset - u.roffset;
|
|
1740
|
+
}
|
|
1741
|
+
var d = r.subarray(t, t + n);
|
|
1742
|
+
if (n <= 0) return 0;
|
|
1743
|
+
if (s == 0) throw new FS.ErrnoError(6);
|
|
1744
|
+
for (var c = Math.min(s, n), m = c, _ = 0, l = 0; l < o.buckets.length; l++) {
|
|
1745
|
+
var f = o.buckets[l], S = f.offset - f.roffset;
|
|
1746
|
+
if (c <= S) {
|
|
1747
|
+
var v = f.buffer.subarray(f.roffset, f.offset);
|
|
1748
|
+
c < S ? (v = v.subarray(0, c), f.roffset += c) : _++, d.set(v);
|
|
1749
|
+
break;
|
|
1750
|
+
} else {
|
|
1751
|
+
var v = f.buffer.subarray(f.roffset, f.offset);
|
|
1752
|
+
d.set(v), d = d.subarray(v.byteLength), c -= v.byteLength, _++;
|
|
1753
|
+
}
|
|
1754
|
+
}
|
|
1755
|
+
return _ && _ == o.buckets.length && (_--, o.buckets[_].offset = 0, o.buckets[_].roffset = 0), o.buckets.splice(0, _), m;
|
|
1756
|
+
}, write(e, r, t, n, a) {
|
|
1757
|
+
var o = e.node.pipe, s = r.subarray(t, t + n), l = s.byteLength;
|
|
1758
|
+
if (l <= 0) return 0;
|
|
1759
|
+
var u = null;
|
|
1760
|
+
o.buckets.length == 0 ? (u = { buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), offset: 0, roffset: 0 }, o.buckets.push(u)) : u = o.buckets[o.buckets.length - 1], assert(u.offset <= PIPEFS.BUCKET_BUFFER_SIZE);
|
|
1761
|
+
var d = PIPEFS.BUCKET_BUFFER_SIZE - u.offset;
|
|
1762
|
+
if (d >= l) return u.buffer.set(s, u.offset), u.offset += l, l;
|
|
1763
|
+
d > 0 && (u.buffer.set(s.subarray(0, d), u.offset), u.offset += d, s = s.subarray(d, s.byteLength));
|
|
1764
|
+
for (var c = s.byteLength / PIPEFS.BUCKET_BUFFER_SIZE | 0, m = s.byteLength % PIPEFS.BUCKET_BUFFER_SIZE, _ = 0; _ < c; _++) {
|
|
1765
|
+
var f = { buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), offset: PIPEFS.BUCKET_BUFFER_SIZE, roffset: 0 };
|
|
1766
|
+
o.buckets.push(f), f.buffer.set(s.subarray(0, PIPEFS.BUCKET_BUFFER_SIZE)), s = s.subarray(PIPEFS.BUCKET_BUFFER_SIZE, s.byteLength);
|
|
1767
|
+
}
|
|
1768
|
+
if (m > 0) {
|
|
1769
|
+
var f = { buffer: new Uint8Array(PIPEFS.BUCKET_BUFFER_SIZE), offset: s.byteLength, roffset: 0 };
|
|
1770
|
+
o.buckets.push(f), f.buffer.set(s);
|
|
1771
|
+
}
|
|
1772
|
+
return l;
|
|
1773
|
+
}, close(e) {
|
|
1774
|
+
var r = e.node.pipe;
|
|
1775
|
+
r.refcnt--, r.refcnt === 0 && (r.buckets = null);
|
|
1776
|
+
} }, nextname() {
|
|
1777
|
+
return PIPEFS.nextname.current || (PIPEFS.nextname.current = 0), "pipe[" + PIPEFS.nextname.current++ + "]";
|
|
1778
|
+
} };
|
|
1779
|
+
function ___syscall_pipe(e) {
|
|
1780
|
+
try {
|
|
1781
|
+
if (e == 0) throw new FS.ErrnoError(21);
|
|
1782
|
+
var r = PIPEFS.createPipe();
|
|
1783
|
+
return HEAP32[e >> 2] = r.readable_fd, HEAP32[e + 4 >> 2] = r.writable_fd, 0;
|
|
1784
|
+
} catch (t) {
|
|
1785
|
+
if (typeof FS > "u" || t.name !== "ErrnoError") throw t;
|
|
1786
|
+
return -t.errno;
|
|
1787
|
+
}
|
|
1788
|
+
}
|
|
1789
|
+
___syscall_pipe.sig = "ip";
|
|
1790
|
+
function ___syscall_readlinkat(e, r, t, n) {
|
|
1791
|
+
try {
|
|
1792
|
+
if (r = SYSCALLS.getStr(r), r = SYSCALLS.calculateAt(e, r), n <= 0) return -28;
|
|
1793
|
+
var a = FS.readlink(r), o = Math.min(n, lengthBytesUTF8(a)), s = HEAP8[t + o];
|
|
1794
|
+
return stringToUTF8(a, t, n + 1), HEAP8[t + o] = s, o;
|
|
1795
|
+
} catch (l) {
|
|
1796
|
+
if (typeof FS > "u" || l.name !== "ErrnoError") throw l;
|
|
1797
|
+
return -l.errno;
|
|
1798
|
+
}
|
|
1799
|
+
}
|
|
1800
|
+
___syscall_readlinkat.sig = "iippp";
|
|
1801
|
+
var SOCKFS = { websocketArgs: {}, callbacks: {}, on(e, r) {
|
|
1802
|
+
SOCKFS.callbacks[e] = r;
|
|
1803
|
+
}, emit(e, r) {
|
|
1804
|
+
SOCKFS.callbacks[e]?.(r);
|
|
1805
|
+
}, mount(e) {
|
|
1806
|
+
return SOCKFS.websocketArgs = Module.websocket || {}, (Module.websocket ?? (Module.websocket = {})).on = SOCKFS.on, FS.createNode(null, "/", 16895, 0);
|
|
1807
|
+
}, createSocket(e, r, t) {
|
|
1808
|
+
r &= -526337;
|
|
1809
|
+
var n = r == 1;
|
|
1810
|
+
if (n && t && t != 6) throw new FS.ErrnoError(66);
|
|
1811
|
+
var a = { family: e, type: r, protocol: t, server: null, error: null, peers: {}, pending: [], recv_queue: [], sock_ops: SOCKFS.websocket_sock_ops }, o = SOCKFS.nextname(), s = FS.createNode(SOCKFS.root, o, 49152, 0);
|
|
1812
|
+
s.sock = a;
|
|
1813
|
+
var l = FS.createStream({ path: o, node: s, flags: 2, seekable: false, stream_ops: SOCKFS.stream_ops });
|
|
1814
|
+
return a.stream = l, a;
|
|
1815
|
+
}, getSocket(e) {
|
|
1816
|
+
var r = FS.getStream(e);
|
|
1817
|
+
return !r || !FS.isSocket(r.node.mode) ? null : r.node.sock;
|
|
1818
|
+
}, stream_ops: { poll(e) {
|
|
1819
|
+
var r = e.node.sock;
|
|
1820
|
+
return r.sock_ops.poll(r);
|
|
1821
|
+
}, ioctl(e, r, t) {
|
|
1822
|
+
var n = e.node.sock;
|
|
1823
|
+
return n.sock_ops.ioctl(n, r, t);
|
|
1824
|
+
}, read(e, r, t, n, a) {
|
|
1825
|
+
var o = e.node.sock, s = o.sock_ops.recvmsg(o, n);
|
|
1826
|
+
return s ? (r.set(s.buffer, t), s.buffer.length) : 0;
|
|
1827
|
+
}, write(e, r, t, n, a) {
|
|
1828
|
+
var o = e.node.sock;
|
|
1829
|
+
return o.sock_ops.sendmsg(o, r, t, n);
|
|
1830
|
+
}, close(e) {
|
|
1831
|
+
var r = e.node.sock;
|
|
1832
|
+
r.sock_ops.close(r);
|
|
1833
|
+
} }, nextname() {
|
|
1834
|
+
return SOCKFS.nextname.current || (SOCKFS.nextname.current = 0), `socket[${SOCKFS.nextname.current++}]`;
|
|
1835
|
+
}, websocket_sock_ops: { createPeer(e, r, t) {
|
|
1836
|
+
var n;
|
|
1837
|
+
if (typeof r == "object" && (n = r, r = null, t = null), n) if (n._socket) r = n._socket.remoteAddress, t = n._socket.remotePort;
|
|
1838
|
+
else {
|
|
1839
|
+
var a = /ws[s]?:\/\/([^:]+):(\d+)/.exec(n.url);
|
|
1840
|
+
if (!a) throw new Error("WebSocket URL must be in the format ws(s)://address:port");
|
|
1841
|
+
r = a[1], t = parseInt(a[2], 10);
|
|
1842
|
+
}
|
|
1843
|
+
else try {
|
|
1844
|
+
var o = "ws:#".replace("#", "//"), s = "binary", l = void 0;
|
|
1845
|
+
if (SOCKFS.websocketArgs.url && (o = SOCKFS.websocketArgs.url), SOCKFS.websocketArgs.subprotocol ? s = SOCKFS.websocketArgs.subprotocol : SOCKFS.websocketArgs.subprotocol === null && (s = "null"), o === "ws://" || o === "wss://") {
|
|
1846
|
+
var u = r.split("/");
|
|
1847
|
+
o = o + u[0] + ":" + t + "/" + u.slice(1).join("/");
|
|
1848
|
+
}
|
|
1849
|
+
s !== "null" && (s = s.replace(/^ +| +$/g, "").split(/ *, */), l = s);
|
|
1850
|
+
var d;
|
|
1851
|
+
ENVIRONMENT_IS_NODE ? d = require("ws") : d = WebSocket, n = new d(o, l), n.binaryType = "arraybuffer";
|
|
1852
|
+
} catch {
|
|
1853
|
+
throw new FS.ErrnoError(23);
|
|
1854
|
+
}
|
|
1855
|
+
var c = { addr: r, port: t, socket: n, msg_send_queue: [] };
|
|
1856
|
+
return SOCKFS.websocket_sock_ops.addPeer(e, c), SOCKFS.websocket_sock_ops.handlePeerEvents(e, c), e.type === 2 && typeof e.sport < "u" && c.msg_send_queue.push(new Uint8Array([255, 255, 255, 255, 112, 111, 114, 116, (e.sport & 65280) >> 8, e.sport & 255])), c;
|
|
1857
|
+
}, getPeer(e, r, t) {
|
|
1858
|
+
return e.peers[r + ":" + t];
|
|
1859
|
+
}, addPeer(e, r) {
|
|
1860
|
+
e.peers[r.addr + ":" + r.port] = r;
|
|
1861
|
+
}, removePeer(e, r) {
|
|
1862
|
+
delete e.peers[r.addr + ":" + r.port];
|
|
1863
|
+
}, handlePeerEvents(e, r) {
|
|
1864
|
+
var t = true, n = function() {
|
|
1865
|
+
e.connecting = false, SOCKFS.emit("open", e.stream.fd);
|
|
1866
|
+
try {
|
|
1867
|
+
for (var o = r.msg_send_queue.shift(); o; ) r.socket.send(o), o = r.msg_send_queue.shift();
|
|
1868
|
+
} catch {
|
|
1869
|
+
r.socket.close();
|
|
1870
|
+
}
|
|
1871
|
+
};
|
|
1872
|
+
function a(o) {
|
|
1873
|
+
if (typeof o == "string") {
|
|
1874
|
+
var s = new TextEncoder();
|
|
1875
|
+
o = s.encode(o);
|
|
1876
|
+
} else {
|
|
1877
|
+
if (assert(o.byteLength !== void 0), o.byteLength == 0) return;
|
|
1878
|
+
o = new Uint8Array(o);
|
|
1879
|
+
}
|
|
1880
|
+
var l = t;
|
|
1881
|
+
if (t = false, l && o.length === 10 && o[0] === 255 && o[1] === 255 && o[2] === 255 && o[3] === 255 && o[4] === 112 && o[5] === 111 && o[6] === 114 && o[7] === 116) {
|
|
1882
|
+
var u = o[8] << 8 | o[9];
|
|
1883
|
+
SOCKFS.websocket_sock_ops.removePeer(e, r), r.port = u, SOCKFS.websocket_sock_ops.addPeer(e, r);
|
|
1884
|
+
return;
|
|
1885
|
+
}
|
|
1886
|
+
e.recv_queue.push({ addr: r.addr, port: r.port, data: o }), SOCKFS.emit("message", e.stream.fd);
|
|
1887
|
+
}
|
|
1888
|
+
ENVIRONMENT_IS_NODE ? (r.socket.on("open", n), r.socket.on("message", function(o, s) {
|
|
1889
|
+
s && a(new Uint8Array(o).buffer);
|
|
1890
|
+
}), r.socket.on("close", function() {
|
|
1891
|
+
SOCKFS.emit("close", e.stream.fd);
|
|
1892
|
+
}), r.socket.on("error", function(o) {
|
|
1893
|
+
e.error = 14, SOCKFS.emit("error", [e.stream.fd, e.error, "ECONNREFUSED: Connection refused"]);
|
|
1894
|
+
})) : (r.socket.onopen = n, r.socket.onclose = function() {
|
|
1895
|
+
SOCKFS.emit("close", e.stream.fd);
|
|
1896
|
+
}, r.socket.onmessage = function(s) {
|
|
1897
|
+
a(s.data);
|
|
1898
|
+
}, r.socket.onerror = function(o) {
|
|
1899
|
+
e.error = 14, SOCKFS.emit("error", [e.stream.fd, e.error, "ECONNREFUSED: Connection refused"]);
|
|
1900
|
+
});
|
|
1901
|
+
}, poll(e) {
|
|
1902
|
+
if (e.type === 1 && e.server) return e.pending.length ? 65 : 0;
|
|
1903
|
+
var r = 0, t = e.type === 1 ? SOCKFS.websocket_sock_ops.getPeer(e, e.daddr, e.dport) : null;
|
|
1904
|
+
return (e.recv_queue.length || !t || t && t.socket.readyState === t.socket.CLOSING || t && t.socket.readyState === t.socket.CLOSED) && (r |= 65), (!t || t && t.socket.readyState === t.socket.OPEN) && (r |= 4), (t && t.socket.readyState === t.socket.CLOSING || t && t.socket.readyState === t.socket.CLOSED) && (e.connecting ? r |= 4 : r |= 16), r;
|
|
1905
|
+
}, ioctl(e, r, t) {
|
|
1906
|
+
switch (r) {
|
|
1907
|
+
case 21531:
|
|
1908
|
+
var n = 0;
|
|
1909
|
+
return e.recv_queue.length && (n = e.recv_queue[0].data.length), HEAP32[t >> 2] = n, 0;
|
|
1910
|
+
default:
|
|
1911
|
+
return 28;
|
|
1912
|
+
}
|
|
1913
|
+
}, close(e) {
|
|
1914
|
+
if (e.server) {
|
|
1915
|
+
try {
|
|
1916
|
+
e.server.close();
|
|
1917
|
+
} catch {
|
|
1918
|
+
}
|
|
1919
|
+
e.server = null;
|
|
1920
|
+
}
|
|
1921
|
+
for (var r = Object.keys(e.peers), t = 0; t < r.length; t++) {
|
|
1922
|
+
var n = e.peers[r[t]];
|
|
1923
|
+
try {
|
|
1924
|
+
n.socket.close();
|
|
1925
|
+
} catch {
|
|
1926
|
+
}
|
|
1927
|
+
SOCKFS.websocket_sock_ops.removePeer(e, n);
|
|
1928
|
+
}
|
|
1929
|
+
return 0;
|
|
1930
|
+
}, bind(e, r, t) {
|
|
1931
|
+
if (typeof e.saddr < "u" || typeof e.sport < "u") throw new FS.ErrnoError(28);
|
|
1932
|
+
if (e.saddr = r, e.sport = t, e.type === 2) {
|
|
1933
|
+
e.server && (e.server.close(), e.server = null);
|
|
1934
|
+
try {
|
|
1935
|
+
e.sock_ops.listen(e, 0);
|
|
1936
|
+
} catch (n) {
|
|
1937
|
+
if (n.name !== "ErrnoError" || n.errno !== 138) throw n;
|
|
1938
|
+
}
|
|
1939
|
+
}
|
|
1940
|
+
}, connect(e, r, t) {
|
|
1941
|
+
if (e.server) throw new FS.ErrnoError(138);
|
|
1942
|
+
if (typeof e.daddr < "u" && typeof e.dport < "u") {
|
|
1943
|
+
var n = SOCKFS.websocket_sock_ops.getPeer(e, e.daddr, e.dport);
|
|
1944
|
+
if (n) throw n.socket.readyState === n.socket.CONNECTING ? new FS.ErrnoError(7) : new FS.ErrnoError(30);
|
|
1945
|
+
}
|
|
1946
|
+
var a = SOCKFS.websocket_sock_ops.createPeer(e, r, t);
|
|
1947
|
+
e.daddr = a.addr, e.dport = a.port, e.connecting = true;
|
|
1948
|
+
}, listen(e, r) {
|
|
1949
|
+
if (!ENVIRONMENT_IS_NODE) throw new FS.ErrnoError(138);
|
|
1950
|
+
if (e.server) throw new FS.ErrnoError(28);
|
|
1951
|
+
var t = require("ws").Server, n = e.saddr;
|
|
1952
|
+
e.server = new t({ host: n, port: e.sport }), SOCKFS.emit("listen", e.stream.fd), e.server.on("connection", function(a) {
|
|
1953
|
+
if (e.type === 1) {
|
|
1954
|
+
var o = SOCKFS.createSocket(e.family, e.type, e.protocol), s = SOCKFS.websocket_sock_ops.createPeer(o, a);
|
|
1955
|
+
o.daddr = s.addr, o.dport = s.port, e.pending.push(o), SOCKFS.emit("connection", o.stream.fd);
|
|
1956
|
+
} else SOCKFS.websocket_sock_ops.createPeer(e, a), SOCKFS.emit("connection", e.stream.fd);
|
|
1957
|
+
}), e.server.on("close", function() {
|
|
1958
|
+
SOCKFS.emit("close", e.stream.fd), e.server = null;
|
|
1959
|
+
}), e.server.on("error", function(a) {
|
|
1960
|
+
e.error = 23, SOCKFS.emit("error", [e.stream.fd, e.error, "EHOSTUNREACH: Host is unreachable"]);
|
|
1961
|
+
});
|
|
1962
|
+
}, accept(e) {
|
|
1963
|
+
if (!e.server || !e.pending.length) throw new FS.ErrnoError(28);
|
|
1964
|
+
var r = e.pending.shift();
|
|
1965
|
+
return r.stream.flags = e.stream.flags, r;
|
|
1966
|
+
}, getname(e, r) {
|
|
1967
|
+
var t, n;
|
|
1968
|
+
if (r) {
|
|
1969
|
+
if (e.daddr === void 0 || e.dport === void 0) throw new FS.ErrnoError(53);
|
|
1970
|
+
t = e.daddr, n = e.dport;
|
|
1971
|
+
} else t = e.saddr || 0, n = e.sport || 0;
|
|
1972
|
+
return { addr: t, port: n };
|
|
1973
|
+
}, sendmsg(e, r, t, n, a, o) {
|
|
1974
|
+
if (e.type === 2) {
|
|
1975
|
+
if ((a === void 0 || o === void 0) && (a = e.daddr, o = e.dport), a === void 0 || o === void 0) throw new FS.ErrnoError(17);
|
|
1976
|
+
} else a = e.daddr, o = e.dport;
|
|
1977
|
+
var s = SOCKFS.websocket_sock_ops.getPeer(e, a, o);
|
|
1978
|
+
if (e.type === 1 && (!s || s.socket.readyState === s.socket.CLOSING || s.socket.readyState === s.socket.CLOSED)) throw new FS.ErrnoError(53);
|
|
1979
|
+
ArrayBuffer.isView(r) && (t += r.byteOffset, r = r.buffer);
|
|
1980
|
+
var l = r.slice(t, t + n);
|
|
1981
|
+
if (!s || s.socket.readyState !== s.socket.OPEN) return e.type === 2 && (!s || s.socket.readyState === s.socket.CLOSING || s.socket.readyState === s.socket.CLOSED) && (s = SOCKFS.websocket_sock_ops.createPeer(e, a, o)), s.msg_send_queue.push(l), n;
|
|
1982
|
+
try {
|
|
1983
|
+
return s.socket.send(l), n;
|
|
1984
|
+
} catch {
|
|
1985
|
+
throw new FS.ErrnoError(28);
|
|
1986
|
+
}
|
|
1987
|
+
}, recvmsg(e, r) {
|
|
1988
|
+
if (e.type === 1 && e.server) throw new FS.ErrnoError(53);
|
|
1989
|
+
var t = e.recv_queue.shift();
|
|
1990
|
+
if (!t) {
|
|
1991
|
+
if (e.type === 1) {
|
|
1992
|
+
var n = SOCKFS.websocket_sock_ops.getPeer(e, e.daddr, e.dport);
|
|
1993
|
+
if (!n) throw new FS.ErrnoError(53);
|
|
1994
|
+
if (n.socket.readyState === n.socket.CLOSING || n.socket.readyState === n.socket.CLOSED) return null;
|
|
1995
|
+
throw new FS.ErrnoError(6);
|
|
1996
|
+
}
|
|
1997
|
+
throw new FS.ErrnoError(6);
|
|
1998
|
+
}
|
|
1999
|
+
var a = t.data.byteLength || t.data.length, o = t.data.byteOffset || 0, s = t.data.buffer || t.data, l = Math.min(r, a), u = { buffer: new Uint8Array(s, o, l), addr: t.addr, port: t.port };
|
|
2000
|
+
if (e.type === 1 && l < a) {
|
|
2001
|
+
var d = a - l;
|
|
2002
|
+
t.data = new Uint8Array(s, o + l, d), e.recv_queue.unshift(t);
|
|
2003
|
+
}
|
|
2004
|
+
return u;
|
|
2005
|
+
} } };
|
|
2006
|
+
function ___syscall_socket(e, r, t) {
|
|
2007
|
+
try {
|
|
2008
|
+
var n = SOCKFS.createSocket(e, r, t);
|
|
2009
|
+
return n.stream.fd;
|
|
2010
|
+
} catch (a) {
|
|
2011
|
+
if (typeof FS > "u" || a.name !== "ErrnoError") throw a;
|
|
2012
|
+
return -a.errno;
|
|
2013
|
+
}
|
|
2014
|
+
}
|
|
2015
|
+
___syscall_socket.sig = "iiiiiii";
|
|
2016
|
+
function ___syscall_stat64(e, r) {
|
|
2017
|
+
try {
|
|
2018
|
+
return e = SYSCALLS.getStr(e), SYSCALLS.doStat(FS.stat, e, r);
|
|
2019
|
+
} catch (t) {
|
|
2020
|
+
if (typeof FS > "u" || t.name !== "ErrnoError") throw t;
|
|
2021
|
+
return -t.errno;
|
|
2022
|
+
}
|
|
2023
|
+
}
|
|
2024
|
+
___syscall_stat64.sig = "ipp";
|
|
2025
|
+
function ___syscall_unlinkat(e, r, t) {
|
|
2026
|
+
try {
|
|
2027
|
+
return r = SYSCALLS.getStr(r), r = SYSCALLS.calculateAt(e, r), t === 0 ? FS.unlink(r) : t === 512 ? FS.rmdir(r) : abort("Invalid flags passed to unlinkat"), 0;
|
|
2028
|
+
} catch (n) {
|
|
2029
|
+
if (typeof FS > "u" || n.name !== "ErrnoError") throw n;
|
|
2030
|
+
return -n.errno;
|
|
2031
|
+
}
|
|
2032
|
+
}
|
|
2033
|
+
___syscall_unlinkat.sig = "iipi";
|
|
2034
|
+
var ___table_base = new WebAssembly.Global({ value: "i32", mutable: false }, 1), __abort_js = () => abort("");
|
|
2035
|
+
__abort_js.sig = "v";
|
|
2036
|
+
var __emscripten_fs_load_embedded_files = (e) => {
|
|
2037
|
+
do {
|
|
2038
|
+
var r = HEAPU32[e >> 2];
|
|
2039
|
+
e += 4;
|
|
2040
|
+
var t = HEAPU32[e >> 2];
|
|
2041
|
+
e += 4;
|
|
2042
|
+
var n = HEAPU32[e >> 2];
|
|
2043
|
+
e += 4;
|
|
2044
|
+
var a = UTF8ToString(r);
|
|
2045
|
+
FS.createPath("/", PATH.dirname(a), true, true), FS.createDataFile(a, null, HEAP8.subarray(n, n + t), true, true, true);
|
|
2046
|
+
} while (HEAPU32[e >> 2]);
|
|
2047
|
+
};
|
|
2048
|
+
__emscripten_fs_load_embedded_files.sig = "vp";
|
|
2049
|
+
var runtimeKeepaliveCounter = 0, __emscripten_runtime_keepalive_clear = () => {
|
|
2050
|
+
noExitRuntime = false, runtimeKeepaliveCounter = 0;
|
|
2051
|
+
};
|
|
2052
|
+
__emscripten_runtime_keepalive_clear.sig = "v";
|
|
2053
|
+
var __emscripten_throw_longjmp = () => {
|
|
2054
|
+
throw 1 / 0;
|
|
2055
|
+
};
|
|
2056
|
+
__emscripten_throw_longjmp.sig = "v";
|
|
2057
|
+
var isLeapYear = (e) => e % 4 === 0 && (e % 100 !== 0 || e % 400 === 0), MONTH_DAYS_LEAP_CUMULATIVE = [0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335], MONTH_DAYS_REGULAR_CUMULATIVE = [0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334], ydayFromDate = (e) => {
|
|
2058
|
+
var r = isLeapYear(e.getFullYear()), t = r ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE, n = t[e.getMonth()] + e.getDate() - 1;
|
|
2059
|
+
return n;
|
|
2060
|
+
}, INT53_MAX = 9007199254740992, INT53_MIN = -9007199254740992, bigintToI53Checked = (e) => e < INT53_MIN || e > INT53_MAX ? NaN : Number(e);
|
|
2061
|
+
function __localtime_js(e, r) {
|
|
2062
|
+
e = bigintToI53Checked(e);
|
|
2063
|
+
var t = new Date(e * 1e3);
|
|
2064
|
+
HEAP32[r >> 2] = t.getSeconds(), HEAP32[r + 4 >> 2] = t.getMinutes(), HEAP32[r + 8 >> 2] = t.getHours(), HEAP32[r + 12 >> 2] = t.getDate(), HEAP32[r + 16 >> 2] = t.getMonth(), HEAP32[r + 20 >> 2] = t.getFullYear() - 1900, HEAP32[r + 24 >> 2] = t.getDay();
|
|
2065
|
+
var n = ydayFromDate(t) | 0;
|
|
2066
|
+
HEAP32[r + 28 >> 2] = n, HEAP32[r + 36 >> 2] = -(t.getTimezoneOffset() * 60);
|
|
2067
|
+
var a = new Date(t.getFullYear(), 0, 1), o = new Date(t.getFullYear(), 6, 1).getTimezoneOffset(), s = a.getTimezoneOffset(), l = (o != s && t.getTimezoneOffset() == Math.min(s, o)) | 0;
|
|
2068
|
+
HEAP32[r + 32 >> 2] = l;
|
|
2069
|
+
}
|
|
2070
|
+
__localtime_js.sig = "vjp";
|
|
2071
|
+
var __mktime_js = function(e) {
|
|
2072
|
+
var r = (() => {
|
|
2073
|
+
var t = new Date(HEAP32[e + 20 >> 2] + 1900, HEAP32[e + 16 >> 2], HEAP32[e + 12 >> 2], HEAP32[e + 8 >> 2], HEAP32[e + 4 >> 2], HEAP32[e >> 2], 0), n = HEAP32[e + 32 >> 2], a = t.getTimezoneOffset(), o = new Date(t.getFullYear(), 0, 1), s = new Date(t.getFullYear(), 6, 1).getTimezoneOffset(), l = o.getTimezoneOffset(), u = Math.min(l, s);
|
|
2074
|
+
if (n < 0) HEAP32[e + 32 >> 2] = +(s != l && u == a);
|
|
2075
|
+
else if (n > 0 != (u == a)) {
|
|
2076
|
+
var d = Math.max(l, s), c = n > 0 ? u : d;
|
|
2077
|
+
t.setTime(t.getTime() + (c - a) * 6e4);
|
|
2078
|
+
}
|
|
2079
|
+
HEAP32[e + 24 >> 2] = t.getDay();
|
|
2080
|
+
var m = ydayFromDate(t) | 0;
|
|
2081
|
+
HEAP32[e + 28 >> 2] = m, HEAP32[e >> 2] = t.getSeconds(), HEAP32[e + 4 >> 2] = t.getMinutes(), HEAP32[e + 8 >> 2] = t.getHours(), HEAP32[e + 12 >> 2] = t.getDate(), HEAP32[e + 16 >> 2] = t.getMonth(), HEAP32[e + 20 >> 2] = t.getYear();
|
|
2082
|
+
var _ = t.getTime();
|
|
2083
|
+
return isNaN(_) ? -1 : _ / 1e3;
|
|
2084
|
+
})();
|
|
2085
|
+
return BigInt(r);
|
|
2086
|
+
};
|
|
2087
|
+
__mktime_js.sig = "jp";
|
|
2088
|
+
var __tzset_js = (e, r, t, n) => {
|
|
2089
|
+
var a = (/* @__PURE__ */ new Date()).getFullYear(), o = new Date(a, 0, 1), s = new Date(a, 6, 1), l = o.getTimezoneOffset(), u = s.getTimezoneOffset(), d = Math.max(l, u);
|
|
2090
|
+
HEAPU32[e >> 2] = d * 60, HEAP32[r >> 2] = +(l != u);
|
|
2091
|
+
var c = (f) => {
|
|
2092
|
+
var S = f >= 0 ? "-" : "+", v = Math.abs(f), F = String(Math.floor(v / 60)).padStart(2, "0"), g = String(v % 60).padStart(2, "0");
|
|
2093
|
+
return `UTC${S}${F}${g}`;
|
|
2094
|
+
}, m = c(l), _ = c(u);
|
|
2095
|
+
u < l ? (stringToUTF8(m, t, 17), stringToUTF8(_, n, 17)) : (stringToUTF8(m, n, 17), stringToUTF8(_, t, 17));
|
|
2096
|
+
};
|
|
2097
|
+
__tzset_js.sig = "vpppp";
|
|
2098
|
+
var _emscripten_get_now = () => performance.now();
|
|
2099
|
+
_emscripten_get_now.sig = "d";
|
|
2100
|
+
var _emscripten_date_now = () => Date.now();
|
|
2101
|
+
_emscripten_date_now.sig = "d";
|
|
2102
|
+
var nowIsMonotonic = 1, checkWasiClock = (e) => e >= 0 && e <= 3;
|
|
2103
|
+
function _clock_time_get(e, r, t) {
|
|
2104
|
+
if (r = bigintToI53Checked(r), !checkWasiClock(e)) return 28;
|
|
2105
|
+
var n;
|
|
2106
|
+
if (e === 0) n = _emscripten_date_now();
|
|
2107
|
+
else if (nowIsMonotonic) n = _emscripten_get_now();
|
|
2108
|
+
else return 52;
|
|
2109
|
+
var a = Math.round(n * 1e3 * 1e3);
|
|
2110
|
+
return HEAP64[t >> 3] = BigInt(a), 0;
|
|
2111
|
+
}
|
|
2112
|
+
_clock_time_get.sig = "iijp";
|
|
2113
|
+
var getHeapMax = () => 2147483648, growMemory = (e) => {
|
|
2114
|
+
var r = wasmMemory.buffer, t = (e - r.byteLength + 65535) / 65536 | 0;
|
|
2115
|
+
try {
|
|
2116
|
+
return wasmMemory.grow(t), updateMemoryViews(), 1;
|
|
2117
|
+
} catch {
|
|
2118
|
+
}
|
|
2119
|
+
}, _emscripten_resize_heap = (e) => {
|
|
2120
|
+
var r = HEAPU8.length;
|
|
2121
|
+
e >>>= 0;
|
|
2122
|
+
var t = getHeapMax();
|
|
2123
|
+
if (e > t) return false;
|
|
2124
|
+
for (var n = 1; n <= 4; n *= 2) {
|
|
2125
|
+
var a = r * (1 + 0.2 / n);
|
|
2126
|
+
a = Math.min(a, e + 100663296);
|
|
2127
|
+
var o = Math.min(t, alignMemory(Math.max(e, a), 65536)), s = growMemory(o);
|
|
2128
|
+
if (s) return true;
|
|
2129
|
+
}
|
|
2130
|
+
return false;
|
|
2131
|
+
};
|
|
2132
|
+
_emscripten_resize_heap.sig = "ip";
|
|
2133
|
+
var ENV = {}, getExecutableName = () => thisProgram || "./this.program", getEnvStrings = () => {
|
|
2134
|
+
if (!getEnvStrings.strings) {
|
|
2135
|
+
var e = (typeof navigator == "object" && navigator.languages && navigator.languages[0] || "C").replace("-", "_") + ".UTF-8", r = { USER: "web_user", LOGNAME: "web_user", PATH: "/", PWD: "/", HOME: "/home/web_user", LANG: e, _: getExecutableName() };
|
|
2136
|
+
for (var t in ENV) ENV[t] === void 0 ? delete r[t] : r[t] = ENV[t];
|
|
2137
|
+
var n = [];
|
|
2138
|
+
for (var t in r) n.push(`${t}=${r[t]}`);
|
|
2139
|
+
getEnvStrings.strings = n;
|
|
2140
|
+
}
|
|
2141
|
+
return getEnvStrings.strings;
|
|
2142
|
+
}, stringToAscii = (e, r) => {
|
|
2143
|
+
for (var t = 0; t < e.length; ++t) HEAP8[r++] = e.charCodeAt(t);
|
|
2144
|
+
HEAP8[r] = 0;
|
|
2145
|
+
}, _environ_get = (e, r) => {
|
|
2146
|
+
var t = 0;
|
|
2147
|
+
return getEnvStrings().forEach((n, a) => {
|
|
2148
|
+
var o = r + t;
|
|
2149
|
+
HEAPU32[e + a * 4 >> 2] = o, stringToAscii(n, o), t += n.length + 1;
|
|
2150
|
+
}), 0;
|
|
2151
|
+
};
|
|
2152
|
+
_environ_get.sig = "ipp";
|
|
2153
|
+
var _environ_sizes_get = (e, r) => {
|
|
2154
|
+
var t = getEnvStrings();
|
|
2155
|
+
HEAPU32[e >> 2] = t.length;
|
|
2156
|
+
var n = 0;
|
|
2157
|
+
return t.forEach((a) => n += a.length + 1), HEAPU32[r >> 2] = n, 0;
|
|
2158
|
+
};
|
|
2159
|
+
_environ_sizes_get.sig = "ipp";
|
|
2160
|
+
var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0, _proc_exit = (e) => {
|
|
2161
|
+
EXITSTATUS = e, keepRuntimeAlive() || (Module.onExit?.(e), ABORT = true), quit_(e, new ExitStatus(e));
|
|
2162
|
+
};
|
|
2163
|
+
_proc_exit.sig = "vi";
|
|
2164
|
+
var exitJS = (e, r) => {
|
|
2165
|
+
EXITSTATUS = e, keepRuntimeAlive() || exitRuntime(), _proc_exit(e);
|
|
2166
|
+
}, _exit = exitJS;
|
|
2167
|
+
_exit.sig = "vi";
|
|
2168
|
+
function _fd_close(e) {
|
|
2169
|
+
try {
|
|
2170
|
+
var r = SYSCALLS.getStreamFromFD(e);
|
|
2171
|
+
return FS.close(r), 0;
|
|
2172
|
+
} catch (t) {
|
|
2173
|
+
if (typeof FS > "u" || t.name !== "ErrnoError") throw t;
|
|
2174
|
+
return t.errno;
|
|
2175
|
+
}
|
|
2176
|
+
}
|
|
2177
|
+
_fd_close.sig = "ii";
|
|
2178
|
+
function _fd_fdstat_get(e, r) {
|
|
2179
|
+
try {
|
|
2180
|
+
var t = 0, n = 0, a = 0, o = SYSCALLS.getStreamFromFD(e), s = o.tty ? 2 : FS.isDir(o.mode) ? 3 : FS.isLink(o.mode) ? 7 : 4;
|
|
2181
|
+
return HEAP8[r] = s, HEAP16[r + 2 >> 1] = a, HEAP64[r + 8 >> 3] = BigInt(t), HEAP64[r + 16 >> 3] = BigInt(n), 0;
|
|
2182
|
+
} catch (l) {
|
|
2183
|
+
if (typeof FS > "u" || l.name !== "ErrnoError") throw l;
|
|
2184
|
+
return l.errno;
|
|
2185
|
+
}
|
|
2186
|
+
}
|
|
2187
|
+
_fd_fdstat_get.sig = "iip";
|
|
2188
|
+
var doReadv = (e, r, t, n) => {
|
|
2189
|
+
for (var a = 0, o = 0; o < t; o++) {
|
|
2190
|
+
var s = HEAPU32[r >> 2], l = HEAPU32[r + 4 >> 2];
|
|
2191
|
+
r += 8;
|
|
2192
|
+
var u = FS.read(e, HEAP8, s, l, n);
|
|
2193
|
+
if (u < 0) return -1;
|
|
2194
|
+
if (a += u, u < l) break;
|
|
2195
|
+
typeof n < "u" && (n += u);
|
|
2196
|
+
}
|
|
2197
|
+
return a;
|
|
2198
|
+
};
|
|
2199
|
+
function _fd_read(e, r, t, n) {
|
|
2200
|
+
try {
|
|
2201
|
+
var a = SYSCALLS.getStreamFromFD(e), o = doReadv(a, r, t);
|
|
2202
|
+
return HEAPU32[n >> 2] = o, 0;
|
|
2203
|
+
} catch (s) {
|
|
2204
|
+
if (typeof FS > "u" || s.name !== "ErrnoError") throw s;
|
|
2205
|
+
return s.errno;
|
|
2206
|
+
}
|
|
2207
|
+
}
|
|
2208
|
+
_fd_read.sig = "iippp";
|
|
2209
|
+
function _fd_seek(e, r, t, n) {
|
|
2210
|
+
r = bigintToI53Checked(r);
|
|
2211
|
+
try {
|
|
2212
|
+
if (isNaN(r)) return 61;
|
|
2213
|
+
var a = SYSCALLS.getStreamFromFD(e);
|
|
2214
|
+
return FS.llseek(a, r, t), HEAP64[n >> 3] = BigInt(a.position), a.getdents && r === 0 && t === 0 && (a.getdents = null), 0;
|
|
2215
|
+
} catch (o) {
|
|
2216
|
+
if (typeof FS > "u" || o.name !== "ErrnoError") throw o;
|
|
2217
|
+
return o.errno;
|
|
2218
|
+
}
|
|
2219
|
+
}
|
|
2220
|
+
_fd_seek.sig = "iijip";
|
|
2221
|
+
function _fd_sync(e) {
|
|
2222
|
+
try {
|
|
2223
|
+
var r = SYSCALLS.getStreamFromFD(e);
|
|
2224
|
+
return r.stream_ops?.fsync ? r.stream_ops.fsync(r) : 0;
|
|
2225
|
+
} catch (t) {
|
|
2226
|
+
if (typeof FS > "u" || t.name !== "ErrnoError") throw t;
|
|
2227
|
+
return t.errno;
|
|
2228
|
+
}
|
|
2229
|
+
}
|
|
2230
|
+
_fd_sync.sig = "ii";
|
|
2231
|
+
var doWritev = (e, r, t, n) => {
|
|
2232
|
+
for (var a = 0, o = 0; o < t; o++) {
|
|
2233
|
+
var s = HEAPU32[r >> 2], l = HEAPU32[r + 4 >> 2];
|
|
2234
|
+
r += 8;
|
|
2235
|
+
var u = FS.write(e, HEAP8, s, l, n);
|
|
2236
|
+
if (u < 0) return -1;
|
|
2237
|
+
if (a += u, u < l) break;
|
|
2238
|
+
typeof n < "u" && (n += u);
|
|
2239
|
+
}
|
|
2240
|
+
return a;
|
|
2241
|
+
};
|
|
2242
|
+
function _fd_write(e, r, t, n) {
|
|
2243
|
+
try {
|
|
2244
|
+
var a = SYSCALLS.getStreamFromFD(e), o = doWritev(a, r, t);
|
|
2245
|
+
return HEAPU32[n >> 2] = o, 0;
|
|
2246
|
+
} catch (s) {
|
|
2247
|
+
if (typeof FS > "u" || s.name !== "ErrnoError") throw s;
|
|
2248
|
+
return s.errno;
|
|
2249
|
+
}
|
|
2250
|
+
}
|
|
2251
|
+
_fd_write.sig = "iippp";
|
|
2252
|
+
var inetPton4 = (e) => {
|
|
2253
|
+
for (var r = e.split("."), t = 0; t < 4; t++) {
|
|
2254
|
+
var n = Number(r[t]);
|
|
2255
|
+
if (isNaN(n)) return null;
|
|
2256
|
+
r[t] = n;
|
|
2257
|
+
}
|
|
2258
|
+
return (r[0] | r[1] << 8 | r[2] << 16 | r[3] << 24) >>> 0;
|
|
2259
|
+
}, jstoi_q = (e) => parseInt(e), inetPton6 = (e) => {
|
|
2260
|
+
var r, t, n, a, o = /^((?=.*::)(?!.*::.+::)(::)?([\dA-F]{1,4}:(:|\b)|){5}|([\dA-F]{1,4}:){6})((([\dA-F]{1,4}((?!\3)::|:\b|$))|(?!\2\3)){2}|(((2[0-4]|1\d|[1-9])?\d|25[0-5])\.?\b){4})$/i, s = [];
|
|
2261
|
+
if (!o.test(e)) return null;
|
|
2262
|
+
if (e === "::") return [0, 0, 0, 0, 0, 0, 0, 0];
|
|
2263
|
+
for (e.startsWith("::") ? e = e.replace("::", "Z:") : e = e.replace("::", ":Z:"), e.indexOf(".") > 0 ? (e = e.replace(new RegExp("[.]", "g"), ":"), r = e.split(":"), r[r.length - 4] = jstoi_q(r[r.length - 4]) + jstoi_q(r[r.length - 3]) * 256, r[r.length - 3] = jstoi_q(r[r.length - 2]) + jstoi_q(r[r.length - 1]) * 256, r = r.slice(0, r.length - 2)) : r = e.split(":"), n = 0, a = 0, t = 0; t < r.length; t++) if (typeof r[t] == "string") if (r[t] === "Z") {
|
|
2264
|
+
for (a = 0; a < 8 - r.length + 1; a++) s[t + a] = 0;
|
|
2265
|
+
n = a - 1;
|
|
2266
|
+
} else s[t + n] = _htons(parseInt(r[t], 16));
|
|
2267
|
+
else s[t + n] = r[t];
|
|
2268
|
+
return [s[1] << 16 | s[0], s[3] << 16 | s[2], s[5] << 16 | s[4], s[7] << 16 | s[6]];
|
|
2269
|
+
}, DNS = { address_map: { id: 1, addrs: {}, names: {} }, lookup_name(e) {
|
|
2270
|
+
var r = inetPton4(e);
|
|
2271
|
+
if (r !== null || (r = inetPton6(e), r !== null)) return e;
|
|
2272
|
+
var t;
|
|
2273
|
+
if (DNS.address_map.addrs[e]) t = DNS.address_map.addrs[e];
|
|
2274
|
+
else {
|
|
2275
|
+
var n = DNS.address_map.id++;
|
|
2276
|
+
assert(n < 65535, "exceeded max address mappings of 65535"), t = "172.29." + (n & 255) + "." + (n & 65280), DNS.address_map.names[t] = e, DNS.address_map.addrs[e] = t;
|
|
2277
|
+
}
|
|
2278
|
+
return t;
|
|
2279
|
+
}, lookup_addr(e) {
|
|
2280
|
+
return DNS.address_map.names[e] ? DNS.address_map.names[e] : null;
|
|
2281
|
+
} }, inetNtop4 = (e) => (e & 255) + "." + (e >> 8 & 255) + "." + (e >> 16 & 255) + "." + (e >> 24 & 255), inetNtop6 = (e) => {
|
|
2282
|
+
var r = "", t = 0, n = 0, a = 0, o = 0, s = 0, l = 0, u = [e[0] & 65535, e[0] >> 16, e[1] & 65535, e[1] >> 16, e[2] & 65535, e[2] >> 16, e[3] & 65535, e[3] >> 16], d = true, c = "";
|
|
2283
|
+
for (l = 0; l < 5; l++) if (u[l] !== 0) {
|
|
2284
|
+
d = false;
|
|
2285
|
+
break;
|
|
2286
|
+
}
|
|
2287
|
+
if (d) {
|
|
2288
|
+
if (c = inetNtop4(u[6] | u[7] << 16), u[5] === -1) return r = "::ffff:", r += c, r;
|
|
2289
|
+
if (u[5] === 0) return r = "::", c === "0.0.0.0" && (c = ""), c === "0.0.0.1" && (c = "1"), r += c, r;
|
|
2290
|
+
}
|
|
2291
|
+
for (t = 0; t < 8; t++) u[t] === 0 && (t - a > 1 && (s = 0), a = t, s++), s > n && (n = s, o = t - n + 1);
|
|
2292
|
+
for (t = 0; t < 8; t++) {
|
|
2293
|
+
if (n > 1 && u[t] === 0 && t >= o && t < o + n) {
|
|
2294
|
+
t === o && (r += ":", o === 0 && (r += ":"));
|
|
2295
|
+
continue;
|
|
2296
|
+
}
|
|
2297
|
+
r += Number(_ntohs(u[t] & 65535)).toString(16), r += t < 7 ? ":" : "";
|
|
2298
|
+
}
|
|
2299
|
+
return r;
|
|
2300
|
+
}, writeSockaddr = (e, r, t, n, a) => {
|
|
2301
|
+
switch (r) {
|
|
2302
|
+
case 2:
|
|
2303
|
+
t = inetPton4(t), zeroMemory(e, 16), a && (HEAP32[a >> 2] = 16), HEAP16[e >> 1] = r, HEAP32[e + 4 >> 2] = t, HEAP16[e + 2 >> 1] = _htons(n);
|
|
2304
|
+
break;
|
|
2305
|
+
case 10:
|
|
2306
|
+
t = inetPton6(t), zeroMemory(e, 28), a && (HEAP32[a >> 2] = 28), HEAP32[e >> 2] = r, HEAP32[e + 8 >> 2] = t[0], HEAP32[e + 12 >> 2] = t[1], HEAP32[e + 16 >> 2] = t[2], HEAP32[e + 20 >> 2] = t[3], HEAP16[e + 2 >> 1] = _htons(n);
|
|
2307
|
+
break;
|
|
2308
|
+
default:
|
|
2309
|
+
return 5;
|
|
2310
|
+
}
|
|
2311
|
+
return 0;
|
|
2312
|
+
}, _getaddrinfo = (e, r, t, n) => {
|
|
2313
|
+
var a = 0, o = 0, s = 0, l = 0, u = 0, d = 0, c;
|
|
2314
|
+
function m(_, f, S, v, F, g) {
|
|
2315
|
+
var w, A, y, p;
|
|
2316
|
+
return A = _ === 10 ? 28 : 16, F = _ === 10 ? inetNtop6(F) : inetNtop4(F), w = _malloc(A), p = writeSockaddr(w, _, F, g), assert(!p), y = _malloc(32), HEAP32[y + 4 >> 2] = _, HEAP32[y + 8 >> 2] = f, HEAP32[y + 12 >> 2] = S, HEAPU32[y + 24 >> 2] = v, HEAPU32[y + 20 >> 2] = w, _ === 10 ? HEAP32[y + 16 >> 2] = 28 : HEAP32[y + 16 >> 2] = 16, HEAP32[y + 28 >> 2] = 0, y;
|
|
2317
|
+
}
|
|
2318
|
+
if (t && (s = HEAP32[t >> 2], l = HEAP32[t + 4 >> 2], u = HEAP32[t + 8 >> 2], d = HEAP32[t + 12 >> 2]), u && !d && (d = u === 2 ? 17 : 6), !u && d && (u = d === 17 ? 2 : 1), d === 0 && (d = 6), u === 0 && (u = 1), !e && !r) return -2;
|
|
2319
|
+
if (s & -1088 || t !== 0 && HEAP32[t >> 2] & 2 && !e) return -1;
|
|
2320
|
+
if (s & 32) return -2;
|
|
2321
|
+
if (u !== 0 && u !== 1 && u !== 2) return -7;
|
|
2322
|
+
if (l !== 0 && l !== 2 && l !== 10) return -6;
|
|
2323
|
+
if (r && (r = UTF8ToString(r), o = parseInt(r, 10), isNaN(o))) return s & 1024 ? -2 : -8;
|
|
2324
|
+
if (!e) return l === 0 && (l = 2), s & 1 || (l === 2 ? a = _htonl(2130706433) : a = [0, 0, 0, _htonl(1)]), c = m(l, u, d, null, a, o), HEAPU32[n >> 2] = c, 0;
|
|
2325
|
+
if (e = UTF8ToString(e), a = inetPton4(e), a !== null) if (l === 0 || l === 2) l = 2;
|
|
2326
|
+
else if (l === 10 && s & 8) a = [0, 0, _htonl(65535), a], l = 10;
|
|
2327
|
+
else return -2;
|
|
2328
|
+
else if (a = inetPton6(e), a !== null) if (l === 0 || l === 10) l = 10;
|
|
2329
|
+
else return -2;
|
|
2330
|
+
return a != null ? (c = m(l, u, d, e, a, o), HEAPU32[n >> 2] = c, 0) : s & 4 ? -2 : (e = DNS.lookup_name(e), a = inetPton4(e), l === 0 ? l = 2 : l === 10 && (a = [0, 0, _htonl(65535), a]), c = m(l, u, d, null, a, o), HEAPU32[n >> 2] = c, 0);
|
|
2331
|
+
};
|
|
2332
|
+
_getaddrinfo.sig = "ipppp";
|
|
2333
|
+
var readSockaddr = (e, r) => {
|
|
2334
|
+
var t = HEAP16[e >> 1], n = _ntohs(HEAPU16[e + 2 >> 1]), a;
|
|
2335
|
+
switch (t) {
|
|
2336
|
+
case 2:
|
|
2337
|
+
if (r !== 16) return { errno: 28 };
|
|
2338
|
+
a = HEAP32[e + 4 >> 2], a = inetNtop4(a);
|
|
2339
|
+
break;
|
|
2340
|
+
case 10:
|
|
2341
|
+
if (r !== 28) return { errno: 28 };
|
|
2342
|
+
a = [HEAP32[e + 8 >> 2], HEAP32[e + 12 >> 2], HEAP32[e + 16 >> 2], HEAP32[e + 20 >> 2]], a = inetNtop6(a);
|
|
2343
|
+
break;
|
|
2344
|
+
default:
|
|
2345
|
+
return { errno: 5 };
|
|
2346
|
+
}
|
|
2347
|
+
return { family: t, addr: a, port: n };
|
|
2348
|
+
}, _getnameinfo = (e, r, t, n, a, o, s) => {
|
|
2349
|
+
var l = readSockaddr(e, r);
|
|
2350
|
+
if (l.errno) return -6;
|
|
2351
|
+
var u = l.port, d = l.addr, c = false;
|
|
2352
|
+
if (t && n) {
|
|
2353
|
+
var m;
|
|
2354
|
+
if (s & 1 || !(m = DNS.lookup_addr(d))) {
|
|
2355
|
+
if (s & 8) return -2;
|
|
2356
|
+
} else d = m;
|
|
2357
|
+
var _ = stringToUTF8(d, t, n);
|
|
2358
|
+
_ + 1 >= n && (c = true);
|
|
2359
|
+
}
|
|
2360
|
+
if (a && o) {
|
|
2361
|
+
u = "" + u;
|
|
2362
|
+
var _ = stringToUTF8(u, a, o);
|
|
2363
|
+
_ + 1 >= o && (c = true);
|
|
2364
|
+
}
|
|
2365
|
+
return c ? -12 : 0;
|
|
2366
|
+
};
|
|
2367
|
+
_getnameinfo.sig = "ipipipii";
|
|
2368
|
+
var handleException = (e) => {
|
|
2369
|
+
if (e instanceof ExitStatus || e == "unwind") return EXITSTATUS;
|
|
2370
|
+
quit_(1, e);
|
|
2371
|
+
}, stackAlloc = (e) => __emscripten_stack_alloc(e), stringToUTF8OnStack = (e) => {
|
|
2372
|
+
var r = lengthBytesUTF8(e) + 1, t = stackAlloc(r);
|
|
2373
|
+
return stringToUTF8(e, t, r), t;
|
|
2374
|
+
}, removeFunction = (e) => {
|
|
2375
|
+
functionsInTableMap.delete(getWasmTableEntry(e)), setWasmTableEntry(e, null), freeTableIndexes.push(e);
|
|
2376
|
+
}, FS_createPath = FS.createPath, FS_unlink = (e) => FS.unlink(e), FS_createLazyFile = FS.createLazyFile, FS_createDevice = FS.createDevice;
|
|
2377
|
+
registerWasmPlugin(), FS.createPreloadedFile = FS_createPreloadedFile, FS.staticInit(), Module.FS_createPath = FS.createPath, Module.FS_createDataFile = FS.createDataFile, Module.FS_createPreloadedFile = FS.createPreloadedFile, Module.FS_unlink = FS.unlink, Module.FS_createLazyFile = FS.createLazyFile, Module.FS_createDevice = FS.createDevice, MEMFS.doesNotExistError = new FS.ErrnoError(44), MEMFS.doesNotExistError.stack = "<generic error, no stack>";
|
|
2378
|
+
var wasmImports = { __call_sighandler: ___call_sighandler, __heap_base: ___heap_base, __indirect_function_table: wasmTable, __memory_base: ___memory_base, __stack_pointer: ___stack_pointer, __syscall__newselect: ___syscall__newselect, __syscall_dup: ___syscall_dup, __syscall_faccessat: ___syscall_faccessat, __syscall_fadvise64: ___syscall_fadvise64, __syscall_fcntl64: ___syscall_fcntl64, __syscall_fstat64: ___syscall_fstat64, __syscall_getcwd: ___syscall_getcwd, __syscall_getdents64: ___syscall_getdents64, __syscall_ioctl: ___syscall_ioctl, __syscall_lstat64: ___syscall_lstat64, __syscall_mkdirat: ___syscall_mkdirat, __syscall_newfstatat: ___syscall_newfstatat, __syscall_openat: ___syscall_openat, __syscall_pipe: ___syscall_pipe, __syscall_readlinkat: ___syscall_readlinkat, __syscall_socket: ___syscall_socket, __syscall_stat64: ___syscall_stat64, __syscall_unlinkat: ___syscall_unlinkat, __table_base: ___table_base, _abort_js: __abort_js, _emscripten_fs_load_embedded_files: __emscripten_fs_load_embedded_files, _emscripten_runtime_keepalive_clear: __emscripten_runtime_keepalive_clear, _emscripten_throw_longjmp: __emscripten_throw_longjmp, _localtime_js: __localtime_js, _mktime_js: __mktime_js, _tzset_js: __tzset_js, clock_time_get: _clock_time_get, emscripten_date_now: _emscripten_date_now, emscripten_resize_heap: _emscripten_resize_heap, environ_get: _environ_get, environ_sizes_get: _environ_sizes_get, exit: _exit, fd_close: _fd_close, fd_fdstat_get: _fd_fdstat_get, fd_read: _fd_read, fd_seek: _fd_seek, fd_sync: _fd_sync, fd_write: _fd_write, getaddrinfo: _getaddrinfo, getnameinfo: _getnameinfo, invoke_ii, invoke_iiii, invoke_vii, memory: wasmMemory, proc_exit: _proc_exit }, wasmExports;
|
|
2379
|
+
createWasm();
|
|
2380
|
+
var ___wasm_call_ctors = () => (___wasm_call_ctors = wasmExports.__wasm_call_ctors)(), _main = Module._main = (e, r) => (_main = Module._main = wasmExports.__main_argc_argv)(e, r), _fflush = (e) => (_fflush = wasmExports.fflush)(e), _malloc = (e) => (_malloc = wasmExports.malloc)(e), _calloc = (e, r) => (_calloc = wasmExports.calloc)(e, r), _setsockopt = Module._setsockopt = (e, r, t, n, a) => (_setsockopt = Module._setsockopt = wasmExports.setsockopt)(e, r, t, n, a), _connect = Module._connect = (e, r, t) => (_connect = Module._connect = wasmExports.connect)(e, r, t), _send = Module._send = (e, r, t, n) => (_send = Module._send = wasmExports.send)(e, r, t, n), _recv = Module._recv = (e, r, t, n) => (_recv = Module._recv = wasmExports.recv)(e, r, t, n), _getsockopt = Module._getsockopt = (e, r, t, n, a) => (_getsockopt = Module._getsockopt = wasmExports.getsockopt)(e, r, t, n, a), _getsockname = Module._getsockname = (e, r, t) => (_getsockname = Module._getsockname = wasmExports.getsockname)(e, r, t), _poll = Module._poll = (e, r, t) => (_poll = Module._poll = wasmExports.poll)(e, r, t), _set_read_write_cbs = Module._set_read_write_cbs = (e, r) => (_set_read_write_cbs = Module._set_read_write_cbs = wasmExports.set_read_write_cbs)(e, r), _fcntl = Module._fcntl = (e, r, t) => (_fcntl = Module._fcntl = wasmExports.fcntl)(e, r, t), ___funcs_on_exit = () => (___funcs_on_exit = wasmExports.__funcs_on_exit)(), _htonl = (e) => (_htonl = wasmExports.htonl)(e), _htons = (e) => (_htons = wasmExports.htons)(e), _ntohs = (e) => (_ntohs = wasmExports.ntohs)(e), _setThrew = (e, r) => (_setThrew = wasmExports.setThrew)(e, r), __emscripten_stack_restore = (e) => (__emscripten_stack_restore = wasmExports._emscripten_stack_restore)(e), __emscripten_stack_alloc = (e) => (__emscripten_stack_alloc = wasmExports._emscripten_stack_alloc)(e), _emscripten_stack_get_current = () => (_emscripten_stack_get_current = wasmExports.emscripten_stack_get_current)(), ___wasm_apply_data_relocs = () => (___wasm_apply_data_relocs = wasmExports.__wasm_apply_data_relocs)(), ___emscripten_embedded_file_data = Module.___emscripten_embedded_file_data = 198860;
|
|
2381
|
+
function invoke_iiii(e, r, t, n) {
|
|
2382
|
+
var a = stackSave();
|
|
2383
|
+
try {
|
|
2384
|
+
return getWasmTableEntry(e)(r, t, n);
|
|
2385
|
+
} catch (o) {
|
|
2386
|
+
if (stackRestore(a), o !== o + 0) throw o;
|
|
2387
|
+
_setThrew(1, 0);
|
|
2388
|
+
}
|
|
2389
|
+
}
|
|
2390
|
+
function invoke_ii(e, r) {
|
|
2391
|
+
var t = stackSave();
|
|
2392
|
+
try {
|
|
2393
|
+
return getWasmTableEntry(e)(r);
|
|
2394
|
+
} catch (n) {
|
|
2395
|
+
if (stackRestore(t), n !== n + 0) throw n;
|
|
2396
|
+
_setThrew(1, 0);
|
|
2397
|
+
}
|
|
2398
|
+
}
|
|
2399
|
+
function invoke_vii(e, r, t) {
|
|
2400
|
+
var n = stackSave();
|
|
2401
|
+
try {
|
|
2402
|
+
getWasmTableEntry(e)(r, t);
|
|
2403
|
+
} catch (a) {
|
|
2404
|
+
if (stackRestore(n), a !== a + 0) throw a;
|
|
2405
|
+
_setThrew(1, 0);
|
|
2406
|
+
}
|
|
2407
|
+
}
|
|
2408
|
+
Module.addRunDependency = addRunDependency, Module.removeRunDependency = removeRunDependency, Module.addFunction = addFunction, Module.removeFunction = removeFunction, Module.FS_createPreloadedFile = FS_createPreloadedFile, Module.FS_unlink = FS_unlink, Module.FS_createPath = FS_createPath, Module.FS_createDevice = FS_createDevice, Module.FS = FS, Module.FS_createDataFile = FS_createDataFile, Module.FS_createLazyFile = FS_createLazyFile, Module.MEMFS = MEMFS;
|
|
2409
|
+
var calledRun;
|
|
2410
|
+
dependenciesFulfilled = function e() {
|
|
2411
|
+
calledRun || run(), calledRun || (dependenciesFulfilled = e);
|
|
2412
|
+
};
|
|
2413
|
+
function callMain(e = []) {
|
|
2414
|
+
var r = resolveGlobalSymbol("main").sym;
|
|
2415
|
+
if (r) {
|
|
2416
|
+
e.unshift(thisProgram);
|
|
2417
|
+
var t = e.length, n = stackAlloc((t + 1) * 4), a = n;
|
|
2418
|
+
e.forEach((s) => {
|
|
2419
|
+
HEAPU32[a >> 2] = stringToUTF8OnStack(s), a += 4;
|
|
2420
|
+
}), HEAPU32[a >> 2] = 0;
|
|
2421
|
+
try {
|
|
2422
|
+
var o = r(t, n);
|
|
2423
|
+
return exitJS(o, true), o;
|
|
2424
|
+
} catch (s) {
|
|
2425
|
+
return handleException(s);
|
|
2426
|
+
}
|
|
2427
|
+
}
|
|
2428
|
+
}
|
|
2429
|
+
function run(e = arguments_) {
|
|
2430
|
+
if (runDependencies > 0 || (preRun(), runDependencies > 0)) return;
|
|
2431
|
+
function r() {
|
|
2432
|
+
calledRun || (calledRun = true, Module.calledRun = true, !ABORT && (initRuntime(), preMain(), readyPromiseResolve(Module), Module.onRuntimeInitialized?.(), shouldRunNow && callMain(e), postRun()));
|
|
2433
|
+
}
|
|
2434
|
+
Module.setStatus ? (Module.setStatus("Running..."), setTimeout(() => {
|
|
2435
|
+
setTimeout(() => Module.setStatus(""), 1), r();
|
|
2436
|
+
}, 1)) : r();
|
|
2437
|
+
}
|
|
2438
|
+
if (Module.preInit) for (typeof Module.preInit == "function" && (Module.preInit = [Module.preInit]); Module.preInit.length > 0; ) Module.preInit.pop()();
|
|
2439
|
+
var shouldRunNow = true;
|
|
2440
|
+
return Module.noInitialRun && (shouldRunNow = false), run(), moduleRtn = readyPromise, moduleRtn;
|
|
2441
|
+
};
|
|
2442
|
+
})();
|
|
2443
|
+
var U = j;
|
|
2444
|
+
var L = U;
|
|
2445
|
+
var N = "/tmp/out.sql";
|
|
2446
|
+
function W(e, r) {
|
|
2447
|
+
let t = new Uint8Array(e.byteLength + r.byteLength);
|
|
2448
|
+
return t.set(new Uint8Array(e), 0), t.set(new Uint8Array(r), e.byteLength), t;
|
|
2449
|
+
}
|
|
2450
|
+
async function z({ pg: e, args: r }) {
|
|
2451
|
+
let t, n, a = 0, o = "", s = "", u = await L({ arguments: r, noExitRuntime: false, print: (c) => {
|
|
2452
|
+
s += c;
|
|
2453
|
+
}, printErr: (c) => {
|
|
2454
|
+
o += c;
|
|
2455
|
+
}, onExit: (c) => {
|
|
2456
|
+
a = c;
|
|
2457
|
+
}, preRun: [(c) => {
|
|
2458
|
+
c.onRuntimeInitialized = () => {
|
|
2459
|
+
let m = new Uint8Array();
|
|
2460
|
+
t = c.addFunction((_, f) => {
|
|
2461
|
+
let S;
|
|
2462
|
+
try {
|
|
2463
|
+
S = c.HEAPU8.subarray(_, _ + f);
|
|
2464
|
+
} catch (F) {
|
|
2465
|
+
throw console.error("error", F), F;
|
|
2466
|
+
}
|
|
2467
|
+
let v = e.execProtocolRawSync(S);
|
|
2468
|
+
return m = W(m, v), f;
|
|
2469
|
+
}, "iii"), n = c.addFunction((_, f) => {
|
|
2470
|
+
let S = m.length;
|
|
2471
|
+
S > f && (S = f);
|
|
2472
|
+
try {
|
|
2473
|
+
c.HEAP8.set(m.subarray(0, S), _);
|
|
2474
|
+
} catch (v) {
|
|
2475
|
+
console.error(v);
|
|
2476
|
+
}
|
|
2477
|
+
return m = m.subarray(S, m.length), S;
|
|
2478
|
+
}, "iii"), c._set_read_write_cbs(n, t), c.FS.chmod("/home/web_user/.pgpass", 384);
|
|
2479
|
+
};
|
|
2480
|
+
}] }), d = "";
|
|
2481
|
+
return a || (d = u.FS.readFile(N, { encoding: "utf8" })), { exitCode: a, fileContents: d, stderr: o, stdout: s };
|
|
2482
|
+
}
|
|
2483
|
+
async function te({ pg: e, args: r, fileName: t = "dump.sql" }) {
|
|
2484
|
+
let a = (await e.query("SHOW SEARCH_PATH;")).rows[0].search_path, o = ["-U", "postgres", "--inserts", "-j", "1", "-f", N, "postgres"], s = await z({ pg: e, args: [...r ?? [], ...o] });
|
|
2485
|
+
if (e.exec(`DEALLOCATE ALL; SET SEARCH_PATH = ${a}`), s.exitCode !== 0) throw new Error(`pg_dump failed with exit code ${s.exitCode}.
|
|
2486
|
+
Error message: ${s.stderr}`);
|
|
2487
|
+
return new File([s.fileContents], t, { type: "text/plain" });
|
|
2488
|
+
}
|
|
2489
|
+
export {
|
|
2490
|
+
te as pgDump
|
|
2491
|
+
};
|
|
2492
|
+
//# sourceMappingURL=pg_dump-SG4KYBUB.js.map
|