aboutsummaryrefslogtreecommitdiff
path: root/src/js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2023-08-02 18:12:12 -0700
committerGravatar GitHub <noreply@github.com> 2023-08-02 18:12:12 -0700
commit207c7eb50955eb6f8f4b92fbf5a5955c23ec7e65 (patch)
tree4c0a1cdb53ec617e2c0ca13db161d6755752fd31 /src/js
parent505e77c2d0a5cafb0b2b321e30086de7e9944302 (diff)
downloadbun-207c7eb50955eb6f8f4b92fbf5a5955c23ec7e65.tar.gz
bun-207c7eb50955eb6f8f4b92fbf5a5955c23ec7e65.tar.zst
bun-207c7eb50955eb6f8f4b92fbf5a5955c23ec7e65.zip
Implement `node:worker_threads` (#3923)
* Start to implement `worker_threads` * more * more!! * more * Update bundle_v2.zig * delete outdated tests * `receiveMessageOnPort` * props test and export default * fix merge * not implemented tests * individual imports * `receiveMessageOnPort` tests --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
Diffstat (limited to 'src/js')
-rw-r--r--src/js/node/worker_threads.ts297
-rw-r--r--src/js/out/InternalModuleRegistryConstants.h6
-rw-r--r--src/js/out/modules/node/worker_threads.js213
3 files changed, 512 insertions, 4 deletions
diff --git a/src/js/node/worker_threads.ts b/src/js/node/worker_threads.ts
index 2db3a9446..a0b757708 100644
--- a/src/js/node/worker_threads.ts
+++ b/src/js/node/worker_threads.ts
@@ -1 +1,296 @@
-export default $lazy("masqueradesAsUndefined");
+const { MessageChannel, BroadcastChannel } = globalThis;
+
+function injectFakeEmitter(Class) {
+ function messageEventHandler(event: MessageEvent) {
+ return event.data;
+ }
+
+ function errorEventHandler(event: ErrorEvent) {
+ return event.error;
+ }
+
+ const wrappedListener = Symbol("wrappedListener");
+
+ function wrapped(run, listener) {
+ const callback = function (event) {
+ return listener(run(event));
+ };
+ listener[wrappedListener] = callback;
+ return callback;
+ }
+
+ function functionForEventType(event, listener) {
+ switch (event) {
+ case "error":
+ case "messageerror": {
+ return wrapped(errorEventHandler, listener);
+ }
+
+ default: {
+ return wrapped(messageEventHandler, listener);
+ }
+ }
+ }
+
+ Class.prototype.on = function (event, listener) {
+ this.addEventListener(event, functionForEventType(event, listener));
+
+ return this;
+ };
+
+ Class.prototype.off = function (event, listener) {
+ if (listener) {
+ this.removeEventListener(event, listener[wrappedListener] || listener);
+ } else {
+ this.removeEventListener(event);
+ }
+
+ return this;
+ };
+
+ Class.prototype.once = function (event, listener) {
+ this.addEventListener(event, functionForEventType(event, listener), { once: true });
+
+ return this;
+ };
+
+ function EventClass(eventName) {
+ if (eventName === "error" || eventName === "messageerror") {
+ return ErrorEvent;
+ }
+
+ return MessageEvent;
+ }
+
+ Class.prototype.emit = function (event, ...args) {
+ this.dispatchEvent(new (EventClass(event))(event, ...args));
+ return this;
+ };
+
+ Class.prototype.prependListener = Class.prototype.on;
+ Class.prototype.prependOnceListener = Class.prototype.once;
+}
+
+const _MessagePort = globalThis.MessagePort;
+injectFakeEmitter(_MessagePort);
+
+const MessagePort = _MessagePort;
+
+const EventEmitter = require("node:events");
+const isMainThread = Bun.isMainThread;
+let [_workerData, _threadId, _receiveMessageOnPort] = $lazy("worker_threads");
+let parentPort: MessagePort | null = isMainThread ? null : fakeParentPort();
+let resourceLimits = {};
+
+let workerData = _workerData;
+let threadId = _threadId;
+function receiveMessageOnPort(port: MessagePort) {
+ let res = _receiveMessageOnPort(port);
+ if (!res) return undefined;
+ return {
+ message: res,
+ };
+}
+
+function fakeParentPort() {
+ const fake = Object.create(MessagePort.prototype);
+ Object.defineProperty(fake, "onmessage", {
+ get() {
+ return self.onmessage;
+ },
+ set(value) {
+ self.onmessage = value;
+ },
+ });
+
+ Object.defineProperty(fake, "onmessageerror", {
+ get() {
+ return self.onmessageerror;
+ },
+ set(value) {},
+ });
+
+ Object.defineProperty(fake, "postMessage", {
+ value(...args: any[]) {
+ return self.postMessage(...args);
+ },
+ });
+
+ Object.defineProperty(fake, "close", {
+ value() {
+ return process.exit(0);
+ },
+ });
+
+ Object.defineProperty(fake, "start", {
+ value() {},
+ });
+
+ Object.defineProperty(fake, "unref", {
+ value() {},
+ });
+
+ Object.defineProperty(fake, "ref", {
+ value() {},
+ });
+
+ Object.defineProperty(fake, "hasRef", {
+ value() {
+ return false;
+ },
+ });
+
+ Object.defineProperty(fake, "setEncoding", {
+ value() {},
+ });
+
+ Object.defineProperty(fake, "addEventListener", {
+ value: self.addEventListener.bind(self),
+ });
+
+ Object.defineProperty(fake, "removeEventListener", {
+ value: self.removeEventListener.bind(self),
+ });
+
+ return fake;
+}
+
+function getEnvironmentData() {
+ return process.env;
+}
+
+function setEnvironmentData(env: any) {
+ process.env = env;
+}
+
+function markAsUntransferable() {
+ throw new Error("markAsUntransferable is not implemented");
+}
+
+function moveMessagePortToContext() {
+ throw new Error("moveMessagePortToContext is not implemented");
+}
+
+const SHARE_ENV = Symbol("nodejs.worker_threads.SHARE_ENV");
+
+const WebWorker = globalThis.Worker;
+class Worker extends EventEmitter {
+ #worker: globalThis.Worker;
+ #performance;
+ #onExitPromise = undefined;
+
+ constructor(filename: string, options: any = {}) {
+ super();
+
+ this.#worker = new WebWorker(filename, {
+ ...options,
+ });
+ this.#worker.addEventListener("close", this.#onClose.bind(this));
+ this.#worker.addEventListener("error", this.#onError.bind(this));
+ this.#worker.addEventListener("message", this.#onMessage.bind(this));
+ this.#worker.addEventListener("messageerror", this.#onMessageError.bind(this));
+ this.#worker.addEventListener("open", this.#onOpen.bind(this));
+ }
+
+ ref() {
+ this.#worker.ref();
+ }
+
+ unref() {
+ this.#worker.unref();
+ }
+
+ get stdin() {
+ // TODO:
+ return null;
+ }
+
+ get stdout() {
+ // TODO:
+ return null;
+ }
+
+ get stderr() {
+ // TODO:
+ return null;
+ }
+
+ get performance() {
+ return (this.#performance ??= {
+ eventLoopUtilization() {
+ return {};
+ },
+ });
+ }
+
+ terminate() {
+ if (this.#onExitPromise) {
+ return this.#onExitPromise;
+ }
+
+ const { resolve, promise } = Promise.withResolvers();
+ this.#worker.addEventListener(
+ "close",
+ event => {
+ // TODO: exit code
+ resolve(0);
+ },
+ { once: true },
+ );
+
+ return (this.#onExitPromise = promise);
+ }
+
+ postMessage(...args: any[]) {
+ return this.#worker.postMessage(...args);
+ }
+
+ #onClose() {
+ this.emit("exit");
+ }
+
+ #onError(event: ErrorEvent) {
+ // TODO: is this right?
+ this.emit("error", event);
+ }
+
+ #onMessage(event: MessageEvent) {
+ // TODO: is this right?
+ this.emit("message", event.data);
+ }
+
+ #onMessageError(event: Event) {
+ // TODO: is this right?
+ this.emit("messageerror", event.error || event);
+ }
+
+ #onOpen() {
+ // TODO: is this right?
+ this.emit("online");
+ }
+
+ getHeapSnapshot() {
+ return {};
+ }
+}
+export default {
+ Worker,
+ workerData,
+ parentPort,
+ resourceLimits,
+ isMainThread,
+ MessageChannel,
+ BroadcastChannel,
+ MessagePort,
+ getEnvironmentData,
+ setEnvironmentData,
+ getHeapSnapshot() {
+ return {};
+ },
+ markAsUntransferable,
+ moveMessagePortToContext,
+ receiveMessageOnPort,
+ SHARE_ENV,
+
+ threadId,
+};
diff --git a/src/js/out/InternalModuleRegistryConstants.h b/src/js/out/InternalModuleRegistryConstants.h
index 4f280273d..692940f4e 100644
--- a/src/js/out/InternalModuleRegistryConstants.h
+++ b/src/js/out/InternalModuleRegistryConstants.h
@@ -50,7 +50,7 @@ static constexpr ASCIILiteral NodeUtilCode = "(function (){\"use strict\";const
static constexpr ASCIILiteral NodeV8Code = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@getInternalField(@internalModuleRegistry,2)||@createInternalModuleById(2),jsc=@requireNativeModule(\"bun:jsc\");function notimpl(message){throwNotImplemented(\"node:v8 \"+message)}class Deserializer{constructor(){notimpl(\"Deserializer\")}}class Serializer{constructor(){notimpl(\"Serializer\")}}class DefaultDeserializer extends Deserializer{constructor(){super(...arguments)}}class DefaultSerializer extends Serializer{constructor(){super(...arguments)}}class GCProfiler{constructor(){notimpl(\"GCProfiler\")}}function cachedDataVersionTag(){notimpl(\"cachedDataVersionTag\")}function getHeapSnapshot(){notimpl(\"getHeapSnapshot\")}function getHeapStatistics(){notimpl(\"getHeapStatistics\")}function getHeapSpaceStatistics(){notimpl(\"getHeapSpaceStatistics\")}function getHeapCodeStatistics(){notimpl(\"getHeapCodeStatistics\")}function setFlagsFromString(){notimpl(\"setFlagsFromString\")}function deserialize(value){return jsc.deserialize(value)}function takeCoverage(){notimpl(\"takeCoverage\")}function stopCoverage(){notimpl(\"stopCoverage\")}function serialize(arg1){return jsc.serialize(arg1,{binaryType:\"nodebuffer\"})}function writeHeapSnapshot(){notimpl(\"writeHeapSnapshot\")}function setHeapSnapshotNearHeapLimit(){notimpl(\"setHeapSnapshotNearHeapLimit\")}return $={cachedDataVersionTag,getHeapSnapshot,getHeapStatistics,getHeapSpaceStatistics,getHeapCodeStatistics,setFlagsFromString,deserialize,takeCoverage,stopCoverage,serialize,writeHeapSnapshot,setHeapSnapshotNearHeapLimit,promiseHooks:{createHook:()=>{notimpl(\"createHook\")},onInit:()=>{notimpl(\"onInit\")},onBefore:()=>{notimpl(\"onBefore\")},onAfter:()=>{notimpl(\"onAfter\")},onSettled:()=>{notimpl(\"onSettled\")}},startupSnapshot:{addDeserializeCallback:()=>notimpl(\"addDeserializeCallback\"),addSerializeCallback:()=>notimpl(\"addSerializeCallback\"),setDeserializeMainFunction:()=>notimpl(\"setDeserializeMainFunction\"),isBuildingSnapshot:()=>notimpl(\"isBuildingSnapshot\")},Deserializer,Serializer},hideFromStack(notimpl,cachedDataVersionTag,getHeapSnapshot,getHeapStatistics,getHeapSpaceStatistics,getHeapCodeStatistics,setFlagsFromString,deserialize,takeCoverage,stopCoverage,serialize,writeHeapSnapshot,setHeapSnapshotNearHeapLimit,Deserializer,Serializer,DefaultDeserializer,DefaultSerializer,GCProfiler),$})\n"_s;
static constexpr ASCIILiteral NodeVMCode = "(function (){\"use strict\";const{throwNotImplemented}=@getInternalField(@internalModuleRegistry,2)||@createInternalModuleById(2),vm=globalThis[globalThis.Symbol.for('Bun.lazy')](\"vm\"),{createContext,isContext,Script,runInNewContext,runInThisContext}=vm;function runInContext(code,context,options){return new Script(code,options).runInContext(context)}function compileFunction(){throwNotImplemented(\"node:vm compileFunction\")}function measureMemory(){throwNotImplemented(\"node:vm measureMemory\")}class Module{constructor(){throwNotImplemented(\"node:vm Module\")}}class SourceTextModule{constructor(){throwNotImplemented(\"node:vm Module\")}}class SyntheticModule{constructor(){throwNotImplemented(\"node:vm Module\")}}return{createContext,runInContext,runInNewContext,runInThisContext,isContext,compileFunction,measureMemory,Script,Module,SourceTextModule,SyntheticModule}})\n"_s;
static constexpr ASCIILiteral NodeWasiCode = "(function (){\"use strict\";const nodeFsConstants=@processBindingConstants.fs;var __getOwnPropNames=Object.getOwnPropertyNames,__commonJS=(cb,mod)=>function __require2(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_types=__commonJS({\"node_modules/wasi-js/dist/types.js\"(exports){Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.WASIKillError=exports.WASIExitError=exports.WASIError=void 0;var WASIError=class extends Error{constructor(errno){super();this.errno=errno,Object.setPrototypeOf(this,WASIError.prototype)}};exports.WASIError=WASIError;var WASIExitError=class extends Error{constructor(code){super(`WASI Exit error: ${code}`);this.code=code,Object.setPrototypeOf(this,WASIExitError.prototype)}};exports.WASIExitError=WASIExitError;var WASIKillError=class extends Error{constructor(signal){super(`WASI Kill signal: ${signal}`);this.signal=signal,Object.setPrototypeOf(this,WASIKillError.prototype)}};exports.WASIKillError=WASIKillError}}),require_constants=__commonJS({\"node_modules/wasi-js/dist/constants.js\"(exports){Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.WASI_ENOMSG=exports.WASI_ENOMEM=exports.WASI_ENOLINK=exports.WASI_ENOLCK=exports.WASI_ENOEXEC=exports.WASI_ENOENT=exports.WASI_ENODEV=exports.WASI_ENOBUFS=exports.WASI_ENFILE=exports.WASI_ENETUNREACH=exports.WASI_ENETRESET=exports.WASI_ENETDOWN=exports.WASI_ENAMETOOLONG=exports.WASI_EMULTIHOP=exports.WASI_EMSGSIZE=exports.WASI_EMLINK=exports.WASI_EMFILE=exports.WASI_ELOOP=exports.WASI_EISDIR=exports.WASI_EISCONN=exports.WASI_EIO=exports.WASI_EINVAL=exports.WASI_EINTR=exports.WASI_EINPROGRESS=exports.WASI_EILSEQ=exports.WASI_EIDRM=exports.WASI_EHOSTUNREACH=exports.WASI_EFBIG=exports.WASI_EFAULT=exports.WASI_EEXIST=exports.WASI_EDQUOT=exports.WASI_EDOM=exports.WASI_EDESTADDRREQ=exports.WASI_EDEADLK=exports.WASI_ECONNRESET=exports.WASI_ECONNREFUSED=exports.WASI_ECONNABORTED=exports.WASI_ECHILD=exports.WASI_ECANCELED=exports.WASI_EBUSY=exports.WASI_EBADMSG=exports.WASI_EBADF=exports.WASI_EALREADY=exports.WASI_EAGAIN=exports.WASI_EAFNOSUPPORT=exports.WASI_EADDRNOTAVAIL=exports.WASI_EADDRINUSE=exports.WASI_EACCES=exports.WASI_E2BIG=exports.WASI_ESUCCESS=void 0,exports.WASI_SIGVTALRM=exports.WASI_SIGUSR2=exports.WASI_SIGUSR1=exports.WASI_SIGURG=exports.WASI_SIGTTOU=exports.WASI_SIGTTIN=exports.WASI_SIGTSTP=exports.WASI_SIGTRAP=exports.WASI_SIGTERM=exports.WASI_SIGSTOP=exports.WASI_SIGSEGV=exports.WASI_SIGQUIT=exports.WASI_SIGPIPE=exports.WASI_SIGKILL=exports.WASI_SIGINT=exports.WASI_SIGILL=exports.WASI_SIGHUP=exports.WASI_SIGFPE=exports.WASI_SIGCONT=exports.WASI_SIGCHLD=exports.WASI_SIGBUS=exports.WASI_SIGALRM=exports.WASI_SIGABRT=exports.WASI_ENOTCAPABLE=exports.WASI_EXDEV=exports.WASI_ETXTBSY=exports.WASI_ETIMEDOUT=exports.WASI_ESTALE=exports.WASI_ESRCH=exports.WASI_ESPIPE=exports.WASI_EROFS=exports.WASI_ERANGE=exports.WASI_EPROTOTYPE=exports.WASI_EPROTONOSUPPORT=exports.WASI_EPROTO=exports.WASI_EPIPE=exports.WASI_EPERM=exports.WASI_EOWNERDEAD=exports.WASI_EOVERFLOW=exports.WASI_ENXIO=exports.WASI_ENOTTY=exports.WASI_ENOTSUP=exports.WASI_ENOTSOCK=exports.WASI_ENOTRECOVERABLE=exports.WASI_ENOTEMPTY=exports.WASI_ENOTDIR=exports.WASI_ENOTCONN=exports.WASI_ENOSYS=exports.WASI_ENOSPC=exports.WASI_ENOPROTOOPT=void 0,exports.RIGHTS_REGULAR_FILE_BASE=exports.RIGHTS_CHARACTER_DEVICE_INHERITING=exports.RIGHTS_CHARACTER_DEVICE_BASE=exports.RIGHTS_BLOCK_DEVICE_INHERITING=exports.RIGHTS_BLOCK_DEVICE_BASE=exports.RIGHTS_ALL=exports.WASI_RIGHT_SOCK_SHUTDOWN=exports.WASI_RIGHT_POLL_FD_READWRITE=exports.WASI_RIGHT_PATH_UNLINK_FILE=exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY=exports.WASI_RIGHT_PATH_SYMLINK=exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES=exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE=exports.WASI_RIGHT_FD_FILESTAT_GET=exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES=exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE=exports.WASI_RIGHT_PATH_FILESTAT_GET=exports.WASI_RIGHT_PATH_RENAME_TARGET=exports.WASI_RIGHT_PATH_RENAME_SOURCE=exports.WASI_RIGHT_PATH_READLINK=exports.WASI_RIGHT_FD_READDIR=exports.WASI_RIGHT_PATH_OPEN=exports.WASI_RIGHT_PATH_LINK_TARGET=exports.WASI_RIGHT_PATH_LINK_SOURCE=exports.WASI_RIGHT_PATH_CREATE_FILE=exports.WASI_RIGHT_PATH_CREATE_DIRECTORY=exports.WASI_RIGHT_FD_ALLOCATE=exports.WASI_RIGHT_FD_ADVISE=exports.WASI_RIGHT_FD_WRITE=exports.WASI_RIGHT_FD_TELL=exports.WASI_RIGHT_FD_SYNC=exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS=exports.WASI_RIGHT_FD_SEEK=exports.WASI_RIGHT_FD_READ=exports.WASI_RIGHT_FD_DATASYNC=exports.WASI_FDFLAG_SYNC=exports.WASI_FDFLAG_RSYNC=exports.WASI_FDFLAG_NONBLOCK=exports.WASI_FDFLAG_DSYNC=exports.WASI_FDFLAG_APPEND=exports.WASI_FILETYPE_SYMBOLIC_LINK=exports.WASI_FILETYPE_SOCKET_STREAM=exports.WASI_FILETYPE_SOCKET_DGRAM=exports.WASI_FILETYPE_REGULAR_FILE=exports.WASI_FILETYPE_DIRECTORY=exports.WASI_FILETYPE_CHARACTER_DEVICE=exports.WASI_FILETYPE_BLOCK_DEVICE=exports.WASI_FILETYPE_UNKNOWN=exports.WASI_SIGXFSZ=exports.WASI_SIGXCPU=void 0,exports.SIGNAL_MAP=exports.ERROR_MAP=exports.WASI_WHENCE_END=exports.WASI_WHENCE_CUR=exports.WASI_WHENCE_SET=exports.WASI_STDERR_FILENO=exports.WASI_STDOUT_FILENO=exports.WASI_STDIN_FILENO=exports.WASI_DIRCOOKIE_START=exports.WASI_PREOPENTYPE_DIR=exports.WASI_O_TRUNC=exports.WASI_O_EXCL=exports.WASI_O_DIRECTORY=exports.WASI_O_CREAT=exports.WASI_FILESTAT_SET_MTIM_NOW=exports.WASI_FILESTAT_SET_MTIM=exports.WASI_FILESTAT_SET_ATIM_NOW=exports.WASI_FILESTAT_SET_ATIM=exports.WASI_EVENTTYPE_FD_WRITE=exports.WASI_EVENTTYPE_FD_READ=exports.WASI_EVENTTYPE_CLOCK=exports.WASI_CLOCK_THREAD_CPUTIME_ID=exports.WASI_CLOCK_PROCESS_CPUTIME_ID=exports.WASI_CLOCK_MONOTONIC=exports.WASI_CLOCK_REALTIME=exports.RIGHTS_TTY_INHERITING=exports.RIGHTS_TTY_BASE=exports.RIGHTS_SOCKET_INHERITING=exports.RIGHTS_SOCKET_BASE=exports.RIGHTS_DIRECTORY_INHERITING=exports.RIGHTS_DIRECTORY_BASE=exports.RIGHTS_REGULAR_FILE_INHERITING=void 0,exports.WASI_ESUCCESS=0,exports.WASI_E2BIG=1,exports.WASI_EACCES=2,exports.WASI_EADDRINUSE=3,exports.WASI_EADDRNOTAVAIL=4,exports.WASI_EAFNOSUPPORT=5,exports.WASI_EAGAIN=6,exports.WASI_EALREADY=7,exports.WASI_EBADF=8,exports.WASI_EBADMSG=9,exports.WASI_EBUSY=10,exports.WASI_ECANCELED=11,exports.WASI_ECHILD=12,exports.WASI_ECONNABORTED=13,exports.WASI_ECONNREFUSED=14,exports.WASI_ECONNRESET=15,exports.WASI_EDEADLK=16,exports.WASI_EDESTADDRREQ=17,exports.WASI_EDOM=18,exports.WASI_EDQUOT=19,exports.WASI_EEXIST=20,exports.WASI_EFAULT=21,exports.WASI_EFBIG=22,exports.WASI_EHOSTUNREACH=23,exports.WASI_EIDRM=24,exports.WASI_EILSEQ=25,exports.WASI_EINPROGRESS=26,exports.WASI_EINTR=27,exports.WASI_EINVAL=28,exports.WASI_EIO=29,exports.WASI_EISCONN=30,exports.WASI_EISDIR=31,exports.WASI_ELOOP=32,exports.WASI_EMFILE=33,exports.WASI_EMLINK=34,exports.WASI_EMSGSIZE=35,exports.WASI_EMULTIHOP=36,exports.WASI_ENAMETOOLONG=37,exports.WASI_ENETDOWN=38,exports.WASI_ENETRESET=39,exports.WASI_ENETUNREACH=40,exports.WASI_ENFILE=41,exports.WASI_ENOBUFS=42,exports.WASI_ENODEV=43,exports.WASI_ENOENT=44,exports.WASI_ENOEXEC=45,exports.WASI_ENOLCK=46,exports.WASI_ENOLINK=47,exports.WASI_ENOMEM=48,exports.WASI_ENOMSG=49,exports.WASI_ENOPROTOOPT=50,exports.WASI_ENOSPC=51,exports.WASI_ENOSYS=52,exports.WASI_ENOTCONN=53,exports.WASI_ENOTDIR=54,exports.WASI_ENOTEMPTY=55,exports.WASI_ENOTRECOVERABLE=56,exports.WASI_ENOTSOCK=57,exports.WASI_ENOTSUP=58,exports.WASI_ENOTTY=59,exports.WASI_ENXIO=60,exports.WASI_EOVERFLOW=61,exports.WASI_EOWNERDEAD=62,exports.WASI_EPERM=63,exports.WASI_EPIPE=64,exports.WASI_EPROTO=65,exports.WASI_EPROTONOSUPPORT=66,exports.WASI_EPROTOTYPE=67,exports.WASI_ERANGE=68,exports.WASI_EROFS=69,exports.WASI_ESPIPE=70,exports.WASI_ESRCH=71,exports.WASI_ESTALE=72,exports.WASI_ETIMEDOUT=73,exports.WASI_ETXTBSY=74,exports.WASI_EXDEV=75,exports.WASI_ENOTCAPABLE=76,exports.WASI_SIGABRT=0,exports.WASI_SIGALRM=1,exports.WASI_SIGBUS=2,exports.WASI_SIGCHLD=3,exports.WASI_SIGCONT=4,exports.WASI_SIGFPE=5,exports.WASI_SIGHUP=6,exports.WASI_SIGILL=7,exports.WASI_SIGINT=8,exports.WASI_SIGKILL=9,exports.WASI_SIGPIPE=10,exports.WASI_SIGQUIT=11,exports.WASI_SIGSEGV=12,exports.WASI_SIGSTOP=13,exports.WASI_SIGTERM=14,exports.WASI_SIGTRAP=15,exports.WASI_SIGTSTP=16,exports.WASI_SIGTTIN=17,exports.WASI_SIGTTOU=18,exports.WASI_SIGURG=19,exports.WASI_SIGUSR1=20,exports.WASI_SIGUSR2=21,exports.WASI_SIGVTALRM=22,exports.WASI_SIGXCPU=23,exports.WASI_SIGXFSZ=24,exports.WASI_FILETYPE_UNKNOWN=0,exports.WASI_FILETYPE_BLOCK_DEVICE=1,exports.WASI_FILETYPE_CHARACTER_DEVICE=2,exports.WASI_FILETYPE_DIRECTORY=3,exports.WASI_FILETYPE_REGULAR_FILE=4,exports.WASI_FILETYPE_SOCKET_DGRAM=5,exports.WASI_FILETYPE_SOCKET_STREAM=6,exports.WASI_FILETYPE_SYMBOLIC_LINK=7,exports.WASI_FDFLAG_APPEND=1,exports.WASI_FDFLAG_DSYNC=2,exports.WASI_FDFLAG_NONBLOCK=4,exports.WASI_FDFLAG_RSYNC=8,exports.WASI_FDFLAG_SYNC=16,exports.WASI_RIGHT_FD_DATASYNC=BigInt(1),exports.WASI_RIGHT_FD_READ=BigInt(2),exports.WASI_RIGHT_FD_SEEK=BigInt(4),exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS=BigInt(8),exports.WASI_RIGHT_FD_SYNC=BigInt(16),exports.WASI_RIGHT_FD_TELL=BigInt(32),exports.WASI_RIGHT_FD_WRITE=BigInt(64),exports.WASI_RIGHT_FD_ADVISE=BigInt(128),exports.WASI_RIGHT_FD_ALLOCATE=BigInt(256),exports.WASI_RIGHT_PATH_CREATE_DIRECTORY=BigInt(512),exports.WASI_RIGHT_PATH_CREATE_FILE=BigInt(1024),exports.WASI_RIGHT_PATH_LINK_SOURCE=BigInt(2048),exports.WASI_RIGHT_PATH_LINK_TARGET=BigInt(4096),exports.WASI_RIGHT_PATH_OPEN=BigInt(8192),exports.WASI_RIGHT_FD_READDIR=BigInt(16384),exports.WASI_RIGHT_PATH_READLINK=BigInt(32768),exports.WASI_RIGHT_PATH_RENAME_SOURCE=BigInt(65536),exports.WASI_RIGHT_PATH_RENAME_TARGET=BigInt(131072),exports.WASI_RIGHT_PATH_FILESTAT_GET=BigInt(262144),exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE=BigInt(524288),exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES=BigInt(1048576),exports.WASI_RIGHT_FD_FILESTAT_GET=BigInt(2097152),exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE=BigInt(4194304),exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES=BigInt(8388608),exports.WASI_RIGHT_PATH_SYMLINK=BigInt(16777216),exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY=BigInt(33554432),exports.WASI_RIGHT_PATH_UNLINK_FILE=BigInt(67108864),exports.WASI_RIGHT_POLL_FD_READWRITE=BigInt(134217728),exports.WASI_RIGHT_SOCK_SHUTDOWN=BigInt(268435456),exports.RIGHTS_ALL=exports.WASI_RIGHT_FD_DATASYNC|exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_SEEK|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_TELL|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_FD_ALLOCATE|exports.WASI_RIGHT_PATH_CREATE_DIRECTORY|exports.WASI_RIGHT_PATH_CREATE_FILE|exports.WASI_RIGHT_PATH_LINK_SOURCE|exports.WASI_RIGHT_PATH_LINK_TARGET|exports.WASI_RIGHT_PATH_OPEN|exports.WASI_RIGHT_FD_READDIR|exports.WASI_RIGHT_PATH_READLINK|exports.WASI_RIGHT_PATH_RENAME_SOURCE|exports.WASI_RIGHT_PATH_RENAME_TARGET|exports.WASI_RIGHT_PATH_FILESTAT_GET|exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_SYMLINK|exports.WASI_RIGHT_PATH_UNLINK_FILE|exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY|exports.WASI_RIGHT_POLL_FD_READWRITE|exports.WASI_RIGHT_SOCK_SHUTDOWN,exports.RIGHTS_BLOCK_DEVICE_BASE=exports.RIGHTS_ALL,exports.RIGHTS_BLOCK_DEVICE_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_CHARACTER_DEVICE_BASE=exports.RIGHTS_ALL,exports.RIGHTS_CHARACTER_DEVICE_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_REGULAR_FILE_BASE=exports.WASI_RIGHT_FD_DATASYNC|exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_SEEK|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_TELL|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_FD_ALLOCATE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_REGULAR_FILE_INHERITING=BigInt(0),exports.RIGHTS_DIRECTORY_BASE=exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_PATH_CREATE_DIRECTORY|exports.WASI_RIGHT_PATH_CREATE_FILE|exports.WASI_RIGHT_PATH_LINK_SOURCE|exports.WASI_RIGHT_PATH_LINK_TARGET|exports.WASI_RIGHT_PATH_OPEN|exports.WASI_RIGHT_FD_READDIR|exports.WASI_RIGHT_PATH_READLINK|exports.WASI_RIGHT_PATH_RENAME_SOURCE|exports.WASI_RIGHT_PATH_RENAME_TARGET|exports.WASI_RIGHT_PATH_FILESTAT_GET|exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_PATH_SYMLINK|exports.WASI_RIGHT_PATH_UNLINK_FILE|exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_DIRECTORY_INHERITING=exports.RIGHTS_DIRECTORY_BASE|exports.RIGHTS_REGULAR_FILE_BASE,exports.RIGHTS_SOCKET_BASE=exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_POLL_FD_READWRITE|exports.WASI_RIGHT_SOCK_SHUTDOWN,exports.RIGHTS_SOCKET_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_TTY_BASE=exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_TTY_INHERITING=BigInt(0),exports.WASI_CLOCK_REALTIME=0,exports.WASI_CLOCK_MONOTONIC=1,exports.WASI_CLOCK_PROCESS_CPUTIME_ID=2,exports.WASI_CLOCK_THREAD_CPUTIME_ID=3,exports.WASI_EVENTTYPE_CLOCK=0,exports.WASI_EVENTTYPE_FD_READ=1,exports.WASI_EVENTTYPE_FD_WRITE=2,exports.WASI_FILESTAT_SET_ATIM=1<<0,exports.WASI_FILESTAT_SET_ATIM_NOW=1<<1,exports.WASI_FILESTAT_SET_MTIM=1<<2,exports.WASI_FILESTAT_SET_MTIM_NOW=1<<3,exports.WASI_O_CREAT=1<<0,exports.WASI_O_DIRECTORY=1<<1,exports.WASI_O_EXCL=1<<2,exports.WASI_O_TRUNC=1<<3,exports.WASI_PREOPENTYPE_DIR=0,exports.WASI_DIRCOOKIE_START=0,exports.WASI_STDIN_FILENO=0,exports.WASI_STDOUT_FILENO=1,exports.WASI_STDERR_FILENO=2,exports.WASI_WHENCE_SET=0,exports.WASI_WHENCE_CUR=1,exports.WASI_WHENCE_END=2,exports.ERROR_MAP={E2BIG:exports.WASI_E2BIG,EACCES:exports.WASI_EACCES,EADDRINUSE:exports.WASI_EADDRINUSE,EADDRNOTAVAIL:exports.WASI_EADDRNOTAVAIL,EAFNOSUPPORT:exports.WASI_EAFNOSUPPORT,EALREADY:exports.WASI_EALREADY,EAGAIN:exports.WASI_EAGAIN,EBADF:exports.WASI_EBADF,EBADMSG:exports.WASI_EBADMSG,EBUSY:exports.WASI_EBUSY,ECANCELED:exports.WASI_ECANCELED,ECHILD:exports.WASI_ECHILD,ECONNABORTED:exports.WASI_ECONNABORTED,ECONNREFUSED:exports.WASI_ECONNREFUSED,ECONNRESET:exports.WASI_ECONNRESET,EDEADLOCK:exports.WASI_EDEADLK,EDESTADDRREQ:exports.WASI_EDESTADDRREQ,EDOM:exports.WASI_EDOM,EDQUOT:exports.WASI_EDQUOT,EEXIST:exports.WASI_EEXIST,EFAULT:exports.WASI_EFAULT,EFBIG:exports.WASI_EFBIG,EHOSTDOWN:exports.WASI_EHOSTUNREACH,EHOSTUNREACH:exports.WASI_EHOSTUNREACH,EIDRM:exports.WASI_EIDRM,EILSEQ:exports.WASI_EILSEQ,EINPROGRESS:exports.WASI_EINPROGRESS,EINTR:exports.WASI_EINTR,EINVAL:exports.WASI_EINVAL,EIO:exports.WASI_EIO,EISCONN:exports.WASI_EISCONN,EISDIR:exports.WASI_EISDIR,ELOOP:exports.WASI_ELOOP,EMFILE:exports.WASI_EMFILE,EMLINK:exports.WASI_EMLINK,EMSGSIZE:exports.WASI_EMSGSIZE,EMULTIHOP:exports.WASI_EMULTIHOP,ENAMETOOLONG:exports.WASI_ENAMETOOLONG,ENETDOWN:exports.WASI_ENETDOWN,ENETRESET:exports.WASI_ENETRESET,ENETUNREACH:exports.WASI_ENETUNREACH,ENFILE:exports.WASI_ENFILE,ENOBUFS:exports.WASI_ENOBUFS,ENODEV:exports.WASI_ENODEV,ENOENT:exports.WASI_ENOENT,ENOEXEC:exports.WASI_ENOEXEC,ENOLCK:exports.WASI_ENOLCK,ENOLINK:exports.WASI_ENOLINK,ENOMEM:exports.WASI_ENOMEM,ENOMSG:exports.WASI_ENOMSG,ENOPROTOOPT:exports.WASI_ENOPROTOOPT,ENOSPC:exports.WASI_ENOSPC,ENOSYS:exports.WASI_ENOSYS,ENOTCONN:exports.WASI_ENOTCONN,ENOTDIR:exports.WASI_ENOTDIR,ENOTEMPTY:exports.WASI_ENOTEMPTY,ENOTRECOVERABLE:exports.WASI_ENOTRECOVERABLE,ENOTSOCK:exports.WASI_ENOTSOCK,ENOTTY:exports.WASI_ENOTTY,ENXIO:exports.WASI_ENXIO,EOVERFLOW:exports.WASI_EOVERFLOW,EOWNERDEAD:exports.WASI_EOWNERDEAD,EPERM:exports.WASI_EPERM,EPIPE:exports.WASI_EPIPE,EPROTO:exports.WASI_EPROTO,EPROTONOSUPPORT:exports.WASI_EPROTONOSUPPORT,EPROTOTYPE:exports.WASI_EPROTOTYPE,ERANGE:exports.WASI_ERANGE,EROFS:exports.WASI_EROFS,ESPIPE:exports.WASI_ESPIPE,ESRCH:exports.WASI_ESRCH,ESTALE:exports.WASI_ESTALE,ETIMEDOUT:exports.WASI_ETIMEDOUT,ETXTBSY:exports.WASI_ETXTBSY,EXDEV:exports.WASI_EXDEV},exports.SIGNAL_MAP={[exports.WASI_SIGHUP]:\"SIGHUP\",[exports.WASI_SIGINT]:\"SIGINT\",[exports.WASI_SIGQUIT]:\"SIGQUIT\",[exports.WASI_SIGILL]:\"SIGILL\",[exports.WASI_SIGTRAP]:\"SIGTRAP\",[exports.WASI_SIGABRT]:\"SIGABRT\",[exports.WASI_SIGBUS]:\"SIGBUS\",[exports.WASI_SIGFPE]:\"SIGFPE\",[exports.WASI_SIGKILL]:\"SIGKILL\",[exports.WASI_SIGUSR1]:\"SIGUSR1\",[exports.WASI_SIGSEGV]:\"SIGSEGV\",[exports.WASI_SIGUSR2]:\"SIGUSR2\",[exports.WASI_SIGPIPE]:\"SIGPIPE\",[exports.WASI_SIGALRM]:\"SIGALRM\",[exports.WASI_SIGTERM]:\"SIGTERM\",[exports.WASI_SIGCHLD]:\"SIGCHLD\",[exports.WASI_SIGCONT]:\"SIGCONT\",[exports.WASI_SIGSTOP]:\"SIGSTOP\",[exports.WASI_SIGTSTP]:\"SIGTSTP\",[exports.WASI_SIGTTIN]:\"SIGTTIN\",[exports.WASI_SIGTTOU]:\"SIGTTOU\",[exports.WASI_SIGURG]:\"SIGURG\",[exports.WASI_SIGXCPU]:\"SIGXCPU\",[exports.WASI_SIGXFSZ]:\"SIGXFSZ\",[exports.WASI_SIGVTALRM]:\"SIGVTALRM\"}}}),require_wasi=__commonJS({\"node_modules/wasi-js/dist/wasi.js\"(exports){var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule\?mod:{default:mod}};let fs;Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.SOCKET_DEFAULT_RIGHTS=void 0;var log=()=>{},logOpen=()=>{},SC_OPEN_MAX=32768,types_1=require_types(),constants_1=require_constants(),STDIN_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_SYNC|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE,STDOUT_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_SYNC|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE,STDERR_DEFAULT_RIGHTS=STDOUT_DEFAULT_RIGHTS;exports.SOCKET_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE|constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS;var msToNs=(ms)=>{const msInt=Math.trunc(ms),decimal=BigInt(Math.round((ms-msInt)*1e6));return BigInt(msInt)*BigInt(1e6)+decimal},nsToMs=(ns)=>{if(typeof ns===\"number\")ns=Math.trunc(ns);const nsInt=BigInt(ns);return Number(nsInt/BigInt(1e6))},wrap=(f)=>(...args)=>{try{return f(...args)}catch(err){let e=err;while(e.prev!=null)e=e.prev;if(e\?.code&&typeof e\?.code===\"string\")return constants_1.ERROR_MAP[e.code]||constants_1.WASI_EINVAL;if(e instanceof types_1.WASIError)return e.errno;throw e}},stat=(wasi,fd)=>{const entry=wasi.FD_MAP.get(fd);if(!entry)throw new types_1.WASIError(constants_1.WASI_EBADF);if(entry.filetype===void 0){const stats=wasi.fstatSync(entry.real),{filetype,rightsBase,rightsInheriting}=translateFileAttributes(wasi,fd,stats);if(entry.filetype=filetype,!entry.rights)entry.rights={base:rightsBase,inheriting:rightsInheriting}}return entry},translateFileAttributes=(wasi,fd,stats)=>{switch(!0){case stats.isBlockDevice():return{filetype:constants_1.WASI_FILETYPE_BLOCK_DEVICE,rightsBase:constants_1.RIGHTS_BLOCK_DEVICE_BASE,rightsInheriting:constants_1.RIGHTS_BLOCK_DEVICE_INHERITING};case stats.isCharacterDevice():{const filetype=constants_1.WASI_FILETYPE_CHARACTER_DEVICE;if(fd!==void 0&&wasi.bindings.isTTY(fd))return{filetype,rightsBase:constants_1.RIGHTS_TTY_BASE,rightsInheriting:constants_1.RIGHTS_TTY_INHERITING};return{filetype,rightsBase:constants_1.RIGHTS_CHARACTER_DEVICE_BASE,rightsInheriting:constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING}}case stats.isDirectory():return{filetype:constants_1.WASI_FILETYPE_DIRECTORY,rightsBase:constants_1.RIGHTS_DIRECTORY_BASE,rightsInheriting:constants_1.RIGHTS_DIRECTORY_INHERITING};case stats.isFIFO():return{filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rightsBase:constants_1.RIGHTS_SOCKET_BASE,rightsInheriting:constants_1.RIGHTS_SOCKET_INHERITING};case stats.isFile():return{filetype:constants_1.WASI_FILETYPE_REGULAR_FILE,rightsBase:constants_1.RIGHTS_REGULAR_FILE_BASE,rightsInheriting:constants_1.RIGHTS_REGULAR_FILE_INHERITING};case stats.isSocket():return{filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rightsBase:constants_1.RIGHTS_SOCKET_BASE,rightsInheriting:constants_1.RIGHTS_SOCKET_INHERITING};case stats.isSymbolicLink():return{filetype:constants_1.WASI_FILETYPE_SYMBOLIC_LINK,rightsBase:BigInt(0),rightsInheriting:BigInt(0)};default:return{filetype:constants_1.WASI_FILETYPE_UNKNOWN,rightsBase:BigInt(0),rightsInheriting:BigInt(0)}}},warnedAboutSleep=!1,defaultConfig;function getDefaults(){if(defaultConfig)return defaultConfig;const defaultBindings={hrtime:()=>process.hrtime.bigint(),exit:(code)=>{process.exit(code)},kill:(signal)=>{process.kill(process.pid,signal)},randomFillSync:(array)=>crypto.getRandomValues(array),isTTY:(fd)=>@requireNativeModule(\"node:tty\").isatty(fd),fs:Bun.fs(),path:@getInternalField(@internalModuleRegistry,25)||@createInternalModuleById(25)};return defaultConfig={args:[],env:{},preopens:{},bindings:defaultBindings,sleep:(ms)=>{Bun.sleepSync(ms)}}}var WASI=class WASI2{constructor(wasiConfig={}){const defaultConfig2=getDefaults();this.lastStdin=0,this.sleep=wasiConfig.sleep||defaultConfig2.sleep,this.getStdin=wasiConfig.getStdin,this.sendStdout=wasiConfig.sendStdout,this.sendStderr=wasiConfig.sendStderr;let preopens=wasiConfig.preopens\?\?defaultConfig2.preopens;this.env=wasiConfig.env\?\?defaultConfig2.env;const args=wasiConfig.args\?\?defaultConfig2.args;this.memory=void 0,this.view=void 0,this.bindings=wasiConfig.bindings||defaultConfig2.bindings;const bindings2=this.bindings;fs=bindings2.fs,this.FD_MAP=new Map([[constants_1.WASI_STDIN_FILENO,{real:0,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDIN_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stdin\"}],[constants_1.WASI_STDOUT_FILENO,{real:1,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDOUT_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stdout\"}],[constants_1.WASI_STDERR_FILENO,{real:2,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDERR_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stderr\"}]]);const path=bindings2.path;for(let[k,v]of Object.entries(preopens)){const real=fs.openSync(v,nodeFsConstants.O_RDONLY),newfd=this.getUnusedFileDescriptor();this.FD_MAP.set(newfd,{real,filetype:constants_1.WASI_FILETYPE_DIRECTORY,rights:{base:constants_1.RIGHTS_DIRECTORY_BASE,inheriting:constants_1.RIGHTS_DIRECTORY_INHERITING},fakePath:k,path:v})}const getiovs=(iovs,iovsLen)=>{this.refreshMemory();const{view,memory}=this,{buffer}=memory,{byteLength}=buffer;if(iovsLen===1){const ptr=iovs,buf=view.getUint32(ptr,!0);let bufLen=view.getUint32(ptr+4,!0);if(bufLen>byteLength-buf)console.log({buf,bufLen,total_memory:byteLength}),log(\"getiovs: warning -- truncating buffer to fit in memory\"),bufLen=Math.min(bufLen,Math.max(0,byteLength-buf));try{return[new Uint8Array(buffer,buf,bufLen)]}catch(err){throw console.warn(\"WASI.getiovs -- invalid buffer\",err),new types_1.WASIError(constants_1.WASI_EINVAL)}}const buffers=[];buffers.length=iovsLen;for(let i=0,ptr=iovs;i<iovsLen;i++,ptr+=8){const buf=view.getUint32(ptr,!0);let bufLen=view.getUint32(ptr+4,!0);if(bufLen>byteLength-buf)console.log({buf,bufLen,total_memory:byteLength}),log(\"getiovs: warning -- truncating buffer to fit in memory\"),bufLen=Math.min(bufLen,Math.max(0,byteLength-buf));try{buffers[i]=new Uint8Array(buffer,buf,bufLen)}catch(err){throw console.warn(\"WASI.getiovs -- invalid buffer\",err),new types_1.WASIError(constants_1.WASI_EINVAL)}}return buffers},CHECK_FD=(fd,rights)=>{const stats=stat(this,fd);if(rights!==BigInt(0)&&(stats.rights.base&rights)===BigInt(0))throw new types_1.WASIError(constants_1.WASI_EPERM);return stats},CPUTIME_START=Bun.nanoseconds(),timeOrigin=Math.trunc(performance.timeOrigin*1e6),now=(clockId)=>{switch(clockId){case constants_1.WASI_CLOCK_MONOTONIC:return Bun.nanoseconds();case constants_1.WASI_CLOCK_REALTIME:return Bun.nanoseconds()+timeOrigin;case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:return Bun.nanoseconds()-CPUTIME_START;default:return null}};if(this.wasiImport={args_get:(argv,argvBuf)=>{this.refreshMemory();let coffset=argv,offset=argvBuf;return args.forEach((a)=>{this.view.setUint32(coffset,offset,!0),coffset+=4,offset+=Buffer.from(this.memory.buffer).write(`${a}\\0`,offset)}),constants_1.WASI_ESUCCESS},args_sizes_get:(argc,argvBufSize)=>{this.refreshMemory(),this.view.setUint32(argc,args.length,!0);const size=args.reduce((acc,a)=>acc+Buffer.byteLength(a)+1,0);return this.view.setUint32(argvBufSize,size,!0),constants_1.WASI_ESUCCESS},environ_get:(environ,environBuf)=>{this.refreshMemory();let coffset=environ,offset=environBuf;return Object.entries(this.env).forEach(([key,value])=>{this.view.setUint32(coffset,offset,!0),coffset+=4,offset+=Buffer.from(this.memory.buffer).write(`${key}=${value}\\0`,offset)}),constants_1.WASI_ESUCCESS},environ_sizes_get:(environCount,environBufSize)=>{this.refreshMemory();const envProcessed=Object.entries(this.env).map(([key,value])=>`${key}=${value}\\0`),size=envProcessed.reduce((acc,e)=>acc+Buffer.byteLength(e),0);return this.view.setUint32(environCount,envProcessed.length,!0),this.view.setUint32(environBufSize,size,!0),constants_1.WASI_ESUCCESS},clock_res_get:(clockId,resolution)=>{let res;switch(clockId){case constants_1.WASI_CLOCK_MONOTONIC:case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:{res=BigInt(1);break}case constants_1.WASI_CLOCK_REALTIME:{res=BigInt(1000);break}}if(!res)throw Error(\"invalid clockId\");return this.view.setBigUint64(resolution,res),constants_1.WASI_ESUCCESS},clock_time_get:(clockId,_precision,time)=>{this.refreshMemory();const n=now(clockId);if(n===null)return constants_1.WASI_EINVAL;return this.view.setBigUint64(time,BigInt(n),!0),constants_1.WASI_ESUCCESS},fd_advise:wrap((fd,_offset,_len,_advice)=>{return CHECK_FD(fd,constants_1.WASI_RIGHT_FD_ADVISE),constants_1.WASI_ENOSYS}),fd_allocate:wrap((fd,_offset,_len)=>{return CHECK_FD(fd,constants_1.WASI_RIGHT_FD_ALLOCATE),constants_1.WASI_ENOSYS}),fd_close:wrap((fd)=>{const stats=CHECK_FD(fd,BigInt(0));return fs.closeSync(stats.real),this.FD_MAP.delete(fd),constants_1.WASI_ESUCCESS}),fd_datasync:wrap((fd)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_DATASYNC);return fs.fdatasyncSync(stats.real),constants_1.WASI_ESUCCESS}),fd_fdstat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,BigInt(0));if(this.refreshMemory(),stats.filetype==null)throw Error(\"stats.filetype must be set\");return this.view.setUint8(bufPtr,stats.filetype),this.view.setUint16(bufPtr+2,0,!0),this.view.setUint16(bufPtr+4,0,!0),this.view.setBigUint64(bufPtr+8,BigInt(stats.rights.base),!0),this.view.setBigUint64(bufPtr+8+8,BigInt(stats.rights.inheriting),!0),constants_1.WASI_ESUCCESS}),fd_fdstat_set_flags:wrap((fd,flags)=>{if(CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS),this.wasiImport.sock_fcntlSetFlags(fd,flags)==0)return constants_1.WASI_ESUCCESS;return constants_1.WASI_ENOSYS}),fd_fdstat_set_rights:wrap((fd,fsRightsBase,fsRightsInheriting)=>{const stats=CHECK_FD(fd,BigInt(0));if((stats.rights.base|fsRightsBase)>stats.rights.base)return constants_1.WASI_EPERM;if((stats.rights.inheriting|fsRightsInheriting)>stats.rights.inheriting)return constants_1.WASI_EPERM;return stats.rights.base=fsRightsBase,stats.rights.inheriting=fsRightsInheriting,constants_1.WASI_ESUCCESS}),fd_filestat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_GET),rstats=this.fstatSync(stats.real);if(this.refreshMemory(),this.view.setBigUint64(bufPtr,BigInt(rstats.dev),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,stats.filetype==null)throw Error(\"stats.filetype must be set\");return this.view.setUint8(bufPtr,stats.filetype),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.nlink),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.size),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.atimeMs),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.mtimeMs),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.ctimeMs),!0),constants_1.WASI_ESUCCESS}),fd_filestat_set_size:wrap((fd,stSize)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE);return fs.ftruncateSync(stats.real,Number(stSize)),constants_1.WASI_ESUCCESS}),fd_filestat_set_times:wrap((fd,stAtim,stMtim,fstflags)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_SET_TIMES),rstats=this.fstatSync(stats.real);let{atime:atim,mtime:mtim}=rstats;const n=nsToMs(now(constants_1.WASI_CLOCK_REALTIME)),atimflags=constants_1.WASI_FILESTAT_SET_ATIM|constants_1.WASI_FILESTAT_SET_ATIM_NOW;if((fstflags&atimflags)===atimflags)return constants_1.WASI_EINVAL;const mtimflags=constants_1.WASI_FILESTAT_SET_MTIM|constants_1.WASI_FILESTAT_SET_MTIM_NOW;if((fstflags&mtimflags)===mtimflags)return constants_1.WASI_EINVAL;if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM)===constants_1.WASI_FILESTAT_SET_ATIM)atim=nsToMs(stAtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM_NOW)===constants_1.WASI_FILESTAT_SET_ATIM_NOW)atim=n;if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM)===constants_1.WASI_FILESTAT_SET_MTIM)mtim=nsToMs(stMtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM_NOW)===constants_1.WASI_FILESTAT_SET_MTIM_NOW)mtim=n;return fs.futimesSync(stats.real,new Date(atim),new Date(mtim)),constants_1.WASI_ESUCCESS}),fd_prestat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,BigInt(0));return this.refreshMemory(),this.view.setUint8(bufPtr,constants_1.WASI_PREOPENTYPE_DIR),this.view.setUint32(bufPtr+4,Buffer.byteLength(stats.fakePath\?\?stats.path\?\?\"\"),!0),constants_1.WASI_ESUCCESS}),fd_prestat_dir_name:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,BigInt(0));return this.refreshMemory(),Buffer.from(this.memory.buffer).write(stats.fakePath\?\?stats.path\?\?\"\",pathPtr,pathLen,\"utf8\"),constants_1.WASI_ESUCCESS}),fd_pwrite:wrap((fd,iovs,iovsLen,offset,nwritten)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_SEEK);let written=0;return getiovs(iovs,iovsLen).forEach((iov)=>{let w=0;while(w<iov.byteLength)w+=fs.writeSync(stats.real,iov,w,iov.byteLength-w,Number(offset)+written+w);written+=w}),this.view.setUint32(nwritten,written,!0),constants_1.WASI_ESUCCESS}),fd_write:wrap((fd,iovs,iovsLen,nwritten)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_WRITE),IS_STDOUT=fd==constants_1.WASI_STDOUT_FILENO,IS_STDERR=fd==constants_1.WASI_STDERR_FILENO;let written=0;return getiovs(iovs,iovsLen).forEach((iov)=>{if(iov.byteLength==0)return;if(IS_STDOUT&&this.sendStdout!=null)this.sendStdout(iov),written+=iov.byteLength;else if(IS_STDERR&&this.sendStderr!=null)this.sendStderr(iov),written+=iov.byteLength;else{let w=0;while(w<iov.byteLength){const i=fs.writeSync(stats.real,iov,w,iov.byteLength-w,stats.offset\?Number(stats.offset):null);if(stats.offset)stats.offset+=BigInt(i);w+=i}written+=w}}),this.view.setUint32(nwritten,written,!0),constants_1.WASI_ESUCCESS}),fd_pread:wrap((fd,iovs,iovsLen,offset,nread)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_SEEK);let read=0;outer:for(let iov of getiovs(iovs,iovsLen)){let r=0;while(r<iov.byteLength){const length=iov.byteLength-r,rr=fs.readSync(stats.real,iov,r,iov.byteLength-r,Number(offset)+read+r);if(r+=rr,read+=rr,rr===0||rr<length)break outer}read+=r}return this.view.setUint32(nread,read,!0),constants_1.WASI_ESUCCESS}),fd_read:wrap((fd,iovs,iovsLen,nread)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READ),IS_STDIN=fd==constants_1.WASI_STDIN_FILENO;let read=0;outer:for(let iov of getiovs(iovs,iovsLen)){let r=0;while(r<iov.byteLength){let length=iov.byteLength-r,position=IS_STDIN||stats.offset===void 0\?null:Number(stats.offset),rr=0;if(IS_STDIN)if(this.getStdin!=null){if(this.stdinBuffer==null)this.stdinBuffer=this.getStdin();if(this.stdinBuffer!=null){if(rr=this.stdinBuffer.copy(iov),rr==this.stdinBuffer.length)this.stdinBuffer=void 0;else this.stdinBuffer=this.stdinBuffer.slice(rr);if(rr>0)this.lastStdin=(new Date()).valueOf()}}else{if(this.sleep==null&&!warnedAboutSleep)warnedAboutSleep=!0,console.log(\"(cpu waiting for stdin: please define a way to sleep!) \");try{rr=fs.readSync(stats.real,iov,r,length,position)}catch(_err){}if(rr==0)this.shortPause();else this.lastStdin=(new Date()).valueOf()}else rr=fs.readSync(stats.real,iov,r,length,position);if(stats.filetype==constants_1.WASI_FILETYPE_REGULAR_FILE)stats.offset=(stats.offset\?stats.offset:BigInt(0))+BigInt(rr);if(r+=rr,read+=rr,rr===0||rr<length)break outer}}return this.view.setUint32(nread,read,!0),constants_1.WASI_ESUCCESS}),fd_readdir:wrap((fd,bufPtr,bufLen,cookie,bufusedPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READDIR);this.refreshMemory();const entries=fs.readdirSync(stats.path,{withFileTypes:!0}),startPtr=bufPtr;for(let i=Number(cookie);i<entries.length;i+=1){const entry=entries[i];let nameLength=Buffer.byteLength(entry.name);if(bufPtr-startPtr>bufLen)break;if(this.view.setBigUint64(bufPtr,BigInt(i+1),!0),bufPtr+=8,bufPtr-startPtr>bufLen)break;const rstats=fs.lstatSync(path.resolve(stats.path,entry.name));if(this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,bufPtr-startPtr>bufLen)break;if(this.view.setUint32(bufPtr,nameLength,!0),bufPtr+=4,bufPtr-startPtr>bufLen)break;let filetype;switch(!0){case rstats.isBlockDevice():filetype=constants_1.WASI_FILETYPE_BLOCK_DEVICE;break;case rstats.isCharacterDevice():filetype=constants_1.WASI_FILETYPE_CHARACTER_DEVICE;break;case rstats.isDirectory():filetype=constants_1.WASI_FILETYPE_DIRECTORY;break;case rstats.isFIFO():filetype=constants_1.WASI_FILETYPE_SOCKET_STREAM;break;case rstats.isFile():filetype=constants_1.WASI_FILETYPE_REGULAR_FILE;break;case rstats.isSocket():filetype=constants_1.WASI_FILETYPE_SOCKET_STREAM;break;case rstats.isSymbolicLink():filetype=constants_1.WASI_FILETYPE_SYMBOLIC_LINK;break;default:filetype=constants_1.WASI_FILETYPE_UNKNOWN;break}if(this.view.setUint8(bufPtr,filetype),bufPtr+=1,bufPtr+=3,bufPtr+nameLength>=startPtr+bufLen)break;Buffer.from(this.memory.buffer).write(entry.name,bufPtr),bufPtr+=nameLength}const bufused=bufPtr-startPtr;return this.view.setUint32(bufusedPtr,Math.min(bufused,bufLen),!0),constants_1.WASI_ESUCCESS}),fd_renumber:wrap((from,to)=>{return CHECK_FD(from,BigInt(0)),CHECK_FD(to,BigInt(0)),fs.closeSync(this.FD_MAP.get(from).real),this.FD_MAP.set(from,this.FD_MAP.get(to)),this.FD_MAP.delete(to),constants_1.WASI_ESUCCESS}),fd_seek:wrap((fd,offset,whence,newOffsetPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_SEEK);switch(this.refreshMemory(),whence){case constants_1.WASI_WHENCE_CUR:stats.offset=(stats.offset\?stats.offset:BigInt(0))+BigInt(offset);break;case constants_1.WASI_WHENCE_END:const{size}=this.fstatSync(stats.real);stats.offset=BigInt(size)+BigInt(offset);break;case constants_1.WASI_WHENCE_SET:stats.offset=BigInt(offset);break}if(stats.offset==null)throw Error(\"stats.offset must be defined\");return this.view.setBigUint64(newOffsetPtr,stats.offset,!0),constants_1.WASI_ESUCCESS}),fd_tell:wrap((fd,offsetPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_TELL);if(this.refreshMemory(),!stats.offset)stats.offset=BigInt(0);return this.view.setBigUint64(offsetPtr,stats.offset,!0),constants_1.WASI_ESUCCESS}),fd_sync:wrap((fd)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_SYNC);return fs.fsyncSync(stats.real),constants_1.WASI_ESUCCESS}),path_create_directory:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_CREATE_DIRECTORY);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.mkdirSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),path_filestat_get:wrap((fd,flags,pathPtr,pathLen,bufPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_FILESTAT_GET);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();let rstats;if(flags)rstats=fs.statSync(path.resolve(stats.path,p));else rstats=fs.lstatSync(path.resolve(stats.path,p));return this.view.setBigUint64(bufPtr,BigInt(rstats.dev),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,this.view.setUint8(bufPtr,translateFileAttributes(this,void 0,rstats).filetype),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.nlink),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.size),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.atime.getTime()*1e6),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.mtime.getTime()*1e6),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ctime.getTime()*1e6),!0),constants_1.WASI_ESUCCESS}),path_filestat_set_times:wrap((fd,_dirflags,pathPtr,pathLen,stAtim,stMtim,fstflags)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_FILESTAT_SET_TIMES);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const rstats=this.fstatSync(stats.real);let{atime:atim,mtime:mtim}=rstats;const n=nsToMs(now(constants_1.WASI_CLOCK_REALTIME)),atimflags=constants_1.WASI_FILESTAT_SET_ATIM|constants_1.WASI_FILESTAT_SET_ATIM_NOW;if((fstflags&atimflags)===atimflags)return constants_1.WASI_EINVAL;const mtimflags=constants_1.WASI_FILESTAT_SET_MTIM|constants_1.WASI_FILESTAT_SET_MTIM_NOW;if((fstflags&mtimflags)===mtimflags)return constants_1.WASI_EINVAL;if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM)===constants_1.WASI_FILESTAT_SET_ATIM)atim=nsToMs(stAtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM_NOW)===constants_1.WASI_FILESTAT_SET_ATIM_NOW)atim=n;if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM)===constants_1.WASI_FILESTAT_SET_MTIM)mtim=nsToMs(stMtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM_NOW)===constants_1.WASI_FILESTAT_SET_MTIM_NOW)mtim=n;const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.utimesSync(path.resolve(stats.path,p),new Date(atim),new Date(mtim)),constants_1.WASI_ESUCCESS}),path_link:wrap((oldFd,_oldFlags,oldPath,oldPathLen,newFd,newPath,newPathLen)=>{const ostats=CHECK_FD(oldFd,constants_1.WASI_RIGHT_PATH_LINK_SOURCE),nstats=CHECK_FD(newFd,constants_1.WASI_RIGHT_PATH_LINK_TARGET);if(!ostats.path||!nstats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.linkSync(path.resolve(ostats.path,op),path.resolve(nstats.path,np)),constants_1.WASI_ESUCCESS}),path_open:wrap((dirfd,_dirflags,pathPtr,pathLen,oflags,fsRightsBase,fsRightsInheriting,fsFlags,fdPtr)=>{try{const stats=CHECK_FD(dirfd,constants_1.WASI_RIGHT_PATH_OPEN);fsRightsBase=BigInt(fsRightsBase),fsRightsInheriting=BigInt(fsRightsInheriting);const read=(fsRightsBase&(constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_READDIR))!==BigInt(0),write=(fsRightsBase&(constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_ALLOCATE|constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE))!==BigInt(0);let noflags;if(write&&read)noflags=nodeFsConstants.O_RDWR;else if(read)noflags=nodeFsConstants.O_RDONLY;else if(write)noflags=nodeFsConstants.O_WRONLY;let neededBase=fsRightsBase|constants_1.WASI_RIGHT_PATH_OPEN,neededInheriting=fsRightsBase|fsRightsInheriting;if((oflags&constants_1.WASI_O_CREAT)!==0)noflags|=nodeFsConstants.O_CREAT,neededBase|=constants_1.WASI_RIGHT_PATH_CREATE_FILE;if((oflags&constants_1.WASI_O_DIRECTORY)!==0)noflags|=nodeFsConstants.O_DIRECTORY;if((oflags&constants_1.WASI_O_EXCL)!==0)noflags|=nodeFsConstants.O_EXCL;if((oflags&constants_1.WASI_O_TRUNC)!==0)noflags|=nodeFsConstants.O_TRUNC,neededBase|=constants_1.WASI_RIGHT_PATH_FILESTAT_SET_SIZE;if((fsFlags&constants_1.WASI_FDFLAG_APPEND)!==0)noflags|=nodeFsConstants.O_APPEND;if((fsFlags&constants_1.WASI_FDFLAG_DSYNC)!==0){if(nodeFsConstants.O_DSYNC)noflags|=nodeFsConstants.O_DSYNC;else noflags|=nodeFsConstants.O_SYNC;neededInheriting|=constants_1.WASI_RIGHT_FD_DATASYNC}if((fsFlags&constants_1.WASI_FDFLAG_NONBLOCK)!==0)noflags|=nodeFsConstants.O_NONBLOCK;if((fsFlags&constants_1.WASI_FDFLAG_RSYNC)!==0){if(nodeFsConstants.O_RSYNC)noflags|=nodeFsConstants.O_RSYNC;else noflags|=nodeFsConstants.O_SYNC;neededInheriting|=constants_1.WASI_RIGHT_FD_SYNC}if((fsFlags&constants_1.WASI_FDFLAG_SYNC)!==0)noflags|=nodeFsConstants.O_SYNC,neededInheriting|=constants_1.WASI_RIGHT_FD_SYNC;if(write&&(noflags&(nodeFsConstants.O_APPEND|nodeFsConstants.O_TRUNC))===0)neededInheriting|=constants_1.WASI_RIGHT_FD_SEEK;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();if(p==\"dev/tty\")return this.view.setUint32(fdPtr,constants_1.WASI_STDIN_FILENO,!0),constants_1.WASI_ESUCCESS;if(logOpen(\"path_open\",p),p.startsWith(\"proc/\"))throw new types_1.WASIError(constants_1.WASI_EBADF);const fullUnresolved=path.resolve(p);let full;try{full=fs.realpathSync(fullUnresolved)}catch(e){if(e\?.code===\"ENOENT\")full=fullUnresolved;else throw e}let isDirectory;if(write)try{isDirectory=fs.statSync(full).isDirectory()}catch(_err){}let realfd;if(!write&&isDirectory)realfd=fs.openSync(full,nodeFsConstants.O_RDONLY);else realfd=fs.openSync(full,noflags);const newfd=this.getUnusedFileDescriptor();this.FD_MAP.set(newfd,{real:realfd,filetype:void 0,rights:{base:neededBase,inheriting:neededInheriting},path:full}),stat(this,newfd),this.view.setUint32(fdPtr,newfd,!0)}catch(e){console.error(e)}return constants_1.WASI_ESUCCESS}),path_readlink:wrap((fd,pathPtr,pathLen,buf,bufLen,bufused)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_READLINK);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString(),full=path.resolve(stats.path,p),r=fs.readlinkSync(full),used=Buffer.from(this.memory.buffer).write(r,buf,bufLen);return this.view.setUint32(bufused,used,!0),constants_1.WASI_ESUCCESS}),path_remove_directory:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_REMOVE_DIRECTORY);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.rmdirSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),path_rename:wrap((oldFd,oldPath,oldPathLen,newFd,newPath,newPathLen)=>{const ostats=CHECK_FD(oldFd,constants_1.WASI_RIGHT_PATH_RENAME_SOURCE),nstats=CHECK_FD(newFd,constants_1.WASI_RIGHT_PATH_RENAME_TARGET);if(!ostats.path||!nstats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.renameSync(path.resolve(ostats.path,op),path.resolve(nstats.path,np)),constants_1.WASI_ESUCCESS}),path_symlink:wrap((oldPath,oldPathLen,fd,newPath,newPathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_SYMLINK);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.symlinkSync(op,path.resolve(stats.path,np)),constants_1.WASI_ESUCCESS}),path_unlink_file:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_UNLINK_FILE);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.unlinkSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),poll_oneoff:(sin,sout,nsubscriptions,neventsPtr)=>{let nevents=0,name=\"\",waitTimeNs=BigInt(0),fd=-1,fd_type=\"read\",fd_timeout_ms=0;const startNs=BigInt(bindings2.hrtime());this.refreshMemory();let last_sin=sin;for(let i=0;i<nsubscriptions;i+=1){const userdata=this.view.getBigUint64(sin,!0);sin+=8;const type=this.view.getUint8(sin);if(sin+=1,sin+=7,log.enabled){if(type==constants_1.WASI_EVENTTYPE_CLOCK)name=\"poll_oneoff (type=WASI_EVENTTYPE_CLOCK): \";else if(type==constants_1.WASI_EVENTTYPE_FD_READ)name=\"poll_oneoff (type=WASI_EVENTTYPE_FD_READ): \";else name=\"poll_oneoff (type=WASI_EVENTTYPE_FD_WRITE): \";log(name)}switch(type){case constants_1.WASI_EVENTTYPE_CLOCK:{const clockid=this.view.getUint32(sin,!0);sin+=4,sin+=4;const timeout=this.view.getBigUint64(sin,!0);sin+=8,sin+=8;const subclockflags=this.view.getUint16(sin,!0);sin+=2,sin+=6;const absolute=subclockflags===1;if(log.enabled)log(name,{clockid,timeout,absolute});if(!absolute)fd_timeout_ms=timeout/BigInt(1e6);let e=constants_1.WASI_ESUCCESS;const t=now(clockid);if(t==null)e=constants_1.WASI_EINVAL;else{const tNS=BigInt(t),waitNs=(absolute\?timeout:tNS+timeout)-tNS;if(waitNs>waitTimeNs)waitTimeNs=waitNs}this.view.setBigUint64(sout,userdata,!0),sout+=8,this.view.setUint16(sout,e,!0),sout+=2,this.view.setUint8(sout,constants_1.WASI_EVENTTYPE_CLOCK),sout+=1,sout+=5,nevents+=1;break}case constants_1.WASI_EVENTTYPE_FD_READ:case constants_1.WASI_EVENTTYPE_FD_WRITE:{if(fd=this.view.getUint32(sin,!0),fd_type=type==constants_1.WASI_EVENTTYPE_FD_READ\?\"read\":\"write\",sin+=4,log(name,\"fd =\",fd),sin+=28,this.view.setBigUint64(sout,userdata,!0),sout+=8,this.view.setUint16(sout,constants_1.WASI_ENOSYS,!0),sout+=2,this.view.setUint8(sout,type),sout+=1,sout+=5,nevents+=1,fd==constants_1.WASI_STDIN_FILENO&&constants_1.WASI_EVENTTYPE_FD_READ==type)this.shortPause();break}default:return constants_1.WASI_EINVAL}if(sin-last_sin!=48)console.warn(\"*** BUG in wasi-js in poll_oneoff \",{i,sin,last_sin,diff:sin-last_sin});last_sin=sin}if(this.view.setUint32(neventsPtr,nevents,!0),nevents==2&&fd>=0){const r=this.wasiImport.sock_pollSocket(fd,fd_type,fd_timeout_ms);if(r!=constants_1.WASI_ENOSYS)return r}if(waitTimeNs>0){if(waitTimeNs-=Bun.nanoseconds()-timeOrigin,waitTimeNs>=1e6){if(this.sleep==null&&!warnedAboutSleep)warnedAboutSleep=!0,console.log(\"(100% cpu burning waiting for stdin: please define a way to sleep!) \");if(this.sleep!=null){const ms=nsToMs(waitTimeNs);this.sleep(ms)}else{const end=BigInt(bindings2.hrtime())+waitTimeNs;while(BigInt(bindings2.hrtime())<end);}}}return constants_1.WASI_ESUCCESS},proc_exit:(rval)=>{return bindings2.exit(rval),constants_1.WASI_ESUCCESS},proc_raise:(sig)=>{if(!(sig in constants_1.SIGNAL_MAP))return constants_1.WASI_EINVAL;return bindings2.kill(constants_1.SIGNAL_MAP[sig]),constants_1.WASI_ESUCCESS},random_get:(bufPtr,bufLen)=>{return this.refreshMemory(),crypto.getRandomValues(this.memory.buffer,bufPtr,bufLen),bufLen},sched_yield(){return constants_1.WASI_ESUCCESS},sock_recv(){return constants_1.WASI_ENOSYS},sock_send(){return constants_1.WASI_ENOSYS},sock_shutdown(){return constants_1.WASI_ENOSYS},sock_fcntlSetFlags(_fd,_flags){return constants_1.WASI_ENOSYS},sock_pollSocket(_fd,_eventtype,_timeout_ms){return constants_1.WASI_ENOSYS}},log.enabled)Object.keys(this.wasiImport).forEach((key)=>{const prevImport=this.wasiImport[key];this.wasiImport[key]=function(...args2){log(key,args2);try{let result=prevImport(...args2);return log(\"result\",result),result}catch(e){throw log(\"error: \",e),e}}})}getState(){return{env:this.env,FD_MAP:this.FD_MAP,bindings}}setState(state){this.env=state.env,this.FD_MAP=state.FD_MAP,bindings=state.bindings}fstatSync(real_fd){if(real_fd<=2)try{return fs.fstatSync(real_fd)}catch(_){const now=new Date;return{dev:0,mode:8592,nlink:1,uid:0,gid:0,rdev:0,blksize:65536,ino:0,size:0,blocks:0,atimeMs:now.valueOf(),mtimeMs:now.valueOf(),ctimeMs:now.valueOf(),birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date(0)}}return fs.fstatSync(real_fd)}shortPause(){if(this.sleep==null)return;if((new Date()).valueOf()-this.lastStdin>2000)this.sleep(50)}getUnusedFileDescriptor(start=3){let fd=start;while(this.FD_MAP.has(fd))fd+=1;if(fd>SC_OPEN_MAX)throw Error(\"no available file descriptors\");return fd}refreshMemory(){if(!this.view||this.view.buffer.byteLength===0)this.view=new DataView(this.memory.buffer)}setMemory(memory){this.memory=memory}start(instance,memory){const exports2=instance.exports;if(exports2===null||typeof exports2!==\"object\")throw new Error(`instance.exports must be an Object. Received ${exports2}.`);if(memory==null){if(memory=exports2.memory,!(memory instanceof WebAssembly.Memory))throw new Error(`instance.exports.memory must be a WebAssembly.Memory. Recceived ${memory}.`)}if(this.setMemory(memory),exports2._start)exports2._start()}getImports(module2){let namespace=null;const imports=WebAssembly.Module.imports(module2);for(let imp of imports){if(imp.kind!==\"function\")continue;if(!imp.module.startsWith(\"wasi_\"))continue;namespace=imp.module;break}switch(namespace){case\"wasi_unstable\":return{wasi_unstable:this.wasiImport};case\"wasi_snapshot_preview1\":return{wasi_snapshot_preview1:this.wasiImport};default:throw new Error(\"No WASI namespace found. Only wasi_unstable and wasi_snapshot_preview1 are supported.\\n\\nList of imports:\\n\\n\"+imports.map(({name,kind,module})=>`${module}:${name} (${kind})`).join(\"\\n\")+\"\\n\")}}initWasiFdInfo(){if(this.env.WASI_FD_INFO!=null){const fdInfo=JSON.parse(this.env.WASI_FD_INFO);for(let wasi_fd in fdInfo){console.log(wasi_fd);const fd=parseInt(wasi_fd);if(this.FD_MAP.has(fd))continue;const real=fdInfo[wasi_fd];try{this.fstatSync(real)}catch(_err){console.log(\"discarding \",{wasi_fd,real});continue}const file={real,filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rights:{base:STDIN_DEFAULT_RIGHTS,inheriting:BigInt(0)}};this.FD_MAP.set(fd,file)}console.log(\"after initWasiFdInfo: \",this.FD_MAP),console.log(\"fdInfo = \",fdInfo)}else console.log(\"no WASI_FD_INFO\")}};exports.default=WASI}});return{WASI:require_wasi().default}})\n"_s;
-static constexpr ASCIILiteral NodeWorkerThreadsCode = "(function (){\"use strict\";return globalThis[globalThis.Symbol.for('Bun.lazy')](\"masqueradesAsUndefined\")})\n"_s;
+static constexpr ASCIILiteral NodeWorkerThreadsCode = "(function (){\"use strict\";var $;const{MessageChannel,BroadcastChannel}=globalThis;function injectFakeEmitter(Class){function messageEventHandler(event){return event.data}function errorEventHandler(event){return event.error}const wrappedListener=Symbol(\"wrappedListener\");function wrapped(run,listener){const callback=function(event){return listener(run(event))};return listener[wrappedListener]=callback,callback}function functionForEventType(event,listener){switch(event){case\"error\":case\"messageerror\":return wrapped(errorEventHandler,listener);default:return wrapped(messageEventHandler,listener)}}Class.prototype.on=function(event,listener){return this.addEventListener(event,functionForEventType(event,listener)),this},Class.prototype.off=function(event,listener){if(listener)this.removeEventListener(event,listener[wrappedListener]||listener);else this.removeEventListener(event);return this},Class.prototype.once=function(event,listener){return this.addEventListener(event,functionForEventType(event,listener),{once:!0}),this};function EventClass(eventName){if(eventName===\"error\"||eventName===\"messageerror\")return ErrorEvent;return MessageEvent}Class.prototype.emit=function(event,...args){return this.dispatchEvent(new(EventClass(event))(event,...args)),this},Class.prototype.prependListener=Class.prototype.on,Class.prototype.prependOnceListener=Class.prototype.once}const _MessagePort=globalThis.MessagePort;injectFakeEmitter(_MessagePort);const MessagePort=_MessagePort,EventEmitter=@getInternalField(@internalModuleRegistry,15)||@createInternalModuleById(15),isMainThread=Bun.isMainThread;let[_workerData,_threadId,_receiveMessageOnPort]=globalThis[globalThis.Symbol.for('Bun.lazy')](\"worker_threads\"),parentPort=isMainThread\?null:fakeParentPort(),resourceLimits={},workerData=_workerData,threadId=_threadId;function receiveMessageOnPort(port){let res=_receiveMessageOnPort(port);if(!res)return;return{message:res}}function fakeParentPort(){const fake=Object.create(MessagePort.prototype);return Object.defineProperty(fake,\"onmessage\",{get(){return self.onmessage},set(value){self.onmessage=value}}),Object.defineProperty(fake,\"onmessageerror\",{get(){return self.onmessageerror},set(value){}}),Object.defineProperty(fake,\"postMessage\",{value(...args){return self.postMessage(...args)}}),Object.defineProperty(fake,\"close\",{value(){return process.exit(0)}}),Object.defineProperty(fake,\"start\",{value(){}}),Object.defineProperty(fake,\"unref\",{value(){}}),Object.defineProperty(fake,\"ref\",{value(){}}),Object.defineProperty(fake,\"hasRef\",{value(){return!1}}),Object.defineProperty(fake,\"setEncoding\",{value(){}}),Object.defineProperty(fake,\"addEventListener\",{value:self.addEventListener.bind(self)}),Object.defineProperty(fake,\"removeEventListener\",{value:self.removeEventListener.bind(self)}),fake}function getEnvironmentData(){return process.env}function setEnvironmentData(env){process.env=env}function markAsUntransferable(){throw new Error(\"markAsUntransferable is not implemented\")}function moveMessagePortToContext(){throw new Error(\"moveMessagePortToContext is not implemented\")}const SHARE_ENV=Symbol(\"nodejs.worker_threads.SHARE_ENV\"),WebWorker=globalThis.Worker;class Worker extends EventEmitter{#worker;#performance;#onExitPromise=void 0;constructor(filename,options={}){super();this.#worker=new WebWorker(filename,{...options}),this.#worker.addEventListener(\"close\",this.#onClose.bind(this)),this.#worker.addEventListener(\"error\",this.#onError.bind(this)),this.#worker.addEventListener(\"message\",this.#onMessage.bind(this)),this.#worker.addEventListener(\"messageerror\",this.#onMessageError.bind(this)),this.#worker.addEventListener(\"open\",this.#onOpen.bind(this))}ref(){this.#worker.ref()}unref(){this.#worker.unref()}get stdin(){return null}get stdout(){return null}get stderr(){return null}get performance(){return this.#performance\?\?={eventLoopUtilization(){return{}}}}terminate(){if(this.#onExitPromise)return this.#onExitPromise;const{resolve,promise}=Promise.withResolvers();return this.#worker.addEventListener(\"close\",(event)=>{resolve(0)},{once:!0}),this.#onExitPromise=promise}postMessage(...args){return this.#worker.postMessage(...args)}#onClose(){this.emit(\"exit\")}#onError(event){this.emit(\"error\",event)}#onMessage(event){this.emit(\"message\",event.data)}#onMessageError(event){this.emit(\"messageerror\",event.error||event)}#onOpen(){this.emit(\"online\")}getHeapSnapshot(){return{}}}return $={Worker,workerData,parentPort,resourceLimits,isMainThread,MessageChannel,BroadcastChannel,MessagePort,getEnvironmentData,setEnvironmentData,getHeapSnapshot(){return{}},markAsUntransferable,moveMessagePortToContext,receiveMessageOnPort,SHARE_ENV,threadId},$})\n"_s;
static constexpr ASCIILiteral NodeZlibCode = "(function (){\"use strict\";const assert=@getInternalField(@internalModuleRegistry,3)||@createInternalModuleById(3),BufferModule=@requireNativeModule(\"node:buffer\"),StreamModule=@getInternalField(@internalModuleRegistry,34)||@createInternalModuleById(34),Util=@getInternalField(@internalModuleRegistry,42)||@createInternalModuleById(42);var __getOwnPropNames=Object.getOwnPropertyNames,__commonJS=(cb,mod)=>function __require(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_zstream=__commonJS({\"node_modules/pako/lib/zlib/zstream.js\"(exports,module2){function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}module2.exports=ZStream}}),require_common=__commonJS({\"node_modules/pako/lib/utils/common.js\"(exports){var TYPED_OK=typeof Uint8Array!==\"undefined\"&&typeof Uint16Array!==\"undefined\"&&typeof Int32Array!==\"undefined\";function _has(obj,key){return Object.prototype.hasOwnProperty.call(obj,key)}exports.assign=function(obj){var sources=Array.prototype.slice.call(arguments,1);while(sources.length){var source=sources.shift();if(!source)continue;if(typeof source!==\"object\")@throwTypeError(source+\"must be non-object\");for(var p in source)if(_has(source,p))obj[p]=source[p]}return obj},exports.shrinkBuf=function(buf,size){if(buf.length===size)return buf;if(buf.subarray)return buf.subarray(0,size);return buf.length=size,buf};var fnTyped={arraySet:function(dest,src,src_offs,len,dest_offs){if(src.subarray&&dest.subarray){dest.set(src.subarray(src_offs,src_offs+len),dest_offs);return}for(var i=0;i<len;i++)dest[dest_offs+i]=src[src_offs+i]},flattenChunks:function(chunks){var i,l,len,pos,chunk,result;len=0;for(i=0,l=chunks.length;i<l;i++)len+=chunks[i].length;result=new Uint8Array(len),pos=0;for(i=0,l=chunks.length;i<l;i++)chunk=chunks[i],result.set(chunk,pos),pos+=chunk.length;return result}},fnUntyped={arraySet:function(dest,src,src_offs,len,dest_offs){for(var i=0;i<len;i++)dest[dest_offs+i]=src[src_offs+i]},flattenChunks:function(chunks){return[].concat.apply([],chunks)}};exports.setTyped=function(on){if(on)exports.Buf8=Uint8Array,exports.Buf16=Uint16Array,exports.Buf32=Int32Array,exports.assign(exports,fnTyped);else exports.Buf8=Array,exports.Buf16=Array,exports.Buf32=Array,exports.assign(exports,fnUntyped)},exports.setTyped(TYPED_OK)}}),require_trees=__commonJS({\"node_modules/pako/lib/zlib/trees.js\"(exports){var utils=require_common(),Z_FIXED=4,Z_BINARY=0,Z_TEXT=1,Z_UNKNOWN=2;function zero(buf){var len=buf.length;while(--len>=0)buf[len]=0}var STORED_BLOCK=0,STATIC_TREES=1,DYN_TREES=2,MIN_MATCH=3,MAX_MATCH=258,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,Buf_size=16,MAX_BL_BITS=7,END_BLOCK=256,REP_3_6=16,REPZ_3_10=17,REPZ_11_138=18,extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],DIST_CODE_LEN=512,static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);function StaticTreeDesc(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree,this.extra_bits=extra_bits,this.extra_base=extra_base,this.elems=elems,this.max_length=max_length,this.has_stree=static_tree&&static_tree.length}var static_l_desc,static_d_desc,static_bl_desc;function TreeDesc(dyn_tree,stat_desc){this.dyn_tree=dyn_tree,this.max_code=0,this.stat_desc=stat_desc}function d_code(dist){return dist<256\?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255,s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length)s.bi_buf|=value<<s.bi_valid&65535,put_short(s,s.bi_buf),s.bi_buf=value>>Buf_size-s.bi_valid,s.bi_valid+=length-Buf_size;else s.bi_buf|=value<<s.bi_valid&65535,s.bi_valid+=length}function send_code(s,c,tree){send_bits(s,tree[c*2],tree[c*2+1])}function bi_reverse(code,len){var res=0;do res|=code&1,code>>>=1,res<<=1;while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16)put_short(s,s.bi_buf),s.bi_buf=0,s.bi_valid=0;else if(s.bi_valid>=8)s.pending_buf[s.pending++]=s.bi_buf&255,s.bi_buf>>=8,s.bi_valid-=8}function gen_bitlen(s,desc){var{dyn_tree:tree,max_code}=desc,stree=desc.stat_desc.static_tree,has_stree=desc.stat_desc.has_stree,extra=desc.stat_desc.extra_bits,base=desc.stat_desc.extra_base,max_length=desc.stat_desc.max_length,h,n,m,bits,xbits,f,overflow=0;for(bits=0;bits<=MAX_BITS;bits++)s.bl_count[bits]=0;tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;h<HEAP_SIZE;h++){if(n=s.heap[h],bits=tree[tree[n*2+1]*2+1]+1,bits>max_length)bits=max_length,overflow++;if(tree[n*2+1]=bits,n>max_code)continue;if(s.bl_count[bits]++,xbits=0,n>=base)xbits=extra[n-base];if(f=tree[n*2],s.opt_len+=f*(bits+xbits),has_stree)s.static_len+=f*(stree[n*2+1]+xbits)}if(overflow===0)return;do{bits=max_length-1;while(s.bl_count[bits]===0)bits--;s.bl_count[bits]--,s.bl_count[bits+1]+=2,s.bl_count[max_length]--,overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){if(m=s.heap[--h],m>max_code)continue;if(tree[m*2+1]!==bits)s.opt_len+=(bits-tree[m*2+1])*tree[m*2],tree[m*2+1]=bits;n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1),code=0,bits,n;for(bits=1;bits<=MAX_BITS;bits++)next_code[bits]=code=code+bl_count[bits-1]<<1;for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0)continue;tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n,bits,length,code,dist,bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code<LENGTH_CODES-1;code++){base_length[code]=length;for(n=0;n<1<<extra_lbits[code];n++)_length_code[length++]=code}_length_code[length-1]=code,dist=0;for(code=0;code<16;code++){base_dist[code]=dist;for(n=0;n<1<<extra_dbits[code];n++)_dist_code[dist++]=code}dist>>=7;for(;code<D_CODES;code++){base_dist[code]=dist<<7;for(n=0;n<1<<extra_dbits[code]-7;n++)_dist_code[256+dist++]=code}for(bits=0;bits<=MAX_BITS;bits++)bl_count[bits]=0;n=0;while(n<=143)static_ltree[n*2+1]=8,n++,bl_count[8]++;while(n<=255)static_ltree[n*2+1]=9,n++,bl_count[9]++;while(n<=279)static_ltree[n*2+1]=7,n++,bl_count[7]++;while(n<=287)static_ltree[n*2+1]=8,n++,bl_count[8]++;gen_codes(static_ltree,L_CODES+1,bl_count);for(n=0;n<D_CODES;n++)static_dtree[n*2+1]=5,static_dtree[n*2]=bi_reverse(n,5);static_l_desc=new StaticTreeDesc(static_ltree,extra_lbits,LITERALS+1,L_CODES,MAX_BITS),static_d_desc=new StaticTreeDesc(static_dtree,extra_dbits,0,D_CODES,MAX_BITS),static_bl_desc=new StaticTreeDesc(new Array(0),extra_blbits,0,BL_CODES,MAX_BL_BITS)}function init_block(s){var n;for(n=0;n<L_CODES;n++)s.dyn_ltree[n*2]=0;for(n=0;n<D_CODES;n++)s.dyn_dtree[n*2]=0;for(n=0;n<BL_CODES;n++)s.bl_tree[n*2]=0;s.dyn_ltree[END_BLOCK*2]=1,s.opt_len=s.static_len=0,s.last_lit=s.matches=0}function bi_windup(s){if(s.bi_valid>8)put_short(s,s.bi_buf);else if(s.bi_valid>0)s.pending_buf[s.pending++]=s.bi_buf;s.bi_buf=0,s.bi_valid=0}function copy_block(s,buf,len,header){if(bi_windup(s),header)put_short(s,len),put_short(s,~len);utils.arraySet(s.pending_buf,s.window,buf,len,s.pending),s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2,_m2=m*2;return tree[_n2]<tree[_m2]||tree[_n2]===tree[_m2]&&depth[n]<=depth[m]}function pqdownheap(s,tree,k){var v=s.heap[k],j=k<<1;while(j<=s.heap_len){if(j<s.heap_len&&smaller(tree,s.heap[j+1],s.heap[j],s.depth))j++;if(smaller(tree,v,s.heap[j],s.depth))break;s.heap[k]=s.heap[j],k=j,j<<=1}s.heap[k]=v}function compress_block(s,ltree,dtree){var dist,lc,lx=0,code,extra;if(s.last_lit!==0)do if(dist=s.pending_buf[s.d_buf+lx*2]<<8|s.pending_buf[s.d_buf+lx*2+1],lc=s.pending_buf[s.l_buf+lx],lx++,dist===0)send_code(s,lc,ltree);else{if(code=_length_code[lc],send_code(s,code+LITERALS+1,ltree),extra=extra_lbits[code],extra!==0)lc-=base_length[code],send_bits(s,lc,extra);if(dist--,code=d_code(dist),send_code(s,code,dtree),extra=extra_dbits[code],extra!==0)dist-=base_dist[code],send_bits(s,dist,extra)}while(lx<s.last_lit);send_code(s,END_BLOCK,ltree)}function build_tree(s,desc){var tree=desc.dyn_tree,stree=desc.stat_desc.static_tree,has_stree=desc.stat_desc.has_stree,elems=desc.stat_desc.elems,n,m,max_code=-1,node;s.heap_len=0,s.heap_max=HEAP_SIZE;for(n=0;n<elems;n++)if(tree[n*2]!==0)s.heap[++s.heap_len]=max_code=n,s.depth[n]=0;else tree[n*2+1]=0;while(s.heap_len<2)if(node=s.heap[++s.heap_len]=max_code<2\?++max_code:0,tree[node*2]=1,s.depth[node]=0,s.opt_len--,has_stree)s.static_len-=stree[node*2+1];desc.max_code=max_code;for(n=s.heap_len>>1;n>=1;n--)pqdownheap(s,tree,n);node=elems;do n=s.heap[1],s.heap[1]=s.heap[s.heap_len--],pqdownheap(s,tree,1),m=s.heap[1],s.heap[--s.heap_max]=n,s.heap[--s.heap_max]=m,tree[node*2]=tree[n*2]+tree[m*2],s.depth[node]=(s.depth[n]>=s.depth[m]\?s.depth[n]:s.depth[m])+1,tree[n*2+1]=tree[m*2+1]=node,s.heap[1]=node++,pqdownheap(s,tree,1);while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1],gen_bitlen(s,desc),gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n,prevlen=-1,curlen,nextlen=tree[1],count=0,max_count=7,min_count=4;if(nextlen===0)max_count=138,min_count=3;tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){if(curlen=nextlen,nextlen=tree[(n+1)*2+1],++count<max_count&&curlen===nextlen)continue;else if(count<min_count)s.bl_tree[curlen*2]+=count;else if(curlen!==0){if(curlen!==prevlen)s.bl_tree[curlen*2]++;s.bl_tree[REP_3_6*2]++}else if(count<=10)s.bl_tree[REPZ_3_10*2]++;else s.bl_tree[REPZ_11_138*2]++;if(count=0,prevlen=curlen,nextlen===0)max_count=138,min_count=3;else if(curlen===nextlen)max_count=6,min_count=3;else max_count=7,min_count=4}}function send_tree(s,tree,max_code){var n,prevlen=-1,curlen,nextlen=tree[1],count=0,max_count=7,min_count=4;if(nextlen===0)max_count=138,min_count=3;for(n=0;n<=max_code;n++){if(curlen=nextlen,nextlen=tree[(n+1)*2+1],++count<max_count&&curlen===nextlen)continue;else if(count<min_count)do send_code(s,curlen,s.bl_tree);while(--count!==0);else if(curlen!==0){if(curlen!==prevlen)send_code(s,curlen,s.bl_tree),count--;send_code(s,REP_3_6,s.bl_tree),send_bits(s,count-3,2)}else if(count<=10)send_code(s,REPZ_3_10,s.bl_tree),send_bits(s,count-3,3);else send_code(s,REPZ_11_138,s.bl_tree),send_bits(s,count-11,7);if(count=0,prevlen=curlen,nextlen===0)max_count=138,min_count=3;else if(curlen===nextlen)max_count=6,min_count=3;else max_count=7,min_count=4}}function build_bl_tree(s){var max_blindex;scan_tree(s,s.dyn_ltree,s.l_desc.max_code),scan_tree(s,s.dyn_dtree,s.d_desc.max_code),build_tree(s,s.bl_desc);for(max_blindex=BL_CODES-1;max_blindex>=3;max_blindex--)if(s.bl_tree[bl_order[max_blindex]*2+1]!==0)break;return s.opt_len+=3*(max_blindex+1)+5+5+4,max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5),send_bits(s,dcodes-1,5),send_bits(s,blcodes-4,4);for(rank=0;rank<blcodes;rank++)send_bits(s,s.bl_tree[bl_order[rank]*2+1],3);send_tree(s,s.dyn_ltree,lcodes-1),send_tree(s,s.dyn_dtree,dcodes-1)}function detect_data_type(s){var black_mask=4093624447,n;for(n=0;n<=31;n++,black_mask>>>=1)if(black_mask&1&&s.dyn_ltree[n*2]!==0)return Z_BINARY;if(s.dyn_ltree[18]!==0||s.dyn_ltree[20]!==0||s.dyn_ltree[26]!==0)return Z_TEXT;for(n=32;n<LITERALS;n++)if(s.dyn_ltree[n*2]!==0)return Z_TEXT;return Z_BINARY}var static_init_done=!1;function _tr_init(s){if(!static_init_done)tr_static_init(),static_init_done=!0;s.l_desc=new TreeDesc(s.dyn_ltree,static_l_desc),s.d_desc=new TreeDesc(s.dyn_dtree,static_d_desc),s.bl_desc=new TreeDesc(s.bl_tree,static_bl_desc),s.bi_buf=0,s.bi_valid=0,init_block(s)}function _tr_stored_block(s,buf,stored_len,last){send_bits(s,(STORED_BLOCK<<1)+(last\?1:0),3),copy_block(s,buf,stored_len,!0)}function _tr_align(s){send_bits(s,STATIC_TREES<<1,3),send_code(s,END_BLOCK,static_ltree),bi_flush(s)}function _tr_flush_block(s,buf,stored_len,last){var opt_lenb,static_lenb,max_blindex=0;if(s.level>0){if(s.strm.data_type===Z_UNKNOWN)s.strm.data_type=detect_data_type(s);if(build_tree(s,s.l_desc),build_tree(s,s.d_desc),max_blindex=build_bl_tree(s),opt_lenb=s.opt_len+3+7>>>3,static_lenb=s.static_len+3+7>>>3,static_lenb<=opt_lenb)opt_lenb=static_lenb}else opt_lenb=static_lenb=stored_len+5;if(stored_len+4<=opt_lenb&&buf!==-1)_tr_stored_block(s,buf,stored_len,last);else if(s.strategy===Z_FIXED||static_lenb===opt_lenb)send_bits(s,(STATIC_TREES<<1)+(last\?1:0),3),compress_block(s,static_ltree,static_dtree);else send_bits(s,(DYN_TREES<<1)+(last\?1:0),3),send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1),compress_block(s,s.dyn_ltree,s.dyn_dtree);if(init_block(s),last)bi_windup(s)}function _tr_tally(s,dist,lc){if(s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255,s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255,s.pending_buf[s.l_buf+s.last_lit]=lc&255,s.last_lit++,dist===0)s.dyn_ltree[lc*2]++;else s.matches++,dist--,s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++,s.dyn_dtree[d_code(dist)*2]++;return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init,exports._tr_stored_block=_tr_stored_block,exports._tr_flush_block=_tr_flush_block,exports._tr_tally=_tr_tally,exports._tr_align=_tr_align}}),require_adler32=__commonJS({\"node_modules/pako/lib/zlib/adler32.js\"(exports,module2){function adler32(adler,buf,len,pos){var s1=adler&65535|0,s2=adler>>>16&65535|0,n=0;while(len!==0){n=len>2000\?2000:len,len-=n;do s1=s1+buf[pos++]|0,s2=s2+s1|0;while(--n);s1%=65521,s2%=65521}return s1|s2<<16|0}module2.exports=adler32}}),require_crc32=__commonJS({\"node_modules/pako/lib/zlib/crc32.js\"(exports,module2){function makeTable(){var c,table=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++)c=c&1\?3988292384^c>>>1:c>>>1;table[n]=c}return table}var crcTable=makeTable();function crc32(crc,buf,len,pos){var t=crcTable,end=pos+len;crc^=-1;for(var i=pos;i<end;i++)crc=crc>>>8^t[(crc^buf[i])&255];return crc^-1}module2.exports=crc32}}),require_messages=__commonJS({\"node_modules/pako/lib/zlib/messages.js\"(exports,module2){module2.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}}}),require_deflate=__commonJS({\"node_modules/pako/lib/zlib/deflate.js\"(exports){var utils=require_common(),trees=require_trees(),adler32=require_adler32(),crc32=require_crc32(),msg=require_messages(),Z_NO_FLUSH=0,Z_PARTIAL_FLUSH=1,Z_FULL_FLUSH=3,Z_FINISH=4,Z_BLOCK=5,Z_OK=0,Z_STREAM_END=1,Z_STREAM_ERROR=-2,Z_DATA_ERROR=-3,Z_BUF_ERROR=-5,Z_DEFAULT_COMPRESSION=-1,Z_FILTERED=1,Z_HUFFMAN_ONLY=2,Z_RLE=3,Z_FIXED=4,Z_DEFAULT_STRATEGY=0,Z_UNKNOWN=2,Z_DEFLATED=8,MAX_MEM_LEVEL=9,MAX_WBITS=15,DEF_MEM_LEVEL=8,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,MIN_MATCH=3,MAX_MATCH=258,MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1,PRESET_DICT=32,INIT_STATE=42,EXTRA_STATE=69,NAME_STATE=73,COMMENT_STATE=91,HCRC_STATE=103,BUSY_STATE=113,FINISH_STATE=666,BS_NEED_MORE=1,BS_BLOCK_DONE=2,BS_FINISH_STARTED=3,BS_FINISH_DONE=4,OS_CODE=3;function err(strm,errorCode){return strm.msg=msg[errorCode],errorCode}function rank(f){return(f<<1)-(f>4\?9:0)}function zero(buf){var len=buf.length;while(--len>=0)buf[len]=0}function flush_pending(strm){var s=strm.state,len=s.pending;if(len>strm.avail_out)len=strm.avail_out;if(len===0)return;if(utils.arraySet(strm.output,s.pending_buf,s.pending_out,len,strm.next_out),strm.next_out+=len,s.pending_out+=len,strm.total_out+=len,strm.avail_out-=len,s.pending-=len,s.pending===0)s.pending_out=0}function flush_block_only(s,last){trees._tr_flush_block(s,s.block_start>=0\?s.block_start:-1,s.strstart-s.block_start,last),s.block_start=s.strstart,flush_pending(s.strm)}function put_byte(s,b){s.pending_buf[s.pending++]=b}function putShortMSB(s,b){s.pending_buf[s.pending++]=b>>>8&255,s.pending_buf[s.pending++]=b&255}function read_buf(strm,buf,start,size){var len=strm.avail_in;if(len>size)len=size;if(len===0)return 0;if(strm.avail_in-=len,utils.arraySet(buf,strm.input,strm.next_in,len,start),strm.state.wrap===1)strm.adler=adler32(strm.adler,buf,len,start);else if(strm.state.wrap===2)strm.adler=crc32(strm.adler,buf,len,start);return strm.next_in+=len,strm.total_in+=len,len}function longest_match(s,cur_match){var{max_chain_length:chain_length,strstart:scan}=s,match,len,best_len=s.prev_length,nice_match=s.nice_match,limit=s.strstart>s.w_size-MIN_LOOKAHEAD\?s.strstart-(s.w_size-MIN_LOOKAHEAD):0,_win=s.window,wmask=s.w_mask,prev=s.prev,strend=s.strstart+MAX_MATCH,scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len];if(s.prev_length>=s.good_match)chain_length>>=2;if(nice_match>s.lookahead)nice_match=s.lookahead;do{if(match=cur_match,_win[match+best_len]!==scan_end||_win[match+best_len-1]!==scan_end1||_win[match]!==_win[scan]||_win[++match]!==_win[scan+1])continue;scan+=2,match++;do;while(_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&scan<strend);if(len=MAX_MATCH-(strend-scan),scan=strend-MAX_MATCH,len>best_len){if(s.match_start=cur_match,best_len=len,len>=nice_match)break;scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len]}}while((cur_match=prev[cur_match&wmask])>limit&&--chain_length!==0);if(best_len<=s.lookahead)return best_len;return s.lookahead}function fill_window(s){var _w_size=s.w_size,p,n,m,more,str;do{if(more=s.window_size-s.lookahead-s.strstart,s.strstart>=_w_size+(_w_size-MIN_LOOKAHEAD)){utils.arraySet(s.window,s.window,_w_size,_w_size,0),s.match_start-=_w_size,s.strstart-=_w_size,s.block_start-=_w_size,n=s.hash_size,p=n;do m=s.head[--p],s.head[p]=m>=_w_size\?m-_w_size:0;while(--n);n=_w_size,p=n;do m=s.prev[--p],s.prev[p]=m>=_w_size\?m-_w_size:0;while(--n);more+=_w_size}if(s.strm.avail_in===0)break;if(n=read_buf(s.strm,s.window,s.strstart+s.lookahead,more),s.lookahead+=n,s.lookahead+s.insert>=MIN_MATCH){str=s.strstart-s.insert,s.ins_h=s.window[str],s.ins_h=(s.ins_h<<s.hash_shift^s.window[str+1])&s.hash_mask;while(s.insert)if(s.ins_h=(s.ins_h<<s.hash_shift^s.window[str+MIN_MATCH-1])&s.hash_mask,s.prev[str&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=str,str++,s.insert--,s.lookahead+s.insert<MIN_MATCH)break}}while(s.lookahead<MIN_LOOKAHEAD&&s.strm.avail_in!==0)}function deflate_stored(s,flush){var max_block_size=65535;if(max_block_size>s.pending_buf_size-5)max_block_size=s.pending_buf_size-5;for(;;){if(s.lookahead<=1){if(fill_window(s),s.lookahead===0&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}s.strstart+=s.lookahead,s.lookahead=0;var max_start=s.block_start+max_block_size;if(s.strstart===0||s.strstart>=max_start){if(s.lookahead=s.strstart-max_start,s.strstart=max_start,flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}if(s.strstart-s.block_start>=s.w_size-MIN_LOOKAHEAD){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.strstart>s.block_start){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_NEED_MORE}function deflate_fast(s,flush){var hash_head,bflush;for(;;){if(s.lookahead<MIN_LOOKAHEAD){if(fill_window(s),s.lookahead<MIN_LOOKAHEAD&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}if(hash_head=0,s.lookahead>=MIN_MATCH)s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask,hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart;if(hash_head!==0&&s.strstart-hash_head<=s.w_size-MIN_LOOKAHEAD)s.match_length=longest_match(s,hash_head);if(s.match_length>=MIN_MATCH)if(bflush=trees._tr_tally(s,s.strstart-s.match_start,s.match_length-MIN_MATCH),s.lookahead-=s.match_length,s.match_length<=s.max_lazy_match&&s.lookahead>=MIN_MATCH){s.match_length--;do s.strstart++,s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask,hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart;while(--s.match_length!==0);s.strstart++}else s.strstart+=s.match_length,s.match_length=0,s.ins_h=s.window[s.strstart],s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+1])&s.hash_mask;else bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++;if(bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=s.strstart<MIN_MATCH-1\?s.strstart:MIN_MATCH-1,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function deflate_slow(s,flush){var hash_head,bflush,max_insert;for(;;){if(s.lookahead<MIN_LOOKAHEAD){if(fill_window(s),s.lookahead<MIN_LOOKAHEAD&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}if(hash_head=0,s.lookahead>=MIN_MATCH)s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask,hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart;if(s.prev_length=s.match_length,s.prev_match=s.match_start,s.match_length=MIN_MATCH-1,hash_head!==0&&s.prev_length<s.max_lazy_match&&s.strstart-hash_head<=s.w_size-MIN_LOOKAHEAD){if(s.match_length=longest_match(s,hash_head),s.match_length<=5&&(s.strategy===Z_FILTERED||s.match_length===MIN_MATCH&&s.strstart-s.match_start>4096))s.match_length=MIN_MATCH-1}if(s.prev_length>=MIN_MATCH&&s.match_length<=s.prev_length){max_insert=s.strstart+s.lookahead-MIN_MATCH,bflush=trees._tr_tally(s,s.strstart-1-s.prev_match,s.prev_length-MIN_MATCH),s.lookahead-=s.prev_length-1,s.prev_length-=2;do if(++s.strstart<=max_insert)s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask,hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart;while(--s.prev_length!==0);if(s.match_available=0,s.match_length=MIN_MATCH-1,s.strstart++,bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}else if(s.match_available){if(bflush=trees._tr_tally(s,0,s.window[s.strstart-1]),bflush)flush_block_only(s,!1);if(s.strstart++,s.lookahead--,s.strm.avail_out===0)return BS_NEED_MORE}else s.match_available=1,s.strstart++,s.lookahead--}if(s.match_available)bflush=trees._tr_tally(s,0,s.window[s.strstart-1]),s.match_available=0;if(s.insert=s.strstart<MIN_MATCH-1\?s.strstart:MIN_MATCH-1,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function deflate_rle(s,flush){var bflush,prev,scan,strend,_win=s.window;for(;;){if(s.lookahead<=MAX_MATCH){if(fill_window(s),s.lookahead<=MAX_MATCH&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}if(s.match_length=0,s.lookahead>=MIN_MATCH&&s.strstart>0){if(scan=s.strstart-1,prev=_win[scan],prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]){strend=s.strstart+MAX_MATCH;do;while(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&scan<strend);if(s.match_length=MAX_MATCH-(strend-scan),s.match_length>s.lookahead)s.match_length=s.lookahead}}if(s.match_length>=MIN_MATCH)bflush=trees._tr_tally(s,1,s.match_length-MIN_MATCH),s.lookahead-=s.match_length,s.strstart+=s.match_length,s.match_length=0;else bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++;if(bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function deflate_huff(s,flush){var bflush;for(;;){if(s.lookahead===0){if(fill_window(s),s.lookahead===0){if(flush===Z_NO_FLUSH)return BS_NEED_MORE;break}}if(s.match_length=0,bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++,bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function Config(good_length,max_lazy,nice_length,max_chain,func){this.good_length=good_length,this.max_lazy=max_lazy,this.nice_length=nice_length,this.max_chain=max_chain,this.func=func}var configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function lm_init(s){s.window_size=2*s.w_size,zero(s.head),s.max_lazy_match=configuration_table[s.level].max_lazy,s.good_match=configuration_table[s.level].good_length,s.nice_match=configuration_table[s.level].nice_length,s.max_chain_length=configuration_table[s.level].max_chain,s.strstart=0,s.block_start=0,s.lookahead=0,s.insert=0,s.match_length=s.prev_length=MIN_MATCH-1,s.match_available=0,s.ins_h=0}function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Z_DEFLATED,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new utils.Buf16(HEAP_SIZE*2),this.dyn_dtree=new utils.Buf16((2*D_CODES+1)*2),this.bl_tree=new utils.Buf16((2*BL_CODES+1)*2),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new utils.Buf16(MAX_BITS+1),this.heap=new utils.Buf16(2*L_CODES+1),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new utils.Buf16(2*L_CODES+1),zero(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function deflateResetKeep(strm){var s;if(!strm||!strm.state)return err(strm,Z_STREAM_ERROR);if(strm.total_in=strm.total_out=0,strm.data_type=Z_UNKNOWN,s=strm.state,s.pending=0,s.pending_out=0,s.wrap<0)s.wrap=-s.wrap;return s.status=s.wrap\?INIT_STATE:BUSY_STATE,strm.adler=s.wrap===2\?0:1,s.last_flush=Z_NO_FLUSH,trees._tr_init(s),Z_OK}function deflateReset(strm){var ret=deflateResetKeep(strm);if(ret===Z_OK)lm_init(strm.state);return ret}function deflateSetHeader(strm,head){if(!strm||!strm.state)return Z_STREAM_ERROR;if(strm.state.wrap!==2)return Z_STREAM_ERROR;return strm.state.gzhead=head,Z_OK}function deflateInit2(strm,level,method,windowBits,memLevel,strategy){if(!strm)return Z_STREAM_ERROR;var wrap=1;if(level===Z_DEFAULT_COMPRESSION)level=6;if(windowBits<0)wrap=0,windowBits=-windowBits;else if(windowBits>15)wrap=2,windowBits-=16;if(memLevel<1||memLevel>MAX_MEM_LEVEL||method!==Z_DEFLATED||windowBits<8||windowBits>15||level<0||level>9||strategy<0||strategy>Z_FIXED)return err(strm,Z_STREAM_ERROR);if(windowBits===8)windowBits=9;var s=new DeflateState;return strm.state=s,s.strm=strm,s.wrap=wrap,s.gzhead=null,s.w_bits=windowBits,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=memLevel+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+MIN_MATCH-1)/MIN_MATCH),s.window=new utils.Buf8(s.w_size*2),s.head=new utils.Buf16(s.hash_size),s.prev=new utils.Buf16(s.w_size),s.lit_bufsize=1<<memLevel+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new utils.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=level,s.strategy=strategy,s.method=method,deflateReset(strm)}function deflateInit(strm,level){return deflateInit2(strm,level,Z_DEFLATED,MAX_WBITS,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY)}function deflate(strm,flush){var old_flush,s,beg,val;if(!strm||!strm.state||flush>Z_BLOCK||flush<0)return strm\?err(strm,Z_STREAM_ERROR):Z_STREAM_ERROR;if(s=strm.state,!strm.output||!strm.input&&strm.avail_in!==0||s.status===FINISH_STATE&&flush!==Z_FINISH)return err(strm,strm.avail_out===0\?Z_BUF_ERROR:Z_STREAM_ERROR);if(s.strm=strm,old_flush=s.last_flush,s.last_flush=flush,s.status===INIT_STATE)if(s.wrap===2)if(strm.adler=0,put_byte(s,31),put_byte(s,139),put_byte(s,8),!s.gzhead)put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,s.level===9\?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2\?4:0),put_byte(s,OS_CODE),s.status=BUSY_STATE;else{if(put_byte(s,(s.gzhead.text\?1:0)+(s.gzhead.hcrc\?2:0)+(!s.gzhead.extra\?0:4)+(!s.gzhead.name\?0:8)+(!s.gzhead.comment\?0:16)),put_byte(s,s.gzhead.time&255),put_byte(s,s.gzhead.time>>8&255),put_byte(s,s.gzhead.time>>16&255),put_byte(s,s.gzhead.time>>24&255),put_byte(s,s.level===9\?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2\?4:0),put_byte(s,s.gzhead.os&255),s.gzhead.extra&&s.gzhead.extra.length)put_byte(s,s.gzhead.extra.length&255),put_byte(s,s.gzhead.extra.length>>8&255);if(s.gzhead.hcrc)strm.adler=crc32(strm.adler,s.pending_buf,s.pending,0);s.gzindex=0,s.status=EXTRA_STATE}else{var header=Z_DEFLATED+(s.w_bits-8<<4)<<8,level_flags=-1;if(s.strategy>=Z_HUFFMAN_ONLY||s.level<2)level_flags=0;else if(s.level<6)level_flags=1;else if(s.level===6)level_flags=2;else level_flags=3;if(header|=level_flags<<6,s.strstart!==0)header|=PRESET_DICT;if(header+=31-header%31,s.status=BUSY_STATE,putShortMSB(s,header),s.strstart!==0)putShortMSB(s,strm.adler>>>16),putShortMSB(s,strm.adler&65535);strm.adler=1}if(s.status===EXTRA_STATE)if(s.gzhead.extra){beg=s.pending;while(s.gzindex<(s.gzhead.extra.length&65535)){if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size)break}put_byte(s,s.gzhead.extra[s.gzindex]&255),s.gzindex++}if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(s.gzindex===s.gzhead.extra.length)s.gzindex=0,s.status=NAME_STATE}else s.status=NAME_STATE;if(s.status===NAME_STATE)if(s.gzhead.name){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size){val=1;break}}if(s.gzindex<s.gzhead.name.length)val=s.gzhead.name.charCodeAt(s.gzindex++)&255;else val=0;put_byte(s,val)}while(val!==0);if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(val===0)s.gzindex=0,s.status=COMMENT_STATE}else s.status=COMMENT_STATE;if(s.status===COMMENT_STATE)if(s.gzhead.comment){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size){val=1;break}}if(s.gzindex<s.gzhead.comment.length)val=s.gzhead.comment.charCodeAt(s.gzindex++)&255;else val=0;put_byte(s,val)}while(val!==0);if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(val===0)s.status=HCRC_STATE}else s.status=HCRC_STATE;if(s.status===HCRC_STATE)if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size)flush_pending(strm);if(s.pending+2<=s.pending_buf_size)put_byte(s,strm.adler&255),put_byte(s,strm.adler>>8&255),strm.adler=0,s.status=BUSY_STATE}else s.status=BUSY_STATE;if(s.pending!==0){if(flush_pending(strm),strm.avail_out===0)return s.last_flush=-1,Z_OK}else if(strm.avail_in===0&&rank(flush)<=rank(old_flush)&&flush!==Z_FINISH)return err(strm,Z_BUF_ERROR);if(s.status===FINISH_STATE&&strm.avail_in!==0)return err(strm,Z_BUF_ERROR);if(strm.avail_in!==0||s.lookahead!==0||flush!==Z_NO_FLUSH&&s.status!==FINISH_STATE){var bstate=s.strategy===Z_HUFFMAN_ONLY\?deflate_huff(s,flush):s.strategy===Z_RLE\?deflate_rle(s,flush):configuration_table[s.level].func(s,flush);if(bstate===BS_FINISH_STARTED||bstate===BS_FINISH_DONE)s.status=FINISH_STATE;if(bstate===BS_NEED_MORE||bstate===BS_FINISH_STARTED){if(strm.avail_out===0)s.last_flush=-1;return Z_OK}if(bstate===BS_BLOCK_DONE){if(flush===Z_PARTIAL_FLUSH)trees._tr_align(s);else if(flush!==Z_BLOCK){if(trees._tr_stored_block(s,0,0,!1),flush===Z_FULL_FLUSH){if(zero(s.head),s.lookahead===0)s.strstart=0,s.block_start=0,s.insert=0}}if(flush_pending(strm),strm.avail_out===0)return s.last_flush=-1,Z_OK}}if(flush!==Z_FINISH)return Z_OK;if(s.wrap<=0)return Z_STREAM_END;if(s.wrap===2)put_byte(s,strm.adler&255),put_byte(s,strm.adler>>8&255),put_byte(s,strm.adler>>16&255),put_byte(s,strm.adler>>24&255),put_byte(s,strm.total_in&255),put_byte(s,strm.total_in>>8&255),put_byte(s,strm.total_in>>16&255),put_byte(s,strm.total_in>>24&255);else putShortMSB(s,strm.adler>>>16),putShortMSB(s,strm.adler&65535);if(flush_pending(strm),s.wrap>0)s.wrap=-s.wrap;return s.pending!==0\?Z_OK:Z_STREAM_END}function deflateEnd(strm){var status;if(!strm||!strm.state)return Z_STREAM_ERROR;if(status=strm.state.status,status!==INIT_STATE&&status!==EXTRA_STATE&&status!==NAME_STATE&&status!==COMMENT_STATE&&status!==HCRC_STATE&&status!==BUSY_STATE&&status!==FINISH_STATE)return err(strm,Z_STREAM_ERROR);return strm.state=null,status===BUSY_STATE\?err(strm,Z_DATA_ERROR):Z_OK}function deflateSetDictionary(strm,dictionary){var dictLength=dictionary.length,s,str,n,wrap,avail,next,input,tmpDict;if(!strm||!strm.state)return Z_STREAM_ERROR;if(s=strm.state,wrap=s.wrap,wrap===2||wrap===1&&s.status!==INIT_STATE||s.lookahead)return Z_STREAM_ERROR;if(wrap===1)strm.adler=adler32(strm.adler,dictionary,dictLength,0);if(s.wrap=0,dictLength>=s.w_size){if(wrap===0)zero(s.head),s.strstart=0,s.block_start=0,s.insert=0;tmpDict=new utils.Buf8(s.w_size),utils.arraySet(tmpDict,dictionary,dictLength-s.w_size,s.w_size,0),dictionary=tmpDict,dictLength=s.w_size}avail=strm.avail_in,next=strm.next_in,input=strm.input,strm.avail_in=dictLength,strm.next_in=0,strm.input=dictionary,fill_window(s);while(s.lookahead>=MIN_MATCH){str=s.strstart,n=s.lookahead-(MIN_MATCH-1);do s.ins_h=(s.ins_h<<s.hash_shift^s.window[str+MIN_MATCH-1])&s.hash_mask,s.prev[str&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=str,str++;while(--n);s.strstart=str,s.lookahead=MIN_MATCH-1,fill_window(s)}return s.strstart+=s.lookahead,s.block_start=s.strstart,s.insert=s.lookahead,s.lookahead=0,s.match_length=s.prev_length=MIN_MATCH-1,s.match_available=0,strm.next_in=next,strm.input=input,strm.avail_in=avail,s.wrap=wrap,Z_OK}exports.deflateInit=deflateInit,exports.deflateInit2=deflateInit2,exports.deflateReset=deflateReset,exports.deflateResetKeep=deflateResetKeep,exports.deflateSetHeader=deflateSetHeader,exports.deflate=deflate,exports.deflateEnd=deflateEnd,exports.deflateSetDictionary=deflateSetDictionary,exports.deflateInfo=\"pako deflate (from Nodeca project)\"}}),require_inffast=__commonJS({\"node_modules/pako/lib/zlib/inffast.js\"(exports,module2){var BAD=30,TYPE=12;module2.exports=function inflate_fast(strm,start){var state,_in,last,_out,beg,end,dmax,wsize,whave,wnext,s_window,hold,bits,lcode,dcode,lmask,dmask,here,op,len,dist,from,from_source,input,output;state=strm.state,_in=strm.next_in,input=strm.input,last=_in+(strm.avail_in-5),_out=strm.next_out,output=strm.output,beg=_out-(start-strm.avail_out),end=_out+(strm.avail_out-257),dmax=state.dmax,wsize=state.wsize,whave=state.whave,wnext=state.wnext,s_window=state.window,hold=state.hold,bits=state.bits,lcode=state.lencode,dcode=state.distcode,lmask=(1<<state.lenbits)-1,dmask=(1<<state.distbits)-1;top:do{if(bits<15)hold+=input[_in++]<<bits,bits+=8,hold+=input[_in++]<<bits,bits+=8;here=lcode[hold&lmask];dolen:for(;;){if(op=here>>>24,hold>>>=op,bits-=op,op=here>>>16&255,op===0)output[_out++]=here&65535;else if(op&16){if(len=here&65535,op&=15,op){if(bits<op)hold+=input[_in++]<<bits,bits+=8;len+=hold&(1<<op)-1,hold>>>=op,bits-=op}if(bits<15)hold+=input[_in++]<<bits,bits+=8,hold+=input[_in++]<<bits,bits+=8;here=dcode[hold&dmask];dodist:for(;;){if(op=here>>>24,hold>>>=op,bits-=op,op=here>>>16&255,op&16){if(dist=here&65535,op&=15,bits<op){if(hold+=input[_in++]<<bits,bits+=8,bits<op)hold+=input[_in++]<<bits,bits+=8}if(dist+=hold&(1<<op)-1,dist>dmax){strm.msg=\"invalid distance too far back\",state.mode=BAD;break top}if(hold>>>=op,bits-=op,op=_out-beg,dist>op){if(op=dist-op,op>whave){if(state.sane){strm.msg=\"invalid distance too far back\",state.mode=BAD;break top}}if(from=0,from_source=s_window,wnext===0){if(from+=wsize-op,op<len){len-=op;do output[_out++]=s_window[from++];while(--op);from=_out-dist,from_source=output}}else if(wnext<op){if(from+=wsize+wnext-op,op-=wnext,op<len){len-=op;do output[_out++]=s_window[from++];while(--op);if(from=0,wnext<len){op=wnext,len-=op;do output[_out++]=s_window[from++];while(--op);from=_out-dist,from_source=output}}}else if(from+=wnext-op,op<len){len-=op;do output[_out++]=s_window[from++];while(--op);from=_out-dist,from_source=output}while(len>2)output[_out++]=from_source[from++],output[_out++]=from_source[from++],output[_out++]=from_source[from++],len-=3;if(len){if(output[_out++]=from_source[from++],len>1)output[_out++]=from_source[from++]}}else{from=_out-dist;do output[_out++]=output[from++],output[_out++]=output[from++],output[_out++]=output[from++],len-=3;while(len>2);if(len){if(output[_out++]=output[from++],len>1)output[_out++]=output[from++]}}}else if((op&64)===0){here=dcode[(here&65535)+(hold&(1<<op)-1)];continue dodist}else{strm.msg=\"invalid distance code\",state.mode=BAD;break top}break}}else if((op&64)===0){here=lcode[(here&65535)+(hold&(1<<op)-1)];continue dolen}else if(op&32){state.mode=TYPE;break top}else{strm.msg=\"invalid literal/length code\",state.mode=BAD;break top}break}}while(_in<last&&_out<end);len=bits>>3,_in-=len,bits-=len<<3,hold&=(1<<bits)-1,strm.next_in=_in,strm.next_out=_out,strm.avail_in=_in<last\?5+(last-_in):5-(_in-last),strm.avail_out=_out<end\?257+(end-_out):257-(_out-end),state.hold=hold,state.bits=bits;return}}}),require_inftrees=__commonJS({\"node_modules/pako/lib/zlib/inftrees.js\"(exports,module2){var utils=require_common(),MAXBITS=15,ENOUGH_LENS=852,ENOUGH_DISTS=592,CODES=0,LENS=1,DISTS=2,lbase=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],lext=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],dbase=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],dext=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];module2.exports=function inflate_table(type,lens,lens_index,codes,table,table_index,work,opts){var bits=opts.bits,len=0,sym=0,min=0,max=0,root=0,curr=0,drop=0,left=0,used=0,huff=0,incr,fill,low,mask,next,base=null,base_index=0,end,count=new utils.Buf16(MAXBITS+1),offs=new utils.Buf16(MAXBITS+1),extra=null,extra_index=0,here_bits,here_op,here_val;for(len=0;len<=MAXBITS;len++)count[len]=0;for(sym=0;sym<codes;sym++)count[lens[lens_index+sym]]++;root=bits;for(max=MAXBITS;max>=1;max--)if(count[max]!==0)break;if(root>max)root=max;if(max===0)return table[table_index++]=1<<24|64<<16|0,table[table_index++]=1<<24|64<<16|0,opts.bits=1,0;for(min=1;min<max;min++)if(count[min]!==0)break;if(root<min)root=min;left=1;for(len=1;len<=MAXBITS;len++)if(left<<=1,left-=count[len],left<0)return-1;if(left>0&&(type===CODES||max!==1))return-1;offs[1]=0;for(len=1;len<MAXBITS;len++)offs[len+1]=offs[len]+count[len];for(sym=0;sym<codes;sym++)if(lens[lens_index+sym]!==0)work[offs[lens[lens_index+sym]]++]=sym;if(type===CODES)base=extra=work,end=19;else if(type===LENS)base=lbase,base_index-=257,extra=lext,extra_index-=257,end=256;else base=dbase,extra=dext,end=-1;if(huff=0,sym=0,len=min,next=table_index,curr=root,drop=0,low=-1,used=1<<root,mask=used-1,type===LENS&&used>ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS)return 1;for(;;){if(here_bits=len-drop,work[sym]<end)here_op=0,here_val=work[sym];else if(work[sym]>end)here_op=extra[extra_index+work[sym]],here_val=base[base_index+work[sym]];else here_op=96,here_val=0;incr=1<<len-drop,fill=1<<curr,min=fill;do fill-=incr,table[next+(huff>>drop)+fill]=here_bits<<24|here_op<<16|here_val|0;while(fill!==0);incr=1<<len-1;while(huff&incr)incr>>=1;if(incr!==0)huff&=incr-1,huff+=incr;else huff=0;if(sym++,--count[len]===0){if(len===max)break;len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0)drop=root;next+=min,curr=len-drop,left=1<<curr;while(curr+drop<max){if(left-=count[curr+drop],left<=0)break;curr++,left<<=1}if(used+=1<<curr,type===LENS&&used>ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS)return 1;low=huff&mask,table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0)table[next+huff]=len-drop<<24|64<<16|0;return opts.bits=root,0}}}),require_inflate=__commonJS({\"node_modules/pako/lib/zlib/inflate.js\"(exports){var utils=require_common(),adler32=require_adler32(),crc32=require_crc32(),inflate_fast=require_inffast(),inflate_table=require_inftrees(),CODES=0,LENS=1,DISTS=2,Z_FINISH=4,Z_BLOCK=5,Z_TREES=6,Z_OK=0,Z_STREAM_END=1,Z_NEED_DICT=2,Z_STREAM_ERROR=-2,Z_DATA_ERROR=-3,Z_MEM_ERROR=-4,Z_BUF_ERROR=-5,Z_DEFLATED=8,HEAD=1,FLAGS=2,TIME=3,OS=4,EXLEN=5,EXTRA=6,NAME=7,COMMENT=8,HCRC=9,DICTID=10,DICT=11,TYPE=12,TYPEDO=13,STORED=14,COPY_=15,COPY=16,TABLE=17,LENLENS=18,CODELENS=19,LEN_=20,LEN=21,LENEXT=22,DIST=23,DISTEXT=24,MATCH=25,LIT=26,CHECK=27,LENGTH=28,DONE=29,BAD=30,MEM=31,SYNC=32,ENOUGH_LENS=852,ENOUGH_DISTS=592,MAX_WBITS=15,DEF_WBITS=MAX_WBITS;function zswap32(q){return(q>>>24&255)+(q>>>8&65280)+((q&65280)<<8)+((q&255)<<24)}function InflateState(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new utils.Buf16(320),this.work=new utils.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function inflateResetKeep(strm){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,strm.total_in=strm.total_out=state.total=0,strm.msg=\"\",state.wrap)strm.adler=state.wrap&1;return state.mode=HEAD,state.last=0,state.havedict=0,state.dmax=32768,state.head=null,state.hold=0,state.bits=0,state.lencode=state.lendyn=new utils.Buf32(ENOUGH_LENS),state.distcode=state.distdyn=new utils.Buf32(ENOUGH_DISTS),state.sane=1,state.back=-1,Z_OK}function inflateReset(strm){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;return state=strm.state,state.wsize=0,state.whave=0,state.wnext=0,inflateResetKeep(strm)}function inflateReset2(strm,windowBits){var wrap,state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,windowBits<0)wrap=0,windowBits=-windowBits;else if(wrap=(windowBits>>4)+1,windowBits<48)windowBits&=15;if(windowBits&&(windowBits<8||windowBits>15))return Z_STREAM_ERROR;if(state.window!==null&&state.wbits!==windowBits)state.window=null;return state.wrap=wrap,state.wbits=windowBits,inflateReset(strm)}function inflateInit2(strm,windowBits){var ret,state;if(!strm)return Z_STREAM_ERROR;if(state=new InflateState,strm.state=state,state.window=null,ret=inflateReset2(strm,windowBits),ret!==Z_OK)strm.state=null;return ret}function inflateInit(strm){return inflateInit2(strm,DEF_WBITS)}var virgin=!0,lenfix,distfix;function fixedtables(state){if(virgin){var sym;lenfix=new utils.Buf32(512),distfix=new utils.Buf32(32),sym=0;while(sym<144)state.lens[sym++]=8;while(sym<256)state.lens[sym++]=9;while(sym<280)state.lens[sym++]=7;while(sym<288)state.lens[sym++]=8;inflate_table(LENS,state.lens,0,288,lenfix,0,state.work,{bits:9}),sym=0;while(sym<32)state.lens[sym++]=5;inflate_table(DISTS,state.lens,0,32,distfix,0,state.work,{bits:5}),virgin=!1}state.lencode=lenfix,state.lenbits=9,state.distcode=distfix,state.distbits=5}function updatewindow(strm,src,end,copy){var dist,state=strm.state;if(state.window===null)state.wsize=1<<state.wbits,state.wnext=0,state.whave=0,state.window=new utils.Buf8(state.wsize);if(copy>=state.wsize)utils.arraySet(state.window,src,end-state.wsize,state.wsize,0),state.wnext=0,state.whave=state.wsize;else{if(dist=state.wsize-state.wnext,dist>copy)dist=copy;if(utils.arraySet(state.window,src,end-copy,dist,state.wnext),copy-=dist,copy)utils.arraySet(state.window,src,end-copy,copy,0),state.wnext=copy,state.whave=state.wsize;else{if(state.wnext+=dist,state.wnext===state.wsize)state.wnext=0;if(state.whave<state.wsize)state.whave+=dist}}return 0}function inflate(strm,flush){var state,input,output,next,put,have,left,hold,bits,_in,_out,copy,from,from_source,here=0,here_bits,here_op,here_val,last_bits,last_op,last_val,len,ret,hbuf=new utils.Buf8(4),opts,n,order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!strm||!strm.state||!strm.output||!strm.input&&strm.avail_in!==0)return Z_STREAM_ERROR;if(state=strm.state,state.mode===TYPE)state.mode=TYPEDO;put=strm.next_out,output=strm.output,left=strm.avail_out,next=strm.next_in,input=strm.input,have=strm.avail_in,hold=state.hold,bits=state.bits,_in=have,_out=left,ret=Z_OK;inf_leave:for(;;)switch(state.mode){case HEAD:if(state.wrap===0){state.mode=TYPEDO;break}while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.wrap&2&&hold===35615){state.check=0,hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0),hold=0,bits=0,state.mode=FLAGS;break}if(state.flags=0,state.head)state.head.done=!1;if(!(state.wrap&1)||(((hold&255)<<8)+(hold>>8))%31){strm.msg=\"incorrect header check\",state.mode=BAD;break}if((hold&15)!==Z_DEFLATED){strm.msg=\"unknown compression method\",state.mode=BAD;break}if(hold>>>=4,bits-=4,len=(hold&15)+8,state.wbits===0)state.wbits=len;else if(len>state.wbits){strm.msg=\"invalid window size\",state.mode=BAD;break}state.dmax=1<<len,strm.adler=state.check=1,state.mode=hold&512\?DICTID:TYPE,hold=0,bits=0;break;case FLAGS:while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.flags=hold,(state.flags&255)!==Z_DEFLATED){strm.msg=\"unknown compression method\",state.mode=BAD;break}if(state.flags&57344){strm.msg=\"unknown header flags set\",state.mode=BAD;break}if(state.head)state.head.text=hold>>8&1;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0,state.mode=TIME;case TIME:while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.head)state.head.time=hold;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,hbuf[2]=hold>>>16&255,hbuf[3]=hold>>>24&255,state.check=crc32(state.check,hbuf,4,0);hold=0,bits=0,state.mode=OS;case OS:while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.head)state.head.xflags=hold&255,state.head.os=hold>>8;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0,state.mode=EXLEN;case EXLEN:if(state.flags&1024){while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.length=hold,state.head)state.head.extra_len=hold;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0}else if(state.head)state.head.extra=null;state.mode=EXTRA;case EXTRA:if(state.flags&1024){if(copy=state.length,copy>have)copy=have;if(copy){if(state.head){if(len=state.head.extra_len-state.length,!state.head.extra)state.head.extra=new Array(state.head.extra_len);utils.arraySet(state.head.extra,input,next,copy,len)}if(state.flags&512)state.check=crc32(state.check,input,copy,next);have-=copy,next+=copy,state.length-=copy}if(state.length)break inf_leave}state.length=0,state.mode=NAME;case NAME:if(state.flags&2048){if(have===0)break inf_leave;copy=0;do if(len=input[next+copy++],state.head&&len&&state.length<65536)state.head.name+=String.fromCharCode(len);while(len&&copy<have);if(state.flags&512)state.check=crc32(state.check,input,copy,next);if(have-=copy,next+=copy,len)break inf_leave}else if(state.head)state.head.name=null;state.length=0,state.mode=COMMENT;case COMMENT:if(state.flags&4096){if(have===0)break inf_leave;copy=0;do if(len=input[next+copy++],state.head&&len&&state.length<65536)state.head.comment+=String.fromCharCode(len);while(len&&copy<have);if(state.flags&512)state.check=crc32(state.check,input,copy,next);if(have-=copy,next+=copy,len)break inf_leave}else if(state.head)state.head.comment=null;state.mode=HCRC;case HCRC:if(state.flags&512){while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(hold!==(state.check&65535)){strm.msg=\"header crc mismatch\",state.mode=BAD;break}hold=0,bits=0}if(state.head)state.head.hcrc=state.flags>>9&1,state.head.done=!0;strm.adler=state.check=0,state.mode=TYPE;break;case DICTID:while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}strm.adler=state.check=zswap32(hold),hold=0,bits=0,state.mode=DICT;case DICT:if(state.havedict===0)return strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,Z_NEED_DICT;strm.adler=state.check=1,state.mode=TYPE;case TYPE:if(flush===Z_BLOCK||flush===Z_TREES)break inf_leave;case TYPEDO:if(state.last){hold>>>=bits&7,bits-=bits&7,state.mode=CHECK;break}while(bits<3){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}switch(state.last=hold&1,hold>>>=1,bits-=1,hold&3){case 0:state.mode=STORED;break;case 1:if(fixedtables(state),state.mode=LEN_,flush===Z_TREES){hold>>>=2,bits-=2;break inf_leave}break;case 2:state.mode=TABLE;break;case 3:strm.msg=\"invalid block type\",state.mode=BAD}hold>>>=2,bits-=2;break;case STORED:hold>>>=bits&7,bits-=bits&7;while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if((hold&65535)!==(hold>>>16^65535)){strm.msg=\"invalid stored block lengths\",state.mode=BAD;break}if(state.length=hold&65535,hold=0,bits=0,state.mode=COPY_,flush===Z_TREES)break inf_leave;case COPY_:state.mode=COPY;case COPY:if(copy=state.length,copy){if(copy>have)copy=have;if(copy>left)copy=left;if(copy===0)break inf_leave;utils.arraySet(output,input,next,copy,put),have-=copy,next+=copy,left-=copy,put+=copy,state.length-=copy;break}state.mode=TYPE;break;case TABLE:while(bits<14){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.nlen=(hold&31)+257,hold>>>=5,bits-=5,state.ndist=(hold&31)+1,hold>>>=5,bits-=5,state.ncode=(hold&15)+4,hold>>>=4,bits-=4,state.nlen>286||state.ndist>30){strm.msg=\"too many length or distance symbols\",state.mode=BAD;break}state.have=0,state.mode=LENLENS;case LENLENS:while(state.have<state.ncode){while(bits<3){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.lens[order[state.have++]]=hold&7,hold>>>=3,bits-=3}while(state.have<19)state.lens[order[state.have++]]=0;if(state.lencode=state.lendyn,state.lenbits=7,opts={bits:state.lenbits},ret=inflate_table(CODES,state.lens,0,19,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg=\"invalid code lengths set\",state.mode=BAD;break}state.have=0,state.mode=CODELENS;case CODELENS:while(state.have<state.nlen+state.ndist){for(;;){if(here=state.lencode[hold&(1<<state.lenbits)-1],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(here_val<16)hold>>>=here_bits,bits-=here_bits,state.lens[state.have++]=here_val;else{if(here_val===16){n=here_bits+2;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(hold>>>=here_bits,bits-=here_bits,state.have===0){strm.msg=\"invalid bit length repeat\",state.mode=BAD;break}len=state.lens[state.have-1],copy=3+(hold&3),hold>>>=2,bits-=2}else if(here_val===17){n=here_bits+3;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=here_bits,bits-=here_bits,len=0,copy=3+(hold&7),hold>>>=3,bits-=3}else{n=here_bits+7;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=here_bits,bits-=here_bits,len=0,copy=11+(hold&127),hold>>>=7,bits-=7}if(state.have+copy>state.nlen+state.ndist){strm.msg=\"invalid bit length repeat\",state.mode=BAD;break}while(copy--)state.lens[state.have++]=len}}if(state.mode===BAD)break;if(state.lens[256]===0){strm.msg=\"invalid code -- missing end-of-block\",state.mode=BAD;break}if(state.lenbits=9,opts={bits:state.lenbits},ret=inflate_table(LENS,state.lens,0,state.nlen,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg=\"invalid literal/lengths set\",state.mode=BAD;break}if(state.distbits=6,state.distcode=state.distdyn,opts={bits:state.distbits},ret=inflate_table(DISTS,state.lens,state.nlen,state.ndist,state.distcode,0,state.work,opts),state.distbits=opts.bits,ret){strm.msg=\"invalid distances set\",state.mode=BAD;break}if(state.mode=LEN_,flush===Z_TREES)break inf_leave;case LEN_:state.mode=LEN;case LEN:if(have>=6&&left>=258){if(strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,inflate_fast(strm,_out),put=strm.next_out,output=strm.output,left=strm.avail_out,next=strm.next_in,input=strm.input,have=strm.avail_in,hold=state.hold,bits=state.bits,state.mode===TYPE)state.back=-1;break}state.back=0;for(;;){if(here=state.lencode[hold&(1<<state.lenbits)-1],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(here_op&&(here_op&240)===0){last_bits=here_bits,last_op=here_op,last_val=here_val;for(;;){if(here=state.lencode[last_val+((hold&(1<<last_bits+last_op)-1)>>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,last_bits+here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,state.length=here_val,here_op===0){state.mode=LIT;break}if(here_op&32){state.back=-1,state.mode=TYPE;break}if(here_op&64){strm.msg=\"invalid literal/length code\",state.mode=BAD;break}state.extra=here_op&15,state.mode=LENEXT;case LENEXT:if(state.extra){n=state.extra;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.length+=hold&(1<<state.extra)-1,hold>>>=state.extra,bits-=state.extra,state.back+=state.extra}state.was=state.length,state.mode=DIST;case DIST:for(;;){if(here=state.distcode[hold&(1<<state.distbits)-1],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if((here_op&240)===0){last_bits=here_bits,last_op=here_op,last_val=here_val;for(;;){if(here=state.distcode[last_val+((hold&(1<<last_bits+last_op)-1)>>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,last_bits+here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,here_op&64){strm.msg=\"invalid distance code\",state.mode=BAD;break}state.offset=here_val,state.extra=here_op&15,state.mode=DISTEXT;case DISTEXT:if(state.extra){n=state.extra;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.offset+=hold&(1<<state.extra)-1,hold>>>=state.extra,bits-=state.extra,state.back+=state.extra}if(state.offset>state.dmax){strm.msg=\"invalid distance too far back\",state.mode=BAD;break}state.mode=MATCH;case MATCH:if(left===0)break inf_leave;if(copy=_out-left,state.offset>copy){if(copy=state.offset-copy,copy>state.whave){if(state.sane){strm.msg=\"invalid distance too far back\",state.mode=BAD;break}}if(copy>state.wnext)copy-=state.wnext,from=state.wsize-copy;else from=state.wnext-copy;if(copy>state.length)copy=state.length;from_source=state.window}else from_source=output,from=put-state.offset,copy=state.length;if(copy>left)copy=left;left-=copy,state.length-=copy;do output[put++]=from_source[from++];while(--copy);if(state.length===0)state.mode=LEN;break;case LIT:if(left===0)break inf_leave;output[put++]=state.length,left--,state.mode=LEN;break;case CHECK:if(state.wrap){while(bits<32){if(have===0)break inf_leave;have--,hold|=input[next++]<<bits,bits+=8}if(_out-=left,strm.total_out+=_out,state.total+=_out,_out)strm.adler=state.check=state.flags\?crc32(state.check,output,_out,put-_out):adler32(state.check,output,_out,put-_out);if(_out=left,(state.flags\?hold:zswap32(hold))!==state.check){strm.msg=\"incorrect data check\",state.mode=BAD;break}hold=0,bits=0}state.mode=LENGTH;case LENGTH:if(state.wrap&&state.flags){while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(hold!==(state.total&4294967295)){strm.msg=\"incorrect length check\",state.mode=BAD;break}hold=0,bits=0}state.mode=DONE;case DONE:ret=Z_STREAM_END;break inf_leave;case BAD:ret=Z_DATA_ERROR;break inf_leave;case MEM:return Z_MEM_ERROR;case SYNC:default:return Z_STREAM_ERROR}if(strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,state.wsize||_out!==strm.avail_out&&state.mode<BAD&&(state.mode<CHECK||flush!==Z_FINISH)){if(updatewindow(strm,strm.output,strm.next_out,_out-strm.avail_out))return state.mode=MEM,Z_MEM_ERROR}if(_in-=strm.avail_in,_out-=strm.avail_out,strm.total_in+=_in,strm.total_out+=_out,state.total+=_out,state.wrap&&_out)strm.adler=state.check=state.flags\?crc32(state.check,output,_out,strm.next_out-_out):adler32(state.check,output,_out,strm.next_out-_out);if(strm.data_type=state.bits+(state.last\?64:0)+(state.mode===TYPE\?128:0)+(state.mode===LEN_||state.mode===COPY_\?256:0),(_in===0&&_out===0||flush===Z_FINISH)&&ret===Z_OK)ret=Z_BUF_ERROR;return ret}function inflateEnd(strm){if(!strm||!strm.state)return Z_STREAM_ERROR;var state=strm.state;if(state.window)state.window=null;return strm.state=null,Z_OK}function inflateGetHeader(strm,head){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,(state.wrap&2)===0)return Z_STREAM_ERROR;return state.head=head,head.done=!1,Z_OK}function inflateSetDictionary(strm,dictionary){var dictLength=dictionary.length,state,dictid,ret;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,state.wrap!==0&&state.mode!==DICT)return Z_STREAM_ERROR;if(state.mode===DICT){if(dictid=1,dictid=adler32(dictid,dictionary,dictLength,0),dictid!==state.check)return Z_DATA_ERROR}if(ret=updatewindow(strm,dictionary,dictLength,dictLength),ret)return state.mode=MEM,Z_MEM_ERROR;return state.havedict=1,Z_OK}exports.inflateReset=inflateReset,exports.inflateReset2=inflateReset2,exports.inflateResetKeep=inflateResetKeep,exports.inflateInit=inflateInit,exports.inflateInit2=inflateInit2,exports.inflate=inflate,exports.inflateEnd=inflateEnd,exports.inflateGetHeader=inflateGetHeader,exports.inflateSetDictionary=inflateSetDictionary,exports.inflateInfo=\"pako inflate (from Nodeca project)\"}}),require_constants=__commonJS({\"node_modules/pako/lib/zlib/constants.js\"(exports,module2){module2.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}}}),require_binding=__commonJS({\"node_modules/browserify-zlib/lib/binding.js\"(exports){var Zstream=require_zstream(),zlib_deflate=require_deflate(),zlib_inflate=require_inflate(),constants=require_constants();for(key in constants)exports[key]=constants[key];var key;exports.NONE=0,exports.DEFLATE=1,exports.INFLATE=2,exports.GZIP=3,exports.GUNZIP=4,exports.DEFLATERAW=5,exports.INFLATERAW=6,exports.UNZIP=7;var GZIP_HEADER_ID1=31,GZIP_HEADER_ID2=139;function Zlib(mode){if(typeof mode!==\"number\"||mode<exports.DEFLATE||mode>exports.UNZIP)@throwTypeError(\"Bad argument\");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=mode,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}Zlib.prototype={},Zlib.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}if(this.pending_close=!1,assert(this.init_done,\"close before init\"),assert(this.mode<=exports.UNZIP),this.mode===exports.DEFLATE||this.mode===exports.GZIP||this.mode===exports.DEFLATERAW)zlib_deflate.deflateEnd(this.strm);else if(this.mode===exports.INFLATE||this.mode===exports.GUNZIP||this.mode===exports.INFLATERAW||this.mode===exports.UNZIP)zlib_inflate.inflateEnd(this.strm);this.mode=exports.NONE,this.dictionary=null},Zlib.prototype.write=function(flush,input,in_off,in_len,out,out_off,out_len){return this._write(!0,flush,input,in_off,in_len,out,out_off,out_len)},Zlib.prototype.writeSync=function(flush,input,in_off,in_len,out,out_off,out_len){return this._write(!1,flush,input,in_off,in_len,out,out_off,out_len)},Zlib.prototype._write=function(async,flush,input,in_off,in_len,out,out_off,out_len){if(assert.equal(arguments.length,8),assert(this.init_done,\"write before init\"),assert(this.mode!==exports.NONE,\"already finalized\"),assert.equal(!1,this.write_in_progress,\"write already in progress\"),assert.equal(!1,this.pending_close,\"close is pending\"),this.write_in_progress=!0,assert.equal(!1,flush===void 0,\"must provide flush value\"),this.write_in_progress=!0,flush!==exports.Z_NO_FLUSH&&flush!==exports.Z_PARTIAL_FLUSH&&flush!==exports.Z_SYNC_FLUSH&&flush!==exports.Z_FULL_FLUSH&&flush!==exports.Z_FINISH&&flush!==exports.Z_BLOCK)throw new Error(\"Invalid flush value\");if(input==null)input=Buffer.alloc(0),in_len=0,in_off=0;if(this.strm.avail_in=in_len,this.strm.input=input,this.strm.next_in=in_off,this.strm.avail_out=out_len,this.strm.output=out,this.strm.next_out=out_off,this.flush=flush,!async){if(this._process(),this._checkError())return this._afterSync();return}var self=this;return process.nextTick(function(){self._process(),self._after()}),this},Zlib.prototype._afterSync=function(){var avail_out=this.strm.avail_out,avail_in=this.strm.avail_in;return this.write_in_progress=!1,[avail_in,avail_out]},Zlib.prototype._process=function(){var next_expected_header_byte=null;switch(this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:this.err=zlib_deflate.deflate(this.strm,this.flush);break;case exports.UNZIP:if(this.strm.avail_in>0)next_expected_header_byte=this.strm.next_in;switch(this.gzip_id_bytes_read){case 0:if(next_expected_header_byte===null)break;if(this.strm.input[next_expected_header_byte]===GZIP_HEADER_ID1){if(this.gzip_id_bytes_read=1,next_expected_header_byte++,this.strm.avail_in===1)break}else{this.mode=exports.INFLATE;break}case 1:if(next_expected_header_byte===null)break;if(this.strm.input[next_expected_header_byte]===GZIP_HEADER_ID2)this.gzip_id_bytes_read=2,this.mode=exports.GUNZIP;else this.mode=exports.INFLATE;break;default:throw new Error(\"invalid number of gzip magic number bytes read\")}case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:if(this.err=zlib_inflate.inflate(this.strm,this.flush),this.err===exports.Z_NEED_DICT&&this.dictionary){if(this.err=zlib_inflate.inflateSetDictionary(this.strm,this.dictionary),this.err===exports.Z_OK)this.err=zlib_inflate.inflate(this.strm,this.flush);else if(this.err===exports.Z_DATA_ERROR)this.err=exports.Z_NEED_DICT}while(this.strm.avail_in>0&&this.mode===exports.GUNZIP&&this.err===exports.Z_STREAM_END&&this.strm.next_in[0]!==0)this.reset(),this.err=zlib_inflate.inflate(this.strm,this.flush);break;default:throw new Error(\"Unknown mode \"+this.mode)}},Zlib.prototype._checkError=function(){switch(this.err){case exports.Z_OK:case exports.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===exports.Z_FINISH)return this._error(\"unexpected end of file\"),!1;break;case exports.Z_STREAM_END:break;case exports.Z_NEED_DICT:if(this.dictionary==null)this._error(\"Missing dictionary\");else this._error(\"Bad dictionary\");return!1;default:return this._error(\"Zlib error\"),!1}return!0},Zlib.prototype._after=function(){if(!this._checkError())return;var avail_out=this.strm.avail_out,avail_in=this.strm.avail_in;if(this.write_in_progress=!1,this.callback(avail_in,avail_out),this.pending_close)this.close()},Zlib.prototype._error=function(message){if(this.strm.msg)message=this.strm.msg;if(this.onerror(message,this.err),this.write_in_progress=!1,this.pending_close)this.close()},Zlib.prototype.init=function(windowBits,level,memLevel,strategy,dictionary){assert(arguments.length===4||arguments.length===5,\"init(windowBits, level, memLevel, strategy, [dictionary])\"),assert(windowBits>=8&&windowBits<=15,\"invalid windowBits\"),assert(level>=-1&&level<=9,\"invalid compression level\"),assert(memLevel>=1&&memLevel<=9,\"invalid memlevel\"),assert(strategy===exports.Z_FILTERED||strategy===exports.Z_HUFFMAN_ONLY||strategy===exports.Z_RLE||strategy===exports.Z_FIXED||strategy===exports.Z_DEFAULT_STRATEGY,\"invalid strategy\"),this._init(level,windowBits,memLevel,strategy,dictionary),this._setDictionary()},Zlib.prototype.params=function(){throw new Error(\"deflateParams Not supported\")},Zlib.prototype.reset=function(){this._reset(),this._setDictionary()},Zlib.prototype._init=function(level,windowBits,memLevel,strategy,dictionary){if(this.level=level,this.windowBits=windowBits,this.memLevel=memLevel,this.strategy=strategy,this.flush=exports.Z_NO_FLUSH,this.err=exports.Z_OK,this.mode===exports.GZIP||this.mode===exports.GUNZIP)this.windowBits+=16;if(this.mode===exports.UNZIP)this.windowBits+=32;if(this.mode===exports.DEFLATERAW||this.mode===exports.INFLATERAW)this.windowBits=-1*this.windowBits;switch(this.strm=new Zstream,this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:this.err=zlib_deflate.deflateInit2(this.strm,this.level,exports.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:case exports.UNZIP:this.err=zlib_inflate.inflateInit2(this.strm,this.windowBits);break;default:throw new Error(\"Unknown mode \"+this.mode)}if(this.err!==exports.Z_OK)this._error(\"Init error\");this.dictionary=dictionary,this.write_in_progress=!1,this.init_done=!0},Zlib.prototype._setDictionary=function(){if(this.dictionary==null)return;switch(this.err=exports.Z_OK,this.mode){case exports.DEFLATE:case exports.DEFLATERAW:this.err=zlib_deflate.deflateSetDictionary(this.strm,this.dictionary);break;default:break}if(this.err!==exports.Z_OK)this._error(\"Failed to set dictionary\")},Zlib.prototype._reset=function(){switch(this.err=exports.Z_OK,this.mode){case exports.DEFLATE:case exports.DEFLATERAW:case exports.GZIP:this.err=zlib_deflate.deflateReset(this.strm);break;case exports.INFLATE:case exports.INFLATERAW:case exports.GUNZIP:this.err=zlib_inflate.inflateReset(this.strm);break;default:break}if(this.err!==exports.Z_OK)this._error(\"Failed to reset stream\")},exports.Zlib=Zlib}}),require_lib=__commonJS({\"node_modules/browserify-zlib/lib/index.js\"(exports){var Buffer2=BufferModule.Buffer,Transform=StreamModule.Transform,binding=require_binding(),util=Util,kMaxLength=BufferModule.kMaxLength,kRangeErrorMessage=\"Cannot create final Buffer. It would be larger than 0x\"+kMaxLength.toString(16)+\" bytes\";binding.Z_MIN_WINDOWBITS=8,binding.Z_MAX_WINDOWBITS=15,binding.Z_DEFAULT_WINDOWBITS=15,binding.Z_MIN_CHUNK=64,binding.Z_MAX_CHUNK=Infinity,binding.Z_DEFAULT_CHUNK=16384,binding.Z_MIN_MEMLEVEL=1,binding.Z_MAX_MEMLEVEL=9,binding.Z_DEFAULT_MEMLEVEL=8,binding.Z_MIN_LEVEL=-1,binding.Z_MAX_LEVEL=9,binding.Z_DEFAULT_LEVEL=binding.Z_DEFAULT_COMPRESSION;var bkeys=Object.keys(binding);for(bk=0;bk<bkeys.length;bk++)if(bkey=bkeys[bk],bkey.match(/^Z/))Object.defineProperty(exports,bkey,{enumerable:!0,value:binding[bkey],writable:!1});var bkey,bk,codes={Z_OK:binding.Z_OK,Z_STREAM_END:binding.Z_STREAM_END,Z_NEED_DICT:binding.Z_NEED_DICT,Z_ERRNO:binding.Z_ERRNO,Z_STREAM_ERROR:binding.Z_STREAM_ERROR,Z_DATA_ERROR:binding.Z_DATA_ERROR,Z_MEM_ERROR:binding.Z_MEM_ERROR,Z_BUF_ERROR:binding.Z_BUF_ERROR,Z_VERSION_ERROR:binding.Z_VERSION_ERROR},ckeys=Object.keys(codes);for(ck=0;ck<ckeys.length;ck++)ckey=ckeys[ck],codes[codes[ckey]]=ckey;var ckey,ck;Object.defineProperty(exports,\"codes\",{enumerable:!0,value:Object.freeze(codes),writable:!1}),exports.constants=require_constants(),exports.Deflate=Deflate,exports.Inflate=Inflate,exports.Gzip=Gzip,exports.Gunzip=Gunzip,exports.DeflateRaw=DeflateRaw,exports.InflateRaw=InflateRaw,exports.Unzip=Unzip,exports.createDeflate=function(o){return new Deflate(o)},exports.createInflate=function(o){return new Inflate(o)},exports.createDeflateRaw=function(o){return new DeflateRaw(o)},exports.createInflateRaw=function(o){return new InflateRaw(o)},exports.createGzip=function(o){return new Gzip(o)},exports.createGunzip=function(o){return new Gunzip(o)},exports.createUnzip=function(o){return new Unzip(o)},exports.deflate=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Deflate(opts),buffer,callback)},exports.deflateSync=function(buffer,opts){return zlibBufferSync(new Deflate(opts),buffer)},exports.gzip=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Gzip(opts),buffer,callback)},exports.gzipSync=function(buffer,opts){return zlibBufferSync(new Gzip(opts),buffer)},exports.deflateRaw=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new DeflateRaw(opts),buffer,callback)},exports.deflateRawSync=function(buffer,opts){return zlibBufferSync(new DeflateRaw(opts),buffer)},exports.unzip=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Unzip(opts),buffer,callback)},exports.unzipSync=function(buffer,opts){return zlibBufferSync(new Unzip(opts),buffer)},exports.inflate=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Inflate(opts),buffer,callback)},exports.inflateSync=function(buffer,opts){return zlibBufferSync(new Inflate(opts),buffer)},exports.gunzip=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Gunzip(opts),buffer,callback)},exports.gunzipSync=function(buffer,opts){return zlibBufferSync(new Gunzip(opts),buffer)},exports.inflateRaw=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new InflateRaw(opts),buffer,callback)},exports.inflateRawSync=function(buffer,opts){return zlibBufferSync(new InflateRaw(opts),buffer)};function zlibBuffer(engine,buffer,callback){var buffers=[],nread=0;engine.on(\"error\",onError),engine.on(\"end\",onEnd),engine.end(buffer),flow();function flow(){var chunk;while((chunk=engine.read())!==null)buffers.push(chunk),nread+=chunk.length;engine.once(\"readable\",flow)}function onError(err){engine.removeListener(\"end\",onEnd),engine.removeListener(\"readable\",flow),callback(err)}function onEnd(){var buf,err=null;if(nread>=kMaxLength)err=new RangeError(kRangeErrorMessage);else buf=Buffer2.concat(buffers,nread);buffers=[],engine.close(),callback(err,buf)}}function zlibBufferSync(engine,buffer){if(typeof buffer===\"string\")buffer=Buffer2.from(buffer);if(!Buffer2.isBuffer(buffer))@throwTypeError(\"Not a string or buffer\");var flushFlag=engine._finishFlushFlag;return engine._processChunk(buffer,flushFlag)}function Deflate(opts){if(!(this instanceof Deflate))return new Deflate(opts);Zlib.call(this,opts,binding.DEFLATE)}function Inflate(opts){if(!(this instanceof Inflate))return new Inflate(opts);Zlib.call(this,opts,binding.INFLATE)}function Gzip(opts){if(!(this instanceof Gzip))return new Gzip(opts);Zlib.call(this,opts,binding.GZIP)}function Gunzip(opts){if(!(this instanceof Gunzip))return new Gunzip(opts);Zlib.call(this,opts,binding.GUNZIP)}function DeflateRaw(opts){if(!(this instanceof DeflateRaw))return new DeflateRaw(opts);Zlib.call(this,opts,binding.DEFLATERAW)}function InflateRaw(opts){if(!(this instanceof InflateRaw))return new InflateRaw(opts);Zlib.call(this,opts,binding.INFLATERAW)}function Unzip(opts){if(!(this instanceof Unzip))return new Unzip(opts);Zlib.call(this,opts,binding.UNZIP)}function isValidFlushFlag(flag){return flag===binding.Z_NO_FLUSH||flag===binding.Z_PARTIAL_FLUSH||flag===binding.Z_SYNC_FLUSH||flag===binding.Z_FULL_FLUSH||flag===binding.Z_FINISH||flag===binding.Z_BLOCK}function Zlib(opts,mode){var _this=this;if(this._opts=opts=opts||{},this._chunkSize=opts.chunkSize||exports.Z_DEFAULT_CHUNK,Transform.call(this,opts),opts.flush&&!isValidFlushFlag(opts.flush))throw new Error(\"Invalid flush flag: \"+opts.flush);if(opts.finishFlush&&!isValidFlushFlag(opts.finishFlush))throw new Error(\"Invalid flush flag: \"+opts.finishFlush);if(this._flushFlag=opts.flush||binding.Z_NO_FLUSH,this._finishFlushFlag=typeof opts.finishFlush!==\"undefined\"\?opts.finishFlush:binding.Z_FINISH,opts.chunkSize){if(opts.chunkSize<exports.Z_MIN_CHUNK||opts.chunkSize>exports.Z_MAX_CHUNK)throw new Error(\"Invalid chunk size: \"+opts.chunkSize)}if(opts.windowBits){if(opts.windowBits<exports.Z_MIN_WINDOWBITS||opts.windowBits>exports.Z_MAX_WINDOWBITS)throw new Error(\"Invalid windowBits: \"+opts.windowBits)}if(opts.level){if(opts.level<exports.Z_MIN_LEVEL||opts.level>exports.Z_MAX_LEVEL)throw new Error(\"Invalid compression level: \"+opts.level)}if(opts.memLevel){if(opts.memLevel<exports.Z_MIN_MEMLEVEL||opts.memLevel>exports.Z_MAX_MEMLEVEL)throw new Error(\"Invalid memLevel: \"+opts.memLevel)}if(opts.strategy){if(opts.strategy!=exports.Z_FILTERED&&opts.strategy!=exports.Z_HUFFMAN_ONLY&&opts.strategy!=exports.Z_RLE&&opts.strategy!=exports.Z_FIXED&&opts.strategy!=exports.Z_DEFAULT_STRATEGY)throw new Error(\"Invalid strategy: \"+opts.strategy)}if(opts.dictionary){if(!Buffer2.isBuffer(opts.dictionary))throw new Error(\"Invalid dictionary: it should be a Buffer instance\")}this._handle=new binding.Zlib(mode);var self=this;this._hadError=!1,this._handle.onerror=function(message,errno){_close(self),self._hadError=!0;var error=new Error(message);error.errno=errno,error.code=exports.codes[errno],self.emit(\"error\",error)};var level=exports.Z_DEFAULT_COMPRESSION;if(typeof opts.level===\"number\")level=opts.level;var strategy=exports.Z_DEFAULT_STRATEGY;if(typeof opts.strategy===\"number\")strategy=opts.strategy;this._handle.init(opts.windowBits||exports.Z_DEFAULT_WINDOWBITS,level,opts.memLevel||exports.Z_DEFAULT_MEMLEVEL,strategy,opts.dictionary),this._buffer=Buffer2.allocUnsafe(this._chunkSize),this._offset=0,this._level=level,this._strategy=strategy,this.once(\"end\",this.close),Object.defineProperty(this,\"_closed\",{get:function(){return!_this._handle},configurable:!0,enumerable:!0})}util.inherits(Zlib,Transform),Zlib.prototype.params=function(level,strategy,callback){if(level<exports.Z_MIN_LEVEL||level>exports.Z_MAX_LEVEL)@throwRangeError(\"Invalid compression level: \"+level);if(strategy!=exports.Z_FILTERED&&strategy!=exports.Z_HUFFMAN_ONLY&&strategy!=exports.Z_RLE&&strategy!=exports.Z_FIXED&&strategy!=exports.Z_DEFAULT_STRATEGY)@throwTypeError(\"Invalid strategy: \"+strategy);if(this._level!==level||this._strategy!==strategy){var self=this;this.flush(binding.Z_SYNC_FLUSH,function(){if(assert(self._handle,\"zlib binding closed\"),self._handle.params(level,strategy),!self._hadError){if(self._level=level,self._strategy=strategy,callback)callback()}})}else process.nextTick(callback)},Zlib.prototype.reset=function(){return assert(this._handle,\"zlib binding closed\"),this._handle.reset()},Zlib.prototype._flush=function(callback){this._transform(Buffer2.alloc(0),\"\",callback)},Zlib.prototype.flush=function(kind,callback){var _this2=this,ws=this._writableState;if(typeof kind===\"function\"||kind===void 0&&!callback)callback=kind,kind=binding.Z_FULL_FLUSH;if(ws.ended){if(callback)process.nextTick(callback)}else if(ws.ending){if(callback)this.once(\"end\",callback)}else if(ws.needDrain){if(callback)this.once(\"drain\",function(){return _this2.flush(kind,callback)})}else this._flushFlag=kind,this.write(Buffer2.alloc(0),\"\",callback)},Zlib.prototype.close=function(callback){_close(this,callback),process.nextTick(emitCloseNT,this)};function _close(engine,callback){if(callback)process.nextTick(callback);if(!engine._handle)return;engine._handle.close(),engine._handle=null}function emitCloseNT(self){self.emit(\"close\")}Zlib.prototype._transform=function(chunk,encoding,cb){var flushFlag,ws=this._writableState,ending=ws.ending||ws.ended,last=ending&&(!chunk||ws.length===chunk.length);if(chunk!==null&&!Buffer2.isBuffer(chunk))return cb(new Error(\"invalid input\"));if(!this._handle)return cb(new Error(\"zlib binding closed\"));if(last)flushFlag=this._finishFlushFlag;else if(flushFlag=this._flushFlag,chunk.length>=ws.length)this._flushFlag=this._opts.flush||binding.Z_NO_FLUSH;this._processChunk(chunk,flushFlag,cb)},Zlib.prototype._processChunk=function(chunk,flushFlag,cb){var availInBefore=chunk&&chunk.length,availOutBefore=this._chunkSize-this._offset,inOff=0,self=this,async=typeof cb===\"function\";if(!async){var buffers=[],nread=0,error;this.on(\"error\",function(er){error=er}),assert(this._handle,\"zlib binding closed\");do var res=this._handle.writeSync(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);while(!this._hadError&&callback(res[0],res[1]));if(this._hadError)throw error;if(nread>=kMaxLength)_close(this),@throwRangeError(kRangeErrorMessage);var buf=Buffer2.concat(buffers,nread);return _close(this),buf}assert(this._handle,\"zlib binding closed\");var req=this._handle.write(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);req.buffer=chunk,req.callback=callback;function callback(availInAfter,availOutAfter){if(this)this.buffer=null,this.callback=null;if(self._hadError)return;var have=availOutBefore-availOutAfter;if(assert(have>=0,\"have should not go down\"),have>0){var out=self._buffer.slice(self._offset,self._offset+have);if(self._offset+=have,async)self.push(out);else buffers.push(out),nread+=out.length}if(availOutAfter===0||self._offset>=self._chunkSize)availOutBefore=self._chunkSize,self._offset=0,self._buffer=Buffer2.allocUnsafe(self._chunkSize);if(availOutAfter===0){if(inOff+=availInBefore-availInAfter,availInBefore=availInAfter,!async)return!0;var newReq=self._handle.write(flushFlag,chunk,inOff,availInBefore,self._buffer,self._offset,self._chunkSize);newReq.callback=callback,newReq.buffer=chunk;return}if(!async)return!1;cb()}},util.inherits(Deflate,Zlib),util.inherits(Inflate,Zlib),util.inherits(Gzip,Zlib),util.inherits(Gunzip,Zlib),util.inherits(DeflateRaw,Zlib),util.inherits(InflateRaw,Zlib),util.inherits(Unzip,Zlib)}});return require_lib()})\n"_s;
static constexpr ASCIILiteral ThirdpartyDepdCode = "(function (){\"use strict\";var $=function depd(namespace){if(!namespace)@throwTypeError(\"argument namespace is required\");function deprecate(message){}return deprecate._file=void 0,deprecate._ignored=!0,deprecate._namespace=namespace,deprecate._traced=!1,deprecate._warned=Object.create(null),deprecate.function=wrapfunction,deprecate.property=wrapproperty,deprecate};function wrapfunction(fn,message){if(typeof fn!==\"function\")@throwTypeError(\"argument fn must be a function\");return fn}function wrapproperty(obj,prop,message){if(!obj||typeof obj!==\"object\"&&typeof obj!==\"function\")@throwTypeError(\"argument obj must be object\");var descriptor=Object.getOwnPropertyDescriptor(obj,prop);if(!descriptor)@throwTypeError(\"must call property on owner object\");if(!descriptor.configurable)@throwTypeError(\"property must be configurable\")}return $})\n"_s;
static constexpr ASCIILiteral ThirdpartyDetectLibcCode = "(function (){\"use strict\";function family(){return Promise.resolve(familySync())}function familySync(){return null}const GLIBC=\"glibc\",MUSL=\"musl\";function versionAsync(){return Promise.resolve(version())}function version(){return null}function isNonGlibcLinuxSync(){return!1}function isNonGlibcLinux(){return Promise.resolve(isNonGlibcLinuxSync())}return{GLIBC,MUSL,family,familySync,isNonGlibcLinux,isNonGlibcLinuxSync,version,versionAsync}})\n"_s;
@@ -107,7 +107,7 @@ static constexpr ASCIILiteral NodeUtilCode = "(function (){\"use strict\";const
static constexpr ASCIILiteral NodeV8Code = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@getInternalField(@internalModuleRegistry,2)||@createInternalModuleById(2),jsc=@requireNativeModule(\"bun:jsc\");function notimpl(message){throwNotImplemented(\"node:v8 \"+message)}class Deserializer{constructor(){notimpl(\"Deserializer\")}}class Serializer{constructor(){notimpl(\"Serializer\")}}class DefaultDeserializer extends Deserializer{constructor(){super(...arguments)}}class DefaultSerializer extends Serializer{constructor(){super(...arguments)}}class GCProfiler{constructor(){notimpl(\"GCProfiler\")}}function cachedDataVersionTag(){notimpl(\"cachedDataVersionTag\")}function getHeapSnapshot(){notimpl(\"getHeapSnapshot\")}function getHeapStatistics(){notimpl(\"getHeapStatistics\")}function getHeapSpaceStatistics(){notimpl(\"getHeapSpaceStatistics\")}function getHeapCodeStatistics(){notimpl(\"getHeapCodeStatistics\")}function setFlagsFromString(){notimpl(\"setFlagsFromString\")}function deserialize(value){return jsc.deserialize(value)}function takeCoverage(){notimpl(\"takeCoverage\")}function stopCoverage(){notimpl(\"stopCoverage\")}function serialize(arg1){return jsc.serialize(arg1,{binaryType:\"nodebuffer\"})}function writeHeapSnapshot(){notimpl(\"writeHeapSnapshot\")}function setHeapSnapshotNearHeapLimit(){notimpl(\"setHeapSnapshotNearHeapLimit\")}return $={cachedDataVersionTag,getHeapSnapshot,getHeapStatistics,getHeapSpaceStatistics,getHeapCodeStatistics,setFlagsFromString,deserialize,takeCoverage,stopCoverage,serialize,writeHeapSnapshot,setHeapSnapshotNearHeapLimit,promiseHooks:{createHook:()=>{notimpl(\"createHook\")},onInit:()=>{notimpl(\"onInit\")},onBefore:()=>{notimpl(\"onBefore\")},onAfter:()=>{notimpl(\"onAfter\")},onSettled:()=>{notimpl(\"onSettled\")}},startupSnapshot:{addDeserializeCallback:()=>notimpl(\"addDeserializeCallback\"),addSerializeCallback:()=>notimpl(\"addSerializeCallback\"),setDeserializeMainFunction:()=>notimpl(\"setDeserializeMainFunction\"),isBuildingSnapshot:()=>notimpl(\"isBuildingSnapshot\")},Deserializer,Serializer},hideFromStack(notimpl,cachedDataVersionTag,getHeapSnapshot,getHeapStatistics,getHeapSpaceStatistics,getHeapCodeStatistics,setFlagsFromString,deserialize,takeCoverage,stopCoverage,serialize,writeHeapSnapshot,setHeapSnapshotNearHeapLimit,Deserializer,Serializer,DefaultDeserializer,DefaultSerializer,GCProfiler),$})\n"_s;
static constexpr ASCIILiteral NodeVMCode = "(function (){\"use strict\";const{throwNotImplemented}=@getInternalField(@internalModuleRegistry,2)||@createInternalModuleById(2),vm=globalThis[globalThis.Symbol.for('Bun.lazy')](\"vm\"),{createContext,isContext,Script,runInNewContext,runInThisContext}=vm;function runInContext(code,context,options){return new Script(code,options).runInContext(context)}function compileFunction(){throwNotImplemented(\"node:vm compileFunction\")}function measureMemory(){throwNotImplemented(\"node:vm measureMemory\")}class Module{constructor(){throwNotImplemented(\"node:vm Module\")}}class SourceTextModule{constructor(){throwNotImplemented(\"node:vm Module\")}}class SyntheticModule{constructor(){throwNotImplemented(\"node:vm Module\")}}return{createContext,runInContext,runInNewContext,runInThisContext,isContext,compileFunction,measureMemory,Script,Module,SourceTextModule,SyntheticModule}})\n"_s;
static constexpr ASCIILiteral NodeWasiCode = "(function (){\"use strict\";const nodeFsConstants=@processBindingConstants.fs;var __getOwnPropNames=Object.getOwnPropertyNames,__commonJS=(cb,mod)=>function __require2(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_types=__commonJS({\"node_modules/wasi-js/dist/types.js\"(exports){Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.WASIKillError=exports.WASIExitError=exports.WASIError=void 0;var WASIError=class extends Error{constructor(errno){super();this.errno=errno,Object.setPrototypeOf(this,WASIError.prototype)}};exports.WASIError=WASIError;var WASIExitError=class extends Error{constructor(code){super(`WASI Exit error: ${code}`);this.code=code,Object.setPrototypeOf(this,WASIExitError.prototype)}};exports.WASIExitError=WASIExitError;var WASIKillError=class extends Error{constructor(signal){super(`WASI Kill signal: ${signal}`);this.signal=signal,Object.setPrototypeOf(this,WASIKillError.prototype)}};exports.WASIKillError=WASIKillError}}),require_constants=__commonJS({\"node_modules/wasi-js/dist/constants.js\"(exports){Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.WASI_ENOMSG=exports.WASI_ENOMEM=exports.WASI_ENOLINK=exports.WASI_ENOLCK=exports.WASI_ENOEXEC=exports.WASI_ENOENT=exports.WASI_ENODEV=exports.WASI_ENOBUFS=exports.WASI_ENFILE=exports.WASI_ENETUNREACH=exports.WASI_ENETRESET=exports.WASI_ENETDOWN=exports.WASI_ENAMETOOLONG=exports.WASI_EMULTIHOP=exports.WASI_EMSGSIZE=exports.WASI_EMLINK=exports.WASI_EMFILE=exports.WASI_ELOOP=exports.WASI_EISDIR=exports.WASI_EISCONN=exports.WASI_EIO=exports.WASI_EINVAL=exports.WASI_EINTR=exports.WASI_EINPROGRESS=exports.WASI_EILSEQ=exports.WASI_EIDRM=exports.WASI_EHOSTUNREACH=exports.WASI_EFBIG=exports.WASI_EFAULT=exports.WASI_EEXIST=exports.WASI_EDQUOT=exports.WASI_EDOM=exports.WASI_EDESTADDRREQ=exports.WASI_EDEADLK=exports.WASI_ECONNRESET=exports.WASI_ECONNREFUSED=exports.WASI_ECONNABORTED=exports.WASI_ECHILD=exports.WASI_ECANCELED=exports.WASI_EBUSY=exports.WASI_EBADMSG=exports.WASI_EBADF=exports.WASI_EALREADY=exports.WASI_EAGAIN=exports.WASI_EAFNOSUPPORT=exports.WASI_EADDRNOTAVAIL=exports.WASI_EADDRINUSE=exports.WASI_EACCES=exports.WASI_E2BIG=exports.WASI_ESUCCESS=void 0,exports.WASI_SIGVTALRM=exports.WASI_SIGUSR2=exports.WASI_SIGUSR1=exports.WASI_SIGURG=exports.WASI_SIGTTOU=exports.WASI_SIGTTIN=exports.WASI_SIGTSTP=exports.WASI_SIGTRAP=exports.WASI_SIGTERM=exports.WASI_SIGSTOP=exports.WASI_SIGSEGV=exports.WASI_SIGQUIT=exports.WASI_SIGPIPE=exports.WASI_SIGKILL=exports.WASI_SIGINT=exports.WASI_SIGILL=exports.WASI_SIGHUP=exports.WASI_SIGFPE=exports.WASI_SIGCONT=exports.WASI_SIGCHLD=exports.WASI_SIGBUS=exports.WASI_SIGALRM=exports.WASI_SIGABRT=exports.WASI_ENOTCAPABLE=exports.WASI_EXDEV=exports.WASI_ETXTBSY=exports.WASI_ETIMEDOUT=exports.WASI_ESTALE=exports.WASI_ESRCH=exports.WASI_ESPIPE=exports.WASI_EROFS=exports.WASI_ERANGE=exports.WASI_EPROTOTYPE=exports.WASI_EPROTONOSUPPORT=exports.WASI_EPROTO=exports.WASI_EPIPE=exports.WASI_EPERM=exports.WASI_EOWNERDEAD=exports.WASI_EOVERFLOW=exports.WASI_ENXIO=exports.WASI_ENOTTY=exports.WASI_ENOTSUP=exports.WASI_ENOTSOCK=exports.WASI_ENOTRECOVERABLE=exports.WASI_ENOTEMPTY=exports.WASI_ENOTDIR=exports.WASI_ENOTCONN=exports.WASI_ENOSYS=exports.WASI_ENOSPC=exports.WASI_ENOPROTOOPT=void 0,exports.RIGHTS_REGULAR_FILE_BASE=exports.RIGHTS_CHARACTER_DEVICE_INHERITING=exports.RIGHTS_CHARACTER_DEVICE_BASE=exports.RIGHTS_BLOCK_DEVICE_INHERITING=exports.RIGHTS_BLOCK_DEVICE_BASE=exports.RIGHTS_ALL=exports.WASI_RIGHT_SOCK_SHUTDOWN=exports.WASI_RIGHT_POLL_FD_READWRITE=exports.WASI_RIGHT_PATH_UNLINK_FILE=exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY=exports.WASI_RIGHT_PATH_SYMLINK=exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES=exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE=exports.WASI_RIGHT_FD_FILESTAT_GET=exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES=exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE=exports.WASI_RIGHT_PATH_FILESTAT_GET=exports.WASI_RIGHT_PATH_RENAME_TARGET=exports.WASI_RIGHT_PATH_RENAME_SOURCE=exports.WASI_RIGHT_PATH_READLINK=exports.WASI_RIGHT_FD_READDIR=exports.WASI_RIGHT_PATH_OPEN=exports.WASI_RIGHT_PATH_LINK_TARGET=exports.WASI_RIGHT_PATH_LINK_SOURCE=exports.WASI_RIGHT_PATH_CREATE_FILE=exports.WASI_RIGHT_PATH_CREATE_DIRECTORY=exports.WASI_RIGHT_FD_ALLOCATE=exports.WASI_RIGHT_FD_ADVISE=exports.WASI_RIGHT_FD_WRITE=exports.WASI_RIGHT_FD_TELL=exports.WASI_RIGHT_FD_SYNC=exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS=exports.WASI_RIGHT_FD_SEEK=exports.WASI_RIGHT_FD_READ=exports.WASI_RIGHT_FD_DATASYNC=exports.WASI_FDFLAG_SYNC=exports.WASI_FDFLAG_RSYNC=exports.WASI_FDFLAG_NONBLOCK=exports.WASI_FDFLAG_DSYNC=exports.WASI_FDFLAG_APPEND=exports.WASI_FILETYPE_SYMBOLIC_LINK=exports.WASI_FILETYPE_SOCKET_STREAM=exports.WASI_FILETYPE_SOCKET_DGRAM=exports.WASI_FILETYPE_REGULAR_FILE=exports.WASI_FILETYPE_DIRECTORY=exports.WASI_FILETYPE_CHARACTER_DEVICE=exports.WASI_FILETYPE_BLOCK_DEVICE=exports.WASI_FILETYPE_UNKNOWN=exports.WASI_SIGXFSZ=exports.WASI_SIGXCPU=void 0,exports.SIGNAL_MAP=exports.ERROR_MAP=exports.WASI_WHENCE_END=exports.WASI_WHENCE_CUR=exports.WASI_WHENCE_SET=exports.WASI_STDERR_FILENO=exports.WASI_STDOUT_FILENO=exports.WASI_STDIN_FILENO=exports.WASI_DIRCOOKIE_START=exports.WASI_PREOPENTYPE_DIR=exports.WASI_O_TRUNC=exports.WASI_O_EXCL=exports.WASI_O_DIRECTORY=exports.WASI_O_CREAT=exports.WASI_FILESTAT_SET_MTIM_NOW=exports.WASI_FILESTAT_SET_MTIM=exports.WASI_FILESTAT_SET_ATIM_NOW=exports.WASI_FILESTAT_SET_ATIM=exports.WASI_EVENTTYPE_FD_WRITE=exports.WASI_EVENTTYPE_FD_READ=exports.WASI_EVENTTYPE_CLOCK=exports.WASI_CLOCK_THREAD_CPUTIME_ID=exports.WASI_CLOCK_PROCESS_CPUTIME_ID=exports.WASI_CLOCK_MONOTONIC=exports.WASI_CLOCK_REALTIME=exports.RIGHTS_TTY_INHERITING=exports.RIGHTS_TTY_BASE=exports.RIGHTS_SOCKET_INHERITING=exports.RIGHTS_SOCKET_BASE=exports.RIGHTS_DIRECTORY_INHERITING=exports.RIGHTS_DIRECTORY_BASE=exports.RIGHTS_REGULAR_FILE_INHERITING=void 0,exports.WASI_ESUCCESS=0,exports.WASI_E2BIG=1,exports.WASI_EACCES=2,exports.WASI_EADDRINUSE=3,exports.WASI_EADDRNOTAVAIL=4,exports.WASI_EAFNOSUPPORT=5,exports.WASI_EAGAIN=6,exports.WASI_EALREADY=7,exports.WASI_EBADF=8,exports.WASI_EBADMSG=9,exports.WASI_EBUSY=10,exports.WASI_ECANCELED=11,exports.WASI_ECHILD=12,exports.WASI_ECONNABORTED=13,exports.WASI_ECONNREFUSED=14,exports.WASI_ECONNRESET=15,exports.WASI_EDEADLK=16,exports.WASI_EDESTADDRREQ=17,exports.WASI_EDOM=18,exports.WASI_EDQUOT=19,exports.WASI_EEXIST=20,exports.WASI_EFAULT=21,exports.WASI_EFBIG=22,exports.WASI_EHOSTUNREACH=23,exports.WASI_EIDRM=24,exports.WASI_EILSEQ=25,exports.WASI_EINPROGRESS=26,exports.WASI_EINTR=27,exports.WASI_EINVAL=28,exports.WASI_EIO=29,exports.WASI_EISCONN=30,exports.WASI_EISDIR=31,exports.WASI_ELOOP=32,exports.WASI_EMFILE=33,exports.WASI_EMLINK=34,exports.WASI_EMSGSIZE=35,exports.WASI_EMULTIHOP=36,exports.WASI_ENAMETOOLONG=37,exports.WASI_ENETDOWN=38,exports.WASI_ENETRESET=39,exports.WASI_ENETUNREACH=40,exports.WASI_ENFILE=41,exports.WASI_ENOBUFS=42,exports.WASI_ENODEV=43,exports.WASI_ENOENT=44,exports.WASI_ENOEXEC=45,exports.WASI_ENOLCK=46,exports.WASI_ENOLINK=47,exports.WASI_ENOMEM=48,exports.WASI_ENOMSG=49,exports.WASI_ENOPROTOOPT=50,exports.WASI_ENOSPC=51,exports.WASI_ENOSYS=52,exports.WASI_ENOTCONN=53,exports.WASI_ENOTDIR=54,exports.WASI_ENOTEMPTY=55,exports.WASI_ENOTRECOVERABLE=56,exports.WASI_ENOTSOCK=57,exports.WASI_ENOTSUP=58,exports.WASI_ENOTTY=59,exports.WASI_ENXIO=60,exports.WASI_EOVERFLOW=61,exports.WASI_EOWNERDEAD=62,exports.WASI_EPERM=63,exports.WASI_EPIPE=64,exports.WASI_EPROTO=65,exports.WASI_EPROTONOSUPPORT=66,exports.WASI_EPROTOTYPE=67,exports.WASI_ERANGE=68,exports.WASI_EROFS=69,exports.WASI_ESPIPE=70,exports.WASI_ESRCH=71,exports.WASI_ESTALE=72,exports.WASI_ETIMEDOUT=73,exports.WASI_ETXTBSY=74,exports.WASI_EXDEV=75,exports.WASI_ENOTCAPABLE=76,exports.WASI_SIGABRT=0,exports.WASI_SIGALRM=1,exports.WASI_SIGBUS=2,exports.WASI_SIGCHLD=3,exports.WASI_SIGCONT=4,exports.WASI_SIGFPE=5,exports.WASI_SIGHUP=6,exports.WASI_SIGILL=7,exports.WASI_SIGINT=8,exports.WASI_SIGKILL=9,exports.WASI_SIGPIPE=10,exports.WASI_SIGQUIT=11,exports.WASI_SIGSEGV=12,exports.WASI_SIGSTOP=13,exports.WASI_SIGTERM=14,exports.WASI_SIGTRAP=15,exports.WASI_SIGTSTP=16,exports.WASI_SIGTTIN=17,exports.WASI_SIGTTOU=18,exports.WASI_SIGURG=19,exports.WASI_SIGUSR1=20,exports.WASI_SIGUSR2=21,exports.WASI_SIGVTALRM=22,exports.WASI_SIGXCPU=23,exports.WASI_SIGXFSZ=24,exports.WASI_FILETYPE_UNKNOWN=0,exports.WASI_FILETYPE_BLOCK_DEVICE=1,exports.WASI_FILETYPE_CHARACTER_DEVICE=2,exports.WASI_FILETYPE_DIRECTORY=3,exports.WASI_FILETYPE_REGULAR_FILE=4,exports.WASI_FILETYPE_SOCKET_DGRAM=5,exports.WASI_FILETYPE_SOCKET_STREAM=6,exports.WASI_FILETYPE_SYMBOLIC_LINK=7,exports.WASI_FDFLAG_APPEND=1,exports.WASI_FDFLAG_DSYNC=2,exports.WASI_FDFLAG_NONBLOCK=4,exports.WASI_FDFLAG_RSYNC=8,exports.WASI_FDFLAG_SYNC=16,exports.WASI_RIGHT_FD_DATASYNC=BigInt(1),exports.WASI_RIGHT_FD_READ=BigInt(2),exports.WASI_RIGHT_FD_SEEK=BigInt(4),exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS=BigInt(8),exports.WASI_RIGHT_FD_SYNC=BigInt(16),exports.WASI_RIGHT_FD_TELL=BigInt(32),exports.WASI_RIGHT_FD_WRITE=BigInt(64),exports.WASI_RIGHT_FD_ADVISE=BigInt(128),exports.WASI_RIGHT_FD_ALLOCATE=BigInt(256),exports.WASI_RIGHT_PATH_CREATE_DIRECTORY=BigInt(512),exports.WASI_RIGHT_PATH_CREATE_FILE=BigInt(1024),exports.WASI_RIGHT_PATH_LINK_SOURCE=BigInt(2048),exports.WASI_RIGHT_PATH_LINK_TARGET=BigInt(4096),exports.WASI_RIGHT_PATH_OPEN=BigInt(8192),exports.WASI_RIGHT_FD_READDIR=BigInt(16384),exports.WASI_RIGHT_PATH_READLINK=BigInt(32768),exports.WASI_RIGHT_PATH_RENAME_SOURCE=BigInt(65536),exports.WASI_RIGHT_PATH_RENAME_TARGET=BigInt(131072),exports.WASI_RIGHT_PATH_FILESTAT_GET=BigInt(262144),exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE=BigInt(524288),exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES=BigInt(1048576),exports.WASI_RIGHT_FD_FILESTAT_GET=BigInt(2097152),exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE=BigInt(4194304),exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES=BigInt(8388608),exports.WASI_RIGHT_PATH_SYMLINK=BigInt(16777216),exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY=BigInt(33554432),exports.WASI_RIGHT_PATH_UNLINK_FILE=BigInt(67108864),exports.WASI_RIGHT_POLL_FD_READWRITE=BigInt(134217728),exports.WASI_RIGHT_SOCK_SHUTDOWN=BigInt(268435456),exports.RIGHTS_ALL=exports.WASI_RIGHT_FD_DATASYNC|exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_SEEK|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_TELL|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_FD_ALLOCATE|exports.WASI_RIGHT_PATH_CREATE_DIRECTORY|exports.WASI_RIGHT_PATH_CREATE_FILE|exports.WASI_RIGHT_PATH_LINK_SOURCE|exports.WASI_RIGHT_PATH_LINK_TARGET|exports.WASI_RIGHT_PATH_OPEN|exports.WASI_RIGHT_FD_READDIR|exports.WASI_RIGHT_PATH_READLINK|exports.WASI_RIGHT_PATH_RENAME_SOURCE|exports.WASI_RIGHT_PATH_RENAME_TARGET|exports.WASI_RIGHT_PATH_FILESTAT_GET|exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_SYMLINK|exports.WASI_RIGHT_PATH_UNLINK_FILE|exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY|exports.WASI_RIGHT_POLL_FD_READWRITE|exports.WASI_RIGHT_SOCK_SHUTDOWN,exports.RIGHTS_BLOCK_DEVICE_BASE=exports.RIGHTS_ALL,exports.RIGHTS_BLOCK_DEVICE_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_CHARACTER_DEVICE_BASE=exports.RIGHTS_ALL,exports.RIGHTS_CHARACTER_DEVICE_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_REGULAR_FILE_BASE=exports.WASI_RIGHT_FD_DATASYNC|exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_SEEK|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_TELL|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_FD_ALLOCATE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_REGULAR_FILE_INHERITING=BigInt(0),exports.RIGHTS_DIRECTORY_BASE=exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_PATH_CREATE_DIRECTORY|exports.WASI_RIGHT_PATH_CREATE_FILE|exports.WASI_RIGHT_PATH_LINK_SOURCE|exports.WASI_RIGHT_PATH_LINK_TARGET|exports.WASI_RIGHT_PATH_OPEN|exports.WASI_RIGHT_FD_READDIR|exports.WASI_RIGHT_PATH_READLINK|exports.WASI_RIGHT_PATH_RENAME_SOURCE|exports.WASI_RIGHT_PATH_RENAME_TARGET|exports.WASI_RIGHT_PATH_FILESTAT_GET|exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_PATH_SYMLINK|exports.WASI_RIGHT_PATH_UNLINK_FILE|exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_DIRECTORY_INHERITING=exports.RIGHTS_DIRECTORY_BASE|exports.RIGHTS_REGULAR_FILE_BASE,exports.RIGHTS_SOCKET_BASE=exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_POLL_FD_READWRITE|exports.WASI_RIGHT_SOCK_SHUTDOWN,exports.RIGHTS_SOCKET_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_TTY_BASE=exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_TTY_INHERITING=BigInt(0),exports.WASI_CLOCK_REALTIME=0,exports.WASI_CLOCK_MONOTONIC=1,exports.WASI_CLOCK_PROCESS_CPUTIME_ID=2,exports.WASI_CLOCK_THREAD_CPUTIME_ID=3,exports.WASI_EVENTTYPE_CLOCK=0,exports.WASI_EVENTTYPE_FD_READ=1,exports.WASI_EVENTTYPE_FD_WRITE=2,exports.WASI_FILESTAT_SET_ATIM=1<<0,exports.WASI_FILESTAT_SET_ATIM_NOW=1<<1,exports.WASI_FILESTAT_SET_MTIM=1<<2,exports.WASI_FILESTAT_SET_MTIM_NOW=1<<3,exports.WASI_O_CREAT=1<<0,exports.WASI_O_DIRECTORY=1<<1,exports.WASI_O_EXCL=1<<2,exports.WASI_O_TRUNC=1<<3,exports.WASI_PREOPENTYPE_DIR=0,exports.WASI_DIRCOOKIE_START=0,exports.WASI_STDIN_FILENO=0,exports.WASI_STDOUT_FILENO=1,exports.WASI_STDERR_FILENO=2,exports.WASI_WHENCE_SET=0,exports.WASI_WHENCE_CUR=1,exports.WASI_WHENCE_END=2,exports.ERROR_MAP={E2BIG:exports.WASI_E2BIG,EACCES:exports.WASI_EACCES,EADDRINUSE:exports.WASI_EADDRINUSE,EADDRNOTAVAIL:exports.WASI_EADDRNOTAVAIL,EAFNOSUPPORT:exports.WASI_EAFNOSUPPORT,EALREADY:exports.WASI_EALREADY,EAGAIN:exports.WASI_EAGAIN,EBADF:exports.WASI_EBADF,EBADMSG:exports.WASI_EBADMSG,EBUSY:exports.WASI_EBUSY,ECANCELED:exports.WASI_ECANCELED,ECHILD:exports.WASI_ECHILD,ECONNABORTED:exports.WASI_ECONNABORTED,ECONNREFUSED:exports.WASI_ECONNREFUSED,ECONNRESET:exports.WASI_ECONNRESET,EDEADLOCK:exports.WASI_EDEADLK,EDESTADDRREQ:exports.WASI_EDESTADDRREQ,EDOM:exports.WASI_EDOM,EDQUOT:exports.WASI_EDQUOT,EEXIST:exports.WASI_EEXIST,EFAULT:exports.WASI_EFAULT,EFBIG:exports.WASI_EFBIG,EHOSTDOWN:exports.WASI_EHOSTUNREACH,EHOSTUNREACH:exports.WASI_EHOSTUNREACH,EIDRM:exports.WASI_EIDRM,EILSEQ:exports.WASI_EILSEQ,EINPROGRESS:exports.WASI_EINPROGRESS,EINTR:exports.WASI_EINTR,EINVAL:exports.WASI_EINVAL,EIO:exports.WASI_EIO,EISCONN:exports.WASI_EISCONN,EISDIR:exports.WASI_EISDIR,ELOOP:exports.WASI_ELOOP,EMFILE:exports.WASI_EMFILE,EMLINK:exports.WASI_EMLINK,EMSGSIZE:exports.WASI_EMSGSIZE,EMULTIHOP:exports.WASI_EMULTIHOP,ENAMETOOLONG:exports.WASI_ENAMETOOLONG,ENETDOWN:exports.WASI_ENETDOWN,ENETRESET:exports.WASI_ENETRESET,ENETUNREACH:exports.WASI_ENETUNREACH,ENFILE:exports.WASI_ENFILE,ENOBUFS:exports.WASI_ENOBUFS,ENODEV:exports.WASI_ENODEV,ENOENT:exports.WASI_ENOENT,ENOEXEC:exports.WASI_ENOEXEC,ENOLCK:exports.WASI_ENOLCK,ENOLINK:exports.WASI_ENOLINK,ENOMEM:exports.WASI_ENOMEM,ENOMSG:exports.WASI_ENOMSG,ENOPROTOOPT:exports.WASI_ENOPROTOOPT,ENOSPC:exports.WASI_ENOSPC,ENOSYS:exports.WASI_ENOSYS,ENOTCONN:exports.WASI_ENOTCONN,ENOTDIR:exports.WASI_ENOTDIR,ENOTEMPTY:exports.WASI_ENOTEMPTY,ENOTRECOVERABLE:exports.WASI_ENOTRECOVERABLE,ENOTSOCK:exports.WASI_ENOTSOCK,ENOTTY:exports.WASI_ENOTTY,ENXIO:exports.WASI_ENXIO,EOVERFLOW:exports.WASI_EOVERFLOW,EOWNERDEAD:exports.WASI_EOWNERDEAD,EPERM:exports.WASI_EPERM,EPIPE:exports.WASI_EPIPE,EPROTO:exports.WASI_EPROTO,EPROTONOSUPPORT:exports.WASI_EPROTONOSUPPORT,EPROTOTYPE:exports.WASI_EPROTOTYPE,ERANGE:exports.WASI_ERANGE,EROFS:exports.WASI_EROFS,ESPIPE:exports.WASI_ESPIPE,ESRCH:exports.WASI_ESRCH,ESTALE:exports.WASI_ESTALE,ETIMEDOUT:exports.WASI_ETIMEDOUT,ETXTBSY:exports.WASI_ETXTBSY,EXDEV:exports.WASI_EXDEV},exports.SIGNAL_MAP={[exports.WASI_SIGHUP]:\"SIGHUP\",[exports.WASI_SIGINT]:\"SIGINT\",[exports.WASI_SIGQUIT]:\"SIGQUIT\",[exports.WASI_SIGILL]:\"SIGILL\",[exports.WASI_SIGTRAP]:\"SIGTRAP\",[exports.WASI_SIGABRT]:\"SIGABRT\",[exports.WASI_SIGBUS]:\"SIGBUS\",[exports.WASI_SIGFPE]:\"SIGFPE\",[exports.WASI_SIGKILL]:\"SIGKILL\",[exports.WASI_SIGUSR1]:\"SIGUSR1\",[exports.WASI_SIGSEGV]:\"SIGSEGV\",[exports.WASI_SIGUSR2]:\"SIGUSR2\",[exports.WASI_SIGPIPE]:\"SIGPIPE\",[exports.WASI_SIGALRM]:\"SIGALRM\",[exports.WASI_SIGTERM]:\"SIGTERM\",[exports.WASI_SIGCHLD]:\"SIGCHLD\",[exports.WASI_SIGCONT]:\"SIGCONT\",[exports.WASI_SIGSTOP]:\"SIGSTOP\",[exports.WASI_SIGTSTP]:\"SIGTSTP\",[exports.WASI_SIGTTIN]:\"SIGTTIN\",[exports.WASI_SIGTTOU]:\"SIGTTOU\",[exports.WASI_SIGURG]:\"SIGURG\",[exports.WASI_SIGXCPU]:\"SIGXCPU\",[exports.WASI_SIGXFSZ]:\"SIGXFSZ\",[exports.WASI_SIGVTALRM]:\"SIGVTALRM\"}}}),require_wasi=__commonJS({\"node_modules/wasi-js/dist/wasi.js\"(exports){var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule\?mod:{default:mod}};let fs;Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.SOCKET_DEFAULT_RIGHTS=void 0;var log=()=>{},logOpen=()=>{},SC_OPEN_MAX=32768,types_1=require_types(),constants_1=require_constants(),STDIN_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_SYNC|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE,STDOUT_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_SYNC|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE,STDERR_DEFAULT_RIGHTS=STDOUT_DEFAULT_RIGHTS;exports.SOCKET_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE|constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS;var msToNs=(ms)=>{const msInt=Math.trunc(ms),decimal=BigInt(Math.round((ms-msInt)*1e6));return BigInt(msInt)*BigInt(1e6)+decimal},nsToMs=(ns)=>{if(typeof ns===\"number\")ns=Math.trunc(ns);const nsInt=BigInt(ns);return Number(nsInt/BigInt(1e6))},wrap=(f)=>(...args)=>{try{return f(...args)}catch(err){let e=err;while(e.prev!=null)e=e.prev;if(e\?.code&&typeof e\?.code===\"string\")return constants_1.ERROR_MAP[e.code]||constants_1.WASI_EINVAL;if(e instanceof types_1.WASIError)return e.errno;throw e}},stat=(wasi,fd)=>{const entry=wasi.FD_MAP.get(fd);if(!entry)throw new types_1.WASIError(constants_1.WASI_EBADF);if(entry.filetype===void 0){const stats=wasi.fstatSync(entry.real),{filetype,rightsBase,rightsInheriting}=translateFileAttributes(wasi,fd,stats);if(entry.filetype=filetype,!entry.rights)entry.rights={base:rightsBase,inheriting:rightsInheriting}}return entry},translateFileAttributes=(wasi,fd,stats)=>{switch(!0){case stats.isBlockDevice():return{filetype:constants_1.WASI_FILETYPE_BLOCK_DEVICE,rightsBase:constants_1.RIGHTS_BLOCK_DEVICE_BASE,rightsInheriting:constants_1.RIGHTS_BLOCK_DEVICE_INHERITING};case stats.isCharacterDevice():{const filetype=constants_1.WASI_FILETYPE_CHARACTER_DEVICE;if(fd!==void 0&&wasi.bindings.isTTY(fd))return{filetype,rightsBase:constants_1.RIGHTS_TTY_BASE,rightsInheriting:constants_1.RIGHTS_TTY_INHERITING};return{filetype,rightsBase:constants_1.RIGHTS_CHARACTER_DEVICE_BASE,rightsInheriting:constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING}}case stats.isDirectory():return{filetype:constants_1.WASI_FILETYPE_DIRECTORY,rightsBase:constants_1.RIGHTS_DIRECTORY_BASE,rightsInheriting:constants_1.RIGHTS_DIRECTORY_INHERITING};case stats.isFIFO():return{filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rightsBase:constants_1.RIGHTS_SOCKET_BASE,rightsInheriting:constants_1.RIGHTS_SOCKET_INHERITING};case stats.isFile():return{filetype:constants_1.WASI_FILETYPE_REGULAR_FILE,rightsBase:constants_1.RIGHTS_REGULAR_FILE_BASE,rightsInheriting:constants_1.RIGHTS_REGULAR_FILE_INHERITING};case stats.isSocket():return{filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rightsBase:constants_1.RIGHTS_SOCKET_BASE,rightsInheriting:constants_1.RIGHTS_SOCKET_INHERITING};case stats.isSymbolicLink():return{filetype:constants_1.WASI_FILETYPE_SYMBOLIC_LINK,rightsBase:BigInt(0),rightsInheriting:BigInt(0)};default:return{filetype:constants_1.WASI_FILETYPE_UNKNOWN,rightsBase:BigInt(0),rightsInheriting:BigInt(0)}}},warnedAboutSleep=!1,defaultConfig;function getDefaults(){if(defaultConfig)return defaultConfig;const defaultBindings={hrtime:()=>process.hrtime.bigint(),exit:(code)=>{process.exit(code)},kill:(signal)=>{process.kill(process.pid,signal)},randomFillSync:(array)=>crypto.getRandomValues(array),isTTY:(fd)=>@requireNativeModule(\"node:tty\").isatty(fd),fs:Bun.fs(),path:@getInternalField(@internalModuleRegistry,25)||@createInternalModuleById(25)};return defaultConfig={args:[],env:{},preopens:{},bindings:defaultBindings,sleep:(ms)=>{Bun.sleepSync(ms)}}}var WASI=class WASI2{constructor(wasiConfig={}){const defaultConfig2=getDefaults();this.lastStdin=0,this.sleep=wasiConfig.sleep||defaultConfig2.sleep,this.getStdin=wasiConfig.getStdin,this.sendStdout=wasiConfig.sendStdout,this.sendStderr=wasiConfig.sendStderr;let preopens=wasiConfig.preopens\?\?defaultConfig2.preopens;this.env=wasiConfig.env\?\?defaultConfig2.env;const args=wasiConfig.args\?\?defaultConfig2.args;this.memory=void 0,this.view=void 0,this.bindings=wasiConfig.bindings||defaultConfig2.bindings;const bindings2=this.bindings;fs=bindings2.fs,this.FD_MAP=new Map([[constants_1.WASI_STDIN_FILENO,{real:0,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDIN_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stdin\"}],[constants_1.WASI_STDOUT_FILENO,{real:1,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDOUT_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stdout\"}],[constants_1.WASI_STDERR_FILENO,{real:2,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDERR_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stderr\"}]]);const path=bindings2.path;for(let[k,v]of Object.entries(preopens)){const real=fs.openSync(v,nodeFsConstants.O_RDONLY),newfd=this.getUnusedFileDescriptor();this.FD_MAP.set(newfd,{real,filetype:constants_1.WASI_FILETYPE_DIRECTORY,rights:{base:constants_1.RIGHTS_DIRECTORY_BASE,inheriting:constants_1.RIGHTS_DIRECTORY_INHERITING},fakePath:k,path:v})}const getiovs=(iovs,iovsLen)=>{this.refreshMemory();const{view,memory}=this,{buffer}=memory,{byteLength}=buffer;if(iovsLen===1){const ptr=iovs,buf=view.getUint32(ptr,!0);let bufLen=view.getUint32(ptr+4,!0);if(bufLen>byteLength-buf)console.log({buf,bufLen,total_memory:byteLength}),log(\"getiovs: warning -- truncating buffer to fit in memory\"),bufLen=Math.min(bufLen,Math.max(0,byteLength-buf));try{return[new Uint8Array(buffer,buf,bufLen)]}catch(err){throw console.warn(\"WASI.getiovs -- invalid buffer\",err),new types_1.WASIError(constants_1.WASI_EINVAL)}}const buffers=[];buffers.length=iovsLen;for(let i=0,ptr=iovs;i<iovsLen;i++,ptr+=8){const buf=view.getUint32(ptr,!0);let bufLen=view.getUint32(ptr+4,!0);if(bufLen>byteLength-buf)console.log({buf,bufLen,total_memory:byteLength}),log(\"getiovs: warning -- truncating buffer to fit in memory\"),bufLen=Math.min(bufLen,Math.max(0,byteLength-buf));try{buffers[i]=new Uint8Array(buffer,buf,bufLen)}catch(err){throw console.warn(\"WASI.getiovs -- invalid buffer\",err),new types_1.WASIError(constants_1.WASI_EINVAL)}}return buffers},CHECK_FD=(fd,rights)=>{const stats=stat(this,fd);if(rights!==BigInt(0)&&(stats.rights.base&rights)===BigInt(0))throw new types_1.WASIError(constants_1.WASI_EPERM);return stats},CPUTIME_START=Bun.nanoseconds(),timeOrigin=Math.trunc(performance.timeOrigin*1e6),now=(clockId)=>{switch(clockId){case constants_1.WASI_CLOCK_MONOTONIC:return Bun.nanoseconds();case constants_1.WASI_CLOCK_REALTIME:return Bun.nanoseconds()+timeOrigin;case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:return Bun.nanoseconds()-CPUTIME_START;default:return null}};if(this.wasiImport={args_get:(argv,argvBuf)=>{this.refreshMemory();let coffset=argv,offset=argvBuf;return args.forEach((a)=>{this.view.setUint32(coffset,offset,!0),coffset+=4,offset+=Buffer.from(this.memory.buffer).write(`${a}\\0`,offset)}),constants_1.WASI_ESUCCESS},args_sizes_get:(argc,argvBufSize)=>{this.refreshMemory(),this.view.setUint32(argc,args.length,!0);const size=args.reduce((acc,a)=>acc+Buffer.byteLength(a)+1,0);return this.view.setUint32(argvBufSize,size,!0),constants_1.WASI_ESUCCESS},environ_get:(environ,environBuf)=>{this.refreshMemory();let coffset=environ,offset=environBuf;return Object.entries(this.env).forEach(([key,value])=>{this.view.setUint32(coffset,offset,!0),coffset+=4,offset+=Buffer.from(this.memory.buffer).write(`${key}=${value}\\0`,offset)}),constants_1.WASI_ESUCCESS},environ_sizes_get:(environCount,environBufSize)=>{this.refreshMemory();const envProcessed=Object.entries(this.env).map(([key,value])=>`${key}=${value}\\0`),size=envProcessed.reduce((acc,e)=>acc+Buffer.byteLength(e),0);return this.view.setUint32(environCount,envProcessed.length,!0),this.view.setUint32(environBufSize,size,!0),constants_1.WASI_ESUCCESS},clock_res_get:(clockId,resolution)=>{let res;switch(clockId){case constants_1.WASI_CLOCK_MONOTONIC:case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:{res=BigInt(1);break}case constants_1.WASI_CLOCK_REALTIME:{res=BigInt(1000);break}}if(!res)throw Error(\"invalid clockId\");return this.view.setBigUint64(resolution,res),constants_1.WASI_ESUCCESS},clock_time_get:(clockId,_precision,time)=>{this.refreshMemory();const n=now(clockId);if(n===null)return constants_1.WASI_EINVAL;return this.view.setBigUint64(time,BigInt(n),!0),constants_1.WASI_ESUCCESS},fd_advise:wrap((fd,_offset,_len,_advice)=>{return CHECK_FD(fd,constants_1.WASI_RIGHT_FD_ADVISE),constants_1.WASI_ENOSYS}),fd_allocate:wrap((fd,_offset,_len)=>{return CHECK_FD(fd,constants_1.WASI_RIGHT_FD_ALLOCATE),constants_1.WASI_ENOSYS}),fd_close:wrap((fd)=>{const stats=CHECK_FD(fd,BigInt(0));return fs.closeSync(stats.real),this.FD_MAP.delete(fd),constants_1.WASI_ESUCCESS}),fd_datasync:wrap((fd)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_DATASYNC);return fs.fdatasyncSync(stats.real),constants_1.WASI_ESUCCESS}),fd_fdstat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,BigInt(0));if(this.refreshMemory(),stats.filetype==null)throw Error(\"stats.filetype must be set\");return this.view.setUint8(bufPtr,stats.filetype),this.view.setUint16(bufPtr+2,0,!0),this.view.setUint16(bufPtr+4,0,!0),this.view.setBigUint64(bufPtr+8,BigInt(stats.rights.base),!0),this.view.setBigUint64(bufPtr+8+8,BigInt(stats.rights.inheriting),!0),constants_1.WASI_ESUCCESS}),fd_fdstat_set_flags:wrap((fd,flags)=>{if(CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS),this.wasiImport.sock_fcntlSetFlags(fd,flags)==0)return constants_1.WASI_ESUCCESS;return constants_1.WASI_ENOSYS}),fd_fdstat_set_rights:wrap((fd,fsRightsBase,fsRightsInheriting)=>{const stats=CHECK_FD(fd,BigInt(0));if((stats.rights.base|fsRightsBase)>stats.rights.base)return constants_1.WASI_EPERM;if((stats.rights.inheriting|fsRightsInheriting)>stats.rights.inheriting)return constants_1.WASI_EPERM;return stats.rights.base=fsRightsBase,stats.rights.inheriting=fsRightsInheriting,constants_1.WASI_ESUCCESS}),fd_filestat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_GET),rstats=this.fstatSync(stats.real);if(this.refreshMemory(),this.view.setBigUint64(bufPtr,BigInt(rstats.dev),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,stats.filetype==null)throw Error(\"stats.filetype must be set\");return this.view.setUint8(bufPtr,stats.filetype),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.nlink),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.size),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.atimeMs),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.mtimeMs),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.ctimeMs),!0),constants_1.WASI_ESUCCESS}),fd_filestat_set_size:wrap((fd,stSize)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE);return fs.ftruncateSync(stats.real,Number(stSize)),constants_1.WASI_ESUCCESS}),fd_filestat_set_times:wrap((fd,stAtim,stMtim,fstflags)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_SET_TIMES),rstats=this.fstatSync(stats.real);let{atime:atim,mtime:mtim}=rstats;const n=nsToMs(now(constants_1.WASI_CLOCK_REALTIME)),atimflags=constants_1.WASI_FILESTAT_SET_ATIM|constants_1.WASI_FILESTAT_SET_ATIM_NOW;if((fstflags&atimflags)===atimflags)return constants_1.WASI_EINVAL;const mtimflags=constants_1.WASI_FILESTAT_SET_MTIM|constants_1.WASI_FILESTAT_SET_MTIM_NOW;if((fstflags&mtimflags)===mtimflags)return constants_1.WASI_EINVAL;if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM)===constants_1.WASI_FILESTAT_SET_ATIM)atim=nsToMs(stAtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM_NOW)===constants_1.WASI_FILESTAT_SET_ATIM_NOW)atim=n;if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM)===constants_1.WASI_FILESTAT_SET_MTIM)mtim=nsToMs(stMtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM_NOW)===constants_1.WASI_FILESTAT_SET_MTIM_NOW)mtim=n;return fs.futimesSync(stats.real,new Date(atim),new Date(mtim)),constants_1.WASI_ESUCCESS}),fd_prestat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,BigInt(0));return this.refreshMemory(),this.view.setUint8(bufPtr,constants_1.WASI_PREOPENTYPE_DIR),this.view.setUint32(bufPtr+4,Buffer.byteLength(stats.fakePath\?\?stats.path\?\?\"\"),!0),constants_1.WASI_ESUCCESS}),fd_prestat_dir_name:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,BigInt(0));return this.refreshMemory(),Buffer.from(this.memory.buffer).write(stats.fakePath\?\?stats.path\?\?\"\",pathPtr,pathLen,\"utf8\"),constants_1.WASI_ESUCCESS}),fd_pwrite:wrap((fd,iovs,iovsLen,offset,nwritten)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_SEEK);let written=0;return getiovs(iovs,iovsLen).forEach((iov)=>{let w=0;while(w<iov.byteLength)w+=fs.writeSync(stats.real,iov,w,iov.byteLength-w,Number(offset)+written+w);written+=w}),this.view.setUint32(nwritten,written,!0),constants_1.WASI_ESUCCESS}),fd_write:wrap((fd,iovs,iovsLen,nwritten)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_WRITE),IS_STDOUT=fd==constants_1.WASI_STDOUT_FILENO,IS_STDERR=fd==constants_1.WASI_STDERR_FILENO;let written=0;return getiovs(iovs,iovsLen).forEach((iov)=>{if(iov.byteLength==0)return;if(IS_STDOUT&&this.sendStdout!=null)this.sendStdout(iov),written+=iov.byteLength;else if(IS_STDERR&&this.sendStderr!=null)this.sendStderr(iov),written+=iov.byteLength;else{let w=0;while(w<iov.byteLength){const i=fs.writeSync(stats.real,iov,w,iov.byteLength-w,stats.offset\?Number(stats.offset):null);if(stats.offset)stats.offset+=BigInt(i);w+=i}written+=w}}),this.view.setUint32(nwritten,written,!0),constants_1.WASI_ESUCCESS}),fd_pread:wrap((fd,iovs,iovsLen,offset,nread)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_SEEK);let read=0;outer:for(let iov of getiovs(iovs,iovsLen)){let r=0;while(r<iov.byteLength){const length=iov.byteLength-r,rr=fs.readSync(stats.real,iov,r,iov.byteLength-r,Number(offset)+read+r);if(r+=rr,read+=rr,rr===0||rr<length)break outer}read+=r}return this.view.setUint32(nread,read,!0),constants_1.WASI_ESUCCESS}),fd_read:wrap((fd,iovs,iovsLen,nread)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READ),IS_STDIN=fd==constants_1.WASI_STDIN_FILENO;let read=0;outer:for(let iov of getiovs(iovs,iovsLen)){let r=0;while(r<iov.byteLength){let length=iov.byteLength-r,position=IS_STDIN||stats.offset===void 0\?null:Number(stats.offset),rr=0;if(IS_STDIN)if(this.getStdin!=null){if(this.stdinBuffer==null)this.stdinBuffer=this.getStdin();if(this.stdinBuffer!=null){if(rr=this.stdinBuffer.copy(iov),rr==this.stdinBuffer.length)this.stdinBuffer=void 0;else this.stdinBuffer=this.stdinBuffer.slice(rr);if(rr>0)this.lastStdin=(new Date()).valueOf()}}else{if(this.sleep==null&&!warnedAboutSleep)warnedAboutSleep=!0,console.log(\"(cpu waiting for stdin: please define a way to sleep!) \");try{rr=fs.readSync(stats.real,iov,r,length,position)}catch(_err){}if(rr==0)this.shortPause();else this.lastStdin=(new Date()).valueOf()}else rr=fs.readSync(stats.real,iov,r,length,position);if(stats.filetype==constants_1.WASI_FILETYPE_REGULAR_FILE)stats.offset=(stats.offset\?stats.offset:BigInt(0))+BigInt(rr);if(r+=rr,read+=rr,rr===0||rr<length)break outer}}return this.view.setUint32(nread,read,!0),constants_1.WASI_ESUCCESS}),fd_readdir:wrap((fd,bufPtr,bufLen,cookie,bufusedPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READDIR);this.refreshMemory();const entries=fs.readdirSync(stats.path,{withFileTypes:!0}),startPtr=bufPtr;for(let i=Number(cookie);i<entries.length;i+=1){const entry=entries[i];let nameLength=Buffer.byteLength(entry.name);if(bufPtr-startPtr>bufLen)break;if(this.view.setBigUint64(bufPtr,BigInt(i+1),!0),bufPtr+=8,bufPtr-startPtr>bufLen)break;const rstats=fs.lstatSync(path.resolve(stats.path,entry.name));if(this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,bufPtr-startPtr>bufLen)break;if(this.view.setUint32(bufPtr,nameLength,!0),bufPtr+=4,bufPtr-startPtr>bufLen)break;let filetype;switch(!0){case rstats.isBlockDevice():filetype=constants_1.WASI_FILETYPE_BLOCK_DEVICE;break;case rstats.isCharacterDevice():filetype=constants_1.WASI_FILETYPE_CHARACTER_DEVICE;break;case rstats.isDirectory():filetype=constants_1.WASI_FILETYPE_DIRECTORY;break;case rstats.isFIFO():filetype=constants_1.WASI_FILETYPE_SOCKET_STREAM;break;case rstats.isFile():filetype=constants_1.WASI_FILETYPE_REGULAR_FILE;break;case rstats.isSocket():filetype=constants_1.WASI_FILETYPE_SOCKET_STREAM;break;case rstats.isSymbolicLink():filetype=constants_1.WASI_FILETYPE_SYMBOLIC_LINK;break;default:filetype=constants_1.WASI_FILETYPE_UNKNOWN;break}if(this.view.setUint8(bufPtr,filetype),bufPtr+=1,bufPtr+=3,bufPtr+nameLength>=startPtr+bufLen)break;Buffer.from(this.memory.buffer).write(entry.name,bufPtr),bufPtr+=nameLength}const bufused=bufPtr-startPtr;return this.view.setUint32(bufusedPtr,Math.min(bufused,bufLen),!0),constants_1.WASI_ESUCCESS}),fd_renumber:wrap((from,to)=>{return CHECK_FD(from,BigInt(0)),CHECK_FD(to,BigInt(0)),fs.closeSync(this.FD_MAP.get(from).real),this.FD_MAP.set(from,this.FD_MAP.get(to)),this.FD_MAP.delete(to),constants_1.WASI_ESUCCESS}),fd_seek:wrap((fd,offset,whence,newOffsetPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_SEEK);switch(this.refreshMemory(),whence){case constants_1.WASI_WHENCE_CUR:stats.offset=(stats.offset\?stats.offset:BigInt(0))+BigInt(offset);break;case constants_1.WASI_WHENCE_END:const{size}=this.fstatSync(stats.real);stats.offset=BigInt(size)+BigInt(offset);break;case constants_1.WASI_WHENCE_SET:stats.offset=BigInt(offset);break}if(stats.offset==null)throw Error(\"stats.offset must be defined\");return this.view.setBigUint64(newOffsetPtr,stats.offset,!0),constants_1.WASI_ESUCCESS}),fd_tell:wrap((fd,offsetPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_TELL);if(this.refreshMemory(),!stats.offset)stats.offset=BigInt(0);return this.view.setBigUint64(offsetPtr,stats.offset,!0),constants_1.WASI_ESUCCESS}),fd_sync:wrap((fd)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_SYNC);return fs.fsyncSync(stats.real),constants_1.WASI_ESUCCESS}),path_create_directory:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_CREATE_DIRECTORY);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.mkdirSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),path_filestat_get:wrap((fd,flags,pathPtr,pathLen,bufPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_FILESTAT_GET);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();let rstats;if(flags)rstats=fs.statSync(path.resolve(stats.path,p));else rstats=fs.lstatSync(path.resolve(stats.path,p));return this.view.setBigUint64(bufPtr,BigInt(rstats.dev),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,this.view.setUint8(bufPtr,translateFileAttributes(this,void 0,rstats).filetype),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.nlink),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.size),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.atime.getTime()*1e6),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.mtime.getTime()*1e6),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ctime.getTime()*1e6),!0),constants_1.WASI_ESUCCESS}),path_filestat_set_times:wrap((fd,_dirflags,pathPtr,pathLen,stAtim,stMtim,fstflags)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_FILESTAT_SET_TIMES);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const rstats=this.fstatSync(stats.real);let{atime:atim,mtime:mtim}=rstats;const n=nsToMs(now(constants_1.WASI_CLOCK_REALTIME)),atimflags=constants_1.WASI_FILESTAT_SET_ATIM|constants_1.WASI_FILESTAT_SET_ATIM_NOW;if((fstflags&atimflags)===atimflags)return constants_1.WASI_EINVAL;const mtimflags=constants_1.WASI_FILESTAT_SET_MTIM|constants_1.WASI_FILESTAT_SET_MTIM_NOW;if((fstflags&mtimflags)===mtimflags)return constants_1.WASI_EINVAL;if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM)===constants_1.WASI_FILESTAT_SET_ATIM)atim=nsToMs(stAtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM_NOW)===constants_1.WASI_FILESTAT_SET_ATIM_NOW)atim=n;if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM)===constants_1.WASI_FILESTAT_SET_MTIM)mtim=nsToMs(stMtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM_NOW)===constants_1.WASI_FILESTAT_SET_MTIM_NOW)mtim=n;const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.utimesSync(path.resolve(stats.path,p),new Date(atim),new Date(mtim)),constants_1.WASI_ESUCCESS}),path_link:wrap((oldFd,_oldFlags,oldPath,oldPathLen,newFd,newPath,newPathLen)=>{const ostats=CHECK_FD(oldFd,constants_1.WASI_RIGHT_PATH_LINK_SOURCE),nstats=CHECK_FD(newFd,constants_1.WASI_RIGHT_PATH_LINK_TARGET);if(!ostats.path||!nstats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.linkSync(path.resolve(ostats.path,op),path.resolve(nstats.path,np)),constants_1.WASI_ESUCCESS}),path_open:wrap((dirfd,_dirflags,pathPtr,pathLen,oflags,fsRightsBase,fsRightsInheriting,fsFlags,fdPtr)=>{try{const stats=CHECK_FD(dirfd,constants_1.WASI_RIGHT_PATH_OPEN);fsRightsBase=BigInt(fsRightsBase),fsRightsInheriting=BigInt(fsRightsInheriting);const read=(fsRightsBase&(constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_READDIR))!==BigInt(0),write=(fsRightsBase&(constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_ALLOCATE|constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE))!==BigInt(0);let noflags;if(write&&read)noflags=nodeFsConstants.O_RDWR;else if(read)noflags=nodeFsConstants.O_RDONLY;else if(write)noflags=nodeFsConstants.O_WRONLY;let neededBase=fsRightsBase|constants_1.WASI_RIGHT_PATH_OPEN,neededInheriting=fsRightsBase|fsRightsInheriting;if((oflags&constants_1.WASI_O_CREAT)!==0)noflags|=nodeFsConstants.O_CREAT,neededBase|=constants_1.WASI_RIGHT_PATH_CREATE_FILE;if((oflags&constants_1.WASI_O_DIRECTORY)!==0)noflags|=nodeFsConstants.O_DIRECTORY;if((oflags&constants_1.WASI_O_EXCL)!==0)noflags|=nodeFsConstants.O_EXCL;if((oflags&constants_1.WASI_O_TRUNC)!==0)noflags|=nodeFsConstants.O_TRUNC,neededBase|=constants_1.WASI_RIGHT_PATH_FILESTAT_SET_SIZE;if((fsFlags&constants_1.WASI_FDFLAG_APPEND)!==0)noflags|=nodeFsConstants.O_APPEND;if((fsFlags&constants_1.WASI_FDFLAG_DSYNC)!==0){if(nodeFsConstants.O_DSYNC)noflags|=nodeFsConstants.O_DSYNC;else noflags|=nodeFsConstants.O_SYNC;neededInheriting|=constants_1.WASI_RIGHT_FD_DATASYNC}if((fsFlags&constants_1.WASI_FDFLAG_NONBLOCK)!==0)noflags|=nodeFsConstants.O_NONBLOCK;if((fsFlags&constants_1.WASI_FDFLAG_RSYNC)!==0){if(nodeFsConstants.O_RSYNC)noflags|=nodeFsConstants.O_RSYNC;else noflags|=nodeFsConstants.O_SYNC;neededInheriting|=constants_1.WASI_RIGHT_FD_SYNC}if((fsFlags&constants_1.WASI_FDFLAG_SYNC)!==0)noflags|=nodeFsConstants.O_SYNC,neededInheriting|=constants_1.WASI_RIGHT_FD_SYNC;if(write&&(noflags&(nodeFsConstants.O_APPEND|nodeFsConstants.O_TRUNC))===0)neededInheriting|=constants_1.WASI_RIGHT_FD_SEEK;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();if(p==\"dev/tty\")return this.view.setUint32(fdPtr,constants_1.WASI_STDIN_FILENO,!0),constants_1.WASI_ESUCCESS;if(logOpen(\"path_open\",p),p.startsWith(\"proc/\"))throw new types_1.WASIError(constants_1.WASI_EBADF);const fullUnresolved=path.resolve(p);let full;try{full=fs.realpathSync(fullUnresolved)}catch(e){if(e\?.code===\"ENOENT\")full=fullUnresolved;else throw e}let isDirectory;if(write)try{isDirectory=fs.statSync(full).isDirectory()}catch(_err){}let realfd;if(!write&&isDirectory)realfd=fs.openSync(full,nodeFsConstants.O_RDONLY);else realfd=fs.openSync(full,noflags);const newfd=this.getUnusedFileDescriptor();this.FD_MAP.set(newfd,{real:realfd,filetype:void 0,rights:{base:neededBase,inheriting:neededInheriting},path:full}),stat(this,newfd),this.view.setUint32(fdPtr,newfd,!0)}catch(e){console.error(e)}return constants_1.WASI_ESUCCESS}),path_readlink:wrap((fd,pathPtr,pathLen,buf,bufLen,bufused)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_READLINK);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString(),full=path.resolve(stats.path,p),r=fs.readlinkSync(full),used=Buffer.from(this.memory.buffer).write(r,buf,bufLen);return this.view.setUint32(bufused,used,!0),constants_1.WASI_ESUCCESS}),path_remove_directory:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_REMOVE_DIRECTORY);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.rmdirSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),path_rename:wrap((oldFd,oldPath,oldPathLen,newFd,newPath,newPathLen)=>{const ostats=CHECK_FD(oldFd,constants_1.WASI_RIGHT_PATH_RENAME_SOURCE),nstats=CHECK_FD(newFd,constants_1.WASI_RIGHT_PATH_RENAME_TARGET);if(!ostats.path||!nstats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.renameSync(path.resolve(ostats.path,op),path.resolve(nstats.path,np)),constants_1.WASI_ESUCCESS}),path_symlink:wrap((oldPath,oldPathLen,fd,newPath,newPathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_SYMLINK);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.symlinkSync(op,path.resolve(stats.path,np)),constants_1.WASI_ESUCCESS}),path_unlink_file:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_UNLINK_FILE);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.unlinkSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),poll_oneoff:(sin,sout,nsubscriptions,neventsPtr)=>{let nevents=0,name=\"\",waitTimeNs=BigInt(0),fd=-1,fd_type=\"read\",fd_timeout_ms=0;const startNs=BigInt(bindings2.hrtime());this.refreshMemory();let last_sin=sin;for(let i=0;i<nsubscriptions;i+=1){const userdata=this.view.getBigUint64(sin,!0);sin+=8;const type=this.view.getUint8(sin);if(sin+=1,sin+=7,log.enabled){if(type==constants_1.WASI_EVENTTYPE_CLOCK)name=\"poll_oneoff (type=WASI_EVENTTYPE_CLOCK): \";else if(type==constants_1.WASI_EVENTTYPE_FD_READ)name=\"poll_oneoff (type=WASI_EVENTTYPE_FD_READ): \";else name=\"poll_oneoff (type=WASI_EVENTTYPE_FD_WRITE): \";log(name)}switch(type){case constants_1.WASI_EVENTTYPE_CLOCK:{const clockid=this.view.getUint32(sin,!0);sin+=4,sin+=4;const timeout=this.view.getBigUint64(sin,!0);sin+=8,sin+=8;const subclockflags=this.view.getUint16(sin,!0);sin+=2,sin+=6;const absolute=subclockflags===1;if(log.enabled)log(name,{clockid,timeout,absolute});if(!absolute)fd_timeout_ms=timeout/BigInt(1e6);let e=constants_1.WASI_ESUCCESS;const t=now(clockid);if(t==null)e=constants_1.WASI_EINVAL;else{const tNS=BigInt(t),waitNs=(absolute\?timeout:tNS+timeout)-tNS;if(waitNs>waitTimeNs)waitTimeNs=waitNs}this.view.setBigUint64(sout,userdata,!0),sout+=8,this.view.setUint16(sout,e,!0),sout+=2,this.view.setUint8(sout,constants_1.WASI_EVENTTYPE_CLOCK),sout+=1,sout+=5,nevents+=1;break}case constants_1.WASI_EVENTTYPE_FD_READ:case constants_1.WASI_EVENTTYPE_FD_WRITE:{if(fd=this.view.getUint32(sin,!0),fd_type=type==constants_1.WASI_EVENTTYPE_FD_READ\?\"read\":\"write\",sin+=4,log(name,\"fd =\",fd),sin+=28,this.view.setBigUint64(sout,userdata,!0),sout+=8,this.view.setUint16(sout,constants_1.WASI_ENOSYS,!0),sout+=2,this.view.setUint8(sout,type),sout+=1,sout+=5,nevents+=1,fd==constants_1.WASI_STDIN_FILENO&&constants_1.WASI_EVENTTYPE_FD_READ==type)this.shortPause();break}default:return constants_1.WASI_EINVAL}if(sin-last_sin!=48)console.warn(\"*** BUG in wasi-js in poll_oneoff \",{i,sin,last_sin,diff:sin-last_sin});last_sin=sin}if(this.view.setUint32(neventsPtr,nevents,!0),nevents==2&&fd>=0){const r=this.wasiImport.sock_pollSocket(fd,fd_type,fd_timeout_ms);if(r!=constants_1.WASI_ENOSYS)return r}if(waitTimeNs>0){if(waitTimeNs-=Bun.nanoseconds()-timeOrigin,waitTimeNs>=1e6){if(this.sleep==null&&!warnedAboutSleep)warnedAboutSleep=!0,console.log(\"(100% cpu burning waiting for stdin: please define a way to sleep!) \");if(this.sleep!=null){const ms=nsToMs(waitTimeNs);this.sleep(ms)}else{const end=BigInt(bindings2.hrtime())+waitTimeNs;while(BigInt(bindings2.hrtime())<end);}}}return constants_1.WASI_ESUCCESS},proc_exit:(rval)=>{return bindings2.exit(rval),constants_1.WASI_ESUCCESS},proc_raise:(sig)=>{if(!(sig in constants_1.SIGNAL_MAP))return constants_1.WASI_EINVAL;return bindings2.kill(constants_1.SIGNAL_MAP[sig]),constants_1.WASI_ESUCCESS},random_get:(bufPtr,bufLen)=>{return this.refreshMemory(),crypto.getRandomValues(this.memory.buffer,bufPtr,bufLen),bufLen},sched_yield(){return constants_1.WASI_ESUCCESS},sock_recv(){return constants_1.WASI_ENOSYS},sock_send(){return constants_1.WASI_ENOSYS},sock_shutdown(){return constants_1.WASI_ENOSYS},sock_fcntlSetFlags(_fd,_flags){return constants_1.WASI_ENOSYS},sock_pollSocket(_fd,_eventtype,_timeout_ms){return constants_1.WASI_ENOSYS}},log.enabled)Object.keys(this.wasiImport).forEach((key)=>{const prevImport=this.wasiImport[key];this.wasiImport[key]=function(...args2){log(key,args2);try{let result=prevImport(...args2);return log(\"result\",result),result}catch(e){throw log(\"error: \",e),e}}})}getState(){return{env:this.env,FD_MAP:this.FD_MAP,bindings}}setState(state){this.env=state.env,this.FD_MAP=state.FD_MAP,bindings=state.bindings}fstatSync(real_fd){if(real_fd<=2)try{return fs.fstatSync(real_fd)}catch(_){const now=new Date;return{dev:0,mode:8592,nlink:1,uid:0,gid:0,rdev:0,blksize:65536,ino:0,size:0,blocks:0,atimeMs:now.valueOf(),mtimeMs:now.valueOf(),ctimeMs:now.valueOf(),birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date(0)}}return fs.fstatSync(real_fd)}shortPause(){if(this.sleep==null)return;if((new Date()).valueOf()-this.lastStdin>2000)this.sleep(50)}getUnusedFileDescriptor(start=3){let fd=start;while(this.FD_MAP.has(fd))fd+=1;if(fd>SC_OPEN_MAX)throw Error(\"no available file descriptors\");return fd}refreshMemory(){if(!this.view||this.view.buffer.byteLength===0)this.view=new DataView(this.memory.buffer)}setMemory(memory){this.memory=memory}start(instance,memory){const exports2=instance.exports;if(exports2===null||typeof exports2!==\"object\")throw new Error(`instance.exports must be an Object. Received ${exports2}.`);if(memory==null){if(memory=exports2.memory,!(memory instanceof WebAssembly.Memory))throw new Error(`instance.exports.memory must be a WebAssembly.Memory. Recceived ${memory}.`)}if(this.setMemory(memory),exports2._start)exports2._start()}getImports(module2){let namespace=null;const imports=WebAssembly.Module.imports(module2);for(let imp of imports){if(imp.kind!==\"function\")continue;if(!imp.module.startsWith(\"wasi_\"))continue;namespace=imp.module;break}switch(namespace){case\"wasi_unstable\":return{wasi_unstable:this.wasiImport};case\"wasi_snapshot_preview1\":return{wasi_snapshot_preview1:this.wasiImport};default:throw new Error(\"No WASI namespace found. Only wasi_unstable and wasi_snapshot_preview1 are supported.\\n\\nList of imports:\\n\\n\"+imports.map(({name,kind,module})=>`${module}:${name} (${kind})`).join(\"\\n\")+\"\\n\")}}initWasiFdInfo(){if(this.env.WASI_FD_INFO!=null){const fdInfo=JSON.parse(this.env.WASI_FD_INFO);for(let wasi_fd in fdInfo){console.log(wasi_fd);const fd=parseInt(wasi_fd);if(this.FD_MAP.has(fd))continue;const real=fdInfo[wasi_fd];try{this.fstatSync(real)}catch(_err){console.log(\"discarding \",{wasi_fd,real});continue}const file={real,filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rights:{base:STDIN_DEFAULT_RIGHTS,inheriting:BigInt(0)}};this.FD_MAP.set(fd,file)}console.log(\"after initWasiFdInfo: \",this.FD_MAP),console.log(\"fdInfo = \",fdInfo)}else console.log(\"no WASI_FD_INFO\")}};exports.default=WASI}});return{WASI:require_wasi().default}})\n"_s;
-static constexpr ASCIILiteral NodeWorkerThreadsCode = "(function (){\"use strict\";return globalThis[globalThis.Symbol.for('Bun.lazy')](\"masqueradesAsUndefined\")})\n"_s;
+static constexpr ASCIILiteral NodeWorkerThreadsCode = "(function (){\"use strict\";var $;const{MessageChannel,BroadcastChannel}=globalThis;function injectFakeEmitter(Class){function messageEventHandler(event){return event.data}function errorEventHandler(event){return event.error}const wrappedListener=Symbol(\"wrappedListener\");function wrapped(run,listener){const callback=function(event){return listener(run(event))};return listener[wrappedListener]=callback,callback}function functionForEventType(event,listener){switch(event){case\"error\":case\"messageerror\":return wrapped(errorEventHandler,listener);default:return wrapped(messageEventHandler,listener)}}Class.prototype.on=function(event,listener){return this.addEventListener(event,functionForEventType(event,listener)),this},Class.prototype.off=function(event,listener){if(listener)this.removeEventListener(event,listener[wrappedListener]||listener);else this.removeEventListener(event);return this},Class.prototype.once=function(event,listener){return this.addEventListener(event,functionForEventType(event,listener),{once:!0}),this};function EventClass(eventName){if(eventName===\"error\"||eventName===\"messageerror\")return ErrorEvent;return MessageEvent}Class.prototype.emit=function(event,...args){return this.dispatchEvent(new(EventClass(event))(event,...args)),this},Class.prototype.prependListener=Class.prototype.on,Class.prototype.prependOnceListener=Class.prototype.once}const _MessagePort=globalThis.MessagePort;injectFakeEmitter(_MessagePort);const MessagePort=_MessagePort,EventEmitter=@getInternalField(@internalModuleRegistry,15)||@createInternalModuleById(15),isMainThread=Bun.isMainThread;let[_workerData,_threadId,_receiveMessageOnPort]=globalThis[globalThis.Symbol.for('Bun.lazy')](\"worker_threads\"),parentPort=isMainThread\?null:fakeParentPort(),resourceLimits={},workerData=_workerData,threadId=_threadId;function receiveMessageOnPort(port){let res=_receiveMessageOnPort(port);if(!res)return;return{message:res}}function fakeParentPort(){const fake=Object.create(MessagePort.prototype);return Object.defineProperty(fake,\"onmessage\",{get(){return self.onmessage},set(value){self.onmessage=value}}),Object.defineProperty(fake,\"onmessageerror\",{get(){return self.onmessageerror},set(value){}}),Object.defineProperty(fake,\"postMessage\",{value(...args){return self.postMessage(...args)}}),Object.defineProperty(fake,\"close\",{value(){return process.exit(0)}}),Object.defineProperty(fake,\"start\",{value(){}}),Object.defineProperty(fake,\"unref\",{value(){}}),Object.defineProperty(fake,\"ref\",{value(){}}),Object.defineProperty(fake,\"hasRef\",{value(){return!1}}),Object.defineProperty(fake,\"setEncoding\",{value(){}}),Object.defineProperty(fake,\"addEventListener\",{value:self.addEventListener.bind(self)}),Object.defineProperty(fake,\"removeEventListener\",{value:self.removeEventListener.bind(self)}),fake}function getEnvironmentData(){return process.env}function setEnvironmentData(env){process.env=env}function markAsUntransferable(){throw new Error(\"markAsUntransferable is not implemented\")}function moveMessagePortToContext(){throw new Error(\"moveMessagePortToContext is not implemented\")}const SHARE_ENV=Symbol(\"nodejs.worker_threads.SHARE_ENV\"),WebWorker=globalThis.Worker;class Worker extends EventEmitter{#worker;#performance;#onExitPromise=void 0;constructor(filename,options={}){super();this.#worker=new WebWorker(filename,{...options}),this.#worker.addEventListener(\"close\",this.#onClose.bind(this)),this.#worker.addEventListener(\"error\",this.#onError.bind(this)),this.#worker.addEventListener(\"message\",this.#onMessage.bind(this)),this.#worker.addEventListener(\"messageerror\",this.#onMessageError.bind(this)),this.#worker.addEventListener(\"open\",this.#onOpen.bind(this))}ref(){this.#worker.ref()}unref(){this.#worker.unref()}get stdin(){return null}get stdout(){return null}get stderr(){return null}get performance(){return this.#performance\?\?={eventLoopUtilization(){return{}}}}terminate(){if(this.#onExitPromise)return this.#onExitPromise;const{resolve,promise}=Promise.withResolvers();return this.#worker.addEventListener(\"close\",(event)=>{resolve(0)},{once:!0}),this.#onExitPromise=promise}postMessage(...args){return this.#worker.postMessage(...args)}#onClose(){this.emit(\"exit\")}#onError(event){this.emit(\"error\",event)}#onMessage(event){this.emit(\"message\",event.data)}#onMessageError(event){this.emit(\"messageerror\",event.error||event)}#onOpen(){this.emit(\"online\")}getHeapSnapshot(){return{}}}return $={Worker,workerData,parentPort,resourceLimits,isMainThread,MessageChannel,BroadcastChannel,MessagePort,getEnvironmentData,setEnvironmentData,getHeapSnapshot(){return{}},markAsUntransferable,moveMessagePortToContext,receiveMessageOnPort,SHARE_ENV,threadId},$})\n"_s;
static constexpr ASCIILiteral NodeZlibCode = "(function (){\"use strict\";const assert=@getInternalField(@internalModuleRegistry,3)||@createInternalModuleById(3),BufferModule=@requireNativeModule(\"node:buffer\"),StreamModule=@getInternalField(@internalModuleRegistry,34)||@createInternalModuleById(34),Util=@getInternalField(@internalModuleRegistry,42)||@createInternalModuleById(42);var __getOwnPropNames=Object.getOwnPropertyNames,__commonJS=(cb,mod)=>function __require(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_zstream=__commonJS({\"node_modules/pako/lib/zlib/zstream.js\"(exports,module2){function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}module2.exports=ZStream}}),require_common=__commonJS({\"node_modules/pako/lib/utils/common.js\"(exports){var TYPED_OK=typeof Uint8Array!==\"undefined\"&&typeof Uint16Array!==\"undefined\"&&typeof Int32Array!==\"undefined\";function _has(obj,key){return Object.prototype.hasOwnProperty.call(obj,key)}exports.assign=function(obj){var sources=Array.prototype.slice.call(arguments,1);while(sources.length){var source=sources.shift();if(!source)continue;if(typeof source!==\"object\")@throwTypeError(source+\"must be non-object\");for(var p in source)if(_has(source,p))obj[p]=source[p]}return obj},exports.shrinkBuf=function(buf,size){if(buf.length===size)return buf;if(buf.subarray)return buf.subarray(0,size);return buf.length=size,buf};var fnTyped={arraySet:function(dest,src,src_offs,len,dest_offs){if(src.subarray&&dest.subarray){dest.set(src.subarray(src_offs,src_offs+len),dest_offs);return}for(var i=0;i<len;i++)dest[dest_offs+i]=src[src_offs+i]},flattenChunks:function(chunks){var i,l,len,pos,chunk,result;len=0;for(i=0,l=chunks.length;i<l;i++)len+=chunks[i].length;result=new Uint8Array(len),pos=0;for(i=0,l=chunks.length;i<l;i++)chunk=chunks[i],result.set(chunk,pos),pos+=chunk.length;return result}},fnUntyped={arraySet:function(dest,src,src_offs,len,dest_offs){for(var i=0;i<len;i++)dest[dest_offs+i]=src[src_offs+i]},flattenChunks:function(chunks){return[].concat.apply([],chunks)}};exports.setTyped=function(on){if(on)exports.Buf8=Uint8Array,exports.Buf16=Uint16Array,exports.Buf32=Int32Array,exports.assign(exports,fnTyped);else exports.Buf8=Array,exports.Buf16=Array,exports.Buf32=Array,exports.assign(exports,fnUntyped)},exports.setTyped(TYPED_OK)}}),require_trees=__commonJS({\"node_modules/pako/lib/zlib/trees.js\"(exports){var utils=require_common(),Z_FIXED=4,Z_BINARY=0,Z_TEXT=1,Z_UNKNOWN=2;function zero(buf){var len=buf.length;while(--len>=0)buf[len]=0}var STORED_BLOCK=0,STATIC_TREES=1,DYN_TREES=2,MIN_MATCH=3,MAX_MATCH=258,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,Buf_size=16,MAX_BL_BITS=7,END_BLOCK=256,REP_3_6=16,REPZ_3_10=17,REPZ_11_138=18,extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],DIST_CODE_LEN=512,static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);function StaticTreeDesc(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree,this.extra_bits=extra_bits,this.extra_base=extra_base,this.elems=elems,this.max_length=max_length,this.has_stree=static_tree&&static_tree.length}var static_l_desc,static_d_desc,static_bl_desc;function TreeDesc(dyn_tree,stat_desc){this.dyn_tree=dyn_tree,this.max_code=0,this.stat_desc=stat_desc}function d_code(dist){return dist<256\?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255,s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length)s.bi_buf|=value<<s.bi_valid&65535,put_short(s,s.bi_buf),s.bi_buf=value>>Buf_size-s.bi_valid,s.bi_valid+=length-Buf_size;else s.bi_buf|=value<<s.bi_valid&65535,s.bi_valid+=length}function send_code(s,c,tree){send_bits(s,tree[c*2],tree[c*2+1])}function bi_reverse(code,len){var res=0;do res|=code&1,code>>>=1,res<<=1;while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16)put_short(s,s.bi_buf),s.bi_buf=0,s.bi_valid=0;else if(s.bi_valid>=8)s.pending_buf[s.pending++]=s.bi_buf&255,s.bi_buf>>=8,s.bi_valid-=8}function gen_bitlen(s,desc){var{dyn_tree:tree,max_code}=desc,stree=desc.stat_desc.static_tree,has_stree=desc.stat_desc.has_stree,extra=desc.stat_desc.extra_bits,base=desc.stat_desc.extra_base,max_length=desc.stat_desc.max_length,h,n,m,bits,xbits,f,overflow=0;for(bits=0;bits<=MAX_BITS;bits++)s.bl_count[bits]=0;tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;h<HEAP_SIZE;h++){if(n=s.heap[h],bits=tree[tree[n*2+1]*2+1]+1,bits>max_length)bits=max_length,overflow++;if(tree[n*2+1]=bits,n>max_code)continue;if(s.bl_count[bits]++,xbits=0,n>=base)xbits=extra[n-base];if(f=tree[n*2],s.opt_len+=f*(bits+xbits),has_stree)s.static_len+=f*(stree[n*2+1]+xbits)}if(overflow===0)return;do{bits=max_length-1;while(s.bl_count[bits]===0)bits--;s.bl_count[bits]--,s.bl_count[bits+1]+=2,s.bl_count[max_length]--,overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){if(m=s.heap[--h],m>max_code)continue;if(tree[m*2+1]!==bits)s.opt_len+=(bits-tree[m*2+1])*tree[m*2],tree[m*2+1]=bits;n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1),code=0,bits,n;for(bits=1;bits<=MAX_BITS;bits++)next_code[bits]=code=code+bl_count[bits-1]<<1;for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0)continue;tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n,bits,length,code,dist,bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code<LENGTH_CODES-1;code++){base_length[code]=length;for(n=0;n<1<<extra_lbits[code];n++)_length_code[length++]=code}_length_code[length-1]=code,dist=0;for(code=0;code<16;code++){base_dist[code]=dist;for(n=0;n<1<<extra_dbits[code];n++)_dist_code[dist++]=code}dist>>=7;for(;code<D_CODES;code++){base_dist[code]=dist<<7;for(n=0;n<1<<extra_dbits[code]-7;n++)_dist_code[256+dist++]=code}for(bits=0;bits<=MAX_BITS;bits++)bl_count[bits]=0;n=0;while(n<=143)static_ltree[n*2+1]=8,n++,bl_count[8]++;while(n<=255)static_ltree[n*2+1]=9,n++,bl_count[9]++;while(n<=279)static_ltree[n*2+1]=7,n++,bl_count[7]++;while(n<=287)static_ltree[n*2+1]=8,n++,bl_count[8]++;gen_codes(static_ltree,L_CODES+1,bl_count);for(n=0;n<D_CODES;n++)static_dtree[n*2+1]=5,static_dtree[n*2]=bi_reverse(n,5);static_l_desc=new StaticTreeDesc(static_ltree,extra_lbits,LITERALS+1,L_CODES,MAX_BITS),static_d_desc=new StaticTreeDesc(static_dtree,extra_dbits,0,D_CODES,MAX_BITS),static_bl_desc=new StaticTreeDesc(new Array(0),extra_blbits,0,BL_CODES,MAX_BL_BITS)}function init_block(s){var n;for(n=0;n<L_CODES;n++)s.dyn_ltree[n*2]=0;for(n=0;n<D_CODES;n++)s.dyn_dtree[n*2]=0;for(n=0;n<BL_CODES;n++)s.bl_tree[n*2]=0;s.dyn_ltree[END_BLOCK*2]=1,s.opt_len=s.static_len=0,s.last_lit=s.matches=0}function bi_windup(s){if(s.bi_valid>8)put_short(s,s.bi_buf);else if(s.bi_valid>0)s.pending_buf[s.pending++]=s.bi_buf;s.bi_buf=0,s.bi_valid=0}function copy_block(s,buf,len,header){if(bi_windup(s),header)put_short(s,len),put_short(s,~len);utils.arraySet(s.pending_buf,s.window,buf,len,s.pending),s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2,_m2=m*2;return tree[_n2]<tree[_m2]||tree[_n2]===tree[_m2]&&depth[n]<=depth[m]}function pqdownheap(s,tree,k){var v=s.heap[k],j=k<<1;while(j<=s.heap_len){if(j<s.heap_len&&smaller(tree,s.heap[j+1],s.heap[j],s.depth))j++;if(smaller(tree,v,s.heap[j],s.depth))break;s.heap[k]=s.heap[j],k=j,j<<=1}s.heap[k]=v}function compress_block(s,ltree,dtree){var dist,lc,lx=0,code,extra;if(s.last_lit!==0)do if(dist=s.pending_buf[s.d_buf+lx*2]<<8|s.pending_buf[s.d_buf+lx*2+1],lc=s.pending_buf[s.l_buf+lx],lx++,dist===0)send_code(s,lc,ltree);else{if(code=_length_code[lc],send_code(s,code+LITERALS+1,ltree),extra=extra_lbits[code],extra!==0)lc-=base_length[code],send_bits(s,lc,extra);if(dist--,code=d_code(dist),send_code(s,code,dtree),extra=extra_dbits[code],extra!==0)dist-=base_dist[code],send_bits(s,dist,extra)}while(lx<s.last_lit);send_code(s,END_BLOCK,ltree)}function build_tree(s,desc){var tree=desc.dyn_tree,stree=desc.stat_desc.static_tree,has_stree=desc.stat_desc.has_stree,elems=desc.stat_desc.elems,n,m,max_code=-1,node;s.heap_len=0,s.heap_max=HEAP_SIZE;for(n=0;n<elems;n++)if(tree[n*2]!==0)s.heap[++s.heap_len]=max_code=n,s.depth[n]=0;else tree[n*2+1]=0;while(s.heap_len<2)if(node=s.heap[++s.heap_len]=max_code<2\?++max_code:0,tree[node*2]=1,s.depth[node]=0,s.opt_len--,has_stree)s.static_len-=stree[node*2+1];desc.max_code=max_code;for(n=s.heap_len>>1;n>=1;n--)pqdownheap(s,tree,n);node=elems;do n=s.heap[1],s.heap[1]=s.heap[s.heap_len--],pqdownheap(s,tree,1),m=s.heap[1],s.heap[--s.heap_max]=n,s.heap[--s.heap_max]=m,tree[node*2]=tree[n*2]+tree[m*2],s.depth[node]=(s.depth[n]>=s.depth[m]\?s.depth[n]:s.depth[m])+1,tree[n*2+1]=tree[m*2+1]=node,s.heap[1]=node++,pqdownheap(s,tree,1);while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1],gen_bitlen(s,desc),gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n,prevlen=-1,curlen,nextlen=tree[1],count=0,max_count=7,min_count=4;if(nextlen===0)max_count=138,min_count=3;tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){if(curlen=nextlen,nextlen=tree[(n+1)*2+1],++count<max_count&&curlen===nextlen)continue;else if(count<min_count)s.bl_tree[curlen*2]+=count;else if(curlen!==0){if(curlen!==prevlen)s.bl_tree[curlen*2]++;s.bl_tree[REP_3_6*2]++}else if(count<=10)s.bl_tree[REPZ_3_10*2]++;else s.bl_tree[REPZ_11_138*2]++;if(count=0,prevlen=curlen,nextlen===0)max_count=138,min_count=3;else if(curlen===nextlen)max_count=6,min_count=3;else max_count=7,min_count=4}}function send_tree(s,tree,max_code){var n,prevlen=-1,curlen,nextlen=tree[1],count=0,max_count=7,min_count=4;if(nextlen===0)max_count=138,min_count=3;for(n=0;n<=max_code;n++){if(curlen=nextlen,nextlen=tree[(n+1)*2+1],++count<max_count&&curlen===nextlen)continue;else if(count<min_count)do send_code(s,curlen,s.bl_tree);while(--count!==0);else if(curlen!==0){if(curlen!==prevlen)send_code(s,curlen,s.bl_tree),count--;send_code(s,REP_3_6,s.bl_tree),send_bits(s,count-3,2)}else if(count<=10)send_code(s,REPZ_3_10,s.bl_tree),send_bits(s,count-3,3);else send_code(s,REPZ_11_138,s.bl_tree),send_bits(s,count-11,7);if(count=0,prevlen=curlen,nextlen===0)max_count=138,min_count=3;else if(curlen===nextlen)max_count=6,min_count=3;else max_count=7,min_count=4}}function build_bl_tree(s){var max_blindex;scan_tree(s,s.dyn_ltree,s.l_desc.max_code),scan_tree(s,s.dyn_dtree,s.d_desc.max_code),build_tree(s,s.bl_desc);for(max_blindex=BL_CODES-1;max_blindex>=3;max_blindex--)if(s.bl_tree[bl_order[max_blindex]*2+1]!==0)break;return s.opt_len+=3*(max_blindex+1)+5+5+4,max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5),send_bits(s,dcodes-1,5),send_bits(s,blcodes-4,4);for(rank=0;rank<blcodes;rank++)send_bits(s,s.bl_tree[bl_order[rank]*2+1],3);send_tree(s,s.dyn_ltree,lcodes-1),send_tree(s,s.dyn_dtree,dcodes-1)}function detect_data_type(s){var black_mask=4093624447,n;for(n=0;n<=31;n++,black_mask>>>=1)if(black_mask&1&&s.dyn_ltree[n*2]!==0)return Z_BINARY;if(s.dyn_ltree[18]!==0||s.dyn_ltree[20]!==0||s.dyn_ltree[26]!==0)return Z_TEXT;for(n=32;n<LITERALS;n++)if(s.dyn_ltree[n*2]!==0)return Z_TEXT;return Z_BINARY}var static_init_done=!1;function _tr_init(s){if(!static_init_done)tr_static_init(),static_init_done=!0;s.l_desc=new TreeDesc(s.dyn_ltree,static_l_desc),s.d_desc=new TreeDesc(s.dyn_dtree,static_d_desc),s.bl_desc=new TreeDesc(s.bl_tree,static_bl_desc),s.bi_buf=0,s.bi_valid=0,init_block(s)}function _tr_stored_block(s,buf,stored_len,last){send_bits(s,(STORED_BLOCK<<1)+(last\?1:0),3),copy_block(s,buf,stored_len,!0)}function _tr_align(s){send_bits(s,STATIC_TREES<<1,3),send_code(s,END_BLOCK,static_ltree),bi_flush(s)}function _tr_flush_block(s,buf,stored_len,last){var opt_lenb,static_lenb,max_blindex=0;if(s.level>0){if(s.strm.data_type===Z_UNKNOWN)s.strm.data_type=detect_data_type(s);if(build_tree(s,s.l_desc),build_tree(s,s.d_desc),max_blindex=build_bl_tree(s),opt_lenb=s.opt_len+3+7>>>3,static_lenb=s.static_len+3+7>>>3,static_lenb<=opt_lenb)opt_lenb=static_lenb}else opt_lenb=static_lenb=stored_len+5;if(stored_len+4<=opt_lenb&&buf!==-1)_tr_stored_block(s,buf,stored_len,last);else if(s.strategy===Z_FIXED||static_lenb===opt_lenb)send_bits(s,(STATIC_TREES<<1)+(last\?1:0),3),compress_block(s,static_ltree,static_dtree);else send_bits(s,(DYN_TREES<<1)+(last\?1:0),3),send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1),compress_block(s,s.dyn_ltree,s.dyn_dtree);if(init_block(s),last)bi_windup(s)}function _tr_tally(s,dist,lc){if(s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255,s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255,s.pending_buf[s.l_buf+s.last_lit]=lc&255,s.last_lit++,dist===0)s.dyn_ltree[lc*2]++;else s.matches++,dist--,s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++,s.dyn_dtree[d_code(dist)*2]++;return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init,exports._tr_stored_block=_tr_stored_block,exports._tr_flush_block=_tr_flush_block,exports._tr_tally=_tr_tally,exports._tr_align=_tr_align}}),require_adler32=__commonJS({\"node_modules/pako/lib/zlib/adler32.js\"(exports,module2){function adler32(adler,buf,len,pos){var s1=adler&65535|0,s2=adler>>>16&65535|0,n=0;while(len!==0){n=len>2000\?2000:len,len-=n;do s1=s1+buf[pos++]|0,s2=s2+s1|0;while(--n);s1%=65521,s2%=65521}return s1|s2<<16|0}module2.exports=adler32}}),require_crc32=__commonJS({\"node_modules/pako/lib/zlib/crc32.js\"(exports,module2){function makeTable(){var c,table=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++)c=c&1\?3988292384^c>>>1:c>>>1;table[n]=c}return table}var crcTable=makeTable();function crc32(crc,buf,len,pos){var t=crcTable,end=pos+len;crc^=-1;for(var i=pos;i<end;i++)crc=crc>>>8^t[(crc^buf[i])&255];return crc^-1}module2.exports=crc32}}),require_messages=__commonJS({\"node_modules/pako/lib/zlib/messages.js\"(exports,module2){module2.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}}}),require_deflate=__commonJS({\"node_modules/pako/lib/zlib/deflate.js\"(exports){var utils=require_common(),trees=require_trees(),adler32=require_adler32(),crc32=require_crc32(),msg=require_messages(),Z_NO_FLUSH=0,Z_PARTIAL_FLUSH=1,Z_FULL_FLUSH=3,Z_FINISH=4,Z_BLOCK=5,Z_OK=0,Z_STREAM_END=1,Z_STREAM_ERROR=-2,Z_DATA_ERROR=-3,Z_BUF_ERROR=-5,Z_DEFAULT_COMPRESSION=-1,Z_FILTERED=1,Z_HUFFMAN_ONLY=2,Z_RLE=3,Z_FIXED=4,Z_DEFAULT_STRATEGY=0,Z_UNKNOWN=2,Z_DEFLATED=8,MAX_MEM_LEVEL=9,MAX_WBITS=15,DEF_MEM_LEVEL=8,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,MIN_MATCH=3,MAX_MATCH=258,MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1,PRESET_DICT=32,INIT_STATE=42,EXTRA_STATE=69,NAME_STATE=73,COMMENT_STATE=91,HCRC_STATE=103,BUSY_STATE=113,FINISH_STATE=666,BS_NEED_MORE=1,BS_BLOCK_DONE=2,BS_FINISH_STARTED=3,BS_FINISH_DONE=4,OS_CODE=3;function err(strm,errorCode){return strm.msg=msg[errorCode],errorCode}function rank(f){return(f<<1)-(f>4\?9:0)}function zero(buf){var len=buf.length;while(--len>=0)buf[len]=0}function flush_pending(strm){var s=strm.state,len=s.pending;if(len>strm.avail_out)len=strm.avail_out;if(len===0)return;if(utils.arraySet(strm.output,s.pending_buf,s.pending_out,len,strm.next_out),strm.next_out+=len,s.pending_out+=len,strm.total_out+=len,strm.avail_out-=len,s.pending-=len,s.pending===0)s.pending_out=0}function flush_block_only(s,last){trees._tr_flush_block(s,s.block_start>=0\?s.block_start:-1,s.strstart-s.block_start,last),s.block_start=s.strstart,flush_pending(s.strm)}function put_byte(s,b){s.pending_buf[s.pending++]=b}function putShortMSB(s,b){s.pending_buf[s.pending++]=b>>>8&255,s.pending_buf[s.pending++]=b&255}function read_buf(strm,buf,start,size){var len=strm.avail_in;if(len>size)len=size;if(len===0)return 0;if(strm.avail_in-=len,utils.arraySet(buf,strm.input,strm.next_in,len,start),strm.state.wrap===1)strm.adler=adler32(strm.adler,buf,len,start);else if(strm.state.wrap===2)strm.adler=crc32(strm.adler,buf,len,start);return strm.next_in+=len,strm.total_in+=len,len}function longest_match(s,cur_match){var{max_chain_length:chain_length,strstart:scan}=s,match,len,best_len=s.prev_length,nice_match=s.nice_match,limit=s.strstart>s.w_size-MIN_LOOKAHEAD\?s.strstart-(s.w_size-MIN_LOOKAHEAD):0,_win=s.window,wmask=s.w_mask,prev=s.prev,strend=s.strstart+MAX_MATCH,scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len];if(s.prev_length>=s.good_match)chain_length>>=2;if(nice_match>s.lookahead)nice_match=s.lookahead;do{if(match=cur_match,_win[match+best_len]!==scan_end||_win[match+best_len-1]!==scan_end1||_win[match]!==_win[scan]||_win[++match]!==_win[scan+1])continue;scan+=2,match++;do;while(_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&scan<strend);if(len=MAX_MATCH-(strend-scan),scan=strend-MAX_MATCH,len>best_len){if(s.match_start=cur_match,best_len=len,len>=nice_match)break;scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len]}}while((cur_match=prev[cur_match&wmask])>limit&&--chain_length!==0);if(best_len<=s.lookahead)return best_len;return s.lookahead}function fill_window(s){var _w_size=s.w_size,p,n,m,more,str;do{if(more=s.window_size-s.lookahead-s.strstart,s.strstart>=_w_size+(_w_size-MIN_LOOKAHEAD)){utils.arraySet(s.window,s.window,_w_size,_w_size,0),s.match_start-=_w_size,s.strstart-=_w_size,s.block_start-=_w_size,n=s.hash_size,p=n;do m=s.head[--p],s.head[p]=m>=_w_size\?m-_w_size:0;while(--n);n=_w_size,p=n;do m=s.prev[--p],s.prev[p]=m>=_w_size\?m-_w_size:0;while(--n);more+=_w_size}if(s.strm.avail_in===0)break;if(n=read_buf(s.strm,s.window,s.strstart+s.lookahead,more),s.lookahead+=n,s.lookahead+s.insert>=MIN_MATCH){str=s.strstart-s.insert,s.ins_h=s.window[str],s.ins_h=(s.ins_h<<s.hash_shift^s.window[str+1])&s.hash_mask;while(s.insert)if(s.ins_h=(s.ins_h<<s.hash_shift^s.window[str+MIN_MATCH-1])&s.hash_mask,s.prev[str&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=str,str++,s.insert--,s.lookahead+s.insert<MIN_MATCH)break}}while(s.lookahead<MIN_LOOKAHEAD&&s.strm.avail_in!==0)}function deflate_stored(s,flush){var max_block_size=65535;if(max_block_size>s.pending_buf_size-5)max_block_size=s.pending_buf_size-5;for(;;){if(s.lookahead<=1){if(fill_window(s),s.lookahead===0&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}s.strstart+=s.lookahead,s.lookahead=0;var max_start=s.block_start+max_block_size;if(s.strstart===0||s.strstart>=max_start){if(s.lookahead=s.strstart-max_start,s.strstart=max_start,flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}if(s.strstart-s.block_start>=s.w_size-MIN_LOOKAHEAD){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.strstart>s.block_start){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_NEED_MORE}function deflate_fast(s,flush){var hash_head,bflush;for(;;){if(s.lookahead<MIN_LOOKAHEAD){if(fill_window(s),s.lookahead<MIN_LOOKAHEAD&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}if(hash_head=0,s.lookahead>=MIN_MATCH)s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask,hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart;if(hash_head!==0&&s.strstart-hash_head<=s.w_size-MIN_LOOKAHEAD)s.match_length=longest_match(s,hash_head);if(s.match_length>=MIN_MATCH)if(bflush=trees._tr_tally(s,s.strstart-s.match_start,s.match_length-MIN_MATCH),s.lookahead-=s.match_length,s.match_length<=s.max_lazy_match&&s.lookahead>=MIN_MATCH){s.match_length--;do s.strstart++,s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask,hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart;while(--s.match_length!==0);s.strstart++}else s.strstart+=s.match_length,s.match_length=0,s.ins_h=s.window[s.strstart],s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+1])&s.hash_mask;else bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++;if(bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=s.strstart<MIN_MATCH-1\?s.strstart:MIN_MATCH-1,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function deflate_slow(s,flush){var hash_head,bflush,max_insert;for(;;){if(s.lookahead<MIN_LOOKAHEAD){if(fill_window(s),s.lookahead<MIN_LOOKAHEAD&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}if(hash_head=0,s.lookahead>=MIN_MATCH)s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask,hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart;if(s.prev_length=s.match_length,s.prev_match=s.match_start,s.match_length=MIN_MATCH-1,hash_head!==0&&s.prev_length<s.max_lazy_match&&s.strstart-hash_head<=s.w_size-MIN_LOOKAHEAD){if(s.match_length=longest_match(s,hash_head),s.match_length<=5&&(s.strategy===Z_FILTERED||s.match_length===MIN_MATCH&&s.strstart-s.match_start>4096))s.match_length=MIN_MATCH-1}if(s.prev_length>=MIN_MATCH&&s.match_length<=s.prev_length){max_insert=s.strstart+s.lookahead-MIN_MATCH,bflush=trees._tr_tally(s,s.strstart-1-s.prev_match,s.prev_length-MIN_MATCH),s.lookahead-=s.prev_length-1,s.prev_length-=2;do if(++s.strstart<=max_insert)s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask,hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart;while(--s.prev_length!==0);if(s.match_available=0,s.match_length=MIN_MATCH-1,s.strstart++,bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}else if(s.match_available){if(bflush=trees._tr_tally(s,0,s.window[s.strstart-1]),bflush)flush_block_only(s,!1);if(s.strstart++,s.lookahead--,s.strm.avail_out===0)return BS_NEED_MORE}else s.match_available=1,s.strstart++,s.lookahead--}if(s.match_available)bflush=trees._tr_tally(s,0,s.window[s.strstart-1]),s.match_available=0;if(s.insert=s.strstart<MIN_MATCH-1\?s.strstart:MIN_MATCH-1,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function deflate_rle(s,flush){var bflush,prev,scan,strend,_win=s.window;for(;;){if(s.lookahead<=MAX_MATCH){if(fill_window(s),s.lookahead<=MAX_MATCH&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}if(s.match_length=0,s.lookahead>=MIN_MATCH&&s.strstart>0){if(scan=s.strstart-1,prev=_win[scan],prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]){strend=s.strstart+MAX_MATCH;do;while(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&scan<strend);if(s.match_length=MAX_MATCH-(strend-scan),s.match_length>s.lookahead)s.match_length=s.lookahead}}if(s.match_length>=MIN_MATCH)bflush=trees._tr_tally(s,1,s.match_length-MIN_MATCH),s.lookahead-=s.match_length,s.strstart+=s.match_length,s.match_length=0;else bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++;if(bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function deflate_huff(s,flush){var bflush;for(;;){if(s.lookahead===0){if(fill_window(s),s.lookahead===0){if(flush===Z_NO_FLUSH)return BS_NEED_MORE;break}}if(s.match_length=0,bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++,bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function Config(good_length,max_lazy,nice_length,max_chain,func){this.good_length=good_length,this.max_lazy=max_lazy,this.nice_length=nice_length,this.max_chain=max_chain,this.func=func}var configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function lm_init(s){s.window_size=2*s.w_size,zero(s.head),s.max_lazy_match=configuration_table[s.level].max_lazy,s.good_match=configuration_table[s.level].good_length,s.nice_match=configuration_table[s.level].nice_length,s.max_chain_length=configuration_table[s.level].max_chain,s.strstart=0,s.block_start=0,s.lookahead=0,s.insert=0,s.match_length=s.prev_length=MIN_MATCH-1,s.match_available=0,s.ins_h=0}function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Z_DEFLATED,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new utils.Buf16(HEAP_SIZE*2),this.dyn_dtree=new utils.Buf16((2*D_CODES+1)*2),this.bl_tree=new utils.Buf16((2*BL_CODES+1)*2),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new utils.Buf16(MAX_BITS+1),this.heap=new utils.Buf16(2*L_CODES+1),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new utils.Buf16(2*L_CODES+1),zero(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function deflateResetKeep(strm){var s;if(!strm||!strm.state)return err(strm,Z_STREAM_ERROR);if(strm.total_in=strm.total_out=0,strm.data_type=Z_UNKNOWN,s=strm.state,s.pending=0,s.pending_out=0,s.wrap<0)s.wrap=-s.wrap;return s.status=s.wrap\?INIT_STATE:BUSY_STATE,strm.adler=s.wrap===2\?0:1,s.last_flush=Z_NO_FLUSH,trees._tr_init(s),Z_OK}function deflateReset(strm){var ret=deflateResetKeep(strm);if(ret===Z_OK)lm_init(strm.state);return ret}function deflateSetHeader(strm,head){if(!strm||!strm.state)return Z_STREAM_ERROR;if(strm.state.wrap!==2)return Z_STREAM_ERROR;return strm.state.gzhead=head,Z_OK}function deflateInit2(strm,level,method,windowBits,memLevel,strategy){if(!strm)return Z_STREAM_ERROR;var wrap=1;if(level===Z_DEFAULT_COMPRESSION)level=6;if(windowBits<0)wrap=0,windowBits=-windowBits;else if(windowBits>15)wrap=2,windowBits-=16;if(memLevel<1||memLevel>MAX_MEM_LEVEL||method!==Z_DEFLATED||windowBits<8||windowBits>15||level<0||level>9||strategy<0||strategy>Z_FIXED)return err(strm,Z_STREAM_ERROR);if(windowBits===8)windowBits=9;var s=new DeflateState;return strm.state=s,s.strm=strm,s.wrap=wrap,s.gzhead=null,s.w_bits=windowBits,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=memLevel+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+MIN_MATCH-1)/MIN_MATCH),s.window=new utils.Buf8(s.w_size*2),s.head=new utils.Buf16(s.hash_size),s.prev=new utils.Buf16(s.w_size),s.lit_bufsize=1<<memLevel+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new utils.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=level,s.strategy=strategy,s.method=method,deflateReset(strm)}function deflateInit(strm,level){return deflateInit2(strm,level,Z_DEFLATED,MAX_WBITS,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY)}function deflate(strm,flush){var old_flush,s,beg,val;if(!strm||!strm.state||flush>Z_BLOCK||flush<0)return strm\?err(strm,Z_STREAM_ERROR):Z_STREAM_ERROR;if(s=strm.state,!strm.output||!strm.input&&strm.avail_in!==0||s.status===FINISH_STATE&&flush!==Z_FINISH)return err(strm,strm.avail_out===0\?Z_BUF_ERROR:Z_STREAM_ERROR);if(s.strm=strm,old_flush=s.last_flush,s.last_flush=flush,s.status===INIT_STATE)if(s.wrap===2)if(strm.adler=0,put_byte(s,31),put_byte(s,139),put_byte(s,8),!s.gzhead)put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,s.level===9\?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2\?4:0),put_byte(s,OS_CODE),s.status=BUSY_STATE;else{if(put_byte(s,(s.gzhead.text\?1:0)+(s.gzhead.hcrc\?2:0)+(!s.gzhead.extra\?0:4)+(!s.gzhead.name\?0:8)+(!s.gzhead.comment\?0:16)),put_byte(s,s.gzhead.time&255),put_byte(s,s.gzhead.time>>8&255),put_byte(s,s.gzhead.time>>16&255),put_byte(s,s.gzhead.time>>24&255),put_byte(s,s.level===9\?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2\?4:0),put_byte(s,s.gzhead.os&255),s.gzhead.extra&&s.gzhead.extra.length)put_byte(s,s.gzhead.extra.length&255),put_byte(s,s.gzhead.extra.length>>8&255);if(s.gzhead.hcrc)strm.adler=crc32(strm.adler,s.pending_buf,s.pending,0);s.gzindex=0,s.status=EXTRA_STATE}else{var header=Z_DEFLATED+(s.w_bits-8<<4)<<8,level_flags=-1;if(s.strategy>=Z_HUFFMAN_ONLY||s.level<2)level_flags=0;else if(s.level<6)level_flags=1;else if(s.level===6)level_flags=2;else level_flags=3;if(header|=level_flags<<6,s.strstart!==0)header|=PRESET_DICT;if(header+=31-header%31,s.status=BUSY_STATE,putShortMSB(s,header),s.strstart!==0)putShortMSB(s,strm.adler>>>16),putShortMSB(s,strm.adler&65535);strm.adler=1}if(s.status===EXTRA_STATE)if(s.gzhead.extra){beg=s.pending;while(s.gzindex<(s.gzhead.extra.length&65535)){if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size)break}put_byte(s,s.gzhead.extra[s.gzindex]&255),s.gzindex++}if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(s.gzindex===s.gzhead.extra.length)s.gzindex=0,s.status=NAME_STATE}else s.status=NAME_STATE;if(s.status===NAME_STATE)if(s.gzhead.name){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size){val=1;break}}if(s.gzindex<s.gzhead.name.length)val=s.gzhead.name.charCodeAt(s.gzindex++)&255;else val=0;put_byte(s,val)}while(val!==0);if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(val===0)s.gzindex=0,s.status=COMMENT_STATE}else s.status=COMMENT_STATE;if(s.status===COMMENT_STATE)if(s.gzhead.comment){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size){val=1;break}}if(s.gzindex<s.gzhead.comment.length)val=s.gzhead.comment.charCodeAt(s.gzindex++)&255;else val=0;put_byte(s,val)}while(val!==0);if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(val===0)s.status=HCRC_STATE}else s.status=HCRC_STATE;if(s.status===HCRC_STATE)if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size)flush_pending(strm);if(s.pending+2<=s.pending_buf_size)put_byte(s,strm.adler&255),put_byte(s,strm.adler>>8&255),strm.adler=0,s.status=BUSY_STATE}else s.status=BUSY_STATE;if(s.pending!==0){if(flush_pending(strm),strm.avail_out===0)return s.last_flush=-1,Z_OK}else if(strm.avail_in===0&&rank(flush)<=rank(old_flush)&&flush!==Z_FINISH)return err(strm,Z_BUF_ERROR);if(s.status===FINISH_STATE&&strm.avail_in!==0)return err(strm,Z_BUF_ERROR);if(strm.avail_in!==0||s.lookahead!==0||flush!==Z_NO_FLUSH&&s.status!==FINISH_STATE){var bstate=s.strategy===Z_HUFFMAN_ONLY\?deflate_huff(s,flush):s.strategy===Z_RLE\?deflate_rle(s,flush):configuration_table[s.level].func(s,flush);if(bstate===BS_FINISH_STARTED||bstate===BS_FINISH_DONE)s.status=FINISH_STATE;if(bstate===BS_NEED_MORE||bstate===BS_FINISH_STARTED){if(strm.avail_out===0)s.last_flush=-1;return Z_OK}if(bstate===BS_BLOCK_DONE){if(flush===Z_PARTIAL_FLUSH)trees._tr_align(s);else if(flush!==Z_BLOCK){if(trees._tr_stored_block(s,0,0,!1),flush===Z_FULL_FLUSH){if(zero(s.head),s.lookahead===0)s.strstart=0,s.block_start=0,s.insert=0}}if(flush_pending(strm),strm.avail_out===0)return s.last_flush=-1,Z_OK}}if(flush!==Z_FINISH)return Z_OK;if(s.wrap<=0)return Z_STREAM_END;if(s.wrap===2)put_byte(s,strm.adler&255),put_byte(s,strm.adler>>8&255),put_byte(s,strm.adler>>16&255),put_byte(s,strm.adler>>24&255),put_byte(s,strm.total_in&255),put_byte(s,strm.total_in>>8&255),put_byte(s,strm.total_in>>16&255),put_byte(s,strm.total_in>>24&255);else putShortMSB(s,strm.adler>>>16),putShortMSB(s,strm.adler&65535);if(flush_pending(strm),s.wrap>0)s.wrap=-s.wrap;return s.pending!==0\?Z_OK:Z_STREAM_END}function deflateEnd(strm){var status;if(!strm||!strm.state)return Z_STREAM_ERROR;if(status=strm.state.status,status!==INIT_STATE&&status!==EXTRA_STATE&&status!==NAME_STATE&&status!==COMMENT_STATE&&status!==HCRC_STATE&&status!==BUSY_STATE&&status!==FINISH_STATE)return err(strm,Z_STREAM_ERROR);return strm.state=null,status===BUSY_STATE\?err(strm,Z_DATA_ERROR):Z_OK}function deflateSetDictionary(strm,dictionary){var dictLength=dictionary.length,s,str,n,wrap,avail,next,input,tmpDict;if(!strm||!strm.state)return Z_STREAM_ERROR;if(s=strm.state,wrap=s.wrap,wrap===2||wrap===1&&s.status!==INIT_STATE||s.lookahead)return Z_STREAM_ERROR;if(wrap===1)strm.adler=adler32(strm.adler,dictionary,dictLength,0);if(s.wrap=0,dictLength>=s.w_size){if(wrap===0)zero(s.head),s.strstart=0,s.block_start=0,s.insert=0;tmpDict=new utils.Buf8(s.w_size),utils.arraySet(tmpDict,dictionary,dictLength-s.w_size,s.w_size,0),dictionary=tmpDict,dictLength=s.w_size}avail=strm.avail_in,next=strm.next_in,input=strm.input,strm.avail_in=dictLength,strm.next_in=0,strm.input=dictionary,fill_window(s);while(s.lookahead>=MIN_MATCH){str=s.strstart,n=s.lookahead-(MIN_MATCH-1);do s.ins_h=(s.ins_h<<s.hash_shift^s.window[str+MIN_MATCH-1])&s.hash_mask,s.prev[str&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=str,str++;while(--n);s.strstart=str,s.lookahead=MIN_MATCH-1,fill_window(s)}return s.strstart+=s.lookahead,s.block_start=s.strstart,s.insert=s.lookahead,s.lookahead=0,s.match_length=s.prev_length=MIN_MATCH-1,s.match_available=0,strm.next_in=next,strm.input=input,strm.avail_in=avail,s.wrap=wrap,Z_OK}exports.deflateInit=deflateInit,exports.deflateInit2=deflateInit2,exports.deflateReset=deflateReset,exports.deflateResetKeep=deflateResetKeep,exports.deflateSetHeader=deflateSetHeader,exports.deflate=deflate,exports.deflateEnd=deflateEnd,exports.deflateSetDictionary=deflateSetDictionary,exports.deflateInfo=\"pako deflate (from Nodeca project)\"}}),require_inffast=__commonJS({\"node_modules/pako/lib/zlib/inffast.js\"(exports,module2){var BAD=30,TYPE=12;module2.exports=function inflate_fast(strm,start){var state,_in,last,_out,beg,end,dmax,wsize,whave,wnext,s_window,hold,bits,lcode,dcode,lmask,dmask,here,op,len,dist,from,from_source,input,output;state=strm.state,_in=strm.next_in,input=strm.input,last=_in+(strm.avail_in-5),_out=strm.next_out,output=strm.output,beg=_out-(start-strm.avail_out),end=_out+(strm.avail_out-257),dmax=state.dmax,wsize=state.wsize,whave=state.whave,wnext=state.wnext,s_window=state.window,hold=state.hold,bits=state.bits,lcode=state.lencode,dcode=state.distcode,lmask=(1<<state.lenbits)-1,dmask=(1<<state.distbits)-1;top:do{if(bits<15)hold+=input[_in++]<<bits,bits+=8,hold+=input[_in++]<<bits,bits+=8;here=lcode[hold&lmask];dolen:for(;;){if(op=here>>>24,hold>>>=op,bits-=op,op=here>>>16&255,op===0)output[_out++]=here&65535;else if(op&16){if(len=here&65535,op&=15,op){if(bits<op)hold+=input[_in++]<<bits,bits+=8;len+=hold&(1<<op)-1,hold>>>=op,bits-=op}if(bits<15)hold+=input[_in++]<<bits,bits+=8,hold+=input[_in++]<<bits,bits+=8;here=dcode[hold&dmask];dodist:for(;;){if(op=here>>>24,hold>>>=op,bits-=op,op=here>>>16&255,op&16){if(dist=here&65535,op&=15,bits<op){if(hold+=input[_in++]<<bits,bits+=8,bits<op)hold+=input[_in++]<<bits,bits+=8}if(dist+=hold&(1<<op)-1,dist>dmax){strm.msg=\"invalid distance too far back\",state.mode=BAD;break top}if(hold>>>=op,bits-=op,op=_out-beg,dist>op){if(op=dist-op,op>whave){if(state.sane){strm.msg=\"invalid distance too far back\",state.mode=BAD;break top}}if(from=0,from_source=s_window,wnext===0){if(from+=wsize-op,op<len){len-=op;do output[_out++]=s_window[from++];while(--op);from=_out-dist,from_source=output}}else if(wnext<op){if(from+=wsize+wnext-op,op-=wnext,op<len){len-=op;do output[_out++]=s_window[from++];while(--op);if(from=0,wnext<len){op=wnext,len-=op;do output[_out++]=s_window[from++];while(--op);from=_out-dist,from_source=output}}}else if(from+=wnext-op,op<len){len-=op;do output[_out++]=s_window[from++];while(--op);from=_out-dist,from_source=output}while(len>2)output[_out++]=from_source[from++],output[_out++]=from_source[from++],output[_out++]=from_source[from++],len-=3;if(len){if(output[_out++]=from_source[from++],len>1)output[_out++]=from_source[from++]}}else{from=_out-dist;do output[_out++]=output[from++],output[_out++]=output[from++],output[_out++]=output[from++],len-=3;while(len>2);if(len){if(output[_out++]=output[from++],len>1)output[_out++]=output[from++]}}}else if((op&64)===0){here=dcode[(here&65535)+(hold&(1<<op)-1)];continue dodist}else{strm.msg=\"invalid distance code\",state.mode=BAD;break top}break}}else if((op&64)===0){here=lcode[(here&65535)+(hold&(1<<op)-1)];continue dolen}else if(op&32){state.mode=TYPE;break top}else{strm.msg=\"invalid literal/length code\",state.mode=BAD;break top}break}}while(_in<last&&_out<end);len=bits>>3,_in-=len,bits-=len<<3,hold&=(1<<bits)-1,strm.next_in=_in,strm.next_out=_out,strm.avail_in=_in<last\?5+(last-_in):5-(_in-last),strm.avail_out=_out<end\?257+(end-_out):257-(_out-end),state.hold=hold,state.bits=bits;return}}}),require_inftrees=__commonJS({\"node_modules/pako/lib/zlib/inftrees.js\"(exports,module2){var utils=require_common(),MAXBITS=15,ENOUGH_LENS=852,ENOUGH_DISTS=592,CODES=0,LENS=1,DISTS=2,lbase=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],lext=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],dbase=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],dext=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];module2.exports=function inflate_table(type,lens,lens_index,codes,table,table_index,work,opts){var bits=opts.bits,len=0,sym=0,min=0,max=0,root=0,curr=0,drop=0,left=0,used=0,huff=0,incr,fill,low,mask,next,base=null,base_index=0,end,count=new utils.Buf16(MAXBITS+1),offs=new utils.Buf16(MAXBITS+1),extra=null,extra_index=0,here_bits,here_op,here_val;for(len=0;len<=MAXBITS;len++)count[len]=0;for(sym=0;sym<codes;sym++)count[lens[lens_index+sym]]++;root=bits;for(max=MAXBITS;max>=1;max--)if(count[max]!==0)break;if(root>max)root=max;if(max===0)return table[table_index++]=1<<24|64<<16|0,table[table_index++]=1<<24|64<<16|0,opts.bits=1,0;for(min=1;min<max;min++)if(count[min]!==0)break;if(root<min)root=min;left=1;for(len=1;len<=MAXBITS;len++)if(left<<=1,left-=count[len],left<0)return-1;if(left>0&&(type===CODES||max!==1))return-1;offs[1]=0;for(len=1;len<MAXBITS;len++)offs[len+1]=offs[len]+count[len];for(sym=0;sym<codes;sym++)if(lens[lens_index+sym]!==0)work[offs[lens[lens_index+sym]]++]=sym;if(type===CODES)base=extra=work,end=19;else if(type===LENS)base=lbase,base_index-=257,extra=lext,extra_index-=257,end=256;else base=dbase,extra=dext,end=-1;if(huff=0,sym=0,len=min,next=table_index,curr=root,drop=0,low=-1,used=1<<root,mask=used-1,type===LENS&&used>ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS)return 1;for(;;){if(here_bits=len-drop,work[sym]<end)here_op=0,here_val=work[sym];else if(work[sym]>end)here_op=extra[extra_index+work[sym]],here_val=base[base_index+work[sym]];else here_op=96,here_val=0;incr=1<<len-drop,fill=1<<curr,min=fill;do fill-=incr,table[next+(huff>>drop)+fill]=here_bits<<24|here_op<<16|here_val|0;while(fill!==0);incr=1<<len-1;while(huff&incr)incr>>=1;if(incr!==0)huff&=incr-1,huff+=incr;else huff=0;if(sym++,--count[len]===0){if(len===max)break;len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0)drop=root;next+=min,curr=len-drop,left=1<<curr;while(curr+drop<max){if(left-=count[curr+drop],left<=0)break;curr++,left<<=1}if(used+=1<<curr,type===LENS&&used>ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS)return 1;low=huff&mask,table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0)table[next+huff]=len-drop<<24|64<<16|0;return opts.bits=root,0}}}),require_inflate=__commonJS({\"node_modules/pako/lib/zlib/inflate.js\"(exports){var utils=require_common(),adler32=require_adler32(),crc32=require_crc32(),inflate_fast=require_inffast(),inflate_table=require_inftrees(),CODES=0,LENS=1,DISTS=2,Z_FINISH=4,Z_BLOCK=5,Z_TREES=6,Z_OK=0,Z_STREAM_END=1,Z_NEED_DICT=2,Z_STREAM_ERROR=-2,Z_DATA_ERROR=-3,Z_MEM_ERROR=-4,Z_BUF_ERROR=-5,Z_DEFLATED=8,HEAD=1,FLAGS=2,TIME=3,OS=4,EXLEN=5,EXTRA=6,NAME=7,COMMENT=8,HCRC=9,DICTID=10,DICT=11,TYPE=12,TYPEDO=13,STORED=14,COPY_=15,COPY=16,TABLE=17,LENLENS=18,CODELENS=19,LEN_=20,LEN=21,LENEXT=22,DIST=23,DISTEXT=24,MATCH=25,LIT=26,CHECK=27,LENGTH=28,DONE=29,BAD=30,MEM=31,SYNC=32,ENOUGH_LENS=852,ENOUGH_DISTS=592,MAX_WBITS=15,DEF_WBITS=MAX_WBITS;function zswap32(q){return(q>>>24&255)+(q>>>8&65280)+((q&65280)<<8)+((q&255)<<24)}function InflateState(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new utils.Buf16(320),this.work=new utils.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function inflateResetKeep(strm){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,strm.total_in=strm.total_out=state.total=0,strm.msg=\"\",state.wrap)strm.adler=state.wrap&1;return state.mode=HEAD,state.last=0,state.havedict=0,state.dmax=32768,state.head=null,state.hold=0,state.bits=0,state.lencode=state.lendyn=new utils.Buf32(ENOUGH_LENS),state.distcode=state.distdyn=new utils.Buf32(ENOUGH_DISTS),state.sane=1,state.back=-1,Z_OK}function inflateReset(strm){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;return state=strm.state,state.wsize=0,state.whave=0,state.wnext=0,inflateResetKeep(strm)}function inflateReset2(strm,windowBits){var wrap,state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,windowBits<0)wrap=0,windowBits=-windowBits;else if(wrap=(windowBits>>4)+1,windowBits<48)windowBits&=15;if(windowBits&&(windowBits<8||windowBits>15))return Z_STREAM_ERROR;if(state.window!==null&&state.wbits!==windowBits)state.window=null;return state.wrap=wrap,state.wbits=windowBits,inflateReset(strm)}function inflateInit2(strm,windowBits){var ret,state;if(!strm)return Z_STREAM_ERROR;if(state=new InflateState,strm.state=state,state.window=null,ret=inflateReset2(strm,windowBits),ret!==Z_OK)strm.state=null;return ret}function inflateInit(strm){return inflateInit2(strm,DEF_WBITS)}var virgin=!0,lenfix,distfix;function fixedtables(state){if(virgin){var sym;lenfix=new utils.Buf32(512),distfix=new utils.Buf32(32),sym=0;while(sym<144)state.lens[sym++]=8;while(sym<256)state.lens[sym++]=9;while(sym<280)state.lens[sym++]=7;while(sym<288)state.lens[sym++]=8;inflate_table(LENS,state.lens,0,288,lenfix,0,state.work,{bits:9}),sym=0;while(sym<32)state.lens[sym++]=5;inflate_table(DISTS,state.lens,0,32,distfix,0,state.work,{bits:5}),virgin=!1}state.lencode=lenfix,state.lenbits=9,state.distcode=distfix,state.distbits=5}function updatewindow(strm,src,end,copy){var dist,state=strm.state;if(state.window===null)state.wsize=1<<state.wbits,state.wnext=0,state.whave=0,state.window=new utils.Buf8(state.wsize);if(copy>=state.wsize)utils.arraySet(state.window,src,end-state.wsize,state.wsize,0),state.wnext=0,state.whave=state.wsize;else{if(dist=state.wsize-state.wnext,dist>copy)dist=copy;if(utils.arraySet(state.window,src,end-copy,dist,state.wnext),copy-=dist,copy)utils.arraySet(state.window,src,end-copy,copy,0),state.wnext=copy,state.whave=state.wsize;else{if(state.wnext+=dist,state.wnext===state.wsize)state.wnext=0;if(state.whave<state.wsize)state.whave+=dist}}return 0}function inflate(strm,flush){var state,input,output,next,put,have,left,hold,bits,_in,_out,copy,from,from_source,here=0,here_bits,here_op,here_val,last_bits,last_op,last_val,len,ret,hbuf=new utils.Buf8(4),opts,n,order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!strm||!strm.state||!strm.output||!strm.input&&strm.avail_in!==0)return Z_STREAM_ERROR;if(state=strm.state,state.mode===TYPE)state.mode=TYPEDO;put=strm.next_out,output=strm.output,left=strm.avail_out,next=strm.next_in,input=strm.input,have=strm.avail_in,hold=state.hold,bits=state.bits,_in=have,_out=left,ret=Z_OK;inf_leave:for(;;)switch(state.mode){case HEAD:if(state.wrap===0){state.mode=TYPEDO;break}while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.wrap&2&&hold===35615){state.check=0,hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0),hold=0,bits=0,state.mode=FLAGS;break}if(state.flags=0,state.head)state.head.done=!1;if(!(state.wrap&1)||(((hold&255)<<8)+(hold>>8))%31){strm.msg=\"incorrect header check\",state.mode=BAD;break}if((hold&15)!==Z_DEFLATED){strm.msg=\"unknown compression method\",state.mode=BAD;break}if(hold>>>=4,bits-=4,len=(hold&15)+8,state.wbits===0)state.wbits=len;else if(len>state.wbits){strm.msg=\"invalid window size\",state.mode=BAD;break}state.dmax=1<<len,strm.adler=state.check=1,state.mode=hold&512\?DICTID:TYPE,hold=0,bits=0;break;case FLAGS:while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.flags=hold,(state.flags&255)!==Z_DEFLATED){strm.msg=\"unknown compression method\",state.mode=BAD;break}if(state.flags&57344){strm.msg=\"unknown header flags set\",state.mode=BAD;break}if(state.head)state.head.text=hold>>8&1;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0,state.mode=TIME;case TIME:while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.head)state.head.time=hold;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,hbuf[2]=hold>>>16&255,hbuf[3]=hold>>>24&255,state.check=crc32(state.check,hbuf,4,0);hold=0,bits=0,state.mode=OS;case OS:while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.head)state.head.xflags=hold&255,state.head.os=hold>>8;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0,state.mode=EXLEN;case EXLEN:if(state.flags&1024){while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.length=hold,state.head)state.head.extra_len=hold;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0}else if(state.head)state.head.extra=null;state.mode=EXTRA;case EXTRA:if(state.flags&1024){if(copy=state.length,copy>have)copy=have;if(copy){if(state.head){if(len=state.head.extra_len-state.length,!state.head.extra)state.head.extra=new Array(state.head.extra_len);utils.arraySet(state.head.extra,input,next,copy,len)}if(state.flags&512)state.check=crc32(state.check,input,copy,next);have-=copy,next+=copy,state.length-=copy}if(state.length)break inf_leave}state.length=0,state.mode=NAME;case NAME:if(state.flags&2048){if(have===0)break inf_leave;copy=0;do if(len=input[next+copy++],state.head&&len&&state.length<65536)state.head.name+=String.fromCharCode(len);while(len&&copy<have);if(state.flags&512)state.check=crc32(state.check,input,copy,next);if(have-=copy,next+=copy,len)break inf_leave}else if(state.head)state.head.name=null;state.length=0,state.mode=COMMENT;case COMMENT:if(state.flags&4096){if(have===0)break inf_leave;copy=0;do if(len=input[next+copy++],state.head&&len&&state.length<65536)state.head.comment+=String.fromCharCode(len);while(len&&copy<have);if(state.flags&512)state.check=crc32(state.check,input,copy,next);if(have-=copy,next+=copy,len)break inf_leave}else if(state.head)state.head.comment=null;state.mode=HCRC;case HCRC:if(state.flags&512){while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(hold!==(state.check&65535)){strm.msg=\"header crc mismatch\",state.mode=BAD;break}hold=0,bits=0}if(state.head)state.head.hcrc=state.flags>>9&1,state.head.done=!0;strm.adler=state.check=0,state.mode=TYPE;break;case DICTID:while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}strm.adler=state.check=zswap32(hold),hold=0,bits=0,state.mode=DICT;case DICT:if(state.havedict===0)return strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,Z_NEED_DICT;strm.adler=state.check=1,state.mode=TYPE;case TYPE:if(flush===Z_BLOCK||flush===Z_TREES)break inf_leave;case TYPEDO:if(state.last){hold>>>=bits&7,bits-=bits&7,state.mode=CHECK;break}while(bits<3){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}switch(state.last=hold&1,hold>>>=1,bits-=1,hold&3){case 0:state.mode=STORED;break;case 1:if(fixedtables(state),state.mode=LEN_,flush===Z_TREES){hold>>>=2,bits-=2;break inf_leave}break;case 2:state.mode=TABLE;break;case 3:strm.msg=\"invalid block type\",state.mode=BAD}hold>>>=2,bits-=2;break;case STORED:hold>>>=bits&7,bits-=bits&7;while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if((hold&65535)!==(hold>>>16^65535)){strm.msg=\"invalid stored block lengths\",state.mode=BAD;break}if(state.length=hold&65535,hold=0,bits=0,state.mode=COPY_,flush===Z_TREES)break inf_leave;case COPY_:state.mode=COPY;case COPY:if(copy=state.length,copy){if(copy>have)copy=have;if(copy>left)copy=left;if(copy===0)break inf_leave;utils.arraySet(output,input,next,copy,put),have-=copy,next+=copy,left-=copy,put+=copy,state.length-=copy;break}state.mode=TYPE;break;case TABLE:while(bits<14){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.nlen=(hold&31)+257,hold>>>=5,bits-=5,state.ndist=(hold&31)+1,hold>>>=5,bits-=5,state.ncode=(hold&15)+4,hold>>>=4,bits-=4,state.nlen>286||state.ndist>30){strm.msg=\"too many length or distance symbols\",state.mode=BAD;break}state.have=0,state.mode=LENLENS;case LENLENS:while(state.have<state.ncode){while(bits<3){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.lens[order[state.have++]]=hold&7,hold>>>=3,bits-=3}while(state.have<19)state.lens[order[state.have++]]=0;if(state.lencode=state.lendyn,state.lenbits=7,opts={bits:state.lenbits},ret=inflate_table(CODES,state.lens,0,19,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg=\"invalid code lengths set\",state.mode=BAD;break}state.have=0,state.mode=CODELENS;case CODELENS:while(state.have<state.nlen+state.ndist){for(;;){if(here=state.lencode[hold&(1<<state.lenbits)-1],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(here_val<16)hold>>>=here_bits,bits-=here_bits,state.lens[state.have++]=here_val;else{if(here_val===16){n=here_bits+2;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(hold>>>=here_bits,bits-=here_bits,state.have===0){strm.msg=\"invalid bit length repeat\",state.mode=BAD;break}len=state.lens[state.have-1],copy=3+(hold&3),hold>>>=2,bits-=2}else if(here_val===17){n=here_bits+3;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=here_bits,bits-=here_bits,len=0,copy=3+(hold&7),hold>>>=3,bits-=3}else{n=here_bits+7;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=here_bits,bits-=here_bits,len=0,copy=11+(hold&127),hold>>>=7,bits-=7}if(state.have+copy>state.nlen+state.ndist){strm.msg=\"invalid bit length repeat\",state.mode=BAD;break}while(copy--)state.lens[state.have++]=len}}if(state.mode===BAD)break;if(state.lens[256]===0){strm.msg=\"invalid code -- missing end-of-block\",state.mode=BAD;break}if(state.lenbits=9,opts={bits:state.lenbits},ret=inflate_table(LENS,state.lens,0,state.nlen,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg=\"invalid literal/lengths set\",state.mode=BAD;break}if(state.distbits=6,state.distcode=state.distdyn,opts={bits:state.distbits},ret=inflate_table(DISTS,state.lens,state.nlen,state.ndist,state.distcode,0,state.work,opts),state.distbits=opts.bits,ret){strm.msg=\"invalid distances set\",state.mode=BAD;break}if(state.mode=LEN_,flush===Z_TREES)break inf_leave;case LEN_:state.mode=LEN;case LEN:if(have>=6&&left>=258){if(strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,inflate_fast(strm,_out),put=strm.next_out,output=strm.output,left=strm.avail_out,next=strm.next_in,input=strm.input,have=strm.avail_in,hold=state.hold,bits=state.bits,state.mode===TYPE)state.back=-1;break}state.back=0;for(;;){if(here=state.lencode[hold&(1<<state.lenbits)-1],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(here_op&&(here_op&240)===0){last_bits=here_bits,last_op=here_op,last_val=here_val;for(;;){if(here=state.lencode[last_val+((hold&(1<<last_bits+last_op)-1)>>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,last_bits+here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,state.length=here_val,here_op===0){state.mode=LIT;break}if(here_op&32){state.back=-1,state.mode=TYPE;break}if(here_op&64){strm.msg=\"invalid literal/length code\",state.mode=BAD;break}state.extra=here_op&15,state.mode=LENEXT;case LENEXT:if(state.extra){n=state.extra;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.length+=hold&(1<<state.extra)-1,hold>>>=state.extra,bits-=state.extra,state.back+=state.extra}state.was=state.length,state.mode=DIST;case DIST:for(;;){if(here=state.distcode[hold&(1<<state.distbits)-1],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if((here_op&240)===0){last_bits=here_bits,last_op=here_op,last_val=here_val;for(;;){if(here=state.distcode[last_val+((hold&(1<<last_bits+last_op)-1)>>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,last_bits+here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,here_op&64){strm.msg=\"invalid distance code\",state.mode=BAD;break}state.offset=here_val,state.extra=here_op&15,state.mode=DISTEXT;case DISTEXT:if(state.extra){n=state.extra;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.offset+=hold&(1<<state.extra)-1,hold>>>=state.extra,bits-=state.extra,state.back+=state.extra}if(state.offset>state.dmax){strm.msg=\"invalid distance too far back\",state.mode=BAD;break}state.mode=MATCH;case MATCH:if(left===0)break inf_leave;if(copy=_out-left,state.offset>copy){if(copy=state.offset-copy,copy>state.whave){if(state.sane){strm.msg=\"invalid distance too far back\",state.mode=BAD;break}}if(copy>state.wnext)copy-=state.wnext,from=state.wsize-copy;else from=state.wnext-copy;if(copy>state.length)copy=state.length;from_source=state.window}else from_source=output,from=put-state.offset,copy=state.length;if(copy>left)copy=left;left-=copy,state.length-=copy;do output[put++]=from_source[from++];while(--copy);if(state.length===0)state.mode=LEN;break;case LIT:if(left===0)break inf_leave;output[put++]=state.length,left--,state.mode=LEN;break;case CHECK:if(state.wrap){while(bits<32){if(have===0)break inf_leave;have--,hold|=input[next++]<<bits,bits+=8}if(_out-=left,strm.total_out+=_out,state.total+=_out,_out)strm.adler=state.check=state.flags\?crc32(state.check,output,_out,put-_out):adler32(state.check,output,_out,put-_out);if(_out=left,(state.flags\?hold:zswap32(hold))!==state.check){strm.msg=\"incorrect data check\",state.mode=BAD;break}hold=0,bits=0}state.mode=LENGTH;case LENGTH:if(state.wrap&&state.flags){while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(hold!==(state.total&4294967295)){strm.msg=\"incorrect length check\",state.mode=BAD;break}hold=0,bits=0}state.mode=DONE;case DONE:ret=Z_STREAM_END;break inf_leave;case BAD:ret=Z_DATA_ERROR;break inf_leave;case MEM:return Z_MEM_ERROR;case SYNC:default:return Z_STREAM_ERROR}if(strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,state.wsize||_out!==strm.avail_out&&state.mode<BAD&&(state.mode<CHECK||flush!==Z_FINISH)){if(updatewindow(strm,strm.output,strm.next_out,_out-strm.avail_out))return state.mode=MEM,Z_MEM_ERROR}if(_in-=strm.avail_in,_out-=strm.avail_out,strm.total_in+=_in,strm.total_out+=_out,state.total+=_out,state.wrap&&_out)strm.adler=state.check=state.flags\?crc32(state.check,output,_out,strm.next_out-_out):adler32(state.check,output,_out,strm.next_out-_out);if(strm.data_type=state.bits+(state.last\?64:0)+(state.mode===TYPE\?128:0)+(state.mode===LEN_||state.mode===COPY_\?256:0),(_in===0&&_out===0||flush===Z_FINISH)&&ret===Z_OK)ret=Z_BUF_ERROR;return ret}function inflateEnd(strm){if(!strm||!strm.state)return Z_STREAM_ERROR;var state=strm.state;if(state.window)state.window=null;return strm.state=null,Z_OK}function inflateGetHeader(strm,head){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,(state.wrap&2)===0)return Z_STREAM_ERROR;return state.head=head,head.done=!1,Z_OK}function inflateSetDictionary(strm,dictionary){var dictLength=dictionary.length,state,dictid,ret;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,state.wrap!==0&&state.mode!==DICT)return Z_STREAM_ERROR;if(state.mode===DICT){if(dictid=1,dictid=adler32(dictid,dictionary,dictLength,0),dictid!==state.check)return Z_DATA_ERROR}if(ret=updatewindow(strm,dictionary,dictLength,dictLength),ret)return state.mode=MEM,Z_MEM_ERROR;return state.havedict=1,Z_OK}exports.inflateReset=inflateReset,exports.inflateReset2=inflateReset2,exports.inflateResetKeep=inflateResetKeep,exports.inflateInit=inflateInit,exports.inflateInit2=inflateInit2,exports.inflate=inflate,exports.inflateEnd=inflateEnd,exports.inflateGetHeader=inflateGetHeader,exports.inflateSetDictionary=inflateSetDictionary,exports.inflateInfo=\"pako inflate (from Nodeca project)\"}}),require_constants=__commonJS({\"node_modules/pako/lib/zlib/constants.js\"(exports,module2){module2.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}}}),require_binding=__commonJS({\"node_modules/browserify-zlib/lib/binding.js\"(exports){var Zstream=require_zstream(),zlib_deflate=require_deflate(),zlib_inflate=require_inflate(),constants=require_constants();for(key in constants)exports[key]=constants[key];var key;exports.NONE=0,exports.DEFLATE=1,exports.INFLATE=2,exports.GZIP=3,exports.GUNZIP=4,exports.DEFLATERAW=5,exports.INFLATERAW=6,exports.UNZIP=7;var GZIP_HEADER_ID1=31,GZIP_HEADER_ID2=139;function Zlib(mode){if(typeof mode!==\"number\"||mode<exports.DEFLATE||mode>exports.UNZIP)@throwTypeError(\"Bad argument\");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=mode,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}Zlib.prototype={},Zlib.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}if(this.pending_close=!1,assert(this.init_done,\"close before init\"),assert(this.mode<=exports.UNZIP),this.mode===exports.DEFLATE||this.mode===exports.GZIP||this.mode===exports.DEFLATERAW)zlib_deflate.deflateEnd(this.strm);else if(this.mode===exports.INFLATE||this.mode===exports.GUNZIP||this.mode===exports.INFLATERAW||this.mode===exports.UNZIP)zlib_inflate.inflateEnd(this.strm);this.mode=exports.NONE,this.dictionary=null},Zlib.prototype.write=function(flush,input,in_off,in_len,out,out_off,out_len){return this._write(!0,flush,input,in_off,in_len,out,out_off,out_len)},Zlib.prototype.writeSync=function(flush,input,in_off,in_len,out,out_off,out_len){return this._write(!1,flush,input,in_off,in_len,out,out_off,out_len)},Zlib.prototype._write=function(async,flush,input,in_off,in_len,out,out_off,out_len){if(assert.equal(arguments.length,8),assert(this.init_done,\"write before init\"),assert(this.mode!==exports.NONE,\"already finalized\"),assert.equal(!1,this.write_in_progress,\"write already in progress\"),assert.equal(!1,this.pending_close,\"close is pending\"),this.write_in_progress=!0,assert.equal(!1,flush===void 0,\"must provide flush value\"),this.write_in_progress=!0,flush!==exports.Z_NO_FLUSH&&flush!==exports.Z_PARTIAL_FLUSH&&flush!==exports.Z_SYNC_FLUSH&&flush!==exports.Z_FULL_FLUSH&&flush!==exports.Z_FINISH&&flush!==exports.Z_BLOCK)throw new Error(\"Invalid flush value\");if(input==null)input=Buffer.alloc(0),in_len=0,in_off=0;if(this.strm.avail_in=in_len,this.strm.input=input,this.strm.next_in=in_off,this.strm.avail_out=out_len,this.strm.output=out,this.strm.next_out=out_off,this.flush=flush,!async){if(this._process(),this._checkError())return this._afterSync();return}var self=this;return process.nextTick(function(){self._process(),self._after()}),this},Zlib.prototype._afterSync=function(){var avail_out=this.strm.avail_out,avail_in=this.strm.avail_in;return this.write_in_progress=!1,[avail_in,avail_out]},Zlib.prototype._process=function(){var next_expected_header_byte=null;switch(this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:this.err=zlib_deflate.deflate(this.strm,this.flush);break;case exports.UNZIP:if(this.strm.avail_in>0)next_expected_header_byte=this.strm.next_in;switch(this.gzip_id_bytes_read){case 0:if(next_expected_header_byte===null)break;if(this.strm.input[next_expected_header_byte]===GZIP_HEADER_ID1){if(this.gzip_id_bytes_read=1,next_expected_header_byte++,this.strm.avail_in===1)break}else{this.mode=exports.INFLATE;break}case 1:if(next_expected_header_byte===null)break;if(this.strm.input[next_expected_header_byte]===GZIP_HEADER_ID2)this.gzip_id_bytes_read=2,this.mode=exports.GUNZIP;else this.mode=exports.INFLATE;break;default:throw new Error(\"invalid number of gzip magic number bytes read\")}case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:if(this.err=zlib_inflate.inflate(this.strm,this.flush),this.err===exports.Z_NEED_DICT&&this.dictionary){if(this.err=zlib_inflate.inflateSetDictionary(this.strm,this.dictionary),this.err===exports.Z_OK)this.err=zlib_inflate.inflate(this.strm,this.flush);else if(this.err===exports.Z_DATA_ERROR)this.err=exports.Z_NEED_DICT}while(this.strm.avail_in>0&&this.mode===exports.GUNZIP&&this.err===exports.Z_STREAM_END&&this.strm.next_in[0]!==0)this.reset(),this.err=zlib_inflate.inflate(this.strm,this.flush);break;default:throw new Error(\"Unknown mode \"+this.mode)}},Zlib.prototype._checkError=function(){switch(this.err){case exports.Z_OK:case exports.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===exports.Z_FINISH)return this._error(\"unexpected end of file\"),!1;break;case exports.Z_STREAM_END:break;case exports.Z_NEED_DICT:if(this.dictionary==null)this._error(\"Missing dictionary\");else this._error(\"Bad dictionary\");return!1;default:return this._error(\"Zlib error\"),!1}return!0},Zlib.prototype._after=function(){if(!this._checkError())return;var avail_out=this.strm.avail_out,avail_in=this.strm.avail_in;if(this.write_in_progress=!1,this.callback(avail_in,avail_out),this.pending_close)this.close()},Zlib.prototype._error=function(message){if(this.strm.msg)message=this.strm.msg;if(this.onerror(message,this.err),this.write_in_progress=!1,this.pending_close)this.close()},Zlib.prototype.init=function(windowBits,level,memLevel,strategy,dictionary){assert(arguments.length===4||arguments.length===5,\"init(windowBits, level, memLevel, strategy, [dictionary])\"),assert(windowBits>=8&&windowBits<=15,\"invalid windowBits\"),assert(level>=-1&&level<=9,\"invalid compression level\"),assert(memLevel>=1&&memLevel<=9,\"invalid memlevel\"),assert(strategy===exports.Z_FILTERED||strategy===exports.Z_HUFFMAN_ONLY||strategy===exports.Z_RLE||strategy===exports.Z_FIXED||strategy===exports.Z_DEFAULT_STRATEGY,\"invalid strategy\"),this._init(level,windowBits,memLevel,strategy,dictionary),this._setDictionary()},Zlib.prototype.params=function(){throw new Error(\"deflateParams Not supported\")},Zlib.prototype.reset=function(){this._reset(),this._setDictionary()},Zlib.prototype._init=function(level,windowBits,memLevel,strategy,dictionary){if(this.level=level,this.windowBits=windowBits,this.memLevel=memLevel,this.strategy=strategy,this.flush=exports.Z_NO_FLUSH,this.err=exports.Z_OK,this.mode===exports.GZIP||this.mode===exports.GUNZIP)this.windowBits+=16;if(this.mode===exports.UNZIP)this.windowBits+=32;if(this.mode===exports.DEFLATERAW||this.mode===exports.INFLATERAW)this.windowBits=-1*this.windowBits;switch(this.strm=new Zstream,this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:this.err=zlib_deflate.deflateInit2(this.strm,this.level,exports.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:case exports.UNZIP:this.err=zlib_inflate.inflateInit2(this.strm,this.windowBits);break;default:throw new Error(\"Unknown mode \"+this.mode)}if(this.err!==exports.Z_OK)this._error(\"Init error\");this.dictionary=dictionary,this.write_in_progress=!1,this.init_done=!0},Zlib.prototype._setDictionary=function(){if(this.dictionary==null)return;switch(this.err=exports.Z_OK,this.mode){case exports.DEFLATE:case exports.DEFLATERAW:this.err=zlib_deflate.deflateSetDictionary(this.strm,this.dictionary);break;default:break}if(this.err!==exports.Z_OK)this._error(\"Failed to set dictionary\")},Zlib.prototype._reset=function(){switch(this.err=exports.Z_OK,this.mode){case exports.DEFLATE:case exports.DEFLATERAW:case exports.GZIP:this.err=zlib_deflate.deflateReset(this.strm);break;case exports.INFLATE:case exports.INFLATERAW:case exports.GUNZIP:this.err=zlib_inflate.inflateReset(this.strm);break;default:break}if(this.err!==exports.Z_OK)this._error(\"Failed to reset stream\")},exports.Zlib=Zlib}}),require_lib=__commonJS({\"node_modules/browserify-zlib/lib/index.js\"(exports){var Buffer2=BufferModule.Buffer,Transform=StreamModule.Transform,binding=require_binding(),util=Util,kMaxLength=BufferModule.kMaxLength,kRangeErrorMessage=\"Cannot create final Buffer. It would be larger than 0x\"+kMaxLength.toString(16)+\" bytes\";binding.Z_MIN_WINDOWBITS=8,binding.Z_MAX_WINDOWBITS=15,binding.Z_DEFAULT_WINDOWBITS=15,binding.Z_MIN_CHUNK=64,binding.Z_MAX_CHUNK=Infinity,binding.Z_DEFAULT_CHUNK=16384,binding.Z_MIN_MEMLEVEL=1,binding.Z_MAX_MEMLEVEL=9,binding.Z_DEFAULT_MEMLEVEL=8,binding.Z_MIN_LEVEL=-1,binding.Z_MAX_LEVEL=9,binding.Z_DEFAULT_LEVEL=binding.Z_DEFAULT_COMPRESSION;var bkeys=Object.keys(binding);for(bk=0;bk<bkeys.length;bk++)if(bkey=bkeys[bk],bkey.match(/^Z/))Object.defineProperty(exports,bkey,{enumerable:!0,value:binding[bkey],writable:!1});var bkey,bk,codes={Z_OK:binding.Z_OK,Z_STREAM_END:binding.Z_STREAM_END,Z_NEED_DICT:binding.Z_NEED_DICT,Z_ERRNO:binding.Z_ERRNO,Z_STREAM_ERROR:binding.Z_STREAM_ERROR,Z_DATA_ERROR:binding.Z_DATA_ERROR,Z_MEM_ERROR:binding.Z_MEM_ERROR,Z_BUF_ERROR:binding.Z_BUF_ERROR,Z_VERSION_ERROR:binding.Z_VERSION_ERROR},ckeys=Object.keys(codes);for(ck=0;ck<ckeys.length;ck++)ckey=ckeys[ck],codes[codes[ckey]]=ckey;var ckey,ck;Object.defineProperty(exports,\"codes\",{enumerable:!0,value:Object.freeze(codes),writable:!1}),exports.constants=require_constants(),exports.Deflate=Deflate,exports.Inflate=Inflate,exports.Gzip=Gzip,exports.Gunzip=Gunzip,exports.DeflateRaw=DeflateRaw,exports.InflateRaw=InflateRaw,exports.Unzip=Unzip,exports.createDeflate=function(o){return new Deflate(o)},exports.createInflate=function(o){return new Inflate(o)},exports.createDeflateRaw=function(o){return new DeflateRaw(o)},exports.createInflateRaw=function(o){return new InflateRaw(o)},exports.createGzip=function(o){return new Gzip(o)},exports.createGunzip=function(o){return new Gunzip(o)},exports.createUnzip=function(o){return new Unzip(o)},exports.deflate=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Deflate(opts),buffer,callback)},exports.deflateSync=function(buffer,opts){return zlibBufferSync(new Deflate(opts),buffer)},exports.gzip=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Gzip(opts),buffer,callback)},exports.gzipSync=function(buffer,opts){return zlibBufferSync(new Gzip(opts),buffer)},exports.deflateRaw=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new DeflateRaw(opts),buffer,callback)},exports.deflateRawSync=function(buffer,opts){return zlibBufferSync(new DeflateRaw(opts),buffer)},exports.unzip=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Unzip(opts),buffer,callback)},exports.unzipSync=function(buffer,opts){return zlibBufferSync(new Unzip(opts),buffer)},exports.inflate=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Inflate(opts),buffer,callback)},exports.inflateSync=function(buffer,opts){return zlibBufferSync(new Inflate(opts),buffer)},exports.gunzip=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Gunzip(opts),buffer,callback)},exports.gunzipSync=function(buffer,opts){return zlibBufferSync(new Gunzip(opts),buffer)},exports.inflateRaw=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new InflateRaw(opts),buffer,callback)},exports.inflateRawSync=function(buffer,opts){return zlibBufferSync(new InflateRaw(opts),buffer)};function zlibBuffer(engine,buffer,callback){var buffers=[],nread=0;engine.on(\"error\",onError),engine.on(\"end\",onEnd),engine.end(buffer),flow();function flow(){var chunk;while((chunk=engine.read())!==null)buffers.push(chunk),nread+=chunk.length;engine.once(\"readable\",flow)}function onError(err){engine.removeListener(\"end\",onEnd),engine.removeListener(\"readable\",flow),callback(err)}function onEnd(){var buf,err=null;if(nread>=kMaxLength)err=new RangeError(kRangeErrorMessage);else buf=Buffer2.concat(buffers,nread);buffers=[],engine.close(),callback(err,buf)}}function zlibBufferSync(engine,buffer){if(typeof buffer===\"string\")buffer=Buffer2.from(buffer);if(!Buffer2.isBuffer(buffer))@throwTypeError(\"Not a string or buffer\");var flushFlag=engine._finishFlushFlag;return engine._processChunk(buffer,flushFlag)}function Deflate(opts){if(!(this instanceof Deflate))return new Deflate(opts);Zlib.call(this,opts,binding.DEFLATE)}function Inflate(opts){if(!(this instanceof Inflate))return new Inflate(opts);Zlib.call(this,opts,binding.INFLATE)}function Gzip(opts){if(!(this instanceof Gzip))return new Gzip(opts);Zlib.call(this,opts,binding.GZIP)}function Gunzip(opts){if(!(this instanceof Gunzip))return new Gunzip(opts);Zlib.call(this,opts,binding.GUNZIP)}function DeflateRaw(opts){if(!(this instanceof DeflateRaw))return new DeflateRaw(opts);Zlib.call(this,opts,binding.DEFLATERAW)}function InflateRaw(opts){if(!(this instanceof InflateRaw))return new InflateRaw(opts);Zlib.call(this,opts,binding.INFLATERAW)}function Unzip(opts){if(!(this instanceof Unzip))return new Unzip(opts);Zlib.call(this,opts,binding.UNZIP)}function isValidFlushFlag(flag){return flag===binding.Z_NO_FLUSH||flag===binding.Z_PARTIAL_FLUSH||flag===binding.Z_SYNC_FLUSH||flag===binding.Z_FULL_FLUSH||flag===binding.Z_FINISH||flag===binding.Z_BLOCK}function Zlib(opts,mode){var _this=this;if(this._opts=opts=opts||{},this._chunkSize=opts.chunkSize||exports.Z_DEFAULT_CHUNK,Transform.call(this,opts),opts.flush&&!isValidFlushFlag(opts.flush))throw new Error(\"Invalid flush flag: \"+opts.flush);if(opts.finishFlush&&!isValidFlushFlag(opts.finishFlush))throw new Error(\"Invalid flush flag: \"+opts.finishFlush);if(this._flushFlag=opts.flush||binding.Z_NO_FLUSH,this._finishFlushFlag=typeof opts.finishFlush!==\"undefined\"\?opts.finishFlush:binding.Z_FINISH,opts.chunkSize){if(opts.chunkSize<exports.Z_MIN_CHUNK||opts.chunkSize>exports.Z_MAX_CHUNK)throw new Error(\"Invalid chunk size: \"+opts.chunkSize)}if(opts.windowBits){if(opts.windowBits<exports.Z_MIN_WINDOWBITS||opts.windowBits>exports.Z_MAX_WINDOWBITS)throw new Error(\"Invalid windowBits: \"+opts.windowBits)}if(opts.level){if(opts.level<exports.Z_MIN_LEVEL||opts.level>exports.Z_MAX_LEVEL)throw new Error(\"Invalid compression level: \"+opts.level)}if(opts.memLevel){if(opts.memLevel<exports.Z_MIN_MEMLEVEL||opts.memLevel>exports.Z_MAX_MEMLEVEL)throw new Error(\"Invalid memLevel: \"+opts.memLevel)}if(opts.strategy){if(opts.strategy!=exports.Z_FILTERED&&opts.strategy!=exports.Z_HUFFMAN_ONLY&&opts.strategy!=exports.Z_RLE&&opts.strategy!=exports.Z_FIXED&&opts.strategy!=exports.Z_DEFAULT_STRATEGY)throw new Error(\"Invalid strategy: \"+opts.strategy)}if(opts.dictionary){if(!Buffer2.isBuffer(opts.dictionary))throw new Error(\"Invalid dictionary: it should be a Buffer instance\")}this._handle=new binding.Zlib(mode);var self=this;this._hadError=!1,this._handle.onerror=function(message,errno){_close(self),self._hadError=!0;var error=new Error(message);error.errno=errno,error.code=exports.codes[errno],self.emit(\"error\",error)};var level=exports.Z_DEFAULT_COMPRESSION;if(typeof opts.level===\"number\")level=opts.level;var strategy=exports.Z_DEFAULT_STRATEGY;if(typeof opts.strategy===\"number\")strategy=opts.strategy;this._handle.init(opts.windowBits||exports.Z_DEFAULT_WINDOWBITS,level,opts.memLevel||exports.Z_DEFAULT_MEMLEVEL,strategy,opts.dictionary),this._buffer=Buffer2.allocUnsafe(this._chunkSize),this._offset=0,this._level=level,this._strategy=strategy,this.once(\"end\",this.close),Object.defineProperty(this,\"_closed\",{get:function(){return!_this._handle},configurable:!0,enumerable:!0})}util.inherits(Zlib,Transform),Zlib.prototype.params=function(level,strategy,callback){if(level<exports.Z_MIN_LEVEL||level>exports.Z_MAX_LEVEL)@throwRangeError(\"Invalid compression level: \"+level);if(strategy!=exports.Z_FILTERED&&strategy!=exports.Z_HUFFMAN_ONLY&&strategy!=exports.Z_RLE&&strategy!=exports.Z_FIXED&&strategy!=exports.Z_DEFAULT_STRATEGY)@throwTypeError(\"Invalid strategy: \"+strategy);if(this._level!==level||this._strategy!==strategy){var self=this;this.flush(binding.Z_SYNC_FLUSH,function(){if(assert(self._handle,\"zlib binding closed\"),self._handle.params(level,strategy),!self._hadError){if(self._level=level,self._strategy=strategy,callback)callback()}})}else process.nextTick(callback)},Zlib.prototype.reset=function(){return assert(this._handle,\"zlib binding closed\"),this._handle.reset()},Zlib.prototype._flush=function(callback){this._transform(Buffer2.alloc(0),\"\",callback)},Zlib.prototype.flush=function(kind,callback){var _this2=this,ws=this._writableState;if(typeof kind===\"function\"||kind===void 0&&!callback)callback=kind,kind=binding.Z_FULL_FLUSH;if(ws.ended){if(callback)process.nextTick(callback)}else if(ws.ending){if(callback)this.once(\"end\",callback)}else if(ws.needDrain){if(callback)this.once(\"drain\",function(){return _this2.flush(kind,callback)})}else this._flushFlag=kind,this.write(Buffer2.alloc(0),\"\",callback)},Zlib.prototype.close=function(callback){_close(this,callback),process.nextTick(emitCloseNT,this)};function _close(engine,callback){if(callback)process.nextTick(callback);if(!engine._handle)return;engine._handle.close(),engine._handle=null}function emitCloseNT(self){self.emit(\"close\")}Zlib.prototype._transform=function(chunk,encoding,cb){var flushFlag,ws=this._writableState,ending=ws.ending||ws.ended,last=ending&&(!chunk||ws.length===chunk.length);if(chunk!==null&&!Buffer2.isBuffer(chunk))return cb(new Error(\"invalid input\"));if(!this._handle)return cb(new Error(\"zlib binding closed\"));if(last)flushFlag=this._finishFlushFlag;else if(flushFlag=this._flushFlag,chunk.length>=ws.length)this._flushFlag=this._opts.flush||binding.Z_NO_FLUSH;this._processChunk(chunk,flushFlag,cb)},Zlib.prototype._processChunk=function(chunk,flushFlag,cb){var availInBefore=chunk&&chunk.length,availOutBefore=this._chunkSize-this._offset,inOff=0,self=this,async=typeof cb===\"function\";if(!async){var buffers=[],nread=0,error;this.on(\"error\",function(er){error=er}),assert(this._handle,\"zlib binding closed\");do var res=this._handle.writeSync(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);while(!this._hadError&&callback(res[0],res[1]));if(this._hadError)throw error;if(nread>=kMaxLength)_close(this),@throwRangeError(kRangeErrorMessage);var buf=Buffer2.concat(buffers,nread);return _close(this),buf}assert(this._handle,\"zlib binding closed\");var req=this._handle.write(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);req.buffer=chunk,req.callback=callback;function callback(availInAfter,availOutAfter){if(this)this.buffer=null,this.callback=null;if(self._hadError)return;var have=availOutBefore-availOutAfter;if(assert(have>=0,\"have should not go down\"),have>0){var out=self._buffer.slice(self._offset,self._offset+have);if(self._offset+=have,async)self.push(out);else buffers.push(out),nread+=out.length}if(availOutAfter===0||self._offset>=self._chunkSize)availOutBefore=self._chunkSize,self._offset=0,self._buffer=Buffer2.allocUnsafe(self._chunkSize);if(availOutAfter===0){if(inOff+=availInBefore-availInAfter,availInBefore=availInAfter,!async)return!0;var newReq=self._handle.write(flushFlag,chunk,inOff,availInBefore,self._buffer,self._offset,self._chunkSize);newReq.callback=callback,newReq.buffer=chunk;return}if(!async)return!1;cb()}},util.inherits(Deflate,Zlib),util.inherits(Inflate,Zlib),util.inherits(Gzip,Zlib),util.inherits(Gunzip,Zlib),util.inherits(DeflateRaw,Zlib),util.inherits(InflateRaw,Zlib),util.inherits(Unzip,Zlib)}});return require_lib()})\n"_s;
static constexpr ASCIILiteral ThirdpartyDepdCode = "(function (){\"use strict\";var $=function depd(namespace){if(!namespace)@throwTypeError(\"argument namespace is required\");function deprecate(message){}return deprecate._file=void 0,deprecate._ignored=!0,deprecate._namespace=namespace,deprecate._traced=!1,deprecate._warned=Object.create(null),deprecate.function=wrapfunction,deprecate.property=wrapproperty,deprecate};function wrapfunction(fn,message){if(typeof fn!==\"function\")@throwTypeError(\"argument fn must be a function\");return fn}function wrapproperty(obj,prop,message){if(!obj||typeof obj!==\"object\"&&typeof obj!==\"function\")@throwTypeError(\"argument obj must be object\");var descriptor=Object.getOwnPropertyDescriptor(obj,prop);if(!descriptor)@throwTypeError(\"must call property on owner object\");if(!descriptor.configurable)@throwTypeError(\"property must be configurable\")}return $})\n"_s;
static constexpr ASCIILiteral ThirdpartyDetectLibcCode = "(function (){\"use strict\";function family(){return Promise.resolve(familySync())}function familySync(){return null}const GLIBC=\"glibc\",MUSL=\"musl\";function versionAsync(){return Promise.resolve(version())}function version(){return null}function isNonGlibcLinuxSync(){return!1}function isNonGlibcLinux(){return Promise.resolve(isNonGlibcLinuxSync())}return{GLIBC,MUSL,family,familySync,isNonGlibcLinux,isNonGlibcLinuxSync,version,versionAsync}})\n"_s;
@@ -165,7 +165,7 @@ static constexpr ASCIILiteral NodeUtilCode = "(function (){\"use strict\";const
static constexpr ASCIILiteral NodeV8Code = "(function (){\"use strict\";var $;const{hideFromStack,throwNotImplemented}=@getInternalField(@internalModuleRegistry,2)||@createInternalModuleById(2),jsc=@requireNativeModule(\"bun:jsc\");function notimpl(message){throwNotImplemented(\"node:v8 \"+message)}class Deserializer{constructor(){notimpl(\"Deserializer\")}}class Serializer{constructor(){notimpl(\"Serializer\")}}class DefaultDeserializer extends Deserializer{constructor(){super(...arguments)}}class DefaultSerializer extends Serializer{constructor(){super(...arguments)}}class GCProfiler{constructor(){notimpl(\"GCProfiler\")}}function cachedDataVersionTag(){notimpl(\"cachedDataVersionTag\")}function getHeapSnapshot(){notimpl(\"getHeapSnapshot\")}function getHeapStatistics(){notimpl(\"getHeapStatistics\")}function getHeapSpaceStatistics(){notimpl(\"getHeapSpaceStatistics\")}function getHeapCodeStatistics(){notimpl(\"getHeapCodeStatistics\")}function setFlagsFromString(){notimpl(\"setFlagsFromString\")}function deserialize(value){return jsc.deserialize(value)}function takeCoverage(){notimpl(\"takeCoverage\")}function stopCoverage(){notimpl(\"stopCoverage\")}function serialize(arg1){return jsc.serialize(arg1,{binaryType:\"nodebuffer\"})}function writeHeapSnapshot(){notimpl(\"writeHeapSnapshot\")}function setHeapSnapshotNearHeapLimit(){notimpl(\"setHeapSnapshotNearHeapLimit\")}return $={cachedDataVersionTag,getHeapSnapshot,getHeapStatistics,getHeapSpaceStatistics,getHeapCodeStatistics,setFlagsFromString,deserialize,takeCoverage,stopCoverage,serialize,writeHeapSnapshot,setHeapSnapshotNearHeapLimit,promiseHooks:{createHook:()=>{notimpl(\"createHook\")},onInit:()=>{notimpl(\"onInit\")},onBefore:()=>{notimpl(\"onBefore\")},onAfter:()=>{notimpl(\"onAfter\")},onSettled:()=>{notimpl(\"onSettled\")}},startupSnapshot:{addDeserializeCallback:()=>notimpl(\"addDeserializeCallback\"),addSerializeCallback:()=>notimpl(\"addSerializeCallback\"),setDeserializeMainFunction:()=>notimpl(\"setDeserializeMainFunction\"),isBuildingSnapshot:()=>notimpl(\"isBuildingSnapshot\")},Deserializer,Serializer},hideFromStack(notimpl,cachedDataVersionTag,getHeapSnapshot,getHeapStatistics,getHeapSpaceStatistics,getHeapCodeStatistics,setFlagsFromString,deserialize,takeCoverage,stopCoverage,serialize,writeHeapSnapshot,setHeapSnapshotNearHeapLimit,Deserializer,Serializer,DefaultDeserializer,DefaultSerializer,GCProfiler),$})\n"_s;
static constexpr ASCIILiteral NodeVMCode = "(function (){\"use strict\";const{throwNotImplemented}=@getInternalField(@internalModuleRegistry,2)||@createInternalModuleById(2),vm=globalThis[globalThis.Symbol.for('Bun.lazy')](\"vm\"),{createContext,isContext,Script,runInNewContext,runInThisContext}=vm;function runInContext(code,context,options){return new Script(code,options).runInContext(context)}function compileFunction(){throwNotImplemented(\"node:vm compileFunction\")}function measureMemory(){throwNotImplemented(\"node:vm measureMemory\")}class Module{constructor(){throwNotImplemented(\"node:vm Module\")}}class SourceTextModule{constructor(){throwNotImplemented(\"node:vm Module\")}}class SyntheticModule{constructor(){throwNotImplemented(\"node:vm Module\")}}return{createContext,runInContext,runInNewContext,runInThisContext,isContext,compileFunction,measureMemory,Script,Module,SourceTextModule,SyntheticModule}})\n"_s;
static constexpr ASCIILiteral NodeWasiCode = "(function (){\"use strict\";const nodeFsConstants=@processBindingConstants.fs;var __getOwnPropNames=Object.getOwnPropertyNames,__commonJS=(cb,mod)=>function __require2(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_types=__commonJS({\"node_modules/wasi-js/dist/types.js\"(exports){Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.WASIKillError=exports.WASIExitError=exports.WASIError=void 0;var WASIError=class extends Error{constructor(errno){super();this.errno=errno,Object.setPrototypeOf(this,WASIError.prototype)}};exports.WASIError=WASIError;var WASIExitError=class extends Error{constructor(code){super(`WASI Exit error: ${code}`);this.code=code,Object.setPrototypeOf(this,WASIExitError.prototype)}};exports.WASIExitError=WASIExitError;var WASIKillError=class extends Error{constructor(signal){super(`WASI Kill signal: ${signal}`);this.signal=signal,Object.setPrototypeOf(this,WASIKillError.prototype)}};exports.WASIKillError=WASIKillError}}),require_constants=__commonJS({\"node_modules/wasi-js/dist/constants.js\"(exports){Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.WASI_ENOMSG=exports.WASI_ENOMEM=exports.WASI_ENOLINK=exports.WASI_ENOLCK=exports.WASI_ENOEXEC=exports.WASI_ENOENT=exports.WASI_ENODEV=exports.WASI_ENOBUFS=exports.WASI_ENFILE=exports.WASI_ENETUNREACH=exports.WASI_ENETRESET=exports.WASI_ENETDOWN=exports.WASI_ENAMETOOLONG=exports.WASI_EMULTIHOP=exports.WASI_EMSGSIZE=exports.WASI_EMLINK=exports.WASI_EMFILE=exports.WASI_ELOOP=exports.WASI_EISDIR=exports.WASI_EISCONN=exports.WASI_EIO=exports.WASI_EINVAL=exports.WASI_EINTR=exports.WASI_EINPROGRESS=exports.WASI_EILSEQ=exports.WASI_EIDRM=exports.WASI_EHOSTUNREACH=exports.WASI_EFBIG=exports.WASI_EFAULT=exports.WASI_EEXIST=exports.WASI_EDQUOT=exports.WASI_EDOM=exports.WASI_EDESTADDRREQ=exports.WASI_EDEADLK=exports.WASI_ECONNRESET=exports.WASI_ECONNREFUSED=exports.WASI_ECONNABORTED=exports.WASI_ECHILD=exports.WASI_ECANCELED=exports.WASI_EBUSY=exports.WASI_EBADMSG=exports.WASI_EBADF=exports.WASI_EALREADY=exports.WASI_EAGAIN=exports.WASI_EAFNOSUPPORT=exports.WASI_EADDRNOTAVAIL=exports.WASI_EADDRINUSE=exports.WASI_EACCES=exports.WASI_E2BIG=exports.WASI_ESUCCESS=void 0,exports.WASI_SIGVTALRM=exports.WASI_SIGUSR2=exports.WASI_SIGUSR1=exports.WASI_SIGURG=exports.WASI_SIGTTOU=exports.WASI_SIGTTIN=exports.WASI_SIGTSTP=exports.WASI_SIGTRAP=exports.WASI_SIGTERM=exports.WASI_SIGSTOP=exports.WASI_SIGSEGV=exports.WASI_SIGQUIT=exports.WASI_SIGPIPE=exports.WASI_SIGKILL=exports.WASI_SIGINT=exports.WASI_SIGILL=exports.WASI_SIGHUP=exports.WASI_SIGFPE=exports.WASI_SIGCONT=exports.WASI_SIGCHLD=exports.WASI_SIGBUS=exports.WASI_SIGALRM=exports.WASI_SIGABRT=exports.WASI_ENOTCAPABLE=exports.WASI_EXDEV=exports.WASI_ETXTBSY=exports.WASI_ETIMEDOUT=exports.WASI_ESTALE=exports.WASI_ESRCH=exports.WASI_ESPIPE=exports.WASI_EROFS=exports.WASI_ERANGE=exports.WASI_EPROTOTYPE=exports.WASI_EPROTONOSUPPORT=exports.WASI_EPROTO=exports.WASI_EPIPE=exports.WASI_EPERM=exports.WASI_EOWNERDEAD=exports.WASI_EOVERFLOW=exports.WASI_ENXIO=exports.WASI_ENOTTY=exports.WASI_ENOTSUP=exports.WASI_ENOTSOCK=exports.WASI_ENOTRECOVERABLE=exports.WASI_ENOTEMPTY=exports.WASI_ENOTDIR=exports.WASI_ENOTCONN=exports.WASI_ENOSYS=exports.WASI_ENOSPC=exports.WASI_ENOPROTOOPT=void 0,exports.RIGHTS_REGULAR_FILE_BASE=exports.RIGHTS_CHARACTER_DEVICE_INHERITING=exports.RIGHTS_CHARACTER_DEVICE_BASE=exports.RIGHTS_BLOCK_DEVICE_INHERITING=exports.RIGHTS_BLOCK_DEVICE_BASE=exports.RIGHTS_ALL=exports.WASI_RIGHT_SOCK_SHUTDOWN=exports.WASI_RIGHT_POLL_FD_READWRITE=exports.WASI_RIGHT_PATH_UNLINK_FILE=exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY=exports.WASI_RIGHT_PATH_SYMLINK=exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES=exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE=exports.WASI_RIGHT_FD_FILESTAT_GET=exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES=exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE=exports.WASI_RIGHT_PATH_FILESTAT_GET=exports.WASI_RIGHT_PATH_RENAME_TARGET=exports.WASI_RIGHT_PATH_RENAME_SOURCE=exports.WASI_RIGHT_PATH_READLINK=exports.WASI_RIGHT_FD_READDIR=exports.WASI_RIGHT_PATH_OPEN=exports.WASI_RIGHT_PATH_LINK_TARGET=exports.WASI_RIGHT_PATH_LINK_SOURCE=exports.WASI_RIGHT_PATH_CREATE_FILE=exports.WASI_RIGHT_PATH_CREATE_DIRECTORY=exports.WASI_RIGHT_FD_ALLOCATE=exports.WASI_RIGHT_FD_ADVISE=exports.WASI_RIGHT_FD_WRITE=exports.WASI_RIGHT_FD_TELL=exports.WASI_RIGHT_FD_SYNC=exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS=exports.WASI_RIGHT_FD_SEEK=exports.WASI_RIGHT_FD_READ=exports.WASI_RIGHT_FD_DATASYNC=exports.WASI_FDFLAG_SYNC=exports.WASI_FDFLAG_RSYNC=exports.WASI_FDFLAG_NONBLOCK=exports.WASI_FDFLAG_DSYNC=exports.WASI_FDFLAG_APPEND=exports.WASI_FILETYPE_SYMBOLIC_LINK=exports.WASI_FILETYPE_SOCKET_STREAM=exports.WASI_FILETYPE_SOCKET_DGRAM=exports.WASI_FILETYPE_REGULAR_FILE=exports.WASI_FILETYPE_DIRECTORY=exports.WASI_FILETYPE_CHARACTER_DEVICE=exports.WASI_FILETYPE_BLOCK_DEVICE=exports.WASI_FILETYPE_UNKNOWN=exports.WASI_SIGXFSZ=exports.WASI_SIGXCPU=void 0,exports.SIGNAL_MAP=exports.ERROR_MAP=exports.WASI_WHENCE_END=exports.WASI_WHENCE_CUR=exports.WASI_WHENCE_SET=exports.WASI_STDERR_FILENO=exports.WASI_STDOUT_FILENO=exports.WASI_STDIN_FILENO=exports.WASI_DIRCOOKIE_START=exports.WASI_PREOPENTYPE_DIR=exports.WASI_O_TRUNC=exports.WASI_O_EXCL=exports.WASI_O_DIRECTORY=exports.WASI_O_CREAT=exports.WASI_FILESTAT_SET_MTIM_NOW=exports.WASI_FILESTAT_SET_MTIM=exports.WASI_FILESTAT_SET_ATIM_NOW=exports.WASI_FILESTAT_SET_ATIM=exports.WASI_EVENTTYPE_FD_WRITE=exports.WASI_EVENTTYPE_FD_READ=exports.WASI_EVENTTYPE_CLOCK=exports.WASI_CLOCK_THREAD_CPUTIME_ID=exports.WASI_CLOCK_PROCESS_CPUTIME_ID=exports.WASI_CLOCK_MONOTONIC=exports.WASI_CLOCK_REALTIME=exports.RIGHTS_TTY_INHERITING=exports.RIGHTS_TTY_BASE=exports.RIGHTS_SOCKET_INHERITING=exports.RIGHTS_SOCKET_BASE=exports.RIGHTS_DIRECTORY_INHERITING=exports.RIGHTS_DIRECTORY_BASE=exports.RIGHTS_REGULAR_FILE_INHERITING=void 0,exports.WASI_ESUCCESS=0,exports.WASI_E2BIG=1,exports.WASI_EACCES=2,exports.WASI_EADDRINUSE=3,exports.WASI_EADDRNOTAVAIL=4,exports.WASI_EAFNOSUPPORT=5,exports.WASI_EAGAIN=6,exports.WASI_EALREADY=7,exports.WASI_EBADF=8,exports.WASI_EBADMSG=9,exports.WASI_EBUSY=10,exports.WASI_ECANCELED=11,exports.WASI_ECHILD=12,exports.WASI_ECONNABORTED=13,exports.WASI_ECONNREFUSED=14,exports.WASI_ECONNRESET=15,exports.WASI_EDEADLK=16,exports.WASI_EDESTADDRREQ=17,exports.WASI_EDOM=18,exports.WASI_EDQUOT=19,exports.WASI_EEXIST=20,exports.WASI_EFAULT=21,exports.WASI_EFBIG=22,exports.WASI_EHOSTUNREACH=23,exports.WASI_EIDRM=24,exports.WASI_EILSEQ=25,exports.WASI_EINPROGRESS=26,exports.WASI_EINTR=27,exports.WASI_EINVAL=28,exports.WASI_EIO=29,exports.WASI_EISCONN=30,exports.WASI_EISDIR=31,exports.WASI_ELOOP=32,exports.WASI_EMFILE=33,exports.WASI_EMLINK=34,exports.WASI_EMSGSIZE=35,exports.WASI_EMULTIHOP=36,exports.WASI_ENAMETOOLONG=37,exports.WASI_ENETDOWN=38,exports.WASI_ENETRESET=39,exports.WASI_ENETUNREACH=40,exports.WASI_ENFILE=41,exports.WASI_ENOBUFS=42,exports.WASI_ENODEV=43,exports.WASI_ENOENT=44,exports.WASI_ENOEXEC=45,exports.WASI_ENOLCK=46,exports.WASI_ENOLINK=47,exports.WASI_ENOMEM=48,exports.WASI_ENOMSG=49,exports.WASI_ENOPROTOOPT=50,exports.WASI_ENOSPC=51,exports.WASI_ENOSYS=52,exports.WASI_ENOTCONN=53,exports.WASI_ENOTDIR=54,exports.WASI_ENOTEMPTY=55,exports.WASI_ENOTRECOVERABLE=56,exports.WASI_ENOTSOCK=57,exports.WASI_ENOTSUP=58,exports.WASI_ENOTTY=59,exports.WASI_ENXIO=60,exports.WASI_EOVERFLOW=61,exports.WASI_EOWNERDEAD=62,exports.WASI_EPERM=63,exports.WASI_EPIPE=64,exports.WASI_EPROTO=65,exports.WASI_EPROTONOSUPPORT=66,exports.WASI_EPROTOTYPE=67,exports.WASI_ERANGE=68,exports.WASI_EROFS=69,exports.WASI_ESPIPE=70,exports.WASI_ESRCH=71,exports.WASI_ESTALE=72,exports.WASI_ETIMEDOUT=73,exports.WASI_ETXTBSY=74,exports.WASI_EXDEV=75,exports.WASI_ENOTCAPABLE=76,exports.WASI_SIGABRT=0,exports.WASI_SIGALRM=1,exports.WASI_SIGBUS=2,exports.WASI_SIGCHLD=3,exports.WASI_SIGCONT=4,exports.WASI_SIGFPE=5,exports.WASI_SIGHUP=6,exports.WASI_SIGILL=7,exports.WASI_SIGINT=8,exports.WASI_SIGKILL=9,exports.WASI_SIGPIPE=10,exports.WASI_SIGQUIT=11,exports.WASI_SIGSEGV=12,exports.WASI_SIGSTOP=13,exports.WASI_SIGTERM=14,exports.WASI_SIGTRAP=15,exports.WASI_SIGTSTP=16,exports.WASI_SIGTTIN=17,exports.WASI_SIGTTOU=18,exports.WASI_SIGURG=19,exports.WASI_SIGUSR1=20,exports.WASI_SIGUSR2=21,exports.WASI_SIGVTALRM=22,exports.WASI_SIGXCPU=23,exports.WASI_SIGXFSZ=24,exports.WASI_FILETYPE_UNKNOWN=0,exports.WASI_FILETYPE_BLOCK_DEVICE=1,exports.WASI_FILETYPE_CHARACTER_DEVICE=2,exports.WASI_FILETYPE_DIRECTORY=3,exports.WASI_FILETYPE_REGULAR_FILE=4,exports.WASI_FILETYPE_SOCKET_DGRAM=5,exports.WASI_FILETYPE_SOCKET_STREAM=6,exports.WASI_FILETYPE_SYMBOLIC_LINK=7,exports.WASI_FDFLAG_APPEND=1,exports.WASI_FDFLAG_DSYNC=2,exports.WASI_FDFLAG_NONBLOCK=4,exports.WASI_FDFLAG_RSYNC=8,exports.WASI_FDFLAG_SYNC=16,exports.WASI_RIGHT_FD_DATASYNC=BigInt(1),exports.WASI_RIGHT_FD_READ=BigInt(2),exports.WASI_RIGHT_FD_SEEK=BigInt(4),exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS=BigInt(8),exports.WASI_RIGHT_FD_SYNC=BigInt(16),exports.WASI_RIGHT_FD_TELL=BigInt(32),exports.WASI_RIGHT_FD_WRITE=BigInt(64),exports.WASI_RIGHT_FD_ADVISE=BigInt(128),exports.WASI_RIGHT_FD_ALLOCATE=BigInt(256),exports.WASI_RIGHT_PATH_CREATE_DIRECTORY=BigInt(512),exports.WASI_RIGHT_PATH_CREATE_FILE=BigInt(1024),exports.WASI_RIGHT_PATH_LINK_SOURCE=BigInt(2048),exports.WASI_RIGHT_PATH_LINK_TARGET=BigInt(4096),exports.WASI_RIGHT_PATH_OPEN=BigInt(8192),exports.WASI_RIGHT_FD_READDIR=BigInt(16384),exports.WASI_RIGHT_PATH_READLINK=BigInt(32768),exports.WASI_RIGHT_PATH_RENAME_SOURCE=BigInt(65536),exports.WASI_RIGHT_PATH_RENAME_TARGET=BigInt(131072),exports.WASI_RIGHT_PATH_FILESTAT_GET=BigInt(262144),exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE=BigInt(524288),exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES=BigInt(1048576),exports.WASI_RIGHT_FD_FILESTAT_GET=BigInt(2097152),exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE=BigInt(4194304),exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES=BigInt(8388608),exports.WASI_RIGHT_PATH_SYMLINK=BigInt(16777216),exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY=BigInt(33554432),exports.WASI_RIGHT_PATH_UNLINK_FILE=BigInt(67108864),exports.WASI_RIGHT_POLL_FD_READWRITE=BigInt(134217728),exports.WASI_RIGHT_SOCK_SHUTDOWN=BigInt(268435456),exports.RIGHTS_ALL=exports.WASI_RIGHT_FD_DATASYNC|exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_SEEK|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_TELL|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_FD_ALLOCATE|exports.WASI_RIGHT_PATH_CREATE_DIRECTORY|exports.WASI_RIGHT_PATH_CREATE_FILE|exports.WASI_RIGHT_PATH_LINK_SOURCE|exports.WASI_RIGHT_PATH_LINK_TARGET|exports.WASI_RIGHT_PATH_OPEN|exports.WASI_RIGHT_FD_READDIR|exports.WASI_RIGHT_PATH_READLINK|exports.WASI_RIGHT_PATH_RENAME_SOURCE|exports.WASI_RIGHT_PATH_RENAME_TARGET|exports.WASI_RIGHT_PATH_FILESTAT_GET|exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_SYMLINK|exports.WASI_RIGHT_PATH_UNLINK_FILE|exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY|exports.WASI_RIGHT_POLL_FD_READWRITE|exports.WASI_RIGHT_SOCK_SHUTDOWN,exports.RIGHTS_BLOCK_DEVICE_BASE=exports.RIGHTS_ALL,exports.RIGHTS_BLOCK_DEVICE_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_CHARACTER_DEVICE_BASE=exports.RIGHTS_ALL,exports.RIGHTS_CHARACTER_DEVICE_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_REGULAR_FILE_BASE=exports.WASI_RIGHT_FD_DATASYNC|exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_SEEK|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_TELL|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_FD_ALLOCATE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_SIZE|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_REGULAR_FILE_INHERITING=BigInt(0),exports.RIGHTS_DIRECTORY_BASE=exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_SYNC|exports.WASI_RIGHT_FD_ADVISE|exports.WASI_RIGHT_PATH_CREATE_DIRECTORY|exports.WASI_RIGHT_PATH_CREATE_FILE|exports.WASI_RIGHT_PATH_LINK_SOURCE|exports.WASI_RIGHT_PATH_LINK_TARGET|exports.WASI_RIGHT_PATH_OPEN|exports.WASI_RIGHT_FD_READDIR|exports.WASI_RIGHT_PATH_READLINK|exports.WASI_RIGHT_PATH_RENAME_SOURCE|exports.WASI_RIGHT_PATH_RENAME_TARGET|exports.WASI_RIGHT_PATH_FILESTAT_GET|exports.WASI_RIGHT_PATH_FILESTAT_SET_SIZE|exports.WASI_RIGHT_PATH_FILESTAT_SET_TIMES|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_FD_FILESTAT_SET_TIMES|exports.WASI_RIGHT_PATH_SYMLINK|exports.WASI_RIGHT_PATH_UNLINK_FILE|exports.WASI_RIGHT_PATH_REMOVE_DIRECTORY|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_DIRECTORY_INHERITING=exports.RIGHTS_DIRECTORY_BASE|exports.RIGHTS_REGULAR_FILE_BASE,exports.RIGHTS_SOCKET_BASE=exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_POLL_FD_READWRITE|exports.WASI_RIGHT_SOCK_SHUTDOWN,exports.RIGHTS_SOCKET_INHERITING=exports.RIGHTS_ALL,exports.RIGHTS_TTY_BASE=exports.WASI_RIGHT_FD_READ|exports.WASI_RIGHT_FD_FDSTAT_SET_FLAGS|exports.WASI_RIGHT_FD_WRITE|exports.WASI_RIGHT_FD_FILESTAT_GET|exports.WASI_RIGHT_POLL_FD_READWRITE,exports.RIGHTS_TTY_INHERITING=BigInt(0),exports.WASI_CLOCK_REALTIME=0,exports.WASI_CLOCK_MONOTONIC=1,exports.WASI_CLOCK_PROCESS_CPUTIME_ID=2,exports.WASI_CLOCK_THREAD_CPUTIME_ID=3,exports.WASI_EVENTTYPE_CLOCK=0,exports.WASI_EVENTTYPE_FD_READ=1,exports.WASI_EVENTTYPE_FD_WRITE=2,exports.WASI_FILESTAT_SET_ATIM=1<<0,exports.WASI_FILESTAT_SET_ATIM_NOW=1<<1,exports.WASI_FILESTAT_SET_MTIM=1<<2,exports.WASI_FILESTAT_SET_MTIM_NOW=1<<3,exports.WASI_O_CREAT=1<<0,exports.WASI_O_DIRECTORY=1<<1,exports.WASI_O_EXCL=1<<2,exports.WASI_O_TRUNC=1<<3,exports.WASI_PREOPENTYPE_DIR=0,exports.WASI_DIRCOOKIE_START=0,exports.WASI_STDIN_FILENO=0,exports.WASI_STDOUT_FILENO=1,exports.WASI_STDERR_FILENO=2,exports.WASI_WHENCE_SET=0,exports.WASI_WHENCE_CUR=1,exports.WASI_WHENCE_END=2,exports.ERROR_MAP={E2BIG:exports.WASI_E2BIG,EACCES:exports.WASI_EACCES,EADDRINUSE:exports.WASI_EADDRINUSE,EADDRNOTAVAIL:exports.WASI_EADDRNOTAVAIL,EAFNOSUPPORT:exports.WASI_EAFNOSUPPORT,EALREADY:exports.WASI_EALREADY,EAGAIN:exports.WASI_EAGAIN,EBADF:exports.WASI_EBADF,EBADMSG:exports.WASI_EBADMSG,EBUSY:exports.WASI_EBUSY,ECANCELED:exports.WASI_ECANCELED,ECHILD:exports.WASI_ECHILD,ECONNABORTED:exports.WASI_ECONNABORTED,ECONNREFUSED:exports.WASI_ECONNREFUSED,ECONNRESET:exports.WASI_ECONNRESET,EDEADLOCK:exports.WASI_EDEADLK,EDESTADDRREQ:exports.WASI_EDESTADDRREQ,EDOM:exports.WASI_EDOM,EDQUOT:exports.WASI_EDQUOT,EEXIST:exports.WASI_EEXIST,EFAULT:exports.WASI_EFAULT,EFBIG:exports.WASI_EFBIG,EHOSTDOWN:exports.WASI_EHOSTUNREACH,EHOSTUNREACH:exports.WASI_EHOSTUNREACH,EIDRM:exports.WASI_EIDRM,EILSEQ:exports.WASI_EILSEQ,EINPROGRESS:exports.WASI_EINPROGRESS,EINTR:exports.WASI_EINTR,EINVAL:exports.WASI_EINVAL,EIO:exports.WASI_EIO,EISCONN:exports.WASI_EISCONN,EISDIR:exports.WASI_EISDIR,ELOOP:exports.WASI_ELOOP,EMFILE:exports.WASI_EMFILE,EMLINK:exports.WASI_EMLINK,EMSGSIZE:exports.WASI_EMSGSIZE,EMULTIHOP:exports.WASI_EMULTIHOP,ENAMETOOLONG:exports.WASI_ENAMETOOLONG,ENETDOWN:exports.WASI_ENETDOWN,ENETRESET:exports.WASI_ENETRESET,ENETUNREACH:exports.WASI_ENETUNREACH,ENFILE:exports.WASI_ENFILE,ENOBUFS:exports.WASI_ENOBUFS,ENODEV:exports.WASI_ENODEV,ENOENT:exports.WASI_ENOENT,ENOEXEC:exports.WASI_ENOEXEC,ENOLCK:exports.WASI_ENOLCK,ENOLINK:exports.WASI_ENOLINK,ENOMEM:exports.WASI_ENOMEM,ENOMSG:exports.WASI_ENOMSG,ENOPROTOOPT:exports.WASI_ENOPROTOOPT,ENOSPC:exports.WASI_ENOSPC,ENOSYS:exports.WASI_ENOSYS,ENOTCONN:exports.WASI_ENOTCONN,ENOTDIR:exports.WASI_ENOTDIR,ENOTEMPTY:exports.WASI_ENOTEMPTY,ENOTRECOVERABLE:exports.WASI_ENOTRECOVERABLE,ENOTSOCK:exports.WASI_ENOTSOCK,ENOTTY:exports.WASI_ENOTTY,ENXIO:exports.WASI_ENXIO,EOVERFLOW:exports.WASI_EOVERFLOW,EOWNERDEAD:exports.WASI_EOWNERDEAD,EPERM:exports.WASI_EPERM,EPIPE:exports.WASI_EPIPE,EPROTO:exports.WASI_EPROTO,EPROTONOSUPPORT:exports.WASI_EPROTONOSUPPORT,EPROTOTYPE:exports.WASI_EPROTOTYPE,ERANGE:exports.WASI_ERANGE,EROFS:exports.WASI_EROFS,ESPIPE:exports.WASI_ESPIPE,ESRCH:exports.WASI_ESRCH,ESTALE:exports.WASI_ESTALE,ETIMEDOUT:exports.WASI_ETIMEDOUT,ETXTBSY:exports.WASI_ETXTBSY,EXDEV:exports.WASI_EXDEV},exports.SIGNAL_MAP={[exports.WASI_SIGHUP]:\"SIGHUP\",[exports.WASI_SIGINT]:\"SIGINT\",[exports.WASI_SIGQUIT]:\"SIGQUIT\",[exports.WASI_SIGILL]:\"SIGILL\",[exports.WASI_SIGTRAP]:\"SIGTRAP\",[exports.WASI_SIGABRT]:\"SIGABRT\",[exports.WASI_SIGBUS]:\"SIGBUS\",[exports.WASI_SIGFPE]:\"SIGFPE\",[exports.WASI_SIGKILL]:\"SIGKILL\",[exports.WASI_SIGUSR1]:\"SIGUSR1\",[exports.WASI_SIGSEGV]:\"SIGSEGV\",[exports.WASI_SIGUSR2]:\"SIGUSR2\",[exports.WASI_SIGPIPE]:\"SIGPIPE\",[exports.WASI_SIGALRM]:\"SIGALRM\",[exports.WASI_SIGTERM]:\"SIGTERM\",[exports.WASI_SIGCHLD]:\"SIGCHLD\",[exports.WASI_SIGCONT]:\"SIGCONT\",[exports.WASI_SIGSTOP]:\"SIGSTOP\",[exports.WASI_SIGTSTP]:\"SIGTSTP\",[exports.WASI_SIGTTIN]:\"SIGTTIN\",[exports.WASI_SIGTTOU]:\"SIGTTOU\",[exports.WASI_SIGURG]:\"SIGURG\",[exports.WASI_SIGXCPU]:\"SIGXCPU\",[exports.WASI_SIGXFSZ]:\"SIGXFSZ\",[exports.WASI_SIGVTALRM]:\"SIGVTALRM\"}}}),require_wasi=__commonJS({\"node_modules/wasi-js/dist/wasi.js\"(exports){var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule\?mod:{default:mod}};let fs;Object.defineProperty(exports,\"__esModule\",{value:!0}),exports.SOCKET_DEFAULT_RIGHTS=void 0;var log=()=>{},logOpen=()=>{},SC_OPEN_MAX=32768,types_1=require_types(),constants_1=require_constants(),STDIN_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_SYNC|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE,STDOUT_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_SYNC|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE,STDERR_DEFAULT_RIGHTS=STDOUT_DEFAULT_RIGHTS;exports.SOCKET_DEFAULT_RIGHTS=constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_ADVISE|constants_1.WASI_RIGHT_FD_FILESTAT_GET|constants_1.WASI_RIGHT_POLL_FD_READWRITE|constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS;var msToNs=(ms)=>{const msInt=Math.trunc(ms),decimal=BigInt(Math.round((ms-msInt)*1e6));return BigInt(msInt)*BigInt(1e6)+decimal},nsToMs=(ns)=>{if(typeof ns===\"number\")ns=Math.trunc(ns);const nsInt=BigInt(ns);return Number(nsInt/BigInt(1e6))},wrap=(f)=>(...args)=>{try{return f(...args)}catch(err){let e=err;while(e.prev!=null)e=e.prev;if(e\?.code&&typeof e\?.code===\"string\")return constants_1.ERROR_MAP[e.code]||constants_1.WASI_EINVAL;if(e instanceof types_1.WASIError)return e.errno;throw e}},stat=(wasi,fd)=>{const entry=wasi.FD_MAP.get(fd);if(!entry)throw new types_1.WASIError(constants_1.WASI_EBADF);if(entry.filetype===void 0){const stats=wasi.fstatSync(entry.real),{filetype,rightsBase,rightsInheriting}=translateFileAttributes(wasi,fd,stats);if(entry.filetype=filetype,!entry.rights)entry.rights={base:rightsBase,inheriting:rightsInheriting}}return entry},translateFileAttributes=(wasi,fd,stats)=>{switch(!0){case stats.isBlockDevice():return{filetype:constants_1.WASI_FILETYPE_BLOCK_DEVICE,rightsBase:constants_1.RIGHTS_BLOCK_DEVICE_BASE,rightsInheriting:constants_1.RIGHTS_BLOCK_DEVICE_INHERITING};case stats.isCharacterDevice():{const filetype=constants_1.WASI_FILETYPE_CHARACTER_DEVICE;if(fd!==void 0&&wasi.bindings.isTTY(fd))return{filetype,rightsBase:constants_1.RIGHTS_TTY_BASE,rightsInheriting:constants_1.RIGHTS_TTY_INHERITING};return{filetype,rightsBase:constants_1.RIGHTS_CHARACTER_DEVICE_BASE,rightsInheriting:constants_1.RIGHTS_CHARACTER_DEVICE_INHERITING}}case stats.isDirectory():return{filetype:constants_1.WASI_FILETYPE_DIRECTORY,rightsBase:constants_1.RIGHTS_DIRECTORY_BASE,rightsInheriting:constants_1.RIGHTS_DIRECTORY_INHERITING};case stats.isFIFO():return{filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rightsBase:constants_1.RIGHTS_SOCKET_BASE,rightsInheriting:constants_1.RIGHTS_SOCKET_INHERITING};case stats.isFile():return{filetype:constants_1.WASI_FILETYPE_REGULAR_FILE,rightsBase:constants_1.RIGHTS_REGULAR_FILE_BASE,rightsInheriting:constants_1.RIGHTS_REGULAR_FILE_INHERITING};case stats.isSocket():return{filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rightsBase:constants_1.RIGHTS_SOCKET_BASE,rightsInheriting:constants_1.RIGHTS_SOCKET_INHERITING};case stats.isSymbolicLink():return{filetype:constants_1.WASI_FILETYPE_SYMBOLIC_LINK,rightsBase:BigInt(0),rightsInheriting:BigInt(0)};default:return{filetype:constants_1.WASI_FILETYPE_UNKNOWN,rightsBase:BigInt(0),rightsInheriting:BigInt(0)}}},warnedAboutSleep=!1,defaultConfig;function getDefaults(){if(defaultConfig)return defaultConfig;const defaultBindings={hrtime:()=>process.hrtime.bigint(),exit:(code)=>{process.exit(code)},kill:(signal)=>{process.kill(process.pid,signal)},randomFillSync:(array)=>crypto.getRandomValues(array),isTTY:(fd)=>@requireNativeModule(\"node:tty\").isatty(fd),fs:Bun.fs(),path:@getInternalField(@internalModuleRegistry,25)||@createInternalModuleById(25)};return defaultConfig={args:[],env:{},preopens:{},bindings:defaultBindings,sleep:(ms)=>{Bun.sleepSync(ms)}}}var WASI=class WASI2{constructor(wasiConfig={}){const defaultConfig2=getDefaults();this.lastStdin=0,this.sleep=wasiConfig.sleep||defaultConfig2.sleep,this.getStdin=wasiConfig.getStdin,this.sendStdout=wasiConfig.sendStdout,this.sendStderr=wasiConfig.sendStderr;let preopens=wasiConfig.preopens\?\?defaultConfig2.preopens;this.env=wasiConfig.env\?\?defaultConfig2.env;const args=wasiConfig.args\?\?defaultConfig2.args;this.memory=void 0,this.view=void 0,this.bindings=wasiConfig.bindings||defaultConfig2.bindings;const bindings2=this.bindings;fs=bindings2.fs,this.FD_MAP=new Map([[constants_1.WASI_STDIN_FILENO,{real:0,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDIN_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stdin\"}],[constants_1.WASI_STDOUT_FILENO,{real:1,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDOUT_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stdout\"}],[constants_1.WASI_STDERR_FILENO,{real:2,filetype:constants_1.WASI_FILETYPE_CHARACTER_DEVICE,rights:{base:STDERR_DEFAULT_RIGHTS,inheriting:BigInt(0)},path:\"/dev/stderr\"}]]);const path=bindings2.path;for(let[k,v]of Object.entries(preopens)){const real=fs.openSync(v,nodeFsConstants.O_RDONLY),newfd=this.getUnusedFileDescriptor();this.FD_MAP.set(newfd,{real,filetype:constants_1.WASI_FILETYPE_DIRECTORY,rights:{base:constants_1.RIGHTS_DIRECTORY_BASE,inheriting:constants_1.RIGHTS_DIRECTORY_INHERITING},fakePath:k,path:v})}const getiovs=(iovs,iovsLen)=>{this.refreshMemory();const{view,memory}=this,{buffer}=memory,{byteLength}=buffer;if(iovsLen===1){const ptr=iovs,buf=view.getUint32(ptr,!0);let bufLen=view.getUint32(ptr+4,!0);if(bufLen>byteLength-buf)console.log({buf,bufLen,total_memory:byteLength}),log(\"getiovs: warning -- truncating buffer to fit in memory\"),bufLen=Math.min(bufLen,Math.max(0,byteLength-buf));try{return[new Uint8Array(buffer,buf,bufLen)]}catch(err){throw console.warn(\"WASI.getiovs -- invalid buffer\",err),new types_1.WASIError(constants_1.WASI_EINVAL)}}const buffers=[];buffers.length=iovsLen;for(let i=0,ptr=iovs;i<iovsLen;i++,ptr+=8){const buf=view.getUint32(ptr,!0);let bufLen=view.getUint32(ptr+4,!0);if(bufLen>byteLength-buf)console.log({buf,bufLen,total_memory:byteLength}),log(\"getiovs: warning -- truncating buffer to fit in memory\"),bufLen=Math.min(bufLen,Math.max(0,byteLength-buf));try{buffers[i]=new Uint8Array(buffer,buf,bufLen)}catch(err){throw console.warn(\"WASI.getiovs -- invalid buffer\",err),new types_1.WASIError(constants_1.WASI_EINVAL)}}return buffers},CHECK_FD=(fd,rights)=>{const stats=stat(this,fd);if(rights!==BigInt(0)&&(stats.rights.base&rights)===BigInt(0))throw new types_1.WASIError(constants_1.WASI_EPERM);return stats},CPUTIME_START=Bun.nanoseconds(),timeOrigin=Math.trunc(performance.timeOrigin*1e6),now=(clockId)=>{switch(clockId){case constants_1.WASI_CLOCK_MONOTONIC:return Bun.nanoseconds();case constants_1.WASI_CLOCK_REALTIME:return Bun.nanoseconds()+timeOrigin;case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:return Bun.nanoseconds()-CPUTIME_START;default:return null}};if(this.wasiImport={args_get:(argv,argvBuf)=>{this.refreshMemory();let coffset=argv,offset=argvBuf;return args.forEach((a)=>{this.view.setUint32(coffset,offset,!0),coffset+=4,offset+=Buffer.from(this.memory.buffer).write(`${a}\\0`,offset)}),constants_1.WASI_ESUCCESS},args_sizes_get:(argc,argvBufSize)=>{this.refreshMemory(),this.view.setUint32(argc,args.length,!0);const size=args.reduce((acc,a)=>acc+Buffer.byteLength(a)+1,0);return this.view.setUint32(argvBufSize,size,!0),constants_1.WASI_ESUCCESS},environ_get:(environ,environBuf)=>{this.refreshMemory();let coffset=environ,offset=environBuf;return Object.entries(this.env).forEach(([key,value])=>{this.view.setUint32(coffset,offset,!0),coffset+=4,offset+=Buffer.from(this.memory.buffer).write(`${key}=${value}\\0`,offset)}),constants_1.WASI_ESUCCESS},environ_sizes_get:(environCount,environBufSize)=>{this.refreshMemory();const envProcessed=Object.entries(this.env).map(([key,value])=>`${key}=${value}\\0`),size=envProcessed.reduce((acc,e)=>acc+Buffer.byteLength(e),0);return this.view.setUint32(environCount,envProcessed.length,!0),this.view.setUint32(environBufSize,size,!0),constants_1.WASI_ESUCCESS},clock_res_get:(clockId,resolution)=>{let res;switch(clockId){case constants_1.WASI_CLOCK_MONOTONIC:case constants_1.WASI_CLOCK_PROCESS_CPUTIME_ID:case constants_1.WASI_CLOCK_THREAD_CPUTIME_ID:{res=BigInt(1);break}case constants_1.WASI_CLOCK_REALTIME:{res=BigInt(1000);break}}if(!res)throw Error(\"invalid clockId\");return this.view.setBigUint64(resolution,res),constants_1.WASI_ESUCCESS},clock_time_get:(clockId,_precision,time)=>{this.refreshMemory();const n=now(clockId);if(n===null)return constants_1.WASI_EINVAL;return this.view.setBigUint64(time,BigInt(n),!0),constants_1.WASI_ESUCCESS},fd_advise:wrap((fd,_offset,_len,_advice)=>{return CHECK_FD(fd,constants_1.WASI_RIGHT_FD_ADVISE),constants_1.WASI_ENOSYS}),fd_allocate:wrap((fd,_offset,_len)=>{return CHECK_FD(fd,constants_1.WASI_RIGHT_FD_ALLOCATE),constants_1.WASI_ENOSYS}),fd_close:wrap((fd)=>{const stats=CHECK_FD(fd,BigInt(0));return fs.closeSync(stats.real),this.FD_MAP.delete(fd),constants_1.WASI_ESUCCESS}),fd_datasync:wrap((fd)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_DATASYNC);return fs.fdatasyncSync(stats.real),constants_1.WASI_ESUCCESS}),fd_fdstat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,BigInt(0));if(this.refreshMemory(),stats.filetype==null)throw Error(\"stats.filetype must be set\");return this.view.setUint8(bufPtr,stats.filetype),this.view.setUint16(bufPtr+2,0,!0),this.view.setUint16(bufPtr+4,0,!0),this.view.setBigUint64(bufPtr+8,BigInt(stats.rights.base),!0),this.view.setBigUint64(bufPtr+8+8,BigInt(stats.rights.inheriting),!0),constants_1.WASI_ESUCCESS}),fd_fdstat_set_flags:wrap((fd,flags)=>{if(CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FDSTAT_SET_FLAGS),this.wasiImport.sock_fcntlSetFlags(fd,flags)==0)return constants_1.WASI_ESUCCESS;return constants_1.WASI_ENOSYS}),fd_fdstat_set_rights:wrap((fd,fsRightsBase,fsRightsInheriting)=>{const stats=CHECK_FD(fd,BigInt(0));if((stats.rights.base|fsRightsBase)>stats.rights.base)return constants_1.WASI_EPERM;if((stats.rights.inheriting|fsRightsInheriting)>stats.rights.inheriting)return constants_1.WASI_EPERM;return stats.rights.base=fsRightsBase,stats.rights.inheriting=fsRightsInheriting,constants_1.WASI_ESUCCESS}),fd_filestat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_GET),rstats=this.fstatSync(stats.real);if(this.refreshMemory(),this.view.setBigUint64(bufPtr,BigInt(rstats.dev),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,stats.filetype==null)throw Error(\"stats.filetype must be set\");return this.view.setUint8(bufPtr,stats.filetype),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.nlink),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.size),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.atimeMs),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.mtimeMs),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,msToNs(rstats.ctimeMs),!0),constants_1.WASI_ESUCCESS}),fd_filestat_set_size:wrap((fd,stSize)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE);return fs.ftruncateSync(stats.real,Number(stSize)),constants_1.WASI_ESUCCESS}),fd_filestat_set_times:wrap((fd,stAtim,stMtim,fstflags)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_FILESTAT_SET_TIMES),rstats=this.fstatSync(stats.real);let{atime:atim,mtime:mtim}=rstats;const n=nsToMs(now(constants_1.WASI_CLOCK_REALTIME)),atimflags=constants_1.WASI_FILESTAT_SET_ATIM|constants_1.WASI_FILESTAT_SET_ATIM_NOW;if((fstflags&atimflags)===atimflags)return constants_1.WASI_EINVAL;const mtimflags=constants_1.WASI_FILESTAT_SET_MTIM|constants_1.WASI_FILESTAT_SET_MTIM_NOW;if((fstflags&mtimflags)===mtimflags)return constants_1.WASI_EINVAL;if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM)===constants_1.WASI_FILESTAT_SET_ATIM)atim=nsToMs(stAtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM_NOW)===constants_1.WASI_FILESTAT_SET_ATIM_NOW)atim=n;if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM)===constants_1.WASI_FILESTAT_SET_MTIM)mtim=nsToMs(stMtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM_NOW)===constants_1.WASI_FILESTAT_SET_MTIM_NOW)mtim=n;return fs.futimesSync(stats.real,new Date(atim),new Date(mtim)),constants_1.WASI_ESUCCESS}),fd_prestat_get:wrap((fd,bufPtr)=>{const stats=CHECK_FD(fd,BigInt(0));return this.refreshMemory(),this.view.setUint8(bufPtr,constants_1.WASI_PREOPENTYPE_DIR),this.view.setUint32(bufPtr+4,Buffer.byteLength(stats.fakePath\?\?stats.path\?\?\"\"),!0),constants_1.WASI_ESUCCESS}),fd_prestat_dir_name:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,BigInt(0));return this.refreshMemory(),Buffer.from(this.memory.buffer).write(stats.fakePath\?\?stats.path\?\?\"\",pathPtr,pathLen,\"utf8\"),constants_1.WASI_ESUCCESS}),fd_pwrite:wrap((fd,iovs,iovsLen,offset,nwritten)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_SEEK);let written=0;return getiovs(iovs,iovsLen).forEach((iov)=>{let w=0;while(w<iov.byteLength)w+=fs.writeSync(stats.real,iov,w,iov.byteLength-w,Number(offset)+written+w);written+=w}),this.view.setUint32(nwritten,written,!0),constants_1.WASI_ESUCCESS}),fd_write:wrap((fd,iovs,iovsLen,nwritten)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_WRITE),IS_STDOUT=fd==constants_1.WASI_STDOUT_FILENO,IS_STDERR=fd==constants_1.WASI_STDERR_FILENO;let written=0;return getiovs(iovs,iovsLen).forEach((iov)=>{if(iov.byteLength==0)return;if(IS_STDOUT&&this.sendStdout!=null)this.sendStdout(iov),written+=iov.byteLength;else if(IS_STDERR&&this.sendStderr!=null)this.sendStderr(iov),written+=iov.byteLength;else{let w=0;while(w<iov.byteLength){const i=fs.writeSync(stats.real,iov,w,iov.byteLength-w,stats.offset\?Number(stats.offset):null);if(stats.offset)stats.offset+=BigInt(i);w+=i}written+=w}}),this.view.setUint32(nwritten,written,!0),constants_1.WASI_ESUCCESS}),fd_pread:wrap((fd,iovs,iovsLen,offset,nread)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_SEEK);let read=0;outer:for(let iov of getiovs(iovs,iovsLen)){let r=0;while(r<iov.byteLength){const length=iov.byteLength-r,rr=fs.readSync(stats.real,iov,r,iov.byteLength-r,Number(offset)+read+r);if(r+=rr,read+=rr,rr===0||rr<length)break outer}read+=r}return this.view.setUint32(nread,read,!0),constants_1.WASI_ESUCCESS}),fd_read:wrap((fd,iovs,iovsLen,nread)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READ),IS_STDIN=fd==constants_1.WASI_STDIN_FILENO;let read=0;outer:for(let iov of getiovs(iovs,iovsLen)){let r=0;while(r<iov.byteLength){let length=iov.byteLength-r,position=IS_STDIN||stats.offset===void 0\?null:Number(stats.offset),rr=0;if(IS_STDIN)if(this.getStdin!=null){if(this.stdinBuffer==null)this.stdinBuffer=this.getStdin();if(this.stdinBuffer!=null){if(rr=this.stdinBuffer.copy(iov),rr==this.stdinBuffer.length)this.stdinBuffer=void 0;else this.stdinBuffer=this.stdinBuffer.slice(rr);if(rr>0)this.lastStdin=(new Date()).valueOf()}}else{if(this.sleep==null&&!warnedAboutSleep)warnedAboutSleep=!0,console.log(\"(cpu waiting for stdin: please define a way to sleep!) \");try{rr=fs.readSync(stats.real,iov,r,length,position)}catch(_err){}if(rr==0)this.shortPause();else this.lastStdin=(new Date()).valueOf()}else rr=fs.readSync(stats.real,iov,r,length,position);if(stats.filetype==constants_1.WASI_FILETYPE_REGULAR_FILE)stats.offset=(stats.offset\?stats.offset:BigInt(0))+BigInt(rr);if(r+=rr,read+=rr,rr===0||rr<length)break outer}}return this.view.setUint32(nread,read,!0),constants_1.WASI_ESUCCESS}),fd_readdir:wrap((fd,bufPtr,bufLen,cookie,bufusedPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_READDIR);this.refreshMemory();const entries=fs.readdirSync(stats.path,{withFileTypes:!0}),startPtr=bufPtr;for(let i=Number(cookie);i<entries.length;i+=1){const entry=entries[i];let nameLength=Buffer.byteLength(entry.name);if(bufPtr-startPtr>bufLen)break;if(this.view.setBigUint64(bufPtr,BigInt(i+1),!0),bufPtr+=8,bufPtr-startPtr>bufLen)break;const rstats=fs.lstatSync(path.resolve(stats.path,entry.name));if(this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,bufPtr-startPtr>bufLen)break;if(this.view.setUint32(bufPtr,nameLength,!0),bufPtr+=4,bufPtr-startPtr>bufLen)break;let filetype;switch(!0){case rstats.isBlockDevice():filetype=constants_1.WASI_FILETYPE_BLOCK_DEVICE;break;case rstats.isCharacterDevice():filetype=constants_1.WASI_FILETYPE_CHARACTER_DEVICE;break;case rstats.isDirectory():filetype=constants_1.WASI_FILETYPE_DIRECTORY;break;case rstats.isFIFO():filetype=constants_1.WASI_FILETYPE_SOCKET_STREAM;break;case rstats.isFile():filetype=constants_1.WASI_FILETYPE_REGULAR_FILE;break;case rstats.isSocket():filetype=constants_1.WASI_FILETYPE_SOCKET_STREAM;break;case rstats.isSymbolicLink():filetype=constants_1.WASI_FILETYPE_SYMBOLIC_LINK;break;default:filetype=constants_1.WASI_FILETYPE_UNKNOWN;break}if(this.view.setUint8(bufPtr,filetype),bufPtr+=1,bufPtr+=3,bufPtr+nameLength>=startPtr+bufLen)break;Buffer.from(this.memory.buffer).write(entry.name,bufPtr),bufPtr+=nameLength}const bufused=bufPtr-startPtr;return this.view.setUint32(bufusedPtr,Math.min(bufused,bufLen),!0),constants_1.WASI_ESUCCESS}),fd_renumber:wrap((from,to)=>{return CHECK_FD(from,BigInt(0)),CHECK_FD(to,BigInt(0)),fs.closeSync(this.FD_MAP.get(from).real),this.FD_MAP.set(from,this.FD_MAP.get(to)),this.FD_MAP.delete(to),constants_1.WASI_ESUCCESS}),fd_seek:wrap((fd,offset,whence,newOffsetPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_SEEK);switch(this.refreshMemory(),whence){case constants_1.WASI_WHENCE_CUR:stats.offset=(stats.offset\?stats.offset:BigInt(0))+BigInt(offset);break;case constants_1.WASI_WHENCE_END:const{size}=this.fstatSync(stats.real);stats.offset=BigInt(size)+BigInt(offset);break;case constants_1.WASI_WHENCE_SET:stats.offset=BigInt(offset);break}if(stats.offset==null)throw Error(\"stats.offset must be defined\");return this.view.setBigUint64(newOffsetPtr,stats.offset,!0),constants_1.WASI_ESUCCESS}),fd_tell:wrap((fd,offsetPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_TELL);if(this.refreshMemory(),!stats.offset)stats.offset=BigInt(0);return this.view.setBigUint64(offsetPtr,stats.offset,!0),constants_1.WASI_ESUCCESS}),fd_sync:wrap((fd)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_FD_SYNC);return fs.fsyncSync(stats.real),constants_1.WASI_ESUCCESS}),path_create_directory:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_CREATE_DIRECTORY);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.mkdirSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),path_filestat_get:wrap((fd,flags,pathPtr,pathLen,bufPtr)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_FILESTAT_GET);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();let rstats;if(flags)rstats=fs.statSync(path.resolve(stats.path,p));else rstats=fs.lstatSync(path.resolve(stats.path,p));return this.view.setBigUint64(bufPtr,BigInt(rstats.dev),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ino),!0),bufPtr+=8,this.view.setUint8(bufPtr,translateFileAttributes(this,void 0,rstats).filetype),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.nlink),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.size),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.atime.getTime()*1e6),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.mtime.getTime()*1e6),!0),bufPtr+=8,this.view.setBigUint64(bufPtr,BigInt(rstats.ctime.getTime()*1e6),!0),constants_1.WASI_ESUCCESS}),path_filestat_set_times:wrap((fd,_dirflags,pathPtr,pathLen,stAtim,stMtim,fstflags)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_FILESTAT_SET_TIMES);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const rstats=this.fstatSync(stats.real);let{atime:atim,mtime:mtim}=rstats;const n=nsToMs(now(constants_1.WASI_CLOCK_REALTIME)),atimflags=constants_1.WASI_FILESTAT_SET_ATIM|constants_1.WASI_FILESTAT_SET_ATIM_NOW;if((fstflags&atimflags)===atimflags)return constants_1.WASI_EINVAL;const mtimflags=constants_1.WASI_FILESTAT_SET_MTIM|constants_1.WASI_FILESTAT_SET_MTIM_NOW;if((fstflags&mtimflags)===mtimflags)return constants_1.WASI_EINVAL;if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM)===constants_1.WASI_FILESTAT_SET_ATIM)atim=nsToMs(stAtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_ATIM_NOW)===constants_1.WASI_FILESTAT_SET_ATIM_NOW)atim=n;if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM)===constants_1.WASI_FILESTAT_SET_MTIM)mtim=nsToMs(stMtim);else if((fstflags&constants_1.WASI_FILESTAT_SET_MTIM_NOW)===constants_1.WASI_FILESTAT_SET_MTIM_NOW)mtim=n;const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.utimesSync(path.resolve(stats.path,p),new Date(atim),new Date(mtim)),constants_1.WASI_ESUCCESS}),path_link:wrap((oldFd,_oldFlags,oldPath,oldPathLen,newFd,newPath,newPathLen)=>{const ostats=CHECK_FD(oldFd,constants_1.WASI_RIGHT_PATH_LINK_SOURCE),nstats=CHECK_FD(newFd,constants_1.WASI_RIGHT_PATH_LINK_TARGET);if(!ostats.path||!nstats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.linkSync(path.resolve(ostats.path,op),path.resolve(nstats.path,np)),constants_1.WASI_ESUCCESS}),path_open:wrap((dirfd,_dirflags,pathPtr,pathLen,oflags,fsRightsBase,fsRightsInheriting,fsFlags,fdPtr)=>{try{const stats=CHECK_FD(dirfd,constants_1.WASI_RIGHT_PATH_OPEN);fsRightsBase=BigInt(fsRightsBase),fsRightsInheriting=BigInt(fsRightsInheriting);const read=(fsRightsBase&(constants_1.WASI_RIGHT_FD_READ|constants_1.WASI_RIGHT_FD_READDIR))!==BigInt(0),write=(fsRightsBase&(constants_1.WASI_RIGHT_FD_DATASYNC|constants_1.WASI_RIGHT_FD_WRITE|constants_1.WASI_RIGHT_FD_ALLOCATE|constants_1.WASI_RIGHT_FD_FILESTAT_SET_SIZE))!==BigInt(0);let noflags;if(write&&read)noflags=nodeFsConstants.O_RDWR;else if(read)noflags=nodeFsConstants.O_RDONLY;else if(write)noflags=nodeFsConstants.O_WRONLY;let neededBase=fsRightsBase|constants_1.WASI_RIGHT_PATH_OPEN,neededInheriting=fsRightsBase|fsRightsInheriting;if((oflags&constants_1.WASI_O_CREAT)!==0)noflags|=nodeFsConstants.O_CREAT,neededBase|=constants_1.WASI_RIGHT_PATH_CREATE_FILE;if((oflags&constants_1.WASI_O_DIRECTORY)!==0)noflags|=nodeFsConstants.O_DIRECTORY;if((oflags&constants_1.WASI_O_EXCL)!==0)noflags|=nodeFsConstants.O_EXCL;if((oflags&constants_1.WASI_O_TRUNC)!==0)noflags|=nodeFsConstants.O_TRUNC,neededBase|=constants_1.WASI_RIGHT_PATH_FILESTAT_SET_SIZE;if((fsFlags&constants_1.WASI_FDFLAG_APPEND)!==0)noflags|=nodeFsConstants.O_APPEND;if((fsFlags&constants_1.WASI_FDFLAG_DSYNC)!==0){if(nodeFsConstants.O_DSYNC)noflags|=nodeFsConstants.O_DSYNC;else noflags|=nodeFsConstants.O_SYNC;neededInheriting|=constants_1.WASI_RIGHT_FD_DATASYNC}if((fsFlags&constants_1.WASI_FDFLAG_NONBLOCK)!==0)noflags|=nodeFsConstants.O_NONBLOCK;if((fsFlags&constants_1.WASI_FDFLAG_RSYNC)!==0){if(nodeFsConstants.O_RSYNC)noflags|=nodeFsConstants.O_RSYNC;else noflags|=nodeFsConstants.O_SYNC;neededInheriting|=constants_1.WASI_RIGHT_FD_SYNC}if((fsFlags&constants_1.WASI_FDFLAG_SYNC)!==0)noflags|=nodeFsConstants.O_SYNC,neededInheriting|=constants_1.WASI_RIGHT_FD_SYNC;if(write&&(noflags&(nodeFsConstants.O_APPEND|nodeFsConstants.O_TRUNC))===0)neededInheriting|=constants_1.WASI_RIGHT_FD_SEEK;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();if(p==\"dev/tty\")return this.view.setUint32(fdPtr,constants_1.WASI_STDIN_FILENO,!0),constants_1.WASI_ESUCCESS;if(logOpen(\"path_open\",p),p.startsWith(\"proc/\"))throw new types_1.WASIError(constants_1.WASI_EBADF);const fullUnresolved=path.resolve(p);let full;try{full=fs.realpathSync(fullUnresolved)}catch(e){if(e\?.code===\"ENOENT\")full=fullUnresolved;else throw e}let isDirectory;if(write)try{isDirectory=fs.statSync(full).isDirectory()}catch(_err){}let realfd;if(!write&&isDirectory)realfd=fs.openSync(full,nodeFsConstants.O_RDONLY);else realfd=fs.openSync(full,noflags);const newfd=this.getUnusedFileDescriptor();this.FD_MAP.set(newfd,{real:realfd,filetype:void 0,rights:{base:neededBase,inheriting:neededInheriting},path:full}),stat(this,newfd),this.view.setUint32(fdPtr,newfd,!0)}catch(e){console.error(e)}return constants_1.WASI_ESUCCESS}),path_readlink:wrap((fd,pathPtr,pathLen,buf,bufLen,bufused)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_READLINK);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString(),full=path.resolve(stats.path,p),r=fs.readlinkSync(full),used=Buffer.from(this.memory.buffer).write(r,buf,bufLen);return this.view.setUint32(bufused,used,!0),constants_1.WASI_ESUCCESS}),path_remove_directory:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_REMOVE_DIRECTORY);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.rmdirSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),path_rename:wrap((oldFd,oldPath,oldPathLen,newFd,newPath,newPathLen)=>{const ostats=CHECK_FD(oldFd,constants_1.WASI_RIGHT_PATH_RENAME_SOURCE),nstats=CHECK_FD(newFd,constants_1.WASI_RIGHT_PATH_RENAME_TARGET);if(!ostats.path||!nstats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.renameSync(path.resolve(ostats.path,op),path.resolve(nstats.path,np)),constants_1.WASI_ESUCCESS}),path_symlink:wrap((oldPath,oldPathLen,fd,newPath,newPathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_SYMLINK);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const op=Buffer.from(this.memory.buffer,oldPath,oldPathLen).toString(),np=Buffer.from(this.memory.buffer,newPath,newPathLen).toString();return fs.symlinkSync(op,path.resolve(stats.path,np)),constants_1.WASI_ESUCCESS}),path_unlink_file:wrap((fd,pathPtr,pathLen)=>{const stats=CHECK_FD(fd,constants_1.WASI_RIGHT_PATH_UNLINK_FILE);if(!stats.path)return constants_1.WASI_EINVAL;this.refreshMemory();const p=Buffer.from(this.memory.buffer,pathPtr,pathLen).toString();return fs.unlinkSync(path.resolve(stats.path,p)),constants_1.WASI_ESUCCESS}),poll_oneoff:(sin,sout,nsubscriptions,neventsPtr)=>{let nevents=0,name=\"\",waitTimeNs=BigInt(0),fd=-1,fd_type=\"read\",fd_timeout_ms=0;const startNs=BigInt(bindings2.hrtime());this.refreshMemory();let last_sin=sin;for(let i=0;i<nsubscriptions;i+=1){const userdata=this.view.getBigUint64(sin,!0);sin+=8;const type=this.view.getUint8(sin);if(sin+=1,sin+=7,log.enabled){if(type==constants_1.WASI_EVENTTYPE_CLOCK)name=\"poll_oneoff (type=WASI_EVENTTYPE_CLOCK): \";else if(type==constants_1.WASI_EVENTTYPE_FD_READ)name=\"poll_oneoff (type=WASI_EVENTTYPE_FD_READ): \";else name=\"poll_oneoff (type=WASI_EVENTTYPE_FD_WRITE): \";log(name)}switch(type){case constants_1.WASI_EVENTTYPE_CLOCK:{const clockid=this.view.getUint32(sin,!0);sin+=4,sin+=4;const timeout=this.view.getBigUint64(sin,!0);sin+=8,sin+=8;const subclockflags=this.view.getUint16(sin,!0);sin+=2,sin+=6;const absolute=subclockflags===1;if(log.enabled)log(name,{clockid,timeout,absolute});if(!absolute)fd_timeout_ms=timeout/BigInt(1e6);let e=constants_1.WASI_ESUCCESS;const t=now(clockid);if(t==null)e=constants_1.WASI_EINVAL;else{const tNS=BigInt(t),waitNs=(absolute\?timeout:tNS+timeout)-tNS;if(waitNs>waitTimeNs)waitTimeNs=waitNs}this.view.setBigUint64(sout,userdata,!0),sout+=8,this.view.setUint16(sout,e,!0),sout+=2,this.view.setUint8(sout,constants_1.WASI_EVENTTYPE_CLOCK),sout+=1,sout+=5,nevents+=1;break}case constants_1.WASI_EVENTTYPE_FD_READ:case constants_1.WASI_EVENTTYPE_FD_WRITE:{if(fd=this.view.getUint32(sin,!0),fd_type=type==constants_1.WASI_EVENTTYPE_FD_READ\?\"read\":\"write\",sin+=4,log(name,\"fd =\",fd),sin+=28,this.view.setBigUint64(sout,userdata,!0),sout+=8,this.view.setUint16(sout,constants_1.WASI_ENOSYS,!0),sout+=2,this.view.setUint8(sout,type),sout+=1,sout+=5,nevents+=1,fd==constants_1.WASI_STDIN_FILENO&&constants_1.WASI_EVENTTYPE_FD_READ==type)this.shortPause();break}default:return constants_1.WASI_EINVAL}if(sin-last_sin!=48)console.warn(\"*** BUG in wasi-js in poll_oneoff \",{i,sin,last_sin,diff:sin-last_sin});last_sin=sin}if(this.view.setUint32(neventsPtr,nevents,!0),nevents==2&&fd>=0){const r=this.wasiImport.sock_pollSocket(fd,fd_type,fd_timeout_ms);if(r!=constants_1.WASI_ENOSYS)return r}if(waitTimeNs>0){if(waitTimeNs-=Bun.nanoseconds()-timeOrigin,waitTimeNs>=1e6){if(this.sleep==null&&!warnedAboutSleep)warnedAboutSleep=!0,console.log(\"(100% cpu burning waiting for stdin: please define a way to sleep!) \");if(this.sleep!=null){const ms=nsToMs(waitTimeNs);this.sleep(ms)}else{const end=BigInt(bindings2.hrtime())+waitTimeNs;while(BigInt(bindings2.hrtime())<end);}}}return constants_1.WASI_ESUCCESS},proc_exit:(rval)=>{return bindings2.exit(rval),constants_1.WASI_ESUCCESS},proc_raise:(sig)=>{if(!(sig in constants_1.SIGNAL_MAP))return constants_1.WASI_EINVAL;return bindings2.kill(constants_1.SIGNAL_MAP[sig]),constants_1.WASI_ESUCCESS},random_get:(bufPtr,bufLen)=>{return this.refreshMemory(),crypto.getRandomValues(this.memory.buffer,bufPtr,bufLen),bufLen},sched_yield(){return constants_1.WASI_ESUCCESS},sock_recv(){return constants_1.WASI_ENOSYS},sock_send(){return constants_1.WASI_ENOSYS},sock_shutdown(){return constants_1.WASI_ENOSYS},sock_fcntlSetFlags(_fd,_flags){return constants_1.WASI_ENOSYS},sock_pollSocket(_fd,_eventtype,_timeout_ms){return constants_1.WASI_ENOSYS}},log.enabled)Object.keys(this.wasiImport).forEach((key)=>{const prevImport=this.wasiImport[key];this.wasiImport[key]=function(...args2){log(key,args2);try{let result=prevImport(...args2);return log(\"result\",result),result}catch(e){throw log(\"error: \",e),e}}})}getState(){return{env:this.env,FD_MAP:this.FD_MAP,bindings}}setState(state){this.env=state.env,this.FD_MAP=state.FD_MAP,bindings=state.bindings}fstatSync(real_fd){if(real_fd<=2)try{return fs.fstatSync(real_fd)}catch(_){const now=new Date;return{dev:0,mode:8592,nlink:1,uid:0,gid:0,rdev:0,blksize:65536,ino:0,size:0,blocks:0,atimeMs:now.valueOf(),mtimeMs:now.valueOf(),ctimeMs:now.valueOf(),birthtimeMs:0,atime:new Date,mtime:new Date,ctime:new Date,birthtime:new Date(0)}}return fs.fstatSync(real_fd)}shortPause(){if(this.sleep==null)return;if((new Date()).valueOf()-this.lastStdin>2000)this.sleep(50)}getUnusedFileDescriptor(start=3){let fd=start;while(this.FD_MAP.has(fd))fd+=1;if(fd>SC_OPEN_MAX)throw Error(\"no available file descriptors\");return fd}refreshMemory(){if(!this.view||this.view.buffer.byteLength===0)this.view=new DataView(this.memory.buffer)}setMemory(memory){this.memory=memory}start(instance,memory){const exports2=instance.exports;if(exports2===null||typeof exports2!==\"object\")throw new Error(`instance.exports must be an Object. Received ${exports2}.`);if(memory==null){if(memory=exports2.memory,!(memory instanceof WebAssembly.Memory))throw new Error(`instance.exports.memory must be a WebAssembly.Memory. Recceived ${memory}.`)}if(this.setMemory(memory),exports2._start)exports2._start()}getImports(module2){let namespace=null;const imports=WebAssembly.Module.imports(module2);for(let imp of imports){if(imp.kind!==\"function\")continue;if(!imp.module.startsWith(\"wasi_\"))continue;namespace=imp.module;break}switch(namespace){case\"wasi_unstable\":return{wasi_unstable:this.wasiImport};case\"wasi_snapshot_preview1\":return{wasi_snapshot_preview1:this.wasiImport};default:throw new Error(\"No WASI namespace found. Only wasi_unstable and wasi_snapshot_preview1 are supported.\\n\\nList of imports:\\n\\n\"+imports.map(({name,kind,module})=>`${module}:${name} (${kind})`).join(\"\\n\")+\"\\n\")}}initWasiFdInfo(){if(this.env.WASI_FD_INFO!=null){const fdInfo=JSON.parse(this.env.WASI_FD_INFO);for(let wasi_fd in fdInfo){console.log(wasi_fd);const fd=parseInt(wasi_fd);if(this.FD_MAP.has(fd))continue;const real=fdInfo[wasi_fd];try{this.fstatSync(real)}catch(_err){console.log(\"discarding \",{wasi_fd,real});continue}const file={real,filetype:constants_1.WASI_FILETYPE_SOCKET_STREAM,rights:{base:STDIN_DEFAULT_RIGHTS,inheriting:BigInt(0)}};this.FD_MAP.set(fd,file)}console.log(\"after initWasiFdInfo: \",this.FD_MAP),console.log(\"fdInfo = \",fdInfo)}else console.log(\"no WASI_FD_INFO\")}};exports.default=WASI}});return{WASI:require_wasi().default}})\n"_s;
-static constexpr ASCIILiteral NodeWorkerThreadsCode = "(function (){\"use strict\";return globalThis[globalThis.Symbol.for('Bun.lazy')](\"masqueradesAsUndefined\")})\n"_s;
+static constexpr ASCIILiteral NodeWorkerThreadsCode = "(function (){\"use strict\";var $;const{MessageChannel,BroadcastChannel}=globalThis;function injectFakeEmitter(Class){function messageEventHandler(event){return event.data}function errorEventHandler(event){return event.error}const wrappedListener=Symbol(\"wrappedListener\");function wrapped(run,listener){const callback=function(event){return listener(run(event))};return listener[wrappedListener]=callback,callback}function functionForEventType(event,listener){switch(event){case\"error\":case\"messageerror\":return wrapped(errorEventHandler,listener);default:return wrapped(messageEventHandler,listener)}}Class.prototype.on=function(event,listener){return this.addEventListener(event,functionForEventType(event,listener)),this},Class.prototype.off=function(event,listener){if(listener)this.removeEventListener(event,listener[wrappedListener]||listener);else this.removeEventListener(event);return this},Class.prototype.once=function(event,listener){return this.addEventListener(event,functionForEventType(event,listener),{once:!0}),this};function EventClass(eventName){if(eventName===\"error\"||eventName===\"messageerror\")return ErrorEvent;return MessageEvent}Class.prototype.emit=function(event,...args){return this.dispatchEvent(new(EventClass(event))(event,...args)),this},Class.prototype.prependListener=Class.prototype.on,Class.prototype.prependOnceListener=Class.prototype.once}const _MessagePort=globalThis.MessagePort;injectFakeEmitter(_MessagePort);const MessagePort=_MessagePort,EventEmitter=@getInternalField(@internalModuleRegistry,15)||@createInternalModuleById(15),isMainThread=Bun.isMainThread;let[_workerData,_threadId,_receiveMessageOnPort]=globalThis[globalThis.Symbol.for('Bun.lazy')](\"worker_threads\"),parentPort=isMainThread\?null:fakeParentPort(),resourceLimits={},workerData=_workerData,threadId=_threadId;function receiveMessageOnPort(port){let res=_receiveMessageOnPort(port);if(!res)return;return{message:res}}function fakeParentPort(){const fake=Object.create(MessagePort.prototype);return Object.defineProperty(fake,\"onmessage\",{get(){return self.onmessage},set(value){self.onmessage=value}}),Object.defineProperty(fake,\"onmessageerror\",{get(){return self.onmessageerror},set(value){}}),Object.defineProperty(fake,\"postMessage\",{value(...args){return self.postMessage(...args)}}),Object.defineProperty(fake,\"close\",{value(){return process.exit(0)}}),Object.defineProperty(fake,\"start\",{value(){}}),Object.defineProperty(fake,\"unref\",{value(){}}),Object.defineProperty(fake,\"ref\",{value(){}}),Object.defineProperty(fake,\"hasRef\",{value(){return!1}}),Object.defineProperty(fake,\"setEncoding\",{value(){}}),Object.defineProperty(fake,\"addEventListener\",{value:self.addEventListener.bind(self)}),Object.defineProperty(fake,\"removeEventListener\",{value:self.removeEventListener.bind(self)}),fake}function getEnvironmentData(){return process.env}function setEnvironmentData(env){process.env=env}function markAsUntransferable(){throw new Error(\"markAsUntransferable is not implemented\")}function moveMessagePortToContext(){throw new Error(\"moveMessagePortToContext is not implemented\")}const SHARE_ENV=Symbol(\"nodejs.worker_threads.SHARE_ENV\"),WebWorker=globalThis.Worker;class Worker extends EventEmitter{#worker;#performance;#onExitPromise=void 0;constructor(filename,options={}){super();this.#worker=new WebWorker(filename,{...options}),this.#worker.addEventListener(\"close\",this.#onClose.bind(this)),this.#worker.addEventListener(\"error\",this.#onError.bind(this)),this.#worker.addEventListener(\"message\",this.#onMessage.bind(this)),this.#worker.addEventListener(\"messageerror\",this.#onMessageError.bind(this)),this.#worker.addEventListener(\"open\",this.#onOpen.bind(this))}ref(){this.#worker.ref()}unref(){this.#worker.unref()}get stdin(){return null}get stdout(){return null}get stderr(){return null}get performance(){return this.#performance\?\?={eventLoopUtilization(){return{}}}}terminate(){if(this.#onExitPromise)return this.#onExitPromise;const{resolve,promise}=Promise.withResolvers();return this.#worker.addEventListener(\"close\",(event)=>{resolve(0)},{once:!0}),this.#onExitPromise=promise}postMessage(...args){return this.#worker.postMessage(...args)}#onClose(){this.emit(\"exit\")}#onError(event){this.emit(\"error\",event)}#onMessage(event){this.emit(\"message\",event.data)}#onMessageError(event){this.emit(\"messageerror\",event.error||event)}#onOpen(){this.emit(\"online\")}getHeapSnapshot(){return{}}}return $={Worker,workerData,parentPort,resourceLimits,isMainThread,MessageChannel,BroadcastChannel,MessagePort,getEnvironmentData,setEnvironmentData,getHeapSnapshot(){return{}},markAsUntransferable,moveMessagePortToContext,receiveMessageOnPort,SHARE_ENV,threadId},$})\n"_s;
static constexpr ASCIILiteral NodeZlibCode = "(function (){\"use strict\";const assert=@getInternalField(@internalModuleRegistry,3)||@createInternalModuleById(3),BufferModule=@requireNativeModule(\"node:buffer\"),StreamModule=@getInternalField(@internalModuleRegistry,34)||@createInternalModuleById(34),Util=@getInternalField(@internalModuleRegistry,42)||@createInternalModuleById(42);var __getOwnPropNames=Object.getOwnPropertyNames,__commonJS=(cb,mod)=>function __require(){return mod||(0,cb[__getOwnPropNames(cb)[0]])((mod={exports:{}}).exports,mod),mod.exports},require_zstream=__commonJS({\"node_modules/pako/lib/zlib/zstream.js\"(exports,module2){function ZStream(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg=\"\",this.state=null,this.data_type=2,this.adler=0}module2.exports=ZStream}}),require_common=__commonJS({\"node_modules/pako/lib/utils/common.js\"(exports){var TYPED_OK=typeof Uint8Array!==\"undefined\"&&typeof Uint16Array!==\"undefined\"&&typeof Int32Array!==\"undefined\";function _has(obj,key){return Object.prototype.hasOwnProperty.call(obj,key)}exports.assign=function(obj){var sources=Array.prototype.slice.call(arguments,1);while(sources.length){var source=sources.shift();if(!source)continue;if(typeof source!==\"object\")@throwTypeError(source+\"must be non-object\");for(var p in source)if(_has(source,p))obj[p]=source[p]}return obj},exports.shrinkBuf=function(buf,size){if(buf.length===size)return buf;if(buf.subarray)return buf.subarray(0,size);return buf.length=size,buf};var fnTyped={arraySet:function(dest,src,src_offs,len,dest_offs){if(src.subarray&&dest.subarray){dest.set(src.subarray(src_offs,src_offs+len),dest_offs);return}for(var i=0;i<len;i++)dest[dest_offs+i]=src[src_offs+i]},flattenChunks:function(chunks){var i,l,len,pos,chunk,result;len=0;for(i=0,l=chunks.length;i<l;i++)len+=chunks[i].length;result=new Uint8Array(len),pos=0;for(i=0,l=chunks.length;i<l;i++)chunk=chunks[i],result.set(chunk,pos),pos+=chunk.length;return result}},fnUntyped={arraySet:function(dest,src,src_offs,len,dest_offs){for(var i=0;i<len;i++)dest[dest_offs+i]=src[src_offs+i]},flattenChunks:function(chunks){return[].concat.apply([],chunks)}};exports.setTyped=function(on){if(on)exports.Buf8=Uint8Array,exports.Buf16=Uint16Array,exports.Buf32=Int32Array,exports.assign(exports,fnTyped);else exports.Buf8=Array,exports.Buf16=Array,exports.Buf32=Array,exports.assign(exports,fnUntyped)},exports.setTyped(TYPED_OK)}}),require_trees=__commonJS({\"node_modules/pako/lib/zlib/trees.js\"(exports){var utils=require_common(),Z_FIXED=4,Z_BINARY=0,Z_TEXT=1,Z_UNKNOWN=2;function zero(buf){var len=buf.length;while(--len>=0)buf[len]=0}var STORED_BLOCK=0,STATIC_TREES=1,DYN_TREES=2,MIN_MATCH=3,MAX_MATCH=258,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,Buf_size=16,MAX_BL_BITS=7,END_BLOCK=256,REP_3_6=16,REPZ_3_10=17,REPZ_11_138=18,extra_lbits=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],extra_dbits=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],extra_blbits=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],bl_order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],DIST_CODE_LEN=512,static_ltree=new Array((L_CODES+2)*2);zero(static_ltree);var static_dtree=new Array(D_CODES*2);zero(static_dtree);var _dist_code=new Array(DIST_CODE_LEN);zero(_dist_code);var _length_code=new Array(MAX_MATCH-MIN_MATCH+1);zero(_length_code);var base_length=new Array(LENGTH_CODES);zero(base_length);var base_dist=new Array(D_CODES);zero(base_dist);function StaticTreeDesc(static_tree,extra_bits,extra_base,elems,max_length){this.static_tree=static_tree,this.extra_bits=extra_bits,this.extra_base=extra_base,this.elems=elems,this.max_length=max_length,this.has_stree=static_tree&&static_tree.length}var static_l_desc,static_d_desc,static_bl_desc;function TreeDesc(dyn_tree,stat_desc){this.dyn_tree=dyn_tree,this.max_code=0,this.stat_desc=stat_desc}function d_code(dist){return dist<256\?_dist_code[dist]:_dist_code[256+(dist>>>7)]}function put_short(s,w){s.pending_buf[s.pending++]=w&255,s.pending_buf[s.pending++]=w>>>8&255}function send_bits(s,value,length){if(s.bi_valid>Buf_size-length)s.bi_buf|=value<<s.bi_valid&65535,put_short(s,s.bi_buf),s.bi_buf=value>>Buf_size-s.bi_valid,s.bi_valid+=length-Buf_size;else s.bi_buf|=value<<s.bi_valid&65535,s.bi_valid+=length}function send_code(s,c,tree){send_bits(s,tree[c*2],tree[c*2+1])}function bi_reverse(code,len){var res=0;do res|=code&1,code>>>=1,res<<=1;while(--len>0);return res>>>1}function bi_flush(s){if(s.bi_valid===16)put_short(s,s.bi_buf),s.bi_buf=0,s.bi_valid=0;else if(s.bi_valid>=8)s.pending_buf[s.pending++]=s.bi_buf&255,s.bi_buf>>=8,s.bi_valid-=8}function gen_bitlen(s,desc){var{dyn_tree:tree,max_code}=desc,stree=desc.stat_desc.static_tree,has_stree=desc.stat_desc.has_stree,extra=desc.stat_desc.extra_bits,base=desc.stat_desc.extra_base,max_length=desc.stat_desc.max_length,h,n,m,bits,xbits,f,overflow=0;for(bits=0;bits<=MAX_BITS;bits++)s.bl_count[bits]=0;tree[s.heap[s.heap_max]*2+1]=0;for(h=s.heap_max+1;h<HEAP_SIZE;h++){if(n=s.heap[h],bits=tree[tree[n*2+1]*2+1]+1,bits>max_length)bits=max_length,overflow++;if(tree[n*2+1]=bits,n>max_code)continue;if(s.bl_count[bits]++,xbits=0,n>=base)xbits=extra[n-base];if(f=tree[n*2],s.opt_len+=f*(bits+xbits),has_stree)s.static_len+=f*(stree[n*2+1]+xbits)}if(overflow===0)return;do{bits=max_length-1;while(s.bl_count[bits]===0)bits--;s.bl_count[bits]--,s.bl_count[bits+1]+=2,s.bl_count[max_length]--,overflow-=2}while(overflow>0);for(bits=max_length;bits!==0;bits--){n=s.bl_count[bits];while(n!==0){if(m=s.heap[--h],m>max_code)continue;if(tree[m*2+1]!==bits)s.opt_len+=(bits-tree[m*2+1])*tree[m*2],tree[m*2+1]=bits;n--}}}function gen_codes(tree,max_code,bl_count){var next_code=new Array(MAX_BITS+1),code=0,bits,n;for(bits=1;bits<=MAX_BITS;bits++)next_code[bits]=code=code+bl_count[bits-1]<<1;for(n=0;n<=max_code;n++){var len=tree[n*2+1];if(len===0)continue;tree[n*2]=bi_reverse(next_code[len]++,len)}}function tr_static_init(){var n,bits,length,code,dist,bl_count=new Array(MAX_BITS+1);length=0;for(code=0;code<LENGTH_CODES-1;code++){base_length[code]=length;for(n=0;n<1<<extra_lbits[code];n++)_length_code[length++]=code}_length_code[length-1]=code,dist=0;for(code=0;code<16;code++){base_dist[code]=dist;for(n=0;n<1<<extra_dbits[code];n++)_dist_code[dist++]=code}dist>>=7;for(;code<D_CODES;code++){base_dist[code]=dist<<7;for(n=0;n<1<<extra_dbits[code]-7;n++)_dist_code[256+dist++]=code}for(bits=0;bits<=MAX_BITS;bits++)bl_count[bits]=0;n=0;while(n<=143)static_ltree[n*2+1]=8,n++,bl_count[8]++;while(n<=255)static_ltree[n*2+1]=9,n++,bl_count[9]++;while(n<=279)static_ltree[n*2+1]=7,n++,bl_count[7]++;while(n<=287)static_ltree[n*2+1]=8,n++,bl_count[8]++;gen_codes(static_ltree,L_CODES+1,bl_count);for(n=0;n<D_CODES;n++)static_dtree[n*2+1]=5,static_dtree[n*2]=bi_reverse(n,5);static_l_desc=new StaticTreeDesc(static_ltree,extra_lbits,LITERALS+1,L_CODES,MAX_BITS),static_d_desc=new StaticTreeDesc(static_dtree,extra_dbits,0,D_CODES,MAX_BITS),static_bl_desc=new StaticTreeDesc(new Array(0),extra_blbits,0,BL_CODES,MAX_BL_BITS)}function init_block(s){var n;for(n=0;n<L_CODES;n++)s.dyn_ltree[n*2]=0;for(n=0;n<D_CODES;n++)s.dyn_dtree[n*2]=0;for(n=0;n<BL_CODES;n++)s.bl_tree[n*2]=0;s.dyn_ltree[END_BLOCK*2]=1,s.opt_len=s.static_len=0,s.last_lit=s.matches=0}function bi_windup(s){if(s.bi_valid>8)put_short(s,s.bi_buf);else if(s.bi_valid>0)s.pending_buf[s.pending++]=s.bi_buf;s.bi_buf=0,s.bi_valid=0}function copy_block(s,buf,len,header){if(bi_windup(s),header)put_short(s,len),put_short(s,~len);utils.arraySet(s.pending_buf,s.window,buf,len,s.pending),s.pending+=len}function smaller(tree,n,m,depth){var _n2=n*2,_m2=m*2;return tree[_n2]<tree[_m2]||tree[_n2]===tree[_m2]&&depth[n]<=depth[m]}function pqdownheap(s,tree,k){var v=s.heap[k],j=k<<1;while(j<=s.heap_len){if(j<s.heap_len&&smaller(tree,s.heap[j+1],s.heap[j],s.depth))j++;if(smaller(tree,v,s.heap[j],s.depth))break;s.heap[k]=s.heap[j],k=j,j<<=1}s.heap[k]=v}function compress_block(s,ltree,dtree){var dist,lc,lx=0,code,extra;if(s.last_lit!==0)do if(dist=s.pending_buf[s.d_buf+lx*2]<<8|s.pending_buf[s.d_buf+lx*2+1],lc=s.pending_buf[s.l_buf+lx],lx++,dist===0)send_code(s,lc,ltree);else{if(code=_length_code[lc],send_code(s,code+LITERALS+1,ltree),extra=extra_lbits[code],extra!==0)lc-=base_length[code],send_bits(s,lc,extra);if(dist--,code=d_code(dist),send_code(s,code,dtree),extra=extra_dbits[code],extra!==0)dist-=base_dist[code],send_bits(s,dist,extra)}while(lx<s.last_lit);send_code(s,END_BLOCK,ltree)}function build_tree(s,desc){var tree=desc.dyn_tree,stree=desc.stat_desc.static_tree,has_stree=desc.stat_desc.has_stree,elems=desc.stat_desc.elems,n,m,max_code=-1,node;s.heap_len=0,s.heap_max=HEAP_SIZE;for(n=0;n<elems;n++)if(tree[n*2]!==0)s.heap[++s.heap_len]=max_code=n,s.depth[n]=0;else tree[n*2+1]=0;while(s.heap_len<2)if(node=s.heap[++s.heap_len]=max_code<2\?++max_code:0,tree[node*2]=1,s.depth[node]=0,s.opt_len--,has_stree)s.static_len-=stree[node*2+1];desc.max_code=max_code;for(n=s.heap_len>>1;n>=1;n--)pqdownheap(s,tree,n);node=elems;do n=s.heap[1],s.heap[1]=s.heap[s.heap_len--],pqdownheap(s,tree,1),m=s.heap[1],s.heap[--s.heap_max]=n,s.heap[--s.heap_max]=m,tree[node*2]=tree[n*2]+tree[m*2],s.depth[node]=(s.depth[n]>=s.depth[m]\?s.depth[n]:s.depth[m])+1,tree[n*2+1]=tree[m*2+1]=node,s.heap[1]=node++,pqdownheap(s,tree,1);while(s.heap_len>=2);s.heap[--s.heap_max]=s.heap[1],gen_bitlen(s,desc),gen_codes(tree,max_code,s.bl_count)}function scan_tree(s,tree,max_code){var n,prevlen=-1,curlen,nextlen=tree[1],count=0,max_count=7,min_count=4;if(nextlen===0)max_count=138,min_count=3;tree[(max_code+1)*2+1]=65535;for(n=0;n<=max_code;n++){if(curlen=nextlen,nextlen=tree[(n+1)*2+1],++count<max_count&&curlen===nextlen)continue;else if(count<min_count)s.bl_tree[curlen*2]+=count;else if(curlen!==0){if(curlen!==prevlen)s.bl_tree[curlen*2]++;s.bl_tree[REP_3_6*2]++}else if(count<=10)s.bl_tree[REPZ_3_10*2]++;else s.bl_tree[REPZ_11_138*2]++;if(count=0,prevlen=curlen,nextlen===0)max_count=138,min_count=3;else if(curlen===nextlen)max_count=6,min_count=3;else max_count=7,min_count=4}}function send_tree(s,tree,max_code){var n,prevlen=-1,curlen,nextlen=tree[1],count=0,max_count=7,min_count=4;if(nextlen===0)max_count=138,min_count=3;for(n=0;n<=max_code;n++){if(curlen=nextlen,nextlen=tree[(n+1)*2+1],++count<max_count&&curlen===nextlen)continue;else if(count<min_count)do send_code(s,curlen,s.bl_tree);while(--count!==0);else if(curlen!==0){if(curlen!==prevlen)send_code(s,curlen,s.bl_tree),count--;send_code(s,REP_3_6,s.bl_tree),send_bits(s,count-3,2)}else if(count<=10)send_code(s,REPZ_3_10,s.bl_tree),send_bits(s,count-3,3);else send_code(s,REPZ_11_138,s.bl_tree),send_bits(s,count-11,7);if(count=0,prevlen=curlen,nextlen===0)max_count=138,min_count=3;else if(curlen===nextlen)max_count=6,min_count=3;else max_count=7,min_count=4}}function build_bl_tree(s){var max_blindex;scan_tree(s,s.dyn_ltree,s.l_desc.max_code),scan_tree(s,s.dyn_dtree,s.d_desc.max_code),build_tree(s,s.bl_desc);for(max_blindex=BL_CODES-1;max_blindex>=3;max_blindex--)if(s.bl_tree[bl_order[max_blindex]*2+1]!==0)break;return s.opt_len+=3*(max_blindex+1)+5+5+4,max_blindex}function send_all_trees(s,lcodes,dcodes,blcodes){var rank;send_bits(s,lcodes-257,5),send_bits(s,dcodes-1,5),send_bits(s,blcodes-4,4);for(rank=0;rank<blcodes;rank++)send_bits(s,s.bl_tree[bl_order[rank]*2+1],3);send_tree(s,s.dyn_ltree,lcodes-1),send_tree(s,s.dyn_dtree,dcodes-1)}function detect_data_type(s){var black_mask=4093624447,n;for(n=0;n<=31;n++,black_mask>>>=1)if(black_mask&1&&s.dyn_ltree[n*2]!==0)return Z_BINARY;if(s.dyn_ltree[18]!==0||s.dyn_ltree[20]!==0||s.dyn_ltree[26]!==0)return Z_TEXT;for(n=32;n<LITERALS;n++)if(s.dyn_ltree[n*2]!==0)return Z_TEXT;return Z_BINARY}var static_init_done=!1;function _tr_init(s){if(!static_init_done)tr_static_init(),static_init_done=!0;s.l_desc=new TreeDesc(s.dyn_ltree,static_l_desc),s.d_desc=new TreeDesc(s.dyn_dtree,static_d_desc),s.bl_desc=new TreeDesc(s.bl_tree,static_bl_desc),s.bi_buf=0,s.bi_valid=0,init_block(s)}function _tr_stored_block(s,buf,stored_len,last){send_bits(s,(STORED_BLOCK<<1)+(last\?1:0),3),copy_block(s,buf,stored_len,!0)}function _tr_align(s){send_bits(s,STATIC_TREES<<1,3),send_code(s,END_BLOCK,static_ltree),bi_flush(s)}function _tr_flush_block(s,buf,stored_len,last){var opt_lenb,static_lenb,max_blindex=0;if(s.level>0){if(s.strm.data_type===Z_UNKNOWN)s.strm.data_type=detect_data_type(s);if(build_tree(s,s.l_desc),build_tree(s,s.d_desc),max_blindex=build_bl_tree(s),opt_lenb=s.opt_len+3+7>>>3,static_lenb=s.static_len+3+7>>>3,static_lenb<=opt_lenb)opt_lenb=static_lenb}else opt_lenb=static_lenb=stored_len+5;if(stored_len+4<=opt_lenb&&buf!==-1)_tr_stored_block(s,buf,stored_len,last);else if(s.strategy===Z_FIXED||static_lenb===opt_lenb)send_bits(s,(STATIC_TREES<<1)+(last\?1:0),3),compress_block(s,static_ltree,static_dtree);else send_bits(s,(DYN_TREES<<1)+(last\?1:0),3),send_all_trees(s,s.l_desc.max_code+1,s.d_desc.max_code+1,max_blindex+1),compress_block(s,s.dyn_ltree,s.dyn_dtree);if(init_block(s),last)bi_windup(s)}function _tr_tally(s,dist,lc){if(s.pending_buf[s.d_buf+s.last_lit*2]=dist>>>8&255,s.pending_buf[s.d_buf+s.last_lit*2+1]=dist&255,s.pending_buf[s.l_buf+s.last_lit]=lc&255,s.last_lit++,dist===0)s.dyn_ltree[lc*2]++;else s.matches++,dist--,s.dyn_ltree[(_length_code[lc]+LITERALS+1)*2]++,s.dyn_dtree[d_code(dist)*2]++;return s.last_lit===s.lit_bufsize-1}exports._tr_init=_tr_init,exports._tr_stored_block=_tr_stored_block,exports._tr_flush_block=_tr_flush_block,exports._tr_tally=_tr_tally,exports._tr_align=_tr_align}}),require_adler32=__commonJS({\"node_modules/pako/lib/zlib/adler32.js\"(exports,module2){function adler32(adler,buf,len,pos){var s1=adler&65535|0,s2=adler>>>16&65535|0,n=0;while(len!==0){n=len>2000\?2000:len,len-=n;do s1=s1+buf[pos++]|0,s2=s2+s1|0;while(--n);s1%=65521,s2%=65521}return s1|s2<<16|0}module2.exports=adler32}}),require_crc32=__commonJS({\"node_modules/pako/lib/zlib/crc32.js\"(exports,module2){function makeTable(){var c,table=[];for(var n=0;n<256;n++){c=n;for(var k=0;k<8;k++)c=c&1\?3988292384^c>>>1:c>>>1;table[n]=c}return table}var crcTable=makeTable();function crc32(crc,buf,len,pos){var t=crcTable,end=pos+len;crc^=-1;for(var i=pos;i<end;i++)crc=crc>>>8^t[(crc^buf[i])&255];return crc^-1}module2.exports=crc32}}),require_messages=__commonJS({\"node_modules/pako/lib/zlib/messages.js\"(exports,module2){module2.exports={2:\"need dictionary\",1:\"stream end\",0:\"\",\"-1\":\"file error\",\"-2\":\"stream error\",\"-3\":\"data error\",\"-4\":\"insufficient memory\",\"-5\":\"buffer error\",\"-6\":\"incompatible version\"}}}),require_deflate=__commonJS({\"node_modules/pako/lib/zlib/deflate.js\"(exports){var utils=require_common(),trees=require_trees(),adler32=require_adler32(),crc32=require_crc32(),msg=require_messages(),Z_NO_FLUSH=0,Z_PARTIAL_FLUSH=1,Z_FULL_FLUSH=3,Z_FINISH=4,Z_BLOCK=5,Z_OK=0,Z_STREAM_END=1,Z_STREAM_ERROR=-2,Z_DATA_ERROR=-3,Z_BUF_ERROR=-5,Z_DEFAULT_COMPRESSION=-1,Z_FILTERED=1,Z_HUFFMAN_ONLY=2,Z_RLE=3,Z_FIXED=4,Z_DEFAULT_STRATEGY=0,Z_UNKNOWN=2,Z_DEFLATED=8,MAX_MEM_LEVEL=9,MAX_WBITS=15,DEF_MEM_LEVEL=8,LENGTH_CODES=29,LITERALS=256,L_CODES=LITERALS+1+LENGTH_CODES,D_CODES=30,BL_CODES=19,HEAP_SIZE=2*L_CODES+1,MAX_BITS=15,MIN_MATCH=3,MAX_MATCH=258,MIN_LOOKAHEAD=MAX_MATCH+MIN_MATCH+1,PRESET_DICT=32,INIT_STATE=42,EXTRA_STATE=69,NAME_STATE=73,COMMENT_STATE=91,HCRC_STATE=103,BUSY_STATE=113,FINISH_STATE=666,BS_NEED_MORE=1,BS_BLOCK_DONE=2,BS_FINISH_STARTED=3,BS_FINISH_DONE=4,OS_CODE=3;function err(strm,errorCode){return strm.msg=msg[errorCode],errorCode}function rank(f){return(f<<1)-(f>4\?9:0)}function zero(buf){var len=buf.length;while(--len>=0)buf[len]=0}function flush_pending(strm){var s=strm.state,len=s.pending;if(len>strm.avail_out)len=strm.avail_out;if(len===0)return;if(utils.arraySet(strm.output,s.pending_buf,s.pending_out,len,strm.next_out),strm.next_out+=len,s.pending_out+=len,strm.total_out+=len,strm.avail_out-=len,s.pending-=len,s.pending===0)s.pending_out=0}function flush_block_only(s,last){trees._tr_flush_block(s,s.block_start>=0\?s.block_start:-1,s.strstart-s.block_start,last),s.block_start=s.strstart,flush_pending(s.strm)}function put_byte(s,b){s.pending_buf[s.pending++]=b}function putShortMSB(s,b){s.pending_buf[s.pending++]=b>>>8&255,s.pending_buf[s.pending++]=b&255}function read_buf(strm,buf,start,size){var len=strm.avail_in;if(len>size)len=size;if(len===0)return 0;if(strm.avail_in-=len,utils.arraySet(buf,strm.input,strm.next_in,len,start),strm.state.wrap===1)strm.adler=adler32(strm.adler,buf,len,start);else if(strm.state.wrap===2)strm.adler=crc32(strm.adler,buf,len,start);return strm.next_in+=len,strm.total_in+=len,len}function longest_match(s,cur_match){var{max_chain_length:chain_length,strstart:scan}=s,match,len,best_len=s.prev_length,nice_match=s.nice_match,limit=s.strstart>s.w_size-MIN_LOOKAHEAD\?s.strstart-(s.w_size-MIN_LOOKAHEAD):0,_win=s.window,wmask=s.w_mask,prev=s.prev,strend=s.strstart+MAX_MATCH,scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len];if(s.prev_length>=s.good_match)chain_length>>=2;if(nice_match>s.lookahead)nice_match=s.lookahead;do{if(match=cur_match,_win[match+best_len]!==scan_end||_win[match+best_len-1]!==scan_end1||_win[match]!==_win[scan]||_win[++match]!==_win[scan+1])continue;scan+=2,match++;do;while(_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&_win[++scan]===_win[++match]&&scan<strend);if(len=MAX_MATCH-(strend-scan),scan=strend-MAX_MATCH,len>best_len){if(s.match_start=cur_match,best_len=len,len>=nice_match)break;scan_end1=_win[scan+best_len-1],scan_end=_win[scan+best_len]}}while((cur_match=prev[cur_match&wmask])>limit&&--chain_length!==0);if(best_len<=s.lookahead)return best_len;return s.lookahead}function fill_window(s){var _w_size=s.w_size,p,n,m,more,str;do{if(more=s.window_size-s.lookahead-s.strstart,s.strstart>=_w_size+(_w_size-MIN_LOOKAHEAD)){utils.arraySet(s.window,s.window,_w_size,_w_size,0),s.match_start-=_w_size,s.strstart-=_w_size,s.block_start-=_w_size,n=s.hash_size,p=n;do m=s.head[--p],s.head[p]=m>=_w_size\?m-_w_size:0;while(--n);n=_w_size,p=n;do m=s.prev[--p],s.prev[p]=m>=_w_size\?m-_w_size:0;while(--n);more+=_w_size}if(s.strm.avail_in===0)break;if(n=read_buf(s.strm,s.window,s.strstart+s.lookahead,more),s.lookahead+=n,s.lookahead+s.insert>=MIN_MATCH){str=s.strstart-s.insert,s.ins_h=s.window[str],s.ins_h=(s.ins_h<<s.hash_shift^s.window[str+1])&s.hash_mask;while(s.insert)if(s.ins_h=(s.ins_h<<s.hash_shift^s.window[str+MIN_MATCH-1])&s.hash_mask,s.prev[str&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=str,str++,s.insert--,s.lookahead+s.insert<MIN_MATCH)break}}while(s.lookahead<MIN_LOOKAHEAD&&s.strm.avail_in!==0)}function deflate_stored(s,flush){var max_block_size=65535;if(max_block_size>s.pending_buf_size-5)max_block_size=s.pending_buf_size-5;for(;;){if(s.lookahead<=1){if(fill_window(s),s.lookahead===0&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}s.strstart+=s.lookahead,s.lookahead=0;var max_start=s.block_start+max_block_size;if(s.strstart===0||s.strstart>=max_start){if(s.lookahead=s.strstart-max_start,s.strstart=max_start,flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}if(s.strstart-s.block_start>=s.w_size-MIN_LOOKAHEAD){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.strstart>s.block_start){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_NEED_MORE}function deflate_fast(s,flush){var hash_head,bflush;for(;;){if(s.lookahead<MIN_LOOKAHEAD){if(fill_window(s),s.lookahead<MIN_LOOKAHEAD&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}if(hash_head=0,s.lookahead>=MIN_MATCH)s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask,hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart;if(hash_head!==0&&s.strstart-hash_head<=s.w_size-MIN_LOOKAHEAD)s.match_length=longest_match(s,hash_head);if(s.match_length>=MIN_MATCH)if(bflush=trees._tr_tally(s,s.strstart-s.match_start,s.match_length-MIN_MATCH),s.lookahead-=s.match_length,s.match_length<=s.max_lazy_match&&s.lookahead>=MIN_MATCH){s.match_length--;do s.strstart++,s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask,hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart;while(--s.match_length!==0);s.strstart++}else s.strstart+=s.match_length,s.match_length=0,s.ins_h=s.window[s.strstart],s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+1])&s.hash_mask;else bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++;if(bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=s.strstart<MIN_MATCH-1\?s.strstart:MIN_MATCH-1,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function deflate_slow(s,flush){var hash_head,bflush,max_insert;for(;;){if(s.lookahead<MIN_LOOKAHEAD){if(fill_window(s),s.lookahead<MIN_LOOKAHEAD&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}if(hash_head=0,s.lookahead>=MIN_MATCH)s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask,hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart;if(s.prev_length=s.match_length,s.prev_match=s.match_start,s.match_length=MIN_MATCH-1,hash_head!==0&&s.prev_length<s.max_lazy_match&&s.strstart-hash_head<=s.w_size-MIN_LOOKAHEAD){if(s.match_length=longest_match(s,hash_head),s.match_length<=5&&(s.strategy===Z_FILTERED||s.match_length===MIN_MATCH&&s.strstart-s.match_start>4096))s.match_length=MIN_MATCH-1}if(s.prev_length>=MIN_MATCH&&s.match_length<=s.prev_length){max_insert=s.strstart+s.lookahead-MIN_MATCH,bflush=trees._tr_tally(s,s.strstart-1-s.prev_match,s.prev_length-MIN_MATCH),s.lookahead-=s.prev_length-1,s.prev_length-=2;do if(++s.strstart<=max_insert)s.ins_h=(s.ins_h<<s.hash_shift^s.window[s.strstart+MIN_MATCH-1])&s.hash_mask,hash_head=s.prev[s.strstart&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=s.strstart;while(--s.prev_length!==0);if(s.match_available=0,s.match_length=MIN_MATCH-1,s.strstart++,bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}else if(s.match_available){if(bflush=trees._tr_tally(s,0,s.window[s.strstart-1]),bflush)flush_block_only(s,!1);if(s.strstart++,s.lookahead--,s.strm.avail_out===0)return BS_NEED_MORE}else s.match_available=1,s.strstart++,s.lookahead--}if(s.match_available)bflush=trees._tr_tally(s,0,s.window[s.strstart-1]),s.match_available=0;if(s.insert=s.strstart<MIN_MATCH-1\?s.strstart:MIN_MATCH-1,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function deflate_rle(s,flush){var bflush,prev,scan,strend,_win=s.window;for(;;){if(s.lookahead<=MAX_MATCH){if(fill_window(s),s.lookahead<=MAX_MATCH&&flush===Z_NO_FLUSH)return BS_NEED_MORE;if(s.lookahead===0)break}if(s.match_length=0,s.lookahead>=MIN_MATCH&&s.strstart>0){if(scan=s.strstart-1,prev=_win[scan],prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]){strend=s.strstart+MAX_MATCH;do;while(prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&prev===_win[++scan]&&scan<strend);if(s.match_length=MAX_MATCH-(strend-scan),s.match_length>s.lookahead)s.match_length=s.lookahead}}if(s.match_length>=MIN_MATCH)bflush=trees._tr_tally(s,1,s.match_length-MIN_MATCH),s.lookahead-=s.match_length,s.strstart+=s.match_length,s.match_length=0;else bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++;if(bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function deflate_huff(s,flush){var bflush;for(;;){if(s.lookahead===0){if(fill_window(s),s.lookahead===0){if(flush===Z_NO_FLUSH)return BS_NEED_MORE;break}}if(s.match_length=0,bflush=trees._tr_tally(s,0,s.window[s.strstart]),s.lookahead--,s.strstart++,bflush){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}}if(s.insert=0,flush===Z_FINISH){if(flush_block_only(s,!0),s.strm.avail_out===0)return BS_FINISH_STARTED;return BS_FINISH_DONE}if(s.last_lit){if(flush_block_only(s,!1),s.strm.avail_out===0)return BS_NEED_MORE}return BS_BLOCK_DONE}function Config(good_length,max_lazy,nice_length,max_chain,func){this.good_length=good_length,this.max_lazy=max_lazy,this.nice_length=nice_length,this.max_chain=max_chain,this.func=func}var configuration_table=[new Config(0,0,0,0,deflate_stored),new Config(4,4,8,4,deflate_fast),new Config(4,5,16,8,deflate_fast),new Config(4,6,32,32,deflate_fast),new Config(4,4,16,16,deflate_slow),new Config(8,16,32,32,deflate_slow),new Config(8,16,128,128,deflate_slow),new Config(8,32,128,256,deflate_slow),new Config(32,128,258,1024,deflate_slow),new Config(32,258,258,4096,deflate_slow)];function lm_init(s){s.window_size=2*s.w_size,zero(s.head),s.max_lazy_match=configuration_table[s.level].max_lazy,s.good_match=configuration_table[s.level].good_length,s.nice_match=configuration_table[s.level].nice_length,s.max_chain_length=configuration_table[s.level].max_chain,s.strstart=0,s.block_start=0,s.lookahead=0,s.insert=0,s.match_length=s.prev_length=MIN_MATCH-1,s.match_available=0,s.ins_h=0}function DeflateState(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=Z_DEFLATED,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new utils.Buf16(HEAP_SIZE*2),this.dyn_dtree=new utils.Buf16((2*D_CODES+1)*2),this.bl_tree=new utils.Buf16((2*BL_CODES+1)*2),zero(this.dyn_ltree),zero(this.dyn_dtree),zero(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new utils.Buf16(MAX_BITS+1),this.heap=new utils.Buf16(2*L_CODES+1),zero(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new utils.Buf16(2*L_CODES+1),zero(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function deflateResetKeep(strm){var s;if(!strm||!strm.state)return err(strm,Z_STREAM_ERROR);if(strm.total_in=strm.total_out=0,strm.data_type=Z_UNKNOWN,s=strm.state,s.pending=0,s.pending_out=0,s.wrap<0)s.wrap=-s.wrap;return s.status=s.wrap\?INIT_STATE:BUSY_STATE,strm.adler=s.wrap===2\?0:1,s.last_flush=Z_NO_FLUSH,trees._tr_init(s),Z_OK}function deflateReset(strm){var ret=deflateResetKeep(strm);if(ret===Z_OK)lm_init(strm.state);return ret}function deflateSetHeader(strm,head){if(!strm||!strm.state)return Z_STREAM_ERROR;if(strm.state.wrap!==2)return Z_STREAM_ERROR;return strm.state.gzhead=head,Z_OK}function deflateInit2(strm,level,method,windowBits,memLevel,strategy){if(!strm)return Z_STREAM_ERROR;var wrap=1;if(level===Z_DEFAULT_COMPRESSION)level=6;if(windowBits<0)wrap=0,windowBits=-windowBits;else if(windowBits>15)wrap=2,windowBits-=16;if(memLevel<1||memLevel>MAX_MEM_LEVEL||method!==Z_DEFLATED||windowBits<8||windowBits>15||level<0||level>9||strategy<0||strategy>Z_FIXED)return err(strm,Z_STREAM_ERROR);if(windowBits===8)windowBits=9;var s=new DeflateState;return strm.state=s,s.strm=strm,s.wrap=wrap,s.gzhead=null,s.w_bits=windowBits,s.w_size=1<<s.w_bits,s.w_mask=s.w_size-1,s.hash_bits=memLevel+7,s.hash_size=1<<s.hash_bits,s.hash_mask=s.hash_size-1,s.hash_shift=~~((s.hash_bits+MIN_MATCH-1)/MIN_MATCH),s.window=new utils.Buf8(s.w_size*2),s.head=new utils.Buf16(s.hash_size),s.prev=new utils.Buf16(s.w_size),s.lit_bufsize=1<<memLevel+6,s.pending_buf_size=s.lit_bufsize*4,s.pending_buf=new utils.Buf8(s.pending_buf_size),s.d_buf=1*s.lit_bufsize,s.l_buf=3*s.lit_bufsize,s.level=level,s.strategy=strategy,s.method=method,deflateReset(strm)}function deflateInit(strm,level){return deflateInit2(strm,level,Z_DEFLATED,MAX_WBITS,DEF_MEM_LEVEL,Z_DEFAULT_STRATEGY)}function deflate(strm,flush){var old_flush,s,beg,val;if(!strm||!strm.state||flush>Z_BLOCK||flush<0)return strm\?err(strm,Z_STREAM_ERROR):Z_STREAM_ERROR;if(s=strm.state,!strm.output||!strm.input&&strm.avail_in!==0||s.status===FINISH_STATE&&flush!==Z_FINISH)return err(strm,strm.avail_out===0\?Z_BUF_ERROR:Z_STREAM_ERROR);if(s.strm=strm,old_flush=s.last_flush,s.last_flush=flush,s.status===INIT_STATE)if(s.wrap===2)if(strm.adler=0,put_byte(s,31),put_byte(s,139),put_byte(s,8),!s.gzhead)put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,0),put_byte(s,s.level===9\?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2\?4:0),put_byte(s,OS_CODE),s.status=BUSY_STATE;else{if(put_byte(s,(s.gzhead.text\?1:0)+(s.gzhead.hcrc\?2:0)+(!s.gzhead.extra\?0:4)+(!s.gzhead.name\?0:8)+(!s.gzhead.comment\?0:16)),put_byte(s,s.gzhead.time&255),put_byte(s,s.gzhead.time>>8&255),put_byte(s,s.gzhead.time>>16&255),put_byte(s,s.gzhead.time>>24&255),put_byte(s,s.level===9\?2:s.strategy>=Z_HUFFMAN_ONLY||s.level<2\?4:0),put_byte(s,s.gzhead.os&255),s.gzhead.extra&&s.gzhead.extra.length)put_byte(s,s.gzhead.extra.length&255),put_byte(s,s.gzhead.extra.length>>8&255);if(s.gzhead.hcrc)strm.adler=crc32(strm.adler,s.pending_buf,s.pending,0);s.gzindex=0,s.status=EXTRA_STATE}else{var header=Z_DEFLATED+(s.w_bits-8<<4)<<8,level_flags=-1;if(s.strategy>=Z_HUFFMAN_ONLY||s.level<2)level_flags=0;else if(s.level<6)level_flags=1;else if(s.level===6)level_flags=2;else level_flags=3;if(header|=level_flags<<6,s.strstart!==0)header|=PRESET_DICT;if(header+=31-header%31,s.status=BUSY_STATE,putShortMSB(s,header),s.strstart!==0)putShortMSB(s,strm.adler>>>16),putShortMSB(s,strm.adler&65535);strm.adler=1}if(s.status===EXTRA_STATE)if(s.gzhead.extra){beg=s.pending;while(s.gzindex<(s.gzhead.extra.length&65535)){if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size)break}put_byte(s,s.gzhead.extra[s.gzindex]&255),s.gzindex++}if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(s.gzindex===s.gzhead.extra.length)s.gzindex=0,s.status=NAME_STATE}else s.status=NAME_STATE;if(s.status===NAME_STATE)if(s.gzhead.name){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size){val=1;break}}if(s.gzindex<s.gzhead.name.length)val=s.gzhead.name.charCodeAt(s.gzindex++)&255;else val=0;put_byte(s,val)}while(val!==0);if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(val===0)s.gzindex=0,s.status=COMMENT_STATE}else s.status=COMMENT_STATE;if(s.status===COMMENT_STATE)if(s.gzhead.comment){beg=s.pending;do{if(s.pending===s.pending_buf_size){if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(flush_pending(strm),beg=s.pending,s.pending===s.pending_buf_size){val=1;break}}if(s.gzindex<s.gzhead.comment.length)val=s.gzhead.comment.charCodeAt(s.gzindex++)&255;else val=0;put_byte(s,val)}while(val!==0);if(s.gzhead.hcrc&&s.pending>beg)strm.adler=crc32(strm.adler,s.pending_buf,s.pending-beg,beg);if(val===0)s.status=HCRC_STATE}else s.status=HCRC_STATE;if(s.status===HCRC_STATE)if(s.gzhead.hcrc){if(s.pending+2>s.pending_buf_size)flush_pending(strm);if(s.pending+2<=s.pending_buf_size)put_byte(s,strm.adler&255),put_byte(s,strm.adler>>8&255),strm.adler=0,s.status=BUSY_STATE}else s.status=BUSY_STATE;if(s.pending!==0){if(flush_pending(strm),strm.avail_out===0)return s.last_flush=-1,Z_OK}else if(strm.avail_in===0&&rank(flush)<=rank(old_flush)&&flush!==Z_FINISH)return err(strm,Z_BUF_ERROR);if(s.status===FINISH_STATE&&strm.avail_in!==0)return err(strm,Z_BUF_ERROR);if(strm.avail_in!==0||s.lookahead!==0||flush!==Z_NO_FLUSH&&s.status!==FINISH_STATE){var bstate=s.strategy===Z_HUFFMAN_ONLY\?deflate_huff(s,flush):s.strategy===Z_RLE\?deflate_rle(s,flush):configuration_table[s.level].func(s,flush);if(bstate===BS_FINISH_STARTED||bstate===BS_FINISH_DONE)s.status=FINISH_STATE;if(bstate===BS_NEED_MORE||bstate===BS_FINISH_STARTED){if(strm.avail_out===0)s.last_flush=-1;return Z_OK}if(bstate===BS_BLOCK_DONE){if(flush===Z_PARTIAL_FLUSH)trees._tr_align(s);else if(flush!==Z_BLOCK){if(trees._tr_stored_block(s,0,0,!1),flush===Z_FULL_FLUSH){if(zero(s.head),s.lookahead===0)s.strstart=0,s.block_start=0,s.insert=0}}if(flush_pending(strm),strm.avail_out===0)return s.last_flush=-1,Z_OK}}if(flush!==Z_FINISH)return Z_OK;if(s.wrap<=0)return Z_STREAM_END;if(s.wrap===2)put_byte(s,strm.adler&255),put_byte(s,strm.adler>>8&255),put_byte(s,strm.adler>>16&255),put_byte(s,strm.adler>>24&255),put_byte(s,strm.total_in&255),put_byte(s,strm.total_in>>8&255),put_byte(s,strm.total_in>>16&255),put_byte(s,strm.total_in>>24&255);else putShortMSB(s,strm.adler>>>16),putShortMSB(s,strm.adler&65535);if(flush_pending(strm),s.wrap>0)s.wrap=-s.wrap;return s.pending!==0\?Z_OK:Z_STREAM_END}function deflateEnd(strm){var status;if(!strm||!strm.state)return Z_STREAM_ERROR;if(status=strm.state.status,status!==INIT_STATE&&status!==EXTRA_STATE&&status!==NAME_STATE&&status!==COMMENT_STATE&&status!==HCRC_STATE&&status!==BUSY_STATE&&status!==FINISH_STATE)return err(strm,Z_STREAM_ERROR);return strm.state=null,status===BUSY_STATE\?err(strm,Z_DATA_ERROR):Z_OK}function deflateSetDictionary(strm,dictionary){var dictLength=dictionary.length,s,str,n,wrap,avail,next,input,tmpDict;if(!strm||!strm.state)return Z_STREAM_ERROR;if(s=strm.state,wrap=s.wrap,wrap===2||wrap===1&&s.status!==INIT_STATE||s.lookahead)return Z_STREAM_ERROR;if(wrap===1)strm.adler=adler32(strm.adler,dictionary,dictLength,0);if(s.wrap=0,dictLength>=s.w_size){if(wrap===0)zero(s.head),s.strstart=0,s.block_start=0,s.insert=0;tmpDict=new utils.Buf8(s.w_size),utils.arraySet(tmpDict,dictionary,dictLength-s.w_size,s.w_size,0),dictionary=tmpDict,dictLength=s.w_size}avail=strm.avail_in,next=strm.next_in,input=strm.input,strm.avail_in=dictLength,strm.next_in=0,strm.input=dictionary,fill_window(s);while(s.lookahead>=MIN_MATCH){str=s.strstart,n=s.lookahead-(MIN_MATCH-1);do s.ins_h=(s.ins_h<<s.hash_shift^s.window[str+MIN_MATCH-1])&s.hash_mask,s.prev[str&s.w_mask]=s.head[s.ins_h],s.head[s.ins_h]=str,str++;while(--n);s.strstart=str,s.lookahead=MIN_MATCH-1,fill_window(s)}return s.strstart+=s.lookahead,s.block_start=s.strstart,s.insert=s.lookahead,s.lookahead=0,s.match_length=s.prev_length=MIN_MATCH-1,s.match_available=0,strm.next_in=next,strm.input=input,strm.avail_in=avail,s.wrap=wrap,Z_OK}exports.deflateInit=deflateInit,exports.deflateInit2=deflateInit2,exports.deflateReset=deflateReset,exports.deflateResetKeep=deflateResetKeep,exports.deflateSetHeader=deflateSetHeader,exports.deflate=deflate,exports.deflateEnd=deflateEnd,exports.deflateSetDictionary=deflateSetDictionary,exports.deflateInfo=\"pako deflate (from Nodeca project)\"}}),require_inffast=__commonJS({\"node_modules/pako/lib/zlib/inffast.js\"(exports,module2){var BAD=30,TYPE=12;module2.exports=function inflate_fast(strm,start){var state,_in,last,_out,beg,end,dmax,wsize,whave,wnext,s_window,hold,bits,lcode,dcode,lmask,dmask,here,op,len,dist,from,from_source,input,output;state=strm.state,_in=strm.next_in,input=strm.input,last=_in+(strm.avail_in-5),_out=strm.next_out,output=strm.output,beg=_out-(start-strm.avail_out),end=_out+(strm.avail_out-257),dmax=state.dmax,wsize=state.wsize,whave=state.whave,wnext=state.wnext,s_window=state.window,hold=state.hold,bits=state.bits,lcode=state.lencode,dcode=state.distcode,lmask=(1<<state.lenbits)-1,dmask=(1<<state.distbits)-1;top:do{if(bits<15)hold+=input[_in++]<<bits,bits+=8,hold+=input[_in++]<<bits,bits+=8;here=lcode[hold&lmask];dolen:for(;;){if(op=here>>>24,hold>>>=op,bits-=op,op=here>>>16&255,op===0)output[_out++]=here&65535;else if(op&16){if(len=here&65535,op&=15,op){if(bits<op)hold+=input[_in++]<<bits,bits+=8;len+=hold&(1<<op)-1,hold>>>=op,bits-=op}if(bits<15)hold+=input[_in++]<<bits,bits+=8,hold+=input[_in++]<<bits,bits+=8;here=dcode[hold&dmask];dodist:for(;;){if(op=here>>>24,hold>>>=op,bits-=op,op=here>>>16&255,op&16){if(dist=here&65535,op&=15,bits<op){if(hold+=input[_in++]<<bits,bits+=8,bits<op)hold+=input[_in++]<<bits,bits+=8}if(dist+=hold&(1<<op)-1,dist>dmax){strm.msg=\"invalid distance too far back\",state.mode=BAD;break top}if(hold>>>=op,bits-=op,op=_out-beg,dist>op){if(op=dist-op,op>whave){if(state.sane){strm.msg=\"invalid distance too far back\",state.mode=BAD;break top}}if(from=0,from_source=s_window,wnext===0){if(from+=wsize-op,op<len){len-=op;do output[_out++]=s_window[from++];while(--op);from=_out-dist,from_source=output}}else if(wnext<op){if(from+=wsize+wnext-op,op-=wnext,op<len){len-=op;do output[_out++]=s_window[from++];while(--op);if(from=0,wnext<len){op=wnext,len-=op;do output[_out++]=s_window[from++];while(--op);from=_out-dist,from_source=output}}}else if(from+=wnext-op,op<len){len-=op;do output[_out++]=s_window[from++];while(--op);from=_out-dist,from_source=output}while(len>2)output[_out++]=from_source[from++],output[_out++]=from_source[from++],output[_out++]=from_source[from++],len-=3;if(len){if(output[_out++]=from_source[from++],len>1)output[_out++]=from_source[from++]}}else{from=_out-dist;do output[_out++]=output[from++],output[_out++]=output[from++],output[_out++]=output[from++],len-=3;while(len>2);if(len){if(output[_out++]=output[from++],len>1)output[_out++]=output[from++]}}}else if((op&64)===0){here=dcode[(here&65535)+(hold&(1<<op)-1)];continue dodist}else{strm.msg=\"invalid distance code\",state.mode=BAD;break top}break}}else if((op&64)===0){here=lcode[(here&65535)+(hold&(1<<op)-1)];continue dolen}else if(op&32){state.mode=TYPE;break top}else{strm.msg=\"invalid literal/length code\",state.mode=BAD;break top}break}}while(_in<last&&_out<end);len=bits>>3,_in-=len,bits-=len<<3,hold&=(1<<bits)-1,strm.next_in=_in,strm.next_out=_out,strm.avail_in=_in<last\?5+(last-_in):5-(_in-last),strm.avail_out=_out<end\?257+(end-_out):257-(_out-end),state.hold=hold,state.bits=bits;return}}}),require_inftrees=__commonJS({\"node_modules/pako/lib/zlib/inftrees.js\"(exports,module2){var utils=require_common(),MAXBITS=15,ENOUGH_LENS=852,ENOUGH_DISTS=592,CODES=0,LENS=1,DISTS=2,lbase=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],lext=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],dbase=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],dext=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];module2.exports=function inflate_table(type,lens,lens_index,codes,table,table_index,work,opts){var bits=opts.bits,len=0,sym=0,min=0,max=0,root=0,curr=0,drop=0,left=0,used=0,huff=0,incr,fill,low,mask,next,base=null,base_index=0,end,count=new utils.Buf16(MAXBITS+1),offs=new utils.Buf16(MAXBITS+1),extra=null,extra_index=0,here_bits,here_op,here_val;for(len=0;len<=MAXBITS;len++)count[len]=0;for(sym=0;sym<codes;sym++)count[lens[lens_index+sym]]++;root=bits;for(max=MAXBITS;max>=1;max--)if(count[max]!==0)break;if(root>max)root=max;if(max===0)return table[table_index++]=1<<24|64<<16|0,table[table_index++]=1<<24|64<<16|0,opts.bits=1,0;for(min=1;min<max;min++)if(count[min]!==0)break;if(root<min)root=min;left=1;for(len=1;len<=MAXBITS;len++)if(left<<=1,left-=count[len],left<0)return-1;if(left>0&&(type===CODES||max!==1))return-1;offs[1]=0;for(len=1;len<MAXBITS;len++)offs[len+1]=offs[len]+count[len];for(sym=0;sym<codes;sym++)if(lens[lens_index+sym]!==0)work[offs[lens[lens_index+sym]]++]=sym;if(type===CODES)base=extra=work,end=19;else if(type===LENS)base=lbase,base_index-=257,extra=lext,extra_index-=257,end=256;else base=dbase,extra=dext,end=-1;if(huff=0,sym=0,len=min,next=table_index,curr=root,drop=0,low=-1,used=1<<root,mask=used-1,type===LENS&&used>ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS)return 1;for(;;){if(here_bits=len-drop,work[sym]<end)here_op=0,here_val=work[sym];else if(work[sym]>end)here_op=extra[extra_index+work[sym]],here_val=base[base_index+work[sym]];else here_op=96,here_val=0;incr=1<<len-drop,fill=1<<curr,min=fill;do fill-=incr,table[next+(huff>>drop)+fill]=here_bits<<24|here_op<<16|here_val|0;while(fill!==0);incr=1<<len-1;while(huff&incr)incr>>=1;if(incr!==0)huff&=incr-1,huff+=incr;else huff=0;if(sym++,--count[len]===0){if(len===max)break;len=lens[lens_index+work[sym]]}if(len>root&&(huff&mask)!==low){if(drop===0)drop=root;next+=min,curr=len-drop,left=1<<curr;while(curr+drop<max){if(left-=count[curr+drop],left<=0)break;curr++,left<<=1}if(used+=1<<curr,type===LENS&&used>ENOUGH_LENS||type===DISTS&&used>ENOUGH_DISTS)return 1;low=huff&mask,table[low]=root<<24|curr<<16|next-table_index|0}}if(huff!==0)table[next+huff]=len-drop<<24|64<<16|0;return opts.bits=root,0}}}),require_inflate=__commonJS({\"node_modules/pako/lib/zlib/inflate.js\"(exports){var utils=require_common(),adler32=require_adler32(),crc32=require_crc32(),inflate_fast=require_inffast(),inflate_table=require_inftrees(),CODES=0,LENS=1,DISTS=2,Z_FINISH=4,Z_BLOCK=5,Z_TREES=6,Z_OK=0,Z_STREAM_END=1,Z_NEED_DICT=2,Z_STREAM_ERROR=-2,Z_DATA_ERROR=-3,Z_MEM_ERROR=-4,Z_BUF_ERROR=-5,Z_DEFLATED=8,HEAD=1,FLAGS=2,TIME=3,OS=4,EXLEN=5,EXTRA=6,NAME=7,COMMENT=8,HCRC=9,DICTID=10,DICT=11,TYPE=12,TYPEDO=13,STORED=14,COPY_=15,COPY=16,TABLE=17,LENLENS=18,CODELENS=19,LEN_=20,LEN=21,LENEXT=22,DIST=23,DISTEXT=24,MATCH=25,LIT=26,CHECK=27,LENGTH=28,DONE=29,BAD=30,MEM=31,SYNC=32,ENOUGH_LENS=852,ENOUGH_DISTS=592,MAX_WBITS=15,DEF_WBITS=MAX_WBITS;function zswap32(q){return(q>>>24&255)+(q>>>8&65280)+((q&65280)<<8)+((q&255)<<24)}function InflateState(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new utils.Buf16(320),this.work=new utils.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function inflateResetKeep(strm){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,strm.total_in=strm.total_out=state.total=0,strm.msg=\"\",state.wrap)strm.adler=state.wrap&1;return state.mode=HEAD,state.last=0,state.havedict=0,state.dmax=32768,state.head=null,state.hold=0,state.bits=0,state.lencode=state.lendyn=new utils.Buf32(ENOUGH_LENS),state.distcode=state.distdyn=new utils.Buf32(ENOUGH_DISTS),state.sane=1,state.back=-1,Z_OK}function inflateReset(strm){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;return state=strm.state,state.wsize=0,state.whave=0,state.wnext=0,inflateResetKeep(strm)}function inflateReset2(strm,windowBits){var wrap,state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,windowBits<0)wrap=0,windowBits=-windowBits;else if(wrap=(windowBits>>4)+1,windowBits<48)windowBits&=15;if(windowBits&&(windowBits<8||windowBits>15))return Z_STREAM_ERROR;if(state.window!==null&&state.wbits!==windowBits)state.window=null;return state.wrap=wrap,state.wbits=windowBits,inflateReset(strm)}function inflateInit2(strm,windowBits){var ret,state;if(!strm)return Z_STREAM_ERROR;if(state=new InflateState,strm.state=state,state.window=null,ret=inflateReset2(strm,windowBits),ret!==Z_OK)strm.state=null;return ret}function inflateInit(strm){return inflateInit2(strm,DEF_WBITS)}var virgin=!0,lenfix,distfix;function fixedtables(state){if(virgin){var sym;lenfix=new utils.Buf32(512),distfix=new utils.Buf32(32),sym=0;while(sym<144)state.lens[sym++]=8;while(sym<256)state.lens[sym++]=9;while(sym<280)state.lens[sym++]=7;while(sym<288)state.lens[sym++]=8;inflate_table(LENS,state.lens,0,288,lenfix,0,state.work,{bits:9}),sym=0;while(sym<32)state.lens[sym++]=5;inflate_table(DISTS,state.lens,0,32,distfix,0,state.work,{bits:5}),virgin=!1}state.lencode=lenfix,state.lenbits=9,state.distcode=distfix,state.distbits=5}function updatewindow(strm,src,end,copy){var dist,state=strm.state;if(state.window===null)state.wsize=1<<state.wbits,state.wnext=0,state.whave=0,state.window=new utils.Buf8(state.wsize);if(copy>=state.wsize)utils.arraySet(state.window,src,end-state.wsize,state.wsize,0),state.wnext=0,state.whave=state.wsize;else{if(dist=state.wsize-state.wnext,dist>copy)dist=copy;if(utils.arraySet(state.window,src,end-copy,dist,state.wnext),copy-=dist,copy)utils.arraySet(state.window,src,end-copy,copy,0),state.wnext=copy,state.whave=state.wsize;else{if(state.wnext+=dist,state.wnext===state.wsize)state.wnext=0;if(state.whave<state.wsize)state.whave+=dist}}return 0}function inflate(strm,flush){var state,input,output,next,put,have,left,hold,bits,_in,_out,copy,from,from_source,here=0,here_bits,here_op,here_val,last_bits,last_op,last_val,len,ret,hbuf=new utils.Buf8(4),opts,n,order=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!strm||!strm.state||!strm.output||!strm.input&&strm.avail_in!==0)return Z_STREAM_ERROR;if(state=strm.state,state.mode===TYPE)state.mode=TYPEDO;put=strm.next_out,output=strm.output,left=strm.avail_out,next=strm.next_in,input=strm.input,have=strm.avail_in,hold=state.hold,bits=state.bits,_in=have,_out=left,ret=Z_OK;inf_leave:for(;;)switch(state.mode){case HEAD:if(state.wrap===0){state.mode=TYPEDO;break}while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.wrap&2&&hold===35615){state.check=0,hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0),hold=0,bits=0,state.mode=FLAGS;break}if(state.flags=0,state.head)state.head.done=!1;if(!(state.wrap&1)||(((hold&255)<<8)+(hold>>8))%31){strm.msg=\"incorrect header check\",state.mode=BAD;break}if((hold&15)!==Z_DEFLATED){strm.msg=\"unknown compression method\",state.mode=BAD;break}if(hold>>>=4,bits-=4,len=(hold&15)+8,state.wbits===0)state.wbits=len;else if(len>state.wbits){strm.msg=\"invalid window size\",state.mode=BAD;break}state.dmax=1<<len,strm.adler=state.check=1,state.mode=hold&512\?DICTID:TYPE,hold=0,bits=0;break;case FLAGS:while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.flags=hold,(state.flags&255)!==Z_DEFLATED){strm.msg=\"unknown compression method\",state.mode=BAD;break}if(state.flags&57344){strm.msg=\"unknown header flags set\",state.mode=BAD;break}if(state.head)state.head.text=hold>>8&1;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0,state.mode=TIME;case TIME:while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.head)state.head.time=hold;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,hbuf[2]=hold>>>16&255,hbuf[3]=hold>>>24&255,state.check=crc32(state.check,hbuf,4,0);hold=0,bits=0,state.mode=OS;case OS:while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.head)state.head.xflags=hold&255,state.head.os=hold>>8;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0,state.mode=EXLEN;case EXLEN:if(state.flags&1024){while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.length=hold,state.head)state.head.extra_len=hold;if(state.flags&512)hbuf[0]=hold&255,hbuf[1]=hold>>>8&255,state.check=crc32(state.check,hbuf,2,0);hold=0,bits=0}else if(state.head)state.head.extra=null;state.mode=EXTRA;case EXTRA:if(state.flags&1024){if(copy=state.length,copy>have)copy=have;if(copy){if(state.head){if(len=state.head.extra_len-state.length,!state.head.extra)state.head.extra=new Array(state.head.extra_len);utils.arraySet(state.head.extra,input,next,copy,len)}if(state.flags&512)state.check=crc32(state.check,input,copy,next);have-=copy,next+=copy,state.length-=copy}if(state.length)break inf_leave}state.length=0,state.mode=NAME;case NAME:if(state.flags&2048){if(have===0)break inf_leave;copy=0;do if(len=input[next+copy++],state.head&&len&&state.length<65536)state.head.name+=String.fromCharCode(len);while(len&&copy<have);if(state.flags&512)state.check=crc32(state.check,input,copy,next);if(have-=copy,next+=copy,len)break inf_leave}else if(state.head)state.head.name=null;state.length=0,state.mode=COMMENT;case COMMENT:if(state.flags&4096){if(have===0)break inf_leave;copy=0;do if(len=input[next+copy++],state.head&&len&&state.length<65536)state.head.comment+=String.fromCharCode(len);while(len&&copy<have);if(state.flags&512)state.check=crc32(state.check,input,copy,next);if(have-=copy,next+=copy,len)break inf_leave}else if(state.head)state.head.comment=null;state.mode=HCRC;case HCRC:if(state.flags&512){while(bits<16){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(hold!==(state.check&65535)){strm.msg=\"header crc mismatch\",state.mode=BAD;break}hold=0,bits=0}if(state.head)state.head.hcrc=state.flags>>9&1,state.head.done=!0;strm.adler=state.check=0,state.mode=TYPE;break;case DICTID:while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}strm.adler=state.check=zswap32(hold),hold=0,bits=0,state.mode=DICT;case DICT:if(state.havedict===0)return strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,Z_NEED_DICT;strm.adler=state.check=1,state.mode=TYPE;case TYPE:if(flush===Z_BLOCK||flush===Z_TREES)break inf_leave;case TYPEDO:if(state.last){hold>>>=bits&7,bits-=bits&7,state.mode=CHECK;break}while(bits<3){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}switch(state.last=hold&1,hold>>>=1,bits-=1,hold&3){case 0:state.mode=STORED;break;case 1:if(fixedtables(state),state.mode=LEN_,flush===Z_TREES){hold>>>=2,bits-=2;break inf_leave}break;case 2:state.mode=TABLE;break;case 3:strm.msg=\"invalid block type\",state.mode=BAD}hold>>>=2,bits-=2;break;case STORED:hold>>>=bits&7,bits-=bits&7;while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if((hold&65535)!==(hold>>>16^65535)){strm.msg=\"invalid stored block lengths\",state.mode=BAD;break}if(state.length=hold&65535,hold=0,bits=0,state.mode=COPY_,flush===Z_TREES)break inf_leave;case COPY_:state.mode=COPY;case COPY:if(copy=state.length,copy){if(copy>have)copy=have;if(copy>left)copy=left;if(copy===0)break inf_leave;utils.arraySet(output,input,next,copy,put),have-=copy,next+=copy,left-=copy,put+=copy,state.length-=copy;break}state.mode=TYPE;break;case TABLE:while(bits<14){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(state.nlen=(hold&31)+257,hold>>>=5,bits-=5,state.ndist=(hold&31)+1,hold>>>=5,bits-=5,state.ncode=(hold&15)+4,hold>>>=4,bits-=4,state.nlen>286||state.ndist>30){strm.msg=\"too many length or distance symbols\",state.mode=BAD;break}state.have=0,state.mode=LENLENS;case LENLENS:while(state.have<state.ncode){while(bits<3){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.lens[order[state.have++]]=hold&7,hold>>>=3,bits-=3}while(state.have<19)state.lens[order[state.have++]]=0;if(state.lencode=state.lendyn,state.lenbits=7,opts={bits:state.lenbits},ret=inflate_table(CODES,state.lens,0,19,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg=\"invalid code lengths set\",state.mode=BAD;break}state.have=0,state.mode=CODELENS;case CODELENS:while(state.have<state.nlen+state.ndist){for(;;){if(here=state.lencode[hold&(1<<state.lenbits)-1],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(here_val<16)hold>>>=here_bits,bits-=here_bits,state.lens[state.have++]=here_val;else{if(here_val===16){n=here_bits+2;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(hold>>>=here_bits,bits-=here_bits,state.have===0){strm.msg=\"invalid bit length repeat\",state.mode=BAD;break}len=state.lens[state.have-1],copy=3+(hold&3),hold>>>=2,bits-=2}else if(here_val===17){n=here_bits+3;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=here_bits,bits-=here_bits,len=0,copy=3+(hold&7),hold>>>=3,bits-=3}else{n=here_bits+7;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=here_bits,bits-=here_bits,len=0,copy=11+(hold&127),hold>>>=7,bits-=7}if(state.have+copy>state.nlen+state.ndist){strm.msg=\"invalid bit length repeat\",state.mode=BAD;break}while(copy--)state.lens[state.have++]=len}}if(state.mode===BAD)break;if(state.lens[256]===0){strm.msg=\"invalid code -- missing end-of-block\",state.mode=BAD;break}if(state.lenbits=9,opts={bits:state.lenbits},ret=inflate_table(LENS,state.lens,0,state.nlen,state.lencode,0,state.work,opts),state.lenbits=opts.bits,ret){strm.msg=\"invalid literal/lengths set\",state.mode=BAD;break}if(state.distbits=6,state.distcode=state.distdyn,opts={bits:state.distbits},ret=inflate_table(DISTS,state.lens,state.nlen,state.ndist,state.distcode,0,state.work,opts),state.distbits=opts.bits,ret){strm.msg=\"invalid distances set\",state.mode=BAD;break}if(state.mode=LEN_,flush===Z_TREES)break inf_leave;case LEN_:state.mode=LEN;case LEN:if(have>=6&&left>=258){if(strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,inflate_fast(strm,_out),put=strm.next_out,output=strm.output,left=strm.avail_out,next=strm.next_in,input=strm.input,have=strm.avail_in,hold=state.hold,bits=state.bits,state.mode===TYPE)state.back=-1;break}state.back=0;for(;;){if(here=state.lencode[hold&(1<<state.lenbits)-1],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(here_op&&(here_op&240)===0){last_bits=here_bits,last_op=here_op,last_val=here_val;for(;;){if(here=state.lencode[last_val+((hold&(1<<last_bits+last_op)-1)>>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,last_bits+here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,state.length=here_val,here_op===0){state.mode=LIT;break}if(here_op&32){state.back=-1,state.mode=TYPE;break}if(here_op&64){strm.msg=\"invalid literal/length code\",state.mode=BAD;break}state.extra=here_op&15,state.mode=LENEXT;case LENEXT:if(state.extra){n=state.extra;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.length+=hold&(1<<state.extra)-1,hold>>>=state.extra,bits-=state.extra,state.back+=state.extra}state.was=state.length,state.mode=DIST;case DIST:for(;;){if(here=state.distcode[hold&(1<<state.distbits)-1],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if((here_op&240)===0){last_bits=here_bits,last_op=here_op,last_val=here_val;for(;;){if(here=state.distcode[last_val+((hold&(1<<last_bits+last_op)-1)>>last_bits)],here_bits=here>>>24,here_op=here>>>16&255,here_val=here&65535,last_bits+here_bits<=bits)break;if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}hold>>>=last_bits,bits-=last_bits,state.back+=last_bits}if(hold>>>=here_bits,bits-=here_bits,state.back+=here_bits,here_op&64){strm.msg=\"invalid distance code\",state.mode=BAD;break}state.offset=here_val,state.extra=here_op&15,state.mode=DISTEXT;case DISTEXT:if(state.extra){n=state.extra;while(bits<n){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}state.offset+=hold&(1<<state.extra)-1,hold>>>=state.extra,bits-=state.extra,state.back+=state.extra}if(state.offset>state.dmax){strm.msg=\"invalid distance too far back\",state.mode=BAD;break}state.mode=MATCH;case MATCH:if(left===0)break inf_leave;if(copy=_out-left,state.offset>copy){if(copy=state.offset-copy,copy>state.whave){if(state.sane){strm.msg=\"invalid distance too far back\",state.mode=BAD;break}}if(copy>state.wnext)copy-=state.wnext,from=state.wsize-copy;else from=state.wnext-copy;if(copy>state.length)copy=state.length;from_source=state.window}else from_source=output,from=put-state.offset,copy=state.length;if(copy>left)copy=left;left-=copy,state.length-=copy;do output[put++]=from_source[from++];while(--copy);if(state.length===0)state.mode=LEN;break;case LIT:if(left===0)break inf_leave;output[put++]=state.length,left--,state.mode=LEN;break;case CHECK:if(state.wrap){while(bits<32){if(have===0)break inf_leave;have--,hold|=input[next++]<<bits,bits+=8}if(_out-=left,strm.total_out+=_out,state.total+=_out,_out)strm.adler=state.check=state.flags\?crc32(state.check,output,_out,put-_out):adler32(state.check,output,_out,put-_out);if(_out=left,(state.flags\?hold:zswap32(hold))!==state.check){strm.msg=\"incorrect data check\",state.mode=BAD;break}hold=0,bits=0}state.mode=LENGTH;case LENGTH:if(state.wrap&&state.flags){while(bits<32){if(have===0)break inf_leave;have--,hold+=input[next++]<<bits,bits+=8}if(hold!==(state.total&4294967295)){strm.msg=\"incorrect length check\",state.mode=BAD;break}hold=0,bits=0}state.mode=DONE;case DONE:ret=Z_STREAM_END;break inf_leave;case BAD:ret=Z_DATA_ERROR;break inf_leave;case MEM:return Z_MEM_ERROR;case SYNC:default:return Z_STREAM_ERROR}if(strm.next_out=put,strm.avail_out=left,strm.next_in=next,strm.avail_in=have,state.hold=hold,state.bits=bits,state.wsize||_out!==strm.avail_out&&state.mode<BAD&&(state.mode<CHECK||flush!==Z_FINISH)){if(updatewindow(strm,strm.output,strm.next_out,_out-strm.avail_out))return state.mode=MEM,Z_MEM_ERROR}if(_in-=strm.avail_in,_out-=strm.avail_out,strm.total_in+=_in,strm.total_out+=_out,state.total+=_out,state.wrap&&_out)strm.adler=state.check=state.flags\?crc32(state.check,output,_out,strm.next_out-_out):adler32(state.check,output,_out,strm.next_out-_out);if(strm.data_type=state.bits+(state.last\?64:0)+(state.mode===TYPE\?128:0)+(state.mode===LEN_||state.mode===COPY_\?256:0),(_in===0&&_out===0||flush===Z_FINISH)&&ret===Z_OK)ret=Z_BUF_ERROR;return ret}function inflateEnd(strm){if(!strm||!strm.state)return Z_STREAM_ERROR;var state=strm.state;if(state.window)state.window=null;return strm.state=null,Z_OK}function inflateGetHeader(strm,head){var state;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,(state.wrap&2)===0)return Z_STREAM_ERROR;return state.head=head,head.done=!1,Z_OK}function inflateSetDictionary(strm,dictionary){var dictLength=dictionary.length,state,dictid,ret;if(!strm||!strm.state)return Z_STREAM_ERROR;if(state=strm.state,state.wrap!==0&&state.mode!==DICT)return Z_STREAM_ERROR;if(state.mode===DICT){if(dictid=1,dictid=adler32(dictid,dictionary,dictLength,0),dictid!==state.check)return Z_DATA_ERROR}if(ret=updatewindow(strm,dictionary,dictLength,dictLength),ret)return state.mode=MEM,Z_MEM_ERROR;return state.havedict=1,Z_OK}exports.inflateReset=inflateReset,exports.inflateReset2=inflateReset2,exports.inflateResetKeep=inflateResetKeep,exports.inflateInit=inflateInit,exports.inflateInit2=inflateInit2,exports.inflate=inflate,exports.inflateEnd=inflateEnd,exports.inflateGetHeader=inflateGetHeader,exports.inflateSetDictionary=inflateSetDictionary,exports.inflateInfo=\"pako inflate (from Nodeca project)\"}}),require_constants=__commonJS({\"node_modules/pako/lib/zlib/constants.js\"(exports,module2){module2.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}}}),require_binding=__commonJS({\"node_modules/browserify-zlib/lib/binding.js\"(exports){var Zstream=require_zstream(),zlib_deflate=require_deflate(),zlib_inflate=require_inflate(),constants=require_constants();for(key in constants)exports[key]=constants[key];var key;exports.NONE=0,exports.DEFLATE=1,exports.INFLATE=2,exports.GZIP=3,exports.GUNZIP=4,exports.DEFLATERAW=5,exports.INFLATERAW=6,exports.UNZIP=7;var GZIP_HEADER_ID1=31,GZIP_HEADER_ID2=139;function Zlib(mode){if(typeof mode!==\"number\"||mode<exports.DEFLATE||mode>exports.UNZIP)@throwTypeError(\"Bad argument\");this.dictionary=null,this.err=0,this.flush=0,this.init_done=!1,this.level=0,this.memLevel=0,this.mode=mode,this.strategy=0,this.windowBits=0,this.write_in_progress=!1,this.pending_close=!1,this.gzip_id_bytes_read=0}Zlib.prototype={},Zlib.prototype.close=function(){if(this.write_in_progress){this.pending_close=!0;return}if(this.pending_close=!1,assert(this.init_done,\"close before init\"),assert(this.mode<=exports.UNZIP),this.mode===exports.DEFLATE||this.mode===exports.GZIP||this.mode===exports.DEFLATERAW)zlib_deflate.deflateEnd(this.strm);else if(this.mode===exports.INFLATE||this.mode===exports.GUNZIP||this.mode===exports.INFLATERAW||this.mode===exports.UNZIP)zlib_inflate.inflateEnd(this.strm);this.mode=exports.NONE,this.dictionary=null},Zlib.prototype.write=function(flush,input,in_off,in_len,out,out_off,out_len){return this._write(!0,flush,input,in_off,in_len,out,out_off,out_len)},Zlib.prototype.writeSync=function(flush,input,in_off,in_len,out,out_off,out_len){return this._write(!1,flush,input,in_off,in_len,out,out_off,out_len)},Zlib.prototype._write=function(async,flush,input,in_off,in_len,out,out_off,out_len){if(assert.equal(arguments.length,8),assert(this.init_done,\"write before init\"),assert(this.mode!==exports.NONE,\"already finalized\"),assert.equal(!1,this.write_in_progress,\"write already in progress\"),assert.equal(!1,this.pending_close,\"close is pending\"),this.write_in_progress=!0,assert.equal(!1,flush===void 0,\"must provide flush value\"),this.write_in_progress=!0,flush!==exports.Z_NO_FLUSH&&flush!==exports.Z_PARTIAL_FLUSH&&flush!==exports.Z_SYNC_FLUSH&&flush!==exports.Z_FULL_FLUSH&&flush!==exports.Z_FINISH&&flush!==exports.Z_BLOCK)throw new Error(\"Invalid flush value\");if(input==null)input=Buffer.alloc(0),in_len=0,in_off=0;if(this.strm.avail_in=in_len,this.strm.input=input,this.strm.next_in=in_off,this.strm.avail_out=out_len,this.strm.output=out,this.strm.next_out=out_off,this.flush=flush,!async){if(this._process(),this._checkError())return this._afterSync();return}var self=this;return process.nextTick(function(){self._process(),self._after()}),this},Zlib.prototype._afterSync=function(){var avail_out=this.strm.avail_out,avail_in=this.strm.avail_in;return this.write_in_progress=!1,[avail_in,avail_out]},Zlib.prototype._process=function(){var next_expected_header_byte=null;switch(this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:this.err=zlib_deflate.deflate(this.strm,this.flush);break;case exports.UNZIP:if(this.strm.avail_in>0)next_expected_header_byte=this.strm.next_in;switch(this.gzip_id_bytes_read){case 0:if(next_expected_header_byte===null)break;if(this.strm.input[next_expected_header_byte]===GZIP_HEADER_ID1){if(this.gzip_id_bytes_read=1,next_expected_header_byte++,this.strm.avail_in===1)break}else{this.mode=exports.INFLATE;break}case 1:if(next_expected_header_byte===null)break;if(this.strm.input[next_expected_header_byte]===GZIP_HEADER_ID2)this.gzip_id_bytes_read=2,this.mode=exports.GUNZIP;else this.mode=exports.INFLATE;break;default:throw new Error(\"invalid number of gzip magic number bytes read\")}case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:if(this.err=zlib_inflate.inflate(this.strm,this.flush),this.err===exports.Z_NEED_DICT&&this.dictionary){if(this.err=zlib_inflate.inflateSetDictionary(this.strm,this.dictionary),this.err===exports.Z_OK)this.err=zlib_inflate.inflate(this.strm,this.flush);else if(this.err===exports.Z_DATA_ERROR)this.err=exports.Z_NEED_DICT}while(this.strm.avail_in>0&&this.mode===exports.GUNZIP&&this.err===exports.Z_STREAM_END&&this.strm.next_in[0]!==0)this.reset(),this.err=zlib_inflate.inflate(this.strm,this.flush);break;default:throw new Error(\"Unknown mode \"+this.mode)}},Zlib.prototype._checkError=function(){switch(this.err){case exports.Z_OK:case exports.Z_BUF_ERROR:if(this.strm.avail_out!==0&&this.flush===exports.Z_FINISH)return this._error(\"unexpected end of file\"),!1;break;case exports.Z_STREAM_END:break;case exports.Z_NEED_DICT:if(this.dictionary==null)this._error(\"Missing dictionary\");else this._error(\"Bad dictionary\");return!1;default:return this._error(\"Zlib error\"),!1}return!0},Zlib.prototype._after=function(){if(!this._checkError())return;var avail_out=this.strm.avail_out,avail_in=this.strm.avail_in;if(this.write_in_progress=!1,this.callback(avail_in,avail_out),this.pending_close)this.close()},Zlib.prototype._error=function(message){if(this.strm.msg)message=this.strm.msg;if(this.onerror(message,this.err),this.write_in_progress=!1,this.pending_close)this.close()},Zlib.prototype.init=function(windowBits,level,memLevel,strategy,dictionary){assert(arguments.length===4||arguments.length===5,\"init(windowBits, level, memLevel, strategy, [dictionary])\"),assert(windowBits>=8&&windowBits<=15,\"invalid windowBits\"),assert(level>=-1&&level<=9,\"invalid compression level\"),assert(memLevel>=1&&memLevel<=9,\"invalid memlevel\"),assert(strategy===exports.Z_FILTERED||strategy===exports.Z_HUFFMAN_ONLY||strategy===exports.Z_RLE||strategy===exports.Z_FIXED||strategy===exports.Z_DEFAULT_STRATEGY,\"invalid strategy\"),this._init(level,windowBits,memLevel,strategy,dictionary),this._setDictionary()},Zlib.prototype.params=function(){throw new Error(\"deflateParams Not supported\")},Zlib.prototype.reset=function(){this._reset(),this._setDictionary()},Zlib.prototype._init=function(level,windowBits,memLevel,strategy,dictionary){if(this.level=level,this.windowBits=windowBits,this.memLevel=memLevel,this.strategy=strategy,this.flush=exports.Z_NO_FLUSH,this.err=exports.Z_OK,this.mode===exports.GZIP||this.mode===exports.GUNZIP)this.windowBits+=16;if(this.mode===exports.UNZIP)this.windowBits+=32;if(this.mode===exports.DEFLATERAW||this.mode===exports.INFLATERAW)this.windowBits=-1*this.windowBits;switch(this.strm=new Zstream,this.mode){case exports.DEFLATE:case exports.GZIP:case exports.DEFLATERAW:this.err=zlib_deflate.deflateInit2(this.strm,this.level,exports.Z_DEFLATED,this.windowBits,this.memLevel,this.strategy);break;case exports.INFLATE:case exports.GUNZIP:case exports.INFLATERAW:case exports.UNZIP:this.err=zlib_inflate.inflateInit2(this.strm,this.windowBits);break;default:throw new Error(\"Unknown mode \"+this.mode)}if(this.err!==exports.Z_OK)this._error(\"Init error\");this.dictionary=dictionary,this.write_in_progress=!1,this.init_done=!0},Zlib.prototype._setDictionary=function(){if(this.dictionary==null)return;switch(this.err=exports.Z_OK,this.mode){case exports.DEFLATE:case exports.DEFLATERAW:this.err=zlib_deflate.deflateSetDictionary(this.strm,this.dictionary);break;default:break}if(this.err!==exports.Z_OK)this._error(\"Failed to set dictionary\")},Zlib.prototype._reset=function(){switch(this.err=exports.Z_OK,this.mode){case exports.DEFLATE:case exports.DEFLATERAW:case exports.GZIP:this.err=zlib_deflate.deflateReset(this.strm);break;case exports.INFLATE:case exports.INFLATERAW:case exports.GUNZIP:this.err=zlib_inflate.inflateReset(this.strm);break;default:break}if(this.err!==exports.Z_OK)this._error(\"Failed to reset stream\")},exports.Zlib=Zlib}}),require_lib=__commonJS({\"node_modules/browserify-zlib/lib/index.js\"(exports){var Buffer2=BufferModule.Buffer,Transform=StreamModule.Transform,binding=require_binding(),util=Util,kMaxLength=BufferModule.kMaxLength,kRangeErrorMessage=\"Cannot create final Buffer. It would be larger than 0x\"+kMaxLength.toString(16)+\" bytes\";binding.Z_MIN_WINDOWBITS=8,binding.Z_MAX_WINDOWBITS=15,binding.Z_DEFAULT_WINDOWBITS=15,binding.Z_MIN_CHUNK=64,binding.Z_MAX_CHUNK=Infinity,binding.Z_DEFAULT_CHUNK=16384,binding.Z_MIN_MEMLEVEL=1,binding.Z_MAX_MEMLEVEL=9,binding.Z_DEFAULT_MEMLEVEL=8,binding.Z_MIN_LEVEL=-1,binding.Z_MAX_LEVEL=9,binding.Z_DEFAULT_LEVEL=binding.Z_DEFAULT_COMPRESSION;var bkeys=Object.keys(binding);for(bk=0;bk<bkeys.length;bk++)if(bkey=bkeys[bk],bkey.match(/^Z/))Object.defineProperty(exports,bkey,{enumerable:!0,value:binding[bkey],writable:!1});var bkey,bk,codes={Z_OK:binding.Z_OK,Z_STREAM_END:binding.Z_STREAM_END,Z_NEED_DICT:binding.Z_NEED_DICT,Z_ERRNO:binding.Z_ERRNO,Z_STREAM_ERROR:binding.Z_STREAM_ERROR,Z_DATA_ERROR:binding.Z_DATA_ERROR,Z_MEM_ERROR:binding.Z_MEM_ERROR,Z_BUF_ERROR:binding.Z_BUF_ERROR,Z_VERSION_ERROR:binding.Z_VERSION_ERROR},ckeys=Object.keys(codes);for(ck=0;ck<ckeys.length;ck++)ckey=ckeys[ck],codes[codes[ckey]]=ckey;var ckey,ck;Object.defineProperty(exports,\"codes\",{enumerable:!0,value:Object.freeze(codes),writable:!1}),exports.constants=require_constants(),exports.Deflate=Deflate,exports.Inflate=Inflate,exports.Gzip=Gzip,exports.Gunzip=Gunzip,exports.DeflateRaw=DeflateRaw,exports.InflateRaw=InflateRaw,exports.Unzip=Unzip,exports.createDeflate=function(o){return new Deflate(o)},exports.createInflate=function(o){return new Inflate(o)},exports.createDeflateRaw=function(o){return new DeflateRaw(o)},exports.createInflateRaw=function(o){return new InflateRaw(o)},exports.createGzip=function(o){return new Gzip(o)},exports.createGunzip=function(o){return new Gunzip(o)},exports.createUnzip=function(o){return new Unzip(o)},exports.deflate=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Deflate(opts),buffer,callback)},exports.deflateSync=function(buffer,opts){return zlibBufferSync(new Deflate(opts),buffer)},exports.gzip=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Gzip(opts),buffer,callback)},exports.gzipSync=function(buffer,opts){return zlibBufferSync(new Gzip(opts),buffer)},exports.deflateRaw=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new DeflateRaw(opts),buffer,callback)},exports.deflateRawSync=function(buffer,opts){return zlibBufferSync(new DeflateRaw(opts),buffer)},exports.unzip=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Unzip(opts),buffer,callback)},exports.unzipSync=function(buffer,opts){return zlibBufferSync(new Unzip(opts),buffer)},exports.inflate=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Inflate(opts),buffer,callback)},exports.inflateSync=function(buffer,opts){return zlibBufferSync(new Inflate(opts),buffer)},exports.gunzip=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new Gunzip(opts),buffer,callback)},exports.gunzipSync=function(buffer,opts){return zlibBufferSync(new Gunzip(opts),buffer)},exports.inflateRaw=function(buffer,opts,callback){if(typeof opts===\"function\")callback=opts,opts={};return zlibBuffer(new InflateRaw(opts),buffer,callback)},exports.inflateRawSync=function(buffer,opts){return zlibBufferSync(new InflateRaw(opts),buffer)};function zlibBuffer(engine,buffer,callback){var buffers=[],nread=0;engine.on(\"error\",onError),engine.on(\"end\",onEnd),engine.end(buffer),flow();function flow(){var chunk;while((chunk=engine.read())!==null)buffers.push(chunk),nread+=chunk.length;engine.once(\"readable\",flow)}function onError(err){engine.removeListener(\"end\",onEnd),engine.removeListener(\"readable\",flow),callback(err)}function onEnd(){var buf,err=null;if(nread>=kMaxLength)err=new RangeError(kRangeErrorMessage);else buf=Buffer2.concat(buffers,nread);buffers=[],engine.close(),callback(err,buf)}}function zlibBufferSync(engine,buffer){if(typeof buffer===\"string\")buffer=Buffer2.from(buffer);if(!Buffer2.isBuffer(buffer))@throwTypeError(\"Not a string or buffer\");var flushFlag=engine._finishFlushFlag;return engine._processChunk(buffer,flushFlag)}function Deflate(opts){if(!(this instanceof Deflate))return new Deflate(opts);Zlib.call(this,opts,binding.DEFLATE)}function Inflate(opts){if(!(this instanceof Inflate))return new Inflate(opts);Zlib.call(this,opts,binding.INFLATE)}function Gzip(opts){if(!(this instanceof Gzip))return new Gzip(opts);Zlib.call(this,opts,binding.GZIP)}function Gunzip(opts){if(!(this instanceof Gunzip))return new Gunzip(opts);Zlib.call(this,opts,binding.GUNZIP)}function DeflateRaw(opts){if(!(this instanceof DeflateRaw))return new DeflateRaw(opts);Zlib.call(this,opts,binding.DEFLATERAW)}function InflateRaw(opts){if(!(this instanceof InflateRaw))return new InflateRaw(opts);Zlib.call(this,opts,binding.INFLATERAW)}function Unzip(opts){if(!(this instanceof Unzip))return new Unzip(opts);Zlib.call(this,opts,binding.UNZIP)}function isValidFlushFlag(flag){return flag===binding.Z_NO_FLUSH||flag===binding.Z_PARTIAL_FLUSH||flag===binding.Z_SYNC_FLUSH||flag===binding.Z_FULL_FLUSH||flag===binding.Z_FINISH||flag===binding.Z_BLOCK}function Zlib(opts,mode){var _this=this;if(this._opts=opts=opts||{},this._chunkSize=opts.chunkSize||exports.Z_DEFAULT_CHUNK,Transform.call(this,opts),opts.flush&&!isValidFlushFlag(opts.flush))throw new Error(\"Invalid flush flag: \"+opts.flush);if(opts.finishFlush&&!isValidFlushFlag(opts.finishFlush))throw new Error(\"Invalid flush flag: \"+opts.finishFlush);if(this._flushFlag=opts.flush||binding.Z_NO_FLUSH,this._finishFlushFlag=typeof opts.finishFlush!==\"undefined\"\?opts.finishFlush:binding.Z_FINISH,opts.chunkSize){if(opts.chunkSize<exports.Z_MIN_CHUNK||opts.chunkSize>exports.Z_MAX_CHUNK)throw new Error(\"Invalid chunk size: \"+opts.chunkSize)}if(opts.windowBits){if(opts.windowBits<exports.Z_MIN_WINDOWBITS||opts.windowBits>exports.Z_MAX_WINDOWBITS)throw new Error(\"Invalid windowBits: \"+opts.windowBits)}if(opts.level){if(opts.level<exports.Z_MIN_LEVEL||opts.level>exports.Z_MAX_LEVEL)throw new Error(\"Invalid compression level: \"+opts.level)}if(opts.memLevel){if(opts.memLevel<exports.Z_MIN_MEMLEVEL||opts.memLevel>exports.Z_MAX_MEMLEVEL)throw new Error(\"Invalid memLevel: \"+opts.memLevel)}if(opts.strategy){if(opts.strategy!=exports.Z_FILTERED&&opts.strategy!=exports.Z_HUFFMAN_ONLY&&opts.strategy!=exports.Z_RLE&&opts.strategy!=exports.Z_FIXED&&opts.strategy!=exports.Z_DEFAULT_STRATEGY)throw new Error(\"Invalid strategy: \"+opts.strategy)}if(opts.dictionary){if(!Buffer2.isBuffer(opts.dictionary))throw new Error(\"Invalid dictionary: it should be a Buffer instance\")}this._handle=new binding.Zlib(mode);var self=this;this._hadError=!1,this._handle.onerror=function(message,errno){_close(self),self._hadError=!0;var error=new Error(message);error.errno=errno,error.code=exports.codes[errno],self.emit(\"error\",error)};var level=exports.Z_DEFAULT_COMPRESSION;if(typeof opts.level===\"number\")level=opts.level;var strategy=exports.Z_DEFAULT_STRATEGY;if(typeof opts.strategy===\"number\")strategy=opts.strategy;this._handle.init(opts.windowBits||exports.Z_DEFAULT_WINDOWBITS,level,opts.memLevel||exports.Z_DEFAULT_MEMLEVEL,strategy,opts.dictionary),this._buffer=Buffer2.allocUnsafe(this._chunkSize),this._offset=0,this._level=level,this._strategy=strategy,this.once(\"end\",this.close),Object.defineProperty(this,\"_closed\",{get:function(){return!_this._handle},configurable:!0,enumerable:!0})}util.inherits(Zlib,Transform),Zlib.prototype.params=function(level,strategy,callback){if(level<exports.Z_MIN_LEVEL||level>exports.Z_MAX_LEVEL)@throwRangeError(\"Invalid compression level: \"+level);if(strategy!=exports.Z_FILTERED&&strategy!=exports.Z_HUFFMAN_ONLY&&strategy!=exports.Z_RLE&&strategy!=exports.Z_FIXED&&strategy!=exports.Z_DEFAULT_STRATEGY)@throwTypeError(\"Invalid strategy: \"+strategy);if(this._level!==level||this._strategy!==strategy){var self=this;this.flush(binding.Z_SYNC_FLUSH,function(){if(assert(self._handle,\"zlib binding closed\"),self._handle.params(level,strategy),!self._hadError){if(self._level=level,self._strategy=strategy,callback)callback()}})}else process.nextTick(callback)},Zlib.prototype.reset=function(){return assert(this._handle,\"zlib binding closed\"),this._handle.reset()},Zlib.prototype._flush=function(callback){this._transform(Buffer2.alloc(0),\"\",callback)},Zlib.prototype.flush=function(kind,callback){var _this2=this,ws=this._writableState;if(typeof kind===\"function\"||kind===void 0&&!callback)callback=kind,kind=binding.Z_FULL_FLUSH;if(ws.ended){if(callback)process.nextTick(callback)}else if(ws.ending){if(callback)this.once(\"end\",callback)}else if(ws.needDrain){if(callback)this.once(\"drain\",function(){return _this2.flush(kind,callback)})}else this._flushFlag=kind,this.write(Buffer2.alloc(0),\"\",callback)},Zlib.prototype.close=function(callback){_close(this,callback),process.nextTick(emitCloseNT,this)};function _close(engine,callback){if(callback)process.nextTick(callback);if(!engine._handle)return;engine._handle.close(),engine._handle=null}function emitCloseNT(self){self.emit(\"close\")}Zlib.prototype._transform=function(chunk,encoding,cb){var flushFlag,ws=this._writableState,ending=ws.ending||ws.ended,last=ending&&(!chunk||ws.length===chunk.length);if(chunk!==null&&!Buffer2.isBuffer(chunk))return cb(new Error(\"invalid input\"));if(!this._handle)return cb(new Error(\"zlib binding closed\"));if(last)flushFlag=this._finishFlushFlag;else if(flushFlag=this._flushFlag,chunk.length>=ws.length)this._flushFlag=this._opts.flush||binding.Z_NO_FLUSH;this._processChunk(chunk,flushFlag,cb)},Zlib.prototype._processChunk=function(chunk,flushFlag,cb){var availInBefore=chunk&&chunk.length,availOutBefore=this._chunkSize-this._offset,inOff=0,self=this,async=typeof cb===\"function\";if(!async){var buffers=[],nread=0,error;this.on(\"error\",function(er){error=er}),assert(this._handle,\"zlib binding closed\");do var res=this._handle.writeSync(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);while(!this._hadError&&callback(res[0],res[1]));if(this._hadError)throw error;if(nread>=kMaxLength)_close(this),@throwRangeError(kRangeErrorMessage);var buf=Buffer2.concat(buffers,nread);return _close(this),buf}assert(this._handle,\"zlib binding closed\");var req=this._handle.write(flushFlag,chunk,inOff,availInBefore,this._buffer,this._offset,availOutBefore);req.buffer=chunk,req.callback=callback;function callback(availInAfter,availOutAfter){if(this)this.buffer=null,this.callback=null;if(self._hadError)return;var have=availOutBefore-availOutAfter;if(assert(have>=0,\"have should not go down\"),have>0){var out=self._buffer.slice(self._offset,self._offset+have);if(self._offset+=have,async)self.push(out);else buffers.push(out),nread+=out.length}if(availOutAfter===0||self._offset>=self._chunkSize)availOutBefore=self._chunkSize,self._offset=0,self._buffer=Buffer2.allocUnsafe(self._chunkSize);if(availOutAfter===0){if(inOff+=availInBefore-availInAfter,availInBefore=availInAfter,!async)return!0;var newReq=self._handle.write(flushFlag,chunk,inOff,availInBefore,self._buffer,self._offset,self._chunkSize);newReq.callback=callback,newReq.buffer=chunk;return}if(!async)return!1;cb()}},util.inherits(Deflate,Zlib),util.inherits(Inflate,Zlib),util.inherits(Gzip,Zlib),util.inherits(Gunzip,Zlib),util.inherits(DeflateRaw,Zlib),util.inherits(InflateRaw,Zlib),util.inherits(Unzip,Zlib)}});return require_lib()})\n"_s;
static constexpr ASCIILiteral ThirdpartyDepdCode = "(function (){\"use strict\";var $=function depd(namespace){if(!namespace)@throwTypeError(\"argument namespace is required\");function deprecate(message){}return deprecate._file=void 0,deprecate._ignored=!0,deprecate._namespace=namespace,deprecate._traced=!1,deprecate._warned=Object.create(null),deprecate.function=wrapfunction,deprecate.property=wrapproperty,deprecate};function wrapfunction(fn,message){if(typeof fn!==\"function\")@throwTypeError(\"argument fn must be a function\");return fn}function wrapproperty(obj,prop,message){if(!obj||typeof obj!==\"object\"&&typeof obj!==\"function\")@throwTypeError(\"argument obj must be object\");var descriptor=Object.getOwnPropertyDescriptor(obj,prop);if(!descriptor)@throwTypeError(\"must call property on owner object\");if(!descriptor.configurable)@throwTypeError(\"property must be configurable\")}return $})\n"_s;
static constexpr ASCIILiteral ThirdpartyDetectLibcCode = "(function (){\"use strict\";function family(){return Promise.resolve(familySync())}function familySync(){return null}const GLIBC=\"glibc\",MUSL=\"musl\";function versionAsync(){return Promise.resolve(version())}function version(){return null}function isNonGlibcLinuxSync(){return!1}function isNonGlibcLinux(){return Promise.resolve(isNonGlibcLinuxSync())}return{GLIBC,MUSL,family,familySync,isNonGlibcLinux,isNonGlibcLinuxSync,version,versionAsync}})\n"_s;
diff --git a/src/js/out/modules/node/worker_threads.js b/src/js/out/modules/node/worker_threads.js
new file mode 100644
index 000000000..0f9dc1cee
--- /dev/null
+++ b/src/js/out/modules/node/worker_threads.js
@@ -0,0 +1,213 @@
+var injectFakeEmitter = function(Class) {
+ function messageEventHandler(event) {
+ return event.data;
+ }
+ function errorEventHandler(event) {
+ return event.error;
+ }
+ const wrappedListener = Symbol("wrappedListener");
+ function wrapped(run, listener) {
+ const callback = function(event) {
+ return listener(run(event));
+ };
+ return listener[wrappedListener] = callback, callback;
+ }
+ function functionForEventType(event, listener) {
+ switch (event) {
+ case "error":
+ case "messageerror":
+ return wrapped(errorEventHandler, listener);
+ default:
+ return wrapped(messageEventHandler, listener);
+ }
+ }
+ Class.prototype.on = function(event, listener) {
+ return this.addEventListener(event, functionForEventType(event, listener)), this;
+ }, Class.prototype.off = function(event, listener) {
+ if (listener)
+ this.removeEventListener(event, listener[wrappedListener] || listener);
+ else
+ this.removeEventListener(event);
+ return this;
+ }, Class.prototype.once = function(event, listener) {
+ return this.addEventListener(event, functionForEventType(event, listener), { once: !0 }), this;
+ };
+ function EventClass(eventName) {
+ if (eventName === "error" || eventName === "messageerror")
+ return ErrorEvent;
+ return MessageEvent;
+ }
+ Class.prototype.emit = function(event, ...args) {
+ return this.dispatchEvent(new (EventClass(event))(event, ...args)), this;
+ }, Class.prototype.prependListener = Class.prototype.on, Class.prototype.prependOnceListener = Class.prototype.once;
+};
+import EventEmitter from "node:events";
+function receiveMessageOnPort(port) {
+ let res = _receiveMessageOnPort(port);
+ if (!res)
+ return;
+ return {
+ message: res
+ };
+}
+var fakeParentPort = function() {
+ const fake = Object.create(MessagePort.prototype);
+ return Object.defineProperty(fake, "onmessage", {
+ get() {
+ return self.onmessage;
+ },
+ set(value) {
+ self.onmessage = value;
+ }
+ }), Object.defineProperty(fake, "onmessageerror", {
+ get() {
+ return self.onmessageerror;
+ },
+ set(value) {
+ }
+ }), Object.defineProperty(fake, "postMessage", {
+ value(...args) {
+ return self.postMessage(...args);
+ }
+ }), Object.defineProperty(fake, "close", {
+ value() {
+ return process.exit(0);
+ }
+ }), Object.defineProperty(fake, "start", {
+ value() {
+ }
+ }), Object.defineProperty(fake, "unref", {
+ value() {
+ }
+ }), Object.defineProperty(fake, "ref", {
+ value() {
+ }
+ }), Object.defineProperty(fake, "hasRef", {
+ value() {
+ return !1;
+ }
+ }), Object.defineProperty(fake, "setEncoding", {
+ value() {
+ }
+ }), Object.defineProperty(fake, "addEventListener", {
+ value: self.addEventListener.bind(self)
+ }), Object.defineProperty(fake, "removeEventListener", {
+ value: self.removeEventListener.bind(self)
+ }), fake;
+};
+function getEnvironmentData() {
+ return process.env;
+}
+function setEnvironmentData(env) {
+ process.env = env;
+}
+function markAsUntransferable() {
+ throw new Error("markAsUntransferable is not implemented");
+}
+function moveMessagePortToContext() {
+ throw new Error("moveMessagePortToContext is not implemented");
+}
+var { MessageChannel, BroadcastChannel } = globalThis, _MessagePort = globalThis.MessagePort;
+injectFakeEmitter(_MessagePort);
+var MessagePort = _MessagePort, isMainThread = Bun.isMainThread, [_workerData, _threadId, _receiveMessageOnPort] = globalThis[Symbol.for("Bun.lazy")]("worker_threads"), parentPort = isMainThread ? null : fakeParentPort(), resourceLimits = {}, workerData = _workerData, threadId = _threadId, SHARE_ENV = Symbol("nodejs.worker_threads.SHARE_ENV"), WebWorker = globalThis.Worker;
+
+class Worker extends EventEmitter {
+ #worker;
+ #performance;
+ #onExitPromise = void 0;
+ constructor(filename, options = {}) {
+ super();
+ this.#worker = new WebWorker(filename, {
+ ...options
+ }), this.#worker.addEventListener("close", this.#onClose.bind(this)), this.#worker.addEventListener("error", this.#onError.bind(this)), this.#worker.addEventListener("message", this.#onMessage.bind(this)), this.#worker.addEventListener("messageerror", this.#onMessageError.bind(this)), this.#worker.addEventListener("open", this.#onOpen.bind(this));
+ }
+ ref() {
+ this.#worker.ref();
+ }
+ unref() {
+ this.#worker.unref();
+ }
+ get stdin() {
+ return null;
+ }
+ get stdout() {
+ return null;
+ }
+ get stderr() {
+ return null;
+ }
+ get performance() {
+ return this.#performance ??= {
+ eventLoopUtilization() {
+ return {};
+ }
+ };
+ }
+ terminate() {
+ if (this.#onExitPromise)
+ return this.#onExitPromise;
+ const { resolve, promise } = Promise.withResolvers();
+ return this.#worker.addEventListener("close", (event) => {
+ resolve(0);
+ }, { once: !0 }), this.#onExitPromise = promise;
+ }
+ postMessage(...args) {
+ return this.#worker.postMessage(...args);
+ }
+ #onClose() {
+ this.emit("exit");
+ }
+ #onError(event) {
+ this.emit("error", event);
+ }
+ #onMessage(event) {
+ this.emit("message", event.data);
+ }
+ #onMessageError(event) {
+ this.emit("messageerror", event.error || event);
+ }
+ #onOpen() {
+ this.emit("online");
+ }
+ getHeapSnapshot() {
+ return {};
+ }
+}
+var worker_threads_default = {
+ Worker,
+ workerData,
+ parentPort,
+ resourceLimits,
+ isMainThread,
+ MessageChannel,
+ BroadcastChannel,
+ MessagePort,
+ getEnvironmentData,
+ setEnvironmentData,
+ getHeapSnapshot() {
+ return {};
+ },
+ markAsUntransferable,
+ moveMessagePortToContext,
+ receiveMessageOnPort,
+ SHARE_ENV,
+ threadId
+};
+export {
+ workerData,
+ threadId,
+ setEnvironmentData,
+ resourceLimits,
+ receiveMessageOnPort,
+ parentPort,
+ moveMessagePortToContext,
+ markAsUntransferable,
+ isMainThread,
+ getEnvironmentData,
+ worker_threads_default as default,
+ Worker,
+ SHARE_ENV,
+ MessagePort,
+ MessageChannel,
+ BroadcastChannel
+};