@cesdk/node 1.26.0-rc.0 → 1.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__commonJS=(e,t)=>function(){return t||(0,e[__getOwnPropNames(e)[0]])((t={exports:{}}).exports,t),t.exports},__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of __getOwnPropNames(t))__hasOwnProp.call(e,n)||n===r||__defProp(e,n,{get:()=>t[n],enumerable:!(o=__getOwnPropDesc(t,n))||o.enumerable});return e},__toESM=(e,t,r)=>(r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,"default",{value:e,enumerable:!0}),e)),__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),__decorateClass=(e,t,r,o)=>{for(var n,s=o>1?void 0:o?__getOwnPropDesc(t,r):t,a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o?n(t,r,s):n(s))||s);return o&&s&&__defProp(t,r,s),s},require_cesdk=__commonJS({"../../../_builds/cesdk/wasm32-unknown-emscripten+simd/Release/cesdk.js"(e,t){var r,o=(r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,"undefined"!=typeof __filename&&(r||=__filename),function(e={}){var t,o,n,s,a,i,u=e;if(void 0===globalThis.BigInt64Array){let e=function(e,t){return BigInt(e)|BigInt(t+2*(2147483648&t))<<32n},t=function(e,t){return BigInt(e)|BigInt(t)<<32n},r=function(e){return[0|Number(BigInt(e)&BigInt(4294967295)),0|Number(BigInt(e)>>32n)]},o=function(e){return function t(o){var n;"number"==typeof o&&(o=new Uint32Array(2*o)),ArrayBuffer.isView(o)||(o.constructor&&"ArrayBuffer"===o.constructor.name?o=new Uint32Array(o):(n=o,o=new Uint32Array(2*o.length)));var s=new Proxy({slice:(e,r)=>(r??=o.length,t(o.slice(2*e,2*r))),subarray:(e,r)=>t(o.subarray(2*e,2*r)),[Symbol.iterator]:function*(){for(var t=0;t<o.length/2;t++)yield e(o[2*t],o[2*t+1])},BYTES_PER_ELEMENT:2*o.BYTES_PER_ELEMENT,buffer:o.buffer,byteLength:o.byteLength,byteOffset:o.byteOffset,length:o.length/2,copyWithin:function(e,t,r){return o.copyWithin(2*e,2*t,2*r),s},set(e,t){if(t??=0,2*(e.length+t)>o.length)throw new RangeError("offset is out of bounds");for(var n=0;n<e.length;n++){var s=e[n],a=r(s);o.set(a,2*(t+n))}}},{get(t,r,n){if("string"!=typeof r||!/^\d+$/.test(r))return Reflect.get(t,r,n);var s=o[2*r],a=o[2*r+1];return e(s,a)},set(e,t,n,s){if("string"!=typeof t||!/^\d+$/.test(t))return Reflect.set(e,t,n,s);if("bigint"!=typeof n)throw new TypeError(`Cannot convert ${n} to a BigInt`);var a=r(n);return o.set(a,2*t),!0}});return n&&s.set(n),s}};globalThis.BigUint64Array=o(t),globalThis.BigInt64Array=o(e)}u.ready=new Promise(((e,r)=>{t=e,o=r})),u.expectedDataFileDownloads||(u.expectedDataFileDownloads=0),u.expectedDataFileDownloads++,u.ENVIRONMENT_IS_PTHREAD||u.$ww||function(e){"object"==typeof window?window.encodeURIComponent(window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/"):"undefined"==typeof process&&"undefined"!=typeof location&&encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/");var t="cesdk.data";"function"!=typeof u.locateFilePackage||u.locateFile||(u.locateFile=u.locateFilePackage,E("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)"));var r=u.locateFile?u.locateFile(t,""):t,o=e.remote_package_size,n=null,s=u.getPreloadedPackage?u.getPreloadedPackage(r,o):null;function a(){function t(e,t){if(!e)throw t+(new Error).stack}function r(e,t,r){this.start=e,this.end=t,this.audio=r}u.FS_createPath("/","ly.img.cesdk",!0,!0),u.FS_createPath("/ly.img.cesdk","fonts",!0,!0),u.FS_createPath("/ly.img.cesdk","icons",!0,!0),u.FS_createPath("/ly.img.cesdk","icu",!0,!0),u.FS_createPath("/ly.img.cesdk","presets",!0,!0),u.FS_createPath("/ly.img.cesdk","shaders",!0,!0),u.FS_createPath("/ly.img.cesdk/shaders","common",!0,!0),r.prototype={requests:{},open:function(e,t){this.name=t,this.requests[t]=this,u.addRunDependency(`fp ${this.name}`)},send:function(){},onload:function(){var e=this.byteArray.subarray(this.start,this.end);this.finish(e)},finish:function(e){u.FS_createDataFile(this.name,null,e,!0,!0,!0),u.removeRunDependency(`fp ${this.name}`),this.requests[this.name]=null}};for(var o=e.files,a=0;a<o.length;++a)new r(o[a].start,o[a].end,o[a].audio||0).open("GET",o[a].filename);function i(o){t(o,"Loading data file failed."),t(o.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var n=new Uint8Array(o);r.prototype.byteArray=n;for(var s=e.files,a=0;a<s.length;++a)r.prototype.requests[s[a].filename].onload();u.removeRunDependency("datafile_cesdk.data")}u.addRunDependency("datafile_cesdk.data"),u.preloadResults||(u.preloadResults={}),u.preloadResults["cesdk.data"]={fromCache:!1},s?(i(s),s=null):n=i}s||function(e,t,r,o){if("object"!=typeof process||"object"!=typeof process.versions||"string"!=typeof process.versions.node){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onprogress=function(r){var o=e,s=t;if(r.total&&(s=r.total),r.loaded){n.addedTotal?u.dataFileDownloads[o].loaded=r.loaded:(n.addedTotal=!0,u.dataFileDownloads||(u.dataFileDownloads={}),u.dataFileDownloads[o]={loaded:r.loaded,total:s});var a=0,i=0,l=0;for(var c in u.dataFileDownloads){var d=u.dataFileDownloads[c];a+=d.total,i+=d.loaded,l++}a=Math.ceil(a*u.expectedDataFileDownloads/l),u.setStatus&&u.setStatus(`Downloading data... (${i}/${a})`)}else u.dataFileDownloads||u.setStatus&&u.setStatus("Downloading data...")},n.onerror=function(t){throw new Error("NetworkError for: "+e)},n.onload=function(e){if(!(200==n.status||304==n.status||206==n.status||0==n.status&&n.response))throw new Error(n.statusText+" : "+n.responseURL);var t=n.response;r(t)},n.send(null)}else require("fs").readFile(e,(function(e,t){e?o(e):r(t.buffer)}))}(r,o,(function(e){n?(n(e),n=null):s=e}),(function(e){console.error("package error:",e)})),u.calledRun?a():(u.preRun||(u.preRun=[]),u.preRun.push(a))}({files:[{filename:"/ly.img.cesdk/fonts/imgly_font_inter_semibold.otf",start:0,end:270760},{filename:"/ly.img.cesdk/icons/ErrorAudio.svg",start:270760,end:271672},{filename:"/ly.img.cesdk/icons/ErrorConnection.svg",start:271672,end:272620},{filename:"/ly.img.cesdk/icons/ErrorVideo.svg",start:272620,end:273473},{filename:"/ly.img.cesdk/icons/Move.svg",start:273473,end:274413},{filename:"/ly.img.cesdk/icons/RotateIndicator.svg",start:274413,end:275394},{filename:"/ly.img.cesdk/icu/icudt74l.dat",start:275394,end:810498},{filename:"/ly.img.cesdk/presets/.keep",start:810498,end:810498},{filename:"/ly.img.cesdk/shaders/adjustments.sksl",start:810498,end:814387},{filename:"/ly.img.cesdk/shaders/black_and_white_color_mixer.sksl",start:814387,end:820704},{filename:"/ly.img.cesdk/shaders/common/ubq_adjustments.sksl",start:820704,end:825295},{filename:"/ly.img.cesdk/shaders/common/ubq_color_conversions.sksl",start:825295,end:835280},{filename:"/ly.img.cesdk/shaders/common/ubq_constants.sksl",start:835280,end:835770},{filename:"/ly.img.cesdk/shaders/common/ubq_hue_constants.sksl",start:835770,end:838937},{filename:"/ly.img.cesdk/shaders/common/ubq_noise.sksl",start:838937,end:841575},{filename:"/ly.img.cesdk/shaders/cross_cut.sksl",start:841575,end:842522},{filename:"/ly.img.cesdk/shaders/dot_pattern.sksl",start:842522,end:843037},{filename:"/ly.img.cesdk/shaders/duotone_filter.sksl",start:843037,end:844001},{filename:"/ly.img.cesdk/shaders/extrude_blur.sksl",start:844001,end:846118},{filename:"/ly.img.cesdk/shaders/glow.sksl",start:846118,end:847085},{filename:"/ly.img.cesdk/shaders/half_tone.sksl",start:847085,end:847579},{filename:"/ly.img.cesdk/shaders/hsp_selective_adjustments.sksl",start:847579,end:861179},{filename:"/ly.img.cesdk/shaders/linocut.sksl",start:861179,end:861964},{filename:"/ly.img.cesdk/shaders/liquid.sksl",start:861964,end:862446},{filename:"/ly.img.cesdk/shaders/lut_filter.sksl",start:862446,end:865309},{filename:"/ly.img.cesdk/shaders/mask_color.sksl",start:865309,end:865814},{filename:"/ly.img.cesdk/shaders/mirror.sksl",start:865814,end:866268},{filename:"/ly.img.cesdk/shaders/outliner.sksl",start:866268,end:867905},{filename:"/ly.img.cesdk/shaders/pixelize.sksl",start:867905,end:868205},{filename:"/ly.img.cesdk/shaders/placeholder_overlay_lines.sksl",start:868205,end:868893},{filename:"/ly.img.cesdk/shaders/posterize.sksl",start:868893,end:869105},{filename:"/ly.img.cesdk/shaders/radial_pixel.sksl",start:869105,end:869668},{filename:"/ly.img.cesdk/shaders/recolor.sksl",start:869668,end:871869},{filename:"/ly.img.cesdk/shaders/sharpie.sksl",start:871869,end:874174},{filename:"/ly.img.cesdk/shaders/shifter.sksl",start:874174,end:874858},{filename:"/ly.img.cesdk/shaders/tiltshift.sksl",start:874858,end:875440},{filename:"/ly.img.cesdk/shaders/tv_glitch.sksl",start:875440,end:876158},{filename:"/ly.img.cesdk/shaders/vignette.sksl",start:876158,end:876530}],remote_package_size:876530}),"object"==typeof window&&"object"==typeof window.performance?u.performance=performance:"object"==typeof global&&"object"==typeof global.perf_hooks&&"object"==typeof global.perf_hooks.performance?u.performance=global.perf_hooks.performance:u.performance={mark:function(){},measure:function(){}},(s=n||(n={}))[s.PENDING=0]="PENDING",s[s.FINISHED=1]="FINISHED",s[s.ALLOCATED=2]="ALLOCATED",s[s.ERROR=3]="ERROR",(i=a||(a={}))[i.GET=0]="GET",i[i.POST=1]="POST";class FetchProcess{constructor(e,t){this.state=n.PENDING,this.totalBytes=0,this.receivedLength=0,this.handle=e,this.uri=t,this.abortController=new AbortController,this.abortSignal=this.abortController.signal}async readChunks(e){let t=0;const r=[],o=e=>{r.push(e),t+=e.length,this.receivedLength=t};if(null==e);else if("getReader"in e){const t=e.getReader();for(;;){const{done:e,value:r}=await t.read();if(e)break;if(this.abortSignal.aborted)throw await t.cancel(),t.releaseLock(),new Error(this.abortSignal.reason);o(r)}t.releaseLock()}else{const t=()=>e.destroy(new Error(this.abortSignal.reason));this.abortSignal.addEventListener("abort",t,{once:!0});try{await new Promise(((t,r)=>{e.on("data",o),e.on("end",(()=>t())),e.on("error",(e=>r(e)))}))}finally{this.abortSignal.removeEventListener("abort",t)}}const n=new Uint8Array(t);let s=0;for(const e of r)n.set(e,s),s+=e.length;return this.finish(n)}abort(){this.isPending()&&this.abortController.abort("Fetch aborted")}isPending(){return this.state===n.PENDING}isError(){return this.state===n.ERROR}isFinished(){return this.state===n.FINISHED}isAllocated(){return this.state===n.ALLOCATED}allocate(){if(this.isAllocated())return this;if(this.isFinished()){const e=this.result.length,t=u._malloc(e);u.HEAPU8.set(this.result,t);const r=Object.assign(Object.assign({},this),{state:n.ALLOCATED,resultAddress:t,resultLength:e});return Object.assign(this,r),r}return null}finish(e){const t=Object.assign(Object.assign({},this),{state:n.FINISHED,result:e,totalBytes:e.length});return Object.assign(this,t)}fail(e){const t=Object.assign(Object.assign({},this),{state:n.ERROR,error:e});return Object.assign(this,t)}}u.emscripten_ubq_asyncFetchManager=new class AsyncFetchManager{constructor(){this._nextHandle=0,this._nextHeaderHandle=0,this._processes=new Map,this._headers=new Map,this._fetchImpl=null}_fetch(e,t){return this._fetchImpl?this._fetchImpl(e,t):fetch(e,t)}setFetch(e){this._fetchImpl=e}getProcess(e){return this._processes.get(e)}deleteProcess(e){const t=this._processes.get(e);return(null==t?void 0:t.isPending())&&t.abort(),this._processes.delete(e)}clear(){for(const e of this._processes.values())e.isPending()&&e.abort();this._processes.clear(),this._headers.clear()}fetch(e,t,r,o,n,s,a,i,l){const c=u.UTF8ToString(t,r),d=this._nextHandle++,p=new FetchProcess(d,c);return this._processes.set(d,p),c.match(/^file:/)?this._fetchFile(p).catch((e=>{p.fail(e)})):this._fetchRemote(p,e,o,n,s,a,i,l).catch((e=>{p.fail(e)})),p}async _fetchFile(e){if("undefined"!=typeof window)throw new Error("File URLs supported only in Node.JS");const t=require("fs"),{fileURLToPath:r}=require("url"),o=t.createReadStream(r(e.uri));return e.readChunks(o)}async _fetchRemote(e,t,r,o,n,s,i,l){const c=u.UTF8ToString(i,l),d=this.getHeaders(r,o),p=t===a.POST?new Uint8Array(u.HEAPU8.buffer,n,s):void 0,g=await this._fetch(e.uri,{method:a[t],headers:d,body:p,mode:"cors",credentials:c,signal:e.abortSignal});if(g.status>=200&&g.status<=209){let t=0;return g.headers.has("Content-Length")&&(t=+g.headers.get("Content-Length")),e.totalBytes=t,e.readChunks(g.body)}return e.fail(g.statusText)}getHeaders(e,t){const r={};for(let o=0;o<t;o++){const t=u.getValue(e+4*o,"i32"),n=this._headers.get(t);r[n.key]=n.value}return r}createHeader(e,t,r,o){const n=u.UTF8ToString(e,t),s=u.UTF8ToString(r,o),a=this._nextHeaderHandle++;return this._headers.set(a,{key:n,value:s}),a}deleteHeader(e){return this._headers.delete(e)}},u.emscripten_ubq_codec_videoDecoders=new Map,u.emscripten_ubq_codec_audioDecoders=new Map,u.emscripten_ubq_codec_videoEncoders=new Map,u.emscripten_ubq_codec_audioEncoders=new Map,u.emscripten_ubq_codec_videoDecoderNextHandle=1,u.emscripten_ubq_codec_audioDecoderNextHandle=1,u.emscripten_ubq_codec_videoEncoderNextHandle=1,u.emscripten_ubq_codec_audioEncoderNextHandle=1,u.emscripten_ubq_codec_createNativeResult=function(e){const t=u._malloc(8),r=u.HEAPU32.subarray(t/4,t/4+2);if(r[0]=e.handle?e.handle:e.code?e.code:0,e.error){const t=(new TextEncoder).encode(e.error),o=u._malloc(t.length+1),n=u.HEAPU8.subarray(o,o+t.length+1);for(let e=0;e<t.length;e++)n[e]=t[e];n[t.length]=0,r[1]=o}else r[1]=0;return t},u.emscripten_ubq_codec_createVideoDecoder=function(e,t){const r=new VideoDecoder({output:o=>{const n=r.textures;let s=!1;if((r.shouldDropFrames||r.decodedFrames<r.requestedFrame||r.decodeQueueSize>=n.length)&&(s=!0),!s){var a=u.ctx;const e=r.decodedFrames%n.length,t=a.getParameter(a.TEXTURE_BINDING_2D);a.bindTexture(a.TEXTURE_2D,n[e]),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,o),a.bindTexture(a.TEXTURE_2D,t)}o.close(),r.decodedFrames++,u.emscripten_ubq_codec_onOutputDecodedVideoFrame(e,r.decodedFrames,s,t)},error:e=>{r.unexpectedError=e,console.error(e)}});return r.decodedFrames=0,r.requestedFrame=0,r.shouldDropFrames=!1,r},u.emscripten_ubq_codec_createAudioDecoder=function(e,t,r){const o=new AudioDecoder({output:n=>{if(o.flushing)return void n.close();const s=u.HEAPF32.subarray(e/4,e/4+r),a=u.HEAPF32.subarray(t/4,t/4+r),i=1===n.numberOfChannels?0:1;if("f32-planar"===n.format){let e=o.writtenFrames%r;if(e+n.numberOfFrames<=r)n.copyTo(s.subarray(e),{planeIndex:0,frameCount:n.numberOfFrames}),n.copyTo(a.subarray(e),{planeIndex:i,frameCount:n.numberOfFrames});else{const t=r-e;n.copyTo(s.subarray(e),{planeIndex:0,frameCount:t}),n.copyTo(a.subarray(e),{planeIndex:i,frameCount:t}),n.copyTo(s,{planeIndex:0,frameOffset:t}),n.copyTo(a,{planeIndex:i,frameOffset:t})}o.writtenFrames+=n.numberOfFrames}else if("s16-planar"===n.format)if(1===n.numberOfChannels){const e=new Int16Array(n.numberOfFrames);n.copyTo(e,{planeIndex:0});for(let t=0;t<n.numberOfFrames;t++){const n=e[t]/32768;let i=o.writtenFrames%r;s[i]=n,a[i]=n,o.writtenFrames++}}else{const e=new Int16Array(n.numberOfFrames),t=new Int16Array(n.numberOfFrames);n.copyTo(e,{planeIndex:0}),n.copyTo(t,{planeIndex:1});for(let i=0;i<n.numberOfFrames;i++){let n=o.writtenFrames%r;s[n]=e[i]/32768,a[n]=t[i]/32768,o.writtenFrames++}}else if("s16"===n.format){const e=new Int16Array(n.numberOfFrames*n.numberOfChannels);if(n.copyTo(e,{planeIndex:0}),1===n.numberOfChannels)for(let t=0;t<n.numberOfFrames;t++){const n=e[t]/32768;let i=o.writtenFrames%r;s[i]=n,a[i]=n,o.writtenFrames++}else for(let t=0;t<n.numberOfFrames;t++){let i=o.writtenFrames%r;s[i]=e[t*n.numberOfChannels+0]/32768,a[i]=e[t*n.numberOfChannels+1]/32768,o.writtenFrames++}}else console.error("Unsupported audio format:",n.format);n.close()},error:e=>{o.unexpectedError=e,console.error(e)}});return o.writtenFrames=0,o},u.emscripten_ubq_settings_forceWebGL1=!1;var l,c,d,p=Object.assign({},u),g=[],f="./this.program",m=(e,t)=>{throw t},h="object"==typeof window,b="function"==typeof importScripts,y="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,v="";if(y){var _=require("fs"),k=require("path");v=b?k.dirname(v)+"/":__dirname+"/",l=(e,t)=>(e=ee(e)?new URL(e):k.normalize(e),_.readFileSync(e,t?void 0:"utf8")),d=e=>{var t=l(e,!0);return t.buffer||(t=new Uint8Array(t)),t},c=(e,t,r,o=!0)=>{e=ee(e)?new URL(e):k.normalize(e),_.readFile(e,o?void 0:"utf8",((e,n)=>{e?r(e):t(o?n.buffer:n)}))},!u.thisProgram&&process.argv.length>1&&(f=process.argv[1].replace(/\\/g,"/")),g=process.argv.slice(2),m=(e,t)=>{throw process.exitCode=e,t}}else(h||b)&&(b?v=self.location.href:"undefined"!=typeof document&&document.currentScript&&(v=document.currentScript.src),r&&(v=r),v=v.startsWith("blob:")?"":v.substr(0,v.replace(/[?#].*/,"").lastIndexOf("/")+1),l=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},b&&(d=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),c=(e,t,r)=>{var o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType="arraybuffer",o.onload=()=>{200==o.status||0==o.status&&o.response?t(o.response):r()},o.onerror=r,o.send(null)});var C,w,A=u.print||console.log.bind(console),E=u.printErr||console.error.bind(console);Object.assign(u,p),p=null,u.arguments&&(g=u.arguments),u.thisProgram&&(f=u.thisProgram),u.quit&&(m=u.quit),u.wasmBinary&&(C=u.wasmBinary),"object"!=typeof WebAssembly&&Q("no native wasm support detected");var P,S,R,B,I,x,T,q,F,D,L,M=!1;function O(e,t){e||Q(t)}function U(){var e=w.buffer;u.HEAP8=S=new Int8Array(e),u.HEAP16=B=new Int16Array(e),u.HEAPU8=R=new Uint8Array(e),u.HEAPU16=I=new Uint16Array(e),u.HEAP32=x=new Int32Array(e),u.HEAPU32=T=new Uint32Array(e),u.HEAPF32=q=new Float32Array(e),u.HEAPF64=L=new Float64Array(e),u.HEAP64=F=new BigInt64Array(e),u.HEAPU64=D=new BigUint64Array(e)}var $=u.INITIAL_MEMORY||16777216;w=u.wasmMemory?u.wasmMemory:new WebAssembly.Memory({initial:$/65536,maximum:32768}),U(),$=w.buffer.byteLength;var V=[],N=[],H=[],j=[],W=0,G=null,z=null;function Y(e){var t;W++,null==(t=u.monitorRunDependencies)||t.call(u,W)}function X(e){var t;if(W--,null==(t=u.monitorRunDependencies)||t.call(u,W),0==W&&(null!==G&&(clearInterval(G),G=null),z)){var r=z;z=null,r()}}function Q(e){var t;null==(t=u.onAbort)||t.call(u,e),E(e="Aborted("+e+")"),M=!0,P=1,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw o(r),r}var K,Z,J=e=>e.startsWith("data:application/octet-stream;base64,"),ee=e=>e.startsWith("file://");function te(e){if(e==K&&C)return new Uint8Array(C);if(d)return d(e);throw"both async and sync fetching of the wasm failed"}function re(e,t,r){return function(e){return C||!h&&!b||"function"!=typeof fetch?Promise.resolve().then((()=>te(e))):fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw`failed to load wasm binary file at '${e}'`;return t.arrayBuffer()})).catch((()=>te(e)))}(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{E(`failed to asynchronously prepare wasm: ${e}`),Q(e)}))}J(K="cesdk.wasm")||(Z=K,K=u.locateFile?u.locateFile(Z,v):v+Z);var oe={2366184:(e,t,r,o,n)=>"undefined"==typeof window||void 0===(window.AudioContext||window.webkitAudioContext)?0:(void 0===window.miniaudio&&(window.miniaudio={referenceCount:0},window.miniaudio.device_type={},window.miniaudio.device_type.playback=e,window.miniaudio.device_type.capture=t,window.miniaudio.device_type.duplex=r,window.miniaudio.device_state={},window.miniaudio.device_state.stopped=o,window.miniaudio.device_state.started=n,miniaudio.devices=[],miniaudio.track_device=function(e){for(var t=0;t<miniaudio.devices.length;++t)if(null==miniaudio.devices[t])return miniaudio.devices[t]=e,t;return miniaudio.devices.push(e),miniaudio.devices.length-1},miniaudio.untrack_device_by_index=function(e){for(miniaudio.devices[e]=null;miniaudio.devices.length>0&&null==miniaudio.devices[miniaudio.devices.length-1];)miniaudio.devices.pop()},miniaudio.untrack_device=function(e){for(var t=0;t<miniaudio.devices.length;++t)if(miniaudio.devices[t]==e)return miniaudio.untrack_device_by_index(t)},miniaudio.get_device_by_index=function(e){return miniaudio.devices[e]},miniaudio.unlock_event_types=function(){return["touchstart","touchend","click"]}(),miniaudio.unlock=function(){for(var e=0;e<miniaudio.devices.length;++e){var t=miniaudio.devices[e];null!=t&&null!=t.webaudio&&2===t.state&&t.webaudio.resume()}miniaudio.unlock_event_types.map((function(e){document.removeEventListener(e,miniaudio.unlock,!0)}))},miniaudio.unlock_event_types.map((function(e){document.addEventListener(e,miniaudio.unlock,!0)}))),window.miniaudio.referenceCount+=1,1),2368174:()=>{void 0!==window.miniaudio&&(window.miniaudio.referenceCount-=1,0===window.miniaudio.referenceCount&&delete window.miniaudio)},2368338:()=>void 0!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia,2368442:()=>{try{var e=new(window.AudioContext||window.webkitAudioContext),t=e.sampleRate;return e.close(),t}catch(e){return 0}},2368613:(e,t,r,o,n,s)=>{var a=e,i=t,l=r,c=o,d=n,p=s;if(void 0===window.miniaudio)return-1;var g={},f={};a==window.miniaudio.device_type.playback&&(f.sampleRate=l),g.webaudio=new(window.AudioContext||window.webkitAudioContext)(f),g.webaudio.suspend(),g.state=window.miniaudio.device_state.stopped;var m=0,h=i;return a!=window.miniaudio.device_type.playback&&(m=i),g.scriptNode=g.webaudio.createScriptProcessor(c,m,h),g.scriptNode.onaudioprocess=function(e){if(null!=g.intermediaryBufferView&&0!=g.intermediaryBufferView.length||(g.intermediaryBufferView=new Float32Array(u.HEAPF32.buffer,d,c*i)),a==miniaudio.device_type.capture||a==miniaudio.device_type.duplex){for(var t=0;t<i;t+=1)for(var r=e.inputBuffer.getChannelData(t),o=g.intermediaryBufferView,n=0;n<c;n+=1)o[n*i+t]=r[n];qu(p,c,d)}if(a==miniaudio.device_type.playback||a==miniaudio.device_type.duplex)for(Fu(p,c,d),t=0;t<e.outputBuffer.numberOfChannels;++t){var s=e.outputBuffer.getChannelData(t);for(o=g.intermediaryBufferView,n=0;n<c;n+=1)s[n]=o[n*i+t]}else for(t=0;t<e.outputBuffer.numberOfChannels;++t)e.outputBuffer.getChannelData(t).fill(0)},a!=miniaudio.device_type.capture&&a!=miniaudio.device_type.duplex||navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then((function(e){g.streamNode=g.webaudio.createMediaStreamSource(e),g.streamNode.connect(g.scriptNode),g.scriptNode.connect(g.webaudio.destination)})).catch((function(e){console.log("Failed to get user media: "+e)})),a==miniaudio.device_type.playback&&g.scriptNode.connect(g.webaudio.destination),miniaudio.track_device(g)},2371396:e=>miniaudio.get_device_by_index(e).webaudio.sampleRate,2371462:e=>{var t=miniaudio.get_device_by_index(e);void 0!==t.scriptNode&&(t.scriptNode.onaudioprocess=function(e){},t.scriptNode.disconnect(),t.scriptNode=void 0),void 0!==t.streamNode&&(t.streamNode.disconnect(),t.streamNode=void 0),t.webaudio.close(),t.webaudio=void 0},2371827:e=>{miniaudio.untrack_device_by_index(e)},2371870:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.resume(),t.state=miniaudio.device_state.started},2371995:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.suspend(),t.state=miniaudio.device_state.stopped},2372121:()=>!!globalThis.ubq_browserTabHidden,2372167:()=>S.length};function ne(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var se=e=>{for(;e.length>0;)e.shift()(u)},ae=u.noExitRuntime||!0,ie=[],ue=0;class ExceptionInfo{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){T[this.ptr+4>>2]=e}get_type(){return T[this.ptr+4>>2]}set_destructor(e){T[this.ptr+8>>2]=e}get_destructor(){return T[this.ptr+8>>2]}set_caught(e){e=e?1:0,S[this.ptr+12>>0]=e}get_caught(){return 0!=S[this.ptr+12>>0]}set_rethrown(e){e=e?1:0,S[this.ptr+13>>0]=e}get_rethrown(){return 0!=S[this.ptr+13>>0]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){T[this.ptr+16>>2]=e}get_adjusted_ptr(){return T[this.ptr+16>>2]}get_exception_ptr(){if(Wu(this.get_type()))return T[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var le=e=>{var t=ue;if(!t)return Du(0),0;var r=new ExceptionInfo(t);r.set_adjusted_ptr(t);var o=r.get_type();if(!o)return Du(0),t;for(var n in e){var s=e[n];if(0===s||s===o)break;var a=r.ptr+16;if(ju(s,o,a))return Du(s),t}return Du(o),t},ce={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,o=e.length-1;o>=0;o--){var n=e[o];"."===n?e.splice(o,1):".."===n?(e.splice(o,1),r++):r&&(e.splice(o,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ce.isAbs(e),r="/"===e.substr(-1);return(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ce.splitPath(e),r=t[0],o=t[1];return r||o?(o&&(o=o.substr(0,o.length-1)),r+o):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ce.normalize(e.join("/"))},join2:(e,t)=>ce.normalize(e+"/"+t)},de=e=>(de=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(y)try{var e=require("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}Q("initRandomDevice")})())(e),pe={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var o=r>=0?arguments[r]:Ae.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";e=o+"/"+e,t=ce.isAbs(o)}return(t?"/":"")+(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=pe.resolve(e).substr(1),t=pe.resolve(t).substr(1);for(var o=r(e.split("/")),n=r(t.split("/")),s=Math.min(o.length,n.length),a=s,i=0;i<s;i++)if(o[i]!==n[i]){a=i;break}var u=[];for(i=a;i<o.length;i++)u.push("..");return(u=u.concat(n.slice(a))).join("/")}},ge="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,fe=(e,t,r)=>{for(var o=t+r,n=t;e[n]&&!(n>=o);)++n;if(n-t>16&&e.buffer&&ge)return ge.decode(e.subarray(t,n));for(var s="";t<n;){var a=e[t++];if(128&a){var i=63&e[t++];if(192!=(224&a)){var u=63&e[t++];if((a=224==(240&a)?(15&a)<<12|i<<6|u:(7&a)<<18|i<<12|u<<6|63&e[t++])<65536)s+=String.fromCharCode(a);else{var l=a-65536;s+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else s+=String.fromCharCode((31&a)<<6|i)}else s+=String.fromCharCode(a)}return s},me=[],he=e=>{for(var t=0,r=0;r<e.length;++r){var o=e.charCodeAt(r);o<=127?t++:o<=2047?t+=2:o>=55296&&o<=57343?(t+=4,++r):t+=3}return t},be=(e,t,r,o)=>{if(!(o>0))return 0;for(var n=r,s=r+o-1,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)),i<=127){if(r>=s)break;t[r++]=i}else if(i<=2047){if(r+1>=s)break;t[r++]=192|i>>6,t[r++]=128|63&i}else if(i<=65535){if(r+2>=s)break;t[r++]=224|i>>12,t[r++]=128|i>>6&63,t[r++]=128|63&i}else{if(r+3>=s)break;t[r++]=240|i>>18,t[r++]=128|i>>12&63,t[r++]=128|i>>6&63,t[r++]=128|63&i}}return t[r]=0,r-n};function ye(e,t,r){var o=r>0?r:he(e)+1,n=new Array(o),s=be(e,n,0,n.length);return t&&(n.length=s),n}var ve={ttys:[],init(){},shutdown(){},register(e,t){ve.ttys[e]={input:[],output:[],ops:t},Ae.registerDevice(e,ve.stream_ops)},stream_ops:{open(e){var t=ve.ttys[e.node.rdev];if(!t)throw new Ae.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,o,n){if(!e.tty||!e.tty.ops.get_char)throw new Ae.ErrnoError(60);for(var s=0,a=0;a<o;a++){var i;try{i=e.tty.ops.get_char(e.tty)}catch(e){throw new Ae.ErrnoError(29)}if(void 0===i&&0===s)throw new Ae.ErrnoError(6);if(null==i)break;s++,t[r+a]=i}return s&&(e.node.timestamp=Date.now()),s},write(e,t,r,o,n){if(!e.tty||!e.tty.ops.put_char)throw new Ae.ErrnoError(60);try{for(var s=0;s<o;s++)e.tty.ops.put_char(e.tty,t[r+s])}catch(e){throw new Ae.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),s}},default_tty_ops:{get_char:e=>(()=>{if(!me.length){var e=null;if(y){var t=Buffer.alloc(256),r=0,o=process.stdin.fd;try{r=_.readSync(o,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;me=ye(e,!0)}return me.shift()})(),put_char(e,t){null===t||10===t?(A(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(A(fe(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,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(E(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(E(fe(e.output,0)),e.output=[])}}},_e=e=>{e=((e,t)=>Math.ceil(e/t)*t)(e,65536);var t=Mu(65536,e);return t?((e,t)=>(R.fill(0,e,e+t),e))(t,e):0},ke={ops_table:null,mount:e=>ke.createNode(null,"/",16895,0),createNode(e,t,r,o){if(Ae.isBlkdev(r)||Ae.isFIFO(r))throw new Ae.ErrnoError(63);ke.ops_table||={dir:{node:{getattr:ke.node_ops.getattr,setattr:ke.node_ops.setattr,lookup:ke.node_ops.lookup,mknod:ke.node_ops.mknod,rename:ke.node_ops.rename,unlink:ke.node_ops.unlink,rmdir:ke.node_ops.rmdir,readdir:ke.node_ops.readdir,symlink:ke.node_ops.symlink},stream:{llseek:ke.stream_ops.llseek}},file:{node:{getattr:ke.node_ops.getattr,setattr:ke.node_ops.setattr},stream:{llseek:ke.stream_ops.llseek,read:ke.stream_ops.read,write:ke.stream_ops.write,allocate:ke.stream_ops.allocate,mmap:ke.stream_ops.mmap,msync:ke.stream_ops.msync}},link:{node:{getattr:ke.node_ops.getattr,setattr:ke.node_ops.setattr,readlink:ke.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ke.node_ops.getattr,setattr:ke.node_ops.setattr},stream:Ae.chrdev_stream_ops}};var n=Ae.createNode(e,t,r,o);return Ae.isDir(n.mode)?(n.node_ops=ke.ops_table.dir.node,n.stream_ops=ke.ops_table.dir.stream,n.contents={}):Ae.isFile(n.mode)?(n.node_ops=ke.ops_table.file.node,n.stream_ops=ke.ops_table.file.stream,n.usedBytes=0,n.contents=null):Ae.isLink(n.mode)?(n.node_ops=ke.ops_table.link.node,n.stream_ops=ke.ops_table.link.stream):Ae.isChrdev(n.mode)&&(n.node_ops=ke.ops_table.chrdev.node,n.stream_ops=ke.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var o=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(o.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Ae.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Ae.isDir(e.mode)?t.size=4096:Ae.isFile(e.mode)?t.size=e.usedBytes:Ae.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&ke.resizeFileStorage(e,t.size)},lookup(e,t){throw Ae.genericErrors[44]},mknod:(e,t,r,o)=>ke.createNode(e,t,r,o),rename(e,t,r){if(Ae.isDir(e.mode)){var o;try{o=Ae.lookupNode(t,r)}catch(e){}if(o)for(var n in o.contents)throw new Ae.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Ae.lookupNode(e,t);for(var o in r.contents)throw new Ae.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r of Object.keys(e.contents))t.push(r);return t},symlink(e,t,r){var o=ke.createNode(e,t,41471,0);return o.link=r,o},readlink(e){if(!Ae.isLink(e.mode))throw new Ae.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,o,n){var s=e.node.contents;if(n>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-n,o);if(a>8&&s.subarray)t.set(s.subarray(n,n+a),r);else for(var i=0;i<a;i++)t[r+i]=s[n+i];return a},write(e,t,r,o,n,s){if(t.buffer===S.buffer&&(s=!1),!o)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(s)return a.contents=t.subarray(r,r+o),a.usedBytes=o,o;if(0===a.usedBytes&&0===n)return a.contents=t.slice(r,r+o),a.usedBytes=o,o;if(n+o<=a.usedBytes)return a.contents.set(t.subarray(r,r+o),n),o}if(ke.expandFileStorage(a,n+o),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+o),n);else for(var i=0;i<o;i++)a.contents[n+i]=t[r+i];return a.usedBytes=Math.max(a.usedBytes,n+o),o},llseek(e,t,r){var o=t;if(1===r?o+=e.position:2===r&&Ae.isFile(e.node.mode)&&(o+=e.node.usedBytes),o<0)throw new Ae.ErrnoError(28);return o},allocate(e,t,r){ke.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,o,n){if(!Ae.isFile(e.node.mode))throw new Ae.ErrnoError(43);var s,a,i=e.node.contents;if(2&n||i.buffer!==S.buffer){if((r>0||r+t<i.length)&&(i=i.subarray?i.subarray(r,r+t):Array.prototype.slice.call(i,r,r+t)),a=!0,!(s=_e(t)))throw new Ae.ErrnoError(48);S.set(i,s)}else a=!1,s=i.byteOffset;return{ptr:s,allocated:a}},msync:(e,t,r,o,n)=>(ke.stream_ops.write(e,t,0,o,r,!1),0)}},Ce=u.preloadPlugins||[],we=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Ae={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,t={}){if(!(e=pe.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new Ae.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),o=Ae.root,n="/",s=0;s<r.length;s++){var a=s===r.length-1;if(a&&t.parent)break;if(o=Ae.lookupNode(o,r[s]),n=ce.join2(n,r[s]),Ae.isMountpoint(o)&&(!a||a&&t.follow_mount)&&(o=o.mounted.root),!a||t.follow)for(var i=0;Ae.isLink(o.mode);){var u=Ae.readlink(n);if(n=pe.resolve(ce.dirname(n),u),o=Ae.lookupPath(n,{recurse_count:t.recurse_count+1}).node,i++>40)throw new Ae.ErrnoError(32)}}return{path:n,node:o}},getPath(e){for(var t;;){if(Ae.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,o=0;o<t.length;o++)r=(r<<5)-r+t.charCodeAt(o)|0;return(e+r>>>0)%Ae.nameTable.length},hashAddNode(e){var t=Ae.hashName(e.parent.id,e.name);e.name_next=Ae.nameTable[t],Ae.nameTable[t]=e},hashRemoveNode(e){var t=Ae.hashName(e.parent.id,e.name);if(Ae.nameTable[t]===e)Ae.nameTable[t]=e.name_next;else for(var r=Ae.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Ae.mayLookup(e);if(r)throw new Ae.ErrnoError(r);for(var o=Ae.hashName(e.id,t),n=Ae.nameTable[o];n;n=n.name_next){var s=n.name;if(n.parent.id===e.id&&s===t)return n}return Ae.lookup(e,t)},createNode(e,t,r,o){var n=new Ae.FSNode(e,t,r,o);return Ae.hashAddNode(n),n},destroyNode(e){Ae.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==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Ae.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!Ae.isDir(e.mode))return 54;var t=Ae.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{return Ae.lookupNode(e,t),20}catch(e){}return Ae.nodePermissions(e,"wx")},mayDelete(e,t,r){var o;try{o=Ae.lookupNode(e,t)}catch(e){return e.errno}var n=Ae.nodePermissions(e,"wx");if(n)return n;if(r){if(!Ae.isDir(o.mode))return 54;if(Ae.isRoot(o)||Ae.getPath(o)===Ae.cwd())return 10}else if(Ae.isDir(o.mode))return 31;return 0},mayOpen:(e,t)=>e?Ae.isLink(e.mode)?32:Ae.isDir(e.mode)&&("r"!==Ae.flagsToPermissionString(t)||512&t)?31:Ae.nodePermissions(e,Ae.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Ae.MAX_OPEN_FDS;e++)if(!Ae.streams[e])return e;throw new Ae.ErrnoError(33)},getStreamChecked(e){var t=Ae.getStream(e);if(!t)throw new Ae.ErrnoError(8);return t},getStream:e=>Ae.streams[e],createStream:(e,t=-1)=>(Ae.FSStream||(Ae.FSStream=function(){this.shared={}},Ae.FSStream.prototype={},Object.defineProperties(Ae.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Ae.FSStream,e),-1==t&&(t=Ae.nextfd()),e.fd=t,Ae.streams[t]=e,e),closeStream(e){Ae.streams[e]=null},chrdev_stream_ops:{open(e){var t,r,o=Ae.getDevice(e.node.rdev);e.stream_ops=o.stream_ops,null==(r=(t=e.stream_ops).open)||r.call(t,e)},llseek(){throw new Ae.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Ae.devices[e]={stream_ops:t}},getDevice:e=>Ae.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var o=r.pop();t.push(o),r.push.apply(r,o.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Ae.syncFSRequests++,Ae.syncFSRequests>1&&E(`warning: ${Ae.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Ae.getMounts(Ae.root.mount),o=0;function n(e){return Ae.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,n(e));++o>=r.length&&n(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var o,n="/"===r,s=!r;if(n&&Ae.root)throw new Ae.ErrnoError(10);if(!n&&!s){var a=Ae.lookupPath(r,{follow_mount:!1});if(r=a.path,o=a.node,Ae.isMountpoint(o))throw new Ae.ErrnoError(10);if(!Ae.isDir(o.mode))throw new Ae.ErrnoError(54)}var i={type:e,opts:t,mountpoint:r,mounts:[]},u=e.mount(i);return u.mount=i,i.root=u,n?Ae.root=u:o&&(o.mounted=i,o.mount&&o.mount.mounts.push(i)),u},unmount(e){var t=Ae.lookupPath(e,{follow_mount:!1});if(!Ae.isMountpoint(t.node))throw new Ae.ErrnoError(28);var r=t.node,o=r.mounted,n=Ae.getMounts(o);Object.keys(Ae.nameTable).forEach((e=>{for(var t=Ae.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&Ae.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(o);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var o=Ae.lookupPath(e,{parent:!0}).node,n=ce.basename(e);if(!n||"."===n||".."===n)throw new Ae.ErrnoError(28);var s=Ae.mayCreate(o,n);if(s)throw new Ae.ErrnoError(s);if(!o.node_ops.mknod)throw new Ae.ErrnoError(63);return o.node_ops.mknod(o,n,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Ae.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Ae.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),o="",n=0;n<r.length;++n)if(r[n]){o+="/"+r[n];try{Ae.mkdir(o,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,Ae.mknod(e,t,r)),symlink(e,t){if(!pe.resolve(e))throw new Ae.ErrnoError(44);var r=Ae.lookupPath(t,{parent:!0}).node;if(!r)throw new Ae.ErrnoError(44);var o=ce.basename(t),n=Ae.mayCreate(r,o);if(n)throw new Ae.ErrnoError(n);if(!r.node_ops.symlink)throw new Ae.ErrnoError(63);return r.node_ops.symlink(r,o,e)},rename(e,t){var r,o,n=ce.dirname(e),s=ce.dirname(t),a=ce.basename(e),i=ce.basename(t);if(r=Ae.lookupPath(e,{parent:!0}).node,o=Ae.lookupPath(t,{parent:!0}).node,!r||!o)throw new Ae.ErrnoError(44);if(r.mount!==o.mount)throw new Ae.ErrnoError(75);var u,l=Ae.lookupNode(r,a),c=pe.relative(e,s);if("."!==c.charAt(0))throw new Ae.ErrnoError(28);if("."!==(c=pe.relative(t,n)).charAt(0))throw new Ae.ErrnoError(55);try{u=Ae.lookupNode(o,i)}catch(e){}if(l!==u){var d=Ae.isDir(l.mode),p=Ae.mayDelete(r,a,d);if(p)throw new Ae.ErrnoError(p);if(p=u?Ae.mayDelete(o,i,d):Ae.mayCreate(o,i))throw new Ae.ErrnoError(p);if(!r.node_ops.rename)throw new Ae.ErrnoError(63);if(Ae.isMountpoint(l)||u&&Ae.isMountpoint(u))throw new Ae.ErrnoError(10);if(o!==r&&(p=Ae.nodePermissions(r,"w")))throw new Ae.ErrnoError(p);Ae.hashRemoveNode(l);try{r.node_ops.rename(l,o,i)}catch(e){throw e}finally{Ae.hashAddNode(l)}}},rmdir(e){var t=Ae.lookupPath(e,{parent:!0}).node,r=ce.basename(e),o=Ae.lookupNode(t,r),n=Ae.mayDelete(t,r,!0);if(n)throw new Ae.ErrnoError(n);if(!t.node_ops.rmdir)throw new Ae.ErrnoError(63);if(Ae.isMountpoint(o))throw new Ae.ErrnoError(10);t.node_ops.rmdir(t,r),Ae.destroyNode(o)},readdir(e){var t=Ae.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Ae.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Ae.lookupPath(e,{parent:!0}).node;if(!t)throw new Ae.ErrnoError(44);var r=ce.basename(e),o=Ae.lookupNode(t,r),n=Ae.mayDelete(t,r,!1);if(n)throw new Ae.ErrnoError(n);if(!t.node_ops.unlink)throw new Ae.ErrnoError(63);if(Ae.isMountpoint(o))throw new Ae.ErrnoError(10);t.node_ops.unlink(t,r),Ae.destroyNode(o)},readlink(e){var t=Ae.lookupPath(e).node;if(!t)throw new Ae.ErrnoError(44);if(!t.node_ops.readlink)throw new Ae.ErrnoError(28);return pe.resolve(Ae.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Ae.lookupPath(e,{follow:!t}).node;if(!r)throw new Ae.ErrnoError(44);if(!r.node_ops.getattr)throw new Ae.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Ae.stat(e,!0),chmod(e,t,r){var o;if(!(o="string"==typeof e?Ae.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Ae.ErrnoError(63);o.node_ops.setattr(o,{mode:4095&t|-4096&o.mode,timestamp:Date.now()})},lchmod(e,t){Ae.chmod(e,t,!0)},fchmod(e,t){var r=Ae.getStreamChecked(e);Ae.chmod(r.node,t)},chown(e,t,r,o){var n;if(!(n="string"==typeof e?Ae.lookupPath(e,{follow:!o}).node:e).node_ops.setattr)throw new Ae.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){Ae.chown(e,t,r,!0)},fchown(e,t,r){var o=Ae.getStreamChecked(e);Ae.chown(o.node,t,r)},truncate(e,t){if(t<0)throw new Ae.ErrnoError(28);var r;if(!(r="string"==typeof e?Ae.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Ae.ErrnoError(63);if(Ae.isDir(r.mode))throw new Ae.ErrnoError(31);if(!Ae.isFile(r.mode))throw new Ae.ErrnoError(28);var o=Ae.nodePermissions(r,"w");if(o)throw new Ae.ErrnoError(o);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Ae.getStreamChecked(e);if(0==(2097155&r.flags))throw new Ae.ErrnoError(28);Ae.truncate(r.node,t)},utime(e,t,r){var o=Ae.lookupPath(e,{follow:!0}).node;o.node_ops.setattr(o,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Ae.ErrnoError(44);var o;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?(e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t})(t):t)?4095&r|32768:0,"object"==typeof e)o=e;else{e=ce.normalize(e);try{o=Ae.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var n=!1;if(64&t)if(o){if(128&t)throw new Ae.ErrnoError(20)}else o=Ae.mknod(e,r,0),n=!0;if(!o)throw new Ae.ErrnoError(44);if(Ae.isChrdev(o.mode)&&(t&=-513),65536&t&&!Ae.isDir(o.mode))throw new Ae.ErrnoError(54);if(!n){var s=Ae.mayOpen(o,t);if(s)throw new Ae.ErrnoError(s)}512&t&&!n&&Ae.truncate(o,0),t&=-131713;var a=Ae.createStream({node:o,path:Ae.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!u.logReadFiles||1&t||(Ae.readFiles||(Ae.readFiles={}),e in Ae.readFiles||(Ae.readFiles[e]=1)),a},close(e){if(Ae.isClosed(e))throw new Ae.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Ae.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Ae.isClosed(e))throw new Ae.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Ae.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Ae.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,o,n){if(o<0||n<0)throw new Ae.ErrnoError(28);if(Ae.isClosed(e))throw new Ae.ErrnoError(8);if(1==(2097155&e.flags))throw new Ae.ErrnoError(8);if(Ae.isDir(e.node.mode))throw new Ae.ErrnoError(31);if(!e.stream_ops.read)throw new Ae.ErrnoError(28);var s=void 0!==n;if(s){if(!e.seekable)throw new Ae.ErrnoError(70)}else n=e.position;var a=e.stream_ops.read(e,t,r,o,n);return s||(e.position+=a),a},write(e,t,r,o,n,s){if(o<0||n<0)throw new Ae.ErrnoError(28);if(Ae.isClosed(e))throw new Ae.ErrnoError(8);if(0==(2097155&e.flags))throw new Ae.ErrnoError(8);if(Ae.isDir(e.node.mode))throw new Ae.ErrnoError(31);if(!e.stream_ops.write)throw new Ae.ErrnoError(28);e.seekable&&1024&e.flags&&Ae.llseek(e,0,2);var a=void 0!==n;if(a){if(!e.seekable)throw new Ae.ErrnoError(70)}else n=e.position;var i=e.stream_ops.write(e,t,r,o,n,s);return a||(e.position+=i),i},allocate(e,t,r){if(Ae.isClosed(e))throw new Ae.ErrnoError(8);if(t<0||r<=0)throw new Ae.ErrnoError(28);if(0==(2097155&e.flags))throw new Ae.ErrnoError(8);if(!Ae.isFile(e.node.mode)&&!Ae.isDir(e.node.mode))throw new Ae.ErrnoError(43);if(!e.stream_ops.allocate)throw new Ae.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,o,n){if(0!=(2&o)&&0==(2&n)&&2!=(2097155&e.flags))throw new Ae.ErrnoError(2);if(1==(2097155&e.flags))throw new Ae.ErrnoError(2);if(!e.stream_ops.mmap)throw new Ae.ErrnoError(43);return e.stream_ops.mmap(e,t,r,o,n)},msync:(e,t,r,o,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,o,n):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Ae.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,o=Ae.open(e,t.flags),n=Ae.stat(e).size,s=new Uint8Array(n);return Ae.read(o,s,0,n,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),Ae.close(o),r},writeFile(e,t,r={}){r.flags=r.flags||577;var o=Ae.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(he(t)+1),s=be(t,n,0,n.length);Ae.write(o,n,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Ae.write(o,t,0,t.byteLength,void 0,r.canOwn)}Ae.close(o)},cwd:()=>Ae.currentPath,chdir(e){var t=Ae.lookupPath(e,{follow:!0});if(null===t.node)throw new Ae.ErrnoError(44);if(!Ae.isDir(t.node.mode))throw new Ae.ErrnoError(54);var r=Ae.nodePermissions(t.node,"x");if(r)throw new Ae.ErrnoError(r);Ae.currentPath=t.path},createDefaultDirectories(){Ae.mkdir("/tmp"),Ae.mkdir("/home"),Ae.mkdir("/home/web_user")},createDefaultDevices(){Ae.mkdir("/dev"),Ae.registerDevice(Ae.makedev(1,3),{read:()=>0,write:(e,t,r,o,n)=>o}),Ae.mkdev("/dev/null",Ae.makedev(1,3)),ve.register(Ae.makedev(5,0),ve.default_tty_ops),ve.register(Ae.makedev(6,0),ve.default_tty1_ops),Ae.mkdev("/dev/tty",Ae.makedev(5,0)),Ae.mkdev("/dev/tty1",Ae.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=de(e).byteLength),e[--t]);Ae.createDevice("/dev","random",r),Ae.createDevice("/dev","urandom",r),Ae.mkdir("/dev/shm"),Ae.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Ae.mkdir("/proc");var e=Ae.mkdir("/proc/self");Ae.mkdir("/proc/self/fd"),Ae.mount({mount(){var t=Ae.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,o=Ae.getStreamChecked(r),n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>o.path}};return n.parent=n,n}},t}},{},"/proc/self/fd")},createStandardStreams(){u.stdin?Ae.createDevice("/dev","stdin",u.stdin):Ae.symlink("/dev/tty","/dev/stdin"),u.stdout?Ae.createDevice("/dev","stdout",null,u.stdout):Ae.symlink("/dev/tty","/dev/stdout"),u.stderr?Ae.createDevice("/dev","stderr",null,u.stderr):Ae.symlink("/dev/tty1","/dev/stderr"),Ae.open("/dev/stdin",0),Ae.open("/dev/stdout",1),Ae.open("/dev/stderr",1)},staticInit(){[44].forEach((e=>{Ae.genericErrors[e]=new Ae.ErrnoError(e),Ae.genericErrors[e].stack="<generic error, no stack>"})),Ae.nameTable=new Array(4096),Ae.mount(ke,{},"/"),Ae.createDefaultDirectories(),Ae.createDefaultDevices(),Ae.createSpecialDirectories(),Ae.filesystems={MEMFS:ke}},init(e,t,r){Ae.init.initialized=!0,u.stdin=e||u.stdin,u.stdout=t||u.stdout,u.stderr=r||u.stderr,Ae.createStandardStreams()},quit(){Ae.init.initialized=!1;for(var e=0;e<Ae.streams.length;e++){var t=Ae.streams[e];t&&Ae.close(t)}},findObject(e,t){var r=Ae.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(o=Ae.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var o=Ae.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=o.path,r.parentObject=o.node,r.name=ce.basename(e),o=Ae.lookupPath(e,{follow:!t}),r.exists=!0,r.path=o.path,r.object=o.node,r.name=o.node.name,r.isRoot="/"===o.path}catch(e){r.error=e.errno}return r},createPath(e,t,r,o){e="string"==typeof e?e:Ae.getPath(e);for(var n=t.split("/").reverse();n.length;){var s=n.pop();if(s){var a=ce.join2(e,s);try{Ae.mkdir(a)}catch(e){}e=a}}return a},createFile(e,t,r,o,n){var s=ce.join2("string"==typeof e?e:Ae.getPath(e),t),a=we(o,n);return Ae.create(s,a)},createDataFile(e,t,r,o,n,s){var a=t;e&&(e="string"==typeof e?e:Ae.getPath(e),a=t?ce.join2(e,t):e);var i=we(o,n),u=Ae.create(a,i);if(r){if("string"==typeof r){for(var l=new Array(r.length),c=0,d=r.length;c<d;++c)l[c]=r.charCodeAt(c);r=l}Ae.chmod(u,146|i);var p=Ae.open(u,577);Ae.write(p,r,0,r.length,0,s),Ae.close(p),Ae.chmod(u,i)}},createDevice(e,t,r,o){var n=ce.join2("string"==typeof e?e:Ae.getPath(e),t),s=we(!!r,!!o);Ae.createDevice.major||(Ae.createDevice.major=64);var a=Ae.makedev(Ae.createDevice.major++,0);return Ae.registerDevice(a,{open(e){e.seekable=!1},close(e){var t;(null==(t=null==o?void 0:o.buffer)?void 0:t.length)&&o(10)},read(e,t,o,n,s){for(var a=0,i=0;i<n;i++){var u;try{u=r()}catch(e){throw new Ae.ErrnoError(29)}if(void 0===u&&0===a)throw new Ae.ErrnoError(6);if(null==u)break;a++,t[o+i]=u}return a&&(e.node.timestamp=Date.now()),a},write(e,t,r,n,s){for(var a=0;a<n;a++)try{o(t[r+a])}catch(e){throw new Ae.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}}),Ae.mkdev(n,s,a)},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(!l)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=ye(l(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Ae.ErrnoError(29)}},createLazyFile(e,t,r,o,n){function s(){this.lengthKnown=!1,this.chunks=[]}if(s.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,o=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;n||(a=o);var i=this;i.setDataGetter((e=>{var t=e*a,n=(e+1)*a-1;if(n=Math.min(n,o-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>o-1)throw new Error("only "+o+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),o!==a&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ye(n.responseText||"",!0)})(t,n)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]})),!s&&o||(a=o=1,o=this.getter(0).length,a=o,A("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=o,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!b)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new s;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:a}}else i={isDevice:!1,url:r};var u=Ae.createFile(e,t,i,o,n);i.contents?u.contents=i.contents:i.url&&(u.contents=null,u.url=i.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,t,r,o,n){var s=e.node.contents;if(n>=s.length)return 0;var a=Math.min(s.length-n,o);if(s.slice)for(var i=0;i<a;i++)t[r+i]=s[n+i];else for(i=0;i<a;i++)t[r+i]=s.get(n+i);return a}return Object.keys(u.stream_ops).forEach((e=>{var t=u.stream_ops[e];l[e]=function(){return Ae.forceLoadFile(u),t.apply(null,arguments)}})),l.read=(e,t,r,o,n)=>(Ae.forceLoadFile(u),c(e,t,r,o,n)),l.mmap=(e,t,r,o,n)=>{Ae.forceLoadFile(u);var s=_e(t);if(!s)throw new Ae.ErrnoError(48);return c(e,S,s,t,r),{ptr:s,allocated:!0}},u.stream_ops=l,u}},Ee=(e,t)=>e?fe(R,e,t):"",Pe={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ce.isAbs(t))return t;var o;if(o=-100===e?Ae.cwd():Pe.getStreamFromFD(e).path,0==t.length){if(!r)throw new Ae.ErrnoError(44);return o}return ce.join2(o,t)},doStat(e,t,r){var o=e(t);x[r>>2]=o.dev,x[r+4>>2]=o.mode,T[r+8>>2]=o.nlink,x[r+12>>2]=o.uid,x[r+16>>2]=o.gid,x[r+20>>2]=o.rdev,F[r+24>>3]=BigInt(o.size),x[r+32>>2]=4096,x[r+36>>2]=o.blocks;var n=o.atime.getTime(),s=o.mtime.getTime(),a=o.ctime.getTime();return F[r+40>>3]=BigInt(Math.floor(n/1e3)),T[r+48>>2]=n%1e3*1e3,F[r+56>>3]=BigInt(Math.floor(s/1e3)),T[r+64>>2]=s%1e3*1e3,F[r+72>>3]=BigInt(Math.floor(a/1e3)),T[r+80>>2]=a%1e3*1e3,F[r+88>>3]=BigInt(o.ino),0},doMsync(e,t,r,o,n){if(!Ae.isFile(t.node.mode))throw new Ae.ErrnoError(43);if(2&o)return 0;var s=R.slice(e,e+r);Ae.msync(t,s,n,r,o)},varargs:void 0,get(){var e=x[+Pe.varargs>>2];return Pe.varargs+=4,e},getp:()=>Pe.get(),getStr:e=>Ee(e),getStreamFromFD:e=>Ae.getStreamChecked(e)},Se={},Re=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Be(e){return this.fromWireType(x[e>>2])}var Ie,xe,Te,qe={},Fe={},De={},Le=e=>{throw new Ie(e)},Me=(e,t,r)=>{function o(t){var o=r(t);o.length!==e.length&&Le("Mismatched type converter count");for(var n=0;n<e.length;++n)Ne(e[n],o[n])}e.forEach((function(e){De[e]=t}));var n=new Array(t.length),s=[],a=0;t.forEach(((e,t)=>{Fe.hasOwnProperty(e)?n[t]=Fe[e]:(s.push(e),qe.hasOwnProperty(e)||(qe[e]=[]),qe[e].push((()=>{n[t]=Fe[e],++a===s.length&&o(n)})))})),0===s.length&&o(n)},Oe={},Ue=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},$e=e=>{for(var t="",r=e;R[r];)t+=xe[R[r++]];return t},Ve=e=>{throw new Te(e)};function Ne(e,t,r={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t,r={}){var o=t.name;if(e||Ve(`type "${o}" must have a positive integer typeid pointer`),Fe.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ve(`Cannot register type '${o}' twice`)}if(Fe[e]=t,delete De[e],qe.hasOwnProperty(e)){var n=qe[e];delete qe[e],n.forEach((e=>e()))}}(e,t,r)}var He,je=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>R[e>>0];case 2:return r?e=>B[e>>1]:e=>I[e>>1];case 4:return r?e=>x[e>>2]:e=>T[e>>2];case 8:return r?e=>F[e>>3]:e=>D[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},We=8,Ge=e=>{Ve(e.$$.ptrType.registeredClass.name+" instance already deleted")},ze=!1,Ye=e=>{},Xe=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Qe=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var o=Qe(e,t,r.baseClass);return null===o?null:r.downcast(o)},Ke={},Ze=()=>Object.keys(ot).length,Je=()=>{var e=[];for(var t in ot)ot.hasOwnProperty(t)&&e.push(ot[t]);return e},et=[],tt=()=>{for(;et.length;){var e=et.pop();e.$$.deleteScheduled=!1,e.delete()}},rt=e=>{He=e,et.length&&He&&He(tt)},ot={},nt=(e,t)=>(t=((e,t)=>{for(void 0===t&&Ve("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),ot[t]),st=(e,t)=>(t.ptrType&&t.ptr||Le("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Le("Both smartPtrType and smartPtr must be specified"),t.count={value:1},it(Object.create(e,{$$:{value:t,writable:!0}})));function at(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=nt(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var o=r.clone();return this.destructor(e),o}function n(){return this.isSmartPointer?st(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):st(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,a=this.registeredClass.getActualType(t),i=Ke[a];if(!i)return n.call(this);s=this.isConst?i.constPointerType:i.pointerType;var u=Qe(t,this.registeredClass,s.registeredClass);return null===u?n.call(this):this.isSmartPointer?st(s.registeredClass.instancePrototype,{ptrType:s,ptr:u,smartPtrType:this,smartPtr:e}):st(s.registeredClass.instancePrototype,{ptrType:s,ptr:u})}var it=e=>"undefined"==typeof FinalizationRegistry?(it=e=>e,e):(ze=new FinalizationRegistry((e=>{Xe(e.$$)})),Ye=e=>ze.unregister(e),(it=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};ze.register(e,r,e)}return e})(e));function ut(){}var lt=(e,t)=>Object.defineProperty(t,"name",{value:e}),ct=(e,t,r)=>{if(void 0===e[t].overloadTable){var o=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Ve(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[o.argCount]=o}},dt=(e,t,r)=>{u.hasOwnProperty(e)?((void 0===r||void 0!==u[e].overloadTable&&void 0!==u[e].overloadTable[r])&&Ve(`Cannot register public name '${e}' twice`),ct(u,e,e),u.hasOwnProperty(r)&&Ve(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),u[e].overloadTable[r]=t):(u[e]=t,void 0!==r&&(u[e].numArguments=r))};function pt(e,t,r,o,n,s,a,i){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=o,this.baseClass=n,this.getActualType=s,this.upcast=a,this.downcast=i,this.pureVirtualFunctions=[]}var gt=(e,t,r)=>{for(;t!==r;)t.upcast||Ve(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function ft(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${Ue(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return gt(t.$$.ptr,r,this.registeredClass)}function mt(e,t){var r;if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t&&t.$$||Ve(`Cannot pass "${Ue(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var o=t.$$.ptrType.registeredClass;if(r=gt(t.$$.ptr,o,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ve("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Ve(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,Lt.toHandle((()=>n.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:Ve("Unsupporting sharing policy")}return r}function ht(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${Ue(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return gt(t.$$.ptr,r,this.registeredClass)}function bt(e){return this.fromWireType(T[e>>2])}function yt(e,t,r,o,n,s,a,i,u,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=o,this.isSmartPointer=n,this.pointeeType=s,this.sharingPolicy=a,this.rawGetPointee=i,this.rawConstructor=u,this.rawShare=l,this.rawDestructor=c,n||void 0!==t.baseClass?this.toWireType=mt:o?(this.toWireType=ft,this.destructorFunction=null):(this.toWireType=ht,this.destructorFunction=null)}var vt,_t,kt=(e,t,r)=>{u.hasOwnProperty(e)||Le("Replacing nonexistant public symbol"),void 0!==u[e].overloadTable&&void 0!==r?u[e].overloadTable[r]=t:(u[e]=t,u[e].argCount=r)},Ct=[],wt=e=>{var t=Ct[e];return t||(e>=Ct.length&&(Ct.length=e+1),Ct[e]=t=vt.get(e)),t},At=(e,t)=>{e=$e(e);var r=wt(t);return"function"!=typeof r&&Ve(`unknown function pointer with signature ${e}: ${t}`),r},Et=e=>{var t=Lu(e),r=$e(t);return Tu(t),r},Pt=(e,t)=>{var r=[],o={};throw t.forEach((function e(t){o[t]||Fe[t]||(De[t]?De[t].forEach(e):(r.push(t),o[t]=!0))})),new _t(`${e}: `+r.map(Et).join([", "]))},St=(e,t)=>{for(var r=[],o=0;o<e;o++)r.push(T[t+4*o>>2]);return r};function Rt(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}function Bt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=lt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var o=new r,n=e.apply(o,t);return n instanceof Object?n:o}function It(e,t,r,o,n,s){var a=t.length;a<2&&Ve("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var i=null!==t[1]&&null!==r,u=Rt(t),l="void"!==t[0].name,c=[e,Ve,o,n,Re,t[0],t[1]],d=0;d<a-2;++d)c.push(t[d+2]);if(!u)for(d=i?1:2;d<t.length;++d)null!==t[d].destructorFunction&&c.push(t[d].destructorFunction);let[p,g]=function(e,t,r,o){for(var n=Rt(e),s=e.length,a="",i="",u=0;u<s-2;++u)a+=(0!==u?", ":"")+"arg"+u,i+=(0!==u?", ":"")+"arg"+u+"Wired";var l=`\n return function (${a}) {\n if (arguments.length !== ${s-2}) {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${s-2}');\n }`;n&&(l+="var destructors = [];\n");var c=n?"destructors":"null",d=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(t&&(l+="var thisWired = classParam['toWireType']("+c+", this);\n"),u=0;u<s-2;++u)l+="var arg"+u+"Wired = argType"+u+"['toWireType']("+c+", arg"+u+");\n",d.push("argType"+u);if(t&&(i="thisWired"+(i.length>0?", ":"")+i),l+=(r||o?"var rv = ":"")+"invoker(fn"+(i.length>0?", ":"")+i+");\n",n)l+="runDestructors(destructors);\n";else for(u=t?1:2;u<e.length;++u){var p=1===u?"thisWired":"arg"+(u-2)+"Wired";null!==e[u].destructorFunction&&(l+=p+"_dtor("+p+");\n",d.push(p+"_dtor"))}return r&&(l+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),[d,l+="}\n"]}(t,i,l,s);p.push(g);var f=Bt(Function,p).apply(null,c);return lt(e,f)}var xt,Tt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},qt=new class HandleAllocator{constructor(){this.allocated=[void 0],this.freelist=[]}get(e){return this.allocated[e]}has(e){return void 0!==this.allocated[e]}allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t}free(e){this.allocated[e]=void 0,this.freelist.push(e)}},Ft=e=>{e>=qt.reserved&&0==--qt.get(e).refcount&&qt.free(e)},Dt=()=>{for(var e=0,t=qt.reserved;t<qt.allocated.length;++t)void 0!==qt.allocated[t]&&++e;return e},Lt={toValue:e=>(e||Ve("Cannot use deleted val. handle = "+e),qt.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return qt.allocate({refcount:1,value:e})}}},Mt={name:"emscripten::val",fromWireType:e=>{var t=Lt.toValue(e);return Ft(e),t},toWireType:(e,t)=>Lt.toHandle(t),argPackAdvance:We,readValueFromPointer:Be,destructorFunction:null},Ot=(e,t,r)=>{switch(t){case 1:return r?function(e){return this.fromWireType(S[e>>0])}:function(e){return this.fromWireType(R[e>>0])};case 2:return r?function(e){return this.fromWireType(B[e>>1])}:function(e){return this.fromWireType(I[e>>1])};case 4:return r?function(e){return this.fromWireType(x[e>>2])}:function(e){return this.fromWireType(T[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Ut=(e,t)=>{var r=Fe[e];return void 0===r&&Ve(t+" has unknown type "+Et(e)),r},$t=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(q[e>>2])};case 8:return function(e){return this.fromWireType(L[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Vt=(e,t,r)=>be(e,R,t,r),Nt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Ht=(e,t)=>{for(var r=e,o=r>>1,n=o+t/2;!(o>=n)&&I[o];)++o;if((r=o<<1)-e>32&&Nt)return Nt.decode(R.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var i=B[e+2*a>>1];if(0==i)break;s+=String.fromCharCode(i)}return s},jt=(e,t,r)=>{if(r??=2147483647,r<2)return 0;for(var o=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s<n;++s){var a=e.charCodeAt(s);B[t>>1]=a,t+=2}return B[t>>1]=0,t-o},Wt=e=>2*e.length,Gt=(e,t)=>{for(var r=0,o="";!(r>=t/4);){var n=x[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;o+=String.fromCharCode(55296|s>>10,56320|1023&s)}else o+=String.fromCharCode(n)}return o},zt=(e,t,r)=>{if(r??=2147483647,r<4)return 0;for(var o=t,n=o+r-4,s=0;s<e.length;++s){var a=e.charCodeAt(s);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),x[t>>2]=a,(t+=4)+4>n)break}return x[t>>2]=0,t-o},Yt=e=>{for(var t=0,r=0;r<e.length;++r){var o=e.charCodeAt(r);o>=55296&&o<=57343&&++r,t+=4}return t},Xt=(e,t,r)=>{var o=[],n=e.toWireType(o,r);return o.length&&(T[t>>2]=Lt.toHandle(o)),n},Qt=[],Kt={},Zt=e=>{var t=Kt[e];return void 0===t?$e(e):t},Jt=()=>"object"==typeof globalThis?globalThis:function(){return Function}()("return this")(),er=(Reflect.construct,e=>e<-9007199254740992||e>9007199254740992?NaN:Number(e)),tr=e=>e%4==0&&(e%100!=0||e%400==0),rr=[0,31,60,91,121,152,182,213,244,274,305,335],or=[0,31,59,90,120,151,181,212,243,273,304,334],nr=e=>(tr(e.getFullYear())?rr:or)[e.getMonth()]+e.getDate()-1,sr=e=>{var t=he(e)+1,r=Iu(t);return r&&Vt(e,r,t),r},ar=(e,t)=>{if(gr.mainLoop.timingMode=e,gr.mainLoop.timingValue=t,!gr.mainLoop.func)return 1;if(gr.mainLoop.running||(gr.mainLoop.running=!0),0==e)gr.mainLoop.scheduler=function(){var e=0|Math.max(0,gr.mainLoop.tickStartTime+t-xt());setTimeout(gr.mainLoop.runner,e)},gr.mainLoop.method="timeout";else if(1==e)gr.mainLoop.scheduler=function(){gr.requestAnimationFrame(gr.mainLoop.runner)},gr.mainLoop.method="rAF";else if(2==e){if(void 0===gr.setImmediate)if("undefined"==typeof setImmediate){var r=[],o="setimmediate";addEventListener("message",(e=>{e.data!==o&&e.data.target!==o||(e.stopPropagation(),r.shift()())}),!0),gr.setImmediate=function(e){r.push(e),b?(void 0===u.setImmediates&&(u.setImmediates=[]),u.setImmediates.push(e),postMessage({target:o})):postMessage(o,"*")}}else gr.setImmediate=setImmediate;gr.mainLoop.scheduler=function(){gr.setImmediate(gr.mainLoop.runner)},gr.mainLoop.method="immediate"}return 0};xt=()=>performance.now();var ir=e=>{if(e instanceof ne||"unwind"==e)return P;m(1,e)},ur=()=>ae||!1,lr=(e,t)=>{var r,o;P=e,P=r=e,ur()||(null==(o=u.onExit)||o.call(u,r),M=!0),m(r,new ne(r))},cr=lr,dr=e=>{if(!M)try{e(),(()=>{if(!ur())try{cr(P)}catch(e){ir(e)}})()}catch(e){ir(e)}},pr=(e,t)=>setTimeout((()=>{dr(e)}),t),gr={mainLoop:{running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){gr.mainLoop.scheduler=null,gr.mainLoop.currentlyRunningMainloop++},resume(){gr.mainLoop.currentlyRunningMainloop++;var e=gr.mainLoop.timingMode,t=gr.mainLoop.timingValue,r=gr.mainLoop.func;gr.mainLoop.func=null,((e,t,r,o,n)=>{O(!gr.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),gr.mainLoop.func=e,gr.mainLoop.arg=o;var s=gr.mainLoop.currentlyRunningMainloop;function a(){return!(s<gr.mainLoop.currentlyRunningMainloop)}if(gr.mainLoop.running=!1,gr.mainLoop.runner=function(){var t,r;if(!M)if(gr.mainLoop.queue.length>0){Date.now();var o=gr.mainLoop.queue.shift();if(o.func(o.arg),gr.mainLoop.remainingBlockers){var n=gr.mainLoop.remainingBlockers,s=n%1==0?n-1:Math.floor(n);o.counted?gr.mainLoop.remainingBlockers=s:(s+=.5,gr.mainLoop.remainingBlockers=(8*n+s)/9)}if(gr.mainLoop.updateStatus(),!a())return;setTimeout(gr.mainLoop.runner,0)}else a()&&(gr.mainLoop.currentFrameNumber=gr.mainLoop.currentFrameNumber+1|0,1==gr.mainLoop.timingMode&&gr.mainLoop.timingValue>1&&gr.mainLoop.currentFrameNumber%gr.mainLoop.timingValue!=0?gr.mainLoop.scheduler():(0==gr.mainLoop.timingMode&&(gr.mainLoop.tickStartTime=xt()),gr.mainLoop.runIter(e),a()&&("object"==typeof SDL&&(null==(r=null==(t=SDL.audio)?void 0:t.queueNewAudioData)||r.call(t)),gr.mainLoop.scheduler())))},n||(t&&t>0?ar(0,1e3/t):ar(1,1),gr.mainLoop.scheduler()),r)throw"unwind"})(r,0,!1,gr.mainLoop.arg,!0),ar(e,t),gr.mainLoop.scheduler()},updateStatus(){if(u.setStatus){var e=u.statusMessage||"Please wait...",t=gr.mainLoop.remainingBlockers,r=gr.mainLoop.expectedBlockers;t?t<r?u.setStatus(e+" ("+(r-t)+"/"+r+")"):u.setStatus(e):u.setStatus("")}},runIter(e){var t;if(!M){if(u.preMainLoop&&!1===u.preMainLoop())return;dr(e),null==(t=u.postMainLoop)||t.call(u)}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init(){if(!gr.initted){gr.initted=!0;var e={canHandle:function(e){return!u.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,t,r,o){var n=new Blob([e],{type:gr.getMimetype(t)});n.size!==e.length&&(n=new Blob([new Uint8Array(e).buffer],{type:gr.getMimetype(t)}));var s=URL.createObjectURL(n),a=new Image;a.onload=()=>{O(a.complete,`Image ${t} could not be decoded`);var o=document.createElement("canvas");o.width=a.width,o.height=a.height,o.getContext("2d").drawImage(a,0,0),Cu[t]=o,URL.revokeObjectURL(s),null==r||r(e)},a.onerror=e=>{E(`Image ${s} could not be decoded`),null==o||o()},a.src=s}};Ce.push(e);var t={canHandle:function(e){return!u.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,t,r,o){var n=!1;function s(o){n||(n=!0,wu[t]=o,null==r||r(e))}var a=new Blob([e],{type:gr.getMimetype(t)}),i=URL.createObjectURL(a),u=new Audio;u.addEventListener("canplaythrough",(()=>s(u)),!1),u.onerror=function(r){n||(E(`warning: browser could not fully decode audio ${t}, trying slower base64 approach`),u.src="data:audio/x-"+t.substr(-3)+";base64,"+function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",o=0,n=0,s=0;s<e.length;s++)for(o=o<<8|e[s],n+=8;n>=6;){var a=o>>n-6&63;n-=6,r+=t[a]}return 2==n?(r+=t[(3&o)<<4],r+="=="):4==n&&(r+=t[(15&o)<<2],r+="="),r}(e),s(u))},u.src=i,pr((()=>{s(u)}),1e4)}};Ce.push(t);var r=u.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||(()=>{}),r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",o,!1),document.addEventListener("mozpointerlockchange",o,!1),document.addEventListener("webkitpointerlockchange",o,!1),document.addEventListener("mspointerlockchange",o,!1),u.elementPointerLock&&r.addEventListener("click",(e=>{!gr.pointerLock&&u.canvas.requestPointerLock&&(u.canvas.requestPointerLock(),e.preventDefault())}),!1))}function o(){gr.pointerLock=document.pointerLockElement===u.canvas||document.mozPointerLockElement===u.canvas||document.webkitPointerLockElement===u.canvas||document.msPointerLockElement===u.canvas}},createContext(e,t,r,o){if(t&&u.ctx&&e==u.canvas)return u.ctx;var n,s;if(t){var a={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(o)for(var i in o)a[i]=o[i];void 0!==mr&&(s=mr.createContext(e,a))&&(n=mr.getContext(s).GLctx)}else n=e.getContext("2d");return n?(r&&(t||O(void 0===ku,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),u.ctx=n,t&&mr.makeContextCurrent(s),u.useWebGL=t,gr.moduleContextCreatedCallbacks.forEach((e=>e())),gr.init()),n):null},destroyContext(e,t,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen(e,t){gr.lockPointer=e,gr.resizeCanvas=t,void 0===gr.lockPointer&&(gr.lockPointer=!0),void 0===gr.resizeCanvas&&(gr.resizeCanvas=!1);var r=u.canvas;function o(){var e,t;gr.isFullscreen=!1;var o=r.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===o?(r.exitFullscreen=gr.exitFullscreen,gr.lockPointer&&r.requestPointerLock(),gr.isFullscreen=!0,gr.resizeCanvas?gr.setFullscreenCanvasSize():gr.updateCanvasDimensions(r)):(o.parentNode.insertBefore(r,o),o.parentNode.removeChild(o),gr.resizeCanvas?gr.setWindowedCanvasSize():gr.updateCanvasDimensions(r)),null==(e=u.onFullScreen)||e.call(u,gr.isFullscreen),null==(t=u.onFullscreen)||t.call(u,gr.isFullscreen)}gr.fullscreenHandlersInstalled||(gr.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",o,!1),document.addEventListener("mozfullscreenchange",o,!1),document.addEventListener("webkitfullscreenchange",o,!1),document.addEventListener("MSFullscreenChange",o,!1));var n=document.createElement("div");r.parentNode.insertBefore(n,r),n.appendChild(r),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?()=>n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(n.webkitRequestFullScreen?()=>n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),n.requestFullscreen()},exitFullscreen:()=>!!gr.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0),nextRAF:0,fakeRequestAnimationFrame(e){var t=Date.now();if(0===gr.nextRAF)gr.nextRAF=t+1e3/60;else for(;t+2>=gr.nextRAF;)gr.nextRAF+=1e3/60;var r=Math.max(gr.nextRAF-t,0);setTimeout(e,r)},requestAnimationFrame(e){"function"!=typeof requestAnimationFrame?(0,gr.fakeRequestAnimationFrame)(e):requestAnimationFrame(e)},safeSetTimeout:(e,t)=>pr(e,t),safeRequestAnimationFrame:e=>gr.requestAnimationFrame((()=>{dr(e)})),getMimetype:e=>({jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]),getUserMedia(e){window.getUserMedia||=navigator.getUserMedia||navigator.mozGetUserMedia,window.getUserMedia(e)},getMovementX:e=>e.movementX||e.mozMovementX||e.webkitMovementX||0,getMovementY:e=>e.movementY||e.mozMovementY||e.webkitMovementY||0,getMouseWheelDelta(e){var t=0;switch(e.type){case"DOMMouseScroll":t=e.detail/3;break;case"mousewheel":t=e.wheelDelta/120;break;case"wheel":switch(t=e.deltaY,e.deltaMode){case 0:t/=100;break;case 1:t/=3;break;case 2:t*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(e,t){var r=u.canvas.getBoundingClientRect(),o=u.canvas.width,n=u.canvas.height,s=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset,i=e-(s+r.left),l=t-(a+r.top);return{x:i*=o/r.width,y:l*=n/r.height}},setMouseCoords(e,t){const{x:r,y:o}=gr.calculateMouseCoords(e,t);gr.mouseMovementX=r-gr.mouseX,gr.mouseMovementY=o-gr.mouseY,gr.mouseX=r,gr.mouseY=o},calculateMouseEvent(e){if(gr.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?gr.mouseMovementX=gr.mouseMovementY=0:(gr.mouseMovementX=gr.getMovementX(e),gr.mouseMovementY=gr.getMovementY(e)),"undefined"!=typeof SDL?(gr.mouseX=SDL.mouseX+gr.mouseMovementX,gr.mouseY=SDL.mouseY+gr.mouseMovementY):(gr.mouseX+=gr.mouseMovementX,gr.mouseY+=gr.mouseMovementY);else{if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var t=e.touch;if(void 0===t)return;var r=gr.calculateMouseCoords(t.pageX,t.pageY);if("touchstart"===e.type)gr.lastTouches[t.identifier]=r,gr.touches[t.identifier]=r;else if("touchend"===e.type||"touchmove"===e.type){var o=gr.touches[t.identifier];o||=r,gr.lastTouches[t.identifier]=o,gr.touches[t.identifier]=r}return}gr.setMouseCoords(e.pageX,e.pageY)}},resizeListeners:[],updateResizeListeners(){var e=u.canvas;gr.resizeListeners.forEach((t=>t(e.width,e.height)))},setCanvasSize(e,t,r){var o=u.canvas;gr.updateCanvasDimensions(o,e,t),r||gr.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if("undefined"!=typeof SDL){var e=T[SDL.screen>>2];e|=8388608,x[SDL.screen>>2]=e}gr.updateCanvasDimensions(u.canvas),gr.updateResizeListeners()},setWindowedCanvasSize(){if("undefined"!=typeof SDL){var e=T[SDL.screen>>2];e&=-8388609,x[SDL.screen>>2]=e}gr.updateCanvasDimensions(u.canvas),gr.updateResizeListeners()},updateCanvasDimensions(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var o=t,n=r;if(u.forcedAspectRatio&&u.forcedAspectRatio>0&&(o/n<u.forcedAspectRatio?o=Math.round(n*u.forcedAspectRatio):n=Math.round(o/u.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var s=Math.min(screen.width/o,screen.height/n);o=Math.round(o*s),n=Math.round(n*s)}gr.resizeCanvas?(e.width!=o&&(e.width=o),e.height!=n&&(e.height=n),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),void 0!==e.style&&(o!=t||n!=r?(e.style.setProperty("width",o+"px","important"),e.style.setProperty("height",n+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}},fr={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode(e){fr.errorCode=e},chooseConfig(e,t,r,o,n){if(62e3!=e)return fr.setErrorCode(12296),0;if(t)for(;;){var s=x[t>>2];if(12321==s){var a=x[t+4>>2];fr.contextAttributes.alpha=a>0}else if(12325==s){var i=x[t+4>>2];fr.contextAttributes.depth=i>0}else if(12326==s){var u=x[t+4>>2];fr.contextAttributes.stencil=u>0}else if(12337==s){var l=x[t+4>>2];fr.contextAttributes.antialias=l>0}else if(12338==s)l=x[t+4>>2],fr.contextAttributes.antialias=1==l;else if(12544==s){var c=x[t+4>>2];fr.contextAttributes.lowLatency=12547!=c}else if(12344==s)break;t+=8}return r&&o||n?(n&&(x[n>>2]=1),r&&o>0&&(T[r>>2]=62002),fr.setErrorCode(12288),1):(fr.setErrorCode(12300),0)}},mr={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(e){mr.lastError||(mr.lastError=e)},getNewId:e=>{for(var t=mr.counter++,r=e.length;r<t;r++)e[r]=null;return t},getSource:(e,t,r,o)=>{for(var n="",s=0;s<t;++s){var a=o?T[o+4*s>>2]:void 0;n+=Ee(T[r+4*s>>2],a)}return n},createContext:(e,t)=>{if(!e.getContextSafariWebGL2Fixed){let t=function(t,r){var o=e.getContextSafariWebGL2Fixed(t,r);return"webgl"==t==o instanceof WebGLRenderingContext?o:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=t}var r=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return r?mr.registerContext(r,t):0},registerContext:(e,t)=>{var r=mr.getNewId(mr.contexts),o={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=o),mr.contexts[r]=o,r},makeContextCurrent:e=>{var t;return mr.currentContext=mr.contexts[e],u.ctx=ku=null==(t=mr.currentContext)?void 0:t.GLctx,!(e&&!ku)},getContext:e=>mr.contexts[e],deleteContext:e=>{mr.currentContext===mr.contexts[e]&&(mr.currentContext=null),"object"==typeof su&&su.removeAllHandlersOnTarget(mr.contexts[e].GLctx.canvas),mr.contexts[e]&&mr.contexts[e].GLctx.canvas&&(mr.contexts[e].GLctx.canvas.GLctxObject=void 0),mr.contexts[e]=null}},hr=[],br=(e,t,r)=>{var o=((e,t)=>{var r;for(hr.length=0;r=R[e++];){var o=105!=r;t+=(o&=112!=r)&&t%8?4:0,hr.push(112==r?T[t>>2]:106==r?F[t>>3]:105==r?x[t>>2]:L[t>>3]),t+=o?8:4}return hr})(t,r);return oe[e].apply(null,o)},yr=function(e){ku.activeTexture(e)},vr=(e,t)=>{ku.attachShader(mr.programs[e],mr.shaders[t])},_r=(e,t)=>{ku.beginQuery(e,mr.queries[t])},kr=(e,t)=>{ku.disjointTimerQueryExt.beginQueryEXT(e,mr.queries[t])},Cr=function(e){ku.beginTransformFeedback(e)},wr=(e,t,r)=>{ku.bindAttribLocation(mr.programs[e],t,Ee(r))},Ar=(e,t)=>{35051==e?ku.currentPixelPackBufferBinding=t:35052==e&&(ku.currentPixelUnpackBufferBinding=t),ku.bindBuffer(e,mr.buffers[t])},Er=(e,t,r)=>{ku.bindBufferBase(e,t,mr.buffers[r])},Pr=(e,t,r,o,n)=>{ku.bindBufferRange(e,t,mr.buffers[r],o,n)},Sr=(e,t)=>{ku.bindFramebuffer(e,mr.framebuffers[t])},Rr=(e,t)=>{ku.bindRenderbuffer(e,mr.renderbuffers[t])},Br=(e,t)=>{ku.bindSampler(e,mr.samplers[t])},Ir=(e,t)=>{ku.bindTexture(e,mr.textures[t])},xr=(e,t)=>{ku.bindTransformFeedback(e,mr.transformFeedbacks[t])},Tr=e=>{ku.bindVertexArray(mr.vaos[e])},qr=Tr,Fr=Tr,Dr=function(e,t,r,o){ku.blendColor(e,t,r,o)},Lr=function(e){ku.blendEquation(e)},Mr=function(e,t){ku.blendEquationSeparate(e,t)},Or=function(e,t){ku.blendFunc(e,t)},Ur=function(e,t,r,o){ku.blendFuncSeparate(e,t,r,o)},$r=function(e,t,r,o,n,s,a,i,u,l){ku.blitFramebuffer(e,t,r,o,n,s,a,i,u,l)},Vr=(e,t,r,o)=>{mr.currentContext.version>=2?r&&t?ku.bufferData(e,R,o,r,t):ku.bufferData(e,t,o):ku.bufferData(e,r?R.subarray(r,r+t):t,o)},Nr=(e,t,r,o)=>{mr.currentContext.version>=2?r&&ku.bufferSubData(e,t,R,o,r):ku.bufferSubData(e,t,R.subarray(o,o+r))},Hr=function(e){return ku.checkFramebufferStatus(e)},jr=function(e){ku.clear(e)},Wr=function(e,t,r,o){ku.clearBufferfi(e,t,r,o)},Gr=(e,t,r)=>{ku.clearBufferfv(e,t,q,r>>2)},zr=(e,t,r)=>{ku.clearBufferiv(e,t,x,r>>2)},Yr=(e,t,r)=>{ku.clearBufferuiv(e,t,T,r>>2)},Xr=function(e,t,r,o){ku.clearColor(e,t,r,o)},Qr=function(e){ku.clearDepth(e)},Kr=function(e){ku.clearStencil(e)},Zr=(e,t,r)=>(r=Number(r),ku.clientWaitSync(mr.syncs[e],t,r)),Jr=(e,t,r,o)=>{ku.colorMask(!!e,!!t,!!r,!!o)},eo=e=>{ku.compileShader(mr.shaders[e])},to=(e,t,r,o,n,s,a,i)=>{mr.currentContext.version>=2?ku.currentPixelUnpackBufferBinding||!a?ku.compressedTexImage2D(e,t,r,o,n,s,a,i):ku.compressedTexImage2D(e,t,r,o,n,s,R,i,a):ku.compressedTexImage2D(e,t,r,o,n,s,i?R.subarray(i,i+a):null)},ro=(e,t,r,o,n,s,a,i,u)=>{ku.currentPixelUnpackBufferBinding?ku.compressedTexImage3D(e,t,r,o,n,s,a,i,u):ku.compressedTexImage3D(e,t,r,o,n,s,a,R,u,i)},oo=(e,t,r,o,n,s,a,i,u)=>{mr.currentContext.version>=2?ku.currentPixelUnpackBufferBinding||!i?ku.compressedTexSubImage2D(e,t,r,o,n,s,a,i,u):ku.compressedTexSubImage2D(e,t,r,o,n,s,a,R,u,i):ku.compressedTexSubImage2D(e,t,r,o,n,s,a,u?R.subarray(u,u+i):null)},no=(e,t,r,o,n,s,a,i,u,l,c)=>{ku.currentPixelUnpackBufferBinding?ku.compressedTexSubImage3D(e,t,r,o,n,s,a,i,u,l,c):ku.compressedTexSubImage3D(e,t,r,o,n,s,a,i,u,R,c,l)},so=function(e,t,r,o,n){ku.copyBufferSubData(e,t,r,o,n)},ao=function(e,t,r,o,n,s,a,i){ku.copyTexImage2D(e,t,r,o,n,s,a,i)},io=function(e,t,r,o,n,s,a,i){ku.copyTexSubImage2D(e,t,r,o,n,s,a,i)},uo=function(e,t,r,o,n,s,a,i,u){ku.copyTexSubImage3D(e,t,r,o,n,s,a,i,u)},lo=()=>{var e=mr.getNewId(mr.programs),t=ku.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,mr.programs[e]=t,e},co=e=>{var t=mr.getNewId(mr.shaders);return mr.shaders[t]=ku.createShader(e),t},po=function(e){ku.cullFace(e)},go=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.buffers[o];n&&(ku.deleteBuffer(n),n.name=0,mr.buffers[o]=null,o==ku.currentPixelPackBufferBinding&&(ku.currentPixelPackBufferBinding=0),o==ku.currentPixelUnpackBufferBinding&&(ku.currentPixelUnpackBufferBinding=0))}},fo=(e,t)=>{for(var r=0;r<e;++r){var o=x[t+4*r>>2],n=mr.framebuffers[o];n&&(ku.deleteFramebuffer(n),n.name=0,mr.framebuffers[o]=null)}},mo=e=>{if(e){var t=mr.programs[e];t?(ku.deleteProgram(t),t.name=0,mr.programs[e]=null):mr.recordError(1281)}},ho=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.queries[o];n&&(ku.deleteQuery(n),mr.queries[o]=null)}},bo=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.queries[o];n&&(ku.disjointTimerQueryExt.deleteQueryEXT(n),mr.queries[o]=null)}},yo=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.renderbuffers[o];n&&(ku.deleteRenderbuffer(n),n.name=0,mr.renderbuffers[o]=null)}},vo=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.samplers[o];n&&(ku.deleteSampler(n),n.name=0,mr.samplers[o]=null)}},_o=e=>{if(e){var t=mr.shaders[e];t?(ku.deleteShader(t),mr.shaders[e]=null):mr.recordError(1281)}},ko=e=>{if(e){var t=mr.syncs[e];t?(ku.deleteSync(t),t.name=0,mr.syncs[e]=null):mr.recordError(1281)}},Co=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.textures[o];n&&(ku.deleteTexture(n),n.name=0,mr.textures[o]=null)}},wo=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.transformFeedbacks[o];n&&(ku.deleteTransformFeedback(n),n.name=0,mr.transformFeedbacks[o]=null)}},Ao=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2];ku.deleteVertexArray(mr.vaos[o]),mr.vaos[o]=null}},Eo=Ao,Po=Ao,So=function(e){ku.depthFunc(e)},Ro=e=>{ku.depthMask(!!e)},Bo=function(e,t){ku.depthRange(e,t)},Io=(e,t)=>{ku.detachShader(mr.programs[e],mr.shaders[t])},xo=function(e){ku.disable(e)},To=e=>{ku.disableVertexAttribArray(e)},qo=(e,t,r)=>{ku.drawArrays(e,t,r)},Fo=(e,t,r,o)=>{ku.drawArraysInstanced(e,t,r,o)},Do=Fo,Lo=Fo,Mo=Fo,Oo=(e,t,r,o,n)=>{ku.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,t,r,o,n)},Uo=Fo,$o=Fo,Vo=[],No=(e,t)=>{for(var r=Vo[e],o=0;o<e;o++)r[o]=x[t+4*o>>2];ku.drawBuffers(r)},Ho=No,jo=No,Wo=No,Go=(e,t,r,o)=>{ku.drawElements(e,t,r,o)},zo=Go,Yo=(e,t,r,o,n)=>{ku.drawElementsInstanced(e,t,r,o,n)},Xo=Yo,Qo=Yo,Ko=Yo,Zo=(e,t,r,o,n,s,a)=>{ku.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,t,r,o,n,s,a)},Jo=Yo,en=Yo,tn=(e,t,r,o,n,s)=>{Go(e,o,n,s)},rn=function(e){ku.enable(e)},on=e=>{ku.enableVertexAttribArray(e)},nn=function(e){ku.endQuery(e)},sn=e=>{ku.disjointTimerQueryExt.endQueryEXT(e)},an=function(){ku.endTransformFeedback()},un=(e,t)=>{var r=ku.fenceSync(e,t);if(r){var o=mr.getNewId(mr.syncs);return r.name=o,mr.syncs[o]=r,o}return 0},ln=function(){ku.finish()},cn=function(){ku.flush()},dn=(e,t,r,o)=>{ku.framebufferRenderbuffer(e,t,r,mr.renderbuffers[o])},pn=(e,t,r,o,n)=>{ku.framebufferTexture2D(e,t,r,mr.textures[o],n)},gn=(e,t,r,o,n)=>{ku.framebufferTextureLayer(e,t,mr.textures[r],o,n)},fn=function(e){ku.frontFace(e)},mn=(e,t,r,o)=>{for(var n=0;n<e;n++){var s=ku[r](),a=s&&mr.getNewId(o);s?(s.name=a,o[a]=s):mr.recordError(1282),x[t+4*n>>2]=a}},hn=(e,t)=>{mn(e,t,"createBuffer",mr.buffers)},bn=(e,t)=>{mn(e,t,"createFramebuffer",mr.framebuffers)},yn=(e,t)=>{mn(e,t,"createQuery",mr.queries)},vn=(e,t)=>{for(var r=0;r<e;r++){var o=ku.disjointTimerQueryExt.createQueryEXT();if(!o){for(mr.recordError(1282);r<e;)x[t+4*r++>>2]=0;return}var n=mr.getNewId(mr.queries);o.name=n,mr.queries[n]=o,x[t+4*r>>2]=n}},_n=(e,t)=>{mn(e,t,"createRenderbuffer",mr.renderbuffers)},kn=(e,t)=>{mn(e,t,"createSampler",mr.samplers)},Cn=(e,t)=>{mn(e,t,"createTexture",mr.textures)},wn=(e,t)=>{mn(e,t,"createTransformFeedback",mr.transformFeedbacks)};function An(e,t){mn(e,t,"createVertexArray",mr.vaos)}var En,Pn,Sn,Rn=An,Bn=An,In=function(e){ku.generateMipmap(e)},xn=(e,t,r,o,n,s,a,i)=>{t=mr.programs[t];var u=ku[e](t,r);if(u){var l=i&&Vt(u.name,i,o);n&&(x[n>>2]=l),s&&(x[s>>2]=u.size),a&&(x[a>>2]=u.type)}},Tn=(e,t,r,o,n,s,a)=>{xn("getActiveAttrib",e,t,r,o,n,s,a)},qn=(e,t,r,o,n,s,a)=>{xn("getActiveUniform",e,t,r,o,n,s,a)},Fn=(e,t,r,o,n)=>{e=mr.programs[e];var s=ku.getActiveUniformBlockName(e,t);if(s)if(n&&r>0){var a=Vt(s,n,r);o&&(x[o>>2]=a)}else o&&(x[o>>2]=0)},Dn=(e,t,r,o)=>{if(o)if(e=mr.programs[e],35393!=r){var n=ku.getActiveUniformBlockParameter(e,t,r);if(null!==n)if(35395==r)for(var s=0;s<n.length;s++)x[o+4*s>>2]=n[s];else x[o>>2]=n}else{var a=ku.getActiveUniformBlockName(e,t);x[o>>2]=a.length+1}else mr.recordError(1281)},Ln=(e,t,r,o,n)=>{if(n)if(t>0&&0==r)mr.recordError(1281);else{e=mr.programs[e];for(var s=[],a=0;a<t;a++)s.push(x[r+4*a>>2]);var i=ku.getActiveUniforms(e,s,o);if(i){var u=i.length;for(a=0;a<u;a++)x[n+4*a>>2]=i[a]}}else mr.recordError(1281)},Mn=(e,t,r,o)=>{var n=ku.getAttachedShaders(mr.programs[e]),s=n.length;s>t&&(s=t),x[r>>2]=s;for(var a=0;a<s;++a){var i=mr.shaders.indexOf(n[a]);x[o+4*a>>2]=i}},On=(e,t)=>ku.getAttribLocation(mr.programs[e],Ee(t)),Un=(e,t)=>{T[e>>2]=t;var r=T[e>>2];T[e+4>>2]=(t-r)/4294967296},$n=function(){var e,t=(e=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"],(ku.getSupportedExtensions()||[]).filter((t=>e.includes(t))));return t=t.concat(t.map((e=>"GL_"+e)))},Vn=(e,t,r)=>{if(t){var o=void 0;switch(e){case 36346:o=1;break;case 36344:return void(0!=r&&1!=r&&mr.recordError(1280));case 34814:case 36345:o=0;break;case 34466:var n=ku.getParameter(34467);o=n?n.length:0;break;case 33309:if(mr.currentContext.version<2)return void mr.recordError(1282);o=$n().length;break;case 33307:case 33308:if(mr.currentContext.version<2)return void mr.recordError(1280);o=33307==e?3:0}if(void 0===o){var s=ku.getParameter(e);switch(typeof s){case"number":o=s;break;case"boolean":o=s?1:0;break;case"string":return void mr.recordError(1280);case"object":if(null===s)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:o=0;break;default:return void mr.recordError(1280)}else{if(s instanceof Float32Array||s instanceof Uint32Array||s instanceof Int32Array||s instanceof Array){for(var a=0;a<s.length;++a)switch(r){case 0:x[t+4*a>>2]=s[a];break;case 2:q[t+4*a>>2]=s[a];break;case 4:S[t+a>>0]=s[a]?1:0}return}try{o=0|s.name}catch(t){return mr.recordError(1280),void E(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return mr.recordError(1280),void E(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${s} of type ${typeof s}!`)}}switch(r){case 1:Un(t,o);break;case 0:x[t>>2]=o;break;case 2:q[t>>2]=o;break;case 4:S[t>>0]=o?1:0}}else mr.recordError(1281)},Nn=(e,t)=>Vn(e,t,4),Hn=(e,t,r)=>{r?Un(r,ku.getBufferParameter(e,t)):mr.recordError(1281)},jn=(e,t,r)=>{r?x[r>>2]=ku.getBufferParameter(e,t):mr.recordError(1281)},Wn=()=>{var e=ku.getError()||mr.lastError;return mr.lastError=0,e},Gn=(e,t)=>Vn(e,t,2),zn=(e,t)=>ku.getFragDataLocation(mr.programs[e],Ee(t)),Yn=(e,t,r,o)=>{var n=ku.getFramebufferAttachmentParameter(e,t,r);(n instanceof WebGLRenderbuffer||n instanceof WebGLTexture)&&(n=0|n.name),x[o>>2]=n},Xn=(e,t,r,o)=>{if(r){var n,s=ku.getIndexedParameter(e,t);switch(typeof s){case"boolean":n=s?1:0;break;case"number":n=s;break;case"object":if(null===s)switch(e){case 35983:case 35368:n=0;break;default:return void mr.recordError(1280)}else{if(!(s instanceof WebGLBuffer))return void mr.recordError(1280);n=0|s.name}break;default:return void mr.recordError(1280)}switch(o){case 1:Un(r,n);break;case 0:x[r>>2]=n;break;case 2:q[r>>2]=n;break;case 4:S[r>>0]=n?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+o}}else mr.recordError(1281)},Qn=(e,t,r)=>Xn(e,t,r,1),Kn=(e,t)=>{Vn(e,t,1)},Zn=(e,t,r)=>Xn(e,t,r,0),Jn=(e,t)=>Vn(e,t,0),es=(e,t,r,o,n)=>{if(o<0)mr.recordError(1281);else if(n){var s=ku.getInternalformatParameter(e,t,r);if(null!==s)for(var a=0;a<s.length&&a<o;++a)x[n+4*a>>2]=s[a]}else mr.recordError(1281)},ts=(e,t,r,o,n)=>{mr.recordError(1282)},rs=(e,t,r,o)=>{var n=ku.getProgramInfoLog(mr.programs[e]);null===n&&(n="(unknown error)");var s=t>0&&o?Vt(n,o,t):0;r&&(x[r>>2]=s)},os=(e,t,r)=>{if(r)if(e>=mr.counter)mr.recordError(1281);else if(e=mr.programs[e],35716==t){var o=ku.getProgramInfoLog(e);null===o&&(o="(unknown error)"),x[r>>2]=o.length+1}else if(35719==t){if(!e.maxUniformLength)for(var n=0;n<ku.getProgramParameter(e,35718);++n)e.maxUniformLength=Math.max(e.maxUniformLength,ku.getActiveUniform(e,n).name.length+1);x[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength)for(n=0;n<ku.getProgramParameter(e,35721);++n)e.maxAttributeLength=Math.max(e.maxAttributeLength,ku.getActiveAttrib(e,n).name.length+1);x[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength)for(n=0;n<ku.getProgramParameter(e,35382);++n)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,ku.getActiveUniformBlockName(e,n).length+1);x[r>>2]=e.maxUniformBlockNameLength}else x[r>>2]=ku.getProgramParameter(e,t);else mr.recordError(1281)},ns=(e,t,r)=>{if(r){var o,n=mr.queries[e];o=mr.currentContext.version<2?ku.disjointTimerQueryExt.getQueryObjectEXT(n,t):ku.getQueryParameter(n,t),Un(r,"boolean"==typeof o?o?1:0:o)}else mr.recordError(1281)},ss=ns,as=(e,t,r)=>{if(r){var o,n=mr.queries[e],s=ku.disjointTimerQueryExt.getQueryObjectEXT(n,t);o="boolean"==typeof s?s?1:0:s,x[r>>2]=o}else mr.recordError(1281)},us=as,ls=ns,cs=(e,t,r)=>{if(r){var o,n=mr.queries[e],s=ku.getQueryParameter(n,t);o="boolean"==typeof s?s?1:0:s,x[r>>2]=o}else mr.recordError(1281)},ds=as,ps=(e,t,r)=>{r?x[r>>2]=ku.getQuery(e,t):mr.recordError(1281)},gs=(e,t,r)=>{r?x[r>>2]=ku.disjointTimerQueryExt.getQueryEXT(e,t):mr.recordError(1281)},fs=(e,t,r)=>{r?x[r>>2]=ku.getRenderbufferParameter(e,t):mr.recordError(1281)},ms=(e,t,r)=>{r?q[r>>2]=ku.getSamplerParameter(mr.samplers[e],t):mr.recordError(1281)},hs=(e,t,r)=>{r?x[r>>2]=ku.getSamplerParameter(mr.samplers[e],t):mr.recordError(1281)},bs=(e,t,r,o)=>{var n=ku.getShaderInfoLog(mr.shaders[e]);null===n&&(n="(unknown error)");var s=t>0&&o?Vt(n,o,t):0;r&&(x[r>>2]=s)},ys=(e,t,r,o)=>{var n=ku.getShaderPrecisionFormat(e,t);x[r>>2]=n.rangeMin,x[r+4>>2]=n.rangeMax,x[o>>2]=n.precision},vs=(e,t,r,o)=>{var n=ku.getShaderSource(mr.shaders[e]);if(n){var s=t>0&&o?Vt(n,o,t):0;r&&(x[r>>2]=s)}},_s=(e,t,r)=>{if(r)if(35716==t){var o=ku.getShaderInfoLog(mr.shaders[e]);null===o&&(o="(unknown error)");var n=o?o.length+1:0;x[r>>2]=n}else if(35720==t){var s=ku.getShaderSource(mr.shaders[e]),a=s?s.length+1:0;x[r>>2]=a}else x[r>>2]=ku.getShaderParameter(mr.shaders[e],t);else mr.recordError(1281)},ks=e=>{var t=mr.stringCache[e];if(!t){switch(e){case 7939:t=sr($n().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=ku.getParameter(e);r||mr.recordError(1280),t=r?sr(r):0;break;case 7938:var o=ku.getParameter(7938);o=mr.currentContext.version>=2?`OpenGL ES 3.0 (${o})`:`OpenGL ES 2.0 (${o})`,t=sr(o);break;case 35724:var n=ku.getParameter(35724),s=n.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==s&&(3==s[1].length&&(s[1]=s[1]+"0"),n=`OpenGL ES GLSL ES ${s[1]} (${n})`),t=sr(n);break;default:mr.recordError(1280)}mr.stringCache[e]=t}return t},Cs=(e,t)=>{if(mr.currentContext.version<2)return mr.recordError(1282),0;var r=mr.stringiCache[e];if(r)return t<0||t>=r.length?(mr.recordError(1281),0):r[t];if(7939===e){var o=$n().map(sr);return r=mr.stringiCache[e]=o,t<0||t>=r.length?(mr.recordError(1281),0):r[t]}return mr.recordError(1280),0},ws=(e,t,r,o,n)=>{if(r<0)mr.recordError(1281);else if(n){var s=ku.getSyncParameter(mr.syncs[e],t);null!==s&&(x[n>>2]=s,o&&(x[o>>2]=1))}else mr.recordError(1281)},As=(e,t,r)=>{r?q[r>>2]=ku.getTexParameter(e,t):mr.recordError(1281)},Es=(e,t,r)=>{r?x[r>>2]=ku.getTexParameter(e,t):mr.recordError(1281)},Ps=(e,t,r,o,n,s,a)=>{e=mr.programs[e];var i=ku.getTransformFeedbackVarying(e,t);if(i){if(a&&r>0){var u=Vt(i.name,a,r);o&&(x[o>>2]=u)}else o&&(x[o>>2]=0);n&&(x[n>>2]=i.size),s&&(x[s>>2]=i.type)}},Ss=(e,t)=>ku.getUniformBlockIndex(mr.programs[e],Ee(t)),Rs=(e,t,r,o)=>{if(o)if(t>0&&(0==r||0==o))mr.recordError(1281);else{e=mr.programs[e];for(var n=[],s=0;s<t;s++)n.push(Ee(x[r+4*s>>2]));var a=ku.getUniformIndices(e,n);if(a){var i=a.length;for(s=0;s<i;s++)x[o+4*s>>2]=a[s]}}else mr.recordError(1281)},Bs=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Is=e=>{var t,r,o=e.uniformLocsById,n=e.uniformSizeAndIdsByName;if(!o)for(e.uniformLocsById=o={},e.uniformArrayNamesById={},t=0;t<ku.getProgramParameter(e,35718);++t){var s=ku.getActiveUniform(e,t),a=s.name,i=s.size,u=Bs(a),l=u>0?a.slice(0,u):a,c=e.uniformIdCounter;for(e.uniformIdCounter+=i,n[l]=[i,c],r=0;r<i;++r)o[c]=r,e.uniformArrayNamesById[c++]=l}},xs=(e,t)=>{if(t=Ee(t),e=mr.programs[e]){Is(e);var r=e.uniformLocsById,o=0,n=t,s=Bs(t);s>0&&(i=t.slice(s+1),o=parseInt(i)>>>0,n=t.slice(0,s));var a=e.uniformSizeAndIdsByName[n];if(a&&o<a[0]&&(r[o+=a[1]]=r[o]||ku.getUniformLocation(e,t)))return o}else mr.recordError(1281);var i;return-1},Ts=e=>{var t=ku.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=ku.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?`[${r}]`:""))),r}mr.recordError(1282)},qs=(e,t,r,o)=>{if(r){e=mr.programs[e],Is(e);var n=ku.getUniform(e,Ts(t));if("number"==typeof n||"boolean"==typeof n)switch(o){case 0:x[r>>2]=n;break;case 2:q[r>>2]=n}else for(var s=0;s<n.length;s++)switch(o){case 0:x[r+4*s>>2]=n[s];break;case 2:q[r+4*s>>2]=n[s]}}else mr.recordError(1281)},Fs=(e,t,r)=>{qs(e,t,r,2)},Ds=(e,t,r)=>{qs(e,t,r,0)},Ls=(e,t,r)=>qs(e,t,r,0),Ms=(e,t,r,o)=>{if(r){var n=ku.getVertexAttrib(e,t);if(34975==t)x[r>>2]=n&&n.name;else if("number"==typeof n||"boolean"==typeof n)switch(o){case 0:x[r>>2]=n;break;case 2:q[r>>2]=n;break;case 5:x[r>>2]=Math.fround(n)}else for(var s=0;s<n.length;s++)switch(o){case 0:x[r+4*s>>2]=n[s];break;case 2:q[r+4*s>>2]=n[s];break;case 5:x[r+4*s>>2]=Math.fround(n[s])}}else mr.recordError(1281)},Os=(e,t,r)=>{Ms(e,t,r,0)},Us=Os,$s=Os,Vs=(e,t,r)=>{r?x[r>>2]=ku.getVertexAttribOffset(e,t):mr.recordError(1281)},Ns=(e,t,r)=>{Ms(e,t,r,2)},Hs=(e,t,r)=>{Ms(e,t,r,5)},js=function(e,t){ku.hint(e,t)},Ws=(e,t,r)=>{for(var o=Vo[t],n=0;n<t;n++)o[n]=x[r+4*n>>2];ku.invalidateFramebuffer(e,o)},Gs=(e,t,r,o,n,s,a)=>{for(var i=Vo[t],u=0;u<t;u++)i[u]=x[r+4*u>>2];ku.invalidateSubFramebuffer(e,i,o,n,s,a)},zs=e=>{var t=mr.buffers[e];return t?ku.isBuffer(t):0},Ys=function(e){return ku.isEnabled(e)},Xs=e=>{var t=mr.framebuffers[e];return t?ku.isFramebuffer(t):0},Qs=e=>(e=mr.programs[e])?ku.isProgram(e):0,Ks=e=>{var t=mr.queries[e];return t?ku.isQuery(t):0},Zs=e=>{var t=mr.queries[e];return t?ku.disjointTimerQueryExt.isQueryEXT(t):0},Js=e=>{var t=mr.renderbuffers[e];return t?ku.isRenderbuffer(t):0},ea=e=>{var t=mr.samplers[e];return t?ku.isSampler(t):0},ta=e=>{var t=mr.shaders[e];return t?ku.isShader(t):0},ra=e=>ku.isSync(mr.syncs[e]),oa=e=>{var t=mr.textures[e];return t?ku.isTexture(t):0},na=e=>ku.isTransformFeedback(mr.transformFeedbacks[e]),sa=e=>{var t=mr.vaos[e];return t?ku.isVertexArray(t):0},aa=sa,ia=sa,ua=function(e){ku.lineWidth(e)},la=e=>{e=mr.programs[e],ku.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},ca=(e,t,r,o,n,s)=>{ku.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,x,t>>2,x,r>>2,x,o>>2,T,n>>2,s)},da=(e,t,r,o,n,s,a,i)=>{ku.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,x,t>>2,r,x,o>>2,x,n>>2,x,s>>2,T,a>>2,i)},pa=function(){ku.pauseTransformFeedback()},ga=(e,t)=>{3317==e&&(mr.unpackAlignment=t),ku.pixelStorei(e,t)},fa=function(e,t){ku.polygonOffset(e,t)},ma=(e,t,r,o)=>{mr.recordError(1280)},ha=(e,t,r)=>{mr.recordError(1280)},ba=(e,t)=>{ku.disjointTimerQueryExt.queryCounterEXT(mr.queries[e],t)},ya=function(e){ku.readBuffer(e)},va=e=>0==(e-=5120)?S:1==e?R:2==e?B:4==e?x:6==e?q:5==e||28922==e||28520==e||30779==e||30782==e?T:I,_a=e=>31-Math.clz32(e.BYTES_PER_ELEMENT),ka=(e,t,r,o,n,s)=>{var a=va(e),i=_a(a),u=1<<i,l=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(t)*u,c=((e,t,r,o)=>{var n;return t*(e*r+(n=o)-1&-n)})(r,o,l,mr.unpackAlignment);return a.subarray(n>>i,n+c>>i)},Ca=(e,t,r,o,n,s,a)=>{if(mr.currentContext.version>=2)if(ku.currentPixelPackBufferBinding)ku.readPixels(e,t,r,o,n,s,a);else{var i=va(s);ku.readPixels(e,t,r,o,n,s,i,a>>_a(i))}else{var u=ka(s,n,r,o,a);u?ku.readPixels(e,t,r,o,n,s,u):mr.recordError(1280)}},wa=()=>{},Aa=function(e,t,r,o){ku.renderbufferStorage(e,t,r,o)},Ea=function(e,t,r,o,n){ku.renderbufferStorageMultisample(e,t,r,o,n)},Pa=function(){ku.resumeTransformFeedback()},Sa=(e,t)=>{ku.sampleCoverage(e,!!t)},Ra=(e,t,r)=>{ku.samplerParameterf(mr.samplers[e],t,r)},Ba=(e,t,r)=>{var o=q[r>>2];ku.samplerParameterf(mr.samplers[e],t,o)},Ia=(e,t,r)=>{ku.samplerParameteri(mr.samplers[e],t,r)},xa=(e,t,r)=>{var o=x[r>>2];ku.samplerParameteri(mr.samplers[e],t,o)},Ta=function(e,t,r,o){ku.scissor(e,t,r,o)},qa=(e,t,r,o,n)=>{mr.recordError(1280)},Fa=(e,t,r,o)=>{var n=mr.getSource(e,t,r,o);if(mr.currentContext.version>=2&&n.includes("#version 100")){var s="";(n=(n=n.replace(/#extension GL_OES_standard_derivatives : enable/g,"")).replace(/#extension GL_EXT_shader_texture_lod : enable/g,"")).includes("gl_FragColor")&&(s+="out mediump vec4 GL_FragColor;\n",n=n.replace(/gl_FragColor/g,"GL_FragColor")),n=(n=(n=(n=(n=(n=(n=(n=(n=(n=(n=(n=n.includes("attribute")?(n=n.replace(/attribute/g,"in")).replace(/varying/g,"out"):n.replace(/varying/g,"in")).replace(/textureCubeLodEXT/g,"textureCubeLod")).replace(/texture2DLodEXT/g,"texture2DLod")).replace(/texture2DProjLodEXT/g,"texture2DProjLod")).replace(/texture2DGradEXT/g,"texture2DGrad")).replace(/texture2DProjGradEXT/g,"texture2DProjGrad")).replace(/textureCubeGradEXT/g,"textureCubeGrad")).replace(/textureCube/g,"texture")).replace(/texture1D/g,"texture")).replace(/texture2D/g,"texture")).replace(/texture3D/g,"texture")).replace(/#version 100/g,"#version 300 es\n"+s)}ku.shaderSource(mr.shaders[e],n)},Da=function(e,t,r){ku.stencilFunc(e,t,r)},La=function(e,t,r,o){ku.stencilFuncSeparate(e,t,r,o)},Ma=function(e){ku.stencilMask(e)},Oa=function(e,t){ku.stencilMaskSeparate(e,t)},Ua=function(e,t,r){ku.stencilOp(e,t,r)},$a=function(e,t,r,o){ku.stencilOpSeparate(e,t,r,o)},Va=(e,t,r,o,n,s,a,i,u)=>{if(mr.currentContext.version>=2&&(6402==a&&6402==r&&5125==i&&(r=33190),36193==i&&(i=5131,6408==a&&6408==r&&(r=34842)),34041==r&&(r=35056)),mr.currentContext.version>=2)if(ku.currentPixelUnpackBufferBinding)ku.texImage2D(e,t,r,o,n,s,a,i,u);else if(u){var l=va(i);ku.texImage2D(e,t,r,o,n,s,a,i,l,u>>_a(l))}else ku.texImage2D(e,t,r,o,n,s,a,i,null);else ku.texImage2D(e,t,r,o,n,s,a,i,u?ka(i,a,o,n,u):null)},Na=(e,t,r,o,n,s,a,i,u,l)=>{if(ku.currentPixelUnpackBufferBinding)ku.texImage3D(e,t,r,o,n,s,a,i,u,l);else if(l){var c=va(u);ku.texImage3D(e,t,r,o,n,s,a,i,u,c,l>>_a(c))}else ku.texImage3D(e,t,r,o,n,s,a,i,u,null)},Ha=function(e,t,r){ku.texParameterf(e,t,r)},ja=(e,t,r)=>{var o=q[r>>2];ku.texParameterf(e,t,o)},Wa=function(e,t,r){ku.texParameteri(e,t,r)},Ga=(e,t,r)=>{var o=x[r>>2];ku.texParameteri(e,t,o)},za=function(e,t,r,o,n){ku.texStorage2D(e,t,r,o,n)},Ya=function(e,t,r,o,n,s){ku.texStorage3D(e,t,r,o,n,s)},Xa=(e,t,r,o,n,s,a,i,u)=>{if(mr.currentContext.version>=2&&36193==i&&(i=5131),mr.currentContext.version>=2)if(ku.currentPixelUnpackBufferBinding)ku.texSubImage2D(e,t,r,o,n,s,a,i,u);else if(u){var l=va(i);ku.texSubImage2D(e,t,r,o,n,s,a,i,l,u>>_a(l))}else ku.texSubImage2D(e,t,r,o,n,s,a,i,null);else{var c=null;u&&(c=ka(i,a,n,s,u)),ku.texSubImage2D(e,t,r,o,n,s,a,i,c)}},Qa=(e,t,r,o,n,s,a,i,u,l,c)=>{if(ku.currentPixelUnpackBufferBinding)ku.texSubImage3D(e,t,r,o,n,s,a,i,u,l,c);else if(c){var d=va(l);ku.texSubImage3D(e,t,r,o,n,s,a,i,u,l,d,c>>_a(d))}else ku.texSubImage3D(e,t,r,o,n,s,a,i,u,l,null)},Ka=(e,t,r,o)=>{e=mr.programs[e];for(var n=[],s=0;s<t;s++)n.push(Ee(x[r+4*s>>2]));ku.transformFeedbackVaryings(e,n,o)},Za=(e,t)=>{ku.uniform1f(Ts(e),t)},Ja=[],ei=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform1fv(Ts(e),q,r>>2,t);else{if(t<=288)for(var o=Ja[t-1],n=0;n<t;++n)o[n]=q[r+4*n>>2];else o=q.subarray(r>>2,r+4*t>>2);ku.uniform1fv(Ts(e),o)}},ti=(e,t)=>{ku.uniform1i(Ts(e),t)},ri=[],oi=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform1iv(Ts(e),x,r>>2,t);else{if(t<=288)for(var o=ri[t-1],n=0;n<t;++n)o[n]=x[r+4*n>>2];else o=x.subarray(r>>2,r+4*t>>2);ku.uniform1iv(Ts(e),o)}},ni=(e,t)=>{ku.uniform1ui(Ts(e),t)},si=(e,t,r)=>{t&&ku.uniform1uiv(Ts(e),T,r>>2,t)},ai=(e,t,r)=>{ku.uniform2f(Ts(e),t,r)},ii=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform2fv(Ts(e),q,r>>2,2*t);else{if(t<=144)for(var o=Ja[2*t-1],n=0;n<2*t;n+=2)o[n]=q[r+4*n>>2],o[n+1]=q[r+(4*n+4)>>2];else o=q.subarray(r>>2,r+8*t>>2);ku.uniform2fv(Ts(e),o)}},ui=(e,t,r)=>{ku.uniform2i(Ts(e),t,r)},li=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform2iv(Ts(e),x,r>>2,2*t);else{if(t<=144)for(var o=ri[2*t-1],n=0;n<2*t;n+=2)o[n]=x[r+4*n>>2],o[n+1]=x[r+(4*n+4)>>2];else o=x.subarray(r>>2,r+8*t>>2);ku.uniform2iv(Ts(e),o)}},ci=(e,t,r)=>{ku.uniform2ui(Ts(e),t,r)},di=(e,t,r)=>{t&&ku.uniform2uiv(Ts(e),T,r>>2,2*t)},pi=(e,t,r,o)=>{ku.uniform3f(Ts(e),t,r,o)},gi=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform3fv(Ts(e),q,r>>2,3*t);else{if(t<=96)for(var o=Ja[3*t-1],n=0;n<3*t;n+=3)o[n]=q[r+4*n>>2],o[n+1]=q[r+(4*n+4)>>2],o[n+2]=q[r+(4*n+8)>>2];else o=q.subarray(r>>2,r+12*t>>2);ku.uniform3fv(Ts(e),o)}},fi=(e,t,r,o)=>{ku.uniform3i(Ts(e),t,r,o)},mi=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform3iv(Ts(e),x,r>>2,3*t);else{if(t<=96)for(var o=ri[3*t-1],n=0;n<3*t;n+=3)o[n]=x[r+4*n>>2],o[n+1]=x[r+(4*n+4)>>2],o[n+2]=x[r+(4*n+8)>>2];else o=x.subarray(r>>2,r+12*t>>2);ku.uniform3iv(Ts(e),o)}},hi=(e,t,r,o)=>{ku.uniform3ui(Ts(e),t,r,o)},bi=(e,t,r)=>{t&&ku.uniform3uiv(Ts(e),T,r>>2,3*t)},yi=(e,t,r,o,n)=>{ku.uniform4f(Ts(e),t,r,o,n)},vi=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform4fv(Ts(e),q,r>>2,4*t);else{if(t<=72){var o=Ja[4*t-1],n=q;r>>=2;for(var s=0;s<4*t;s+=4){var a=r+s;o[s]=n[a],o[s+1]=n[a+1],o[s+2]=n[a+2],o[s+3]=n[a+3]}}else o=q.subarray(r>>2,r+16*t>>2);ku.uniform4fv(Ts(e),o)}},_i=(e,t,r,o,n)=>{ku.uniform4i(Ts(e),t,r,o,n)},ki=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform4iv(Ts(e),x,r>>2,4*t);else{if(t<=72)for(var o=ri[4*t-1],n=0;n<4*t;n+=4)o[n]=x[r+4*n>>2],o[n+1]=x[r+(4*n+4)>>2],o[n+2]=x[r+(4*n+8)>>2],o[n+3]=x[r+(4*n+12)>>2];else o=x.subarray(r>>2,r+16*t>>2);ku.uniform4iv(Ts(e),o)}},Ci=(e,t,r,o,n)=>{ku.uniform4ui(Ts(e),t,r,o,n)},wi=(e,t,r)=>{t&&ku.uniform4uiv(Ts(e),T,r>>2,4*t)},Ai=(e,t,r)=>{e=mr.programs[e],ku.uniformBlockBinding(e,t,r)},Ei=(e,t,r,o)=>{if(mr.currentContext.version>=2)t&&ku.uniformMatrix2fv(Ts(e),!!r,q,o>>2,4*t);else{if(t<=72)for(var n=Ja[4*t-1],s=0;s<4*t;s+=4)n[s]=q[o+4*s>>2],n[s+1]=q[o+(4*s+4)>>2],n[s+2]=q[o+(4*s+8)>>2],n[s+3]=q[o+(4*s+12)>>2];else n=q.subarray(o>>2,o+16*t>>2);ku.uniformMatrix2fv(Ts(e),!!r,n)}},Pi=(e,t,r,o)=>{t&&ku.uniformMatrix2x3fv(Ts(e),!!r,q,o>>2,6*t)},Si=(e,t,r,o)=>{t&&ku.uniformMatrix2x4fv(Ts(e),!!r,q,o>>2,8*t)},Ri=(e,t,r,o)=>{if(mr.currentContext.version>=2)t&&ku.uniformMatrix3fv(Ts(e),!!r,q,o>>2,9*t);else{if(t<=32)for(var n=Ja[9*t-1],s=0;s<9*t;s+=9)n[s]=q[o+4*s>>2],n[s+1]=q[o+(4*s+4)>>2],n[s+2]=q[o+(4*s+8)>>2],n[s+3]=q[o+(4*s+12)>>2],n[s+4]=q[o+(4*s+16)>>2],n[s+5]=q[o+(4*s+20)>>2],n[s+6]=q[o+(4*s+24)>>2],n[s+7]=q[o+(4*s+28)>>2],n[s+8]=q[o+(4*s+32)>>2];else n=q.subarray(o>>2,o+36*t>>2);ku.uniformMatrix3fv(Ts(e),!!r,n)}},Bi=(e,t,r,o)=>{t&&ku.uniformMatrix3x2fv(Ts(e),!!r,q,o>>2,6*t)},Ii=(e,t,r,o)=>{t&&ku.uniformMatrix3x4fv(Ts(e),!!r,q,o>>2,12*t)},xi=(e,t,r,o)=>{if(mr.currentContext.version>=2)t&&ku.uniformMatrix4fv(Ts(e),!!r,q,o>>2,16*t);else{if(t<=18){var n=Ja[16*t-1],s=q;o>>=2;for(var a=0;a<16*t;a+=16){var i=o+a;n[a]=s[i],n[a+1]=s[i+1],n[a+2]=s[i+2],n[a+3]=s[i+3],n[a+4]=s[i+4],n[a+5]=s[i+5],n[a+6]=s[i+6],n[a+7]=s[i+7],n[a+8]=s[i+8],n[a+9]=s[i+9],n[a+10]=s[i+10],n[a+11]=s[i+11],n[a+12]=s[i+12],n[a+13]=s[i+13],n[a+14]=s[i+14],n[a+15]=s[i+15]}}else n=q.subarray(o>>2,o+64*t>>2);ku.uniformMatrix4fv(Ts(e),!!r,n)}},Ti=(e,t,r,o)=>{t&&ku.uniformMatrix4x2fv(Ts(e),!!r,q,o>>2,8*t)},qi=(e,t,r,o)=>{t&&ku.uniformMatrix4x3fv(Ts(e),!!r,q,o>>2,12*t)},Fi=e=>{e=mr.programs[e],ku.useProgram(e),ku.currentProgram=e},Di=e=>{ku.validateProgram(mr.programs[e])},Li=function(e,t){ku.vertexAttrib1f(e,t)},Mi=(e,t)=>{ku.vertexAttrib1f(e,q[t>>2])},Oi=function(e,t,r){ku.vertexAttrib2f(e,t,r)},Ui=(e,t)=>{ku.vertexAttrib2f(e,q[t>>2],q[t+4>>2])},$i=function(e,t,r,o){ku.vertexAttrib3f(e,t,r,o)},Vi=(e,t)=>{ku.vertexAttrib3f(e,q[t>>2],q[t+4>>2],q[t+8>>2])},Ni=function(e,t,r,o,n){ku.vertexAttrib4f(e,t,r,o,n)},Hi=(e,t)=>{ku.vertexAttrib4f(e,q[t>>2],q[t+4>>2],q[t+8>>2],q[t+12>>2])},ji=(e,t)=>{ku.vertexAttribDivisor(e,t)},Wi=ji,Gi=ji,zi=ji,Yi=ji,Xi=ji,Qi=function(e,t,r,o,n){ku.vertexAttribI4i(e,t,r,o,n)},Ki=(e,t)=>{ku.vertexAttribI4i(e,x[t>>2],x[t+4>>2],x[t+8>>2],x[t+12>>2])},Zi=function(e,t,r,o,n){ku.vertexAttribI4ui(e,t,r,o,n)},Ji=(e,t)=>{ku.vertexAttribI4ui(e,T[t>>2],T[t+4>>2],T[t+8>>2],T[t+12>>2])},eu=(e,t,r,o,n)=>{ku.vertexAttribIPointer(e,t,r,o,n)},tu=(e,t,r,o,n,s)=>{ku.vertexAttribPointer(e,t,r,!!o,n,s)},ru=function(e,t,r,o){ku.viewport(e,t,r,o)},ou=(e,t,r)=>{r=Number(r),ku.waitSync(mr.syncs[e],t,r)},nu=e=>{var t=(e-w.buffer.byteLength+65535)/65536;try{return w.grow(t),U(),1}catch(e){}},su={removeAllEventListeners(){for(;su.eventHandlers.length;)su._removeHandler(su.eventHandlers.length-1);su.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(e,t,r){function o(e,t){if(e.length!=t.length)return!1;for(var r in e)if(e[r]!=t[r])return!1;return!0}for(var n in su.deferredCalls){var s=su.deferredCalls[n];if(s.targetFunction==e&&o(s.argsList,r))return}su.deferredCalls.push({targetFunction:e,precedence:t,argsList:r}),su.deferredCalls.sort(((e,t)=>e.precedence<t.precedence))},removeDeferredCalls(e){for(var t=0;t<su.deferredCalls.length;++t)su.deferredCalls[t].targetFunction==e&&(su.deferredCalls.splice(t,1),--t)},canPerformEventHandlerRequests:()=>navigator.userActivation?navigator.userActivation.isActive:su.inEventHandler&&su.currentEventHandler.allowsDeferredCalls,runDeferredCalls(){if(su.canPerformEventHandlerRequests())for(var e=0;e<su.deferredCalls.length;++e){var t=su.deferredCalls[e];su.deferredCalls.splice(e,1),--e,t.targetFunction.apply(null,t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(e,t)=>{for(var r=0;r<su.eventHandlers.length;++r)su.eventHandlers[r].target!=e||t&&t!=su.eventHandlers[r].eventTypeString||su._removeHandler(r--)},_removeHandler(e){var t=su.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),su.eventHandlers.splice(e,1)},registerOrRemoveHandler(e){if(!e.target)return-4;if(e.callbackfunc)e.eventListenerFunc=function(t){++su.inEventHandler,su.currentEventHandler=e,su.runDeferredCalls(),e.handlerFunc(t),su.runDeferredCalls(),--su.inEventHandler},e.target.addEventListener(e.eventTypeString,e.eventListenerFunc,e.useCapture),su.eventHandlers.push(e);else for(var t=0;t<su.eventHandlers.length;++t)su.eventHandlers[t].target==e.target&&su.eventHandlers[t].eventTypeString==e.eventTypeString&&su._removeHandler(t--);return 0},getNodeNameForTarget:e=>e?e==window?"#window":e==screen?"#screen":(null==e?void 0:e.nodeName)||"":"",fullscreenEnabled:()=>document.fullscreenEnabled||document.webkitFullscreenEnabled},au=["default","low-power","high-performance"],iu=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],uu=e=>{var t;return e=(t=e)>2?Ee(t):t,iu[e]||("undefined"!=typeof document?document.querySelector(e):void 0)},lu=(e,t)=>{var r=t>>2,o=x[r+6],n={alpha:!!x[r+0],depth:!!x[r+1],stencil:!!x[r+2],antialias:!!x[r+3],premultipliedAlpha:!!x[r+4],preserveDrawingBuffer:!!x[r+5],powerPreference:au[o],failIfMajorPerformanceCaveat:!!x[r+7],majorVersion:x[r+8],minorVersion:x[r+9],enableExtensionsByDefault:x[r+10],explicitSwapControl:x[r+11],proxyContextToMainThread:x[r+12],renderViaOffscreenBackBuffer:x[r+13]},s=uu(e);return s?n.explicitSwapControl?0:mr.createContext(s,n):0},cu={},du=()=>{if(!du.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 t in cu)void 0===cu[t]?delete e[t]:e[t]=cu[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);du.strings=r}return du.strings},pu=(e,t,r,o)=>{for(var n=0,s=0;s<r;s++){var a=T[t>>2],i=T[t+4>>2];t+=8;var u=Ae.read(e,S,a,i,o);if(u<0)return-1;if(n+=u,u<i)break;void 0!==o&&(o+=u)}return n},gu=[31,29,31,30,31,30,31,31,30,31,30,31],fu=[31,28,31,30,31,30,31,31,30,31,30,31],mu=(e,t)=>{S.set(e,t)},hu=(e,t,r,o)=>{var n=T[o+40>>2],s={tm_sec:x[o>>2],tm_min:x[o+4>>2],tm_hour:x[o+8>>2],tm_mday:x[o+12>>2],tm_mon:x[o+16>>2],tm_year:x[o+20>>2],tm_wday:x[o+24>>2],tm_yday:x[o+28>>2],tm_isdst:x[o+32>>2],tm_gmtoff:x[o+36>>2],tm_zone:n?Ee(n):""},a=Ee(r),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in i)a=a.replace(new RegExp(u,"g"),i[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,t,r){for(var o="number"==typeof e?e.toString():e||"";o.length<t;)o=r[0]+o;return o}function p(e,t){return d(e,t,"0")}function g(e,t){function r(e){return e<0?-1:e>0?1:0}var o;return 0===(o=r(e.getFullYear()-t.getFullYear()))&&0===(o=r(e.getMonth()-t.getMonth()))&&(o=r(e.getDate()-t.getDate())),o}function f(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function m(e){var t=((e,t)=>{for(var r=new Date(e.getTime());t>0;){var o=tr(r.getFullYear()),n=r.getMonth(),s=(o?gu:fu)[n];if(!(t>s-r.getDate()))return r.setDate(r.getDate()+t),r;t-=s-r.getDate()+1,r.setDate(1),n<11?r.setMonth(n+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r})(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(t.getFullYear(),0,4),o=new Date(t.getFullYear()+1,0,4),n=f(r),s=f(o);return g(n,t)<=0?g(s,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var h={"%a":e=>l[e.tm_wday].substring(0,3),"%A":e=>l[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>p((e.tm_year+1900)/100|0,2),"%d":e=>p(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>m(e).toString().substring(2),"%G":m,"%H":e=>p(e.tm_hour,2),"%I":e=>{var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),p(t,2)},"%j":e=>p(e.tm_mday+((e,t)=>{for(var r=0,o=0;o<=t;r+=e[o++]);return r})(tr(e.tm_year+1900)?gu:fu,e.tm_mon-1),3),"%m":e=>p(e.tm_mon+1,2),"%M":e=>p(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>p(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var t=e.tm_yday+7-e.tm_wday;return p(Math.floor(t/7),2)},"%V":e=>{var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var r=(e.tm_wday+371-e.tm_yday)%7;4==r||3==r&&tr(e.tm_year)||(t=1)}}else{t=52;var o=(e.tm_wday+7-e.tm_yday-1)%7;(4==o||5==o&&tr(e.tm_year%400-1))&&t++}return p(t,2)},"%w":e=>e.tm_wday,"%W":e=>{var t=e.tm_yday+7-(e.tm_wday+6)%7;return p(Math.floor(t/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var t=e.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000"+t).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var u in a=a.replace(/%%/g,"\0\0"),h)a.includes(u)&&(a=a.replace(new RegExp(u,"g"),h[u](s)));var b=ye(a=a.replace(/\0\0/g,"%"),!1);return b.length>t?0:(mu(b,e),b.length-1)},bu=e=>{var t=he(e)+1,r=Vu(t);return Vt(e,r,t),r},yu=function(e,t,r,o){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Ae.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=o},vu=365,_u=146;Object.defineProperties(yu.prototype,{read:{get:function(){return(this.mode&vu)===vu},set:function(e){e?this.mode|=vu:this.mode&=-366}},write:{get:function(){return(this.mode&_u)===_u},set:function(e){e?this.mode|=_u:this.mode&=-147}},isFolder:{get:function(){return Ae.isDir(this.mode)}},isDevice:{get:function(){return Ae.isChrdev(this.mode)}}}),Ae.FSNode=yu,Ae.createPreloadedFile=(e,t,r,o,n,s,a,i,u,l)=>{var d=t?pe.resolve(ce.join2(e,t)):e;function p(r){function c(r){null==l||l(),i||((e,t,r,o,n,s)=>{Ae.createDataFile(e,t,r,o,n,s)})(e,t,r,o,n,u),null==s||s(),X()}((e,t,r,o)=>{void 0!==gr&&gr.init();var n=!1;return Ce.forEach((s=>{n||s.canHandle(t)&&(s.handle(e,t,r,o),n=!0)})),n})(r,d,c,(()=>{null==a||a(),X()}))||c(r)}Y(),"string"==typeof r?((e,t,r,o)=>{var n=o?"":`al ${e}`;c(e,(e=>{t(new Uint8Array(e)),n&&X()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),n&&Y()})(r,p,a):p(r)},Ae.staticInit(),u.FS_createPath=Ae.createPath,u.FS_createDataFile=Ae.createDataFile,u.FS_createPreloadedFile=Ae.createPreloadedFile,u.FS_unlink=Ae.unlink,u.FS_createLazyFile=Ae.createLazyFile,u.FS_createDevice=Ae.createDevice,Ie=u.InternalError=class InternalError extends Error{constructor(e){super(e),this.name="InternalError"}},(()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);xe=e})(),Te=u.BindingError=class BindingError extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(ut.prototype,{isAliasOf(e){if(!(this instanceof ut))return!1;if(!(e instanceof ut))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var o=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;o.baseClass;)n=o.upcast(n),o=o.baseClass;return t===o&&r===n},clone(){if(this.$$.ptr||Ge(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=it(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 t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},delete(){this.$$.ptr||Ge(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),Ye(this),Xe(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ge(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),et.push(this),1===et.length&&He&&He(tt),this.$$.deleteScheduled=!0,this}}),u.getInheritedInstanceCount=Ze,u.getLiveInheritedInstances=Je,u.flushPendingDeletes=tt,u.setDelayFunction=rt,Object.assign(yt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var t;null==(t=this.rawDestructor)||t.call(this,e)},argPackAdvance:We,readValueFromPointer:bt,fromWireType:at}),_t=u.UnboundTypeError=(En=Error,(Sn=lt(Pn="UnboundTypeError",(function(e){this.name=Pn,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(En.prototype),Sn.prototype.constructor=Sn,Sn.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},Sn),qt.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Object.assign(qt,{reserved:qt.allocated.length}),u.count_emval_handles=Dt,u.requestFullscreen=gr.requestFullscreen,u.requestAnimationFrame=gr.requestAnimationFrame,u.setCanvasSize=gr.setCanvasSize,u.pauseMainLoop=gr.mainLoop.pause,u.resumeMainLoop=gr.mainLoop.resume,u.getUserMedia=gr.getUserMedia,u.createContext=gr.createContext;for(var ku,Cu={},wu={},Au=0;Au<32;++Au)Vo.push(new Array(Au));var Eu=new Float32Array(288);for(Au=0;Au<288;++Au)Ja[Au]=Eu.subarray(0,Au+1);var Pu=new Int32Array(288);for(Au=0;Au<288;++Au)ri[Au]=Pu.subarray(0,Au+1);var Su,Ru={Ia:e=>{var t=new ExceptionInfo(e);return t.get_caught()||t.set_caught(!0),t.set_rethrown(!1),ie.push(t),Hu(t.excPtr),t.get_exception_ptr()},Ha:()=>{Ou(0,0);var e=ie.pop();Nu(e.excPtr),ue=0},o:()=>le([]),aa:e=>le([e]),k:(e,t,r)=>{throw new ExceptionInfo(e).init(t,r),ue=e},R:e=>{throw ue||(ue=e),ue},da:function(e,t,r){Pe.varargs=r;try{var o=Pe.getStreamFromFD(e);switch(t){case 0:if((n=Pe.get())<0)return-28;for(;Ae.streams[n];)n++;return Ae.createStream(o,n).fd;case 1:case 2:case 13:case 14:return 0;case 3:return o.flags;case 4:var n=Pe.get();return o.flags|=n,0;case 12:return n=Pe.getp(),B[n+0>>1]=2,0}return-28}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},zb:function(e,t){try{var r=Pe.getStreamFromFD(e);return Pe.doStat(Ae.stat,r.path,t)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},Eb:function(e,t,r){Pe.varargs=r;try{var o=Pe.getStreamFromFD(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return o.tty?0:-59;case 21505:if(!o.tty)return-59;if(o.tty.ops.ioctl_tcgets){var n=o.tty.ops.ioctl_tcgets(o),s=Pe.getp();x[s>>2]=n.c_iflag||0,x[s+4>>2]=n.c_oflag||0,x[s+8>>2]=n.c_cflag||0,x[s+12>>2]=n.c_lflag||0;for(var a=0;a<32;a++)S[s+a+17>>0]=n.c_cc[a]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!o.tty)return-59;if(o.tty.ops.ioctl_tcsets){s=Pe.getp();var i=x[s>>2],u=x[s+4>>2],l=x[s+8>>2],c=x[s+12>>2],d=[];for(a=0;a<32;a++)d.push(S[s+a+17>>0]);return o.tty.ops.ioctl_tcsets(o.tty,t,{c_iflag:i,c_oflag:u,c_cflag:l,c_lflag:c,c_cc:d})}return 0;case 21519:return o.tty?(s=Pe.getp(),x[s>>2]=0,0):-59;case 21520:return o.tty?-28:-59;case 21531:return s=Pe.getp(),Ae.ioctl(o,t,s);case 21523:if(!o.tty)return-59;if(o.tty.ops.ioctl_tiocgwinsz){var p=o.tty.ops.ioctl_tiocgwinsz(o.tty);s=Pe.getp(),B[s>>1]=p[0],B[s+2>>1]=p[1]}return 0;default:return-28}}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},wb:function(e,t){try{return e=Pe.getStr(e),Pe.doStat(Ae.lstat,e,t)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},xb:function(e,t,r,o){try{t=Pe.getStr(t);var n=256&o,s=4096&o;return o&=-6401,t=Pe.calculateAt(e,t,s),Pe.doStat(n?Ae.lstat:Ae.stat,t,r)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},qa:function(e,t,r,o){Pe.varargs=o;try{t=Pe.getStr(t),t=Pe.calculateAt(e,t);var n=o?Pe.get():0;return Ae.open(t,r,n).fd}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},yb:function(e,t){try{return e=Pe.getStr(e),Pe.doStat(Ae.stat,e,t)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},va:e=>{var t=Se[e];delete Se[e];var r=t.elements,o=r.length,n=r.map((e=>e.getterReturnType)).concat(r.map((e=>e.setterArgumentType))),s=t.rawConstructor,a=t.rawDestructor;Me([e],n,(function(e){return r.forEach(((t,r)=>{var n=e[r],s=t.getter,a=t.getterContext,i=e[r+o],u=t.setter,l=t.setterContext;t.read=e=>n.fromWireType(s(a,e)),t.write=(e,t)=>{var r=[];u(l,e,i.toWireType(r,t)),Re(r)}})),[{name:t.name,fromWireType:e=>{for(var t=new Array(o),n=0;n<o;++n)t[n]=r[n].read(e);return a(e),t},toWireType:(e,n)=>{if(o!==n.length)throw new TypeError(`Incorrect number of tuple elements for ${t.name}: expected=${o}, actual=${n.length}`);for(var i=s(),u=0;u<o;++u)r[u].write(i,n[u]);return null!==e&&e.push(a,i),i},argPackAdvance:We,readValueFromPointer:Be,destructorFunction:a}]}))},z:e=>{var t=Oe[e];delete Oe[e];var r=t.rawConstructor,o=t.rawDestructor,n=t.fields,s=n.map((e=>e.getterReturnType)).concat(n.map((e=>e.setterArgumentType)));Me([e],s,(e=>{var s={};return n.forEach(((t,r)=>{var o=t.fieldName,a=e[r],i=t.getter,u=t.getterContext,l=e[r+n.length],c=t.setter,d=t.setterContext;s[o]={read:e=>a.fromWireType(i(u,e)),write:(e,t)=>{var r=[];c(d,e,l.toWireType(r,t)),Re(r)}}})),[{name:t.name,fromWireType:e=>{var t={};for(var r in s)t[r]=s[r].read(e);return o(e),t},toWireType:(e,t)=>{for(var n in s)if(!(n in t))throw new TypeError(`Missing field: "${n}"`);var a=r();for(n in s)s[n].write(a,t[n]);return null!==e&&e.push(o,a),a},argPackAdvance:We,readValueFromPointer:Be,destructorFunction:o}]}))},za:(e,t,r,o,n)=>{var s=-1!=(t=$e(t)).indexOf("u");Ne(e,{name:t,fromWireType:e=>e,toWireType:function(e,t){if("bigint"!=typeof t&&"number"!=typeof t)throw new TypeError(`Cannot convert "${Ue(t)}" to ${this.name}`);return"number"==typeof t&&(t=BigInt(t)),t},argPackAdvance:We,readValueFromPointer:je(t,r,!s),destructorFunction:null})},ke:(e,t,r,o)=>{Ne(e,{name:t=$e(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:o},argPackAdvance:We,readValueFromPointer:function(e){return this.fromWireType(R[e])},destructorFunction:null})},v:(e,t,r,o,n,s,a,i,u,l,c,d,p)=>{c=$e(c),s=At(n,s),i&&=At(a,i),l&&=At(u,l),p=At(d,p);var g=(e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(c);dt(g,(function(){Pt(`Cannot construct ${c} due to unbound types`,[o])})),Me([e,t,r],o?[o]:[],(function(t){var r,n;t=t[0],n=o?(r=t.registeredClass).instancePrototype:ut.prototype;var a=lt(c,(function(){if(Object.getPrototypeOf(this)!==u)throw new Te("Use 'new' to construct "+c);if(void 0===d.constructor_body)throw new Te(c+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new Te(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),u=Object.create(n,{constructor:{value:a}});a.prototype=u;var d=new pt(c,a,u,p,r,s,i,l);d.baseClass&&(d.baseClass.__derivedClasses??=[],d.baseClass.__derivedClasses.push(d));var f=new yt(c,d,!0,!1,!1),m=new yt(c+"*",d,!1,!1,!1),h=new yt(c+" const*",d,!1,!0,!1);return Ke[e]={pointerType:m,constPointerType:h},kt(g,a),[f,m,h]}))},x:(e,t,r,o,n,s)=>{var a=St(t,r);n=At(o,n),Me([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Te(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Pt(`Cannot construct ${e.name} due to unbound types`,a)},Me([],a,(o=>(o.splice(1,0,null),e.registeredClass.constructor_body[t-1]=It(r,o,null,n,s),[]))),[]}))},d:(e,t,r,o,n,s,a,i,u)=>{var l=St(r,o);t=$e(t),t=Tt(t),s=At(n,s),Me([],[e],(function(e){var o=`${(e=e[0]).name}.${t}`;function n(){Pt(`Cannot call ${o} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),i&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,d=c[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(n.argCount=r-2,n.className=e.name,c[t]=n):(ct(c,t,o),c[t].overloadTable[r-2]=n),Me([],l,(function(n){var i=It(o,n,e,s,a,u);return void 0===c[t].overloadTable?(i.argCount=r-2,c[t]=i):c[t].overloadTable[r-2]=i,[]})),[]}))},je:e=>Ne(e,Mt),$:(e,t,r,o)=>{function n(){}t=$e(t),n.values={},Ne(e,{name:t,constructor:n,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,argPackAdvance:We,readValueFromPointer:Ot(t,r,o),destructorFunction:null}),dt(t,n)},I:(e,t,r)=>{var o=Ut(e,"enum");t=$e(t);var n=o.constructor,s=Object.create(o.constructor.prototype,{value:{value:r},constructor:{value:lt(`${o.name}_${t}`,(function(){}))}});n.values[r]=s,n[t]=s},ya:(e,t,r)=>{Ne(e,{name:t=$e(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:We,readValueFromPointer:$t(t,r),destructorFunction:null})},J:(e,t,r,o,n,s,a)=>{var i=St(t,r);e=$e(e),e=Tt(e),n=At(o,n),dt(e,(function(){Pt(`Cannot call ${e} due to unbound types`,i)}),t-1),Me([],i,(function(r){var o=[r[0],null].concat(r.slice(1));return kt(e,It(e,o,null,n,s,a),t-1),[]}))},O:(e,t,r,o,n)=>{t=$e(t),-1===n&&(n=4294967295);var s=e=>e;if(0===o){var a=32-8*r;s=e=>e<<a>>>a}var i=t.includes("unsigned");Ne(e,{name:t,fromWireType:s,toWireType:i?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:We,readValueFromPointer:je(t,r,0!==o),destructorFunction:null})},E:(e,t,r)=>{var o=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function n(e){var t=T[e>>2],r=T[e+4>>2];return new o(S.buffer,r,t)}Ne(e,{name:r=$e(r),fromWireType:n,argPackAdvance:We,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},ff:(e,t,r,o,n,s,a,i,u,l,c,d)=>{r=$e(r),s=At(n,s),i=At(a,i),l=At(u,l),d=At(c,d),Me([e],[t],(function(e){return e=e[0],[new yt(r,e.registeredClass,!1,!1,!0,e,o,s,i,l,d)]}))},xa:(e,t)=>{var r="std::string"===(t=$e(t));Ne(e,{name:t,fromWireType(e){var t,o=T[e>>2],n=e+4;if(r)for(var s=n,a=0;a<=o;++a){var i=n+a;if(a==o||0==R[i]){var u=Ee(s,i-s);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),s=i+1}}else{var l=new Array(o);for(a=0;a<o;++a)l[a]=String.fromCharCode(R[n+a]);t=l.join("")}return Tu(e),t},toWireType(e,t){var o;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Ve("Cannot pass non-string to std::string"),o=r&&n?he(t):t.length;var s=Iu(4+o+1),a=s+4;if(T[s>>2]=o,r&&n)Vt(t,a,o+1);else if(n)for(var i=0;i<o;++i){var u=t.charCodeAt(i);u>255&&(Tu(a),Ve("String has UTF-16 code units that do not fit in 8 bits")),R[a+i]=u}else for(i=0;i<o;++i)R[a+i]=t[i];return null!==e&&e.push(Tu,s),s},argPackAdvance:We,readValueFromPointer:bt,destructorFunction(e){Tu(e)}})},ea:(e,t,r)=>{var o,n,s,a,i;r=$e(r),2===t?(o=Ht,n=jt,a=Wt,s=()=>I,i=1):4===t&&(o=Gt,n=zt,a=Yt,s=()=>T,i=2),Ne(e,{name:r,fromWireType:e=>{for(var r,n=T[e>>2],a=s(),u=e+4,l=0;l<=n;++l){var c=e+4+l*t;if(l==n||0==a[c>>i]){var d=o(u,c-u);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),u=c+t}}return Tu(e),r},toWireType:(e,o)=>{"string"!=typeof o&&Ve(`Cannot pass non-string to C++ string type ${r}`);var s=a(o),u=Iu(4+s+t);return T[u>>2]=s>>i,n(o,u+4,s+t),null!==e&&e.push(Tu,u),u},argPackAdvance:We,readValueFromPointer:Be,destructorFunction(e){Tu(e)}})},wa:(e,t,r,o,n,s)=>{Se[e]={name:$e(t),rawConstructor:At(r,o),rawDestructor:At(n,s),elements:[]}},N:(e,t,r,o,n,s,a,i,u)=>{Se[e].elements.push({getterReturnType:t,getter:At(r,o),getterContext:n,setterArgumentType:s,setter:At(a,i),setterContext:u})},A:(e,t,r,o,n,s)=>{Oe[e]={name:$e(t),rawConstructor:At(r,o),rawDestructor:At(n,s),fields:[]}},n:(e,t,r,o,n,s,a,i,u,l)=>{Oe[e].fields.push({fieldName:$e(t),getterReturnType:r,getter:At(o,n),getterContext:s,setterArgumentType:a,setter:At(i,u),setterContext:l})},le:(e,t)=>{Ne(e,{isVoid:!0,name:t=$e(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Bb:()=>1,ib:()=>{throw 1/0},j:(e,t,r)=>(e=Lt.toValue(e),t=Ut(t,"emval::as"),Xt(t,r,e)),w:(e,t,r,o)=>(e=Qt[e])(null,t=Lt.toValue(t),r,o),P:(e,t,r,o,n)=>(e=Qt[e])(t=Lt.toValue(t),t[r=Zt(r)],o,n),c:Ft,xe:(e,t)=>(e=Lt.toValue(e))==(t=Lt.toValue(t)),M:e=>0===e?Lt.toHandle(Jt()):(e=Zt(e),Lt.toHandle(Jt()[e])),s:(e,t,r)=>{var o=((e,t)=>{for(var r=new Array(e),o=0;o<e;++o)r[o]=Ut(T[t+4*o>>2],"parameter "+o);return r})(e,t),n=o.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",a=0,i=[];0===r&&i.push("obj");for(var u=["retType"],l=[n],c=0;c<e;++c)i.push("arg"+c),u.push("argType"+c),l.push(o[c]),s+=` var arg${c} = argType${c}.readValueFromPointer(args${a?"+"+a:""});\n`,a+=o[c].argPackAdvance;s+=` var rv = ${1===r?"new func":"func.call"}(${i.join(", ")});\n`,n.isVoid||(u.push("emval_returnValue"),l.push(Xt),s+=" return emval_returnValue(retType, destructorsRef, rv);\n"),s+="};\n",u.push(s);var d,p,g=Bt(Function,u).apply(null,l),f=`methodCaller<(${o.map((e=>e.name)).join(", ")}) => ${n.name}>`;return d=lt(f,g),p=Qt.length,Qt.push(d),p},h:(e,t)=>(e=Lt.toValue(e),t=Lt.toValue(t),Lt.toHandle(e[t])),e:e=>{e>4&&(qt.get(e).refcount+=1)},V:(e,t)=>(e=Lt.toValue(e))instanceof(t=Lt.toValue(t)),fa:e=>"number"==typeof(e=Lt.toValue(e)),K:e=>"string"==typeof(e=Lt.toValue(e)),Ee:()=>Lt.toHandle([]),f:e=>Lt.toHandle(Zt(e)),B:()=>Lt.toHandle({}),i:e=>{var t=Lt.toValue(e);Re(t),Ft(e)},m:(e,t,r)=>{e=Lt.toValue(e),t=Lt.toValue(t),r=Lt.toValue(r),e[t]=r},g:(e,t)=>{var r=(e=Ut(e,"_emval_take_value")).readValueFromPointer(t);return Lt.toHandle(r)},Me:e=>{throw e=Lt.toValue(e)},od:e=>(e=Lt.toValue(e),Lt.toHandle(typeof e)),qb:function(e,t){e=er(e);var r=new Date(1e3*e);x[t>>2]=r.getUTCSeconds(),x[t+4>>2]=r.getUTCMinutes(),x[t+8>>2]=r.getUTCHours(),x[t+12>>2]=r.getUTCDate(),x[t+16>>2]=r.getUTCMonth(),x[t+20>>2]=r.getUTCFullYear()-1900,x[t+24>>2]=r.getUTCDay();var o=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-o)/864e5|0;x[t+28>>2]=n},rb:function(e,t){e=er(e);var r=new Date(1e3*e);x[t>>2]=r.getSeconds(),x[t+4>>2]=r.getMinutes(),x[t+8>>2]=r.getHours(),x[t+12>>2]=r.getDate(),x[t+16>>2]=r.getMonth(),x[t+20>>2]=r.getFullYear()-1900,x[t+24>>2]=r.getDay();var o=0|nr(r);x[t+28>>2]=o,x[t+36>>2]=-60*r.getTimezoneOffset();var n=new Date(r.getFullYear(),0,1),s=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),i=0|(s!=a&&r.getTimezoneOffset()==Math.min(a,s));x[t+32>>2]=i},sb:function(e){var t=(()=>{var t=new Date(x[e+20>>2]+1900,x[e+16>>2],x[e+12>>2],x[e+8>>2],x[e+4>>2],x[e>>2],0),r=x[e+32>>2],o=t.getTimezoneOffset(),n=new Date(t.getFullYear(),0,1),s=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),i=Math.min(a,s);if(r<0)x[e+32>>2]=Number(s!=a&&i==o);else if(r>0!=(i==o)){var u=Math.max(a,s),l=r>0?i:u;t.setTime(t.getTime()+6e4*(l-o))}x[e+24>>2]=t.getDay();var c=0|nr(t);x[e+28>>2]=c,x[e>>2]=t.getSeconds(),x[e+4>>2]=t.getMinutes(),x[e+8>>2]=t.getHours(),x[e+12>>2]=t.getDate(),x[e+16>>2]=t.getMonth(),x[e+20>>2]=t.getYear();var d=t.getTime();return isNaN(d)?-1:d/1e3})();return BigInt(t)},ob:function(e,t,r,o,n,s,a){n=er(n);try{if(isNaN(n))return 61;var i=Pe.getStreamFromFD(o),u=Ae.mmap(i,e,n,t,r),l=u.ptr;return x[s>>2]=u.allocated,T[a>>2]=l,0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},pb:function(e,t,r,o,n,s){s=er(s);try{if(isNaN(s))return 61;var a=Pe.getStreamFromFD(n);2&r&&Pe.doMsync(e,a,t,o,s),Ae.munmap(a)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},jb:(e,t,r)=>{var o=(new Date).getFullYear(),n=new Date(o,0,1),s=new Date(o,6,1),a=n.getTimezoneOffset(),i=s.getTimezoneOffset(),u=Math.max(a,i);function l(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}T[e>>2]=60*u,x[t>>2]=Number(a!=i);var c=l(n),d=l(s),p=sr(c),g=sr(d);i<a?(T[r>>2]=p,T[r+4>>2]=g):(T[r>>2]=g,T[r+4>>2]=p)},b:()=>{Q("")},oe:function(e){var t=Ee(e);localStorage.removeItem(t)},oa:(e,t,r,o,n)=>fr.chooseConfig(e,t,r,o,n),pa:(e,t,r,o)=>{if(62e3!=e)return fr.setErrorCode(12296),0;for(var n=1;;){var s=x[o>>2];if(12440!=s){if(12344==s)break;return fr.setErrorCode(12292),0}n=x[o+4>>2],o+=8}return n<2||n>3?(fr.setErrorCode(12293),0):(fr.contextAttributes.majorVersion=n-1,fr.contextAttributes.minorVersion=0,fr.context=mr.createContext(u.canvas,fr.contextAttributes),0!=fr.context?(fr.setErrorCode(12288),mr.makeContextCurrent(fr.context),u.useWebGL=!0,gr.moduleContextCreatedCallbacks.forEach((function(e){e()})),mr.makeContextCurrent(null),62004):(fr.setErrorCode(12297),0))},ab:(e,t,r,o)=>62e3!=e?(fr.setErrorCode(12296),0):62002!=t?(fr.setErrorCode(12293),0):(fr.setErrorCode(12288),62006),Lc:(e,t)=>62e3!=e?(fr.setErrorCode(12296),0):62004!=t?(fr.setErrorCode(12294),0):(mr.deleteContext(fr.context),fr.setErrorCode(12288),fr.currentContext==t&&(fr.currentContext=0),1),Ac:(e,t)=>62e3!=e?(fr.setErrorCode(12296),0):62006!=t?(fr.setErrorCode(12301),1):(fr.currentReadSurface==t&&(fr.currentReadSurface=0),fr.currentDrawSurface==t&&(fr.currentDrawSurface=0),fr.setErrorCode(12288),1),S:(e,t,r,o)=>{if(62e3!=e)return fr.setErrorCode(12296),0;if(62002!=t)return fr.setErrorCode(12293),0;if(!o)return fr.setErrorCode(12300),0;switch(fr.setErrorCode(12288),r){case 12320:return x[o>>2]=fr.contextAttributes.alpha?32:24,1;case 12321:return x[o>>2]=fr.contextAttributes.alpha?8:0,1;case 12322:case 12323:case 12324:return x[o>>2]=8,1;case 12325:return x[o>>2]=fr.contextAttributes.depth?24:0,1;case 12326:return x[o>>2]=fr.contextAttributes.stencil?8:0,1;case 12327:case 12335:case 12340:return x[o>>2]=12344,1;case 12328:return x[o>>2]=62002,1;case 12329:case 12333:case 12334:case 12345:case 12346:case 12347:case 12349:case 12350:case 12354:return x[o>>2]=0,1;case 12330:case 12332:return x[o>>2]=4096,1;case 12331:return x[o>>2]=16777216,1;case 12337:return x[o>>2]=fr.contextAttributes.antialias?4:0,1;case 12338:return x[o>>2]=fr.contextAttributes.antialias?1:0,1;case 12339:case 12352:return x[o>>2]=4,1;case 12341:case 12342:case 12343:return x[o>>2]=-1,1;case 12348:return x[o>>2]=1,1;case 12351:return x[o>>2]=12430,1;default:return fr.setErrorCode(12292),0}},Lb:e=>(fr.setErrorCode(12288),0!=e&&1!=e?0:62e3),ta:()=>fr.errorCode,Db:(e,t,r)=>62e3!=e?(fr.setErrorCode(12296),0):(t&&(x[t>>2]=1),r&&(x[r>>2]=4),fr.defaultDisplayInitialized=!0,fr.setErrorCode(12288),1),Wb:(e,t,r,o)=>62e3!=e?(fr.setErrorCode(12296),0):0!=o&&62004!=o?(fr.setErrorCode(12294),0):0!=r&&62006!=r||0!=t&&62006!=t?(fr.setErrorCode(12301),0):(mr.makeContextCurrent(o?fr.context:null),fr.currentContext=o,fr.currentDrawSurface=t,fr.currentReadSurface=r,fr.setErrorCode(12288),1),ua:(e,t)=>{if(fr.defaultDisplayInitialized)if(u.ctx){if(!u.ctx.isContextLost())return fr.setErrorCode(12288),1;fr.setErrorCode(12302)}else fr.setErrorCode(12290);else fr.setErrorCode(12289);return 0},pc:e=>62e3!=e?(fr.setErrorCode(12296),0):(fr.currentContext=0,fr.currentReadSurface=0,fr.currentDrawSurface=0,fr.defaultDisplayInitialized=!1,fr.setErrorCode(12288),1),H:(e,t,r)=>br(e,t,r),Ae:e=>{console.error(Ee(e))},Be:e=>{console.log(Ee(e))},ja:e=>{console.warn(Ee(e))},ba:()=>Date.now(),ne:function(){},kb:()=>2147483648,Ab:xt,$f:yr,ag:vr,Zc:_r,fe:kr,Mc:Cr,bg:wr,cg:Ar,Ic:Er,Jc:Pr,af:Sr,bf:Rr,Le:Br,dg:Ir,Xb:xr,yf:qr,Af:Fr,eg:Dr,fg:Lr,Ud:Mr,gg:Or,Td:Ur,We:$r,hg:Vr,ig:Nr,cf:Hr,jg:jr,kc:Wr,lc:Gr,nc:zr,mc:Yr,kg:Xr,Sd:Qr,lg:Kr,Ea:Zr,mg:Jr,ng:eo,og:to,cd:ro,pg:oo,bd:no,Ue:so,Rd:ao,qg:io,dd:uo,rg:lo,sg:co,tg:po,ug:go,df:fo,vg:mo,$c:ho,he:bo,ef:yo,Ne:vo,wg:_o,Ve:ko,xg:Co,Vb:wo,zf:Eo,Bf:Po,Qd:So,yg:Ro,Pd:Bo,Od:Io,zg:xo,Ag:To,Bg:qo,wf:Do,Xd:Lo,Hb:Mo,tf:Oo,id:Uo,Ib:$o,rf:Ho,gd:jo,Yd:Wo,Cg:zo,xf:Xo,Wd:Qo,Fb:Ko,uf:Zo,Gb:Jo,hd:en,lf:tn,Dg:rn,Eg:on,Yc:nn,ee:sn,Kc:an,Se:un,Fg:ln,Gg:cn,gf:dn,hf:pn,Pc:gn,Hg:fn,Ig:hn,jf:bn,ad:yn,ie:vn,kf:_n,Oe:kn,Jg:Cn,Ub:wn,vf:Rn,Cf:Bn,Ye:In,Nd:Tn,Md:qn,fc:Fn,gc:Dn,ic:Ln,Ld:Mn,Kd:On,Jd:Nn,ac:Hn,Kg:jn,Lg:Wn,Mg:Gn,xc:zn,Ze:Yn,bc:Qn,dc:Kn,Nc:Zn,lh:Jn,Mb:es,Qb:ts,Ng:rs,Og:os,$d:ss,be:us,_d:ls,Wc:cs,ae:ds,Xc:ps,ce:gs,_e:fs,Yb:ms,Zb:hs,Pg:bs,Ie:ys,Id:vs,Qg:_s,Da:ks,mh:Cs,cc:ws,Hd:As,Gd:Es,Gc:Ps,hc:Ss,jc:Rs,Rg:xs,Fd:Fs,Ed:Ds,yc:Ls,Fc:Us,Ec:$s,Bd:Vs,Dd:Ns,Cd:Hs,Ad:js,Je:Ws,Ke:Gs,zd:zs,yd:Ys,xd:Xs,wd:Qs,_c:Ks,ge:Zs,vd:Js,$b:ea,ud:ta,Te:ra,Sg:oa,Tb:na,Oc:aa,Zd:ia,Tg:ua,Ug:la,pf:ca,qf:da,Sb:pa,Vg:ga,td:fa,Pb:ma,Ob:ha,de:ba,sf:ya,Wg:Ca,sd:wa,$e:Aa,Xe:Ea,Rb:Pa,rd:Sa,Pe:Ra,_b:Ba,Qe:Ia,Re:xa,Xg:Ta,qd:qa,Yg:Fa,Zg:Da,_g:La,$g:Ma,ah:Oa,bh:Ua,ch:$a,dh:Va,fd:Na,eh:Ha,fh:ja,gh:Wa,hh:Ga,mf:za,Nb:Ya,ih:Xa,ed:Qa,Hc:Ka,jh:Za,kh:ei,Xf:ti,Yf:oi,wc:ni,sc:si,Zf:ai,_f:ii,Wf:ui,Vf:li,vc:ci,rc:di,Uf:pi,Tf:gi,Sf:fi,Rf:mi,uc:hi,qc:bi,Qf:yi,Pf:vi,Df:_i,Ef:ki,tc:Ci,oc:wi,ec:Ai,Ff:Ei,Vc:Pi,Tc:Si,Gf:Ri,Uc:Bi,Rc:Ii,Hf:xi,Sc:Ti,Qc:qi,If:Fi,pd:Di,Jf:Li,nd:Mi,md:Oi,Kf:Ui,ld:$i,Lf:Vi,kd:Ni,Mf:Hi,nf:Wi,Vd:Gi,Jb:zi,jd:Yi,Kb:Xi,Dc:Qi,Bc:Ki,Cc:Zi,zc:Ji,of:eu,Nf:tu,Of:ru,Fa:ou,Cb:(e,t,r)=>R.copyWithin(e,t,t+r),mb:e=>{var t=R.length,r=2147483648;if((e>>>=0)>r)return!1;for(var o,n,s=1;s<=4;s*=2){var a=t*(1+.2/s);a=Math.min(a,e+100663296);var i=Math.min(r,(o=Math.max(e,a))+((n=65536)-o%n)%n);if(nu(i))return!0}return!1},Wa:function(e,t,r,o,n,s,a,i,l){const c=u.UTF8ToString(e,e+t),d=u.HEAPU8.subarray(n,n+s),p=u.emscripten_ubq_codec_audioDecoderNextHandle++,g={codec:c,sampleRate:r,numberOfChannels:o,description:d};try{const e=u.emscripten_ubq_codec_createAudioDecoder(a,i,l);AudioDecoder.isConfigSupported(g).then((t=>{e.configUnsupported=!t}),(()=>{e.configUnsupported=!0})),e.configure(g),u.emscripten_ubq_codec_audioDecoders.set(p,{audioDecoder:e,decoderConfig:g,leftBufferPtr:a,rightBufferPtr:i,bufferLength:l})}catch(e){return u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:p})},Na:function(e,t,r,o,n,s){const a=u.UTF8ToString(e,e+t),i=u.emscripten_ubq_codec_audioEncoderNextHandle++,l={codec:a,sampleRate:r,numberOfChannels:o,bitrate:n};try{const e=new AudioEncoder({output:e=>{const t=u._malloc(e.byteLength),r=u.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),u.emscripten_ubq_codec_onOutputEncodedAudioChunk(i,t,e.byteLength,s),u._free(t)},error:e=>console.error(e)});e.configure(l),u.emscripten_ubq_codec_audioEncoders.set(i,{audioEncoder:e,audioEncoderConfig:l,frameIndex:0})}catch(e){return e+=' Requested codec: "'+a+'"',e+="; sample rate: "+r,e+="; channels: "+o,e+="; bit rate: "+n,u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:i})},$a:function(e,t,r,o,n,s,a){const i=u.UTF8ToString(e,e+t),l=u.HEAPU8.subarray(n,n+s),c=u.emscripten_ubq_codec_videoDecoderNextHandle++,d={codec:i,codedWidth:r,codedHeight:o,description:l,optimizeForLatency:!0};try{const e=u.emscripten_ubq_codec_createVideoDecoder(c,a);VideoDecoder.isConfigSupported(d).then((t=>{e.configUnsupported=!t}),(()=>{e.configUnsupported=!0})),e.configure(d),u.emscripten_ubq_codec_videoDecoders.set(c,{videoDecoder:e,decoderConfig:d,codecServicePtr:a})}catch(e){return u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:c})},Ra:function(e,t,r,o,n,s){const a=u.UTF8ToString(e,e+t),i=u.emscripten_ubq_codec_videoEncoderNextHandle++,l=u.specialHTMLTargets["!canvas"];l.width=r,l.height=o;const c={codec:a,width:r,height:o,avc:{format:"annexb"},framerate:n};try{const e=new VideoEncoder({output:e=>{const t=u._malloc(e.byteLength),r=u.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),u.emscripten_ubq_codec_onOutputEncodedVideoChunk(i,t,e.byteLength,s),u._free(t)},error:e=>console.error(e)});VideoEncoder.isConfigSupported(c).then((t=>{e.configUnsupported=!t}),(()=>{e.configUnsupported=!0})),e.configure(c),u.emscripten_ubq_codec_videoEncoders.set(i,{videoEncoder:e,encoderConfig:c,groupOfPictures:150,frameIndex:0})}catch(e){return e+=' Requested codec: "'+a+'"',e+="; resolution: "+r+"x"+o,u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:i})},Sa:function(e,t,r,o,n,s){const a=u.emscripten_ubq_codec_audioDecoders.get(e);if(a.audioDecoder.unexpectedError)return u.emscripten_ubq_codec_createNativeResult({code:2,error:a.audioDecoder.unexpectedError});"closed"===a.audioDecoder.state&&(a.audioDecoder=u.emscripten_ubq_codec_createAudioDecoder(a.leftBufferPtr,a.rightBufferPtr,a.bufferLength),a.audioDecoder.configure(a.decoderConfig));const i=a.audioDecoder,l=u.HEAPU8.subarray(n,n+s),c=new EncodedAudioChunk({type:t?"key":"delta",timestamp:r,duration:o,data:l});try{i.decode(c)}catch(e){return i.configUnsupported?u.emscripten_ubq_codec_createNativeResult({code:2,error:e}):u.emscripten_ubq_codec_createNativeResult({code:1,error:e})}return u.emscripten_ubq_codec_createNativeResult({code:0})},Ja:function(e,t,r,o,n,s){const a=u.emscripten_ubq_codec_videoDecoders.get(e);if(a.videoDecoder.unexpectedError)return u.emscripten_ubq_codec_createNativeResult({code:2,error:a.videoDecoder.unexpectedError});if("closed"===a.videoDecoder.state){const t=a.videoDecoder.textures;return a.videoDecoder=u.emscripten_ubq_codec_createVideoDecoder(e,a.codecServicePtr),a.videoDecoder.textures=t,a.videoDecoder.configure(a.decoderConfig),u.emscripten_ubq_codec_createNativeResult({code:1,error:"VideoDecoder was closed"})}const i=a.videoDecoder,l=u.HEAPU8.subarray(n,n+s),c=new EncodedVideoChunk({type:t?"key":"delta",timestamp:r,duration:o,data:l});try{i.decode(c)}catch(e){return i.configUnsupported?u.emscripten_ubq_codec_createNativeResult({code:2,error:e}):u.emscripten_ubq_codec_createNativeResult({code:1,error:e})}return u.emscripten_ubq_codec_createNativeResult({code:0})},Va:function(e){if(u.emscripten_ubq_codec_audioDecoders.has(e)){const t=u.emscripten_ubq_codec_audioDecoders.get(e);"closed"!==t.audioDecoder.state&&t.audioDecoder.close(),u.emscripten_ubq_codec_audioDecoders.delete(e)}},Ma:function(e){const t=u.emscripten_ubq_codec_audioEncoders.get(e);"closed"!==t.audioEncoder.state&&t.audioEncoder.close(),u.emscripten_ubq_codec_audioEncoders.delete(e)},Za:function(e){if(u.emscripten_ubq_codec_videoDecoders.has(e)){const t=u.emscripten_ubq_codec_videoDecoders.get(e);"closed"!==t.videoDecoder.state&&t.videoDecoder.close(),u.emscripten_ubq_codec_videoDecoders.delete(e)}},Qa:function(e){const t=u.emscripten_ubq_codec_videoEncoders.get(e);"closed"!==t.videoEncoder.state&&t.videoEncoder.close(),u.emscripten_ubq_codec_videoEncoders.delete(e)},La:function(e,t,r){const o=1e6,n=u.emscripten_ubq_codec_audioEncoders.get(e),s=n.audioEncoderConfig.sampleRate,a=n.audioEncoderConfig.numberOfChannels,i=r/a,l=Math.round(o*(n.frameIndex*i/s)),c=Math.round(o*(i/s)),d=u.HEAPF32.subarray(t/4,t/4+r),p=new AudioData({format:"f32",sampleRate:s,numberOfFrames:i,numberOfChannels:a,duration:c,timestamp:l,data:d});n.audioEncoder.encode(p),n.frameIndex++,p.close()},Pa:function(e,t,r){const o=1e6,n=u.emscripten_ubq_codec_videoEncoders.get(e),s=Math.round(o*(n.frameIndex/n.encoderConfig.framerate)),a=n.frameIndex%n.groupOfPictures==0,i=Math.round(o/n.encoderConfig.framerate),l=u.specialHTMLTargets["!canvas"],c=new VideoFrame(l,{timestamp:s,duration:i});n.videoEncoder.encode(c,{keyFrame:a}),c.close(),n.frameIndex++},Ka:async function(e,t){const r=u.emscripten_ubq_codec_audioEncoders.get(e);await r.audioEncoder.flush(),u.emscripten_ubq_codec_onFinalizedAudioEncoding(e,t)},Oa:async function(e,t){const r=u.emscripten_ubq_codec_videoEncoders.get(e);await r.videoEncoder.flush(),u.emscripten_ubq_codec_onFinalizedVideoEncoding(e,t)},Ua:async function(e,t){const r=u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder;r.flushing=!0;try{await r.flush()}catch{}r.flushing=!1,r.writtenFrames=t},X:async function(e,t,r){const o=u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder;o.shouldDropFrames=r,o.flushing=!0;try{await o.flush()}catch{}o.flushing=!1,o.shouldDropFrames=!1,o.decodedFrames=t},la:function(e){return u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.decodeQueueSize},ma:function(e){return u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.decodedFrames},W:function(e){return u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.writtenFrames},Ta:function(e){return u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.flushing},Ya:function(e){return u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.flushing},Y:function(){return"undefined"!=typeof VideoFrame&&"undefined"!=typeof VideoDecoder&&"undefined"!=typeof VideoEncoder&&"undefined"!=typeof AudioDecoder&&"undefined"!=typeof AudioEncoder},Xa:function(e,t){u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.requestedFrame=t},_a:function(e,t,r){const o=u.emscripten_ubq_codec_videoDecoders.get(e),n=u.HEAPU32.subarray(t/4,t/4+r);o.videoDecoder.textures=[];for(let e=0;e<r;e++)o.videoDecoder.textures[e]=mr.textures[n[e]]},ue:function(e){const t=u.emscripten_ubq_asyncFetchManager.getProcess(e);return!!(null==t?void 0:t.allocate())},ia:function(){u.emscripten_ubq_asyncFetchManager.clear()},ha:function(e,t,r,o){return u.emscripten_ubq_asyncFetchManager.createHeader(e,t,r,o)},ye:function(e){u.emscripten_ubq_asyncFetchManager.deleteHeader(e)},ze:function(e,t,r,o,n,s,a,i,l){return u.emscripten_ubq_asyncFetchManager.fetch(e,t,r,o,n,s,a,i,l).handle},re:function(e){return u.emscripten_ubq_asyncFetchManager.deleteProcess(e)},we:function(e){var t,r;return null!==(r=null===(t=u.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.receivedLength)&&void 0!==r?r:0},te:function(e){const t=u.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultAddress:-1},se:function(e){const t=u.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultLength:-1},Aa:function(e){var t,r;return null!==(r=null===(t=u.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.state)&&void 0!==r?r:-1},ve:function(e){var t,r;return null!==(r=null===(t=u.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.totalBytes)&&void 0!==r?r:0},bb:function(){return!!u.emscripten_ubq_settings_forceWebGL1},na:lu,Z:e=>{mr.currentContext==e&&(mr.currentContext=0),mr.deleteContext(e)},fb:e=>(e=>{var t=e.getExtension("OES_vertex_array_object");if(t)return e.createVertexArray=()=>t.createVertexArrayOES(),e.deleteVertexArray=e=>t.deleteVertexArrayOES(e),e.bindVertexArray=e=>t.bindVertexArrayOES(e),e.isVertexArray=e=>t.isVertexArrayOES(e),1})(mr.contexts[e].GLctx),eb:e=>(e=>{var t=e.getExtension("WEBGL_draw_buffers");if(t)return e.drawBuffers=(e,r)=>t.drawBuffersWEBGL(e,r),1})(mr.contexts[e].GLctx),db:e=>(e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")))(mr.contexts[e].GLctx),_:(e,t)=>{var r=mr.getContext(e),o=Ee(t);return o.startsWith("GL_")&&(o=o.substr(3)),!!r.GLctx.getExtension(o)},cb:(e,t)=>{if(!t)return-5;if(!(e=mr.contexts[e]))return-3;var r=e.GLctx;if(!r)return-3;r=r.getContextAttributes(),x[t>>2]=r.alpha,x[t+4>>2]=r.depth,x[t+8>>2]=r.stencil,x[t+12>>2]=r.antialias,x[t+16>>2]=r.premultipliedAlpha,x[t+20>>2]=r.preserveDrawingBuffer;var o=r.powerPreference&&au.indexOf(r.powerPreference);return x[t+24>>2]=o,x[t+28>>2]=r.failIfMajorPerformanceCaveat,x[t+32>>2]=e.version,x[t+36>>2]=0,0},lb:e=>mr.makeContextCurrent(e)?0:-5,ub:(e,t)=>{var r=0;return du().forEach(((o,n)=>{var s=t+r;T[e+4*n>>2]=s,((e,t)=>{for(var r=0;r<e.length;++r)S[t++>>0]=e.charCodeAt(r);S[t>>0]=0})(o,s),r+=o.length+1})),0},vb:(e,t)=>{var r=du();T[e>>2]=r.length;var o=0;return r.forEach((e=>o+=e.length+1)),T[t>>2]=o,0},Ce:cr,ca:function(e){try{var t=Pe.getStreamFromFD(e);return Ae.close(t),0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},nb:function(e,t,r,o,n){o=er(o);try{if(isNaN(o))return 61;var s=Pe.getStreamFromFD(e),a=pu(s,t,r,o);return T[n>>2]=a,0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},sa:function(e,t,r,o){try{var n=Pe.getStreamFromFD(e),s=pu(n,t,r);return T[o>>2]=s,0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},tb:function(e,t,r,o){t=er(t);try{if(isNaN(t))return 61;var n=Pe.getStreamFromFD(e);return Ae.llseek(n,t,r),F[o>>3]=BigInt(n.position),n.getdents&&0===t&&0===r&&(n.getdents=null),0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},ra:function(e,t,r,o){try{var n=((e,t,r,o)=>{for(var n=0,s=0;s<r;s++){var a=T[t>>2],i=T[t+4>>2];t+=8;var u=Ae.write(e,S,a,i,o);if(u<0)return-1;n+=u,void 0!==o&&(o+=u)}return n})(Pe.getStreamFromFD(e),t,r);return T[o>>2]=n,0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},pe:function(e){var t=Ee(e),r=localStorage.getItem(t);return null==r?null:sr(r)},me:function(){return"undefined"!=typeof window?sr(window.location.hostname):sr("")},gb:(e,t)=>(de(R.subarray(e,e+t)),0),y:function(e,t,r){var o=Uu();try{return wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},L:function(e,t){var r=Uu();try{return wt(e)(t)}catch(e){if($u(r),e!==e+0)throw e;Ou(1,0)}},G:function(e,t,r){var o=Uu();try{return wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},l:function(e,t,r,o){var n=Uu();try{return wt(e)(t,r,o)}catch(e){if($u(n),e!==e+0)throw e;Ou(1,0)}},oh:function(e){var t=Uu();try{return wt(e)()}catch(e){if($u(t),e!==e+0)throw e;Ou(1,0)}},Ga:function(e,t,r){var o=Uu();try{return wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},q:function(e,t){var r=Uu();try{return wt(e)(t)}catch(e){if($u(r),e!==e+0)throw e;Ou(1,0)}},U:function(e,t,r,o,n,s,a,i,u,l,c,d,p,g,f,m){var h=Uu();try{return wt(e)(t,r,o,n,s,a,i,u,l,c,d,p,g,f,m)}catch(e){if($u(h),e!==e+0)throw e;Ou(1,0)}},r:function(e,t,r){var o=Uu();try{return wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},t:function(e,t,r,o){var n=Uu();try{return wt(e)(t,r,o)}catch(e){if($u(n),e!==e+0)throw e;Ou(1,0)}},T:function(e,t,r,o,n){var s=Uu();try{return wt(e)(t,r,o,n)}catch(e){if($u(s),e!==e+0)throw e;Ou(1,0)}},He:function(e,t,r,o,n,s){var a=Uu();try{return wt(e)(t,r,o,n,s)}catch(e){if($u(a),e!==e+0)throw e;Ou(1,0)}},Ca:function(e,t,r,o,n,s,a){var i=Uu();try{return wt(e)(t,r,o,n,s,a)}catch(e){if($u(i),e!==e+0)throw e;Ou(1,0)}},Ba:function(e,t,r,o,n,s,a,i,u,l){var c=Uu();try{return wt(e)(t,r,o,n,s,a,i,u,l)}catch(e){if($u(c),e!==e+0)throw e;Ou(1,0)}},Q:function(e){var t=Uu();try{wt(e)()}catch(e){if($u(t),e!==e+0)throw e;Ou(1,0)}},u:function(e,t){var r=Uu();try{wt(e)(t)}catch(e){if($u(r),e!==e+0)throw e;Ou(1,0)}},C:function(e,t,r,o){var n=Uu();try{wt(e)(t,r,o)}catch(e){if($u(n),e!==e+0)throw e;Ou(1,0)}},F:function(e,t,r){var o=Uu();try{wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},p:function(e,t,r,o){var n=Uu();try{wt(e)(t,r,o)}catch(e){if($u(n),e!==e+0)throw e;Ou(1,0)}},D:function(e,t,r,o,n){var s=Uu();try{wt(e)(t,r,o,n)}catch(e){if($u(s),e!==e+0)throw e;Ou(1,0)}},Ge:function(e,t,r,o,n,s){var a=Uu();try{wt(e)(t,r,o,n,s)}catch(e){if($u(a),e!==e+0)throw e;Ou(1,0)}},De:function(e,t,r,o,n,s,a){var i=Uu();try{wt(e)(t,r,o,n,s,a)}catch(e){if($u(i),e!==e+0)throw e;Ou(1,0)}},nh:function(e,t,r,o,n,s,a,i){var u=Uu();try{wt(e)(t,r,o,n,s,a,i)}catch(e){if($u(u),e!==e+0)throw e;Ou(1,0)}},Fe:function(e,t,r,o,n,s,a,i,u,l){var c=Uu();try{wt(e)(t,r,o,n,s,a,i,u,l)}catch(e){if($u(c),e!==e+0)throw e;Ou(1,0)}},ga:function(){return"undefined"!=typeof localStorage},ka:function(e,t){const r=Lt.toValue(t),o=u.ctx;o.bindTexture(o.TEXTURE_2D,mr.textures[e]),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,r)},a:w,qe:function(e,t){var r=Ee(e),o=Ee(t);localStorage.setItem(r,o)},hb:(e,t,r,o,n)=>hu(e,t,r,o)},Bu=function(){var e,t,r,n,s={a:Ru};function a(e,t){var r;return Bu=e.exports,vt=Bu.rh,r=Bu.ph,N.unshift(r),X(),Bu}if(Y(),u.instantiateWasm)try{return u.instantiateWasm(s,a)}catch(e){E(`Module.instantiateWasm callback failed with error: ${e}`),o(e)}return(e=C,t=K,r=s,n=function(e){a(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||J(t)||y||"function"!=typeof fetch?re(t,r,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(n,(function(e){return E(`wasm streaming compile failed: ${e}`),E("falling back to ArrayBuffer instantiation"),re(t,r,n)}))))).catch(o),{}}(),Iu=u._malloc=e=>(Iu=u._malloc=Bu.qh)(e),xu=u._main=(e,t)=>(xu=u._main=Bu.sh)(e,t),Tu=u._free=e=>(Tu=u._free=Bu.th)(e),qu=(u._ma_malloc_emscripten=(e,t)=>(u._ma_malloc_emscripten=Bu.uh)(e,t),u._ma_free_emscripten=(e,t)=>(u._ma_free_emscripten=Bu.vh)(e,t),u._ma_device_process_pcm_frames_capture__webaudio=(e,t,r)=>(qu=u._ma_device_process_pcm_frames_capture__webaudio=Bu.wh)(e,t,r)),Fu=u._ma_device_process_pcm_frames_playback__webaudio=(e,t,r)=>(Fu=u._ma_device_process_pcm_frames_playback__webaudio=Bu.xh)(e,t,r),Du=e=>(Du=Bu.yh)(e),Lu=e=>(Lu=Bu.zh)(e),Mu=(e,t)=>(Mu=Bu.Ah)(e,t),Ou=(e,t)=>(Ou=Bu.Bh)(e,t),Uu=()=>(Uu=Bu.Ch)(),$u=e=>($u=Bu.Dh)(e),Vu=e=>(Vu=Bu.Eh)(e),Nu=e=>(Nu=Bu.Fh)(e),Hu=e=>(Hu=Bu.Gh)(e),ju=(e,t,r)=>(ju=Bu.Hh)(e,t,r),Wu=e=>(Wu=Bu.Ih)(e);function Gu(e=g){function r(){Su||(Su=!0,u.calledRun=!0,M||(u.noFSInit||Ae.init.initialized||Ae.init(),Ae.ignorePermissions=!1,ve.init(),se(N),se(H),t(u),u.onRuntimeInitialized&&u.onRuntimeInitialized(),zu&&function(e=[]){var t=xu;e.unshift(f);var r=e.length,o=Vu(4*(r+1)),n=o;e.forEach((e=>{T[n>>2]=bu(e),n+=4})),T[n>>2]=0;try{var s=t(r,o);return lr(s,!0),s}catch(e){return ir(e)}}(e),function(){if(u.postRun)for("function"==typeof u.postRun&&(u.postRun=[u.postRun]);u.postRun.length;)e=u.postRun.shift(),j.unshift(e);var e;se(j)}()))}W>0||(function(){if(u.preRun)for("function"==typeof u.preRun&&(u.preRun=[u.preRun]);u.preRun.length;)e=u.preRun.shift(),V.unshift(e);var e;se(V)}(),W>0||(u.setStatus?(u.setStatus("Running..."),setTimeout((function(){setTimeout((function(){u.setStatus("")}),1),r()}),1)):r()))}if(u.___start_em_js=2372187,u.___stop_em_js=2373022,u.addRunDependency=Y,u.removeRunDependency=X,u.FS_createPath=Ae.createPath,u.FS_createLazyFile=Ae.createLazyFile,u.FS_createDevice=Ae.createDevice,u.ccall=(e,t,r,o,n)=>{var s={string:e=>{var t=0;return null!=e&&0!==e&&(t=bu(e)),t},array:e=>{var t=Vu(e.length);return mu(e,t),t}},a=(e=>u["_"+e])(e),i=[],l=0;if(o)for(var c=0;c<o.length;c++){var d=s[r[c]];d?(0===l&&(l=Uu()),i[c]=d(o[c])):i[c]=o[c]}var p,g=a.apply(null,i);return p=g,0!==l&&$u(l),g=function(e){return"string"===t?Ee(e):"boolean"===t?Boolean(e):e}(p),g},u.getValue=function(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return S[e>>0];case"i16":return B[e>>1];case"i32":return x[e>>2];case"i64":return F[e>>3];case"float":return q[e>>2];case"double":return L[e>>3];case"*":return T[e>>2];default:Q(`invalid type for getValue: ${t}`)}},u.UTF8ToString=Ee,u.specialHTMLTargets=iu,u.FS_createPreloadedFile=Ae.createPreloadedFile,u.FS_createDataFile=Ae.createDataFile,u.FS_unlink=Ae.unlink,z=function e(){Su||Gu(),Su||(z=e)},u.preInit)for("function"==typeof u.preInit&&(u.preInit=[u.preInit]);u.preInit.length>0;)u.preInit.pop()();var zu=!0;return u.noInitialRun&&(zu=!1),Gu(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=o:"function"==typeof define&&define.amd&&define([],(()=>o))}}),src_exports={};__export(src_exports,{LogLevel:()=>LogLevel,MimeType:()=>MimeType_default,default:()=>src_default}),module.exports=__toCommonJS(src_exports);var PROXY=Symbol("PROXY");function getter(e,t){Object.defineProperty(e[t],PROXY,{value:{type:"getter"},writable:!1})}function setter(e,t){Object.defineProperty(e[t],PROXY,{value:{type:"setter"},writable:!1})}var UBQHelper=class{ubq;constructor(e){this.ubq=e}useInternalAPI(e){const t=this.ubq.getInternalAPI();try{return e(t)}finally{t.delete()}}setValue(e,t,r,o){return this.useInternalAPI((n=>unpackResult(n.setValue(e,t,r,o))))}getValue(e,t,r){return this.useInternalAPI((o=>unpackResult(o.getValue(e,t,r))))}async execute(e,t){return new Promise(((r,o)=>{this.useInternalAPI((n=>n.ubqExecute(e,t,(e=>{try{const t=unpackResult(e);r(t)}catch(e){o(e)}})))).delete()}))}};function unpackResult(e){if(e.isValid()){const t=e.value();return e.delete(),t}{const t=e.error(),r=t.publicMessage();throw t.delete(),e.delete(),new Error(r)}}function unpackAsync(e){return new Promise(((t,r)=>{e((e=>{try{const r=unpackResult(e);t(r)}catch(e){r(e)}}))}))}__decorateClass([setter],UBQHelper.prototype,"setValue",1),__decorateClass([getter],UBQHelper.prototype,"getValue",1);var cppVectorToArray_default=(e,t=!0)=>{const r=[];for(let t=0;t<e.size();t+=1)r.push(e.get(t));return t&&e.delete(),r},assetCallbacks=new WeakMap,EMPTY_RESULT={assets:[],total:0,currentPage:0,nextPage:void 0},AssetAPI=class{#e;constructor(e){this.#e=e}addSource(e){var t,r,o,n,s,a;const i=null==(t=e.getSupportedMimeTypes)?void 0:t.bind(e),u=null==(r=e.getGroups)?void 0:r.bind(e),l=null==(o=e.applyAsset)?void 0:o.bind(e),c=null==(n=e.applyAssetToBlock)?void 0:n.bind(e),d=null==(s=e.addAsset)?void 0:s.bind(e),p=null==(a=e.removeAsset)?void 0:a.bind(e),g=e.credits,f=e.license;unpackResult(this.#e.addAssetSource(e.id,(async(t,r)=>{try{const o={...t,tags:cppVectorToArray_default(t.tags),groups:cppVectorToArray_default(t.groups),excludeGroups:cppVectorToArray_default(t.excludeGroups)},n=await e.findAssets(o);if(n){const t={...n,assets:n.assets.map((t=>ensureContext(t,e.id)))};r.invoke(t)}else r.invoke(EMPTY_RESULT)}catch(e){r.invoke(e.message??"Unknown error in user-defined `findAssets`")}}),u?async e=>{try{const t=await u();e.invoke(t)}catch(t){e.invoke(t.message??"Unknown error in user-defined `getGroups`")}}:null,g?()=>({name:g.name,url:g.url??""}):null,f?()=>({name:f.name,url:f.url??""}):null,i?()=>i()??[]:null,l?async(e,t)=>{try{const r=await l(this.#t(e));t.invoke(r)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,c?async(e,t,r)=>{try{await c(this.#t(e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null,d?async e=>{d(e)}:null,p?async e=>{p(e)}:null)),this.#r(e.id,e)}addLocalSource(e,t,r,o){unpackResult(this.#e.addLocalAssetSource(e,t??[],r?async(e,t)=>{try{const o=await r(this.#t(e));t.invoke(o)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,o?async(e,t,r)=>{try{await o(this.#t(e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null))}removeSource(e){unpackResult(this.#e.removeAssetSource(e)),this.#o(e)}findAllSources(){return cppVectorToArray_default(this.#e.findAllAssetSources())}findAssets(e,t){return new Promise(((r,o)=>{let n=(null==t?void 0:t.tags)??[];Array.isArray(n)||(n=[n]);const s={perPage:(null==t?void 0:t.perPage)??0,page:(null==t?void 0:t.page)??0,query:(null==t?void 0:t.query)??"",tags:n,groups:(null==t?void 0:t.groups)??[],excludeGroups:(null==t?void 0:t.excludeGroups)??[],locale:(null==t?void 0:t.locale)??""};this.#e.findAssetSourceAssets(e,s,(e=>{try{const t=unpackResult(e);r({...t,nextPage:-1===t.nextPage?void 0:t.nextPage})}catch(e){o(e)}}))}))}#t(e){var t,r,o,n,s,a,i,u;const l={...e};return 0===(null==(t=l.groups)?void 0:t.length)&&delete l.groups,l.locale||delete l.locale,l.label||delete l.label,0===(null==(r=l.tags)?void 0:r.length)&&delete l.tags,(null==(o=l.credits)?void 0:o.name)||(null==(n=l.credits)?void 0:n.url)?l.credits.url||delete l.credits.url:delete l.credits,(null==(s=l.license)?void 0:s.name)||(null==(a=l.license)?void 0:a.url)?l.license.url||delete l.license.url:delete l.license,(null==(i=l.utm)?void 0:i.source)||(null==(u=l.utm)?void 0:u.medium)?(l.utm.source||delete l.utm.source,l.utm.medium||delete l.utm.medium):delete l.utm,l}async getGroups(e){return unpackAsync((t=>this.#e.getAssetSourceGroups(e,t))).then((e=>cppVectorToArray_default(e)))}getSupportedMimeTypes(e){return cppVectorToArray_default(unpackResult(this.#e.getAssetSourceSupportedMimeTypes(e)))}getCredits(e){const t=unpackResult(this.#e.getAssetSourceCredits(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}getLicense(e){const t=unpackResult(this.#e.getAssetSourceLicense(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}canManageAssets(e){var t,r;return!!(null==(r=null==(t=assetCallbacks.get(this.#e))?void 0:t.get(e))?void 0:r.canManageAssets)}addAssetToSource(e,t){unpackResult(this.#e.addAssetToSource(e,t))}removeAssetFromSource(e,t){unpackResult(this.#e.removeAssetFromSource(e,t))}#r(e,t){assetCallbacks.has(this.#e)||assetCallbacks.set(this.#e,new Map),t.canManageAssets&&console.warn(`\nDEPRECATION WARNING:\n\n'canManageAssets' flag was found for asset source with the id '${e}'.\n\nThis flag is deprecated and will be removed in the next version. If you have used it to control if an upload buttons is rendered in the asset library, use the 'canAdd' options on an asset library entry. See documentation here: https://img.ly/docs/cesdk/ui/guides/customize-asset-library/`),assetCallbacks.get(this.#e).set(e,{canManageAssets:t.canManageAssets})}#o(e){var t;null==(t=assetCallbacks.get(this.#e))||t.delete(e)}async apply(e,t){return new Promise(((r,o)=>{this.#e.applyAssetSourceAsset(e,ensureContext(t,e),(e=>{try{const t=unpackResult(e);this.#e.isValid(t)?r(t):r(void 0)}catch(e){o(e)}}))}))}async applyToBlock(e,t,r){return unpackAsync((o=>this.#e.applyAssetSourceAssetToBlock(e,ensureContext(t,e),r,o)))}async defaultApplyAsset(e){return new Promise(((t,r)=>{this.#e.defaultApplyAsset(ensureContext(e,""),(e=>{try{const r=unpackResult(e);this.#e.isValid(r)?t(r):t(void 0)}catch(e){r(e)}}))}))}async defaultApplyAssetToBlock(e,t){return unpackAsync((r=>this.#e.defaultApplyAssetToBlock(ensureContext(e,""),t,r)))}onAssetSourceAdded=e=>{const t=this.#e.subscribeToAssetSourceAdded(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onAssetSourceRemoved=e=>{const t=this.#e.subscribeToAssetSourceRemoved(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};dispose(){assetCallbacks.delete(this.#e)}};function ensureContext(e,t){return"context"in e&&e.context.sourceId===t?e:{...e,context:{sourceId:t}}}var LogLevel={Info:"Info",Warning:"Warning",Error:"Error"};function defaultLogger(e,t){const r=`[UBQ] ${e}`;switch(t){case"Warning":console.warn(r);break;case"Error":console.error(r);break;case"Info":console.info(r);break;default:console.log(r)}}var BASE_URL_DEFAULT="https://cdn.img.ly/packages/imgly/cesdk-engine/1.26.0-rc.0/assets";function ensureIsAbsoluteURL(e,t=("undefined"==typeof window?"":window.location.href)){return new URL(e,""===t?void 0:t).href}function ensureIsValidDirectoryURL(e){return"/"!==e[e.length-1]?`${e}/`:e}function joinPaths(e,t){const r=e.endsWith("/"),o=t.startsWith("/");return r&&o?`${e.substring(0,e.length-1)}${t}`:r||o?`${e}${t}`:`${e}/${t}`}function initWithDefaults(e={},t=BASE_URL_DEFAULT){const r={...e,license:e.license??"",featureFlags:e.featureFlags??{},baseURL:e.baseURL??t,core:e.core??{baseURL:"core/"},logger:e.logger??defaultLogger,presets:e.presets??{}};return r.baseURL=ensureIsAbsoluteURL(r.baseURL),r.baseURL=ensureIsValidDirectoryURL(r.baseURL),r.core.baseURL=ensureIsAbsoluteURL(r.core.baseURL,r.baseURL),r.core.baseURL=ensureIsValidDirectoryURL(r.core.baseURL),r}async function loadAssetSourcesFromContentJSON(e,t,r=fetch,o,n=new Set(o.findAllSources())){const s=e.map((async e=>{const s=joinPaths(t,`/${e}/content.json`);return r(s).then((e=>{if(!e.ok)throw new Error(e.statusText);return e.json()})).then((r=>{if(void 0===r.assets)throw new Error(`Invalid content.json for assets: ${e}`);const s=r.assets;n.has(e)||o.addLocalSource(e),s.forEach((r=>{var n,s;r.meta&&Object.entries(r.meta).forEach((([e,o])=>{const n=o.toString();if(n.includes("{{base_url}}")){const o=n.replace("{{base_url}}",t);r.meta&&(r.meta[e]=o)}})),(null==(n=r.payload)?void 0:n.typeface)&&r.payload.typeface.fonts.forEach((e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace("{{base_url}}",t))})),(null==(s=r.payload)?void 0:s.sourceSet)&&r.payload.sourceSet.forEach((e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace("{{base_url}}",t))})),o.addAssetToSource(e,r)}))}))}));await Promise.all(s)}var loadAssetSourcesFromContentJSON_default=loadAssetSourcesFromContentJSON;async function addDefaultAssetSources(e,t,r,o){const n=["ly.img.sticker","ly.img.vectorpath","ly.img.colors.defaultPalette","ly.img.filter.lut","ly.img.filter.duotone","ly.img.effect","ly.img.blur","ly.img.typeface"].filter((e=>!r.includes(e)));await loadAssetSourcesFromContentJSON_default(n,t,o,e)}var addDefaultAssetSources_default=addDefaultAssetSources,StructError=class extends TypeError{constructor(e,t){let r;const{message:o,...n}=e,{path:s}=e;super(0===s.length?o:"At path: "+s.join(".")+" -- "+o),this.value=void 0,this.key=void 0,this.type=void 0,this.refinement=void 0,this.path=void 0,this.branch=void 0,this.failures=void 0,Object.assign(this,n),this.name=this.constructor.name,this.failures=()=>{var o;return null!=(o=r)?o:r=[e,...t()]}}};function isIterable(e){return isObject(e)&&"function"==typeof e[Symbol.iterator]}function isObject(e){return"object"==typeof e&&null!=e}function print(e){return"string"==typeof e?JSON.stringify(e):""+e}function shiftIterator(e){const{done:t,value:r}=e.next();return t?void 0:r}function toFailure(e,t,r,o){if(!0===e)return;!1===e?e={}:"string"==typeof e&&(e={message:e});const{path:n,branch:s}=t,{type:a}=r,{refinement:i,message:u="Expected a value of type `"+a+"`"+(i?" with refinement `"+i+"`":"")+", but received: `"+print(o)+"`"}=e;return{value:o,type:a,refinement:i,key:n[n.length-1],path:n,branch:s,...e,message:u}}function*toFailures(e,t,r,o){isIterable(e)||(e=[e]);for(const n of e){const e=toFailure(n,t,r,o);e&&(yield e)}}function*run(e,t,r={}){const{path:o=[],branch:n=[e],coerce:s=!1,mask:a=!1}=r,i={path:o,branch:n};if(s&&(e=t.coercer(e,i),a&&"type"!==t.type&&isObject(t.schema)&&isObject(e)&&!Array.isArray(e)))for(const r in e)void 0===t.schema[r]&&delete e[r];let u=!0;for(const r of t.validator(e,i))u=!1,yield[r,void 0];for(let[r,l,c]of t.entries(e,i)){const t=run(l,c,{path:void 0===r?o:[...o,r],branch:void 0===r?n:[...n,l],coerce:s,mask:a});for(const o of t)o[0]?(u=!1,yield[o[0],void 0]):s&&(l=o[1],void 0===r?e=l:e instanceof Map?e.set(r,l):e instanceof Set?e.add(l):isObject(e)&&(e[r]=l))}if(u)for(const r of t.refiner(e,i))u=!1,yield[r,void 0];u&&(yield[void 0,e])}var Struct=class{constructor(e){this.TYPE=void 0,this.type=void 0,this.schema=void 0,this.coercer=void 0,this.validator=void 0,this.refiner=void 0,this.entries=void 0;const{type:t,schema:r,validator:o,refiner:n,coercer:s=(e=>e),entries:a=function*(){}}=e;this.type=t,this.schema=r,this.entries=a,this.coercer=s,this.validator=o?(e,t)=>toFailures(o(e,t),t,this,e):()=>[],this.refiner=n?(e,t)=>toFailures(n(e,t),t,this,e):()=>[]}assert(e){return assert(e,this)}create(e){return create(e,this)}is(e){return is(e,this)}mask(e){return mask(e,this)}validate(e,t={}){return validate(e,this,t)}};function assert(e,t){const r=validate(e,t);if(r[0])throw r[0]}function create(e,t){const r=validate(e,t,{coerce:!0});if(r[0])throw r[0];return r[1]}function mask(e,t){const r=validate(e,t,{coerce:!0,mask:!0});if(r[0])throw r[0];return r[1]}function is(e,t){return!validate(e,t)[0]}function validate(e,t,r={}){const o=run(e,t,r),n=shiftIterator(o);if(n[0]){return[new StructError(n[0],(function*(){for(const e of o)e[0]&&(yield e[0])})),void 0]}return[void 0,n[1]]}function define2(e,t){return new Struct({type:e,schema:null,validator:t})}function array(e){return new Struct({type:"array",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[r,o]of t.entries())yield[r,o,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||"Expected an array value, but received: "+print(e)})}function boolean(){return define2("boolean",(e=>"boolean"==typeof e))}function integer(){return define2("integer",(e=>"number"==typeof e&&!isNaN(e)&&Number.isInteger(e)||"Expected an integer, but received: "+print(e)))}function never(){return define2("never",(()=>!1))}function number(){return define2("number",(e=>"number"==typeof e&&!isNaN(e)||"Expected a number, but received: "+print(e)))}function object(e){const t=e?Object.keys(e):[],r=never();return new Struct({type:"object",schema:e||null,*entries(o){if(e&&isObject(o)){const n=new Set(Object.keys(o));for(const r of t)n.delete(r),yield[r,o[r],e[r]];for(const e of n)yield[e,o[e],r]}},validator:e=>isObject(e)||"Expected an object, but received: "+print(e),coercer:e=>isObject(e)?{...e}:e})}function string(){return define2("string",(e=>"string"==typeof e||"Expected a string, but received: "+print(e)))}function getSize(e){return e instanceof Map||e instanceof Set?e.size:e.length}function max(e,t,r={}){const{exclusive:o}=r;return refine(e,"max",(r=>o?r<t:r<=t||"Expected a "+e.type+" less than "+(o?"":"or equal to ")+t+" but received `"+r+"`"))}function min(e,t,r={}){const{exclusive:o}=r;return refine(e,"min",(r=>o?r>t:r>=t||"Expected a "+e.type+" greater than "+(o?"":"or equal to ")+t+" but received `"+r+"`"))}function nonempty(e){return refine(e,"nonempty",(t=>getSize(t)>0||"Expected a nonempty "+e.type+" but received an empty one"))}function refine(e,t,r){return new Struct({...e,*refiner(o,n){yield*e.refiner(o,n);const s=toFailures(r(o,n),n,e,o);for(const e of s)yield{...e,refinement:t}}})}function assert2(e,t,r){const[o]=validate(t,r);if(o)throw o.message=`Error in argument '${e}': ${o.message}`,o}function mimeType(){const e=/image\/(png|jpeg|webp|x-tga)|video\/(mp4|quicktime)|application\/octet-stream|application\/pdf/;return define2("MimeType",(t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "image/png", "image/jpeg", "image/webp", "image/x-tga", "video/mp4", "video/quicktime", "application/pdf" or "application/octet-stream", but got "${t}"`}))}function sceneLayoutShape(){const e=["Free","VerticalStack","HorizontalStack","DepthStack"];return define2("SceneLayout",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}function zoomAutoFitAxisShape(){const e=["Horizontal","Vertical","Both"];return define2("ZoomAutoFitAxis",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}function designUnitShape(){const e=["Pixel","Millimeter","Inch"];return define2("DesignUnit",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}function cutoutOperationShape(){const e=["Difference","Intersection","Union","XOR"];return define2("CutoutOperation",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}var MimeType=(e=>(e.Png="image/png",e.Jpeg="image/jpeg",e.WebP="image/webp",e.Tga="image/x-tga",e.Mp4="video/mp4",e.QuickTime="video/quicktime",e.Binary="application/octet-stream",e.Pdf="application/pdf",e.Zip="application/zip",e))(MimeType||{}),MimeType_default=MimeType,Blob_default="undefined"!=typeof Blob?Blob:(()=>{try{return require("buffer").Blob}catch(e){return function(){throw new Error("Could not find Blob constructor and failed to require('buffer').Blob")}}})(),SceneAPI=class{#e;constructor(e){this.#e=e}async loadFromString(e){return assert2("sceneContent",e,string()),unpackAsync((t=>this.#e.loadSceneFromString(e,t)))}async loadFromURL(e){return assert2("url",e,string()),unpackAsync((t=>this.#e.loadSceneFromURL(e,t)))}async saveToString(){const e=this.get();if(null==e)throw new Error("No scene available.");return unpackAsync((t=>{this.#e.saveSceneToString(e,t)}))}async saveToArchive(){return new Promise(((e,t)=>{const r=this.get();null==r?t(new Error("No scene available.")):this.#e.saveSceneToArchive(r,(r=>{"error"in r?t(r.error):e(new Blob_default([r],{type:MimeType_default.Zip}))}))}))}create(e="Free"){assert2("sceneLayout",e,sceneLayoutShape());return unpackResult(this.#e.createScene(e))}createVideo(){return unpackResult(this.#e.createVideoScene())}createFromImage(e,t=300,r=1,o="Free",n=0,s=!1){return assert2("url",e,string()),assert2("dpi",t,min(number(),0)),assert2("pixelScaleFactor",r,min(number(),0)),assert2("sceneLayout",o,sceneLayoutShape()),unpackAsync((a=>this.#e.createSceneFromImage(e,t,r,o,n,s,a)))}createFromVideo(e){return assert2("url",e,string()),unpackAsync((t=>this.#e.createSceneFromVideo(e,t)))}get(){const e=unpackResult(this.#e.findByType("scene")),t=cppVectorToArray_default(e);return t.length>0?t[0]:null}async applyTemplateFromString(e){return assert2("content",e,string()),unpackAsync((t=>this.#e.applyTemplateFromString(e,t)))}async applyTemplateFromURL(e){return assert2("url",e,string()),unpackAsync((t=>this.#e.applyTemplateFromURL(e,t)))}getMode(){const e=this.get();return unpackResult(this.#e.getSceneMode(e))}setDesignUnit(e){assert2("designUnit",e,designUnitShape());const t=this.get();unpackResult(this.#e.setDesignUnit(t,e))}getDesignUnit(){const e=this.get();return unpackResult(this.#e.getDesignUnit(e))}getPages(){return cppVectorToArray_default(unpackResult(this.#e.getPages()))}getCurrentPage(){const e=this.get();if(null==e)return null;const t=unpackResult(this.#e.findNearestToViewPortCenterByType(e,"//ly.img.ubq/page")),r=cppVectorToArray_default(t);return r.length>0?r[0]:null}findNearestToViewPortCenterByType(e){assert2("type",e,string());const t=this.get();if(null==t)return[];const r=unpackResult(this.#e.findNearestToViewPortCenterByType(t,e));return cppVectorToArray_default(r)}findNearestToViewPortCenterByKind(e){assert2("kind",e,string());const t=this.get();if(null==t)return[];const r=unpackResult(this.#e.findNearestToViewPortCenterByKind(t,e));return cppVectorToArray_default(r)}setZoomLevel(e=1){const t=this.get();assert2("zoomLevel",e,min(number(),0)),this.#e.setZoomLevel(t,e)}getZoomLevel(){const e=this.get();return unpackResult(this.#e.getZoomLevel(e))}async zoomToBlock(e,t=0,r=0,o=0,n=0){return assert2("id",e,integer()),unpackAsync((s=>this.#e.zoomToBlock(e,t,r,o,n,s)))}enableZoomAutoFit(e,t,r=0,o=0,n=0,s=0){return assert2("id",e,integer()),assert2("axis",t,zoomAutoFitAxisShape()),"Horizontal"===t?(assert2("paddingBefore",r,number()),assert2("paddingAfter",o,number()),unpackResult(this.#e.enableZoomAutoFit(e,t,r,0,o,0))):"Vertical"===t?(assert2("paddingBefore",r,number()),assert2("paddingAfter",o,number()),unpackResult(this.#e.enableZoomAutoFit(e,t,0,r,0,o))):(assert2("paddingLeft",r,number()),assert2("paddingTop",o,number()),assert2("paddingRight",n,number()),assert2("paddingBottom",s,number()),unpackResult(this.#e.enableZoomAutoFit(e,t,r,o,n,s)))}disableZoomAutoFit(e){return assert2("blockOrScene",e,integer()),unpackResult(this.#e.disableZoomAutoFit(e))}isZoomAutoFitEnabled(e){return assert2("blockOrScene",e,integer()),unpackResult(this.#e.isZoomAutoFitEnabled(e))}unstable_enableCameraPositionClamping(e,t=0,r=0,o=0,n=0,s=0,a=0,i=0,u=0){return assert2("ids",e,array(number())),assert2("paddingLeft",t,number()),assert2("paddingTop",r,number()),assert2("paddingRight",o,number()),assert2("paddingBottom",n,number()),assert2("scaledPaddingLeft",t,number()),assert2("scaledPaddingTop",r,number()),assert2("scaledPaddingRight",o,number()),assert2("scaledPaddingBottom",n,number()),unpackResult(this.#e.unstable_enableCameraPositionClamping(e,t,r,o,n,s,a,i,u))}unstable_disableCameraPositionClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_disableCameraPositionClamping(e))}unstable_isCameraPositionClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_isCameraPositionClampingEnabled(e))}unstable_enableCameraZoomClamping(e,t=-1,r=-1,o=0,n=0,s=0,a=0){return assert2("ids",e,array(number())),assert2("minZoomLimit",t,number()),assert2("maxZoomLimit",r,number()),assert2("paddingLeft",o,number()),assert2("paddingTop",n,number()),assert2("paddingRight",s,number()),assert2("paddingBottom",a,number()),unpackResult(this.#e.unstable_enableCameraZoomClamping(e,t,r,o,n,s,a))}unstable_disableCameraZoomClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_disableCameraZoomClamping(e))}unstable_isCameraZoomClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_isCameraZoomClampingEnabled(e))}onZoomLevelChanged=e=>{const t=this.#e.subscribeToZoomLevel(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onActiveChanged=e=>{const t=this.#e.subscribeToActiveSceneChange(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}}};__decorateClass([setter],SceneAPI.prototype,"loadFromString",1),__decorateClass([setter],SceneAPI.prototype,"loadFromURL",1),__decorateClass([setter],SceneAPI.prototype,"create",1),__decorateClass([setter],SceneAPI.prototype,"createVideo",1),__decorateClass([setter],SceneAPI.prototype,"createFromImage",1),__decorateClass([setter],SceneAPI.prototype,"createFromVideo",1),__decorateClass([getter],SceneAPI.prototype,"get",1),__decorateClass([setter],SceneAPI.prototype,"applyTemplateFromString",1),__decorateClass([setter],SceneAPI.prototype,"applyTemplateFromURL",1),__decorateClass([getter],SceneAPI.prototype,"getMode",1),__decorateClass([setter],SceneAPI.prototype,"setDesignUnit",1),__decorateClass([getter],SceneAPI.prototype,"getDesignUnit",1),__decorateClass([getter],SceneAPI.prototype,"getPages",1),__decorateClass([getter],SceneAPI.prototype,"getCurrentPage",1),__decorateClass([getter],SceneAPI.prototype,"findNearestToViewPortCenterByType",1),__decorateClass([getter],SceneAPI.prototype,"findNearestToViewPortCenterByKind",1),__decorateClass([setter],SceneAPI.prototype,"setZoomLevel",1),__decorateClass([getter],SceneAPI.prototype,"getZoomLevel",1),__decorateClass([setter],SceneAPI.prototype,"zoomToBlock",1),__decorateClass([setter],SceneAPI.prototype,"enableZoomAutoFit",1),__decorateClass([setter],SceneAPI.prototype,"disableZoomAutoFit",1),__decorateClass([getter],SceneAPI.prototype,"isZoomAutoFitEnabled",1);var DEFAULT_DEMO_ASSET_SOURCE_BASE_URL="https://cdn.img.ly/assets/demo/v2";async function addDemoAssetSources(e,t,r,o,n,s,a=DEFAULT_DEMO_ASSET_SOURCE_BASE_URL){const i=new Set(e.findAllSources()),u="ly.img.image.upload";!n||r.includes(u)||i.has(u)||e.addLocalSource(u,["image/jpeg","image/png","image/webp","image/svg+xml","image/gif","image/bmp"]);const l="ly.img.video.upload";"Video"!==o||!n||r.includes(l)||i.has(l)||e.addLocalSource(l,["video/mp4","video/quicktime"]);const c="ly.img.audio.upload";"Video"!==o||!n||r.includes(c)||i.has(c)||e.addLocalSource(c,["audio/mpeg","audio/mp3","audio/x-m4a"]);const d=["ly.img.image","ly.img.video","ly.img.audio"].filter((e=>!r.includes(e)));i.has("ly.img.template")||r.includes("ly.img.template")||(e.addLocalSource("ly.img.template",void 0,(async e=>{var r;const o=null==(r=e.meta)?void 0:r.uri;if(o)if(o.startsWith("UBQ1"))t.applyTemplateFromString(o);else{const e=new URL(o,window.location.href);t.applyTemplateFromURL(e.href)}})),d.push("ly.img.template")),"Video"!==o||i.has("ly.img.video.template")||r.includes("ly.img.video.template")||(e.addLocalSource("ly.img.video.template",void 0,(async e=>{var r;const o=null==(r=e.meta)?void 0:r.uri;if(o)if(o.startsWith("UBQ1"))t.applyTemplateFromString(o);else{const e=new URL(o,window.location.href);t.applyTemplateFromURL(e.href)}})),d.push("ly.img.video.template")),await loadAssetSourcesFromContentJSON_default(d,a,s,e)}var ColorInternal,addDemoAssetSources_default=addDemoAssetSources;function isRGBAColor(e){return"r"in e&&"a"in e&&void 0!==e.r&&void 0!==e.a}function isSpotColor(e){return"name"in e&&void 0!==e.name}function isCMYKColor(e){return"c"in e&&"m"in e&&"y"in e&&"k"in e&&void 0!==e.c&&void 0!==e.m&&void 0!==e.y&&void 0!==e.k}(e=>{let t;var r;(r=t=e.ColorSpace||(e.ColorSpace={}))[r.sRGB=0]="sRGB",r[r.CMYK=1]="CMYK",r[r.SpotColor=2]="SpotColor",e.toColor=function(e){switch(e.colorSpace){case 0:return{r:e.components.x,g:e.components.y,b:e.components.z,a:e.components.w};case 2:return{name:e.spotColorName,tint:e.tint,externalReference:e.externalReference};case 1:return{c:e.components.x,m:e.components.y,y:e.components.z,k:e.components.w,tint:e.tint};default:throw new Error("Unknown color space!")}},e.fromColor=function(e){if(isRGBAColor(e))return{colorSpace:0,components:{x:e.r,y:e.g,z:e.b,w:e.a},spotColorName:"",tint:1,externalReference:""};if(isCMYKColor(e))return{colorSpace:1,components:{x:e.c,y:e.m,z:e.y,w:e.k},spotColorName:"",tint:e.tint,externalReference:""};if(isSpotColor(e))return{colorSpace:2,components:{x:0,y:0,z:0,w:0},spotColorName:e.name,tint:e.tint,externalReference:e.externalReference};throw new Error("Unknown color space!")}})(ColorInternal||(ColorInternal={}));var BlockAPI=class{#e;constructor(e){this.#e=e}async export(e,t=MimeType_default.Png,r={}){assert2("handle",e,number()),assert2("mimeType",t,mimeType()),assert2("options",r,object());const o=null!=r.targetWidth&&null!=r.targetHeight,n=r.jpegQuality??.9,s=r.webpQuality??1,a=r.pngCompressionLevel??5;return assert2("jpegQuality",n,min(max(number(),1),0,{exclusive:!0})),assert2("webpQuality",s,min(max(number(),1),0,{exclusive:!0})),assert2("pngCompressionLevel",a,min(max(integer(),9),0)),null==r.targetWidth&&null==r.targetHeight||(assert2("targetWidth",r.targetWidth,number()),assert2("targetHeight",r.targetHeight,number())),new Promise(((i,u)=>{this.#e.exportToBuffer(e,t,(e=>{"error"in e?u(e.error):i(new Blob_default([e],{type:t}))}),{pngCompressionLevel:a,jpegQuality:n,webpQuality:s,useTargetSize:o,targetWidth:r.targetWidth??0,targetHeight:r.targetHeight??0,exportPdfWithHighCompatibility:r.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:r.exportPdfWithUnderlayer??!1,underlayerSpotColorName:r.underlayerSpotColorName??"",underlayerOffset:r.underlayerOffset??0})}))}async exportWithColorMask(e,t=MimeType_default.Png,r,o,n,s={}){assert2("handle",e,number()),assert2("mimeType",t,mimeType()),assert2("options",s,object());const a=null!=s.targetWidth&&null!=s.targetHeight,i=s.jpegQuality??.9,u=s.webpQuality??1,l=s.pngCompressionLevel??5;return assert2("jpegQuality",i,min(max(number(),1),0,{exclusive:!0})),assert2("webpQuality",u,min(max(number(),1),0,{exclusive:!0})),assert2("pngCompressionLevel",l,min(max(integer(),9),0)),null==s.targetWidth&&null==s.targetHeight||(assert2("targetWidth",s.targetWidth,number()),assert2("targetHeight",s.targetHeight,number())),new Promise(((c,d)=>{this.#e.exportWithColorMaskToBuffer(e,t,r,o,n,((e,r)=>{if("error"in e)d(e.error);else if("error"in r)d(r.error);else{const o=new Blob_default([e],{type:t}),n=new Blob_default([r],{type:t});c([o,n])}}),{pngCompressionLevel:l,jpegQuality:i,webpQuality:u,useTargetSize:a,targetWidth:s.targetWidth??0,targetHeight:s.targetHeight??0,exportPdfWithHighCompatibility:s.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:s.exportPdfWithUnderlayer??!1,underlayerSpotColorName:s.underlayerSpotColorName??"",underlayerOffset:s.underlayerOffset??0})}))}async exportVideo(e,t=MimeType_default.Mp4,r,o){throw new Error("Method not implemented. An implementation is available on the BlockAPI at engine.block or cesdk.engine.block")}async loadFromString(e){return assert2("content",e,string()),unpackAsync((t=>this.#e.loadBlocksFromString(e,t))).then((e=>cppVectorToArray_default(e)))}async saveToString(e){return assert2("blocks",e,array(number())),unpackAsync((t=>this.#e.saveBlocksToString(e,t)))}create(e){return assert2("type",e,string()),unpackResult(this.#e.create(e))}createFill(e){return assert2("type",e,string()),unpackResult(this.#e.createFill(e))}getType(e){return assert2("id",e,integer()),unpackResult(this.#e.getType(e))}getKind(e){return assert2("id",e,integer()),unpackResult(this.#e.getKind(e))}setKind(e,t){assert2("id",e,integer()),unpackResult(this.#e.setKind(e,t))}select(e){return assert2("id",e,integer()),unpackResult(this.#e.select(e))}setSelected(e,t){return assert2("id",e,integer()),assert2("selected",t,boolean()),unpackResult(this.#e.setSelected(e,t))}isSelected(e){return assert2("id",e,integer()),unpackResult(this.#e.isSelected(e))}findAllSelected(){return cppVectorToArray_default(this.#e.findAllSelected())}onSelectionChanged=e=>{const t=this.#e.subscribeToSelectionChange(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onClicked=e=>{const t=this.#e.subscribeToBlockClicked(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};isGroupable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isGroupable(e))}group(e){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.group(e))}ungroup(e){return assert2("id",e,number()),unpackResult(this.#e.ungroup(e))}enterGroup(e){return assert2("id",e,number()),unpackResult(this.#e.enterGroup(e))}exitGroup(e){return assert2("id",e,number()),unpackResult(this.#e.exitGroup(e))}isCombinable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isCombinable(e))}combine(e,t){return assert2("ids",e,array(number())),assert2("op",t,string()),unpackResult(this.#e.combine(e,t))}setName(e,t){return assert2("id",e,integer()),assert2("name",t,string()),unpackResult(this.#e.setName(e,t))}getName(e){return assert2("id",e,integer()),unpackResult(this.#e.getName(e))}getUUID(e){return assert2("id",e,integer()),unpackResult(this.#e.getUUID(e))}findByName(e){assert2("name",e,string());const t=this.#e.findByName(e);return cppVectorToArray_default(t)}findByType(e){assert2("type",e,string());const t=unpackResult(this.#e.findByType(e));return cppVectorToArray_default(t)}findByKind(e){assert2("kind",e,string());const t=unpackResult(this.#e.findByKind(e));return cppVectorToArray_default(t)}findAll(){return cppVectorToArray_default(this.#e.findAll())}findAllPlaceholders(){return cppVectorToArray_default(this.#e.findAllPlaceholders())}createShape(e){return assert2("type",e,string()),unpackResult(this.#e.createShape(e))}hasShape(e){return assert2("id",e,integer()),unpackResult(this.#e.hasShape(e))}getShape(e){return assert2("id",e,integer()),unpackResult(this.#e.getShape(e))}setShape(e,t){return assert2("id",e,integer()),assert2("shape",t,integer()),unpackResult(this.#e.setShape(e,t))}isVisible(e){return assert2("id",e,integer()),unpackResult(this.#e.isVisible(e))}setVisible(e,t){return assert2("id",e,integer()),assert2("visible",t,boolean()),unpackResult(this.#e.setVisible(e,t))}isClipped(e){return assert2("id",e,integer()),unpackResult(this.#e.isClipped(e))}setClipped(e,t){return assert2("id",e,integer()),assert2("clipped",t,boolean()),unpackResult(this.#e.setClipped(e,t))}isTransformLocked(e){return assert2("id",e,integer()),unpackResult(this.#e.isTransformLocked(e))}setTransformLocked(e,t){return assert2("id",e,integer()),assert2("locked",t,boolean()),unpackResult(this.#e.setTransformLocked(e,t))}getPositionX(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionX(e))}getPositionXMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionXMode(e))}getPositionY(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionY(e))}getPositionYMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionYMode(e))}setPositionX(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setPositionX(e,t))}setPositionXMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setPositionXMode(e,t))}setPositionY(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setPositionY(e,t))}setPositionYMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setPositionYMode(e,t))}setAlwaysOnTop(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setAlwaysOnTop(e,t))}setAlwaysOnBottom(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setAlwaysOnBottom(e,t))}isAlwaysOnTop(e){return assert2("id",e,integer()),unpackResult(this.#e.isAlwaysOnTop(e))}isAlwaysOnBottom(e){return assert2("id",e,integer()),unpackResult(this.#e.isAlwaysOnBottom(e))}bringToFront(e){return assert2("id",e,number()),unpackResult(this.#e.bringToFront(e))}sendToBack(e){return assert2("id",e,number()),unpackResult(this.#e.sendToBack(e))}bringForward(e){return assert2("id",e,number()),unpackResult(this.#e.bringForward(e))}sendBackward(e){return assert2("id",e,number()),unpackResult(this.#e.sendBackward(e))}getRotation(e){return assert2("id",e,integer()),unpackResult(this.#e.getRotation(e))}setRotation(e,t){return assert2("id",e,integer()),assert2("radians",t,number()),unpackResult(this.#e.setRotation(e,t))}getFlipHorizontal(e){return assert2("id",e,integer()),unpackResult(this.#e.getFlip(e)).horizontal}getFlipVertical(e){return assert2("id",e,integer()),unpackResult(this.#e.getFlip(e)).vertical}setFlipHorizontal(e,t){return assert2("id",e,integer()),assert2("flip",t,boolean()),unpackResult(this.#e.setFlipHorizontal(e,t))}setFlipVertical(e,t){return assert2("id",e,integer()),assert2("flip",t,boolean()),unpackResult(this.#e.setFlipVertical(e,t))}hasContentFillMode(e){return assert2("id",e,integer()),unpackResult(this.#e.hasContentFillMode(e))}getWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getWidth(e))}getWidthMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getWidthMode(e))}getHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getHeight(e))}getHeightMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getHeightMode(e))}setWidth(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setWidth(e,t))}setWidthMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setWidthMode(e,t))}setHeight(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setHeight(e,t))}setHeightMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setHeightMode(e,t))}getFrameX(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameX(e))}getFrameY(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameY(e))}getFrameWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameWidth(e))}getFrameHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameHeight(e))}setContentFillMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setContentFillMode(e,t))}getContentFillMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getContentFillMode(e))}duplicate(e){return assert2("id",e,integer()),unpackResult(this.#e.duplicate(e))}destroy(e){return assert2("id",e,integer()),unpackResult(this.#e.destroy(e))}isValid(e){return assert2("id",e,integer()),this.#e.isValid(e)}getParent(e){return assert2("id",e,integer()),unpackResult(this.#e.hasParent(e))?unpackResult(this.#e.getParent(e)):null}getChildren(e){assert2("id",e,integer());const t=unpackResult(this.#e.getChildren(e));return cppVectorToArray_default(t)}insertChild(e,t,r){return assert2("parent",e,number()),assert2("child",t,number()),assert2("index",r,min(number(),0)),unpackResult(this.#e.insertChild(e,t,r))}appendChild(e,t){return assert2("parent",e,number()),assert2("child",t,number()),unpackResult(this.#e.appendChild(e,t))}referencesAnyVariables(e){return assert2("id",e,integer()),unpackResult(this.#e.referencesAnyVariables(e))}getGlobalBoundingBoxX(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxX(e))}getGlobalBoundingBoxY(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxY(e))}getGlobalBoundingBoxWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxWidth(e))}getGlobalBoundingBoxHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxHeight(e))}getScreenSpaceBoundingBoxXYWH(e){return assert2("ids",e,array(number())),unpackResult(this.#e.getScreenSpaceBoundingBoxXYWH(e))}alignHorizontally(e,t){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.alignHorizontally(e,t))}alignVertically(e,t){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.alignVertically(e,t))}isAlignable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isAlignable(e))}distributeHorizontally(e){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.distributeHorizontally(e))}distributeVertically(e){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.distributeVertically(e))}isDistributable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isDistributable(e))}fillParent(e){return assert2("id",e,integer()),unpackResult(this.#e.fillParent(e))}resizeContentAware(e,t,r){return assert2("ids",e,array(number())),assert2("width",t,number()),assert2("height",r,number()),unpackResult(this.#e.resizeContentAware(e,t,r))}scale(e,t,r=0,o=0){return assert2("id",e,integer()),unpackResult(this.#e.scale(e,t,r,o))}findAllProperties(e){return assert2("id",e,integer()),cppVectorToArray_default(unpackResult(this.#e.findAllProperties(e)))}isPropertyReadable(e){return assert2("property",e,string()),this.#e.isPropertyReadable(e)}isPropertyWritable(e){return assert2("property",e,string()),this.#e.isPropertyWritable(e)}getPropertyType(e){assert2("property",e,string());return unpackResult(this.#e.getPropertyType(e))}getEnumValues(e){return assert2("enumProperty",e,string()),cppVectorToArray_default(unpackResult(this.#e.getEnumValues(e)))}setBool(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,boolean()),unpackResult(this.#e.setBool(e,t,r))}getBool(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getBool(e,t))}setInt(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,integer()),unpackResult(this.#e.setInt(e,t,r))}getInt(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getInt(e,t))}setFloat(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,number()),unpackResult(this.#e.setFloat(e,t,r))}getFloat(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getFloat(e,t))}setDouble(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,number()),unpackResult(this.#e.setDouble(e,t,r))}getDouble(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getDouble(e,t))}setString(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,string()),unpackResult(this.#e.setString(e,t,r))}getString(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getString(e,t))}setColor(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.setColor(e,t,ColorInternal.fromColor(r)))}getColor(e,t){return assert2("id",e,integer()),assert2("property",t,string()),ColorInternal.toColor(unpackResult(this.#e.getColor(e,t)))}setColorRGBA(e,t,r,o,n,s=1){return assert2("id",e,integer()),assert2("property",t,string()),assert2("r",r,number()),assert2("g",o,number()),assert2("b",n,number()),assert2("a",s,number()),unpackResult(this.#e.setColorRGBA(e,t,r,o,n,s))}getColorRGBA(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getColorRGBA(e,t))}setColorSpot(e,t,r,o=1){return assert2("id",e,integer()),assert2("property",t,string()),assert2("name",r,string()),assert2("tint",o,number()),unpackResult(this.#e.setColorSpot(e,t,r,o))}getColorSpotName(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getColorSpotName(e,t))}getColorSpotTint(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getColorSpotTint(e,t))}setGradientColorStops(e,t,r){assert2("id",e,integer()),assert2("property",t,string());const o=r.map((e=>({color:ColorInternal.fromColor(e.color),stop:e.stop})));return unpackResult(this.#e.setGradientColorStops(e,t,o))}getGradientColorStops(e,t){assert2("id",e,integer()),assert2("property",t,string());const r=unpackResult(this.#e.getGradientColorStops(e,t));return cppVectorToArray_default(r).map((e=>({color:ColorInternal.toColor(e.color),stop:e.stop})))}getSourceSet(e,t){return assert2("id",e,integer()),assert2("property",t,string()),cppVectorToArray_default(unpackResult(this.#e.getSourceSet(e,t)))}setSourceSet(e,t,r){assert2("id",e,integer()),assert2("property",t,string()),assert2("sourceSet",r,array(object({uri:string(),width:number(),height:number()}))),unpackResult(this.#e.setSourceSet(e,t,r))}setEnum(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,string()),unpackResult(this.#e.setEnum(e,t,r))}getEnum(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getEnum(e,t))}hasCrop(e){return assert2("id",e,integer()),unpackResult(this.#e.hasCrop(e))}setCropScaleX(e,t){return assert2("id",e,integer()),assert2("scaleX",t,number()),unpackResult(this.#e.setCropScaleX(e,t))}setCropScaleY(e,t){return assert2("id",e,integer()),assert2("scaleY",t,number()),unpackResult(this.#e.setCropScaleY(e,t))}setCropRotation(e,t){return assert2("id",e,integer()),assert2("rotation",t,number()),unpackResult(this.#e.setCropRotation(e,t))}setCropScaleRatio(e,t){return assert2("id",e,integer()),assert2("scaleRatio",t,number()),unpackResult(this.#e.setCropScaleRatio(e,t))}setCropTranslationX(e,t){return assert2("id",e,integer()),assert2("translationX",t,number()),unpackResult(this.#e.setCropTranslationX(e,t))}setCropTranslationY(e,t){return assert2("id",e,integer()),assert2("translationY",t,number()),unpackResult(this.#e.setCropTranslationY(e,t))}resetCrop(e){return assert2("id",e,integer()),unpackResult(this.#e.resetCrop(e))}getCropScaleX(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropScaleX(e))}getCropScaleY(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropScaleY(e))}getCropRotation(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropRotation(e))}getCropScaleRatio(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropScaleRatio(e))}getCropTranslationX(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropTranslationX(e))}getCropTranslationY(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropTranslationY(e))}adjustCropToFillFrame(e,t){return assert2("id",e,integer()),assert2("minScaleRatio",t,number()),unpackResult(this.#e.adjustCropToFillFrame(e,t))}flipCropHorizontal(e){return assert2("id",e,integer()),unpackResult(this.#e.flipCropHorizontal(e))}flipCropVertical(e){return assert2("id",e,integer()),unpackResult(this.#e.flipCropVertical(e))}hasOpacity(e){return assert2("id",e,integer()),unpackResult(this.#e.hasOpacity(e))}setOpacity(e,t){return assert2("id",e,integer()),assert2("opacity",t,number()),unpackResult(this.#e.setOpacity(e,t))}getOpacity(e){return assert2("id",e,integer()),unpackResult(this.#e.getOpacity(e))}hasBlendMode(e){return assert2("id",e,integer()),unpackResult(this.#e.hasBlendMode(e))}setBlendMode(e,t){return assert2("id",e,integer()),assert2("blendMode",t,string()),unpackResult(this.#e.setBlendMode(e,t))}getBlendMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getBlendMode(e))}hasFillColor(e){return assert2("id",e,integer()),unpackResult(this.#e.hasFillColor(e))}isIncludedInExport(e){return assert2("id",e,integer()),unpackResult(this.#e.isIncludedInExport(e))}setIncludedInExport(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setIncludedInExport(e,t))}setFillColorRGBA(e,t,r,o,n=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setFillColorRGBA(e,t,r,o,n))}getFillColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getFillColorRGBA(e))}setFillColorEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setFillColorEnabled(e,t))}isFillColorEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isFillColorEnabled(e))}createEffect(e){return assert2("type",e,string()),unpackResult(this.#e.createEffect(e))}hasEffects(e){return assert2("id",e,integer()),unpackResult(this.#e.hasEffects(e))}getEffects(e){assert2("id",e,integer());const t=unpackResult(this.#e.getEffects(e));return cppVectorToArray_default(t)}insertEffect(e,t,r){assert2("id",e,integer()),assert2("effectId",t,integer()),assert2("index",r,min(integer(),0)),unpackResult(this.#e.insertEffect(e,t,r))}appendEffect(e,t){assert2("id",e,integer()),assert2("effectId",t,integer()),unpackResult(this.#e.appendEffect(e,t))}removeEffect(e,t){assert2("id",e,integer()),assert2("index",t,min(integer(),0)),unpackResult(this.#e.removeEffect(e,t))}hasEffectEnabled(e){return assert2("effectId",e,integer()),unpackResult(this.#e.hasEffectEnabled(e))}setEffectEnabled(e,t){assert2("effectId",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setEffectEnabled(e,t))}isEffectEnabled(e){return assert2("effectId",e,integer()),unpackResult(this.#e.isEffectEnabled(e))}createBlur(e){return assert2("type",e,string()),unpackResult(this.#e.createBlur(e))}hasBlur(e){return assert2("id",e,integer()),unpackResult(this.#e.hasBlur(e))}setBlur(e,t){assert2("id",e,integer()),assert2("blurId",t,integer()),unpackResult(this.#e.setBlur(e,t))}getBlur(e){return assert2("id",e,integer()),unpackResult(this.#e.getBlur(e))}setBlurEnabled(e,t){assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setBlurEnabled(e,t))}isBlurEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isBlurEnabled(e))}hasBackgroundColor(e){return assert2("id",e,integer()),unpackResult(this.#e.hasBackgroundColor(e))}setBackgroundColorRGBA(e,t,r,o,n=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setBackgroundColorRGBA(e,t,r,o,n))}getBackgroundColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getBackgroundColorRGBA(e))}setBackgroundColorEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setBackgroundColorEnabled(e,t))}isBackgroundColorEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isBackgroundColorEnabled(e))}hasStroke(e){return assert2("id",e,integer()),unpackResult(this.#e.hasStroke(e))}setStrokeEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setStrokeEnabled(e,t))}isStrokeEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isStrokeEnabled(e))}setStrokeColorRGBA(e,t,r,o,n=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setStrokeColorRGBA(e,t,r,o,n))}setStrokeColor(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokeColor(e,ColorInternal.fromColor(t)))}getStrokeColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getStrokeColorRGBA(e))}getStrokeColor(e){return assert2("id",e,integer()),ColorInternal.toColor(unpackResult(this.#e.getStrokeColor(e)))}setStrokeWidth(e,t){return assert2("id",e,integer()),assert2("width",t,number()),unpackResult(this.#e.setStrokeWidth(e,t))}getStrokeWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getStrokeWidth(e))}setStrokeStyle(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokeStyle(e,t))}getStrokeStyle(e){assert2("id",e,integer());return unpackResult(this.#e.getStrokeStyle(e))}setStrokePosition(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokePosition(e,t))}getStrokePosition(e){assert2("id",e,integer());return unpackResult(this.#e.getStrokePosition(e))}setStrokeCornerGeometry(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokeCornerGeometry(e,t))}getStrokeCornerGeometry(e){assert2("id",e,integer());return unpackResult(this.#e.getStrokeCornerGeometry(e))}hasDropShadow(e){return assert2("id",e,integer()),unpackResult(this.#e.hasDropShadow(e))}setDropShadowEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setDropShadowEnabled(e,t))}isDropShadowEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isDropShadowEnabled(e))}setDropShadowColorRGBA(e,t,r,o,n=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setDropShadowColorRGBA(e,t,r,o,n))}setDropShadowColor(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setDropShadowColor(e,ColorInternal.fromColor(t)))}getDropShadowColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowColorRGBA(e))}getDropShadowColor(e){return assert2("id",e,integer()),ColorInternal.toColor(unpackResult(this.#e.getDropShadowColor(e)))}setDropShadowOffsetX(e,t){return assert2("id",e,integer()),assert2("offsetX",t,number()),unpackResult(this.#e.setDropShadowOffsetX(e,t))}getDropShadowOffsetX(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowOffsetX(e))}setDropShadowOffsetY(e,t){return assert2("id",e,integer()),assert2("offsetY",t,number()),unpackResult(this.#e.setDropShadowOffsetY(e,t))}getDropShadowOffsetY(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowOffsetY(e))}setDropShadowBlurRadiusX(e,t){return assert2("id",e,integer()),assert2("blurRadiusX",t,number()),unpackResult(this.#e.setDropShadowBlurRadiusX(e,t))}getDropShadowBlurRadiusX(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowBlurRadiusX(e))}setDropShadowBlurRadiusY(e,t){return assert2("id",e,integer()),assert2("blurRadiusY",t,number()),unpackResult(this.#e.setDropShadowBlurRadiusY(e,t))}getDropShadowBlurRadiusY(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowBlurRadiusY(e))}setDropShadowClip(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setDropShadowClip(e,t))}getDropShadowClip(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowClip(e))}createCutoutFromBlocks(e,t=2,r=4){return assert2("ids",e,array(integer())),assert2("vectorizeDistanceThreshold",t,number()),assert2("maxSmoothingDistance",r,number()),unpackResult(this.#e.createCutoutFromBlocks(e,t,r))}createCutoutFromPath(e){return assert2("path",e,string()),unpackResult(this.#e.createCutoutFromPath(e))}createCutoutFromOperation(e,t){return assert2("ids",e,array(integer())),assert2("op",t,cutoutOperationShape()),unpackResult(this.#e.createCutoutFromOperation(e,t))}replaceText(e,t,r=-1,o=-1){assert2("id",e,integer()),assert2("text",t,string()),assert2("from",r,integer()),assert2("to",o,integer()),unpackResult(this.#e.replaceText(e,t,r,o))}removeText(e,t=-1,r=-1){assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),unpackResult(this.#e.removeText(e,t,r))}setTextColor(e,t,r=-1,o=-1){assert2("id",e,integer()),assert2("from",r,integer()),assert2("to",o,integer()),unpackResult(this.#e.setTextColor(e,ColorInternal.fromColor(t),r,o))}getTextColors(e,t=-1,r=-1){assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer());const o=this.#e.getTextColors(e,t,r);return cppVectorToArray_default(unpackResult(o)).map((e=>ColorInternal.toColor(e)))}getTextFontWeights(e,t=-1,r=-1){return assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),cppVectorToArray_default(unpackResult(this.#e.getTextFontWeights(e,t,r)))}getTextFontStyles(e,t=-1,r=-1){return assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),cppVectorToArray_default(unpackResult(this.#e.getTextFontStyles(e,t,r)))}getTextCases(e,t=-1,r=-1){return assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),cppVectorToArray_default(unpackResult(this.#e.getTextCases(e,t,r)))}setTextCase(e,t,r=-1,o=-1){assert2("id",e,integer()),assert2("textCase",t,string()),assert2("from",r,integer()),assert2("to",o,integer()),unpackResult(this.#e.setTextCase(e,t,r,o))}canToggleBoldFont(e,t=-1,r=-1){return assert2("id",e,integer()),unpackResult(this.#e.canToggleBoldFont(e,t,r))}canToggleItalicFont(e,t=-1,r=-1){return assert2("id",e,integer()),unpackResult(this.#e.canToggleItalicFont(e,t,r))}toggleBoldFont(e,t=-1,r=-1){assert2("id",e,integer()),unpackResult(this.#e.toggleBoldFont(e,t,r))}toggleItalicFont(e,t=-1,r=-1){assert2("id",e,integer()),unpackResult(this.#e.toggleItalicFont(e,t,r))}setFont(e,t,r){assert2("block",e,integer()),assert2("fontFileUri",t,string()),unpackResult(this.#e.setFont(e,t,r))}getTypeface(e){return assert2("block",e,integer()),unpackResult(this.#e.getTypeface(e))}getTextCursorRange(){return unpackResult(this.#e.getTextCursorRange())}hasFill(e){return assert2("id",e,integer()),unpackResult(this.#e.hasFill(e))}isFillEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isFillEnabled(e))}setFillEnabled(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setFillEnabled(e,t))}getFill(e){return assert2("id",e,integer()),unpackResult(this.#e.getFill(e))}setFill(e,t){return assert2("id",e,integer()),assert2("fill",t,integer()),unpackResult(this.#e.setFill(e,t))}setFillSolidColor(e,t,r,o,n=1){assert2("id",e,integer()),unpackResult(this.#e.setFillSolidColor(e,t,r,o,n))}getFillSolidColor(e){return assert2("id",e,integer()),unpackResult(this.#e.getFillSolidColor(e))}setPlaceholderEnabled(e,t){assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaceholderEnabled(e,t))}isPlaceholderEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderEnabled(e))}hasPlaceholderBehavior(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaceholderBehavior(e))}setPlaceholderBehaviorEnabled(e,t){assert2("id",e,integer()),unpackResult(this.#e.setPlaceholderBehaviorEnabled(e,t))}isPlaceholderBehaviorEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderBehaviorEnabled(e))}hasPlaceholderControls(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaceholderControls(e))}setPlaceholderControlsOverlayEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaceholderControlsOverlayEnabled(e,t))}isPlaceholderControlsOverlayEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderControlsOverlayEnabled(e))}setPlaceholderControlsButtonEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaceholderControlsButtonEnabled(e,t))}isPlaceholderControlsButtonEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderControlsButtonEnabled(e))}setMetadata(e,t,r){assert2("id",e,integer()),assert2("key",t,string()),assert2("value",r,string()),unpackResult(this.#e.setMetadata(e,t,r))}getMetadata(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.getMetadata(e,t))}hasMetadata(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.hasMetadata(e,t))}findAllMetadata(e){return assert2("id",e,integer()),cppVectorToArray_default(unpackResult(this.#e.findAllMetadata(e)))}removeMetadata(e,t){assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.removeMetadata(e,t))}setScopeEnabled(e,t,r){assert2("id",e,integer()),assert2("key",t,string()),assert2("enabled",r,boolean()),unpackResult(this.#e.setScopeEnabled(e,t,r))}isScopeEnabled(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.isScopeEnabled(e,t))}isAllowedByScope(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.isAllowedByScope(e,t))}hasDuration(e){return assert2("id",e,integer()),unpackResult(this.#e.hasDuration(e))}setDuration(e,t){return assert2("id",e,integer()),assert2("duration",t,number()),unpackResult(this.#e.setDuration(e,t))}getDuration(e){return assert2("id",e,integer()),unpackResult(this.#e.getDuration(e))}hasTimeOffset(e){return assert2("id",e,integer()),unpackResult(this.#e.hasTimeOffset(e))}setTimeOffset(e,t){return assert2("id",e,integer()),assert2("offset",t,number()),unpackResult(this.#e.setTimeOffset(e,t))}getTimeOffset(e){return assert2("id",e,integer()),unpackResult(this.#e.getTimeOffset(e))}hasTrim(e){return assert2("id",e,integer()),unpackResult(this.#e.hasTrim(e))}setTrimOffset(e,t){return assert2("id",e,integer()),assert2("offset",t,number()),unpackResult(this.#e.setTrimOffset(e,t))}getTrimOffset(e){return assert2("id",e,integer()),unpackResult(this.#e.getTrimOffset(e))}setTrimLength(e,t){return assert2("id",e,integer()),assert2("length",t,number()),unpackResult(this.#e.setTrimLength(e,t))}getTrimLength(e){return assert2("id",e,integer()),unpackResult(this.#e.getTrimLength(e))}getTotalSceneDuration(e){return assert2("scene",e,integer()),unpackResult(this.#e.getTotalSceneDuration(e))}setPlaying(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaying(e,t))}isPlaying(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaying(e))}hasPlaybackTime(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaybackTime(e))}setPlaybackTime(e,t){return assert2("id",e,integer()),assert2("time",t,number()),unpackResult(this.#e.setPlaybackTime(e,t))}getPlaybackTime(e){return assert2("id",e,integer()),unpackResult(this.#e.getPlaybackTime(e))}isVisibleAtCurrentPlaybackTime(e){return assert2("id",e,integer()),unpackResult(this.#e.isVisibleAtCurrentPlaybackTime(e))}setSoloPlaybackEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setSoloPlaybackEnabled(e,t))}isSoloPlaybackEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isSoloPlaybackEnabled(e))}hasPlaybackControl(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaybackControl(e))}setLooping(e,t){assert2("id",e,integer()),assert2("looping",t,boolean()),unpackResult(this.#e.setLooping(e,t))}isLooping(e){return assert2("id",e,integer()),unpackResult(this.#e.isLooping(e))}setMuted(e,t){assert2("id",e,integer()),assert2("muted",t,boolean()),unpackResult(this.#e.setMuted(e,t))}isMuted(e){return assert2("id",e,integer()),unpackResult(this.#e.isMuted(e))}setVolume(e,t){assert2("id",e,integer()),assert2("volume",t,number()),unpackResult(this.#e.setVolume(e,t))}getVolume(e){return assert2("id",e,integer()),unpackResult(this.#e.getVolume(e))}async forceLoadAVResource(e){return assert2("id",e,integer()),unpackAsync((t=>this.#e.forceLoadAVResource(e,t)))}unstable_isAVResourceLoaded(e){return assert2("id",e,integer()),unpackResult(this.#e.unstable_isAVResourceLoaded(e))}getAVResourceTotalDuration(e){return assert2("id",e,integer()),unpackResult(this.#e.getAVResourceTotalDuration(e))}getVideoWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getVideoWidth(e))}getVideoHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getVideoHeight(e))}generateVideoThumbnailSequence(e,t,r,o,n,s){return assert2("id",e,integer()),assert2("thumbnailHeight",t,integer()),assert2("timeBegin",r,number()),assert2("timeEnd",o,number()),assert2("numberOfFrames",n,integer()),this.#e.generateVideoThumbnailSequence(e,t,r,o,n,(e=>{"error"in e?s(0,new Error(e.error)):s(e.frameIndex,new ImageData(new Uint8ClampedArray(e.imageData),e.width,e.height))})),()=>{this.#e.cancelVideoThumbnailSequenceGeneration(e)}}generateAudioThumbnailSequence(e,t,r,o,n,s,a){return assert2("id",e,integer()),assert2("samplesPerChunk",t,integer()),assert2("timeBegin",r,number()),assert2("timeEnd",o,number()),assert2("numberOfSamples",n,integer()),assert2("numberOfChannels",s,integer()),this.#e.generateAudioThumbnailSequence(e,t,r,o,n,s,(e=>{"error"in e?a(0,new Error(e.error)):a(e.chunkIndex,e.sampleData)})),()=>{this.#e.cancelAudioThumbnailSequenceGeneration(e)}}async getVideoFillThumbnail(e,t){return assert2("id",e,integer()),assert2("thumbnailHeight",t,integer()),new Promise(((r,o)=>{this.#e.getVideoFillThumbnail(e,t,(e=>{"error"in e?o(e.error):r(new Blob_default([e],{type:"image/jpeg"}))}))}))}async getVideoFillThumbnailAtlas(e,t,r,o){return assert2("id",e,integer()),assert2("numberOfColumns",t,integer()),assert2("numberOfRows",r,integer()),assert2("thumbnailHeight",o,integer()),new Promise(((n,s)=>{this.#e.getVideoFillThumbnailAtlas(e,t,r,o,(e=>{"error"in e?s(e.error):n(new Blob_default([e],{type:"image/jpeg"}))}))}))}async getPageThumbnailAtlas(e,t,r,o){return assert2("id",e,integer()),assert2("numberOfColumns",t,integer()),assert2("numberOfRows",r,integer()),new Promise(((n,s)=>{this.#e.getPageThumbnailAtlas(e,t,r,o,(e=>{"error"in e?s(e.error):n(new Blob_default([e],{type:"image/jpeg"}))}))}))}setNativePixelBuffer(e,t){assert2("id",e,integer()),t instanceof HTMLVideoElement&&(t.width=t.videoWidth,t.height=t.videoHeight),unpackResult(this.#e.setNativePixelBuffer(e,t))}getState(e){return assert2("id",e,integer()),unpackResult(this.#e.getState(e))}setState(e,t){assert2("id",e,integer()),unpackResult(this.#e.setState(e,t))}onStateChanged=(e,t)=>{assert2("ids",e,array(integer()));const r=this.#e.subscribeToBlockState(e,(e=>{try{t(cppVectorToArray_default(e,!0))}catch(e){console.error(e)}}));return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(r))}}};__decorateClass([setter],BlockAPI.prototype,"loadFromString",1),__decorateClass([setter],BlockAPI.prototype,"create",1),__decorateClass([setter],BlockAPI.prototype,"createFill",1),__decorateClass([getter],BlockAPI.prototype,"getType",1),__decorateClass([setter],BlockAPI.prototype,"select",1),__decorateClass([setter],BlockAPI.prototype,"setSelected",1),__decorateClass([getter],BlockAPI.prototype,"isSelected",1),__decorateClass([getter],BlockAPI.prototype,"findAllSelected",1),__decorateClass([getter],BlockAPI.prototype,"isGroupable",1),__decorateClass([setter],BlockAPI.prototype,"group",1),__decorateClass([setter],BlockAPI.prototype,"ungroup",1),__decorateClass([setter],BlockAPI.prototype,"enterGroup",1),__decorateClass([setter],BlockAPI.prototype,"exitGroup",1),__decorateClass([getter],BlockAPI.prototype,"isCombinable",1),__decorateClass([setter],BlockAPI.prototype,"combine",1),__decorateClass([setter],BlockAPI.prototype,"setName",1),__decorateClass([getter],BlockAPI.prototype,"getName",1),__decorateClass([getter],BlockAPI.prototype,"getUUID",1),__decorateClass([getter],BlockAPI.prototype,"findByName",1),__decorateClass([getter],BlockAPI.prototype,"findByType",1),__decorateClass([getter],BlockAPI.prototype,"findAll",1),__decorateClass([getter],BlockAPI.prototype,"findAllPlaceholders",1),__decorateClass([setter],BlockAPI.prototype,"createShape",1),__decorateClass([getter],BlockAPI.prototype,"hasShape",1),__decorateClass([getter],BlockAPI.prototype,"getShape",1),__decorateClass([setter],BlockAPI.prototype,"setShape",1),__decorateClass([getter],BlockAPI.prototype,"isVisible",1),__decorateClass([setter],BlockAPI.prototype,"setVisible",1),__decorateClass([getter],BlockAPI.prototype,"isClipped",1),__decorateClass([setter],BlockAPI.prototype,"setClipped",1),__decorateClass([getter],BlockAPI.prototype,"isTransformLocked",1),__decorateClass([setter],BlockAPI.prototype,"setTransformLocked",1),__decorateClass([getter],BlockAPI.prototype,"getPositionX",1),__decorateClass([getter],BlockAPI.prototype,"getPositionXMode",1),__decorateClass([getter],BlockAPI.prototype,"getPositionY",1),__decorateClass([getter],BlockAPI.prototype,"getPositionYMode",1),__decorateClass([setter],BlockAPI.prototype,"setPositionX",1),__decorateClass([setter],BlockAPI.prototype,"setPositionXMode",1),__decorateClass([setter],BlockAPI.prototype,"setPositionY",1),__decorateClass([setter],BlockAPI.prototype,"setPositionYMode",1),__decorateClass([setter],BlockAPI.prototype,"setAlwaysOnTop",1),__decorateClass([setter],BlockAPI.prototype,"setAlwaysOnBottom",1),__decorateClass([getter],BlockAPI.prototype,"isAlwaysOnTop",1),__decorateClass([getter],BlockAPI.prototype,"isAlwaysOnBottom",1),__decorateClass([setter],BlockAPI.prototype,"bringToFront",1),__decorateClass([setter],BlockAPI.prototype,"sendToBack",1),__decorateClass([setter],BlockAPI.prototype,"bringForward",1),__decorateClass([setter],BlockAPI.prototype,"sendBackward",1),__decorateClass([getter],BlockAPI.prototype,"getRotation",1),__decorateClass([setter],BlockAPI.prototype,"setRotation",1),__decorateClass([getter],BlockAPI.prototype,"getFlipHorizontal",1),__decorateClass([getter],BlockAPI.prototype,"getFlipVertical",1),__decorateClass([setter],BlockAPI.prototype,"setFlipHorizontal",1),__decorateClass([setter],BlockAPI.prototype,"setFlipVertical",1),__decorateClass([getter],BlockAPI.prototype,"hasContentFillMode",1),__decorateClass([getter],BlockAPI.prototype,"getWidth",1),__decorateClass([getter],BlockAPI.prototype,"getWidthMode",1),__decorateClass([getter],BlockAPI.prototype,"getHeight",1),__decorateClass([getter],BlockAPI.prototype,"getHeightMode",1),__decorateClass([setter],BlockAPI.prototype,"setWidth",1),__decorateClass([setter],BlockAPI.prototype,"setWidthMode",1),__decorateClass([setter],BlockAPI.prototype,"setHeight",1),__decorateClass([setter],BlockAPI.prototype,"setHeightMode",1),__decorateClass([getter],BlockAPI.prototype,"getFrameX",1),__decorateClass([getter],BlockAPI.prototype,"getFrameY",1),__decorateClass([getter],BlockAPI.prototype,"getFrameWidth",1),__decorateClass([getter],BlockAPI.prototype,"getFrameHeight",1),__decorateClass([setter],BlockAPI.prototype,"setContentFillMode",1),__decorateClass([getter],BlockAPI.prototype,"getContentFillMode",1),__decorateClass([setter],BlockAPI.prototype,"duplicate",1),__decorateClass([setter],BlockAPI.prototype,"destroy",1),__decorateClass([getter],BlockAPI.prototype,"isValid",1),__decorateClass([getter],BlockAPI.prototype,"getParent",1),__decorateClass([getter],BlockAPI.prototype,"getChildren",1),__decorateClass([setter],BlockAPI.prototype,"insertChild",1),__decorateClass([setter],BlockAPI.prototype,"appendChild",1),__decorateClass([getter],BlockAPI.prototype,"referencesAnyVariables",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxX",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxY",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxWidth",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxHeight",1),__decorateClass([getter],BlockAPI.prototype,"getScreenSpaceBoundingBoxXYWH",1),__decorateClass([setter],BlockAPI.prototype,"alignHorizontally",1),__decorateClass([setter],BlockAPI.prototype,"alignVertically",1),__decorateClass([getter],BlockAPI.prototype,"isAlignable",1),__decorateClass([setter],BlockAPI.prototype,"distributeHorizontally",1),__decorateClass([setter],BlockAPI.prototype,"distributeVertically",1),__decorateClass([setter],BlockAPI.prototype,"isDistributable",1),__decorateClass([setter],BlockAPI.prototype,"fillParent",1),__decorateClass([setter],BlockAPI.prototype,"resizeContentAware",1),__decorateClass([setter],BlockAPI.prototype,"scale",1),__decorateClass([getter],BlockAPI.prototype,"findAllProperties",1),__decorateClass([getter],BlockAPI.prototype,"isPropertyReadable",1),__decorateClass([getter],BlockAPI.prototype,"isPropertyWritable",1),__decorateClass([getter],BlockAPI.prototype,"getPropertyType",1),__decorateClass([getter],BlockAPI.prototype,"getEnumValues",1),__decorateClass([setter],BlockAPI.prototype,"setBool",1),__decorateClass([getter],BlockAPI.prototype,"getBool",1),__decorateClass([setter],BlockAPI.prototype,"setInt",1),__decorateClass([getter],BlockAPI.prototype,"getInt",1),__decorateClass([setter],BlockAPI.prototype,"setFloat",1),__decorateClass([getter],BlockAPI.prototype,"getFloat",1),__decorateClass([setter],BlockAPI.prototype,"setDouble",1),__decorateClass([getter],BlockAPI.prototype,"getDouble",1),__decorateClass([setter],BlockAPI.prototype,"setString",1),__decorateClass([getter],BlockAPI.prototype,"getString",1),__decorateClass([setter],BlockAPI.prototype,"setColor",1),__decorateClass([getter],BlockAPI.prototype,"getColor",1),__decorateClass([setter],BlockAPI.prototype,"setColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setColorSpot",1),__decorateClass([getter],BlockAPI.prototype,"getColorSpotName",1),__decorateClass([getter],BlockAPI.prototype,"getColorSpotTint",1),__decorateClass([setter],BlockAPI.prototype,"setGradientColorStops",1),__decorateClass([getter],BlockAPI.prototype,"getGradientColorStops",1),__decorateClass([getter],BlockAPI.prototype,"getSourceSet",1),__decorateClass([setter],BlockAPI.prototype,"setSourceSet",1),__decorateClass([setter],BlockAPI.prototype,"setEnum",1),__decorateClass([getter],BlockAPI.prototype,"getEnum",1),__decorateClass([getter],BlockAPI.prototype,"hasCrop",1),__decorateClass([setter],BlockAPI.prototype,"setCropScaleX",1),__decorateClass([setter],BlockAPI.prototype,"setCropScaleY",1),__decorateClass([setter],BlockAPI.prototype,"setCropRotation",1),__decorateClass([setter],BlockAPI.prototype,"setCropScaleRatio",1),__decorateClass([setter],BlockAPI.prototype,"setCropTranslationX",1),__decorateClass([setter],BlockAPI.prototype,"setCropTranslationY",1),__decorateClass([setter],BlockAPI.prototype,"resetCrop",1),__decorateClass([getter],BlockAPI.prototype,"getCropScaleX",1),__decorateClass([getter],BlockAPI.prototype,"getCropScaleY",1),__decorateClass([getter],BlockAPI.prototype,"getCropRotation",1),__decorateClass([getter],BlockAPI.prototype,"getCropScaleRatio",1),__decorateClass([getter],BlockAPI.prototype,"getCropTranslationX",1),__decorateClass([getter],BlockAPI.prototype,"getCropTranslationY",1),__decorateClass([setter],BlockAPI.prototype,"adjustCropToFillFrame",1),__decorateClass([setter],BlockAPI.prototype,"flipCropHorizontal",1),__decorateClass([setter],BlockAPI.prototype,"flipCropVertical",1),__decorateClass([getter],BlockAPI.prototype,"hasOpacity",1),__decorateClass([setter],BlockAPI.prototype,"setOpacity",1),__decorateClass([getter],BlockAPI.prototype,"getOpacity",1),__decorateClass([getter],BlockAPI.prototype,"hasBlendMode",1),__decorateClass([setter],BlockAPI.prototype,"setBlendMode",1),__decorateClass([getter],BlockAPI.prototype,"getBlendMode",1),__decorateClass([getter],BlockAPI.prototype,"hasFillColor",1),__decorateClass([getter],BlockAPI.prototype,"isIncludedInExport",1),__decorateClass([setter],BlockAPI.prototype,"setIncludedInExport",1),__decorateClass([setter],BlockAPI.prototype,"setFillColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getFillColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setFillColorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isFillColorEnabled",1),__decorateClass([setter],BlockAPI.prototype,"createEffect",1),__decorateClass([getter],BlockAPI.prototype,"hasEffects",1),__decorateClass([getter],BlockAPI.prototype,"getEffects",1),__decorateClass([setter],BlockAPI.prototype,"insertEffect",1),__decorateClass([setter],BlockAPI.prototype,"appendEffect",1),__decorateClass([setter],BlockAPI.prototype,"removeEffect",1),__decorateClass([getter],BlockAPI.prototype,"hasEffectEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setEffectEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isEffectEnabled",1),__decorateClass([setter],BlockAPI.prototype,"createBlur",1),__decorateClass([getter],BlockAPI.prototype,"hasBlur",1),__decorateClass([setter],BlockAPI.prototype,"setBlur",1),__decorateClass([getter],BlockAPI.prototype,"getBlur",1),__decorateClass([setter],BlockAPI.prototype,"setBlurEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isBlurEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasBackgroundColor",1),__decorateClass([setter],BlockAPI.prototype,"setBackgroundColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getBackgroundColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setBackgroundColorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isBackgroundColorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasStroke",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isStrokeEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeColor",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeColor",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeWidth",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeWidth",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeStyle",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeStyle",1),__decorateClass([setter],BlockAPI.prototype,"setStrokePosition",1),__decorateClass([getter],BlockAPI.prototype,"getStrokePosition",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeCornerGeometry",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeCornerGeometry",1),__decorateClass([getter],BlockAPI.prototype,"hasDropShadow",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isDropShadowEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowColor",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowColor",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowOffsetX",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowOffsetX",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowOffsetY",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowOffsetY",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowBlurRadiusX",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowBlurRadiusX",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowBlurRadiusY",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowBlurRadiusY",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowClip",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowClip",1),__decorateClass([setter],BlockAPI.prototype,"createCutoutFromBlocks",1),__decorateClass([setter],BlockAPI.prototype,"createCutoutFromPath",1),__decorateClass([setter],BlockAPI.prototype,"createCutoutFromOperation",1),__decorateClass([setter],BlockAPI.prototype,"replaceText",1),__decorateClass([setter],BlockAPI.prototype,"removeText",1),__decorateClass([setter],BlockAPI.prototype,"setTextColor",1),__decorateClass([getter],BlockAPI.prototype,"getTextColors",1),__decorateClass([getter],BlockAPI.prototype,"getTextFontWeights",1),__decorateClass([getter],BlockAPI.prototype,"getTextFontStyles",1),__decorateClass([getter],BlockAPI.prototype,"getTextCases",1),__decorateClass([setter],BlockAPI.prototype,"setTextCase",1),__decorateClass([setter],BlockAPI.prototype,"setFont",1),__decorateClass([getter],BlockAPI.prototype,"getTypeface",1),__decorateClass([getter],BlockAPI.prototype,"getTextCursorRange",1),__decorateClass([getter],BlockAPI.prototype,"hasFill",1),__decorateClass([getter],BlockAPI.prototype,"isFillEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setFillEnabled",1),__decorateClass([getter],BlockAPI.prototype,"getFill",1),__decorateClass([setter],BlockAPI.prototype,"setFill",1),__decorateClass([setter],BlockAPI.prototype,"setFillSolidColor",1),__decorateClass([getter],BlockAPI.prototype,"getFillSolidColor",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaceholderBehavior",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderBehaviorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderBehaviorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaceholderControls",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderControlsOverlayEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderControlsOverlayEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderControlsButtonEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderControlsButtonEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setMetadata",1),__decorateClass([getter],BlockAPI.prototype,"getMetadata",1),__decorateClass([getter],BlockAPI.prototype,"hasMetadata",1),__decorateClass([getter],BlockAPI.prototype,"findAllMetadata",1),__decorateClass([setter],BlockAPI.prototype,"removeMetadata",1),__decorateClass([setter],BlockAPI.prototype,"setScopeEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isScopeEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isAllowedByScope",1),__decorateClass([getter],BlockAPI.prototype,"hasDuration",1),__decorateClass([setter],BlockAPI.prototype,"setDuration",1),__decorateClass([getter],BlockAPI.prototype,"getDuration",1),__decorateClass([getter],BlockAPI.prototype,"hasTimeOffset",1),__decorateClass([setter],BlockAPI.prototype,"setTimeOffset",1),__decorateClass([getter],BlockAPI.prototype,"getTimeOffset",1),__decorateClass([getter],BlockAPI.prototype,"hasTrim",1),__decorateClass([setter],BlockAPI.prototype,"setTrimOffset",1),__decorateClass([getter],BlockAPI.prototype,"getTrimOffset",1),__decorateClass([setter],BlockAPI.prototype,"setTrimLength",1),__decorateClass([getter],BlockAPI.prototype,"getTrimLength",1),__decorateClass([getter],BlockAPI.prototype,"getTotalSceneDuration",1),__decorateClass([setter],BlockAPI.prototype,"setPlaying",1),__decorateClass([getter],BlockAPI.prototype,"isPlaying",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaybackTime",1),__decorateClass([setter],BlockAPI.prototype,"setPlaybackTime",1),__decorateClass([getter],BlockAPI.prototype,"getPlaybackTime",1),__decorateClass([getter],BlockAPI.prototype,"isVisibleAtCurrentPlaybackTime",1),__decorateClass([setter],BlockAPI.prototype,"setSoloPlaybackEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isSoloPlaybackEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaybackControl",1),__decorateClass([setter],BlockAPI.prototype,"setLooping",1),__decorateClass([getter],BlockAPI.prototype,"isLooping",1),__decorateClass([setter],BlockAPI.prototype,"setMuted",1),__decorateClass([getter],BlockAPI.prototype,"isMuted",1),__decorateClass([setter],BlockAPI.prototype,"setVolume",1),__decorateClass([getter],BlockAPI.prototype,"getVolume",1),__decorateClass([setter],BlockAPI.prototype,"forceLoadAVResource",1),__decorateClass([getter],BlockAPI.prototype,"unstable_isAVResourceLoaded",1),__decorateClass([getter],BlockAPI.prototype,"getAVResourceTotalDuration",1),__decorateClass([getter],BlockAPI.prototype,"getVideoWidth",1),__decorateClass([getter],BlockAPI.prototype,"getVideoHeight",1),__decorateClass([getter],BlockAPI.prototype,"getVideoFillThumbnail",1),__decorateClass([getter],BlockAPI.prototype,"getVideoFillThumbnailAtlas",1),__decorateClass([getter],BlockAPI.prototype,"getPageThumbnailAtlas",1),__decorateClass([getter],BlockAPI.prototype,"getState",1),__decorateClass([setter],BlockAPI.prototype,"setState",1);var APIFALLBACK_TYPEFACES_SOURCE_ID="apiFallbackTypefaces";function migrateConfigObject(e){var t;return e&&"callbacks"in e&&(null==(t=e.callbacks)?void 0:t.log)&&!e.logger?{...e,logger:e.callbacks.log}:e}function apiFallback(e,t){var r,o,n,s,a,i,u,l,c;if(e)try{const d=t.editor,p=t.asset;if(null!=(null==(o=null==(r=e.page)?void 0:r.title)?void 0:o.show)&&d.setSettingBool("page/title/show",e.page.title.show),null!=(null==(s=null==(n=e.page)?void 0:n.title)?void 0:s.fontFileUri)&&d.setSettingString("page/title/fontFileUri",null==(i=null==(a=e.page)?void 0:a.title)?void 0:i.fontFileUri),null!=(null==(u=e.page)?void 0:u.dimOutOfPageAreas)&&d.setSettingBool("page/dimOutOfPageAreas",null==(l=e.page)?void 0:l.dimOutOfPageAreas),e.variables)for(const r in e.variables)if(Object.prototype.hasOwnProperty.call(e.variables,r)){const o=e.variables[r];t.variable.setString(r,String(o.value))}if(null==(c=e.presets)?void 0:c.typefaces){p.addLocalSource(APIFALLBACK_TYPEFACES_SOURCE_ID);for(const[t,r]of Object.entries(e.presets.typefaces))p.addAssetToSource(APIFALLBACK_TYPEFACES_SOURCE_ID,{id:t,payload:{typeface:{name:r.family,fonts:r.fonts.map((e=>({subFamily:`${e.weight} ${e.style}`,style:e.style,uri:e.fontURL,weight:e.weight})))}}})}}catch(e){console.error(e)}}function warnKeys(e){var t,r;const o=[];return e?("callbacks"in e&&(null==(t=e.callbacks)?void 0:t.log)&&o.push("config.callbacks.log has been moved to config.logger"),e.scene&&o.push("config.scene options have been removed. You can set a scene's dpi and pixelScaleFactor via the BlockApi's setInt(sceneId, 'scene/dpi', dpi) and setInt(sceneId, 'scene/pixelScaleFactor', factor)."),e.page&&o.push("config.page options have been moved to the EditorAPI"),e.variables&&o.push("config.variables has been removed. Please use the VariableAPI instead"),(null==(r=e.presets)?void 0:r.typefaces)&&o.push("config.presets.typefaces has been removed. Please use the AssetAPI to add typefaces instead and use `ui.typefaceLibraries` to populate the typeface selection dropdown in the UI."),o):o}var EditorAPI=class{#e;constructor(e){this.#e=e}unlockWithLicense(e){unpackResult(this.#e.unlockWithLicense(e))}startTracking(e,t){this.#e.startTracking(e,t,"")}setTrackingMetadata(e){this.#e.setTrackingMetadata(e)}getTrackingMetadata(){return unpackResult(this.#e.getTrackingMetadata())}getActiveLicense(){return unpackResult(this.#e.getActiveLicense())}onStateChanged=e=>{const t=this.#e.subscribeToEditorState(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};setEditMode(e){assert2("keypath",e,string()),this.#e.setEditMode(e)}getEditMode(){return this.#e.getEditMode()}getCursorType(){return this.#e.getCursorType()}getCursorRotation(){return this.#e.getCursorRotation()}getTextCursorPositionInScreenSpaceX(){return this.#e.getTextCursorPositionInScreenSpaceX()}getTextCursorPositionInScreenSpaceY(){return this.#e.getTextCursorPositionInScreenSpaceY()}createHistory(){return this.#e.createHistory()}destroyHistory(e){unpackResult(this.#e.destroyHistory(e))}setActiveHistory(e){unpackResult(this.#e.setActiveHistory(e))}getActiveHistory(){return this.#e.getActiveHistory()}addUndoStep(){unpackResult(this.#e.addUndoStep())}undo(){unpackResult(this.#e.undo())}redo(){unpackResult(this.#e.redo())}canUndo(){return unpackResult(this.#e.canUndo())}canRedo(){return unpackResult(this.#e.canRedo())}onHistoryUpdated=e=>{const t=this.#e.subscribeToHistory(e);return()=>{this.#e.isDeleted()||this.#e.unsubscribe(t)}};onSettingsChanged=e=>{const t=this.#e.subscribeToSettings(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onRoleChanged=e=>{const t=this.#e.subscribeToRoleChange(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};setSettingBool(e,t){return assert2("keypath",e,string()),assert2("value",t,boolean()),unpackResult(this.#e.setSettingBool(e,t))}getSettingBool(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingBool(e))}setSettingInt(e,t){return assert2("keypath",e,string()),assert2("value",t,integer()),unpackResult(this.#e.setSettingInt(e,t))}getSettingInt(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingInt(e))}setSettingFloat(e,t){return assert2("keypath",e,string()),assert2("value",t,number()),unpackResult(this.#e.setSettingFloat(e,t))}getSettingFloat(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingFloat(e))}setSettingString(e,t){return assert2("keypath",e,string()),assert2("value",t,string()),unpackResult(this.#e.setSettingString(e,t))}getSettingString(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingString(e))}setSettingColor(e,t){return assert2("keypath",e,string()),unpackResult(this.#e.setSettingColor(e,ColorInternal.fromColor(t)))}getSettingColor(e){return assert2("keypath",e,string()),ColorInternal.toColor(unpackResult(this.#e.getSettingColor(e)))}setSettingColorRGBA(e,t,r,o,n=1){return assert2("keypath",e,string()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setSettingColorRGBA(e,t,r,o,n))}getSettingColorRGBA(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingColorRGBA(e))}setSettingEnum(e,t){return assert2("keypath",e,string()),assert2("value",t,string()),unpackResult(this.#e.setSettingEnum(e,t))}getSettingEnum(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingEnum(e))}getSettingEnumOptions(e){return assert2("keypath",e,string()),cppVectorToArray_default(unpackResult(this.#e.getSettingEnumOptions(e)))}setRole(e){return unpackResult(this.#e.setRole(e))}getRole(){return unpackResult(this.#e.getRole())}findAllSettings(){return cppVectorToArray_default(this.#e.findAllSettings())}getSettingType(e){assert2("keypath",e,string());return unpackResult(this.#e.getSettingType(e))}getAvailableMemory(){return unpackResult(this.#e.getAvailableMemory())}getUsedMemory(){return unpackResult(this.#e.getUsedMemory())}getMaxExportSize(){return unpackResult(this.#e.getMaxExportSize())}setURIResolver(e){return unpackResult(this.#e.setURIResolver(e))}defaultURIResolver(e){return this.#e.defaultURIResolver(e)}getAbsoluteURI(e){return unpackResult(this.#e.getAbsoluteURI(e))}findAllScopes(){return cppVectorToArray_default(this.#e.findAllScopes())}setGlobalScope(e,t){assert2("key",e,string()),assert2("value",t,string()),unpackResult(this.#e.setGlobalScope(e,t))}getGlobalScope(e){return assert2("key",e,string()),unpackResult(this.#e.getGlobalScope(e))}findAllSpotColors(){return cppVectorToArray_default(this.#e.findAllSpotColors())}getSpotColorRGBA(e){return assert2("name",e,string()),this.#e.getSpotColorRGB(e)}getSpotColorCMYK(e){return assert2("name",e,string()),this.#e.getSpotColorCMYK(e)}setSpotColorRGB(e,t,r,o){return assert2("name",e,string()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),this.#e.setSpotColorRGB(e,t,r,o)}setSpotColorCMYK(e,t,r,o,n){return assert2("name",e,string()),assert2("c",t,number()),assert2("m",r,number()),assert2("y",o,number()),assert2("k",n,number()),this.#e.setSpotColorCMYK(e,t,r,o,n)}removeSpotColor(e){return assert2("name",e,string()),unpackResult(this.#e.removeSpotColor(e))}setSpotColorForCutoutType(e,t){return assert2("type",e,string()),assert2("color",t,string()),unpackResult(this.#e.setSpotColorForCutoutType(e,t))}getSpotColorForCutoutType(e){return assert2("type",e,string()),unpackResult(this.#e.getSpotColorForCutoutType(e))}convertColorToColorSpace(e,t){return assert2("colorSpace",t,string()),ColorInternal.toColor(unpackResult(this.#e.convertColorToColorSpace(ColorInternal.fromColor(e),t)))}createBuffer(){return this.#e.createBuffer()}destroyBuffer(e){unpackResult(this.#e.destroyBuffer(e))}setBufferData(e,t,r){assert2("offset",t,integer()),unpackResult(this.#e.setBufferData(e,t,r))}getBufferData(e,t,r){assert2("offset",t,integer()),assert2("length",r,integer());const o=this.#e.getBufferData(e,t,r);if("error"in o)throw new Error(o.error);return o}setBufferLength(e,t){assert2("length",t,integer()),unpackResult(this.#e.setBufferLength(e,t))}getBufferLength(e){return unpackResult(this.#e.getBufferLength(e))}};__decorateClass([setter],EditorAPI.prototype,"setEditMode",1),__decorateClass([getter],EditorAPI.prototype,"getEditMode",1),__decorateClass([getter],EditorAPI.prototype,"getCursorType",1),__decorateClass([getter],EditorAPI.prototype,"getCursorRotation",1),__decorateClass([getter],EditorAPI.prototype,"getTextCursorPositionInScreenSpaceX",1),__decorateClass([getter],EditorAPI.prototype,"getTextCursorPositionInScreenSpaceY",1),__decorateClass([setter],EditorAPI.prototype,"createHistory",1),__decorateClass([setter],EditorAPI.prototype,"destroyHistory",1),__decorateClass([setter],EditorAPI.prototype,"setActiveHistory",1),__decorateClass([getter],EditorAPI.prototype,"getActiveHistory",1),__decorateClass([setter],EditorAPI.prototype,"addUndoStep",1),__decorateClass([setter],EditorAPI.prototype,"undo",1),__decorateClass([setter],EditorAPI.prototype,"redo",1),__decorateClass([getter],EditorAPI.prototype,"canUndo",1),__decorateClass([getter],EditorAPI.prototype,"canRedo",1),__decorateClass([setter],EditorAPI.prototype,"setSettingBool",1),__decorateClass([getter],EditorAPI.prototype,"getSettingBool",1),__decorateClass([setter],EditorAPI.prototype,"setSettingInt",1),__decorateClass([getter],EditorAPI.prototype,"getSettingInt",1),__decorateClass([setter],EditorAPI.prototype,"setSettingFloat",1),__decorateClass([getter],EditorAPI.prototype,"getSettingFloat",1),__decorateClass([setter],EditorAPI.prototype,"setSettingString",1),__decorateClass([getter],EditorAPI.prototype,"getSettingString",1),__decorateClass([setter],EditorAPI.prototype,"setSettingColor",1),__decorateClass([getter],EditorAPI.prototype,"getSettingColor",1),__decorateClass([setter],EditorAPI.prototype,"setSettingColorRGBA",1),__decorateClass([getter],EditorAPI.prototype,"getSettingColorRGBA",1),__decorateClass([setter],EditorAPI.prototype,"setSettingEnum",1),__decorateClass([getter],EditorAPI.prototype,"getSettingEnum",1),__decorateClass([setter],EditorAPI.prototype,"setRole",1),__decorateClass([getter],EditorAPI.prototype,"getRole",1),__decorateClass([getter],EditorAPI.prototype,"getAvailableMemory",1),__decorateClass([getter],EditorAPI.prototype,"getUsedMemory",1),__decorateClass([getter],EditorAPI.prototype,"getMaxExportSize",1),__decorateClass([setter],EditorAPI.prototype,"setURIResolver",1),__decorateClass([getter],EditorAPI.prototype,"defaultURIResolver",1),__decorateClass([getter],EditorAPI.prototype,"getAbsoluteURI",1),__decorateClass([getter],EditorAPI.prototype,"findAllScopes",1),__decorateClass([setter],EditorAPI.prototype,"setGlobalScope",1),__decorateClass([getter],EditorAPI.prototype,"getGlobalScope",1),__decorateClass([getter],EditorAPI.prototype,"findAllSpotColors",1),__decorateClass([getter],EditorAPI.prototype,"getSpotColorRGBA",1),__decorateClass([getter],EditorAPI.prototype,"getSpotColorCMYK",1),__decorateClass([setter],EditorAPI.prototype,"setSpotColorRGB",1),__decorateClass([setter],EditorAPI.prototype,"setSpotColorCMYK",1),__decorateClass([setter],EditorAPI.prototype,"removeSpotColor",1),__decorateClass([setter],EditorAPI.prototype,"setSpotColorForCutoutType",1),__decorateClass([setter],EditorAPI.prototype,"getSpotColorForCutoutType",1);var EventAPI=class{#e;constructor(e){this.#e=e}subscribe=(e,t)=>{assert2("blocks",e,array());const r=this.#e.subscribe(e,(e=>{try{t(cppVectorToArray_default(e,!0))}catch(e){console.error(e)}}));return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(r))}}},VariableAPI=class{#e;constructor(e){this.#e=e}findAll(){return cppVectorToArray_default(this.#e.findAllVariables())}setString(e,t){return assert2("key",e,string()),assert2("value",t,string()),unpackResult(this.#e.setVariableString(e,t))}getString(e){return assert2("key",e,string()),unpackResult(this.#e.getVariableString(e))}remove(e){return assert2("key",e,string()),unpackResult(this.#e.removeVariable(e))}};__decorateClass([getter],VariableAPI.prototype,"findAll",1),__decorateClass([setter],VariableAPI.prototype,"setString",1),__decorateClass([getter],VariableAPI.prototype,"getString",1),__decorateClass([setter],VariableAPI.prototype,"remove",1);var import_promises=__toESM(require("fs/promises")),import_url=require("url"),customFetch=findFetch();function findFetch(){if("undefined"!=typeof fetch)return fetch;if("undefined"!=typeof window)throw new Error("Could not find `fetch` API");try{return require("node-fetch")}catch{throw new Error("Could not find a `fetch` implementation. Please make sure you're using Node.JS >= 18, or install the node-fetch@cjs package, or provide another polyfill.")}}async function fetchJSON(e){if(!e.match(/^file:/))return customFetch(e);try{const t=await import_promises.default.readFile((0,import_url.fileURLToPath)(e),{encoding:"utf8"}),r=JSON.parse(t);return{ok:!0,json:async()=>r}}catch(e){return{ok:!1,statusText:e.message}}}var fetch_default=customFetch,import_url2=require("url"),isDevelopment=!1;function configureEngine(e,t){var r;const o=new UBQHelper(e),n=new EditorAPI(e),s=new AssetAPI(e);n.setRole(t.role??"Creator"),isDevelopment&&(o.execute("cesdk/getVersionInfo").then((e=>console.debug(e))),o.execute("cesdk/getCapabilitiesInfo").then((e=>console.debug(e)))),n.setSettingString("basePath",t.baseURL),n.setSettingBool("showBuildVersion",isDevelopment||!1),(null==(r=t.featureFlags)?void 0:r.preventScrolling)&&(n.setSettingBool("touch/singlePointPanning",!1),n.setSettingBool("touch/dragStartCanSelect",!1)),s.addLocalSource("ly.img.text"),function(){var e;isDevelopment&&(n.setSettingBool("features/hspSelectiveAdjustmentsEnabled",!1),n.setSettingBool("features/layerListEnabled",!1),n.setSettingBool("features/templatingEnabled",!0));const r=!!(null==(e=t.featureFlags)?void 0:e.singlePageMode);n.setSettingBool("features/singlePageModeEnabled",r),n.setSettingBool("features/effectsEnabled",!0)}(),function(){const t=new VariableAPI(e);(isDevelopment||"undefined"!=typeof window&&window.Cypress)&&(t.setString("company_name","img.ly"),t.setString("first_name","Charly"),t.setString("last_name","Williams"),t.setString("address","742 Evergreen Terrace"),t.setString("city","Springfield"))}(),n.startTracking(t.license,t.userId??"")}var licenseEndpoint="https://api.img.ly/activate";function downloadAndCheckLicense(e,t=fetch){if(!e.license)throw new Error("Missing license key in config");return e.license.length<128?t(licenseEndpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:e.license,userId:e.userId})}).then((e=>{if(e.ok)return e.json();throw new Error("Unfortunately we are experiencing a server down time and your License key cannot be validated. We're already working on a fix and will restore service soon. Should services not restore within the hour, kindly get in touch with our support team.")})).then((e=>{if("valid"===e.status)return e.license;throw"expired"===e.status?new Error("Thanks for using IMG.LY for creative editing. Please note that your license file or commercial use is expired. Please get in touch with our sales team to discuss extension of your commercial license."):new Error("The License Key (API Key) you are using to access the IMG.LY SDK is invalid. Please ensure that you are using the license key tied to your subscription and get in touch with our support team.")})):Promise.resolve(e.license)}function unlockUbq(e,t){if(!t)throw new Error("Missing license key");unpackResult(e.unlockWithLicense(t))}var import_cesdk=__toESM(require_cesdk()),cesdk_default="./cesdk-v1.26.0-rc.0-46BMFTP2.data",cesdk_default2="./cesdk-v1.26.0-rc.0-3XYACHFI.wasm",CESDK_JS=import_cesdk.default;async function init(e){const t=e.logger,r=downloadAndCheckLicense(e,fetch_default),{getPreloadedPackage:o,instantiateWasm:n}=await httpBaseUrlHandlers(e),s={locateFile:t=>t.endsWith(".wasm")?getAssetLocation(e,cesdk_default2):t.endsWith(".data")?getAssetLocation(e,cesdk_default):getAssetLocation(e,t),instantiateWasm:n,getPreloadedPackage:o,print:e=>{e&&t(e,"Info")},printErr:e=>{e&&t(e,"Error")},onRuntimeInitialized:()=>{t("Engine has been initialized.","Info")},logReadFiles:!1,printWithColors:!0},a=await CESDK_JS(s);a.emscripten_ubq_asyncFetchManager.setFetch(fetch_default);const i=unpackResult(a.createEngine("","auto"));return unlockUbq(i,await r),configureEngine(i,e),i}function getAssetLocation(e,t){const r=t.split("/").pop(),o=new URL(r,e.core.baseURL);if("file:"===o.protocol)return(0,import_url2.fileURLToPath)(o);return new URL(r,e.core.baseURL).toString()}async function httpBaseUrlHandlers(e){if(!e.core.baseURL.startsWith("http"))return{};const t=getAssetLocation(e,cesdk_default),r=getAssetLocation(e,cesdk_default2),o=fetch_default(t).then((e=>{if(e.status>=400)throw new Error(`Failed to fetch DATA package: ${e.status} ${e.statusText}`);return e.arrayBuffer()})),n=await o;return{getPreloadedPackage:function(e,r){if(e===t){if(r!==n.byteLength)throw new Error(`Attempt to get preloaded data package of incorrect size. Expected: ${r} Actual: ${n.byteLength}`);return n}return null},instantiateWasm:function(e,t){const o=e,n=fetch_default(r).then((e=>{if(e.status>=400)throw new Error(`Failed to fetch WASM package: ${e.status} ${e.statusText}`);return e}));return void 0!==WebAssembly.instantiateStreaming?n.then((e=>WebAssembly.instantiateStreaming(e,o))).then((({instance:e})=>t(e))):n.then((e=>e.arrayBuffer())).then((e=>WebAssembly.compile(e))).then((e=>WebAssembly.instantiate(e,o))).then(t),{}}}}var ASSET_SOURCE_BASE_URL="https://cdn.img.ly/assets/v3",CreativeEngine=class{asset;block;editor;event;scene;variable;#n;#e;constructor(e,t){this.#e=e,this.#n=new UBQHelper(e),this.asset=new AssetAPI(e),this.block=new BlockAPI(e),this.editor=new EditorAPI(e),this.event=new EventAPI(e),this.scene=new SceneAPI(e),this.variable=new VariableAPI(e),this.block.exportVideo=()=>{throw new Error("Exporting video is currently not supported on Node.JS")},this.#s(),"undefined"!=typeof window&&window.Cypress&&(this.config=t,this.helper=this.#n)}#a;#s(){this.#i()}#i(){if(this.#a)return;const e=()=>{this.update(),this.#a=setTimeout(e,16)};this.#a=setTimeout(e,16)}#u(){this.#a&&(clearTimeout(this.#a),this.#a=null)}update(){this.#e.update()}dispose(){this.#u(),this.#n=null,this.block=null,this.scene=null,this.variable=null,this.#e.delete(),this.#e=null}static async init(e){const t="389e42e6d6";t&&console.log(`[CreativeEngine] Revision ${t}`);const r=initWithDefaults(migrateConfigObject(e),`file://${__dirname}/assets/`);for(const t of warnKeys(e))r.logger(t,"Warning");const o=new this(await init(r),r);return apiFallback(e,o),o}async addDefaultAssetSources({baseURL:e=ASSET_SOURCE_BASE_URL,excludeAssetSourceIds:t=[]}={}){return addDefaultAssetSources_default(this.asset,e,t,fetchJSON)}async addDemoAssetSources({excludeAssetSourceIds:e=[],sceneMode:t="Design",withUploadAssetSources:r=!1}={}){return addDemoAssetSources_default(this.asset,this.scene,e,t,r,fetchJSON)}},src_default=CreativeEngine;module.exports=CreativeEngine,Object.defineProperty(module.exports,"__esModule",{value:!0}),Object.defineProperty(module.exports,"default",{value:CreativeEngine}),Object.defineProperty(module.exports,"LogLevel",{value:LogLevel}),Object.defineProperty(module.exports,"MimeType",{value:MimeType_default});
1
+ "use strict";var __create=Object.create,__defProp=Object.defineProperty,__getOwnPropDesc=Object.getOwnPropertyDescriptor,__getOwnPropNames=Object.getOwnPropertyNames,__getProtoOf=Object.getPrototypeOf,__hasOwnProp=Object.prototype.hasOwnProperty,__commonJS=(e,t)=>function(){return t||(0,e[__getOwnPropNames(e)[0]])((t={exports:{}}).exports,t),t.exports},__export=(e,t)=>{for(var r in t)__defProp(e,r,{get:t[r],enumerable:!0})},__copyProps=(e,t,r,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let n of __getOwnPropNames(t))__hasOwnProp.call(e,n)||n===r||__defProp(e,n,{get:()=>t[n],enumerable:!(o=__getOwnPropDesc(t,n))||o.enumerable});return e},__toESM=(e,t,r)=>(r=null!=e?__create(__getProtoOf(e)):{},__copyProps(!t&&e&&e.__esModule?r:__defProp(r,"default",{value:e,enumerable:!0}),e)),__toCommonJS=e=>__copyProps(__defProp({},"__esModule",{value:!0}),e),__decorateClass=(e,t,r,o)=>{for(var n,s=o>1?void 0:o?__getOwnPropDesc(t,r):t,a=e.length-1;a>=0;a--)(n=e[a])&&(s=(o?n(t,r,s):n(s))||s);return o&&s&&__defProp(t,r,s),s},require_cesdk=__commonJS({"../../../_builds/cesdk/wasm32-unknown-emscripten+simd/Release/cesdk.js"(e,t){var r,o=(r="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,"undefined"!=typeof __filename&&(r||=__filename),function(e={}){var t,o,n,s,a,i,u=e;if(void 0===globalThis.BigInt64Array){let e=function(e,t){return BigInt(e)|BigInt(t+2*(2147483648&t))<<32n},t=function(e,t){return BigInt(e)|BigInt(t)<<32n},r=function(e){return[0|Number(BigInt(e)&BigInt(4294967295)),0|Number(BigInt(e)>>32n)]},o=function(e){return function t(o){var n;"number"==typeof o&&(o=new Uint32Array(2*o)),ArrayBuffer.isView(o)||(o.constructor&&"ArrayBuffer"===o.constructor.name?o=new Uint32Array(o):(n=o,o=new Uint32Array(2*o.length)));var s=new Proxy({slice:(e,r)=>(r??=o.length,t(o.slice(2*e,2*r))),subarray:(e,r)=>t(o.subarray(2*e,2*r)),[Symbol.iterator]:function*(){for(var t=0;t<o.length/2;t++)yield e(o[2*t],o[2*t+1])},BYTES_PER_ELEMENT:2*o.BYTES_PER_ELEMENT,buffer:o.buffer,byteLength:o.byteLength,byteOffset:o.byteOffset,length:o.length/2,copyWithin:function(e,t,r){return o.copyWithin(2*e,2*t,2*r),s},set(e,t){if(t??=0,2*(e.length+t)>o.length)throw new RangeError("offset is out of bounds");for(var n=0;n<e.length;n++){var s=e[n],a=r(s);o.set(a,2*(t+n))}}},{get(t,r,n){if("string"!=typeof r||!/^\d+$/.test(r))return Reflect.get(t,r,n);var s=o[2*r],a=o[2*r+1];return e(s,a)},set(e,t,n,s){if("string"!=typeof t||!/^\d+$/.test(t))return Reflect.set(e,t,n,s);if("bigint"!=typeof n)throw new TypeError(`Cannot convert ${n} to a BigInt`);var a=r(n);return o.set(a,2*t),!0}});return n&&s.set(n),s}};globalThis.BigUint64Array=o(t),globalThis.BigInt64Array=o(e)}u.ready=new Promise(((e,r)=>{t=e,o=r})),u.expectedDataFileDownloads||(u.expectedDataFileDownloads=0),u.expectedDataFileDownloads++,u.ENVIRONMENT_IS_PTHREAD||u.$ww||function(e){"object"==typeof window?window.encodeURIComponent(window.location.pathname.toString().substring(0,window.location.pathname.toString().lastIndexOf("/"))+"/"):"undefined"==typeof process&&"undefined"!=typeof location&&encodeURIComponent(location.pathname.toString().substring(0,location.pathname.toString().lastIndexOf("/"))+"/");var t="cesdk.data";"function"!=typeof u.locateFilePackage||u.locateFile||(u.locateFile=u.locateFilePackage,E("warning: you defined Module.locateFilePackage, that has been renamed to Module.locateFile (using your locateFilePackage for now)"));var r=u.locateFile?u.locateFile(t,""):t,o=e.remote_package_size,n=null,s=u.getPreloadedPackage?u.getPreloadedPackage(r,o):null;function a(){function t(e,t){if(!e)throw t+(new Error).stack}function r(e,t,r){this.start=e,this.end=t,this.audio=r}u.FS_createPath("/","ly.img.cesdk",!0,!0),u.FS_createPath("/ly.img.cesdk","fonts",!0,!0),u.FS_createPath("/ly.img.cesdk","icons",!0,!0),u.FS_createPath("/ly.img.cesdk","icu",!0,!0),u.FS_createPath("/ly.img.cesdk","presets",!0,!0),u.FS_createPath("/ly.img.cesdk","shaders",!0,!0),u.FS_createPath("/ly.img.cesdk/shaders","common",!0,!0),r.prototype={requests:{},open:function(e,t){this.name=t,this.requests[t]=this,u.addRunDependency(`fp ${this.name}`)},send:function(){},onload:function(){var e=this.byteArray.subarray(this.start,this.end);this.finish(e)},finish:function(e){u.FS_createDataFile(this.name,null,e,!0,!0,!0),u.removeRunDependency(`fp ${this.name}`),this.requests[this.name]=null}};for(var o=e.files,a=0;a<o.length;++a)new r(o[a].start,o[a].end,o[a].audio||0).open("GET",o[a].filename);function i(o){t(o,"Loading data file failed."),t(o.constructor.name===ArrayBuffer.name,"bad input to processPackageData");var n=new Uint8Array(o);r.prototype.byteArray=n;for(var s=e.files,a=0;a<s.length;++a)r.prototype.requests[s[a].filename].onload();u.removeRunDependency("datafile_cesdk.data")}u.addRunDependency("datafile_cesdk.data"),u.preloadResults||(u.preloadResults={}),u.preloadResults["cesdk.data"]={fromCache:!1},s?(i(s),s=null):n=i}s||function(e,t,r,o){if("object"!=typeof process||"object"!=typeof process.versions||"string"!=typeof process.versions.node){var n=new XMLHttpRequest;n.open("GET",e,!0),n.responseType="arraybuffer",n.onprogress=function(r){var o=e,s=t;if(r.total&&(s=r.total),r.loaded){n.addedTotal?u.dataFileDownloads[o].loaded=r.loaded:(n.addedTotal=!0,u.dataFileDownloads||(u.dataFileDownloads={}),u.dataFileDownloads[o]={loaded:r.loaded,total:s});var a=0,i=0,l=0;for(var c in u.dataFileDownloads){var d=u.dataFileDownloads[c];a+=d.total,i+=d.loaded,l++}a=Math.ceil(a*u.expectedDataFileDownloads/l),u.setStatus&&u.setStatus(`Downloading data... (${i}/${a})`)}else u.dataFileDownloads||u.setStatus&&u.setStatus("Downloading data...")},n.onerror=function(t){throw new Error("NetworkError for: "+e)},n.onload=function(e){if(!(200==n.status||304==n.status||206==n.status||0==n.status&&n.response))throw new Error(n.statusText+" : "+n.responseURL);var t=n.response;r(t)},n.send(null)}else require("fs").readFile(e,(function(e,t){e?o(e):r(t.buffer)}))}(r,o,(function(e){n?(n(e),n=null):s=e}),(function(e){console.error("package error:",e)})),u.calledRun?a():(u.preRun||(u.preRun=[]),u.preRun.push(a))}({files:[{filename:"/ly.img.cesdk/fonts/imgly_font_inter_semibold.otf",start:0,end:270760},{filename:"/ly.img.cesdk/icons/ErrorAudio.svg",start:270760,end:271672},{filename:"/ly.img.cesdk/icons/ErrorConnection.svg",start:271672,end:272620},{filename:"/ly.img.cesdk/icons/ErrorVideo.svg",start:272620,end:273473},{filename:"/ly.img.cesdk/icons/Move.svg",start:273473,end:274413},{filename:"/ly.img.cesdk/icons/RotateIndicator.svg",start:274413,end:275394},{filename:"/ly.img.cesdk/icu/icudt74l.dat",start:275394,end:810498},{filename:"/ly.img.cesdk/presets/.keep",start:810498,end:810498},{filename:"/ly.img.cesdk/shaders/adjustments.sksl",start:810498,end:814387},{filename:"/ly.img.cesdk/shaders/black_and_white_color_mixer.sksl",start:814387,end:820704},{filename:"/ly.img.cesdk/shaders/common/ubq_adjustments.sksl",start:820704,end:825295},{filename:"/ly.img.cesdk/shaders/common/ubq_color_conversions.sksl",start:825295,end:835280},{filename:"/ly.img.cesdk/shaders/common/ubq_constants.sksl",start:835280,end:835770},{filename:"/ly.img.cesdk/shaders/common/ubq_hue_constants.sksl",start:835770,end:838937},{filename:"/ly.img.cesdk/shaders/common/ubq_noise.sksl",start:838937,end:841575},{filename:"/ly.img.cesdk/shaders/cross_cut.sksl",start:841575,end:842522},{filename:"/ly.img.cesdk/shaders/dot_pattern.sksl",start:842522,end:843037},{filename:"/ly.img.cesdk/shaders/duotone_filter.sksl",start:843037,end:844001},{filename:"/ly.img.cesdk/shaders/extrude_blur.sksl",start:844001,end:846118},{filename:"/ly.img.cesdk/shaders/glow.sksl",start:846118,end:847085},{filename:"/ly.img.cesdk/shaders/half_tone.sksl",start:847085,end:847579},{filename:"/ly.img.cesdk/shaders/hsp_selective_adjustments.sksl",start:847579,end:861179},{filename:"/ly.img.cesdk/shaders/linocut.sksl",start:861179,end:861964},{filename:"/ly.img.cesdk/shaders/liquid.sksl",start:861964,end:862446},{filename:"/ly.img.cesdk/shaders/lut_filter.sksl",start:862446,end:865309},{filename:"/ly.img.cesdk/shaders/mask_color.sksl",start:865309,end:865814},{filename:"/ly.img.cesdk/shaders/mirror.sksl",start:865814,end:866268},{filename:"/ly.img.cesdk/shaders/outliner.sksl",start:866268,end:867905},{filename:"/ly.img.cesdk/shaders/pixelize.sksl",start:867905,end:868205},{filename:"/ly.img.cesdk/shaders/placeholder_overlay_lines.sksl",start:868205,end:868893},{filename:"/ly.img.cesdk/shaders/posterize.sksl",start:868893,end:869105},{filename:"/ly.img.cesdk/shaders/radial_pixel.sksl",start:869105,end:869668},{filename:"/ly.img.cesdk/shaders/recolor.sksl",start:869668,end:871869},{filename:"/ly.img.cesdk/shaders/sharpie.sksl",start:871869,end:874174},{filename:"/ly.img.cesdk/shaders/shifter.sksl",start:874174,end:874858},{filename:"/ly.img.cesdk/shaders/tiltshift.sksl",start:874858,end:875440},{filename:"/ly.img.cesdk/shaders/tv_glitch.sksl",start:875440,end:876158},{filename:"/ly.img.cesdk/shaders/vignette.sksl",start:876158,end:876530}],remote_package_size:876530}),"object"==typeof window&&"object"==typeof window.performance?u.performance=performance:"object"==typeof global&&"object"==typeof global.perf_hooks&&"object"==typeof global.perf_hooks.performance?u.performance=global.perf_hooks.performance:u.performance={mark:function(){},measure:function(){}},(s=n||(n={}))[s.PENDING=0]="PENDING",s[s.FINISHED=1]="FINISHED",s[s.ALLOCATED=2]="ALLOCATED",s[s.ERROR=3]="ERROR",(i=a||(a={}))[i.GET=0]="GET",i[i.POST=1]="POST";class FetchProcess{constructor(e,t){this.state=n.PENDING,this.totalBytes=0,this.receivedLength=0,this.handle=e,this.uri=t,this.abortController=new AbortController,this.abortSignal=this.abortController.signal}async readChunks(e){let t=0;const r=[],o=e=>{r.push(e),t+=e.length,this.receivedLength=t};if(null==e);else if("getReader"in e){const t=e.getReader();for(;;){const{done:e,value:r}=await t.read();if(e)break;if(this.abortSignal.aborted)throw await t.cancel(),t.releaseLock(),new Error(this.abortSignal.reason);o(r)}t.releaseLock()}else{const t=()=>e.destroy(new Error(this.abortSignal.reason));this.abortSignal.addEventListener("abort",t,{once:!0});try{await new Promise(((t,r)=>{e.on("data",o),e.on("end",(()=>t())),e.on("error",(e=>r(e)))}))}finally{this.abortSignal.removeEventListener("abort",t)}}const n=new Uint8Array(t);let s=0;for(const e of r)n.set(e,s),s+=e.length;return this.finish(n)}abort(){this.isPending()&&this.abortController.abort("Fetch aborted")}isPending(){return this.state===n.PENDING}isError(){return this.state===n.ERROR}isFinished(){return this.state===n.FINISHED}isAllocated(){return this.state===n.ALLOCATED}allocate(){if(this.isAllocated())return this;if(this.isFinished()){const e=this.result.length,t=u._malloc(e);u.HEAPU8.set(this.result,t);const r=Object.assign(Object.assign({},this),{state:n.ALLOCATED,resultAddress:t,resultLength:e});return Object.assign(this,r),r}return null}finish(e){const t=Object.assign(Object.assign({},this),{state:n.FINISHED,result:e,totalBytes:e.length});return Object.assign(this,t)}fail(e){const t=Object.assign(Object.assign({},this),{state:n.ERROR,error:e});return Object.assign(this,t)}}u.emscripten_ubq_asyncFetchManager=new class AsyncFetchManager{constructor(){this._nextHandle=0,this._nextHeaderHandle=0,this._processes=new Map,this._headers=new Map,this._fetchImpl=null}_fetch(e,t){return this._fetchImpl?this._fetchImpl(e,t):fetch(e,t)}setFetch(e){this._fetchImpl=e}getProcess(e){return this._processes.get(e)}deleteProcess(e){const t=this._processes.get(e);return(null==t?void 0:t.isPending())&&t.abort(),this._processes.delete(e)}clear(){for(const e of this._processes.values())e.isPending()&&e.abort();this._processes.clear(),this._headers.clear()}fetch(e,t,r,o,n,s,a,i,l){const c=u.UTF8ToString(t,r),d=this._nextHandle++,p=new FetchProcess(d,c);return this._processes.set(d,p),c.match(/^file:/)?this._fetchFile(p).catch((e=>{p.fail(e)})):this._fetchRemote(p,e,o,n,s,a,i,l).catch((e=>{p.fail(e)})),p}async _fetchFile(e){if("undefined"!=typeof window)throw new Error("File URLs supported only in Node.JS");const t=require("fs"),{fileURLToPath:r}=require("url"),o=t.createReadStream(r(e.uri));return e.readChunks(o)}async _fetchRemote(e,t,r,o,n,s,i,l){const c=u.UTF8ToString(i,l),d=this.getHeaders(r,o),p=t===a.POST?new Uint8Array(u.HEAPU8.buffer,n,s):void 0,g=await this._fetch(e.uri,{method:a[t],headers:d,body:p,mode:"cors",credentials:c,signal:e.abortSignal});if(g.status>=200&&g.status<=209){let t=0;return g.headers.has("Content-Length")&&(t=+g.headers.get("Content-Length")),e.totalBytes=t,e.readChunks(g.body)}return e.fail(g.statusText)}getHeaders(e,t){const r={};for(let o=0;o<t;o++){const t=u.getValue(e+4*o,"i32"),n=this._headers.get(t);r[n.key]=n.value}return r}createHeader(e,t,r,o){const n=u.UTF8ToString(e,t),s=u.UTF8ToString(r,o),a=this._nextHeaderHandle++;return this._headers.set(a,{key:n,value:s}),a}deleteHeader(e){return this._headers.delete(e)}},u.emscripten_ubq_codec_videoDecoders=new Map,u.emscripten_ubq_codec_audioDecoders=new Map,u.emscripten_ubq_codec_videoEncoders=new Map,u.emscripten_ubq_codec_audioEncoders=new Map,u.emscripten_ubq_codec_videoDecoderNextHandle=1,u.emscripten_ubq_codec_audioDecoderNextHandle=1,u.emscripten_ubq_codec_videoEncoderNextHandle=1,u.emscripten_ubq_codec_audioEncoderNextHandle=1,u.emscripten_ubq_codec_createNativeResult=function(e){const t=u._malloc(8),r=u.HEAPU32.subarray(t/4,t/4+2);if(r[0]=e.handle?e.handle:e.code?e.code:0,e.error){const t=(new TextEncoder).encode(e.error),o=u._malloc(t.length+1),n=u.HEAPU8.subarray(o,o+t.length+1);for(let e=0;e<t.length;e++)n[e]=t[e];n[t.length]=0,r[1]=o}else r[1]=0;return t},u.emscripten_ubq_codec_createVideoDecoder=function(e,t){const r=new VideoDecoder({output:o=>{const n=r.textures;let s=!1;if((r.shouldDropFrames||r.decodedFrames<r.requestedFrame||r.decodeQueueSize>=n.length)&&(s=!0),!s){var a=u.ctx;const e=r.decodedFrames%n.length,t=a.getParameter(a.TEXTURE_BINDING_2D);a.bindTexture(a.TEXTURE_2D,n[e]),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,o),a.bindTexture(a.TEXTURE_2D,t)}o.close(),r.decodedFrames++,u.emscripten_ubq_codec_onOutputDecodedVideoFrame(e,r.decodedFrames,s,t)},error:e=>{r.unexpectedError=e,console.error(e)}});return r.decodedFrames=0,r.requestedFrame=0,r.shouldDropFrames=!1,r},u.emscripten_ubq_codec_createAudioDecoder=function(e,t,r){const o=new AudioDecoder({output:n=>{if(o.flushing)return void n.close();const s=u.HEAPF32.subarray(e/4,e/4+r),a=u.HEAPF32.subarray(t/4,t/4+r),i=1===n.numberOfChannels?0:1;if("f32-planar"===n.format){let e=o.writtenFrames%r;if(e+n.numberOfFrames<=r)n.copyTo(s.subarray(e),{planeIndex:0,frameCount:n.numberOfFrames}),n.copyTo(a.subarray(e),{planeIndex:i,frameCount:n.numberOfFrames});else{const t=r-e;n.copyTo(s.subarray(e),{planeIndex:0,frameCount:t}),n.copyTo(a.subarray(e),{planeIndex:i,frameCount:t}),n.copyTo(s,{planeIndex:0,frameOffset:t}),n.copyTo(a,{planeIndex:i,frameOffset:t})}o.writtenFrames+=n.numberOfFrames}else if("s16-planar"===n.format)if(1===n.numberOfChannels){const e=new Int16Array(n.numberOfFrames);n.copyTo(e,{planeIndex:0});for(let t=0;t<n.numberOfFrames;t++){const n=e[t]/32768;let i=o.writtenFrames%r;s[i]=n,a[i]=n,o.writtenFrames++}}else{const e=new Int16Array(n.numberOfFrames),t=new Int16Array(n.numberOfFrames);n.copyTo(e,{planeIndex:0}),n.copyTo(t,{planeIndex:1});for(let i=0;i<n.numberOfFrames;i++){let n=o.writtenFrames%r;s[n]=e[i]/32768,a[n]=t[i]/32768,o.writtenFrames++}}else if("s16"===n.format){const e=new Int16Array(n.numberOfFrames*n.numberOfChannels);if(n.copyTo(e,{planeIndex:0}),1===n.numberOfChannels)for(let t=0;t<n.numberOfFrames;t++){const n=e[t]/32768;let i=o.writtenFrames%r;s[i]=n,a[i]=n,o.writtenFrames++}else for(let t=0;t<n.numberOfFrames;t++){let i=o.writtenFrames%r;s[i]=e[t*n.numberOfChannels+0]/32768,a[i]=e[t*n.numberOfChannels+1]/32768,o.writtenFrames++}}else console.error("Unsupported audio format:",n.format);n.close()},error:e=>{o.unexpectedError=e,console.error(e)}});return o.writtenFrames=0,o},u.emscripten_ubq_settings_forceWebGL1=!1;var l,c,d,p=Object.assign({},u),g=[],f="./this.program",m=(e,t)=>{throw t},h="object"==typeof window,b="function"==typeof importScripts,y="object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node,v="";if(y){var _=require("fs"),k=require("path");v=b?k.dirname(v)+"/":__dirname+"/",l=(e,t)=>(e=ee(e)?new URL(e):k.normalize(e),_.readFileSync(e,t?void 0:"utf8")),d=e=>{var t=l(e,!0);return t.buffer||(t=new Uint8Array(t)),t},c=(e,t,r,o=!0)=>{e=ee(e)?new URL(e):k.normalize(e),_.readFile(e,o?void 0:"utf8",((e,n)=>{e?r(e):t(o?n.buffer:n)}))},!u.thisProgram&&process.argv.length>1&&(f=process.argv[1].replace(/\\/g,"/")),g=process.argv.slice(2),m=(e,t)=>{throw process.exitCode=e,t}}else(h||b)&&(b?v=self.location.href:"undefined"!=typeof document&&document.currentScript&&(v=document.currentScript.src),r&&(v=r),v=v.startsWith("blob:")?"":v.substr(0,v.replace(/[?#].*/,"").lastIndexOf("/")+1),l=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},b&&(d=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),c=(e,t,r)=>{var o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType="arraybuffer",o.onload=()=>{200==o.status||0==o.status&&o.response?t(o.response):r()},o.onerror=r,o.send(null)});var C,w,A=u.print||console.log.bind(console),E=u.printErr||console.error.bind(console);Object.assign(u,p),p=null,u.arguments&&(g=u.arguments),u.thisProgram&&(f=u.thisProgram),u.quit&&(m=u.quit),u.wasmBinary&&(C=u.wasmBinary),"object"!=typeof WebAssembly&&Q("no native wasm support detected");var P,S,R,B,I,x,T,q,F,D,L,M=!1;function O(e,t){e||Q(t)}function U(){var e=w.buffer;u.HEAP8=S=new Int8Array(e),u.HEAP16=B=new Int16Array(e),u.HEAPU8=R=new Uint8Array(e),u.HEAPU16=I=new Uint16Array(e),u.HEAP32=x=new Int32Array(e),u.HEAPU32=T=new Uint32Array(e),u.HEAPF32=q=new Float32Array(e),u.HEAPF64=L=new Float64Array(e),u.HEAP64=F=new BigInt64Array(e),u.HEAPU64=D=new BigUint64Array(e)}var $=u.INITIAL_MEMORY||16777216;w=u.wasmMemory?u.wasmMemory:new WebAssembly.Memory({initial:$/65536,maximum:32768}),U(),$=w.buffer.byteLength;var V=[],N=[],H=[],j=[],W=0,G=null,z=null;function Y(e){var t;W++,null==(t=u.monitorRunDependencies)||t.call(u,W)}function X(e){var t;if(W--,null==(t=u.monitorRunDependencies)||t.call(u,W),0==W&&(null!==G&&(clearInterval(G),G=null),z)){var r=z;z=null,r()}}function Q(e){var t;null==(t=u.onAbort)||t.call(u,e),E(e="Aborted("+e+")"),M=!0,P=1,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw o(r),r}var K,Z,J=e=>e.startsWith("data:application/octet-stream;base64,"),ee=e=>e.startsWith("file://");function te(e){if(e==K&&C)return new Uint8Array(C);if(d)return d(e);throw"both async and sync fetching of the wasm failed"}function re(e,t,r){return function(e){return C||!h&&!b||"function"!=typeof fetch?Promise.resolve().then((()=>te(e))):fetch(e,{credentials:"same-origin"}).then((t=>{if(!t.ok)throw`failed to load wasm binary file at '${e}'`;return t.arrayBuffer()})).catch((()=>te(e)))}(e).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{E(`failed to asynchronously prepare wasm: ${e}`),Q(e)}))}J(K="cesdk.wasm")||(Z=K,K=u.locateFile?u.locateFile(Z,v):v+Z);var oe={2366184:(e,t,r,o,n)=>"undefined"==typeof window||void 0===(window.AudioContext||window.webkitAudioContext)?0:(void 0===window.miniaudio&&(window.miniaudio={referenceCount:0},window.miniaudio.device_type={},window.miniaudio.device_type.playback=e,window.miniaudio.device_type.capture=t,window.miniaudio.device_type.duplex=r,window.miniaudio.device_state={},window.miniaudio.device_state.stopped=o,window.miniaudio.device_state.started=n,miniaudio.devices=[],miniaudio.track_device=function(e){for(var t=0;t<miniaudio.devices.length;++t)if(null==miniaudio.devices[t])return miniaudio.devices[t]=e,t;return miniaudio.devices.push(e),miniaudio.devices.length-1},miniaudio.untrack_device_by_index=function(e){for(miniaudio.devices[e]=null;miniaudio.devices.length>0&&null==miniaudio.devices[miniaudio.devices.length-1];)miniaudio.devices.pop()},miniaudio.untrack_device=function(e){for(var t=0;t<miniaudio.devices.length;++t)if(miniaudio.devices[t]==e)return miniaudio.untrack_device_by_index(t)},miniaudio.get_device_by_index=function(e){return miniaudio.devices[e]},miniaudio.unlock_event_types=function(){return["touchstart","touchend","click"]}(),miniaudio.unlock=function(){for(var e=0;e<miniaudio.devices.length;++e){var t=miniaudio.devices[e];null!=t&&null!=t.webaudio&&2===t.state&&t.webaudio.resume()}miniaudio.unlock_event_types.map((function(e){document.removeEventListener(e,miniaudio.unlock,!0)}))},miniaudio.unlock_event_types.map((function(e){document.addEventListener(e,miniaudio.unlock,!0)}))),window.miniaudio.referenceCount+=1,1),2368174:()=>{void 0!==window.miniaudio&&(window.miniaudio.referenceCount-=1,0===window.miniaudio.referenceCount&&delete window.miniaudio)},2368338:()=>void 0!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia,2368442:()=>{try{var e=new(window.AudioContext||window.webkitAudioContext),t=e.sampleRate;return e.close(),t}catch(e){return 0}},2368613:(e,t,r,o,n,s)=>{var a=e,i=t,l=r,c=o,d=n,p=s;if(void 0===window.miniaudio)return-1;var g={},f={};a==window.miniaudio.device_type.playback&&(f.sampleRate=l),g.webaudio=new(window.AudioContext||window.webkitAudioContext)(f),g.webaudio.suspend(),g.state=window.miniaudio.device_state.stopped;var m=0,h=i;return a!=window.miniaudio.device_type.playback&&(m=i),g.scriptNode=g.webaudio.createScriptProcessor(c,m,h),g.scriptNode.onaudioprocess=function(e){if(null!=g.intermediaryBufferView&&0!=g.intermediaryBufferView.length||(g.intermediaryBufferView=new Float32Array(u.HEAPF32.buffer,d,c*i)),a==miniaudio.device_type.capture||a==miniaudio.device_type.duplex){for(var t=0;t<i;t+=1)for(var r=e.inputBuffer.getChannelData(t),o=g.intermediaryBufferView,n=0;n<c;n+=1)o[n*i+t]=r[n];qu(p,c,d)}if(a==miniaudio.device_type.playback||a==miniaudio.device_type.duplex)for(Fu(p,c,d),t=0;t<e.outputBuffer.numberOfChannels;++t){var s=e.outputBuffer.getChannelData(t);for(o=g.intermediaryBufferView,n=0;n<c;n+=1)s[n]=o[n*i+t]}else for(t=0;t<e.outputBuffer.numberOfChannels;++t)e.outputBuffer.getChannelData(t).fill(0)},a!=miniaudio.device_type.capture&&a!=miniaudio.device_type.duplex||navigator.mediaDevices.getUserMedia({audio:!0,video:!1}).then((function(e){g.streamNode=g.webaudio.createMediaStreamSource(e),g.streamNode.connect(g.scriptNode),g.scriptNode.connect(g.webaudio.destination)})).catch((function(e){console.log("Failed to get user media: "+e)})),a==miniaudio.device_type.playback&&g.scriptNode.connect(g.webaudio.destination),miniaudio.track_device(g)},2371396:e=>miniaudio.get_device_by_index(e).webaudio.sampleRate,2371462:e=>{var t=miniaudio.get_device_by_index(e);void 0!==t.scriptNode&&(t.scriptNode.onaudioprocess=function(e){},t.scriptNode.disconnect(),t.scriptNode=void 0),void 0!==t.streamNode&&(t.streamNode.disconnect(),t.streamNode=void 0),t.webaudio.close(),t.webaudio=void 0},2371827:e=>{miniaudio.untrack_device_by_index(e)},2371870:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.resume(),t.state=miniaudio.device_state.started},2371995:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.suspend(),t.state=miniaudio.device_state.stopped},2372121:()=>!!globalThis.ubq_browserTabHidden,2372167:()=>S.length};function ne(e){this.name="ExitStatus",this.message=`Program terminated with exit(${e})`,this.status=e}var se=e=>{for(;e.length>0;)e.shift()(u)},ae=u.noExitRuntime||!0,ie=[],ue=0;class ExceptionInfo{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){T[this.ptr+4>>2]=e}get_type(){return T[this.ptr+4>>2]}set_destructor(e){T[this.ptr+8>>2]=e}get_destructor(){return T[this.ptr+8>>2]}set_caught(e){e=e?1:0,S[this.ptr+12>>0]=e}get_caught(){return 0!=S[this.ptr+12>>0]}set_rethrown(e){e=e?1:0,S[this.ptr+13>>0]=e}get_rethrown(){return 0!=S[this.ptr+13>>0]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){T[this.ptr+16>>2]=e}get_adjusted_ptr(){return T[this.ptr+16>>2]}get_exception_ptr(){if(Wu(this.get_type()))return T[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var le=e=>{var t=ue;if(!t)return Du(0),0;var r=new ExceptionInfo(t);r.set_adjusted_ptr(t);var o=r.get_type();if(!o)return Du(0),t;for(var n in e){var s=e[n];if(0===s||s===o)break;var a=r.ptr+16;if(ju(s,o,a))return Du(s),t}return Du(o),t},ce={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,o=e.length-1;o>=0;o--){var n=e[o];"."===n?e.splice(o,1):".."===n?(e.splice(o,1),r++):r&&(e.splice(o,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=ce.isAbs(e),r="/"===e.substr(-1);return(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=ce.splitPath(e),r=t[0],o=t[1];return r||o?(o&&(o=o.substr(0,o.length-1)),r+o):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=ce.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return ce.normalize(e.join("/"))},join2:(e,t)=>ce.normalize(e+"/"+t)},de=e=>(de=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);if(y)try{var e=require("crypto");if(e.randomFillSync)return t=>e.randomFillSync(t);var t=e.randomBytes;return e=>(e.set(t(e.byteLength)),e)}catch(e){}Q("initRandomDevice")})())(e),pe={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var o=r>=0?arguments[r]:Ae.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";e=o+"/"+e,t=ce.isAbs(o)}return(t?"/":"")+(e=ce.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=pe.resolve(e).substr(1),t=pe.resolve(t).substr(1);for(var o=r(e.split("/")),n=r(t.split("/")),s=Math.min(o.length,n.length),a=s,i=0;i<s;i++)if(o[i]!==n[i]){a=i;break}var u=[];for(i=a;i<o.length;i++)u.push("..");return(u=u.concat(n.slice(a))).join("/")}},ge="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,fe=(e,t,r)=>{for(var o=t+r,n=t;e[n]&&!(n>=o);)++n;if(n-t>16&&e.buffer&&ge)return ge.decode(e.subarray(t,n));for(var s="";t<n;){var a=e[t++];if(128&a){var i=63&e[t++];if(192!=(224&a)){var u=63&e[t++];if((a=224==(240&a)?(15&a)<<12|i<<6|u:(7&a)<<18|i<<12|u<<6|63&e[t++])<65536)s+=String.fromCharCode(a);else{var l=a-65536;s+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else s+=String.fromCharCode((31&a)<<6|i)}else s+=String.fromCharCode(a)}return s},me=[],he=e=>{for(var t=0,r=0;r<e.length;++r){var o=e.charCodeAt(r);o<=127?t++:o<=2047?t+=2:o>=55296&&o<=57343?(t+=4,++r):t+=3}return t},be=(e,t,r,o)=>{if(!(o>0))return 0;for(var n=r,s=r+o-1,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)),i<=127){if(r>=s)break;t[r++]=i}else if(i<=2047){if(r+1>=s)break;t[r++]=192|i>>6,t[r++]=128|63&i}else if(i<=65535){if(r+2>=s)break;t[r++]=224|i>>12,t[r++]=128|i>>6&63,t[r++]=128|63&i}else{if(r+3>=s)break;t[r++]=240|i>>18,t[r++]=128|i>>12&63,t[r++]=128|i>>6&63,t[r++]=128|63&i}}return t[r]=0,r-n};function ye(e,t,r){var o=r>0?r:he(e)+1,n=new Array(o),s=be(e,n,0,n.length);return t&&(n.length=s),n}var ve={ttys:[],init(){},shutdown(){},register(e,t){ve.ttys[e]={input:[],output:[],ops:t},Ae.registerDevice(e,ve.stream_ops)},stream_ops:{open(e){var t=ve.ttys[e.node.rdev];if(!t)throw new Ae.ErrnoError(43);e.tty=t,e.seekable=!1},close(e){e.tty.ops.fsync(e.tty)},fsync(e){e.tty.ops.fsync(e.tty)},read(e,t,r,o,n){if(!e.tty||!e.tty.ops.get_char)throw new Ae.ErrnoError(60);for(var s=0,a=0;a<o;a++){var i;try{i=e.tty.ops.get_char(e.tty)}catch(e){throw new Ae.ErrnoError(29)}if(void 0===i&&0===s)throw new Ae.ErrnoError(6);if(null==i)break;s++,t[r+a]=i}return s&&(e.node.timestamp=Date.now()),s},write(e,t,r,o,n){if(!e.tty||!e.tty.ops.put_char)throw new Ae.ErrnoError(60);try{for(var s=0;s<o;s++)e.tty.ops.put_char(e.tty,t[r+s])}catch(e){throw new Ae.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),s}},default_tty_ops:{get_char:e=>(()=>{if(!me.length){var e=null;if(y){var t=Buffer.alloc(256),r=0,o=process.stdin.fd;try{r=_.readSync(o,t)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}e=r>0?t.slice(0,r).toString("utf-8"):null}else"undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n");if(!e)return null;me=ye(e,!0)}return me.shift()})(),put_char(e,t){null===t||10===t?(A(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(A(fe(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,t,r)=>0,ioctl_tiocgwinsz:e=>[24,80]},default_tty1_ops:{put_char(e,t){null===t||10===t?(E(fe(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(E(fe(e.output,0)),e.output=[])}}},_e=e=>{e=((e,t)=>Math.ceil(e/t)*t)(e,65536);var t=Mu(65536,e);return t?((e,t)=>(R.fill(0,e,e+t),e))(t,e):0},ke={ops_table:null,mount:e=>ke.createNode(null,"/",16895,0),createNode(e,t,r,o){if(Ae.isBlkdev(r)||Ae.isFIFO(r))throw new Ae.ErrnoError(63);ke.ops_table||={dir:{node:{getattr:ke.node_ops.getattr,setattr:ke.node_ops.setattr,lookup:ke.node_ops.lookup,mknod:ke.node_ops.mknod,rename:ke.node_ops.rename,unlink:ke.node_ops.unlink,rmdir:ke.node_ops.rmdir,readdir:ke.node_ops.readdir,symlink:ke.node_ops.symlink},stream:{llseek:ke.stream_ops.llseek}},file:{node:{getattr:ke.node_ops.getattr,setattr:ke.node_ops.setattr},stream:{llseek:ke.stream_ops.llseek,read:ke.stream_ops.read,write:ke.stream_ops.write,allocate:ke.stream_ops.allocate,mmap:ke.stream_ops.mmap,msync:ke.stream_ops.msync}},link:{node:{getattr:ke.node_ops.getattr,setattr:ke.node_ops.setattr,readlink:ke.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ke.node_ops.getattr,setattr:ke.node_ops.setattr},stream:Ae.chrdev_stream_ops}};var n=Ae.createNode(e,t,r,o);return Ae.isDir(n.mode)?(n.node_ops=ke.ops_table.dir.node,n.stream_ops=ke.ops_table.dir.stream,n.contents={}):Ae.isFile(n.mode)?(n.node_ops=ke.ops_table.file.node,n.stream_ops=ke.ops_table.file.stream,n.usedBytes=0,n.contents=null):Ae.isLink(n.mode)?(n.node_ops=ke.ops_table.link.node,n.stream_ops=ke.ops_table.link.stream):Ae.isChrdev(n.mode)&&(n.node_ops=ke.ops_table.chrdev.node,n.stream_ops=ke.ops_table.chrdev.stream),n.timestamp=Date.now(),e&&(e.contents[t]=n,e.timestamp=n.timestamp),n},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var o=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(o.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Ae.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,Ae.isDir(e.mode)?t.size=4096:Ae.isFile(e.mode)?t.size=e.usedBytes:Ae.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&ke.resizeFileStorage(e,t.size)},lookup(e,t){throw Ae.genericErrors[44]},mknod:(e,t,r,o)=>ke.createNode(e,t,r,o),rename(e,t,r){if(Ae.isDir(e.mode)){var o;try{o=Ae.lookupNode(t,r)}catch(e){}if(o)for(var n in o.contents)throw new Ae.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=Ae.lookupNode(e,t);for(var o in r.contents)throw new Ae.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r of Object.keys(e.contents))t.push(r);return t},symlink(e,t,r){var o=ke.createNode(e,t,41471,0);return o.link=r,o},readlink(e){if(!Ae.isLink(e.mode))throw new Ae.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,o,n){var s=e.node.contents;if(n>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-n,o);if(a>8&&s.subarray)t.set(s.subarray(n,n+a),r);else for(var i=0;i<a;i++)t[r+i]=s[n+i];return a},write(e,t,r,o,n,s){if(t.buffer===S.buffer&&(s=!1),!o)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(s)return a.contents=t.subarray(r,r+o),a.usedBytes=o,o;if(0===a.usedBytes&&0===n)return a.contents=t.slice(r,r+o),a.usedBytes=o,o;if(n+o<=a.usedBytes)return a.contents.set(t.subarray(r,r+o),n),o}if(ke.expandFileStorage(a,n+o),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+o),n);else for(var i=0;i<o;i++)a.contents[n+i]=t[r+i];return a.usedBytes=Math.max(a.usedBytes,n+o),o},llseek(e,t,r){var o=t;if(1===r?o+=e.position:2===r&&Ae.isFile(e.node.mode)&&(o+=e.node.usedBytes),o<0)throw new Ae.ErrnoError(28);return o},allocate(e,t,r){ke.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,o,n){if(!Ae.isFile(e.node.mode))throw new Ae.ErrnoError(43);var s,a,i=e.node.contents;if(2&n||i.buffer!==S.buffer){if((r>0||r+t<i.length)&&(i=i.subarray?i.subarray(r,r+t):Array.prototype.slice.call(i,r,r+t)),a=!0,!(s=_e(t)))throw new Ae.ErrnoError(48);S.set(i,s)}else a=!1,s=i.byteOffset;return{ptr:s,allocated:a}},msync:(e,t,r,o,n)=>(ke.stream_ops.write(e,t,0,o,r,!1),0)}},Ce=u.preloadPlugins||[],we=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},Ae={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){this.name="ErrnoError",this.errno=e}},genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath(e,t={}){if(!(e=pe.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new Ae.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),o=Ae.root,n="/",s=0;s<r.length;s++){var a=s===r.length-1;if(a&&t.parent)break;if(o=Ae.lookupNode(o,r[s]),n=ce.join2(n,r[s]),Ae.isMountpoint(o)&&(!a||a&&t.follow_mount)&&(o=o.mounted.root),!a||t.follow)for(var i=0;Ae.isLink(o.mode);){var u=Ae.readlink(n);if(n=pe.resolve(ce.dirname(n),u),o=Ae.lookupPath(n,{recurse_count:t.recurse_count+1}).node,i++>40)throw new Ae.ErrnoError(32)}}return{path:n,node:o}},getPath(e){for(var t;;){if(Ae.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?`${r}/${t}`:r+t:r}t=t?`${e.name}/${t}`:e.name,e=e.parent}},hashName(e,t){for(var r=0,o=0;o<t.length;o++)r=(r<<5)-r+t.charCodeAt(o)|0;return(e+r>>>0)%Ae.nameTable.length},hashAddNode(e){var t=Ae.hashName(e.parent.id,e.name);e.name_next=Ae.nameTable[t],Ae.nameTable[t]=e},hashRemoveNode(e){var t=Ae.hashName(e.parent.id,e.name);if(Ae.nameTable[t]===e)Ae.nameTable[t]=e.name_next;else for(var r=Ae.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Ae.mayLookup(e);if(r)throw new Ae.ErrnoError(r);for(var o=Ae.hashName(e.id,t),n=Ae.nameTable[o];n;n=n.name_next){var s=n.name;if(n.parent.id===e.id&&s===t)return n}return Ae.lookup(e,t)},createNode(e,t,r,o){var n=new Ae.FSNode(e,t,r,o);return Ae.hashAddNode(n),n},destroyNode(e){Ae.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==(49152&e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Ae.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!Ae.isDir(e.mode))return 54;var t=Ae.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){try{return Ae.lookupNode(e,t),20}catch(e){}return Ae.nodePermissions(e,"wx")},mayDelete(e,t,r){var o;try{o=Ae.lookupNode(e,t)}catch(e){return e.errno}var n=Ae.nodePermissions(e,"wx");if(n)return n;if(r){if(!Ae.isDir(o.mode))return 54;if(Ae.isRoot(o)||Ae.getPath(o)===Ae.cwd())return 10}else if(Ae.isDir(o.mode))return 31;return 0},mayOpen:(e,t)=>e?Ae.isLink(e.mode)?32:Ae.isDir(e.mode)&&("r"!==Ae.flagsToPermissionString(t)||512&t)?31:Ae.nodePermissions(e,Ae.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Ae.MAX_OPEN_FDS;e++)if(!Ae.streams[e])return e;throw new Ae.ErrnoError(33)},getStreamChecked(e){var t=Ae.getStream(e);if(!t)throw new Ae.ErrnoError(8);return t},getStream:e=>Ae.streams[e],createStream:(e,t=-1)=>(Ae.FSStream||(Ae.FSStream=function(){this.shared={}},Ae.FSStream.prototype={},Object.defineProperties(Ae.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return 0!=(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new Ae.FSStream,e),-1==t&&(t=Ae.nextfd()),e.fd=t,Ae.streams[t]=e,e),closeStream(e){Ae.streams[e]=null},chrdev_stream_ops:{open(e){var t,r,o=Ae.getDevice(e.node.rdev);e.stream_ops=o.stream_ops,null==(r=(t=e.stream_ops).open)||r.call(t,e)},llseek(){throw new Ae.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Ae.devices[e]={stream_ops:t}},getDevice:e=>Ae.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var o=r.pop();t.push(o),r.push.apply(r,o.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Ae.syncFSRequests++,Ae.syncFSRequests>1&&E(`warning: ${Ae.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Ae.getMounts(Ae.root.mount),o=0;function n(e){return Ae.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,n(e));++o>=r.length&&n(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var o,n="/"===r,s=!r;if(n&&Ae.root)throw new Ae.ErrnoError(10);if(!n&&!s){var a=Ae.lookupPath(r,{follow_mount:!1});if(r=a.path,o=a.node,Ae.isMountpoint(o))throw new Ae.ErrnoError(10);if(!Ae.isDir(o.mode))throw new Ae.ErrnoError(54)}var i={type:e,opts:t,mountpoint:r,mounts:[]},u=e.mount(i);return u.mount=i,i.root=u,n?Ae.root=u:o&&(o.mounted=i,o.mount&&o.mount.mounts.push(i)),u},unmount(e){var t=Ae.lookupPath(e,{follow_mount:!1});if(!Ae.isMountpoint(t.node))throw new Ae.ErrnoError(28);var r=t.node,o=r.mounted,n=Ae.getMounts(o);Object.keys(Ae.nameTable).forEach((e=>{for(var t=Ae.nameTable[e];t;){var r=t.name_next;n.includes(t.mount)&&Ae.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(o);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var o=Ae.lookupPath(e,{parent:!0}).node,n=ce.basename(e);if(!n||"."===n||".."===n)throw new Ae.ErrnoError(28);var s=Ae.mayCreate(o,n);if(s)throw new Ae.ErrnoError(s);if(!o.node_ops.mknod)throw new Ae.ErrnoError(63);return o.node_ops.mknod(o,n,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,Ae.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,Ae.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),o="",n=0;n<r.length;++n)if(r[n]){o+="/"+r[n];try{Ae.mkdir(o,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,Ae.mknod(e,t,r)),symlink(e,t){if(!pe.resolve(e))throw new Ae.ErrnoError(44);var r=Ae.lookupPath(t,{parent:!0}).node;if(!r)throw new Ae.ErrnoError(44);var o=ce.basename(t),n=Ae.mayCreate(r,o);if(n)throw new Ae.ErrnoError(n);if(!r.node_ops.symlink)throw new Ae.ErrnoError(63);return r.node_ops.symlink(r,o,e)},rename(e,t){var r,o,n=ce.dirname(e),s=ce.dirname(t),a=ce.basename(e),i=ce.basename(t);if(r=Ae.lookupPath(e,{parent:!0}).node,o=Ae.lookupPath(t,{parent:!0}).node,!r||!o)throw new Ae.ErrnoError(44);if(r.mount!==o.mount)throw new Ae.ErrnoError(75);var u,l=Ae.lookupNode(r,a),c=pe.relative(e,s);if("."!==c.charAt(0))throw new Ae.ErrnoError(28);if("."!==(c=pe.relative(t,n)).charAt(0))throw new Ae.ErrnoError(55);try{u=Ae.lookupNode(o,i)}catch(e){}if(l!==u){var d=Ae.isDir(l.mode),p=Ae.mayDelete(r,a,d);if(p)throw new Ae.ErrnoError(p);if(p=u?Ae.mayDelete(o,i,d):Ae.mayCreate(o,i))throw new Ae.ErrnoError(p);if(!r.node_ops.rename)throw new Ae.ErrnoError(63);if(Ae.isMountpoint(l)||u&&Ae.isMountpoint(u))throw new Ae.ErrnoError(10);if(o!==r&&(p=Ae.nodePermissions(r,"w")))throw new Ae.ErrnoError(p);Ae.hashRemoveNode(l);try{r.node_ops.rename(l,o,i)}catch(e){throw e}finally{Ae.hashAddNode(l)}}},rmdir(e){var t=Ae.lookupPath(e,{parent:!0}).node,r=ce.basename(e),o=Ae.lookupNode(t,r),n=Ae.mayDelete(t,r,!0);if(n)throw new Ae.ErrnoError(n);if(!t.node_ops.rmdir)throw new Ae.ErrnoError(63);if(Ae.isMountpoint(o))throw new Ae.ErrnoError(10);t.node_ops.rmdir(t,r),Ae.destroyNode(o)},readdir(e){var t=Ae.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new Ae.ErrnoError(54);return t.node_ops.readdir(t)},unlink(e){var t=Ae.lookupPath(e,{parent:!0}).node;if(!t)throw new Ae.ErrnoError(44);var r=ce.basename(e),o=Ae.lookupNode(t,r),n=Ae.mayDelete(t,r,!1);if(n)throw new Ae.ErrnoError(n);if(!t.node_ops.unlink)throw new Ae.ErrnoError(63);if(Ae.isMountpoint(o))throw new Ae.ErrnoError(10);t.node_ops.unlink(t,r),Ae.destroyNode(o)},readlink(e){var t=Ae.lookupPath(e).node;if(!t)throw new Ae.ErrnoError(44);if(!t.node_ops.readlink)throw new Ae.ErrnoError(28);return pe.resolve(Ae.getPath(t.parent),t.node_ops.readlink(t))},stat(e,t){var r=Ae.lookupPath(e,{follow:!t}).node;if(!r)throw new Ae.ErrnoError(44);if(!r.node_ops.getattr)throw new Ae.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>Ae.stat(e,!0),chmod(e,t,r){var o;if(!(o="string"==typeof e?Ae.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new Ae.ErrnoError(63);o.node_ops.setattr(o,{mode:4095&t|-4096&o.mode,timestamp:Date.now()})},lchmod(e,t){Ae.chmod(e,t,!0)},fchmod(e,t){var r=Ae.getStreamChecked(e);Ae.chmod(r.node,t)},chown(e,t,r,o){var n;if(!(n="string"==typeof e?Ae.lookupPath(e,{follow:!o}).node:e).node_ops.setattr)throw new Ae.ErrnoError(63);n.node_ops.setattr(n,{timestamp:Date.now()})},lchown(e,t,r){Ae.chown(e,t,r,!0)},fchown(e,t,r){var o=Ae.getStreamChecked(e);Ae.chown(o.node,t,r)},truncate(e,t){if(t<0)throw new Ae.ErrnoError(28);var r;if(!(r="string"==typeof e?Ae.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new Ae.ErrnoError(63);if(Ae.isDir(r.mode))throw new Ae.ErrnoError(31);if(!Ae.isFile(r.mode))throw new Ae.ErrnoError(28);var o=Ae.nodePermissions(r,"w");if(o)throw new Ae.ErrnoError(o);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=Ae.getStreamChecked(e);if(0==(2097155&r.flags))throw new Ae.ErrnoError(28);Ae.truncate(r.node,t)},utime(e,t,r){var o=Ae.lookupPath(e,{follow:!0}).node;o.node_ops.setattr(o,{timestamp:Math.max(t,r)})},open(e,t,r){if(""===e)throw new Ae.ErrnoError(44);var o;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?(e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t})(t):t)?4095&r|32768:0,"object"==typeof e)o=e;else{e=ce.normalize(e);try{o=Ae.lookupPath(e,{follow:!(131072&t)}).node}catch(e){}}var n=!1;if(64&t)if(o){if(128&t)throw new Ae.ErrnoError(20)}else o=Ae.mknod(e,r,0),n=!0;if(!o)throw new Ae.ErrnoError(44);if(Ae.isChrdev(o.mode)&&(t&=-513),65536&t&&!Ae.isDir(o.mode))throw new Ae.ErrnoError(54);if(!n){var s=Ae.mayOpen(o,t);if(s)throw new Ae.ErrnoError(s)}512&t&&!n&&Ae.truncate(o,0),t&=-131713;var a=Ae.createStream({node:o,path:Ae.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return a.stream_ops.open&&a.stream_ops.open(a),!u.logReadFiles||1&t||(Ae.readFiles||(Ae.readFiles={}),e in Ae.readFiles||(Ae.readFiles[e]=1)),a},close(e){if(Ae.isClosed(e))throw new Ae.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Ae.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Ae.isClosed(e))throw new Ae.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Ae.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Ae.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,o,n){if(o<0||n<0)throw new Ae.ErrnoError(28);if(Ae.isClosed(e))throw new Ae.ErrnoError(8);if(1==(2097155&e.flags))throw new Ae.ErrnoError(8);if(Ae.isDir(e.node.mode))throw new Ae.ErrnoError(31);if(!e.stream_ops.read)throw new Ae.ErrnoError(28);var s=void 0!==n;if(s){if(!e.seekable)throw new Ae.ErrnoError(70)}else n=e.position;var a=e.stream_ops.read(e,t,r,o,n);return s||(e.position+=a),a},write(e,t,r,o,n,s){if(o<0||n<0)throw new Ae.ErrnoError(28);if(Ae.isClosed(e))throw new Ae.ErrnoError(8);if(0==(2097155&e.flags))throw new Ae.ErrnoError(8);if(Ae.isDir(e.node.mode))throw new Ae.ErrnoError(31);if(!e.stream_ops.write)throw new Ae.ErrnoError(28);e.seekable&&1024&e.flags&&Ae.llseek(e,0,2);var a=void 0!==n;if(a){if(!e.seekable)throw new Ae.ErrnoError(70)}else n=e.position;var i=e.stream_ops.write(e,t,r,o,n,s);return a||(e.position+=i),i},allocate(e,t,r){if(Ae.isClosed(e))throw new Ae.ErrnoError(8);if(t<0||r<=0)throw new Ae.ErrnoError(28);if(0==(2097155&e.flags))throw new Ae.ErrnoError(8);if(!Ae.isFile(e.node.mode)&&!Ae.isDir(e.node.mode))throw new Ae.ErrnoError(43);if(!e.stream_ops.allocate)throw new Ae.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,o,n){if(0!=(2&o)&&0==(2&n)&&2!=(2097155&e.flags))throw new Ae.ErrnoError(2);if(1==(2097155&e.flags))throw new Ae.ErrnoError(2);if(!e.stream_ops.mmap)throw new Ae.ErrnoError(43);return e.stream_ops.mmap(e,t,r,o,n)},msync:(e,t,r,o,n)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,o,n):0,munmap:e=>0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Ae.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,o=Ae.open(e,t.flags),n=Ae.stat(e).size,s=new Uint8Array(n);return Ae.read(o,s,0,n,0),"utf8"===t.encoding?r=fe(s,0):"binary"===t.encoding&&(r=s),Ae.close(o),r},writeFile(e,t,r={}){r.flags=r.flags||577;var o=Ae.open(e,r.flags,r.mode);if("string"==typeof t){var n=new Uint8Array(he(t)+1),s=be(t,n,0,n.length);Ae.write(o,n,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");Ae.write(o,t,0,t.byteLength,void 0,r.canOwn)}Ae.close(o)},cwd:()=>Ae.currentPath,chdir(e){var t=Ae.lookupPath(e,{follow:!0});if(null===t.node)throw new Ae.ErrnoError(44);if(!Ae.isDir(t.node.mode))throw new Ae.ErrnoError(54);var r=Ae.nodePermissions(t.node,"x");if(r)throw new Ae.ErrnoError(r);Ae.currentPath=t.path},createDefaultDirectories(){Ae.mkdir("/tmp"),Ae.mkdir("/home"),Ae.mkdir("/home/web_user")},createDefaultDevices(){Ae.mkdir("/dev"),Ae.registerDevice(Ae.makedev(1,3),{read:()=>0,write:(e,t,r,o,n)=>o}),Ae.mkdev("/dev/null",Ae.makedev(1,3)),ve.register(Ae.makedev(5,0),ve.default_tty_ops),ve.register(Ae.makedev(6,0),ve.default_tty1_ops),Ae.mkdev("/dev/tty",Ae.makedev(5,0)),Ae.mkdev("/dev/tty1",Ae.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=de(e).byteLength),e[--t]);Ae.createDevice("/dev","random",r),Ae.createDevice("/dev","urandom",r),Ae.mkdir("/dev/shm"),Ae.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Ae.mkdir("/proc");var e=Ae.mkdir("/proc/self");Ae.mkdir("/proc/self/fd"),Ae.mount({mount(){var t=Ae.createNode(e,"fd",16895,73);return t.node_ops={lookup(e,t){var r=+t,o=Ae.getStreamChecked(r),n={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>o.path}};return n.parent=n,n}},t}},{},"/proc/self/fd")},createStandardStreams(){u.stdin?Ae.createDevice("/dev","stdin",u.stdin):Ae.symlink("/dev/tty","/dev/stdin"),u.stdout?Ae.createDevice("/dev","stdout",null,u.stdout):Ae.symlink("/dev/tty","/dev/stdout"),u.stderr?Ae.createDevice("/dev","stderr",null,u.stderr):Ae.symlink("/dev/tty1","/dev/stderr"),Ae.open("/dev/stdin",0),Ae.open("/dev/stdout",1),Ae.open("/dev/stderr",1)},staticInit(){[44].forEach((e=>{Ae.genericErrors[e]=new Ae.ErrnoError(e),Ae.genericErrors[e].stack="<generic error, no stack>"})),Ae.nameTable=new Array(4096),Ae.mount(ke,{},"/"),Ae.createDefaultDirectories(),Ae.createDefaultDevices(),Ae.createSpecialDirectories(),Ae.filesystems={MEMFS:ke}},init(e,t,r){Ae.init.initialized=!0,u.stdin=e||u.stdin,u.stdout=t||u.stdout,u.stderr=r||u.stderr,Ae.createStandardStreams()},quit(){Ae.init.initialized=!1;for(var e=0;e<Ae.streams.length;e++){var t=Ae.streams[e];t&&Ae.close(t)}},findObject(e,t){var r=Ae.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(o=Ae.lookupPath(e,{follow:!t})).path}catch(e){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var o=Ae.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=o.path,r.parentObject=o.node,r.name=ce.basename(e),o=Ae.lookupPath(e,{follow:!t}),r.exists=!0,r.path=o.path,r.object=o.node,r.name=o.node.name,r.isRoot="/"===o.path}catch(e){r.error=e.errno}return r},createPath(e,t,r,o){e="string"==typeof e?e:Ae.getPath(e);for(var n=t.split("/").reverse();n.length;){var s=n.pop();if(s){var a=ce.join2(e,s);try{Ae.mkdir(a)}catch(e){}e=a}}return a},createFile(e,t,r,o,n){var s=ce.join2("string"==typeof e?e:Ae.getPath(e),t),a=we(o,n);return Ae.create(s,a)},createDataFile(e,t,r,o,n,s){var a=t;e&&(e="string"==typeof e?e:Ae.getPath(e),a=t?ce.join2(e,t):e);var i=we(o,n),u=Ae.create(a,i);if(r){if("string"==typeof r){for(var l=new Array(r.length),c=0,d=r.length;c<d;++c)l[c]=r.charCodeAt(c);r=l}Ae.chmod(u,146|i);var p=Ae.open(u,577);Ae.write(p,r,0,r.length,0,s),Ae.close(p),Ae.chmod(u,i)}},createDevice(e,t,r,o){var n=ce.join2("string"==typeof e?e:Ae.getPath(e),t),s=we(!!r,!!o);Ae.createDevice.major||(Ae.createDevice.major=64);var a=Ae.makedev(Ae.createDevice.major++,0);return Ae.registerDevice(a,{open(e){e.seekable=!1},close(e){var t;(null==(t=null==o?void 0:o.buffer)?void 0:t.length)&&o(10)},read(e,t,o,n,s){for(var a=0,i=0;i<n;i++){var u;try{u=r()}catch(e){throw new Ae.ErrnoError(29)}if(void 0===u&&0===a)throw new Ae.ErrnoError(6);if(null==u)break;a++,t[o+i]=u}return a&&(e.node.timestamp=Date.now()),a},write(e,t,r,n,s){for(var a=0;a<n;a++)try{o(t[r+a])}catch(e){throw new Ae.ErrnoError(29)}return n&&(e.node.timestamp=Date.now()),a}}),Ae.mkdev(n,s,a)},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(!l)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=ye(l(e.url),!0),e.usedBytes=e.contents.length}catch(e){throw new Ae.ErrnoError(29)}},createLazyFile(e,t,r,o,n){function s(){this.lengthKnown=!1,this.chunks=[]}if(s.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},s.prototype.setDataGetter=function(e){this.getter=e},s.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,o=Number(e.getResponseHeader("Content-length")),n=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;n||(a=o);var i=this;i.setDataGetter((e=>{var t=e*a,n=(e+1)*a-1;if(n=Math.min(n,o-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>o-1)throw new Error("only "+o+" bytes available! programmer error!");var n=new XMLHttpRequest;if(n.open("GET",r,!1),o!==a&&n.setRequestHeader("Range","bytes="+e+"-"+t),n.responseType="arraybuffer",n.overrideMimeType&&n.overrideMimeType("text/plain; charset=x-user-defined"),n.send(null),!(n.status>=200&&n.status<300||304===n.status))throw new Error("Couldn't load "+r+". Status: "+n.status);return void 0!==n.response?new Uint8Array(n.response||[]):ye(n.responseText||"",!0)})(t,n)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]})),!s&&o||(a=o=1,o=this.getter(0).length,a=o,A("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=o,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!b)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new s;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var i={isDevice:!1,contents:a}}else i={isDevice:!1,url:r};var u=Ae.createFile(e,t,i,o,n);i.contents?u.contents=i.contents:i.url&&(u.contents=null,u.url=i.url),Object.defineProperties(u,{usedBytes:{get:function(){return this.contents.length}}});var l={};function c(e,t,r,o,n){var s=e.node.contents;if(n>=s.length)return 0;var a=Math.min(s.length-n,o);if(s.slice)for(var i=0;i<a;i++)t[r+i]=s[n+i];else for(i=0;i<a;i++)t[r+i]=s.get(n+i);return a}return Object.keys(u.stream_ops).forEach((e=>{var t=u.stream_ops[e];l[e]=function(){return Ae.forceLoadFile(u),t.apply(null,arguments)}})),l.read=(e,t,r,o,n)=>(Ae.forceLoadFile(u),c(e,t,r,o,n)),l.mmap=(e,t,r,o,n)=>{Ae.forceLoadFile(u);var s=_e(t);if(!s)throw new Ae.ErrnoError(48);return c(e,S,s,t,r),{ptr:s,allocated:!0}},u.stream_ops=l,u}},Ee=(e,t)=>e?fe(R,e,t):"",Pe={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(ce.isAbs(t))return t;var o;if(o=-100===e?Ae.cwd():Pe.getStreamFromFD(e).path,0==t.length){if(!r)throw new Ae.ErrnoError(44);return o}return ce.join2(o,t)},doStat(e,t,r){var o=e(t);x[r>>2]=o.dev,x[r+4>>2]=o.mode,T[r+8>>2]=o.nlink,x[r+12>>2]=o.uid,x[r+16>>2]=o.gid,x[r+20>>2]=o.rdev,F[r+24>>3]=BigInt(o.size),x[r+32>>2]=4096,x[r+36>>2]=o.blocks;var n=o.atime.getTime(),s=o.mtime.getTime(),a=o.ctime.getTime();return F[r+40>>3]=BigInt(Math.floor(n/1e3)),T[r+48>>2]=n%1e3*1e3,F[r+56>>3]=BigInt(Math.floor(s/1e3)),T[r+64>>2]=s%1e3*1e3,F[r+72>>3]=BigInt(Math.floor(a/1e3)),T[r+80>>2]=a%1e3*1e3,F[r+88>>3]=BigInt(o.ino),0},doMsync(e,t,r,o,n){if(!Ae.isFile(t.node.mode))throw new Ae.ErrnoError(43);if(2&o)return 0;var s=R.slice(e,e+r);Ae.msync(t,s,n,r,o)},varargs:void 0,get(){var e=x[+Pe.varargs>>2];return Pe.varargs+=4,e},getp:()=>Pe.get(),getStr:e=>Ee(e),getStreamFromFD:e=>Ae.getStreamChecked(e)},Se={},Re=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Be(e){return this.fromWireType(x[e>>2])}var Ie,xe,Te,qe={},Fe={},De={},Le=e=>{throw new Ie(e)},Me=(e,t,r)=>{function o(t){var o=r(t);o.length!==e.length&&Le("Mismatched type converter count");for(var n=0;n<e.length;++n)Ne(e[n],o[n])}e.forEach((function(e){De[e]=t}));var n=new Array(t.length),s=[],a=0;t.forEach(((e,t)=>{Fe.hasOwnProperty(e)?n[t]=Fe[e]:(s.push(e),qe.hasOwnProperty(e)||(qe[e]=[]),qe[e].push((()=>{n[t]=Fe[e],++a===s.length&&o(n)})))})),0===s.length&&o(n)},Oe={},Ue=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},$e=e=>{for(var t="",r=e;R[r];)t+=xe[R[r++]];return t},Ve=e=>{throw new Te(e)};function Ne(e,t,r={}){if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t,r={}){var o=t.name;if(e||Ve(`type "${o}" must have a positive integer typeid pointer`),Fe.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ve(`Cannot register type '${o}' twice`)}if(Fe[e]=t,delete De[e],qe.hasOwnProperty(e)){var n=qe[e];delete qe[e],n.forEach((e=>e()))}}(e,t,r)}var He,je=(e,t,r)=>{switch(t){case 1:return r?e=>S[e>>0]:e=>R[e>>0];case 2:return r?e=>B[e>>1]:e=>I[e>>1];case 4:return r?e=>x[e>>2]:e=>T[e>>2];case 8:return r?e=>F[e>>3]:e=>D[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},We=8,Ge=e=>{Ve(e.$$.ptrType.registeredClass.name+" instance already deleted")},ze=!1,Ye=e=>{},Xe=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Qe=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var o=Qe(e,t,r.baseClass);return null===o?null:r.downcast(o)},Ke={},Ze=()=>Object.keys(ot).length,Je=()=>{var e=[];for(var t in ot)ot.hasOwnProperty(t)&&e.push(ot[t]);return e},et=[],tt=()=>{for(;et.length;){var e=et.pop();e.$$.deleteScheduled=!1,e.delete()}},rt=e=>{He=e,et.length&&He&&He(tt)},ot={},nt=(e,t)=>(t=((e,t)=>{for(void 0===t&&Ve("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),ot[t]),st=(e,t)=>(t.ptrType&&t.ptr||Le("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Le("Both smartPtrType and smartPtr must be specified"),t.count={value:1},it(Object.create(e,{$$:{value:t,writable:!0}})));function at(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=nt(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var o=r.clone();return this.destructor(e),o}function n(){return this.isSmartPointer?st(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):st(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,a=this.registeredClass.getActualType(t),i=Ke[a];if(!i)return n.call(this);s=this.isConst?i.constPointerType:i.pointerType;var u=Qe(t,this.registeredClass,s.registeredClass);return null===u?n.call(this):this.isSmartPointer?st(s.registeredClass.instancePrototype,{ptrType:s,ptr:u,smartPtrType:this,smartPtr:e}):st(s.registeredClass.instancePrototype,{ptrType:s,ptr:u})}var it=e=>"undefined"==typeof FinalizationRegistry?(it=e=>e,e):(ze=new FinalizationRegistry((e=>{Xe(e.$$)})),Ye=e=>ze.unregister(e),(it=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};ze.register(e,r,e)}return e})(e));function ut(){}var lt=(e,t)=>Object.defineProperty(t,"name",{value:e}),ct=(e,t,r)=>{if(void 0===e[t].overloadTable){var o=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||Ve(`Function '${r}' called with an invalid number of arguments (${arguments.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[o.argCount]=o}},dt=(e,t,r)=>{u.hasOwnProperty(e)?((void 0===r||void 0!==u[e].overloadTable&&void 0!==u[e].overloadTable[r])&&Ve(`Cannot register public name '${e}' twice`),ct(u,e,e),u.hasOwnProperty(r)&&Ve(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),u[e].overloadTable[r]=t):(u[e]=t,void 0!==r&&(u[e].numArguments=r))};function pt(e,t,r,o,n,s,a,i){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=o,this.baseClass=n,this.getActualType=s,this.upcast=a,this.downcast=i,this.pureVirtualFunctions=[]}var gt=(e,t,r)=>{for(;t!==r;)t.upcast||Ve(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function ft(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${Ue(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return gt(t.$$.ptr,r,this.registeredClass)}function mt(e,t){var r;if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t&&t.$$||Ve(`Cannot pass "${Ue(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);var o=t.$$.ptrType.registeredClass;if(r=gt(t.$$.ptr,o,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ve("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Ve(`Cannot convert argument of type ${t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name} to parameter type ${this.name}`);break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var n=t.clone();r=this.rawShare(r,Lt.toHandle((()=>n.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:Ve("Unsupporting sharing policy")}return r}function ht(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${Ue(t)}" as a ${this.name}`),t.$$.ptr||Ve(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&Ve(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return gt(t.$$.ptr,r,this.registeredClass)}function bt(e){return this.fromWireType(T[e>>2])}function yt(e,t,r,o,n,s,a,i,u,l,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=o,this.isSmartPointer=n,this.pointeeType=s,this.sharingPolicy=a,this.rawGetPointee=i,this.rawConstructor=u,this.rawShare=l,this.rawDestructor=c,n||void 0!==t.baseClass?this.toWireType=mt:o?(this.toWireType=ft,this.destructorFunction=null):(this.toWireType=ht,this.destructorFunction=null)}var vt,_t,kt=(e,t,r)=>{u.hasOwnProperty(e)||Le("Replacing nonexistant public symbol"),void 0!==u[e].overloadTable&&void 0!==r?u[e].overloadTable[r]=t:(u[e]=t,u[e].argCount=r)},Ct=[],wt=e=>{var t=Ct[e];return t||(e>=Ct.length&&(Ct.length=e+1),Ct[e]=t=vt.get(e)),t},At=(e,t)=>{e=$e(e);var r=wt(t);return"function"!=typeof r&&Ve(`unknown function pointer with signature ${e}: ${t}`),r},Et=e=>{var t=Lu(e),r=$e(t);return Tu(t),r},Pt=(e,t)=>{var r=[],o={};throw t.forEach((function e(t){o[t]||Fe[t]||(De[t]?De[t].forEach(e):(r.push(t),o[t]=!0))})),new _t(`${e}: `+r.map(Et).join([", "]))},St=(e,t)=>{for(var r=[],o=0;o<e;o++)r.push(T[t+4*o>>2]);return r};function Rt(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}function Bt(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=lt(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var o=new r,n=e.apply(o,t);return n instanceof Object?n:o}function It(e,t,r,o,n,s){var a=t.length;a<2&&Ve("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var i=null!==t[1]&&null!==r,u=Rt(t),l="void"!==t[0].name,c=[e,Ve,o,n,Re,t[0],t[1]],d=0;d<a-2;++d)c.push(t[d+2]);if(!u)for(d=i?1:2;d<t.length;++d)null!==t[d].destructorFunction&&c.push(t[d].destructorFunction);let[p,g]=function(e,t,r,o){for(var n=Rt(e),s=e.length,a="",i="",u=0;u<s-2;++u)a+=(0!==u?", ":"")+"arg"+u,i+=(0!==u?", ":"")+"arg"+u+"Wired";var l=`\n return function (${a}) {\n if (arguments.length !== ${s-2}) {\n throwBindingError('function ' + humanName + ' called with ' + arguments.length + ' arguments, expected ${s-2}');\n }`;n&&(l+="var destructors = [];\n");var c=n?"destructors":"null",d=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(t&&(l+="var thisWired = classParam['toWireType']("+c+", this);\n"),u=0;u<s-2;++u)l+="var arg"+u+"Wired = argType"+u+"['toWireType']("+c+", arg"+u+");\n",d.push("argType"+u);if(t&&(i="thisWired"+(i.length>0?", ":"")+i),l+=(r||o?"var rv = ":"")+"invoker(fn"+(i.length>0?", ":"")+i+");\n",n)l+="runDestructors(destructors);\n";else for(u=t?1:2;u<e.length;++u){var p=1===u?"thisWired":"arg"+(u-2)+"Wired";null!==e[u].destructorFunction&&(l+=p+"_dtor("+p+");\n",d.push(p+"_dtor"))}return r&&(l+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),[d,l+="}\n"]}(t,i,l,s);p.push(g);var f=Bt(Function,p).apply(null,c);return lt(e,f)}var xt,Tt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},qt=new class HandleAllocator{constructor(){this.allocated=[void 0],this.freelist=[]}get(e){return this.allocated[e]}has(e){return void 0!==this.allocated[e]}allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t}free(e){this.allocated[e]=void 0,this.freelist.push(e)}},Ft=e=>{e>=qt.reserved&&0==--qt.get(e).refcount&&qt.free(e)},Dt=()=>{for(var e=0,t=qt.reserved;t<qt.allocated.length;++t)void 0!==qt.allocated[t]&&++e;return e},Lt={toValue:e=>(e||Ve("Cannot use deleted val. handle = "+e),qt.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return qt.allocate({refcount:1,value:e})}}},Mt={name:"emscripten::val",fromWireType:e=>{var t=Lt.toValue(e);return Ft(e),t},toWireType:(e,t)=>Lt.toHandle(t),argPackAdvance:We,readValueFromPointer:Be,destructorFunction:null},Ot=(e,t,r)=>{switch(t){case 1:return r?function(e){return this.fromWireType(S[e>>0])}:function(e){return this.fromWireType(R[e>>0])};case 2:return r?function(e){return this.fromWireType(B[e>>1])}:function(e){return this.fromWireType(I[e>>1])};case 4:return r?function(e){return this.fromWireType(x[e>>2])}:function(e){return this.fromWireType(T[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Ut=(e,t)=>{var r=Fe[e];return void 0===r&&Ve(t+" has unknown type "+Et(e)),r},$t=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(q[e>>2])};case 8:return function(e){return this.fromWireType(L[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Vt=(e,t,r)=>be(e,R,t,r),Nt="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Ht=(e,t)=>{for(var r=e,o=r>>1,n=o+t/2;!(o>=n)&&I[o];)++o;if((r=o<<1)-e>32&&Nt)return Nt.decode(R.subarray(e,r));for(var s="",a=0;!(a>=t/2);++a){var i=B[e+2*a>>1];if(0==i)break;s+=String.fromCharCode(i)}return s},jt=(e,t,r)=>{if(r??=2147483647,r<2)return 0;for(var o=t,n=(r-=2)<2*e.length?r/2:e.length,s=0;s<n;++s){var a=e.charCodeAt(s);B[t>>1]=a,t+=2}return B[t>>1]=0,t-o},Wt=e=>2*e.length,Gt=(e,t)=>{for(var r=0,o="";!(r>=t/4);){var n=x[e+4*r>>2];if(0==n)break;if(++r,n>=65536){var s=n-65536;o+=String.fromCharCode(55296|s>>10,56320|1023&s)}else o+=String.fromCharCode(n)}return o},zt=(e,t,r)=>{if(r??=2147483647,r<4)return 0;for(var o=t,n=o+r-4,s=0;s<e.length;++s){var a=e.charCodeAt(s);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++s)),x[t>>2]=a,(t+=4)+4>n)break}return x[t>>2]=0,t-o},Yt=e=>{for(var t=0,r=0;r<e.length;++r){var o=e.charCodeAt(r);o>=55296&&o<=57343&&++r,t+=4}return t},Xt=(e,t,r)=>{var o=[],n=e.toWireType(o,r);return o.length&&(T[t>>2]=Lt.toHandle(o)),n},Qt=[],Kt={},Zt=e=>{var t=Kt[e];return void 0===t?$e(e):t},Jt=()=>"object"==typeof globalThis?globalThis:function(){return Function}()("return this")(),er=(Reflect.construct,e=>e<-9007199254740992||e>9007199254740992?NaN:Number(e)),tr=e=>e%4==0&&(e%100!=0||e%400==0),rr=[0,31,60,91,121,152,182,213,244,274,305,335],or=[0,31,59,90,120,151,181,212,243,273,304,334],nr=e=>(tr(e.getFullYear())?rr:or)[e.getMonth()]+e.getDate()-1,sr=e=>{var t=he(e)+1,r=Iu(t);return r&&Vt(e,r,t),r},ar=(e,t)=>{if(gr.mainLoop.timingMode=e,gr.mainLoop.timingValue=t,!gr.mainLoop.func)return 1;if(gr.mainLoop.running||(gr.mainLoop.running=!0),0==e)gr.mainLoop.scheduler=function(){var e=0|Math.max(0,gr.mainLoop.tickStartTime+t-xt());setTimeout(gr.mainLoop.runner,e)},gr.mainLoop.method="timeout";else if(1==e)gr.mainLoop.scheduler=function(){gr.requestAnimationFrame(gr.mainLoop.runner)},gr.mainLoop.method="rAF";else if(2==e){if(void 0===gr.setImmediate)if("undefined"==typeof setImmediate){var r=[],o="setimmediate";addEventListener("message",(e=>{e.data!==o&&e.data.target!==o||(e.stopPropagation(),r.shift()())}),!0),gr.setImmediate=function(e){r.push(e),b?(void 0===u.setImmediates&&(u.setImmediates=[]),u.setImmediates.push(e),postMessage({target:o})):postMessage(o,"*")}}else gr.setImmediate=setImmediate;gr.mainLoop.scheduler=function(){gr.setImmediate(gr.mainLoop.runner)},gr.mainLoop.method="immediate"}return 0};xt=()=>performance.now();var ir=e=>{if(e instanceof ne||"unwind"==e)return P;m(1,e)},ur=()=>ae||!1,lr=(e,t)=>{var r,o;P=e,P=r=e,ur()||(null==(o=u.onExit)||o.call(u,r),M=!0),m(r,new ne(r))},cr=lr,dr=e=>{if(!M)try{e(),(()=>{if(!ur())try{cr(P)}catch(e){ir(e)}})()}catch(e){ir(e)}},pr=(e,t)=>setTimeout((()=>{dr(e)}),t),gr={mainLoop:{running:!1,scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause(){gr.mainLoop.scheduler=null,gr.mainLoop.currentlyRunningMainloop++},resume(){gr.mainLoop.currentlyRunningMainloop++;var e=gr.mainLoop.timingMode,t=gr.mainLoop.timingValue,r=gr.mainLoop.func;gr.mainLoop.func=null,((e,t,r,o,n)=>{O(!gr.mainLoop.func,"emscripten_set_main_loop: there can only be one main loop function at once: call emscripten_cancel_main_loop to cancel the previous one before setting a new one with different parameters."),gr.mainLoop.func=e,gr.mainLoop.arg=o;var s=gr.mainLoop.currentlyRunningMainloop;function a(){return!(s<gr.mainLoop.currentlyRunningMainloop)}if(gr.mainLoop.running=!1,gr.mainLoop.runner=function(){var t,r;if(!M)if(gr.mainLoop.queue.length>0){Date.now();var o=gr.mainLoop.queue.shift();if(o.func(o.arg),gr.mainLoop.remainingBlockers){var n=gr.mainLoop.remainingBlockers,s=n%1==0?n-1:Math.floor(n);o.counted?gr.mainLoop.remainingBlockers=s:(s+=.5,gr.mainLoop.remainingBlockers=(8*n+s)/9)}if(gr.mainLoop.updateStatus(),!a())return;setTimeout(gr.mainLoop.runner,0)}else a()&&(gr.mainLoop.currentFrameNumber=gr.mainLoop.currentFrameNumber+1|0,1==gr.mainLoop.timingMode&&gr.mainLoop.timingValue>1&&gr.mainLoop.currentFrameNumber%gr.mainLoop.timingValue!=0?gr.mainLoop.scheduler():(0==gr.mainLoop.timingMode&&(gr.mainLoop.tickStartTime=xt()),gr.mainLoop.runIter(e),a()&&("object"==typeof SDL&&(null==(r=null==(t=SDL.audio)?void 0:t.queueNewAudioData)||r.call(t)),gr.mainLoop.scheduler())))},n||(t&&t>0?ar(0,1e3/t):ar(1,1),gr.mainLoop.scheduler()),r)throw"unwind"})(r,0,!1,gr.mainLoop.arg,!0),ar(e,t),gr.mainLoop.scheduler()},updateStatus(){if(u.setStatus){var e=u.statusMessage||"Please wait...",t=gr.mainLoop.remainingBlockers,r=gr.mainLoop.expectedBlockers;t?t<r?u.setStatus(e+" ("+(r-t)+"/"+r+")"):u.setStatus(e):u.setStatus("")}},runIter(e){var t;if(!M){if(u.preMainLoop&&!1===u.preMainLoop())return;dr(e),null==(t=u.postMainLoop)||t.call(u)}}},isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],init(){if(!gr.initted){gr.initted=!0;var e={canHandle:function(e){return!u.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},handle:function(e,t,r,o){var n=new Blob([e],{type:gr.getMimetype(t)});n.size!==e.length&&(n=new Blob([new Uint8Array(e).buffer],{type:gr.getMimetype(t)}));var s=URL.createObjectURL(n),a=new Image;a.onload=()=>{O(a.complete,`Image ${t} could not be decoded`);var o=document.createElement("canvas");o.width=a.width,o.height=a.height,o.getContext("2d").drawImage(a,0,0),Cu[t]=o,URL.revokeObjectURL(s),null==r||r(e)},a.onerror=e=>{E(`Image ${s} could not be decoded`),null==o||o()},a.src=s}};Ce.push(e);var t={canHandle:function(e){return!u.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},handle:function(e,t,r,o){var n=!1;function s(o){n||(n=!0,wu[t]=o,null==r||r(e))}var a=new Blob([e],{type:gr.getMimetype(t)}),i=URL.createObjectURL(a),u=new Audio;u.addEventListener("canplaythrough",(()=>s(u)),!1),u.onerror=function(r){n||(E(`warning: browser could not fully decode audio ${t}, trying slower base64 approach`),u.src="data:audio/x-"+t.substr(-3)+";base64,"+function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",o=0,n=0,s=0;s<e.length;s++)for(o=o<<8|e[s],n+=8;n>=6;){var a=o>>n-6&63;n-=6,r+=t[a]}return 2==n?(r+=t[(3&o)<<4],r+="=="):4==n&&(r+=t[(15&o)<<2],r+="="),r}(e),s(u))},u.src=i,pr((()=>{s(u)}),1e4)}};Ce.push(t);var r=u.canvas;r&&(r.requestPointerLock=r.requestPointerLock||r.mozRequestPointerLock||r.webkitRequestPointerLock||r.msRequestPointerLock||(()=>{}),r.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||(()=>{}),r.exitPointerLock=r.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",o,!1),document.addEventListener("mozpointerlockchange",o,!1),document.addEventListener("webkitpointerlockchange",o,!1),document.addEventListener("mspointerlockchange",o,!1),u.elementPointerLock&&r.addEventListener("click",(e=>{!gr.pointerLock&&u.canvas.requestPointerLock&&(u.canvas.requestPointerLock(),e.preventDefault())}),!1))}function o(){gr.pointerLock=document.pointerLockElement===u.canvas||document.mozPointerLockElement===u.canvas||document.webkitPointerLockElement===u.canvas||document.msPointerLockElement===u.canvas}},createContext(e,t,r,o){if(t&&u.ctx&&e==u.canvas)return u.ctx;var n,s;if(t){var a={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(o)for(var i in o)a[i]=o[i];void 0!==mr&&(s=mr.createContext(e,a))&&(n=mr.getContext(s).GLctx)}else n=e.getContext("2d");return n?(r&&(t||O(void 0===ku,"cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),u.ctx=n,t&&mr.makeContextCurrent(s),u.useWebGL=t,gr.moduleContextCreatedCallbacks.forEach((e=>e())),gr.init()),n):null},destroyContext(e,t,r){},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen(e,t){gr.lockPointer=e,gr.resizeCanvas=t,void 0===gr.lockPointer&&(gr.lockPointer=!0),void 0===gr.resizeCanvas&&(gr.resizeCanvas=!1);var r=u.canvas;function o(){var e,t;gr.isFullscreen=!1;var o=r.parentNode;(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===o?(r.exitFullscreen=gr.exitFullscreen,gr.lockPointer&&r.requestPointerLock(),gr.isFullscreen=!0,gr.resizeCanvas?gr.setFullscreenCanvasSize():gr.updateCanvasDimensions(r)):(o.parentNode.insertBefore(r,o),o.parentNode.removeChild(o),gr.resizeCanvas?gr.setWindowedCanvasSize():gr.updateCanvasDimensions(r)),null==(e=u.onFullScreen)||e.call(u,gr.isFullscreen),null==(t=u.onFullscreen)||t.call(u,gr.isFullscreen)}gr.fullscreenHandlersInstalled||(gr.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",o,!1),document.addEventListener("mozfullscreenchange",o,!1),document.addEventListener("webkitfullscreenchange",o,!1),document.addEventListener("MSFullscreenChange",o,!1));var n=document.createElement("div");r.parentNode.insertBefore(n,r),n.appendChild(r),n.requestFullscreen=n.requestFullscreen||n.mozRequestFullScreen||n.msRequestFullscreen||(n.webkitRequestFullscreen?()=>n.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(n.webkitRequestFullScreen?()=>n.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),n.requestFullscreen()},exitFullscreen:()=>!!gr.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0),nextRAF:0,fakeRequestAnimationFrame(e){var t=Date.now();if(0===gr.nextRAF)gr.nextRAF=t+1e3/60;else for(;t+2>=gr.nextRAF;)gr.nextRAF+=1e3/60;var r=Math.max(gr.nextRAF-t,0);setTimeout(e,r)},requestAnimationFrame(e){"function"!=typeof requestAnimationFrame?(0,gr.fakeRequestAnimationFrame)(e):requestAnimationFrame(e)},safeSetTimeout:(e,t)=>pr(e,t),safeRequestAnimationFrame:e=>gr.requestAnimationFrame((()=>{dr(e)})),getMimetype:e=>({jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.substr(e.lastIndexOf(".")+1)]),getUserMedia(e){window.getUserMedia||=navigator.getUserMedia||navigator.mozGetUserMedia,window.getUserMedia(e)},getMovementX:e=>e.movementX||e.mozMovementX||e.webkitMovementX||0,getMovementY:e=>e.movementY||e.mozMovementY||e.webkitMovementY||0,getMouseWheelDelta(e){var t=0;switch(e.type){case"DOMMouseScroll":t=e.detail/3;break;case"mousewheel":t=e.wheelDelta/120;break;case"wheel":switch(t=e.deltaY,e.deltaMode){case 0:t/=100;break;case 1:t/=3;break;case 2:t*=80;break;default:throw"unrecognized mouse wheel delta mode: "+e.deltaMode}break;default:throw"unrecognized mouse wheel event: "+e.type}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(e,t){var r=u.canvas.getBoundingClientRect(),o=u.canvas.width,n=u.canvas.height,s=void 0!==window.scrollX?window.scrollX:window.pageXOffset,a=void 0!==window.scrollY?window.scrollY:window.pageYOffset,i=e-(s+r.left),l=t-(a+r.top);return{x:i*=o/r.width,y:l*=n/r.height}},setMouseCoords(e,t){const{x:r,y:o}=gr.calculateMouseCoords(e,t);gr.mouseMovementX=r-gr.mouseX,gr.mouseMovementY=o-gr.mouseY,gr.mouseX=r,gr.mouseY=o},calculateMouseEvent(e){if(gr.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?gr.mouseMovementX=gr.mouseMovementY=0:(gr.mouseMovementX=gr.getMovementX(e),gr.mouseMovementY=gr.getMovementY(e)),"undefined"!=typeof SDL?(gr.mouseX=SDL.mouseX+gr.mouseMovementX,gr.mouseY=SDL.mouseY+gr.mouseMovementY):(gr.mouseX+=gr.mouseMovementX,gr.mouseY+=gr.mouseMovementY);else{if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var t=e.touch;if(void 0===t)return;var r=gr.calculateMouseCoords(t.pageX,t.pageY);if("touchstart"===e.type)gr.lastTouches[t.identifier]=r,gr.touches[t.identifier]=r;else if("touchend"===e.type||"touchmove"===e.type){var o=gr.touches[t.identifier];o||=r,gr.lastTouches[t.identifier]=o,gr.touches[t.identifier]=r}return}gr.setMouseCoords(e.pageX,e.pageY)}},resizeListeners:[],updateResizeListeners(){var e=u.canvas;gr.resizeListeners.forEach((t=>t(e.width,e.height)))},setCanvasSize(e,t,r){var o=u.canvas;gr.updateCanvasDimensions(o,e,t),r||gr.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if("undefined"!=typeof SDL){var e=T[SDL.screen>>2];e|=8388608,x[SDL.screen>>2]=e}gr.updateCanvasDimensions(u.canvas),gr.updateResizeListeners()},setWindowedCanvasSize(){if("undefined"!=typeof SDL){var e=T[SDL.screen>>2];e&=-8388609,x[SDL.screen>>2]=e}gr.updateCanvasDimensions(u.canvas),gr.updateResizeListeners()},updateCanvasDimensions(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var o=t,n=r;if(u.forcedAspectRatio&&u.forcedAspectRatio>0&&(o/n<u.forcedAspectRatio?o=Math.round(n*u.forcedAspectRatio):n=Math.round(o/u.forcedAspectRatio)),(document.fullscreenElement||document.mozFullScreenElement||document.msFullscreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement)===e.parentNode&&"undefined"!=typeof screen){var s=Math.min(screen.width/o,screen.height/n);o=Math.round(o*s),n=Math.round(n*s)}gr.resizeCanvas?(e.width!=o&&(e.width=o),e.height!=n&&(e.height=n),void 0!==e.style&&(e.style.removeProperty("width"),e.style.removeProperty("height"))):(e.width!=t&&(e.width=t),e.height!=r&&(e.height=r),void 0!==e.style&&(o!=t||n!=r?(e.style.setProperty("width",o+"px","important"),e.style.setProperty("height",n+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}},fr={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode(e){fr.errorCode=e},chooseConfig(e,t,r,o,n){if(62e3!=e)return fr.setErrorCode(12296),0;if(t)for(;;){var s=x[t>>2];if(12321==s){var a=x[t+4>>2];fr.contextAttributes.alpha=a>0}else if(12325==s){var i=x[t+4>>2];fr.contextAttributes.depth=i>0}else if(12326==s){var u=x[t+4>>2];fr.contextAttributes.stencil=u>0}else if(12337==s){var l=x[t+4>>2];fr.contextAttributes.antialias=l>0}else if(12338==s)l=x[t+4>>2],fr.contextAttributes.antialias=1==l;else if(12544==s){var c=x[t+4>>2];fr.contextAttributes.lowLatency=12547!=c}else if(12344==s)break;t+=8}return r&&o||n?(n&&(x[n>>2]=1),r&&o>0&&(T[r>>2]=62002),fr.setErrorCode(12288),1):(fr.setErrorCode(12300),0)}},mr={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,recordError:function(e){mr.lastError||(mr.lastError=e)},getNewId:e=>{for(var t=mr.counter++,r=e.length;r<t;r++)e[r]=null;return t},getSource:(e,t,r,o)=>{for(var n="",s=0;s<t;++s){var a=o?T[o+4*s>>2]:void 0;n+=Ee(T[r+4*s>>2],a)}return n},createContext:(e,t)=>{if(!e.getContextSafariWebGL2Fixed){let t=function(t,r){var o=e.getContextSafariWebGL2Fixed(t,r);return"webgl"==t==o instanceof WebGLRenderingContext?o:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=t}var r=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return r?mr.registerContext(r,t):0},registerContext:(e,t)=>{var r=mr.getNewId(mr.contexts),o={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=o),mr.contexts[r]=o,r},makeContextCurrent:e=>{var t;return mr.currentContext=mr.contexts[e],u.ctx=ku=null==(t=mr.currentContext)?void 0:t.GLctx,!(e&&!ku)},getContext:e=>mr.contexts[e],deleteContext:e=>{mr.currentContext===mr.contexts[e]&&(mr.currentContext=null),"object"==typeof su&&su.removeAllHandlersOnTarget(mr.contexts[e].GLctx.canvas),mr.contexts[e]&&mr.contexts[e].GLctx.canvas&&(mr.contexts[e].GLctx.canvas.GLctxObject=void 0),mr.contexts[e]=null}},hr=[],br=(e,t,r)=>{var o=((e,t)=>{var r;for(hr.length=0;r=R[e++];){var o=105!=r;t+=(o&=112!=r)&&t%8?4:0,hr.push(112==r?T[t>>2]:106==r?F[t>>3]:105==r?x[t>>2]:L[t>>3]),t+=o?8:4}return hr})(t,r);return oe[e].apply(null,o)},yr=function(e){ku.activeTexture(e)},vr=(e,t)=>{ku.attachShader(mr.programs[e],mr.shaders[t])},_r=(e,t)=>{ku.beginQuery(e,mr.queries[t])},kr=(e,t)=>{ku.disjointTimerQueryExt.beginQueryEXT(e,mr.queries[t])},Cr=function(e){ku.beginTransformFeedback(e)},wr=(e,t,r)=>{ku.bindAttribLocation(mr.programs[e],t,Ee(r))},Ar=(e,t)=>{35051==e?ku.currentPixelPackBufferBinding=t:35052==e&&(ku.currentPixelUnpackBufferBinding=t),ku.bindBuffer(e,mr.buffers[t])},Er=(e,t,r)=>{ku.bindBufferBase(e,t,mr.buffers[r])},Pr=(e,t,r,o,n)=>{ku.bindBufferRange(e,t,mr.buffers[r],o,n)},Sr=(e,t)=>{ku.bindFramebuffer(e,mr.framebuffers[t])},Rr=(e,t)=>{ku.bindRenderbuffer(e,mr.renderbuffers[t])},Br=(e,t)=>{ku.bindSampler(e,mr.samplers[t])},Ir=(e,t)=>{ku.bindTexture(e,mr.textures[t])},xr=(e,t)=>{ku.bindTransformFeedback(e,mr.transformFeedbacks[t])},Tr=e=>{ku.bindVertexArray(mr.vaos[e])},qr=Tr,Fr=Tr,Dr=function(e,t,r,o){ku.blendColor(e,t,r,o)},Lr=function(e){ku.blendEquation(e)},Mr=function(e,t){ku.blendEquationSeparate(e,t)},Or=function(e,t){ku.blendFunc(e,t)},Ur=function(e,t,r,o){ku.blendFuncSeparate(e,t,r,o)},$r=function(e,t,r,o,n,s,a,i,u,l){ku.blitFramebuffer(e,t,r,o,n,s,a,i,u,l)},Vr=(e,t,r,o)=>{mr.currentContext.version>=2?r&&t?ku.bufferData(e,R,o,r,t):ku.bufferData(e,t,o):ku.bufferData(e,r?R.subarray(r,r+t):t,o)},Nr=(e,t,r,o)=>{mr.currentContext.version>=2?r&&ku.bufferSubData(e,t,R,o,r):ku.bufferSubData(e,t,R.subarray(o,o+r))},Hr=function(e){return ku.checkFramebufferStatus(e)},jr=function(e){ku.clear(e)},Wr=function(e,t,r,o){ku.clearBufferfi(e,t,r,o)},Gr=(e,t,r)=>{ku.clearBufferfv(e,t,q,r>>2)},zr=(e,t,r)=>{ku.clearBufferiv(e,t,x,r>>2)},Yr=(e,t,r)=>{ku.clearBufferuiv(e,t,T,r>>2)},Xr=function(e,t,r,o){ku.clearColor(e,t,r,o)},Qr=function(e){ku.clearDepth(e)},Kr=function(e){ku.clearStencil(e)},Zr=(e,t,r)=>(r=Number(r),ku.clientWaitSync(mr.syncs[e],t,r)),Jr=(e,t,r,o)=>{ku.colorMask(!!e,!!t,!!r,!!o)},eo=e=>{ku.compileShader(mr.shaders[e])},to=(e,t,r,o,n,s,a,i)=>{mr.currentContext.version>=2?ku.currentPixelUnpackBufferBinding||!a?ku.compressedTexImage2D(e,t,r,o,n,s,a,i):ku.compressedTexImage2D(e,t,r,o,n,s,R,i,a):ku.compressedTexImage2D(e,t,r,o,n,s,i?R.subarray(i,i+a):null)},ro=(e,t,r,o,n,s,a,i,u)=>{ku.currentPixelUnpackBufferBinding?ku.compressedTexImage3D(e,t,r,o,n,s,a,i,u):ku.compressedTexImage3D(e,t,r,o,n,s,a,R,u,i)},oo=(e,t,r,o,n,s,a,i,u)=>{mr.currentContext.version>=2?ku.currentPixelUnpackBufferBinding||!i?ku.compressedTexSubImage2D(e,t,r,o,n,s,a,i,u):ku.compressedTexSubImage2D(e,t,r,o,n,s,a,R,u,i):ku.compressedTexSubImage2D(e,t,r,o,n,s,a,u?R.subarray(u,u+i):null)},no=(e,t,r,o,n,s,a,i,u,l,c)=>{ku.currentPixelUnpackBufferBinding?ku.compressedTexSubImage3D(e,t,r,o,n,s,a,i,u,l,c):ku.compressedTexSubImage3D(e,t,r,o,n,s,a,i,u,R,c,l)},so=function(e,t,r,o,n){ku.copyBufferSubData(e,t,r,o,n)},ao=function(e,t,r,o,n,s,a,i){ku.copyTexImage2D(e,t,r,o,n,s,a,i)},io=function(e,t,r,o,n,s,a,i){ku.copyTexSubImage2D(e,t,r,o,n,s,a,i)},uo=function(e,t,r,o,n,s,a,i,u){ku.copyTexSubImage3D(e,t,r,o,n,s,a,i,u)},lo=()=>{var e=mr.getNewId(mr.programs),t=ku.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,mr.programs[e]=t,e},co=e=>{var t=mr.getNewId(mr.shaders);return mr.shaders[t]=ku.createShader(e),t},po=function(e){ku.cullFace(e)},go=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.buffers[o];n&&(ku.deleteBuffer(n),n.name=0,mr.buffers[o]=null,o==ku.currentPixelPackBufferBinding&&(ku.currentPixelPackBufferBinding=0),o==ku.currentPixelUnpackBufferBinding&&(ku.currentPixelUnpackBufferBinding=0))}},fo=(e,t)=>{for(var r=0;r<e;++r){var o=x[t+4*r>>2],n=mr.framebuffers[o];n&&(ku.deleteFramebuffer(n),n.name=0,mr.framebuffers[o]=null)}},mo=e=>{if(e){var t=mr.programs[e];t?(ku.deleteProgram(t),t.name=0,mr.programs[e]=null):mr.recordError(1281)}},ho=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.queries[o];n&&(ku.deleteQuery(n),mr.queries[o]=null)}},bo=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.queries[o];n&&(ku.disjointTimerQueryExt.deleteQueryEXT(n),mr.queries[o]=null)}},yo=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.renderbuffers[o];n&&(ku.deleteRenderbuffer(n),n.name=0,mr.renderbuffers[o]=null)}},vo=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.samplers[o];n&&(ku.deleteSampler(n),n.name=0,mr.samplers[o]=null)}},_o=e=>{if(e){var t=mr.shaders[e];t?(ku.deleteShader(t),mr.shaders[e]=null):mr.recordError(1281)}},ko=e=>{if(e){var t=mr.syncs[e];t?(ku.deleteSync(t),t.name=0,mr.syncs[e]=null):mr.recordError(1281)}},Co=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.textures[o];n&&(ku.deleteTexture(n),n.name=0,mr.textures[o]=null)}},wo=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2],n=mr.transformFeedbacks[o];n&&(ku.deleteTransformFeedback(n),n.name=0,mr.transformFeedbacks[o]=null)}},Ao=(e,t)=>{for(var r=0;r<e;r++){var o=x[t+4*r>>2];ku.deleteVertexArray(mr.vaos[o]),mr.vaos[o]=null}},Eo=Ao,Po=Ao,So=function(e){ku.depthFunc(e)},Ro=e=>{ku.depthMask(!!e)},Bo=function(e,t){ku.depthRange(e,t)},Io=(e,t)=>{ku.detachShader(mr.programs[e],mr.shaders[t])},xo=function(e){ku.disable(e)},To=e=>{ku.disableVertexAttribArray(e)},qo=(e,t,r)=>{ku.drawArrays(e,t,r)},Fo=(e,t,r,o)=>{ku.drawArraysInstanced(e,t,r,o)},Do=Fo,Lo=Fo,Mo=Fo,Oo=(e,t,r,o,n)=>{ku.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,t,r,o,n)},Uo=Fo,$o=Fo,Vo=[],No=(e,t)=>{for(var r=Vo[e],o=0;o<e;o++)r[o]=x[t+4*o>>2];ku.drawBuffers(r)},Ho=No,jo=No,Wo=No,Go=(e,t,r,o)=>{ku.drawElements(e,t,r,o)},zo=Go,Yo=(e,t,r,o,n)=>{ku.drawElementsInstanced(e,t,r,o,n)},Xo=Yo,Qo=Yo,Ko=Yo,Zo=(e,t,r,o,n,s,a)=>{ku.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,t,r,o,n,s,a)},Jo=Yo,en=Yo,tn=(e,t,r,o,n,s)=>{Go(e,o,n,s)},rn=function(e){ku.enable(e)},on=e=>{ku.enableVertexAttribArray(e)},nn=function(e){ku.endQuery(e)},sn=e=>{ku.disjointTimerQueryExt.endQueryEXT(e)},an=function(){ku.endTransformFeedback()},un=(e,t)=>{var r=ku.fenceSync(e,t);if(r){var o=mr.getNewId(mr.syncs);return r.name=o,mr.syncs[o]=r,o}return 0},ln=function(){ku.finish()},cn=function(){ku.flush()},dn=(e,t,r,o)=>{ku.framebufferRenderbuffer(e,t,r,mr.renderbuffers[o])},pn=(e,t,r,o,n)=>{ku.framebufferTexture2D(e,t,r,mr.textures[o],n)},gn=(e,t,r,o,n)=>{ku.framebufferTextureLayer(e,t,mr.textures[r],o,n)},fn=function(e){ku.frontFace(e)},mn=(e,t,r,o)=>{for(var n=0;n<e;n++){var s=ku[r](),a=s&&mr.getNewId(o);s?(s.name=a,o[a]=s):mr.recordError(1282),x[t+4*n>>2]=a}},hn=(e,t)=>{mn(e,t,"createBuffer",mr.buffers)},bn=(e,t)=>{mn(e,t,"createFramebuffer",mr.framebuffers)},yn=(e,t)=>{mn(e,t,"createQuery",mr.queries)},vn=(e,t)=>{for(var r=0;r<e;r++){var o=ku.disjointTimerQueryExt.createQueryEXT();if(!o){for(mr.recordError(1282);r<e;)x[t+4*r++>>2]=0;return}var n=mr.getNewId(mr.queries);o.name=n,mr.queries[n]=o,x[t+4*r>>2]=n}},_n=(e,t)=>{mn(e,t,"createRenderbuffer",mr.renderbuffers)},kn=(e,t)=>{mn(e,t,"createSampler",mr.samplers)},Cn=(e,t)=>{mn(e,t,"createTexture",mr.textures)},wn=(e,t)=>{mn(e,t,"createTransformFeedback",mr.transformFeedbacks)};function An(e,t){mn(e,t,"createVertexArray",mr.vaos)}var En,Pn,Sn,Rn=An,Bn=An,In=function(e){ku.generateMipmap(e)},xn=(e,t,r,o,n,s,a,i)=>{t=mr.programs[t];var u=ku[e](t,r);if(u){var l=i&&Vt(u.name,i,o);n&&(x[n>>2]=l),s&&(x[s>>2]=u.size),a&&(x[a>>2]=u.type)}},Tn=(e,t,r,o,n,s,a)=>{xn("getActiveAttrib",e,t,r,o,n,s,a)},qn=(e,t,r,o,n,s,a)=>{xn("getActiveUniform",e,t,r,o,n,s,a)},Fn=(e,t,r,o,n)=>{e=mr.programs[e];var s=ku.getActiveUniformBlockName(e,t);if(s)if(n&&r>0){var a=Vt(s,n,r);o&&(x[o>>2]=a)}else o&&(x[o>>2]=0)},Dn=(e,t,r,o)=>{if(o)if(e=mr.programs[e],35393!=r){var n=ku.getActiveUniformBlockParameter(e,t,r);if(null!==n)if(35395==r)for(var s=0;s<n.length;s++)x[o+4*s>>2]=n[s];else x[o>>2]=n}else{var a=ku.getActiveUniformBlockName(e,t);x[o>>2]=a.length+1}else mr.recordError(1281)},Ln=(e,t,r,o,n)=>{if(n)if(t>0&&0==r)mr.recordError(1281);else{e=mr.programs[e];for(var s=[],a=0;a<t;a++)s.push(x[r+4*a>>2]);var i=ku.getActiveUniforms(e,s,o);if(i){var u=i.length;for(a=0;a<u;a++)x[n+4*a>>2]=i[a]}}else mr.recordError(1281)},Mn=(e,t,r,o)=>{var n=ku.getAttachedShaders(mr.programs[e]),s=n.length;s>t&&(s=t),x[r>>2]=s;for(var a=0;a<s;++a){var i=mr.shaders.indexOf(n[a]);x[o+4*a>>2]=i}},On=(e,t)=>ku.getAttribLocation(mr.programs[e],Ee(t)),Un=(e,t)=>{T[e>>2]=t;var r=T[e>>2];T[e+4>>2]=(t-r)/4294967296},$n=function(){var e,t=(e=["ANGLE_instanced_arrays","EXT_blend_minmax","EXT_disjoint_timer_query","EXT_frag_depth","EXT_shader_texture_lod","EXT_sRGB","OES_element_index_uint","OES_fbo_render_mipmap","OES_standard_derivatives","OES_texture_float","OES_texture_half_float","OES_texture_half_float_linear","OES_vertex_array_object","WEBGL_color_buffer_float","WEBGL_depth_texture","WEBGL_draw_buffers","EXT_color_buffer_float","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","WEBGL_clip_cull_distance","EXT_color_buffer_half_float","EXT_float_blend","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw"],(ku.getSupportedExtensions()||[]).filter((t=>e.includes(t))));return t=t.concat(t.map((e=>"GL_"+e)))},Vn=(e,t,r)=>{if(t){var o=void 0;switch(e){case 36346:o=1;break;case 36344:return void(0!=r&&1!=r&&mr.recordError(1280));case 34814:case 36345:o=0;break;case 34466:var n=ku.getParameter(34467);o=n?n.length:0;break;case 33309:if(mr.currentContext.version<2)return void mr.recordError(1282);o=$n().length;break;case 33307:case 33308:if(mr.currentContext.version<2)return void mr.recordError(1280);o=33307==e?3:0}if(void 0===o){var s=ku.getParameter(e);switch(typeof s){case"number":o=s;break;case"boolean":o=s?1:0;break;case"string":return void mr.recordError(1280);case"object":if(null===s)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:o=0;break;default:return void mr.recordError(1280)}else{if(s instanceof Float32Array||s instanceof Uint32Array||s instanceof Int32Array||s instanceof Array){for(var a=0;a<s.length;++a)switch(r){case 0:x[t+4*a>>2]=s[a];break;case 2:q[t+4*a>>2]=s[a];break;case 4:S[t+a>>0]=s[a]?1:0}return}try{o=0|s.name}catch(t){return mr.recordError(1280),void E(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return mr.recordError(1280),void E(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${s} of type ${typeof s}!`)}}switch(r){case 1:Un(t,o);break;case 0:x[t>>2]=o;break;case 2:q[t>>2]=o;break;case 4:S[t>>0]=o?1:0}}else mr.recordError(1281)},Nn=(e,t)=>Vn(e,t,4),Hn=(e,t,r)=>{r?Un(r,ku.getBufferParameter(e,t)):mr.recordError(1281)},jn=(e,t,r)=>{r?x[r>>2]=ku.getBufferParameter(e,t):mr.recordError(1281)},Wn=()=>{var e=ku.getError()||mr.lastError;return mr.lastError=0,e},Gn=(e,t)=>Vn(e,t,2),zn=(e,t)=>ku.getFragDataLocation(mr.programs[e],Ee(t)),Yn=(e,t,r,o)=>{var n=ku.getFramebufferAttachmentParameter(e,t,r);(n instanceof WebGLRenderbuffer||n instanceof WebGLTexture)&&(n=0|n.name),x[o>>2]=n},Xn=(e,t,r,o)=>{if(r){var n,s=ku.getIndexedParameter(e,t);switch(typeof s){case"boolean":n=s?1:0;break;case"number":n=s;break;case"object":if(null===s)switch(e){case 35983:case 35368:n=0;break;default:return void mr.recordError(1280)}else{if(!(s instanceof WebGLBuffer))return void mr.recordError(1280);n=0|s.name}break;default:return void mr.recordError(1280)}switch(o){case 1:Un(r,n);break;case 0:x[r>>2]=n;break;case 2:q[r>>2]=n;break;case 4:S[r>>0]=n?1:0;break;default:throw"internal emscriptenWebGLGetIndexed() error, bad type: "+o}}else mr.recordError(1281)},Qn=(e,t,r)=>Xn(e,t,r,1),Kn=(e,t)=>{Vn(e,t,1)},Zn=(e,t,r)=>Xn(e,t,r,0),Jn=(e,t)=>Vn(e,t,0),es=(e,t,r,o,n)=>{if(o<0)mr.recordError(1281);else if(n){var s=ku.getInternalformatParameter(e,t,r);if(null!==s)for(var a=0;a<s.length&&a<o;++a)x[n+4*a>>2]=s[a]}else mr.recordError(1281)},ts=(e,t,r,o,n)=>{mr.recordError(1282)},rs=(e,t,r,o)=>{var n=ku.getProgramInfoLog(mr.programs[e]);null===n&&(n="(unknown error)");var s=t>0&&o?Vt(n,o,t):0;r&&(x[r>>2]=s)},os=(e,t,r)=>{if(r)if(e>=mr.counter)mr.recordError(1281);else if(e=mr.programs[e],35716==t){var o=ku.getProgramInfoLog(e);null===o&&(o="(unknown error)"),x[r>>2]=o.length+1}else if(35719==t){if(!e.maxUniformLength)for(var n=0;n<ku.getProgramParameter(e,35718);++n)e.maxUniformLength=Math.max(e.maxUniformLength,ku.getActiveUniform(e,n).name.length+1);x[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength)for(n=0;n<ku.getProgramParameter(e,35721);++n)e.maxAttributeLength=Math.max(e.maxAttributeLength,ku.getActiveAttrib(e,n).name.length+1);x[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength)for(n=0;n<ku.getProgramParameter(e,35382);++n)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,ku.getActiveUniformBlockName(e,n).length+1);x[r>>2]=e.maxUniformBlockNameLength}else x[r>>2]=ku.getProgramParameter(e,t);else mr.recordError(1281)},ns=(e,t,r)=>{if(r){var o,n=mr.queries[e];o=mr.currentContext.version<2?ku.disjointTimerQueryExt.getQueryObjectEXT(n,t):ku.getQueryParameter(n,t),Un(r,"boolean"==typeof o?o?1:0:o)}else mr.recordError(1281)},ss=ns,as=(e,t,r)=>{if(r){var o,n=mr.queries[e],s=ku.disjointTimerQueryExt.getQueryObjectEXT(n,t);o="boolean"==typeof s?s?1:0:s,x[r>>2]=o}else mr.recordError(1281)},us=as,ls=ns,cs=(e,t,r)=>{if(r){var o,n=mr.queries[e],s=ku.getQueryParameter(n,t);o="boolean"==typeof s?s?1:0:s,x[r>>2]=o}else mr.recordError(1281)},ds=as,ps=(e,t,r)=>{r?x[r>>2]=ku.getQuery(e,t):mr.recordError(1281)},gs=(e,t,r)=>{r?x[r>>2]=ku.disjointTimerQueryExt.getQueryEXT(e,t):mr.recordError(1281)},fs=(e,t,r)=>{r?x[r>>2]=ku.getRenderbufferParameter(e,t):mr.recordError(1281)},ms=(e,t,r)=>{r?q[r>>2]=ku.getSamplerParameter(mr.samplers[e],t):mr.recordError(1281)},hs=(e,t,r)=>{r?x[r>>2]=ku.getSamplerParameter(mr.samplers[e],t):mr.recordError(1281)},bs=(e,t,r,o)=>{var n=ku.getShaderInfoLog(mr.shaders[e]);null===n&&(n="(unknown error)");var s=t>0&&o?Vt(n,o,t):0;r&&(x[r>>2]=s)},ys=(e,t,r,o)=>{var n=ku.getShaderPrecisionFormat(e,t);x[r>>2]=n.rangeMin,x[r+4>>2]=n.rangeMax,x[o>>2]=n.precision},vs=(e,t,r,o)=>{var n=ku.getShaderSource(mr.shaders[e]);if(n){var s=t>0&&o?Vt(n,o,t):0;r&&(x[r>>2]=s)}},_s=(e,t,r)=>{if(r)if(35716==t){var o=ku.getShaderInfoLog(mr.shaders[e]);null===o&&(o="(unknown error)");var n=o?o.length+1:0;x[r>>2]=n}else if(35720==t){var s=ku.getShaderSource(mr.shaders[e]),a=s?s.length+1:0;x[r>>2]=a}else x[r>>2]=ku.getShaderParameter(mr.shaders[e],t);else mr.recordError(1281)},ks=e=>{var t=mr.stringCache[e];if(!t){switch(e){case 7939:t=sr($n().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=ku.getParameter(e);r||mr.recordError(1280),t=r?sr(r):0;break;case 7938:var o=ku.getParameter(7938);o=mr.currentContext.version>=2?`OpenGL ES 3.0 (${o})`:`OpenGL ES 2.0 (${o})`,t=sr(o);break;case 35724:var n=ku.getParameter(35724),s=n.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==s&&(3==s[1].length&&(s[1]=s[1]+"0"),n=`OpenGL ES GLSL ES ${s[1]} (${n})`),t=sr(n);break;default:mr.recordError(1280)}mr.stringCache[e]=t}return t},Cs=(e,t)=>{if(mr.currentContext.version<2)return mr.recordError(1282),0;var r=mr.stringiCache[e];if(r)return t<0||t>=r.length?(mr.recordError(1281),0):r[t];if(7939===e){var o=$n().map(sr);return r=mr.stringiCache[e]=o,t<0||t>=r.length?(mr.recordError(1281),0):r[t]}return mr.recordError(1280),0},ws=(e,t,r,o,n)=>{if(r<0)mr.recordError(1281);else if(n){var s=ku.getSyncParameter(mr.syncs[e],t);null!==s&&(x[n>>2]=s,o&&(x[o>>2]=1))}else mr.recordError(1281)},As=(e,t,r)=>{r?q[r>>2]=ku.getTexParameter(e,t):mr.recordError(1281)},Es=(e,t,r)=>{r?x[r>>2]=ku.getTexParameter(e,t):mr.recordError(1281)},Ps=(e,t,r,o,n,s,a)=>{e=mr.programs[e];var i=ku.getTransformFeedbackVarying(e,t);if(i){if(a&&r>0){var u=Vt(i.name,a,r);o&&(x[o>>2]=u)}else o&&(x[o>>2]=0);n&&(x[n>>2]=i.size),s&&(x[s>>2]=i.type)}},Ss=(e,t)=>ku.getUniformBlockIndex(mr.programs[e],Ee(t)),Rs=(e,t,r,o)=>{if(o)if(t>0&&(0==r||0==o))mr.recordError(1281);else{e=mr.programs[e];for(var n=[],s=0;s<t;s++)n.push(Ee(x[r+4*s>>2]));var a=ku.getUniformIndices(e,n);if(a){var i=a.length;for(s=0;s<i;s++)x[o+4*s>>2]=a[s]}}else mr.recordError(1281)},Bs=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Is=e=>{var t,r,o=e.uniformLocsById,n=e.uniformSizeAndIdsByName;if(!o)for(e.uniformLocsById=o={},e.uniformArrayNamesById={},t=0;t<ku.getProgramParameter(e,35718);++t){var s=ku.getActiveUniform(e,t),a=s.name,i=s.size,u=Bs(a),l=u>0?a.slice(0,u):a,c=e.uniformIdCounter;for(e.uniformIdCounter+=i,n[l]=[i,c],r=0;r<i;++r)o[c]=r,e.uniformArrayNamesById[c++]=l}},xs=(e,t)=>{if(t=Ee(t),e=mr.programs[e]){Is(e);var r=e.uniformLocsById,o=0,n=t,s=Bs(t);s>0&&(i=t.slice(s+1),o=parseInt(i)>>>0,n=t.slice(0,s));var a=e.uniformSizeAndIdsByName[n];if(a&&o<a[0]&&(r[o+=a[1]]=r[o]||ku.getUniformLocation(e,t)))return o}else mr.recordError(1281);var i;return-1},Ts=e=>{var t=ku.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=ku.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?`[${r}]`:""))),r}mr.recordError(1282)},qs=(e,t,r,o)=>{if(r){e=mr.programs[e],Is(e);var n=ku.getUniform(e,Ts(t));if("number"==typeof n||"boolean"==typeof n)switch(o){case 0:x[r>>2]=n;break;case 2:q[r>>2]=n}else for(var s=0;s<n.length;s++)switch(o){case 0:x[r+4*s>>2]=n[s];break;case 2:q[r+4*s>>2]=n[s]}}else mr.recordError(1281)},Fs=(e,t,r)=>{qs(e,t,r,2)},Ds=(e,t,r)=>{qs(e,t,r,0)},Ls=(e,t,r)=>qs(e,t,r,0),Ms=(e,t,r,o)=>{if(r){var n=ku.getVertexAttrib(e,t);if(34975==t)x[r>>2]=n&&n.name;else if("number"==typeof n||"boolean"==typeof n)switch(o){case 0:x[r>>2]=n;break;case 2:q[r>>2]=n;break;case 5:x[r>>2]=Math.fround(n)}else for(var s=0;s<n.length;s++)switch(o){case 0:x[r+4*s>>2]=n[s];break;case 2:q[r+4*s>>2]=n[s];break;case 5:x[r+4*s>>2]=Math.fround(n[s])}}else mr.recordError(1281)},Os=(e,t,r)=>{Ms(e,t,r,0)},Us=Os,$s=Os,Vs=(e,t,r)=>{r?x[r>>2]=ku.getVertexAttribOffset(e,t):mr.recordError(1281)},Ns=(e,t,r)=>{Ms(e,t,r,2)},Hs=(e,t,r)=>{Ms(e,t,r,5)},js=function(e,t){ku.hint(e,t)},Ws=(e,t,r)=>{for(var o=Vo[t],n=0;n<t;n++)o[n]=x[r+4*n>>2];ku.invalidateFramebuffer(e,o)},Gs=(e,t,r,o,n,s,a)=>{for(var i=Vo[t],u=0;u<t;u++)i[u]=x[r+4*u>>2];ku.invalidateSubFramebuffer(e,i,o,n,s,a)},zs=e=>{var t=mr.buffers[e];return t?ku.isBuffer(t):0},Ys=function(e){return ku.isEnabled(e)},Xs=e=>{var t=mr.framebuffers[e];return t?ku.isFramebuffer(t):0},Qs=e=>(e=mr.programs[e])?ku.isProgram(e):0,Ks=e=>{var t=mr.queries[e];return t?ku.isQuery(t):0},Zs=e=>{var t=mr.queries[e];return t?ku.disjointTimerQueryExt.isQueryEXT(t):0},Js=e=>{var t=mr.renderbuffers[e];return t?ku.isRenderbuffer(t):0},ea=e=>{var t=mr.samplers[e];return t?ku.isSampler(t):0},ta=e=>{var t=mr.shaders[e];return t?ku.isShader(t):0},ra=e=>ku.isSync(mr.syncs[e]),oa=e=>{var t=mr.textures[e];return t?ku.isTexture(t):0},na=e=>ku.isTransformFeedback(mr.transformFeedbacks[e]),sa=e=>{var t=mr.vaos[e];return t?ku.isVertexArray(t):0},aa=sa,ia=sa,ua=function(e){ku.lineWidth(e)},la=e=>{e=mr.programs[e],ku.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},ca=(e,t,r,o,n,s)=>{ku.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,x,t>>2,x,r>>2,x,o>>2,T,n>>2,s)},da=(e,t,r,o,n,s,a,i)=>{ku.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,x,t>>2,r,x,o>>2,x,n>>2,x,s>>2,T,a>>2,i)},pa=function(){ku.pauseTransformFeedback()},ga=(e,t)=>{3317==e&&(mr.unpackAlignment=t),ku.pixelStorei(e,t)},fa=function(e,t){ku.polygonOffset(e,t)},ma=(e,t,r,o)=>{mr.recordError(1280)},ha=(e,t,r)=>{mr.recordError(1280)},ba=(e,t)=>{ku.disjointTimerQueryExt.queryCounterEXT(mr.queries[e],t)},ya=function(e){ku.readBuffer(e)},va=e=>0==(e-=5120)?S:1==e?R:2==e?B:4==e?x:6==e?q:5==e||28922==e||28520==e||30779==e||30782==e?T:I,_a=e=>31-Math.clz32(e.BYTES_PER_ELEMENT),ka=(e,t,r,o,n,s)=>{var a=va(e),i=_a(a),u=1<<i,l=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(t)*u,c=((e,t,r,o)=>{var n;return t*(e*r+(n=o)-1&-n)})(r,o,l,mr.unpackAlignment);return a.subarray(n>>i,n+c>>i)},Ca=(e,t,r,o,n,s,a)=>{if(mr.currentContext.version>=2)if(ku.currentPixelPackBufferBinding)ku.readPixels(e,t,r,o,n,s,a);else{var i=va(s);ku.readPixels(e,t,r,o,n,s,i,a>>_a(i))}else{var u=ka(s,n,r,o,a);u?ku.readPixels(e,t,r,o,n,s,u):mr.recordError(1280)}},wa=()=>{},Aa=function(e,t,r,o){ku.renderbufferStorage(e,t,r,o)},Ea=function(e,t,r,o,n){ku.renderbufferStorageMultisample(e,t,r,o,n)},Pa=function(){ku.resumeTransformFeedback()},Sa=(e,t)=>{ku.sampleCoverage(e,!!t)},Ra=(e,t,r)=>{ku.samplerParameterf(mr.samplers[e],t,r)},Ba=(e,t,r)=>{var o=q[r>>2];ku.samplerParameterf(mr.samplers[e],t,o)},Ia=(e,t,r)=>{ku.samplerParameteri(mr.samplers[e],t,r)},xa=(e,t,r)=>{var o=x[r>>2];ku.samplerParameteri(mr.samplers[e],t,o)},Ta=function(e,t,r,o){ku.scissor(e,t,r,o)},qa=(e,t,r,o,n)=>{mr.recordError(1280)},Fa=(e,t,r,o)=>{var n=mr.getSource(e,t,r,o);if(mr.currentContext.version>=2&&n.includes("#version 100")){var s="";(n=(n=n.replace(/#extension GL_OES_standard_derivatives : enable/g,"")).replace(/#extension GL_EXT_shader_texture_lod : enable/g,"")).includes("gl_FragColor")&&(s+="out mediump vec4 GL_FragColor;\n",n=n.replace(/gl_FragColor/g,"GL_FragColor")),n=(n=(n=(n=(n=(n=(n=(n=(n=(n=(n=(n=n.includes("attribute")?(n=n.replace(/attribute/g,"in")).replace(/varying/g,"out"):n.replace(/varying/g,"in")).replace(/textureCubeLodEXT/g,"textureCubeLod")).replace(/texture2DLodEXT/g,"texture2DLod")).replace(/texture2DProjLodEXT/g,"texture2DProjLod")).replace(/texture2DGradEXT/g,"texture2DGrad")).replace(/texture2DProjGradEXT/g,"texture2DProjGrad")).replace(/textureCubeGradEXT/g,"textureCubeGrad")).replace(/textureCube/g,"texture")).replace(/texture1D/g,"texture")).replace(/texture2D/g,"texture")).replace(/texture3D/g,"texture")).replace(/#version 100/g,"#version 300 es\n"+s)}ku.shaderSource(mr.shaders[e],n)},Da=function(e,t,r){ku.stencilFunc(e,t,r)},La=function(e,t,r,o){ku.stencilFuncSeparate(e,t,r,o)},Ma=function(e){ku.stencilMask(e)},Oa=function(e,t){ku.stencilMaskSeparate(e,t)},Ua=function(e,t,r){ku.stencilOp(e,t,r)},$a=function(e,t,r,o){ku.stencilOpSeparate(e,t,r,o)},Va=(e,t,r,o,n,s,a,i,u)=>{if(mr.currentContext.version>=2&&(6402==a&&6402==r&&5125==i&&(r=33190),36193==i&&(i=5131,6408==a&&6408==r&&(r=34842)),34041==r&&(r=35056)),mr.currentContext.version>=2)if(ku.currentPixelUnpackBufferBinding)ku.texImage2D(e,t,r,o,n,s,a,i,u);else if(u){var l=va(i);ku.texImage2D(e,t,r,o,n,s,a,i,l,u>>_a(l))}else ku.texImage2D(e,t,r,o,n,s,a,i,null);else ku.texImage2D(e,t,r,o,n,s,a,i,u?ka(i,a,o,n,u):null)},Na=(e,t,r,o,n,s,a,i,u,l)=>{if(ku.currentPixelUnpackBufferBinding)ku.texImage3D(e,t,r,o,n,s,a,i,u,l);else if(l){var c=va(u);ku.texImage3D(e,t,r,o,n,s,a,i,u,c,l>>_a(c))}else ku.texImage3D(e,t,r,o,n,s,a,i,u,null)},Ha=function(e,t,r){ku.texParameterf(e,t,r)},ja=(e,t,r)=>{var o=q[r>>2];ku.texParameterf(e,t,o)},Wa=function(e,t,r){ku.texParameteri(e,t,r)},Ga=(e,t,r)=>{var o=x[r>>2];ku.texParameteri(e,t,o)},za=function(e,t,r,o,n){ku.texStorage2D(e,t,r,o,n)},Ya=function(e,t,r,o,n,s){ku.texStorage3D(e,t,r,o,n,s)},Xa=(e,t,r,o,n,s,a,i,u)=>{if(mr.currentContext.version>=2&&36193==i&&(i=5131),mr.currentContext.version>=2)if(ku.currentPixelUnpackBufferBinding)ku.texSubImage2D(e,t,r,o,n,s,a,i,u);else if(u){var l=va(i);ku.texSubImage2D(e,t,r,o,n,s,a,i,l,u>>_a(l))}else ku.texSubImage2D(e,t,r,o,n,s,a,i,null);else{var c=null;u&&(c=ka(i,a,n,s,u)),ku.texSubImage2D(e,t,r,o,n,s,a,i,c)}},Qa=(e,t,r,o,n,s,a,i,u,l,c)=>{if(ku.currentPixelUnpackBufferBinding)ku.texSubImage3D(e,t,r,o,n,s,a,i,u,l,c);else if(c){var d=va(l);ku.texSubImage3D(e,t,r,o,n,s,a,i,u,l,d,c>>_a(d))}else ku.texSubImage3D(e,t,r,o,n,s,a,i,u,l,null)},Ka=(e,t,r,o)=>{e=mr.programs[e];for(var n=[],s=0;s<t;s++)n.push(Ee(x[r+4*s>>2]));ku.transformFeedbackVaryings(e,n,o)},Za=(e,t)=>{ku.uniform1f(Ts(e),t)},Ja=[],ei=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform1fv(Ts(e),q,r>>2,t);else{if(t<=288)for(var o=Ja[t-1],n=0;n<t;++n)o[n]=q[r+4*n>>2];else o=q.subarray(r>>2,r+4*t>>2);ku.uniform1fv(Ts(e),o)}},ti=(e,t)=>{ku.uniform1i(Ts(e),t)},ri=[],oi=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform1iv(Ts(e),x,r>>2,t);else{if(t<=288)for(var o=ri[t-1],n=0;n<t;++n)o[n]=x[r+4*n>>2];else o=x.subarray(r>>2,r+4*t>>2);ku.uniform1iv(Ts(e),o)}},ni=(e,t)=>{ku.uniform1ui(Ts(e),t)},si=(e,t,r)=>{t&&ku.uniform1uiv(Ts(e),T,r>>2,t)},ai=(e,t,r)=>{ku.uniform2f(Ts(e),t,r)},ii=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform2fv(Ts(e),q,r>>2,2*t);else{if(t<=144)for(var o=Ja[2*t-1],n=0;n<2*t;n+=2)o[n]=q[r+4*n>>2],o[n+1]=q[r+(4*n+4)>>2];else o=q.subarray(r>>2,r+8*t>>2);ku.uniform2fv(Ts(e),o)}},ui=(e,t,r)=>{ku.uniform2i(Ts(e),t,r)},li=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform2iv(Ts(e),x,r>>2,2*t);else{if(t<=144)for(var o=ri[2*t-1],n=0;n<2*t;n+=2)o[n]=x[r+4*n>>2],o[n+1]=x[r+(4*n+4)>>2];else o=x.subarray(r>>2,r+8*t>>2);ku.uniform2iv(Ts(e),o)}},ci=(e,t,r)=>{ku.uniform2ui(Ts(e),t,r)},di=(e,t,r)=>{t&&ku.uniform2uiv(Ts(e),T,r>>2,2*t)},pi=(e,t,r,o)=>{ku.uniform3f(Ts(e),t,r,o)},gi=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform3fv(Ts(e),q,r>>2,3*t);else{if(t<=96)for(var o=Ja[3*t-1],n=0;n<3*t;n+=3)o[n]=q[r+4*n>>2],o[n+1]=q[r+(4*n+4)>>2],o[n+2]=q[r+(4*n+8)>>2];else o=q.subarray(r>>2,r+12*t>>2);ku.uniform3fv(Ts(e),o)}},fi=(e,t,r,o)=>{ku.uniform3i(Ts(e),t,r,o)},mi=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform3iv(Ts(e),x,r>>2,3*t);else{if(t<=96)for(var o=ri[3*t-1],n=0;n<3*t;n+=3)o[n]=x[r+4*n>>2],o[n+1]=x[r+(4*n+4)>>2],o[n+2]=x[r+(4*n+8)>>2];else o=x.subarray(r>>2,r+12*t>>2);ku.uniform3iv(Ts(e),o)}},hi=(e,t,r,o)=>{ku.uniform3ui(Ts(e),t,r,o)},bi=(e,t,r)=>{t&&ku.uniform3uiv(Ts(e),T,r>>2,3*t)},yi=(e,t,r,o,n)=>{ku.uniform4f(Ts(e),t,r,o,n)},vi=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform4fv(Ts(e),q,r>>2,4*t);else{if(t<=72){var o=Ja[4*t-1],n=q;r>>=2;for(var s=0;s<4*t;s+=4){var a=r+s;o[s]=n[a],o[s+1]=n[a+1],o[s+2]=n[a+2],o[s+3]=n[a+3]}}else o=q.subarray(r>>2,r+16*t>>2);ku.uniform4fv(Ts(e),o)}},_i=(e,t,r,o,n)=>{ku.uniform4i(Ts(e),t,r,o,n)},ki=(e,t,r)=>{if(mr.currentContext.version>=2)t&&ku.uniform4iv(Ts(e),x,r>>2,4*t);else{if(t<=72)for(var o=ri[4*t-1],n=0;n<4*t;n+=4)o[n]=x[r+4*n>>2],o[n+1]=x[r+(4*n+4)>>2],o[n+2]=x[r+(4*n+8)>>2],o[n+3]=x[r+(4*n+12)>>2];else o=x.subarray(r>>2,r+16*t>>2);ku.uniform4iv(Ts(e),o)}},Ci=(e,t,r,o,n)=>{ku.uniform4ui(Ts(e),t,r,o,n)},wi=(e,t,r)=>{t&&ku.uniform4uiv(Ts(e),T,r>>2,4*t)},Ai=(e,t,r)=>{e=mr.programs[e],ku.uniformBlockBinding(e,t,r)},Ei=(e,t,r,o)=>{if(mr.currentContext.version>=2)t&&ku.uniformMatrix2fv(Ts(e),!!r,q,o>>2,4*t);else{if(t<=72)for(var n=Ja[4*t-1],s=0;s<4*t;s+=4)n[s]=q[o+4*s>>2],n[s+1]=q[o+(4*s+4)>>2],n[s+2]=q[o+(4*s+8)>>2],n[s+3]=q[o+(4*s+12)>>2];else n=q.subarray(o>>2,o+16*t>>2);ku.uniformMatrix2fv(Ts(e),!!r,n)}},Pi=(e,t,r,o)=>{t&&ku.uniformMatrix2x3fv(Ts(e),!!r,q,o>>2,6*t)},Si=(e,t,r,o)=>{t&&ku.uniformMatrix2x4fv(Ts(e),!!r,q,o>>2,8*t)},Ri=(e,t,r,o)=>{if(mr.currentContext.version>=2)t&&ku.uniformMatrix3fv(Ts(e),!!r,q,o>>2,9*t);else{if(t<=32)for(var n=Ja[9*t-1],s=0;s<9*t;s+=9)n[s]=q[o+4*s>>2],n[s+1]=q[o+(4*s+4)>>2],n[s+2]=q[o+(4*s+8)>>2],n[s+3]=q[o+(4*s+12)>>2],n[s+4]=q[o+(4*s+16)>>2],n[s+5]=q[o+(4*s+20)>>2],n[s+6]=q[o+(4*s+24)>>2],n[s+7]=q[o+(4*s+28)>>2],n[s+8]=q[o+(4*s+32)>>2];else n=q.subarray(o>>2,o+36*t>>2);ku.uniformMatrix3fv(Ts(e),!!r,n)}},Bi=(e,t,r,o)=>{t&&ku.uniformMatrix3x2fv(Ts(e),!!r,q,o>>2,6*t)},Ii=(e,t,r,o)=>{t&&ku.uniformMatrix3x4fv(Ts(e),!!r,q,o>>2,12*t)},xi=(e,t,r,o)=>{if(mr.currentContext.version>=2)t&&ku.uniformMatrix4fv(Ts(e),!!r,q,o>>2,16*t);else{if(t<=18){var n=Ja[16*t-1],s=q;o>>=2;for(var a=0;a<16*t;a+=16){var i=o+a;n[a]=s[i],n[a+1]=s[i+1],n[a+2]=s[i+2],n[a+3]=s[i+3],n[a+4]=s[i+4],n[a+5]=s[i+5],n[a+6]=s[i+6],n[a+7]=s[i+7],n[a+8]=s[i+8],n[a+9]=s[i+9],n[a+10]=s[i+10],n[a+11]=s[i+11],n[a+12]=s[i+12],n[a+13]=s[i+13],n[a+14]=s[i+14],n[a+15]=s[i+15]}}else n=q.subarray(o>>2,o+64*t>>2);ku.uniformMatrix4fv(Ts(e),!!r,n)}},Ti=(e,t,r,o)=>{t&&ku.uniformMatrix4x2fv(Ts(e),!!r,q,o>>2,8*t)},qi=(e,t,r,o)=>{t&&ku.uniformMatrix4x3fv(Ts(e),!!r,q,o>>2,12*t)},Fi=e=>{e=mr.programs[e],ku.useProgram(e),ku.currentProgram=e},Di=e=>{ku.validateProgram(mr.programs[e])},Li=function(e,t){ku.vertexAttrib1f(e,t)},Mi=(e,t)=>{ku.vertexAttrib1f(e,q[t>>2])},Oi=function(e,t,r){ku.vertexAttrib2f(e,t,r)},Ui=(e,t)=>{ku.vertexAttrib2f(e,q[t>>2],q[t+4>>2])},$i=function(e,t,r,o){ku.vertexAttrib3f(e,t,r,o)},Vi=(e,t)=>{ku.vertexAttrib3f(e,q[t>>2],q[t+4>>2],q[t+8>>2])},Ni=function(e,t,r,o,n){ku.vertexAttrib4f(e,t,r,o,n)},Hi=(e,t)=>{ku.vertexAttrib4f(e,q[t>>2],q[t+4>>2],q[t+8>>2],q[t+12>>2])},ji=(e,t)=>{ku.vertexAttribDivisor(e,t)},Wi=ji,Gi=ji,zi=ji,Yi=ji,Xi=ji,Qi=function(e,t,r,o,n){ku.vertexAttribI4i(e,t,r,o,n)},Ki=(e,t)=>{ku.vertexAttribI4i(e,x[t>>2],x[t+4>>2],x[t+8>>2],x[t+12>>2])},Zi=function(e,t,r,o,n){ku.vertexAttribI4ui(e,t,r,o,n)},Ji=(e,t)=>{ku.vertexAttribI4ui(e,T[t>>2],T[t+4>>2],T[t+8>>2],T[t+12>>2])},eu=(e,t,r,o,n)=>{ku.vertexAttribIPointer(e,t,r,o,n)},tu=(e,t,r,o,n,s)=>{ku.vertexAttribPointer(e,t,r,!!o,n,s)},ru=function(e,t,r,o){ku.viewport(e,t,r,o)},ou=(e,t,r)=>{r=Number(r),ku.waitSync(mr.syncs[e],t,r)},nu=e=>{var t=(e-w.buffer.byteLength+65535)/65536;try{return w.grow(t),U(),1}catch(e){}},su={removeAllEventListeners(){for(;su.eventHandlers.length;)su._removeHandler(su.eventHandlers.length-1);su.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(e,t,r){function o(e,t){if(e.length!=t.length)return!1;for(var r in e)if(e[r]!=t[r])return!1;return!0}for(var n in su.deferredCalls){var s=su.deferredCalls[n];if(s.targetFunction==e&&o(s.argsList,r))return}su.deferredCalls.push({targetFunction:e,precedence:t,argsList:r}),su.deferredCalls.sort(((e,t)=>e.precedence<t.precedence))},removeDeferredCalls(e){for(var t=0;t<su.deferredCalls.length;++t)su.deferredCalls[t].targetFunction==e&&(su.deferredCalls.splice(t,1),--t)},canPerformEventHandlerRequests:()=>navigator.userActivation?navigator.userActivation.isActive:su.inEventHandler&&su.currentEventHandler.allowsDeferredCalls,runDeferredCalls(){if(su.canPerformEventHandlerRequests())for(var e=0;e<su.deferredCalls.length;++e){var t=su.deferredCalls[e];su.deferredCalls.splice(e,1),--e,t.targetFunction.apply(null,t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(e,t)=>{for(var r=0;r<su.eventHandlers.length;++r)su.eventHandlers[r].target!=e||t&&t!=su.eventHandlers[r].eventTypeString||su._removeHandler(r--)},_removeHandler(e){var t=su.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),su.eventHandlers.splice(e,1)},registerOrRemoveHandler(e){if(!e.target)return-4;if(e.callbackfunc)e.eventListenerFunc=function(t){++su.inEventHandler,su.currentEventHandler=e,su.runDeferredCalls(),e.handlerFunc(t),su.runDeferredCalls(),--su.inEventHandler},e.target.addEventListener(e.eventTypeString,e.eventListenerFunc,e.useCapture),su.eventHandlers.push(e);else for(var t=0;t<su.eventHandlers.length;++t)su.eventHandlers[t].target==e.target&&su.eventHandlers[t].eventTypeString==e.eventTypeString&&su._removeHandler(t--);return 0},getNodeNameForTarget:e=>e?e==window?"#window":e==screen?"#screen":(null==e?void 0:e.nodeName)||"":"",fullscreenEnabled:()=>document.fullscreenEnabled||document.webkitFullscreenEnabled},au=["default","low-power","high-performance"],iu=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],uu=e=>{var t;return e=(t=e)>2?Ee(t):t,iu[e]||("undefined"!=typeof document?document.querySelector(e):void 0)},lu=(e,t)=>{var r=t>>2,o=x[r+6],n={alpha:!!x[r+0],depth:!!x[r+1],stencil:!!x[r+2],antialias:!!x[r+3],premultipliedAlpha:!!x[r+4],preserveDrawingBuffer:!!x[r+5],powerPreference:au[o],failIfMajorPerformanceCaveat:!!x[r+7],majorVersion:x[r+8],minorVersion:x[r+9],enableExtensionsByDefault:x[r+10],explicitSwapControl:x[r+11],proxyContextToMainThread:x[r+12],renderViaOffscreenBackBuffer:x[r+13]},s=uu(e);return s?n.explicitSwapControl?0:mr.createContext(s,n):0},cu={},du=()=>{if(!du.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 t in cu)void 0===cu[t]?delete e[t]:e[t]=cu[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);du.strings=r}return du.strings},pu=(e,t,r,o)=>{for(var n=0,s=0;s<r;s++){var a=T[t>>2],i=T[t+4>>2];t+=8;var u=Ae.read(e,S,a,i,o);if(u<0)return-1;if(n+=u,u<i)break;void 0!==o&&(o+=u)}return n},gu=[31,29,31,30,31,30,31,31,30,31,30,31],fu=[31,28,31,30,31,30,31,31,30,31,30,31],mu=(e,t)=>{S.set(e,t)},hu=(e,t,r,o)=>{var n=T[o+40>>2],s={tm_sec:x[o>>2],tm_min:x[o+4>>2],tm_hour:x[o+8>>2],tm_mday:x[o+12>>2],tm_mon:x[o+16>>2],tm_year:x[o+20>>2],tm_wday:x[o+24>>2],tm_yday:x[o+28>>2],tm_isdst:x[o+32>>2],tm_gmtoff:x[o+36>>2],tm_zone:n?Ee(n):""},a=Ee(r),i={"%c":"%a %b %d %H:%M:%S %Y","%D":"%m/%d/%y","%F":"%Y-%m-%d","%h":"%b","%r":"%I:%M:%S %p","%R":"%H:%M","%T":"%H:%M:%S","%x":"%m/%d/%y","%X":"%H:%M:%S","%Ec":"%c","%EC":"%C","%Ex":"%m/%d/%y","%EX":"%H:%M:%S","%Ey":"%y","%EY":"%Y","%Od":"%d","%Oe":"%e","%OH":"%H","%OI":"%I","%Om":"%m","%OM":"%M","%OS":"%S","%Ou":"%u","%OU":"%U","%OV":"%V","%Ow":"%w","%OW":"%W","%Oy":"%y"};for(var u in i)a=a.replace(new RegExp(u,"g"),i[u]);var l=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],c=["January","February","March","April","May","June","July","August","September","October","November","December"];function d(e,t,r){for(var o="number"==typeof e?e.toString():e||"";o.length<t;)o=r[0]+o;return o}function p(e,t){return d(e,t,"0")}function g(e,t){function r(e){return e<0?-1:e>0?1:0}var o;return 0===(o=r(e.getFullYear()-t.getFullYear()))&&0===(o=r(e.getMonth()-t.getMonth()))&&(o=r(e.getDate()-t.getDate())),o}function f(e){switch(e.getDay()){case 0:return new Date(e.getFullYear()-1,11,29);case 1:return e;case 2:return new Date(e.getFullYear(),0,3);case 3:return new Date(e.getFullYear(),0,2);case 4:return new Date(e.getFullYear(),0,1);case 5:return new Date(e.getFullYear()-1,11,31);case 6:return new Date(e.getFullYear()-1,11,30)}}function m(e){var t=((e,t)=>{for(var r=new Date(e.getTime());t>0;){var o=tr(r.getFullYear()),n=r.getMonth(),s=(o?gu:fu)[n];if(!(t>s-r.getDate()))return r.setDate(r.getDate()+t),r;t-=s-r.getDate()+1,r.setDate(1),n<11?r.setMonth(n+1):(r.setMonth(0),r.setFullYear(r.getFullYear()+1))}return r})(new Date(e.tm_year+1900,0,1),e.tm_yday),r=new Date(t.getFullYear(),0,4),o=new Date(t.getFullYear()+1,0,4),n=f(r),s=f(o);return g(n,t)<=0?g(s,t)<=0?t.getFullYear()+1:t.getFullYear():t.getFullYear()-1}var h={"%a":e=>l[e.tm_wday].substring(0,3),"%A":e=>l[e.tm_wday],"%b":e=>c[e.tm_mon].substring(0,3),"%B":e=>c[e.tm_mon],"%C":e=>p((e.tm_year+1900)/100|0,2),"%d":e=>p(e.tm_mday,2),"%e":e=>d(e.tm_mday,2," "),"%g":e=>m(e).toString().substring(2),"%G":m,"%H":e=>p(e.tm_hour,2),"%I":e=>{var t=e.tm_hour;return 0==t?t=12:t>12&&(t-=12),p(t,2)},"%j":e=>p(e.tm_mday+((e,t)=>{for(var r=0,o=0;o<=t;r+=e[o++]);return r})(tr(e.tm_year+1900)?gu:fu,e.tm_mon-1),3),"%m":e=>p(e.tm_mon+1,2),"%M":e=>p(e.tm_min,2),"%n":()=>"\n","%p":e=>e.tm_hour>=0&&e.tm_hour<12?"AM":"PM","%S":e=>p(e.tm_sec,2),"%t":()=>"\t","%u":e=>e.tm_wday||7,"%U":e=>{var t=e.tm_yday+7-e.tm_wday;return p(Math.floor(t/7),2)},"%V":e=>{var t=Math.floor((e.tm_yday+7-(e.tm_wday+6)%7)/7);if((e.tm_wday+371-e.tm_yday-2)%7<=2&&t++,t){if(53==t){var r=(e.tm_wday+371-e.tm_yday)%7;4==r||3==r&&tr(e.tm_year)||(t=1)}}else{t=52;var o=(e.tm_wday+7-e.tm_yday-1)%7;(4==o||5==o&&tr(e.tm_year%400-1))&&t++}return p(t,2)},"%w":e=>e.tm_wday,"%W":e=>{var t=e.tm_yday+7-(e.tm_wday+6)%7;return p(Math.floor(t/7),2)},"%y":e=>(e.tm_year+1900).toString().substring(2),"%Y":e=>e.tm_year+1900,"%z":e=>{var t=e.tm_gmtoff,r=t>=0;return t=(t=Math.abs(t)/60)/60*100+t%60,(r?"+":"-")+String("0000"+t).slice(-4)},"%Z":e=>e.tm_zone,"%%":()=>"%"};for(var u in a=a.replace(/%%/g,"\0\0"),h)a.includes(u)&&(a=a.replace(new RegExp(u,"g"),h[u](s)));var b=ye(a=a.replace(/\0\0/g,"%"),!1);return b.length>t?0:(mu(b,e),b.length-1)},bu=e=>{var t=he(e)+1,r=Vu(t);return Vt(e,r,t),r},yu=function(e,t,r,o){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=Ae.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=o},vu=365,_u=146;Object.defineProperties(yu.prototype,{read:{get:function(){return(this.mode&vu)===vu},set:function(e){e?this.mode|=vu:this.mode&=-366}},write:{get:function(){return(this.mode&_u)===_u},set:function(e){e?this.mode|=_u:this.mode&=-147}},isFolder:{get:function(){return Ae.isDir(this.mode)}},isDevice:{get:function(){return Ae.isChrdev(this.mode)}}}),Ae.FSNode=yu,Ae.createPreloadedFile=(e,t,r,o,n,s,a,i,u,l)=>{var d=t?pe.resolve(ce.join2(e,t)):e;function p(r){function c(r){null==l||l(),i||((e,t,r,o,n,s)=>{Ae.createDataFile(e,t,r,o,n,s)})(e,t,r,o,n,u),null==s||s(),X()}((e,t,r,o)=>{void 0!==gr&&gr.init();var n=!1;return Ce.forEach((s=>{n||s.canHandle(t)&&(s.handle(e,t,r,o),n=!0)})),n})(r,d,c,(()=>{null==a||a(),X()}))||c(r)}Y(),"string"==typeof r?((e,t,r,o)=>{var n=o?"":`al ${e}`;c(e,(e=>{t(new Uint8Array(e)),n&&X()}),(t=>{if(!r)throw`Loading data file "${e}" failed.`;r()})),n&&Y()})(r,p,a):p(r)},Ae.staticInit(),u.FS_createPath=Ae.createPath,u.FS_createDataFile=Ae.createDataFile,u.FS_createPreloadedFile=Ae.createPreloadedFile,u.FS_unlink=Ae.unlink,u.FS_createLazyFile=Ae.createLazyFile,u.FS_createDevice=Ae.createDevice,Ie=u.InternalError=class InternalError extends Error{constructor(e){super(e),this.name="InternalError"}},(()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);xe=e})(),Te=u.BindingError=class BindingError extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(ut.prototype,{isAliasOf(e){if(!(this instanceof ut))return!1;if(!(e instanceof ut))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var o=e.$$.ptrType.registeredClass,n=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;o.baseClass;)n=o.upcast(n),o=o.baseClass;return t===o&&r===n},clone(){if(this.$$.ptr||Ge(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=it(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 t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},delete(){this.$$.ptr||Ge(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),Ye(this),Xe(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ge(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),et.push(this),1===et.length&&He&&He(tt),this.$$.deleteScheduled=!0,this}}),u.getInheritedInstanceCount=Ze,u.getLiveInheritedInstances=Je,u.flushPendingDeletes=tt,u.setDelayFunction=rt,Object.assign(yt.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){var t;null==(t=this.rawDestructor)||t.call(this,e)},argPackAdvance:We,readValueFromPointer:bt,fromWireType:at}),_t=u.UnboundTypeError=(En=Error,(Sn=lt(Pn="UnboundTypeError",(function(e){this.name=Pn,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(En.prototype),Sn.prototype.constructor=Sn,Sn.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},Sn),qt.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Object.assign(qt,{reserved:qt.allocated.length}),u.count_emval_handles=Dt,u.requestFullscreen=gr.requestFullscreen,u.requestAnimationFrame=gr.requestAnimationFrame,u.setCanvasSize=gr.setCanvasSize,u.pauseMainLoop=gr.mainLoop.pause,u.resumeMainLoop=gr.mainLoop.resume,u.getUserMedia=gr.getUserMedia,u.createContext=gr.createContext;for(var ku,Cu={},wu={},Au=0;Au<32;++Au)Vo.push(new Array(Au));var Eu=new Float32Array(288);for(Au=0;Au<288;++Au)Ja[Au]=Eu.subarray(0,Au+1);var Pu=new Int32Array(288);for(Au=0;Au<288;++Au)ri[Au]=Pu.subarray(0,Au+1);var Su,Ru={Ia:e=>{var t=new ExceptionInfo(e);return t.get_caught()||t.set_caught(!0),t.set_rethrown(!1),ie.push(t),Hu(t.excPtr),t.get_exception_ptr()},Ha:()=>{Ou(0,0);var e=ie.pop();Nu(e.excPtr),ue=0},o:()=>le([]),aa:e=>le([e]),k:(e,t,r)=>{throw new ExceptionInfo(e).init(t,r),ue=e},R:e=>{throw ue||(ue=e),ue},da:function(e,t,r){Pe.varargs=r;try{var o=Pe.getStreamFromFD(e);switch(t){case 0:if((n=Pe.get())<0)return-28;for(;Ae.streams[n];)n++;return Ae.createStream(o,n).fd;case 1:case 2:case 13:case 14:return 0;case 3:return o.flags;case 4:var n=Pe.get();return o.flags|=n,0;case 12:return n=Pe.getp(),B[n+0>>1]=2,0}return-28}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},zb:function(e,t){try{var r=Pe.getStreamFromFD(e);return Pe.doStat(Ae.stat,r.path,t)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},Eb:function(e,t,r){Pe.varargs=r;try{var o=Pe.getStreamFromFD(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return o.tty?0:-59;case 21505:if(!o.tty)return-59;if(o.tty.ops.ioctl_tcgets){var n=o.tty.ops.ioctl_tcgets(o),s=Pe.getp();x[s>>2]=n.c_iflag||0,x[s+4>>2]=n.c_oflag||0,x[s+8>>2]=n.c_cflag||0,x[s+12>>2]=n.c_lflag||0;for(var a=0;a<32;a++)S[s+a+17>>0]=n.c_cc[a]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!o.tty)return-59;if(o.tty.ops.ioctl_tcsets){s=Pe.getp();var i=x[s>>2],u=x[s+4>>2],l=x[s+8>>2],c=x[s+12>>2],d=[];for(a=0;a<32;a++)d.push(S[s+a+17>>0]);return o.tty.ops.ioctl_tcsets(o.tty,t,{c_iflag:i,c_oflag:u,c_cflag:l,c_lflag:c,c_cc:d})}return 0;case 21519:return o.tty?(s=Pe.getp(),x[s>>2]=0,0):-59;case 21520:return o.tty?-28:-59;case 21531:return s=Pe.getp(),Ae.ioctl(o,t,s);case 21523:if(!o.tty)return-59;if(o.tty.ops.ioctl_tiocgwinsz){var p=o.tty.ops.ioctl_tiocgwinsz(o.tty);s=Pe.getp(),B[s>>1]=p[0],B[s+2>>1]=p[1]}return 0;default:return-28}}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},wb:function(e,t){try{return e=Pe.getStr(e),Pe.doStat(Ae.lstat,e,t)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},xb:function(e,t,r,o){try{t=Pe.getStr(t);var n=256&o,s=4096&o;return o&=-6401,t=Pe.calculateAt(e,t,s),Pe.doStat(n?Ae.lstat:Ae.stat,t,r)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},qa:function(e,t,r,o){Pe.varargs=o;try{t=Pe.getStr(t),t=Pe.calculateAt(e,t);var n=o?Pe.get():0;return Ae.open(t,r,n).fd}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},yb:function(e,t){try{return e=Pe.getStr(e),Pe.doStat(Ae.stat,e,t)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},va:e=>{var t=Se[e];delete Se[e];var r=t.elements,o=r.length,n=r.map((e=>e.getterReturnType)).concat(r.map((e=>e.setterArgumentType))),s=t.rawConstructor,a=t.rawDestructor;Me([e],n,(function(e){return r.forEach(((t,r)=>{var n=e[r],s=t.getter,a=t.getterContext,i=e[r+o],u=t.setter,l=t.setterContext;t.read=e=>n.fromWireType(s(a,e)),t.write=(e,t)=>{var r=[];u(l,e,i.toWireType(r,t)),Re(r)}})),[{name:t.name,fromWireType:e=>{for(var t=new Array(o),n=0;n<o;++n)t[n]=r[n].read(e);return a(e),t},toWireType:(e,n)=>{if(o!==n.length)throw new TypeError(`Incorrect number of tuple elements for ${t.name}: expected=${o}, actual=${n.length}`);for(var i=s(),u=0;u<o;++u)r[u].write(i,n[u]);return null!==e&&e.push(a,i),i},argPackAdvance:We,readValueFromPointer:Be,destructorFunction:a}]}))},z:e=>{var t=Oe[e];delete Oe[e];var r=t.rawConstructor,o=t.rawDestructor,n=t.fields,s=n.map((e=>e.getterReturnType)).concat(n.map((e=>e.setterArgumentType)));Me([e],s,(e=>{var s={};return n.forEach(((t,r)=>{var o=t.fieldName,a=e[r],i=t.getter,u=t.getterContext,l=e[r+n.length],c=t.setter,d=t.setterContext;s[o]={read:e=>a.fromWireType(i(u,e)),write:(e,t)=>{var r=[];c(d,e,l.toWireType(r,t)),Re(r)}}})),[{name:t.name,fromWireType:e=>{var t={};for(var r in s)t[r]=s[r].read(e);return o(e),t},toWireType:(e,t)=>{for(var n in s)if(!(n in t))throw new TypeError(`Missing field: "${n}"`);var a=r();for(n in s)s[n].write(a,t[n]);return null!==e&&e.push(o,a),a},argPackAdvance:We,readValueFromPointer:Be,destructorFunction:o}]}))},za:(e,t,r,o,n)=>{var s=-1!=(t=$e(t)).indexOf("u");Ne(e,{name:t,fromWireType:e=>e,toWireType:function(e,t){if("bigint"!=typeof t&&"number"!=typeof t)throw new TypeError(`Cannot convert "${Ue(t)}" to ${this.name}`);return"number"==typeof t&&(t=BigInt(t)),t},argPackAdvance:We,readValueFromPointer:je(t,r,!s),destructorFunction:null})},ke:(e,t,r,o)=>{Ne(e,{name:t=$e(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:o},argPackAdvance:We,readValueFromPointer:function(e){return this.fromWireType(R[e])},destructorFunction:null})},v:(e,t,r,o,n,s,a,i,u,l,c,d,p)=>{c=$e(c),s=At(n,s),i&&=At(a,i),l&&=At(u,l),p=At(d,p);var g=(e=>{if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(c);dt(g,(function(){Pt(`Cannot construct ${c} due to unbound types`,[o])})),Me([e,t,r],o?[o]:[],(function(t){var r,n;t=t[0],n=o?(r=t.registeredClass).instancePrototype:ut.prototype;var a=lt(c,(function(){if(Object.getPrototypeOf(this)!==u)throw new Te("Use 'new' to construct "+c);if(void 0===d.constructor_body)throw new Te(c+" has no accessible constructor");var e=d.constructor_body[arguments.length];if(void 0===e)throw new Te(`Tried to invoke ctor of ${c} with invalid number of parameters (${arguments.length}) - expected (${Object.keys(d.constructor_body).toString()}) parameters instead!`);return e.apply(this,arguments)})),u=Object.create(n,{constructor:{value:a}});a.prototype=u;var d=new pt(c,a,u,p,r,s,i,l);d.baseClass&&(d.baseClass.__derivedClasses??=[],d.baseClass.__derivedClasses.push(d));var f=new yt(c,d,!0,!1,!1),m=new yt(c+"*",d,!1,!1,!1),h=new yt(c+" const*",d,!1,!0,!1);return Ke[e]={pointerType:m,constPointerType:h},kt(g,a),[f,m,h]}))},x:(e,t,r,o,n,s)=>{var a=St(t,r);n=At(o,n),Me([],[e],(function(e){var r=`constructor ${(e=e[0]).name}`;if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new Te(`Cannot register multiple constructors with identical number of parameters (${t-1}) for class '${e.name}'! Overload resolution is currently only performed using the parameter count, not actual type info!`);return e.registeredClass.constructor_body[t-1]=()=>{Pt(`Cannot construct ${e.name} due to unbound types`,a)},Me([],a,(o=>(o.splice(1,0,null),e.registeredClass.constructor_body[t-1]=It(r,o,null,n,s),[]))),[]}))},d:(e,t,r,o,n,s,a,i,u)=>{var l=St(r,o);t=$e(t),t=Tt(t),s=At(n,s),Me([],[e],(function(e){var o=`${(e=e[0]).name}.${t}`;function n(){Pt(`Cannot call ${o} due to unbound types`,l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),i&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,d=c[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(n.argCount=r-2,n.className=e.name,c[t]=n):(ct(c,t,o),c[t].overloadTable[r-2]=n),Me([],l,(function(n){var i=It(o,n,e,s,a,u);return void 0===c[t].overloadTable?(i.argCount=r-2,c[t]=i):c[t].overloadTable[r-2]=i,[]})),[]}))},je:e=>Ne(e,Mt),$:(e,t,r,o)=>{function n(){}t=$e(t),n.values={},Ne(e,{name:t,constructor:n,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,argPackAdvance:We,readValueFromPointer:Ot(t,r,o),destructorFunction:null}),dt(t,n)},I:(e,t,r)=>{var o=Ut(e,"enum");t=$e(t);var n=o.constructor,s=Object.create(o.constructor.prototype,{value:{value:r},constructor:{value:lt(`${o.name}_${t}`,(function(){}))}});n.values[r]=s,n[t]=s},ya:(e,t,r)=>{Ne(e,{name:t=$e(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:We,readValueFromPointer:$t(t,r),destructorFunction:null})},J:(e,t,r,o,n,s,a)=>{var i=St(t,r);e=$e(e),e=Tt(e),n=At(o,n),dt(e,(function(){Pt(`Cannot call ${e} due to unbound types`,i)}),t-1),Me([],i,(function(r){var o=[r[0],null].concat(r.slice(1));return kt(e,It(e,o,null,n,s,a),t-1),[]}))},O:(e,t,r,o,n)=>{t=$e(t),-1===n&&(n=4294967295);var s=e=>e;if(0===o){var a=32-8*r;s=e=>e<<a>>>a}var i=t.includes("unsigned");Ne(e,{name:t,fromWireType:s,toWireType:i?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:We,readValueFromPointer:je(t,r,0!==o),destructorFunction:null})},E:(e,t,r)=>{var o=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function n(e){var t=T[e>>2],r=T[e+4>>2];return new o(S.buffer,r,t)}Ne(e,{name:r=$e(r),fromWireType:n,argPackAdvance:We,readValueFromPointer:n},{ignoreDuplicateRegistrations:!0})},ff:(e,t,r,o,n,s,a,i,u,l,c,d)=>{r=$e(r),s=At(n,s),i=At(a,i),l=At(u,l),d=At(c,d),Me([e],[t],(function(e){return e=e[0],[new yt(r,e.registeredClass,!1,!1,!0,e,o,s,i,l,d)]}))},xa:(e,t)=>{var r="std::string"===(t=$e(t));Ne(e,{name:t,fromWireType(e){var t,o=T[e>>2],n=e+4;if(r)for(var s=n,a=0;a<=o;++a){var i=n+a;if(a==o||0==R[i]){var u=Ee(s,i-s);void 0===t?t=u:(t+=String.fromCharCode(0),t+=u),s=i+1}}else{var l=new Array(o);for(a=0;a<o;++a)l[a]=String.fromCharCode(R[n+a]);t=l.join("")}return Tu(e),t},toWireType(e,t){var o;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Ve("Cannot pass non-string to std::string"),o=r&&n?he(t):t.length;var s=Iu(4+o+1),a=s+4;if(T[s>>2]=o,r&&n)Vt(t,a,o+1);else if(n)for(var i=0;i<o;++i){var u=t.charCodeAt(i);u>255&&(Tu(a),Ve("String has UTF-16 code units that do not fit in 8 bits")),R[a+i]=u}else for(i=0;i<o;++i)R[a+i]=t[i];return null!==e&&e.push(Tu,s),s},argPackAdvance:We,readValueFromPointer:bt,destructorFunction(e){Tu(e)}})},ea:(e,t,r)=>{var o,n,s,a,i;r=$e(r),2===t?(o=Ht,n=jt,a=Wt,s=()=>I,i=1):4===t&&(o=Gt,n=zt,a=Yt,s=()=>T,i=2),Ne(e,{name:r,fromWireType:e=>{for(var r,n=T[e>>2],a=s(),u=e+4,l=0;l<=n;++l){var c=e+4+l*t;if(l==n||0==a[c>>i]){var d=o(u,c-u);void 0===r?r=d:(r+=String.fromCharCode(0),r+=d),u=c+t}}return Tu(e),r},toWireType:(e,o)=>{"string"!=typeof o&&Ve(`Cannot pass non-string to C++ string type ${r}`);var s=a(o),u=Iu(4+s+t);return T[u>>2]=s>>i,n(o,u+4,s+t),null!==e&&e.push(Tu,u),u},argPackAdvance:We,readValueFromPointer:Be,destructorFunction(e){Tu(e)}})},wa:(e,t,r,o,n,s)=>{Se[e]={name:$e(t),rawConstructor:At(r,o),rawDestructor:At(n,s),elements:[]}},N:(e,t,r,o,n,s,a,i,u)=>{Se[e].elements.push({getterReturnType:t,getter:At(r,o),getterContext:n,setterArgumentType:s,setter:At(a,i),setterContext:u})},A:(e,t,r,o,n,s)=>{Oe[e]={name:$e(t),rawConstructor:At(r,o),rawDestructor:At(n,s),fields:[]}},n:(e,t,r,o,n,s,a,i,u,l)=>{Oe[e].fields.push({fieldName:$e(t),getterReturnType:r,getter:At(o,n),getterContext:s,setterArgumentType:a,setter:At(i,u),setterContext:l})},le:(e,t)=>{Ne(e,{isVoid:!0,name:t=$e(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},Bb:()=>1,ib:()=>{throw 1/0},j:(e,t,r)=>(e=Lt.toValue(e),t=Ut(t,"emval::as"),Xt(t,r,e)),w:(e,t,r,o)=>(e=Qt[e])(null,t=Lt.toValue(t),r,o),P:(e,t,r,o,n)=>(e=Qt[e])(t=Lt.toValue(t),t[r=Zt(r)],o,n),c:Ft,xe:(e,t)=>(e=Lt.toValue(e))==(t=Lt.toValue(t)),M:e=>0===e?Lt.toHandle(Jt()):(e=Zt(e),Lt.toHandle(Jt()[e])),s:(e,t,r)=>{var o=((e,t)=>{for(var r=new Array(e),o=0;o<e;++o)r[o]=Ut(T[t+4*o>>2],"parameter "+o);return r})(e,t),n=o.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",a=0,i=[];0===r&&i.push("obj");for(var u=["retType"],l=[n],c=0;c<e;++c)i.push("arg"+c),u.push("argType"+c),l.push(o[c]),s+=` var arg${c} = argType${c}.readValueFromPointer(args${a?"+"+a:""});\n`,a+=o[c].argPackAdvance;s+=` var rv = ${1===r?"new func":"func.call"}(${i.join(", ")});\n`,n.isVoid||(u.push("emval_returnValue"),l.push(Xt),s+=" return emval_returnValue(retType, destructorsRef, rv);\n"),s+="};\n",u.push(s);var d,p,g=Bt(Function,u).apply(null,l),f=`methodCaller<(${o.map((e=>e.name)).join(", ")}) => ${n.name}>`;return d=lt(f,g),p=Qt.length,Qt.push(d),p},h:(e,t)=>(e=Lt.toValue(e),t=Lt.toValue(t),Lt.toHandle(e[t])),e:e=>{e>4&&(qt.get(e).refcount+=1)},V:(e,t)=>(e=Lt.toValue(e))instanceof(t=Lt.toValue(t)),fa:e=>"number"==typeof(e=Lt.toValue(e)),K:e=>"string"==typeof(e=Lt.toValue(e)),Ee:()=>Lt.toHandle([]),f:e=>Lt.toHandle(Zt(e)),B:()=>Lt.toHandle({}),i:e=>{var t=Lt.toValue(e);Re(t),Ft(e)},m:(e,t,r)=>{e=Lt.toValue(e),t=Lt.toValue(t),r=Lt.toValue(r),e[t]=r},g:(e,t)=>{var r=(e=Ut(e,"_emval_take_value")).readValueFromPointer(t);return Lt.toHandle(r)},Me:e=>{throw e=Lt.toValue(e)},od:e=>(e=Lt.toValue(e),Lt.toHandle(typeof e)),qb:function(e,t){e=er(e);var r=new Date(1e3*e);x[t>>2]=r.getUTCSeconds(),x[t+4>>2]=r.getUTCMinutes(),x[t+8>>2]=r.getUTCHours(),x[t+12>>2]=r.getUTCDate(),x[t+16>>2]=r.getUTCMonth(),x[t+20>>2]=r.getUTCFullYear()-1900,x[t+24>>2]=r.getUTCDay();var o=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),n=(r.getTime()-o)/864e5|0;x[t+28>>2]=n},rb:function(e,t){e=er(e);var r=new Date(1e3*e);x[t>>2]=r.getSeconds(),x[t+4>>2]=r.getMinutes(),x[t+8>>2]=r.getHours(),x[t+12>>2]=r.getDate(),x[t+16>>2]=r.getMonth(),x[t+20>>2]=r.getFullYear()-1900,x[t+24>>2]=r.getDay();var o=0|nr(r);x[t+28>>2]=o,x[t+36>>2]=-60*r.getTimezoneOffset();var n=new Date(r.getFullYear(),0,1),s=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),i=0|(s!=a&&r.getTimezoneOffset()==Math.min(a,s));x[t+32>>2]=i},sb:function(e){var t=(()=>{var t=new Date(x[e+20>>2]+1900,x[e+16>>2],x[e+12>>2],x[e+8>>2],x[e+4>>2],x[e>>2],0),r=x[e+32>>2],o=t.getTimezoneOffset(),n=new Date(t.getFullYear(),0,1),s=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=n.getTimezoneOffset(),i=Math.min(a,s);if(r<0)x[e+32>>2]=Number(s!=a&&i==o);else if(r>0!=(i==o)){var u=Math.max(a,s),l=r>0?i:u;t.setTime(t.getTime()+6e4*(l-o))}x[e+24>>2]=t.getDay();var c=0|nr(t);x[e+28>>2]=c,x[e>>2]=t.getSeconds(),x[e+4>>2]=t.getMinutes(),x[e+8>>2]=t.getHours(),x[e+12>>2]=t.getDate(),x[e+16>>2]=t.getMonth(),x[e+20>>2]=t.getYear();var d=t.getTime();return isNaN(d)?-1:d/1e3})();return BigInt(t)},ob:function(e,t,r,o,n,s,a){n=er(n);try{if(isNaN(n))return 61;var i=Pe.getStreamFromFD(o),u=Ae.mmap(i,e,n,t,r),l=u.ptr;return x[s>>2]=u.allocated,T[a>>2]=l,0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},pb:function(e,t,r,o,n,s){s=er(s);try{if(isNaN(s))return 61;var a=Pe.getStreamFromFD(n);2&r&&Pe.doMsync(e,a,t,o,s),Ae.munmap(a)}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return-e.errno}},jb:(e,t,r)=>{var o=(new Date).getFullYear(),n=new Date(o,0,1),s=new Date(o,6,1),a=n.getTimezoneOffset(),i=s.getTimezoneOffset(),u=Math.max(a,i);function l(e){var t=e.toTimeString().match(/\(([A-Za-z ]+)\)$/);return t?t[1]:"GMT"}T[e>>2]=60*u,x[t>>2]=Number(a!=i);var c=l(n),d=l(s),p=sr(c),g=sr(d);i<a?(T[r>>2]=p,T[r+4>>2]=g):(T[r>>2]=g,T[r+4>>2]=p)},b:()=>{Q("")},oe:function(e){var t=Ee(e);localStorage.removeItem(t)},oa:(e,t,r,o,n)=>fr.chooseConfig(e,t,r,o,n),pa:(e,t,r,o)=>{if(62e3!=e)return fr.setErrorCode(12296),0;for(var n=1;;){var s=x[o>>2];if(12440!=s){if(12344==s)break;return fr.setErrorCode(12292),0}n=x[o+4>>2],o+=8}return n<2||n>3?(fr.setErrorCode(12293),0):(fr.contextAttributes.majorVersion=n-1,fr.contextAttributes.minorVersion=0,fr.context=mr.createContext(u.canvas,fr.contextAttributes),0!=fr.context?(fr.setErrorCode(12288),mr.makeContextCurrent(fr.context),u.useWebGL=!0,gr.moduleContextCreatedCallbacks.forEach((function(e){e()})),mr.makeContextCurrent(null),62004):(fr.setErrorCode(12297),0))},ab:(e,t,r,o)=>62e3!=e?(fr.setErrorCode(12296),0):62002!=t?(fr.setErrorCode(12293),0):(fr.setErrorCode(12288),62006),Lc:(e,t)=>62e3!=e?(fr.setErrorCode(12296),0):62004!=t?(fr.setErrorCode(12294),0):(mr.deleteContext(fr.context),fr.setErrorCode(12288),fr.currentContext==t&&(fr.currentContext=0),1),Ac:(e,t)=>62e3!=e?(fr.setErrorCode(12296),0):62006!=t?(fr.setErrorCode(12301),1):(fr.currentReadSurface==t&&(fr.currentReadSurface=0),fr.currentDrawSurface==t&&(fr.currentDrawSurface=0),fr.setErrorCode(12288),1),S:(e,t,r,o)=>{if(62e3!=e)return fr.setErrorCode(12296),0;if(62002!=t)return fr.setErrorCode(12293),0;if(!o)return fr.setErrorCode(12300),0;switch(fr.setErrorCode(12288),r){case 12320:return x[o>>2]=fr.contextAttributes.alpha?32:24,1;case 12321:return x[o>>2]=fr.contextAttributes.alpha?8:0,1;case 12322:case 12323:case 12324:return x[o>>2]=8,1;case 12325:return x[o>>2]=fr.contextAttributes.depth?24:0,1;case 12326:return x[o>>2]=fr.contextAttributes.stencil?8:0,1;case 12327:case 12335:case 12340:return x[o>>2]=12344,1;case 12328:return x[o>>2]=62002,1;case 12329:case 12333:case 12334:case 12345:case 12346:case 12347:case 12349:case 12350:case 12354:return x[o>>2]=0,1;case 12330:case 12332:return x[o>>2]=4096,1;case 12331:return x[o>>2]=16777216,1;case 12337:return x[o>>2]=fr.contextAttributes.antialias?4:0,1;case 12338:return x[o>>2]=fr.contextAttributes.antialias?1:0,1;case 12339:case 12352:return x[o>>2]=4,1;case 12341:case 12342:case 12343:return x[o>>2]=-1,1;case 12348:return x[o>>2]=1,1;case 12351:return x[o>>2]=12430,1;default:return fr.setErrorCode(12292),0}},Lb:e=>(fr.setErrorCode(12288),0!=e&&1!=e?0:62e3),ta:()=>fr.errorCode,Db:(e,t,r)=>62e3!=e?(fr.setErrorCode(12296),0):(t&&(x[t>>2]=1),r&&(x[r>>2]=4),fr.defaultDisplayInitialized=!0,fr.setErrorCode(12288),1),Wb:(e,t,r,o)=>62e3!=e?(fr.setErrorCode(12296),0):0!=o&&62004!=o?(fr.setErrorCode(12294),0):0!=r&&62006!=r||0!=t&&62006!=t?(fr.setErrorCode(12301),0):(mr.makeContextCurrent(o?fr.context:null),fr.currentContext=o,fr.currentDrawSurface=t,fr.currentReadSurface=r,fr.setErrorCode(12288),1),ua:(e,t)=>{if(fr.defaultDisplayInitialized)if(u.ctx){if(!u.ctx.isContextLost())return fr.setErrorCode(12288),1;fr.setErrorCode(12302)}else fr.setErrorCode(12290);else fr.setErrorCode(12289);return 0},pc:e=>62e3!=e?(fr.setErrorCode(12296),0):(fr.currentContext=0,fr.currentReadSurface=0,fr.currentDrawSurface=0,fr.defaultDisplayInitialized=!1,fr.setErrorCode(12288),1),H:(e,t,r)=>br(e,t,r),Ae:e=>{console.error(Ee(e))},Be:e=>{console.log(Ee(e))},ja:e=>{console.warn(Ee(e))},ba:()=>Date.now(),ne:function(){},kb:()=>2147483648,Ab:xt,$f:yr,ag:vr,Zc:_r,fe:kr,Mc:Cr,bg:wr,cg:Ar,Ic:Er,Jc:Pr,af:Sr,bf:Rr,Le:Br,dg:Ir,Xb:xr,yf:qr,Af:Fr,eg:Dr,fg:Lr,Ud:Mr,gg:Or,Td:Ur,We:$r,hg:Vr,ig:Nr,cf:Hr,jg:jr,kc:Wr,lc:Gr,nc:zr,mc:Yr,kg:Xr,Sd:Qr,lg:Kr,Ea:Zr,mg:Jr,ng:eo,og:to,cd:ro,pg:oo,bd:no,Ue:so,Rd:ao,qg:io,dd:uo,rg:lo,sg:co,tg:po,ug:go,df:fo,vg:mo,$c:ho,he:bo,ef:yo,Ne:vo,wg:_o,Ve:ko,xg:Co,Vb:wo,zf:Eo,Bf:Po,Qd:So,yg:Ro,Pd:Bo,Od:Io,zg:xo,Ag:To,Bg:qo,wf:Do,Xd:Lo,Hb:Mo,tf:Oo,id:Uo,Ib:$o,rf:Ho,gd:jo,Yd:Wo,Cg:zo,xf:Xo,Wd:Qo,Fb:Ko,uf:Zo,Gb:Jo,hd:en,lf:tn,Dg:rn,Eg:on,Yc:nn,ee:sn,Kc:an,Se:un,Fg:ln,Gg:cn,gf:dn,hf:pn,Pc:gn,Hg:fn,Ig:hn,jf:bn,ad:yn,ie:vn,kf:_n,Oe:kn,Jg:Cn,Ub:wn,vf:Rn,Cf:Bn,Ye:In,Nd:Tn,Md:qn,fc:Fn,gc:Dn,ic:Ln,Ld:Mn,Kd:On,Jd:Nn,ac:Hn,Kg:jn,Lg:Wn,Mg:Gn,xc:zn,Ze:Yn,bc:Qn,dc:Kn,Nc:Zn,lh:Jn,Mb:es,Qb:ts,Ng:rs,Og:os,$d:ss,be:us,_d:ls,Wc:cs,ae:ds,Xc:ps,ce:gs,_e:fs,Yb:ms,Zb:hs,Pg:bs,Ie:ys,Id:vs,Qg:_s,Da:ks,mh:Cs,cc:ws,Hd:As,Gd:Es,Gc:Ps,hc:Ss,jc:Rs,Rg:xs,Fd:Fs,Ed:Ds,yc:Ls,Fc:Us,Ec:$s,Bd:Vs,Dd:Ns,Cd:Hs,Ad:js,Je:Ws,Ke:Gs,zd:zs,yd:Ys,xd:Xs,wd:Qs,_c:Ks,ge:Zs,vd:Js,$b:ea,ud:ta,Te:ra,Sg:oa,Tb:na,Oc:aa,Zd:ia,Tg:ua,Ug:la,pf:ca,qf:da,Sb:pa,Vg:ga,td:fa,Pb:ma,Ob:ha,de:ba,sf:ya,Wg:Ca,sd:wa,$e:Aa,Xe:Ea,Rb:Pa,rd:Sa,Pe:Ra,_b:Ba,Qe:Ia,Re:xa,Xg:Ta,qd:qa,Yg:Fa,Zg:Da,_g:La,$g:Ma,ah:Oa,bh:Ua,ch:$a,dh:Va,fd:Na,eh:Ha,fh:ja,gh:Wa,hh:Ga,mf:za,Nb:Ya,ih:Xa,ed:Qa,Hc:Ka,jh:Za,kh:ei,Xf:ti,Yf:oi,wc:ni,sc:si,Zf:ai,_f:ii,Wf:ui,Vf:li,vc:ci,rc:di,Uf:pi,Tf:gi,Sf:fi,Rf:mi,uc:hi,qc:bi,Qf:yi,Pf:vi,Df:_i,Ef:ki,tc:Ci,oc:wi,ec:Ai,Ff:Ei,Vc:Pi,Tc:Si,Gf:Ri,Uc:Bi,Rc:Ii,Hf:xi,Sc:Ti,Qc:qi,If:Fi,pd:Di,Jf:Li,nd:Mi,md:Oi,Kf:Ui,ld:$i,Lf:Vi,kd:Ni,Mf:Hi,nf:Wi,Vd:Gi,Jb:zi,jd:Yi,Kb:Xi,Dc:Qi,Bc:Ki,Cc:Zi,zc:Ji,of:eu,Nf:tu,Of:ru,Fa:ou,Cb:(e,t,r)=>R.copyWithin(e,t,t+r),mb:e=>{var t=R.length,r=2147483648;if((e>>>=0)>r)return!1;for(var o,n,s=1;s<=4;s*=2){var a=t*(1+.2/s);a=Math.min(a,e+100663296);var i=Math.min(r,(o=Math.max(e,a))+((n=65536)-o%n)%n);if(nu(i))return!0}return!1},Wa:function(e,t,r,o,n,s,a,i,l){const c=u.UTF8ToString(e,e+t),d=u.HEAPU8.subarray(n,n+s),p=u.emscripten_ubq_codec_audioDecoderNextHandle++,g={codec:c,sampleRate:r,numberOfChannels:o,description:d};try{const e=u.emscripten_ubq_codec_createAudioDecoder(a,i,l);AudioDecoder.isConfigSupported(g).then((t=>{e.configUnsupported=!t}),(()=>{e.configUnsupported=!0})),e.configure(g),u.emscripten_ubq_codec_audioDecoders.set(p,{audioDecoder:e,decoderConfig:g,leftBufferPtr:a,rightBufferPtr:i,bufferLength:l})}catch(e){return u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:p})},Na:function(e,t,r,o,n,s){const a=u.UTF8ToString(e,e+t),i=u.emscripten_ubq_codec_audioEncoderNextHandle++,l={codec:a,sampleRate:r,numberOfChannels:o,bitrate:n};try{const e=new AudioEncoder({output:e=>{const t=u._malloc(e.byteLength),r=u.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),u.emscripten_ubq_codec_onOutputEncodedAudioChunk(i,t,e.byteLength,s),u._free(t)},error:e=>console.error(e)});e.configure(l),u.emscripten_ubq_codec_audioEncoders.set(i,{audioEncoder:e,audioEncoderConfig:l,frameIndex:0})}catch(e){return e+=' Requested codec: "'+a+'"',e+="; sample rate: "+r,e+="; channels: "+o,e+="; bit rate: "+n,u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:i})},$a:function(e,t,r,o,n,s,a){const i=u.UTF8ToString(e,e+t),l=u.HEAPU8.subarray(n,n+s),c=u.emscripten_ubq_codec_videoDecoderNextHandle++,d={codec:i,codedWidth:r,codedHeight:o,description:l,optimizeForLatency:!0};try{const e=u.emscripten_ubq_codec_createVideoDecoder(c,a);VideoDecoder.isConfigSupported(d).then((t=>{e.configUnsupported=!t}),(()=>{e.configUnsupported=!0})),e.configure(d),u.emscripten_ubq_codec_videoDecoders.set(c,{videoDecoder:e,decoderConfig:d,codecServicePtr:a})}catch(e){return u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:c})},Ra:function(e,t,r,o,n,s){const a=u.UTF8ToString(e,e+t),i=u.emscripten_ubq_codec_videoEncoderNextHandle++,l=u.specialHTMLTargets["!canvas"];l.width=r,l.height=o;const c={codec:a,width:r,height:o,avc:{format:"annexb"},framerate:n};try{const e=new VideoEncoder({output:e=>{const t=u._malloc(e.byteLength),r=u.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),u.emscripten_ubq_codec_onOutputEncodedVideoChunk(i,t,e.byteLength,s),u._free(t)},error:e=>console.error(e)});VideoEncoder.isConfigSupported(c).then((t=>{e.configUnsupported=!t}),(()=>{e.configUnsupported=!0})),e.configure(c),u.emscripten_ubq_codec_videoEncoders.set(i,{videoEncoder:e,encoderConfig:c,groupOfPictures:150,frameIndex:0})}catch(e){return e+=' Requested codec: "'+a+'"',e+="; resolution: "+r+"x"+o,u.emscripten_ubq_codec_createNativeResult({error:e})}return u.emscripten_ubq_codec_createNativeResult({handle:i})},Sa:function(e,t,r,o,n,s){const a=u.emscripten_ubq_codec_audioDecoders.get(e);if(a.audioDecoder.unexpectedError)return u.emscripten_ubq_codec_createNativeResult({code:2,error:a.audioDecoder.unexpectedError});"closed"===a.audioDecoder.state&&(a.audioDecoder=u.emscripten_ubq_codec_createAudioDecoder(a.leftBufferPtr,a.rightBufferPtr,a.bufferLength),a.audioDecoder.configure(a.decoderConfig));const i=a.audioDecoder,l=u.HEAPU8.subarray(n,n+s),c=new EncodedAudioChunk({type:t?"key":"delta",timestamp:r,duration:o,data:l});try{i.decode(c)}catch(e){return i.configUnsupported?u.emscripten_ubq_codec_createNativeResult({code:2,error:e}):u.emscripten_ubq_codec_createNativeResult({code:1,error:e})}return u.emscripten_ubq_codec_createNativeResult({code:0})},Ja:function(e,t,r,o,n,s){const a=u.emscripten_ubq_codec_videoDecoders.get(e);if(a.videoDecoder.unexpectedError)return u.emscripten_ubq_codec_createNativeResult({code:2,error:a.videoDecoder.unexpectedError});if("closed"===a.videoDecoder.state){const t=a.videoDecoder.textures;return a.videoDecoder=u.emscripten_ubq_codec_createVideoDecoder(e,a.codecServicePtr),a.videoDecoder.textures=t,a.videoDecoder.configure(a.decoderConfig),u.emscripten_ubq_codec_createNativeResult({code:1,error:"VideoDecoder was closed"})}const i=a.videoDecoder,l=u.HEAPU8.subarray(n,n+s),c=new EncodedVideoChunk({type:t?"key":"delta",timestamp:r,duration:o,data:l});try{i.decode(c)}catch(e){return i.configUnsupported?u.emscripten_ubq_codec_createNativeResult({code:2,error:e}):u.emscripten_ubq_codec_createNativeResult({code:1,error:e})}return u.emscripten_ubq_codec_createNativeResult({code:0})},Va:function(e){if(u.emscripten_ubq_codec_audioDecoders.has(e)){const t=u.emscripten_ubq_codec_audioDecoders.get(e);"closed"!==t.audioDecoder.state&&t.audioDecoder.close(),u.emscripten_ubq_codec_audioDecoders.delete(e)}},Ma:function(e){const t=u.emscripten_ubq_codec_audioEncoders.get(e);"closed"!==t.audioEncoder.state&&t.audioEncoder.close(),u.emscripten_ubq_codec_audioEncoders.delete(e)},Za:function(e){if(u.emscripten_ubq_codec_videoDecoders.has(e)){const t=u.emscripten_ubq_codec_videoDecoders.get(e);"closed"!==t.videoDecoder.state&&t.videoDecoder.close(),u.emscripten_ubq_codec_videoDecoders.delete(e)}},Qa:function(e){const t=u.emscripten_ubq_codec_videoEncoders.get(e);"closed"!==t.videoEncoder.state&&t.videoEncoder.close(),u.emscripten_ubq_codec_videoEncoders.delete(e)},La:function(e,t,r){const o=1e6,n=u.emscripten_ubq_codec_audioEncoders.get(e),s=n.audioEncoderConfig.sampleRate,a=n.audioEncoderConfig.numberOfChannels,i=r/a,l=Math.round(o*(n.frameIndex*i/s)),c=Math.round(o*(i/s)),d=u.HEAPF32.subarray(t/4,t/4+r),p=new AudioData({format:"f32",sampleRate:s,numberOfFrames:i,numberOfChannels:a,duration:c,timestamp:l,data:d});n.audioEncoder.encode(p),n.frameIndex++,p.close()},Pa:function(e,t,r){const o=1e6,n=u.emscripten_ubq_codec_videoEncoders.get(e),s=Math.round(o*(n.frameIndex/n.encoderConfig.framerate)),a=n.frameIndex%n.groupOfPictures==0,i=Math.round(o/n.encoderConfig.framerate),l=u.specialHTMLTargets["!canvas"],c=new VideoFrame(l,{timestamp:s,duration:i});n.videoEncoder.encode(c,{keyFrame:a}),c.close(),n.frameIndex++},Ka:async function(e,t){const r=u.emscripten_ubq_codec_audioEncoders.get(e);await r.audioEncoder.flush(),u.emscripten_ubq_codec_onFinalizedAudioEncoding(e,t)},Oa:async function(e,t){const r=u.emscripten_ubq_codec_videoEncoders.get(e);await r.videoEncoder.flush(),u.emscripten_ubq_codec_onFinalizedVideoEncoding(e,t)},Ua:async function(e,t){const r=u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder;r.flushing=!0;try{await r.flush()}catch{}r.flushing=!1,r.writtenFrames=t},X:async function(e,t,r){const o=u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder;o.shouldDropFrames=r,o.flushing=!0;try{await o.flush()}catch{}o.flushing=!1,o.shouldDropFrames=!1,o.decodedFrames=t},la:function(e){return u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.decodeQueueSize},ma:function(e){return u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.decodedFrames},W:function(e){return u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.writtenFrames},Ta:function(e){return u.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.flushing},Ya:function(e){return u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.flushing},Y:function(){return"undefined"!=typeof VideoFrame&&"undefined"!=typeof VideoDecoder&&"undefined"!=typeof VideoEncoder&&"undefined"!=typeof AudioDecoder&&"undefined"!=typeof AudioEncoder},Xa:function(e,t){u.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.requestedFrame=t},_a:function(e,t,r){const o=u.emscripten_ubq_codec_videoDecoders.get(e),n=u.HEAPU32.subarray(t/4,t/4+r);o.videoDecoder.textures=[];for(let e=0;e<r;e++)o.videoDecoder.textures[e]=mr.textures[n[e]]},ue:function(e){const t=u.emscripten_ubq_asyncFetchManager.getProcess(e);return!!(null==t?void 0:t.allocate())},ia:function(){u.emscripten_ubq_asyncFetchManager.clear()},ha:function(e,t,r,o){return u.emscripten_ubq_asyncFetchManager.createHeader(e,t,r,o)},ye:function(e){u.emscripten_ubq_asyncFetchManager.deleteHeader(e)},ze:function(e,t,r,o,n,s,a,i,l){return u.emscripten_ubq_asyncFetchManager.fetch(e,t,r,o,n,s,a,i,l).handle},re:function(e){return u.emscripten_ubq_asyncFetchManager.deleteProcess(e)},we:function(e){var t,r;return null!==(r=null===(t=u.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.receivedLength)&&void 0!==r?r:0},te:function(e){const t=u.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultAddress:-1},se:function(e){const t=u.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultLength:-1},Aa:function(e){var t,r;return null!==(r=null===(t=u.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.state)&&void 0!==r?r:-1},ve:function(e){var t,r;return null!==(r=null===(t=u.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.totalBytes)&&void 0!==r?r:0},bb:function(){return!!u.emscripten_ubq_settings_forceWebGL1},na:lu,Z:e=>{mr.currentContext==e&&(mr.currentContext=0),mr.deleteContext(e)},fb:e=>(e=>{var t=e.getExtension("OES_vertex_array_object");if(t)return e.createVertexArray=()=>t.createVertexArrayOES(),e.deleteVertexArray=e=>t.deleteVertexArrayOES(e),e.bindVertexArray=e=>t.bindVertexArrayOES(e),e.isVertexArray=e=>t.isVertexArrayOES(e),1})(mr.contexts[e].GLctx),eb:e=>(e=>{var t=e.getExtension("WEBGL_draw_buffers");if(t)return e.drawBuffers=(e,r)=>t.drawBuffersWEBGL(e,r),1})(mr.contexts[e].GLctx),db:e=>(e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")))(mr.contexts[e].GLctx),_:(e,t)=>{var r=mr.getContext(e),o=Ee(t);return o.startsWith("GL_")&&(o=o.substr(3)),!!r.GLctx.getExtension(o)},cb:(e,t)=>{if(!t)return-5;if(!(e=mr.contexts[e]))return-3;var r=e.GLctx;if(!r)return-3;r=r.getContextAttributes(),x[t>>2]=r.alpha,x[t+4>>2]=r.depth,x[t+8>>2]=r.stencil,x[t+12>>2]=r.antialias,x[t+16>>2]=r.premultipliedAlpha,x[t+20>>2]=r.preserveDrawingBuffer;var o=r.powerPreference&&au.indexOf(r.powerPreference);return x[t+24>>2]=o,x[t+28>>2]=r.failIfMajorPerformanceCaveat,x[t+32>>2]=e.version,x[t+36>>2]=0,0},lb:e=>mr.makeContextCurrent(e)?0:-5,ub:(e,t)=>{var r=0;return du().forEach(((o,n)=>{var s=t+r;T[e+4*n>>2]=s,((e,t)=>{for(var r=0;r<e.length;++r)S[t++>>0]=e.charCodeAt(r);S[t>>0]=0})(o,s),r+=o.length+1})),0},vb:(e,t)=>{var r=du();T[e>>2]=r.length;var o=0;return r.forEach((e=>o+=e.length+1)),T[t>>2]=o,0},Ce:cr,ca:function(e){try{var t=Pe.getStreamFromFD(e);return Ae.close(t),0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},nb:function(e,t,r,o,n){o=er(o);try{if(isNaN(o))return 61;var s=Pe.getStreamFromFD(e),a=pu(s,t,r,o);return T[n>>2]=a,0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},sa:function(e,t,r,o){try{var n=Pe.getStreamFromFD(e),s=pu(n,t,r);return T[o>>2]=s,0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},tb:function(e,t,r,o){t=er(t);try{if(isNaN(t))return 61;var n=Pe.getStreamFromFD(e);return Ae.llseek(n,t,r),F[o>>3]=BigInt(n.position),n.getdents&&0===t&&0===r&&(n.getdents=null),0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},ra:function(e,t,r,o){try{var n=((e,t,r,o)=>{for(var n=0,s=0;s<r;s++){var a=T[t>>2],i=T[t+4>>2];t+=8;var u=Ae.write(e,S,a,i,o);if(u<0)return-1;n+=u,void 0!==o&&(o+=u)}return n})(Pe.getStreamFromFD(e),t,r);return T[o>>2]=n,0}catch(e){if(void 0===Ae||"ErrnoError"!==e.name)throw e;return e.errno}},pe:function(e){var t=Ee(e),r=localStorage.getItem(t);return null==r?null:sr(r)},me:function(){return"undefined"!=typeof window?sr(window.location.hostname):sr("")},gb:(e,t)=>(de(R.subarray(e,e+t)),0),y:function(e,t,r){var o=Uu();try{return wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},L:function(e,t){var r=Uu();try{return wt(e)(t)}catch(e){if($u(r),e!==e+0)throw e;Ou(1,0)}},G:function(e,t,r){var o=Uu();try{return wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},l:function(e,t,r,o){var n=Uu();try{return wt(e)(t,r,o)}catch(e){if($u(n),e!==e+0)throw e;Ou(1,0)}},oh:function(e){var t=Uu();try{return wt(e)()}catch(e){if($u(t),e!==e+0)throw e;Ou(1,0)}},Ga:function(e,t,r){var o=Uu();try{return wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},q:function(e,t){var r=Uu();try{return wt(e)(t)}catch(e){if($u(r),e!==e+0)throw e;Ou(1,0)}},U:function(e,t,r,o,n,s,a,i,u,l,c,d,p,g,f,m){var h=Uu();try{return wt(e)(t,r,o,n,s,a,i,u,l,c,d,p,g,f,m)}catch(e){if($u(h),e!==e+0)throw e;Ou(1,0)}},r:function(e,t,r){var o=Uu();try{return wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},t:function(e,t,r,o){var n=Uu();try{return wt(e)(t,r,o)}catch(e){if($u(n),e!==e+0)throw e;Ou(1,0)}},T:function(e,t,r,o,n){var s=Uu();try{return wt(e)(t,r,o,n)}catch(e){if($u(s),e!==e+0)throw e;Ou(1,0)}},He:function(e,t,r,o,n,s){var a=Uu();try{return wt(e)(t,r,o,n,s)}catch(e){if($u(a),e!==e+0)throw e;Ou(1,0)}},Ca:function(e,t,r,o,n,s,a){var i=Uu();try{return wt(e)(t,r,o,n,s,a)}catch(e){if($u(i),e!==e+0)throw e;Ou(1,0)}},Ba:function(e,t,r,o,n,s,a,i,u,l){var c=Uu();try{return wt(e)(t,r,o,n,s,a,i,u,l)}catch(e){if($u(c),e!==e+0)throw e;Ou(1,0)}},Q:function(e){var t=Uu();try{wt(e)()}catch(e){if($u(t),e!==e+0)throw e;Ou(1,0)}},u:function(e,t){var r=Uu();try{wt(e)(t)}catch(e){if($u(r),e!==e+0)throw e;Ou(1,0)}},C:function(e,t,r,o){var n=Uu();try{wt(e)(t,r,o)}catch(e){if($u(n),e!==e+0)throw e;Ou(1,0)}},F:function(e,t,r){var o=Uu();try{wt(e)(t,r)}catch(e){if($u(o),e!==e+0)throw e;Ou(1,0)}},p:function(e,t,r,o){var n=Uu();try{wt(e)(t,r,o)}catch(e){if($u(n),e!==e+0)throw e;Ou(1,0)}},D:function(e,t,r,o,n){var s=Uu();try{wt(e)(t,r,o,n)}catch(e){if($u(s),e!==e+0)throw e;Ou(1,0)}},Ge:function(e,t,r,o,n,s){var a=Uu();try{wt(e)(t,r,o,n,s)}catch(e){if($u(a),e!==e+0)throw e;Ou(1,0)}},De:function(e,t,r,o,n,s,a){var i=Uu();try{wt(e)(t,r,o,n,s,a)}catch(e){if($u(i),e!==e+0)throw e;Ou(1,0)}},nh:function(e,t,r,o,n,s,a,i){var u=Uu();try{wt(e)(t,r,o,n,s,a,i)}catch(e){if($u(u),e!==e+0)throw e;Ou(1,0)}},Fe:function(e,t,r,o,n,s,a,i,u,l){var c=Uu();try{wt(e)(t,r,o,n,s,a,i,u,l)}catch(e){if($u(c),e!==e+0)throw e;Ou(1,0)}},ga:function(){return"undefined"!=typeof localStorage},ka:function(e,t){const r=Lt.toValue(t),o=u.ctx;o.bindTexture(o.TEXTURE_2D,mr.textures[e]),o.texImage2D(o.TEXTURE_2D,0,o.RGBA,o.RGBA,o.UNSIGNED_BYTE,r)},a:w,qe:function(e,t){var r=Ee(e),o=Ee(t);localStorage.setItem(r,o)},hb:(e,t,r,o,n)=>hu(e,t,r,o)},Bu=function(){var e,t,r,n,s={a:Ru};function a(e,t){var r;return Bu=e.exports,vt=Bu.rh,r=Bu.ph,N.unshift(r),X(),Bu}if(Y(),u.instantiateWasm)try{return u.instantiateWasm(s,a)}catch(e){E(`Module.instantiateWasm callback failed with error: ${e}`),o(e)}return(e=C,t=K,r=s,n=function(e){a(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||J(t)||y||"function"!=typeof fetch?re(t,r,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,r).then(n,(function(e){return E(`wasm streaming compile failed: ${e}`),E("falling back to ArrayBuffer instantiation"),re(t,r,n)}))))).catch(o),{}}(),Iu=u._malloc=e=>(Iu=u._malloc=Bu.qh)(e),xu=u._main=(e,t)=>(xu=u._main=Bu.sh)(e,t),Tu=u._free=e=>(Tu=u._free=Bu.th)(e),qu=(u._ma_malloc_emscripten=(e,t)=>(u._ma_malloc_emscripten=Bu.uh)(e,t),u._ma_free_emscripten=(e,t)=>(u._ma_free_emscripten=Bu.vh)(e,t),u._ma_device_process_pcm_frames_capture__webaudio=(e,t,r)=>(qu=u._ma_device_process_pcm_frames_capture__webaudio=Bu.wh)(e,t,r)),Fu=u._ma_device_process_pcm_frames_playback__webaudio=(e,t,r)=>(Fu=u._ma_device_process_pcm_frames_playback__webaudio=Bu.xh)(e,t,r),Du=e=>(Du=Bu.yh)(e),Lu=e=>(Lu=Bu.zh)(e),Mu=(e,t)=>(Mu=Bu.Ah)(e,t),Ou=(e,t)=>(Ou=Bu.Bh)(e,t),Uu=()=>(Uu=Bu.Ch)(),$u=e=>($u=Bu.Dh)(e),Vu=e=>(Vu=Bu.Eh)(e),Nu=e=>(Nu=Bu.Fh)(e),Hu=e=>(Hu=Bu.Gh)(e),ju=(e,t,r)=>(ju=Bu.Hh)(e,t,r),Wu=e=>(Wu=Bu.Ih)(e);function Gu(e=g){function r(){Su||(Su=!0,u.calledRun=!0,M||(u.noFSInit||Ae.init.initialized||Ae.init(),Ae.ignorePermissions=!1,ve.init(),se(N),se(H),t(u),u.onRuntimeInitialized&&u.onRuntimeInitialized(),zu&&function(e=[]){var t=xu;e.unshift(f);var r=e.length,o=Vu(4*(r+1)),n=o;e.forEach((e=>{T[n>>2]=bu(e),n+=4})),T[n>>2]=0;try{var s=t(r,o);return lr(s,!0),s}catch(e){return ir(e)}}(e),function(){if(u.postRun)for("function"==typeof u.postRun&&(u.postRun=[u.postRun]);u.postRun.length;)e=u.postRun.shift(),j.unshift(e);var e;se(j)}()))}W>0||(function(){if(u.preRun)for("function"==typeof u.preRun&&(u.preRun=[u.preRun]);u.preRun.length;)e=u.preRun.shift(),V.unshift(e);var e;se(V)}(),W>0||(u.setStatus?(u.setStatus("Running..."),setTimeout((function(){setTimeout((function(){u.setStatus("")}),1),r()}),1)):r()))}if(u.___start_em_js=2372187,u.___stop_em_js=2373022,u.addRunDependency=Y,u.removeRunDependency=X,u.FS_createPath=Ae.createPath,u.FS_createLazyFile=Ae.createLazyFile,u.FS_createDevice=Ae.createDevice,u.ccall=(e,t,r,o,n)=>{var s={string:e=>{var t=0;return null!=e&&0!==e&&(t=bu(e)),t},array:e=>{var t=Vu(e.length);return mu(e,t),t}},a=(e=>u["_"+e])(e),i=[],l=0;if(o)for(var c=0;c<o.length;c++){var d=s[r[c]];d?(0===l&&(l=Uu()),i[c]=d(o[c])):i[c]=o[c]}var p,g=a.apply(null,i);return p=g,0!==l&&$u(l),g=function(e){return"string"===t?Ee(e):"boolean"===t?Boolean(e):e}(p),g},u.getValue=function(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return S[e>>0];case"i16":return B[e>>1];case"i32":return x[e>>2];case"i64":return F[e>>3];case"float":return q[e>>2];case"double":return L[e>>3];case"*":return T[e>>2];default:Q(`invalid type for getValue: ${t}`)}},u.UTF8ToString=Ee,u.specialHTMLTargets=iu,u.FS_createPreloadedFile=Ae.createPreloadedFile,u.FS_createDataFile=Ae.createDataFile,u.FS_unlink=Ae.unlink,z=function e(){Su||Gu(),Su||(z=e)},u.preInit)for("function"==typeof u.preInit&&(u.preInit=[u.preInit]);u.preInit.length>0;)u.preInit.pop()();var zu=!0;return u.noInitialRun&&(zu=!1),Gu(),e.ready});"object"==typeof e&&"object"==typeof t?t.exports=o:"function"==typeof define&&define.amd&&define([],(()=>o))}}),src_exports={};__export(src_exports,{LogLevel:()=>LogLevel,MimeType:()=>MimeType_default,default:()=>src_default}),module.exports=__toCommonJS(src_exports);var PROXY=Symbol("PROXY");function getter(e,t){Object.defineProperty(e[t],PROXY,{value:{type:"getter"},writable:!1})}function setter(e,t){Object.defineProperty(e[t],PROXY,{value:{type:"setter"},writable:!1})}var UBQHelper=class{ubq;constructor(e){this.ubq=e}useInternalAPI(e){const t=this.ubq.getInternalAPI();try{return e(t)}finally{t.delete()}}setValue(e,t,r,o){return this.useInternalAPI((n=>unpackResult(n.setValue(e,t,r,o))))}getValue(e,t,r){return this.useInternalAPI((o=>unpackResult(o.getValue(e,t,r))))}async execute(e,t){return new Promise(((r,o)=>{this.useInternalAPI((n=>n.ubqExecute(e,t,(e=>{try{const t=unpackResult(e);r(t)}catch(e){o(e)}})))).delete()}))}};function unpackResult(e){if(e.isValid()){const t=e.value();return e.delete(),t}{const t=e.error(),r=t.publicMessage();throw t.delete(),e.delete(),new Error(r)}}function unpackAsync(e){return new Promise(((t,r)=>{e((e=>{try{const r=unpackResult(e);t(r)}catch(e){r(e)}}))}))}__decorateClass([setter],UBQHelper.prototype,"setValue",1),__decorateClass([getter],UBQHelper.prototype,"getValue",1);var cppVectorToArray_default=(e,t=!0)=>{const r=[];for(let t=0;t<e.size();t+=1)r.push(e.get(t));return t&&e.delete(),r},assetCallbacks=new WeakMap,EMPTY_RESULT={assets:[],total:0,currentPage:0,nextPage:void 0},AssetAPI=class{#e;constructor(e){this.#e=e}addSource(e){var t,r,o,n,s,a;const i=null==(t=e.getSupportedMimeTypes)?void 0:t.bind(e),u=null==(r=e.getGroups)?void 0:r.bind(e),l=null==(o=e.applyAsset)?void 0:o.bind(e),c=null==(n=e.applyAssetToBlock)?void 0:n.bind(e),d=null==(s=e.addAsset)?void 0:s.bind(e),p=null==(a=e.removeAsset)?void 0:a.bind(e),g=e.credits,f=e.license;unpackResult(this.#e.addAssetSource(e.id,(async(t,r)=>{try{const o={...t,tags:cppVectorToArray_default(t.tags),groups:cppVectorToArray_default(t.groups),excludeGroups:cppVectorToArray_default(t.excludeGroups)},n=await e.findAssets(o);if(n){const t={...n,assets:n.assets.map((t=>ensureContext(t,e.id)))};r.invoke(t)}else r.invoke(EMPTY_RESULT)}catch(e){r.invoke(e.message??"Unknown error in user-defined `findAssets`")}}),u?async e=>{try{const t=await u();e.invoke(t)}catch(t){e.invoke(t.message??"Unknown error in user-defined `getGroups`")}}:null,g?()=>({name:g.name,url:g.url??""}):null,f?()=>({name:f.name,url:f.url??""}):null,i?()=>i()??[]:null,l?async(e,t)=>{try{const r=await l(this.#t(e));t.invoke(r)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,c?async(e,t,r)=>{try{await c(this.#t(e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null,d?async e=>{d(e)}:null,p?async e=>{p(e)}:null)),this.#r(e.id,e)}addLocalSource(e,t,r,o){unpackResult(this.#e.addLocalAssetSource(e,t??[],r?async(e,t)=>{try{const o=await r(this.#t(e));t.invoke(o)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,o?async(e,t,r)=>{try{await o(this.#t(e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null))}removeSource(e){unpackResult(this.#e.removeAssetSource(e)),this.#o(e)}findAllSources(){return cppVectorToArray_default(this.#e.findAllAssetSources())}findAssets(e,t){return new Promise(((r,o)=>{let n=(null==t?void 0:t.tags)??[];Array.isArray(n)||(n=[n]);const s={perPage:(null==t?void 0:t.perPage)??0,page:(null==t?void 0:t.page)??0,query:(null==t?void 0:t.query)??"",tags:n,groups:(null==t?void 0:t.groups)??[],excludeGroups:(null==t?void 0:t.excludeGroups)??[],locale:(null==t?void 0:t.locale)??""};this.#e.findAssetSourceAssets(e,s,(e=>{try{const t=unpackResult(e);r({...t,nextPage:-1===t.nextPage?void 0:t.nextPage})}catch(e){o(e)}}))}))}#t(e){var t,r,o,n,s,a,i,u;const l={...e};return 0===(null==(t=l.groups)?void 0:t.length)&&delete l.groups,l.locale||delete l.locale,l.label||delete l.label,0===(null==(r=l.tags)?void 0:r.length)&&delete l.tags,(null==(o=l.credits)?void 0:o.name)||(null==(n=l.credits)?void 0:n.url)?l.credits.url||delete l.credits.url:delete l.credits,(null==(s=l.license)?void 0:s.name)||(null==(a=l.license)?void 0:a.url)?l.license.url||delete l.license.url:delete l.license,(null==(i=l.utm)?void 0:i.source)||(null==(u=l.utm)?void 0:u.medium)?(l.utm.source||delete l.utm.source,l.utm.medium||delete l.utm.medium):delete l.utm,l}async getGroups(e){return unpackAsync((t=>this.#e.getAssetSourceGroups(e,t))).then((e=>cppVectorToArray_default(e)))}getSupportedMimeTypes(e){return cppVectorToArray_default(unpackResult(this.#e.getAssetSourceSupportedMimeTypes(e)))}getCredits(e){const t=unpackResult(this.#e.getAssetSourceCredits(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}getLicense(e){const t=unpackResult(this.#e.getAssetSourceLicense(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}canManageAssets(e){var t,r;return!!(null==(r=null==(t=assetCallbacks.get(this.#e))?void 0:t.get(e))?void 0:r.canManageAssets)}addAssetToSource(e,t){unpackResult(this.#e.addAssetToSource(e,t))}removeAssetFromSource(e,t){unpackResult(this.#e.removeAssetFromSource(e,t))}#r(e,t){assetCallbacks.has(this.#e)||assetCallbacks.set(this.#e,new Map),t.canManageAssets&&console.warn(`\nDEPRECATION WARNING:\n\n'canManageAssets' flag was found for asset source with the id '${e}'.\n\nThis flag is deprecated and will be removed in the next version. If you have used it to control if an upload buttons is rendered in the asset library, use the 'canAdd' options on an asset library entry. See documentation here: https://img.ly/docs/cesdk/ui/guides/customize-asset-library/`),assetCallbacks.get(this.#e).set(e,{canManageAssets:t.canManageAssets})}#o(e){var t;null==(t=assetCallbacks.get(this.#e))||t.delete(e)}async apply(e,t){return new Promise(((r,o)=>{this.#e.applyAssetSourceAsset(e,ensureContext(t,e),(e=>{try{const t=unpackResult(e);this.#e.isValid(t)?r(t):r(void 0)}catch(e){o(e)}}))}))}async applyToBlock(e,t,r){return unpackAsync((o=>this.#e.applyAssetSourceAssetToBlock(e,ensureContext(t,e),r,o)))}async defaultApplyAsset(e){return new Promise(((t,r)=>{this.#e.defaultApplyAsset(ensureContext(e,""),(e=>{try{const r=unpackResult(e);this.#e.isValid(r)?t(r):t(void 0)}catch(e){r(e)}}))}))}async defaultApplyAssetToBlock(e,t){return unpackAsync((r=>this.#e.defaultApplyAssetToBlock(ensureContext(e,""),t,r)))}onAssetSourceAdded=e=>{const t=this.#e.subscribeToAssetSourceAdded(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onAssetSourceRemoved=e=>{const t=this.#e.subscribeToAssetSourceRemoved(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};dispose(){assetCallbacks.delete(this.#e)}};function ensureContext(e,t){return"context"in e&&e.context.sourceId===t?e:{...e,context:{sourceId:t}}}var LogLevel={Info:"Info",Warning:"Warning",Error:"Error"};function defaultLogger(e,t){const r=`[UBQ] ${e}`;switch(t){case"Warning":console.warn(r);break;case"Error":console.error(r);break;case"Info":console.info(r);break;default:console.log(r)}}var BASE_URL_DEFAULT="https://cdn.img.ly/packages/imgly/cesdk-engine/1.26.0/assets";function ensureIsAbsoluteURL(e,t=("undefined"==typeof window?"":window.location.href)){return new URL(e,""===t?void 0:t).href}function ensureIsValidDirectoryURL(e){return"/"!==e[e.length-1]?`${e}/`:e}function joinPaths(e,t){const r=e.endsWith("/"),o=t.startsWith("/");return r&&o?`${e.substring(0,e.length-1)}${t}`:r||o?`${e}${t}`:`${e}/${t}`}function initWithDefaults(e={},t=BASE_URL_DEFAULT){const r={...e,license:e.license??"",featureFlags:e.featureFlags??{},baseURL:e.baseURL??t,core:e.core??{baseURL:"core/"},logger:e.logger??defaultLogger,presets:e.presets??{}};return r.baseURL=ensureIsAbsoluteURL(r.baseURL),r.baseURL=ensureIsValidDirectoryURL(r.baseURL),r.core.baseURL=ensureIsAbsoluteURL(r.core.baseURL,r.baseURL),r.core.baseURL=ensureIsValidDirectoryURL(r.core.baseURL),r}async function loadAssetSourcesFromContentJSON(e,t,r=fetch,o,n=new Set(o.findAllSources())){const s=e.map((async e=>{const s=joinPaths(t,`/${e}/content.json`);return r(s).then((e=>{if(!e.ok)throw new Error(e.statusText);return e.json()})).then((r=>{if(void 0===r.assets)throw new Error(`Invalid content.json for assets: ${e}`);const s=r.assets;n.has(e)||o.addLocalSource(e),s.forEach((r=>{var n,s;r.meta&&Object.entries(r.meta).forEach((([e,o])=>{const n=o.toString();if(n.includes("{{base_url}}")){const o=n.replace("{{base_url}}",t);r.meta&&(r.meta[e]=o)}})),(null==(n=r.payload)?void 0:n.typeface)&&r.payload.typeface.fonts.forEach((e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace("{{base_url}}",t))})),(null==(s=r.payload)?void 0:s.sourceSet)&&r.payload.sourceSet.forEach((e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace("{{base_url}}",t))})),o.addAssetToSource(e,r)}))}))}));await Promise.all(s)}var loadAssetSourcesFromContentJSON_default=loadAssetSourcesFromContentJSON;async function addDefaultAssetSources(e,t,r,o){const n=["ly.img.sticker","ly.img.vectorpath","ly.img.colors.defaultPalette","ly.img.filter.lut","ly.img.filter.duotone","ly.img.effect","ly.img.blur","ly.img.typeface"].filter((e=>!r.includes(e)));await loadAssetSourcesFromContentJSON_default(n,t,o,e)}var addDefaultAssetSources_default=addDefaultAssetSources,StructError=class extends TypeError{constructor(e,t){let r;const{message:o,...n}=e,{path:s}=e;super(0===s.length?o:"At path: "+s.join(".")+" -- "+o),this.value=void 0,this.key=void 0,this.type=void 0,this.refinement=void 0,this.path=void 0,this.branch=void 0,this.failures=void 0,Object.assign(this,n),this.name=this.constructor.name,this.failures=()=>{var o;return null!=(o=r)?o:r=[e,...t()]}}};function isIterable(e){return isObject(e)&&"function"==typeof e[Symbol.iterator]}function isObject(e){return"object"==typeof e&&null!=e}function print(e){return"string"==typeof e?JSON.stringify(e):""+e}function shiftIterator(e){const{done:t,value:r}=e.next();return t?void 0:r}function toFailure(e,t,r,o){if(!0===e)return;!1===e?e={}:"string"==typeof e&&(e={message:e});const{path:n,branch:s}=t,{type:a}=r,{refinement:i,message:u="Expected a value of type `"+a+"`"+(i?" with refinement `"+i+"`":"")+", but received: `"+print(o)+"`"}=e;return{value:o,type:a,refinement:i,key:n[n.length-1],path:n,branch:s,...e,message:u}}function*toFailures(e,t,r,o){isIterable(e)||(e=[e]);for(const n of e){const e=toFailure(n,t,r,o);e&&(yield e)}}function*run(e,t,r={}){const{path:o=[],branch:n=[e],coerce:s=!1,mask:a=!1}=r,i={path:o,branch:n};if(s&&(e=t.coercer(e,i),a&&"type"!==t.type&&isObject(t.schema)&&isObject(e)&&!Array.isArray(e)))for(const r in e)void 0===t.schema[r]&&delete e[r];let u=!0;for(const r of t.validator(e,i))u=!1,yield[r,void 0];for(let[r,l,c]of t.entries(e,i)){const t=run(l,c,{path:void 0===r?o:[...o,r],branch:void 0===r?n:[...n,l],coerce:s,mask:a});for(const o of t)o[0]?(u=!1,yield[o[0],void 0]):s&&(l=o[1],void 0===r?e=l:e instanceof Map?e.set(r,l):e instanceof Set?e.add(l):isObject(e)&&(e[r]=l))}if(u)for(const r of t.refiner(e,i))u=!1,yield[r,void 0];u&&(yield[void 0,e])}var Struct=class{constructor(e){this.TYPE=void 0,this.type=void 0,this.schema=void 0,this.coercer=void 0,this.validator=void 0,this.refiner=void 0,this.entries=void 0;const{type:t,schema:r,validator:o,refiner:n,coercer:s=(e=>e),entries:a=function*(){}}=e;this.type=t,this.schema=r,this.entries=a,this.coercer=s,this.validator=o?(e,t)=>toFailures(o(e,t),t,this,e):()=>[],this.refiner=n?(e,t)=>toFailures(n(e,t),t,this,e):()=>[]}assert(e){return assert(e,this)}create(e){return create(e,this)}is(e){return is(e,this)}mask(e){return mask(e,this)}validate(e,t={}){return validate(e,this,t)}};function assert(e,t){const r=validate(e,t);if(r[0])throw r[0]}function create(e,t){const r=validate(e,t,{coerce:!0});if(r[0])throw r[0];return r[1]}function mask(e,t){const r=validate(e,t,{coerce:!0,mask:!0});if(r[0])throw r[0];return r[1]}function is(e,t){return!validate(e,t)[0]}function validate(e,t,r={}){const o=run(e,t,r),n=shiftIterator(o);if(n[0]){return[new StructError(n[0],(function*(){for(const e of o)e[0]&&(yield e[0])})),void 0]}return[void 0,n[1]]}function define2(e,t){return new Struct({type:e,schema:null,validator:t})}function array(e){return new Struct({type:"array",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[r,o]of t.entries())yield[r,o,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||"Expected an array value, but received: "+print(e)})}function boolean(){return define2("boolean",(e=>"boolean"==typeof e))}function integer(){return define2("integer",(e=>"number"==typeof e&&!isNaN(e)&&Number.isInteger(e)||"Expected an integer, but received: "+print(e)))}function never(){return define2("never",(()=>!1))}function number(){return define2("number",(e=>"number"==typeof e&&!isNaN(e)||"Expected a number, but received: "+print(e)))}function object(e){const t=e?Object.keys(e):[],r=never();return new Struct({type:"object",schema:e||null,*entries(o){if(e&&isObject(o)){const n=new Set(Object.keys(o));for(const r of t)n.delete(r),yield[r,o[r],e[r]];for(const e of n)yield[e,o[e],r]}},validator:e=>isObject(e)||"Expected an object, but received: "+print(e),coercer:e=>isObject(e)?{...e}:e})}function string(){return define2("string",(e=>"string"==typeof e||"Expected a string, but received: "+print(e)))}function getSize(e){return e instanceof Map||e instanceof Set?e.size:e.length}function max(e,t,r={}){const{exclusive:o}=r;return refine(e,"max",(r=>o?r<t:r<=t||"Expected a "+e.type+" less than "+(o?"":"or equal to ")+t+" but received `"+r+"`"))}function min(e,t,r={}){const{exclusive:o}=r;return refine(e,"min",(r=>o?r>t:r>=t||"Expected a "+e.type+" greater than "+(o?"":"or equal to ")+t+" but received `"+r+"`"))}function nonempty(e){return refine(e,"nonempty",(t=>getSize(t)>0||"Expected a nonempty "+e.type+" but received an empty one"))}function refine(e,t,r){return new Struct({...e,*refiner(o,n){yield*e.refiner(o,n);const s=toFailures(r(o,n),n,e,o);for(const e of s)yield{...e,refinement:t}}})}function assert2(e,t,r){const[o]=validate(t,r);if(o)throw o.message=`Error in argument '${e}': ${o.message}`,o}function mimeType(){const e=/image\/(png|jpeg|webp|x-tga)|video\/(mp4|quicktime)|application\/octet-stream|application\/pdf/;return define2("MimeType",(t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "image/png", "image/jpeg", "image/webp", "image/x-tga", "video/mp4", "video/quicktime", "application/pdf" or "application/octet-stream", but got "${t}"`}))}function sceneLayoutShape(){const e=["Free","VerticalStack","HorizontalStack","DepthStack"];return define2("SceneLayout",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}function zoomAutoFitAxisShape(){const e=["Horizontal","Vertical","Both"];return define2("ZoomAutoFitAxis",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}function designUnitShape(){const e=["Pixel","Millimeter","Inch"];return define2("DesignUnit",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}function cutoutOperationShape(){const e=["Difference","Intersection","Union","XOR"];return define2("CutoutOperation",(t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map((e=>`"${e}"`)).join(", ")}, but got "${t}"`}))}var MimeType=(e=>(e.Png="image/png",e.Jpeg="image/jpeg",e.WebP="image/webp",e.Tga="image/x-tga",e.Mp4="video/mp4",e.QuickTime="video/quicktime",e.Binary="application/octet-stream",e.Pdf="application/pdf",e.Zip="application/zip",e))(MimeType||{}),MimeType_default=MimeType,Blob_default="undefined"!=typeof Blob?Blob:(()=>{try{return require("buffer").Blob}catch(e){return function(){throw new Error("Could not find Blob constructor and failed to require('buffer').Blob")}}})(),SceneAPI=class{#e;constructor(e){this.#e=e}async loadFromString(e){return assert2("sceneContent",e,string()),unpackAsync((t=>this.#e.loadSceneFromString(e,t)))}async loadFromURL(e){return assert2("url",e,string()),unpackAsync((t=>this.#e.loadSceneFromURL(e,t)))}async saveToString(){const e=this.get();if(null==e)throw new Error("No scene available.");return unpackAsync((t=>{this.#e.saveSceneToString(e,t)}))}async saveToArchive(){return new Promise(((e,t)=>{const r=this.get();null==r?t(new Error("No scene available.")):this.#e.saveSceneToArchive(r,(r=>{"error"in r?t(r.error):e(new Blob_default([r],{type:MimeType_default.Zip}))}))}))}create(e="Free"){assert2("sceneLayout",e,sceneLayoutShape());return unpackResult(this.#e.createScene(e))}createVideo(){return unpackResult(this.#e.createVideoScene())}createFromImage(e,t=300,r=1,o="Free",n=0,s=!1){return assert2("url",e,string()),assert2("dpi",t,min(number(),0)),assert2("pixelScaleFactor",r,min(number(),0)),assert2("sceneLayout",o,sceneLayoutShape()),unpackAsync((a=>this.#e.createSceneFromImage(e,t,r,o,n,s,a)))}createFromVideo(e){return assert2("url",e,string()),unpackAsync((t=>this.#e.createSceneFromVideo(e,t)))}get(){const e=unpackResult(this.#e.findByType("scene")),t=cppVectorToArray_default(e);return t.length>0?t[0]:null}async applyTemplateFromString(e){return assert2("content",e,string()),unpackAsync((t=>this.#e.applyTemplateFromString(e,t)))}async applyTemplateFromURL(e){return assert2("url",e,string()),unpackAsync((t=>this.#e.applyTemplateFromURL(e,t)))}getMode(){const e=this.get();return unpackResult(this.#e.getSceneMode(e))}setDesignUnit(e){assert2("designUnit",e,designUnitShape());const t=this.get();unpackResult(this.#e.setDesignUnit(t,e))}getDesignUnit(){const e=this.get();return unpackResult(this.#e.getDesignUnit(e))}getPages(){return cppVectorToArray_default(unpackResult(this.#e.getPages()))}getCurrentPage(){const e=this.get();if(null==e)return null;const t=unpackResult(this.#e.findNearestToViewPortCenterByType(e,"//ly.img.ubq/page")),r=cppVectorToArray_default(t);return r.length>0?r[0]:null}findNearestToViewPortCenterByType(e){assert2("type",e,string());const t=this.get();if(null==t)return[];const r=unpackResult(this.#e.findNearestToViewPortCenterByType(t,e));return cppVectorToArray_default(r)}findNearestToViewPortCenterByKind(e){assert2("kind",e,string());const t=this.get();if(null==t)return[];const r=unpackResult(this.#e.findNearestToViewPortCenterByKind(t,e));return cppVectorToArray_default(r)}setZoomLevel(e=1){const t=this.get();assert2("zoomLevel",e,min(number(),0)),this.#e.setZoomLevel(t,e)}getZoomLevel(){const e=this.get();return unpackResult(this.#e.getZoomLevel(e))}async zoomToBlock(e,t=0,r=0,o=0,n=0){return assert2("id",e,integer()),unpackAsync((s=>this.#e.zoomToBlock(e,t,r,o,n,s)))}enableZoomAutoFit(e,t,r=0,o=0,n=0,s=0){return assert2("id",e,integer()),assert2("axis",t,zoomAutoFitAxisShape()),"Horizontal"===t?(assert2("paddingBefore",r,number()),assert2("paddingAfter",o,number()),unpackResult(this.#e.enableZoomAutoFit(e,t,r,0,o,0))):"Vertical"===t?(assert2("paddingBefore",r,number()),assert2("paddingAfter",o,number()),unpackResult(this.#e.enableZoomAutoFit(e,t,0,r,0,o))):(assert2("paddingLeft",r,number()),assert2("paddingTop",o,number()),assert2("paddingRight",n,number()),assert2("paddingBottom",s,number()),unpackResult(this.#e.enableZoomAutoFit(e,t,r,o,n,s)))}disableZoomAutoFit(e){return assert2("blockOrScene",e,integer()),unpackResult(this.#e.disableZoomAutoFit(e))}isZoomAutoFitEnabled(e){return assert2("blockOrScene",e,integer()),unpackResult(this.#e.isZoomAutoFitEnabled(e))}unstable_enableCameraPositionClamping(e,t=0,r=0,o=0,n=0,s=0,a=0,i=0,u=0){return assert2("ids",e,array(number())),assert2("paddingLeft",t,number()),assert2("paddingTop",r,number()),assert2("paddingRight",o,number()),assert2("paddingBottom",n,number()),assert2("scaledPaddingLeft",t,number()),assert2("scaledPaddingTop",r,number()),assert2("scaledPaddingRight",o,number()),assert2("scaledPaddingBottom",n,number()),unpackResult(this.#e.unstable_enableCameraPositionClamping(e,t,r,o,n,s,a,i,u))}unstable_disableCameraPositionClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_disableCameraPositionClamping(e))}unstable_isCameraPositionClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_isCameraPositionClampingEnabled(e))}unstable_enableCameraZoomClamping(e,t=-1,r=-1,o=0,n=0,s=0,a=0){return assert2("ids",e,array(number())),assert2("minZoomLimit",t,number()),assert2("maxZoomLimit",r,number()),assert2("paddingLeft",o,number()),assert2("paddingTop",n,number()),assert2("paddingRight",s,number()),assert2("paddingBottom",a,number()),unpackResult(this.#e.unstable_enableCameraZoomClamping(e,t,r,o,n,s,a))}unstable_disableCameraZoomClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_disableCameraZoomClamping(e))}unstable_isCameraZoomClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return unpackResult(this.#e.unstable_isCameraZoomClampingEnabled(e))}onZoomLevelChanged=e=>{const t=this.#e.subscribeToZoomLevel(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onActiveChanged=e=>{const t=this.#e.subscribeToActiveSceneChange(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}}};__decorateClass([setter],SceneAPI.prototype,"loadFromString",1),__decorateClass([setter],SceneAPI.prototype,"loadFromURL",1),__decorateClass([setter],SceneAPI.prototype,"create",1),__decorateClass([setter],SceneAPI.prototype,"createVideo",1),__decorateClass([setter],SceneAPI.prototype,"createFromImage",1),__decorateClass([setter],SceneAPI.prototype,"createFromVideo",1),__decorateClass([getter],SceneAPI.prototype,"get",1),__decorateClass([setter],SceneAPI.prototype,"applyTemplateFromString",1),__decorateClass([setter],SceneAPI.prototype,"applyTemplateFromURL",1),__decorateClass([getter],SceneAPI.prototype,"getMode",1),__decorateClass([setter],SceneAPI.prototype,"setDesignUnit",1),__decorateClass([getter],SceneAPI.prototype,"getDesignUnit",1),__decorateClass([getter],SceneAPI.prototype,"getPages",1),__decorateClass([getter],SceneAPI.prototype,"getCurrentPage",1),__decorateClass([getter],SceneAPI.prototype,"findNearestToViewPortCenterByType",1),__decorateClass([getter],SceneAPI.prototype,"findNearestToViewPortCenterByKind",1),__decorateClass([setter],SceneAPI.prototype,"setZoomLevel",1),__decorateClass([getter],SceneAPI.prototype,"getZoomLevel",1),__decorateClass([setter],SceneAPI.prototype,"zoomToBlock",1),__decorateClass([setter],SceneAPI.prototype,"enableZoomAutoFit",1),__decorateClass([setter],SceneAPI.prototype,"disableZoomAutoFit",1),__decorateClass([getter],SceneAPI.prototype,"isZoomAutoFitEnabled",1);var DEFAULT_DEMO_ASSET_SOURCE_BASE_URL="https://cdn.img.ly/assets/demo/v2";async function addDemoAssetSources(e,t,r,o,n,s,a=DEFAULT_DEMO_ASSET_SOURCE_BASE_URL){const i=new Set(e.findAllSources()),u="ly.img.image.upload";!n||r.includes(u)||i.has(u)||e.addLocalSource(u,["image/jpeg","image/png","image/webp","image/svg+xml","image/gif","image/bmp"]);const l="ly.img.video.upload";"Video"!==o||!n||r.includes(l)||i.has(l)||e.addLocalSource(l,["video/mp4","video/quicktime"]);const c="ly.img.audio.upload";"Video"!==o||!n||r.includes(c)||i.has(c)||e.addLocalSource(c,["audio/mpeg","audio/mp3","audio/x-m4a"]);const d=["ly.img.image","ly.img.video","ly.img.audio"].filter((e=>!r.includes(e)));i.has("ly.img.template")||r.includes("ly.img.template")||(e.addLocalSource("ly.img.template",void 0,(async e=>{var r;const o=null==(r=e.meta)?void 0:r.uri;if(o)if(o.startsWith("UBQ1"))t.applyTemplateFromString(o);else{const e=new URL(o,window.location.href);t.applyTemplateFromURL(e.href)}})),d.push("ly.img.template")),"Video"!==o||i.has("ly.img.video.template")||r.includes("ly.img.video.template")||(e.addLocalSource("ly.img.video.template",void 0,(async e=>{var r;const o=null==(r=e.meta)?void 0:r.uri;if(o)if(o.startsWith("UBQ1"))t.applyTemplateFromString(o);else{const e=new URL(o,window.location.href);t.applyTemplateFromURL(e.href)}})),d.push("ly.img.video.template")),await loadAssetSourcesFromContentJSON_default(d,a,s,e)}var ColorInternal,addDemoAssetSources_default=addDemoAssetSources;function isRGBAColor(e){return"r"in e&&"a"in e&&void 0!==e.r&&void 0!==e.a}function isSpotColor(e){return"name"in e&&void 0!==e.name}function isCMYKColor(e){return"c"in e&&"m"in e&&"y"in e&&"k"in e&&void 0!==e.c&&void 0!==e.m&&void 0!==e.y&&void 0!==e.k}(e=>{let t;var r;(r=t=e.ColorSpace||(e.ColorSpace={}))[r.sRGB=0]="sRGB",r[r.CMYK=1]="CMYK",r[r.SpotColor=2]="SpotColor",e.toColor=function(e){switch(e.colorSpace){case 0:return{r:e.components.x,g:e.components.y,b:e.components.z,a:e.components.w};case 2:return{name:e.spotColorName,tint:e.tint,externalReference:e.externalReference};case 1:return{c:e.components.x,m:e.components.y,y:e.components.z,k:e.components.w,tint:e.tint};default:throw new Error("Unknown color space!")}},e.fromColor=function(e){if(isRGBAColor(e))return{colorSpace:0,components:{x:e.r,y:e.g,z:e.b,w:e.a},spotColorName:"",tint:1,externalReference:""};if(isCMYKColor(e))return{colorSpace:1,components:{x:e.c,y:e.m,z:e.y,w:e.k},spotColorName:"",tint:e.tint,externalReference:""};if(isSpotColor(e))return{colorSpace:2,components:{x:0,y:0,z:0,w:0},spotColorName:e.name,tint:e.tint,externalReference:e.externalReference};throw new Error("Unknown color space!")}})(ColorInternal||(ColorInternal={}));var BlockAPI=class{#e;constructor(e){this.#e=e}async export(e,t=MimeType_default.Png,r={}){assert2("handle",e,number()),assert2("mimeType",t,mimeType()),assert2("options",r,object());const o=null!=r.targetWidth&&null!=r.targetHeight,n=r.jpegQuality??.9,s=r.webpQuality??1,a=r.pngCompressionLevel??5;return assert2("jpegQuality",n,min(max(number(),1),0,{exclusive:!0})),assert2("webpQuality",s,min(max(number(),1),0,{exclusive:!0})),assert2("pngCompressionLevel",a,min(max(integer(),9),0)),null==r.targetWidth&&null==r.targetHeight||(assert2("targetWidth",r.targetWidth,number()),assert2("targetHeight",r.targetHeight,number())),new Promise(((i,u)=>{this.#e.exportToBuffer(e,t,(e=>{"error"in e?u(e.error):i(new Blob_default([e],{type:t}))}),{pngCompressionLevel:a,jpegQuality:n,webpQuality:s,useTargetSize:o,targetWidth:r.targetWidth??0,targetHeight:r.targetHeight??0,exportPdfWithHighCompatibility:r.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:r.exportPdfWithUnderlayer??!1,underlayerSpotColorName:r.underlayerSpotColorName??"",underlayerOffset:r.underlayerOffset??0})}))}async exportWithColorMask(e,t=MimeType_default.Png,r,o,n,s={}){assert2("handle",e,number()),assert2("mimeType",t,mimeType()),assert2("options",s,object());const a=null!=s.targetWidth&&null!=s.targetHeight,i=s.jpegQuality??.9,u=s.webpQuality??1,l=s.pngCompressionLevel??5;return assert2("jpegQuality",i,min(max(number(),1),0,{exclusive:!0})),assert2("webpQuality",u,min(max(number(),1),0,{exclusive:!0})),assert2("pngCompressionLevel",l,min(max(integer(),9),0)),null==s.targetWidth&&null==s.targetHeight||(assert2("targetWidth",s.targetWidth,number()),assert2("targetHeight",s.targetHeight,number())),new Promise(((c,d)=>{this.#e.exportWithColorMaskToBuffer(e,t,r,o,n,((e,r)=>{if("error"in e)d(e.error);else if("error"in r)d(r.error);else{const o=new Blob_default([e],{type:t}),n=new Blob_default([r],{type:t});c([o,n])}}),{pngCompressionLevel:l,jpegQuality:i,webpQuality:u,useTargetSize:a,targetWidth:s.targetWidth??0,targetHeight:s.targetHeight??0,exportPdfWithHighCompatibility:s.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:s.exportPdfWithUnderlayer??!1,underlayerSpotColorName:s.underlayerSpotColorName??"",underlayerOffset:s.underlayerOffset??0})}))}async exportVideo(e,t=MimeType_default.Mp4,r,o){throw new Error("Method not implemented. An implementation is available on the BlockAPI at engine.block or cesdk.engine.block")}async loadFromString(e){return assert2("content",e,string()),unpackAsync((t=>this.#e.loadBlocksFromString(e,t))).then((e=>cppVectorToArray_default(e)))}async saveToString(e){return assert2("blocks",e,array(number())),unpackAsync((t=>this.#e.saveBlocksToString(e,t)))}create(e){return assert2("type",e,string()),unpackResult(this.#e.create(e))}createFill(e){return assert2("type",e,string()),unpackResult(this.#e.createFill(e))}getType(e){return assert2("id",e,integer()),unpackResult(this.#e.getType(e))}getKind(e){return assert2("id",e,integer()),unpackResult(this.#e.getKind(e))}setKind(e,t){assert2("id",e,integer()),unpackResult(this.#e.setKind(e,t))}select(e){return assert2("id",e,integer()),unpackResult(this.#e.select(e))}setSelected(e,t){return assert2("id",e,integer()),assert2("selected",t,boolean()),unpackResult(this.#e.setSelected(e,t))}isSelected(e){return assert2("id",e,integer()),unpackResult(this.#e.isSelected(e))}findAllSelected(){return cppVectorToArray_default(this.#e.findAllSelected())}onSelectionChanged=e=>{const t=this.#e.subscribeToSelectionChange(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onClicked=e=>{const t=this.#e.subscribeToBlockClicked(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};isGroupable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isGroupable(e))}group(e){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.group(e))}ungroup(e){return assert2("id",e,number()),unpackResult(this.#e.ungroup(e))}enterGroup(e){return assert2("id",e,number()),unpackResult(this.#e.enterGroup(e))}exitGroup(e){return assert2("id",e,number()),unpackResult(this.#e.exitGroup(e))}isCombinable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isCombinable(e))}combine(e,t){return assert2("ids",e,array(number())),assert2("op",t,string()),unpackResult(this.#e.combine(e,t))}setName(e,t){return assert2("id",e,integer()),assert2("name",t,string()),unpackResult(this.#e.setName(e,t))}getName(e){return assert2("id",e,integer()),unpackResult(this.#e.getName(e))}getUUID(e){return assert2("id",e,integer()),unpackResult(this.#e.getUUID(e))}findByName(e){assert2("name",e,string());const t=this.#e.findByName(e);return cppVectorToArray_default(t)}findByType(e){assert2("type",e,string());const t=unpackResult(this.#e.findByType(e));return cppVectorToArray_default(t)}findByKind(e){assert2("kind",e,string());const t=unpackResult(this.#e.findByKind(e));return cppVectorToArray_default(t)}findAll(){return cppVectorToArray_default(this.#e.findAll())}findAllPlaceholders(){return cppVectorToArray_default(this.#e.findAllPlaceholders())}createShape(e){return assert2("type",e,string()),unpackResult(this.#e.createShape(e))}hasShape(e){return assert2("id",e,integer()),unpackResult(this.#e.hasShape(e))}getShape(e){return assert2("id",e,integer()),unpackResult(this.#e.getShape(e))}setShape(e,t){return assert2("id",e,integer()),assert2("shape",t,integer()),unpackResult(this.#e.setShape(e,t))}isVisible(e){return assert2("id",e,integer()),unpackResult(this.#e.isVisible(e))}setVisible(e,t){return assert2("id",e,integer()),assert2("visible",t,boolean()),unpackResult(this.#e.setVisible(e,t))}isClipped(e){return assert2("id",e,integer()),unpackResult(this.#e.isClipped(e))}setClipped(e,t){return assert2("id",e,integer()),assert2("clipped",t,boolean()),unpackResult(this.#e.setClipped(e,t))}isTransformLocked(e){return assert2("id",e,integer()),unpackResult(this.#e.isTransformLocked(e))}setTransformLocked(e,t){return assert2("id",e,integer()),assert2("locked",t,boolean()),unpackResult(this.#e.setTransformLocked(e,t))}getPositionX(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionX(e))}getPositionXMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionXMode(e))}getPositionY(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionY(e))}getPositionYMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getPositionYMode(e))}setPositionX(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setPositionX(e,t))}setPositionXMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setPositionXMode(e,t))}setPositionY(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setPositionY(e,t))}setPositionYMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setPositionYMode(e,t))}setAlwaysOnTop(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setAlwaysOnTop(e,t))}setAlwaysOnBottom(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setAlwaysOnBottom(e,t))}isAlwaysOnTop(e){return assert2("id",e,integer()),unpackResult(this.#e.isAlwaysOnTop(e))}isAlwaysOnBottom(e){return assert2("id",e,integer()),unpackResult(this.#e.isAlwaysOnBottom(e))}bringToFront(e){return assert2("id",e,number()),unpackResult(this.#e.bringToFront(e))}sendToBack(e){return assert2("id",e,number()),unpackResult(this.#e.sendToBack(e))}bringForward(e){return assert2("id",e,number()),unpackResult(this.#e.bringForward(e))}sendBackward(e){return assert2("id",e,number()),unpackResult(this.#e.sendBackward(e))}getRotation(e){return assert2("id",e,integer()),unpackResult(this.#e.getRotation(e))}setRotation(e,t){return assert2("id",e,integer()),assert2("radians",t,number()),unpackResult(this.#e.setRotation(e,t))}getFlipHorizontal(e){return assert2("id",e,integer()),unpackResult(this.#e.getFlip(e)).horizontal}getFlipVertical(e){return assert2("id",e,integer()),unpackResult(this.#e.getFlip(e)).vertical}setFlipHorizontal(e,t){return assert2("id",e,integer()),assert2("flip",t,boolean()),unpackResult(this.#e.setFlipHorizontal(e,t))}setFlipVertical(e,t){return assert2("id",e,integer()),assert2("flip",t,boolean()),unpackResult(this.#e.setFlipVertical(e,t))}hasContentFillMode(e){return assert2("id",e,integer()),unpackResult(this.#e.hasContentFillMode(e))}getWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getWidth(e))}getWidthMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getWidthMode(e))}getHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getHeight(e))}getHeightMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getHeightMode(e))}setWidth(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setWidth(e,t))}setWidthMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setWidthMode(e,t))}setHeight(e,t){return assert2("id",e,integer()),assert2("value",t,number()),unpackResult(this.#e.setHeight(e,t))}setHeightMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setHeightMode(e,t))}getFrameX(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameX(e))}getFrameY(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameY(e))}getFrameWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameWidth(e))}getFrameHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getLastFrameHeight(e))}setContentFillMode(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setContentFillMode(e,t))}getContentFillMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getContentFillMode(e))}duplicate(e){return assert2("id",e,integer()),unpackResult(this.#e.duplicate(e))}destroy(e){return assert2("id",e,integer()),unpackResult(this.#e.destroy(e))}isValid(e){return assert2("id",e,integer()),this.#e.isValid(e)}getParent(e){return assert2("id",e,integer()),unpackResult(this.#e.hasParent(e))?unpackResult(this.#e.getParent(e)):null}getChildren(e){assert2("id",e,integer());const t=unpackResult(this.#e.getChildren(e));return cppVectorToArray_default(t)}insertChild(e,t,r){return assert2("parent",e,number()),assert2("child",t,number()),assert2("index",r,min(number(),0)),unpackResult(this.#e.insertChild(e,t,r))}appendChild(e,t){return assert2("parent",e,number()),assert2("child",t,number()),unpackResult(this.#e.appendChild(e,t))}referencesAnyVariables(e){return assert2("id",e,integer()),unpackResult(this.#e.referencesAnyVariables(e))}getGlobalBoundingBoxX(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxX(e))}getGlobalBoundingBoxY(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxY(e))}getGlobalBoundingBoxWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxWidth(e))}getGlobalBoundingBoxHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getGlobalBoundingBoxHeight(e))}getScreenSpaceBoundingBoxXYWH(e){return assert2("ids",e,array(number())),unpackResult(this.#e.getScreenSpaceBoundingBoxXYWH(e))}alignHorizontally(e,t){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.alignHorizontally(e,t))}alignVertically(e,t){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.alignVertically(e,t))}isAlignable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isAlignable(e))}distributeHorizontally(e){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.distributeHorizontally(e))}distributeVertically(e){return assert2("ids",e,nonempty(array(number()))),unpackResult(this.#e.distributeVertically(e))}isDistributable(e){return assert2("ids",e,array(number())),unpackResult(this.#e.isDistributable(e))}fillParent(e){return assert2("id",e,integer()),unpackResult(this.#e.fillParent(e))}resizeContentAware(e,t,r){return assert2("ids",e,array(number())),assert2("width",t,number()),assert2("height",r,number()),unpackResult(this.#e.resizeContentAware(e,t,r))}scale(e,t,r=0,o=0){return assert2("id",e,integer()),unpackResult(this.#e.scale(e,t,r,o))}findAllProperties(e){return assert2("id",e,integer()),cppVectorToArray_default(unpackResult(this.#e.findAllProperties(e)))}isPropertyReadable(e){return assert2("property",e,string()),this.#e.isPropertyReadable(e)}isPropertyWritable(e){return assert2("property",e,string()),this.#e.isPropertyWritable(e)}getPropertyType(e){assert2("property",e,string());return unpackResult(this.#e.getPropertyType(e))}getEnumValues(e){return assert2("enumProperty",e,string()),cppVectorToArray_default(unpackResult(this.#e.getEnumValues(e)))}setBool(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,boolean()),unpackResult(this.#e.setBool(e,t,r))}getBool(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getBool(e,t))}setInt(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,integer()),unpackResult(this.#e.setInt(e,t,r))}getInt(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getInt(e,t))}setFloat(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,number()),unpackResult(this.#e.setFloat(e,t,r))}getFloat(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getFloat(e,t))}setDouble(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,number()),unpackResult(this.#e.setDouble(e,t,r))}getDouble(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getDouble(e,t))}setString(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,string()),unpackResult(this.#e.setString(e,t,r))}getString(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getString(e,t))}setColor(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.setColor(e,t,ColorInternal.fromColor(r)))}getColor(e,t){return assert2("id",e,integer()),assert2("property",t,string()),ColorInternal.toColor(unpackResult(this.#e.getColor(e,t)))}setColorRGBA(e,t,r,o,n,s=1){return assert2("id",e,integer()),assert2("property",t,string()),assert2("r",r,number()),assert2("g",o,number()),assert2("b",n,number()),assert2("a",s,number()),unpackResult(this.#e.setColorRGBA(e,t,r,o,n,s))}getColorRGBA(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getColorRGBA(e,t))}setColorSpot(e,t,r,o=1){return assert2("id",e,integer()),assert2("property",t,string()),assert2("name",r,string()),assert2("tint",o,number()),unpackResult(this.#e.setColorSpot(e,t,r,o))}getColorSpotName(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getColorSpotName(e,t))}getColorSpotTint(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getColorSpotTint(e,t))}setGradientColorStops(e,t,r){assert2("id",e,integer()),assert2("property",t,string());const o=r.map((e=>({color:ColorInternal.fromColor(e.color),stop:e.stop})));return unpackResult(this.#e.setGradientColorStops(e,t,o))}getGradientColorStops(e,t){assert2("id",e,integer()),assert2("property",t,string());const r=unpackResult(this.#e.getGradientColorStops(e,t));return cppVectorToArray_default(r).map((e=>({color:ColorInternal.toColor(e.color),stop:e.stop})))}getSourceSet(e,t){return assert2("id",e,integer()),assert2("property",t,string()),cppVectorToArray_default(unpackResult(this.#e.getSourceSet(e,t)))}setSourceSet(e,t,r){assert2("id",e,integer()),assert2("property",t,string()),assert2("sourceSet",r,array(object({uri:string(),width:number(),height:number()}))),unpackResult(this.#e.setSourceSet(e,t,r))}setEnum(e,t,r){return assert2("id",e,integer()),assert2("property",t,string()),assert2("value",r,string()),unpackResult(this.#e.setEnum(e,t,r))}getEnum(e,t){return assert2("id",e,integer()),assert2("property",t,string()),unpackResult(this.#e.getEnum(e,t))}hasCrop(e){return assert2("id",e,integer()),unpackResult(this.#e.hasCrop(e))}setCropScaleX(e,t){return assert2("id",e,integer()),assert2("scaleX",t,number()),unpackResult(this.#e.setCropScaleX(e,t))}setCropScaleY(e,t){return assert2("id",e,integer()),assert2("scaleY",t,number()),unpackResult(this.#e.setCropScaleY(e,t))}setCropRotation(e,t){return assert2("id",e,integer()),assert2("rotation",t,number()),unpackResult(this.#e.setCropRotation(e,t))}setCropScaleRatio(e,t){return assert2("id",e,integer()),assert2("scaleRatio",t,number()),unpackResult(this.#e.setCropScaleRatio(e,t))}setCropTranslationX(e,t){return assert2("id",e,integer()),assert2("translationX",t,number()),unpackResult(this.#e.setCropTranslationX(e,t))}setCropTranslationY(e,t){return assert2("id",e,integer()),assert2("translationY",t,number()),unpackResult(this.#e.setCropTranslationY(e,t))}resetCrop(e){return assert2("id",e,integer()),unpackResult(this.#e.resetCrop(e))}getCropScaleX(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropScaleX(e))}getCropScaleY(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropScaleY(e))}getCropRotation(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropRotation(e))}getCropScaleRatio(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropScaleRatio(e))}getCropTranslationX(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropTranslationX(e))}getCropTranslationY(e){return assert2("id",e,integer()),unpackResult(this.#e.getCropTranslationY(e))}adjustCropToFillFrame(e,t){return assert2("id",e,integer()),assert2("minScaleRatio",t,number()),unpackResult(this.#e.adjustCropToFillFrame(e,t))}flipCropHorizontal(e){return assert2("id",e,integer()),unpackResult(this.#e.flipCropHorizontal(e))}flipCropVertical(e){return assert2("id",e,integer()),unpackResult(this.#e.flipCropVertical(e))}hasOpacity(e){return assert2("id",e,integer()),unpackResult(this.#e.hasOpacity(e))}setOpacity(e,t){return assert2("id",e,integer()),assert2("opacity",t,number()),unpackResult(this.#e.setOpacity(e,t))}getOpacity(e){return assert2("id",e,integer()),unpackResult(this.#e.getOpacity(e))}hasBlendMode(e){return assert2("id",e,integer()),unpackResult(this.#e.hasBlendMode(e))}setBlendMode(e,t){return assert2("id",e,integer()),assert2("blendMode",t,string()),unpackResult(this.#e.setBlendMode(e,t))}getBlendMode(e){return assert2("id",e,integer()),unpackResult(this.#e.getBlendMode(e))}hasFillColor(e){return assert2("id",e,integer()),unpackResult(this.#e.hasFillColor(e))}isIncludedInExport(e){return assert2("id",e,integer()),unpackResult(this.#e.isIncludedInExport(e))}setIncludedInExport(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setIncludedInExport(e,t))}setFillColorRGBA(e,t,r,o,n=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setFillColorRGBA(e,t,r,o,n))}getFillColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getFillColorRGBA(e))}setFillColorEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setFillColorEnabled(e,t))}isFillColorEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isFillColorEnabled(e))}createEffect(e){return assert2("type",e,string()),unpackResult(this.#e.createEffect(e))}hasEffects(e){return assert2("id",e,integer()),unpackResult(this.#e.hasEffects(e))}getEffects(e){assert2("id",e,integer());const t=unpackResult(this.#e.getEffects(e));return cppVectorToArray_default(t)}insertEffect(e,t,r){assert2("id",e,integer()),assert2("effectId",t,integer()),assert2("index",r,min(integer(),0)),unpackResult(this.#e.insertEffect(e,t,r))}appendEffect(e,t){assert2("id",e,integer()),assert2("effectId",t,integer()),unpackResult(this.#e.appendEffect(e,t))}removeEffect(e,t){assert2("id",e,integer()),assert2("index",t,min(integer(),0)),unpackResult(this.#e.removeEffect(e,t))}hasEffectEnabled(e){return assert2("effectId",e,integer()),unpackResult(this.#e.hasEffectEnabled(e))}setEffectEnabled(e,t){assert2("effectId",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setEffectEnabled(e,t))}isEffectEnabled(e){return assert2("effectId",e,integer()),unpackResult(this.#e.isEffectEnabled(e))}createBlur(e){return assert2("type",e,string()),unpackResult(this.#e.createBlur(e))}hasBlur(e){return assert2("id",e,integer()),unpackResult(this.#e.hasBlur(e))}setBlur(e,t){assert2("id",e,integer()),assert2("blurId",t,integer()),unpackResult(this.#e.setBlur(e,t))}getBlur(e){return assert2("id",e,integer()),unpackResult(this.#e.getBlur(e))}setBlurEnabled(e,t){assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setBlurEnabled(e,t))}isBlurEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isBlurEnabled(e))}hasBackgroundColor(e){return assert2("id",e,integer()),unpackResult(this.#e.hasBackgroundColor(e))}setBackgroundColorRGBA(e,t,r,o,n=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setBackgroundColorRGBA(e,t,r,o,n))}getBackgroundColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getBackgroundColorRGBA(e))}setBackgroundColorEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setBackgroundColorEnabled(e,t))}isBackgroundColorEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isBackgroundColorEnabled(e))}hasStroke(e){return assert2("id",e,integer()),unpackResult(this.#e.hasStroke(e))}setStrokeEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setStrokeEnabled(e,t))}isStrokeEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isStrokeEnabled(e))}setStrokeColorRGBA(e,t,r,o,n=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setStrokeColorRGBA(e,t,r,o,n))}setStrokeColor(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokeColor(e,ColorInternal.fromColor(t)))}getStrokeColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getStrokeColorRGBA(e))}getStrokeColor(e){return assert2("id",e,integer()),ColorInternal.toColor(unpackResult(this.#e.getStrokeColor(e)))}setStrokeWidth(e,t){return assert2("id",e,integer()),assert2("width",t,number()),unpackResult(this.#e.setStrokeWidth(e,t))}getStrokeWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getStrokeWidth(e))}setStrokeStyle(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokeStyle(e,t))}getStrokeStyle(e){assert2("id",e,integer());return unpackResult(this.#e.getStrokeStyle(e))}setStrokePosition(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokePosition(e,t))}getStrokePosition(e){assert2("id",e,integer());return unpackResult(this.#e.getStrokePosition(e))}setStrokeCornerGeometry(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setStrokeCornerGeometry(e,t))}getStrokeCornerGeometry(e){assert2("id",e,integer());return unpackResult(this.#e.getStrokeCornerGeometry(e))}hasDropShadow(e){return assert2("id",e,integer()),unpackResult(this.#e.hasDropShadow(e))}setDropShadowEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setDropShadowEnabled(e,t))}isDropShadowEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isDropShadowEnabled(e))}setDropShadowColorRGBA(e,t,r,o,n=1){return assert2("id",e,integer()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setDropShadowColorRGBA(e,t,r,o,n))}setDropShadowColor(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setDropShadowColor(e,ColorInternal.fromColor(t)))}getDropShadowColorRGBA(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowColorRGBA(e))}getDropShadowColor(e){return assert2("id",e,integer()),ColorInternal.toColor(unpackResult(this.#e.getDropShadowColor(e)))}setDropShadowOffsetX(e,t){return assert2("id",e,integer()),assert2("offsetX",t,number()),unpackResult(this.#e.setDropShadowOffsetX(e,t))}getDropShadowOffsetX(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowOffsetX(e))}setDropShadowOffsetY(e,t){return assert2("id",e,integer()),assert2("offsetY",t,number()),unpackResult(this.#e.setDropShadowOffsetY(e,t))}getDropShadowOffsetY(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowOffsetY(e))}setDropShadowBlurRadiusX(e,t){return assert2("id",e,integer()),assert2("blurRadiusX",t,number()),unpackResult(this.#e.setDropShadowBlurRadiusX(e,t))}getDropShadowBlurRadiusX(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowBlurRadiusX(e))}setDropShadowBlurRadiusY(e,t){return assert2("id",e,integer()),assert2("blurRadiusY",t,number()),unpackResult(this.#e.setDropShadowBlurRadiusY(e,t))}getDropShadowBlurRadiusY(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowBlurRadiusY(e))}setDropShadowClip(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setDropShadowClip(e,t))}getDropShadowClip(e){return assert2("id",e,integer()),unpackResult(this.#e.getDropShadowClip(e))}createCutoutFromBlocks(e,t=2,r=4){return assert2("ids",e,array(integer())),assert2("vectorizeDistanceThreshold",t,number()),assert2("maxSmoothingDistance",r,number()),unpackResult(this.#e.createCutoutFromBlocks(e,t,r))}createCutoutFromPath(e){return assert2("path",e,string()),unpackResult(this.#e.createCutoutFromPath(e))}createCutoutFromOperation(e,t){return assert2("ids",e,array(integer())),assert2("op",t,cutoutOperationShape()),unpackResult(this.#e.createCutoutFromOperation(e,t))}replaceText(e,t,r=-1,o=-1){assert2("id",e,integer()),assert2("text",t,string()),assert2("from",r,integer()),assert2("to",o,integer()),unpackResult(this.#e.replaceText(e,t,r,o))}removeText(e,t=-1,r=-1){assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),unpackResult(this.#e.removeText(e,t,r))}setTextColor(e,t,r=-1,o=-1){assert2("id",e,integer()),assert2("from",r,integer()),assert2("to",o,integer()),unpackResult(this.#e.setTextColor(e,ColorInternal.fromColor(t),r,o))}getTextColors(e,t=-1,r=-1){assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer());const o=this.#e.getTextColors(e,t,r);return cppVectorToArray_default(unpackResult(o)).map((e=>ColorInternal.toColor(e)))}getTextFontWeights(e,t=-1,r=-1){return assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),cppVectorToArray_default(unpackResult(this.#e.getTextFontWeights(e,t,r)))}getTextFontStyles(e,t=-1,r=-1){return assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),cppVectorToArray_default(unpackResult(this.#e.getTextFontStyles(e,t,r)))}getTextCases(e,t=-1,r=-1){return assert2("id",e,integer()),assert2("from",t,integer()),assert2("to",r,integer()),cppVectorToArray_default(unpackResult(this.#e.getTextCases(e,t,r)))}setTextCase(e,t,r=-1,o=-1){assert2("id",e,integer()),assert2("textCase",t,string()),assert2("from",r,integer()),assert2("to",o,integer()),unpackResult(this.#e.setTextCase(e,t,r,o))}canToggleBoldFont(e,t=-1,r=-1){return assert2("id",e,integer()),unpackResult(this.#e.canToggleBoldFont(e,t,r))}canToggleItalicFont(e,t=-1,r=-1){return assert2("id",e,integer()),unpackResult(this.#e.canToggleItalicFont(e,t,r))}toggleBoldFont(e,t=-1,r=-1){assert2("id",e,integer()),unpackResult(this.#e.toggleBoldFont(e,t,r))}toggleItalicFont(e,t=-1,r=-1){assert2("id",e,integer()),unpackResult(this.#e.toggleItalicFont(e,t,r))}setFont(e,t,r){assert2("block",e,integer()),assert2("fontFileUri",t,string()),unpackResult(this.#e.setFont(e,t,r))}getTypeface(e){return assert2("block",e,integer()),unpackResult(this.#e.getTypeface(e))}getTextCursorRange(){return unpackResult(this.#e.getTextCursorRange())}hasFill(e){return assert2("id",e,integer()),unpackResult(this.#e.hasFill(e))}isFillEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isFillEnabled(e))}setFillEnabled(e,t){return assert2("id",e,integer()),unpackResult(this.#e.setFillEnabled(e,t))}getFill(e){return assert2("id",e,integer()),unpackResult(this.#e.getFill(e))}setFill(e,t){return assert2("id",e,integer()),assert2("fill",t,integer()),unpackResult(this.#e.setFill(e,t))}setFillSolidColor(e,t,r,o,n=1){assert2("id",e,integer()),unpackResult(this.#e.setFillSolidColor(e,t,r,o,n))}getFillSolidColor(e){return assert2("id",e,integer()),unpackResult(this.#e.getFillSolidColor(e))}setPlaceholderEnabled(e,t){assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaceholderEnabled(e,t))}isPlaceholderEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderEnabled(e))}hasPlaceholderBehavior(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaceholderBehavior(e))}setPlaceholderBehaviorEnabled(e,t){assert2("id",e,integer()),unpackResult(this.#e.setPlaceholderBehaviorEnabled(e,t))}isPlaceholderBehaviorEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderBehaviorEnabled(e))}hasPlaceholderControls(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaceholderControls(e))}setPlaceholderControlsOverlayEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaceholderControlsOverlayEnabled(e,t))}isPlaceholderControlsOverlayEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderControlsOverlayEnabled(e))}setPlaceholderControlsButtonEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaceholderControlsButtonEnabled(e,t))}isPlaceholderControlsButtonEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaceholderControlsButtonEnabled(e))}setMetadata(e,t,r){assert2("id",e,integer()),assert2("key",t,string()),assert2("value",r,string()),unpackResult(this.#e.setMetadata(e,t,r))}getMetadata(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.getMetadata(e,t))}hasMetadata(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.hasMetadata(e,t))}findAllMetadata(e){return assert2("id",e,integer()),cppVectorToArray_default(unpackResult(this.#e.findAllMetadata(e)))}removeMetadata(e,t){assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.removeMetadata(e,t))}setScopeEnabled(e,t,r){assert2("id",e,integer()),assert2("key",t,string()),assert2("enabled",r,boolean()),unpackResult(this.#e.setScopeEnabled(e,t,r))}isScopeEnabled(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.isScopeEnabled(e,t))}isAllowedByScope(e,t){return assert2("id",e,integer()),assert2("key",t,string()),unpackResult(this.#e.isAllowedByScope(e,t))}hasDuration(e){return assert2("id",e,integer()),unpackResult(this.#e.hasDuration(e))}setDuration(e,t){return assert2("id",e,integer()),assert2("duration",t,number()),unpackResult(this.#e.setDuration(e,t))}getDuration(e){return assert2("id",e,integer()),unpackResult(this.#e.getDuration(e))}hasTimeOffset(e){return assert2("id",e,integer()),unpackResult(this.#e.hasTimeOffset(e))}setTimeOffset(e,t){return assert2("id",e,integer()),assert2("offset",t,number()),unpackResult(this.#e.setTimeOffset(e,t))}getTimeOffset(e){return assert2("id",e,integer()),unpackResult(this.#e.getTimeOffset(e))}hasTrim(e){return assert2("id",e,integer()),unpackResult(this.#e.hasTrim(e))}setTrimOffset(e,t){return assert2("id",e,integer()),assert2("offset",t,number()),unpackResult(this.#e.setTrimOffset(e,t))}getTrimOffset(e){return assert2("id",e,integer()),unpackResult(this.#e.getTrimOffset(e))}setTrimLength(e,t){return assert2("id",e,integer()),assert2("length",t,number()),unpackResult(this.#e.setTrimLength(e,t))}getTrimLength(e){return assert2("id",e,integer()),unpackResult(this.#e.getTrimLength(e))}getTotalSceneDuration(e){return assert2("scene",e,integer()),unpackResult(this.#e.getTotalSceneDuration(e))}setPlaying(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setPlaying(e,t))}isPlaying(e){return assert2("id",e,integer()),unpackResult(this.#e.isPlaying(e))}hasPlaybackTime(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaybackTime(e))}setPlaybackTime(e,t){return assert2("id",e,integer()),assert2("time",t,number()),unpackResult(this.#e.setPlaybackTime(e,t))}getPlaybackTime(e){return assert2("id",e,integer()),unpackResult(this.#e.getPlaybackTime(e))}isVisibleAtCurrentPlaybackTime(e){return assert2("id",e,integer()),unpackResult(this.#e.isVisibleAtCurrentPlaybackTime(e))}setSoloPlaybackEnabled(e,t){return assert2("id",e,integer()),assert2("enabled",t,boolean()),unpackResult(this.#e.setSoloPlaybackEnabled(e,t))}isSoloPlaybackEnabled(e){return assert2("id",e,integer()),unpackResult(this.#e.isSoloPlaybackEnabled(e))}hasPlaybackControl(e){return assert2("id",e,integer()),unpackResult(this.#e.hasPlaybackControl(e))}setLooping(e,t){assert2("id",e,integer()),assert2("looping",t,boolean()),unpackResult(this.#e.setLooping(e,t))}isLooping(e){return assert2("id",e,integer()),unpackResult(this.#e.isLooping(e))}setMuted(e,t){assert2("id",e,integer()),assert2("muted",t,boolean()),unpackResult(this.#e.setMuted(e,t))}isMuted(e){return assert2("id",e,integer()),unpackResult(this.#e.isMuted(e))}setVolume(e,t){assert2("id",e,integer()),assert2("volume",t,number()),unpackResult(this.#e.setVolume(e,t))}getVolume(e){return assert2("id",e,integer()),unpackResult(this.#e.getVolume(e))}async forceLoadAVResource(e){return assert2("id",e,integer()),unpackAsync((t=>this.#e.forceLoadAVResource(e,t)))}unstable_isAVResourceLoaded(e){return assert2("id",e,integer()),unpackResult(this.#e.unstable_isAVResourceLoaded(e))}getAVResourceTotalDuration(e){return assert2("id",e,integer()),unpackResult(this.#e.getAVResourceTotalDuration(e))}getVideoWidth(e){return assert2("id",e,integer()),unpackResult(this.#e.getVideoWidth(e))}getVideoHeight(e){return assert2("id",e,integer()),unpackResult(this.#e.getVideoHeight(e))}generateVideoThumbnailSequence(e,t,r,o,n,s){return assert2("id",e,integer()),assert2("thumbnailHeight",t,integer()),assert2("timeBegin",r,number()),assert2("timeEnd",o,number()),assert2("numberOfFrames",n,integer()),this.#e.generateVideoThumbnailSequence(e,t,r,o,n,(e=>{"error"in e?s(0,new Error(e.error)):s(e.frameIndex,new ImageData(new Uint8ClampedArray(e.imageData),e.width,e.height))})),()=>{this.#e.cancelVideoThumbnailSequenceGeneration(e)}}generateAudioThumbnailSequence(e,t,r,o,n,s,a){return assert2("id",e,integer()),assert2("samplesPerChunk",t,integer()),assert2("timeBegin",r,number()),assert2("timeEnd",o,number()),assert2("numberOfSamples",n,integer()),assert2("numberOfChannels",s,integer()),this.#e.generateAudioThumbnailSequence(e,t,r,o,n,s,(e=>{"error"in e?a(0,new Error(e.error)):a(e.chunkIndex,e.sampleData)})),()=>{this.#e.cancelAudioThumbnailSequenceGeneration(e)}}async getVideoFillThumbnail(e,t){return assert2("id",e,integer()),assert2("thumbnailHeight",t,integer()),new Promise(((r,o)=>{this.#e.getVideoFillThumbnail(e,t,(e=>{"error"in e?o(e.error):r(new Blob_default([e],{type:"image/jpeg"}))}))}))}async getVideoFillThumbnailAtlas(e,t,r,o){return assert2("id",e,integer()),assert2("numberOfColumns",t,integer()),assert2("numberOfRows",r,integer()),assert2("thumbnailHeight",o,integer()),new Promise(((n,s)=>{this.#e.getVideoFillThumbnailAtlas(e,t,r,o,(e=>{"error"in e?s(e.error):n(new Blob_default([e],{type:"image/jpeg"}))}))}))}async getPageThumbnailAtlas(e,t,r,o){return assert2("id",e,integer()),assert2("numberOfColumns",t,integer()),assert2("numberOfRows",r,integer()),new Promise(((n,s)=>{this.#e.getPageThumbnailAtlas(e,t,r,o,(e=>{"error"in e?s(e.error):n(new Blob_default([e],{type:"image/jpeg"}))}))}))}setNativePixelBuffer(e,t){assert2("id",e,integer()),t instanceof HTMLVideoElement&&(t.width=t.videoWidth,t.height=t.videoHeight),unpackResult(this.#e.setNativePixelBuffer(e,t))}getState(e){return assert2("id",e,integer()),unpackResult(this.#e.getState(e))}setState(e,t){assert2("id",e,integer()),unpackResult(this.#e.setState(e,t))}onStateChanged=(e,t)=>{assert2("ids",e,array(integer()));const r=this.#e.subscribeToBlockState(e,(e=>{try{t(cppVectorToArray_default(e,!0))}catch(e){console.error(e)}}));return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(r))}}};__decorateClass([setter],BlockAPI.prototype,"loadFromString",1),__decorateClass([setter],BlockAPI.prototype,"create",1),__decorateClass([setter],BlockAPI.prototype,"createFill",1),__decorateClass([getter],BlockAPI.prototype,"getType",1),__decorateClass([setter],BlockAPI.prototype,"select",1),__decorateClass([setter],BlockAPI.prototype,"setSelected",1),__decorateClass([getter],BlockAPI.prototype,"isSelected",1),__decorateClass([getter],BlockAPI.prototype,"findAllSelected",1),__decorateClass([getter],BlockAPI.prototype,"isGroupable",1),__decorateClass([setter],BlockAPI.prototype,"group",1),__decorateClass([setter],BlockAPI.prototype,"ungroup",1),__decorateClass([setter],BlockAPI.prototype,"enterGroup",1),__decorateClass([setter],BlockAPI.prototype,"exitGroup",1),__decorateClass([getter],BlockAPI.prototype,"isCombinable",1),__decorateClass([setter],BlockAPI.prototype,"combine",1),__decorateClass([setter],BlockAPI.prototype,"setName",1),__decorateClass([getter],BlockAPI.prototype,"getName",1),__decorateClass([getter],BlockAPI.prototype,"getUUID",1),__decorateClass([getter],BlockAPI.prototype,"findByName",1),__decorateClass([getter],BlockAPI.prototype,"findByType",1),__decorateClass([getter],BlockAPI.prototype,"findAll",1),__decorateClass([getter],BlockAPI.prototype,"findAllPlaceholders",1),__decorateClass([setter],BlockAPI.prototype,"createShape",1),__decorateClass([getter],BlockAPI.prototype,"hasShape",1),__decorateClass([getter],BlockAPI.prototype,"getShape",1),__decorateClass([setter],BlockAPI.prototype,"setShape",1),__decorateClass([getter],BlockAPI.prototype,"isVisible",1),__decorateClass([setter],BlockAPI.prototype,"setVisible",1),__decorateClass([getter],BlockAPI.prototype,"isClipped",1),__decorateClass([setter],BlockAPI.prototype,"setClipped",1),__decorateClass([getter],BlockAPI.prototype,"isTransformLocked",1),__decorateClass([setter],BlockAPI.prototype,"setTransformLocked",1),__decorateClass([getter],BlockAPI.prototype,"getPositionX",1),__decorateClass([getter],BlockAPI.prototype,"getPositionXMode",1),__decorateClass([getter],BlockAPI.prototype,"getPositionY",1),__decorateClass([getter],BlockAPI.prototype,"getPositionYMode",1),__decorateClass([setter],BlockAPI.prototype,"setPositionX",1),__decorateClass([setter],BlockAPI.prototype,"setPositionXMode",1),__decorateClass([setter],BlockAPI.prototype,"setPositionY",1),__decorateClass([setter],BlockAPI.prototype,"setPositionYMode",1),__decorateClass([setter],BlockAPI.prototype,"setAlwaysOnTop",1),__decorateClass([setter],BlockAPI.prototype,"setAlwaysOnBottom",1),__decorateClass([getter],BlockAPI.prototype,"isAlwaysOnTop",1),__decorateClass([getter],BlockAPI.prototype,"isAlwaysOnBottom",1),__decorateClass([setter],BlockAPI.prototype,"bringToFront",1),__decorateClass([setter],BlockAPI.prototype,"sendToBack",1),__decorateClass([setter],BlockAPI.prototype,"bringForward",1),__decorateClass([setter],BlockAPI.prototype,"sendBackward",1),__decorateClass([getter],BlockAPI.prototype,"getRotation",1),__decorateClass([setter],BlockAPI.prototype,"setRotation",1),__decorateClass([getter],BlockAPI.prototype,"getFlipHorizontal",1),__decorateClass([getter],BlockAPI.prototype,"getFlipVertical",1),__decorateClass([setter],BlockAPI.prototype,"setFlipHorizontal",1),__decorateClass([setter],BlockAPI.prototype,"setFlipVertical",1),__decorateClass([getter],BlockAPI.prototype,"hasContentFillMode",1),__decorateClass([getter],BlockAPI.prototype,"getWidth",1),__decorateClass([getter],BlockAPI.prototype,"getWidthMode",1),__decorateClass([getter],BlockAPI.prototype,"getHeight",1),__decorateClass([getter],BlockAPI.prototype,"getHeightMode",1),__decorateClass([setter],BlockAPI.prototype,"setWidth",1),__decorateClass([setter],BlockAPI.prototype,"setWidthMode",1),__decorateClass([setter],BlockAPI.prototype,"setHeight",1),__decorateClass([setter],BlockAPI.prototype,"setHeightMode",1),__decorateClass([getter],BlockAPI.prototype,"getFrameX",1),__decorateClass([getter],BlockAPI.prototype,"getFrameY",1),__decorateClass([getter],BlockAPI.prototype,"getFrameWidth",1),__decorateClass([getter],BlockAPI.prototype,"getFrameHeight",1),__decorateClass([setter],BlockAPI.prototype,"setContentFillMode",1),__decorateClass([getter],BlockAPI.prototype,"getContentFillMode",1),__decorateClass([setter],BlockAPI.prototype,"duplicate",1),__decorateClass([setter],BlockAPI.prototype,"destroy",1),__decorateClass([getter],BlockAPI.prototype,"isValid",1),__decorateClass([getter],BlockAPI.prototype,"getParent",1),__decorateClass([getter],BlockAPI.prototype,"getChildren",1),__decorateClass([setter],BlockAPI.prototype,"insertChild",1),__decorateClass([setter],BlockAPI.prototype,"appendChild",1),__decorateClass([getter],BlockAPI.prototype,"referencesAnyVariables",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxX",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxY",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxWidth",1),__decorateClass([getter],BlockAPI.prototype,"getGlobalBoundingBoxHeight",1),__decorateClass([getter],BlockAPI.prototype,"getScreenSpaceBoundingBoxXYWH",1),__decorateClass([setter],BlockAPI.prototype,"alignHorizontally",1),__decorateClass([setter],BlockAPI.prototype,"alignVertically",1),__decorateClass([getter],BlockAPI.prototype,"isAlignable",1),__decorateClass([setter],BlockAPI.prototype,"distributeHorizontally",1),__decorateClass([setter],BlockAPI.prototype,"distributeVertically",1),__decorateClass([setter],BlockAPI.prototype,"isDistributable",1),__decorateClass([setter],BlockAPI.prototype,"fillParent",1),__decorateClass([setter],BlockAPI.prototype,"resizeContentAware",1),__decorateClass([setter],BlockAPI.prototype,"scale",1),__decorateClass([getter],BlockAPI.prototype,"findAllProperties",1),__decorateClass([getter],BlockAPI.prototype,"isPropertyReadable",1),__decorateClass([getter],BlockAPI.prototype,"isPropertyWritable",1),__decorateClass([getter],BlockAPI.prototype,"getPropertyType",1),__decorateClass([getter],BlockAPI.prototype,"getEnumValues",1),__decorateClass([setter],BlockAPI.prototype,"setBool",1),__decorateClass([getter],BlockAPI.prototype,"getBool",1),__decorateClass([setter],BlockAPI.prototype,"setInt",1),__decorateClass([getter],BlockAPI.prototype,"getInt",1),__decorateClass([setter],BlockAPI.prototype,"setFloat",1),__decorateClass([getter],BlockAPI.prototype,"getFloat",1),__decorateClass([setter],BlockAPI.prototype,"setDouble",1),__decorateClass([getter],BlockAPI.prototype,"getDouble",1),__decorateClass([setter],BlockAPI.prototype,"setString",1),__decorateClass([getter],BlockAPI.prototype,"getString",1),__decorateClass([setter],BlockAPI.prototype,"setColor",1),__decorateClass([getter],BlockAPI.prototype,"getColor",1),__decorateClass([setter],BlockAPI.prototype,"setColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setColorSpot",1),__decorateClass([getter],BlockAPI.prototype,"getColorSpotName",1),__decorateClass([getter],BlockAPI.prototype,"getColorSpotTint",1),__decorateClass([setter],BlockAPI.prototype,"setGradientColorStops",1),__decorateClass([getter],BlockAPI.prototype,"getGradientColorStops",1),__decorateClass([getter],BlockAPI.prototype,"getSourceSet",1),__decorateClass([setter],BlockAPI.prototype,"setSourceSet",1),__decorateClass([setter],BlockAPI.prototype,"setEnum",1),__decorateClass([getter],BlockAPI.prototype,"getEnum",1),__decorateClass([getter],BlockAPI.prototype,"hasCrop",1),__decorateClass([setter],BlockAPI.prototype,"setCropScaleX",1),__decorateClass([setter],BlockAPI.prototype,"setCropScaleY",1),__decorateClass([setter],BlockAPI.prototype,"setCropRotation",1),__decorateClass([setter],BlockAPI.prototype,"setCropScaleRatio",1),__decorateClass([setter],BlockAPI.prototype,"setCropTranslationX",1),__decorateClass([setter],BlockAPI.prototype,"setCropTranslationY",1),__decorateClass([setter],BlockAPI.prototype,"resetCrop",1),__decorateClass([getter],BlockAPI.prototype,"getCropScaleX",1),__decorateClass([getter],BlockAPI.prototype,"getCropScaleY",1),__decorateClass([getter],BlockAPI.prototype,"getCropRotation",1),__decorateClass([getter],BlockAPI.prototype,"getCropScaleRatio",1),__decorateClass([getter],BlockAPI.prototype,"getCropTranslationX",1),__decorateClass([getter],BlockAPI.prototype,"getCropTranslationY",1),__decorateClass([setter],BlockAPI.prototype,"adjustCropToFillFrame",1),__decorateClass([setter],BlockAPI.prototype,"flipCropHorizontal",1),__decorateClass([setter],BlockAPI.prototype,"flipCropVertical",1),__decorateClass([getter],BlockAPI.prototype,"hasOpacity",1),__decorateClass([setter],BlockAPI.prototype,"setOpacity",1),__decorateClass([getter],BlockAPI.prototype,"getOpacity",1),__decorateClass([getter],BlockAPI.prototype,"hasBlendMode",1),__decorateClass([setter],BlockAPI.prototype,"setBlendMode",1),__decorateClass([getter],BlockAPI.prototype,"getBlendMode",1),__decorateClass([getter],BlockAPI.prototype,"hasFillColor",1),__decorateClass([getter],BlockAPI.prototype,"isIncludedInExport",1),__decorateClass([setter],BlockAPI.prototype,"setIncludedInExport",1),__decorateClass([setter],BlockAPI.prototype,"setFillColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getFillColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setFillColorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isFillColorEnabled",1),__decorateClass([setter],BlockAPI.prototype,"createEffect",1),__decorateClass([getter],BlockAPI.prototype,"hasEffects",1),__decorateClass([getter],BlockAPI.prototype,"getEffects",1),__decorateClass([setter],BlockAPI.prototype,"insertEffect",1),__decorateClass([setter],BlockAPI.prototype,"appendEffect",1),__decorateClass([setter],BlockAPI.prototype,"removeEffect",1),__decorateClass([getter],BlockAPI.prototype,"hasEffectEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setEffectEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isEffectEnabled",1),__decorateClass([setter],BlockAPI.prototype,"createBlur",1),__decorateClass([getter],BlockAPI.prototype,"hasBlur",1),__decorateClass([setter],BlockAPI.prototype,"setBlur",1),__decorateClass([getter],BlockAPI.prototype,"getBlur",1),__decorateClass([setter],BlockAPI.prototype,"setBlurEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isBlurEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasBackgroundColor",1),__decorateClass([setter],BlockAPI.prototype,"setBackgroundColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getBackgroundColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setBackgroundColorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isBackgroundColorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasStroke",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isStrokeEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeColor",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeColor",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeWidth",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeWidth",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeStyle",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeStyle",1),__decorateClass([setter],BlockAPI.prototype,"setStrokePosition",1),__decorateClass([getter],BlockAPI.prototype,"getStrokePosition",1),__decorateClass([setter],BlockAPI.prototype,"setStrokeCornerGeometry",1),__decorateClass([getter],BlockAPI.prototype,"getStrokeCornerGeometry",1),__decorateClass([getter],BlockAPI.prototype,"hasDropShadow",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isDropShadowEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowColorRGBA",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowColor",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowColorRGBA",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowColor",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowOffsetX",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowOffsetX",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowOffsetY",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowOffsetY",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowBlurRadiusX",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowBlurRadiusX",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowBlurRadiusY",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowBlurRadiusY",1),__decorateClass([setter],BlockAPI.prototype,"setDropShadowClip",1),__decorateClass([getter],BlockAPI.prototype,"getDropShadowClip",1),__decorateClass([setter],BlockAPI.prototype,"createCutoutFromBlocks",1),__decorateClass([setter],BlockAPI.prototype,"createCutoutFromPath",1),__decorateClass([setter],BlockAPI.prototype,"createCutoutFromOperation",1),__decorateClass([setter],BlockAPI.prototype,"replaceText",1),__decorateClass([setter],BlockAPI.prototype,"removeText",1),__decorateClass([setter],BlockAPI.prototype,"setTextColor",1),__decorateClass([getter],BlockAPI.prototype,"getTextColors",1),__decorateClass([getter],BlockAPI.prototype,"getTextFontWeights",1),__decorateClass([getter],BlockAPI.prototype,"getTextFontStyles",1),__decorateClass([getter],BlockAPI.prototype,"getTextCases",1),__decorateClass([setter],BlockAPI.prototype,"setTextCase",1),__decorateClass([setter],BlockAPI.prototype,"setFont",1),__decorateClass([getter],BlockAPI.prototype,"getTypeface",1),__decorateClass([getter],BlockAPI.prototype,"getTextCursorRange",1),__decorateClass([getter],BlockAPI.prototype,"hasFill",1),__decorateClass([getter],BlockAPI.prototype,"isFillEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setFillEnabled",1),__decorateClass([getter],BlockAPI.prototype,"getFill",1),__decorateClass([setter],BlockAPI.prototype,"setFill",1),__decorateClass([setter],BlockAPI.prototype,"setFillSolidColor",1),__decorateClass([getter],BlockAPI.prototype,"getFillSolidColor",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaceholderBehavior",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderBehaviorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderBehaviorEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaceholderControls",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderControlsOverlayEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderControlsOverlayEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setPlaceholderControlsButtonEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isPlaceholderControlsButtonEnabled",1),__decorateClass([setter],BlockAPI.prototype,"setMetadata",1),__decorateClass([getter],BlockAPI.prototype,"getMetadata",1),__decorateClass([getter],BlockAPI.prototype,"hasMetadata",1),__decorateClass([getter],BlockAPI.prototype,"findAllMetadata",1),__decorateClass([setter],BlockAPI.prototype,"removeMetadata",1),__decorateClass([setter],BlockAPI.prototype,"setScopeEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isScopeEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isAllowedByScope",1),__decorateClass([getter],BlockAPI.prototype,"hasDuration",1),__decorateClass([setter],BlockAPI.prototype,"setDuration",1),__decorateClass([getter],BlockAPI.prototype,"getDuration",1),__decorateClass([getter],BlockAPI.prototype,"hasTimeOffset",1),__decorateClass([setter],BlockAPI.prototype,"setTimeOffset",1),__decorateClass([getter],BlockAPI.prototype,"getTimeOffset",1),__decorateClass([getter],BlockAPI.prototype,"hasTrim",1),__decorateClass([setter],BlockAPI.prototype,"setTrimOffset",1),__decorateClass([getter],BlockAPI.prototype,"getTrimOffset",1),__decorateClass([setter],BlockAPI.prototype,"setTrimLength",1),__decorateClass([getter],BlockAPI.prototype,"getTrimLength",1),__decorateClass([getter],BlockAPI.prototype,"getTotalSceneDuration",1),__decorateClass([setter],BlockAPI.prototype,"setPlaying",1),__decorateClass([getter],BlockAPI.prototype,"isPlaying",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaybackTime",1),__decorateClass([setter],BlockAPI.prototype,"setPlaybackTime",1),__decorateClass([getter],BlockAPI.prototype,"getPlaybackTime",1),__decorateClass([getter],BlockAPI.prototype,"isVisibleAtCurrentPlaybackTime",1),__decorateClass([setter],BlockAPI.prototype,"setSoloPlaybackEnabled",1),__decorateClass([getter],BlockAPI.prototype,"isSoloPlaybackEnabled",1),__decorateClass([getter],BlockAPI.prototype,"hasPlaybackControl",1),__decorateClass([setter],BlockAPI.prototype,"setLooping",1),__decorateClass([getter],BlockAPI.prototype,"isLooping",1),__decorateClass([setter],BlockAPI.prototype,"setMuted",1),__decorateClass([getter],BlockAPI.prototype,"isMuted",1),__decorateClass([setter],BlockAPI.prototype,"setVolume",1),__decorateClass([getter],BlockAPI.prototype,"getVolume",1),__decorateClass([setter],BlockAPI.prototype,"forceLoadAVResource",1),__decorateClass([getter],BlockAPI.prototype,"unstable_isAVResourceLoaded",1),__decorateClass([getter],BlockAPI.prototype,"getAVResourceTotalDuration",1),__decorateClass([getter],BlockAPI.prototype,"getVideoWidth",1),__decorateClass([getter],BlockAPI.prototype,"getVideoHeight",1),__decorateClass([getter],BlockAPI.prototype,"getVideoFillThumbnail",1),__decorateClass([getter],BlockAPI.prototype,"getVideoFillThumbnailAtlas",1),__decorateClass([getter],BlockAPI.prototype,"getPageThumbnailAtlas",1),__decorateClass([getter],BlockAPI.prototype,"getState",1),__decorateClass([setter],BlockAPI.prototype,"setState",1);var APIFALLBACK_TYPEFACES_SOURCE_ID="apiFallbackTypefaces";function migrateConfigObject(e){var t;return e&&"callbacks"in e&&(null==(t=e.callbacks)?void 0:t.log)&&!e.logger?{...e,logger:e.callbacks.log}:e}function apiFallback(e,t){var r,o,n,s,a,i,u,l,c;if(e)try{const d=t.editor,p=t.asset;if(null!=(null==(o=null==(r=e.page)?void 0:r.title)?void 0:o.show)&&d.setSettingBool("page/title/show",e.page.title.show),null!=(null==(s=null==(n=e.page)?void 0:n.title)?void 0:s.fontFileUri)&&d.setSettingString("page/title/fontFileUri",null==(i=null==(a=e.page)?void 0:a.title)?void 0:i.fontFileUri),null!=(null==(u=e.page)?void 0:u.dimOutOfPageAreas)&&d.setSettingBool("page/dimOutOfPageAreas",null==(l=e.page)?void 0:l.dimOutOfPageAreas),e.variables)for(const r in e.variables)if(Object.prototype.hasOwnProperty.call(e.variables,r)){const o=e.variables[r];t.variable.setString(r,String(o.value))}if(null==(c=e.presets)?void 0:c.typefaces){p.addLocalSource(APIFALLBACK_TYPEFACES_SOURCE_ID);for(const[t,r]of Object.entries(e.presets.typefaces))p.addAssetToSource(APIFALLBACK_TYPEFACES_SOURCE_ID,{id:t,payload:{typeface:{name:r.family,fonts:r.fonts.map((e=>({subFamily:`${e.weight} ${e.style}`,style:e.style,uri:e.fontURL,weight:e.weight})))}}})}}catch(e){console.error(e)}}function warnKeys(e){var t,r;const o=[];return e?("callbacks"in e&&(null==(t=e.callbacks)?void 0:t.log)&&o.push("config.callbacks.log has been moved to config.logger"),e.scene&&o.push("config.scene options have been removed. You can set a scene's dpi and pixelScaleFactor via the BlockApi's setInt(sceneId, 'scene/dpi', dpi) and setInt(sceneId, 'scene/pixelScaleFactor', factor)."),e.page&&o.push("config.page options have been moved to the EditorAPI"),e.variables&&o.push("config.variables has been removed. Please use the VariableAPI instead"),(null==(r=e.presets)?void 0:r.typefaces)&&o.push("config.presets.typefaces has been removed. Please use the AssetAPI to add typefaces instead and use `ui.typefaceLibraries` to populate the typeface selection dropdown in the UI."),o):o}var EditorAPI=class{#e;constructor(e){this.#e=e}unlockWithLicense(e){unpackResult(this.#e.unlockWithLicense(e))}startTracking(e,t){this.#e.startTracking(e,t,"")}setTrackingMetadata(e){this.#e.setTrackingMetadata(e)}getTrackingMetadata(){return unpackResult(this.#e.getTrackingMetadata())}getActiveLicense(){return unpackResult(this.#e.getActiveLicense())}onStateChanged=e=>{const t=this.#e.subscribeToEditorState(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};setEditMode(e){assert2("keypath",e,string()),this.#e.setEditMode(e)}getEditMode(){return this.#e.getEditMode()}getCursorType(){return this.#e.getCursorType()}getCursorRotation(){return this.#e.getCursorRotation()}getTextCursorPositionInScreenSpaceX(){return this.#e.getTextCursorPositionInScreenSpaceX()}getTextCursorPositionInScreenSpaceY(){return this.#e.getTextCursorPositionInScreenSpaceY()}createHistory(){return this.#e.createHistory()}destroyHistory(e){unpackResult(this.#e.destroyHistory(e))}setActiveHistory(e){unpackResult(this.#e.setActiveHistory(e))}getActiveHistory(){return this.#e.getActiveHistory()}addUndoStep(){unpackResult(this.#e.addUndoStep())}undo(){unpackResult(this.#e.undo())}redo(){unpackResult(this.#e.redo())}canUndo(){return unpackResult(this.#e.canUndo())}canRedo(){return unpackResult(this.#e.canRedo())}onHistoryUpdated=e=>{const t=this.#e.subscribeToHistory(e);return()=>{this.#e.isDeleted()||this.#e.unsubscribe(t)}};onSettingsChanged=e=>{const t=this.#e.subscribeToSettings(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};onRoleChanged=e=>{const t=this.#e.subscribeToRoleChange(e);return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(t))}};setSettingBool(e,t){return assert2("keypath",e,string()),assert2("value",t,boolean()),unpackResult(this.#e.setSettingBool(e,t))}getSettingBool(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingBool(e))}setSettingInt(e,t){return assert2("keypath",e,string()),assert2("value",t,integer()),unpackResult(this.#e.setSettingInt(e,t))}getSettingInt(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingInt(e))}setSettingFloat(e,t){return assert2("keypath",e,string()),assert2("value",t,number()),unpackResult(this.#e.setSettingFloat(e,t))}getSettingFloat(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingFloat(e))}setSettingString(e,t){return assert2("keypath",e,string()),assert2("value",t,string()),unpackResult(this.#e.setSettingString(e,t))}getSettingString(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingString(e))}setSettingColor(e,t){return assert2("keypath",e,string()),unpackResult(this.#e.setSettingColor(e,ColorInternal.fromColor(t)))}getSettingColor(e){return assert2("keypath",e,string()),ColorInternal.toColor(unpackResult(this.#e.getSettingColor(e)))}setSettingColorRGBA(e,t,r,o,n=1){return assert2("keypath",e,string()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),assert2("a",n,number()),unpackResult(this.#e.setSettingColorRGBA(e,t,r,o,n))}getSettingColorRGBA(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingColorRGBA(e))}setSettingEnum(e,t){return assert2("keypath",e,string()),assert2("value",t,string()),unpackResult(this.#e.setSettingEnum(e,t))}getSettingEnum(e){return assert2("keypath",e,string()),unpackResult(this.#e.getSettingEnum(e))}getSettingEnumOptions(e){return assert2("keypath",e,string()),cppVectorToArray_default(unpackResult(this.#e.getSettingEnumOptions(e)))}setRole(e){return unpackResult(this.#e.setRole(e))}getRole(){return unpackResult(this.#e.getRole())}findAllSettings(){return cppVectorToArray_default(this.#e.findAllSettings())}getSettingType(e){assert2("keypath",e,string());return unpackResult(this.#e.getSettingType(e))}getAvailableMemory(){return unpackResult(this.#e.getAvailableMemory())}getUsedMemory(){return unpackResult(this.#e.getUsedMemory())}getMaxExportSize(){return unpackResult(this.#e.getMaxExportSize())}setURIResolver(e){return unpackResult(this.#e.setURIResolver(e))}defaultURIResolver(e){return this.#e.defaultURIResolver(e)}getAbsoluteURI(e){return unpackResult(this.#e.getAbsoluteURI(e))}findAllScopes(){return cppVectorToArray_default(this.#e.findAllScopes())}setGlobalScope(e,t){assert2("key",e,string()),assert2("value",t,string()),unpackResult(this.#e.setGlobalScope(e,t))}getGlobalScope(e){return assert2("key",e,string()),unpackResult(this.#e.getGlobalScope(e))}findAllSpotColors(){return cppVectorToArray_default(this.#e.findAllSpotColors())}getSpotColorRGBA(e){return assert2("name",e,string()),this.#e.getSpotColorRGB(e)}getSpotColorCMYK(e){return assert2("name",e,string()),this.#e.getSpotColorCMYK(e)}setSpotColorRGB(e,t,r,o){return assert2("name",e,string()),assert2("r",t,number()),assert2("g",r,number()),assert2("b",o,number()),this.#e.setSpotColorRGB(e,t,r,o)}setSpotColorCMYK(e,t,r,o,n){return assert2("name",e,string()),assert2("c",t,number()),assert2("m",r,number()),assert2("y",o,number()),assert2("k",n,number()),this.#e.setSpotColorCMYK(e,t,r,o,n)}removeSpotColor(e){return assert2("name",e,string()),unpackResult(this.#e.removeSpotColor(e))}setSpotColorForCutoutType(e,t){return assert2("type",e,string()),assert2("color",t,string()),unpackResult(this.#e.setSpotColorForCutoutType(e,t))}getSpotColorForCutoutType(e){return assert2("type",e,string()),unpackResult(this.#e.getSpotColorForCutoutType(e))}convertColorToColorSpace(e,t){return assert2("colorSpace",t,string()),ColorInternal.toColor(unpackResult(this.#e.convertColorToColorSpace(ColorInternal.fromColor(e),t)))}createBuffer(){return this.#e.createBuffer()}destroyBuffer(e){unpackResult(this.#e.destroyBuffer(e))}setBufferData(e,t,r){assert2("offset",t,integer()),unpackResult(this.#e.setBufferData(e,t,r))}getBufferData(e,t,r){assert2("offset",t,integer()),assert2("length",r,integer());const o=this.#e.getBufferData(e,t,r);if("error"in o)throw new Error(o.error);return o}setBufferLength(e,t){assert2("length",t,integer()),unpackResult(this.#e.setBufferLength(e,t))}getBufferLength(e){return unpackResult(this.#e.getBufferLength(e))}};__decorateClass([setter],EditorAPI.prototype,"setEditMode",1),__decorateClass([getter],EditorAPI.prototype,"getEditMode",1),__decorateClass([getter],EditorAPI.prototype,"getCursorType",1),__decorateClass([getter],EditorAPI.prototype,"getCursorRotation",1),__decorateClass([getter],EditorAPI.prototype,"getTextCursorPositionInScreenSpaceX",1),__decorateClass([getter],EditorAPI.prototype,"getTextCursorPositionInScreenSpaceY",1),__decorateClass([setter],EditorAPI.prototype,"createHistory",1),__decorateClass([setter],EditorAPI.prototype,"destroyHistory",1),__decorateClass([setter],EditorAPI.prototype,"setActiveHistory",1),__decorateClass([getter],EditorAPI.prototype,"getActiveHistory",1),__decorateClass([setter],EditorAPI.prototype,"addUndoStep",1),__decorateClass([setter],EditorAPI.prototype,"undo",1),__decorateClass([setter],EditorAPI.prototype,"redo",1),__decorateClass([getter],EditorAPI.prototype,"canUndo",1),__decorateClass([getter],EditorAPI.prototype,"canRedo",1),__decorateClass([setter],EditorAPI.prototype,"setSettingBool",1),__decorateClass([getter],EditorAPI.prototype,"getSettingBool",1),__decorateClass([setter],EditorAPI.prototype,"setSettingInt",1),__decorateClass([getter],EditorAPI.prototype,"getSettingInt",1),__decorateClass([setter],EditorAPI.prototype,"setSettingFloat",1),__decorateClass([getter],EditorAPI.prototype,"getSettingFloat",1),__decorateClass([setter],EditorAPI.prototype,"setSettingString",1),__decorateClass([getter],EditorAPI.prototype,"getSettingString",1),__decorateClass([setter],EditorAPI.prototype,"setSettingColor",1),__decorateClass([getter],EditorAPI.prototype,"getSettingColor",1),__decorateClass([setter],EditorAPI.prototype,"setSettingColorRGBA",1),__decorateClass([getter],EditorAPI.prototype,"getSettingColorRGBA",1),__decorateClass([setter],EditorAPI.prototype,"setSettingEnum",1),__decorateClass([getter],EditorAPI.prototype,"getSettingEnum",1),__decorateClass([setter],EditorAPI.prototype,"setRole",1),__decorateClass([getter],EditorAPI.prototype,"getRole",1),__decorateClass([getter],EditorAPI.prototype,"getAvailableMemory",1),__decorateClass([getter],EditorAPI.prototype,"getUsedMemory",1),__decorateClass([getter],EditorAPI.prototype,"getMaxExportSize",1),__decorateClass([setter],EditorAPI.prototype,"setURIResolver",1),__decorateClass([getter],EditorAPI.prototype,"defaultURIResolver",1),__decorateClass([getter],EditorAPI.prototype,"getAbsoluteURI",1),__decorateClass([getter],EditorAPI.prototype,"findAllScopes",1),__decorateClass([setter],EditorAPI.prototype,"setGlobalScope",1),__decorateClass([getter],EditorAPI.prototype,"getGlobalScope",1),__decorateClass([getter],EditorAPI.prototype,"findAllSpotColors",1),__decorateClass([getter],EditorAPI.prototype,"getSpotColorRGBA",1),__decorateClass([getter],EditorAPI.prototype,"getSpotColorCMYK",1),__decorateClass([setter],EditorAPI.prototype,"setSpotColorRGB",1),__decorateClass([setter],EditorAPI.prototype,"setSpotColorCMYK",1),__decorateClass([setter],EditorAPI.prototype,"removeSpotColor",1),__decorateClass([setter],EditorAPI.prototype,"setSpotColorForCutoutType",1),__decorateClass([setter],EditorAPI.prototype,"getSpotColorForCutoutType",1);var EventAPI=class{#e;constructor(e){this.#e=e}subscribe=(e,t)=>{assert2("blocks",e,array());const r=this.#e.subscribe(e,(e=>{try{t(cppVectorToArray_default(e,!0))}catch(e){console.error(e)}}));return()=>{this.#e.isDeleted()||unpackResult(this.#e.unsubscribe(r))}}},VariableAPI=class{#e;constructor(e){this.#e=e}findAll(){return cppVectorToArray_default(this.#e.findAllVariables())}setString(e,t){return assert2("key",e,string()),assert2("value",t,string()),unpackResult(this.#e.setVariableString(e,t))}getString(e){return assert2("key",e,string()),unpackResult(this.#e.getVariableString(e))}remove(e){return assert2("key",e,string()),unpackResult(this.#e.removeVariable(e))}};__decorateClass([getter],VariableAPI.prototype,"findAll",1),__decorateClass([setter],VariableAPI.prototype,"setString",1),__decorateClass([getter],VariableAPI.prototype,"getString",1),__decorateClass([setter],VariableAPI.prototype,"remove",1);var import_promises=__toESM(require("fs/promises")),import_url=require("url"),customFetch=findFetch();function findFetch(){if("undefined"!=typeof fetch)return fetch;if("undefined"!=typeof window)throw new Error("Could not find `fetch` API");try{return require("node-fetch")}catch{throw new Error("Could not find a `fetch` implementation. Please make sure you're using Node.JS >= 18, or install the node-fetch@cjs package, or provide another polyfill.")}}async function fetchJSON(e){if(!e.match(/^file:/))return customFetch(e);try{const t=await import_promises.default.readFile((0,import_url.fileURLToPath)(e),{encoding:"utf8"}),r=JSON.parse(t);return{ok:!0,json:async()=>r}}catch(e){return{ok:!1,statusText:e.message}}}var fetch_default=customFetch,import_url2=require("url"),isDevelopment=!1;function configureEngine(e,t){var r;const o=new UBQHelper(e),n=new EditorAPI(e),s=new AssetAPI(e);n.setRole(t.role??"Creator"),isDevelopment&&(o.execute("cesdk/getVersionInfo").then((e=>console.debug(e))),o.execute("cesdk/getCapabilitiesInfo").then((e=>console.debug(e)))),n.setSettingString("basePath",t.baseURL),n.setSettingBool("showBuildVersion",isDevelopment||!1),(null==(r=t.featureFlags)?void 0:r.preventScrolling)&&(n.setSettingBool("touch/singlePointPanning",!1),n.setSettingBool("touch/dragStartCanSelect",!1)),s.addLocalSource("ly.img.text"),function(){var e;isDevelopment&&(n.setSettingBool("features/hspSelectiveAdjustmentsEnabled",!1),n.setSettingBool("features/layerListEnabled",!1),n.setSettingBool("features/templatingEnabled",!0));const r=!!(null==(e=t.featureFlags)?void 0:e.singlePageMode);n.setSettingBool("features/singlePageModeEnabled",r),n.setSettingBool("features/effectsEnabled",!0)}(),function(){const t=new VariableAPI(e);(isDevelopment||"undefined"!=typeof window&&window.Cypress)&&(t.setString("company_name","img.ly"),t.setString("first_name","Charly"),t.setString("last_name","Williams"),t.setString("address","742 Evergreen Terrace"),t.setString("city","Springfield"))}(),n.startTracking(t.license,t.userId??"")}var licenseEndpoint="https://api.img.ly/activate";function downloadAndCheckLicense(e,t=fetch){if(!e.license)throw new Error("Missing license key in config");return e.license.length<128?t(licenseEndpoint,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({apiKey:e.license,userId:e.userId})}).then((e=>{if(e.ok)return e.json();throw new Error("Unfortunately we are experiencing a server down time and your License key cannot be validated. We're already working on a fix and will restore service soon. Should services not restore within the hour, kindly get in touch with our support team.")})).then((e=>{if("valid"===e.status)return e.license;throw"expired"===e.status?new Error("Thanks for using IMG.LY for creative editing. Please note that your license file or commercial use is expired. Please get in touch with our sales team to discuss extension of your commercial license."):new Error("The License Key (API Key) you are using to access the IMG.LY SDK is invalid. Please ensure that you are using the license key tied to your subscription and get in touch with our support team.")})):Promise.resolve(e.license)}function unlockUbq(e,t){if(!t)throw new Error("Missing license key");unpackResult(e.unlockWithLicense(t))}var import_cesdk=__toESM(require_cesdk()),cesdk_default="./cesdk-v1.26.0-46BMFTP2.data",cesdk_default2="./cesdk-v1.26.0-KBUHOPHS.wasm",CESDK_JS=import_cesdk.default;async function init(e){const t=e.logger,r=downloadAndCheckLicense(e,fetch_default),{getPreloadedPackage:o,instantiateWasm:n}=await httpBaseUrlHandlers(e),s={locateFile:t=>t.endsWith(".wasm")?getAssetLocation(e,cesdk_default2):t.endsWith(".data")?getAssetLocation(e,cesdk_default):getAssetLocation(e,t),instantiateWasm:n,getPreloadedPackage:o,print:e=>{e&&t(e,"Info")},printErr:e=>{e&&t(e,"Error")},onRuntimeInitialized:()=>{t("Engine has been initialized.","Info")},logReadFiles:!1,printWithColors:!0},a=await CESDK_JS(s);a.emscripten_ubq_asyncFetchManager.setFetch(fetch_default);const i=unpackResult(a.createEngine("","auto"));return unlockUbq(i,await r),configureEngine(i,e),i}function getAssetLocation(e,t){const r=t.split("/").pop(),o=new URL(r,e.core.baseURL);if("file:"===o.protocol)return(0,import_url2.fileURLToPath)(o);return new URL(r,e.core.baseURL).toString()}async function httpBaseUrlHandlers(e){if(!e.core.baseURL.startsWith("http"))return{};const t=getAssetLocation(e,cesdk_default),r=getAssetLocation(e,cesdk_default2),o=fetch_default(t).then((e=>{if(e.status>=400)throw new Error(`Failed to fetch DATA package: ${e.status} ${e.statusText}`);return e.arrayBuffer()})),n=await o;return{getPreloadedPackage:function(e,r){if(e===t){if(r!==n.byteLength)throw new Error(`Attempt to get preloaded data package of incorrect size. Expected: ${r} Actual: ${n.byteLength}`);return n}return null},instantiateWasm:function(e,t){const o=e,n=fetch_default(r).then((e=>{if(e.status>=400)throw new Error(`Failed to fetch WASM package: ${e.status} ${e.statusText}`);return e}));return void 0!==WebAssembly.instantiateStreaming?n.then((e=>WebAssembly.instantiateStreaming(e,o))).then((({instance:e})=>t(e))):n.then((e=>e.arrayBuffer())).then((e=>WebAssembly.compile(e))).then((e=>WebAssembly.instantiate(e,o))).then(t),{}}}}var ASSET_SOURCE_BASE_URL="https://cdn.img.ly/assets/v3",CreativeEngine=class{asset;block;editor;event;scene;variable;#n;#e;constructor(e,t){this.#e=e,this.#n=new UBQHelper(e),this.asset=new AssetAPI(e),this.block=new BlockAPI(e),this.editor=new EditorAPI(e),this.event=new EventAPI(e),this.scene=new SceneAPI(e),this.variable=new VariableAPI(e),this.block.exportVideo=()=>{throw new Error("Exporting video is currently not supported on Node.JS")},this.#s(),"undefined"!=typeof window&&window.Cypress&&(this.config=t,this.helper=this.#n)}#a;#s(){this.#i()}#i(){if(this.#a)return;const e=()=>{this.update(),this.#a=setTimeout(e,16)};this.#a=setTimeout(e,16)}#u(){this.#a&&(clearTimeout(this.#a),this.#a=null)}update(){this.#e.update()}dispose(){this.#u(),this.#n=null,this.block=null,this.scene=null,this.variable=null,this.#e.delete(),this.#e=null}static async init(e){const t="1011f227c1";t&&console.log(`[CreativeEngine] Revision ${t}`);const r=initWithDefaults(migrateConfigObject(e),`file://${__dirname}/assets/`);for(const t of warnKeys(e))r.logger(t,"Warning");const o=new this(await init(r),r);return apiFallback(e,o),o}async addDefaultAssetSources({baseURL:e=ASSET_SOURCE_BASE_URL,excludeAssetSourceIds:t=[]}={}){return addDefaultAssetSources_default(this.asset,e,t,fetchJSON)}async addDemoAssetSources({excludeAssetSourceIds:e=[],sceneMode:t="Design",withUploadAssetSources:r=!1}={}){return addDemoAssetSources_default(this.asset,this.scene,e,t,r,fetchJSON)}},src_default=CreativeEngine;module.exports=CreativeEngine,Object.defineProperty(module.exports,"__esModule",{value:!0}),Object.defineProperty(module.exports,"default",{value:CreativeEngine}),Object.defineProperty(module.exports,"LogLevel",{value:LogLevel}),Object.defineProperty(module.exports,"MimeType",{value:MimeType_default});