bimplus-renderer 1.3.25 → 1.3.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +121 -121
- package/bin/README.emcc.md +41 -41
- package/bin/processPartitionVertices.js +1 -1
- package/dist/bimplus-renderer.js +104652 -2
- package/dist/partitionVerticesWorker.bimplus-renderer.worker.js +816 -1
- package/package.json +86 -86
- package/dist/bimplus-renderer.js.LICENSE.txt +0 -19
|
@@ -1 +1,816 @@
|
|
|
1
|
-
!function(A){var I={};function g(C){if(I[C])return I[C].exports;var B=I[C]={i:C,l:!1,exports:{}};return A[C].call(B.exports,B,B.exports,g),B.l=!0,B.exports}g.m=A,g.c=I,g.d=function(A,I,C){g.o(A,I)||Object.defineProperty(A,I,{enumerable:!0,get:C})},g.r=function(A){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(A,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(A,"__esModule",{value:!0})},g.t=function(A,I){if(1&I&&(A=g(A)),8&I)return A;if(4&I&&"object"==typeof A&&A&&A.__esModule)return A;var C=Object.create(null);if(g.r(C),Object.defineProperty(C,"default",{enumerable:!0,value:A}),2&I&&"string"!=typeof A)for(var B in A)g.d(C,B,function(I){return A[I]}.bind(null,B));return C},g.n=function(A){var I=A&&A.__esModule?function(){return A.default}:function(){return A};return g.d(I,"a",I),I},g.o=function(A,I){return Object.prototype.hasOwnProperty.call(A,I)},g.p="",g(g.s=5)}([function(A,I,g){"use strict";const C=g(2).default;A.exports=A=>Boolean(A&&A[C]&&A===A[C]())},function(A,I,g){"use strict";function C(A){var I,g=A.Symbol;return"function"==typeof g?g.observable?I=g.observable:(I=g("observable"),g.observable=I):I="@@observable",I}g.d(I,"a",(function(){return C}))},function(A,I,g){"use strict";g.r(I),function(A,C){var B,e=g(1);B="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==A?A:C;var E=Object(e.a)(B);I.default=E}.call(this,g(3),g(4)(A))},function(A,I){var g;g=function(){return this}();try{g=g||new Function("return this")()}catch(A){"object"==typeof window&&(g=window)}A.exports=g},function(A,I){A.exports=function(A){if(!A.webpackPolyfill){var I=Object.create(A);I.children||(I.children=[]),Object.defineProperty(I,"loaded",{enumerable:!0,get:function(){return I.l}}),Object.defineProperty(I,"id",{enumerable:!0,get:function(){return I.i}}),Object.defineProperty(I,"exports",{enumerable:!0}),I.webpackPolyfill=1}return I}},function(A,I,g){"use strict";g.r(I);var C=g(0),B=g.n(C);const e={deserialize:A=>Object.assign(Error(A.message),{name:A.name,stack:A.stack}),serialize:A=>({__error_marker:"$$error",message:A.message,name:A.name,stack:A.stack})};let E={deserialize(A){return(I=A)&&"object"==typeof I&&"__error_marker"in I&&"$$error"===I.__error_marker?e.deserialize(A):A;var I},serialize:A=>A instanceof Error?e.serialize(A):A};function i(A){return E.deserialize(A)}function Q(A){return E.serialize(A)}Symbol("thread.errors"),Symbol("thread.events"),Symbol("thread.terminate");const n=Symbol("thread.transferable");Symbol("thread.worker");function t(A,I){if(!I){if(!(g=A)||"object"!=typeof g)throw Error();I=[A]}var g;return{[n]:!0,send:A,transferables:I}}var o,r;!function(A){A.run="run"}(o||(o={})),function(A){A.error="error",A.init="init",A.result="result",A.running="running",A.uncaughtError="uncaughtError"}(r||(r={}));var a=function(){return!("undefined"==typeof self||!self.postMessage)},s=function(A,I){self.postMessage(A,I)},c=function(A){const I=I=>{A(I.data)};return self.addEventListener("message",I),()=>{self.removeEventListener("message",I)}},f=function(A,I,g,C){return new(g||(g=Promise))((function(B,e){function E(A){try{Q(C.next(A))}catch(A){e(A)}}function i(A){try{Q(C.throw(A))}catch(A){e(A)}}function Q(A){var I;A.done?B(A.value):(I=A.value,I instanceof g?I:new g((function(A){A(I)}))).then(E,i)}Q((C=C.apply(A,I||[])).next())}))};let u=!1;const y=A=>A&&A.type===o.run,D=A=>B()(A)||function(A){return A&&"object"==typeof A&&"function"==typeof A.subscribe}(A);function l(A){return function(A){return A&&"object"==typeof A&&A[n]}(A)?{payload:A.send,transferables:A.transferables}:{payload:A,transferables:void 0}}function h(A,I){const{payload:g,transferables:C}=l(I),B={type:r.error,uid:A,error:Q(g)};s(B,C)}function w(A,I,g){const{payload:C,transferables:B}=l(g),e={type:r.result,uid:A,complete:!!I||void 0,payload:C};s(e,B)}function d(A){const I={type:r.uncaughtError,error:Q(A)};s(I)}function G(A,I,g){return f(this,void 0,void 0,(function*(){let C;try{C=I(...g)}catch(I){return h(A,I)}const B=D(C)?"observable":"promise";if(function(A,I){const g={type:r.running,uid:A,resultType:I};s(g)}(A,B),D(C))C.subscribe((I=>w(A,!1,Q(I))),(I=>h(A,Q(I))),(()=>w(A,!0)));else try{const I=yield C;w(A,!0,Q(I))}catch(I){h(A,Q(I))}}))}"undefined"!=typeof self&&"function"==typeof self.addEventListener&&a()&&(self.addEventListener("error",(A=>{setTimeout((()=>d(A.error||A)),250)})),self.addEventListener("unhandledrejection",(A=>{const I=A.reason;I&&"string"==typeof I.message&&setTimeout((()=>d(I)),250)}))),"undefined"!=typeof process&&"function"==typeof process.on&&a()&&(process.on("uncaughtException",(A=>{setTimeout((()=>d(A)),250)})),process.on("unhandledRejection",(A=>{A&&"string"==typeof A.message&&setTimeout((()=>d(A)),250)})));var R,F=(R="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(A){var I,g;(A=void 0!==(A=A||{})?A:{}).ready=new Promise((function(A,C){I=A,g=C}));var C,B=Object.assign({},A),e=[],E="";E=self.location.href,R&&(E=R),E=0!==E.indexOf("blob:")?E.substr(0,E.replace(/[?#].*/,"").lastIndexOf("/")+1):"",C=A=>{try{var I=new XMLHttpRequest;return I.open("GET",A,!1),I.responseType="arraybuffer",I.send(null),new Uint8Array(I.response)}catch(I){var g=J(A);if(g)return g;throw I}},A.print||console.log.bind(console);var i,Q,n=A.printErr||console.warn.bind(console);Object.assign(A,B),B=null,A.arguments&&(e=A.arguments),A.thisProgram&&A.thisProgram,A.quit&&A.quit,A.wasmBinary&&(i=A.wasmBinary),A.noExitRuntime,"object"!=typeof WebAssembly&&d("no native wasm support detected");var t,o,r,a=!1,s="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0;function c(I){t=I,A.HEAP8=o=new Int8Array(I),A.HEAP16=new Int16Array(I),A.HEAP32=new Int32Array(I),A.HEAPU8=r=new Uint8Array(I),A.HEAPU16=new Uint16Array(I),A.HEAPU32=new Uint32Array(I),A.HEAPF32=new Float32Array(I),A.HEAPF64=new Float64Array(I)}A.INITIAL_MEMORY;var f,u=[],y=[],D=[],l=0,h=null,w=null;function d(I){A.onAbort&&A.onAbort(I),n(I="Aborted("+I+")"),a=!0,I+=". Build with -sASSERTIONS for more info.";var C=new WebAssembly.RuntimeError(I);throw g(C),C}var G,F,Y="data:application/octet-stream;base64,";function N(A){return A.startsWith(Y)}function S(A){try{if(A==G&&i)return new Uint8Array(i);var I=J(A);if(I)return I;if(C)return C(A);throw"both async and sync fetching of the wasm failed"}catch(A){d(A)}}function p(I){for(;I.length>0;){var g=I.shift();if("function"!=typeof g){var C=g.func;"number"==typeof C?void 0===g.arg?m(C)():m(C)(g.arg):C(void 0===g.arg?null:g.arg)}else g(A)}}N(G="data:application/octet-stream;base64,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")||(F=G,G=A.locateFile?A.locateFile(F,E):E+F);var U=[];function m(A){var I=U[A];return I||(A>=U.length&&(U.length=A+1),U[A]=I=f.get(A)),I}function k(A){try{return Q.grow(A-t.byteLength+65535>>>16),c(Q.buffer),1}catch(A){}}var M="function"==typeof atob?atob:function(A){var I,g,C,B,e,E,i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",Q="",n=0;A=A.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{I=i.indexOf(A.charAt(n++))<<2|(B=i.indexOf(A.charAt(n++)))>>4,g=(15&B)<<4|(e=i.indexOf(A.charAt(n++)))>>2,C=(3&e)<<6|(E=i.indexOf(A.charAt(n++))),Q+=String.fromCharCode(I),64!==e&&(Q+=String.fromCharCode(g)),64!==E&&(Q+=String.fromCharCode(C))}while(n<A.length);return Q};function J(A){if(N(A))return function(A){try{for(var I=M(A),g=new Uint8Array(I.length),C=0;C<I.length;++C)g[C]=I.charCodeAt(C);return g}catch(A){throw new Error("Converting base64 string to bytes failed.")}}(A.slice(Y.length))}var b,L={a:function(A){var I,g,C=r.length,B=2147483648;if((A>>>=0)>B)return!1;for(var e=1;e<=4;e*=2){var E=C*(1+.2/e);if(E=Math.min(E,A+100663296),k(Math.min(B,(I=Math.max(A,E))+((g=65536)-I%g)%g)))return!0}return!1}},H=(function(){var I={a:L};function C(I,g){var C,B=I.exports;A.asm=B,c((Q=A.asm.b).buffer),f=A.asm.j,C=A.asm.c,y.unshift(C),function(I){if(l--,A.monitorRunDependencies&&A.monitorRunDependencies(l),0==l&&(null!==h&&(clearInterval(h),h=null),w)){var g=w;w=null,g()}}()}function B(A){C(A.instance)}function e(A){return(i||"function"!=typeof fetch?Promise.resolve().then((function(){return S(G)})):fetch(G,{credentials:"same-origin"}).then((function(A){if(!A.ok)throw"failed to load wasm binary file at '"+G+"'";return A.arrayBuffer()})).catch((function(){return S(G)}))).then((function(A){return WebAssembly.instantiate(A,I)})).then((function(A){return A})).then(A,(function(A){n("failed to asynchronously prepare wasm: "+A),d(A)}))}if(l++,A.monitorRunDependencies&&A.monitorRunDependencies(l),A.instantiateWasm)try{return A.instantiateWasm(I,C)}catch(A){return n("Module.instantiateWasm callback failed with error: "+A),!1}(i||"function"!=typeof WebAssembly.instantiateStreaming||N(G)||"function"!=typeof fetch?e(B):fetch(G,{credentials:"same-origin"}).then((function(A){return WebAssembly.instantiateStreaming(A,I).then(B,(function(A){return n("wasm streaming compile failed: "+A),n("falling back to ArrayBuffer instantiation"),e(B)}))}))).catch(g)}(),A.___wasm_call_ctors=function(){return(A.___wasm_call_ctors=A.asm.c).apply(null,arguments)},A._processVertices=function(){return(A._processVertices=A.asm.d).apply(null,arguments)},A._malloc=function(){return(A._malloc=A.asm.e).apply(null,arguments)},A._free=function(){return(A._free=A.asm.f).apply(null,arguments)},A.stackSave=function(){return(H=A.stackSave=A.asm.g).apply(null,arguments)}),v=A.stackRestore=function(){return(v=A.stackRestore=A.asm.h).apply(null,arguments)},K=A.stackAlloc=function(){return(K=A.stackAlloc=A.asm.i).apply(null,arguments)};function q(g){function C(){b||(b=!0,A.calledRun=!0,a||(p(y),I(A),A.onRuntimeInitialized&&A.onRuntimeInitialized(),function(){if(A.postRun)for("function"==typeof A.postRun&&(A.postRun=[A.postRun]);A.postRun.length;)I=A.postRun.shift(),D.unshift(I);var I;p(D)}()))}g=g||e,l>0||(function(){if(A.preRun)for("function"==typeof A.preRun&&(A.preRun=[A.preRun]);A.preRun.length;)I=A.preRun.shift(),u.unshift(I);var I;p(u)}(),l>0||(A.setStatus?(A.setStatus("Running..."),setTimeout((function(){setTimeout((function(){A.setStatus("")}),1),C()}),1)):C()))}if(A.ccall=function(I,g,C,B,e){var E={string:function(A){var I=0;if(null!=A&&0!==A){var g=1+(A.length<<2);!function(A,I,g){!function(A,I,g,C){if(!(C>0))return 0;for(var B=g+C-1,e=0;e<A.length;++e){var E=A.charCodeAt(e);if(E>=55296&&E<=57343&&(E=65536+((1023&E)<<10)|1023&A.charCodeAt(++e)),E<=127){if(g>=B)break;I[g++]=E}else if(E<=2047){if(g+1>=B)break;I[g++]=192|E>>6,I[g++]=128|63&E}else if(E<=65535){if(g+2>=B)break;I[g++]=224|E>>12,I[g++]=128|E>>6&63,I[g++]=128|63&E}else{if(g+3>=B)break;I[g++]=240|E>>18,I[g++]=128|E>>12&63,I[g++]=128|E>>6&63,I[g++]=128|63&E}}I[g]=0}(A,r,I,g)}(A,I=K(g),g)}return I},array:function(A){var I=K(A.length);return function(A,I){o.set(A,I)}(A,I),I}};function i(A){return"string"===g?(I=A)?function(A,I,g){for(var C=I+g,B=I;A[B]&&!(B>=C);)++B;if(B-I>16&&A.buffer&&s)return s.decode(A.subarray(I,B));for(var e="";I<B;){var E=A[I++];if(128&E){var i=63&A[I++];if(192!=(224&E)){var Q=63&A[I++];if((E=224==(240&E)?(15&E)<<12|i<<6|Q:(7&E)<<18|i<<12|Q<<6|63&A[I++])<65536)e+=String.fromCharCode(E);else{var n=E-65536;e+=String.fromCharCode(55296|n>>10,56320|1023&n)}}else e+=String.fromCharCode((31&E)<<6|i)}else e+=String.fromCharCode(E)}return e}(r,I,C):"":"boolean"===g?Boolean(A):A;var I,C}var Q=function(I){return A["_"+I]}(I),n=[],t=0;if(B)for(var a=0;a<B.length;a++){var c=E[C[a]];c?(0===t&&(t=H()),n[a]=c(B[a])):n[a]=B[a]}var f=Q.apply(null,n);return f=function(A){return 0!==t&&v(t),i(A)}(f)},w=function A(){b||q(),b||(w=A)},A.run=q,A.preInit)for("function"==typeof A.preInit&&(A.preInit=[A.preInit]);A.preInit.length>0;)A.preInit.pop()();return q(),A.ready}),Y=F;let N;!function(A){if(!a())throw Error("expose() called in the master thread.");if(u)throw Error("expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.");if(u=!0,"function"==typeof A)c((I=>{y(I)&&!I.method&&G(I.uid,A,I.args.map(i))})),function(){const A={type:r.init,exposed:{type:"function"}};s(A)}();else{if("object"!=typeof A||!A)throw Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${A}`);c((I=>{y(I)&&I.method&&G(I.uid,A[I.method],I.args.map(i))}));!function(A){const I={type:r.init,exposed:{type:"module",methods:A}};s(I)}(Object.keys(A).filter((I=>"function"==typeof A[I])))}}({initModule:()=>new Promise(N?async A=>{A()}:async A=>{(new Y).then((I=>{N=I,A()}))}),processVertices(A,I,g,C){let B=new Float32Array(C),e=new Float32Array(I),E=new Uint32Array(g),i=B.length/6,Q=new Float32Array(4*i),n=new Float32Array(24*A);var o,r,a,s,c,f=0;o=f,r=f+=e.length*e.BYTES_PER_ELEMENT,a=f+=E.length*E.BYTES_PER_ELEMENT,s=f+=B.length*B.BYTES_PER_ELEMENT,c=f+=Q.length*Q.BYTES_PER_ELEMENT,f+=n.length*n.BYTES_PER_ELEMENT;var u=N._malloc(f),y=new Uint8Array(N.HEAPU8.buffer,u,f);y.set(new Uint8Array(e.buffer),o),y.set(new Uint8Array(E.buffer),r),y.set(new Uint8Array(B.buffer),a);let D=y.byteOffset;N.ccall("processVertices","null",["number","number","number","number","number","number","number"],[A,D+o,D+r,D+a,D+s,D+c]);let l=new Float32Array(y.buffer,D+s,Q.length);for(let A=0;A<Q.length;A++)Q[A]=l[A];let h=new Float32Array(y.buffer,D+c,n.length);for(let A=0;A<n.length;A++)n[A]=h[A];return N._free(y.byteOffset),B=null,e=null,E=null,{vertices:t(Q.buffer),boundingBoxes:t(n.buffer)}}})}]);
|
|
1
|
+
/******/ (function(modules) { // webpackBootstrap
|
|
2
|
+
/******/ // The module cache
|
|
3
|
+
/******/ var installedModules = {};
|
|
4
|
+
/******/
|
|
5
|
+
/******/ // The require function
|
|
6
|
+
/******/ function __webpack_require__(moduleId) {
|
|
7
|
+
/******/
|
|
8
|
+
/******/ // Check if module is in cache
|
|
9
|
+
/******/ if(installedModules[moduleId]) {
|
|
10
|
+
/******/ return installedModules[moduleId].exports;
|
|
11
|
+
/******/ }
|
|
12
|
+
/******/ // Create a new module (and put it into the cache)
|
|
13
|
+
/******/ var module = installedModules[moduleId] = {
|
|
14
|
+
/******/ i: moduleId,
|
|
15
|
+
/******/ l: false,
|
|
16
|
+
/******/ exports: {}
|
|
17
|
+
/******/ };
|
|
18
|
+
/******/
|
|
19
|
+
/******/ // Execute the module function
|
|
20
|
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
21
|
+
/******/
|
|
22
|
+
/******/ // Flag the module as loaded
|
|
23
|
+
/******/ module.l = true;
|
|
24
|
+
/******/
|
|
25
|
+
/******/ // Return the exports of the module
|
|
26
|
+
/******/ return module.exports;
|
|
27
|
+
/******/ }
|
|
28
|
+
/******/
|
|
29
|
+
/******/
|
|
30
|
+
/******/ // expose the modules object (__webpack_modules__)
|
|
31
|
+
/******/ __webpack_require__.m = modules;
|
|
32
|
+
/******/
|
|
33
|
+
/******/ // expose the module cache
|
|
34
|
+
/******/ __webpack_require__.c = installedModules;
|
|
35
|
+
/******/
|
|
36
|
+
/******/ // define getter function for harmony exports
|
|
37
|
+
/******/ __webpack_require__.d = function(exports, name, getter) {
|
|
38
|
+
/******/ if(!__webpack_require__.o(exports, name)) {
|
|
39
|
+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
|
|
40
|
+
/******/ }
|
|
41
|
+
/******/ };
|
|
42
|
+
/******/
|
|
43
|
+
/******/ // define __esModule on exports
|
|
44
|
+
/******/ __webpack_require__.r = function(exports) {
|
|
45
|
+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
|
|
46
|
+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
47
|
+
/******/ }
|
|
48
|
+
/******/ Object.defineProperty(exports, '__esModule', { value: true });
|
|
49
|
+
/******/ };
|
|
50
|
+
/******/
|
|
51
|
+
/******/ // create a fake namespace object
|
|
52
|
+
/******/ // mode & 1: value is a module id, require it
|
|
53
|
+
/******/ // mode & 2: merge all properties of value into the ns
|
|
54
|
+
/******/ // mode & 4: return value when already ns object
|
|
55
|
+
/******/ // mode & 8|1: behave like require
|
|
56
|
+
/******/ __webpack_require__.t = function(value, mode) {
|
|
57
|
+
/******/ if(mode & 1) value = __webpack_require__(value);
|
|
58
|
+
/******/ if(mode & 8) return value;
|
|
59
|
+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
|
|
60
|
+
/******/ var ns = Object.create(null);
|
|
61
|
+
/******/ __webpack_require__.r(ns);
|
|
62
|
+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
|
|
63
|
+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
|
|
64
|
+
/******/ return ns;
|
|
65
|
+
/******/ };
|
|
66
|
+
/******/
|
|
67
|
+
/******/ // getDefaultExport function for compatibility with non-harmony modules
|
|
68
|
+
/******/ __webpack_require__.n = function(module) {
|
|
69
|
+
/******/ var getter = module && module.__esModule ?
|
|
70
|
+
/******/ function getDefault() { return module['default']; } :
|
|
71
|
+
/******/ function getModuleExports() { return module; };
|
|
72
|
+
/******/ __webpack_require__.d(getter, 'a', getter);
|
|
73
|
+
/******/ return getter;
|
|
74
|
+
/******/ };
|
|
75
|
+
/******/
|
|
76
|
+
/******/ // Object.prototype.hasOwnProperty.call
|
|
77
|
+
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
|
|
78
|
+
/******/
|
|
79
|
+
/******/ // __webpack_public_path__
|
|
80
|
+
/******/ __webpack_require__.p = "";
|
|
81
|
+
/******/
|
|
82
|
+
/******/
|
|
83
|
+
/******/ // Load entry module and return exports
|
|
84
|
+
/******/ return __webpack_require__(__webpack_require__.s = "./src/workers/partitionVerticesWorker.js");
|
|
85
|
+
/******/ })
|
|
86
|
+
/************************************************************************/
|
|
87
|
+
/******/ ({
|
|
88
|
+
|
|
89
|
+
/***/ "./bin/processPartitionVertices.js":
|
|
90
|
+
/*!*****************************************!*\
|
|
91
|
+
!*** ./bin/processPartitionVertices.js ***!
|
|
92
|
+
\*****************************************/
|
|
93
|
+
/*! exports provided: default */
|
|
94
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
95
|
+
|
|
96
|
+
"use strict";
|
|
97
|
+
__webpack_require__.r(__webpack_exports__);
|
|
98
|
+
|
|
99
|
+
var Module = (() => {
|
|
100
|
+
var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
|
|
101
|
+
|
|
102
|
+
return (
|
|
103
|
+
function(Module) {
|
|
104
|
+
Module = Module || {};
|
|
105
|
+
|
|
106
|
+
var Module=typeof Module!="undefined"?Module:{};var readyPromiseResolve,readyPromiseReject;Module["ready"]=new Promise(function(resolve,reject){readyPromiseResolve=resolve;readyPromiseReject=reject});var moduleOverrides=Object.assign({},Module);var arguments_=[];var thisProgram="./this.program";var quit_=(status,toThrow)=>{throw toThrow};var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=true;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}return scriptDirectory+path}var read_,readAsync,readBinary,setWindowTitle;if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(typeof document!="undefined"&&document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.replace(/[?#].*/,"").lastIndexOf("/")+1)}else{scriptDirectory=""}{read_=(url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}});if(ENVIRONMENT_IS_WORKER){readBinary=(url=>{try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}})}readAsync=((url,onload,onerror)=>{var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=(()=>{if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()});xhr.onerror=onerror;xhr.send(null)})}setWindowTitle=(title=>document.title=title)}else{}var out=Module["print"]||console.log.bind(console);var err=Module["printErr"]||console.warn.bind(console);Object.assign(Module,moduleOverrides);moduleOverrides=null;if(Module["arguments"])arguments_=Module["arguments"];if(Module["thisProgram"])thisProgram=Module["thisProgram"];if(Module["quit"])quit_=Module["quit"];var wasmBinary;if(Module["wasmBinary"])wasmBinary=Module["wasmBinary"];var noExitRuntime=Module["noExitRuntime"]||true;if(typeof WebAssembly!="object"){abort("no native wasm support detected")}var wasmMemory;var ABORT=false;var EXITSTATUS;function assert(condition,text){if(!condition){abort(text)}}function getCFunc(ident){var func=Module["_"+ident];return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);function onDone(ret){if(stack!==0)stackRestore(stack);return convertReturnValue(ret)}ret=onDone(ret);return ret}var UTF8Decoder=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(heap,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(heap[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&heap.subarray&&UTF8Decoder){return UTF8Decoder.decode(heap.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=heap[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=heap[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=heap[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|heap[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,heap,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;heap[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;heap[outIdx++]=192|u>>6;heap[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;heap[outIdx++]=224|u>>12;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;heap[outIdx++]=240|u>>18;heap[outIdx++]=128|u>>12&63;heap[outIdx++]=128|u>>6&63;heap[outIdx++]=128|u&63}}heap[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBufferAndViews(buf){buffer=buf;Module["HEAP8"]=HEAP8=new Int8Array(buf);Module["HEAP16"]=HEAP16=new Int16Array(buf);Module["HEAP32"]=HEAP32=new Int32Array(buf);Module["HEAPU8"]=HEAPU8=new Uint8Array(buf);Module["HEAPU16"]=HEAPU16=new Uint16Array(buf);Module["HEAPU32"]=HEAPU32=new Uint32Array(buf);Module["HEAPF32"]=HEAPF32=new Float32Array(buf);Module["HEAPF64"]=HEAPF64=new Float64Array(buf)}var INITIAL_MEMORY=Module["INITIAL_MEMORY"]||67108864;var wasmTable;var __ATPRERUN__=[];var __ATINIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function initRuntime(){runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnInit(cb){__ATINIT__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};function abort(what){{if(Module["onAbort"]){Module["onAbort"](what)}}what="Aborted("+what+")";err(what);ABORT=true;EXITSTATUS=1;what+=". Build with -s ASSERTIONS=1 for more info.";var e=new WebAssembly.RuntimeError(what);readyPromiseReject(e);throw e}var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return filename.startsWith(dataURIPrefix)}var wasmBinaryFile;wasmBinaryFile="data:application/octet-stream;base64,AGFzbQEAAAABHwZgAX8Bf2ABfAF8YAF/AGAAAGAAAX9gBn9/f39/fwACBwEBYQFhAAADDAsAAQMBAQACBAIABQQFAXABAQEFBwEBgAiAgAIGCQF/AUGAjcACCwclCQFiAgABYwADAWQACwFlAAoBZgAJAWcACAFoAAcBaQAGAWoBAArUUQtPAQJ/QYAJKAIAIgEgAEEDakF8cSICaiEAAkAgAkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQAEUNAQtBgAkgADYCACABDwtBhAlBMDYCAEF/C40BACAAIAAgACAAIABECff9DeE9Aj+iRIiyAXXg70k/oKJEO49otSiCpL+gokRVRIgOVcHJP6CiRH1v6wMS1tS/oKJEVVVVVVVVxT+gIACiIAAgACAAIABEgpIuscW4sz+iRFkBjRtsBua/oKJEyIpZnOUqAECgokRLLYocJzoDwKCiRAAAAAAAAPA/oKMLAwABC6wBAwF8AX4BfyAAvSICQjSIp0H/D3EiA0GyCE0EfCADQf0HTQRAIABEAAAAAAAAAACiDwsCfCAAIACaIAJCAFkbIgBEAAAAAAAAMEOgRAAAAAAAADDDoCAAoSIBRAAAAAAAAOA/ZARAIAAgAaBEAAAAAAAA8L+gDAELIAAgAaAiACABRAAAAAAAAOC/ZUUNABogAEQAAAAAAADwP6ALIgAgAJogAkIAWRsFIAALC/wDAwN8An8BfiAAvSIGQiCIp0H/////B3EiBEGAgMCgBE8EQCAARBgtRFT7Ifk/IACmIAC9Qv///////////wCDQoCAgICAgID4/wBWGw8LAkACfyAEQf//7/4DTQRAQX8gBEGAgIDyA08NARoMAgsgAJkhACAEQf//y/8DTQRAIARB//+X/wNNBEAgACAAoEQAAAAAAADwv6AgAEQAAAAAAAAAQKCjIQBBAAwCCyAARAAAAAAAAPC/oCAARAAAAAAAAPA/oKMhAEEBDAELIARB//+NgARNBEAgAEQAAAAAAAD4v6AgAEQAAAAAAAD4P6JEAAAAAAAA8D+goyEAQQIMAQtEAAAAAAAA8L8gAKMhAEEDCyEFIAAgAKIiAiACoiIBIAEgASABIAFEL2xqLES0or+iRJr93lIt3q2/oKJEbZp0r/Kws7+gokRxFiP+xnG8v6CiRMTrmJmZmcm/oKIhAyACIAEgASABIAEgAUQR2iLjOq2QP6JE6w12JEt7qT+gokRRPdCgZg2xP6CiRG4gTMXNRbc/oKJE/4MAkiRJwj+gokQNVVVVVVXVP6CiIQEgBEH//+/+A00EQCAAIAAgAyABoKKhDwsgBUEDdCIEQYAIaisDACAAIAMgAaCiIARBoAhqKwMAoSAAoaEiACAAmiAGQgBZGyEACyAACxAAIwAgAGtBcHEiACQAIAALBgAgACQACwQAIwALpwwBB38CQCAARQ0AIABBCGsiAyAAQQRrKAIAIgFBeHEiAGohBQJAIAFBAXENACABQQNxRQ0BIAMgAygCACIBayIDQZgJKAIASQ0BIAAgAWohACADQZwJKAIARwRAIAFB/wFNBEAgAygCCCICIAFBA3YiBEEDdEGwCWpGGiACIAMoAgwiAUYEQEGICUGICSgCAEF+IAR3cTYCAAwDCyACIAE2AgwgASACNgIIDAILIAMoAhghBgJAIAMgAygCDCIBRwRAIAMoAggiAiABNgIMIAEgAjYCCAwBCwJAIANBFGoiAigCACIEDQAgA0EQaiICKAIAIgQNAEEAIQEMAQsDQCACIQcgBCIBQRRqIgIoAgAiBA0AIAFBEGohAiABKAIQIgQNAAsgB0EANgIACyAGRQ0BAkAgAyADKAIcIgJBAnRBuAtqIgQoAgBGBEAgBCABNgIAIAENAUGMCUGMCSgCAEF+IAJ3cTYCAAwDCyAGQRBBFCAGKAIQIANGG2ogATYCACABRQ0CCyABIAY2AhggAygCECICBEAgASACNgIQIAIgATYCGAsgAygCFCICRQ0BIAEgAjYCFCACIAE2AhgMAQsgBSgCBCIBQQNxQQNHDQBBkAkgADYCACAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAA8LIAMgBU8NACAFKAIEIgFBAXFFDQACQCABQQJxRQRAIAVBoAkoAgBGBEBBoAkgAzYCAEGUCUGUCSgCACAAaiIANgIAIAMgAEEBcjYCBCADQZwJKAIARw0DQZAJQQA2AgBBnAlBADYCAA8LIAVBnAkoAgBGBEBBnAkgAzYCAEGQCUGQCSgCACAAaiIANgIAIAMgAEEBcjYCBCAAIANqIAA2AgAPCyABQXhxIABqIQACQCABQf8BTQRAIAUoAggiAiABQQN2IgRBA3RBsAlqRhogAiAFKAIMIgFGBEBBiAlBiAkoAgBBfiAEd3E2AgAMAgsgAiABNgIMIAEgAjYCCAwBCyAFKAIYIQYCQCAFIAUoAgwiAUcEQCAFKAIIIgJBmAkoAgBJGiACIAE2AgwgASACNgIIDAELAkAgBUEUaiICKAIAIgQNACAFQRBqIgIoAgAiBA0AQQAhAQwBCwNAIAIhByAEIgFBFGoiAigCACIEDQAgAUEQaiECIAEoAhAiBA0ACyAHQQA2AgALIAZFDQACQCAFIAUoAhwiAkECdEG4C2oiBCgCAEYEQCAEIAE2AgAgAQ0BQYwJQYwJKAIAQX4gAndxNgIADAILIAZBEEEUIAYoAhAgBUYbaiABNgIAIAFFDQELIAEgBjYCGCAFKAIQIgIEQCABIAI2AhAgAiABNgIYCyAFKAIUIgJFDQAgASACNgIUIAIgATYCGAsgAyAAQQFyNgIEIAAgA2ogADYCACADQZwJKAIARw0BQZAJIAA2AgAPCyAFIAFBfnE2AgQgAyAAQQFyNgIEIAAgA2ogADYCAAsgAEH/AU0EQCAAQQN2IgFBA3RBsAlqIQACf0GICSgCACICQQEgAXQiAXFFBEBBiAkgASACcjYCACAADAELIAAoAggLIQIgACADNgIIIAIgAzYCDCADIAA2AgwgAyACNgIIDwtBHyECIANCADcCECAAQf///wdNBEAgAEEIdiIBIAFBgP4/akEQdkEIcSIBdCICIAJBgOAfakEQdkEEcSICdCIEIARBgIAPakEQdkECcSIEdEEPdiABIAJyIARyayIBQQF0IAAgAUEVanZBAXFyQRxqIQILIAMgAjYCHCACQQJ0QbgLaiEBAkACQAJAQYwJKAIAIgRBASACdCIHcUUEQEGMCSAEIAdyNgIAIAEgAzYCACADIAE2AhgMAQsgAEEAQRkgAkEBdmsgAkEfRht0IQIgASgCACEBA0AgASIEKAIEQXhxIABGDQIgAkEddiEBIAJBAXQhAiAEIAFBBHFqIgdBEGooAgAiAQ0ACyAHIAM2AhAgAyAENgIYCyADIAM2AgwgAyADNgIIDAELIAQoAggiACADNgIMIAQgAzYCCCADQQA2AhggAyAENgIMIAMgADYCCAtBqAlBqAkoAgBBAWsiAEF/IAAbNgIACwuPLQELfyMAQRBrIgskAAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEGICSgCACIEQRAgAEELakF4cSAAQQtJGyIGQQN2IgB2IgFBA3EEQCABQX9zQQFxIABqIgJBA3QiBUG4CWooAgAiAUEIaiEAAkAgASgCCCIDIAVBsAlqIgVGBEBBiAkgBEF+IAJ3cTYCAAwBCyADIAU2AgwgBSADNgIICyABIAJBA3QiAkEDcjYCBCABIAJqIgEgASgCBEEBcjYCBAwMCyAGQZAJKAIAIghNDQEgAQRAAkBBAiAAdCICQQAgAmtyIAEgAHRxIgBBACAAa3FBAWsiACAAQQx2QRBxIgB2IgFBBXZBCHEiAiAAciABIAJ2IgBBAnZBBHEiAXIgACABdiIAQQF2QQJxIgFyIAAgAXYiAEEBdkEBcSIBciAAIAF2aiICQQN0IgNBuAlqKAIAIgEoAggiACADQbAJaiIDRgRAQYgJIARBfiACd3EiBDYCAAwBCyAAIAM2AgwgAyAANgIICyABQQhqIQAgASAGQQNyNgIEIAEgBmoiByACQQN0IgIgBmsiA0EBcjYCBCABIAJqIAM2AgAgCARAIAhBA3YiBUEDdEGwCWohAUGcCSgCACECAn8gBEEBIAV0IgVxRQRAQYgJIAQgBXI2AgAgAQwBCyABKAIICyEFIAEgAjYCCCAFIAI2AgwgAiABNgIMIAIgBTYCCAtBnAkgBzYCAEGQCSADNgIADAwLQYwJKAIAIgpFDQEgCkEAIAprcUEBayIAIABBDHZBEHEiAHYiAUEFdkEIcSICIAByIAEgAnYiAEECdkEEcSIBciAAIAF2IgBBAXZBAnEiAXIgACABdiIAQQF2QQFxIgFyIAAgAXZqQQJ0QbgLaigCACIBKAIEQXhxIAZrIQUgASECA0ACQCACKAIQIgBFBEAgAigCFCIARQ0BCyAAKAIEQXhxIAZrIgIgBSACIAVJIgIbIQUgACABIAIbIQEgACECDAELCyABKAIYIQkgASABKAIMIgNHBEAgASgCCCIAQZgJKAIASRogACADNgIMIAMgADYCCAwLCyABQRRqIgIoAgAiAEUEQCABKAIQIgBFDQMgAUEQaiECCwNAIAIhByAAIgNBFGoiAigCACIADQAgA0EQaiECIAMoAhAiAA0ACyAHQQA2AgAMCgtBfyEGIABBv39LDQAgAEELaiIAQXhxIQZBjAkoAgAiB0UNAEEAIAZrIQUCQAJAAkACf0EAIAZBgAJJDQAaQR8gBkH///8HSw0AGiAAQQh2IgAgAEGA/j9qQRB2QQhxIgB0IgEgAUGA4B9qQRB2QQRxIgF0IgIgAkGAgA9qQRB2QQJxIgJ0QQ92IAAgAXIgAnJrIgBBAXQgBiAAQRVqdkEBcXJBHGoLIghBAnRBuAtqKAIAIgJFBEBBACEADAELQQAhACAGQQBBGSAIQQF2ayAIQR9GG3QhAQNAAkAgAigCBEF4cSIJIAZrIgQgBU8NACAEIQUgAiEDIAYgCUcNAEEAIQUgAiEADAMLIAAgAigCFCIEIAQgAiABQR12QQRxaigCECICRhsgACAEGyEAIAFBAXQhASACDQALCyAAIANyRQRAQQAhA0ECIAh0IgBBACAAa3IgB3EiAEUNAyAAQQAgAGtxQQFrIgAgAEEMdkEQcSIAdiIBQQV2QQhxIgIgAHIgASACdiIAQQJ2QQRxIgFyIAAgAXYiAEEBdkECcSIBciAAIAF2IgBBAXZBAXEiAXIgACABdmpBAnRBuAtqKAIAIQALIABFDQELA0AgACgCBEF4cSAGayICIAVJIQEgAiAFIAEbIQUgACADIAEbIQMgACgCECIBBH8gAQUgACgCFAsiAA0ACwsgA0UNACAFQZAJKAIAIAZrTw0AIAMoAhghCCADIAMoAgwiAUcEQCADKAIIIgBBmAkoAgBJGiAAIAE2AgwgASAANgIIDAkLIANBFGoiAigCACIARQRAIAMoAhAiAEUNAyADQRBqIQILA0AgAiEEIAAiAUEUaiICKAIAIgANACABQRBqIQIgASgCECIADQALIARBADYCAAwICyAGQZAJKAIAIgFNBEBBnAkoAgAhAAJAIAEgBmsiAkEQTwRAQZAJIAI2AgBBnAkgACAGaiIDNgIAIAMgAkEBcjYCBCAAIAFqIAI2AgAgACAGQQNyNgIEDAELQZwJQQA2AgBBkAlBADYCACAAIAFBA3I2AgQgACABaiIBIAEoAgRBAXI2AgQLIABBCGohAAwKCyAGQZQJKAIAIgFJBEBBlAkgASAGayIBNgIAQaAJQaAJKAIAIgAgBmoiAjYCACACIAFBAXI2AgQgACAGQQNyNgIEIABBCGohAAwKC0EAIQAgBkEvaiIFAn9B4AwoAgAEQEHoDCgCAAwBC0HsDEJ/NwIAQeQMQoCggICAgAQ3AgBB4AwgC0EMakFwcUHYqtWqBXM2AgBB9AxBADYCAEHEDEEANgIAQYAgCyICaiIEQQAgAmsiB3EiAiAGTQ0JQcAMKAIAIgMEQEG4DCgCACIIIAJqIgkgCE0NCiADIAlJDQoLQcQMLQAAQQRxDQQCQAJAQaAJKAIAIgMEQEHIDCEAA0AgAyAAKAIAIghPBEAgCCAAKAIEaiADSw0DCyAAKAIIIgANAAsLQQAQASIBQX9GDQUgAiEEQeQMKAIAIgBBAWsiAyABcQRAIAIgAWsgASADakEAIABrcWohBAsgBCAGTQ0FIARB/v///wdLDQVBwAwoAgAiAARAQbgMKAIAIgMgBGoiByADTQ0GIAAgB0kNBgsgBBABIgAgAUcNAQwHCyAEIAFrIAdxIgRB/v///wdLDQQgBBABIgEgACgCACAAKAIEakYNAyABIQALAkAgAEF/Rg0AIAZBMGogBE0NAEHoDCgCACIBIAUgBGtqQQAgAWtxIgFB/v///wdLBEAgACEBDAcLIAEQAUF/RwRAIAEgBGohBCAAIQEMBwtBACAEaxABGgwECyAAIgFBf0cNBQwDC0EAIQMMBwtBACEBDAULIAFBf0cNAgtBxAxBxAwoAgBBBHI2AgALIAJB/v///wdLDQEgAhABIQFBABABIQAgAUF/Rg0BIABBf0YNASAAIAFNDQEgACABayIEIAZBKGpNDQELQbgMQbgMKAIAIARqIgA2AgBBvAwoAgAgAEkEQEG8DCAANgIACwJAAkACQEGgCSgCACIDBEBByAwhAANAIAEgACgCACICIAAoAgQiBWpGDQIgACgCCCIADQALDAILQZgJKAIAIgBBACAAIAFNG0UEQEGYCSABNgIAC0EAIQBBzAwgBDYCAEHIDCABNgIAQagJQX82AgBBrAlB4AwoAgA2AgBB1AxBADYCAANAIABBA3QiAkG4CWogAkGwCWoiAzYCACACQbwJaiADNgIAIABBAWoiAEEgRw0AC0GUCSAEQShrIgBBeCABa0EHcUEAIAFBCGpBB3EbIgJrIgM2AgBBoAkgASACaiICNgIAIAIgA0EBcjYCBCAAIAFqQSg2AgRBpAlB8AwoAgA2AgAMAgsgAC0ADEEIcQ0AIAIgA0sNACABIANNDQAgACAEIAVqNgIEQaAJIANBeCADa0EHcUEAIANBCGpBB3EbIgBqIgE2AgBBlAlBlAkoAgAgBGoiAiAAayIANgIAIAEgAEEBcjYCBCACIANqQSg2AgRBpAlB8AwoAgA2AgAMAQtBmAkoAgAgAUsEQEGYCSABNgIACyABIARqIQJByAwhAAJAAkACQAJAAkACQANAIAIgACgCAEcEQCAAKAIIIgANAQwCCwsgAC0ADEEIcUUNAQtByAwhAANAIAMgACgCACICTwRAIAIgACgCBGoiBSADSw0DCyAAKAIIIQAMAAsACyAAIAE2AgAgACAAKAIEIARqNgIEIAFBeCABa0EHcUEAIAFBCGpBB3EbaiIIIAZBA3I2AgQgAkF4IAJrQQdxQQAgAkEIakEHcRtqIgQgBiAIaiIHayEGIAMgBEYEQEGgCSAHNgIAQZQJQZQJKAIAIAZqIgA2AgAgByAAQQFyNgIEDAMLIARBnAkoAgBGBEBBnAkgBzYCAEGQCUGQCSgCACAGaiIANgIAIAcgAEEBcjYCBCAAIAdqIAA2AgAMAwsgBCgCBCIAQQNxQQFGBEAgAEF4cSEJAkAgAEH/AU0EQCAEKAIIIgEgAEEDdiICQQN0QbAJakYaIAEgBCgCDCIARgRAQYgJQYgJKAIAQX4gAndxNgIADAILIAEgADYCDCAAIAE2AggMAQsgBCgCGCEDAkAgBCAEKAIMIgFHBEAgBCgCCCIAIAE2AgwgASAANgIIDAELAkAgBEEUaiIAKAIAIgUNACAEQRBqIgAoAgAiBQ0AQQAhAQwBCwNAIAAhAiAFIgFBFGoiACgCACIFDQAgAUEQaiEAIAEoAhAiBQ0ACyACQQA2AgALIANFDQACQCAEIAQoAhwiAEECdEG4C2oiAigCAEYEQCACIAE2AgAgAQ0BQYwJQYwJKAIAQX4gAHdxNgIADAILIANBEEEUIAMoAhAgBEYbaiABNgIAIAFFDQELIAEgAzYCGCAEKAIQIgAEQCABIAA2AhAgACABNgIYCyAEKAIUIgBFDQAgASAANgIUIAAgATYCGAsgBiAJaiEGIAQgCWohBAsgBCAEKAIEQX5xNgIEIAcgBkEBcjYCBCAGIAdqIAY2AgAgBkH/AU0EQCAGQQN2IgFBA3RBsAlqIQACf0GICSgCACICQQEgAXQiAXFFBEBBiAkgASACcjYCACAADAELIAAoAggLIQEgACAHNgIIIAEgBzYCDCAHIAA2AgwgByABNgIIDAMLQR8hACAGQf///wdNBEAgBkEIdiIAIABBgP4/akEQdkEIcSIAdCIBIAFBgOAfakEQdkEEcSIBdCICIAJBgIAPakEQdkECcSICdEEPdiAAIAFyIAJyayIAQQF0IAYgAEEVanZBAXFyQRxqIQALIAcgADYCHCAHQgA3AhAgAEECdEG4C2ohAQJAQYwJKAIAIgJBASAAdCIDcUUEQEGMCSACIANyNgIAIAEgBzYCACAHIAE2AhgMAQsgBkEAQRkgAEEBdmsgAEEfRht0IQAgASgCACEBA0AgASICKAIEQXhxIAZGDQMgAEEddiEBIABBAXQhACACIAFBBHFqIgMoAhAiAQ0ACyADIAc2AhAgByACNgIYCyAHIAc2AgwgByAHNgIIDAILQZQJIARBKGsiAEF4IAFrQQdxQQAgAUEIakEHcRsiAmsiBzYCAEGgCSABIAJqIgI2AgAgAiAHQQFyNgIEIAAgAWpBKDYCBEGkCUHwDCgCADYCACADIAVBJyAFa0EHcUEAIAVBJ2tBB3EbakEvayIAIAAgA0EQakkbIgJBGzYCBCACQdAMKQIANwIQIAJByAwpAgA3AghB0AwgAkEIajYCAEHMDCAENgIAQcgMIAE2AgBB1AxBADYCACACQRhqIQADQCAAQQc2AgQgAEEIaiEBIABBBGohACABIAVJDQALIAIgA0YNAyACIAIoAgRBfnE2AgQgAyACIANrIgVBAXI2AgQgAiAFNgIAIAVB/wFNBEAgBUEDdiIBQQN0QbAJaiEAAn9BiAkoAgAiAkEBIAF0IgFxRQRAQYgJIAEgAnI2AgAgAAwBCyAAKAIICyEBIAAgAzYCCCABIAM2AgwgAyAANgIMIAMgATYCCAwEC0EfIQAgA0IANwIQIAVB////B00EQCAFQQh2IgAgAEGA/j9qQRB2QQhxIgB0IgEgAUGA4B9qQRB2QQRxIgF0IgIgAkGAgA9qQRB2QQJxIgJ0QQ92IAAgAXIgAnJrIgBBAXQgBSAAQRVqdkEBcXJBHGohAAsgAyAANgIcIABBAnRBuAtqIQECQEGMCSgCACICQQEgAHQiBHFFBEBBjAkgAiAEcjYCACABIAM2AgAgAyABNgIYDAELIAVBAEEZIABBAXZrIABBH0YbdCEAIAEoAgAhAQNAIAEiAigCBEF4cSAFRg0EIABBHXYhASAAQQF0IQAgAiABQQRxaiIEKAIQIgENAAsgBCADNgIQIAMgAjYCGAsgAyADNgIMIAMgAzYCCAwDCyACKAIIIgAgBzYCDCACIAc2AgggB0EANgIYIAcgAjYCDCAHIAA2AggLIAhBCGohAAwFCyACKAIIIgAgAzYCDCACIAM2AgggA0EANgIYIAMgAjYCDCADIAA2AggLQZQJKAIAIgAgBk0NAEGUCSAAIAZrIgE2AgBBoAlBoAkoAgAiACAGaiICNgIAIAIgAUEBcjYCBCAAIAZBA3I2AgQgAEEIaiEADAMLQYQJQTA2AgBBACEADAILAkAgCEUNAAJAIAMoAhwiAEECdEG4C2oiAigCACADRgRAIAIgATYCACABDQFBjAkgB0F+IAB3cSIHNgIADAILIAhBEEEUIAgoAhAgA0YbaiABNgIAIAFFDQELIAEgCDYCGCADKAIQIgAEQCABIAA2AhAgACABNgIYCyADKAIUIgBFDQAgASAANgIUIAAgATYCGAsCQCAFQQ9NBEAgAyAFIAZqIgBBA3I2AgQgACADaiIAIAAoAgRBAXI2AgQMAQsgAyAGQQNyNgIEIAMgBmoiBCAFQQFyNgIEIAQgBWogBTYCACAFQf8BTQRAIAVBA3YiAUEDdEGwCWohAAJ/QYgJKAIAIgJBASABdCIBcUUEQEGICSABIAJyNgIAIAAMAQsgACgCCAshASAAIAQ2AgggASAENgIMIAQgADYCDCAEIAE2AggMAQtBHyEAIAVB////B00EQCAFQQh2IgAgAEGA/j9qQRB2QQhxIgB0IgEgAUGA4B9qQRB2QQRxIgF0IgIgAkGAgA9qQRB2QQJxIgJ0QQ92IAAgAXIgAnJrIgBBAXQgBSAAQRVqdkEBcXJBHGohAAsgBCAANgIcIARCADcCECAAQQJ0QbgLaiEBAkACQCAHQQEgAHQiAnFFBEBBjAkgAiAHcjYCACABIAQ2AgAMAQsgBUEAQRkgAEEBdmsgAEEfRht0IQAgASgCACECA0AgAiIBKAIEQXhxIAVGDQIgAEEddiECIABBAXQhACABIAJBBHFqIgcoAhAiAg0ACyAHIAQ2AhALIAQgATYCGCAEIAQ2AgwgBCAENgIIDAELIAEoAggiACAENgIMIAEgBDYCCCAEQQA2AhggBCABNgIMIAQgADYCCAsgA0EIaiEADAELAkAgCUUNAAJAIAEoAhwiAEECdEG4C2oiAigCACABRgRAIAIgAzYCACADDQFBjAkgCkF+IAB3cTYCAAwCCyAJQRBBFCAJKAIQIAFGG2ogAzYCACADRQ0BCyADIAk2AhggASgCECIABEAgAyAANgIQIAAgAzYCGAsgASgCFCIARQ0AIAMgADYCFCAAIAM2AhgLAkAgBUEPTQRAIAEgBSAGaiIAQQNyNgIEIAAgAWoiACAAKAIEQQFyNgIEDAELIAEgBkEDcjYCBCABIAZqIgMgBUEBcjYCBCADIAVqIAU2AgAgCARAIAhBA3YiB0EDdEGwCWohAEGcCSgCACECAn9BASAHdCIHIARxRQRAQYgJIAQgB3I2AgAgAAwBCyAAKAIICyEEIAAgAjYCCCAEIAI2AgwgAiAANgIMIAIgBDYCCAtBnAkgAzYCAEGQCSAFNgIACyABQQhqIQALIAtBEGokACAAC+sQBAp/HXwJfQF+IABBAEoEQANAIAIgCUECdGooAgAhCiABIAlBBnRqIgYqAiC7IhIgBioCGLsiFyAGKgIEuyIYoiAGKgIIuyIZIAYqAhS7IhqioSIRoiAGKgIAuyITIAYqAii7IhsgGqIgFyAGKgIkuyIcoqEiFKIgHCAZoiAYIBuioSIVIAYqAhC7IhaioKAiEJlEAAAAAAAAsDxjRQRAIBogE6IgGCAWoqFEAAAAAAAA8D8gEKMiEKIhIiAcIBaiIBogEqKhIBCiISMgEiAXoiAWIBuaoqAgEKIhJCARIBCiISUgFSAQoiEmIBQgEKIhJyAWIBmiIBMgF6KhIBCiISggEiAYoiATIByaoqAgEKIhKSAbIBOiIBkgEqKhIBCiIR8LQQAhC0P//39/ITFD//9//yEyAkAgCkEATARAQ///f/8hLUP//3//IS5D//9/fyEvQ///f38hMAwBCyAGKgI4uyEqIAYqAjS7ISsgBioCMLshLEP//3//IS1D//9//yEuQ///f38hL0P//39/ITADQCAoIAMgCyAMaiINQRhsaiIGKgIUuyIQoiAkIAYqAgy7Ih2iIB8gBioCELsiIKKgoCEhICIgEKIgIyAdoiApICCioKAhESAGKgIAuyEUIAYqAgi7IRUgBioCBLshHgJ8AkAgJSAQoiAnIB2iICYgIKKgoCIQmUQAAAAAAACwPGNFDQAgEZlEAAAAAAAAsDxjRQ0ARBgtRFT7IQnARAAAAAAAAACAIBG9IjZCAFMbIBC9QgBTDQEaRBgtRFT7IQlARAAAAAAAAAAAIDZCAFMbDAELAnwgECARoCAQvUL///////////8Ag0KBgICAgICA+P8AVCARvUL///////////8Ag0KAgICAgICA+P8AWHFFDQAaIBG9IjZCIIinIgdBgIDA/wNrIDanIg5yRQRAIBAQBQwBCyAHQR52QQJxIg8gEL0iNkIgiKciCEEfdnIhBgJAIAhB/////wdxIgggNqdyRQRAAkACQCAGQQJrDgIAAQMLRBgtRFT7IQlADAMLRBgtRFT7IQnADAILRBgtRFT7Ifk/IBCmIAdB/////wdxIgcgDnJFDQEaAkAgB0GAgMD/B0YEQCAIQYCAwP8HRw0BIAZBA3RBwAhqKwMADAMLRBgtRFT7Ifk/IBCmIAhBgIDA/wdHIAdBgICAIGogCE9xRQ0CGgJ8IA8EQEQAAAAAAAAAACAIQYCAgCBqIAdJDQEaCyAQIBGjmRAFCyEQAkACQAJAIAYOAwQAAQILIBCaDAQLRBgtRFT7IQlAIBBEB1wUMyamobygoQwDCyAQRAdcFDMmpqG8oEQYLURU+yEJwKAMAgsgBkEDdEHgCGorAwAhEAsgEAsLIR0CfCAhRAAAAAAAAPC/pUQAAAAAAADwvyAhvUL///////////8Ag0KAgICAgICA+P8AWBsiEEQAAAAAAADwP6REAAAAAAAA8D8gEL1C////////////AINCgICAgICAgPj/AFgbIhC9IjZCIIinQf////8HcSIGQYCAwP8DTwRARAAAAAAAAAAARBgtRFT7IQlAIDZCAFkbIDanIAZBgIDA/wNrckUNARpEAAAAAAAAAAAgECAQoaMMAQsCfCAGQf////4DTQRARBgtRFT7Ifk/IAZBgYCA4wNJDQEaRAdcFDMmppE8IBAgECAQohACoqEgEKFEGC1EVPsh+T+gDAILIDZCAFMEQEQYLURU+yH5PyAQRAAAAAAAAPA/oEQAAAAAAADgP6IiEJ8iESARIBAQAqJEB1wUMyamkbygoKEiECAQoAwCC0QAAAAAAADwPyAQoUQAAAAAAADgP6IiEJ8iESAQEAKiIBAgEb1CgICAgHCDvyIQIBCioSARIBCgo6AgEKAiECAQoAsLIRAgBCANQQR0aiIGIBwgFaIgGCAUoiAaIB6ioKAgK6C2IjM4AgQgBiASIBWiIBMgFKIgFiAeoqCgICygtiI0OAIAIAYgGyAVoiAZIBSiIBcgHqKgoCAqoLYiNTgCCCAGIB1EGC1EVPshGUCjRAAAAAAAAOA/oEQAAAAAAP6vQKIQBEQAAAAAAACwQKIgEEQScAzO+iEJQKREEnAMzvohCUAgEL1C////////////AINCgICAgICAgPj/AFgbIhBEje21oPfGsD6lRI3ttaD3xrA+IBC9Qv///////////wCDQoCAgICAgID4/wBYG0QYLURU+yEJQKNEAAAAAAD+r0CiEASgtjgCDCAuIC4gNZcgNbxB/////wdxQYCAgPwHSyIGGyA1IC68Qf////8HcUGAgID8B00bIS4gMCAwIDWWIAYbIDUgMLxB/////wdxQYCAgPwHTRshMCAtIC0gM5cgM7xB/////wdxQYCAgPwHSyIGGyAzIC28Qf////8HcUGAgID8B00bIS0gLyAvIDOWIAYbIDMgL7xB/////wdxQYCAgPwHTRshLyAyIDIgNJcgNLxB/////wdxQYCAgPwHSyIGGyA0IDK8Qf////8HcUGAgID8B00bITIgMSAxIDSWIAYbIDQgMbxB/////wdxQYCAgPwHTRshMSALQQFqIgsgCkcNAAsLIAUgCUHgAGxqIgYgMTgCACAGIC84AgQgBiAwOAIIIAYgMjgCDCAGIC84AhAgBiAwOAIUIAYgMTgCGCAGIC04AhwgBiAwOAIgIAYgMTgCJCAGIC84AiggBiAuOAIsIAYgMjgCMCAGIC04AjQgBiAuOAI4IAYgMTgCPCAGQUBrIC04AgAgBiAwOAJcIAYgLTgCWCAGIDI4AlQgBiAuOAJQIAYgLzgCTCAGIDI4AkggBiAuOAJEIAogDGohDCAJQQFqIgkgAEcNAAsLCwuHAQMAQYAIC2BPu2EFZ6zdPxgtRFT7Iek/m/aB0gtz7z8YLURU+yH5P+JlLyJ/K3o8B1wUMyamgTy9y/B6iAdwPAdcFDMmppE8GC1EVPsh6T8YLURU+yHpv9IhM3982QJA0iEzf3zZAsAAQe8ICxGAGC1EVPshCUAYLURU+yEJwABBgAkLA4AGUA==";if(!isDataURI(wasmBinaryFile)){wasmBinaryFile=locateFile(wasmBinaryFile)}function getBinary(file){try{if(file==wasmBinaryFile&&wasmBinary){return new Uint8Array(wasmBinary)}var binary=tryParseAsDataURI(file);if(binary){return binary}if(readBinary){return readBinary(file)}else{throw"both async and sync fetching of the wasm failed"}}catch(err){abort(err)}}function getBinaryPromise(){if(!wasmBinary&&(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER)){if(typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){if(!response["ok"]){throw"failed to load wasm binary file at '"+wasmBinaryFile+"'"}return response["arrayBuffer"]()}).catch(function(){return getBinary(wasmBinaryFile)})}}return Promise.resolve().then(function(){return getBinary(wasmBinaryFile)})}function createWasm(){var info={"a":asmLibraryArg};function receiveInstance(instance,module){var exports=instance.exports;Module["asm"]=exports;wasmMemory=Module["asm"]["b"];updateGlobalBufferAndViews(wasmMemory.buffer);wasmTable=Module["asm"]["j"];addOnInit(Module["asm"]["c"]);removeRunDependency("wasm-instantiate")}addRunDependency("wasm-instantiate");function receiveInstantiationResult(result){receiveInstance(result["instance"])}function instantiateArrayBuffer(receiver){return getBinaryPromise().then(function(binary){return WebAssembly.instantiate(binary,info)}).then(function(instance){return instance}).then(receiver,function(reason){err("failed to asynchronously prepare wasm: "+reason);abort(reason)})}function instantiateAsync(){if(!wasmBinary&&typeof WebAssembly.instantiateStreaming=="function"&&!isDataURI(wasmBinaryFile)&&typeof fetch=="function"){return fetch(wasmBinaryFile,{credentials:"same-origin"}).then(function(response){var result=WebAssembly.instantiateStreaming(response,info);return result.then(receiveInstantiationResult,function(reason){err("wasm streaming compile failed: "+reason);err("falling back to ArrayBuffer instantiation");return instantiateArrayBuffer(receiveInstantiationResult)})})}else{return instantiateArrayBuffer(receiveInstantiationResult)}}if(Module["instantiateWasm"]){try{var exports=Module["instantiateWasm"](info,receiveInstance);return exports}catch(e){err("Module.instantiateWasm callback failed with error: "+e);return false}}instantiateAsync().catch(readyPromiseReject);return{}}function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback(Module);continue}var func=callback.func;if(typeof func=="number"){if(callback.arg===undefined){getWasmTableEntry(func)()}else{getWasmTableEntry(func)(callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var wasmTableMirror=[];function getWasmTableEntry(funcPtr){var func=wasmTableMirror[funcPtr];if(!func){if(funcPtr>=wasmTableMirror.length)wasmTableMirror.length=funcPtr+1;wasmTableMirror[funcPtr]=func=wasmTable.get(funcPtr)}return func}function _emscripten_get_heap_max(){return 2147483648}function emscripten_realloc_buffer(size){try{wasmMemory.grow(size-buffer.byteLength+65535>>>16);updateGlobalBufferAndViews(wasmMemory.buffer);return 1}catch(e){}}function _emscripten_resize_heap(requestedSize){var oldSize=HEAPU8.length;requestedSize=requestedSize>>>0;var maxHeapSize=_emscripten_get_heap_max();if(requestedSize>maxHeapSize){return false}let alignUp=(x,multiple)=>x+(multiple-x%multiple)%multiple;for(var cutDown=1;cutDown<=4;cutDown*=2){var overGrownHeapSize=oldSize*(1+.2/cutDown);overGrownHeapSize=Math.min(overGrownHeapSize,requestedSize+100663296);var newSize=Math.min(maxHeapSize,alignUp(Math.max(requestedSize,overGrownHeapSize),65536));var replacement=emscripten_realloc_buffer(newSize);if(replacement){return true}}return false}var ASSERTIONS=false;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+") at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob=="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}var asmLibraryArg={"a":_emscripten_resize_heap};var asm=createWasm();var ___wasm_call_ctors=Module["___wasm_call_ctors"]=function(){return(___wasm_call_ctors=Module["___wasm_call_ctors"]=Module["asm"]["c"]).apply(null,arguments)};var _processVertices=Module["_processVertices"]=function(){return(_processVertices=Module["_processVertices"]=Module["asm"]["d"]).apply(null,arguments)};var _malloc=Module["_malloc"]=function(){return(_malloc=Module["_malloc"]=Module["asm"]["e"]).apply(null,arguments)};var _free=Module["_free"]=function(){return(_free=Module["_free"]=Module["asm"]["f"]).apply(null,arguments)};var stackSave=Module["stackSave"]=function(){return(stackSave=Module["stackSave"]=Module["asm"]["g"]).apply(null,arguments)};var stackRestore=Module["stackRestore"]=function(){return(stackRestore=Module["stackRestore"]=Module["asm"]["h"]).apply(null,arguments)};var stackAlloc=Module["stackAlloc"]=function(){return(stackAlloc=Module["stackAlloc"]=Module["asm"]["i"]).apply(null,arguments)};Module["ccall"]=ccall;var calledRun;dependenciesFulfilled=function runCaller(){if(!calledRun)run();if(!calledRun)dependenciesFulfilled=runCaller};function run(args){args=args||arguments_;if(runDependencies>0){return}preRun();if(runDependencies>0){return}function doRun(){if(calledRun)return;calledRun=true;Module["calledRun"]=true;if(ABORT)return;initRuntime();readyPromiseResolve(Module);if(Module["onRuntimeInitialized"])Module["onRuntimeInitialized"]();postRun()}if(Module["setStatus"]){Module["setStatus"]("Running...");setTimeout(function(){setTimeout(function(){Module["setStatus"]("")},1);doRun()},1)}else{doRun()}}Module["run"]=run;if(Module["preInit"]){if(typeof Module["preInit"]=="function")Module["preInit"]=[Module["preInit"]];while(Module["preInit"].length>0){Module["preInit"].pop()()}}run();
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
return Module.ready
|
|
110
|
+
}
|
|
111
|
+
);
|
|
112
|
+
})();
|
|
113
|
+
/* harmony default export */ __webpack_exports__["default"] = (Module);
|
|
114
|
+
|
|
115
|
+
/***/ }),
|
|
116
|
+
|
|
117
|
+
/***/ "./node_modules/is-observable/index.js":
|
|
118
|
+
/*!*********************************************!*\
|
|
119
|
+
!*** ./node_modules/is-observable/index.js ***!
|
|
120
|
+
\*********************************************/
|
|
121
|
+
/*! no static exports found */
|
|
122
|
+
/***/ (function(module, exports, __webpack_require__) {
|
|
123
|
+
|
|
124
|
+
"use strict";
|
|
125
|
+
|
|
126
|
+
const symbolObservable = __webpack_require__(/*! symbol-observable */ "./node_modules/symbol-observable/es/index.js").default;
|
|
127
|
+
|
|
128
|
+
module.exports = value => Boolean(value && value[symbolObservable] && value === value[symbolObservable]());
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
/***/ }),
|
|
132
|
+
|
|
133
|
+
/***/ "./node_modules/symbol-observable/es/index.js":
|
|
134
|
+
/*!****************************************************!*\
|
|
135
|
+
!*** ./node_modules/symbol-observable/es/index.js ***!
|
|
136
|
+
\****************************************************/
|
|
137
|
+
/*! exports provided: default */
|
|
138
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
139
|
+
|
|
140
|
+
"use strict";
|
|
141
|
+
__webpack_require__.r(__webpack_exports__);
|
|
142
|
+
/* WEBPACK VAR INJECTION */(function(global, module) {/* harmony import */ var _ponyfill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ponyfill.js */ "./node_modules/symbol-observable/es/ponyfill.js");
|
|
143
|
+
/* global window */
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
var root;
|
|
147
|
+
|
|
148
|
+
if (typeof self !== 'undefined') {
|
|
149
|
+
root = self;
|
|
150
|
+
} else if (typeof window !== 'undefined') {
|
|
151
|
+
root = window;
|
|
152
|
+
} else if (typeof global !== 'undefined') {
|
|
153
|
+
root = global;
|
|
154
|
+
} else if (true) {
|
|
155
|
+
root = module;
|
|
156
|
+
} else {}
|
|
157
|
+
|
|
158
|
+
var result = Object(_ponyfill_js__WEBPACK_IMPORTED_MODULE_0__["default"])(root);
|
|
159
|
+
/* harmony default export */ __webpack_exports__["default"] = (result);
|
|
160
|
+
|
|
161
|
+
/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ "./node_modules/webpack/buildin/global.js"), __webpack_require__(/*! ./../../webpack/buildin/harmony-module.js */ "./node_modules/webpack/buildin/harmony-module.js")(module)))
|
|
162
|
+
|
|
163
|
+
/***/ }),
|
|
164
|
+
|
|
165
|
+
/***/ "./node_modules/symbol-observable/es/ponyfill.js":
|
|
166
|
+
/*!*******************************************************!*\
|
|
167
|
+
!*** ./node_modules/symbol-observable/es/ponyfill.js ***!
|
|
168
|
+
\*******************************************************/
|
|
169
|
+
/*! exports provided: default */
|
|
170
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
171
|
+
|
|
172
|
+
"use strict";
|
|
173
|
+
__webpack_require__.r(__webpack_exports__);
|
|
174
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return symbolObservablePonyfill; });
|
|
175
|
+
function symbolObservablePonyfill(root) {
|
|
176
|
+
var result;
|
|
177
|
+
var Symbol = root.Symbol;
|
|
178
|
+
|
|
179
|
+
if (typeof Symbol === 'function') {
|
|
180
|
+
if (Symbol.observable) {
|
|
181
|
+
result = Symbol.observable;
|
|
182
|
+
} else {
|
|
183
|
+
result = Symbol('observable');
|
|
184
|
+
Symbol.observable = result;
|
|
185
|
+
}
|
|
186
|
+
} else {
|
|
187
|
+
result = '@@observable';
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
return result;
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
|
|
194
|
+
/***/ }),
|
|
195
|
+
|
|
196
|
+
/***/ "./node_modules/threads/dist-esm/common.js":
|
|
197
|
+
/*!*************************************************!*\
|
|
198
|
+
!*** ./node_modules/threads/dist-esm/common.js ***!
|
|
199
|
+
\*************************************************/
|
|
200
|
+
/*! exports provided: registerSerializer, deserialize, serialize */
|
|
201
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
202
|
+
|
|
203
|
+
"use strict";
|
|
204
|
+
__webpack_require__.r(__webpack_exports__);
|
|
205
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "registerSerializer", function() { return registerSerializer; });
|
|
206
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "deserialize", function() { return deserialize; });
|
|
207
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "serialize", function() { return serialize; });
|
|
208
|
+
/* harmony import */ var _serializers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./serializers */ "./node_modules/threads/dist-esm/serializers.js");
|
|
209
|
+
|
|
210
|
+
let registeredSerializer = _serializers__WEBPACK_IMPORTED_MODULE_0__["DefaultSerializer"];
|
|
211
|
+
function registerSerializer(serializer) {
|
|
212
|
+
registeredSerializer = Object(_serializers__WEBPACK_IMPORTED_MODULE_0__["extendSerializer"])(registeredSerializer, serializer);
|
|
213
|
+
}
|
|
214
|
+
function deserialize(message) {
|
|
215
|
+
return registeredSerializer.deserialize(message);
|
|
216
|
+
}
|
|
217
|
+
function serialize(input) {
|
|
218
|
+
return registeredSerializer.serialize(input);
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
/***/ }),
|
|
223
|
+
|
|
224
|
+
/***/ "./node_modules/threads/dist-esm/serializers.js":
|
|
225
|
+
/*!******************************************************!*\
|
|
226
|
+
!*** ./node_modules/threads/dist-esm/serializers.js ***!
|
|
227
|
+
\******************************************************/
|
|
228
|
+
/*! exports provided: extendSerializer, DefaultSerializer */
|
|
229
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
230
|
+
|
|
231
|
+
"use strict";
|
|
232
|
+
__webpack_require__.r(__webpack_exports__);
|
|
233
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "extendSerializer", function() { return extendSerializer; });
|
|
234
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DefaultSerializer", function() { return DefaultSerializer; });
|
|
235
|
+
function extendSerializer(extend, implementation) {
|
|
236
|
+
const fallbackDeserializer = extend.deserialize.bind(extend);
|
|
237
|
+
const fallbackSerializer = extend.serialize.bind(extend);
|
|
238
|
+
return {
|
|
239
|
+
deserialize(message) {
|
|
240
|
+
return implementation.deserialize(message, fallbackDeserializer);
|
|
241
|
+
},
|
|
242
|
+
serialize(input) {
|
|
243
|
+
return implementation.serialize(input, fallbackSerializer);
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
}
|
|
247
|
+
const DefaultErrorSerializer = {
|
|
248
|
+
deserialize(message) {
|
|
249
|
+
return Object.assign(Error(message.message), {
|
|
250
|
+
name: message.name,
|
|
251
|
+
stack: message.stack
|
|
252
|
+
});
|
|
253
|
+
},
|
|
254
|
+
serialize(error) {
|
|
255
|
+
return {
|
|
256
|
+
__error_marker: "$$error",
|
|
257
|
+
message: error.message,
|
|
258
|
+
name: error.name,
|
|
259
|
+
stack: error.stack
|
|
260
|
+
};
|
|
261
|
+
}
|
|
262
|
+
};
|
|
263
|
+
const isSerializedError = (thing) => thing && typeof thing === "object" && "__error_marker" in thing && thing.__error_marker === "$$error";
|
|
264
|
+
const DefaultSerializer = {
|
|
265
|
+
deserialize(message) {
|
|
266
|
+
if (isSerializedError(message)) {
|
|
267
|
+
return DefaultErrorSerializer.deserialize(message);
|
|
268
|
+
}
|
|
269
|
+
else {
|
|
270
|
+
return message;
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
serialize(input) {
|
|
274
|
+
if (input instanceof Error) {
|
|
275
|
+
return DefaultErrorSerializer.serialize(input);
|
|
276
|
+
}
|
|
277
|
+
else {
|
|
278
|
+
return input;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
};
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
/***/ }),
|
|
285
|
+
|
|
286
|
+
/***/ "./node_modules/threads/dist-esm/symbols.js":
|
|
287
|
+
/*!**************************************************!*\
|
|
288
|
+
!*** ./node_modules/threads/dist-esm/symbols.js ***!
|
|
289
|
+
\**************************************************/
|
|
290
|
+
/*! exports provided: $errors, $events, $terminate, $transferable, $worker */
|
|
291
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
292
|
+
|
|
293
|
+
"use strict";
|
|
294
|
+
__webpack_require__.r(__webpack_exports__);
|
|
295
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$errors", function() { return $errors; });
|
|
296
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$events", function() { return $events; });
|
|
297
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$terminate", function() { return $terminate; });
|
|
298
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$transferable", function() { return $transferable; });
|
|
299
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "$worker", function() { return $worker; });
|
|
300
|
+
const $errors = Symbol("thread.errors");
|
|
301
|
+
const $events = Symbol("thread.events");
|
|
302
|
+
const $terminate = Symbol("thread.terminate");
|
|
303
|
+
const $transferable = Symbol("thread.transferable");
|
|
304
|
+
const $worker = Symbol("thread.worker");
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
/***/ }),
|
|
308
|
+
|
|
309
|
+
/***/ "./node_modules/threads/dist-esm/transferable.js":
|
|
310
|
+
/*!*******************************************************!*\
|
|
311
|
+
!*** ./node_modules/threads/dist-esm/transferable.js ***!
|
|
312
|
+
\*******************************************************/
|
|
313
|
+
/*! exports provided: isTransferDescriptor, Transfer */
|
|
314
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
315
|
+
|
|
316
|
+
"use strict";
|
|
317
|
+
__webpack_require__.r(__webpack_exports__);
|
|
318
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isTransferDescriptor", function() { return isTransferDescriptor; });
|
|
319
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Transfer", function() { return Transfer; });
|
|
320
|
+
/* harmony import */ var _symbols__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./symbols */ "./node_modules/threads/dist-esm/symbols.js");
|
|
321
|
+
|
|
322
|
+
function isTransferable(thing) {
|
|
323
|
+
if (!thing || typeof thing !== "object")
|
|
324
|
+
return false;
|
|
325
|
+
// Don't check too thoroughly, since the list of transferable things in JS might grow over time
|
|
326
|
+
return true;
|
|
327
|
+
}
|
|
328
|
+
function isTransferDescriptor(thing) {
|
|
329
|
+
return thing && typeof thing === "object" && thing[_symbols__WEBPACK_IMPORTED_MODULE_0__["$transferable"]];
|
|
330
|
+
}
|
|
331
|
+
function Transfer(payload, transferables) {
|
|
332
|
+
if (!transferables) {
|
|
333
|
+
if (!isTransferable(payload))
|
|
334
|
+
throw Error();
|
|
335
|
+
transferables = [payload];
|
|
336
|
+
}
|
|
337
|
+
return {
|
|
338
|
+
[_symbols__WEBPACK_IMPORTED_MODULE_0__["$transferable"]]: true,
|
|
339
|
+
send: payload,
|
|
340
|
+
transferables
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
|
|
345
|
+
/***/ }),
|
|
346
|
+
|
|
347
|
+
/***/ "./node_modules/threads/dist-esm/types/messages.js":
|
|
348
|
+
/*!*********************************************************!*\
|
|
349
|
+
!*** ./node_modules/threads/dist-esm/types/messages.js ***!
|
|
350
|
+
\*********************************************************/
|
|
351
|
+
/*! exports provided: MasterMessageType, WorkerMessageType */
|
|
352
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
353
|
+
|
|
354
|
+
"use strict";
|
|
355
|
+
__webpack_require__.r(__webpack_exports__);
|
|
356
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "MasterMessageType", function() { return MasterMessageType; });
|
|
357
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "WorkerMessageType", function() { return WorkerMessageType; });
|
|
358
|
+
/////////////////////////////
|
|
359
|
+
// Messages sent by master:
|
|
360
|
+
var MasterMessageType;
|
|
361
|
+
(function (MasterMessageType) {
|
|
362
|
+
MasterMessageType["run"] = "run";
|
|
363
|
+
})(MasterMessageType || (MasterMessageType = {}));
|
|
364
|
+
////////////////////////////
|
|
365
|
+
// Messages sent by worker:
|
|
366
|
+
var WorkerMessageType;
|
|
367
|
+
(function (WorkerMessageType) {
|
|
368
|
+
WorkerMessageType["error"] = "error";
|
|
369
|
+
WorkerMessageType["init"] = "init";
|
|
370
|
+
WorkerMessageType["result"] = "result";
|
|
371
|
+
WorkerMessageType["running"] = "running";
|
|
372
|
+
WorkerMessageType["uncaughtError"] = "uncaughtError";
|
|
373
|
+
})(WorkerMessageType || (WorkerMessageType = {}));
|
|
374
|
+
|
|
375
|
+
|
|
376
|
+
/***/ }),
|
|
377
|
+
|
|
378
|
+
/***/ "./node_modules/threads/dist-esm/worker/implementation.browser.js":
|
|
379
|
+
/*!************************************************************************!*\
|
|
380
|
+
!*** ./node_modules/threads/dist-esm/worker/implementation.browser.js ***!
|
|
381
|
+
\************************************************************************/
|
|
382
|
+
/*! exports provided: default */
|
|
383
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
384
|
+
|
|
385
|
+
"use strict";
|
|
386
|
+
__webpack_require__.r(__webpack_exports__);
|
|
387
|
+
/// <reference lib="dom" />
|
|
388
|
+
// tslint:disable no-shadowed-variable
|
|
389
|
+
const isWorkerRuntime = function isWorkerRuntime() {
|
|
390
|
+
return typeof self !== "undefined" && self.postMessage ? true : false;
|
|
391
|
+
};
|
|
392
|
+
const postMessageToMaster = function postMessageToMaster(data, transferList) {
|
|
393
|
+
self.postMessage(data, transferList);
|
|
394
|
+
};
|
|
395
|
+
const subscribeToMasterMessages = function subscribeToMasterMessages(onMessage) {
|
|
396
|
+
const messageHandler = (messageEvent) => {
|
|
397
|
+
onMessage(messageEvent.data);
|
|
398
|
+
};
|
|
399
|
+
const unsubscribe = () => {
|
|
400
|
+
self.removeEventListener("message", messageHandler);
|
|
401
|
+
};
|
|
402
|
+
self.addEventListener("message", messageHandler);
|
|
403
|
+
return unsubscribe;
|
|
404
|
+
};
|
|
405
|
+
/* harmony default export */ __webpack_exports__["default"] = ({
|
|
406
|
+
isWorkerRuntime,
|
|
407
|
+
postMessageToMaster,
|
|
408
|
+
subscribeToMasterMessages
|
|
409
|
+
});
|
|
410
|
+
|
|
411
|
+
|
|
412
|
+
/***/ }),
|
|
413
|
+
|
|
414
|
+
/***/ "./node_modules/threads/dist-esm/worker/index.js":
|
|
415
|
+
/*!*******************************************************!*\
|
|
416
|
+
!*** ./node_modules/threads/dist-esm/worker/index.js ***!
|
|
417
|
+
\*******************************************************/
|
|
418
|
+
/*! exports provided: registerSerializer, Transfer, expose */
|
|
419
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
420
|
+
|
|
421
|
+
"use strict";
|
|
422
|
+
__webpack_require__.r(__webpack_exports__);
|
|
423
|
+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "expose", function() { return expose; });
|
|
424
|
+
/* harmony import */ var is_observable__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! is-observable */ "./node_modules/is-observable/index.js");
|
|
425
|
+
/* harmony import */ var is_observable__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(is_observable__WEBPACK_IMPORTED_MODULE_0__);
|
|
426
|
+
/* harmony import */ var _common__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../common */ "./node_modules/threads/dist-esm/common.js");
|
|
427
|
+
/* harmony import */ var _transferable__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../transferable */ "./node_modules/threads/dist-esm/transferable.js");
|
|
428
|
+
/* harmony import */ var _types_messages__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../types/messages */ "./node_modules/threads/dist-esm/types/messages.js");
|
|
429
|
+
/* harmony import */ var _implementation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./implementation */ "./node_modules/threads/dist-esm/worker/implementation.browser.js");
|
|
430
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "registerSerializer", function() { return _common__WEBPACK_IMPORTED_MODULE_1__["registerSerializer"]; });
|
|
431
|
+
|
|
432
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Transfer", function() { return _transferable__WEBPACK_IMPORTED_MODULE_2__["Transfer"]; });
|
|
433
|
+
|
|
434
|
+
var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
435
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
436
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
437
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
438
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
439
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
440
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
441
|
+
});
|
|
442
|
+
};
|
|
443
|
+
|
|
444
|
+
|
|
445
|
+
|
|
446
|
+
|
|
447
|
+
|
|
448
|
+
|
|
449
|
+
|
|
450
|
+
let exposeCalled = false;
|
|
451
|
+
const isMasterJobRunMessage = (thing) => thing && thing.type === _types_messages__WEBPACK_IMPORTED_MODULE_3__["MasterMessageType"].run;
|
|
452
|
+
/**
|
|
453
|
+
* There are issues with `is-observable` not recognizing zen-observable's instances.
|
|
454
|
+
* We are using `observable-fns`, but it's based on zen-observable, too.
|
|
455
|
+
*/
|
|
456
|
+
const isObservable = (thing) => is_observable__WEBPACK_IMPORTED_MODULE_0___default()(thing) || isZenObservable(thing);
|
|
457
|
+
function isZenObservable(thing) {
|
|
458
|
+
return thing && typeof thing === "object" && typeof thing.subscribe === "function";
|
|
459
|
+
}
|
|
460
|
+
function deconstructTransfer(thing) {
|
|
461
|
+
return Object(_transferable__WEBPACK_IMPORTED_MODULE_2__["isTransferDescriptor"])(thing)
|
|
462
|
+
? { payload: thing.send, transferables: thing.transferables }
|
|
463
|
+
: { payload: thing, transferables: undefined };
|
|
464
|
+
}
|
|
465
|
+
function postFunctionInitMessage() {
|
|
466
|
+
const initMessage = {
|
|
467
|
+
type: _types_messages__WEBPACK_IMPORTED_MODULE_3__["WorkerMessageType"].init,
|
|
468
|
+
exposed: {
|
|
469
|
+
type: "function"
|
|
470
|
+
}
|
|
471
|
+
};
|
|
472
|
+
_implementation__WEBPACK_IMPORTED_MODULE_4__["default"].postMessageToMaster(initMessage);
|
|
473
|
+
}
|
|
474
|
+
function postModuleInitMessage(methodNames) {
|
|
475
|
+
const initMessage = {
|
|
476
|
+
type: _types_messages__WEBPACK_IMPORTED_MODULE_3__["WorkerMessageType"].init,
|
|
477
|
+
exposed: {
|
|
478
|
+
type: "module",
|
|
479
|
+
methods: methodNames
|
|
480
|
+
}
|
|
481
|
+
};
|
|
482
|
+
_implementation__WEBPACK_IMPORTED_MODULE_4__["default"].postMessageToMaster(initMessage);
|
|
483
|
+
}
|
|
484
|
+
function postJobErrorMessage(uid, rawError) {
|
|
485
|
+
const { payload: error, transferables } = deconstructTransfer(rawError);
|
|
486
|
+
const errorMessage = {
|
|
487
|
+
type: _types_messages__WEBPACK_IMPORTED_MODULE_3__["WorkerMessageType"].error,
|
|
488
|
+
uid,
|
|
489
|
+
error: Object(_common__WEBPACK_IMPORTED_MODULE_1__["serialize"])(error)
|
|
490
|
+
};
|
|
491
|
+
_implementation__WEBPACK_IMPORTED_MODULE_4__["default"].postMessageToMaster(errorMessage, transferables);
|
|
492
|
+
}
|
|
493
|
+
function postJobResultMessage(uid, completed, resultValue) {
|
|
494
|
+
const { payload, transferables } = deconstructTransfer(resultValue);
|
|
495
|
+
const resultMessage = {
|
|
496
|
+
type: _types_messages__WEBPACK_IMPORTED_MODULE_3__["WorkerMessageType"].result,
|
|
497
|
+
uid,
|
|
498
|
+
complete: completed ? true : undefined,
|
|
499
|
+
payload
|
|
500
|
+
};
|
|
501
|
+
_implementation__WEBPACK_IMPORTED_MODULE_4__["default"].postMessageToMaster(resultMessage, transferables);
|
|
502
|
+
}
|
|
503
|
+
function postJobStartMessage(uid, resultType) {
|
|
504
|
+
const startMessage = {
|
|
505
|
+
type: _types_messages__WEBPACK_IMPORTED_MODULE_3__["WorkerMessageType"].running,
|
|
506
|
+
uid,
|
|
507
|
+
resultType
|
|
508
|
+
};
|
|
509
|
+
_implementation__WEBPACK_IMPORTED_MODULE_4__["default"].postMessageToMaster(startMessage);
|
|
510
|
+
}
|
|
511
|
+
function postUncaughtErrorMessage(error) {
|
|
512
|
+
const errorMessage = {
|
|
513
|
+
type: _types_messages__WEBPACK_IMPORTED_MODULE_3__["WorkerMessageType"].uncaughtError,
|
|
514
|
+
error: Object(_common__WEBPACK_IMPORTED_MODULE_1__["serialize"])(error)
|
|
515
|
+
};
|
|
516
|
+
_implementation__WEBPACK_IMPORTED_MODULE_4__["default"].postMessageToMaster(errorMessage);
|
|
517
|
+
}
|
|
518
|
+
function runFunction(jobUID, fn, args) {
|
|
519
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
520
|
+
let syncResult;
|
|
521
|
+
try {
|
|
522
|
+
syncResult = fn(...args);
|
|
523
|
+
}
|
|
524
|
+
catch (error) {
|
|
525
|
+
return postJobErrorMessage(jobUID, error);
|
|
526
|
+
}
|
|
527
|
+
const resultType = isObservable(syncResult) ? "observable" : "promise";
|
|
528
|
+
postJobStartMessage(jobUID, resultType);
|
|
529
|
+
if (isObservable(syncResult)) {
|
|
530
|
+
syncResult.subscribe(value => postJobResultMessage(jobUID, false, Object(_common__WEBPACK_IMPORTED_MODULE_1__["serialize"])(value)), error => postJobErrorMessage(jobUID, Object(_common__WEBPACK_IMPORTED_MODULE_1__["serialize"])(error)), () => postJobResultMessage(jobUID, true));
|
|
531
|
+
}
|
|
532
|
+
else {
|
|
533
|
+
try {
|
|
534
|
+
const result = yield syncResult;
|
|
535
|
+
postJobResultMessage(jobUID, true, Object(_common__WEBPACK_IMPORTED_MODULE_1__["serialize"])(result));
|
|
536
|
+
}
|
|
537
|
+
catch (error) {
|
|
538
|
+
postJobErrorMessage(jobUID, Object(_common__WEBPACK_IMPORTED_MODULE_1__["serialize"])(error));
|
|
539
|
+
}
|
|
540
|
+
}
|
|
541
|
+
});
|
|
542
|
+
}
|
|
543
|
+
/**
|
|
544
|
+
* Expose a function or a module (an object whose values are functions)
|
|
545
|
+
* to the main thread. Must be called exactly once in every worker thread
|
|
546
|
+
* to signal its API to the main thread.
|
|
547
|
+
*
|
|
548
|
+
* @param exposed Function or object whose values are functions
|
|
549
|
+
*/
|
|
550
|
+
function expose(exposed) {
|
|
551
|
+
if (!_implementation__WEBPACK_IMPORTED_MODULE_4__["default"].isWorkerRuntime()) {
|
|
552
|
+
throw Error("expose() called in the master thread.");
|
|
553
|
+
}
|
|
554
|
+
if (exposeCalled) {
|
|
555
|
+
throw Error("expose() called more than once. This is not possible. Pass an object to expose() if you want to expose multiple functions.");
|
|
556
|
+
}
|
|
557
|
+
exposeCalled = true;
|
|
558
|
+
if (typeof exposed === "function") {
|
|
559
|
+
_implementation__WEBPACK_IMPORTED_MODULE_4__["default"].subscribeToMasterMessages(messageData => {
|
|
560
|
+
if (isMasterJobRunMessage(messageData) && !messageData.method) {
|
|
561
|
+
runFunction(messageData.uid, exposed, messageData.args.map(_common__WEBPACK_IMPORTED_MODULE_1__["deserialize"]));
|
|
562
|
+
}
|
|
563
|
+
});
|
|
564
|
+
postFunctionInitMessage();
|
|
565
|
+
}
|
|
566
|
+
else if (typeof exposed === "object" && exposed) {
|
|
567
|
+
_implementation__WEBPACK_IMPORTED_MODULE_4__["default"].subscribeToMasterMessages(messageData => {
|
|
568
|
+
if (isMasterJobRunMessage(messageData) && messageData.method) {
|
|
569
|
+
runFunction(messageData.uid, exposed[messageData.method], messageData.args.map(_common__WEBPACK_IMPORTED_MODULE_1__["deserialize"]));
|
|
570
|
+
}
|
|
571
|
+
});
|
|
572
|
+
const methodNames = Object.keys(exposed).filter(key => typeof exposed[key] === "function");
|
|
573
|
+
postModuleInitMessage(methodNames);
|
|
574
|
+
}
|
|
575
|
+
else {
|
|
576
|
+
throw Error(`Invalid argument passed to expose(). Expected a function or an object, got: ${exposed}`);
|
|
577
|
+
}
|
|
578
|
+
}
|
|
579
|
+
if (typeof self !== "undefined" && typeof self.addEventListener === "function" && _implementation__WEBPACK_IMPORTED_MODULE_4__["default"].isWorkerRuntime()) {
|
|
580
|
+
self.addEventListener("error", event => {
|
|
581
|
+
// Post with some delay, so the master had some time to subscribe to messages
|
|
582
|
+
setTimeout(() => postUncaughtErrorMessage(event.error || event), 250);
|
|
583
|
+
});
|
|
584
|
+
self.addEventListener("unhandledrejection", event => {
|
|
585
|
+
const error = event.reason;
|
|
586
|
+
if (error && typeof error.message === "string") {
|
|
587
|
+
// Post with some delay, so the master had some time to subscribe to messages
|
|
588
|
+
setTimeout(() => postUncaughtErrorMessage(error), 250);
|
|
589
|
+
}
|
|
590
|
+
});
|
|
591
|
+
}
|
|
592
|
+
if (typeof process !== "undefined" && typeof process.on === "function" && _implementation__WEBPACK_IMPORTED_MODULE_4__["default"].isWorkerRuntime()) {
|
|
593
|
+
process.on("uncaughtException", (error) => {
|
|
594
|
+
// Post with some delay, so the master had some time to subscribe to messages
|
|
595
|
+
setTimeout(() => postUncaughtErrorMessage(error), 250);
|
|
596
|
+
});
|
|
597
|
+
process.on("unhandledRejection", (error) => {
|
|
598
|
+
if (error && typeof error.message === "string") {
|
|
599
|
+
// Post with some delay, so the master had some time to subscribe to messages
|
|
600
|
+
setTimeout(() => postUncaughtErrorMessage(error), 250);
|
|
601
|
+
}
|
|
602
|
+
});
|
|
603
|
+
}
|
|
604
|
+
|
|
605
|
+
|
|
606
|
+
/***/ }),
|
|
607
|
+
|
|
608
|
+
/***/ "./node_modules/threads/worker.mjs":
|
|
609
|
+
/*!*****************************************!*\
|
|
610
|
+
!*** ./node_modules/threads/worker.mjs ***!
|
|
611
|
+
\*****************************************/
|
|
612
|
+
/*! exports provided: registerSerializer, Transfer, expose */
|
|
613
|
+
/***/ (function(__webpack_module__, __webpack_exports__, __webpack_require__) {
|
|
614
|
+
|
|
615
|
+
"use strict";
|
|
616
|
+
__webpack_require__.r(__webpack_exports__);
|
|
617
|
+
/* harmony import */ var _dist_esm_worker_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./dist-esm/worker/index */ "./node_modules/threads/dist-esm/worker/index.js");
|
|
618
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "registerSerializer", function() { return _dist_esm_worker_index__WEBPACK_IMPORTED_MODULE_0__["registerSerializer"]; });
|
|
619
|
+
|
|
620
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "Transfer", function() { return _dist_esm_worker_index__WEBPACK_IMPORTED_MODULE_0__["Transfer"]; });
|
|
621
|
+
|
|
622
|
+
/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, "expose", function() { return _dist_esm_worker_index__WEBPACK_IMPORTED_MODULE_0__["expose"]; });
|
|
623
|
+
|
|
624
|
+
|
|
625
|
+
|
|
626
|
+
|
|
627
|
+
/***/ }),
|
|
628
|
+
|
|
629
|
+
/***/ "./node_modules/webpack/buildin/global.js":
|
|
630
|
+
/*!***********************************!*\
|
|
631
|
+
!*** (webpack)/buildin/global.js ***!
|
|
632
|
+
\***********************************/
|
|
633
|
+
/*! no static exports found */
|
|
634
|
+
/***/ (function(module, exports) {
|
|
635
|
+
|
|
636
|
+
var g;
|
|
637
|
+
|
|
638
|
+
// This works in non-strict mode
|
|
639
|
+
g = (function() {
|
|
640
|
+
return this;
|
|
641
|
+
})();
|
|
642
|
+
|
|
643
|
+
try {
|
|
644
|
+
// This works if eval is allowed (see CSP)
|
|
645
|
+
g = g || new Function("return this")();
|
|
646
|
+
} catch (e) {
|
|
647
|
+
// This works if the window reference is available
|
|
648
|
+
if (typeof window === "object") g = window;
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
// g can still be undefined, but nothing to do about it...
|
|
652
|
+
// We return undefined, instead of nothing here, so it's
|
|
653
|
+
// easier to handle this case. if(!global) { ...}
|
|
654
|
+
|
|
655
|
+
module.exports = g;
|
|
656
|
+
|
|
657
|
+
|
|
658
|
+
/***/ }),
|
|
659
|
+
|
|
660
|
+
/***/ "./node_modules/webpack/buildin/harmony-module.js":
|
|
661
|
+
/*!*******************************************!*\
|
|
662
|
+
!*** (webpack)/buildin/harmony-module.js ***!
|
|
663
|
+
\*******************************************/
|
|
664
|
+
/*! no static exports found */
|
|
665
|
+
/***/ (function(module, exports) {
|
|
666
|
+
|
|
667
|
+
module.exports = function(originalModule) {
|
|
668
|
+
if (!originalModule.webpackPolyfill) {
|
|
669
|
+
var module = Object.create(originalModule);
|
|
670
|
+
// module.parent = undefined by default
|
|
671
|
+
if (!module.children) module.children = [];
|
|
672
|
+
Object.defineProperty(module, "loaded", {
|
|
673
|
+
enumerable: true,
|
|
674
|
+
get: function() {
|
|
675
|
+
return module.l;
|
|
676
|
+
}
|
|
677
|
+
});
|
|
678
|
+
Object.defineProperty(module, "id", {
|
|
679
|
+
enumerable: true,
|
|
680
|
+
get: function() {
|
|
681
|
+
return module.i;
|
|
682
|
+
}
|
|
683
|
+
});
|
|
684
|
+
Object.defineProperty(module, "exports", {
|
|
685
|
+
enumerable: true
|
|
686
|
+
});
|
|
687
|
+
module.webpackPolyfill = 1;
|
|
688
|
+
}
|
|
689
|
+
return module;
|
|
690
|
+
};
|
|
691
|
+
|
|
692
|
+
|
|
693
|
+
/***/ }),
|
|
694
|
+
|
|
695
|
+
/***/ "./src/workers/partitionVerticesWorker.js":
|
|
696
|
+
/*!************************************************!*\
|
|
697
|
+
!*** ./src/workers/partitionVerticesWorker.js ***!
|
|
698
|
+
\************************************************/
|
|
699
|
+
/*! no exports provided */
|
|
700
|
+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
|
|
701
|
+
|
|
702
|
+
"use strict";
|
|
703
|
+
__webpack_require__.r(__webpack_exports__);
|
|
704
|
+
/* harmony import */ var threads_worker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! threads/worker */ "./node_modules/threads/worker.mjs");
|
|
705
|
+
/* harmony import */ var _bin_processPartitionVertices_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../bin/processPartitionVertices.js */ "./bin/processPartitionVertices.js");
|
|
706
|
+
|
|
707
|
+
|
|
708
|
+
|
|
709
|
+
let Module;
|
|
710
|
+
|
|
711
|
+
Object(threads_worker__WEBPACK_IMPORTED_MODULE_0__["expose"])({
|
|
712
|
+
|
|
713
|
+
// Initialize the web assembly module of the worker
|
|
714
|
+
initModule(){
|
|
715
|
+
// Web assembly modules need to be initialized asynchronously
|
|
716
|
+
if(Module){
|
|
717
|
+
return new Promise(async(resolve)=>{
|
|
718
|
+
resolve();
|
|
719
|
+
});
|
|
720
|
+
}
|
|
721
|
+
return new Promise(async(resolve)=> {
|
|
722
|
+
new _bin_processPartitionVertices_js__WEBPACK_IMPORTED_MODULE_1__["default"]().then(m=>{
|
|
723
|
+
Module = m;
|
|
724
|
+
//console.log("New wasm module instantiated")
|
|
725
|
+
resolve();
|
|
726
|
+
})
|
|
727
|
+
});
|
|
728
|
+
},
|
|
729
|
+
|
|
730
|
+
// Process the vertices of the geometry partition
|
|
731
|
+
processVertices(numObjects, matrixBuffer, numVerticesBuffer, vertexBuffer) {
|
|
732
|
+
|
|
733
|
+
// Create views on the raw buffers
|
|
734
|
+
let vertices = new Float32Array(vertexBuffer);
|
|
735
|
+
let matrices = new Float32Array(matrixBuffer);
|
|
736
|
+
let numVertices = new Uint32Array(numVerticesBuffer);
|
|
737
|
+
|
|
738
|
+
|
|
739
|
+
let numBufferVertices = vertices.length / 6;
|
|
740
|
+
|
|
741
|
+
let processedVertices = new Float32Array(numBufferVertices * 4);
|
|
742
|
+
|
|
743
|
+
let boundingBoxes = new Float32Array(numObjects * 24);
|
|
744
|
+
|
|
745
|
+
var matricesOffset, numVerticesOffset, verticesOffset, processedVerticesOffset,boundingBoxesOffset;
|
|
746
|
+
|
|
747
|
+
// Initialize the heap bytes passed to the web assembly module
|
|
748
|
+
var numBytes = 0;
|
|
749
|
+
|
|
750
|
+
matricesOffset = numBytes;
|
|
751
|
+
numBytes += matrices.length * matrices.BYTES_PER_ELEMENT;
|
|
752
|
+
|
|
753
|
+
numVerticesOffset = numBytes;
|
|
754
|
+
numBytes += numVertices.length * numVertices.BYTES_PER_ELEMENT;
|
|
755
|
+
|
|
756
|
+
verticesOffset = numBytes;
|
|
757
|
+
numBytes += vertices.length * vertices.BYTES_PER_ELEMENT;
|
|
758
|
+
|
|
759
|
+
processedVerticesOffset = numBytes;
|
|
760
|
+
numBytes += processedVertices.length * processedVertices.BYTES_PER_ELEMENT;
|
|
761
|
+
|
|
762
|
+
boundingBoxesOffset = numBytes;
|
|
763
|
+
numBytes += boundingBoxes.length * boundingBoxes.BYTES_PER_ELEMENT;
|
|
764
|
+
|
|
765
|
+
// Allocate the memory and create view on buffer
|
|
766
|
+
var ptr = Module._malloc(numBytes);
|
|
767
|
+
var heapBytes = new Uint8Array(Module.HEAPU8.buffer, ptr, numBytes);
|
|
768
|
+
|
|
769
|
+
// Copy the data from JS memory to native allocated memory buffer
|
|
770
|
+
heapBytes.set(new Uint8Array(matrices.buffer),matricesOffset);
|
|
771
|
+
heapBytes.set(new Uint8Array(numVertices.buffer),numVerticesOffset);
|
|
772
|
+
heapBytes.set(new Uint8Array(vertices.buffer),verticesOffset);
|
|
773
|
+
|
|
774
|
+
let heapOffset = heapBytes.byteOffset;
|
|
775
|
+
|
|
776
|
+
// Call the processVertices function in the web assembly module. Pass pointers as offsets to the heap memory
|
|
777
|
+
Module.ccall('processVertices', 'null',['number','number','number','number','number','number','number'], [
|
|
778
|
+
numObjects,
|
|
779
|
+
heapOffset + matricesOffset,
|
|
780
|
+
heapOffset + numVerticesOffset,
|
|
781
|
+
heapOffset + verticesOffset,
|
|
782
|
+
heapOffset + processedVerticesOffset,
|
|
783
|
+
heapOffset + boundingBoxesOffset,
|
|
784
|
+
]);
|
|
785
|
+
|
|
786
|
+
// Read back the processed vertices
|
|
787
|
+
let verticesView = new Float32Array(heapBytes.buffer,heapOffset + processedVerticesOffset,processedVertices.length);
|
|
788
|
+
for(let i=0;i<processedVertices.length;i++){
|
|
789
|
+
processedVertices[i] = verticesView[i];
|
|
790
|
+
}
|
|
791
|
+
|
|
792
|
+
// Read back the calculated bounding boxes
|
|
793
|
+
let boundingBoxesView = new Float32Array(heapBytes.buffer,heapOffset + boundingBoxesOffset,boundingBoxes.length);
|
|
794
|
+
for(let i=0;i<boundingBoxes.length;i++){
|
|
795
|
+
boundingBoxes[i] = boundingBoxesView[i];
|
|
796
|
+
}
|
|
797
|
+
|
|
798
|
+
// Free the modules native memory
|
|
799
|
+
Module._free(heapBytes.byteOffset);
|
|
800
|
+
|
|
801
|
+
vertices = null;
|
|
802
|
+
matrices = null;
|
|
803
|
+
numVertices = null;
|
|
804
|
+
|
|
805
|
+
// Return the processed vertices and boundingboxes via transferables from worker to main thread
|
|
806
|
+
return {
|
|
807
|
+
vertices : Object(threads_worker__WEBPACK_IMPORTED_MODULE_0__["Transfer"])(processedVertices.buffer),
|
|
808
|
+
boundingBoxes : Object(threads_worker__WEBPACK_IMPORTED_MODULE_0__["Transfer"])(boundingBoxes.buffer)
|
|
809
|
+
}
|
|
810
|
+
}
|
|
811
|
+
})
|
|
812
|
+
|
|
813
|
+
/***/ })
|
|
814
|
+
|
|
815
|
+
/******/ });
|
|
816
|
+
//# sourceMappingURL=partitionVerticesWorker.bimplus-renderer.worker.js.map
|