-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathdecoder.js
More file actions
9 lines (9 loc) · 107 KB
/
decoder.js
File metadata and controls
9 lines (9 loc) · 107 KB
1
2
3
4
5
6
7
8
9
/*
*
* decoder.js v2.1.1
* Copyright (c) 2026-3-3 Ezviz-OpenBiz
*
* https://github.com/Ezviz-OpenBiz/EZUIKit-flv
*
*/
!function(e){"function"==typeof define&&define.amd?define(e):e()}((function(){"use strict";function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function r(e,r,t){return r=o(r),function(e,r){if(r&&("object"==typeof r||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}(e,i()?Reflect.construct(r,t||[],o(e).constructor):r.apply(e,t))}function t(e,r){if(!(e instanceof r))throw new TypeError("Cannot call a class as a function")}function n(e,r,t){return r&&function(e,r){for(var t=0;t<r.length;t++){var n=r[t];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,l(n.key),n)}}(e.prototype,r),Object.defineProperty(e,"prototype",{writable:!1}),e}function o(e){return o=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},o(e)}function a(e,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(r&&r.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),r&&s(e,r)}function i(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(e){}return(i=function(){return!!e})()}function s(e,r){return s=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,r){return e.__proto__=r,e},s(e,r)}function l(e){var r=function(e,r){if("object"!=typeof e||!e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var n=t.call(e,r);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==typeof r?r:r+""}function d(e){var r="function"==typeof Map?new Map:void 0;return d=function(e){if(null===e||!function(e){try{return-1!==Function.toString.call(e).indexOf("[native code]")}catch(r){return"function"==typeof e}}(e))return e;if("function"!=typeof e)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(e))return r.get(e);r.set(e,t)}function t(){return function(e,r,t){if(i())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,r);var o=new(e.bind.apply(e,n));return t&&s(o,t.prototype),o}(e,arguments,o(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),s(t,e)},d(e)}var u,c;var f,p,m=function(){if(c)return u;c=1;var e=!0;if((s=void 0!==s?s:{}).ENVIRONMENT)throw new Error("Module.ENVIRONMENT has been deprecated. To force the environment, use the ENVIRONMENT compile-time option (for example, -sENVIRONMENT=web or -sENVIRONMENT=node)");var o,i,s={print:function(e){},printErr:function(e){postMessage({cmd:"wasmError",message:e})}},l=Object.assign({},s),f="./this.program",p="";if("undefined"!=typeof document&&document.currentScript&&(p=document.currentScript.src),p=p.startsWith("blob:")?"":p.substr(0,p.replace(/[?#].*/,"").lastIndexOf("/")+1),"object"!=typeof window&&"function"!=typeof importScripts)throw new Error("not compiled for this environment (did you build to HTML and try to run it not on the web, or set ENVIRONMENT to something - like node - and run it someplace else - like on the web?)");o=e=>{var r=new XMLHttpRequest;return r.open("GET",e,!1),r.send(null),r.responseText},i=(e,r,t)=>{var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onload=()=>{200==n.status||0==n.status&&n.response?r(n.response):t()},n.onerror=t,n.send(null)};var m,h,g,y=s.print||console.log.bind(console),v=s.printErr||console.error.bind(console);Object.assign(s,l),l=null,m="fetchSettings",Object.getOwnPropertyDescriptor(s,m)&&W(`\`Module.${m}\` was supplied but \`${m}\` not included in INCOMING_MODULE_JS_API`),s.arguments&&s.arguments,Z("arguments","arguments_"),s.thisProgram&&(f=s.thisProgram),Z("thisProgram","thisProgram"),s.quit&&s.quit,Z("quit","quit_"),A(void 0===s.memoryInitializerPrefixURL,"Module.memoryInitializerPrefixURL option was removed, use Module.locateFile instead"),A(void 0===s.pthreadMainPrefixURL,"Module.pthreadMainPrefixURL option was removed, use Module.locateFile instead"),A(void 0===s.cdInitializerPrefixURL,"Module.cdInitializerPrefixURL option was removed, use Module.locateFile instead"),A(void 0===s.filePackagePrefixURL,"Module.filePackagePrefixURL option was removed, use Module.locateFile instead"),A(void 0===s.read,"Module.read option was removed (modify read_ in JS)"),A(void 0===s.readAsync,"Module.readAsync option was removed (modify readAsync in JS)"),A(void 0===s.readBinary,"Module.readBinary option was removed (modify readBinary in JS)"),A(void 0===s.setWindowTitle,"Module.setWindowTitle option was removed (modify emscripten_set_window_title in JS)"),A(void 0===s.TOTAL_MEMORY,"Module.TOTAL_MEMORY has been renamed Module.INITIAL_MEMORY"),Z("asm","wasmExports"),Z("read","read_"),Z("readAsync","readAsync"),Z("readBinary","readBinary"),Z("setWindowTitle","setWindowTitle"),A(!0,"worker environment detected but not enabled at build time. Add `worker` to `-sENVIRONMENT` to enable."),A(!0,"node environment detected but not enabled at build time. Add `node` to `-sENVIRONMENT` to enable."),A(!0,"shell environment detected but not enabled at build time. Add `shell` to `-sENVIRONMENT` to enable."),s.wasmBinary&&(h=s.wasmBinary),Z("wasmBinary","wasmBinary"),"object"!=typeof WebAssembly&&v("no native wasm support detected");var E,w,b,T,C,_,S,P,k=!1;function A(e,r){e||W("Assertion failed"+(r?": "+r:""))}function D(){var e=g.buffer;s.HEAP8=E=new Int8Array(e),s.HEAP16=b=new Int16Array(e),s.HEAPU8=w=new Uint8Array(e),s.HEAPU16=T=new Uint16Array(e),s.HEAP32=C=new Int32Array(e),s.HEAPU32=_=new Uint32Array(e),s.HEAPF32=S=new Float32Array(e),s.HEAPF64=P=new Float64Array(e)}function O(){if(!k){var e=ht();0==e&&(e+=4);var r=_[e>>2],t=_[e+4>>2];34821223==r&&2310721022==t||W(`Stack overflow! Stack cookie has been overwritten at ${ne(e)}, expected hex dwords 0x89BACDFE and 0x2135467, but received ${ne(t)} ${ne(r)}`),1668509029!=_[0]&&W("Runtime error: The application has corrupted its heap memory area (address zero)!")}}A(!s.STACK_SIZE,"STACK_SIZE can no longer be set at runtime. Use -sSTACK_SIZE at link time"),A("undefined"!=typeof Int32Array&&"undefined"!=typeof Float64Array&&null!=Int32Array.prototype.subarray&&null!=Int32Array.prototype.set,"JS engine does not provide full typed array support"),A(!s.wasmMemory,"Use of `wasmMemory` detected. Use -sIMPORTED_MEMORY to define wasmMemory externally"),A(!s.INITIAL_MEMORY,"Detected runtime INITIAL_MEMORY setting. Use -sIMPORTED_MEMORY to define wasmMemory dynamically"),function(){var e=new Int16Array(1),r=new Int8Array(e.buffer);if(e[0]=25459,115!==r[0]||99!==r[1])throw"Runtime error: expected the system to be little-endian! (Run with -sSUPPORT_BIG_ENDIAN to bypass)"}();var F=[],M=[],$=[],R=!1;A(Math.imul,"This browser does not support Math.imul(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),A(Math.fround,"This browser does not support Math.fround(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),A(Math.clz32,"This browser does not support Math.clz32(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill"),A(Math.trunc,"This browser does not support Math.trunc(), build with LEGACY_VM_SUPPORT or POLYFILL_OLD_MATH_FUNCTIONS to add in a polyfill");var I=0,N=null,L=null,U={};function x(e){for(var r=e;;){if(!U[e])return e;e=r+Math.random()}}function j(e){var r,t;I++,null===(r=(t=s).monitorRunDependencies)||void 0===r||r.call(t,I),e?(A(!U[e]),U[e]=1,null===N&&"undefined"!=typeof setInterval&&(N=setInterval((()=>{if(k)return clearInterval(N),void(N=null);var e=!1;for(var r in U)e||(e=!0,v("still waiting on run dependencies:")),v(`dependency: ${r}`);e&&v("(end of list)")}),1e4))):v("warning: run dependency added without ID")}function B(e){var r,t;if(I--,null===(r=(t=s).monitorRunDependencies)||void 0===r||r.call(t,I),e?(A(U[e]),delete U[e]):v("warning: run dependency removed without ID"),0==I&&(null!==N&&(clearInterval(N),N=null),L)){var n=L;L=null,n()}}function W(e){var r,t;throw null===(r=(t=s).onAbort)||void 0===r||r.call(t,e),v(e="Aborted("+e+")"),k=!0,new WebAssembly.RuntimeError(e)}var z,V,H,G=e=>e.startsWith("data:application/octet-stream;base64,"),Y=e=>e.startsWith("file://");function X(e,r){return function(){A(R,`native function \`${e}\` called before runtime initialization`);var t=lt[e];return A(t,`exported native function \`${e}\` not found`),A(arguments.length<=r,`native function \`${e}\` called with ${arguments.length} args but expects ${r}`),t(...arguments)}}function q(){var e,r="decoder.wasm";return G(r)?r:(e=r,s.locateFile?s.locateFile(e,p):p+e)}function K(e){if(e==z&&h)return new Uint8Array(h);throw"both async and sync fetching of the wasm failed"}function J(r,t,n){return function(r){return!h&&e&&"function"==typeof fetch?fetch(r,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw`failed to load wasm binary file at '${r}'`;return e.arrayBuffer()})).catch((()=>K(r))):Promise.resolve().then((()=>K(r)))}(r).then((e=>WebAssembly.instantiate(e,t))).then(n,(e=>{v(`failed to asynchronously prepare wasm: ${e}`),Y(z)&&v(`warning: Loading from a file URI (${z}) is not supported in most browsers. See https://emscripten.org/docs/getting_started/FAQ.html#how-do-i-run-a-local-webserver-for-testing-why-does-my-program-stall-in-downloading-or-preparing`),W(e)}))}function Z(e,r){let t=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];Object.getOwnPropertyDescriptor(s,e)||Object.defineProperty(s,e,{configurable:!0,get(){W(`\`Module.${e}\` has been replaced by \`${r}\``+(t?" (the initial value can be provided on Module, but after startup the value is only looked for on a local variable of that name)":""))}})}function Q(e){return"FS_createPath"===e||"FS_createDataFile"===e||"FS_createPreloadedFile"===e||"FS_unlink"===e||"addRunDependency"===e||"FS_createLazyFile"===e||"FS_createDevice"===e||"removeRunDependency"===e}function ee(e,r){"undefined"!=typeof globalThis&&Object.defineProperty(globalThis,e,{configurable:!0,get(){oe(`\`${e}\` is not longer defined by emscripten. ${r}`)}})}function re(e){Object.getOwnPropertyDescriptor(s,e)||Object.defineProperty(s,e,{configurable:!0,get(){var r=`'${e}' was not exported. add it to EXPORTED_RUNTIME_METHODS (see the Emscripten FAQ)`;Q(e)&&(r+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),W(r)}})}ee("buffer","Please use HEAP8.buffer or wasmMemory.buffer"),ee("asm","Please use wasmExports instead");var te=e=>{for(;e.length>0;)e.shift()(s)};s.noExitRuntime;var ne=e=>(A("number"==typeof e),"0x"+(e>>>=0).toString(16).padStart(8,"0")),oe=e=>{oe.shown||={},oe.shown[e]||(oe.shown[e]=1,v(e))},ae="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,ie=(e,r,t)=>{for(var n=r+t,o=r;e[o]&&!(o>=n);)++o;if(o-r>16&&e.buffer&&ae)return ae.decode(e.subarray(r,o));for(var a="";r<o;){var i=e[r++];if(128&i){var s=63&e[r++];if(192!=(224&i)){var l=63&e[r++];if(224==(240&i)?i=(15&i)<<12|s<<6|l:(240!=(248&i)&&oe("Invalid UTF-8 leading byte "+ne(i)+" encountered when deserializing a UTF-8 string in wasm memory to a JS string!"),i=(7&i)<<18|s<<12|l<<6|63&e[r++]),i<65536)a+=String.fromCharCode(i);else{var d=i-65536;a+=String.fromCharCode(55296|d>>10,56320|1023&d)}}else a+=String.fromCharCode((31&i)<<6|s)}else a+=String.fromCharCode(i)}return a},se=(e,r)=>(A("number"==typeof e,`UTF8ToString expects a number (got ${typeof e})`),e?ie(w,e,r):"");function le(){A(null!=Ae.varargs);var e=C[+Ae.varargs>>2];return Ae.varargs+=4,e}var de=le,ue={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,r)=>{for(var t=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),t++):t&&(e.splice(n,1),t--)}if(r)for(;t;t--)e.unshift("..");return e},normalize:e=>{var r=ue.isAbs(e),t="/"===e.substr(-1);return(e=ue.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||r||(e="."),e&&t&&(e+="/"),(r?"/":"")+e},dirname:e=>{var r=ue.splitPath(e),t=r[0],n=r[1];return t||n?(n&&(n=n.substr(0,n.length-1)),t+n):"."},basename:e=>{if("/"===e)return"/";var r=(e=(e=ue.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===r?e:e.substr(r+1)},join:function(){for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];return ue.normalize(r.join("/"))},join2:(e,r)=>ue.normalize(e+"/"+r)},ce=e=>(ce=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);W("no cryptographic support found for randomDevice. consider polyfilling it if you want to use something insecure like Math.random(), e.g. put this in a --pre-js: var crypto = { getRandomValues: (array) => { for (var i = 0; i < array.length; i++) array[i] = (Math.random()*256)|0 } };")})())(e),fe={resolve:function(){for(var e="",r=!1,t=arguments.length-1;t>=-1&&!r;t--){var n=t>=0?t<0||arguments.length<=t?void 0:arguments[t]:ke.cwd();if("string"!=typeof n)throw new TypeError("Arguments to path.resolve must be strings");if(!n)return"";e=n+"/"+e,r=ue.isAbs(n)}return(r?"/":"")+(e=ue.normalizeArray(e.split("/").filter((e=>!!e)),!r).join("/"))||"."},relative:(e,r)=>{function t(e){for(var r=0;r<e.length&&""===e[r];r++);for(var t=e.length-1;t>=0&&""===e[t];t--);return r>t?[]:e.slice(r,t-r+1)}e=fe.resolve(e).substr(1),r=fe.resolve(r).substr(1);for(var n=t(e.split("/")),o=t(r.split("/")),a=Math.min(n.length,o.length),i=a,s=0;s<a;s++)if(n[s]!==o[s]){i=s;break}var l=[];for(s=i;s<n.length;s++)l.push("..");return(l=l.concat(o.slice(i))).join("/")}},pe=[],me=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n<=127?r++:n<=2047?r+=2:n>=55296&&n<=57343?(r+=4,++t):r+=3}return r},he=(e,r,t,n)=>{if(A("string"==typeof e,`stringToUTF8Array expects a string (got ${typeof e})`),!(n>0))return 0;for(var o=t,a=t+n-1,i=0;i<e.length;++i){var s=e.charCodeAt(i);if(s>=55296&&s<=57343)s=65536+((1023&s)<<10)|1023&e.charCodeAt(++i);if(s<=127){if(t>=a)break;r[t++]=s}else if(s<=2047){if(t+1>=a)break;r[t++]=192|s>>6,r[t++]=128|63&s}else if(s<=65535){if(t+2>=a)break;r[t++]=224|s>>12,r[t++]=128|s>>6&63,r[t++]=128|63&s}else{if(t+3>=a)break;s>1114111&&oe("Invalid Unicode code point "+ne(s)+" encountered when serializing a JS string to a UTF-8 string in wasm memory! (Valid unicode code points should be in range 0-0x10FFFF)."),r[t++]=240|s>>18,r[t++]=128|s>>12&63,r[t++]=128|s>>6&63,r[t++]=128|63&s}}return r[t]=0,t-o};function ge(e,r,t){var n=me(e)+1,o=new Array(n),a=he(e,o,0,o.length);return o.length=a,o}var ye,ve,Ee,we={ttys:[],init(){},shutdown(){},register(e,r){we.ttys[e]={input:[],output:[],ops:r},ke.registerDevice(e,we.stream_ops)},stream_ops:{open(e){var r=we.ttys[e.node.rdev];if(!r)throw new ke.ErrnoError(43);e.tty=r,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,r,t,n,o){if(!e.tty||!e.tty.ops.get_char)throw new ke.ErrnoError(60);for(var a=0,i=0;i<n;i++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new ke.ErrnoError(29)}if(void 0===s&&0===a)throw new ke.ErrnoError(6);if(null==s)break;a++,r[t+i]=s}return a&&(e.node.timestamp=Date.now()),a},write(e,r,t,n,o){if(!e.tty||!e.tty.ops.put_char)throw new ke.ErrnoError(60);try{for(var a=0;a<n;a++)e.tty.ops.put_char(e.tty,r[t+a])}catch(e){throw new ke.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}},default_tty_ops:{get_char:e=>(()=>{if(!pe.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;pe=ge(e)}return pe.shift()})(),put_char(e,r){null===r||10===r?(y(ie(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(y(ie(e.output,0)),e.output=[])},ioctl_tcgets:e=>({c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}),ioctl_tcsets:(e,r,t)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,r){null===r||10===r?(v(ie(e.output,0)),e.output=[]):0!=r&&e.output.push(r)},fsync(e){e.output&&e.output.length>0&&(v(ie(e.output,0)),e.output=[])}}},be=e=>{W("internal error: mmapAlloc called but `emscripten_builtin_memalign` native symbol not exported")},Te={ops_table:null,mount:e=>Te.createNode(null,"/",16895,0),createNode(e,r,t,n){if(ke.isBlkdev(t)||ke.isFIFO(t))throw new ke.ErrnoError(63);Te.ops_table||={dir:{node:{getattr:Te.node_ops.getattr,setattr:Te.node_ops.setattr,lookup:Te.node_ops.lookup,mknod:Te.node_ops.mknod,rename:Te.node_ops.rename,unlink:Te.node_ops.unlink,rmdir:Te.node_ops.rmdir,readdir:Te.node_ops.readdir,symlink:Te.node_ops.symlink},stream:{llseek:Te.stream_ops.llseek}},file:{node:{getattr:Te.node_ops.getattr,setattr:Te.node_ops.setattr},stream:{llseek:Te.stream_ops.llseek,read:Te.stream_ops.read,write:Te.stream_ops.write,allocate:Te.stream_ops.allocate,mmap:Te.stream_ops.mmap,msync:Te.stream_ops.msync}},link:{node:{getattr:Te.node_ops.getattr,setattr:Te.node_ops.setattr,readlink:Te.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Te.node_ops.getattr,setattr:Te.node_ops.setattr},stream:ke.chrdev_stream_ops}};var o=ke.createNode(e,r,t,n);return ke.isDir(o.mode)?(o.node_ops=Te.ops_table.dir.node,o.stream_ops=Te.ops_table.dir.stream,o.contents={}):ke.isFile(o.mode)?(o.node_ops=Te.ops_table.file.node,o.stream_ops=Te.ops_table.file.stream,o.usedBytes=0,o.contents=null):ke.isLink(o.mode)?(o.node_ops=Te.ops_table.link.node,o.stream_ops=Te.ops_table.link.stream):ke.isChrdev(o.mode)&&(o.node_ops=Te.ops_table.chrdev.node,o.stream_ops=Te.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[r]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,r){var t=e.contents?e.contents.length:0;if(!(t>=r)){r=Math.max(r,t*(t<1048576?2:1.125)>>>0),0!=t&&(r=Math.max(r,256));var n=e.contents;e.contents=new Uint8Array(r),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,r){if(e.usedBytes!=r)if(0==r)e.contents=null,e.usedBytes=0;else{var t=e.contents;e.contents=new Uint8Array(r),t&&e.contents.set(t.subarray(0,Math.min(r,e.usedBytes))),e.usedBytes=r}},node_ops:{getattr(e){var r={};return r.dev=ke.isChrdev(e.mode)?e.id:1,r.ino=e.id,r.mode=e.mode,r.nlink=1,r.uid=0,r.gid=0,r.rdev=e.rdev,ke.isDir(e.mode)?r.size=4096:ke.isFile(e.mode)?r.size=e.usedBytes:ke.isLink(e.mode)?r.size=e.link.length:r.size=0,r.atime=new Date(e.timestamp),r.mtime=new Date(e.timestamp),r.ctime=new Date(e.timestamp),r.blksize=4096,r.blocks=Math.ceil(r.size/r.blksize),r},setattr(e,r){void 0!==r.mode&&(e.mode=r.mode),void 0!==r.timestamp&&(e.timestamp=r.timestamp),void 0!==r.size&&Te.resizeFileStorage(e,r.size)},lookup(e,r){throw ke.genericErrors[44]},mknod:(e,r,t,n)=>Te.createNode(e,r,t,n),rename(e,r,t){if(ke.isDir(e.mode)){var n;try{n=ke.lookupNode(r,t)}catch(e){}if(n)for(var o in n.contents)throw new ke.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=t,r.contents[t]=e,r.timestamp=e.parent.timestamp,e.parent=r},unlink(e,r){delete e.contents[r],e.timestamp=Date.now()},rmdir(e,r){var t=ke.lookupNode(e,r);for(var n in t.contents)throw new ke.ErrnoError(55);delete e.contents[r],e.timestamp=Date.now()},readdir(e){var r=[".",".."];for(var t of Object.keys(e.contents))r.push(t);return r},symlink(e,r,t){var n=Te.createNode(e,r,41471,0);return n.link=t,n},readlink(e){if(!ke.isLink(e.mode))throw new ke.ErrnoError(28);return e.link}},stream_ops:{read(e,r,t,n,o){var a=e.node.contents;if(o>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-o,n);if(A(i>=0),i>8&&a.subarray)r.set(a.subarray(o,o+i),t);else for(var s=0;s<i;s++)r[t+s]=a[o+s];return i},write(e,r,t,n,o,a){if(A(!(r instanceof ArrayBuffer)),r.buffer===E.buffer&&(a=!1),!n)return 0;var i=e.node;if(i.timestamp=Date.now(),r.subarray&&(!i.contents||i.contents.subarray)){if(a)return A(0===o,"canOwn must imply no weird position inside the file"),i.contents=r.subarray(t,t+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===o)return i.contents=r.slice(t,t+n),i.usedBytes=n,n;if(o+n<=i.usedBytes)return i.contents.set(r.subarray(t,t+n),o),n}if(Te.expandFileStorage(i,o+n),i.contents.subarray&&r.subarray)i.contents.set(r.subarray(t,t+n),o);else for(var s=0;s<n;s++)i.contents[o+s]=r[t+s];return i.usedBytes=Math.max(i.usedBytes,o+n),n},llseek(e,r,t){var n=r;if(1===t?n+=e.position:2===t&&ke.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new ke.ErrnoError(28);return n},allocate(e,r,t){Te.expandFileStorage(e.node,r+t),e.node.usedBytes=Math.max(e.node.usedBytes,r+t)},mmap(e,r,t,n,o){if(!ke.isFile(e.node.mode))throw new ke.ErrnoError(43);var a,i,s=e.node.contents;if(2&o||s.buffer!==E.buffer){if((t>0||t+r<s.length)&&(s=s.subarray?s.subarray(t,t+r):Array.prototype.slice.call(s,t,t+r)),i=!0,!(a=be()))throw new ke.ErrnoError(48);E.set(s,a)}else i=!1,a=s.byteOffset;return{ptr:a,allocated:i}},msync:(e,r,t,n,o)=>(Te.stream_ops.write(e,r,0,n,t,!1),0)}},Ce=s.preloadPlugins||[],_e=(e,r)=>{var t=0;return e&&(t|=365),r&&(t|=146),t},Se={0:"Success",1:"Arg list too long",2:"Permission denied",3:"Address already in use",4:"Address not available",5:"Address family not supported by protocol family",6:"No more processes",7:"Socket already connected",8:"Bad file number",9:"Trying to read unreadable message",10:"Mount device busy",11:"Operation canceled",12:"No children",13:"Connection aborted",14:"Connection refused",15:"Connection reset by peer",16:"File locking deadlock error",17:"Destination address required",18:"Math arg out of domain of func",19:"Quota exceeded",20:"File exists",21:"Bad address",22:"File too large",23:"Host is unreachable",24:"Identifier removed",25:"Illegal byte sequence",26:"Connection already in progress",27:"Interrupted system call",28:"Invalid argument",29:"I/O error",30:"Socket is already connected",31:"Is a directory",32:"Too many symbolic links",33:"Too many open files",34:"Too many links",35:"Message too long",36:"Multihop attempted",37:"File or path name too long",38:"Network interface is not configured",39:"Connection reset by network",40:"Network is unreachable",41:"Too many open files in system",42:"No buffer space available",43:"No such device",44:"No such file or directory",45:"Exec format error",46:"No record locks available",47:"The link has been severed",48:"Not enough core",49:"No message of desired type",50:"Protocol not available",51:"No space left on device",52:"Function not implemented",53:"Socket is not connected",54:"Not a directory",55:"Directory not empty",56:"State not recoverable",57:"Socket operation on non-socket",59:"Not a typewriter",60:"No such device or address",61:"Value too large for defined data type",62:"Previous owner died",63:"Not super-user",64:"Broken pipe",65:"Protocol error",66:"Unknown protocol",67:"Protocol wrong type for socket",68:"Math result not representable",69:"Read only file system",70:"Illegal seek",71:"No such process",72:"Stale file handle",73:"Connection timed out",74:"Text file busy",75:"Cross-device link",100:"Device not a stream",101:"Bad font file fmt",102:"Invalid slot",103:"Invalid request code",104:"No anode",105:"Block device required",106:"Channel number out of range",107:"Level 3 halted",108:"Level 3 reset",109:"Link number out of range",110:"Protocol driver not attached",111:"No CSI structure available",112:"Level 2 halted",113:"Invalid exchange",114:"Invalid request descriptor",115:"Exchange full",116:"No data (for no delay io)",117:"Timer expired",118:"Out of streams resources",119:"Machine is not on the network",120:"Package not installed",121:"The object is remote",122:"Advertise error",123:"Srmount error",124:"Communication error on send",125:"Cross mount point (not really error)",126:"Given log. name not unique",127:"f.d. invalid for this operation",128:"Remote address changed",129:"Can access a needed shared lib",130:"Accessing a corrupted shared lib",131:".lib section in a.out corrupted",132:"Attempting to link in too many libs",133:"Attempting to exec a shared library",135:"Streams pipe error",136:"Too many users",137:"Socket type not supported",138:"Not supported",139:"Protocol family not supported",140:"Can't send after socket shutdown",141:"Too many references",142:"Host is down",148:"No medium (in tape drive)",156:"Level 2 not synchronized"},Pe={EPERM:63,ENOENT:44,ESRCH:71,EINTR:27,EIO:29,ENXIO:60,E2BIG:1,ENOEXEC:45,EBADF:8,ECHILD:12,EAGAIN:6,EWOULDBLOCK:6,ENOMEM:48,EACCES:2,EFAULT:21,ENOTBLK:105,EBUSY:10,EEXIST:20,EXDEV:75,ENODEV:43,ENOTDIR:54,EISDIR:31,EINVAL:28,ENFILE:41,EMFILE:33,ENOTTY:59,ETXTBSY:74,EFBIG:22,ENOSPC:51,ESPIPE:70,EROFS:69,EMLINK:34,EPIPE:64,EDOM:18,ERANGE:68,ENOMSG:49,EIDRM:24,ECHRNG:106,EL2NSYNC:156,EL3HLT:107,EL3RST:108,ELNRNG:109,EUNATCH:110,ENOCSI:111,EL2HLT:112,EDEADLK:16,ENOLCK:46,EBADE:113,EBADR:114,EXFULL:115,ENOANO:104,EBADRQC:103,EBADSLT:102,EDEADLOCK:16,EBFONT:101,ENOSTR:100,ENODATA:116,ETIME:117,ENOSR:118,ENONET:119,ENOPKG:120,EREMOTE:121,ENOLINK:47,EADV:122,ESRMNT:123,ECOMM:124,EPROTO:65,EMULTIHOP:36,EDOTDOT:125,EBADMSG:9,ENOTUNIQ:126,EBADFD:127,EREMCHG:128,ELIBACC:129,ELIBBAD:130,ELIBSCN:131,ELIBMAX:132,ELIBEXEC:133,ENOSYS:52,ENOTEMPTY:55,ENAMETOOLONG:37,ELOOP:32,EOPNOTSUPP:138,EPFNOSUPPORT:139,ECONNRESET:15,ENOBUFS:42,EAFNOSUPPORT:5,EPROTOTYPE:67,ENOTSOCK:57,ENOPROTOOPT:50,ESHUTDOWN:140,ECONNREFUSED:14,EADDRINUSE:3,ECONNABORTED:13,ENETUNREACH:40,ENETDOWN:38,ETIMEDOUT:73,EHOSTDOWN:142,EHOSTUNREACH:23,EINPROGRESS:26,EALREADY:7,EDESTADDRREQ:17,EMSGSIZE:35,EPROTONOSUPPORT:66,ESOCKTNOSUPPORT:137,EADDRNOTAVAIL:4,ENETRESET:39,EISCONN:30,ENOTCONN:53,ETOOMANYREFS:141,EUSERS:136,EDQUOT:19,ESTALE:72,ENOTSUP:138,ENOMEDIUM:148,EILSEQ:25,EOVERFLOW:61,ECANCELED:11,ENOTRECOVERABLE:56,EOWNERDEAD:62,ESTRPIPE:135},ke={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:function(e){function o(e){var n;for(var a in t(this,o),(n=r(this,o,[Se[e]])).name="ErrnoError",n.errno=e,Pe)if(Pe[a]===e){n.code=a;break}return n}return a(o,e),n(o)}(d(Error)),genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:function(){return n((function e(){t(this,e),this.shared={}}),[{key:"object",get:function(){return this.node},set:function(e){this.node=e}},{key:"isRead",get:function(){return 1!=(2097155&this.flags)}},{key:"isWrite",get:function(){return!!(2097155&this.flags)}},{key:"isAppend",get:function(){return 1024&this.flags}},{key:"flags",get:function(){return this.shared.flags},set:function(e){this.shared.flags=e}},{key:"position",get:function(){return this.shared.position},set:function(e){this.shared.position=e}}])}(),FSNode:function(){return n((function e(r,n,o,a){t(this,e),r||(r=this),this.parent=r,this.mount=r.mount,this.mounted=null,this.id=ke.nextInode++,this.name=n,this.mode=o,this.node_ops={},this.stream_ops={},this.rdev=a,this.readMode=365,this.writeMode=146}),[{key:"read",get:function(){return(this.mode&this.readMode)===this.readMode},set:function(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}},{key:"write",get:function(){return(this.mode&this.writeMode)===this.writeMode},set:function(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}},{key:"isFolder",get:function(){return ke.isDir(this.mode)}},{key:"isDevice",get:function(){return ke.isChrdev(this.mode)}}])}(),lookupPath(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=fe.resolve(e)))return{path:"",node:null};if(r=Object.assign({follow_mount:!0,recurse_count:0},r),r.recurse_count>8)throw new ke.ErrnoError(32);for(var t=e.split("/").filter((e=>!!e)),n=ke.root,o="/",a=0;a<t.length;a++){var i=a===t.length-1;if(i&&r.parent)break;if(n=ke.lookupNode(n,t[a]),o=ue.join2(o,t[a]),ke.isMountpoint(n)&&(!i||i&&r.follow_mount)&&(n=n.mounted.root),!i||r.follow)for(var s=0;ke.isLink(n.mode);){var l=ke.readlink(o);if(o=fe.resolve(ue.dirname(o),l),n=ke.lookupPath(o,{recurse_count:r.recurse_count+1}).node,s++>40)throw new ke.ErrnoError(32)}}return{path:o,node:n}},getPath(e){for(var r;;){if(ke.isRoot(e)){var t=e.mount.mountpoint;return r?"/"!==t[t.length-1]?`${t}/${r}`:t+r:t}r=r?`${e.name}/${r}`:e.name,e=e.parent}},hashName(e,r){for(var t=0,n=0;n<r.length;n++)t=(t<<5)-t+r.charCodeAt(n)|0;return(e+t>>>0)%ke.nameTable.length},hashAddNode(e){var r=ke.hashName(e.parent.id,e.name);e.name_next=ke.nameTable[r],ke.nameTable[r]=e},hashRemoveNode(e){var r=ke.hashName(e.parent.id,e.name);if(ke.nameTable[r]===e)ke.nameTable[r]=e.name_next;else for(var t=ke.nameTable[r];t;){if(t.name_next===e){t.name_next=e.name_next;break}t=t.name_next}},lookupNode(e,r){var t=ke.mayLookup(e);if(t)throw new ke.ErrnoError(t);for(var n=ke.hashName(e.id,r),o=ke.nameTable[n];o;o=o.name_next){var a=o.name;if(o.parent.id===e.id&&a===r)return o}return ke.lookup(e,r)},createNode(e,r,t,n){A("object"==typeof e);var o=new ke.FSNode(e,r,t,n);return ke.hashAddNode(o),o},destroyNode(e){ke.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var r=["r","w","rw"][3&e];return 512&e&&(r+="w"),r},nodePermissions:(e,r)=>ke.ignorePermissions||(!r.includes("r")||292&e.mode)&&(!r.includes("w")||146&e.mode)&&(!r.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!ke.isDir(e.mode))return 54;var r=ke.nodePermissions(e,"x");return r||(e.node_ops.lookup?0:2)},mayCreate(e,r){try{ke.lookupNode(e,r);return 20}catch(e){}return ke.nodePermissions(e,"wx")},mayDelete(e,r,t){var n;try{n=ke.lookupNode(e,r)}catch(e){return e.errno}var o=ke.nodePermissions(e,"wx");if(o)return o;if(t){if(!ke.isDir(n.mode))return 54;if(ke.isRoot(n)||ke.getPath(n)===ke.cwd())return 10}else if(ke.isDir(n.mode))return 31;return 0},mayOpen:(e,r)=>e?ke.isLink(e.mode)?32:ke.isDir(e.mode)&&("r"!==ke.flagsToPermissionString(r)||512&r)?31:ke.nodePermissions(e,ke.flagsToPermissionString(r)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=ke.MAX_OPEN_FDS;e++)if(!ke.streams[e])return e;throw new ke.ErrnoError(33)},getStreamChecked(e){var r=ke.getStream(e);if(!r)throw new ke.ErrnoError(8);return r},getStream:e=>ke.streams[e],createStream(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return e=Object.assign(new ke.FSStream,e),-1==r&&(r=ke.nextfd()),e.fd=r,ke.streams[r]=e,e},closeStream(e){ke.streams[e]=null},dupStream(e){var r,t;let n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;var o=ke.createStream(e,n);return null===(r=o.stream_ops)||void 0===r||null===(t=r.dup)||void 0===t||t.call(r,o),o},chrdev_stream_ops:{open(e){var r,t,n=ke.getDevice(e.node.rdev);e.stream_ops=n.stream_ops,null===(r=(t=e.stream_ops).open)||void 0===r||r.call(t,e)},llseek(){throw new ke.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,r)=>e<<8|r,registerDevice(e,r){ke.devices[e]={stream_ops:r}},getDevice:e=>ke.devices[e],getMounts(e){for(var r=[],t=[e];t.length;){var n=t.pop();r.push(n),t.push(...n.mounts)}return r},syncfs(e,r){"function"==typeof e&&(r=e,e=!1),ke.syncFSRequests++,ke.syncFSRequests>1&&v(`warning: ${ke.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=ke.getMounts(ke.root.mount),n=0;function o(e){return A(ke.syncFSRequests>0),ke.syncFSRequests--,r(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,o(e));++n>=t.length&&o(null)}t.forEach((r=>{if(!r.type.syncfs)return a(null);r.type.syncfs(r,e,a)}))},mount(e,r,t){if("string"==typeof e)throw e;var n,o="/"===t,a=!t;if(o&&ke.root)throw new ke.ErrnoError(10);if(!o&&!a){var i=ke.lookupPath(t,{follow_mount:!1});if(t=i.path,n=i.node,ke.isMountpoint(n))throw new ke.ErrnoError(10);if(!ke.isDir(n.mode))throw new ke.ErrnoError(54)}var s={type:e,opts:r,mountpoint:t,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,o?ke.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount(e){var r=ke.lookupPath(e,{follow_mount:!1});if(!ke.isMountpoint(r.node))throw new ke.ErrnoError(28);var t=r.node,n=t.mounted,o=ke.getMounts(n);Object.keys(ke.nameTable).forEach((e=>{for(var r=ke.nameTable[e];r;){var t=r.name_next;o.includes(r.mount)&&ke.destroyNode(r),r=t}})),t.mounted=null;var a=t.mount.mounts.indexOf(n);A(-1!==a),t.mount.mounts.splice(a,1)},lookup:(e,r)=>e.node_ops.lookup(e,r),mknod(e,r,t){var n=ke.lookupPath(e,{parent:!0}).node,o=ue.basename(e);if(!o||"."===o||".."===o)throw new ke.ErrnoError(28);var a=ke.mayCreate(n,o);if(a)throw new ke.ErrnoError(a);if(!n.node_ops.mknod)throw new ke.ErrnoError(63);return n.node_ops.mknod(n,o,r,t)},create:(e,r)=>(r=void 0!==r?r:438,r&=4095,r|=32768,ke.mknod(e,r,0)),mkdir:(e,r)=>(r=void 0!==r?r:511,r&=1023,r|=16384,ke.mknod(e,r,0)),mkdirTree(e,r){for(var t=e.split("/"),n="",o=0;o<t.length;++o)if(t[o]){n+="/"+t[o];try{ke.mkdir(n,r)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,r,t)=>(void 0===t&&(t=r,r=438),r|=8192,ke.mknod(e,r,t)),symlink(e,r){if(!fe.resolve(e))throw new ke.ErrnoError(44);var t=ke.lookupPath(r,{parent:!0}).node;if(!t)throw new ke.ErrnoError(44);var n=ue.basename(r),o=ke.mayCreate(t,n);if(o)throw new ke.ErrnoError(o);if(!t.node_ops.symlink)throw new ke.ErrnoError(63);return t.node_ops.symlink(t,n,e)},rename(e,r){var t,n,o=ue.dirname(e),a=ue.dirname(r),i=ue.basename(e),s=ue.basename(r);if(t=ke.lookupPath(e,{parent:!0}).node,n=ke.lookupPath(r,{parent:!0}).node,!t||!n)throw new ke.ErrnoError(44);if(t.mount!==n.mount)throw new ke.ErrnoError(75);var l,d=ke.lookupNode(t,i),u=fe.relative(e,a);if("."!==u.charAt(0))throw new ke.ErrnoError(28);if("."!==(u=fe.relative(r,o)).charAt(0))throw new ke.ErrnoError(55);try{l=ke.lookupNode(n,s)}catch(e){}if(d!==l){var c=ke.isDir(d.mode),f=ke.mayDelete(t,i,c);if(f)throw new ke.ErrnoError(f);if(f=l?ke.mayDelete(n,s,c):ke.mayCreate(n,s))throw new ke.ErrnoError(f);if(!t.node_ops.rename)throw new ke.ErrnoError(63);if(ke.isMountpoint(d)||l&&ke.isMountpoint(l))throw new ke.ErrnoError(10);if(n!==t&&(f=ke.nodePermissions(t,"w")))throw new ke.ErrnoError(f);ke.hashRemoveNode(d);try{t.node_ops.rename(d,n,s)}catch(e){throw e}finally{ke.hashAddNode(d)}}},rmdir(e){var r=ke.lookupPath(e,{parent:!0}).node,t=ue.basename(e),n=ke.lookupNode(r,t),o=ke.mayDelete(r,t,!0);if(o)throw new ke.ErrnoError(o);if(!r.node_ops.rmdir)throw new ke.ErrnoError(63);if(ke.isMountpoint(n))throw new ke.ErrnoError(10);r.node_ops.rmdir(r,t),ke.destroyNode(n)},readdir(e){var r=ke.lookupPath(e,{follow:!0}).node;if(!r.node_ops.readdir)throw new ke.ErrnoError(54);return r.node_ops.readdir(r)},unlink(e){var r=ke.lookupPath(e,{parent:!0}).node;if(!r)throw new ke.ErrnoError(44);var t=ue.basename(e),n=ke.lookupNode(r,t),o=ke.mayDelete(r,t,!1);if(o)throw new ke.ErrnoError(o);if(!r.node_ops.unlink)throw new ke.ErrnoError(63);if(ke.isMountpoint(n))throw new ke.ErrnoError(10);r.node_ops.unlink(r,t),ke.destroyNode(n)},readlink(e){var r=ke.lookupPath(e).node;if(!r)throw new ke.ErrnoError(44);if(!r.node_ops.readlink)throw new ke.ErrnoError(28);return fe.resolve(ke.getPath(r.parent),r.node_ops.readlink(r))},stat(e,r){var t=ke.lookupPath(e,{follow:!r}).node;if(!t)throw new ke.ErrnoError(44);if(!t.node_ops.getattr)throw new ke.ErrnoError(63);return t.node_ops.getattr(t)},lstat:e=>ke.stat(e,!0),chmod(e,r,t){var n;"string"==typeof e?n=ke.lookupPath(e,{follow:!t}).node:n=e;if(!n.node_ops.setattr)throw new ke.ErrnoError(63);n.node_ops.setattr(n,{mode:4095&r|-4096&n.mode,timestamp:Date.now()})},lchmod(e,r){ke.chmod(e,r,!0)},fchmod(e,r){var t=ke.getStreamChecked(e);ke.chmod(t.node,r)},chown(e,r,t,n){var o;"string"==typeof e?o=ke.lookupPath(e,{follow:!n}).node:o=e;if(!o.node_ops.setattr)throw new ke.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown(e,r,t){ke.chown(e,r,t,!0)},fchown(e,r,t){var n=ke.getStreamChecked(e);ke.chown(n.node,r,t)},truncate(e,r){if(r<0)throw new ke.ErrnoError(28);var t;"string"==typeof e?t=ke.lookupPath(e,{follow:!0}).node:t=e;if(!t.node_ops.setattr)throw new ke.ErrnoError(63);if(ke.isDir(t.mode))throw new ke.ErrnoError(31);if(!ke.isFile(t.mode))throw new ke.ErrnoError(28);var n=ke.nodePermissions(t,"w");if(n)throw new ke.ErrnoError(n);t.node_ops.setattr(t,{size:r,timestamp:Date.now()})},ftruncate(e,r){var t=ke.getStreamChecked(e);if(!(2097155&t.flags))throw new ke.ErrnoError(28);ke.truncate(t.node,r)},utime(e,r,t){var n=ke.lookupPath(e,{follow:!0}).node;n.node_ops.setattr(n,{timestamp:Math.max(r,t)})},open(e,r,t){if(""===e)throw new ke.ErrnoError(44);var n;if(t=void 0===t?438:t,t=64&(r="string"==typeof r?(e=>{var r={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===r)throw new Error(`Unknown file open mode: ${e}`);return r})(r):r)?4095&t|32768:0,"object"==typeof e)n=e;else{e=ue.normalize(e);try{n=ke.lookupPath(e,{follow:!(131072&r)}).node}catch(e){}}var o=!1;if(64&r)if(n){if(128&r)throw new ke.ErrnoError(20)}else n=ke.mknod(e,t,0),o=!0;if(!n)throw new ke.ErrnoError(44);if(ke.isChrdev(n.mode)&&(r&=-513),65536&r&&!ke.isDir(n.mode))throw new ke.ErrnoError(54);if(!o){var a=ke.mayOpen(n,r);if(a)throw new ke.ErrnoError(a)}512&r&&!o&&ke.truncate(n,0),r&=-131713;var i=ke.createStream({node:n,path:ke.getPath(n),flags:r,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return i.stream_ops.open&&i.stream_ops.open(i),!s.logReadFiles||1&r||(ke.readFiles||(ke.readFiles={}),e in ke.readFiles||(ke.readFiles[e]=1)),i},close(e){if(ke.isClosed(e))throw new ke.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{ke.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,r,t){if(ke.isClosed(e))throw new ke.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ke.ErrnoError(70);if(0!=t&&1!=t&&2!=t)throw new ke.ErrnoError(28);return e.position=e.stream_ops.llseek(e,r,t),e.ungotten=[],e.position},read(e,r,t,n,o){if(A(t>=0),n<0||o<0)throw new ke.ErrnoError(28);if(ke.isClosed(e))throw new ke.ErrnoError(8);if(1==(2097155&e.flags))throw new ke.ErrnoError(8);if(ke.isDir(e.node.mode))throw new ke.ErrnoError(31);if(!e.stream_ops.read)throw new ke.ErrnoError(28);var a=void 0!==o;if(a){if(!e.seekable)throw new ke.ErrnoError(70)}else o=e.position;var i=e.stream_ops.read(e,r,t,n,o);return a||(e.position+=i),i},write(e,r,t,n,o,a){if(A(t>=0),n<0||o<0)throw new ke.ErrnoError(28);if(ke.isClosed(e))throw new ke.ErrnoError(8);if(!(2097155&e.flags))throw new ke.ErrnoError(8);if(ke.isDir(e.node.mode))throw new ke.ErrnoError(31);if(!e.stream_ops.write)throw new ke.ErrnoError(28);e.seekable&&1024&e.flags&&ke.llseek(e,0,2);var i=void 0!==o;if(i){if(!e.seekable)throw new ke.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,r,t,n,o,a);return i||(e.position+=s),s},allocate(e,r,t){if(ke.isClosed(e))throw new ke.ErrnoError(8);if(r<0||t<=0)throw new ke.ErrnoError(28);if(!(2097155&e.flags))throw new ke.ErrnoError(8);if(!ke.isFile(e.node.mode)&&!ke.isDir(e.node.mode))throw new ke.ErrnoError(43);if(!e.stream_ops.allocate)throw new ke.ErrnoError(138);e.stream_ops.allocate(e,r,t)},mmap(e,r,t,n,o){if(2&n&&!(2&o)&&2!=(2097155&e.flags))throw new ke.ErrnoError(2);if(1==(2097155&e.flags))throw new ke.ErrnoError(2);if(!e.stream_ops.mmap)throw new ke.ErrnoError(43);return e.stream_ops.mmap(e,r,t,n,o)},msync:(e,r,t,n,o)=>(A(t>=0),e.stream_ops.msync?e.stream_ops.msync(e,r,t,n,o):0),ioctl(e,r,t){if(!e.stream_ops.ioctl)throw new ke.ErrnoError(59);return e.stream_ops.ioctl(e,r,t)},readFile(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(r.flags=r.flags||0,r.encoding=r.encoding||"binary","utf8"!==r.encoding&&"binary"!==r.encoding)throw new Error(`Invalid encoding type "${r.encoding}"`);var t,n=ke.open(e,r.flags),o=ke.stat(e).size,a=new Uint8Array(o);return ke.read(n,a,0,o,0),"utf8"===r.encoding?t=ie(a,0):"binary"===r.encoding&&(t=a),ke.close(n),t},writeFile(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};t.flags=t.flags||577;var n=ke.open(e,t.flags,t.mode);if("string"==typeof r){var o=new Uint8Array(me(r)+1),a=he(r,o,0,o.length);ke.write(n,o,0,a,void 0,t.canOwn)}else{if(!ArrayBuffer.isView(r))throw new Error("Unsupported data type");ke.write(n,r,0,r.byteLength,void 0,t.canOwn)}ke.close(n)},cwd:()=>ke.currentPath,chdir(e){var r=ke.lookupPath(e,{follow:!0});if(null===r.node)throw new ke.ErrnoError(44);if(!ke.isDir(r.node.mode))throw new ke.ErrnoError(54);var t=ke.nodePermissions(r.node,"x");if(t)throw new ke.ErrnoError(t);ke.currentPath=r.path},createDefaultDirectories(){ke.mkdir("/tmp"),ke.mkdir("/home"),ke.mkdir("/home/web_user")},createDefaultDevices(){ke.mkdir("/dev"),ke.registerDevice(ke.makedev(1,3),{read:()=>0,write:(e,r,t,n,o)=>n}),ke.mkdev("/dev/null",ke.makedev(1,3)),we.register(ke.makedev(5,0),we.default_tty_ops),we.register(ke.makedev(6,0),we.default_tty1_ops),ke.mkdev("/dev/tty",ke.makedev(5,0)),ke.mkdev("/dev/tty1",ke.makedev(6,0));var e=new Uint8Array(1024),r=0,t=()=>(0===r&&(r=ce(e).byteLength),e[--r]);ke.createDevice("/dev","random",t),ke.createDevice("/dev","urandom",t),ke.mkdir("/dev/shm"),ke.mkdir("/dev/shm/tmp")},createSpecialDirectories(){ke.mkdir("/proc");var e=ke.mkdir("/proc/self");ke.mkdir("/proc/self/fd"),ke.mount({mount(){var r=ke.createNode(e,"fd",16895,73);return r.node_ops={lookup(e,r){var t=+r,n=ke.getStreamChecked(t),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path}};return o.parent=o,o}},r}},{},"/proc/self/fd")},createStandardStreams(){s.stdin?ke.createDevice("/dev","stdin",s.stdin):ke.symlink("/dev/tty","/dev/stdin"),s.stdout?ke.createDevice("/dev","stdout",null,s.stdout):ke.symlink("/dev/tty","/dev/stdout"),s.stderr?ke.createDevice("/dev","stderr",null,s.stderr):ke.symlink("/dev/tty1","/dev/stderr");var e=ke.open("/dev/stdin",0),r=ke.open("/dev/stdout",1),t=ke.open("/dev/stderr",1);A(0===e.fd,`invalid handle for stdin (${e.fd})`),A(1===r.fd,`invalid handle for stdout (${r.fd})`),A(2===t.fd,`invalid handle for stderr (${t.fd})`)},staticInit(){[44].forEach((e=>{ke.genericErrors[e]=new ke.ErrnoError(e),ke.genericErrors[e].stack="<generic error, no stack>"})),ke.nameTable=new Array(4096),ke.mount(Te,{},"/"),ke.createDefaultDirectories(),ke.createDefaultDevices(),ke.createSpecialDirectories(),ke.filesystems={MEMFS:Te}},init(e,r,t){A(!ke.init.initialized,"FS.init was previously called. If you want to initialize later with custom parameters, remove any earlier calls (note that one is automatically added to the generated code)"),ke.init.initialized=!0,s.stdin=e||s.stdin,s.stdout=r||s.stdout,s.stderr=t||s.stderr,ke.createStandardStreams()},quit(){ke.init.initialized=!1,ft(0);for(var e=0;e<ke.streams.length;e++){var r=ke.streams[e];r&&ke.close(r)}},findObject(e,r){var t=ke.analyzePath(e,r);return t.exists?t.object:null},analyzePath(e,r){try{e=(n=ke.lookupPath(e,{follow:!r})).path}catch(e){}var t={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var n=ke.lookupPath(e,{parent:!0});t.parentExists=!0,t.parentPath=n.path,t.parentObject=n.node,t.name=ue.basename(e),n=ke.lookupPath(e,{follow:!r}),t.exists=!0,t.path=n.path,t.object=n.node,t.name=n.node.name,t.isRoot="/"===n.path}catch(e){t.error=e.errno}return t},createPath(e,r,t,n){e="string"==typeof e?e:ke.getPath(e);for(var o=r.split("/").reverse();o.length;){var a=o.pop();if(a){var i=ue.join2(e,a);try{ke.mkdir(i)}catch(e){}e=i}}return i},createFile(e,r,t,n,o){var a=ue.join2("string"==typeof e?e:ke.getPath(e),r),i=_e(n,o);return ke.create(a,i)},createDataFile(e,r,t,n,o,a){var i=r;e&&(e="string"==typeof e?e:ke.getPath(e),i=r?ue.join2(e,r):e);var s=_e(n,o),l=ke.create(i,s);if(t){if("string"==typeof t){for(var d=new Array(t.length),u=0,c=t.length;u<c;++u)d[u]=t.charCodeAt(u);t=d}ke.chmod(l,146|s);var f=ke.open(l,577);ke.write(f,t,0,t.length,0,a),ke.close(f),ke.chmod(l,s)}},createDevice(e,r,t,n){var o=ue.join2("string"==typeof e?e:ke.getPath(e),r),a=_e(!!t,!!n);ke.createDevice.major||(ke.createDevice.major=64);var i=ke.makedev(ke.createDevice.major++,0);return ke.registerDevice(i,{open(e){e.seekable=!1},close(e){var r;null!=n&&null!==(r=n.buffer)&&void 0!==r&&r.length&&n(10)},read(e,r,n,o,a){for(var i=0,s=0;s<o;s++){var l;try{l=t()}catch(e){throw new ke.ErrnoError(29)}if(void 0===l&&0===i)throw new ke.ErrnoError(6);if(null==l)break;i++,r[n+s]=l}return i&&(e.node.timestamp=Date.now()),i},write(e,r,t,o,a){for(var i=0;i<o;i++)try{n(r[t+i])}catch(e){throw new ke.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),i}}),ke.mkdev(o,a,i)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!o)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=ge(o(e.url)),e.usedBytes=e.contents.length}catch(e){throw new ke.ErrnoError(29)}},createLazyFile(e,r,t,n,o){if("undefined"!=typeof XMLHttpRequest)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a={isDevice:!1,url:t},i=ke.createFile(e,r,a,n,o);a.contents?i.contents=a.contents:a.url&&(i.contents=null,i.url=a.url),Object.defineProperties(i,{usedBytes:{get:function(){return this.contents.length}}});var s={};function l(e,r,t,n,o){var a=e.node.contents;if(o>=a.length)return 0;var i=Math.min(a.length-o,n);if(A(i>=0),a.slice)for(var s=0;s<i;s++)r[t+s]=a[o+s];else for(s=0;s<i;s++)r[t+s]=a.get(o+s);return i}return Object.keys(i.stream_ops).forEach((e=>{var r=i.stream_ops[e];s[e]=function(){return ke.forceLoadFile(i),r(...arguments)}})),s.read=(e,r,t,n,o)=>(ke.forceLoadFile(i),l(e,r,t,n,o)),s.mmap=(e,r,t,n,o)=>{ke.forceLoadFile(i);var a=be();if(!a)throw new ke.ErrnoError(48);return l(e,E,a,r,t),{ptr:a,allocated:!0}},i.stream_ops=s,i},absolutePath(){W("FS.absolutePath has been removed; use PATH_FS.resolve instead")},createFolder(){W("FS.createFolder has been removed; use FS.mkdir instead")},createLink(){W("FS.createLink has been removed; use FS.symlink instead")},joinPath(){W("FS.joinPath has been removed; use PATH.join instead")},mmapAlloc(){W("FS.mmapAlloc has been replaced by the top level function mmapAlloc")},standardizePath(){W("FS.standardizePath has been removed; use PATH.normalize instead")}},Ae={DEFAULT_POLLMASK:5,calculateAt(e,r,t){if(ue.isAbs(r))return r;var n;-100===e?n=ke.cwd():n=Ae.getStreamFromFD(e).path;if(0==r.length){if(!t)throw new ke.ErrnoError(44);return n}return ue.join2(n,r)},doStat(e,r,t){var n=e(r);C[t>>2]=n.dev,C[t+4>>2]=n.mode,_[t+8>>2]=n.nlink,C[t+12>>2]=n.uid,C[t+16>>2]=n.gid,C[t+20>>2]=n.rdev,H=[n.size>>>0,(V=n.size,+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],C[t+24>>2]=H[0],C[t+28>>2]=H[1],C[t+32>>2]=4096,C[t+36>>2]=n.blocks;var o=n.atime.getTime(),a=n.mtime.getTime(),i=n.ctime.getTime();return H=[Math.floor(o/1e3)>>>0,(V=Math.floor(o/1e3),+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],C[t+40>>2]=H[0],C[t+44>>2]=H[1],_[t+48>>2]=o%1e3*1e3,H=[Math.floor(a/1e3)>>>0,(V=Math.floor(a/1e3),+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],C[t+56>>2]=H[0],C[t+60>>2]=H[1],_[t+64>>2]=a%1e3*1e3,H=[Math.floor(i/1e3)>>>0,(V=Math.floor(i/1e3),+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],C[t+72>>2]=H[0],C[t+76>>2]=H[1],_[t+80>>2]=i%1e3*1e3,H=[n.ino>>>0,(V=n.ino,+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],C[t+88>>2]=H[0],C[t+92>>2]=H[1],0},doMsync(e,r,t,n,o){if(!ke.isFile(r.node.mode))throw new ke.ErrnoError(43);if(2&n)return 0;var a=w.slice(e,e+t);ke.msync(r,a,o,t,n)},getStreamFromFD:e=>ke.getStreamChecked(e),varargs:void 0,getStr:e=>se(e)},De=e=>{for(var r="",t=e;w[t];)r+=ye[w[t++]];return r},Oe={},Fe={},Me={},$e=e=>{throw new ve(e)},Re=e=>{throw new Ee(e)},Ie=(e,r,t)=>{function n(r){var n=t(r);n.length!==e.length&&Re("Mismatched type converter count");for(var o=0;o<e.length;++o)Ne(e[o],n[o])}e.forEach((function(e){Me[e]=r}));var o=new Array(r.length),a=[],i=0;r.forEach(((e,r)=>{Fe.hasOwnProperty(e)?o[r]=Fe[e]:(a.push(e),Oe.hasOwnProperty(e)||(Oe[e]=[]),Oe[e].push((()=>{o[r]=Fe[e],++i===a.length&&n(o)})))})),0===a.length&&n(o)};function Ne(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in r))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var n=r.name;if(e||$e(`type "${n}" must have a positive integer typeid pointer`),Fe.hasOwnProperty(e)){if(t.ignoreDuplicateRegistrations)return;$e(`Cannot register type '${n}' twice`)}if(Fe[e]=r,delete Me[e],Oe.hasOwnProperty(e)){var o=Oe[e];delete Oe[e],o.forEach((e=>e()))}}(e,r,t)}var Le,Ue=e=>{$e(e.$$.ptrType.registeredClass.name+" instance already deleted")},xe=!1,je=e=>{},Be=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},We=(e,r,t)=>{if(r===t)return e;if(void 0===t.baseClass)return null;var n=We(e,r,t.baseClass);return null===n?null:t.downcast(n)},ze={},Ve=()=>Object.keys(qe).length,He=()=>{var e=[];for(var r in qe)qe.hasOwnProperty(r)&&e.push(qe[r]);return e},Ge=[],Ye=()=>{for(;Ge.length;){var e=Ge.pop();e.$$.deleteScheduled=!1,e.delete()}},Xe=e=>{Le=e,Ge.length&&Le&&Le(Ye)},qe={},Ke=(e,r)=>(r=((e,r)=>{for(void 0===r&&$e("ptr should not be undefined");e.baseClass;)r=e.upcast(r),e=e.baseClass;return r})(e,r),qe[r]),Je=(e,r)=>(r.ptrType&&r.ptr||Re("makeClassHandle requires ptr and ptrType"),!!r.smartPtrType!==!!r.smartPtr&&Re("Both smartPtrType and smartPtr must be specified"),r.count={value:1},Qe(Object.create(e,{$$:{value:r,writable:!0}})));function Ze(e){var r=this.getPointee(e);if(!r)return this.destructor(e),null;var t=Ke(this.registeredClass,r);if(void 0!==t){if(0===t.$$.count.value)return t.$$.ptr=r,t.$$.smartPtr=e,t.clone();var n=t.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?Je(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:r,smartPtrType:this,smartPtr:e}):Je(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,i=this.registeredClass.getActualType(r),s=ze[i];if(!s)return o.call(this);a=this.isConst?s.constPointerType:s.pointerType;var l=We(r,this.registeredClass,a.registeredClass);return null===l?o.call(this):this.isSmartPointer?Je(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Je(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}var Qe=e=>"undefined"==typeof FinalizationRegistry?(Qe=e=>e,e):(xe=new FinalizationRegistry((e=>{Be(e.$$)})),Qe=e=>{var r=e.$$;if(!!r.smartPtr){var t={$$:r},n=r.ptrType.registeredClass;t.leakWarning=new Error(`Embind found a leaked C++ instance ${n.name} <${ne(r.ptr)}>.\nWe'll free it automatically in this case, but this functionality is not reliable across various environments.\nMake sure to invoke .delete() manually once you're done with the instance instead.\nOriginally allocated`),"captureStackTrace"in Error&&Error.captureStackTrace(t.leakWarning,Ze),xe.register(e,t,e)}return e},je=e=>xe.unregister(e),Qe(e));function er(){}var rr=(e,r)=>Object.defineProperty(r,"name",{value:e}),tr=(e,r,t)=>{if(void 0===e[r].overloadTable){var n=e[r];e[r]=function(){for(var n=arguments.length,o=new Array(n),a=0;a<n;a++)o[a]=arguments[a];return e[r].overloadTable.hasOwnProperty(o.length)||$e(`Function '${t}' called with an invalid number of arguments (${o.length}) - expects one of (${e[r].overloadTable})!`),e[r].overloadTable[o.length].apply(this,o)},e[r].overloadTable=[],e[r].overloadTable[n.argCount]=n}};function nr(e,r,t,n,o,a,i,s){this.name=e,this.constructor=r,this.instancePrototype=t,this.rawDestructor=n,this.baseClass=o,this.getActualType=a,this.upcast=i,this.downcast=s,this.pureVirtualFunctions=[]}var or=(e,r,t)=>{for(;r!==t;)r.upcast||$e(`Expected null or instance of ${t.name}, got an instance of ${r.name}`),e=r.upcast(e),r=r.baseClass;return e};function ar(e,r){if(null===r)return this.isReference&&$e(`null is not a valid ${this.name}`),0;r.$$||$e(`Cannot pass "${Dr(r)}" as a ${this.name}`),r.$$.ptr||$e(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=r.$$.ptrType.registeredClass;return or(r.$$.ptr,t,this.registeredClass)}function ir(e,r){var t;if(null===r)return this.isReference&&$e(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,t),t):0;r&&r.$$||$e(`Cannot pass "${Dr(r)}" as a ${this.name}`),r.$$.ptr||$e(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&r.$$.ptrType.isConst&&$e(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);var n=r.$$.ptrType.registeredClass;if(t=or(r.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===r.$$.smartPtr&&$e("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:r.$$.smartPtrType===this?t=r.$$.smartPtr:$e(`Cannot convert argument of type ${r.$$.smartPtrType?r.$$.smartPtrType.name:r.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=r.$$.smartPtr;break;case 2:if(r.$$.smartPtrType===this)t=r.$$.smartPtr;else{var o=r.clone();t=this.rawShare(t,kr.toHandle((()=>o.delete()))),null!==e&&e.push(this.rawDestructor,t)}break;default:$e("Unsupporting sharing policy")}return t}function sr(e,r){if(null===r)return this.isReference&&$e(`null is not a valid ${this.name}`),0;r.$$||$e(`Cannot pass "${Dr(r)}" as a ${this.name}`),r.$$.ptr||$e(`Cannot pass deleted object as a pointer of type ${this.name}`),r.$$.ptrType.isConst&&$e(`Cannot convert argument of type ${r.$$.ptrType.name} to parameter type ${this.name}`);var t=r.$$.ptrType.registeredClass;return or(r.$$.ptr,t,this.registeredClass)}function lr(e){return this.fromWireType(_[e>>2])}function dr(e,r,t,n,o,a,i,s,l,d,u){this.name=e,this.registeredClass=r,this.isReference=t,this.isConst=n,this.isSmartPointer=o,this.pointeeType=a,this.sharingPolicy=i,this.rawGetPointee=s,this.rawConstructor=l,this.rawShare=d,this.rawDestructor=u,o||void 0!==r.baseClass?this.toWireType=ir:n?(this.toWireType=ar,this.destructorFunction=null):(this.toWireType=sr,this.destructorFunction=null)}var ur,cr,fr=e=>ur.get(e),pr=function(e,r){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return e.includes("j")?((e,r,t)=>(A("dynCall_"+(e=e.replace(/p/g,"i"))in s,`bad function pointer type - dynCall function not found for sig '${e}'`),null!=t&&t.length?A(t.length===e.substring(1).replace(/j/g,"--").length):A(1==e.length),(0,s["dynCall_"+e])(r,...t)))(e,r,t):(A(fr(r),`missing table entry in dynCall: ${r}`),fr(r)(...t))},mr=(e,r)=>{var t,n,o=(e=De(e)).includes("j")?(n=r,A((t=e).includes("j")||t.includes("p"),"getDynCaller should only be called with i64 sigs"),function(){for(var e=arguments.length,r=new Array(e),o=0;o<e;o++)r[o]=arguments[o];return pr(t,n,r)}):fr(r);return"function"!=typeof o&&$e(`unknown function pointer with signature ${e}: ${r}`),o},hr=e=>{var r=ct(e),t=De(r);return dt(r),t},gr=(e,r)=>{var t=[],n={};throw r.forEach((function e(r){n[r]||Fe[r]||(Me[r]?Me[r].forEach(e):(t.push(r),n[r]=!0))})),new cr(`${e}: `+t.map(hr).join([", "]))},yr=(e,r)=>{for(var t=[],n=0;n<e;n++)t.push(_[r+4*n>>2]);return t},vr=e=>{for(;e.length;){var r=e.pop();e.pop()(r)}};function Er(e){for(var r=1;r<e.length;++r)if(null!==e[r]&&void 0===e[r].destructorFunction)return!0;return!1}function wr(e,r){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var t=rr(e.name||"unknownFunctionName",(function(){}));t.prototype=e.prototype;var n=new t,o=e.apply(n,r);return o instanceof Object?o:n}function br(e,r,t,n,o,a){var i=r.length;i<2&&$e("argTypes array size mismatch! Must at least get return value and 'this' types!"),A(!a,"Async bindings are only supported with JSPI.");for(var s=null!==r[1]&&null!==t,l=Er(r),d="void"!==r[0].name,u=[e,$e,n,o,vr,r[0],r[1]],c=0;c<i-2;++c)u.push(r[c+2]);if(!l)for(c=s?1:2;c<r.length;++c)null!==r[c].destructorFunction&&u.push(r[c].destructorFunction);let[f,p]=function(e,r,t,n){for(var o=Er(e),a=e.length,i="",s="",l=0;l<a-2;++l)i+=(0!==l?", ":"")+"arg"+l,s+=(0!==l?", ":"")+"arg"+l+"Wired";var d=`\n return function (${i}) {\n if (arguments.length !== ${a-2}) {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${a-2}');\n }`;o&&(d+="var destructors = [];\n");var u=o?"destructors":"null",c=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(r&&(d+="var thisWired = classParam['toWireType']("+u+", this);\n"),l=0;l<a-2;++l)d+="var arg"+l+"Wired = argType"+l+"['toWireType']("+u+", arg"+l+");\n",c.push("argType"+l);if(r&&(s="thisWired"+(s.length>0?", ":"")+s),d+=(t||n?"var rv = ":"")+"invoker(fn"+(s.length>0?", ":"")+s+");\n",o)d+="runDestructors(destructors);\n";else for(l=r?1:2;l<e.length;++l){var f=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==e[l].destructorFunction&&(d+=`${f}_dtor(${f});\n`,c.push(`${f}_dtor`))}return t&&(d+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),d+="}\n",[c,d=`if (arguments.length !== ${c.length}){ throw new Error(humanName + "Expected ${c.length} closure arguments " + arguments.length + " given."); }\n${d}`]}(r,s,d,a);f.push(p);var m=wr(Function,f)(...u);return rr(e,m)}var Tr=(e,r,t)=>(e instanceof Object||$e(`${t} with invalid "this": ${e}`),e instanceof r.registeredClass.constructor||$e(`${t} incompatible with "this" of type ${e.constructor.name}`),e.$$.ptr||$e(`cannot call emscripten binding method ${t} on deleted object`),or(e.$$.ptr,e.$$.ptrType.registeredClass,r.registeredClass)),Cr=[],_r=[],Sr=e=>{e>9&&0==--_r[e+1]&&(A(void 0!==_r[e],"Decref for unallocated handle."),_r[e]=void 0,Cr.push(e))},Pr=()=>_r.length/2-5-Cr.length,kr={toValue:e=>(e||$e("Cannot use deleted val. handle = "+e),A(2===e||void 0!==_r[e]&&e%2==0,`invalid handle: ${e}`),_r[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const r=Cr.pop()||_r.length;return _r[r]=e,_r[r+1]=1,r}}}},Ar={name:"emscripten::val",fromWireType:e=>{var r=kr.toValue(e);return Sr(e),r},toWireType:(e,r)=>kr.toHandle(r),argPackAdvance:8,readValueFromPointer:lr,destructorFunction:null},Dr=e=>{if(null===e)return"null";var r=typeof e;return"object"===r||"array"===r||"function"===r?e.toString():""+e},Or=(e,r)=>{switch(r){case 4:return function(e){return this.fromWireType(S[e>>2])};case 8:return function(e){return this.fromWireType(P[e>>3])};default:throw new TypeError(`invalid float width (${r}): ${e}`)}},Fr=(e,r,t)=>{switch(r){case 1:return t?e=>E[e]:e=>w[e];case 2:return t?e=>b[e>>1]:e=>T[e>>1];case 4:return t?e=>C[e>>2]:e=>_[e>>2];default:throw new TypeError(`invalid integer width (${r}): ${e}`)}},Mr=(e,r,t)=>(A("number"==typeof t,"stringToUTF8(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),he(e,w,r,t)),$r="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Rr=(e,r)=>{A(e%2==0,"Pointer passed to UTF16ToString must be aligned to two bytes!");for(var t=e,n=t>>1,o=n+r/2;!(n>=o)&&T[n];)++n;if((t=n<<1)-e>32&&$r)return $r.decode(w.subarray(e,t));for(var a="",i=0;!(i>=r/2);++i){var s=b[e+2*i>>1];if(0==s)break;a+=String.fromCharCode(s)}return a},Ir=(e,r,t)=>{if(A(r%2==0,"Pointer passed to stringToUTF16 must be aligned to two bytes!"),A("number"==typeof t,"stringToUTF16(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),t??=2147483647,t<2)return 0;for(var n=r,o=(t-=2)<2*e.length?t/2:e.length,a=0;a<o;++a){var i=e.charCodeAt(a);b[r>>1]=i,r+=2}return b[r>>1]=0,r-n},Nr=e=>2*e.length,Lr=(e,r)=>{A(e%4==0,"Pointer passed to UTF32ToString must be aligned to four bytes!");for(var t=0,n="";!(t>=r/4);){var o=C[e+4*t>>2];if(0==o)break;if(++t,o>=65536){var a=o-65536;n+=String.fromCharCode(55296|a>>10,56320|1023&a)}else n+=String.fromCharCode(o)}return n},Ur=(e,r,t)=>{if(A(r%4==0,"Pointer passed to stringToUTF32 must be aligned to four bytes!"),A("number"==typeof t,"stringToUTF32(str, outPtr, maxBytesToWrite) is missing the third parameter that specifies the length of the output buffer!"),t??=2147483647,t<4)return 0;for(var n=r,o=n+t-4,a=0;a<e.length;++a){var i=e.charCodeAt(a);if(i>=55296&&i<=57343)i=65536+((1023&i)<<10)|1023&e.charCodeAt(++a);if(C[r>>2]=i,(r+=4)+4>o)break}return C[r>>2]=0,r-n},xr=e=>{for(var r=0,t=0;t<e.length;++t){var n=e.charCodeAt(t);n>=55296&&n<=57343&&++t,r+=4}return r},jr=(e,r)=>{var t=Fe[e];return void 0===t&&$e(`${r} has unknown type ${hr(e)}`),t},Br=(e,r,t)=>{var n=[],o=e.toWireType(n,t);return n.length&&(_[r>>2]=kr.toHandle(n)),o},Wr={},zr=[],Vr=(e,r)=>(A(e==e>>>0||e==(0|e)),A(r===(0|r)),r+2097152>>>0<4194305-!!e?(e>>>0)+4294967296*r:NaN),Hr=[0,31,60,91,121,152,182,213,244,274,305,335],Gr=[0,31,59,90,120,151,181,212,243,273,304,334],Yr=e=>{var r;return((r=e.getFullYear())%4==0&&(r%100!=0||r%400==0)?Hr:Gr)[e.getMonth()]+e.getDate()-1},Xr=(e,r)=>(A(r===(0|r)),(e>>>0)+4294967296*r),qr=(e,r)=>{if(e<=0)return e;var t=r<=32?Math.abs(1<<r-1):Math.pow(2,r-1);return e>=t&&(r<=32||e>t)&&(e=-2*t+e),e},Kr=(e,r)=>e>=0?e:r<=32?2*Math.abs(1<<r-1)+e:Math.pow(2,r)+e,Jr=e=>{for(var r=e;w[r];)++r;return r-e},Zr=(e,r)=>{A(!(3&r));var t=e,n=r;function o(e){var r;return n=function(e,r){return"double"===r||"i64"===r?7&e&&(A(4==(7&e)),e+=4):A(!(3&e)),e}(n,e),"double"===e?(r=P[n>>3],n+=8):"i64"==e?(r=[C[n>>2],C[n+4>>2]],n+=8):(A(!(3&n)),e="i32",r=C[n>>2],n+=4),r}for(var a,i,s,l,d,u,c=[];;){var f=t;if(0===(a=E[t]))break;if(i=E[t+1],37==a){var p=!1,m=!1,h=!1,g=!1,y=!1;e:for(;;){switch(i){case 43:p=!0;break;case 45:m=!0;break;case 35:h=!0;break;case 48:if(g)break e;g=!0;break;case 32:y=!0;break;default:break e}t++,i=E[t+1]}var v=0;if(42==i)v=o("i32"),t++,i=E[t+1];else for(;i>=48&&i<=57;)v=10*v+(i-48),t++,i=E[t+1];var b,T=!1,_=-1;if(46==i){if(_=0,T=!0,t++,42==(i=E[t+1]))_=o("i32"),t++;else for(;;){var S=E[t+1];if(S<48||S>57)break;_=10*_+(S-48),t++}i=E[t+1]}switch(_<0&&(_=6,T=!1),String.fromCharCode(i)){case"h":104==E[t+2]?(t++,b=1):b=2;break;case"l":108==E[t+2]?(t++,b=8):b=4;break;case"L":case"q":case"j":b=8;break;case"z":case"t":case"I":b=4;break;default:b=null}switch(b&&t++,i=E[t+1],String.fromCharCode(i)){case"d":case"i":case"u":case"o":case"x":case"X":case"p":var k=100==i||105==i;if(s=o("i"+8*(b=b||4)),8==b&&(s=117==i?(d=s[0],u=s[1],(d>>>0)+4294967296*(u>>>0)):Xr(s[0],s[1])),b<=4){var D=Math.pow(256,b)-1;s=(k?qr:Kr)(s&D,8*b)}var O=Math.abs(s),F="";if(100==i||105==i)R=qr(s,8*b).toString(10);else if(117==i)R=Kr(s,8*b).toString(10),s=Math.abs(s);else if(111==i)R=(h?"0":"")+O.toString(8);else if(120==i||88==i){if(F=h&&0!=s?"0x":"",s<0){s=-s,R=(O-1).toString(16);for(var M=[],$=0;$<R.length;$++)M.push((15-parseInt(R[$],16)).toString(16));for(R=M.join("");R.length<2*b;)R="f"+R}else R=O.toString(16);88==i&&(F=F.toUpperCase(),R=R.toUpperCase())}else 112==i&&(0===O?R="(nil)":(F="0x",R=O.toString(16)));if(T)for(;R.length<_;)R="0"+R;for(s>=0&&(p?F="+"+F:y&&(F=" "+F)),"-"==R.charAt(0)&&(F="-"+F,R=R.substr(1));F.length+R.length<v;)m?R+=" ":g?R="0"+R:F=" "+F;(R=F+R).split("").forEach((function(e){c.push(e.charCodeAt(0))}));break;case"f":case"F":case"e":case"E":case"g":case"G":var R;if(s=o("double"),isNaN(s))R="nan",g=!1;else if(isFinite(s)){var I=!1,N=Math.min(_,20);if(103==i||71==i){I=!0,_=_||1;var L=parseInt(s.toExponential(N).split("e")[1],10);_>L&&L>=-4?(i=(103==i?"f":"F").charCodeAt(0),_-=L+1):(i=(103==i?"e":"E").charCodeAt(0),_--),N=Math.min(_,20)}101==i||69==i?(R=s.toExponential(N),/[eE][-+]\d$/.test(R)&&(R=R.slice(0,-1)+"0"+R.slice(-1))):102!=i&&70!=i||(R=s.toFixed(N),0===s&&((l=s)<0||0===l&&1/l==-1/0)&&(R="-"+R));var U=R.split("e");if(I&&!h)for(;U[0].length>1&&U[0].includes(".")&&("0"==U[0].slice(-1)||"."==U[0].slice(-1));)U[0]=U[0].slice(0,-1);else for(h&&-1==R.indexOf(".")&&(U[0]+=".");_>N++;)U[0]+="0";R=U[0]+(U.length>1?"e"+U[1]:""),69==i&&(R=R.toUpperCase()),s>=0&&(p?R="+"+R:y&&(R=" "+R))}else R=(s<0?"-":"")+"inf",g=!1;for(;R.length<v;)m?R+=" ":R=!g||"-"!=R[0]&&"+"!=R[0]?(g?"0":" ")+R:R[0]+"0"+R.slice(1);i<97&&(R=R.toUpperCase()),R.split("").forEach((function(e){c.push(e.charCodeAt(0))}));break;case"s":var x=o("i8*"),j=x?Jr(x):6;if(T&&(j=Math.min(j,_)),!m)for(;j<v--;)c.push(32);if(x)for($=0;$<j;$++)c.push(w[x++]);else c=c.concat(ge("(null)".substr(0,j)));if(m)for(;j<v--;)c.push(32);break;case"c":for(m&&c.push(o("i8"));--v>0;)c.push(32);m||c.push(o("i8"));break;case"n":var B=o("i32*");C[B>>2]=c.length;break;case"%":c.push(a);break;default:for($=f;$<t+2;$++)c.push(E[$])}t+=2}else c.push(a),t+=1}return c};function Qr(e){var r=(new Error).stack.toString(),t=r.lastIndexOf("_emscripten_log"),n=r.lastIndexOf("_emscripten_get_callstack"),o=r.indexOf("\n",Math.max(t,n))+1;r=r.slice(o),8&e&&"undefined"==typeof emscripten_source_map&&(oe('Source map information is not available, emscripten_log with EM_LOG_C_STACK will be ignored. Build with "--pre-js $EMSCRIPTEN/src/emscripten-source-map.min.js" linker flag to add source map loading to code.'),e^=8,e|=16);var a=r.split("\n");r="";var i=new RegExp("\\s*(.*?)@(.*?):([0-9]+):([0-9]+)"),s=new RegExp("\\s*(.*?)@(.*):(.*)(:(.*))?"),l=new RegExp("\\s*at (.*?) \\((.*):(.*):(.*)\\)");for(var d in a){var u=a[d],c="",f="",p=0,m=0,h=l.exec(u);if(h&&5==h.length)c=h[1],f=h[2],p=h[3],m=h[4];else{if((h=i.exec(u))||(h=s.exec(u)),!(h&&h.length>=4)){r+=u+"\n";continue}c=h[1],f=h[2],p=h[3],m=0|h[4]}var g=!1;if(8&e){var y,v=emscripten_source_map.originalPositionFor({line:p,column:m});(g=null===(y=v)||void 0===y?void 0:y.source)&&(64&e&&(v.source=v.source.substring(v.source.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=` at ${c} (${v.source}:${v.line}:${v.column})\n`)}(16&e||!g)&&(64&e&&(f=f.substring(f.replace(/\\/g,"/").lastIndexOf("/")+1)),r+=(g?` = ${c}`:` at ${c}`)+` (${f}:${p}:${m})\n`)}return r=r.replace(/\s+$/,"")}var et,rt,tt,nt=e=>{var r=g.buffer,t=(e-r.byteLength+65535)/65536;try{return g.grow(t),D(),1}catch(t){v(`growMemory: Attempted to grow heap from ${r.byteLength} bytes to ${e} bytes, but got error: ${t}`)}},ot={},at=()=>{if(!at.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:f||"./this.program"};for(var r in ot)void 0===ot[r]?delete e[r]:e[r]=ot[r];var t=[];for(var r in e)t.push(`${r}=${e[r]}`);at.strings=t}return at.strings};ke.createPreloadedFile=(e,r,t,n,o,a,s,l,d,u)=>{var c=r?fe.resolve(ue.join2(e,r)):e,f=x(`cp ${c}`);function p(t){function i(t){null==u||u(),l||((e,r,t,n,o,a)=>{ke.createDataFile(e,r,t,n,o,a)})(e,r,t,n,o,d),null==a||a(),B(f)}((e,r,t,n)=>{"undefined"!=typeof Browser&&Browser.init();var o=!1;return Ce.forEach((a=>{o||a.canHandle(r)&&(a.handle(e,r,t,n),o=!0)})),o})(t,c,i,(()=>{null==s||s(),B(f)}))||i(t)}j(f),"string"==typeof t?((e,r,t,n)=>{var o=x(`al ${e}`);i(e,(t=>{A(t,`Loading data file "${e}" failed (no arrayBuffer).`),r(new Uint8Array(t)),o&&B(o)}),(r=>{if(!t)throw`Loading data file "${e}" failed.`;t()})),o&&j(o)})(t,p,s):p(t)},ke.staticInit(),(()=>{for(var e=new Array(256),r=0;r<256;++r)e[r]=String.fromCharCode(r);ye=e})(),ve=s.BindingError=function(e){function o(e){var n;return t(this,o),(n=r(this,o,[e])).name="BindingError",n}return a(o,e),n(o)}(d(Error)),Ee=s.InternalError=function(e){function o(e){var n;return t(this,o),(n=r(this,o,[e])).name="InternalError",n}return a(o,e),n(o)}(d(Error)),Object.assign(er.prototype,{isAliasOf(e){if(!(this instanceof er))return!1;if(!(e instanceof er))return!1;var r=this.$$.ptrType.registeredClass,t=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,o=e.$$.ptr;r.baseClass;)t=r.upcast(t),r=r.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return r===n&&t===o},clone(){if(this.$$.ptr||Ue(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,r=Qe(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return r.$$.count.value+=1,r.$$.deleteScheduled=!1,r},delete(){this.$$.ptr||Ue(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&$e("Object already scheduled for deletion"),je(this),Be(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ue(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&$e("Object already scheduled for deletion"),Ge.push(this),1===Ge.length&&Le&&Le(Ye),this.$$.deleteScheduled=!0,this}}),s.getInheritedInstanceCount=Ve,s.getLiveInheritedInstances=He,s.flushPendingDeletes=Ye,s.setDelayFunction=Xe,Object.assign(dr.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var r;null===(r=this.rawDestructor)||void 0===r||r.call(this,e)},argPackAdvance:8,readValueFromPointer:lr,fromWireType:Ze}),cr=s.UnboundTypeError=(et=Error,(tt=rr(rt="UnboundTypeError",(function(e){this.name=rt,this.message=e;var r=new Error(e).stack;void 0!==r&&(this.stack=this.toString()+"\n"+r.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(et.prototype),tt.prototype.constructor=tt,tt.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},tt),_r.push(0,1,void 0,1,null,1,!0,1,!1,1),A(10===_r.length),s.count_emval_handles=Pr;var it,st={__assert_fail:(e,r,t,n)=>{W(`Assertion failed: ${se(e)}, at: `+[r?se(r):"unknown filename",t,n?se(n):"unknown function"])},__syscall_fcntl64:function(e,r,t){Ae.varargs=t;try{var n=Ae.getStreamFromFD(e);switch(r){case 0:if((o=le())<0)return-28;for(;ke.streams[o];)o++;return ke.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=le();return n.flags|=o,0;case 12:o=de();return b[o+0>>1]=2,0}return-28}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return-e.errno}},__syscall_openat:function(e,r,t,n){Ae.varargs=n;try{r=Ae.getStr(r),r=Ae.calculateAt(e,r);var o=n?le():0;return ke.open(r,t,o).fd}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return-e.errno}},_abort_js:()=>{W("native code called abort()")},_embind_register_bigint:(e,r,t,n,o)=>{},_embind_register_bool:(e,r,t,n)=>{Ne(e,{name:r=De(r),fromWireType:function(e){return!!e},toWireType:function(e,r){return r?t:n},argPackAdvance:8,readValueFromPointer:function(e){return this.fromWireType(w[e])},destructorFunction:null})},_embind_register_class:(e,r,t,n,o,a,i,l,d,u,c,f,p)=>{c=De(c),a=mr(o,a),l&&=mr(i,l),u&&=mr(d,u),p=mr(f,p);var m=(e=>{if(void 0===e)return"_unknown";var r=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return r>=48&&r<=57?`_${e}`:e})(c);((e,r,t)=>{s.hasOwnProperty(e)?($e(`Cannot register public name '${e}' twice`),tr(s,e,e),s.hasOwnProperty(t)&&$e(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),s[e].overloadTable[t]=r):s[e]=r})(m,(function(){gr(`Cannot construct ${c} due to unbound types`,[n])})),Ie([e,r,t],n?[n]:[],(r=>{var t,o;r=r[0],o=n?(t=r.registeredClass).instancePrototype:er.prototype;var i=rr(c,(function(){if(Object.getPrototypeOf(this)!==d)throw new ve("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new ve(c+" has no accessible constructor");for(var e=arguments.length,r=new Array(e),t=0;t<e;t++)r[t]=arguments[t];var n=f.constructor_body[r.length];if(void 0===n)throw new ve(`Tried to invoke ctor of ${c} with invalid number of parameters (${r.length}) - expected (${Object.keys(f.constructor_body).toString()}) parameters instead!`);return n.apply(this,r)})),d=Object.create(o,{constructor:{value:i}});i.prototype=d;var f=new nr(c,i,d,p,t,a,l,u);f.baseClass&&(f.baseClass.__derivedClasses??=[],f.baseClass.__derivedClasses.push(f));var h=new dr(c,f,!0,!1,!1),g=new dr(c+"*",f,!1,!1,!1),y=new dr(c+" const*",f,!1,!0,!1);return ze[e]={pointerType:g,constPointerType:y},((e,r,t)=>{s.hasOwnProperty(e)||Re("Replacing nonexistent public symbol"),void 0!==s[e].overloadTable&&void 0!==t||(s[e]=r,s[e].argCount=t)})(m,i),[h,g,y]}))},_embind_register_class_constructor:(e,r,t,n,o,a)=>{A(r>0);var i=yr(r,t);o=mr(n,o),Ie([],[e],(e=>{var t=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[r-1])throw new ve(`Cannot register multiple constructors with identical number of parameters (${r-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[r-1]=()=>{gr(`Cannot construct ${e.name} due to unbound types`,i)},Ie([],i,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[r-1]=br(t,n,null,o,a),[]))),[]}))},_embind_register_class_function:(e,r,t,n,o,a,i,s,l)=>{var d=yr(t,n);r=(e=>{const r=(e=e.trim()).indexOf("(");return-1!==r?(A(")"==e[e.length-1],"Parentheses for argument names should match."),e.substr(0,r)):e})(r=De(r)),a=mr(o,a),Ie([],[e],(e=>{var n=`${(e=e[0]).name}.${r}`;function o(){gr(`Cannot call ${n} due to unbound types`,d)}r.startsWith("@@")&&(r=Symbol[r.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(r);var u=e.registeredClass.instancePrototype,c=u[r];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===t-2?(o.argCount=t-2,o.className=e.name,u[r]=o):(tr(u,r,n),u[r].overloadTable[t-2]=o),Ie([],d,(o=>{var s=br(n,o,e,a,i,l);return void 0===u[r].overloadTable?(s.argCount=t-2,u[r]=s):u[r].overloadTable[t-2]=s,[]})),[]}))},_embind_register_class_property:(e,r,t,n,o,a,i,s,l,d)=>{r=De(r),o=mr(n,o),Ie([],[e],(e=>{var n=`${(e=e[0]).name}.${r}`,u={get(){gr(`Cannot access ${n} due to unbound types`,[t,i])},enumerable:!0,configurable:!0};return u.set=l?()=>gr(`Cannot access ${n} due to unbound types`,[t,i]):e=>$e(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,r,u),Ie([],l?[t,i]:[t],(t=>{var i=t[0],u={get(){var r=Tr(this,e,n+" getter");return i.fromWireType(o(a,r))},enumerable:!0};if(l){l=mr(s,l);var c=t[1];u.set=function(r){var t=Tr(this,e,n+" setter"),o=[];l(d,t,c.toWireType(o,r)),vr(o)}}return Object.defineProperty(e.registeredClass.instancePrototype,r,u),[]})),[]}))},_embind_register_emval:e=>Ne(e,Ar),_embind_register_float:(e,r,t)=>{Ne(e,{name:r=De(r),fromWireType:e=>e,toWireType:(e,r)=>{if("number"!=typeof r&&"boolean"!=typeof r)throw new TypeError(`Cannot convert ${Dr(r)} to ${this.name}`);return r},argPackAdvance:8,readValueFromPointer:Or(r,t),destructorFunction:null})},_embind_register_integer:(e,r,t,n,o)=>{r=De(r),-1===o&&(o=4294967295);var a=e=>e;if(0===n){var i=32-8*t;a=e=>e<<i>>>i}var s=r.includes("unsigned"),l=(e,t)=>{if("number"!=typeof e&&"boolean"!=typeof e)throw new TypeError(`Cannot convert "${Dr(e)}" to ${t}`);if(e<n||e>o)throw new TypeError(`Passing a number "${Dr(e)}" from JS side to C/C++ side to an argument of type "${r}", which is outside the valid range [${n}, ${o}]!`)};Ne(e,{name:r,fromWireType:a,toWireType:s?function(e,r){return l(r,this.name),r>>>0}:function(e,r){return l(r,this.name),r},argPackAdvance:8,readValueFromPointer:Fr(r,t,0!==n),destructorFunction:null})},_embind_register_memory_view:(e,r,t)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][r];function o(e){var r=_[e>>2],t=_[e+4>>2];return new n(E.buffer,t,r)}Ne(e,{name:t=De(t),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},_embind_register_std_string:(e,r)=>{var t="std::string"===(r=De(r));Ne(e,{name:r,fromWireType(e){var r,n=_[e>>2],o=e+4;if(t)for(var a=o,i=0;i<=n;++i){var s=o+i;if(i==n||0==w[s]){var l=se(a,s-a);void 0===r?r=l:(r+=String.fromCharCode(0),r+=l),a=s+1}}else{var d=new Array(n);for(i=0;i<n;++i)d[i]=String.fromCharCode(w[o+i]);r=d.join("")}return dt(e),r},toWireType(e,r){var n;r instanceof ArrayBuffer&&(r=new Uint8Array(r));var o="string"==typeof r;o||r instanceof Uint8Array||r instanceof Uint8ClampedArray||r instanceof Int8Array||$e("Cannot pass non-string to std::string"),n=t&&o?me(r):r.length;var a=ut(4+n+1),i=a+4;if(_[a>>2]=n,t&&o)Mr(r,i,n+1);else if(o)for(var s=0;s<n;++s){var l=r.charCodeAt(s);l>255&&(dt(i),$e("String has UTF-16 code units that do not fit in 8 bits")),w[i+s]=l}else for(s=0;s<n;++s)w[i+s]=r[s];return null!==e&&e.push(dt,a),a},argPackAdvance:8,readValueFromPointer:lr,destructorFunction(e){dt(e)}})},_embind_register_std_wstring:(e,r,t)=>{var n,o,a,i;t=De(t),2===r?(n=Rr,o=Ir,i=Nr,a=e=>T[e>>1]):4===r&&(n=Lr,o=Ur,i=xr,a=e=>_[e>>2]),Ne(e,{name:t,fromWireType:e=>{for(var t,o=_[e>>2],i=e+4,s=0;s<=o;++s){var l=e+4+s*r;if(s==o||0==a(l)){var d=n(i,l-i);void 0===t?t=d:(t+=String.fromCharCode(0),t+=d),i=l+r}}return dt(e),t},toWireType:(e,n)=>{"string"!=typeof n&&$e(`Cannot pass non-string to C++ string type ${t}`);var a=i(n),s=ut(4+a+r);return _[s>>2]=a/r,o(n,s+4,a+r),null!==e&&e.push(dt,s),s},argPackAdvance:8,readValueFromPointer:lr,destructorFunction(e){dt(e)}})},_embind_register_void:(e,r)=>{Ne(e,{isVoid:!0,name:r=De(r),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,r)=>{}})},_emval_as:(e,r,t)=>(e=kr.toValue(e),r=jr(r,"emval::as"),Br(r,t,e)),_emval_call_method:(e,r,t,n,o)=>{var a,i;return(e=zr[e])(r=kr.toValue(r),r[t=void 0===(i=Wr[a=t])?De(a):i],n,o)},_emval_decref:Sr,_emval_get_method_caller:(e,r,t)=>{var n=((e,r)=>{for(var t=new Array(e),n=0;n<e;++n)t[n]=jr(_[r+4*n>>2],"parameter "+n);return t})(e,r),o=n.shift();e--;var a="return function (obj, func, destructorsRef, args) {\n",i=0,s=[];0===t&&s.push("obj");for(var l=["retType"],d=[o],u=0;u<e;++u)s.push("arg"+u),l.push("argType"+u),d.push(n[u]),a+=` var arg${u} = argType${u}.readValueFromPointer(args${i?"+"+i:""});\n`,i+=n[u].argPackAdvance;a+=` var rv = ${1===t?"new func":"func.call"}(${s.join(", ")});\n`,o.isVoid||(l.push("emval_returnValue"),d.push(Br),a+=" return emval_returnValue(retType, destructorsRef, rv);\n"),a+="};\n",l.push(a);var c,f,p=wr(Function,l)(...d),m=`methodCaller<(${n.map((e=>e.name)).join(", ")}) => ${o.name}>`;return c=rr(m,p),f=zr.length,zr.push(c),f},_emval_run_destructors:e=>{var r=kr.toValue(e);vr(r),Sr(e)},_emval_take_value:(e,r)=>{var t=(e=jr(e,"_emval_take_value")).readValueFromPointer(r);return kr.toHandle(t)},_gmtime_js:function(e,r,t){var n=Vr(e,r),o=new Date(1e3*n);C[t>>2]=o.getUTCSeconds(),C[t+4>>2]=o.getUTCMinutes(),C[t+8>>2]=o.getUTCHours(),C[t+12>>2]=o.getUTCDate(),C[t+16>>2]=o.getUTCMonth(),C[t+20>>2]=o.getUTCFullYear()-1900,C[t+24>>2]=o.getUTCDay();var a=Date.UTC(o.getUTCFullYear(),0,1,0,0,0,0),i=(o.getTime()-a)/864e5|0;C[t+28>>2]=i},_localtime_js:function(e,r,t){var n=Vr(e,r),o=new Date(1e3*n);C[t>>2]=o.getSeconds(),C[t+4>>2]=o.getMinutes(),C[t+8>>2]=o.getHours(),C[t+12>>2]=o.getDate(),C[t+16>>2]=o.getMonth(),C[t+20>>2]=o.getFullYear()-1900,C[t+24>>2]=o.getDay();var a=0|Yr(o);C[t+28>>2]=a,C[t+36>>2]=-60*o.getTimezoneOffset();var i=new Date(o.getFullYear(),0,1),s=new Date(o.getFullYear(),6,1).getTimezoneOffset(),l=i.getTimezoneOffset(),d=0|(s!=l&&o.getTimezoneOffset()==Math.min(l,s));C[t+32>>2]=d},_mktime_js:function(e){var r,t=(()=>{var r=new Date(C[e+20>>2]+1900,C[e+16>>2],C[e+12>>2],C[e+8>>2],C[e+4>>2],C[e>>2],0),t=C[e+32>>2],n=r.getTimezoneOffset(),o=new Date(r.getFullYear(),0,1),a=new Date(r.getFullYear(),6,1).getTimezoneOffset(),i=o.getTimezoneOffset(),s=Math.min(i,a);if(t<0)C[e+32>>2]=Number(a!=i&&s==n);else if(t>0!=(s==n)){var l=Math.max(i,a),d=t>0?s:l;r.setTime(r.getTime()+6e4*(d-n))}C[e+24>>2]=r.getDay();var u=0|Yr(r);C[e+28>>2]=u,C[e>>2]=r.getSeconds(),C[e+4>>2]=r.getMinutes(),C[e+8>>2]=r.getHours(),C[e+12>>2]=r.getDate(),C[e+16>>2]=r.getMonth(),C[e+20>>2]=r.getYear();var c=r.getTime();return isNaN(c)?-1:c/1e3})();return V=t,r=+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0,pt(r),t>>>0},_tzset_js:(e,r,t,n)=>{var o=(new Date).getFullYear(),a=new Date(o,0,1),i=new Date(o,6,1),s=a.getTimezoneOffset(),l=i.getTimezoneOffset(),d=Math.max(s,l);_[e>>2]=60*d,C[r>>2]=Number(s!=l);var u=e=>e.toLocaleTimeString(void 0,{hour12:!1,timeZoneName:"short"}).split(" ")[1],c=u(a),f=u(i);A(c),A(f),A(me(c)<=16,`timezone name truncated to fit in TZNAME_MAX (${c})`),A(me(f)<=16,`timezone name truncated to fit in TZNAME_MAX (${f})`),l<s?(Mr(c,t,17),Mr(f,n,17)):(Mr(c,n,17),Mr(f,t,17))},emscripten_date_now:()=>Date.now(),emscripten_log:(e,r,t)=>{var n=Zr(r,t);((e,r)=>{24&e&&(r=r.replace(/\s+$/,""),r+=(r.length>0?"\n":"")+Qr(e)),1&e||(6&e?v(r):y(r))})(e,ie(n,0))},emscripten_resize_heap:e=>{var r=w.length;A((e>>>=0)>r);var t=2147483648;if(e>t)return v(`Cannot enlarge memory, requested ${e} bytes, but the limit is 2147483648 bytes!`),!1;for(var n,o,a=1;a<=4;a*=2){var i=r*(1+.2/a);i=Math.min(i,e+100663296);var s=Math.min(t,(n=Math.max(e,i))+((o=65536)-n%o)%o);if(nt(s))return!0}return v(`Failed to grow the heap from ${r} bytes to ${s} bytes, not enough memory!`),!1},environ_get:(e,r)=>{var t=0;return at().forEach(((n,o)=>{var a=r+t;_[e+4*o>>2]=a,((e,r)=>{for(var t=0;t<e.length;++t)A(e.charCodeAt(t)===(255&e.charCodeAt(t))),E[r++]=e.charCodeAt(t);E[r]=0})(n,a),t+=n.length+1})),0},environ_sizes_get:(e,r)=>{var t=at();_[e>>2]=t.length;var n=0;return t.forEach((e=>n+=e.length+1)),_[r>>2]=n,0},fd_close:function(e){try{var r=Ae.getStreamFromFD(e);return ke.close(r),0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}},fd_fdstat_get:function(e,r){try{var t=Ae.getStreamFromFD(e),n=t.tty?2:ke.isDir(t.mode)?3:ke.isLink(t.mode)?7:4;return E[r]=n,b[r+2>>1]=0,H=[0,(V=0,+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],C[r+8>>2]=H[0],C[r+12>>2]=H[1],H=[0,(V=0,+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],C[r+16>>2]=H[0],C[r+20>>2]=H[1],0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}},fd_read:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var i=_[r>>2],s=_[r+4>>2];r+=8;var l=ke.read(e,E,i,s,n);if(l<0)return-1;if(o+=l,l<s)break}return o})(Ae.getStreamFromFD(e),r,t);return _[n>>2]=o,0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}},fd_seek:function(e,r,t,n,o){var a=Vr(r,t);try{if(isNaN(a))return 61;var i=Ae.getStreamFromFD(e);return ke.llseek(i,a,n),H=[i.position>>>0,(V=i.position,+Math.abs(V)>=1?V>0?+Math.floor(V/4294967296)>>>0:~~+Math.ceil((V-+(~~V>>>0))/4294967296)>>>0:0)],C[o>>2]=H[0],C[o+4>>2]=H[1],i.getdents&&0===a&&0===n&&(i.getdents=null),0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}},fd_write:function(e,r,t,n){try{var o=((e,r,t,n)=>{for(var o=0,a=0;a<t;a++){var i=_[r>>2],s=_[r+4>>2];r+=8;var l=ke.write(e,E,i,s,n);if(l<0)return-1;o+=l}return o})(Ae.getStreamFromFD(e),r,t);return _[n>>2]=o,0}catch(e){if(void 0===ke||"ErrnoError"!==e.name)throw e;return e.errno}}},lt=function(){var e={env:st,wasi_snapshot_preview1:st};function r(e,r){var t;return lt=e.exports,A(g=lt.memory,"memory not found in wasm exports"),D(),A(ur=lt.__indirect_function_table,"table not found in wasm exports"),t=lt.__wasm_call_ctors,M.unshift(t),B("wasm-instantiate"),lt}j("wasm-instantiate");var t,n,o,a=s;if(s.instantiateWasm)try{return s.instantiateWasm(e,r)}catch(e){return v(`Module.instantiateWasm callback failed with error: ${e}`),!1}return z||(z=q()),t=z,n=e,o=function(e){A(s===a,"the Module object should not be replaced during async compilation - perhaps the order of HTML elements is wrong?"),a=null,r(e.instance)},h||"function"!=typeof WebAssembly.instantiateStreaming||G(t)||"function"!=typeof fetch?J(t,n,o):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,n).then(o,(function(e){return v(`wasm streaming compile failed: ${e}`),v("falling back to ArrayBuffer instantiation"),J(t,n,o)})))),{}}(),dt=X("free",1),ut=X("malloc",1),ct=X("__getTypeName",1),ft=X("fflush",1),pt=X("_emscripten_tempret_set",1),mt=()=>(mt=lt.emscripten_stack_init)(),ht=()=>(ht=lt.emscripten_stack_get_end)();function gt(){var e;mt(),A(!(3&(e=ht()))),0==e&&(e+=4),_[e>>2]=34821223,_[e+4>>2]=2310721022,_[0]=1668509029}function yt(){function e(){it||(it=!0,s.calledRun=!0,k||(A(!R),R=!0,O(),s.noFSInit||ke.init.initialized||ke.init(),ke.ignorePermissions=!1,te(M),s.onRuntimeInitialized&&s.onRuntimeInitialized(),A(!s._main,'compiled without a main, but one is present. if you added it from JS, use Module["onRuntimeInitialized"]'),function(){if(O(),s.postRun)for("function"==typeof s.postRun&&(s.postRun=[s.postRun]);s.postRun.length;)e=s.postRun.shift(),$.unshift(e);var e;te($)}()))}I>0||(gt(),function(){if(s.preRun)for("function"==typeof s.preRun&&(s.preRun=[s.preRun]);s.preRun.length;)e=s.preRun.shift(),F.unshift(e);var e;te(F)}(),I>0||(s.setStatus?(s.setStatus("Running..."),setTimeout((function(){setTimeout((function(){s.setStatus("")}),1),e()}),1)):e(),O()))}if(s.dynCall_ijiii=X("dynCall_ijiii",6),s.dynCall_viiijj=X("dynCall_viiijj",8),s.dynCall_jij=X("dynCall_jij",4),s.dynCall_jii=X("dynCall_jii",3),s.dynCall_jiji=X("dynCall_jiji",5),s._ff_h264_cabac_tables=119404,["writeI53ToI64","writeI53ToI64Clamped","writeI53ToI64Signaling","writeI53ToU64Clamped","writeI53ToU64Signaling","readI53FromI64","readI53FromU64","stackAlloc","getTempRet0","exitJS","arraySum","addDays","inetPton4","inetNtop4","inetPton6","inetNtop6","readSockaddr","writeSockaddr","readEmAsmArgs","jstoi_q","listenOnce","autoResumeAudioContext","setWasmTableEntry","handleException","keepRuntimeAlive","runtimeKeepalivePush","runtimeKeepalivePop","callUserCallback","maybeExit","asmjsMangle","HandleAllocator","getNativeTypeSize","STACK_SIZE","STACK_ALIGN","POINTER_SIZE","ASSERTIONS","getCFunc","ccall","cwrap","uleb128Encode","sigToWasmTypes","generateFuncType","convertJsFunctionToWasm","getEmptyTableSlot","updateTableMap","getFunctionAddress","addFunction","removeFunction","intArrayToString","AsciiToString","stringToNewUTF8","stringToUTF8OnStack","writeArrayToMemory","registerKeyEventCallback","maybeCStringToJsString","findEventTarget","getBoundingClientRect","fillMouseEventData","registerMouseEventCallback","registerWheelEventCallback","registerUiEventCallback","registerFocusEventCallback","fillDeviceOrientationEventData","registerDeviceOrientationEventCallback","fillDeviceMotionEventData","registerDeviceMotionEventCallback","screenOrientation","fillOrientationChangeEventData","registerOrientationChangeEventCallback","fillFullscreenChangeEventData","registerFullscreenChangeEventCallback","JSEvents_requestFullscreen","JSEvents_resizeCanvasForFullscreen","registerRestoreOldStyle","hideEverythingExceptGivenElement","restoreHiddenElements","setLetterbox","softFullscreenResizeWebGLRenderTarget","doRequestFullscreen","fillPointerlockChangeEventData","registerPointerlockChangeEventCallback","registerPointerlockErrorEventCallback","requestPointerLock","fillVisibilityChangeEventData","registerVisibilityChangeEventCallback","registerTouchEventCallback","fillGamepadEventData","registerGamepadEventCallback","registerBeforeUnloadEventCallback","fillBatteryEventData","battery","registerBatteryEventCallback","setCanvasElementSize","getCanvasElementSize","convertPCtoSourceLocation","checkWasiClock","wasiRightsToMuslOFlags","wasiOFlagsToMuslOFlags","createDyncallWrapper","safeSetTimeout","setImmediateWrapped","clearImmediateWrapped","polyfillSetImmediate","getPromise","makePromise","idsToPromises","makePromiseCallback","ExceptionInfo","findMatchingCatch","Browser_asyncPrepareDataCounter","setMainLoop","getSocketFromFD","getSocketAddress","FS_unlink","FS_mkdirTree","_setNetworkCallback","heapObjectForWebGLType","toTypedArrayIndex","webgl_enable_ANGLE_instanced_arrays","webgl_enable_OES_vertex_array_object","webgl_enable_WEBGL_draw_buffers","webgl_enable_WEBGL_multi_draw","emscriptenWebGLGet","computeUnpackAlignedImageSize","colorChannelsInGlTextureFormat","emscriptenWebGLGetTexPixelData","emscriptenWebGLGetUniform","webglGetUniformLocation","webglPrepareUniformLocationsBeforeFirstUse","webglGetLeftBracePos","emscriptenWebGLGetVertexAttrib","__glGetActiveAttribOrUniform","writeGLArray","registerWebGlEventCallback","runAndAbortIfError","ALLOC_NORMAL","ALLOC_STACK","allocate","writeStringToMemory","writeAsciiToMemory","setErrNo","demangle","stackTrace","getFunctionArgsName","createJsInvokerSignature","registerInheritedInstance","unregisterInheritedInstance","enumReadValueFromPointer","emval_get_global"].forEach((function(e){"undefined"==typeof globalThis||Object.getOwnPropertyDescriptor(globalThis,e)||Object.defineProperty(globalThis,e,{configurable:!0,get(){var r=`\`${e}\` is a library symbol and not included by default; add it to your library.js __deps or to DEFAULT_LIBRARY_FUNCS_TO_INCLUDE on the command line`,t=e;t.startsWith("_")||(t="$"+e),r+=` (e.g. -sDEFAULT_LIBRARY_FUNCS_TO_INCLUDE='${t}')`,Q(e)&&(r+=". Alternatively, forcing filesystem support (-sFORCE_FILESYSTEM) can export this for you"),oe(r)}}),re(e)})),["run","addOnPreRun","addOnInit","addOnPreMain","addOnExit","addOnPostRun","addRunDependency","removeRunDependency","FS_createFolder","FS_createPath","FS_createLazyFile","FS_createLink","FS_createDevice","FS_readFile","out","err","callMain","abort","wasmMemory","wasmExports","writeStackCookie","checkStackCookie","convertI32PairToI53","convertI32PairToI53Checked","convertU32PairToI53","stackSave","stackRestore","setTempRet0","ptrToString","zeroMemory","getHeapMax","growMemory","ENV","MONTH_DAYS_REGULAR","MONTH_DAYS_LEAP","MONTH_DAYS_REGULAR_CUMULATIVE","MONTH_DAYS_LEAP_CUMULATIVE","isLeapYear","ydayFromDate","ERRNO_CODES","ERRNO_MESSAGES","DNS","Protocols","Sockets","initRandomFill","randomFill","timers","warnOnce","emscriptenLog","readEmAsmArgsArray","jstoi_s","getExecutableName","dynCallLegacy","getDynCaller","dynCall","getWasmTableEntry","asyncLoad","alignMemory","mmapAlloc","wasmTable","noExitRuntime","freeTableIndexes","functionsInTableMap","reallyNegative","unSign","strLen","reSign","formatString","setValue","getValue","PATH","PATH_FS","UTF8Decoder","UTF8ArrayToString","UTF8ToString","stringToUTF8Array","stringToUTF8","lengthBytesUTF8","intArrayFromString","stringToAscii","UTF16Decoder","UTF16ToString","stringToUTF16","lengthBytesUTF16","UTF32ToString","stringToUTF32","lengthBytesUTF32","JSEvents","specialHTMLTargets","findCanvasEventTarget","currentFullscreenStrategy","restoreOldWindowedStyle","jsStackTrace","getCallstack","UNWIND_CACHE","ExitStatus","getEnvStrings","doReadv","doWritev","promiseMap","uncaughtExceptionCount","exceptionLast","exceptionCaught","Browser","getPreloadedImageData__data","wget","SYSCALLS","preloadPlugins","FS_createPreloadedFile","FS_modeStringToFlags","FS_getMode","FS_stdin_getChar_buffer","FS_stdin_getChar","FS","FS_createDataFile","MEMFS","TTY","PIPEFS","SOCKFS","tempFixedLengthArray","miniTempWebGLFloatBuffers","miniTempWebGLIntBuffers","GL","AL","GLUT","EGL","GLEW","IDBStore","SDL","SDL_gfx","allocateUTF8","allocateUTF8OnStack","InternalError","BindingError","throwInternalError","throwBindingError","registeredTypes","awaitingDependencies","typeDependencies","tupleRegistrations","structRegistrations","sharedRegisterType","whenDependentTypesAreResolved","embind_charCodes","embind_init_charCodes","readLatin1String","getTypeName","getFunctionName","heap32VectorToArray","requireRegisteredType","usesDestructorStack","createJsInvoker","UnboundTypeError","PureVirtualError","GenericWireTypeSize","EmValType","init_embind","throwUnboundTypeError","ensureOverloadTable","exposePublicSymbol","replacePublicSymbol","extendError","createNamedFunction","embindRepr","registeredInstances","getBasestPointer","getInheritedInstance","getInheritedInstanceCount","getLiveInheritedInstances","registeredPointers","registerType","integerReadValueFromPointer","floatReadValueFromPointer","readPointer","runDestructors","newFunc","craftInvokerFunction","embind__requireFunction","genericPointerToWireType","constNoSmartPtrRawPointerToWireType","nonConstNoSmartPtrRawPointerToWireType","init_RegisteredPointer","RegisteredPointer","RegisteredPointer_fromWireType","runDestructor","releaseClassHandle","finalizationRegistry","detachFinalizer_deps","detachFinalizer","attachFinalizer","makeClassHandle","init_ClassHandle","ClassHandle","throwInstanceAlreadyDeleted","deletionQueue","flushPendingDeletes","delayFunction","setDelayFunction","RegisteredClass","shallowCopyInternalPointer","downcastPointer","upcastPointer","validateThis","char_0","char_9","makeLegalFunctionName","emval_freelist","emval_handles","emval_symbols","init_emval","count_emval_handles","getStringOrSymbol","Emval","emval_returnValue","emval_lookupTypes","emval_methodCallers","emval_addMethodCaller","reflectConstruct"].forEach(re),L=function e(){it||yt(),it||(L=e)},s.preInit)for("function"==typeof s.preInit&&(s.preInit=[s.preInit]);s.preInit.length>0;)s.preInit.pop()();return yt(),u=s}(),h=e(m);var g=function(){if(p)return f;p=1;var e=function(e){return function(e){return!!e&&"object"==typeof e}(e)&&!function(e){var t=Object.prototype.toString.call(e);return"[object RegExp]"===t||"[object Date]"===t||function(e){return e.$$typeof===r}(e)}(e)},r="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function t(e,r){return!1!==r.clone&&r.isMergeableObject(e)?s((t=e,Array.isArray(t)?[]:{}),e,r):e;var t}function n(e,r,n){return e.concat(r).map((function(e){return t(e,n)}))}function o(e){return Object.keys(e).concat(function(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter((function(r){return Object.propertyIsEnumerable.call(e,r)})):[]}(e))}function a(e,r){try{return r in e}catch(e){return!1}}function i(e,r,n){var i={};return n.isMergeableObject(e)&&o(e).forEach((function(r){i[r]=t(e[r],n)})),o(r).forEach((function(o){(function(e,r){return a(e,r)&&!(Object.hasOwnProperty.call(e,r)&&Object.propertyIsEnumerable.call(e,r))})(e,o)||(a(e,o)&&n.isMergeableObject(r[o])?i[o]=function(e,r){if(!r.customMerge)return s;var t=r.customMerge(e);return"function"==typeof t?t:s}(o,n)(e[o],r[o],n):i[o]=t(r[o],n))})),i}function s(r,o,a){(a=a||{}).arrayMerge=a.arrayMerge||n,a.isMergeableObject=a.isMergeableObject||e,a.cloneUnlessOtherwiseSpecified=t;var s=Array.isArray(o);return s===Array.isArray(r)?s?a.arrayMerge(r,o,a):i(r,o,a):t(o,a)}return s.all=function(e,r){if(!Array.isArray(e))throw new Error("first argument should be an array");return e.reduce((function(e,t){return s(e,t,r)}),{})},f=s}(),y={videoBuffer:.2,videoBufferDelay:1e3,debug:!1,openWebglAlignment:!1},v="initVideo",E="render",w="playAudio",b="initAudio",T="audioCode",C="videoCode",_=1,S=2,P="init",k="decode",A="audioDecode",D="videoDecode",O="close",F="updateConfig",M=e(g)({fullscreenChange:"fullscreenChange",orientationChange:"orientationChange",decoderWorkerInit:"decoderWorkerInit",play:"play",playing:"playing",pause:"pause",mute:"mute",load:"load",loading:"loading",loaded:"loaded",videoInfo:"videoInfo",timeUpdate:"timeUpdate",timeUpdateOSD:"timeUpdateOSD",audioInfo:"audioInfo",log:"log",error:"error",kBps:"kBps",timeout:"timeout",heartTimeout:"heartTimeout",heartRetryTimes:"heartRetryTimes",delayTimeout:"delayTimeout",loadingTimeout:"loadingTimeout",loadingRetryTimes:"loadingRetryTimes",stats:"stats",performance:"performance",buffer:"buffer",videoFrame:"videoFrame",start:"start",metadata:"metadata",resize:"resize",streamEnd:"streamEnd",streamSuccess:"streamSuccess",streamMessage:"streamMessage",streamError:"streamError",volumechange:"volumechange",audioCodecUnsupported:"audioCodecUnsupported",unrecoverableEarlyEof:"unrecoverableEarlyEof",destroy:"destroy",mseSourceOpen:"mseSourceOpen",mseSourceClose:"mseSourceClose",mseSourceBufferError:"mseSourceBufferError",mseSourceBufferBusy:"mseSourceBufferBusy",mseSourceBufferFull:"mseSourceBufferFull",videoWaiting:"videoWaiting",videoTimeUpdate:"videoTimeUpdate",videoSyncAudio:"videoSyncAudio",playToRenderTimes:"playToRenderTimes",localVideoRecords:"localVideoRecords",getDefinitionListResult:"getDefinitionListResult",definitionChange:"definitionChange",definitionListChange:"definitionListChange",playbackRateListChange:"playbackRateListChange",playbackRateChange:"playbackRateChange",decoderLoaded:"decoderLoaded",end:"end",recordInputData:"recordInputData",startRecord:"startRecord",stopRecord:"stopRecord",flvStream:"flvStream"},{loading:"loading",play:"play",capturePicture:"capturePicture",volumechange:"volumechange",zoomChange:"zoomChange",zoomingChange:"zoomingChange",zoomTranslateChange:"zoomTranslateChange",audioInfo:"audioInfo",videoInfo:"videoInfo",firstFrameDisplay:"firstFrameDisplay",fullscreen:"fullscreen",exitFullscreen:"exitFullscreen",fullscreenChange:"fullscreenChange",resize:"resize",orientationChange:"orientationChange",audioCodecUnsupported:"audioCodecUnsupported",changeTheme:"changeTheme",recTypeChange:"recTypeChange",definitionChange:"definitionChange",speedChange:"speedChange",recordingChange:"recordingChange",talkingChange:"talkingChange",talkVolumeChange:"talkVolumeChange",broadcastChange:"broadcastChange",setLoggerOptions:"setLoggerOptions",records:"records",ptzSpeedChange:"ptzSpeedChange",setVideoLevelList:"setVideoLevelList",currentVideoLevel:"currentVideoLevel",currentVideoLevelAuto:"currentVideoLevelAuto",setAllDayRecTimes:"setAllDayRecTimes",getOSDTime:"getOSDTime",control:{play:"Control.play",playDestroy:"Control.playDestroy",capturePicture:"Control.capturePicture",capturePictureResult:"Control.capturePictureResult",capturePictureDestroy:"Control.capturePictureDestroy",volumechange:"Control.volumechange",volumePanelOpenChange:"Control.volumePanelOpenChange",volumeDestroy:"Control.volumeDestroy",controlsBarOpenChange:"Control.controlsBarOpenChange",headerMoreShowControlsChange:"Control.headerMoreShowControlsChange",headerMorePanelOpenChange:"Control.headerMorePanelOpenChange",footerMoreShowControlsChange:"Control.footerMoreShowControlsChange",footerMorePanelOpenChange:"Control.footerMorePanelOpenChange",deviceDestroy:"Control.deviceDestroy",recTypeChange:"Control.recTypeChange",recDestroy:"Control.recDestroy",definitionChange:"Control.definitionChange",definitionList:"Control.definitionList",definitionPanelOpenChange:"Control.definitionPanelOpenChange",definitionDestroy:"Control.definitionDestroy",speedChange:"Control.speedChange",speedPanelOpenChange:"Control.speedPanelOpenChange",speedDestroy:"Control.speedDestroy",ptzPanelOpenChange:"Control.ptzPanelOpenChange",ptzSpeedChange:"Control.ptzSpeedChange",ptzError:"Control.ptzError",ptzDestroy:"Control.ptzDestroy",recordingChange:"Control.recordingChange",recordDestroy:"Control.recordDestroy",talkingChange:"Control.talkingChange",talkError:"Control.talkError",talkDestroy:"Control.talkDestroy",broadcastChange:"Control.broadcastChange",broadcastDestroy:"Control.broadcastDestroy",zoomChange:"Control.zoomChange",zoomPanelOpenChange:"Control.zoomPanelOpenChange",zoomDestroy:"Control.zoomDestroy",fullscreenDestroy:"Control.fullscreenDestroy",globalFullscreenDestroy:"Control.globalFullscreenDestroy",datePanelOpenChange:"Control.datePanelOpenChange",dateChange:"Control.dateChange",dateMonthChange:"Control.dateMonthChange",dateDestroy:"Control.datePanelDestroy",timeLineChange:"Control.timeLineChange",timeLinePanelOpenChange:"Control.timeLinePanelOpenChange",timeLineDestroy:"Control.timeLineDestroy",beforeMountControls:"Control.beforeMountControls",mountedControls:"Control.mountedControls",beforeUnmountControls:"Control.beforeUnmountControls",unmountedControls:"Control.unmountedControls",posterDestroy:"Control.posterDestroy",loadingDestroy:"Control.loadingDestroy",messageDestroy:"Control.messageDestroy",contentDestroy:"Control.contentDestroy",contentRerender:"Control.contentRerender"},theme:{beforeDestroy:"Theme.beforeDestroy",destroyed:"Theme.destroyed",mobileExtendDestroy:"Theme.mobileExtendDestroy",recFooterDestroy:"Theme.recFooterDestroy"},message:"message"},{clone:!1});M.load,M.timeUpdate,M.videoInfo,M.audioInfo,M.error,M.kBps,M.log,M.start,M.delayTimeout,M.play,M.pause,M.mute,M.stats,M.volumechange,M.performance,M.playToRenderTimes,M.flvStream,M.mseSourceBufferFull,M.mseSourceBufferError;var $="key",R="delta";(()=>{try{if("object"==typeof WebAssembly&&"function"==typeof WebAssembly.instantiate){const e=new WebAssembly.Module(Uint8Array.of(0,97,115,109,1,0,0,0));if(e instanceof WebAssembly.Module)return new WebAssembly.Instance(e)instanceof WebAssembly.Instance}}catch(e){}})(),Date.now||(Date.now=function(){return(new Date).getTime()}),h.postRun=function(){let e=[],r=[],t={};"VideoEncoder"in self&&(t={hasInit:!1,isEmitInfo:!1,offscreenCanvas:null,offscreenCanvasCtx:null,decoder:new VideoDecoder({output:function(e){t.isEmitInfo||(n.opt.debug,postMessage({cmd:v,w:e.codedWidth,h:e.codedHeight}),t.isEmitInfo=!0,t.offscreenCanvas=new OffscreenCanvas(e.codedWidth,e.codedHeight),t.offscreenCanvasCtx=t.offscreenCanvas.getContext("2d")),t.offscreenCanvasCtx.drawImage(e,0,0,e.codedWidth,e.codedHeight);const r=t.offscreenCanvas.transferToImageBitmap();postMessage({cmd:E,buffer:r,delay:n.delay,ts:0},[r]),setTimeout((function(){e.close?e.close():e.destroy()}),100)},error:function(e){}}),decode:function(e,r){const o=e[0]>>4==1;if(t.hasInit){const n=new EncodedVideoChunk({data:e.slice(5),timestamp:r,type:o?$:R});t.decoder.decode(n)}else if(o&&0===e[1]){const r=15&e[0];n.setVideoCodec(r);const o=function(e){const r=e.subarray(1,4);let t="avc1.";for(let e=0;e<3;e++){let n=r[e].toString(16);n.length<2&&(n="0"+n),t+=n}return{codec:t,description:e}}(e.slice(5));t.decoder.configure(o),t.hasInit=!0}},reset(){t.hasInit=!1,t.isEmitInfo=!1,t.offscreenCanvas=null,t.offscreenCanvasCtx=null}});const n={opt:{debug:y.debug,useOffscreen:y.useOffscreen,useWCS:y.useWCS,videoBuffer:y.videoBuffer,openWebglAlignment:y.openWebglAlignment,videoBufferDelay:y.videoBufferDelay},useOffscreen:function(){return n.opt.useOffscreen&&"undefined"!=typeof OffscreenCanvas},initAudioPlanar:function(e,t){postMessage({cmd:b,sampleRate:t,channels:e});const n=[];let o=0;this.playAudioPlanar=function(t,a,i){let s=a;const l=[];let d=0;for(let e=0;e<2;e++){const r=h.HEAPU32[(t>>2)+e]>>2;l[e]=h.HEAPF32.subarray(r,r+s)}if(o){if(!(s>=(a=1024-o)))return o+=s,r[0]=Float32Array.of(...r[0],...l[0]),void(2===e&&(r[1]=Float32Array.of(...r[1],...l[1])));n[0]=Float32Array.of(...r[0],...l[0].subarray(0,a)),2===e&&(n[1]=Float32Array.of(...r[1],...l[1].subarray(0,a))),postMessage({cmd:w,buffer:n,ts:i},n.map((e=>e.buffer))),d=a,s-=a}for(o=s;o>=1024;o-=1024)n[0]=l[0].slice(d,d+=1024),2===e&&(n[1]=l[1].slice(d-1024,d)),postMessage({cmd:w,buffer:n,ts:i},n.map((e=>e.buffer)));o&&(r[0]=l[0].slice(d),2===e&&(r[1]=l[1].slice(d)))}},setVideoCodec:function(e){postMessage({cmd:C,code:e})},setAudioCodec:function(e){postMessage({cmd:T,code:e})},setVideoSize:function(e,r){postMessage({cmd:v,w:e,h:r});const t=e*r,o=t>>2;n.useOffscreen()?(this.offscreenCanvas=new OffscreenCanvas(e,r),this.offscreenCanvasGL=this.offscreenCanvas.getContext("webgl"),this.webglObj=((e,r)=>{var t=["attribute vec4 vertexPos;","attribute vec4 texturePos;","varying vec2 textureCoord;","void main()","{","gl_Position = vertexPos;","textureCoord = texturePos.xy;","}"].join("\n"),n=["precision highp float;","varying highp vec2 textureCoord;","uniform sampler2D ySampler;","uniform sampler2D uSampler;","uniform sampler2D vSampler;","const mat4 YUV2RGB = mat4","(","1.1643828125, 0, 1.59602734375, -.87078515625,","1.1643828125, -.39176171875, -.81296875, .52959375,","1.1643828125, 2.017234375, 0, -1.081390625,","0, 0, 0, 1",");","void main(void) {","highp float y = texture2D(ySampler, textureCoord).r;","highp float u = texture2D(uSampler, textureCoord).r;","highp float v = texture2D(vSampler, textureCoord).r;","gl_FragColor = vec4(y, u, v, 1) * YUV2RGB;","}"].join("\n");r&&e.pixelStorei(e.UNPACK_ALIGNMENT,1);var o=e.createShader(e.VERTEX_SHADER);e.shaderSource(o,t),e.compileShader(o),e.getShaderParameter(o,e.COMPILE_STATUS);var a=e.createShader(e.FRAGMENT_SHADER);e.shaderSource(a,n),e.compileShader(a),e.getShaderParameter(a,e.COMPILE_STATUS);var i=e.createProgram();e.attachShader(i,o),e.attachShader(i,a),e.linkProgram(i),e.getProgramParameter(i,e.LINK_STATUS),e.useProgram(i);var s=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,s),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,1,-1,1,1,-1,-1,-1]),e.STATIC_DRAW);var l=e.getAttribLocation(i,"vertexPos");e.enableVertexAttribArray(l),e.vertexAttribPointer(l,2,e.FLOAT,!1,0,0);var d=e.createBuffer();e.bindBuffer(e.ARRAY_BUFFER,d),e.bufferData(e.ARRAY_BUFFER,new Float32Array([1,0,0,0,1,1,0,1]),e.STATIC_DRAW);var u=e.getAttribLocation(i,"texturePos");function c(r,t){var n=e.createTexture();return e.bindTexture(e.TEXTURE_2D,n),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.LINEAR),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.bindTexture(e.TEXTURE_2D,null),e.uniform1i(e.getUniformLocation(i,r),t),n}e.enableVertexAttribArray(u),e.vertexAttribPointer(u,2,e.FLOAT,!1,0,0);var f=c("ySampler",0),p=c("uSampler",1),m=c("vSampler",2);return{render:function(r,t,n,o,a){e.viewport(0,0,r,t),e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,f),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r,t,0,e.LUMINANCE,e.UNSIGNED_BYTE,n),e.activeTexture(e.TEXTURE1),e.bindTexture(e.TEXTURE_2D,p),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r/2,t/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,o),e.activeTexture(e.TEXTURE2),e.bindTexture(e.TEXTURE_2D,m),e.texImage2D(e.TEXTURE_2D,0,e.LUMINANCE,r/2,t/2,0,e.LUMINANCE,e.UNSIGNED_BYTE,a),e.drawArrays(e.TRIANGLE_STRIP,0,4)},destroy:function(){try{e.deleteProgram(i),e.deleteBuffer(s),e.deleteBuffer(d),e.deleteTexture(f),e.deleteTexture(p),e.deleteTexture(m)}catch(e){}}}})(this.offscreenCanvasGL,n.opt.openWebglAlignment),this.draw=function(n,a,i,s){const l=h.HEAPU8.subarray(a,a+t),d=h.HEAPU8.subarray(i,i+o),u=h.HEAPU8.subarray(s,s+o);this.webglObj.render(e,r,l,d,u);const c=this.offscreenCanvas.transferToImageBitmap();postMessage({cmd:E,buffer:c,delay:this.delay,ts:n},[c])}):this.draw=function(e,r,n,a,i,s){const l=[Uint8Array.from(h.HEAPU8.subarray(r,r+t)),Uint8Array.from(h.HEAPU8.subarray(n,n+o)),Uint8Array.from(h.HEAPU8.subarray(a,a+o))];postMessage({cmd:E,output:l,delay:this.delay,ts:e,w:i,h:s},l.map((e=>e.buffer)))}},getDelay:function(e){if(!e)return-1;if(this.firstTimestamp){if(e){const r=Date.now()-this.startTimestamp,t=e-this.firstTimestamp;this.delay=r>=t?r-t:t-r}}else this.firstTimestamp=e,this.startTimestamp=Date.now(),this.delay=-1;return this.delay},resetDelay:function(){this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1},init:function(){n.opt.debug;const r=e=>{n.opt.useWCS&&n.useOffscreen()&&e.type===S&&t.decode?t.decode(e.payload,e.ts):e.decoder.decode(e.payload,e.ts)};this.stopId=setInterval((()=>{if(e.length)if(this.dropping){let t=e.shift();for(t&&t.type===_&&0===t.payload[1]&&r(t);!t.isIFrame&&e.length;)t=e.shift(),t.type===_&&0===t.payload[1]&&r(t);t.isIFrame&&(this.dropping=!1,r(t))}else{let t=e[0];if(-1===this.getDelay(t.ts))e.shift(),r(t);else if(this.delay>n.opt.videoBuffer+n.opt.videoBufferDelay)this.resetDelay(),this.dropping=!0;else for(;e.length&&(t=e[0],this.getDelay(t.ts)>n.opt.videoBuffer);)e.shift(),r(t)}}),10)},close:function(){var i,s,l,d;n.opt.debug,clearInterval(this.stopId),this.stopId=null,null==o||null===(i=o.clear)||void 0===i||i.call(o),null==a||null===(s=a.clear)||void 0===s||s.call(a),null===(l=t)||void 0===l||null===(d=l.reset)||void 0===d||d.call(l),this.firstTimestamp=null,this.startTimestamp=null,this.delay=-1,this.dropping=!1,this.webglObj&&(this.webglObj.destroy(),this.offscreenCanvas=null,this.offscreenCanvasGL=null,this.offscreenCanvasCtx=null),e=[],r=[],delete this.playAudioPlanar,delete this.draw},pushBuffer:function(r,t){t.type===_?e.push({ts:t.ts,payload:r,decoder:o,type:_}):t.type===S&&e.push({ts:t.ts,payload:r,decoder:a,type:S,isIFrame:t.isIFrame})}},o=new h.AudioDecoder(n),a=new h.VideoDecoder(n);self.onmessage=function(e){const r=e.data;switch(r.cmd){case P:try{n.opt=Object.assign(n.opt,JSON.parse(r.opt))}catch(e){}o.sample_rate=r.sampleRate,n.init();break;case k:n.pushBuffer(r.buffer,r.options);break;case A:o.decode(r.buffer,r.ts);break;case D:a.decode(r.buffer,r.ts);break;case O:n.close();break;case F:n.opt[r.key]=r.value}}},h.onRuntimeInitialized=function(){setTimeout((()=>{postMessage({cmd:P})}),10)}}));