@mediapipe/tasks-vision 0.1.0-alpha-11 → 0.1.0-alpha-13

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.
@@ -1,11 +1,10 @@
1
- // Build 523775288
1
+ // Build 527689245
2
2
 
3
3
  var ModuleFactory = (() => {
4
4
  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
5
5
  if (typeof __filename !== 'undefined') _scriptDir = _scriptDir || __filename;
6
6
  return (
7
- function(ModuleFactory) {
8
- ModuleFactory = ModuleFactory || {};
7
+ function(ModuleFactory = {}) {
9
8
 
10
9
  var Module = typeof ModuleFactory != "undefined" ? ModuleFactory : {};
11
10
 
@@ -43,12 +42,6 @@ function locateFile(path) {
43
42
 
44
43
  var read_, readAsync, readBinary, setWindowTitle;
45
44
 
46
- function logExceptionOnExit(e) {
47
- if (e instanceof ExitStatus) return;
48
- let toLog = e;
49
- err("exiting due to exception: " + toLog);
50
- }
51
-
52
45
  if (ENVIRONMENT_IS_NODE) {
53
46
  var fs = require("fs");
54
47
  var nodePath = require("path");
@@ -74,25 +67,13 @@ if (ENVIRONMENT_IS_NODE) {
74
67
  if (err) onerror(err); else onload(data.buffer);
75
68
  });
76
69
  };
77
- if (process["argv"].length > 1) {
78
- thisProgram = process["argv"][1].replace(/\\/g, "/");
70
+ if (!Module["thisProgram"] && process.argv.length > 1) {
71
+ thisProgram = process.argv[1].replace(/\\/g, "/");
79
72
  }
80
- arguments_ = process["argv"].slice(2);
81
- process["on"]("uncaughtException", function(ex) {
82
- if (!(ex instanceof ExitStatus)) {
83
- throw ex;
84
- }
85
- });
86
- process["on"]("unhandledRejection", function(reason) {
87
- throw reason;
88
- });
73
+ arguments_ = process.argv.slice(2);
89
74
  quit_ = (status, toThrow) => {
90
- if (keepRuntimeAlive()) {
91
- process["exitCode"] = status;
92
- throw toThrow;
93
- }
94
- logExceptionOnExit(toThrow);
95
- process["exit"](status);
75
+ process.exitCode = status;
76
+ throw toThrow;
96
77
  };
97
78
  Module["inspect"] = function() {
98
79
  return "[Emscripten Module object]";
@@ -181,119 +162,20 @@ function assert(condition, text) {
181
162
  }
182
163
  }
183
164
 
184
- var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : undefined;
165
+ var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
185
166
 
186
- function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {
187
- var endIdx = idx + maxBytesToRead;
188
- var endPtr = idx;
189
- while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;
190
- if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
191
- return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
192
- }
193
- var str = "";
194
- while (idx < endPtr) {
195
- var u0 = heapOrArray[idx++];
196
- if (!(u0 & 128)) {
197
- str += String.fromCharCode(u0);
198
- continue;
199
- }
200
- var u1 = heapOrArray[idx++] & 63;
201
- if ((u0 & 224) == 192) {
202
- str += String.fromCharCode((u0 & 31) << 6 | u1);
203
- continue;
204
- }
205
- var u2 = heapOrArray[idx++] & 63;
206
- if ((u0 & 240) == 224) {
207
- u0 = (u0 & 15) << 12 | u1 << 6 | u2;
208
- } else {
209
- u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
210
- }
211
- if (u0 < 65536) {
212
- str += String.fromCharCode(u0);
213
- } else {
214
- var ch = u0 - 65536;
215
- str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
216
- }
217
- }
218
- return str;
167
+ function updateMemoryViews() {
168
+ var b = wasmMemory.buffer;
169
+ Module["HEAP8"] = HEAP8 = new Int8Array(b);
170
+ Module["HEAP16"] = HEAP16 = new Int16Array(b);
171
+ Module["HEAP32"] = HEAP32 = new Int32Array(b);
172
+ Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
173
+ Module["HEAPU16"] = HEAPU16 = new Uint16Array(b);
174
+ Module["HEAPU32"] = HEAPU32 = new Uint32Array(b);
175
+ Module["HEAPF32"] = HEAPF32 = new Float32Array(b);
176
+ Module["HEAPF64"] = HEAPF64 = new Float64Array(b);
219
177
  }
220
178
 
221
- function UTF8ToString(ptr, maxBytesToRead) {
222
- return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
223
- }
224
-
225
- function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
226
- if (!(maxBytesToWrite > 0)) return 0;
227
- var startIdx = outIdx;
228
- var endIdx = outIdx + maxBytesToWrite - 1;
229
- for (var i = 0; i < str.length; ++i) {
230
- var u = str.charCodeAt(i);
231
- if (u >= 55296 && u <= 57343) {
232
- var u1 = str.charCodeAt(++i);
233
- u = 65536 + ((u & 1023) << 10) | u1 & 1023;
234
- }
235
- if (u <= 127) {
236
- if (outIdx >= endIdx) break;
237
- heap[outIdx++] = u;
238
- } else if (u <= 2047) {
239
- if (outIdx + 1 >= endIdx) break;
240
- heap[outIdx++] = 192 | u >> 6;
241
- heap[outIdx++] = 128 | u & 63;
242
- } else if (u <= 65535) {
243
- if (outIdx + 2 >= endIdx) break;
244
- heap[outIdx++] = 224 | u >> 12;
245
- heap[outIdx++] = 128 | u >> 6 & 63;
246
- heap[outIdx++] = 128 | u & 63;
247
- } else {
248
- if (outIdx + 3 >= endIdx) break;
249
- heap[outIdx++] = 240 | u >> 18;
250
- heap[outIdx++] = 128 | u >> 12 & 63;
251
- heap[outIdx++] = 128 | u >> 6 & 63;
252
- heap[outIdx++] = 128 | u & 63;
253
- }
254
- }
255
- heap[outIdx] = 0;
256
- return outIdx - startIdx;
257
- }
258
-
259
- function stringToUTF8(str, outPtr, maxBytesToWrite) {
260
- return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
261
- }
262
-
263
- function lengthBytesUTF8(str) {
264
- var len = 0;
265
- for (var i = 0; i < str.length; ++i) {
266
- var c = str.charCodeAt(i);
267
- if (c <= 127) {
268
- len++;
269
- } else if (c <= 2047) {
270
- len += 2;
271
- } else if (c >= 55296 && c <= 57343) {
272
- len += 4;
273
- ++i;
274
- } else {
275
- len += 3;
276
- }
277
- }
278
- return len;
279
- }
280
-
281
- var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
282
-
283
- function updateGlobalBufferAndViews(buf) {
284
- buffer = buf;
285
- Module["HEAP8"] = HEAP8 = new Int8Array(buf);
286
- Module["HEAP16"] = HEAP16 = new Int16Array(buf);
287
- Module["HEAP32"] = HEAP32 = new Int32Array(buf);
288
- Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);
289
- Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf);
290
- Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf);
291
- Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);
292
- Module["HEAPF64"] = HEAPF64 = new Float64Array(buf);
293
- }
294
-
295
- var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216;
296
-
297
179
  var wasmTable;
298
180
 
299
181
  var __ATPRERUN__ = [];
@@ -306,8 +188,10 @@ var __ATPOSTRUN__ = [];
306
188
 
307
189
  var runtimeInitialized = false;
308
190
 
191
+ var runtimeKeepaliveCounter = 0;
192
+
309
193
  function keepRuntimeAlive() {
310
- return noExitRuntime;
194
+ return noExitRuntime || runtimeKeepaliveCounter > 0;
311
195
  }
312
196
 
313
197
  function preRun() {
@@ -431,23 +315,23 @@ function getBinary(file) {
431
315
  }
432
316
  }
433
317
 
434
- function getBinaryPromise() {
318
+ function getBinaryPromise(binaryFile) {
435
319
  if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {
436
- if (typeof fetch == "function" && !isFileURI(wasmBinaryFile)) {
437
- return fetch(wasmBinaryFile, {
320
+ if (typeof fetch == "function" && !isFileURI(binaryFile)) {
321
+ return fetch(binaryFile, {
438
322
  credentials: "same-origin"
439
323
  }).then(function(response) {
440
324
  if (!response["ok"]) {
441
- throw "failed to load wasm binary file at '" + wasmBinaryFile + "'";
325
+ throw "failed to load wasm binary file at '" + binaryFile + "'";
442
326
  }
443
327
  return response["arrayBuffer"]();
444
328
  }).catch(function() {
445
- return getBinary(wasmBinaryFile);
329
+ return getBinary(binaryFile);
446
330
  });
447
331
  } else {
448
332
  if (readAsync) {
449
333
  return new Promise(function(resolve, reject) {
450
- readAsync(wasmBinaryFile, function(response) {
334
+ readAsync(binaryFile, function(response) {
451
335
  resolve(new Uint8Array(response));
452
336
  }, reject);
453
337
  });
@@ -455,63 +339,65 @@ function getBinaryPromise() {
455
339
  }
456
340
  }
457
341
  return Promise.resolve().then(function() {
458
- return getBinary(wasmBinaryFile);
342
+ return getBinary(binaryFile);
343
+ });
344
+ }
345
+
346
+ function instantiateArrayBuffer(binaryFile, imports, receiver) {
347
+ return getBinaryPromise(binaryFile).then(function(binary) {
348
+ return WebAssembly.instantiate(binary, imports);
349
+ }).then(function(instance) {
350
+ return instance;
351
+ }).then(receiver, function(reason) {
352
+ err("failed to asynchronously prepare wasm: " + reason);
353
+ abort(reason);
459
354
  });
460
355
  }
461
356
 
357
+ function instantiateAsync(binary, binaryFile, imports, callback) {
358
+ if (!binary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(binaryFile) && !isFileURI(binaryFile) && !ENVIRONMENT_IS_NODE && typeof fetch == "function") {
359
+ return fetch(binaryFile, {
360
+ credentials: "same-origin"
361
+ }).then(function(response) {
362
+ var result = WebAssembly.instantiateStreaming(response, imports);
363
+ return result.then(callback, function(reason) {
364
+ err("wasm streaming compile failed: " + reason);
365
+ err("falling back to ArrayBuffer instantiation");
366
+ return instantiateArrayBuffer(binaryFile, imports, callback);
367
+ });
368
+ });
369
+ } else {
370
+ return instantiateArrayBuffer(binaryFile, imports, callback);
371
+ }
372
+ }
373
+
462
374
  function createWasm() {
463
375
  var info = {
464
- "a": asmLibraryArg
376
+ "a": wasmImports
465
377
  };
466
378
  function receiveInstance(instance, module) {
467
379
  var exports = instance.exports;
468
380
  Module["asm"] = exports;
469
381
  wasmMemory = Module["asm"]["ld"];
470
- updateGlobalBufferAndViews(wasmMemory.buffer);
382
+ updateMemoryViews();
471
383
  wasmTable = Module["asm"]["nd"];
472
384
  addOnInit(Module["asm"]["md"]);
473
385
  removeRunDependency("wasm-instantiate");
386
+ return exports;
474
387
  }
475
388
  addRunDependency("wasm-instantiate");
476
389
  function receiveInstantiationResult(result) {
477
390
  receiveInstance(result["instance"]);
478
391
  }
479
- function instantiateArrayBuffer(receiver) {
480
- return getBinaryPromise().then(function(binary) {
481
- return WebAssembly.instantiate(binary, info);
482
- }).then(function(instance) {
483
- return instance;
484
- }).then(receiver, function(reason) {
485
- err("failed to asynchronously prepare wasm: " + reason);
486
- abort(reason);
487
- });
488
- }
489
- function instantiateAsync() {
490
- if (!wasmBinary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(wasmBinaryFile) && !isFileURI(wasmBinaryFile) && !ENVIRONMENT_IS_NODE && typeof fetch == "function") {
491
- return fetch(wasmBinaryFile, {
492
- credentials: "same-origin"
493
- }).then(function(response) {
494
- var result = WebAssembly.instantiateStreaming(response, info);
495
- return result.then(receiveInstantiationResult, function(reason) {
496
- err("wasm streaming compile failed: " + reason);
497
- err("falling back to ArrayBuffer instantiation");
498
- return instantiateArrayBuffer(receiveInstantiationResult);
499
- });
500
- });
501
- } else {
502
- return instantiateArrayBuffer(receiveInstantiationResult);
503
- }
504
- }
505
392
  if (Module["instantiateWasm"]) {
506
393
  try {
507
- var exports = Module["instantiateWasm"](info, receiveInstance);
508
- return exports;
394
+ return Module["instantiateWasm"](info, receiveInstance);
509
395
  } catch (e) {
510
396
  err("Module.instantiateWasm callback failed with error: " + e);
511
397
  readyPromiseReject(e);
512
398
  }
513
399
  }
514
- instantiateAsync().catch(readyPromiseReject);
400
+ instantiateAsync(wasmBinary, wasmBinaryFile, info, receiveInstantiationResult).catch(readyPromiseReject);
515
401
  return {};
516
402
  }
517
403
 
@@ -520,15 +406,15 @@ var tempDouble;
520
406
  var tempI64;
521
407
 
522
408
  var ASM_CONSTS = {
523
- 1180686: $0 => {
409
+ 1205702: $0 => {
524
410
  const canvas = Emval.toValue($0);
525
411
  const context = canvas.getContext("webgpu");
526
412
  return JsValStore.add(context.getCurrentTexture());
527
413
  },
528
- 1180821: () => {
414
+ 1205837: () => {
529
415
  return typeof HTMLCanvasElement !== "undefined";
530
416
  },
531
- 1180876: ($0, $1, $2, $3, $4) => {
417
+ 1205892: ($0, $1, $2, $3, $4) => {
532
418
  const drawable = Emval.toValue($0);
533
419
  const device = JsValStore.get($1);
534
420
  const texture = JsValStore.get($2);
@@ -540,7 +426,7 @@ var ASM_CONSTS = {
540
426
  texture: texture
541
427
  }, [ width, height ]);
542
428
  },
543
- 1181127: ($0, $1, $2, $3) => {
429
+ 1206143: ($0, $1, $2, $3) => {
544
430
  const sourceExtTex = Emval.toValue($0);
545
431
  const device = JsValStore.get($1);
546
432
  const sampler = JsValStore.get($2);
@@ -557,56 +443,33 @@ var ASM_CONSTS = {
557
443
  });
558
444
  return JsValStore.add(bindGroup);
559
445
  },
560
- 1181475: ($0, $1) => {
446
+ 1206491: ($0, $1) => {
561
447
  const inputArray = Emval.toValue($0);
562
448
  const output = Emval.toValue($1);
563
449
  const ctx = output.getContext("2d");
564
450
  const image_data = new ImageData(inputArray, output.width, output.height);
565
451
  ctx.putImageData(image_data, 0, 0);
566
452
  },
567
- 1181699: ($0, $1) => {
453
+ 1206715: ($0, $1) => {
568
454
  const input = Emval.toValue($0);
569
455
  const outputArray = Emval.toValue($1);
570
456
  const ctx = input.getContext("2d");
571
457
  const data = ctx.getImageData(0, 0, input.width, input.height);
572
458
  outputArray.set(data.data);
573
459
  },
574
- 1181903: ($0, $1) => {
460
+ 1206919: ($0, $1) => {
575
461
  const input = Emval.toValue($0);
576
462
  const output = Emval.toValue($1);
577
463
  const ctx = output.getContext("2d");
578
464
  ctx.drawImage(input, 0, 0);
579
465
  },
580
- 1182039: () => {
466
+ 1207055: () => {
581
467
  return !!Module["preinitializedWebGPUDevice"];
582
468
  },
583
- 1182090: () => {
584
- let init_once = true;
585
- if (init_once) {
586
- const cachedFindCanvasEventTarget = findCanvasEventTarget;
587
- if (typeof cachedFindCanvasEventTarget !== "function") {
588
- if (typeof console !== "undefined") {
589
- console.error("Expected Emscripten global function " + '"findCanvasEventTarget" not found. WebGL context creation ' + "may fail.");
590
- }
591
- return;
592
- }
593
- findCanvasEventTarget = function(target) {
594
- if (target == 0) {
595
- if (Module && Module.canvas) {
596
- return Module.canvas;
597
- } else if (Module && Module.canvasCssSelector) {
598
- return cachedFindCanvasEventTarget(Module.canvasCssSelector);
599
- }
600
- if (typeof console !== "undefined") {
601
- console.warn("Module properties canvas and canvasCssSelector not " + "found during WebGL context creation.");
602
- }
603
- }
604
- return cachedFindCanvasEventTarget(target);
605
- };
606
- init_once = false;
607
- }
469
+ 1207106: () => {
470
+ specialHTMLTargets["#canvas"] = Module.canvas;
608
471
  },
609
- 1182875: () => {
472
+ 1207157: () => {
610
473
  return typeof wasmOffsetConverter !== "undefined";
611
474
  }
612
475
  };
@@ -828,11 +691,75 @@ var _emscripten_get_now;
828
691
 
829
692
  if (ENVIRONMENT_IS_NODE) {
830
693
  _emscripten_get_now = () => {
831
- var t = process["hrtime"]();
694
+ var t = process.hrtime();
832
695
  return t[0] * 1e3 + t[1] / 1e6;
833
696
  };
834
697
  } else _emscripten_get_now = () => performance.now();
835
698
 
699
+ function setMainLoop(browserIterationFunc, fps, simulateInfiniteLoop, arg, noSetTiming) {
700
+ assert(!Browser.mainLoop.func, "emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");
701
+ Browser.mainLoop.func = browserIterationFunc;
702
+ Browser.mainLoop.arg = arg;
703
+ var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
704
+ function checkIsRunning() {
705
+ if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) {
706
+ return false;
707
+ }
708
+ return true;
709
+ }
710
+ Browser.mainLoop.running = false;
711
+ Browser.mainLoop.runner = function Browser_mainLoop_runner() {
712
+ if (ABORT) return;
713
+ if (Browser.mainLoop.queue.length > 0) {
714
+ var start = Date.now();
715
+ var blocker = Browser.mainLoop.queue.shift();
716
+ blocker.func(blocker.arg);
717
+ if (Browser.mainLoop.remainingBlockers) {
718
+ var remaining = Browser.mainLoop.remainingBlockers;
719
+ var next = remaining % 1 == 0 ? remaining - 1 : Math.floor(remaining);
720
+ if (blocker.counted) {
721
+ Browser.mainLoop.remainingBlockers = next;
722
+ } else {
723
+ next = next + .5;
724
+ Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9;
725
+ }
726
+ }
727
+ out('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + " ms");
728
+ Browser.mainLoop.updateStatus();
729
+ if (!checkIsRunning()) return;
730
+ setTimeout(Browser.mainLoop.runner, 0);
731
+ return;
732
+ }
733
+ if (!checkIsRunning()) return;
734
+ Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
735
+ if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
736
+ Browser.mainLoop.scheduler();
737
+ return;
738
+ } else if (Browser.mainLoop.timingMode == 0) {
739
+ Browser.mainLoop.tickStartTime = _emscripten_get_now();
740
+ }
741
+ GL.newRenderingFrameStarted();
742
+ Browser.mainLoop.runIter(browserIterationFunc);
743
+ if (!checkIsRunning()) return;
744
+ if (typeof SDL == "object" && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
745
+ Browser.mainLoop.scheduler();
746
+ };
747
+ if (!noSetTiming) {
748
+ if (fps && fps > 0) _emscripten_set_main_loop_timing(0, 1e3 / fps); else _emscripten_set_main_loop_timing(1, 1);
749
+ Browser.mainLoop.scheduler();
750
+ }
751
+ if (simulateInfiniteLoop) {
752
+ throw "unwind";
753
+ }
754
+ }
755
+
756
+ function handleException(e) {
757
+ if (e instanceof ExitStatus || e == "unwind") {
758
+ return EXITSTATUS;
759
+ }
760
+ quit_(1, e);
761
+ }
762
+
836
763
  function ExitStatus(status) {
837
764
  this.name = "ExitStatus";
838
765
  this.message = "Program terminated with exit(" + status + ")";
@@ -904,20 +831,25 @@ var PATH = {
904
831
  }
905
832
  };
906
833
 
907
- function getRandomDevice() {
834
+ function initRandomFill() {
908
835
  if (typeof crypto == "object" && typeof crypto["getRandomValues"] == "function") {
909
- var randomBuffer = new Uint8Array(1);
910
- return () => {
911
- crypto.getRandomValues(randomBuffer);
912
- return randomBuffer[0];
913
- };
836
+ return view => crypto.getRandomValues(view);
914
837
  } else if (ENVIRONMENT_IS_NODE) {
915
838
  try {
916
839
  var crypto_module = require("crypto");
917
- return () => crypto_module["randomBytes"](1)[0];
840
+ var randomFillSync = crypto_module["randomFillSync"];
841
+ if (randomFillSync) {
842
+ return view => crypto_module["randomFillSync"](view);
843
+ }
844
+ var randomBytes = crypto_module["randomBytes"];
845
+ return view => (view.set(randomBytes(view.byteLength)), view);
918
846
  } catch (e) {}
919
847
  }
920
- return () => abort("randomDevice");
848
+ abort("initRandomDevice");
849
+ }
850
+
851
+ function randomFill(view) {
852
+ return (randomFill = initRandomFill())(view);
921
853
  }
922
854
 
923
855
  var PATH_FS = {
@@ -970,6 +902,58 @@ var PATH_FS = {
970
902
  }
971
903
  };
972
904
 
905
+ function lengthBytesUTF8(str) {
906
+ var len = 0;
907
+ for (var i = 0; i < str.length; ++i) {
908
+ var c = str.charCodeAt(i);
909
+ if (c <= 127) {
910
+ len++;
911
+ } else if (c <= 2047) {
912
+ len += 2;
913
+ } else if (c >= 55296 && c <= 57343) {
914
+ len += 4;
915
+ ++i;
916
+ } else {
917
+ len += 3;
918
+ }
919
+ }
920
+ return len;
921
+ }
922
+
923
+ function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
924
+ if (!(maxBytesToWrite > 0)) return 0;
925
+ var startIdx = outIdx;
926
+ var endIdx = outIdx + maxBytesToWrite - 1;
927
+ for (var i = 0; i < str.length; ++i) {
928
+ var u = str.charCodeAt(i);
929
+ if (u >= 55296 && u <= 57343) {
930
+ var u1 = str.charCodeAt(++i);
931
+ u = 65536 + ((u & 1023) << 10) | u1 & 1023;
932
+ }
933
+ if (u <= 127) {
934
+ if (outIdx >= endIdx) break;
935
+ heap[outIdx++] = u;
936
+ } else if (u <= 2047) {
937
+ if (outIdx + 1 >= endIdx) break;
938
+ heap[outIdx++] = 192 | u >> 6;
939
+ heap[outIdx++] = 128 | u & 63;
940
+ } else if (u <= 65535) {
941
+ if (outIdx + 2 >= endIdx) break;
942
+ heap[outIdx++] = 224 | u >> 12;
943
+ heap[outIdx++] = 128 | u >> 6 & 63;
944
+ heap[outIdx++] = 128 | u & 63;
945
+ } else {
946
+ if (outIdx + 3 >= endIdx) break;
947
+ heap[outIdx++] = 240 | u >> 18;
948
+ heap[outIdx++] = 128 | u >> 12 & 63;
949
+ heap[outIdx++] = 128 | u >> 6 & 63;
950
+ heap[outIdx++] = 128 | u & 63;
951
+ }
952
+ }
953
+ heap[outIdx] = 0;
954
+ return outIdx - startIdx;
955
+ }
956
+
973
957
  function intArrayFromString(stringy, dontAddNull, length) {
974
958
  var len = length > 0 ? length : lengthBytesUTF8(stringy) + 1;
975
959
  var u8array = new Array(len);
@@ -1407,7 +1391,7 @@ var MEMFS = {
1407
1391
  var ptr;
1408
1392
  var allocated;
1409
1393
  var contents = stream.node.contents;
1410
- if (!(flags & 2) && contents.buffer === buffer) {
1394
+ if (!(flags & 2) && contents.buffer === HEAP8.buffer) {
1411
1395
  allocated = false;
1412
1396
  ptr = contents.byteOffset;
1413
1397
  } else {
@@ -2480,9 +2464,15 @@ var FS = {
2480
2464
  TTY.register(FS.makedev(6, 0), TTY.default_tty1_ops);
2481
2465
  FS.mkdev("/dev/tty", FS.makedev(5, 0));
2482
2466
  FS.mkdev("/dev/tty1", FS.makedev(6, 0));
2483
- var random_device = getRandomDevice();
2484
- FS.createDevice("/dev", "random", random_device);
2485
- FS.createDevice("/dev", "urandom", random_device);
2467
+ var randomBuffer = new Uint8Array(1024), randomLeft = 0;
2468
+ var randomByte = () => {
2469
+ if (randomLeft === 0) {
2470
+ randomLeft = randomFill(randomBuffer).byteLength;
2471
+ }
2472
+ return randomBuffer[--randomLeft];
2473
+ };
2474
+ FS.createDevice("/dev", "random", randomByte);
2475
+ FS.createDevice("/dev", "urandom", randomByte);
2486
2476
  FS.mkdir("/dev/shm");
2487
2477
  FS.mkdir("/dev/shm/tmp");
2488
2478
  },
@@ -2538,6 +2528,7 @@ var FS = {
2538
2528
  ensureErrnoError: () => {
2539
2529
  if (FS.ErrnoError) return;
2540
2530
  FS.ErrnoError = function ErrnoError(errno, node) {
2531
+ this.name = "ErrnoError";
2541
2532
  this.node = node;
2542
2533
  this.setErrno = function(errno) {
2543
2534
  this.errno = errno;
@@ -2919,95 +2910,49 @@ var FS = {
2919
2910
  } else {
2920
2911
  processData(url);
2921
2912
  }
2922
- },
2923
- indexedDB: () => {
2924
- return window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
2925
- },
2926
- DB_NAME: () => {
2927
- return "EM_FS_" + window.location.pathname;
2928
- },
2929
- DB_VERSION: 20,
2930
- DB_STORE_NAME: "FILE_DATA",
2931
- saveFilesToDB: (paths, onload, onerror) => {
2932
- onload = onload || (() => {});
2933
- onerror = onerror || (() => {});
2934
- var indexedDB = FS.indexedDB();
2935
- try {
2936
- var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
2937
- } catch (e) {
2938
- return onerror(e);
2913
+ }
2914
+ };
2915
+
2916
+ var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : undefined;
2917
+
2918
+ function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {
2919
+ var endIdx = idx + maxBytesToRead;
2920
+ var endPtr = idx;
2921
+ while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;
2922
+ if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
2923
+ return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
2924
+ }
2925
+ var str = "";
2926
+ while (idx < endPtr) {
2927
+ var u0 = heapOrArray[idx++];
2928
+ if (!(u0 & 128)) {
2929
+ str += String.fromCharCode(u0);
2930
+ continue;
2939
2931
  }
2940
- openRequest.onupgradeneeded = () => {
2941
- out("creating db");
2942
- var db = openRequest.result;
2943
- db.createObjectStore(FS.DB_STORE_NAME);
2944
- };
2945
- openRequest.onsuccess = () => {
2946
- var db = openRequest.result;
2947
- var transaction = db.transaction([ FS.DB_STORE_NAME ], "readwrite");
2948
- var files = transaction.objectStore(FS.DB_STORE_NAME);
2949
- var ok = 0, fail = 0, total = paths.length;
2950
- function finish() {
2951
- if (fail == 0) onload(); else onerror();
2952
- }
2953
- paths.forEach(path => {
2954
- var putRequest = files.put(FS.analyzePath(path).object.contents, path);
2955
- putRequest.onsuccess = () => {
2956
- ok++;
2957
- if (ok + fail == total) finish();
2958
- };
2959
- putRequest.onerror = () => {
2960
- fail++;
2961
- if (ok + fail == total) finish();
2962
- };
2963
- });
2964
- transaction.onerror = onerror;
2965
- };
2966
- openRequest.onerror = onerror;
2967
- },
2968
- loadFilesFromDB: (paths, onload, onerror) => {
2969
- onload = onload || (() => {});
2970
- onerror = onerror || (() => {});
2971
- var indexedDB = FS.indexedDB();
2972
- try {
2973
- var openRequest = indexedDB.open(FS.DB_NAME(), FS.DB_VERSION);
2974
- } catch (e) {
2975
- return onerror(e);
2932
+ var u1 = heapOrArray[idx++] & 63;
2933
+ if ((u0 & 224) == 192) {
2934
+ str += String.fromCharCode((u0 & 31) << 6 | u1);
2935
+ continue;
2936
+ }
2937
+ var u2 = heapOrArray[idx++] & 63;
2938
+ if ((u0 & 240) == 224) {
2939
+ u0 = (u0 & 15) << 12 | u1 << 6 | u2;
2940
+ } else {
2941
+ u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
2942
+ }
2943
+ if (u0 < 65536) {
2944
+ str += String.fromCharCode(u0);
2945
+ } else {
2946
+ var ch = u0 - 65536;
2947
+ str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
2976
2948
  }
2977
- openRequest.onupgradeneeded = onerror;
2978
- openRequest.onsuccess = () => {
2979
- var db = openRequest.result;
2980
- try {
2981
- var transaction = db.transaction([ FS.DB_STORE_NAME ], "readonly");
2982
- } catch (e) {
2983
- onerror(e);
2984
- return;
2985
- }
2986
- var files = transaction.objectStore(FS.DB_STORE_NAME);
2987
- var ok = 0, fail = 0, total = paths.length;
2988
- function finish() {
2989
- if (fail == 0) onload(); else onerror();
2990
- }
2991
- paths.forEach(path => {
2992
- var getRequest = files.get(path);
2993
- getRequest.onsuccess = () => {
2994
- if (FS.analyzePath(path).exists) {
2995
- FS.unlink(path);
2996
- }
2997
- FS.createDataFile(PATH.dirname(path), PATH.basename(path), getRequest.result, true, true, true);
2998
- ok++;
2999
- if (ok + fail == total) finish();
3000
- };
3001
- getRequest.onerror = () => {
3002
- fail++;
3003
- if (ok + fail == total) finish();
3004
- };
3005
- });
3006
- transaction.onerror = onerror;
3007
- };
3008
- openRequest.onerror = onerror;
3009
2949
  }
3010
- };
2950
+ return str;
2951
+ }
2952
+
2953
+ function UTF8ToString(ptr, maxBytesToRead) {
2954
+ return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
2955
+ }
3011
2956
 
3012
2957
  var SYSCALLS = {
3013
2958
  DEFAULT_POLLMASK: 5,
@@ -3050,18 +2995,21 @@ var SYSCALLS = {
3050
2995
  HEAP32[buf + 40 >> 2] = tempI64[0], HEAP32[buf + 44 >> 2] = tempI64[1];
3051
2996
  HEAP32[buf + 48 >> 2] = 4096;
3052
2997
  HEAP32[buf + 52 >> 2] = stat.blocks;
3053
- tempI64 = [ Math.floor(stat.atime.getTime() / 1e3) >>> 0, (tempDouble = Math.floor(stat.atime.getTime() / 1e3),
2998
+ var atime = stat.atime.getTime();
2999
+ var mtime = stat.mtime.getTime();
3000
+ var ctime = stat.ctime.getTime();
3001
+ tempI64 = [ Math.floor(atime / 1e3) >>> 0, (tempDouble = Math.floor(atime / 1e3),
3054
3002
  +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ],
3055
3003
  HEAP32[buf + 56 >> 2] = tempI64[0], HEAP32[buf + 60 >> 2] = tempI64[1];
3056
- HEAPU32[buf + 64 >> 2] = 0;
3057
- tempI64 = [ Math.floor(stat.mtime.getTime() / 1e3) >>> 0, (tempDouble = Math.floor(stat.mtime.getTime() / 1e3),
3004
+ HEAPU32[buf + 64 >> 2] = atime % 1e3 * 1e3;
3005
+ tempI64 = [ Math.floor(mtime / 1e3) >>> 0, (tempDouble = Math.floor(mtime / 1e3),
3058
3006
  +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ],
3059
3007
  HEAP32[buf + 72 >> 2] = tempI64[0], HEAP32[buf + 76 >> 2] = tempI64[1];
3060
- HEAPU32[buf + 80 >> 2] = 0;
3061
- tempI64 = [ Math.floor(stat.ctime.getTime() / 1e3) >>> 0, (tempDouble = Math.floor(stat.ctime.getTime() / 1e3),
3008
+ HEAPU32[buf + 80 >> 2] = mtime % 1e3 * 1e3;
3009
+ tempI64 = [ Math.floor(ctime / 1e3) >>> 0, (tempDouble = Math.floor(ctime / 1e3),
3062
3010
  +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ],
3063
3011
  HEAP32[buf + 88 >> 2] = tempI64[0], HEAP32[buf + 92 >> 2] = tempI64[1];
3064
- HEAPU32[buf + 96 >> 2] = 0;
3012
+ HEAPU32[buf + 96 >> 2] = ctime % 1e3 * 1e3;
3065
3013
  tempI64 = [ stat.ino >>> 0, (tempDouble = stat.ino, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ],
3066
3014
  HEAP32[buf + 104 >> 2] = tempI64[0], HEAP32[buf + 108 >> 2] = tempI64[1];
3067
3015
  return 0;
@@ -3109,70 +3057,13 @@ function exitJS(status, implicit) {
3109
3057
 
3110
3058
  var _exit = exitJS;
3111
3059
 
3112
- function handleException(e) {
3113
- if (e instanceof ExitStatus || e == "unwind") {
3114
- return EXITSTATUS;
3115
- }
3116
- quit_(1, e);
3117
- }
3118
-
3119
- function maybeExit() {}
3120
-
3121
- function setMainLoop(browserIterationFunc, fps, simulateInfiniteLoop, arg, noSetTiming) {
3122
- assert(!Browser.mainLoop.func, "emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters.");
3123
- Browser.mainLoop.func = browserIterationFunc;
3124
- Browser.mainLoop.arg = arg;
3125
- var thisMainLoopId = Browser.mainLoop.currentlyRunningMainloop;
3126
- function checkIsRunning() {
3127
- if (thisMainLoopId < Browser.mainLoop.currentlyRunningMainloop) {
3128
- maybeExit();
3129
- return false;
3130
- }
3131
- return true;
3132
- }
3133
- Browser.mainLoop.running = false;
3134
- Browser.mainLoop.runner = function Browser_mainLoop_runner() {
3135
- if (ABORT) return;
3136
- if (Browser.mainLoop.queue.length > 0) {
3137
- var start = Date.now();
3138
- var blocker = Browser.mainLoop.queue.shift();
3139
- blocker.func(blocker.arg);
3140
- if (Browser.mainLoop.remainingBlockers) {
3141
- var remaining = Browser.mainLoop.remainingBlockers;
3142
- var next = remaining % 1 == 0 ? remaining - 1 : Math.floor(remaining);
3143
- if (blocker.counted) {
3144
- Browser.mainLoop.remainingBlockers = next;
3145
- } else {
3146
- next = next + .5;
3147
- Browser.mainLoop.remainingBlockers = (8 * remaining + next) / 9;
3148
- }
3149
- }
3150
- out('main loop blocker "' + blocker.name + '" took ' + (Date.now() - start) + " ms");
3151
- Browser.mainLoop.updateStatus();
3152
- if (!checkIsRunning()) return;
3153
- setTimeout(Browser.mainLoop.runner, 0);
3154
- return;
3155
- }
3156
- if (!checkIsRunning()) return;
3157
- Browser.mainLoop.currentFrameNumber = Browser.mainLoop.currentFrameNumber + 1 | 0;
3158
- if (Browser.mainLoop.timingMode == 1 && Browser.mainLoop.timingValue > 1 && Browser.mainLoop.currentFrameNumber % Browser.mainLoop.timingValue != 0) {
3159
- Browser.mainLoop.scheduler();
3160
- return;
3161
- } else if (Browser.mainLoop.timingMode == 0) {
3162
- Browser.mainLoop.tickStartTime = _emscripten_get_now();
3060
+ function maybeExit() {
3061
+ if (!keepRuntimeAlive()) {
3062
+ try {
3063
+ _exit(EXITSTATUS);
3064
+ } catch (e) {
3065
+ handleException(e);
3163
3066
  }
3164
- GL.newRenderingFrameStarted();
3165
- Browser.mainLoop.runIter(browserIterationFunc);
3166
- if (!checkIsRunning()) return;
3167
- if (typeof SDL == "object" && SDL.audio && SDL.audio.queueNewAudioData) SDL.audio.queueNewAudioData();
3168
- Browser.mainLoop.scheduler();
3169
- };
3170
- if (!noSetTiming) {
3171
- if (fps && fps > 0) _emscripten_set_main_loop_timing(0, 1e3 / fps); else _emscripten_set_main_loop_timing(1, 1);
3172
- Browser.mainLoop.scheduler();
3173
- }
3174
- if (simulateInfiniteLoop) {
3175
- throw "unwind";
3176
3067
  }
3177
3068
  }
3178
3069
 
@@ -3182,6 +3073,7 @@ function callUserCallback(func) {
3182
3073
  }
3183
3074
  try {
3184
3075
  func();
3076
+ maybeExit();
3185
3077
  } catch (e) {
3186
3078
  handleException(e);
3187
3079
  }
@@ -3752,8 +3644,19 @@ function callRuntimeCallbacks(callbacks) {
3752
3644
  }
3753
3645
  }
3754
3646
 
3755
- function ___cxa_allocate_exception(size) {
3756
- return _malloc(size + 24) + 24;
3647
+ var wasmTableMirror = [];
3648
+
3649
+ function getWasmTableEntry(funcPtr) {
3650
+ var func = wasmTableMirror[funcPtr];
3651
+ if (!func) {
3652
+ if (funcPtr >= wasmTableMirror.length) wasmTableMirror.length = funcPtr + 1;
3653
+ wasmTableMirror[funcPtr] = func = wasmTable.get(funcPtr);
3654
+ }
3655
+ return func;
3656
+ }
3657
+
3658
+ function ___call_sighandler(fp, sig) {
3659
+ getWasmTableEntry(fp)(sig);
3757
3660
  }
3758
3661
 
3759
3662
  function ExceptionInfo(excPtr) {
@@ -3831,7 +3734,7 @@ function ___cxa_throw(ptr, type, destructor) {
3831
3734
  info.init(type, destructor);
3832
3735
  exceptionLast = ptr;
3833
3736
  uncaughtExceptionCount++;
3834
- throw ptr;
3737
+ throw exceptionLast;
3835
3738
  }
3836
3739
 
3837
3740
  function setErrNo(value) {
@@ -3895,7 +3798,7 @@ function ___syscall_fcntl64(fd, cmd, varargs) {
3895
3798
  }
3896
3799
  }
3897
3800
  } catch (e) {
3898
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3801
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
3899
3802
  return -e.errno;
3900
3803
  }
3901
3804
  }
@@ -3905,7 +3808,7 @@ function ___syscall_fstat64(fd, buf) {
3905
3808
  var stream = SYSCALLS.getStreamFromFD(fd);
3906
3809
  return SYSCALLS.doStat(FS.stat, stream.path, buf);
3907
3810
  } catch (e) {
3908
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3811
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
3909
3812
  return -e.errno;
3910
3813
  }
3911
3814
  }
@@ -3969,7 +3872,7 @@ function ___syscall_ioctl(fd, op, varargs) {
3969
3872
  return -28;
3970
3873
  }
3971
3874
  } catch (e) {
3972
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3875
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
3973
3876
  return -e.errno;
3974
3877
  }
3975
3878
  }
@@ -3979,7 +3882,7 @@ function ___syscall_lstat64(path, buf) {
3979
3882
  path = SYSCALLS.getStr(path);
3980
3883
  return SYSCALLS.doStat(FS.lstat, path, buf);
3981
3884
  } catch (e) {
3982
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3885
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
3983
3886
  return -e.errno;
3984
3887
  }
3985
3888
  }
@@ -3993,7 +3896,7 @@ function ___syscall_newfstatat(dirfd, path, buf, flags) {
3993
3896
  path = SYSCALLS.calculateAt(dirfd, path, allowEmpty);
3994
3897
  return SYSCALLS.doStat(nofollow ? FS.lstat : FS.stat, path, buf);
3995
3898
  } catch (e) {
3996
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3899
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
3997
3900
  return -e.errno;
3998
3901
  }
3999
3902
  }
@@ -4006,7 +3909,7 @@ function ___syscall_openat(dirfd, path, flags, varargs) {
4006
3909
  var mode = varargs ? SYSCALLS.get() : 0;
4007
3910
  return FS.open(path, flags, mode).fd;
4008
3911
  } catch (e) {
4009
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3912
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
4010
3913
  return -e.errno;
4011
3914
  }
4012
3915
  }
@@ -4016,16 +3919,14 @@ function ___syscall_stat64(path, buf) {
4016
3919
  path = SYSCALLS.getStr(path);
4017
3920
  return SYSCALLS.doStat(FS.stat, path, buf);
4018
3921
  } catch (e) {
4019
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
3922
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
4020
3923
  return -e.errno;
4021
3924
  }
4022
3925
  }
4023
3926
 
4024
- function __dlinit(main_dso_handle) {}
4025
-
4026
3927
  var dlopenMissingError = "To use dlopen, you need enable dynamic linking, see https://github.com/emscripten-core/emscripten/wiki/Linking";
4027
3928
 
4028
- function __dlopen_js(filename, flag) {
3929
+ function __dlopen_js(handle) {
4029
3930
  abort(dlopenMissingError);
4030
3931
  }
4031
3932
 
@@ -4097,10 +3998,11 @@ function makeLegalFunctionName(name) {
4097
3998
 
4098
3999
  function createNamedFunction(name, body) {
4099
4000
  name = makeLegalFunctionName(name);
4100
- return function() {
4101
- "use strict";
4102
- return body.apply(this, arguments);
4103
- };
4001
+ return {
4002
+ [name]: function() {
4003
+ return body.apply(this, arguments);
4004
+ }
4005
+ }[name];
4104
4006
  }
4105
4007
 
4106
4008
  function extendError(baseErrorType, errorName) {
@@ -4185,47 +4087,53 @@ function __embind_register_bool(rawType, name, size, trueValue, falseValue) {
4185
4087
  });
4186
4088
  }
4187
4089
 
4188
- var emval_free_list = [];
4090
+ function HandleAllocator() {
4091
+ this.allocated = [ undefined ];
4092
+ this.freelist = [];
4093
+ this.get = function(id) {
4094
+ return this.allocated[id];
4095
+ };
4096
+ this.allocate = function(handle) {
4097
+ let id = this.freelist.pop() || this.allocated.length;
4098
+ this.allocated[id] = handle;
4099
+ return id;
4100
+ };
4101
+ this.free = function(id) {
4102
+ this.allocated[id] = undefined;
4103
+ this.freelist.push(id);
4104
+ };
4105
+ }
4189
4106
 
4190
- var emval_handle_array = [ {}, {
4191
- value: undefined
4192
- }, {
4193
- value: null
4194
- }, {
4195
- value: true
4196
- }, {
4197
- value: false
4198
- } ];
4107
+ var emval_handles = new HandleAllocator();
4199
4108
 
4200
4109
  function __emval_decref(handle) {
4201
- if (handle > 4 && 0 === --emval_handle_array[handle].refcount) {
4202
- emval_handle_array[handle] = undefined;
4203
- emval_free_list.push(handle);
4110
+ if (handle >= emval_handles.reserved && 0 === --emval_handles.get(handle).refcount) {
4111
+ emval_handles.free(handle);
4204
4112
  }
4205
4113
  }
4206
4114
 
4207
4115
  function count_emval_handles() {
4208
4116
  var count = 0;
4209
- for (var i = 5; i < emval_handle_array.length; ++i) {
4210
- if (emval_handle_array[i] !== undefined) {
4117
+ for (var i = emval_handles.reserved; i < emval_handles.allocated.length; ++i) {
4118
+ if (emval_handles.allocated[i] !== undefined) {
4211
4119
  ++count;
4212
4120
  }
4213
4121
  }
4214
4122
  return count;
4215
4123
  }
4216
4124
 
4217
- function get_first_emval() {
4218
- for (var i = 5; i < emval_handle_array.length; ++i) {
4219
- if (emval_handle_array[i] !== undefined) {
4220
- return emval_handle_array[i];
4221
- }
4222
- }
4223
- return null;
4224
- }
4225
-
4226
4125
  function init_emval() {
4126
+ emval_handles.allocated.push({
4127
+ value: undefined
4128
+ }, {
4129
+ value: null
4130
+ }, {
4131
+ value: true
4132
+ }, {
4133
+ value: false
4134
+ });
4135
+ emval_handles.reserved = emval_handles.allocated.length;
4227
4136
  Module["count_emval_handles"] = count_emval_handles;
4228
- Module["get_first_emval"] = get_first_emval;
4229
4137
  }
4230
4138
 
4231
4139
  var Emval = {
@@ -4233,7 +4141,7 @@ var Emval = {
4233
4141
  if (!handle) {
4234
4142
  throwBindingError("Cannot use deleted val. handle = " + handle);
4235
4143
  }
4236
- return emval_handle_array[handle].value;
4144
+ return emval_handles.get(handle).value;
4237
4145
  },
4238
4146
  toHandle: value => {
4239
4147
  switch (value) {
@@ -4251,12 +4159,10 @@ var Emval = {
4251
4159
 
4252
4160
  default:
4253
4161
  {
4254
- var handle = emval_free_list.length ? emval_free_list.pop() : emval_handle_array.length;
4255
- emval_handle_array[handle] = {
4162
+ return emval_handles.allocate({
4256
4163
  refcount: 1,
4257
4164
  value: value
4258
- };
4259
- return handle;
4165
+ });
4260
4166
  }
4261
4167
  }
4262
4168
  }
@@ -4389,7 +4295,7 @@ function __embind_register_memory_view(rawType, dataTypeIndex, name) {
4389
4295
  var heap = HEAPU32;
4390
4296
  var size = heap[handle];
4391
4297
  var data = heap[handle + 1];
4392
- return new TA(buffer, data, size);
4298
+ return new TA(heap.buffer, data, size);
4393
4299
  }
4394
4300
  name = readLatin1String(name);
4395
4301
  registerType(rawType, {
@@ -4402,6 +4308,10 @@ function __embind_register_memory_view(rawType, dataTypeIndex, name) {
4402
4308
  });
4403
4309
  }
4404
4310
 
4311
+ function stringToUTF8(str, outPtr, maxBytesToWrite) {
4312
+ return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
4313
+ }
4314
+
4405
4315
  function __embind_register_std_string(rawType, name) {
4406
4316
  name = readLatin1String(name);
4407
4317
  var stdStringIsUTF8 = name === "std::string";
@@ -4731,7 +4641,7 @@ function __emval_get_property(handle, key) {
4731
4641
 
4732
4642
  function __emval_incref(handle) {
4733
4643
  if (handle > 4) {
4734
- emval_handle_array[handle].refcount += 1;
4644
+ emval_handles.get(handle).refcount += 1;
4735
4645
  }
4736
4646
  }
4737
4647
 
@@ -4795,17 +4705,17 @@ function __gmtime_js(time, tmPtr) {
4795
4705
  HEAP32[tmPtr + 28 >> 2] = yday;
4796
4706
  }
4797
4707
 
4798
- function __isLeapYear(year) {
4708
+ function isLeapYear(year) {
4799
4709
  return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);
4800
4710
  }
4801
4711
 
4802
- var __MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ];
4712
+ var MONTH_DAYS_LEAP_CUMULATIVE = [ 0, 31, 60, 91, 121, 152, 182, 213, 244, 274, 305, 335 ];
4803
4713
 
4804
- var __MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ];
4714
+ var MONTH_DAYS_REGULAR_CUMULATIVE = [ 0, 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334 ];
4805
4715
 
4806
- function __yday_from_date(date) {
4807
- var isLeapYear = __isLeapYear(date.getFullYear());
4808
- var monthDaysCumulative = isLeapYear ? __MONTH_DAYS_LEAP_CUMULATIVE : __MONTH_DAYS_REGULAR_CUMULATIVE;
4716
+ function ydayFromDate(date) {
4717
+ var leap = isLeapYear(date.getFullYear());
4718
+ var monthDaysCumulative = leap ? MONTH_DAYS_LEAP_CUMULATIVE : MONTH_DAYS_REGULAR_CUMULATIVE;
4809
4719
  var yday = monthDaysCumulative[date.getMonth()] + date.getDate() - 1;
4810
4720
  return yday;
4811
4721
  }
@@ -4819,7 +4729,7 @@ function __localtime_js(time, tmPtr) {
4819
4729
  HEAP32[tmPtr + 16 >> 2] = date.getMonth();
4820
4730
  HEAP32[tmPtr + 20 >> 2] = date.getFullYear() - 1900;
4821
4731
  HEAP32[tmPtr + 24 >> 2] = date.getDay();
4822
- var yday = __yday_from_date(date) | 0;
4732
+ var yday = ydayFromDate(date) | 0;
4823
4733
  HEAP32[tmPtr + 28 >> 2] = yday;
4824
4734
  HEAP32[tmPtr + 36 >> 2] = -(date.getTimezoneOffset() * 60);
4825
4735
  var start = new Date(date.getFullYear(), 0, 1);
@@ -4845,7 +4755,7 @@ function __mktime_js(tmPtr) {
4845
4755
  date.setTime(date.getTime() + (trueOffset - guessedOffset) * 6e4);
4846
4756
  }
4847
4757
  HEAP32[tmPtr + 24 >> 2] = date.getDay();
4848
- var yday = __yday_from_date(date) | 0;
4758
+ var yday = ydayFromDate(date) | 0;
4849
4759
  HEAP32[tmPtr + 28 >> 2] = yday;
4850
4760
  HEAP32[tmPtr >> 2] = date.getSeconds();
4851
4761
  HEAP32[tmPtr + 4 >> 2] = date.getMinutes();
@@ -4865,7 +4775,7 @@ function __mmap_js(len, prot, flags, fd, off, allocated, addr) {
4865
4775
  HEAPU32[addr >> 2] = ptr;
4866
4776
  return 0;
4867
4777
  } catch (e) {
4868
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
4778
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
4869
4779
  return -e.errno;
4870
4780
  }
4871
4781
  }
@@ -4878,15 +4788,34 @@ function __munmap_js(addr, len, prot, flags, fd, offset) {
4878
4788
  }
4879
4789
  FS.munmap(stream);
4880
4790
  } catch (e) {
4881
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
4791
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
4882
4792
  return -e.errno;
4883
4793
  }
4884
4794
  }
4885
4795
 
4886
- function allocateUTF8(str) {
4796
+ var timers = {};
4797
+
4798
+ function __setitimer_js(which, timeout_ms) {
4799
+ if (timers[which]) {
4800
+ clearTimeout(timers[which].id);
4801
+ delete timers[which];
4802
+ }
4803
+ if (!timeout_ms) return 0;
4804
+ var id = setTimeout(() => {
4805
+ delete timers[which];
4806
+ callUserCallback(() => __emscripten_timeout(which, _emscripten_get_now()));
4807
+ }, timeout_ms);
4808
+ timers[which] = {
4809
+ id: id,
4810
+ timeout_ms: timeout_ms
4811
+ };
4812
+ return 0;
4813
+ }
4814
+
4815
+ function stringToNewUTF8(str) {
4887
4816
  var size = lengthBytesUTF8(str) + 1;
4888
4817
  var ret = _malloc(size);
4889
- if (ret) stringToUTF8Array(str, HEAP8, ret, size);
4818
+ if (ret) stringToUTF8(str, ret, size);
4890
4819
  return ret;
4891
4820
  }
4892
4821
 
@@ -4905,8 +4834,8 @@ function __tzset_js(timezone, daylight, tzname) {
4905
4834
  }
4906
4835
  var winterName = extractZone(winter);
4907
4836
  var summerName = extractZone(summer);
4908
- var winterNamePtr = allocateUTF8(winterName);
4909
- var summerNamePtr = allocateUTF8(summerName);
4837
+ var winterNamePtr = stringToNewUTF8(winterName);
4838
+ var summerNamePtr = stringToNewUTF8(summerName);
4910
4839
  if (summerOffset < winterOffset) {
4911
4840
  HEAPU32[tzname >> 2] = winterNamePtr;
4912
4841
  HEAPU32[tzname + 4 >> 2] = summerNamePtr;
@@ -4964,9 +4893,10 @@ function _emscripten_pc_get_function(pc) {
4964
4893
  }
4965
4894
 
4966
4895
  function emscripten_realloc_buffer(size) {
4896
+ var b = wasmMemory.buffer;
4967
4897
  try {
4968
- wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16);
4969
- updateGlobalBufferAndViews(wasmMemory.buffer);
4898
+ wasmMemory.grow(size - b.byteLength + 65535 >>> 16);
4899
+ updateMemoryViews();
4970
4900
  return 1;
4971
4901
  } catch (e) {}
4972
4902
  }
@@ -5054,7 +4984,7 @@ function _emscripten_stack_unwind_buffer(addr, buffer, count) {
5054
4984
  return i;
5055
4985
  }
5056
4986
 
5057
- function __webgl_enable_ANGLE_instanced_arrays(ctx) {
4987
+ function webgl_enable_ANGLE_instanced_arrays(ctx) {
5058
4988
  var ext = ctx.getExtension("ANGLE_instanced_arrays");
5059
4989
  if (ext) {
5060
4990
  ctx["vertexAttribDivisor"] = function(index, divisor) {
@@ -5070,7 +5000,7 @@ function __webgl_enable_ANGLE_instanced_arrays(ctx) {
5070
5000
  }
5071
5001
  }
5072
5002
 
5073
- function __webgl_enable_OES_vertex_array_object(ctx) {
5003
+ function webgl_enable_OES_vertex_array_object(ctx) {
5074
5004
  var ext = ctx.getExtension("OES_vertex_array_object");
5075
5005
  if (ext) {
5076
5006
  ctx["createVertexArray"] = function() {
@@ -5089,7 +5019,7 @@ function __webgl_enable_OES_vertex_array_object(ctx) {
5089
5019
  }
5090
5020
  }
5091
5021
 
5092
- function __webgl_enable_WEBGL_draw_buffers(ctx) {
5022
+ function webgl_enable_WEBGL_draw_buffers(ctx) {
5093
5023
  var ext = ctx.getExtension("WEBGL_draw_buffers");
5094
5024
  if (ext) {
5095
5025
  ctx["drawBuffers"] = function(n, bufs) {
@@ -5099,15 +5029,15 @@ function __webgl_enable_WEBGL_draw_buffers(ctx) {
5099
5029
  }
5100
5030
  }
5101
5031
 
5102
- function __webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx) {
5032
+ function webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(ctx) {
5103
5033
  return !!(ctx.dibvbi = ctx.getExtension("WEBGL_draw_instanced_base_vertex_base_instance"));
5104
5034
  }
5105
5035
 
5106
- function __webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx) {
5036
+ function webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(ctx) {
5107
5037
  return !!(ctx.mdibvbi = ctx.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance"));
5108
5038
  }
5109
5039
 
5110
- function __webgl_enable_WEBGL_multi_draw(ctx) {
5040
+ function webgl_enable_WEBGL_multi_draw(ctx) {
5111
5041
  return !!(ctx.multiDrawWebgl = ctx.getExtension("WEBGL_multi_draw"));
5112
5042
  }
5113
5043
 
@@ -5338,18 +5268,18 @@ var GL = {
5338
5268
  if (context.initExtensionsDone) return;
5339
5269
  context.initExtensionsDone = true;
5340
5270
  var GLctx = context.GLctx;
5341
- __webgl_enable_ANGLE_instanced_arrays(GLctx);
5342
- __webgl_enable_OES_vertex_array_object(GLctx);
5343
- __webgl_enable_WEBGL_draw_buffers(GLctx);
5344
- __webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);
5345
- __webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);
5271
+ webgl_enable_ANGLE_instanced_arrays(GLctx);
5272
+ webgl_enable_OES_vertex_array_object(GLctx);
5273
+ webgl_enable_WEBGL_draw_buffers(GLctx);
5274
+ webgl_enable_WEBGL_draw_instanced_base_vertex_base_instance(GLctx);
5275
+ webgl_enable_WEBGL_multi_draw_instanced_base_vertex_base_instance(GLctx);
5346
5276
  if (context.version >= 2) {
5347
5277
  GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query_webgl2");
5348
5278
  }
5349
5279
  if (context.version < 2 || !GLctx.disjointTimerQueryExt) {
5350
5280
  GLctx.disjointTimerQueryExt = GLctx.getExtension("EXT_disjoint_timer_query");
5351
5281
  }
5352
- __webgl_enable_WEBGL_multi_draw(GLctx);
5282
+ webgl_enable_WEBGL_multi_draw(GLctx);
5353
5283
  var exts = GLctx.getSupportedExtensions() || [];
5354
5284
  exts.forEach(function(ext) {
5355
5285
  if (!ext.includes("lose_context") && !ext.includes("debug")) {
@@ -5466,7 +5396,7 @@ var JSEvents = {
5466
5396
  }
5467
5397
  };
5468
5398
 
5469
- var __emscripten_webgl_power_preferences = [ "default", "low-power", "high-performance" ];
5399
+ var emscripten_webgl_power_preferences = [ "default", "low-power", "high-performance" ];
5470
5400
 
5471
5401
  var specialHTMLTargets = [ 0, typeof document != "undefined" ? document : 0, typeof window != "undefined" ? window : 0 ];
5472
5402
 
@@ -5501,7 +5431,7 @@ function _emscripten_webgl_do_create_context(target, attributes) {
5501
5431
  "antialias": !!HEAP32[a + (12 >> 2)],
5502
5432
  "premultipliedAlpha": !!HEAP32[a + (16 >> 2)],
5503
5433
  "preserveDrawingBuffer": !!HEAP32[a + (20 >> 2)],
5504
- "powerPreference": __emscripten_webgl_power_preferences[powerPreference],
5434
+ "powerPreference": emscripten_webgl_power_preferences[powerPreference],
5505
5435
  "failIfMajorPerformanceCaveat": !!HEAP32[a + (28 >> 2)],
5506
5436
  majorVersion: HEAP32[a + (32 >> 2)],
5507
5437
  minorVersion: HEAP32[a + (36 >> 2)],
@@ -5541,7 +5471,7 @@ function _emscripten_webgl_get_context_attributes(c, a) {
5541
5471
  HEAP32[a + 12 >> 2] = t.antialias;
5542
5472
  HEAP32[a + 16 >> 2] = t.premultipliedAlpha;
5543
5473
  HEAP32[a + 20 >> 2] = t.preserveDrawingBuffer;
5544
- var power = t["powerPreference"] && __emscripten_webgl_power_preferences.indexOf(t["powerPreference"]);
5474
+ var power = t["powerPreference"] && emscripten_webgl_power_preferences.indexOf(t["powerPreference"]);
5545
5475
  HEAP32[a + 24 >> 2] = power;
5546
5476
  HEAP32[a + 28 >> 2] = t.failIfMajorPerformanceCaveat;
5547
5477
  HEAP32[a + 32 >> 2] = c.version;
@@ -5575,8 +5505,7 @@ var WebGPU = {
5575
5505
  function Manager() {
5576
5506
  this.objects = {};
5577
5507
  this.nextId = 1;
5578
- this.create = function(object, wrapper) {
5579
- wrapper = wrapper || {};
5508
+ this.create = function(object, wrapper = {}) {
5580
5509
  var id = this.nextId++;
5581
5510
  wrapper.refcount = 1;
5582
5511
  wrapper.object = object;
@@ -5832,11 +5761,11 @@ function getEnvStrings() {
5832
5761
  return getEnvStrings.strings;
5833
5762
  }
5834
5763
 
5835
- function writeAsciiToMemory(str, buffer, dontAddNull) {
5764
+ function stringToAscii(str, buffer) {
5836
5765
  for (var i = 0; i < str.length; ++i) {
5837
5766
  HEAP8[buffer++ >> 0] = str.charCodeAt(i);
5838
5767
  }
5839
- if (!dontAddNull) HEAP8[buffer >> 0] = 0;
5768
+ HEAP8[buffer >> 0] = 0;
5840
5769
  }
5841
5770
 
5842
5771
  function _environ_get(__environ, environ_buf) {
@@ -5844,7 +5773,7 @@ function _environ_get(__environ, environ_buf) {
5844
5773
  getEnvStrings().forEach(function(string, i) {
5845
5774
  var ptr = environ_buf + bufSize;
5846
5775
  HEAPU32[__environ + i * 4 >> 2] = ptr;
5847
- writeAsciiToMemory(string, ptr);
5776
+ stringToAscii(string, ptr);
5848
5777
  bufSize += string.length + 1;
5849
5778
  });
5850
5779
  return 0;
@@ -5867,7 +5796,7 @@ function _fd_close(fd) {
5867
5796
  FS.close(stream);
5868
5797
  return 0;
5869
5798
  } catch (e) {
5870
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
5799
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
5871
5800
  return e.errno;
5872
5801
  }
5873
5802
  }
@@ -5882,6 +5811,9 @@ function doReadv(stream, iov, iovcnt, offset) {
5882
5811
  if (curr < 0) return -1;
5883
5812
  ret += curr;
5884
5813
  if (curr < len) break;
5814
+ if (typeof offset !== "undefined") {
5815
+ offset += curr;
5816
+ }
5885
5817
  }
5886
5818
  return ret;
5887
5819
  }
@@ -5893,7 +5825,7 @@ function _fd_read(fd, iov, iovcnt, pnum) {
5893
5825
  HEAPU32[pnum >> 2] = num;
5894
5826
  return 0;
5895
5827
  } catch (e) {
5896
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
5828
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
5897
5829
  return e.errno;
5898
5830
  }
5899
5831
  }
@@ -5913,7 +5845,7 @@ function _fd_seek(fd, offset_low, offset_high, whence, newOffset) {
5913
5845
  if (stream.getdents && offset === 0 && whence === 0) stream.getdents = null;
5914
5846
  return 0;
5915
5847
  } catch (e) {
5916
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
5848
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
5917
5849
  return e.errno;
5918
5850
  }
5919
5851
  }
@@ -5927,6 +5859,9 @@ function doWritev(stream, iov, iovcnt, offset) {
5927
5859
  var curr = FS.write(stream, HEAP8, ptr, len, offset);
5928
5860
  if (curr < 0) return -1;
5929
5861
  ret += curr;
5862
+ if (typeof offset !== "undefined") {
5863
+ offset += curr;
5864
+ }
5930
5865
  }
5931
5866
  return ret;
5932
5867
  }
@@ -5938,18 +5873,13 @@ function _fd_write(fd, iov, iovcnt, pnum) {
5938
5873
  HEAPU32[pnum >> 2] = num;
5939
5874
  return 0;
5940
5875
  } catch (e) {
5941
- if (typeof FS == "undefined" || !(e instanceof FS.ErrnoError)) throw e;
5876
+ if (typeof FS == "undefined" || !(e.name === "ErrnoError")) throw e;
5942
5877
  return e.errno;
5943
5878
  }
5944
5879
  }
5945
5880
 
5946
5881
  function _getentropy(buffer, size) {
5947
- if (!_getentropy.randomDevice) {
5948
- _getentropy.randomDevice = getRandomDevice();
5949
- }
5950
- for (var i = 0; i < size; i++) {
5951
- HEAP8[buffer + i >> 0] = _getentropy.randomDevice();
5952
- }
5882
+ randomFill(HEAPU8.subarray(buffer, buffer + size));
5953
5883
  return 0;
5954
5884
  }
5955
5885
 
@@ -6029,8 +5959,9 @@ function convertI32PairToI53(lo, hi) {
6029
5959
  return (lo >>> 0) + hi * 4294967296;
6030
5960
  }
6031
5961
 
6032
- function _glClientWaitSync(sync, flags, timeoutLo, timeoutHi) {
6033
- return GLctx.clientWaitSync(GL.syncs[sync], flags, convertI32PairToI53(timeoutLo, timeoutHi));
5962
+ function _glClientWaitSync(sync, flags, timeout_low, timeout_high) {
5963
+ var timeout = convertI32PairToI53(timeout_low, timeout_high);
5964
+ return GLctx.clientWaitSync(GL.syncs[sync], flags, timeout);
6034
5965
  }
6035
5966
 
6036
5967
  function _glCompileShader(shader) {
@@ -6457,13 +6388,6 @@ function _glGetShaderiv(shader, pname, p) {
6457
6388
  }
6458
6389
  }
6459
6390
 
6460
- function stringToNewUTF8(jsString) {
6461
- var length = lengthBytesUTF8(jsString) + 1;
6462
- var cString = _malloc(length);
6463
- stringToUTF8(jsString, cString, length);
6464
- return cString;
6465
- }
6466
-
6467
6391
  function _glGetString(name_) {
6468
6392
  var ret = GL.stringCache[name_];
6469
6393
  if (!ret) {
@@ -6596,7 +6520,7 @@ function computeUnpackAlignedImageSize(width, height, sizePerPixel, alignment) {
6596
6520
  return height * alignedRowSize;
6597
6521
  }
6598
6522
 
6599
- function __colorChannelsInGlTextureFormat(format) {
6523
+ function colorChannelsInGlTextureFormat(format) {
6600
6524
  var colorChannels = {
6601
6525
  5: 3,
6602
6526
  6: 4,
@@ -6630,7 +6554,7 @@ function emscriptenWebGLGetTexPixelData(type, format, width, height, pixels, int
6630
6554
  var heap = heapObjectForWebGLType(type);
6631
6555
  var shift = heapAccessShiftForWebGLHeap(heap);
6632
6556
  var byteSize = 1 << shift;
6633
- var sizePerPixel = __colorChannelsInGlTextureFormat(format) * byteSize;
6557
+ var sizePerPixel = colorChannelsInGlTextureFormat(format) * byteSize;
6634
6558
  var bytes = computeUnpackAlignedImageSize(width, height, sizePerPixel, GL.unpackAlignment);
6635
6559
  return heap.subarray(pixels >> shift, pixels + bytes >> shift);
6636
6560
  }
@@ -6792,7 +6716,7 @@ function _glUniform4fv(location, count, value) {
6792
6716
  GLctx.uniform4fv(webglGetUniformLocation(location), view);
6793
6717
  }
6794
6718
 
6795
- var __miniTempWebGLIntBuffers = [];
6719
+ var miniTempWebGLIntBuffers = [];
6796
6720
 
6797
6721
  function _glUniform4iv(location, count, value) {
6798
6722
  if (GL.currentContext.version >= 2) {
@@ -6800,7 +6724,7 @@ function _glUniform4iv(location, count, value) {
6800
6724
  return;
6801
6725
  }
6802
6726
  if (count <= 72) {
6803
- var view = __miniTempWebGLIntBuffers[4 * count - 1];
6727
+ var view = miniTempWebGLIntBuffers[4 * count - 1];
6804
6728
  for (var i = 0; i < 4 * count; i += 4) {
6805
6729
  view[i] = HEAP32[value + 4 * i >> 2];
6806
6730
  view[i + 1] = HEAP32[value + (4 * i + 4) >> 2];
@@ -6893,22 +6817,22 @@ function _mediapipe_webgl_tex_image_drawable(drawableHandle) {
6893
6817
  GLctx.texImage2D(GLctx.TEXTURE_2D, 0, GLctx.RGBA, GLctx.RGBA, GLctx.UNSIGNED_BYTE, drawable);
6894
6818
  }
6895
6819
 
6896
- function __arraySum(array, index) {
6820
+ function arraySum(array, index) {
6897
6821
  var sum = 0;
6898
6822
  for (var i = 0; i <= index; sum += array[i++]) {}
6899
6823
  return sum;
6900
6824
  }
6901
6825
 
6902
- var __MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
6826
+ var MONTH_DAYS_LEAP = [ 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
6903
6827
 
6904
- var __MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
6828
+ var MONTH_DAYS_REGULAR = [ 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 ];
6905
6829
 
6906
- function __addDays(date, days) {
6830
+ function addDays(date, days) {
6907
6831
  var newDate = new Date(date.getTime());
6908
6832
  while (days > 0) {
6909
- var leap = __isLeapYear(newDate.getFullYear());
6833
+ var leap = isLeapYear(newDate.getFullYear());
6910
6834
  var currentMonth = newDate.getMonth();
6911
- var daysInCurrentMonth = (leap ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR)[currentMonth];
6835
+ var daysInCurrentMonth = (leap ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR)[currentMonth];
6912
6836
  if (days > daysInCurrentMonth - newDate.getDate()) {
6913
6837
  days -= daysInCurrentMonth - newDate.getDate() + 1;
6914
6838
  newDate.setDate(1);
@@ -7028,7 +6952,7 @@ function _strftime(s, maxsize, format, tm) {
7028
6952
  }
7029
6953
  }
7030
6954
  function getWeekBasedYear(date) {
7031
- var thisDate = __addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
6955
+ var thisDate = addDays(new Date(date.tm_year + 1900, 0, 1), date.tm_yday);
7032
6956
  var janFourthThisYear = new Date(thisDate.getFullYear(), 0, 4);
7033
6957
  var janFourthNextYear = new Date(thisDate.getFullYear() + 1, 0, 4);
7034
6958
  var firstWeekStartThisYear = getFirstWeekStartDate(janFourthThisYear);
@@ -7079,7 +7003,7 @@ function _strftime(s, maxsize, format, tm) {
7079
7003
  return leadingNulls(twelveHour, 2);
7080
7004
  },
7081
7005
  "%j": function(date) {
7082
- return leadingNulls(date.tm_mday + __arraySum(__isLeapYear(date.tm_year + 1900) ? __MONTH_DAYS_LEAP : __MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);
7006
+ return leadingNulls(date.tm_mday + arraySum(isLeapYear(date.tm_year + 1900) ? MONTH_DAYS_LEAP : MONTH_DAYS_REGULAR, date.tm_mon - 1), 3);
7083
7007
  },
7084
7008
  "%m": function(date) {
7085
7009
  return leadingNulls(date.tm_mon + 1, 2);
@@ -7117,12 +7041,12 @@ function _strftime(s, maxsize, format, tm) {
7117
7041
  if (!val) {
7118
7042
  val = 52;
7119
7043
  var dec31 = (date.tm_wday + 7 - date.tm_yday - 1) % 7;
7120
- if (dec31 == 4 || dec31 == 5 && __isLeapYear(date.tm_year % 400 - 1)) {
7044
+ if (dec31 == 4 || dec31 == 5 && isLeapYear(date.tm_year % 400 - 1)) {
7121
7045
  val++;
7122
7046
  }
7123
7047
  } else if (val == 53) {
7124
7048
  var jan1 = (date.tm_wday + 371 - date.tm_yday) % 7;
7125
- if (jan1 != 4 && (jan1 != 3 || !__isLeapYear(date.tm_year))) val = 1;
7049
+ if (jan1 != 4 && (jan1 != 3 || !isLeapYear(date.tm_year))) val = 1;
7126
7050
  }
7127
7051
  return leadingNulls(val, 2);
7128
7052
  },
@@ -7359,11 +7283,7 @@ function _wgpuCommandEncoderRelease(id) {
7359
7283
 
7360
7284
  function _wgpuComputePassEncoderDispatchWorkgroups(passId, x, y, z) {
7361
7285
  var pass = WebGPU.mgrComputePassEncoder.get(passId);
7362
- if (pass["dispatchWorkgroups"]) {
7363
- pass["dispatchWorkgroups"](x, y, z);
7364
- } else {
7365
- pass["dispatch"](x, y, z);
7366
- }
7286
+ pass["dispatchWorkgroups"](x, y, z);
7367
7287
  }
7368
7288
 
7369
7289
  function _wgpuComputePassEncoderEnd(passId) {
@@ -7411,9 +7331,9 @@ function _wgpuDeviceCreateBindGroup(deviceId, descriptor) {
7411
7331
  var textureViewId = HEAPU32[entryPtr + 36 >> 2];
7412
7332
  var binding = HEAPU32[entryPtr + 4 >> 2];
7413
7333
  if (bufferId) {
7414
- var size_low = HEAPU32[entryPtr + 24 >> 2];
7415
- var size_high = HEAPU32[entryPtr + 28 >> 2];
7416
- var size = size_high === -1 && size_low === -1 ? undefined : size_high * 4294967296 + size_low;
7334
+ var size_low = HEAP32[entryPtr + 24 >> 2];
7335
+ var size_high = HEAP32[entryPtr + 28 >> 2];
7336
+ var size = size_high === -1 && size_low === -1 ? undefined : (size_high >>> 0) * 4294967296 + (size_low >>> 0);
7417
7337
  return {
7418
7338
  "binding": binding,
7419
7339
  "resource": {
@@ -7742,7 +7662,7 @@ function _wgpuQueueSubmit(queueId, commandCount, commands) {
7742
7662
  function _wgpuQueueWriteBuffer(queueId, bufferId, bufferOffset_low, bufferOffset_high, data, size) {
7743
7663
  var queue = WebGPU.mgrQueue.get(queueId);
7744
7664
  var buffer = WebGPU.mgrBuffer.get(bufferId);
7745
- var bufferOffset = bufferOffset_high * 4294967296 + bufferOffset_low;
7665
+ var bufferOffset = (bufferOffset_high >>> 0) * 4294967296 + (bufferOffset_low >>> 0);
7746
7666
  var subarray = HEAPU8.subarray(data, data + size);
7747
7667
  queue["writeBuffer"](buffer, bufferOffset, subarray, 0, size);
7748
7668
  }
@@ -7852,14 +7772,19 @@ function getCFunc(ident) {
7852
7772
  return func;
7853
7773
  }
7854
7774
 
7775
+ function stringToUTF8OnStack(str) {
7776
+ var size = lengthBytesUTF8(str) + 1;
7777
+ var ret = stackAlloc(size);
7778
+ stringToUTF8(str, ret, size);
7779
+ return ret;
7780
+ }
7781
+
7855
7782
  function ccall(ident, returnType, argTypes, args, opts) {
7856
7783
  var toC = {
7857
7784
  "string": str => {
7858
7785
  var ret = 0;
7859
7786
  if (str !== null && str !== undefined && str !== 0) {
7860
- var len = (str.length << 2) + 1;
7861
- ret = stackAlloc(len);
7862
- stringToUTF8(str, ret, len);
7787
+ ret = stringToUTF8OnStack(str);
7863
7788
  }
7864
7789
  return ret;
7865
7790
  },
@@ -8015,13 +7940,13 @@ for (var i = 0; i < 288; ++i) {
8015
7940
  miniTempWebGLFloatBuffers[i] = miniTempWebGLFloatBuffersStorage.subarray(0, i + 1);
8016
7941
  }
8017
7942
 
8018
- var __miniTempWebGLIntBuffersStorage = new Int32Array(288);
7943
+ var miniTempWebGLIntBuffersStorage = new Int32Array(288);
8019
7944
 
8020
7945
  for (var i = 0; i < 288; ++i) {
8021
- __miniTempWebGLIntBuffers[i] = __miniTempWebGLIntBuffersStorage.subarray(0, i + 1);
7946
+ miniTempWebGLIntBuffers[i] = miniTempWebGLIntBuffersStorage.subarray(0, i + 1);
8022
7947
  }
8023
7948
 
8024
- var asmLibraryArg = {
7949
+ var wasmImports = {
8025
7950
  "kd": HaveOffsetConverter,
8026
7951
  "jd": JsOnEmptyPacketListener,
8027
7952
  "id": JsOnFloat32ArrayImageListener,
@@ -8034,7 +7959,7 @@ var asmLibraryArg = {
8034
7959
  "cd": JsOnSimpleListenerString,
8035
7960
  "bd": JsOnUint8ClampedArrayImageListener,
8036
7961
  "ad": JsOnUint8ClampedArrayImageVectorListener,
8037
- "L": JsOnVectorFinishedListener,
7962
+ "K": JsOnVectorFinishedListener,
8038
7963
  "$c": JsOnVectorListenerBool,
8039
7964
  "_c": JsOnVectorListenerDouble,
8040
7965
  "Zc": JsOnVectorListenerFloat,
@@ -8046,16 +7971,15 @@ var asmLibraryArg = {
8046
7971
  "G": JsWrapErrorListener,
8047
7972
  "La": JsWrapImageConverter,
8048
7973
  "s": JsWrapSimpleListeners,
8049
- "i": ___cxa_allocate_exception,
8050
- "h": ___cxa_throw,
7974
+ "Tc": ___call_sighandler,
7975
+ "i": ___cxa_throw,
8051
7976
  "Ka": ___syscall_fcntl64,
8052
- "Tc": ___syscall_fstat64,
8053
- "Sc": ___syscall_ioctl,
8054
- "Rc": ___syscall_lstat64,
8055
- "Qc": ___syscall_newfstatat,
7977
+ "Sc": ___syscall_fstat64,
7978
+ "Rc": ___syscall_ioctl,
7979
+ "Qc": ___syscall_lstat64,
7980
+ "Pc": ___syscall_newfstatat,
8056
7981
  "Ja": ___syscall_openat,
8057
- "Pc": ___syscall_stat64,
8058
- "Lc": __dlinit,
7982
+ "Oc": ___syscall_stat64,
8059
7983
  "Kc": __dlopen_js,
8060
7984
  "Jc": __dlsym_js,
8061
7985
  "Sb": __embind_register_bigint,
@@ -8063,33 +7987,34 @@ var asmLibraryArg = {
8063
7987
  "Hc": __embind_register_emval,
8064
7988
  "Ha": __embind_register_float,
8065
7989
  "E": __embind_register_integer,
8066
- "q": __embind_register_memory_view,
7990
+ "n": __embind_register_memory_view,
8067
7991
  "Ga": __embind_register_std_string,
8068
- "ka": __embind_register_std_wstring,
7992
+ "ja": __embind_register_std_wstring,
8069
7993
  "Gc": __embind_register_void,
8070
7994
  "Fc": __emscripten_get_now_is_monotonic,
8071
- "ja": __emval_as,
7995
+ "ia": __emval_as,
8072
7996
  "k": __emval_decref,
8073
- "ia": __emval_get_global,
7997
+ "ha": __emval_get_global,
8074
7998
  "Fa": __emval_get_property,
8075
7999
  "Ea": __emval_incref,
8076
- "ha": __emval_instanceof,
8077
- "ca": __emval_new_cstring,
8078
- "ga": __emval_run_destructors,
8000
+ "ga": __emval_instanceof,
8001
+ "ba": __emval_new_cstring,
8002
+ "fa": __emval_run_destructors,
8079
8003
  "Da": __emval_set_property,
8080
- "ba": __emval_take_value,
8004
+ "aa": __emval_take_value,
8081
8005
  "Ec": __emval_typeof,
8082
8006
  "Dc": __gmtime_js,
8083
8007
  "Cc": __localtime_js,
8084
8008
  "Bc": __mktime_js,
8085
8009
  "Ac": __mmap_js,
8086
8010
  "zc": __munmap_js,
8011
+ "Ca": __setitimer_js,
8087
8012
  "yc": __tzset_js,
8088
8013
  "a": _abort,
8089
8014
  "D": _emscripten_asm_const_int,
8090
8015
  "xc": _emscripten_date_now,
8091
8016
  "wc": _emscripten_get_heap_max,
8092
- "F": _emscripten_get_now,
8017
+ "r": _emscripten_get_now,
8093
8018
  "vc": _emscripten_memcpy_big,
8094
8019
  "uc": _emscripten_pc_get_function,
8095
8020
  "tc": _emscripten_resize_heap,
@@ -8098,103 +8023,103 @@ var asmLibraryArg = {
8098
8023
  "qc": _emscripten_webgl_create_context,
8099
8024
  "pc": _emscripten_webgl_destroy_context,
8100
8025
  "oc": _emscripten_webgl_get_context_attributes,
8101
- "Ca": _emscripten_webgl_get_current_context,
8026
+ "Ba": _emscripten_webgl_get_current_context,
8102
8027
  "nc": _emscripten_webgl_init_context_attributes,
8103
8028
  "mc": _emscripten_webgl_make_context_current,
8104
8029
  "lc": _emscripten_webgpu_export_bind_group_layout,
8105
- "Ba": _emscripten_webgpu_export_device,
8030
+ "Aa": _emscripten_webgpu_export_device,
8106
8031
  "kc": _emscripten_webgpu_export_sampler,
8107
8032
  "jc": _emscripten_webgpu_export_texture,
8108
- "K": _emscripten_webgpu_get_device,
8033
+ "J": _emscripten_webgpu_get_device,
8109
8034
  "ic": _emscripten_webgpu_import_bind_group,
8110
8035
  "hc": _emscripten_webgpu_import_texture,
8111
- "V": _emscripten_webgpu_release_js_handle,
8112
- "Oc": _environ_get,
8113
- "Nc": _environ_sizes_get,
8114
- "Aa": _exit,
8115
- "ma": _fd_close,
8036
+ "U": _emscripten_webgpu_release_js_handle,
8037
+ "Nc": _environ_get,
8038
+ "Mc": _environ_sizes_get,
8039
+ "za": _exit,
8040
+ "la": _fd_close,
8116
8041
  "Ia": _fd_read,
8117
8042
  "Tb": _fd_seek,
8118
- "la": _fd_write,
8043
+ "ka": _fd_write,
8119
8044
  "gc": _getentropy,
8120
8045
  "d": _glActiveTexture,
8121
- "aa": _glAttachShader,
8046
+ "$": _glAttachShader,
8122
8047
  "fc": _glBindAttribLocation,
8123
8048
  "e": _glBindBuffer,
8124
8049
  "ec": _glBindBufferBase,
8125
8050
  "v": _glBindFramebuffer,
8126
8051
  "b": _glBindTexture,
8127
8052
  "u": _glBindVertexArray,
8128
- "za": _glBlendEquation,
8053
+ "ya": _glBlendEquation,
8129
8054
  "dc": _glBlendFunc,
8130
8055
  "p": _glBufferData,
8131
8056
  "z": _glClear,
8132
- "fa": _glClearColor,
8057
+ "ea": _glClearColor,
8133
8058
  "Rb": _glClientWaitSync,
8134
- "ya": _glCompileShader,
8135
- "xa": _glCreateProgram,
8136
- "wa": _glCreateShader,
8059
+ "xa": _glCompileShader,
8060
+ "wa": _glCreateProgram,
8061
+ "va": _glCreateShader,
8137
8062
  "C": _glDeleteBuffers,
8138
- "Q": _glDeleteFramebuffers,
8139
- "n": _glDeleteProgram,
8140
- "U": _glDeleteShader,
8141
- "T": _glDeleteSync,
8063
+ "P": _glDeleteFramebuffers,
8064
+ "j": _glDeleteProgram,
8065
+ "T": _glDeleteShader,
8066
+ "S": _glDeleteSync,
8142
8067
  "y": _glDeleteTextures,
8143
- "P": _glDeleteVertexArrays,
8144
- "J": _glDisable,
8068
+ "O": _glDeleteVertexArrays,
8069
+ "I": _glDisable,
8145
8070
  "t": _glDisableVertexAttribArray,
8146
8071
  "o": _glDrawArrays,
8147
- "S": _glDrawBuffers,
8072
+ "R": _glDrawBuffers,
8148
8073
  "cc": _glEnable,
8149
8074
  "m": _glEnableVertexAttribArray,
8150
- "va": _glFenceSync,
8151
- "$": _glFinish,
8152
- "I": _glFlush,
8075
+ "ua": _glFenceSync,
8076
+ "_": _glFinish,
8077
+ "F": _glFlush,
8153
8078
  "x": _glFramebufferTexture2D,
8154
- "ua": _glFramebufferTextureLayer,
8079
+ "ta": _glFramebufferTextureLayer,
8155
8080
  "w": _glGenBuffers,
8156
- "O": _glGenFramebuffers,
8081
+ "N": _glGenFramebuffers,
8157
8082
  "B": _glGenTextures,
8158
- "N": _glGenVertexArrays,
8159
- "ta": _glGetAttribLocation,
8160
- "_": _glGetError,
8161
- "r": _glGetIntegerv,
8083
+ "M": _glGenVertexArrays,
8084
+ "sa": _glGetAttribLocation,
8085
+ "Z": _glGetError,
8086
+ "q": _glGetIntegerv,
8162
8087
  "bc": _glGetProgramiv,
8163
8088
  "ac": _glGetShaderInfoLog,
8164
8089
  "$b": _glGetShaderiv,
8165
8090
  "H": _glGetString,
8166
8091
  "_b": _glGetUniformBlockIndex,
8167
8092
  "g": _glGetUniformLocation,
8168
- "sa": _glLinkProgram,
8169
- "Z": _glPixelStorei,
8170
- "ea": _glReadPixels,
8171
- "ra": _glShaderSource,
8093
+ "ra": _glLinkProgram,
8094
+ "Y": _glPixelStorei,
8095
+ "da": _glReadPixels,
8096
+ "qa": _glShaderSource,
8172
8097
  "A": _glTexImage2D,
8173
- "Y": _glTexParameterf,
8174
- "qa": _glTexParameterfv,
8098
+ "X": _glTexParameterf,
8099
+ "pa": _glTexParameterfv,
8175
8100
  "c": _glTexParameteri,
8176
- "da": _glTexStorage2D,
8101
+ "ca": _glTexStorage2D,
8177
8102
  "Zb": _glTexStorage3D,
8178
- "R": _glTexSubImage2D,
8103
+ "Q": _glTexSubImage2D,
8179
8104
  "Yb": _glTexSubImage3D,
8180
- "X": _glUniform1f,
8105
+ "W": _glUniform1f,
8181
8106
  "f": _glUniform1i,
8182
8107
  "Xb": _glUniform2f,
8183
8108
  "Wb": _glUniform2fv,
8184
- "pa": _glUniform3f,
8185
- "oa": _glUniform4fv,
8109
+ "oa": _glUniform3f,
8110
+ "na": _glUniform4fv,
8186
8111
  "Vb": _glUniform4iv,
8187
8112
  "Ub": _glUniformBlockBinding,
8188
- "na": _glUniformMatrix4fv,
8189
- "j": _glUseProgram,
8113
+ "ma": _glUniformMatrix4fv,
8114
+ "h": _glUseProgram,
8190
8115
  "l": _glVertexAttribPointer,
8191
- "M": _glViewport,
8116
+ "L": _glViewport,
8192
8117
  "Pb": mediapipe_create_utility_canvas2d,
8193
8118
  "Ob": _mediapipe_find_canvas_event_target,
8194
8119
  "Nb": mediapipe_import_external_texture,
8195
8120
  "Mb": _mediapipe_webgl_tex_image_drawable,
8196
- "Mc": _proc_exit,
8197
- "W": _strftime,
8121
+ "Lc": _proc_exit,
8122
+ "V": _strftime,
8198
8123
  "Lb": _strftime_l,
8199
8124
  "Kb": _wgpuBindGroupLayoutRelease,
8200
8125
  "Jb": _wgpuBindGroupRelease,
@@ -8253,8 +8178,8 @@ var asmLibraryArg = {
8253
8178
 
8254
8179
  var asm = createWasm();
8255
8180
 
8256
- var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() {
8257
- return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["md"]).apply(null, arguments);
8181
+ var ___wasm_call_ctors = function() {
8182
+ return (___wasm_call_ctors = Module["asm"]["md"]).apply(null, arguments);
8258
8183
  };
8259
8184
 
8260
8185
  var _free = Module["_free"] = function() {
@@ -8281,8 +8206,8 @@ var _registerModelResourcesGraphService = Module["_registerModelResourcesGraphSe
8281
8206
  return (_registerModelResourcesGraphService = Module["_registerModelResourcesGraphService"] = Module["asm"]["td"]).apply(null, arguments);
8282
8207
  };
8283
8208
 
8284
- var ___errno_location = Module["___errno_location"] = function() {
8285
- return (___errno_location = Module["___errno_location"] = Module["asm"]["ud"]).apply(null, arguments);
8209
+ var ___errno_location = function() {
8210
+ return (___errno_location = Module["asm"]["ud"]).apply(null, arguments);
8286
8211
  };
8287
8212
 
8288
8213
  var _bindTextureToStream = Module["_bindTextureToStream"] = function() {
@@ -8453,29 +8378,37 @@ var __embind_initialize_bindings = Module["__embind_initialize_bindings"] = func
8453
8378
  return (__embind_initialize_bindings = Module["__embind_initialize_bindings"] = Module["asm"]["ie"]).apply(null, arguments);
8454
8379
  };
8455
8380
 
8456
- var _emscripten_builtin_memalign = Module["_emscripten_builtin_memalign"] = function() {
8457
- return (_emscripten_builtin_memalign = Module["_emscripten_builtin_memalign"] = Module["asm"]["je"]).apply(null, arguments);
8381
+ var ___dl_seterr = function() {
8382
+ return (___dl_seterr = Module["asm"]["__dl_seterr"]).apply(null, arguments);
8458
8383
  };
8459
8384
 
8460
- var stackSave = Module["stackSave"] = function() {
8461
- return (stackSave = Module["stackSave"] = Module["asm"]["ke"]).apply(null, arguments);
8385
+ var __emscripten_timeout = function() {
8386
+ return (__emscripten_timeout = Module["asm"]["je"]).apply(null, arguments);
8462
8387
  };
8463
8388
 
8464
- var stackRestore = Module["stackRestore"] = function() {
8465
- return (stackRestore = Module["stackRestore"] = Module["asm"]["le"]).apply(null, arguments);
8389
+ var _emscripten_builtin_memalign = function() {
8390
+ return (_emscripten_builtin_memalign = Module["asm"]["ke"]).apply(null, arguments);
8466
8391
  };
8467
8392
 
8468
- var stackAlloc = Module["stackAlloc"] = function() {
8469
- return (stackAlloc = Module["stackAlloc"] = Module["asm"]["me"]).apply(null, arguments);
8393
+ var stackSave = function() {
8394
+ return (stackSave = Module["asm"]["le"]).apply(null, arguments);
8470
8395
  };
8471
8396
 
8472
- var ___cxa_is_pointer_type = Module["___cxa_is_pointer_type"] = function() {
8473
- return (___cxa_is_pointer_type = Module["___cxa_is_pointer_type"] = Module["asm"]["ne"]).apply(null, arguments);
8397
+ var stackRestore = function() {
8398
+ return (stackRestore = Module["asm"]["me"]).apply(null, arguments);
8474
8399
  };
8475
8400
 
8476
- var ___start_em_js = Module["___start_em_js"] = 1174124;
8401
+ var stackAlloc = function() {
8402
+ return (stackAlloc = Module["asm"]["ne"]).apply(null, arguments);
8403
+ };
8404
+
8405
+ var ___cxa_is_pointer_type = function() {
8406
+ return (___cxa_is_pointer_type = Module["asm"]["oe"]).apply(null, arguments);
8407
+ };
8477
8408
 
8478
- var ___stop_em_js = Module["___stop_em_js"] = 1180686;
8409
+ var ___start_em_js = Module["___start_em_js"] = 1199140;
8410
+
8411
+ var ___stop_em_js = Module["___stop_em_js"] = 1205702;
8479
8412
 
8480
8413
  Module["addRunDependency"] = addRunDependency;
8481
8414
 
@@ -8493,10 +8426,10 @@ Module["FS_createDevice"] = FS.createDevice;
8493
8426
 
8494
8427
  Module["FS_unlink"] = FS.unlink;
8495
8428
 
8496
- Module["stringToNewUTF8"] = stringToNewUTF8;
8497
-
8498
8429
  Module["ccall"] = ccall;
8499
8430
 
8431
+ Module["stringToNewUTF8"] = stringToNewUTF8;
8432
+
8500
8433
  var calledRun;
8501
8434
 
8502
8435
  dependenciesFulfilled = function runCaller() {
@@ -8504,8 +8437,7 @@ dependenciesFulfilled = function runCaller() {
8504
8437
  if (!calledRun) dependenciesFulfilled = runCaller;
8505
8438
  };
8506
8439
 
8507
- function run(args) {
8508
- args = args || arguments_;
8440
+ function run() {
8509
8441
  if (runDependencies > 0) {
8510
8442
  return;
8511
8443
  }
@@ -8548,6 +8480,7 @@ run();
8548
8480
 
8549
8481
  return ModuleFactory.ready
8550
8482
  }
8483
+
8551
8484
  );
8552
8485
  })();
8553
8486
  if (typeof exports === 'object' && typeof module === 'object')