@cesdk/node 1.78.0-nightly.20260613 → 1.78.0-nightly.20260614
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/assets/core/{cesdk-v1.78.0-nightly.20260613-GOBTY6JV.wasm → cesdk-v1.78.0-nightly.20260614-LUVMGFGL.wasm} +0 -0
- package/index.js +1 -1
- package/index.mjs +1 -1
- package/package.json +1 -1
- /package/assets/core/{cesdk-v1.78.0-nightly.20260613-MLEZSZ4D.data → cesdk-v1.78.0-nightly.20260614-MLEZSZ4D.data} +0 -0
package/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{fileURLToPath as e}from"url";import{dirname as t}from"path";import{createRequire as r}from"module";const n=e(import.meta.url),o=t(n),i=r(import.meta.url);var a,s,l=Object.create,c=Object.defineProperty,d=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,p=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,g=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),f=e=>{throw TypeError(e)},m=(e,t,r)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,b=(e,t)=>c(e,"name",{value:t,configurable:!0}),y=(e=>void 0!==i?i:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,t)=>(void 0!==i?i:e)[t]}):e)(function(e){if(void 0!==i)return i.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),v=e=>[,,,l(e?.[g("metadata")]??null)],w=["class","method","getter","setter","accessor","field","value","get","set"],k=e=>void 0!==e&&"function"!=typeof e?f("Function expected"):e,_=(e,t,r,n,o)=>({kind:w[e],name:t,metadata:n,addInitializer:e=>r._?f("Already initialized"):o.push(k(e||null))}),S=(e,t)=>m(t,g("metadata"),e[3]),E=(e,t,r,n)=>{for(var o=0,i=e[t>>1],a=i&&i.length;o<a;o++)1&t?i[o].call(r):n=i[o].call(r,n);return n},C=(e,t,r,n,o,i)=>{var a,s,l,u,p,h=7&t,g=!!(8&t),m=!!(16&t),y=h>3?e.length+1:h?g?1:2:0,v=w[h+5],E=h>3&&(e[y-1]=[]),C=e[y]||(e[y]=[]),T=h&&(!m&&!g&&(o=o.prototype),h<5&&(h>3||!m)&&d(h<4?o:{get[r](){return A(this,i)},set[r](e){return M(this,i,e)}},r));h?m&&h<4&&b(i,(h>2?"set ":h>1?"get ":"")+r):b(o,r);for(var x=n.length-1;x>=0;x--)u=_(h,r,l={},e[3],C),h&&(u.static=g,u.private=m,p=u.access={has:m?e=>P(o,e):e=>r in e},3^h&&(p.get=m?e=>(1^h?A:I)(e,o,4^h?i:T.get):e=>e[r]),h>2&&(p.set=m?(e,t)=>M(e,o,t,4^h?i:T.set):(e,t)=>e[r]=t)),s=(0,n[x])(h?h<4?m?i:T[v]:h>4?void 0:{get:T.get,set:T.set}:o,u),l._=1,4^h||void 0===s?k(s)&&(h>4?E.unshift(s):h?m?i=s:T[v]=s:o=s):"object"!=typeof s||null===s?f("Object expected"):(k(a=s.get)&&(T.get=a),k(a=s.set)&&(T.set=a),k(a=s.init)&&E.unshift(a));return h||S(e,o),T&&c(o,r,T),m?4^h?i:T:o},T=(e,t,r)=>m(e,"symbol"!=typeof t?t+"":t,r),x=(e,t,r)=>t.has(e)||f("Cannot "+r),P=(e,t)=>Object(t)!==t?f('Cannot use the "in" operator on this value'):e.has(t),A=(e,t,r)=>(x(e,t,"read from private field"),r?r.call(e):t.get(e)),F=(e,t,r)=>t.has(e)?f("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),M=(e,t,r,n)=>(x(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),I=(e,t,r)=>(x(e,t,"access private method"),r),D=(a={"../../../_builds/cesdk/wasm32-unknown-emscripten+simd/Release/cesdk.js"(e,t){var r,i=(r=globalThis.document?.currentScript?.src,async function(e={}){var t,i,a,s,l=e,c=!!globalThis.window,d=!!globalThis.WorkerGlobalScope,u=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type;l.expectedDataFileDownloads||(l.expectedDataFileDownloads=0),l.expectedDataFileDownloads++,(()=>{var e="undefined"!=typeof ENVIRONMENT_IS_PTHREAD&&ENVIRONMENT_IS_PTHREAD,t="undefined"!=typeof ENVIRONMENT_IS_WASM_WORKER&&ENVIRONMENT_IS_WASM_WORKER;if(!e&&!t){var r=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&"renderer"!=globalThis.process.type;!async function(e){"object"==typeof window?window.encodeURIComponent(window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/"):"undefined"==typeof process&&"undefined"!=typeof location&&encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/");var t,n="cesdk.data",o=l.locateFile?l.locateFile(n,""):n,i=e.remote_package_size,a=l.getPreloadedPackage&&l.getPreloadedPackage(o,i);async function s(r){function n(e,t){if(!e)throw new Error(t)}for(var o of(r.FS_createPath("/","ly.img.cesdk",!0,!0),r.FS_createPath("/ly.img.cesdk","fonts",!0,!0),r.FS_createPath("/ly.img.cesdk","icons",!0,!0),r.FS_createPath("/ly.img.cesdk","icu",!0,!0),r.FS_createPath("/ly.img.cesdk","presets",!0,!0),r.FS_createPath("/ly.img.cesdk","shaders",!0,!0),r.FS_createPath("/ly.img.cesdk/shaders","common",!0,!0),e.files)){var i=o.filename;r.addRunDependency(`fp ${i}`)}r.addRunDependency("datafile_cesdk.data"),r.preloadResults||(r.preloadResults={}),r.preloadResults["cesdk.data"]={fromCache:!1},a||(a=await t),async function(t){n(t,"Loading data file failed."),n(t.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+t.constructor.name);var o=new Uint8Array(t);for(var i of e.files){var a=i.filename,s=o.subarray(i.start,i.end);r.FS_createDataFile(a,null,s,!0,!0,!0),r.removeRunDependency(`fp ${a}`)}r.removeRunDependency("datafile_cesdk.data")}(a)}a||(t=async function(e,t){if(r){var n=y("fs").readFileSync(e);return new Uint8Array(n).buffer}l.dataFileDownloads||(l.dataFileDownloads={});try{var o=await fetch(e)}catch(t){throw new Error(`Network Error: ${e}`,{e:t})}if(!o.ok)throw new Error(`${o.status}: ${o.url}`);const i=[],a=o.headers,s=Number(a.get("Content-Length")||t);let c=0;l.setStatus&&l.setStatus("Downloading data...");const d=o.body.getReader();for(;;){var{done:u,value:p}=await d.read();if(u)break;i.push(p),c+=p.length,l.dataFileDownloads[e]={loaded:c,total:s};let t=0,r=0;for(const e of Object.values(l.dataFileDownloads))t+=e.loaded,r+=e.total;l.setStatus&&l.setStatus(`Downloading data... (${t}/${r})`)}const h=new Uint8Array(i.map(e=>e.length).reduce((e,t)=>e+t,0));let g=0;for(const e of i)h.set(e,g),g+=e.length;return h.buffer}(o,i)),l.calledRun?s(l):(l.preRun||(l.preRun=[]),l.preRun.push(s))}({files:[{filename:"/.keep",start:0,end:0},{filename:"/ly.img.cesdk/fonts/imgly_font_inter_semibold.otf",start:0,end:270760},{filename:"/ly.img.cesdk/icons/ErrorAudio.svg",start:270760,end:271410},{filename:"/ly.img.cesdk/icons/ErrorConnection.svg",start:271410,end:272334},{filename:"/ly.img.cesdk/icons/ErrorImage.svg",start:272334,end:273191},{filename:"/ly.img.cesdk/icons/ErrorUnknown.svg",start:273191,end:275199},{filename:"/ly.img.cesdk/icons/ErrorVideo.svg",start:275199,end:275919},{filename:"/ly.img.cesdk/icons/Move.svg",start:275919,end:276859},{filename:"/ly.img.cesdk/icons/RotateIndicator.svg",start:276859,end:277840},{filename:"/ly.img.cesdk/icu/icudt74l.dat",start:277840,end:812944},{filename:"/ly.img.cesdk/presets/.keep",start:812944,end:812944},{filename:"/ly.img.cesdk/shaders/adjustments.sksl",start:812944,end:816833},{filename:"/ly.img.cesdk/shaders/black_and_white_color_mixer.sksl",start:816833,end:823150},{filename:"/ly.img.cesdk/shaders/common/ubq_adjustments.sksl",start:823150,end:827741},{filename:"/ly.img.cesdk/shaders/common/ubq_color_conversions.sksl",start:827741,end:837726},{filename:"/ly.img.cesdk/shaders/common/ubq_constants.sksl",start:837726,end:838216},{filename:"/ly.img.cesdk/shaders/common/ubq_hue_constants.sksl",start:838216,end:841383},{filename:"/ly.img.cesdk/shaders/common/ubq_noise.sksl",start:841383,end:844021},{filename:"/ly.img.cesdk/shaders/cross_cut.sksl",start:844021,end:844968},{filename:"/ly.img.cesdk/shaders/dot_pattern.sksl",start:844968,end:846046},{filename:"/ly.img.cesdk/shaders/duotone_filter.sksl",start:846046,end:847010},{filename:"/ly.img.cesdk/shaders/extrude_blur.sksl",start:847010,end:849127},{filename:"/ly.img.cesdk/shaders/glow.sksl",start:849127,end:850094},{filename:"/ly.img.cesdk/shaders/half_tone.sksl",start:850094,end:850588},{filename:"/ly.img.cesdk/shaders/linocut.sksl",start:850588,end:851373},{filename:"/ly.img.cesdk/shaders/liquid.sksl",start:851373,end:851855},{filename:"/ly.img.cesdk/shaders/lut_filter.sksl",start:851855,end:854718},{filename:"/ly.img.cesdk/shaders/mask_color.sksl",start:854718,end:855223},{filename:"/ly.img.cesdk/shaders/mirror.sksl",start:855223,end:855677},{filename:"/ly.img.cesdk/shaders/outliner.sksl",start:855677,end:857314},{filename:"/ly.img.cesdk/shaders/pixelize.sksl",start:857314,end:857614},{filename:"/ly.img.cesdk/shaders/placeholder_overlay_lines.sksl",start:857614,end:858302},{filename:"/ly.img.cesdk/shaders/posterize.sksl",start:858302,end:858514},{filename:"/ly.img.cesdk/shaders/radial_pixel.sksl",start:858514,end:859077},{filename:"/ly.img.cesdk/shaders/recolor.sksl",start:859077,end:861278},{filename:"/ly.img.cesdk/shaders/sharpie.sksl",start:861278,end:863583},{filename:"/ly.img.cesdk/shaders/shifter.sksl",start:863583,end:864267},{filename:"/ly.img.cesdk/shaders/tiltshift.sksl",start:864267,end:864849},{filename:"/ly.img.cesdk/shaders/tv_glitch.sksl",start:864849,end:865567},{filename:"/ly.img.cesdk/shaders/vignette.sksl",start:865567,end:865939}],remote_package_size:865939})}})(),l.emscripten_ubq_codec_videoDecoders=new Map,l.emscripten_ubq_codec_audioDecoders=new Map,l.emscripten_ubq_codec_videoEncoders=new Map,l.emscripten_ubq_codec_audioEncoders=new Map,l.emscripten_ubq_codec_alphaStates=new Map,l.emscripten_ubq_codec_videoDecoderNextHandle=1,l.emscripten_ubq_codec_audioDecoderNextHandle=1,l.emscripten_ubq_codec_videoEncoderNextHandle=1,l.emscripten_ubq_codec_audioEncoderNextHandle=1,l._isSafariHelper=function(){if("undefined"==typeof navigator||"string"!=typeof navigator.userAgent)return 0;const e=navigator.userAgent;return!e.includes("Safari")||e.includes("Chrome")||e.includes("Chromium")||e.includes("Android")?0:1},l.emscripten_ubq_codec_createNativeResult=function(e){const t=l._malloc(8),r=l.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),n=l._malloc(t.length+1),o=l.HEAPU8.subarray(n,n+t.length+1);for(let e=0;e<t.length;e++)o[e]=t[e];o[t.length]=0,r[1]=n}else r[1]=0;return t},l.emscripten_ubq_codec_offscreenCanvas=null,l.emscripten_ubq_codec_offscreenCtx=null,l.emscripten_ubq_codec_presentVideoFrame=function(e,t,r,n,o,i,a){if(!i){const e=t.textures,o=t.textureWidth,i=t.textureHeight;if(e&&e.length>0){var s=l.ctx;const c=t.decodedFrames%e.length,d=s.getParameter(s.TEXTURE_BINDING_2D);s.bindTexture(s.TEXTURE_2D,e[c]);let u=a;u||(u=n?l.emscripten_ubq_codec_toneMapHdrToSdr(r):r);const p=r.displayWidth,h=r.displayHeight;if(p!==o||h!==i){if(!t.scalingCanvas){const e="undefined"!=typeof OffscreenCanvas?()=>new OffscreenCanvas(o,i):()=>{if("undefined"!=typeof document&&"function"==typeof document.createElement){const e=document.createElement("canvas");return e.width=o,e.height=i,e}throw new Error("Canvas API not available")};t.scalingCanvas=e(),t.scalingCtx=t.scalingCanvas.getContext("2d")}const e=t.scalingCanvas,r=t.scalingCtx;e.width===o&&e.height===i||(e.width=o,e.height=i),r.clearRect(0,0,o,i);const n=p/h;let a,s,l,c;n>o/i?(a=o,s=o/n,l=0,c=(i-s)/2):(s=i,a=i*n,l=(o-a)/2,c=0),r.drawImage(u,l,c,a,s),u=e}s.texImage2D(s.TEXTURE_2D,0,s.RGBA,s.RGBA,s.UNSIGNED_BYTE,u),s.bindTexture(s.TEXTURE_2D,d)}}r.close(),t.decodedFrames++,l.emscripten_ubq_codec_onOutputDecodedVideoFrame(e,t.decodedFrames,i,r.timestamp??0,o)},l.emscripten_ubq_codec_alphaMergeCanvas=function(e,t,r){const n=!e.mergerCanvas||e.mergerCanvas.width!==t||e.mergerCanvas.height!==r;if(!e.mergerCanvas||n){if("undefined"!=typeof OffscreenCanvas)e.mergerCanvas=new OffscreenCanvas(t,r);else{if("undefined"==typeof document||"function"!=typeof document.createElement)throw new Error("Canvas API not available for alpha compositing");e.mergerCanvas=document.createElement("canvas"),e.mergerCanvas.width=t,e.mergerCanvas.height=r}const n=e.mergerCanvas.getContext("webgl2")||e.mergerCanvas.getContext("webgl");if(!n)throw new Error("Failed to get WebGL context for alpha compositing");e.mergerCtx=n;const o="\n attribute vec2 aPos;\n attribute vec2 aTexCoord;\n varying vec2 vTexCoord;\n void main() {\n gl_Position = vec4(aPos, 0.0, 1.0);\n vTexCoord = aTexCoord;\n }\n ",i="\n precision mediump float;\n varying vec2 vTexCoord;\n uniform sampler2D uMain;\n uniform sampler2D uAlpha;\n void main() {\n vec4 color = texture2D(uMain, vTexCoord);\n vec4 alpha = texture2D(uAlpha, vTexCoord);\n gl_FragColor = vec4(color.rgb, alpha.r);\n }\n ",a=(e,t)=>{const r=n.createShader(e);if(n.shaderSource(r,t),n.compileShader(r),!n.getShaderParameter(r,n.COMPILE_STATUS)){const e=n.getShaderInfoLog(r);throw n.deleteShader(r),new Error("WebGL shader compile error: "+e)}return r},s=a(n.VERTEX_SHADER,o),l=a(n.FRAGMENT_SHADER,i),c=n.createProgram();if(n.attachShader(c,s),n.attachShader(c,l),n.linkProgram(c),!n.getProgramParameter(c,n.LINK_STATUS))throw new Error("WebGL program link error: "+n.getProgramInfoLog(c));e.mergerProgram=c,e.mergerLoc={aPos:n.getAttribLocation(c,"aPos"),aTexCoord:n.getAttribLocation(c,"aTexCoord"),uMain:n.getUniformLocation(c,"uMain"),uAlpha:n.getUniformLocation(c,"uAlpha")};const d=new Float32Array([-1,1,0,0,1,1,1,0,-1,-1,0,1,1,-1,1,1]);e.mergerBuffer=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,e.mergerBuffer),n.bufferData(n.ARRAY_BUFFER,d,n.STATIC_DRAW),e.mergerTexMain=n.createTexture(),n.bindTexture(n.TEXTURE_2D,e.mergerTexMain),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),e.mergerTexAlpha=n.createTexture(),n.bindTexture(n.TEXTURE_2D,e.mergerTexAlpha),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR)}return e.mergerCanvas},l.emscripten_ubq_codec_mergeAlphaFrames=function(e,t,r){const n=t.displayWidth,o=t.displayHeight,i=l.emscripten_ubq_codec_alphaMergeCanvas(e,n,o),a=e.mergerCtx;return a.viewport(0,0,n,o),a.useProgram(e.mergerProgram),a.bindBuffer(a.ARRAY_BUFFER,e.mergerBuffer),a.enableVertexAttribArray(e.mergerLoc.aPos),a.vertexAttribPointer(e.mergerLoc.aPos,2,a.FLOAT,!1,16,0),a.enableVertexAttribArray(e.mergerLoc.aTexCoord),a.vertexAttribPointer(e.mergerLoc.aTexCoord,2,a.FLOAT,!1,16,8),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,e.mergerTexMain),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,t),a.uniform1i(e.mergerLoc.uMain,0),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,e.mergerTexAlpha),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,r),a.uniform1i(e.mergerLoc.uAlpha,1),a.drawArrays(a.TRIANGLE_STRIP,0,4),a.flush(),i},l.emscripten_ubq_codec_prepareAlphaState=function(e,t){if(l.emscripten_ubq_codec_alphaStates.has(e))return l.emscripten_ubq_codec_alphaStates.get(e);const r={decoder:null,pendingMain:new Map,pendingAlpha:new Map,expectedTimestamps:new Set,dropTimestamps:new Set,mergerCanvas:null,mergerCtx:null};try{const n={...t};t.description&&(n.description=t.description.slice());const o=new VideoDecoder({output:t=>{l.emscripten_ubq_codec_alphaOnAlphaFrame(e,t)},error:e=>{o.unexpectedError=e,console.error("Alpha decoder error:",e)}});return o.configure(n),r.decoder=o,l.emscripten_ubq_codec_alphaStates.set(e,r),r}catch(e){return console.error("Failed to create alpha decoder:",e),null}},l.emscripten_ubq_codec_destroyAlphaState=function(e){const t=l.emscripten_ubq_codec_alphaStates.get(e);if(t){t.decoder&&"closed"!==t.decoder.state&&t.decoder.close();for(const e of t.pendingMain.values())e.frame.close();for(const e of t.pendingAlpha.values())e.close();if(t.pendingMain.clear(),t.pendingAlpha.clear(),t.expectedTimestamps.clear(),t.dropTimestamps.clear(),t.mergerCtx){const e=t.mergerCtx;e.deleteTexture(t.mergerTexMain),e.deleteTexture(t.mergerTexAlpha),e.deleteBuffer(t.mergerBuffer),e.deleteProgram(t.mergerProgram);const r=e.getExtension("WEBGL_lose_context");r&&r.loseContext()}t.mergerCanvas=null,t.mergerCtx=null,l.emscripten_ubq_codec_alphaStates.delete(e)}},l.emscripten_ubq_codec_markAlphaExpected=function(e,t){const r=l.emscripten_ubq_codec_alphaStates.get(e);r&&r.expectedTimestamps.add(t)},l.emscripten_ubq_codec_alphaOnMainFrame=function(e,t,r,n,o){const i=l.emscripten_ubq_codec_alphaStates.get(e);if(!i)return!1;const a=t.timestamp??0;if(!i.expectedTimestamps.has(a))return!1;const s=i.pendingAlpha.get(a);if(s){i.pendingAlpha.delete(a),i.expectedTimestamps.delete(a);const c=l.emscripten_ubq_codec_mergeAlphaFrames(i,t,s);return l.emscripten_ubq_codec_presentVideoFrame(e,r,t,n,o,!1,c),s.close(),!0}return i.pendingMain.set(a,{frame:t,videoDecoder:r,isHdr:n,codecServicePtr:o}),!0},l.emscripten_ubq_codec_alphaOnAlphaFrame=function(e,t){const r=l.emscripten_ubq_codec_alphaStates.get(e);if(!r)return void t.close();const n=t.timestamp??0;if(!r.expectedTimestamps.has(n))return void t.close();if(r.dropTimestamps.has(n))return r.dropTimestamps.delete(n),r.expectedTimestamps.delete(n),void t.close();const o=r.pendingMain.get(n);if(o){r.pendingMain.delete(n),r.expectedTimestamps.delete(n);const i=l.emscripten_ubq_codec_mergeAlphaFrames(r,o.frame,t);return l.emscripten_ubq_codec_presentVideoFrame(e,o.videoDecoder,o.frame,o.isHdr,o.codecServicePtr,!1,i),void t.close()}r.pendingAlpha.set(n,t)},l.emscripten_ubq_codec_alphaHandleDroppedMain=function(e,t){const r=l.emscripten_ubq_codec_alphaStates.get(e);if(!r||"number"!=typeof t)return;if(!r.expectedTimestamps.has(t))return;const n=r.pendingMain.get(t);n&&(r.pendingMain.delete(t),n.frame.close());const o=r.pendingAlpha.get(t);o?(r.pendingAlpha.delete(t),o.close()):r.dropTimestamps.add(t),r.expectedTimestamps.delete(t)},l.emscripten_ubq_codec_alphaCancelExpectation=function(e,t){const r=l.emscripten_ubq_codec_alphaStates.get(e);if(!r||"number"!=typeof t)return;if(!r.expectedTimestamps.has(t))return;const n=r.pendingMain.get(t);n&&(r.pendingMain.delete(t),n.frame.close());const o=r.pendingAlpha.get(t);o&&(r.pendingAlpha.delete(t),o.close()),r.dropTimestamps.delete(t),r.expectedTimestamps.delete(t)},l.emscripten_ubq_codec_toneMapHdrToSdr=function(e){l.emscripten_ubq_codec_offscreenCanvas||(l.emscripten_ubq_codec_offscreenCanvas=new OffscreenCanvas(e.codedWidth,e.codedHeight),l.emscripten_ubq_codec_offscreenCtx=l.emscripten_ubq_codec_offscreenCanvas.getContext("2d"));const t=l.emscripten_ubq_codec_offscreenCanvas;return t.width===e.codedWidth&&t.height===e.codedHeight||(t.width=e.codedWidth,t.height=e.codedHeight),l.emscripten_ubq_codec_offscreenCtx.drawImage(e,0,0),t},l.emscripten_ubq_codec_createVideoDecoder=function(e,t,r){const n=new VideoDecoder({output:o=>{const i=n.textures;let a=!1;if(n.shouldDropFrames)a=!0;else{if(1===n.isSafari){const e=n.targetFrameForScheduling??n.requestedPresentationFrame??0,t=n.reorderWindow??0,r=Math.max(e-t,0);n.decodedFrames<r&&(a=!0)}!a&&i&&i.length>0&&n.decodeQueueSize>=i.length&&(a=!0)}const s=o.timestamp??0;if(a)return l.emscripten_ubq_codec_alphaHandleDroppedMain(e,s),void l.emscripten_ubq_codec_presentVideoFrame(e,n,o,t,r,!0,null);l.emscripten_ubq_codec_alphaOnMainFrame(e,o,n,t,r)||l.emscripten_ubq_codec_presentVideoFrame(e,n,o,t,r,!1,null)},error:e=>{n.unexpectedError=e,console.error(e)}});return n.decodedFrames=0,n.requestedPresentationFrame=0,n.requestedDecodeChunk=0,n.targetFrameForScheduling=0,n.isSafari=l._isSafariHelper(),n.reorderWindow=0,n.shouldDropFrames=!1,n.isHdr=t,n.textureWidth=0,n.textureHeight=0,n.scalingCanvas=null,n.scalingCtx=null,n},l.emscripten_ubq_codec_createAudioDecoder=function(e,t,r){const n=new AudioDecoder({output:o=>{if(n.flushing)return void o.close();const i=l.HEAPF32.subarray(e/4,e/4+r),a=l.HEAPF32.subarray(t/4,t/4+r),s=1===o.numberOfChannels?0:1;if("f32-planar"===o.format){let e=n.writtenFrames%r;if(e+o.numberOfFrames<=r)o.copyTo(i.subarray(e),{planeIndex:0,frameCount:o.numberOfFrames}),o.copyTo(a.subarray(e),{planeIndex:s,frameCount:o.numberOfFrames});else{const t=r-e;o.copyTo(i.subarray(e),{planeIndex:0,frameCount:t}),o.copyTo(a.subarray(e),{planeIndex:s,frameCount:t}),o.copyTo(i,{planeIndex:0,frameOffset:t}),o.copyTo(a,{planeIndex:s,frameOffset:t})}n.writtenFrames+=o.numberOfFrames}else if("s16-planar"===o.format)if(1===o.numberOfChannels){const e=new Int16Array(o.numberOfFrames);o.copyTo(e,{planeIndex:0});for(let t=0;t<o.numberOfFrames;t++){const o=e[t]/32768;let s=n.writtenFrames%r;i[s]=o,a[s]=o,n.writtenFrames++}}else{const e=new Int16Array(o.numberOfFrames),t=new Int16Array(o.numberOfFrames);o.copyTo(e,{planeIndex:0}),o.copyTo(t,{planeIndex:1});for(let s=0;s<o.numberOfFrames;s++){let o=n.writtenFrames%r;i[o]=e[s]/32768,a[o]=t[s]/32768,n.writtenFrames++}}else if("s16"===o.format){const e=new Int16Array(o.numberOfFrames*o.numberOfChannels);if(o.copyTo(e,{planeIndex:0}),1===o.numberOfChannels)for(let t=0;t<o.numberOfFrames;t++){const o=e[t]/32768;let s=n.writtenFrames%r;i[s]=o,a[s]=o,n.writtenFrames++}else for(let t=0;t<o.numberOfFrames;t++){let s=n.writtenFrames%r;i[s]=e[t*o.numberOfChannels+0]/32768,a[s]=e[t*o.numberOfChannels+1]/32768,n.writtenFrames++}}else if("f32-planar"===o.format)if(1===o.numberOfChannels){const e=new Float32Array(o.numberOfFrames);o.copyTo(e,{planeIndex:0});for(let t=0;t<o.numberOfFrames;t++){let o=n.writtenFrames%r;i[o]=e[t],a[o]=e[t],n.writtenFrames++}}else{const e=new Float32Array(o.numberOfFrames),t=new Float32Array(o.numberOfFrames);o.copyTo(e,{planeIndex:0}),o.copyTo(t,{planeIndex:1});for(let s=0;s<o.numberOfFrames;s++){let o=n.writtenFrames%r;i[o]=e[s],a[o]=t[s],n.writtenFrames++}}else if("f32"===o.format){const e=new Float32Array(o.numberOfFrames*o.numberOfChannels);if(o.copyTo(e,{planeIndex:0}),1===o.numberOfChannels)for(let t=0;t<o.numberOfFrames;t++){let o=n.writtenFrames%r;i[o]=e[t],a[o]=e[t],n.writtenFrames++}else for(let t=0;t<o.numberOfFrames;t++){let s=n.writtenFrames%r;i[s]=e[t*o.numberOfChannels+0],a[s]=e[t*o.numberOfChannels+1],n.writtenFrames++}}else console.error("Unsupported audio format:",o.format);o.close()},error:e=>{n.unexpectedError=e,console.error(e)}});return n.writtenFrames=0,n},l.emscripten_ubq_settings_forceWebGL1=!1,l.emscripten_ubq_opfs_CHUNK_SIZE=10485760,l.emscripten_ubq_opfs_MAX_CACHE_SIZE_BYTES=209715200,void 0===l.emscripten_ubq_opfs_readTagCounter&&(l.emscripten_ubq_opfs_readTagCounter=0),l.emscripten_ubq_opfs_caches=new Map,l.emscripten_ubq_opfs_isWriteOpen=function(e){const t=l.emscripten_ubq_opfs_writerCaches;return!!t&&!!t.get(e)},l.emscripten_ubq_opfs_waitForWriteClose=async function(e){for(;l.emscripten_ubq_opfs_isWriteOpen(e);)await new Promise(e=>setTimeout(e,25))},l.emscripten_ubq_opfs_createWorker=function(){const e=new Blob(["\n let handle = null; \n let currentUri = '';\n\n async function getFileHandleForUri(uri) {\n const path = uri.replace(/^opfs:\\/\\//, \"\");\n const parts = path.split(\"/\").filter(Boolean);\n let dir = await navigator.storage.getDirectory();\n for (let i = 0; i < parts.length - 1; i++) {\n dir = await dir.getDirectoryHandle(parts[i]);\n }\n return dir.getFileHandle(parts[parts.length - 1]);\n }\n\n self.onmessage = async (ev) => {\n if (ev.data.open) {\n if (handle) {\n try {\n handle.close();\n } catch (e) {\n console.warn('[OPFS Worker] Failed to close previous handle', e);\n }\n }\n currentUri = ev.data.uri || '';\n try {\n const fileHandle = await getFileHandleForUri(currentUri);\n handle = await fileHandle.createSyncAccessHandle({\n mode: 'read-only'\n });\n try {\n const size = handle.getSize ? handle.getSize() : -1;\n } catch (_) {}\n self.postMessage({ready:true});\n } catch (error) {\n handle = null;\n const message =\n (error && error.message) ? error.message : String(error);\n self.postMessage({ready:false, error: message});\n }\n return;\n }\n \n if (ev.data.read) {\n const {offset, size, tag} = ev.data.read;\n\n if (!handle) {\n self.postMessage({tag, error: 'OPFS handle is not initialized'});\n return;\n }\n try {\n const tmp = new Uint8Array(size);\n const bytes = handle.read(tmp, {at: offset});\n self.postMessage({tag, bytes, buf: tmp.buffer}, [tmp.buffer]);\n } catch (error) {\n const message =\n (error && error.message) ? error.message : String(error);\n self.postMessage({tag, error: message});\n }\n }\n };\n "],{type:"application/javascript"});return{worker:new Worker(URL.createObjectURL(e),{type:"module"}),readyPromise:null,post:function(e){this.worker.postMessage(e)},get:function(){return this.worker}}},l.emscripten_ubq_opfs_destroyWorker=function(e){if(e){console.log("[OPFS Reader] Destroy worker");try{e.worker.terminate()}catch(e){console.warn("[OPFS] Failed to terminate worker",e)}}},l.emscripten_ubq_opfs_getCache=function(e){let t=l.emscripten_ubq_opfs_caches.get(e);return t||(t={chunkCache:new Map,accessOrder:[],currentSize:0,loadingChunks:new Set,file:null,openPromise:null,fileSize:-1,worker:null,workerOpened:!1,workerOpening:null},l.emscripten_ubq_opfs_caches.set(e,t)),t},l.emscripten_ubq_opfs_ensureFile=async function(e,t){if(t.fileHandle)return t.fileHandle;if(t.openPromise)return t.openPromise;const r=e.replace(/^opfs:\/\//,"");return t.openPromise=(async()=>{const e=await navigator.storage.getDirectory(),n=r.split("/").filter(Boolean);let o=e;for(let e=0;e<n.length-1;e++)o=await o.getDirectoryHandle(n[e]);const i=await o.getFileHandle(n[n.length-1]);t.fileHandle=i;const a=await i.getFile();return t.fileSize=a.size,i})(),t.openPromise},l.emscripten_ubq_opfs_ensureWorker=function(e,t){return t.worker||(t.worker=l.emscripten_ubq_opfs_createWorker()),t.worker},l.emscripten_ubq_opfs_updateAccess=function(e,t){const r=e.accessOrder.indexOf(t);-1!==r&&e.accessOrder.splice(r,1),e.accessOrder.push(t)},l.emscripten_ubq_opfs_cleanCache=function(e){const t=l.emscripten_ubq_opfs_MAX_CACHE_SIZE_BYTES;for(;e.currentSize>t&&e.accessOrder.length>0;){const t=e.accessOrder.shift(),r=e.chunkCache.get(t);r&&(e.currentSize-=r.byteLength,e.chunkCache.delete(t))}},l.emscripten_ubq_opfs_loadChunk=function(e,t,r){if(t.chunkCache.has(r)||t.loadingChunks.has(r))return void l.emscripten_ubq_opfs_updateAccess(t,r);t.loadingChunks.add(r);const n=l.emscripten_ubq_opfs_CHUNK_SIZE,o=r*n;l.emscripten_ubq_opfs_loadChunkViaWorker(e,t,r,o,n).catch(t=>{console.error(`[OPFS] Failed to load chunk ${r} for "${e}":`,t)}).finally(()=>{t.loadingChunks.delete(r)})},l.emscripten_ubq_opfs_loadChunkViaWorker=async function(e,t,r,n,o){const i=l.emscripten_ubq_opfs_ensureWorker(e,t);t.workerOpened||(t.workerOpening||(t.workerOpening=(async()=>{await l.emscripten_ubq_opfs_waitForWriteClose(e),await l.emscripten_ubq_opfs_ensureFile(e,t),i.post({open:!0,uri:e}),await new Promise((e,t)=>{const r=i.get(),n=o=>{o.data&&(!0===o.data.ready?(r.removeEventListener("message",n),e()):!1===o.data.ready&&(r.removeEventListener("message",n),t(new Error(o.data.error||"Failed to open OPFS worker handle"))))};r.addEventListener("message",n)}),t.workerOpened=!0})().finally(()=>{t.workerOpening=null})),await t.workerOpening);const a=await new Promise((e,t)=>{const r=++l.emscripten_ubq_opfs_readTagCounter,a=i.get(),s=n=>{if(n.data.tag===r){if(a.removeEventListener("message",s),n.data.error)return void t(new Error(n.data.error));n.data.buf?e(new Uint8Array(n.data.buf)):t(new Error("No buffer received"))}};a.addEventListener("message",s),i.post({read:{offset:n,size:o,tag:r}})});t.chunkCache.set(r,a),t.currentSize+=a.byteLength,l.emscripten_ubq_opfs_updateAccess(t,r),l.emscripten_ubq_opfs_cleanCache(t)},l.emscripten_ubq_opfs_getChunkDataAsync=async function(e,t,r,n,o){if(n<=0)return 0;const i=Y(e),a=4294967296*(r>>>0)+(t>>>0),s=l.emscripten_ubq_opfs_getCache(i),c=l.emscripten_ubq_opfs_ensureWorker(i,s);s.workerOpened||(s.workerOpening||(s.workerOpening=(async()=>{await l.emscripten_ubq_opfs_waitForWriteClose(i),await l.emscripten_ubq_opfs_ensureFile(i,s),c.post({open:!0,uri:i}),await new Promise((e,t)=>{const r=c.get(),n=o=>{o.data&&(!0===o.data.ready?(r.removeEventListener("message",n),e()):!1===o.data.ready&&(r.removeEventListener("message",n),t(new Error(o.data.error||"Failed to open OPFS worker handle"))))};r.addEventListener("message",n)}),s.workerOpened=!0})().finally(()=>{s.workerOpening=null})),await s.workerOpening);try{return await new Promise((e,t)=>{void 0===l.emscripten_ubq_opfs_readTagCounter&&(l.emscripten_ubq_opfs_readTagCounter=0);const r=++l.emscripten_ubq_opfs_readTagCounter,i=c.get(),s=a=>{if(a.data.tag===r){if(i.removeEventListener("message",s),a.data.error)return void t(new Error(a.data.error));a.data.buf&&l.HEAPU8.set(new Uint8Array(a.data.buf),o),a.data.bytes===n?e(n):t(new Error("short read"))}};i.addEventListener("message",s),c.post({read:{offset:a,size:n,ptr:o,tag:r}})})}catch(e){return console.error("[OPFS] worker read failed:",e),-1}},l.emscripten_ubq_opfs_loadChunkAsync=async function(e,t,r){if(t.chunkCache.has(r))return void l.emscripten_ubq_opfs_updateAccess(t,r);if(t.loadingChunks.has(r))return;t.loadingChunks.add(r);const n=l.emscripten_ubq_opfs_CHUNK_SIZE,o=r*n,i=o+n;try{await l.emscripten_ubq_opfs_waitForWriteClose(e);const n=await l.emscripten_ubq_opfs_ensureFile(e,t),a=(await n.getFile()).slice(o,i),s=await a.arrayBuffer(),c=new Uint8Array(s);t.chunkCache.set(r,c),t.currentSize+=c.byteLength,l.emscripten_ubq_opfs_updateAccess(t,r),l.emscripten_ubq_opfs_cleanCache(t)}catch(t){throw console.error(`[OPFS] Async Failed to load chunk ${r} for "${e}":`,t),t}finally{t.loadingChunks.delete(r)}},"object"==typeof window&&"object"==typeof window.performance?l.performance=performance:"object"==typeof global&&"object"==typeof global.perf_hooks&&"object"==typeof global.perf_hooks.performance?l.performance=global.perf_hooks.performance:l.performance={mark:function(){},measure:function(){}},(i=t||(t={}))[i.PENDING=0]="PENDING",i[i.FINISHED=1]="FINISHED",i[i.ALLOCATED=2]="ALLOCATED",i[i.ERROR=3]="ERROR",(s=a||(a={}))[s.GET=0]="GET",s[s.POST=1]="POST",s[s.HEAD=2]="HEAD";class FetchProcess{constructor(e,r){this.state=t.PENDING,this.statusCode=-1,this.totalBytes=0,this.receivedLength=0,this.handle=e,this.uri=r,this.abortController=new AbortController,this.abortSignal=this.abortController.signal}async readChunks(e,t){let r=0;const n=[],o=e=>{n.push(e),r+=e.length,this.receivedLength=r};if(null==e);else if("getReader"in e){const n=e.getReader();for(;;){const{done:e,value:i}=await n.read();if(e)break;if(this.abortSignal.aborted)throw await n.cancel(),n.releaseLock(),new Error(this.abortSignal.reason);if(void 0!==t&&r+i.length>t){const e=t-r;e>0&&o(i.subarray(0,e)),await n.cancel(),n.releaseLock();break}if(o(i),void 0!==t&&r>=t){await n.cancel(),n.releaseLock();break}}(void 0===t||r<t)&&n.releaseLock()}else{const n=()=>e.destroy(new Error(this.abortSignal.reason));this.abortSignal.addEventListener("abort",n,{once:!0});try{await new Promise((n,i)=>{let a=!1;const s=()=>{e.off("data",d),e.off("end",l),e.off("error",c)},l=()=>{a||(a=!0,s(),n())},c=e=>{a||(a=!0,s(),i(e))},d=i=>{if(!a){if(void 0!==t&&r+i.length>t){const l=t-r;return l>0&&o(i.subarray(0,l)),a=!0,s(),e.destroy(),void n()}o(i),void 0!==t&&r>=t&&(a=!0,s(),e.destroy(),n())}};e.on("data",d),e.on("end",l),e.on("error",c)})}finally{this.abortSignal.removeEventListener("abort",n)}}const i=new Uint8Array(r);let a=0;for(const e of n)i.set(e,a),a+=e.length;return this.finish(i)}abort(){this.isPending()&&this.abortController.abort("Fetch aborted")}isPending(){return this.state===t.PENDING}isError(){return this.state===t.ERROR}isFinished(){return this.state===t.FINISHED}isAllocated(){return this.state===t.ALLOCATED}allocate(){if(this.isAllocated())return this;if(this.isFinished()){const e=this.result.length,r=l._malloc(e);l.HEAPU8.set(this.result,r);const n=Object.assign(Object.assign({},this),{state:t.ALLOCATED,resultAddress:r,resultLength:e});return Object.assign(this,n),n}return null}finish(e){const r=Object.assign(Object.assign({},this),{state:t.FINISHED,result:e,totalBytes:this.totalBytes>0?this.totalBytes:e.length});return Object.assign(this,r)}fail(e){const r=Object.assign(Object.assign({},this),{state:t.ERROR,error:e});return Object.assign(this,r)}}l.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,n,o,i,a,s,c){const d=l.UTF8ToString(t,r),u=this._nextHandle++,p=new FetchProcess(u,d);return this._processes.set(u,p),d.match(/^file:/)?this._fetchFile(p).catch(e=>{p.fail(e)}):this._fetchRemote(p,e,n,o,i,a,s,c).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=y("fs"),{fileURLToPath:r}=y("url"),n=t.createReadStream(r(e.uri));return e.readChunks(n)}async _fetchRemote(e,t,r,n,o,i,s,c){const d=l.UTF8ToString(s,c),u=this.getHeaders(r,n),p="Range"in u;let h,g,f;if(u.Range){const e=u.Range.match(/bytes=(\d+)-(\d+)/);e&&(g=parseInt(e[1],10),f=parseInt(e[2],10),h=f-g+1)}const m=0===g&&void 0!==h&&h<=64,b=t===a.POST?new Uint8Array(new Uint8Array(l.HEAPU8.buffer,o,i)):void 0,y={method:a[t],headers:u,body:b,mode:"cors",credentials:d,signal:e.abortSignal,redirect:p?"manual":"follow"};let v=await this._fetch(e.uri,y);if(p){let t=0;for(;v.status>=300&&v.status<400;){const r=v.headers.get("Location");if(!r)return e.fail("Redirect without Location header");const n=new URL(r,v.url).href;if(t+=1,t>10)return e.fail("Too many redirects");v=await this._fetch(n,y)}if("opaqueredirect"===v.type)return e.fail("Opaque redirect while preserving Range header")}if(e.statusCode=v.status,v.status>=200&&v.status<=209){let r=0;if(206===v.status&&v.headers.has("Content-Range")){const e=v.headers.get("Content-Range").match(/\/(\d+|\*)/);e&&"*"!==e[1]&&(r=parseInt(e[1],10))}return 0===r&&v.headers.has("Content-Length")&&(r=+v.headers.get("Content-Length")),e.totalBytes=r,t===a.HEAD?e.finish(new Uint8Array(0)):(p&&200===v.status&&!m&&(h=void 0),e.readChunks(v.body,h))}if(416===v.status){if(v.headers.has("Content-Range")){const t=v.headers.get("Content-Range").match(/\/(\d+)/);if(t){const r=parseInt(t[1],10);e.totalBytes=r}}return e.fail("416 Range Not Satisfiable")}return e.fail(v.statusText)}getHeaders(e,t){const r={};for(let n=0;n<t;n++){const t=l.getValue(e+4*n,"i32"),o=this._headers.get(t);r[o.key]=o.value}return r}createHeader(e,t,r,n){const o=l.UTF8ToString(e,t),i=l.UTF8ToString(r,n),a=this._nextHeaderHandle++;return this._headers.set(a,{key:o,value:i}),a}deleteHeader(e){return this._headers.delete(e)}},l.emscripten_ubq_opfs_writerCaches||(l.emscripten_ubq_opfs_writerCaches=new Map),l.emscripten_ubq_opfs_createWriterWorker=function(){const e=new Blob(["\n let handle = null;\n let currentUri = '';\n\n async function ensureWritableFileHandle(uri) {\n const path = uri.replace(/^opfs:\\/\\//, '');\n const parts = path.split('/').filter(Boolean);\n let dir = await navigator.storage.getDirectory();\n for (let i = 0; i < parts.length - 1; i++) {\n dir = await dir.getDirectoryHandle(parts[i], { create: true });\n }\n return dir.getFileHandle(parts[parts.length - 1], { create: true });\n }\n\n self.onmessage = async (ev) => {\n if (ev.data.open) {\n if (handle) {\n try {\n await handle.flush();\n handle.close();\n } catch (e) {\n console.warn('[OPFS Writer] Failed to close previous handle', e);\n }\n }\n try {\n currentUri = ev.data.uri || '';\n const fh = await ensureWritableFileHandle(currentUri);\n handle = await fh.createSyncAccessHandle({ mode: 'readwrite' });\n try {\n // Ensure we start from a clean slate; truncate to zero\n handle.truncate(0);\n } catch (e) {\n // Some browsers might not support truncate; ignore\n }\n // Debug logs removed\n self.postMessage({ ready: true });\n } catch (err) {\n console.error('[OPFS Writer] Failed to open SyncAccessHandle', err);\n handle = null;\n const message = (err && err.message) ? err.message : String(err);\n self.postMessage({ ready: false, error: message });\n }\n return;\n }\n\n if (ev.data.write) {\n const { offset, buf, tag } = ev.data.write;\n try {\n if (!handle) throw new Error('OPFS writer handle not initialized');\n const bytes = new Uint8Array(buf);\n // Debug logs removed\n handle.write(bytes, { at: offset });\n // Debug logs removed\n self.postMessage({ tag });\n } catch (e) {\n self.postMessage({ tag, error: e.toString() });\n }\n return;\n }\n\n if (ev.data.close) {\n try {\n // Debug logs removed\n await handle.flush();\n handle.close();\n } catch (e) {\n // ignore\n }\n self.postMessage({ closed: true });\n }\n };\n "],{type:"application/javascript"}),t=new Worker(URL.createObjectURL(e),{type:"module"});return{worker:t,post:e=>t.postMessage(e),get:()=>t}},l.emscripten_ubq_opfs_destroyWriterWorker=function(e){if(e)try{e.worker.terminate()}catch(e){}},l.emscripten_ubq_opfs_ensureWriteFile=async function(e,t){if(t.fileHandle)return t.fileHandle;if(t.openPromise)return t.openPromise;const r=e.replace(/^opfs:\/\//,"");return t.openPromise=(async()=>{const e=await navigator.storage.getDirectory(),n=r.split("/").filter(Boolean);let o=e;for(let e=0;e<n.length-1;e++){const t=n[e];o=await o.getDirectoryHandle(t,{create:!0})}const i=await o.getFileHandle(n[n.length-1],{create:!0});return t.fileHandle=i,i})(),t.openPromise},l.emscripten_ubq_opfs_ensureWriteWorker=function(e,t){return t.worker||(t.worker=l.emscripten_ubq_opfs_createWriterWorker()),t.worker};var p=[],h="./this.program",g=(e,t)=>{throw t};void 0!==n?r=n:d&&(r=self.location.href);var f,m,b="";if(u){var v=y("node:fs");b=o+"/",m=e=>(e=x(e)?new URL(e):e,v.readFileSync(e)),f=async(e,t=!0)=>(e=x(e)?new URL(e):e,v.readFileSync(e,t?void 0:"utf8")),process.argv.length>1&&(h=process.argv[1].replace(/\\/g,"/")),p=process.argv.slice(2),g=(e,t)=>{throw process.exitCode=e,t}}else if(c||d){try{b=new URL(".",r).href}catch{}d&&(m=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),f=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)}}var w,k,_,S,E=console.log.bind(console),C=console.error.bind(console),T=!1,x=e=>e.startsWith("file://");class EmscriptenEH{}class EmscriptenSjLj extends EmscriptenEH{}var P,A,F,M,I,D,R,B,L,O,U,q=!1;function W(){var e=z.buffer;I=new Int8Array(e),A=new Int16Array(e),l.HEAPU8=U=new Uint8Array(e),l.HEAPU16=B=new Uint16Array(e),F=new Int32Array(e),l.HEAPU32=L=new Uint32Array(e),l.HEAPF32=D=new Float32Array(e),l.HEAPF64=R=new Float64Array(e),M=new BigInt64Array(e),O=new BigUint64Array(e)}function H(e){l.onAbort?.(e),C(e=`Aborted(${e})`),T=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw S?.(t),t}function $(){return e="cesdk.wasm",l.locateFile?l.locateFile(e,b):b+e;var e}async function N(e){if(!w)try{var t=await f(e);return new Uint8Array(t)}catch{}return function(e){if(e==P&&w)return new Uint8Array(w);if(m)return m(e);throw"both async and sync fetching of the wasm failed"}(e)}async function V(e,t,r){if(!e&&!u)try{var n=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,r)}catch(e){C(`wasm streaming compile failed: ${e}`),C("falling back to ArrayBuffer instantiation")}return async function(e,t){try{var r=await N(e);return await WebAssembly.instantiate(r,t)}catch(e){C(`failed to asynchronously prepare wasm: ${e}`),H(e)}}(t,r)}class ExitStatus{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var z,G=globalThis.TextDecoder&&new TextDecoder,j=(e,t,r,n)=>{var o=t+r;if(n)return o;for(;e[t]&&!(t>=o);)++t;return t},X=(e,t=0,r,n)=>{var o=j(e,t,r,n);if(o-t>16&&e.buffer&&G)return G.decode(e.subarray(t,o));for(var i="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var l=63&e[t++];if((a=224==(240&a)?(15&a)<<12|s<<6|l:(7&a)<<18|s<<12|l<<6|63&e[t++])<65536)i+=String.fromCharCode(a);else{var c=a-65536;i+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i},Y=(e,t,r)=>e?X(U,e,t,r):"",K=e=>{for(;e.length>0;)e.shift()(l)},Q=[],Z=e=>Q.push(e),J=[],ee=e=>J.push(e),te=!0,re=e=>Dn(e),ne=()=>Bn(),oe=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n<=127?t++:n<=2047?t+=2:n>=55296&&n<=57343?(t+=4,++r):t+=3}return t},ie=(e,t,r,n)=>{if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a<e.length;++a){var s=e.codePointAt(a);if(s<=127){if(r>=i)break;t[r++]=s}else if(s<=2047){if(r+1>=i)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=i)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=i)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s,a++}}return t[r]=0,r-o},ae=(e,t,r)=>ie(e,U,t,r),se=e=>{var t=oe(e)+1,r=Tn(t);return r&&ae(e,r,t),r},le=[],ce=e=>(setTempRet0(0),0);class ExceptionInfo{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){L[this.ptr+4>>2]=e}get_type(){return L[this.ptr+4>>2]}set_destructor(e){L[this.ptr+8>>2]=e}get_destructor(){return L[this.ptr+8>>2]}set_caught(e){e=e?1:0,I[this.ptr+12]=e}get_caught(){return 0!=I[this.ptr+12]}set_rethrown(e){e=e?1:0,I[this.ptr+13]=e}get_rethrown(){return 0!=I[this.ptr+13]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){L[this.ptr+16>>2]=e}get_adjusted_ptr(){return L[this.ptr+16>>2]}}var de={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=de.isAbs(e),r="/"===e.slice(-1);return(e=de.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=de.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.slice(0,-1)),r+n):"."},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>de.normalize(e.join("/")),join2:(e,t)=>de.normalize(e+"/"+t)},ue=e=>(ue=e=>(crypto.getRandomValues(e),0))(e),pe={resolve:(...e)=>{for(var t="",r=!1,n=e.length-1;n>=-1&&!r;n--){var o=n>=0?e[n]:Pe.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";t=o+"/"+t,r=de.isAbs(o)}return(r?"/":"")+(t=de.normalizeArray(t.split("/").filter(e=>!!e),!r).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).slice(1),t=pe.resolve(t).slice(1);for(var n=r(e.split("/")),o=r(t.split("/")),i=Math.min(n.length,o.length),a=i,s=0;s<i;s++)if(n[s]!==o[s]){a=s;break}var l=[];for(s=a;s<n.length;s++)l.push("..");return(l=l.concat(o.slice(a))).join("/")}},he=[],ge=(e,t,r)=>{var n=r>0?r:oe(e)+1,o=new Array(n),i=ie(e,o,0,o.length);return t&&(o.length=i),o},fe={ttys:[],init(){},shutdown(){},register(e,t){fe.ttys[e]={input:[],output:[],ops:t},Pe.registerDevice(e,fe.stream_ops)},stream_ops:{open(e){var t=fe.ttys[e.node.rdev];if(!t)throw new Pe.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,n,o){if(!e.tty||!e.tty.ops.get_char)throw new Pe.ErrnoError(60);for(var i=0,a=0;a<n;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new Pe.ErrnoError(29)}if(void 0===s&&0===i)throw new Pe.ErrnoError(6);if(null==s)break;i++,t[r+a]=s}return i&&(e.node.atime=Date.now()),i},write(e,t,r,n,o){if(!e.tty||!e.tty.ops.put_char)throw new Pe.ErrnoError(60);try{for(var i=0;i<n;i++)e.tty.ops.put_char(e.tty,t[r+i])}catch(e){throw new Pe.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),i}},default_tty_ops:{get_char:e=>(()=>{if(!he.length){var e=null;if(u){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=v.readSync(n,t,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}r>0&&(e=t.slice(0,r).toString("utf-8"))}else globalThis.window?.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n");if(!e)return null;he=ge(e,!0)}return he.shift()})(),put_char(e,t){null===t||10===t?(E(X(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output?.length>0&&(E(X(e.output)),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?(C(X(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output?.length>0&&(C(X(e.output)),e.output=[])}}},me=(e,t)=>Math.ceil(e/t)*t,be=e=>{e=me(e,65536);var t=Mn(65536,e);return t&&((e,t)=>{U.fill(0,e,e+t)})(t,e),t},ye={ops_table:null,mount:e=>ye.createNode(null,"/",16895,0),createNode(e,t,r,n){if(Pe.isBlkdev(r)||Pe.isFIFO(r))throw new Pe.ErrnoError(63);ye.ops_table||={dir:{node:{getattr:ye.node_ops.getattr,setattr:ye.node_ops.setattr,lookup:ye.node_ops.lookup,mknod:ye.node_ops.mknod,rename:ye.node_ops.rename,unlink:ye.node_ops.unlink,rmdir:ye.node_ops.rmdir,readdir:ye.node_ops.readdir,symlink:ye.node_ops.symlink},stream:{llseek:ye.stream_ops.llseek}},file:{node:{getattr:ye.node_ops.getattr,setattr:ye.node_ops.setattr},stream:{llseek:ye.stream_ops.llseek,read:ye.stream_ops.read,write:ye.stream_ops.write,mmap:ye.stream_ops.mmap,msync:ye.stream_ops.msync}},link:{node:{getattr:ye.node_ops.getattr,setattr:ye.node_ops.setattr,readlink:ye.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ye.node_ops.getattr,setattr:ye.node_ops.setattr},stream:Pe.chrdev_stream_ops}};var o=Pe.createNode(e,t,r,n);return Pe.isDir(o.mode)?(o.node_ops=ye.ops_table.dir.node,o.stream_ops=ye.ops_table.dir.stream,o.contents={}):Pe.isFile(o.mode)?(o.node_ops=ye.ops_table.file.node,o.stream_ops=ye.ops_table.file.stream,o.usedBytes=0,o.contents=ye.emptyFileContents??=new Uint8Array(0)):Pe.isLink(o.mode)?(o.node_ops=ye.ops_table.link.node,o.stream_ops=ye.ops_table.link.stream):Pe.isChrdev(o.mode)&&(o.node_ops=ye.ops_table.chrdev.node,o.stream_ops=ye.ops_table.chrdev.stream),o.atime=o.mtime=o.ctime=Date.now(),e&&(e.contents[t]=o,e.atime=e.mtime=e.ctime=o.atime),o},getFileDataAsTypedArray:e=>e.contents.subarray(0,e.usedBytes),expandFileStorage(e,t){var r=e.contents.length;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),r&&(t=Math.max(t,256));var n=ye.getFileDataAsTypedArray(e);e.contents=new Uint8Array(t),e.contents.set(n)}},resizeFileStorage(e,t){if(e.usedBytes!=t){var r=e.contents;e.contents=new Uint8Array(t),e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Pe.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,Pe.isDir(e.mode)?t.size=4096:Pe.isFile(e.mode)?t.size=e.usedBytes:Pe.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){for(const r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&ye.resizeFileStorage(e,t.size)},lookup(e,t){throw ye.doesNotExistError||(ye.doesNotExistError=new Pe.ErrnoError(44),ye.doesNotExistError.stack="<generic error, no stack>"),ye.doesNotExistError},mknod:(e,t,r,n)=>ye.createNode(e,t,r,n),rename(e,t,r){var n;try{n=Pe.lookupNode(t,r)}catch(e){}if(n){if(Pe.isDir(e.mode))for(var o in n.contents)throw new Pe.ErrnoError(55);Pe.hashRemoveNode(n)}delete e.parent.contents[e.name],t.contents[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.contents[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r=Pe.lookupNode(e,t);for(var n in r.contents)throw new Pe.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.contents)],symlink(e,t,r){var n=ye.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!Pe.isLink(e.mode))throw new Pe.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,o){var i=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,n);return t.set(i.subarray(o,o+a),r),a},write(e,t,r,n,o,i){if(t.buffer===I.buffer&&(i=!1),!n)return 0;var a=e.node;return a.mtime=a.ctime=Date.now(),i?(a.contents=t.subarray(r,r+n),a.usedBytes=n):0===a.usedBytes&&0===o?(a.contents=t.slice(r,r+n),a.usedBytes=n):(ye.expandFileStorage(a,o+n),a.contents.set(t.subarray(r,r+n),o),a.usedBytes=Math.max(a.usedBytes,o+n)),n},llseek(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&Pe.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new Pe.ErrnoError(28);return n},mmap(e,t,r,n,o){if(!Pe.isFile(e.node.mode))throw new Pe.ErrnoError(43);var i,a,s=e.node.contents;if(2&o||s.buffer!==I.buffer){if(a=!0,!(i=be(t)))throw new Pe.ErrnoError(48);s&&((r>0||r+t<s.length)&&(s=s.subarray?s.subarray(r,r+t):Array.prototype.slice.call(s,r,r+t)),I.set(s,i))}else a=!1,i=s.byteOffset;return{ptr:i,allocated:a}},msync:(e,t,r,n,o)=>(ye.stream_ops.write(e,t,0,n,r,!1),0)}},ve=e=>("string"==typeof e&&(e=ge(e,!0)),e.subarray||(e=new Uint8Array(e)),e),we=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ke=(...e)=>Pe.createDataFile(...e),_e=0,Se=null,Ee=e=>{if(_e--,l.monitorRunDependencies?.(_e),0==_e&&Se){var t=Se;Se=null,t()}},Ce=e=>{_e++,l.monitorRunDependencies?.(_e)},Te=[],xe=async(e,t,r,n,o,i,a,s)=>{var l=t?pe.resolve(de.join2(e,t)):e;Ce();try{var c=r;"string"==typeof r&&(c=await(async e=>{var t=await f(e);return new Uint8Array(t)})(r)),c=await(async(e,t)=>{for(var r of(void 0!==or&&or.init(),Te))if(r.canHandle(t))return r.handle(e,t);return e})(c,l),s?.(),i||ke(e,t,c,n,o,a)}finally{Ee()}},Pe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(e){this.errno=e}},FSStream:class{shared={};get object(){return this.node}set object(e){this.node=e}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.id=Pe.nextInode++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return Pe.isDir(this.mode)}get isDevice(){return Pe.isChrdev(this.mode)}},lookupPath(e,t={}){if(!e)throw new Pe.ErrnoError(44);t.follow_mount??=!0,de.isAbs(e)||(e=Pe.cwd()+"/"+e);e:for(var r=0;r<40;r++){for(var n=e.split("/").filter(e=>!!e),o=Pe.root,i="/",a=0;a<n.length;a++){var s=a===n.length-1;if(s&&t.parent)break;if("."!==n[a])if(".."!==n[a]){i=de.join2(i,n[a]);try{o=Pe.lookupNode(o,n[a])}catch(e){if(44===e?.errno&&s&&t.noent_okay)return{path:i};throw e}if(!Pe.isMountpoint(o)||s&&!t.follow_mount||(o=o.mounted.root),Pe.isLink(o.mode)&&(!s||t.follow)){if(!o.node_ops.readlink)throw new Pe.ErrnoError(52);var l=o.node_ops.readlink(o);de.isAbs(l)||(l=de.dirname(i)+"/"+l),e=l+"/"+n.slice(a+1).join("/");continue e}}else{if(i=de.dirname(i),Pe.isRoot(o)){e=i+"/"+n.slice(a+1).join("/"),r--;continue e}o=o.parent}}return{path:i,node:o}}throw new Pe.ErrnoError(32)},getPath(e){for(var t;;){if(Pe.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,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%Pe.nameTable.length},hashAddNode(e){var t=Pe.hashName(e.parent.id,e.name);e.name_next=Pe.nameTable[t],Pe.nameTable[t]=e},hashRemoveNode(e){var t=Pe.hashName(e.parent.id,e.name);if(Pe.nameTable[t]===e)Pe.nameTable[t]=e.name_next;else for(var r=Pe.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Pe.mayLookup(e);if(r)throw new Pe.ErrnoError(r);for(var n=Pe.hashName(e.id,t),o=Pe.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===t)return o}return Pe.lookup(e,t)},createNode(e,t,r,n){var o=new Pe.FSNode(e,t,r,n);return Pe.hashAddNode(o),o},destroyNode(e){Pe.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Pe.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!Pe.isDir(e.mode))return 54;var t=Pe.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){if(!Pe.isDir(e.mode))return 54;try{return Pe.lookupNode(e,t),20}catch(e){}return Pe.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=Pe.lookupNode(e,t)}catch(e){return e.errno}var o=Pe.nodePermissions(e,"wx");if(o)return o;if(r){if(!Pe.isDir(n.mode))return 54;if(Pe.isRoot(n)||Pe.getPath(n)===Pe.cwd())return 10}else if(Pe.isDir(n.mode))return 31;return 0},mayOpen(e,t){if(!e)return 44;if(Pe.isLink(e.mode))return 32;var r=Pe.flagsToPermissionString(t);return Pe.isDir(e.mode)&&("r"!==r||576&t)?31:Pe.nodePermissions(e,r)},checkOpExists(e,t){if(!e)throw new Pe.ErrnoError(t);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Pe.MAX_OPEN_FDS;e++)if(!Pe.streams[e])return e;throw new Pe.ErrnoError(33)},getStreamChecked(e){var t=Pe.getStream(e);if(!t)throw new Pe.ErrnoError(8);return t},getStream:e=>Pe.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new Pe.FSStream,e),-1==t&&(t=Pe.nextfd()),e.fd=t,Pe.streams[t]=e,e),closeStream(e){Pe.streams[e]=null},dupStream(e,t=-1){var r=Pe.createStream(e,t);return r.stream_ops?.dup?.(r),r},doSetAttr(e,t,r){var n=e?.stream_ops.setattr,o=n?e:t;n??=t.node_ops.setattr,Pe.checkOpExists(n,63);try{n(o,r)}catch(e){if(e instanceof RangeError)throw new Pe.ErrnoError(22);throw e}},chrdev_stream_ops:{open(e){var t=Pe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new Pe.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Pe.devices[e]={stream_ops:t}},getDevice:e=>Pe.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push(...n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Pe.syncFSRequests++,Pe.syncFSRequests>1&&C(`warning: ${Pe.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Pe.getMounts(Pe.root.mount),n=0;function o(e){return Pe.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=r.length&&o(null)}for(var a of r)a.type.syncfs?a.type.syncfs(a,e,i):i(null)},mount(e,t,r){var n,o="/"===r,i=!r;if(o&&Pe.root)throw new Pe.ErrnoError(10);if(!o&&!i){var a=Pe.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,Pe.isMountpoint(n))throw new Pe.ErrnoError(10);if(!Pe.isDir(n.mode))throw new Pe.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,o?Pe.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount(e){var t=Pe.lookupPath(e,{follow_mount:!1});if(!Pe.isMountpoint(t.node))throw new Pe.ErrnoError(28);var r=t.node,n=r.mounted,o=Pe.getMounts(n);for(var[i,a]of Object.entries(Pe.nameTable))for(;a;){var s=a.name_next;o.includes(a.mount)&&Pe.destroyNode(a),a=s}r.mounted=null;var l=r.mount.mounts.indexOf(n);r.mount.mounts.splice(l,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=Pe.lookupPath(e,{parent:!0}).node,o=de.basename(e);if(!o)throw new Pe.ErrnoError(28);if("."===o||".."===o)throw new Pe.ErrnoError(20);var i=Pe.mayCreate(n,o);if(i)throw new Pe.ErrnoError(i);if(!n.node_ops.mknod)throw new Pe.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},statfs:e=>Pe.statfsNode(Pe.lookupPath(e,{follow:!0}).node),statfsStream:e=>Pe.statfsNode(e.node),statfsNode(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:Pe.nextInode,ffree:Pe.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(t,e.node_ops.statfs(e.mount.opts.root)),t},create:(e,t=438)=>(t&=4095,t|=32768,Pe.mknod(e,t,0)),mkdir:(e,t=511)=>(t&=1023,t|=16384,Pe.mknod(e,t,0)),mkdirTree(e,t){var r=e.split("/"),n="";for(var o of r)if(o){(n||de.isAbs(e))&&(n+="/"),n+=o;try{Pe.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,Pe.mknod(e,t,r)),symlink(e,t){if(!pe.resolve(e))throw new Pe.ErrnoError(44);var r=Pe.lookupPath(t,{parent:!0}).node;if(!r)throw new Pe.ErrnoError(44);var n=de.basename(t),o=Pe.mayCreate(r,n);if(o)throw new Pe.ErrnoError(o);if(!r.node_ops.symlink)throw new Pe.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,o=de.dirname(e),i=de.dirname(t),a=de.basename(e),s=de.basename(t);if(r=Pe.lookupPath(e,{parent:!0}).node,n=Pe.lookupPath(t,{parent:!0}).node,!r||!n)throw new Pe.ErrnoError(44);if(r.mount!==n.mount)throw new Pe.ErrnoError(75);var l,c=Pe.lookupNode(r,a),d=pe.relative(e,i);if("."!==d.charAt(0))throw new Pe.ErrnoError(28);if("."!==(d=pe.relative(t,o)).charAt(0))throw new Pe.ErrnoError(55);try{l=Pe.lookupNode(n,s)}catch(e){}if(c!==l){var u=Pe.isDir(c.mode),p=Pe.mayDelete(r,a,u);if(p)throw new Pe.ErrnoError(p);if(p=l?Pe.mayDelete(n,s,u):Pe.mayCreate(n,s))throw new Pe.ErrnoError(p);if(!r.node_ops.rename)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(c)||l&&Pe.isMountpoint(l))throw new Pe.ErrnoError(10);if(n!==r&&(p=Pe.nodePermissions(r,"w")))throw new Pe.ErrnoError(p);Pe.hashRemoveNode(c);try{r.node_ops.rename(c,n,s),c.parent=n}catch(e){throw e}finally{Pe.hashAddNode(c)}}},rmdir(e){var t=Pe.lookupPath(e,{parent:!0}).node,r=de.basename(e),n=Pe.lookupNode(t,r),o=Pe.mayDelete(t,r,!0);if(o)throw new Pe.ErrnoError(o);if(!t.node_ops.rmdir)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(n))throw new Pe.ErrnoError(10);t.node_ops.rmdir(t,r),Pe.destroyNode(n)},readdir(e){var t=Pe.lookupPath(e,{follow:!0}).node;return Pe.checkOpExists(t.node_ops.readdir,54)(t)},unlink(e){var t=Pe.lookupPath(e,{parent:!0}).node;if(!t)throw new Pe.ErrnoError(44);var r=de.basename(e),n=Pe.lookupNode(t,r),o=Pe.mayDelete(t,r,!1);if(o)throw new Pe.ErrnoError(o);if(!t.node_ops.unlink)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(n))throw new Pe.ErrnoError(10);t.node_ops.unlink(t,r),Pe.destroyNode(n)},readlink(e){var t=Pe.lookupPath(e).node;if(!t)throw new Pe.ErrnoError(44);if(!t.node_ops.readlink)throw new Pe.ErrnoError(28);return t.node_ops.readlink(t)},stat(e,t){var r=Pe.lookupPath(e,{follow:!t}).node;return Pe.checkOpExists(r.node_ops.getattr,63)(r)},fstat(e){var t=Pe.getStreamChecked(e),r=t.node,n=t.stream_ops.getattr,o=n?t:r;return n??=r.node_ops.getattr,Pe.checkOpExists(n,63),n(o)},lstat:e=>Pe.stat(e,!0),doChmod(e,t,r,n){Pe.doSetAttr(e,t,{mode:4095&r|-4096&t.mode,ctime:Date.now(),dontFollow:n})},chmod(e,t,r){var n;n="string"==typeof e?Pe.lookupPath(e,{follow:!r}).node:e,Pe.doChmod(null,n,t,r)},lchmod(e,t){Pe.chmod(e,t,!0)},fchmod(e,t){var r=Pe.getStreamChecked(e);Pe.doChmod(r,r.node,t,!1)},doChown(e,t,r){Pe.doSetAttr(e,t,{timestamp:Date.now(),dontFollow:r})},chown(e,t,r,n){var o;o="string"==typeof e?Pe.lookupPath(e,{follow:!n}).node:e,Pe.doChown(null,o,n)},lchown(e,t,r){Pe.chown(e,t,r,!0)},fchown(e,t,r){var n=Pe.getStreamChecked(e);Pe.doChown(n,n.node,!1)},doTruncate(e,t,r){if(Pe.isDir(t.mode))throw new Pe.ErrnoError(31);if(!Pe.isFile(t.mode))throw new Pe.ErrnoError(28);var n=Pe.nodePermissions(t,"w");if(n)throw new Pe.ErrnoError(n);Pe.doSetAttr(e,t,{size:r,timestamp:Date.now()})},truncate(e,t){if(t<0)throw new Pe.ErrnoError(28);var r;r="string"==typeof e?Pe.lookupPath(e,{follow:!0}).node:e,Pe.doTruncate(null,r,t)},ftruncate(e,t){var r=Pe.getStreamChecked(e);if(t<0||!(2097155&r.flags))throw new Pe.ErrnoError(28);Pe.doTruncate(r,r.node,t)},utime(e,t,r){var n=Pe.lookupPath(e,{follow:!0}).node;Pe.checkOpExists(n.node_ops.setattr,63)(n,{atime:t,mtime:r})},open(e,t,r=438){if(""===e)throw new Pe.ErrnoError(44);var n,o;if(r=64&(t=(e=>{if("string"!=typeof e)return 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))?4095&r|32768:0,"object"==typeof e)n=e;else{o=e.endsWith("/");var i=Pe.lookupPath(e,{follow:!(131072&t),noent_okay:!0});n=i.node,e=i.path}var a=!1;if(64&t)if(n){if(128&t)throw new Pe.ErrnoError(20)}else{if(o)throw new Pe.ErrnoError(31);n=Pe.mknod(e,511|r,0),a=!0}if(!n)throw new Pe.ErrnoError(44);if(Pe.isChrdev(n.mode)&&(t&=-513),65536&t&&!Pe.isDir(n.mode))throw new Pe.ErrnoError(54);if(!a){var s=Pe.mayOpen(n,t);if(s)throw new Pe.ErrnoError(s)}512&t&&!a&&Pe.truncate(n,0),t&=-131713;var c=Pe.createStream({node:n,path:Pe.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return c.stream_ops.open&&c.stream_ops.open(c),a&&Pe.chmod(n,511&r),!l.logReadFiles||1&t||e in Pe.readFiles||(Pe.readFiles[e]=1,C(`read file: ${e}`)),c},close(e){if(Pe.isClosed(e))throw new Pe.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Pe.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Pe.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Pe.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,o){if(n<0||o<0)throw new Pe.ErrnoError(28);if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(1==(2097155&e.flags))throw new Pe.ErrnoError(8);if(Pe.isDir(e.node.mode))throw new Pe.ErrnoError(31);if(!e.stream_ops.read)throw new Pe.ErrnoError(28);var i=void 0!==o;if(i){if(!e.seekable)throw new Pe.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,n,o);return i||(e.position+=a),a},write(e,t,r,n,o,i){if(n<0||o<0)throw new Pe.ErrnoError(28);if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(!(2097155&e.flags))throw new Pe.ErrnoError(8);if(Pe.isDir(e.node.mode))throw new Pe.ErrnoError(31);if(!e.stream_ops.write)throw new Pe.ErrnoError(28);e.seekable&&1024&e.flags&&Pe.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new Pe.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,n,o,i);return a||(e.position+=s),s},mmap(e,t,r,n,o){if(2&n&&!(2&o)&&2!=(2097155&e.flags))throw new Pe.ErrnoError(2);if(1==(2097155&e.flags))throw new Pe.ErrnoError(2);if(!e.stream_ops.mmap)throw new Pe.ErrnoError(43);if(!t)throw new Pe.ErrnoError(28);return e.stream_ops.mmap(e,t,r,n,o)},msync:(e,t,r,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,o):0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Pe.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){t.flags=t.flags??0,t.encoding=t.encoding??"binary","utf8"!==t.encoding&&"binary"!==t.encoding&&H(`Invalid encoding type "${t.encoding}"`);var r=Pe.open(e,t.flags),n=Pe.stat(e).size,o=new Uint8Array(n);return Pe.read(r,o,0,n,0),"utf8"===t.encoding&&(o=X(o)),Pe.close(r),o},writeFile(e,t,r={}){r.flags=r.flags??577;var n=Pe.open(e,r.flags,r.mode);t=ve(t),Pe.write(n,t,0,t.byteLength,void 0,r.canOwn),Pe.close(n)},cwd:()=>Pe.currentPath,chdir(e){var t=Pe.lookupPath(e,{follow:!0});if(null===t.node)throw new Pe.ErrnoError(44);if(!Pe.isDir(t.node.mode))throw new Pe.ErrnoError(54);var r=Pe.nodePermissions(t.node,"x");if(r)throw new Pe.ErrnoError(r);Pe.currentPath=t.path},createDefaultDirectories(){Pe.mkdir("/tmp"),Pe.mkdir("/home"),Pe.mkdir("/home/web_user")},createDefaultDevices(){Pe.mkdir("/dev"),Pe.registerDevice(Pe.makedev(1,3),{read:()=>0,write:(e,t,r,n,o)=>n,llseek:()=>0}),Pe.mkdev("/dev/null",Pe.makedev(1,3)),fe.register(Pe.makedev(5,0),fe.default_tty_ops),fe.register(Pe.makedev(6,0),fe.default_tty1_ops),Pe.mkdev("/dev/tty",Pe.makedev(5,0)),Pe.mkdev("/dev/tty1",Pe.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(ue(e),t=e.byteLength),e[--t]);Pe.createDevice("/dev","random",r),Pe.createDevice("/dev","urandom",r),Pe.mkdir("/dev/shm"),Pe.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Pe.mkdir("/proc");var e=Pe.mkdir("/proc/self");Pe.mkdir("/proc/self/fd"),Pe.mount({mount(){var t=Pe.createNode(e,"fd",16895,73);return t.stream_ops={llseek:ye.stream_ops.llseek},t.node_ops={lookup(e,t){var r=+t,n=Pe.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:r+1};return o.parent=o,o},readdir:()=>Array.from(Pe.streams.entries()).filter(([e,t])=>t).map(([e,t])=>e.toString())},t}},{},"/proc/self/fd")},createStandardStreams(e,t,r){e?Pe.createDevice("/dev","stdin",e):Pe.symlink("/dev/tty","/dev/stdin"),t?Pe.createDevice("/dev","stdout",null,t):Pe.symlink("/dev/tty","/dev/stdout"),r?Pe.createDevice("/dev","stderr",null,r):Pe.symlink("/dev/tty1","/dev/stderr"),Pe.open("/dev/stdin",0),Pe.open("/dev/stdout",1),Pe.open("/dev/stderr",1)},staticInit(){Pe.nameTable=new Array(4096),Pe.mount(ye,{},"/"),Pe.createDefaultDirectories(),Pe.createDefaultDevices(),Pe.createSpecialDirectories(),Pe.filesystems={MEMFS:ye}},init(e,t,r){Pe.initialized=!0,e??=l.stdin,t??=l.stdout,r??=l.stderr,Pe.createStandardStreams(e,t,r)},quit(){for(var e of(Pe.initialized=!1,Pe.streams))e&&Pe.close(e)},findObject(e,t){var r=Pe.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(n=Pe.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 n=Pe.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=de.basename(e),n=Pe.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot="/"===n.path}catch(e){r.error=e.errno}return r},createPath(e,t,r,n){e="string"==typeof e?e:Pe.getPath(e);for(var o=t.split("/").reverse();o.length;){var i=o.pop();if(i){var a=de.join2(e,i);try{Pe.mkdir(a)}catch(e){if(20!=e.errno)throw e}e=a}}return a},createFile(e,t,r,n,o){var i=de.join2("string"==typeof e?e:Pe.getPath(e),t),a=we(n,o);return Pe.create(i,a)},createDataFile(e,t,r,n,o,i){var a=t;e&&(e="string"==typeof e?e:Pe.getPath(e),a=t?de.join2(e,t):e);var s=we(n,o),l=Pe.create(a,s);if(r){r=ve(r),Pe.chmod(l,146|s);var c=Pe.open(l,577);Pe.write(c,r,0,r.length,0,i),Pe.close(c),Pe.chmod(l,s)}},createDevice(e,t,r,n){var o=de.join2("string"==typeof e?e:Pe.getPath(e),t),i=we(!!r,!!n);Pe.createDevice.major??=64;var a=Pe.makedev(Pe.createDevice.major++,0);return Pe.registerDevice(a,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,t,n,o,i){for(var a=0,s=0;s<o;s++){var l;try{l=r()}catch(e){throw new Pe.ErrnoError(29)}if(void 0===l&&0===a)throw new Pe.ErrnoError(6);if(null==l)break;a++,t[n+s]=l}return a&&(e.node.atime=Date.now()),a},write(e,t,r,o,i){for(var a=0;a<o;a++)try{n(t[r+a])}catch(e){throw new Pe.ErrnoError(29)}return o&&(e.node.mtime=e.node.ctime=Date.now()),a}}),Pe.mkdev(o,i,a)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(globalThis.XMLHttpRequest)H("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.");else try{e.contents=m(e.url)}catch(e){throw new Pe.ErrnoError(29)}},createLazyFile(e,t,r,n,o){class LazyUint8Array{lengthKnown=!1;chunks=[];get(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;e.open("HEAD",r,!1),e.send(null),e.status>=200&&e.status<300||304===e.status||H("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=n);var s=this;s.setDataGetter(e=>{var t=e*a,o=(e+1)*a-1;return o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,t)=>{e>t&&H(`invalid range (${e}, ${t}) or no bytes requested!`),t>n-1&&H(`only ${n} bytes available! programmer error!`);var o=new XMLHttpRequest;return o.open("GET",r,!1),n!==a&&o.setRequestHeader("Range","bytes="+e+"-"+t),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),o.status>=200&&o.status<300||304===o.status||H("Couldn't load "+r+". Status: "+o.status),void 0!==o.response?new Uint8Array(o.response||[]):ge(o.responseText??"",!0)})(t,o)),void 0===s.chunks[e]&&H("doXHR failed!"),s.chunks[e]}),!i&&n||(a=n=1,n=this.getter(0).length,a=n,E("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){d||H("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var i={isDevice:!1,contents:new LazyUint8Array}}else i={isDevice:!1,url:r};var a=Pe.createFile(e,t,i,n,o);i.contents?a.contents=i.contents:i.url&&(a.contents=null,a.url=i.url),Object.defineProperties(a,{usedBytes:{get:function(){return this.contents.length}}});var s={};for(const[e,t]of Object.entries(a.stream_ops))s[e]=(...e)=>(Pe.forceLoadFile(a),t(...e));function l(e,t,r,n,o){var i=e.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(i.slice)for(var s=0;s<a;s++)t[r+s]=i[o+s];else for(s=0;s<a;s++)t[r+s]=i.get(o+s);return a}return s.read=(e,t,r,n,o)=>(Pe.forceLoadFile(a),l(e,t,r,n,o)),s.mmap=(e,t,r,n,o)=>{Pe.forceLoadFile(a);var i=be(t);if(!i)throw new Pe.ErrnoError(48);return l(e,I,i,t,r),{ptr:i,allocated:!0}},a.stream_ops=s,a}},Ae={currentUmask:18,calculateAt(e,t,r){if(de.isAbs(t))return t;var n;if(n=-100===e?Pe.cwd():Ae.getStreamFromFD(e).path,0==t.length){if(!r)throw new Pe.ErrnoError(44);return n}return n+"/"+t},writeStat(e,t){L[e>>2]=t.dev,L[e+4>>2]=t.mode,L[e+8>>2]=t.nlink,L[e+12>>2]=t.uid,L[e+16>>2]=t.gid,L[e+20>>2]=t.rdev,M[e+24>>3]=BigInt(t.size),F[e+32>>2]=4096,F[e+36>>2]=t.blocks;var r=t.atime.getTime(),n=t.mtime.getTime(),o=t.ctime.getTime();return M[e+40>>3]=BigInt(Math.floor(r/1e3)),L[e+48>>2]=r%1e3*1e3*1e3,M[e+56>>3]=BigInt(Math.floor(n/1e3)),L[e+64>>2]=n%1e3*1e3*1e3,M[e+72>>3]=BigInt(Math.floor(o/1e3)),L[e+80>>2]=o%1e3*1e3*1e3,M[e+88>>3]=BigInt(t.ino),0},writeStatFs(e,t){L[e+4>>2]=t.bsize,L[e+60>>2]=t.bsize,M[e+8>>3]=BigInt(t.blocks),M[e+16>>3]=BigInt(t.bfree),M[e+24>>3]=BigInt(t.bavail),M[e+32>>3]=BigInt(t.files),M[e+40>>3]=BigInt(t.ffree),L[e+48>>2]=t.fsid,L[e+64>>2]=t.flags,L[e+56>>2]=t.namelen},doMsync(e,t,r,n,o){if(!Pe.isFile(t.node.mode))throw new Pe.ErrnoError(43);if(2&n)return 0;var i=U.slice(e,e+r);Pe.msync(t,i,o,r,n)},getStreamFromFD:e=>Pe.getStreamChecked(e),varargs:void 0,getStr:e=>Y(e)},Fe=()=>{var e=F[+Ae.varargs>>2];return Ae.varargs+=4,e},Me=Fe,Ie={},De=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Re(e){return this.fromWireType(L[e>>2])}var Be={},Le={},Oe={},Ue=class InternalError extends Error{constructor(e){super(e),this.name="InternalError"}},qe=e=>{throw new Ue(e)},We=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&qe("Mismatched type converter count");for(var o=0;o<e.length;++o)ze(e[o],n[o])}e.forEach(e=>Oe[e]=t);var o=new Array(t.length),i=[],a=0;for(let[e,r]of t.entries())Le.hasOwnProperty(r)?o[e]=Le[r]:(i.push(r),Be.hasOwnProperty(r)||(Be[r]=[]),Be[r].push(()=>{o[e]=Le[r],++a===i.length&&n(o)}));0===i.length&&n(o)},He={},$e=e=>{for(var t="";;){var r=U[e++];if(!r)return t;t+=String.fromCharCode(r)}},Ne=class BindingError extends Error{constructor(e){super(e),this.name="BindingError"}},Ve=e=>{throw new Ne(e)};function ze(e,t,r={}){return function(e,t,r={}){var n=t.name;if(e||Ve(`type "${n}" must have a positive integer typeid pointer`),Le.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ve(`Cannot register type '${n}' twice`)}if(Le[e]=t,delete Oe[e],Be.hasOwnProperty(e)){var o=Be[e];delete Be[e],o.forEach(e=>e())}}(e,t,r)}var Ge=(e,t,r)=>{switch(t){case 1:return r?e=>I[e]:e=>U[e];case 2:return r?e=>A[e>>1]:e=>B[e>>1];case 4:return r?e=>F[e>>2]:e=>L[e>>2];case 8:return r?e=>M[e>>3]:e=>O[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},je=e=>{Ve(e.$$.ptrType.registeredClass.name+" instance already deleted")},Xe=!1,Ye=e=>{},Ke=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=>globalThis.FinalizationRegistry?(Xe=new FinalizationRegistry(e=>{Ke(e.$$)}),Ye=e=>Xe.unregister(e),(Qe=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Xe.register(e,r,e)}return e})(e)):(Qe=e=>e,e),Ze=[];function Je(){}var et=(e,t)=>Object.defineProperty(t,"name",{value:e}),tt={},rt=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(...n){return e[t].overloadTable.hasOwnProperty(n.length)||Ve(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[n.length].apply(this,n)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},nt=(e,t,r)=>{l.hasOwnProperty(e)?((void 0===r||void 0!==l[e].overloadTable&&void 0!==l[e].overloadTable[r])&&Ve(`Cannot register public name '${e}' twice`),rt(l,e,e),l[e].overloadTable.hasOwnProperty(r)&&Ve(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),l[e].overloadTable[r]=t):(l[e]=t,l[e].argCount=r)};function ot(e,t,r,n,o,i,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}var it=(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},at=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e};function st(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${at(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 it(t.$$.ptr,r,this.registeredClass)}function lt(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 "${at(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 n=t.$$.ptrType.registeredClass;if(r=it(t.$$.ptr,n,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 o=t.clone();r=this.rawShare(r,Pt.toHandle(()=>o.delete())),null!==e&&e.push(this.rawDestructor,r)}break;default:Ve("Unsupported sharing policy")}return r}function ct(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${at(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 it(t.$$.ptr,r,this.registeredClass)}var dt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=dt(e,t,r.baseClass);return null===n?null:r.downcast(n)},ut={},pt=(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),ut[t]),ht=(e,t)=>(t.ptrType&&t.ptr||qe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&qe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Qe(Object.create(e,{$$:{value:t,writable:!0}})));function gt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=pt(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?ht(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ht(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,a=this.registeredClass.getActualType(t),s=tt[a];if(!s)return o.call(this);i=this.isConst?s.constPointerType:s.pointerType;var l=dt(t,this.registeredClass,i.registeredClass);return null===l?o.call(this):this.isSmartPointer?ht(i.registeredClass.instancePrototype,{ptrType:i,ptr:l,smartPtrType:this,smartPtr:e}):ht(i.registeredClass.instancePrototype,{ptrType:i,ptr:l})}function ft(e,t,r,n,o,i,a,s,l,c,d){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=l,this.rawShare=c,this.rawDestructor=d,o||void 0!==t.baseClass?this.toWireType=lt:n?(this.toWireType=st,this.destructorFunction=null):(this.toWireType=ct,this.destructorFunction=null)}var mt=(e,t,r)=>{l.hasOwnProperty(e)||qe("Replacing nonexistent public symbol"),void 0!==l[e].overloadTable&&void 0!==r?l[e].overloadTable[r]=t:(l[e]=t,l[e].argCount=r)},bt=[],yt=e=>{var t=bt[e];return t||(bt[e]=t=Un.get(e)),t},vt=(e,t,r=!1)=>{e=$e(e);var n=yt(t);return"function"!=typeof n&&Ve(`unknown function pointer with signature ${e}: ${t}`),n};class UnboundTypeError extends Error{}var wt=e=>{var t=Cn(e),r=$e(t);return xn(t),r},kt=(e,t)=>{var r=[],n={};throw t.forEach(function e(t){n[t]||Le[t]||(Oe[t]?Oe[t].forEach(e):(r.push(t),n[t]=!0))}),new UnboundTypeError(`${e}: `+r.map(wt).join([", "]))},_t=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(L[t+4*n>>2]);return r};function St(e,t,r,n,o,i){var a=t.length;a<2&&Ve("argTypes array size mismatch! Must at least get return value and 'this' types!");var s=null!==t[1]&&null!==r,l=function(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}(t),c=!t[0].isVoid,d=a-2,u=new Array(d),p=[],h=[];return et(e,function(...e){var r;h.length=0,p.length=s?2:1,p[0]=o,s&&(r=t[1].toWireType(h,this),p[1]=r);for(var i=0;i<d;++i)u[i]=t[i+2].toWireType(h,e[i]),p.push(u[i]);return function(e){if(l)De(h);else for(var n=s?1:2;n<t.length;n++){var o=1===n?r:u[n-2];null!==t[n].destructorFunction&&t[n].destructorFunction(o)}if(c)return t[0].fromWireType(e)}(n(...p))})}var Et=e=>{const t=(e=e.trim()).indexOf("(");return-1===t?e:e.slice(0,t)},Ct=[],Tt=[0,1,,1,null,1,!0,1,!1,1],xt=e=>{e>9&&0===--Tt[e+1]&&(Tt[e],Tt[e]=void 0,Ct.push(e))},Pt={toValue:e=>(e||Ve(`Cannot use deleted val. handle = ${e}`),Tt[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const t=Ct.pop()||Tt.length;return Tt[t]=e,Tt[t+1]=1,t}}}},At={name:"emscripten::val",fromWireType:e=>{var t=Pt.toValue(e);return xt(e),t},toWireType:(e,t)=>Pt.toHandle(t),readValueFromPointer:Re,destructorFunction:null},Ft=(e,t,r)=>{switch(t){case 1:return r?function(e){return this.fromWireType(I[e])}:function(e){return this.fromWireType(U[e])};case 2:return r?function(e){return this.fromWireType(A[e>>1])}:function(e){return this.fromWireType(B[e>>1])};case 4:return r?function(e){return this.fromWireType(F[e>>2])}:function(e){return this.fromWireType(L[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Mt=(e,t)=>{var r=Le[e];return void 0===r&&Ve(`${t} has unknown type ${wt(e)}`),r},It=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(D[e>>2])};case 8:return function(e){return this.fromWireType(R[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Dt=(e,t,r)=>{const n=(e,t)=>{let r=0;return{next(){if(r>=e)return{done:!0};const n=r;return r++,{value:t(n),done:!1}},[Symbol.iterator](){return this}}};e[Symbol.iterator]||(e[Symbol.iterator]=function(){const e=this[t]();return n(e,e=>this[r](e))})},Rt=Object.assign({optional:!0},At),Bt=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Lt=(e,t,r)=>{var n=e>>1,o=j(B,n,t/2,r);if(o-n>16&&Bt)return Bt.decode(B.subarray(n,o));for(var i="",a=n;a<o;++a){var s=B[a];i+=String.fromCharCode(s)}return i},Ot=(e,t,r)=>{if(r??=2147483647,r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i<o;++i){var a=e.charCodeAt(i);A[t>>1]=a,t+=2}return A[t>>1]=0,t-n},Ut=e=>2*e.length,qt=(e,t,r)=>{for(var n="",o=e>>2,i=0;!(i>=t/4);i++){var a=L[o+i];if(!a&&!r)break;n+=String.fromCodePoint(a)}return n},Wt=(e,t,r)=>{if(r??=2147483647,r<4)return 0;for(var n=t,o=n+r-4,i=0;i<e.length;++i){var a=e.codePointAt(i);if(a>65535&&i++,F[t>>2]=a,(t+=4)+4>o)break}return F[t>>2]=0,t-n},Ht=e=>{for(var t=0,r=0;r<e.length;++r)e.codePointAt(r)>65535&&r++,t+=4;return t},$t=[],Nt={},Vt=e=>{var t=Nt[e];return void 0===t?$e(e):t},zt=e=>e<-9007199254740992||e>9007199254740992?NaN:Number(e),Gt=[0,31,60,91,121,152,182,213,244,274,305,335],jt=[0,31,59,90,120,151,181,212,243,273,304,334],Xt=e=>{var t;return((t=e.getFullYear())%4!=0||t%100==0&&t%400!=0?jt:Gt)[e.getMonth()]+e.getDate()-1},Yt=()=>Date.now(),Kt=e=>{if(e instanceof ExitStatus||"unwind"==e)return k;g(1,e)},Qt=()=>te||!1,Zt=(e,t)=>{var r;k=e,k=r=e,Qt()||(l.onExit?.(r),T=!0),g(r,new ExitStatus(r))},Jt=Zt,er=e=>{if(!T)try{return e()}catch(e){Kt(e)}finally{(()=>{if(!Qt())try{Jt(k)}catch(e){Kt(e)}})()}};function tr(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement||document.msFullscreenElement}var rr,nr=(e,t)=>setTimeout(()=>{er(e)},t),or={useWebGL:!1,isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],preloadedImages:{},preloadedAudios:{},getCanvas:()=>l.canvas,init(){if(!or.initted){or.initted=!0;var e={canHandle:e=>!l.noImageDecoding&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(e),handle:async(e,t)=>{var r=new Blob([e],{type:or.getMimetype(t)});r.size!==e.length&&(r=new Blob([new Uint8Array(e).buffer],{type:or.getMimetype(t)}));var n=URL.createObjectURL(r);return new Promise((r,o)=>{var i=new Image;i.onload=()=>{var o=document.createElement("canvas");o.width=i.width,o.height=i.height,o.getContext("2d").drawImage(i,0,0),or.preloadedImages[t]=o,URL.revokeObjectURL(n),r(e)},i.onerror=e=>{C(`Image ${n} could not be decoded`),o()},i.src=n})}};Te.push(e);var t={canHandle:e=>!l.noAudioDecoding&&e.slice(-4)in{".ogg":1,".wav":1,".mp3":1},handle:async(e,t)=>new Promise((r,n)=>{var o=!1;function i(n){o||(o=!0,or.preloadedAudios[t]=n,r(e))}var a=new Blob([e],{type:or.getMimetype(t)}),s=URL.createObjectURL(a),l=new Audio;l.addEventListener("canplaythrough",()=>i(l),!1),l.onerror=r=>{o||(C(`warning: browser could not fully decode audio ${t}, trying slower base64 approach`),l.src="data:audio/x-"+t.slice(-3)+";base64,"+function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",n=0,o=0,i=0;i<e.length;i++)for(n=n<<8|e[i],o+=8;o>=6;){var a=n>>o-6&63;o-=6,r+=t[a]}return 2==o?(r+=t[(3&n)<<4],r+="=="):4==o&&(r+=t[(15&n)<<2],r+="="),r}(e),i(l))},l.src=s,nr(()=>{i(l)},1e4)})};Te.push(t);var r=or.getCanvas();r&&(document.addEventListener("pointerlockchange",function(){var e=or.getCanvas();or.pointerLock=document.pointerLockElement===e},!1),l.elementPointerLock&&r.addEventListener("click",e=>{!or.pointerLock&&or.getCanvas().requestPointerLock&&(or.getCanvas().requestPointerLock(),e.preventDefault())},!1))}},createContext(e,t,r,n){if(t&&l.ctx&&e==or.getCanvas())return l.ctx;var o,i;if(t){var a={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(n)for(var s in n)a[s]=n[s];void 0!==ar&&(i=ar.createContext(e,a))&&(o=ar.getContext(i).GLctx)}else o=e.getContext("2d");return o?(r&&(l.ctx=o,t&&ar.makeContextCurrent(i),or.useWebGL=t,or.moduleContextCreatedCallbacks.forEach(e=>e()),or.init()),o):null},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen(e,t){or.lockPointer=e,or.resizeCanvas=t,void 0===or.lockPointer&&(or.lockPointer=!0),void 0===or.resizeCanvas&&(or.resizeCanvas=!1);var r=or.getCanvas();function n(){or.isFullscreen=!1;var e=r.parentNode;tr()===e?(r.exitFullscreen=or.exitFullscreen,or.lockPointer&&r.requestPointerLock(),or.isFullscreen=!0,or.resizeCanvas?or.setFullscreenCanvasSize():or.updateCanvasDimensions(r)):(e.parentNode.insertBefore(r,e),e.parentNode.removeChild(e),or.resizeCanvas?or.setWindowedCanvasSize():or.updateCanvasDimensions(r)),l.onFullScreen?.(or.isFullscreen),l.onFullscreen?.(or.isFullscreen)}or.fullscreenHandlersInstalled||(or.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var o=document.createElement("div");r.parentNode.insertBefore(o,r),o.appendChild(r),o.requestFullscreen=o.requestFullscreen||o.mozRequestFullScreen||o.msRequestFullscreen||(o.webkitRequestFullscreen?()=>o.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(o.webkitRequestFullScreen?()=>o.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),o.requestFullscreen()},exitFullscreen:()=>!!or.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0),safeSetTimeout:(e,t)=>nr(e,t),getMimetype:e=>({jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.slice(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:H("unrecognized mouse wheel delta mode: "+e.deltaMode)}break;default:H("unrecognized mouse wheel event: "+e.type)}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(e,t){var r=or.getCanvas(),n=r.getBoundingClientRect(),o=e-(window.scrollX+n.left),i=t-(window.scrollY+n.top);return{x:o*=r.width/n.width,y:i*=r.height/n.height}},setMouseCoords(e,t){const{x:r,y:n}=or.calculateMouseCoords(e,t);or.mouseMovementX=r-or.mouseX,or.mouseMovementY=n-or.mouseY,or.mouseX=r,or.mouseY=n},calculateMouseEvent(e){if(or.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?or.mouseMovementX=or.mouseMovementY=0:(or.mouseMovementX=or.getMovementX(e),or.mouseMovementY=or.getMovementY(e)),or.mouseX+=or.mouseMovementX,or.mouseY+=or.mouseMovementY;else{if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var t=e.touch;if(void 0===t)return;var r=or.calculateMouseCoords(t.pageX,t.pageY);if("touchstart"===e.type)or.lastTouches[t.identifier]=r,or.touches[t.identifier]=r;else if("touchend"===e.type||"touchmove"===e.type){var n=or.touches[t.identifier];n||=r,or.lastTouches[t.identifier]=n,or.touches[t.identifier]=r}return}or.setMouseCoords(e.pageX,e.pageY)}},resizeListeners:[],updateResizeListeners(){var e=or.getCanvas();or.resizeListeners.forEach(t=>t(e.width,e.height))},setCanvasSize(e,t,r){var n=or.getCanvas();or.updateCanvasDimensions(n,e,t),r||or.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if("undefined"!=typeof SDL){var e=L[SDL.screen>>2];e|=8388608,F[SDL.screen>>2]=e}or.updateCanvasDimensions(or.getCanvas()),or.updateResizeListeners()},setWindowedCanvasSize(){if("undefined"!=typeof SDL){var e=L[SDL.screen>>2];e&=-8388609,F[SDL.screen>>2]=e}or.updateCanvasDimensions(or.getCanvas()),or.updateResizeListeners()},updateCanvasDimensions(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var n=t,o=r;if(l.forcedAspectRatio>0&&(n/o<l.forcedAspectRatio?n=Math.round(o*l.forcedAspectRatio):o=Math.round(n/l.forcedAspectRatio)),tr()===e.parentNode&&"undefined"!=typeof screen){var i=Math.min(screen.width/n,screen.height/o);n=Math.round(n*i),o=Math.round(o*i)}or.resizeCanvas?(e.width!=n&&(e.width=n),e.height!=o&&(e.height=o),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&&(n!=t||o!=r?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",o+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}},ir={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode(e){ir.errorCode=e},chooseConfig(e,t,r,n,o){if(62e3!=e)return ir.setErrorCode(12296),0;if(t)for(;;){var i=F[t>>2];if(12321==i){var a=F[t+4>>2];ir.contextAttributes.alpha=a>0}else if(12325==i){var s=F[t+4>>2];ir.contextAttributes.depth=s>0}else if(12326==i){var l=F[t+4>>2];ir.contextAttributes.stencil=l>0}else if(12337==i){var c=F[t+4>>2];ir.contextAttributes.antialias=c>0}else if(12338==i)c=F[t+4>>2],ir.contextAttributes.antialias=1==c;else if(12544==i){var d=F[t+4>>2];ir.contextAttributes.lowLatency=12547!=d}else if(12344==i)break;t+=8}return r&&n||o?(o&&(F[o>>2]=1),r&&n>0&&(L[r>>2]=62002),ir.setErrorCode(12288),1):(ir.setErrorCode(12300),0)}},ar={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{ar.lastError||(ar.lastError=e)},getNewId:e=>{for(var t=ar.counter++,r=e.length;r<t;r++)e[r]=null;return t},genObject:(e,t,r,n)=>{for(var o=0;o<e;o++){var i=rr[r](),a=i&&ar.getNewId(n);i?(i.name=a,n[a]=i):ar.recordError(1282),F[t+4*o>>2]=a}},getSource:(e,t,r,n)=>{for(var o="",i=0;i<t;++i){var a=n?L[n+4*i>>2]:void 0;o+=Y(L[r+4*i>>2],a)}return o},createContext:(e,t)=>{if(!e.getContextSafariWebGL2Fixed){let t=function(t,r){var n=e.getContextSafariWebGL2Fixed(t,r);return"webgl"==t==n instanceof WebGLRenderingContext?n:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=t}var r=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return r?ar.registerContext(r,t):0},registerContext:(e,t)=>{var r=ar.getNewId(ar.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),ar.contexts[r]=n,r},makeContextCurrent:e=>(ar.currentContext=ar.contexts[e],l.ctx=rr=ar.currentContext?.GLctx,!(e&&!rr)),getContext:e=>ar.contexts[e],deleteContext:e=>{ar.currentContext===ar.contexts[e]&&(ar.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(ar.contexts[e].GLctx.canvas),ar.contexts[e]?.GLctx.canvas&&(ar.contexts[e].GLctx.canvas.GLctxObject=void 0),ar.contexts[e]=null}},sr=[],lr=(e,t,r)=>{var n=((e,t)=>{var r;for(sr.length=0;r=U[e++];){var n=105!=r;t+=(n&=112!=r)&&t%8?4:0,sr.push(112==r?L[t>>2]:106==r?M[t>>3]:105==r?F[t>>2]:R[t>>3]),t+=n?8:4}return sr})(t,r);return Wn[e](...n)},cr=e=>{rr.bindVertexArray(ar.vaos[e])},dr=cr,ur=dr,pr=(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2];rr.deleteVertexArray(ar.vaos[n]),ar.vaos[n]=null}},hr=pr,gr=hr,fr=(e,t,r,n)=>{rr.drawArraysInstanced(e,t,r,n)},mr=fr,br=mr,yr=mr,vr=mr,wr=mr,kr=[],_r=(e,t)=>{for(var r=kr[e],n=0;n<e;n++)r[n]=F[t+4*n>>2];rr.drawBuffers(r)},Sr=_r,Er=Sr,Cr=Sr,Tr=(e,t,r,n)=>{rr.drawElements(e,t,r,n)},xr=(e,t,r,n,o)=>{rr.drawElementsInstanced(e,t,r,n,o)},Pr=xr,Ar=Pr,Fr=Pr,Mr=Pr,Ir=Pr,Dr=Tr,Rr=(e,t)=>{ar.genObject(e,t,"createVertexArray",ar.vaos)},Br=Rr,Lr=(e,t,r,n,o,i,a,s)=>{t=ar.programs[t];var l=rr[e](t,r);if(l){var c=s&&ae(l.name,s,n);o&&(F[o>>2]=c),i&&(F[i>>2]=l.size),a&&(F[a>>2]=l.type)}},Or=(e,t)=>{L[e>>2]=t;var r=L[e>>2];L[e+4>>2]=(t-r)/4294967296},Ur=()=>{var e,t,r=(e=rr,t=["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_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"],e.getSupportedExtensions()?.filter(e=>t.includes(e))??[]);return r=r.concat(r.map(e=>"GL_"+e))},qr=(e,t,r)=>{if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&ar.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var o=rr.getParameter(34467);n=o?o.length:0;break;case 33309:if(ar.currentContext.version<2)return void ar.recordError(1282);n=Ur().length;break;case 33307:case 33308:if(ar.currentContext.version<2)return void ar.recordError(1280);n=33307==e?3:0}if(void 0===n){var i=rr.getParameter(e);switch(typeof i){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void ar.recordError(1280);case"object":if(null===i)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:n=0;break;default:return void ar.recordError(1280)}else{if(i instanceof Float32Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Array){for(var a=0;a<i.length;++a)switch(r){case 0:F[t+4*a>>2]=i[a];break;case 2:D[t+4*a>>2]=i[a];break;case 4:I[t+a]=i[a]?1:0}return}try{n=0|i.name}catch(t){return ar.recordError(1280),void C(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return ar.recordError(1280),void C(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${i} of type ${typeof i}!`)}}switch(r){case 1:Or(t,n);break;case 0:F[t>>2]=n;break;case 2:D[t>>2]=n;break;case 4:I[t]=n?1:0}}else ar.recordError(1281)},Wr=(e,t,r,n)=>{if(r){var o,i=rr.getIndexedParameter(e,t);switch(typeof i){case"boolean":o=i?1:0;break;case"number":o=i;break;case"object":if(null===i)switch(e){case 35983:case 35368:o=0;break;default:return void ar.recordError(1280)}else{if(!(i instanceof WebGLBuffer))return void ar.recordError(1280);o=0|i.name}break;default:return void ar.recordError(1280)}switch(n){case 1:Or(r,o);break;case 0:F[r>>2]=o;break;case 2:D[r>>2]=o;break;case 4:I[r]=o?1:0;break;default:H("internal emscriptenWebGLGetIndexed() error, bad type: "+n)}}else ar.recordError(1281)},Hr=(e,t,r)=>{if(r){var n,o=ar.queries[e];n=ar.currentContext.version<2?rr.disjointTimerQueryExt.getQueryObjectEXT(o,t):rr.getQueryParameter(o,t),Or(r,"boolean"==typeof n?n?1:0:n)}else ar.recordError(1281)},$r=(e,t,r)=>{if(r){var n,o=ar.queries[e],i=rr.disjointTimerQueryExt.getQueryObjectEXT(o,t);n="boolean"==typeof i?i?1:0:i,F[r>>2]=n}else ar.recordError(1281)},Nr=Hr,Vr=$r,zr=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Gr=e=>{var t,r,n=e.uniformLocsById,o=e.uniformSizeAndIdsByName;if(!n){e.uniformLocsById=n={},e.uniformArrayNamesById={};var i=rr.getProgramParameter(e,35718);for(t=0;t<i;++t){var a=rr.getActiveUniform(e,t),s=a.name,l=a.size,c=zr(s),d=c>0?s.slice(0,c):s,u=e.uniformIdCounter;for(e.uniformIdCounter+=l,o[d]=[l,u],r=0;r<l;++r)n[u]=r,e.uniformArrayNamesById[u++]=d}}},jr=(e,t)=>{if(e){var r=e.uniformLocsById[t];return"number"==typeof r&&(e.uniformLocsById[t]=r=rr.getUniformLocation(e,e.uniformArrayNamesById[t]+(r>0?`[${r}]`:""))),r}ar.recordError(1282)},Xr=(e,t,r,n)=>{if(r){e=ar.programs[e],Gr(e);var o=rr.getUniform(e,jr(e,t));if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:F[r>>2]=o;break;case 2:D[r>>2]=o}else for(var i=0;i<o.length;i++)switch(n){case 0:F[r+4*i>>2]=o[i];break;case 2:D[r+4*i>>2]=o[i]}}else ar.recordError(1281)},Yr=(e,t,r,n)=>{if(r){var o=rr.getVertexAttrib(e,t);if(34975==t)F[r>>2]=o&&o.name;else if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:F[r>>2]=o;break;case 2:D[r>>2]=o;break;case 5:F[r>>2]=Math.fround(o)}else for(var i=0;i<o.length;i++)switch(n){case 0:F[r+4*i>>2]=o[i];break;case 2:D[r+4*i>>2]=o[i];break;case 5:F[r+4*i>>2]=Math.fround(o[i])}}else ar.recordError(1281)},Kr=(e,t,r)=>{Yr(e,t,r,0)},Qr=Kr,Zr=e=>{var t=ar.vaos[e];return t?rr.isVertexArray(t):0},Jr=Zr,en=e=>0==(e-=5120)?I:1==e?U:2==e?A:4==e?F:6==e?D:5==e||28922==e||28520==e||30779==e||30782==e?L:B,tn=(e,t)=>e>>>31-Math.clz32(t.BYTES_PER_ELEMENT),rn=(e,t,r,n,o)=>{var i=en(e),a=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(t)*i.BYTES_PER_ELEMENT,s=((e,t,r)=>{var n,o,i=(ar.unpackRowLength||e)*r;return t*(n=i,o=ar.unpackAlignment,n+o-1&-o)})(r,n,a);return i.subarray(tn(o,i),tn(o+s,i))},nn=e=>jr(rr.currentProgram,e),on=[],an=[],sn=(e,t)=>{rr.vertexAttribDivisor(e,t)},ln=sn,cn=sn,dn=sn,un=sn,pn=e=>{var t=(e-z.buffer.byteLength+65535)/65536|0;try{return z.grow(t),W(),1}catch(e){}},hn=["default","low-power","high-performance"],gn=[0,globalThis.document??0,globalThis.window??0],fn=e=>{var t;return e=(t=e)>2?Y(t):t,gn[e]||globalThis.document?.querySelector(e)},mn=(e,t)=>{var r=t>>2,n=F[r+2],o={alpha:!!I[t+0],depth:!!I[t+1],stencil:!!I[t+2],antialias:!!I[t+3],premultipliedAlpha:!!I[t+4],preserveDrawingBuffer:!!I[t+5],powerPreference:hn[n],failIfMajorPerformanceCaveat:!!I[t+12],majorVersion:F[r+4],minorVersion:F[r+5],enableExtensionsByDefault:I[t+24],explicitSwapControl:I[t+25],proxyContextToMainThread:F[r+7],renderViaOffscreenBackBuffer:I[t+32]},i=fn(e);return i?o.explicitSwapControl?0:ar.createContext(i,o):0},bn={},yn=()=>{if(!yn.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:h};for(var t in bn)void 0===bn[t]?delete e[t]:e[t]=bn[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);yn.strings=r}return yn.strings},vn=(e,t,r,n)=>{for(var o=0,i=0;i<r;i++){var a=L[t>>2],s=L[t+4>>2];t+=8;var l=Pe.read(e,I,a,s,n);if(l<0)return-1;if(o+=l,l<s)break;void 0!==n&&(n+=l)}return o},wn=e=>Rn(e),kn=e=>{var t=oe(e)+1,r=wn(t);return ae(e,r,t),r};Pe.createPreloadedFile=(e,t,r,n,o,i,a,s,l,c)=>{xe(e,t,r,n,o,s,l,c).then(i).catch(a)},Pe.preloadFile=xe,Pe.staticInit(),(()=>{let e=Je.prototype;Object.assign(e,{isAliasOf(e){if(!(this instanceof Je))return!1;if(!(e instanceof Je))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o},clone(){if(this.$$.ptr||je(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Qe(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},delete(){this.$$.ptr||je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),Ye(this),Ke(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),Ze.push(this),Ze.length,this.$$.deleteScheduled=!0,this}});const t=Symbol.dispose;t&&(e[t]=e.delete)})(),Object.assign(ft.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},readValueFromPointer:Re,fromWireType:gt});for(let e=0;e<32;++e)kr.push(new Array(e));for(var _n=new Float32Array(288),Sn=0;Sn<=288;++Sn)on[Sn]=_n.subarray(0,Sn);var En=new Int32Array(288);for(Sn=0;Sn<=288;++Sn)an[Sn]=En.subarray(0,Sn);if(function(){if(l.wasmMemory)z=l.wasmMemory;else{var e=l.INITIAL_MEMORY||16777216;z=new WebAssembly.Memory({initial:e/65536,maximum:32768})}W()}(),l.noExitRuntime&&(te=l.noExitRuntime),l.preloadPlugins&&(Te=l.preloadPlugins),l.print&&(E=l.print),l.printErr&&(C=l.printErr),l.wasmBinary&&(w=l.wasmBinary),l.arguments&&(p=l.arguments),l.thisProgram&&(h=l.thisProgram),l.preInit)for("function"==typeof l.preInit&&(l.preInit=[l.preInit]);l.preInit.length>0;)l.preInit.shift()();l.addRunDependency=Ce,l.removeRunDependency=Ee,l.ccall=(e,t,r,n,o)=>{var i={string:e=>{var t=0;return null!=e&&0!==e&&(t=kn(e)),t},array:e=>{var t,r,n=wn(e.length);return t=e,r=n,I.set(t,r),n}},a=(e=>l["_"+e])(e),s=[],c=0;if(n)for(var d=0;d<n.length;d++){var u=i[r[d]];u?(0===c&&(c=ne()),s[d]=u(n[d])):s[d]=n[d]}var p,h=a(...s);return p=h,0!==c&&re(c),h=function(e){return"string"===t?Y(e):"boolean"===t?Boolean(e):e}(p),h},l.getValue=function(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return I[e];case"i16":return A[e>>1];case"i32":return F[e>>2];case"i64":return M[e>>3];case"float":return D[e>>2];case"double":return R[e>>3];case"*":return L[e>>2];default:H(`invalid type for getValue: ${t}`)}},l.UTF8ToString=Y,l.specialHTMLTargets=gn,l.FS_preloadFile=xe,l.FS_unlink=(...e)=>Pe.unlink(...e),l.FS_createPath=(...e)=>Pe.createPath(...e),l.FS_createDevice=(...e)=>Pe.createDevice(...e),l.FS_createDataFile=ke,l.FS_createLazyFile=(...e)=>Pe.createLazyFile(...e);var Cn,Tn,xn,Pn,An,Fn,Mn,In,Dn,Rn,Bn,Ln,On,Un,qn,Wn={3279756:(e,t,r,n,o)=>"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=n,window.miniaudio.device_state.started=o,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),3281746:()=>{void 0!==window.miniaudio&&(window.miniaudio.referenceCount-=1,0===window.miniaudio.referenceCount&&delete window.miniaudio)},3281910:()=>void 0!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia,3282014:()=>{try{var e=new(window.AudioContext||window.webkitAudioContext),t=e.sampleRate;return e.close(),t}catch(e){return 0}},3282185:(e,t,r,n,o,i)=>{var a=e,s=t,c=r,d=n,u=o,p=i;if(void 0===window.miniaudio)return-1;var h={},g={};a==window.miniaudio.device_type.playback&&(g.sampleRate=c),h.webaudio=new(window.AudioContext||window.webkitAudioContext)(g),h.webaudio.suspend(),h.state=window.miniaudio.device_state.stopped;var f=0,m=s;return a!=window.miniaudio.device_type.playback&&(f=s),h.scriptNode=h.webaudio.createScriptProcessor(d,f,m),h.scriptNode.onaudioprocess=function(e){if(null!=h.intermediaryBufferView&&0!=h.intermediaryBufferView.length||(h.intermediaryBufferView=new Float32Array(l.HEAPF32.buffer,u,d*s)),a==miniaudio.device_type.capture||a==miniaudio.device_type.duplex){for(var t=0;t<s;t+=1)for(var r=e.inputBuffer.getChannelData(t),n=h.intermediaryBufferView,o=0;o<d;o+=1)n[o*s+t]=r[o];An(p,d,u)}if(a==miniaudio.device_type.playback||a==miniaudio.device_type.duplex)for(Fn(p,d,u),t=0;t<e.outputBuffer.numberOfChannels;++t){var i=e.outputBuffer.getChannelData(t);for(n=h.intermediaryBufferView,o=0;o<d;o+=1)i[o]=n[o*s+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){h.streamNode=h.webaudio.createMediaStreamSource(e),h.streamNode.connect(h.scriptNode),h.scriptNode.connect(h.webaudio.destination)}).catch(function(e){console.log("Failed to get user media: "+e)}),a==miniaudio.device_type.playback&&h.scriptNode.connect(h.webaudio.destination),miniaudio.track_device(h)},3284968:e=>miniaudio.get_device_by_index(e).webaudio.sampleRate,3285034: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},3285399:e=>{miniaudio.untrack_device_by_index(e)},3285442:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.resume(),t.state=miniaudio.device_state.started},3285567:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.suspend(),t.state=miniaudio.device_state.stopped},3285693:()=>!!globalThis.ubq_browserTabHidden,3285739:()=>"undefined"!=typeof process&&process.versions&&process.versions.node?1:0},Hn={Sa:e=>{var t=new ExceptionInfo(e);return t.get_caught()||t.set_caught(!0),t.set_rethrown(!1),le.push(t),On(e)},Jh:()=>{In(0,0);var e=le.pop();Ln(e.excPtr)},n:()=>ce(),pa:e=>ce(),l:(e,t,r)=>{new ExceptionInfo(e).init(t,r),H()},Q:e=>{H()},Ih:function(e,t){try{return e=Ae.getStr(e),Pe.chmod(e,t),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Hh:function(e,t){try{return Pe.fchmod(e,t),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},oa:function(e,t,r){Ae.varargs=r;try{var n=Ae.getStreamFromFD(e);switch(t){case 0:if((o=Fe())<0)return-28;for(;Pe.streams[o];)o++;return Pe.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=Fe(),i=289792;return n.flags=n.flags&~i|o&i,0;case 12:return o=Me(),A[o+0>>1]=2,0}return-28}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Gh:function(e,t){try{return Ae.writeStat(t,Pe.fstat(e))}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Fh:function(e,t,r){Ae.varargs=r;try{var n=Ae.getStreamFromFD(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),i=Me();F[i>>2]=o.c_iflag||0,F[i+4>>2]=o.c_oflag||0,F[i+8>>2]=o.c_cflag||0,F[i+12>>2]=o.c_lflag||0;for(var a=0;a<32;a++)I[i+a+17]=o.c_cc[a]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){i=Me();var s=F[i>>2],l=F[i+4>>2],c=F[i+8>>2],d=F[i+12>>2],u=[];for(a=0;a<32;a++)u.push(I[i+a+17]);return n.tty.ops.ioctl_tcsets(n.tty,t,{c_iflag:s,c_oflag:l,c_cflag:c,c_lflag:d,c_cc:u})}return 0;case 21519:return n.tty?(i=Me(),F[i>>2]=0,0):-59;case 21520:return n.tty?-28:-59;case 21537:case 21531:return i=Me(),Pe.ioctl(n,t,i);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var p=n.tty.ops.ioctl_tiocgwinsz(n.tty);i=Me(),A[i>>1]=p[0],A[i+2>>1]=p[1]}return 0;default:return-28}}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Eh:function(e,t){try{return e=Ae.getStr(e),Ae.writeStat(t,Pe.lstat(e))}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Dh:function(e,t,r,n){try{t=Ae.getStr(t);var o=256&n,i=4096&n;return n&=-6401,t=Ae.calculateAt(e,t,i),Ae.writeStat(r,o?Pe.lstat(t):Pe.stat(t))}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Ra:function(e,t,r,n){Ae.varargs=n;try{t=Ae.getStr(t),t=Ae.calculateAt(e,t);var o=n?Fe():0;return 64&r&&(o&=~Ae.currentUmask),Pe.open(t,r,o).fd}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Ch:function(e,t,r,n){try{return t=Ae.getStr(t),n=Ae.getStr(n),t=Ae.calculateAt(e,t),n=Ae.calculateAt(r,n),Pe.rename(t,n),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Bh:function(e){try{return e=Ae.getStr(e),Pe.rmdir(e),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Ah:function(e,t){try{return e=Ae.getStr(e),Ae.writeStat(t,Pe.stat(e))}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},zh:function(e,t,r){try{if(t=Ae.getStr(t),t=Ae.calculateAt(e,t),r){if(512!==r)return-28;Pe.rmdir(t)}else Pe.unlink(t);return 0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},rh:()=>H(""),Oa:e=>{var t=Ie[e];delete Ie[e];var r=t.elements,n=r.length,o=r.map(e=>e.getterReturnType).concat(r.map(e=>e.setterArgumentType)),i=t.rawConstructor,a=t.rawDestructor;We([e],o,e=>{for(const[t,o]of r.entries()){const r=e[t],i=o.getter,a=o.getterContext,s=e[t+n],l=o.setter,c=o.setterContext;o.read=e=>r.fromWireType(i(a,e)),o.write=(e,t)=>{var r=[];l(c,e,s.toWireType(r,t)),De(r)}}return[{name:t.name,fromWireType:e=>{for(var t=new Array(n),o=0;o<n;++o)t[o]=r[o].read(e);return a(e),t},toWireType:(e,o)=>{if(n!==o.length)throw new TypeError(`Incorrect number of tuple elements for ${t.name}: expected=${n}, actual=${o.length}`);for(var s=i(),l=0;l<n;++l)r[l].write(s,o[l]);return null!==e&&e.push(a,s),s},readValueFromPointer:Re,destructorFunction:a}]})},w:e=>{var t=He[e];delete He[e];var r=t.rawConstructor,n=t.rawDestructor,o=t.fields,i=o.map(e=>e.getterReturnType).concat(o.map(e=>e.setterArgumentType));We([e],i,e=>{var i={};for(var[a,s]of o.entries()){const t=e[a],r=s.getter,n=s.getterContext,l=e[a+o.length],c=s.setter,d=s.setterContext;i[s.fieldName]={read:e=>t.fromWireType(r(n,e)),write:(e,t)=>{var r=[];c(d,e,l.toWireType(r,t)),De(r)},optional:t.optional}}return[{name:t.name,fromWireType:e=>{var t={};for(var r in i)t[r]=i[r].read(e);return n(e),t},toWireType:(e,t)=>{for(var o in i)if(!(o in t)&&!i[o].optional)throw new TypeError(`Missing field: "${o}"`);var a=r();for(o in i)i[o].write(a,t[o]);return null!==e&&e.push(n,a),a},readValueFromPointer:Re,destructorFunction:n}]})},Na:(e,t,r,n,o)=>{t=$e(t);const i=0n===n;let a=e=>e;if(i){const e=8*r;a=t=>BigInt.asUintN(e,t),o=a(o)}ze(e,{name:t,fromWireType:a,toWireType:(e,t)=>("number"==typeof t&&(t=BigInt(t)),t),readValueFromPointer:Ge(t,r,!i),destructorFunction:null})},qh:(e,t,r,n)=>{ze(e,{name:t=$e(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},readValueFromPointer:function(e){return this.fromWireType(U[e])},destructorFunction:null})},q:(e,t,r,n,o,i,a,s,l,c,d,u,p)=>{d=$e(d),i=vt(o,i),s&&=vt(a,s),c&&=vt(l,c),p=vt(u,p);var h=(e=>{var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(d);nt(h,function(){kt(`Cannot construct ${d} due to unbound types`,[n])}),We([e,t,r],n?[n]:[],t=>{var r,o;t=t[0],o=n?(r=t.registeredClass).instancePrototype:Je.prototype;var a=et(d,function(...e){if(Object.getPrototypeOf(this)!==l)throw new Ne(`Use 'new' to construct ${d}`);if(void 0===u.constructor_body)throw new Ne(`${d} has no accessible constructor`);var t=u.constructor_body[e.length];if(void 0===t)throw new Ne(`Tried to invoke ctor of ${d} with invalid number of parameters (${e.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return t.apply(this,e)}),l=Object.create(o,{constructor:{value:a}});a.prototype=l;var u=new ot(d,a,l,p,r,i,s,c);u.baseClass&&(u.baseClass.__derivedClasses??=[],u.baseClass.__derivedClasses.push(u));var g=new ft(d,u,!0,!1,!1),f=new ft(d+"*",u,!1,!1,!1),m=new ft(d+" const*",u,!1,!0,!1);return tt[e]={pointerType:f,constPointerType:m},mt(h,a),[g,f,m]})},s:(e,t,r,n,o,i)=>{var a=_t(t,r);o=vt(n,o),We([],[e],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 Ne(`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]=()=>{kt(`Cannot construct ${e.name} due to unbound types`,a)},We([],a,n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=St(r,n,null,o,i),[])),[]})},c:(e,t,r,n,o,i,a,s,l,c)=>{var d=_t(r,n);t=$e(t),t=Et(t),i=vt(o,i,l),We([],[e],e=>{var n=`${(e=e[0]).name}.${t}`;function o(){kt(`Cannot call ${n} due to unbound types`,d)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,c=l[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===r-2?(o.argCount=r-2,o.className=e.name,l[t]=o):(rt(l,t,n),l[t].overloadTable[r-2]=o),We([],d,o=>{var s=St(n,o,e,i,a);return void 0===l[t].overloadTable?(s.argCount=r-2,l[t]=s):l[t].overloadTable[r-2]=s,[]}),[]})},ph:e=>ze(e,At),V:(e,t,r,n,o)=>{t=$e(t);const i=function(e){return 0===e?"object":1===e?"number":"string"}(o);switch(i){case"object":{let o=function(){};o.values={},ze(e,{name:t,constructor:o,valueType:i,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,readValueFromPointer:Ft(t,r,n),destructorFunction:null}),nt(t,o);break}case"number":ze(e,{name:t,keysMap:a={},valueType:i,fromWireType:e=>e,toWireType:(e,t)=>t,readValueFromPointer:Ft(t,r,n),destructorFunction:null}),nt(t,a),delete l[t].argCount;break;case"string":var a;ze(e,{name:t,valuesMap:{},reverseMap:{},keysMap:a={},valueType:i,fromWireType:function(e){return this.reverseMap[e]},toWireType:function(e,t){return this.valuesMap[t]},readValueFromPointer:Ft(t,r,n),destructorFunction:null}),nt(t,a),delete l[t].argCount}},F:(e,t,r)=>{var n=Mt(e,"enum");switch(t=$e(t),n.valueType){case"object":var o=n.constructor,i=Object.create(n.constructor.prototype,{value:{value:r},constructor:{value:et(`${n.name}_${t}`,function(){})}});o.values[r]=i,o[t]=i;break;case"number":n.keysMap[t]=r;break;case"string":n.valuesMap[t]=r,n.reverseMap[r]=t,n.keysMap[t]=t}},Ma:(e,t,r)=>{ze(e,{name:t=$e(t),fromWireType:e=>e,toWireType:(e,t)=>t,readValueFromPointer:It(t,r),destructorFunction:null})},O:(e,t,r,n,o,i,a,s)=>{var l=_t(t,r);e=$e(e),e=Et(e),o=vt(n,o,a),nt(e,function(){kt(`Cannot call ${e} due to unbound types`,l)},t-1),We([],l,r=>{var n=[r[0],null].concat(r.slice(1));return mt(e,St(e,n,null,o,i),t-1),[]})},N:(e,t,r,n,o)=>{t=$e(t);let i=e=>e;if(0===n){var a=32-8*r;i=e=>e<<a>>>a,o=i(o)}ze(e,{name:t,fromWireType:i,toWireType:(e,t)=>t,readValueFromPointer:Ge(t,r,0!==n),destructorFunction:null})},M:(e,t,r,n)=>{r=$e(r),n=$e(n),We([],[e,t],e=>{const t=e[0];return Dt(t.registeredClass.instancePrototype,r,n),[]})},E:(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function o(e){var t=L[e>>2],r=L[e+4>>2];return new n(I.buffer,r,t)}ze(e,{name:r=$e(r),fromWireType:o,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},J:(e,t)=>{ze(e,Rt)},oh:(e,t,r,n,o,i,a,s,l,c,d,u)=>{r=$e(r),i=vt(o,i),s=vt(a,s),c=vt(l,c),u=vt(d,u),We([e],[t],e=>(e=e[0],[new ft(r,e.registeredClass,!1,!1,!0,e,n,i,s,c,u)]))},nh:(e,t)=>{t=$e(t),ze(e,{name:t,fromWireType(e){var t,r=L[e>>2],n=e+4;return t=Y(n,r,!0),xn(e),t},toWireType(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||ArrayBuffer.isView(t)&&1==t.BYTES_PER_ELEMENT||Ve("Cannot pass non-string to std::string"),r=n?oe(t):t.length;var o=Tn(4+r+1),i=o+4;return L[o>>2]=r,n?ae(t,i,r+1):U.set(t,i),null!==e&&e.push(xn,o),o},readValueFromPointer:Re,destructorFunction(e){xn(e)}})},ma:(e,t,r)=>{var n,o,i;r=$e(r),2===t?(n=Lt,o=Ot,i=Ut):(n=qt,o=Wt,i=Ht),ze(e,{name:r,fromWireType:e=>{var r=L[e>>2],o=n(e+4,r*t,!0);return xn(e),o},toWireType:(e,n)=>{"string"!=typeof n&&Ve(`Cannot pass non-string to C++ string type ${r}`);var a=i(n),s=Tn(4+a+t);return L[s>>2]=a/t,o(n,s+4,a+t),null!==e&&e.push(xn,s),s},readValueFromPointer:Re,destructorFunction(e){xn(e)}})},La:(e,t,r,n,o,i)=>{Ie[e]={name:$e(t),rawConstructor:vt(r,n),rawDestructor:vt(o,i),elements:[]}},L:(e,t,r,n,o,i,a,s,l)=>{Ie[e].elements.push({getterReturnType:t,getter:vt(r,n),getterContext:o,setterArgumentType:i,setter:vt(a,s),setterContext:l})},v:(e,t,r,n,o,i)=>{He[e]={name:$e(t),rawConstructor:vt(r,n),rawDestructor:vt(o,i),fields:[]}},k:(e,t,r,n,o,i,a,s,l,c)=>{He[e].fields.push({fieldName:$e(t),getterReturnType:r,getter:vt(n,o),getterContext:i,setterArgumentType:a,setter:vt(s,l),setterContext:c})},mh:(e,t)=>{ze(e,{isVoid:!0,name:t=$e(t),fromWireType:()=>{},toWireType:(e,t)=>{}})},lh:()=>{throw new EmscriptenSjLj},kh:(e,t)=>{e=Pt.toValue(e),t=Pt.toValue(t),e.set(t)},i:(e,t,r)=>{var[n,...o]=((e,t)=>{for(var r=new Array(e),n=0;n<e;++n)r[n]=Mt(L[t+4*n>>2],`parameter ${n}`);return r})(e,t),i=n.toWireType.bind(n),a=o.map(e=>e.readValueFromPointer.bind(e));e--;var s,l,c=new Array(e),d=`methodCaller<(${o.map(e=>e.name)}) => ${n.name}>`;return s=et(d,(t,n,o,s)=>{for(var l,d=0,u=0;u<e;++u)c[u]=a[u](s+d),d+=8;switch(r){case 0:l=Pt.toValue(t).apply(null,c);break;case 2:l=Reflect.construct(Pt.toValue(t),c);break;case 3:l=c[0];break;case 1:l=Pt.toValue(t)[Vt(n)](...c)}return((e,t,r)=>{var n=[],o=e(n,r);return n.length&&(L[t>>2]=Pt.toHandle(n)),o})(i,o,l)}),l=$t.length,$t.push(s),l},b:xt,Ka:(e,t)=>(e=Pt.toValue(e))==(t=Pt.toValue(t)),x:e=>e?(e=Vt(e),Pt.toHandle(globalThis[e])):Pt.toHandle(globalThis),f:(e,t)=>(e=Pt.toValue(e),t=Pt.toValue(t),Pt.toHandle(e[t])),d:e=>{e>9&&(Tt[e+1]+=1)},_:(e,t)=>(e=Pt.toValue(e))instanceof(t=Pt.toValue(t)),h:(e,t,r,n,o)=>$t[e](t,r,n,o),la:e=>"number"==typeof(e=Pt.toValue(e)),C:e=>"string"==typeof(e=Pt.toValue(e)),Z:()=>Pt.toHandle([]),e:e=>Pt.toHandle(Vt(e)),u:()=>Pt.toHandle({}),g:e=>{var t=Pt.toValue(e);De(t),xt(e)},j:(e,t,r)=>{e=Pt.toValue(e),t=Pt.toValue(t),r=Pt.toValue(r),e[t]=r},jh:e=>{throw e=Pt.toValue(e)},ea:e=>(e=Pt.toValue(e),Pt.toHandle(typeof e)),ih:function(e,t){e=zt(e);var r=new Date(1e3*e);F[t>>2]=r.getUTCSeconds(),F[t+4>>2]=r.getUTCMinutes(),F[t+8>>2]=r.getUTCHours(),F[t+12>>2]=r.getUTCDate(),F[t+16>>2]=r.getUTCMonth(),F[t+20>>2]=r.getUTCFullYear()-1900,F[t+24>>2]=r.getUTCDay();var n=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),o=(r.getTime()-n)/864e5|0;F[t+28>>2]=o},hh:function(e,t){e=zt(e);var r=new Date(1e3*e);F[t>>2]=r.getSeconds(),F[t+4>>2]=r.getMinutes(),F[t+8>>2]=r.getHours(),F[t+12>>2]=r.getDate(),F[t+16>>2]=r.getMonth(),F[t+20>>2]=r.getFullYear()-1900,F[t+24>>2]=r.getDay();var n=0|Xt(r);F[t+28>>2]=n,F[t+36>>2]=-60*r.getTimezoneOffset();var o=new Date(r.getFullYear(),0,1),i=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=o.getTimezoneOffset(),s=0|(i!=a&&r.getTimezoneOffset()==Math.min(a,i));F[t+32>>2]=s},gh:function(e){var t=(()=>{var t=new Date(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0);if(isNaN(t.getTime()))return-1;var r=F[e+32>>2],n=t.getTimezoneOffset(),o=new Date(t.getFullYear(),0,1),i=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=o.getTimezoneOffset(),s=Math.min(a,i);if(r<0)F[e+32>>2]=Number(i!=a&&s==n);else if(r>0!=(s==n)){var l=Math.max(a,i),c=r>0?s:l;t.setTime(t.getTime()+6e4*(c-n))}F[e+24>>2]=t.getDay();var d=0|Xt(t);return F[e+28>>2]=d,F[e>>2]=t.getSeconds(),F[e+4>>2]=t.getMinutes(),F[e+8>>2]=t.getHours(),F[e+12>>2]=t.getDate(),F[e+16>>2]=t.getMonth(),F[e+20>>2]=t.getYear(),t.getTime()/1e3})();return BigInt(t)},fh:function(e,t,r,n,o,i,a){o=zt(o);try{var s=Ae.getStreamFromFD(n),l=Pe.mmap(s,e,o,t,r),c=l.ptr;return F[i>>2]=l.allocated,L[a>>2]=c,0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},eh:function(e,t,r,n,o,i){i=zt(i);try{var a=Ae.getStreamFromFD(o);2&r&&Ae.doMsync(e,a,t,n,i)}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},dh:(e,t,r,n)=>{var o=(new Date).getFullYear(),i=new Date(o,0,1),a=new Date(o,6,1),s=i.getTimezoneOffset(),l=a.getTimezoneOffset(),c=Math.max(s,l);L[e>>2]=60*c,F[t>>2]=Number(s!=l);var d=e=>{var t=e>=0?"-":"+",r=Math.abs(e);return`UTC${t}${String(Math.floor(r/60)).padStart(2,"0")}${String(r%60).padStart(2,"0")}`},u=d(s),p=d(l);l<s?(ae(u,r,17),ae(p,n,17)):(ae(u,n,17),ae(p,r,17))},ch:function(e){var t=Y(e);localStorage.removeItem(t)},yh:function(e,t,r){if(t=zt(t),!((n=e)>=0&&n<=3))return 28;var n,o;o=0===e?Yt():performance.now();var i=Math.round(1e3*o*1e3);return M[r>>3]=BigInt(i),0},Ja:(e,t,r,n,o)=>ir.chooseConfig(e,t,r,n,o),Ia:(e,t,r,n)=>{if(62e3!=e)return ir.setErrorCode(12296),0;for(var o=1;;){var i=F[n>>2];if(12440!=i){if(12344==i)break;return ir.setErrorCode(12292),0}o=F[n+4>>2],n+=8}return o<2||o>3?(ir.setErrorCode(12293),0):(ir.contextAttributes.majorVersion=o-1,ir.contextAttributes.minorVersion=0,ir.context=ar.createContext(or.getCanvas(),ir.contextAttributes),0!=ir.context?(ir.setErrorCode(12288),ar.makeContextCurrent(ir.context),or.useWebGL=!0,or.moduleContextCreatedCallbacks.forEach(e=>e()),ar.makeContextCurrent(null),62004):(ir.setErrorCode(12297),0))},bh:(e,t,r,n)=>62e3!=e?(ir.setErrorCode(12296),0):62002!=t?(ir.setErrorCode(12293),0):(ir.setErrorCode(12288),62006),Ha:(e,t)=>62e3!=e?(ir.setErrorCode(12296),0):62004!=t?(ir.setErrorCode(12294),0):(ar.deleteContext(ir.context),ir.setErrorCode(12288),ir.currentContext==t&&(ir.currentContext=0),1),ka:(e,t)=>62e3!=e?(ir.setErrorCode(12296),0):62006!=t?(ir.setErrorCode(12301),1):(ir.currentReadSurface==t&&(ir.currentReadSurface=0),ir.currentDrawSurface==t&&(ir.currentDrawSurface=0),ir.setErrorCode(12288),1),U:(e,t,r,n)=>{if(62e3!=e)return ir.setErrorCode(12296),0;if(62002!=t)return ir.setErrorCode(12293),0;if(!n)return ir.setErrorCode(12300),0;switch(ir.setErrorCode(12288),r){case 12320:return F[n>>2]=ir.contextAttributes.alpha?32:24,1;case 12321:return F[n>>2]=ir.contextAttributes.alpha?8:0,1;case 12322:case 12323:case 12324:return F[n>>2]=8,1;case 12325:return F[n>>2]=ir.contextAttributes.depth?24:0,1;case 12326:return F[n>>2]=ir.contextAttributes.stencil?8:0,1;case 12327:case 12335:case 12340:return F[n>>2]=12344,1;case 12328:return F[n>>2]=62002,1;case 12329:case 12333:case 12334:case 12345:case 12346:case 12347:case 12349:case 12350:case 12354:return F[n>>2]=0,1;case 12330:case 12332:return F[n>>2]=4096,1;case 12331:return F[n>>2]=16777216,1;case 12337:return F[n>>2]=ir.contextAttributes.antialias?4:0,1;case 12338:return F[n>>2]=ir.contextAttributes.antialias?1:0,1;case 12339:case 12352:return F[n>>2]=4,1;case 12341:case 12342:case 12343:return F[n>>2]=-1,1;case 12348:return F[n>>2]=1,1;case 12351:return F[n>>2]=12430,1;default:return ir.setErrorCode(12292),0}},ah:e=>(ir.setErrorCode(12288),0!=e&&1!=e?0:62e3),Ga:()=>ir.errorCode,$g:(e,t,r)=>62e3!=e?(ir.setErrorCode(12296),0):(t&&(F[t>>2]=1),r&&(F[r>>2]=4),ir.defaultDisplayInitialized=!0,ir.setErrorCode(12288),1),da:(e,t,r,n)=>62e3!=e?(ir.setErrorCode(12296),0):0!=n&&62004!=n?(ir.setErrorCode(12294),0):0!=r&&62006!=r||0!=t&&62006!=t?(ir.setErrorCode(12301),0):(ar.makeContextCurrent(n?ir.context:null),ir.currentContext=n,ir.currentDrawSurface=t,ir.currentReadSurface=r,ir.setErrorCode(12288),1),ja:(e,t)=>{if(62e3!=e)return ir.setErrorCode(12296),0;if(ir.setErrorCode(12288),ir.stringCache[t])return ir.stringCache[t];var r;switch(t){case 12371:r=se("Emscripten");break;case 12372:r=se("1.4 Emscripten EGL");break;case 12373:r=se("");break;case 12429:r=se("OpenGL_ES");break;default:return ir.setErrorCode(12300),0}return ir.stringCache[t]=r,r},Fa:(e,t)=>{if(ir.defaultDisplayInitialized)if(rr){if(!rr.isContextLost())return ir.setErrorCode(12288),1;ir.setErrorCode(12302)}else ir.setErrorCode(12290);else ir.setErrorCode(12289);return 0},_g:e=>62e3!=e?(ir.setErrorCode(12296),0):(ir.currentContext=0,ir.currentReadSurface=0,ir.currentDrawSurface=0,ir.defaultDisplayInitialized=!1,ir.setErrorCode(12288),1),G:(e,t,r)=>lr(e,t,r),Ea:e=>{console.error(Y(e))},Zg:e=>{console.log(Y(e))},Yg:e=>{console.warn(Y(e))},Da:Yt,Xg:()=>{},Wg:()=>2147483648,Vg:e=>rr.activeTexture(e),Ug:(e,t)=>{rr.attachShader(ar.programs[e],ar.shaders[t])},Tg:(e,t)=>{rr.beginQuery(e,ar.queries[t])},Sg:(e,t)=>{rr.disjointTimerQueryExt.beginQueryEXT(e,ar.queries[t])},Rg:e=>rr.beginTransformFeedback(e),Qg:(e,t,r)=>{rr.bindAttribLocation(ar.programs[e],t,Y(r))},Pg:(e,t)=>{35051==e?rr.currentPixelPackBufferBinding=t:35052==e&&(rr.currentPixelUnpackBufferBinding=t),rr.bindBuffer(e,ar.buffers[t])},Og:(e,t,r)=>{rr.bindBufferBase(e,t,ar.buffers[r])},Ng:(e,t,r,n,o)=>{rr.bindBufferRange(e,t,ar.buffers[r],n,o)},Mg:(e,t)=>{rr.bindFramebuffer(e,ar.framebuffers[t])},Lg:(e,t)=>{rr.bindRenderbuffer(e,ar.renderbuffers[t])},Kg:(e,t)=>{rr.bindSampler(e,ar.samplers[t])},Jg:(e,t)=>{rr.bindTexture(e,ar.textures[t])},Ig:(e,t)=>{rr.bindTransformFeedback(e,ar.transformFeedbacks[t])},Hg:cr,Gg:ur,Fg:(e,t,r,n)=>rr.blendColor(e,t,r,n),Eg:e=>rr.blendEquation(e),Dg:(e,t)=>rr.blendEquationSeparate(e,t),Cg:(e,t)=>rr.blendFunc(e,t),Bg:(e,t,r,n)=>rr.blendFuncSeparate(e,t,r,n),Ag:(e,t,r,n,o,i,a,s,l,c)=>rr.blitFramebuffer(e,t,r,n,o,i,a,s,l,c),zg:(e,t,r,n)=>{ar.currentContext.version>=2?r&&t?rr.bufferData(e,U,n,r,t):rr.bufferData(e,t,n):rr.bufferData(e,r?U.subarray(r,r+t):t,n)},yg:(e,t,r,n)=>((e,t,r,n,o=U)=>{ar.currentContext.version>=2?r&&rr.bufferSubData(e,t,o,n,r):rr.bufferSubData(e,t,o.subarray(n,n+r))})(e,t,r,n),xg:e=>rr.checkFramebufferStatus(e),wg:e=>rr.clear(e),vg:(e,t,r,n)=>rr.clearBufferfi(e,t,r,n),ug:(e,t,r)=>{rr.clearBufferfv(e,t,D,r>>2)},tg:(e,t,r)=>{rr.clearBufferiv(e,t,F,r>>2)},sg:(e,t,r)=>{rr.clearBufferuiv(e,t,L,r>>2)},rg:(e,t,r,n)=>rr.clearColor(e,t,r,n),qg:e=>rr.clearDepth(e),pg:e=>rr.clearStencil(e),og:(e,t,r)=>(r=Number(r),rr.clientWaitSync(ar.syncs[e],t,r)),ng:(e,t)=>{rr.extClipControl.clipControlEXT(e,t)},mg:(e,t,r,n)=>{rr.colorMask(!!e,!!t,!!r,!!n)},lg:e=>{rr.compileShader(ar.shaders[e])},kg:(e,t,r,n,o,i,a,s)=>{if(ar.currentContext.version>=2)return rr.currentPixelUnpackBufferBinding||!a?void rr.compressedTexImage2D(e,t,r,n,o,i,a,s):void rr.compressedTexImage2D(e,t,r,n,o,i,U,s,a);rr.compressedTexImage2D(e,t,r,n,o,i,U.subarray(s,s+a))},jg:(e,t,r,n,o,i,a,s,l)=>{rr.currentPixelUnpackBufferBinding?rr.compressedTexImage3D(e,t,r,n,o,i,a,s,l):rr.compressedTexImage3D(e,t,r,n,o,i,a,U,l,s)},ig:(e,t,r,n,o,i,a,s,l)=>{if(ar.currentContext.version>=2)return rr.currentPixelUnpackBufferBinding||!s?void rr.compressedTexSubImage2D(e,t,r,n,o,i,a,s,l):void rr.compressedTexSubImage2D(e,t,r,n,o,i,a,U,l,s);rr.compressedTexSubImage2D(e,t,r,n,o,i,a,U.subarray(l,l+s))},hg:(e,t,r,n,o,i,a,s,l,c,d)=>{rr.currentPixelUnpackBufferBinding?rr.compressedTexSubImage3D(e,t,r,n,o,i,a,s,l,c,d):rr.compressedTexSubImage3D(e,t,r,n,o,i,a,s,l,U,d,c)},gg:(e,t,r,n,o)=>rr.copyBufferSubData(e,t,r,n,o),fg:(e,t,r,n,o,i,a,s)=>rr.copyTexImage2D(e,t,r,n,o,i,a,s),eg:(e,t,r,n,o,i,a,s)=>rr.copyTexSubImage2D(e,t,r,n,o,i,a,s),dg:(e,t,r,n,o,i,a,s,l)=>rr.copyTexSubImage3D(e,t,r,n,o,i,a,s,l),cg:()=>{var e=ar.getNewId(ar.programs),t=rr.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,ar.programs[e]=t,e},bg:e=>{var t=ar.getNewId(ar.shaders);return ar.shaders[t]=rr.createShader(e),t},ag:e=>rr.cullFace(e),$f:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.buffers[n];o&&(rr.deleteBuffer(o),o.name=0,ar.buffers[n]=null,n==rr.currentPixelPackBufferBinding&&(rr.currentPixelPackBufferBinding=0),n==rr.currentPixelUnpackBufferBinding&&(rr.currentPixelUnpackBufferBinding=0))}},_f:(e,t)=>{for(var r=0;r<e;++r){var n=F[t+4*r>>2],o=ar.framebuffers[n];o&&(rr.deleteFramebuffer(o),o.name=0,ar.framebuffers[n]=null)}},Zf:e=>{if(e){var t=ar.programs[e];t?(rr.deleteProgram(t),t.name=0,ar.programs[e]=null):ar.recordError(1281)}},Yf:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.queries[n];o&&(rr.deleteQuery(o),ar.queries[n]=null)}},Xf:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.queries[n];o&&(rr.disjointTimerQueryExt.deleteQueryEXT(o),ar.queries[n]=null)}},Wf:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.renderbuffers[n];o&&(rr.deleteRenderbuffer(o),o.name=0,ar.renderbuffers[n]=null)}},Vf:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.samplers[n];o&&(rr.deleteSampler(o),o.name=0,ar.samplers[n]=null)}},Uf:e=>{if(e){var t=ar.shaders[e];t?(rr.deleteShader(t),ar.shaders[e]=null):ar.recordError(1281)}},Tf:e=>{if(e){var t=ar.syncs[e];t?(rr.deleteSync(t),t.name=0,ar.syncs[e]=null):ar.recordError(1281)}},Sf:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.textures[n];o&&(rr.deleteTexture(o),o.name=0,ar.textures[n]=null)}},Rf:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.transformFeedbacks[n];o&&(rr.deleteTransformFeedback(o),o.name=0,ar.transformFeedbacks[n]=null)}},Qf:pr,Pf:gr,Of:e=>rr.depthFunc(e),Nf:e=>{rr.depthMask(!!e)},Mf:(e,t)=>rr.depthRange(e,t),Lf:(e,t)=>{rr.detachShader(ar.programs[e],ar.shaders[t])},Kf:e=>rr.disable(e),Jf:e=>{rr.disableVertexAttribArray(e)},If:(e,t,r)=>{rr.drawArrays(e,t,r)},Hf:fr,Gf:br,Ff:yr,Ef:(e,t,r,n,o)=>{rr.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,t,r,n,o)},Df:vr,Cf:wr,Bf:_r,Af:Er,zf:Cr,yf:Tr,xf:xr,wf:Ar,vf:Fr,uf:(e,t,r,n,o,i,a)=>{rr.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,t,r,n,o,i,a)},tf:Mr,sf:Ir,rf:(e,t,r,n,o,i)=>{Dr(e,n,o,i)},qf:e=>rr.enable(e),pf:e=>{rr.enableVertexAttribArray(e)},of:e=>rr.endQuery(e),nf:e=>{rr.disjointTimerQueryExt.endQueryEXT(e)},mf:()=>rr.endTransformFeedback(),lf:(e,t)=>{var r=rr.fenceSync(e,t);if(r){var n=ar.getNewId(ar.syncs);return r.name=n,ar.syncs[n]=r,n}return 0},kf:()=>rr.finish(),jf:()=>rr.flush(),hf:(e,t,r,n)=>{rr.framebufferRenderbuffer(e,t,r,ar.renderbuffers[n])},gf:(e,t,r,n,o)=>{rr.framebufferTexture2D(e,t,r,ar.textures[n],o)},ff:(e,t,r,n,o)=>{rr.framebufferTextureLayer(e,t,ar.textures[r],n,o)},ef:e=>rr.frontFace(e),df:(e,t)=>{ar.genObject(e,t,"createBuffer",ar.buffers)},cf:(e,t)=>{ar.genObject(e,t,"createFramebuffer",ar.framebuffers)},bf:(e,t)=>{ar.genObject(e,t,"createQuery",ar.queries)},af:(e,t)=>{for(var r=0;r<e;r++){var n=rr.disjointTimerQueryExt.createQueryEXT();if(!n){for(ar.recordError(1282);r<e;)F[t+4*r++>>2]=0;return}var o=ar.getNewId(ar.queries);n.name=o,ar.queries[o]=n,F[t+4*r>>2]=o}},$e:(e,t)=>{ar.genObject(e,t,"createRenderbuffer",ar.renderbuffers)},_e:(e,t)=>{ar.genObject(e,t,"createSampler",ar.samplers)},Ze:(e,t)=>{ar.genObject(e,t,"createTexture",ar.textures)},Ye:(e,t)=>{ar.genObject(e,t,"createTransformFeedback",ar.transformFeedbacks)},Xe:Rr,We:Br,Ve:e=>rr.generateMipmap(e),Ue:(e,t,r,n,o,i,a)=>Lr("getActiveAttrib",e,t,r,n,o,i,a),Te:(e,t,r,n,o,i,a)=>Lr("getActiveUniform",e,t,r,n,o,i,a),Se:(e,t,r,n,o)=>{e=ar.programs[e];var i=rr.getActiveUniformBlockName(e,t);if(i)if(o&&r>0){var a=ae(i,o,r);n&&(F[n>>2]=a)}else n&&(F[n>>2]=0)},Re:(e,t,r,n)=>{if(n)if(e=ar.programs[e],35393!=r){var o=rr.getActiveUniformBlockParameter(e,t,r);if(null!==o)if(35395==r)for(var i=0;i<o.length;i++)F[n+4*i>>2]=o[i];else F[n>>2]=o}else{var a=rr.getActiveUniformBlockName(e,t);F[n>>2]=a.length+1}else ar.recordError(1281)},Qe:(e,t,r,n,o)=>{if(o)if(t>0&&0==r)ar.recordError(1281);else{e=ar.programs[e];for(var i=[],a=0;a<t;a++)i.push(F[r+4*a>>2]);var s=rr.getActiveUniforms(e,i,n);if(s){var l=s.length;for(a=0;a<l;a++)F[o+4*a>>2]=s[a]}}else ar.recordError(1281)},Pe:(e,t,r,n)=>{var o=rr.getAttachedShaders(ar.programs[e]),i=o.length;i>t&&(i=t),F[r>>2]=i;for(var a=0;a<i;++a){var s=ar.shaders.indexOf(o[a]);F[n+4*a>>2]=s}},Oe:(e,t)=>rr.getAttribLocation(ar.programs[e],Y(t)),Ne:(e,t)=>qr(e,t,4),Me:(e,t,r)=>{r?Or(r,rr.getBufferParameter(e,t)):ar.recordError(1281)},Le:(e,t,r)=>{r?F[r>>2]=rr.getBufferParameter(e,t):ar.recordError(1281)},Ke:()=>{var e=rr.getError()||ar.lastError;return ar.lastError=0,e},Je:(e,t)=>qr(e,t,2),Ie:(e,t)=>rr.getFragDataLocation(ar.programs[e],Y(t)),He:(e,t,r,n)=>{var o=rr.getFramebufferAttachmentParameter(e,t,r);(o instanceof WebGLRenderbuffer||o instanceof WebGLTexture)&&(o=0|o.name),F[n>>2]=o},Ge:(e,t,r)=>Wr(e,t,r,1),Fe:(e,t)=>{qr(e,t,1)},Ee:(e,t,r)=>Wr(e,t,r,0),De:(e,t)=>qr(e,t,0),Ce:(e,t,r,n,o)=>{if(n<0)ar.recordError(1281);else if(o){var i=rr.getInternalformatParameter(e,t,r);if(null!==i)for(var a=0;a<i.length&&a<n;++a)F[o+4*a>>2]=i[a]}else ar.recordError(1281)},Be:(e,t,r,n,o)=>{ar.recordError(1282)},Ae:(e,t,r,n)=>{var o=rr.getProgramInfoLog(ar.programs[e]);null===o&&(o="(unknown error)");var i=t>0&&n?ae(o,n,t):0;r&&(F[r>>2]=i)},ze:(e,t,r)=>{if(r)if(e>=ar.counter)ar.recordError(1281);else if(e=ar.programs[e],35716==t){var n=rr.getProgramInfoLog(e);null===n&&(n="(unknown error)"),F[r>>2]=n.length+1}else if(35719==t){if(!e.maxUniformLength)for(var o=rr.getProgramParameter(e,35718),i=0;i<o;++i)e.maxUniformLength=Math.max(e.maxUniformLength,rr.getActiveUniform(e,i).name.length+1);F[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength){var a=rr.getProgramParameter(e,35721);for(i=0;i<a;++i)e.maxAttributeLength=Math.max(e.maxAttributeLength,rr.getActiveAttrib(e,i).name.length+1)}F[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength){var s=rr.getProgramParameter(e,35382);for(i=0;i<s;++i)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,rr.getActiveUniformBlockName(e,i).length+1)}F[r>>2]=e.maxUniformBlockNameLength}else F[r>>2]=rr.getProgramParameter(e,t);else ar.recordError(1281)},ye:Hr,xe:$r,we:Nr,ve:(e,t,r)=>{if(r){var n,o=ar.queries[e],i=rr.getQueryParameter(o,t);n="boolean"==typeof i?i?1:0:i,F[r>>2]=n}else ar.recordError(1281)},ue:Vr,te:(e,t,r)=>{r?F[r>>2]=rr.getQuery(e,t):ar.recordError(1281)},se:(e,t,r)=>{r?F[r>>2]=rr.disjointTimerQueryExt.getQueryEXT(e,t):ar.recordError(1281)},re:(e,t,r)=>{r?F[r>>2]=rr.getRenderbufferParameter(e,t):ar.recordError(1281)},qe:(e,t,r)=>{r?D[r>>2]=rr.getSamplerParameter(ar.samplers[e],t):ar.recordError(1281)},pe:(e,t,r)=>{r?F[r>>2]=rr.getSamplerParameter(ar.samplers[e],t):ar.recordError(1281)},oe:(e,t,r,n)=>{var o=rr.getShaderInfoLog(ar.shaders[e]);null===o&&(o="(unknown error)");var i=t>0&&n?ae(o,n,t):0;r&&(F[r>>2]=i)},ne:(e,t,r,n)=>{var o=rr.getShaderPrecisionFormat(e,t);F[r>>2]=o.rangeMin,F[r+4>>2]=o.rangeMax,F[n>>2]=o.precision},me:(e,t,r,n)=>{var o=rr.getShaderSource(ar.shaders[e]);if(o){var i=t>0&&n?ae(o,n,t):0;r&&(F[r>>2]=i)}},le:(e,t,r)=>{if(r)if(35716==t){var n=rr.getShaderInfoLog(ar.shaders[e]);null===n&&(n="(unknown error)");var o=n?n.length+1:0;F[r>>2]=o}else if(35720==t){var i=rr.getShaderSource(ar.shaders[e]),a=i?i.length+1:0;F[r>>2]=a}else F[r>>2]=rr.getShaderParameter(ar.shaders[e],t);else ar.recordError(1281)},Ca:e=>{var t=ar.stringCache[e];if(!t){switch(e){case 7939:t=se(Ur().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=rr.getParameter(e);r||ar.recordError(1280),t=r?se(r):0;break;case 7938:var n=rr.getParameter(7938),o=`OpenGL ES 2.0 (${n})`;ar.currentContext.version>=2&&(o=`OpenGL ES 3.0 (${n})`),t=se(o);break;case 35724:var i=rr.getParameter(35724),a=i.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==a&&(3==a[1].length&&(a[1]=a[1]+"0"),i=`OpenGL ES GLSL ES ${a[1]} (${i})`),t=se(i);break;default:ar.recordError(1280)}ar.stringCache[e]=t}return t},ke:(e,t)=>{if(ar.currentContext.version<2)return ar.recordError(1282),0;var r=ar.stringiCache[e];if(r)return t<0||t>=r.length?(ar.recordError(1281),0):r[t];if(7939===e){var n=Ur().map(se);return r=ar.stringiCache[e]=n,t<0||t>=r.length?(ar.recordError(1281),0):r[t]}return ar.recordError(1280),0},je:(e,t,r,n,o)=>{if(r<0)ar.recordError(1281);else if(o){var i=rr.getSyncParameter(ar.syncs[e],t);null!==i&&(F[o>>2]=i,n&&(F[n>>2]=1))}else ar.recordError(1281)},ie:(e,t,r)=>{r?D[r>>2]=rr.getTexParameter(e,t):ar.recordError(1281)},he:(e,t,r)=>{r?F[r>>2]=rr.getTexParameter(e,t):ar.recordError(1281)},ge:(e,t,r,n,o,i,a)=>{e=ar.programs[e];var s=rr.getTransformFeedbackVarying(e,t);if(s){if(a&&r>0){var l=ae(s.name,a,r);n&&(F[n>>2]=l)}else n&&(F[n>>2]=0);o&&(F[o>>2]=s.size),i&&(F[i>>2]=s.type)}},fe:(e,t)=>rr.getUniformBlockIndex(ar.programs[e],Y(t)),ee:(e,t,r,n)=>{if(n)if(t>0&&(0==r||0==n))ar.recordError(1281);else{e=ar.programs[e];for(var o=[],i=0;i<t;i++)o.push(Y(L[r+4*i>>2]));var a=rr.getUniformIndices(e,o);if(a){var s=a.length;for(i=0;i<s;i++)F[n+4*i>>2]=a[i]}}else ar.recordError(1281)},de:(e,t)=>{if(t=Y(t),e=ar.programs[e]){Gr(e);var r=e.uniformLocsById,n=0,o=t,i=zr(t);i>0&&(s=t.slice(i+1),n=parseInt(s)>>>0,o=t.slice(0,i));var a=e.uniformSizeAndIdsByName[o];if(a&&n<a[0]&&(r[n+=a[1]]=r[n]||rr.getUniformLocation(e,t)))return n}else ar.recordError(1281);var s;return-1},ce:(e,t,r)=>{Xr(e,t,r,2)},be:(e,t,r)=>{Xr(e,t,r,0)},ae:(e,t,r)=>Xr(e,t,r,0),$d:Kr,_d:Qr,Zd:(e,t,r)=>{r?F[r>>2]=rr.getVertexAttribOffset(e,t):ar.recordError(1281)},Yd:(e,t,r)=>{Yr(e,t,r,2)},Xd:(e,t,r)=>{Yr(e,t,r,5)},Wd:(e,t)=>rr.hint(e,t),Vd:(e,t,r)=>{for(var n=kr[t],o=0;o<t;o++)n[o]=F[r+4*o>>2];rr.invalidateFramebuffer(e,n)},Ud:(e,t,r,n,o,i,a)=>{for(var s=kr[t],l=0;l<t;l++)s[l]=F[r+4*l>>2];rr.invalidateSubFramebuffer(e,s,n,o,i,a)},Td:e=>{var t=ar.buffers[e];return t?rr.isBuffer(t):0},Sd:e=>rr.isEnabled(e),Rd:e=>{var t=ar.framebuffers[e];return t?rr.isFramebuffer(t):0},Qd:e=>(e=ar.programs[e])?rr.isProgram(e):0,Pd:e=>{var t=ar.queries[e];return t?rr.isQuery(t):0},Od:e=>{var t=ar.queries[e];return t?rr.disjointTimerQueryExt.isQueryEXT(t):0},Nd:e=>{var t=ar.renderbuffers[e];return t?rr.isRenderbuffer(t):0},Md:e=>{var t=ar.samplers[e];return t?rr.isSampler(t):0},Ld:e=>{var t=ar.shaders[e];return t?rr.isShader(t):0},Kd:e=>rr.isSync(ar.syncs[e]),Jd:e=>{var t=ar.textures[e];return t?rr.isTexture(t):0},Id:e=>rr.isTransformFeedback(ar.transformFeedbacks[e]),Hd:Zr,Gd:Jr,Fd:e=>rr.lineWidth(e),Ed:e=>{e=ar.programs[e],rr.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Dd:(e,t,r,n,o,i)=>{rr.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,F,t>>2,F,r>>2,F,n>>2,L,o>>2,i)},Cd:(e,t,r,n,o,i,a,s)=>{rr.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,F,t>>2,r,F,n>>2,F,o>>2,F,i>>2,L,a>>2,s)},Bd:()=>rr.pauseTransformFeedback(),Ad:(e,t)=>{3317==e?ar.unpackAlignment=t:3314==e&&(ar.unpackRowLength=t),rr.pixelStorei(e,t)},zd:(e,t)=>{rr.webglPolygonMode.polygonModeWEBGL(e,t)},yd:(e,t)=>rr.polygonOffset(e,t),xd:(e,t,r)=>{rr.extPolygonOffsetClamp.polygonOffsetClampEXT(e,t,r)},wd:(e,t,r,n)=>{ar.recordError(1280)},vd:(e,t,r)=>{ar.recordError(1280)},ud:(e,t)=>{rr.disjointTimerQueryExt.queryCounterEXT(ar.queries[e],t)},td:e=>rr.readBuffer(e),sd:(e,t,r,n,o,i,a)=>{if(ar.currentContext.version>=2){if(rr.currentPixelPackBufferBinding)return void rr.readPixels(e,t,r,n,o,i,a);var s=en(i),l=tn(a,s);rr.readPixels(e,t,r,n,o,i,s,l)}else{var c=rn(i,o,r,n,a);c?rr.readPixels(e,t,r,n,o,i,c):ar.recordError(1280)}},rd:()=>{},qd:(e,t,r,n)=>rr.renderbufferStorage(e,t,r,n),pd:(e,t,r,n,o)=>rr.renderbufferStorageMultisample(e,t,r,n,o),od:()=>rr.resumeTransformFeedback(),nd:(e,t)=>{rr.sampleCoverage(e,!!t)},md:(e,t,r)=>{rr.samplerParameterf(ar.samplers[e],t,r)},ld:(e,t,r)=>{var n=D[r>>2];rr.samplerParameterf(ar.samplers[e],t,n)},kd:(e,t,r)=>{rr.samplerParameteri(ar.samplers[e],t,r)},jd:(e,t,r)=>{var n=F[r>>2];rr.samplerParameteri(ar.samplers[e],t,n)},id:(e,t,r,n)=>rr.scissor(e,t,r,n),hd:(e,t,r,n,o)=>{ar.recordError(1280)},gd:(e,t,r,n)=>{var o=ar.getSource(e,t,r,n);if(ar.currentContext.version>=2&&o.includes("#version 100")){var i="";(o=(o=o.replace(/#extension GL_OES_standard_derivatives : enable/g,"")).replace(/#extension GL_EXT_shader_texture_lod : enable/g,"")).includes("gl_FragColor")&&(i+="out mediump vec4 GL_FragColor;\n",o=o.replace(/gl_FragColor/g,"GL_FragColor")),o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=o.includes("attribute")?(o=o.replace(/attribute/g,"in")).replace(/varying/g,"out"):o.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"+i)}rr.shaderSource(ar.shaders[e],o)},fd:(e,t,r)=>rr.stencilFunc(e,t,r),ed:(e,t,r,n)=>rr.stencilFuncSeparate(e,t,r,n),dd:e=>rr.stencilMask(e),cd:(e,t)=>rr.stencilMaskSeparate(e,t),bd:(e,t,r)=>rr.stencilOp(e,t,r),ad:(e,t,r,n)=>rr.stencilOpSeparate(e,t,r,n),$c:(e,t,r,n,o,i,a,s,l)=>{if(ar.currentContext.version>=2&&(6402==a&&6402==r&&5125==s&&(r=33190),36193==s&&(s=5131,6408==a&&6408==r&&(r=34842)),34041==r&&(r=35056),6408==r&&5126==s&&(r=34836)),ar.currentContext.version>=2){if(rr.currentPixelUnpackBufferBinding)return void rr.texImage2D(e,t,r,n,o,i,a,s,l);if(l){var c=en(s),d=tn(l,c);return void rr.texImage2D(e,t,r,n,o,i,a,s,c,d)}}var u=l?rn(s,a,n,o,l):null;rr.texImage2D(e,t,r,n,o,i,a,s,u)},_c:(e,t,r,n,o,i,a,s,l,c)=>{if(rr.currentPixelUnpackBufferBinding)rr.texImage3D(e,t,r,n,o,i,a,s,l,c);else if(c){var d=en(l);rr.texImage3D(e,t,r,n,o,i,a,s,l,d,tn(c,d))}else rr.texImage3D(e,t,r,n,o,i,a,s,l,null)},Zc:(e,t,r)=>rr.texParameterf(e,t,r),Yc:(e,t,r)=>{var n=D[r>>2];rr.texParameterf(e,t,n)},Xc:(e,t,r)=>rr.texParameteri(e,t,r),Wc:(e,t,r)=>{var n=F[r>>2];rr.texParameteri(e,t,n)},Vc:(e,t,r,n,o)=>rr.texStorage2D(e,t,r,n,o),Uc:(e,t,r,n,o,i)=>rr.texStorage3D(e,t,r,n,o,i),Tc:(e,t,r,n,o,i,a,s,l)=>{if(ar.currentContext.version>=2&&36193==s&&(s=5131),ar.currentContext.version>=2){if(rr.currentPixelUnpackBufferBinding)return void rr.texSubImage2D(e,t,r,n,o,i,a,s,l);if(l){var c=en(s);return void rr.texSubImage2D(e,t,r,n,o,i,a,s,c,tn(l,c))}}var d=l?rn(s,a,o,i,l):null;rr.texSubImage2D(e,t,r,n,o,i,a,s,d)},Sc:(e,t,r,n,o,i,a,s,l,c,d)=>{if(rr.currentPixelUnpackBufferBinding)rr.texSubImage3D(e,t,r,n,o,i,a,s,l,c,d);else if(d){var u=en(c);rr.texSubImage3D(e,t,r,n,o,i,a,s,l,c,u,tn(d,u))}else rr.texSubImage3D(e,t,r,n,o,i,a,s,l,c,null)},Rc:(e,t,r,n)=>{e=ar.programs[e];for(var o=[],i=0;i<t;i++)o.push(Y(L[r+4*i>>2]));rr.transformFeedbackVaryings(e,o,n)},Qc:(e,t)=>{rr.uniform1f(nn(e),t)},Pc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform1fv(nn(e),D,r>>2,t);else{if(t<=288)for(var n=on[t],o=0;o<t;++o)n[o]=D[r+4*o>>2];else n=D.subarray(r>>2,r+4*t>>2);rr.uniform1fv(nn(e),n)}},Oc:(e,t)=>{rr.uniform1i(nn(e),t)},Nc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform1iv(nn(e),F,r>>2,t);else{if(t<=288)for(var n=an[t],o=0;o<t;++o)n[o]=F[r+4*o>>2];else n=F.subarray(r>>2,r+4*t>>2);rr.uniform1iv(nn(e),n)}},Mc:(e,t)=>{rr.uniform1ui(nn(e),t)},Lc:(e,t,r)=>{t&&rr.uniform1uiv(nn(e),L,r>>2,t)},Kc:(e,t,r)=>{rr.uniform2f(nn(e),t,r)},Jc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform2fv(nn(e),D,r>>2,2*t);else{if(t<=144)for(var n=on[t*=2],o=0;o<t;o+=2)n[o]=D[r+4*o>>2],n[o+1]=D[r+(4*o+4)>>2];else n=D.subarray(r>>2,r+8*t>>2);rr.uniform2fv(nn(e),n)}},Ic:(e,t,r)=>{rr.uniform2i(nn(e),t,r)},Hc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform2iv(nn(e),F,r>>2,2*t);else{if(t<=144)for(var n=an[t*=2],o=0;o<t;o+=2)n[o]=F[r+4*o>>2],n[o+1]=F[r+(4*o+4)>>2];else n=F.subarray(r>>2,r+8*t>>2);rr.uniform2iv(nn(e),n)}},Gc:(e,t,r)=>{rr.uniform2ui(nn(e),t,r)},Fc:(e,t,r)=>{t&&rr.uniform2uiv(nn(e),L,r>>2,2*t)},Ec:(e,t,r,n)=>{rr.uniform3f(nn(e),t,r,n)},Dc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform3fv(nn(e),D,r>>2,3*t);else{if(t<=96)for(var n=on[t*=3],o=0;o<t;o+=3)n[o]=D[r+4*o>>2],n[o+1]=D[r+(4*o+4)>>2],n[o+2]=D[r+(4*o+8)>>2];else n=D.subarray(r>>2,r+12*t>>2);rr.uniform3fv(nn(e),n)}},Cc:(e,t,r,n)=>{rr.uniform3i(nn(e),t,r,n)},Bc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform3iv(nn(e),F,r>>2,3*t);else{if(t<=96)for(var n=an[t*=3],o=0;o<t;o+=3)n[o]=F[r+4*o>>2],n[o+1]=F[r+(4*o+4)>>2],n[o+2]=F[r+(4*o+8)>>2];else n=F.subarray(r>>2,r+12*t>>2);rr.uniform3iv(nn(e),n)}},Ac:(e,t,r,n)=>{rr.uniform3ui(nn(e),t,r,n)},zc:(e,t,r)=>{t&&rr.uniform3uiv(nn(e),L,r>>2,3*t)},yc:(e,t,r,n,o)=>{rr.uniform4f(nn(e),t,r,n,o)},xc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform4fv(nn(e),D,r>>2,4*t);else{if(t<=72){var n=on[4*t],o=D;r>>=2,t*=4;for(var i=0;i<t;i+=4){var a=r+i;n[i]=o[a],n[i+1]=o[a+1],n[i+2]=o[a+2],n[i+3]=o[a+3]}}else n=D.subarray(r>>2,r+16*t>>2);rr.uniform4fv(nn(e),n)}},wc:(e,t,r,n,o)=>{rr.uniform4i(nn(e),t,r,n,o)},vc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform4iv(nn(e),F,r>>2,4*t);else{if(t<=72)for(var n=an[t*=4],o=0;o<t;o+=4)n[o]=F[r+4*o>>2],n[o+1]=F[r+(4*o+4)>>2],n[o+2]=F[r+(4*o+8)>>2],n[o+3]=F[r+(4*o+12)>>2];else n=F.subarray(r>>2,r+16*t>>2);rr.uniform4iv(nn(e),n)}},uc:(e,t,r,n,o)=>{rr.uniform4ui(nn(e),t,r,n,o)},tc:(e,t,r)=>{t&&rr.uniform4uiv(nn(e),L,r>>2,4*t)},sc:(e,t,r)=>{e=ar.programs[e],rr.uniformBlockBinding(e,t,r)},rc:(e,t,r,n)=>{if(ar.currentContext.version>=2)t&&rr.uniformMatrix2fv(nn(e),!!r,D,n>>2,4*t);else{if(t<=72)for(var o=on[t*=4],i=0;i<t;i+=4)o[i]=D[n+4*i>>2],o[i+1]=D[n+(4*i+4)>>2],o[i+2]=D[n+(4*i+8)>>2],o[i+3]=D[n+(4*i+12)>>2];else o=D.subarray(n>>2,n+16*t>>2);rr.uniformMatrix2fv(nn(e),!!r,o)}},qc:(e,t,r,n)=>{t&&rr.uniformMatrix2x3fv(nn(e),!!r,D,n>>2,6*t)},pc:(e,t,r,n)=>{t&&rr.uniformMatrix2x4fv(nn(e),!!r,D,n>>2,8*t)},oc:(e,t,r,n)=>{if(ar.currentContext.version>=2)t&&rr.uniformMatrix3fv(nn(e),!!r,D,n>>2,9*t);else{if(t<=32)for(var o=on[t*=9],i=0;i<t;i+=9)o[i]=D[n+4*i>>2],o[i+1]=D[n+(4*i+4)>>2],o[i+2]=D[n+(4*i+8)>>2],o[i+3]=D[n+(4*i+12)>>2],o[i+4]=D[n+(4*i+16)>>2],o[i+5]=D[n+(4*i+20)>>2],o[i+6]=D[n+(4*i+24)>>2],o[i+7]=D[n+(4*i+28)>>2],o[i+8]=D[n+(4*i+32)>>2];else o=D.subarray(n>>2,n+36*t>>2);rr.uniformMatrix3fv(nn(e),!!r,o)}},nc:(e,t,r,n)=>{t&&rr.uniformMatrix3x2fv(nn(e),!!r,D,n>>2,6*t)},mc:(e,t,r,n)=>{t&&rr.uniformMatrix3x4fv(nn(e),!!r,D,n>>2,12*t)},lc:(e,t,r,n)=>{if(ar.currentContext.version>=2)t&&rr.uniformMatrix4fv(nn(e),!!r,D,n>>2,16*t);else{if(t<=18){var o=on[16*t],i=D;n>>=2,t*=16;for(var a=0;a<t;a+=16){var s=n+a;o[a]=i[s],o[a+1]=i[s+1],o[a+2]=i[s+2],o[a+3]=i[s+3],o[a+4]=i[s+4],o[a+5]=i[s+5],o[a+6]=i[s+6],o[a+7]=i[s+7],o[a+8]=i[s+8],o[a+9]=i[s+9],o[a+10]=i[s+10],o[a+11]=i[s+11],o[a+12]=i[s+12],o[a+13]=i[s+13],o[a+14]=i[s+14],o[a+15]=i[s+15]}}else o=D.subarray(n>>2,n+64*t>>2);rr.uniformMatrix4fv(nn(e),!!r,o)}},kc:(e,t,r,n)=>{t&&rr.uniformMatrix4x2fv(nn(e),!!r,D,n>>2,8*t)},jc:(e,t,r,n)=>{t&&rr.uniformMatrix4x3fv(nn(e),!!r,D,n>>2,12*t)},ic:e=>{e=ar.programs[e],rr.useProgram(e),rr.currentProgram=e},hc:e=>{rr.validateProgram(ar.programs[e])},gc:(e,t)=>rr.vertexAttrib1f(e,t),fc:(e,t)=>{rr.vertexAttrib1f(e,D[t>>2])},ec:(e,t,r)=>rr.vertexAttrib2f(e,t,r),dc:(e,t)=>{rr.vertexAttrib2f(e,D[t>>2],D[t+4>>2])},cc:(e,t,r,n)=>rr.vertexAttrib3f(e,t,r,n),bc:(e,t)=>{rr.vertexAttrib3f(e,D[t>>2],D[t+4>>2],D[t+8>>2])},ac:(e,t,r,n,o)=>rr.vertexAttrib4f(e,t,r,n,o),$b:(e,t)=>{rr.vertexAttrib4f(e,D[t>>2],D[t+4>>2],D[t+8>>2],D[t+12>>2])},_b:sn,Zb:ln,Yb:cn,Xb:dn,Wb:un,Vb:(e,t,r,n,o)=>rr.vertexAttribI4i(e,t,r,n,o),Ub:(e,t)=>{rr.vertexAttribI4i(e,F[t>>2],F[t+4>>2],F[t+8>>2],F[t+12>>2])},Tb:(e,t,r,n,o)=>rr.vertexAttribI4ui(e,t,r,n,o),Sb:(e,t)=>{rr.vertexAttribI4ui(e,L[t>>2],L[t+4>>2],L[t+8>>2],L[t+12>>2])},Rb:(e,t,r,n,o)=>{rr.vertexAttribIPointer(e,t,r,n,o)},Qb:(e,t,r,n,o,i)=>{rr.vertexAttribPointer(e,t,r,!!n,o,i)},Pb:(e,t,r,n)=>rr.viewport(e,t,r,n),Ob:(e,t,r)=>{r=Number(r),rr.waitSync(ar.syncs[e],t,r)},Nb:e=>{var t=U.length,r=2147483648;if((e>>>=0)>r)return!1;for(var n=1;n<=4;n*=2){var o=t*(1+.2/n);o=Math.min(o,e+100663296);var i=Math.min(r,me(Math.max(e,o),65536));if(pn(i))return!0}return!1},Mb:function(e,t,r,n,o,i,a,s,c){const d=l.UTF8ToString(e,e+t),u=l.HEAPU8.subarray(o,o+i),p=l.emscripten_ubq_codec_audioDecoderNextHandle++,h={codec:d,sampleRate:r,numberOfChannels:n};u.length>0&&(h.description=u);try{const e=l.emscripten_ubq_codec_createAudioDecoder(a,s,c);AudioDecoder.isConfigSupported(h).then(t=>{e.configUnsupported=!t},()=>{e.configUnsupported=!0}),e.configure(h),l.emscripten_ubq_codec_audioDecoders.set(p,{audioDecoder:e,decoderConfig:h,leftBufferPtr:a,rightBufferPtr:s,bufferLength:c,opfsUri:""})}catch(e){return l.emscripten_ubq_codec_createNativeResult({error:e})}return l.emscripten_ubq_codec_createNativeResult({handle:p})},Lb:function(e,t,r,n,o,i){const a=l.UTF8ToString(e,e+t),s=l.emscripten_ubq_codec_audioEncoderNextHandle++,c={codec:a,sampleRate:r,numberOfChannels:n,bitrate:o};try{const e=new AudioEncoder({output:e=>{const t=l._malloc(e.byteLength),r=l.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),l.emscripten_ubq_codec_onOutputEncodedAudioChunk(s,t,e.byteLength,i),l._free(t)},error:e=>{l.emscripten_ubq_codec_audioEncoders.get(s).frameIndex>1&&console.error(e)}});e.configure(c),l.emscripten_ubq_codec_audioEncoders.set(s,{audioEncoder:e,audioEncoderConfig:c,frameIndex:0})}catch(e){return e+=' Requested codec: "'+a+'"',e+="; sample rate: "+r,e+="; channels: "+n,e+="; bit rate: "+o,l.emscripten_ubq_codec_createNativeResult({error:e})}return l.emscripten_ubq_codec_createNativeResult({handle:s})},Kb:function(e,t,r,n,o,i,a,s){const c=l.UTF8ToString(e,e+t),d=l.HEAPU8.subarray(i,i+a),u=l.emscripten_ubq_codec_videoDecoderNextHandle++,p={codec:c,codedWidth:r,codedHeight:n,description:d,optimizeForLatency:!0};try{const e=l.emscripten_ubq_codec_createVideoDecoder(u,o,s);VideoDecoder.isConfigSupported(p).then(t=>{e.configUnsupported=!t.supported},t=>{e.configUnsupported=!0}),e.configure(p),l.emscripten_ubq_codec_videoDecoders.set(u,{videoDecoder:e,decoderConfig:p,codecServicePtr:s,isHdr:o,opfsUri:""})}catch(e){return l.emscripten_ubq_codec_createNativeResult({error:e})}return l.emscripten_ubq_codec_createNativeResult({handle:u})},Jb:function(e,t,r,n,o,i,a){const s=l.UTF8ToString(e,e+t),c=l.emscripten_ubq_codec_videoEncoderNextHandle++,d=l.specialHTMLTargets["!canvas"];d.width=r,d.height=n;const u={codec:s,width:r,height:n,avc:{format:"annexb"},framerate:o};i>0&&(u.bitrate=i);try{const e=new VideoEncoder({output:e=>{const t=l._malloc(e.byteLength),r=l.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),l.emscripten_ubq_codec_onOutputEncodedVideoChunk(c,t,e.byteLength,a),l._free(t)},error:e=>console.error(e)});VideoEncoder.isConfigSupported(u).then(t=>{e.configUnsupported=!t},()=>{e.configUnsupported=!0}),e.configure(u),l.emscripten_ubq_codec_videoEncoders.set(c,{videoEncoder:e,encoderConfig:u,groupOfPictures:150,frameIndex:0})}catch(e){return e+=' Requested codec: "'+s+'"',e+="; resolution: "+r+"x"+n,l.emscripten_ubq_codec_createNativeResult({error:e})}return l.emscripten_ubq_codec_createNativeResult({handle:c})},Ib:function(e,t,r,n,o,i){const a=l.emscripten_ubq_codec_audioDecoders.get(e);if(a.audioDecoder.unexpectedError)return l.emscripten_ubq_codec_createNativeResult({code:2,error:a.audioDecoder.unexpectedError});"closed"===a.audioDecoder.state&&(a.audioDecoder=l.emscripten_ubq_codec_createAudioDecoder(a.leftBufferPtr,a.rightBufferPtr,a.bufferLength),a.audioDecoder.configure(a.decoderConfig));const s=a.audioDecoder,c=l.HEAPU8.subarray(o,o+i),d=new EncodedAudioChunk({type:t?"key":"delta",timestamp:r,duration:n,data:c});try{s.decode(d)}catch(e){return s.configUnsupported?l.emscripten_ubq_codec_createNativeResult({code:2,error:e}):l.emscripten_ubq_codec_createNativeResult({code:1,error:e})}return l.emscripten_ubq_codec_createNativeResult({code:0})},Hb:function(e,t,r,n,o,i,a,s){const c=l.emscripten_ubq_codec_videoDecoders.get(e);if(c.videoDecoder.unexpectedError)return l.emscripten_ubq_codec_createNativeResult({code:2,error:c.videoDecoder.unexpectedError});if("closed"===c.videoDecoder.state){const t=c.videoDecoder.textures;return c.videoDecoder=l.emscripten_ubq_codec_createVideoDecoder(e,c.isHdr,c.codecServicePtr),c.videoDecoder.textures=t,c.videoDecoder.configure(c.decoderConfig),l.emscripten_ubq_codec_destroyAlphaState(e),l.emscripten_ubq_codec_createNativeResult({code:1,error:"VideoDecoder was closed"})}const d=l.HEAPU8.subarray(o,o+i),u=Number.isFinite(r)?r:0,p=new EncodedVideoChunk({type:t?"key":"delta",timestamp:u,duration:n,data:d});let h=!1,g=null;a&&s>0&&(g=l.emscripten_ubq_codec_prepareAlphaState(e,c.decoderConfig),g&&(h=!0,l.emscripten_ubq_codec_markAlphaExpected(e,u)));try{c.videoDecoder.decode(p)}catch(t){return h&&l.emscripten_ubq_codec_alphaCancelExpectation(e,u),c.videoDecoder.configUnsupported?l.emscripten_ubq_codec_createNativeResult({code:2,error:t}):l.emscripten_ubq_codec_createNativeResult({code:1,error:t})}if(h&&g&&g.decoder&&"closed"!==g.decoder.state&&!g.decoder.unexpectedError){const r=l.HEAPU8.subarray(a,a+s),o=new EncodedVideoChunk({type:t?"key":"delta",timestamp:u,duration:n,data:r});try{g.decoder.decode(o)}catch(t){console.error("Alpha decode error:",t),l.emscripten_ubq_codec_alphaCancelExpectation(e,u)}}else h&&l.emscripten_ubq_codec_alphaCancelExpectation(e,u);return l.emscripten_ubq_codec_createNativeResult({code:0})},Ba:function(e){if(l.emscripten_ubq_codec_audioDecoders.has(e)){const t=l.emscripten_ubq_codec_audioDecoders.get(e);if("closed"!==t.audioDecoder.state&&t.audioDecoder.close(),t.opfsUri&&""!==t.opfsUri){const e=l.emscripten_ubq_opfs_getCache(t.opfsUri);e&&e.worker&&(l.emscripten_ubq_opfs_destroyWorker(e.worker),e.worker=null,e.workerOpened=!1,e.workerOpening=null)}l.emscripten_ubq_codec_audioDecoders.delete(e)}},Aa:function(e){const t=l.emscripten_ubq_codec_audioEncoders.get(e);"closed"!==t.audioEncoder.state&&t.audioEncoder.close(),l.emscripten_ubq_codec_audioEncoders.delete(e)},za:function(e){if(l.emscripten_ubq_codec_videoDecoders.has(e)){const t=l.emscripten_ubq_codec_videoDecoders.get(e);if("closed"!==t.videoDecoder.state&&t.videoDecoder.close(),l.emscripten_ubq_codec_destroyAlphaState(e),t.opfsUri&&""!==t.opfsUri){const e=l.emscripten_ubq_opfs_getCache(t.opfsUri);e&&e.worker&&(l.emscripten_ubq_opfs_destroyWorker(e.worker),e.worker=null,e.workerOpened=!1,e.workerOpening=null)}l.emscripten_ubq_codec_videoDecoders.delete(e)}},ya:function(e){const t=l.emscripten_ubq_codec_videoEncoders.get(e);"closed"!==t.videoEncoder.state&&t.videoEncoder.close(),l.emscripten_ubq_codec_videoEncoders.delete(e)},Gb:function(e,t,r){const n=1e6,o=l.emscripten_ubq_codec_audioEncoders.get(e),i=o.audioEncoderConfig.sampleRate,a=o.audioEncoderConfig.numberOfChannels,s=r/a,c=Math.round(n*(o.frameIndex*s/i)),d=Math.round(n*(s/i)),u=l.HEAPF32.subarray(t/4,t/4+r),p=new AudioData({format:"f32",sampleRate:i,numberOfFrames:s,numberOfChannels:a,duration:d,timestamp:c,data:u});o.audioEncoder.encode(p),o.frameIndex++,p.close()},Fb:function(e,t,r){const n=1e6,o=l.emscripten_ubq_codec_videoEncoders.get(e),i=Math.round(n*(o.frameIndex/o.encoderConfig.framerate)),a=o.frameIndex%o.groupOfPictures===0,s=Math.round(n/o.encoderConfig.framerate),c=l.specialHTMLTargets["!canvas"],d=new VideoFrame(c,{timestamp:i,duration:s});o.videoEncoder.encode(d,{keyFrame:a}),d.close(),o.frameIndex++},Eb:async function(e,t){const r=l.emscripten_ubq_codec_audioEncoders.get(e);try{await r.audioEncoder.flush()}catch{if(r.frameIndex>1)throw new Error("AudioEncoder.flush() failed")}l.emscripten_ubq_codec_onFinalizedAudioEncoding(e,t)},Db:async function(e,t){const r=l.emscripten_ubq_codec_videoEncoders.get(e);await r.videoEncoder.flush(),l.emscripten_ubq_codec_onFinalizedVideoEncoding(e,t)},Cb:async function(e,t){const r=l.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder;r.flushing=!0;try{await r.flush()}catch{}r.flushing=!1,r.writtenFrames=t},T:async function(e,t,r){const n=l.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder;n.shouldDropFrames=r,n.flushing=!0;try{await n.flush()}catch{}n.flushing=!1,n.shouldDropFrames=!1,n.decodedFrames=t},xa:function(e){return l.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.decodeQueueSize},ia:function(e){return l.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.decodedFrames},Y:function(e){return l.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.writtenFrames},Bb:function(e){return l.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.flushing},ha:function(e){return l.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.flushing},Ab:function(){if("undefined"==typeof navigator||"string"!=typeof navigator.userAgent)return 0;const e=navigator.userAgent;return!e.includes("Safari")||e.includes("Chrome")||e.includes("Chromium")||e.includes("Android")?0:1},ca:function(){return"undefined"!=typeof VideoFrame&&"undefined"!=typeof VideoDecoder&&"undefined"!=typeof VideoEncoder&&"undefined"!=typeof AudioDecoder&&"undefined"!=typeof AudioEncoder},zb:function(e,t,r,n,o,i,a){const s=l.emscripten_ubq_codec_videoDecoders.get(e),c=l.UTF8ToString(t,t+r),d=l.HEAPU8.subarray(i,i+a);s.videoDecoder.configure({codec:c,codedWidth:n,codedHeight:o,description:d})},ga:function(e,t,r){const n=l.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder;n.requestedPresentationFrame=t,n.requestedDecodeChunk=r;const o=1===l._isSafariHelper()?r:t;n.targetFrameForScheduling=o>=0?o:0},yb:function(e,t){l.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.reorderWindow=t},xb:function(e,t,r,n,o){const i=l.emscripten_ubq_codec_videoDecoders.get(e),a=l.HEAPU32.subarray(t/4,t/4+r);i.videoDecoder.textures=[];for(let e=0;e<r;e++)i.videoDecoder.textures[e]=ar.textures[a[e]];i.videoDecoder.textureWidth=n,i.videoDecoder.textureHeight=o},wb:function(e){const t=l.emscripten_ubq_asyncFetchManager.getProcess(e);return!!(null==t?void 0:t.allocate())},vb:function(e){return l.emscripten_ubq_asyncFetchManager.deleteProcess(e)},fa:function(){l.emscripten_ubq_asyncFetchManager.clear()},X:function(e,t,r,n){return l.emscripten_ubq_asyncFetchManager.createHeader(e,t,r,n)},ub:function(e){l.emscripten_ubq_asyncFetchManager.deleteHeader(e)},tb:function(e,t,r,n,o,i,a,s,c){return l.emscripten_ubq_asyncFetchManager.fetch(e,t,r,n,o,i,a,s,c).handle},sb:function(e){return l.emscripten_ubq_asyncFetchManager.deleteProcess(e)},rb:function(e){var t,r;return null!==(r=null===(t=l.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.receivedLength)&&void 0!==r?r:0},qb:function(e){const t=l.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultAddress:-1},pb:function(e){const t=l.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultLength:-1},wa:function(e){var t,r;return null!==(r=null===(t=l.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.state)&&void 0!==r?r:-1},ob:function(e){var t,r;return null!==(r=null===(t=l.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.statusCode)&&void 0!==r?r:-1},nb:function(e){var t,r;return null!==(r=null===(t=l.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.totalBytes)&&void 0!==r?r:0},mb:function(e){const t=Y(e),r=l.emscripten_ubq_opfs_writerCaches.get(t);if(!r)return 0;const n=l.emscripten_ubq_opfs_ensureWriteWorker(t,r),o=n.get(),i=e=>{if(e.data&&e.data.closed){try{o.removeEventListener("message",i)}catch(e){}l.emscripten_ubq_opfs_destroyWriterWorker(n),r.worker=null,r.workerOpened=!1,r.workerOpening=null,r.fileHandle=null,l.emscripten_ubq_opfs_writerCaches.delete(t)}};try{o.addEventListener("message",i)}catch(e){}return n.post({close:!0}),0},lb:function(e,t,r,n,o){const i=Y(e),a=4294967296*(r>>>0)+(t>>>0);if(n<=0)return 0;const s=l.emscripten_ubq_opfs_CHUNK_SIZE,c=l.emscripten_ubq_opfs_getCache(i),d=U.subarray(o,o+n);let u=0,p=a;const h=Math.min(a+n,c.fileSize);for(;p<h;){const e=Math.floor(p/s),t=c.chunkCache.get(e);if(!t)return-1;l.emscripten_ubq_opfs_updateAccess(c,e);const r=p-e*s,n=Math.min(t.byteLength-r,h-p);d.set(t.subarray(r,r+n),u),u+=n,p+=n}return u},S:function(e){const t=Y(e),r=l.emscripten_ubq_opfs_getCache(t);return l.emscripten_ubq_opfs_ensureFile(t,r),BigInt(r.fileSize)},P:function(e,t,r,n){const o=Y(e),i=4294967296*(r>>>0)+(t>>>0),a=l.emscripten_ubq_opfs_CHUNK_SIZE,s=l.emscripten_ubq_opfs_getCache(o),c=Math.floor(i/a),d=Math.floor((i+n)/a);for(let e=c;e<=d;++e){if(!s.chunkCache.has(e))return 0;l.emscripten_ubq_opfs_updateAccess(s,e)}return 1},kb:function(e){const t=Y(e);let r=l.emscripten_ubq_opfs_writerCaches.get(t);if(r||(r={pending:0,worker:null,openPromise:null,fileHandle:null,workerOpened:!1,workerOpening:null},l.emscripten_ubq_opfs_writerCaches.set(t,r)),!r.workerOpened&&!r.workerOpening){const e=l.emscripten_ubq_opfs_ensureWriteWorker(t,r);r.workerOpening=(async()=>{await l.emscripten_ubq_opfs_ensureWriteFile(t,r),e.post({open:!0,uri:t}),await new Promise((t,r)=>{const n=e.get(),o=e=>{e.data&&(!0===e.data.ready?(n.removeEventListener("message",o),t()):!1===e.data.ready&&(n.removeEventListener("message",o),r(new Error(e.data.error||"Failed to open OPFS writer handle"))))};n.addEventListener("message",o)}),r.workerOpened=!0})().finally(()=>{r.workerOpening=null})}return r.workerOpened?1:0},jb:function(e){const t=Y(e),r=l.emscripten_ubq_opfs_writerCaches.get(t);return r&&r.pending||0},ib:function(e,t,r,n){const o=Y(e),i=4294967296*(r>>>0)+(t>>>0),a=l.emscripten_ubq_opfs_CHUNK_SIZE,s=l.emscripten_ubq_opfs_getCache(o),c=Math.floor(i/a),d=Math.floor((i+n)/a);let u=!0;for(let e=c;e<=d;++e)s.chunkCache.has(e)?l.emscripten_ubq_opfs_updateAccess(s,e):(u=!1,l.emscripten_ubq_opfs_loadChunk(o,s,e));return u?1:0},hb:function(e,t,r,n,o){return async function(e,t,r,n,o){if(n<=0)return 0;const i=Y(e),a=4294967296*(r>>>0)+(t>>>0);let s=l.emscripten_ubq_opfs_writerCaches.get(i);s||(s={pending:0,worker:null,openPromise:null,fileHandle:null},l.emscripten_ubq_opfs_writerCaches.set(i,s));const c=new Uint8Array(n);c.set(l.HEAPU8.subarray(o,o+n));const d=l.emscripten_ubq_opfs_ensureWriteWorker(i,s);return s.workerOpened||(s.workerOpening||(s.workerOpening=(async()=>{await l.emscripten_ubq_opfs_ensureWriteFile(i,s),d.post({open:!0,uri:i}),await new Promise((e,t)=>{const r=d.get(),n=o=>{o.data&&(!0===o.data.ready?(r.removeEventListener("message",n),e()):!1===o.data.ready&&(r.removeEventListener("message",n),t(new Error(o.data.error||"Failed to open OPFS writer handle"))))};r.addEventListener("message",n)}),s.workerOpened=!0})().finally(()=>{s.workerOpening=null})),await s.workerOpening),new Promise((e,t)=>{void 0===l.emscripten_ubq_opfs_writeTagCounter&&(l.emscripten_ubq_opfs_writeTagCounter=0);const r=++l.emscripten_ubq_opfs_writeTagCounter;s.pending=(s.pending||0)+1;const o=d.get(),i=a=>{a.data&&a.data.tag===r&&(o.removeEventListener("message",i),s.pending-=1,a.data.error?t(new Error(a.data.error)):e(n))};o.addEventListener("message",i),d.post({write:{offset:a,buf:c.buffer,tag:r}},[c.buffer])})}(e,t,r,n,o).catch(e=>{console.error("[OPFS] writeChunk failed:",e)}),0},gb:function(){return!!l.emscripten_ubq_settings_forceWebGL1},va:mn,ba:e=>{ar.currentContext==e&&(ar.currentContext=0),ar.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})(ar.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})(ar.contexts[e].GLctx),db:e=>(e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")))(ar.contexts[e].GLctx),aa:(e,t)=>{var r=ar.getContext(e),n=Y(t);return n.startsWith("GL_")&&(n=n.slice(3)),!!r.GLctx.getExtension(n)},cb:(e,t)=>{if(!t)return-5;if(!(e=ar.contexts[e]))return-3;var r=e.GLctx?.getContextAttributes();if(!r)return-3;I[t]=r.alpha,I[t+1]=r.depth,I[t+2]=r.stencil,I[t+3]=r.antialias,I[t+4]=r.premultipliedAlpha,I[t+5]=r.preserveDrawingBuffer;var n=r.powerPreference&&hn.indexOf(r.powerPreference);return F[t+8>>2]=n,I[t+12]=r.failIfMajorPerformanceCaveat,F[t+16>>2]=e.version,F[t+20>>2]=0,0},bb:e=>ar.makeContextCurrent(e)?0:-5,xh:(e,t)=>{var r=0,n=0;for(var o of yn()){var i=t+r;L[e+n>>2]=i,r+=ae(o,i,1/0)+1,n+=4}return 0},wh:(e,t)=>{var r=yn();L[e>>2]=r.length;var n=0;for(var o of r)n+=oe(o)+1;return L[t>>2]=n,0},ua:Jt,na:function(e){try{var t=Ae.getStreamFromFD(e);return Pe.close(t),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return e.errno}},vh:function(e,t){try{var r=Ae.getStreamFromFD(e),n=r.tty?2:Pe.isDir(r.mode)?3:Pe.isLink(r.mode)?7:4;return I[t]=n,A[t+2>>1]=0,M[t+8>>3]=BigInt(0),M[t+16>>3]=BigInt(0),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return e.errno}},uh:function(e,t,r,n,o){n=zt(n);try{if(isNaN(n))return 22;var i=Ae.getStreamFromFD(e),a=vn(i,t,r,n);return L[o>>2]=a,0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return e.errno}},Qa:function(e,t,r,n){try{var o=Ae.getStreamFromFD(e),i=vn(o,t,r);return L[n>>2]=i,0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return e.errno}},th:function(e,t,r,n){t=zt(t);try{if(isNaN(t))return 22;var o=Ae.getStreamFromFD(e);return Pe.llseek(o,t,r),M[n>>3]=BigInt(o.position),o.getdents&&0===t&&0===r&&(o.getdents=null),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return e.errno}},Pa:function(e,t,r,n){try{var o=((e,t,r,n)=>{for(var o=0,i=0;i<r;i++){var a=L[t>>2],s=L[t+4>>2];t+=8;var l=Pe.write(e,I,a,s,n);if(l<0)return-1;if(o+=l,l<s)break;void 0!==n&&(n+=l)}return o})(Ae.getStreamFromFD(e),t,r);return L[n>>2]=o,0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return e.errno}},ab:function(e){var t=Y(e),r=localStorage.getItem(t);return null==r?null:se(r)},$a:function(){return"undefined"!=typeof window?se(window.location.hostname):se("")},z:function(e,t,r){var n=ne();try{return yt(e)(t,r)}catch(e){if(re(n),!(e instanceof EmscriptenEH))throw e;In(1,0)}},K:function(e,t){var r=ne();try{return yt(e)(t)}catch(e){if(re(r),!(e instanceof EmscriptenEH))throw e;In(1,0)}},I:function(e,t,r){var n=ne();try{return yt(e)(t,r)}catch(e){if(re(n),!(e instanceof EmscriptenEH))throw e;In(1,0)}},m:function(e,t,r,n){var o=ne();try{return yt(e)(t,r,n)}catch(e){if(re(o),!(e instanceof EmscriptenEH))throw e;In(1,0)}},_a:function(e){var t=ne();try{return yt(e)()}catch(e){if(re(t),!(e instanceof EmscriptenEH))throw e;In(1,0)}},ta:function(e,t,r){var n=ne();try{return yt(e)(t,r)}catch(e){if(re(n),!(e instanceof EmscriptenEH))throw e;In(1,0)}},r:function(e,t){var r=ne();try{return yt(e)(t)}catch(e){if(re(r),!(e instanceof EmscriptenEH))throw e;In(1,0)}},W:function(e,t,r,n,o,i,a,s,l,c,d,u,p,h,g,f){var m=ne();try{return yt(e)(t,r,n,o,i,a,s,l,c,d,u,p,h,g,f)}catch(e){if(re(m),!(e instanceof EmscriptenEH))throw e;In(1,0)}},p:function(e,t,r){var n=ne();try{return yt(e)(t,r)}catch(e){if(re(n),!(e instanceof EmscriptenEH))throw e;In(1,0)}},t:function(e,t,r,n){var o=ne();try{return yt(e)(t,r,n)}catch(e){if(re(o),!(e instanceof EmscriptenEH))throw e;In(1,0)}},R:function(e,t,r,n,o){var i=ne();try{return yt(e)(t,r,n,o)}catch(e){if(re(i),!(e instanceof EmscriptenEH))throw e;In(1,0)}},Za:function(e,t,r,n,o,i){var a=ne();try{return yt(e)(t,r,n,o,i)}catch(e){if(re(a),!(e instanceof EmscriptenEH))throw e;In(1,0)}},sa:function(e,t,r,n,o,i,a){var s=ne();try{return yt(e)(t,r,n,o,i,a)}catch(e){if(re(s),!(e instanceof EmscriptenEH))throw e;In(1,0)}},ra:function(e,t,r,n,o,i,a,s,l,c){var d=ne();try{return yt(e)(t,r,n,o,i,a,s,l,c)}catch(e){if(re(d),!(e instanceof EmscriptenEH))throw e;In(1,0)}},H:function(e){var t=ne();try{yt(e)()}catch(e){if(re(t),!(e instanceof EmscriptenEH))throw e;In(1,0)}},y:function(e,t){var r=ne();try{yt(e)(t)}catch(e){if(re(r),!(e instanceof EmscriptenEH))throw e;In(1,0)}},B:function(e,t,r,n){var o=ne();try{yt(e)(t,r,n)}catch(e){if(re(o),!(e instanceof EmscriptenEH))throw e;In(1,0)}},A:function(e,t,r){var n=ne();try{yt(e)(t,r)}catch(e){if(re(n),!(e instanceof EmscriptenEH))throw e;In(1,0)}},o:function(e,t,r,n){var o=ne();try{yt(e)(t,r,n)}catch(e){if(re(o),!(e instanceof EmscriptenEH))throw e;In(1,0)}},D:function(e,t,r,n,o){var i=ne();try{yt(e)(t,r,n,o)}catch(e){if(re(i),!(e instanceof EmscriptenEH))throw e;In(1,0)}},Ya:function(e,t,r,n,o,i){var a=ne();try{yt(e)(t,r,n,o,i)}catch(e){if(re(a),!(e instanceof EmscriptenEH))throw e;In(1,0)}},Xa:function(e,t,r,n,o,i,a){var s=ne();try{yt(e)(t,r,n,o,i,a)}catch(e){if(re(s),!(e instanceof EmscriptenEH))throw e;In(1,0)}},Wa:function(e,t,r,n,o,i,a,s){var l=ne();try{yt(e)(t,r,n,o,i,a,s)}catch(e){if(re(l),!(e instanceof EmscriptenEH))throw e;In(1,0)}},Va:function(e,t,r,n,o,i,a,s,l,c){var d=ne();try{yt(e)(t,r,n,o,i,a,s,l,c)}catch(e){if(re(d),!(e instanceof EmscriptenEH))throw e;In(1,0)}},$:function(){return"undefined"!=typeof localStorage&&"function"==typeof localStorage.getItem},Ua:function(){return"undefined"!=typeof process&&process.versions&&process.versions.node?1:0},qa:function(e,t){const r=Pt.toValue(t),n=l.ctx;n.bindTexture(n.TEXTURE_2D,ar.textures[e]),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,r)},a:z,sh:(e,t)=>ue(U.subarray(e,e+t)),Ta:function(e,t){var r=Y(e),n=Y(t);localStorage.setItem(r,n)}};return qn=await async function(){function e(e,t){var r;return qn=e.exports,Cn=(r=qn).Lh,Tn=l._malloc=r.Nh,xn=l._free=r.Oh,Pn=l._main=r.Ph,l._ma_malloc_emscripten=r.Qh,l._ma_free_emscripten=r.Rh,An=l._ma_device_process_pcm_frames_capture__webaudio=r.Sh,Fn=l._ma_device_process_pcm_frames_playback__webaudio=r.Th,Mn=r.Uh,In=r.Vh,Dn=r.Wh,Rn=r.Xh,Bn=r.Yh,Ln=r.Zh,On=r._h,Un=r.Mh,qn}var t={a:Hn};return l.instantiateWasm?new Promise((r,n)=>{l.instantiateWasm(t,(t,n)=>{r(e(t))})}):(P??=$(),e((await V(w,P,t)).instance))}(),function e(t=p){function r(){l.calledRun=!0,T||(q=!0,l.noFSInit||Pe.initialized||Pe.init(),fe.init(),qn.Kh(),Pe.ignorePermissions=!1,_?.(l),l.onRuntimeInitialized?.(),l.noInitialRun||function(e=[]){var t=Pn;e.unshift(h);var r=e.length,n=wn(4*(r+1)),o=n;for(var i of e)L[o>>2]=kn(i),o+=4;L[o>>2]=0;try{var a=t(r,n);return Zt(a),a}catch(e){return Kt(e)}}(t),function(){if(l.postRun)for("function"==typeof l.postRun&&(l.postRun=[l.postRun]);l.postRun.length;)Z(l.postRun.shift());K(Q)}())}_e>0?Se=e:(function(){if(l.preRun)for("function"==typeof l.preRun&&(l.preRun=[l.preRun]);l.preRun.length;)ee(l.preRun.shift());K(J)}(),_e>0?Se=e:l.setStatus?(l.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>l.setStatus(""),1),r()},1)):r())}(),q?l:new Promise((e,t)=>{_=e,S=t})});"object"==typeof e&&"object"==typeof t?(t.exports=i,t.exports.default=i):"function"==typeof define&&define.amd&&define([],()=>i)}},function(){return s||(0,a[u(a)[0]])((s={exports:{}}).exports,s),s.exports}),R=class extends TypeError{constructor(e,t){let r;const{message:n,...o}=e,{path:i}=e;super(0===i.length?n:"At path: "+i.join(".")+" -- "+n),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,o),this.name=this.constructor.name,this.failures=()=>{var n;return null!=(n=r)?n:r=[e,...t()]}}};function B(e){return"object"==typeof e&&null!=e}function L(e){return"string"==typeof e?JSON.stringify(e):""+e}function O(e,t,r,n){if(!0===e)return;!1===e?e={}:"string"==typeof e&&(e={message:e});const{path:o,branch:i}=t,{type:a}=r,{refinement:s,message:l="Expected a value of type `"+a+"`"+(s?" with refinement `"+s+"`":"")+", but received: `"+L(n)+"`"}=e;return{value:n,type:a,refinement:s,key:o[o.length-1],path:o,branch:i,...e,message:l}}function*U(e,t,r,n){var o;B(o=e)&&"function"==typeof o[Symbol.iterator]||(e=[e]);for(const o of e){const e=O(o,t,r,n);e&&(yield e)}}function*q(e,t,r={}){const{path:n=[],branch:o=[e],coerce:i=!1,mask:a=!1}=r,s={path:n,branch:o};if(i&&(e=t.coercer(e,s),a&&"type"!==t.type&&B(t.schema)&&B(e)&&!Array.isArray(e)))for(const r in e)void 0===t.schema[r]&&delete e[r];let l=!0;for(const r of t.validator(e,s))l=!1,yield[r,void 0];for(let[r,c,d]of t.entries(e,s)){const t=q(c,d,{path:void 0===r?n:[...n,r],branch:void 0===r?o:[...o,c],coerce:i,mask:a});for(const n of t)n[0]?(l=!1,yield[n[0],void 0]):i&&(c=n[1],void 0===r?e=c:e instanceof Map?e.set(r,c):e instanceof Set?e.add(c):B(e)&&(e[r]=c))}if(l)for(const r of t.refiner(e,s))l=!1,yield[r,void 0];l&&(yield[void 0,e])}var W=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:n,refiner:o,coercer:i=e=>e,entries:a=function*(){}}=e;this.type=t,this.schema=r,this.entries=a,this.coercer=i,this.validator=n?(e,t)=>U(n(e,t),t,this,e):()=>[],this.refiner=o?(e,t)=>U(o(e,t),t,this,e):()=>[]}assert(e){return function(e,t){const r=H(e,t);if(r[0])throw r[0]}(e,this)}create(e){return function(e,t){const r=H(e,t,{coerce:!0});if(r[0])throw r[0];return r[1]}(e,this)}is(e){return function(e,t){const r=H(e,t);return!r[0]}(e,this)}mask(e){return function(e,t){const r=H(e,t,{coerce:!0,mask:!0});if(r[0])throw r[0];return r[1]}(e,this)}validate(e,t={}){return H(e,this,t)}};function H(e,t,r={}){const n=q(e,t,r),o=function(e){const{done:t,value:r}=e.next();return t?void 0:r}(n);if(o[0]){return[new R(o[0],function*(){for(const e of n)e[0]&&(yield e[0])}),void 0]}return[void 0,o[1]]}function $(e,t){return new W({type:e,schema:null,validator:t})}function N(e){return new W({type:"array",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[r,n]of t.entries())yield[r,n,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||"Expected an array value, but received: "+L(e)})}function V(){return $("boolean",e=>"boolean"==typeof e)}function z(){return $("integer",e=>"number"==typeof e&&!isNaN(e)&&Number.isInteger(e)||"Expected an integer, but received: "+L(e))}function G(){return $("number",e=>"number"==typeof e&&!isNaN(e)||"Expected a number, but received: "+L(e))}function j(e){const t=e?Object.keys(e):[],r=$("never",()=>!1);return new W({type:"object",schema:e||null,*entries(n){if(e&&B(n)){const o=new Set(Object.keys(n));for(const r of t)o.delete(r),yield[r,n[r],e[r]];for(const e of o)yield[e,n[e],r]}},validator:e=>B(e)||"Expected an object, but received: "+L(e),coercer:e=>B(e)?{...e}:e})}function X(e){return new W({...e,validator:(t,r)=>void 0===t||e.validator(t,r),refiner:(t,r)=>void 0===t||e.refiner(t,r)})}function Y(){return $("string",e=>"string"==typeof e||"Expected a string, but received: "+L(e))}function K(e){const t=Object.keys(e);return new W({type:"type",schema:e,*entries(r){if(B(r))for(const n of t)yield[n,r[n],e[n]]},validator:e=>B(e)||"Expected an object, but received: "+L(e)})}function Q(e){const t=e.map(e=>e.type).join(" | ");return new W({type:"union",schema:null,coercer:(t,r)=>(e.find(e=>{const[r]=e.validate(t,{coerce:!0});return!r})||$("unknown",()=>!0)).coercer(t,r),validator(r,n){const o=[];for(const t of e){const[...e]=q(r,t,n),[i]=e;if(!i[0])return[];for(const[t]of e)t&&o.push(t)}return["Expected the value to satisfy a union of `"+t+"`, but received: "+L(r),...o]}})}function Z(e,t,r={}){const{exclusive:n}=r;return te(e,"max",r=>n?r<t:r<=t||"Expected a "+e.type+" less than "+(n?"":"or equal to ")+t+" but received `"+r+"`")}function J(e,t,r={}){const{exclusive:n}=r;return te(e,"min",r=>n?r>t:r>=t||"Expected a "+e.type+" greater than "+(n?"":"or equal to ")+t+" but received `"+r+"`")}function ee(e){return te(e,"nonempty",t=>{const r=function(e){return e instanceof Map||e instanceof Set?e.size:e.length}(t);return r>0||"Expected a nonempty "+e.type+" but received an empty one"})}function te(e,t,r){return new W({...e,*refiner(n,o){yield*e.refiner(n,o);const i=U(r(n,o),o,e,n);for(const e of i)yield{...e,refinement:t}}})}var re={Png:"image/png",Jpeg:"image/jpeg",WebP:"image/webp",Tga:"image/x-tga",Svg:"image/svg+xml",Wav:"audio/wav",Mp4Audio:"audio/mp4",Mp4:"video/mp4",QuickTime:"video/quicktime",Binary:"application/octet-stream",Pdf:"application/pdf",Zip:"application/zip"};function ne(e,t,r){const[n]=H(t,r);if(n)throw n.message=`Error in argument '${e}': ${n.message}`,n;return!0}function oe(){return $("FiniteNumber",e=>!("number"!=typeof e||!Number.isFinite(e))||{message:`expected a finite number, but got "${String(e)}"`})}function ie(){const e=/image\/(png|jpeg|webp|x-tga|svg\+xml)/;return $("ImageMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "image/png", "image/jpeg", "image/webp", "image/x-tga", or "image/svg+xml", but got "${t}"`})}function ae(){const e=/audio\/(wav|mp4)/;return $("AudioMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected "audio/wav" or "audio/mp4", but got "${t}"`})}function se(){const e=/application\/(octet-stream|pdf)/;return $("ApplicationMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "application/octet-stream" or "application/pdf", but got "${t}"`})}function le(){const e=["Free","VerticalStack","HorizontalStack","DepthStack"];return $("SceneLayout",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function ce(){const e=["Linear","EaseIn","EaseOut","EaseInOut","EaseInQuart","EaseOutQuart","EaseInOutQuart","EaseInQuint","EaseOutQuint","EaseInOutQuint","EaseInBack","EaseOutBack","EaseInOutBack","EaseInSpring","EaseOutSpring","EaseInOutSpring"];return $("AnimationEasing",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function de(){const e=["Pixel","Millimeter","Inch"];return $("DesignUnit",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function ue(){const e=["Pixel","Point"];return $("FontSizeUnit",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function pe(){return $("AbortSignal",e=>{if("undefined"!=typeof AbortSignal&&e instanceof AbortSignal)return!0;return!("object"!=typeof e||null===e||"boolean"!=typeof e.aborted||"function"!=typeof e.addEventListener)||{message:`expected an AbortSignal-like object, but got "${Object.prototype.toString.call(e)}"`}})}function he(){const e=["Absolute","Percent","Auto"];return $("SizeMode",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function ge(){const e=["Absolute","Percent","Auto"];return $("PositionMode",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function fe(){const e=["slide","pan","fade","blur","grow","zoom","pop","wipe","baseline","crop_zoom","spin","spin_loop","fade_loop","blur_loop","pulsating_loop","breathing_loop","jump_loop","squeeze_loop","sway_loop","typewriter_text","block_swipe_text","spread_text","merge_text","ken_burns","//ly.img.ubq/animation/slide","//ly.img.ubq/animation/pan","//ly.img.ubq/animation/fade","//ly.img.ubq/animation/blur","//ly.img.ubq/animation/grow","//ly.img.ubq/animation/zoom","//ly.img.ubq/animation/pop","//ly.img.ubq/animation/wipe","//ly.img.ubq/animation/baseline","//ly.img.ubq/animation/crop_zoom","//ly.img.ubq/animation/spin","//ly.img.ubq/animation/spin_loop","//ly.img.ubq/animation/fade_loop","//ly.img.ubq/animation/blur_loop","//ly.img.ubq/animation/pulsating_loop","//ly.img.ubq/animation/breathing_loop","//ly.img.ubq/animation/jump_loop","//ly.img.ubq/animation/squeeze_loop","//ly.img.ubq/animation/sway_loop","//ly.img.ubq/animation/typewriter_text","//ly.img.ubq/animation/block_swipe_text","//ly.img.ubq/animation/spread_text","//ly.img.ubq/animation/merge_text","//ly.img.ubq/animation/ken_burns"];return $("AnimationType",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function me(){return Q([K({r:G(),g:G(),b:G(),a:G()}),K({c:G(),m:G(),y:G(),k:G(),tint:G()}),K({name:Y(),tint:G(),externalReference:Y()})])}function be(){return K({type:fe(),duration:G(),easing:X(ce())})}var ye=Symbol("PROXY");function ve(e){return(t,r)=>{Object.defineProperty(t,ye,{value:{type:"getter",...e},writable:!1,configurable:!0})}}function we(e,t){Object.defineProperty(e,ye,{value:{type:"setter"},writable:!1,configurable:!0})}var ke=class _EngineError extends Error{code;category;hint;args;silent;docsUrl;constructor(e){super(e.message),this.name=""!==e.code?`EngineError [${e.code}]`:"EngineError",this.code=e.code,this.category=e.category,this.hint=e.hint,this.args=e.args,this.silent=e.silent,this.docsUrl=e.docs.length>0?`https://img.ly/docs/cesdk/js/${e.docs}/`:null,Object.setPrototypeOf(this,_EngineError.prototype)}};function _e(e){if(e.isValid()){const t=e.value();return e.delete(),t}{const t=function(e){const t=e.id(),r=e.category(),n=e.hint(),o=e.docs(),i=e.isSilent(),a=e.args(),s=e.publicMessage();e.delete();const l=s.replace(/\n+$/u,"");return new ke({code:t,category:r,message:l,hint:n,args:a,docs:o,silent:i})}(e.error());throw e.delete(),t}}function Se(e){return new Promise((t,r)=>{e(e=>{try{const r=_e(e);t(r)}catch(e){r(e)}})})}var Ee,Ce,Te,xe,Pe,Ae,Fe,Me,Ie,De,Re,Be,Le,Oe,Ue=(e,t=!0)=>{const r=[];for(let t=0;t<e.size();t+=1)r.push(e.get(t));return t&&e.delete(),r},qe=new WeakMap,We={assets:[],total:0,currentPage:0,nextPage:void 0};Ae=[we],Pe=[we],xe=[we],Te=[we],Ce=[we],Ee=[ve({disabledInModes:["Playback"]})];var AssetAPI=class{constructor(e){E(De,5,this),F(this,Re),F(this,Fe),F(this,Me,new Set),F(this,Ie,new Set),T(this,"onAssetSourceAdded",e=>{const t=A(this,Fe).subscribeToAssetSourceAdded(e);return()=>{A(this,Fe).isDeleted()||_e(A(this,Fe).unsubscribe(t))}}),T(this,"onAssetSourceRemoved",e=>{const t=A(this,Fe).subscribeToAssetSourceRemoved(e);return()=>{A(this,Fe).isDeleted()||_e(A(this,Fe).unsubscribe(t))}}),T(this,"onAssetSourceUpdated",e=>{const t=A(this,Fe).subscribeToAssetSourceUpdated(e);return()=>{A(this,Fe).isDeleted()||_e(A(this,Fe).unsubscribe(t))}}),M(this,Fe,e)}registerApplyMiddleware(e){return A(this,Me).add(e),()=>{A(this,Me).delete(e)}}registerApplyToBlockMiddleware(e){return A(this,Ie).add(e),()=>{A(this,Ie).delete(e)}}addSource(e){const t=e.getSupportedMimeTypes?.bind(e),r=e.getGroups?.bind(e),n=e.fetchAsset?.bind(e),o=e.applyAsset?.bind(e),i=e.applyAssetToBlock?.bind(e),a=e.applyAssetProperty?.bind(e),s=e.addAsset?.bind(e),l=e.removeAsset?.bind(e),c=e.credits,d=e.license;_e(A(this,Fe).addAssetSource(e.id,async(t,r)=>{try{const n={...t,sortKey:t.sortKey,sortingOrder:t.sortingOrder,sortActiveFirst:t.sortActiveFirst},o=await e.findAssets(n);if(o){const t={...o,assets:o.assets.map(t=>He(t,e.id))};r.invoke(t)}else r.invoke(We)}catch(e){r.invoke(e.message??"Unknown error in user-defined `findAssets`")}},n?async(t,r,o)=>{try{const i=await n(t,{locale:r});null===i?o.invoke(null):o.invoke(He(i,e.id))}catch(e){o.invoke(e.message??"Unknown error in user-defined `fetchAsset`")}}:null,r?async e=>{try{const t=await r();e.invoke(t)}catch(t){e.invoke(t.message??"Unknown error in user-defined `getGroups`")}}:null,c?()=>({name:c.name,url:c.url??""}):null,d?()=>({name:d.name,url:d.url??""}):null,t?()=>t()??[]:null,o?async(e,t)=>{try{const r=await o(I(this,Re,Be).call(this,e));t.invoke(r)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,i?async(e,t,r)=>{try{await i(I(this,Re,Be).call(this,e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null,a?async(e,t,r)=>{try{await a(I(this,Re,Be).call(this,e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetProperty`")}}:null,s?async e=>{s(e)}:null,l?async e=>{l(e)}:null)),I(this,Re,Le).call(this,e.id,e)}addLocalSource(e,t,r,n){_e(A(this,Fe).addLocalAssetSource(e,t??[],r?async(e,t)=>{try{const n=await r(I(this,Re,Be).call(this,e));t.invoke(n)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,n?async(e,t,r)=>{try{await n(I(this,Re,Be).call(this,e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null))}addLocalAssetSourceFromJSONString(e,t,r){ne("contentJSON",e,Y()),ne("basePath",t,X(Y())),ne("options",r,X(j())),void 0!==r?.matcher&&ne("options.matcher",r.matcher,N(Y()));const n=t??null,o=r?.matcher;return new Promise((t,r)=>{try{t(_e(A(this,Fe).addLocalAssetSourceFromJSONString(e,n,o)))}catch(e){r(e)}})}addLocalAssetSourceFromJSONURI(e,t){return ne("contentURI",e,Y()),ne("options",t,X(j())),void 0!==t?.matcher&&ne("options.matcher",t.matcher,N(Y())),new Promise((r,n)=>{A(this,Fe).addLocalAssetSourceFromJSONURI(e,t?.matcher,e=>{try{const t=_e(e);r(t)}catch(e){n(e)}})})}removeSource(e){_e(A(this,Fe).removeAssetSource(e)),I(this,Re,Oe).call(this,e)}findAllSources(){return Ue(A(this,Fe).findAllAssetSources())}findAssets(e,t){return new Promise((r,n)=>{let o=t?.tags??[];Array.isArray(o)||(o=[o]);const i={perPage:t?.perPage??0,page:t?.page??0,query:t?.query??"",tags:o,groups:t?.groups??[],excludeGroups:t?.excludeGroups??[],locale:t?.locale??"",sortingOrder:t?.sortingOrder??"None",sortKey:t?.sortKey??"",sortActiveFirst:t?.sortActiveFirst??!1,filter:t?.filter??[]};A(this,Fe).findAssetSourceAssets(e,i,e=>{try{const t=_e(e);r({...t,nextPage:-1===t.nextPage?void 0:t.nextPage})}catch(e){n(e)}})})}async fetchAsset(e,t,r={}){ne("sourceId",e,Y()),ne("assetId",t,Y()),ne("params",r,X(j()));const n={locale:r.locale??""};return new Promise((r,o)=>{A(this,Fe).fetchAssetSourceAsset(e,t,n,e=>{try{const t=_e(e);r(t||null)}catch(e){o(e)}})})}async getGroups(e){return Se(t=>A(this,Fe).getAssetSourceGroups(e,t)).then(e=>Ue(e))}getSupportedMimeTypes(e){return Ue(_e(A(this,Fe).getAssetSourceSupportedMimeTypes(e)))}getCredits(e){const t=_e(A(this,Fe).getAssetSourceCredits(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}getLicense(e){const t=_e(A(this,Fe).getAssetSourceLicense(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}canManageAssets(e){return!!qe.get(A(this,Fe))?.get(e)?.canManageAssets}addAssetToSource(e,t){_e(A(this,Fe).addAssetToSource(e,t))}removeAssetFromSource(e,t){_e(A(this,Fe).removeAssetFromSource(e,t))}async apply(e,t,r){const n={clipType:r?.clipType},o=(e,t)=>new Promise((r,n)=>{A(this,Fe).applyAssetSourceAsset(e,He(t,e),e=>{try{const t=_e(e);A(this,Fe).isValid(t)?r(t):r(void 0)}catch(e){n(e)}})});if(A(this,Me).size>0){return Array.from(A(this,Me)).reduce((e,t)=>(r,o)=>t(r,o,e,n),o)(e,t)}return o(e,t)}async applyToBlock(e,t,r){const n=(e,t,r)=>Se(n=>A(this,Fe).applyAssetSourceAssetToBlock(e,He(t,e),r,n));if(A(this,Ie).size>0){return Array.from(A(this,Ie)).reduce((e,t)=>(r,n,o)=>t(r,n,o,e),n)(e,t,r)}return n(e,t,r)}async applyProperty(e,t,r){return Se(n=>A(this,Fe).applyAssetSourceProperty(e,He(t,e),r,n))}async defaultApplyAsset(e){return new Promise((t,r)=>{A(this,Fe).defaultApplyAsset(He(e,""),e=>{try{const r=_e(e);A(this,Fe).isValid(r)?t(r):t(void 0)}catch(e){r(e)}})})}async defaultApplyAssetToBlock(e,t){return Se(r=>A(this,Fe).defaultApplyAssetToBlock(He(e,""),t,r))}assetSourceContentsChanged(e){_e(A(this,Fe).assetSourceContentsChanged(e))}dispose(){qe.delete(A(this,Fe))}};function He(e,t){return"context"in e&&e.context.sourceId===t&&"active"in e?e:{...e,active:e.active??!1,context:{sourceId:t}}}De=v(null),Fe=new WeakMap,Me=new WeakMap,Ie=new WeakMap,Re=new WeakSet,Be=function(e){const t={...e};return 0===t.groups?.length&&delete t.groups,t.locale||delete t.locale,t.label||delete t.label,0===t.tags?.length&&delete t.tags,t.credits?.name||t.credits?.url?t.credits.url||delete t.credits.url:delete t.credits,t.license?.name||t.license?.url?t.license.url||delete t.license.url:delete t.license,t.utm?.source||t.utm?.medium?(t.utm.source||delete t.utm.source,t.utm.medium||delete t.utm.medium):delete t.utm,t},Le=function(e,t){qe.has(A(this,Fe))||qe.set(A(this,Fe),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/`),qe.get(A(this,Fe)).set(e,{canManageAssets:t.canManageAssets})},Oe=function(e){qe.get(A(this,Fe))?.delete(e)},C(De,1,"addSource",Ae,AssetAPI),C(De,1,"addLocalSource",Pe,AssetAPI),C(De,1,"addLocalAssetSourceFromJSONString",xe,AssetAPI),C(De,1,"addLocalAssetSourceFromJSONURI",Te,AssetAPI),C(De,1,"removeSource",Ce,AssetAPI),C(De,1,"findAllSources",Ee,AssetAPI),S(De,AssetAPI);var $e,Ne,Ve,ze,Ge,je,Xe,Ye,Ke,Qe,Ze,Je,et,tt,rt,nt,ot,it,at,st,lt,ct,dt,ut,pt,ht,gt,ft,mt,bt,yt,vt,wt,kt,_t="opfs://";function St(e){const t=new TextDecoder;return t.decode(e.slice(0,7))!==_t?null:t.decode(e)}async function Et(e){if("undefined"==typeof navigator||!("storage"in navigator)||"function"!=typeof navigator.storage.getDirectory)throw new Error("OPFS is not supported in this browser.");const t=e.slice(7),r=t.startsWith("/")?t.slice(1):t,n=await navigator.storage.getDirectory(),o=r.split("/");let i=n;for(let e=0;e<o.length-1;e++)i=await i.getDirectoryHandle(o[e]);const a=o[o.length-1];return(await i.getFileHandle(a)).getFile()}mt=[we],ft=[we],gt=[we],ht=[we],pt=[we],ut=[we],dt=[we],ct=[ve({disabledInModes:["Playback"]})],lt=[we],st=[we],at=[ve({disabledInModes:["Playback"]})],it=[we],ot=[we],nt=[ve({disabledInModes:["Playback"]})],rt=[we],tt=[ve({disabledInModes:["Playback"]})],et=[ve({disabledInModes:["Playback"]})],Je=[we],Ze=[ve({disabledInModes:["Playback"]})],Qe=[ve({disabledInModes:["Playback"]})],Ke=[ve({disabledInModes:["Playback"]})],Ye=[ve({disabledInModes:["Playback"]})],Xe=[we],je=[ve({disabledInModes:["Playback"]})],Ge=[we],ze=[we],Ve=[we],Ne=[ve({disabledInModes:["Playback"]})],$e=[we];var Ct,Tt,xt,Pt,At,Ft,Mt,It,Dt,Rt,Bt,Lt,Ot,Ut,qt,Wt,Ht,$t,Nt,Vt,zt,Gt,jt,Xt,Yt,Kt,Qt,Zt,Jt,er,tr,rr,nr,or,ir,ar,sr,lr,cr,dr,ur,pr,hr,gr,fr,mr,br,yr,vr,wr,kr,_r,Sr,Er,Cr,Tr,xr,Pr,Ar,Fr,Mr,Ir,Dr,Rr,Br,Lr,Or,Ur,qr,Wr,Hr,$r,Nr,Vr,zr,Gr,jr,Xr,Yr,Kr,Qr,Zr,Jr,en,tn,rn,nn,on,an,sn,ln,cn,dn,un,pn,hn,gn,fn,mn,bn,yn,vn,wn,kn,_n,Sn,En,Cn,Tn,xn,Pn,An,Fn,Mn,In,Dn,Rn,Bn,Ln,On,Un,qn,Wn,Hn,$n,Nn,Vn,zn,Gn,jn,Xn,Yn,Kn,Qn,Zn,Jn,eo,to,ro,no,oo,io,ao,so,lo,co,uo,po,ho,go,fo,mo,bo,yo,vo,wo,ko,_o,So,Eo,Co,To,xo,Po,Ao,Fo,Mo,Io,Do,Ro,Bo,Lo,Oo,Uo,qo,Wo,Ho,$o,No,Vo,zo,Go,jo,Xo,Yo,Ko,Qo,Zo,Jo,ei,ti,ri,ni,oi,ii,ai,si,li,ci,di,ui,pi,hi,gi,fi,mi,bi,yi,vi,wi,ki,_i,Si,Ei,Ci,Ti,xi,Pi,Ai,Fi,Mi,Ii,Di,Ri,Bi,Li,Oi,Ui,qi,Wi,Hi,$i,Ni,Vi,zi,Gi,ji,Xi,Yi,Ki,Qi,Zi,Ji,ea,ta,ra,na,oa,ia,aa,sa,la,ca,da,ua,pa,ha,ga,fa,ma,ba,ya,va,wa,ka,_a,Sa,Ea,Ca,Ta,xa,Pa,Aa,Fa,Ma,Ia,Da,Ra,Ba,La,Oa,Ua,qa,Wa,Ha,$a,Na,Va,za,Ga,ja,Xa,Ya,Ka,Qa,Za,Ja,es,ts,rs,ns,os,is,as,ss,ls,cs,ds,us,ps,hs,gs,fs,ms,bs,ys,vs,ws,ks,_s,Ss,Es,Cs,Ts,xs,Ps,As,Fs,Ms,Is,Ds,Rs,Bs,Ls,Os,Us,qs,Ws,Hs,$s,Ns,Vs,zs,Gs,js,Xs,Ys,Ks,Qs,Zs,Js,el,tl,rl,nl,ol,il,al,sl,ll,cl,dl,SceneAPI=class{constructor(e,t=!1){E(vt,5,this),F(this,wt),F(this,bt),F(this,yt),T(this,"onZoomLevelChanged",e=>{const t=A(this,bt).subscribeToZoomLevel(e);return()=>{A(this,bt).isDeleted()||_e(A(this,bt).unsubscribe(t))}}),T(this,"onActiveChanged",e=>{const t=A(this,bt).subscribeToActiveSceneChange(e);return()=>{A(this,bt).isDeleted()||_e(A(this,bt).unsubscribe(t))}}),M(this,bt,e),t||M(this,yt,new BlockAPI(e))}async loadFromString(e,t=!1,r=!1){return ne("sceneContent",e,Y()),Se(n=>A(this,bt).loadSceneFromString(e,n,t,r))}async loadFromURL(e,t=!1,r=!1){return ne("url",e,Y()),Se(n=>A(this,bt).loadSceneFromURL(e,n,t,r))}async loadFromArchiveURL(e,t=!1,r=!1){return ne("url",e,Y()),Se(n=>A(this,bt).loadSceneFromArchiveURL(e,n,t,r))}async saveToString(e,t){const r=this.get();if(null==r)throw new Error("No scene available.");const n=Array.isArray(e)?{allowedResourceSchemes:e,onDisallowedResourceScheme:t}:e??{},o=n.allowedResourceSchemes??["blob","bundle","file","http","https","opfs"],i=n.onDisallowedResourceScheme,a=n.compression?.format,s=n.compression?.level;return Se(e=>{const t={resourceSchemesAllowed:o,persistenceCallback:i?async(e,t,r)=>{const n=await i(e,t);r&&r.invoke(e,n)}:void 0};void 0!==a&&(t.compression={format:a,level:s}),A(this,bt).saveSceneToString(r,e,t)})}async saveToArchive(){return new Promise((e,t)=>{const r=this.get();null==r?t(new Error("No scene available.")):A(this,bt).saveSceneToArchive(r,async r=>{if("error"in r)t(r.error);else{const n=St(r);if(null!==n)try{e(await Et(n))}catch(e){t(e)}else e(new Blob([r],{type:"application/zip"}))}})})}create(e="Free",t){ne("sceneLayout",e,le()),void 0!==t?.designUnit&&ne("designUnit",t.designUnit,de()),void 0!==t?.fontSizeUnit&&ne("fontSizeUnit",t.fontSizeUnit,ue());const r=_e(void 0!==t?.designUnit||void 0!==t?.fontSizeUnit?A(this,bt).createSceneWithUnits(t.designUnit??"Pixel",t.fontSizeUnit,e):A(this,bt).createScene(e));return t?(I(this,wt,kt).call(this,r,t),r):r}createVideo(e){const t=this.create("Free",e);return this.setMode("Video"),t}createFromImage(e,t=300,r=1,n="Free",o=0,i=!1){return ne("url",e,Y()),ne("dpi",t,J(G(),0)),ne("pixelScaleFactor",r,J(G(),0)),ne("sceneLayout",n,le()),Se(a=>A(this,bt).createSceneFromImage(e,t,r,n,o,i,a))}createFromVideo(e){return ne("url",e,Y()),Se(t=>A(this,bt).createSceneFromVideo(e,t))}get(){const e=_e(A(this,bt).findByType("scene")),t=Ue(e);return t.length>0?t[0]:null}async applyTemplateFromString(e){return ne("content",e,Y()),Se(t=>A(this,bt).applyTemplateFromString(e,t))}async applyTemplateFromURL(e){return ne("url",e,Y()),Se(t=>A(this,bt).applyTemplateFromURL(e,t))}getMode(){const e=this.get(),t=A(this,bt).getSceneMode(e);return t.isValid()?_e(t):(t.delete(),null)}setMode(e){ne("mode",e,function(){const e=["Design","Video"];return $("SceneMode",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}());const t=this.get();if(null==t)throw new Error("No scene available.");_e(A(this,bt).setSceneMode(t,e))}setDesignUnit(e){ne("designUnit",e,de());const t=this.get();_e(A(this,bt).setDesignUnit(t,e))}getDesignUnit(){const e=this.get();return _e(A(this,bt).getDesignUnit(e))}setFontSizeUnit(e){ne("fontSizeUnit",e,ue());const t=this.get();_e(A(this,bt).setFontSizeUnit(t,e))}getFontSizeUnit(){const e=this.get();return _e(A(this,bt).getFontSizeUnit(e))}getLayout(){const e=this.get();if(null==e)throw new Error("No scene available.");return _e(A(this,bt).getSceneLayout(e))}setLayout(e){ne("layout",e,le());const t=this.get();if(null==t)throw new Error("No scene available.");_e(A(this,bt).setSceneLayout(t,e))}getPages(){return Ue(_e(A(this,bt).getPages()))}getCurrentPage(){const e=this.get();if(null==e)return null;const t=A(this,bt).getCurrentPage(e);return t.isValid()?_e(t):null}findNearestToViewPortCenterByType(e){ne("type",e,Y());const t=this.get();if(null==t)return[];const r=_e(A(this,bt).findNearestToViewPortCenterByType(t,e));return Ue(r)}findNearestToViewPortCenterByKind(e){ne("kind",e,Y());const t=this.get();if(null==t)return[];const r=_e(A(this,bt).findNearestToViewPortCenterByKind(t,e));return Ue(r)}setZoomLevel(e=1){const t=this.get();ne("zoomLevel",e,J(G(),0)),A(this,bt).setZoomLevel(t,e)}getZoomLevel(){const e=this.get();return _e(A(this,bt).getZoomLevel(e))}async zoomToBlock(e,t,r,n,o){ne("id",e,z());try{ne("options",t,X(j({padding:X(Q([G(),j({x:X(G()),y:X(G())}),j({top:X(G()),bottom:X(G()),left:X(G()),right:X(G())})])),animate:X(Q([V(),j({duration:X(J(G(),0)),easing:X(ce()),interruptible:X(V())})]))})))}catch(e){try{ne("paddingLeft",t,X(G())),ne("paddingTop",r,X(G())),ne("paddingRight",n,X(G())),ne("paddingBottom",o,X(G()))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.scene.zoomToBlock(id, paddingLeft, paddingTop, paddingRight, paddingBottom)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.scene.zoomToBlock(id, options)\n${e.message}`)}}const i="object"==typeof t?t:{padding:{left:t??0,top:r??0,right:n??0,bottom:o??0}},a={left:0,top:0,right:0,bottom:0};if(null!=i.padding&&("number"==typeof i.padding?(a.left=i.padding,a.top=i.padding,a.right=i.padding,a.bottom=i.padding):(("x"in i.padding||"y"in i.padding)&&(a.left=i.padding.x??a.left,a.right=i.padding.x??a.right,a.top=i.padding.y??a.top,a.bottom=i.padding.y??a.bottom),("left"in i.padding||"top"in i.padding||"right"in i.padding||"bottom"in i.padding)&&(a.left=i.padding.left??a.left,a.top=i.padding.top??a.top,a.right=i.padding.right??a.right,a.bottom=i.padding.bottom??a.bottom))),i.animate){const t={duration:.5,easing:"EaseInOut",interruptible:!1};return"object"==typeof i.animate&&(t.duration=i.animate.duration??t.duration,t.easing=i.animate.easing??t.easing,t.interruptible=i.animate.interruptible??t.interruptible),new Promise(r=>{A(this,bt).zoomToBlockWithAnimation(e,a.left,a.top,a.right,a.bottom,t.duration,t.easing,t.interruptible,()=>{r()})})}return Se(t=>A(this,bt).zoomToBlock(e,a.left,a.top,a.right,a.bottom,t))}enableZoomAutoFit(e,t,r=0,n=0,o=0,i=0){return ne("id",e,z()),ne("axis",t,function(){const e=["Horizontal","Vertical","Both"];return $("ZoomAutoFitAxis",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}()),"Horizontal"===t?(ne("paddingBefore",r,G()),ne("paddingAfter",n,G()),_e(A(this,bt).enableZoomAutoFit(e,t,r,0,n,0))):"Vertical"===t?(ne("paddingBefore",r,G()),ne("paddingAfter",n,G()),_e(A(this,bt).enableZoomAutoFit(e,t,0,r,0,n))):(ne("paddingLeft",r,G()),ne("paddingTop",n,G()),ne("paddingRight",o,G()),ne("paddingBottom",i,G()),_e(A(this,bt).enableZoomAutoFit(e,t,r,n,o,i)))}disableZoomAutoFit(e){return ne("blockOrScene",e,z()),_e(A(this,bt).disableZoomAutoFit(e))}isZoomAutoFitEnabled(e){return ne("blockOrScene",e,z()),_e(A(this,bt).isZoomAutoFitEnabled(e))}unstable_enableCameraPositionClamping(e,t=0,r=0,n=0,o=0,i=0,a=0,s=0,l=0){return ne("ids",e,N(G())),ne("paddingLeft",t,G()),ne("paddingTop",r,G()),ne("paddingRight",n,G()),ne("paddingBottom",o,G()),ne("scaledPaddingLeft",t,G()),ne("scaledPaddingTop",r,G()),ne("scaledPaddingRight",n,G()),ne("scaledPaddingBottom",o,G()),_e(A(this,bt).unstable_enableCameraPositionClamping(e,t,r,n,o,i,a,s,l))}unstable_disableCameraPositionClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return _e(A(this,bt).unstable_disableCameraPositionClamping(e))}unstable_isCameraPositionClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return _e(A(this,bt).unstable_isCameraPositionClampingEnabled(e))}unstable_enableCameraZoomClamping(e,t=-1,r=-1,n=0,o=0,i=0,a=0){return ne("ids",e,N(G())),ne("minZoomLimit",t,G()),ne("maxZoomLimit",r,G()),ne("paddingLeft",n,G()),ne("paddingTop",o,G()),ne("paddingRight",i,G()),ne("paddingBottom",a,G()),_e(A(this,bt).unstable_enableCameraZoomClamping(e,t,r,n,o,i,a))}unstable_disableCameraZoomClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return _e(A(this,bt).unstable_disableCameraZoomClamping(e))}unstable_isCameraZoomClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return _e(A(this,bt).unstable_isCameraZoomClampingEnabled(e))}setPlaying(e){const t=this.getCurrentPage();if(null==t)throw new Error("No page to play");A(this,bt).setPlaying(t,e)}};function ul(e){return"r"in e&&"a"in e&&void 0!==e.r&&void 0!==e.a}function pl(e){return"name"in e&&void 0!==e.name}function hl(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}function gl(e,t,r){switch(t){case"Point":default:return e;case"Pixel":return 72*e/r;case"Millimeter":return 72*e/25.4;case"Inch":return 72*e}}function fl(e,t,r){switch(t){case"Point":default:return e;case"Pixel":return e*r/72;case"Millimeter":return 25.4*e/72;case"Inch":return e/72}}vt=v(null),bt=new WeakMap,yt=new WeakMap,wt=new WeakSet,kt=function(e,t){if(!t.page)return;if(!A(this,yt))throw new Error("Utility functions not allowed to be called inside utility functions.");let r=0,n=0;if("number"==typeof t.page.size)r=t.page.size,n=t.page.size;else{if("object"!=typeof t.page.size)return;r=t.page.size.width,n=t.page.size.height}const o=A(this,yt).create("page");if(A(this,yt).appendChild(e,o),A(this,yt).setSize(o,r,n),t.page.color){const e=A(this,yt).createFill("color");A(this,yt).setFill(o,e),A(this,yt).setColor(o,"fill/solid/color",t.page.color)}},C(vt,1,"loadFromString",mt,SceneAPI),C(vt,1,"loadFromURL",ft,SceneAPI),C(vt,1,"loadFromArchiveURL",gt,SceneAPI),C(vt,1,"create",ht,SceneAPI),C(vt,1,"createVideo",pt,SceneAPI),C(vt,1,"createFromImage",ut,SceneAPI),C(vt,1,"createFromVideo",dt,SceneAPI),C(vt,1,"get",ct,SceneAPI),C(vt,1,"applyTemplateFromString",lt,SceneAPI),C(vt,1,"applyTemplateFromURL",st,SceneAPI),C(vt,1,"getMode",at,SceneAPI),C(vt,1,"setMode",it,SceneAPI),C(vt,1,"setDesignUnit",ot,SceneAPI),C(vt,1,"getDesignUnit",nt,SceneAPI),C(vt,1,"setFontSizeUnit",rt,SceneAPI),C(vt,1,"getFontSizeUnit",tt,SceneAPI),C(vt,1,"getLayout",et,SceneAPI),C(vt,1,"setLayout",Je,SceneAPI),C(vt,1,"getPages",Ze,SceneAPI),C(vt,1,"getCurrentPage",Qe,SceneAPI),C(vt,1,"findNearestToViewPortCenterByType",Ke,SceneAPI),C(vt,1,"findNearestToViewPortCenterByKind",Ye,SceneAPI),C(vt,1,"setZoomLevel",Xe,SceneAPI),C(vt,1,"getZoomLevel",je,SceneAPI),C(vt,1,"zoomToBlock",Ge,SceneAPI),C(vt,1,"enableZoomAutoFit",ze,SceneAPI),C(vt,1,"disableZoomAutoFit",Ve,SceneAPI),C(vt,1,"isZoomAutoFitEnabled",Ne,SceneAPI),C(vt,1,"setPlaying",$e,SceneAPI),S(vt,SceneAPI),(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(ul(e))return{colorSpace:0,components:{x:e.r,y:e.g,z:e.b,w:e.a},spotColorName:"",tint:1,externalReference:""};if(hl(e))return{colorSpace:1,components:{x:e.c,y:e.m,z:e.y,w:e.k},spotColorName:"",tint:e.tint,externalReference:""};if(pl(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!")}})(Ct||(Ct={})),il=[we],ol=[we],nl=[we],rl=[we],tl=[we],el=[we],Js=[we],Zs=[we],Qs=[ve({disabledInModes:["Playback"]})],Ks=[ve({disabledInModes:["Playback"]})],Ys=[we],Xs=[we],js=[we],Gs=[ve({disabledInModes:["Playback"]})],zs=[ve({disabledInModes:["Playback"]})],Vs=[ve({disabledInModes:["Playback"]})],Ns=[we],$s=[we],Hs=[we],Ws=[we],qs=[ve({disabledInModes:["Playback"]})],Us=[we],Os=[we],Ls=[ve({disabledInModes:["Playback"]})],Bs=[ve({disabledInModes:["Playback"]})],Rs=[ve({disabledInModes:["Playback"]})],Ds=[ve({disabledInModes:["Playback"]})],Is=[ve({disabledInModes:["Playback"]})],Ms=[ve({disabledInModes:["Playback"]})],Fs=[ve({disabledInModes:["Playback"]})],As=[ve({disabledInModes:["Playback"]})],Ps=[we],xs=[ve({disabledInModes:["Playback"]})],Ts=[we],Cs=[ve({disabledInModes:["Playback"]})],Es=[we],Ss=[ve({disabledInModes:["Playback"]})],_s=[we],ks=[ve({disabledInModes:["Playback"]})],ws=[ve({disabledInModes:["Playback"]})],vs=[we],ys=[ve({disabledInModes:["Playback"]})],bs=[ve({disabledInModes:["Playback"]})],ms=[ve({disabledInModes:["Playback"]})],fs=[ve({disabledInModes:["Playback"]})],gs=[we],hs=[we],ps=[we],us=[we],ds=[we],cs=[we],ls=[ve({disabledInModes:["Playback"]})],ss=[ve({disabledInModes:["Playback"]})],as=[we],is=[we],os=[we],ns=[we],rs=[ve({disabledInModes:["Playback"]})],ts=[we],es=[ve({disabledInModes:["Playback"]})],Ja=[ve({disabledInModes:["Playback"]})],Za=[we],Qa=[we],Ka=[ve({disabledInModes:["Playback"]})],Ya=[ve({disabledInModes:["Playback"]})],Xa=[ve({disabledInModes:["Playback"]})],ja=[ve({disabledInModes:["Playback"]})],Ga=[we],za=[we],Va=[we],Na=[we],$a=[we],Ha=[we],Wa=[ve({disabledInModes:["Playback"]})],qa=[ve({disabledInModes:["Playback"]})],Ua=[ve({disabledInModes:["Playback"]})],Oa=[ve({disabledInModes:["Playback"]})],La=[we],Ba=[ve({disabledInModes:["Playback"]})],Ra=[we],Da=[ve({disabledInModes:["Playback"]})],Ia=[we],Ma=[ve({disabledInModes:["Playback"]})],Fa=[we],Aa=[we],Pa=[ve({disabledInModes:["Playback"]})],xa=[ve({disabledInModes:["Playback"]})],Ta=[ve({disabledInModes:["Playback"]})],Ca=[we],Ea=[we],Sa=[ve({disabledInModes:["Playback"]})],_a=[ve({disabledInModes:["Playback"]})],ka=[ve({disabledInModes:["Playback"]})],wa=[ve({disabledInModes:["Playback"]})],va=[ve({disabledInModes:["Playback"]})],ya=[ve({disabledInModes:["Playback"]})],ba=[we],ma=[we],fa=[ve({disabledInModes:["Playback"]})],ga=[we],ha=[we],pa=[we],ua=[we],da=[we],ca=[we],la=[ve({disabledInModes:["Playback"]})],sa=[ve({disabledInModes:["Playback"]})],aa=[ve({disabledInModes:["Playback"]})],ia=[ve({disabledInModes:["Playback"]})],oa=[ve({disabledInModes:["Playback"]})],na=[we],ra=[ve({disabledInModes:["Playback"]})],ta=[we],ea=[ve({disabledInModes:["Playback"]})],Ji=[we],Zi=[ve({disabledInModes:["Playback"]})],Qi=[we],Ki=[ve({disabledInModes:["Playback"]})],Yi=[we],Xi=[ve({disabledInModes:["Playback"]})],ji=[we],Gi=[ve({disabledInModes:["Playback"]})],zi=[we],Vi=[ve({disabledInModes:["Playback"]})],Ni=[we],$i=[ve({disabledInModes:["Playback"]})],Hi=[ve({disabledInModes:["Playback"]})],Wi=[we],qi=[ve({disabledInModes:["Playback"]})],Ui=[ve({disabledInModes:["Playback"]})],Oi=[we],Li=[we],Bi=[we],Ri=[we],Di=[ve({disabledInModes:["Playback"]})],Ii=[we],Mi=[we],Fi=[we],Ai=[we],Pi=[we],xi=[we],Ti=[we],Ci=[ve({disabledInModes:["Playback"]})],Ei=[ve({disabledInModes:["Playback"]})],Si=[ve({disabledInModes:["Playback"]})],_i=[ve({disabledInModes:["Playback"]})],ki=[ve({disabledInModes:["Playback"]})],wi=[ve({disabledInModes:["Playback"]})],vi=[we],yi=[we],bi=[we],mi=[ve({disabledInModes:["Playback"]})],fi=[we],gi=[ve({disabledInModes:["Playback"]})],hi=[we],pi=[ve({disabledInModes:["Playback"]})],ui=[we],di=[ve({disabledInModes:["Playback"]})],ci=[ve({disabledInModes:["Playback"]})],li=[we],si=[we],ai=[ve({disabledInModes:["Playback"]})],ii=[we],oi=[ve({disabledInModes:["Playback"]})],ni=[we],ri=[ve()],ti=[we],ei=[we],Jo=[we],Zo=[we],Qo=[ve({disabledInModes:["Playback"]})],Ko=[we],Yo=[we],Xo=[ve({disabledInModes:["Playback"]})],jo=[we],Go=[ve({disabledInModes:["Playback"]})],zo=[we],Vo=[ve({disabledInModes:["Playback"]})],No=[we],$o=[ve({disabledInModes:["Playback"]})],Ho=[we],Wo=[ve({disabledInModes:["Playback"]})],qo=[we],Uo=[ve({disabledInModes:["Playback"]})],Oo=[we],Lo=[we],Bo=[ve({disabledInModes:["Playback"]})],Ro=[ve({disabledInModes:["Playback"]})],Do=[we],Io=[ve({disabledInModes:["Playback"]})],Mo=[we],Fo=[ve({disabledInModes:["Playback"]})],Ao=[we],Po=[ve({disabledInModes:["Playback"]})],xo=[we],To=[ve({disabledInModes:["Playback"]})],Co=[we],Eo=[ve({disabledInModes:["Playback"]})],So=[we],_o=[ve({disabledInModes:["Playback"]})],ko=[we],wo=[ve({disabledInModes:["Playback"]})],vo=[we],yo=[ve({disabledInModes:["Playback"]})],bo=[we],mo=[ve({disabledInModes:["Playback"]})],fo=[we],go=[ve({disabledInModes:["Playback"]})],ho=[we],po=[ve({disabledInModes:["Playback"]})],uo=[we],co=[ve({disabledInModes:["Playback"]})],lo=[we],so=[we],ao=[ve({disabledInModes:["Playback"]})],io=[ve({disabledInModes:["Playback"]})],oo=[we],no=[ve({disabledInModes:["Playback"]})],ro=[we],to=[ve({disabledInModes:["Playback"]})],eo=[we],Jn=[ve({disabledInModes:["Playback"]})],Zn=[we],Qn=[ve({disabledInModes:["Playback"]})],Kn=[we],Yn=[ve({disabledInModes:["Playback"]})],Xn=[we],jn=[we],Gn=[we],zn=[we],Vn=[we],Nn=[we],$n=[ve({disabledInModes:["Playback"]})],Hn=[we],Wn=[ve({disabledInModes:["Playback"]})],qn=[we],Un=[ve({disabledInModes:["Playback"]})],On=[we],Ln=[ve({disabledInModes:["Playback"]})],Bn=[ve({disabledInModes:["Playback"]})],Rn=[we],Dn=[ve({disabledInModes:["Playback"]})],In=[we],Mn=[we],Fn=[ve({disabledInModes:["Playback"]})],An=[we],Pn=[we],xn=[we],Tn=[ve({disabledInModes:["Playback"]})],Cn=[we],En=[ve({disabledInModes:["Playback"]})],Sn=[we],_n=[ve({disabledInModes:["Playback"]})],kn=[we],wn=[ve({disabledInModes:["Playback"]})],vn=[we],yn=[ve({disabledInModes:["Playback"]})],bn=[ve({disabledInModes:["Playback"]})],mn=[ve({disabledInModes:["Playback"]})],fn=[we],gn=[we],hn=[we],pn=[we],un=[ve({disabledInModes:["Playback"]})],dn=[ve({disabledInModes:["Playback"]})],cn=[ve({disabledInModes:["Playback"]})],ln=[ve({disabledInModes:["Playback"]})],sn=[we],an=[ve({disabledInModes:["Playback"]})],on=[ve({disabledInModes:["Playback"]})],nn=[ve({disabledInModes:["Playback"]})],rn=[ve({disabledInModes:["Playback"]})],tn=[ve({disabledInModes:["Playback"]})],en=[we],Jr=[ve({disabledInModes:["Playback"]})],Zr=[we],Qr=[ve({disabledInModes:["Playback"]})],Kr=[we],Yr=[ve({disabledInModes:["Playback"]})],Xr=[ve({disabledInModes:["Playback"]})],jr=[we],Gr=[ve({disabledInModes:["Playback"]})],zr=[we],Vr=[ve({disabledInModes:["Playback"]})],Nr=[we],$r=[we],Hr=[ve({disabledInModes:["Playback"]})],Wr=[we],qr=[ve({disabledInModes:["Playback"]})],Ur=[we],Or=[ve({disabledInModes:["Playback"]})],Lr=[we],Br=[ve({disabledInModes:["Playback"]})],Rr=[we],Dr=[ve({disabledInModes:["Playback"]})],Ir=[we],Mr=[ve({disabledInModes:["Playback"]})],Fr=[ve({disabledInModes:["Playback"]})],Ar=[ve({disabledInModes:["Playback"]})],Pr=[we],xr=[we],Tr=[ve({disabledInModes:["Playback"]})],Cr=[ve({disabledInModes:["Playback"]})],Er=[we],Sr=[ve({disabledInModes:["Playback"]})],_r=[we],kr=[ve({disabledInModes:["Playback"]})],wr=[we],vr=[we],yr=[ve({disabledInModes:["Playback"]})],br=[we],mr=[ve({disabledInModes:["Playback"]})],fr=[we],gr=[ve({disabledInModes:["Playback"]})],hr=[we],pr=[ve({disabledInModes:["Playback"]})],ur=[we],dr=[ve()],cr=[we],lr=[ve()],sr=[ve({disabledInModes:["Playback"]})],ar=[we],ir=[ve({disabledInModes:["Playback"]})],or=[we],nr=[ve()],rr=[we],tr=[ve({disabledInModes:["Playback"]})],er=[ve({disabledInModes:["Playback"]})],Jt=[we],Zt=[ve({disabledInModes:["Playback"]})],Qt=[we],Kt=[ve({disabledInModes:["Playback"]})],Yt=[we],Xt=[ve({disabledInModes:["Playback"]})],jt=[ve({disabledInModes:["Playback"]})],Gt=[ve({disabledInModes:["Playback"]})],zt=[ve({disabledInModes:["Playback"]})],Vt=[ve({disabledInModes:["Playback"]})],Nt=[ve({disabledInModes:["Playback"]})],$t=[ve({disabledInModes:["Playback"]})],Ht=[we],Wt=[we],qt=[we],Ut=[we],Ot=[ve({disabledInModes:["Playback"]})],Lt=[ve({disabledInModes:["Playback"]})],Bt=[ve({disabledInModes:["Playback"]})],Rt=[we],Dt=[ve({disabledInModes:["Playback"]})],It=[we],Mt=[we],Ft=[we],At=[we],Pt=[ve({disabledInModes:["Playback"]})],xt=[ve({disabledInModes:["Playback"]})],Tt=[we];var BlockAPI=class{constructor(e){E(ll,5,this),F(this,cl),F(this,al),F(this,sl),T(this,"onSelectionChanged",e=>{const t=A(this,al).subscribeToSelectionChange(e);return()=>{A(this,al).isDeleted()||_e(A(this,al).unsubscribe(t))}}),T(this,"onClicked",e=>{const t=A(this,al).subscribeToBlockClicked(e);return()=>{A(this,al).isDeleted()||_e(A(this,al).unsubscribe(t))}}),T(this,"onStateChanged",(e,t)=>{ne("ids",e,N(z()));const r=A(this,al).subscribeToBlockState(e,e=>{try{t(Ue(e,!0))}catch(e){console.error(e)}});return()=>{A(this,al).isDeleted()||_e(A(this,al).unsubscribe(r))}}),M(this,al,e),M(this,sl,new SceneAPI(e,!0))}async export(e,t,r){ne("handle",e,G());try{ne("options",t,X(j({mimeType:X(Q([ie(),se()])),pngCompressionLevel:X(J(Z(z(),9),0)),jpegQuality:X(J(Z(G(),1),0,{exclusive:!0})),webpQuality:X(J(Z(G(),1),0,{exclusive:!0})),targetWidth:X(G()),targetHeight:X(G()),exportPdfWithHighCompatibility:X(V()),exportPdfWithUnderlayer:X(V()),underlayerSpotColorName:X(Y()),underlayerOffset:X(G()),underlayerRenderRatio:X(oe()),underlayerMaxError:X(oe()),allowTextOverhang:X(V()),exportPdfWithDeviceCMYK:X(V()),abortSignal:X(pe())})))}catch(e){try{ne("mimeType",t,X(Q([ie(),se()]))),ne("options",r,X(j({pngCompressionLevel:X(J(Z(z(),9),0)),jpegQuality:X(J(Z(G(),1),0,{exclusive:!0})),webpQuality:X(J(Z(G(),1),0,{exclusive:!0})),targetWidth:X(G()),targetHeight:X(G()),exportPdfWithHighCompatibility:X(V()),exportPdfWithUnderlayer:X(V()),underlayerSpotColorName:X(Y()),underlayerOffset:X(G()),underlayerRenderRatio:X(oe()),underlayerMaxError:X(oe()),allowTextOverhang:X(V()),abortSignal:X(pe())})))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.block.export(handle, mimeType, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.export(handle, options)\n${e.message}`)}}const n="object"==typeof t?t:{mimeType:t,...r},o=n.mimeType??"image/png",i=null!=n.targetWidth&&null!=n.targetHeight,a=n.jpegQuality??.9,s=n.webpQuality??1,l=n.pngCompressionLevel??5;return new Promise((t,r)=>{n.abortSignal?.addEventListener("abort",()=>{r(new Error("AbortSignal received"))}),A(this,al).exportToBuffer(e,o,e=>{"error"in e?r(e.error):t(new Blob([e],{type:o}))},{pngCompressionLevel:l,jpegQuality:a,webpQuality:s,useTargetSize:i,targetWidth:n.targetWidth??0,targetHeight:n.targetHeight??0,exportPdfWithHighCompatibility:n.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:n.exportPdfWithUnderlayer??!1,underlayerSpotColorName:n.underlayerSpotColorName??"",underlayerOffset:n.underlayerOffset??0,underlayerRenderRatio:n.underlayerRenderRatio??1,underlayerMaxError:n.underlayerMaxError??2,allowTextOverhang:n.allowTextOverhang??!1,exportPdfWithDeviceCMYK:n.exportPdfWithDeviceCMYK??!1})})}async getDominantColors(e,t={}){ne("handle",e,G()),ne("options",t,X(j({count:X(z()),ignoreWhite:X(V())})));const r=t.count??5,n=t.ignoreWhite??!1;return new Promise((t,o)=>{A(this,al).getDominantColors(e,e=>{"error"in e?o(new Error(e.error)):t(e)},{count:r,ignoreWhite:n})})}async exportWithColorMask(e,t,r,n,o,i){ne("handle",e,G());try{ne("maskColorR",t,G()),ne("maskColorG",r,G()),ne("maskColorB",n,G()),ne("options",i,X(j({mimeType:X(Q([ie(),se()])),pngCompressionLevel:X(J(Z(z(),9),0)),jpegQuality:X(J(Z(G(),1),0,{exclusive:!0})),webpQuality:X(J(Z(G(),1),0,{exclusive:!0})),targetWidth:X(G()),targetHeight:X(G()),exportPdfWithHighCompatibility:X(V()),exportPdfWithUnderlayer:X(V()),underlayerSpotColorName:X(Y()),underlayerOffset:X(G()),underlayerRenderRatio:X(oe()),underlayerMaxError:X(oe()),abortSignal:X(pe())})))}catch(e){try{ne("mimeType",t,X(Q([ie(),se()]))),ne("maskColorR",r,G()),ne("maskColorG",n,G()),ne("maskColorB",o,G()),ne("options",i,X(j({pngCompressionLevel:X(J(Z(z(),9),0)),jpegQuality:X(J(Z(G(),1),0,{exclusive:!0})),webpQuality:X(J(Z(G(),1),0,{exclusive:!0})),targetWidth:X(G()),targetHeight:X(G()),exportPdfWithHighCompatibility:X(V()),exportPdfWithUnderlayer:X(V()),underlayerSpotColorName:X(Y()),underlayerOffset:X(G()),underlayerRenderRatio:X(oe()),underlayerMaxError:X(oe()),abortSignal:X(pe())})))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.block.exportWithColorMask(handle, mimeType, maskColorR, maskColorG, maskColorB, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.exportWithColorMask(handle, maskColorR, maskColorG, maskColorB, options)\n${e.message}`)}}let a,s,l,c;"number"==typeof t?(a=t,s=r,l=n,c=o??{}):(a=r,s=n,l=o,c={mimeType:t,...i});const d=c.mimeType??"image/png",u=null!=c.targetWidth&&null!=c.targetHeight,p=c.jpegQuality??.9,h=c.webpQuality??1,g=c.pngCompressionLevel??5;return new Promise((t,r)=>{c.abortSignal?.addEventListener("abort",()=>{r(new Error("AbortSignal received"))}),A(this,al).exportWithColorMaskToBuffer(e,d,a,s,l,(e,n)=>{if("error"in e)r(e.error);else if("error"in n)r(n.error);else{const r=new Blob([e],{type:d}),o=new Blob([n],{type:d});t([r,o])}},{pngCompressionLevel:g,jpegQuality:p,webpQuality:h,useTargetSize:u,targetWidth:c.targetWidth??0,targetHeight:c.targetHeight??0,exportPdfWithHighCompatibility:c.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:c.exportPdfWithUnderlayer??!1,underlayerSpotColorName:c.underlayerSpotColorName??"",underlayerOffset:c.underlayerOffset??0,underlayerRenderRatio:c.underlayerRenderRatio??1,underlayerMaxError:c.underlayerMaxError??2,allowTextOverhang:c.allowTextOverhang??!1,exportPdfWithDeviceCMYK:c.exportPdfWithDeviceCMYK??!1})})}async exportVideo(e,t,r,n){throw new Error("Method not implemented. An implementation is available on the BlockAPI at engine.block or cesdk.engine.block")}async exportAudio(e,t={}){return ne("handle",e,G()),ne("options",t,j({mimeType:X(ae()),onProgress:X($("func",e=>"function"==typeof e||"Expected a function, but received: "+L(e))),timeOffset:X(G()),duration:X(G()),sampleRate:X(G()),numberOfChannels:X(G())})),new Promise((r,n)=>{A(this,al).exportAudioToBuffer(e,t.timeOffset??0,t.duration??0,t.mimeType??"audio/wav",t.onProgress??(()=>{}),e=>{"error"in e?n(e.error):r(new Blob([e],{type:t.mimeType??"audio/wav"}))},{sampleRate:t.sampleRate??48e3,numberOfChannels:t.numberOfChannels??2,skipEncoding:t.skipEncoding??!1})})}async loadFromString(e){return ne("content",e,Y()),Se(t=>A(this,al).loadBlocksFromString(e,t)).then(e=>Ue(e))}loadFromArchiveURL(e){return ne("url",e,Y()),Se(t=>A(this,al).loadBlocksFromArchiveURL(e,t)).then(e=>Ue(e))}loadFromURL(e){return ne("url",e,Y()),Se(t=>A(this,al).loadBlocksFromURL(e,t)).then(e=>Ue(e))}async saveToString(e,t=["buffer","http","https"],r){return ne("blocks",e,N(G())),Se(n=>A(this,al).saveBlocksToString(e,n,t,r?async(e,t,n)=>{const o=await r(e,t);n&&n.invoke(e,o)}:void 0))}async saveToArchive(e){return ne("blocks",e,N(G())),new Promise((t,r)=>{A(this,al).saveBlocksToArchive(e,async e=>{if("error"in e)r(e.error);else{const n=St(e);if(null!==n)try{t(await Et(n))}catch(e){r(e)}else t(new Blob([e],{type:"application/zip"}))}})})}create(e){return ne("type",e,Y()),_e(A(this,al).create(e))}createFill(e){return ne("type",e,Y()),_e(A(this,al).createFill(e))}getAudioTrackCountFromVideo(e){return ne("videoFillBlock",e,z()),_e(A(this,al).getAudioTrackCountFromVideo(e))}createAudioFromVideo(e,t,r={}){return ne("videoFillBlock",e,z()),ne("trackIndex",t,G()),ne("options",r,j({keepTrimSettings:X(V()),muteOriginalVideo:X(V())})),_e(A(this,al).createAudioFromVideo(e,t,{keepTrimSettings:r.keepTrimSettings??!0,muteOriginalVideo:r.muteOriginalVideo??!0}))}createAudiosFromVideo(e,t={}){return ne("videoFillBlock",e,z()),ne("options",t,j({keepTrimSettings:X(V()),muteOriginalVideo:X(V())})),Ue(_e(A(this,al).createAudiosFromVideo(e,{keepTrimSettings:t.keepTrimSettings??!0,muteOriginalVideo:t.muteOriginalVideo??!0})))}getAudioInfoFromVideo(e){return ne("videoFillBlock",e,z()),Ue(_e(A(this,al).getAudioInfoFromVideo(e)))}async createCaptionsFromURI(e){return ne("uri",e,Y()),Se(t=>A(this,al).createCaptionsFromURI(e,t)).then(e=>Ue(e))}getType(e){return ne("id",e,z()),_e(A(this,al).getType(e))}getKind(e){return ne("id",e,z()),_e(A(this,al).getKind(e))}setKind(e,t){ne("id",e,z()),_e(A(this,al).setKind(e,t))}select(e){return ne("id",e,z()),_e(A(this,al).select(e))}setSelected(e,t){return ne("id",e,z()),ne("selected",t,V()),_e(A(this,al).setSelected(e,t))}isSelected(e){return ne("id",e,z()),_e(A(this,al).isSelected(e))}findAllSelected(){return Ue(A(this,al).findAllSelected())}isGroupable(e){return ne("ids",e,N(G())),_e(A(this,al).isGroupable(e))}group(e){return ne("ids",e,ee(N(G()))),_e(A(this,al).group(e))}ungroup(e){return ne("id",e,G()),_e(A(this,al).ungroup(e))}enterGroup(e){return ne("id",e,G()),_e(A(this,al).enterGroup(e))}exitGroup(e){return ne("id",e,G()),_e(A(this,al).exitGroup(e))}isCombinable(e){return ne("ids",e,N(G())),_e(A(this,al).isCombinable(e))}combine(e,t){return ne("ids",e,N(G())),ne("op",t,Y()),_e(A(this,al).combine(e,t))}setName(e,t){return ne("id",e,z()),ne("name",t,Y()),_e(A(this,al).setName(e,t))}getName(e){return ne("id",e,z()),_e(A(this,al).getName(e))}getUUID(e){return ne("id",e,z()),_e(A(this,al).getUUID(e))}findByName(e){ne("name",e,Y());const t=A(this,al).findByName(e);return Ue(t)}findByType(e){ne("type",e,Y());const t=_e(A(this,al).findByType(e));return Ue(t)}findByKind(e){ne("kind",e,Y());const t=_e(A(this,al).findByKind(e));return Ue(t)}findAll(){return Ue(A(this,al).findAll())}findAllPlaceholders(){return Ue(A(this,al).findAllPlaceholders())}findAllUnused(){return Ue(A(this,al).findAllUnused())}createShape(e){return ne("type",e,Y()),_e(A(this,al).createShape(e))}hasShape(e){return ne("id",e,z()),_e(A(this,al).hasShape(e))}supportsShape(e){return ne("id",e,z()),_e(A(this,al).supportsShape(e))}getShape(e){return ne("id",e,z()),_e(A(this,al).getShape(e))}setShape(e,t){return ne("id",e,z()),ne("shape",t,z()),_e(A(this,al).setShape(e,t))}isVisible(e){return ne("id",e,z()),_e(A(this,al).isVisible(e))}setVisible(e,t){return ne("id",e,z()),ne("visible",t,V()),_e(A(this,al).setVisible(e,t))}isClipped(e){return ne("id",e,z()),_e(A(this,al).isClipped(e))}setClipped(e,t){return ne("id",e,z()),ne("clipped",t,V()),_e(A(this,al).setClipped(e,t))}isTransformLocked(e){return ne("id",e,z()),_e(A(this,al).isTransformLocked(e))}isLineOrigin(e){return ne("id",e,z()),_e(A(this,al).isLineOrigin(e))}setTransformLocked(e,t){return ne("id",e,z()),ne("locked",t,V()),_e(A(this,al).setTransformLocked(e,t))}getPositionX(e){return ne("id",e,z()),_e(A(this,al).getPositionX(e))}getPositionXMode(e){return ne("id",e,z()),_e(A(this,al).getPositionXMode(e))}getPositionY(e){return ne("id",e,z()),_e(A(this,al).getPositionY(e))}getPositionYMode(e){return ne("id",e,z()),_e(A(this,al).getPositionYMode(e))}setPositionX(e,t){return ne("id",e,z()),ne("value",t,G()),_e(A(this,al).setPositionX(e,t))}setPositionXMode(e,t){return ne("id",e,z()),_e(A(this,al).setPositionXMode(e,t))}setPositionY(e,t){return ne("id",e,z()),ne("value",t,G()),_e(A(this,al).setPositionY(e,t))}setPositionYMode(e,t){return ne("id",e,z()),_e(A(this,al).setPositionYMode(e,t))}setAlwaysOnTop(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setAlwaysOnTop(e,t))}setAlwaysOnBottom(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setAlwaysOnBottom(e,t))}isAlwaysOnTop(e){return ne("id",e,z()),_e(A(this,al).isAlwaysOnTop(e))}isAlwaysOnBottom(e){return ne("id",e,z()),_e(A(this,al).isAlwaysOnBottom(e))}bringToFront(e){return ne("id",e,G()),_e(A(this,al).bringToFront(e))}sendToBack(e){return ne("id",e,G()),_e(A(this,al).sendToBack(e))}bringForward(e){return ne("id",e,G()),_e(A(this,al).bringForward(e))}sendBackward(e){return ne("id",e,G()),_e(A(this,al).sendBackward(e))}getRotation(e){return ne("id",e,z()),_e(A(this,al).getRotation(e))}setRotation(e,t){return ne("id",e,z()),ne("radians",t,G()),_e(A(this,al).setRotation(e,t))}getFlipHorizontal(e){return ne("id",e,z()),_e(A(this,al).getFlip(e)).horizontal}getFlipVertical(e){return ne("id",e,z()),_e(A(this,al).getFlip(e)).vertical}setFlipHorizontal(e,t){return ne("id",e,z()),ne("flip",t,V()),_e(A(this,al).setFlipHorizontal(e,t))}setFlipVertical(e,t){return ne("id",e,z()),ne("flip",t,V()),_e(A(this,al).setFlipVertical(e,t))}hasContentFillMode(e){return ne("id",e,z()),_e(A(this,al).hasContentFillMode(e))}supportsContentFillMode(e){return ne("id",e,z()),_e(A(this,al).supportsContentFillMode(e))}getWidth(e){return ne("id",e,z()),_e(A(this,al).getWidth(e))}getWidthMode(e){return ne("id",e,z()),_e(A(this,al).getWidthMode(e))}getHeight(e){return ne("id",e,z()),_e(A(this,al).getHeight(e))}getHeightMode(e){return ne("id",e,z()),_e(A(this,al).getHeightMode(e))}setSize(e,t,r,n){return ne("id",e,z()),ne("width",t,G()),ne("height",r,G()),ne("options",n,X(j({maintainCrop:X(V()),sizeMode:X(he())}))),null!=n?.sizeMode&&(_e(A(this,al).setWidthMode(e,n.sizeMode)),_e(A(this,al).setHeightMode(e,n.sizeMode))),_e(A(this,al).setWidth(e,t,n?.maintainCrop??!1)),_e(A(this,al).setHeight(e,r,n?.maintainCrop??!1))}setPosition(e,t,r,n){return ne("id",e,z()),ne("x",t,G()),ne("y",r,G()),null!=n?.positionMode&&(_e(A(this,al).setPositionXMode(e,n.positionMode)),_e(A(this,al).setPositionYMode(e,n.positionMode))),_e(A(this,al).setPositionX(e,t)),_e(A(this,al).setPositionY(e,r))}setWidth(e,t,r){return ne("id",e,z()),ne("value",t,G()),ne("maintainCrop",r??!1,V()),_e(A(this,al).setWidth(e,t,r??!1))}setWidthMode(e,t){return ne("id",e,z()),_e(A(this,al).setWidthMode(e,t))}setHeight(e,t,r){return ne("id",e,z()),ne("value",t,G()),ne("maintainCrop",r??!1,V()),_e(A(this,al).setHeight(e,t,r??!1))}setHeightMode(e,t){return ne("id",e,z()),_e(A(this,al).setHeightMode(e,t))}getFrameX(e){return ne("id",e,z()),_e(A(this,al).getLastFrameX(e))}getFrameY(e){return ne("id",e,z()),_e(A(this,al).getLastFrameY(e))}getFrameWidth(e){return ne("id",e,z()),_e(A(this,al).getLastFrameWidth(e))}getFrameHeight(e){return ne("id",e,z()),_e(A(this,al).getLastFrameHeight(e))}setContentFillMode(e,t){return ne("id",e,z()),_e(A(this,al).setContentFillMode(e,t))}getContentFillMode(e){return ne("id",e,z()),_e(A(this,al).getContentFillMode(e))}setContentFillHorizontalAlignment(e,t){return ne("id",e,z()),_e(A(this,al).setContentFillHorizontalAlignment(e,t))}getContentFillHorizontalAlignment(e){return ne("id",e,z()),_e(A(this,al).getContentFillHorizontalAlignment(e))}setContentFillVerticalAlignment(e,t){return ne("id",e,z()),_e(A(this,al).setContentFillVerticalAlignment(e,t))}getContentFillVerticalAlignment(e){return ne("id",e,z()),_e(A(this,al).getContentFillVerticalAlignment(e))}duplicate(e,t=!0){return ne("id",e,z()),_e(A(this,al).duplicate(e,t))}destroy(e){return ne("id",e,z()),_e(A(this,al).destroy(e))}isValid(e){return ne("id",e,z()),A(this,al).isValid(e)}getParent(e){return ne("id",e,z()),_e(A(this,al).hasParent(e))?_e(A(this,al).getParent(e)):null}getChildren(e){ne("id",e,z());const t=_e(A(this,al).getChildren(e));return Ue(t)}insertChild(e,t,r){return ne("parent",e,G()),ne("child",t,G()),ne("index",r,J(G(),0)),_e(A(this,al).insertChild(e,t,r))}appendChild(e,t){return ne("parent",e,G()),ne("child",t,G()),_e(A(this,al).appendChild(e,t))}referencesAnyVariables(e){return ne("id",e,z()),_e(A(this,al).referencesAnyVariables(e))}getGlobalBoundingBoxX(e){return ne("id",e,z()),_e(A(this,al).getGlobalBoundingBoxX(e))}getGlobalBoundingBoxY(e){return ne("id",e,z()),_e(A(this,al).getGlobalBoundingBoxY(e))}getGlobalBoundingBoxWidth(e){return ne("id",e,z()),_e(A(this,al).getGlobalBoundingBoxWidth(e))}getGlobalBoundingBoxHeight(e){return ne("id",e,z()),_e(A(this,al).getGlobalBoundingBoxHeight(e))}getScreenSpaceBoundingBoxXYWH(e){return ne("ids",e,N(G())),_e(A(this,al).getScreenSpaceBoundingBoxXYWH(e))}alignHorizontally(e,t){return ne("ids",e,ee(N(G()))),_e(A(this,al).alignHorizontally(e,t))}alignVertically(e,t){return ne("ids",e,ee(N(G()))),_e(A(this,al).alignVertically(e,t))}isAlignable(e){return ne("ids",e,N(G())),_e(A(this,al).isAlignable(e))}distributeHorizontally(e){return ne("ids",e,ee(N(G()))),_e(A(this,al).distributeHorizontally(e))}distributeVertically(e){return ne("ids",e,ee(N(G()))),_e(A(this,al).distributeVertically(e))}isDistributable(e){return ne("ids",e,N(G())),_e(A(this,al).isDistributable(e))}fillParent(e){return ne("id",e,z()),_e(A(this,al).fillParent(e))}resizeContentAware(e,t,r){return ne("ids",e,N(G())),ne("width",t,G()),ne("height",r,G()),_e(A(this,al).resizeContentAware(e,t,r))}scale(e,t,r=0,n=0){return ne("id",e,z()),_e(A(this,al).scale(e,t,r,n))}findAllProperties(e){return ne("id",e,z()),Ue(_e(A(this,al).findAllProperties(e)))}isPropertyReadable(e){return ne("property",e,Y()),A(this,al).isPropertyReadable(e)}isPropertyWritable(e){return ne("property",e,Y()),A(this,al).isPropertyWritable(e)}getPropertyType(e){ne("property",e,Y());return _e(A(this,al).getPropertyType(e))}getEnumValues(e){return ne("enumProperty",e,Y()),Ue(_e(A(this,al).getEnumValues(e)))}setBool(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,V()),_e(A(this,al).setBool(e,t,r))}getBool(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getBool(e,t))}setInt(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,z()),_e(A(this,al).setInt(e,t,r))}getInt(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getInt(e,t))}setFloat(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,G()),_e(A(this,al).setFloat(e,t,r))}getFloat(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getFloat(e,t))}setDouble(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,G()),_e(A(this,al).setDouble(e,t,r))}getDouble(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getDouble(e,t))}setString(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,Y()),_e(A(this,al).setString(e,t,r))}getString(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getString(e,t))}setColor(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,me()),_e(A(this,al).setColor(e,t,Ct.fromColor(r)))}getColor(e,t){return ne("id",e,z()),ne("property",t,Y()),Ct.toColor(_e(A(this,al).getColor(e,t)))}setColorRGBA(e,t,r,n,o,i=1){return ne("id",e,z()),ne("property",t,Y()),ne("r",r,G()),ne("g",n,G()),ne("b",o,G()),ne("a",i,G()),_e(A(this,al).setColorRGBA(e,t,r,n,o,i))}getColorRGBA(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getColorRGBA(e,t))}setColorSpot(e,t,r,n=1){return ne("id",e,z()),ne("property",t,Y()),ne("name",r,Y()),ne("tint",n,G()),_e(A(this,al).setColorSpot(e,t,r,n))}getColorSpotName(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getColorSpotName(e,t))}getColorSpotTint(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getColorSpotTint(e,t))}setGradientColorStops(e,t,r){ne("id",e,z()),ne("property",t,Y());const n=r.map(e=>({color:Ct.fromColor(e.color),stop:e.stop}));return _e(A(this,al).setGradientColorStops(e,t,n))}getGradientColorStops(e,t){ne("id",e,z()),ne("property",t,Y());const r=_e(A(this,al).getGradientColorStops(e,t));return Ue(r).map(e=>({color:Ct.toColor(e.color),stop:e.stop}))}getSourceSet(e,t){return ne("id",e,z()),ne("property",t,Y()),Ue(_e(A(this,al).getSourceSet(e,t)))}setSourceSet(e,t,r){ne("id",e,z()),ne("property",t,Y()),ne("sourceSet",r,N(j({uri:Y(),width:G(),height:G()}))),_e(A(this,al).setSourceSet(e,t,r))}addImageFileURIToSourceSet(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("uri",r,Y()),Se(n=>A(this,al).addImageFileURIToSourceSet(e,t,r,n))}addVideoFileURIToSourceSet(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("uri",r,Y()),Se(n=>A(this,al).addVideoFileURIToSourceSet(e,t,r,n))}setEnum(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,Y()),_e(A(this,al).setEnum(e,t,r))}getEnum(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getEnum(e,t))}hasCrop(e){return ne("id",e,z()),_e(A(this,al).hasCrop(e))}supportsCrop(e){return ne("id",e,z()),_e(A(this,al).supportsCrop(e))}setCropScaleX(e,t){return ne("id",e,z()),ne("scaleX",t,G()),_e(A(this,al).setCropScaleX(e,t))}setCropScaleY(e,t){return ne("id",e,z()),ne("scaleY",t,G()),_e(A(this,al).setCropScaleY(e,t))}setCropRotation(e,t){return ne("id",e,z()),ne("rotation",t,G()),_e(A(this,al).setCropRotation(e,t))}setCropScaleRatio(e,t){return ne("id",e,z()),ne("scaleRatio",t,G()),_e(A(this,al).setCropScaleRatio(e,t))}setCropTranslationX(e,t){return ne("id",e,z()),ne("translationX",t,G()),_e(A(this,al).setCropTranslationX(e,t))}setCropTranslationY(e,t){return ne("id",e,z()),ne("translationY",t,G()),_e(A(this,al).setCropTranslationY(e,t))}resetCrop(e){return ne("id",e,z()),_e(A(this,al).resetCrop(e))}getCropScaleX(e){return ne("id",e,z()),_e(A(this,al).getCropScaleX(e))}getCropScaleY(e){return ne("id",e,z()),_e(A(this,al).getCropScaleY(e))}getCropRotation(e){return ne("id",e,z()),_e(A(this,al).getCropRotation(e))}getCropScaleRatio(e){return ne("id",e,z()),_e(A(this,al).getCropScaleRatio(e))}getCropTranslationX(e){return ne("id",e,z()),_e(A(this,al).getCropTranslationX(e))}getCropTranslationY(e){return ne("id",e,z()),_e(A(this,al).getCropTranslationY(e))}adjustCropToFillFrame(e,t){return ne("id",e,z()),ne("minScaleRatio",t,G()),_e(A(this,al).adjustCropToFillFrame(e,t))}flipCropHorizontal(e){return ne("id",e,z()),_e(A(this,al).flipCropHorizontal(e))}flipCropVertical(e){return ne("id",e,z()),_e(A(this,al).flipCropVertical(e))}isCropAspectRatioLocked(e){return ne("id",e,z()),_e(A(this,al).isCropAspectRatioLocked(e))}setCropAspectRatioLocked(e,t){ne("id",e,z()),ne("locked",t,V()),_e(A(this,al).setCropAspectRatioLocked(e,t))}canRevertToOriginalRatio(e){return ne("id",e,z()),_e(A(this,al).canRevertToOriginalRatio(e))}hasOpacity(e){return ne("id",e,z()),_e(A(this,al).hasOpacity(e))}supportsOpacity(e){return ne("id",e,z()),_e(A(this,al).supportsOpacity(e))}setOpacity(e,t){return ne("id",e,z()),ne("opacity",t,G()),_e(A(this,al).setOpacity(e,t))}getOpacity(e){return ne("id",e,z()),_e(A(this,al).getOpacity(e))}hasBlendMode(e){return ne("id",e,z()),_e(A(this,al).hasBlendMode(e))}supportsBlendMode(e){return ne("id",e,z()),_e(A(this,al).supportsBlendMode(e))}setBlendMode(e,t){return ne("id",e,z()),ne("blendMode",t,Y()),_e(A(this,al).setBlendMode(e,t))}getBlendMode(e){return ne("id",e,z()),_e(A(this,al).getBlendMode(e))}hasFillColor(e){return ne("id",e,z()),_e(A(this,al).hasFillColor(e))}isIncludedInExport(e){return ne("id",e,z()),_e(A(this,al).isIncludedInExport(e))}setIncludedInExport(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setIncludedInExport(e,t))}setFillColorRGBA(e,t,r,n,o=1){return ne("id",e,z()),ne("r",t,G()),ne("g",r,G()),ne("b",n,G()),ne("a",o,G()),_e(A(this,al).setFillColorRGBA(e,t,r,n,o))}getFillColorRGBA(e){return ne("id",e,z()),_e(A(this,al).getFillColorRGBA(e))}setFillColorEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setFillColorEnabled(e,t))}isFillColorEnabled(e){return ne("id",e,z()),_e(A(this,al).isFillColorEnabled(e))}createEffect(e){return ne("type",e,Y()),_e(A(this,al).createEffect(e))}hasEffects(e){return ne("id",e,z()),_e(A(this,al).hasEffects(e))}supportsEffects(e){return ne("id",e,z()),_e(A(this,al).supportsEffects(e))}getEffects(e){ne("id",e,z());const t=_e(A(this,al).getEffects(e));return Ue(t)}insertEffect(e,t,r){ne("id",e,z()),ne("effectId",t,z()),ne("index",r,J(z(),0)),_e(A(this,al).insertEffect(e,t,r))}appendEffect(e,t){ne("id",e,z()),ne("effectId",t,z()),_e(A(this,al).appendEffect(e,t))}removeEffect(e,t){ne("id",e,z()),ne("index",t,J(z(),0)),_e(A(this,al).removeEffect(e,t))}hasEffectEnabled(e){return ne("effectId",e,z()),_e(A(this,al).hasEffectEnabled(e))}setEffectEnabled(e,t){ne("effectId",e,z()),ne("enabled",t,V()),_e(A(this,al).setEffectEnabled(e,t))}isEffectEnabled(e){return ne("effectId",e,z()),_e(A(this,al).isEffectEnabled(e))}createBlur(e){return ne("type",e,Y()),_e(A(this,al).createBlur(e))}hasBlur(e){return ne("id",e,z()),_e(A(this,al).hasBlur(e))}supportsBlur(e){return ne("id",e,z()),_e(A(this,al).supportsBlur(e))}setBlur(e,t){ne("id",e,z()),ne("blurId",t,z()),_e(A(this,al).setBlur(e,t))}getBlur(e){return ne("id",e,z()),_e(A(this,al).getBlur(e))}setBlurEnabled(e,t){ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setBlurEnabled(e,t))}isBlurEnabled(e){return ne("id",e,z()),_e(A(this,al).isBlurEnabled(e))}hasBackgroundColor(e){return ne("id",e,z()),_e(A(this,al).hasBackgroundColor(e))}supportsBackgroundColor(e){return ne("id",e,z()),_e(A(this,al).supportsBackgroundColor(e))}setBackgroundColorRGBA(e,t,r,n,o=1){return ne("id",e,z()),ne("r",t,G()),ne("g",r,G()),ne("b",n,G()),ne("a",o,G()),_e(A(this,al).setBackgroundColorRGBA(e,t,r,n,o))}getBackgroundColorRGBA(e){return ne("id",e,z()),_e(A(this,al).getBackgroundColorRGBA(e))}setBackgroundColorEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setBackgroundColorEnabled(e,t))}isBackgroundColorEnabled(e){return ne("id",e,z()),_e(A(this,al).isBackgroundColorEnabled(e))}hasStroke(e){return ne("id",e,z()),_e(A(this,al).hasStroke(e))}supportsStroke(e){return ne("id",e,z()),_e(A(this,al).supportsStroke(e))}setStrokeEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setStrokeEnabled(e,t))}isStrokeEnabled(e){return ne("id",e,z()),_e(A(this,al).isStrokeEnabled(e))}setStrokeOverprint(e,t){return ne("id",e,z()),ne("overprint",t,V()),_e(A(this,al).setStrokeOverprint(e,t))}getStrokeOverprint(e){return ne("id",e,z()),_e(A(this,al).getStrokeOverprint(e))}setStrokeColorRGBA(e,t,r,n,o=1){return ne("id",e,z()),ne("r",t,G()),ne("g",r,G()),ne("b",n,G()),ne("a",o,G()),_e(A(this,al).setStrokeColorRGBA(e,t,r,n,o))}setStrokeColor(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeColor(e,Ct.fromColor(t)))}getStrokeColorRGBA(e){return ne("id",e,z()),_e(A(this,al).getStrokeColorRGBA(e))}getStrokeColor(e){return ne("id",e,z()),Ct.toColor(_e(A(this,al).getStrokeColor(e)))}setStrokeWidth(e,t){return ne("id",e,z()),ne("width",t,G()),_e(A(this,al).setStrokeWidth(e,t))}getStrokeWidth(e){return ne("id",e,z()),_e(A(this,al).getStrokeWidth(e))}setStrokeStyle(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeStyle(e,t))}getStrokeStyle(e){ne("id",e,z());return _e(A(this,al).getStrokeStyle(e))}setStrokePosition(e,t){return ne("id",e,z()),_e(A(this,al).setStrokePosition(e,t))}getStrokePosition(e){ne("id",e,z());return _e(A(this,al).getStrokePosition(e))}setStrokeCornerGeometry(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeCornerGeometry(e,t))}getStrokeCornerGeometry(e){ne("id",e,z());return _e(A(this,al).getStrokeCornerGeometry(e))}setStrokeCap(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeCap(e,t))}getStrokeCap(e){ne("id",e,z());return _e(A(this,al).getStrokeCap(e))}setStrokeStartCap(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeStartCap(e,t))}getStrokeStartCap(e){ne("id",e,z());return _e(A(this,al).getStrokeStartCap(e))}setStrokeEndCap(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeEndCap(e,t))}getStrokeEndCap(e){ne("id",e,z());return _e(A(this,al).getStrokeEndCap(e))}setStrokeDashStartCap(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeDashStartCap(e,t))}getStrokeDashStartCap(e){ne("id",e,z());return _e(A(this,al).getStrokeDashStartCap(e))}setStrokeDashEndCap(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeDashEndCap(e,t))}getStrokeDashEndCap(e){ne("id",e,z());return _e(A(this,al).getStrokeDashEndCap(e))}setStrokeDashArray(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeDashArray(e,t))}getStrokeDashArray(e){return ne("id",e,z()),Ue(_e(A(this,al).getStrokeDashArray(e)))}setStrokeDashOffset(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeDashOffset(e,t))}getStrokeDashOffset(e){return ne("id",e,z()),_e(A(this,al).getStrokeDashOffset(e))}hasDropShadow(e){return ne("id",e,z()),_e(A(this,al).hasDropShadow(e))}supportsDropShadow(e){return ne("id",e,z()),_e(A(this,al).supportsDropShadow(e))}setDropShadowEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setDropShadowEnabled(e,t))}isDropShadowEnabled(e){return ne("id",e,z()),_e(A(this,al).isDropShadowEnabled(e))}setDropShadowColorRGBA(e,t,r,n,o=1){return ne("id",e,z()),ne("r",t,G()),ne("g",r,G()),ne("b",n,G()),ne("a",o,G()),_e(A(this,al).setDropShadowColorRGBA(e,t,r,n,o))}setDropShadowColor(e,t){return ne("id",e,z()),ne("color",t,me()),_e(A(this,al).setDropShadowColor(e,Ct.fromColor(t)))}getDropShadowColorRGBA(e){return ne("id",e,z()),_e(A(this,al).getDropShadowColorRGBA(e))}getDropShadowColor(e){return ne("id",e,z()),Ct.toColor(_e(A(this,al).getDropShadowColor(e)))}setDropShadowOffsetX(e,t){return ne("id",e,z()),ne("offsetX",t,G()),_e(A(this,al).setDropShadowOffsetX(e,t))}getDropShadowOffsetX(e){return ne("id",e,z()),_e(A(this,al).getDropShadowOffsetX(e))}setDropShadowOffsetY(e,t){return ne("id",e,z()),ne("offsetY",t,G()),_e(A(this,al).setDropShadowOffsetY(e,t))}getDropShadowOffsetY(e){return ne("id",e,z()),_e(A(this,al).getDropShadowOffsetY(e))}setDropShadowBlurRadiusX(e,t){return ne("id",e,z()),ne("blurRadiusX",t,G()),_e(A(this,al).setDropShadowBlurRadiusX(e,t))}getDropShadowBlurRadiusX(e){return ne("id",e,z()),_e(A(this,al).getDropShadowBlurRadiusX(e))}setDropShadowBlurRadiusY(e,t){return ne("id",e,z()),ne("blurRadiusY",t,G()),_e(A(this,al).setDropShadowBlurRadiusY(e,t))}getDropShadowBlurRadiusY(e){return ne("id",e,z()),_e(A(this,al).getDropShadowBlurRadiusY(e))}setDropShadowClip(e,t){return ne("id",e,z()),_e(A(this,al).setDropShadowClip(e,t))}getDropShadowClip(e){return ne("id",e,z()),_e(A(this,al).getDropShadowClip(e))}createCutoutFromBlocks(e,t=2,r=4,n=!0){return ne("ids",e,N(z())),ne("vectorizeDistanceThreshold",t,G()),ne("maxSmoothingDistance",r,G()),ne("useExistingShapeInformation",n,V()),_e(A(this,al).createCutoutFromBlocks(e,t,r,n))}createCutoutFromPath(e){return ne("path",e,Y()),_e(A(this,al).createCutoutFromPath(e))}createCutoutFromOperation(e,t){return ne("ids",e,N(z())),ne("op",t,function(){const e=["Difference","Intersection","Union","XOR"];return $("CutoutOperation",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}()),_e(A(this,al).createCutoutFromOperation(e,t))}replaceText(e,t,r=-1,n=-1){ne("id",e,z()),ne("text",t,Y()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).replaceText(e,t,r,n))}removeText(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).removeText(e,t,r))}setTextColor(e,t,r=-1,n=-1){ne("id",e,z()),ne("color",t,me()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).setTextColor(e,Ct.fromColor(t),r,n))}getTextColors(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z());const n=A(this,al).getTextColors(e,t,r);return Ue(_e(n)).map(e=>Ct.toColor(e))}setTextFontWeight(e,t,r=-1,n=-1){ne("id",e,z()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).setTextFontWeight(e,t,r,n))}getTextFontWeights(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextFontWeights(e,t,r)))}setTextFontSize(e,t,r,n=-1){if(ne("id",e,z()),ne("fontSize",t,G()),"object"==typeof r&&null!==r){ne("options",r,X(j({unit:X(Y()),from:X(z()),to:X(z())})));const{unit:n,from:o=-1,to:i=-1}=r;let a=t;if(void 0!==n){const e=A(this,sl).get(),r=null!=e?A(this,sl).getFontSizeUnit():"Point";if(n!==r){if(null==e)throw new Error("No scene found for unit conversion");const o=this.getFloat(e,"scene/dpi");a=fl(gl(t,n,o),r,o)}}_e(A(this,al).setTextFontSize(e,a,o,i))}else{const o=r??-1;ne("from",o,z()),ne("to",n,z()),_e(A(this,al).setTextFontSize(e,t,o,n))}}getTextFontSizes(e,t=-1,r=-1){if(ne("id",e,z()),"object"==typeof t){ne("options",t,X(j({unit:X(Y()),from:X(z()),to:X(z())})));const{unit:r,from:n=-1,to:o=-1}=t,i=Ue(_e(A(this,al).getTextFontSizes(e,n,o)));if(void 0===r)return i;const a=A(this,sl).get(),s=null!=a?A(this,sl).getFontSizeUnit():"Point";if(r===s)return i;if(null==a)throw new Error("No scene found for unit conversion");const l=this.getFloat(a,"scene/dpi");return i.map(e=>fl(gl(e,s,l),r,l))}return ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextFontSizes(e,t,r)))}setTextFontStyle(e,t,r=-1,n=-1){ne("id",e,z()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).setTextFontStyle(e,t,r,n))}getTextFontStyles(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextFontStyles(e,t,r)))}getTextCases(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextCases(e,t,r)))}setTextCase(e,t,r=-1,n=-1){ne("id",e,z()),ne("textCase",t,Y()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).setTextCase(e,t,r,n))}getTextDecorations(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z());const n=_e(A(this,al).getTextDecorations(e,t,r));return Ue(n).map(e=>({...e,underlineColor:null!=e.underlineColor?Ct.toColor(e.underlineColor):void 0}))}setTextDecoration(e,t,r=-1,n=-1){ne("id",e,z()),ne("from",r,z()),ne("to",n,z());const o={...t,underlineColor:null!=t.underlineColor?Ct.fromColor(t.underlineColor):void 0};_e(A(this,al).setTextDecoration(e,o,r,n))}setTextKerning(e,t,r=-1,n=-1){ne("id",e,z()),ne("kerning",t,G()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).setTextKerning(e,t,r,n))}getTextKernings(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextKernings(e,t,r)))}toggleTextDecorationUnderline(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).toggleTextDecorationUnderline(e,t,r))}toggleTextDecorationStrikethrough(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).toggleTextDecorationStrikethrough(e,t,r))}toggleTextDecorationOverline(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).toggleTextDecorationOverline(e,t,r))}getTextHorizontalAlignment(e,t=-1){return ne("id",e,z()),ne("paragraphIndex",t,z()),_e(A(this,al).getTextHorizontalAlignment(e,t))}setTextHorizontalAlignment(e,t,r=-1){ne("id",e,z()),void 0!==t&&ne("alignment",t,Y()),ne("paragraphIndex",r,z()),_e(A(this,al).setTextHorizontalAlignment(e,t,r))}getTextListStyle(e,t){return ne("id",e,z()),ne("paragraphIndex",t,z()),_e(A(this,al).getTextListStyle(e,t))}setTextListStyle(e,t,r=-1,n){ne("id",e,z()),ne("listStyle",t,Y()),ne("paragraphIndex",r,z()),void 0!==n&&ne("listLevel",n,z()),_e(A(this,al).setTextListStyle(e,t,r,n))}getTextListLevel(e,t){return ne("id",e,z()),ne("paragraphIndex",t,z()),_e(A(this,al).getTextListLevel(e,t))}setTextListLevel(e,t,r=-1){ne("id",e,z()),ne("listLevel",t,z()),ne("paragraphIndex",r,z()),_e(A(this,al).setTextListLevel(e,t,r))}getTextParagraphIndices(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextParagraphIndices(e,t,r)))}setTextLineHeight(e,t,r=-1){ne("id",e,z()),null!==t&&ne("lineHeight",t,G()),ne("paragraphIndex",r,z()),_e(A(this,al).setTextLineHeight(e,t??void 0,r))}getTextLineHeight(e,t){return ne("id",e,z()),ne("paragraphIndex",t,z()),_e(A(this,al).getTextLineHeight(e,t))}canToggleBoldFont(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).canToggleBoldFont(e,t,r))}canToggleItalicFont(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).canToggleItalicFont(e,t,r))}toggleBoldFont(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).toggleBoldFont(e,t,r))}toggleItalicFont(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).toggleItalicFont(e,t,r))}setFont(e,t,r){ne("block",e,z()),ne("fontFileUri",t,Y()),_e(A(this,al).setFont(e,t,r))}setTypeface(e,t,r=-1,n=-1){ne("block",e,z()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).setTypeface(e,t,r,n))}getTypeface(e){return ne("block",e,z()),_e(A(this,al).getTypeface(e))}getTypefaces(e,t=-1,r=-1){return ne("block",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTypefaces(e,t,r)))}getTextRuns(e,t=-1,r=-1){ne("block",e,z()),ne("from",t,z()),ne("to",r,z());return Ue(_e(A(this,al).getTextRuns(e,t,r))).map(e=>({from:e.from,to:e.to,text:e.text,color:Ct.toColor(e.color),fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontSize:e.fontSize,textCase:e.textCase,typeface:e.typeface,resolvedFontFileUri:e.resolvedFontFileUri,textDecoration:{...e.textDecoration,lines:e.textDecoration.lines,style:e.textDecoration.style,underlineColor:null!=e.textDecoration.underlineColor?Ct.toColor(e.textDecoration.underlineColor):void 0},kerning:e.kerning}))}getTextCursorRange(){return _e(A(this,al).getTextCursorRange())}setTextCursorRange(e){ne("range",e,j({from:z(),to:z()})),_e(A(this,al).setTextCursorRange(e))}getTextVisibleLineCount(e){return ne("id",e,z()),_e(A(this,al).getTextVisibleLineCount(e))}getTextVisibleLineGlobalBoundingBoxXYWH(e,t){return ne("id",e,z()),ne("lineIndex",t,z()),_e(A(this,al).getTextVisibleLineGlobalBoundingBoxXYWH(e,t))}getTextVisibleLineContent(e,t){return ne("id",e,z()),ne("lineIndex",t,z()),_e(A(this,al).getTextVisibleLineContent(e,t))}getTextCharacterInkBoxes(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextCharacterInkBoxes(e,t,r)))}getTextEffectiveHorizontalAlignment(e){return ne("id",e,z()),_e(A(this,al).getTextEffectiveHorizontalAlignment(e))}setTextOnPath(e,t){ne("id",e,z()),_e(A(this,al).setTextOnPath(e,t))}getTextOnPath(e){return ne("id",e,z()),_e(A(this,al).getTextOnPath(e))??null}setTextOnPathOffset(e,t){ne("id",e,z()),ne("offset",t,G()),_e(A(this,al).setTextOnPathOffset(e,t))}getTextOnPathOffset(e){return ne("id",e,z()),_e(A(this,al).getTextOnPathOffset(e))}setTextOnPathFlipped(e,t){ne("id",e,z()),ne("flipped",t,V()),_e(A(this,al).setTextOnPathFlipped(e,t))}getTextOnPathFlipped(e){return ne("id",e,z()),_e(A(this,al).getTextOnPathFlipped(e))}hasFill(e){return ne("id",e,z()),_e(A(this,al).hasFill(e))}supportsFill(e){return ne("id",e,z()),_e(A(this,al).supportsFill(e))}isFillEnabled(e){return ne("id",e,z()),_e(A(this,al).isFillEnabled(e))}setFillEnabled(e,t){return ne("id",e,z()),_e(A(this,al).setFillEnabled(e,t))}getFillOverprint(e){return ne("id",e,z()),_e(A(this,al).getFillOverprint(e))}setFillOverprint(e,t){return ne("id",e,z()),_e(A(this,al).setFillOverprint(e,t))}getFill(e){return ne("id",e,z()),_e(A(this,al).getFill(e))}setFill(e,t){return ne("id",e,z()),ne("fill",t,z()),_e(A(this,al).setFill(e,t))}setFillSolidColor(e,t,r,n,o=1){ne("id",e,z()),_e(A(this,al).setFillSolidColor(e,t,r,n,o))}getFillSolidColor(e){return ne("id",e,z()),_e(A(this,al).getFillSolidColor(e))}setPlaceholderEnabled(e,t){ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setPlaceholderEnabled(e,t))}isPlaceholderEnabled(e){return ne("id",e,z()),_e(A(this,al).isPlaceholderEnabled(e))}hasPlaceholderBehavior(e){return ne("id",e,z()),_e(A(this,al).hasPlaceholderBehavior(e))}supportsPlaceholderBehavior(e){return ne("id",e,z()),_e(A(this,al).supportsPlaceholderBehavior(e))}setPlaceholderBehaviorEnabled(e,t){ne("id",e,z()),_e(A(this,al).setPlaceholderBehaviorEnabled(e,t))}isPlaceholderBehaviorEnabled(e){return ne("id",e,z()),_e(A(this,al).isPlaceholderBehaviorEnabled(e))}hasPlaceholderControls(e){return ne("id",e,z()),_e(A(this,al).hasPlaceholderControls(e))}supportsPlaceholderControls(e){return ne("id",e,z()),_e(A(this,al).supportsPlaceholderControls(e))}setPlaceholderControlsOverlayEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setPlaceholderControlsOverlayEnabled(e,t))}isPlaceholderControlsOverlayEnabled(e){return ne("id",e,z()),_e(A(this,al).isPlaceholderControlsOverlayEnabled(e))}setPlaceholderControlsButtonEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setPlaceholderControlsButtonEnabled(e,t))}isPlaceholderControlsButtonEnabled(e){return ne("id",e,z()),_e(A(this,al).isPlaceholderControlsButtonEnabled(e))}setMetadata(e,t,r){ne("id",e,z()),ne("key",t,Y()),ne("value",r,Y()),_e(A(this,al).setMetadata(e,t,r))}getMetadata(e,t){return ne("id",e,z()),ne("key",t,Y()),_e(A(this,al).getMetadata(e,t))}hasMetadata(e,t){return ne("id",e,z()),ne("key",t,Y()),_e(A(this,al).hasMetadata(e,t))}findAllMetadata(e){return ne("id",e,z()),Ue(_e(A(this,al).findAllMetadata(e)))}removeMetadata(e,t){ne("id",e,z()),ne("key",t,Y()),_e(A(this,al).removeMetadata(e,t))}setScopeEnabled(e,t,r){ne("id",e,z()),ne("key",t,Y()),ne("enabled",r,V()),_e(A(this,al).setScopeEnabled(e,t,r))}isScopeEnabled(e,t){return ne("id",e,z()),ne("key",t,Y()),_e(A(this,al).isScopeEnabled(e,t))}isAllowedByScope(e,t){return ne("id",e,z()),ne("key",t,Y()),_e(A(this,al).isAllowedByScope(e,t))}hasDuration(e){return ne("id",e,z()),_e(A(this,al).hasDuration(e))}supportsDuration(e){return ne("id",e,z()),_e(A(this,al).supportsDuration(e))}setDuration(e,t){return ne("id",e,z()),ne("duration",t,G()),_e(A(this,al).setDuration(e,t))}getDuration(e){return ne("id",e,z()),_e(A(this,al).getDuration(e))}setPageDurationSource(e,t){return ne("page",e,z()),ne("id",t,z()),_e(A(this,al).setPageDurationSource(e,t))}isPageDurationSource(e){return ne("id",e,z()),_e(A(this,al).isPageDurationSource(e))}supportsPageDurationSource(e,t){return ne("page",e,z()),ne("id",t,z()),_e(A(this,al).supportsPageDurationSource(e,t))}removePageDurationSource(e){ne("id",e,z()),_e(A(this,al).removePageDurationSource(e))}hasTimeOffset(e){return ne("id",e,z()),_e(A(this,al).hasTimeOffset(e))}supportsTimeOffset(e){return ne("id",e,z()),_e(A(this,al).supportsTimeOffset(e))}setTimeOffset(e,t){return ne("id",e,z()),ne("offset",t,G()),_e(A(this,al).setTimeOffset(e,t))}getTimeOffset(e){return ne("id",e,z()),_e(A(this,al).getTimeOffset(e))}hasTrim(e){return ne("id",e,z()),_e(A(this,al).hasTrim(e))}supportsTrim(e){return ne("id",e,z()),_e(A(this,al).supportsTrim(e))}setTrimOffset(e,t){return ne("id",e,z()),ne("offset",t,G()),_e(A(this,al).setTrimOffset(e,t))}getTrimOffset(e){return ne("id",e,z()),_e(A(this,al).getTrimOffset(e))}setTrimLength(e,t){return ne("id",e,z()),ne("length",t,G()),_e(A(this,al).setTrimLength(e,t))}getTrimLength(e){return ne("id",e,z()),_e(A(this,al).getTrimLength(e))}split(e,t,r={}){return ne("id",e,z()),ne("atTime",t,G()),ne("options",r,j({attachToParent:X(V()),createParentTrackIfNeeded:X(V()),selectNewBlock:X(V())})),_e(A(this,al).split(e,t,{attachToParent:r.attachToParent??!0,createParentTrackIfNeeded:r.createParentTrackIfNeeded??!1,selectNewBlock:r.selectNewBlock??!0}))}getTotalSceneDuration(e){return ne("scene",e,z()),_e(A(this,al).getTotalSceneDuration(e))}setPlaying(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setPlaying(e,t))}isPlaying(e){return ne("id",e,z()),_e(A(this,al).isPlaying(e))}hasPlaybackTime(e){return ne("id",e,z()),_e(A(this,al).hasPlaybackTime(e))}supportsPlaybackTime(e){return ne("id",e,z()),_e(A(this,al).supportsPlaybackTime(e))}setPlaybackTime(e,t){return ne("id",e,z()),ne("time",t,G()),_e(A(this,al).setPlaybackTime(e,t))}getPlaybackTime(e){return ne("id",e,z()),_e(A(this,al).getPlaybackTime(e))}isVisibleAtCurrentPlaybackTime(e){return ne("id",e,z()),_e(A(this,al).isVisibleAtCurrentPlaybackTime(e))}setSoloPlaybackEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setSoloPlaybackEnabled(e,t))}isSoloPlaybackEnabled(e){return ne("id",e,z()),_e(A(this,al).isSoloPlaybackEnabled(e))}hasPlaybackControl(e){return ne("id",e,z()),_e(A(this,al).hasPlaybackControl(e))}supportsPlaybackControl(e){return ne("id",e,z()),_e(A(this,al).supportsPlaybackControl(e))}setLooping(e,t){ne("id",e,z()),ne("looping",t,V()),_e(A(this,al).setLooping(e,t))}isLooping(e){return ne("id",e,z()),_e(A(this,al).isLooping(e))}setMuted(e,t){ne("id",e,z()),ne("muted",t,V()),_e(A(this,al).setMuted(e,t))}isForceMuted(e){return ne("id",e,z()),_e(A(this,al).isForceMuted(e))}isMuted(e){return ne("id",e,z()),_e(A(this,al).isMuted(e))}setVolume(e,t){ne("id",e,z()),ne("volume",t,G()),_e(A(this,al).setVolume(e,t))}getVolume(e){return ne("id",e,z()),_e(A(this,al).getVolume(e))}setPlaybackSpeed(e,t){ne("id",e,z()),ne("speed",t,G()),_e(A(this,al).setPlaybackSpeed(e,t))}getPlaybackSpeed(e){return ne("id",e,z()),_e(A(this,al).getPlaybackSpeed(e))}async forceLoadAVResource(e){return ne("id",e,z()),Se(t=>A(this,al).forceLoadAVResource(e,t))}unstable_isAVResourceLoaded(e){return ne("id",e,z()),_e(A(this,al).unstable_isAVResourceLoaded(e))}getAVResourceTotalDuration(e){return ne("id",e,z()),_e(A(this,al).getAVResourceTotalDuration(e))}getVideoWidth(e){return ne("id",e,z()),_e(A(this,al).getVideoWidth(e))}getVideoHeight(e){return ne("id",e,z()),_e(A(this,al).getVideoHeight(e))}generateVideoThumbnailSequence(e,t,r,n,o,i){ne("id",e,z()),ne("thumbnailHeight",t,z()),ne("timeBegin",r,G()),ne("timeEnd",n,G()),ne("numberOfFrames",o,z());const a=A(this,al).generateVideoThumbnailSequence(e,t,r,n,o,e=>{"error"in e?i(0,new Error(e.error)):i(e.frameIndex,new ImageData(new Uint8ClampedArray(e.imageData),e.width,e.height))});return()=>{A(this,al).cancelVideoThumbnailSequenceGeneration(a)}}generateAudioThumbnailSequence(e,t,r,n,o,i,a){ne("id",e,z()),ne("samplesPerChunk",t,z()),ne("timeBegin",r,G()),ne("timeEnd",n,G()),ne("numberOfSamples",o,z()),ne("numberOfChannels",i,z());const s=A(this,al).generateAudioThumbnailSequence(e,t,r,n,o,i,e=>{"error"in e?a(0,new Error(e.error)):a(e.chunkIndex,e.sampleData)});return()=>{A(this,al).cancelAudioThumbnailSequenceGeneration(s)}}async getVideoFillThumbnail(e,t){return ne("id",e,z()),ne("thumbnailHeight",t,z()),new Promise((r,n)=>{A(this,al).getVideoFillThumbnail(e,t,e=>{"error"in e?n(e.error):r(new Blob([e],{type:"image/jpeg"}))})})}async getVideoFillThumbnailAtlas(e,t,r,n){return ne("id",e,z()),ne("numberOfColumns",t,z()),ne("numberOfRows",r,z()),ne("thumbnailHeight",n,z()),new Promise((o,i)=>{A(this,al).getVideoFillThumbnailAtlas(e,t,r,n,e=>{"error"in e?i(e.error):o(new Blob([e],{type:"image/jpeg"}))})})}async getPageThumbnailAtlas(e,t,r,n){return ne("id",e,z()),ne("numberOfColumns",t,z()),ne("numberOfRows",r,z()),new Promise((o,i)=>{A(this,al).getPageThumbnailAtlas(e,t,r,n,e=>{"error"in e?i(e.error):o(new Blob([e],{type:"image/jpeg"}))})})}createAnimation(e){return ne("type",e,Y()),_e(A(this,al).createAnimation(e))}supportsAnimation(e){return ne("id",e,z()),_e(A(this,al).supportsAnimation(e))}setInAnimation(e,t){ne("id",e,z()),ne("animation",t,z()),_e(A(this,al).setInAnimation(e,t))}setLoopAnimation(e,t){ne("id",e,z()),ne("animation",t,z()),_e(A(this,al).setLoopAnimation(e,t))}setOutAnimation(e,t){ne("id",e,z()),ne("animation",t,z()),_e(A(this,al).setOutAnimation(e,t))}getInAnimation(e){return ne("id",e,z()),_e(A(this,al).getInAnimation(e))}getLoopAnimation(e){return ne("id",e,z()),_e(A(this,al).getLoopAnimation(e))}getOutAnimation(e){return ne("id",e,z()),_e(A(this,al).getOutAnimation(e))}setNativePixelBuffer(e,t){ne("id",e,z()),t instanceof HTMLVideoElement&&(t.width=t.videoWidth,t.height=t.videoHeight),_e(A(this,al).setNativePixelBuffer(e,t))}getState(e){return ne("id",e,z()),_e(A(this,al).getState(e))}setState(e,t){ne("id",e,z()),_e(A(this,al).setState(e,t))}async forceLoadResources(e){return ne("ids",e,N(z())),Se(t=>A(this,al).forceLoadResources(e,t))}async addImage(e,t={}){ne("url",e,Y()),ne("options",t,X(j({sizeMode:X(he()),positionMode:X(ge()),x:X(G()),y:X(G()),cornerRadius:X(G()),size:X(Q([G(),j({width:G(),height:G()})])),timeline:X(j({timeOffset:X(G()),duration:X(G())})),shadow:X(j({color:X(me()),offset:X(j({x:X(G()),y:X(G())})),blur:X(j({x:X(G()),y:X(G())}))})),animation:X(j({in:X(be()),loop:X(be()),out:X(be())}))})));const{x:r,y:n,size:o,timeline:i,animation:a,shadow:s,cornerRadius:l,sizeMode:c="Absolute",positionMode:d="Absolute"}=t;let u,p;if(null!=o)"number"==typeof o?(u=o,p=o):(u=o.width,p=o.height);else{const t=await new Promise((t,r)=>{const n=new Image;n.src=e,n.onerror=r,n.onload=()=>{t({width:n.width,height:n.height})}});u=t.width,p=t.height}const h=A(this,sl).getCurrentPage();if(null==h)throw new Error("No current page");const g=this.create("graphic");this.appendChild(h,g),this.setPositionXMode(g,d),this.setPositionYMode(g,d),this.setWidthMode(g,c),this.setHeightMode(g,c),null!=u&&this.setWidth(g,u),null!=p&&this.setHeight(g,p),null!=r?this.setPositionX(g,r):this.alignHorizontally([g],"Center"),null!=n?this.setPositionY(g,n):this.alignVertically([g],"Center");const f=this.createShape("rect");this.setShape(g,f),null!=l&&(this.setFloat(f,"shape/rect/cornerRadiusBL",l),this.setFloat(f,"shape/rect/cornerRadiusBR",l),this.setFloat(f,"shape/rect/cornerRadiusTL",l),this.setFloat(f,"shape/rect/cornerRadiusTR",l));const m=this.createFill("image");return this.setFill(g,m),this.setString(m,"fill/image/imageFileURI",e),null!=s&&this.applyDropShadow(g,s),null!=i?.timeOffset&&this.setTimeOffset(g,i.timeOffset),null!=i?.duration&&this.setDuration(g,i.duration),null!=a&&this.applyAnimation(g,a),await this.forceLoadResources([g]),this.adjustCropToFillFrame(g,.5),g}async addVideo(e,t,r,n={}){ne("url",e,Y()),ne("width",t,G()),ne("height",r,G()),ne("options",n,X(j({sizeMode:X(he()),positionMode:X(ge()),x:X(G()),y:X(G()),timeline:X(j({timeOffset:X(G()),duration:X(G())})),animation:X(j({in:X(be()),loop:X(be()),out:X(be())})),shadow:X(j({color:X(me()),offset:X(j({x:X(G()),y:X(G())})),blur:X(j({x:X(G()),y:X(G())}))})),cornerRadius:X(G())})));const{x:o,y:i,timeline:a,animation:s,shadow:l,cornerRadius:c,sizeMode:d="Absolute",positionMode:u="Absolute"}=n,p=A(this,sl).getCurrentPage();if(null==p)throw new Error("No current page");const h=this.create("graphic");this.appendChild(p,h),this.setPositionXMode(h,u),this.setPositionYMode(h,u),this.setWidthMode(h,d),this.setHeightMode(h,d),this.setWidth(h,t),this.setHeight(h,r),null!=o?this.setPositionX(h,o):this.alignHorizontally([h],"Center"),null!=i?this.setPositionY(h,i):this.alignVertically([h],"Center");const g=this.createShape("rect");this.setShape(h,g),null!=c&&(this.setFloat(g,"shape/rect/cornerRadiusBL",c),this.setFloat(g,"shape/rect/cornerRadiusBR",c),this.setFloat(g,"shape/rect/cornerRadiusTL",c),this.setFloat(g,"shape/rect/cornerRadiusTR",c));const f=this.createFill("video");return this.setFill(h,f),this.setString(f,"fill/video/fileURI",e),null!=l&&this.applyDropShadow(h,l),null!=a?.timeOffset&&this.setTimeOffset(h,a.timeOffset),null!=a?.duration&&this.setDuration(h,a.duration),null!=s&&this.applyAnimation(h,s),await this.forceLoadResources([h]),this.adjustCropToFillFrame(h,0),h}applyAnimation(e,t={}){if(ne("block",e,z()),ne("animation",t,X(j({in:X(be()),loop:X(be()),out:X(be())}))),null!=t.in){const r=this.createAnimation(t.in.type);if(this.setInAnimation(e,r),this.setDuration(r,t.in.duration),null!=t.in.easing&&I(this,cl,dl).call(this,r,"animationEasing")){const e=this.getEnumValues("animationEasing"),n=t.in.easing??"Linear";e.includes(n)&&this.setEnum(r,"animationEasing",n)}}if(null!=t.out){const r=this.createAnimation(t.out.type);if(this.setOutAnimation(e,r),this.setDuration(r,t.out.duration),null!=t.out.easing&&I(this,cl,dl).call(this,r,"animationEasing")){const e=this.getEnumValues("animationEasing"),n=t.out.easing??"Linear";e.includes(n)&&this.setEnum(r,"animationEasing",n)}}if(null!=t.loop){const r=this.createAnimation(t.loop.type);if(this.setLoopAnimation(e,r),this.setDuration(r,t.loop.duration),null!=t.loop.easing&&I(this,cl,dl).call(this,r,"animationEasing")){const e=this.getEnumValues("animationEasing"),n=t.loop.easing??"Linear";e.includes(n)&&this.setEnum(r,"animationEasing",n)}}}applyDropShadow(e,t={}){ne("block",e,z()),ne("options",t,X(j({color:X(me()),offset:X(j({x:X(G()),y:X(G())})),blur:X(j({x:X(G()),y:X(G())}))})));const{color:r,offset:n,blur:o}=t;this.setDropShadowEnabled(e,!0),null!=r&&this.setDropShadowColor(e,r),null!=n&&(null!=n.x&&this.setDropShadowOffsetX(e,n.x),null!=n.y&&this.setDropShadowOffsetY(e,n.y)),null!=o&&(null!=o.x&&this.setDropShadowBlurRadiusX(e,o.x),null!=o.y&&this.setDropShadowBlurRadiusY(e,o.y))}async generateThumbnailAtTimeOffset(e,t){ne("height",e,J(Z(z(),512),1)),ne("time",t,G());const r=A(this,sl).getCurrentPage();if(null==r)throw new Error("No page to get thumbnail for");return new Promise((n,o)=>{A(this,al).generateVideoThumbnailSequence(r,e,t,t,1,e=>{if("error"in e)o(e.error);else{const t=new ImageData(new Uint8ClampedArray(e.imageData),e.width,e.height),r=document.createElement("canvas");r.width=e.width,r.height=e.height;const i=r.getContext("2d");if(!i)return void o(new Error("Failed to get canvas context"));i.putImageData(t,0,0),r.toBlob(e=>{e?n(e):o(new Error("Failed to convert to PNG"))},"image/png")}})})}getBackgroundTrack(){if(null==A(this,sl).getCurrentPage())return null;return this.findByType("track").find(e=>this.isPageDurationSource(e))??null}moveToBackgroundTrack(e){ne("block",e,z());let t=this.getBackgroundTrack();if(null==t){const e=A(this,sl).getCurrentPage();if(null==e)throw new Error("No current page found");t=this.create("//ly.img.ubq/track"),this.appendChild(e,t),this.setAlwaysOnBottom(t,!0),this.supportsPageDurationSource(e,t)&&this.setPageDurationSource(e,t)}this.appendChild(t,e)}};ll=v(null),al=new WeakMap,sl=new WeakMap,cl=new WeakSet,dl=function(e,t){return this.findAllProperties(e).includes(t)},C(ll,1,"loadFromString",il,BlockAPI),C(ll,1,"loadFromArchiveURL",ol,BlockAPI),C(ll,1,"loadFromURL",nl,BlockAPI),C(ll,1,"create",rl,BlockAPI),C(ll,1,"createFill",tl,BlockAPI),C(ll,1,"createAudioFromVideo",el,BlockAPI),C(ll,1,"createAudiosFromVideo",Js,BlockAPI),C(ll,1,"createCaptionsFromURI",Zs,BlockAPI),C(ll,1,"getType",Qs,BlockAPI),C(ll,1,"getKind",Ks,BlockAPI),C(ll,1,"setKind",Ys,BlockAPI),C(ll,1,"select",Xs,BlockAPI),C(ll,1,"setSelected",js,BlockAPI),C(ll,1,"isSelected",Gs,BlockAPI),C(ll,1,"findAllSelected",zs,BlockAPI),C(ll,1,"isGroupable",Vs,BlockAPI),C(ll,1,"group",Ns,BlockAPI),C(ll,1,"ungroup",$s,BlockAPI),C(ll,1,"enterGroup",Hs,BlockAPI),C(ll,1,"exitGroup",Ws,BlockAPI),C(ll,1,"isCombinable",qs,BlockAPI),C(ll,1,"combine",Us,BlockAPI),C(ll,1,"setName",Os,BlockAPI),C(ll,1,"getName",Ls,BlockAPI),C(ll,1,"getUUID",Bs,BlockAPI),C(ll,1,"findByName",Rs,BlockAPI),C(ll,1,"findByType",Ds,BlockAPI),C(ll,1,"findByKind",Is,BlockAPI),C(ll,1,"findAll",Ms,BlockAPI),C(ll,1,"findAllPlaceholders",Fs,BlockAPI),C(ll,1,"findAllUnused",As,BlockAPI),C(ll,1,"createShape",Ps,BlockAPI),C(ll,1,"getShape",xs,BlockAPI),C(ll,1,"setShape",Ts,BlockAPI),C(ll,1,"isVisible",Cs,BlockAPI),C(ll,1,"setVisible",Es,BlockAPI),C(ll,1,"isClipped",Ss,BlockAPI),C(ll,1,"setClipped",_s,BlockAPI),C(ll,1,"isTransformLocked",ks,BlockAPI),C(ll,1,"isLineOrigin",ws,BlockAPI),C(ll,1,"setTransformLocked",vs,BlockAPI),C(ll,1,"getPositionX",ys,BlockAPI),C(ll,1,"getPositionXMode",bs,BlockAPI),C(ll,1,"getPositionY",ms,BlockAPI),C(ll,1,"getPositionYMode",fs,BlockAPI),C(ll,1,"setPositionX",gs,BlockAPI),C(ll,1,"setPositionXMode",hs,BlockAPI),C(ll,1,"setPositionY",ps,BlockAPI),C(ll,1,"setPositionYMode",us,BlockAPI),C(ll,1,"setAlwaysOnTop",ds,BlockAPI),C(ll,1,"setAlwaysOnBottom",cs,BlockAPI),C(ll,1,"isAlwaysOnTop",ls,BlockAPI),C(ll,1,"isAlwaysOnBottom",ss,BlockAPI),C(ll,1,"bringToFront",as,BlockAPI),C(ll,1,"sendToBack",is,BlockAPI),C(ll,1,"bringForward",os,BlockAPI),C(ll,1,"sendBackward",ns,BlockAPI),C(ll,1,"getRotation",rs,BlockAPI),C(ll,1,"setRotation",ts,BlockAPI),C(ll,1,"getFlipHorizontal",es,BlockAPI),C(ll,1,"getFlipVertical",Ja,BlockAPI),C(ll,1,"setFlipHorizontal",Za,BlockAPI),C(ll,1,"setFlipVertical",Qa,BlockAPI),C(ll,1,"getWidth",Ka,BlockAPI),C(ll,1,"getWidthMode",Ya,BlockAPI),C(ll,1,"getHeight",Xa,BlockAPI),C(ll,1,"getHeightMode",ja,BlockAPI),C(ll,1,"setSize",Ga,BlockAPI),C(ll,1,"setPosition",za,BlockAPI),C(ll,1,"setWidth",Va,BlockAPI),C(ll,1,"setWidthMode",Na,BlockAPI),C(ll,1,"setHeight",$a,BlockAPI),C(ll,1,"setHeightMode",Ha,BlockAPI),C(ll,1,"getFrameX",Wa,BlockAPI),C(ll,1,"getFrameY",qa,BlockAPI),C(ll,1,"getFrameWidth",Ua,BlockAPI),C(ll,1,"getFrameHeight",Oa,BlockAPI),C(ll,1,"setContentFillMode",La,BlockAPI),C(ll,1,"getContentFillMode",Ba,BlockAPI),C(ll,1,"setContentFillHorizontalAlignment",Ra,BlockAPI),C(ll,1,"getContentFillHorizontalAlignment",Da,BlockAPI),C(ll,1,"setContentFillVerticalAlignment",Ia,BlockAPI),C(ll,1,"getContentFillVerticalAlignment",Ma,BlockAPI),C(ll,1,"duplicate",Fa,BlockAPI),C(ll,1,"destroy",Aa,BlockAPI),C(ll,1,"isValid",Pa,BlockAPI),C(ll,1,"getParent",xa,BlockAPI),C(ll,1,"getChildren",Ta,BlockAPI),C(ll,1,"insertChild",Ca,BlockAPI),C(ll,1,"appendChild",Ea,BlockAPI),C(ll,1,"referencesAnyVariables",Sa,BlockAPI),C(ll,1,"getGlobalBoundingBoxX",_a,BlockAPI),C(ll,1,"getGlobalBoundingBoxY",ka,BlockAPI),C(ll,1,"getGlobalBoundingBoxWidth",wa,BlockAPI),C(ll,1,"getGlobalBoundingBoxHeight",va,BlockAPI),C(ll,1,"getScreenSpaceBoundingBoxXYWH",ya,BlockAPI),C(ll,1,"alignHorizontally",ba,BlockAPI),C(ll,1,"alignVertically",ma,BlockAPI),C(ll,1,"isAlignable",fa,BlockAPI),C(ll,1,"distributeHorizontally",ga,BlockAPI),C(ll,1,"distributeVertically",ha,BlockAPI),C(ll,1,"isDistributable",pa,BlockAPI),C(ll,1,"fillParent",ua,BlockAPI),C(ll,1,"resizeContentAware",da,BlockAPI),C(ll,1,"scale",ca,BlockAPI),C(ll,1,"findAllProperties",la,BlockAPI),C(ll,1,"isPropertyReadable",sa,BlockAPI),C(ll,1,"isPropertyWritable",aa,BlockAPI),C(ll,1,"getPropertyType",ia,BlockAPI),C(ll,1,"getEnumValues",oa,BlockAPI),C(ll,1,"setBool",na,BlockAPI),C(ll,1,"getBool",ra,BlockAPI),C(ll,1,"setInt",ta,BlockAPI),C(ll,1,"getInt",ea,BlockAPI),C(ll,1,"setFloat",Ji,BlockAPI),C(ll,1,"getFloat",Zi,BlockAPI),C(ll,1,"setDouble",Qi,BlockAPI),C(ll,1,"getDouble",Ki,BlockAPI),C(ll,1,"setString",Yi,BlockAPI),C(ll,1,"getString",Xi,BlockAPI),C(ll,1,"setColor",ji,BlockAPI),C(ll,1,"getColor",Gi,BlockAPI),C(ll,1,"setColorRGBA",zi,BlockAPI),C(ll,1,"getColorRGBA",Vi,BlockAPI),C(ll,1,"setColorSpot",Ni,BlockAPI),C(ll,1,"getColorSpotName",$i,BlockAPI),C(ll,1,"getColorSpotTint",Hi,BlockAPI),C(ll,1,"setGradientColorStops",Wi,BlockAPI),C(ll,1,"getGradientColorStops",qi,BlockAPI),C(ll,1,"getSourceSet",Ui,BlockAPI),C(ll,1,"setSourceSet",Oi,BlockAPI),C(ll,1,"addImageFileURIToSourceSet",Li,BlockAPI),C(ll,1,"addVideoFileURIToSourceSet",Bi,BlockAPI),C(ll,1,"setEnum",Ri,BlockAPI),C(ll,1,"getEnum",Di,BlockAPI),C(ll,1,"setCropScaleX",Ii,BlockAPI),C(ll,1,"setCropScaleY",Mi,BlockAPI),C(ll,1,"setCropRotation",Fi,BlockAPI),C(ll,1,"setCropScaleRatio",Ai,BlockAPI),C(ll,1,"setCropTranslationX",Pi,BlockAPI),C(ll,1,"setCropTranslationY",xi,BlockAPI),C(ll,1,"resetCrop",Ti,BlockAPI),C(ll,1,"getCropScaleX",Ci,BlockAPI),C(ll,1,"getCropScaleY",Ei,BlockAPI),C(ll,1,"getCropRotation",Si,BlockAPI),C(ll,1,"getCropScaleRatio",_i,BlockAPI),C(ll,1,"getCropTranslationX",ki,BlockAPI),C(ll,1,"getCropTranslationY",wi,BlockAPI),C(ll,1,"adjustCropToFillFrame",vi,BlockAPI),C(ll,1,"flipCropHorizontal",yi,BlockAPI),C(ll,1,"flipCropVertical",bi,BlockAPI),C(ll,1,"isCropAspectRatioLocked",mi,BlockAPI),C(ll,1,"setCropAspectRatioLocked",fi,BlockAPI),C(ll,1,"canRevertToOriginalRatio",gi,BlockAPI),C(ll,1,"setOpacity",hi,BlockAPI),C(ll,1,"getOpacity",pi,BlockAPI),C(ll,1,"setBlendMode",ui,BlockAPI),C(ll,1,"getBlendMode",di,BlockAPI),C(ll,1,"isIncludedInExport",ci,BlockAPI),C(ll,1,"setIncludedInExport",li,BlockAPI),C(ll,1,"setFillColorRGBA",si,BlockAPI),C(ll,1,"getFillColorRGBA",ai,BlockAPI),C(ll,1,"setFillColorEnabled",ii,BlockAPI),C(ll,1,"isFillColorEnabled",oi,BlockAPI),C(ll,1,"createEffect",ni,BlockAPI),C(ll,1,"getEffects",ri,BlockAPI),C(ll,1,"insertEffect",ti,BlockAPI),C(ll,1,"appendEffect",ei,BlockAPI),C(ll,1,"removeEffect",Jo,BlockAPI),C(ll,1,"setEffectEnabled",Zo,BlockAPI),C(ll,1,"isEffectEnabled",Qo,BlockAPI),C(ll,1,"createBlur",Ko,BlockAPI),C(ll,1,"setBlur",Yo,BlockAPI),C(ll,1,"getBlur",Xo,BlockAPI),C(ll,1,"setBlurEnabled",jo,BlockAPI),C(ll,1,"isBlurEnabled",Go,BlockAPI),C(ll,1,"setBackgroundColorRGBA",zo,BlockAPI),C(ll,1,"getBackgroundColorRGBA",Vo,BlockAPI),C(ll,1,"setBackgroundColorEnabled",No,BlockAPI),C(ll,1,"isBackgroundColorEnabled",$o,BlockAPI),C(ll,1,"setStrokeEnabled",Ho,BlockAPI),C(ll,1,"isStrokeEnabled",Wo,BlockAPI),C(ll,1,"setStrokeOverprint",qo,BlockAPI),C(ll,1,"getStrokeOverprint",Uo,BlockAPI),C(ll,1,"setStrokeColorRGBA",Oo,BlockAPI),C(ll,1,"setStrokeColor",Lo,BlockAPI),C(ll,1,"getStrokeColorRGBA",Bo,BlockAPI),C(ll,1,"getStrokeColor",Ro,BlockAPI),C(ll,1,"setStrokeWidth",Do,BlockAPI),C(ll,1,"getStrokeWidth",Io,BlockAPI),C(ll,1,"setStrokeStyle",Mo,BlockAPI),C(ll,1,"getStrokeStyle",Fo,BlockAPI),C(ll,1,"setStrokePosition",Ao,BlockAPI),C(ll,1,"getStrokePosition",Po,BlockAPI),C(ll,1,"setStrokeCornerGeometry",xo,BlockAPI),C(ll,1,"getStrokeCornerGeometry",To,BlockAPI),C(ll,1,"setStrokeCap",Co,BlockAPI),C(ll,1,"getStrokeCap",Eo,BlockAPI),C(ll,1,"setStrokeStartCap",So,BlockAPI),C(ll,1,"getStrokeStartCap",_o,BlockAPI),C(ll,1,"setStrokeEndCap",ko,BlockAPI),C(ll,1,"getStrokeEndCap",wo,BlockAPI),C(ll,1,"setStrokeDashStartCap",vo,BlockAPI),C(ll,1,"getStrokeDashStartCap",yo,BlockAPI),C(ll,1,"setStrokeDashEndCap",bo,BlockAPI),C(ll,1,"getStrokeDashEndCap",mo,BlockAPI),C(ll,1,"setStrokeDashArray",fo,BlockAPI),C(ll,1,"getStrokeDashArray",go,BlockAPI),C(ll,1,"setStrokeDashOffset",ho,BlockAPI),C(ll,1,"getStrokeDashOffset",po,BlockAPI),C(ll,1,"setDropShadowEnabled",uo,BlockAPI),C(ll,1,"isDropShadowEnabled",co,BlockAPI),C(ll,1,"setDropShadowColorRGBA",lo,BlockAPI),C(ll,1,"setDropShadowColor",so,BlockAPI),C(ll,1,"getDropShadowColorRGBA",ao,BlockAPI),C(ll,1,"getDropShadowColor",io,BlockAPI),C(ll,1,"setDropShadowOffsetX",oo,BlockAPI),C(ll,1,"getDropShadowOffsetX",no,BlockAPI),C(ll,1,"setDropShadowOffsetY",ro,BlockAPI),C(ll,1,"getDropShadowOffsetY",to,BlockAPI),C(ll,1,"setDropShadowBlurRadiusX",eo,BlockAPI),C(ll,1,"getDropShadowBlurRadiusX",Jn,BlockAPI),C(ll,1,"setDropShadowBlurRadiusY",Zn,BlockAPI),C(ll,1,"getDropShadowBlurRadiusY",Qn,BlockAPI),C(ll,1,"setDropShadowClip",Kn,BlockAPI),C(ll,1,"getDropShadowClip",Yn,BlockAPI),C(ll,1,"createCutoutFromBlocks",Xn,BlockAPI),C(ll,1,"createCutoutFromPath",jn,BlockAPI),C(ll,1,"createCutoutFromOperation",Gn,BlockAPI),C(ll,1,"replaceText",zn,BlockAPI),C(ll,1,"removeText",Vn,BlockAPI),C(ll,1,"setTextColor",Nn,BlockAPI),C(ll,1,"getTextColors",$n,BlockAPI),C(ll,1,"setTextFontWeight",Hn,BlockAPI),C(ll,1,"getTextFontWeights",Wn,BlockAPI),C(ll,1,"setTextFontSize",qn,BlockAPI),C(ll,1,"getTextFontSizes",Un,BlockAPI),C(ll,1,"setTextFontStyle",On,BlockAPI),C(ll,1,"getTextFontStyles",Ln,BlockAPI),C(ll,1,"getTextCases",Bn,BlockAPI),C(ll,1,"setTextCase",Rn,BlockAPI),C(ll,1,"getTextDecorations",Dn,BlockAPI),C(ll,1,"setTextDecoration",In,BlockAPI),C(ll,1,"setTextKerning",Mn,BlockAPI),C(ll,1,"getTextKernings",Fn,BlockAPI),C(ll,1,"toggleTextDecorationUnderline",An,BlockAPI),C(ll,1,"toggleTextDecorationStrikethrough",Pn,BlockAPI),C(ll,1,"toggleTextDecorationOverline",xn,BlockAPI),C(ll,1,"getTextHorizontalAlignment",Tn,BlockAPI),C(ll,1,"setTextHorizontalAlignment",Cn,BlockAPI),C(ll,1,"getTextListStyle",En,BlockAPI),C(ll,1,"setTextListStyle",Sn,BlockAPI),C(ll,1,"getTextListLevel",_n,BlockAPI),C(ll,1,"setTextListLevel",kn,BlockAPI),C(ll,1,"getTextParagraphIndices",wn,BlockAPI),C(ll,1,"setTextLineHeight",vn,BlockAPI),C(ll,1,"getTextLineHeight",yn,BlockAPI),C(ll,1,"canToggleBoldFont",bn,BlockAPI),C(ll,1,"canToggleItalicFont",mn,BlockAPI),C(ll,1,"toggleBoldFont",fn,BlockAPI),C(ll,1,"toggleItalicFont",gn,BlockAPI),C(ll,1,"setFont",hn,BlockAPI),C(ll,1,"setTypeface",pn,BlockAPI),C(ll,1,"getTypeface",un,BlockAPI),C(ll,1,"getTypefaces",dn,BlockAPI),C(ll,1,"getTextRuns",cn,BlockAPI),C(ll,1,"getTextCursorRange",ln,BlockAPI),C(ll,1,"setTextCursorRange",sn,BlockAPI),C(ll,1,"getTextVisibleLineCount",an,BlockAPI),C(ll,1,"getTextVisibleLineGlobalBoundingBoxXYWH",on,BlockAPI),C(ll,1,"getTextVisibleLineContent",nn,BlockAPI),C(ll,1,"getTextCharacterInkBoxes",rn,BlockAPI),C(ll,1,"getTextEffectiveHorizontalAlignment",tn,BlockAPI),C(ll,1,"setTextOnPath",en,BlockAPI),C(ll,1,"getTextOnPath",Jr,BlockAPI),C(ll,1,"setTextOnPathOffset",Zr,BlockAPI),C(ll,1,"getTextOnPathOffset",Qr,BlockAPI),C(ll,1,"setTextOnPathFlipped",Kr,BlockAPI),C(ll,1,"getTextOnPathFlipped",Yr,BlockAPI),C(ll,1,"isFillEnabled",Xr,BlockAPI),C(ll,1,"setFillEnabled",jr,BlockAPI),C(ll,1,"getFillOverprint",Gr,BlockAPI),C(ll,1,"setFillOverprint",zr,BlockAPI),C(ll,1,"getFill",Vr,BlockAPI),C(ll,1,"setFill",Nr,BlockAPI),C(ll,1,"setFillSolidColor",$r,BlockAPI),C(ll,1,"getFillSolidColor",Hr,BlockAPI),C(ll,1,"setPlaceholderEnabled",Wr,BlockAPI),C(ll,1,"isPlaceholderEnabled",qr,BlockAPI),C(ll,1,"setPlaceholderBehaviorEnabled",Ur,BlockAPI),C(ll,1,"isPlaceholderBehaviorEnabled",Or,BlockAPI),C(ll,1,"setPlaceholderControlsOverlayEnabled",Lr,BlockAPI),C(ll,1,"isPlaceholderControlsOverlayEnabled",Br,BlockAPI),C(ll,1,"setPlaceholderControlsButtonEnabled",Rr,BlockAPI),C(ll,1,"isPlaceholderControlsButtonEnabled",Dr,BlockAPI),C(ll,1,"setMetadata",Ir,BlockAPI),C(ll,1,"getMetadata",Mr,BlockAPI),C(ll,1,"hasMetadata",Fr,BlockAPI),C(ll,1,"findAllMetadata",Ar,BlockAPI),C(ll,1,"removeMetadata",Pr,BlockAPI),C(ll,1,"setScopeEnabled",xr,BlockAPI),C(ll,1,"isScopeEnabled",Tr,BlockAPI),C(ll,1,"isAllowedByScope",Cr,BlockAPI),C(ll,1,"setDuration",Er,BlockAPI),C(ll,1,"getDuration",Sr,BlockAPI),C(ll,1,"setPageDurationSource",_r,BlockAPI),C(ll,1,"isPageDurationSource",kr,BlockAPI),C(ll,1,"removePageDurationSource",wr,BlockAPI),C(ll,1,"setTimeOffset",vr,BlockAPI),C(ll,1,"getTimeOffset",yr,BlockAPI),C(ll,1,"setTrimOffset",br,BlockAPI),C(ll,1,"getTrimOffset",mr,BlockAPI),C(ll,1,"setTrimLength",fr,BlockAPI),C(ll,1,"getTrimLength",gr,BlockAPI),C(ll,1,"split",hr,BlockAPI),C(ll,1,"getTotalSceneDuration",pr,BlockAPI),C(ll,1,"setPlaying",ur,BlockAPI),C(ll,1,"isPlaying",dr,BlockAPI),C(ll,1,"setPlaybackTime",cr,BlockAPI),C(ll,1,"getPlaybackTime",lr,BlockAPI),C(ll,1,"isVisibleAtCurrentPlaybackTime",sr,BlockAPI),C(ll,1,"setSoloPlaybackEnabled",ar,BlockAPI),C(ll,1,"isSoloPlaybackEnabled",ir,BlockAPI),C(ll,1,"setLooping",or,BlockAPI),C(ll,1,"isLooping",nr,BlockAPI),C(ll,1,"setMuted",rr,BlockAPI),C(ll,1,"isForceMuted",tr,BlockAPI),C(ll,1,"isMuted",er,BlockAPI),C(ll,1,"setVolume",Jt,BlockAPI),C(ll,1,"getVolume",Zt,BlockAPI),C(ll,1,"setPlaybackSpeed",Qt,BlockAPI),C(ll,1,"getPlaybackSpeed",Kt,BlockAPI),C(ll,1,"forceLoadAVResource",Yt,BlockAPI),C(ll,1,"unstable_isAVResourceLoaded",Xt,BlockAPI),C(ll,1,"getAVResourceTotalDuration",jt,BlockAPI),C(ll,1,"getVideoWidth",Gt,BlockAPI),C(ll,1,"getVideoHeight",zt,BlockAPI),C(ll,1,"getVideoFillThumbnail",Vt,BlockAPI),C(ll,1,"getVideoFillThumbnailAtlas",Nt,BlockAPI),C(ll,1,"getPageThumbnailAtlas",$t,BlockAPI),C(ll,1,"createAnimation",Ht,BlockAPI),C(ll,1,"setInAnimation",Wt,BlockAPI),C(ll,1,"setLoopAnimation",qt,BlockAPI),C(ll,1,"setOutAnimation",Ut,BlockAPI),C(ll,1,"getInAnimation",Ot,BlockAPI),C(ll,1,"getLoopAnimation",Lt,BlockAPI),C(ll,1,"getOutAnimation",Bt,BlockAPI),C(ll,1,"setNativePixelBuffer",Rt,BlockAPI),C(ll,1,"getState",Dt,BlockAPI),C(ll,1,"setState",It,BlockAPI),C(ll,1,"forceLoadResources",Mt,BlockAPI),C(ll,1,"applyAnimation",Ft,BlockAPI),C(ll,1,"applyDropShadow",At,BlockAPI),C(ll,1,"generateThumbnailAtTimeOffset",Pt,BlockAPI),C(ll,1,"getBackgroundTrack",xt,BlockAPI),C(ll,1,"moveToBackgroundTrack",Tt,BlockAPI),S(ll,BlockAPI);var ml,bl,yl,vl,wl,kl,_l,Sl,El,Cl,Tl,xl,Pl,Al,Fl,Ml,Il,Dl,Rl,Bl,Ll,Ol,Ul,ql,Wl,Hl,$l,Nl,Vl,zl,Gl,jl,Xl,Yl,Kl,Ql,Zl,Jl,ec,tc,rc,nc,oc,ic,ac,sc,lc,cc,dc,uc,pc,hc,gc,fc,mc,bc,yc,vc,wc,kc,_c,Sc,Ec,Cc,Tc,xc,Pc,Ac,Fc,Mc,Ic,Dc,Rc,Bc,Lc,Oc,Uc,qc,Wc,Hc,$c,Nc,Vc,zc,Gc,jc,Xc,Yc=new WeakMap,Kc=new WeakMap;zc=[we],Vc=[we],Nc=[we],$c=[ve({disabledInModes:["Playback"]})],Hc=[ve({disabledInModes:["Playback"]})],Wc=[we],qc=[we],Uc=[ve()],Oc=[ve({disabledInModes:["Playback"]})],Lc=[ve()],Bc=[we],Rc=[we],Dc=[ve()],Ic=[we],Mc=[we],Fc=[we],Ac=[ve()],Pc=[we],xc=[ve()],Tc=[we],Cc=[ve()],Ec=[we],Sc=[ve()],_c=[ve({disabledInModes:["Playback"]})],kc=[ve({disabledInModes:["Playback"]})],wc=[ve({disabledInModes:["Playback"]})],vc=[ve({disabledInModes:["Playback"]})],yc=[we],bc=[we],mc=[we],fc=[ve({disabledInModes:["Playback"]})],gc=[we],hc=[we],pc=[we],uc=[we],dc=[ve({disabledInModes:["Playback"]})],cc=[ve({disabledInModes:["Playback"]})],lc=[we],sc=[ve({disabledInModes:["Playback"]})],ac=[we],ic=[ve({disabledInModes:["Playback"]})],oc=[we],nc=[ve({disabledInModes:["Playback"]})],rc=[we],tc=[ve({disabledInModes:["Playback"]})],ec=[we],Jl=[ve({disabledInModes:["Playback"]})],Zl=[we],Ql=[ve({disabledInModes:["Playback"]})],Kl=[we],Yl=[ve({disabledInModes:["Playback"]})],Xl=[we],jl=[ve({disabledInModes:["Playback"]})],Gl=[we],zl=[ve({disabledInModes:["Playback"]})],Vl=[ve({disabledInModes:["Playback"]})],Nl=[ve({disabledInModes:["Playback"]})],$l=[ve({disabledInModes:["Playback"]})],Hl=[ve({disabledInModes:["Playback"]})],Wl=[we],ql=[we],Ul=[ve({disabledInModes:["Playback"]})],Ol=[ve({disabledInModes:["Playback"]})],Ll=[ve({disabledInModes:["Playback"]})],Bl=[we],Rl=[ve({disabledInModes:["Playback"]})],Dl=[ve({disabledInModes:["Playback"]})],Il=[ve({disabledInModes:["Playback"]})],Ml=[ve({disabledInModes:["Playback"]})],Fl=[we],Al=[we],Pl=[we],xl=[we],Tl=[we],Cl=[ve({disabledInModes:["Playback"]})],El=[ve({disabledInModes:["Playback"]})],Sl=[we],_l=[we],kl=[ve()],wl=[ve({disabledInModes:["Playback"]})],vl=[we],yl=[we],bl=[ve({disabledInModes:["Playback"]})],ml=[we];var EditorAPI=class{constructor(e,t){E(Xc,5,this),F(this,Gc),F(this,jc),T(this,"onStateChanged",e=>{const t=A(this,Gc).subscribeToEditorState(e);return()=>{A(this,Gc).isDeleted()||_e(A(this,Gc).unsubscribe(t))}}),T(this,"onHistoryUpdated",e=>this.onHistoryUpdatedWithKind(()=>e())),T(this,"onHistoryUpdatedWithKind",e=>{const t=A(this,Gc).subscribeToHistoryWithKind(t=>{e(1===t?"Activated":"Updated")});return()=>{A(this,Gc).isDeleted()||A(this,Gc).unsubscribe(t)}}),T(this,"onSettingsChanged",e=>{const t=A(this,Gc).subscribeToSettings(e);return()=>{A(this,Gc).isDeleted()||_e(A(this,Gc).unsubscribe(t))}}),T(this,"onRoleChanged",e=>{const t=A(this,Gc).subscribeToRoleChange(e);return()=>{A(this,Gc).isDeleted()||_e(A(this,Gc).unsubscribe(t))}}),M(this,Gc,e),M(this,jc,t)}unlockWithLicense(e){_e(A(this,Gc).unlockWithLicense(e))}startTracking(e,t){A(this,Gc).startTracking(e,t,"")}setTrackingMetadata(e){A(this,Gc).setTrackingMetadata(e)}getTrackingMetadata(){return _e(A(this,Gc).getTrackingMetadata())}getActiveLicense(){return _e(A(this,Gc).getActiveLicense())}_update(){A(this,Gc).update()}setEditMode(e,t){ne("mode",e,Y()),ne("baseMode",t,X(Y())),A(this,Gc).setEditMode(e,t??"")}getEditMode(){return A(this,Gc).getEditMode()}unstable_isInteractionHappening(){return _e(A(this,Gc).unstable_isInteractionHappening())}hasSelectedVectorNode(){return A(this,Gc).hasSelectedVectorNode()}addVectorNode(){_e(A(this,Gc).addVectorNode())}deleteVectorNode(){_e(A(this,Gc).deleteVectorNode())}hasSelectedVectorControlPoint(){return A(this,Gc).hasSelectedVectorControlPoint()}deleteSelectedVectorControlPoints(){_e(A(this,Gc).deleteSelectedVectorControlPoints())}toggleSelectedVectorNodeSmooth(){_e(A(this,Gc).toggleSelectedVectorNodeSmooth())}setVectorEditBendMode(e){ne("active",e,V()),_e(A(this,Gc).setVectorEditBendMode(e))}getVectorEditBendMode(){return A(this,Gc).getVectorEditBendMode()}setVectorEditAddMode(e){ne("active",e,V()),_e(A(this,Gc).setVectorEditAddMode(e))}getVectorEditAddMode(){return A(this,Gc).getVectorEditAddMode()}setVectorEditDeleteMode(e){ne("active",e,V()),_e(A(this,Gc).setVectorEditDeleteMode(e))}getVectorEditDeleteMode(){return A(this,Gc).getVectorEditDeleteMode()}setSelectedVectorNodeMirrorMode(e){ne("mode",e,G()),_e(A(this,Gc).setSelectedVectorNodeMirrorMode(e))}getSelectedVectorNodeMirrorMode(){return _e(A(this,Gc).getSelectedVectorNodeMirrorMode())}getCursorType(){return A(this,Gc).getCursorType()}getCursorRotation(){return A(this,Gc).getCursorRotation()}getTextCursorPositionInScreenSpaceX(){return A(this,Gc).getTextCursorPositionInScreenSpaceX()}getTextCursorPositionInScreenSpaceY(){return A(this,Gc).getTextCursorPositionInScreenSpaceY()}createHistory(){return A(this,Gc).createHistory()}destroyHistory(e){_e(A(this,Gc).destroyHistory(e))}setActiveHistory(e){_e(A(this,Gc).setActiveHistory(e))}getActiveHistory(){return A(this,Gc).getActiveHistory()}addUndoStep(){_e(A(this,Gc).addUndoStep())}removeUndoStep(){_e(A(this,Gc).removeUndoStep())}undo(){_e(A(this,Gc).undo())}redo(){_e(A(this,Gc).redo())}canUndo(){return _e(A(this,Gc).canUndo())}canRedo(){return _e(A(this,Gc).canRedo())}setSetting(e,t){ne("keypath",e,Y());const r=this.normalizeSettingKey(e);if(!this.isValidSettingKey(r))throw new Error(`Invalid setting key: '${e}'`);switch(this.getSettingTypeForKey(r)){case"Bool":return _e(A(this,Gc).setSettingBool(r,t));case"Int":if(!Number.isInteger(t))throw new Error(`Setting '${e}' requires an integer value`);return _e(A(this,Gc).setSettingInt(r,t));case"Float":return _e(A(this,Gc).setSettingFloat(r,t));case"String":return _e(A(this,Gc).setSettingString(r,t));case"Color":{const e=t;return _e(A(this,Gc).setSettingColor(r,Ct.fromColor(e)))}case"Enum":return _e(A(this,Gc).setSettingEnum(r,t));default:throw new Error(`Unknown setting type for key '${e}'`)}}getSetting(e){ne("keypath",e,Y());const t=this.normalizeSettingKey(e);if(!this.isValidSettingKey(t))throw new Error(`Invalid setting key: '${e}'`);switch(this.getSettingTypeForKey(t)){case"Bool":return _e(A(this,Gc).getSettingBool(t));case"Int":return _e(A(this,Gc).getSettingInt(t));case"Float":return _e(A(this,Gc).getSettingFloat(t));case"String":return _e(A(this,Gc).getSettingString(t));case"Color":return Ct.toColor(_e(A(this,Gc).getSettingColor(t)));case"Enum":return _e(A(this,Gc).getSettingEnum(t));default:throw new Error(`Unknown setting type for key '${e}'`)}}normalizeSettingKey(e){return e.startsWith("ubq://")?e.slice(6):e}isValidSettingKey(e){return e in{"controlGizmo/showCropHandles":!0,"controlGizmo/showCropScaleHandles":!0,"controlGizmo/showMoveHandles":!0,"controlGizmo/dynamicMoveHandleVisibility":!0,"controlGizmo/showResizeHandles":!0,"controlGizmo/showRotateHandles":!0,"controlGizmo/showScaleHandles":!0,doubleClickToCropEnabled:!0,"features/singlePageModeEnabled":!0,"features/fileSystemUsageEnabled":!0,"features/pageCarouselEnabled":!0,"features/clampTextBlockWidthToPageDimensionsDuringEditing":!0,"features/transformEditsRetainCoverMode":!0,"mouse/enableScroll":!0,"mouse/enableZoom":!0,"page/allowCropInteraction":!0,"page/allowMoveInteraction":!0,"page/allowResizeInteraction":!0,"page/allowRotateInteraction":!0,"page/allowShapeChange":!0,"page/dimOutOfPageAreas":!0,"page/marqueeSelectOnBodyDrag":!0,"page/restrictPageSelectionToBorderAndTitle":!0,"page/restrictResizeInteractionToFixedAspectRatio":!0,"page/moveChildrenWhenCroppingFill":!0,"page/reparentBlocksToSceneWhenOutOfPage":!0,"page/selectWhenNoBlocksSelected":!0,"page/highlightWhenCropping":!0,"page/highlightDropTarget":!0,"page/title/appendPageName":!0,"page/title/canEdit":!0,"page/title/show":!0,"page/title/showOnSinglePage":!0,"page/title/showPageTitleTemplate":!0,"placeholderControls/showButton":!0,"placeholderControls/showOverlay":!0,"blockAnimations/enabled":!0,"playback/showAllBlocks":!0,"grid/enabled":!0,"grid/snapEnabled":!0,showBuildVersion:!0,"touch/dragStartCanSelect":!0,"touch/singlePointPanning":!0,useSystemFontFallback:!0,forceSystemEmojis:!0,basePath:!0,defaultEmojiFontFileUri:!0,defaultFontFileUri:!0,license:!0,"page/title/fontFileUri":!0,"page/title/separator":!0,fallbackFontUri:!0,"upload/supportedMimeTypes":!0,"web/fetchCredentials":!0,"controlGizmo/blockScaleDownLimit":!0,listIndentPerLevel:!0,"grid/spacingX":!0,"grid/spacingY":!0,positionSnappingThreshold:!0,rotationSnappingThreshold:!0,maxImageSize:!0,maxPreviewResolution:!0,borderOutlineColor:!0,clearColor:!0,"grid/color":!0,"colorMaskingSettings/maskColor":!0,cropOverlayColor:!0,errorStateColor:!0,highlightColor:!0,"page/innerBorderColor":!0,"page/marginFillColor":!0,"page/marginFrameColor":!0,"page/outerBorderColor":!0,"page/title/color":!0,pageHighlightColor:!0,placeholderHighlightColor:!0,progressColor:!0,rotationSnappingGuideColor:!0,ruleOfThirdsLineColor:!0,snappingGuideColor:!0,textVariableHighlightColor:!0,handleFillColor:!0,doubleClickSelectionMode:!0,"controlGizmo/moveHandleVisibility":!0,"controlGizmo/resizeHandlesVisibility":!0,"controlGizmo/scaleHandlesVisibility":!0,"controlGizmo/rotateHandlesVisibility":!0,"touch/pinchAction":!0,"touch/rotateAction":!0,"camera/clamping/overshootMode":!0,renderMode:!0,alwaysHighlightPlaceholders:!0,"colorMaskingSettings/secondPass":!0,"debug/enforceScopesInAPIs":!0,"debug/showCameraDebugVisualization":!0,"debug/showHandlesInteractionArea":!0,"debug/useDebugMipmaps":!0,"debug/showDebugUI":!0,"debug/hookInputSystem":!0,"features/effectsEnabled":!0,"features/highQualityMipmaps":!0,"features/implicitUpdatesEnabled":!0,"features/templatingEnabled":!0,"features/videosEnabled":!0,"features/videoCaptionsEnabled":!0,"features/forceLowQualityVideoPreview":!0,"features/matchThumbnailSourceToFill":!0,"features/p3WorkingColorSpace":!0,"features/removeForegroundTracksOnSceneLoad":!0,"features/videoTranscodingEnabled":!0,"features/textEditModeTransformHandlesEnabled":!0,"features/videoStreamingEnabled":!0,"features/enableAutomaticEnumerations":!0,"features/enforceAudioBeforeVideoBlocks":!0,"features/viewportCullingEnabled":!0,"features/fontLineGapEnabled":!0,renderTextCursorAndSelectionInEngine:!0,clampThumbnailTextureSizes:!0,"dock/hideLabels":!0,"dock/iconSize":!0,"colorPicker/colorMode":!0,"timeline/trackVisibility":!0}}getSettingTypeForKey(e){const t=Object.keys({borderOutlineColor:!0,clearColor:!0,"colorMaskingSettings/maskColor":!0,cropOverlayColor:!0,errorStateColor:!0,handleFillColor:!0,highlightColor:!0,"page/innerBorderColor":!0,"page/marginFillColor":!0,"page/marginFrameColor":!0,"page/outerBorderColor":!0,"page/title/color":!0,pageHighlightColor:!0,placeholderHighlightColor:!0,progressColor:!0,rotationSnappingGuideColor:!0,ruleOfThirdsLineColor:!0,snappingGuideColor:!0,textVariableHighlightColor:!0,"grid/color":!0});if(new Set(t).has(e))return"Color";const r=Object.keys({doubleClickSelectionMode:!0,"controlGizmo/moveHandleVisibility":!0,"controlGizmo/resizeHandlesVisibility":!0,"controlGizmo/scaleHandlesVisibility":!0,"controlGizmo/rotateHandlesVisibility":!0,"touch/pinchAction":!0,"touch/rotateAction":!0,"camera/clamping/overshootMode":!0,"colorPicker/colorMode":!0,"timeline/trackVisibility":!0});if(new Set(r).has(e))return"Enum";if(e in{maxImageSize:!0,maxPreviewResolution:!0})return"Int";const n=Object.keys({"controlGizmo/blockScaleDownLimit":!0,listIndentPerLevel:!0,"grid/spacingX":!0,"grid/spacingY":!0,positionSnappingThreshold:!0,rotationSnappingThreshold:!0});if(new Set(n).has(e))return"Float";const o=Object.keys({basePath:!0,defaultEmojiFontFileUri:!0,defaultFontFileUri:!0,license:!0,"page/title/fontFileUri":!0,"page/title/separator":!0,fallbackFontUri:!0,"upload/supportedMimeTypes":!0,"web/fetchCredentials":!0});return new Set(o).has(e)?"String":"Bool"}setSettingBool(e,t){return ne("keypath",e,Y()),ne("value",t,V()),_e(A(this,Gc).setSettingBool(e,t))}getSettingBool(e){return ne("keypath",e,Y()),_e(A(this,Gc).getSettingBool(e))}setSettingInt(e,t){return ne("keypath",e,Y()),ne("value",t,z()),_e(A(this,Gc).setSettingInt(e,t))}getSettingInt(e){return ne("keypath",e,Y()),_e(A(this,Gc).getSettingInt(e))}setSettingFloat(e,t){return ne("keypath",e,Y()),ne("value",t,G()),_e(A(this,Gc).setSettingFloat(e,t))}getSettingFloat(e){return ne("keypath",e,Y()),_e(A(this,Gc).getSettingFloat(e))}setSettingString(e,t){return ne("keypath",e,Y()),ne("value",t,Y()),_e(A(this,Gc).setSettingString(e,t))}getSettingString(e){return ne("keypath",e,Y()),_e(A(this,Gc).getSettingString(e))}setSettingColor(e,t){return ne("keypath",e,Y()),_e(A(this,Gc).setSettingColor(e,Ct.fromColor(t)))}getSettingColor(e){return ne("keypath",e,Y()),Ct.toColor(_e(A(this,Gc).getSettingColor(e)))}setSettingColorRGBA(e,t,r,n,o=1){return ne("keypath",e,Y()),ne("r",t,G()),ne("g",r,G()),ne("b",n,G()),ne("a",o,G()),_e(A(this,Gc).setSettingColorRGBA(e,t,r,n,o))}getSettingColorRGBA(e){return ne("keypath",e,Y()),_e(A(this,Gc).getSettingColorRGBA(e))}setSettingEnum(e,t){return ne("keypath",e,Y()),ne("value",t,Y()),_e(A(this,Gc).setSettingEnum(e,t))}getSettingEnum(e){return ne("keypath",e,Y()),_e(A(this,Gc).getSettingEnum(e))}getSettingEnumOptions(e){return ne("keypath",e,Y()),Ue(_e(A(this,Gc).getSettingEnumOptions(e)))}setRole(e){return _e(A(this,Gc).setRole(e))}getRole(){return _e(A(this,Gc).getRole())}findAllSettings(){return Ue(A(this,Gc).findAllSettings())}getSettingType(e){ne("keypath",e,Y());return _e(A(this,Gc).getSettingType(e))}getAvailableMemory(){return _e(A(this,Gc).getAvailableMemory())}getUsedMemory(){return _e(A(this,Gc).getUsedMemory())}getMaxExportSize(){return _e(A(this,Gc).getMaxExportSize())}setURIResolver(e){Yc.set(A(this,Gc),e);return _e(A(this,Gc).setURIResolver(t=>e(t,this.defaultURIResolver.bind(this))))}setURIResolverAsync(e){if(null===e)return Kc.delete(A(this,Gc)),void _e(A(this,Gc).setURIResolverAsync(null));Kc.set(A(this,Gc),e);const t=this.defaultURIResolver.bind(this),r=(e,t)=>{var r;const n=t instanceof Error?t.message:String(t);return null==(r=A(this,jc))||r.call(this,`URI resolver failed for "${e}": ${n}`,"Warning"),{error:n}};_e(A(this,Gc).setURIResolverAsync(n=>{try{const o=e(n,t);return"function"==typeof o?.then?o.catch(e=>r(n,e)):o}catch(e){return r(n,e)}}))}getURIResolver(){return Yc.get(A(this,Gc))??null}getURIResolverAsync(){return Kc.get(A(this,Gc))??null}defaultURIResolver(e){return A(this,Gc).defaultURIResolver(e)}getAbsoluteURI(e){return Se(t=>A(this,Gc).getAbsoluteURI(e,t))}findAllScopes(){return Ue(A(this,Gc).findAllScopes())}setGlobalScope(e,t){ne("key",e,Y()),ne("value",t,Y()),_e(A(this,Gc).setGlobalScope(e,t))}getGlobalScope(e){return ne("key",e,Y()),_e(A(this,Gc).getGlobalScope(e))}findAllSpotColors(){return Ue(A(this,Gc).findAllSpotColors())}getSpotColorRGBA(e){return ne("name",e,Y()),A(this,Gc).getSpotColorRGB(e)}getSpotColorCMYK(e){return ne("name",e,Y()),A(this,Gc).getSpotColorCMYK(e)}setSpotColorRGB(e,t,r,n){return ne("name",e,Y()),ne("r",t,G()),ne("g",r,G()),ne("b",n,G()),A(this,Gc).setSpotColorRGB(e,t,r,n)}setSpotColorCMYK(e,t,r,n,o){return ne("name",e,Y()),ne("c",t,G()),ne("m",r,G()),ne("y",n,G()),ne("k",o,G()),A(this,Gc).setSpotColorCMYK(e,t,r,n,o)}removeSpotColor(e){return ne("name",e,Y()),_e(A(this,Gc).removeSpotColor(e))}setSpotColorForCutoutType(e,t){return ne("type",e,Y()),ne("color",t,Y()),_e(A(this,Gc).setSpotColorForCutoutType(e,t))}getSpotColorForCutoutType(e){return ne("type",e,Y()),_e(A(this,Gc).getSpotColorForCutoutType(e))}convertColorToColorSpace(e,t){return ne("colorSpace",t,Y()),Ct.toColor(_e(A(this,Gc).convertColorToColorSpace(Ct.fromColor(e),t)))}createBuffer(){return A(this,Gc).createBuffer()}destroyBuffer(e){_e(A(this,Gc).destroyBuffer(e))}setBufferData(e,t,r){ne("offset",t,z()),_e(A(this,Gc).setBufferData(e,t,r))}getBufferData(e,t,r){ne("offset",t,z()),ne("length",r,z());const n=A(this,Gc).getBufferData(e,t,r);if("error"in n)throw new Error(n.error);return n}setBufferLength(e,t){ne("length",t,z()),_e(A(this,Gc).setBufferLength(e,t))}getBufferLength(e){return _e(A(this,Gc).getBufferLength(e))}cloneBuffers(){return Ue(_e(A(this,Gc).cloneBuffers()))}restoreBuffers(e){_e(A(this,Gc).restoreBuffers(e))}getMimeType(e){return ne("uri",e,Y()),Se(t=>A(this,Gc).getMimeType(e,t))}getFontMetrics(e){return ne("fontFileUri",e,Y()),Se(t=>A(this,Gc).getFontMetrics(e,t))}findAllTransientResources(){return Ue(_e(A(this,Gc).findAllTransientResources()))}findAllMediaURIs(){return Ue(_e(A(this,Gc).findAllMediaURIs()))}getResourceData(e,t,r){ne("uri",e,Y()),ne("chunkSize",t,z()),_e(A(this,Gc).getResourceData(e,t,r))}relocateResource(e,t){ne("currentUrl",e,Y()),ne("relocatedUrl",t,Y()),_e(A(this,Gc).relocateResource(e,t))}isHighlightingEnabled(e){return ne("id",e,z()),_e(A(this,Gc).isHighlightingEnabled(e))}setHighlightingEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,Gc).setHighlightingEnabled(e,t))}setSafeAreaInsets(e){const t=this.getSafeAreaInsets();return _e(A(this,Gc).setSafeAreaInsets(e.left??t.left,e.top??t.top,e.right??t.right,e.bottom??t.bottom))}getSafeAreaInsets(){const[e,t,r,n]=A(this,Gc).getSafeAreaInsets();return{left:e,top:t,right:r,bottom:n}}isSelectionEnabled(e){return ne("id",e,z()),_e(A(this,Gc).isSelectionEnabled(e))}setSelectionEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,Gc).setSelectionEnabled(e,t))}setMovementConstraint(e){const t=Array.isArray(e)?e:[e];ne("rules",t,N(nd));for(const e of t){const t="block"in e?[e.block]:"blockType"in e?[e.blockType]:[];_e(A(this,Gc).setMovementConstraint(t,e.overshoot))}}getMovementConstraint(e){ne("id",e,z());const t=_e(A(this,Gc).getMovementConstraint(e));return t<0?null:{overshoot:t}}removeMovementConstraint(e){if(void 0===e)return void _e(A(this,Gc).removeMovementConstraint([]));const t=Array.isArray(e)?e:[e];if(ne("scopes",t,N(od)),0===t.length)return;const r=t.map(e=>"block"in e?e.block:e.blockType);_e(A(this,Gc).removeMovementConstraint(r))}};Xc=v(null),Gc=new WeakMap,jc=new WeakMap,C(Xc,1,"unlockWithLicense",zc,EditorAPI),C(Xc,1,"startTracking",Vc,EditorAPI),C(Xc,1,"setTrackingMetadata",Nc,EditorAPI),C(Xc,1,"getTrackingMetadata",$c,EditorAPI),C(Xc,1,"getActiveLicense",Hc,EditorAPI),C(Xc,1,"_update",Wc,EditorAPI),C(Xc,1,"setEditMode",qc,EditorAPI),C(Xc,1,"getEditMode",Uc,EditorAPI),C(Xc,1,"unstable_isInteractionHappening",Oc,EditorAPI),C(Xc,1,"hasSelectedVectorNode",Lc,EditorAPI),C(Xc,1,"addVectorNode",Bc,EditorAPI),C(Xc,1,"deleteVectorNode",Rc,EditorAPI),C(Xc,1,"hasSelectedVectorControlPoint",Dc,EditorAPI),C(Xc,1,"deleteSelectedVectorControlPoints",Ic,EditorAPI),C(Xc,1,"toggleSelectedVectorNodeSmooth",Mc,EditorAPI),C(Xc,1,"setVectorEditBendMode",Fc,EditorAPI),C(Xc,1,"getVectorEditBendMode",Ac,EditorAPI),C(Xc,1,"setVectorEditAddMode",Pc,EditorAPI),C(Xc,1,"getVectorEditAddMode",xc,EditorAPI),C(Xc,1,"setVectorEditDeleteMode",Tc,EditorAPI),C(Xc,1,"getVectorEditDeleteMode",Cc,EditorAPI),C(Xc,1,"setSelectedVectorNodeMirrorMode",Ec,EditorAPI),C(Xc,1,"getSelectedVectorNodeMirrorMode",Sc,EditorAPI),C(Xc,1,"getCursorType",_c,EditorAPI),C(Xc,1,"getCursorRotation",kc,EditorAPI),C(Xc,1,"getTextCursorPositionInScreenSpaceX",wc,EditorAPI),C(Xc,1,"getTextCursorPositionInScreenSpaceY",vc,EditorAPI),C(Xc,1,"createHistory",yc,EditorAPI),C(Xc,1,"destroyHistory",bc,EditorAPI),C(Xc,1,"setActiveHistory",mc,EditorAPI),C(Xc,1,"getActiveHistory",fc,EditorAPI),C(Xc,1,"addUndoStep",gc,EditorAPI),C(Xc,1,"removeUndoStep",hc,EditorAPI),C(Xc,1,"undo",pc,EditorAPI),C(Xc,1,"redo",uc,EditorAPI),C(Xc,1,"canUndo",dc,EditorAPI),C(Xc,1,"canRedo",cc,EditorAPI),C(Xc,1,"setSetting",lc,EditorAPI),C(Xc,1,"getSetting",sc,EditorAPI),C(Xc,1,"setSettingBool",ac,EditorAPI),C(Xc,1,"getSettingBool",ic,EditorAPI),C(Xc,1,"setSettingInt",oc,EditorAPI),C(Xc,1,"getSettingInt",nc,EditorAPI),C(Xc,1,"setSettingFloat",rc,EditorAPI),C(Xc,1,"getSettingFloat",tc,EditorAPI),C(Xc,1,"setSettingString",ec,EditorAPI),C(Xc,1,"getSettingString",Jl,EditorAPI),C(Xc,1,"setSettingColor",Zl,EditorAPI),C(Xc,1,"getSettingColor",Ql,EditorAPI),C(Xc,1,"setSettingColorRGBA",Kl,EditorAPI),C(Xc,1,"getSettingColorRGBA",Yl,EditorAPI),C(Xc,1,"setSettingEnum",Xl,EditorAPI),C(Xc,1,"getSettingEnum",jl,EditorAPI),C(Xc,1,"setRole",Gl,EditorAPI),C(Xc,1,"getRole",zl,EditorAPI),C(Xc,1,"findAllSettings",Vl,EditorAPI),C(Xc,1,"getAvailableMemory",Nl,EditorAPI),C(Xc,1,"getUsedMemory",$l,EditorAPI),C(Xc,1,"getMaxExportSize",Hl,EditorAPI),C(Xc,1,"setURIResolver",Wl,EditorAPI),C(Xc,1,"setURIResolverAsync",ql,EditorAPI),C(Xc,1,"getURIResolver",Ul,EditorAPI),C(Xc,1,"getURIResolverAsync",Ol,EditorAPI),C(Xc,1,"findAllScopes",Ll,EditorAPI),C(Xc,1,"setGlobalScope",Bl,EditorAPI),C(Xc,1,"getGlobalScope",Rl,EditorAPI),C(Xc,1,"findAllSpotColors",Dl,EditorAPI),C(Xc,1,"getSpotColorRGBA",Il,EditorAPI),C(Xc,1,"getSpotColorCMYK",Ml,EditorAPI),C(Xc,1,"setSpotColorRGB",Fl,EditorAPI),C(Xc,1,"setSpotColorCMYK",Al,EditorAPI),C(Xc,1,"removeSpotColor",Pl,EditorAPI),C(Xc,1,"setSpotColorForCutoutType",xl,EditorAPI),C(Xc,1,"getSpotColorForCutoutType",Tl,EditorAPI),C(Xc,1,"convertColorToColorSpace",Cl,EditorAPI),C(Xc,1,"isHighlightingEnabled",El,EditorAPI),C(Xc,1,"setHighlightingEnabled",Sl,EditorAPI),C(Xc,1,"setSafeAreaInsets",_l,EditorAPI),C(Xc,1,"getSafeAreaInsets",kl,EditorAPI),C(Xc,1,"isSelectionEnabled",wl,EditorAPI),C(Xc,1,"setSelectionEnabled",vl,EditorAPI),C(Xc,1,"setMovementConstraint",yl,EditorAPI),C(Xc,1,"getMovementConstraint",bl,EditorAPI),C(Xc,1,"removeMovementConstraint",ml,EditorAPI),S(Xc,EditorAPI);var Qc,Zc,Jc,ed,td,rd,nd=Q([j({overshoot:G()}),j({overshoot:G(),block:z()}),j({overshoot:G(),blockType:Y()})]),od=Q([j({block:z()}),j({blockType:Y()})]),id=class{#e;#t=new Set;#r=!1;constructor(e){this.#e=e}register(e,t){this.#e.actionsRegister(e,e=>{let r;try{const t=JSON.parse(e);r=Array.isArray(t)?t:[t]}catch{r=[]}try{const e=t(...r);return null!=e&&"function"==typeof e.then?e.then(e=>JSON.stringify(e??null)):JSON.stringify(e??null)}catch(e){return Promise.reject(e instanceof Error?e:new Error(String(e)))}},t)}get(e){return this.#e.actionsGetLocal(e)}run(e,...t){if(this.#r)return Promise.reject(new Error("Engine has been disposed."));const r=this.#e.actionsGetLocal(e);return new Promise(void 0!==r?(e,n)=>{const o=e=>{this.#t.delete(o),n(e)};let i;this.#t.add(o);try{i=r(...t)}catch(e){return this.#t.delete(o),void n(e instanceof Error?e:new Error(String(e)))}Promise.resolve(i).then(t=>{this.#t.delete(o),e(t)},e=>{this.#t.delete(o),n(e instanceof Error?e:new Error(String(e)))})}:(r,n)=>{const o=e=>{this.#t.delete(o),n(e)};this.#t.add(o),this.#e.actionsRun(e,JSON.stringify(t),e=>{this.#t.delete(o);try{r(""===e?void 0:JSON.parse(e))}catch(e){n(e instanceof Error?e:new Error(String(e)))}},e=>o(new Error(e)))})}has(e){return this.#e.actionsHas(e)}unregister(e){return this.#e.actionsUnregister(e)}list(e){return this.#e.actionsList(e?.matcher??null)}dispose(){this.#r=!0;const e=[...this.#t];this.#t.clear(),e.forEach(e=>e(new Error("Engine has been disposed.")))}},EventAPI=class{#e;constructor(e){this.#e=e}subscribe=(e,t)=>{ne("blocks",e,N());const r=this.#e.subscribe(e,e=>{try{t(Ue(e,!0))}catch(e){console.error(e)}});return()=>{this.#e.isDeleted()||_e(this.#e.unsubscribe(r))}}};ed=[ve({disabledInModes:["Playback"]})],Jc=[we],Zc=[ve({disabledInModes:["Playback"]})],Qc=[we];var VariableAPI=class{constructor(e){E(rd,5,this),F(this,td),M(this,td,e)}findAll(){return Ue(A(this,td).findAllVariables())}setString(e,t){return ne("key",e,Y()),ne("value",t,Y()),_e(A(this,td).setVariableString(e,t))}getString(e){return ne("key",e,Y()),_e(A(this,td).getVariableString(e))}remove(e){return ne("key",e,Y()),_e(A(this,td).removeVariable(e))}};function ad(e,t){return`${e.replace(/\/+$/,"")}/${t.replace(/^\/+/,"")}`}rd=v(null),td=new WeakMap,C(rd,1,"findAll",ed,VariableAPI),C(rd,1,"setString",Jc,VariableAPI),C(rd,1,"getString",Zc,VariableAPI),C(rd,1,"remove",Qc,VariableAPI),S(rd,VariableAPI);var sd=async function(e,t,r=fetch,n,o=new Set(n.findAllSources())){const i=t.replace(/\/+$/,""),a=e.map(async e=>{const a=ad(t,`/${e}/content.json`);return r(a).then(e=>{if(!e.ok)throw new Error(e.statusText);return e.json()}).then(t=>{if(void 0===t.assets)throw new Error(`Invalid content.json for assets: ${e}`);const r=t.assets;o.has(e)||n.addLocalSource(e),r.forEach(t=>{t.meta&&Object.entries(t.meta).forEach(([e,r])=>{const n=r.toString();if(n.includes("{{base_url}}")){const r=n.replace(/\{\{base_url\}\}/g,i);t.meta&&(t.meta[e]=r)}}),t.payload?.typeface&&t.payload.typeface.fonts.forEach(e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace(/\{\{base_url\}\}/g,i))}),t.payload?.sourceSet&&t.payload.sourceSet.forEach(e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace(/\{\{base_url\}\}/g,i))}),n.addAssetToSource(e,t)})})});await Promise.all(a)},ld=class _CaptionPresetAssetSource{static assetSourceId="ly.img.captionPresets";propertyWhitelist=["backgroundColor/enabled","backgroundColor/color","backgroundColor/cornerRadius","backgroundColor/paddingBottom","backgroundColor/paddingLeft","backgroundColor/paddingRight","backgroundColor/paddingTop","blend/mode","dropShadow/enabled","dropShadow/color","dropShadow/offset/x","dropShadow/offset/y","dropShadow/blurRadius/x","dropShadow/blurRadius/y","dropShadow/clip","fill/enabled","fill/solid/color","opacity","stroke/enabled","stroke/color","stroke/width","stroke/style","stroke/position","stroke/cornerGeometry","{{blockType}}/typeface","{{blockType}}/fontSize","{{blockType}}/horizontalAlignment","{{blockType}}/verticalAlignment","{{blockType}}/letterSpacing","{{blockType}}/lineHeight","{{blockType}}/automaticFontSizeEnabled","{{blockType}}/maxAutomaticFontSize","{{blockType}}/minAutomaticFontSize","{{blockType}}/paragraphSpacing"];#n;#o;#i;constructor(e,t,r){this.#n=e,this.#o=t,this.#i=r??window.fetch.bind(window),this.createSource()}static async fetchAssets(e,t=fetch){const r=ad(e,`/${_CaptionPresetAssetSource.assetSourceId}/content.json`),n=await t(r);if(!n.ok)throw new Error(n.statusText);const o=await n.json();if(void 0===o.assets)throw new Error(`Invalid content.json for assets: ${_CaptionPresetAssetSource.assetSourceId}`);const i=e.replace(/\/+$/,"");return o.assets.map(e=>(e.meta&&Object.entries(e.meta).forEach(([t,r])=>{const n=r.toString();if(n.includes("{{base_url}}")){const r=n.replace("{{base_url}}",i);e.meta&&(e.meta[t]=r)}}),e))}createSource(){this.#n.asset.addSource({id:_CaptionPresetAssetSource.assetSourceId,findAssets:({page:e,perPage:t,excludeGroups:r,groups:n,locale:o="en",query:i,sortActiveFirst:a,sortKey:s,sortingOrder:l,tags:c})=>{const d=this.getCaptionTrack(),u=null!=d&&this.#n.block.hasMetadata(d,"activePreset")?this.#n.block.getMetadata(d,"activePreset"):void 0;let p=[...this.#o];if(n&&n.length>0&&(p=p.filter(e=>e.groups?.some(e=>n.includes(e)))),i&&""!==i.trim()){const e=i.toLowerCase().trim();p=p.filter(t=>(t.label?.[o]?.toLowerCase()||"").includes(e))}c&&c.length>0&&(p=p.filter(e=>(e.tags?.[o]??[]).some(e=>c.includes(e)))),r&&r.length>0&&(p=p.filter(e=>!(e.groups??[]).some(e=>r.includes(e)))),"label"===s&&"None"!==l&&p.sort((e,t)=>{const r=e.label?.[o]?.toLocaleLowerCase()||"",n=t.label?.[o]?.toLocaleLowerCase()||"";return r<n?"Ascending"===l?-1:1:r>n?"Ascending"===l?1:-1:0}),a&&u&&p.sort((e,t)=>e.id===u?-1:t.id===u?1:0);const h=p.length,g=e*t,f=g+t,m=p.slice(g,f).map(e=>{const t=e.payload?.properties?.map(e=>"caption/scale"===e.property?{...e,value:this.fetchCaptionScale()}:e);return{id:e.id,label:e.label?.[o],active:e.id===u,context:{id:_CaptionPresetAssetSource.assetSourceId},meta:e.meta,groups:e.groups,tags:e.tags?.[o],payload:{...e.payload,properties:t},locale:o}});return Promise.resolve({assets:m,total:h,currentPage:e})},getGroups:()=>{const e=new Set;return this.#o.forEach(t=>{t.groups&&t.groups.forEach(t=>{e.add(t)})}),Promise.resolve(Array.from(e))},removeAsset:e=>{const t=this.#o.findIndex(t=>t.id===e);-1!==t&&this.#o.splice(t,1)},addAsset:e=>{const t=this.#o.findIndex(t=>t.id===e.id);-1!==t?this.#o[t]=e:this.#o.push(e)},applyAssetToBlock:(e,t)=>this.applyPreset(e,t),applyAssetProperty:(e,t)=>this.applyProperty(e,t),fetchAsset:async(e,t)=>new Promise(r=>{const n=this.#o.find(t=>t.id===e);if(null==n)r(null);else{const e=t?.locale??"en",o=this.getCaptionTrack(),i=null!=o&&this.#n.block.hasMetadata(o,"activePreset")?this.#n.block.getMetadata(o,"activePreset"):void 0,a=n.payload?.properties?.map(e=>"caption/scale"===e.property?{...e,value:this.fetchCaptionScale()}:e);r({id:n.id,label:n.label?.[e],active:n.id===i,meta:n.meta,groups:n.groups,tags:n.tags?.[e],payload:{...n.payload,properties:a}})}})})}async applyPreset(e,t){const r=e?.meta?.uri;if(null==r)throw new Error(`The asset ${e.id} does not have a preset block URL.`);const n=await this.#i(r);if(!n.ok)throw new Error(`Failed to fetch the preset block from ${r}`);const o=await n.text(),[i]=await this.#n.block.loadFromString(o),a=null!=i?this.#n.block.getType(i):void 0;if("//ly.img.ubq/text"!==a&&"//ly.img.ubq/caption"!==a)return;const s=this.getCaptionTrack(),l=null!=s?this.#n.block.getChildren(s):[];this.propertyWhitelist.forEach(e=>{const r=e.replace("{{blockType}}","//ly.img.ubq/text"===a?"text":"caption"),n=this.#n.block.getPropertyType(r),o=e.replace("{{blockType}}","caption");switch(n){case"Int":{const e=this.#n.block.getInt(i,r);this.#n.block.setInt(t,o,e);break}case"Float":{const e=this.#n.block.getFloat(i,r);this.#n.block.setFloat(t,o,e);break}case"Double":{const e=this.#n.block.getDouble(i,r);this.#n.block.setDouble(t,o,e);break}case"Bool":{const e=this.#n.block.getBool(i,r);this.#n.block.setBool(t,o,e);break}case"Enum":{const e=this.#n.block.getEnum(i,r);this.#n.block.setEnum(t,o,e);break}case"Color":{if("fill/solid/color"===r){const[e]=this.#n.block.getTextColors(i);this.#n.block.setColor(t,o,e),"Text"===this.#n.editor.getEditMode()&&this.#n.editor.setEditMode("Transform"),this.#n.block.setTextColor(t,e);break}const e=this.#n.block.getColor(i,r);this.#n.block.setColor(t,o,e);break}case"String":{if("text/typeface"===r||"caption/typeface"===r){const e=this.#n.block.getTypeface(i);this.#n.block.setTypeface(t,e);break}const e=this.#n.block.getString(i,r);this.#n.block.setString(t,o,e);break}}}),e.payload?.properties?.forEach(async t=>{"Color"===t.type&&await this.applyProperty(e,t)});const[c]=this.#n.block.getTextFontWeights(i);null!=c&&this.#n.block.setTextFontWeight(t,c);const[d]=this.#n.block.getTextFontStyles(i);null!=d&&this.#n.block.setTextFontStyle(t,d);const u={in:this.#n.block.getInAnimation(i),loop:this.#n.block.getLoopAnimation(i),out:this.#n.block.getOutAnimation(i)},p=(e,t)=>{const r=u[t],n=(()=>{switch(t){case"in":return this.#n.block.getInAnimation(e);case"loop":return this.#n.block.getLoopAnimation(e);case"out":return this.#n.block.getOutAnimation(e);default:return}})();if(null!=n&&this.#n.block.isValid(n)&&this.#n.block.destroy(n),this.#n.block.isValid(r)){const n=this.#n.block.duplicate(r);switch(t){case"in":this.#n.block.setInAnimation(e,n);break;case"loop":this.#n.block.setLoopAnimation(e,n);break;case"out":this.#n.block.setOutAnimation(e,n)}}};l.forEach(e=>{p(e,"in"),p(e,"loop"),p(e,"out")}),null!=s&&this.#n.block.setMetadata(s,"activePreset",e.id),this.#n.block.destroy(i),this.#n.editor.addUndoStep(),this.#n.asset.assetSourceContentsChanged(_CaptionPresetAssetSource.assetSourceId)}async applyProperty(e,t){const r=this.getCaptionTrack();if(null==r)return;const[n]=this.#n.block.findAllSelected(),o="//ly.img.ubq/caption"===(null!=n?this.#n.block.getType(n):void 0)?n:this.#n.block.getChildren(r)[0];if(null!=o){switch(t.type){case"Color":if("fill/solid/color"===t.property){this.#n.block.setColor(o,t.property,t.value),this.#n.block.setTextColor(o,t.value);break}this.#n.block.setColor(o,t.property,t.value);break;case"Int":this.#n.block.setInt(o,t.property,t.value);break;case"Float":if("caption/scale"===t.property){const e=this.fetchCaptionScale(),r=this.#n.block.getTextFontSizes(o)[0]/e,n=Math.round(r*t.value);if(this.#n.block.setTextFontSize(o,n),this.#n.block.isStrokeEnabled(o)){const r=this.#n.block.getStrokeWidth(o)/e*t.value;this.#n.block.setStrokeWidth(o,r)}if(this.#n.block.isDropShadowEnabled(o)){const r=this.#n.block.getDropShadowOffsetX(o),n=this.#n.block.getDropShadowOffsetY(o)/e,i=this.#n.block.getDropShadowBlurRadiusX(o)/e,a=this.#n.block.getDropShadowBlurRadiusY(o)/e,s=r/e*t.value,l=n*t.value,c=i*t.value,d=a*t.value;this.#n.block.setDropShadowOffsetX(o,s),this.#n.block.setDropShadowOffsetY(o,l),this.#n.block.setDropShadowBlurRadiusX(o,c),this.#n.block.setDropShadowBlurRadiusY(o,d)}this.storeCaptionScale(t.value);break}this.#n.block.setFloat(o,t.property,t.value);break;case"Double":this.#n.block.setDouble(o,t.property,t.value);break;case"Boolean":this.#n.block.setBool(o,t.property,t.value);break;case"Enum":this.#n.block.setEnum(o,t.property,t.value);break;case"String":this.#n.block.setString(o,t.property,t.value)}this.#o=this.#o.map(r=>{if("caption/scale"===t.property){const e=r.payload?.properties?.map(e=>"caption/scale"===e.property?{...e,value:t.value}:e);return{...r,payload:{...r.payload,properties:e}}}if(r.id===e.id){const e=r.payload?.properties?.map(e=>e.property===t.property?{...e,value:t.value}:e);return{...r,payload:{...r.payload,properties:e}}}return{...r}}),this.#n.asset.assetSourceContentsChanged(_CaptionPresetAssetSource.assetSourceId)}}storeCaptionScale(e){const t=this.getCaptionTrack();null!=t&&this.#n.block.setMetadata(t,"previousScale",e.toString())}fetchCaptionScale(){const e=this.getCaptionTrack();if(null==e)return 1;try{const t=this.#n.block.getMetadata(e,"previousScale"),r=parseFloat(t);return Number.isNaN(r)?1:r}catch(e){return 1}}getCaptionTrack(){const e=this.#n.scene.getCurrentPage();if(null!=e)return this.#n.block.getChildren(e).find(e=>"//ly.img.ubq/captionTrack"===this.#n.block.getType(e))}static async create(e,t,r){const n=await _CaptionPresetAssetSource.fetchAssets(t,r);return new _CaptionPresetAssetSource(e,n,r)}};var cd=async function(e,t,r,n){const o=["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","ly.img.page.presets","ly.img.page.presets.video","ly.img.crop.presets","ly.img.text"].filter(e=>!r.includes(e));await sd(o,t,n,e.asset),r.includes("ly.img.captionPresets")||await ld.create(e,t,n)};var dd=async function(e,t,r,n,o,i,a="https://cdn.img.ly/assets/demo/v3"){const s=new Set(e.findAllSources()),l="ly.img.image.upload";!o||r.includes(l)||s.has(l)||e.addLocalSource(l,["image/jpeg","image/png","image/webp","image/svg+xml","image/bmp",..."Design"===n?["image/gif","image/apng"]:[]]);const c="ly.img.video.upload";"Video"!==n||!o||r.includes(c)||s.has(c)||e.addLocalSource(c,["application/json","video/mp4","video/quicktime","video/webm","video/matroska","image/gif","image/apng"]);const d="ly.img.audio.upload";"Video"!==n||!o||r.includes(d)||s.has(d)||e.addLocalSource(d,["audio/mpeg","audio/mp3","audio/x-m4a","audio/wav"]);const u=["ly.img.image","ly.img.video","ly.img.audio"].filter(e=>!r.includes(e));s.has("ly.img.template")||r.includes("ly.img.template")||(e.addLocalSource("ly.img.template",void 0,async e=>{const r=e.meta?.uri,n=t.get();if(r&&null!=n){if(r.startsWith("UBQ1"))t.applyTemplateFromString(r);else{const e=new URL(r,window.location.href);t.applyTemplateFromURL(e.href)}return n}}),u.push("ly.img.template")),"Video"!==n||s.has("ly.img.video.template")||r.includes("ly.img.video.template")||(e.addLocalSource("ly.img.video.template",void 0,async e=>{const r=e.meta?.uri,n=t.get();if(r&&null!=n){if(r.startsWith("UBQ1"))t.applyTemplateFromString(r);else{const e=new URL(r,window.location.href);t.applyTemplateFromURL(e.href)}return n}}),u.push("ly.img.video.template")),s.has("ly.img.textComponents")||r.includes("ly.img.textComponents")||u.push("ly.img.textComponents"),await sd(u,a,i,e)};function ud(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 pd="1.78.0-nightly.20260613".includes("nightly")?"https://cdn.img.ly/nightlies/1.78.0-nightly.20260613/packages/imgly/cesdk-engine/1.78.0-nightly.20260613/assets":"https://cdn.img.ly/packages/imgly/cesdk-engine/1.78.0-nightly.20260613/assets";function hd(e,t){return t??="undefined"==typeof window?void 0:window.location.href,new URL(e??"",t).href.replace(/\/*$/,"/")}var gd={warnKeys(e){if(e.scene||e.page||e.assetSources||e.presets?.colorPalettes||e.presets?.images||e.presets?.pageFormats||e.presets?.colorPalettes||e.variables||e.callbacks?.log||e.initialSceneMode||e.initialSceneString||e.initialSceneURL||e.initialImageURL)return"Your configuration contains keys that are no longer supported and will be ignored. Refer to https://img.ly/docs/cesdk/introduction/migration_1_13/ for information about the removed keys."}};var fd,md,bd,yd,vd=[gd,new class _TypefaceMigration{static APIFALLBACK_TYPEFACES_SOURCE_ID="apiFallbackTypefaces";warnKeys(e){if(e.presets?.typefaces)return"The `presets.typefaces` configuration option is deprecated. Use the AssetAPI to add typefaces instead."}applyFallback(e,t){if(e)try{const r=t.asset;if(e.presets?.typefaces){r.addLocalSource(_TypefaceMigration.APIFALLBACK_TYPEFACES_SOURCE_ID);for(const[t,n]of Object.entries(e.presets.typefaces))r.addAssetToSource(_TypefaceMigration.APIFALLBACK_TYPEFACES_SOURCE_ID,{id:t,payload:{typeface:{name:n.family,fonts:n.fonts.map(e=>({subFamily:`${e.weight} ${e.style}`,style:e.style,uri:e.fontURL,weight:e.weight}))}}})}}catch(e){console.error(e)}}}],wd=(e=>(e[e.Information=0]="Information",e[e.Warning=1]="Warning",e[e.Error=2]="Error",e))(wd||{}),kd=(e=>(e[e.Free=0]="Free",e[e.VerticalStack=1]="VerticalStack",e[e.HorizontalStack=2]="HorizontalStack",e[e.DepthStack=3]="DepthStack",e))(kd||{});bd=[ve({disabledInModes:["Playback"]})],md=[ve({disabledInModes:["Playback"]})],fd=[ve({disabledInModes:["Playback"]})];var _d=class{constructor(e){E(yd,5,this),T(this,"ubique"),T(this,"notificationStream",e=>{const t=this.ubique.addEventCallback("NotificationEvent",t=>e({type:wd[t.type],i18n:t.i18n}));return()=>{t.dispose(),t.delete()}}),T(this,"designElementLifecycleStream",e=>t=>{const r=this.ubique.addEventCallback(e,t);return()=>{r.dispose(),r.delete()}}),T(this,"historyStream",e=>{const t=this.ubique.addEventCallback("HistoryUpdatedEvent",e);return()=>{t.dispose(),t.delete()}}),this.ubique=e.getInternalAPI()}dispose(){this.ubique.delete(),this.ubique=null}setErrorCallback(e,t){this.ubique.setErrorCallback(e,t)}getSelectedText(){return _e(this.ubique.getSelectedText())}hasComponent(e,t){return _e(this.ubique.hasComponent(e,t))}getValue(e,t,r){return _e(this.ubique.getValue(e,t,r))}execute(e,t){let r;const n=new Promise((n,o)=>{r=this.ubique.ubqExecute(e,t,e=>{try{const t=_e(e);n(t)}catch(e){o(e)}})});return _e(r),n}sendKey(e){return this.execute("ubq/inputs/keyboardkey",function(e){const t={key:255,characters:e.key,shiftIsHeld:e.shiftKey,commandIsHeld:e.metaKey||e.ctrlKey,optionIsHeld:e.altKey,timestamp:Date.now()};switch(e.key.toUpperCase()){case"0":t.key=0;break;case"1":t.key=1;break;case"2":t.key=2;break;case"3":t.key=3;break;case"4":t.key=4;break;case"5":t.key=5;break;case"6":t.key=6;break;case"7":t.key=7;break;case"8":t.key=8;break;case"9":t.key=9;break;case"A":t.key=10;break;case"B":t.key=11;break;case"C":t.key=12;break;case"D":t.key=13;break;case"E":t.key=14;break;case"F":t.key=15;break;case"G":t.key=16;break;case"H":t.key=17;break;case"I":t.key=18;break;case"J":t.key=19;break;case"K":t.key=20;break;case"L":t.key=21;break;case"M":t.key=22;break;case"N":t.key=23;break;case"O":t.key=24;break;case"P":t.key=25;break;case"Q":t.key=26;break;case"R":t.key=27;break;case"S":t.key=28;break;case"T":t.key=29;break;case"U":t.key=30;break;case"V":t.key=31;break;case"W":t.key=32;break;case"X":t.key=33;break;case"Y":t.key=34;break;case"Z":t.key=35;break;case" ":t.key=42;break;case"ESCAPE":t.key=43,t.characters="";break;case"BACKSPACE":t.key=40,t.characters="";break;case"DELETE":t.key=44,t.characters="";break;case"ENTER":t.key=41,t.characters=t.shiftIsHeld?"\u2028":"\n";break;case"CONTROL":t.key=46,t.characters="";break;case"ALT":t.key=47,t.characters="";break;case"SHIFT":t.key=48,t.characters="";break;case"ARROWLEFT":t.key=36,t.characters="";break;case"ARROWRIGHT":t.key=37,t.characters="";break;case"ARROWUP":t.key=38,t.characters="";break;case"ARROWDOWN":t.key=39,t.characters="";break;case"TAB":t.key=45,t.characters="";break;case"DEAD":t.key=255,t.characters=""}return t}(e))}changeSceneLayout(e,t,r,n){return this.execute("ubq/scene/changeLayout",[e,kd[t],r,n])}};C(yd=v(null),1,"getSelectedText",bd,_d),C(yd,1,"hasComponent",md,_d),C(yd,1,"getValue",fd,_d),S(yd,_d);import Sd from"fs/promises";import{fileURLToPath as Ed}from"url";var Cd=function(){if("undefined"!=typeof fetch)return fetch;throw"undefined"!=typeof window?new Error("Could not find `fetch` API"):new Error("Could not find a `fetch` implementation. Please make sure you're using Node.JS >= 22.")}();async function Td(e){if(!e.match(/^file:/))return Cd(e);try{const t=await Sd.readFile(Ed(e),{encoding:"utf8"}),r=JSON.parse(t);return{ok:!0,json:async()=>r,text:async()=>t}}catch(e){return{ok:!1,statusText:e.message}}}var xd=Cd;import{fileURLToPath as Pd}from"url";var Ad=class extends Error{wasmUrl;dataUrl;baseURL;originalError;details;constructor(e){super("Failed to load CE.SDK engine. See browser console for troubleshooting details."),this.name="WasmLoadError",this.wasmUrl=e.wasmUrl,this.dataUrl=e.dataUrl,this.baseURL=e.baseURL,this.originalError=e.originalError,this.details=function(e){const{wasmUrl:t,dataUrl:r,originalError:n}=e,{docsUrl:o,assetsUrl:i}=function(){const e="1.78.0-nightly.20260613";return{docsUrl:`https://img.ly/docs/cesdk/archive/v${e.split(".").slice(0,2).join(".")}/js/serve-assets-b0827c/`,assetsUrl:`https://cdn.img.ly/packages/imgly/cesdk-js/${e}/imgly-assets.zip`}}();return["[CE.SDK] Failed to load engine assets (v1.78.0-nightly.20260613)","",`Error: ${n.message}`,"","Could not load:",` • ${t}`,` • ${r}`,"","This usually means the assets are missing or from a different SDK version.","","→ Download assets for v1.78.0-nightly.20260613:",` ${i}`,"","→ Documentation:",` ${o}`].join("\n")}(e),console.error(this.details)}};var Fd=((e,t,r)=>(r=null!=e?l(p(e)):{},((e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of u(t))h.call(e,o)||o===r||c(e,o,{get:()=>t[o],enumerable:!(n=d(t,o))||n.enumerable});return e})(!t&&e&&e.__esModule?r:c(r,"default",{value:e,enumerable:!0}),e)))(D()),Md="./assets/core/cesdk-v1.78.0-nightly.20260613-MLEZSZ4D.data",Id="./assets/core/cesdk-v1.78.0-nightly.20260613-GOBTY6JV.wasm",Dd=Fd.default;async function Rd(e){const t=e.logger,r=function(e,t=fetch){return e.license&&0!==e.license.length&&"evaluation-license"!==e.license?e.license.length<128?t("https://api.img.ly/activate",{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):Promise.resolve("")}(e,xd),{getPreloadedPackage:n,instantiateWasm:o}=await async function(e){if(!e.core.baseURL.startsWith("http"))return{};const t=Bd(e,Md),r=Bd(e,Id),n=xd(t).then(n=>{if(n.status>=400)throw new Ad({wasmUrl:r,dataUrl:t,baseURL:e.core.baseURL,originalError:new Error(`HTTP ${n.status}: ${n.statusText} for data file`)});return n.arrayBuffer()}),o=await n;function i(e,r){if(e===t){if(r!==o.byteLength)throw new Error(`Attempt to get preloaded data package of incorrect size. Expected: ${r} Actual: ${o.byteLength}`);return o}return null}function a(n,o){const i=n,a=xd(r).then(n=>{if(n.status>=400)throw new Ad({wasmUrl:r,dataUrl:t,baseURL:e.core.baseURL,originalError:new Error(`HTTP ${n.status}: ${n.statusText} for WASM file`)});return n}),s=n=>{if(n instanceof Ad)throw n;throw new Ad({wasmUrl:r,dataUrl:t,baseURL:e.core.baseURL,originalError:n})};void 0!==WebAssembly.instantiateStreaming?a.then(e=>WebAssembly.instantiateStreaming(e,i)).then(({instance:e})=>o(e)).catch(s):a.then(e=>e.arrayBuffer()).then(e=>WebAssembly.compile(e)).then(e=>WebAssembly.instantiate(e,i)).then(o).catch(s);return{}}return{getPreloadedPackage:i,instantiateWasm:a}}(e),i={locateFile:t=>t.endsWith(".wasm")?Bd(e,Id):t.endsWith(".data")?Bd(e,Md):Bd(e,t),instantiateWasm:o,getPreloadedPackage:n,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 Dd(i);a.emscripten_ubq_asyncFetchManager.setFetch(xd);const s=_e(a.createEngine("","auto"));return function(e,t){_e(e.unlockWithLicense(t??""))}(s,await r),function(e,t){const r=new EditorAPI(e);r.setRole(t.role??"Creator"),r.setSetting("basePath",t.baseURL),r.setSetting("showBuildVersion",!1),t.featureFlags?.preventScrolling&&(r.setSetting("touch/singlePointPanning",!1),r.setSetting("touch/dragStartCanSelect",!1)),function(){const e=!!t.featureFlags?.singlePageMode;r.setSetting("features/singlePageModeEnabled",e);const n=!1!==t.featureFlags?.fileSystemUsageEnabled;r.setSetting("features/fileSystemUsageEnabled",n),r.setSetting("features/effectsEnabled",!0)}(),function(){const t=new VariableAPI(e);"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"))}(),r.startTracking(t.license??"",t.userId??"")}(s,e),s}function Bd(e,t){const r=t.split("/").pop(),n=new URL(r,e.core.baseURL);if("file:"===n.protocol)return Pd(n);return new URL(r,e.core.baseURL).toString()}var Ld={Info:"Info",Warning:"Warning",Error:"Error"},Od=(e=>(e[e.None=0]="None",e[e.Zstd=1]="Zstd",e))(Od||{}),Ud=(e=>(e[e.Fastest=0]="Fastest",e[e.Default=1]="Default",e[e.Best=2]="Best",e))(Ud||{}),qd=["scene","stack","camera","page","graphic","audio","text","group","cutout","track","caption","captionTrack"],Wd=["rect","line","ellipse","polygon","star","vector_path"],Hd=["color","gradient/linear","gradient/radial","gradient/conical","image","video","pixelStream"],$d=["adjustments","cross_cut","dot_pattern","duotone_filter","extrude_blur","glow","green_screen","half_tone","linocut","liquid","lut_filter","mirror","outliner","pixelize","posterize","radial_pixel","recolor","sharpie","shifter","tilt_shift","tv_glitch","vignette"],Nd=["uniform","linear","mirrored","radial"],Vd=["slide","pan","fade","blur","grow","zoom","pop","wipe","baseline","crop_zoom","spin","spin_loop","fade_loop","blur_loop","pulsating_loop","breathing_loop","jump_loop","squeeze_loop","sway_loop","scale_loop","typewriter_text","block_swipe_text","spread_text","merge_text","ken_burns"],zd=class{static version="1.78.0-nightly.20260613";asset;block;editor;event;scene;variable;actions;version="1.78.0-nightly.20260613";#a;#e;#s;constructor(e,t){this.#e=e,this.#s=t.baseURL,this.#a=new _d(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.actions=new id(e),this.block.exportVideo=()=>{throw new Error("Exporting video is currently not supported on Node.JS")},this.#l(),"undefined"!=typeof window&&window.Cypress&&(this.config=t,this.helper=this.#a)}#c;#l(){this.#d()}#d(){if(this.#c)return;const e=()=>{const t=this.update();this.#c=t?setImmediate(e):setTimeout(e,16)};this.#c=setImmediate(e)}#u(){this.#c&&(clearTimeout(this.#c),clearImmediate(this.#c),this.#c=null)}update(){return this.#e.update()}dispose(){this.#u(),this.asset.dispose(),this.actions.dispose(),this.block=null,this.scene=null,this.variable=null,this.asset=null,this.editor=null,this.event=null,this.actions=null,this.#a.dispose(),this.#a=null,this.#e.delete(),this.#e=null}static async init(e){const t="c1c797ee6",r="1.78.0-nightly.20260613";if(t||r){const e=["[CreativeEngine]"];r&&e.push(`v${r}`),t&&e.push(`Revision ${t}`),console.log(e.join(" "))}const n=function(e,t){return t?e.reduce((e,t)=>t.migrateConfigObject?t.migrateConfigObject(e):e,t):t}(vd,e),i=function(e={}){const t={...e,license:e.license,baseURL:e.baseURL??pd,core:e.core??{baseURL:"core/"},logger:e.logger??ud,presets:e.presets??{}};t.baseURL=hd(t.baseURL),t.core.baseURL=hd(t.core.baseURL,t.baseURL);const r=new URL(pd).host,n=new URL(t.baseURL).host;if(n===r){const e=`https://img.ly/docs/cesdk/archive/v${"1.78.0-nightly.20260613".split(".").slice(0,2).join(".")}/js/serve-assets-b0827c/`,r="https://cdn.img.ly/packages/imgly/cesdk-js/1.78.0-nightly.20260613/imgly-assets.zip";t.logger(`Using IMG.LY CDN (${n}) for assets. For production use, please host assets yourself and specify a baseURL in your configuration.\n Download assets for v1.78.0-nightly.20260613: ${r}\n See: ${e}`,"Warning")}return t}({baseURL:`file://${o}/assets/`,...n});for(const t of function(e,t){return t?e.flatMap(e=>{const r=e.warnKeys?.(t);return"string"==typeof r?[r]:r??[]}):[]}(vd,e))i.logger(t,"Warning");const a=new this(await Rd(i),i);return Object.defineProperty(a,"version",{configurable:!1,writable:!1}),function(e,t,r){if(t)for(const n of e)n.applyFallback?.(t,r)}(vd,e,a),a}async addDefaultAssetSources({baseURL:e,excludeAssetSourceIds:t=[]}={}){const r=e??this.#s;return cd(this,r,t,Td)}async addDemoAssetSources({baseURL:e,excludeAssetSourceIds:t=[],sceneMode:r="Design",withUploadAssetSources:n=!1}={}){const o=e??this.#s;return dd(this.asset,this.scene,t,r,n,Td,o)}getBaseURL(){return this.#s}};export{Vd as ANIMATION_TYPES,Nd as BLUR_TYPES,Od as CompressionFormat,Ud as CompressionLevel,qd as DESIGN_BLOCK_TYPES,$d as EFFECT_TYPES,Hd as FILL_TYPES,Ld as LogLevel,re as MimeType,Wd as SHAPE_TYPES,zd as default,hl as isCMYKColor,ul as isRGBAColor,pl as isSpotColor};
|
|
1
|
+
import{fileURLToPath as e}from"url";import{dirname as t}from"path";import{createRequire as r}from"module";const n=e(import.meta.url),o=t(n),i=r(import.meta.url);var a,s,l=Object.create,c=Object.defineProperty,d=Object.getOwnPropertyDescriptor,u=Object.getOwnPropertyNames,p=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,g=(e,t)=>(t=Symbol[e])?t:Symbol.for("Symbol."+e),f=e=>{throw TypeError(e)},m=(e,t,r)=>t in e?c(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,b=(e,t)=>c(e,"name",{value:t,configurable:!0}),y=(e=>void 0!==i?i:"undefined"!=typeof Proxy?new Proxy(e,{get:(e,t)=>(void 0!==i?i:e)[t]}):e)(function(e){if(void 0!==i)return i.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),v=e=>[,,,l(e?.[g("metadata")]??null)],w=["class","method","getter","setter","accessor","field","value","get","set"],k=e=>void 0!==e&&"function"!=typeof e?f("Function expected"):e,_=(e,t,r,n,o)=>({kind:w[e],name:t,metadata:n,addInitializer:e=>r._?f("Already initialized"):o.push(k(e||null))}),S=(e,t)=>m(t,g("metadata"),e[3]),E=(e,t,r,n)=>{for(var o=0,i=e[t>>1],a=i&&i.length;o<a;o++)1&t?i[o].call(r):n=i[o].call(r,n);return n},C=(e,t,r,n,o,i)=>{var a,s,l,u,p,h=7&t,g=!!(8&t),m=!!(16&t),y=h>3?e.length+1:h?g?1:2:0,v=w[h+5],E=h>3&&(e[y-1]=[]),C=e[y]||(e[y]=[]),T=h&&(!m&&!g&&(o=o.prototype),h<5&&(h>3||!m)&&d(h<4?o:{get[r](){return A(this,i)},set[r](e){return M(this,i,e)}},r));h?m&&h<4&&b(i,(h>2?"set ":h>1?"get ":"")+r):b(o,r);for(var x=n.length-1;x>=0;x--)u=_(h,r,l={},e[3],C),h&&(u.static=g,u.private=m,p=u.access={has:m?e=>P(o,e):e=>r in e},3^h&&(p.get=m?e=>(1^h?A:I)(e,o,4^h?i:T.get):e=>e[r]),h>2&&(p.set=m?(e,t)=>M(e,o,t,4^h?i:T.set):(e,t)=>e[r]=t)),s=(0,n[x])(h?h<4?m?i:T[v]:h>4?void 0:{get:T.get,set:T.set}:o,u),l._=1,4^h||void 0===s?k(s)&&(h>4?E.unshift(s):h?m?i=s:T[v]=s:o=s):"object"!=typeof s||null===s?f("Object expected"):(k(a=s.get)&&(T.get=a),k(a=s.set)&&(T.set=a),k(a=s.init)&&E.unshift(a));return h||S(e,o),T&&c(o,r,T),m?4^h?i:T:o},T=(e,t,r)=>m(e,"symbol"!=typeof t?t+"":t,r),x=(e,t,r)=>t.has(e)||f("Cannot "+r),P=(e,t)=>Object(t)!==t?f('Cannot use the "in" operator on this value'):e.has(t),A=(e,t,r)=>(x(e,t,"read from private field"),r?r.call(e):t.get(e)),F=(e,t,r)=>t.has(e)?f("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),M=(e,t,r,n)=>(x(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),I=(e,t,r)=>(x(e,t,"access private method"),r),D=(a={"../../../_builds/cesdk/wasm32-unknown-emscripten+simd/Release/cesdk.js"(e,t){var r,i=(r=globalThis.document?.currentScript?.src,async function(e={}){var t,i,a,s,l=e,c=!!globalThis.window,d=!!globalThis.WorkerGlobalScope,u=globalThis.process?.versions?.node&&"renderer"!=globalThis.process?.type;l.expectedDataFileDownloads||(l.expectedDataFileDownloads=0),l.expectedDataFileDownloads++,(()=>{var e="undefined"!=typeof ENVIRONMENT_IS_PTHREAD&&ENVIRONMENT_IS_PTHREAD,t="undefined"!=typeof ENVIRONMENT_IS_WASM_WORKER&&ENVIRONMENT_IS_WASM_WORKER;if(!e&&!t){var r=globalThis.process&&globalThis.process.versions&&globalThis.process.versions.node&&"renderer"!=globalThis.process.type;!async function(e){"object"==typeof window?window.encodeURIComponent(window.location.pathname.substring(0,window.location.pathname.lastIndexOf("/"))+"/"):"undefined"==typeof process&&"undefined"!=typeof location&&encodeURIComponent(location.pathname.substring(0,location.pathname.lastIndexOf("/"))+"/");var t,n="cesdk.data",o=l.locateFile?l.locateFile(n,""):n,i=e.remote_package_size,a=l.getPreloadedPackage&&l.getPreloadedPackage(o,i);async function s(r){function n(e,t){if(!e)throw new Error(t)}for(var o of(r.FS_createPath("/","ly.img.cesdk",!0,!0),r.FS_createPath("/ly.img.cesdk","fonts",!0,!0),r.FS_createPath("/ly.img.cesdk","icons",!0,!0),r.FS_createPath("/ly.img.cesdk","icu",!0,!0),r.FS_createPath("/ly.img.cesdk","presets",!0,!0),r.FS_createPath("/ly.img.cesdk","shaders",!0,!0),r.FS_createPath("/ly.img.cesdk/shaders","common",!0,!0),e.files)){var i=o.filename;r.addRunDependency(`fp ${i}`)}r.addRunDependency("datafile_cesdk.data"),r.preloadResults||(r.preloadResults={}),r.preloadResults["cesdk.data"]={fromCache:!1},a||(a=await t),async function(t){n(t,"Loading data file failed."),n(t.constructor.name===ArrayBuffer.name,"bad input to processPackageData "+t.constructor.name);var o=new Uint8Array(t);for(var i of e.files){var a=i.filename,s=o.subarray(i.start,i.end);r.FS_createDataFile(a,null,s,!0,!0,!0),r.removeRunDependency(`fp ${a}`)}r.removeRunDependency("datafile_cesdk.data")}(a)}a||(t=async function(e,t){if(r){var n=y("fs").readFileSync(e);return new Uint8Array(n).buffer}l.dataFileDownloads||(l.dataFileDownloads={});try{var o=await fetch(e)}catch(t){throw new Error(`Network Error: ${e}`,{e:t})}if(!o.ok)throw new Error(`${o.status}: ${o.url}`);const i=[],a=o.headers,s=Number(a.get("Content-Length")||t);let c=0;l.setStatus&&l.setStatus("Downloading data...");const d=o.body.getReader();for(;;){var{done:u,value:p}=await d.read();if(u)break;i.push(p),c+=p.length,l.dataFileDownloads[e]={loaded:c,total:s};let t=0,r=0;for(const e of Object.values(l.dataFileDownloads))t+=e.loaded,r+=e.total;l.setStatus&&l.setStatus(`Downloading data... (${t}/${r})`)}const h=new Uint8Array(i.map(e=>e.length).reduce((e,t)=>e+t,0));let g=0;for(const e of i)h.set(e,g),g+=e.length;return h.buffer}(o,i)),l.calledRun?s(l):(l.preRun||(l.preRun=[]),l.preRun.push(s))}({files:[{filename:"/.keep",start:0,end:0},{filename:"/ly.img.cesdk/fonts/imgly_font_inter_semibold.otf",start:0,end:270760},{filename:"/ly.img.cesdk/icons/ErrorAudio.svg",start:270760,end:271410},{filename:"/ly.img.cesdk/icons/ErrorConnection.svg",start:271410,end:272334},{filename:"/ly.img.cesdk/icons/ErrorImage.svg",start:272334,end:273191},{filename:"/ly.img.cesdk/icons/ErrorUnknown.svg",start:273191,end:275199},{filename:"/ly.img.cesdk/icons/ErrorVideo.svg",start:275199,end:275919},{filename:"/ly.img.cesdk/icons/Move.svg",start:275919,end:276859},{filename:"/ly.img.cesdk/icons/RotateIndicator.svg",start:276859,end:277840},{filename:"/ly.img.cesdk/icu/icudt74l.dat",start:277840,end:812944},{filename:"/ly.img.cesdk/presets/.keep",start:812944,end:812944},{filename:"/ly.img.cesdk/shaders/adjustments.sksl",start:812944,end:816833},{filename:"/ly.img.cesdk/shaders/black_and_white_color_mixer.sksl",start:816833,end:823150},{filename:"/ly.img.cesdk/shaders/common/ubq_adjustments.sksl",start:823150,end:827741},{filename:"/ly.img.cesdk/shaders/common/ubq_color_conversions.sksl",start:827741,end:837726},{filename:"/ly.img.cesdk/shaders/common/ubq_constants.sksl",start:837726,end:838216},{filename:"/ly.img.cesdk/shaders/common/ubq_hue_constants.sksl",start:838216,end:841383},{filename:"/ly.img.cesdk/shaders/common/ubq_noise.sksl",start:841383,end:844021},{filename:"/ly.img.cesdk/shaders/cross_cut.sksl",start:844021,end:844968},{filename:"/ly.img.cesdk/shaders/dot_pattern.sksl",start:844968,end:846046},{filename:"/ly.img.cesdk/shaders/duotone_filter.sksl",start:846046,end:847010},{filename:"/ly.img.cesdk/shaders/extrude_blur.sksl",start:847010,end:849127},{filename:"/ly.img.cesdk/shaders/glow.sksl",start:849127,end:850094},{filename:"/ly.img.cesdk/shaders/half_tone.sksl",start:850094,end:850588},{filename:"/ly.img.cesdk/shaders/linocut.sksl",start:850588,end:851373},{filename:"/ly.img.cesdk/shaders/liquid.sksl",start:851373,end:851855},{filename:"/ly.img.cesdk/shaders/lut_filter.sksl",start:851855,end:854718},{filename:"/ly.img.cesdk/shaders/mask_color.sksl",start:854718,end:855223},{filename:"/ly.img.cesdk/shaders/mirror.sksl",start:855223,end:855677},{filename:"/ly.img.cesdk/shaders/outliner.sksl",start:855677,end:857314},{filename:"/ly.img.cesdk/shaders/pixelize.sksl",start:857314,end:857614},{filename:"/ly.img.cesdk/shaders/placeholder_overlay_lines.sksl",start:857614,end:858302},{filename:"/ly.img.cesdk/shaders/posterize.sksl",start:858302,end:858514},{filename:"/ly.img.cesdk/shaders/radial_pixel.sksl",start:858514,end:859077},{filename:"/ly.img.cesdk/shaders/recolor.sksl",start:859077,end:861278},{filename:"/ly.img.cesdk/shaders/sharpie.sksl",start:861278,end:863583},{filename:"/ly.img.cesdk/shaders/shifter.sksl",start:863583,end:864267},{filename:"/ly.img.cesdk/shaders/tiltshift.sksl",start:864267,end:864849},{filename:"/ly.img.cesdk/shaders/tv_glitch.sksl",start:864849,end:865567},{filename:"/ly.img.cesdk/shaders/vignette.sksl",start:865567,end:865939}],remote_package_size:865939})}})(),l.emscripten_ubq_codec_videoDecoders=new Map,l.emscripten_ubq_codec_audioDecoders=new Map,l.emscripten_ubq_codec_videoEncoders=new Map,l.emscripten_ubq_codec_audioEncoders=new Map,l.emscripten_ubq_codec_alphaStates=new Map,l.emscripten_ubq_codec_videoDecoderNextHandle=1,l.emscripten_ubq_codec_audioDecoderNextHandle=1,l.emscripten_ubq_codec_videoEncoderNextHandle=1,l.emscripten_ubq_codec_audioEncoderNextHandle=1,l._isSafariHelper=function(){if("undefined"==typeof navigator||"string"!=typeof navigator.userAgent)return 0;const e=navigator.userAgent;return!e.includes("Safari")||e.includes("Chrome")||e.includes("Chromium")||e.includes("Android")?0:1},l.emscripten_ubq_codec_createNativeResult=function(e){const t=l._malloc(8),r=l.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),n=l._malloc(t.length+1),o=l.HEAPU8.subarray(n,n+t.length+1);for(let e=0;e<t.length;e++)o[e]=t[e];o[t.length]=0,r[1]=n}else r[1]=0;return t},l.emscripten_ubq_codec_offscreenCanvas=null,l.emscripten_ubq_codec_offscreenCtx=null,l.emscripten_ubq_codec_presentVideoFrame=function(e,t,r,n,o,i,a){if(!i){const e=t.textures,o=t.textureWidth,i=t.textureHeight;if(e&&e.length>0){var s=l.ctx;const c=t.decodedFrames%e.length,d=s.getParameter(s.TEXTURE_BINDING_2D);s.bindTexture(s.TEXTURE_2D,e[c]);let u=a;u||(u=n?l.emscripten_ubq_codec_toneMapHdrToSdr(r):r);const p=r.displayWidth,h=r.displayHeight;if(p!==o||h!==i){if(!t.scalingCanvas){const e="undefined"!=typeof OffscreenCanvas?()=>new OffscreenCanvas(o,i):()=>{if("undefined"!=typeof document&&"function"==typeof document.createElement){const e=document.createElement("canvas");return e.width=o,e.height=i,e}throw new Error("Canvas API not available")};t.scalingCanvas=e(),t.scalingCtx=t.scalingCanvas.getContext("2d")}const e=t.scalingCanvas,r=t.scalingCtx;e.width===o&&e.height===i||(e.width=o,e.height=i),r.clearRect(0,0,o,i);const n=p/h;let a,s,l,c;n>o/i?(a=o,s=o/n,l=0,c=(i-s)/2):(s=i,a=i*n,l=(o-a)/2,c=0),r.drawImage(u,l,c,a,s),u=e}s.texImage2D(s.TEXTURE_2D,0,s.RGBA,s.RGBA,s.UNSIGNED_BYTE,u),s.bindTexture(s.TEXTURE_2D,d)}}r.close(),t.decodedFrames++,l.emscripten_ubq_codec_onOutputDecodedVideoFrame(e,t.decodedFrames,i,r.timestamp??0,o)},l.emscripten_ubq_codec_alphaMergeCanvas=function(e,t,r){const n=!e.mergerCanvas||e.mergerCanvas.width!==t||e.mergerCanvas.height!==r;if(!e.mergerCanvas||n){if("undefined"!=typeof OffscreenCanvas)e.mergerCanvas=new OffscreenCanvas(t,r);else{if("undefined"==typeof document||"function"!=typeof document.createElement)throw new Error("Canvas API not available for alpha compositing");e.mergerCanvas=document.createElement("canvas"),e.mergerCanvas.width=t,e.mergerCanvas.height=r}const n=e.mergerCanvas.getContext("webgl2")||e.mergerCanvas.getContext("webgl");if(!n)throw new Error("Failed to get WebGL context for alpha compositing");e.mergerCtx=n;const o="\n attribute vec2 aPos;\n attribute vec2 aTexCoord;\n varying vec2 vTexCoord;\n void main() {\n gl_Position = vec4(aPos, 0.0, 1.0);\n vTexCoord = aTexCoord;\n }\n ",i="\n precision mediump float;\n varying vec2 vTexCoord;\n uniform sampler2D uMain;\n uniform sampler2D uAlpha;\n void main() {\n vec4 color = texture2D(uMain, vTexCoord);\n vec4 alpha = texture2D(uAlpha, vTexCoord);\n gl_FragColor = vec4(color.rgb, alpha.r);\n }\n ",a=(e,t)=>{const r=n.createShader(e);if(n.shaderSource(r,t),n.compileShader(r),!n.getShaderParameter(r,n.COMPILE_STATUS)){const e=n.getShaderInfoLog(r);throw n.deleteShader(r),new Error("WebGL shader compile error: "+e)}return r},s=a(n.VERTEX_SHADER,o),l=a(n.FRAGMENT_SHADER,i),c=n.createProgram();if(n.attachShader(c,s),n.attachShader(c,l),n.linkProgram(c),!n.getProgramParameter(c,n.LINK_STATUS))throw new Error("WebGL program link error: "+n.getProgramInfoLog(c));e.mergerProgram=c,e.mergerLoc={aPos:n.getAttribLocation(c,"aPos"),aTexCoord:n.getAttribLocation(c,"aTexCoord"),uMain:n.getUniformLocation(c,"uMain"),uAlpha:n.getUniformLocation(c,"uAlpha")};const d=new Float32Array([-1,1,0,0,1,1,1,0,-1,-1,0,1,1,-1,1,1]);e.mergerBuffer=n.createBuffer(),n.bindBuffer(n.ARRAY_BUFFER,e.mergerBuffer),n.bufferData(n.ARRAY_BUFFER,d,n.STATIC_DRAW),e.mergerTexMain=n.createTexture(),n.bindTexture(n.TEXTURE_2D,e.mergerTexMain),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR),e.mergerTexAlpha=n.createTexture(),n.bindTexture(n.TEXTURE_2D,e.mergerTexAlpha),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_S,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_WRAP_T,n.CLAMP_TO_EDGE),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MIN_FILTER,n.LINEAR),n.texParameteri(n.TEXTURE_2D,n.TEXTURE_MAG_FILTER,n.LINEAR)}return e.mergerCanvas},l.emscripten_ubq_codec_mergeAlphaFrames=function(e,t,r){const n=t.displayWidth,o=t.displayHeight,i=l.emscripten_ubq_codec_alphaMergeCanvas(e,n,o),a=e.mergerCtx;return a.viewport(0,0,n,o),a.useProgram(e.mergerProgram),a.bindBuffer(a.ARRAY_BUFFER,e.mergerBuffer),a.enableVertexAttribArray(e.mergerLoc.aPos),a.vertexAttribPointer(e.mergerLoc.aPos,2,a.FLOAT,!1,16,0),a.enableVertexAttribArray(e.mergerLoc.aTexCoord),a.vertexAttribPointer(e.mergerLoc.aTexCoord,2,a.FLOAT,!1,16,8),a.activeTexture(a.TEXTURE0),a.bindTexture(a.TEXTURE_2D,e.mergerTexMain),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,t),a.uniform1i(e.mergerLoc.uMain,0),a.activeTexture(a.TEXTURE1),a.bindTexture(a.TEXTURE_2D,e.mergerTexAlpha),a.texImage2D(a.TEXTURE_2D,0,a.RGBA,a.RGBA,a.UNSIGNED_BYTE,r),a.uniform1i(e.mergerLoc.uAlpha,1),a.drawArrays(a.TRIANGLE_STRIP,0,4),a.flush(),i},l.emscripten_ubq_codec_prepareAlphaState=function(e,t){if(l.emscripten_ubq_codec_alphaStates.has(e))return l.emscripten_ubq_codec_alphaStates.get(e);const r={decoder:null,pendingMain:new Map,pendingAlpha:new Map,expectedTimestamps:new Set,dropTimestamps:new Set,mergerCanvas:null,mergerCtx:null};try{const n={...t};t.description&&(n.description=t.description.slice());const o=new VideoDecoder({output:t=>{l.emscripten_ubq_codec_alphaOnAlphaFrame(e,t)},error:e=>{o.unexpectedError=e,console.error("Alpha decoder error:",e)}});return o.configure(n),r.decoder=o,l.emscripten_ubq_codec_alphaStates.set(e,r),r}catch(e){return console.error("Failed to create alpha decoder:",e),null}},l.emscripten_ubq_codec_destroyAlphaState=function(e){const t=l.emscripten_ubq_codec_alphaStates.get(e);if(t){t.decoder&&"closed"!==t.decoder.state&&t.decoder.close();for(const e of t.pendingMain.values())e.frame.close();for(const e of t.pendingAlpha.values())e.close();if(t.pendingMain.clear(),t.pendingAlpha.clear(),t.expectedTimestamps.clear(),t.dropTimestamps.clear(),t.mergerCtx){const e=t.mergerCtx;e.deleteTexture(t.mergerTexMain),e.deleteTexture(t.mergerTexAlpha),e.deleteBuffer(t.mergerBuffer),e.deleteProgram(t.mergerProgram);const r=e.getExtension("WEBGL_lose_context");r&&r.loseContext()}t.mergerCanvas=null,t.mergerCtx=null,l.emscripten_ubq_codec_alphaStates.delete(e)}},l.emscripten_ubq_codec_markAlphaExpected=function(e,t){const r=l.emscripten_ubq_codec_alphaStates.get(e);r&&r.expectedTimestamps.add(t)},l.emscripten_ubq_codec_alphaOnMainFrame=function(e,t,r,n,o){const i=l.emscripten_ubq_codec_alphaStates.get(e);if(!i)return!1;const a=t.timestamp??0;if(!i.expectedTimestamps.has(a))return!1;const s=i.pendingAlpha.get(a);if(s){i.pendingAlpha.delete(a),i.expectedTimestamps.delete(a);const c=l.emscripten_ubq_codec_mergeAlphaFrames(i,t,s);return l.emscripten_ubq_codec_presentVideoFrame(e,r,t,n,o,!1,c),s.close(),!0}return i.pendingMain.set(a,{frame:t,videoDecoder:r,isHdr:n,codecServicePtr:o}),!0},l.emscripten_ubq_codec_alphaOnAlphaFrame=function(e,t){const r=l.emscripten_ubq_codec_alphaStates.get(e);if(!r)return void t.close();const n=t.timestamp??0;if(!r.expectedTimestamps.has(n))return void t.close();if(r.dropTimestamps.has(n))return r.dropTimestamps.delete(n),r.expectedTimestamps.delete(n),void t.close();const o=r.pendingMain.get(n);if(o){r.pendingMain.delete(n),r.expectedTimestamps.delete(n);const i=l.emscripten_ubq_codec_mergeAlphaFrames(r,o.frame,t);return l.emscripten_ubq_codec_presentVideoFrame(e,o.videoDecoder,o.frame,o.isHdr,o.codecServicePtr,!1,i),void t.close()}r.pendingAlpha.set(n,t)},l.emscripten_ubq_codec_alphaHandleDroppedMain=function(e,t){const r=l.emscripten_ubq_codec_alphaStates.get(e);if(!r||"number"!=typeof t)return;if(!r.expectedTimestamps.has(t))return;const n=r.pendingMain.get(t);n&&(r.pendingMain.delete(t),n.frame.close());const o=r.pendingAlpha.get(t);o?(r.pendingAlpha.delete(t),o.close()):r.dropTimestamps.add(t),r.expectedTimestamps.delete(t)},l.emscripten_ubq_codec_alphaCancelExpectation=function(e,t){const r=l.emscripten_ubq_codec_alphaStates.get(e);if(!r||"number"!=typeof t)return;if(!r.expectedTimestamps.has(t))return;const n=r.pendingMain.get(t);n&&(r.pendingMain.delete(t),n.frame.close());const o=r.pendingAlpha.get(t);o&&(r.pendingAlpha.delete(t),o.close()),r.dropTimestamps.delete(t),r.expectedTimestamps.delete(t)},l.emscripten_ubq_codec_toneMapHdrToSdr=function(e){l.emscripten_ubq_codec_offscreenCanvas||(l.emscripten_ubq_codec_offscreenCanvas=new OffscreenCanvas(e.codedWidth,e.codedHeight),l.emscripten_ubq_codec_offscreenCtx=l.emscripten_ubq_codec_offscreenCanvas.getContext("2d"));const t=l.emscripten_ubq_codec_offscreenCanvas;return t.width===e.codedWidth&&t.height===e.codedHeight||(t.width=e.codedWidth,t.height=e.codedHeight),l.emscripten_ubq_codec_offscreenCtx.drawImage(e,0,0),t},l.emscripten_ubq_codec_createVideoDecoder=function(e,t,r){const n=new VideoDecoder({output:o=>{const i=n.textures;let a=!1;if(n.shouldDropFrames)a=!0;else{if(1===n.isSafari){const e=n.targetFrameForScheduling??n.requestedPresentationFrame??0,t=n.reorderWindow??0,r=Math.max(e-t,0);n.decodedFrames<r&&(a=!0)}!a&&i&&i.length>0&&n.decodeQueueSize>=i.length&&(a=!0)}const s=o.timestamp??0;if(a)return l.emscripten_ubq_codec_alphaHandleDroppedMain(e,s),void l.emscripten_ubq_codec_presentVideoFrame(e,n,o,t,r,!0,null);l.emscripten_ubq_codec_alphaOnMainFrame(e,o,n,t,r)||l.emscripten_ubq_codec_presentVideoFrame(e,n,o,t,r,!1,null)},error:e=>{n.unexpectedError=e,console.error(e)}});return n.decodedFrames=0,n.requestedPresentationFrame=0,n.requestedDecodeChunk=0,n.targetFrameForScheduling=0,n.isSafari=l._isSafariHelper(),n.reorderWindow=0,n.shouldDropFrames=!1,n.isHdr=t,n.textureWidth=0,n.textureHeight=0,n.scalingCanvas=null,n.scalingCtx=null,n},l.emscripten_ubq_codec_createAudioDecoder=function(e,t,r){const n=new AudioDecoder({output:o=>{if(n.flushing)return void o.close();const i=l.HEAPF32.subarray(e/4,e/4+r),a=l.HEAPF32.subarray(t/4,t/4+r),s=1===o.numberOfChannels?0:1;if("f32-planar"===o.format){let e=n.writtenFrames%r;if(e+o.numberOfFrames<=r)o.copyTo(i.subarray(e),{planeIndex:0,frameCount:o.numberOfFrames}),o.copyTo(a.subarray(e),{planeIndex:s,frameCount:o.numberOfFrames});else{const t=r-e;o.copyTo(i.subarray(e),{planeIndex:0,frameCount:t}),o.copyTo(a.subarray(e),{planeIndex:s,frameCount:t}),o.copyTo(i,{planeIndex:0,frameOffset:t}),o.copyTo(a,{planeIndex:s,frameOffset:t})}n.writtenFrames+=o.numberOfFrames}else if("s16-planar"===o.format)if(1===o.numberOfChannels){const e=new Int16Array(o.numberOfFrames);o.copyTo(e,{planeIndex:0});for(let t=0;t<o.numberOfFrames;t++){const o=e[t]/32768;let s=n.writtenFrames%r;i[s]=o,a[s]=o,n.writtenFrames++}}else{const e=new Int16Array(o.numberOfFrames),t=new Int16Array(o.numberOfFrames);o.copyTo(e,{planeIndex:0}),o.copyTo(t,{planeIndex:1});for(let s=0;s<o.numberOfFrames;s++){let o=n.writtenFrames%r;i[o]=e[s]/32768,a[o]=t[s]/32768,n.writtenFrames++}}else if("s16"===o.format){const e=new Int16Array(o.numberOfFrames*o.numberOfChannels);if(o.copyTo(e,{planeIndex:0}),1===o.numberOfChannels)for(let t=0;t<o.numberOfFrames;t++){const o=e[t]/32768;let s=n.writtenFrames%r;i[s]=o,a[s]=o,n.writtenFrames++}else for(let t=0;t<o.numberOfFrames;t++){let s=n.writtenFrames%r;i[s]=e[t*o.numberOfChannels+0]/32768,a[s]=e[t*o.numberOfChannels+1]/32768,n.writtenFrames++}}else if("f32-planar"===o.format)if(1===o.numberOfChannels){const e=new Float32Array(o.numberOfFrames);o.copyTo(e,{planeIndex:0});for(let t=0;t<o.numberOfFrames;t++){let o=n.writtenFrames%r;i[o]=e[t],a[o]=e[t],n.writtenFrames++}}else{const e=new Float32Array(o.numberOfFrames),t=new Float32Array(o.numberOfFrames);o.copyTo(e,{planeIndex:0}),o.copyTo(t,{planeIndex:1});for(let s=0;s<o.numberOfFrames;s++){let o=n.writtenFrames%r;i[o]=e[s],a[o]=t[s],n.writtenFrames++}}else if("f32"===o.format){const e=new Float32Array(o.numberOfFrames*o.numberOfChannels);if(o.copyTo(e,{planeIndex:0}),1===o.numberOfChannels)for(let t=0;t<o.numberOfFrames;t++){let o=n.writtenFrames%r;i[o]=e[t],a[o]=e[t],n.writtenFrames++}else for(let t=0;t<o.numberOfFrames;t++){let s=n.writtenFrames%r;i[s]=e[t*o.numberOfChannels+0],a[s]=e[t*o.numberOfChannels+1],n.writtenFrames++}}else console.error("Unsupported audio format:",o.format);o.close()},error:e=>{n.unexpectedError=e,console.error(e)}});return n.writtenFrames=0,n},l.emscripten_ubq_settings_forceWebGL1=!1,l.emscripten_ubq_opfs_CHUNK_SIZE=10485760,l.emscripten_ubq_opfs_MAX_CACHE_SIZE_BYTES=209715200,void 0===l.emscripten_ubq_opfs_readTagCounter&&(l.emscripten_ubq_opfs_readTagCounter=0),l.emscripten_ubq_opfs_caches=new Map,l.emscripten_ubq_opfs_isWriteOpen=function(e){const t=l.emscripten_ubq_opfs_writerCaches;return!!t&&!!t.get(e)},l.emscripten_ubq_opfs_waitForWriteClose=async function(e){for(;l.emscripten_ubq_opfs_isWriteOpen(e);)await new Promise(e=>setTimeout(e,25))},l.emscripten_ubq_opfs_createWorker=function(){const e=new Blob(["\n let handle = null; \n let currentUri = '';\n\n async function getFileHandleForUri(uri) {\n const path = uri.replace(/^opfs:\\/\\//, \"\");\n const parts = path.split(\"/\").filter(Boolean);\n let dir = await navigator.storage.getDirectory();\n for (let i = 0; i < parts.length - 1; i++) {\n dir = await dir.getDirectoryHandle(parts[i]);\n }\n return dir.getFileHandle(parts[parts.length - 1]);\n }\n\n self.onmessage = async (ev) => {\n if (ev.data.open) {\n if (handle) {\n try {\n handle.close();\n } catch (e) {\n console.warn('[OPFS Worker] Failed to close previous handle', e);\n }\n }\n currentUri = ev.data.uri || '';\n try {\n const fileHandle = await getFileHandleForUri(currentUri);\n handle = await fileHandle.createSyncAccessHandle({\n mode: 'read-only'\n });\n try {\n const size = handle.getSize ? handle.getSize() : -1;\n } catch (_) {}\n self.postMessage({ready:true});\n } catch (error) {\n handle = null;\n const message =\n (error && error.message) ? error.message : String(error);\n self.postMessage({ready:false, error: message});\n }\n return;\n }\n \n if (ev.data.read) {\n const {offset, size, tag} = ev.data.read;\n\n if (!handle) {\n self.postMessage({tag, error: 'OPFS handle is not initialized'});\n return;\n }\n try {\n const tmp = new Uint8Array(size);\n const bytes = handle.read(tmp, {at: offset});\n self.postMessage({tag, bytes, buf: tmp.buffer}, [tmp.buffer]);\n } catch (error) {\n const message =\n (error && error.message) ? error.message : String(error);\n self.postMessage({tag, error: message});\n }\n }\n };\n "],{type:"application/javascript"});return{worker:new Worker(URL.createObjectURL(e),{type:"module"}),readyPromise:null,post:function(e){this.worker.postMessage(e)},get:function(){return this.worker}}},l.emscripten_ubq_opfs_destroyWorker=function(e){if(e){console.log("[OPFS Reader] Destroy worker");try{e.worker.terminate()}catch(e){console.warn("[OPFS] Failed to terminate worker",e)}}},l.emscripten_ubq_opfs_getCache=function(e){let t=l.emscripten_ubq_opfs_caches.get(e);return t||(t={chunkCache:new Map,accessOrder:[],currentSize:0,loadingChunks:new Set,file:null,openPromise:null,fileSize:-1,worker:null,workerOpened:!1,workerOpening:null},l.emscripten_ubq_opfs_caches.set(e,t)),t},l.emscripten_ubq_opfs_ensureFile=async function(e,t){if(t.fileHandle)return t.fileHandle;if(t.openPromise)return t.openPromise;const r=e.replace(/^opfs:\/\//,"");return t.openPromise=(async()=>{const e=await navigator.storage.getDirectory(),n=r.split("/").filter(Boolean);let o=e;for(let e=0;e<n.length-1;e++)o=await o.getDirectoryHandle(n[e]);const i=await o.getFileHandle(n[n.length-1]);t.fileHandle=i;const a=await i.getFile();return t.fileSize=a.size,i})(),t.openPromise},l.emscripten_ubq_opfs_ensureWorker=function(e,t){return t.worker||(t.worker=l.emscripten_ubq_opfs_createWorker()),t.worker},l.emscripten_ubq_opfs_updateAccess=function(e,t){const r=e.accessOrder.indexOf(t);-1!==r&&e.accessOrder.splice(r,1),e.accessOrder.push(t)},l.emscripten_ubq_opfs_cleanCache=function(e){const t=l.emscripten_ubq_opfs_MAX_CACHE_SIZE_BYTES;for(;e.currentSize>t&&e.accessOrder.length>0;){const t=e.accessOrder.shift(),r=e.chunkCache.get(t);r&&(e.currentSize-=r.byteLength,e.chunkCache.delete(t))}},l.emscripten_ubq_opfs_loadChunk=function(e,t,r){if(t.chunkCache.has(r)||t.loadingChunks.has(r))return void l.emscripten_ubq_opfs_updateAccess(t,r);t.loadingChunks.add(r);const n=l.emscripten_ubq_opfs_CHUNK_SIZE,o=r*n;l.emscripten_ubq_opfs_loadChunkViaWorker(e,t,r,o,n).catch(t=>{console.error(`[OPFS] Failed to load chunk ${r} for "${e}":`,t)}).finally(()=>{t.loadingChunks.delete(r)})},l.emscripten_ubq_opfs_loadChunkViaWorker=async function(e,t,r,n,o){const i=l.emscripten_ubq_opfs_ensureWorker(e,t);t.workerOpened||(t.workerOpening||(t.workerOpening=(async()=>{await l.emscripten_ubq_opfs_waitForWriteClose(e),await l.emscripten_ubq_opfs_ensureFile(e,t),i.post({open:!0,uri:e}),await new Promise((e,t)=>{const r=i.get(),n=o=>{o.data&&(!0===o.data.ready?(r.removeEventListener("message",n),e()):!1===o.data.ready&&(r.removeEventListener("message",n),t(new Error(o.data.error||"Failed to open OPFS worker handle"))))};r.addEventListener("message",n)}),t.workerOpened=!0})().finally(()=>{t.workerOpening=null})),await t.workerOpening);const a=await new Promise((e,t)=>{const r=++l.emscripten_ubq_opfs_readTagCounter,a=i.get(),s=n=>{if(n.data.tag===r){if(a.removeEventListener("message",s),n.data.error)return void t(new Error(n.data.error));n.data.buf?e(new Uint8Array(n.data.buf)):t(new Error("No buffer received"))}};a.addEventListener("message",s),i.post({read:{offset:n,size:o,tag:r}})});t.chunkCache.set(r,a),t.currentSize+=a.byteLength,l.emscripten_ubq_opfs_updateAccess(t,r),l.emscripten_ubq_opfs_cleanCache(t)},l.emscripten_ubq_opfs_getChunkDataAsync=async function(e,t,r,n,o){if(n<=0)return 0;const i=Y(e),a=4294967296*(r>>>0)+(t>>>0),s=l.emscripten_ubq_opfs_getCache(i),c=l.emscripten_ubq_opfs_ensureWorker(i,s);s.workerOpened||(s.workerOpening||(s.workerOpening=(async()=>{await l.emscripten_ubq_opfs_waitForWriteClose(i),await l.emscripten_ubq_opfs_ensureFile(i,s),c.post({open:!0,uri:i}),await new Promise((e,t)=>{const r=c.get(),n=o=>{o.data&&(!0===o.data.ready?(r.removeEventListener("message",n),e()):!1===o.data.ready&&(r.removeEventListener("message",n),t(new Error(o.data.error||"Failed to open OPFS worker handle"))))};r.addEventListener("message",n)}),s.workerOpened=!0})().finally(()=>{s.workerOpening=null})),await s.workerOpening);try{return await new Promise((e,t)=>{void 0===l.emscripten_ubq_opfs_readTagCounter&&(l.emscripten_ubq_opfs_readTagCounter=0);const r=++l.emscripten_ubq_opfs_readTagCounter,i=c.get(),s=a=>{if(a.data.tag===r){if(i.removeEventListener("message",s),a.data.error)return void t(new Error(a.data.error));a.data.buf&&l.HEAPU8.set(new Uint8Array(a.data.buf),o),a.data.bytes===n?e(n):t(new Error("short read"))}};i.addEventListener("message",s),c.post({read:{offset:a,size:n,ptr:o,tag:r}})})}catch(e){return console.error("[OPFS] worker read failed:",e),-1}},l.emscripten_ubq_opfs_loadChunkAsync=async function(e,t,r){if(t.chunkCache.has(r))return void l.emscripten_ubq_opfs_updateAccess(t,r);if(t.loadingChunks.has(r))return;t.loadingChunks.add(r);const n=l.emscripten_ubq_opfs_CHUNK_SIZE,o=r*n,i=o+n;try{await l.emscripten_ubq_opfs_waitForWriteClose(e);const n=await l.emscripten_ubq_opfs_ensureFile(e,t),a=(await n.getFile()).slice(o,i),s=await a.arrayBuffer(),c=new Uint8Array(s);t.chunkCache.set(r,c),t.currentSize+=c.byteLength,l.emscripten_ubq_opfs_updateAccess(t,r),l.emscripten_ubq_opfs_cleanCache(t)}catch(t){throw console.error(`[OPFS] Async Failed to load chunk ${r} for "${e}":`,t),t}finally{t.loadingChunks.delete(r)}},"object"==typeof window&&"object"==typeof window.performance?l.performance=performance:"object"==typeof global&&"object"==typeof global.perf_hooks&&"object"==typeof global.perf_hooks.performance?l.performance=global.perf_hooks.performance:l.performance={mark:function(){},measure:function(){}},(i=t||(t={}))[i.PENDING=0]="PENDING",i[i.FINISHED=1]="FINISHED",i[i.ALLOCATED=2]="ALLOCATED",i[i.ERROR=3]="ERROR",(s=a||(a={}))[s.GET=0]="GET",s[s.POST=1]="POST",s[s.HEAD=2]="HEAD";class FetchProcess{constructor(e,r){this.state=t.PENDING,this.statusCode=-1,this.totalBytes=0,this.receivedLength=0,this.handle=e,this.uri=r,this.abortController=new AbortController,this.abortSignal=this.abortController.signal}async readChunks(e,t){let r=0;const n=[],o=e=>{n.push(e),r+=e.length,this.receivedLength=r};if(null==e);else if("getReader"in e){const n=e.getReader();for(;;){const{done:e,value:i}=await n.read();if(e)break;if(this.abortSignal.aborted)throw await n.cancel(),n.releaseLock(),new Error(this.abortSignal.reason);if(void 0!==t&&r+i.length>t){const e=t-r;e>0&&o(i.subarray(0,e)),await n.cancel(),n.releaseLock();break}if(o(i),void 0!==t&&r>=t){await n.cancel(),n.releaseLock();break}}(void 0===t||r<t)&&n.releaseLock()}else{const n=()=>e.destroy(new Error(this.abortSignal.reason));this.abortSignal.addEventListener("abort",n,{once:!0});try{await new Promise((n,i)=>{let a=!1;const s=()=>{e.off("data",d),e.off("end",l),e.off("error",c)},l=()=>{a||(a=!0,s(),n())},c=e=>{a||(a=!0,s(),i(e))},d=i=>{if(!a){if(void 0!==t&&r+i.length>t){const l=t-r;return l>0&&o(i.subarray(0,l)),a=!0,s(),e.destroy(),void n()}o(i),void 0!==t&&r>=t&&(a=!0,s(),e.destroy(),n())}};e.on("data",d),e.on("end",l),e.on("error",c)})}finally{this.abortSignal.removeEventListener("abort",n)}}const i=new Uint8Array(r);let a=0;for(const e of n)i.set(e,a),a+=e.length;return this.finish(i)}abort(){this.isPending()&&this.abortController.abort("Fetch aborted")}isPending(){return this.state===t.PENDING}isError(){return this.state===t.ERROR}isFinished(){return this.state===t.FINISHED}isAllocated(){return this.state===t.ALLOCATED}allocate(){if(this.isAllocated())return this;if(this.isFinished()){const e=this.result.length,r=l._malloc(e);l.HEAPU8.set(this.result,r);const n=Object.assign(Object.assign({},this),{state:t.ALLOCATED,resultAddress:r,resultLength:e});return Object.assign(this,n),n}return null}finish(e){const r=Object.assign(Object.assign({},this),{state:t.FINISHED,result:e,totalBytes:this.totalBytes>0?this.totalBytes:e.length});return Object.assign(this,r)}fail(e){const r=Object.assign(Object.assign({},this),{state:t.ERROR,error:e});return Object.assign(this,r)}}l.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,n,o,i,a,s,c){const d=l.UTF8ToString(t,r),u=this._nextHandle++,p=new FetchProcess(u,d);return this._processes.set(u,p),d.match(/^file:/)?this._fetchFile(p).catch(e=>{p.fail(e)}):this._fetchRemote(p,e,n,o,i,a,s,c).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=y("fs"),{fileURLToPath:r}=y("url"),n=t.createReadStream(r(e.uri));return e.readChunks(n)}async _fetchRemote(e,t,r,n,o,i,s,c){const d=l.UTF8ToString(s,c),u=this.getHeaders(r,n),p="Range"in u;let h,g,f;if(u.Range){const e=u.Range.match(/bytes=(\d+)-(\d+)/);e&&(g=parseInt(e[1],10),f=parseInt(e[2],10),h=f-g+1)}const m=0===g&&void 0!==h&&h<=64,b=t===a.POST?new Uint8Array(new Uint8Array(l.HEAPU8.buffer,o,i)):void 0,y={method:a[t],headers:u,body:b,mode:"cors",credentials:d,signal:e.abortSignal,redirect:p?"manual":"follow"};let v=await this._fetch(e.uri,y);if(p){let t=0;for(;v.status>=300&&v.status<400;){const r=v.headers.get("Location");if(!r)return e.fail("Redirect without Location header");const n=new URL(r,v.url).href;if(t+=1,t>10)return e.fail("Too many redirects");v=await this._fetch(n,y)}if("opaqueredirect"===v.type)return e.fail("Opaque redirect while preserving Range header")}if(e.statusCode=v.status,v.status>=200&&v.status<=209){let r=0;if(206===v.status&&v.headers.has("Content-Range")){const e=v.headers.get("Content-Range").match(/\/(\d+|\*)/);e&&"*"!==e[1]&&(r=parseInt(e[1],10))}return 0===r&&v.headers.has("Content-Length")&&(r=+v.headers.get("Content-Length")),e.totalBytes=r,t===a.HEAD?e.finish(new Uint8Array(0)):(p&&200===v.status&&!m&&(h=void 0),e.readChunks(v.body,h))}if(416===v.status){if(v.headers.has("Content-Range")){const t=v.headers.get("Content-Range").match(/\/(\d+)/);if(t){const r=parseInt(t[1],10);e.totalBytes=r}}return e.fail("416 Range Not Satisfiable")}return e.fail(v.statusText)}getHeaders(e,t){const r={};for(let n=0;n<t;n++){const t=l.getValue(e+4*n,"i32"),o=this._headers.get(t);r[o.key]=o.value}return r}createHeader(e,t,r,n){const o=l.UTF8ToString(e,t),i=l.UTF8ToString(r,n),a=this._nextHeaderHandle++;return this._headers.set(a,{key:o,value:i}),a}deleteHeader(e){return this._headers.delete(e)}},l.emscripten_ubq_opfs_writerCaches||(l.emscripten_ubq_opfs_writerCaches=new Map),l.emscripten_ubq_opfs_createWriterWorker=function(){const e=new Blob(["\n let handle = null;\n let currentUri = '';\n\n async function ensureWritableFileHandle(uri) {\n const path = uri.replace(/^opfs:\\/\\//, '');\n const parts = path.split('/').filter(Boolean);\n let dir = await navigator.storage.getDirectory();\n for (let i = 0; i < parts.length - 1; i++) {\n dir = await dir.getDirectoryHandle(parts[i], { create: true });\n }\n return dir.getFileHandle(parts[parts.length - 1], { create: true });\n }\n\n self.onmessage = async (ev) => {\n if (ev.data.open) {\n if (handle) {\n try {\n await handle.flush();\n handle.close();\n } catch (e) {\n console.warn('[OPFS Writer] Failed to close previous handle', e);\n }\n }\n try {\n currentUri = ev.data.uri || '';\n const fh = await ensureWritableFileHandle(currentUri);\n handle = await fh.createSyncAccessHandle({ mode: 'readwrite' });\n try {\n // Ensure we start from a clean slate; truncate to zero\n handle.truncate(0);\n } catch (e) {\n // Some browsers might not support truncate; ignore\n }\n // Debug logs removed\n self.postMessage({ ready: true });\n } catch (err) {\n console.error('[OPFS Writer] Failed to open SyncAccessHandle', err);\n handle = null;\n const message = (err && err.message) ? err.message : String(err);\n self.postMessage({ ready: false, error: message });\n }\n return;\n }\n\n if (ev.data.write) {\n const { offset, buf, tag } = ev.data.write;\n try {\n if (!handle) throw new Error('OPFS writer handle not initialized');\n const bytes = new Uint8Array(buf);\n // Debug logs removed\n handle.write(bytes, { at: offset });\n // Debug logs removed\n self.postMessage({ tag });\n } catch (e) {\n self.postMessage({ tag, error: e.toString() });\n }\n return;\n }\n\n if (ev.data.close) {\n try {\n // Debug logs removed\n await handle.flush();\n handle.close();\n } catch (e) {\n // ignore\n }\n self.postMessage({ closed: true });\n }\n };\n "],{type:"application/javascript"}),t=new Worker(URL.createObjectURL(e),{type:"module"});return{worker:t,post:e=>t.postMessage(e),get:()=>t}},l.emscripten_ubq_opfs_destroyWriterWorker=function(e){if(e)try{e.worker.terminate()}catch(e){}},l.emscripten_ubq_opfs_ensureWriteFile=async function(e,t){if(t.fileHandle)return t.fileHandle;if(t.openPromise)return t.openPromise;const r=e.replace(/^opfs:\/\//,"");return t.openPromise=(async()=>{const e=await navigator.storage.getDirectory(),n=r.split("/").filter(Boolean);let o=e;for(let e=0;e<n.length-1;e++){const t=n[e];o=await o.getDirectoryHandle(t,{create:!0})}const i=await o.getFileHandle(n[n.length-1],{create:!0});return t.fileHandle=i,i})(),t.openPromise},l.emscripten_ubq_opfs_ensureWriteWorker=function(e,t){return t.worker||(t.worker=l.emscripten_ubq_opfs_createWriterWorker()),t.worker};var p=[],h="./this.program",g=(e,t)=>{throw t};void 0!==n?r=n:d&&(r=self.location.href);var f,m,b="";if(u){var v=y("node:fs");b=o+"/",m=e=>(e=x(e)?new URL(e):e,v.readFileSync(e)),f=async(e,t=!0)=>(e=x(e)?new URL(e):e,v.readFileSync(e,t?void 0:"utf8")),process.argv.length>1&&(h=process.argv[1].replace(/\\/g,"/")),p=process.argv.slice(2),g=(e,t)=>{throw process.exitCode=e,t}}else if(c||d){try{b=new URL(".",r).href}catch{}d&&(m=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),f=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)}}var w,k,_,S,E=console.log.bind(console),C=console.error.bind(console),T=!1,x=e=>e.startsWith("file://");class EmscriptenEH{}class EmscriptenSjLj extends EmscriptenEH{}var P,A,F,M,I,D,R,B,L,O,U,q=!1;function W(){var e=z.buffer;I=new Int8Array(e),A=new Int16Array(e),l.HEAPU8=U=new Uint8Array(e),l.HEAPU16=B=new Uint16Array(e),F=new Int32Array(e),l.HEAPU32=L=new Uint32Array(e),l.HEAPF32=D=new Float32Array(e),l.HEAPF64=R=new Float64Array(e),M=new BigInt64Array(e),O=new BigUint64Array(e)}function H(e){l.onAbort?.(e),C(e=`Aborted(${e})`),T=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw S?.(t),t}function $(){return e="cesdk.wasm",l.locateFile?l.locateFile(e,b):b+e;var e}async function N(e){if(!w)try{var t=await f(e);return new Uint8Array(t)}catch{}return function(e){if(e==P&&w)return new Uint8Array(w);if(m)return m(e);throw"both async and sync fetching of the wasm failed"}(e)}async function V(e,t,r){if(!e&&!u)try{var n=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,r)}catch(e){C(`wasm streaming compile failed: ${e}`),C("falling back to ArrayBuffer instantiation")}return async function(e,t){try{var r=await N(e);return await WebAssembly.instantiate(r,t)}catch(e){C(`failed to asynchronously prepare wasm: ${e}`),H(e)}}(t,r)}class ExitStatus{name="ExitStatus";constructor(e){this.message=`Program terminated with exit(${e})`,this.status=e}}var z,G=globalThis.TextDecoder&&new TextDecoder,j=(e,t,r,n)=>{var o=t+r;if(n)return o;for(;e[t]&&!(t>=o);)++t;return t},X=(e,t=0,r,n)=>{var o=j(e,t,r,n);if(o-t>16&&e.buffer&&G)return G.decode(e.subarray(t,o));for(var i="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var l=63&e[t++];if((a=224==(240&a)?(15&a)<<12|s<<6|l:(7&a)<<18|s<<12|l<<6|63&e[t++])<65536)i+=String.fromCharCode(a);else{var c=a-65536;i+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else i+=String.fromCharCode((31&a)<<6|s)}else i+=String.fromCharCode(a)}return i},Y=(e,t,r)=>e?X(U,e,t,r):"",K=e=>{for(;e.length>0;)e.shift()(l)},Q=[],Z=e=>Q.push(e),J=[],ee=e=>J.push(e),te=!0,re=e=>Dn(e),ne=()=>Bn(),oe=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n<=127?t++:n<=2047?t+=2:n>=55296&&n<=57343?(t+=4,++r):t+=3}return t},ie=(e,t,r,n)=>{if(!(n>0))return 0;for(var o=r,i=r+n-1,a=0;a<e.length;++a){var s=e.codePointAt(a);if(s<=127){if(r>=i)break;t[r++]=s}else if(s<=2047){if(r+1>=i)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=i)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=i)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s,a++}}return t[r]=0,r-o},ae=(e,t,r)=>ie(e,U,t,r),se=e=>{var t=oe(e)+1,r=Tn(t);return r&&ae(e,r,t),r},le=[],ce=e=>(setTempRet0(0),0);class ExceptionInfo{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){L[this.ptr+4>>2]=e}get_type(){return L[this.ptr+4>>2]}set_destructor(e){L[this.ptr+8>>2]=e}get_destructor(){return L[this.ptr+8>>2]}set_caught(e){e=e?1:0,I[this.ptr+12]=e}get_caught(){return 0!=I[this.ptr+12]}set_rethrown(e){e=e?1:0,I[this.ptr+13]=e}get_rethrown(){return 0!=I[this.ptr+13]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){L[this.ptr+16>>2]=e}get_adjusted_ptr(){return L[this.ptr+16>>2]}}var de={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,n=e.length-1;n>=0;n--){var o=e[n];"."===o?e.splice(n,1):".."===o?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=de.isAbs(e),r="/"===e.slice(-1);return(e=de.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=de.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.slice(0,-1)),r+n):"."},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>de.normalize(e.join("/")),join2:(e,t)=>de.normalize(e+"/"+t)},ue=e=>(ue=e=>(crypto.getRandomValues(e),0))(e),pe={resolve:(...e)=>{for(var t="",r=!1,n=e.length-1;n>=-1&&!r;n--){var o=n>=0?e[n]:Pe.cwd();if("string"!=typeof o)throw new TypeError("Arguments to path.resolve must be strings");if(!o)return"";t=o+"/"+t,r=de.isAbs(o)}return(r?"/":"")+(t=de.normalizeArray(t.split("/").filter(e=>!!e),!r).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).slice(1),t=pe.resolve(t).slice(1);for(var n=r(e.split("/")),o=r(t.split("/")),i=Math.min(n.length,o.length),a=i,s=0;s<i;s++)if(n[s]!==o[s]){a=s;break}var l=[];for(s=a;s<n.length;s++)l.push("..");return(l=l.concat(o.slice(a))).join("/")}},he=[],ge=(e,t,r)=>{var n=r>0?r:oe(e)+1,o=new Array(n),i=ie(e,o,0,o.length);return t&&(o.length=i),o},fe={ttys:[],init(){},shutdown(){},register(e,t){fe.ttys[e]={input:[],output:[],ops:t},Pe.registerDevice(e,fe.stream_ops)},stream_ops:{open(e){var t=fe.ttys[e.node.rdev];if(!t)throw new Pe.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,n,o){if(!e.tty||!e.tty.ops.get_char)throw new Pe.ErrnoError(60);for(var i=0,a=0;a<n;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(e){throw new Pe.ErrnoError(29)}if(void 0===s&&0===i)throw new Pe.ErrnoError(6);if(null==s)break;i++,t[r+a]=s}return i&&(e.node.atime=Date.now()),i},write(e,t,r,n,o){if(!e.tty||!e.tty.ops.put_char)throw new Pe.ErrnoError(60);try{for(var i=0;i<n;i++)e.tty.ops.put_char(e.tty,t[r+i])}catch(e){throw new Pe.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),i}},default_tty_ops:{get_char:e=>(()=>{if(!he.length){var e=null;if(u){var t=Buffer.alloc(256),r=0,n=process.stdin.fd;try{r=v.readSync(n,t,0,256)}catch(e){if(!e.toString().includes("EOF"))throw e;r=0}r>0&&(e=t.slice(0,r).toString("utf-8"))}else globalThis.window?.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n");if(!e)return null;he=ge(e,!0)}return he.shift()})(),put_char(e,t){null===t||10===t?(E(X(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output?.length>0&&(E(X(e.output)),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?(C(X(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output?.length>0&&(C(X(e.output)),e.output=[])}}},me=(e,t)=>Math.ceil(e/t)*t,be=e=>{e=me(e,65536);var t=Mn(65536,e);return t&&((e,t)=>{U.fill(0,e,e+t)})(t,e),t},ye={ops_table:null,mount:e=>ye.createNode(null,"/",16895,0),createNode(e,t,r,n){if(Pe.isBlkdev(r)||Pe.isFIFO(r))throw new Pe.ErrnoError(63);ye.ops_table||={dir:{node:{getattr:ye.node_ops.getattr,setattr:ye.node_ops.setattr,lookup:ye.node_ops.lookup,mknod:ye.node_ops.mknod,rename:ye.node_ops.rename,unlink:ye.node_ops.unlink,rmdir:ye.node_ops.rmdir,readdir:ye.node_ops.readdir,symlink:ye.node_ops.symlink},stream:{llseek:ye.stream_ops.llseek}},file:{node:{getattr:ye.node_ops.getattr,setattr:ye.node_ops.setattr},stream:{llseek:ye.stream_ops.llseek,read:ye.stream_ops.read,write:ye.stream_ops.write,mmap:ye.stream_ops.mmap,msync:ye.stream_ops.msync}},link:{node:{getattr:ye.node_ops.getattr,setattr:ye.node_ops.setattr,readlink:ye.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ye.node_ops.getattr,setattr:ye.node_ops.setattr},stream:Pe.chrdev_stream_ops}};var o=Pe.createNode(e,t,r,n);return Pe.isDir(o.mode)?(o.node_ops=ye.ops_table.dir.node,o.stream_ops=ye.ops_table.dir.stream,o.contents={}):Pe.isFile(o.mode)?(o.node_ops=ye.ops_table.file.node,o.stream_ops=ye.ops_table.file.stream,o.usedBytes=0,o.contents=ye.emptyFileContents??=new Uint8Array(0)):Pe.isLink(o.mode)?(o.node_ops=ye.ops_table.link.node,o.stream_ops=ye.ops_table.link.stream):Pe.isChrdev(o.mode)&&(o.node_ops=ye.ops_table.chrdev.node,o.stream_ops=ye.ops_table.chrdev.stream),o.atime=o.mtime=o.ctime=Date.now(),e&&(e.contents[t]=o,e.atime=e.mtime=e.ctime=o.atime),o},getFileDataAsTypedArray:e=>e.contents.subarray(0,e.usedBytes),expandFileStorage(e,t){var r=e.contents.length;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),r&&(t=Math.max(t,256));var n=ye.getFileDataAsTypedArray(e);e.contents=new Uint8Array(t),e.contents.set(n)}},resizeFileStorage(e,t){if(e.usedBytes!=t){var r=e.contents;e.contents=new Uint8Array(t),e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=Pe.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,Pe.isDir(e.mode)?t.size=4096:Pe.isFile(e.mode)?t.size=e.usedBytes:Pe.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.atime),t.mtime=new Date(e.mtime),t.ctime=new Date(e.ctime),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){for(const r of["mode","atime","mtime","ctime"])null!=t[r]&&(e[r]=t[r]);void 0!==t.size&&ye.resizeFileStorage(e,t.size)},lookup(e,t){throw ye.doesNotExistError||(ye.doesNotExistError=new Pe.ErrnoError(44),ye.doesNotExistError.stack="<generic error, no stack>"),ye.doesNotExistError},mknod:(e,t,r,n)=>ye.createNode(e,t,r,n),rename(e,t,r){var n;try{n=Pe.lookupNode(t,r)}catch(e){}if(n){if(Pe.isDir(e.mode))for(var o in n.contents)throw new Pe.ErrnoError(55);Pe.hashRemoveNode(n)}delete e.parent.contents[e.name],t.contents[r]=e,e.name=r,t.ctime=t.mtime=e.parent.ctime=e.parent.mtime=Date.now()},unlink(e,t){delete e.contents[t],e.ctime=e.mtime=Date.now()},rmdir(e,t){var r=Pe.lookupNode(e,t);for(var n in r.contents)throw new Pe.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.contents)],symlink(e,t,r){var n=ye.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!Pe.isLink(e.mode))throw new Pe.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,o){var i=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,n);return t.set(i.subarray(o,o+a),r),a},write(e,t,r,n,o,i){if(t.buffer===I.buffer&&(i=!1),!n)return 0;var a=e.node;return a.mtime=a.ctime=Date.now(),i?(a.contents=t.subarray(r,r+n),a.usedBytes=n):0===a.usedBytes&&0===o?(a.contents=t.slice(r,r+n),a.usedBytes=n):(ye.expandFileStorage(a,o+n),a.contents.set(t.subarray(r,r+n),o),a.usedBytes=Math.max(a.usedBytes,o+n)),n},llseek(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&Pe.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new Pe.ErrnoError(28);return n},mmap(e,t,r,n,o){if(!Pe.isFile(e.node.mode))throw new Pe.ErrnoError(43);var i,a,s=e.node.contents;if(2&o||s.buffer!==I.buffer){if(a=!0,!(i=be(t)))throw new Pe.ErrnoError(48);s&&((r>0||r+t<s.length)&&(s=s.subarray?s.subarray(r,r+t):Array.prototype.slice.call(s,r,r+t)),I.set(s,i))}else a=!1,i=s.byteOffset;return{ptr:i,allocated:a}},msync:(e,t,r,n,o)=>(ye.stream_ops.write(e,t,0,n,r,!1),0)}},ve=e=>("string"==typeof e&&(e=ge(e,!0)),e.subarray||(e=new Uint8Array(e)),e),we=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ke=(...e)=>Pe.createDataFile(...e),_e=0,Se=null,Ee=e=>{if(_e--,l.monitorRunDependencies?.(_e),0==_e&&Se){var t=Se;Se=null,t()}},Ce=e=>{_e++,l.monitorRunDependencies?.(_e)},Te=[],xe=async(e,t,r,n,o,i,a,s)=>{var l=t?pe.resolve(de.join2(e,t)):e;Ce();try{var c=r;"string"==typeof r&&(c=await(async e=>{var t=await f(e);return new Uint8Array(t)})(r)),c=await(async(e,t)=>{for(var r of(void 0!==or&&or.init(),Te))if(r.canHandle(t))return r.handle(e,t);return e})(c,l),s?.(),i||ke(e,t,c,n,o,a)}finally{Ee()}},Pe={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{name="ErrnoError";constructor(e){this.errno=e}},FSStream:class{shared={};get object(){return this.node}set object(e){this.node=e}get isRead(){return 1!=(2097155&this.flags)}get isWrite(){return!!(2097155&this.flags)}get isAppend(){return 1024&this.flags}get flags(){return this.shared.flags}set flags(e){this.shared.flags=e}get position(){return this.shared.position}set position(e){this.shared.position=e}},FSNode:class{node_ops={};stream_ops={};readMode=365;writeMode=146;mounted=null;constructor(e,t,r,n){e||(e=this),this.parent=e,this.mount=e.mount,this.id=Pe.nextInode++,this.name=t,this.mode=r,this.rdev=n,this.atime=this.mtime=this.ctime=Date.now()}get read(){return(this.mode&this.readMode)===this.readMode}set read(e){e?this.mode|=this.readMode:this.mode&=~this.readMode}get write(){return(this.mode&this.writeMode)===this.writeMode}set write(e){e?this.mode|=this.writeMode:this.mode&=~this.writeMode}get isFolder(){return Pe.isDir(this.mode)}get isDevice(){return Pe.isChrdev(this.mode)}},lookupPath(e,t={}){if(!e)throw new Pe.ErrnoError(44);t.follow_mount??=!0,de.isAbs(e)||(e=Pe.cwd()+"/"+e);e:for(var r=0;r<40;r++){for(var n=e.split("/").filter(e=>!!e),o=Pe.root,i="/",a=0;a<n.length;a++){var s=a===n.length-1;if(s&&t.parent)break;if("."!==n[a])if(".."!==n[a]){i=de.join2(i,n[a]);try{o=Pe.lookupNode(o,n[a])}catch(e){if(44===e?.errno&&s&&t.noent_okay)return{path:i};throw e}if(!Pe.isMountpoint(o)||s&&!t.follow_mount||(o=o.mounted.root),Pe.isLink(o.mode)&&(!s||t.follow)){if(!o.node_ops.readlink)throw new Pe.ErrnoError(52);var l=o.node_ops.readlink(o);de.isAbs(l)||(l=de.dirname(i)+"/"+l),e=l+"/"+n.slice(a+1).join("/");continue e}}else{if(i=de.dirname(i),Pe.isRoot(o)){e=i+"/"+n.slice(a+1).join("/"),r--;continue e}o=o.parent}}return{path:i,node:o}}throw new Pe.ErrnoError(32)},getPath(e){for(var t;;){if(Pe.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,n=0;n<t.length;n++)r=(r<<5)-r+t.charCodeAt(n)|0;return(e+r>>>0)%Pe.nameTable.length},hashAddNode(e){var t=Pe.hashName(e.parent.id,e.name);e.name_next=Pe.nameTable[t],Pe.nameTable[t]=e},hashRemoveNode(e){var t=Pe.hashName(e.parent.id,e.name);if(Pe.nameTable[t]===e)Pe.nameTable[t]=e.name_next;else for(var r=Pe.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=Pe.mayLookup(e);if(r)throw new Pe.ErrnoError(r);for(var n=Pe.hashName(e.id,t),o=Pe.nameTable[n];o;o=o.name_next){var i=o.name;if(o.parent.id===e.id&&i===t)return o}return Pe.lookup(e,t)},createNode(e,t,r,n){var o=new Pe.FSNode(e,t,r,n);return Pe.hashAddNode(o),o},destroyNode(e){Pe.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString(e){var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>Pe.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!Pe.isDir(e.mode))return 54;var t=Pe.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){if(!Pe.isDir(e.mode))return 54;try{return Pe.lookupNode(e,t),20}catch(e){}return Pe.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=Pe.lookupNode(e,t)}catch(e){return e.errno}var o=Pe.nodePermissions(e,"wx");if(o)return o;if(r){if(!Pe.isDir(n.mode))return 54;if(Pe.isRoot(n)||Pe.getPath(n)===Pe.cwd())return 10}else if(Pe.isDir(n.mode))return 31;return 0},mayOpen(e,t){if(!e)return 44;if(Pe.isLink(e.mode))return 32;var r=Pe.flagsToPermissionString(t);return Pe.isDir(e.mode)&&("r"!==r||576&t)?31:Pe.nodePermissions(e,r)},checkOpExists(e,t){if(!e)throw new Pe.ErrnoError(t);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=Pe.MAX_OPEN_FDS;e++)if(!Pe.streams[e])return e;throw new Pe.ErrnoError(33)},getStreamChecked(e){var t=Pe.getStream(e);if(!t)throw new Pe.ErrnoError(8);return t},getStream:e=>Pe.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new Pe.FSStream,e),-1==t&&(t=Pe.nextfd()),e.fd=t,Pe.streams[t]=e,e),closeStream(e){Pe.streams[e]=null},dupStream(e,t=-1){var r=Pe.createStream(e,t);return r.stream_ops?.dup?.(r),r},doSetAttr(e,t,r){var n=e?.stream_ops.setattr,o=n?e:t;n??=t.node_ops.setattr,Pe.checkOpExists(n,63);try{n(o,r)}catch(e){if(e instanceof RangeError)throw new Pe.ErrnoError(22);throw e}},chrdev_stream_ops:{open(e){var t=Pe.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new Pe.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){Pe.devices[e]={stream_ops:t}},getDevice:e=>Pe.devices[e],getMounts(e){for(var t=[],r=[e];r.length;){var n=r.pop();t.push(n),r.push(...n.mounts)}return t},syncfs(e,t){"function"==typeof e&&(t=e,e=!1),Pe.syncFSRequests++,Pe.syncFSRequests>1&&C(`warning: ${Pe.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=Pe.getMounts(Pe.root.mount),n=0;function o(e){return Pe.syncFSRequests--,t(e)}function i(e){if(e)return i.errored?void 0:(i.errored=!0,o(e));++n>=r.length&&o(null)}for(var a of r)a.type.syncfs?a.type.syncfs(a,e,i):i(null)},mount(e,t,r){var n,o="/"===r,i=!r;if(o&&Pe.root)throw new Pe.ErrnoError(10);if(!o&&!i){var a=Pe.lookupPath(r,{follow_mount:!1});if(r=a.path,n=a.node,Pe.isMountpoint(n))throw new Pe.ErrnoError(10);if(!Pe.isDir(n.mode))throw new Pe.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(s);return l.mount=s,s.root=l,o?Pe.root=l:n&&(n.mounted=s,n.mount&&n.mount.mounts.push(s)),l},unmount(e){var t=Pe.lookupPath(e,{follow_mount:!1});if(!Pe.isMountpoint(t.node))throw new Pe.ErrnoError(28);var r=t.node,n=r.mounted,o=Pe.getMounts(n);for(var[i,a]of Object.entries(Pe.nameTable))for(;a;){var s=a.name_next;o.includes(a.mount)&&Pe.destroyNode(a),a=s}r.mounted=null;var l=r.mount.mounts.indexOf(n);r.mount.mounts.splice(l,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=Pe.lookupPath(e,{parent:!0}).node,o=de.basename(e);if(!o)throw new Pe.ErrnoError(28);if("."===o||".."===o)throw new Pe.ErrnoError(20);var i=Pe.mayCreate(n,o);if(i)throw new Pe.ErrnoError(i);if(!n.node_ops.mknod)throw new Pe.ErrnoError(63);return n.node_ops.mknod(n,o,t,r)},statfs:e=>Pe.statfsNode(Pe.lookupPath(e,{follow:!0}).node),statfsStream:e=>Pe.statfsNode(e.node),statfsNode(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:Pe.nextInode,ffree:Pe.nextInode-1,fsid:42,flags:2,namelen:255};return e.node_ops.statfs&&Object.assign(t,e.node_ops.statfs(e.mount.opts.root)),t},create:(e,t=438)=>(t&=4095,t|=32768,Pe.mknod(e,t,0)),mkdir:(e,t=511)=>(t&=1023,t|=16384,Pe.mknod(e,t,0)),mkdirTree(e,t){var r=e.split("/"),n="";for(var o of r)if(o){(n||de.isAbs(e))&&(n+="/"),n+=o;try{Pe.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,Pe.mknod(e,t,r)),symlink(e,t){if(!pe.resolve(e))throw new Pe.ErrnoError(44);var r=Pe.lookupPath(t,{parent:!0}).node;if(!r)throw new Pe.ErrnoError(44);var n=de.basename(t),o=Pe.mayCreate(r,n);if(o)throw new Pe.ErrnoError(o);if(!r.node_ops.symlink)throw new Pe.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,o=de.dirname(e),i=de.dirname(t),a=de.basename(e),s=de.basename(t);if(r=Pe.lookupPath(e,{parent:!0}).node,n=Pe.lookupPath(t,{parent:!0}).node,!r||!n)throw new Pe.ErrnoError(44);if(r.mount!==n.mount)throw new Pe.ErrnoError(75);var l,c=Pe.lookupNode(r,a),d=pe.relative(e,i);if("."!==d.charAt(0))throw new Pe.ErrnoError(28);if("."!==(d=pe.relative(t,o)).charAt(0))throw new Pe.ErrnoError(55);try{l=Pe.lookupNode(n,s)}catch(e){}if(c!==l){var u=Pe.isDir(c.mode),p=Pe.mayDelete(r,a,u);if(p)throw new Pe.ErrnoError(p);if(p=l?Pe.mayDelete(n,s,u):Pe.mayCreate(n,s))throw new Pe.ErrnoError(p);if(!r.node_ops.rename)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(c)||l&&Pe.isMountpoint(l))throw new Pe.ErrnoError(10);if(n!==r&&(p=Pe.nodePermissions(r,"w")))throw new Pe.ErrnoError(p);Pe.hashRemoveNode(c);try{r.node_ops.rename(c,n,s),c.parent=n}catch(e){throw e}finally{Pe.hashAddNode(c)}}},rmdir(e){var t=Pe.lookupPath(e,{parent:!0}).node,r=de.basename(e),n=Pe.lookupNode(t,r),o=Pe.mayDelete(t,r,!0);if(o)throw new Pe.ErrnoError(o);if(!t.node_ops.rmdir)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(n))throw new Pe.ErrnoError(10);t.node_ops.rmdir(t,r),Pe.destroyNode(n)},readdir(e){var t=Pe.lookupPath(e,{follow:!0}).node;return Pe.checkOpExists(t.node_ops.readdir,54)(t)},unlink(e){var t=Pe.lookupPath(e,{parent:!0}).node;if(!t)throw new Pe.ErrnoError(44);var r=de.basename(e),n=Pe.lookupNode(t,r),o=Pe.mayDelete(t,r,!1);if(o)throw new Pe.ErrnoError(o);if(!t.node_ops.unlink)throw new Pe.ErrnoError(63);if(Pe.isMountpoint(n))throw new Pe.ErrnoError(10);t.node_ops.unlink(t,r),Pe.destroyNode(n)},readlink(e){var t=Pe.lookupPath(e).node;if(!t)throw new Pe.ErrnoError(44);if(!t.node_ops.readlink)throw new Pe.ErrnoError(28);return t.node_ops.readlink(t)},stat(e,t){var r=Pe.lookupPath(e,{follow:!t}).node;return Pe.checkOpExists(r.node_ops.getattr,63)(r)},fstat(e){var t=Pe.getStreamChecked(e),r=t.node,n=t.stream_ops.getattr,o=n?t:r;return n??=r.node_ops.getattr,Pe.checkOpExists(n,63),n(o)},lstat:e=>Pe.stat(e,!0),doChmod(e,t,r,n){Pe.doSetAttr(e,t,{mode:4095&r|-4096&t.mode,ctime:Date.now(),dontFollow:n})},chmod(e,t,r){var n;n="string"==typeof e?Pe.lookupPath(e,{follow:!r}).node:e,Pe.doChmod(null,n,t,r)},lchmod(e,t){Pe.chmod(e,t,!0)},fchmod(e,t){var r=Pe.getStreamChecked(e);Pe.doChmod(r,r.node,t,!1)},doChown(e,t,r){Pe.doSetAttr(e,t,{timestamp:Date.now(),dontFollow:r})},chown(e,t,r,n){var o;o="string"==typeof e?Pe.lookupPath(e,{follow:!n}).node:e,Pe.doChown(null,o,n)},lchown(e,t,r){Pe.chown(e,t,r,!0)},fchown(e,t,r){var n=Pe.getStreamChecked(e);Pe.doChown(n,n.node,!1)},doTruncate(e,t,r){if(Pe.isDir(t.mode))throw new Pe.ErrnoError(31);if(!Pe.isFile(t.mode))throw new Pe.ErrnoError(28);var n=Pe.nodePermissions(t,"w");if(n)throw new Pe.ErrnoError(n);Pe.doSetAttr(e,t,{size:r,timestamp:Date.now()})},truncate(e,t){if(t<0)throw new Pe.ErrnoError(28);var r;r="string"==typeof e?Pe.lookupPath(e,{follow:!0}).node:e,Pe.doTruncate(null,r,t)},ftruncate(e,t){var r=Pe.getStreamChecked(e);if(t<0||!(2097155&r.flags))throw new Pe.ErrnoError(28);Pe.doTruncate(r,r.node,t)},utime(e,t,r){var n=Pe.lookupPath(e,{follow:!0}).node;Pe.checkOpExists(n.node_ops.setattr,63)(n,{atime:t,mtime:r})},open(e,t,r=438){if(""===e)throw new Pe.ErrnoError(44);var n,o;if(r=64&(t=(e=>{if("string"!=typeof e)return 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))?4095&r|32768:0,"object"==typeof e)n=e;else{o=e.endsWith("/");var i=Pe.lookupPath(e,{follow:!(131072&t),noent_okay:!0});n=i.node,e=i.path}var a=!1;if(64&t)if(n){if(128&t)throw new Pe.ErrnoError(20)}else{if(o)throw new Pe.ErrnoError(31);n=Pe.mknod(e,511|r,0),a=!0}if(!n)throw new Pe.ErrnoError(44);if(Pe.isChrdev(n.mode)&&(t&=-513),65536&t&&!Pe.isDir(n.mode))throw new Pe.ErrnoError(54);if(!a){var s=Pe.mayOpen(n,t);if(s)throw new Pe.ErrnoError(s)}512&t&&!a&&Pe.truncate(n,0),t&=-131713;var c=Pe.createStream({node:n,path:Pe.getPath(n),flags:t,seekable:!0,position:0,stream_ops:n.stream_ops,ungotten:[],error:!1});return c.stream_ops.open&&c.stream_ops.open(c),a&&Pe.chmod(n,511&r),!l.logReadFiles||1&t||e in Pe.readFiles||(Pe.readFiles[e]=1,C(`read file: ${e}`)),c},close(e){if(Pe.isClosed(e))throw new Pe.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{Pe.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new Pe.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new Pe.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,o){if(n<0||o<0)throw new Pe.ErrnoError(28);if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(1==(2097155&e.flags))throw new Pe.ErrnoError(8);if(Pe.isDir(e.node.mode))throw new Pe.ErrnoError(31);if(!e.stream_ops.read)throw new Pe.ErrnoError(28);var i=void 0!==o;if(i){if(!e.seekable)throw new Pe.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,n,o);return i||(e.position+=a),a},write(e,t,r,n,o,i){if(n<0||o<0)throw new Pe.ErrnoError(28);if(Pe.isClosed(e))throw new Pe.ErrnoError(8);if(!(2097155&e.flags))throw new Pe.ErrnoError(8);if(Pe.isDir(e.node.mode))throw new Pe.ErrnoError(31);if(!e.stream_ops.write)throw new Pe.ErrnoError(28);e.seekable&&1024&e.flags&&Pe.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new Pe.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,n,o,i);return a||(e.position+=s),s},mmap(e,t,r,n,o){if(2&n&&!(2&o)&&2!=(2097155&e.flags))throw new Pe.ErrnoError(2);if(1==(2097155&e.flags))throw new Pe.ErrnoError(2);if(!e.stream_ops.mmap)throw new Pe.ErrnoError(43);if(!t)throw new Pe.ErrnoError(28);return e.stream_ops.mmap(e,t,r,n,o)},msync:(e,t,r,n,o)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,o):0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new Pe.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){t.flags=t.flags??0,t.encoding=t.encoding??"binary","utf8"!==t.encoding&&"binary"!==t.encoding&&H(`Invalid encoding type "${t.encoding}"`);var r=Pe.open(e,t.flags),n=Pe.stat(e).size,o=new Uint8Array(n);return Pe.read(r,o,0,n,0),"utf8"===t.encoding&&(o=X(o)),Pe.close(r),o},writeFile(e,t,r={}){r.flags=r.flags??577;var n=Pe.open(e,r.flags,r.mode);t=ve(t),Pe.write(n,t,0,t.byteLength,void 0,r.canOwn),Pe.close(n)},cwd:()=>Pe.currentPath,chdir(e){var t=Pe.lookupPath(e,{follow:!0});if(null===t.node)throw new Pe.ErrnoError(44);if(!Pe.isDir(t.node.mode))throw new Pe.ErrnoError(54);var r=Pe.nodePermissions(t.node,"x");if(r)throw new Pe.ErrnoError(r);Pe.currentPath=t.path},createDefaultDirectories(){Pe.mkdir("/tmp"),Pe.mkdir("/home"),Pe.mkdir("/home/web_user")},createDefaultDevices(){Pe.mkdir("/dev"),Pe.registerDevice(Pe.makedev(1,3),{read:()=>0,write:(e,t,r,n,o)=>n,llseek:()=>0}),Pe.mkdev("/dev/null",Pe.makedev(1,3)),fe.register(Pe.makedev(5,0),fe.default_tty_ops),fe.register(Pe.makedev(6,0),fe.default_tty1_ops),Pe.mkdev("/dev/tty",Pe.makedev(5,0)),Pe.mkdev("/dev/tty1",Pe.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(ue(e),t=e.byteLength),e[--t]);Pe.createDevice("/dev","random",r),Pe.createDevice("/dev","urandom",r),Pe.mkdir("/dev/shm"),Pe.mkdir("/dev/shm/tmp")},createSpecialDirectories(){Pe.mkdir("/proc");var e=Pe.mkdir("/proc/self");Pe.mkdir("/proc/self/fd"),Pe.mount({mount(){var t=Pe.createNode(e,"fd",16895,73);return t.stream_ops={llseek:ye.stream_ops.llseek},t.node_ops={lookup(e,t){var r=+t,n=Pe.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:r+1};return o.parent=o,o},readdir:()=>Array.from(Pe.streams.entries()).filter(([e,t])=>t).map(([e,t])=>e.toString())},t}},{},"/proc/self/fd")},createStandardStreams(e,t,r){e?Pe.createDevice("/dev","stdin",e):Pe.symlink("/dev/tty","/dev/stdin"),t?Pe.createDevice("/dev","stdout",null,t):Pe.symlink("/dev/tty","/dev/stdout"),r?Pe.createDevice("/dev","stderr",null,r):Pe.symlink("/dev/tty1","/dev/stderr"),Pe.open("/dev/stdin",0),Pe.open("/dev/stdout",1),Pe.open("/dev/stderr",1)},staticInit(){Pe.nameTable=new Array(4096),Pe.mount(ye,{},"/"),Pe.createDefaultDirectories(),Pe.createDefaultDevices(),Pe.createSpecialDirectories(),Pe.filesystems={MEMFS:ye}},init(e,t,r){Pe.initialized=!0,e??=l.stdin,t??=l.stdout,r??=l.stderr,Pe.createStandardStreams(e,t,r)},quit(){for(var e of(Pe.initialized=!1,Pe.streams))e&&Pe.close(e)},findObject(e,t){var r=Pe.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(n=Pe.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 n=Pe.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=de.basename(e),n=Pe.lookupPath(e,{follow:!t}),r.exists=!0,r.path=n.path,r.object=n.node,r.name=n.node.name,r.isRoot="/"===n.path}catch(e){r.error=e.errno}return r},createPath(e,t,r,n){e="string"==typeof e?e:Pe.getPath(e);for(var o=t.split("/").reverse();o.length;){var i=o.pop();if(i){var a=de.join2(e,i);try{Pe.mkdir(a)}catch(e){if(20!=e.errno)throw e}e=a}}return a},createFile(e,t,r,n,o){var i=de.join2("string"==typeof e?e:Pe.getPath(e),t),a=we(n,o);return Pe.create(i,a)},createDataFile(e,t,r,n,o,i){var a=t;e&&(e="string"==typeof e?e:Pe.getPath(e),a=t?de.join2(e,t):e);var s=we(n,o),l=Pe.create(a,s);if(r){r=ve(r),Pe.chmod(l,146|s);var c=Pe.open(l,577);Pe.write(c,r,0,r.length,0,i),Pe.close(c),Pe.chmod(l,s)}},createDevice(e,t,r,n){var o=de.join2("string"==typeof e?e:Pe.getPath(e),t),i=we(!!r,!!n);Pe.createDevice.major??=64;var a=Pe.makedev(Pe.createDevice.major++,0);return Pe.registerDevice(a,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,t,n,o,i){for(var a=0,s=0;s<o;s++){var l;try{l=r()}catch(e){throw new Pe.ErrnoError(29)}if(void 0===l&&0===a)throw new Pe.ErrnoError(6);if(null==l)break;a++,t[n+s]=l}return a&&(e.node.atime=Date.now()),a},write(e,t,r,o,i){for(var a=0;a<o;a++)try{n(t[r+a])}catch(e){throw new Pe.ErrnoError(29)}return o&&(e.node.mtime=e.node.ctime=Date.now()),a}}),Pe.mkdev(o,i,a)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if(globalThis.XMLHttpRequest)H("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.");else try{e.contents=m(e.url)}catch(e){throw new Pe.ErrnoError(29)}},createLazyFile(e,t,r,n,o){class LazyUint8Array{lengthKnown=!1;chunks=[];get(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}}setDataGetter(e){this.getter=e}cacheLength(){var e=new XMLHttpRequest;e.open("HEAD",r,!1),e.send(null),e.status>=200&&e.status<300||304===e.status||H("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,i=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=n);var s=this;s.setDataGetter(e=>{var t=e*a,o=(e+1)*a-1;return o=Math.min(o,n-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,t)=>{e>t&&H(`invalid range (${e}, ${t}) or no bytes requested!`),t>n-1&&H(`only ${n} bytes available! programmer error!`);var o=new XMLHttpRequest;return o.open("GET",r,!1),n!==a&&o.setRequestHeader("Range","bytes="+e+"-"+t),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),o.status>=200&&o.status<300||304===o.status||H("Couldn't load "+r+". Status: "+o.status),void 0!==o.response?new Uint8Array(o.response||[]):ge(o.responseText??"",!0)})(t,o)),void 0===s.chunks[e]&&H("doXHR failed!"),s.chunks[e]}),!i&&n||(a=n=1,n=this.getter(0).length,a=n,E("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=a,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if(globalThis.XMLHttpRequest){d||H("Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc");var i={isDevice:!1,contents:new LazyUint8Array}}else i={isDevice:!1,url:r};var a=Pe.createFile(e,t,i,n,o);i.contents?a.contents=i.contents:i.url&&(a.contents=null,a.url=i.url),Object.defineProperties(a,{usedBytes:{get:function(){return this.contents.length}}});var s={};for(const[e,t]of Object.entries(a.stream_ops))s[e]=(...e)=>(Pe.forceLoadFile(a),t(...e));function l(e,t,r,n,o){var i=e.node.contents;if(o>=i.length)return 0;var a=Math.min(i.length-o,n);if(i.slice)for(var s=0;s<a;s++)t[r+s]=i[o+s];else for(s=0;s<a;s++)t[r+s]=i.get(o+s);return a}return s.read=(e,t,r,n,o)=>(Pe.forceLoadFile(a),l(e,t,r,n,o)),s.mmap=(e,t,r,n,o)=>{Pe.forceLoadFile(a);var i=be(t);if(!i)throw new Pe.ErrnoError(48);return l(e,I,i,t,r),{ptr:i,allocated:!0}},a.stream_ops=s,a}},Ae={currentUmask:18,calculateAt(e,t,r){if(de.isAbs(t))return t;var n;if(n=-100===e?Pe.cwd():Ae.getStreamFromFD(e).path,0==t.length){if(!r)throw new Pe.ErrnoError(44);return n}return n+"/"+t},writeStat(e,t){L[e>>2]=t.dev,L[e+4>>2]=t.mode,L[e+8>>2]=t.nlink,L[e+12>>2]=t.uid,L[e+16>>2]=t.gid,L[e+20>>2]=t.rdev,M[e+24>>3]=BigInt(t.size),F[e+32>>2]=4096,F[e+36>>2]=t.blocks;var r=t.atime.getTime(),n=t.mtime.getTime(),o=t.ctime.getTime();return M[e+40>>3]=BigInt(Math.floor(r/1e3)),L[e+48>>2]=r%1e3*1e3*1e3,M[e+56>>3]=BigInt(Math.floor(n/1e3)),L[e+64>>2]=n%1e3*1e3*1e3,M[e+72>>3]=BigInt(Math.floor(o/1e3)),L[e+80>>2]=o%1e3*1e3*1e3,M[e+88>>3]=BigInt(t.ino),0},writeStatFs(e,t){L[e+4>>2]=t.bsize,L[e+60>>2]=t.bsize,M[e+8>>3]=BigInt(t.blocks),M[e+16>>3]=BigInt(t.bfree),M[e+24>>3]=BigInt(t.bavail),M[e+32>>3]=BigInt(t.files),M[e+40>>3]=BigInt(t.ffree),L[e+48>>2]=t.fsid,L[e+64>>2]=t.flags,L[e+56>>2]=t.namelen},doMsync(e,t,r,n,o){if(!Pe.isFile(t.node.mode))throw new Pe.ErrnoError(43);if(2&n)return 0;var i=U.slice(e,e+r);Pe.msync(t,i,o,r,n)},getStreamFromFD:e=>Pe.getStreamChecked(e),varargs:void 0,getStr:e=>Y(e)},Fe=()=>{var e=F[+Ae.varargs>>2];return Ae.varargs+=4,e},Me=Fe,Ie={},De=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function Re(e){return this.fromWireType(L[e>>2])}var Be={},Le={},Oe={},Ue=class InternalError extends Error{constructor(e){super(e),this.name="InternalError"}},qe=e=>{throw new Ue(e)},We=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&qe("Mismatched type converter count");for(var o=0;o<e.length;++o)ze(e[o],n[o])}e.forEach(e=>Oe[e]=t);var o=new Array(t.length),i=[],a=0;for(let[e,r]of t.entries())Le.hasOwnProperty(r)?o[e]=Le[r]:(i.push(r),Be.hasOwnProperty(r)||(Be[r]=[]),Be[r].push(()=>{o[e]=Le[r],++a===i.length&&n(o)}));0===i.length&&n(o)},He={},$e=e=>{for(var t="";;){var r=U[e++];if(!r)return t;t+=String.fromCharCode(r)}},Ne=class BindingError extends Error{constructor(e){super(e),this.name="BindingError"}},Ve=e=>{throw new Ne(e)};function ze(e,t,r={}){return function(e,t,r={}){var n=t.name;if(e||Ve(`type "${n}" must have a positive integer typeid pointer`),Le.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ve(`Cannot register type '${n}' twice`)}if(Le[e]=t,delete Oe[e],Be.hasOwnProperty(e)){var o=Be[e];delete Be[e],o.forEach(e=>e())}}(e,t,r)}var Ge=(e,t,r)=>{switch(t){case 1:return r?e=>I[e]:e=>U[e];case 2:return r?e=>A[e>>1]:e=>B[e>>1];case 4:return r?e=>F[e>>2]:e=>L[e>>2];case 8:return r?e=>M[e>>3]:e=>O[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},je=e=>{Ve(e.$$.ptrType.registeredClass.name+" instance already deleted")},Xe=!1,Ye=e=>{},Ke=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=>globalThis.FinalizationRegistry?(Xe=new FinalizationRegistry(e=>{Ke(e.$$)}),Ye=e=>Xe.unregister(e),(Qe=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Xe.register(e,r,e)}return e})(e)):(Qe=e=>e,e),Ze=[];function Je(){}var et=(e,t)=>Object.defineProperty(t,"name",{value:e}),tt={},rt=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(...n){return e[t].overloadTable.hasOwnProperty(n.length)||Ve(`Function '${r}' called with an invalid number of arguments (${n.length}) - expects one of (${e[t].overloadTable})!`),e[t].overloadTable[n.length].apply(this,n)},e[t].overloadTable=[],e[t].overloadTable[n.argCount]=n}},nt=(e,t,r)=>{l.hasOwnProperty(e)?((void 0===r||void 0!==l[e].overloadTable&&void 0!==l[e].overloadTable[r])&&Ve(`Cannot register public name '${e}' twice`),rt(l,e,e),l[e].overloadTable.hasOwnProperty(r)&&Ve(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),l[e].overloadTable[r]=t):(l[e]=t,l[e].argCount=r)};function ot(e,t,r,n,o,i,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=o,this.getActualType=i,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}var it=(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},at=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e};function st(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${at(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 it(t.$$.ptr,r,this.registeredClass)}function lt(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 "${at(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 n=t.$$.ptrType.registeredClass;if(r=it(t.$$.ptr,n,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 o=t.clone();r=this.rawShare(r,Pt.toHandle(()=>o.delete())),null!==e&&e.push(this.rawDestructor,r)}break;default:Ve("Unsupported sharing policy")}return r}function ct(e,t){if(null===t)return this.isReference&&Ve(`null is not a valid ${this.name}`),0;t.$$||Ve(`Cannot pass "${at(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 it(t.$$.ptr,r,this.registeredClass)}var dt=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=dt(e,t,r.baseClass);return null===n?null:r.downcast(n)},ut={},pt=(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),ut[t]),ht=(e,t)=>(t.ptrType&&t.ptr||qe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&qe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Qe(Object.create(e,{$$:{value:t,writable:!0}})));function gt(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=pt(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var n=r.clone();return this.destructor(e),n}function o(){return this.isSmartPointer?ht(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):ht(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var i,a=this.registeredClass.getActualType(t),s=tt[a];if(!s)return o.call(this);i=this.isConst?s.constPointerType:s.pointerType;var l=dt(t,this.registeredClass,i.registeredClass);return null===l?o.call(this):this.isSmartPointer?ht(i.registeredClass.instancePrototype,{ptrType:i,ptr:l,smartPtrType:this,smartPtr:e}):ht(i.registeredClass.instancePrototype,{ptrType:i,ptr:l})}function ft(e,t,r,n,o,i,a,s,l,c,d){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=o,this.pointeeType=i,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=l,this.rawShare=c,this.rawDestructor=d,o||void 0!==t.baseClass?this.toWireType=lt:n?(this.toWireType=st,this.destructorFunction=null):(this.toWireType=ct,this.destructorFunction=null)}var mt=(e,t,r)=>{l.hasOwnProperty(e)||qe("Replacing nonexistent public symbol"),void 0!==l[e].overloadTable&&void 0!==r?l[e].overloadTable[r]=t:(l[e]=t,l[e].argCount=r)},bt=[],yt=e=>{var t=bt[e];return t||(bt[e]=t=Un.get(e)),t},vt=(e,t,r=!1)=>{e=$e(e);var n=yt(t);return"function"!=typeof n&&Ve(`unknown function pointer with signature ${e}: ${t}`),n};class UnboundTypeError extends Error{}var wt=e=>{var t=Cn(e),r=$e(t);return xn(t),r},kt=(e,t)=>{var r=[],n={};throw t.forEach(function e(t){n[t]||Le[t]||(Oe[t]?Oe[t].forEach(e):(r.push(t),n[t]=!0))}),new UnboundTypeError(`${e}: `+r.map(wt).join([", "]))},_t=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(L[t+4*n>>2]);return r};function St(e,t,r,n,o,i){var a=t.length;a<2&&Ve("argTypes array size mismatch! Must at least get return value and 'this' types!");var s=null!==t[1]&&null!==r,l=function(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}(t),c=!t[0].isVoid,d=a-2,u=new Array(d),p=[],h=[];return et(e,function(...e){var r;h.length=0,p.length=s?2:1,p[0]=o,s&&(r=t[1].toWireType(h,this),p[1]=r);for(var i=0;i<d;++i)u[i]=t[i+2].toWireType(h,e[i]),p.push(u[i]);return function(e){if(l)De(h);else for(var n=s?1:2;n<t.length;n++){var o=1===n?r:u[n-2];null!==t[n].destructorFunction&&t[n].destructorFunction(o)}if(c)return t[0].fromWireType(e)}(n(...p))})}var Et=e=>{const t=(e=e.trim()).indexOf("(");return-1===t?e:e.slice(0,t)},Ct=[],Tt=[0,1,,1,null,1,!0,1,!1,1],xt=e=>{e>9&&0===--Tt[e+1]&&(Tt[e],Tt[e]=void 0,Ct.push(e))},Pt={toValue:e=>(e||Ve(`Cannot use deleted val. handle = ${e}`),Tt[e]),toHandle:e=>{switch(e){case void 0:return 2;case null:return 4;case!0:return 6;case!1:return 8;default:{const t=Ct.pop()||Tt.length;return Tt[t]=e,Tt[t+1]=1,t}}}},At={name:"emscripten::val",fromWireType:e=>{var t=Pt.toValue(e);return xt(e),t},toWireType:(e,t)=>Pt.toHandle(t),readValueFromPointer:Re,destructorFunction:null},Ft=(e,t,r)=>{switch(t){case 1:return r?function(e){return this.fromWireType(I[e])}:function(e){return this.fromWireType(U[e])};case 2:return r?function(e){return this.fromWireType(A[e>>1])}:function(e){return this.fromWireType(B[e>>1])};case 4:return r?function(e){return this.fromWireType(F[e>>2])}:function(e){return this.fromWireType(L[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Mt=(e,t)=>{var r=Le[e];return void 0===r&&Ve(`${t} has unknown type ${wt(e)}`),r},It=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(D[e>>2])};case 8:return function(e){return this.fromWireType(R[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Dt=(e,t,r)=>{const n=(e,t)=>{let r=0;return{next(){if(r>=e)return{done:!0};const n=r;return r++,{value:t(n),done:!1}},[Symbol.iterator](){return this}}};e[Symbol.iterator]||(e[Symbol.iterator]=function(){const e=this[t]();return n(e,e=>this[r](e))})},Rt=Object.assign({optional:!0},At),Bt=globalThis.TextDecoder?new TextDecoder("utf-16le"):void 0,Lt=(e,t,r)=>{var n=e>>1,o=j(B,n,t/2,r);if(o-n>16&&Bt)return Bt.decode(B.subarray(n,o));for(var i="",a=n;a<o;++a){var s=B[a];i+=String.fromCharCode(s)}return i},Ot=(e,t,r)=>{if(r??=2147483647,r<2)return 0;for(var n=t,o=(r-=2)<2*e.length?r/2:e.length,i=0;i<o;++i){var a=e.charCodeAt(i);A[t>>1]=a,t+=2}return A[t>>1]=0,t-n},Ut=e=>2*e.length,qt=(e,t,r)=>{for(var n="",o=e>>2,i=0;!(i>=t/4);i++){var a=L[o+i];if(!a&&!r)break;n+=String.fromCodePoint(a)}return n},Wt=(e,t,r)=>{if(r??=2147483647,r<4)return 0;for(var n=t,o=n+r-4,i=0;i<e.length;++i){var a=e.codePointAt(i);if(a>65535&&i++,F[t>>2]=a,(t+=4)+4>o)break}return F[t>>2]=0,t-n},Ht=e=>{for(var t=0,r=0;r<e.length;++r)e.codePointAt(r)>65535&&r++,t+=4;return t},$t=[],Nt={},Vt=e=>{var t=Nt[e];return void 0===t?$e(e):t},zt=e=>e<-9007199254740992||e>9007199254740992?NaN:Number(e),Gt=[0,31,60,91,121,152,182,213,244,274,305,335],jt=[0,31,59,90,120,151,181,212,243,273,304,334],Xt=e=>{var t;return((t=e.getFullYear())%4!=0||t%100==0&&t%400!=0?jt:Gt)[e.getMonth()]+e.getDate()-1},Yt=()=>Date.now(),Kt=e=>{if(e instanceof ExitStatus||"unwind"==e)return k;g(1,e)},Qt=()=>te||!1,Zt=(e,t)=>{var r;k=e,k=r=e,Qt()||(l.onExit?.(r),T=!0),g(r,new ExitStatus(r))},Jt=Zt,er=e=>{if(!T)try{return e()}catch(e){Kt(e)}finally{(()=>{if(!Qt())try{Jt(k)}catch(e){Kt(e)}})()}};function tr(){return document.fullscreenElement||document.mozFullScreenElement||document.webkitFullscreenElement||document.webkitCurrentFullScreenElement||document.msFullscreenElement}var rr,nr=(e,t)=>setTimeout(()=>{er(e)},t),or={useWebGL:!1,isFullscreen:!1,pointerLock:!1,moduleContextCreatedCallbacks:[],workers:[],preloadedImages:{},preloadedAudios:{},getCanvas:()=>l.canvas,init(){if(!or.initted){or.initted=!0;var e={canHandle:e=>!l.noImageDecoding&&/\.(jpg|jpeg|png|bmp|webp)$/i.test(e),handle:async(e,t)=>{var r=new Blob([e],{type:or.getMimetype(t)});r.size!==e.length&&(r=new Blob([new Uint8Array(e).buffer],{type:or.getMimetype(t)}));var n=URL.createObjectURL(r);return new Promise((r,o)=>{var i=new Image;i.onload=()=>{var o=document.createElement("canvas");o.width=i.width,o.height=i.height,o.getContext("2d").drawImage(i,0,0),or.preloadedImages[t]=o,URL.revokeObjectURL(n),r(e)},i.onerror=e=>{C(`Image ${n} could not be decoded`),o()},i.src=n})}};Te.push(e);var t={canHandle:e=>!l.noAudioDecoding&&e.slice(-4)in{".ogg":1,".wav":1,".mp3":1},handle:async(e,t)=>new Promise((r,n)=>{var o=!1;function i(n){o||(o=!0,or.preloadedAudios[t]=n,r(e))}var a=new Blob([e],{type:or.getMimetype(t)}),s=URL.createObjectURL(a),l=new Audio;l.addEventListener("canplaythrough",()=>i(l),!1),l.onerror=r=>{o||(C(`warning: browser could not fully decode audio ${t}, trying slower base64 approach`),l.src="data:audio/x-"+t.slice(-3)+";base64,"+function(e){for(var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",r="",n=0,o=0,i=0;i<e.length;i++)for(n=n<<8|e[i],o+=8;o>=6;){var a=n>>o-6&63;o-=6,r+=t[a]}return 2==o?(r+=t[(3&n)<<4],r+="=="):4==o&&(r+=t[(15&n)<<2],r+="="),r}(e),i(l))},l.src=s,nr(()=>{i(l)},1e4)})};Te.push(t);var r=or.getCanvas();r&&(document.addEventListener("pointerlockchange",function(){var e=or.getCanvas();or.pointerLock=document.pointerLockElement===e},!1),l.elementPointerLock&&r.addEventListener("click",e=>{!or.pointerLock&&or.getCanvas().requestPointerLock&&(or.getCanvas().requestPointerLock(),e.preventDefault())},!1))}},createContext(e,t,r,n){if(t&&l.ctx&&e==or.getCanvas())return l.ctx;var o,i;if(t){var a={antialias:!1,alpha:!1,majorVersion:"undefined"!=typeof WebGL2RenderingContext?2:1};if(n)for(var s in n)a[s]=n[s];void 0!==ar&&(i=ar.createContext(e,a))&&(o=ar.getContext(i).GLctx)}else o=e.getContext("2d");return o?(r&&(l.ctx=o,t&&ar.makeContextCurrent(i),or.useWebGL=t,or.moduleContextCreatedCallbacks.forEach(e=>e()),or.init()),o):null},fullscreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullscreen(e,t){or.lockPointer=e,or.resizeCanvas=t,void 0===or.lockPointer&&(or.lockPointer=!0),void 0===or.resizeCanvas&&(or.resizeCanvas=!1);var r=or.getCanvas();function n(){or.isFullscreen=!1;var e=r.parentNode;tr()===e?(r.exitFullscreen=or.exitFullscreen,or.lockPointer&&r.requestPointerLock(),or.isFullscreen=!0,or.resizeCanvas?or.setFullscreenCanvasSize():or.updateCanvasDimensions(r)):(e.parentNode.insertBefore(r,e),e.parentNode.removeChild(e),or.resizeCanvas?or.setWindowedCanvasSize():or.updateCanvasDimensions(r)),l.onFullScreen?.(or.isFullscreen),l.onFullscreen?.(or.isFullscreen)}or.fullscreenHandlersInstalled||(or.fullscreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",n,!1),document.addEventListener("mozfullscreenchange",n,!1),document.addEventListener("webkitfullscreenchange",n,!1),document.addEventListener("MSFullscreenChange",n,!1));var o=document.createElement("div");r.parentNode.insertBefore(o,r),o.appendChild(r),o.requestFullscreen=o.requestFullscreen||o.mozRequestFullScreen||o.msRequestFullscreen||(o.webkitRequestFullscreen?()=>o.webkitRequestFullscreen(Element.ALLOW_KEYBOARD_INPUT):null)||(o.webkitRequestFullScreen?()=>o.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT):null),o.requestFullscreen()},exitFullscreen:()=>!!or.isFullscreen&&((document.exitFullscreen||document.cancelFullScreen||document.mozCancelFullScreen||document.msExitFullscreen||document.webkitCancelFullScreen||(()=>{})).apply(document,[]),!0),safeSetTimeout:(e,t)=>nr(e,t),getMimetype:e=>({jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[e.slice(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:H("unrecognized mouse wheel delta mode: "+e.deltaMode)}break;default:H("unrecognized mouse wheel event: "+e.type)}return t},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseCoords(e,t){var r=or.getCanvas(),n=r.getBoundingClientRect(),o=e-(window.scrollX+n.left),i=t-(window.scrollY+n.top);return{x:o*=r.width/n.width,y:i*=r.height/n.height}},setMouseCoords(e,t){const{x:r,y:n}=or.calculateMouseCoords(e,t);or.mouseMovementX=r-or.mouseX,or.mouseMovementY=n-or.mouseY,or.mouseX=r,or.mouseY=n},calculateMouseEvent(e){if(or.pointerLock)"mousemove"!=e.type&&"mozMovementX"in e?or.mouseMovementX=or.mouseMovementY=0:(or.mouseMovementX=or.getMovementX(e),or.mouseMovementY=or.getMovementY(e)),or.mouseX+=or.mouseMovementX,or.mouseY+=or.mouseMovementY;else{if("touchstart"===e.type||"touchend"===e.type||"touchmove"===e.type){var t=e.touch;if(void 0===t)return;var r=or.calculateMouseCoords(t.pageX,t.pageY);if("touchstart"===e.type)or.lastTouches[t.identifier]=r,or.touches[t.identifier]=r;else if("touchend"===e.type||"touchmove"===e.type){var n=or.touches[t.identifier];n||=r,or.lastTouches[t.identifier]=n,or.touches[t.identifier]=r}return}or.setMouseCoords(e.pageX,e.pageY)}},resizeListeners:[],updateResizeListeners(){var e=or.getCanvas();or.resizeListeners.forEach(t=>t(e.width,e.height))},setCanvasSize(e,t,r){var n=or.getCanvas();or.updateCanvasDimensions(n,e,t),r||or.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullscreenCanvasSize(){if("undefined"!=typeof SDL){var e=L[SDL.screen>>2];e|=8388608,F[SDL.screen>>2]=e}or.updateCanvasDimensions(or.getCanvas()),or.updateResizeListeners()},setWindowedCanvasSize(){if("undefined"!=typeof SDL){var e=L[SDL.screen>>2];e&=-8388609,F[SDL.screen>>2]=e}or.updateCanvasDimensions(or.getCanvas()),or.updateResizeListeners()},updateCanvasDimensions(e,t,r){t&&r?(e.widthNative=t,e.heightNative=r):(t=e.widthNative,r=e.heightNative);var n=t,o=r;if(l.forcedAspectRatio>0&&(n/o<l.forcedAspectRatio?n=Math.round(o*l.forcedAspectRatio):o=Math.round(n/l.forcedAspectRatio)),tr()===e.parentNode&&"undefined"!=typeof screen){var i=Math.min(screen.width/n,screen.height/o);n=Math.round(n*i),o=Math.round(o*i)}or.resizeCanvas?(e.width!=n&&(e.width=n),e.height!=o&&(e.height=o),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&&(n!=t||o!=r?(e.style.setProperty("width",n+"px","important"),e.style.setProperty("height",o+"px","important")):(e.style.removeProperty("width"),e.style.removeProperty("height"))))}},ir={errorCode:12288,defaultDisplayInitialized:!1,currentContext:0,currentReadSurface:0,currentDrawSurface:0,contextAttributes:{alpha:!1,depth:!1,stencil:!1,antialias:!1},stringCache:{},setErrorCode(e){ir.errorCode=e},chooseConfig(e,t,r,n,o){if(62e3!=e)return ir.setErrorCode(12296),0;if(t)for(;;){var i=F[t>>2];if(12321==i){var a=F[t+4>>2];ir.contextAttributes.alpha=a>0}else if(12325==i){var s=F[t+4>>2];ir.contextAttributes.depth=s>0}else if(12326==i){var l=F[t+4>>2];ir.contextAttributes.stencil=l>0}else if(12337==i){var c=F[t+4>>2];ir.contextAttributes.antialias=c>0}else if(12338==i)c=F[t+4>>2],ir.contextAttributes.antialias=1==c;else if(12544==i){var d=F[t+4>>2];ir.contextAttributes.lowLatency=12547!=d}else if(12344==i)break;t+=8}return r&&n||o?(o&&(F[o>>2]=1),r&&n>0&&(L[r>>2]=62002),ir.setErrorCode(12288),1):(ir.setErrorCode(12300),0)}},ar={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{ar.lastError||(ar.lastError=e)},getNewId:e=>{for(var t=ar.counter++,r=e.length;r<t;r++)e[r]=null;return t},genObject:(e,t,r,n)=>{for(var o=0;o<e;o++){var i=rr[r](),a=i&&ar.getNewId(n);i?(i.name=a,n[a]=i):ar.recordError(1282),F[t+4*o>>2]=a}},getSource:(e,t,r,n)=>{for(var o="",i=0;i<t;++i){var a=n?L[n+4*i>>2]:void 0;o+=Y(L[r+4*i>>2],a)}return o},createContext:(e,t)=>{if(!e.getContextSafariWebGL2Fixed){let t=function(t,r){var n=e.getContextSafariWebGL2Fixed(t,r);return"webgl"==t==n instanceof WebGLRenderingContext?n:null};e.getContextSafariWebGL2Fixed=e.getContext,e.getContext=t}var r=t.majorVersion>1?e.getContext("webgl2",t):e.getContext("webgl",t);return r?ar.registerContext(r,t):0},registerContext:(e,t)=>{var r=ar.getNewId(ar.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),ar.contexts[r]=n,r},makeContextCurrent:e=>(ar.currentContext=ar.contexts[e],l.ctx=rr=ar.currentContext?.GLctx,!(e&&!rr)),getContext:e=>ar.contexts[e],deleteContext:e=>{ar.currentContext===ar.contexts[e]&&(ar.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(ar.contexts[e].GLctx.canvas),ar.contexts[e]?.GLctx.canvas&&(ar.contexts[e].GLctx.canvas.GLctxObject=void 0),ar.contexts[e]=null}},sr=[],lr=(e,t,r)=>{var n=((e,t)=>{var r;for(sr.length=0;r=U[e++];){var n=105!=r;t+=(n&=112!=r)&&t%8?4:0,sr.push(112==r?L[t>>2]:106==r?M[t>>3]:105==r?F[t>>2]:R[t>>3]),t+=n?8:4}return sr})(t,r);return Wn[e](...n)},cr=e=>{rr.bindVertexArray(ar.vaos[e])},dr=cr,ur=dr,pr=(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2];rr.deleteVertexArray(ar.vaos[n]),ar.vaos[n]=null}},hr=pr,gr=hr,fr=(e,t,r,n)=>{rr.drawArraysInstanced(e,t,r,n)},mr=fr,br=mr,yr=mr,vr=mr,wr=mr,kr=[],_r=(e,t)=>{for(var r=kr[e],n=0;n<e;n++)r[n]=F[t+4*n>>2];rr.drawBuffers(r)},Sr=_r,Er=Sr,Cr=Sr,Tr=(e,t,r,n)=>{rr.drawElements(e,t,r,n)},xr=(e,t,r,n,o)=>{rr.drawElementsInstanced(e,t,r,n,o)},Pr=xr,Ar=Pr,Fr=Pr,Mr=Pr,Ir=Pr,Dr=Tr,Rr=(e,t)=>{ar.genObject(e,t,"createVertexArray",ar.vaos)},Br=Rr,Lr=(e,t,r,n,o,i,a,s)=>{t=ar.programs[t];var l=rr[e](t,r);if(l){var c=s&&ae(l.name,s,n);o&&(F[o>>2]=c),i&&(F[i>>2]=l.size),a&&(F[a>>2]=l.type)}},Or=(e,t)=>{L[e>>2]=t;var r=L[e>>2];L[e+4>>2]=(t-r)/4294967296},Ur=()=>{var e,t,r=(e=rr,t=["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_conservative_depth","EXT_disjoint_timer_query_webgl2","EXT_texture_norm16","NV_shader_noperspective_interpolation","WEBGL_clip_cull_distance","EXT_clip_control","EXT_color_buffer_half_float","EXT_depth_clamp","EXT_float_blend","EXT_polygon_offset_clamp","EXT_texture_compression_bptc","EXT_texture_compression_rgtc","EXT_texture_filter_anisotropic","KHR_parallel_shader_compile","OES_texture_float_linear","WEBGL_blend_func_extended","WEBGL_compressed_texture_astc","WEBGL_compressed_texture_etc","WEBGL_compressed_texture_etc1","WEBGL_compressed_texture_s3tc","WEBGL_compressed_texture_s3tc_srgb","WEBGL_debug_renderer_info","WEBGL_debug_shaders","WEBGL_lose_context","WEBGL_multi_draw","WEBGL_polygon_mode"],e.getSupportedExtensions()?.filter(e=>t.includes(e))??[]);return r=r.concat(r.map(e=>"GL_"+e))},qr=(e,t,r)=>{if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&ar.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var o=rr.getParameter(34467);n=o?o.length:0;break;case 33309:if(ar.currentContext.version<2)return void ar.recordError(1282);n=Ur().length;break;case 33307:case 33308:if(ar.currentContext.version<2)return void ar.recordError(1280);n=33307==e?3:0}if(void 0===n){var i=rr.getParameter(e);switch(typeof i){case"number":n=i;break;case"boolean":n=i?1:0;break;case"string":return void ar.recordError(1280);case"object":if(null===i)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:n=0;break;default:return void ar.recordError(1280)}else{if(i instanceof Float32Array||i instanceof Uint32Array||i instanceof Int32Array||i instanceof Array){for(var a=0;a<i.length;++a)switch(r){case 0:F[t+4*a>>2]=i[a];break;case 2:D[t+4*a>>2]=i[a];break;case 4:I[t+a]=i[a]?1:0}return}try{n=0|i.name}catch(t){return ar.recordError(1280),void C(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return ar.recordError(1280),void C(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${i} of type ${typeof i}!`)}}switch(r){case 1:Or(t,n);break;case 0:F[t>>2]=n;break;case 2:D[t>>2]=n;break;case 4:I[t]=n?1:0}}else ar.recordError(1281)},Wr=(e,t,r,n)=>{if(r){var o,i=rr.getIndexedParameter(e,t);switch(typeof i){case"boolean":o=i?1:0;break;case"number":o=i;break;case"object":if(null===i)switch(e){case 35983:case 35368:o=0;break;default:return void ar.recordError(1280)}else{if(!(i instanceof WebGLBuffer))return void ar.recordError(1280);o=0|i.name}break;default:return void ar.recordError(1280)}switch(n){case 1:Or(r,o);break;case 0:F[r>>2]=o;break;case 2:D[r>>2]=o;break;case 4:I[r]=o?1:0;break;default:H("internal emscriptenWebGLGetIndexed() error, bad type: "+n)}}else ar.recordError(1281)},Hr=(e,t,r)=>{if(r){var n,o=ar.queries[e];n=ar.currentContext.version<2?rr.disjointTimerQueryExt.getQueryObjectEXT(o,t):rr.getQueryParameter(o,t),Or(r,"boolean"==typeof n?n?1:0:n)}else ar.recordError(1281)},$r=(e,t,r)=>{if(r){var n,o=ar.queries[e],i=rr.disjointTimerQueryExt.getQueryObjectEXT(o,t);n="boolean"==typeof i?i?1:0:i,F[r>>2]=n}else ar.recordError(1281)},Nr=Hr,Vr=$r,zr=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),Gr=e=>{var t,r,n=e.uniformLocsById,o=e.uniformSizeAndIdsByName;if(!n){e.uniformLocsById=n={},e.uniformArrayNamesById={};var i=rr.getProgramParameter(e,35718);for(t=0;t<i;++t){var a=rr.getActiveUniform(e,t),s=a.name,l=a.size,c=zr(s),d=c>0?s.slice(0,c):s,u=e.uniformIdCounter;for(e.uniformIdCounter+=l,o[d]=[l,u],r=0;r<l;++r)n[u]=r,e.uniformArrayNamesById[u++]=d}}},jr=(e,t)=>{if(e){var r=e.uniformLocsById[t];return"number"==typeof r&&(e.uniformLocsById[t]=r=rr.getUniformLocation(e,e.uniformArrayNamesById[t]+(r>0?`[${r}]`:""))),r}ar.recordError(1282)},Xr=(e,t,r,n)=>{if(r){e=ar.programs[e],Gr(e);var o=rr.getUniform(e,jr(e,t));if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:F[r>>2]=o;break;case 2:D[r>>2]=o}else for(var i=0;i<o.length;i++)switch(n){case 0:F[r+4*i>>2]=o[i];break;case 2:D[r+4*i>>2]=o[i]}}else ar.recordError(1281)},Yr=(e,t,r,n)=>{if(r){var o=rr.getVertexAttrib(e,t);if(34975==t)F[r>>2]=o&&o.name;else if("number"==typeof o||"boolean"==typeof o)switch(n){case 0:F[r>>2]=o;break;case 2:D[r>>2]=o;break;case 5:F[r>>2]=Math.fround(o)}else for(var i=0;i<o.length;i++)switch(n){case 0:F[r+4*i>>2]=o[i];break;case 2:D[r+4*i>>2]=o[i];break;case 5:F[r+4*i>>2]=Math.fround(o[i])}}else ar.recordError(1281)},Kr=(e,t,r)=>{Yr(e,t,r,0)},Qr=Kr,Zr=e=>{var t=ar.vaos[e];return t?rr.isVertexArray(t):0},Jr=Zr,en=e=>0==(e-=5120)?I:1==e?U:2==e?A:4==e?F:6==e?D:5==e||28922==e||28520==e||30779==e||30782==e?L:B,tn=(e,t)=>e>>>31-Math.clz32(t.BYTES_PER_ELEMENT),rn=(e,t,r,n,o)=>{var i=en(e),a=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(t)*i.BYTES_PER_ELEMENT,s=((e,t,r)=>{var n,o,i=(ar.unpackRowLength||e)*r;return t*(n=i,o=ar.unpackAlignment,n+o-1&-o)})(r,n,a);return i.subarray(tn(o,i),tn(o+s,i))},nn=e=>jr(rr.currentProgram,e),on=[],an=[],sn=(e,t)=>{rr.vertexAttribDivisor(e,t)},ln=sn,cn=sn,dn=sn,un=sn,pn=e=>{var t=(e-z.buffer.byteLength+65535)/65536|0;try{return z.grow(t),W(),1}catch(e){}},hn=["default","low-power","high-performance"],gn=[0,globalThis.document??0,globalThis.window??0],fn=e=>{var t;return e=(t=e)>2?Y(t):t,gn[e]||globalThis.document?.querySelector(e)},mn=(e,t)=>{var r=t>>2,n=F[r+2],o={alpha:!!I[t+0],depth:!!I[t+1],stencil:!!I[t+2],antialias:!!I[t+3],premultipliedAlpha:!!I[t+4],preserveDrawingBuffer:!!I[t+5],powerPreference:hn[n],failIfMajorPerformanceCaveat:!!I[t+12],majorVersion:F[r+4],minorVersion:F[r+5],enableExtensionsByDefault:I[t+24],explicitSwapControl:I[t+25],proxyContextToMainThread:F[r+7],renderViaOffscreenBackBuffer:I[t+32]},i=fn(e);return i?o.explicitSwapControl?0:ar.createContext(i,o):0},bn={},yn=()=>{if(!yn.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:(globalThis.navigator?.language??"C").replace("-","_")+".UTF-8",_:h};for(var t in bn)void 0===bn[t]?delete e[t]:e[t]=bn[t];var r=[];for(var t in e)r.push(`${t}=${e[t]}`);yn.strings=r}return yn.strings},vn=(e,t,r,n)=>{for(var o=0,i=0;i<r;i++){var a=L[t>>2],s=L[t+4>>2];t+=8;var l=Pe.read(e,I,a,s,n);if(l<0)return-1;if(o+=l,l<s)break;void 0!==n&&(n+=l)}return o},wn=e=>Rn(e),kn=e=>{var t=oe(e)+1,r=wn(t);return ae(e,r,t),r};Pe.createPreloadedFile=(e,t,r,n,o,i,a,s,l,c)=>{xe(e,t,r,n,o,s,l,c).then(i).catch(a)},Pe.preloadFile=xe,Pe.staticInit(),(()=>{let e=Je.prototype;Object.assign(e,{isAliasOf(e){if(!(this instanceof Je))return!1;if(!(e instanceof Je))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)o=n.upcast(o),n=n.baseClass;return t===n&&r===o},clone(){if(this.$$.ptr||je(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Qe(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},delete(){this.$$.ptr||je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),Ye(this),Ke(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||je(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ve("Object already scheduled for deletion"),Ze.push(this),Ze.length,this.$$.deleteScheduled=!0,this}});const t=Symbol.dispose;t&&(e[t]=e.delete)})(),Object.assign(ft.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},readValueFromPointer:Re,fromWireType:gt});for(let e=0;e<32;++e)kr.push(new Array(e));for(var _n=new Float32Array(288),Sn=0;Sn<=288;++Sn)on[Sn]=_n.subarray(0,Sn);var En=new Int32Array(288);for(Sn=0;Sn<=288;++Sn)an[Sn]=En.subarray(0,Sn);if(function(){if(l.wasmMemory)z=l.wasmMemory;else{var e=l.INITIAL_MEMORY||16777216;z=new WebAssembly.Memory({initial:e/65536,maximum:32768})}W()}(),l.noExitRuntime&&(te=l.noExitRuntime),l.preloadPlugins&&(Te=l.preloadPlugins),l.print&&(E=l.print),l.printErr&&(C=l.printErr),l.wasmBinary&&(w=l.wasmBinary),l.arguments&&(p=l.arguments),l.thisProgram&&(h=l.thisProgram),l.preInit)for("function"==typeof l.preInit&&(l.preInit=[l.preInit]);l.preInit.length>0;)l.preInit.shift()();l.addRunDependency=Ce,l.removeRunDependency=Ee,l.ccall=(e,t,r,n,o)=>{var i={string:e=>{var t=0;return null!=e&&0!==e&&(t=kn(e)),t},array:e=>{var t,r,n=wn(e.length);return t=e,r=n,I.set(t,r),n}},a=(e=>l["_"+e])(e),s=[],c=0;if(n)for(var d=0;d<n.length;d++){var u=i[r[d]];u?(0===c&&(c=ne()),s[d]=u(n[d])):s[d]=n[d]}var p,h=a(...s);return p=h,0!==c&&re(c),h=function(e){return"string"===t?Y(e):"boolean"===t?Boolean(e):e}(p),h},l.getValue=function(e,t="i8"){switch(t.endsWith("*")&&(t="*"),t){case"i1":case"i8":return I[e];case"i16":return A[e>>1];case"i32":return F[e>>2];case"i64":return M[e>>3];case"float":return D[e>>2];case"double":return R[e>>3];case"*":return L[e>>2];default:H(`invalid type for getValue: ${t}`)}},l.UTF8ToString=Y,l.specialHTMLTargets=gn,l.FS_preloadFile=xe,l.FS_unlink=(...e)=>Pe.unlink(...e),l.FS_createPath=(...e)=>Pe.createPath(...e),l.FS_createDevice=(...e)=>Pe.createDevice(...e),l.FS_createDataFile=ke,l.FS_createLazyFile=(...e)=>Pe.createLazyFile(...e);var Cn,Tn,xn,Pn,An,Fn,Mn,In,Dn,Rn,Bn,Ln,On,Un,qn,Wn={3279756:(e,t,r,n,o)=>"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=n,window.miniaudio.device_state.started=o,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),3281746:()=>{void 0!==window.miniaudio&&(window.miniaudio.referenceCount-=1,0===window.miniaudio.referenceCount&&delete window.miniaudio)},3281910:()=>void 0!==navigator.mediaDevices&&void 0!==navigator.mediaDevices.getUserMedia,3282014:()=>{try{var e=new(window.AudioContext||window.webkitAudioContext),t=e.sampleRate;return e.close(),t}catch(e){return 0}},3282185:(e,t,r,n,o,i)=>{var a=e,s=t,c=r,d=n,u=o,p=i;if(void 0===window.miniaudio)return-1;var h={},g={};a==window.miniaudio.device_type.playback&&(g.sampleRate=c),h.webaudio=new(window.AudioContext||window.webkitAudioContext)(g),h.webaudio.suspend(),h.state=window.miniaudio.device_state.stopped;var f=0,m=s;return a!=window.miniaudio.device_type.playback&&(f=s),h.scriptNode=h.webaudio.createScriptProcessor(d,f,m),h.scriptNode.onaudioprocess=function(e){if(null!=h.intermediaryBufferView&&0!=h.intermediaryBufferView.length||(h.intermediaryBufferView=new Float32Array(l.HEAPF32.buffer,u,d*s)),a==miniaudio.device_type.capture||a==miniaudio.device_type.duplex){for(var t=0;t<s;t+=1)for(var r=e.inputBuffer.getChannelData(t),n=h.intermediaryBufferView,o=0;o<d;o+=1)n[o*s+t]=r[o];An(p,d,u)}if(a==miniaudio.device_type.playback||a==miniaudio.device_type.duplex)for(Fn(p,d,u),t=0;t<e.outputBuffer.numberOfChannels;++t){var i=e.outputBuffer.getChannelData(t);for(n=h.intermediaryBufferView,o=0;o<d;o+=1)i[o]=n[o*s+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){h.streamNode=h.webaudio.createMediaStreamSource(e),h.streamNode.connect(h.scriptNode),h.scriptNode.connect(h.webaudio.destination)}).catch(function(e){console.log("Failed to get user media: "+e)}),a==miniaudio.device_type.playback&&h.scriptNode.connect(h.webaudio.destination),miniaudio.track_device(h)},3284968:e=>miniaudio.get_device_by_index(e).webaudio.sampleRate,3285034: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},3285399:e=>{miniaudio.untrack_device_by_index(e)},3285442:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.resume(),t.state=miniaudio.device_state.started},3285567:e=>{var t=miniaudio.get_device_by_index(e);t.webaudio.suspend(),t.state=miniaudio.device_state.stopped},3285693:()=>!!globalThis.ubq_browserTabHidden,3285739:()=>"undefined"!=typeof process&&process.versions&&process.versions.node?1:0},Hn={Sa:e=>{var t=new ExceptionInfo(e);return t.get_caught()||t.set_caught(!0),t.set_rethrown(!1),le.push(t),On(e)},Jh:()=>{In(0,0);var e=le.pop();Ln(e.excPtr)},n:()=>ce(),pa:e=>ce(),l:(e,t,r)=>{new ExceptionInfo(e).init(t,r),H()},Q:e=>{H()},Ih:function(e,t){try{return e=Ae.getStr(e),Pe.chmod(e,t),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Hh:function(e,t){try{return Pe.fchmod(e,t),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},oa:function(e,t,r){Ae.varargs=r;try{var n=Ae.getStreamFromFD(e);switch(t){case 0:if((o=Fe())<0)return-28;for(;Pe.streams[o];)o++;return Pe.dupStream(n,o).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var o=Fe(),i=289792;return n.flags=n.flags&~i|o&i,0;case 12:return o=Me(),A[o+0>>1]=2,0}return-28}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Gh:function(e,t){try{return Ae.writeStat(t,Pe.fstat(e))}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Fh:function(e,t,r){Ae.varargs=r;try{var n=Ae.getStreamFromFD(e);switch(t){case 21509:case 21510:case 21511:case 21512:case 21524:case 21515:return n.tty?0:-59;case 21505:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcgets){var o=n.tty.ops.ioctl_tcgets(n),i=Me();F[i>>2]=o.c_iflag||0,F[i+4>>2]=o.c_oflag||0,F[i+8>>2]=o.c_cflag||0,F[i+12>>2]=o.c_lflag||0;for(var a=0;a<32;a++)I[i+a+17]=o.c_cc[a]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){i=Me();var s=F[i>>2],l=F[i+4>>2],c=F[i+8>>2],d=F[i+12>>2],u=[];for(a=0;a<32;a++)u.push(I[i+a+17]);return n.tty.ops.ioctl_tcsets(n.tty,t,{c_iflag:s,c_oflag:l,c_cflag:c,c_lflag:d,c_cc:u})}return 0;case 21519:return n.tty?(i=Me(),F[i>>2]=0,0):-59;case 21520:return n.tty?-28:-59;case 21537:case 21531:return i=Me(),Pe.ioctl(n,t,i);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var p=n.tty.ops.ioctl_tiocgwinsz(n.tty);i=Me(),A[i>>1]=p[0],A[i+2>>1]=p[1]}return 0;default:return-28}}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Eh:function(e,t){try{return e=Ae.getStr(e),Ae.writeStat(t,Pe.lstat(e))}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Dh:function(e,t,r,n){try{t=Ae.getStr(t);var o=256&n,i=4096&n;return n&=-6401,t=Ae.calculateAt(e,t,i),Ae.writeStat(r,o?Pe.lstat(t):Pe.stat(t))}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Ra:function(e,t,r,n){Ae.varargs=n;try{t=Ae.getStr(t),t=Ae.calculateAt(e,t);var o=n?Fe():0;return 64&r&&(o&=~Ae.currentUmask),Pe.open(t,r,o).fd}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Ch:function(e,t,r,n){try{return t=Ae.getStr(t),n=Ae.getStr(n),t=Ae.calculateAt(e,t),n=Ae.calculateAt(r,n),Pe.rename(t,n),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Bh:function(e){try{return e=Ae.getStr(e),Pe.rmdir(e),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},Ah:function(e,t){try{return e=Ae.getStr(e),Ae.writeStat(t,Pe.stat(e))}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},zh:function(e,t,r){try{if(t=Ae.getStr(t),t=Ae.calculateAt(e,t),r){if(512!==r)return-28;Pe.rmdir(t)}else Pe.unlink(t);return 0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},rh:()=>H(""),Oa:e=>{var t=Ie[e];delete Ie[e];var r=t.elements,n=r.length,o=r.map(e=>e.getterReturnType).concat(r.map(e=>e.setterArgumentType)),i=t.rawConstructor,a=t.rawDestructor;We([e],o,e=>{for(const[t,o]of r.entries()){const r=e[t],i=o.getter,a=o.getterContext,s=e[t+n],l=o.setter,c=o.setterContext;o.read=e=>r.fromWireType(i(a,e)),o.write=(e,t)=>{var r=[];l(c,e,s.toWireType(r,t)),De(r)}}return[{name:t.name,fromWireType:e=>{for(var t=new Array(n),o=0;o<n;++o)t[o]=r[o].read(e);return a(e),t},toWireType:(e,o)=>{if(n!==o.length)throw new TypeError(`Incorrect number of tuple elements for ${t.name}: expected=${n}, actual=${o.length}`);for(var s=i(),l=0;l<n;++l)r[l].write(s,o[l]);return null!==e&&e.push(a,s),s},readValueFromPointer:Re,destructorFunction:a}]})},w:e=>{var t=He[e];delete He[e];var r=t.rawConstructor,n=t.rawDestructor,o=t.fields,i=o.map(e=>e.getterReturnType).concat(o.map(e=>e.setterArgumentType));We([e],i,e=>{var i={};for(var[a,s]of o.entries()){const t=e[a],r=s.getter,n=s.getterContext,l=e[a+o.length],c=s.setter,d=s.setterContext;i[s.fieldName]={read:e=>t.fromWireType(r(n,e)),write:(e,t)=>{var r=[];c(d,e,l.toWireType(r,t)),De(r)},optional:t.optional}}return[{name:t.name,fromWireType:e=>{var t={};for(var r in i)t[r]=i[r].read(e);return n(e),t},toWireType:(e,t)=>{for(var o in i)if(!(o in t)&&!i[o].optional)throw new TypeError(`Missing field: "${o}"`);var a=r();for(o in i)i[o].write(a,t[o]);return null!==e&&e.push(n,a),a},readValueFromPointer:Re,destructorFunction:n}]})},Na:(e,t,r,n,o)=>{t=$e(t);const i=0n===n;let a=e=>e;if(i){const e=8*r;a=t=>BigInt.asUintN(e,t),o=a(o)}ze(e,{name:t,fromWireType:a,toWireType:(e,t)=>("number"==typeof t&&(t=BigInt(t)),t),readValueFromPointer:Ge(t,r,!i),destructorFunction:null})},qh:(e,t,r,n)=>{ze(e,{name:t=$e(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},readValueFromPointer:function(e){return this.fromWireType(U[e])},destructorFunction:null})},q:(e,t,r,n,o,i,a,s,l,c,d,u,p)=>{d=$e(d),i=vt(o,i),s&&=vt(a,s),c&&=vt(l,c),p=vt(u,p);var h=(e=>{var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(d);nt(h,function(){kt(`Cannot construct ${d} due to unbound types`,[n])}),We([e,t,r],n?[n]:[],t=>{var r,o;t=t[0],o=n?(r=t.registeredClass).instancePrototype:Je.prototype;var a=et(d,function(...e){if(Object.getPrototypeOf(this)!==l)throw new Ne(`Use 'new' to construct ${d}`);if(void 0===u.constructor_body)throw new Ne(`${d} has no accessible constructor`);var t=u.constructor_body[e.length];if(void 0===t)throw new Ne(`Tried to invoke ctor of ${d} with invalid number of parameters (${e.length}) - expected (${Object.keys(u.constructor_body).toString()}) parameters instead!`);return t.apply(this,e)}),l=Object.create(o,{constructor:{value:a}});a.prototype=l;var u=new ot(d,a,l,p,r,i,s,c);u.baseClass&&(u.baseClass.__derivedClasses??=[],u.baseClass.__derivedClasses.push(u));var g=new ft(d,u,!0,!1,!1),f=new ft(d+"*",u,!1,!1,!1),m=new ft(d+" const*",u,!1,!0,!1);return tt[e]={pointerType:f,constPointerType:m},mt(h,a),[g,f,m]})},s:(e,t,r,n,o,i)=>{var a=_t(t,r);o=vt(n,o),We([],[e],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 Ne(`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]=()=>{kt(`Cannot construct ${e.name} due to unbound types`,a)},We([],a,n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=St(r,n,null,o,i),[])),[]})},c:(e,t,r,n,o,i,a,s,l,c)=>{var d=_t(r,n);t=$e(t),t=Et(t),i=vt(o,i,l),We([],[e],e=>{var n=`${(e=e[0]).name}.${t}`;function o(){kt(`Cannot call ${n} due to unbound types`,d)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var l=e.registeredClass.instancePrototype,c=l[t];return void 0===c||void 0===c.overloadTable&&c.className!==e.name&&c.argCount===r-2?(o.argCount=r-2,o.className=e.name,l[t]=o):(rt(l,t,n),l[t].overloadTable[r-2]=o),We([],d,o=>{var s=St(n,o,e,i,a);return void 0===l[t].overloadTable?(s.argCount=r-2,l[t]=s):l[t].overloadTable[r-2]=s,[]}),[]})},ph:e=>ze(e,At),V:(e,t,r,n,o)=>{t=$e(t);const i=function(e){return 0===e?"object":1===e?"number":"string"}(o);switch(i){case"object":{let o=function(){};o.values={},ze(e,{name:t,constructor:o,valueType:i,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,readValueFromPointer:Ft(t,r,n),destructorFunction:null}),nt(t,o);break}case"number":ze(e,{name:t,keysMap:a={},valueType:i,fromWireType:e=>e,toWireType:(e,t)=>t,readValueFromPointer:Ft(t,r,n),destructorFunction:null}),nt(t,a),delete l[t].argCount;break;case"string":var a;ze(e,{name:t,valuesMap:{},reverseMap:{},keysMap:a={},valueType:i,fromWireType:function(e){return this.reverseMap[e]},toWireType:function(e,t){return this.valuesMap[t]},readValueFromPointer:Ft(t,r,n),destructorFunction:null}),nt(t,a),delete l[t].argCount}},F:(e,t,r)=>{var n=Mt(e,"enum");switch(t=$e(t),n.valueType){case"object":var o=n.constructor,i=Object.create(n.constructor.prototype,{value:{value:r},constructor:{value:et(`${n.name}_${t}`,function(){})}});o.values[r]=i,o[t]=i;break;case"number":n.keysMap[t]=r;break;case"string":n.valuesMap[t]=r,n.reverseMap[r]=t,n.keysMap[t]=t}},Ma:(e,t,r)=>{ze(e,{name:t=$e(t),fromWireType:e=>e,toWireType:(e,t)=>t,readValueFromPointer:It(t,r),destructorFunction:null})},O:(e,t,r,n,o,i,a,s)=>{var l=_t(t,r);e=$e(e),e=Et(e),o=vt(n,o,a),nt(e,function(){kt(`Cannot call ${e} due to unbound types`,l)},t-1),We([],l,r=>{var n=[r[0],null].concat(r.slice(1));return mt(e,St(e,n,null,o,i),t-1),[]})},N:(e,t,r,n,o)=>{t=$e(t);let i=e=>e;if(0===n){var a=32-8*r;i=e=>e<<a>>>a,o=i(o)}ze(e,{name:t,fromWireType:i,toWireType:(e,t)=>t,readValueFromPointer:Ge(t,r,0!==n),destructorFunction:null})},M:(e,t,r,n)=>{r=$e(r),n=$e(n),We([],[e,t],e=>{const t=e[0];return Dt(t.registeredClass.instancePrototype,r,n),[]})},E:(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function o(e){var t=L[e>>2],r=L[e+4>>2];return new n(I.buffer,r,t)}ze(e,{name:r=$e(r),fromWireType:o,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},J:(e,t)=>{ze(e,Rt)},oh:(e,t,r,n,o,i,a,s,l,c,d,u)=>{r=$e(r),i=vt(o,i),s=vt(a,s),c=vt(l,c),u=vt(d,u),We([e],[t],e=>(e=e[0],[new ft(r,e.registeredClass,!1,!1,!0,e,n,i,s,c,u)]))},nh:(e,t)=>{t=$e(t),ze(e,{name:t,fromWireType(e){var t,r=L[e>>2],n=e+4;return t=Y(n,r,!0),xn(e),t},toWireType(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||ArrayBuffer.isView(t)&&1==t.BYTES_PER_ELEMENT||Ve("Cannot pass non-string to std::string"),r=n?oe(t):t.length;var o=Tn(4+r+1),i=o+4;return L[o>>2]=r,n?ae(t,i,r+1):U.set(t,i),null!==e&&e.push(xn,o),o},readValueFromPointer:Re,destructorFunction(e){xn(e)}})},ma:(e,t,r)=>{var n,o,i;r=$e(r),2===t?(n=Lt,o=Ot,i=Ut):(n=qt,o=Wt,i=Ht),ze(e,{name:r,fromWireType:e=>{var r=L[e>>2],o=n(e+4,r*t,!0);return xn(e),o},toWireType:(e,n)=>{"string"!=typeof n&&Ve(`Cannot pass non-string to C++ string type ${r}`);var a=i(n),s=Tn(4+a+t);return L[s>>2]=a/t,o(n,s+4,a+t),null!==e&&e.push(xn,s),s},readValueFromPointer:Re,destructorFunction(e){xn(e)}})},La:(e,t,r,n,o,i)=>{Ie[e]={name:$e(t),rawConstructor:vt(r,n),rawDestructor:vt(o,i),elements:[]}},L:(e,t,r,n,o,i,a,s,l)=>{Ie[e].elements.push({getterReturnType:t,getter:vt(r,n),getterContext:o,setterArgumentType:i,setter:vt(a,s),setterContext:l})},v:(e,t,r,n,o,i)=>{He[e]={name:$e(t),rawConstructor:vt(r,n),rawDestructor:vt(o,i),fields:[]}},k:(e,t,r,n,o,i,a,s,l,c)=>{He[e].fields.push({fieldName:$e(t),getterReturnType:r,getter:vt(n,o),getterContext:i,setterArgumentType:a,setter:vt(s,l),setterContext:c})},mh:(e,t)=>{ze(e,{isVoid:!0,name:t=$e(t),fromWireType:()=>{},toWireType:(e,t)=>{}})},lh:()=>{throw new EmscriptenSjLj},kh:(e,t)=>{e=Pt.toValue(e),t=Pt.toValue(t),e.set(t)},i:(e,t,r)=>{var[n,...o]=((e,t)=>{for(var r=new Array(e),n=0;n<e;++n)r[n]=Mt(L[t+4*n>>2],`parameter ${n}`);return r})(e,t),i=n.toWireType.bind(n),a=o.map(e=>e.readValueFromPointer.bind(e));e--;var s,l,c=new Array(e),d=`methodCaller<(${o.map(e=>e.name)}) => ${n.name}>`;return s=et(d,(t,n,o,s)=>{for(var l,d=0,u=0;u<e;++u)c[u]=a[u](s+d),d+=8;switch(r){case 0:l=Pt.toValue(t).apply(null,c);break;case 2:l=Reflect.construct(Pt.toValue(t),c);break;case 3:l=c[0];break;case 1:l=Pt.toValue(t)[Vt(n)](...c)}return((e,t,r)=>{var n=[],o=e(n,r);return n.length&&(L[t>>2]=Pt.toHandle(n)),o})(i,o,l)}),l=$t.length,$t.push(s),l},b:xt,Ka:(e,t)=>(e=Pt.toValue(e))==(t=Pt.toValue(t)),x:e=>e?(e=Vt(e),Pt.toHandle(globalThis[e])):Pt.toHandle(globalThis),f:(e,t)=>(e=Pt.toValue(e),t=Pt.toValue(t),Pt.toHandle(e[t])),d:e=>{e>9&&(Tt[e+1]+=1)},_:(e,t)=>(e=Pt.toValue(e))instanceof(t=Pt.toValue(t)),h:(e,t,r,n,o)=>$t[e](t,r,n,o),la:e=>"number"==typeof(e=Pt.toValue(e)),C:e=>"string"==typeof(e=Pt.toValue(e)),Z:()=>Pt.toHandle([]),e:e=>Pt.toHandle(Vt(e)),u:()=>Pt.toHandle({}),g:e=>{var t=Pt.toValue(e);De(t),xt(e)},j:(e,t,r)=>{e=Pt.toValue(e),t=Pt.toValue(t),r=Pt.toValue(r),e[t]=r},jh:e=>{throw e=Pt.toValue(e)},ea:e=>(e=Pt.toValue(e),Pt.toHandle(typeof e)),ih:function(e,t){e=zt(e);var r=new Date(1e3*e);F[t>>2]=r.getUTCSeconds(),F[t+4>>2]=r.getUTCMinutes(),F[t+8>>2]=r.getUTCHours(),F[t+12>>2]=r.getUTCDate(),F[t+16>>2]=r.getUTCMonth(),F[t+20>>2]=r.getUTCFullYear()-1900,F[t+24>>2]=r.getUTCDay();var n=Date.UTC(r.getUTCFullYear(),0,1,0,0,0,0),o=(r.getTime()-n)/864e5|0;F[t+28>>2]=o},hh:function(e,t){e=zt(e);var r=new Date(1e3*e);F[t>>2]=r.getSeconds(),F[t+4>>2]=r.getMinutes(),F[t+8>>2]=r.getHours(),F[t+12>>2]=r.getDate(),F[t+16>>2]=r.getMonth(),F[t+20>>2]=r.getFullYear()-1900,F[t+24>>2]=r.getDay();var n=0|Xt(r);F[t+28>>2]=n,F[t+36>>2]=-60*r.getTimezoneOffset();var o=new Date(r.getFullYear(),0,1),i=new Date(r.getFullYear(),6,1).getTimezoneOffset(),a=o.getTimezoneOffset(),s=0|(i!=a&&r.getTimezoneOffset()==Math.min(a,i));F[t+32>>2]=s},gh:function(e){var t=(()=>{var t=new Date(F[e+20>>2]+1900,F[e+16>>2],F[e+12>>2],F[e+8>>2],F[e+4>>2],F[e>>2],0);if(isNaN(t.getTime()))return-1;var r=F[e+32>>2],n=t.getTimezoneOffset(),o=new Date(t.getFullYear(),0,1),i=new Date(t.getFullYear(),6,1).getTimezoneOffset(),a=o.getTimezoneOffset(),s=Math.min(a,i);if(r<0)F[e+32>>2]=Number(i!=a&&s==n);else if(r>0!=(s==n)){var l=Math.max(a,i),c=r>0?s:l;t.setTime(t.getTime()+6e4*(c-n))}F[e+24>>2]=t.getDay();var d=0|Xt(t);return F[e+28>>2]=d,F[e>>2]=t.getSeconds(),F[e+4>>2]=t.getMinutes(),F[e+8>>2]=t.getHours(),F[e+12>>2]=t.getDate(),F[e+16>>2]=t.getMonth(),F[e+20>>2]=t.getYear(),t.getTime()/1e3})();return BigInt(t)},fh:function(e,t,r,n,o,i,a){o=zt(o);try{var s=Ae.getStreamFromFD(n),l=Pe.mmap(s,e,o,t,r),c=l.ptr;return F[i>>2]=l.allocated,L[a>>2]=c,0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},eh:function(e,t,r,n,o,i){i=zt(i);try{var a=Ae.getStreamFromFD(o);2&r&&Ae.doMsync(e,a,t,n,i)}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return-e.errno}},dh:(e,t,r,n)=>{var o=(new Date).getFullYear(),i=new Date(o,0,1),a=new Date(o,6,1),s=i.getTimezoneOffset(),l=a.getTimezoneOffset(),c=Math.max(s,l);L[e>>2]=60*c,F[t>>2]=Number(s!=l);var d=e=>{var t=e>=0?"-":"+",r=Math.abs(e);return`UTC${t}${String(Math.floor(r/60)).padStart(2,"0")}${String(r%60).padStart(2,"0")}`},u=d(s),p=d(l);l<s?(ae(u,r,17),ae(p,n,17)):(ae(u,n,17),ae(p,r,17))},ch:function(e){var t=Y(e);localStorage.removeItem(t)},yh:function(e,t,r){if(t=zt(t),!((n=e)>=0&&n<=3))return 28;var n,o;o=0===e?Yt():performance.now();var i=Math.round(1e3*o*1e3);return M[r>>3]=BigInt(i),0},Ja:(e,t,r,n,o)=>ir.chooseConfig(e,t,r,n,o),Ia:(e,t,r,n)=>{if(62e3!=e)return ir.setErrorCode(12296),0;for(var o=1;;){var i=F[n>>2];if(12440!=i){if(12344==i)break;return ir.setErrorCode(12292),0}o=F[n+4>>2],n+=8}return o<2||o>3?(ir.setErrorCode(12293),0):(ir.contextAttributes.majorVersion=o-1,ir.contextAttributes.minorVersion=0,ir.context=ar.createContext(or.getCanvas(),ir.contextAttributes),0!=ir.context?(ir.setErrorCode(12288),ar.makeContextCurrent(ir.context),or.useWebGL=!0,or.moduleContextCreatedCallbacks.forEach(e=>e()),ar.makeContextCurrent(null),62004):(ir.setErrorCode(12297),0))},bh:(e,t,r,n)=>62e3!=e?(ir.setErrorCode(12296),0):62002!=t?(ir.setErrorCode(12293),0):(ir.setErrorCode(12288),62006),Ha:(e,t)=>62e3!=e?(ir.setErrorCode(12296),0):62004!=t?(ir.setErrorCode(12294),0):(ar.deleteContext(ir.context),ir.setErrorCode(12288),ir.currentContext==t&&(ir.currentContext=0),1),ka:(e,t)=>62e3!=e?(ir.setErrorCode(12296),0):62006!=t?(ir.setErrorCode(12301),1):(ir.currentReadSurface==t&&(ir.currentReadSurface=0),ir.currentDrawSurface==t&&(ir.currentDrawSurface=0),ir.setErrorCode(12288),1),U:(e,t,r,n)=>{if(62e3!=e)return ir.setErrorCode(12296),0;if(62002!=t)return ir.setErrorCode(12293),0;if(!n)return ir.setErrorCode(12300),0;switch(ir.setErrorCode(12288),r){case 12320:return F[n>>2]=ir.contextAttributes.alpha?32:24,1;case 12321:return F[n>>2]=ir.contextAttributes.alpha?8:0,1;case 12322:case 12323:case 12324:return F[n>>2]=8,1;case 12325:return F[n>>2]=ir.contextAttributes.depth?24:0,1;case 12326:return F[n>>2]=ir.contextAttributes.stencil?8:0,1;case 12327:case 12335:case 12340:return F[n>>2]=12344,1;case 12328:return F[n>>2]=62002,1;case 12329:case 12333:case 12334:case 12345:case 12346:case 12347:case 12349:case 12350:case 12354:return F[n>>2]=0,1;case 12330:case 12332:return F[n>>2]=4096,1;case 12331:return F[n>>2]=16777216,1;case 12337:return F[n>>2]=ir.contextAttributes.antialias?4:0,1;case 12338:return F[n>>2]=ir.contextAttributes.antialias?1:0,1;case 12339:case 12352:return F[n>>2]=4,1;case 12341:case 12342:case 12343:return F[n>>2]=-1,1;case 12348:return F[n>>2]=1,1;case 12351:return F[n>>2]=12430,1;default:return ir.setErrorCode(12292),0}},ah:e=>(ir.setErrorCode(12288),0!=e&&1!=e?0:62e3),Ga:()=>ir.errorCode,$g:(e,t,r)=>62e3!=e?(ir.setErrorCode(12296),0):(t&&(F[t>>2]=1),r&&(F[r>>2]=4),ir.defaultDisplayInitialized=!0,ir.setErrorCode(12288),1),da:(e,t,r,n)=>62e3!=e?(ir.setErrorCode(12296),0):0!=n&&62004!=n?(ir.setErrorCode(12294),0):0!=r&&62006!=r||0!=t&&62006!=t?(ir.setErrorCode(12301),0):(ar.makeContextCurrent(n?ir.context:null),ir.currentContext=n,ir.currentDrawSurface=t,ir.currentReadSurface=r,ir.setErrorCode(12288),1),ja:(e,t)=>{if(62e3!=e)return ir.setErrorCode(12296),0;if(ir.setErrorCode(12288),ir.stringCache[t])return ir.stringCache[t];var r;switch(t){case 12371:r=se("Emscripten");break;case 12372:r=se("1.4 Emscripten EGL");break;case 12373:r=se("");break;case 12429:r=se("OpenGL_ES");break;default:return ir.setErrorCode(12300),0}return ir.stringCache[t]=r,r},Fa:(e,t)=>{if(ir.defaultDisplayInitialized)if(rr){if(!rr.isContextLost())return ir.setErrorCode(12288),1;ir.setErrorCode(12302)}else ir.setErrorCode(12290);else ir.setErrorCode(12289);return 0},_g:e=>62e3!=e?(ir.setErrorCode(12296),0):(ir.currentContext=0,ir.currentReadSurface=0,ir.currentDrawSurface=0,ir.defaultDisplayInitialized=!1,ir.setErrorCode(12288),1),G:(e,t,r)=>lr(e,t,r),Ea:e=>{console.error(Y(e))},Zg:e=>{console.log(Y(e))},Yg:e=>{console.warn(Y(e))},Da:Yt,Xg:()=>{},Wg:()=>2147483648,Vg:e=>rr.activeTexture(e),Ug:(e,t)=>{rr.attachShader(ar.programs[e],ar.shaders[t])},Tg:(e,t)=>{rr.beginQuery(e,ar.queries[t])},Sg:(e,t)=>{rr.disjointTimerQueryExt.beginQueryEXT(e,ar.queries[t])},Rg:e=>rr.beginTransformFeedback(e),Qg:(e,t,r)=>{rr.bindAttribLocation(ar.programs[e],t,Y(r))},Pg:(e,t)=>{35051==e?rr.currentPixelPackBufferBinding=t:35052==e&&(rr.currentPixelUnpackBufferBinding=t),rr.bindBuffer(e,ar.buffers[t])},Og:(e,t,r)=>{rr.bindBufferBase(e,t,ar.buffers[r])},Ng:(e,t,r,n,o)=>{rr.bindBufferRange(e,t,ar.buffers[r],n,o)},Mg:(e,t)=>{rr.bindFramebuffer(e,ar.framebuffers[t])},Lg:(e,t)=>{rr.bindRenderbuffer(e,ar.renderbuffers[t])},Kg:(e,t)=>{rr.bindSampler(e,ar.samplers[t])},Jg:(e,t)=>{rr.bindTexture(e,ar.textures[t])},Ig:(e,t)=>{rr.bindTransformFeedback(e,ar.transformFeedbacks[t])},Hg:cr,Gg:ur,Fg:(e,t,r,n)=>rr.blendColor(e,t,r,n),Eg:e=>rr.blendEquation(e),Dg:(e,t)=>rr.blendEquationSeparate(e,t),Cg:(e,t)=>rr.blendFunc(e,t),Bg:(e,t,r,n)=>rr.blendFuncSeparate(e,t,r,n),Ag:(e,t,r,n,o,i,a,s,l,c)=>rr.blitFramebuffer(e,t,r,n,o,i,a,s,l,c),zg:(e,t,r,n)=>{ar.currentContext.version>=2?r&&t?rr.bufferData(e,U,n,r,t):rr.bufferData(e,t,n):rr.bufferData(e,r?U.subarray(r,r+t):t,n)},yg:(e,t,r,n)=>((e,t,r,n,o=U)=>{ar.currentContext.version>=2?r&&rr.bufferSubData(e,t,o,n,r):rr.bufferSubData(e,t,o.subarray(n,n+r))})(e,t,r,n),xg:e=>rr.checkFramebufferStatus(e),wg:e=>rr.clear(e),vg:(e,t,r,n)=>rr.clearBufferfi(e,t,r,n),ug:(e,t,r)=>{rr.clearBufferfv(e,t,D,r>>2)},tg:(e,t,r)=>{rr.clearBufferiv(e,t,F,r>>2)},sg:(e,t,r)=>{rr.clearBufferuiv(e,t,L,r>>2)},rg:(e,t,r,n)=>rr.clearColor(e,t,r,n),qg:e=>rr.clearDepth(e),pg:e=>rr.clearStencil(e),og:(e,t,r)=>(r=Number(r),rr.clientWaitSync(ar.syncs[e],t,r)),ng:(e,t)=>{rr.extClipControl.clipControlEXT(e,t)},mg:(e,t,r,n)=>{rr.colorMask(!!e,!!t,!!r,!!n)},lg:e=>{rr.compileShader(ar.shaders[e])},kg:(e,t,r,n,o,i,a,s)=>{if(ar.currentContext.version>=2)return rr.currentPixelUnpackBufferBinding||!a?void rr.compressedTexImage2D(e,t,r,n,o,i,a,s):void rr.compressedTexImage2D(e,t,r,n,o,i,U,s,a);rr.compressedTexImage2D(e,t,r,n,o,i,U.subarray(s,s+a))},jg:(e,t,r,n,o,i,a,s,l)=>{rr.currentPixelUnpackBufferBinding?rr.compressedTexImage3D(e,t,r,n,o,i,a,s,l):rr.compressedTexImage3D(e,t,r,n,o,i,a,U,l,s)},ig:(e,t,r,n,o,i,a,s,l)=>{if(ar.currentContext.version>=2)return rr.currentPixelUnpackBufferBinding||!s?void rr.compressedTexSubImage2D(e,t,r,n,o,i,a,s,l):void rr.compressedTexSubImage2D(e,t,r,n,o,i,a,U,l,s);rr.compressedTexSubImage2D(e,t,r,n,o,i,a,U.subarray(l,l+s))},hg:(e,t,r,n,o,i,a,s,l,c,d)=>{rr.currentPixelUnpackBufferBinding?rr.compressedTexSubImage3D(e,t,r,n,o,i,a,s,l,c,d):rr.compressedTexSubImage3D(e,t,r,n,o,i,a,s,l,U,d,c)},gg:(e,t,r,n,o)=>rr.copyBufferSubData(e,t,r,n,o),fg:(e,t,r,n,o,i,a,s)=>rr.copyTexImage2D(e,t,r,n,o,i,a,s),eg:(e,t,r,n,o,i,a,s)=>rr.copyTexSubImage2D(e,t,r,n,o,i,a,s),dg:(e,t,r,n,o,i,a,s,l)=>rr.copyTexSubImage3D(e,t,r,n,o,i,a,s,l),cg:()=>{var e=ar.getNewId(ar.programs),t=rr.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,ar.programs[e]=t,e},bg:e=>{var t=ar.getNewId(ar.shaders);return ar.shaders[t]=rr.createShader(e),t},ag:e=>rr.cullFace(e),$f:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.buffers[n];o&&(rr.deleteBuffer(o),o.name=0,ar.buffers[n]=null,n==rr.currentPixelPackBufferBinding&&(rr.currentPixelPackBufferBinding=0),n==rr.currentPixelUnpackBufferBinding&&(rr.currentPixelUnpackBufferBinding=0))}},_f:(e,t)=>{for(var r=0;r<e;++r){var n=F[t+4*r>>2],o=ar.framebuffers[n];o&&(rr.deleteFramebuffer(o),o.name=0,ar.framebuffers[n]=null)}},Zf:e=>{if(e){var t=ar.programs[e];t?(rr.deleteProgram(t),t.name=0,ar.programs[e]=null):ar.recordError(1281)}},Yf:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.queries[n];o&&(rr.deleteQuery(o),ar.queries[n]=null)}},Xf:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.queries[n];o&&(rr.disjointTimerQueryExt.deleteQueryEXT(o),ar.queries[n]=null)}},Wf:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.renderbuffers[n];o&&(rr.deleteRenderbuffer(o),o.name=0,ar.renderbuffers[n]=null)}},Vf:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.samplers[n];o&&(rr.deleteSampler(o),o.name=0,ar.samplers[n]=null)}},Uf:e=>{if(e){var t=ar.shaders[e];t?(rr.deleteShader(t),ar.shaders[e]=null):ar.recordError(1281)}},Tf:e=>{if(e){var t=ar.syncs[e];t?(rr.deleteSync(t),t.name=0,ar.syncs[e]=null):ar.recordError(1281)}},Sf:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.textures[n];o&&(rr.deleteTexture(o),o.name=0,ar.textures[n]=null)}},Rf:(e,t)=>{for(var r=0;r<e;r++){var n=F[t+4*r>>2],o=ar.transformFeedbacks[n];o&&(rr.deleteTransformFeedback(o),o.name=0,ar.transformFeedbacks[n]=null)}},Qf:pr,Pf:gr,Of:e=>rr.depthFunc(e),Nf:e=>{rr.depthMask(!!e)},Mf:(e,t)=>rr.depthRange(e,t),Lf:(e,t)=>{rr.detachShader(ar.programs[e],ar.shaders[t])},Kf:e=>rr.disable(e),Jf:e=>{rr.disableVertexAttribArray(e)},If:(e,t,r)=>{rr.drawArrays(e,t,r)},Hf:fr,Gf:br,Ff:yr,Ef:(e,t,r,n,o)=>{rr.dibvbi.drawArraysInstancedBaseInstanceWEBGL(e,t,r,n,o)},Df:vr,Cf:wr,Bf:_r,Af:Er,zf:Cr,yf:Tr,xf:xr,wf:Ar,vf:Fr,uf:(e,t,r,n,o,i,a)=>{rr.dibvbi.drawElementsInstancedBaseVertexBaseInstanceWEBGL(e,t,r,n,o,i,a)},tf:Mr,sf:Ir,rf:(e,t,r,n,o,i)=>{Dr(e,n,o,i)},qf:e=>rr.enable(e),pf:e=>{rr.enableVertexAttribArray(e)},of:e=>rr.endQuery(e),nf:e=>{rr.disjointTimerQueryExt.endQueryEXT(e)},mf:()=>rr.endTransformFeedback(),lf:(e,t)=>{var r=rr.fenceSync(e,t);if(r){var n=ar.getNewId(ar.syncs);return r.name=n,ar.syncs[n]=r,n}return 0},kf:()=>rr.finish(),jf:()=>rr.flush(),hf:(e,t,r,n)=>{rr.framebufferRenderbuffer(e,t,r,ar.renderbuffers[n])},gf:(e,t,r,n,o)=>{rr.framebufferTexture2D(e,t,r,ar.textures[n],o)},ff:(e,t,r,n,o)=>{rr.framebufferTextureLayer(e,t,ar.textures[r],n,o)},ef:e=>rr.frontFace(e),df:(e,t)=>{ar.genObject(e,t,"createBuffer",ar.buffers)},cf:(e,t)=>{ar.genObject(e,t,"createFramebuffer",ar.framebuffers)},bf:(e,t)=>{ar.genObject(e,t,"createQuery",ar.queries)},af:(e,t)=>{for(var r=0;r<e;r++){var n=rr.disjointTimerQueryExt.createQueryEXT();if(!n){for(ar.recordError(1282);r<e;)F[t+4*r++>>2]=0;return}var o=ar.getNewId(ar.queries);n.name=o,ar.queries[o]=n,F[t+4*r>>2]=o}},$e:(e,t)=>{ar.genObject(e,t,"createRenderbuffer",ar.renderbuffers)},_e:(e,t)=>{ar.genObject(e,t,"createSampler",ar.samplers)},Ze:(e,t)=>{ar.genObject(e,t,"createTexture",ar.textures)},Ye:(e,t)=>{ar.genObject(e,t,"createTransformFeedback",ar.transformFeedbacks)},Xe:Rr,We:Br,Ve:e=>rr.generateMipmap(e),Ue:(e,t,r,n,o,i,a)=>Lr("getActiveAttrib",e,t,r,n,o,i,a),Te:(e,t,r,n,o,i,a)=>Lr("getActiveUniform",e,t,r,n,o,i,a),Se:(e,t,r,n,o)=>{e=ar.programs[e];var i=rr.getActiveUniformBlockName(e,t);if(i)if(o&&r>0){var a=ae(i,o,r);n&&(F[n>>2]=a)}else n&&(F[n>>2]=0)},Re:(e,t,r,n)=>{if(n)if(e=ar.programs[e],35393!=r){var o=rr.getActiveUniformBlockParameter(e,t,r);if(null!==o)if(35395==r)for(var i=0;i<o.length;i++)F[n+4*i>>2]=o[i];else F[n>>2]=o}else{var a=rr.getActiveUniformBlockName(e,t);F[n>>2]=a.length+1}else ar.recordError(1281)},Qe:(e,t,r,n,o)=>{if(o)if(t>0&&0==r)ar.recordError(1281);else{e=ar.programs[e];for(var i=[],a=0;a<t;a++)i.push(F[r+4*a>>2]);var s=rr.getActiveUniforms(e,i,n);if(s){var l=s.length;for(a=0;a<l;a++)F[o+4*a>>2]=s[a]}}else ar.recordError(1281)},Pe:(e,t,r,n)=>{var o=rr.getAttachedShaders(ar.programs[e]),i=o.length;i>t&&(i=t),F[r>>2]=i;for(var a=0;a<i;++a){var s=ar.shaders.indexOf(o[a]);F[n+4*a>>2]=s}},Oe:(e,t)=>rr.getAttribLocation(ar.programs[e],Y(t)),Ne:(e,t)=>qr(e,t,4),Me:(e,t,r)=>{r?Or(r,rr.getBufferParameter(e,t)):ar.recordError(1281)},Le:(e,t,r)=>{r?F[r>>2]=rr.getBufferParameter(e,t):ar.recordError(1281)},Ke:()=>{var e=rr.getError()||ar.lastError;return ar.lastError=0,e},Je:(e,t)=>qr(e,t,2),Ie:(e,t)=>rr.getFragDataLocation(ar.programs[e],Y(t)),He:(e,t,r,n)=>{var o=rr.getFramebufferAttachmentParameter(e,t,r);(o instanceof WebGLRenderbuffer||o instanceof WebGLTexture)&&(o=0|o.name),F[n>>2]=o},Ge:(e,t,r)=>Wr(e,t,r,1),Fe:(e,t)=>{qr(e,t,1)},Ee:(e,t,r)=>Wr(e,t,r,0),De:(e,t)=>qr(e,t,0),Ce:(e,t,r,n,o)=>{if(n<0)ar.recordError(1281);else if(o){var i=rr.getInternalformatParameter(e,t,r);if(null!==i)for(var a=0;a<i.length&&a<n;++a)F[o+4*a>>2]=i[a]}else ar.recordError(1281)},Be:(e,t,r,n,o)=>{ar.recordError(1282)},Ae:(e,t,r,n)=>{var o=rr.getProgramInfoLog(ar.programs[e]);null===o&&(o="(unknown error)");var i=t>0&&n?ae(o,n,t):0;r&&(F[r>>2]=i)},ze:(e,t,r)=>{if(r)if(e>=ar.counter)ar.recordError(1281);else if(e=ar.programs[e],35716==t){var n=rr.getProgramInfoLog(e);null===n&&(n="(unknown error)"),F[r>>2]=n.length+1}else if(35719==t){if(!e.maxUniformLength)for(var o=rr.getProgramParameter(e,35718),i=0;i<o;++i)e.maxUniformLength=Math.max(e.maxUniformLength,rr.getActiveUniform(e,i).name.length+1);F[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength){var a=rr.getProgramParameter(e,35721);for(i=0;i<a;++i)e.maxAttributeLength=Math.max(e.maxAttributeLength,rr.getActiveAttrib(e,i).name.length+1)}F[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength){var s=rr.getProgramParameter(e,35382);for(i=0;i<s;++i)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,rr.getActiveUniformBlockName(e,i).length+1)}F[r>>2]=e.maxUniformBlockNameLength}else F[r>>2]=rr.getProgramParameter(e,t);else ar.recordError(1281)},ye:Hr,xe:$r,we:Nr,ve:(e,t,r)=>{if(r){var n,o=ar.queries[e],i=rr.getQueryParameter(o,t);n="boolean"==typeof i?i?1:0:i,F[r>>2]=n}else ar.recordError(1281)},ue:Vr,te:(e,t,r)=>{r?F[r>>2]=rr.getQuery(e,t):ar.recordError(1281)},se:(e,t,r)=>{r?F[r>>2]=rr.disjointTimerQueryExt.getQueryEXT(e,t):ar.recordError(1281)},re:(e,t,r)=>{r?F[r>>2]=rr.getRenderbufferParameter(e,t):ar.recordError(1281)},qe:(e,t,r)=>{r?D[r>>2]=rr.getSamplerParameter(ar.samplers[e],t):ar.recordError(1281)},pe:(e,t,r)=>{r?F[r>>2]=rr.getSamplerParameter(ar.samplers[e],t):ar.recordError(1281)},oe:(e,t,r,n)=>{var o=rr.getShaderInfoLog(ar.shaders[e]);null===o&&(o="(unknown error)");var i=t>0&&n?ae(o,n,t):0;r&&(F[r>>2]=i)},ne:(e,t,r,n)=>{var o=rr.getShaderPrecisionFormat(e,t);F[r>>2]=o.rangeMin,F[r+4>>2]=o.rangeMax,F[n>>2]=o.precision},me:(e,t,r,n)=>{var o=rr.getShaderSource(ar.shaders[e]);if(o){var i=t>0&&n?ae(o,n,t):0;r&&(F[r>>2]=i)}},le:(e,t,r)=>{if(r)if(35716==t){var n=rr.getShaderInfoLog(ar.shaders[e]);null===n&&(n="(unknown error)");var o=n?n.length+1:0;F[r>>2]=o}else if(35720==t){var i=rr.getShaderSource(ar.shaders[e]),a=i?i.length+1:0;F[r>>2]=a}else F[r>>2]=rr.getShaderParameter(ar.shaders[e],t);else ar.recordError(1281)},Ca:e=>{var t=ar.stringCache[e];if(!t){switch(e){case 7939:t=se(Ur().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=rr.getParameter(e);r||ar.recordError(1280),t=r?se(r):0;break;case 7938:var n=rr.getParameter(7938),o=`OpenGL ES 2.0 (${n})`;ar.currentContext.version>=2&&(o=`OpenGL ES 3.0 (${n})`),t=se(o);break;case 35724:var i=rr.getParameter(35724),a=i.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==a&&(3==a[1].length&&(a[1]=a[1]+"0"),i=`OpenGL ES GLSL ES ${a[1]} (${i})`),t=se(i);break;default:ar.recordError(1280)}ar.stringCache[e]=t}return t},ke:(e,t)=>{if(ar.currentContext.version<2)return ar.recordError(1282),0;var r=ar.stringiCache[e];if(r)return t<0||t>=r.length?(ar.recordError(1281),0):r[t];if(7939===e){var n=Ur().map(se);return r=ar.stringiCache[e]=n,t<0||t>=r.length?(ar.recordError(1281),0):r[t]}return ar.recordError(1280),0},je:(e,t,r,n,o)=>{if(r<0)ar.recordError(1281);else if(o){var i=rr.getSyncParameter(ar.syncs[e],t);null!==i&&(F[o>>2]=i,n&&(F[n>>2]=1))}else ar.recordError(1281)},ie:(e,t,r)=>{r?D[r>>2]=rr.getTexParameter(e,t):ar.recordError(1281)},he:(e,t,r)=>{r?F[r>>2]=rr.getTexParameter(e,t):ar.recordError(1281)},ge:(e,t,r,n,o,i,a)=>{e=ar.programs[e];var s=rr.getTransformFeedbackVarying(e,t);if(s){if(a&&r>0){var l=ae(s.name,a,r);n&&(F[n>>2]=l)}else n&&(F[n>>2]=0);o&&(F[o>>2]=s.size),i&&(F[i>>2]=s.type)}},fe:(e,t)=>rr.getUniformBlockIndex(ar.programs[e],Y(t)),ee:(e,t,r,n)=>{if(n)if(t>0&&(0==r||0==n))ar.recordError(1281);else{e=ar.programs[e];for(var o=[],i=0;i<t;i++)o.push(Y(L[r+4*i>>2]));var a=rr.getUniformIndices(e,o);if(a){var s=a.length;for(i=0;i<s;i++)F[n+4*i>>2]=a[i]}}else ar.recordError(1281)},de:(e,t)=>{if(t=Y(t),e=ar.programs[e]){Gr(e);var r=e.uniformLocsById,n=0,o=t,i=zr(t);i>0&&(s=t.slice(i+1),n=parseInt(s)>>>0,o=t.slice(0,i));var a=e.uniformSizeAndIdsByName[o];if(a&&n<a[0]&&(r[n+=a[1]]=r[n]||rr.getUniformLocation(e,t)))return n}else ar.recordError(1281);var s;return-1},ce:(e,t,r)=>{Xr(e,t,r,2)},be:(e,t,r)=>{Xr(e,t,r,0)},ae:(e,t,r)=>Xr(e,t,r,0),$d:Kr,_d:Qr,Zd:(e,t,r)=>{r?F[r>>2]=rr.getVertexAttribOffset(e,t):ar.recordError(1281)},Yd:(e,t,r)=>{Yr(e,t,r,2)},Xd:(e,t,r)=>{Yr(e,t,r,5)},Wd:(e,t)=>rr.hint(e,t),Vd:(e,t,r)=>{for(var n=kr[t],o=0;o<t;o++)n[o]=F[r+4*o>>2];rr.invalidateFramebuffer(e,n)},Ud:(e,t,r,n,o,i,a)=>{for(var s=kr[t],l=0;l<t;l++)s[l]=F[r+4*l>>2];rr.invalidateSubFramebuffer(e,s,n,o,i,a)},Td:e=>{var t=ar.buffers[e];return t?rr.isBuffer(t):0},Sd:e=>rr.isEnabled(e),Rd:e=>{var t=ar.framebuffers[e];return t?rr.isFramebuffer(t):0},Qd:e=>(e=ar.programs[e])?rr.isProgram(e):0,Pd:e=>{var t=ar.queries[e];return t?rr.isQuery(t):0},Od:e=>{var t=ar.queries[e];return t?rr.disjointTimerQueryExt.isQueryEXT(t):0},Nd:e=>{var t=ar.renderbuffers[e];return t?rr.isRenderbuffer(t):0},Md:e=>{var t=ar.samplers[e];return t?rr.isSampler(t):0},Ld:e=>{var t=ar.shaders[e];return t?rr.isShader(t):0},Kd:e=>rr.isSync(ar.syncs[e]),Jd:e=>{var t=ar.textures[e];return t?rr.isTexture(t):0},Id:e=>rr.isTransformFeedback(ar.transformFeedbacks[e]),Hd:Zr,Gd:Jr,Fd:e=>rr.lineWidth(e),Ed:e=>{e=ar.programs[e],rr.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},Dd:(e,t,r,n,o,i)=>{rr.mdibvbi.multiDrawArraysInstancedBaseInstanceWEBGL(e,F,t>>2,F,r>>2,F,n>>2,L,o>>2,i)},Cd:(e,t,r,n,o,i,a,s)=>{rr.mdibvbi.multiDrawElementsInstancedBaseVertexBaseInstanceWEBGL(e,F,t>>2,r,F,n>>2,F,o>>2,F,i>>2,L,a>>2,s)},Bd:()=>rr.pauseTransformFeedback(),Ad:(e,t)=>{3317==e?ar.unpackAlignment=t:3314==e&&(ar.unpackRowLength=t),rr.pixelStorei(e,t)},zd:(e,t)=>{rr.webglPolygonMode.polygonModeWEBGL(e,t)},yd:(e,t)=>rr.polygonOffset(e,t),xd:(e,t,r)=>{rr.extPolygonOffsetClamp.polygonOffsetClampEXT(e,t,r)},wd:(e,t,r,n)=>{ar.recordError(1280)},vd:(e,t,r)=>{ar.recordError(1280)},ud:(e,t)=>{rr.disjointTimerQueryExt.queryCounterEXT(ar.queries[e],t)},td:e=>rr.readBuffer(e),sd:(e,t,r,n,o,i,a)=>{if(ar.currentContext.version>=2){if(rr.currentPixelPackBufferBinding)return void rr.readPixels(e,t,r,n,o,i,a);var s=en(i),l=tn(a,s);rr.readPixels(e,t,r,n,o,i,s,l)}else{var c=rn(i,o,r,n,a);c?rr.readPixels(e,t,r,n,o,i,c):ar.recordError(1280)}},rd:()=>{},qd:(e,t,r,n)=>rr.renderbufferStorage(e,t,r,n),pd:(e,t,r,n,o)=>rr.renderbufferStorageMultisample(e,t,r,n,o),od:()=>rr.resumeTransformFeedback(),nd:(e,t)=>{rr.sampleCoverage(e,!!t)},md:(e,t,r)=>{rr.samplerParameterf(ar.samplers[e],t,r)},ld:(e,t,r)=>{var n=D[r>>2];rr.samplerParameterf(ar.samplers[e],t,n)},kd:(e,t,r)=>{rr.samplerParameteri(ar.samplers[e],t,r)},jd:(e,t,r)=>{var n=F[r>>2];rr.samplerParameteri(ar.samplers[e],t,n)},id:(e,t,r,n)=>rr.scissor(e,t,r,n),hd:(e,t,r,n,o)=>{ar.recordError(1280)},gd:(e,t,r,n)=>{var o=ar.getSource(e,t,r,n);if(ar.currentContext.version>=2&&o.includes("#version 100")){var i="";(o=(o=o.replace(/#extension GL_OES_standard_derivatives : enable/g,"")).replace(/#extension GL_EXT_shader_texture_lod : enable/g,"")).includes("gl_FragColor")&&(i+="out mediump vec4 GL_FragColor;\n",o=o.replace(/gl_FragColor/g,"GL_FragColor")),o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=(o=o.includes("attribute")?(o=o.replace(/attribute/g,"in")).replace(/varying/g,"out"):o.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"+i)}rr.shaderSource(ar.shaders[e],o)},fd:(e,t,r)=>rr.stencilFunc(e,t,r),ed:(e,t,r,n)=>rr.stencilFuncSeparate(e,t,r,n),dd:e=>rr.stencilMask(e),cd:(e,t)=>rr.stencilMaskSeparate(e,t),bd:(e,t,r)=>rr.stencilOp(e,t,r),ad:(e,t,r,n)=>rr.stencilOpSeparate(e,t,r,n),$c:(e,t,r,n,o,i,a,s,l)=>{if(ar.currentContext.version>=2&&(6402==a&&6402==r&&5125==s&&(r=33190),36193==s&&(s=5131,6408==a&&6408==r&&(r=34842)),34041==r&&(r=35056),6408==r&&5126==s&&(r=34836)),ar.currentContext.version>=2){if(rr.currentPixelUnpackBufferBinding)return void rr.texImage2D(e,t,r,n,o,i,a,s,l);if(l){var c=en(s),d=tn(l,c);return void rr.texImage2D(e,t,r,n,o,i,a,s,c,d)}}var u=l?rn(s,a,n,o,l):null;rr.texImage2D(e,t,r,n,o,i,a,s,u)},_c:(e,t,r,n,o,i,a,s,l,c)=>{if(rr.currentPixelUnpackBufferBinding)rr.texImage3D(e,t,r,n,o,i,a,s,l,c);else if(c){var d=en(l);rr.texImage3D(e,t,r,n,o,i,a,s,l,d,tn(c,d))}else rr.texImage3D(e,t,r,n,o,i,a,s,l,null)},Zc:(e,t,r)=>rr.texParameterf(e,t,r),Yc:(e,t,r)=>{var n=D[r>>2];rr.texParameterf(e,t,n)},Xc:(e,t,r)=>rr.texParameteri(e,t,r),Wc:(e,t,r)=>{var n=F[r>>2];rr.texParameteri(e,t,n)},Vc:(e,t,r,n,o)=>rr.texStorage2D(e,t,r,n,o),Uc:(e,t,r,n,o,i)=>rr.texStorage3D(e,t,r,n,o,i),Tc:(e,t,r,n,o,i,a,s,l)=>{if(ar.currentContext.version>=2&&36193==s&&(s=5131),ar.currentContext.version>=2){if(rr.currentPixelUnpackBufferBinding)return void rr.texSubImage2D(e,t,r,n,o,i,a,s,l);if(l){var c=en(s);return void rr.texSubImage2D(e,t,r,n,o,i,a,s,c,tn(l,c))}}var d=l?rn(s,a,o,i,l):null;rr.texSubImage2D(e,t,r,n,o,i,a,s,d)},Sc:(e,t,r,n,o,i,a,s,l,c,d)=>{if(rr.currentPixelUnpackBufferBinding)rr.texSubImage3D(e,t,r,n,o,i,a,s,l,c,d);else if(d){var u=en(c);rr.texSubImage3D(e,t,r,n,o,i,a,s,l,c,u,tn(d,u))}else rr.texSubImage3D(e,t,r,n,o,i,a,s,l,c,null)},Rc:(e,t,r,n)=>{e=ar.programs[e];for(var o=[],i=0;i<t;i++)o.push(Y(L[r+4*i>>2]));rr.transformFeedbackVaryings(e,o,n)},Qc:(e,t)=>{rr.uniform1f(nn(e),t)},Pc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform1fv(nn(e),D,r>>2,t);else{if(t<=288)for(var n=on[t],o=0;o<t;++o)n[o]=D[r+4*o>>2];else n=D.subarray(r>>2,r+4*t>>2);rr.uniform1fv(nn(e),n)}},Oc:(e,t)=>{rr.uniform1i(nn(e),t)},Nc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform1iv(nn(e),F,r>>2,t);else{if(t<=288)for(var n=an[t],o=0;o<t;++o)n[o]=F[r+4*o>>2];else n=F.subarray(r>>2,r+4*t>>2);rr.uniform1iv(nn(e),n)}},Mc:(e,t)=>{rr.uniform1ui(nn(e),t)},Lc:(e,t,r)=>{t&&rr.uniform1uiv(nn(e),L,r>>2,t)},Kc:(e,t,r)=>{rr.uniform2f(nn(e),t,r)},Jc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform2fv(nn(e),D,r>>2,2*t);else{if(t<=144)for(var n=on[t*=2],o=0;o<t;o+=2)n[o]=D[r+4*o>>2],n[o+1]=D[r+(4*o+4)>>2];else n=D.subarray(r>>2,r+8*t>>2);rr.uniform2fv(nn(e),n)}},Ic:(e,t,r)=>{rr.uniform2i(nn(e),t,r)},Hc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform2iv(nn(e),F,r>>2,2*t);else{if(t<=144)for(var n=an[t*=2],o=0;o<t;o+=2)n[o]=F[r+4*o>>2],n[o+1]=F[r+(4*o+4)>>2];else n=F.subarray(r>>2,r+8*t>>2);rr.uniform2iv(nn(e),n)}},Gc:(e,t,r)=>{rr.uniform2ui(nn(e),t,r)},Fc:(e,t,r)=>{t&&rr.uniform2uiv(nn(e),L,r>>2,2*t)},Ec:(e,t,r,n)=>{rr.uniform3f(nn(e),t,r,n)},Dc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform3fv(nn(e),D,r>>2,3*t);else{if(t<=96)for(var n=on[t*=3],o=0;o<t;o+=3)n[o]=D[r+4*o>>2],n[o+1]=D[r+(4*o+4)>>2],n[o+2]=D[r+(4*o+8)>>2];else n=D.subarray(r>>2,r+12*t>>2);rr.uniform3fv(nn(e),n)}},Cc:(e,t,r,n)=>{rr.uniform3i(nn(e),t,r,n)},Bc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform3iv(nn(e),F,r>>2,3*t);else{if(t<=96)for(var n=an[t*=3],o=0;o<t;o+=3)n[o]=F[r+4*o>>2],n[o+1]=F[r+(4*o+4)>>2],n[o+2]=F[r+(4*o+8)>>2];else n=F.subarray(r>>2,r+12*t>>2);rr.uniform3iv(nn(e),n)}},Ac:(e,t,r,n)=>{rr.uniform3ui(nn(e),t,r,n)},zc:(e,t,r)=>{t&&rr.uniform3uiv(nn(e),L,r>>2,3*t)},yc:(e,t,r,n,o)=>{rr.uniform4f(nn(e),t,r,n,o)},xc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform4fv(nn(e),D,r>>2,4*t);else{if(t<=72){var n=on[4*t],o=D;r>>=2,t*=4;for(var i=0;i<t;i+=4){var a=r+i;n[i]=o[a],n[i+1]=o[a+1],n[i+2]=o[a+2],n[i+3]=o[a+3]}}else n=D.subarray(r>>2,r+16*t>>2);rr.uniform4fv(nn(e),n)}},wc:(e,t,r,n,o)=>{rr.uniform4i(nn(e),t,r,n,o)},vc:(e,t,r)=>{if(ar.currentContext.version>=2)t&&rr.uniform4iv(nn(e),F,r>>2,4*t);else{if(t<=72)for(var n=an[t*=4],o=0;o<t;o+=4)n[o]=F[r+4*o>>2],n[o+1]=F[r+(4*o+4)>>2],n[o+2]=F[r+(4*o+8)>>2],n[o+3]=F[r+(4*o+12)>>2];else n=F.subarray(r>>2,r+16*t>>2);rr.uniform4iv(nn(e),n)}},uc:(e,t,r,n,o)=>{rr.uniform4ui(nn(e),t,r,n,o)},tc:(e,t,r)=>{t&&rr.uniform4uiv(nn(e),L,r>>2,4*t)},sc:(e,t,r)=>{e=ar.programs[e],rr.uniformBlockBinding(e,t,r)},rc:(e,t,r,n)=>{if(ar.currentContext.version>=2)t&&rr.uniformMatrix2fv(nn(e),!!r,D,n>>2,4*t);else{if(t<=72)for(var o=on[t*=4],i=0;i<t;i+=4)o[i]=D[n+4*i>>2],o[i+1]=D[n+(4*i+4)>>2],o[i+2]=D[n+(4*i+8)>>2],o[i+3]=D[n+(4*i+12)>>2];else o=D.subarray(n>>2,n+16*t>>2);rr.uniformMatrix2fv(nn(e),!!r,o)}},qc:(e,t,r,n)=>{t&&rr.uniformMatrix2x3fv(nn(e),!!r,D,n>>2,6*t)},pc:(e,t,r,n)=>{t&&rr.uniformMatrix2x4fv(nn(e),!!r,D,n>>2,8*t)},oc:(e,t,r,n)=>{if(ar.currentContext.version>=2)t&&rr.uniformMatrix3fv(nn(e),!!r,D,n>>2,9*t);else{if(t<=32)for(var o=on[t*=9],i=0;i<t;i+=9)o[i]=D[n+4*i>>2],o[i+1]=D[n+(4*i+4)>>2],o[i+2]=D[n+(4*i+8)>>2],o[i+3]=D[n+(4*i+12)>>2],o[i+4]=D[n+(4*i+16)>>2],o[i+5]=D[n+(4*i+20)>>2],o[i+6]=D[n+(4*i+24)>>2],o[i+7]=D[n+(4*i+28)>>2],o[i+8]=D[n+(4*i+32)>>2];else o=D.subarray(n>>2,n+36*t>>2);rr.uniformMatrix3fv(nn(e),!!r,o)}},nc:(e,t,r,n)=>{t&&rr.uniformMatrix3x2fv(nn(e),!!r,D,n>>2,6*t)},mc:(e,t,r,n)=>{t&&rr.uniformMatrix3x4fv(nn(e),!!r,D,n>>2,12*t)},lc:(e,t,r,n)=>{if(ar.currentContext.version>=2)t&&rr.uniformMatrix4fv(nn(e),!!r,D,n>>2,16*t);else{if(t<=18){var o=on[16*t],i=D;n>>=2,t*=16;for(var a=0;a<t;a+=16){var s=n+a;o[a]=i[s],o[a+1]=i[s+1],o[a+2]=i[s+2],o[a+3]=i[s+3],o[a+4]=i[s+4],o[a+5]=i[s+5],o[a+6]=i[s+6],o[a+7]=i[s+7],o[a+8]=i[s+8],o[a+9]=i[s+9],o[a+10]=i[s+10],o[a+11]=i[s+11],o[a+12]=i[s+12],o[a+13]=i[s+13],o[a+14]=i[s+14],o[a+15]=i[s+15]}}else o=D.subarray(n>>2,n+64*t>>2);rr.uniformMatrix4fv(nn(e),!!r,o)}},kc:(e,t,r,n)=>{t&&rr.uniformMatrix4x2fv(nn(e),!!r,D,n>>2,8*t)},jc:(e,t,r,n)=>{t&&rr.uniformMatrix4x3fv(nn(e),!!r,D,n>>2,12*t)},ic:e=>{e=ar.programs[e],rr.useProgram(e),rr.currentProgram=e},hc:e=>{rr.validateProgram(ar.programs[e])},gc:(e,t)=>rr.vertexAttrib1f(e,t),fc:(e,t)=>{rr.vertexAttrib1f(e,D[t>>2])},ec:(e,t,r)=>rr.vertexAttrib2f(e,t,r),dc:(e,t)=>{rr.vertexAttrib2f(e,D[t>>2],D[t+4>>2])},cc:(e,t,r,n)=>rr.vertexAttrib3f(e,t,r,n),bc:(e,t)=>{rr.vertexAttrib3f(e,D[t>>2],D[t+4>>2],D[t+8>>2])},ac:(e,t,r,n,o)=>rr.vertexAttrib4f(e,t,r,n,o),$b:(e,t)=>{rr.vertexAttrib4f(e,D[t>>2],D[t+4>>2],D[t+8>>2],D[t+12>>2])},_b:sn,Zb:ln,Yb:cn,Xb:dn,Wb:un,Vb:(e,t,r,n,o)=>rr.vertexAttribI4i(e,t,r,n,o),Ub:(e,t)=>{rr.vertexAttribI4i(e,F[t>>2],F[t+4>>2],F[t+8>>2],F[t+12>>2])},Tb:(e,t,r,n,o)=>rr.vertexAttribI4ui(e,t,r,n,o),Sb:(e,t)=>{rr.vertexAttribI4ui(e,L[t>>2],L[t+4>>2],L[t+8>>2],L[t+12>>2])},Rb:(e,t,r,n,o)=>{rr.vertexAttribIPointer(e,t,r,n,o)},Qb:(e,t,r,n,o,i)=>{rr.vertexAttribPointer(e,t,r,!!n,o,i)},Pb:(e,t,r,n)=>rr.viewport(e,t,r,n),Ob:(e,t,r)=>{r=Number(r),rr.waitSync(ar.syncs[e],t,r)},Nb:e=>{var t=U.length,r=2147483648;if((e>>>=0)>r)return!1;for(var n=1;n<=4;n*=2){var o=t*(1+.2/n);o=Math.min(o,e+100663296);var i=Math.min(r,me(Math.max(e,o),65536));if(pn(i))return!0}return!1},Mb:function(e,t,r,n,o,i,a,s,c){const d=l.UTF8ToString(e,e+t),u=l.HEAPU8.subarray(o,o+i),p=l.emscripten_ubq_codec_audioDecoderNextHandle++,h={codec:d,sampleRate:r,numberOfChannels:n};u.length>0&&(h.description=u);try{const e=l.emscripten_ubq_codec_createAudioDecoder(a,s,c);AudioDecoder.isConfigSupported(h).then(t=>{e.configUnsupported=!t},()=>{e.configUnsupported=!0}),e.configure(h),l.emscripten_ubq_codec_audioDecoders.set(p,{audioDecoder:e,decoderConfig:h,leftBufferPtr:a,rightBufferPtr:s,bufferLength:c,opfsUri:""})}catch(e){return l.emscripten_ubq_codec_createNativeResult({error:e})}return l.emscripten_ubq_codec_createNativeResult({handle:p})},Lb:function(e,t,r,n,o,i){const a=l.UTF8ToString(e,e+t),s=l.emscripten_ubq_codec_audioEncoderNextHandle++,c={codec:a,sampleRate:r,numberOfChannels:n,bitrate:o};try{const e=new AudioEncoder({output:e=>{const t=l._malloc(e.byteLength),r=l.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),l.emscripten_ubq_codec_onOutputEncodedAudioChunk(s,t,e.byteLength,i),l._free(t)},error:e=>{l.emscripten_ubq_codec_audioEncoders.get(s).frameIndex>1&&console.error(e)}});e.configure(c),l.emscripten_ubq_codec_audioEncoders.set(s,{audioEncoder:e,audioEncoderConfig:c,frameIndex:0})}catch(e){return e+=' Requested codec: "'+a+'"',e+="; sample rate: "+r,e+="; channels: "+n,e+="; bit rate: "+o,l.emscripten_ubq_codec_createNativeResult({error:e})}return l.emscripten_ubq_codec_createNativeResult({handle:s})},Kb:function(e,t,r,n,o,i,a,s){const c=l.UTF8ToString(e,e+t),d=l.HEAPU8.subarray(i,i+a),u=l.emscripten_ubq_codec_videoDecoderNextHandle++,p={codec:c,codedWidth:r,codedHeight:n,description:d,optimizeForLatency:!0};try{const e=l.emscripten_ubq_codec_createVideoDecoder(u,o,s);VideoDecoder.isConfigSupported(p).then(t=>{e.configUnsupported=!t.supported},t=>{e.configUnsupported=!0}),e.configure(p),l.emscripten_ubq_codec_videoDecoders.set(u,{videoDecoder:e,decoderConfig:p,codecServicePtr:s,isHdr:o,opfsUri:""})}catch(e){return l.emscripten_ubq_codec_createNativeResult({error:e})}return l.emscripten_ubq_codec_createNativeResult({handle:u})},Jb:function(e,t,r,n,o,i,a){const s=l.UTF8ToString(e,e+t),c=l.emscripten_ubq_codec_videoEncoderNextHandle++,d=l.specialHTMLTargets["!canvas"];d.width=r,d.height=n;const u={codec:s,width:r,height:n,avc:{format:"annexb"},framerate:o};i>0&&(u.bitrate=i);try{const e=new VideoEncoder({output:e=>{const t=l._malloc(e.byteLength),r=l.HEAPU8.subarray(t,t+e.byteLength);e.copyTo(r),l.emscripten_ubq_codec_onOutputEncodedVideoChunk(c,t,e.byteLength,a),l._free(t)},error:e=>console.error(e)});VideoEncoder.isConfigSupported(u).then(t=>{e.configUnsupported=!t},()=>{e.configUnsupported=!0}),e.configure(u),l.emscripten_ubq_codec_videoEncoders.set(c,{videoEncoder:e,encoderConfig:u,groupOfPictures:150,frameIndex:0})}catch(e){return e+=' Requested codec: "'+s+'"',e+="; resolution: "+r+"x"+n,l.emscripten_ubq_codec_createNativeResult({error:e})}return l.emscripten_ubq_codec_createNativeResult({handle:c})},Ib:function(e,t,r,n,o,i){const a=l.emscripten_ubq_codec_audioDecoders.get(e);if(a.audioDecoder.unexpectedError)return l.emscripten_ubq_codec_createNativeResult({code:2,error:a.audioDecoder.unexpectedError});"closed"===a.audioDecoder.state&&(a.audioDecoder=l.emscripten_ubq_codec_createAudioDecoder(a.leftBufferPtr,a.rightBufferPtr,a.bufferLength),a.audioDecoder.configure(a.decoderConfig));const s=a.audioDecoder,c=l.HEAPU8.subarray(o,o+i),d=new EncodedAudioChunk({type:t?"key":"delta",timestamp:r,duration:n,data:c});try{s.decode(d)}catch(e){return s.configUnsupported?l.emscripten_ubq_codec_createNativeResult({code:2,error:e}):l.emscripten_ubq_codec_createNativeResult({code:1,error:e})}return l.emscripten_ubq_codec_createNativeResult({code:0})},Hb:function(e,t,r,n,o,i,a,s){const c=l.emscripten_ubq_codec_videoDecoders.get(e);if(c.videoDecoder.unexpectedError)return l.emscripten_ubq_codec_createNativeResult({code:2,error:c.videoDecoder.unexpectedError});if("closed"===c.videoDecoder.state){const t=c.videoDecoder.textures;return c.videoDecoder=l.emscripten_ubq_codec_createVideoDecoder(e,c.isHdr,c.codecServicePtr),c.videoDecoder.textures=t,c.videoDecoder.configure(c.decoderConfig),l.emscripten_ubq_codec_destroyAlphaState(e),l.emscripten_ubq_codec_createNativeResult({code:1,error:"VideoDecoder was closed"})}const d=l.HEAPU8.subarray(o,o+i),u=Number.isFinite(r)?r:0,p=new EncodedVideoChunk({type:t?"key":"delta",timestamp:u,duration:n,data:d});let h=!1,g=null;a&&s>0&&(g=l.emscripten_ubq_codec_prepareAlphaState(e,c.decoderConfig),g&&(h=!0,l.emscripten_ubq_codec_markAlphaExpected(e,u)));try{c.videoDecoder.decode(p)}catch(t){return h&&l.emscripten_ubq_codec_alphaCancelExpectation(e,u),c.videoDecoder.configUnsupported?l.emscripten_ubq_codec_createNativeResult({code:2,error:t}):l.emscripten_ubq_codec_createNativeResult({code:1,error:t})}if(h&&g&&g.decoder&&"closed"!==g.decoder.state&&!g.decoder.unexpectedError){const r=l.HEAPU8.subarray(a,a+s),o=new EncodedVideoChunk({type:t?"key":"delta",timestamp:u,duration:n,data:r});try{g.decoder.decode(o)}catch(t){console.error("Alpha decode error:",t),l.emscripten_ubq_codec_alphaCancelExpectation(e,u)}}else h&&l.emscripten_ubq_codec_alphaCancelExpectation(e,u);return l.emscripten_ubq_codec_createNativeResult({code:0})},Ba:function(e){if(l.emscripten_ubq_codec_audioDecoders.has(e)){const t=l.emscripten_ubq_codec_audioDecoders.get(e);if("closed"!==t.audioDecoder.state&&t.audioDecoder.close(),t.opfsUri&&""!==t.opfsUri){const e=l.emscripten_ubq_opfs_getCache(t.opfsUri);e&&e.worker&&(l.emscripten_ubq_opfs_destroyWorker(e.worker),e.worker=null,e.workerOpened=!1,e.workerOpening=null)}l.emscripten_ubq_codec_audioDecoders.delete(e)}},Aa:function(e){const t=l.emscripten_ubq_codec_audioEncoders.get(e);"closed"!==t.audioEncoder.state&&t.audioEncoder.close(),l.emscripten_ubq_codec_audioEncoders.delete(e)},za:function(e){if(l.emscripten_ubq_codec_videoDecoders.has(e)){const t=l.emscripten_ubq_codec_videoDecoders.get(e);if("closed"!==t.videoDecoder.state&&t.videoDecoder.close(),l.emscripten_ubq_codec_destroyAlphaState(e),t.opfsUri&&""!==t.opfsUri){const e=l.emscripten_ubq_opfs_getCache(t.opfsUri);e&&e.worker&&(l.emscripten_ubq_opfs_destroyWorker(e.worker),e.worker=null,e.workerOpened=!1,e.workerOpening=null)}l.emscripten_ubq_codec_videoDecoders.delete(e)}},ya:function(e){const t=l.emscripten_ubq_codec_videoEncoders.get(e);"closed"!==t.videoEncoder.state&&t.videoEncoder.close(),l.emscripten_ubq_codec_videoEncoders.delete(e)},Gb:function(e,t,r){const n=1e6,o=l.emscripten_ubq_codec_audioEncoders.get(e),i=o.audioEncoderConfig.sampleRate,a=o.audioEncoderConfig.numberOfChannels,s=r/a,c=Math.round(n*(o.frameIndex*s/i)),d=Math.round(n*(s/i)),u=l.HEAPF32.subarray(t/4,t/4+r),p=new AudioData({format:"f32",sampleRate:i,numberOfFrames:s,numberOfChannels:a,duration:d,timestamp:c,data:u});o.audioEncoder.encode(p),o.frameIndex++,p.close()},Fb:function(e,t,r){const n=1e6,o=l.emscripten_ubq_codec_videoEncoders.get(e),i=Math.round(n*(o.frameIndex/o.encoderConfig.framerate)),a=o.frameIndex%o.groupOfPictures===0,s=Math.round(n/o.encoderConfig.framerate),c=l.specialHTMLTargets["!canvas"],d=new VideoFrame(c,{timestamp:i,duration:s});o.videoEncoder.encode(d,{keyFrame:a}),d.close(),o.frameIndex++},Eb:async function(e,t){const r=l.emscripten_ubq_codec_audioEncoders.get(e);try{await r.audioEncoder.flush()}catch{if(r.frameIndex>1)throw new Error("AudioEncoder.flush() failed")}l.emscripten_ubq_codec_onFinalizedAudioEncoding(e,t)},Db:async function(e,t){const r=l.emscripten_ubq_codec_videoEncoders.get(e);await r.videoEncoder.flush(),l.emscripten_ubq_codec_onFinalizedVideoEncoding(e,t)},Cb:async function(e,t){const r=l.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder;r.flushing=!0;try{await r.flush()}catch{}r.flushing=!1,r.writtenFrames=t},T:async function(e,t,r){const n=l.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder;n.shouldDropFrames=r,n.flushing=!0;try{await n.flush()}catch{}n.flushing=!1,n.shouldDropFrames=!1,n.decodedFrames=t},xa:function(e){return l.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.decodeQueueSize},ia:function(e){return l.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.decodedFrames},Y:function(e){return l.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.writtenFrames},Bb:function(e){return l.emscripten_ubq_codec_audioDecoders.get(e).audioDecoder.flushing},ha:function(e){return l.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.flushing},Ab:function(){if("undefined"==typeof navigator||"string"!=typeof navigator.userAgent)return 0;const e=navigator.userAgent;return!e.includes("Safari")||e.includes("Chrome")||e.includes("Chromium")||e.includes("Android")?0:1},ca:function(){return"undefined"!=typeof VideoFrame&&"undefined"!=typeof VideoDecoder&&"undefined"!=typeof VideoEncoder&&"undefined"!=typeof AudioDecoder&&"undefined"!=typeof AudioEncoder},zb:function(e,t,r,n,o,i,a){const s=l.emscripten_ubq_codec_videoDecoders.get(e),c=l.UTF8ToString(t,t+r),d=l.HEAPU8.subarray(i,i+a);s.videoDecoder.configure({codec:c,codedWidth:n,codedHeight:o,description:d})},ga:function(e,t,r){const n=l.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder;n.requestedPresentationFrame=t,n.requestedDecodeChunk=r;const o=1===l._isSafariHelper()?r:t;n.targetFrameForScheduling=o>=0?o:0},yb:function(e,t){l.emscripten_ubq_codec_videoDecoders.get(e).videoDecoder.reorderWindow=t},xb:function(e,t,r,n,o){const i=l.emscripten_ubq_codec_videoDecoders.get(e),a=l.HEAPU32.subarray(t/4,t/4+r);i.videoDecoder.textures=[];for(let e=0;e<r;e++)i.videoDecoder.textures[e]=ar.textures[a[e]];i.videoDecoder.textureWidth=n,i.videoDecoder.textureHeight=o},wb:function(e){const t=l.emscripten_ubq_asyncFetchManager.getProcess(e);return!!(null==t?void 0:t.allocate())},vb:function(e){return l.emscripten_ubq_asyncFetchManager.deleteProcess(e)},fa:function(){l.emscripten_ubq_asyncFetchManager.clear()},X:function(e,t,r,n){return l.emscripten_ubq_asyncFetchManager.createHeader(e,t,r,n)},ub:function(e){l.emscripten_ubq_asyncFetchManager.deleteHeader(e)},tb:function(e,t,r,n,o,i,a,s,c){return l.emscripten_ubq_asyncFetchManager.fetch(e,t,r,n,o,i,a,s,c).handle},sb:function(e){return l.emscripten_ubq_asyncFetchManager.deleteProcess(e)},rb:function(e){var t,r;return null!==(r=null===(t=l.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.receivedLength)&&void 0!==r?r:0},qb:function(e){const t=l.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultAddress:-1},pb:function(e){const t=l.emscripten_ubq_asyncFetchManager.getProcess(e);return(null==t?void 0:t.isAllocated())?t.resultLength:-1},wa:function(e){var t,r;return null!==(r=null===(t=l.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.state)&&void 0!==r?r:-1},ob:function(e){var t,r;return null!==(r=null===(t=l.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.statusCode)&&void 0!==r?r:-1},nb:function(e){var t,r;return null!==(r=null===(t=l.emscripten_ubq_asyncFetchManager.getProcess(e))||void 0===t?void 0:t.totalBytes)&&void 0!==r?r:0},mb:function(e){const t=Y(e),r=l.emscripten_ubq_opfs_writerCaches.get(t);if(!r)return 0;const n=l.emscripten_ubq_opfs_ensureWriteWorker(t,r),o=n.get(),i=e=>{if(e.data&&e.data.closed){try{o.removeEventListener("message",i)}catch(e){}l.emscripten_ubq_opfs_destroyWriterWorker(n),r.worker=null,r.workerOpened=!1,r.workerOpening=null,r.fileHandle=null,l.emscripten_ubq_opfs_writerCaches.delete(t)}};try{o.addEventListener("message",i)}catch(e){}return n.post({close:!0}),0},lb:function(e,t,r,n,o){const i=Y(e),a=4294967296*(r>>>0)+(t>>>0);if(n<=0)return 0;const s=l.emscripten_ubq_opfs_CHUNK_SIZE,c=l.emscripten_ubq_opfs_getCache(i),d=U.subarray(o,o+n);let u=0,p=a;const h=Math.min(a+n,c.fileSize);for(;p<h;){const e=Math.floor(p/s),t=c.chunkCache.get(e);if(!t)return-1;l.emscripten_ubq_opfs_updateAccess(c,e);const r=p-e*s,n=Math.min(t.byteLength-r,h-p);d.set(t.subarray(r,r+n),u),u+=n,p+=n}return u},S:function(e){const t=Y(e),r=l.emscripten_ubq_opfs_getCache(t);return l.emscripten_ubq_opfs_ensureFile(t,r),BigInt(r.fileSize)},P:function(e,t,r,n){const o=Y(e),i=4294967296*(r>>>0)+(t>>>0),a=l.emscripten_ubq_opfs_CHUNK_SIZE,s=l.emscripten_ubq_opfs_getCache(o),c=Math.floor(i/a),d=Math.floor((i+n)/a);for(let e=c;e<=d;++e){if(!s.chunkCache.has(e))return 0;l.emscripten_ubq_opfs_updateAccess(s,e)}return 1},kb:function(e){const t=Y(e);let r=l.emscripten_ubq_opfs_writerCaches.get(t);if(r||(r={pending:0,worker:null,openPromise:null,fileHandle:null,workerOpened:!1,workerOpening:null},l.emscripten_ubq_opfs_writerCaches.set(t,r)),!r.workerOpened&&!r.workerOpening){const e=l.emscripten_ubq_opfs_ensureWriteWorker(t,r);r.workerOpening=(async()=>{await l.emscripten_ubq_opfs_ensureWriteFile(t,r),e.post({open:!0,uri:t}),await new Promise((t,r)=>{const n=e.get(),o=e=>{e.data&&(!0===e.data.ready?(n.removeEventListener("message",o),t()):!1===e.data.ready&&(n.removeEventListener("message",o),r(new Error(e.data.error||"Failed to open OPFS writer handle"))))};n.addEventListener("message",o)}),r.workerOpened=!0})().finally(()=>{r.workerOpening=null})}return r.workerOpened?1:0},jb:function(e){const t=Y(e),r=l.emscripten_ubq_opfs_writerCaches.get(t);return r&&r.pending||0},ib:function(e,t,r,n){const o=Y(e),i=4294967296*(r>>>0)+(t>>>0),a=l.emscripten_ubq_opfs_CHUNK_SIZE,s=l.emscripten_ubq_opfs_getCache(o),c=Math.floor(i/a),d=Math.floor((i+n)/a);let u=!0;for(let e=c;e<=d;++e)s.chunkCache.has(e)?l.emscripten_ubq_opfs_updateAccess(s,e):(u=!1,l.emscripten_ubq_opfs_loadChunk(o,s,e));return u?1:0},hb:function(e,t,r,n,o){return async function(e,t,r,n,o){if(n<=0)return 0;const i=Y(e),a=4294967296*(r>>>0)+(t>>>0);let s=l.emscripten_ubq_opfs_writerCaches.get(i);s||(s={pending:0,worker:null,openPromise:null,fileHandle:null},l.emscripten_ubq_opfs_writerCaches.set(i,s));const c=new Uint8Array(n);c.set(l.HEAPU8.subarray(o,o+n));const d=l.emscripten_ubq_opfs_ensureWriteWorker(i,s);return s.workerOpened||(s.workerOpening||(s.workerOpening=(async()=>{await l.emscripten_ubq_opfs_ensureWriteFile(i,s),d.post({open:!0,uri:i}),await new Promise((e,t)=>{const r=d.get(),n=o=>{o.data&&(!0===o.data.ready?(r.removeEventListener("message",n),e()):!1===o.data.ready&&(r.removeEventListener("message",n),t(new Error(o.data.error||"Failed to open OPFS writer handle"))))};r.addEventListener("message",n)}),s.workerOpened=!0})().finally(()=>{s.workerOpening=null})),await s.workerOpening),new Promise((e,t)=>{void 0===l.emscripten_ubq_opfs_writeTagCounter&&(l.emscripten_ubq_opfs_writeTagCounter=0);const r=++l.emscripten_ubq_opfs_writeTagCounter;s.pending=(s.pending||0)+1;const o=d.get(),i=a=>{a.data&&a.data.tag===r&&(o.removeEventListener("message",i),s.pending-=1,a.data.error?t(new Error(a.data.error)):e(n))};o.addEventListener("message",i),d.post({write:{offset:a,buf:c.buffer,tag:r}},[c.buffer])})}(e,t,r,n,o).catch(e=>{console.error("[OPFS] writeChunk failed:",e)}),0},gb:function(){return!!l.emscripten_ubq_settings_forceWebGL1},va:mn,ba:e=>{ar.currentContext==e&&(ar.currentContext=0),ar.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})(ar.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})(ar.contexts[e].GLctx),db:e=>(e=>!!(e.multiDrawWebgl=e.getExtension("WEBGL_multi_draw")))(ar.contexts[e].GLctx),aa:(e,t)=>{var r=ar.getContext(e),n=Y(t);return n.startsWith("GL_")&&(n=n.slice(3)),!!r.GLctx.getExtension(n)},cb:(e,t)=>{if(!t)return-5;if(!(e=ar.contexts[e]))return-3;var r=e.GLctx?.getContextAttributes();if(!r)return-3;I[t]=r.alpha,I[t+1]=r.depth,I[t+2]=r.stencil,I[t+3]=r.antialias,I[t+4]=r.premultipliedAlpha,I[t+5]=r.preserveDrawingBuffer;var n=r.powerPreference&&hn.indexOf(r.powerPreference);return F[t+8>>2]=n,I[t+12]=r.failIfMajorPerformanceCaveat,F[t+16>>2]=e.version,F[t+20>>2]=0,0},bb:e=>ar.makeContextCurrent(e)?0:-5,xh:(e,t)=>{var r=0,n=0;for(var o of yn()){var i=t+r;L[e+n>>2]=i,r+=ae(o,i,1/0)+1,n+=4}return 0},wh:(e,t)=>{var r=yn();L[e>>2]=r.length;var n=0;for(var o of r)n+=oe(o)+1;return L[t>>2]=n,0},ua:Jt,na:function(e){try{var t=Ae.getStreamFromFD(e);return Pe.close(t),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return e.errno}},vh:function(e,t){try{var r=Ae.getStreamFromFD(e),n=r.tty?2:Pe.isDir(r.mode)?3:Pe.isLink(r.mode)?7:4;return I[t]=n,A[t+2>>1]=0,M[t+8>>3]=BigInt(0),M[t+16>>3]=BigInt(0),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return e.errno}},uh:function(e,t,r,n,o){n=zt(n);try{if(isNaN(n))return 22;var i=Ae.getStreamFromFD(e),a=vn(i,t,r,n);return L[o>>2]=a,0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return e.errno}},Qa:function(e,t,r,n){try{var o=Ae.getStreamFromFD(e),i=vn(o,t,r);return L[n>>2]=i,0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return e.errno}},th:function(e,t,r,n){t=zt(t);try{if(isNaN(t))return 22;var o=Ae.getStreamFromFD(e);return Pe.llseek(o,t,r),M[n>>3]=BigInt(o.position),o.getdents&&0===t&&0===r&&(o.getdents=null),0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return e.errno}},Pa:function(e,t,r,n){try{var o=((e,t,r,n)=>{for(var o=0,i=0;i<r;i++){var a=L[t>>2],s=L[t+4>>2];t+=8;var l=Pe.write(e,I,a,s,n);if(l<0)return-1;if(o+=l,l<s)break;void 0!==n&&(n+=l)}return o})(Ae.getStreamFromFD(e),t,r);return L[n>>2]=o,0}catch(e){if(void 0===Pe||"ErrnoError"!==e.name)throw e;return e.errno}},ab:function(e){var t=Y(e),r=localStorage.getItem(t);return null==r?null:se(r)},$a:function(){return"undefined"!=typeof window?se(window.location.hostname):se("")},z:function(e,t,r){var n=ne();try{return yt(e)(t,r)}catch(e){if(re(n),!(e instanceof EmscriptenEH))throw e;In(1,0)}},K:function(e,t){var r=ne();try{return yt(e)(t)}catch(e){if(re(r),!(e instanceof EmscriptenEH))throw e;In(1,0)}},I:function(e,t,r){var n=ne();try{return yt(e)(t,r)}catch(e){if(re(n),!(e instanceof EmscriptenEH))throw e;In(1,0)}},m:function(e,t,r,n){var o=ne();try{return yt(e)(t,r,n)}catch(e){if(re(o),!(e instanceof EmscriptenEH))throw e;In(1,0)}},_a:function(e){var t=ne();try{return yt(e)()}catch(e){if(re(t),!(e instanceof EmscriptenEH))throw e;In(1,0)}},ta:function(e,t,r){var n=ne();try{return yt(e)(t,r)}catch(e){if(re(n),!(e instanceof EmscriptenEH))throw e;In(1,0)}},r:function(e,t){var r=ne();try{return yt(e)(t)}catch(e){if(re(r),!(e instanceof EmscriptenEH))throw e;In(1,0)}},W:function(e,t,r,n,o,i,a,s,l,c,d,u,p,h,g,f){var m=ne();try{return yt(e)(t,r,n,o,i,a,s,l,c,d,u,p,h,g,f)}catch(e){if(re(m),!(e instanceof EmscriptenEH))throw e;In(1,0)}},p:function(e,t,r){var n=ne();try{return yt(e)(t,r)}catch(e){if(re(n),!(e instanceof EmscriptenEH))throw e;In(1,0)}},t:function(e,t,r,n){var o=ne();try{return yt(e)(t,r,n)}catch(e){if(re(o),!(e instanceof EmscriptenEH))throw e;In(1,0)}},R:function(e,t,r,n,o){var i=ne();try{return yt(e)(t,r,n,o)}catch(e){if(re(i),!(e instanceof EmscriptenEH))throw e;In(1,0)}},Za:function(e,t,r,n,o,i){var a=ne();try{return yt(e)(t,r,n,o,i)}catch(e){if(re(a),!(e instanceof EmscriptenEH))throw e;In(1,0)}},sa:function(e,t,r,n,o,i,a){var s=ne();try{return yt(e)(t,r,n,o,i,a)}catch(e){if(re(s),!(e instanceof EmscriptenEH))throw e;In(1,0)}},ra:function(e,t,r,n,o,i,a,s,l,c){var d=ne();try{return yt(e)(t,r,n,o,i,a,s,l,c)}catch(e){if(re(d),!(e instanceof EmscriptenEH))throw e;In(1,0)}},H:function(e){var t=ne();try{yt(e)()}catch(e){if(re(t),!(e instanceof EmscriptenEH))throw e;In(1,0)}},y:function(e,t){var r=ne();try{yt(e)(t)}catch(e){if(re(r),!(e instanceof EmscriptenEH))throw e;In(1,0)}},B:function(e,t,r,n){var o=ne();try{yt(e)(t,r,n)}catch(e){if(re(o),!(e instanceof EmscriptenEH))throw e;In(1,0)}},A:function(e,t,r){var n=ne();try{yt(e)(t,r)}catch(e){if(re(n),!(e instanceof EmscriptenEH))throw e;In(1,0)}},o:function(e,t,r,n){var o=ne();try{yt(e)(t,r,n)}catch(e){if(re(o),!(e instanceof EmscriptenEH))throw e;In(1,0)}},D:function(e,t,r,n,o){var i=ne();try{yt(e)(t,r,n,o)}catch(e){if(re(i),!(e instanceof EmscriptenEH))throw e;In(1,0)}},Ya:function(e,t,r,n,o,i){var a=ne();try{yt(e)(t,r,n,o,i)}catch(e){if(re(a),!(e instanceof EmscriptenEH))throw e;In(1,0)}},Xa:function(e,t,r,n,o,i,a){var s=ne();try{yt(e)(t,r,n,o,i,a)}catch(e){if(re(s),!(e instanceof EmscriptenEH))throw e;In(1,0)}},Wa:function(e,t,r,n,o,i,a,s){var l=ne();try{yt(e)(t,r,n,o,i,a,s)}catch(e){if(re(l),!(e instanceof EmscriptenEH))throw e;In(1,0)}},Va:function(e,t,r,n,o,i,a,s,l,c){var d=ne();try{yt(e)(t,r,n,o,i,a,s,l,c)}catch(e){if(re(d),!(e instanceof EmscriptenEH))throw e;In(1,0)}},$:function(){return"undefined"!=typeof localStorage&&"function"==typeof localStorage.getItem},Ua:function(){return"undefined"!=typeof process&&process.versions&&process.versions.node?1:0},qa:function(e,t){const r=Pt.toValue(t),n=l.ctx;n.bindTexture(n.TEXTURE_2D,ar.textures[e]),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,r)},a:z,sh:(e,t)=>ue(U.subarray(e,e+t)),Ta:function(e,t){var r=Y(e),n=Y(t);localStorage.setItem(r,n)}};return qn=await async function(){function e(e,t){var r;return qn=e.exports,Cn=(r=qn).Lh,Tn=l._malloc=r.Nh,xn=l._free=r.Oh,Pn=l._main=r.Ph,l._ma_malloc_emscripten=r.Qh,l._ma_free_emscripten=r.Rh,An=l._ma_device_process_pcm_frames_capture__webaudio=r.Sh,Fn=l._ma_device_process_pcm_frames_playback__webaudio=r.Th,Mn=r.Uh,In=r.Vh,Dn=r.Wh,Rn=r.Xh,Bn=r.Yh,Ln=r.Zh,On=r._h,Un=r.Mh,qn}var t={a:Hn};return l.instantiateWasm?new Promise((r,n)=>{l.instantiateWasm(t,(t,n)=>{r(e(t))})}):(P??=$(),e((await V(w,P,t)).instance))}(),function e(t=p){function r(){l.calledRun=!0,T||(q=!0,l.noFSInit||Pe.initialized||Pe.init(),fe.init(),qn.Kh(),Pe.ignorePermissions=!1,_?.(l),l.onRuntimeInitialized?.(),l.noInitialRun||function(e=[]){var t=Pn;e.unshift(h);var r=e.length,n=wn(4*(r+1)),o=n;for(var i of e)L[o>>2]=kn(i),o+=4;L[o>>2]=0;try{var a=t(r,n);return Zt(a),a}catch(e){return Kt(e)}}(t),function(){if(l.postRun)for("function"==typeof l.postRun&&(l.postRun=[l.postRun]);l.postRun.length;)Z(l.postRun.shift());K(Q)}())}_e>0?Se=e:(function(){if(l.preRun)for("function"==typeof l.preRun&&(l.preRun=[l.preRun]);l.preRun.length;)ee(l.preRun.shift());K(J)}(),_e>0?Se=e:l.setStatus?(l.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>l.setStatus(""),1),r()},1)):r())}(),q?l:new Promise((e,t)=>{_=e,S=t})});"object"==typeof e&&"object"==typeof t?(t.exports=i,t.exports.default=i):"function"==typeof define&&define.amd&&define([],()=>i)}},function(){return s||(0,a[u(a)[0]])((s={exports:{}}).exports,s),s.exports}),R=class extends TypeError{constructor(e,t){let r;const{message:n,...o}=e,{path:i}=e;super(0===i.length?n:"At path: "+i.join(".")+" -- "+n),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,o),this.name=this.constructor.name,this.failures=()=>{var n;return null!=(n=r)?n:r=[e,...t()]}}};function B(e){return"object"==typeof e&&null!=e}function L(e){return"string"==typeof e?JSON.stringify(e):""+e}function O(e,t,r,n){if(!0===e)return;!1===e?e={}:"string"==typeof e&&(e={message:e});const{path:o,branch:i}=t,{type:a}=r,{refinement:s,message:l="Expected a value of type `"+a+"`"+(s?" with refinement `"+s+"`":"")+", but received: `"+L(n)+"`"}=e;return{value:n,type:a,refinement:s,key:o[o.length-1],path:o,branch:i,...e,message:l}}function*U(e,t,r,n){var o;B(o=e)&&"function"==typeof o[Symbol.iterator]||(e=[e]);for(const o of e){const e=O(o,t,r,n);e&&(yield e)}}function*q(e,t,r={}){const{path:n=[],branch:o=[e],coerce:i=!1,mask:a=!1}=r,s={path:n,branch:o};if(i&&(e=t.coercer(e,s),a&&"type"!==t.type&&B(t.schema)&&B(e)&&!Array.isArray(e)))for(const r in e)void 0===t.schema[r]&&delete e[r];let l=!0;for(const r of t.validator(e,s))l=!1,yield[r,void 0];for(let[r,c,d]of t.entries(e,s)){const t=q(c,d,{path:void 0===r?n:[...n,r],branch:void 0===r?o:[...o,c],coerce:i,mask:a});for(const n of t)n[0]?(l=!1,yield[n[0],void 0]):i&&(c=n[1],void 0===r?e=c:e instanceof Map?e.set(r,c):e instanceof Set?e.add(c):B(e)&&(e[r]=c))}if(l)for(const r of t.refiner(e,s))l=!1,yield[r,void 0];l&&(yield[void 0,e])}var W=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:n,refiner:o,coercer:i=e=>e,entries:a=function*(){}}=e;this.type=t,this.schema=r,this.entries=a,this.coercer=i,this.validator=n?(e,t)=>U(n(e,t),t,this,e):()=>[],this.refiner=o?(e,t)=>U(o(e,t),t,this,e):()=>[]}assert(e){return function(e,t){const r=H(e,t);if(r[0])throw r[0]}(e,this)}create(e){return function(e,t){const r=H(e,t,{coerce:!0});if(r[0])throw r[0];return r[1]}(e,this)}is(e){return function(e,t){const r=H(e,t);return!r[0]}(e,this)}mask(e){return function(e,t){const r=H(e,t,{coerce:!0,mask:!0});if(r[0])throw r[0];return r[1]}(e,this)}validate(e,t={}){return H(e,this,t)}};function H(e,t,r={}){const n=q(e,t,r),o=function(e){const{done:t,value:r}=e.next();return t?void 0:r}(n);if(o[0]){return[new R(o[0],function*(){for(const e of n)e[0]&&(yield e[0])}),void 0]}return[void 0,o[1]]}function $(e,t){return new W({type:e,schema:null,validator:t})}function N(e){return new W({type:"array",schema:e,*entries(t){if(e&&Array.isArray(t))for(const[r,n]of t.entries())yield[r,n,e]},coercer:e=>Array.isArray(e)?e.slice():e,validator:e=>Array.isArray(e)||"Expected an array value, but received: "+L(e)})}function V(){return $("boolean",e=>"boolean"==typeof e)}function z(){return $("integer",e=>"number"==typeof e&&!isNaN(e)&&Number.isInteger(e)||"Expected an integer, but received: "+L(e))}function G(){return $("number",e=>"number"==typeof e&&!isNaN(e)||"Expected a number, but received: "+L(e))}function j(e){const t=e?Object.keys(e):[],r=$("never",()=>!1);return new W({type:"object",schema:e||null,*entries(n){if(e&&B(n)){const o=new Set(Object.keys(n));for(const r of t)o.delete(r),yield[r,n[r],e[r]];for(const e of o)yield[e,n[e],r]}},validator:e=>B(e)||"Expected an object, but received: "+L(e),coercer:e=>B(e)?{...e}:e})}function X(e){return new W({...e,validator:(t,r)=>void 0===t||e.validator(t,r),refiner:(t,r)=>void 0===t||e.refiner(t,r)})}function Y(){return $("string",e=>"string"==typeof e||"Expected a string, but received: "+L(e))}function K(e){const t=Object.keys(e);return new W({type:"type",schema:e,*entries(r){if(B(r))for(const n of t)yield[n,r[n],e[n]]},validator:e=>B(e)||"Expected an object, but received: "+L(e)})}function Q(e){const t=e.map(e=>e.type).join(" | ");return new W({type:"union",schema:null,coercer:(t,r)=>(e.find(e=>{const[r]=e.validate(t,{coerce:!0});return!r})||$("unknown",()=>!0)).coercer(t,r),validator(r,n){const o=[];for(const t of e){const[...e]=q(r,t,n),[i]=e;if(!i[0])return[];for(const[t]of e)t&&o.push(t)}return["Expected the value to satisfy a union of `"+t+"`, but received: "+L(r),...o]}})}function Z(e,t,r={}){const{exclusive:n}=r;return te(e,"max",r=>n?r<t:r<=t||"Expected a "+e.type+" less than "+(n?"":"or equal to ")+t+" but received `"+r+"`")}function J(e,t,r={}){const{exclusive:n}=r;return te(e,"min",r=>n?r>t:r>=t||"Expected a "+e.type+" greater than "+(n?"":"or equal to ")+t+" but received `"+r+"`")}function ee(e){return te(e,"nonempty",t=>{const r=function(e){return e instanceof Map||e instanceof Set?e.size:e.length}(t);return r>0||"Expected a nonempty "+e.type+" but received an empty one"})}function te(e,t,r){return new W({...e,*refiner(n,o){yield*e.refiner(n,o);const i=U(r(n,o),o,e,n);for(const e of i)yield{...e,refinement:t}}})}var re={Png:"image/png",Jpeg:"image/jpeg",WebP:"image/webp",Tga:"image/x-tga",Svg:"image/svg+xml",Wav:"audio/wav",Mp4Audio:"audio/mp4",Mp4:"video/mp4",QuickTime:"video/quicktime",Binary:"application/octet-stream",Pdf:"application/pdf",Zip:"application/zip"};function ne(e,t,r){const[n]=H(t,r);if(n)throw n.message=`Error in argument '${e}': ${n.message}`,n;return!0}function oe(){return $("FiniteNumber",e=>!("number"!=typeof e||!Number.isFinite(e))||{message:`expected a finite number, but got "${String(e)}"`})}function ie(){const e=/image\/(png|jpeg|webp|x-tga|svg\+xml)/;return $("ImageMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "image/png", "image/jpeg", "image/webp", "image/x-tga", or "image/svg+xml", but got "${t}"`})}function ae(){const e=/audio\/(wav|mp4)/;return $("AudioMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected "audio/wav" or "audio/mp4", but got "${t}"`})}function se(){const e=/application\/(octet-stream|pdf)/;return $("ApplicationMimeType",t=>!("string"!=typeof t||!e.test(t))||{message:`expected one of "application/octet-stream" or "application/pdf", but got "${t}"`})}function le(){const e=["Free","VerticalStack","HorizontalStack","DepthStack"];return $("SceneLayout",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function ce(){const e=["Linear","EaseIn","EaseOut","EaseInOut","EaseInQuart","EaseOutQuart","EaseInOutQuart","EaseInQuint","EaseOutQuint","EaseInOutQuint","EaseInBack","EaseOutBack","EaseInOutBack","EaseInSpring","EaseOutSpring","EaseInOutSpring"];return $("AnimationEasing",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function de(){const e=["Pixel","Millimeter","Inch"];return $("DesignUnit",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function ue(){const e=["Pixel","Point"];return $("FontSizeUnit",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function pe(){return $("AbortSignal",e=>{if("undefined"!=typeof AbortSignal&&e instanceof AbortSignal)return!0;return!("object"!=typeof e||null===e||"boolean"!=typeof e.aborted||"function"!=typeof e.addEventListener)||{message:`expected an AbortSignal-like object, but got "${Object.prototype.toString.call(e)}"`}})}function he(){const e=["Absolute","Percent","Auto"];return $("SizeMode",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function ge(){const e=["Absolute","Percent","Auto"];return $("PositionMode",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function fe(){const e=["slide","pan","fade","blur","grow","zoom","pop","wipe","baseline","crop_zoom","spin","spin_loop","fade_loop","blur_loop","pulsating_loop","breathing_loop","jump_loop","squeeze_loop","sway_loop","typewriter_text","block_swipe_text","spread_text","merge_text","ken_burns","//ly.img.ubq/animation/slide","//ly.img.ubq/animation/pan","//ly.img.ubq/animation/fade","//ly.img.ubq/animation/blur","//ly.img.ubq/animation/grow","//ly.img.ubq/animation/zoom","//ly.img.ubq/animation/pop","//ly.img.ubq/animation/wipe","//ly.img.ubq/animation/baseline","//ly.img.ubq/animation/crop_zoom","//ly.img.ubq/animation/spin","//ly.img.ubq/animation/spin_loop","//ly.img.ubq/animation/fade_loop","//ly.img.ubq/animation/blur_loop","//ly.img.ubq/animation/pulsating_loop","//ly.img.ubq/animation/breathing_loop","//ly.img.ubq/animation/jump_loop","//ly.img.ubq/animation/squeeze_loop","//ly.img.ubq/animation/sway_loop","//ly.img.ubq/animation/typewriter_text","//ly.img.ubq/animation/block_swipe_text","//ly.img.ubq/animation/spread_text","//ly.img.ubq/animation/merge_text","//ly.img.ubq/animation/ken_burns"];return $("AnimationType",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}function me(){return Q([K({r:G(),g:G(),b:G(),a:G()}),K({c:G(),m:G(),y:G(),k:G(),tint:G()}),K({name:Y(),tint:G(),externalReference:Y()})])}function be(){return K({type:fe(),duration:G(),easing:X(ce())})}var ye=Symbol("PROXY");function ve(e){return(t,r)=>{Object.defineProperty(t,ye,{value:{type:"getter",...e},writable:!1,configurable:!0})}}function we(e,t){Object.defineProperty(e,ye,{value:{type:"setter"},writable:!1,configurable:!0})}var ke=class _EngineError extends Error{code;category;hint;args;silent;docsUrl;constructor(e){super(e.message),this.name=""!==e.code?`EngineError [${e.code}]`:"EngineError",this.code=e.code,this.category=e.category,this.hint=e.hint,this.args=e.args,this.silent=e.silent,this.docsUrl=e.docs.length>0?`https://img.ly/docs/cesdk/js/${e.docs}/`:null,Object.setPrototypeOf(this,_EngineError.prototype)}};function _e(e){if(e.isValid()){const t=e.value();return e.delete(),t}{const t=function(e){const t=e.id(),r=e.category(),n=e.hint(),o=e.docs(),i=e.isSilent(),a=e.args(),s=e.publicMessage();e.delete();const l=s.replace(/\n+$/u,"");return new ke({code:t,category:r,message:l,hint:n,args:a,docs:o,silent:i})}(e.error());throw e.delete(),t}}function Se(e){return new Promise((t,r)=>{e(e=>{try{const r=_e(e);t(r)}catch(e){r(e)}})})}var Ee,Ce,Te,xe,Pe,Ae,Fe,Me,Ie,De,Re,Be,Le,Oe,Ue=(e,t=!0)=>{const r=[];for(let t=0;t<e.size();t+=1)r.push(e.get(t));return t&&e.delete(),r},qe=new WeakMap,We={assets:[],total:0,currentPage:0,nextPage:void 0};Ae=[we],Pe=[we],xe=[we],Te=[we],Ce=[we],Ee=[ve({disabledInModes:["Playback"]})];var AssetAPI=class{constructor(e){E(De,5,this),F(this,Re),F(this,Fe),F(this,Me,new Set),F(this,Ie,new Set),T(this,"onAssetSourceAdded",e=>{const t=A(this,Fe).subscribeToAssetSourceAdded(e);return()=>{A(this,Fe).isDeleted()||_e(A(this,Fe).unsubscribe(t))}}),T(this,"onAssetSourceRemoved",e=>{const t=A(this,Fe).subscribeToAssetSourceRemoved(e);return()=>{A(this,Fe).isDeleted()||_e(A(this,Fe).unsubscribe(t))}}),T(this,"onAssetSourceUpdated",e=>{const t=A(this,Fe).subscribeToAssetSourceUpdated(e);return()=>{A(this,Fe).isDeleted()||_e(A(this,Fe).unsubscribe(t))}}),M(this,Fe,e)}registerApplyMiddleware(e){return A(this,Me).add(e),()=>{A(this,Me).delete(e)}}registerApplyToBlockMiddleware(e){return A(this,Ie).add(e),()=>{A(this,Ie).delete(e)}}addSource(e){const t=e.getSupportedMimeTypes?.bind(e),r=e.getGroups?.bind(e),n=e.fetchAsset?.bind(e),o=e.applyAsset?.bind(e),i=e.applyAssetToBlock?.bind(e),a=e.applyAssetProperty?.bind(e),s=e.addAsset?.bind(e),l=e.removeAsset?.bind(e),c=e.credits,d=e.license;_e(A(this,Fe).addAssetSource(e.id,async(t,r)=>{try{const n={...t,sortKey:t.sortKey,sortingOrder:t.sortingOrder,sortActiveFirst:t.sortActiveFirst},o=await e.findAssets(n);if(o){const t={...o,assets:o.assets.map(t=>He(t,e.id))};r.invoke(t)}else r.invoke(We)}catch(e){r.invoke(e.message??"Unknown error in user-defined `findAssets`")}},n?async(t,r,o)=>{try{const i=await n(t,{locale:r});null===i?o.invoke(null):o.invoke(He(i,e.id))}catch(e){o.invoke(e.message??"Unknown error in user-defined `fetchAsset`")}}:null,r?async e=>{try{const t=await r();e.invoke(t)}catch(t){e.invoke(t.message??"Unknown error in user-defined `getGroups`")}}:null,c?()=>({name:c.name,url:c.url??""}):null,d?()=>({name:d.name,url:d.url??""}):null,t?()=>t()??[]:null,o?async(e,t)=>{try{const r=await o(I(this,Re,Be).call(this,e));t.invoke(r)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,i?async(e,t,r)=>{try{await i(I(this,Re,Be).call(this,e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null,a?async(e,t,r)=>{try{await a(I(this,Re,Be).call(this,e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetProperty`")}}:null,s?async e=>{s(e)}:null,l?async e=>{l(e)}:null)),I(this,Re,Le).call(this,e.id,e)}addLocalSource(e,t,r,n){_e(A(this,Fe).addLocalAssetSource(e,t??[],r?async(e,t)=>{try{const n=await r(I(this,Re,Be).call(this,e));t.invoke(n)}catch(e){t.invoke(e.message??"Unknown error in user-defined `applyAsset`")}}:null,n?async(e,t,r)=>{try{await n(I(this,Re,Be).call(this,e),t),r.invoke({})}catch(e){r.invoke(e.message??"Unknown error in user-defined `applyAssetToBlock`")}}:null))}addLocalAssetSourceFromJSONString(e,t,r){ne("contentJSON",e,Y()),ne("basePath",t,X(Y())),ne("options",r,X(j())),void 0!==r?.matcher&&ne("options.matcher",r.matcher,N(Y()));const n=t??null,o=r?.matcher;return new Promise((t,r)=>{try{t(_e(A(this,Fe).addLocalAssetSourceFromJSONString(e,n,o)))}catch(e){r(e)}})}addLocalAssetSourceFromJSONURI(e,t){return ne("contentURI",e,Y()),ne("options",t,X(j())),void 0!==t?.matcher&&ne("options.matcher",t.matcher,N(Y())),new Promise((r,n)=>{A(this,Fe).addLocalAssetSourceFromJSONURI(e,t?.matcher,e=>{try{const t=_e(e);r(t)}catch(e){n(e)}})})}removeSource(e){_e(A(this,Fe).removeAssetSource(e)),I(this,Re,Oe).call(this,e)}findAllSources(){return Ue(A(this,Fe).findAllAssetSources())}findAssets(e,t){return new Promise((r,n)=>{let o=t?.tags??[];Array.isArray(o)||(o=[o]);const i={perPage:t?.perPage??0,page:t?.page??0,query:t?.query??"",tags:o,groups:t?.groups??[],excludeGroups:t?.excludeGroups??[],locale:t?.locale??"",sortingOrder:t?.sortingOrder??"None",sortKey:t?.sortKey??"",sortActiveFirst:t?.sortActiveFirst??!1,filter:t?.filter??[]};A(this,Fe).findAssetSourceAssets(e,i,e=>{try{const t=_e(e);r({...t,nextPage:-1===t.nextPage?void 0:t.nextPage})}catch(e){n(e)}})})}async fetchAsset(e,t,r={}){ne("sourceId",e,Y()),ne("assetId",t,Y()),ne("params",r,X(j()));const n={locale:r.locale??""};return new Promise((r,o)=>{A(this,Fe).fetchAssetSourceAsset(e,t,n,e=>{try{const t=_e(e);r(t||null)}catch(e){o(e)}})})}async getGroups(e){return Se(t=>A(this,Fe).getAssetSourceGroups(e,t)).then(e=>Ue(e))}getSupportedMimeTypes(e){return Ue(_e(A(this,Fe).getAssetSourceSupportedMimeTypes(e)))}getCredits(e){const t=_e(A(this,Fe).getAssetSourceCredits(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}getLicense(e){const t=_e(A(this,Fe).getAssetSourceLicense(e));if(t.name||t.url)return t.url?t:{name:t.name,url:void 0}}canManageAssets(e){return!!qe.get(A(this,Fe))?.get(e)?.canManageAssets}addAssetToSource(e,t){_e(A(this,Fe).addAssetToSource(e,t))}removeAssetFromSource(e,t){_e(A(this,Fe).removeAssetFromSource(e,t))}async apply(e,t,r){const n={clipType:r?.clipType},o=(e,t)=>new Promise((r,n)=>{A(this,Fe).applyAssetSourceAsset(e,He(t,e),e=>{try{const t=_e(e);A(this,Fe).isValid(t)?r(t):r(void 0)}catch(e){n(e)}})});if(A(this,Me).size>0){return Array.from(A(this,Me)).reduce((e,t)=>(r,o)=>t(r,o,e,n),o)(e,t)}return o(e,t)}async applyToBlock(e,t,r){const n=(e,t,r)=>Se(n=>A(this,Fe).applyAssetSourceAssetToBlock(e,He(t,e),r,n));if(A(this,Ie).size>0){return Array.from(A(this,Ie)).reduce((e,t)=>(r,n,o)=>t(r,n,o,e),n)(e,t,r)}return n(e,t,r)}async applyProperty(e,t,r){return Se(n=>A(this,Fe).applyAssetSourceProperty(e,He(t,e),r,n))}async defaultApplyAsset(e){return new Promise((t,r)=>{A(this,Fe).defaultApplyAsset(He(e,""),e=>{try{const r=_e(e);A(this,Fe).isValid(r)?t(r):t(void 0)}catch(e){r(e)}})})}async defaultApplyAssetToBlock(e,t){return Se(r=>A(this,Fe).defaultApplyAssetToBlock(He(e,""),t,r))}assetSourceContentsChanged(e){_e(A(this,Fe).assetSourceContentsChanged(e))}dispose(){qe.delete(A(this,Fe))}};function He(e,t){return"context"in e&&e.context.sourceId===t&&"active"in e?e:{...e,active:e.active??!1,context:{sourceId:t}}}De=v(null),Fe=new WeakMap,Me=new WeakMap,Ie=new WeakMap,Re=new WeakSet,Be=function(e){const t={...e};return 0===t.groups?.length&&delete t.groups,t.locale||delete t.locale,t.label||delete t.label,0===t.tags?.length&&delete t.tags,t.credits?.name||t.credits?.url?t.credits.url||delete t.credits.url:delete t.credits,t.license?.name||t.license?.url?t.license.url||delete t.license.url:delete t.license,t.utm?.source||t.utm?.medium?(t.utm.source||delete t.utm.source,t.utm.medium||delete t.utm.medium):delete t.utm,t},Le=function(e,t){qe.has(A(this,Fe))||qe.set(A(this,Fe),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/`),qe.get(A(this,Fe)).set(e,{canManageAssets:t.canManageAssets})},Oe=function(e){qe.get(A(this,Fe))?.delete(e)},C(De,1,"addSource",Ae,AssetAPI),C(De,1,"addLocalSource",Pe,AssetAPI),C(De,1,"addLocalAssetSourceFromJSONString",xe,AssetAPI),C(De,1,"addLocalAssetSourceFromJSONURI",Te,AssetAPI),C(De,1,"removeSource",Ce,AssetAPI),C(De,1,"findAllSources",Ee,AssetAPI),S(De,AssetAPI);var $e,Ne,Ve,ze,Ge,je,Xe,Ye,Ke,Qe,Ze,Je,et,tt,rt,nt,ot,it,at,st,lt,ct,dt,ut,pt,ht,gt,ft,mt,bt,yt,vt,wt,kt,_t="opfs://";function St(e){const t=new TextDecoder;return t.decode(e.slice(0,7))!==_t?null:t.decode(e)}async function Et(e){if("undefined"==typeof navigator||!("storage"in navigator)||"function"!=typeof navigator.storage.getDirectory)throw new Error("OPFS is not supported in this browser.");const t=e.slice(7),r=t.startsWith("/")?t.slice(1):t,n=await navigator.storage.getDirectory(),o=r.split("/");let i=n;for(let e=0;e<o.length-1;e++)i=await i.getDirectoryHandle(o[e]);const a=o[o.length-1];return(await i.getFileHandle(a)).getFile()}mt=[we],ft=[we],gt=[we],ht=[we],pt=[we],ut=[we],dt=[we],ct=[ve({disabledInModes:["Playback"]})],lt=[we],st=[we],at=[ve({disabledInModes:["Playback"]})],it=[we],ot=[we],nt=[ve({disabledInModes:["Playback"]})],rt=[we],tt=[ve({disabledInModes:["Playback"]})],et=[ve({disabledInModes:["Playback"]})],Je=[we],Ze=[ve({disabledInModes:["Playback"]})],Qe=[ve({disabledInModes:["Playback"]})],Ke=[ve({disabledInModes:["Playback"]})],Ye=[ve({disabledInModes:["Playback"]})],Xe=[we],je=[ve({disabledInModes:["Playback"]})],Ge=[we],ze=[we],Ve=[we],Ne=[ve({disabledInModes:["Playback"]})],$e=[we];var Ct,Tt,xt,Pt,At,Ft,Mt,It,Dt,Rt,Bt,Lt,Ot,Ut,qt,Wt,Ht,$t,Nt,Vt,zt,Gt,jt,Xt,Yt,Kt,Qt,Zt,Jt,er,tr,rr,nr,or,ir,ar,sr,lr,cr,dr,ur,pr,hr,gr,fr,mr,br,yr,vr,wr,kr,_r,Sr,Er,Cr,Tr,xr,Pr,Ar,Fr,Mr,Ir,Dr,Rr,Br,Lr,Or,Ur,qr,Wr,Hr,$r,Nr,Vr,zr,Gr,jr,Xr,Yr,Kr,Qr,Zr,Jr,en,tn,rn,nn,on,an,sn,ln,cn,dn,un,pn,hn,gn,fn,mn,bn,yn,vn,wn,kn,_n,Sn,En,Cn,Tn,xn,Pn,An,Fn,Mn,In,Dn,Rn,Bn,Ln,On,Un,qn,Wn,Hn,$n,Nn,Vn,zn,Gn,jn,Xn,Yn,Kn,Qn,Zn,Jn,eo,to,ro,no,oo,io,ao,so,lo,co,uo,po,ho,go,fo,mo,bo,yo,vo,wo,ko,_o,So,Eo,Co,To,xo,Po,Ao,Fo,Mo,Io,Do,Ro,Bo,Lo,Oo,Uo,qo,Wo,Ho,$o,No,Vo,zo,Go,jo,Xo,Yo,Ko,Qo,Zo,Jo,ei,ti,ri,ni,oi,ii,ai,si,li,ci,di,ui,pi,hi,gi,fi,mi,bi,yi,vi,wi,ki,_i,Si,Ei,Ci,Ti,xi,Pi,Ai,Fi,Mi,Ii,Di,Ri,Bi,Li,Oi,Ui,qi,Wi,Hi,$i,Ni,Vi,zi,Gi,ji,Xi,Yi,Ki,Qi,Zi,Ji,ea,ta,ra,na,oa,ia,aa,sa,la,ca,da,ua,pa,ha,ga,fa,ma,ba,ya,va,wa,ka,_a,Sa,Ea,Ca,Ta,xa,Pa,Aa,Fa,Ma,Ia,Da,Ra,Ba,La,Oa,Ua,qa,Wa,Ha,$a,Na,Va,za,Ga,ja,Xa,Ya,Ka,Qa,Za,Ja,es,ts,rs,ns,os,is,as,ss,ls,cs,ds,us,ps,hs,gs,fs,ms,bs,ys,vs,ws,ks,_s,Ss,Es,Cs,Ts,xs,Ps,As,Fs,Ms,Is,Ds,Rs,Bs,Ls,Os,Us,qs,Ws,Hs,$s,Ns,Vs,zs,Gs,js,Xs,Ys,Ks,Qs,Zs,Js,el,tl,rl,nl,ol,il,al,sl,ll,cl,dl,SceneAPI=class{constructor(e,t=!1){E(vt,5,this),F(this,wt),F(this,bt),F(this,yt),T(this,"onZoomLevelChanged",e=>{const t=A(this,bt).subscribeToZoomLevel(e);return()=>{A(this,bt).isDeleted()||_e(A(this,bt).unsubscribe(t))}}),T(this,"onActiveChanged",e=>{const t=A(this,bt).subscribeToActiveSceneChange(e);return()=>{A(this,bt).isDeleted()||_e(A(this,bt).unsubscribe(t))}}),M(this,bt,e),t||M(this,yt,new BlockAPI(e))}async loadFromString(e,t=!1,r=!1){return ne("sceneContent",e,Y()),Se(n=>A(this,bt).loadSceneFromString(e,n,t,r))}async loadFromURL(e,t=!1,r=!1){return ne("url",e,Y()),Se(n=>A(this,bt).loadSceneFromURL(e,n,t,r))}async loadFromArchiveURL(e,t=!1,r=!1){return ne("url",e,Y()),Se(n=>A(this,bt).loadSceneFromArchiveURL(e,n,t,r))}async saveToString(e,t){const r=this.get();if(null==r)throw new Error("No scene available.");const n=Array.isArray(e)?{allowedResourceSchemes:e,onDisallowedResourceScheme:t}:e??{},o=n.allowedResourceSchemes??["blob","bundle","file","http","https","opfs"],i=n.onDisallowedResourceScheme,a=n.compression?.format,s=n.compression?.level;return Se(e=>{const t={resourceSchemesAllowed:o,persistenceCallback:i?async(e,t,r)=>{const n=await i(e,t);r&&r.invoke(e,n)}:void 0};void 0!==a&&(t.compression={format:a,level:s}),A(this,bt).saveSceneToString(r,e,t)})}async saveToArchive(){return new Promise((e,t)=>{const r=this.get();null==r?t(new Error("No scene available.")):A(this,bt).saveSceneToArchive(r,async r=>{if("error"in r)t(r.error);else{const n=St(r);if(null!==n)try{e(await Et(n))}catch(e){t(e)}else e(new Blob([r],{type:"application/zip"}))}})})}create(e="Free",t){ne("sceneLayout",e,le()),void 0!==t?.designUnit&&ne("designUnit",t.designUnit,de()),void 0!==t?.fontSizeUnit&&ne("fontSizeUnit",t.fontSizeUnit,ue());const r=_e(void 0!==t?.designUnit||void 0!==t?.fontSizeUnit?A(this,bt).createSceneWithUnits(t.designUnit??"Pixel",t.fontSizeUnit,e):A(this,bt).createScene(e));return t?(I(this,wt,kt).call(this,r,t),r):r}createVideo(e){const t=this.create("Free",e);return this.setMode("Video"),t}createFromImage(e,t=300,r=1,n="Free",o=0,i=!1){return ne("url",e,Y()),ne("dpi",t,J(G(),0)),ne("pixelScaleFactor",r,J(G(),0)),ne("sceneLayout",n,le()),Se(a=>A(this,bt).createSceneFromImage(e,t,r,n,o,i,a))}createFromVideo(e){return ne("url",e,Y()),Se(t=>A(this,bt).createSceneFromVideo(e,t))}get(){const e=_e(A(this,bt).findByType("scene")),t=Ue(e);return t.length>0?t[0]:null}async applyTemplateFromString(e){return ne("content",e,Y()),Se(t=>A(this,bt).applyTemplateFromString(e,t))}async applyTemplateFromURL(e){return ne("url",e,Y()),Se(t=>A(this,bt).applyTemplateFromURL(e,t))}getMode(){const e=this.get(),t=A(this,bt).getSceneMode(e);return t.isValid()?_e(t):(t.delete(),null)}setMode(e){ne("mode",e,function(){const e=["Design","Video"];return $("SceneMode",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}());const t=this.get();if(null==t)throw new Error("No scene available.");_e(A(this,bt).setSceneMode(t,e))}setDesignUnit(e){ne("designUnit",e,de());const t=this.get();_e(A(this,bt).setDesignUnit(t,e))}getDesignUnit(){const e=this.get();return _e(A(this,bt).getDesignUnit(e))}setFontSizeUnit(e){ne("fontSizeUnit",e,ue());const t=this.get();_e(A(this,bt).setFontSizeUnit(t,e))}getFontSizeUnit(){const e=this.get();return _e(A(this,bt).getFontSizeUnit(e))}getLayout(){const e=this.get();if(null==e)throw new Error("No scene available.");return _e(A(this,bt).getSceneLayout(e))}setLayout(e){ne("layout",e,le());const t=this.get();if(null==t)throw new Error("No scene available.");_e(A(this,bt).setSceneLayout(t,e))}getPages(){return Ue(_e(A(this,bt).getPages()))}getCurrentPage(){const e=this.get();if(null==e)return null;const t=A(this,bt).getCurrentPage(e);return t.isValid()?_e(t):null}findNearestToViewPortCenterByType(e){ne("type",e,Y());const t=this.get();if(null==t)return[];const r=_e(A(this,bt).findNearestToViewPortCenterByType(t,e));return Ue(r)}findNearestToViewPortCenterByKind(e){ne("kind",e,Y());const t=this.get();if(null==t)return[];const r=_e(A(this,bt).findNearestToViewPortCenterByKind(t,e));return Ue(r)}setZoomLevel(e=1){const t=this.get();ne("zoomLevel",e,J(G(),0)),A(this,bt).setZoomLevel(t,e)}getZoomLevel(){const e=this.get();return _e(A(this,bt).getZoomLevel(e))}async zoomToBlock(e,t,r,n,o){ne("id",e,z());try{ne("options",t,X(j({padding:X(Q([G(),j({x:X(G()),y:X(G())}),j({top:X(G()),bottom:X(G()),left:X(G()),right:X(G())})])),animate:X(Q([V(),j({duration:X(J(G(),0)),easing:X(ce()),interruptible:X(V())})]))})))}catch(e){try{ne("paddingLeft",t,X(G())),ne("paddingTop",r,X(G())),ne("paddingRight",n,X(G())),ne("paddingBottom",o,X(G()))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.scene.zoomToBlock(id, paddingLeft, paddingTop, paddingRight, paddingBottom)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.scene.zoomToBlock(id, options)\n${e.message}`)}}const i="object"==typeof t?t:{padding:{left:t??0,top:r??0,right:n??0,bottom:o??0}},a={left:0,top:0,right:0,bottom:0};if(null!=i.padding&&("number"==typeof i.padding?(a.left=i.padding,a.top=i.padding,a.right=i.padding,a.bottom=i.padding):(("x"in i.padding||"y"in i.padding)&&(a.left=i.padding.x??a.left,a.right=i.padding.x??a.right,a.top=i.padding.y??a.top,a.bottom=i.padding.y??a.bottom),("left"in i.padding||"top"in i.padding||"right"in i.padding||"bottom"in i.padding)&&(a.left=i.padding.left??a.left,a.top=i.padding.top??a.top,a.right=i.padding.right??a.right,a.bottom=i.padding.bottom??a.bottom))),i.animate){const t={duration:.5,easing:"EaseInOut",interruptible:!1};return"object"==typeof i.animate&&(t.duration=i.animate.duration??t.duration,t.easing=i.animate.easing??t.easing,t.interruptible=i.animate.interruptible??t.interruptible),new Promise(r=>{A(this,bt).zoomToBlockWithAnimation(e,a.left,a.top,a.right,a.bottom,t.duration,t.easing,t.interruptible,()=>{r()})})}return Se(t=>A(this,bt).zoomToBlock(e,a.left,a.top,a.right,a.bottom,t))}enableZoomAutoFit(e,t,r=0,n=0,o=0,i=0){return ne("id",e,z()),ne("axis",t,function(){const e=["Horizontal","Vertical","Both"];return $("ZoomAutoFitAxis",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}()),"Horizontal"===t?(ne("paddingBefore",r,G()),ne("paddingAfter",n,G()),_e(A(this,bt).enableZoomAutoFit(e,t,r,0,n,0))):"Vertical"===t?(ne("paddingBefore",r,G()),ne("paddingAfter",n,G()),_e(A(this,bt).enableZoomAutoFit(e,t,0,r,0,n))):(ne("paddingLeft",r,G()),ne("paddingTop",n,G()),ne("paddingRight",o,G()),ne("paddingBottom",i,G()),_e(A(this,bt).enableZoomAutoFit(e,t,r,n,o,i)))}disableZoomAutoFit(e){return ne("blockOrScene",e,z()),_e(A(this,bt).disableZoomAutoFit(e))}isZoomAutoFitEnabled(e){return ne("blockOrScene",e,z()),_e(A(this,bt).isZoomAutoFitEnabled(e))}unstable_enableCameraPositionClamping(e,t=0,r=0,n=0,o=0,i=0,a=0,s=0,l=0){return ne("ids",e,N(G())),ne("paddingLeft",t,G()),ne("paddingTop",r,G()),ne("paddingRight",n,G()),ne("paddingBottom",o,G()),ne("scaledPaddingLeft",t,G()),ne("scaledPaddingTop",r,G()),ne("scaledPaddingRight",n,G()),ne("scaledPaddingBottom",o,G()),_e(A(this,bt).unstable_enableCameraPositionClamping(e,t,r,n,o,i,a,s,l))}unstable_disableCameraPositionClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return _e(A(this,bt).unstable_disableCameraPositionClamping(e))}unstable_isCameraPositionClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return _e(A(this,bt).unstable_isCameraPositionClampingEnabled(e))}unstable_enableCameraZoomClamping(e,t=-1,r=-1,n=0,o=0,i=0,a=0){return ne("ids",e,N(G())),ne("minZoomLimit",t,G()),ne("maxZoomLimit",r,G()),ne("paddingLeft",n,G()),ne("paddingTop",o,G()),ne("paddingRight",i,G()),ne("paddingBottom",a,G()),_e(A(this,bt).unstable_enableCameraZoomClamping(e,t,r,n,o,i,a))}unstable_disableCameraZoomClamping(e=this.get()){if(null==e)throw new Error("No scene available.");return _e(A(this,bt).unstable_disableCameraZoomClamping(e))}unstable_isCameraZoomClampingEnabled(e=this.get()){if(null==e)throw new Error("No scene available.");return _e(A(this,bt).unstable_isCameraZoomClampingEnabled(e))}setPlaying(e){const t=this.getCurrentPage();if(null==t)throw new Error("No page to play");A(this,bt).setPlaying(t,e)}};function ul(e){return"r"in e&&"a"in e&&void 0!==e.r&&void 0!==e.a}function pl(e){return"name"in e&&void 0!==e.name}function hl(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}function gl(e,t,r){switch(t){case"Point":default:return e;case"Pixel":return 72*e/r;case"Millimeter":return 72*e/25.4;case"Inch":return 72*e}}function fl(e,t,r){switch(t){case"Point":default:return e;case"Pixel":return e*r/72;case"Millimeter":return 25.4*e/72;case"Inch":return e/72}}vt=v(null),bt=new WeakMap,yt=new WeakMap,wt=new WeakSet,kt=function(e,t){if(!t.page)return;if(!A(this,yt))throw new Error("Utility functions not allowed to be called inside utility functions.");let r=0,n=0;if("number"==typeof t.page.size)r=t.page.size,n=t.page.size;else{if("object"!=typeof t.page.size)return;r=t.page.size.width,n=t.page.size.height}const o=A(this,yt).create("page");if(A(this,yt).appendChild(e,o),A(this,yt).setSize(o,r,n),t.page.color){const e=A(this,yt).createFill("color");A(this,yt).setFill(o,e),A(this,yt).setColor(o,"fill/solid/color",t.page.color)}},C(vt,1,"loadFromString",mt,SceneAPI),C(vt,1,"loadFromURL",ft,SceneAPI),C(vt,1,"loadFromArchiveURL",gt,SceneAPI),C(vt,1,"create",ht,SceneAPI),C(vt,1,"createVideo",pt,SceneAPI),C(vt,1,"createFromImage",ut,SceneAPI),C(vt,1,"createFromVideo",dt,SceneAPI),C(vt,1,"get",ct,SceneAPI),C(vt,1,"applyTemplateFromString",lt,SceneAPI),C(vt,1,"applyTemplateFromURL",st,SceneAPI),C(vt,1,"getMode",at,SceneAPI),C(vt,1,"setMode",it,SceneAPI),C(vt,1,"setDesignUnit",ot,SceneAPI),C(vt,1,"getDesignUnit",nt,SceneAPI),C(vt,1,"setFontSizeUnit",rt,SceneAPI),C(vt,1,"getFontSizeUnit",tt,SceneAPI),C(vt,1,"getLayout",et,SceneAPI),C(vt,1,"setLayout",Je,SceneAPI),C(vt,1,"getPages",Ze,SceneAPI),C(vt,1,"getCurrentPage",Qe,SceneAPI),C(vt,1,"findNearestToViewPortCenterByType",Ke,SceneAPI),C(vt,1,"findNearestToViewPortCenterByKind",Ye,SceneAPI),C(vt,1,"setZoomLevel",Xe,SceneAPI),C(vt,1,"getZoomLevel",je,SceneAPI),C(vt,1,"zoomToBlock",Ge,SceneAPI),C(vt,1,"enableZoomAutoFit",ze,SceneAPI),C(vt,1,"disableZoomAutoFit",Ve,SceneAPI),C(vt,1,"isZoomAutoFitEnabled",Ne,SceneAPI),C(vt,1,"setPlaying",$e,SceneAPI),S(vt,SceneAPI),(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(ul(e))return{colorSpace:0,components:{x:e.r,y:e.g,z:e.b,w:e.a},spotColorName:"",tint:1,externalReference:""};if(hl(e))return{colorSpace:1,components:{x:e.c,y:e.m,z:e.y,w:e.k},spotColorName:"",tint:e.tint,externalReference:""};if(pl(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!")}})(Ct||(Ct={})),il=[we],ol=[we],nl=[we],rl=[we],tl=[we],el=[we],Js=[we],Zs=[we],Qs=[ve({disabledInModes:["Playback"]})],Ks=[ve({disabledInModes:["Playback"]})],Ys=[we],Xs=[we],js=[we],Gs=[ve({disabledInModes:["Playback"]})],zs=[ve({disabledInModes:["Playback"]})],Vs=[ve({disabledInModes:["Playback"]})],Ns=[we],$s=[we],Hs=[we],Ws=[we],qs=[ve({disabledInModes:["Playback"]})],Us=[we],Os=[we],Ls=[ve({disabledInModes:["Playback"]})],Bs=[ve({disabledInModes:["Playback"]})],Rs=[ve({disabledInModes:["Playback"]})],Ds=[ve({disabledInModes:["Playback"]})],Is=[ve({disabledInModes:["Playback"]})],Ms=[ve({disabledInModes:["Playback"]})],Fs=[ve({disabledInModes:["Playback"]})],As=[ve({disabledInModes:["Playback"]})],Ps=[we],xs=[ve({disabledInModes:["Playback"]})],Ts=[we],Cs=[ve({disabledInModes:["Playback"]})],Es=[we],Ss=[ve({disabledInModes:["Playback"]})],_s=[we],ks=[ve({disabledInModes:["Playback"]})],ws=[ve({disabledInModes:["Playback"]})],vs=[we],ys=[ve({disabledInModes:["Playback"]})],bs=[ve({disabledInModes:["Playback"]})],ms=[ve({disabledInModes:["Playback"]})],fs=[ve({disabledInModes:["Playback"]})],gs=[we],hs=[we],ps=[we],us=[we],ds=[we],cs=[we],ls=[ve({disabledInModes:["Playback"]})],ss=[ve({disabledInModes:["Playback"]})],as=[we],is=[we],os=[we],ns=[we],rs=[ve({disabledInModes:["Playback"]})],ts=[we],es=[ve({disabledInModes:["Playback"]})],Ja=[ve({disabledInModes:["Playback"]})],Za=[we],Qa=[we],Ka=[ve({disabledInModes:["Playback"]})],Ya=[ve({disabledInModes:["Playback"]})],Xa=[ve({disabledInModes:["Playback"]})],ja=[ve({disabledInModes:["Playback"]})],Ga=[we],za=[we],Va=[we],Na=[we],$a=[we],Ha=[we],Wa=[ve({disabledInModes:["Playback"]})],qa=[ve({disabledInModes:["Playback"]})],Ua=[ve({disabledInModes:["Playback"]})],Oa=[ve({disabledInModes:["Playback"]})],La=[we],Ba=[ve({disabledInModes:["Playback"]})],Ra=[we],Da=[ve({disabledInModes:["Playback"]})],Ia=[we],Ma=[ve({disabledInModes:["Playback"]})],Fa=[we],Aa=[we],Pa=[ve({disabledInModes:["Playback"]})],xa=[ve({disabledInModes:["Playback"]})],Ta=[ve({disabledInModes:["Playback"]})],Ca=[we],Ea=[we],Sa=[ve({disabledInModes:["Playback"]})],_a=[ve({disabledInModes:["Playback"]})],ka=[ve({disabledInModes:["Playback"]})],wa=[ve({disabledInModes:["Playback"]})],va=[ve({disabledInModes:["Playback"]})],ya=[ve({disabledInModes:["Playback"]})],ba=[we],ma=[we],fa=[ve({disabledInModes:["Playback"]})],ga=[we],ha=[we],pa=[we],ua=[we],da=[we],ca=[we],la=[ve({disabledInModes:["Playback"]})],sa=[ve({disabledInModes:["Playback"]})],aa=[ve({disabledInModes:["Playback"]})],ia=[ve({disabledInModes:["Playback"]})],oa=[ve({disabledInModes:["Playback"]})],na=[we],ra=[ve({disabledInModes:["Playback"]})],ta=[we],ea=[ve({disabledInModes:["Playback"]})],Ji=[we],Zi=[ve({disabledInModes:["Playback"]})],Qi=[we],Ki=[ve({disabledInModes:["Playback"]})],Yi=[we],Xi=[ve({disabledInModes:["Playback"]})],ji=[we],Gi=[ve({disabledInModes:["Playback"]})],zi=[we],Vi=[ve({disabledInModes:["Playback"]})],Ni=[we],$i=[ve({disabledInModes:["Playback"]})],Hi=[ve({disabledInModes:["Playback"]})],Wi=[we],qi=[ve({disabledInModes:["Playback"]})],Ui=[ve({disabledInModes:["Playback"]})],Oi=[we],Li=[we],Bi=[we],Ri=[we],Di=[ve({disabledInModes:["Playback"]})],Ii=[we],Mi=[we],Fi=[we],Ai=[we],Pi=[we],xi=[we],Ti=[we],Ci=[ve({disabledInModes:["Playback"]})],Ei=[ve({disabledInModes:["Playback"]})],Si=[ve({disabledInModes:["Playback"]})],_i=[ve({disabledInModes:["Playback"]})],ki=[ve({disabledInModes:["Playback"]})],wi=[ve({disabledInModes:["Playback"]})],vi=[we],yi=[we],bi=[we],mi=[ve({disabledInModes:["Playback"]})],fi=[we],gi=[ve({disabledInModes:["Playback"]})],hi=[we],pi=[ve({disabledInModes:["Playback"]})],ui=[we],di=[ve({disabledInModes:["Playback"]})],ci=[ve({disabledInModes:["Playback"]})],li=[we],si=[we],ai=[ve({disabledInModes:["Playback"]})],ii=[we],oi=[ve({disabledInModes:["Playback"]})],ni=[we],ri=[ve()],ti=[we],ei=[we],Jo=[we],Zo=[we],Qo=[ve({disabledInModes:["Playback"]})],Ko=[we],Yo=[we],Xo=[ve({disabledInModes:["Playback"]})],jo=[we],Go=[ve({disabledInModes:["Playback"]})],zo=[we],Vo=[ve({disabledInModes:["Playback"]})],No=[we],$o=[ve({disabledInModes:["Playback"]})],Ho=[we],Wo=[ve({disabledInModes:["Playback"]})],qo=[we],Uo=[ve({disabledInModes:["Playback"]})],Oo=[we],Lo=[we],Bo=[ve({disabledInModes:["Playback"]})],Ro=[ve({disabledInModes:["Playback"]})],Do=[we],Io=[ve({disabledInModes:["Playback"]})],Mo=[we],Fo=[ve({disabledInModes:["Playback"]})],Ao=[we],Po=[ve({disabledInModes:["Playback"]})],xo=[we],To=[ve({disabledInModes:["Playback"]})],Co=[we],Eo=[ve({disabledInModes:["Playback"]})],So=[we],_o=[ve({disabledInModes:["Playback"]})],ko=[we],wo=[ve({disabledInModes:["Playback"]})],vo=[we],yo=[ve({disabledInModes:["Playback"]})],bo=[we],mo=[ve({disabledInModes:["Playback"]})],fo=[we],go=[ve({disabledInModes:["Playback"]})],ho=[we],po=[ve({disabledInModes:["Playback"]})],uo=[we],co=[ve({disabledInModes:["Playback"]})],lo=[we],so=[we],ao=[ve({disabledInModes:["Playback"]})],io=[ve({disabledInModes:["Playback"]})],oo=[we],no=[ve({disabledInModes:["Playback"]})],ro=[we],to=[ve({disabledInModes:["Playback"]})],eo=[we],Jn=[ve({disabledInModes:["Playback"]})],Zn=[we],Qn=[ve({disabledInModes:["Playback"]})],Kn=[we],Yn=[ve({disabledInModes:["Playback"]})],Xn=[we],jn=[we],Gn=[we],zn=[we],Vn=[we],Nn=[we],$n=[ve({disabledInModes:["Playback"]})],Hn=[we],Wn=[ve({disabledInModes:["Playback"]})],qn=[we],Un=[ve({disabledInModes:["Playback"]})],On=[we],Ln=[ve({disabledInModes:["Playback"]})],Bn=[ve({disabledInModes:["Playback"]})],Rn=[we],Dn=[ve({disabledInModes:["Playback"]})],In=[we],Mn=[we],Fn=[ve({disabledInModes:["Playback"]})],An=[we],Pn=[we],xn=[we],Tn=[ve({disabledInModes:["Playback"]})],Cn=[we],En=[ve({disabledInModes:["Playback"]})],Sn=[we],_n=[ve({disabledInModes:["Playback"]})],kn=[we],wn=[ve({disabledInModes:["Playback"]})],vn=[we],yn=[ve({disabledInModes:["Playback"]})],bn=[ve({disabledInModes:["Playback"]})],mn=[ve({disabledInModes:["Playback"]})],fn=[we],gn=[we],hn=[we],pn=[we],un=[ve({disabledInModes:["Playback"]})],dn=[ve({disabledInModes:["Playback"]})],cn=[ve({disabledInModes:["Playback"]})],ln=[ve({disabledInModes:["Playback"]})],sn=[we],an=[ve({disabledInModes:["Playback"]})],on=[ve({disabledInModes:["Playback"]})],nn=[ve({disabledInModes:["Playback"]})],rn=[ve({disabledInModes:["Playback"]})],tn=[ve({disabledInModes:["Playback"]})],en=[we],Jr=[ve({disabledInModes:["Playback"]})],Zr=[we],Qr=[ve({disabledInModes:["Playback"]})],Kr=[we],Yr=[ve({disabledInModes:["Playback"]})],Xr=[ve({disabledInModes:["Playback"]})],jr=[we],Gr=[ve({disabledInModes:["Playback"]})],zr=[we],Vr=[ve({disabledInModes:["Playback"]})],Nr=[we],$r=[we],Hr=[ve({disabledInModes:["Playback"]})],Wr=[we],qr=[ve({disabledInModes:["Playback"]})],Ur=[we],Or=[ve({disabledInModes:["Playback"]})],Lr=[we],Br=[ve({disabledInModes:["Playback"]})],Rr=[we],Dr=[ve({disabledInModes:["Playback"]})],Ir=[we],Mr=[ve({disabledInModes:["Playback"]})],Fr=[ve({disabledInModes:["Playback"]})],Ar=[ve({disabledInModes:["Playback"]})],Pr=[we],xr=[we],Tr=[ve({disabledInModes:["Playback"]})],Cr=[ve({disabledInModes:["Playback"]})],Er=[we],Sr=[ve({disabledInModes:["Playback"]})],_r=[we],kr=[ve({disabledInModes:["Playback"]})],wr=[we],vr=[we],yr=[ve({disabledInModes:["Playback"]})],br=[we],mr=[ve({disabledInModes:["Playback"]})],fr=[we],gr=[ve({disabledInModes:["Playback"]})],hr=[we],pr=[ve({disabledInModes:["Playback"]})],ur=[we],dr=[ve()],cr=[we],lr=[ve()],sr=[ve({disabledInModes:["Playback"]})],ar=[we],ir=[ve({disabledInModes:["Playback"]})],or=[we],nr=[ve()],rr=[we],tr=[ve({disabledInModes:["Playback"]})],er=[ve({disabledInModes:["Playback"]})],Jt=[we],Zt=[ve({disabledInModes:["Playback"]})],Qt=[we],Kt=[ve({disabledInModes:["Playback"]})],Yt=[we],Xt=[ve({disabledInModes:["Playback"]})],jt=[ve({disabledInModes:["Playback"]})],Gt=[ve({disabledInModes:["Playback"]})],zt=[ve({disabledInModes:["Playback"]})],Vt=[ve({disabledInModes:["Playback"]})],Nt=[ve({disabledInModes:["Playback"]})],$t=[ve({disabledInModes:["Playback"]})],Ht=[we],Wt=[we],qt=[we],Ut=[we],Ot=[ve({disabledInModes:["Playback"]})],Lt=[ve({disabledInModes:["Playback"]})],Bt=[ve({disabledInModes:["Playback"]})],Rt=[we],Dt=[ve({disabledInModes:["Playback"]})],It=[we],Mt=[we],Ft=[we],At=[we],Pt=[ve({disabledInModes:["Playback"]})],xt=[ve({disabledInModes:["Playback"]})],Tt=[we];var BlockAPI=class{constructor(e){E(ll,5,this),F(this,cl),F(this,al),F(this,sl),T(this,"onSelectionChanged",e=>{const t=A(this,al).subscribeToSelectionChange(e);return()=>{A(this,al).isDeleted()||_e(A(this,al).unsubscribe(t))}}),T(this,"onClicked",e=>{const t=A(this,al).subscribeToBlockClicked(e);return()=>{A(this,al).isDeleted()||_e(A(this,al).unsubscribe(t))}}),T(this,"onStateChanged",(e,t)=>{ne("ids",e,N(z()));const r=A(this,al).subscribeToBlockState(e,e=>{try{t(Ue(e,!0))}catch(e){console.error(e)}});return()=>{A(this,al).isDeleted()||_e(A(this,al).unsubscribe(r))}}),M(this,al,e),M(this,sl,new SceneAPI(e,!0))}async export(e,t,r){ne("handle",e,G());try{ne("options",t,X(j({mimeType:X(Q([ie(),se()])),pngCompressionLevel:X(J(Z(z(),9),0)),jpegQuality:X(J(Z(G(),1),0,{exclusive:!0})),webpQuality:X(J(Z(G(),1),0,{exclusive:!0})),targetWidth:X(G()),targetHeight:X(G()),exportPdfWithHighCompatibility:X(V()),exportPdfWithUnderlayer:X(V()),underlayerSpotColorName:X(Y()),underlayerOffset:X(G()),underlayerRenderRatio:X(oe()),underlayerMaxError:X(oe()),allowTextOverhang:X(V()),exportPdfWithDeviceCMYK:X(V()),abortSignal:X(pe())})))}catch(e){try{ne("mimeType",t,X(Q([ie(),se()]))),ne("options",r,X(j({pngCompressionLevel:X(J(Z(z(),9),0)),jpegQuality:X(J(Z(G(),1),0,{exclusive:!0})),webpQuality:X(J(Z(G(),1),0,{exclusive:!0})),targetWidth:X(G()),targetHeight:X(G()),exportPdfWithHighCompatibility:X(V()),exportPdfWithUnderlayer:X(V()),underlayerSpotColorName:X(Y()),underlayerOffset:X(G()),underlayerRenderRatio:X(oe()),underlayerMaxError:X(oe()),allowTextOverhang:X(V()),abortSignal:X(pe())})))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.block.export(handle, mimeType, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.export(handle, options)\n${e.message}`)}}const n="object"==typeof t?t:{mimeType:t,...r},o=n.mimeType??"image/png",i=null!=n.targetWidth&&null!=n.targetHeight,a=n.jpegQuality??.9,s=n.webpQuality??1,l=n.pngCompressionLevel??5;return new Promise((t,r)=>{n.abortSignal?.addEventListener("abort",()=>{r(new Error("AbortSignal received"))}),A(this,al).exportToBuffer(e,o,e=>{"error"in e?r(e.error):t(new Blob([e],{type:o}))},{pngCompressionLevel:l,jpegQuality:a,webpQuality:s,useTargetSize:i,targetWidth:n.targetWidth??0,targetHeight:n.targetHeight??0,exportPdfWithHighCompatibility:n.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:n.exportPdfWithUnderlayer??!1,underlayerSpotColorName:n.underlayerSpotColorName??"",underlayerOffset:n.underlayerOffset??0,underlayerRenderRatio:n.underlayerRenderRatio??1,underlayerMaxError:n.underlayerMaxError??2,allowTextOverhang:n.allowTextOverhang??!1,exportPdfWithDeviceCMYK:n.exportPdfWithDeviceCMYK??!1})})}async getDominantColors(e,t={}){ne("handle",e,G()),ne("options",t,X(j({count:X(z()),ignoreWhite:X(V())})));const r=t.count??5,n=t.ignoreWhite??!1;return new Promise((t,o)=>{A(this,al).getDominantColors(e,e=>{"error"in e?o(new Error(e.error)):t(e)},{count:r,ignoreWhite:n})})}async exportWithColorMask(e,t,r,n,o,i){ne("handle",e,G());try{ne("maskColorR",t,G()),ne("maskColorG",r,G()),ne("maskColorB",n,G()),ne("options",i,X(j({mimeType:X(Q([ie(),se()])),pngCompressionLevel:X(J(Z(z(),9),0)),jpegQuality:X(J(Z(G(),1),0,{exclusive:!0})),webpQuality:X(J(Z(G(),1),0,{exclusive:!0})),targetWidth:X(G()),targetHeight:X(G()),exportPdfWithHighCompatibility:X(V()),exportPdfWithUnderlayer:X(V()),underlayerSpotColorName:X(Y()),underlayerOffset:X(G()),underlayerRenderRatio:X(oe()),underlayerMaxError:X(oe()),abortSignal:X(pe())})))}catch(e){try{ne("mimeType",t,X(Q([ie(),se()]))),ne("maskColorR",r,G()),ne("maskColorG",n,G()),ne("maskColorB",o,G()),ne("options",i,X(j({pngCompressionLevel:X(J(Z(z(),9),0)),jpegQuality:X(J(Z(G(),1),0,{exclusive:!0})),webpQuality:X(J(Z(G(),1),0,{exclusive:!0})),targetWidth:X(G()),targetHeight:X(G()),exportPdfWithHighCompatibility:X(V()),exportPdfWithUnderlayer:X(V()),underlayerSpotColorName:X(Y()),underlayerOffset:X(G()),underlayerRenderRatio:X(oe()),underlayerMaxError:X(oe()),abortSignal:X(pe())})))}catch(t){throw new Error(`Invalid arguments.\nIf your're using the deprecated signature:\ncesdk.engine.block.exportWithColorMask(handle, mimeType, maskColorR, maskColorG, maskColorB, options)\n${t.message}\nIf you're using the new signature:\ncesdk.engine.block.exportWithColorMask(handle, maskColorR, maskColorG, maskColorB, options)\n${e.message}`)}}let a,s,l,c;"number"==typeof t?(a=t,s=r,l=n,c=o??{}):(a=r,s=n,l=o,c={mimeType:t,...i});const d=c.mimeType??"image/png",u=null!=c.targetWidth&&null!=c.targetHeight,p=c.jpegQuality??.9,h=c.webpQuality??1,g=c.pngCompressionLevel??5;return new Promise((t,r)=>{c.abortSignal?.addEventListener("abort",()=>{r(new Error("AbortSignal received"))}),A(this,al).exportWithColorMaskToBuffer(e,d,a,s,l,(e,n)=>{if("error"in e)r(e.error);else if("error"in n)r(n.error);else{const r=new Blob([e],{type:d}),o=new Blob([n],{type:d});t([r,o])}},{pngCompressionLevel:g,jpegQuality:p,webpQuality:h,useTargetSize:u,targetWidth:c.targetWidth??0,targetHeight:c.targetHeight??0,exportPdfWithHighCompatibility:c.exportPdfWithHighCompatibility??!0,exportPdfWithUnderlayer:c.exportPdfWithUnderlayer??!1,underlayerSpotColorName:c.underlayerSpotColorName??"",underlayerOffset:c.underlayerOffset??0,underlayerRenderRatio:c.underlayerRenderRatio??1,underlayerMaxError:c.underlayerMaxError??2,allowTextOverhang:c.allowTextOverhang??!1,exportPdfWithDeviceCMYK:c.exportPdfWithDeviceCMYK??!1})})}async exportVideo(e,t,r,n){throw new Error("Method not implemented. An implementation is available on the BlockAPI at engine.block or cesdk.engine.block")}async exportAudio(e,t={}){return ne("handle",e,G()),ne("options",t,j({mimeType:X(ae()),onProgress:X($("func",e=>"function"==typeof e||"Expected a function, but received: "+L(e))),timeOffset:X(G()),duration:X(G()),sampleRate:X(G()),numberOfChannels:X(G())})),new Promise((r,n)=>{A(this,al).exportAudioToBuffer(e,t.timeOffset??0,t.duration??0,t.mimeType??"audio/wav",t.onProgress??(()=>{}),e=>{"error"in e?n(e.error):r(new Blob([e],{type:t.mimeType??"audio/wav"}))},{sampleRate:t.sampleRate??48e3,numberOfChannels:t.numberOfChannels??2,skipEncoding:t.skipEncoding??!1})})}async loadFromString(e){return ne("content",e,Y()),Se(t=>A(this,al).loadBlocksFromString(e,t)).then(e=>Ue(e))}loadFromArchiveURL(e){return ne("url",e,Y()),Se(t=>A(this,al).loadBlocksFromArchiveURL(e,t)).then(e=>Ue(e))}loadFromURL(e){return ne("url",e,Y()),Se(t=>A(this,al).loadBlocksFromURL(e,t)).then(e=>Ue(e))}async saveToString(e,t=["buffer","http","https"],r){return ne("blocks",e,N(G())),Se(n=>A(this,al).saveBlocksToString(e,n,t,r?async(e,t,n)=>{const o=await r(e,t);n&&n.invoke(e,o)}:void 0))}async saveToArchive(e){return ne("blocks",e,N(G())),new Promise((t,r)=>{A(this,al).saveBlocksToArchive(e,async e=>{if("error"in e)r(e.error);else{const n=St(e);if(null!==n)try{t(await Et(n))}catch(e){r(e)}else t(new Blob([e],{type:"application/zip"}))}})})}create(e){return ne("type",e,Y()),_e(A(this,al).create(e))}createFill(e){return ne("type",e,Y()),_e(A(this,al).createFill(e))}getAudioTrackCountFromVideo(e){return ne("videoFillBlock",e,z()),_e(A(this,al).getAudioTrackCountFromVideo(e))}createAudioFromVideo(e,t,r={}){return ne("videoFillBlock",e,z()),ne("trackIndex",t,G()),ne("options",r,j({keepTrimSettings:X(V()),muteOriginalVideo:X(V())})),_e(A(this,al).createAudioFromVideo(e,t,{keepTrimSettings:r.keepTrimSettings??!0,muteOriginalVideo:r.muteOriginalVideo??!0}))}createAudiosFromVideo(e,t={}){return ne("videoFillBlock",e,z()),ne("options",t,j({keepTrimSettings:X(V()),muteOriginalVideo:X(V())})),Ue(_e(A(this,al).createAudiosFromVideo(e,{keepTrimSettings:t.keepTrimSettings??!0,muteOriginalVideo:t.muteOriginalVideo??!0})))}getAudioInfoFromVideo(e){return ne("videoFillBlock",e,z()),Ue(_e(A(this,al).getAudioInfoFromVideo(e)))}async createCaptionsFromURI(e){return ne("uri",e,Y()),Se(t=>A(this,al).createCaptionsFromURI(e,t)).then(e=>Ue(e))}getType(e){return ne("id",e,z()),_e(A(this,al).getType(e))}getKind(e){return ne("id",e,z()),_e(A(this,al).getKind(e))}setKind(e,t){ne("id",e,z()),_e(A(this,al).setKind(e,t))}select(e){return ne("id",e,z()),_e(A(this,al).select(e))}setSelected(e,t){return ne("id",e,z()),ne("selected",t,V()),_e(A(this,al).setSelected(e,t))}isSelected(e){return ne("id",e,z()),_e(A(this,al).isSelected(e))}findAllSelected(){return Ue(A(this,al).findAllSelected())}isGroupable(e){return ne("ids",e,N(G())),_e(A(this,al).isGroupable(e))}group(e){return ne("ids",e,ee(N(G()))),_e(A(this,al).group(e))}ungroup(e){return ne("id",e,G()),_e(A(this,al).ungroup(e))}enterGroup(e){return ne("id",e,G()),_e(A(this,al).enterGroup(e))}exitGroup(e){return ne("id",e,G()),_e(A(this,al).exitGroup(e))}isCombinable(e){return ne("ids",e,N(G())),_e(A(this,al).isCombinable(e))}combine(e,t){return ne("ids",e,N(G())),ne("op",t,Y()),_e(A(this,al).combine(e,t))}setName(e,t){return ne("id",e,z()),ne("name",t,Y()),_e(A(this,al).setName(e,t))}getName(e){return ne("id",e,z()),_e(A(this,al).getName(e))}getUUID(e){return ne("id",e,z()),_e(A(this,al).getUUID(e))}findByName(e){ne("name",e,Y());const t=A(this,al).findByName(e);return Ue(t)}findByType(e){ne("type",e,Y());const t=_e(A(this,al).findByType(e));return Ue(t)}findByKind(e){ne("kind",e,Y());const t=_e(A(this,al).findByKind(e));return Ue(t)}findAll(){return Ue(A(this,al).findAll())}findAllPlaceholders(){return Ue(A(this,al).findAllPlaceholders())}findAllUnused(){return Ue(A(this,al).findAllUnused())}createShape(e){return ne("type",e,Y()),_e(A(this,al).createShape(e))}hasShape(e){return ne("id",e,z()),_e(A(this,al).hasShape(e))}supportsShape(e){return ne("id",e,z()),_e(A(this,al).supportsShape(e))}getShape(e){return ne("id",e,z()),_e(A(this,al).getShape(e))}setShape(e,t){return ne("id",e,z()),ne("shape",t,z()),_e(A(this,al).setShape(e,t))}isVisible(e){return ne("id",e,z()),_e(A(this,al).isVisible(e))}setVisible(e,t){return ne("id",e,z()),ne("visible",t,V()),_e(A(this,al).setVisible(e,t))}isClipped(e){return ne("id",e,z()),_e(A(this,al).isClipped(e))}setClipped(e,t){return ne("id",e,z()),ne("clipped",t,V()),_e(A(this,al).setClipped(e,t))}isTransformLocked(e){return ne("id",e,z()),_e(A(this,al).isTransformLocked(e))}isLineOrigin(e){return ne("id",e,z()),_e(A(this,al).isLineOrigin(e))}setTransformLocked(e,t){return ne("id",e,z()),ne("locked",t,V()),_e(A(this,al).setTransformLocked(e,t))}getPositionX(e){return ne("id",e,z()),_e(A(this,al).getPositionX(e))}getPositionXMode(e){return ne("id",e,z()),_e(A(this,al).getPositionXMode(e))}getPositionY(e){return ne("id",e,z()),_e(A(this,al).getPositionY(e))}getPositionYMode(e){return ne("id",e,z()),_e(A(this,al).getPositionYMode(e))}setPositionX(e,t){return ne("id",e,z()),ne("value",t,G()),_e(A(this,al).setPositionX(e,t))}setPositionXMode(e,t){return ne("id",e,z()),_e(A(this,al).setPositionXMode(e,t))}setPositionY(e,t){return ne("id",e,z()),ne("value",t,G()),_e(A(this,al).setPositionY(e,t))}setPositionYMode(e,t){return ne("id",e,z()),_e(A(this,al).setPositionYMode(e,t))}setAlwaysOnTop(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setAlwaysOnTop(e,t))}setAlwaysOnBottom(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setAlwaysOnBottom(e,t))}isAlwaysOnTop(e){return ne("id",e,z()),_e(A(this,al).isAlwaysOnTop(e))}isAlwaysOnBottom(e){return ne("id",e,z()),_e(A(this,al).isAlwaysOnBottom(e))}bringToFront(e){return ne("id",e,G()),_e(A(this,al).bringToFront(e))}sendToBack(e){return ne("id",e,G()),_e(A(this,al).sendToBack(e))}bringForward(e){return ne("id",e,G()),_e(A(this,al).bringForward(e))}sendBackward(e){return ne("id",e,G()),_e(A(this,al).sendBackward(e))}getRotation(e){return ne("id",e,z()),_e(A(this,al).getRotation(e))}setRotation(e,t){return ne("id",e,z()),ne("radians",t,G()),_e(A(this,al).setRotation(e,t))}getFlipHorizontal(e){return ne("id",e,z()),_e(A(this,al).getFlip(e)).horizontal}getFlipVertical(e){return ne("id",e,z()),_e(A(this,al).getFlip(e)).vertical}setFlipHorizontal(e,t){return ne("id",e,z()),ne("flip",t,V()),_e(A(this,al).setFlipHorizontal(e,t))}setFlipVertical(e,t){return ne("id",e,z()),ne("flip",t,V()),_e(A(this,al).setFlipVertical(e,t))}hasContentFillMode(e){return ne("id",e,z()),_e(A(this,al).hasContentFillMode(e))}supportsContentFillMode(e){return ne("id",e,z()),_e(A(this,al).supportsContentFillMode(e))}getWidth(e){return ne("id",e,z()),_e(A(this,al).getWidth(e))}getWidthMode(e){return ne("id",e,z()),_e(A(this,al).getWidthMode(e))}getHeight(e){return ne("id",e,z()),_e(A(this,al).getHeight(e))}getHeightMode(e){return ne("id",e,z()),_e(A(this,al).getHeightMode(e))}setSize(e,t,r,n){return ne("id",e,z()),ne("width",t,G()),ne("height",r,G()),ne("options",n,X(j({maintainCrop:X(V()),sizeMode:X(he())}))),null!=n?.sizeMode&&(_e(A(this,al).setWidthMode(e,n.sizeMode)),_e(A(this,al).setHeightMode(e,n.sizeMode))),_e(A(this,al).setWidth(e,t,n?.maintainCrop??!1)),_e(A(this,al).setHeight(e,r,n?.maintainCrop??!1))}setPosition(e,t,r,n){return ne("id",e,z()),ne("x",t,G()),ne("y",r,G()),null!=n?.positionMode&&(_e(A(this,al).setPositionXMode(e,n.positionMode)),_e(A(this,al).setPositionYMode(e,n.positionMode))),_e(A(this,al).setPositionX(e,t)),_e(A(this,al).setPositionY(e,r))}setWidth(e,t,r){return ne("id",e,z()),ne("value",t,G()),ne("maintainCrop",r??!1,V()),_e(A(this,al).setWidth(e,t,r??!1))}setWidthMode(e,t){return ne("id",e,z()),_e(A(this,al).setWidthMode(e,t))}setHeight(e,t,r){return ne("id",e,z()),ne("value",t,G()),ne("maintainCrop",r??!1,V()),_e(A(this,al).setHeight(e,t,r??!1))}setHeightMode(e,t){return ne("id",e,z()),_e(A(this,al).setHeightMode(e,t))}getFrameX(e){return ne("id",e,z()),_e(A(this,al).getLastFrameX(e))}getFrameY(e){return ne("id",e,z()),_e(A(this,al).getLastFrameY(e))}getFrameWidth(e){return ne("id",e,z()),_e(A(this,al).getLastFrameWidth(e))}getFrameHeight(e){return ne("id",e,z()),_e(A(this,al).getLastFrameHeight(e))}setContentFillMode(e,t){return ne("id",e,z()),_e(A(this,al).setContentFillMode(e,t))}getContentFillMode(e){return ne("id",e,z()),_e(A(this,al).getContentFillMode(e))}setContentFillHorizontalAlignment(e,t){return ne("id",e,z()),_e(A(this,al).setContentFillHorizontalAlignment(e,t))}getContentFillHorizontalAlignment(e){return ne("id",e,z()),_e(A(this,al).getContentFillHorizontalAlignment(e))}setContentFillVerticalAlignment(e,t){return ne("id",e,z()),_e(A(this,al).setContentFillVerticalAlignment(e,t))}getContentFillVerticalAlignment(e){return ne("id",e,z()),_e(A(this,al).getContentFillVerticalAlignment(e))}duplicate(e,t=!0){return ne("id",e,z()),_e(A(this,al).duplicate(e,t))}destroy(e){return ne("id",e,z()),_e(A(this,al).destroy(e))}isValid(e){return ne("id",e,z()),A(this,al).isValid(e)}getParent(e){return ne("id",e,z()),_e(A(this,al).hasParent(e))?_e(A(this,al).getParent(e)):null}getChildren(e){ne("id",e,z());const t=_e(A(this,al).getChildren(e));return Ue(t)}insertChild(e,t,r){return ne("parent",e,G()),ne("child",t,G()),ne("index",r,J(G(),0)),_e(A(this,al).insertChild(e,t,r))}appendChild(e,t){return ne("parent",e,G()),ne("child",t,G()),_e(A(this,al).appendChild(e,t))}referencesAnyVariables(e){return ne("id",e,z()),_e(A(this,al).referencesAnyVariables(e))}getGlobalBoundingBoxX(e){return ne("id",e,z()),_e(A(this,al).getGlobalBoundingBoxX(e))}getGlobalBoundingBoxY(e){return ne("id",e,z()),_e(A(this,al).getGlobalBoundingBoxY(e))}getGlobalBoundingBoxWidth(e){return ne("id",e,z()),_e(A(this,al).getGlobalBoundingBoxWidth(e))}getGlobalBoundingBoxHeight(e){return ne("id",e,z()),_e(A(this,al).getGlobalBoundingBoxHeight(e))}getScreenSpaceBoundingBoxXYWH(e){return ne("ids",e,N(G())),_e(A(this,al).getScreenSpaceBoundingBoxXYWH(e))}alignHorizontally(e,t){return ne("ids",e,ee(N(G()))),_e(A(this,al).alignHorizontally(e,t))}alignVertically(e,t){return ne("ids",e,ee(N(G()))),_e(A(this,al).alignVertically(e,t))}isAlignable(e){return ne("ids",e,N(G())),_e(A(this,al).isAlignable(e))}distributeHorizontally(e){return ne("ids",e,ee(N(G()))),_e(A(this,al).distributeHorizontally(e))}distributeVertically(e){return ne("ids",e,ee(N(G()))),_e(A(this,al).distributeVertically(e))}isDistributable(e){return ne("ids",e,N(G())),_e(A(this,al).isDistributable(e))}fillParent(e){return ne("id",e,z()),_e(A(this,al).fillParent(e))}resizeContentAware(e,t,r){return ne("ids",e,N(G())),ne("width",t,G()),ne("height",r,G()),_e(A(this,al).resizeContentAware(e,t,r))}scale(e,t,r=0,n=0){return ne("id",e,z()),_e(A(this,al).scale(e,t,r,n))}findAllProperties(e){return ne("id",e,z()),Ue(_e(A(this,al).findAllProperties(e)))}isPropertyReadable(e){return ne("property",e,Y()),A(this,al).isPropertyReadable(e)}isPropertyWritable(e){return ne("property",e,Y()),A(this,al).isPropertyWritable(e)}getPropertyType(e){ne("property",e,Y());return _e(A(this,al).getPropertyType(e))}getEnumValues(e){return ne("enumProperty",e,Y()),Ue(_e(A(this,al).getEnumValues(e)))}setBool(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,V()),_e(A(this,al).setBool(e,t,r))}getBool(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getBool(e,t))}setInt(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,z()),_e(A(this,al).setInt(e,t,r))}getInt(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getInt(e,t))}setFloat(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,G()),_e(A(this,al).setFloat(e,t,r))}getFloat(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getFloat(e,t))}setDouble(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,G()),_e(A(this,al).setDouble(e,t,r))}getDouble(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getDouble(e,t))}setString(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,Y()),_e(A(this,al).setString(e,t,r))}getString(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getString(e,t))}setColor(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,me()),_e(A(this,al).setColor(e,t,Ct.fromColor(r)))}getColor(e,t){return ne("id",e,z()),ne("property",t,Y()),Ct.toColor(_e(A(this,al).getColor(e,t)))}setColorRGBA(e,t,r,n,o,i=1){return ne("id",e,z()),ne("property",t,Y()),ne("r",r,G()),ne("g",n,G()),ne("b",o,G()),ne("a",i,G()),_e(A(this,al).setColorRGBA(e,t,r,n,o,i))}getColorRGBA(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getColorRGBA(e,t))}setColorSpot(e,t,r,n=1){return ne("id",e,z()),ne("property",t,Y()),ne("name",r,Y()),ne("tint",n,G()),_e(A(this,al).setColorSpot(e,t,r,n))}getColorSpotName(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getColorSpotName(e,t))}getColorSpotTint(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getColorSpotTint(e,t))}setGradientColorStops(e,t,r){ne("id",e,z()),ne("property",t,Y());const n=r.map(e=>({color:Ct.fromColor(e.color),stop:e.stop}));return _e(A(this,al).setGradientColorStops(e,t,n))}getGradientColorStops(e,t){ne("id",e,z()),ne("property",t,Y());const r=_e(A(this,al).getGradientColorStops(e,t));return Ue(r).map(e=>({color:Ct.toColor(e.color),stop:e.stop}))}getSourceSet(e,t){return ne("id",e,z()),ne("property",t,Y()),Ue(_e(A(this,al).getSourceSet(e,t)))}setSourceSet(e,t,r){ne("id",e,z()),ne("property",t,Y()),ne("sourceSet",r,N(j({uri:Y(),width:G(),height:G()}))),_e(A(this,al).setSourceSet(e,t,r))}addImageFileURIToSourceSet(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("uri",r,Y()),Se(n=>A(this,al).addImageFileURIToSourceSet(e,t,r,n))}addVideoFileURIToSourceSet(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("uri",r,Y()),Se(n=>A(this,al).addVideoFileURIToSourceSet(e,t,r,n))}setEnum(e,t,r){return ne("id",e,z()),ne("property",t,Y()),ne("value",r,Y()),_e(A(this,al).setEnum(e,t,r))}getEnum(e,t){return ne("id",e,z()),ne("property",t,Y()),_e(A(this,al).getEnum(e,t))}hasCrop(e){return ne("id",e,z()),_e(A(this,al).hasCrop(e))}supportsCrop(e){return ne("id",e,z()),_e(A(this,al).supportsCrop(e))}setCropScaleX(e,t){return ne("id",e,z()),ne("scaleX",t,G()),_e(A(this,al).setCropScaleX(e,t))}setCropScaleY(e,t){return ne("id",e,z()),ne("scaleY",t,G()),_e(A(this,al).setCropScaleY(e,t))}setCropRotation(e,t){return ne("id",e,z()),ne("rotation",t,G()),_e(A(this,al).setCropRotation(e,t))}setCropScaleRatio(e,t){return ne("id",e,z()),ne("scaleRatio",t,G()),_e(A(this,al).setCropScaleRatio(e,t))}setCropTranslationX(e,t){return ne("id",e,z()),ne("translationX",t,G()),_e(A(this,al).setCropTranslationX(e,t))}setCropTranslationY(e,t){return ne("id",e,z()),ne("translationY",t,G()),_e(A(this,al).setCropTranslationY(e,t))}resetCrop(e){return ne("id",e,z()),_e(A(this,al).resetCrop(e))}getCropScaleX(e){return ne("id",e,z()),_e(A(this,al).getCropScaleX(e))}getCropScaleY(e){return ne("id",e,z()),_e(A(this,al).getCropScaleY(e))}getCropRotation(e){return ne("id",e,z()),_e(A(this,al).getCropRotation(e))}getCropScaleRatio(e){return ne("id",e,z()),_e(A(this,al).getCropScaleRatio(e))}getCropTranslationX(e){return ne("id",e,z()),_e(A(this,al).getCropTranslationX(e))}getCropTranslationY(e){return ne("id",e,z()),_e(A(this,al).getCropTranslationY(e))}adjustCropToFillFrame(e,t){return ne("id",e,z()),ne("minScaleRatio",t,G()),_e(A(this,al).adjustCropToFillFrame(e,t))}flipCropHorizontal(e){return ne("id",e,z()),_e(A(this,al).flipCropHorizontal(e))}flipCropVertical(e){return ne("id",e,z()),_e(A(this,al).flipCropVertical(e))}isCropAspectRatioLocked(e){return ne("id",e,z()),_e(A(this,al).isCropAspectRatioLocked(e))}setCropAspectRatioLocked(e,t){ne("id",e,z()),ne("locked",t,V()),_e(A(this,al).setCropAspectRatioLocked(e,t))}canRevertToOriginalRatio(e){return ne("id",e,z()),_e(A(this,al).canRevertToOriginalRatio(e))}hasOpacity(e){return ne("id",e,z()),_e(A(this,al).hasOpacity(e))}supportsOpacity(e){return ne("id",e,z()),_e(A(this,al).supportsOpacity(e))}setOpacity(e,t){return ne("id",e,z()),ne("opacity",t,G()),_e(A(this,al).setOpacity(e,t))}getOpacity(e){return ne("id",e,z()),_e(A(this,al).getOpacity(e))}hasBlendMode(e){return ne("id",e,z()),_e(A(this,al).hasBlendMode(e))}supportsBlendMode(e){return ne("id",e,z()),_e(A(this,al).supportsBlendMode(e))}setBlendMode(e,t){return ne("id",e,z()),ne("blendMode",t,Y()),_e(A(this,al).setBlendMode(e,t))}getBlendMode(e){return ne("id",e,z()),_e(A(this,al).getBlendMode(e))}hasFillColor(e){return ne("id",e,z()),_e(A(this,al).hasFillColor(e))}isIncludedInExport(e){return ne("id",e,z()),_e(A(this,al).isIncludedInExport(e))}setIncludedInExport(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setIncludedInExport(e,t))}setFillColorRGBA(e,t,r,n,o=1){return ne("id",e,z()),ne("r",t,G()),ne("g",r,G()),ne("b",n,G()),ne("a",o,G()),_e(A(this,al).setFillColorRGBA(e,t,r,n,o))}getFillColorRGBA(e){return ne("id",e,z()),_e(A(this,al).getFillColorRGBA(e))}setFillColorEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setFillColorEnabled(e,t))}isFillColorEnabled(e){return ne("id",e,z()),_e(A(this,al).isFillColorEnabled(e))}createEffect(e){return ne("type",e,Y()),_e(A(this,al).createEffect(e))}hasEffects(e){return ne("id",e,z()),_e(A(this,al).hasEffects(e))}supportsEffects(e){return ne("id",e,z()),_e(A(this,al).supportsEffects(e))}getEffects(e){ne("id",e,z());const t=_e(A(this,al).getEffects(e));return Ue(t)}insertEffect(e,t,r){ne("id",e,z()),ne("effectId",t,z()),ne("index",r,J(z(),0)),_e(A(this,al).insertEffect(e,t,r))}appendEffect(e,t){ne("id",e,z()),ne("effectId",t,z()),_e(A(this,al).appendEffect(e,t))}removeEffect(e,t){ne("id",e,z()),ne("index",t,J(z(),0)),_e(A(this,al).removeEffect(e,t))}hasEffectEnabled(e){return ne("effectId",e,z()),_e(A(this,al).hasEffectEnabled(e))}setEffectEnabled(e,t){ne("effectId",e,z()),ne("enabled",t,V()),_e(A(this,al).setEffectEnabled(e,t))}isEffectEnabled(e){return ne("effectId",e,z()),_e(A(this,al).isEffectEnabled(e))}createBlur(e){return ne("type",e,Y()),_e(A(this,al).createBlur(e))}hasBlur(e){return ne("id",e,z()),_e(A(this,al).hasBlur(e))}supportsBlur(e){return ne("id",e,z()),_e(A(this,al).supportsBlur(e))}setBlur(e,t){ne("id",e,z()),ne("blurId",t,z()),_e(A(this,al).setBlur(e,t))}getBlur(e){return ne("id",e,z()),_e(A(this,al).getBlur(e))}setBlurEnabled(e,t){ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setBlurEnabled(e,t))}isBlurEnabled(e){return ne("id",e,z()),_e(A(this,al).isBlurEnabled(e))}hasBackgroundColor(e){return ne("id",e,z()),_e(A(this,al).hasBackgroundColor(e))}supportsBackgroundColor(e){return ne("id",e,z()),_e(A(this,al).supportsBackgroundColor(e))}setBackgroundColorRGBA(e,t,r,n,o=1){return ne("id",e,z()),ne("r",t,G()),ne("g",r,G()),ne("b",n,G()),ne("a",o,G()),_e(A(this,al).setBackgroundColorRGBA(e,t,r,n,o))}getBackgroundColorRGBA(e){return ne("id",e,z()),_e(A(this,al).getBackgroundColorRGBA(e))}setBackgroundColorEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setBackgroundColorEnabled(e,t))}isBackgroundColorEnabled(e){return ne("id",e,z()),_e(A(this,al).isBackgroundColorEnabled(e))}hasStroke(e){return ne("id",e,z()),_e(A(this,al).hasStroke(e))}supportsStroke(e){return ne("id",e,z()),_e(A(this,al).supportsStroke(e))}setStrokeEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setStrokeEnabled(e,t))}isStrokeEnabled(e){return ne("id",e,z()),_e(A(this,al).isStrokeEnabled(e))}setStrokeOverprint(e,t){return ne("id",e,z()),ne("overprint",t,V()),_e(A(this,al).setStrokeOverprint(e,t))}getStrokeOverprint(e){return ne("id",e,z()),_e(A(this,al).getStrokeOverprint(e))}setStrokeColorRGBA(e,t,r,n,o=1){return ne("id",e,z()),ne("r",t,G()),ne("g",r,G()),ne("b",n,G()),ne("a",o,G()),_e(A(this,al).setStrokeColorRGBA(e,t,r,n,o))}setStrokeColor(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeColor(e,Ct.fromColor(t)))}getStrokeColorRGBA(e){return ne("id",e,z()),_e(A(this,al).getStrokeColorRGBA(e))}getStrokeColor(e){return ne("id",e,z()),Ct.toColor(_e(A(this,al).getStrokeColor(e)))}setStrokeWidth(e,t){return ne("id",e,z()),ne("width",t,G()),_e(A(this,al).setStrokeWidth(e,t))}getStrokeWidth(e){return ne("id",e,z()),_e(A(this,al).getStrokeWidth(e))}setStrokeStyle(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeStyle(e,t))}getStrokeStyle(e){ne("id",e,z());return _e(A(this,al).getStrokeStyle(e))}setStrokePosition(e,t){return ne("id",e,z()),_e(A(this,al).setStrokePosition(e,t))}getStrokePosition(e){ne("id",e,z());return _e(A(this,al).getStrokePosition(e))}setStrokeCornerGeometry(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeCornerGeometry(e,t))}getStrokeCornerGeometry(e){ne("id",e,z());return _e(A(this,al).getStrokeCornerGeometry(e))}setStrokeCap(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeCap(e,t))}getStrokeCap(e){ne("id",e,z());return _e(A(this,al).getStrokeCap(e))}setStrokeStartCap(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeStartCap(e,t))}getStrokeStartCap(e){ne("id",e,z());return _e(A(this,al).getStrokeStartCap(e))}setStrokeEndCap(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeEndCap(e,t))}getStrokeEndCap(e){ne("id",e,z());return _e(A(this,al).getStrokeEndCap(e))}setStrokeDashStartCap(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeDashStartCap(e,t))}getStrokeDashStartCap(e){ne("id",e,z());return _e(A(this,al).getStrokeDashStartCap(e))}setStrokeDashEndCap(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeDashEndCap(e,t))}getStrokeDashEndCap(e){ne("id",e,z());return _e(A(this,al).getStrokeDashEndCap(e))}setStrokeDashArray(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeDashArray(e,t))}getStrokeDashArray(e){return ne("id",e,z()),Ue(_e(A(this,al).getStrokeDashArray(e)))}setStrokeDashOffset(e,t){return ne("id",e,z()),_e(A(this,al).setStrokeDashOffset(e,t))}getStrokeDashOffset(e){return ne("id",e,z()),_e(A(this,al).getStrokeDashOffset(e))}hasDropShadow(e){return ne("id",e,z()),_e(A(this,al).hasDropShadow(e))}supportsDropShadow(e){return ne("id",e,z()),_e(A(this,al).supportsDropShadow(e))}setDropShadowEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setDropShadowEnabled(e,t))}isDropShadowEnabled(e){return ne("id",e,z()),_e(A(this,al).isDropShadowEnabled(e))}setDropShadowColorRGBA(e,t,r,n,o=1){return ne("id",e,z()),ne("r",t,G()),ne("g",r,G()),ne("b",n,G()),ne("a",o,G()),_e(A(this,al).setDropShadowColorRGBA(e,t,r,n,o))}setDropShadowColor(e,t){return ne("id",e,z()),ne("color",t,me()),_e(A(this,al).setDropShadowColor(e,Ct.fromColor(t)))}getDropShadowColorRGBA(e){return ne("id",e,z()),_e(A(this,al).getDropShadowColorRGBA(e))}getDropShadowColor(e){return ne("id",e,z()),Ct.toColor(_e(A(this,al).getDropShadowColor(e)))}setDropShadowOffsetX(e,t){return ne("id",e,z()),ne("offsetX",t,G()),_e(A(this,al).setDropShadowOffsetX(e,t))}getDropShadowOffsetX(e){return ne("id",e,z()),_e(A(this,al).getDropShadowOffsetX(e))}setDropShadowOffsetY(e,t){return ne("id",e,z()),ne("offsetY",t,G()),_e(A(this,al).setDropShadowOffsetY(e,t))}getDropShadowOffsetY(e){return ne("id",e,z()),_e(A(this,al).getDropShadowOffsetY(e))}setDropShadowBlurRadiusX(e,t){return ne("id",e,z()),ne("blurRadiusX",t,G()),_e(A(this,al).setDropShadowBlurRadiusX(e,t))}getDropShadowBlurRadiusX(e){return ne("id",e,z()),_e(A(this,al).getDropShadowBlurRadiusX(e))}setDropShadowBlurRadiusY(e,t){return ne("id",e,z()),ne("blurRadiusY",t,G()),_e(A(this,al).setDropShadowBlurRadiusY(e,t))}getDropShadowBlurRadiusY(e){return ne("id",e,z()),_e(A(this,al).getDropShadowBlurRadiusY(e))}setDropShadowClip(e,t){return ne("id",e,z()),_e(A(this,al).setDropShadowClip(e,t))}getDropShadowClip(e){return ne("id",e,z()),_e(A(this,al).getDropShadowClip(e))}createCutoutFromBlocks(e,t=2,r=4,n=!0){return ne("ids",e,N(z())),ne("vectorizeDistanceThreshold",t,G()),ne("maxSmoothingDistance",r,G()),ne("useExistingShapeInformation",n,V()),_e(A(this,al).createCutoutFromBlocks(e,t,r,n))}createCutoutFromPath(e){return ne("path",e,Y()),_e(A(this,al).createCutoutFromPath(e))}createCutoutFromOperation(e,t){return ne("ids",e,N(z())),ne("op",t,function(){const e=["Difference","Intersection","Union","XOR"];return $("CutoutOperation",t=>!("string"!=typeof t||!e.includes(t))||{message:`expected one of ${e.map(e=>`"${e}"`).join(", ")}, but got "${t}"`})}()),_e(A(this,al).createCutoutFromOperation(e,t))}replaceText(e,t,r=-1,n=-1){ne("id",e,z()),ne("text",t,Y()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).replaceText(e,t,r,n))}removeText(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).removeText(e,t,r))}setTextColor(e,t,r=-1,n=-1){ne("id",e,z()),ne("color",t,me()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).setTextColor(e,Ct.fromColor(t),r,n))}getTextColors(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z());const n=A(this,al).getTextColors(e,t,r);return Ue(_e(n)).map(e=>Ct.toColor(e))}setTextFontWeight(e,t,r=-1,n=-1){ne("id",e,z()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).setTextFontWeight(e,t,r,n))}getTextFontWeights(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextFontWeights(e,t,r)))}setTextFontSize(e,t,r,n=-1){if(ne("id",e,z()),ne("fontSize",t,G()),"object"==typeof r&&null!==r){ne("options",r,X(j({unit:X(Y()),from:X(z()),to:X(z())})));const{unit:n,from:o=-1,to:i=-1}=r;let a=t;if(void 0!==n){const e=A(this,sl).get(),r=null!=e?A(this,sl).getFontSizeUnit():"Point";if(n!==r){if(null==e)throw new Error("No scene found for unit conversion");const o=this.getFloat(e,"scene/dpi");a=fl(gl(t,n,o),r,o)}}_e(A(this,al).setTextFontSize(e,a,o,i))}else{const o=r??-1;ne("from",o,z()),ne("to",n,z()),_e(A(this,al).setTextFontSize(e,t,o,n))}}getTextFontSizes(e,t=-1,r=-1){if(ne("id",e,z()),"object"==typeof t){ne("options",t,X(j({unit:X(Y()),from:X(z()),to:X(z())})));const{unit:r,from:n=-1,to:o=-1}=t,i=Ue(_e(A(this,al).getTextFontSizes(e,n,o)));if(void 0===r)return i;const a=A(this,sl).get(),s=null!=a?A(this,sl).getFontSizeUnit():"Point";if(r===s)return i;if(null==a)throw new Error("No scene found for unit conversion");const l=this.getFloat(a,"scene/dpi");return i.map(e=>fl(gl(e,s,l),r,l))}return ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextFontSizes(e,t,r)))}setTextFontStyle(e,t,r=-1,n=-1){ne("id",e,z()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).setTextFontStyle(e,t,r,n))}getTextFontStyles(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextFontStyles(e,t,r)))}getTextCases(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextCases(e,t,r)))}setTextCase(e,t,r=-1,n=-1){ne("id",e,z()),ne("textCase",t,Y()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).setTextCase(e,t,r,n))}getTextDecorations(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z());const n=_e(A(this,al).getTextDecorations(e,t,r));return Ue(n).map(e=>({...e,underlineColor:null!=e.underlineColor?Ct.toColor(e.underlineColor):void 0}))}setTextDecoration(e,t,r=-1,n=-1){ne("id",e,z()),ne("from",r,z()),ne("to",n,z());const o={...t,underlineColor:null!=t.underlineColor?Ct.fromColor(t.underlineColor):void 0};_e(A(this,al).setTextDecoration(e,o,r,n))}setTextKerning(e,t,r=-1,n=-1){ne("id",e,z()),ne("kerning",t,G()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).setTextKerning(e,t,r,n))}getTextKernings(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextKernings(e,t,r)))}toggleTextDecorationUnderline(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).toggleTextDecorationUnderline(e,t,r))}toggleTextDecorationStrikethrough(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).toggleTextDecorationStrikethrough(e,t,r))}toggleTextDecorationOverline(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).toggleTextDecorationOverline(e,t,r))}getTextHorizontalAlignment(e,t=-1){return ne("id",e,z()),ne("paragraphIndex",t,z()),_e(A(this,al).getTextHorizontalAlignment(e,t))}setTextHorizontalAlignment(e,t,r=-1){ne("id",e,z()),void 0!==t&&ne("alignment",t,Y()),ne("paragraphIndex",r,z()),_e(A(this,al).setTextHorizontalAlignment(e,t,r))}getTextListStyle(e,t){return ne("id",e,z()),ne("paragraphIndex",t,z()),_e(A(this,al).getTextListStyle(e,t))}setTextListStyle(e,t,r=-1,n){ne("id",e,z()),ne("listStyle",t,Y()),ne("paragraphIndex",r,z()),void 0!==n&&ne("listLevel",n,z()),_e(A(this,al).setTextListStyle(e,t,r,n))}getTextListLevel(e,t){return ne("id",e,z()),ne("paragraphIndex",t,z()),_e(A(this,al).getTextListLevel(e,t))}setTextListLevel(e,t,r=-1){ne("id",e,z()),ne("listLevel",t,z()),ne("paragraphIndex",r,z()),_e(A(this,al).setTextListLevel(e,t,r))}getTextParagraphIndices(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextParagraphIndices(e,t,r)))}setTextLineHeight(e,t,r=-1){ne("id",e,z()),null!==t&&ne("lineHeight",t,G()),ne("paragraphIndex",r,z()),_e(A(this,al).setTextLineHeight(e,t??void 0,r))}getTextLineHeight(e,t){return ne("id",e,z()),ne("paragraphIndex",t,z()),_e(A(this,al).getTextLineHeight(e,t))}canToggleBoldFont(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).canToggleBoldFont(e,t,r))}canToggleItalicFont(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).canToggleItalicFont(e,t,r))}toggleBoldFont(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).toggleBoldFont(e,t,r))}toggleItalicFont(e,t=-1,r=-1){ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),_e(A(this,al).toggleItalicFont(e,t,r))}setFont(e,t,r){ne("block",e,z()),ne("fontFileUri",t,Y()),_e(A(this,al).setFont(e,t,r))}setTypeface(e,t,r=-1,n=-1){ne("block",e,z()),ne("from",r,z()),ne("to",n,z()),_e(A(this,al).setTypeface(e,t,r,n))}getTypeface(e){return ne("block",e,z()),_e(A(this,al).getTypeface(e))}getTypefaces(e,t=-1,r=-1){return ne("block",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTypefaces(e,t,r)))}getTextRuns(e,t=-1,r=-1){ne("block",e,z()),ne("from",t,z()),ne("to",r,z());return Ue(_e(A(this,al).getTextRuns(e,t,r))).map(e=>({from:e.from,to:e.to,text:e.text,color:Ct.toColor(e.color),fontWeight:e.fontWeight,fontStyle:e.fontStyle,fontSize:e.fontSize,textCase:e.textCase,typeface:e.typeface,resolvedFontFileUri:e.resolvedFontFileUri,textDecoration:{...e.textDecoration,lines:e.textDecoration.lines,style:e.textDecoration.style,underlineColor:null!=e.textDecoration.underlineColor?Ct.toColor(e.textDecoration.underlineColor):void 0},kerning:e.kerning}))}getTextCursorRange(){return _e(A(this,al).getTextCursorRange())}setTextCursorRange(e){ne("range",e,j({from:z(),to:z()})),_e(A(this,al).setTextCursorRange(e))}getTextVisibleLineCount(e){return ne("id",e,z()),_e(A(this,al).getTextVisibleLineCount(e))}getTextVisibleLineGlobalBoundingBoxXYWH(e,t){return ne("id",e,z()),ne("lineIndex",t,z()),_e(A(this,al).getTextVisibleLineGlobalBoundingBoxXYWH(e,t))}getTextVisibleLineContent(e,t){return ne("id",e,z()),ne("lineIndex",t,z()),_e(A(this,al).getTextVisibleLineContent(e,t))}getTextCharacterInkBoxes(e,t=-1,r=-1){return ne("id",e,z()),ne("from",t,z()),ne("to",r,z()),Ue(_e(A(this,al).getTextCharacterInkBoxes(e,t,r)))}getTextEffectiveHorizontalAlignment(e){return ne("id",e,z()),_e(A(this,al).getTextEffectiveHorizontalAlignment(e))}setTextOnPath(e,t){ne("id",e,z()),_e(A(this,al).setTextOnPath(e,t))}getTextOnPath(e){return ne("id",e,z()),_e(A(this,al).getTextOnPath(e))??null}setTextOnPathOffset(e,t){ne("id",e,z()),ne("offset",t,G()),_e(A(this,al).setTextOnPathOffset(e,t))}getTextOnPathOffset(e){return ne("id",e,z()),_e(A(this,al).getTextOnPathOffset(e))}setTextOnPathFlipped(e,t){ne("id",e,z()),ne("flipped",t,V()),_e(A(this,al).setTextOnPathFlipped(e,t))}getTextOnPathFlipped(e){return ne("id",e,z()),_e(A(this,al).getTextOnPathFlipped(e))}hasFill(e){return ne("id",e,z()),_e(A(this,al).hasFill(e))}supportsFill(e){return ne("id",e,z()),_e(A(this,al).supportsFill(e))}isFillEnabled(e){return ne("id",e,z()),_e(A(this,al).isFillEnabled(e))}setFillEnabled(e,t){return ne("id",e,z()),_e(A(this,al).setFillEnabled(e,t))}getFillOverprint(e){return ne("id",e,z()),_e(A(this,al).getFillOverprint(e))}setFillOverprint(e,t){return ne("id",e,z()),_e(A(this,al).setFillOverprint(e,t))}getFill(e){return ne("id",e,z()),_e(A(this,al).getFill(e))}setFill(e,t){return ne("id",e,z()),ne("fill",t,z()),_e(A(this,al).setFill(e,t))}setFillSolidColor(e,t,r,n,o=1){ne("id",e,z()),_e(A(this,al).setFillSolidColor(e,t,r,n,o))}getFillSolidColor(e){return ne("id",e,z()),_e(A(this,al).getFillSolidColor(e))}setPlaceholderEnabled(e,t){ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setPlaceholderEnabled(e,t))}isPlaceholderEnabled(e){return ne("id",e,z()),_e(A(this,al).isPlaceholderEnabled(e))}hasPlaceholderBehavior(e){return ne("id",e,z()),_e(A(this,al).hasPlaceholderBehavior(e))}supportsPlaceholderBehavior(e){return ne("id",e,z()),_e(A(this,al).supportsPlaceholderBehavior(e))}setPlaceholderBehaviorEnabled(e,t){ne("id",e,z()),_e(A(this,al).setPlaceholderBehaviorEnabled(e,t))}isPlaceholderBehaviorEnabled(e){return ne("id",e,z()),_e(A(this,al).isPlaceholderBehaviorEnabled(e))}hasPlaceholderControls(e){return ne("id",e,z()),_e(A(this,al).hasPlaceholderControls(e))}supportsPlaceholderControls(e){return ne("id",e,z()),_e(A(this,al).supportsPlaceholderControls(e))}setPlaceholderControlsOverlayEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setPlaceholderControlsOverlayEnabled(e,t))}isPlaceholderControlsOverlayEnabled(e){return ne("id",e,z()),_e(A(this,al).isPlaceholderControlsOverlayEnabled(e))}setPlaceholderControlsButtonEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setPlaceholderControlsButtonEnabled(e,t))}isPlaceholderControlsButtonEnabled(e){return ne("id",e,z()),_e(A(this,al).isPlaceholderControlsButtonEnabled(e))}setMetadata(e,t,r){ne("id",e,z()),ne("key",t,Y()),ne("value",r,Y()),_e(A(this,al).setMetadata(e,t,r))}getMetadata(e,t){return ne("id",e,z()),ne("key",t,Y()),_e(A(this,al).getMetadata(e,t))}hasMetadata(e,t){return ne("id",e,z()),ne("key",t,Y()),_e(A(this,al).hasMetadata(e,t))}findAllMetadata(e){return ne("id",e,z()),Ue(_e(A(this,al).findAllMetadata(e)))}removeMetadata(e,t){ne("id",e,z()),ne("key",t,Y()),_e(A(this,al).removeMetadata(e,t))}setScopeEnabled(e,t,r){ne("id",e,z()),ne("key",t,Y()),ne("enabled",r,V()),_e(A(this,al).setScopeEnabled(e,t,r))}isScopeEnabled(e,t){return ne("id",e,z()),ne("key",t,Y()),_e(A(this,al).isScopeEnabled(e,t))}isAllowedByScope(e,t){return ne("id",e,z()),ne("key",t,Y()),_e(A(this,al).isAllowedByScope(e,t))}hasDuration(e){return ne("id",e,z()),_e(A(this,al).hasDuration(e))}supportsDuration(e){return ne("id",e,z()),_e(A(this,al).supportsDuration(e))}setDuration(e,t){return ne("id",e,z()),ne("duration",t,G()),_e(A(this,al).setDuration(e,t))}getDuration(e){return ne("id",e,z()),_e(A(this,al).getDuration(e))}setPageDurationSource(e,t){return ne("page",e,z()),ne("id",t,z()),_e(A(this,al).setPageDurationSource(e,t))}isPageDurationSource(e){return ne("id",e,z()),_e(A(this,al).isPageDurationSource(e))}supportsPageDurationSource(e,t){return ne("page",e,z()),ne("id",t,z()),_e(A(this,al).supportsPageDurationSource(e,t))}removePageDurationSource(e){ne("id",e,z()),_e(A(this,al).removePageDurationSource(e))}hasTimeOffset(e){return ne("id",e,z()),_e(A(this,al).hasTimeOffset(e))}supportsTimeOffset(e){return ne("id",e,z()),_e(A(this,al).supportsTimeOffset(e))}setTimeOffset(e,t){return ne("id",e,z()),ne("offset",t,G()),_e(A(this,al).setTimeOffset(e,t))}getTimeOffset(e){return ne("id",e,z()),_e(A(this,al).getTimeOffset(e))}hasTrim(e){return ne("id",e,z()),_e(A(this,al).hasTrim(e))}supportsTrim(e){return ne("id",e,z()),_e(A(this,al).supportsTrim(e))}setTrimOffset(e,t){return ne("id",e,z()),ne("offset",t,G()),_e(A(this,al).setTrimOffset(e,t))}getTrimOffset(e){return ne("id",e,z()),_e(A(this,al).getTrimOffset(e))}setTrimLength(e,t){return ne("id",e,z()),ne("length",t,G()),_e(A(this,al).setTrimLength(e,t))}getTrimLength(e){return ne("id",e,z()),_e(A(this,al).getTrimLength(e))}split(e,t,r={}){return ne("id",e,z()),ne("atTime",t,G()),ne("options",r,j({attachToParent:X(V()),createParentTrackIfNeeded:X(V()),selectNewBlock:X(V())})),_e(A(this,al).split(e,t,{attachToParent:r.attachToParent??!0,createParentTrackIfNeeded:r.createParentTrackIfNeeded??!1,selectNewBlock:r.selectNewBlock??!0}))}getTotalSceneDuration(e){return ne("scene",e,z()),_e(A(this,al).getTotalSceneDuration(e))}setPlaying(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setPlaying(e,t))}isPlaying(e){return ne("id",e,z()),_e(A(this,al).isPlaying(e))}hasPlaybackTime(e){return ne("id",e,z()),_e(A(this,al).hasPlaybackTime(e))}supportsPlaybackTime(e){return ne("id",e,z()),_e(A(this,al).supportsPlaybackTime(e))}setPlaybackTime(e,t){return ne("id",e,z()),ne("time",t,G()),_e(A(this,al).setPlaybackTime(e,t))}getPlaybackTime(e){return ne("id",e,z()),_e(A(this,al).getPlaybackTime(e))}isVisibleAtCurrentPlaybackTime(e){return ne("id",e,z()),_e(A(this,al).isVisibleAtCurrentPlaybackTime(e))}setSoloPlaybackEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,al).setSoloPlaybackEnabled(e,t))}isSoloPlaybackEnabled(e){return ne("id",e,z()),_e(A(this,al).isSoloPlaybackEnabled(e))}hasPlaybackControl(e){return ne("id",e,z()),_e(A(this,al).hasPlaybackControl(e))}supportsPlaybackControl(e){return ne("id",e,z()),_e(A(this,al).supportsPlaybackControl(e))}setLooping(e,t){ne("id",e,z()),ne("looping",t,V()),_e(A(this,al).setLooping(e,t))}isLooping(e){return ne("id",e,z()),_e(A(this,al).isLooping(e))}setMuted(e,t){ne("id",e,z()),ne("muted",t,V()),_e(A(this,al).setMuted(e,t))}isForceMuted(e){return ne("id",e,z()),_e(A(this,al).isForceMuted(e))}isMuted(e){return ne("id",e,z()),_e(A(this,al).isMuted(e))}setVolume(e,t){ne("id",e,z()),ne("volume",t,G()),_e(A(this,al).setVolume(e,t))}getVolume(e){return ne("id",e,z()),_e(A(this,al).getVolume(e))}setPlaybackSpeed(e,t){ne("id",e,z()),ne("speed",t,G()),_e(A(this,al).setPlaybackSpeed(e,t))}getPlaybackSpeed(e){return ne("id",e,z()),_e(A(this,al).getPlaybackSpeed(e))}async forceLoadAVResource(e){return ne("id",e,z()),Se(t=>A(this,al).forceLoadAVResource(e,t))}unstable_isAVResourceLoaded(e){return ne("id",e,z()),_e(A(this,al).unstable_isAVResourceLoaded(e))}getAVResourceTotalDuration(e){return ne("id",e,z()),_e(A(this,al).getAVResourceTotalDuration(e))}getVideoWidth(e){return ne("id",e,z()),_e(A(this,al).getVideoWidth(e))}getVideoHeight(e){return ne("id",e,z()),_e(A(this,al).getVideoHeight(e))}generateVideoThumbnailSequence(e,t,r,n,o,i){ne("id",e,z()),ne("thumbnailHeight",t,z()),ne("timeBegin",r,G()),ne("timeEnd",n,G()),ne("numberOfFrames",o,z());const a=A(this,al).generateVideoThumbnailSequence(e,t,r,n,o,e=>{"error"in e?i(0,new Error(e.error)):i(e.frameIndex,new ImageData(new Uint8ClampedArray(e.imageData),e.width,e.height))});return()=>{A(this,al).cancelVideoThumbnailSequenceGeneration(a)}}generateAudioThumbnailSequence(e,t,r,n,o,i,a){ne("id",e,z()),ne("samplesPerChunk",t,z()),ne("timeBegin",r,G()),ne("timeEnd",n,G()),ne("numberOfSamples",o,z()),ne("numberOfChannels",i,z());const s=A(this,al).generateAudioThumbnailSequence(e,t,r,n,o,i,e=>{"error"in e?a(0,new Error(e.error)):a(e.chunkIndex,e.sampleData)});return()=>{A(this,al).cancelAudioThumbnailSequenceGeneration(s)}}async getVideoFillThumbnail(e,t){return ne("id",e,z()),ne("thumbnailHeight",t,z()),new Promise((r,n)=>{A(this,al).getVideoFillThumbnail(e,t,e=>{"error"in e?n(e.error):r(new Blob([e],{type:"image/jpeg"}))})})}async getVideoFillThumbnailAtlas(e,t,r,n){return ne("id",e,z()),ne("numberOfColumns",t,z()),ne("numberOfRows",r,z()),ne("thumbnailHeight",n,z()),new Promise((o,i)=>{A(this,al).getVideoFillThumbnailAtlas(e,t,r,n,e=>{"error"in e?i(e.error):o(new Blob([e],{type:"image/jpeg"}))})})}async getPageThumbnailAtlas(e,t,r,n){return ne("id",e,z()),ne("numberOfColumns",t,z()),ne("numberOfRows",r,z()),new Promise((o,i)=>{A(this,al).getPageThumbnailAtlas(e,t,r,n,e=>{"error"in e?i(e.error):o(new Blob([e],{type:"image/jpeg"}))})})}createAnimation(e){return ne("type",e,Y()),_e(A(this,al).createAnimation(e))}supportsAnimation(e){return ne("id",e,z()),_e(A(this,al).supportsAnimation(e))}setInAnimation(e,t){ne("id",e,z()),ne("animation",t,z()),_e(A(this,al).setInAnimation(e,t))}setLoopAnimation(e,t){ne("id",e,z()),ne("animation",t,z()),_e(A(this,al).setLoopAnimation(e,t))}setOutAnimation(e,t){ne("id",e,z()),ne("animation",t,z()),_e(A(this,al).setOutAnimation(e,t))}getInAnimation(e){return ne("id",e,z()),_e(A(this,al).getInAnimation(e))}getLoopAnimation(e){return ne("id",e,z()),_e(A(this,al).getLoopAnimation(e))}getOutAnimation(e){return ne("id",e,z()),_e(A(this,al).getOutAnimation(e))}setNativePixelBuffer(e,t){ne("id",e,z()),t instanceof HTMLVideoElement&&(t.width=t.videoWidth,t.height=t.videoHeight),_e(A(this,al).setNativePixelBuffer(e,t))}getState(e){return ne("id",e,z()),_e(A(this,al).getState(e))}setState(e,t){ne("id",e,z()),_e(A(this,al).setState(e,t))}async forceLoadResources(e){return ne("ids",e,N(z())),Se(t=>A(this,al).forceLoadResources(e,t))}async addImage(e,t={}){ne("url",e,Y()),ne("options",t,X(j({sizeMode:X(he()),positionMode:X(ge()),x:X(G()),y:X(G()),cornerRadius:X(G()),size:X(Q([G(),j({width:G(),height:G()})])),timeline:X(j({timeOffset:X(G()),duration:X(G())})),shadow:X(j({color:X(me()),offset:X(j({x:X(G()),y:X(G())})),blur:X(j({x:X(G()),y:X(G())}))})),animation:X(j({in:X(be()),loop:X(be()),out:X(be())}))})));const{x:r,y:n,size:o,timeline:i,animation:a,shadow:s,cornerRadius:l,sizeMode:c="Absolute",positionMode:d="Absolute"}=t;let u,p;if(null!=o)"number"==typeof o?(u=o,p=o):(u=o.width,p=o.height);else{const t=await new Promise((t,r)=>{const n=new Image;n.src=e,n.onerror=r,n.onload=()=>{t({width:n.width,height:n.height})}});u=t.width,p=t.height}const h=A(this,sl).getCurrentPage();if(null==h)throw new Error("No current page");const g=this.create("graphic");this.appendChild(h,g),this.setPositionXMode(g,d),this.setPositionYMode(g,d),this.setWidthMode(g,c),this.setHeightMode(g,c),null!=u&&this.setWidth(g,u),null!=p&&this.setHeight(g,p),null!=r?this.setPositionX(g,r):this.alignHorizontally([g],"Center"),null!=n?this.setPositionY(g,n):this.alignVertically([g],"Center");const f=this.createShape("rect");this.setShape(g,f),null!=l&&(this.setFloat(f,"shape/rect/cornerRadiusBL",l),this.setFloat(f,"shape/rect/cornerRadiusBR",l),this.setFloat(f,"shape/rect/cornerRadiusTL",l),this.setFloat(f,"shape/rect/cornerRadiusTR",l));const m=this.createFill("image");return this.setFill(g,m),this.setString(m,"fill/image/imageFileURI",e),null!=s&&this.applyDropShadow(g,s),null!=i?.timeOffset&&this.setTimeOffset(g,i.timeOffset),null!=i?.duration&&this.setDuration(g,i.duration),null!=a&&this.applyAnimation(g,a),await this.forceLoadResources([g]),this.adjustCropToFillFrame(g,.5),g}async addVideo(e,t,r,n={}){ne("url",e,Y()),ne("width",t,G()),ne("height",r,G()),ne("options",n,X(j({sizeMode:X(he()),positionMode:X(ge()),x:X(G()),y:X(G()),timeline:X(j({timeOffset:X(G()),duration:X(G())})),animation:X(j({in:X(be()),loop:X(be()),out:X(be())})),shadow:X(j({color:X(me()),offset:X(j({x:X(G()),y:X(G())})),blur:X(j({x:X(G()),y:X(G())}))})),cornerRadius:X(G())})));const{x:o,y:i,timeline:a,animation:s,shadow:l,cornerRadius:c,sizeMode:d="Absolute",positionMode:u="Absolute"}=n,p=A(this,sl).getCurrentPage();if(null==p)throw new Error("No current page");const h=this.create("graphic");this.appendChild(p,h),this.setPositionXMode(h,u),this.setPositionYMode(h,u),this.setWidthMode(h,d),this.setHeightMode(h,d),this.setWidth(h,t),this.setHeight(h,r),null!=o?this.setPositionX(h,o):this.alignHorizontally([h],"Center"),null!=i?this.setPositionY(h,i):this.alignVertically([h],"Center");const g=this.createShape("rect");this.setShape(h,g),null!=c&&(this.setFloat(g,"shape/rect/cornerRadiusBL",c),this.setFloat(g,"shape/rect/cornerRadiusBR",c),this.setFloat(g,"shape/rect/cornerRadiusTL",c),this.setFloat(g,"shape/rect/cornerRadiusTR",c));const f=this.createFill("video");return this.setFill(h,f),this.setString(f,"fill/video/fileURI",e),null!=l&&this.applyDropShadow(h,l),null!=a?.timeOffset&&this.setTimeOffset(h,a.timeOffset),null!=a?.duration&&this.setDuration(h,a.duration),null!=s&&this.applyAnimation(h,s),await this.forceLoadResources([h]),this.adjustCropToFillFrame(h,0),h}applyAnimation(e,t={}){if(ne("block",e,z()),ne("animation",t,X(j({in:X(be()),loop:X(be()),out:X(be())}))),null!=t.in){const r=this.createAnimation(t.in.type);if(this.setInAnimation(e,r),this.setDuration(r,t.in.duration),null!=t.in.easing&&I(this,cl,dl).call(this,r,"animationEasing")){const e=this.getEnumValues("animationEasing"),n=t.in.easing??"Linear";e.includes(n)&&this.setEnum(r,"animationEasing",n)}}if(null!=t.out){const r=this.createAnimation(t.out.type);if(this.setOutAnimation(e,r),this.setDuration(r,t.out.duration),null!=t.out.easing&&I(this,cl,dl).call(this,r,"animationEasing")){const e=this.getEnumValues("animationEasing"),n=t.out.easing??"Linear";e.includes(n)&&this.setEnum(r,"animationEasing",n)}}if(null!=t.loop){const r=this.createAnimation(t.loop.type);if(this.setLoopAnimation(e,r),this.setDuration(r,t.loop.duration),null!=t.loop.easing&&I(this,cl,dl).call(this,r,"animationEasing")){const e=this.getEnumValues("animationEasing"),n=t.loop.easing??"Linear";e.includes(n)&&this.setEnum(r,"animationEasing",n)}}}applyDropShadow(e,t={}){ne("block",e,z()),ne("options",t,X(j({color:X(me()),offset:X(j({x:X(G()),y:X(G())})),blur:X(j({x:X(G()),y:X(G())}))})));const{color:r,offset:n,blur:o}=t;this.setDropShadowEnabled(e,!0),null!=r&&this.setDropShadowColor(e,r),null!=n&&(null!=n.x&&this.setDropShadowOffsetX(e,n.x),null!=n.y&&this.setDropShadowOffsetY(e,n.y)),null!=o&&(null!=o.x&&this.setDropShadowBlurRadiusX(e,o.x),null!=o.y&&this.setDropShadowBlurRadiusY(e,o.y))}async generateThumbnailAtTimeOffset(e,t){ne("height",e,J(Z(z(),512),1)),ne("time",t,G());const r=A(this,sl).getCurrentPage();if(null==r)throw new Error("No page to get thumbnail for");return new Promise((n,o)=>{A(this,al).generateVideoThumbnailSequence(r,e,t,t,1,e=>{if("error"in e)o(e.error);else{const t=new ImageData(new Uint8ClampedArray(e.imageData),e.width,e.height),r=document.createElement("canvas");r.width=e.width,r.height=e.height;const i=r.getContext("2d");if(!i)return void o(new Error("Failed to get canvas context"));i.putImageData(t,0,0),r.toBlob(e=>{e?n(e):o(new Error("Failed to convert to PNG"))},"image/png")}})})}getBackgroundTrack(){if(null==A(this,sl).getCurrentPage())return null;return this.findByType("track").find(e=>this.isPageDurationSource(e))??null}moveToBackgroundTrack(e){ne("block",e,z());let t=this.getBackgroundTrack();if(null==t){const e=A(this,sl).getCurrentPage();if(null==e)throw new Error("No current page found");t=this.create("//ly.img.ubq/track"),this.appendChild(e,t),this.setAlwaysOnBottom(t,!0),this.supportsPageDurationSource(e,t)&&this.setPageDurationSource(e,t)}this.appendChild(t,e)}};ll=v(null),al=new WeakMap,sl=new WeakMap,cl=new WeakSet,dl=function(e,t){return this.findAllProperties(e).includes(t)},C(ll,1,"loadFromString",il,BlockAPI),C(ll,1,"loadFromArchiveURL",ol,BlockAPI),C(ll,1,"loadFromURL",nl,BlockAPI),C(ll,1,"create",rl,BlockAPI),C(ll,1,"createFill",tl,BlockAPI),C(ll,1,"createAudioFromVideo",el,BlockAPI),C(ll,1,"createAudiosFromVideo",Js,BlockAPI),C(ll,1,"createCaptionsFromURI",Zs,BlockAPI),C(ll,1,"getType",Qs,BlockAPI),C(ll,1,"getKind",Ks,BlockAPI),C(ll,1,"setKind",Ys,BlockAPI),C(ll,1,"select",Xs,BlockAPI),C(ll,1,"setSelected",js,BlockAPI),C(ll,1,"isSelected",Gs,BlockAPI),C(ll,1,"findAllSelected",zs,BlockAPI),C(ll,1,"isGroupable",Vs,BlockAPI),C(ll,1,"group",Ns,BlockAPI),C(ll,1,"ungroup",$s,BlockAPI),C(ll,1,"enterGroup",Hs,BlockAPI),C(ll,1,"exitGroup",Ws,BlockAPI),C(ll,1,"isCombinable",qs,BlockAPI),C(ll,1,"combine",Us,BlockAPI),C(ll,1,"setName",Os,BlockAPI),C(ll,1,"getName",Ls,BlockAPI),C(ll,1,"getUUID",Bs,BlockAPI),C(ll,1,"findByName",Rs,BlockAPI),C(ll,1,"findByType",Ds,BlockAPI),C(ll,1,"findByKind",Is,BlockAPI),C(ll,1,"findAll",Ms,BlockAPI),C(ll,1,"findAllPlaceholders",Fs,BlockAPI),C(ll,1,"findAllUnused",As,BlockAPI),C(ll,1,"createShape",Ps,BlockAPI),C(ll,1,"getShape",xs,BlockAPI),C(ll,1,"setShape",Ts,BlockAPI),C(ll,1,"isVisible",Cs,BlockAPI),C(ll,1,"setVisible",Es,BlockAPI),C(ll,1,"isClipped",Ss,BlockAPI),C(ll,1,"setClipped",_s,BlockAPI),C(ll,1,"isTransformLocked",ks,BlockAPI),C(ll,1,"isLineOrigin",ws,BlockAPI),C(ll,1,"setTransformLocked",vs,BlockAPI),C(ll,1,"getPositionX",ys,BlockAPI),C(ll,1,"getPositionXMode",bs,BlockAPI),C(ll,1,"getPositionY",ms,BlockAPI),C(ll,1,"getPositionYMode",fs,BlockAPI),C(ll,1,"setPositionX",gs,BlockAPI),C(ll,1,"setPositionXMode",hs,BlockAPI),C(ll,1,"setPositionY",ps,BlockAPI),C(ll,1,"setPositionYMode",us,BlockAPI),C(ll,1,"setAlwaysOnTop",ds,BlockAPI),C(ll,1,"setAlwaysOnBottom",cs,BlockAPI),C(ll,1,"isAlwaysOnTop",ls,BlockAPI),C(ll,1,"isAlwaysOnBottom",ss,BlockAPI),C(ll,1,"bringToFront",as,BlockAPI),C(ll,1,"sendToBack",is,BlockAPI),C(ll,1,"bringForward",os,BlockAPI),C(ll,1,"sendBackward",ns,BlockAPI),C(ll,1,"getRotation",rs,BlockAPI),C(ll,1,"setRotation",ts,BlockAPI),C(ll,1,"getFlipHorizontal",es,BlockAPI),C(ll,1,"getFlipVertical",Ja,BlockAPI),C(ll,1,"setFlipHorizontal",Za,BlockAPI),C(ll,1,"setFlipVertical",Qa,BlockAPI),C(ll,1,"getWidth",Ka,BlockAPI),C(ll,1,"getWidthMode",Ya,BlockAPI),C(ll,1,"getHeight",Xa,BlockAPI),C(ll,1,"getHeightMode",ja,BlockAPI),C(ll,1,"setSize",Ga,BlockAPI),C(ll,1,"setPosition",za,BlockAPI),C(ll,1,"setWidth",Va,BlockAPI),C(ll,1,"setWidthMode",Na,BlockAPI),C(ll,1,"setHeight",$a,BlockAPI),C(ll,1,"setHeightMode",Ha,BlockAPI),C(ll,1,"getFrameX",Wa,BlockAPI),C(ll,1,"getFrameY",qa,BlockAPI),C(ll,1,"getFrameWidth",Ua,BlockAPI),C(ll,1,"getFrameHeight",Oa,BlockAPI),C(ll,1,"setContentFillMode",La,BlockAPI),C(ll,1,"getContentFillMode",Ba,BlockAPI),C(ll,1,"setContentFillHorizontalAlignment",Ra,BlockAPI),C(ll,1,"getContentFillHorizontalAlignment",Da,BlockAPI),C(ll,1,"setContentFillVerticalAlignment",Ia,BlockAPI),C(ll,1,"getContentFillVerticalAlignment",Ma,BlockAPI),C(ll,1,"duplicate",Fa,BlockAPI),C(ll,1,"destroy",Aa,BlockAPI),C(ll,1,"isValid",Pa,BlockAPI),C(ll,1,"getParent",xa,BlockAPI),C(ll,1,"getChildren",Ta,BlockAPI),C(ll,1,"insertChild",Ca,BlockAPI),C(ll,1,"appendChild",Ea,BlockAPI),C(ll,1,"referencesAnyVariables",Sa,BlockAPI),C(ll,1,"getGlobalBoundingBoxX",_a,BlockAPI),C(ll,1,"getGlobalBoundingBoxY",ka,BlockAPI),C(ll,1,"getGlobalBoundingBoxWidth",wa,BlockAPI),C(ll,1,"getGlobalBoundingBoxHeight",va,BlockAPI),C(ll,1,"getScreenSpaceBoundingBoxXYWH",ya,BlockAPI),C(ll,1,"alignHorizontally",ba,BlockAPI),C(ll,1,"alignVertically",ma,BlockAPI),C(ll,1,"isAlignable",fa,BlockAPI),C(ll,1,"distributeHorizontally",ga,BlockAPI),C(ll,1,"distributeVertically",ha,BlockAPI),C(ll,1,"isDistributable",pa,BlockAPI),C(ll,1,"fillParent",ua,BlockAPI),C(ll,1,"resizeContentAware",da,BlockAPI),C(ll,1,"scale",ca,BlockAPI),C(ll,1,"findAllProperties",la,BlockAPI),C(ll,1,"isPropertyReadable",sa,BlockAPI),C(ll,1,"isPropertyWritable",aa,BlockAPI),C(ll,1,"getPropertyType",ia,BlockAPI),C(ll,1,"getEnumValues",oa,BlockAPI),C(ll,1,"setBool",na,BlockAPI),C(ll,1,"getBool",ra,BlockAPI),C(ll,1,"setInt",ta,BlockAPI),C(ll,1,"getInt",ea,BlockAPI),C(ll,1,"setFloat",Ji,BlockAPI),C(ll,1,"getFloat",Zi,BlockAPI),C(ll,1,"setDouble",Qi,BlockAPI),C(ll,1,"getDouble",Ki,BlockAPI),C(ll,1,"setString",Yi,BlockAPI),C(ll,1,"getString",Xi,BlockAPI),C(ll,1,"setColor",ji,BlockAPI),C(ll,1,"getColor",Gi,BlockAPI),C(ll,1,"setColorRGBA",zi,BlockAPI),C(ll,1,"getColorRGBA",Vi,BlockAPI),C(ll,1,"setColorSpot",Ni,BlockAPI),C(ll,1,"getColorSpotName",$i,BlockAPI),C(ll,1,"getColorSpotTint",Hi,BlockAPI),C(ll,1,"setGradientColorStops",Wi,BlockAPI),C(ll,1,"getGradientColorStops",qi,BlockAPI),C(ll,1,"getSourceSet",Ui,BlockAPI),C(ll,1,"setSourceSet",Oi,BlockAPI),C(ll,1,"addImageFileURIToSourceSet",Li,BlockAPI),C(ll,1,"addVideoFileURIToSourceSet",Bi,BlockAPI),C(ll,1,"setEnum",Ri,BlockAPI),C(ll,1,"getEnum",Di,BlockAPI),C(ll,1,"setCropScaleX",Ii,BlockAPI),C(ll,1,"setCropScaleY",Mi,BlockAPI),C(ll,1,"setCropRotation",Fi,BlockAPI),C(ll,1,"setCropScaleRatio",Ai,BlockAPI),C(ll,1,"setCropTranslationX",Pi,BlockAPI),C(ll,1,"setCropTranslationY",xi,BlockAPI),C(ll,1,"resetCrop",Ti,BlockAPI),C(ll,1,"getCropScaleX",Ci,BlockAPI),C(ll,1,"getCropScaleY",Ei,BlockAPI),C(ll,1,"getCropRotation",Si,BlockAPI),C(ll,1,"getCropScaleRatio",_i,BlockAPI),C(ll,1,"getCropTranslationX",ki,BlockAPI),C(ll,1,"getCropTranslationY",wi,BlockAPI),C(ll,1,"adjustCropToFillFrame",vi,BlockAPI),C(ll,1,"flipCropHorizontal",yi,BlockAPI),C(ll,1,"flipCropVertical",bi,BlockAPI),C(ll,1,"isCropAspectRatioLocked",mi,BlockAPI),C(ll,1,"setCropAspectRatioLocked",fi,BlockAPI),C(ll,1,"canRevertToOriginalRatio",gi,BlockAPI),C(ll,1,"setOpacity",hi,BlockAPI),C(ll,1,"getOpacity",pi,BlockAPI),C(ll,1,"setBlendMode",ui,BlockAPI),C(ll,1,"getBlendMode",di,BlockAPI),C(ll,1,"isIncludedInExport",ci,BlockAPI),C(ll,1,"setIncludedInExport",li,BlockAPI),C(ll,1,"setFillColorRGBA",si,BlockAPI),C(ll,1,"getFillColorRGBA",ai,BlockAPI),C(ll,1,"setFillColorEnabled",ii,BlockAPI),C(ll,1,"isFillColorEnabled",oi,BlockAPI),C(ll,1,"createEffect",ni,BlockAPI),C(ll,1,"getEffects",ri,BlockAPI),C(ll,1,"insertEffect",ti,BlockAPI),C(ll,1,"appendEffect",ei,BlockAPI),C(ll,1,"removeEffect",Jo,BlockAPI),C(ll,1,"setEffectEnabled",Zo,BlockAPI),C(ll,1,"isEffectEnabled",Qo,BlockAPI),C(ll,1,"createBlur",Ko,BlockAPI),C(ll,1,"setBlur",Yo,BlockAPI),C(ll,1,"getBlur",Xo,BlockAPI),C(ll,1,"setBlurEnabled",jo,BlockAPI),C(ll,1,"isBlurEnabled",Go,BlockAPI),C(ll,1,"setBackgroundColorRGBA",zo,BlockAPI),C(ll,1,"getBackgroundColorRGBA",Vo,BlockAPI),C(ll,1,"setBackgroundColorEnabled",No,BlockAPI),C(ll,1,"isBackgroundColorEnabled",$o,BlockAPI),C(ll,1,"setStrokeEnabled",Ho,BlockAPI),C(ll,1,"isStrokeEnabled",Wo,BlockAPI),C(ll,1,"setStrokeOverprint",qo,BlockAPI),C(ll,1,"getStrokeOverprint",Uo,BlockAPI),C(ll,1,"setStrokeColorRGBA",Oo,BlockAPI),C(ll,1,"setStrokeColor",Lo,BlockAPI),C(ll,1,"getStrokeColorRGBA",Bo,BlockAPI),C(ll,1,"getStrokeColor",Ro,BlockAPI),C(ll,1,"setStrokeWidth",Do,BlockAPI),C(ll,1,"getStrokeWidth",Io,BlockAPI),C(ll,1,"setStrokeStyle",Mo,BlockAPI),C(ll,1,"getStrokeStyle",Fo,BlockAPI),C(ll,1,"setStrokePosition",Ao,BlockAPI),C(ll,1,"getStrokePosition",Po,BlockAPI),C(ll,1,"setStrokeCornerGeometry",xo,BlockAPI),C(ll,1,"getStrokeCornerGeometry",To,BlockAPI),C(ll,1,"setStrokeCap",Co,BlockAPI),C(ll,1,"getStrokeCap",Eo,BlockAPI),C(ll,1,"setStrokeStartCap",So,BlockAPI),C(ll,1,"getStrokeStartCap",_o,BlockAPI),C(ll,1,"setStrokeEndCap",ko,BlockAPI),C(ll,1,"getStrokeEndCap",wo,BlockAPI),C(ll,1,"setStrokeDashStartCap",vo,BlockAPI),C(ll,1,"getStrokeDashStartCap",yo,BlockAPI),C(ll,1,"setStrokeDashEndCap",bo,BlockAPI),C(ll,1,"getStrokeDashEndCap",mo,BlockAPI),C(ll,1,"setStrokeDashArray",fo,BlockAPI),C(ll,1,"getStrokeDashArray",go,BlockAPI),C(ll,1,"setStrokeDashOffset",ho,BlockAPI),C(ll,1,"getStrokeDashOffset",po,BlockAPI),C(ll,1,"setDropShadowEnabled",uo,BlockAPI),C(ll,1,"isDropShadowEnabled",co,BlockAPI),C(ll,1,"setDropShadowColorRGBA",lo,BlockAPI),C(ll,1,"setDropShadowColor",so,BlockAPI),C(ll,1,"getDropShadowColorRGBA",ao,BlockAPI),C(ll,1,"getDropShadowColor",io,BlockAPI),C(ll,1,"setDropShadowOffsetX",oo,BlockAPI),C(ll,1,"getDropShadowOffsetX",no,BlockAPI),C(ll,1,"setDropShadowOffsetY",ro,BlockAPI),C(ll,1,"getDropShadowOffsetY",to,BlockAPI),C(ll,1,"setDropShadowBlurRadiusX",eo,BlockAPI),C(ll,1,"getDropShadowBlurRadiusX",Jn,BlockAPI),C(ll,1,"setDropShadowBlurRadiusY",Zn,BlockAPI),C(ll,1,"getDropShadowBlurRadiusY",Qn,BlockAPI),C(ll,1,"setDropShadowClip",Kn,BlockAPI),C(ll,1,"getDropShadowClip",Yn,BlockAPI),C(ll,1,"createCutoutFromBlocks",Xn,BlockAPI),C(ll,1,"createCutoutFromPath",jn,BlockAPI),C(ll,1,"createCutoutFromOperation",Gn,BlockAPI),C(ll,1,"replaceText",zn,BlockAPI),C(ll,1,"removeText",Vn,BlockAPI),C(ll,1,"setTextColor",Nn,BlockAPI),C(ll,1,"getTextColors",$n,BlockAPI),C(ll,1,"setTextFontWeight",Hn,BlockAPI),C(ll,1,"getTextFontWeights",Wn,BlockAPI),C(ll,1,"setTextFontSize",qn,BlockAPI),C(ll,1,"getTextFontSizes",Un,BlockAPI),C(ll,1,"setTextFontStyle",On,BlockAPI),C(ll,1,"getTextFontStyles",Ln,BlockAPI),C(ll,1,"getTextCases",Bn,BlockAPI),C(ll,1,"setTextCase",Rn,BlockAPI),C(ll,1,"getTextDecorations",Dn,BlockAPI),C(ll,1,"setTextDecoration",In,BlockAPI),C(ll,1,"setTextKerning",Mn,BlockAPI),C(ll,1,"getTextKernings",Fn,BlockAPI),C(ll,1,"toggleTextDecorationUnderline",An,BlockAPI),C(ll,1,"toggleTextDecorationStrikethrough",Pn,BlockAPI),C(ll,1,"toggleTextDecorationOverline",xn,BlockAPI),C(ll,1,"getTextHorizontalAlignment",Tn,BlockAPI),C(ll,1,"setTextHorizontalAlignment",Cn,BlockAPI),C(ll,1,"getTextListStyle",En,BlockAPI),C(ll,1,"setTextListStyle",Sn,BlockAPI),C(ll,1,"getTextListLevel",_n,BlockAPI),C(ll,1,"setTextListLevel",kn,BlockAPI),C(ll,1,"getTextParagraphIndices",wn,BlockAPI),C(ll,1,"setTextLineHeight",vn,BlockAPI),C(ll,1,"getTextLineHeight",yn,BlockAPI),C(ll,1,"canToggleBoldFont",bn,BlockAPI),C(ll,1,"canToggleItalicFont",mn,BlockAPI),C(ll,1,"toggleBoldFont",fn,BlockAPI),C(ll,1,"toggleItalicFont",gn,BlockAPI),C(ll,1,"setFont",hn,BlockAPI),C(ll,1,"setTypeface",pn,BlockAPI),C(ll,1,"getTypeface",un,BlockAPI),C(ll,1,"getTypefaces",dn,BlockAPI),C(ll,1,"getTextRuns",cn,BlockAPI),C(ll,1,"getTextCursorRange",ln,BlockAPI),C(ll,1,"setTextCursorRange",sn,BlockAPI),C(ll,1,"getTextVisibleLineCount",an,BlockAPI),C(ll,1,"getTextVisibleLineGlobalBoundingBoxXYWH",on,BlockAPI),C(ll,1,"getTextVisibleLineContent",nn,BlockAPI),C(ll,1,"getTextCharacterInkBoxes",rn,BlockAPI),C(ll,1,"getTextEffectiveHorizontalAlignment",tn,BlockAPI),C(ll,1,"setTextOnPath",en,BlockAPI),C(ll,1,"getTextOnPath",Jr,BlockAPI),C(ll,1,"setTextOnPathOffset",Zr,BlockAPI),C(ll,1,"getTextOnPathOffset",Qr,BlockAPI),C(ll,1,"setTextOnPathFlipped",Kr,BlockAPI),C(ll,1,"getTextOnPathFlipped",Yr,BlockAPI),C(ll,1,"isFillEnabled",Xr,BlockAPI),C(ll,1,"setFillEnabled",jr,BlockAPI),C(ll,1,"getFillOverprint",Gr,BlockAPI),C(ll,1,"setFillOverprint",zr,BlockAPI),C(ll,1,"getFill",Vr,BlockAPI),C(ll,1,"setFill",Nr,BlockAPI),C(ll,1,"setFillSolidColor",$r,BlockAPI),C(ll,1,"getFillSolidColor",Hr,BlockAPI),C(ll,1,"setPlaceholderEnabled",Wr,BlockAPI),C(ll,1,"isPlaceholderEnabled",qr,BlockAPI),C(ll,1,"setPlaceholderBehaviorEnabled",Ur,BlockAPI),C(ll,1,"isPlaceholderBehaviorEnabled",Or,BlockAPI),C(ll,1,"setPlaceholderControlsOverlayEnabled",Lr,BlockAPI),C(ll,1,"isPlaceholderControlsOverlayEnabled",Br,BlockAPI),C(ll,1,"setPlaceholderControlsButtonEnabled",Rr,BlockAPI),C(ll,1,"isPlaceholderControlsButtonEnabled",Dr,BlockAPI),C(ll,1,"setMetadata",Ir,BlockAPI),C(ll,1,"getMetadata",Mr,BlockAPI),C(ll,1,"hasMetadata",Fr,BlockAPI),C(ll,1,"findAllMetadata",Ar,BlockAPI),C(ll,1,"removeMetadata",Pr,BlockAPI),C(ll,1,"setScopeEnabled",xr,BlockAPI),C(ll,1,"isScopeEnabled",Tr,BlockAPI),C(ll,1,"isAllowedByScope",Cr,BlockAPI),C(ll,1,"setDuration",Er,BlockAPI),C(ll,1,"getDuration",Sr,BlockAPI),C(ll,1,"setPageDurationSource",_r,BlockAPI),C(ll,1,"isPageDurationSource",kr,BlockAPI),C(ll,1,"removePageDurationSource",wr,BlockAPI),C(ll,1,"setTimeOffset",vr,BlockAPI),C(ll,1,"getTimeOffset",yr,BlockAPI),C(ll,1,"setTrimOffset",br,BlockAPI),C(ll,1,"getTrimOffset",mr,BlockAPI),C(ll,1,"setTrimLength",fr,BlockAPI),C(ll,1,"getTrimLength",gr,BlockAPI),C(ll,1,"split",hr,BlockAPI),C(ll,1,"getTotalSceneDuration",pr,BlockAPI),C(ll,1,"setPlaying",ur,BlockAPI),C(ll,1,"isPlaying",dr,BlockAPI),C(ll,1,"setPlaybackTime",cr,BlockAPI),C(ll,1,"getPlaybackTime",lr,BlockAPI),C(ll,1,"isVisibleAtCurrentPlaybackTime",sr,BlockAPI),C(ll,1,"setSoloPlaybackEnabled",ar,BlockAPI),C(ll,1,"isSoloPlaybackEnabled",ir,BlockAPI),C(ll,1,"setLooping",or,BlockAPI),C(ll,1,"isLooping",nr,BlockAPI),C(ll,1,"setMuted",rr,BlockAPI),C(ll,1,"isForceMuted",tr,BlockAPI),C(ll,1,"isMuted",er,BlockAPI),C(ll,1,"setVolume",Jt,BlockAPI),C(ll,1,"getVolume",Zt,BlockAPI),C(ll,1,"setPlaybackSpeed",Qt,BlockAPI),C(ll,1,"getPlaybackSpeed",Kt,BlockAPI),C(ll,1,"forceLoadAVResource",Yt,BlockAPI),C(ll,1,"unstable_isAVResourceLoaded",Xt,BlockAPI),C(ll,1,"getAVResourceTotalDuration",jt,BlockAPI),C(ll,1,"getVideoWidth",Gt,BlockAPI),C(ll,1,"getVideoHeight",zt,BlockAPI),C(ll,1,"getVideoFillThumbnail",Vt,BlockAPI),C(ll,1,"getVideoFillThumbnailAtlas",Nt,BlockAPI),C(ll,1,"getPageThumbnailAtlas",$t,BlockAPI),C(ll,1,"createAnimation",Ht,BlockAPI),C(ll,1,"setInAnimation",Wt,BlockAPI),C(ll,1,"setLoopAnimation",qt,BlockAPI),C(ll,1,"setOutAnimation",Ut,BlockAPI),C(ll,1,"getInAnimation",Ot,BlockAPI),C(ll,1,"getLoopAnimation",Lt,BlockAPI),C(ll,1,"getOutAnimation",Bt,BlockAPI),C(ll,1,"setNativePixelBuffer",Rt,BlockAPI),C(ll,1,"getState",Dt,BlockAPI),C(ll,1,"setState",It,BlockAPI),C(ll,1,"forceLoadResources",Mt,BlockAPI),C(ll,1,"applyAnimation",Ft,BlockAPI),C(ll,1,"applyDropShadow",At,BlockAPI),C(ll,1,"generateThumbnailAtTimeOffset",Pt,BlockAPI),C(ll,1,"getBackgroundTrack",xt,BlockAPI),C(ll,1,"moveToBackgroundTrack",Tt,BlockAPI),S(ll,BlockAPI);var ml,bl,yl,vl,wl,kl,_l,Sl,El,Cl,Tl,xl,Pl,Al,Fl,Ml,Il,Dl,Rl,Bl,Ll,Ol,Ul,ql,Wl,Hl,$l,Nl,Vl,zl,Gl,jl,Xl,Yl,Kl,Ql,Zl,Jl,ec,tc,rc,nc,oc,ic,ac,sc,lc,cc,dc,uc,pc,hc,gc,fc,mc,bc,yc,vc,wc,kc,_c,Sc,Ec,Cc,Tc,xc,Pc,Ac,Fc,Mc,Ic,Dc,Rc,Bc,Lc,Oc,Uc,qc,Wc,Hc,$c,Nc,Vc,zc,Gc,jc,Xc,Yc=new WeakMap,Kc=new WeakMap;zc=[we],Vc=[we],Nc=[we],$c=[ve({disabledInModes:["Playback"]})],Hc=[ve({disabledInModes:["Playback"]})],Wc=[we],qc=[we],Uc=[ve()],Oc=[ve({disabledInModes:["Playback"]})],Lc=[ve()],Bc=[we],Rc=[we],Dc=[ve()],Ic=[we],Mc=[we],Fc=[we],Ac=[ve()],Pc=[we],xc=[ve()],Tc=[we],Cc=[ve()],Ec=[we],Sc=[ve()],_c=[ve({disabledInModes:["Playback"]})],kc=[ve({disabledInModes:["Playback"]})],wc=[ve({disabledInModes:["Playback"]})],vc=[ve({disabledInModes:["Playback"]})],yc=[we],bc=[we],mc=[we],fc=[ve({disabledInModes:["Playback"]})],gc=[we],hc=[we],pc=[we],uc=[we],dc=[ve({disabledInModes:["Playback"]})],cc=[ve({disabledInModes:["Playback"]})],lc=[we],sc=[ve({disabledInModes:["Playback"]})],ac=[we],ic=[ve({disabledInModes:["Playback"]})],oc=[we],nc=[ve({disabledInModes:["Playback"]})],rc=[we],tc=[ve({disabledInModes:["Playback"]})],ec=[we],Jl=[ve({disabledInModes:["Playback"]})],Zl=[we],Ql=[ve({disabledInModes:["Playback"]})],Kl=[we],Yl=[ve({disabledInModes:["Playback"]})],Xl=[we],jl=[ve({disabledInModes:["Playback"]})],Gl=[we],zl=[ve({disabledInModes:["Playback"]})],Vl=[ve({disabledInModes:["Playback"]})],Nl=[ve({disabledInModes:["Playback"]})],$l=[ve({disabledInModes:["Playback"]})],Hl=[ve({disabledInModes:["Playback"]})],Wl=[we],ql=[we],Ul=[ve({disabledInModes:["Playback"]})],Ol=[ve({disabledInModes:["Playback"]})],Ll=[ve({disabledInModes:["Playback"]})],Bl=[we],Rl=[ve({disabledInModes:["Playback"]})],Dl=[ve({disabledInModes:["Playback"]})],Il=[ve({disabledInModes:["Playback"]})],Ml=[ve({disabledInModes:["Playback"]})],Fl=[we],Al=[we],Pl=[we],xl=[we],Tl=[we],Cl=[ve({disabledInModes:["Playback"]})],El=[ve({disabledInModes:["Playback"]})],Sl=[we],_l=[we],kl=[ve()],wl=[ve({disabledInModes:["Playback"]})],vl=[we],yl=[we],bl=[ve({disabledInModes:["Playback"]})],ml=[we];var EditorAPI=class{constructor(e,t){E(Xc,5,this),F(this,Gc),F(this,jc),T(this,"onStateChanged",e=>{const t=A(this,Gc).subscribeToEditorState(e);return()=>{A(this,Gc).isDeleted()||_e(A(this,Gc).unsubscribe(t))}}),T(this,"onHistoryUpdated",e=>this.onHistoryUpdatedWithKind(()=>e())),T(this,"onHistoryUpdatedWithKind",e=>{const t=A(this,Gc).subscribeToHistoryWithKind(t=>{e(1===t?"Activated":"Updated")});return()=>{A(this,Gc).isDeleted()||A(this,Gc).unsubscribe(t)}}),T(this,"onSettingsChanged",e=>{const t=A(this,Gc).subscribeToSettings(e);return()=>{A(this,Gc).isDeleted()||_e(A(this,Gc).unsubscribe(t))}}),T(this,"onRoleChanged",e=>{const t=A(this,Gc).subscribeToRoleChange(e);return()=>{A(this,Gc).isDeleted()||_e(A(this,Gc).unsubscribe(t))}}),M(this,Gc,e),M(this,jc,t)}unlockWithLicense(e){_e(A(this,Gc).unlockWithLicense(e))}startTracking(e,t){A(this,Gc).startTracking(e,t,"")}setTrackingMetadata(e){A(this,Gc).setTrackingMetadata(e)}getTrackingMetadata(){return _e(A(this,Gc).getTrackingMetadata())}getActiveLicense(){return _e(A(this,Gc).getActiveLicense())}_update(){A(this,Gc).update()}setEditMode(e,t){ne("mode",e,Y()),ne("baseMode",t,X(Y())),A(this,Gc).setEditMode(e,t??"")}getEditMode(){return A(this,Gc).getEditMode()}unstable_isInteractionHappening(){return _e(A(this,Gc).unstable_isInteractionHappening())}hasSelectedVectorNode(){return A(this,Gc).hasSelectedVectorNode()}addVectorNode(){_e(A(this,Gc).addVectorNode())}deleteVectorNode(){_e(A(this,Gc).deleteVectorNode())}hasSelectedVectorControlPoint(){return A(this,Gc).hasSelectedVectorControlPoint()}deleteSelectedVectorControlPoints(){_e(A(this,Gc).deleteSelectedVectorControlPoints())}toggleSelectedVectorNodeSmooth(){_e(A(this,Gc).toggleSelectedVectorNodeSmooth())}setVectorEditBendMode(e){ne("active",e,V()),_e(A(this,Gc).setVectorEditBendMode(e))}getVectorEditBendMode(){return A(this,Gc).getVectorEditBendMode()}setVectorEditAddMode(e){ne("active",e,V()),_e(A(this,Gc).setVectorEditAddMode(e))}getVectorEditAddMode(){return A(this,Gc).getVectorEditAddMode()}setVectorEditDeleteMode(e){ne("active",e,V()),_e(A(this,Gc).setVectorEditDeleteMode(e))}getVectorEditDeleteMode(){return A(this,Gc).getVectorEditDeleteMode()}setSelectedVectorNodeMirrorMode(e){ne("mode",e,G()),_e(A(this,Gc).setSelectedVectorNodeMirrorMode(e))}getSelectedVectorNodeMirrorMode(){return _e(A(this,Gc).getSelectedVectorNodeMirrorMode())}getCursorType(){return A(this,Gc).getCursorType()}getCursorRotation(){return A(this,Gc).getCursorRotation()}getTextCursorPositionInScreenSpaceX(){return A(this,Gc).getTextCursorPositionInScreenSpaceX()}getTextCursorPositionInScreenSpaceY(){return A(this,Gc).getTextCursorPositionInScreenSpaceY()}createHistory(){return A(this,Gc).createHistory()}destroyHistory(e){_e(A(this,Gc).destroyHistory(e))}setActiveHistory(e){_e(A(this,Gc).setActiveHistory(e))}getActiveHistory(){return A(this,Gc).getActiveHistory()}addUndoStep(){_e(A(this,Gc).addUndoStep())}removeUndoStep(){_e(A(this,Gc).removeUndoStep())}undo(){_e(A(this,Gc).undo())}redo(){_e(A(this,Gc).redo())}canUndo(){return _e(A(this,Gc).canUndo())}canRedo(){return _e(A(this,Gc).canRedo())}setSetting(e,t){ne("keypath",e,Y());const r=this.normalizeSettingKey(e);if(!this.isValidSettingKey(r))throw new Error(`Invalid setting key: '${e}'`);switch(this.getSettingTypeForKey(r)){case"Bool":return _e(A(this,Gc).setSettingBool(r,t));case"Int":if(!Number.isInteger(t))throw new Error(`Setting '${e}' requires an integer value`);return _e(A(this,Gc).setSettingInt(r,t));case"Float":return _e(A(this,Gc).setSettingFloat(r,t));case"String":return _e(A(this,Gc).setSettingString(r,t));case"Color":{const e=t;return _e(A(this,Gc).setSettingColor(r,Ct.fromColor(e)))}case"Enum":return _e(A(this,Gc).setSettingEnum(r,t));default:throw new Error(`Unknown setting type for key '${e}'`)}}getSetting(e){ne("keypath",e,Y());const t=this.normalizeSettingKey(e);if(!this.isValidSettingKey(t))throw new Error(`Invalid setting key: '${e}'`);switch(this.getSettingTypeForKey(t)){case"Bool":return _e(A(this,Gc).getSettingBool(t));case"Int":return _e(A(this,Gc).getSettingInt(t));case"Float":return _e(A(this,Gc).getSettingFloat(t));case"String":return _e(A(this,Gc).getSettingString(t));case"Color":return Ct.toColor(_e(A(this,Gc).getSettingColor(t)));case"Enum":return _e(A(this,Gc).getSettingEnum(t));default:throw new Error(`Unknown setting type for key '${e}'`)}}normalizeSettingKey(e){return e.startsWith("ubq://")?e.slice(6):e}isValidSettingKey(e){return e in{"controlGizmo/showCropHandles":!0,"controlGizmo/showCropScaleHandles":!0,"controlGizmo/showMoveHandles":!0,"controlGizmo/dynamicMoveHandleVisibility":!0,"controlGizmo/showResizeHandles":!0,"controlGizmo/showRotateHandles":!0,"controlGizmo/showScaleHandles":!0,doubleClickToCropEnabled:!0,"features/singlePageModeEnabled":!0,"features/fileSystemUsageEnabled":!0,"features/pageCarouselEnabled":!0,"features/clampTextBlockWidthToPageDimensionsDuringEditing":!0,"features/transformEditsRetainCoverMode":!0,"mouse/enableScroll":!0,"mouse/enableZoom":!0,"page/allowCropInteraction":!0,"page/allowMoveInteraction":!0,"page/allowResizeInteraction":!0,"page/allowRotateInteraction":!0,"page/allowShapeChange":!0,"page/dimOutOfPageAreas":!0,"page/marqueeSelectOnBodyDrag":!0,"page/restrictPageSelectionToBorderAndTitle":!0,"page/restrictResizeInteractionToFixedAspectRatio":!0,"page/moveChildrenWhenCroppingFill":!0,"page/reparentBlocksToSceneWhenOutOfPage":!0,"page/selectWhenNoBlocksSelected":!0,"page/highlightWhenCropping":!0,"page/highlightDropTarget":!0,"page/title/appendPageName":!0,"page/title/canEdit":!0,"page/title/show":!0,"page/title/showOnSinglePage":!0,"page/title/showPageTitleTemplate":!0,"placeholderControls/showButton":!0,"placeholderControls/showOverlay":!0,"blockAnimations/enabled":!0,"playback/showAllBlocks":!0,"grid/enabled":!0,"grid/snapEnabled":!0,showBuildVersion:!0,"touch/dragStartCanSelect":!0,"touch/singlePointPanning":!0,useSystemFontFallback:!0,forceSystemEmojis:!0,basePath:!0,defaultEmojiFontFileUri:!0,defaultFontFileUri:!0,license:!0,"page/title/fontFileUri":!0,"page/title/separator":!0,fallbackFontUri:!0,"upload/supportedMimeTypes":!0,"web/fetchCredentials":!0,"controlGizmo/blockScaleDownLimit":!0,listIndentPerLevel:!0,"grid/spacingX":!0,"grid/spacingY":!0,positionSnappingThreshold:!0,rotationSnappingThreshold:!0,maxImageSize:!0,maxPreviewResolution:!0,borderOutlineColor:!0,clearColor:!0,"grid/color":!0,"colorMaskingSettings/maskColor":!0,cropOverlayColor:!0,errorStateColor:!0,highlightColor:!0,"page/innerBorderColor":!0,"page/marginFillColor":!0,"page/marginFrameColor":!0,"page/outerBorderColor":!0,"page/title/color":!0,pageHighlightColor:!0,placeholderHighlightColor:!0,progressColor:!0,rotationSnappingGuideColor:!0,ruleOfThirdsLineColor:!0,snappingGuideColor:!0,textVariableHighlightColor:!0,handleFillColor:!0,doubleClickSelectionMode:!0,"controlGizmo/moveHandleVisibility":!0,"controlGizmo/resizeHandlesVisibility":!0,"controlGizmo/scaleHandlesVisibility":!0,"controlGizmo/rotateHandlesVisibility":!0,"touch/pinchAction":!0,"touch/rotateAction":!0,"camera/clamping/overshootMode":!0,renderMode:!0,alwaysHighlightPlaceholders:!0,"colorMaskingSettings/secondPass":!0,"debug/enforceScopesInAPIs":!0,"debug/showCameraDebugVisualization":!0,"debug/showHandlesInteractionArea":!0,"debug/useDebugMipmaps":!0,"debug/showDebugUI":!0,"debug/hookInputSystem":!0,"features/effectsEnabled":!0,"features/highQualityMipmaps":!0,"features/implicitUpdatesEnabled":!0,"features/templatingEnabled":!0,"features/videosEnabled":!0,"features/videoCaptionsEnabled":!0,"features/forceLowQualityVideoPreview":!0,"features/matchThumbnailSourceToFill":!0,"features/p3WorkingColorSpace":!0,"features/removeForegroundTracksOnSceneLoad":!0,"features/videoTranscodingEnabled":!0,"features/textEditModeTransformHandlesEnabled":!0,"features/videoStreamingEnabled":!0,"features/enableAutomaticEnumerations":!0,"features/enforceAudioBeforeVideoBlocks":!0,"features/viewportCullingEnabled":!0,"features/fontLineGapEnabled":!0,renderTextCursorAndSelectionInEngine:!0,clampThumbnailTextureSizes:!0,"dock/hideLabels":!0,"dock/iconSize":!0,"colorPicker/colorMode":!0,"timeline/trackVisibility":!0}}getSettingTypeForKey(e){const t=Object.keys({borderOutlineColor:!0,clearColor:!0,"colorMaskingSettings/maskColor":!0,cropOverlayColor:!0,errorStateColor:!0,handleFillColor:!0,highlightColor:!0,"page/innerBorderColor":!0,"page/marginFillColor":!0,"page/marginFrameColor":!0,"page/outerBorderColor":!0,"page/title/color":!0,pageHighlightColor:!0,placeholderHighlightColor:!0,progressColor:!0,rotationSnappingGuideColor:!0,ruleOfThirdsLineColor:!0,snappingGuideColor:!0,textVariableHighlightColor:!0,"grid/color":!0});if(new Set(t).has(e))return"Color";const r=Object.keys({doubleClickSelectionMode:!0,"controlGizmo/moveHandleVisibility":!0,"controlGizmo/resizeHandlesVisibility":!0,"controlGizmo/scaleHandlesVisibility":!0,"controlGizmo/rotateHandlesVisibility":!0,"touch/pinchAction":!0,"touch/rotateAction":!0,"camera/clamping/overshootMode":!0,"colorPicker/colorMode":!0,"timeline/trackVisibility":!0});if(new Set(r).has(e))return"Enum";if(e in{maxImageSize:!0,maxPreviewResolution:!0})return"Int";const n=Object.keys({"controlGizmo/blockScaleDownLimit":!0,listIndentPerLevel:!0,"grid/spacingX":!0,"grid/spacingY":!0,positionSnappingThreshold:!0,rotationSnappingThreshold:!0});if(new Set(n).has(e))return"Float";const o=Object.keys({basePath:!0,defaultEmojiFontFileUri:!0,defaultFontFileUri:!0,license:!0,"page/title/fontFileUri":!0,"page/title/separator":!0,fallbackFontUri:!0,"upload/supportedMimeTypes":!0,"web/fetchCredentials":!0});return new Set(o).has(e)?"String":"Bool"}setSettingBool(e,t){return ne("keypath",e,Y()),ne("value",t,V()),_e(A(this,Gc).setSettingBool(e,t))}getSettingBool(e){return ne("keypath",e,Y()),_e(A(this,Gc).getSettingBool(e))}setSettingInt(e,t){return ne("keypath",e,Y()),ne("value",t,z()),_e(A(this,Gc).setSettingInt(e,t))}getSettingInt(e){return ne("keypath",e,Y()),_e(A(this,Gc).getSettingInt(e))}setSettingFloat(e,t){return ne("keypath",e,Y()),ne("value",t,G()),_e(A(this,Gc).setSettingFloat(e,t))}getSettingFloat(e){return ne("keypath",e,Y()),_e(A(this,Gc).getSettingFloat(e))}setSettingString(e,t){return ne("keypath",e,Y()),ne("value",t,Y()),_e(A(this,Gc).setSettingString(e,t))}getSettingString(e){return ne("keypath",e,Y()),_e(A(this,Gc).getSettingString(e))}setSettingColor(e,t){return ne("keypath",e,Y()),_e(A(this,Gc).setSettingColor(e,Ct.fromColor(t)))}getSettingColor(e){return ne("keypath",e,Y()),Ct.toColor(_e(A(this,Gc).getSettingColor(e)))}setSettingColorRGBA(e,t,r,n,o=1){return ne("keypath",e,Y()),ne("r",t,G()),ne("g",r,G()),ne("b",n,G()),ne("a",o,G()),_e(A(this,Gc).setSettingColorRGBA(e,t,r,n,o))}getSettingColorRGBA(e){return ne("keypath",e,Y()),_e(A(this,Gc).getSettingColorRGBA(e))}setSettingEnum(e,t){return ne("keypath",e,Y()),ne("value",t,Y()),_e(A(this,Gc).setSettingEnum(e,t))}getSettingEnum(e){return ne("keypath",e,Y()),_e(A(this,Gc).getSettingEnum(e))}getSettingEnumOptions(e){return ne("keypath",e,Y()),Ue(_e(A(this,Gc).getSettingEnumOptions(e)))}setRole(e){return _e(A(this,Gc).setRole(e))}getRole(){return _e(A(this,Gc).getRole())}findAllSettings(){return Ue(A(this,Gc).findAllSettings())}getSettingType(e){ne("keypath",e,Y());return _e(A(this,Gc).getSettingType(e))}getAvailableMemory(){return _e(A(this,Gc).getAvailableMemory())}getUsedMemory(){return _e(A(this,Gc).getUsedMemory())}getMaxExportSize(){return _e(A(this,Gc).getMaxExportSize())}setURIResolver(e){Yc.set(A(this,Gc),e);return _e(A(this,Gc).setURIResolver(t=>e(t,this.defaultURIResolver.bind(this))))}setURIResolverAsync(e){if(null===e)return Kc.delete(A(this,Gc)),void _e(A(this,Gc).setURIResolverAsync(null));Kc.set(A(this,Gc),e);const t=this.defaultURIResolver.bind(this),r=(e,t)=>{var r;const n=t instanceof Error?t.message:String(t);return null==(r=A(this,jc))||r.call(this,`URI resolver failed for "${e}": ${n}`,"Warning"),{error:n}};_e(A(this,Gc).setURIResolverAsync(n=>{try{const o=e(n,t);return"function"==typeof o?.then?o.catch(e=>r(n,e)):o}catch(e){return r(n,e)}}))}getURIResolver(){return Yc.get(A(this,Gc))??null}getURIResolverAsync(){return Kc.get(A(this,Gc))??null}defaultURIResolver(e){return A(this,Gc).defaultURIResolver(e)}getAbsoluteURI(e){return Se(t=>A(this,Gc).getAbsoluteURI(e,t))}findAllScopes(){return Ue(A(this,Gc).findAllScopes())}setGlobalScope(e,t){ne("key",e,Y()),ne("value",t,Y()),_e(A(this,Gc).setGlobalScope(e,t))}getGlobalScope(e){return ne("key",e,Y()),_e(A(this,Gc).getGlobalScope(e))}findAllSpotColors(){return Ue(A(this,Gc).findAllSpotColors())}getSpotColorRGBA(e){return ne("name",e,Y()),A(this,Gc).getSpotColorRGB(e)}getSpotColorCMYK(e){return ne("name",e,Y()),A(this,Gc).getSpotColorCMYK(e)}setSpotColorRGB(e,t,r,n){return ne("name",e,Y()),ne("r",t,G()),ne("g",r,G()),ne("b",n,G()),A(this,Gc).setSpotColorRGB(e,t,r,n)}setSpotColorCMYK(e,t,r,n,o){return ne("name",e,Y()),ne("c",t,G()),ne("m",r,G()),ne("y",n,G()),ne("k",o,G()),A(this,Gc).setSpotColorCMYK(e,t,r,n,o)}removeSpotColor(e){return ne("name",e,Y()),_e(A(this,Gc).removeSpotColor(e))}setSpotColorForCutoutType(e,t){return ne("type",e,Y()),ne("color",t,Y()),_e(A(this,Gc).setSpotColorForCutoutType(e,t))}getSpotColorForCutoutType(e){return ne("type",e,Y()),_e(A(this,Gc).getSpotColorForCutoutType(e))}convertColorToColorSpace(e,t){return ne("colorSpace",t,Y()),Ct.toColor(_e(A(this,Gc).convertColorToColorSpace(Ct.fromColor(e),t)))}createBuffer(){return A(this,Gc).createBuffer()}destroyBuffer(e){_e(A(this,Gc).destroyBuffer(e))}setBufferData(e,t,r){ne("offset",t,z()),_e(A(this,Gc).setBufferData(e,t,r))}getBufferData(e,t,r){ne("offset",t,z()),ne("length",r,z());const n=A(this,Gc).getBufferData(e,t,r);if("error"in n)throw new Error(n.error);return n}setBufferLength(e,t){ne("length",t,z()),_e(A(this,Gc).setBufferLength(e,t))}getBufferLength(e){return _e(A(this,Gc).getBufferLength(e))}cloneBuffers(){return Ue(_e(A(this,Gc).cloneBuffers()))}restoreBuffers(e){_e(A(this,Gc).restoreBuffers(e))}getMimeType(e){return ne("uri",e,Y()),Se(t=>A(this,Gc).getMimeType(e,t))}getFontMetrics(e){return ne("fontFileUri",e,Y()),Se(t=>A(this,Gc).getFontMetrics(e,t))}findAllTransientResources(){return Ue(_e(A(this,Gc).findAllTransientResources()))}findAllMediaURIs(){return Ue(_e(A(this,Gc).findAllMediaURIs()))}getResourceData(e,t,r){ne("uri",e,Y()),ne("chunkSize",t,z()),_e(A(this,Gc).getResourceData(e,t,r))}relocateResource(e,t){ne("currentUrl",e,Y()),ne("relocatedUrl",t,Y()),_e(A(this,Gc).relocateResource(e,t))}isHighlightingEnabled(e){return ne("id",e,z()),_e(A(this,Gc).isHighlightingEnabled(e))}setHighlightingEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,Gc).setHighlightingEnabled(e,t))}setSafeAreaInsets(e){const t=this.getSafeAreaInsets();return _e(A(this,Gc).setSafeAreaInsets(e.left??t.left,e.top??t.top,e.right??t.right,e.bottom??t.bottom))}getSafeAreaInsets(){const[e,t,r,n]=A(this,Gc).getSafeAreaInsets();return{left:e,top:t,right:r,bottom:n}}isSelectionEnabled(e){return ne("id",e,z()),_e(A(this,Gc).isSelectionEnabled(e))}setSelectionEnabled(e,t){return ne("id",e,z()),ne("enabled",t,V()),_e(A(this,Gc).setSelectionEnabled(e,t))}setMovementConstraint(e){const t=Array.isArray(e)?e:[e];ne("rules",t,N(nd));for(const e of t){const t="block"in e?[e.block]:"blockType"in e?[e.blockType]:[];_e(A(this,Gc).setMovementConstraint(t,e.overshoot))}}getMovementConstraint(e){ne("id",e,z());const t=_e(A(this,Gc).getMovementConstraint(e));return t<0?null:{overshoot:t}}removeMovementConstraint(e){if(void 0===e)return void _e(A(this,Gc).removeMovementConstraint([]));const t=Array.isArray(e)?e:[e];if(ne("scopes",t,N(od)),0===t.length)return;const r=t.map(e=>"block"in e?e.block:e.blockType);_e(A(this,Gc).removeMovementConstraint(r))}};Xc=v(null),Gc=new WeakMap,jc=new WeakMap,C(Xc,1,"unlockWithLicense",zc,EditorAPI),C(Xc,1,"startTracking",Vc,EditorAPI),C(Xc,1,"setTrackingMetadata",Nc,EditorAPI),C(Xc,1,"getTrackingMetadata",$c,EditorAPI),C(Xc,1,"getActiveLicense",Hc,EditorAPI),C(Xc,1,"_update",Wc,EditorAPI),C(Xc,1,"setEditMode",qc,EditorAPI),C(Xc,1,"getEditMode",Uc,EditorAPI),C(Xc,1,"unstable_isInteractionHappening",Oc,EditorAPI),C(Xc,1,"hasSelectedVectorNode",Lc,EditorAPI),C(Xc,1,"addVectorNode",Bc,EditorAPI),C(Xc,1,"deleteVectorNode",Rc,EditorAPI),C(Xc,1,"hasSelectedVectorControlPoint",Dc,EditorAPI),C(Xc,1,"deleteSelectedVectorControlPoints",Ic,EditorAPI),C(Xc,1,"toggleSelectedVectorNodeSmooth",Mc,EditorAPI),C(Xc,1,"setVectorEditBendMode",Fc,EditorAPI),C(Xc,1,"getVectorEditBendMode",Ac,EditorAPI),C(Xc,1,"setVectorEditAddMode",Pc,EditorAPI),C(Xc,1,"getVectorEditAddMode",xc,EditorAPI),C(Xc,1,"setVectorEditDeleteMode",Tc,EditorAPI),C(Xc,1,"getVectorEditDeleteMode",Cc,EditorAPI),C(Xc,1,"setSelectedVectorNodeMirrorMode",Ec,EditorAPI),C(Xc,1,"getSelectedVectorNodeMirrorMode",Sc,EditorAPI),C(Xc,1,"getCursorType",_c,EditorAPI),C(Xc,1,"getCursorRotation",kc,EditorAPI),C(Xc,1,"getTextCursorPositionInScreenSpaceX",wc,EditorAPI),C(Xc,1,"getTextCursorPositionInScreenSpaceY",vc,EditorAPI),C(Xc,1,"createHistory",yc,EditorAPI),C(Xc,1,"destroyHistory",bc,EditorAPI),C(Xc,1,"setActiveHistory",mc,EditorAPI),C(Xc,1,"getActiveHistory",fc,EditorAPI),C(Xc,1,"addUndoStep",gc,EditorAPI),C(Xc,1,"removeUndoStep",hc,EditorAPI),C(Xc,1,"undo",pc,EditorAPI),C(Xc,1,"redo",uc,EditorAPI),C(Xc,1,"canUndo",dc,EditorAPI),C(Xc,1,"canRedo",cc,EditorAPI),C(Xc,1,"setSetting",lc,EditorAPI),C(Xc,1,"getSetting",sc,EditorAPI),C(Xc,1,"setSettingBool",ac,EditorAPI),C(Xc,1,"getSettingBool",ic,EditorAPI),C(Xc,1,"setSettingInt",oc,EditorAPI),C(Xc,1,"getSettingInt",nc,EditorAPI),C(Xc,1,"setSettingFloat",rc,EditorAPI),C(Xc,1,"getSettingFloat",tc,EditorAPI),C(Xc,1,"setSettingString",ec,EditorAPI),C(Xc,1,"getSettingString",Jl,EditorAPI),C(Xc,1,"setSettingColor",Zl,EditorAPI),C(Xc,1,"getSettingColor",Ql,EditorAPI),C(Xc,1,"setSettingColorRGBA",Kl,EditorAPI),C(Xc,1,"getSettingColorRGBA",Yl,EditorAPI),C(Xc,1,"setSettingEnum",Xl,EditorAPI),C(Xc,1,"getSettingEnum",jl,EditorAPI),C(Xc,1,"setRole",Gl,EditorAPI),C(Xc,1,"getRole",zl,EditorAPI),C(Xc,1,"findAllSettings",Vl,EditorAPI),C(Xc,1,"getAvailableMemory",Nl,EditorAPI),C(Xc,1,"getUsedMemory",$l,EditorAPI),C(Xc,1,"getMaxExportSize",Hl,EditorAPI),C(Xc,1,"setURIResolver",Wl,EditorAPI),C(Xc,1,"setURIResolverAsync",ql,EditorAPI),C(Xc,1,"getURIResolver",Ul,EditorAPI),C(Xc,1,"getURIResolverAsync",Ol,EditorAPI),C(Xc,1,"findAllScopes",Ll,EditorAPI),C(Xc,1,"setGlobalScope",Bl,EditorAPI),C(Xc,1,"getGlobalScope",Rl,EditorAPI),C(Xc,1,"findAllSpotColors",Dl,EditorAPI),C(Xc,1,"getSpotColorRGBA",Il,EditorAPI),C(Xc,1,"getSpotColorCMYK",Ml,EditorAPI),C(Xc,1,"setSpotColorRGB",Fl,EditorAPI),C(Xc,1,"setSpotColorCMYK",Al,EditorAPI),C(Xc,1,"removeSpotColor",Pl,EditorAPI),C(Xc,1,"setSpotColorForCutoutType",xl,EditorAPI),C(Xc,1,"getSpotColorForCutoutType",Tl,EditorAPI),C(Xc,1,"convertColorToColorSpace",Cl,EditorAPI),C(Xc,1,"isHighlightingEnabled",El,EditorAPI),C(Xc,1,"setHighlightingEnabled",Sl,EditorAPI),C(Xc,1,"setSafeAreaInsets",_l,EditorAPI),C(Xc,1,"getSafeAreaInsets",kl,EditorAPI),C(Xc,1,"isSelectionEnabled",wl,EditorAPI),C(Xc,1,"setSelectionEnabled",vl,EditorAPI),C(Xc,1,"setMovementConstraint",yl,EditorAPI),C(Xc,1,"getMovementConstraint",bl,EditorAPI),C(Xc,1,"removeMovementConstraint",ml,EditorAPI),S(Xc,EditorAPI);var Qc,Zc,Jc,ed,td,rd,nd=Q([j({overshoot:G()}),j({overshoot:G(),block:z()}),j({overshoot:G(),blockType:Y()})]),od=Q([j({block:z()}),j({blockType:Y()})]),id=class{#e;#t=new Set;#r=!1;constructor(e){this.#e=e}register(e,t){this.#e.actionsRegister(e,e=>{let r;try{const t=JSON.parse(e);r=Array.isArray(t)?t:[t]}catch{r=[]}try{const e=t(...r);return null!=e&&"function"==typeof e.then?e.then(e=>JSON.stringify(e??null)):JSON.stringify(e??null)}catch(e){return Promise.reject(e instanceof Error?e:new Error(String(e)))}},t)}get(e){return this.#e.actionsGetLocal(e)}run(e,...t){if(this.#r)return Promise.reject(new Error("Engine has been disposed."));const r=this.#e.actionsGetLocal(e);return new Promise(void 0!==r?(e,n)=>{const o=e=>{this.#t.delete(o),n(e)};let i;this.#t.add(o);try{i=r(...t)}catch(e){return this.#t.delete(o),void n(e instanceof Error?e:new Error(String(e)))}Promise.resolve(i).then(t=>{this.#t.delete(o),e(t)},e=>{this.#t.delete(o),n(e instanceof Error?e:new Error(String(e)))})}:(r,n)=>{const o=e=>{this.#t.delete(o),n(e)};this.#t.add(o),this.#e.actionsRun(e,JSON.stringify(t),e=>{this.#t.delete(o);try{r(""===e?void 0:JSON.parse(e))}catch(e){n(e instanceof Error?e:new Error(String(e)))}},e=>o(new Error(e)))})}has(e){return this.#e.actionsHas(e)}unregister(e){return this.#e.actionsUnregister(e)}list(e){return this.#e.actionsList(e?.matcher??null)}dispose(){this.#r=!0;const e=[...this.#t];this.#t.clear(),e.forEach(e=>e(new Error("Engine has been disposed.")))}},EventAPI=class{#e;constructor(e){this.#e=e}subscribe=(e,t)=>{ne("blocks",e,N());const r=this.#e.subscribe(e,e=>{try{t(Ue(e,!0))}catch(e){console.error(e)}});return()=>{this.#e.isDeleted()||_e(this.#e.unsubscribe(r))}}};ed=[ve({disabledInModes:["Playback"]})],Jc=[we],Zc=[ve({disabledInModes:["Playback"]})],Qc=[we];var VariableAPI=class{constructor(e){E(rd,5,this),F(this,td),M(this,td,e)}findAll(){return Ue(A(this,td).findAllVariables())}setString(e,t){return ne("key",e,Y()),ne("value",t,Y()),_e(A(this,td).setVariableString(e,t))}getString(e){return ne("key",e,Y()),_e(A(this,td).getVariableString(e))}remove(e){return ne("key",e,Y()),_e(A(this,td).removeVariable(e))}};function ad(e,t){return`${e.replace(/\/+$/,"")}/${t.replace(/^\/+/,"")}`}rd=v(null),td=new WeakMap,C(rd,1,"findAll",ed,VariableAPI),C(rd,1,"setString",Jc,VariableAPI),C(rd,1,"getString",Zc,VariableAPI),C(rd,1,"remove",Qc,VariableAPI),S(rd,VariableAPI);var sd=async function(e,t,r=fetch,n,o=new Set(n.findAllSources())){const i=t.replace(/\/+$/,""),a=e.map(async e=>{const a=ad(t,`/${e}/content.json`);return r(a).then(e=>{if(!e.ok)throw new Error(e.statusText);return e.json()}).then(t=>{if(void 0===t.assets)throw new Error(`Invalid content.json for assets: ${e}`);const r=t.assets;o.has(e)||n.addLocalSource(e),r.forEach(t=>{t.meta&&Object.entries(t.meta).forEach(([e,r])=>{const n=r.toString();if(n.includes("{{base_url}}")){const r=n.replace(/\{\{base_url\}\}/g,i);t.meta&&(t.meta[e]=r)}}),t.payload?.typeface&&t.payload.typeface.fonts.forEach(e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace(/\{\{base_url\}\}/g,i))}),t.payload?.sourceSet&&t.payload.sourceSet.forEach(e=>{e.uri.includes("{{base_url}}")&&(e.uri=e.uri.replace(/\{\{base_url\}\}/g,i))}),n.addAssetToSource(e,t)})})});await Promise.all(a)},ld=class _CaptionPresetAssetSource{static assetSourceId="ly.img.captionPresets";propertyWhitelist=["backgroundColor/enabled","backgroundColor/color","backgroundColor/cornerRadius","backgroundColor/paddingBottom","backgroundColor/paddingLeft","backgroundColor/paddingRight","backgroundColor/paddingTop","blend/mode","dropShadow/enabled","dropShadow/color","dropShadow/offset/x","dropShadow/offset/y","dropShadow/blurRadius/x","dropShadow/blurRadius/y","dropShadow/clip","fill/enabled","fill/solid/color","opacity","stroke/enabled","stroke/color","stroke/width","stroke/style","stroke/position","stroke/cornerGeometry","{{blockType}}/typeface","{{blockType}}/fontSize","{{blockType}}/horizontalAlignment","{{blockType}}/verticalAlignment","{{blockType}}/letterSpacing","{{blockType}}/lineHeight","{{blockType}}/automaticFontSizeEnabled","{{blockType}}/maxAutomaticFontSize","{{blockType}}/minAutomaticFontSize","{{blockType}}/paragraphSpacing"];#n;#o;#i;constructor(e,t,r){this.#n=e,this.#o=t,this.#i=r??window.fetch.bind(window),this.createSource()}static async fetchAssets(e,t=fetch){const r=ad(e,`/${_CaptionPresetAssetSource.assetSourceId}/content.json`),n=await t(r);if(!n.ok)throw new Error(n.statusText);const o=await n.json();if(void 0===o.assets)throw new Error(`Invalid content.json for assets: ${_CaptionPresetAssetSource.assetSourceId}`);const i=e.replace(/\/+$/,"");return o.assets.map(e=>(e.meta&&Object.entries(e.meta).forEach(([t,r])=>{const n=r.toString();if(n.includes("{{base_url}}")){const r=n.replace("{{base_url}}",i);e.meta&&(e.meta[t]=r)}}),e))}createSource(){this.#n.asset.addSource({id:_CaptionPresetAssetSource.assetSourceId,findAssets:({page:e,perPage:t,excludeGroups:r,groups:n,locale:o="en",query:i,sortActiveFirst:a,sortKey:s,sortingOrder:l,tags:c})=>{const d=this.getCaptionTrack(),u=null!=d&&this.#n.block.hasMetadata(d,"activePreset")?this.#n.block.getMetadata(d,"activePreset"):void 0;let p=[...this.#o];if(n&&n.length>0&&(p=p.filter(e=>e.groups?.some(e=>n.includes(e)))),i&&""!==i.trim()){const e=i.toLowerCase().trim();p=p.filter(t=>(t.label?.[o]?.toLowerCase()||"").includes(e))}c&&c.length>0&&(p=p.filter(e=>(e.tags?.[o]??[]).some(e=>c.includes(e)))),r&&r.length>0&&(p=p.filter(e=>!(e.groups??[]).some(e=>r.includes(e)))),"label"===s&&"None"!==l&&p.sort((e,t)=>{const r=e.label?.[o]?.toLocaleLowerCase()||"",n=t.label?.[o]?.toLocaleLowerCase()||"";return r<n?"Ascending"===l?-1:1:r>n?"Ascending"===l?1:-1:0}),a&&u&&p.sort((e,t)=>e.id===u?-1:t.id===u?1:0);const h=p.length,g=e*t,f=g+t,m=p.slice(g,f).map(e=>{const t=e.payload?.properties?.map(e=>"caption/scale"===e.property?{...e,value:this.fetchCaptionScale()}:e);return{id:e.id,label:e.label?.[o],active:e.id===u,context:{id:_CaptionPresetAssetSource.assetSourceId},meta:e.meta,groups:e.groups,tags:e.tags?.[o],payload:{...e.payload,properties:t},locale:o}});return Promise.resolve({assets:m,total:h,currentPage:e})},getGroups:()=>{const e=new Set;return this.#o.forEach(t=>{t.groups&&t.groups.forEach(t=>{e.add(t)})}),Promise.resolve(Array.from(e))},removeAsset:e=>{const t=this.#o.findIndex(t=>t.id===e);-1!==t&&this.#o.splice(t,1)},addAsset:e=>{const t=this.#o.findIndex(t=>t.id===e.id);-1!==t?this.#o[t]=e:this.#o.push(e)},applyAssetToBlock:(e,t)=>this.applyPreset(e,t),applyAssetProperty:(e,t)=>this.applyProperty(e,t),fetchAsset:async(e,t)=>new Promise(r=>{const n=this.#o.find(t=>t.id===e);if(null==n)r(null);else{const e=t?.locale??"en",o=this.getCaptionTrack(),i=null!=o&&this.#n.block.hasMetadata(o,"activePreset")?this.#n.block.getMetadata(o,"activePreset"):void 0,a=n.payload?.properties?.map(e=>"caption/scale"===e.property?{...e,value:this.fetchCaptionScale()}:e);r({id:n.id,label:n.label?.[e],active:n.id===i,meta:n.meta,groups:n.groups,tags:n.tags?.[e],payload:{...n.payload,properties:a}})}})})}async applyPreset(e,t){const r=e?.meta?.uri;if(null==r)throw new Error(`The asset ${e.id} does not have a preset block URL.`);const n=await this.#i(r);if(!n.ok)throw new Error(`Failed to fetch the preset block from ${r}`);const o=await n.text(),[i]=await this.#n.block.loadFromString(o),a=null!=i?this.#n.block.getType(i):void 0;if("//ly.img.ubq/text"!==a&&"//ly.img.ubq/caption"!==a)return;const s=this.getCaptionTrack(),l=null!=s?this.#n.block.getChildren(s):[];this.propertyWhitelist.forEach(e=>{const r=e.replace("{{blockType}}","//ly.img.ubq/text"===a?"text":"caption"),n=this.#n.block.getPropertyType(r),o=e.replace("{{blockType}}","caption");switch(n){case"Int":{const e=this.#n.block.getInt(i,r);this.#n.block.setInt(t,o,e);break}case"Float":{const e=this.#n.block.getFloat(i,r);this.#n.block.setFloat(t,o,e);break}case"Double":{const e=this.#n.block.getDouble(i,r);this.#n.block.setDouble(t,o,e);break}case"Bool":{const e=this.#n.block.getBool(i,r);this.#n.block.setBool(t,o,e);break}case"Enum":{const e=this.#n.block.getEnum(i,r);this.#n.block.setEnum(t,o,e);break}case"Color":{if("fill/solid/color"===r){const[e]=this.#n.block.getTextColors(i);this.#n.block.setColor(t,o,e),"Text"===this.#n.editor.getEditMode()&&this.#n.editor.setEditMode("Transform"),this.#n.block.setTextColor(t,e);break}const e=this.#n.block.getColor(i,r);this.#n.block.setColor(t,o,e);break}case"String":{if("text/typeface"===r||"caption/typeface"===r){const e=this.#n.block.getTypeface(i);this.#n.block.setTypeface(t,e);break}const e=this.#n.block.getString(i,r);this.#n.block.setString(t,o,e);break}}}),e.payload?.properties?.forEach(async t=>{"Color"===t.type&&await this.applyProperty(e,t)});const[c]=this.#n.block.getTextFontWeights(i);null!=c&&this.#n.block.setTextFontWeight(t,c);const[d]=this.#n.block.getTextFontStyles(i);null!=d&&this.#n.block.setTextFontStyle(t,d);const u={in:this.#n.block.getInAnimation(i),loop:this.#n.block.getLoopAnimation(i),out:this.#n.block.getOutAnimation(i)},p=(e,t)=>{const r=u[t],n=(()=>{switch(t){case"in":return this.#n.block.getInAnimation(e);case"loop":return this.#n.block.getLoopAnimation(e);case"out":return this.#n.block.getOutAnimation(e);default:return}})();if(null!=n&&this.#n.block.isValid(n)&&this.#n.block.destroy(n),this.#n.block.isValid(r)){const n=this.#n.block.duplicate(r);switch(t){case"in":this.#n.block.setInAnimation(e,n);break;case"loop":this.#n.block.setLoopAnimation(e,n);break;case"out":this.#n.block.setOutAnimation(e,n)}}};l.forEach(e=>{p(e,"in"),p(e,"loop"),p(e,"out")}),null!=s&&this.#n.block.setMetadata(s,"activePreset",e.id),this.#n.block.destroy(i),this.#n.editor.addUndoStep(),this.#n.asset.assetSourceContentsChanged(_CaptionPresetAssetSource.assetSourceId)}async applyProperty(e,t){const r=this.getCaptionTrack();if(null==r)return;const[n]=this.#n.block.findAllSelected(),o="//ly.img.ubq/caption"===(null!=n?this.#n.block.getType(n):void 0)?n:this.#n.block.getChildren(r)[0];if(null!=o){switch(t.type){case"Color":if("fill/solid/color"===t.property){this.#n.block.setColor(o,t.property,t.value),this.#n.block.setTextColor(o,t.value);break}this.#n.block.setColor(o,t.property,t.value);break;case"Int":this.#n.block.setInt(o,t.property,t.value);break;case"Float":if("caption/scale"===t.property){const e=this.fetchCaptionScale(),r=this.#n.block.getTextFontSizes(o)[0]/e,n=Math.round(r*t.value);if(this.#n.block.setTextFontSize(o,n),this.#n.block.isStrokeEnabled(o)){const r=this.#n.block.getStrokeWidth(o)/e*t.value;this.#n.block.setStrokeWidth(o,r)}if(this.#n.block.isDropShadowEnabled(o)){const r=this.#n.block.getDropShadowOffsetX(o),n=this.#n.block.getDropShadowOffsetY(o)/e,i=this.#n.block.getDropShadowBlurRadiusX(o)/e,a=this.#n.block.getDropShadowBlurRadiusY(o)/e,s=r/e*t.value,l=n*t.value,c=i*t.value,d=a*t.value;this.#n.block.setDropShadowOffsetX(o,s),this.#n.block.setDropShadowOffsetY(o,l),this.#n.block.setDropShadowBlurRadiusX(o,c),this.#n.block.setDropShadowBlurRadiusY(o,d)}this.storeCaptionScale(t.value);break}this.#n.block.setFloat(o,t.property,t.value);break;case"Double":this.#n.block.setDouble(o,t.property,t.value);break;case"Boolean":this.#n.block.setBool(o,t.property,t.value);break;case"Enum":this.#n.block.setEnum(o,t.property,t.value);break;case"String":this.#n.block.setString(o,t.property,t.value)}this.#o=this.#o.map(r=>{if("caption/scale"===t.property){const e=r.payload?.properties?.map(e=>"caption/scale"===e.property?{...e,value:t.value}:e);return{...r,payload:{...r.payload,properties:e}}}if(r.id===e.id){const e=r.payload?.properties?.map(e=>e.property===t.property?{...e,value:t.value}:e);return{...r,payload:{...r.payload,properties:e}}}return{...r}}),this.#n.asset.assetSourceContentsChanged(_CaptionPresetAssetSource.assetSourceId)}}storeCaptionScale(e){const t=this.getCaptionTrack();null!=t&&this.#n.block.setMetadata(t,"previousScale",e.toString())}fetchCaptionScale(){const e=this.getCaptionTrack();if(null==e)return 1;try{const t=this.#n.block.getMetadata(e,"previousScale"),r=parseFloat(t);return Number.isNaN(r)?1:r}catch(e){return 1}}getCaptionTrack(){const e=this.#n.scene.getCurrentPage();if(null!=e)return this.#n.block.getChildren(e).find(e=>"//ly.img.ubq/captionTrack"===this.#n.block.getType(e))}static async create(e,t,r){const n=await _CaptionPresetAssetSource.fetchAssets(t,r);return new _CaptionPresetAssetSource(e,n,r)}};var cd=async function(e,t,r,n){const o=["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","ly.img.page.presets","ly.img.page.presets.video","ly.img.crop.presets","ly.img.text"].filter(e=>!r.includes(e));await sd(o,t,n,e.asset),r.includes("ly.img.captionPresets")||await ld.create(e,t,n)};var dd=async function(e,t,r,n,o,i,a="https://cdn.img.ly/assets/demo/v3"){const s=new Set(e.findAllSources()),l="ly.img.image.upload";!o||r.includes(l)||s.has(l)||e.addLocalSource(l,["image/jpeg","image/png","image/webp","image/svg+xml","image/bmp",..."Design"===n?["image/gif","image/apng"]:[]]);const c="ly.img.video.upload";"Video"!==n||!o||r.includes(c)||s.has(c)||e.addLocalSource(c,["application/json","video/mp4","video/quicktime","video/webm","video/matroska","image/gif","image/apng"]);const d="ly.img.audio.upload";"Video"!==n||!o||r.includes(d)||s.has(d)||e.addLocalSource(d,["audio/mpeg","audio/mp3","audio/x-m4a","audio/wav"]);const u=["ly.img.image","ly.img.video","ly.img.audio"].filter(e=>!r.includes(e));s.has("ly.img.template")||r.includes("ly.img.template")||(e.addLocalSource("ly.img.template",void 0,async e=>{const r=e.meta?.uri,n=t.get();if(r&&null!=n){if(r.startsWith("UBQ1"))t.applyTemplateFromString(r);else{const e=new URL(r,window.location.href);t.applyTemplateFromURL(e.href)}return n}}),u.push("ly.img.template")),"Video"!==n||s.has("ly.img.video.template")||r.includes("ly.img.video.template")||(e.addLocalSource("ly.img.video.template",void 0,async e=>{const r=e.meta?.uri,n=t.get();if(r&&null!=n){if(r.startsWith("UBQ1"))t.applyTemplateFromString(r);else{const e=new URL(r,window.location.href);t.applyTemplateFromURL(e.href)}return n}}),u.push("ly.img.video.template")),s.has("ly.img.textComponents")||r.includes("ly.img.textComponents")||u.push("ly.img.textComponents"),await sd(u,a,i,e)};function ud(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 pd="1.78.0-nightly.20260614".includes("nightly")?"https://cdn.img.ly/nightlies/1.78.0-nightly.20260614/packages/imgly/cesdk-engine/1.78.0-nightly.20260614/assets":"https://cdn.img.ly/packages/imgly/cesdk-engine/1.78.0-nightly.20260614/assets";function hd(e,t){return t??="undefined"==typeof window?void 0:window.location.href,new URL(e??"",t).href.replace(/\/*$/,"/")}var gd={warnKeys(e){if(e.scene||e.page||e.assetSources||e.presets?.colorPalettes||e.presets?.images||e.presets?.pageFormats||e.presets?.colorPalettes||e.variables||e.callbacks?.log||e.initialSceneMode||e.initialSceneString||e.initialSceneURL||e.initialImageURL)return"Your configuration contains keys that are no longer supported and will be ignored. Refer to https://img.ly/docs/cesdk/introduction/migration_1_13/ for information about the removed keys."}};var fd,md,bd,yd,vd=[gd,new class _TypefaceMigration{static APIFALLBACK_TYPEFACES_SOURCE_ID="apiFallbackTypefaces";warnKeys(e){if(e.presets?.typefaces)return"The `presets.typefaces` configuration option is deprecated. Use the AssetAPI to add typefaces instead."}applyFallback(e,t){if(e)try{const r=t.asset;if(e.presets?.typefaces){r.addLocalSource(_TypefaceMigration.APIFALLBACK_TYPEFACES_SOURCE_ID);for(const[t,n]of Object.entries(e.presets.typefaces))r.addAssetToSource(_TypefaceMigration.APIFALLBACK_TYPEFACES_SOURCE_ID,{id:t,payload:{typeface:{name:n.family,fonts:n.fonts.map(e=>({subFamily:`${e.weight} ${e.style}`,style:e.style,uri:e.fontURL,weight:e.weight}))}}})}}catch(e){console.error(e)}}}],wd=(e=>(e[e.Information=0]="Information",e[e.Warning=1]="Warning",e[e.Error=2]="Error",e))(wd||{}),kd=(e=>(e[e.Free=0]="Free",e[e.VerticalStack=1]="VerticalStack",e[e.HorizontalStack=2]="HorizontalStack",e[e.DepthStack=3]="DepthStack",e))(kd||{});bd=[ve({disabledInModes:["Playback"]})],md=[ve({disabledInModes:["Playback"]})],fd=[ve({disabledInModes:["Playback"]})];var _d=class{constructor(e){E(yd,5,this),T(this,"ubique"),T(this,"notificationStream",e=>{const t=this.ubique.addEventCallback("NotificationEvent",t=>e({type:wd[t.type],i18n:t.i18n}));return()=>{t.dispose(),t.delete()}}),T(this,"designElementLifecycleStream",e=>t=>{const r=this.ubique.addEventCallback(e,t);return()=>{r.dispose(),r.delete()}}),T(this,"historyStream",e=>{const t=this.ubique.addEventCallback("HistoryUpdatedEvent",e);return()=>{t.dispose(),t.delete()}}),this.ubique=e.getInternalAPI()}dispose(){this.ubique.delete(),this.ubique=null}setErrorCallback(e,t){this.ubique.setErrorCallback(e,t)}getSelectedText(){return _e(this.ubique.getSelectedText())}hasComponent(e,t){return _e(this.ubique.hasComponent(e,t))}getValue(e,t,r){return _e(this.ubique.getValue(e,t,r))}execute(e,t){let r;const n=new Promise((n,o)=>{r=this.ubique.ubqExecute(e,t,e=>{try{const t=_e(e);n(t)}catch(e){o(e)}})});return _e(r),n}sendKey(e){return this.execute("ubq/inputs/keyboardkey",function(e){const t={key:255,characters:e.key,shiftIsHeld:e.shiftKey,commandIsHeld:e.metaKey||e.ctrlKey,optionIsHeld:e.altKey,timestamp:Date.now()};switch(e.key.toUpperCase()){case"0":t.key=0;break;case"1":t.key=1;break;case"2":t.key=2;break;case"3":t.key=3;break;case"4":t.key=4;break;case"5":t.key=5;break;case"6":t.key=6;break;case"7":t.key=7;break;case"8":t.key=8;break;case"9":t.key=9;break;case"A":t.key=10;break;case"B":t.key=11;break;case"C":t.key=12;break;case"D":t.key=13;break;case"E":t.key=14;break;case"F":t.key=15;break;case"G":t.key=16;break;case"H":t.key=17;break;case"I":t.key=18;break;case"J":t.key=19;break;case"K":t.key=20;break;case"L":t.key=21;break;case"M":t.key=22;break;case"N":t.key=23;break;case"O":t.key=24;break;case"P":t.key=25;break;case"Q":t.key=26;break;case"R":t.key=27;break;case"S":t.key=28;break;case"T":t.key=29;break;case"U":t.key=30;break;case"V":t.key=31;break;case"W":t.key=32;break;case"X":t.key=33;break;case"Y":t.key=34;break;case"Z":t.key=35;break;case" ":t.key=42;break;case"ESCAPE":t.key=43,t.characters="";break;case"BACKSPACE":t.key=40,t.characters="";break;case"DELETE":t.key=44,t.characters="";break;case"ENTER":t.key=41,t.characters=t.shiftIsHeld?"\u2028":"\n";break;case"CONTROL":t.key=46,t.characters="";break;case"ALT":t.key=47,t.characters="";break;case"SHIFT":t.key=48,t.characters="";break;case"ARROWLEFT":t.key=36,t.characters="";break;case"ARROWRIGHT":t.key=37,t.characters="";break;case"ARROWUP":t.key=38,t.characters="";break;case"ARROWDOWN":t.key=39,t.characters="";break;case"TAB":t.key=45,t.characters="";break;case"DEAD":t.key=255,t.characters=""}return t}(e))}changeSceneLayout(e,t,r,n){return this.execute("ubq/scene/changeLayout",[e,kd[t],r,n])}};C(yd=v(null),1,"getSelectedText",bd,_d),C(yd,1,"hasComponent",md,_d),C(yd,1,"getValue",fd,_d),S(yd,_d);import Sd from"fs/promises";import{fileURLToPath as Ed}from"url";var Cd=function(){if("undefined"!=typeof fetch)return fetch;throw"undefined"!=typeof window?new Error("Could not find `fetch` API"):new Error("Could not find a `fetch` implementation. Please make sure you're using Node.JS >= 22.")}();async function Td(e){if(!e.match(/^file:/))return Cd(e);try{const t=await Sd.readFile(Ed(e),{encoding:"utf8"}),r=JSON.parse(t);return{ok:!0,json:async()=>r,text:async()=>t}}catch(e){return{ok:!1,statusText:e.message}}}var xd=Cd;import{fileURLToPath as Pd}from"url";var Ad=class extends Error{wasmUrl;dataUrl;baseURL;originalError;details;constructor(e){super("Failed to load CE.SDK engine. See browser console for troubleshooting details."),this.name="WasmLoadError",this.wasmUrl=e.wasmUrl,this.dataUrl=e.dataUrl,this.baseURL=e.baseURL,this.originalError=e.originalError,this.details=function(e){const{wasmUrl:t,dataUrl:r,originalError:n}=e,{docsUrl:o,assetsUrl:i}=function(){const e="1.78.0-nightly.20260614";return{docsUrl:`https://img.ly/docs/cesdk/archive/v${e.split(".").slice(0,2).join(".")}/js/serve-assets-b0827c/`,assetsUrl:`https://cdn.img.ly/packages/imgly/cesdk-js/${e}/imgly-assets.zip`}}();return["[CE.SDK] Failed to load engine assets (v1.78.0-nightly.20260614)","",`Error: ${n.message}`,"","Could not load:",` • ${t}`,` • ${r}`,"","This usually means the assets are missing or from a different SDK version.","","→ Download assets for v1.78.0-nightly.20260614:",` ${i}`,"","→ Documentation:",` ${o}`].join("\n")}(e),console.error(this.details)}};var Fd=((e,t,r)=>(r=null!=e?l(p(e)):{},((e,t,r,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of u(t))h.call(e,o)||o===r||c(e,o,{get:()=>t[o],enumerable:!(n=d(t,o))||n.enumerable});return e})(!t&&e&&e.__esModule?r:c(r,"default",{value:e,enumerable:!0}),e)))(D()),Md="./assets/core/cesdk-v1.78.0-nightly.20260614-MLEZSZ4D.data",Id="./assets/core/cesdk-v1.78.0-nightly.20260614-LUVMGFGL.wasm",Dd=Fd.default;async function Rd(e){const t=e.logger,r=function(e,t=fetch){return e.license&&0!==e.license.length&&"evaluation-license"!==e.license?e.license.length<128?t("https://api.img.ly/activate",{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):Promise.resolve("")}(e,xd),{getPreloadedPackage:n,instantiateWasm:o}=await async function(e){if(!e.core.baseURL.startsWith("http"))return{};const t=Bd(e,Md),r=Bd(e,Id),n=xd(t).then(n=>{if(n.status>=400)throw new Ad({wasmUrl:r,dataUrl:t,baseURL:e.core.baseURL,originalError:new Error(`HTTP ${n.status}: ${n.statusText} for data file`)});return n.arrayBuffer()}),o=await n;function i(e,r){if(e===t){if(r!==o.byteLength)throw new Error(`Attempt to get preloaded data package of incorrect size. Expected: ${r} Actual: ${o.byteLength}`);return o}return null}function a(n,o){const i=n,a=xd(r).then(n=>{if(n.status>=400)throw new Ad({wasmUrl:r,dataUrl:t,baseURL:e.core.baseURL,originalError:new Error(`HTTP ${n.status}: ${n.statusText} for WASM file`)});return n}),s=n=>{if(n instanceof Ad)throw n;throw new Ad({wasmUrl:r,dataUrl:t,baseURL:e.core.baseURL,originalError:n})};void 0!==WebAssembly.instantiateStreaming?a.then(e=>WebAssembly.instantiateStreaming(e,i)).then(({instance:e})=>o(e)).catch(s):a.then(e=>e.arrayBuffer()).then(e=>WebAssembly.compile(e)).then(e=>WebAssembly.instantiate(e,i)).then(o).catch(s);return{}}return{getPreloadedPackage:i,instantiateWasm:a}}(e),i={locateFile:t=>t.endsWith(".wasm")?Bd(e,Id):t.endsWith(".data")?Bd(e,Md):Bd(e,t),instantiateWasm:o,getPreloadedPackage:n,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 Dd(i);a.emscripten_ubq_asyncFetchManager.setFetch(xd);const s=_e(a.createEngine("","auto"));return function(e,t){_e(e.unlockWithLicense(t??""))}(s,await r),function(e,t){const r=new EditorAPI(e);r.setRole(t.role??"Creator"),r.setSetting("basePath",t.baseURL),r.setSetting("showBuildVersion",!1),t.featureFlags?.preventScrolling&&(r.setSetting("touch/singlePointPanning",!1),r.setSetting("touch/dragStartCanSelect",!1)),function(){const e=!!t.featureFlags?.singlePageMode;r.setSetting("features/singlePageModeEnabled",e);const n=!1!==t.featureFlags?.fileSystemUsageEnabled;r.setSetting("features/fileSystemUsageEnabled",n),r.setSetting("features/effectsEnabled",!0)}(),function(){const t=new VariableAPI(e);"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"))}(),r.startTracking(t.license??"",t.userId??"")}(s,e),s}function Bd(e,t){const r=t.split("/").pop(),n=new URL(r,e.core.baseURL);if("file:"===n.protocol)return Pd(n);return new URL(r,e.core.baseURL).toString()}var Ld={Info:"Info",Warning:"Warning",Error:"Error"},Od=(e=>(e[e.None=0]="None",e[e.Zstd=1]="Zstd",e))(Od||{}),Ud=(e=>(e[e.Fastest=0]="Fastest",e[e.Default=1]="Default",e[e.Best=2]="Best",e))(Ud||{}),qd=["scene","stack","camera","page","graphic","audio","text","group","cutout","track","caption","captionTrack"],Wd=["rect","line","ellipse","polygon","star","vector_path"],Hd=["color","gradient/linear","gradient/radial","gradient/conical","image","video","pixelStream"],$d=["adjustments","cross_cut","dot_pattern","duotone_filter","extrude_blur","glow","green_screen","half_tone","linocut","liquid","lut_filter","mirror","outliner","pixelize","posterize","radial_pixel","recolor","sharpie","shifter","tilt_shift","tv_glitch","vignette"],Nd=["uniform","linear","mirrored","radial"],Vd=["slide","pan","fade","blur","grow","zoom","pop","wipe","baseline","crop_zoom","spin","spin_loop","fade_loop","blur_loop","pulsating_loop","breathing_loop","jump_loop","squeeze_loop","sway_loop","scale_loop","typewriter_text","block_swipe_text","spread_text","merge_text","ken_burns"],zd=class{static version="1.78.0-nightly.20260614";asset;block;editor;event;scene;variable;actions;version="1.78.0-nightly.20260614";#a;#e;#s;constructor(e,t){this.#e=e,this.#s=t.baseURL,this.#a=new _d(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.actions=new id(e),this.block.exportVideo=()=>{throw new Error("Exporting video is currently not supported on Node.JS")},this.#l(),"undefined"!=typeof window&&window.Cypress&&(this.config=t,this.helper=this.#a)}#c;#l(){this.#d()}#d(){if(this.#c)return;const e=()=>{const t=this.update();this.#c=t?setImmediate(e):setTimeout(e,16)};this.#c=setImmediate(e)}#u(){this.#c&&(clearTimeout(this.#c),clearImmediate(this.#c),this.#c=null)}update(){return this.#e.update()}dispose(){this.#u(),this.asset.dispose(),this.actions.dispose(),this.block=null,this.scene=null,this.variable=null,this.asset=null,this.editor=null,this.event=null,this.actions=null,this.#a.dispose(),this.#a=null,this.#e.delete(),this.#e=null}static async init(e){const t="3baa84b8",r="1.78.0-nightly.20260614";if(t||r){const e=["[CreativeEngine]"];r&&e.push(`v${r}`),t&&e.push(`Revision ${t}`),console.log(e.join(" "))}const n=function(e,t){return t?e.reduce((e,t)=>t.migrateConfigObject?t.migrateConfigObject(e):e,t):t}(vd,e),i=function(e={}){const t={...e,license:e.license,baseURL:e.baseURL??pd,core:e.core??{baseURL:"core/"},logger:e.logger??ud,presets:e.presets??{}};t.baseURL=hd(t.baseURL),t.core.baseURL=hd(t.core.baseURL,t.baseURL);const r=new URL(pd).host,n=new URL(t.baseURL).host;if(n===r){const e=`https://img.ly/docs/cesdk/archive/v${"1.78.0-nightly.20260614".split(".").slice(0,2).join(".")}/js/serve-assets-b0827c/`,r="https://cdn.img.ly/packages/imgly/cesdk-js/1.78.0-nightly.20260614/imgly-assets.zip";t.logger(`Using IMG.LY CDN (${n}) for assets. For production use, please host assets yourself and specify a baseURL in your configuration.\n Download assets for v1.78.0-nightly.20260614: ${r}\n See: ${e}`,"Warning")}return t}({baseURL:`file://${o}/assets/`,...n});for(const t of function(e,t){return t?e.flatMap(e=>{const r=e.warnKeys?.(t);return"string"==typeof r?[r]:r??[]}):[]}(vd,e))i.logger(t,"Warning");const a=new this(await Rd(i),i);return Object.defineProperty(a,"version",{configurable:!1,writable:!1}),function(e,t,r){if(t)for(const n of e)n.applyFallback?.(t,r)}(vd,e,a),a}async addDefaultAssetSources({baseURL:e,excludeAssetSourceIds:t=[]}={}){const r=e??this.#s;return cd(this,r,t,Td)}async addDemoAssetSources({baseURL:e,excludeAssetSourceIds:t=[],sceneMode:r="Design",withUploadAssetSources:n=!1}={}){const o=e??this.#s;return dd(this.asset,this.scene,t,r,n,Td,o)}getBaseURL(){return this.#s}};export{Vd as ANIMATION_TYPES,Nd as BLUR_TYPES,Od as CompressionFormat,Ud as CompressionLevel,qd as DESIGN_BLOCK_TYPES,$d as EFFECT_TYPES,Hd as FILL_TYPES,Ld as LogLevel,re as MimeType,Wd as SHAPE_TYPES,zd as default,hl as isCMYKColor,ul as isRGBAColor,pl as isSpotColor};
|