@php-wasm/node 0.5.6 → 0.6.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/php_8_0.js CHANGED
@@ -1,6 +1,6 @@
1
1
  const dependencyFilename = __dirname + '/8_0_30/php_8_0.wasm';
2
2
  export { dependencyFilename };
3
- export const dependenciesTotalSize = 11119903;
3
+ export const dependenciesTotalSize = 11122204;
4
4
  export function init(RuntimeName, PHPLoader) {
5
5
  /**
6
6
  * Overrides Emscripten's default ExitStatus object which gets
@@ -349,10 +349,10 @@ function createWasm() {
349
349
  var exports = instance.exports;
350
350
  exports = Asyncify.instrumentWasmExports(exports);
351
351
  Module["asm"] = exports;
352
- wasmMemory = Module["asm"]["Za"];
352
+ wasmMemory = Module["asm"]["$a"];
353
353
  updateMemoryViews();
354
- wasmTable = Module["asm"]["bb"];
355
- addOnInit(Module["asm"]["_a"]);
354
+ wasmTable = Module["asm"]["db"];
355
+ addOnInit(Module["asm"]["ab"]);
356
356
  removeRunDependency("wasm-instantiate");
357
357
  return exports;
358
358
  }
@@ -427,6 +427,8 @@ var UTF8ArrayToString = (heapOrArray, idx, maxBytesToRead) => {
427
427
 
428
428
  var UTF8ToString = (ptr, maxBytesToRead) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
429
429
 
430
+ Module["UTF8ToString"] = UTF8ToString;
431
+
430
432
  var ___assert_fail = (condition, filename, line, func) => {
431
433
  abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]);
432
434
  };
@@ -585,6 +587,8 @@ var lengthBytesUTF8 = str => {
585
587
  return len;
586
588
  };
587
589
 
590
+ Module["lengthBytesUTF8"] = lengthBytesUTF8;
591
+
588
592
  var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
589
593
  if (!(maxBytesToWrite > 0)) return 0;
590
594
  var startIdx = outIdx;
@@ -2876,6 +2880,8 @@ var FS = {
2876
2880
  }
2877
2881
  };
2878
2882
 
2883
+ Module["FS"] = FS;
2884
+
2879
2885
  var SYSCALLS = {
2880
2886
  DEFAULT_POLLMASK: 5,
2881
2887
  calculateAt: function(dirfd, path, allowEmpty) {
@@ -3991,6 +3997,8 @@ function ___syscall_ftruncate64(fd, length_low, length_high) {
3991
3997
 
3992
3998
  var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
3993
3999
 
4000
+ Module["stringToUTF8"] = stringToUTF8;
4001
+
3994
4002
  function ___syscall_getcwd(buf, size) {
3995
4003
  try {
3996
4004
  if (size === 0) return -28;
@@ -5402,6 +5410,46 @@ var stringToUTF8OnStack = str => {
5402
5410
  var allocateUTF8OnStack = stringToUTF8OnStack;
5403
5411
 
5404
5412
  var PHPWASM = {
5413
+ init: function() {
5414
+ PHPWASM.EventEmitter = ENVIRONMENT_IS_NODE ? require("events").EventEmitter : class EventEmitter {
5415
+ constructor() {
5416
+ this.listeners = {};
5417
+ }
5418
+ emit(eventName, data) {
5419
+ if (this.listeners[eventName]) {
5420
+ this.listeners[eventName].forEach((callback => {
5421
+ callback(data);
5422
+ }));
5423
+ }
5424
+ }
5425
+ once(eventName, callback) {
5426
+ const self = this;
5427
+ function removedCallback() {
5428
+ callback(...arguments);
5429
+ self.removeListener(eventName, removedCallback);
5430
+ }
5431
+ this.on(eventName, removedCallback);
5432
+ }
5433
+ removeAllListeners(eventName) {
5434
+ if (eventName) {
5435
+ delete this.listeners[eventName];
5436
+ } else {
5437
+ this.listeners = {};
5438
+ }
5439
+ }
5440
+ removeListener(eventName, callback) {
5441
+ if (this.listeners[eventName]) {
5442
+ const idx = this.listeners[eventName].indexOf(callback);
5443
+ if (idx !== -1) {
5444
+ this.listeners[eventName].splice(idx, 1);
5445
+ }
5446
+ }
5447
+ }
5448
+ };
5449
+ PHPWASM.child_proc_by_fd = {};
5450
+ PHPWASM.child_proc_by_pid = {};
5451
+ PHPWASM.input_devices = {};
5452
+ },
5405
5453
  getAllWebSockets: function(sock) {
5406
5454
  const webSockets = new Set;
5407
5455
  if (sock.server) {
@@ -5431,27 +5479,27 @@ var PHPWASM = {
5431
5479
  return Array.from(peers);
5432
5480
  },
5433
5481
  awaitData: function(ws) {
5434
- return PHPWASM.awaitWsEvent(ws, "message");
5482
+ return PHPWASM.awaitEvent(ws, "message");
5435
5483
  },
5436
5484
  awaitConnection: function(ws) {
5437
5485
  if (ws.OPEN === ws.readyState) {
5438
5486
  return [ Promise.resolve(), PHPWASM.noop ];
5439
5487
  }
5440
- return PHPWASM.awaitWsEvent(ws, "open");
5488
+ return PHPWASM.awaitEvent(ws, "open");
5441
5489
  },
5442
5490
  awaitClose: function(ws) {
5443
5491
  if ([ ws.CLOSING, ws.CLOSED ].includes(ws.readyState)) {
5444
5492
  return [ Promise.resolve(), PHPWASM.noop ];
5445
5493
  }
5446
- return PHPWASM.awaitWsEvent(ws, "close");
5494
+ return PHPWASM.awaitEvent(ws, "close");
5447
5495
  },
5448
5496
  awaitError: function(ws) {
5449
5497
  if ([ ws.CLOSING, ws.CLOSED ].includes(ws.readyState)) {
5450
5498
  return [ Promise.resolve(), PHPWASM.noop ];
5451
5499
  }
5452
- return PHPWASM.awaitWsEvent(ws, "error");
5500
+ return PHPWASM.awaitEvent(ws, "error");
5453
5501
  },
5454
- awaitWsEvent: function(ws, event) {
5502
+ awaitEvent: function(ws, event) {
5455
5503
  let resolve;
5456
5504
  const listener = () => {
5457
5505
  resolve();
@@ -5467,13 +5515,15 @@ var PHPWASM = {
5467
5515
  return [ promise, cancel ];
5468
5516
  },
5469
5517
  noop: function() {},
5470
- spawnProcess: function(command) {
5518
+ spawnProcess: function(command, args) {
5471
5519
  if (Module["spawnProcess"]) {
5472
- const spawned = Module["spawnProcess"](command);
5473
- if (!spawned || !spawned.on) {
5474
- throw new Error("spawnProcess() must return an EventEmitter but returned a different type.");
5475
- }
5476
- return spawned;
5520
+ const spawnedPromise = Module["spawnProcess"](command, args);
5521
+ return Promise.resolve(spawnedPromise).then((function(spawned) {
5522
+ if (!spawned || !spawned.on) {
5523
+ throw new Error("spawnProcess() must return an EventEmitter but returned a different type.");
5524
+ }
5525
+ return spawned;
5526
+ }));
5477
5527
  }
5478
5528
  if (ENVIRONMENT_IS_NODE) {
5479
5529
  return require("child_process").spawn(command, [], {
@@ -5503,13 +5553,10 @@ var PHPWASM = {
5503
5553
  }
5504
5554
  };
5505
5555
 
5506
- function _js_create_input_device(procopenCallId) {
5507
- if (!PHPWASM.input_devices) {
5508
- PHPWASM.input_devices = {};
5509
- }
5556
+ function _js_create_input_device(deviceId) {
5510
5557
  let dataBuffer = [];
5511
5558
  let dataCallback;
5512
- const filename = "proc_id_" + procopenCallId;
5559
+ const filename = "proc_id_" + deviceId;
5513
5560
  const device = FS.createDevice("/dev", filename, (function() {}), (function(byte) {
5514
5561
  try {
5515
5562
  dataBuffer.push(byte);
@@ -5523,7 +5570,7 @@ function _js_create_input_device(procopenCallId) {
5523
5570
  }
5524
5571
  }));
5525
5572
  const devicePath = "/dev/" + filename;
5526
- PHPWASM.input_devices[procopenCallId] = {
5573
+ PHPWASM.input_devices[deviceId] = {
5527
5574
  devicePath: devicePath,
5528
5575
  onData: function(cb) {
5529
5576
  dataCallback = cb;
@@ -5548,7 +5595,7 @@ function _js_fd_read(fd, iov, iovcnt, pnum) {
5548
5595
  if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
5549
5596
  returnCode = e.errno;
5550
5597
  }
5551
- if (returnCode === 6 && stream?.fd in PHPWASM.proc_fds) {
5598
+ if (returnCode === 6 && stream?.fd in PHPWASM.child_proc_by_fd) {
5552
5599
  return Asyncify.handleSleep((function(wakeUp) {
5553
5600
  var retries = 0;
5554
5601
  var interval = 50;
@@ -5569,7 +5616,7 @@ function _js_fd_read(fd, iov, iovcnt, pnum) {
5569
5616
  }
5570
5617
  returnCode = e.errno;
5571
5618
  }
5572
- if (returnCode !== 6 || ++retries > maxRetries || !(stream?.fd in PHPWASM.proc_fds) || PHPWASM.proc_fds[stream?.fd]?.exited || FS.isClosed(stream) || !(PHPWASM.proc_fds[fd]?.stdinFd in (PHPWASM.input_devices || {}))) {
5619
+ if (returnCode !== 6 || ++retries > maxRetries || !(fd in PHPWASM.child_proc_by_fd) || PHPWASM.child_proc_by_fd[fd]?.exited || FS.isClosed(stream)) {
5573
5620
  wakeUp(returnCode);
5574
5621
  } else {
5575
5622
  setTimeout(poll, interval);
@@ -5607,10 +5654,7 @@ function _js_module_onMessage(data, bufPtr) {
5607
5654
  }
5608
5655
  }
5609
5656
 
5610
- function _js_open_process(command, stdinFd, stdoutChildFd, stdoutParentFd, stderrChildFd, stderrParentFd) {
5611
- if (!PHPWASM.proc_fds) {
5612
- PHPWASM.proc_fds = {};
5613
- }
5657
+ function _js_open_process(command, argsPtr, argsLength, descriptorsPtr, descriptorsLength) {
5614
5658
  if (!command) {
5615
5659
  return 1;
5616
5660
  }
@@ -5618,104 +5662,122 @@ function _js_open_process(command, stdinFd, stdoutChildFd, stdoutParentFd, stder
5618
5662
  if (!cmdstr.length) {
5619
5663
  return 0;
5620
5664
  }
5621
- let cp;
5622
- try {
5623
- cp = PHPWASM.spawnProcess(cmdstr);
5624
- } catch (e) {
5625
- if (e.code === "SPAWN_UNSUPPORTED") {
5626
- return 1;
5665
+ let argsArray = [];
5666
+ if (argsLength) {
5667
+ for (var i = 0; i < argsLength; i++) {
5668
+ const charPointer = argsPtr + i * 4;
5669
+ argsArray.push(UTF8ToString(HEAPU32[charPointer >> 2]));
5627
5670
  }
5628
- throw e;
5629
5671
  }
5630
- let EventEmitter;
5631
- if (ENVIRONMENT_IS_NODE) {
5632
- EventEmitter = require("events").EventEmitter;
5633
- } else {
5634
- EventEmitter = function() {
5635
- this.listeners = {};
5672
+ var std = {};
5673
+ for (var i = 0; i < descriptorsLength; i++) {
5674
+ const descriptorPtr = HEAPU32[descriptorsPtr + i * 4 >> 2];
5675
+ std[HEAPU32[descriptorPtr >> 2]] = {
5676
+ child: HEAPU32[descriptorPtr + 4 >> 2],
5677
+ parent: HEAPU32[descriptorPtr + 8 >> 2]
5636
5678
  };
5637
- EventEmitter.prototype.emit = function(eventName, data) {
5638
- if (this.listeners[eventName]) {
5639
- this.listeners[eventName].forEach((function(callback) {
5640
- callback(data);
5641
- }));
5642
- }
5643
- };
5644
- EventEmitter.prototype.once = function(eventName, callback) {
5645
- const self = this;
5646
- function removedCallback() {
5647
- callback(...arguments);
5648
- self.removeListener(eventName, removedCallback);
5649
- }
5650
- this.on(eventName, removedCallback);
5651
- };
5652
- EventEmitter.prototype.on = function(eventName, callback) {
5653
- if (!this.listeners[eventName]) {
5654
- this.listeners[eventName] = [];
5655
- }
5656
- this.listeners[eventName].push(callback);
5657
- };
5658
- EventEmitter.prototype.removeListener = function(eventName, callback) {
5659
- const idx = this.listeners[eventName].indexOf(callback);
5660
- if (idx !== -1) {
5661
- this.listeners[eventName].splice(idx, 1);
5679
+ }
5680
+ return Asyncify.handleSleep((async wakeUp => {
5681
+ let cp;
5682
+ try {
5683
+ cp = await PHPWASM.spawnProcess(cmdstr, argsArray);
5684
+ } catch (e) {
5685
+ if (e.code === "SPAWN_UNSUPPORTED") {
5686
+ wakeUp(1);
5687
+ return;
5662
5688
  }
5689
+ console.error(e);
5690
+ wakeUp(1);
5691
+ throw e;
5692
+ }
5693
+ const ProcInfo = {
5694
+ pid: cp.pid,
5695
+ exited: false,
5696
+ stdinFd: std[0]?.child,
5697
+ stdinIsDevice: std[0]?.child in PHPWASM.input_devices,
5698
+ stdoutChildFd: std[1]?.child,
5699
+ stdoutParentFd: std[1]?.parent,
5700
+ stderrChildFd: std[2]?.child,
5701
+ stderrParentFd: std[2]?.parent,
5702
+ stdout: new PHPWASM.EventEmitter,
5703
+ stderr: new PHPWASM.EventEmitter
5663
5704
  };
5664
- }
5665
- PHPWASM.proc_fds[stdoutParentFd] = new EventEmitter;
5666
- PHPWASM.proc_fds[stdoutParentFd].stdinFd = stdinFd;
5667
- PHPWASM.proc_fds[stderrParentFd] = new EventEmitter;
5668
- PHPWASM.proc_fds[stderrParentFd].stdinFd = stdinFd;
5669
- const stdoutStream = SYSCALLS.getStreamFromFD(stdoutChildFd);
5670
- cp.on("exit", (function(data) {
5671
- PHPWASM.proc_fds[stdoutParentFd].exited = true;
5672
- PHPWASM.proc_fds[stdoutParentFd].emit("data");
5673
- PHPWASM.proc_fds[stderrParentFd].exited = true;
5674
- PHPWASM.proc_fds[stderrParentFd].emit("data");
5675
- }));
5676
- cp.stdout.on("data", (function(data) {
5677
- PHPWASM.proc_fds[stdoutParentFd].hasData = true;
5678
- PHPWASM.proc_fds[stdoutParentFd].emit("data");
5679
- stdoutStream.stream_ops.write(stdoutStream, data, 0, data.length, 0);
5680
- }));
5681
- const stderrStream = SYSCALLS.getStreamFromFD(stderrChildFd);
5682
- cp.stderr.on("data", (function(data) {
5683
- PHPWASM.proc_fds[stderrParentFd].hasData = true;
5684
- PHPWASM.proc_fds[stderrParentFd].emit("data");
5685
- stderrStream.stream_ops.write(stderrStream, data, 0, data.length, 0);
5686
- }));
5687
- if (PHPWASM.input_devices && stdinFd in PHPWASM.input_devices) {
5688
- PHPWASM.input_devices[stdinFd].onData((function(data) {
5689
- if (!data) return;
5690
- const dataStr = new TextDecoder("utf-8").decode(data);
5691
- cp.stdin.write(dataStr);
5705
+ if (ProcInfo.stdoutChildFd) PHPWASM.child_proc_by_fd[ProcInfo.stdoutChildFd] = ProcInfo;
5706
+ if (ProcInfo.stderrChildFd) PHPWASM.child_proc_by_fd[ProcInfo.stderrChildFd] = ProcInfo;
5707
+ if (ProcInfo.stdoutParentFd) PHPWASM.child_proc_by_fd[ProcInfo.stdoutParentFd] = ProcInfo;
5708
+ if (ProcInfo.stderrParentFd) PHPWASM.child_proc_by_fd[ProcInfo.stderrParentFd] = ProcInfo;
5709
+ PHPWASM.child_proc_by_pid[ProcInfo.pid] = ProcInfo;
5710
+ cp.on("exit", (function(code) {
5711
+ ProcInfo.exitCode = code;
5712
+ ProcInfo.exited = true;
5713
+ ProcInfo.stdout.emit("data");
5714
+ ProcInfo.stderr.emit("data");
5692
5715
  }));
5693
- return 0;
5694
- }
5695
- const stdinStream = SYSCALLS.getStreamFromFD(stdinFd);
5696
- if (!stdinStream.node) {
5697
- return 0;
5698
- }
5699
- const CHUNK_SIZE = 1024;
5700
- const buffer = Buffer.alloc(CHUNK_SIZE);
5701
- let offset = 0;
5702
- while (true) {
5703
- const bytesRead = stdinStream.stream_ops.read(stdinStream, buffer, 0, CHUNK_SIZE, offset);
5704
- if (bytesRead === null || bytesRead === 0) {
5705
- break;
5716
+ if (ProcInfo.stdoutChildFd) {
5717
+ const stdoutStream = SYSCALLS.getStreamFromFD(ProcInfo.stdoutChildFd);
5718
+ let stdoutAt = 0;
5719
+ cp.stdout.on("data", (function(data) {
5720
+ ProcInfo.stdout.emit("data", data);
5721
+ stdoutStream.stream_ops.write(stdoutStream, data, 0, data.length, stdoutAt);
5722
+ stdoutAt += data.length;
5723
+ }));
5724
+ }
5725
+ if (ProcInfo.stderrChildFd) {
5726
+ const stderrStream = SYSCALLS.getStreamFromFD(ProcInfo.stderrChildFd);
5727
+ let stderrAt = 0;
5728
+ cp.stderr.on("data", (function(data) {
5729
+ ProcInfo.stderr.emit("data", data);
5730
+ stderrStream.stream_ops.write(stderrStream, data, 0, data.length, stderrAt);
5731
+ stderrAt += data.length;
5732
+ }));
5706
5733
  }
5707
5734
  try {
5708
- cp.stdin.write(buffer.subarray(0, bytesRead));
5735
+ await new Promise(((resolve, reject) => {
5736
+ cp.on("spawn", resolve);
5737
+ cp.on("error", reject);
5738
+ }));
5709
5739
  } catch (e) {
5710
5740
  console.error(e);
5711
- return 1;
5741
+ wakeUp(1);
5742
+ return;
5712
5743
  }
5713
- if (bytesRead < CHUNK_SIZE) {
5714
- break;
5744
+ if (ProcInfo.stdinIsDevice) {
5745
+ PHPWASM.input_devices[ProcInfo.stdinFd].onData((function(data) {
5746
+ if (!data) return;
5747
+ const dataStr = new TextDecoder("utf-8").decode(data);
5748
+ cp.stdin.write(dataStr);
5749
+ }));
5750
+ wakeUp(ProcInfo.pid);
5751
+ return;
5715
5752
  }
5716
- offset += bytesRead;
5717
- }
5718
- return 0;
5753
+ if (ProcInfo.stdinFd) {
5754
+ const stdinStream = SYSCALLS.getStreamFromFD(ProcInfo.stdinFd);
5755
+ if (stdinStream.node) {
5756
+ const CHUNK_SIZE = 1024;
5757
+ const buffer = new Uint8Array(CHUNK_SIZE);
5758
+ let offset = 0;
5759
+ while (true) {
5760
+ const bytesRead = stdinStream.stream_ops.read(stdinStream, buffer, 0, CHUNK_SIZE, offset);
5761
+ if (bytesRead === null || bytesRead === 0) {
5762
+ break;
5763
+ }
5764
+ try {
5765
+ cp.stdin.write(buffer.subarray(0, bytesRead));
5766
+ } catch (e) {
5767
+ console.error(e);
5768
+ return 1;
5769
+ }
5770
+ if (bytesRead < CHUNK_SIZE) {
5771
+ break;
5772
+ }
5773
+ offset += bytesRead;
5774
+ }
5775
+ wakeUp(ProcInfo.pid);
5776
+ return;
5777
+ }
5778
+ }
5779
+ wakeUp(ProcInfo.pid);
5780
+ }));
5719
5781
  }
5720
5782
 
5721
5783
  function _js_popen_to_file(command, mode, exitCodePtr) {
@@ -5727,10 +5789,10 @@ function _js_popen_to_file(command, mode, exitCodePtr) {
5727
5789
  if (modestr === "w") {
5728
5790
  console.error('popen($cmd, "w") is not implemented yet');
5729
5791
  }
5730
- return Asyncify.handleSleep((wakeUp => {
5792
+ return Asyncify.handleSleep((async wakeUp => {
5731
5793
  let cp;
5732
5794
  try {
5733
- cp = PHPWASM.spawnProcess(cmdstr);
5795
+ cp = await PHPWASM.spawnProcess(cmdstr, []);
5734
5796
  } catch (e) {
5735
5797
  console.error(e);
5736
5798
  if (e.code === "SPAWN_UNSUPPORTED") {
@@ -5757,6 +5819,33 @@ function _js_popen_to_file(command, mode, exitCodePtr) {
5757
5819
  }));
5758
5820
  }
5759
5821
 
5822
+ function _js_process_status(pid) {
5823
+ if (!PHPWASM.child_proc_by_pid[pid]) {
5824
+ return -1;
5825
+ }
5826
+ if (PHPWASM.child_proc_by_pid[pid].exited) {
5827
+ return 1;
5828
+ }
5829
+ return 0;
5830
+ }
5831
+
5832
+ function _js_waitpid(pid, exitCodePtr) {
5833
+ if (!PHPWASM.child_proc_by_pid[pid]) {
5834
+ return -1;
5835
+ }
5836
+ return Asyncify.handleSleep((wakeUp => {
5837
+ const poll = function() {
5838
+ if (PHPWASM.child_proc_by_pid[pid]?.exited) {
5839
+ HEAPU8[exitCodePtr] = PHPWASM.child_proc_by_pid[pid].exitCode;
5840
+ wakeUp(0);
5841
+ } else {
5842
+ setTimeout(poll, 50);
5843
+ }
5844
+ };
5845
+ poll();
5846
+ }));
5847
+ }
5848
+
5760
5849
  var arraySum = (array, index) => {
5761
5850
  var sum = 0;
5762
5851
  for (var i = 0; i <= index; sum += array[i++]) {}
@@ -6199,13 +6288,13 @@ function _wasm_poll_socket(socketd, events, timeout) {
6199
6288
  const POLLNVAL = 32;
6200
6289
  return Asyncify.handleSleep((wakeUp => {
6201
6290
  const polls = [];
6202
- if (PHPWASM.proc_fds && socketd in PHPWASM.proc_fds) {
6203
- const emitter = PHPWASM.proc_fds[socketd];
6204
- if (emitter.exited) {
6291
+ if (socketd in PHPWASM.child_proc_by_fd) {
6292
+ const procInfo = PHPWASM.child_proc_by_fd[socketd];
6293
+ if (procInfo.exited) {
6205
6294
  wakeUp(0);
6206
6295
  return;
6207
6296
  }
6208
- polls.push(PHPWASM.awaitWsEvent(emitter, "data"));
6297
+ polls.push(PHPWASM.awaitEvent(procInfo.stdout, "data"));
6209
6298
  } else {
6210
6299
  const sock = getSocketFromFD(socketd);
6211
6300
  if (!sock) {
@@ -6316,7 +6405,7 @@ function runAndAbortIfError(func) {
6316
6405
 
6317
6406
  var Asyncify = {
6318
6407
  instrumentWasmImports: function(imports) {
6319
- var importPatterns = [ /^_dlopen_js$/, /^invoke_i$/, /^invoke_ii$/, /^invoke_iii$/, /^invoke_iiii$/, /^invoke_iiiii$/, /^invoke_iiiiii$/, /^invoke_iiiiiii$/, /^invoke_iiiiiiii$/, /^invoke_iiiiiiiiii$/, /^invoke_v$/, /^invoke_vi$/, /^invoke_vii$/, /^invoke_viidii$/, /^invoke_viii$/, /^invoke_viiii$/, /^invoke_viiiii$/, /^invoke_viiiiii$/, /^invoke_viiiiiii$/, /^invoke_viiiiiiiii$/, /^js_open_process$/, /^js_popen_to_file$/, /^js_fd_read$/, /^js_module_onMessage$/, /^wasm_poll_socket$/, /^wasm_shutdown$/, /^fd_sync$/, /^__wasi_fd_sync$/, /^__asyncjs__.*$/, /^emscripten_promise_await$/, /^emscripten_idb_load$/, /^emscripten_idb_store$/, /^emscripten_idb_delete$/, /^emscripten_idb_exists$/, /^emscripten_idb_load_blob$/, /^emscripten_idb_store_blob$/, /^emscripten_sleep$/, /^emscripten_wget_data$/, /^emscripten_scan_registers$/, /^emscripten_lazy_load_code$/, /^_load_secondary_module$/, /^emscripten_fiber_swap$/, /^SDL_Delay$/ ];
6408
+ var importPatterns = [ /^_dlopen_js$/, /^invoke_i$/, /^invoke_ii$/, /^invoke_iii$/, /^invoke_iiii$/, /^invoke_iiiii$/, /^invoke_iiiiii$/, /^invoke_iiiiiii$/, /^invoke_iiiiiiii$/, /^invoke_iiiiiiiiii$/, /^invoke_v$/, /^invoke_vi$/, /^invoke_vii$/, /^invoke_viidii$/, /^invoke_viii$/, /^invoke_viiii$/, /^invoke_viiiii$/, /^invoke_viiiiii$/, /^invoke_viiiiiii$/, /^invoke_viiiiiiiii$/, /^js_open_process$/, /^js_popen_to_file$/, /^js_fd_read$/, /^js_module_onMessage$/, /^js_waitpid$/, /^wasm_poll_socket$/, /^wasm_shutdown$/, /^fd_sync$/, /^__wasi_fd_sync$/, /^__asyncjs__.*$/, /^emscripten_promise_await$/, /^emscripten_idb_load$/, /^emscripten_idb_store$/, /^emscripten_idb_delete$/, /^emscripten_idb_exists$/, /^emscripten_idb_load_blob$/, /^emscripten_idb_store_blob$/, /^emscripten_sleep$/, /^emscripten_wget_data$/, /^emscripten_scan_registers$/, /^emscripten_lazy_load_code$/, /^_load_secondary_module$/, /^emscripten_fiber_swap$/, /^SDL_Delay$/ ];
6320
6409
  for (var x in imports) {
6321
6410
  (function(x) {
6322
6411
  var original = imports[x];
@@ -6737,81 +6826,83 @@ ERRNO_CODES = {
6737
6826
  "ESTRPIPE": 135
6738
6827
  };
6739
6828
 
6829
+ PHPWASM.init();
6830
+
6740
6831
  var wasmImports = {
6741
6832
  m: ___assert_fail,
6742
- Ya: ___call_sighandler,
6743
- Xa: ___syscall__newselect,
6744
- Wa: ___syscall_accept4,
6745
- Va: ___syscall_bind,
6746
- Ua: ___syscall_chdir,
6833
+ _a: ___call_sighandler,
6834
+ Za: ___syscall__newselect,
6835
+ Ya: ___syscall_accept4,
6836
+ Xa: ___syscall_bind,
6837
+ Wa: ___syscall_chdir,
6747
6838
  T: ___syscall_chmod,
6748
- Ta: ___syscall_connect,
6749
- Sa: ___syscall_dup,
6750
- Ra: ___syscall_dup3,
6751
- Qa: ___syscall_faccessat,
6839
+ Va: ___syscall_connect,
6840
+ Ua: ___syscall_dup,
6841
+ Ta: ___syscall_dup3,
6842
+ Sa: ___syscall_faccessat,
6752
6843
  ba: ___syscall_fallocate,
6753
- Pa: ___syscall_fchmod,
6754
- Oa: ___syscall_fchown32,
6844
+ Ra: ___syscall_fchmod,
6845
+ Qa: ___syscall_fchown32,
6755
6846
  S: ___syscall_fchownat,
6756
6847
  o: ___syscall_fcntl64,
6757
- Na: ___syscall_fdatasync,
6758
- Ma: ___syscall_fstat64,
6848
+ Pa: ___syscall_fdatasync,
6849
+ Oa: ___syscall_fstat64,
6759
6850
  aa: ___syscall_ftruncate64,
6760
- La: ___syscall_getcwd,
6761
- Ka: ___syscall_getdents64,
6762
- Ja: ___syscall_getpeername,
6763
- Ia: ___syscall_getsockname,
6764
- Ha: ___syscall_getsockopt,
6851
+ Na: ___syscall_getcwd,
6852
+ Ma: ___syscall_getdents64,
6853
+ La: ___syscall_getpeername,
6854
+ Ka: ___syscall_getsockname,
6855
+ Ja: ___syscall_getsockopt,
6765
6856
  R: ___syscall_ioctl,
6766
- Ga: ___syscall_listen,
6767
- Fa: ___syscall_lstat64,
6768
- Ea: ___syscall_mkdirat,
6769
- Da: ___syscall_newfstatat,
6857
+ Ia: ___syscall_listen,
6858
+ Ha: ___syscall_lstat64,
6859
+ Ga: ___syscall_mkdirat,
6860
+ Fa: ___syscall_newfstatat,
6770
6861
  x: ___syscall_openat,
6771
- Ca: ___syscall_pipe,
6772
- Ba: ___syscall_poll,
6773
- Aa: ___syscall_readlinkat,
6774
- za: ___syscall_recvfrom,
6775
- ya: ___syscall_renameat,
6862
+ Ea: ___syscall_pipe,
6863
+ Da: ___syscall_poll,
6864
+ Ca: ___syscall_readlinkat,
6865
+ Ba: ___syscall_recvfrom,
6866
+ Aa: ___syscall_renameat,
6776
6867
  Q: ___syscall_rmdir,
6777
- xa: ___syscall_sendto,
6868
+ za: ___syscall_sendto,
6778
6869
  P: ___syscall_socket,
6779
- wa: ___syscall_stat64,
6780
- va: ___syscall_statfs64,
6781
- ua: ___syscall_symlink,
6870
+ ya: ___syscall_stat64,
6871
+ xa: ___syscall_statfs64,
6872
+ wa: ___syscall_symlink,
6782
6873
  D: ___syscall_unlinkat,
6783
- ta: ___syscall_utimensat,
6784
- pa: __emscripten_get_now_is_monotonic,
6785
- oa: __emscripten_throw_longjmp,
6874
+ va: ___syscall_utimensat,
6875
+ ra: __emscripten_get_now_is_monotonic,
6876
+ qa: __emscripten_throw_longjmp,
6786
6877
  _: __gmtime_js,
6787
6878
  Z: __localtime_js,
6788
6879
  Y: __mktime_js,
6789
6880
  X: __mmap_js,
6790
6881
  W: __munmap_js,
6791
6882
  M: __setitimer_js,
6792
- na: __tzset_js,
6883
+ pa: __tzset_js,
6793
6884
  f: _abort,
6794
6885
  B: _emscripten_date_now,
6795
- ma: _emscripten_get_heap_max,
6886
+ oa: _emscripten_get_heap_max,
6796
6887
  v: _emscripten_get_now,
6797
- la: _emscripten_memcpy_big,
6798
- ka: _emscripten_resize_heap,
6888
+ na: _emscripten_memcpy_big,
6889
+ ma: _emscripten_resize_heap,
6799
6890
  L: _emscripten_sleep,
6800
- sa: _environ_get,
6801
- ra: _environ_sizes_get,
6891
+ ua: _environ_get,
6892
+ ta: _environ_sizes_get,
6802
6893
  p: _exit,
6803
6894
  s: _fd_close,
6804
6895
  O: _fd_fdstat_get,
6805
6896
  N: _fd_read,
6806
6897
  $: _fd_seek,
6807
6898
  C: _fd_write,
6808
- ja: _getaddrinfo,
6899
+ la: _getaddrinfo,
6809
6900
  K: _gethostbyaddr,
6810
6901
  J: _gethostbyname_r,
6811
- ia: _getloadavg,
6902
+ ka: _getloadavg,
6812
6903
  I: _getnameinfo,
6813
- ha: _getprotobyname,
6814
- ga: _getprotobynumber,
6904
+ ja: _getprotobyname,
6905
+ ia: _getprotobynumber,
6815
6906
  i: invoke_i,
6816
6907
  c: invoke_ii,
6817
6908
  b: invoke_iii,
@@ -6829,14 +6920,16 @@ var wasmImports = {
6829
6920
  j: invoke_viiii,
6830
6921
  n: invoke_viiiii,
6831
6922
  k: invoke_viiiiii,
6832
- fa: invoke_viiiiiii,
6923
+ ha: invoke_viiiiiii,
6833
6924
  z: invoke_viiiiiiiii,
6834
6925
  G: _js_create_input_device,
6835
- ea: _js_fd_read,
6836
- da: _js_module_onMessage,
6926
+ ga: _js_fd_read,
6927
+ fa: _js_module_onMessage,
6837
6928
  F: _js_open_process,
6838
- ca: _js_popen_to_file,
6839
- qa: _proc_exit,
6929
+ ea: _js_popen_to_file,
6930
+ da: _js_process_status,
6931
+ ca: _js_waitpid,
6932
+ sa: _proc_exit,
6840
6933
  E: _strftime,
6841
6934
  V: _strptime,
6842
6935
  t: _wasm_close,
@@ -6848,175 +6941,179 @@ var wasmImports = {
6848
6941
  var asm = createWasm();
6849
6942
 
6850
6943
  var ___wasm_call_ctors = function() {
6851
- return (___wasm_call_ctors = Module["asm"]["_a"]).apply(null, arguments);
6944
+ return (___wasm_call_ctors = Module["asm"]["ab"]).apply(null, arguments);
6852
6945
  };
6853
6946
 
6854
6947
  var _free = function() {
6855
- return (_free = Module["asm"]["$a"]).apply(null, arguments);
6948
+ return (_free = Module["asm"]["bb"]).apply(null, arguments);
6856
6949
  };
6857
6950
 
6858
6951
  var _memcpy = function() {
6859
- return (_memcpy = Module["asm"]["ab"]).apply(null, arguments);
6952
+ return (_memcpy = Module["asm"]["cb"]).apply(null, arguments);
6860
6953
  };
6861
6954
 
6862
6955
  var _malloc = function() {
6863
- return (_malloc = Module["asm"]["cb"]).apply(null, arguments);
6956
+ return (_malloc = Module["asm"]["eb"]).apply(null, arguments);
6864
6957
  };
6865
6958
 
6866
6959
  var setTempRet0 = function() {
6867
- return (setTempRet0 = Module["asm"]["db"]).apply(null, arguments);
6960
+ return (setTempRet0 = Module["asm"]["fb"]).apply(null, arguments);
6868
6961
  };
6869
6962
 
6870
6963
  var ___errno_location = function() {
6871
- return (___errno_location = Module["asm"]["eb"]).apply(null, arguments);
6964
+ return (___errno_location = Module["asm"]["gb"]).apply(null, arguments);
6872
6965
  };
6873
6966
 
6874
6967
  var _wasm_read = Module["_wasm_read"] = function() {
6875
- return (_wasm_read = Module["_wasm_read"] = Module["asm"]["fb"]).apply(null, arguments);
6968
+ return (_wasm_read = Module["_wasm_read"] = Module["asm"]["hb"]).apply(null, arguments);
6876
6969
  };
6877
6970
 
6878
6971
  var _fflush = Module["_fflush"] = function() {
6879
- return (_fflush = Module["_fflush"] = Module["asm"]["gb"]).apply(null, arguments);
6972
+ return (_fflush = Module["_fflush"] = Module["asm"]["ib"]).apply(null, arguments);
6880
6973
  };
6881
6974
 
6882
6975
  var _wasm_popen = Module["_wasm_popen"] = function() {
6883
- return (_wasm_popen = Module["_wasm_popen"] = Module["asm"]["hb"]).apply(null, arguments);
6976
+ return (_wasm_popen = Module["_wasm_popen"] = Module["asm"]["jb"]).apply(null, arguments);
6884
6977
  };
6885
6978
 
6886
6979
  var _wasm_php_exec = Module["_wasm_php_exec"] = function() {
6887
- return (_wasm_php_exec = Module["_wasm_php_exec"] = Module["asm"]["ib"]).apply(null, arguments);
6980
+ return (_wasm_php_exec = Module["_wasm_php_exec"] = Module["asm"]["kb"]).apply(null, arguments);
6888
6981
  };
6889
6982
 
6890
6983
  var _php_pollfd_for = Module["_php_pollfd_for"] = function() {
6891
- return (_php_pollfd_for = Module["_php_pollfd_for"] = Module["asm"]["jb"]).apply(null, arguments);
6984
+ return (_php_pollfd_for = Module["_php_pollfd_for"] = Module["asm"]["lb"]).apply(null, arguments);
6892
6985
  };
6893
6986
 
6894
6987
  var _htons = function() {
6895
- return (_htons = Module["asm"]["kb"]).apply(null, arguments);
6988
+ return (_htons = Module["asm"]["mb"]).apply(null, arguments);
6896
6989
  };
6897
6990
 
6898
6991
  var _ntohs = function() {
6899
- return (_ntohs = Module["asm"]["lb"]).apply(null, arguments);
6992
+ return (_ntohs = Module["asm"]["nb"]).apply(null, arguments);
6900
6993
  };
6901
6994
 
6902
6995
  var _htonl = function() {
6903
- return (_htonl = Module["asm"]["mb"]).apply(null, arguments);
6996
+ return (_htonl = Module["asm"]["ob"]).apply(null, arguments);
6904
6997
  };
6905
6998
 
6906
6999
  var _wasm_sleep = Module["_wasm_sleep"] = function() {
6907
- return (_wasm_sleep = Module["_wasm_sleep"] = Module["asm"]["nb"]).apply(null, arguments);
7000
+ return (_wasm_sleep = Module["_wasm_sleep"] = Module["asm"]["pb"]).apply(null, arguments);
6908
7001
  };
6909
7002
 
6910
7003
  var _wasm_select = Module["_wasm_select"] = function() {
6911
- return (_wasm_select = Module["_wasm_select"] = Module["asm"]["ob"]).apply(null, arguments);
7004
+ return (_wasm_select = Module["_wasm_select"] = Module["asm"]["qb"]).apply(null, arguments);
6912
7005
  };
6913
7006
 
6914
7007
  var _wasm_add_cli_arg = Module["_wasm_add_cli_arg"] = function() {
6915
- return (_wasm_add_cli_arg = Module["_wasm_add_cli_arg"] = Module["asm"]["pb"]).apply(null, arguments);
7008
+ return (_wasm_add_cli_arg = Module["_wasm_add_cli_arg"] = Module["asm"]["rb"]).apply(null, arguments);
6916
7009
  };
6917
7010
 
6918
7011
  var _run_cli = Module["_run_cli"] = function() {
6919
- return (_run_cli = Module["_run_cli"] = Module["asm"]["qb"]).apply(null, arguments);
7012
+ return (_run_cli = Module["_run_cli"] = Module["asm"]["sb"]).apply(null, arguments);
7013
+ };
7014
+
7015
+ var _wasm_set_sapi_name = Module["_wasm_set_sapi_name"] = function() {
7016
+ return (_wasm_set_sapi_name = Module["_wasm_set_sapi_name"] = Module["asm"]["tb"]).apply(null, arguments);
6920
7017
  };
6921
7018
 
6922
7019
  var _wasm_set_phpini_path = Module["_wasm_set_phpini_path"] = function() {
6923
- return (_wasm_set_phpini_path = Module["_wasm_set_phpini_path"] = Module["asm"]["rb"]).apply(null, arguments);
7020
+ return (_wasm_set_phpini_path = Module["_wasm_set_phpini_path"] = Module["asm"]["ub"]).apply(null, arguments);
6924
7021
  };
6925
7022
 
6926
7023
  var _wasm_set_phpini_entries = Module["_wasm_set_phpini_entries"] = function() {
6927
- return (_wasm_set_phpini_entries = Module["_wasm_set_phpini_entries"] = Module["asm"]["sb"]).apply(null, arguments);
7024
+ return (_wasm_set_phpini_entries = Module["_wasm_set_phpini_entries"] = Module["asm"]["vb"]).apply(null, arguments);
6928
7025
  };
6929
7026
 
6930
7027
  var _wasm_add_SERVER_entry = Module["_wasm_add_SERVER_entry"] = function() {
6931
- return (_wasm_add_SERVER_entry = Module["_wasm_add_SERVER_entry"] = Module["asm"]["tb"]).apply(null, arguments);
7028
+ return (_wasm_add_SERVER_entry = Module["_wasm_add_SERVER_entry"] = Module["asm"]["wb"]).apply(null, arguments);
6932
7029
  };
6933
7030
 
6934
7031
  var _wasm_add_uploaded_file = Module["_wasm_add_uploaded_file"] = function() {
6935
- return (_wasm_add_uploaded_file = Module["_wasm_add_uploaded_file"] = Module["asm"]["ub"]).apply(null, arguments);
7032
+ return (_wasm_add_uploaded_file = Module["_wasm_add_uploaded_file"] = Module["asm"]["xb"]).apply(null, arguments);
6936
7033
  };
6937
7034
 
6938
7035
  var _wasm_set_query_string = Module["_wasm_set_query_string"] = function() {
6939
- return (_wasm_set_query_string = Module["_wasm_set_query_string"] = Module["asm"]["vb"]).apply(null, arguments);
7036
+ return (_wasm_set_query_string = Module["_wasm_set_query_string"] = Module["asm"]["yb"]).apply(null, arguments);
6940
7037
  };
6941
7038
 
6942
7039
  var _wasm_set_path_translated = Module["_wasm_set_path_translated"] = function() {
6943
- return (_wasm_set_path_translated = Module["_wasm_set_path_translated"] = Module["asm"]["wb"]).apply(null, arguments);
7040
+ return (_wasm_set_path_translated = Module["_wasm_set_path_translated"] = Module["asm"]["zb"]).apply(null, arguments);
6944
7041
  };
6945
7042
 
6946
7043
  var _wasm_set_skip_shebang = Module["_wasm_set_skip_shebang"] = function() {
6947
- return (_wasm_set_skip_shebang = Module["_wasm_set_skip_shebang"] = Module["asm"]["xb"]).apply(null, arguments);
7044
+ return (_wasm_set_skip_shebang = Module["_wasm_set_skip_shebang"] = Module["asm"]["Ab"]).apply(null, arguments);
6948
7045
  };
6949
7046
 
6950
7047
  var _wasm_set_request_uri = Module["_wasm_set_request_uri"] = function() {
6951
- return (_wasm_set_request_uri = Module["_wasm_set_request_uri"] = Module["asm"]["yb"]).apply(null, arguments);
7048
+ return (_wasm_set_request_uri = Module["_wasm_set_request_uri"] = Module["asm"]["Bb"]).apply(null, arguments);
6952
7049
  };
6953
7050
 
6954
7051
  var _wasm_set_request_method = Module["_wasm_set_request_method"] = function() {
6955
- return (_wasm_set_request_method = Module["_wasm_set_request_method"] = Module["asm"]["zb"]).apply(null, arguments);
7052
+ return (_wasm_set_request_method = Module["_wasm_set_request_method"] = Module["asm"]["Cb"]).apply(null, arguments);
6956
7053
  };
6957
7054
 
6958
7055
  var _wasm_set_request_host = Module["_wasm_set_request_host"] = function() {
6959
- return (_wasm_set_request_host = Module["_wasm_set_request_host"] = Module["asm"]["Ab"]).apply(null, arguments);
7056
+ return (_wasm_set_request_host = Module["_wasm_set_request_host"] = Module["asm"]["Db"]).apply(null, arguments);
6960
7057
  };
6961
7058
 
6962
7059
  var _wasm_set_content_type = Module["_wasm_set_content_type"] = function() {
6963
- return (_wasm_set_content_type = Module["_wasm_set_content_type"] = Module["asm"]["Bb"]).apply(null, arguments);
7060
+ return (_wasm_set_content_type = Module["_wasm_set_content_type"] = Module["asm"]["Eb"]).apply(null, arguments);
6964
7061
  };
6965
7062
 
6966
7063
  var _wasm_set_request_body = Module["_wasm_set_request_body"] = function() {
6967
- return (_wasm_set_request_body = Module["_wasm_set_request_body"] = Module["asm"]["Cb"]).apply(null, arguments);
7064
+ return (_wasm_set_request_body = Module["_wasm_set_request_body"] = Module["asm"]["Fb"]).apply(null, arguments);
6968
7065
  };
6969
7066
 
6970
7067
  var _wasm_set_content_length = Module["_wasm_set_content_length"] = function() {
6971
- return (_wasm_set_content_length = Module["_wasm_set_content_length"] = Module["asm"]["Db"]).apply(null, arguments);
7068
+ return (_wasm_set_content_length = Module["_wasm_set_content_length"] = Module["asm"]["Gb"]).apply(null, arguments);
6972
7069
  };
6973
7070
 
6974
7071
  var _wasm_set_cookies = Module["_wasm_set_cookies"] = function() {
6975
- return (_wasm_set_cookies = Module["_wasm_set_cookies"] = Module["asm"]["Eb"]).apply(null, arguments);
7072
+ return (_wasm_set_cookies = Module["_wasm_set_cookies"] = Module["asm"]["Hb"]).apply(null, arguments);
6976
7073
  };
6977
7074
 
6978
7075
  var _wasm_set_php_code = Module["_wasm_set_php_code"] = function() {
6979
- return (_wasm_set_php_code = Module["_wasm_set_php_code"] = Module["asm"]["Fb"]).apply(null, arguments);
7076
+ return (_wasm_set_php_code = Module["_wasm_set_php_code"] = Module["asm"]["Ib"]).apply(null, arguments);
6980
7077
  };
6981
7078
 
6982
7079
  var _wasm_set_request_port = Module["_wasm_set_request_port"] = function() {
6983
- return (_wasm_set_request_port = Module["_wasm_set_request_port"] = Module["asm"]["Gb"]).apply(null, arguments);
7080
+ return (_wasm_set_request_port = Module["_wasm_set_request_port"] = Module["asm"]["Jb"]).apply(null, arguments);
6984
7081
  };
6985
7082
 
6986
7083
  var _phpwasm_init_uploaded_files_hash = Module["_phpwasm_init_uploaded_files_hash"] = function() {
6987
- return (_phpwasm_init_uploaded_files_hash = Module["_phpwasm_init_uploaded_files_hash"] = Module["asm"]["Hb"]).apply(null, arguments);
7084
+ return (_phpwasm_init_uploaded_files_hash = Module["_phpwasm_init_uploaded_files_hash"] = Module["asm"]["Kb"]).apply(null, arguments);
6988
7085
  };
6989
7086
 
6990
7087
  var _phpwasm_register_uploaded_file = Module["_phpwasm_register_uploaded_file"] = function() {
6991
- return (_phpwasm_register_uploaded_file = Module["_phpwasm_register_uploaded_file"] = Module["asm"]["Ib"]).apply(null, arguments);
7088
+ return (_phpwasm_register_uploaded_file = Module["_phpwasm_register_uploaded_file"] = Module["asm"]["Lb"]).apply(null, arguments);
6992
7089
  };
6993
7090
 
6994
7091
  var _phpwasm_destroy_uploaded_files_hash = Module["_phpwasm_destroy_uploaded_files_hash"] = function() {
6995
- return (_phpwasm_destroy_uploaded_files_hash = Module["_phpwasm_destroy_uploaded_files_hash"] = Module["asm"]["Jb"]).apply(null, arguments);
7092
+ return (_phpwasm_destroy_uploaded_files_hash = Module["_phpwasm_destroy_uploaded_files_hash"] = Module["asm"]["Mb"]).apply(null, arguments);
6996
7093
  };
6997
7094
 
6998
7095
  var _wasm_sapi_handle_request = Module["_wasm_sapi_handle_request"] = function() {
6999
- return (_wasm_sapi_handle_request = Module["_wasm_sapi_handle_request"] = Module["asm"]["Kb"]).apply(null, arguments);
7096
+ return (_wasm_sapi_handle_request = Module["_wasm_sapi_handle_request"] = Module["asm"]["Nb"]).apply(null, arguments);
7000
7097
  };
7001
7098
 
7002
7099
  var _php_wasm_init = Module["_php_wasm_init"] = function() {
7003
- return (_php_wasm_init = Module["_php_wasm_init"] = Module["asm"]["Lb"]).apply(null, arguments);
7100
+ return (_php_wasm_init = Module["_php_wasm_init"] = Module["asm"]["Ob"]).apply(null, arguments);
7004
7101
  };
7005
7102
 
7006
7103
  var ___funcs_on_exit = function() {
7007
- return (___funcs_on_exit = Module["asm"]["Mb"]).apply(null, arguments);
7104
+ return (___funcs_on_exit = Module["asm"]["Pb"]).apply(null, arguments);
7008
7105
  };
7009
7106
 
7010
7107
  var _emscripten_builtin_memalign = function() {
7011
- return (_emscripten_builtin_memalign = Module["asm"]["Nb"]).apply(null, arguments);
7108
+ return (_emscripten_builtin_memalign = Module["asm"]["Qb"]).apply(null, arguments);
7012
7109
  };
7013
7110
 
7014
7111
  var __emscripten_timeout = function() {
7015
- return (__emscripten_timeout = Module["asm"]["Ob"]).apply(null, arguments);
7112
+ return (__emscripten_timeout = Module["asm"]["Rb"]).apply(null, arguments);
7016
7113
  };
7017
7114
 
7018
7115
  var _setThrew = function() {
7019
- return (_setThrew = Module["asm"]["Pb"]).apply(null, arguments);
7116
+ return (_setThrew = Module["asm"]["Sb"]).apply(null, arguments);
7020
7117
  };
7021
7118
 
7022
7119
  var _emscripten_stack_set_limits = function() {
@@ -7032,107 +7129,107 @@ var _emscripten_stack_get_end = function() {
7032
7129
  };
7033
7130
 
7034
7131
  var stackSave = function() {
7035
- return (stackSave = Module["asm"]["Qb"]).apply(null, arguments);
7132
+ return (stackSave = Module["asm"]["Tb"]).apply(null, arguments);
7036
7133
  };
7037
7134
 
7038
7135
  var stackRestore = function() {
7039
- return (stackRestore = Module["asm"]["Rb"]).apply(null, arguments);
7136
+ return (stackRestore = Module["asm"]["Ub"]).apply(null, arguments);
7040
7137
  };
7041
7138
 
7042
7139
  var stackAlloc = function() {
7043
- return (stackAlloc = Module["asm"]["Sb"]).apply(null, arguments);
7140
+ return (stackAlloc = Module["asm"]["Vb"]).apply(null, arguments);
7044
7141
  };
7045
7142
 
7046
7143
  var dynCall_iiii = Module["dynCall_iiii"] = function() {
7047
- return (dynCall_iiii = Module["dynCall_iiii"] = Module["asm"]["Tb"]).apply(null, arguments);
7144
+ return (dynCall_iiii = Module["dynCall_iiii"] = Module["asm"]["Wb"]).apply(null, arguments);
7048
7145
  };
7049
7146
 
7050
7147
  var dynCall_ii = Module["dynCall_ii"] = function() {
7051
- return (dynCall_ii = Module["dynCall_ii"] = Module["asm"]["Ub"]).apply(null, arguments);
7148
+ return (dynCall_ii = Module["dynCall_ii"] = Module["asm"]["Xb"]).apply(null, arguments);
7052
7149
  };
7053
7150
 
7054
7151
  var dynCall_vi = Module["dynCall_vi"] = function() {
7055
- return (dynCall_vi = Module["dynCall_vi"] = Module["asm"]["Vb"]).apply(null, arguments);
7152
+ return (dynCall_vi = Module["dynCall_vi"] = Module["asm"]["Yb"]).apply(null, arguments);
7056
7153
  };
7057
7154
 
7058
7155
  var dynCall_vii = Module["dynCall_vii"] = function() {
7059
- return (dynCall_vii = Module["dynCall_vii"] = Module["asm"]["Wb"]).apply(null, arguments);
7156
+ return (dynCall_vii = Module["dynCall_vii"] = Module["asm"]["Zb"]).apply(null, arguments);
7060
7157
  };
7061
7158
 
7062
7159
  var dynCall_viiiii = Module["dynCall_viiiii"] = function() {
7063
- return (dynCall_viiiii = Module["dynCall_viiiii"] = Module["asm"]["Xb"]).apply(null, arguments);
7160
+ return (dynCall_viiiii = Module["dynCall_viiiii"] = Module["asm"]["_b"]).apply(null, arguments);
7064
7161
  };
7065
7162
 
7066
7163
  var dynCall_iii = Module["dynCall_iii"] = function() {
7067
- return (dynCall_iii = Module["dynCall_iii"] = Module["asm"]["Yb"]).apply(null, arguments);
7164
+ return (dynCall_iii = Module["dynCall_iii"] = Module["asm"]["$b"]).apply(null, arguments);
7068
7165
  };
7069
7166
 
7070
7167
  var dynCall_iiiii = Module["dynCall_iiiii"] = function() {
7071
- return (dynCall_iiiii = Module["dynCall_iiiii"] = Module["asm"]["Zb"]).apply(null, arguments);
7168
+ return (dynCall_iiiii = Module["dynCall_iiiii"] = Module["asm"]["ac"]).apply(null, arguments);
7072
7169
  };
7073
7170
 
7074
7171
  var dynCall_iiiiiii = Module["dynCall_iiiiiii"] = function() {
7075
- return (dynCall_iiiiiii = Module["dynCall_iiiiiii"] = Module["asm"]["_b"]).apply(null, arguments);
7172
+ return (dynCall_iiiiiii = Module["dynCall_iiiiiii"] = Module["asm"]["bc"]).apply(null, arguments);
7076
7173
  };
7077
7174
 
7078
7175
  var dynCall_iiiiii = Module["dynCall_iiiiii"] = function() {
7079
- return (dynCall_iiiiii = Module["dynCall_iiiiii"] = Module["asm"]["$b"]).apply(null, arguments);
7176
+ return (dynCall_iiiiii = Module["dynCall_iiiiii"] = Module["asm"]["cc"]).apply(null, arguments);
7080
7177
  };
7081
7178
 
7082
7179
  var dynCall_i = Module["dynCall_i"] = function() {
7083
- return (dynCall_i = Module["dynCall_i"] = Module["asm"]["ac"]).apply(null, arguments);
7180
+ return (dynCall_i = Module["dynCall_i"] = Module["asm"]["dc"]).apply(null, arguments);
7084
7181
  };
7085
7182
 
7086
7183
  var dynCall_viii = Module["dynCall_viii"] = function() {
7087
- return (dynCall_viii = Module["dynCall_viii"] = Module["asm"]["bc"]).apply(null, arguments);
7184
+ return (dynCall_viii = Module["dynCall_viii"] = Module["asm"]["ec"]).apply(null, arguments);
7088
7185
  };
7089
7186
 
7090
7187
  var dynCall_viiii = Module["dynCall_viiii"] = function() {
7091
- return (dynCall_viiii = Module["dynCall_viiii"] = Module["asm"]["cc"]).apply(null, arguments);
7188
+ return (dynCall_viiii = Module["dynCall_viiii"] = Module["asm"]["fc"]).apply(null, arguments);
7092
7189
  };
7093
7190
 
7094
7191
  var dynCall_v = Module["dynCall_v"] = function() {
7095
- return (dynCall_v = Module["dynCall_v"] = Module["asm"]["dc"]).apply(null, arguments);
7192
+ return (dynCall_v = Module["dynCall_v"] = Module["asm"]["gc"]).apply(null, arguments);
7096
7193
  };
7097
7194
 
7098
7195
  var dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = function() {
7099
- return (dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = Module["asm"]["ec"]).apply(null, arguments);
7196
+ return (dynCall_viiiiiiiii = Module["dynCall_viiiiiiiii"] = Module["asm"]["hc"]).apply(null, arguments);
7100
7197
  };
7101
7198
 
7102
7199
  var dynCall_viiiiiii = Module["dynCall_viiiiiii"] = function() {
7103
- return (dynCall_viiiiiii = Module["dynCall_viiiiiii"] = Module["asm"]["fc"]).apply(null, arguments);
7200
+ return (dynCall_viiiiiii = Module["dynCall_viiiiiii"] = Module["asm"]["ic"]).apply(null, arguments);
7104
7201
  };
7105
7202
 
7106
7203
  var dynCall_viiiiii = Module["dynCall_viiiiii"] = function() {
7107
- return (dynCall_viiiiii = Module["dynCall_viiiiii"] = Module["asm"]["gc"]).apply(null, arguments);
7204
+ return (dynCall_viiiiii = Module["dynCall_viiiiii"] = Module["asm"]["jc"]).apply(null, arguments);
7108
7205
  };
7109
7206
 
7110
7207
  var dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = function() {
7111
- return (dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = Module["asm"]["hc"]).apply(null, arguments);
7208
+ return (dynCall_iiiiiiii = Module["dynCall_iiiiiiii"] = Module["asm"]["kc"]).apply(null, arguments);
7112
7209
  };
7113
7210
 
7114
7211
  var dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = function() {
7115
- return (dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = Module["asm"]["ic"]).apply(null, arguments);
7212
+ return (dynCall_iiiiiiiiii = Module["dynCall_iiiiiiiiii"] = Module["asm"]["lc"]).apply(null, arguments);
7116
7213
  };
7117
7214
 
7118
7215
  var dynCall_viidii = Module["dynCall_viidii"] = function() {
7119
- return (dynCall_viidii = Module["dynCall_viidii"] = Module["asm"]["jc"]).apply(null, arguments);
7216
+ return (dynCall_viidii = Module["dynCall_viidii"] = Module["asm"]["mc"]).apply(null, arguments);
7120
7217
  };
7121
7218
 
7122
7219
  var _asyncify_start_unwind = function() {
7123
- return (_asyncify_start_unwind = Module["asm"]["kc"]).apply(null, arguments);
7220
+ return (_asyncify_start_unwind = Module["asm"]["nc"]).apply(null, arguments);
7124
7221
  };
7125
7222
 
7126
7223
  var _asyncify_stop_unwind = function() {
7127
- return (_asyncify_stop_unwind = Module["asm"]["lc"]).apply(null, arguments);
7224
+ return (_asyncify_stop_unwind = Module["asm"]["oc"]).apply(null, arguments);
7128
7225
  };
7129
7226
 
7130
7227
  var _asyncify_start_rewind = function() {
7131
- return (_asyncify_start_rewind = Module["asm"]["mc"]).apply(null, arguments);
7228
+ return (_asyncify_start_rewind = Module["asm"]["pc"]).apply(null, arguments);
7132
7229
  };
7133
7230
 
7134
7231
  var _asyncify_stop_rewind = function() {
7135
- return (_asyncify_stop_rewind = Module["asm"]["nc"]).apply(null, arguments);
7232
+ return (_asyncify_stop_rewind = Module["asm"]["qc"]).apply(null, arguments);
7136
7233
  };
7137
7234
 
7138
7235
  function invoke_iiiiiii(index, a1, a2, a3, a4, a5, a6) {
@@ -7360,14 +7457,8 @@ Module["FS_unlink"] = FS.unlink;
7360
7457
 
7361
7458
  Module["ccall"] = ccall;
7362
7459
 
7363
- Module["UTF8ToString"] = UTF8ToString;
7364
-
7365
- Module["lengthBytesUTF8"] = lengthBytesUTF8;
7366
-
7367
7460
  Module["FS_createPreloadedFile"] = FS.createPreloadedFile;
7368
7461
 
7369
- Module["FS"] = FS;
7370
-
7371
7462
  var calledRun;
7372
7463
 
7373
7464
  dependenciesFulfilled = function runCaller() {
@@ -7451,6 +7542,9 @@ PHPLoader['removeRunDependency'] = function (...args) {
7451
7542
  }
7452
7543
  }
7453
7544
 
7545
+ PHPLoader['malloc'] = _malloc;
7546
+ PHPLoader['free'] = _free;
7547
+
7454
7548
  return PHPLoader;
7455
7549
 
7456
7550
  // Close the opening bracket from esm-prefix.js: