crunch.js 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646
  1. if (typeof WebAssembly !== 'undefined') {
  2. var Module = typeof Module !== "undefined" ? Module : {};
  3. var moduleOverrides = {};
  4. var key;
  5. for (key in Module) {
  6. if (Module.hasOwnProperty(key)) {
  7. moduleOverrides[key] = Module[key]
  8. }
  9. }
  10. var arguments_ = [];
  11. var thisProgram = "./this.program";
  12. var quit_ = function (status, toThrow) {
  13. throw toThrow
  14. };
  15. var ENVIRONMENT_IS_WEB = false;
  16. var ENVIRONMENT_IS_WORKER = false;
  17. var ENVIRONMENT_IS_NODE = false;
  18. var ENVIRONMENT_HAS_NODE = false;
  19. var ENVIRONMENT_IS_SHELL = false;
  20. ENVIRONMENT_IS_WEB = typeof window === "object";
  21. ENVIRONMENT_IS_WORKER = typeof importScripts === "function";
  22. ENVIRONMENT_HAS_NODE = typeof process === "object" && typeof process.versions === "object" && typeof process.versions.node === "string";
  23. ENVIRONMENT_IS_NODE = ENVIRONMENT_HAS_NODE && !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_WORKER;
  24. ENVIRONMENT_IS_SHELL = !ENVIRONMENT_IS_WEB && !ENVIRONMENT_IS_NODE && !ENVIRONMENT_IS_WORKER;
  25. var scriptDirectory = "";
  26. function locateFile(path) {
  27. if (Module["locateFile"]) {
  28. return Module["locateFile"](path, scriptDirectory)
  29. }
  30. return scriptDirectory + path
  31. }
  32. var read_, readAsync, readBinary, setWindowTitle;
  33. var nodeFS;
  34. var nodePath;
  35. if (ENVIRONMENT_IS_NODE) {
  36. scriptDirectory = __dirname + "/";
  37. read_ = function shell_read(filename, binary) {
  38. if (!nodeFS)nodeFS = require("fs");
  39. if (!nodePath)nodePath = require("path");
  40. filename = nodePath["normalize"](filename);
  41. return nodeFS["readFileSync"](filename, binary ? null : "utf8")
  42. };
  43. readBinary = function readBinary(filename) {
  44. var ret = read_(filename, true);
  45. if (!ret.buffer) {
  46. ret = new Uint8Array(ret)
  47. }
  48. assert(ret.buffer);
  49. return ret
  50. };
  51. if (process["argv"].length > 1) {
  52. thisProgram = process["argv"][1].replace(/\\/g, "/")
  53. }
  54. arguments_ = process["argv"].slice(2);
  55. if (typeof module !== "undefined") {
  56. module["exports"] = Module
  57. }
  58. process["on"]("uncaughtException", function (ex) {
  59. if (!(ex instanceof ExitStatus)) {
  60. throw ex
  61. }
  62. });
  63. process["on"]("unhandledRejection", abort);
  64. quit_ = function (status) {
  65. process["exit"](status)
  66. };
  67. Module["inspect"] = function () {
  68. return"[Emscripten Module object]"
  69. }
  70. } else if (ENVIRONMENT_IS_SHELL) {
  71. if (typeof read != "undefined") {
  72. read_ = function shell_read(f) {
  73. return read(f)
  74. }
  75. }
  76. readBinary = function readBinary(f) {
  77. var data;
  78. if (typeof readbuffer === "function") {
  79. return new Uint8Array(readbuffer(f))
  80. }
  81. data = read(f, "binary");
  82. assert(typeof data === "object");
  83. return data
  84. };
  85. if (typeof scriptArgs != "undefined") {
  86. arguments_ = scriptArgs
  87. } else if (typeof arguments != "undefined") {
  88. arguments_ = arguments
  89. }
  90. if (typeof quit === "function") {
  91. quit_ = function (status) {
  92. quit(status)
  93. }
  94. }
  95. if (typeof print !== "undefined") {
  96. if (typeof console === "undefined")console = {};
  97. console.log = print;
  98. console.warn = console.error = typeof printErr !== "undefined" ? printErr : print
  99. }
  100. } else if (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) {
  101. if (ENVIRONMENT_IS_WORKER) {
  102. scriptDirectory = self.location.href
  103. } else if (document.currentScript) {
  104. scriptDirectory = document.currentScript.src
  105. }
  106. if (scriptDirectory.indexOf("blob:") !== 0) {
  107. scriptDirectory = scriptDirectory.substr(0, scriptDirectory.lastIndexOf("/") + 1)
  108. } else {
  109. scriptDirectory = ""
  110. }
  111. {
  112. read_ = function shell_read(url) {
  113. var xhr = new XMLHttpRequest;
  114. xhr.open("GET", url, false);
  115. xhr.send(null);
  116. return xhr.responseText
  117. };
  118. if (ENVIRONMENT_IS_WORKER) {
  119. readBinary = function readBinary(url) {
  120. var xhr = new XMLHttpRequest;
  121. xhr.open("GET", url, false);
  122. xhr.responseType = "arraybuffer";
  123. xhr.send(null);
  124. return new Uint8Array(xhr.response)
  125. }
  126. }
  127. readAsync = function readAsync(url, onload, onerror) {
  128. var xhr = new XMLHttpRequest;
  129. xhr.open("GET", url, true);
  130. xhr.responseType = "arraybuffer";
  131. xhr.onload = function xhr_onload() {
  132. if (xhr.status == 200 || xhr.status == 0 && xhr.response) {
  133. onload(xhr.response);
  134. return
  135. }
  136. onerror()
  137. };
  138. xhr.onerror = onerror;
  139. xhr.send(null)
  140. }
  141. }
  142. setWindowTitle = function (title) {
  143. document.title = title
  144. }
  145. } else {
  146. }
  147. var out = Module["print"] || console.log.bind(console);
  148. var err = Module["printErr"] || console.warn.bind(console);
  149. for (key in moduleOverrides) {
  150. if (moduleOverrides.hasOwnProperty(key)) {
  151. Module[key] = moduleOverrides[key]
  152. }
  153. }
  154. moduleOverrides = null;
  155. if (Module["arguments"])arguments_ = Module["arguments"];
  156. if (Module["thisProgram"])thisProgram = Module["thisProgram"];
  157. if (Module["quit"])quit_ = Module["quit"];
  158. var wasmBinary;
  159. if (Module["wasmBinary"])wasmBinary = Module["wasmBinary"];
  160. var noExitRuntime;
  161. if (Module["noExitRuntime"])noExitRuntime = Module["noExitRuntime"];
  162. if (typeof WebAssembly !== "object") {
  163. err("no native wasm support detected")
  164. }
  165. var wasmMemory;
  166. var wasmTable = new WebAssembly.Table({"initial": 6, "maximum": 6 + 0, "element": "anyfunc"});
  167. var ABORT = false;
  168. var EXITSTATUS = 0;
  169. function assert(condition, text) {
  170. if (!condition) {
  171. abort("Assertion failed: " + text)
  172. }
  173. }
  174. var UTF8Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf8") : undefined;
  175. function UTF8ArrayToString(u8Array, idx, maxBytesToRead) {
  176. var endIdx = idx + maxBytesToRead;
  177. var endPtr = idx;
  178. while (u8Array[endPtr] && !(endPtr >= endIdx))++endPtr;
  179. if (endPtr - idx > 16 && u8Array.subarray && UTF8Decoder) {
  180. return UTF8Decoder.decode(u8Array.subarray(idx, endPtr))
  181. } else {
  182. var str = "";
  183. while (idx < endPtr) {
  184. var u0 = u8Array[idx++];
  185. if (!(u0 & 128)) {
  186. str += String.fromCharCode(u0);
  187. continue
  188. }
  189. var u1 = u8Array[idx++] & 63;
  190. if ((u0 & 224) == 192) {
  191. str += String.fromCharCode((u0 & 31) << 6 | u1);
  192. continue
  193. }
  194. var u2 = u8Array[idx++] & 63;
  195. if ((u0 & 240) == 224) {
  196. u0 = (u0 & 15) << 12 | u1 << 6 | u2
  197. } else {
  198. u0 = (u0 & 7) << 18 | u1 << 12 | u2 << 6 | u8Array[idx++] & 63
  199. }
  200. if (u0 < 65536) {
  201. str += String.fromCharCode(u0)
  202. } else {
  203. var ch = u0 - 65536;
  204. str += String.fromCharCode(55296 | ch >> 10, 56320 | ch & 1023)
  205. }
  206. }
  207. }
  208. return str
  209. }
  210. function UTF8ToString(ptr, maxBytesToRead) {
  211. return ptr ? UTF8ArrayToString(HEAPU8, ptr, maxBytesToRead) : ""
  212. }
  213. var UTF16Decoder = typeof TextDecoder !== "undefined" ? new TextDecoder("utf-16le") : undefined;
  214. var WASM_PAGE_SIZE = 65536;
  215. function alignUp(x, multiple) {
  216. if (x % multiple > 0) {
  217. x += multiple - x % multiple
  218. }
  219. return x
  220. }
  221. var buffer, HEAP8, HEAPU8, HEAP16, HEAPU16, HEAP32, HEAPU32, HEAPF32, HEAPF64;
  222. function updateGlobalBufferAndViews(buf) {
  223. buffer = buf;
  224. Module["HEAP8"] = HEAP8 = new Int8Array(buf);
  225. Module["HEAP16"] = HEAP16 = new Int16Array(buf);
  226. Module["HEAP32"] = HEAP32 = new Int32Array(buf);
  227. Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf);
  228. Module["HEAPU16"] = HEAPU16 = new Uint16Array(buf);
  229. Module["HEAPU32"] = HEAPU32 = new Uint32Array(buf);
  230. Module["HEAPF32"] = HEAPF32 = new Float32Array(buf);
  231. Module["HEAPF64"] = HEAPF64 = new Float64Array(buf)
  232. }
  233. var DYNAMIC_BASE = 5247584, DYNAMICTOP_PTR = 4544;
  234. var INITIAL_TOTAL_MEMORY = Module["TOTAL_MEMORY"] || 16777216;
  235. if (Module["wasmMemory"]) {
  236. wasmMemory = Module["wasmMemory"]
  237. } else {
  238. wasmMemory = new WebAssembly.Memory({"initial": INITIAL_TOTAL_MEMORY / WASM_PAGE_SIZE})
  239. }
  240. if (wasmMemory) {
  241. buffer = wasmMemory.buffer
  242. }
  243. INITIAL_TOTAL_MEMORY = buffer.byteLength;
  244. updateGlobalBufferAndViews(buffer);
  245. HEAP32[DYNAMICTOP_PTR >> 2] = DYNAMIC_BASE;
  246. function callRuntimeCallbacks(callbacks) {
  247. while (callbacks.length > 0) {
  248. var callback = callbacks.shift();
  249. if (typeof callback == "function") {
  250. callback();
  251. continue
  252. }
  253. var func = callback.func;
  254. if (typeof func === "number") {
  255. if (callback.arg === undefined) {
  256. Module["dynCall_v"](func)
  257. } else {
  258. Module["dynCall_vi"](func, callback.arg)
  259. }
  260. } else {
  261. func(callback.arg === undefined ? null : callback.arg)
  262. }
  263. }
  264. }
  265. var __ATPRERUN__ = [];
  266. var __ATINIT__ = [];
  267. var __ATMAIN__ = [];
  268. var __ATPOSTRUN__ = [];
  269. var runtimeInitialized = false;
  270. function preRun() {
  271. if (Module["preRun"]) {
  272. if (typeof Module["preRun"] == "function")Module["preRun"] = [Module["preRun"]];
  273. while (Module["preRun"].length) {
  274. addOnPreRun(Module["preRun"].shift())
  275. }
  276. }
  277. callRuntimeCallbacks(__ATPRERUN__)
  278. }
  279. function initRuntime() {
  280. runtimeInitialized = true;
  281. callRuntimeCallbacks(__ATINIT__)
  282. }
  283. function preMain() {
  284. callRuntimeCallbacks(__ATMAIN__)
  285. }
  286. function postRun() {
  287. if (Module["postRun"]) {
  288. if (typeof Module["postRun"] == "function")Module["postRun"] = [Module["postRun"]];
  289. while (Module["postRun"].length) {
  290. addOnPostRun(Module["postRun"].shift())
  291. }
  292. }
  293. callRuntimeCallbacks(__ATPOSTRUN__)
  294. }
  295. function addOnPreRun(cb) {
  296. __ATPRERUN__.unshift(cb)
  297. }
  298. function addOnPostRun(cb) {
  299. __ATPOSTRUN__.unshift(cb)
  300. }
  301. var runDependencies = 0;
  302. var runDependencyWatcher = null;
  303. var dependenciesFulfilled = null;
  304. function addRunDependency(id) {
  305. runDependencies++;
  306. if (Module["monitorRunDependencies"]) {
  307. Module["monitorRunDependencies"](runDependencies)
  308. }
  309. }
  310. function removeRunDependency(id) {
  311. runDependencies--;
  312. if (Module["monitorRunDependencies"]) {
  313. Module["monitorRunDependencies"](runDependencies)
  314. }
  315. if (runDependencies == 0) {
  316. if (runDependencyWatcher !== null) {
  317. clearInterval(runDependencyWatcher);
  318. runDependencyWatcher = null
  319. }
  320. if (dependenciesFulfilled) {
  321. var callback = dependenciesFulfilled;
  322. dependenciesFulfilled = null;
  323. callback()
  324. }
  325. }
  326. }
  327. Module["preloadedImages"] = {};
  328. Module["preloadedAudios"] = {};
  329. function abort(what) {
  330. if (Module["onAbort"]) {
  331. Module["onAbort"](what)
  332. }
  333. what += "";
  334. out(what);
  335. err(what);
  336. ABORT = true;
  337. EXITSTATUS = 1;
  338. what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info.";
  339. throw new WebAssembly.RuntimeError(what)
  340. }
  341. var dataURIPrefix = "data:application/octet-stream;base64,";
  342. function isDataURI(filename) {
  343. return String.prototype.startsWith ? filename.startsWith(dataURIPrefix) : filename.indexOf(dataURIPrefix) === 0
  344. }
  345. var wasmBinaryFile = "crunch.wasm";
  346. if (!isDataURI(wasmBinaryFile)) {
  347. //wasmBinaryFile = locateFile(wasmBinaryFile);
  348. wasmBinaryFile = self.CESIUM_BASE_URL + 'ThirdParty/crunch.wasm';
  349. }
  350. function getBinary() {
  351. try {
  352. if (wasmBinary) {
  353. return new Uint8Array(wasmBinary)
  354. }
  355. if (readBinary) {
  356. return readBinary(wasmBinaryFile)
  357. } else {
  358. throw"both async and sync fetching of the wasm failed"
  359. }
  360. } catch (err) {
  361. abort(err)
  362. }
  363. }
  364. function getBinaryPromise() {
  365. if (!wasmBinary && (ENVIRONMENT_IS_WEB || ENVIRONMENT_IS_WORKER) && typeof fetch === "function") {
  366. return fetch(wasmBinaryFile, {credentials: "same-origin"}).then(function (response) {
  367. if (!response["ok"]) {
  368. throw"failed to load wasm binary file at '" + wasmBinaryFile + "'"
  369. }
  370. return response["arrayBuffer"]()
  371. }).catch(function () {
  372. return getBinary()
  373. })
  374. }
  375. return new Promise(function (resolve, reject) {
  376. resolve(getBinary())
  377. })
  378. }
  379. function createWasm() {
  380. var info = {"env": asmLibraryArg, "wasi_unstable": asmLibraryArg};
  381. function receiveInstance(instance, module) {
  382. var exports = instance.exports;
  383. Module["asm"] = exports;
  384. removeRunDependency("wasm-instantiate")
  385. }
  386. addRunDependency("wasm-instantiate");
  387. function receiveInstantiatedSource(output) {
  388. receiveInstance(output["instance"])
  389. }
  390. function instantiateArrayBuffer(receiver) {
  391. return getBinaryPromise().then(function (binary) {
  392. return WebAssembly.instantiate(binary, info)
  393. }).then(receiver, function (reason) {
  394. err("failed to asynchronously prepare wasm: " + reason);
  395. abort(reason)
  396. })
  397. }
  398. function instantiateAsync() {
  399. if (!wasmBinary && typeof WebAssembly.instantiateStreaming === "function" && !isDataURI(wasmBinaryFile) && typeof fetch === "function") {
  400. fetch(wasmBinaryFile, {credentials: "same-origin"}).then(function (response) {
  401. var result = WebAssembly.instantiateStreaming(response, info);
  402. return result.then(receiveInstantiatedSource, function (reason) {
  403. err("wasm streaming compile failed: " + reason);
  404. err("falling back to ArrayBuffer instantiation");
  405. instantiateArrayBuffer(receiveInstantiatedSource)
  406. })
  407. })
  408. } else {
  409. return instantiateArrayBuffer(receiveInstantiatedSource)
  410. }
  411. }
  412. if (Module["instantiateWasm"]) {
  413. try {
  414. var exports = Module["instantiateWasm"](info, receiveInstance);
  415. return exports
  416. } catch (e) {
  417. err("Module.instantiateWasm callback failed with error: " + e);
  418. return false
  419. }
  420. }
  421. instantiateAsync();
  422. return{}
  423. }
  424. __ATINIT__.push({func: function () {
  425. ___wasm_call_ctors()
  426. }});
  427. function _emscripten_get_heap_size() {
  428. return HEAP8.length
  429. }
  430. function _emscripten_memcpy_big(dest, src, num) {
  431. HEAPU8.set(HEAPU8.subarray(src, src + num), dest)
  432. }
  433. function emscripten_realloc_buffer(size) {
  434. try {
  435. wasmMemory.grow(size - buffer.byteLength + 65535 >> 16);
  436. updateGlobalBufferAndViews(wasmMemory.buffer);
  437. return 1
  438. } catch (e) {
  439. }
  440. }
  441. function _emscripten_resize_heap(requestedSize) {
  442. var oldSize = _emscripten_get_heap_size();
  443. var PAGE_MULTIPLE = 65536;
  444. var LIMIT = 2147483648 - PAGE_MULTIPLE;
  445. if (requestedSize > LIMIT) {
  446. return false
  447. }
  448. var MIN_TOTAL_MEMORY = 16777216;
  449. var newSize = Math.max(oldSize, MIN_TOTAL_MEMORY);
  450. while (newSize < requestedSize) {
  451. if (newSize <= 536870912) {
  452. newSize = alignUp(2 * newSize, PAGE_MULTIPLE)
  453. } else {
  454. newSize = Math.min(alignUp((3 * newSize + 2147483648) / 4, PAGE_MULTIPLE), LIMIT)
  455. }
  456. }
  457. var replacement = emscripten_realloc_buffer(newSize);
  458. if (!replacement) {
  459. return false
  460. }
  461. return true
  462. }
  463. var PATH = {splitPath: function (filename) {
  464. var splitPathRe = /^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;
  465. return splitPathRe.exec(filename).slice(1)
  466. }, normalizeArray: function (parts, allowAboveRoot) {
  467. var up = 0;
  468. for (var i = parts.length - 1; i >= 0; i--) {
  469. var last = parts[i];
  470. if (last === ".") {
  471. parts.splice(i, 1)
  472. } else if (last === "..") {
  473. parts.splice(i, 1);
  474. up++
  475. } else if (up) {
  476. parts.splice(i, 1);
  477. up--
  478. }
  479. }
  480. if (allowAboveRoot) {
  481. for (; up; up--) {
  482. parts.unshift("..")
  483. }
  484. }
  485. return parts
  486. }, normalize: function (path) {
  487. var isAbsolute = path.charAt(0) === "/", trailingSlash = path.substr(-1) === "/";
  488. path = PATH.normalizeArray(path.split("/").filter(function (p) {
  489. return!!p
  490. }), !isAbsolute).join("/");
  491. if (!path && !isAbsolute) {
  492. path = "."
  493. }
  494. if (path && trailingSlash) {
  495. path += "/"
  496. }
  497. return(isAbsolute ? "/" : "") + path
  498. }, dirname: function (path) {
  499. var result = PATH.splitPath(path), root = result[0], dir = result[1];
  500. if (!root && !dir) {
  501. return"."
  502. }
  503. if (dir) {
  504. dir = dir.substr(0, dir.length - 1)
  505. }
  506. return root + dir
  507. }, basename: function (path) {
  508. if (path === "/")return"/";
  509. var lastSlash = path.lastIndexOf("/");
  510. if (lastSlash === -1)return path;
  511. return path.substr(lastSlash + 1)
  512. }, extname: function (path) {
  513. return PATH.splitPath(path)[3]
  514. }, join: function () {
  515. var paths = Array.prototype.slice.call(arguments, 0);
  516. return PATH.normalize(paths.join("/"))
  517. }, join2: function (l, r) {
  518. return PATH.normalize(l + "/" + r)
  519. }};
  520. var SYSCALLS = {buffers: [null, [], []], printChar: function (stream, curr) {
  521. var buffer = SYSCALLS.buffers[stream];
  522. if (curr === 0 || curr === 10) {
  523. (stream === 1 ? out : err)(UTF8ArrayToString(buffer, 0));
  524. buffer.length = 0
  525. } else {
  526. buffer.push(curr)
  527. }
  528. }, varargs: 0, get: function (varargs) {
  529. SYSCALLS.varargs += 4;
  530. var ret = HEAP32[SYSCALLS.varargs - 4 >> 2];
  531. return ret
  532. }, getStr: function () {
  533. var ret = UTF8ToString(SYSCALLS.get());
  534. return ret
  535. }, get64: function () {
  536. var low = SYSCALLS.get(), high = SYSCALLS.get();
  537. return low
  538. }, getZero: function () {
  539. SYSCALLS.get()
  540. }};
  541. function _fd_write(fd, iov, iovcnt, pnum) {
  542. try {
  543. var num = 0;
  544. for (var i = 0; i < iovcnt; i++) {
  545. var ptr = HEAP32[iov + i * 8 >> 2];
  546. var len = HEAP32[iov + (i * 8 + 4) >> 2];
  547. for (var j = 0; j < len; j++) {
  548. SYSCALLS.printChar(fd, HEAPU8[ptr + j])
  549. }
  550. num += len
  551. }
  552. HEAP32[pnum >> 2] = num;
  553. return 0
  554. } catch (e) {
  555. if (typeof FS === "undefined" || !(e instanceof FS.ErrnoError))abort(e);
  556. return e.errno
  557. }
  558. }
  559. var asmLibraryArg = {"a": _emscripten_memcpy_big, "b": _emscripten_resize_heap, "c": _fd_write, "memory": wasmMemory, "table": wasmTable};
  560. var asm = createWasm();
  561. Module["asm"] = asm;
  562. var ___wasm_call_ctors = Module["___wasm_call_ctors"] = function () {
  563. return Module["asm"]["d"].apply(null, arguments)
  564. };
  565. var _malloc = Module["_malloc"] = function () {
  566. return Module["asm"]["e"].apply(null, arguments)
  567. };
  568. var _free = Module["_free"] = function () {
  569. return Module["asm"]["f"].apply(null, arguments)
  570. };
  571. var _crn_get_width = Module["_crn_get_width"] = function () {
  572. return Module["asm"]["g"].apply(null, arguments)
  573. };
  574. var _crn_get_height = Module["_crn_get_height"] = function () {
  575. return Module["asm"]["h"].apply(null, arguments)
  576. };
  577. var _crn_get_levels = Module["_crn_get_levels"] = function () {
  578. return Module["asm"]["i"].apply(null, arguments)
  579. };
  580. var _crn_get_dxt_format = Module["_crn_get_dxt_format"] = function () {
  581. return Module["asm"]["j"].apply(null, arguments)
  582. };
  583. var _crn_get_bytes_per_block = Module["_crn_get_bytes_per_block"] = function () {
  584. return Module["asm"]["k"].apply(null, arguments)
  585. };
  586. var _crn_get_uncompressed_size = Module["_crn_get_uncompressed_size"] = function () {
  587. return Module["asm"]["l"].apply(null, arguments)
  588. };
  589. var _crn_decompress = Module["_crn_decompress"] = function () {
  590. return Module["asm"]["m"].apply(null, arguments)
  591. };
  592. Module["asm"] = asm;
  593. var calledRun;
  594. function ExitStatus(status) {
  595. this.name = "ExitStatus";
  596. this.message = "Program terminated with exit(" + status + ")";
  597. this.status = status
  598. }
  599. dependenciesFulfilled = function runCaller() {
  600. if (!calledRun)run();
  601. if (!calledRun)dependenciesFulfilled = runCaller
  602. };
  603. function run(args) {
  604. args = args || arguments_;
  605. if (runDependencies > 0) {
  606. return
  607. }
  608. preRun();
  609. if (runDependencies > 0)return;
  610. function doRun() {
  611. if (calledRun)return;
  612. calledRun = true;
  613. if (ABORT)return;
  614. initRuntime();
  615. preMain();
  616. if (Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();
  617. postRun()
  618. }
  619. if (Module["setStatus"]) {
  620. Module["setStatus"]("Running...");
  621. setTimeout(function () {
  622. setTimeout(function () {
  623. Module["setStatus"]("")
  624. }, 1);
  625. doRun()
  626. }, 1)
  627. } else {
  628. doRun()
  629. }
  630. }
  631. Module["run"] = run;
  632. if (Module["preInit"]) {
  633. if (typeof Module["preInit"] == "function")Module["preInit"] = [Module["preInit"]];
  634. while (Module["preInit"].length > 0) {
  635. Module["preInit"].pop()()
  636. }
  637. }
  638. noExitRuntime = true;
  639. run();
  640. }