@@ -1,713 +1,847 @@
1 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
2 1 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var initPikchrModule = (() => {
3 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
2 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var _scriptName = typeof document != 'undefined' ? document.currentScript?.src : undefined;
4 3 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
5 4 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
return (
6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function(config) {
7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var initPikchrModule = config || {};
5 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function(moduleArg = {}) {
6 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var moduleRtn;
8 7 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
9 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var Module = typeof initPikchrModule != "undefined" ? initPikchrModule : {};
8 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: shell.js
9 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // The Module object: Our interface to the outside world. We import
10 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // and export values on it. There are various ways Module can be used:
11 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // 1. Not defined. We create it here
12 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // 2. A function parameter, function(moduleArg) => Promise<Module>
13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // 3. pre-run appended it, var Module = {}; ..generated code..
14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // 4. External script tag defines var Module.
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // We need to check if Module already exists (e.g. case 3 above).
16 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Substitution will be replaced with actual code on later stage of the build,
17 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // this way Closure Compiler will not mangle it (e.g. case 4. above).
18 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Note that if you want to run closure, and also to use Module
19 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // after the generated code, you will need to define var Module = {};
20 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // before the code. Then that object will be used in the code, and you
21 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // can continue to use Module afterwards as well.
22 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var Module = moduleArg;
10 23 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
24 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Set up the promise that indicates the Module is initialized
11 25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var readyPromiseResolve, readyPromiseReject;
12 26 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
13 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["ready"] = new Promise(function(resolve, reject) {
14 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readyPromiseResolve = resolve;
15 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readyPromiseReject = reject;
27 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var readyPromise = new Promise((resolve, reject) => {
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ readyPromiseResolve = resolve;
29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ readyPromiseReject = reject;
16 30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
});
17 31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
32 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Determine the runtime environment we are in. You can customize this by
33 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // setting the ENVIRONMENT setting at compile time (see settings.js).
34 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var ENVIRONMENT_IS_WEB = true;
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var ENVIRONMENT_IS_WORKER = false;
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // --pre-jses are emitted after the Module integration code, so that they can
39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // refer to Module (if they choose; they can also define Module)
40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Sometimes an existing Module object exists with properties
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // meant to overwrite the default module functionality. Here
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // we collect those properties and reapply _after_ we configure
43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // the current environment's defaults to avoid having to be so
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // defensive during initialization.
18 45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var moduleOverrides = Object.assign({}, Module);
19 46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
20 47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var arguments_ = [];
21 48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
22 49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var thisProgram = "./this.program";
23 50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
24 51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var quit_ = (status, toThrow) => {
25 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- throw toThrow;
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ throw toThrow;
26 53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
};
27 54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
28 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ENVIRONMENT_IS_WEB = true;
29 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
30 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ENVIRONMENT_IS_WORKER = false;
31 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // `/` should be present at the end if `scriptDirectory` is not empty
32 56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var scriptDirectory = "";
33 57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
34 58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function locateFile(path) {
35 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["locateFile"]) {
36 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return Module["locateFile"](path, scriptDirectory);
37 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
38 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return scriptDirectory + path;
39 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
40 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
41 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var read_, readAsync, readBinary, setWindowTitle;
42 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
43 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
44 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (ENVIRONMENT_IS_WORKER) {
45 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- scriptDirectory = self.location.href;
46 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else if (typeof document != "undefined" && document.currentScript) {
47 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- scriptDirectory = document.currentScript.src;
48 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
49 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (_scriptDir) {
50 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- scriptDirectory = _scriptDir;
51 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
52 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (scriptDirectory.indexOf("blob:") !== 0) {
53 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- scriptDirectory = scriptDirectory.substr(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1);
54 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else {
55 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- scriptDirectory = "";
56 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
57 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- {
58 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- read_ = url => {
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var xhr = new XMLHttpRequest();
60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.open("GET", url, false);
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.send(null);
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return xhr.responseText;
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (ENVIRONMENT_IS_WORKER) {
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readBinary = url => {
66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var xhr = new XMLHttpRequest();
67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.open("GET", url, false);
68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.responseType = "arraybuffer";
69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.send(null);
70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return new Uint8Array(xhr.response);
71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readAsync = (url, onload, onerror) => {
74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var xhr = new XMLHttpRequest();
75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.open("GET", url, true);
76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.responseType = "arraybuffer";
77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.onload = () => {
78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- onload(xhr.response);
80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- onerror();
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.onerror = onerror;
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- xhr.send(null);
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- setWindowTitle = title => document.title = title;
59 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["locateFile"]) {
60 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return Module["locateFile"](path, scriptDirectory);
61 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
62 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return scriptDirectory + path;
63 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
64 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
65 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Hooks that are implemented differently in different runtime environments.
66 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var readAsync, readBinary;
67 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
68 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Note that this includes Node.js workers when relevant (pthreads is enabled).
69 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Node.js workers are detected as a combination of ENVIRONMENT_IS_WORKER and
70 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // ENVIRONMENT_IS_NODE.
71 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
72 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (ENVIRONMENT_IS_WORKER) {
73 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Check worker, not web, since window could be polyfilled
74 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ scriptDirectory = self.location.href;
75 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else if (typeof document != "undefined" && document.currentScript) {
76 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // web
77 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ scriptDirectory = document.currentScript.src;
78 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
79 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // When MODULARIZE, this JS may be executed later, after document.currentScript
80 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // is gone, so we saved it, and we use it here instead of any other info.
81 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (_scriptName) {
82 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ scriptDirectory = _scriptName;
83 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
84 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // blob urls look like blob:http://site.com/etc/etc and we cannot infer anything from them.
85 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // otherwise, slice off the final part of the url to find the script directory.
86 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // if scriptDirectory does not contain a slash, lastIndexOf will return -1,
87 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // and scriptDirectory will correctly be replaced with an empty string.
88 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // If scriptDirectory contains a query (starting with ?) or a fragment (starting with #),
89 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // they are removed because they could contain a slash.
90 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (scriptDirectory.startsWith("blob:")) {
91 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ scriptDirectory = "";
92 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ scriptDirectory = scriptDirectory.slice(0, scriptDirectory.replace(/[?#].*/, "").lastIndexOf("/") + 1);
94 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
95 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ {
96 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: web_or_worker_shell_read.js
97 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ readAsync = async url => {
98 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var response = await fetch(url, {
99 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ credentials: "same-origin"
100 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
101 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (response.ok) {
102 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return response.arrayBuffer();
103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ throw new Error(response.status + " : " + response.url);
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
89 107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
} else {}
90 108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
91 109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var out = Module["print"] || console.log.bind(console);
92 110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
93 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var err = Module["printErr"] || console.warn.bind(console);
111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var err = Module["printErr"] || console.error.bind(console);
94 112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Merge back in the overrides
95 114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Object.assign(Module, moduleOverrides);
96 115 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
116 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Free the object hierarchy contained in the overrides, this lets the GC
117 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // reclaim data used.
97 118 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
moduleOverrides = null;
98 119 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
120 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Emit code to handle expected values on the Module object. This applies Module.x
121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // to the proper local x. This has two benefits: first, we only emit it if it is
122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // expected to arrive, and second, by using a local everywhere else that can be
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // minified.
99 124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (Module["arguments"]) arguments_ = Module["arguments"];
100 125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
101 126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (Module["thisProgram"]) thisProgram = Module["thisProgram"];
102 127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
103 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["quit"]) quit_ = Module["quit"];
104 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
105 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var wasmBinary;
106 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
107 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["wasmBinary"]) wasmBinary = Module["wasmBinary"];
108 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
109 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var noExitRuntime = Module["noExitRuntime"] || true;
110 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
111 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (typeof WebAssembly != "object") {
112 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abort("no native wasm support detected");
113 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
114 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // perform assertions in shell.js after we set up out() and err(), as otherwise if an assertion fails it cannot print the message
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: shell.js
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: preamble.js
131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // === Preamble library stuff ===
132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Documentation for the public APIs defined in this file must be updated in:
133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // site/source/docs/api_reference/preamble.js.rst
134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // A prebuilt local version of the documentation is available at:
135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // site/build/text/docs/api_reference/preamble.js.txt
136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // You can also build docs locally as HTML or other formats in site/
137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // An online HTML version (which may be of a different version of Emscripten)
138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // is up at http://kripken.github.io/emscripten-site/docs/api_reference/preamble.js.html
139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var wasmBinary = Module["wasmBinary"];
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Wasm globals
115 142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var wasmMemory;
116 143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ //========================================
145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Runtime essentials
146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ //========================================
147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // whether we are quitting the application. no code should run after this.
148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // set in exit() and abort()
117 149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var ABORT = false;
118 150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // set by exit() and abort(). Passed to 'onExit' handler.
152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // NOTE: This is also used as the process return code code in shell environments
153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // but only when noExitRuntime is false.
119 154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var EXITSTATUS;
120 155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
121 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder("utf8") : undefined;
122 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
123 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function UTF8ArrayToString(heapOrArray, idx, maxBytesToRead) {
124 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var endIdx = idx + maxBytesToRead;
125 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var endPtr = idx;
126 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;
127 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
128 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
129 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
130 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var str = "";
131 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (idx < endPtr) {
132 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var u0 = heapOrArray[idx++];
133 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!(u0 & 128)) {
134 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- str += String.fromCharCode(u0);
135 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- continue;
136 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
137 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var u1 = heapOrArray[idx++] & 63;
138 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((u0 & 224) == 192) {
139 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- str += String.fromCharCode((u0 & 31) << 6 | u1);
140 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- continue;
141 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
142 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var u2 = heapOrArray[idx++] & 63;
143 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if ((u0 & 240) == 224) {
144 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- u0 = (u0 & 15) << 12 | u1 << 6 | u2;
145 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else {
146 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | heapOrArray[idx++] & 63;
147 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
148 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (u0 < 65536) {
149 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- str += String.fromCharCode(u0);
150 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else {
151 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ch = u0 - 65536;
152 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023);
153 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
154 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
155 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return str;
156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function UTF8ToString(ptr, maxBytesToRead) {
159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) {
163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!(maxBytesToWrite > 0)) return 0;
164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var startIdx = outIdx;
165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var endIdx = outIdx + maxBytesToWrite - 1;
166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (var i = 0; i < str.length; ++i) {
167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var u = str.charCodeAt(i);
168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (u >= 55296 && u <= 57343) {
169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var u1 = str.charCodeAt(++i);
170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- u = 65536 + ((u & 1023) << 10) | u1 & 1023;
171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (u <= 127) {
173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (outIdx >= endIdx) break;
174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- heap[outIdx++] = u;
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else if (u <= 2047) {
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (outIdx + 1 >= endIdx) break;
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- heap[outIdx++] = 192 | u >> 6;
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- heap[outIdx++] = 128 | u & 63;
179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else if (u <= 65535) {
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (outIdx + 2 >= endIdx) break;
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- heap[outIdx++] = 224 | u >> 12;
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- heap[outIdx++] = 128 | u >> 6 & 63;
183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- heap[outIdx++] = 128 | u & 63;
184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else {
185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (outIdx + 3 >= endIdx) break;
186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- heap[outIdx++] = 240 | u >> 18;
187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- heap[outIdx++] = 128 | u >> 12 & 63;
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- heap[outIdx++] = 128 | u >> 6 & 63;
189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- heap[outIdx++] = 128 | u & 63;
190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- heap[outIdx] = 0;
193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return outIdx - startIdx;
194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function stringToUTF8(str, outPtr, maxBytesToWrite) {
197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function updateMemoryViews() {
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var b = wasmMemory.buffer;
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAP8"] = HEAP8 = new Int8Array(b);
205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAP16"] = HEAP16 = new Int16Array(b);
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAP32"] = HEAP32 = new Int32Array(b);
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAPU16"] = HEAPU16 = new Uint16Array(b);
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAPU32"] = HEAPU32 = new Uint32Array(b);
210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAPF32"] = HEAPF32 = new Float32Array(b);
211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["HEAPF64"] = HEAPF64 = new Float64Array(b);
212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var INITIAL_MEMORY = Module["INITIAL_MEMORY"] || 16777216;
215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var wasmTable;
217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var __ATPRERUN__ = [];
219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var __ATINIT__ = [];
221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var __ATPOSTRUN__ = [];
156 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Memory management
157 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var /** @type {!Int8Array} */ HEAP8, /** @type {!Uint8Array} */ HEAPU8, /** @type {!Int16Array} */ HEAP16, /** @type {!Uint16Array} */ HEAPU16, /** @type {!Int32Array} */ HEAP32, /** @type {!Uint32Array} */ HEAPU32, /** @type {!Float32Array} */ HEAPF32, /* BigInt64Array type is not correctly defined in closure
158 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** not-@type {!BigInt64Array} */ HEAP64, /* BigUint64Array type is not correctly defined in closure
159 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** not-t@type {!BigUint64Array} */ HEAPU64, /** @type {!Float64Array} */ HEAPF64;
223 160 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
224 161 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var runtimeInitialized = false;
225 162 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function keepRuntimeAlive() {
227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return noExitRuntime;
163 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: runtime_shared.js
164 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: runtime_stack_check.js
165 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: runtime_stack_check.js
166 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: runtime_exceptions.js
167 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: runtime_exceptions.js
168 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: runtime_debug.js
169 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: runtime_debug.js
170 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: memoryprofiler.js
171 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: memoryprofiler.js
172 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function updateMemoryViews() {
173 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var b = wasmMemory.buffer;
174 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["HEAP8"] = HEAP8 = new Int8Array(b);
175 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["HEAP16"] = HEAP16 = new Int16Array(b);
176 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["HEAPU8"] = HEAPU8 = new Uint8Array(b);
177 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["HEAPU16"] = HEAPU16 = new Uint16Array(b);
178 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["HEAP32"] = HEAP32 = new Int32Array(b);
179 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["HEAPU32"] = HEAPU32 = new Uint32Array(b);
180 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["HEAPF32"] = HEAPF32 = new Float32Array(b);
181 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["HEAPF64"] = HEAPF64 = new Float64Array(b);
182 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["HEAP64"] = HEAP64 = new BigInt64Array(b);
183 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["HEAPU64"] = HEAPU64 = new BigUint64Array(b);
228 184 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
229 185 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
186 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: runtime_shared.js
230 187 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function preRun() {
231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["preRun"]) {
232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ];
233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (Module["preRun"].length) {
234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- addOnPreRun(Module["preRun"].shift());
188 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["preRun"]) {
189 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (typeof Module["preRun"] == "function") Module["preRun"] = [ Module["preRun"] ];
190 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (Module["preRun"].length) {
191 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ addOnPreRun(Module["preRun"].shift());
192 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
235 193 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callRuntimeCallbacks(__ATPRERUN__);
194 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ callRuntimeCallbacks(onPreRuns);
238 195 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
239 196 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
240 197 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function initRuntime() {
241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- runtimeInitialized = true;
242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callRuntimeCallbacks(__ATINIT__);
198 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ runtimeInitialized = true;
199 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wasmExports["e"]();
243 200 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
244 201 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
245 202 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function postRun() {
246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["postRun"]) {
247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ];
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (Module["postRun"].length) {
249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- addOnPostRun(Module["postRun"].shift());
250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callRuntimeCallbacks(__ATPOSTRUN__);
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function addOnPreRun(cb) {
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- __ATPRERUN__.unshift(cb);
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function addOnInit(cb) {
260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- __ATINIT__.unshift(cb);
261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function addOnPostRun(cb) {
264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- __ATPOSTRUN__.unshift(cb);
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var runDependencies = 0;
268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var runDependencyWatcher = null;
203 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["postRun"]) {
204 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (typeof Module["postRun"] == "function") Module["postRun"] = [ Module["postRun"] ];
205 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (Module["postRun"].length) {
206 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ addOnPostRun(Module["postRun"].shift());
207 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
208 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
209 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ callRuntimeCallbacks(onPostRuns);
210 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
211 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
212 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // A counter of dependencies for calling run(). If we need to
213 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // do asynchronous work before running, increment this and
214 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // decrement it. Incrementing must happen in a place like
215 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Module.preRun (used by emcc to add file preloading).
216 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Note that you can add dependencies in preRun, even though
217 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // it happens right before run - run will be postponed until
218 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // the dependencies are met.
219 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var runDependencies = 0;
270 220 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
271 221 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var dependenciesFulfilled = null;
272 222 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
273 223 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function addRunDependency(id) {
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- runDependencies++;
275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["monitorRunDependencies"]) {
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["monitorRunDependencies"](runDependencies);
277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
224 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ runDependencies++;
225 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["monitorRunDependencies"]?.(runDependencies);
278 226 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
279 227 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
280 228 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
function removeRunDependency(id) {
281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- runDependencies--;
282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["monitorRunDependencies"]) {
283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["monitorRunDependencies"](runDependencies);
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (runDependencies == 0) {
286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (runDependencyWatcher !== null) {
287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- clearInterval(runDependencyWatcher);
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- runDependencyWatcher = null;
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (dependenciesFulfilled) {
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var callback = dependenciesFulfilled;
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dependenciesFulfilled = null;
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callback();
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function abort(what) {
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["onAbort"]) {
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["onAbort"](what);
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- what = "Aborted(" + what + ")";
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- err(what);
304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ABORT = true;
305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- EXITSTATUS = 1;
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- what += ". Build with -sASSERTIONS for more info.";
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var e = new WebAssembly.RuntimeError(what);
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readyPromiseReject(e);
309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- throw e;
310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var dataURIPrefix = "data:application/octet-stream;base64,";
313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function isDataURI(filename) {
315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return filename.startsWith(dataURIPrefix);
229 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ runDependencies--;
230 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["monitorRunDependencies"]?.(runDependencies);
231 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (runDependencies == 0) {
232 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (dependenciesFulfilled) {
233 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var callback = dependenciesFulfilled;
234 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dependenciesFulfilled = null;
235 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ callback();
236 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
237 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
238 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
239 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
240 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** @param {string|number=} what */ function abort(what) {
241 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["onAbort"]?.(what);
242 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ what = "Aborted(" + what + ")";
243 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // TODO(sbc): Should we remove printing and leave it up to whoever
244 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // catches the exception?
245 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ err(what);
246 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ABORT = true;
247 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ what += ". Build with -sASSERTIONS for more info.";
248 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Use a wasm runtime error, because a JS error might be seen as a foreign
249 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // exception, which means we'd run destructors on it. We need the error to
250 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // simply make the program stop.
251 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // FIXME This approach does not work in Wasm EH because it currently does not assume
252 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // all RuntimeErrors are from traps; it decides whether a RuntimeError is from
253 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // a trap or not based on a hidden field within the object. So at the moment
254 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // we don't have a way of throwing a wasm trap from JS. TODO Make a JS API that
255 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // allows this in the wasm spec.
256 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Suppress closure compiler warning here. Closure compiler's builtin extern
257 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // definition for WebAssembly.RuntimeError claims it takes no arguments even
258 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // though it can.
259 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // TODO(https://github.com/google/closure-compiler/pull/3913): Remove if/when upstream closure gets fixed.
260 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** @suppress {checkTypes} */ var e = new WebAssembly.RuntimeError(what);
261 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ readyPromiseReject(e);
262 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Throw the error whether or not MODULARIZE is set because abort is used
263 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // in code paths apart from instantiation where an exception is expected
264 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // to be thrown when abort is called.
265 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ throw e;
316 266 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
317 267 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
318 268 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var wasmBinaryFile;
319 269 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wasmBinaryFile = "pikchr.wasm";
321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!isDataURI(wasmBinaryFile)) {
323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wasmBinaryFile = locateFile(wasmBinaryFile);
270 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function findWasmBinary() {
271 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return locateFile("pikchr.wasm");
324 272 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
325 273 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function getBinary(file) {
327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {
274 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function getBinarySync(file) {
328 275 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (file == wasmBinaryFile && wasmBinary) {
329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return new Uint8Array(wasmBinary);
276 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return new Uint8Array(wasmBinary);
330 277 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
331 278 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (readBinary) {
332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return readBinary(file);
279 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return readBinary(file);
333 280 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
334 281 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
throw "both async and sync fetching of the wasm failed";
335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } catch (err) {
336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abort(err);
337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function getBinaryPromise() {
341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER)) {
342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (typeof fetch == "function") {
343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return fetch(wasmBinaryFile, {
344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- credentials: "same-origin"
345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }).then(function(response) {
346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!response["ok"]) {
347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- throw "failed to load wasm binary file at '" + wasmBinaryFile + "'";
348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return response["arrayBuffer"]();
350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }).catch(function() {
351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return getBinary(wasmBinaryFile);
352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return Promise.resolve().then(function() {
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return getBinary(wasmBinaryFile);
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function createWasm() {
361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var info = {
362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "a": asmLibraryArg
363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function receiveInstance(instance, module) {
365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var exports = instance.exports;
366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["asm"] = exports;
367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wasmMemory = Module["asm"]["d"];
368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- updateMemoryViews();
369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- wasmTable = Module["asm"]["g"];
370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- addOnInit(Module["asm"]["e"]);
371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- removeRunDependency("wasm-instantiate");
372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- addRunDependency("wasm-instantiate");
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function receiveInstantiationResult(result) {
375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- receiveInstance(result["instance"]);
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function instantiateArrayBuffer(receiver) {
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return getBinaryPromise().then(function(binary) {
379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return WebAssembly.instantiate(binary, info);
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }).then(function(instance) {
381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return instance;
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }).then(receiver, function(reason) {
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- err("failed to asynchronously prepare wasm: " + reason);
384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abort(reason);
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function instantiateAsync() {
388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!wasmBinary && typeof WebAssembly.instantiateStreaming == "function" && !isDataURI(wasmBinaryFile) && typeof fetch == "function") {
389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return fetch(wasmBinaryFile, {
390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- credentials: "same-origin"
391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }).then(function(response) {
392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var result = WebAssembly.instantiateStreaming(response, info);
393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return result.then(receiveInstantiationResult, function(reason) {
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- err("wasm streaming compile failed: " + reason);
395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- err("falling back to ArrayBuffer instantiation");
396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return instantiateArrayBuffer(receiveInstantiationResult);
397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- });
399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else {
400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return instantiateArrayBuffer(receiveInstantiationResult);
401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["instantiateWasm"]) {
404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- try {
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var exports = Module["instantiateWasm"](info, receiveInstance);
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return exports;
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } catch (e) {
408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- err("Module.instantiateWasm callback failed with error: " + e);
409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readyPromiseReject(e);
410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- instantiateAsync().catch(readyPromiseReject);
413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return {};
414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var tempDouble;
417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var tempI64;
419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function ExitStatus(status) {
421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.name = "ExitStatus";
422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.message = "Program terminated with exit(" + status + ")";
423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- this.status = status;
424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function callRuntimeCallbacks(callbacks) {
427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (callbacks.length > 0) {
428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- callbacks.shift()(Module);
429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function getValue(ptr, type = "i8") {
433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (type.endsWith("*")) type = "*";
434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- switch (type) {
435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "i1":
436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return HEAP8[ptr >> 0];
437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "i8":
439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return HEAP8[ptr >> 0];
440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "i16":
442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return HEAP16[ptr >> 1];
443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "i32":
445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return HEAP32[ptr >> 2];
446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "i64":
448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return HEAP32[ptr >> 2];
449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "float":
451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return HEAPF32[ptr >> 2];
452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "double":
454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return HEAPF64[ptr >> 3];
455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "*":
457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return HEAPU32[ptr >> 2];
458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- default:
460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abort("invalid type for getValue: " + type);
461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return null;
463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function setValue(ptr, value, type = "i8") {
466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (type.endsWith("*")) type = "*";
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- switch (type) {
468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "i1":
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- HEAP8[ptr >> 0] = value;
470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "i8":
473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- HEAP8[ptr >> 0] = value;
474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "i16":
477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- HEAP16[ptr >> 1] = value;
478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "i32":
481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- HEAP32[ptr >> 2] = value;
482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "i64":
485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- tempI64 = [ value >>> 0, (tempDouble = value, +Math.abs(tempDouble) >= 1 ? tempDouble > 0 ? (Math.min(+Math.floor(tempDouble / 4294967296), 4294967295) | 0) >>> 0 : ~~+Math.ceil((tempDouble - +(~~tempDouble >>> 0)) / 4294967296) >>> 0 : 0) ],
486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- HEAP32[ptr >> 2] = tempI64[0], HEAP32[ptr + 4 >> 2] = tempI64[1];
487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "float":
490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- HEAPF32[ptr >> 2] = value;
491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "double":
494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- HEAPF64[ptr >> 3] = value;
495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- case "*":
498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- HEAPU32[ptr >> 2] = value;
499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- break;
500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- default:
502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abort("invalid type for setValue: " + type);
503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function ___assert_fail(condition, filename, line, func) {
507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abort("Assertion failed: " + UTF8ToString(condition) + ", at: " + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]);
508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function abortOnCannotGrowMemory(requestedSize) {
511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abort("OOM");
512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function _emscripten_resize_heap(requestedSize) {
515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var oldSize = HEAPU8.length;
516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- requestedSize = requestedSize >>> 0;
517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- abortOnCannotGrowMemory(requestedSize);
518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var SYSCALLS = {
521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- varargs: undefined,
522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- get: function() {
523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- SYSCALLS.varargs += 4;
524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];
525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return ret;
526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- },
527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- getStr: function(ptr) {
528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ret = UTF8ToString(ptr);
529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return ret;
530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function _proc_exit(code) {
534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- EXITSTATUS = code;
535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!keepRuntimeAlive()) {
536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["onExit"]) Module["onExit"](code);
537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ABORT = true;
538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- quit_(code, new ExitStatus(code));
540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function exitJS(status, implicit) {
543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- EXITSTATUS = status;
544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- _proc_exit(status);
545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
282 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
283 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
284 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function getWasmBinary(binaryFile) {
285 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // If we don't have the binary yet, load it asynchronously using readAsync.
286 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (!wasmBinary) {
287 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Fetch the binary using readAsync
288 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
289 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var response = await readAsync(binaryFile);
290 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return new Uint8Array(response);
291 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch {}
292 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
293 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Otherwise, getBinarySync should be able to get it synchronously
294 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return getBinarySync(binaryFile);
295 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
296 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
297 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function instantiateArrayBuffer(binaryFile, imports) {
298 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
299 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var binary = await getWasmBinary(binaryFile);
300 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var instance = await WebAssembly.instantiate(binary, imports);
301 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return instance;
302 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch (reason) {
303 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ err(`failed to asynchronously prepare wasm: ${reason}`);
304 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ abort(reason);
305 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
306 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
307 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
308 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function instantiateAsync(binary, binaryFile, imports) {
309 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (!binary && typeof WebAssembly.instantiateStreaming == "function") {
310 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
311 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var response = fetch(binaryFile, {
312 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ credentials: "same-origin"
313 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
314 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var instantiationResult = await WebAssembly.instantiateStreaming(response, imports);
315 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return instantiationResult;
316 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch (reason) {
317 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // We expect the most common failure cause to be a bad MIME type for the binary,
318 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // in which case falling back to ArrayBuffer instantiation should work.
319 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ err(`wasm streaming compile failed: ${reason}`);
320 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ err("falling back to ArrayBuffer instantiation");
321 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
322 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
323 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return instantiateArrayBuffer(binaryFile, imports);
324 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
325 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
326 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function getWasmImports() {
327 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // prepare imports
328 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return {
329 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "a": wasmImports
330 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
331 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
332 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
333 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Create the wasm instance.
334 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Receives the wasm imports, returns the exports.
335 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ async function createWasm() {
336 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Load the wasm module and create an instance of using native support in the JS engine.
337 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // handle a generated wasm instance, receiving its exports and
338 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // performing other necessary setup
339 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** @param {WebAssembly.Module=} module*/ function receiveInstance(instance, module) {
340 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wasmExports = instance.exports;
341 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wasmMemory = wasmExports["d"];
342 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ updateMemoryViews();
343 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ removeRunDependency("wasm-instantiate");
344 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return wasmExports;
345 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
346 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // wait for the pthread pool (if any)
347 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ addRunDependency("wasm-instantiate");
348 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Prefer streaming instantiation if available.
349 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function receiveInstantiationResult(result) {
350 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // 'result' is a ResultObject object which has both the module and instance.
351 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // receiveInstance() will swap in the exports (to Module.asm) so they can be called
352 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // TODO: Due to Closure regression https://github.com/google/closure-compiler/issues/3193, the above line no longer optimizes out down to the following line.
353 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // When the regression is fixed, can restore the above PTHREADS-enabled path.
354 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return receiveInstance(result["instance"]);
355 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
356 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var info = getWasmImports();
357 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // User shell pages can write their own Module.instantiateWasm = function(imports, successCallback) callback
358 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // to manually instantiate the Wasm module themselves. This allows pages to
359 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // run the instantiation parallel to any other async startup actions they are
360 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // performing.
361 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Also pthreads and wasm workers initialize the wasm instance through this
362 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // path.
363 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["instantiateWasm"]) {
364 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return new Promise((resolve, reject) => {
365 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["instantiateWasm"](info, (mod, inst) => {
366 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ receiveInstance(mod, inst);
367 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ resolve(mod.exports);
368 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
369 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ });
370 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
371 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ wasmBinaryFile ??= findWasmBinary();
372 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ try {
373 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var result = await instantiateAsync(wasmBinary, wasmBinaryFile, info);
374 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var exports = receiveInstantiationResult(result);
375 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return exports;
376 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } catch (e) {
377 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // If instantiation fails, reject the module ready promise.
378 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ readyPromiseReject(e);
379 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return Promise.reject(e);
380 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
381 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
382 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
383 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // === Body ===
384 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: preamble.js
385 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ class ExitStatus {
386 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ name="ExitStatus";
387 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ constructor(status) {
388 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ this.message = `Program terminated with exit(${status})`;
389 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ this.status = status;
390 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
391 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
392 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
393 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var callRuntimeCallbacks = callbacks => {
394 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (callbacks.length > 0) {
395 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Pass the module as the first argument.
396 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ callbacks.shift()(Module);
397 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
398 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
399 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
400 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var onPostRuns = [];
401 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
402 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var addOnPostRun = cb => onPostRuns.unshift(cb);
403 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
404 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var onPreRuns = [];
405 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
406 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var addOnPreRun = cb => onPreRuns.unshift(cb);
407 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
408 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /**
409 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {number} ptr
410 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {string} type
411 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */ function getValue(ptr, type = "i8") {
412 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (type.endsWith("*")) type = "*";
413 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ switch (type) {
414 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "i1":
415 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return HEAP8[ptr];
416 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
417 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "i8":
418 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return HEAP8[ptr];
419 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
420 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "i16":
421 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return HEAP16[((ptr) >> 1)];
422 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
423 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "i32":
424 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return HEAP32[((ptr) >> 2)];
425 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
426 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "i64":
427 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return HEAP64[((ptr) >> 3)];
428 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
429 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "float":
430 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return HEAPF32[((ptr) >> 2)];
431 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
432 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "double":
433 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return HEAPF64[((ptr) >> 3)];
434 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
435 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "*":
436 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return HEAPU32[((ptr) >> 2)];
437 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
438 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ default:
439 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ abort(`invalid type for getValue: ${type}`);
440 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
441 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
442 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
443 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var noExitRuntime = Module["noExitRuntime"] || true;
444 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
445 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /**
446 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {number} ptr
447 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {number} value
448 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {string} type
449 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */ function setValue(ptr, value, type = "i8") {
450 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (type.endsWith("*")) type = "*";
451 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ switch (type) {
452 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "i1":
453 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAP8[ptr] = value;
454 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
455 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
456 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "i8":
457 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAP8[ptr] = value;
458 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
459 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
460 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "i16":
461 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAP16[((ptr) >> 1)] = value;
462 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
463 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
464 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "i32":
465 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAP32[((ptr) >> 2)] = value;
466 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
467 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
468 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "i64":
469 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAP64[((ptr) >> 3)] = BigInt(value);
470 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
471 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
472 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "float":
473 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAPF32[((ptr) >> 2)] = value;
474 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
475 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
476 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "double":
477 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAPF64[((ptr) >> 3)] = value;
478 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
479 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
480 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ case "*":
481 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAPU32[((ptr) >> 2)] = value;
482 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ break;
483 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
484 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ default:
485 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ abort(`invalid type for setValue: ${type}`);
486 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
487 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
488 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
489 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var stackRestore = val => __emscripten_stack_restore(val);
490 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
491 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var stackSave = () => _emscripten_stack_get_current();
492 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
493 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var UTF8Decoder = typeof TextDecoder != "undefined" ? new TextDecoder : undefined;
494 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
495 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /**
496 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * Given a pointer 'idx' to a null-terminated UTF8-encoded string in the given
497 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * array that contains uint8 values, returns a copy of that string as a
498 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * Javascript String object.
499 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * heapOrArray is either a regular array, or a JavaScript typed array view.
500 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {number=} idx
501 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {number=} maxBytesToRead
502 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @return {string}
503 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */ var UTF8ArrayToString = (heapOrArray, idx = 0, maxBytesToRead = NaN) => {
504 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var endIdx = idx + maxBytesToRead;
505 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var endPtr = idx;
506 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // TextDecoder needs to know the byte length in advance, it doesn't stop on
507 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // null terminator by itself. Also, use the length info to avoid running tiny
508 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // strings through TextDecoder, since .subarray() allocates garbage.
509 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // (As a tiny code save trick, compare endPtr against endIdx using a negation,
510 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // so that undefined/NaN means Infinity)
511 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (heapOrArray[endPtr] && !(endPtr >= endIdx)) ++endPtr;
512 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (endPtr - idx > 16 && heapOrArray.buffer && UTF8Decoder) {
513 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return UTF8Decoder.decode(heapOrArray.subarray(idx, endPtr));
514 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
515 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var str = "";
516 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // If building with TextDecoder, we have already computed the string length
517 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // above, so test loop end condition against that
518 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (idx < endPtr) {
519 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // For UTF8 byte structure, see:
520 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // http://en.wikipedia.org/wiki/UTF-8#Description
521 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // https://www.ietf.org/rfc/rfc2279.txt
522 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // https://tools.ietf.org/html/rfc3629
523 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var u0 = heapOrArray[idx++];
524 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (!(u0 & 128)) {
525 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ str += String.fromCharCode(u0);
526 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ continue;
527 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
528 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var u1 = heapOrArray[idx++] & 63;
529 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if ((u0 & 224) == 192) {
530 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ str += String.fromCharCode(((u0 & 31) << 6) | u1);
531 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ continue;
532 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
533 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var u2 = heapOrArray[idx++] & 63;
534 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if ((u0 & 240) == 224) {
535 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ u0 = ((u0 & 15) << 12) | (u1 << 6) | u2;
536 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
537 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ u0 = ((u0 & 7) << 18) | (u1 << 12) | (u2 << 6) | (heapOrArray[idx++] & 63);
538 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
539 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (u0 < 65536) {
540 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ str += String.fromCharCode(u0);
541 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
542 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var ch = u0 - 65536;
543 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ str += String.fromCharCode(55296 | (ch >> 10), 56320 | (ch & 1023));
544 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
545 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
546 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return str;
547 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
548 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /**
550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the
551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * emscripten HEAP, returns a copy of that string as a Javascript String object.
552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ *
553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {number} ptr
554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {number=} maxBytesToRead - An optional length that specifies the
555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * maximum number of bytes to read. You can omit this parameter to scan the
556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * string until the first 0 byte. If maxBytesToRead is passed, and the string
557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the
558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * string will cut short at that byte index (i.e. maxBytesToRead will not
559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing
560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * frequent uses of UTF8ToString() with and without maxBytesToRead may throw
561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * JS JIT optimizations off, so it is worth to consider consistently using one
562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @return {string}
563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */ var UTF8ToString = (ptr, maxBytesToRead) => ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : "";
564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var ___assert_fail = (condition, filename, line, func) => abort(`Assertion failed: ${UTF8ToString(condition)}, at: ` + [ filename ? UTF8ToString(filename) : "unknown filename", line, func ? UTF8ToString(func) : "unknown function" ]);
566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var abortOnCannotGrowMemory = requestedSize => {
568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ abort("OOM");
569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var _emscripten_resize_heap = requestedSize => {
572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var oldSize = HEAPU8.length;
573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // With CAN_ADDRESS_2GB or MEMORY64, pointers are already unsigned.
574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ requestedSize >>>= 0;
575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ abortOnCannotGrowMemory(requestedSize);
576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var runtimeKeepaliveCounter = 0;
579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var keepRuntimeAlive = () => noExitRuntime || runtimeKeepaliveCounter > 0;
581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var _proc_exit = code => {
583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ EXITSTATUS = code;
584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (!keepRuntimeAlive()) {
585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["onExit"]?.(code);
586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ABORT = true;
587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ quit_(code, new ExitStatus(code));
589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
591 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** @suppress {duplicate } */ /** @param {boolean|number=} implicit */ var exitJS = (status, implicit) => {
592 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ EXITSTATUS = status;
593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ _proc_exit(status);
594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
546 595 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
547 596 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
var _exit = exitJS;
548 597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
549 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function getCFunc(ident) {
550 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var func = Module["_" + ident];
551 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return func;
552 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
553 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
554 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function writeArrayToMemory(array, buffer) {
555 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- HEAP8.set(array, buffer);
556 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
557 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
558 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function ccall(ident, returnType, argTypes, args, opts) {
559 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var toC = {
560 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "string": str => {
561 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ret = 0;
562 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (str !== null && str !== undefined && str !== 0) {
563 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var len = (str.length << 2) + 1;
564 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ret = stackAlloc(len);
565 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- stringToUTF8(str, ret, len);
566 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
567 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return ret;
568 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- },
569 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "array": arr => {
570 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ret = stackAlloc(arr.length);
571 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- writeArrayToMemory(arr, ret);
572 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return ret;
573 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
574 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
575 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function convertReturnValue(ret) {
576 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (returnType === "string") {
577 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return UTF8ToString(ret);
578 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
579 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (returnType === "boolean") return Boolean(ret);
580 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return ret;
581 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
582 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var func = getCFunc(ident);
583 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var cArgs = [];
584 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var stack = 0;
585 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (args) {
586 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- for (var i = 0; i < args.length; i++) {
587 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var converter = toC[argTypes[i]];
588 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (converter) {
589 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (stack === 0) stack = stackSave();
590 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cArgs[i] = converter(args[i]);
591 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else {
592 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- cArgs[i] = args[i];
593 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
594 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
595 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
596 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ret = func.apply(null, cArgs);
597 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function onDone(ret) {
598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (stack !== 0) stackRestore(stack);
599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return convertReturnValue(ret);
600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
601 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- ret = onDone(ret);
602 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return ret;
603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
604 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
605 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function cwrap(ident, returnType, argTypes, opts) {
606 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- argTypes = argTypes || [];
607 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var numericArgs = argTypes.every(type => type === "number" || type === "boolean");
608 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var numericRet = returnType !== "string";
609 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (numericRet && numericArgs && !opts) {
610 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return getCFunc(ident);
611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return function() {
613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return ccall(ident, returnType, argTypes, arguments, opts);
614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var asmLibraryArg = {
618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "a": ___assert_fail,
619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "b": _emscripten_resize_heap,
620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- "c": _exit
621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var asm = createWasm();
624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
625 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function() {
626 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (___wasm_call_ctors = Module["___wasm_call_ctors"] = Module["asm"]["e"]).apply(null, arguments);
627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
629 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var _pikchr = Module["_pikchr"] = function() {
630 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (_pikchr = Module["_pikchr"] = Module["asm"]["f"]).apply(null, arguments);
631 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
632 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
633 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var stackSave = Module["stackSave"] = function() {
634 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (stackSave = Module["stackSave"] = Module["asm"]["h"]).apply(null, arguments);
635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
636 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
637 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var stackRestore = Module["stackRestore"] = function() {
638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (stackRestore = Module["stackRestore"] = Module["asm"]["i"]).apply(null, arguments);
639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var stackAlloc = Module["stackAlloc"] = function() {
642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return (stackAlloc = Module["stackAlloc"] = Module["asm"]["j"]).apply(null, arguments);
643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
598 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var getCFunc = ident => {
599 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var func = Module["_" + ident];
600 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // closure exported function
601 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return func;
602 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
603 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
604 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var writeArrayToMemory = (array, buffer) => {
605 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ HEAP8.set(array, buffer);
606 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
607 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
608 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var lengthBytesUTF8 = str => {
609 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var len = 0;
610 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for (var i = 0; i < str.length; ++i) {
611 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
612 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // unit, not a Unicode code point of the character! So decode
613 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // UTF16->UTF32->UTF8.
614 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
615 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var c = str.charCodeAt(i);
616 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // possibly a lead surrogate
617 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (c <= 127) {
618 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ len++;
619 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else if (c <= 2047) {
620 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ len += 2;
621 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else if (c >= 55296 && c <= 57343) {
622 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ len += 4;
623 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ++i;
624 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
625 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ len += 3;
626 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
627 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
628 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return len;
629 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
630 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
631 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var stringToUTF8Array = (str, heap, outIdx, maxBytesToWrite) => {
632 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Parameter maxBytesToWrite is not optional. Negative values, 0, null,
633 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // undefined and false each don't write out any bytes.
634 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (!(maxBytesToWrite > 0)) return 0;
635 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var startIdx = outIdx;
636 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var endIdx = outIdx + maxBytesToWrite - 1;
637 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // -1 for string null terminator.
638 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for (var i = 0; i < str.length; ++i) {
639 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Gotcha: charCodeAt returns a 16-bit word that is a UTF-16 encoded code
640 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // unit, not a Unicode code point of the character! So decode
641 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // UTF16->UTF32->UTF8.
642 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // See http://unicode.org/faq/utf_bom.html#utf16-3
643 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // For UTF8 byte structure, see http://en.wikipedia.org/wiki/UTF-8#Description
644 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // and https://www.ietf.org/rfc/rfc2279.txt
645 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // and https://tools.ietf.org/html/rfc3629
646 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var u = str.charCodeAt(i);
647 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // possibly a lead surrogate
648 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (u >= 55296 && u <= 57343) {
649 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var u1 = str.charCodeAt(++i);
650 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ u = 65536 + ((u & 1023) << 10) | (u1 & 1023);
651 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
652 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (u <= 127) {
653 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (outIdx >= endIdx) break;
654 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ heap[outIdx++] = u;
655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else if (u <= 2047) {
656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (outIdx + 1 >= endIdx) break;
657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ heap[outIdx++] = 192 | (u >> 6);
658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ heap[outIdx++] = 128 | (u & 63);
659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else if (u <= 65535) {
660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (outIdx + 2 >= endIdx) break;
661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ heap[outIdx++] = 224 | (u >> 12);
662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ heap[outIdx++] = 128 | ((u >> 6) & 63);
663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ heap[outIdx++] = 128 | (u & 63);
664 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
665 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (outIdx + 3 >= endIdx) break;
666 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ heap[outIdx++] = 240 | (u >> 18);
667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ heap[outIdx++] = 128 | ((u >> 12) & 63);
668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ heap[outIdx++] = 128 | ((u >> 6) & 63);
669 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ heap[outIdx++] = 128 | (u & 63);
670 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // Null-terminate the pointer to the buffer.
673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ heap[outIdx] = 0;
674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return outIdx - startIdx;
675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
677 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var stringToUTF8 = (str, outPtr, maxBytesToWrite) => stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite);
678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var stackAlloc = sz => __emscripten_stack_alloc(sz);
680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var stringToUTF8OnStack = str => {
682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var size = lengthBytesUTF8(str) + 1;
683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var ret = stackAlloc(size);
684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ stringToUTF8(str, ret, size);
685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return ret;
686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /**
689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {string|null=} returnType
690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {Array=} argTypes
691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {Arguments|Array=} args
692 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {Object=} opts
693 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */ var ccall = (ident, returnType, argTypes, args, opts) => {
694 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // For fast lookup of conversion functions
695 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var toC = {
696 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "string": str => {
697 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var ret = 0;
698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (str !== null && str !== undefined && str !== 0) {
699 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // null string
700 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ret = stringToUTF8OnStack(str);
701 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
702 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return ret;
703 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ },
704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ "array": arr => {
705 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var ret = stackAlloc(arr.length);
706 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ writeArrayToMemory(arr, ret);
707 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return ret;
708 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
709 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
710 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function convertReturnValue(ret) {
711 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (returnType === "string") {
712 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return UTF8ToString(ret);
713 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
714 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (returnType === "boolean") return Boolean(ret);
715 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return ret;
716 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
717 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var func = getCFunc(ident);
718 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var cArgs = [];
719 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var stack = 0;
720 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (args) {
721 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ for (var i = 0; i < args.length; i++) {
722 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var converter = toC[argTypes[i]];
723 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (converter) {
724 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (stack === 0) stack = stackSave();
725 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cArgs[i] = converter(args[i]);
726 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
727 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ cArgs[i] = args[i];
728 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
729 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
730 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
731 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var ret = func(...cArgs);
732 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function onDone(ret) {
733 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (stack !== 0) stackRestore(stack);
734 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return convertReturnValue(ret);
735 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
736 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ ret = onDone(ret);
737 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return ret;
738 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
739 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
740 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /**
741 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {string=} returnType
742 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {Array=} argTypes
743 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ * @param {Object=} opts
744 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ */ var cwrap = (ident, returnType, argTypes, opts) => {
745 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // When the function takes numbers and returns a number, we can just return
746 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // the original function
747 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var numericArgs = !argTypes || argTypes.every(type => type === "number" || type === "boolean");
748 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var numericRet = returnType !== "string";
749 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (numericRet && numericArgs && !opts) {
750 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return getCFunc(ident);
751 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
752 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return (...args) => ccall(ident, returnType, argTypes, args, opts);
753 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
754 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
755 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var wasmImports = {
756 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** @export */ a: ___assert_fail,
757 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** @export */ b: _emscripten_resize_heap,
758 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ /** @export */ c: _exit
759 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ };
760 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
761 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var wasmExports = await createWasm();
762 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
763 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var ___wasm_call_ctors = wasmExports["e"];
764 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
765 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var _pikchr = Module["_pikchr"] = wasmExports["g"];
766 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
767 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var __emscripten_stack_restore = wasmExports["h"];
768 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
769 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var __emscripten_stack_alloc = wasmExports["i"];
770 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
771 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ var _emscripten_stack_get_current = wasmExports["j"];
772 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
773 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: postamble.js
774 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // === Auto-generated postamble setup entry stuff ===
645 775 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["stackSave"] = stackSave;
646 776 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
647 777 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["stackRestore"] = stackRestore;
778 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
779 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["stackAlloc"] = stackAlloc;
648 780 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
649 781 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["cwrap"] = cwrap;
650 782 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
651 783 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["setValue"] = setValue;
652 784 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
653 785 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
Module["getValue"] = getValue;
654 786 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
655 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- var calledRun;
656 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
657 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- dependenciesFulfilled = function runCaller() {
658 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!calledRun) run();
659 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (!calledRun) dependenciesFulfilled = runCaller;
660 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- };
661 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
-
662 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function run(args) {
663 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- args = args || arguments_;
664 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (runDependencies > 0) {
665 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
666 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
667 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- preRun();
668 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (runDependencies > 0) {
669 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return;
670 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
671 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- function doRun() {
672 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (calledRun) return;
673 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- calledRun = true;
674 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["calledRun"] = true;
675 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (ABORT) return;
676 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- initRuntime();
677 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- readyPromiseResolve(Module);
678 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["onRuntimeInitialized"]) Module["onRuntimeInitialized"]();
679 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- postRun();
680 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
681 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (Module["setStatus"]) {
682 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["setStatus"]("Running...");
683 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- setTimeout(function() {
684 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- setTimeout(function() {
685 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["setStatus"]("");
686 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }, 1);
687 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- doRun();
688 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }, 1);
689 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- } else {
690 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- doRun();
691 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
787 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function run() {
788 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (runDependencies > 0) {
789 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dependenciesFulfilled = run;
790 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return;
791 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
792 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ preRun();
793 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // a preRun added a dependency, run will be called later
794 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (runDependencies > 0) {
795 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ dependenciesFulfilled = run;
796 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return;
797 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
798 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ function doRun() {
799 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // run may have just been called through dependencies being fulfilled just in this very frame,
800 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // or while the async setStatus time below was happening
801 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["calledRun"] = true;
802 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (ABORT) return;
803 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ initRuntime();
804 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ readyPromiseResolve(Module);
805 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["onRuntimeInitialized"]?.();
806 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ postRun();
807 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
808 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (Module["setStatus"]) {
809 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["setStatus"]("Running...");
810 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ setTimeout(() => {
811 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ setTimeout(() => Module["setStatus"](""), 1);
812 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ doRun();
813 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }, 1);
814 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else {
815 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ doRun();
816 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
692 817 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
693 818 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
694 819 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
if (Module["preInit"]) {
695 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ];
696 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- while (Module["preInit"].length > 0) {
697 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- Module["preInit"].pop()();
698 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- }
820 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (typeof Module["preInit"] == "function") Module["preInit"] = [ Module["preInit"] ];
821 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ while (Module["preInit"].length > 0) {
822 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ Module["preInit"].pop()();
823 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ }
699 824 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
700 825 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
701 826 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
run();
702 827 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
828 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // end include: postamble.js
829 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // include: postamble_modularize.js
830 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // In MODULARIZE mode we wrap the generated code in a factory function
831 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // and return either the Module itself, or a promise of the module.
832 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // We assign to the `moduleRtn` global here and configure closure to see
833 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // this as and extern so it won't get minified.
834 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ moduleRtn = readyPromise;
835 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+
703 836 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
704 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- return initPikchrModule.ready
837 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ return moduleRtn;
705 838 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
}
706 839 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
);
707 840 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
})();
708 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- if (typeof exports === 'object' && typeof module === 'object')
841 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ if (typeof exports === 'object' && typeof module === 'object') {
709 842 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
module.exports = initPikchrModule;
710 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if (typeof define === 'function' && define['amd'])
711 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- define([], function() { return initPikchrModule; });
712 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- else if (typeof exports === 'object')
713 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
- exports["initPikchrModule"] = initPikchrModule;
843 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // This default export looks redundant, but it allows TS to import this
844 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ // commonjs style module.
845 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ module.exports.default = initPikchrModule;
846 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ } else if (typeof define === 'function' && define['amd'])
847 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!
+ define([], () => initPikchrModule);
714 848 { copied = false; pop = false }, 1000)" :class="copied && 'copied'">Copy link Copied!