libpag 4.5.0 → 4.5.2
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/LICENSE.txt +1589 -0
- package/README.md +172 -10
- package/README.zh_CN.md +114 -15
- package/lib/libpag.cjs.js +5420 -6176
- package/lib/libpag.cjs.js.map +1 -1
- package/lib/libpag.esm.js +5420 -6176
- package/lib/libpag.esm.js.map +1 -1
- package/lib/libpag.min.js +1 -1
- package/lib/libpag.min.js.map +1 -1
- package/lib/libpag.umd.js +5420 -6176
- package/lib/libpag.umd.js.map +1 -1
- package/lib/libpag.wasm +0 -0
- package/package.json +23 -11
- package/src/.pag.wasm-mt.md5 +1 -0
- package/src/.pag.wasm.md5 +1 -1
- package/src/core/matrix.ts +1 -2
- package/src/core/video-reader.ts +73 -94
- package/src/interfaces.ts +8 -17
- package/src/pag-composition.ts +12 -5
- package/src/pag-file.ts +146 -129
- package/src/pag-font.ts +1 -3
- package/src/pag-image-layer.ts +1 -2
- package/src/pag-image.ts +1 -3
- package/src/pag-layer.ts +2 -3
- package/src/pag-player.ts +7 -6
- package/src/pag-solid-layer.ts +1 -2
- package/src/pag-surface.ts +1 -2
- package/src/pag-text-layer.ts +1 -2
- package/src/pag-view.ts +3 -14
- package/src/pag.ts +0 -6
- package/src/types.ts +46 -3
- package/src/utils/decorators.ts +0 -42
- package/src/utils/type-utils.ts +1 -9
- package/src/utils/ua.ts +0 -1
- package/src/wasm/libpag.js +7 -6
- package/src/wasm/libpag.wasm +0 -0
- package/src/wasm-mt/libpag.js +2 -0
- package/src/wasm-mt/libpag.wasm +0 -0
- package/src/wechat/pag-file.ts +1 -2
- package/src/wechat/pag-image.ts +0 -2
- package/src/wechat/pag-view.ts +1 -2
- package/types/third_party/tgfx/web/src/core/path-rasterizer.d.ts +4 -0
- package/types/third_party/tgfx/web/src/core/scaler-context.d.ts +9 -2
- package/types/third_party/tgfx/web/src/utils/decorators.d.ts +0 -2
- package/types/web/src/core/video-reader.d.ts +4 -3
- package/types/web/src/interfaces.d.ts +8 -15
- package/types/web/src/pag-composition.d.ts +3 -3
- package/types/web/src/pag-file.d.ts +4 -4
- package/types/web/src/pag-player.d.ts +2 -2
- package/types/web/src/pag-view.d.ts +1 -1
- package/types/web/src/types.d.ts +12 -3
- package/types/web/src/utils/decorators.d.ts +0 -2
- package/types/web/src/utils/ua.d.ts +0 -1
- package/types/web/tsconfig.json +19 -0
- package/lib/libpag.worker.cjs.js +0 -794
- package/lib/libpag.worker.cjs.js.map +0 -1
- package/lib/libpag.worker.esm.js +0 -789
- package/lib/libpag.worker.esm.js.map +0 -1
- package/lib/libpag.worker.js +0 -800
- package/lib/libpag.worker.js.map +0 -1
- package/lib/libpag.worker.min.js +0 -2
- package/lib/libpag.worker.min.js.map +0 -1
- package/src/worker/client.ts +0 -76
- package/src/worker/events.ts +0 -41
- package/src/worker/pag-file.ts +0 -90
- package/src/worker/pag-image.ts +0 -43
- package/src/worker/pag-view.ts +0 -171
- package/src/worker/utils.ts +0 -29
- package/src/worker/video-reader.ts +0 -62
- package/src/worker/worker.ts +0 -169
- package/types/third_party/tgfx/web/src/core/web-mask.d.ts +0 -26
- package/types/web/src/utils/canvas.d.ts +0 -4
- package/types/web/src/worker/client.d.ts +0 -16
- package/types/web/src/worker/events.d.ts +0 -32
- package/types/web/src/worker/pag-file.d.ts +0 -33
- package/types/web/src/worker/pag-image.d.ts +0 -8
- package/types/web/src/worker/pag-view.d.ts +0 -67
- package/types/web/src/worker/utils.d.ts +0 -7
- package/types/web/src/worker/video-reader.d.ts +0 -16
- package/types/web/src/worker/worker.d.ts +0 -13
package/lib/libpag.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).libpag={})}(this,(function(e){"use strict";const t=(()=>{if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;if("undefined"!=typeof self)return self;throw new Error("unable to locate global object")})();let r;void 0===t.globalThis&&Object.defineProperty(t,"globalThis",{get:()=>t});function n(e){const t=["length","name","prototype","wasmAsyncMethods"];let n=Object.getOwnPropertyNames(e).filter((e=>-1===t.indexOf(e)));e.wasmAsyncMethods&&e.wasmAsyncMethods.length>0&&(n=n.filter((t=>-1===e.wasmAsyncMethods.indexOf(t))));let a=Object.getOwnPropertyNames(e.prototype).filter((t=>"constructor"!==t&&"function"==typeof e.prototype[t]));e.prototype.wasmAsyncMethods&&e.prototype.wasmAsyncMethods.length>0&&(a=a.filter((t=>-1===e.prototype.wasmAsyncMethods.indexOf(t))));const s=(e,t)=>{const n=e[t];e[t]=function(...e){if(null!==r.Asyncify.currData){const t=r.Asyncify.currData;r.Asyncify.currData=null;const a=n.call(this,...e);return r.Asyncify.currData=t,a}return n.call(this,...e)}};n.forEach((t=>s(e,t))),a.forEach((t=>s(e.prototype,t)))}function a(e,t,r){e.wasmAsyncMethods||(e.wasmAsyncMethods=[]),e.wasmAsyncMethods.push(t)}function s(e){let t=Object.getOwnPropertyNames(e.prototype).filter((t=>"constructor"!==t&&"function"==typeof e.prototype[t]));const r=(t,r)=>{const n=t[r];t[r]=function(...t){if(!this.isDestroyed)return n.call(this,...t);console.error(`Don't call ${r} of the ${e.name} that is destroyed.`)}};t.forEach((t=>r(e.prototype,t)))}var i=(e=>(e[e.None=0]="None",e[e.Stretch=1]="Stretch",e[e.LetterBox=2]="LetterBox",e[e.Zoom=3]="Zoom",e))(i||{}),o=(e=>(e.onAnimationStart="onAnimationStart",e.onAnimationEnd="onAnimationEnd",e.onAnimationCancel="onAnimationCancel",e.onAnimationRepeat="onAnimationRepeat",e.onAnimationUpdate="onAnimationUpdate",e.onAnimationPlay="onAnimationPlay",e.onAnimationPause="onAnimationPause",e.onAnimationFlushed="onAnimationFlushed",e))(o||{}),l=(e=>(e[e.LeftJustify=0]="LeftJustify",e[e.CenterJustify=1]="CenterJustify",e[e.RightJustify=2]="RightJustify",e[e.FullJustifyLastLineLeft=3]="FullJustifyLastLineLeft",e[e.FullJustifyLastLineRight=4]="FullJustifyLastLineRight",e[e.FullJustifyLastLineCenter=5]="FullJustifyLastLineCenter",e[e.FullJustifyLastLineFull=6]="FullJustifyLastLineFull",e))(l||{}),c=(e=>(e[e.Default=0]="Default",e[e.Horizontal=1]="Horizontal",e[e.Vertical=2]="Vertical",e))(c||{}),u=(e=>(e[e.Unknown=0]="Unknown",e[e.Null=1]="Null",e[e.Solid=2]="Solid",e[e.Text=3]="Text",e[e.Shape=4]="Shape",e[e.Image=5]="Image",e[e.PreCompose=6]="PreCompose",e))(u||{}),d=(e=>(e[e.None=0]="None",e[e.Scale=1]="Scale",e[e.Repeat=2]="Repeat",e[e.RepeatInverted=3]="RepeatInverted",e))(d||{}),h=(e=>(e[e.a=0]="a",e[e.c=1]="c",e[e.tx=2]="tx",e[e.b=3]="b",e[e.d=4]="d",e[e.ty=5]="ty",e))(h||{}),f=(e=>(e[e.Success=0]="Success",e[e.TryAgainLater=-1]="TryAgainLater",e[e.Error=-2]="Error",e))(f||{}),m=(e=>(e[e.Unknown=0]="Unknown",e[e.ALPHA_8=1]="ALPHA_8",e[e.RGBA_8888=2]="RGBA_8888",e[e.BGRA_8888=3]="BGRA_8888",e))(m||{}),p=(e=>(e[e.Unknown=0]="Unknown",e[e.Opaque=1]="Opaque",e[e.Premultiplied=2]="Premultiplied",e[e.Unpremultiplied=3]="Unpremultiplied",e))(p||{}),g=Object.freeze({__proto__:null,PAGScaleMode:i,PAGViewListenerEvent:o,ParagraphJustification:l,TextDirection:c,LayerType:u,PAGTimeStretchMode:d,MatrixIndex:h,DecoderResult:f,ColorType:m,AlphaType:p}),w=Object.defineProperty,y=Object.getOwnPropertyDescriptor;let v=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}static makeAll(e,t,n,a,s,i,o=0,l=0,c=1){const u=r._Matrix._MakeAll(e,t,n,a,s,i,o,l,c);if(!u)throw new Error("Matrix.makeAll fail, please check parameters valid!");return new v(u)}static makeScale(e,t){let n;if(n=void 0!==t?r._Matrix._MakeScale(e,t):r._Matrix._MakeScale(e),!n)throw new Error("Matrix.makeScale fail, please check parameters valid!");return new v(n)}static makeTrans(e,t){const n=r._Matrix._MakeTrans(e,t);if(!n)throw new Error("Matrix.makeTrans fail, please check parameters valid!");return new v(n)}get a(){return this.wasmIns?this.wasmIns._get(h.a):0}set a(e){this.wasmIns?._set(h.a,e)}get b(){return this.wasmIns?this.wasmIns._get(h.b):0}set b(e){this.wasmIns?._set(h.b,e)}get c(){return this.wasmIns?this.wasmIns._get(h.c):0}set c(e){this.wasmIns?._set(h.c,e)}get d(){return this.wasmIns?this.wasmIns._get(h.d):0}set d(e){this.wasmIns?._set(h.d,e)}get tx(){return this.wasmIns?this.wasmIns._get(h.tx):0}set tx(e){this.wasmIns?._set(h.tx,e)}get ty(){return this.wasmIns?this.wasmIns._get(h.ty):0}set ty(e){this.wasmIns?._set(h.ty,e)}get(e){return this.wasmIns?this.wasmIns._get(e):0}set(e,t){this.wasmIns?._set(e,t)}setAll(e,t,r,n,a,s){this.wasmIns?._setAll(e,t,r,n,a,s,0,0,1)}setAffine(e,t,r,n,a,s){this.wasmIns?._setAffine(e,t,r,n,a,s)}reset(){this.wasmIns?._reset()}setTranslate(e,t){this.wasmIns?._setTranslate(e,t)}setScale(e,t,r=0,n=0){this.wasmIns?._setScale(e,t,r,n)}setRotate(e,t=0,r=0){this.wasmIns?._setRotate(e,t,r)}setSinCos(e,t,r=0,n=0){this.wasmIns?._setSinCos(e,t,r,n)}setSkew(e,t,r=0,n=0){this.wasmIns?._setSkew(e,t,r,n)}setConcat(e,t){this.wasmIns?._setConcat(e.wasmIns,t.wasmIns)}preTranslate(e,t){this.wasmIns?._preTranslate(e,t)}preScale(e,t,r=0,n=0){this.wasmIns?._preScale(e,t,r,n)}preRotate(e,t=0,r=0){this.wasmIns?._preRotate(e,t,r)}preSkew(e,t,r=0,n=0){this.wasmIns?._preSkew(e,t,r,n)}preConcat(e){this.wasmIns?._preConcat(e.wasmIns)}postTranslate(e,t){this.wasmIns?._postTranslate(e,t)}postScale(e,t,r=0,n=0){this.wasmIns?._postScale(e,t,r,n)}postRotate(e,t=0,r=0){this.wasmIns?._postRotate(e,t,r)}postSkew(e,t,r=0,n=0){this.wasmIns?._postSkew(e,t,r,n)}postConcat(e){this.wasmIns?._postConcat(e.wasmIns)}destroy(){this.wasmIns.delete()}};v=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?y(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&w(t,r,s),s})([s,n],v);const _=(e,t,...n)=>{if(null!==r.Asyncify.currData){const a=r.Asyncify.currData;r.Asyncify.currData=null;const s=e.call(t,...n);return r.Asyncify.currData=a,s}return e.call(t,...n)},b=(e,t)=>new Proxy(e,{get(e,r,n){switch(r){case"get":return r=>{const n=_(e.get,e,r);return n?t(n):n};case"push_back":return t=>{_(e.push_back,e,t.wasmIns||t)};case"size":return()=>_(e.size,e);default:return Reflect.get(e,r,n)}}}),E=e=>{switch(_(e._layerType,e)){case u.Solid:return new r.PAGSolidLayer(e);case u.Text:return new r.PAGTextLayer(e);case u.Image:return new r.PAGImageLayer(e);default:return new r.PAGLayer(e)}},x=e=>e?.wasmIns?e.wasmIns:e,C=(e,t)=>void 0!==t&&e instanceof t;var P=Object.defineProperty,A=Object.getOwnPropertyDescriptor;let T=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}uniqueID(){return this.wasmIns._uniqueID()}layerType(){return this.wasmIns._layerType()}layerName(){return this.wasmIns._layerName()}matrix(){const e=this.wasmIns._matrix();if(!e)throw new Error("Get matrix fail!");return new v(e)}setMatrix(e){this.wasmIns._setMatrix(e.wasmIns)}resetMatrix(){this.wasmIns._resetMatrix()}getTotalMatrix(){if(!this.wasmIns._getTotalMatrix())throw new Error("Get total matrix fail!");return new v(this.wasmIns._getTotalMatrix())}alpha(){return this.wasmIns._alpha()}setAlpha(e){this.wasmIns._setAlpha(e)}visible(){return this.wasmIns._visible()}setVisible(e){this.wasmIns._setVisible(e)}editableIndex(){return this.wasmIns._editableIndex()}parent(){const e=this.wasmIns._parent();if(!e)throw new Error("Get total matrix fail!");return new S(e)}markers(){const e=this.wasmIns._markers();if(!e)throw new Error("Get markers fail!");return b(e,(e=>e))}localTimeToGlobal(e){return this.wasmIns._localTimeToGlobal(e)}globalToLocalTime(e){return this.wasmIns._globalToLocalTime(e)}duration(){return this.wasmIns._duration()}frameRate(){return this.wasmIns._frameRate()}startTime(){return this.wasmIns._startTime()}setStartTime(e){this.wasmIns._setStartTime(e)}currentTime(){return this.wasmIns._currentTime()}setCurrentTime(e){this.wasmIns._setCurrentTime(e)}getProgress(){return this.wasmIns._getProgress()}setProgress(e){this.wasmIns._setProgress(e)}preFrame(){this.wasmIns._preFrame()}nextFrame(){this.wasmIns._nextFrame()}getBounds(){return this.wasmIns._getBounds()}trackMatteLayer(){const e=this.wasmIns._trackMatteLayer();if(!e)throw new Error("Get track matte layer fail!");return E(e)}excludedFromTimeline(){return this.wasmIns._excludedFromTimeline()}setExcludedFromTimeline(e){this.wasmIns._setExcludedFromTimeline(e)}isPAGFile(){return this.wasmIns._isPAGFile()}asTypeLayer(){return E(this)}isDelete(){return this.wasmIns.isDelete()}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};T=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?A(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&P(t,r,s),s})([s,n],T);var I=Object.defineProperty,k=Object.getOwnPropertyDescriptor;let S=class extends T{static make(e,t){const n=r._PAGComposition._Make(e,t);if(!n)throw new Error("Make PAGComposition fail!");return new S(n)}width(){return this.wasmIns._width()}height(){return this.wasmIns._height()}setContentSize(e,t){this.wasmIns._setContentSize(e,t)}numChildren(){return this.wasmIns._numChildren()}getLayerAt(e){const t=this.wasmIns._getLayerAt(e);if(!t)throw new Error(`Get layer at ${e} fail!`);return E(t)}getLayerIndex(e){return this.wasmIns._getLayerIndex(e.wasmIns)}setLayerIndex(e,t){return this.wasmIns._setLayerIndex(e.wasmIns,t)}addLayer(e){return this.wasmIns._addLayer(e.wasmIns)}addLayerAt(e,t){return this.wasmIns._addLayerAt(e.wasmIns,t)}contains(e){return this.wasmIns._contains(e.wasmIns)}removeLayer(e){const t=this.wasmIns._removeLayer(e.wasmIns);if(!t)throw new Error("Remove layer fail!");return E(t)}removeLayerAt(e){const t=this.wasmIns._removeLayerAt(e);if(!t)throw new Error(`Remove layer at ${e} fail!`);return E(t)}removeAllLayers(){this.wasmIns._removeAllLayers()}swapLayer(e,t){this.wasmIns._swapLayer(e.wasmIns,t.wasmIns)}swapLayerAt(e,t){this.wasmIns._swapLayerAt(e,t)}audioBytes(){return this.wasmIns._audioBytes()}audioMarkers(){const e=this.wasmIns._audioMarkers();if(!e)throw new Error("Get audioMarkers fail!");return b(e,(e=>e))}audioStartTime(){return this.wasmIns._audioStartTime()}getLayersByName(e){const t=this.wasmIns._getLayersByName(e);if(!t)throw new Error(`Get layers by ${e} fail!`);return b(t,E)}getLayersUnderPoint(e,t){const r=this.wasmIns._getLayersUnderPoint(e,t);if(!r)throw new Error(`Get layers under point ${e},${t} fail!`);return b(r,E)}};S=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?k(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&I(t,r,s),s})([s,n],S);const F=e=>new Promise((t=>{const r=new FileReader;r.onload=()=>{t(r.result)},r.onerror=()=>{console.error(r.error.message)},r.readAsArrayBuffer(e)}));var L=Object.defineProperty,D=Object.getOwnPropertyDescriptor,$=(e,t,r,n)=>{for(var a,s=n>1?void 0:n?D(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&L(t,r,s),s};let M=class extends S{static async load(e){const t=await(e=>C(e,globalThis.File)?F(e):C(e,globalThis.Blob)?F(new File([e],"")):C(e,globalThis.ArrayBuffer)?Promise.resolve(e):Promise.resolve(null))(e);if(!t)throw new Error("Initialize PAGFile data type error, please put check data type must to be File | Blob | ArrayBuffer!");return M.loadFromBuffer(t)}static loadFromBuffer(e){if(!(e&&e.byteLength>0))throw new Error("Initialize PAGFile data not be empty!");const t=new Uint8Array(e),n=r._PAGFile._Load(t);if(!n)throw new Error("Load PAGFile fail!");return new M(n)}static maxSupportedTagLevel(){return r._PAGFile._MaxSupportedTagLevel()}tagLevel(){return this.wasmIns._tagLevel()}numTexts(){return this.wasmIns._numTexts()}numImages(){return this.wasmIns._numImages()}numVideos(){return this.wasmIns._numVideos()}getTextData(e){return this.wasmIns._getTextData(e)}replaceText(e,t){this.wasmIns._replaceText(e,t)}replaceImage(e,t){this.wasmIns._replaceImage(e,t.wasmIns)}getLayersByEditableIndex(e,t){const r=this.wasmIns._getLayersByEditableIndex(e,t);if(!r)throw new Error(`Get ${(e=>{switch(e){case u.Solid:return"Solid";case u.Text:return"Text";case u.Shape:return"Shape";case u.Image:return"Image";case u.PreCompose:return"PreCompose";default:return"Unknown"}})(t)} layers by ${e} fail!`);return b(r,E)}getEditableIndices(e){return this.wasmIns._getEditableIndices(e)}timeStretchMode(){return this.wasmIns._timeStretchMode()}setTimeStretchMode(e){this.wasmIns._setTimeStretchMode(e)}setDuration(e){this.wasmIns._setDuration(e)}copyOriginal(){const e=this.wasmIns._copyOriginal();if(!e)throw new Error("Copy original fail!");return new M(e)}};$([a],M,"load",1),M=$([s,n],M);var G=Object.defineProperty,R=Object.getOwnPropertyDescriptor;let B=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}static fromCanvas(e){const t=r._PAGSurface._FromCanvas(e);if(!t)throw new Error(`Make PAGSurface from canvas ${e} fail!`);return new B(t)}static fromTexture(e,t,n,a){const s=r._PAGSurface._FromTexture(e,t,n,a);if(!s)throw new Error(`Make PAGSurface from texture ${e} fail!`);return new B(s)}static fromRenderTarget(e,t,n,a){const s=r._PAGSurface._FromRenderTarget(e,t,n,a);if(!s)throw new Error(`Make PAGSurface from frameBuffer ${e} fail!`);return new B(s)}width(){return this.wasmIns._width()}height(){return this.wasmIns._height()}updateSize(){this.wasmIns._updateSize()}clearAll(){return this.wasmIns._clearAll()}freeCache(){this.wasmIns._freeCache()}readPixels(e,t){if(e===m.Unknown)return null;const r=this.wasmIns._width()*(e===m.ALPHA_8?1:4);return this.wasmIns._readPixels(e,t,r)}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};B=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?R(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&G(t,r,s),s})([s,n],B);var O=Object.defineProperty,j=Object.getOwnPropertyDescriptor,N=(e,t,r,n)=>{for(var a,s=n>1?void 0:n?j(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&O(t,r,s),s};let V=class{constructor(e){this.isDestroyed=!1,this.videoReaders=[],this.wasmIns=e}static create(){const e=new r._PAGPlayer;if(!e)throw new Error("Create PAGPlayer fail!");return new V(e)}setProgress(e){this.wasmIns._setProgress(e)}async flush(){return r.webAssemblyQueue.exec(this.wasmIns._flush,this.wasmIns)}async flushInternal(e){const t=await r.webAssemblyQueue.exec((async()=>{r.currentPlayer=this;const t=await this.wasmIns._flush();return r.currentPlayer=null,e(t),t}),this.wasmIns);for(const e of this.videoReaders){const t=await e.getError();if(null!==t)throw t}return t}duration(){return this.wasmIns._duration()}getProgress(){return this.wasmIns._getProgress()}currentFrame(){return this.wasmIns._currentFrame()}videoEnabled(){return this.wasmIns._videoEnabled()}setVideoEnabled(e){this.wasmIns._setVideoEnabled(e)}cacheEnabled(){return this.wasmIns._cacheEnabled()}setCacheEnabled(e){this.wasmIns._setCacheEnabled(e)}cacheScale(){return this.wasmIns._cacheScale()}setCacheScale(e){this.wasmIns._setCacheScale(e)}maxFrameRate(){return this.wasmIns._maxFrameRate()}setMaxFrameRate(e){this.wasmIns._setMaxFrameRate(e)}scaleMode(){return this.wasmIns._scaleMode()}setScaleMode(e){this.wasmIns._setScaleMode(e)}setSurface(e){this.wasmIns._setSurface(x(e))}getComposition(){const e=this.wasmIns._getComposition();if(!e)throw new Error("Get composition fail!");return e._isPAGFile()?new M(e):new S(e)}setComposition(e){this.wasmIns._setComposition(x(e))}getSurface(){const e=this.wasmIns._getSurface();if(!e)throw new Error("Get surface fail!");return new B(e)}matrix(){const e=this.wasmIns._matrix();if(!e)throw new Error("Get matrix fail!");return new v(e)}setMatrix(e){this.wasmIns._setMatrix(e.wasmIns)}nextFrame(){this.wasmIns._nextFrame()}preFrame(){this.wasmIns._preFrame()}autoClear(){return this.wasmIns._autoClear()}setAutoClear(e){this.wasmIns._setAutoClear(e)}getBounds(e){return this.wasmIns._getBounds(e.wasmIns)}getLayersUnderPoint(e,t){const r=this.wasmIns._getLayersUnderPoint(e,t);if(!r)throw new Error(`Get layers under point, x: ${e} y:${t} fail!`);return b(r,E)}hitTestPoint(e,t,r,n=!1){return this.wasmIns._hitTestPoint(e.wasmIns,t,r,n)}renderingTime(){return this.wasmIns._renderingTime()}imageDecodingTime(){return this.wasmIns._imageDecodingTime()}presentingTime(){return this.wasmIns._presentingTime()}graphicsMemory(){return this.wasmIns._graphicsMemory()}prepare(){return r.webAssemblyQueue.exec((async()=>{r.currentPlayer=this,await this.wasmIns._prepare(),r.currentPlayer=null}),this.wasmIns)}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}linkVideoReader(e){this.videoReaders.push(e)}unlinkVideoReader(e){const t=this.videoReaders.indexOf(e);-1!==t&&this.videoReaders.splice(t,1)}};N([a],V.prototype,"flush",1),N([a],V.prototype,"flushInternal",1),V=N([s,n],V);var W=Object.defineProperty,U=Object.getOwnPropertyDescriptor,H=(e,t,r,n)=>{for(var a,s=n>1?void 0:n?U(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&W(t,r,s),s};let z=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}static async fromFile(e){return new Promise(((t,r)=>{const n=new Image;n.onload=async()=>{t(z.fromSource(n))},n.onerror=e=>{r(e)},n.src=URL.createObjectURL(e)}))}static fromSource(e){const t=r._PAGImage._FromNativeImage(e);if(!t)throw new Error("Make PAGImage from source fail!");return new z(t)}static fromPixels(e,t,n,a,s){const i=t*(a===m.ALPHA_8?1:4),o=r._PAGImage._FromPixels(e,t,n,i,a,s);if(!o)throw new Error("Make PAGImage from pixels fail!");return new z(o)}static fromTexture(e,t,n,a){const s=r._PAGImage._FromTexture(e,t,n,a);if(!s)throw new Error("Make PAGImage from texture fail!");return new z(s)}width(){return this.wasmIns._width()}height(){return this.wasmIns._height()}scaleMode(){return this.wasmIns._scaleMode()}setScaleMode(e){this.wasmIns._setScaleMode(e)}matrix(){const e=this.wasmIns._matrix();if(!e)throw new Error("Get matrix fail!");return new v(e)}setMatrix(e){this.wasmIns._setMatrix(e.wasmIns)}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};H([a],z,"fromFile",1),z=H([s,n],z);class X{constructor(){this.listenerMap=new Map}on(e,t){let r=[];this.listenerMap.has(e)&&(r=this.listenerMap.get(e)),r.push(t),this.listenerMap.set(e,r)}off(e,t){if(!this.listenerMap.has(e))return!1;const r=this.listenerMap.get(e);if(0===r.length)return!1;if(!t)return this.listenerMap.delete(e),!0;const n=r.indexOf(t);return-1!==n&&(r.splice(n,1),!0)}emit(e,t){if(!this.listenerMap.has(e))return!1;const r=this.listenerMap.get(e);return 0!==r.length&&(r.forEach((e=>e(t))),!0)}}const q=2560,J={depth:!1,stencil:!1,antialias:!1};class K{constructor(e,t=!1){this.isDestroyed=!1,this.oldHandle=0,this.handle=e,this.externallyOwned=t}static from(e){if(e instanceof K)return new K(e.handle,!0);{const t=C(e,globalThis.WebGL2RenderingContext)?2:1,{GL:n}=r;let a=0;return n.contexts.length>0&&(a=n.contexts.findIndex((t=>t?.GLctx===e))),a<1?(a=n.registerContext(e,{majorVersion:t,minorVersion:0,...J}),new K(a)):new K(a,!0)}}getContext(){return r.GL.getContext(this.handle).GLctx}makeCurrent(){return!this.isDestroyed&&(this.oldHandle=r.GL.currentContext?.handle||0,this.oldHandle===this.handle||r.GL.makeContextCurrent(this.handle))}clearCurrent(){this.isDestroyed||this.oldHandle!==this.handle&&(r.GL.makeContextCurrent(0),this.oldHandle&&r.GL.makeContextCurrent(this.oldHandle))}registerTexture(e){return this.register(r.GL.textures,e)}getTexture(e){return r.GL.textures[e]}unregisterTexture(e){r.GL.textures[e]=null}registerRenderTarget(e){return this.register(r.GL.framebuffers,e)}getRenderTarget(e){return r.GL.framebuffers[e]}unregisterRenderTarget(e){r.GL.framebuffers[e]=null}destroy(){this.externallyOwned||r.GL.deleteContext(this.handle)}register(e,t){const n=r.GL.getNewId(e);return e[n]=t,n}}const Q=[];class Y{constructor(e,t){this._canvas=null,this._glContext=null,this.retainCount=0,this._canvas=e;const r=e.getContext("webgl",{...J,...t});if(!r)throw new Error("Canvas context is not WebGL!");this._glContext=K.from(r)}static from(e,t){let r=Q.find((t=>t.canvas===e));return r||(r=new Y(e,t),Q.push(r),r)}retain(){this.retainCount+=1}release(){if(this.retainCount-=1,0===this.retainCount){if(!this._glContext)return;this._glContext.destroy(),this._glContext=null,this._canvas=null}}get canvas(){return this._canvas}get glContext(){return this._glContext}}let Z;try{Z=performance.now.bind(performance)}catch(e){Z=Date.now.bind(Date)}class ee{constructor(){this.startTime=Z(),this.markers={}}reset(){this.startTime=Z(),this.markers={}}mark(e){e?Object.keys(this.markers).find((t=>t===e))?console.log(`Clock.mark(): The specified marker name '${e}' already exists!`):this.markers[e]=Z():console.log("Clock.mark(): An empty marker name was specified!")}measure(e,t){let r,n;if(e){if(!Object.keys(this.markers).find((t=>t===e)))return console.log(`Clock.measure(): The specified makerFrom '${e}' does not exist!`),0;r=this.markers[e]}else r=this.startTime;if(t){if(!Object.keys(this.markers).find((e=>e===t)))return console.log(`Clock.measure(): The specified makerTo '${t}' does not exist!`),0;n=this.markers[t]}else n=Z();return n-r}}const te=navigator?.userAgent||"",re=/android|adr/i.test(te),ne=/(mobile)/i.test(te)&&re;!/(mobile)/i.test(te)&&!ne&&/Mac OS X/i.test(te);const ae=/(iphone|ipad|ipod)/i.test(te),se=/MicroMessenger/i.test(te),ie=/^((?!chrome|android).)*safari/i.test(te)||ae,oe="function"==typeof globalThis.importScripts,le=(e,t)=>void 0!==t&&e instanceof t,ce=navigator?.userAgent||"",ue=/android|adr/i.test(ce),de=/(mobile)/i.test(ce)&&ue;!/(mobile)/i.test(ce)&&!de&&/Mac OS X/i.test(ce);const he=/(iphone|ipad|ipod)/i.test(ce);/MicroMessenger/i.test(ce);const fe=/^((?!chrome|android).)*safari/i.test(ce)||he,me="function"==typeof globalThis.importScripts,pe=new Array,ge=e=>le(e,globalThis.OffscreenCanvas),we=(e,t)=>{let r=pe.pop()||ve();return null!==r&&(r.width=e,r.height=t),r},ye=e=>{pe.length<10&&pe.push(e)},ve=()=>{if(fe&&!me)return document.createElement("canvas");try{const e=new OffscreenCanvas(0,0);return"function"==typeof e.getContext("2d").measureText?e:document.createElement("canvas")}catch(e){return document.createElement("canvas")}};var _e=Object.defineProperty,be=Object.getOwnPropertyDescriptor;let Ee=class{constructor(e,t){this.repeatCount=0,this.isPlaying=!1,this.isDestroyed=!1,this.pagViewOptions={useScale:!0,useCanvas2D:!1,firstFrame:!0},this.renderCanvas=null,this.pagGlContext=null,this.frameRate=0,this.pagSurface=null,this.playFrame=-1,this.timer=null,this.flushingNextFrame=!1,this.playTime=0,this.startTime=0,this.repeatedTimes=0,this.eventManager=new X,this.rawWidth=0,this.rawHeight=0,this.debugData={FPS:0,flushTime:0},this.fpsBuffer=[],this.player=e,this.canvasElement=t}static async init(e,t,n={}){let a=null;if("string"==typeof t?a=document.getElementById(t.substr(1)):("undefined"!=typeof window&&C(t,globalThis.HTMLCanvasElement)||ge(t))&&(a=t),!a)throw new Error("Canvas is not found!");const s=r.PAGPlayer.create(),i=new Ee(s,a);return i.pagViewOptions={...i.pagViewOptions,...n},i.pagViewOptions.useCanvas2D?(r.globalCanvas.retain(),i.pagGlContext=K.from(r.globalCanvas.glContext)):(i.renderCanvas=Y.from(a),i.renderCanvas.retain(),i.pagGlContext=K.from(i.renderCanvas.glContext)),i.resetSize(i.pagViewOptions.useScale),i.frameRate=e.frameRate(),i.pagSurface=this.makePAGSurface(i.pagGlContext,i.rawWidth,i.rawHeight),i.player.setSurface(i.pagSurface),i.player.setComposition(e),i.setProgress(0),i.pagViewOptions.firstFrame&&(await i.flush(),i.playFrame=0),i}static makePAGSurface(e,t,r){if(!e.makeCurrent())throw new Error("Make context current fail!");const n=B.fromRenderTarget(0,t,r,!0);return e.clearCurrent(),n}duration(){return this.player.duration()}addListener(e,t){return this.eventManager.on(e,t)}removeListener(e,t){return this.eventManager.off(e,t)}async play(){if(this.isPlaying)return;this.isPlaying=!0,this.startTime=1e3*this.getNowTime()-this.playTime;for(const e of this.player.videoReaders)e.isPlaying=!0;const e=this.playTime;await this.flushLoop(!0),0===e&&this.eventManager.emit("onAnimationStart",this),this.eventManager.emit("onAnimationPlay",this),0===this.playFrame&&this.eventManager.emit("onAnimationUpdate",this)}pause(){if(this.isPlaying){this.clearTimer();for(const e of this.player.videoReaders)e.pause();this.isPlaying=!1,this.eventManager.emit("onAnimationPause",this)}}async stop(e=!0){this.clearTimer(),this.playTime=0,this.player.setProgress(0),this.playFrame=0,await this.flush();for(const e of this.player.videoReaders)e.stop();this.isPlaying=!1,e&&this.eventManager.emit("onAnimationCancel",this)}setRepeatCount(e){this.repeatCount=e<0?0:e-1}getProgress(){return this.player.getProgress()}currentFrame(){return this.player.currentFrame()}setProgress(e){return this.playTime=e*this.duration(),this.startTime=1e3*this.getNowTime()-this.playTime,this.isPlaying||this.player.setProgress(e),e}videoEnabled(){return this.player.videoEnabled()}setVideoEnabled(e){this.player.setVideoEnabled(e)}cacheEnabled(){return this.player.cacheEnabled()}setCacheEnabled(e){this.player.setCacheEnabled(e)}cacheScale(){return this.player.cacheScale()}setCacheScale(e){this.player.setCacheScale(e)}maxFrameRate(){return this.player.maxFrameRate()}setMaxFrameRate(e){this.player.setMaxFrameRate(e)}scaleMode(){return this.player.scaleMode()}setScaleMode(e){this.player.setScaleMode(e)}async flush(){const e=new ee,t=await this.player.flushInternal((t=>{if(this.pagViewOptions.useCanvas2D&&t&&r.globalCanvas.canvas){this.canvasContext||(this.canvasContext=this.canvasElement?.getContext("2d"));const e=this.canvasContext.globalCompositeOperation;this.canvasContext.globalCompositeOperation="copy",this.canvasContext?.drawImage(r.globalCanvas.canvas,0,r.globalCanvas.canvas.height-this.rawHeight,this.rawWidth,this.rawHeight,0,0,this.canvasContext.canvas.width,this.canvasContext.canvas.height),this.canvasContext.globalCompositeOperation=e}e.mark("flush"),this.setDebugData({flushTime:e.measure("","flush")}),this.updateFPS()}));return this.eventManager.emit("onAnimationUpdate",this),t&&this.eventManager.emit("onAnimationFlushed",this),t}freeCache(){this.pagSurface?.freeCache()}getComposition(){return this.player.getComposition()}setComposition(e){this.player.setComposition(e)}matrix(){return this.player.matrix()}setMatrix(e){this.player.setMatrix(e)}getLayersUnderPoint(e,t){return this.player.getLayersUnderPoint(e,t)}updateSize(){if(!this.canvasElement)throw new Error("Canvas element is not found!");if(this.rawWidth=this.canvasElement.width,this.rawHeight=this.canvasElement.height,!this.pagGlContext)return;const e=Ee.makePAGSurface(this.pagGlContext,this.rawWidth,this.rawHeight);this.player.setSurface(e),this.pagSurface?.destroy(),this.pagSurface=e}prepare(){return this.player.prepare()}makeSnapshot(){return createImageBitmap(this.canvasElement)}destroy(){this.clearTimer(),this.player.destroy(),this.pagSurface?.destroy(),this.pagViewOptions.useCanvas2D?r.globalCanvas.release():this.renderCanvas?.release(),this.pagGlContext?.destroy(),this.pagGlContext=null,this.canvasContext=null,this.canvasElement=null,this.isDestroyed=!0}getDebugData(){return this.debugData}setDebugData(e){this.debugData={...this.debugData,...e}}async flushLoop(e=!1){if(this.isPlaying&&(this.setTimer(),!this.flushingNextFrame))try{this.flushingNextFrame=!0,await this.flushNextFrame(e),this.flushingNextFrame=!1}catch(e){throw this.flushingNextFrame=!1,"The play() request was interrupted because the document was hidden!"!==e.message&&this.clearTimer(),e}}async flushNextFrame(e=!1){const t=this.duration();this.playTime=1e3*this.getNowTime()-this.startTime;const r=Math.floor(this.playTime/1e6*this.frameRate),n=Math.floor(this.playTime/t);if(!e&&this.repeatCount>=0&&n>this.repeatCount)return this.clearTimer(),this.player.setProgress(1),await this.flush(),this.playTime=0,this.isPlaying=!1,this.repeatedTimes=0,this.eventManager.emit("onAnimationEnd",this),!0;if(!e&&this.repeatedTimes===n&&this.playFrame===r)return!1;this.repeatedTimes<n&&this.eventManager.emit("onAnimationRepeat",this),this.player.setProgress(this.playTime%t/t);const a=await this.flush();return this.needResetStartTime()&&(this.startTime=1e3*this.getNowTime()-this.playTime),this.playFrame=r,this.repeatedTimes=n,a}getNowTime(){try{return performance.now()}catch(e){return Date.now()}}setTimer(){this.timer=oe?self.setTimeout((()=>{this.flushLoop()}),1/this.frameRate*1e3):globalThis.requestAnimationFrame((()=>{this.flushLoop()}))}clearTimer(){this.timer&&(oe?self.clearTimeout(this.timer):globalThis.cancelAnimationFrame(this.timer),this.timer=null)}resetSize(e=!0){if(!this.canvasElement)throw new Error("Canvas element is not found!");if(!e||ge(this.canvasElement))return this.rawWidth=this.canvasElement.width,void(this.rawHeight=this.canvasElement.height);const t=this.canvasElement,r=(e=>{const t=globalThis.getComputedStyle(e,null),r={width:Number(t.width.replace("px","")),height:Number(t.height.replace("px",""))};if(r.width>0&&r.height>0)return r;{const t={width:Number(e.style.width.replace("px","")),height:Number(e.style.height.replace("px",""))};return t.width>0&&t.height>0?t:{width:e.width,height:e.height}}})(t);t.style.width=`${r.width}px`,t.style.height=`${r.height}px`,this.rawWidth=r.width*globalThis.devicePixelRatio,this.rawHeight=r.height*globalThis.devicePixelRatio,t.width=this.rawWidth,t.height=this.rawHeight}updateFPS(){let e;try{e=performance.now()}catch(t){e=Date.now()}this.fpsBuffer=this.fpsBuffer.filter((t=>e-t<=1e3)),this.fpsBuffer.push(e),this.setDebugData({FPS:this.fpsBuffer.length})}needResetStartTime(){for(const e of this.player.videoReaders)if(e.isSought)return!0;return!1}};Ee=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?be(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&_e(t,r,s),s})([s],Ee);const xe=["emoji"].concat(...["Arial",'"Courier New"',"Georgia",'"Times New Roman"','"Trebuchet MS"',"Verdana"]);var Ce=Object.defineProperty,Pe=Object.getOwnPropertyDescriptor,Ae=(e,t,r,n)=>{for(var a,s=n>1?void 0:n?Pe(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&Ce(t,r,s),s};let Te=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e,this.fontFamily=this.wasmIns.fontFamily,this.fontStyle=this.wasmIns.fontStyle}static create(e,t){const n=r._PAGFont._create(e,t);if(!n)throw new Error("Create PAGFont fail!");return new Te(n)}static async registerFont(e,t){const r=await F(t);if(!(r&&r.byteLength>0))throw new Error("Initialize PAGFont data not be empty!");const n=new Uint8Array(r),a=new FontFace(e,n);document.fonts.add(a),await a.load()}static registerFallbackFontNames(e=[]){const t=new r.VectorString,n=e.concat(xe);for(const e of n)t.push_back(e);r._PAGFont._SetFallbackFontNames(t),t.delete()}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};Ae([a],Te,"registerFont",1),Te=Ae([s,n],Te);let Ie={};const ke=(e,t,r,n=!1)=>{t in Ie||(Ie[t]=[]),Ie[t]?.push({node:e,handler:r,capture:n}),e.addEventListener(t,r,n)},Se=(e,t,r)=>{t in Ie&&Ie[t]?.filter((({node:t,handler:n})=>t===e&&n===r)).forEach((({node:e,handler:r,capture:n})=>e.removeEventListener(t,r,n)))},Fe=(e,t)=>{t in Ie&&(Ie[t]?.filter((({node:t})=>t===e)).forEach((({node:e,handler:r,capture:n})=>e.removeEventListener(t,r,n))),Ie[t]=Ie[t]?.filter((({node:t})=>t!==e)))};var Le=(e=>(e.PAGInit="PAGInit",e.PAGView_init="PAGView.init",e.PAGView_duration="PAGView.duration",e.PAGView_play="PAGView.play",e.PAGView_pause="PAGView.pause",e.PAGView_stop="PAGView.stop",e.PAGView_setRepeatCount="PAGView.setRepeatCount",e.PAGView_getProgress="PAGView.getProgress",e.PAGView_currentFrame="PAGView.currentFrame",e.PAGView_setProgress="PAGView.setProgress",e.PAGView_scaleMode="PAGView.scaleMode",e.PAGView_setScaleMode="PAGView.setScaleMode",e.PAGView_flush="PAGView.flush",e.PAGView_getDebugData="PAGView.getDebugData",e.PAGView_destroy="PAGView.destroy",e.PAGFile_load="PAGFile.load",e.PAGFile_getTextData="PAGFile.getTextData",e.PAGFile_replaceText="PAGFile.replaceText",e.PAGFile_replaceImage="PAGFile.replaceImage",e.PAGFile_destroy="PAGFile.destroy",e.PAGImage_fromSource="PAGImage.fromSource",e.PAGImage_destroy="PAGImage.destroy",e.VideoReader_constructor="VideoReader.constructor",e.VideoReader_prepare="VideoReader.prepare",e.VideoReader_play="VideoReader.play",e.VideoReader_pause="VideoReader.pause",e.VideoReader_stop="VideoReader.stop",e.VideoReader_getError="VideoReader.getError",e.PAGModule_linkVideoReader="PAGModule.linkVideoReader",e.TextDocument_delete="TextDocument.delete",e))(Le||{});let De=0;const $e=(e,t,r,n=[])=>new Promise((a=>{const s=(e=>`${e}_${De++}`)(t.name),i=t=>{t.data.name===s&&(e.removeEventListener("message",i),a(r(...t.data.args)))};e.addEventListener("message",i),e.postMessage({name:s,args:t.args},n)}));class Me{constructor(e){this.bitmap=e}setBitmap(e){this.bitmap&&this.bitmap.close(),this.bitmap=e}}class Ge{constructor(e){this.bitmap=null,this.isSought=!1,this.isPlaying=!1,this.bitmapImage=new Me(null),this.proxyId=e}prepare(e,t){return new Promise((r=>{$e(self,{name:Le.VideoReader_prepare,args:[this.proxyId,e,t]},(e=>{this.bitmapImage.setBitmap(e),r()}))}))}getVideo(){return this.bitmapImage}onDestroy(){self.postMessage({name:"VideoReader.onDestroy",args:[this.proxyId]})}play(){return new Promise((e=>{$e(self,{name:Le.VideoReader_play,args:[this.proxyId]},(()=>{e()}))}))}pause(){$e(self,{name:Le.VideoReader_pause,args:[this.proxyId]},(()=>{}))}stop(){$e(self,{name:Le.VideoReader_stop,args:[this.proxyId]},(()=>{}))}getError(){return new Promise((e=>{$e(self,{name:Le.VideoReader_getError,args:[this.proxyId]},(t=>{e(t)}))}))}}const Re=e=>new Promise((t=>{const r=()=>{Se(e,"canplay",r),clearTimeout(n),t(!0)};ke(e,"canplay",r);const n=setTimeout((()=>{Se(e,"canplay",r),t(!1)}),1e3)}));class Be{constructor(e,t,n,a,s,i=!1){if(this.isSought=!1,this.isPlaying=!1,this.bitmap=null,this.videoEl=null,this.frameRate=0,this.canplay=!1,this.staticTimeRanges=null,this.disablePlaybackRate=!1,this.error=null,this.player=null,this.width=0,this.height=0,this.bitmapCanvas=null,this.bitmapCtx=null,C(e,globalThis.HTMLVideoElement))this.videoEl=e,this.canplay=!0;else{this.videoEl=document.createElement("video"),this.videoEl.style.display="none",this.videoEl.muted=!0,this.videoEl.playsInline=!0,this.videoEl.preload="auto",this.videoEl.width=t,this.videoEl.height=n,Re(this.videoEl).then((()=>{this.canplay=!0}));const r=new Blob([e],{type:"video/mp4"});this.videoEl.src=URL.createObjectURL(r),ae&&this.videoEl.load()}this.frameRate=a,this.width=t,this.height=n,this.staticTimeRanges=new Oe(s),(3840<t||3840<n)&&(this.disablePlaybackRate=!0),i||this.linkPlayer(r.currentPlayer)}static async create(e,t,n,a,s){if(oe){const i=await new Promise((r=>{const i=e,o=i.buffer.slice(i.byteOffset,i.byteOffset+i.byteLength);$e(self,{name:Le.VideoReader_constructor,args:[o,t,n,a,s,!0]},(e=>{r(e)}),[o])})),o=new Ge(i);return r.currentPlayer?.linkVideoReader(o),o}return new Be(e,t,n,a,s)}async prepare(e,t){this.setError(null),this.isSought=!1;const{currentTime:r}=this.videoEl,n=e/this.frameRate;if(0===r&&0===n)if(this.canplay||ie){try{await this.play()}catch(e){this.setError(e)}await new Promise((e=>{requestAnimationFrame((()=>{this.pause(),e()}))}))}else await Re(this.videoEl);else if(Math.round(n*this.frameRate)===Math.round(r*this.frameRate));else{if(this.staticTimeRanges?.contains(e))return void await this.seek(n,!1);if(!(Math.abs(r-n)<1/this.frameRate*3))return this.isSought=!0,void await this.seek(n)}const a=Math.min(Math.max(t,.125),4);if(this.disablePlaybackRate||this.videoEl.playbackRate===a||(this.videoEl.playbackRate=a),this.isPlaying&&this.videoEl.paused)try{await this.play()}catch(e){this.setError(e)}}getVideo(){return this.videoEl}async generateBitmap(){return this.bitmapCanvas||(this.bitmapCanvas=new OffscreenCanvas(this.width,this.height),this.bitmapCanvas.width=this.width,this.bitmapCanvas.height=this.height,this.bitmapCtx=this.bitmapCanvas.getContext("2d")),this.bitmapCtx?.fillRect(0,0,this.width,this.height),this.bitmapCtx?.drawImage(this.videoEl,0,0,this.width,this.height),this.bitmap=await createImageBitmap(this.bitmapCanvas),this.bitmap}async play(){if(this.videoEl.paused){if(se&&window.WeixinJSBridge&&await new Promise((e=>{window.WeixinJSBridge.invoke("getNetworkType",{},(()=>{e()}),(()=>{e()}))})),"visible"!==document.visibilityState){const e=()=>{"visible"===document.visibilityState&&(this.videoEl&&this.videoEl.play(),window.removeEventListener("visibilitychange",e))};throw window.addEventListener("visibilitychange",e),new Error("The play() request was interrupted because the document was hidden!")}await(this.videoEl?.play())}}pause(){this.isPlaying=!1,this.videoEl.paused||this.videoEl?.pause()}stop(){this.isPlaying=!1,this.videoEl.paused||this.videoEl?.pause(),this.videoEl.currentTime=0}getError(){return this.error}onDestroy(){this.player&&this.player.unlinkVideoReader(this),Fe(this.videoEl,"playing"),Fe(this.videoEl,"timeupdate"),this.videoEl=null,this.bitmapCanvas=null,this.bitmapCtx=null}seek(e,t=!0){return new Promise(((r,n)=>{if(!this.videoEl)return void n(new Error("Video element is not initialized."));const a=()=>{Se(this.videoEl,"seeked",a),clearTimeout(i),t?this.videoEl?.play().catch((e=>{this.setError(e)})):t||this.videoEl.paused||this.videoEl?.pause(),r()},s=()=>{Se(this.videoEl,"canplay",s),this.videoEl.currentTime=e,ke(this.videoEl,"seeked",a)},i=setTimeout((()=>{Se(this.videoEl,"canplay",s),Se(this.videoEl,"seeked",a),n(new Error("Seek operation timed out."))}),1e3/this.frameRate*12);this.videoEl.readyState<HTMLMediaElement.HAVE_FUTURE_DATA?ke(this.videoEl,"canplay",s):(this.videoEl.currentTime=e,ke(this.videoEl,"seeked",a))}))}setError(e){this.error=e}linkPlayer(e){this.player=e,e&&e.linkVideoReader(this)}}class Oe{constructor(e){this.timeRanges=e}contains(e){if(0===this.timeRanges.length)return!1;for(let t of this.timeRanges)if(t.start<=e&&e<t.end)return!0;return!1}}class je{constructor(){this._canvas=null,this._glContext=null,this.width=q,this.height=q,this.retainCount=0}retain(){if(0===this.retainCount){try{this._canvas=new OffscreenCanvas(0,0)}catch(e){this._canvas=document.createElement("canvas")}this._canvas.width=this.width,this._canvas.height=this.height;const e=this._canvas.getContext("webgl",J);if(!e)throw new Error("Canvas context is not WebGL!");this._glContext=K.from(e)}this.retainCount+=1}release(){if(this.retainCount-=1,0===this.retainCount){if(!this._glContext)return;this._glContext.destroy(),this._glContext=null,this._canvas=null}}get canvas(){return this._canvas}get glContext(){return this._glContext}setCanvasSize(e=2560,t=2560){this.width=e,this.height=t,this._glContext&&this._canvas&&(this._canvas.width=e,this._canvas.height=t)}}var Ne=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor;let We=class extends T{static make(e,t,n=0,a="",s=""){return new We("string"==typeof t?r._PAGTextLayer._Make(e,t,n,a,s):r._PAGTextLayer._Make(e,t))}fillColor(){return this.wasmIns._fillColor()}setFillColor(e){this.wasmIns._setFillColor(e)}font(){return new Te(this.wasmIns._font())}setFont(e){this.wasmIns._setFont(e.wasmIns)}fontSize(){return this.wasmIns._fontSize()}setFontSize(e){this.wasmIns._setFontSize(e)}strokeColor(){return this.wasmIns._strokeColor()}setStrokeColor(e){this.wasmIns._setStrokeColor(e)}text(){return this.wasmIns._text()}setText(e){this.wasmIns._setText(e)}reset(){this.wasmIns._reset()}};We=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?Ve(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&Ne(t,r,s),s})([s,n],We);var Ue=Object.defineProperty,He=Object.getOwnPropertyDescriptor;let ze=class extends T{static make(e,t,n){const a=r._PAGImageLayer._Make(e,t,n);if(!a)throw new Error("Make PAGImageLayer fail!");return new ze(a)}contentDuration(){return this.wasmIns._contentDuration()}getVideoRanges(){return this.wasmIns._getVideoRanges()}replaceImage(e){this.wasmIns._replaceImage(e.wasmIns)}setImage(e){this.wasmIns._setImage(e.wasmIns)}layerTimeToContent(e){return this.wasmIns._layerTimeToContent(e)}contentTimeToLayer(e){return this.wasmIns._contentTimeToLayer(e)}imageBytes(){return this.wasmIns._imageBytes()}};ze=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?He(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&Ue(t,r,s),s})([s,n],ze);var Xe=Object.defineProperty,qe=Object.getOwnPropertyDescriptor;let Je=class extends T{static make(e,t,n,a,s){const i=r._PAGSolidLayer._Make(e,t,n,a,s);if(!i)throw new Error("Make PAGSolidLayer fail!");return new Je(i)}solidColor(){return this.wasmIns._solidColor()}setSolidColor(e){this.wasmIns._setSolidColor(e)}};Je=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?qe(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&Xe(t,r,s),s})([s,n],Je);let Ke;const Qe=e=>new Promise((t=>{const r=new Image;r.onload=function(){t(r)},r.onerror=function(){console.error("image create from bytes error."),t(null)},r.src=e}));var Ye=Object.freeze({__proto__:null,createImage:Qe,createImageFromBytes:e=>{const t=new Uint8Array(e),r=new Blob([t],{type:"image/*"});return Qe(URL.createObjectURL(r))},readImagePixels:(e,t,r,n)=>{if(!t)return null;const a=we(r,n),s=a.getContext("2d");if(!s)return null;s.drawImage(t,0,0,r,n);const{data:i}=s.getImageData(0,0,r,n);return ye(a),0===i.length?null:new Uint8Array(i)},hasWebpSupport:()=>{try{return 0===document.createElement("canvas").toDataURL("image/webp",.5).indexOf("data:image/webp")}catch(e){return!1}},getSourceSize:e=>le(e,globalThis.HTMLVideoElement)?{width:e.videoWidth,height:e.videoHeight}:{width:e.width,height:e.height},uploadToTexture:(e,t,r,n)=>{let a=t instanceof Me?t.bitmap:t;if(!a)return;const s=e.currentContext?.GLctx;s.bindTexture(s.TEXTURE_2D,e.textures[r]),n?(s.pixelStorei(s.UNPACK_ALIGNMENT,1),s.texSubImage2D(s.TEXTURE_2D,0,0,0,s.ALPHA,s.UNSIGNED_BYTE,a)):(s.pixelStorei(s.UNPACK_ALIGNMENT,4),s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),s.texSubImage2D(s.TEXTURE_2D,0,0,0,s.RGBA,s.UNSIGNED_BYTE,a),s.pixelStorei(s.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1))},isAndroidMiniprogram:()=>{if("undefined"!=typeof wx&&wx.getSystemInfoSync)return"android"===wx.getSystemInfoSync().platform},releaseNativeImage:e=>{var t;le(e,globalThis.ImageBitmap)?e.close():(ge(t=e)||le(t,globalThis.HTMLCanvasElement))&&ye(e)},getBytesFromPath:async(e,t)=>{const r=await fetch(t).then((e=>e.arrayBuffer()));return new Uint8Array(r)},createCanvas2D:we});var Ze=(e=>(e[e.a=0]="a",e[e.c=1]="c",e[e.tx=2]="tx",e[e.b=3]="b",e[e.d=4]="d",e[e.ty=5]="ty",e))(Ze||{}),et=Object.defineProperty,tt=Object.getOwnPropertyDescriptor;let rt=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}get a(){return this.wasmIns?this.wasmIns._get(Ze.a):0}set a(e){this.wasmIns?._set(Ze.a,e)}get b(){return this.wasmIns?this.wasmIns._get(Ze.b):0}set b(e){this.wasmIns?._set(Ze.b,e)}get c(){return this.wasmIns?this.wasmIns._get(Ze.c):0}set c(e){this.wasmIns?._set(Ze.c,e)}get d(){return this.wasmIns?this.wasmIns._get(Ze.d):0}set d(e){this.wasmIns?._set(Ze.d,e)}get tx(){return this.wasmIns?this.wasmIns._get(Ze.tx):0}set tx(e){this.wasmIns?._set(Ze.tx,e)}get ty(){return this.wasmIns?this.wasmIns._get(Ze.ty):0}set ty(e){this.wasmIns?._set(Ze.ty,e)}get(e){return this.wasmIns?this.wasmIns._get(e):0}set(e,t){this.wasmIns?._set(e,t)}destroy(){this.wasmIns.delete()}};rt=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?tt(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&et(t,r,s),s})([function(e){let t=Object.getOwnPropertyNames(e.prototype).filter((t=>"constructor"!==t&&"function"==typeof e.prototype[t]));const r=(t,r)=>{const n=t[r];t[r]=function(...t){if(!this.isDestroyed)return n.call(this,...t);console.error(`Don't call ${r} of the ${e.name} that is destroyed.`)}};t.forEach((t=>r(e.prototype,t)))},function(e){const t=["length","name","prototype","wasmAsyncMethods"];let r=Object.getOwnPropertyNames(e).filter((e=>-1===t.indexOf(e)));e.wasmAsyncMethods&&e.wasmAsyncMethods.length>0&&(r=r.filter((t=>-1===e.wasmAsyncMethods.indexOf(t))));let n=Object.getOwnPropertyNames(e.prototype).filter((t=>"constructor"!==t&&"function"==typeof e.prototype[t]));e.prototype.wasmAsyncMethods&&e.prototype.wasmAsyncMethods.length>0&&(n=n.filter((t=>-1===e.prototype.wasmAsyncMethods.indexOf(t))));const a=(e,t)=>{const r=e[t];e[t]=function(...e){if(null!==Ke.Asyncify.currData){const t=Ke.Asyncify.currData;Ke.Asyncify.currData=null;const n=r.call(this,...e);return Ke.Asyncify.currData=t,n}return r.call(this,...e)}};r.forEach((t=>a(e,t))),n.forEach((t=>a(e.prototype,t)))}],rt);const nt=e=>{const t=new Int32Array(e.data.buffer);let r=at(t,e.width,e.height),n=st(t,e.width,e.height),a=it(t,e.width,e.height),s=ot(t,e.width,e.height);return(r>a||n>s)&&(r=0,n=0,a=0,s=0),{left:r,top:n,right:a,bottom:s}},at=(e,t,r)=>{const n=e.length/t,a=e.length/r;for(let r=0;r<a;r++)for(let a=0;a<n;a++)if(0!==e[r+a*t])return r;return a},st=(e,t,r)=>{const n=e.length/t,a=e.length/r;for(let r=0;r<n;r++)for(let n=0;n<a;n++)if(0!==e[r*t+n])return r;return n},it=(e,t,r)=>{const n=e.length/t;for(let a=e.length/r-1;a>0;a--)for(let r=n-1;r>0;r--)if(0!==e[a+t*r])return a;return 0},ot=(e,t,r)=>{const n=e.length/t,a=e.length/r;for(let r=n-1;r>0;r--)for(let n=a-1;n>0;n--)if(0!==e[r*t+n])return r;return 0},lt=class{constructor(e,t,r){this.fontBoundingBoxMap=[],this.fontName=e,this.fontStyle=t,this.size=r,this.loadCanvas()}static setCanvas(e){lt.canvas=e}static setContext(e){lt.context=e}static isUnicodePropertyEscapeSupported(){try{new RegExp("\\p{L}","u");return!0}catch(e){return!1}}static isEmoji(e){let t;return t=this.isUnicodePropertyEscapeSupported()?/\p{Extended_Pictographic}|[#*0-9]\uFE0F?\u20E3|[\uD83C\uDDE6-\uD83C\uDDFF]/u:/(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/,t.test(e)}static measureDirectly(e){if(void 0===lt.hasMeasureBoundsAPI){const t=e.measureText("x");lt.hasMeasureBoundsAPI=t&&t.actualBoundingBoxAscent>0}return lt.hasMeasureBoundsAPI}fontString(e,t){const r=[];t&&r.push("italic"),e&&r.push("bold"),r.push(`${this.size}px`);const n=xe.concat();return n.unshift(...((e,t="")=>{if(!e)return[];const r=e.split(" ");let n=[];1===r.length?n.push(e):(n.push(r.join("")),n.push(r.join(" ")));const a=n.reduce(((e,r)=>(t?(e.push(`"${r} ${t}"`),e.push(`"${r}-${t}"`)):e.push(`"${r}"`),e)),[]);return""!==t&&a.push(`"${e}"`),a})(this.fontName,this.fontStyle)),r.push(`${n.join(",")}`),r.join(" ")}getFontMetrics(){if(this.fontMetrics)return this.fontMetrics;const{context:e}=lt;e.font=this.fontString(!1,!1);const t=this.measureText(e,"H"),r=t.actualBoundingBoxAscent,n=this.measureText(e,"x").actualBoundingBoxAscent;return this.fontMetrics={ascent:-t.fontBoundingBoxAscent,descent:t.fontBoundingBoxDescent,xHeight:n,capHeight:r},this.fontMetrics}getBounds(e,t,r){const{context:n}=lt;n.font=this.fontString(t,r);const a=this.measureText(n,e),s={left:Math.floor(-a.actualBoundingBoxLeft),top:Math.floor(-a.actualBoundingBoxAscent),right:Math.ceil(a.actualBoundingBoxRight),bottom:Math.ceil(a.actualBoundingBoxDescent)};return(s.left>=s.right||s.top>=s.bottom)&&(s.left=0,s.top=0,s.right=0,s.bottom=0),s}getAdvance(e){const{context:t}=lt;return t.font=this.fontString(!1,!1),t.measureText(e).width}generateImage(e,t){const r=we(t.right-t.left,t.bottom-t.top),n=r.getContext("2d");return n.font=this.fontString(!1,!1),n.fillText(e,-t.left,-t.top),r}loadCanvas(){lt.canvas||(lt.setCanvas(we(10,10)),lt.setContext(lt.canvas.getContext("2d",{willReadFrequently:!0})))}measureText(e,t){if(lt.measureDirectly(e))return e.measureText(t);e.canvas.width=1.5*this.size,e.canvas.height=1.5*this.size;const r=[0,this.size];e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,r[0],r[1]);const n=e.getImageData(0,0,e.canvas.width,e.canvas.height),{left:a,top:s,right:i,bottom:o}=nt(n);let l;e.clearRect(0,0,e.canvas.width,e.canvas.height);const c=this.fontBoundingBoxMap.find((e=>e.key===this.fontName));if(c)l=c.value;else{e.fillText("测",r[0],r[1]);const t=e.getImageData(0,0,e.canvas.width,e.canvas.height);l=nt(t),this.fontBoundingBoxMap.push({key:this.fontName,value:l}),e.clearRect(0,0,e.canvas.width,e.canvas.height)}return{actualBoundingBoxAscent:r[1]-s,actualBoundingBoxRight:i-r[0],actualBoundingBoxDescent:o-r[1],actualBoundingBoxLeft:r[0]-a,fontBoundingBoxAscent:l.bottom-l.top,fontBoundingBoxDescent:0,width:l.right-l.left}}};let ct=lt;ct.hasMeasureBoundsAPI=void 0;class ut{static create(e){return new ut(e)}static getLineCap(e){switch(e){case Ke.TGFXLineCap.Round:return"round";case Ke.TGFXLineCap.Square:return"square";default:return"butt"}}static getLineJoin(e){switch(e){case Ke.TGFXLineJoin.Round:return"round";case Ke.TGFXLineJoin.Bevel:return"bevel";default:return"miter"}}constructor(e){this.canvas=e,this.context=this.canvas.getContext("2d")}updateCanvas(e){this.canvas=e}fillPath(e,t){this.context.setTransform(1,0,0,1,0,0),t===Ke.TGFXPathFillType.InverseWinding||t===Ke.TGFXPathFillType.InverseEvenOdd?(this.context.clip(e,t===Ke.TGFXPathFillType.InverseEvenOdd?"evenodd":"nonzero"),this.context.fillRect(0,0,this.canvas.width,this.canvas.height)):this.context.fill(e,t===Ke.TGFXPathFillType.EvenOdd?"evenodd":"nonzero")}fillText(e,t,r,n){const a=new ct(e.name,e.style,e.size),s=new rt(n);this.context.setTransform(s.a,s.b,s.c,s.d,s.tx,s.ty),this.context.font=a.fontString(e.bold,e.italic);for(let e=0;e<t.size();e++){const n=r.get(e);this.context.fillText(t.get(e),n.x,n.y)}}strokeText(e,t,r,n,a){if(t.width<.5)return;const s=new ct(e.name,e.style,e.size),i=new rt(a);this.context.setTransform(i.a,i.b,i.c,i.d,i.tx,i.ty),this.context.font=s.fontString(e.bold,e.italic),this.context.lineJoin=ut.getLineJoin(t.join),this.context.miterLimit=t.miterLimit,this.context.lineCap=ut.getLineCap(t.cap),this.context.lineWidth=t.width;for(let e=0;e<r.size();e++){const t=n.get(e);this.context.strokeText(r.get(e),t.x,t.y)}}clear(){this.context.clearRect(0,0,this.canvas.width,this.canvas.height)}}const dt=e=>{(e=>{Ke=e})(e),e.module=e,e.ScalerContext=ct,e.WebMask=ut,e.Matrix=rt,e.tgfx={...Ye}},ht=e=>{dt(e),(e=>{r=e})(e),e.module=e,e.PAGFile=M,e.PAGPlayer=V,e.PAGView=Ee,e.PAGFont=Te,e.PAGImage=z,e.PAGLayer=T,e.PAGComposition=S,e.PAGSurface=B,e.PAGTextLayer=We,e.PAGImageLayer=ze,e.PAGSolidLayer=Je,e.VideoReader=Be,e.GlobalCanvas=je,e.BackendContext=K,e.Matrix=v,e.RenderCanvas=Y,(e=>{e.traceImage=function(e,t){const r=document.createElement("canvas");r.width=e.width,r.height=e.height;const n=r.getContext("2d"),a=new ImageData(new Uint8ClampedArray(t),r.width,r.height);n.putImageData(a,0,0),document.body.appendChild(r)},e.registerSoftwareDecoderFactory=function(t=null){e._registerSoftwareDecoderFactory(t)},e.SDKVersion=function(){return e._SDKVersion()},e.isIPhone=()=>ae})(e)};var ft,mt=Object.defineProperty,pt=(e,t,r)=>(((e,t,r)=>{t in e?mt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!=typeof t?t+"":t,r),r),gt=(ft="undefined"!=typeof document?document.currentScript?.src:void 0,async function(e={}){var t,r,n=e,a=new Promise(((e,n)=>{t=e,r=n})),s="object"==typeof window,i="undefined"!=typeof WorkerGlobalScope;"object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&process.type;var o,l,c=Object.assign({},n),u=(e,t)=>{throw t},d="";(s||i)&&(i?d=self.location.href:"undefined"!=typeof document&&document.currentScript&&(d=document.currentScript.src),ft&&(d=ft),d=d.startsWith("blob:")?"":d.substr(0,d.replace(/[?#].*/,"").lastIndexOf("/")+1),i&&(l=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),o=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)});var h=n.print||console.log.bind(console),f=n.printErr||console.error.bind(console);Object.assign(n,c),c=null,n.arguments&&n.arguments,n.thisProgram&&n.thisProgram;var m,p,g,w,y,v,_,b,E,x,C,P,A=n.wasmBinary,T=!1,I=e=>e.startsWith("data:application/octet-stream;base64,");function k(){var e=m.buffer;n.HEAP8=g=new Int8Array(e),n.HEAP16=y=new Int16Array(e),n.HEAPU8=w=new Uint8Array(e),n.HEAPU16=v=new Uint16Array(e),n.HEAP32=_=new Int32Array(e),n.HEAPU32=b=new Uint32Array(e),n.HEAPF32=E=new Float32Array(e),n.HEAPF64=P=new Float64Array(e),n.HEAP64=x=new BigInt64Array(e),n.HEAPU64=C=new BigUint64Array(e)}var S,F=[],L=[],D=[],$=0,M=null;function G(e){$++,n.monitorRunDependencies?.($)}function R(e){if($--,n.monitorRunDependencies?.($),0==$&&M){var t=M;M=null,t()}}function B(e){n.onAbort?.(e),f(e="Aborted("+e+")"),T=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw r(t),t}function O(){var e,t="libpag.wasm";return I(t)?t:(e=t,n.locateFile?n.locateFile(e,d):d+e)}async function j(e){if(!A)try{var t=await o(e);return new Uint8Array(t)}catch{}return function(e){if(e==S&&A)return new Uint8Array(A);if(l)return l(e);throw"both async and sync fetching of the wasm failed"}(e)}async function N(e,t,r){if(!e&&"function"==typeof WebAssembly.instantiateStreaming&&!I(t))try{var n=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,r)}catch(e){f(`wasm streaming compile failed: ${e}`),f("falling back to ArrayBuffer instantiation")}return async function(e,t){try{var r=await j(e);return await WebAssembly.instantiate(r,t)}catch(e){f(`failed to asynchronously prepare wasm: ${e}`),B(e)}}(t,r)}class V{constructor(e){pt(this,"name","ExitStatus"),this.message=`Program terminated with exit(${e})`,this.status=e}}var W=e=>{for(;e.length>0;)e.shift()(n)},U=n.noExitRuntime||!0;class H{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){b[this.ptr+4>>2]=e}get_type(){return b[this.ptr+4>>2]}set_destructor(e){b[this.ptr+8>>2]=e}get_destructor(){return b[this.ptr+8>>2]}set_caught(e){e=e?1:0,g[this.ptr+12]=e}get_caught(){return 0!=g[this.ptr+12]}set_rethrown(e){e=e?1:0,g[this.ptr+13]=e}get_rethrown(){return 0!=g[this.ptr+13]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){b[this.ptr+16>>2]=e}get_adjusted_ptr(){return b[this.ptr+16>>2]}}var z=()=>{var e=_[+de.varargs>>2];return de.varargs+=4,e},X=z,q={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 a=e[n];"."===a?e.splice(n,1):".."===a?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=q.isAbs(e),r="/"===e.substr(-1);return(e=q.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=q.splitPath(e),r=t[0],n=t[1];return r||n?(n&&(n=n.substr(0,n.length-1)),r+n):"."},basename:e=>e&&e.match(/([^\/]+|\/)\/*$/)[1],join:(...e)=>q.normalize(e.join("/")),join2:(e,t)=>q.normalize(e+"/"+t)},J=e=>{(J=e=>crypto.getRandomValues(e))(e)},K={resolve:(...e)=>{for(var t="",r=!1,n=e.length-1;n>=-1&&!r;n--){var a=n>=0?e[n]:ce.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");if(!a)return"";t=a+"/"+t,r=q.isAbs(a)}return(r?"/":"")+(t=q.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=K.resolve(e).substr(1),t=K.resolve(t).substr(1);for(var n=r(e.split("/")),a=r(t.split("/")),s=Math.min(n.length,a.length),i=s,o=0;o<s;o++)if(n[o]!==a[o]){i=o;break}var l=[];for(o=i;o<n.length;o++)l.push("..");return(l=l.concat(a.slice(i))).join("/")}},Q="undefined"!=typeof TextDecoder?new TextDecoder:void 0,Y=(e,t=0,r=NaN)=>{for(var n=t+r,a=t;e[a]&&!(a>=n);)++a;if(a-t>16&&e.buffer&&Q)return Q.decode(e.subarray(t,a));for(var s="";t<a;){var i=e[t++];if(128&i){var o=63&e[t++];if(192!=(224&i)){var l=63&e[t++];if((i=224==(240&i)?(15&i)<<12|o<<6|l:(7&i)<<18|o<<12|l<<6|63&e[t++])<65536)s+=String.fromCharCode(i);else{var c=i-65536;s+=String.fromCharCode(55296|c>>10,56320|1023&c)}}else s+=String.fromCharCode((31&i)<<6|o)}else s+=String.fromCharCode(i)}return s},Z=[],ee=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},te=(e,t,r,n)=>{if(!(n>0))return 0;for(var a=r,s=r+n-1,i=0;i<e.length;++i){var o=e.charCodeAt(i);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++i)),o<=127){if(r>=s)break;t[r++]=o}else if(o<=2047){if(r+1>=s)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=s)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=s)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o}}return t[r]=0,r-a};function re(e,t,r){var n=r>0?r:ee(e)+1,a=new Array(n),s=te(e,a,0,a.length);return t&&(a.length=s),a}var ne={ttys:[],init(){},shutdown(){},register(e,t){ne.ttys[e]={input:[],output:[],ops:t},ce.registerDevice(e,ne.stream_ops)},stream_ops:{open(e){var t=ne.ttys[e.node.rdev];if(!t)throw new ce.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,a){if(!e.tty||!e.tty.ops.get_char)throw new ce.ErrnoError(60);for(var s=0,i=0;i<n;i++){var o;try{o=e.tty.ops.get_char(e.tty)}catch(e){throw new ce.ErrnoError(29)}if(void 0===o&&0===s)throw new ce.ErrnoError(6);if(null==o)break;s++,t[r+i]=o}return s&&(e.node.atime=Date.now()),s},write(e,t,r,n,a){if(!e.tty||!e.tty.ops.put_char)throw new ce.ErrnoError(60);try{for(var s=0;s<n;s++)e.tty.ops.put_char(e.tty,t[r+s])}catch(e){throw new ce.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),s}},default_tty_ops:{get_char:e=>(()=>{if(!Z.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e)return null;Z=re(e,!0)}return Z.shift()})(),put_char(e,t){null===t||10===t?(h(Y(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(h(Y(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?(f(Y(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(f(Y(e.output)),e.output=[])}}},ae=e=>{B()},se={ops_table:null,mount:e=>se.createNode(null,"/",16895,0),createNode(e,t,r,n){if(ce.isBlkdev(r)||ce.isFIFO(r))throw new ce.ErrnoError(63);se.ops_table||(se.ops_table={dir:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,lookup:se.node_ops.lookup,mknod:se.node_ops.mknod,rename:se.node_ops.rename,unlink:se.node_ops.unlink,rmdir:se.node_ops.rmdir,readdir:se.node_ops.readdir,symlink:se.node_ops.symlink},stream:{llseek:se.stream_ops.llseek}},file:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:{llseek:se.stream_ops.llseek,read:se.stream_ops.read,write:se.stream_ops.write,allocate:se.stream_ops.allocate,mmap:se.stream_ops.mmap,msync:se.stream_ops.msync}},link:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr,readlink:se.node_ops.readlink},stream:{}},chrdev:{node:{getattr:se.node_ops.getattr,setattr:se.node_ops.setattr},stream:ce.chrdev_stream_ops}});var a=ce.createNode(e,t,r,n);return ce.isDir(a.mode)?(a.node_ops=se.ops_table.dir.node,a.stream_ops=se.ops_table.dir.stream,a.contents={}):ce.isFile(a.mode)?(a.node_ops=se.ops_table.file.node,a.stream_ops=se.ops_table.file.stream,a.usedBytes=0,a.contents=null):ce.isLink(a.mode)?(a.node_ops=se.ops_table.link.node,a.stream_ops=se.ops_table.link.stream):ce.isChrdev(a.mode)&&(a.node_ops=se.ops_table.chrdev.node,a.stream_ops=se.ops_table.chrdev.stream),a.atime=a.mtime=a.ctime=Date.now(),e&&(e.contents[t]=a,e.atime=e.mtime=e.ctime=a.atime),a},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=ce.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,ce.isDir(e.mode)?t.size=4096:ce.isFile(e.mode)?t.size=e.usedBytes:ce.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&&se.resizeFileStorage(e,t.size)},lookup(e,t){throw se.doesNotExistError},mknod:(e,t,r,n)=>se.createNode(e,t,r,n),rename(e,t,r){var n;try{n=ce.lookupNode(t,r)}catch(e){}if(n){if(ce.isDir(e.mode))for(var a in n.contents)throw new ce.ErrnoError(55);ce.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=ce.lookupNode(e,t);for(var n in r.contents)throw new ce.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.contents)],symlink(e,t,r){var n=se.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!ce.isLink(e.mode))throw new ce.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,a){var s=e.node.contents;if(a>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-a,n);if(i>8&&s.subarray)t.set(s.subarray(a,a+i),r);else for(var o=0;o<i;o++)t[r+o]=s[a+o];return i},write(e,t,r,n,a,s){if(t.buffer===g.buffer&&(s=!1),!n)return 0;var i=e.node;if(i.mtime=i.ctime=Date.now(),t.subarray&&(!i.contents||i.contents.subarray)){if(s)return i.contents=t.subarray(r,r+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===a)return i.contents=t.slice(r,r+n),i.usedBytes=n,n;if(a+n<=i.usedBytes)return i.contents.set(t.subarray(r,r+n),a),n}if(se.expandFileStorage(i,a+n),i.contents.subarray&&t.subarray)i.contents.set(t.subarray(r,r+n),a);else for(var o=0;o<n;o++)i.contents[a+o]=t[r+o];return i.usedBytes=Math.max(i.usedBytes,a+n),n},llseek(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&ce.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new ce.ErrnoError(28);return n},allocate(e,t,r){se.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,n,a){if(!ce.isFile(e.node.mode))throw new ce.ErrnoError(43);var s,i,o=e.node.contents;if(2&a||!o||o.buffer!==g.buffer){if(i=!0,!(s=ae()))throw new ce.ErrnoError(48);o&&((r>0||r+t<o.length)&&(o=o.subarray?o.subarray(r,r+t):Array.prototype.slice.call(o,r,r+t)),g.set(o,s))}else i=!1,s=o.byteOffset;return{ptr:s,allocated:i}},msync:(e,t,r,n,a)=>(se.stream_ops.write(e,t,0,n,r,!1),0)}},ie=async e=>{var t=await o(e);return new Uint8Array(t)};ie.isAsync=!0;var oe=n.preloadPlugins||[],le=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ce={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){pt(this,"name","ErrnoError"),this.errno=e}},filesystems:null,syncFSRequests:0,readFiles:{},FSStream:class{constructor(){pt(this,"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{constructor(e,t,r,n){pt(this,"node_ops",{}),pt(this,"stream_ops",{}),pt(this,"readMode",365),pt(this,"writeMode",146),pt(this,"mounted",null),e||(e=this),this.parent=e,this.mount=e.mount,this.id=ce.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 ce.isDir(this.mode)}get isDevice(){return ce.isChrdev(this.mode)}},lookupPath(e,t={}){if(!e)throw new ce.ErrnoError(44);t.follow_mount??(t.follow_mount=!0),q.isAbs(e)||(e=ce.cwd()+"/"+e);e:for(var r=0;r<40;r++){for(var n=e.split("/").filter((e=>!!e)),a=ce.root,s="/",i=0;i<n.length;i++){var o=i===n.length-1;if(o&&t.parent)break;if("."!==n[i])if(".."!==n[i]){s=q.join2(s,n[i]);try{a=ce.lookupNode(a,n[i])}catch(e){if(44===e?.errno&&o&&t.noent_okay)return{path:s};throw e}if(!ce.isMountpoint(a)||o&&!t.follow_mount||(a=a.mounted.root),ce.isLink(a.mode)&&(!o||t.follow)){if(!a.node_ops.readlink)throw new ce.ErrnoError(52);var l=a.node_ops.readlink(a);q.isAbs(l)||(l=q.dirname(s)+"/"+l),e=l+"/"+n.slice(i+1).join("/");continue e}}else s=q.dirname(s),a=a.parent}return{path:s,node:a}}throw new ce.ErrnoError(32)},getPath(e){for(var t;;){if(ce.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)%ce.nameTable.length},hashAddNode(e){var t=ce.hashName(e.parent.id,e.name);e.name_next=ce.nameTable[t],ce.nameTable[t]=e},hashRemoveNode(e){var t=ce.hashName(e.parent.id,e.name);if(ce.nameTable[t]===e)ce.nameTable[t]=e.name_next;else for(var r=ce.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=ce.mayLookup(e);if(r)throw new ce.ErrnoError(r);for(var n=ce.hashName(e.id,t),a=ce.nameTable[n];a;a=a.name_next){var s=a.name;if(a.parent.id===e.id&&s===t)return a}return ce.lookup(e,t)},createNode(e,t,r,n){var a=new ce.FSNode(e,t,r,n);return ce.hashAddNode(a),a},destroyNode(e){ce.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)=>ce.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!ce.isDir(e.mode))return 54;var t=ce.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){if(!ce.isDir(e.mode))return 54;try{return ce.lookupNode(e,t),20}catch(e){}return ce.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=ce.lookupNode(e,t)}catch(e){return e.errno}var a=ce.nodePermissions(e,"wx");if(a)return a;if(r){if(!ce.isDir(n.mode))return 54;if(ce.isRoot(n)||ce.getPath(n)===ce.cwd())return 10}else if(ce.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?ce.isLink(e.mode)?32:ce.isDir(e.mode)&&("r"!==ce.flagsToPermissionString(t)||576&t)?31:ce.nodePermissions(e,ce.flagsToPermissionString(t)):44,checkOpExists(e,t){if(!e)throw new ce.ErrnoError(t);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=ce.MAX_OPEN_FDS;e++)if(!ce.streams[e])return e;throw new ce.ErrnoError(33)},getStreamChecked(e){var t=ce.getStream(e);if(!t)throw new ce.ErrnoError(8);return t},getStream:e=>ce.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new ce.FSStream,e),-1==t&&(t=ce.nextfd()),e.fd=t,ce.streams[t]=e,e),closeStream(e){ce.streams[e]=null},dupStream(e,t=-1){var r=ce.createStream(e,t);return r.stream_ops?.dup?.(r),r},chrdev_stream_ops:{open(e){var t=ce.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new ce.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){ce.devices[e]={stream_ops:t}},getDevice:e=>ce.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),ce.syncFSRequests++,ce.syncFSRequests>1&&f(`warning: ${ce.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=ce.getMounts(ce.root.mount),n=0;function a(e){return ce.syncFSRequests--,t(e)}function s(e){if(e)return s.errored?void 0:(s.errored=!0,a(e));++n>=r.length&&a(null)}r.forEach((t=>{if(!t.type.syncfs)return s(null);t.type.syncfs(t,e,s)}))},mount(e,t,r){var n,a="/"===r,s=!r;if(a&&ce.root)throw new ce.ErrnoError(10);if(!a&&!s){var i=ce.lookupPath(r,{follow_mount:!1});if(r=i.path,n=i.node,ce.isMountpoint(n))throw new ce.ErrnoError(10);if(!ce.isDir(n.mode))throw new ce.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,a?ce.root=l:n&&(n.mounted=o,n.mount&&n.mount.mounts.push(o)),l},unmount(e){var t=ce.lookupPath(e,{follow_mount:!1});if(!ce.isMountpoint(t.node))throw new ce.ErrnoError(28);var r=t.node,n=r.mounted,a=ce.getMounts(n);Object.keys(ce.nameTable).forEach((e=>{for(var t=ce.nameTable[e];t;){var r=t.name_next;a.includes(t.mount)&&ce.destroyNode(t),t=r}})),r.mounted=null;var s=r.mount.mounts.indexOf(n);r.mount.mounts.splice(s,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=ce.lookupPath(e,{parent:!0}).node,a=q.basename(e);if(!a)throw new ce.ErrnoError(28);if("."===a||".."===a)throw new ce.ErrnoError(20);var s=ce.mayCreate(n,a);if(s)throw new ce.ErrnoError(s);if(!n.node_ops.mknod)throw new ce.ErrnoError(63);return n.node_ops.mknod(n,a,t,r)},statfs:e=>ce.statfsNode(ce.lookupPath(e,{follow:!0}).node),statfsStream:e=>ce.statfsNode(e.node),statfsNode(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:ce.nextInode,ffree:ce.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,ce.mknod(e,t,0)),mkdir:(e,t=511)=>(t&=1023,t|=16384,ce.mknod(e,t,0)),mkdirTree(e,t){for(var r=e.split("/"),n="",a=0;a<r.length;++a)if(r[a]){n+="/"+r[a];try{ce.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,ce.mknod(e,t,r)),symlink(e,t){if(!K.resolve(e))throw new ce.ErrnoError(44);var r=ce.lookupPath(t,{parent:!0}).node;if(!r)throw new ce.ErrnoError(44);var n=q.basename(t),a=ce.mayCreate(r,n);if(a)throw new ce.ErrnoError(a);if(!r.node_ops.symlink)throw new ce.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,a=q.dirname(e),s=q.dirname(t),i=q.basename(e),o=q.basename(t);if(r=ce.lookupPath(e,{parent:!0}).node,n=ce.lookupPath(t,{parent:!0}).node,!r||!n)throw new ce.ErrnoError(44);if(r.mount!==n.mount)throw new ce.ErrnoError(75);var l,c=ce.lookupNode(r,i),u=K.relative(e,s);if("."!==u.charAt(0))throw new ce.ErrnoError(28);if("."!==(u=K.relative(t,a)).charAt(0))throw new ce.ErrnoError(55);try{l=ce.lookupNode(n,o)}catch(e){}if(c!==l){var d=ce.isDir(c.mode),h=ce.mayDelete(r,i,d);if(h)throw new ce.ErrnoError(h);if(h=l?ce.mayDelete(n,o,d):ce.mayCreate(n,o))throw new ce.ErrnoError(h);if(!r.node_ops.rename)throw new ce.ErrnoError(63);if(ce.isMountpoint(c)||l&&ce.isMountpoint(l))throw new ce.ErrnoError(10);if(n!==r&&(h=ce.nodePermissions(r,"w")))throw new ce.ErrnoError(h);ce.hashRemoveNode(c);try{r.node_ops.rename(c,n,o),c.parent=n}catch(e){throw e}finally{ce.hashAddNode(c)}}},rmdir(e){var t=ce.lookupPath(e,{parent:!0}).node,r=q.basename(e),n=ce.lookupNode(t,r),a=ce.mayDelete(t,r,!0);if(a)throw new ce.ErrnoError(a);if(!t.node_ops.rmdir)throw new ce.ErrnoError(63);if(ce.isMountpoint(n))throw new ce.ErrnoError(10);t.node_ops.rmdir(t,r),ce.destroyNode(n)},readdir(e){var t=ce.lookupPath(e,{follow:!0}).node;return ce.checkOpExists(t.node_ops.readdir,54)(t)},unlink(e){var t=ce.lookupPath(e,{parent:!0}).node;if(!t)throw new ce.ErrnoError(44);var r=q.basename(e),n=ce.lookupNode(t,r),a=ce.mayDelete(t,r,!1);if(a)throw new ce.ErrnoError(a);if(!t.node_ops.unlink)throw new ce.ErrnoError(63);if(ce.isMountpoint(n))throw new ce.ErrnoError(10);t.node_ops.unlink(t,r),ce.destroyNode(n)},readlink(e){var t=ce.lookupPath(e).node;if(!t)throw new ce.ErrnoError(44);if(!t.node_ops.readlink)throw new ce.ErrnoError(28);return t.node_ops.readlink(t)},stat(e,t){var r=ce.lookupPath(e,{follow:!t}).node;return ce.checkOpExists(r.node_ops.getattr,63)(r)},lstat:e=>ce.stat(e,!0),chmod(e,t,r){var n;n="string"==typeof e?ce.lookupPath(e,{follow:!r}).node:e,ce.checkOpExists(n.node_ops.setattr,63)(n,{mode:4095&t|-4096&n.mode,ctime:Date.now(),dontFollow:r})},lchmod(e,t){ce.chmod(e,t,!0)},fchmod(e,t){var r=ce.getStreamChecked(e);ce.chmod(r.node,t)},chown(e,t,r,n){var a;a="string"==typeof e?ce.lookupPath(e,{follow:!n}).node:e,ce.checkOpExists(a.node_ops.setattr,63)(a,{timestamp:Date.now(),dontFollow:n})},lchown(e,t,r){ce.chown(e,t,r,!0)},fchown(e,t,r){var n=ce.getStreamChecked(e);ce.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new ce.ErrnoError(28);var r;if(r="string"==typeof e?ce.lookupPath(e,{follow:!0}).node:e,ce.isDir(r.mode))throw new ce.ErrnoError(31);if(!ce.isFile(r.mode))throw new ce.ErrnoError(28);var n=ce.nodePermissions(r,"w");if(n)throw new ce.ErrnoError(n);ce.checkOpExists(r.node_ops.setattr,63)(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=ce.getStreamChecked(e);if(!(2097155&r.flags))throw new ce.ErrnoError(28);ce.truncate(r.node,t)},utime(e,t,r){var n=ce.lookupPath(e,{follow:!0}).node;ce.checkOpExists(n.node_ops.setattr,63)(n,{atime:t,mtime:r})},open(e,t,r=438){if(""===e)throw new ce.ErrnoError(44);var a,s;if(r=64&(t="string"==typeof t?(e=>{var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error(`Unknown file open mode: ${e}`);return t})(t):t)?4095&r|32768:0,"object"==typeof e)a=e;else{s=e.endsWith("/");var i=ce.lookupPath(e,{follow:!(131072&t),noent_okay:!0});a=i.node,e=i.path}var o=!1;if(64&t)if(a){if(128&t)throw new ce.ErrnoError(20)}else{if(s)throw new ce.ErrnoError(31);a=ce.mknod(e,511|r,0),o=!0}if(!a)throw new ce.ErrnoError(44);if(ce.isChrdev(a.mode)&&(t&=-513),65536&t&&!ce.isDir(a.mode))throw new ce.ErrnoError(54);if(!o){var l=ce.mayOpen(a,t);if(l)throw new ce.ErrnoError(l)}512&t&&!o&&ce.truncate(a,0),t&=-131713;var c=ce.createStream({node:a,path:ce.getPath(a),flags:t,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1});return c.stream_ops.open&&c.stream_ops.open(c),o&&ce.chmod(a,511&r),!n.logReadFiles||1&t||e in ce.readFiles||(ce.readFiles[e]=1),c},close(e){if(ce.isClosed(e))throw new ce.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{ce.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(ce.isClosed(e))throw new ce.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ce.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ce.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,a){if(n<0||a<0)throw new ce.ErrnoError(28);if(ce.isClosed(e))throw new ce.ErrnoError(8);if(1==(2097155&e.flags))throw new ce.ErrnoError(8);if(ce.isDir(e.node.mode))throw new ce.ErrnoError(31);if(!e.stream_ops.read)throw new ce.ErrnoError(28);var s=void 0!==a;if(s){if(!e.seekable)throw new ce.ErrnoError(70)}else a=e.position;var i=e.stream_ops.read(e,t,r,n,a);return s||(e.position+=i),i},write(e,t,r,n,a,s){if(n<0||a<0)throw new ce.ErrnoError(28);if(ce.isClosed(e))throw new ce.ErrnoError(8);if(!(2097155&e.flags))throw new ce.ErrnoError(8);if(ce.isDir(e.node.mode))throw new ce.ErrnoError(31);if(!e.stream_ops.write)throw new ce.ErrnoError(28);e.seekable&&1024&e.flags&&ce.llseek(e,0,2);var i=void 0!==a;if(i){if(!e.seekable)throw new ce.ErrnoError(70)}else a=e.position;var o=e.stream_ops.write(e,t,r,n,a,s);return i||(e.position+=o),o},allocate(e,t,r){if(ce.isClosed(e))throw new ce.ErrnoError(8);if(t<0||r<=0)throw new ce.ErrnoError(28);if(!(2097155&e.flags))throw new ce.ErrnoError(8);if(!ce.isFile(e.node.mode)&&!ce.isDir(e.node.mode))throw new ce.ErrnoError(43);if(!e.stream_ops.allocate)throw new ce.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap(e,t,r,n,a){if(2&n&&!(2&a)&&2!=(2097155&e.flags))throw new ce.ErrnoError(2);if(1==(2097155&e.flags))throw new ce.ErrnoError(2);if(!e.stream_ops.mmap)throw new ce.ErrnoError(43);if(!t)throw new ce.ErrnoError(28);return e.stream_ops.mmap(e,t,r,n,a)},msync:(e,t,r,n,a)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,a):0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new ce.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r,n=ce.open(e,t.flags),a=ce.stat(e).size,s=new Uint8Array(a);return ce.read(n,s,0,a,0),"utf8"===t.encoding?r=Y(s):"binary"===t.encoding&&(r=s),ce.close(n),r},writeFile(e,t,r={}){r.flags=r.flags||577;var n=ce.open(e,r.flags,r.mode);if("string"==typeof t){var a=new Uint8Array(ee(t)+1),s=te(t,a,0,a.length);ce.write(n,a,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ce.write(n,t,0,t.byteLength,void 0,r.canOwn)}ce.close(n)},cwd:()=>ce.currentPath,chdir(e){var t=ce.lookupPath(e,{follow:!0});if(null===t.node)throw new ce.ErrnoError(44);if(!ce.isDir(t.node.mode))throw new ce.ErrnoError(54);var r=ce.nodePermissions(t.node,"x");if(r)throw new ce.ErrnoError(r);ce.currentPath=t.path},createDefaultDirectories(){ce.mkdir("/tmp"),ce.mkdir("/home"),ce.mkdir("/home/web_user")},createDefaultDevices(){ce.mkdir("/dev"),ce.registerDevice(ce.makedev(1,3),{read:()=>0,write:(e,t,r,n,a)=>n,llseek:()=>0}),ce.mkdev("/dev/null",ce.makedev(1,3)),ne.register(ce.makedev(5,0),ne.default_tty_ops),ne.register(ce.makedev(6,0),ne.default_tty1_ops),ce.mkdev("/dev/tty",ce.makedev(5,0)),ce.mkdev("/dev/tty1",ce.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(J(e),t=e.byteLength),e[--t]);ce.createDevice("/dev","random",r),ce.createDevice("/dev","urandom",r),ce.mkdir("/dev/shm"),ce.mkdir("/dev/shm/tmp")},createSpecialDirectories(){ce.mkdir("/proc");var e=ce.mkdir("/proc/self");ce.mkdir("/proc/self/fd"),ce.mount({mount(){var t=ce.createNode(e,"fd",16895,73);return t.stream_ops={llseek:se.stream_ops.llseek},t.node_ops={lookup(e,t){var r=+t,n=ce.getStreamChecked(r),a={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:r+1};return a.parent=a,a},readdir:()=>Array.from(ce.streams.entries()).filter((([e,t])=>t)).map((([e,t])=>e.toString()))},t}},{},"/proc/self/fd")},createStandardStreams(e,t,r){e?ce.createDevice("/dev","stdin",e):ce.symlink("/dev/tty","/dev/stdin"),t?ce.createDevice("/dev","stdout",null,t):ce.symlink("/dev/tty","/dev/stdout"),r?ce.createDevice("/dev","stderr",null,r):ce.symlink("/dev/tty1","/dev/stderr"),ce.open("/dev/stdin",0),ce.open("/dev/stdout",1),ce.open("/dev/stderr",1)},staticInit(){ce.nameTable=new Array(4096),ce.mount(se,{},"/"),ce.createDefaultDirectories(),ce.createDefaultDevices(),ce.createSpecialDirectories(),ce.filesystems={MEMFS:se}},init(e,t,r){ce.initialized=!0,e??(e=n.stdin),t??(t=n.stdout),r??(r=n.stderr),ce.createStandardStreams(e,t,r)},quit(){ce.initialized=!1;for(var e=0;e<ce.streams.length;e++){var t=ce.streams[e];t&&ce.close(t)}},findObject(e,t){var r=ce.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(n=ce.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=ce.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=q.basename(e),n=ce.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:ce.getPath(e);for(var a=t.split("/").reverse();a.length;){var s=a.pop();if(s){var i=q.join2(e,s);try{ce.mkdir(i)}catch(e){}e=i}}return i},createFile(e,t,r,n,a){var s=q.join2("string"==typeof e?e:ce.getPath(e),t),i=le(n,a);return ce.create(s,i)},createDataFile(e,t,r,n,a,s){var i=t;e&&(e="string"==typeof e?e:ce.getPath(e),i=t?q.join2(e,t):e);var o=le(n,a),l=ce.create(i,o);if(r){if("string"==typeof r){for(var c=new Array(r.length),u=0,d=r.length;u<d;++u)c[u]=r.charCodeAt(u);r=c}ce.chmod(l,146|o);var h=ce.open(l,577);ce.write(h,r,0,r.length,0,s),ce.close(h),ce.chmod(l,o)}},createDevice(e,t,r,n){var a,s=q.join2("string"==typeof e?e:ce.getPath(e),t),i=le(!!r,!!n);(a=ce.createDevice).major??(a.major=64);var o=ce.makedev(ce.createDevice.major++,0);return ce.registerDevice(o,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,t,n,a,s){for(var i=0,o=0;o<a;o++){var l;try{l=r()}catch(e){throw new ce.ErrnoError(29)}if(void 0===l&&0===i)throw new ce.ErrnoError(6);if(null==l)break;i++,t[n+o]=l}return i&&(e.node.atime=Date.now()),i},write(e,t,r,a,s){for(var i=0;i<a;i++)try{n(t[r+i])}catch(e){throw new ce.ErrnoError(29)}return a&&(e.node.mtime=e.node.ctime=Date.now()),i}}),ce.mkdev(s,i,o)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{e.contents=l(e.url),e.usedBytes=e.contents.length}catch(e){throw new ce.ErrnoError(29)}},createLazyFile(e,t,r,n,a){class s{constructor(){pt(this,"lengthKnown",!1),pt(this,"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;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),a=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,i=1048576;a||(i=n);var o=this;o.setDataGetter((e=>{var t=e*i,a=(e+1)*i-1;if(a=Math.min(a,n-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var a=new XMLHttpRequest;if(a.open("GET",r,!1),n!==i&&a.setRequestHeader("Range","bytes="+e+"-"+t),a.responseType="arraybuffer",a.overrideMimeType&&a.overrideMimeType("text/plain; charset=x-user-defined"),a.send(null),!(a.status>=200&&a.status<300||304===a.status))throw new Error("Couldn't load "+r+". Status: "+a.status);return void 0!==a.response?new Uint8Array(a.response||[]):re(a.responseText||"",!0)})(t,a)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]})),!s&&n||(i=n=1,n=this.getter(0).length,i=n,h("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if("undefined"!=typeof XMLHttpRequest){if(!i)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o={isDevice:!1,contents:new s}}else o={isDevice:!1,url:r};var l=ce.createFile(e,t,o,n,a);o.contents?l.contents=o.contents:o.url&&(l.contents=null,l.url=o.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var c={};function u(e,t,r,n,a){var s=e.node.contents;if(a>=s.length)return 0;var i=Math.min(s.length-a,n);if(s.slice)for(var o=0;o<i;o++)t[r+o]=s[a+o];else for(o=0;o<i;o++)t[r+o]=s.get(a+o);return i}return Object.keys(l.stream_ops).forEach((e=>{var t=l.stream_ops[e];c[e]=(...e)=>(ce.forceLoadFile(l),t(...e))})),c.read=(e,t,r,n,a)=>(ce.forceLoadFile(l),u(e,t,r,n,a)),c.mmap=(e,t,r,n,a)=>{ce.forceLoadFile(l);var s=ae();if(!s)throw new ce.ErrnoError(48);return u(e,g,s,t,r),{ptr:s,allocated:!0}},l.stream_ops=c,l}},ue=(e,t)=>e?Y(w,e,t):"",de={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(q.isAbs(t))return t;var n;if(n=-100===e?ce.cwd():de.getStreamFromFD(e).path,0==t.length){if(!r)throw new ce.ErrnoError(44);return n}return n+"/"+t},writeStat(e,t){_[e>>2]=t.dev,_[e+4>>2]=t.mode,b[e+8>>2]=t.nlink,_[e+12>>2]=t.uid,_[e+16>>2]=t.gid,_[e+20>>2]=t.rdev,x[e+24>>3]=BigInt(t.size),_[e+32>>2]=4096,_[e+36>>2]=t.blocks;var r=t.atime.getTime(),n=t.mtime.getTime(),a=t.ctime.getTime();return x[e+40>>3]=BigInt(Math.floor(r/1e3)),b[e+48>>2]=r%1e3*1e3*1e3,x[e+56>>3]=BigInt(Math.floor(n/1e3)),b[e+64>>2]=n%1e3*1e3*1e3,x[e+72>>3]=BigInt(Math.floor(a/1e3)),b[e+80>>2]=a%1e3*1e3*1e3,x[e+88>>3]=BigInt(t.ino),0},writeStatFs(e,t){_[e+4>>2]=t.bsize,_[e+40>>2]=t.bsize,_[e+8>>2]=t.blocks,_[e+12>>2]=t.bfree,_[e+16>>2]=t.bavail,_[e+20>>2]=t.files,_[e+24>>2]=t.ffree,_[e+28>>2]=t.fsid,_[e+44>>2]=t.flags,_[e+36>>2]=t.namelen},doMsync(e,t,r,n,a){if(!ce.isFile(t.node.mode))throw new ce.ErrnoError(43);if(2&n)return 0;var s=w.slice(e,e+r);ce.msync(t,s,a,r,n)},getStreamFromFD:e=>ce.getStreamChecked(e),varargs:void 0,getStr:e=>ue(e)},he=(e,t,r)=>te(e,w,t,r),fe={},me=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function pe(e){return this.fromWireType(b[e>>2])}var ge,we,ye,ve={},_e={},be={},Ee=e=>{throw new ge(e)},xe=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&Ee("Mismatched type converter count");for(var a=0;a<e.length;++a)Te(e[a],n[a])}e.forEach((e=>be[e]=t));var a=new Array(t.length),s=[],i=0;t.forEach(((e,t)=>{_e.hasOwnProperty(e)?a[t]=_e[e]:(s.push(e),ve.hasOwnProperty(e)||(ve[e]=[]),ve[e].push((()=>{a[t]=_e[e],++i===s.length&&n(a)})))})),0===s.length&&n(a)},Ce=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},Pe=e=>{for(var t="",r=e;w[r];)t+=we[w[r++]];return t},Ae=e=>{throw new ye(e)};function Te(e,t,r={}){return function(e,t,r={}){var n=t.name;if(e||Ae(`type "${n}" must have a positive integer typeid pointer`),_e.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ae(`Cannot register type '${n}' twice`)}if(_e[e]=t,delete be[e],ve.hasOwnProperty(e)){var a=ve[e];delete ve[e],a.forEach((e=>e()))}}(e,t,r)}var Ie=(e,t,r)=>{switch(t){case 1:return r?e=>g[e]:e=>w[e];case 2:return r?e=>y[e>>1]:e=>v[e>>1];case 4:return r?e=>_[e>>2]:e=>b[e>>2];case 8:return r?e=>x[e>>3]:e=>C[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},ke=8,Se=e=>{Ae(e.$$.ptrType.registeredClass.name+" instance already deleted")},Fe=!1,Le=e=>{},De=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},$e=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=$e(e,t,r.baseClass);return null===n?null:r.downcast(n)},Me={},Ge={},Re=(e,t)=>(t=((e,t)=>{for(void 0===t&&Ae("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),Ge[t]),Be=(e,t)=>(t.ptrType&&t.ptr||Ee("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&Ee("Both smartPtrType and smartPtr must be specified"),t.count={value:1},je(Object.create(e,{$$:{value:t,writable:!0}})));function Oe(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=Re(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 a(){return this.isSmartPointer?Be(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Be(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var s,i=this.registeredClass.getActualType(t),o=Me[i];if(!o)return a.call(this);s=this.isConst?o.constPointerType:o.pointerType;var l=$e(t,this.registeredClass,s.registeredClass);return null===l?a.call(this):this.isSmartPointer?Be(s.registeredClass.instancePrototype,{ptrType:s,ptr:l,smartPtrType:this,smartPtr:e}):Be(s.registeredClass.instancePrototype,{ptrType:s,ptr:l})}var je=e=>"undefined"==typeof FinalizationRegistry?(je=e=>e,e):(Fe=new FinalizationRegistry((e=>{De(e.$$)})),Le=e=>Fe.unregister(e),(je=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Fe.register(e,r,e)}return e})(e)),Ne=[];function Ve(){}var We=(e,t)=>Object.defineProperty(t,"name",{value:e}),Ue=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(...n){return e[t].overloadTable.hasOwnProperty(n.length)||Ae(`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}},He=(e,t,r)=>{n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&Ae(`Cannot register public name '${e}' twice`),Ue(n,e,e),n[e].overloadTable.hasOwnProperty(r)&&Ae(`Cannot register multiple overloads of a function with the same number of arguments (${r})!`),n[e].overloadTable[r]=t):(n[e]=t,n[e].argCount=r)};function ze(e,t,r,n,a,s,i,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=a,this.getActualType=s,this.upcast=i,this.downcast=o,this.pureVirtualFunctions=[]}var Xe=(e,t,r)=>{for(;t!==r;)t.upcast||Ae(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function qe(e,t){if(null===t)return this.isReference&&Ae(`null is not a valid ${this.name}`),0;t.$$||Ae(`Cannot pass "${Ce(t)}" as a ${this.name}`),t.$$.ptr||Ae(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Xe(t.$$.ptr,r,this.registeredClass)}function Je(e,t){var r;if(null===t)return this.isReference&&Ae(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t&&t.$$||Ae(`Cannot pass "${Ce(t)}" as a ${this.name}`),t.$$.ptr||Ae(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&Ae(`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=Xe(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ae("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Ae(`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 a=t.clone();r=this.rawShare(r,Et.toHandle((()=>a.delete()))),null!==e&&e.push(this.rawDestructor,r)}break;default:Ae("Unsupporting sharing policy")}return r}function Ke(e,t){if(null===t)return this.isReference&&Ae(`null is not a valid ${this.name}`),0;t.$$||Ae(`Cannot pass "${Ce(t)}" as a ${this.name}`),t.$$.ptr||Ae(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&Ae(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Xe(t.$$.ptr,r,this.registeredClass)}function Qe(e,t,r,n,a,s,i,o,l,c,u){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=a,this.pointeeType=s,this.sharingPolicy=i,this.rawGetPointee=o,this.rawConstructor=l,this.rawShare=c,this.rawDestructor=u,a||void 0!==t.baseClass?this.toWireType=Je:n?(this.toWireType=qe,this.destructorFunction=null):(this.toWireType=Ke,this.destructorFunction=null)}var Ye,Ze=(e,t,r)=>{n.hasOwnProperty(e)||Ee("Replacing nonexistent public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},et=(e,t,r=[])=>{var a=((e,t,r)=>(e=e.replace(/p/g,"i"),(0,n["dynCall_"+e])(t,...r)))(e,t,r);return a},tt=(e,t)=>{e=Pe(e);var r,n,a=(r=e,n=t,(...e)=>et(r,n,e));return"function"!=typeof a&&Ae(`unknown function pointer with signature ${e}: ${t}`),a},rt=e=>{var t=_a(e),r=Pe(t);return Ea(t),r},nt=(e,t)=>{var r=[],n={};throw t.forEach((function e(t){n[t]||_e[t]||(be[t]?be[t].forEach(e):(r.push(t),n[t]=!0))})),new Ye(`${e}: `+r.map(rt).join([", "]))};function at(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}function st(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=We(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var n=new r,a=e.apply(n,t);return a instanceof Object?a:n}var it=e=>{try{return e()}catch(e){B(e)}},ot=e=>{if(e instanceof V||"unwind"==e)return p;u(0,e)},lt=()=>U||!1,ct=(e,t)=>{var r;p=e,p=r=e,lt()||(n.onExit?.(r),T=!0),u(0,new V(r))},ut=e=>{if(!T)try{e(),(()=>{if(!lt())try{ct(p)}catch(e){ot(e)}})()}catch(e){ot(e)}},dt={instrumentWasmImports(e){var t=/^(invoke_.*|__asyncjs__.*)$/;for(let[r,n]of Object.entries(e))"function"==typeof n&&(n.isAsync||t.test(r))},instrumentWasmExports(e){var t={};for(let[r,n]of Object.entries(e))t[r]="function"==typeof n?(...e)=>{dt.exportCallStack.push(r);try{return n(...e)}finally{T||(dt.exportCallStack.pop(),dt.maybeStopUnwind())}}:n;return t},State:{Normal:0,Unwinding:1,Rewinding:2,Disabled:3},state:0,StackSize:4096,currData:null,handleSleepReturnValue:0,exportCallStack:[],callStackNameToId:{},callStackIdToName:{},callStackId:0,asyncPromiseHandlers:null,sleepCallbacks:[],getCallStackId(e){var t=dt.callStackNameToId[e];return void 0===t&&(t=dt.callStackId++,dt.callStackNameToId[e]=t,dt.callStackIdToName[t]=e),t},maybeStopUnwind(){dt.currData&&dt.state===dt.State.Unwinding&&0===dt.exportCallStack.length&&(dt.state=dt.State.Normal,it(Ca),"undefined"!=typeof Fibers&&Fibers.trampoline())},whenDone:()=>new Promise(((e,t)=>{dt.asyncPromiseHandlers={resolve:e,reject:t}})),allocateData(){var e=ba(12+dt.StackSize);return dt.setDataHeader(e,e+12,dt.StackSize),dt.setDataRewindFunc(e),e},setDataHeader(e,t,r){b[e>>2]=t,b[e+4>>2]=t+r},setDataRewindFunc(e){var t=dt.exportCallStack[0],r=dt.getCallStackId(t);_[e+8>>2]=r},getDataRewindFuncName(e){var t=_[e+8>>2];return dt.callStackIdToName[t]},getDataRewindFunc:e=>va[e],doRewind(e){var t=dt.getDataRewindFuncName(e);return dt.getDataRewindFunc(t)()},handleSleep(e){if(!T){if(dt.state===dt.State.Normal){var t=!1,r=!1;e(((e=0)=>{if(!T&&(dt.handleSleepReturnValue=e,t=!0,r)){dt.state=dt.State.Rewinding,it((()=>Pa(dt.currData))),"undefined"!=typeof MainLoop&&MainLoop.func&&MainLoop.resume();var n,a=!1;try{n=dt.doRewind(dt.currData)}catch(e){n=e,a=!0}var s=!1;if(!dt.currData){var i=dt.asyncPromiseHandlers;i&&(dt.asyncPromiseHandlers=null,(a?i.reject:i.resolve)(n),s=!0)}if(a&&!s)throw n}})),r=!0,t||(dt.state=dt.State.Unwinding,dt.currData=dt.allocateData(),"undefined"!=typeof MainLoop&&MainLoop.func&&MainLoop.pause(),it((()=>xa(dt.currData))))}else dt.state===dt.State.Rewinding?(dt.state=dt.State.Normal,it(Aa),Ea(dt.currData),dt.currData=null,dt.sleepCallbacks.forEach(ut)):B(`invalid state: ${dt.state}`);return dt.handleSleepReturnValue}},handleAsync:e=>dt.handleSleep((t=>{e().then(t)}))};function ht(e,t,r,n,a,s){var i=t.length;i<2&&Ae("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,l=at(t),c="void"!==t[0].name,u=[e,Ae,n,a,me,t[0],t[1]],d=0;d<i-2;++d)u.push(t[d+2]);if(u.push(dt),!l)for(d=o?1:2;d<t.length;++d)null!==t[d].destructorFunction&&u.push(t[d].destructorFunction);let[h,f]=function(e,t,r,n){var a=at(e),s=e.length-2,i=[],o=["fn"];t&&o.push("thisWired");for(var l=0;l<s;++l)i.push(`arg${l}`),o.push(`arg${l}Wired`);i=i.join(","),o=o.join(",");var c=`return function (${i}) {\n`;a&&(c+="var destructors = [];\n");var u=a?"destructors":"null",d=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(t&&(c+=`var thisWired = classParam['toWireType'](${u}, this);\n`),l=0;l<s;++l)c+=`var arg${l}Wired = argType${l}['toWireType'](${u}, arg${l});\n`,d.push(`argType${l}`);c+=(r||n?"var rv = ":"")+`invoker(${o});\n`;var h=r?"rv":"";if(d.push("Asyncify"),c+=`function onDone(${h}) {\n`,a)c+="runDestructors(destructors);\n";else for(l=t?1:2;l<e.length;++l){var f=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==e[l].destructorFunction&&(c+=`${f}_dtor(${f});\n`,d.push(`${f}_dtor`))}return r&&(c+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),c+="}\n",c+=`return Asyncify.currData ? Asyncify.whenDone().then(onDone) : onDone(${h});\n`,[d,c+="}\n"]}(t,o,c,s);h.push(f);var m=st(Function,h)(...u);return We(e,m)}var mt=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(b[t+4*n>>2]);return r},gt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},wt=(e,t,r)=>(e instanceof Object||Ae(`${r} with invalid "this": ${e}`),e instanceof t.registeredClass.constructor||Ae(`${r} incompatible with "this" of type ${e.constructor.name}`),e.$$.ptr||Ae(`cannot call emscripten binding method ${r} on deleted object`),Xe(e.$$.ptr,e.$$.ptrType.registeredClass,t.registeredClass)),yt=[],vt=[],_t=e=>{e>9&&0==--vt[e+1]&&(vt[e]=void 0,yt.push(e))},bt=()=>vt.length/2-5-yt.length,Et={toValue:e=>(e||Ae("Cannot use deleted val. handle = "+e),vt[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=yt.pop()||vt.length;return vt[t]=e,vt[t+1]=1,t}}}},xt={name:"emscripten::val",fromWireType:e=>{var t=Et.toValue(e);return _t(e),t},toWireType:(e,t)=>Et.toHandle(t),argPackAdvance:ke,readValueFromPointer:pe,destructorFunction:null},Ct=(e,t,r)=>{switch(t){case 1:return r?function(e){return this.fromWireType(g[e])}:function(e){return this.fromWireType(w[e])};case 2:return r?function(e){return this.fromWireType(y[e>>1])}:function(e){return this.fromWireType(v[e>>1])};case 4:return r?function(e){return this.fromWireType(_[e>>2])}:function(e){return this.fromWireType(b[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Pt=(e,t)=>{var r=_e[e];return void 0===r&&Ae(`${t} has unknown type ${rt(e)}`),r},At=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(E[e>>2])};case 8:return function(e){return this.fromWireType(P[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},Tt=Object.assign({optional:!0},xt),It="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,kt=(e,t)=>{for(var r=e,n=r>>1,a=n+t/2;!(n>=a)&&v[n];)++n;if((r=n<<1)-e>32&&It)return It.decode(w.subarray(e,r));for(var s="",i=0;!(i>=t/2);++i){var o=y[e+2*i>>1];if(0==o)break;s+=String.fromCharCode(o)}return s},St=(e,t,r)=>{if(r??(r=2147483647),r<2)return 0;for(var n=t,a=(r-=2)<2*e.length?r/2:e.length,s=0;s<a;++s){var i=e.charCodeAt(s);y[t>>1]=i,t+=2}return y[t>>1]=0,t-n},Ft=e=>2*e.length,Lt=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var a=_[e+4*r>>2];if(0==a)break;if(++r,a>=65536){var s=a-65536;n+=String.fromCharCode(55296|s>>10,56320|1023&s)}else n+=String.fromCharCode(a)}return n},Dt=(e,t,r)=>{if(r??(r=2147483647),r<4)return 0;for(var n=t,a=n+r-4,s=0;s<e.length;++s){var i=e.charCodeAt(s);if(i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++s)),_[t>>2]=i,(t+=4)+4>a)break}return _[t>>2]=0,t-n},$t=e=>{for(var t=0,r=0;r<e.length;++r){var n=e.charCodeAt(r);n>=55296&&n<=57343&&++r,t+=4}return t},Mt=(e,t,r)=>{var n=[],a=e.toWireType(n,r);return n.length&&(b[t>>2]=Et.toHandle(n)),a},Gt=e=>dt.handleAsync((async()=>{var t=await Et.toValue(e);return Et.toHandle(t)}));Gt.isAsync=!0;var Rt,Bt,Ot,jt,Nt=[],Vt={},Wt=e=>{var t=Vt[e];return void 0===t?Pe(e):t},Ut=()=>"object"==typeof globalThis?globalThis:Function("return this")(),Ht={memcpy(e,t,r){g.set(g.subarray(t,t+r),e)},removeAllEventListeners(){for(;Ht.eventHandlers.length;)Ht._removeHandler(Ht.eventHandlers.length-1);Ht.deferredCalls=[]},inEventHandler:0,deferredCalls:[],deferCall(e,t,r){function n(e,t){if(e.length!=t.length)return!1;for(var r in e)if(e[r]!=t[r])return!1;return!0}for(var a of Ht.deferredCalls)if(a.targetFunction==e&&n(a.argsList,r))return;Ht.deferredCalls.push({targetFunction:e,precedence:t,argsList:r}),Ht.deferredCalls.sort(((e,t)=>e.precedence<t.precedence))},removeDeferredCalls(e){Ht.deferredCalls=Ht.deferredCalls.filter((t=>t.targetFunction!=e))},canPerformEventHandlerRequests:()=>navigator.userActivation?navigator.userActivation.isActive:Ht.inEventHandler&&Ht.currentEventHandler.allowsDeferredCalls,runDeferredCalls(){if(Ht.canPerformEventHandlerRequests()){var e=Ht.deferredCalls;for(var t of(Ht.deferredCalls=[],e))t.targetFunction(...t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(e,t)=>{for(var r=0;r<Ht.eventHandlers.length;++r)Ht.eventHandlers[r].target!=e||t&&t!=Ht.eventHandlers[r].eventTypeString||Ht._removeHandler(r--)},_removeHandler(e){var t=Ht.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),Ht.eventHandlers.splice(e,1)},registerOrRemoveHandler(e){if(!e.target)return-4;if(e.callbackfunc)e.eventListenerFunc=function(t){++Ht.inEventHandler,Ht.currentEventHandler=e,Ht.runDeferredCalls(),e.handlerFunc(t),Ht.runDeferredCalls(),--Ht.inEventHandler},e.target.addEventListener(e.eventTypeString,e.eventListenerFunc,e.useCapture),Ht.eventHandlers.push(e);else for(var t=0;t<Ht.eventHandlers.length;++t)Ht.eventHandlers[t].target==e.target&&Ht.eventHandlers[t].eventTypeString==e.eventTypeString&&Ht._removeHandler(t--);return 0},getNodeNameForTarget:e=>e?e==window?"#window":e==screen?"#screen":e?.nodeName||"":"",fullscreenEnabled:()=>document.fullscreenEnabled||document.webkitFullscreenEnabled},zt=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],Xt=e=>{var t;return e=(t=e)>2?ue(t):t,zt[e]||("undefined"!=typeof document?document.querySelector(e):null)},qt=e=>{var 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"];return(e.getSupportedExtensions()||[]).filter((e=>t.includes(e)))},Jt={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{Jt.lastError||(Jt.lastError=e)},getNewId:e=>{for(var t=Jt.counter++,r=e.length;r<t;r++)e[r]=null;return t},genObject:(e,t,r,n)=>{for(var a=0;a<e;a++){var s=Rt[r](),i=s&&Jt.getNewId(n);s?(s.name=i,n[i]=s):Jt.recordError(1282),_[t+4*a>>2]=i}},getSource:(e,t,r,n)=>{for(var a="",s=0;s<t;++s){var i=n?b[n+4*s>>2]:void 0;a+=ue(b[r+4*s>>2],i)}return a},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?Jt.registerContext(r,t):0},registerContext:(e,t)=>{var r=Jt.getNewId(Jt.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),Jt.contexts[r]=n,(void 0===t.enableExtensionsByDefault||t.enableExtensionsByDefault)&&Jt.initExtensions(n),r},makeContextCurrent:e=>(Jt.currentContext=Jt.contexts[e],n.ctx=Rt=Jt.currentContext?.GLctx,!(e&&!Rt)),getContext:e=>Jt.contexts[e],deleteContext:e=>{Jt.currentContext===Jt.contexts[e]&&(Jt.currentContext=null),"object"==typeof Ht&&Ht.removeAllHandlersOnTarget(Jt.contexts[e].GLctx.canvas),Jt.contexts[e]&&Jt.contexts[e].GLctx.canvas&&(Jt.contexts[e].GLctx.canvas.GLctxObject=void 0),Jt.contexts[e]=null},initExtensions:e=>{if(e||(e=Jt.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t,r=e.GLctx;(t=r).multiDrawWebgl=t.getExtension("WEBGL_multi_draw"),(e=>{e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")})(r),(e=>{e.extClipControl=e.getExtension("EXT_clip_control")})(r),(e=>{e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")})(r),(e=>{var t=e.getExtension("ANGLE_instanced_arrays");t&&(e.vertexAttribDivisor=(e,r)=>t.vertexAttribDivisorANGLE(e,r),e.drawArraysInstanced=(e,r,n,a)=>t.drawArraysInstancedANGLE(e,r,n,a),e.drawElementsInstanced=(e,r,n,a,s)=>t.drawElementsInstancedANGLE(e,r,n,a,s))})(r),(e=>{var t=e.getExtension("OES_vertex_array_object");t&&(e.createVertexArray=()=>t.createVertexArrayOES(),e.deleteVertexArray=e=>t.deleteVertexArrayOES(e),e.bindVertexArray=e=>t.bindVertexArrayOES(e),e.isVertexArray=e=>t.isVertexArrayOES(e))})(r),(e=>{var t=e.getExtension("WEBGL_draw_buffers");t&&(e.drawBuffers=(e,r)=>t.drawBuffersWEBGL(e,r))})(r),(e=>{e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")})(r),(e=>{e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")})(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query")),qt(r).forEach((e=>{e.includes("lose_context")||e.includes("debug")||r.getExtension(e)}))}}},Kt=e=>Rt.activeTexture(e),Qt=(e,t)=>{Rt.attachShader(Jt.programs[e],Jt.shaders[t])},Yt=(e,t,r)=>{Rt.bindAttribLocation(Jt.programs[e],t,ue(r))},Zt=(e,t)=>{35051==e?Rt.currentPixelPackBufferBinding=t:35052==e&&(Rt.currentPixelUnpackBufferBinding=t),Rt.bindBuffer(e,Jt.buffers[t])},er=(e,t)=>{Rt.bindFramebuffer(e,Jt.framebuffers[t])},tr=(e,t)=>{Rt.bindRenderbuffer(e,Jt.renderbuffers[t])},rr=(e,t)=>{Rt.bindTexture(e,Jt.textures[t])},nr=e=>{Rt.bindVertexArray(Jt.vaos[e])},ar=nr,sr=nr,ir=sr,or=(e,t,r,n)=>Rt.blendColor(e,t,r,n),lr=e=>Rt.blendEquation(e),cr=(e,t)=>Rt.blendEquationSeparate(e,t),ur=(e,t)=>Rt.blendFunc(e,t),dr=(e,t,r,n,a,s,i,o,l,c)=>Rt.blitFramebuffer(e,t,r,n,a,s,i,o,l,c),hr=(e,t,r,n)=>{Jt.currentContext.version>=2?r&&t?Rt.bufferData(e,w,n,r,t):Rt.bufferData(e,t,n):Rt.bufferData(e,r?w.subarray(r,r+t):t,n)},fr=e=>Rt.checkFramebufferStatus(e),mr=e=>Rt.clear(e),pr=(e,t,r,n)=>Rt.clearColor(e,t,r,n),gr=e=>Rt.clearStencil(e),wr=(e,t,r,n)=>{Rt.colorMask(!!e,!!t,!!r,!!n)},yr=e=>{Rt.compileShader(Jt.shaders[e])},vr=(e,t,r,n,a,s,i,o)=>Rt.copyTexSubImage2D(e,t,r,n,a,s,i,o),_r=()=>{var e=Jt.getNewId(Jt.programs),t=Rt.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,Jt.programs[e]=t,e},br=e=>{var t=Jt.getNewId(Jt.shaders);return Jt.shaders[t]=Rt.createShader(e),t},Er=(e,t)=>{for(var r=0;r<e;r++){var n=_[t+4*r>>2],a=Jt.buffers[n];a&&(Rt.deleteBuffer(a),a.name=0,Jt.buffers[n]=null,n==Rt.currentPixelPackBufferBinding&&(Rt.currentPixelPackBufferBinding=0),n==Rt.currentPixelUnpackBufferBinding&&(Rt.currentPixelUnpackBufferBinding=0))}},xr=(e,t)=>{for(var r=0;r<e;++r){var n=_[t+4*r>>2],a=Jt.framebuffers[n];a&&(Rt.deleteFramebuffer(a),a.name=0,Jt.framebuffers[n]=null)}},Cr=e=>{if(e){var t=Jt.programs[e];t?(Rt.deleteProgram(t),t.name=0,Jt.programs[e]=null):Jt.recordError(1281)}},Pr=(e,t)=>{for(var r=0;r<e;r++){var n=_[t+4*r>>2],a=Jt.renderbuffers[n];a&&(Rt.deleteRenderbuffer(a),a.name=0,Jt.renderbuffers[n]=null)}},Ar=e=>{if(e){var t=Jt.shaders[e];t?(Rt.deleteShader(t),Jt.shaders[e]=null):Jt.recordError(1281)}},Tr=e=>{if(e){var t=Jt.syncs[e];t?(Rt.deleteSync(t),t.name=0,Jt.syncs[e]=null):Jt.recordError(1281)}},Ir=(e,t)=>{for(var r=0;r<e;r++){var n=_[t+4*r>>2],a=Jt.textures[n];a&&(Rt.deleteTexture(a),a.name=0,Jt.textures[n]=null)}},kr=(e,t)=>{for(var r=0;r<e;r++){var n=_[t+4*r>>2];Rt.deleteVertexArray(Jt.vaos[n]),Jt.vaos[n]=null}},Sr=kr,Fr=kr,Lr=e=>{Rt.depthMask(!!e)},Dr=e=>Rt.disable(e),$r=e=>{Rt.disableVertexAttribArray(e)},Mr=(e,t,r)=>{Rt.drawArrays(e,t,r)},Gr=(e,t,r,n)=>{Rt.drawElements(e,t,r,n)},Rr=e=>Rt.enable(e),Br=e=>{Rt.enableVertexAttribArray(e)},Or=(e,t)=>{var r=Rt.fenceSync(e,t);if(r){var n=Jt.getNewId(Jt.syncs);return r.name=n,Jt.syncs[n]=r,n}return 0},jr=()=>Rt.finish(),Nr=()=>Rt.flush(),Vr=(e,t,r,n)=>{Rt.framebufferRenderbuffer(e,t,r,Jt.renderbuffers[n])},Wr=(e,t,r,n,a)=>{Rt.framebufferTexture2D(e,t,r,Jt.textures[n],a)},Ur=(e,t)=>{Jt.genObject(e,t,"createBuffer",Jt.buffers)},Hr=(e,t)=>{Jt.genObject(e,t,"createFramebuffer",Jt.framebuffers)},zr=(e,t)=>{Jt.genObject(e,t,"createRenderbuffer",Jt.renderbuffers)},Xr=(e,t)=>{Jt.genObject(e,t,"createTexture",Jt.textures)},qr=(e,t)=>{Jt.genObject(e,t,"createVertexArray",Jt.vaos)},Jr=qr,Kr=qr,Qr=(e,t)=>Rt.getAttribLocation(Jt.programs[e],ue(t)),Yr=(e,t,r)=>{r?_[r>>2]=Rt.getBufferParameter(e,t):Jt.recordError(1281)},Zr=()=>{var e=Rt.getError()||Jt.lastError;return Jt.lastError=0,e},en=(e,t,r,n)=>{var a=Rt.getFramebufferAttachmentParameter(e,t,r);(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)&&(a=0|a.name),_[n>>2]=a},tn=()=>{var e=qt(Rt);return e=e.concat(e.map((e=>"GL_"+e)))},rn=(e,t,r)=>{if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&Jt.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var a=Rt.getParameter(34467);n=a?a.length:0;break;case 33309:if(Jt.currentContext.version<2)return void Jt.recordError(1282);n=tn().length;break;case 33307:case 33308:if(Jt.currentContext.version<2)return void Jt.recordError(1280);n=33307==e?3:0}if(void 0===n){var s=Rt.getParameter(e);switch(typeof s){case"number":n=s;break;case"boolean":n=s?1:0;break;case"string":return void Jt.recordError(1280);case"object":if(null===s)switch(e){case 34964:case 35725:case 34965:case 36006:case 36007:case 32873:case 34229:case 36662:case 36663:case 35053:case 35055:case 36010:case 35097:case 35869:case 32874:case 36389:case 35983:case 35368:case 34068:n=0;break;default:return void Jt.recordError(1280)}else{if(s instanceof Float32Array||s instanceof Uint32Array||s instanceof Int32Array||s instanceof Array){for(var i=0;i<s.length;++i)switch(r){case 0:_[t+4*i>>2]=s[i];break;case 2:E[t+4*i>>2]=s[i];break;case 4:g[t+i]=s[i]?1:0}return}try{n=0|s.name}catch(t){return Jt.recordError(1280),void f(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return Jt.recordError(1280),void f(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${s} of type ${typeof s}!`)}}switch(r){case 1:((e,t)=>{b[e>>2]=t;var r=b[e>>2];b[e+4>>2]=(t-r)/4294967296})(t,n);break;case 0:_[t>>2]=n;break;case 2:E[t>>2]=n;break;case 4:g[t]=n?1:0}}else Jt.recordError(1281)},nn=(e,t)=>rn(e,t,0),an=(e,t,r,n)=>{var a=Rt.getProgramInfoLog(Jt.programs[e]);null===a&&(a="(unknown error)");var s=t>0&&n?he(a,n,t):0;r&&(_[r>>2]=s)},sn=(e,t,r)=>{if(r)if(e>=Jt.counter)Jt.recordError(1281);else if(e=Jt.programs[e],35716==t){var n=Rt.getProgramInfoLog(e);null===n&&(n="(unknown error)"),_[r>>2]=n.length+1}else if(35719==t){if(!e.maxUniformLength)for(var a=Rt.getProgramParameter(e,35718),s=0;s<a;++s)e.maxUniformLength=Math.max(e.maxUniformLength,Rt.getActiveUniform(e,s).name.length+1);_[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength){var i=Rt.getProgramParameter(e,35721);for(s=0;s<i;++s)e.maxAttributeLength=Math.max(e.maxAttributeLength,Rt.getActiveAttrib(e,s).name.length+1)}_[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength){var o=Rt.getProgramParameter(e,35382);for(s=0;s<o;++s)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,Rt.getActiveUniformBlockName(e,s).length+1)}_[r>>2]=e.maxUniformBlockNameLength}else _[r>>2]=Rt.getProgramParameter(e,t);else Jt.recordError(1281)},on=(e,t,r)=>{r?_[r>>2]=Rt.getRenderbufferParameter(e,t):Jt.recordError(1281)},ln=(e,t,r,n)=>{var a=Rt.getShaderInfoLog(Jt.shaders[e]);null===a&&(a="(unknown error)");var s=t>0&&n?he(a,n,t):0;r&&(_[r>>2]=s)},cn=(e,t,r,n)=>{var a=Rt.getShaderPrecisionFormat(e,t);_[r>>2]=a.rangeMin,_[r+4>>2]=a.rangeMax,_[n>>2]=a.precision},un=(e,t,r)=>{if(r)if(35716==t){var n=Rt.getShaderInfoLog(Jt.shaders[e]);null===n&&(n="(unknown error)");var a=n?n.length+1:0;_[r>>2]=a}else if(35720==t){var s=Rt.getShaderSource(Jt.shaders[e]),i=s?s.length+1:0;_[r>>2]=i}else _[r>>2]=Rt.getShaderParameter(Jt.shaders[e],t);else Jt.recordError(1281)},dn=e=>{var t=ee(e)+1,r=ba(t);return r&&he(e,r,t),r},hn=e=>{var t=Jt.stringCache[e];if(!t){switch(e){case 7939:t=dn(tn().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=Rt.getParameter(e);r||Jt.recordError(1280),t=r?dn(r):0;break;case 7938:var n=Rt.getParameter(7938),a=`OpenGL ES 2.0 (${n})`;Jt.currentContext.version>=2&&(a=`OpenGL ES 3.0 (${n})`),t=dn(a);break;case 35724:var s=Rt.getParameter(35724),i=s.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==i&&(3==i[1].length&&(i[1]=i[1]+"0"),s=`OpenGL ES GLSL ES ${i[1]} (${s})`),t=dn(s);break;default:Jt.recordError(1280)}Jt.stringCache[e]=t}return t},fn=(e,t)=>{if(Jt.currentContext.version<2)return Jt.recordError(1282),0;var r=Jt.stringiCache[e];if(r)return t<0||t>=r.length?(Jt.recordError(1281),0):r[t];if(7939===e){var n=tn().map(dn);return r=Jt.stringiCache[e]=n,t<0||t>=r.length?(Jt.recordError(1281),0):r[t]}return Jt.recordError(1280),0},mn=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),pn=(e,t)=>{if(t=ue(t),e=Jt.programs[e]){(e=>{var t,r,n=e.uniformLocsById,a=e.uniformSizeAndIdsByName;if(!n){e.uniformLocsById=n={},e.uniformArrayNamesById={};var s=Rt.getProgramParameter(e,35718);for(t=0;t<s;++t){var i=Rt.getActiveUniform(e,t),o=i.name,l=i.size,c=mn(o),u=c>0?o.slice(0,c):o,d=e.uniformIdCounter;for(e.uniformIdCounter+=l,a[u]=[l,d],r=0;r<l;++r)n[d]=r,e.uniformArrayNamesById[d++]=u}}})(e);var r=e.uniformLocsById,n=0,a=t,s=mn(t);s>0&&(o=t.slice(s+1),n=parseInt(o)>>>0,a=t.slice(0,s));var i=e.uniformSizeAndIdsByName[a];if(i&&n<i[0]&&(r[n+=i[1]]=r[n]||Rt.getUniformLocation(e,t)))return n}else Jt.recordError(1281);var o;return-1},gn=e=>Rt.isEnabled(e),wn=e=>{var t=Jt.textures[e];return t?Rt.isTexture(t):0},yn=e=>Rt.lineWidth(e),vn=e=>{e=Jt.programs[e],Rt.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},_n=(e,t)=>{3317==e?Jt.unpackAlignment=t:3314==e&&(Jt.unpackRowLength=t),Rt.pixelStorei(e,t)},bn=e=>0==(e-=5120)?g:1==e?w:2==e?y:4==e?_:6==e?E:5==e||28922==e||28520==e||30779==e||30782==e?b:v,En=(e,t)=>e>>>31-Math.clz32(t.BYTES_PER_ELEMENT),xn=(e,t,r,n,a,s)=>{var i=bn(e),o=(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,l=((e,t,r)=>{var n,a,s=(Jt.unpackRowLength||e)*r;return t*(n=s,a=Jt.unpackAlignment,n+a-1&-a)})(r,n,o);return i.subarray(En(a,i),En(a+l,i))},Cn=(e,t,r,n,a,s,i)=>{if(Jt.currentContext.version>=2){if(Rt.currentPixelPackBufferBinding)return void Rt.readPixels(e,t,r,n,a,s,i);var o=bn(s),l=En(i,o);Rt.readPixels(e,t,r,n,a,s,o,l)}else{var c=xn(s,a,r,n,i);c?Rt.readPixels(e,t,r,n,a,s,c):Jt.recordError(1280)}},Pn=(e,t,r,n)=>Rt.renderbufferStorage(e,t,r,n),An=(e,t,r,n,a)=>Rt.renderbufferStorageMultisample(e,t,r,n,a),Tn=(e,t,r,n)=>Rt.scissor(e,t,r,n),In=(e,t,r,n)=>{var a=Jt.getSource(e,t,r,n);Rt.shaderSource(Jt.shaders[e],a)},kn=(e,t,r,n,a,s,i,o,l)=>{if(Jt.currentContext.version>=2){if(Rt.currentPixelUnpackBufferBinding)return void Rt.texImage2D(e,t,r,n,a,s,i,o,l);if(l){var c=bn(o),u=En(l,c);return void Rt.texImage2D(e,t,r,n,a,s,i,o,c,u)}}var d=l?xn(o,i,n,a,l):null;Rt.texImage2D(e,t,r,n,a,s,i,o,d)},Sn=(e,t,r)=>Rt.texParameterf(e,t,r),Fn=(e,t,r)=>{var n=E[r>>2];Rt.texParameterf(e,t,n)},Ln=(e,t,r)=>Rt.texParameteri(e,t,r),Dn=(e,t,r)=>{var n=_[r>>2];Rt.texParameteri(e,t,n)},$n=(e,t,r,n,a,s,i,o,l)=>{if(Jt.currentContext.version>=2){if(Rt.currentPixelUnpackBufferBinding)return void Rt.texSubImage2D(e,t,r,n,a,s,i,o,l);if(l){var c=bn(o);return void Rt.texSubImage2D(e,t,r,n,a,s,i,o,c,En(l,c))}}var u=l?xn(o,i,a,s,l):null;Rt.texSubImage2D(e,t,r,n,a,s,i,o,u)},Mn=e=>{var t=Rt.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=Rt.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?`[${r}]`:""))),r}Jt.recordError(1282)},Gn=(e,t)=>{Rt.uniform1f(Mn(e),t)},Rn=[],Bn=(e,t,r)=>{if(Jt.currentContext.version>=2)t&&Rt.uniform1fv(Mn(e),E,r>>2,t);else{if(t<=288)for(var n=Rn[t],a=0;a<t;++a)n[a]=E[r+4*a>>2];else n=E.subarray(r>>2,r+4*t>>2);Rt.uniform1fv(Mn(e),n)}},On=(e,t)=>{Rt.uniform1i(Mn(e),t)},jn=[],Nn=(e,t,r)=>{if(Jt.currentContext.version>=2)t&&Rt.uniform1iv(Mn(e),_,r>>2,t);else{if(t<=288)for(var n=jn[t],a=0;a<t;++a)n[a]=_[r+4*a>>2];else n=_.subarray(r>>2,r+4*t>>2);Rt.uniform1iv(Mn(e),n)}},Vn=(e,t,r)=>{Rt.uniform2f(Mn(e),t,r)},Wn=(e,t,r)=>{if(Jt.currentContext.version>=2)t&&Rt.uniform2fv(Mn(e),E,r>>2,2*t);else{if(t<=144)for(var n=Rn[t*=2],a=0;a<t;a+=2)n[a]=E[r+4*a>>2],n[a+1]=E[r+(4*a+4)>>2];else n=E.subarray(r>>2,r+8*t>>2);Rt.uniform2fv(Mn(e),n)}},Un=(e,t,r)=>{Rt.uniform2i(Mn(e),t,r)},Hn=(e,t,r)=>{if(Jt.currentContext.version>=2)t&&Rt.uniform2iv(Mn(e),_,r>>2,2*t);else{if(t<=144)for(var n=jn[t*=2],a=0;a<t;a+=2)n[a]=_[r+4*a>>2],n[a+1]=_[r+(4*a+4)>>2];else n=_.subarray(r>>2,r+8*t>>2);Rt.uniform2iv(Mn(e),n)}},zn=(e,t,r,n)=>{Rt.uniform3f(Mn(e),t,r,n)},Xn=(e,t,r)=>{if(Jt.currentContext.version>=2)t&&Rt.uniform3fv(Mn(e),E,r>>2,3*t);else{if(t<=96)for(var n=Rn[t*=3],a=0;a<t;a+=3)n[a]=E[r+4*a>>2],n[a+1]=E[r+(4*a+4)>>2],n[a+2]=E[r+(4*a+8)>>2];else n=E.subarray(r>>2,r+12*t>>2);Rt.uniform3fv(Mn(e),n)}},qn=(e,t,r,n)=>{Rt.uniform3i(Mn(e),t,r,n)},Jn=(e,t,r)=>{if(Jt.currentContext.version>=2)t&&Rt.uniform3iv(Mn(e),_,r>>2,3*t);else{if(t<=96)for(var n=jn[t*=3],a=0;a<t;a+=3)n[a]=_[r+4*a>>2],n[a+1]=_[r+(4*a+4)>>2],n[a+2]=_[r+(4*a+8)>>2];else n=_.subarray(r>>2,r+12*t>>2);Rt.uniform3iv(Mn(e),n)}},Kn=(e,t,r,n,a)=>{Rt.uniform4f(Mn(e),t,r,n,a)},Qn=(e,t,r)=>{if(Jt.currentContext.version>=2)t&&Rt.uniform4fv(Mn(e),E,r>>2,4*t);else{if(t<=72){var n=Rn[4*t],a=E;r>>=2,t*=4;for(var s=0;s<t;s+=4){var i=r+s;n[s]=a[i],n[s+1]=a[i+1],n[s+2]=a[i+2],n[s+3]=a[i+3]}}else n=E.subarray(r>>2,r+16*t>>2);Rt.uniform4fv(Mn(e),n)}},Yn=(e,t,r,n,a)=>{Rt.uniform4i(Mn(e),t,r,n,a)},Zn=(e,t,r)=>{if(Jt.currentContext.version>=2)t&&Rt.uniform4iv(Mn(e),_,r>>2,4*t);else{if(t<=72)for(var n=jn[t*=4],a=0;a<t;a+=4)n[a]=_[r+4*a>>2],n[a+1]=_[r+(4*a+4)>>2],n[a+2]=_[r+(4*a+8)>>2],n[a+3]=_[r+(4*a+12)>>2];else n=_.subarray(r>>2,r+16*t>>2);Rt.uniform4iv(Mn(e),n)}},ea=(e,t,r,n)=>{if(Jt.currentContext.version>=2)t&&Rt.uniformMatrix2fv(Mn(e),!!r,E,n>>2,4*t);else{if(t<=72)for(var a=Rn[t*=4],s=0;s<t;s+=4)a[s]=E[n+4*s>>2],a[s+1]=E[n+(4*s+4)>>2],a[s+2]=E[n+(4*s+8)>>2],a[s+3]=E[n+(4*s+12)>>2];else a=E.subarray(n>>2,n+16*t>>2);Rt.uniformMatrix2fv(Mn(e),!!r,a)}},ta=(e,t,r,n)=>{if(Jt.currentContext.version>=2)t&&Rt.uniformMatrix3fv(Mn(e),!!r,E,n>>2,9*t);else{if(t<=32)for(var a=Rn[t*=9],s=0;s<t;s+=9)a[s]=E[n+4*s>>2],a[s+1]=E[n+(4*s+4)>>2],a[s+2]=E[n+(4*s+8)>>2],a[s+3]=E[n+(4*s+12)>>2],a[s+4]=E[n+(4*s+16)>>2],a[s+5]=E[n+(4*s+20)>>2],a[s+6]=E[n+(4*s+24)>>2],a[s+7]=E[n+(4*s+28)>>2],a[s+8]=E[n+(4*s+32)>>2];else a=E.subarray(n>>2,n+36*t>>2);Rt.uniformMatrix3fv(Mn(e),!!r,a)}},ra=(e,t,r,n)=>{if(Jt.currentContext.version>=2)t&&Rt.uniformMatrix4fv(Mn(e),!!r,E,n>>2,16*t);else{if(t<=18){var a=Rn[16*t],s=E;n>>=2,t*=16;for(var i=0;i<t;i+=16){var o=n+i;a[i]=s[o],a[i+1]=s[o+1],a[i+2]=s[o+2],a[i+3]=s[o+3],a[i+4]=s[o+4],a[i+5]=s[o+5],a[i+6]=s[o+6],a[i+7]=s[o+7],a[i+8]=s[o+8],a[i+9]=s[o+9],a[i+10]=s[o+10],a[i+11]=s[o+11],a[i+12]=s[o+12],a[i+13]=s[o+13],a[i+14]=s[o+14],a[i+15]=s[o+15]}}else a=E.subarray(n>>2,n+64*t>>2);Rt.uniformMatrix4fv(Mn(e),!!r,a)}},na=e=>{e=Jt.programs[e],Rt.useProgram(e),Rt.currentProgram=e},aa=(e,t)=>Rt.vertexAttrib1f(e,t),sa=(e,t)=>{Rt.vertexAttrib2f(e,E[t>>2],E[t+4>>2])},ia=(e,t)=>{Rt.vertexAttrib3f(e,E[t>>2],E[t+4>>2],E[t+8>>2])},oa=(e,t)=>{Rt.vertexAttrib4f(e,E[t>>2],E[t+4>>2],E[t+8>>2],E[t+12>>2])},la=(e,t,r,n,a,s)=>{Rt.vertexAttribPointer(e,t,r,!!n,a,s)},ca=(e,t,r,n)=>Rt.viewport(e,t,r,n),ua=(e,t,r)=>{r=Number(r),Rt.waitSync(Jt.syncs[e],t,r)},da=e=>{var t=(e-m.buffer.byteLength+65535)/65536|0;try{return m.grow(t),k(),1}catch(e){}},ha=["default","low-power","high-performance"],fa=(e,t)=>{var r=t>>2,n=_[r+2],a={alpha:!!g[t+0],depth:!!g[t+1],stencil:!!g[t+2],antialias:!!g[t+3],premultipliedAlpha:!!g[t+4],preserveDrawingBuffer:!!g[t+5],powerPreference:ha[n],failIfMajorPerformanceCaveat:!!g[t+12],majorVersion:_[r+4],minorVersion:_[r+5],enableExtensionsByDefault:g[t+24],explicitSwapControl:g[t+25],proxyContextToMainThread:_[r+7],renderViaOffscreenBackBuffer:g[t+32]},s=Xt(e);return s?a.explicitSwapControl?0:Jt.createContext(s,a):0},ma=()=>Jt.currentContext?Jt.currentContext.handle:0;ce.createPreloadedFile=(e,t,r,n,a,s,i,o,l,c)=>{var u=t?K.resolve(q.join2(e,t)):e;function d(r){function d(r){c?.(),o||((e,t,r,n,a,s)=>{ce.createDataFile(e,t,r,n,a,s)})(e,t,r,n,a,l),s?.(),R()}((e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var a=!1;return oe.forEach((s=>{a||s.canHandle(t)&&(s.handle(e,t,r,n),a=!0)})),a})(r,u,d,(()=>{i?.(),R()}))||d(r)}G(),"string"==typeof r?ie(r).then(d,i):d(r)},ce.staticInit(),se.doesNotExistError=new ce.ErrnoError(44),se.doesNotExistError.stack="<generic error, no stack>",ge=n.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},(()=>{for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);we=e})(),ye=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(Ve.prototype,{isAliasOf(e){if(!(this instanceof Ve))return!1;if(!(e instanceof Ve))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,a=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)a=n.upcast(a),n=n.baseClass;return t===n&&r===a},clone(){if(this.$$.ptr||Se(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=je(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||Se(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ae("Object already scheduled for deletion"),Le(this),De(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Se(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ae("Object already scheduled for deletion"),Ne.push(this),Ne.length,this.$$.deleteScheduled=!0,this}}),Object.assign(Qe.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},argPackAdvance:ke,readValueFromPointer:pe,fromWireType:Oe}),Ye=n.UnboundTypeError=(Bt=Error,(jt=We(Ot="UnboundTypeError",(function(e){this.name=Ot,this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(Bt.prototype),jt.prototype.constructor=jt,jt.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},jt),vt.push(0,1,void 0,1,null,1,!0,1,!1,1),n.count_emval_handles=bt;for(var pa=new Float32Array(288),ga=0;ga<=288;++ga)Rn[ga]=pa.subarray(0,ga);var wa=new Int32Array(288);for(ga=0;ga<=288;++ga)jn[ga]=wa.subarray(0,ga);var ya={C:(e,t,r)=>{throw new H(e).init(t,r),e},P:function(e,t,r){de.varargs=r;try{var n=de.getStreamFromFD(e);switch(t){case 0:if((a=z())<0)return-28;for(;ce.streams[a];)a++;return ce.dupStream(n,a).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var a=z();return n.flags|=a,0;case 12:return a=X(),y[a+0>>1]=2,0}return-28}catch(e){if(void 0===ce||"ErrnoError"!==e.name)throw e;return-e.errno}},hb:function(e,t,r){try{var n=de.getStreamFromFD(e);n.getdents||(n.getdents=ce.readdir(n.path));for(var a=280,s=0,i=ce.llseek(n,0,1),o=Math.floor(i/a),l=Math.min(n.getdents.length,o+Math.floor(r/a)),c=o;c<l;c++){var u,d,h=n.getdents[c];if("."===h)u=n.node.id,d=4;else if(".."===h)u=ce.lookupPath(n.path,{parent:!0}).node.id,d=4;else{var f;try{f=ce.lookupNode(n.node,h)}catch(e){if(28===e?.errno)continue;throw e}u=f.id,d=ce.isChrdev(f.mode)?2:ce.isDir(f.mode)?4:ce.isLink(f.mode)?10:8}x[t+s>>3]=BigInt(u),x[t+s+8>>3]=BigInt((c+1)*a),y[t+s+16>>1]=280,g[t+s+18]=d,he(h,t+s+19,256),s+=a}return ce.llseek(n,c*a,0),s}catch(e){if(void 0===ce||"ErrnoError"!==e.name)throw e;return-e.errno}},ob:function(e,t,r){de.varargs=r;try{var n=de.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 a=n.tty.ops.ioctl_tcgets(n),s=X();_[s>>2]=a.c_iflag||0,_[s+4>>2]=a.c_oflag||0,_[s+8>>2]=a.c_cflag||0,_[s+12>>2]=a.c_lflag||0;for(var i=0;i<32;i++)g[s+i+17]=a.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){s=X();var o=_[s>>2],l=_[s+4>>2],c=_[s+8>>2],u=_[s+12>>2],d=[];for(i=0;i<32;i++)d.push(g[s+i+17]);return n.tty.ops.ioctl_tcsets(n.tty,t,{c_iflag:o,c_oflag:l,c_cflag:c,c_lflag:u,c_cc:d})}return 0;case 21519:return n.tty?(s=X(),_[s>>2]=0,0):-59;case 21520:return n.tty?-28:-59;case 21531:return s=X(),ce.ioctl(n,t,s);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var h=n.tty.ops.ioctl_tiocgwinsz(n.tty);s=X(),y[s>>1]=h[0],y[s+2>>1]=h[1]}return 0;default:return-28}}catch(e){if(void 0===ce||"ErrnoError"!==e.name)throw e;return-e.errno}},fb:function(e,t,r){try{return t=de.getStr(t),t=de.calculateAt(e,t),ce.mkdir(t,r,0),0}catch(e){if(void 0===ce||"ErrnoError"!==e.name)throw e;return-e.errno}},Q:function(e,t,r,n){de.varargs=n;try{t=de.getStr(t),t=de.calculateAt(e,t);var a=n?z():0;return ce.open(t,r,a).fd}catch(e){if(void 0===ce||"ErrnoError"!==e.name)throw e;return-e.errno}},kb:function(e){try{return e=de.getStr(e),ce.rmdir(e),0}catch(e){if(void 0===ce||"ErrnoError"!==e.name)throw e;return-e.errno}},gb:function(e,t){try{return e=de.getStr(e),de.writeStat(t,ce.stat(e))}catch(e){if(void 0===ce||"ErrnoError"!==e.name)throw e;return-e.errno}},lb:function(e,t,r){try{return t=de.getStr(t),t=de.calculateAt(e,t),0===r?ce.unlink(t):512===r?ce.rmdir(t):B("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===ce||"ErrnoError"!==e.name)throw e;return-e.errno}},pb:()=>B(""),x:e=>{var t=fe[e];delete fe[e];var r=t.rawConstructor,n=t.rawDestructor,a=t.fields,s=a.map((e=>e.getterReturnType)).concat(a.map((e=>e.setterArgumentType)));xe([e],s,(e=>{var s={};return a.forEach(((t,r)=>{var n=t.fieldName,i=e[r],o=t.getter,l=t.getterContext,c=e[r+a.length],u=t.setter,d=t.setterContext;s[n]={read:e=>i.fromWireType(o(l,e)),write:(e,t)=>{var r=[];u(d,e,c.toWireType(r,t)),me(r)}}})),[{name:t.name,fromWireType:e=>{var t={};for(var r in s)t[r]=s[r].read(e);return n(e),t},toWireType:(e,t)=>{for(var a in s)if(!(a in t))throw new TypeError(`Missing field: "${a}"`);var i=r();for(a in s)s[a].write(i,t[a]);return null!==e&&e.push(n,i),i},argPackAdvance:ke,readValueFromPointer:pe,destructorFunction:n}]}))},N:(e,t,r,n,a)=>{var s=-1!=(t=Pe(t)).indexOf("u");Te(e,{name:t,fromWireType:e=>e,toWireType:function(e,t){if("bigint"!=typeof t&&"number"!=typeof t)throw new TypeError(`Cannot convert "${Ce(t)}" to ${this.name}`);return"number"==typeof t&&(t=BigInt(t)),t},argPackAdvance:ke,readValueFromPointer:Ie(t,r,!s),destructorFunction:null})},db:(e,t,r,n)=>{Te(e,{name:t=Pe(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:ke,readValueFromPointer:function(e){return this.fromWireType(w[e])},destructorFunction:null})},l:(e,t,r,n,a,s,i,o,l,c,u,d,h)=>{u=Pe(u),s=tt(a,s),o&&(o=tt(i,o)),c&&(c=tt(l,c)),h=tt(d,h);var f=(e=>{var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(u);He(f,(function(){nt(`Cannot construct ${u} due to unbound types`,[n])})),xe([e,t,r],n?[n]:[],(t=>{var r,a,i;t=t[0],i=n?(a=t.registeredClass).instancePrototype:Ve.prototype;var l=We(u,(function(...e){if(Object.getPrototypeOf(this)!==d)throw new ye("Use 'new' to construct "+u);if(void 0===m.constructor_body)throw new ye(u+" has no accessible constructor");var t=m.constructor_body[e.length];if(void 0===t)throw new ye(`Tried to invoke ctor of ${u} with invalid number of parameters (${e.length}) - expected (${Object.keys(m.constructor_body).toString()}) parameters instead!`);return t.apply(this,e)})),d=Object.create(i,{constructor:{value:l}});l.prototype=d;var m=new ze(u,l,d,h,a,s,o,c);m.baseClass&&((r=m.baseClass).__derivedClasses??(r.__derivedClasses=[]),m.baseClass.__derivedClasses.push(m));var p=new Qe(u,m,!0,!1,!1),g=new Qe(u+"*",m,!1,!1,!1),w=new Qe(u+" const*",m,!1,!0,!1);return Me[e]={pointerType:g,constPointerType:w},Ze(f,l),[p,g,w]}))},k:(e,t,r,n,a,s,i,o,l)=>{var c=mt(r,n);t=Pe(t),t=gt(t),s=tt(a,s),xe([],[e],(e=>{var n=`${(e=e[0]).name}.${t}`;function a(){nt(`Cannot call ${n} due to unbound types`,c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]);var l=e.registeredClass.constructor;return void 0===l[t]?(a.argCount=r-1,l[t]=a):(Ue(l,t,n),l[t].overloadTable[r-1]=a),xe([],c,(a=>{var c=[a[0],null].concat(a.slice(1)),u=ht(n,c,null,s,i,o);if(void 0===l[t].overloadTable?(u.argCount=r-1,l[t]=u):l[t].overloadTable[r-1]=u,e.registeredClass.__derivedClasses)for(const r of e.registeredClass.__derivedClasses)r.constructor.hasOwnProperty(t)||(r.constructor[t]=u);return[]})),[]}))},z:(e,t,r,n,a,s)=>{var i=mt(t,r);a=tt(n,a),xe([],[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 ye(`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]=()=>{nt(`Cannot construct ${e.name} due to unbound types`,i)},xe([],i,(n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=ht(r,n,null,a,s),[]))),[]}))},a:(e,t,r,n,a,s,i,o,l,c)=>{var u=mt(r,n);t=Pe(t),t=gt(t),s=tt(a,s),xe([],[e],(e=>{var n=`${(e=e[0]).name}.${t}`;function a(){nt(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var c=e.registeredClass.instancePrototype,d=c[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(a.argCount=r-2,a.className=e.name,c[t]=a):(Ue(c,t,n),c[t].overloadTable[r-2]=a),xe([],u,(a=>{var o=ht(n,a,e,s,i,l);return void 0===c[t].overloadTable?(o.argCount=r-2,c[t]=o):c[t].overloadTable[r-2]=o,[]})),[]}))},g:(e,t,r,n,a,s,i,o,l,c)=>{t=Pe(t),a=tt(n,a),xe([],[e],(e=>{var n=`${(e=e[0]).name}.${t}`,u={get(){nt(`Cannot access ${n} due to unbound types`,[r,i])},enumerable:!0,configurable:!0};return u.set=l?()=>nt(`Cannot access ${n} due to unbound types`,[r,i]):e=>Ae(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,t,u),xe([],l?[r,i]:[r],(r=>{var i=r[0],u={get(){var t=wt(this,e,n+" getter");return i.fromWireType(a(s,t))},enumerable:!0};if(l){l=tt(o,l);var d=r[1];u.set=function(t){var r=wt(this,e,n+" setter"),a=[];l(c,r,d.toWireType(a,t)),me(a)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,u),[]})),[]}))},bb:e=>Te(e,xt),G:(e,t,r,n)=>{function a(){}t=Pe(t),a.values={},Te(e,{name:t,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,argPackAdvance:ke,readValueFromPointer:Ct(t,r,n),destructorFunction:null}),He(t,a)},r:(e,t,r)=>{var n=Pt(e,"enum");t=Pe(t);var a=n.constructor,s=Object.create(n.constructor.prototype,{value:{value:r},constructor:{value:We(`${n.name}_${t}`,(function(){}))}});a.values[r]=s,a[t]=s},M:(e,t,r)=>{Te(e,{name:t=Pe(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:ke,readValueFromPointer:At(t,r),destructorFunction:null})},L:(e,t,r,n,a,s,i,o)=>{var l=mt(t,r);e=Pe(e),e=gt(e),a=tt(n,a),He(e,(function(){nt(`Cannot call ${e} due to unbound types`,l)}),t-1),xe([],l,(r=>{var n=[r[0],null].concat(r.slice(1));return Ze(e,ht(e,n,null,a,s,i),t-1),[]}))},s:(e,t,r,n,a)=>{t=Pe(t);var s=e=>e;if(0===n){var i=32-8*r;s=e=>e<<i>>>i}var o=t.includes("unsigned");Te(e,{name:t,fromWireType:s,toWireType:o?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:ke,readValueFromPointer:Ie(t,r,0!==n),destructorFunction:null})},m:(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function a(e){var t=b[e>>2],r=b[e+4>>2];return new n(g.buffer,r,t)}Te(e,{name:r=Pe(r),fromWireType:a,argPackAdvance:ke,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},B:(e,t)=>{Te(e,Tt)},q:(e,t,r,n,a,s,i,o,l,c,u,d)=>{r=Pe(r),s=tt(a,s),o=tt(i,o),c=tt(l,c),d=tt(u,d),xe([e],[t],(e=>(e=e[0],[new Qe(r,e.registeredClass,!1,!1,!0,e,n,s,o,c,d)])))},cb:(e,t)=>{Te(e,{name:t=Pe(t),fromWireType(e){for(var t,r=b[e>>2],n=e+4,a=n,s=0;s<=r;++s){var i=n+s;if(s==r||0==w[i]){var o=ue(a,i-a);void 0===t?t=o:(t+=String.fromCharCode(0),t+=o),a=i+1}}return Ea(e),t},toWireType(e,t){var r;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var n="string"==typeof t;n||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||Ae("Cannot pass non-string to std::string"),r=n?ee(t):t.length;var a=ba(4+r+1),s=a+4;if(b[a>>2]=r,n)he(t,s,r+1);else if(n)for(var i=0;i<r;++i){var o=t.charCodeAt(i);o>255&&(Ea(a),Ae("String has UTF-16 code units that do not fit in 8 bits")),w[s+i]=o}else for(i=0;i<r;++i)w[s+i]=t[i];return null!==e&&e.push(Ea,a),a},argPackAdvance:ke,readValueFromPointer:pe,destructorFunction(e){Ea(e)}})},H:(e,t,r)=>{var n,a,s,i;r=Pe(r),2===t?(n=kt,a=St,i=Ft,s=e=>v[e>>1]):4===t&&(n=Lt,a=Dt,i=$t,s=e=>b[e>>2]),Te(e,{name:r,fromWireType:e=>{for(var r,a=b[e>>2],i=e+4,o=0;o<=a;++o){var l=e+4+o*t;if(o==a||0==s(l)){var c=n(i,l-i);void 0===r?r=c:(r+=String.fromCharCode(0),r+=c),i=l+t}}return Ea(e),r},toWireType:(e,n)=>{"string"!=typeof n&&Ae(`Cannot pass non-string to C++ string type ${r}`);var s=i(n),o=ba(4+s+t);return b[o>>2]=s/t,a(n,o+4,s+t),null!==e&&e.push(Ea,o),o},argPackAdvance:ke,readValueFromPointer:pe,destructorFunction(e){Ea(e)}})},w:(e,t,r,n,a,s)=>{fe[e]={name:Pe(t),rawConstructor:tt(r,n),rawDestructor:tt(a,s),fields:[]}},n:(e,t,r,n,a,s,i,o,l,c)=>{fe[e].fields.push({fieldName:Pe(t),getterReturnType:r,getter:tt(n,a),getterContext:s,setterArgumentType:i,setter:tt(o,l),setterContext:c})},eb:(e,t)=>{Te(e,{isVoid:!0,name:t=Pe(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},h:(e,t,r)=>(e=Et.toValue(e),t=Pt(t,"emval::as"),Mt(t,r,e)),A:Gt,t:(e,t,r,n)=>(e=Nt[e])(null,t=Et.toValue(t),r,n),e:(e,t,r,n,a)=>(e=Nt[e])(t=Et.toValue(t),t[r=Wt(r)],n,a),b:_t,D:(e,t)=>(e=Et.toValue(e))==(t=Et.toValue(t)),I:e=>0===e?Et.toHandle(Ut()):(e=Wt(e),Et.toHandle(Ut()[e])),d:(e,t,r)=>{var n=((e,t)=>{for(var r=new Array(e),n=0;n<e;++n)r[n]=Pt(b[t+4*n>>2],"parameter "+n);return r})(e,t),a=n.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",i=0,o=[];0===r&&o.push("obj");for(var l=["retType"],c=[a],u=0;u<e;++u)o.push("arg"+u),l.push("argType"+u),c.push(n[u]),s+=` var arg${u} = argType${u}.readValueFromPointer(args${i?"+"+i:""});\n`,i+=n[u].argPackAdvance;s+=` var rv = ${1===r?"new func":"func.call"}(${o.join(", ")});\n`,a.isVoid||(l.push("emval_returnValue"),c.push(Mt),s+=" return emval_returnValue(retType, destructorsRef, rv);\n"),s+="};\n",l.push(s);var d,h,f=st(Function,l)(...c),m=`methodCaller<(${n.map((e=>e.name)).join(", ")}) => ${a.name}>`;return d=We(m,f),h=Nt.length,Nt.push(d),h},j:e=>(e=Wt(e),Et.toHandle(n[e])),u:(e,t)=>(e=Et.toValue(e),t=Et.toValue(t),Et.toHandle(e[t])),f:e=>{e>9&&(vt[e+1]+=1)},$a:(e,t)=>(e=Et.toValue(e))instanceof(t=Et.toValue(t)),ab:()=>Et.toHandle([]),p:e=>Et.toHandle(Wt(e)),K:()=>Et.toHandle({}),c:e=>{var t=Et.toValue(e);me(t),_t(e)},v:(e,t,r)=>{e=Et.toValue(e),t=Et.toValue(t),r=Et.toValue(r),e[t]=r},i:(e,t)=>{var r=(e=Pt(e,"_emval_take_value")).readValueFromPointer(t);return Et.toHandle(r)},ib:function(e,t,r){if(!((n=e)>=0&&n<=3))return 28;var n,a;a=0===e?Date.now():performance.now();var s=Math.round(1e3*a*1e3);return x[r>>3]=BigInt(s),0},R:(e,t,r)=>{var n=Xt(e);if(!n)return-4;_[t>>2]=n.width,_[r>>2]=n.height},_a:Kt,Za:Qt,Xa:Yt,Wa:Zt,Va:er,Ua:tr,Ta:rr,Ab:ar,xb:ir,Sa:or,Ra:lr,Bb:cr,Qa:ur,sb:dr,Pa:hr,Oa:fr,Na:mr,Ma:pr,La:gr,Ka:wr,Ja:yr,Ia:vr,Ha:_r,Ga:br,Fa:Er,Ea:xr,Da:Cr,Ca:Pr,Ba:Ar,tb:Tr,Aa:Ir,zb:Sr,wb:Fr,za:Lr,ya:Dr,xa:$r,wa:Mr,va:Gr,ua:Rr,ta:Br,ub:Or,sa:jr,ra:Nr,qa:Vr,pa:Wr,oa:Ur,na:Hr,ma:zr,la:Xr,yb:Jr,vb:Kr,Cb:Qr,ka:Yr,ja:Zr,ia:en,ha:nn,ga:an,fa:sn,ea:on,da:ln,ca:cn,ba:un,aa:hn,$:fn,_:pn,Ya:gn,Z:wn,Y:yn,X:vn,W:_n,V:Cn,U:Pn,rb:An,T:Tn,S:In,gc:kn,fc:Sn,ec:Fn,dc:Ln,cc:Dn,bc:$n,ac:Gn,$b:Bn,_b:On,Zb:Nn,Yb:Vn,Xb:Wn,Wb:Un,Vb:Hn,Ub:zn,Tb:Xn,Sb:qn,Rb:Jn,Qb:Kn,Pb:Qn,Ob:Yn,Nb:Zn,Mb:ea,Lb:ta,Kb:ra,Jb:na,Ib:aa,Hb:sa,Gb:ia,Fb:oa,Eb:la,Db:ca,qb:ua,jb:e=>{var t,r,n=w.length,a=2147483648;if((e>>>=0)>a)return!1;for(var s=1;s<=4;s*=2){var i=n*(1+.2/s);i=Math.min(i,e+100663296);var o=Math.min(a,(t=Math.max(e,i),r=65536,Math.ceil(t/r)*r));if(da(o))return!0}return!1},J:fa,F:e=>{Jt.currentContext==e&&(Jt.currentContext=0),Jt.deleteContext(e)},y:ma,o:e=>Jt.makeContextCurrent(e)?0:-5,E:function(e){try{var t=de.getStreamFromFD(e);return ce.close(t),0}catch(e){if(void 0===ce||"ErrnoError"!==e.name)throw e;return e.errno}},nb:function(e,t,r,n){try{var a=((e,t,r,n)=>{for(var a=0,s=0;s<r;s++){var i=b[t>>2],o=b[t+4>>2];t+=8;var l=ce.read(e,g,i,o,n);if(l<0)return-1;if(a+=l,l<o)break;void 0!==n&&(n+=l)}return a})(de.getStreamFromFD(e),t,r);return b[n>>2]=a,0}catch(e){if(void 0===ce||"ErrnoError"!==e.name)throw e;return e.errno}},mb:function(e,t,r,n){var a;t=(a=t)<-9007199254740992||a>9007199254740992?NaN:Number(a);try{if(isNaN(t))return 61;var s=de.getStreamFromFD(e);return ce.llseek(s,t,r),x[n>>3]=BigInt(s.position),s.getdents&&0===t&&0===r&&(s.getdents=null),0}catch(e){if(void 0===ce||"ErrnoError"!==e.name)throw e;return e.errno}},O:function(e,t,r,n){try{var a=((e,t,r,n)=>{for(var a=0,s=0;s<r;s++){var i=b[t>>2],o=b[t+4>>2];t+=8;var l=ce.write(e,g,i,o,n);if(l<0)return-1;if(a+=l,l<o)break;void 0!==n&&(n+=l)}return a})(de.getStreamFromFD(e),t,r);return b[n>>2]=a,0}catch(e){if(void 0===ce||"ErrnoError"!==e.name)throw e;return e.errno}}},va=await async function(){function e(e,t){var r;return va=e.exports,va=dt.instrumentWasmExports(va),m=va.hc,k(),va.kc,r=va.ic,L.unshift(r),R(),va}G();var t={a:ya};if(n.instantiateWasm)try{return n.instantiateWasm(t,e)}catch(e){f(`Module.instantiateWasm callback failed with error: ${e}`),r(e)}S??(S=O());try{var a=await N(A,S,t);return e(a.instance)}catch(e){return r(e),Promise.reject(e)}}();va.ic;var _a=va.jc,ba=va.lc,Ea=va.mc;n.dynCall_ii=va.nc,n.dynCall_vi=va.oc,n.dynCall_ji=va.pc,n.dynCall_iii=va.qc,n.dynCall_vii=va.rc,n.dynCall_v=va.sc,n.dynCall_viij=va.tc,n.dynCall_fij=va.uc,n.dynCall_iij=va.vc,n.dynCall_viiij=va.wc,n.dynCall_viii=va.xc,n.dynCall_fif=va.yc,n.dynCall_viiii=va.zc,n.dynCall_fii=va.Ac,n.dynCall_iiii=va.Bc,n.dynCall_jii=va.Cc,n.dynCall_jij=va.Dc,n.dynCall_vij=va.Ec,n.dynCall_iiiiii=va.Fc,n.dynCall_viiiii=va.Gc,n.dynCall_iiiff=va.Hc,n.dynCall_vijii=va.Ic,n.dynCall_iiifi=va.Jc,n.dynCall_fi=va.Kc,n.dynCall_jijf=va.Lc,n.dynCall_fiii=va.Mc,n.dynCall_viiiji=va.Nc,n.dynCall_iijj=va.Oc,n.dynCall_iiiij=va.Pc,n.dynCall_diiii=va.Qc,n.dynCall_i=va.Rc,n.dynCall_vif=va.Sc,n.dynCall_di=va.Tc,n.dynCall_vid=va.Uc,n.dynCall_iiiiiii=va.Vc,n.dynCall_viiiiii=va.Wc,n.dynCall_iiiii=va.Xc,n.dynCall_iiiifii=va.Yc,n.dynCall_viiifii=va.Zc,n.dynCall_viiff=va._c,n.dynCall_iiiiiiii=va.$c,n.dynCall_viiiiiii=va.ad,n.dynCall_iiiffi=va.bd,n.dynCall_iifffffffff=va.cd,n.dynCall_vifffffffff=va.dd,n.dynCall_iiff=va.ed,n.dynCall_viff=va.fd,n.dynCall_iif=va.gd,n.dynCall_viif=va.hd,n.dynCall_viffffff=va.id,n.dynCall_viffff=va.jd,n.dynCall_vifff=va.kd,n.dynCall_dii=va.ld,n.dynCall_viid=va.md,n.dynCall_iiiiffi=va.nd,n.dynCall_viiif=va.od,n.dynCall_viifffffffff=va.pd,n.dynCall_viiffffff=va.qd,n.dynCall_viiffff=va.rd,n.dynCall_viifff=va.sd,n.dynCall_viifi=va.td,n.dynCall_viddi=va.ud,n.dynCall_vifii=va.vd,n.dynCall_viifd=va.wd,n.dynCall_iiffi=va.xd,n.dynCall_viiiiiffii=va.yd,n.dynCall_iifii=va.zd,n.dynCall_vffff=va.Ad,n.dynCall_viiiiiiii=va.Bd,n.dynCall_vf=va.Cd,n.dynCall_viiiiiiiii=va.Dd,n.dynCall_viiiiiiiiii=va.Ed,n.dynCall_jiji=va.Fd,n.dynCall_iidiiii=va.Gd;var xa=va.Hd,Ca=va.Id,Pa=va.Jd,Aa=va.Kd;if(n.GL=Jt,n.Asyncify=dt,n.preInit)for("function"==typeof n.preInit&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();return function e(){function r(){n.calledRun=!0,T||(n.noFSInit||ce.initialized||ce.init(),ce.ignorePermissions=!1,W(L),t(n),n.onRuntimeInitialized?.(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)e=n.postRun.shift(),D.unshift(e);var e;W(D)}())}$>0?M=e:(function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)e=n.preRun.shift(),F.unshift(e);var e;W(F)}(),$>0?M=e:n.setStatus?(n.setStatus("Running..."),setTimeout((()=>{setTimeout((()=>n.setStatus("")),1),r()}),1)):r())}(),a});class wt{constructor(){this.executing=!1,this.queue=[]}exec(e,t,...r){return new Promise(((n,a)=>{this.queue.push({fn:async()=>{if(e)try{const a=await e.call(t,...r);n(a)}catch(e){a(e)}else a(new Error("Function is null!"))}}),this.executing||this.execNextTask()}))}execNextTask(){if(this.queue.length<1)return void(this.executing=!1);this.executing=!0;this.queue.shift().fn().then((()=>{this.execNextTask()}))}}const yt=[],vt=[],_t=[],bt=[],Et=(e={})=>gt(e).then((e=>(ht(e),e.webAssemblyQueue=new wt,e.globalCanvas=new e.GlobalCanvas,e.PAGFont.registerFallbackFontNames(),e))).catch((e=>{throw console.error(e),new Error("PAGInit fail! Please check .wasm file path valid.")}));oe&&(e=>{onmessage=async t=>{const r={[Le.PAGInit]:t=>{const r={};t.data.args[0]&&(r.locateFile=()=>t.data.args[0].fileUrl),e(r).then((e=>{self.PAG=e,self.postMessage({name:t.data.name,args:[]})}))},[Le.PAGFile_load]:async e=>{const t=(r=await self.PAG.PAGFile.load(e.data.args[0]),yt.push(r),yt.length-1);var r;self.postMessage({name:e.data.name,args:[t]})},[Le.PAGView_init]:async e=>{const[t,r,n]=e.data.args,a=(s=await self.PAG.PAGView.init(yt[t],r,n),vt.push(s),vt.length-1);var s;self.postMessage({name:e.data.name,args:[a]})},[Le.PAGView_destroy]:async e=>{const[t]=e.data.args;vt[t].destroy(),(e=>{vt[e]=null})(t),self.postMessage({name:e.data.name,args:[]})},[Le.PAGFile_getTextData]:async e=>{const[t,r]=e.data.args,n=yt[t].getTextData(r);let a={};for(const e in n)"function"!=typeof n[e]&&(a[e]=n[e]);a.key=(e=>(bt.push(e),bt.length-1))(n),self.postMessage({name:e.data.name,args:[a]})},[Le.PAGFile_replaceText]:async e=>{const[t,r,n]=e.data.args,a=bt[n.key];for(const e in n)"key"!==e&&(a[e]=n[e]);yt[t].replaceText(r,a),self.postMessage({name:e.data.name,args:[]})},[Le.PAGFile_replaceImage]:async e=>{const[t,r,n]=e.data.args,a=_t[n];yt[t].replaceImage(r,a),self.postMessage({name:e.data.name,args:[]})},[Le.PAGFile_destroy]:async e=>{const[t]=e.data.args;yt[t].destroy(),(e=>{yt[e]=null})(t),self.postMessage({name:e.data.name,args:[]})},[Le.PAGImage_fromSource]:async e=>{const[t]=e.data.args,r=(n=self.PAG.PAGImage.fromSource(t),_t.push(n),_t.length-1);var n;self.postMessage({name:e.data.name,args:[r]})},[Le.PAGImage_destroy]:async e=>{const[t]=e.data.args;_t[t].destroy(),(e=>{_t[e]=null})(t),self.postMessage({name:e.data.name,args:[]})},[Le.TextDocument_delete]:async e=>{const[t]=e.data.args;bt[t].delete(),(e=>{bt[e]=null})(t),self.postMessage({name:e.data.name,args:[]})}},n=t.data.name.split("_")[0];if(r[n])return void r[n](t);const[a,s]=n.split("."),i=t.data.args[0];if("PAGFile"!==a)if("PAGView"!==a);else{const e=vt[i];if(!e)throw new Error("pagView doesn't exist");const r=e[s];if(!r)throw new Error(`PAGView.${s} doesn't exist`);const n=await r.call(e,...t.data.args.slice(1));self.postMessage({name:t.data.name,args:[n]})}else{const e=yt[i];if(!e)throw new Error("pagFile doesn't exist");const r=e[s];if(!r)throw new Error(`PAGFile.${s} doesn't exist`);const n=await r.call(e,...t.data.args.slice(1));self.postMessage({name:t.data.name,args:[n]})}}})(Et),e.PAGInit=Et,e.types=g,Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).libpag={})}(this,function(e){"use strict";const t=(()=>{if("undefined"!=typeof globalThis)return globalThis;if("undefined"!=typeof window)return window;if("undefined"!=typeof global)return global;if("undefined"!=typeof self)return self;throw new Error("unable to locate global object")})();let r;void 0===t.globalThis&&Object.defineProperty(t,"globalThis",{get:()=>t});function n(e){let t=Object.getOwnPropertyNames(e.prototype).filter(t=>"constructor"!==t&&"function"==typeof e.prototype[t]);const r=(t,r)=>{const n=t[r];t[r]=function(...t){if(!this.isDestroyed)return n.call(this,...t);console.error(`Don't call ${r} of the ${e.name} that is destroyed.`)}};t.forEach(t=>r(e.prototype,t))}var s=(e=>(e[e.None=0]="None",e[e.Stretch=1]="Stretch",e[e.LetterBox=2]="LetterBox",e[e.Zoom=3]="Zoom",e))(s||{}),a=(e=>(e.onAnimationStart="onAnimationStart",e.onAnimationEnd="onAnimationEnd",e.onAnimationCancel="onAnimationCancel",e.onAnimationRepeat="onAnimationRepeat",e.onAnimationUpdate="onAnimationUpdate",e.onAnimationPlay="onAnimationPlay",e.onAnimationPause="onAnimationPause",e.onAnimationFlushed="onAnimationFlushed",e))(a||{}),i=(e=>(e[e.LeftJustify=0]="LeftJustify",e[e.CenterJustify=1]="CenterJustify",e[e.RightJustify=2]="RightJustify",e[e.FullJustifyLastLineLeft=3]="FullJustifyLastLineLeft",e[e.FullJustifyLastLineRight=4]="FullJustifyLastLineRight",e[e.FullJustifyLastLineCenter=5]="FullJustifyLastLineCenter",e[e.FullJustifyLastLineFull=6]="FullJustifyLastLineFull",e))(i||{}),o=(e=>(e[e.Default=0]="Default",e[e.Horizontal=1]="Horizontal",e[e.Vertical=2]="Vertical",e))(o||{}),l=(e=>(e[e.Unknown=0]="Unknown",e[e.Null=1]="Null",e[e.Solid=2]="Solid",e[e.Text=3]="Text",e[e.Shape=4]="Shape",e[e.Image=5]="Image",e[e.PreCompose=6]="PreCompose",e))(l||{}),u=(e=>(e[e.None=0]="None",e[e.Scale=1]="Scale",e[e.Repeat=2]="Repeat",e[e.RepeatInverted=3]="RepeatInverted",e))(u||{}),c=(e=>(e[e.a=0]="a",e[e.c=1]="c",e[e.tx=2]="tx",e[e.b=3]="b",e[e.d=4]="d",e[e.ty=5]="ty",e))(c||{}),h=(e=>(e[e.Success=0]="Success",e[e.TryAgainLater=-1]="TryAgainLater",e[e.Error=-2]="Error",e))(h||{}),d=(e=>(e[e.Unknown=0]="Unknown",e[e.ALPHA_8=1]="ALPHA_8",e[e.RGBA_8888=2]="RGBA_8888",e[e.BGRA_8888=3]="BGRA_8888",e))(d||{}),m=(e=>(e[e.Unknown=0]="Unknown",e[e.Opaque=1]="Opaque",e[e.Premultiplied=2]="Premultiplied",e[e.Unpremultiplied=3]="Unpremultiplied",e))(m||{});class f extends Array{constructor(...e){super(...e),this.isDeleted=!1,Object.setPrototypeOf(this,f.prototype)}static create(){return new f}get(e){if(this.ensureNotDeleted(),e<0||e>=this.length)throw new RangeError("Index out of bounds");return this[e]}push_back(e){this.ensureNotDeleted(),this.push(e)}size(){return this.ensureNotDeleted(),this.length}delete(){this.ensureNotDeleted(),this.length=0,this.isDeleted=!0}ensureNotDeleted(){if(this.isDeleted)throw new Error("This VecArray instance has been deleted.")}}var p=Object.freeze({__proto__:null,PAGScaleMode:s,PAGViewListenerEvent:a,ParagraphJustification:i,TextDirection:o,LayerType:l,PAGTimeStretchMode:u,MatrixIndex:c,DecoderResult:h,ColorType:d,AlphaType:m,VecArray:f}),g=Object.defineProperty,w=Object.getOwnPropertyDescriptor;let v=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}static makeAll(e,t,n,s,a,i,o=0,l=0,u=1){const c=r._Matrix._MakeAll(e,t,n,s,a,i,o,l,u);if(!c)throw new Error("Matrix.makeAll fail, please check parameters valid!");return new v(c)}static makeScale(e,t){let n;if(n=void 0!==t?r._Matrix._MakeScale(e,t):r._Matrix._MakeScale(e),!n)throw new Error("Matrix.makeScale fail, please check parameters valid!");return new v(n)}static makeTrans(e,t){const n=r._Matrix._MakeTrans(e,t);if(!n)throw new Error("Matrix.makeTrans fail, please check parameters valid!");return new v(n)}get a(){return this.wasmIns?this.wasmIns._get(c.a):0}set a(e){this.wasmIns?._set(c.a,e)}get b(){return this.wasmIns?this.wasmIns._get(c.b):0}set b(e){this.wasmIns?._set(c.b,e)}get c(){return this.wasmIns?this.wasmIns._get(c.c):0}set c(e){this.wasmIns?._set(c.c,e)}get d(){return this.wasmIns?this.wasmIns._get(c.d):0}set d(e){this.wasmIns?._set(c.d,e)}get tx(){return this.wasmIns?this.wasmIns._get(c.tx):0}set tx(e){this.wasmIns?._set(c.tx,e)}get ty(){return this.wasmIns?this.wasmIns._get(c.ty):0}set ty(e){this.wasmIns?._set(c.ty,e)}get(e){return this.wasmIns?this.wasmIns._get(e):0}set(e,t){this.wasmIns?._set(e,t)}setAll(e,t,r,n,s,a){this.wasmIns?._setAll(e,t,r,n,s,a,0,0,1)}setAffine(e,t,r,n,s,a){this.wasmIns?._setAffine(e,t,r,n,s,a)}reset(){this.wasmIns?._reset()}setTranslate(e,t){this.wasmIns?._setTranslate(e,t)}setScale(e,t,r=0,n=0){this.wasmIns?._setScale(e,t,r,n)}setRotate(e,t=0,r=0){this.wasmIns?._setRotate(e,t,r)}setSinCos(e,t,r=0,n=0){this.wasmIns?._setSinCos(e,t,r,n)}setSkew(e,t,r=0,n=0){this.wasmIns?._setSkew(e,t,r,n)}setConcat(e,t){this.wasmIns?._setConcat(e.wasmIns,t.wasmIns)}preTranslate(e,t){this.wasmIns?._preTranslate(e,t)}preScale(e,t,r=0,n=0){this.wasmIns?._preScale(e,t,r,n)}preRotate(e,t=0,r=0){this.wasmIns?._preRotate(e,t,r)}preSkew(e,t,r=0,n=0){this.wasmIns?._preSkew(e,t,r,n)}preConcat(e){this.wasmIns?._preConcat(e.wasmIns)}postTranslate(e,t){this.wasmIns?._postTranslate(e,t)}postScale(e,t,r=0,n=0){this.wasmIns?._postScale(e,t,r,n)}postRotate(e,t=0,r=0){this.wasmIns?._postRotate(e,t,r)}postSkew(e,t,r=0,n=0){this.wasmIns?._postSkew(e,t,r,n)}postConcat(e){this.wasmIns?._postConcat(e.wasmIns)}destroy(){this.wasmIns.delete()}};v=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?w(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&g(t,r,a),a})([n],v);const y=(e,t,...r)=>e.call(t,...r),b=(e,t)=>new Proxy(e,{get(e,r,n){switch(r){case"get":return r=>{const n=y(e.get,e,r);return n?t(n):n};case"push_back":return t=>{y(e.push_back,e,t.wasmIns||t)};case"size":return()=>y(e.size,e);default:return Reflect.get(e,r,n)}}}),_=e=>{switch(y(e._layerType,e)){case l.Solid:return new r.PAGSolidLayer(e);case l.Text:return new r.PAGTextLayer(e);case l.Image:return new r.PAGImageLayer(e);default:return new r.PAGLayer(e)}},E=e=>e?.wasmIns?e.wasmIns:e,x=(e,t)=>void 0!==t&&e instanceof t;var C=Object.defineProperty,T=Object.getOwnPropertyDescriptor;let P=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}uniqueID(){return this.wasmIns._uniqueID()}layerType(){return this.wasmIns._layerType()}layerName(){return this.wasmIns._layerName()}matrix(){const e=this.wasmIns._matrix();if(!e)throw new Error("Get matrix fail!");return new v(e)}setMatrix(e){this.wasmIns._setMatrix(e.wasmIns)}resetMatrix(){this.wasmIns._resetMatrix()}getTotalMatrix(){if(!this.wasmIns._getTotalMatrix())throw new Error("Get total matrix fail!");return new v(this.wasmIns._getTotalMatrix())}alpha(){return this.wasmIns._alpha()}setAlpha(e){this.wasmIns._setAlpha(e)}visible(){return this.wasmIns._visible()}setVisible(e){this.wasmIns._setVisible(e)}editableIndex(){return this.wasmIns._editableIndex()}parent(){const e=this.wasmIns._parent();if(!e)throw new Error("Get total matrix fail!");return new S(e)}markers(){const e=this.wasmIns._markers();if(!e)throw new Error("Get markers fail!");return b(e,e=>e)}localTimeToGlobal(e){return this.wasmIns._localTimeToGlobal(e)}globalToLocalTime(e){return this.wasmIns._globalToLocalTime(e)}duration(){return this.wasmIns._duration()}frameRate(){return this.wasmIns._frameRate()}startTime(){return this.wasmIns._startTime()}setStartTime(e){this.wasmIns._setStartTime(e)}currentTime(){return this.wasmIns._currentTime()}setCurrentTime(e){this.wasmIns._setCurrentTime(e)}getProgress(){return this.wasmIns._getProgress()}setProgress(e){this.wasmIns._setProgress(e)}preFrame(){this.wasmIns._preFrame()}nextFrame(){this.wasmIns._nextFrame()}getBounds(){return this.wasmIns._getBounds()}trackMatteLayer(){const e=this.wasmIns._trackMatteLayer();if(!e)throw new Error("Get track matte layer fail!");return _(e)}excludedFromTimeline(){return this.wasmIns._excludedFromTimeline()}setExcludedFromTimeline(e){this.wasmIns._setExcludedFromTimeline(e)}isPAGFile(){return this.wasmIns._isPAGFile()}asTypeLayer(){return _(this.wasmIns)}isDelete(){return this.wasmIns.isDelete()}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};P=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?T(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&C(t,r,a),a})([n],P);var I=Object.defineProperty,k=Object.getOwnPropertyDescriptor;let S=class extends P{static make(e,t){const n=r._PAGComposition._Make(e,t);if(!n)throw new Error("Make PAGComposition fail!");return new S(n)}width(){return this.wasmIns._width()}height(){return this.wasmIns._height()}setContentSize(e,t){this.wasmIns._setContentSize(e,t)}numChildren(){return this.wasmIns._numChildren()}getLayerAt(e){const t=this.wasmIns._getLayerAt(e);if(!t)throw new Error(`Get layer at ${e} fail!`);return _(t)}getLayerIndex(e){return this.wasmIns._getLayerIndex(e.wasmIns)}setLayerIndex(e,t){return this.wasmIns._setLayerIndex(e.wasmIns,t)}addLayer(e){return this.wasmIns._addLayer(e.wasmIns)}addLayerAt(e,t){return this.wasmIns._addLayerAt(e.wasmIns,t)}contains(e){return this.wasmIns._contains(e.wasmIns)}removeLayer(e){const t=this.wasmIns._removeLayer(e.wasmIns);if(!t)throw new Error("Remove layer fail!");return _(t)}removeLayerAt(e){const t=this.wasmIns._removeLayerAt(e);if(!t)throw new Error(`Remove layer at ${e} fail!`);return _(t)}removeAllLayers(){this.wasmIns._removeAllLayers()}swapLayer(e,t){this.wasmIns._swapLayer(e.wasmIns,t.wasmIns)}swapLayerAt(e,t){this.wasmIns._swapLayerAt(e,t)}audioBytes(){return this.wasmIns._audioBytes()}audioMarkers(){const e=this.wasmIns._audioMarkers();if(!e)throw new Error("Get audioMarkers fail!");return b(e,e=>e)}audioStartTime(){return this.wasmIns._audioStartTime()}getLayersByName(e){const t=this.wasmIns._getLayersByName(e);if(!t)throw new Error(`Get layers by ${e} fail!`);const r=f.create();for(const e of t)r.push(_(e));return r}getLayersUnderPoint(e,t){const r=this.wasmIns._getLayersUnderPoint(e,t);if(!r)throw new Error(`Get layers under point ${e},${t} fail!`);const n=f.create();for(const e of r)n.push(_(e));return n}};S=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?k(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&I(t,r,a),a})([n],S);const A=e=>new Promise(t=>{const r=new FileReader;r.onload=()=>{t(r.result)},r.onerror=()=>{console.error(r.error.message)},r.readAsArrayBuffer(e)});var L=Object.defineProperty,F=Object.getOwnPropertyDescriptor;let $=class extends S{static async load(e){const t=await(e=>x(e,globalThis.File)?A(e):x(e,globalThis.Blob)?A(new File([e],"")):x(e,globalThis.ArrayBuffer)?Promise.resolve(e):Promise.resolve(null))(e);if(!t)throw new Error("Initialize PAGFile data type error, please put check data type must to be File | Blob | ArrayBuffer!");return $.loadFromBuffer(t)}static loadFromBuffer(e){if(!(e&&e.byteLength>0))throw new Error("Initialize PAGFile data not be empty!");const t=new Uint8Array(e),n=r._PAGFile._Load(t);if(!n)throw new Error("Load PAGFile fail!");return new $(n)}static maxSupportedTagLevel(){return r._PAGFile._MaxSupportedTagLevel()}tagLevel(){return this.wasmIns._tagLevel()}numTexts(){return this.wasmIns._numTexts()}numImages(){return this.wasmIns._numImages()}numVideos(){return this.wasmIns._numVideos()}getTextData(e){return this.wasmIns._getTextData(e)}replaceText(e,t){this.wasmIns._replaceText(e,t)}replaceImage(e,t){this.wasmIns._replaceImage(e,t.wasmIns)}getLayersByEditableIndex(e,t){const r=this.wasmIns._getLayersByEditableIndex(e,t);if(!r)throw new Error(`Get ${(e=>{switch(e){case l.Solid:return"Solid";case l.Text:return"Text";case l.Shape:return"Shape";case l.Image:return"Image";case l.PreCompose:return"PreCompose";default:return"Unknown"}})(t)} layers by ${e} fail!`);const n=f.create();for(const e of r)n.push(_(e));return n}getEditableIndices(e){return this.wasmIns._getEditableIndices(e)}timeStretchMode(){return this.wasmIns._timeStretchMode()}setTimeStretchMode(e){this.wasmIns._setTimeStretchMode(e)}setDuration(e){this.wasmIns._setDuration(e)}copyOriginal(){const e=this.wasmIns._copyOriginal();if(!e)throw new Error("Copy original fail!");return new $(e)}};$=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?F(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&L(t,r,a),a})([n],$);var D=Object.defineProperty,B=Object.getOwnPropertyDescriptor;let M=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}static fromCanvas(e){const t=r._PAGSurface._FromCanvas(e);if(!t)throw new Error(`Make PAGSurface from canvas ${e} fail!`);return new M(t)}static fromTexture(e,t,n,s){const a=r._PAGSurface._FromTexture(e,t,n,s);if(!a)throw new Error(`Make PAGSurface from texture ${e} fail!`);return new M(a)}static fromRenderTarget(e,t,n,s){const a=r._PAGSurface._FromRenderTarget(e,t,n,s);if(!a)throw new Error(`Make PAGSurface from frameBuffer ${e} fail!`);return new M(a)}width(){return this.wasmIns._width()}height(){return this.wasmIns._height()}updateSize(){this.wasmIns._updateSize()}clearAll(){return this.wasmIns._clearAll()}freeCache(){this.wasmIns._freeCache()}readPixels(e,t){if(e===d.Unknown)return null;const r=this.wasmIns._width()*(e===d.ALPHA_8?1:4);return this.wasmIns._readPixels(e,t,r)}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};M=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?B(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&D(t,r,a),a})([n],M);var R=Object.defineProperty,G=Object.getOwnPropertyDescriptor;let O=class{constructor(e){this.isDestroyed=!1,this.videoReaders=[],this.wasmIns=e}static create(){const e=new r._PAGPlayer;if(!e)throw new Error("Create PAGPlayer fail!");return new O(e)}setProgress(e){this.wasmIns._setProgress(e)}async flush(){return r.webAssemblyQueue.exec(this.wasmIns._flush,this.wasmIns)}async flushInternal(e){const t=await r.webAssemblyQueue.exec(async()=>{r.currentPlayer=this;const t=await this.wasmIns._flush();return r.currentPlayer=null,e(t),t},this.wasmIns);for(const e of this.videoReaders){const t=await e.getError();if(null!==t)throw t}return t}duration(){return this.wasmIns._duration()}getProgress(){return this.wasmIns._getProgress()}currentFrame(){return this.wasmIns._currentFrame()}videoEnabled(){return this.wasmIns._videoEnabled()}setVideoEnabled(e){this.wasmIns._setVideoEnabled(e)}cacheEnabled(){return this.wasmIns._cacheEnabled()}setCacheEnabled(e){this.wasmIns._setCacheEnabled(e)}cacheScale(){return this.wasmIns._cacheScale()}setCacheScale(e){this.wasmIns._setCacheScale(e)}maxFrameRate(){return this.wasmIns._maxFrameRate()}setMaxFrameRate(e){this.wasmIns._setMaxFrameRate(e)}scaleMode(){return this.wasmIns._scaleMode()}setScaleMode(e){this.wasmIns._setScaleMode(e)}setSurface(e){this.wasmIns._setSurface(E(e))}getComposition(){const e=this.wasmIns._getComposition();if(!e)throw new Error("Get composition fail!");return e._isPAGFile()?new $(e):new S(e)}setComposition(e){this.wasmIns._setComposition(E(e))}getSurface(){const e=this.wasmIns._getSurface();if(!e)throw new Error("Get surface fail!");return new M(e)}matrix(){const e=this.wasmIns._matrix();if(!e)throw new Error("Get matrix fail!");return new v(e)}setMatrix(e){this.wasmIns._setMatrix(e.wasmIns)}nextFrame(){this.wasmIns._nextFrame()}preFrame(){this.wasmIns._preFrame()}autoClear(){return this.wasmIns._autoClear()}setAutoClear(e){this.wasmIns._setAutoClear(e)}getBounds(e){return this.wasmIns._getBounds(e.wasmIns)}getLayersUnderPoint(e,t){const r=this.wasmIns._getLayersUnderPoint(e,t);if(!r)throw new Error(`Get layers under point, x: ${e} y:${t} fail!`);const n=f.create();for(const e of r)n.push(_(e));return n}hitTestPoint(e,t,r,n=!1){return this.wasmIns._hitTestPoint(e.wasmIns,t,r,n)}renderingTime(){return this.wasmIns._renderingTime()}imageDecodingTime(){return this.wasmIns._imageDecodingTime()}presentingTime(){return this.wasmIns._presentingTime()}graphicsMemory(){return this.wasmIns._graphicsMemory()}prepare(){return r.webAssemblyQueue.exec(async()=>{r.currentPlayer=this,await this.wasmIns._prepare(),r.currentPlayer=null},this.wasmIns)}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}linkVideoReader(e){this.videoReaders.push(e)}unlinkVideoReader(e){const t=this.videoReaders.indexOf(e);-1!==t&&this.videoReaders.splice(t,1)}};O=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?G(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&R(t,r,a),a})([n],O);var N=Object.defineProperty,j=Object.getOwnPropertyDescriptor;let W=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}static async fromFile(e){return new Promise((t,r)=>{const n=new Image;n.onload=async()=>{t(W.fromSource(n))},n.onerror=e=>{r(e)},n.src=URL.createObjectURL(e)})}static fromSource(e){const t=r._PAGImage._FromNativeImage(e);if(!t)throw new Error("Make PAGImage from source fail!");return new W(t)}static fromPixels(e,t,n,s,a){const i=t*(s===d.ALPHA_8?1:4),o=r._PAGImage._FromPixels(e,t,n,i,s,a);if(!o)throw new Error("Make PAGImage from pixels fail!");return new W(o)}static fromTexture(e,t,n,s){const a=r._PAGImage._FromTexture(e,t,n,s);if(!a)throw new Error("Make PAGImage from texture fail!");return new W(a)}width(){return this.wasmIns._width()}height(){return this.wasmIns._height()}scaleMode(){return this.wasmIns._scaleMode()}setScaleMode(e){this.wasmIns._setScaleMode(e)}matrix(){const e=this.wasmIns._matrix();if(!e)throw new Error("Get matrix fail!");return new v(e)}setMatrix(e){this.wasmIns._setMatrix(e.wasmIns)}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};W=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?j(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&N(t,r,a),a})([n],W);class U{constructor(){this.listenerMap=new Map}on(e,t){let r=[];this.listenerMap.has(e)&&(r=this.listenerMap.get(e)),r.push(t),this.listenerMap.set(e,r)}off(e,t){if(!this.listenerMap.has(e))return!1;const r=this.listenerMap.get(e);if(0===r.length)return!1;if(!t)return this.listenerMap.delete(e),!0;const n=r.indexOf(t);return-1!==n&&(r.splice(n,1),!0)}emit(e,t){if(!this.listenerMap.has(e))return!1;const r=this.listenerMap.get(e);return 0!==r.length&&(r.forEach(e=>e(t)),!0)}}const V=2560,z={depth:!1,stencil:!1,antialias:!1};class H{constructor(e,t=!1){this.isDestroyed=!1,this.oldHandle=0,this.handle=e,this.externallyOwned=t}static from(e){if(e instanceof H)return new H(e.handle,!0);{const t=x(e,globalThis.WebGL2RenderingContext)?2:1,{GL:n}=r;let s=0;return n.contexts.length>0&&(s=n.contexts.findIndex(t=>t?.GLctx===e)),s<1?(s=n.registerContext(e,{majorVersion:t,minorVersion:0,...z}),new H(s)):new H(s,!0)}}getContext(){return r.GL.getContext(this.handle).GLctx}makeCurrent(){return!this.isDestroyed&&(this.oldHandle=r.GL.currentContext?.handle||0,this.oldHandle===this.handle||r.GL.makeContextCurrent(this.handle))}clearCurrent(){this.isDestroyed||this.oldHandle!==this.handle&&(r.GL.makeContextCurrent(0),this.oldHandle&&r.GL.makeContextCurrent(this.oldHandle))}registerTexture(e){return this.register(r.GL.textures,e)}getTexture(e){return r.GL.textures[e]}unregisterTexture(e){r.GL.textures[e]=null}registerRenderTarget(e){return this.register(r.GL.framebuffers,e)}getRenderTarget(e){return r.GL.framebuffers[e]}unregisterRenderTarget(e){r.GL.framebuffers[e]=null}destroy(){this.externallyOwned||r.GL.deleteContext(this.handle)}register(e,t){const n=r.GL.getNewId(e);return e[n]=t,n}}const X=[];class q{constructor(e,t){this._canvas=null,this._glContext=null,this.retainCount=0,this._canvas=e;const r=e.getContext("webgl",{...z,...t});if(!r)throw new Error("Canvas context is not WebGL!");this._glContext=H.from(r)}static from(e,t){let r=X.find(t=>t.canvas===e);return r||(r=new q(e,t),X.push(r),r)}retain(){this.retainCount+=1}release(){if(this.retainCount-=1,0===this.retainCount){if(!this._glContext)return;this._glContext.destroy(),this._glContext=null,this._canvas=null}}get canvas(){return this._canvas}get glContext(){return this._glContext}}let J;try{J=performance.now.bind(performance)}catch(e){J=Date.now.bind(Date)}class K{constructor(){this.startTime=J(),this.markers={}}reset(){this.startTime=J(),this.markers={}}mark(e){e?Object.keys(this.markers).find(t=>t===e)?console.log(`Clock.mark(): The specified marker name '${e}' already exists!`):this.markers[e]=J():console.log("Clock.mark(): An empty marker name was specified!")}measure(e,t){let r,n;if(e){if(!Object.keys(this.markers).find(t=>t===e))return console.log(`Clock.measure(): The specified makerFrom '${e}' does not exist!`),0;r=this.markers[e]}else r=this.startTime;if(t){if(!Object.keys(this.markers).find(e=>e===t))return console.log(`Clock.measure(): The specified makerTo '${t}' does not exist!`),0;n=this.markers[t]}else n=J();return n-r}}const Q=(e,t)=>void 0!==t&&e instanceof t,Y=navigator?.userAgent||"",Z=/android|adr/i.test(Y),ee=/(mobile)/i.test(Y)&&Z;!/(mobile)/i.test(Y)&&!ee&&/Mac OS X/i.test(Y);const te=/(iphone|ipad|ipod)/i.test(Y);/MicroMessenger/i.test(Y);const re=/^((?!chrome|android).)*safari/i.test(Y)||te,ne="function"==typeof globalThis.importScripts,se=new Array,ae=e=>Q(e,globalThis.OffscreenCanvas),ie=(e,t)=>{let r=se.pop()||le();return null!==r&&(r.width=e,r.height=t),r},oe=e=>{se.length<10&&se.push(e)},le=()=>{if(re&&!ne)return document.createElement("canvas");try{const e=new OffscreenCanvas(0,0);return"function"==typeof e.getContext("2d").measureText?e:document.createElement("canvas")}catch(e){return document.createElement("canvas")}};var ue=Object.defineProperty,ce=Object.getOwnPropertyDescriptor;let he=class{constructor(e,t){this.repeatCount=0,this.isPlaying=!1,this.isDestroyed=!1,this.pagViewOptions={useScale:!0,useCanvas2D:!1,firstFrame:!0},this.renderCanvas=null,this.pagGlContext=null,this.frameRate=0,this.pagSurface=null,this.playFrame=-1,this.timer=null,this.flushingNextFrame=!1,this.playTime=0,this.startTime=0,this.repeatedTimes=0,this.eventManager=new U,this.rawWidth=0,this.rawHeight=0,this.debugData={FPS:0,flushTime:0},this.fpsBuffer=[],this.player=e,this.canvasElement=t}static async init(e,t,n={}){let s=null;if("string"==typeof t?s=document.getElementById(t.substr(1)):("undefined"!=typeof window&&x(t,globalThis.HTMLCanvasElement)||ae(t))&&(s=t),!s)throw new Error("Canvas is not found!");const a=r.PAGPlayer.create(),i=new he(a,s);return i.pagViewOptions={...i.pagViewOptions,...n},i.pagViewOptions.useCanvas2D?(r.globalCanvas.retain(),i.pagGlContext=H.from(r.globalCanvas.glContext)):(i.renderCanvas=q.from(s),i.renderCanvas.retain(),i.pagGlContext=H.from(i.renderCanvas.glContext)),i.resetSize(i.pagViewOptions.useScale),i.frameRate=e.frameRate(),i.pagSurface=this.makePAGSurface(i.pagGlContext,i.rawWidth,i.rawHeight),i.player.setSurface(i.pagSurface),i.player.setComposition(e),i.setProgress(0),i.pagViewOptions.firstFrame&&(await i.flush(),i.playFrame=0),i}static makePAGSurface(e,t,r){if(!e.makeCurrent())throw new Error("Make context current fail!");const n=M.fromRenderTarget(0,t,r,!0);return e.clearCurrent(),n}duration(){return this.player.duration()}addListener(e,t){return this.eventManager.on(e,t)}removeListener(e,t){return this.eventManager.off(e,t)}async play(){if(this.isPlaying)return;this.isPlaying=!0,this.startTime=1e3*this.getNowTime()-this.playTime;for(const e of this.player.videoReaders)e.isPlaying=!0;const e=this.playTime;await this.flushLoop(!0),0===e&&this.eventManager.emit("onAnimationStart",this),this.eventManager.emit("onAnimationPlay",this),0===this.playFrame&&this.eventManager.emit("onAnimationUpdate",this)}pause(){if(this.isPlaying){this.clearTimer();for(const e of this.player.videoReaders)e.pause();this.isPlaying=!1,this.eventManager.emit("onAnimationPause",this)}}async stop(e=!0){this.clearTimer(),this.playTime=0,this.player.setProgress(0),this.playFrame=0,await this.flush();for(const e of this.player.videoReaders)e.stop();this.isPlaying=!1,e&&this.eventManager.emit("onAnimationCancel",this)}setRepeatCount(e){this.repeatCount=e<0?0:e-1}getProgress(){return this.player.getProgress()}currentFrame(){return this.player.currentFrame()}setProgress(e){return this.playTime=e*this.duration(),this.startTime=1e3*this.getNowTime()-this.playTime,this.isPlaying||this.player.setProgress(e),e}videoEnabled(){return this.player.videoEnabled()}setVideoEnabled(e){this.player.setVideoEnabled(e)}cacheEnabled(){return this.player.cacheEnabled()}setCacheEnabled(e){this.player.setCacheEnabled(e)}cacheScale(){return this.player.cacheScale()}setCacheScale(e){this.player.setCacheScale(e)}maxFrameRate(){return this.player.maxFrameRate()}setMaxFrameRate(e){this.player.setMaxFrameRate(e)}scaleMode(){return this.player.scaleMode()}setScaleMode(e){this.player.setScaleMode(e)}async flush(){const e=new K,t=await this.player.flushInternal(t=>{if(this.pagViewOptions.useCanvas2D&&t&&r.globalCanvas.canvas){this.canvasContext||(this.canvasContext=this.canvasElement?.getContext("2d"));const e=this.canvasContext.globalCompositeOperation;this.canvasContext.globalCompositeOperation="copy",this.canvasContext?.drawImage(r.globalCanvas.canvas,0,r.globalCanvas.canvas.height-this.rawHeight,this.rawWidth,this.rawHeight,0,0,this.canvasContext.canvas.width,this.canvasContext.canvas.height),this.canvasContext.globalCompositeOperation=e}e.mark("flush"),this.setDebugData({flushTime:e.measure("","flush")}),this.updateFPS()});return this.eventManager.emit("onAnimationUpdate",this),t&&this.eventManager.emit("onAnimationFlushed",this),t}freeCache(){this.pagSurface?.freeCache()}getComposition(){return this.player.getComposition()}setComposition(e){this.player.setComposition(e)}matrix(){return this.player.matrix()}setMatrix(e){this.player.setMatrix(e)}getLayersUnderPoint(e,t){return this.player.getLayersUnderPoint(e,t)}updateSize(){if(!this.canvasElement)throw new Error("Canvas element is not found!");if(this.rawWidth=this.canvasElement.width,this.rawHeight=this.canvasElement.height,!this.pagGlContext)return;const e=he.makePAGSurface(this.pagGlContext,this.rawWidth,this.rawHeight);this.player.setSurface(e),this.pagSurface?.destroy(),this.pagSurface=e}prepare(){return this.player.prepare()}async makeSnapshot(){return await createImageBitmap(this.canvasElement)}destroy(){this.clearTimer(),this.player.destroy(),this.pagSurface?.destroy(),this.pagViewOptions.useCanvas2D?r.globalCanvas.release():this.renderCanvas?.release(),this.pagGlContext?.destroy(),this.pagGlContext=null,this.canvasContext=null,this.canvasElement=null,this.isDestroyed=!0}getDebugData(){return this.debugData}setDebugData(e){this.debugData={...this.debugData,...e}}async flushLoop(e=!1){if(this.isPlaying&&(this.setTimer(),!this.flushingNextFrame))try{this.flushingNextFrame=!0,await this.flushNextFrame(e),this.flushingNextFrame=!1}catch(e){throw this.flushingNextFrame=!1,"The play() request was interrupted because the document was hidden!"!==e.message&&this.clearTimer(),e}}async flushNextFrame(e=!1){const t=this.duration();this.playTime=1e3*this.getNowTime()-this.startTime;const r=Math.floor(this.playTime/1e6*this.frameRate),n=Math.floor(this.playTime/t);if(!e&&this.repeatCount>=0&&n>this.repeatCount)return this.clearTimer(),this.player.setProgress(1),await this.flush(),this.playTime=0,this.isPlaying=!1,this.repeatedTimes=0,this.eventManager.emit("onAnimationEnd",this),!0;if(!e&&this.repeatedTimes===n&&this.playFrame===r)return!1;this.repeatedTimes<n&&this.eventManager.emit("onAnimationRepeat",this),this.player.setProgress(this.playTime%t/t);const s=await this.flush();return this.needResetStartTime()&&(this.startTime=1e3*this.getNowTime()-this.playTime),this.playFrame=r,this.repeatedTimes=n,s}getNowTime(){try{return performance.now()}catch(e){return Date.now()}}setTimer(){this.timer=globalThis.requestAnimationFrame(()=>{this.flushLoop()})}clearTimer(){this.timer&&(globalThis.cancelAnimationFrame(this.timer),this.timer=null)}resetSize(e=!0){if(!this.canvasElement)throw new Error("Canvas element is not found!");if(!e||ae(this.canvasElement))return this.rawWidth=this.canvasElement.width,void(this.rawHeight=this.canvasElement.height);const t=this.canvasElement,r=(e=>{const t=globalThis.getComputedStyle(e,null),r={width:Number(t.width.replace("px","")),height:Number(t.height.replace("px",""))};if(r.width>0&&r.height>0)return r;{const t={width:Number(e.style.width.replace("px","")),height:Number(e.style.height.replace("px",""))};return t.width>0&&t.height>0?t:{width:e.width,height:e.height}}})(t);t.style.width=`${r.width}px`,t.style.height=`${r.height}px`,this.rawWidth=r.width*globalThis.devicePixelRatio,this.rawHeight=r.height*globalThis.devicePixelRatio,t.width=this.rawWidth,t.height=this.rawHeight}updateFPS(){let e;try{e=performance.now()}catch(t){e=Date.now()}this.fpsBuffer=this.fpsBuffer.filter(t=>e-t<=1e3),this.fpsBuffer.push(e),this.setDebugData({FPS:this.fpsBuffer.length})}needResetStartTime(){for(const e of this.player.videoReaders)if(e.isSought)return!0;return!1}};he=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?ce(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&ue(t,r,a),a})([n],he);const de=["emoji"].concat(...["Arial",'"Courier New"',"Georgia",'"Times New Roman"','"Trebuchet MS"',"Verdana"]);var me=Object.defineProperty,fe=Object.getOwnPropertyDescriptor;let pe=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e,this.fontFamily=this.wasmIns.fontFamily,this.fontStyle=this.wasmIns.fontStyle}static create(e,t){const n=r._PAGFont._create(e,t);if(!n)throw new Error("Create PAGFont fail!");return new pe(n)}static async registerFont(e,t){const r=await A(t);if(!(r&&r.byteLength>0))throw new Error("Initialize PAGFont data not be empty!");const n=new Uint8Array(r),s=new FontFace(e,n);document.fonts.add(s),await s.load()}static registerFallbackFontNames(e=[]){const t=new r.VectorString,n=e.concat(de);for(const e of n)t.push_back(e);r._PAGFont._SetFallbackFontNames(t),t.delete()}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};pe=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?fe(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&me(t,r,a),a})([n],pe);let ge={};const we=(e,t,r,n=!1)=>{t in ge||(ge[t]=[]),ge[t]?.push({node:e,handler:r,capture:n}),e.addEventListener(t,r,n)},ve=(e,t,r)=>{t in ge&&ge[t]?.filter(({node:t,handler:n})=>t===e&&n===r).forEach(({node:e,handler:r,capture:n})=>e.removeEventListener(t,r,n))},ye=(e,t)=>{t in ge&&(ge[t]?.filter(({node:t})=>t===e).forEach(({node:e,handler:r,capture:n})=>e.removeEventListener(t,r,n)),ge[t]=ge[t]?.filter(({node:t})=>t!==e))},be=navigator?.userAgent||"",_e=/android|adr/i.test(be),Ee=/(mobile)/i.test(be)&&_e;!/(mobile)/i.test(be)&&!Ee&&/Mac OS X/i.test(be);const xe=/(iphone|ipad|ipod)/i.test(be),Ce=/MicroMessenger/i.test(be),Te=/^((?!chrome|android).)*safari/i.test(be)||xe,Pe=e=>new Promise(t=>{const r=()=>{ve(e,"canplay",r),clearTimeout(n),t(!0)};we(e,"canplay",r);const n=setTimeout(()=>{ve(e,"canplay",r),t(!1)},1e3)});class Ie{constructor(e,t,r,n,s){if(this.isSought=!1,this.isPlaying=!1,this.bitmap=null,this.videoEl=null,this.frameRate=0,this.canplay=!1,this.staticTimeRanges=null,this.disablePlaybackRate=!1,this.error=null,this.player=null,this.width=0,this.height=0,this.bitmapCanvas=null,this.bitmapCtx=null,this.currentFrame=0,x(e,globalThis.HTMLVideoElement))this.videoEl=e,this.canplay=!0;else{this.videoEl=document.createElement("video"),this.videoEl.style.display="none",this.videoEl.muted=!0,this.videoEl.playsInline=!0,this.videoEl.preload="auto",this.videoEl.width=t,this.videoEl.height=r,Pe(this.videoEl).then(()=>{this.canplay=!0});const n=e.slice(),s=new Blob([n],{type:"video/mp4"});this.videoEl.src=URL.createObjectURL(s),xe&&this.videoEl.load()}this.frameRate=n,this.width=t,this.height=r,this.staticTimeRanges=new ke(s),(3840<t||3840<r)&&(this.disablePlaybackRate=!0)}static create(e,t,r,n,s){return new Ie(e,t,r,n,s)}async prepare(e,t){const r=new Promise(async(r,n)=>{this.setError(null),this.isSought=!1;const{currentTime:s}=this.videoEl,a=e/this.frameRate;if(0===s&&0===a)if(this.canplay||Te){try{await this.play()}catch(t){return this.setError(t),this.currentFrame=e,void n(t)}await new Promise(e=>{requestAnimationFrame(()=>{this.pause(),e()})})}else await Pe(this.videoEl);else if(Math.round(a*this.frameRate)===Math.round(s*this.frameRate));else{if(this.staticTimeRanges?.contains(e))return await this.seek(a,!1),this.currentFrame=e,void r();if(!(Math.abs(s-a)<1/this.frameRate*3))return this.isSought=!0,await this.seek(a),this.currentFrame=e,void r()}const i=Math.min(Math.max(t,.125),4);if(this.disablePlaybackRate||this.videoEl.playbackRate===i||(this.videoEl.playbackRate=i),this.isPlaying&&this.videoEl.paused)try{await this.play()}catch(t){return this.setError(t),this.currentFrame=e,void n(t)}this.currentFrame=e,r()});await r}getCurrentFrame(){return this.currentFrame}getVideo(){return this.videoEl}async play(){if(this.videoEl.paused){if(Ce&&window.WeixinJSBridge&&await new Promise(e=>{window.WeixinJSBridge.invoke("getNetworkType",{},()=>{e()},()=>{e()})}),"visible"!==document.visibilityState){const e=()=>{"visible"===document.visibilityState&&(this.videoEl&&this.videoEl.play(),window.removeEventListener("visibilitychange",e))};throw window.addEventListener("visibilitychange",e),new Error("The play() request was interrupted because the document was hidden!")}await(this.videoEl?.play())}}pause(){this.isPlaying=!1,this.videoEl.paused||this.videoEl?.pause()}stop(){this.isPlaying=!1,this.videoEl.paused||this.videoEl?.pause(),this.videoEl.currentTime=0}getError(){return this.error}onDestroy(){this.player&&this.player.unlinkVideoReader(this),ye(this.videoEl,"playing"),ye(this.videoEl,"timeupdate"),this.videoEl=null,this.bitmapCanvas=null,this.bitmapCtx=null}seek(e,t=!0){return new Promise((r,n)=>{if(!this.videoEl)return void n(new Error("Video element is not initialized."));const s=()=>{ve(this.videoEl,"seeked",s),clearTimeout(i),t?this.videoEl?.play().catch(e=>{this.setError(e)}):t||this.videoEl.paused||this.videoEl?.pause(),r()},a=()=>{ve(this.videoEl,"canplay",a),this.videoEl.currentTime=e,we(this.videoEl,"seeked",s)},i=setTimeout(()=>{ve(this.videoEl,"canplay",a),ve(this.videoEl,"seeked",s),n(new Error("Seek operation timed out."))},1e3/this.frameRate*12);this.videoEl.readyState<HTMLMediaElement.HAVE_FUTURE_DATA?we(this.videoEl,"canplay",a):(this.videoEl.currentTime=e,we(this.videoEl,"seeked",s))})}setError(e){this.error=e}linkPlayer(e){this.player=e,e&&e.linkVideoReader(this)}}class ke{constructor(e){this.timeRanges=e}contains(e){if(0===this.timeRanges.length)return!1;for(let t of this.timeRanges)if(t.start<=e&&e<t.end)return!0;return!1}}class Se{constructor(){this._canvas=null,this._glContext=null,this.width=V,this.height=V,this.retainCount=0}retain(){if(0===this.retainCount){try{this._canvas=new OffscreenCanvas(0,0)}catch(e){this._canvas=document.createElement("canvas")}this._canvas.width=this.width,this._canvas.height=this.height;const e=this._canvas.getContext("webgl",z);if(!e)throw new Error("Canvas context is not WebGL!");this._glContext=H.from(e)}this.retainCount+=1}release(){if(this.retainCount-=1,0===this.retainCount){if(!this._glContext)return;this._glContext.destroy(),this._glContext=null,this._canvas=null}}get canvas(){return this._canvas}get glContext(){return this._glContext}setCanvasSize(e=2560,t=2560){this.width=e,this.height=t,this._glContext&&this._canvas&&(this._canvas.width=e,this._canvas.height=t)}}var Ae=Object.defineProperty,Le=Object.getOwnPropertyDescriptor;let Fe=class extends P{static make(e,t,n=0,s="",a=""){return new Fe("string"==typeof t?r._PAGTextLayer._Make(e,t,n,s,a):r._PAGTextLayer._Make(e,t))}fillColor(){return this.wasmIns._fillColor()}setFillColor(e){this.wasmIns._setFillColor(e)}font(){return new pe(this.wasmIns._font())}setFont(e){this.wasmIns._setFont(e.wasmIns)}fontSize(){return this.wasmIns._fontSize()}setFontSize(e){this.wasmIns._setFontSize(e)}strokeColor(){return this.wasmIns._strokeColor()}setStrokeColor(e){this.wasmIns._setStrokeColor(e)}text(){return this.wasmIns._text()}setText(e){this.wasmIns._setText(e)}reset(){this.wasmIns._reset()}};Fe=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?Le(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&Ae(t,r,a),a})([n],Fe);var $e=Object.defineProperty,De=Object.getOwnPropertyDescriptor;let Be=class extends P{static make(e,t,n){const s=r._PAGImageLayer._Make(e,t,n);if(!s)throw new Error("Make PAGImageLayer fail!");return new Be(s)}contentDuration(){return this.wasmIns._contentDuration()}getVideoRanges(){return this.wasmIns._getVideoRanges()}replaceImage(e){this.wasmIns._replaceImage(e.wasmIns)}setImage(e){this.wasmIns._setImage(e.wasmIns)}layerTimeToContent(e){return this.wasmIns._layerTimeToContent(e)}contentTimeToLayer(e){return this.wasmIns._contentTimeToLayer(e)}imageBytes(){return this.wasmIns._imageBytes()}};Be=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?De(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&$e(t,r,a),a})([n],Be);var Me=Object.defineProperty,Re=Object.getOwnPropertyDescriptor;let Ge=class extends P{static make(e,t,n,s,a){const i=r._PAGSolidLayer._Make(e,t,n,s,a);if(!i)throw new Error("Make PAGSolidLayer fail!");return new Ge(i)}solidColor(){return this.wasmIns._solidColor()}setSolidColor(e){this.wasmIns._setSolidColor(e)}};Ge=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?Re(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&Me(t,r,a),a})([n],Ge);let Oe;class Ne{constructor(e){this.bitmap=e}setBitmap(e){this.bitmap&&this.bitmap.close(),this.bitmap=e}}const je=e=>new Promise(t=>{const r=new Image;r.onload=function(){t(r)},r.onerror=function(){console.error("image create from bytes error."),t(null)},r.src=e});var We=Object.freeze({__proto__:null,createImage:je,createImageFromBytes:e=>{const t=new Uint8Array(e),r=new Blob([t],{type:"image/*"});return je(URL.createObjectURL(r))},readImagePixels:(e,t,r,n)=>{if(!t)return null;const s=ie(r,n),a=s.getContext("2d",{willReadFrequently:!0});if(!a)return null;a.drawImage(t,0,0,r,n);const{data:i}=a.getImageData(0,0,r,n);return oe(s),0===i.length?null:new Uint8Array(i)},hasWebpSupport:()=>{try{return 0===document.createElement("canvas").toDataURL("image/webp",.5).indexOf("data:image/webp")}catch(e){return!1}},getSourceSize:e=>Q(e,globalThis.HTMLVideoElement)?{width:e.videoWidth,height:e.videoHeight}:{width:e.width,height:e.height},uploadToTexture:(e,t,r,n)=>{let s=t instanceof Ne?t.bitmap:t;if(!s)return;const a=e.currentContext?.GLctx;a.bindTexture(a.TEXTURE_2D,e.textures[r]),n?(a.pixelStorei(a.UNPACK_ALIGNMENT,1),a.texSubImage2D(a.TEXTURE_2D,0,0,0,a.ALPHA,a.UNSIGNED_BYTE,s)):(a.pixelStorei(a.UNPACK_ALIGNMENT,4),a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!0),a.texSubImage2D(a.TEXTURE_2D,0,0,0,a.RGBA,a.UNSIGNED_BYTE,s),a.pixelStorei(a.UNPACK_PREMULTIPLY_ALPHA_WEBGL,!1))},isAndroidMiniprogram:()=>{if("undefined"!=typeof wx&&wx.getSystemInfoSync)return"android"===wx.getSystemInfoSync().platform},releaseNativeImage:e=>{var t;Q(e,globalThis.ImageBitmap)?e.close():(ae(t=e)||Q(t,globalThis.HTMLCanvasElement))&&oe(e)},getBytesFromPath:async(e,t)=>{const r=await fetch(t).then(e=>e.arrayBuffer());return new Uint8Array(r)},createCanvas2D:ie});var Ue=(e=>(e[e.a=0]="a",e[e.c=1]="c",e[e.tx=2]="tx",e[e.b=3]="b",e[e.d=4]="d",e[e.ty=5]="ty",e))(Ue||{}),Ve=Object.defineProperty,ze=Object.getOwnPropertyDescriptor;let He=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}get a(){return this.wasmIns?this.wasmIns._get(Ue.a):0}set a(e){this.wasmIns?._set(Ue.a,e)}get b(){return this.wasmIns?this.wasmIns._get(Ue.b):0}set b(e){this.wasmIns?._set(Ue.b,e)}get c(){return this.wasmIns?this.wasmIns._get(Ue.c):0}set c(e){this.wasmIns?._set(Ue.c,e)}get d(){return this.wasmIns?this.wasmIns._get(Ue.d):0}set d(e){this.wasmIns?._set(Ue.d,e)}get tx(){return this.wasmIns?this.wasmIns._get(Ue.tx):0}set tx(e){this.wasmIns?._set(Ue.tx,e)}get ty(){return this.wasmIns?this.wasmIns._get(Ue.ty):0}set ty(e){this.wasmIns?._set(Ue.ty,e)}get(e){return this.wasmIns?this.wasmIns._get(e):0}set(e,t){this.wasmIns?._set(e,t)}destroy(){this.wasmIns.delete()}};He=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?ze(t,r):t,i=e.length-1;i>=0;i--)(s=e[i])&&(a=(n?s(t,r,a):s(a))||a);return n&&a&&Ve(t,r,a),a})([function(e){let t=Object.getOwnPropertyNames(e.prototype).filter(t=>"constructor"!==t&&"function"==typeof e.prototype[t]);const r=(t,r)=>{const n=t[r];t[r]=function(...t){if(!this.isDestroyed)return n.call(this,...t);console.error(`Don't call ${r} of the ${e.name} that is destroyed.`)}};t.forEach(t=>r(e.prototype,t))}],He);const Xe=e=>{const t=new Int32Array(e.data.buffer);let r=qe(t,e.width,e.height),n=Je(t,e.width,e.height),s=Ke(t,e.width,e.height),a=Qe(t,e.width,e.height);return(r>s||n>a)&&(r=0,n=0,s=0,a=0),{left:r,top:n,right:s,bottom:a}},qe=(e,t,r)=>{const n=e.length/t,s=e.length/r;for(let r=0;r<s;r++)for(let s=0;s<n;s++)if(0!==e[r+s*t])return r;return s},Je=(e,t,r)=>{const n=e.length/t,s=e.length/r;for(let r=0;r<n;r++)for(let n=0;n<s;n++)if(0!==e[r*t+n])return r;return n},Ke=(e,t,r)=>{const n=e.length/t;for(let s=e.length/r-1;s>0;s--)for(let r=n-1;r>0;r--)if(0!==e[s+t*r])return s;return 0},Qe=(e,t,r)=>{const n=e.length/t,s=e.length/r;for(let r=n-1;r>0;r--)for(let n=s-1;n>0;n--)if(0!==e[r*t+n])return r;return 0},Ye=class{constructor(e,t,r){this.fontBoundingBoxMap=[],this.fontName=e,this.fontStyle=t,this.size=r,this.loadCanvas()}static getLineCap(e){switch(e){case Oe.TGFXLineCap.Round:return"round";case Oe.TGFXLineCap.Square:return"square";default:return"butt"}}static getLineJoin(e){switch(e){case Oe.TGFXLineJoin.Round:return"round";case Oe.TGFXLineJoin.Bevel:return"bevel";default:return"miter"}}static setCanvas(e){Ye.canvas=e}static setContext(e){Ye.context=e}static isUnicodePropertyEscapeSupported(){try{new RegExp("\\p{L}","u");return!0}catch(e){return!1}}static isEmoji(e){let t;return t=this.isUnicodePropertyEscapeSupported()?/\p{Extended_Pictographic}|[#*0-9]\uFE0F?\u20E3|[\uD83C\uDDE6-\uD83C\uDDFF]/u:/(\u00a9|\u00ae|[\u2000-\u3300]|\ud83c[\ud000-\udfff]|\ud83d[\ud000-\udfff]|\ud83e[\ud000-\udfff])/,t.test(e)}static measureDirectly(e){if(void 0===Ye.hasMeasureBoundsAPI){const t=e.measureText("x");Ye.hasMeasureBoundsAPI=t&&t.actualBoundingBoxAscent>0}return Ye.hasMeasureBoundsAPI}fontString(e,t){const r=[];t&&r.push("italic"),e&&r.push("bold"),r.push(`${this.size}px`);const n=de.concat();return n.unshift(...((e,t="")=>{if(!e)return[];const r=e.split(" ");let n=[];1===r.length?n.push(e):(n.push(r.join("")),n.push(r.join(" ")));const s=n.reduce((e,r)=>(t?(e.push(`"${r} ${t}"`),e.push(`"${r}-${t}"`)):e.push(`"${r}"`),e),[]);return""!==t&&s.push(`"${e}"`),s})(this.fontName,this.fontStyle)),r.push(`${n.join(",")}`),r.join(" ")}getFontMetrics(){if(this.fontMetrics)return this.fontMetrics;const{context:e}=Ye;e.font=this.fontString(!1,!1);const t=this.measureText(e,"H"),r=t.actualBoundingBoxAscent,n=this.measureText(e,"x").actualBoundingBoxAscent;return this.fontMetrics={ascent:-t.fontBoundingBoxAscent,descent:t.fontBoundingBoxDescent,xHeight:n,capHeight:r},this.fontMetrics}getBounds(e,t,r){const{context:n}=Ye;n.font=this.fontString(t,r);const s=this.measureText(n,e),a={left:Math.floor(-s.actualBoundingBoxLeft),top:Math.floor(-s.actualBoundingBoxAscent),right:Math.ceil(s.actualBoundingBoxRight),bottom:Math.ceil(s.actualBoundingBoxDescent)};return(a.left>=a.right||a.top>=a.bottom)&&(a.left=0,a.top=0,a.right=0,a.bottom=0),a}getAdvance(e){const{context:t}=Ye;return t.font=this.fontString(!1,!1),t.measureText(e).width}readPixels(e,t,r,n){const s=t.right-t.left,a=t.bottom-t.top,i=ie(s,a),o=i.getContext("2d",{willReadFrequently:!0});o.clearRect(0,0,s,a),o.font=this.fontString(r,!1),n?(o.lineJoin=Ye.getLineJoin(n.join),o.miterLimit=n.miterLimit,o.lineCap=Ye.getLineCap(n.cap),o.lineWidth=n.width,o.strokeText(e,-t.left,-t.top)):o.fillText(e,-t.left,-t.top);const{data:l}=o.getImageData(0,0,s,a);return oe(i),0===l.length?null:new Uint8Array(l)}loadCanvas(){Ye.canvas||(Ye.setCanvas(ie(10,10)),Ye.setContext(Ye.canvas.getContext("2d",{willReadFrequently:!0})))}measureText(e,t){if(Ye.measureDirectly(e))return e.measureText(t);e.canvas.width=1.5*this.size,e.canvas.height=1.5*this.size;const r=[0,this.size];e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,r[0],r[1]);const n=e.getImageData(0,0,e.canvas.width,e.canvas.height),{left:s,top:a,right:i,bottom:o}=Xe(n);let l;e.clearRect(0,0,e.canvas.width,e.canvas.height);const u=this.fontBoundingBoxMap.find(e=>e.key===this.fontName);if(u)l=u.value;else{e.fillText("测",r[0],r[1]);const t=e.getImageData(0,0,e.canvas.width,e.canvas.height);l=Xe(t),this.fontBoundingBoxMap.push({key:this.fontName,value:l}),e.clearRect(0,0,e.canvas.width,e.canvas.height)}return{actualBoundingBoxAscent:r[1]-a,actualBoundingBoxRight:i-r[0],actualBoundingBoxDescent:o-r[1],actualBoundingBoxLeft:r[0]-s,fontBoundingBoxAscent:l.bottom-l.top,fontBoundingBoxDescent:0,width:l.right-l.left}}};let Ze=Ye;Ze.hasMeasureBoundsAPI=void 0;class et{static readPixels(e,t,r,n){let s=ie(e,t);if(null==s)return null;let a=s.getContext("2d",{willReadFrequently:!0});a.setTransform(1,0,0,1,0,0),n===Oe.TGFXPathFillType.InverseWinding||n===Oe.TGFXPathFillType.InverseEvenOdd?(a.clip(r,n===Oe.TGFXPathFillType.InverseEvenOdd?"evenodd":"nonzero"),a.fillRect(0,0,e,t)):a.fill(r,n===Oe.TGFXPathFillType.EvenOdd?"evenodd":"nonzero");const{data:i}=a.getImageData(0,0,e,t);return oe(s),0===i.length?null:new Uint8Array(i)}}const tt=e=>{(e=>{Oe=e})(e),e.module=e,e.ScalerContext=Ze,e.WebMask=et,e.Matrix=He,e.tgfx={...We}},rt=e=>{tt(e),(e=>{r=e})(e),e.module=e,e.PAGFile=$,e.PAGPlayer=O,e.PAGView=he,e.PAGFont=pe,e.PAGImage=W,e.PAGLayer=P,e.PAGComposition=S,e.PAGSurface=M,e.PAGTextLayer=Fe,e.PAGImageLayer=Be,e.PAGSolidLayer=Ge,e.VideoReader=Ie,e.GlobalCanvas=Se,e.BackendContext=H,e.Matrix=v,e.RenderCanvas=q,(e=>{e.traceImage=function(e,t){const r=document.createElement("canvas");r.width=e.width,r.height=e.height;const n=r.getContext("2d"),s=new ImageData(new Uint8ClampedArray(t),r.width,r.height);n.putImageData(s,0,0),document.body.appendChild(r)},e.registerSoftwareDecoderFactory=function(t=null){e._registerSoftwareDecoderFactory(t)},e.SDKVersion=function(){return e._SDKVersion()},e.isIPhone=()=>xe})(e)};var nt=Object.defineProperty,st=(e,t,r)=>(((e,t,r)=>{t in e?nt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!=typeof t?t+"":t,r),r);async function at(e={}){var t=e,r="object"==typeof window,n="undefined"!=typeof WorkerGlobalScope;"object"==typeof process&&process.versions?.node&&process.type;var s,a,i=import.meta.url,o="";if(r||n){try{o=new URL(".",i).href}catch{}n&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),s=async e=>{var t=await fetch(e,{credentials:"same-origin"});if(t.ok)return t.arrayBuffer();throw new Error(t.status+" : "+t.url)}}var l,u,c,h,d,m,f,p,g,w,v,y,b,_,E,x=console.log.bind(console),C=console.error.bind(console),T=!1,P=!1;function I(){var e=h.buffer;d=new Int8Array(e),f=new Int16Array(e),t.HEAPU8=m=new Uint8Array(e),p=new Uint16Array(e),g=new Int32Array(e),w=new Uint32Array(e),v=new Float32Array(e),y=new Float64Array(e),b=new BigInt64Array(e),_=new BigUint64Array(e)}function k(e){t.onAbort?.(e),C(e="Aborted("+e+")"),T=!0,e+=". Build with -sASSERTIONS for more info.";var r=new WebAssembly.RuntimeError(e);throw c?.(r),r}function S(){return t.locateFile?(e="libpag.wasm",t.locateFile?t.locateFile(e,o):o+e):new URL("libpag.wasm",import.meta.url).href;var e}async function A(e){if(!l)try{var t=await s(e);return new Uint8Array(t)}catch{}return function(e){if(e==E&&l)return new Uint8Array(l);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}(e)}async function L(e,t,r){if(!e)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 A(e);return await WebAssembly.instantiate(r,t)}catch(e){C(`failed to asynchronously prepare wasm: ${e}`),k(e)}}(t,r)}var F=e=>{for(;e.length>0;)e.shift()(t)},$=[],D=e=>$.push(e),B=[],M=e=>B.push(e);class R{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){w[this.ptr+4>>2]=e}get_type(){return w[this.ptr+4>>2]}set_destructor(e){w[this.ptr+8>>2]=e}get_destructor(){return w[this.ptr+8>>2]}set_caught(e){e=e?1:0,d[this.ptr+12]=e}get_caught(){return 0!=d[this.ptr+12]}set_rethrown(e){e=e?1:0,d[this.ptr+13]=e}get_rethrown(){return 0!=d[this.ptr+13]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){w[this.ptr+16>>2]=e}get_adjusted_ptr(){return w[this.ptr+16>>2]}}var G=()=>{var e=g[+ie.varargs>>2];return ie.varargs+=4,e},O=G,N={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 s=e[n];"."===s?e.splice(n,1):".."===s?(e.splice(n,1),r++):r&&(e.splice(n,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=N.isAbs(e),r="/"===e.slice(-1);return(e=N.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=N.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)=>N.normalize(e.join("/")),join2:(e,t)=>N.normalize(e+"/"+t)},j=e=>{(j=e=>crypto.getRandomValues(e))(e)},W={resolve:(...e)=>{for(var t="",r=!1,n=e.length-1;n>=-1&&!r;n--){var s=n>=0?e[n]:se.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");if(!s)return"";t=s+"/"+t,r=N.isAbs(s)}return(r?"/":"")+(t=N.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=W.resolve(e).slice(1),t=W.resolve(t).slice(1);for(var n=r(e.split("/")),s=r(t.split("/")),a=Math.min(n.length,s.length),i=a,o=0;o<a;o++)if(n[o]!==s[o]){i=o;break}var l=[];for(o=i;o<n.length;o++)l.push("..");return(l=l.concat(s.slice(i))).join("/")}},U=new TextDecoder,V=(e,t,r,n)=>{var s=t+r;if(n)return s;for(;e[t]&&!(t>=s);)++t;return t},z=(e,t=0,r,n)=>{var s=V(e,t,r,n);return U.decode(e.buffer?e.subarray(t,s):new Uint8Array(e.slice(t,s)))},H=[],X=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},q=(e,t,r,n)=>{if(!(n>0))return 0;for(var s=r,a=r+n-1,i=0;i<e.length;++i){var o=e.codePointAt(i);if(o<=127){if(r>=a)break;t[r++]=o}else if(o<=2047){if(r+1>=a)break;t[r++]=192|o>>6,t[r++]=128|63&o}else if(o<=65535){if(r+2>=a)break;t[r++]=224|o>>12,t[r++]=128|o>>6&63,t[r++]=128|63&o}else{if(r+3>=a)break;t[r++]=240|o>>18,t[r++]=128|o>>12&63,t[r++]=128|o>>6&63,t[r++]=128|63&o,i++}}return t[r]=0,r-s},J=(e,t,r)=>{var n=r>0?r:X(e)+1,s=new Array(n),a=q(e,s,0,s.length);return t&&(s.length=a),s},K={ttys:[],init(){},shutdown(){},register(e,t){K.ttys[e]={input:[],output:[],ops:t},se.registerDevice(e,K.stream_ops)},stream_ops:{open(e){var t=K.ttys[e.node.rdev];if(!t)throw new se.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,s){if(!e.tty||!e.tty.ops.get_char)throw new se.ErrnoError(60);for(var a=0,i=0;i<n;i++){var o;try{o=e.tty.ops.get_char(e.tty)}catch(e){throw new se.ErrnoError(29)}if(void 0===o&&0===a)throw new se.ErrnoError(6);if(null==o)break;a++,t[r+i]=o}return a&&(e.node.atime=Date.now()),a},write(e,t,r,n,s){if(!e.tty||!e.tty.ops.put_char)throw new se.ErrnoError(60);try{for(var a=0;a<n;a++)e.tty.ops.put_char(e.tty,t[r+a])}catch(e){throw new se.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),a}},default_tty_ops:{get_char:e=>(()=>{if(!H.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e)return null;H=J(e,!0)}return H.shift()})(),put_char(e,t){null===t||10===t?(x(z(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output?.length>0&&(x(z(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(z(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output?.length>0&&(C(z(e.output)),e.output=[])}}},Q=e=>{k()},Y={ops_table:null,mount:e=>Y.createNode(null,"/",16895,0),createNode(e,t,r,n){if(se.isBlkdev(r)||se.isFIFO(r))throw new se.ErrnoError(63);Y.ops_table||(Y.ops_table={dir:{node:{getattr:Y.node_ops.getattr,setattr:Y.node_ops.setattr,lookup:Y.node_ops.lookup,mknod:Y.node_ops.mknod,rename:Y.node_ops.rename,unlink:Y.node_ops.unlink,rmdir:Y.node_ops.rmdir,readdir:Y.node_ops.readdir,symlink:Y.node_ops.symlink},stream:{llseek:Y.stream_ops.llseek}},file:{node:{getattr:Y.node_ops.getattr,setattr:Y.node_ops.setattr},stream:{llseek:Y.stream_ops.llseek,read:Y.stream_ops.read,write:Y.stream_ops.write,mmap:Y.stream_ops.mmap,msync:Y.stream_ops.msync}},link:{node:{getattr:Y.node_ops.getattr,setattr:Y.node_ops.setattr,readlink:Y.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Y.node_ops.getattr,setattr:Y.node_ops.setattr},stream:se.chrdev_stream_ops}});var s=se.createNode(e,t,r,n);return se.isDir(s.mode)?(s.node_ops=Y.ops_table.dir.node,s.stream_ops=Y.ops_table.dir.stream,s.contents={}):se.isFile(s.mode)?(s.node_ops=Y.ops_table.file.node,s.stream_ops=Y.ops_table.file.stream,s.usedBytes=0,s.contents=null):se.isLink(s.mode)?(s.node_ops=Y.ops_table.link.node,s.stream_ops=Y.ops_table.link.stream):se.isChrdev(s.mode)&&(s.node_ops=Y.ops_table.chrdev.node,s.stream_ops=Y.ops_table.chrdev.stream),s.atime=s.mtime=s.ctime=Date.now(),e&&(e.contents[t]=s,e.atime=e.mtime=e.ctime=s.atime),s},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var n=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(n.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=se.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,se.isDir(e.mode)?t.size=4096:se.isFile(e.mode)?t.size=e.usedBytes:se.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&&Y.resizeFileStorage(e,t.size)},lookup(e,t){throw Y.doesNotExistError||(Y.doesNotExistError=new se.ErrnoError(44),Y.doesNotExistError.stack="<generic error, no stack>"),Y.doesNotExistError},mknod:(e,t,r,n)=>Y.createNode(e,t,r,n),rename(e,t,r){var n;try{n=se.lookupNode(t,r)}catch(e){}if(n){if(se.isDir(e.mode))for(var s in n.contents)throw new se.ErrnoError(55);se.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=se.lookupNode(e,t);for(var n in r.contents)throw new se.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.contents)],symlink(e,t,r){var n=Y.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!se.isLink(e.mode))throw new se.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,n,s){var a=e.node.contents;if(s>=e.node.usedBytes)return 0;var i=Math.min(e.node.usedBytes-s,n);if(i>8&&a.subarray)t.set(a.subarray(s,s+i),r);else for(var o=0;o<i;o++)t[r+o]=a[s+o];return i},write(e,t,r,n,s,a){if(t.buffer===d.buffer&&(a=!1),!n)return 0;var i=e.node;if(i.mtime=i.ctime=Date.now(),t.subarray&&(!i.contents||i.contents.subarray)){if(a)return i.contents=t.subarray(r,r+n),i.usedBytes=n,n;if(0===i.usedBytes&&0===s)return i.contents=t.slice(r,r+n),i.usedBytes=n,n;if(s+n<=i.usedBytes)return i.contents.set(t.subarray(r,r+n),s),n}if(Y.expandFileStorage(i,s+n),i.contents.subarray&&t.subarray)i.contents.set(t.subarray(r,r+n),s);else for(var o=0;o<n;o++)i.contents[s+o]=t[r+o];return i.usedBytes=Math.max(i.usedBytes,s+n),n},llseek(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&se.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new se.ErrnoError(28);return n},mmap(e,t,r,n,s){if(!se.isFile(e.node.mode))throw new se.ErrnoError(43);var a,i,o=e.node.contents;if(2&s||!o||o.buffer!==d.buffer){if(i=!0,!(a=Q()))throw new se.ErrnoError(48);o&&((r>0||r+t<o.length)&&(o=o.subarray?o.subarray(r,r+t):Array.prototype.slice.call(o,r,r+t)),d.set(o,a))}else i=!1,a=o.byteOffset;return{ptr:a,allocated:i}},msync:(e,t,r,n,s)=>(Y.stream_ops.write(e,t,0,n,r,!1),0)}},Z=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ee=0,te=null,re=[],ne=async(e,r,n,a,i,o,l,u)=>{var c=r?W.resolve(N.join2(e,r)):e;ee++,t.monitorRunDependencies?.(ee);try{var h=n;"string"==typeof n&&(h=await(async e=>{var t=await s(e);return new Uint8Array(t)})(n)),h=await(async(e,t)=>{for(var r of("undefined"!=typeof Browser&&Browser.init(),re))if(r.canHandle(t))return r.handle(e,t);return e})(h,c),u?.(),o||((...e)=>{se.createDataFile(...e)})(e,r,h,a,i,l)}finally{(()=>{if(ee--,t.monitorRunDependencies?.(ee),0==ee&&te){var e=te;te=null,e()}})()}},se={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,filesystems:null,syncFSRequests:0,readFiles:{},ErrnoError:class{constructor(e){st(this,"name","ErrnoError"),this.errno=e}},FSStream:class{constructor(){st(this,"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{constructor(e,t,r,n){st(this,"node_ops",{}),st(this,"stream_ops",{}),st(this,"readMode",365),st(this,"writeMode",146),st(this,"mounted",null),e||(e=this),this.parent=e,this.mount=e.mount,this.id=se.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 se.isDir(this.mode)}get isDevice(){return se.isChrdev(this.mode)}},lookupPath(e,t={}){if(!e)throw new se.ErrnoError(44);t.follow_mount??(t.follow_mount=!0),N.isAbs(e)||(e=se.cwd()+"/"+e);e:for(var r=0;r<40;r++){for(var n=e.split("/").filter(e=>!!e),s=se.root,a="/",i=0;i<n.length;i++){var o=i===n.length-1;if(o&&t.parent)break;if("."!==n[i])if(".."!==n[i]){a=N.join2(a,n[i]);try{s=se.lookupNode(s,n[i])}catch(e){if(44===e?.errno&&o&&t.noent_okay)return{path:a};throw e}if(!se.isMountpoint(s)||o&&!t.follow_mount||(s=s.mounted.root),se.isLink(s.mode)&&(!o||t.follow)){if(!s.node_ops.readlink)throw new se.ErrnoError(52);var l=s.node_ops.readlink(s);N.isAbs(l)||(l=N.dirname(a)+"/"+l),e=l+"/"+n.slice(i+1).join("/");continue e}}else{if(a=N.dirname(a),se.isRoot(s)){e=a+"/"+n.slice(i+1).join("/"),r--;continue e}s=s.parent}}return{path:a,node:s}}throw new se.ErrnoError(32)},getPath(e){for(var t;;){if(se.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)%se.nameTable.length},hashAddNode(e){var t=se.hashName(e.parent.id,e.name);e.name_next=se.nameTable[t],se.nameTable[t]=e},hashRemoveNode(e){var t=se.hashName(e.parent.id,e.name);if(se.nameTable[t]===e)se.nameTable[t]=e.name_next;else for(var r=se.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=se.mayLookup(e);if(r)throw new se.ErrnoError(r);for(var n=se.hashName(e.id,t),s=se.nameTable[n];s;s=s.name_next){var a=s.name;if(s.parent.id===e.id&&a===t)return s}return se.lookup(e,t)},createNode(e,t,r,n){var s=new se.FSNode(e,t,r,n);return se.hashAddNode(s),s},destroyNode(e){se.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)=>se.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!se.isDir(e.mode))return 54;var t=se.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){if(!se.isDir(e.mode))return 54;try{se.lookupNode(e,t);return 20}catch(e){}return se.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=se.lookupNode(e,t)}catch(e){return e.errno}var s=se.nodePermissions(e,"wx");if(s)return s;if(r){if(!se.isDir(n.mode))return 54;if(se.isRoot(n)||se.getPath(n)===se.cwd())return 10}else if(se.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?se.isLink(e.mode)?32:se.isDir(e.mode)&&("r"!==se.flagsToPermissionString(t)||576&t)?31:se.nodePermissions(e,se.flagsToPermissionString(t)):44,checkOpExists(e,t){if(!e)throw new se.ErrnoError(t);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=se.MAX_OPEN_FDS;e++)if(!se.streams[e])return e;throw new se.ErrnoError(33)},getStreamChecked(e){var t=se.getStream(e);if(!t)throw new se.ErrnoError(8);return t},getStream:e=>se.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new se.FSStream,e),-1==t&&(t=se.nextfd()),e.fd=t,se.streams[t]=e,e),closeStream(e){se.streams[e]=null},dupStream(e,t=-1){var r=se.createStream(e,t);return r.stream_ops?.dup?.(r),r},doSetAttr(e,t,r){var n=e?.stream_ops.setattr,s=n?e:t;n??(n=t.node_ops.setattr),se.checkOpExists(n,63),n(s,r)},chrdev_stream_ops:{open(e){var t=se.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new se.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){se.devices[e]={stream_ops:t}},getDevice:e=>se.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),se.syncFSRequests++,se.syncFSRequests>1&&C(`warning: ${se.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=se.getMounts(se.root.mount),n=0;function s(e){return se.syncFSRequests--,t(e)}function a(e){if(e)return a.errored?void 0:(a.errored=!0,s(e));++n>=r.length&&s(null)}r.forEach(t=>{if(!t.type.syncfs)return a(null);t.type.syncfs(t,e,a)})},mount(e,t,r){var n,s="/"===r,a=!r;if(s&&se.root)throw new se.ErrnoError(10);if(!s&&!a){var i=se.lookupPath(r,{follow_mount:!1});if(r=i.path,n=i.node,se.isMountpoint(n))throw new se.ErrnoError(10);if(!se.isDir(n.mode))throw new se.ErrnoError(54)}var o={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(o);return l.mount=o,o.root=l,s?se.root=l:n&&(n.mounted=o,n.mount&&n.mount.mounts.push(o)),l},unmount(e){var t=se.lookupPath(e,{follow_mount:!1});if(!se.isMountpoint(t.node))throw new se.ErrnoError(28);var r=t.node,n=r.mounted,s=se.getMounts(n);Object.keys(se.nameTable).forEach(e=>{for(var t=se.nameTable[e];t;){var r=t.name_next;s.includes(t.mount)&&se.destroyNode(t),t=r}}),r.mounted=null;var a=r.mount.mounts.indexOf(n);r.mount.mounts.splice(a,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod(e,t,r){var n=se.lookupPath(e,{parent:!0}).node,s=N.basename(e);if(!s)throw new se.ErrnoError(28);if("."===s||".."===s)throw new se.ErrnoError(20);var a=se.mayCreate(n,s);if(a)throw new se.ErrnoError(a);if(!n.node_ops.mknod)throw new se.ErrnoError(63);return n.node_ops.mknod(n,s,t,r)},statfs:e=>se.statfsNode(se.lookupPath(e,{follow:!0}).node),statfsStream:e=>se.statfsNode(e.node),statfsNode(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:se.nextInode,ffree:se.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,se.mknod(e,t,0)),mkdir:(e,t=511)=>(t&=1023,t|=16384,se.mknod(e,t,0)),mkdirTree(e,t){var r=e.split("/"),n="";for(var s of r)if(s){(n||N.isAbs(e))&&(n+="/"),n+=s;try{se.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,se.mknod(e,t,r)),symlink(e,t){if(!W.resolve(e))throw new se.ErrnoError(44);var r=se.lookupPath(t,{parent:!0}).node;if(!r)throw new se.ErrnoError(44);var n=N.basename(t),s=se.mayCreate(r,n);if(s)throw new se.ErrnoError(s);if(!r.node_ops.symlink)throw new se.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,s=N.dirname(e),a=N.dirname(t),i=N.basename(e),o=N.basename(t);if(r=se.lookupPath(e,{parent:!0}).node,n=se.lookupPath(t,{parent:!0}).node,!r||!n)throw new se.ErrnoError(44);if(r.mount!==n.mount)throw new se.ErrnoError(75);var l,u=se.lookupNode(r,i),c=W.relative(e,a);if("."!==c.charAt(0))throw new se.ErrnoError(28);if("."!==(c=W.relative(t,s)).charAt(0))throw new se.ErrnoError(55);try{l=se.lookupNode(n,o)}catch(e){}if(u!==l){var h=se.isDir(u.mode),d=se.mayDelete(r,i,h);if(d)throw new se.ErrnoError(d);if(d=l?se.mayDelete(n,o,h):se.mayCreate(n,o))throw new se.ErrnoError(d);if(!r.node_ops.rename)throw new se.ErrnoError(63);if(se.isMountpoint(u)||l&&se.isMountpoint(l))throw new se.ErrnoError(10);if(n!==r&&(d=se.nodePermissions(r,"w")))throw new se.ErrnoError(d);se.hashRemoveNode(u);try{r.node_ops.rename(u,n,o),u.parent=n}catch(e){throw e}finally{se.hashAddNode(u)}}},rmdir(e){var t=se.lookupPath(e,{parent:!0}).node,r=N.basename(e),n=se.lookupNode(t,r),s=se.mayDelete(t,r,!0);if(s)throw new se.ErrnoError(s);if(!t.node_ops.rmdir)throw new se.ErrnoError(63);if(se.isMountpoint(n))throw new se.ErrnoError(10);t.node_ops.rmdir(t,r),se.destroyNode(n)},readdir(e){var t=se.lookupPath(e,{follow:!0}).node;return se.checkOpExists(t.node_ops.readdir,54)(t)},unlink(e){var t=se.lookupPath(e,{parent:!0}).node;if(!t)throw new se.ErrnoError(44);var r=N.basename(e),n=se.lookupNode(t,r),s=se.mayDelete(t,r,!1);if(s)throw new se.ErrnoError(s);if(!t.node_ops.unlink)throw new se.ErrnoError(63);if(se.isMountpoint(n))throw new se.ErrnoError(10);t.node_ops.unlink(t,r),se.destroyNode(n)},readlink(e){var t=se.lookupPath(e).node;if(!t)throw new se.ErrnoError(44);if(!t.node_ops.readlink)throw new se.ErrnoError(28);return t.node_ops.readlink(t)},stat(e,t){var r=se.lookupPath(e,{follow:!t}).node;return se.checkOpExists(r.node_ops.getattr,63)(r)},fstat(e){var t=se.getStreamChecked(e),r=t.node,n=t.stream_ops.getattr,s=n?t:r;return n??(n=r.node_ops.getattr),se.checkOpExists(n,63),n(s)},lstat:e=>se.stat(e,!0),doChmod(e,t,r,n){se.doSetAttr(e,t,{mode:4095&r|-4096&t.mode,ctime:Date.now(),dontFollow:n})},chmod(e,t,r){var n;"string"==typeof e?n=se.lookupPath(e,{follow:!r}).node:n=e;se.doChmod(null,n,t,r)},lchmod(e,t){se.chmod(e,t,!0)},fchmod(e,t){var r=se.getStreamChecked(e);se.doChmod(r,r.node,t,!1)},doChown(e,t,r){se.doSetAttr(e,t,{timestamp:Date.now(),dontFollow:r})},chown(e,t,r,n){var s;"string"==typeof e?s=se.lookupPath(e,{follow:!n}).node:s=e;se.doChown(null,s,n)},lchown(e,t,r){se.chown(e,t,r,!0)},fchown(e,t,r){var n=se.getStreamChecked(e);se.doChown(n,n.node,!1)},doTruncate(e,t,r){if(se.isDir(t.mode))throw new se.ErrnoError(31);if(!se.isFile(t.mode))throw new se.ErrnoError(28);var n=se.nodePermissions(t,"w");if(n)throw new se.ErrnoError(n);se.doSetAttr(e,t,{size:r,timestamp:Date.now()})},truncate(e,t){if(t<0)throw new se.ErrnoError(28);var r;"string"==typeof e?r=se.lookupPath(e,{follow:!0}).node:r=e;se.doTruncate(null,r,t)},ftruncate(e,t){var r=se.getStreamChecked(e);if(t<0||!(2097155&r.flags))throw new se.ErrnoError(28);se.doTruncate(r,r.node,t)},utime(e,t,r){var n=se.lookupPath(e,{follow:!0}).node;se.checkOpExists(n.node_ops.setattr,63)(n,{atime:t,mtime:r})},open(e,r,n=438){if(""===e)throw new se.ErrnoError(44);var s,a;if(n=64&(r="string"==typeof r?(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})(r):r)?4095&n|32768:0,"object"==typeof e)s=e;else{a=e.endsWith("/");var i=se.lookupPath(e,{follow:!(131072&r),noent_okay:!0});s=i.node,e=i.path}var o=!1;if(64&r)if(s){if(128&r)throw new se.ErrnoError(20)}else{if(a)throw new se.ErrnoError(31);s=se.mknod(e,511|n,0),o=!0}if(!s)throw new se.ErrnoError(44);if(se.isChrdev(s.mode)&&(r&=-513),65536&r&&!se.isDir(s.mode))throw new se.ErrnoError(54);if(!o){var l=se.mayOpen(s,r);if(l)throw new se.ErrnoError(l)}512&r&&!o&&se.truncate(s,0),r&=-131713;var u=se.createStream({node:s,path:se.getPath(s),flags:r,seekable:!0,position:0,stream_ops:s.stream_ops,ungotten:[],error:!1});return u.stream_ops.open&&u.stream_ops.open(u),o&&se.chmod(s,511&n),!t.logReadFiles||1&r||e in se.readFiles||(se.readFiles[e]=1),u},close(e){if(se.isClosed(e))throw new se.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{se.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(se.isClosed(e))throw new se.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new se.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new se.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read(e,t,r,n,s){if(n<0||s<0)throw new se.ErrnoError(28);if(se.isClosed(e))throw new se.ErrnoError(8);if(1==(2097155&e.flags))throw new se.ErrnoError(8);if(se.isDir(e.node.mode))throw new se.ErrnoError(31);if(!e.stream_ops.read)throw new se.ErrnoError(28);var a=void 0!==s;if(a){if(!e.seekable)throw new se.ErrnoError(70)}else s=e.position;var i=e.stream_ops.read(e,t,r,n,s);return a||(e.position+=i),i},write(e,t,r,n,s,a){if(n<0||s<0)throw new se.ErrnoError(28);if(se.isClosed(e))throw new se.ErrnoError(8);if(!(2097155&e.flags))throw new se.ErrnoError(8);if(se.isDir(e.node.mode))throw new se.ErrnoError(31);if(!e.stream_ops.write)throw new se.ErrnoError(28);e.seekable&&1024&e.flags&&se.llseek(e,0,2);var i=void 0!==s;if(i){if(!e.seekable)throw new se.ErrnoError(70)}else s=e.position;var o=e.stream_ops.write(e,t,r,n,s,a);return i||(e.position+=o),o},mmap(e,t,r,n,s){if(2&n&&!(2&s)&&2!=(2097155&e.flags))throw new se.ErrnoError(2);if(1==(2097155&e.flags))throw new se.ErrnoError(2);if(!e.stream_ops.mmap)throw new se.ErrnoError(43);if(!t)throw new se.ErrnoError(28);return e.stream_ops.mmap(e,t,r,n,s)},msync:(e,t,r,n,s)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,n,s):0,ioctl(e,t,r){if(!e.stream_ops.ioctl)throw new se.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile(e,t={}){if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error(`Invalid encoding type "${t.encoding}"`);var r=se.open(e,t.flags),n=se.stat(e).size,s=new Uint8Array(n);return se.read(r,s,0,n,0),"utf8"===t.encoding&&(s=z(s)),se.close(r),s},writeFile(e,t,r={}){r.flags=r.flags||577;var n=se.open(e,r.flags,r.mode);if("string"==typeof t&&(t=new Uint8Array(J(t,!0))),!ArrayBuffer.isView(t))throw new Error("Unsupported data type");se.write(n,t,0,t.byteLength,void 0,r.canOwn),se.close(n)},cwd:()=>se.currentPath,chdir(e){var t=se.lookupPath(e,{follow:!0});if(null===t.node)throw new se.ErrnoError(44);if(!se.isDir(t.node.mode))throw new se.ErrnoError(54);var r=se.nodePermissions(t.node,"x");if(r)throw new se.ErrnoError(r);se.currentPath=t.path},createDefaultDirectories(){se.mkdir("/tmp"),se.mkdir("/home"),se.mkdir("/home/web_user")},createDefaultDevices(){se.mkdir("/dev"),se.registerDevice(se.makedev(1,3),{read:()=>0,write:(e,t,r,n,s)=>n,llseek:()=>0}),se.mkdev("/dev/null",se.makedev(1,3)),K.register(se.makedev(5,0),K.default_tty_ops),K.register(se.makedev(6,0),K.default_tty1_ops),se.mkdev("/dev/tty",se.makedev(5,0)),se.mkdev("/dev/tty1",se.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(j(e),t=e.byteLength),e[--t]);se.createDevice("/dev","random",r),se.createDevice("/dev","urandom",r),se.mkdir("/dev/shm"),se.mkdir("/dev/shm/tmp")},createSpecialDirectories(){se.mkdir("/proc");var e=se.mkdir("/proc/self");se.mkdir("/proc/self/fd"),se.mount({mount(){var t=se.createNode(e,"fd",16895,73);return t.stream_ops={llseek:Y.stream_ops.llseek},t.node_ops={lookup(e,t){var r=+t,n=se.getStreamChecked(r),s={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:r+1};return s.parent=s,s},readdir:()=>Array.from(se.streams.entries()).filter(([e,t])=>t).map(([e,t])=>e.toString())},t}},{},"/proc/self/fd")},createStandardStreams(e,t,r){e?se.createDevice("/dev","stdin",e):se.symlink("/dev/tty","/dev/stdin"),t?se.createDevice("/dev","stdout",null,t):se.symlink("/dev/tty","/dev/stdout"),r?se.createDevice("/dev","stderr",null,r):se.symlink("/dev/tty1","/dev/stderr"),se.open("/dev/stdin",0),se.open("/dev/stdout",1),se.open("/dev/stderr",1)},staticInit(){se.nameTable=new Array(4096),se.mount(Y,{},"/"),se.createDefaultDirectories(),se.createDefaultDevices(),se.createSpecialDirectories(),se.filesystems={MEMFS:Y}},init(e,r,n){se.initialized=!0,e??(e=t.stdin),r??(r=t.stdout),n??(n=t.stderr),se.createStandardStreams(e,r,n)},quit(){for(var e of(se.initialized=!1,se.streams))e&&se.close(e)},findObject(e,t){var r=se.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(n=se.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=se.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=N.basename(e),n=se.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:se.getPath(e);for(var s=t.split("/").reverse();s.length;){var a=s.pop();if(a){var i=N.join2(e,a);try{se.mkdir(i)}catch(e){if(20!=e.errno)throw e}e=i}}return i},createFile(e,t,r,n,s){var a=N.join2("string"==typeof e?e:se.getPath(e),t),i=Z(n,s);return se.create(a,i)},createDataFile(e,t,r,n,s,a){var i=t;e&&(e="string"==typeof e?e:se.getPath(e),i=t?N.join2(e,t):e);var o=Z(n,s),l=se.create(i,o);if(r){if("string"==typeof r){for(var u=new Array(r.length),c=0,h=r.length;c<h;++c)u[c]=r.charCodeAt(c);r=u}se.chmod(l,146|o);var d=se.open(l,577);se.write(d,r,0,r.length,0,a),se.close(d),se.chmod(l,o)}},createDevice(e,t,r,n){var s,a=N.join2("string"==typeof e?e:se.getPath(e),t),i=Z(!!r,!!n);(s=se.createDevice).major??(s.major=64);var o=se.makedev(se.createDevice.major++,0);return se.registerDevice(o,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,t,n,s,a){for(var i=0,o=0;o<s;o++){var l;try{l=r()}catch(e){throw new se.ErrnoError(29)}if(void 0===l&&0===i)throw new se.ErrnoError(6);if(null==l)break;i++,t[n+o]=l}return i&&(e.node.atime=Date.now()),i},write(e,t,r,s,a){for(var i=0;i<s;i++)try{n(t[r+i])}catch(e){throw new se.ErrnoError(29)}return s&&(e.node.mtime=e.node.ctime=Date.now()),i}}),se.mkdev(a,i,o)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{e.contents=a(e.url)}catch(e){throw new se.ErrnoError(29)}},createLazyFile(e,t,r,s,a){class i{constructor(){st(this,"lengthKnown",!1),st(this,"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;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,n=Number(e.getResponseHeader("Content-length")),s=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,a=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,i=1048576;s||(i=n);var o=this;o.setDataGetter(e=>{var t=e*i,s=(e+1)*i-1;if(s=Math.min(s,n-1),void 0===o.chunks[e]&&(o.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var s=new XMLHttpRequest;if(s.open("GET",r,!1),n!==i&&s.setRequestHeader("Range","bytes="+e+"-"+t),s.responseType="arraybuffer",s.overrideMimeType&&s.overrideMimeType("text/plain; charset=x-user-defined"),s.send(null),!(s.status>=200&&s.status<300||304===s.status))throw new Error("Couldn't load "+r+". Status: "+s.status);return void 0!==s.response?new Uint8Array(s.response||[]):J(s.responseText||"",!0)})(t,s)),void 0===o.chunks[e])throw new Error("doXHR failed!");return o.chunks[e]}),!a&&n||(i=n=1,n=this.getter(0).length,i=n,x("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=i,this.lengthKnown=!0}get length(){return this.lengthKnown||this.cacheLength(),this._length}get chunkSize(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}if("undefined"!=typeof XMLHttpRequest){if(!n)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var o={isDevice:!1,contents:new i}}else o={isDevice:!1,url:r};var l=se.createFile(e,t,o,s,a);o.contents?l.contents=o.contents:o.url&&(l.contents=null,l.url=o.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var u={};function c(e,t,r,n,s){var a=e.node.contents;if(s>=a.length)return 0;var i=Math.min(a.length-s,n);if(a.slice)for(var o=0;o<i;o++)t[r+o]=a[s+o];else for(o=0;o<i;o++)t[r+o]=a.get(s+o);return i}return Object.keys(l.stream_ops).forEach(e=>{var t=l.stream_ops[e];u[e]=(...e)=>(se.forceLoadFile(l),t(...e))}),u.read=(e,t,r,n,s)=>(se.forceLoadFile(l),c(e,t,r,n,s)),u.mmap=(e,t,r,n,s)=>{se.forceLoadFile(l);var a=Q();if(!a)throw new se.ErrnoError(48);return c(e,d,a,t,r),{ptr:a,allocated:!0}},l.stream_ops=u,l}},ae=(e,t,r)=>{if(!e)return"";var n=V(m,e,t,r);return U.decode(m.subarray(e,n))},ie={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(N.isAbs(t))return t;var n;-100===e?n=se.cwd():n=ie.getStreamFromFD(e).path;if(0==t.length){if(!r)throw new se.ErrnoError(44);return n}return n+"/"+t},writeStat(e,t){w[e>>2]=t.dev,w[e+4>>2]=t.mode,w[e+8>>2]=t.nlink,w[e+12>>2]=t.uid,w[e+16>>2]=t.gid,w[e+20>>2]=t.rdev,b[e+24>>3]=BigInt(t.size),g[e+32>>2]=4096,g[e+36>>2]=t.blocks;var r=t.atime.getTime(),n=t.mtime.getTime(),s=t.ctime.getTime();return b[e+40>>3]=BigInt(Math.floor(r/1e3)),w[e+48>>2]=r%1e3*1e3*1e3,b[e+56>>3]=BigInt(Math.floor(n/1e3)),w[e+64>>2]=n%1e3*1e3*1e3,b[e+72>>3]=BigInt(Math.floor(s/1e3)),w[e+80>>2]=s%1e3*1e3*1e3,b[e+88>>3]=BigInt(t.ino),0},writeStatFs(e,t){w[e+4>>2]=t.bsize,w[e+60>>2]=t.bsize,b[e+8>>3]=BigInt(t.blocks),b[e+16>>3]=BigInt(t.bfree),b[e+24>>3]=BigInt(t.bavail),b[e+32>>3]=BigInt(t.files),b[e+40>>3]=BigInt(t.ffree),w[e+48>>2]=t.fsid,w[e+64>>2]=t.flags,w[e+56>>2]=t.namelen},doMsync(e,t,r,n,s){if(!se.isFile(t.node.mode))throw new se.ErrnoError(43);if(2&n)return 0;var a=m.slice(e,e+r);se.msync(t,a,s,r,n)},getStreamFromFD:e=>se.getStreamChecked(e),varargs:void 0,getStr:e=>ae(e)};var oe=(e,t,r)=>q(e,m,t,r);var le={},ue=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function ce(e){return this.fromWireType(w[e>>2])}var he={},de={},me={},fe=class extends Error{constructor(e){super(e),this.name="InternalError"}},pe=e=>{throw new fe(e)},ge=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&pe("Mismatched type converter count");for(var s=0;s<e.length;++s)be(e[s],n[s])}e.forEach(e=>me[e]=t);var s=new Array(t.length),a=[],i=0;t.forEach((e,t)=>{de.hasOwnProperty(e)?s[t]=de[e]:(a.push(e),he.hasOwnProperty(e)||(he[e]=[]),he[e].push(()=>{s[t]=de[e],++i===a.length&&n(s)}))}),0===a.length&&n(s)},we=e=>{for(var t="";;){var r=m[e++];if(!r)return t;t+=String.fromCharCode(r)}},ve=class extends Error{constructor(e){super(e),this.name="BindingError"}},ye=e=>{throw new ve(e)};function be(e,t,r={}){return function(e,t,r={}){var n=t.name;if(e||ye(`type "${n}" must have a positive integer typeid pointer`),de.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;ye(`Cannot register type '${n}' twice`)}if(de[e]=t,delete me[e],he.hasOwnProperty(e)){var s=he[e];delete he[e],s.forEach(e=>e())}}(e,t,r)}var _e=(e,t,r)=>{switch(t){case 1:return r?e=>d[e]:e=>m[e];case 2:return r?e=>f[e>>1]:e=>p[e>>1];case 4:return r?e=>g[e>>2]:e=>w[e>>2];case 8:return r?e=>b[e>>3]:e=>_[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},Ee=e=>{ye(e.$$.ptrType.registeredClass.name+" instance already deleted")},xe=!1,Ce=e=>{},Te=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Pe=e=>"undefined"==typeof FinalizationRegistry?(Pe=e=>e,e):(xe=new FinalizationRegistry(e=>{Te(e.$$)}),Ce=e=>xe.unregister(e),(Pe=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t};xe.register(e,r,e)}return e})(e)),Ie=[];function ke(){}var Se=(e,t)=>Object.defineProperty(t,"name",{value:e}),Ae={},Le=(e,t,r)=>{if(void 0===e[t].overloadTable){var n=e[t];e[t]=function(...n){return e[t].overloadTable.hasOwnProperty(n.length)||ye(`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}},Fe=(e,r,n)=>{t.hasOwnProperty(e)?((void 0===n||void 0!==t[e].overloadTable&&void 0!==t[e].overloadTable[n])&&ye(`Cannot register public name '${e}' twice`),Le(t,e,e),t[e].overloadTable.hasOwnProperty(n)&&ye(`Cannot register multiple overloads of a function with the same number of arguments (${n})!`),t[e].overloadTable[n]=r):(t[e]=r,t[e].argCount=n)};function $e(e,t,r,n,s,a,i,o){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=s,this.getActualType=a,this.upcast=i,this.downcast=o,this.pureVirtualFunctions=[]}var De=(e,t,r)=>{for(;t!==r;)t.upcast||ye(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e},Be=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e};function Me(e,t){if(null===t)return this.isReference&&ye(`null is not a valid ${this.name}`),0;t.$$||ye(`Cannot pass "${Be(t)}" as a ${this.name}`),t.$$.ptr||ye(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return De(t.$$.ptr,r,this.registeredClass)}function Re(e,t){var r;if(null===t)return this.isReference&&ye(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t&&t.$$||ye(`Cannot pass "${Be(t)}" as a ${this.name}`),t.$$.ptr||ye(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&ye(`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=De(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&ye("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:ye(`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 s=t.clone();r=this.rawShare(r,it.toHandle(()=>s.delete())),null!==e&&e.push(this.rawDestructor,r)}break;default:ye("Unsupporting sharing policy")}return r}function Ge(e,t){if(null===t)return this.isReference&&ye(`null is not a valid ${this.name}`),0;t.$$||ye(`Cannot pass "${Be(t)}" as a ${this.name}`),t.$$.ptr||ye(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&ye(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return De(t.$$.ptr,r,this.registeredClass)}var Oe=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=Oe(e,t,r.baseClass);return null===n?null:r.downcast(n)},Ne={},je=(e,t)=>(t=((e,t)=>{for(void 0===t&&ye("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),Ne[t]),We=(e,t)=>(t.ptrType&&t.ptr||pe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!==!!t.smartPtr&&pe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Pe(Object.create(e,{$$:{value:t,writable:!0}})));function Ue(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=je(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 s(){return this.isSmartPointer?We(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):We(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var a,i=this.registeredClass.getActualType(t),o=Ae[i];if(!o)return s.call(this);a=this.isConst?o.constPointerType:o.pointerType;var l=Oe(t,this.registeredClass,a.registeredClass);return null===l?s.call(this):this.isSmartPointer?We(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):We(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}function Ve(e,t,r,n,s,a,i,o,l,u,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=s,this.pointeeType=a,this.sharingPolicy=i,this.rawGetPointee=o,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,s||void 0!==t.baseClass?this.toWireType=Re:n?(this.toWireType=Me,this.destructorFunction=null):(this.toWireType=Ge,this.destructorFunction=null)}var ze,He=(e,r,n)=>{t.hasOwnProperty(e)||pe("Replacing nonexistent public symbol"),void 0!==t[e].overloadTable&&void 0!==n?t[e].overloadTable[n]=r:(t[e]=r,t[e].argCount=n)},Xe=(e,t,r=!1)=>{e=we(e);var n,s=(n=t,ze.get(n));return"function"!=typeof s&&ye(`unknown function pointer with signature ${e}: ${t}`),s};class qe extends Error{}var Je=e=>{var t=bs(e),r=we(t);return Es(t),r},Ke=(e,t)=>{var r=[],n={};throw t.forEach(function e(t){n[t]||de[t]||(me[t]?me[t].forEach(e):(r.push(t),n[t]=!0))}),new qe(`${e}: `+r.map(Je).join([", "]))};function Qe(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}function Ye(e,t,r,n,s,a){var i=t.length;i<2&&ye("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var o=null!==t[1]&&null!==r,l=Qe(t),u=!t[0].isVoid,c=t[0],h=t[1],d=[e,ye,n,s,ue,c.fromWireType.bind(c),h?.toWireType.bind(h)],m=2;m<i;++m){var f=t[m];d.push(f.toWireType.bind(f))}if(!l)for(m=o?1:2;m<t.length;++m)null!==t[m].destructorFunction&&d.push(t[m].destructorFunction);let p=function(e,t,r,n){var s=Qe(e),a=e.length-2,i=[],o=["fn"];t&&o.push("thisWired");for(var l=0;l<a;++l)i.push(`arg${l}`),o.push(`arg${l}Wired`);i=i.join(","),o=o.join(",");var u=`return function (${i}) {\n`;s&&(u+="var destructors = [];\n");var c=s?"destructors":"null",h=["humanName","throwBindingError","invoker","fn","runDestructors","fromRetWire","toClassParamWire"];for(t&&(u+=`var thisWired = toClassParamWire(${c}, this);\n`),l=0;l<a;++l){var d=`toArg${l}Wire`;u+=`var arg${l}Wired = ${d}(${c}, arg${l});\n`,h.push(d)}if(u+=(r||n?"var rv = ":"")+`invoker(${o});\n`,s)u+="runDestructors(destructors);\n";else for(l=t?1:2;l<e.length;++l){var m=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==e[l].destructorFunction&&(u+=`${m}_dtor(${m});\n`,h.push(`${m}_dtor`))}return r&&(u+="var ret = fromRetWire(rv);\nreturn ret;\n"),u+="}\n",new Function(h,u)}(t,o,u,a);var g=p(...d);return Se(e,g)}var Ze=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(w[t+4*n>>2]);return r},et=e=>{const t=(e=e.trim()).indexOf("(");return-1===t?e:e.slice(0,t)},tt=(e,t,r)=>(e instanceof Object||ye(`${r} with invalid "this": ${e}`),e instanceof t.registeredClass.constructor||ye(`${r} incompatible with "this" of type ${e.constructor.name}`),e.$$.ptr||ye(`cannot call emscripten binding method ${r} on deleted object`),De(e.$$.ptr,e.$$.ptrType.registeredClass,t.registeredClass)),rt=[],nt=[0,1,,1,null,1,!0,1,!1,1],at=e=>{e>9&&0===--nt[e+1]&&(nt[e]=void 0,rt.push(e))},it={toValue:e=>(e||ye(`Cannot use deleted val. handle = ${e}`),nt[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=rt.pop()||nt.length;return nt[t]=e,nt[t+1]=1,t}}}},ot={name:"emscripten::val",fromWireType:e=>{var t=it.toValue(e);return at(e),t},toWireType:(e,t)=>it.toHandle(t),readValueFromPointer:ce,destructorFunction:null},lt=(e,t,r)=>{switch(t){case 1:return r?function(e){return this.fromWireType(d[e])}:function(e){return this.fromWireType(m[e])};case 2:return r?function(e){return this.fromWireType(f[e>>1])}:function(e){return this.fromWireType(p[e>>1])};case 4:return r?function(e){return this.fromWireType(g[e>>2])}:function(e){return this.fromWireType(w[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},ut=(e,t)=>{var r=de[e];return void 0===r&&ye(`${t} has unknown type ${Je(e)}`),r},ct=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(v[e>>2])};case 8:return function(e){return this.fromWireType(y[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},ht=Object.assign({optional:!0},ot),dt=new TextDecoder("utf-16le"),mt=(e,t,r)=>{var n=e>>1,s=V(p,n,t/2,r);return dt.decode(p.subarray(n,s))},ft=(e,t,r)=>{if(r??(r=2147483647),r<2)return 0;for(var n=t,s=(r-=2)<2*e.length?r/2:e.length,a=0;a<s;++a){var i=e.charCodeAt(a);f[t>>1]=i,t+=2}return f[t>>1]=0,t-n},pt=e=>2*e.length,gt=(e,t,r)=>{for(var n="",s=e>>2,a=0;!(a>=t/4);a++){var i=w[s+a];if(!i&&!r)break;n+=String.fromCodePoint(i)}return n},wt=(e,t,r)=>{if(r??(r=2147483647),r<4)return 0;for(var n=t,s=n+r-4,a=0;a<e.length;++a){var i=e.codePointAt(a);if(i>65535&&a++,g[t>>2]=i,(t+=4)+4>s)break}return g[t>>2]=0,t-n},vt=e=>{for(var t=0,r=0;r<e.length;++r){e.codePointAt(r)>65535&&r++,t+=4}return t},yt=[],bt=(e,t,r)=>{var n=[],s=e(n,r);return n.length&&(w[t>>2]=it.toHandle(n)),s},_t={},Et=e=>{var t=_t[e];return void 0===t?we(e):t},xt=()=>globalThis;var Ct,Tt=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],Pt=e=>{var t;return e=(t=e)>2?ae(t):t,Tt[e]||("undefined"!=typeof document?document.querySelector(e):null)},It=e=>{var 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"];return(e.getSupportedExtensions()||[]).filter(e=>t.includes(e))},kt={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{kt.lastError||(kt.lastError=e)},getNewId:e=>{for(var t=kt.counter++,r=e.length;r<t;r++)e[r]=null;return t},genObject:(e,t,r,n)=>{for(var s=0;s<e;s++){var a=Ct[r](),i=a&&kt.getNewId(n);a?(a.name=i,n[i]=a):kt.recordError(1282),g[t+4*s>>2]=i}},getSource:(e,t,r,n)=>{for(var s="",a=0;a<t;++a){var i=n?w[n+4*a>>2]:void 0;s+=ae(w[r+4*a>>2],i)}return s},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?kt.registerContext(r,t):0},registerContext:(e,t)=>{var r=kt.getNewId(kt.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),kt.contexts[r]=n,(void 0===t.enableExtensionsByDefault||t.enableExtensionsByDefault)&&kt.initExtensions(n),r},makeContextCurrent:e=>(kt.currentContext=kt.contexts[e],t.ctx=Ct=kt.currentContext?.GLctx,!(e&&!Ct)),getContext:e=>kt.contexts[e],deleteContext:e=>{kt.currentContext===kt.contexts[e]&&(kt.currentContext=null),"object"==typeof JSEvents&&JSEvents.removeAllHandlersOnTarget(kt.contexts[e].GLctx.canvas),kt.contexts[e]?.GLctx.canvas&&(kt.contexts[e].GLctx.canvas.GLctxObject=void 0),kt.contexts[e]=null},initExtensions:e=>{if(e||(e=kt.currentContext),!e.initExtensionsDone){e.initExtensionsDone=!0;var t,r=e.GLctx;(t=r).multiDrawWebgl=t.getExtension("WEBGL_multi_draw"),(e=>{e.extPolygonOffsetClamp=e.getExtension("EXT_polygon_offset_clamp")})(r),(e=>{e.extClipControl=e.getExtension("EXT_clip_control")})(r),(e=>{e.webglPolygonMode=e.getExtension("WEBGL_polygon_mode")})(r),(e=>{var t=e.getExtension("ANGLE_instanced_arrays");if(t)e.vertexAttribDivisor=(e,r)=>t.vertexAttribDivisorANGLE(e,r),e.drawArraysInstanced=(e,r,n,s)=>t.drawArraysInstancedANGLE(e,r,n,s),e.drawElementsInstanced=(e,r,n,s,a)=>t.drawElementsInstancedANGLE(e,r,n,s,a)})(r),(e=>{var t=e.getExtension("OES_vertex_array_object");if(t)e.createVertexArray=()=>t.createVertexArrayOES(),e.deleteVertexArray=e=>t.deleteVertexArrayOES(e),e.bindVertexArray=e=>t.bindVertexArrayOES(e),e.isVertexArray=e=>t.isVertexArrayOES(e)})(r),(e=>{var t=e.getExtension("WEBGL_draw_buffers");if(t)e.drawBuffers=(e,r)=>t.drawBuffersWEBGL(e,r)})(r),(e=>{e.dibvbi=e.getExtension("WEBGL_draw_instanced_base_vertex_base_instance")})(r),(e=>{e.mdibvbi=e.getExtension("WEBGL_multi_draw_instanced_base_vertex_base_instance")})(r),e.version>=2&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query_webgl2")),(e.version<2||!r.disjointTimerQueryExt)&&(r.disjointTimerQueryExt=r.getExtension("EXT_disjoint_timer_query")),It(r).forEach(e=>{e.includes("lose_context")||e.includes("debug")||r.getExtension(e)})}}},St=e=>Ct.activeTexture(e),At=(e,t)=>{Ct.attachShader(kt.programs[e],kt.shaders[t])},Lt=(e,t,r)=>{Ct.bindAttribLocation(kt.programs[e],t,ae(r))},Ft=(e,t)=>{35051==e?Ct.currentPixelPackBufferBinding=t:35052==e&&(Ct.currentPixelUnpackBufferBinding=t),Ct.bindBuffer(e,kt.buffers[t])},$t=(e,t,r)=>{Ct.bindBufferBase(e,t,kt.buffers[r])},Dt=(e,t)=>{Ct.bindFramebuffer(e,kt.framebuffers[t])},Bt=(e,t)=>{Ct.bindRenderbuffer(e,kt.renderbuffers[t])},Mt=(e,t)=>{Ct.bindTexture(e,kt.textures[t])},Rt=e=>{Ct.bindVertexArray(kt.vaos[e])},Gt=Rt,Ot=Rt,Nt=Ot,jt=(e,t,r,n)=>Ct.blendColor(e,t,r,n),Wt=e=>Ct.blendEquation(e),Ut=(e,t)=>Ct.blendEquationSeparate(e,t),Vt=(e,t)=>Ct.blendFunc(e,t),zt=(e,t,r,n)=>Ct.blendFuncSeparate(e,t,r,n),Ht=(e,t,r,n,s,a,i,o,l,u)=>Ct.blitFramebuffer(e,t,r,n,s,a,i,o,l,u),Xt=(e,t,r,n)=>{kt.currentContext.version>=2?r&&t?Ct.bufferData(e,m,n,r,t):Ct.bufferData(e,t,n):Ct.bufferData(e,r?m.subarray(r,r+t):t,n)},qt=(e,t,r,n)=>{kt.currentContext.version>=2?r&&Ct.bufferSubData(e,t,m,n,r):Ct.bufferSubData(e,t,m.subarray(n,n+r))},Jt=e=>Ct.checkFramebufferStatus(e),Kt=e=>Ct.clear(e),Qt=(e,t,r,n)=>Ct.clearColor(e,t,r,n),Yt=e=>Ct.clearDepth(e),Zt=e=>Ct.clearStencil(e),er=(e,t,r,n)=>{Ct.colorMask(!!e,!!t,!!r,!!n)},tr=e=>{Ct.compileShader(kt.shaders[e])},rr=(e,t,r,n,s,a,i,o)=>{if(kt.currentContext.version>=2)return Ct.currentPixelUnpackBufferBinding||!i?void Ct.compressedTexImage2D(e,t,r,n,s,a,i,o):void Ct.compressedTexImage2D(e,t,r,n,s,a,m,o,i);Ct.compressedTexImage2D(e,t,r,n,s,a,m.subarray(o,o+i))},nr=(e,t,r,n,s,a,i,o,l)=>{if(kt.currentContext.version>=2)return Ct.currentPixelUnpackBufferBinding||!o?void Ct.compressedTexSubImage2D(e,t,r,n,s,a,i,o,l):void Ct.compressedTexSubImage2D(e,t,r,n,s,a,i,m,l,o);Ct.compressedTexSubImage2D(e,t,r,n,s,a,i,m.subarray(l,l+o))},sr=(e,t,r,n,s,a,i,o)=>Ct.copyTexSubImage2D(e,t,r,n,s,a,i,o),ar=()=>{var e=kt.getNewId(kt.programs),t=Ct.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,kt.programs[e]=t,e},ir=e=>{var t=kt.getNewId(kt.shaders);return kt.shaders[t]=Ct.createShader(e),t},or=e=>Ct.cullFace(e),lr=(e,t)=>{for(var r=0;r<e;r++){var n=g[t+4*r>>2],s=kt.buffers[n];s&&(Ct.deleteBuffer(s),s.name=0,kt.buffers[n]=null,n==Ct.currentPixelPackBufferBinding&&(Ct.currentPixelPackBufferBinding=0),n==Ct.currentPixelUnpackBufferBinding&&(Ct.currentPixelUnpackBufferBinding=0))}},ur=(e,t)=>{for(var r=0;r<e;++r){var n=g[t+4*r>>2],s=kt.framebuffers[n];s&&(Ct.deleteFramebuffer(s),s.name=0,kt.framebuffers[n]=null)}},cr=e=>{if(e){var t=kt.programs[e];t?(Ct.deleteProgram(t),t.name=0,kt.programs[e]=null):kt.recordError(1281)}},hr=(e,t)=>{for(var r=0;r<e;r++){var n=g[t+4*r>>2],s=kt.renderbuffers[n];s&&(Ct.deleteRenderbuffer(s),s.name=0,kt.renderbuffers[n]=null)}},dr=e=>{if(e){var t=kt.shaders[e];t?(Ct.deleteShader(t),kt.shaders[e]=null):kt.recordError(1281)}},mr=e=>{if(e){var t=kt.syncs[e];t?(Ct.deleteSync(t),t.name=0,kt.syncs[e]=null):kt.recordError(1281)}},fr=(e,t)=>{for(var r=0;r<e;r++){var n=g[t+4*r>>2],s=kt.textures[n];s&&(Ct.deleteTexture(s),s.name=0,kt.textures[n]=null)}},pr=(e,t)=>{for(var r=0;r<e;r++){var n=g[t+4*r>>2];Ct.deleteVertexArray(kt.vaos[n]),kt.vaos[n]=null}},gr=pr,wr=pr,vr=wr,yr=e=>Ct.depthFunc(e),br=e=>{Ct.depthMask(!!e)},_r=e=>Ct.disable(e),Er=e=>{Ct.disableVertexAttribArray(e)},xr=(e,t,r)=>{Ct.drawArrays(e,t,r)},Cr=(e,t,r,n)=>{Ct.drawElements(e,t,r,n)},Tr=e=>Ct.enable(e),Pr=e=>{Ct.enableVertexAttribArray(e)},Ir=(e,t)=>{var r=Ct.fenceSync(e,t);if(r){var n=kt.getNewId(kt.syncs);return r.name=n,kt.syncs[n]=r,n}return 0},kr=()=>Ct.finish(),Sr=()=>Ct.flush(),Ar=(e,t,r,n)=>{Ct.framebufferRenderbuffer(e,t,r,kt.renderbuffers[n])},Lr=(e,t,r,n,s)=>{Ct.framebufferTexture2D(e,t,r,kt.textures[n],s)},Fr=e=>Ct.frontFace(e),$r=(e,t)=>{kt.genObject(e,t,"createBuffer",kt.buffers)},Dr=(e,t)=>{kt.genObject(e,t,"createFramebuffer",kt.framebuffers)},Br=(e,t)=>{kt.genObject(e,t,"createRenderbuffer",kt.renderbuffers)},Mr=(e,t)=>{kt.genObject(e,t,"createTexture",kt.textures)},Rr=(e,t)=>{kt.genObject(e,t,"createVertexArray",kt.vaos)},Gr=Rr,Or=Rr,Nr=e=>Ct.generateMipmap(e),jr=(e,t)=>Ct.getAttribLocation(kt.programs[e],ae(t)),Wr=()=>{var e=It(Ct);return e=e.concat(e.map(e=>"GL_"+e))},Ur=(e,t,r)=>{if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&kt.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var s=Ct.getParameter(34467);n=s?s.length:0;break;case 33309:if(kt.currentContext.version<2)return void kt.recordError(1282);n=Wr().length;break;case 33307:case 33308:if(kt.currentContext.version<2)return void kt.recordError(1280);n=33307==e?3:0}if(void 0===n){var a=Ct.getParameter(e);switch(typeof a){case"number":n=a;break;case"boolean":n=a?1:0;break;case"string":return void kt.recordError(1280);case"object":if(null===a)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 kt.recordError(1280)}else{if(a instanceof Float32Array||a instanceof Uint32Array||a instanceof Int32Array||a instanceof Array){for(var i=0;i<a.length;++i)switch(r){case 0:g[t+4*i>>2]=a[i];break;case 2:v[t+4*i>>2]=a[i];break;case 4:d[t+i]=a[i]?1:0}return}try{n=0|a.name}catch(t){return kt.recordError(1280),void C(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return kt.recordError(1280),void C(`GL_INVALID_ENUM in glGet${r}v: Native code calling glGet${r}v(${e}) and it returns ${a} of type ${typeof a}!`)}}switch(r){case 1:((e,t)=>{w[e>>2]=t;var r=w[e>>2];w[e+4>>2]=(t-r)/4294967296})(t,n);break;case 0:g[t>>2]=n;break;case 2:v[t>>2]=n;break;case 4:d[t]=n?1:0}}else kt.recordError(1281)},Vr=(e,t)=>Ur(e,t,4),zr=(e,t,r)=>{r?g[r>>2]=Ct.getBufferParameter(e,t):kt.recordError(1281)},Hr=()=>{var e=Ct.getError()||kt.lastError;return kt.lastError=0,e},Xr=(e,t,r,n)=>{var s=Ct.getFramebufferAttachmentParameter(e,t,r);(s instanceof WebGLRenderbuffer||s instanceof WebGLTexture)&&(s=0|s.name),g[n>>2]=s},qr=(e,t)=>Ur(e,t,0),Jr=(e,t,r,n,s)=>{if(n<0)kt.recordError(1281);else if(s){var a=Ct.getInternalformatParameter(e,t,r);if(null!==a)for(var i=0;i<a.length&&i<n;++i)g[s+4*i>>2]=a[i]}else kt.recordError(1281)},Kr=(e,t,r,n)=>{var s=Ct.getProgramInfoLog(kt.programs[e]);null===s&&(s="(unknown error)");var a=t>0&&n?oe(s,n,t):0;r&&(g[r>>2]=a)},Qr=(e,t,r)=>{if(r)if(e>=kt.counter)kt.recordError(1281);else if(e=kt.programs[e],35716==t){var n=Ct.getProgramInfoLog(e);null===n&&(n="(unknown error)"),g[r>>2]=n.length+1}else if(35719==t){if(!e.maxUniformLength)for(var s=Ct.getProgramParameter(e,35718),a=0;a<s;++a)e.maxUniformLength=Math.max(e.maxUniformLength,Ct.getActiveUniform(e,a).name.length+1);g[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength){var i=Ct.getProgramParameter(e,35721);for(a=0;a<i;++a)e.maxAttributeLength=Math.max(e.maxAttributeLength,Ct.getActiveAttrib(e,a).name.length+1)}g[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength){var o=Ct.getProgramParameter(e,35382);for(a=0;a<o;++a)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,Ct.getActiveUniformBlockName(e,a).length+1)}g[r>>2]=e.maxUniformBlockNameLength}else g[r>>2]=Ct.getProgramParameter(e,t);else kt.recordError(1281)},Yr=(e,t,r)=>{r?g[r>>2]=Ct.getRenderbufferParameter(e,t):kt.recordError(1281)},Zr=(e,t,r,n)=>{var s=Ct.getShaderInfoLog(kt.shaders[e]);null===s&&(s="(unknown error)");var a=t>0&&n?oe(s,n,t):0;r&&(g[r>>2]=a)},en=(e,t,r,n)=>{var s=Ct.getShaderPrecisionFormat(e,t);g[r>>2]=s.rangeMin,g[r+4>>2]=s.rangeMax,g[n>>2]=s.precision},tn=(e,t,r)=>{if(r)if(35716==t){var n=Ct.getShaderInfoLog(kt.shaders[e]);null===n&&(n="(unknown error)");var s=n?n.length+1:0;g[r>>2]=s}else if(35720==t){var a=Ct.getShaderSource(kt.shaders[e]),i=a?a.length+1:0;g[r>>2]=i}else g[r>>2]=Ct.getShaderParameter(kt.shaders[e],t);else kt.recordError(1281)},rn=e=>{var t=X(e)+1,r=_s(t);return r&&oe(e,r,t),r},nn=e=>{var t=kt.stringCache[e];if(!t){switch(e){case 7939:t=rn(Wr().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=Ct.getParameter(e);r||kt.recordError(1280),t=r?rn(r):0;break;case 7938:var n=Ct.getParameter(7938),s=`OpenGL ES 2.0 (${n})`;kt.currentContext.version>=2&&(s=`OpenGL ES 3.0 (${n})`),t=rn(s);break;case 35724:var a=Ct.getParameter(35724),i=a.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==i&&(3==i[1].length&&(i[1]=i[1]+"0"),a=`OpenGL ES GLSL ES ${i[1]} (${a})`),t=rn(a);break;default:kt.recordError(1280)}kt.stringCache[e]=t}return t},sn=(e,t)=>{if(kt.currentContext.version<2)return kt.recordError(1282),0;var r=kt.stringiCache[e];if(r)return t<0||t>=r.length?(kt.recordError(1281),0):r[t];if(7939===e){var n=Wr().map(rn);return r=kt.stringiCache[e]=n,t<0||t>=r.length?(kt.recordError(1281),0):r[t]}return kt.recordError(1280),0},an=(e,t)=>Ct.getUniformBlockIndex(kt.programs[e],ae(t)),on=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),ln=(e,t)=>{if(t=ae(t),e=kt.programs[e]){(e=>{var t,r,n=e.uniformLocsById,s=e.uniformSizeAndIdsByName;if(!n){e.uniformLocsById=n={},e.uniformArrayNamesById={};var a=Ct.getProgramParameter(e,35718);for(t=0;t<a;++t){var i=Ct.getActiveUniform(e,t),o=i.name,l=i.size,u=on(o),c=u>0?o.slice(0,u):o,h=e.uniformIdCounter;for(e.uniformIdCounter+=l,s[c]=[l,h],r=0;r<l;++r)n[h]=r,e.uniformArrayNamesById[h++]=c}}})(e);var r=e.uniformLocsById,n=0,s=t,a=on(t);a>0&&(o=t.slice(a+1),n=parseInt(o)>>>0,s=t.slice(0,a));var i=e.uniformSizeAndIdsByName[s];if(i&&n<i[0]&&(r[n+=i[1]]=r[n]||Ct.getUniformLocation(e,t)))return n}else kt.recordError(1281);var o;return-1},un=(e,t,r)=>{r?g[r>>2]=Ct.getVertexAttribOffset(e,t):kt.recordError(1281)},cn=(e,t,r)=>{((e,t,r,n)=>{if(r){var s=Ct.getVertexAttrib(e,t);if(34975==t)g[r>>2]=s&&s.name;else if("number"==typeof s||"boolean"==typeof s)switch(n){case 0:g[r>>2]=s;break;case 2:v[r>>2]=s;break;case 5:g[r>>2]=Math.fround(s)}else for(var a=0;a<s.length;a++)switch(n){case 0:g[r+4*a>>2]=s[a];break;case 2:v[r+4*a>>2]=s[a];break;case 5:g[r+4*a>>2]=Math.fround(s[a])}}else kt.recordError(1281)})(e,t,r,5)},hn=e=>Ct.isEnabled(e),dn=e=>{var t=kt.textures[e];return t?Ct.isTexture(t):0},mn=e=>Ct.lineWidth(e),fn=e=>{e=kt.programs[e],Ct.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},pn=(e,t)=>{3317==e?kt.unpackAlignment=t:3314==e&&(kt.unpackRowLength=t),Ct.pixelStorei(e,t)},gn=e=>0==(e-=5120)?d:1==e?m:2==e?f:4==e?g:6==e?v:5==e||28922==e||28520==e||30779==e||30782==e?w:p,wn=(e,t)=>e>>>31-Math.clz32(t.BYTES_PER_ELEMENT),vn=(e,t,r,n,s,a)=>{var i=gn(e),o=(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,l=((e,t,r)=>{var n,s,a=(kt.unpackRowLength||e)*r;return t*(n=a,s=kt.unpackAlignment,n+s-1&-s)})(r,n,o);return i.subarray(wn(s,i),wn(s+l,i))},yn=(e,t,r,n,s,a,i)=>{if(kt.currentContext.version>=2){if(Ct.currentPixelPackBufferBinding)return void Ct.readPixels(e,t,r,n,s,a,i);var o=gn(a),l=wn(i,o);Ct.readPixels(e,t,r,n,s,a,o,l)}else{var u=vn(a,s,r,n,i);u?Ct.readPixels(e,t,r,n,s,a,u):kt.recordError(1280)}},bn=(e,t,r,n)=>Ct.renderbufferStorage(e,t,r,n),_n=(e,t,r,n,s)=>Ct.renderbufferStorageMultisample(e,t,r,n,s),En=(e,t,r,n)=>Ct.scissor(e,t,r,n),xn=(e,t,r,n)=>{var s=kt.getSource(e,t,r,n);Ct.shaderSource(kt.shaders[e],s)},Cn=(e,t,r)=>Ct.stencilFunc(e,t,r),Tn=(e,t,r,n)=>Ct.stencilFuncSeparate(e,t,r,n),Pn=e=>Ct.stencilMask(e),In=(e,t)=>Ct.stencilMaskSeparate(e,t),kn=(e,t,r)=>Ct.stencilOp(e,t,r),Sn=(e,t,r,n)=>Ct.stencilOpSeparate(e,t,r,n),An=(e,t,r,n,s,a,i,o,l)=>{if(kt.currentContext.version>=2){if(Ct.currentPixelUnpackBufferBinding)return void Ct.texImage2D(e,t,r,n,s,a,i,o,l);if(l){var u=gn(o),c=wn(l,u);return void Ct.texImage2D(e,t,r,n,s,a,i,o,u,c)}}var h=l?vn(o,i,n,s,l):null;Ct.texImage2D(e,t,r,n,s,a,i,o,h)},Ln=(e,t,r)=>Ct.texParameterf(e,t,r),Fn=(e,t,r)=>{var n=v[r>>2];Ct.texParameterf(e,t,n)},$n=(e,t,r)=>Ct.texParameteri(e,t,r),Dn=(e,t,r)=>{var n=g[r>>2];Ct.texParameteri(e,t,n)},Bn=(e,t,r,n,s,a,i,o,l)=>{if(kt.currentContext.version>=2){if(Ct.currentPixelUnpackBufferBinding)return void Ct.texSubImage2D(e,t,r,n,s,a,i,o,l);if(l){var u=gn(o);return void Ct.texSubImage2D(e,t,r,n,s,a,i,o,u,wn(l,u))}}var c=l?vn(o,i,s,a,l):null;Ct.texSubImage2D(e,t,r,n,s,a,i,o,c)},Mn=e=>{var t=Ct.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=Ct.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?`[${r}]`:""))),r}kt.recordError(1282)},Rn=(e,t)=>{Ct.uniform1f(Mn(e),t)},Gn=[],On=(e,t,r)=>{if(kt.currentContext.version>=2)t&&Ct.uniform1fv(Mn(e),v,r>>2,t);else{if(t<=288)for(var n=Gn[t],s=0;s<t;++s)n[s]=v[r+4*s>>2];else n=v.subarray(r>>2,r+4*t>>2);Ct.uniform1fv(Mn(e),n)}},Nn=(e,t)=>{Ct.uniform1i(Mn(e),t)},jn=[],Wn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&Ct.uniform1iv(Mn(e),g,r>>2,t);else{if(t<=288)for(var n=jn[t],s=0;s<t;++s)n[s]=g[r+4*s>>2];else n=g.subarray(r>>2,r+4*t>>2);Ct.uniform1iv(Mn(e),n)}},Un=(e,t,r)=>{Ct.uniform2f(Mn(e),t,r)},Vn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&Ct.uniform2fv(Mn(e),v,r>>2,2*t);else{if(t<=144)for(var n=Gn[t*=2],s=0;s<t;s+=2)n[s]=v[r+4*s>>2],n[s+1]=v[r+(4*s+4)>>2];else n=v.subarray(r>>2,r+8*t>>2);Ct.uniform2fv(Mn(e),n)}},zn=(e,t,r)=>{Ct.uniform2i(Mn(e),t,r)},Hn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&Ct.uniform2iv(Mn(e),g,r>>2,2*t);else{if(t<=144)for(var n=jn[t*=2],s=0;s<t;s+=2)n[s]=g[r+4*s>>2],n[s+1]=g[r+(4*s+4)>>2];else n=g.subarray(r>>2,r+8*t>>2);Ct.uniform2iv(Mn(e),n)}},Xn=(e,t,r,n)=>{Ct.uniform3f(Mn(e),t,r,n)},qn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&Ct.uniform3fv(Mn(e),v,r>>2,3*t);else{if(t<=96)for(var n=Gn[t*=3],s=0;s<t;s+=3)n[s]=v[r+4*s>>2],n[s+1]=v[r+(4*s+4)>>2],n[s+2]=v[r+(4*s+8)>>2];else n=v.subarray(r>>2,r+12*t>>2);Ct.uniform3fv(Mn(e),n)}},Jn=(e,t,r,n)=>{Ct.uniform3i(Mn(e),t,r,n)},Kn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&Ct.uniform3iv(Mn(e),g,r>>2,3*t);else{if(t<=96)for(var n=jn[t*=3],s=0;s<t;s+=3)n[s]=g[r+4*s>>2],n[s+1]=g[r+(4*s+4)>>2],n[s+2]=g[r+(4*s+8)>>2];else n=g.subarray(r>>2,r+12*t>>2);Ct.uniform3iv(Mn(e),n)}},Qn=(e,t,r,n,s)=>{Ct.uniform4f(Mn(e),t,r,n,s)},Yn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&Ct.uniform4fv(Mn(e),v,r>>2,4*t);else{if(t<=72){var n=Gn[4*t],s=v;r>>=2,t*=4;for(var a=0;a<t;a+=4){var i=r+a;n[a]=s[i],n[a+1]=s[i+1],n[a+2]=s[i+2],n[a+3]=s[i+3]}}else n=v.subarray(r>>2,r+16*t>>2);Ct.uniform4fv(Mn(e),n)}},Zn=(e,t,r,n,s)=>{Ct.uniform4i(Mn(e),t,r,n,s)},es=(e,t,r)=>{if(kt.currentContext.version>=2)t&&Ct.uniform4iv(Mn(e),g,r>>2,4*t);else{if(t<=72)for(var n=jn[t*=4],s=0;s<t;s+=4)n[s]=g[r+4*s>>2],n[s+1]=g[r+(4*s+4)>>2],n[s+2]=g[r+(4*s+8)>>2],n[s+3]=g[r+(4*s+12)>>2];else n=g.subarray(r>>2,r+16*t>>2);Ct.uniform4iv(Mn(e),n)}},ts=(e,t,r)=>{e=kt.programs[e],Ct.uniformBlockBinding(e,t,r)},rs=(e,t,r,n)=>{if(kt.currentContext.version>=2)t&&Ct.uniformMatrix2fv(Mn(e),!!r,v,n>>2,4*t);else{if(t<=72)for(var s=Gn[t*=4],a=0;a<t;a+=4)s[a]=v[n+4*a>>2],s[a+1]=v[n+(4*a+4)>>2],s[a+2]=v[n+(4*a+8)>>2],s[a+3]=v[n+(4*a+12)>>2];else s=v.subarray(n>>2,n+16*t>>2);Ct.uniformMatrix2fv(Mn(e),!!r,s)}},ns=(e,t,r,n)=>{if(kt.currentContext.version>=2)t&&Ct.uniformMatrix3fv(Mn(e),!!r,v,n>>2,9*t);else{if(t<=32)for(var s=Gn[t*=9],a=0;a<t;a+=9)s[a]=v[n+4*a>>2],s[a+1]=v[n+(4*a+4)>>2],s[a+2]=v[n+(4*a+8)>>2],s[a+3]=v[n+(4*a+12)>>2],s[a+4]=v[n+(4*a+16)>>2],s[a+5]=v[n+(4*a+20)>>2],s[a+6]=v[n+(4*a+24)>>2],s[a+7]=v[n+(4*a+28)>>2],s[a+8]=v[n+(4*a+32)>>2];else s=v.subarray(n>>2,n+36*t>>2);Ct.uniformMatrix3fv(Mn(e),!!r,s)}},ss=(e,t,r,n)=>{if(kt.currentContext.version>=2)t&&Ct.uniformMatrix4fv(Mn(e),!!r,v,n>>2,16*t);else{if(t<=18){var s=Gn[16*t],a=v;n>>=2,t*=16;for(var i=0;i<t;i+=16){var o=n+i;s[i]=a[o],s[i+1]=a[o+1],s[i+2]=a[o+2],s[i+3]=a[o+3],s[i+4]=a[o+4],s[i+5]=a[o+5],s[i+6]=a[o+6],s[i+7]=a[o+7],s[i+8]=a[o+8],s[i+9]=a[o+9],s[i+10]=a[o+10],s[i+11]=a[o+11],s[i+12]=a[o+12],s[i+13]=a[o+13],s[i+14]=a[o+14],s[i+15]=a[o+15]}}else s=v.subarray(n>>2,n+64*t>>2);Ct.uniformMatrix4fv(Mn(e),!!r,s)}},as=e=>{e=kt.programs[e],Ct.useProgram(e),Ct.currentProgram=e},is=(e,t)=>Ct.vertexAttrib1f(e,t),os=(e,t)=>{Ct.vertexAttrib2f(e,v[t>>2],v[t+4>>2])},ls=(e,t)=>{Ct.vertexAttrib3f(e,v[t>>2],v[t+4>>2],v[t+8>>2])},us=(e,t)=>{Ct.vertexAttrib4f(e,v[t>>2],v[t+4>>2],v[t+8>>2],v[t+12>>2])},cs=(e,t,r,n,s,a)=>{Ct.vertexAttribPointer(e,t,r,!!n,s,a)},hs=(e,t,r,n)=>Ct.viewport(e,t,r,n),ds=(e,t,r)=>{r=Number(r),Ct.waitSync(kt.syncs[e],t,r)},ms=(e,t)=>Math.ceil(e/t)*t,fs=e=>{var t=(e-h.buffer.byteLength+65535)/65536|0;try{return h.grow(t),I(),1}catch(e){}},ps=["default","low-power","high-performance"],gs=(e,t)=>{var r=t>>2,n=g[r+2],s={alpha:!!d[t+0],depth:!!d[t+1],stencil:!!d[t+2],antialias:!!d[t+3],premultipliedAlpha:!!d[t+4],preserveDrawingBuffer:!!d[t+5],powerPreference:ps[n],failIfMajorPerformanceCaveat:!!d[t+12],majorVersion:g[r+4],minorVersion:g[r+5],enableExtensionsByDefault:d[t+24],explicitSwapControl:d[t+25],proxyContextToMainThread:g[r+7],renderViaOffscreenBackBuffer:d[t+32]},a=Pt(e);return a?s.explicitSwapControl?0:kt.createContext(a,s):0},ws=()=>kt.currentContext?kt.currentContext.handle:0;se.createPreloadedFile=(e,t,r,n,s,a,i,o,l,u)=>{ne(e,t,r,n,s,o,l,u).then(a).catch(i)},se.preloadFile=ne,se.staticInit(),(()=>{let e=ke.prototype;Object.assign(e,{isAliasOf(e){if(!(this instanceof ke))return!1;if(!(e instanceof ke))return!1;var t=this.$$.ptrType.registeredClass,r=this.$$.ptr;e.$$=e.$$;for(var n=e.$$.ptrType.registeredClass,s=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;n.baseClass;)s=n.upcast(s),n=n.baseClass;return t===n&&r===s},clone(){if(this.$$.ptr||Ee(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Pe(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||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ye("Object already scheduled for deletion"),Ce(this),Te(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&ye("Object already scheduled for deletion"),Ie.push(this),Ie.length,this.$$.deleteScheduled=!0,this}});const t=Symbol.dispose;t&&(e[t]=e.delete)})(),Object.assign(Ve.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},readValueFromPointer:ce,fromWireType:Ue});for(var vs=new Float32Array(288),ys=0;ys<=288;++ys)Gn[ys]=vs.subarray(0,ys);var bs,_s,Es,xs=new Int32Array(288);for(ys=0;ys<=288;++ys)jn[ys]=xs.subarray(0,ys);if(t.noExitRuntime&&t.noExitRuntime,t.preloadPlugins&&(re=t.preloadPlugins),t.print&&(x=t.print),t.printErr&&(C=t.printErr),t.wasmBinary&&(l=t.wasmBinary),t.arguments&&t.arguments,t.thisProgram&&t.thisProgram,t.preInit)for("function"==typeof t.preInit&&(t.preInit=[t.preInit]);t.preInit.length>0;)t.preInit.shift()();t.GL=kt;var Cs,Ts={w:(e,t,r)=>{throw new R(e).init(t,r),e},K:function(e,t,r){ie.varargs=r;try{var n=ie.getStreamFromFD(e);switch(t){case 0:if((s=G())<0)return-28;for(;se.streams[s];)s++;return se.dupStream(n,s).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var s=G();return n.flags|=s,0;case 12:s=O();return f[s+0>>1]=2,0}return-28}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},hb:function(e,t,r){try{var n=ie.getStreamFromFD(e);n.getdents||(n.getdents=se.readdir(n.path));for(var s=280,a=0,i=se.llseek(n,0,1),o=Math.floor(i/s),l=Math.min(n.getdents.length,o+Math.floor(r/s)),u=o;u<l;u++){var c,h,m=n.getdents[u];if("."===m)c=n.node.id,h=4;else if(".."===m){c=se.lookupPath(n.path,{parent:!0}).node.id,h=4}else{var p;try{p=se.lookupNode(n.node,m)}catch(e){if(28===e?.errno)continue;throw e}c=p.id,h=se.isChrdev(p.mode)?2:se.isDir(p.mode)?4:se.isLink(p.mode)?10:8}b[t+a>>3]=BigInt(c),b[t+a+8>>3]=BigInt((u+1)*s),f[t+a+16>>1]=280,d[t+a+18]=h,oe(m,t+a+19,256),a+=s}return se.llseek(n,u*s,0),a}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},ob:function(e,t,r){ie.varargs=r;try{var n=ie.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 s=n.tty.ops.ioctl_tcgets(n),a=O();g[a>>2]=s.c_iflag||0,g[a+4>>2]=s.c_oflag||0,g[a+8>>2]=s.c_cflag||0,g[a+12>>2]=s.c_lflag||0;for(var i=0;i<32;i++)d[a+i+17]=s.c_cc[i]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){a=O();var o=g[a>>2],l=g[a+4>>2],u=g[a+8>>2],c=g[a+12>>2],h=[];for(i=0;i<32;i++)h.push(d[a+i+17]);return n.tty.ops.ioctl_tcsets(n.tty,t,{c_iflag:o,c_oflag:l,c_cflag:u,c_lflag:c,c_cc:h})}return 0;case 21519:if(!n.tty)return-59;a=O();return g[a>>2]=0,0;case 21520:return n.tty?-28:-59;case 21537:case 21531:a=O();return se.ioctl(n,t,a);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var m=n.tty.ops.ioctl_tiocgwinsz(n.tty);a=O();f[a>>1]=m[0],f[a+2>>1]=m[1]}return 0;default:return-28}}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},fb:function(e,t,r){try{return t=ie.getStr(t),t=ie.calculateAt(e,t),se.mkdir(t,r,0),0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},L:function(e,t,r,n){ie.varargs=n;try{t=ie.getStr(t),t=ie.calculateAt(e,t);var s=n?G():0;return se.open(t,r,s).fd}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},kb:function(e){try{return e=ie.getStr(e),se.rmdir(e),0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},gb:function(e,t){try{return e=ie.getStr(e),ie.writeStat(t,se.stat(e))}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},lb:function(e,t,r){try{if(t=ie.getStr(t),t=ie.calculateAt(e,t),r){if(512!==r)return-28;se.rmdir(t)}else se.unlink(t);return 0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return-e.errno}},pb:()=>k(""),t:e=>{var t=le[e];delete le[e];var r=t.rawConstructor,n=t.rawDestructor,s=t.fields,a=s.map(e=>e.getterReturnType).concat(s.map(e=>e.setterArgumentType));ge([e],a,e=>{var a={};return s.forEach((t,r)=>{var n=t.fieldName,i=e[r],o=e[r].optional,l=t.getter,u=t.getterContext,c=e[r+s.length],h=t.setter,d=t.setterContext;a[n]={read:e=>i.fromWireType(l(u,e)),write:(e,t)=>{var r=[];h(d,e,c.toWireType(r,t)),ue(r)},optional:o}}),[{name:t.name,fromWireType:e=>{var t={};for(var r in a)t[r]=a[r].read(e);return n(e),t},toWireType:(e,t)=>{for(var s in a)if(!(s in t)&&!a[s].optional)throw new TypeError(`Missing field: "${s}"`);var i=r();for(s in a)a[s].write(i,t[s]);return null!==e&&e.push(n,i),i},readValueFromPointer:ce,destructorFunction:n}]})},H:(e,t,r,n,s)=>{t=we(t);const a=0n===n;let i=e=>e;if(a){const e=8*r;i=t=>BigInt.asUintN(e,t),s=i(s)}be(e,{name:t,fromWireType:i,toWireType:(e,t)=>("number"==typeof t&&(t=BigInt(t)),t),readValueFromPointer:_e(t,r,!a),destructorFunction:null})},db:(e,t,r,n)=>{be(e,{name:t=we(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},readValueFromPointer:function(e){return this.fromWireType(m[e])},destructorFunction:null})},i:(e,t,r,n,s,a,i,o,l,u,c,h,d)=>{c=we(c),a=Xe(s,a),o&&(o=Xe(i,o)),u&&(u=Xe(l,u)),d=Xe(h,d);var m=(e=>{var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?`_${e}`:e})(c);Fe(m,function(){Ke(`Cannot construct ${c} due to unbound types`,[n])}),ge([e,t,r],n?[n]:[],t=>{var r,s,i;t=t[0],i=n?(s=t.registeredClass).instancePrototype:ke.prototype;var l=Se(c,function(...e){if(Object.getPrototypeOf(this)!==h)throw new ve(`Use 'new' to construct ${c}`);if(void 0===f.constructor_body)throw new ve(`${c} has no accessible constructor`);var t=f.constructor_body[e.length];if(void 0===t)throw new ve(`Tried to invoke ctor of ${c} with invalid number of parameters (${e.length}) - expected (${Object.keys(f.constructor_body).toString()}) parameters instead!`);return t.apply(this,e)}),h=Object.create(i,{constructor:{value:l}});l.prototype=h;var f=new $e(c,l,h,d,s,a,o,u);f.baseClass&&((r=f.baseClass).__derivedClasses??(r.__derivedClasses=[]),f.baseClass.__derivedClasses.push(f));var p=new Ve(c,f,!0,!1,!1),g=new Ve(c+"*",f,!1,!1,!1),w=new Ve(c+" const*",f,!1,!0,!1);return Ae[e]={pointerType:g,constPointerType:w},He(m,l),[p,g,w]})},h:(e,t,r,n,s,a,i,o,l)=>{var u=Ze(r,n);t=we(t),t=et(t),a=Xe(s,a,o),ge([],[e],e=>{var n=`${(e=e[0]).name}.${t}`;function s(){Ke(`Cannot call ${n} due to unbound types`,u)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]);var l=e.registeredClass.constructor;return void 0===l[t]?(s.argCount=r-1,l[t]=s):(Le(l,t,n),l[t].overloadTable[r-1]=s),ge([],u,s=>{var u=[s[0],null].concat(s.slice(1)),c=Ye(n,u,null,a,i,o);if(void 0===l[t].overloadTable?(c.argCount=r-1,l[t]=c):l[t].overloadTable[r-1]=c,e.registeredClass.__derivedClasses)for(const r of e.registeredClass.__derivedClasses)r.constructor.hasOwnProperty(t)||(r.constructor[t]=c);return[]}),[]})},v:(e,t,r,n,s,a)=>{var i=Ze(t,r);s=Xe(n,s),ge([],[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 ve(`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]=()=>{Ke(`Cannot construct ${e.name} due to unbound types`,i)},ge([],i,n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Ye(r,n,null,s,a),[])),[]})},a:(e,t,r,n,s,a,i,o,l,u)=>{var c=Ze(r,n);t=we(t),t=et(t),a=Xe(s,a,l),ge([],[e],e=>{var n=`${(e=e[0]).name}.${t}`;function s(){Ke(`Cannot call ${n} due to unbound types`,c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),o&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,h=u[t];return void 0===h||void 0===h.overloadTable&&h.className!==e.name&&h.argCount===r-2?(s.argCount=r-2,s.className=e.name,u[t]=s):(Le(u,t,n),u[t].overloadTable[r-2]=s),ge([],c,s=>{var o=Ye(n,s,e,a,i,l);return void 0===u[t].overloadTable?(o.argCount=r-2,u[t]=o):u[t].overloadTable[r-2]=o,[]}),[]})},g:(e,t,r,n,s,a,i,o,l,u)=>{t=we(t),s=Xe(n,s),ge([],[e],e=>{var n=`${(e=e[0]).name}.${t}`,c={get(){Ke(`Cannot access ${n} due to unbound types`,[r,i])},enumerable:!0,configurable:!0};return c.set=l?()=>Ke(`Cannot access ${n} due to unbound types`,[r,i]):e=>ye(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,t,c),ge([],l?[r,i]:[r],r=>{var i=r[0],c={get(){var t=tt(this,e,n+" getter");return i.fromWireType(s(a,t))},enumerable:!0};if(l){l=Xe(o,l);var h=r[1];c.set=function(t){var r=tt(this,e,n+" setter"),s=[];l(u,r,h.toWireType(s,t)),ue(s)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,c),[]}),[]})},bb:e=>be(e,ot),B:(e,t,r,n)=>{function s(){}t=we(t),s.values={},be(e,{name:t,constructor:s,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,readValueFromPointer:lt(t,r,n),destructorFunction:null}),Fe(t,s)},o:(e,t,r)=>{var n=ut(e,"enum");t=we(t);var s=n.constructor,a=Object.create(n.constructor.prototype,{value:{value:r},constructor:{value:Se(`${n.name}_${t}`,function(){})}});s.values[r]=a,s[t]=a},G:(e,t,r)=>{be(e,{name:t=we(t),fromWireType:e=>e,toWireType:(e,t)=>t,readValueFromPointer:ct(t,r),destructorFunction:null})},I:(e,t,r,n,s,a,i,o)=>{var l=Ze(t,r);e=we(e),e=et(e),s=Xe(n,s,i),Fe(e,function(){Ke(`Cannot call ${e} due to unbound types`,l)},t-1),ge([],l,r=>{var n=[r[0],null].concat(r.slice(1));return He(e,Ye(e,n,null,s,a,i),t-1),[]})},p:(e,t,r,n,s)=>{t=we(t);let a=e=>e;if(0===n){var i=32-8*r;a=e=>e<<i>>>i,s=a(s)}be(e,{name:t,fromWireType:a,toWireType:(e,t)=>t,readValueFromPointer:_e(t,r,0!==n),destructorFunction:null})},j:(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function s(e){var t=w[e>>2],r=w[e+4>>2];return new n(d.buffer,r,t)}be(e,{name:r=we(r),fromWireType:s,readValueFromPointer:s},{ignoreDuplicateRegistrations:!0})},y:(e,t)=>{be(e,ht)},n:(e,t,r,n,s,a,i,o,l,u,c,h)=>{r=we(r),a=Xe(s,a),o=Xe(i,o),u=Xe(l,u),h=Xe(c,h),ge([e],[t],e=>(e=e[0],[new Ve(r,e.registeredClass,!1,!1,!0,e,n,a,o,u,h)]))},cb:(e,t)=>{be(e,{name:t=we(t),fromWireType(e){var t,r=w[e>>2];return t=ae(e+4,r,!0),Es(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||ye("Cannot pass non-string to std::string"),r=n?X(t):t.length;var s=_s(4+r+1),a=s+4;return w[s>>2]=r,n?oe(t,a,r+1):m.set(t,a),null!==e&&e.push(Es,s),s},readValueFromPointer:ce,destructorFunction(e){Es(e)}})},D:(e,t,r)=>{var n,s,a;r=we(r),2===t?(n=mt,s=ft,a=pt):(n=gt,s=wt,a=vt),be(e,{name:r,fromWireType:e=>{var r=w[e>>2],s=n(e+4,r*t,!0);return Es(e),s},toWireType:(e,n)=>{"string"!=typeof n&&ye(`Cannot pass non-string to C++ string type ${r}`);var i=a(n),o=_s(4+i+t);return w[o>>2]=i/t,s(n,o+4,i+t),null!==e&&e.push(Es,o),o},readValueFromPointer:ce,destructorFunction(e){Es(e)}})},s:(e,t,r,n,s,a)=>{le[e]={name:we(t),rawConstructor:Xe(r,n),rawDestructor:Xe(s,a),fields:[]}},l:(e,t,r,n,s,a,i,o,l,u)=>{le[e].fields.push({fieldName:we(t),getterReturnType:r,getter:Xe(n,s),getterContext:a,setterArgumentType:i,setter:Xe(o,l),setterContext:u})},eb:(e,t)=>{be(e,{isVoid:!0,name:t=we(t),fromWireType:()=>{},toWireType:(e,t)=>{}})},c:(e,t,r)=>{var[n,...s]=((e,t)=>{for(var r=new Array(e),n=0;n<e;++n)r[n]=ut(w[t+4*n>>2],`parameter ${n}`);return r})(e,t),a=n.toWireType.bind(n),i=s.map(e=>e.readValueFromPointer.bind(e));e--;var o,l={toValue:it.toValue},u=i.map((e,t)=>{var r=`argFromPtr${t}`;return l[r]=e,`${r}(args${t?"+"+8*t:""})`});switch(r){case 0:o="toValue(handle)";break;case 2:o="new (toValue(handle))";break;case 3:o="";break;case 1:l.getStringOrSymbol=Et,o="toValue(handle)[getStringOrSymbol(methodName)]"}o+=`(${u})`,n.isVoid||(l.toReturnWire=a,l.emval_returnValue=bt,o=`return emval_returnValue(toReturnWire, destructorsRef, ${o})`),o=`return function (handle, methodName, destructorsRef, args) {\n ${o}\n }`;var c,h,d=new Function(Object.keys(l),o)(...Object.values(l)),m=`methodCaller<(${s.map(e=>e.name)}) => ${n.name}>`;return c=Se(m,d),h=yt.length,yt.push(c),h},d:at,F:(e,t)=>(e=it.toValue(e))==(t=it.toValue(t)),x:e=>0===e?it.toHandle(xt()):(e=Et(e),it.toHandle(xt()[e])),k:e=>(e=Et(e),it.toHandle(t[e])),q:(e,t)=>(e=it.toValue(e),t=it.toValue(t),it.toHandle(e[t])),f:e=>{e>9&&(nt[e+1]+=1)},_a:(e,t)=>(e=it.toValue(e))instanceof(t=it.toValue(t)),b:(e,t,r,n,s)=>yt[e](t,r,n,s),ab:()=>it.toHandle([]),r:e=>it.toHandle(Et(e)),$a:()=>it.toHandle({}),e:e=>{var t=it.toValue(e);ue(t),at(e)},C:(e,t,r)=>{e=it.toValue(e),t=it.toValue(t),r=it.toValue(r),e[t]=r},ib:function(e,t,r){if(!((n=e)>=0&&n<=3))return 28;var n,s;s=0===e?Date.now():performance.now();var a=Math.round(1e3*s*1e3);return b[r>>3]=BigInt(a),0},M:(e,t,r)=>{var n=Pt(e);if(!n)return-4;g[t>>2]=n.width,g[r>>2]=n.height},Za:St,Ya:At,Wa:Lt,Va:Ft,uc:$t,Ua:Dt,Ta:Bt,Sa:Mt,zb:Gt,xb:Nt,Ra:jt,Qa:Wt,Ab:Ut,Pa:Vt,Oa:zt,sb:Ht,Na:Xt,Ma:qt,La:Jt,Ka:Kt,Ja:Qt,Ia:Yt,Ha:Zt,Ga:er,Fa:tr,Ea:rr,Da:nr,Ca:sr,Ba:ar,Aa:ir,za:or,ya:lr,xa:ur,wa:cr,va:hr,ua:dr,tb:mr,ta:fr,sa:gr,wb:vr,ra:yr,qa:br,pa:_r,oa:Er,na:xr,ma:Cr,la:Tr,ka:Pr,ub:Ir,ja:kr,ia:Sr,ha:Ar,ga:Lr,fa:Fr,ea:$r,da:Dr,ba:Br,aa:Mr,yb:Gr,vb:Or,ca:Nr,Bb:jr,W:Vr,$:zr,_:Hr,Z:Xr,Y:qr,X:Jr,V:Kr,U:Qr,T:Yr,S:Zr,R:en,Q:tn,P:nn,O:sn,wc:an,xc:ln,yc:un,N:cn,Xa:hn,tc:dn,sc:mn,rc:fn,qc:pn,pc:yn,oc:bn,rb:_n,nc:En,mc:xn,lc:Cn,kc:Tn,jc:Pn,ic:In,hc:kn,gc:Sn,fc:An,ec:Ln,dc:Fn,cc:$n,bc:Dn,ac:Bn,$b:Rn,_b:On,Zb:Nn,Yb:Wn,Xb:Un,Wb:Vn,Vb:zn,Ub:Hn,Tb:Xn,Sb:qn,Rb:Jn,Qb:Kn,Pb:Qn,Ob:Yn,Nb:Zn,Mb:es,vc:ts,Lb:rs,Kb:ns,Jb:ss,Ib:as,Hb:is,Gb:os,Fb:ls,Eb:us,Db:cs,Cb:hs,qb:ds,jb:e=>{var t=m.length,r=2147483648;if((e>>>=0)>r)return!1;for(var n=1;n<=4;n*=2){var s=t*(1+.2/n);s=Math.min(s,e+100663296);var a=Math.min(r,ms(Math.max(e,s),65536));if(fs(a))return!0}return!1},E:gs,A:e=>{kt.currentContext==e&&(kt.currentContext=0),kt.deleteContext(e)},u:ws,m:e=>kt.makeContextCurrent(e)?0:-5,z:function(e){try{var t=ie.getStreamFromFD(e);return se.close(t),0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return e.errno}},nb:function(e,t,r,n){try{var s=((e,t,r,n)=>{for(var s=0,a=0;a<r;a++){var i=w[t>>2],o=w[t+4>>2];t+=8;var l=se.read(e,d,i,o,n);if(l<0)return-1;if(s+=l,l<o)break;void 0!==n&&(n+=l)}return s})(ie.getStreamFromFD(e),t,r);return w[n>>2]=s,0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return e.errno}},mb:function(e,t,r,n){var s;t=(s=t)<-9007199254740992||s>9007199254740992?NaN:Number(s);try{if(isNaN(t))return 61;var a=ie.getStreamFromFD(e);return se.llseek(a,t,r),b[n>>3]=BigInt(a.position),a.getdents&&0===t&&0===r&&(a.getdents=null),0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return e.errno}},J:function(e,t,r,n){try{var s=((e,t,r,n)=>{for(var s=0,a=0;a<r;a++){var i=w[t>>2],o=w[t+4>>2];t+=8;var l=se.write(e,d,i,o,n);if(l<0)return-1;if(s+=l,l<o)break;void 0!==n&&(n+=l)}return s})(ie.getStreamFromFD(e),t,r);return w[n>>2]=s,0}catch(e){if(void 0===se||"ErrnoError"!==e.name)throw e;return e.errno}}};return Cs=await async function(){function e(e,t){var r;return Cs=e.exports,h=Cs.zc,I(),ze=Cs.Cc,bs=(r=Cs).Bc,_s=r.Dc,Es=r.Ec,Cs}var r={a:Ts};return t.instantiateWasm?new Promise((n,s)=>{t.instantiateWasm(r,(t,r)=>{n(e(t))})}):(E??(E=S()),e((await L(l,E,r)).instance))}(),function e(){function r(){t.calledRun=!0,T||(P=!0,t.noFSInit||se.initialized||se.init(),Cs.Ac(),se.ignorePermissions=!1,u?.(t),t.onRuntimeInitialized?.(),function(){if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)D(t.postRun.shift());F($)}())}ee>0?te=e:(!function(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)M(t.preRun.shift());F(B)}(),ee>0?te=e:t.setStatus?(t.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>t.setStatus(""),1),r()},1)):r())}(),P?t:new Promise((e,t)=>{u=e,c=t})}class it{constructor(){this.executing=!1,this.queue=[]}exec(e,t,...r){return new Promise((n,s)=>{this.queue.push({fn:async()=>{if(e)try{const s=await e.call(t,...r);n(s)}catch(e){s(e)}else s(new Error("Function is null!"))}}),this.executing||this.execNextTask()})}execNextTask(){if(this.queue.length<1)return void(this.executing=!1);this.executing=!0;this.queue.shift().fn().then(()=>{this.execNextTask()})}}e.PAGInit=(e={})=>at(e).then(e=>(rt(e),e.webAssemblyQueue=new it,e.globalCanvas=new e.GlobalCanvas,e.PAGFont.registerFallbackFontNames(),e)).catch(e=>{throw console.error(e),new Error("PAGInit fail! Please check .wasm file path valid.")}),e.types=p,Object.defineProperty(e,"__esModule",{value:!0})});
|
|
2
2
|
//# sourceMappingURL=libpag.min.js.map
|