libheif-js
Version:
Emscripten distribution of libheif for Node.JS and the browser
3 lines • 1.46 MB
JavaScript
var process, __dirname;
var ge=Object.create;var Wj=Object.defineProperty;var xe=Object.getOwnPropertyDescriptor;var Le=Object.getOwnPropertyNames;var ye=Object.getPrototypeOf,Oe=Object.prototype.hasOwnProperty;var Je=(F=>typeof require!="undefined"?require:typeof Proxy!="undefined"?new Proxy(F,{get:(f,b)=>(typeof require!="undefined"?require:f)[b]}):F)(function(F){if(typeof require!="undefined")return require.apply(this,arguments);throw Error('Dynamic require of "'+F+'" is not supported')});var ij=(F,f)=>()=>(f||F((f={exports:{}}).exports,f),f.exports);var be=(F,f,b,K)=>{if(f&&typeof f=="object"||typeof f=="function")for(let r of Le(f))!Oe.call(F,r)&&r!==b&&Wj(F,r,{get:()=>f[r],enumerable:!(K=xe(f,r))||K.enumerable});return F};var De=(F,f,b)=>(b=F!=null?ge(ye(F)):{},be(f||!F||!F.__esModule?Wj(b,"default",{value:F,enumerable:!0}):b,F));var Zj=(()=>{for(var F=new Uint8Array(128),f=0;f<64;f++)F[f<26?f+65:f<52?f+71:f<62?f-4:f*4-205]=f;return b=>{for(var K=b.length,r=new Uint8Array((K-(b[K-1]=="=")-(b[K-2]=="="))*3/4|0),z=0,AA=0;z<K;){var nj=F[b.charCodeAt(z++)],qA=F[b.charCodeAt(z++)],jA=F[b.charCodeAt(z++)],_A=F[b.charCodeAt(z++)];r[AA++]=nj<<2|qA>>4,r[AA++]=qA<<4|jA>>2,r[AA++]=jA<<6|_A}return r}})();var A6=ij((h_,Qj)=>{Qj.exports={}});var t6=ij((m_,j6)=>{j6.exports={}});var k6=ij((r6,Ej)=>{var e6=(()=>{var F,f=typeof document!="undefined"?(F=document.currentScript)==null?void 0:F.src:void 0;return typeof __filename!="undefined"&&(f||(f=__filename)),function(b={}){var K,r=b,z,AA,nj=new Promise((A,j)=>{z=A,AA=j}),qA=typeof window=="object",jA=typeof importScripts=="function",_A=typeof process=="object"&&typeof process.versions=="object"&&typeof process.versions.node=="string",sj=Object.assign({},r),Gj=[],wA="./this.program",dj=(A,j)=>{throw j},M="";function _6(A){return r.locateFile?r.locateFile(A,M):M+A}var aA,CA,hA;if(_A){var SA=A6(),$j=t6();M=__dirname+"/",aA=(A,j)=>(A=XA(A)?new URL(A):$j.normalize(A),SA.readFileSync(A,j?void 0:"utf8")),hA=A=>{var j=aA(A,!0);return j.buffer||(j=new Uint8Array(j)),j},CA=(A,j,t,e=!0)=>{A=XA(A)?new URL(A):$j.normalize(A),SA.readFile(A,e?void 0:"utf8",(l,_)=>{l?t(l):j(e?_.buffer:_)})},!r.thisProgram&&process.argv.length>1&&(wA=process.argv[1].replace(/\\/g,"/")),Gj=process.argv.slice(2),dj=(A,j)=>{throw process.exitCode=A,j}}else(qA||jA)&&(jA?M=self.location.href:typeof document!="undefined"&&document.currentScript&&(M=document.currentScript.src),f&&(M=f),M.startsWith("blob:")?M="":M=M.substr(0,M.replace(/[?#].*/,"").lastIndexOf("/")+1),aA=A=>{var j=new XMLHttpRequest;return j.open("GET",A,!1),j.send(null),j.responseText},jA&&(hA=A=>{var j=new XMLHttpRequest;return j.open("GET",A,!1),j.responseType="arraybuffer",j.send(null),new Uint8Array(j.response)}),CA=(A,j,t)=>{if(XA(A)){var e=new XMLHttpRequest;e.open("GET",A,!0),e.responseType="arraybuffer",e.onload=()=>{if(e.status==200||e.status==0&&e.response){j(e.response);return}t()},e.onerror=t,e.send(null);return}fetch(A,{credentials:"same-origin"}).then(l=>l.ok?l.arrayBuffer():Promise.reject(new Error(l.status+" : "+l.url))).then(j,t)});var PA=r.print||console.log.bind(console),oA=r.printErr||console.error.bind(console);Object.assign(r,sj),sj=null,r.arguments&&(Gj=r.arguments),r.thisProgram&&(wA=r.thisProgram),r.quit&&(dj=r.quit);var MA;r.wasmBinary&&(MA=r.wasmBinary);var mA,uj=!1,a6,O,D,R,iA,H,m,pj,Hj;function cj(){var A=mA.buffer;r.HEAP8=O=new Int8Array(A),r.HEAP16=R=new Int16Array(A),r.HEAPU8=D=new Uint8Array(A),r.HEAPU16=iA=new Uint16Array(A),r.HEAP32=H=new Int32Array(A),r.HEAPU32=m=new Uint32Array(A),r.HEAPF32=pj=new Float32Array(A),r.HEAPF64=Hj=new Float64Array(A)}var qj=[],hj=[],mj=[],o6=!1;function i6(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)s6(r.preRun.shift());RA(qj)}function E6(){o6=!0,!r.noFSInit&&!k.init.initialized&&k.init(),k.ignorePermissions=!1,W.init(),RA(hj)}function n6(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)d6(r.postRun.shift());RA(mj)}function s6(A){qj.unshift(A)}function G6(A){hj.unshift(A)}function d6(A){mj.unshift(A)}var tA=0,KA=null,EA=null;function Ce(A){return A}function TA(A){var j;tA++,(j=r.monitorRunDependencies)==null||j.call(r,tA)}function NA(A){var j;if(tA--,(j=r.monitorRunDependencies)==null||j.call(r,tA),tA==0&&(KA!==null&&(clearInterval(KA),KA=null),EA)){var t=EA;EA=null,t()}}function nA(A){var j;(j=r.onAbort)==null||j.call(r,A),A="Aborted("+A+")",oA(A),uj=!0,a6=1,A+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(A);throw AA(t),t}var $6="data:application/octet-stream;base64,",u6=A=>A.startsWith($6),XA=A=>A.startsWith("file://");function p6(){var A="libheif.wasm";return u6(A)?A:_6(A)}var fA;function H6(A){if(A==fA&&MA)return new Uint8Array(MA);if(hA)return hA(A);throw'sync fetching of the wasm failed: you can preload it to Module["wasmBinary"] manually, or emcc.py will do that for you when generating HTML (but not JS)'}function c6(A,j){var t,e=H6(A);t=new WebAssembly.Module(e);var l=new WebAssembly.Instance(t,j);return[l,t]}function q6(){return{a:Ne}}function h6(){var A=q6();function j(e,l){return B=e.exports,mA=B.Q,cj(),bj=B.T,G6(B.R),NA("wasm-instantiate"),B}if(TA("wasm-instantiate"),r.instantiateWasm)try{return r.instantiateWasm(A,j)}catch(e){oA(`Module.instantiateWasm callback failed with error: ${e}`),AA(e)}fA||(fA=p6());var t=c6(fA,A);return j(t[0])}var h,J,RA=A=>{for(;A.length>0;)A.shift()(r)},Se=r.noExitRuntime||!0,Nj=typeof TextDecoder!="undefined"?new TextDecoder("utf8"):void 0,kA=(A,j,t)=>{for(var e=j+t,l=j;A[l]&&!(l>=e);)++l;if(l-j>16&&A.buffer&&Nj)return Nj.decode(A.subarray(j,l));for(var _="";j<l;){var a=A[j++];if(!(a&128)){_+=String.fromCharCode(a);continue}var o=A[j++]&63;if((a&224)==192){_+=String.fromCharCode((a&31)<<6|o);continue}var i=A[j++]&63;if((a&240)==224?a=(a&15)<<12|o<<6|i:a=(a&7)<<18|o<<12|i<<6|A[j++]&63,a<65536)_+=String.fromCharCode(a);else{var n=a-65536;_+=String.fromCharCode(55296|n>>10,56320|n&1023)}}return _},eA=(A,j)=>A?kA(D,A,j):"",m6=(A,j,t,e)=>{nA(`Assertion failed: ${eA(A)}, at: `+[j?eA(j):"unknown filename",t,e?eA(e):"unknown function"])};class N6{constructor(j){this.excPtr=j,this.ptr=j-24}set_type(j){m[this.ptr+4>>2]=j}get_type(){return m[this.ptr+4>>2]}set_destructor(j){m[this.ptr+8>>2]=j}get_destructor(){return m[this.ptr+8>>2]}set_caught(j){j=j?1:0,O[this.ptr+12]=j}get_caught(){return O[this.ptr+12]!=0}set_rethrown(j){j=j?1:0,O[this.ptr+13]=j}get_rethrown(){return O[this.ptr+13]!=0}init(j,t){this.set_adjusted_ptr(0),this.set_type(j),this.set_destructor(t)}set_adjusted_ptr(j){m[this.ptr+16>>2]=j}get_adjusted_ptr(){return m[this.ptr+16>>2]}get_exception_ptr(){var j=ve(this.get_type());if(j)return m[this.excPtr>>2];var t=this.get_adjusted_ptr();return t!==0?t:this.excPtr}}var fj=0,f6=0,v6=(A,j,t)=>{var e=new N6(A);throw e.init(j,t),fj=A,f6++,fj};function vA(){var A=H[+w.varargs>>2];return w.varargs+=4,A}var lA=vA,I={isAbs:A=>A.charAt(0)==="/",splitPath:A=>{var j=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/;return j.exec(A).slice(1)},normalizeArray:(A,j)=>{for(var t=0,e=A.length-1;e>=0;e--){var l=A[e];l==="."?A.splice(e,1):l===".."?(A.splice(e,1),t++):t&&(A.splice(e,1),t--)}if(j)for(;t;t--)A.unshift("..");return A},normalize:A=>{var j=I.isAbs(A),t=A.substr(-1)==="/";return A=I.normalizeArray(A.split("/").filter(e=>!!e),!j).join("/"),!A&&!j&&(A="."),A&&t&&(A+="/"),(j?"/":"")+A},dirname:A=>{var j=I.splitPath(A),t=j[0],e=j[1];return!t&&!e?".":(e&&(e=e.substr(0,e.length-1)),t+e)},basename:A=>{if(A==="/")return"/";A=I.normalize(A),A=A.replace(/\/$/,"");var j=A.lastIndexOf("/");return j===-1?A:A.substr(j+1)},join:(...A)=>I.normalize(A.join("/")),join2:(A,j)=>I.normalize(A+"/"+j)},F6=()=>{if(typeof crypto=="object"&&typeof crypto.getRandomValues=="function")return e=>crypto.getRandomValues(e);if(_A)try{var A=Je("crypto"),j=A.randomFillSync;if(j)return e=>A.randomFillSync(e);var t=A.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch{}nA("initRandomDevice")},vj=A=>(vj=F6())(A),V={resolve:(...A)=>{for(var j="",t=!1,e=A.length-1;e>=-1&&!t;e--){var l=e>=0?A[e]:k.cwd();if(typeof l!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!l)return"";j=l+"/"+j,t=I.isAbs(l)}return j=I.normalizeArray(j.split("/").filter(_=>!!_),!t).join("/"),(t?"/":"")+j||"."},relative:(A,j)=>{A=V.resolve(A).substr(1),j=V.resolve(j).substr(1);function t(n){for(var s=0;s<n.length&&n[s]==="";s++);for(var u=n.length-1;u>=0&&n[u]==="";u--);return s>u?[]:n.slice(s,u-s+1)}for(var e=t(A.split("/")),l=t(j.split("/")),_=Math.min(e.length,l.length),a=_,o=0;o<_;o++)if(e[o]!==l[o]){a=o;break}for(var i=[],o=a;o<e.length;o++)i.push("..");return i=i.concat(l.slice(a)),i.join("/")}},VA=[],UA=A=>{for(var j=0,t=0;t<A.length;++t){var e=A.charCodeAt(t);e<=127?j++:e<=2047?j+=2:e>=55296&&e<=57343?(j+=4,++t):j+=3}return j},YA=(A,j,t,e)=>{if(!(e>0))return 0;for(var l=t,_=t+e-1,a=0;a<A.length;++a){var o=A.charCodeAt(a);if(o>=55296&&o<=57343){var i=A.charCodeAt(++a);o=65536+((o&1023)<<10)|i&1023}if(o<=127){if(t>=_)break;j[t++]=o}else if(o<=2047){if(t+1>=_)break;j[t++]=192|o>>6,j[t++]=128|o&63}else if(o<=65535){if(t+2>=_)break;j[t++]=224|o>>12,j[t++]=128|o>>6&63,j[t++]=128|o&63}else{if(t+3>=_)break;j[t++]=240|o>>18,j[t++]=128|o>>12&63,j[t++]=128|o>>6&63,j[t++]=128|o&63}}return j[t]=0,t-l};function FA(A,j,t){var e=t>0?t:UA(A)+1,l=new Array(e),_=YA(A,l,0,l.length);return j&&(l.length=_),l}var I6=()=>{if(!VA.length){var A=null;if(_A){var j=256,t=Buffer.alloc(j),e=0,l=process.stdin.fd;try{e=SA.readSync(l,t,0,j)}catch(_){if(_.toString().includes("EOF"))e=0;else throw _}e>0&&(A=t.slice(0,e).toString("utf-8"))}else typeof window!="undefined"&&typeof window.prompt=="function"&&(A=window.prompt("Input: "),A!==null&&(A+=`
`));if(!A)return null;VA=FA(A,!0)}return VA.shift()},W={ttys:[],init(){},shutdown(){},register(A,j){W.ttys[A]={input:[],output:[],ops:j},k.registerDevice(A,W.stream_ops)},stream_ops:{open(A){var j=W.ttys[A.node.rdev];if(!j)throw new k.ErrnoError(43);A.tty=j,A.seekable=!1},close(A){A.tty.ops.fsync(A.tty)},fsync(A){A.tty.ops.fsync(A.tty)},read(A,j,t,e,l){if(!A.tty||!A.tty.ops.get_char)throw new k.ErrnoError(60);for(var _=0,a=0;a<e;a++){var o;try{o=A.tty.ops.get_char(A.tty)}catch{throw new k.ErrnoError(29)}if(o===void 0&&_===0)throw new k.ErrnoError(6);if(o==null)break;_++,j[t+a]=o}return _&&(A.node.timestamp=Date.now()),_},write(A,j,t,e,l){if(!A.tty||!A.tty.ops.put_char)throw new k.ErrnoError(60);try{for(var _=0;_<e;_++)A.tty.ops.put_char(A.tty,j[t+_])}catch{throw new k.ErrnoError(29)}return e&&(A.node.timestamp=Date.now()),_}},default_tty_ops:{get_char(A){return I6()},put_char(A,j){j===null||j===10?(PA(kA(A.output,0)),A.output=[]):j!=0&&A.output.push(j)},fsync(A){A.output&&A.output.length>0&&(PA(kA(A.output,0)),A.output=[])},ioctl_tcgets(A){return{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(A,j,t){return 0},ioctl_tiocgwinsz(A){return[24,80]}},default_tty1_ops:{put_char(A,j){j===null||j===10?(oA(kA(A.output,0)),A.output=[]):j!=0&&A.output.push(j)},fsync(A){A.output&&A.output.length>0&&(oA(kA(A.output,0)),A.output=[])}}},Fj=A=>{nA()},q={ops_table:null,mount(A){return q.createNode(null,"/",16895,0)},createNode(A,j,t,e){if(k.isBlkdev(t)||k.isFIFO(t))throw new k.ErrnoError(63);q.ops_table||(q.ops_table={dir:{node:{getattr:q.node_ops.getattr,setattr:q.node_ops.setattr,lookup:q.node_ops.lookup,mknod:q.node_ops.mknod,rename:q.node_ops.rename,unlink:q.node_ops.unlink,rmdir:q.node_ops.rmdir,readdir:q.node_ops.readdir,symlink:q.node_ops.symlink},stream:{llseek:q.stream_ops.llseek}},file:{node:{getattr:q.node_ops.getattr,setattr:q.node_ops.setattr},stream:{llseek:q.stream_ops.llseek,read:q.stream_ops.read,write:q.stream_ops.write,allocate:q.stream_ops.allocate,mmap:q.stream_ops.mmap,msync:q.stream_ops.msync}},link:{node:{getattr:q.node_ops.getattr,setattr:q.node_ops.setattr,readlink:q.node_ops.readlink},stream:{}},chrdev:{node:{getattr:q.node_ops.getattr,setattr:q.node_ops.setattr},stream:k.chrdev_stream_ops}});var l=k.createNode(A,j,t,e);return k.isDir(l.mode)?(l.node_ops=q.ops_table.dir.node,l.stream_ops=q.ops_table.dir.stream,l.contents={}):k.isFile(l.mode)?(l.node_ops=q.ops_table.file.node,l.stream_ops=q.ops_table.file.stream,l.usedBytes=0,l.contents=null):k.isLink(l.mode)?(l.node_ops=q.ops_table.link.node,l.stream_ops=q.ops_table.link.stream):k.isChrdev(l.mode)&&(l.node_ops=q.ops_table.chrdev.node,l.stream_ops=q.ops_table.chrdev.stream),l.timestamp=Date.now(),A&&(A.contents[j]=l,A.timestamp=l.timestamp),l},getFileDataAsTypedArray(A){return A.contents?A.contents.subarray?A.contents.subarray(0,A.usedBytes):new Uint8Array(A.contents):new Uint8Array(0)},expandFileStorage(A,j){var t=A.contents?A.contents.length:0;if(!(t>=j)){var e=1048576;j=Math.max(j,t*(t<e?2:1.125)>>>0),t!=0&&(j=Math.max(j,256));var l=A.contents;A.contents=new Uint8Array(j),A.usedBytes>0&&A.contents.set(l.subarray(0,A.usedBytes),0)}},resizeFileStorage(A,j){if(A.usedBytes!=j)if(j==0)A.contents=null,A.usedBytes=0;else{var t=A.contents;A.contents=new Uint8Array(j),t&&A.contents.set(t.subarray(0,Math.min(j,A.usedBytes))),A.usedBytes=j}},node_ops:{getattr(A){var j={};return j.dev=k.isChrdev(A.mode)?A.id:1,j.ino=A.id,j.mode=A.mode,j.nlink=1,j.uid=0,j.gid=0,j.rdev=A.rdev,k.isDir(A.mode)?j.size=4096:k.isFile(A.mode)?j.size=A.usedBytes:k.isLink(A.mode)?j.size=A.link.length:j.size=0,j.atime=new Date(A.timestamp),j.mtime=new Date(A.timestamp),j.ctime=new Date(A.timestamp),j.blksize=4096,j.blocks=Math.ceil(j.size/j.blksize),j},setattr(A,j){j.mode!==void 0&&(A.mode=j.mode),j.timestamp!==void 0&&(A.timestamp=j.timestamp),j.size!==void 0&&q.resizeFileStorage(A,j.size)},lookup(A,j){throw k.genericErrors[44]},mknod(A,j,t,e){return q.createNode(A,j,t,e)},rename(A,j,t){if(k.isDir(A.mode)){var e;try{e=k.lookupNode(j,t)}catch{}if(e)for(var l in e.contents)throw new k.ErrnoError(55)}delete A.parent.contents[A.name],A.parent.timestamp=Date.now(),A.name=t,j.contents[t]=A,j.timestamp=A.parent.timestamp},unlink(A,j){delete A.contents[j],A.timestamp=Date.now()},rmdir(A,j){var t=k.lookupNode(A,j);for(var e in t.contents)throw new k.ErrnoError(55);delete A.contents[j],A.timestamp=Date.now()},readdir(A){var j=[".",".."];for(var t of Object.keys(A.contents))j.push(t);return j},symlink(A,j,t){var e=q.createNode(A,j,41471,0);return e.link=t,e},readlink(A){if(!k.isLink(A.mode))throw new k.ErrnoError(28);return A.link}},stream_ops:{read(A,j,t,e,l){var _=A.node.contents;if(l>=A.node.usedBytes)return 0;var a=Math.min(A.node.usedBytes-l,e);if(a>8&&_.subarray)j.set(_.subarray(l,l+a),t);else for(var o=0;o<a;o++)j[t+o]=_[l+o];return a},write(A,j,t,e,l,_){if(j.buffer===O.buffer&&(_=!1),!e)return 0;var a=A.node;if(a.timestamp=Date.now(),j.subarray&&(!a.contents||a.contents.subarray)){if(_)return a.contents=j.subarray(t,t+e),a.usedBytes=e,e;if(a.usedBytes===0&&l===0)return a.contents=j.slice(t,t+e),a.usedBytes=e,e;if(l+e<=a.usedBytes)return a.contents.set(j.subarray(t,t+e),l),e}if(q.expandFileStorage(a,l+e),a.contents.subarray&&j.subarray)a.contents.set(j.subarray(t,t+e),l);else for(var o=0;o<e;o++)a.contents[l+o]=j[t+o];return a.usedBytes=Math.max(a.usedBytes,l+e),e},llseek(A,j,t){var e=j;if(t===1?e+=A.position:t===2&&k.isFile(A.node.mode)&&(e+=A.node.usedBytes),e<0)throw new k.ErrnoError(28);return e},allocate(A,j,t){q.expandFileStorage(A.node,j+t),A.node.usedBytes=Math.max(A.node.usedBytes,j+t)},mmap(A,j,t,e,l){if(!k.isFile(A.node.mode))throw new k.ErrnoError(43);var _,a,o=A.node.contents;if(!(l&2)&&o.buffer===O.buffer)a=!1,_=o.byteOffset;else{if((t>0||t+j<o.length)&&(o.subarray?o=o.subarray(t,t+j):o=Array.prototype.slice.call(o,t,t+j)),a=!0,_=Fj(j),!_)throw new k.ErrnoError(48);O.set(o,_)}return{ptr:_,allocated:a}},msync(A,j,t,e,l){return q.stream_ops.write(A,j,0,e,t,!1),0}}},g6=(A,j,t,e)=>{var l=e?"":`al ${A}`;CA(A,_=>{j(new Uint8Array(_)),l&&NA(l)},_=>{if(t)t();else throw`Loading data file "${A}" failed.`}),l&&TA(l)},x6=(A,j,t,e,l,_)=>{k.createDataFile(A,j,t,e,l,_)},L6=r.preloadPlugins||[],y6=(A,j,t,e)=>{typeof Browser!="undefined"&&Browser.init();var l=!1;return L6.forEach(_=>{l||_.canHandle(j)&&(_.handle(A,j,t,e),l=!0)}),l},O6=(A,j,t,e,l,_,a,o,i,n)=>{var s=j?V.resolve(I.join2(A,j)):A,u=`cp ${s}`;function d(G){function p(g){n==null||n(),o||x6(A,j,g,e,l,i),_==null||_(),NA(u)}y6(G,s,p,()=>{a==null||a(),NA(u)})||p(G)}TA(u),typeof t=="string"?g6(t,d,a):d(t)},J6=A=>{var j={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090},t=j[A];if(typeof t=="undefined")throw new Error(`Unknown file open mode: ${A}`);return t},zA=(A,j)=>{var t=0;return A&&(t|=365),j&&(t|=146),t},k={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(A){this.name="ErrnoError",this.errno=A}},genericErrors:{},filesystems:null,syncFSRequests:0,FSStream:class{constructor(){this.shared={}}get object(){return this.node}set object(A){this.node=A}get isRead(){return(this.flags&2097155)!==1}get isWrite(){return(this.flags&2097155)!==0}get isAppend(){return this.flags&1024}get flags(){return this.shared.flags}set flags(A){this.shared.flags=A}get position(){return this.shared.position}set position(A){this.shared.position=A}},FSNode:class{constructor(A,j,t,e){A||(A=this),this.parent=A,this.mount=A.mount,this.mounted=null,this.id=k.nextInode++,this.name=j,this.mode=t,this.node_ops={},this.stream_ops={},this.rdev=e,this.readMode=365,this.writeMode=146}get read(){return(this.mode&this.readMode)===this.readMode}set read(A){A?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(A){A?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return k.isDir(this.mode)}get isDevice(){return k.isChrdev(this.mode)}},lookupPath(A,j={}){if(A=V.resolve(A),!A)return{path:"",node:null};var t={follow_mount:!0,recurse_count:0};if(j=Object.assign(t,j),j.recurse_count>8)throw new k.ErrnoError(32);for(var e=A.split("/").filter(u=>!!u),l=k.root,_="/",a=0;a<e.length;a++){var o=a===e.length-1;if(o&&j.parent)break;if(l=k.lookupNode(l,e[a]),_=I.join2(_,e[a]),k.isMountpoint(l)&&(!o||o&&j.follow_mount)&&(l=l.mounted.root),!o||j.follow)for(var i=0;k.isLink(l.mode);){var n=k.readlink(_);_=V.resolve(I.dirname(_),n);var s=k.lookupPath(_,{recurse_count:j.recurse_count+1});if(l=s.node,i++>40)throw new k.ErrnoError(32)}}return{path:_,node:l}},getPath(A){for(var j;;){if(k.isRoot(A)){var t=A.mount.mountpoint;return j?t[t.length-1]!=="/"?`${t}/${j}`:t+j:t}j=j?`${A.name}/${j}`:A.name,A=A.parent}},hashName(A,j){for(var t=0,e=0;e<j.length;e++)t=(t<<5)-t+j.charCodeAt(e)|0;return(A+t>>>0)%k.nameTable.length},hashAddNode(A){var j=k.hashName(A.parent.id,A.name);A.name_next=k.nameTable[j],k.nameTable[j]=A},hashRemoveNode(A){var j=k.hashName(A.parent.id,A.name);if(k.nameTable[j]===A)k.nameTable[j]=A.name_next;else for(var t=k.nameTable[j];t;){if(t.name_next===A){t.name_next=A.name_next;break}t=t.name_next}},lookupNode(A,j){var t=k.mayLookup(A);if(t)throw new k.ErrnoError(t);for(var e=k.hashName(A.id,j),l=k.nameTable[e];l;l=l.name_next){var _=l.name;if(l.parent.id===A.id&&_===j)return l}return k.lookup(A,j)},createNode(A,j,t,e){var l=new k.FSNode(A,j,t,e);return k.hashAddNode(l),l},destroyNode(A){k.hashRemoveNode(A)},isRoot(A){return A===A.parent},isMountpoint(A){return!!A.mounted},isFile(A){return(A&61440)===32768},isDir(A){return(A&61440)===16384},isLink(A){return(A&61440)===40960},isChrdev(A){return(A&61440)===8192},isBlkdev(A){return(A&61440)===24576},isFIFO(A){return(A&61440)===4096},isSocket(A){return(A&49152)===49152},flagsToPermissionString(A){var j=["r","w","rw"][A&3];return A&512&&(j+="w"),j},nodePermissions(A,j){return k.ignorePermissions?0:j.includes("r")&&!(A.mode&292)||j.includes("w")&&!(A.mode&146)||j.includes("x")&&!(A.mode&73)?2:0},mayLookup(A){if(!k.isDir(A.mode))return 54;var j=k.nodePermissions(A,"x");return j||(A.node_ops.lookup?0:2)},mayCreate(A,j){try{var t=k.lookupNode(A,j);return 20}catch{}return k.nodePermissions(A,"wx")},mayDelete(A,j,t){var e;try{e=k.lookupNode(A,j)}catch(_){return _.errno}var l=k.nodePermissions(A,"wx");if(l)return l;if(t){if(!k.isDir(e.mode))return 54;if(k.isRoot(e)||k.getPath(e)===k.cwd())return 10}else if(k.isDir(e.mode))return 31;return 0},mayOpen(A,j){return A?k.isLink(A.mode)?32:k.isDir(A.mode)&&(k.flagsToPermissionString(j)!=="r"||j&512)?31:k.nodePermissions(A,k.flagsToPermissionString(j)):44},MAX_OPEN_FDS:4096,nextfd(){for(var A=0;A<=k.MAX_OPEN_FDS;A++)if(!k.streams[A])return A;throw new k.ErrnoError(33)},getStreamChecked(A){var j=k.getStream(A);if(!j)throw new k.ErrnoError(8);return j},getStream:A=>k.streams[A],createStream(A,j=-1){return A=Object.assign(new k.FSStream,A),j==-1&&(j=k.nextfd()),A.fd=j,k.streams[j]=A,A},closeStream(A){k.streams[A]=null},dupStream(A,j=-1){var t,e,l=k.createStream(A,j);return(e=(t=l.stream_ops)==null?void 0:t.dup)==null||e.call(t,l),l},chrdev_stream_ops:{open(A){var j,t,e=k.getDevice(A.node.rdev);A.stream_ops=e.stream_ops,(t=(j=A.stream_ops).open)==null||t.call(j,A)},llseek(){throw new k.ErrnoError(70)}},major:A=>A>>8,minor:A=>A&255,makedev:(A,j)=>A<<8|j,registerDevice(A,j){k.devices[A]={stream_ops:j}},getDevice:A=>k.devices[A],getMounts(A){for(var j=[],t=[A];t.length;){var e=t.pop();j.push(e),t.push(...e.mounts)}return j},syncfs(A,j){typeof A=="function"&&(j=A,A=!1),k.syncFSRequests++,k.syncFSRequests>1&&oA(`warning: ${k.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var t=k.getMounts(k.root.mount),e=0;function l(a){return k.syncFSRequests--,j(a)}function _(a){if(a)return _.errored?void 0:(_.errored=!0,l(a));++e>=t.length&&l(null)}t.forEach(a=>{if(!a.type.syncfs)return _(null);a.type.syncfs(a,A,_)})},mount(A,j,t){var e=t==="/",l=!t,_;if(e&&k.root)throw new k.ErrnoError(10);if(!e&&!l){var a=k.lookupPath(t,{follow_mount:!1});if(t=a.path,_=a.node,k.isMountpoint(_))throw new k.ErrnoError(10);if(!k.isDir(_.mode))throw new k.ErrnoError(54)}var o={type:A,opts:j,mountpoint:t,mounts:[]},i=A.mount(o);return i.mount=o,o.root=i,e?k.root=i:_&&(_.mounted=o,_.mount&&_.mount.mounts.push(o)),i},unmount(A){var j=k.lookupPath(A,{follow_mount:!1});if(!k.isMountpoint(j.node))throw new k.ErrnoError(28);var t=j.node,e=t.mounted,l=k.getMounts(e);Object.keys(k.nameTable).forEach(a=>{for(var o=k.nameTable[a];o;){var i=o.name_next;l.includes(o.mount)&&k.destroyNode(o),o=i}}),t.mounted=null;var _=t.mount.mounts.indexOf(e);t.mount.mounts.splice(_,1)},lookup(A,j){return A.node_ops.lookup(A,j)},mknod(A,j,t){var e=k.lookupPath(A,{parent:!0}),l=e.node,_=I.basename(A);if(!_||_==="."||_==="..")throw new k.ErrnoError(28);var a=k.mayCreate(l,_);if(a)throw new k.ErrnoError(a);if(!l.node_ops.mknod)throw new k.ErrnoError(63);return l.node_ops.mknod(l,_,j,t)},create(A,j){return j=j!==void 0?j:438,j&=4095,j|=32768,k.mknod(A,j,0)},mkdir(A,j){return j=j!==void 0?j:511,j&=1023,j|=16384,k.mknod(A,j,0)},mkdirTree(A,j){for(var t=A.split("/"),e="",l=0;l<t.length;++l)if(t[l]){e+="/"+t[l];try{k.mkdir(e,j)}catch(_){if(_.errno!=20)throw _}}},mkdev(A,j,t){return typeof t=="undefined"&&(t=j,j=438),j|=8192,k.mknod(A,j,t)},symlink(A,j){if(!V.resolve(A))throw new k.ErrnoError(44);var t=k.lookupPath(j,{parent:!0}),e=t.node;if(!e)throw new k.ErrnoError(44);var l=I.basename(j),_=k.mayCreate(e,l);if(_)throw new k.ErrnoError(_);if(!e.node_ops.symlink)throw new k.ErrnoError(63);return e.node_ops.symlink(e,l,A)},rename(A,j){var t=I.dirname(A),e=I.dirname(j),l=I.basename(A),_=I.basename(j),a,o,i;if(a=k.lookupPath(A,{parent:!0}),o=a.node,a=k.lookupPath(j,{parent:!0}),i=a.node,!o||!i)throw new k.ErrnoError(44);if(o.mount!==i.mount)throw new k.ErrnoError(75);var n=k.lookupNode(o,l),s=V.relative(A,e);if(s.charAt(0)!==".")throw new k.ErrnoError(28);if(s=V.relative(j,t),s.charAt(0)!==".")throw new k.ErrnoError(55);var u;try{u=k.lookupNode(i,_)}catch{}if(n!==u){var d=k.isDir(n.mode),G=k.mayDelete(o,l,d);if(G)throw new k.ErrnoError(G);if(G=u?k.mayDelete(i,_,d):k.mayCreate(i,_),G)throw new k.ErrnoError(G);if(!o.node_ops.rename)throw new k.ErrnoError(63);if(k.isMountpoint(n)||u&&k.isMountpoint(u))throw new k.ErrnoError(10);if(i!==o&&(G=k.nodePermissions(o,"w"),G))throw new k.ErrnoError(G);k.hashRemoveNode(n);try{o.node_ops.rename(n,i,_),n.parent=i}catch(p){throw p}finally{k.hashAddNode(n)}}},rmdir(A){var j=k.lookupPath(A,{parent:!0}),t=j.node,e=I.basename(A),l=k.lookupNode(t,e),_=k.mayDelete(t,e,!0);if(_)throw new k.ErrnoError(_);if(!t.node_ops.rmdir)throw new k.ErrnoError(63);if(k.isMountpoint(l))throw new k.ErrnoError(10);t.node_ops.rmdir(t,e),k.destroyNode(l)},readdir(A){var j=k.lookupPath(A,{follow:!0}),t=j.node;if(!t.node_ops.readdir)throw new k.ErrnoError(54);return t.node_ops.readdir(t)},unlink(A){var j=k.lookupPath(A,{parent:!0}),t=j.node;if(!t)throw new k.ErrnoError(44);var e=I.basename(A),l=k.lookupNode(t,e),_=k.mayDelete(t,e,!1);if(_)throw new k.ErrnoError(_);if(!t.node_ops.unlink)throw new k.ErrnoError(63);if(k.isMountpoint(l))throw new k.ErrnoError(10);t.node_ops.unlink(t,e),k.destroyNode(l)},readlink(A){var j=k.lookupPath(A),t=j.node;if(!t)throw new k.ErrnoError(44);if(!t.node_ops.readlink)throw new k.ErrnoError(28);return V.resolve(k.getPath(t.parent),t.node_ops.readlink(t))},stat(A,j){var t=k.lookupPath(A,{follow:!j}),e=t.node;if(!e)throw new k.ErrnoError(44);if(!e.node_ops.getattr)throw new k.ErrnoError(63);return e.node_ops.getattr(e)},lstat(A){return k.stat(A,!0)},chmod(A,j,t){var e;if(typeof A=="string"){var l=k.lookupPath(A,{follow:!t});e=l.node}else e=A;if(!e.node_ops.setattr)throw new k.ErrnoError(63);e.node_ops.setattr(e,{mode:j&4095|e.mode&-4096,timestamp:Date.now()})},lchmod(A,j){k.chmod(A,j,!0)},fchmod(A,j){var t=k.getStreamChecked(A);k.chmod(t.node,j)},chown(A,j,t,e){var l;if(typeof A=="string"){var _=k.lookupPath(A,{follow:!e});l=_.node}else l=A;if(!l.node_ops.setattr)throw new k.ErrnoError(63);l.node_ops.setattr(l,{timestamp:Date.now()})},lchown(A,j,t){k.chown(A,j,t,!0)},fchown(A,j,t){var e=k.getStreamChecked(A);k.chown(e.node,j,t)},truncate(A,j){if(j<0)throw new k.ErrnoError(28);var t;if(typeof A=="string"){var e=k.lookupPath(A,{follow:!0});t=e.node}else t=A;if(!t.node_ops.setattr)throw new k.ErrnoError(63);if(k.isDir(t.mode))throw new k.ErrnoError(31);if(!k.isFile(t.mode))throw new k.ErrnoError(28);var l=k.nodePermissions(t,"w");if(l)throw new k.ErrnoError(l);t.node_ops.setattr(t,{size:j,timestamp:Date.now()})},ftruncate(A,j){var t=k.getStreamChecked(A);if(!(t.flags&2097155))throw new k.ErrnoError(28);k.truncate(t.node,j)},utime(A,j,t){var e=k.lookupPath(A,{follow:!0}),l=e.node;l.node_ops.setattr(l,{timestamp:Math.max(j,t)})},open(A,j,t){if(A==="")throw new k.ErrnoError(44);j=typeof j=="string"?J6(j):j,j&64?(t=typeof t=="undefined"?438:t,t=t&4095|32768):t=0;var e;if(typeof A=="object")e=A;else{A=I.normalize(A);try{var l=k.lookupPath(A,{follow:!(j&131072)});e=l.node}catch{}}var _=!1;if(j&64)if(e){if(j&128)throw new k.ErrnoError(20)}else e=k.mknod(A,t,0),_=!0;if(!e)throw new k.ErrnoError(44);if(k.isChrdev(e.mode)&&(j&=-513),j&65536&&!k.isDir(e.mode))throw new k.ErrnoError(54);if(!_){var a=k.mayOpen(e,j);if(a)throw new k.ErrnoError(a)}j&512&&!_&&k.truncate(e,0),j&=-131713;var o=k.createStream({node:e,path:k.getPath(e),flags:j,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1});return o.stream_ops.open&&o.stream_ops.open(o),r.logReadFiles&&!(j&1)&&(k.readFiles||(k.readFiles={}),A in k.readFiles||(k.readFiles[A]=1)),o},close(A){if(k.isClosed(A))throw new k.ErrnoError(8);A.getdents&&(A.getdents=null);try{A.stream_ops.close&&A.stream_ops.close(A)}catch(j){throw j}finally{k.closeStream(A.fd)}A.fd=null},isClosed(A){return A.fd===null},llseek(A,j,t){if(k.isClosed(A))throw new k.ErrnoError(8);if(!A.seekable||!A.stream_ops.llseek)throw new k.ErrnoError(70);if(t!=0&&t!=1&&t!=2)throw new k.ErrnoError(28);return A.position=A.stream_ops.llseek(A,j,t),A.ungotten=[],A.position},read(A,j,t,e,l){if(e<0||l<0)throw new k.ErrnoError(28);if(k.isClosed(A))throw new k.ErrnoError(8);if((A.flags&2097155)===1)throw new k.ErrnoError(8);if(k.isDir(A.node.mode))throw new k.ErrnoError(31);if(!A.stream_ops.read)throw new k.ErrnoError(28);var _=typeof l!="undefined";if(!_)l=A.position;else if(!A.seekable)throw new k.ErrnoError(70);var a=A.stream_ops.read(A,j,t,e,l);return _||(A.position+=a),a},write(A,j,t,e,l,_){if(e<0||l<0)throw new k.ErrnoError(28);if(k.isClosed(A))throw new k.ErrnoError(8);if(!(A.flags&2097155))throw new k.ErrnoError(8);if(k.isDir(A.node.mode))throw new k.ErrnoError(31);if(!A.stream_ops.write)throw new k.ErrnoError(28);A.seekable&&A.flags&1024&&k.llseek(A,0,2);var a=typeof l!="undefined";if(!a)l=A.position;else if(!A.seekable)throw new k.ErrnoError(70);var o=A.stream_ops.write(A,j,t,e,l,_);return a||(A.position+=o),o},allocate(A,j,t){if(k.isClosed(A))throw new k.ErrnoError(8);if(j<0||t<=0)throw new k.ErrnoError(28);if(!(A.flags&2097155))throw new k.ErrnoError(8);if(!k.isFile(A.node.mode)&&!k.isDir(A.node.mode))throw new k.ErrnoError(43);if(!A.stream_ops.allocate)throw new k.ErrnoError(138);A.stream_ops.allocate(A,j,t)},mmap(A,j,t,e,l){if(e&2&&!(l&2)&&(A.flags&2097155)!==2)throw new k.ErrnoError(2);if((A.flags&2097155)===1)throw new k.ErrnoError(2);if(!A.stream_ops.mmap)throw new k.ErrnoError(43);return A.stream_ops.mmap(A,j,t,e,l)},msync(A,j,t,e,l){return A.stream_ops.msync?A.stream_ops.msync(A,j,t,e,l):0},ioctl(A,j,t){if(!A.stream_ops.ioctl)throw new k.ErrnoError(59);return A.stream_ops.ioctl(A,j,t)},readFile(A,j={}){if(j.flags=j.flags||0,j.encoding=j.encoding||"binary",j.encoding!=="utf8"&&j.encoding!=="binary")throw new Error(`Invalid encoding type "${j.encoding}"`);var t,e=k.open(A,j.flags),l=k.stat(A),_=l.size,a=new Uint8Array(_);return k.read(e,a,0,_,0),j.encoding==="utf8"?t=kA(a,0):j.encoding==="binary"&&(t=a),k.close(e),t},writeFile(A,j,t={}){t.flags=t.flags||577;var e=k.open(A,t.flags,t.mode);if(typeof j=="string"){var l=new Uint8Array(UA(j)+1),_=YA(j,l,0,l.length);k.write(e,l,0,_,void 0,t.canOwn)}else if(ArrayBuffer.isView(j))k.write(e,j,0,j.byteLength,void 0,t.canOwn);else throw new Error("Unsupported data type");k.close(e)},cwd:()=>k.currentPath,chdir(A){var j=k.lookupPath(A,{follow:!0});if(j.node===null)throw new k.ErrnoError(44);if(!k.isDir(j.node.mode))throw new k.ErrnoError(54);var t=k.nodePermissions(j.node,"x");if(t)throw new k.ErrnoError(t);k.currentPath=j.path},createDefaultDirectories(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:()=>0,write:(e,l,_,a,o)=>a}),k.mkdev("/dev/null",k.makedev(1,3)),W.register(k.makedev(5,0),W.default_tty_ops),W.register(k.makedev(6,0),W.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var A=new Uint8Array(1024),j=0,t=()=>(j===0&&(j=vj(A).byteLength),A[--j]);k.createDevice("/dev","random",t),k.createDevice("/dev","urandom",t),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createSpecialDirectories(){k.mkdir("/proc");var A=k.mkdir("/proc/self");k.mkdir("/proc/self/fd"),k.mount({mount(){var j=k.createNode(A,"fd",16895,73);return j.node_ops={lookup(t,e){var l=+e,_=k.getStreamChecked(l),a={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>_.path}};return a.parent=a,a}},j}},{},"/proc/self/fd")},createStandardStreams(){r.stdin?k.createDevice("/dev","stdin",r.stdin):k.symlink("/dev/tty","/dev/stdin"),r.stdout?k.createDevice("/dev","stdout",null,r.stdout):k.symlink("/dev/tty","/dev/stdout"),r.stderr?k.createDevice("/dev","stderr",null,r.stderr):k.symlink("/dev/tty1","/dev/stderr");var A=k.open("/dev/stdin",0),j=k.open("/dev/stdout",1),t=k.open("/dev/stderr",1)},staticInit(){[44].forEach(A=>{k.genericErrors[A]=new k.ErrnoError(A),k.genericErrors[A].stack="<generic error, no stack>"}),k.nameTable=new Array(4096),k.mount(q,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices(),k.createSpecialDirectories(),k.filesystems={MEMFS:q}},init(A,j,t){k.init.initialized=!0,r.stdin=A||r.stdin,r.stdout=j||r.stdout,r.stderr=t||r.stderr,k.createStandardStreams()},quit(){k.init.initialized=!1;for(var A=0;A<k.streams.length;A++){var j=k.streams[A];j&&k.close(j)}},findObject(A,j){var t=k.analyzePath(A,j);return t.exists?t.object:null},analyzePath(A,j){try{var t=k.lookupPath(A,{follow:!j});A=t.path}catch{}var e={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var t=k.lookupPath(A,{parent:!0});e.parentExists=!0,e.parentPath=t.path,e.parentObject=t.node,e.name=I.basename(A),t=k.lookupPath(A,{follow:!j}),e.exists=!0,e.path=t.path,e.object=t.node,e.name=t.node.name,e.isRoot=t.path==="/"}catch(l){e.error=l.errno}return e},createPath(A,j,t,e){A=typeof A=="string"?A:k.getPath(A);for(var l=j.split("/").reverse();l.length;){var _=l.pop();if(_){var a=I.join2(A,_);try{k.mkdir(a)}catch{}A=a}}return a},createFile(A,j,t,e,l){var _=I.join2(typeof A=="string"?A:k.getPath(A),j),a=zA(e,l);return k.create(_,a)},createDataFile(A,j,t,e,l,_){var a=j;A&&(A=typeof A=="string"?A:k.getPath(A),a=j?I.join2(A,j):A);var o=zA(e,l),i=k.create(a,o);if(t){if(typeof t=="string"){for(var n=new Array(t.length),s=0,u=t.length;s<u;++s)n[s]=t.charCodeAt(s);t=n}k.chmod(i,o|146);var d=k.open(i,577);k.write(d,t,0,t.length,0,_),k.close(d),k.chmod(i,o)}},createDevice(A,j,t,e){var l=I.join2(typeof A=="string"?A:k.getPath(A),j),_=zA(!!t,!!e);k.createDevice.major||(k.createDevice.major=64);var a=k.makedev(k.createDevice.major++,0);return k.registerDevice(a,{open(o){o.seekable=!1},close(o){var i;(i=e==null?void 0:e.buffer)!=null&&i.length&&e(10)},read(o,i,n,s,u){for(var d=0,G=0;G<s;G++){var p;try{p=t()}catch{throw new k.ErrnoError(29)}if(p===void 0&&d===0)throw new k.ErrnoError(6);if(p==null)break;d++,i[n+G]=p}return d&&(o.node.timestamp=Date.now()),d},write(o,i,n,s,u){for(var d=0;d<s;d++)try{e(i[n+d])}catch{throw new k.ErrnoError(29)}return s&&(o.node.timestamp=Date.now()),d}}),k.mkdev(l,_,a)},forceLoadFile(A){if(A.isDevice||A.isFolder||A.link||A.contents)return!0;if(typeof XMLHttpRequest!="undefined")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(aA)try{A.contents=FA(aA(A.url),!0),A.usedBytes=A.contents.length}catch{throw new k.ErrnoError(29)}else throw new Error("Cannot load without read() or XMLHttpRequest.")},createLazyFile(A,j,t,e,l){class _{constructor(){this.lengthKnown=!1,this.chunks=[]}get(G){if(!(G>this.length-1||G<0)){var p=G%this.chunkSize,g=G/this.chunkSize|0;return this.getter(g)[p]}}setDataGetter(G){this.getter=G}cacheLength(){var G=new XMLHttpRequest;if(G.open("HEAD",t,!1),G.send(null),!(G.status>=200&&G.status<300||G.status===304))throw new Error("Couldn't load "+t+". Status: "+G.status);var p=Number(G.getResponseHeader("Content-length")),g,y=(g=G.getResponseHeader("Accept-Ranges"))&&g==="bytes",v=(g=G.getResponseHeader("Content-Encoding"))&&g==="gzip",E=1024*1024;y||(E=p);var $=(c,S)=>{if(c>S)throw new Error("invalid range ("+c+", "+S+") or no bytes requested!");if(S>p-1)throw new Error("only "+p+" bytes available! programmer error!");var L=new XMLHttpRequest;if(L.open("GET",t,!1),p!==E&&L.setRequestHeader("Range","bytes="+c+"-"+S),L.responseType="arraybuffer",L.overrideMimeType&&L.overrideMimeType("text/plain; charset=x-user-defined"),L.send(null),!(L.status>=200&&L.status<300||L.status===304))throw new Error("Couldn't load "+t+". Status: "+L.status);return L.response!==void 0?new Uint8Array(L.response||[]):FA(L.responseText||"",!0)},x=this;x.setDataGetter(c=>{var S=c*E,L=(c+1)*E-1;if(L=Math.min(L,p-1),typeof x.chunks[c]=="undefined"&&(x.chunks[c]=$(S,L)),typeof x.chunks[c]=="undefined")throw new Error("doXHR failed!");return x.chunks[c]}),(v||!p)&&(E=p=1,p=this.getter(0).length,E=p,PA("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=p,this._chunkSize=E,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(typeof XMLHttpRequest!="undefined"){if(!jA)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new _,o={isDevice:!1,contents:a}}else var o={isDevice:!1,url:t};var i=k.createFile(A,j,o,e,l);o.contents?i.contents=o.contents:o.url&&(i.contents=null,i.url=o.url),Object.defineProperties(i,{usedBytes:{get:function(){return this.contents.length}}});var n={},s=Object.keys(i.stream_ops);s.forEach(d=>{var G=i.stream_ops[d];n[d]=(...p)=>(k.forceLoadFile(i),G(...p))});function u(d,G,p,g,y){var v=d.node.contents;if(y>=v.length)return 0;var E=Math.min(v.length-y,g);if(v.slice)for(var $=0;$<E;$++)G[p+$]=v[y+$];else for(var $=0;$<E;$++)G[p+$]=v.get(y+$);return E}return n.read=(d,G,p,g,y)=>(k.forceLoadFile(i),u(d,G,p,g,y)),n.mmap=(d,G,p,g,y)=>{k.forceLoadFile(i);var v=Fj(G);if(!v)throw new k.ErrnoError(48);return u(d,O,v,G,p),{ptr:v,allocated:!0}},i.stream_ops=n,i}},w={DEFAULT_POLLMASK:5,calculateAt(A,j,t){if(I.isAbs(j))return j;var e;if(A===-100)e=k.cwd();else{var l=w.getStreamFromFD(A);e=l.path}if(j.length==0){if(!t)throw new k.ErrnoError(44);return e}return I.join2(e,j)},doStat(A,j,t){var e=A(j);H[t>>2]=e.dev,H[t+4>>2]=e.mode,m[t+8>>2]=e.nlink,H[t+12>>2]=e.uid,H[t+16>>2]=e.gid,H[t+20>>2]=e.rdev,J=[e.size>>>0,(h=e.size,+Math.abs(h)>=1?h>0?+Math.floor(h/4294967296)>>>0:~~+Math.ceil((h-+(~~h>>>0))/4294967296)>>>0:0)],H[t+24>>2]=J[0],H[t+28>>2]=J[1],H[t+32>>2]=4096,H[t+36>>2]=e.blocks;var l=e.atime.getTime(),_=e.mtime.getTime(),a=e.ctime.getTime();return J=[Math.floor(l/1e3)>>>0,(h=Math.floor(l/1e3),+Math.abs(h)>=1?h>0?+Math.floor(h/4294967296)>>>0:~~+Math.ceil((h-+(~~h>>>0))/4294967296)>>>0:0)],H[t+40>>2]=J[0],H[t+44>>2]=J[1],m[t+48>>2]=l%1e3*1e3,J=[Math.floor(_/1e3)>>>0,(h=Math.floor(_/1e3),+Math.abs(h)>=1?h>0?+Math.floor(h/4294967296)>>>0:~~+Math.ceil((h-+(~~h>>>0))/4294967296)>>>0:0)],H[t+56>>2]=J[0],H[t+60>>2]=J[1],m[t+64>>2]=_%1e3*1e3,J=[Math.floor(a/1e3)>>>0,(h=Math.floor(a/1e3),+Math.abs(h)>=1?h>0?+Math.floor(h/4294967296)>>>0:~~+Math.ceil((h-+(~~h>>>0))/4294967296)>>>0:0)],H[t+72>>2]=J[0],H[t+76>>2]=J[1],m[t+80>>2]=a%1e3*1e3,J=[e.ino>>>0,(h=e.ino,+Math.abs(h)>=1?h>0?+Math.floor(h/4294967296)>>>0:~~+Math.ceil((h-+(~~h>>>0))/4294967296)>>>0:0)],H[t+88>>2]=J[0],H[t+92>>2]=J[1],0},doMsync(A,j,t,e,l){if(!k.isFile(j.node.mode))throw new k.ErrnoError(43);if(e&2)return 0;var _=D.slice(A,A+t);k.msync(j,_,l,t,e)},getStreamFromFD(A){var j=k.getStreamChecked(A);return j},varargs:void 0,getStr(A){var j=eA(A);return j}};function b6(A,j,t){w.varargs=t;try{var e=w.getStreamFromFD(A);switch(j){case 0:{var l=vA();if(l<0)return-28;for(;k.streams[l];)l++;var _;return _=k.dupStream(e,l),_.fd}case 1:case 2:return 0;case 3:return e.flags;case 4:{var l=vA();return e.flags|=l,0}case 12:{var l=lA(),a=0;return R[l+a>>1]=2,0}case 13:case 14:return 0}return-28}catch(o){if(typeof k=="undefined"||o.name!=="ErrnoError")throw o;return-o.errno}}function D6(A,j,t){w.varargs=t;try{var e=w.getStreamFromFD(A);switch(j){case 21509:return e.tty?0:-59;case 21505:{if(!e.tty)return-59;if(e.tty.ops.ioctl_tcgets){var l=e.tty.ops.ioctl_tcgets(e),_=lA();H[_>>2]=l.c_iflag||0,H[_+4>>2]=l.c_oflag||0,H[_+8>>2]=l.c_cflag||0,H[_+12>>2]=l.c_lflag||0;for(var a=0;a<32;a++)O[_+a+17]=l.c_cc[a]||0;return 0}return 0}case 21510:case 21511:case 21512:return e.tty?0:-59;case 21506:case 21507:case 21508:{if(!e.tty)return-59;if(e.tty.ops.ioctl_tcsets){for(var _=lA(),o=H[_>>2],i=H[_+4>>2],n=H[_+8>>2],s=H[_+12>>2],u=[],a=0;a<32;a++)u.push(O[_+a+17]);return e.tty.ops.ioctl_tcsets(e.tty,j,{c_iflag:o,c_oflag:i,c_cflag:n,c_lflag:s,c_cc:u})}return 0}case 21519:{if(!e.tty)return-59;var _=lA();return H[_>>2]=0,0}case 21520:return e.tty?-28:-59;case 21531:{var _=lA();return k.ioctl(e,j,_)}case 21523:{if(!e.tty)return-59;if(e.tty.ops.ioctl_tiocgwinsz){var d=e.tty.ops.ioctl_tiocgwinsz(e.tty),_=lA();R[_>>1]=d[0],R[_+2>>1]=d[1]}return 0}case 21524:return e.tty?0:-59;case 21515:return e.tty?0:-59;default:return-28}}catch(G){if(typeof k=="undefined"||G.name!=="ErrnoError")throw G;return-G.errno}}function w6(A,j,t,e){w.varargs=e;try{j=w.getStr(j),j=w.calculateAt(A,j);var l=e?vA():0;return k.open(j,t,l).fd}catch(_){if(typeof k=="undefined"||_.name!=="ErrnoError")throw _;return-_.errno}}function C6(A,j,t){try{return j=w.getStr(j),j=w.calculateAt(A,j),t===0?k.unlink(j):t===512?k.rmdir(j):nA("Invalid flags passed to unlinkat"),0}catch(e){if(typeof k=="undefined"||e.name!=="ErrnoError")throw e;return-e.errno}}var S6=()=>{nA("")},IA={},WA=A=>{for(;A.length;){var j=A.pop(),t=A.pop();t(j)}};function sA(A){return this.fromWireType(m[A>>2])}var BA={},rA={},gA={},Ij,xA=A=>{throw new Ij(A)},ZA=(A,j,t)=>{A.forEach(function(o){gA[o]=j});function e(o){var i=t(o);i.length!==A.length&&xA("Mismatched type converter count");for(var n=0;n<A.length;++n)T(A[n],i[n])}var l=new Array(j.length),_=[],a=0;j.forEach((o,i)=>{rA.hasOwnProperty(o)?l[i]=rA[o]:(_.push(o),BA.hasOwnProperty(o)||(BA[o]=[]),BA[o].push(()=>{l[i]=rA[o],++a,a===_.length&&e(l)}))}),_.length===0&&e(l)},P6=A=>{var j=IA[A];delete IA[A];var t=j.rawConstructor,e=j.rawDestructor,l=j.fields,_=l.map(a=>a.getterReturnType).concat(l.map(a=>a.setterArgumentType));ZA([A],_,a=>{var o={};return l.forEach((i,n)=>{var s=i.fieldName,u=a[n],d=i.getter,G=i.getterContext,p=a[n+l.length],g=i.setter,y=i.setterContext;o[s]={read:v=>u.fromWireType(d(G,v)),write:(v,E)=>{var $=[];g(y,v,p.toWireType($,E)),WA($)}}}),[{name:j.name,fromWireType:i=>{var n={};for(var s in o)n[s]=o[s].read(i);return e(i),n},toWireType:(i,n)=>{for(var s in o)if(!(s in n))throw new TypeError(`Missing field: "${s}"`);var u=t();for(s in o)o[s].write(u,n[s]);return i!==null&&i.push(e,u),u},argPackAdvance:X,readValueFromPointer:sA,destructorFunction:e}]})},M6=(A,j,t,e,l)=>{},K6=()=>{for(var A=new Array(256),j=0;j<256;++j)A[j]=String.fromCharCode(j);gj=A},gj,C=A=>{for(var j="",t=A;D[t];)j+=gj[D[t++]];return j},GA,N=A=>{throw new GA(A)};function T6(A,j,t={}){var e=j.name;if(A||N(`type "${e}" must have a positive integer typeid pointer`),rA.hasOwnProperty(A)){if(t.ignoreDuplicateRegistrations)return;N(`Cannot register type '${e}' twice`)}if(rA[A]=j,delete gA[A],BA.hasOwnProperty(A)){var l=BA[A];delete BA[A],l.forEach(_=>_())}}function T(A,j,t={}){if(!("argPackAdvance"in j))throw new TypeError("registerType registeredInstance requires argPackAdvance");return T6(A,j,t)}var X=8,X6=(A,j,t,e)=>{j=C(j),T(A,{name:j,fromWireType:function(l){return!!l},toWireType:function(l,_){return _?t:e},argPackAdvance:X,readValueFromPointer:function(l){return this.fromWireType(D[l])},destructorFunction:null})},R6=A=>({count:A.count,deleteScheduled:A.deleteScheduled,preservePointerOnDelete:A.preservePointerOnDelete,ptr:A.ptr,ptrType:A.ptrType,smartPtr:A.smartPtr,smartPtrType:A.smartPtrType}),QA=A=>{function j(t){return t.$$.ptrType.registeredClass.name}N(j(A)+" instance already deleted")},Aj=!1,xj=A=>{},V6=A=>{A.smartPtr?A.smartPtrType.rawDestructor(A.smartPtr):A.ptrType.registeredClass.rawDestructor(A.ptr)},Lj=A=>{A.count.value-=1;var j=A.count.value===0;j&&V6(A)},yj=(A,j,t)=>{if(j===t)return A;if(t.baseClass===void 0)return null;var e=yj(A,j,t.baseClass);return e===null?null:t.downcast(e)},Oj={},U6=()=>Object.keys(uA).length,Y6=()=>{var A=[];for(var j in uA)uA.hasOwnProperty(j)&&A.push(uA[j]);return A},dA=[],jj=()=>{for(;dA.length;){var A=dA.pop();A.$$.deleteScheduled=!1,A.delete()}},$A,z6=A=>{$A=A,dA.length&&$A&&$A(jj)},W6=()=>{r.getInheritedInstanceCount=U6,r.getLiveInheritedInstances=Y6,r.flushPendingDeletes=jj,r.setDelayFunction=z6},uA={},Z6=(A,j)=>{for(j===void 0&&N("ptr should not be undefined");A.baseClass;)j=A.upcast(j),A=A.baseClass;return j},Q6=(A,j)=>(j=Z6(A,j),uA[j]),LA=(A,j)=>{(!j.ptrType||!j.ptr)&&xA("makeClassHandle requires ptr and ptrType");var t=!!j.smartPtrType,e=!!j.smartPtr;return t!==e&&xA("Both smartPtrType and smartPtr must be specified"),j.count={value:1},pA(Object.create(A,{$$:{value:j,writable:!0}}))};function At(A){var j=this.getPointee(A);if(!j)return this.destructor(A),null;var t=Q6(this.registeredClass,j);if(t!==void 0){if(t.$$.count.value===0)return t.$$.ptr=j,t.$$.smartPtr=A,t.clone();var e=t.clone();return this.destructor(A),e}function l(){return this.isSmartPointer?LA(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:j,smartPtrType:this,smartPtr:A}):LA(this.registeredClass.instancePrototype,{ptrType:this,ptr:A})}var _=this.registeredClass.getActualType(j),a=Oj[_];if(!a)return l.call(this);var o;this.isConst?o=a.constPointerType:o=a.pointerType;var i=yj(j,this.registeredClass,o.registeredClass);return i===null?l.call(this):this.isSmartPointer?LA(o.registeredClass.instancePrototype,{ptrType:o,ptr:i,smartPtrType:this,smartPtr:A}):LA(o.registeredClass.instancePrototype,{ptrType:o,ptr:i})}var pA=A=>typeof FinalizationRegistry=="undefined"?(pA=j=>j,A):(Aj=new FinalizationRegistry(j=>{Lj(j.$$)}),pA=j=>{var t=j.$$,e=!!t.smartPtr;if(e){var l={$$:t};Aj.register(j,l,j)}return j},xj=j=>Aj.unregister(j),pA(A)),jt=()=>{Object.assign(yA.prototype,{isAliasOf(A){if(!(this instanceof yA)||!(A instanceof yA))return!1;var j=this.$$.ptrType.registeredClass,t=this.$$.ptr;A.$$=A.$$;for(var e=A.$$.ptrType.registeredClass,l=A.$$.ptr;j.baseClass;)t=j.upcast(t),j=j.baseClass;for(;e.baseClass;)l=e.upcast(l),e=e.baseClass;return j===e&&t===l},clone(){if(this.$$.ptr||QA(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var A=pA(Object.create(Object.getPrototypeOf(this),{$$:{value:R6(this.$$)}}));return A.$$.count.value+=1,A.$$.deleteScheduled=!1,A},delete(){this.$$.ptr||QA(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&N("Object already scheduled for deletion"),xj(this),Lj(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||QA(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&N("Object already scheduled for deletion"),dA.push(this),dA.length===1&&$A&&$A(jj),this.$$.deleteScheduled=!0,this}})};function yA(){}var HA=(A,j)=>Object.defineProperty(j,"name",{value:A}),tt=(A,j,t)=>{if(A[j].overloadTable===void 0){var e=A[j];A[j]=function(...l){return A[j].overloadTable.hasOwnProperty(l.length)||N(`Function '${t}' called with an invalid number of arguments (${l.length}) - expects one of (${A[j].overloadTable})!`),A[j].overloadTable[l.length].apply(this,l)},A[j].overloadTable=[],A[j].overloadTable[e.argCount]=e}},tj=(A,j,t)=>{r.hasOwnProperty(A)?((t===void 0||r[A].overloadTable!==void 0&&r[A].overloadTable[t]!==void 0)&&N(`Cannot register public name '${A}' twice`),tt(r,A,A),r.hasOwnProperty(t)&&N(`Cannot register multiple overloads of a function with the same number of arguments (${t})!`),r[A].overloadTable[t]=j):(r[A]=j,t!==void 0&&(r[A].numArguments=t))},et=48,rt=57,kt=A=>{if(A===void 0)return"_unknown";A=A.replace(/[^a-zA-Z0-9_]/g,"$");var j=A.charCodeAt(0);return j>=et&&j<=rt?`_${A}`:A};function lt(A,j,t,e,l,_,a,o){this.name=A,this.constructor=j,this.instancePrototype=t,this.rawDestructor=e,this.baseClass=l,this.getActualType=_,this.upcast=a,this.downcast=o,this.pureVirtualFunctions=[]}var ej=(A,j,t)=>{for(;j!==t;)j.upcast||N(`Expected null or instance of ${t.name}, got an instance of ${j.name}`),A=j.upcast(A),j=j.baseClass;return A};function Bt(A,j){if(j===null)return this.isReference&&N(`null is not a valid ${this.name}`),0;j.$$||N(`Cannot pass "${Bj(j)}" as a ${this.name}`),j.$$.ptr||N(`Cannot pass deleted object as a pointer of type ${this.name}`);var t=j.$$.ptrType.registeredClass,e=ej(j.$$.ptr,t,this.registeredClass);return e}function _t(A,j){var t;if(j===null)return this.isReference&&N(`null is not a valid ${this.name}`),this.isSmartPointer?(t=this.rawConstructor(),A!==null&&A.push(this.rawDestructor,t),t):0;(!j||!j.$$)&&N(`Cannot pass "${Bj(j)}" as a ${this.name}`),j.$$.ptr||N(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&j.$$.ptrType.isConst&&N(`Cannot convert argument of type ${j.$$.smartPtrType?j.$$.smartPtrType.name:j.$$.ptrType.name} to parameter type ${this.name}`);var e=j.$$.ptrType.registeredClass;if(t=ej(j.$$.ptr,e,this.registeredClass),this.isSmartPointer)switch(j.$$.smartPtr===void 0&&N("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:j.$$.smartPtrType===this?t=j.$$.smartPtr:N(`Cannot convert argument of type ${j.$$.smartPtrType?j.$$.smartPtrType.name:j.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:t=j.$$.smartPtr;break;case 2:if(j.$$.smartPtrType===this)t=j.$$.smartPtr;else{var l=j.clone();t=this.rawShare(t,P.toHandle(()=>l.delete())),A!==null&&A.push(this.rawDestructor,t)}break;default:N("Unsupporting sharing policy")}return t}function at(A,j){if(j===null)return this.isReference&&N(`null is not a valid ${this.name}`),0;j.$$||N(`Cannot pass "${Bj(j)}" as a ${this.name}`),j.$$.ptr||N(`Cannot pass deleted object as a pointer of type ${this.name}`),j.$$.ptrType.isConst&&N(`Cannot convert argument of type ${j.$$.ptrType.name} to parameter type ${this.name}`);var t=j.$$.ptrType.registeredClass,e=ej(j.$$.ptr,t,this.registeredClass);return e}var ot=()=>{Object.assign(OA.prototype,{getPointee(A){return this.rawGetPointee&&(A=this.rawGetPointee(A)),A},destructor(A){var j;(j=this.rawDestructor)==null||j.call(this,A)},argPackAdvance:X,readValueFromPointer:sA,fromWireType:At})};function OA(A,j,t,e,l,_,a,o,i,n,s){this.name=A,this.registeredClass=j,this.isReference=t,this.isConst=e,this.isSmartPointer=l,this.pointeeType=_,this.sharingPolicy=a,this.rawGetPointee=o,this.rawConstructor=i,this.rawShare=n,this.rawDestructor=s,!l&&j.baseClass===void 0?e?(this.toWireType=Bt,this.destructorFunction=null):(this.toWireType=at,this.destructorFunction=null):this.toWireType=_t}var Jj=(A,j,t)=>{r.hasOwnProperty(A)||xA("Replacing nonexistent public symbol"),r[A