libpag 4.5.4 → 4.5.16

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/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){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 a=(e=>(e[e.None=0]="None",e[e.Stretch=1]="Stretch",e[e.LetterBox=2]="LetterBox",e[e.Zoom=3]="Zoom",e))(a||{}),s=(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))(s||{}),o=(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))(o||{}),i=(e=>(e[e.Default=0]="Default",e[e.Horizontal=1]="Horizontal",e[e.Vertical=2]="Vertical",e))(i||{}),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:a,PAGViewListenerEvent:s,ParagraphJustification:o,TextDirection:i,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,a,s,o,i=0,l=0,u=1){const c=r._Matrix._MakeAll(e,t,n,a,s,o,i,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,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?w(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&g(t,r,s),s})([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,P=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 A(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}};T=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?P(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&C(t,r,s),s})([n],T);var k=Object.defineProperty,I=Object.getOwnPropertyDescriptor;let A=class extends T{static make(e,t){const n=r._PAGComposition._Make(e,t);if(!n)throw new Error("Make PAGComposition fail!");return new A(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}};A=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?I(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&k(t,r,s),s})([n],A);const S=e=>new Promise(t=>{const r=new FileReader;r.onload=()=>{t(r.result)},r.onerror=()=>{console.error(r.error.message)},r.readAsArrayBuffer(e)});var F=Object.defineProperty,L=Object.getOwnPropertyDescriptor;let $=class extends A{static async load(e){const t=await(e=>x(e,globalThis.File)?S(e):x(e,globalThis.Blob)?S(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 a,s=n>1?void 0:n?L(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&F(t,r,s),s})([n],$);var D=Object.defineProperty,M=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===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}};B=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?M(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&D(t,r,s),s})([n],B);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 A(e)}setComposition(e){this.wasmIns._setComposition(E(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!`);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 a,s=n>1?void 0:n?G(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&R(t,r,s),s})([n],O);var N=Object.defineProperty,j=Object.getOwnPropertyDescriptor;let U=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(U.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 U(t)}static fromPixels(e,t,n,a,s){const o=t*(a===d.ALPHA_8?1:4),i=r._PAGImage._FromPixels(e,t,n,o,a,s);if(!i)throw new Error("Make PAGImage from pixels fail!");return new U(i)}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 U(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}};U=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?j(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&N(t,r,s),s})([n],U);class W{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 H=2560,V={depth:!1,stencil:!1,antialias:!1};class z{constructor(e,t=!1){this.isDestroyed=!1,this.oldHandle=0,this.handle=e,this.externallyOwned=t}static from(e){if(e instanceof z)return new z(e.handle,!0);{const t=x(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,...V}),new z(a)):new z(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 X{constructor(e,t){this._canvas=null,this._glContext=null,this.retainCount=0,this._canvas=e;const r=e.getContext("webgl",{...V,...t});if(!r)throw new Error("Canvas context is not WebGL!");this._glContext=z.from(r)}static from(e,t){let r=q.find(t=>t.canvas===e);return r||(r=new X(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 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,ae=new Array,se=e=>Q(e,globalThis.OffscreenCanvas),oe=(e,t)=>{let r=ae.pop()||le();return null!==r&&(r.width=e,r.height=t),r},ie=e=>{ae.length<10&&ae.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 W,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&&x(t,globalThis.HTMLCanvasElement)||se(t))&&(a=t),!a)throw new Error("Canvas is not found!");const s=r.PAGPlayer.create(),o=new he(s,a);return o.pagViewOptions={...o.pagViewOptions,...n},o.pagViewOptions.useCanvas2D?(r.globalCanvas.retain(),o.pagGlContext=z.from(r.globalCanvas.glContext)):(o.renderCanvas=X.from(a),o.renderCanvas.retain(),o.pagGlContext=z.from(o.renderCanvas.glContext)),o.resetSize(o.pagViewOptions.useScale),o.frameRate=e.frameRate(),o.pagSurface=this.makePAGSurface(o.pagGlContext,o.rawWidth,o.rawHeight),o.player.setSurface(o.pagSurface),o.player.setComposition(e),o.setProgress(0),o.pagViewOptions.firstFrame&&(await o.flush(),o.playFrame=0),o}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 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 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=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||se(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 a,s=n>1?void 0:n?ce(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&ue(t,r,s),s})([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 S(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(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 a,s=n>1?void 0:n?fe(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&me(t,r,s),s})([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),Pe=/^((?!chrome|android).)*safari/i.test(be)||xe,Te=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 ke{constructor(e,t,n,a,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=n,Te(this.videoEl).then(()=>{this.canplay=!0});const r=e.slice(),a=new Blob([r],{type:"video/mp4"});this.videoEl.src=URL.createObjectURL(a),xe&&this.videoEl.load()}this.frameRate=a,this.width=t,this.height=n,this.staticTimeRanges=new Ie(s),(3840<t||3840<n)&&(this.disablePlaybackRate=!0),this.linkPlayer(r.currentPlayer)}static create(e,t,r,n,a){return new ke(e,t,r,n,a)}async prepare(e,t){const r=new Promise(async(r,n)=>{this.setError(null),this.isSought=!1;const{currentTime:a}=this.videoEl,s=e/this.frameRate;if(0===a&&0===s)if(this.canplay||Pe){try{await Te(this.videoEl),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 Te(this.videoEl);else if(Math.round(s*this.frameRate)===Math.round(a*this.frameRate));else{if(this.staticTimeRanges?.contains(e))return await this.seek(s,!1),this.currentFrame=e,void r();if(!(Math.abs(a-s)<1/this.frameRate*3))return this.isSought=!0,await this.seek(s),this.currentFrame=e,void r()}const o=Math.min(Math.max(t,.125),4);if(this.disablePlaybackRate||this.videoEl.playbackRate===o||(this.videoEl.playbackRate=o),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 a=()=>{ve(this.videoEl,"seeked",a),clearTimeout(o),t?this.videoEl?.play().catch(e=>{this.setError(e)}):t||this.videoEl.paused||this.videoEl?.pause(),r()},s=()=>{ve(this.videoEl,"canplay",s),this.videoEl.currentTime=e,we(this.videoEl,"seeked",a)},o=setTimeout(()=>{ve(this.videoEl,"canplay",s),ve(this.videoEl,"seeked",a),n(new Error("Seek operation timed out."))},1e3/this.frameRate*12);this.videoEl.readyState<HTMLMediaElement.HAVE_FUTURE_DATA?we(this.videoEl,"canplay",s):(this.videoEl.currentTime=e,we(this.videoEl,"seeked",a))})}setError(e){this.error=e}linkPlayer(e){this.player=e,e&&e.linkVideoReader(this)}}class Ie{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 Ae{constructor(){this._canvas=null,this._glContext=null,this.width=H,this.height=H,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",V);if(!e)throw new Error("Canvas context is not WebGL!");this._glContext=z.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 Se=Object.defineProperty,Fe=Object.getOwnPropertyDescriptor;let Le=class extends T{static make(e,t,n=0,a="",s=""){return new Le("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 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()}};Le=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?Fe(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&Se(t,r,s),s})([n],Le);var $e=Object.defineProperty,De=Object.getOwnPropertyDescriptor;let Me=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 Me(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()}};Me=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?De(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&$e(t,r,s),s})([n],Me);var Be=Object.defineProperty,Re=Object.getOwnPropertyDescriptor;let Ge=class extends T{static make(e,t,n,a,s){const o=r._PAGSolidLayer._Make(e,t,n,a,s);if(!o)throw new Error("Make PAGSolidLayer fail!");return new Ge(o)}solidColor(){return this.wasmIns._solidColor()}setSolidColor(e){this.wasmIns._setSolidColor(e)}};Ge=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?Re(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&Be(t,r,s),s})([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 Ue=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 a=oe(r,n),s=a.getContext("2d",{willReadFrequently:!0});if(!s)return null;s.drawImage(t,0,0,r,n);const{data:o}=s.getImageData(0,0,r,n);return ie(a),0===o.length?null:new Uint8Array(o)},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 a=t instanceof Ne?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;Q(e,globalThis.ImageBitmap)?e.close():(se(t=e)||Q(t,globalThis.HTMLCanvasElement))&&ie(e)},getBytesFromPath:async(e,t)=>{const r=await fetch(t).then(e=>e.arrayBuffer());return new Uint8Array(r)},createCanvas2D:oe});var We=(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))(We||{}),He=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor;let ze=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}get a(){return this.wasmIns?this.wasmIns._get(We.a):0}set a(e){this.wasmIns?._set(We.a,e)}get b(){return this.wasmIns?this.wasmIns._get(We.b):0}set b(e){this.wasmIns?._set(We.b,e)}get c(){return this.wasmIns?this.wasmIns._get(We.c):0}set c(e){this.wasmIns?._set(We.c,e)}get d(){return this.wasmIns?this.wasmIns._get(We.d):0}set d(e){this.wasmIns?._set(We.d,e)}get tx(){return this.wasmIns?this.wasmIns._get(We.tx):0}set tx(e){this.wasmIns?._set(We.tx,e)}get ty(){return this.wasmIns?this.wasmIns._get(We.ty):0}set ty(e){this.wasmIns?._set(We.ty,e)}get(e){return this.wasmIns?this.wasmIns._get(e):0}set(e,t){this.wasmIns?._set(e,t)}destroy(){this.wasmIns.delete()}};ze=((e,t,r,n)=>{for(var a,s=n>1?void 0:n?Ve(t,r):t,o=e.length-1;o>=0;o--)(a=e[o])&&(s=(n?a(t,r,s):a(s))||s);return n&&s&&He(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))}],ze);const qe=e=>{const t=new Int32Array(e.data.buffer);let r=Xe(t,e.width,e.height),n=Je(t,e.width,e.height),a=Ke(t,e.width,e.height),s=Qe(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}},Xe=(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},Je=(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},Ke=(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},Qe=(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},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 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}=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 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}=Ye;return t.font=this.fontString(!1,!1),t.measureText(e).width}readPixels(e,t,r,n){const a=t.right-t.left,s=t.bottom-t.top,o=oe(a,s),i=o.getContext("2d",{willReadFrequently:!0});i.clearRect(0,0,a,s),i.font=this.fontString(r,!1),n?(i.lineJoin=Ye.getLineJoin(n.join),i.miterLimit=n.miterLimit,i.lineCap=Ye.getLineCap(n.cap),i.lineWidth=n.width,i.strokeText(e,-t.left,-t.top)):i.fillText(e,-t.left,-t.top);const{data:l}=i.getImageData(0,0,a,s);return ie(o),0===l.length?null:new Uint8Array(l)}loadCanvas(){Ye.canvas||(Ye.setCanvas(oe(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:a,top:s,right:o,bottom:i}=qe(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=qe(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:o-r[0],actualBoundingBoxDescent:i-r[1],actualBoundingBoxLeft:r[0]-a,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 a=oe(e,t);if(null==a)return null;let s=a.getContext("2d",{willReadFrequently:!0});s.setTransform(1,0,0,1,0,0),n===Oe.TGFXPathFillType.InverseWinding||n===Oe.TGFXPathFillType.InverseEvenOdd?(s.clip(r,n===Oe.TGFXPathFillType.InverseEvenOdd?"evenodd":"nonzero"),s.fillRect(0,0,e,t)):s.fill(r,n===Oe.TGFXPathFillType.EvenOdd?"evenodd":"nonzero");const{data:o}=s.getImageData(0,0,e,t);return ie(a),0===o.length?null:new Uint8Array(o)}}const tt=e=>{(e=>{Oe=e})(e),e.module=e,e.ScalerContext=Ze,e.WebMask=et,e.Matrix=ze,e.tgfx={...Ue}},rt=e=>{tt(e),(e=>{r=e})(e),e.module=e,e.PAGFile=$,e.PAGPlayer=O,e.PAGView=he,e.PAGFont=pe,e.PAGImage=U,e.PAGLayer=T,e.PAGComposition=A,e.PAGSurface=B,e.PAGTextLayer=Le,e.PAGImageLayer=Me,e.PAGSolidLayer=Ge,e.VideoReader=ke,e.GlobalCanvas=Ae,e.BackendContext=z,e.Matrix=v,e.RenderCanvas=X,(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=()=>xe})(e)};var nt,at=Object.defineProperty,st=(e,t,r)=>(((e,t,r)=>{t in e?at(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!=typeof t?t+"":t,r),r),ot=(nt=import.meta.url,async function(e={}){var t,r,n=e,a=new Promise((e,n)=>{t=e,r=n}),s="object"==typeof window,o="undefined"!=typeof WorkerGlobalScope;"object"==typeof process&&"object"==typeof process.versions&&"string"==typeof process.versions.node&&process.type;var i,l,u=Object.assign({},n),c="";(s||o)&&(o?c=self.location.href:"undefined"!=typeof document&&document.currentScript&&(c=document.currentScript.src),nt&&(c=nt),c=c.startsWith("blob:")?"":c.substr(0,c.replace(/[?#].*/,"").lastIndexOf("/")+1),o&&(l=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),i=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),d=n.printErr||console.error.bind(console);Object.assign(n,u),u=null,n.arguments&&n.arguments,n.thisProgram&&n.thisProgram;var m,f,p,g,w,v,y,b,_,E,x,C=n.wasmBinary,P=!1,T=e=>e.startsWith("data:application/octet-stream;base64,");function k(){var e=m.buffer;n.HEAP8=f=new Int8Array(e),n.HEAP16=g=new Int16Array(e),n.HEAPU8=p=new Uint8Array(e),n.HEAPU16=w=new Uint16Array(e),n.HEAP32=v=new Int32Array(e),n.HEAPU32=y=new Uint32Array(e),n.HEAPF32=b=new Float32Array(e),n.HEAPF64=x=new Float64Array(e),n.HEAP64=_=new BigInt64Array(e),n.HEAPU64=E=new BigUint64Array(e)}var I=[],A=[],S=[];function F(e){I.unshift(e)}function L(e){S.unshift(e)}var $,D=0,M=null;function B(e){D++,n.monitorRunDependencies?.(D)}function R(e){if(D--,n.monitorRunDependencies?.(D),0==D&&M){var t=M;M=null,t()}}function G(e){n.onAbort?.(e),d(e="Aborted("+e+")"),P=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw r(t),t}function O(){if(n.locateFile){var e="libpag.wasm";return T(e)?e:(t=e,n.locateFile?n.locateFile(t,c):c+t)}var t;return new URL("libpag.wasm",import.meta.url).href}async function N(e){if(!C)try{var t=await i(e);return new Uint8Array(t)}catch{}return function(e){if(e==$&&C)return new Uint8Array(C);if(l)return l(e);throw"both async and sync fetching of the wasm failed"}(e)}async function j(e,t,r){if(!e&&"function"==typeof WebAssembly.instantiateStreaming&&!T(t))try{var n=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,r)}catch(e){d(`wasm streaming compile failed: ${e}`),d("falling back to ArrayBuffer instantiation")}return async function(e,t){try{var r=await N(e);return await WebAssembly.instantiate(r,t)}catch(e){d(`failed to asynchronously prepare wasm: ${e}`),G(e)}}(t,r)}var U=e=>{for(;e.length>0;)e.shift()(n)};n.noExitRuntime;class W{constructor(e){this.excPtr=e,this.ptr=e-24}set_type(e){y[this.ptr+4>>2]=e}get_type(){return y[this.ptr+4>>2]}set_destructor(e){y[this.ptr+8>>2]=e}get_destructor(){return y[this.ptr+8>>2]}set_caught(e){e=e?1:0,f[this.ptr+12]=e}get_caught(){return 0!=f[this.ptr+12]}set_rethrown(e){e=e?1:0,f[this.ptr+13]=e}get_rethrown(){return 0!=f[this.ptr+13]}init(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)}set_adjusted_ptr(e){y[this.ptr+16>>2]=e}get_adjusted_ptr(){return y[this.ptr+16>>2]}}var H=()=>{var e=v[+ue.varargs>>2];return ue.varargs+=4,e},V=H,z={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=z.isAbs(e),r="/"===e.substr(-1);return(e=z.normalizeArray(e.split("/").filter(e=>!!e),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=z.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)=>z.normalize(e.join("/")),join2:(e,t)=>z.normalize(e+"/"+t)},q=e=>{(q=e=>crypto.getRandomValues(e))(e)},X={resolve:(...e)=>{for(var t="",r=!1,n=e.length-1;n>=-1&&!r;n--){var a=n>=0?e[n]:ie.cwd();if("string"!=typeof a)throw new TypeError("Arguments to path.resolve must be strings");if(!a)return"";t=a+"/"+t,r=z.isAbs(a)}return(r?"/":"")+(t=z.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=X.resolve(e).substr(1),t=X.resolve(t).substr(1);for(var n=r(e.split("/")),a=r(t.split("/")),s=Math.min(n.length,a.length),o=s,i=0;i<s;i++)if(n[i]!==a[i]){o=i;break}var l=[];for(i=o;i<n.length;i++)l.push("..");return(l=l.concat(a.slice(o))).join("/")}},J="undefined"!=typeof TextDecoder?new TextDecoder:void 0,K=(e,t=0,r=NaN)=>{for(var n=t+r,a=t;e[a]&&!(a>=n);)++a;if(a-t>16&&e.buffer&&J)return J.decode(e.subarray(t,a));for(var s="";t<a;){var o=e[t++];if(128&o){var i=63&e[t++];if(192!=(224&o)){var l=63&e[t++];if((o=224==(240&o)?(15&o)<<12|i<<6|l:(7&o)<<18|i<<12|l<<6|63&e[t++])<65536)s+=String.fromCharCode(o);else{var u=o-65536;s+=String.fromCharCode(55296|u>>10,56320|1023&u)}}else s+=String.fromCharCode((31&o)<<6|i)}else s+=String.fromCharCode(o)}return s},Q=[],Y=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},Z=(e,t,r,n)=>{if(!(n>0))return 0;for(var a=r,s=r+n-1,o=0;o<e.length;++o){var i=e.charCodeAt(o);if(i>=55296&&i<=57343&&(i=65536+((1023&i)<<10)|1023&e.charCodeAt(++o)),i<=127){if(r>=s)break;t[r++]=i}else if(i<=2047){if(r+1>=s)break;t[r++]=192|i>>6,t[r++]=128|63&i}else if(i<=65535){if(r+2>=s)break;t[r++]=224|i>>12,t[r++]=128|i>>6&63,t[r++]=128|63&i}else{if(r+3>=s)break;t[r++]=240|i>>18,t[r++]=128|i>>12&63,t[r++]=128|i>>6&63,t[r++]=128|63&i}}return t[r]=0,r-a};function ee(e,t,r){var n=r>0?r:Y(e)+1,a=new Array(n),s=Z(e,a,0,a.length);return t&&(a.length=s),a}var te={ttys:[],init(){},shutdown(){},register(e,t){te.ttys[e]={input:[],output:[],ops:t},ie.registerDevice(e,te.stream_ops)},stream_ops:{open(e){var t=te.ttys[e.node.rdev];if(!t)throw new ie.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 ie.ErrnoError(60);for(var s=0,o=0;o<n;o++){var i;try{i=e.tty.ops.get_char(e.tty)}catch(e){throw new ie.ErrnoError(29)}if(void 0===i&&0===s)throw new ie.ErrnoError(6);if(null==i)break;s++,t[r+o]=i}return s&&(e.node.atime=Date.now()),s},write(e,t,r,n,a){if(!e.tty||!e.tty.ops.put_char)throw new ie.ErrnoError(60);try{for(var s=0;s<n;s++)e.tty.ops.put_char(e.tty,t[r+s])}catch(e){throw new ie.ErrnoError(29)}return n&&(e.node.mtime=e.node.ctime=Date.now()),s}},default_tty_ops:{get_char:e=>(()=>{if(!Q.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt&&null!==(e=window.prompt("Input: "))&&(e+="\n"),!e)return null;Q=ee(e,!0)}return Q.shift()})(),put_char(e,t){null===t||10===t?(h(K(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(h(K(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?(d(K(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output&&e.output.length>0&&(d(K(e.output)),e.output=[])}}},re=(e,t)=>Math.ceil(e/t)*t,ne=e=>{G()},ae={ops_table:null,mount:e=>ae.createNode(null,"/",16895,0),createNode(e,t,r,n){if(ie.isBlkdev(r)||ie.isFIFO(r))throw new ie.ErrnoError(63);ae.ops_table||(ae.ops_table={dir:{node:{getattr:ae.node_ops.getattr,setattr:ae.node_ops.setattr,lookup:ae.node_ops.lookup,mknod:ae.node_ops.mknod,rename:ae.node_ops.rename,unlink:ae.node_ops.unlink,rmdir:ae.node_ops.rmdir,readdir:ae.node_ops.readdir,symlink:ae.node_ops.symlink},stream:{llseek:ae.stream_ops.llseek}},file:{node:{getattr:ae.node_ops.getattr,setattr:ae.node_ops.setattr},stream:{llseek:ae.stream_ops.llseek,read:ae.stream_ops.read,write:ae.stream_ops.write,allocate:ae.stream_ops.allocate,mmap:ae.stream_ops.mmap,msync:ae.stream_ops.msync}},link:{node:{getattr:ae.node_ops.getattr,setattr:ae.node_ops.setattr,readlink:ae.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ae.node_ops.getattr,setattr:ae.node_ops.setattr},stream:ie.chrdev_stream_ops}});var a=ie.createNode(e,t,r,n);return ie.isDir(a.mode)?(a.node_ops=ae.ops_table.dir.node,a.stream_ops=ae.ops_table.dir.stream,a.contents={}):ie.isFile(a.mode)?(a.node_ops=ae.ops_table.file.node,a.stream_ops=ae.ops_table.file.stream,a.usedBytes=0,a.contents=null):ie.isLink(a.mode)?(a.node_ops=ae.ops_table.link.node,a.stream_ops=ae.ops_table.link.stream):ie.isChrdev(a.mode)&&(a.node_ops=ae.ops_table.chrdev.node,a.stream_ops=ae.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=ie.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,ie.isDir(e.mode)?t.size=4096:ie.isFile(e.mode)?t.size=e.usedBytes:ie.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&&ae.resizeFileStorage(e,t.size)},lookup(e,t){throw ae.doesNotExistError},mknod:(e,t,r,n)=>ae.createNode(e,t,r,n),rename(e,t,r){var n;try{n=ie.lookupNode(t,r)}catch(e){}if(n){if(ie.isDir(e.mode))for(var a in n.contents)throw new ie.ErrnoError(55);ie.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=ie.lookupNode(e,t);for(var n in r.contents)throw new ie.ErrnoError(55);delete e.contents[t],e.ctime=e.mtime=Date.now()},readdir:e=>[".","..",...Object.keys(e.contents)],symlink(e,t,r){var n=ae.createNode(e,t,41471,0);return n.link=r,n},readlink(e){if(!ie.isLink(e.mode))throw new ie.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 o=Math.min(e.node.usedBytes-a,n);if(o>8&&s.subarray)t.set(s.subarray(a,a+o),r);else for(var i=0;i<o;i++)t[r+i]=s[a+i];return o},write(e,t,r,n,a,s){if(t.buffer===f.buffer&&(s=!1),!n)return 0;var o=e.node;if(o.mtime=o.ctime=Date.now(),t.subarray&&(!o.contents||o.contents.subarray)){if(s)return o.contents=t.subarray(r,r+n),o.usedBytes=n,n;if(0===o.usedBytes&&0===a)return o.contents=t.slice(r,r+n),o.usedBytes=n,n;if(a+n<=o.usedBytes)return o.contents.set(t.subarray(r,r+n),a),n}if(ae.expandFileStorage(o,a+n),o.contents.subarray&&t.subarray)o.contents.set(t.subarray(r,r+n),a);else for(var i=0;i<n;i++)o.contents[a+i]=t[r+i];return o.usedBytes=Math.max(o.usedBytes,a+n),n},llseek(e,t,r){var n=t;if(1===r?n+=e.position:2===r&&ie.isFile(e.node.mode)&&(n+=e.node.usedBytes),n<0)throw new ie.ErrnoError(28);return n},allocate(e,t,r){ae.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,n,a){if(!ie.isFile(e.node.mode))throw new ie.ErrnoError(43);var s,o,i=e.node.contents;if(2&a||!i||i.buffer!==f.buffer){if(o=!0,!(s=ne()))throw new ie.ErrnoError(48);i&&((r>0||r+t<i.length)&&(i=i.subarray?i.subarray(r,r+t):Array.prototype.slice.call(i,r,r+t)),f.set(i,s))}else o=!1,s=i.byteOffset;return{ptr:s,allocated:o}},msync:(e,t,r,n,a)=>(ae.stream_ops.write(e,t,0,n,r,!1),0)}},se=n.preloadPlugins||[],oe=(e,t)=>{var r=0;return e&&(r|=365),t&&(r|=146),r},ie={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:class{constructor(e){st(this,"name","ErrnoError"),this.errno=e}},filesystems:null,syncFSRequests:0,readFiles:{},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=ie.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 ie.isDir(this.mode)}get isDevice(){return ie.isChrdev(this.mode)}},lookupPath(e,t={}){if(!e)throw new ie.ErrnoError(44);t.follow_mount??(t.follow_mount=!0),z.isAbs(e)||(e=ie.cwd()+"/"+e);e:for(var r=0;r<40;r++){for(var n=e.split("/").filter(e=>!!e),a=ie.root,s="/",o=0;o<n.length;o++){var i=o===n.length-1;if(i&&t.parent)break;if("."!==n[o])if(".."!==n[o]){s=z.join2(s,n[o]);try{a=ie.lookupNode(a,n[o])}catch(e){if(44===e?.errno&&i&&t.noent_okay)return{path:s};throw e}if(!ie.isMountpoint(a)||i&&!t.follow_mount||(a=a.mounted.root),ie.isLink(a.mode)&&(!i||t.follow)){if(!a.node_ops.readlink)throw new ie.ErrnoError(52);var l=a.node_ops.readlink(a);z.isAbs(l)||(l=z.dirname(s)+"/"+l),e=l+"/"+n.slice(o+1).join("/");continue e}}else s=z.dirname(s),a=a.parent}return{path:s,node:a}}throw new ie.ErrnoError(32)},getPath(e){for(var t;;){if(ie.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)%ie.nameTable.length},hashAddNode(e){var t=ie.hashName(e.parent.id,e.name);e.name_next=ie.nameTable[t],ie.nameTable[t]=e},hashRemoveNode(e){var t=ie.hashName(e.parent.id,e.name);if(ie.nameTable[t]===e)ie.nameTable[t]=e.name_next;else for(var r=ie.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode(e,t){var r=ie.mayLookup(e);if(r)throw new ie.ErrnoError(r);for(var n=ie.hashName(e.id,t),a=ie.nameTable[n];a;a=a.name_next){var s=a.name;if(a.parent.id===e.id&&s===t)return a}return ie.lookup(e,t)},createNode(e,t,r,n){var a=new ie.FSNode(e,t,r,n);return ie.hashAddNode(a),a},destroyNode(e){ie.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)=>ie.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup(e){if(!ie.isDir(e.mode))return 54;var t=ie.nodePermissions(e,"x");return t||(e.node_ops.lookup?0:2)},mayCreate(e,t){if(!ie.isDir(e.mode))return 54;try{return ie.lookupNode(e,t),20}catch(e){}return ie.nodePermissions(e,"wx")},mayDelete(e,t,r){var n;try{n=ie.lookupNode(e,t)}catch(e){return e.errno}var a=ie.nodePermissions(e,"wx");if(a)return a;if(r){if(!ie.isDir(n.mode))return 54;if(ie.isRoot(n)||ie.getPath(n)===ie.cwd())return 10}else if(ie.isDir(n.mode))return 31;return 0},mayOpen:(e,t)=>e?ie.isLink(e.mode)?32:ie.isDir(e.mode)&&("r"!==ie.flagsToPermissionString(t)||576&t)?31:ie.nodePermissions(e,ie.flagsToPermissionString(t)):44,checkOpExists(e,t){if(!e)throw new ie.ErrnoError(t);return e},MAX_OPEN_FDS:4096,nextfd(){for(var e=0;e<=ie.MAX_OPEN_FDS;e++)if(!ie.streams[e])return e;throw new ie.ErrnoError(33)},getStreamChecked(e){var t=ie.getStream(e);if(!t)throw new ie.ErrnoError(8);return t},getStream:e=>ie.streams[e],createStream:(e,t=-1)=>(e=Object.assign(new ie.FSStream,e),-1==t&&(t=ie.nextfd()),e.fd=t,ie.streams[t]=e,e),closeStream(e){ie.streams[e]=null},dupStream(e,t=-1){var r=ie.createStream(e,t);return r.stream_ops?.dup?.(r),r},chrdev_stream_ops:{open(e){var t=ie.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open?.(e)},llseek(){throw new ie.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice(e,t){ie.devices[e]={stream_ops:t}},getDevice:e=>ie.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),ie.syncFSRequests++,ie.syncFSRequests>1&&d(`warning: ${ie.syncFSRequests} FS.syncfs operations in flight at once, probably just doing extra work`);var r=ie.getMounts(ie.root.mount),n=0;function a(e){return ie.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&&ie.root)throw new ie.ErrnoError(10);if(!a&&!s){var o=ie.lookupPath(r,{follow_mount:!1});if(r=o.path,n=o.node,ie.isMountpoint(n))throw new ie.ErrnoError(10);if(!ie.isDir(n.mode))throw new ie.ErrnoError(54)}var i={type:e,opts:t,mountpoint:r,mounts:[]},l=e.mount(i);return l.mount=i,i.root=l,a?ie.root=l:n&&(n.mounted=i,n.mount&&n.mount.mounts.push(i)),l},unmount(e){var t=ie.lookupPath(e,{follow_mount:!1});if(!ie.isMountpoint(t.node))throw new ie.ErrnoError(28);var r=t.node,n=r.mounted,a=ie.getMounts(n);Object.keys(ie.nameTable).forEach(e=>{for(var t=ie.nameTable[e];t;){var r=t.name_next;a.includes(t.mount)&&ie.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=ie.lookupPath(e,{parent:!0}).node,a=z.basename(e);if(!a)throw new ie.ErrnoError(28);if("."===a||".."===a)throw new ie.ErrnoError(20);var s=ie.mayCreate(n,a);if(s)throw new ie.ErrnoError(s);if(!n.node_ops.mknod)throw new ie.ErrnoError(63);return n.node_ops.mknod(n,a,t,r)},statfs:e=>ie.statfsNode(ie.lookupPath(e,{follow:!0}).node),statfsStream:e=>ie.statfsNode(e.node),statfsNode(e){var t={bsize:4096,frsize:4096,blocks:1e6,bfree:5e5,bavail:5e5,files:ie.nextInode,ffree:ie.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,ie.mknod(e,t,0)),mkdir:(e,t=511)=>(t&=1023,t|=16384,ie.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{ie.mkdir(n,t)}catch(e){if(20!=e.errno)throw e}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,ie.mknod(e,t,r)),symlink(e,t){if(!X.resolve(e))throw new ie.ErrnoError(44);var r=ie.lookupPath(t,{parent:!0}).node;if(!r)throw new ie.ErrnoError(44);var n=z.basename(t),a=ie.mayCreate(r,n);if(a)throw new ie.ErrnoError(a);if(!r.node_ops.symlink)throw new ie.ErrnoError(63);return r.node_ops.symlink(r,n,e)},rename(e,t){var r,n,a=z.dirname(e),s=z.dirname(t),o=z.basename(e),i=z.basename(t);if(r=ie.lookupPath(e,{parent:!0}).node,n=ie.lookupPath(t,{parent:!0}).node,!r||!n)throw new ie.ErrnoError(44);if(r.mount!==n.mount)throw new ie.ErrnoError(75);var l,u=ie.lookupNode(r,o),c=X.relative(e,s);if("."!==c.charAt(0))throw new ie.ErrnoError(28);if("."!==(c=X.relative(t,a)).charAt(0))throw new ie.ErrnoError(55);try{l=ie.lookupNode(n,i)}catch(e){}if(u!==l){var h=ie.isDir(u.mode),d=ie.mayDelete(r,o,h);if(d)throw new ie.ErrnoError(d);if(d=l?ie.mayDelete(n,i,h):ie.mayCreate(n,i))throw new ie.ErrnoError(d);if(!r.node_ops.rename)throw new ie.ErrnoError(63);if(ie.isMountpoint(u)||l&&ie.isMountpoint(l))throw new ie.ErrnoError(10);if(n!==r&&(d=ie.nodePermissions(r,"w")))throw new ie.ErrnoError(d);ie.hashRemoveNode(u);try{r.node_ops.rename(u,n,i),u.parent=n}catch(e){throw e}finally{ie.hashAddNode(u)}}},rmdir(e){var t=ie.lookupPath(e,{parent:!0}).node,r=z.basename(e),n=ie.lookupNode(t,r),a=ie.mayDelete(t,r,!0);if(a)throw new ie.ErrnoError(a);if(!t.node_ops.rmdir)throw new ie.ErrnoError(63);if(ie.isMountpoint(n))throw new ie.ErrnoError(10);t.node_ops.rmdir(t,r),ie.destroyNode(n)},readdir(e){var t=ie.lookupPath(e,{follow:!0}).node;return ie.checkOpExists(t.node_ops.readdir,54)(t)},unlink(e){var t=ie.lookupPath(e,{parent:!0}).node;if(!t)throw new ie.ErrnoError(44);var r=z.basename(e),n=ie.lookupNode(t,r),a=ie.mayDelete(t,r,!1);if(a)throw new ie.ErrnoError(a);if(!t.node_ops.unlink)throw new ie.ErrnoError(63);if(ie.isMountpoint(n))throw new ie.ErrnoError(10);t.node_ops.unlink(t,r),ie.destroyNode(n)},readlink(e){var t=ie.lookupPath(e).node;if(!t)throw new ie.ErrnoError(44);if(!t.node_ops.readlink)throw new ie.ErrnoError(28);return t.node_ops.readlink(t)},stat(e,t){var r=ie.lookupPath(e,{follow:!t}).node;return ie.checkOpExists(r.node_ops.getattr,63)(r)},lstat:e=>ie.stat(e,!0),chmod(e,t,r){var n;n="string"==typeof e?ie.lookupPath(e,{follow:!r}).node:e,ie.checkOpExists(n.node_ops.setattr,63)(n,{mode:4095&t|-4096&n.mode,ctime:Date.now(),dontFollow:r})},lchmod(e,t){ie.chmod(e,t,!0)},fchmod(e,t){var r=ie.getStreamChecked(e);ie.chmod(r.node,t)},chown(e,t,r,n){var a;a="string"==typeof e?ie.lookupPath(e,{follow:!n}).node:e,ie.checkOpExists(a.node_ops.setattr,63)(a,{timestamp:Date.now(),dontFollow:n})},lchown(e,t,r){ie.chown(e,t,r,!0)},fchown(e,t,r){var n=ie.getStreamChecked(e);ie.chown(n.node,t,r)},truncate(e,t){if(t<0)throw new ie.ErrnoError(28);var r;if(r="string"==typeof e?ie.lookupPath(e,{follow:!0}).node:e,ie.isDir(r.mode))throw new ie.ErrnoError(31);if(!ie.isFile(r.mode))throw new ie.ErrnoError(28);var n=ie.nodePermissions(r,"w");if(n)throw new ie.ErrnoError(n);ie.checkOpExists(r.node_ops.setattr,63)(r,{size:t,timestamp:Date.now()})},ftruncate(e,t){var r=ie.getStreamChecked(e);if(!(2097155&r.flags))throw new ie.ErrnoError(28);ie.truncate(r.node,t)},utime(e,t,r){var n=ie.lookupPath(e,{follow:!0}).node;ie.checkOpExists(n.node_ops.setattr,63)(n,{atime:t,mtime:r})},open(e,t,r=438){if(""===e)throw new ie.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 o=ie.lookupPath(e,{follow:!(131072&t),noent_okay:!0});a=o.node,e=o.path}var i=!1;if(64&t)if(a){if(128&t)throw new ie.ErrnoError(20)}else{if(s)throw new ie.ErrnoError(31);a=ie.mknod(e,511|r,0),i=!0}if(!a)throw new ie.ErrnoError(44);if(ie.isChrdev(a.mode)&&(t&=-513),65536&t&&!ie.isDir(a.mode))throw new ie.ErrnoError(54);if(!i){var l=ie.mayOpen(a,t);if(l)throw new ie.ErrnoError(l)}512&t&&!i&&ie.truncate(a,0),t&=-131713;var u=ie.createStream({node:a,path:ie.getPath(a),flags:t,seekable:!0,position:0,stream_ops:a.stream_ops,ungotten:[],error:!1});return u.stream_ops.open&&u.stream_ops.open(u),i&&ie.chmod(a,511&r),!n.logReadFiles||1&t||e in ie.readFiles||(ie.readFiles[e]=1),u},close(e){if(ie.isClosed(e))throw new ie.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(e){throw e}finally{ie.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek(e,t,r){if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ie.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ie.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 ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(1==(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.read)throw new ie.ErrnoError(28);var s=void 0!==a;if(s){if(!e.seekable)throw new ie.ErrnoError(70)}else a=e.position;var o=e.stream_ops.read(e,t,r,n,a);return s||(e.position+=o),o},write(e,t,r,n,a,s){if(n<0||a<0)throw new ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.write)throw new ie.ErrnoError(28);e.seekable&&1024&e.flags&&ie.llseek(e,0,2);var o=void 0!==a;if(o){if(!e.seekable)throw new ie.ErrnoError(70)}else a=e.position;var i=e.stream_ops.write(e,t,r,n,a,s);return o||(e.position+=i),i},allocate(e,t,r){if(ie.isClosed(e))throw new ie.ErrnoError(8);if(t<0||r<=0)throw new ie.ErrnoError(28);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(!ie.isFile(e.node.mode)&&!ie.isDir(e.node.mode))throw new ie.ErrnoError(43);if(!e.stream_ops.allocate)throw new ie.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 ie.ErrnoError(2);if(1==(2097155&e.flags))throw new ie.ErrnoError(2);if(!e.stream_ops.mmap)throw new ie.ErrnoError(43);if(!t)throw new ie.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 ie.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=ie.open(e,t.flags),a=ie.stat(e).size,s=new Uint8Array(a);return ie.read(n,s,0,a,0),"utf8"===t.encoding?r=K(s):"binary"===t.encoding&&(r=s),ie.close(n),r},writeFile(e,t,r={}){r.flags=r.flags||577;var n=ie.open(e,r.flags,r.mode);if("string"==typeof t){var a=new Uint8Array(Y(t)+1),s=Z(t,a,0,a.length);ie.write(n,a,0,s,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ie.write(n,t,0,t.byteLength,void 0,r.canOwn)}ie.close(n)},cwd:()=>ie.currentPath,chdir(e){var t=ie.lookupPath(e,{follow:!0});if(null===t.node)throw new ie.ErrnoError(44);if(!ie.isDir(t.node.mode))throw new ie.ErrnoError(54);var r=ie.nodePermissions(t.node,"x");if(r)throw new ie.ErrnoError(r);ie.currentPath=t.path},createDefaultDirectories(){ie.mkdir("/tmp"),ie.mkdir("/home"),ie.mkdir("/home/web_user")},createDefaultDevices(){ie.mkdir("/dev"),ie.registerDevice(ie.makedev(1,3),{read:()=>0,write:(e,t,r,n,a)=>n,llseek:()=>0}),ie.mkdev("/dev/null",ie.makedev(1,3)),te.register(ie.makedev(5,0),te.default_tty_ops),te.register(ie.makedev(6,0),te.default_tty1_ops),ie.mkdev("/dev/tty",ie.makedev(5,0)),ie.mkdev("/dev/tty1",ie.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(q(e),t=e.byteLength),e[--t]);ie.createDevice("/dev","random",r),ie.createDevice("/dev","urandom",r),ie.mkdir("/dev/shm"),ie.mkdir("/dev/shm/tmp")},createSpecialDirectories(){ie.mkdir("/proc");var e=ie.mkdir("/proc/self");ie.mkdir("/proc/self/fd"),ie.mount({mount(){var t=ie.createNode(e,"fd",16895,73);return t.stream_ops={llseek:ae.stream_ops.llseek},t.node_ops={lookup(e,t){var r=+t,n=ie.getStreamChecked(r),a={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>n.path},id:r+1};return a.parent=a,a},readdir:()=>Array.from(ie.streams.entries()).filter(([e,t])=>t).map(([e,t])=>e.toString())},t}},{},"/proc/self/fd")},createStandardStreams(e,t,r){e?ie.createDevice("/dev","stdin",e):ie.symlink("/dev/tty","/dev/stdin"),t?ie.createDevice("/dev","stdout",null,t):ie.symlink("/dev/tty","/dev/stdout"),r?ie.createDevice("/dev","stderr",null,r):ie.symlink("/dev/tty1","/dev/stderr"),ie.open("/dev/stdin",0),ie.open("/dev/stdout",1),ie.open("/dev/stderr",1)},staticInit(){ie.nameTable=new Array(4096),ie.mount(ae,{},"/"),ie.createDefaultDirectories(),ie.createDefaultDevices(),ie.createSpecialDirectories(),ie.filesystems={MEMFS:ae}},init(e,t,r){ie.initialized=!0,e??(e=n.stdin),t??(t=n.stdout),r??(r=n.stderr),ie.createStandardStreams(e,t,r)},quit(){ie.initialized=!1;for(var e=0;e<ie.streams.length;e++){var t=ie.streams[e];t&&ie.close(t)}},findObject(e,t){var r=ie.analyzePath(e,t);return r.exists?r.object:null},analyzePath(e,t){try{e=(n=ie.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=ie.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=n.path,r.parentObject=n.node,r.name=z.basename(e),n=ie.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:ie.getPath(e);for(var a=t.split("/").reverse();a.length;){var s=a.pop();if(s){var o=z.join2(e,s);try{ie.mkdir(o)}catch(e){}e=o}}return o},createFile(e,t,r,n,a){var s=z.join2("string"==typeof e?e:ie.getPath(e),t),o=oe(n,a);return ie.create(s,o)},createDataFile(e,t,r,n,a,s){var o=t;e&&(e="string"==typeof e?e:ie.getPath(e),o=t?z.join2(e,t):e);var i=oe(n,a),l=ie.create(o,i);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}ie.chmod(l,146|i);var d=ie.open(l,577);ie.write(d,r,0,r.length,0,s),ie.close(d),ie.chmod(l,i)}},createDevice(e,t,r,n){var a,s=z.join2("string"==typeof e?e:ie.getPath(e),t),o=oe(!!r,!!n);(a=ie.createDevice).major??(a.major=64);var i=ie.makedev(ie.createDevice.major++,0);return ie.registerDevice(i,{open(e){e.seekable=!1},close(e){n?.buffer?.length&&n(10)},read(e,t,n,a,s){for(var o=0,i=0;i<a;i++){var l;try{l=r()}catch(e){throw new ie.ErrnoError(29)}if(void 0===l&&0===o)throw new ie.ErrnoError(6);if(null==l)break;o++,t[n+i]=l}return o&&(e.node.atime=Date.now()),o},write(e,t,r,a,s){for(var o=0;o<a;o++)try{n(t[r+o])}catch(e){throw new ie.ErrnoError(29)}return a&&(e.node.mtime=e.node.ctime=Date.now()),o}}),ie.mkdev(s,o,i)},forceLoadFile(e){if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");try{e.contents=l(e.url),e.usedBytes=e.contents.length}catch(e){throw new ie.ErrnoError(29)}},createLazyFile(e,t,r,n,a){class s{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")),a=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,s=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,o=1048576;a||(o=n);var i=this;i.setDataGetter(e=>{var t=e*o,a=(e+1)*o-1;if(a=Math.min(a,n-1),void 0===i.chunks[e]&&(i.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>n-1)throw new Error("only "+n+" bytes available! programmer error!");var a=new XMLHttpRequest;if(a.open("GET",r,!1),n!==o&&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||[]):ee(a.responseText||"",!0)})(t,a)),void 0===i.chunks[e])throw new Error("doXHR failed!");return i.chunks[e]}),!s&&n||(o=n=1,n=this.getter(0).length,o=n,h("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=n,this._chunkSize=o,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(!o)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var i={isDevice:!1,contents:new s}}else i={isDevice:!1,url:r};var l=ie.createFile(e,t,i,n,a);i.contents?l.contents=i.contents:i.url&&(l.contents=null,l.url=i.url),Object.defineProperties(l,{usedBytes:{get:function(){return this.contents.length}}});var u={};function c(e,t,r,n,a){var s=e.node.contents;if(a>=s.length)return 0;var o=Math.min(s.length-a,n);if(s.slice)for(var i=0;i<o;i++)t[r+i]=s[a+i];else for(i=0;i<o;i++)t[r+i]=s.get(a+i);return o}return Object.keys(l.stream_ops).forEach(e=>{var t=l.stream_ops[e];u[e]=(...e)=>(ie.forceLoadFile(l),t(...e))}),u.read=(e,t,r,n,a)=>(ie.forceLoadFile(l),c(e,t,r,n,a)),u.mmap=(e,t,r,n,a)=>{ie.forceLoadFile(l);var s=ne();if(!s)throw new ie.ErrnoError(48);return c(e,f,s,t,r),{ptr:s,allocated:!0}},l.stream_ops=u,l}},le=(e,t)=>e?K(p,e,t):"",ue={DEFAULT_POLLMASK:5,calculateAt(e,t,r){if(z.isAbs(t))return t;var n;if(n=-100===e?ie.cwd():ue.getStreamFromFD(e).path,0==t.length){if(!r)throw new ie.ErrnoError(44);return n}return n+"/"+t},writeStat(e,t){v[e>>2]=t.dev,v[e+4>>2]=t.mode,y[e+8>>2]=t.nlink,v[e+12>>2]=t.uid,v[e+16>>2]=t.gid,v[e+20>>2]=t.rdev,_[e+24>>3]=BigInt(t.size),v[e+32>>2]=4096,v[e+36>>2]=t.blocks;var r=t.atime.getTime(),n=t.mtime.getTime(),a=t.ctime.getTime();return _[e+40>>3]=BigInt(Math.floor(r/1e3)),y[e+48>>2]=r%1e3*1e3*1e3,_[e+56>>3]=BigInt(Math.floor(n/1e3)),y[e+64>>2]=n%1e3*1e3*1e3,_[e+72>>3]=BigInt(Math.floor(a/1e3)),y[e+80>>2]=a%1e3*1e3*1e3,_[e+88>>3]=BigInt(t.ino),0},writeStatFs(e,t){v[e+4>>2]=t.bsize,v[e+40>>2]=t.bsize,v[e+8>>2]=t.blocks,v[e+12>>2]=t.bfree,v[e+16>>2]=t.bavail,v[e+20>>2]=t.files,v[e+24>>2]=t.ffree,v[e+28>>2]=t.fsid,v[e+44>>2]=t.flags,v[e+36>>2]=t.namelen},doMsync(e,t,r,n,a){if(!ie.isFile(t.node.mode))throw new ie.ErrnoError(43);if(2&n)return 0;var s=p.slice(e,e+r);ie.msync(t,s,a,r,n)},getStreamFromFD:e=>ie.getStreamChecked(e),varargs:void 0,getStr:e=>le(e)},ce=(e,t,r)=>Z(e,p,t,r),he={},de=e=>{for(;e.length;){var t=e.pop();e.pop()(t)}};function me(e){return this.fromWireType(y[e>>2])}var fe,pe,ge,we={},ve={},ye={},be=e=>{throw new fe(e)},_e=(e,t,r)=>{function n(t){var n=r(t);n.length!==e.length&&be("Mismatched type converter count");for(var a=0;a<e.length;++a)Pe(e[a],n[a])}e.forEach(e=>ye[e]=t);var a=new Array(t.length),s=[],o=0;t.forEach((e,t)=>{ve.hasOwnProperty(e)?a[t]=ve[e]:(s.push(e),we.hasOwnProperty(e)||(we[e]=[]),we[e].push(()=>{a[t]=ve[e],++o===s.length&&n(a)}))}),0===s.length&&n(a)},Ee=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e},xe=e=>{for(var t="",r=e;p[r];)t+=pe[p[r++]];return t},Ce=e=>{throw new ge(e)};function Pe(e,t,r={}){return function(e,t,r={}){var n=t.name;if(e||Ce(`type "${n}" must have a positive integer typeid pointer`),ve.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;Ce(`Cannot register type '${n}' twice`)}if(ve[e]=t,delete ye[e],we.hasOwnProperty(e)){var a=we[e];delete we[e],a.forEach(e=>e())}}(e,t,r)}var Te=(e,t,r)=>{switch(t){case 1:return r?e=>f[e]:e=>p[e];case 2:return r?e=>g[e>>1]:e=>w[e>>1];case 4:return r?e=>v[e>>2]:e=>y[e>>2];case 8:return r?e=>_[e>>3]:e=>E[e>>3];default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},ke=8,Ie=e=>{Ce(e.$$.ptrType.registeredClass.name+" instance already deleted")},Ae=!1,Se=e=>{},Fe=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Le=(e,t,r)=>{if(t===r)return e;if(void 0===r.baseClass)return null;var n=Le(e,t,r.baseClass);return null===n?null:r.downcast(n)},$e={},De={},Me=(e,t)=>(t=((e,t)=>{for(void 0===t&&Ce("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t})(e,t),De[t]),Be=(e,t)=>(t.ptrType&&t.ptr||be("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&be("Both smartPtrType and smartPtr must be specified"),t.count={value:1},Ge(Object.create(e,{$$:{value:t,writable:!0}})));function Re(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=Me(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,o=this.registeredClass.getActualType(t),i=$e[o];if(!i)return a.call(this);s=this.isConst?i.constPointerType:i.pointerType;var l=Le(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 Ge=e=>"undefined"==typeof FinalizationRegistry?(Ge=e=>e,e):(Ae=new FinalizationRegistry(e=>{Fe(e.$$)}),Se=e=>Ae.unregister(e),(Ge=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};Ae.register(e,r,e)}return e})(e)),Oe=[];function Ne(){}var je=(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)||Ce(`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}},We=(e,t,r)=>{n.hasOwnProperty(e)?((void 0===r||void 0!==n[e].overloadTable&&void 0!==n[e].overloadTable[r])&&Ce(`Cannot register public name '${e}' twice`),Ue(n,e,e),n[e].overloadTable.hasOwnProperty(r)&&Ce(`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 He(e,t,r,n,a,s,o,i){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=n,this.baseClass=a,this.getActualType=s,this.upcast=o,this.downcast=i,this.pureVirtualFunctions=[]}var Ve=(e,t,r)=>{for(;t!==r;)t.upcast||Ce(`Expected null or instance of ${r.name}, got an instance of ${t.name}`),e=t.upcast(e),t=t.baseClass;return e};function ze(e,t){if(null===t)return this.isReference&&Ce(`null is not a valid ${this.name}`),0;t.$$||Ce(`Cannot pass "${Ee(t)}" as a ${this.name}`),t.$$.ptr||Ce(`Cannot pass deleted object as a pointer of type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ve(t.$$.ptr,r,this.registeredClass)}function qe(e,t){var r;if(null===t)return this.isReference&&Ce(`null is not a valid ${this.name}`),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t&&t.$$||Ce(`Cannot pass "${Ee(t)}" as a ${this.name}`),t.$$.ptr||Ce(`Cannot pass deleted object as a pointer of type ${this.name}`),!this.isConst&&t.$$.ptrType.isConst&&Ce(`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=Ve(t.$$.ptr,n,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&Ce("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:Ce(`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,vt.toHandle(()=>a.delete())),null!==e&&e.push(this.rawDestructor,r)}break;default:Ce("Unsupporting sharing policy")}return r}function Xe(e,t){if(null===t)return this.isReference&&Ce(`null is not a valid ${this.name}`),0;t.$$||Ce(`Cannot pass "${Ee(t)}" as a ${this.name}`),t.$$.ptr||Ce(`Cannot pass deleted object as a pointer of type ${this.name}`),t.$$.ptrType.isConst&&Ce(`Cannot convert argument of type ${t.$$.ptrType.name} to parameter type ${this.name}`);var r=t.$$.ptrType.registeredClass;return Ve(t.$$.ptr,r,this.registeredClass)}function Je(e,t,r,n,a,s,o,i,l,u,c){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=n,this.isSmartPointer=a,this.pointeeType=s,this.sharingPolicy=o,this.rawGetPointee=i,this.rawConstructor=l,this.rawShare=u,this.rawDestructor=c,a||void 0!==t.baseClass?this.toWireType=qe:n?(this.toWireType=ze,this.destructorFunction=null):(this.toWireType=Xe,this.destructorFunction=null)}var Ke,Qe,Ye=(e,t,r)=>{n.hasOwnProperty(e)||be("Replacing nonexistent public symbol"),void 0!==n[e].overloadTable&&void 0!==r?n[e].overloadTable[r]=t:(n[e]=t,n[e].argCount=r)},Ze=(e,t)=>{e=xe(e);var r,n=(r=t,Ke.get(r));return"function"!=typeof n&&Ce(`unknown function pointer with signature ${e}: ${t}`),n},et=e=>{var t=Da(e),r=xe(t);return Ba(t),r},tt=(e,t)=>{var r=[],n={};throw t.forEach(function e(t){n[t]||ve[t]||(ye[t]?ye[t].forEach(e):(r.push(t),n[t]=!0))}),new Qe(`${e}: `+r.map(et).join([", "]))};function rt(e){for(var t=1;t<e.length;++t)if(null!==e[t]&&void 0===e[t].destructorFunction)return!0;return!1}function at(e,t){if(!(e instanceof Function))throw new TypeError(`new_ called with constructor type ${typeof e} which is not a function`);var r=je(e.name||"unknownFunctionName",function(){});r.prototype=e.prototype;var n=new r,a=e.apply(n,t);return a instanceof Object?a:n}function ot(e,t,r,n,a,s){var o=t.length;o<2&&Ce("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var i=null!==t[1]&&null!==r,l=rt(t),u="void"!==t[0].name,c=[e,Ce,n,a,de,t[0],t[1]],h=0;h<o-2;++h)c.push(t[h+2]);if(!l)for(h=i?1:2;h<t.length;++h)null!==t[h].destructorFunction&&c.push(t[h].destructorFunction);let[d,m]=function(e,t,r,n){var a=rt(e),s=e.length-2,o=[],i=["fn"];t&&i.push("thisWired");for(var l=0;l<s;++l)o.push(`arg${l}`),i.push(`arg${l}Wired`);o=o.join(","),i=i.join(",");var u=`return function (${o}) {\n`;a&&(u+="var destructors = [];\n");var c=a?"destructors":"null",h=["humanName","throwBindingError","invoker","fn","runDestructors","retType","classParam"];for(t&&(u+=`var thisWired = classParam['toWireType'](${c}, this);\n`),l=0;l<s;++l)u+=`var arg${l}Wired = argType${l}['toWireType'](${c}, arg${l});\n`,h.push(`argType${l}`);if(u+=(r||n?"var rv = ":"")+`invoker(${i});\n`,a)u+="runDestructors(destructors);\n";else for(l=t?1:2;l<e.length;++l){var d=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==e[l].destructorFunction&&(u+=`${d}_dtor(${d});\n`,h.push(`${d}_dtor`))}return r&&(u+="var ret = retType['fromWireType'](rv);\nreturn ret;\n"),[h,u+="}\n"]}(t,i,u,s);d.push(m);var f=at(Function,d)(...c);return je(e,f)}var it,lt,ut,ct,ht=(e,t)=>{for(var r=[],n=0;n<e;n++)r.push(y[t+4*n>>2]);return r},dt=e=>{const t=(e=e.trim()).indexOf("(");return-1!==t?e.substr(0,t):e},mt=(e,t,r)=>(e instanceof Object||Ce(`${r} with invalid "this": ${e}`),e instanceof t.registeredClass.constructor||Ce(`${r} incompatible with "this" of type ${e.constructor.name}`),e.$$.ptr||Ce(`cannot call emscripten binding method ${r} on deleted object`),Ve(e.$$.ptr,e.$$.ptrType.registeredClass,t.registeredClass)),ft=[],pt=[],gt=e=>{e>9&&0===--pt[e+1]&&(pt[e]=void 0,ft.push(e))},wt=()=>pt.length/2-5-ft.length,vt={toValue:e=>(e||Ce("Cannot use deleted val. handle = "+e),pt[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=ft.pop()||pt.length;return pt[t]=e,pt[t+1]=1,t}}}},yt={name:"emscripten::val",fromWireType:e=>{var t=vt.toValue(e);return gt(e),t},toWireType:(e,t)=>vt.toHandle(t),argPackAdvance:ke,readValueFromPointer:me,destructorFunction:null},bt=(e,t,r)=>{switch(t){case 1:return r?function(e){return this.fromWireType(f[e])}:function(e){return this.fromWireType(p[e])};case 2:return r?function(e){return this.fromWireType(g[e>>1])}:function(e){return this.fromWireType(w[e>>1])};case 4:return r?function(e){return this.fromWireType(v[e>>2])}:function(e){return this.fromWireType(y[e>>2])};default:throw new TypeError(`invalid integer width (${t}): ${e}`)}},_t=(e,t)=>{var r=ve[e];return void 0===r&&Ce(`${t} has unknown type ${et(e)}`),r},Et=(e,t)=>{switch(t){case 4:return function(e){return this.fromWireType(b[e>>2])};case 8:return function(e){return this.fromWireType(x[e>>3])};default:throw new TypeError(`invalid float width (${t}): ${e}`)}},xt=Object.assign({optional:!0},yt),Ct="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,Pt=(e,t)=>{for(var r=e,n=r>>1,a=n+t/2;!(n>=a)&&w[n];)++n;if((r=n<<1)-e>32&&Ct)return Ct.decode(p.subarray(e,r));for(var s="",o=0;!(o>=t/2);++o){var i=g[e+2*o>>1];if(0==i)break;s+=String.fromCharCode(i)}return s},Tt=(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 o=e.charCodeAt(s);g[t>>1]=o,t+=2}return g[t>>1]=0,t-n},kt=e=>2*e.length,It=(e,t)=>{for(var r=0,n="";!(r>=t/4);){var a=v[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},At=(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 o=e.charCodeAt(s);if(o>=55296&&o<=57343&&(o=65536+((1023&o)<<10)|1023&e.charCodeAt(++s)),v[t>>2]=o,(t+=4)+4>a)break}return v[t>>2]=0,t-n},St=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},Ft=(e,t,r)=>{var n=[],a=e.toWireType(n,r);return n.length&&(y[t>>2]=vt.toHandle(n)),a},Lt=[],$t={},Dt=e=>{var t=$t[e];return void 0===t?xe(e):t},Mt=()=>"object"==typeof globalThis?globalThis:Function("return this")(),Bt={memcpy(e,t,r){f.set(f.subarray(t,t+r),e)},removeAllEventListeners(){for(;Bt.eventHandlers.length;)Bt._removeHandler(Bt.eventHandlers.length-1);Bt.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 Bt.deferredCalls)if(a.targetFunction==e&&n(a.argsList,r))return;Bt.deferredCalls.push({targetFunction:e,precedence:t,argsList:r}),Bt.deferredCalls.sort((e,t)=>e.precedence<t.precedence)},removeDeferredCalls(e){Bt.deferredCalls=Bt.deferredCalls.filter(t=>t.targetFunction!=e)},canPerformEventHandlerRequests:()=>navigator.userActivation?navigator.userActivation.isActive:Bt.inEventHandler&&Bt.currentEventHandler.allowsDeferredCalls,runDeferredCalls(){if(Bt.canPerformEventHandlerRequests()){var e=Bt.deferredCalls;for(var t of(Bt.deferredCalls=[],e))t.targetFunction(...t.argsList)}},eventHandlers:[],removeAllHandlersOnTarget:(e,t)=>{for(var r=0;r<Bt.eventHandlers.length;++r)Bt.eventHandlers[r].target!=e||t&&t!=Bt.eventHandlers[r].eventTypeString||Bt._removeHandler(r--)},_removeHandler(e){var t=Bt.eventHandlers[e];t.target.removeEventListener(t.eventTypeString,t.eventListenerFunc,t.useCapture),Bt.eventHandlers.splice(e,1)},registerOrRemoveHandler(e){if(!e.target)return-4;if(e.callbackfunc)e.eventListenerFunc=function(t){++Bt.inEventHandler,Bt.currentEventHandler=e,Bt.runDeferredCalls(),e.handlerFunc(t),Bt.runDeferredCalls(),--Bt.inEventHandler},e.target.addEventListener(e.eventTypeString,e.eventListenerFunc,e.useCapture),Bt.eventHandlers.push(e);else for(var t=0;t<Bt.eventHandlers.length;++t)Bt.eventHandlers[t].target==e.target&&Bt.eventHandlers[t].eventTypeString==e.eventTypeString&&Bt._removeHandler(t--);return 0},getNodeNameForTarget:e=>e?e==window?"#window":e==screen?"#screen":e?.nodeName||"":"",fullscreenEnabled:()=>document.fullscreenEnabled||document.webkitFullscreenEnabled},Rt=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],Gt=e=>{var t;return e=(t=e)>2?le(t):t,Rt[e]||("undefined"!=typeof document?document.querySelector(e):null)},Ot=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))},Nt={counter:1,buffers:[],programs:[],framebuffers:[],renderbuffers:[],textures:[],shaders:[],vaos:[],contexts:[],offscreenCanvases:{},queries:[],samplers:[],transformFeedbacks:[],syncs:[],stringCache:{},stringiCache:{},unpackAlignment:4,unpackRowLength:0,recordError:e=>{Nt.lastError||(Nt.lastError=e)},getNewId:e=>{for(var t=Nt.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=it[r](),o=s&&Nt.getNewId(n);s?(s.name=o,n[o]=s):Nt.recordError(1282),v[t+4*a>>2]=o}},getSource:(e,t,r,n)=>{for(var a="",s=0;s<t;++s){var o=n?y[n+4*s>>2]:void 0;a+=le(y[r+4*s>>2],o)}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?Nt.registerContext(r,t):0},registerContext:(e,t)=>{var r=Nt.getNewId(Nt.contexts),n={handle:r,attributes:t,version:t.majorVersion,GLctx:e};return e.canvas&&(e.canvas.GLctxObject=n),Nt.contexts[r]=n,(void 0===t.enableExtensionsByDefault||t.enableExtensionsByDefault)&&Nt.initExtensions(n),r},makeContextCurrent:e=>(Nt.currentContext=Nt.contexts[e],n.ctx=it=Nt.currentContext?.GLctx,!(e&&!it)),getContext:e=>Nt.contexts[e],deleteContext:e=>{Nt.currentContext===Nt.contexts[e]&&(Nt.currentContext=null),"object"==typeof Bt&&Bt.removeAllHandlersOnTarget(Nt.contexts[e].GLctx.canvas),Nt.contexts[e]&&Nt.contexts[e].GLctx.canvas&&(Nt.contexts[e].GLctx.canvas.GLctxObject=void 0),Nt.contexts[e]=null},initExtensions:e=>{if(e||(e=Nt.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")),Ot(r).forEach(e=>{e.includes("lose_context")||e.includes("debug")||r.getExtension(e)})}}},jt=e=>it.activeTexture(e),Ut=(e,t)=>{it.attachShader(Nt.programs[e],Nt.shaders[t])},Wt=(e,t,r)=>{it.bindAttribLocation(Nt.programs[e],t,le(r))},Ht=(e,t)=>{35051==e?it.currentPixelPackBufferBinding=t:35052==e&&(it.currentPixelUnpackBufferBinding=t),it.bindBuffer(e,Nt.buffers[t])},Vt=(e,t,r)=>{it.bindBufferBase(e,t,Nt.buffers[r])},zt=(e,t)=>{it.bindFramebuffer(e,Nt.framebuffers[t])},qt=(e,t)=>{it.bindRenderbuffer(e,Nt.renderbuffers[t])},Xt=(e,t)=>{it.bindTexture(e,Nt.textures[t])},Jt=e=>{it.bindVertexArray(Nt.vaos[e])},Kt=Jt,Qt=Jt,Yt=Qt,Zt=(e,t,r,n)=>it.blendColor(e,t,r,n),er=e=>it.blendEquation(e),tr=(e,t)=>it.blendEquationSeparate(e,t),rr=(e,t)=>it.blendFunc(e,t),nr=(e,t,r,n)=>it.blendFuncSeparate(e,t,r,n),ar=(e,t,r,n,a,s,o,i,l,u)=>it.blitFramebuffer(e,t,r,n,a,s,o,i,l,u),sr=(e,t,r,n)=>{Nt.currentContext.version>=2?r&&t?it.bufferData(e,p,n,r,t):it.bufferData(e,t,n):it.bufferData(e,r?p.subarray(r,r+t):t,n)},or=(e,t,r,n)=>{Nt.currentContext.version>=2?r&&it.bufferSubData(e,t,p,n,r):it.bufferSubData(e,t,p.subarray(n,n+r))},ir=e=>it.checkFramebufferStatus(e),lr=e=>it.clear(e),ur=(e,t,r,n)=>it.clearColor(e,t,r,n),cr=e=>it.clearDepth(e),hr=e=>it.clearStencil(e),dr=(e,t,r,n)=>{it.colorMask(!!e,!!t,!!r,!!n)},mr=e=>{it.compileShader(Nt.shaders[e])},fr=(e,t,r,n,a,s,o,i)=>{if(Nt.currentContext.version>=2)return it.currentPixelUnpackBufferBinding||!o?void it.compressedTexImage2D(e,t,r,n,a,s,o,i):void it.compressedTexImage2D(e,t,r,n,a,s,p,i,o);it.compressedTexImage2D(e,t,r,n,a,s,p.subarray(i,i+o))},pr=(e,t,r,n,a,s,o,i,l)=>{if(Nt.currentContext.version>=2)return it.currentPixelUnpackBufferBinding||!i?void it.compressedTexSubImage2D(e,t,r,n,a,s,o,i,l):void it.compressedTexSubImage2D(e,t,r,n,a,s,o,p,l,i);it.compressedTexSubImage2D(e,t,r,n,a,s,o,p.subarray(l,l+i))},gr=(e,t,r,n,a,s,o,i)=>it.copyTexSubImage2D(e,t,r,n,a,s,o,i),wr=()=>{var e=Nt.getNewId(Nt.programs),t=it.createProgram();return t.name=e,t.maxUniformLength=t.maxAttributeLength=t.maxUniformBlockNameLength=0,t.uniformIdCounter=1,Nt.programs[e]=t,e},vr=e=>{var t=Nt.getNewId(Nt.shaders);return Nt.shaders[t]=it.createShader(e),t},yr=e=>it.cullFace(e),br=(e,t)=>{for(var r=0;r<e;r++){var n=v[t+4*r>>2],a=Nt.buffers[n];a&&(it.deleteBuffer(a),a.name=0,Nt.buffers[n]=null,n==it.currentPixelPackBufferBinding&&(it.currentPixelPackBufferBinding=0),n==it.currentPixelUnpackBufferBinding&&(it.currentPixelUnpackBufferBinding=0))}},_r=(e,t)=>{for(var r=0;r<e;++r){var n=v[t+4*r>>2],a=Nt.framebuffers[n];a&&(it.deleteFramebuffer(a),a.name=0,Nt.framebuffers[n]=null)}},Er=e=>{if(e){var t=Nt.programs[e];t?(it.deleteProgram(t),t.name=0,Nt.programs[e]=null):Nt.recordError(1281)}},xr=(e,t)=>{for(var r=0;r<e;r++){var n=v[t+4*r>>2],a=Nt.renderbuffers[n];a&&(it.deleteRenderbuffer(a),a.name=0,Nt.renderbuffers[n]=null)}},Cr=e=>{if(e){var t=Nt.shaders[e];t?(it.deleteShader(t),Nt.shaders[e]=null):Nt.recordError(1281)}},Pr=e=>{if(e){var t=Nt.syncs[e];t?(it.deleteSync(t),t.name=0,Nt.syncs[e]=null):Nt.recordError(1281)}},Tr=(e,t)=>{for(var r=0;r<e;r++){var n=v[t+4*r>>2],a=Nt.textures[n];a&&(it.deleteTexture(a),a.name=0,Nt.textures[n]=null)}},kr=(e,t)=>{for(var r=0;r<e;r++){var n=v[t+4*r>>2];it.deleteVertexArray(Nt.vaos[n]),Nt.vaos[n]=null}},Ir=kr,Ar=kr,Sr=Ar,Fr=e=>it.depthFunc(e),Lr=e=>{it.depthMask(!!e)},$r=e=>it.disable(e),Dr=e=>{it.disableVertexAttribArray(e)},Mr=(e,t,r)=>{it.drawArrays(e,t,r)},Br=(e,t,r,n)=>{it.drawElements(e,t,r,n)},Rr=e=>it.enable(e),Gr=e=>{it.enableVertexAttribArray(e)},Or=(e,t)=>{var r=it.fenceSync(e,t);if(r){var n=Nt.getNewId(Nt.syncs);return r.name=n,Nt.syncs[n]=r,n}return 0},Nr=()=>it.finish(),jr=()=>it.flush(),Ur=(e,t,r,n)=>{it.framebufferRenderbuffer(e,t,r,Nt.renderbuffers[n])},Wr=(e,t,r,n,a)=>{it.framebufferTexture2D(e,t,r,Nt.textures[n],a)},Hr=e=>it.frontFace(e),Vr=(e,t)=>{Nt.genObject(e,t,"createBuffer",Nt.buffers)},zr=(e,t)=>{Nt.genObject(e,t,"createFramebuffer",Nt.framebuffers)},qr=(e,t)=>{Nt.genObject(e,t,"createRenderbuffer",Nt.renderbuffers)},Xr=(e,t)=>{Nt.genObject(e,t,"createTexture",Nt.textures)},Jr=(e,t)=>{Nt.genObject(e,t,"createVertexArray",Nt.vaos)},Kr=Jr,Qr=Jr,Yr=e=>it.generateMipmap(e),Zr=(e,t)=>it.getAttribLocation(Nt.programs[e],le(t)),en=()=>{var e=Ot(it);return e=e.concat(e.map(e=>"GL_"+e))},tn=(e,t,r)=>{if(t){var n=void 0;switch(e){case 36346:n=1;break;case 36344:return void(0!=r&&1!=r&&Nt.recordError(1280));case 34814:case 36345:n=0;break;case 34466:var a=it.getParameter(34467);n=a?a.length:0;break;case 33309:if(Nt.currentContext.version<2)return void Nt.recordError(1282);n=en().length;break;case 33307:case 33308:if(Nt.currentContext.version<2)return void Nt.recordError(1280);n=33307==e?3:0}if(void 0===n){var s=it.getParameter(e);switch(typeof s){case"number":n=s;break;case"boolean":n=s?1:0;break;case"string":return void Nt.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 Nt.recordError(1280)}else{if(s instanceof Float32Array||s instanceof Uint32Array||s instanceof Int32Array||s instanceof Array){for(var o=0;o<s.length;++o)switch(r){case 0:v[t+4*o>>2]=s[o];break;case 2:b[t+4*o>>2]=s[o];break;case 4:f[t+o]=s[o]?1:0}return}try{n=0|s.name}catch(t){return Nt.recordError(1280),void d(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return Nt.recordError(1280),void d(`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)=>{y[e>>2]=t;var r=y[e>>2];y[e+4>>2]=(t-r)/4294967296})(t,n);break;case 0:v[t>>2]=n;break;case 2:b[t>>2]=n;break;case 4:f[t]=n?1:0}}else Nt.recordError(1281)},rn=(e,t)=>tn(e,t,4),nn=(e,t,r)=>{r?v[r>>2]=it.getBufferParameter(e,t):Nt.recordError(1281)},an=()=>{var e=it.getError()||Nt.lastError;return Nt.lastError=0,e},sn=(e,t,r,n)=>{var a=it.getFramebufferAttachmentParameter(e,t,r);(a instanceof WebGLRenderbuffer||a instanceof WebGLTexture)&&(a=0|a.name),v[n>>2]=a},on=(e,t)=>tn(e,t,0),ln=(e,t,r,n,a)=>{if(n<0)Nt.recordError(1281);else if(a){var s=it.getInternalformatParameter(e,t,r);if(null!==s)for(var o=0;o<s.length&&o<n;++o)v[a+4*o>>2]=s[o]}else Nt.recordError(1281)},un=(e,t,r,n)=>{var a=it.getProgramInfoLog(Nt.programs[e]);null===a&&(a="(unknown error)");var s=t>0&&n?ce(a,n,t):0;r&&(v[r>>2]=s)},cn=(e,t,r)=>{if(r)if(e>=Nt.counter)Nt.recordError(1281);else if(e=Nt.programs[e],35716==t){var n=it.getProgramInfoLog(e);null===n&&(n="(unknown error)"),v[r>>2]=n.length+1}else if(35719==t){if(!e.maxUniformLength)for(var a=it.getProgramParameter(e,35718),s=0;s<a;++s)e.maxUniformLength=Math.max(e.maxUniformLength,it.getActiveUniform(e,s).name.length+1);v[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength){var o=it.getProgramParameter(e,35721);for(s=0;s<o;++s)e.maxAttributeLength=Math.max(e.maxAttributeLength,it.getActiveAttrib(e,s).name.length+1)}v[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength){var i=it.getProgramParameter(e,35382);for(s=0;s<i;++s)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,it.getActiveUniformBlockName(e,s).length+1)}v[r>>2]=e.maxUniformBlockNameLength}else v[r>>2]=it.getProgramParameter(e,t);else Nt.recordError(1281)},hn=(e,t,r)=>{r?v[r>>2]=it.getRenderbufferParameter(e,t):Nt.recordError(1281)},dn=(e,t,r,n)=>{var a=it.getShaderInfoLog(Nt.shaders[e]);null===a&&(a="(unknown error)");var s=t>0&&n?ce(a,n,t):0;r&&(v[r>>2]=s)},mn=(e,t,r,n)=>{var a=it.getShaderPrecisionFormat(e,t);v[r>>2]=a.rangeMin,v[r+4>>2]=a.rangeMax,v[n>>2]=a.precision},fn=(e,t,r)=>{if(r)if(35716==t){var n=it.getShaderInfoLog(Nt.shaders[e]);null===n&&(n="(unknown error)");var a=n?n.length+1:0;v[r>>2]=a}else if(35720==t){var s=it.getShaderSource(Nt.shaders[e]),o=s?s.length+1:0;v[r>>2]=o}else v[r>>2]=it.getShaderParameter(Nt.shaders[e],t);else Nt.recordError(1281)},pn=e=>{var t=Y(e)+1,r=Ma(t);return r&&ce(e,r,t),r},gn=e=>{var t=Nt.stringCache[e];if(!t){switch(e){case 7939:t=pn(en().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=it.getParameter(e);r||Nt.recordError(1280),t=r?pn(r):0;break;case 7938:var n=it.getParameter(7938),a=`OpenGL ES 2.0 (${n})`;Nt.currentContext.version>=2&&(a=`OpenGL ES 3.0 (${n})`),t=pn(a);break;case 35724:var s=it.getParameter(35724),o=s.match(/^WebGL GLSL ES ([0-9]\.[0-9][0-9]?)(?:$| .*)/);null!==o&&(3==o[1].length&&(o[1]=o[1]+"0"),s=`OpenGL ES GLSL ES ${o[1]} (${s})`),t=pn(s);break;default:Nt.recordError(1280)}Nt.stringCache[e]=t}return t},wn=(e,t)=>{if(Nt.currentContext.version<2)return Nt.recordError(1282),0;var r=Nt.stringiCache[e];if(r)return t<0||t>=r.length?(Nt.recordError(1281),0):r[t];if(7939===e){var n=en().map(pn);return r=Nt.stringiCache[e]=n,t<0||t>=r.length?(Nt.recordError(1281),0):r[t]}return Nt.recordError(1280),0},vn=(e,t)=>it.getUniformBlockIndex(Nt.programs[e],le(t)),yn=e=>"]"==e.slice(-1)&&e.lastIndexOf("["),bn=(e,t)=>{if(t=le(t),e=Nt.programs[e]){(e=>{var t,r,n=e.uniformLocsById,a=e.uniformSizeAndIdsByName;if(!n){e.uniformLocsById=n={},e.uniformArrayNamesById={};var s=it.getProgramParameter(e,35718);for(t=0;t<s;++t){var o=it.getActiveUniform(e,t),i=o.name,l=o.size,u=yn(i),c=u>0?i.slice(0,u):i,h=e.uniformIdCounter;for(e.uniformIdCounter+=l,a[c]=[l,h],r=0;r<l;++r)n[h]=r,e.uniformArrayNamesById[h++]=c}}})(e);var r=e.uniformLocsById,n=0,a=t,s=yn(t);s>0&&(i=t.slice(s+1),n=parseInt(i)>>>0,a=t.slice(0,s));var o=e.uniformSizeAndIdsByName[a];if(o&&n<o[0]&&(r[n+=o[1]]=r[n]||it.getUniformLocation(e,t)))return n}else Nt.recordError(1281);var i;return-1},_n=(e,t,r)=>{r?v[r>>2]=it.getVertexAttribOffset(e,t):Nt.recordError(1281)},En=(e,t,r)=>{((e,t,r,n)=>{if(r){var a=it.getVertexAttrib(e,t);if(34975==t)v[r>>2]=a&&a.name;else if("number"==typeof a||"boolean"==typeof a)switch(n){case 0:v[r>>2]=a;break;case 2:b[r>>2]=a;break;case 5:v[r>>2]=Math.fround(a)}else for(var s=0;s<a.length;s++)switch(n){case 0:v[r+4*s>>2]=a[s];break;case 2:b[r+4*s>>2]=a[s];break;case 5:v[r+4*s>>2]=Math.fround(a[s])}}else Nt.recordError(1281)})(e,t,r,5)},xn=e=>it.isEnabled(e),Cn=e=>{var t=Nt.textures[e];return t?it.isTexture(t):0},Pn=e=>it.lineWidth(e),Tn=e=>{e=Nt.programs[e],it.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},kn=(e,t)=>{3317==e?Nt.unpackAlignment=t:3314==e&&(Nt.unpackRowLength=t),it.pixelStorei(e,t)},In=e=>0==(e-=5120)?f:1==e?p:2==e?g:4==e?v:6==e?b:5==e||28922==e||28520==e||30779==e||30782==e?y:w,An=(e,t)=>e>>>31-Math.clz32(t.BYTES_PER_ELEMENT),Sn=(e,t,r,n,a,s)=>{var o=In(e),i=(e=>({5:3,6:4,8:2,29502:3,29504:4,26917:2,26918:2,29846:3,29847:4}[e-6402]||1))(t)*o.BYTES_PER_ELEMENT,l=((e,t,r)=>{var n,a,s=(Nt.unpackRowLength||e)*r;return t*(n=s,a=Nt.unpackAlignment,n+a-1&-a)})(r,n,i);return o.subarray(An(a,o),An(a+l,o))},Fn=(e,t,r,n,a,s,o)=>{if(Nt.currentContext.version>=2){if(it.currentPixelPackBufferBinding)return void it.readPixels(e,t,r,n,a,s,o);var i=In(s),l=An(o,i);it.readPixels(e,t,r,n,a,s,i,l)}else{var u=Sn(s,a,r,n,o);u?it.readPixels(e,t,r,n,a,s,u):Nt.recordError(1280)}},Ln=(e,t,r,n)=>it.renderbufferStorage(e,t,r,n),$n=(e,t,r,n,a)=>it.renderbufferStorageMultisample(e,t,r,n,a),Dn=(e,t,r,n)=>it.scissor(e,t,r,n),Mn=(e,t,r,n)=>{var a=Nt.getSource(e,t,r,n);it.shaderSource(Nt.shaders[e],a)},Bn=(e,t,r)=>it.stencilFunc(e,t,r),Rn=(e,t,r,n)=>it.stencilFuncSeparate(e,t,r,n),Gn=e=>it.stencilMask(e),On=(e,t)=>it.stencilMaskSeparate(e,t),Nn=(e,t,r)=>it.stencilOp(e,t,r),jn=(e,t,r,n)=>it.stencilOpSeparate(e,t,r,n),Un=(e,t,r,n,a,s,o,i,l)=>{if(Nt.currentContext.version>=2){if(it.currentPixelUnpackBufferBinding)return void it.texImage2D(e,t,r,n,a,s,o,i,l);if(l){var u=In(i),c=An(l,u);return void it.texImage2D(e,t,r,n,a,s,o,i,u,c)}}var h=l?Sn(i,o,n,a,l):null;it.texImage2D(e,t,r,n,a,s,o,i,h)},Wn=(e,t,r)=>it.texParameterf(e,t,r),Hn=(e,t,r)=>{var n=b[r>>2];it.texParameterf(e,t,n)},Vn=(e,t,r)=>it.texParameteri(e,t,r),zn=(e,t,r)=>{var n=v[r>>2];it.texParameteri(e,t,n)},qn=(e,t,r,n,a,s,o,i,l)=>{if(Nt.currentContext.version>=2){if(it.currentPixelUnpackBufferBinding)return void it.texSubImage2D(e,t,r,n,a,s,o,i,l);if(l){var u=In(i);return void it.texSubImage2D(e,t,r,n,a,s,o,i,u,An(l,u))}}var c=l?Sn(i,o,a,s,l):null;it.texSubImage2D(e,t,r,n,a,s,o,i,c)},Xn=e=>{var t=it.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=it.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?`[${r}]`:""))),r}Nt.recordError(1282)},Jn=(e,t)=>{it.uniform1f(Xn(e),t)},Kn=[],Qn=(e,t,r)=>{if(Nt.currentContext.version>=2)t&&it.uniform1fv(Xn(e),b,r>>2,t);else{if(t<=288)for(var n=Kn[t],a=0;a<t;++a)n[a]=b[r+4*a>>2];else n=b.subarray(r>>2,r+4*t>>2);it.uniform1fv(Xn(e),n)}},Yn=(e,t)=>{it.uniform1i(Xn(e),t)},Zn=[],ea=(e,t,r)=>{if(Nt.currentContext.version>=2)t&&it.uniform1iv(Xn(e),v,r>>2,t);else{if(t<=288)for(var n=Zn[t],a=0;a<t;++a)n[a]=v[r+4*a>>2];else n=v.subarray(r>>2,r+4*t>>2);it.uniform1iv(Xn(e),n)}},ta=(e,t,r)=>{it.uniform2f(Xn(e),t,r)},ra=(e,t,r)=>{if(Nt.currentContext.version>=2)t&&it.uniform2fv(Xn(e),b,r>>2,2*t);else{if(t<=144)for(var n=Kn[t*=2],a=0;a<t;a+=2)n[a]=b[r+4*a>>2],n[a+1]=b[r+(4*a+4)>>2];else n=b.subarray(r>>2,r+8*t>>2);it.uniform2fv(Xn(e),n)}},na=(e,t,r)=>{it.uniform2i(Xn(e),t,r)},aa=(e,t,r)=>{if(Nt.currentContext.version>=2)t&&it.uniform2iv(Xn(e),v,r>>2,2*t);else{if(t<=144)for(var n=Zn[t*=2],a=0;a<t;a+=2)n[a]=v[r+4*a>>2],n[a+1]=v[r+(4*a+4)>>2];else n=v.subarray(r>>2,r+8*t>>2);it.uniform2iv(Xn(e),n)}},sa=(e,t,r,n)=>{it.uniform3f(Xn(e),t,r,n)},oa=(e,t,r)=>{if(Nt.currentContext.version>=2)t&&it.uniform3fv(Xn(e),b,r>>2,3*t);else{if(t<=96)for(var n=Kn[t*=3],a=0;a<t;a+=3)n[a]=b[r+4*a>>2],n[a+1]=b[r+(4*a+4)>>2],n[a+2]=b[r+(4*a+8)>>2];else n=b.subarray(r>>2,r+12*t>>2);it.uniform3fv(Xn(e),n)}},ia=(e,t,r,n)=>{it.uniform3i(Xn(e),t,r,n)},la=(e,t,r)=>{if(Nt.currentContext.version>=2)t&&it.uniform3iv(Xn(e),v,r>>2,3*t);else{if(t<=96)for(var n=Zn[t*=3],a=0;a<t;a+=3)n[a]=v[r+4*a>>2],n[a+1]=v[r+(4*a+4)>>2],n[a+2]=v[r+(4*a+8)>>2];else n=v.subarray(r>>2,r+12*t>>2);it.uniform3iv(Xn(e),n)}},ua=(e,t,r,n,a)=>{it.uniform4f(Xn(e),t,r,n,a)},ca=(e,t,r)=>{if(Nt.currentContext.version>=2)t&&it.uniform4fv(Xn(e),b,r>>2,4*t);else{if(t<=72){var n=Kn[4*t],a=b;r>>=2,t*=4;for(var s=0;s<t;s+=4){var o=r+s;n[s]=a[o],n[s+1]=a[o+1],n[s+2]=a[o+2],n[s+3]=a[o+3]}}else n=b.subarray(r>>2,r+16*t>>2);it.uniform4fv(Xn(e),n)}},ha=(e,t,r,n,a)=>{it.uniform4i(Xn(e),t,r,n,a)},da=(e,t,r)=>{if(Nt.currentContext.version>=2)t&&it.uniform4iv(Xn(e),v,r>>2,4*t);else{if(t<=72)for(var n=Zn[t*=4],a=0;a<t;a+=4)n[a]=v[r+4*a>>2],n[a+1]=v[r+(4*a+4)>>2],n[a+2]=v[r+(4*a+8)>>2],n[a+3]=v[r+(4*a+12)>>2];else n=v.subarray(r>>2,r+16*t>>2);it.uniform4iv(Xn(e),n)}},ma=(e,t,r)=>{e=Nt.programs[e],it.uniformBlockBinding(e,t,r)},fa=(e,t,r,n)=>{if(Nt.currentContext.version>=2)t&&it.uniformMatrix2fv(Xn(e),!!r,b,n>>2,4*t);else{if(t<=72)for(var a=Kn[t*=4],s=0;s<t;s+=4)a[s]=b[n+4*s>>2],a[s+1]=b[n+(4*s+4)>>2],a[s+2]=b[n+(4*s+8)>>2],a[s+3]=b[n+(4*s+12)>>2];else a=b.subarray(n>>2,n+16*t>>2);it.uniformMatrix2fv(Xn(e),!!r,a)}},pa=(e,t,r,n)=>{if(Nt.currentContext.version>=2)t&&it.uniformMatrix3fv(Xn(e),!!r,b,n>>2,9*t);else{if(t<=32)for(var a=Kn[t*=9],s=0;s<t;s+=9)a[s]=b[n+4*s>>2],a[s+1]=b[n+(4*s+4)>>2],a[s+2]=b[n+(4*s+8)>>2],a[s+3]=b[n+(4*s+12)>>2],a[s+4]=b[n+(4*s+16)>>2],a[s+5]=b[n+(4*s+20)>>2],a[s+6]=b[n+(4*s+24)>>2],a[s+7]=b[n+(4*s+28)>>2],a[s+8]=b[n+(4*s+32)>>2];else a=b.subarray(n>>2,n+36*t>>2);it.uniformMatrix3fv(Xn(e),!!r,a)}},ga=(e,t,r,n)=>{if(Nt.currentContext.version>=2)t&&it.uniformMatrix4fv(Xn(e),!!r,b,n>>2,16*t);else{if(t<=18){var a=Kn[16*t],s=b;n>>=2,t*=16;for(var o=0;o<t;o+=16){var i=n+o;a[o]=s[i],a[o+1]=s[i+1],a[o+2]=s[i+2],a[o+3]=s[i+3],a[o+4]=s[i+4],a[o+5]=s[i+5],a[o+6]=s[i+6],a[o+7]=s[i+7],a[o+8]=s[i+8],a[o+9]=s[i+9],a[o+10]=s[i+10],a[o+11]=s[i+11],a[o+12]=s[i+12],a[o+13]=s[i+13],a[o+14]=s[i+14],a[o+15]=s[i+15]}}else a=b.subarray(n>>2,n+64*t>>2);it.uniformMatrix4fv(Xn(e),!!r,a)}},wa=e=>{e=Nt.programs[e],it.useProgram(e),it.currentProgram=e},va=(e,t)=>it.vertexAttrib1f(e,t),ya=(e,t)=>{it.vertexAttrib2f(e,b[t>>2],b[t+4>>2])},ba=(e,t)=>{it.vertexAttrib3f(e,b[t>>2],b[t+4>>2],b[t+8>>2])},_a=(e,t)=>{it.vertexAttrib4f(e,b[t>>2],b[t+4>>2],b[t+8>>2],b[t+12>>2])},Ea=(e,t,r,n,a,s)=>{it.vertexAttribPointer(e,t,r,!!n,a,s)},xa=(e,t,r,n)=>it.viewport(e,t,r,n),Ca=(e,t,r)=>{r=Number(r),it.waitSync(Nt.syncs[e],t,r)},Pa=e=>{var t=(e-m.buffer.byteLength+65535)/65536|0;try{return m.grow(t),k(),1}catch(e){}},Ta=["default","low-power","high-performance"],ka=(e,t)=>{var r=t>>2,n=v[r+2],a={alpha:!!f[t+0],depth:!!f[t+1],stencil:!!f[t+2],antialias:!!f[t+3],premultipliedAlpha:!!f[t+4],preserveDrawingBuffer:!!f[t+5],powerPreference:Ta[n],failIfMajorPerformanceCaveat:!!f[t+12],majorVersion:v[r+4],minorVersion:v[r+5],enableExtensionsByDefault:f[t+24],explicitSwapControl:f[t+25],proxyContextToMainThread:v[r+7],renderViaOffscreenBackBuffer:f[t+32]},s=Gt(e);return s?a.explicitSwapControl?0:Nt.createContext(s,a):0},Ia=()=>Nt.currentContext?Nt.currentContext.handle:0;ie.createPreloadedFile=(e,t,r,n,a,s,o,l,u,c)=>{var h=t?X.resolve(z.join2(e,t)):e;function d(r){function i(r){c?.(),l||((e,t,r,n,a,s)=>{ie.createDataFile(e,t,r,n,a,s)})(e,t,r,n,a,u),s?.(),R()}((e,t,r,n)=>{"undefined"!=typeof Browser&&Browser.init();var a=!1;return se.forEach(s=>{a||s.canHandle(t)&&(s.handle(e,t,r,n),a=!0)}),a})(r,h,i,()=>{o?.(),R()})||i(r)}B(),"string"==typeof r?(async e=>{var t=await i(e);return new Uint8Array(t)})(r).then(d,o):d(r)},ie.staticInit(),ae.doesNotExistError=new ie.ErrnoError(44),ae.doesNotExistError.stack="<generic error, no stack>",fe=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);pe=e})(),ge=n.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},Object.assign(Ne.prototype,{isAliasOf(e){if(!(this instanceof Ne))return!1;if(!(e instanceof Ne))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||Ie(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=Ge(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||Ie(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ce("Object already scheduled for deletion"),Se(this),Fe(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},isDeleted(){return!this.$$.ptr},deleteLater(){return this.$$.ptr||Ie(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&Ce("Object already scheduled for deletion"),Oe.push(this),Oe.length,this.$$.deleteScheduled=!0,this}}),Object.assign(Je.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},argPackAdvance:ke,readValueFromPointer:me,fromWireType:Re}),Qe=n.UnboundTypeError=(lt=Error,(ct=je(ut="UnboundTypeError",function(e){this.name=ut,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(lt.prototype),ct.prototype.constructor=ct,ct.prototype.toString=function(){return void 0===this.message?this.name:`${this.name}: ${this.message}`},ct),pt.push(0,1,void 0,1,null,1,!0,1,!1,1),n.count_emval_handles=wt;for(var Aa=new Float32Array(288),Sa=0;Sa<=288;++Sa)Kn[Sa]=Aa.subarray(0,Sa);var Fa=new Int32Array(288);for(Sa=0;Sa<=288;++Sa)Zn[Sa]=Fa.subarray(0,Sa);var La={z:(e,t,r)=>{throw new W(e).init(t,r),e},N:function(e,t,r){ue.varargs=r;try{var n=ue.getStreamFromFD(e);switch(t){case 0:if((a=H())<0)return-28;for(;ie.streams[a];)a++;return ie.dupStream(n,a).fd;case 1:case 2:case 13:case 14:return 0;case 3:return n.flags;case 4:var a=H();return n.flags|=a,0;case 12:return a=V(),g[a+0>>1]=2,0}return-28}catch(e){if(void 0===ie||"ErrnoError"!==e.name)throw e;return-e.errno}},hb:function(e,t,r){try{var n=ue.getStreamFromFD(e);n.getdents||(n.getdents=ie.readdir(n.path));for(var a=280,s=0,o=ie.llseek(n,0,1),i=Math.floor(o/a),l=Math.min(n.getdents.length,i+Math.floor(r/a)),u=i;u<l;u++){var c,h,d=n.getdents[u];if("."===d)c=n.node.id,h=4;else if(".."===d)c=ie.lookupPath(n.path,{parent:!0}).node.id,h=4;else{var m;try{m=ie.lookupNode(n.node,d)}catch(e){if(28===e?.errno)continue;throw e}c=m.id,h=ie.isChrdev(m.mode)?2:ie.isDir(m.mode)?4:ie.isLink(m.mode)?10:8}_[t+s>>3]=BigInt(c),_[t+s+8>>3]=BigInt((u+1)*a),g[t+s+16>>1]=280,f[t+s+18]=h,ce(d,t+s+19,256),s+=a}return ie.llseek(n,u*a,0),s}catch(e){if(void 0===ie||"ErrnoError"!==e.name)throw e;return-e.errno}},ob:function(e,t,r){ue.varargs=r;try{var n=ue.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=V();v[s>>2]=a.c_iflag||0,v[s+4>>2]=a.c_oflag||0,v[s+8>>2]=a.c_cflag||0,v[s+12>>2]=a.c_lflag||0;for(var o=0;o<32;o++)f[s+o+17]=a.c_cc[o]||0;return 0}return 0;case 21506:case 21507:case 21508:if(!n.tty)return-59;if(n.tty.ops.ioctl_tcsets){s=V();var i=v[s>>2],l=v[s+4>>2],u=v[s+8>>2],c=v[s+12>>2],h=[];for(o=0;o<32;o++)h.push(f[s+o+17]);return n.tty.ops.ioctl_tcsets(n.tty,t,{c_iflag:i,c_oflag:l,c_cflag:u,c_lflag:c,c_cc:h})}return 0;case 21519:return n.tty?(s=V(),v[s>>2]=0,0):-59;case 21520:return n.tty?-28:-59;case 21531:return s=V(),ie.ioctl(n,t,s);case 21523:if(!n.tty)return-59;if(n.tty.ops.ioctl_tiocgwinsz){var d=n.tty.ops.ioctl_tiocgwinsz(n.tty);s=V(),g[s>>1]=d[0],g[s+2>>1]=d[1]}return 0;default:return-28}}catch(e){if(void 0===ie||"ErrnoError"!==e.name)throw e;return-e.errno}},fb:function(e,t,r){try{return t=ue.getStr(t),t=ue.calculateAt(e,t),ie.mkdir(t,r,0),0}catch(e){if(void 0===ie||"ErrnoError"!==e.name)throw e;return-e.errno}},O:function(e,t,r,n){ue.varargs=n;try{t=ue.getStr(t),t=ue.calculateAt(e,t);var a=n?H():0;return ie.open(t,r,a).fd}catch(e){if(void 0===ie||"ErrnoError"!==e.name)throw e;return-e.errno}},kb:function(e){try{return e=ue.getStr(e),ie.rmdir(e),0}catch(e){if(void 0===ie||"ErrnoError"!==e.name)throw e;return-e.errno}},gb:function(e,t){try{return e=ue.getStr(e),ue.writeStat(t,ie.stat(e))}catch(e){if(void 0===ie||"ErrnoError"!==e.name)throw e;return-e.errno}},lb:function(e,t,r){try{return t=ue.getStr(t),t=ue.calculateAt(e,t),0===r?ie.unlink(t):512===r?ie.rmdir(t):G("Invalid flags passed to unlinkat"),0}catch(e){if(void 0===ie||"ErrnoError"!==e.name)throw e;return-e.errno}},pb:()=>G(""),w:e=>{var t=he[e];delete he[e];var r=t.rawConstructor,n=t.rawDestructor,a=t.fields,s=a.map(e=>e.getterReturnType).concat(a.map(e=>e.setterArgumentType));_e([e],s,e=>{var s={};return a.forEach((t,r)=>{var n=t.fieldName,o=e[r],i=t.getter,l=t.getterContext,u=e[r+a.length],c=t.setter,h=t.setterContext;s[n]={read:e=>o.fromWireType(i(l,e)),write:(e,t)=>{var r=[];c(h,e,u.toWireType(r,t)),de(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 o=r();for(a in s)s[a].write(o,t[a]);return null!==e&&e.push(n,o),o},argPackAdvance:ke,readValueFromPointer:me,destructorFunction:n}]})},L:(e,t,r,n,a)=>{var s=-1!=(t=xe(t)).indexOf("u");Pe(e,{name:t,fromWireType:e=>e,toWireType:function(e,t){if("bigint"!=typeof t&&"number"!=typeof t)throw new TypeError(`Cannot convert "${Ee(t)}" to ${this.name}`);return"number"==typeof t&&(t=BigInt(t)),t},argPackAdvance:ke,readValueFromPointer:Te(t,r,!s),destructorFunction:null})},db:(e,t,r,n)=>{Pe(e,{name:t=xe(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?r:n},argPackAdvance:ke,readValueFromPointer:function(e){return this.fromWireType(p[e])},destructorFunction:null})},i:(e,t,r,n,a,s,o,i,l,u,c,h,d)=>{c=xe(c),s=Ze(a,s),i&&(i=Ze(o,i)),u&&(u=Ze(l,u)),d=Ze(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);We(m,function(){tt(`Cannot construct ${c} due to unbound types`,[n])}),_e([e,t,r],n?[n]:[],t=>{var r,a,o;t=t[0],o=n?(a=t.registeredClass).instancePrototype:Ne.prototype;var l=je(c,function(...e){if(Object.getPrototypeOf(this)!==h)throw new ge("Use 'new' to construct "+c);if(void 0===f.constructor_body)throw new ge(c+" has no accessible constructor");var t=f.constructor_body[e.length];if(void 0===t)throw new ge(`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(o,{constructor:{value:l}});l.prototype=h;var f=new He(c,l,h,d,a,s,i,u);f.baseClass&&((r=f.baseClass).__derivedClasses??(r.__derivedClasses=[]),f.baseClass.__derivedClasses.push(f));var p=new Je(c,f,!0,!1,!1),g=new Je(c+"*",f,!1,!1,!1),w=new Je(c+" const*",f,!1,!0,!1);return $e[e]={pointerType:g,constPointerType:w},Ye(m,l),[p,g,w]})},h:(e,t,r,n,a,s,o,i,l)=>{var u=ht(r,n);t=xe(t),t=dt(t),s=Ze(a,s),_e([],[e],e=>{var n=`${(e=e[0]).name}.${t}`;function a(){tt(`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]?(a.argCount=r-1,l[t]=a):(Ue(l,t,n),l[t].overloadTable[r-1]=a),_e([],u,a=>{var u=[a[0],null].concat(a.slice(1)),c=ot(n,u,null,s,o,i);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[]}),[]})},y:(e,t,r,n,a,s)=>{var o=ht(t,r);a=Ze(n,a),_e([],[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 ge(`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]=()=>{tt(`Cannot construct ${e.name} due to unbound types`,o)},_e([],o,n=>(n.splice(1,0,null),e.registeredClass.constructor_body[t-1]=ot(r,n,null,a,s),[])),[]})},a:(e,t,r,n,a,s,o,i,l,u)=>{var c=ht(r,n);t=xe(t),t=dt(t),s=Ze(a,s),_e([],[e],e=>{var n=`${(e=e[0]).name}.${t}`;function a(){tt(`Cannot call ${n} due to unbound types`,c)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),i&&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?(a.argCount=r-2,a.className=e.name,u[t]=a):(Ue(u,t,n),u[t].overloadTable[r-2]=a),_e([],c,a=>{var i=ot(n,a,e,s,o,l);return void 0===u[t].overloadTable?(i.argCount=r-2,u[t]=i):u[t].overloadTable[r-2]=i,[]}),[]})},f:(e,t,r,n,a,s,o,i,l,u)=>{t=xe(t),a=Ze(n,a),_e([],[e],e=>{var n=`${(e=e[0]).name}.${t}`,c={get(){tt(`Cannot access ${n} due to unbound types`,[r,o])},enumerable:!0,configurable:!0};return c.set=l?()=>tt(`Cannot access ${n} due to unbound types`,[r,o]):e=>Ce(n+" is a read-only property"),Object.defineProperty(e.registeredClass.instancePrototype,t,c),_e([],l?[r,o]:[r],r=>{var o=r[0],c={get(){var t=mt(this,e,n+" getter");return o.fromWireType(a(s,t))},enumerable:!0};if(l){l=Ze(i,l);var h=r[1];c.set=function(t){var r=mt(this,e,n+" setter"),a=[];l(u,r,h.toWireType(a,t)),de(a)}}return Object.defineProperty(e.registeredClass.instancePrototype,t,c),[]}),[]})},bb:e=>Pe(e,yt),E:(e,t,r,n)=>{function a(){}t=xe(t),a.values={},Pe(e,{name:t,constructor:a,fromWireType:function(e){return this.constructor.values[e]},toWireType:(e,t)=>t.value,argPackAdvance:ke,readValueFromPointer:bt(t,r,n),destructorFunction:null}),We(t,a)},r:(e,t,r)=>{var n=_t(e,"enum");t=xe(t);var a=n.constructor,s=Object.create(n.constructor.prototype,{value:{value:r},constructor:{value:je(`${n.name}_${t}`,function(){})}});a.values[r]=s,a[t]=s},K:(e,t,r)=>{Pe(e,{name:t=xe(t),fromWireType:e=>e,toWireType:(e,t)=>t,argPackAdvance:ke,readValueFromPointer:Et(t,r),destructorFunction:null})},J:(e,t,r,n,a,s,o,i)=>{var l=ht(t,r);e=xe(e),e=dt(e),a=Ze(n,a),We(e,function(){tt(`Cannot call ${e} due to unbound types`,l)},t-1),_e([],l,r=>{var n=[r[0],null].concat(r.slice(1));return Ye(e,ot(e,n,null,a,s,o),t-1),[]})},s:(e,t,r,n,a)=>{t=xe(t);var s=e=>e;if(0===n){var o=32-8*r;s=e=>e<<o>>>o}var i=t.includes("unsigned");Pe(e,{name:t,fromWireType:s,toWireType:i?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:ke,readValueFromPointer:Te(t,r,0!==n),destructorFunction:null})},j:(e,t,r)=>{var n=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,BigInt64Array,BigUint64Array][t];function a(e){var t=y[e>>2],r=y[e+4>>2];return new n(f.buffer,r,t)}Pe(e,{name:r=xe(r),fromWireType:a,argPackAdvance:ke,readValueFromPointer:a},{ignoreDuplicateRegistrations:!0})},A:(e,t)=>{Pe(e,xt)},p:(e,t,r,n,a,s,o,i,l,u,c,h)=>{r=xe(r),s=Ze(a,s),i=Ze(o,i),u=Ze(l,u),h=Ze(c,h),_e([e],[t],e=>(e=e[0],[new Je(r,e.registeredClass,!1,!1,!0,e,n,s,i,u,h)]))},cb:(e,t)=>{Pe(e,{name:t=xe(t),fromWireType(e){for(var t,r=y[e>>2],n=e+4,a=n,s=0;s<=r;++s){var o=n+s;if(s==r||0==p[o]){var i=le(a,o-a);void 0===t?t=i:(t+=String.fromCharCode(0),t+=i),a=o+1}}return Ba(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||Ce("Cannot pass non-string to std::string"),r=n?Y(t):t.length;var a=Ma(4+r+1),s=a+4;if(y[a>>2]=r,n)ce(t,s,r+1);else if(n)for(var o=0;o<r;++o){var i=t.charCodeAt(o);i>255&&(Ba(a),Ce("String has UTF-16 code units that do not fit in 8 bits")),p[s+o]=i}else for(o=0;o<r;++o)p[s+o]=t[o];return null!==e&&e.push(Ba,a),a},argPackAdvance:ke,readValueFromPointer:me,destructorFunction(e){Ba(e)}})},G:(e,t,r)=>{var n,a,s,o;r=xe(r),2===t?(n=Pt,a=Tt,o=kt,s=e=>w[e>>1]):4===t&&(n=It,a=At,o=St,s=e=>y[e>>2]),Pe(e,{name:r,fromWireType:e=>{for(var r,a=y[e>>2],o=e+4,i=0;i<=a;++i){var l=e+4+i*t;if(i==a||0==s(l)){var u=n(o,l-o);void 0===r?r=u:(r+=String.fromCharCode(0),r+=u),o=l+t}}return Ba(e),r},toWireType:(e,n)=>{"string"!=typeof n&&Ce(`Cannot pass non-string to C++ string type ${r}`);var s=o(n),i=Ma(4+s+t);return y[i>>2]=s/t,a(n,i+4,s+t),null!==e&&e.push(Ba,i),i},argPackAdvance:ke,readValueFromPointer:me,destructorFunction(e){Ba(e)}})},v:(e,t,r,n,a,s)=>{he[e]={name:xe(t),rawConstructor:Ze(r,n),rawDestructor:Ze(a,s),fields:[]}},n:(e,t,r,n,a,s,o,i,l,u)=>{he[e].fields.push({fieldName:xe(t),getterReturnType:r,getter:Ze(n,a),getterContext:s,setterArgumentType:o,setter:Ze(i,l),setterContext:u})},eb:(e,t)=>{Pe(e,{isVoid:!0,name:t=xe(t),argPackAdvance:0,fromWireType:()=>{},toWireType:(e,t)=>{}})},k:(e,t,r)=>(e=vt.toValue(e),t=_t(t,"emval::as"),Ft(t,r,e)),q:(e,t,r,n)=>(e=Lt[e])(null,t=vt.toValue(t),r,n),e:(e,t,r,n,a)=>(e=Lt[e])(t=vt.toValue(t),t[r=Dt(r)],n,a),b:gt,I:(e,t)=>(e=vt.toValue(e))==(t=vt.toValue(t)),B:e=>0===e?vt.toHandle(Mt()):(e=Dt(e),vt.toHandle(Mt()[e])),c:(e,t,r)=>{var n=((e,t)=>{for(var r=new Array(e),n=0;n<e;++n)r[n]=_t(y[t+4*n>>2],"parameter "+n);return r})(e,t),a=n.shift();e--;var s="return function (obj, func, destructorsRef, args) {\n",o=0,i=[];0===r&&i.push("obj");for(var l=["retType"],u=[a],c=0;c<e;++c)i.push("arg"+c),l.push("argType"+c),u.push(n[c]),s+=` var arg${c} = argType${c}.readValueFromPointer(args${o?"+"+o:""});\n`,o+=n[c].argPackAdvance;s+=` var rv = ${1===r?"new func":"func.call"}(${i.join(", ")});\n`,a.isVoid||(l.push("emval_returnValue"),u.push(Ft),s+=" return emval_returnValue(retType, destructorsRef, rv);\n"),s+="};\n",l.push(s);var h,d,m=at(Function,l)(...u),f=`methodCaller<(${n.map(e=>e.name).join(", ")}) => ${a.name}>`;return h=je(f,m),d=Lt.length,Lt.push(h),d},m:e=>(e=Dt(e),vt.toHandle(n[e])),t:(e,t)=>(e=vt.toValue(e),t=vt.toValue(t),vt.toHandle(e[t])),g:e=>{e>9&&(pt[e+1]+=1)},_a:(e,t)=>(e=vt.toValue(e))instanceof(t=vt.toValue(t)),ab:()=>vt.toHandle([]),u:e=>vt.toHandle(Dt(e)),$a:()=>vt.toHandle({}),d:e=>{var t=vt.toValue(e);de(t),gt(e)},F:(e,t,r)=>{e=vt.toValue(e),t=vt.toValue(t),r=vt.toValue(r),e[t]=r},l:(e,t)=>{var r=(e=_t(e,"_emval_take_value")).readValueFromPointer(t);return vt.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 _[r>>3]=BigInt(s),0},P:(e,t,r)=>{var n=Gt(e);if(!n)return-4;v[t>>2]=n.width,v[r>>2]=n.height},Za:jt,Ya:Ut,Wa:Wt,Va:Ht,uc:Vt,Ua:zt,Ta:qt,Sa:Xt,zb:Kt,xb:Yt,Ra:Zt,Qa:er,Ab:tr,Pa:rr,Oa:nr,sb:ar,Na:sr,Ma:or,La:ir,Ka:lr,Ja:ur,Ia:cr,Ha:hr,Ga:dr,Fa:mr,Ea:fr,Da:pr,Ca:gr,Ba:wr,Aa:vr,za:yr,ya:br,xa:_r,wa:Er,va:xr,ua:Cr,tb:Pr,ta:Tr,sa:Ir,wb:Sr,ra:Fr,qa:Lr,pa:$r,oa:Dr,na:Mr,ma:Br,la:Rr,ka:Gr,ub:Or,ja:Nr,ia:jr,ha:Ur,ga:Wr,fa:Hr,ea:Vr,da:zr,ba:qr,aa:Xr,yb:Kr,vb:Qr,ca:Yr,Bb:Zr,W:rn,$:nn,_:an,Z:sn,Y:on,X:ln,V:un,U:cn,T:hn,S:dn,R:mn,Q:fn,Bc:gn,Ac:wn,wc:vn,xc:bn,yc:_n,zc:En,Xa:xn,tc:Cn,sc:Pn,rc:Tn,qc:kn,pc:Fn,oc:Ln,rb:$n,nc:Dn,mc:Mn,lc:Bn,kc:Rn,jc:Gn,ic:On,hc:Nn,gc:jn,fc:Un,ec:Wn,dc:Hn,cc:Vn,bc:zn,ac:qn,$b:Jn,_b:Qn,Zb:Yn,Yb:ea,Xb:ta,Wb:ra,Vb:na,Ub:aa,Tb:sa,Sb:oa,Rb:ia,Qb:la,Pb:ua,Ob:ca,Nb:ha,Mb:da,vc:ma,Lb:fa,Kb:pa,Jb:ga,Ib:wa,Hb:va,Gb:ya,Fb:ba,Eb:_a,Db:Ea,Cb:xa,qb:Ca,jb:e=>{var t=p.length,r=2147483648;if((e>>>=0)>r)return!1;for(var n=1;n<=4;n*=2){var a=t*(1+.2/n);a=Math.min(a,e+100663296);var s=Math.min(r,re(Math.max(e,a),65536));if(Pa(s))return!0}return!1},H:ka,D:e=>{Nt.currentContext==e&&(Nt.currentContext=0),Nt.deleteContext(e)},x:Ia,o:e=>Nt.makeContextCurrent(e)?0:-5,C:function(e){try{var t=ue.getStreamFromFD(e);return ie.close(t),0}catch(e){if(void 0===ie||"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 o=y[t>>2],i=y[t+4>>2];t+=8;var l=ie.read(e,f,o,i,n);if(l<0)return-1;if(a+=l,l<i)break;void 0!==n&&(n+=l)}return a})(ue.getStreamFromFD(e),t,r);return y[n>>2]=a,0}catch(e){if(void 0===ie||"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=ue.getStreamFromFD(e);return ie.llseek(s,t,r),_[n>>3]=BigInt(s.position),s.getdents&&0===t&&0===r&&(s.getdents=null),0}catch(e){if(void 0===ie||"ErrnoError"!==e.name)throw e;return e.errno}},M:function(e,t,r,n){try{var a=((e,t,r,n)=>{for(var a=0,s=0;s<r;s++){var o=y[t>>2],i=y[t+4>>2];t+=8;var l=ie.write(e,f,o,i,n);if(l<0)return-1;if(a+=l,l<i)break;void 0!==n&&(n+=l)}return a})(ue.getStreamFromFD(e),t,r);return y[n>>2]=a,0}catch(e){if(void 0===ie||"ErrnoError"!==e.name)throw e;return e.errno}}},$a=await async function(){function e(e,t){var r;return $a=e.exports,m=$a.Cc,k(),Ke=$a.Fc,r=$a.Dc,A.unshift(r),R(),$a}B();var t={a:La};if(n.instantiateWasm)try{return n.instantiateWasm(t,e)}catch(e){d(`Module.instantiateWasm callback failed with error: ${e}`),r(e)}$??($=O());try{var a=await j(C,$,t);return e(a.instance)}catch(e){return r(e),Promise.reject(e)}}();$a.Dc;var Da=$a.Ec,Ma=n._malloc=$a.Gc,Ba=n._free=$a.Hc;if(n.GL=Nt,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,P||(n.noFSInit||ie.initialized||ie.init(),ie.ignorePermissions=!1,U(A),t(n),n.onRuntimeInitialized?.(),function(){if(n.postRun)for("function"==typeof n.postRun&&(n.postRun=[n.postRun]);n.postRun.length;)L(n.postRun.shift());U(S)}())}D>0?M=e:(function(){if(n.preRun)for("function"==typeof n.preRun&&(n.preRun=[n.preRun]);n.preRun.length;)F(n.preRun.shift());U(I)}(),D>0?M=e:n.setStatus?(n.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>n.setStatus(""),1),r()},1)):r())}(),a});class it{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()})}}e.PAGInit=(e={})=>ot(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})});
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 I=Object.defineProperty,P=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)}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}};T=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?P(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],T);var C=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 _(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&&C(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 F=Object.defineProperty,D=Object.getOwnPropertyDescriptor;let L=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 L.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 L(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 L(e)}};L=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?D(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&&F(t,r,a),a})([n],L);var $=Object.defineProperty,M=Object.getOwnPropertyDescriptor;let R=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 R(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 R(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 R(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}};R=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?M(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&&$(t,r,a),a})([n],R);var B=Object.defineProperty,G=Object.getOwnPropertyDescriptor;let O=class{constructor(e){if(this.videoIDs=[],this.isDestroyed=!1,this.videoReaderMap=new Map,this.wasmIns=r._videoInfoManager._Make(e),!this.wasmIns)throw new Error("create VideoReaderManager fail!");this.videoIDs=this.wasmIns._getVideoIDs(),this.wasmIns._hasTimeRangeOverlap()&&console.error("The current file contains multiple layers referencing the same video with overlapping timelines. This scenario is not supported, and the rendered result may not match expectations. It is recommended to offset the timelines of these layers.")}static HasVideo(e){return r._videoInfoManager._HasVideo(e)}static async make(e){const t=new O(e);return await t.createVideoReader(),t}async createVideoReader(){for(const e of this.videoIDs){const t=this.wasmIns._getMp4DataByID(e);null!==t&&(this.videoReaderMap.set(e,await r.VideoReader.create(t,this.wasmIns._getWidthByID(e),this.wasmIns._getHeightByID(e),this.wasmIns._getFrameRateByID(e),this.wasmIns._getStaticTimeRangesByID(e))),await(this.videoReaderMap.get(e)?.prepare(0,this.wasmIns._getPlaybackRateByID(e))))}}getVideoReaderByID(e){if(void 0!==this.videoReaderMap.get(e))return this.videoReaderMap.get(e);console.error(`get VideoReader fail!,id:${e}`)}async prepareTargetFrame(){for(const e of this.videoIDs){const t=this.wasmIns._getTargetFrameByID(e);t<0||(void 0!==this.videoReaderMap.get(e)?await(this.videoReaderMap.get(e)?.prepare(t,this.wasmIns._getPlaybackRateByID(e))):console.error("videoReader is undefined,id:",e))}}destroy(){this.wasmIns.delete();for(const e of this.videoReaderMap.keys())this.videoReaderMap.get(e)?.onDestroy();this.videoReaderMap.clear(),this.isDestroyed=!0}};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&&B(t,r,a),a})([n],O);var N=Object.defineProperty,j=Object.getOwnPropertyDescriptor;let V=class{constructor(e){this.isDestroyed=!1,this.videoReaders=[],this.pagComposition=null,this.videoReaderManager=null,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.currentPlayer=this,await this.prepareVideoFrame(),r.webAssemblyQueue.exec(async()=>{const e=await this.wasmIns._flush();return r.currentPlayer=null,e},this.wasmIns)}async flushInternal(e){r.currentPlayer=this,await this.prepareVideoFrame();const t=await r.webAssemblyQueue.exec(async()=>{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 L(e):new S(e)}setComposition(e){this.destroyVideoReaderManager(),this.pagComposition=e,this.wasmIns._setComposition(E(e))}getSurface(){const e=this.wasmIns._getSurface();if(!e)throw new Error("Get surface fail!");return new R(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.destroyVideoReaderManager(),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)}async prepareVideoFrame(){void 0===r._useSoftwareDecoder||r._useSoftwareDecoder||(null!==this.pagComposition?(null===this.videoReaderManager&&O.HasVideo(this.pagComposition?.wasmIns)&&(this.videoReaderManager=await O.make(this.pagComposition?.wasmIns),r.videoReaderManager=this.videoReaderManager),null!==this.videoReaderManager&&await this.videoReaderManager.prepareTargetFrame()):console.error("PAGComposition is null. A valid PAG file is missing."))}destroyVideoReaderManager(){null!==this.videoReaderManager&&(this.videoReaderManager.destroy(),this.videoReaderManager=null,r.videoReaderManage=null)}};V=((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],V);var W=Object.defineProperty,U=Object.getOwnPropertyDescriptor;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,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 z(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 z(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}};z=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?U(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&&W(t,r,a),a})([n],z);class H{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 X=2560,q={depth:!1,stencil:!1,antialias:!1};class J{constructor(e,t=!1){this.isDestroyed=!1,this.oldHandle=0,this.handle=e,this.externallyOwned=t}static from(e){if(e instanceof J)return new J(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,...q}),new J(s)):new J(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 K=[];class Q{constructor(e,t){this._canvas=null,this._glContext=null,this.retainCount=0,this._canvas=e;const r=e.getContext("webgl",{...q,...t});if(!r)throw new Error("Canvas context is not WebGL!");this._glContext=J.from(r)}static from(e,t){let r=K.find(t=>t.canvas===e);return r||(r=new Q(e,t),K.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 Y;try{Y=performance.now.bind(performance)}catch(e){Y=Date.now.bind(Date)}class Z{constructor(){this.startTime=Y(),this.markers={}}reset(){this.startTime=Y(),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]=Y():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=Y();return n-r}}const ee=(e,t)=>void 0!==t&&e instanceof t,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 se=/(iphone|ipad|ipod)/i.test(te);/MicroMessenger/i.test(te);const ae=/^((?!chrome|android).)*safari/i.test(te)||se,ie="function"==typeof globalThis.importScripts,oe=new Array,le=e=>ee(e,globalThis.OffscreenCanvas),ue=(e,t)=>{let r=oe.pop()||he();return null!==r&&(r.width=e,r.height=t),r},ce=e=>{oe.length<10&&oe.push(e)},he=()=>{if(ae&&!ie)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 de=Object.defineProperty,me=Object.getOwnPropertyDescriptor;let fe=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 H,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)||le(t))&&(s=t),!s)throw new Error("Canvas is not found!");const a=r.PAGPlayer.create(),i=new fe(a,s);return i.pagViewOptions={...i.pagViewOptions,...n},i.pagViewOptions.useCanvas2D?(r.globalCanvas.retain(),i.pagGlContext=J.from(r.globalCanvas.glContext)):(i.renderCanvas=Q.from(s),i.renderCanvas.retain(),i.pagGlContext=J.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=R.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 Z,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=fe.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){this.flushingNextFrame=!1,"The play() request was interrupted because the document was hidden!"!==e.message&&this.clearTimer(),console.error(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{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||le(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}needResetStartTime(){for(const e of this.player.videoReaders)if(e.isSought)return!0;return!1}updateFPS(){let e;try{e=performance.now()}catch{e=Date.now()}this.fpsBuffer=this.fpsBuffer.filter(t=>e-t<=1e3),this.fpsBuffer.push(e),this.setDebugData({FPS:this.fpsBuffer.length})}};fe=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?me(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&&de(t,r,a),a})([n],fe);const pe=["emoji"].concat(...["Arial",'"Courier New"',"Georgia",'"Times New Roman"','"Trebuchet MS"',"Verdana"]);var ge=Object.defineProperty,we=Object.getOwnPropertyDescriptor;let ve=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 ve(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(pe);for(const e of n)t.push_back(e);r._PAGFont._SetFallbackFontNames(t),t.delete()}destroy(){this.wasmIns.delete(),this.isDestroyed=!0}};ve=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?we(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&&ge(t,r,a),a})([n],ve);let ye={};const be=(e,t,r,n=!1)=>{t in ye||(ye[t]=[]),ye[t]?.push({node:e,handler:r,capture:n}),e.addEventListener(t,r,n)},_e=(e,t,r)=>{t in ye&&ye[t]?.filter(({node:t,handler:n})=>t===e&&n===r).forEach(({node:e,handler:r,capture:n})=>e.removeEventListener(t,r,n))},Ee=(e,t)=>{t in ye&&(ye[t]?.filter(({node:t})=>t===e).forEach(({node:e,handler:r,capture:n})=>e.removeEventListener(t,r,n)),ye[t]=ye[t]?.filter(({node:t})=>t!==e))},xe=navigator?.userAgent||"",Ie=/android|adr/i.test(xe),Pe=/(mobile)/i.test(xe)&&Ie;!/(mobile)/i.test(xe)&&!Pe&&/Mac OS X/i.test(xe);const Te=/(iphone|ipad|ipod)/i.test(xe),Ce=/MicroMessenger/i.test(xe),ke=/^((?!chrome|android).)*safari/i.test(xe)||Te;var Se=Object.defineProperty,Ae=Object.getOwnPropertyDescriptor;const Fe=e=>new Promise(t=>{const r=()=>{_e(e,"canplay",r),clearTimeout(n),t(!0)};be(e,"canplay",r);const n=setTimeout(()=>{_e(e,"canplay",r),t(!1)},1e3)});let De=class{constructor(e,t,n,s,a){if(this.isSought=!1,this.isPlaying=!1,this.bitmap=null,this.isDestroyed=!1,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=-1,this.targetFrame=-1,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=n,Fe(this.videoEl).then(()=>{this.canplay=!0});const r=e.slice(),s=new Blob([r],{type:"video/mp4"});this.videoEl.src=URL.createObjectURL(s),Te&&this.videoEl.load()}this.frameRate=s,this.width=t,this.height=n,this.staticTimeRanges=new Le(a),(3840<t||3840<n)&&(this.disablePlaybackRate=!0),this.linkPlayer(r.currentPlayer)}static async create(e,t,r,n,s){return new De(e,t,r,n,s)}async prepare(e,t){if(e===this.currentFrame)return;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||ke){try{await Fe(this.videoEl),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 Fe(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*1)||this.videoEl.paused)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()}getError(){return this.error}onDestroy(){this.player&&(this.player.unlinkVideoReader(this),this.player=null),Ee(this.videoEl,"playing"),Ee(this.videoEl,"timeupdate"),this.videoEl=null,this.bitmapCanvas=null,this.bitmapCtx=null,this.isDestroyed=!0}seek(e,t=!0){return new Promise((r,n)=>{if(!this.videoEl)return void n(new Error("Video element is not initialized."));const s=()=>{_e(this.videoEl,"seeked",s),clearTimeout(i),t?(this.videoEl.ended&&(this.videoEl.currentTime=this.videoEl.currentTime),this.videoEl?.play().catch(e=>{this.setError(e)})):t||this.videoEl.paused||this.videoEl?.pause(),r()},a=()=>{_e(this.videoEl,"canplay",a),this.videoEl.currentTime=e,be(this.videoEl,"seeked",s)},i=setTimeout(()=>{_e(this.videoEl,"canplay",a),_e(this.videoEl,"seeked",s),n(new Error("Seek operation timed out."))},1e3/this.frameRate*12);this.videoEl.readyState<HTMLMediaElement.HAVE_FUTURE_DATA?be(this.videoEl,"canplay",a):(this.videoEl.currentTime=e,be(this.videoEl,"seeked",s))})}setError(e){this.error=e}linkPlayer(e){this.player=e,e&&e.linkVideoReader(this)}};De=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?Ae(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&&Se(t,r,a),a})([n],De);class Le{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 $e{constructor(){this._canvas=null,this._glContext=null,this.width=X,this.height=X,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",q);if(!e)throw new Error("Canvas context is not WebGL!");this._glContext=J.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 Me=Object.defineProperty,Re=Object.getOwnPropertyDescriptor;let Be=class extends T{static make(e,t,n=0,s="",a=""){return new Be("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 ve(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()}};Be=((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],Be);var Ge=Object.defineProperty,Oe=Object.getOwnPropertyDescriptor;let Ne=class extends T{static make(e,t,n){const s=r._PAGImageLayer._Make(e,t,n);if(!s)throw new Error("Make PAGImageLayer fail!");return new Ne(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()}};Ne=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?Oe(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&&Ge(t,r,a),a})([n],Ne);var je=Object.defineProperty,Ve=Object.getOwnPropertyDescriptor;let We=class extends T{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 We(i)}solidColor(){return this.wasmIns._solidColor()}setSolidColor(e){this.wasmIns._setSolidColor(e)}};We=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?Ve(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&&je(t,r,a),a})([n],We);let Ue;class ze{constructor(e){this.bitmap=e}setBitmap(e){this.bitmap&&this.bitmap.close(),this.bitmap=e}}const He=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 Xe=Object.freeze({__proto__:null,createImage:He,createImageFromBytes:e=>{const t=new Uint8Array(e),r=new Blob([t],{type:"image/*"});return He(URL.createObjectURL(r))},readImagePixels:(e,t,r,n)=>{if(!t)return null;const s=ue(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 ce(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=>ee(e,globalThis.HTMLVideoElement)?{width:e.videoWidth,height:e.videoHeight}:{width:e.width,height:e.height},uploadToTexture:(e,t,r,n)=>{let s=t instanceof ze?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;ee(e,globalThis.ImageBitmap)?e.close():(le(t=e)||ee(t,globalThis.HTMLCanvasElement))&&ce(e)},getBytesFromPath:async(e,t)=>{const r=await fetch(t).then(e=>e.arrayBuffer());return new Uint8Array(r)},createCanvas2D:ue});var qe=(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))(qe||{}),Je=Object.defineProperty,Ke=Object.getOwnPropertyDescriptor;let Qe=class{constructor(e){this.isDestroyed=!1,this.wasmIns=e}get a(){return this.wasmIns?this.wasmIns._get(qe.a):0}set a(e){this.wasmIns?._set(qe.a,e)}get b(){return this.wasmIns?this.wasmIns._get(qe.b):0}set b(e){this.wasmIns?._set(qe.b,e)}get c(){return this.wasmIns?this.wasmIns._get(qe.c):0}set c(e){this.wasmIns?._set(qe.c,e)}get d(){return this.wasmIns?this.wasmIns._get(qe.d):0}set d(e){this.wasmIns?._set(qe.d,e)}get tx(){return this.wasmIns?this.wasmIns._get(qe.tx):0}set tx(e){this.wasmIns?._set(qe.tx,e)}get ty(){return this.wasmIns?this.wasmIns._get(qe.ty):0}set ty(e){this.wasmIns?._set(qe.ty,e)}get(e){return this.wasmIns?this.wasmIns._get(e):0}set(e,t){this.wasmIns?._set(e,t)}destroy(){this.wasmIns.delete()}};Qe=((e,t,r,n)=>{for(var s,a=n>1?void 0:n?Ke(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&&Je(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))}],Qe);const Ye=e=>{const t=new Int32Array(e.data.buffer);let r=Ze(t,e.width,e.height),n=et(t,e.width,e.height),s=tt(t,e.width,e.height),a=rt(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}},Ze=(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},et=(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},tt=(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},rt=(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},nt=class{constructor(e,t,r){this.fontBoundingBoxMap=[],this.fontName=e,this.fontStyle=t,this.size=r,this.loadCanvas()}static getLineCap(e){switch(e){case Ue.TGFXLineCap.Round:return"round";case Ue.TGFXLineCap.Square:return"square";default:return"butt"}}static getLineJoin(e){switch(e){case Ue.TGFXLineJoin.Round:return"round";case Ue.TGFXLineJoin.Bevel:return"bevel";default:return"miter"}}static setCanvas(e){nt.canvas=e}static setContext(e){nt.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===nt.hasMeasureBoundsAPI){const t=e.measureText("x");nt.hasMeasureBoundsAPI=t&&t.actualBoundingBoxAscent>0}return nt.hasMeasureBoundsAPI}fontString(e,t){const r=[];t&&r.push("italic"),e&&r.push("bold"),r.push(`${this.size}px`);const n=pe.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}=nt;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}=nt;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}=nt;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=ue(s,a),o=i.getContext("2d",{willReadFrequently:!0});o.clearRect(0,0,s,a),o.font=this.fontString(r,!1),n?(o.lineJoin=nt.getLineJoin(n.join),o.miterLimit=n.miterLimit,o.lineCap=nt.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 ce(i),0===l.length?null:new Uint8Array(l)}loadCanvas(){nt.canvas||(nt.setCanvas(ue(10,10)),nt.setContext(nt.canvas.getContext("2d",{willReadFrequently:!0})))}measureText(e,t){if(nt.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}=Ye(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=Ye(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 st=nt;st.hasMeasureBoundsAPI=void 0;class at{static readPixels(e,t,r,n){let s=ue(e,t);if(null==s)return null;let a=s.getContext("2d",{willReadFrequently:!0});a.setTransform(1,0,0,1,0,0),n===Ue.TGFXPathFillType.InverseWinding||n===Ue.TGFXPathFillType.InverseEvenOdd?(a.clip(r,n===Ue.TGFXPathFillType.InverseEvenOdd?"evenodd":"nonzero"),a.fillRect(0,0,e,t)):a.fill(r,n===Ue.TGFXPathFillType.EvenOdd?"evenodd":"nonzero");const{data:i}=a.getImageData(0,0,e,t);return ce(s),0===i.length?null:new Uint8Array(i)}}const it=e=>{(e=>{Ue=e})(e),e.module=e,e.ScalerContext=st,e.WebMask=at,e.Matrix=Qe,e.tgfx={...Xe}},ot=e=>{it(e),(e=>{r=e})(e),e.module=e,e.PAGFile=L,e.PAGPlayer=V,e.PAGView=fe,e.PAGFont=ve,e.PAGImage=z,e.PAGLayer=T,e.PAGComposition=S,e.PAGSurface=R,e.PAGTextLayer=Be,e.PAGImageLayer=Ne,e.PAGSolidLayer=We,e.VideoReader=De,e.GlobalCanvas=$e,e.BackendContext=J,e.Matrix=v,e.RenderCanvas=Q,e._useSoftwareDecoder=!1,(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._useSoftwareDecoder=!0},e.SDKVersion=function(){return e._SDKVersion()},e.isIPhone=()=>Te})(e)};var lt=Object.defineProperty,ut=(e,t,r)=>(((e,t,r)=>{t in e?lt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r})(e,"symbol"!=typeof t?t+"":t,r),r);async function ct(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),I=console.error.bind(console),P=!1,T=!1;function C(){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),I(e="Aborted("+e+")"),P=!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 F(e,t,r){if(!e)try{var n=fetch(t,{credentials:"same-origin"});return await WebAssembly.instantiateStreaming(n,r)}catch(e){I(`wasm streaming compile failed: ${e}`),I("falling back to ArrayBuffer instantiation")}return async function(e,t){try{var r=await A(e);return await WebAssembly.instantiate(r,t)}catch(e){I(`failed to asynchronously prepare wasm: ${e}`),k(e)}}(t,r)}var D=e=>{for(;e.length>0;)e.shift()(t)},L=[],$=e=>L.push(e),M=[],R=e=>M.push(e);class B{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)},V={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=V.resolve(e).slice(1),t=V.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("/")}},W=new TextDecoder,U=(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=U(e,t,r,n);return W.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?(I(z(e.output)),e.output=[]):0!=t&&e.output.push(t)},fsync(e){e.output?.length>0&&(I(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?V.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){ut(this,"name","ErrnoError"),this.errno=e}},FSStream:class{constructor(){ut(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){ut(this,"node_ops",{}),ut(this,"stream_ops",{}),ut(this,"readMode",365),ut(this,"writeMode",146),ut(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&&I(`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(!V.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=V.relative(e,a);if("."!==c.charAt(0))throw new se.ErrnoError(28);if("."!==(c=V.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(){ut(this,"lengthKnown",!1),ut(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=U(m,e,t,r);return W.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,Ie=e=>{},Pe=e=>{e.count.value-=1,0===e.count.value&&(e=>{e.smartPtr?e.smartPtrType.rawDestructor(e.smartPtr):e.ptrType.registeredClass.rawDestructor(e.ptr)})(e)},Te=e=>"undefined"==typeof FinalizationRegistry?(Te=e=>e,e):(xe=new FinalizationRegistry(e=>{Pe(e.$$)}),Ie=e=>xe.unregister(e),(Te=e=>{var t=e.$$;if(!!t.smartPtr){var r={$$:t};xe.register(e,r,e)}return e})(e)),Ce=[];function ke(){}var Se=(e,t)=>Object.defineProperty(t,"name",{value:e}),Ae={},Fe=(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}},De=(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`),Fe(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 Le(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 $e=(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},Me=e=>{if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e};function Re(e,t){if(null===t)return this.isReference&&ye(`null is not a valid ${this.name}`),0;t.$$||ye(`Cannot pass "${Me(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 $e(t.$$.ptr,r,this.registeredClass)}function Be(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 "${Me(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=$e(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,at.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 "${Me(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 $e(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]),Ve=(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},Te(Object.create(e,{$$:{value:t,writable:!0}})));function We(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?Ve(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ve(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?Ve(a.registeredClass.instancePrototype,{ptrType:a,ptr:l,smartPtrType:this,smartPtr:e}):Ve(a.registeredClass.instancePrototype,{ptrType:a,ptr:l})}function Ue(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=Be:n?(this.toWireType=Re,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`),$e(e.$$.ptr,e.$$.ptrType.registeredClass,t.registeredClass)),rt=[],nt=[0,1,,1,null,1,!0,1,!1,1],st=e=>{e>9&&0===--nt[e+1]&&(nt[e]=void 0,rt.push(e))},at={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}}}},it={name:"emscripten::val",fromWireType:e=>{var t=at.toValue(e);return st(e),t},toWireType:(e,t)=>at.toHandle(t),readValueFromPointer:ce,destructorFunction:null},ot=(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}`)}},lt=(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},it),dt=new TextDecoder("utf-16le"),mt=(e,t,r)=>{var n=e>>1,s=U(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]=at.toHandle(n)),s},_t={},Et=e=>{var t=_t[e];return void 0===t?we(e):t},xt=()=>globalThis;var It,Pt=[0,"undefined"!=typeof document?document:0,"undefined"!=typeof window?window:0],Tt=e=>{var t;return e=(t=e)>2?ae(t):t,Pt[e]||("undefined"!=typeof document?document.querySelector(e):null)},Ct=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=It[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=It=kt.currentContext?.GLctx,!(e&&!It)),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")),Ct(r).forEach(e=>{e.includes("lose_context")||e.includes("debug")||r.getExtension(e)})}}},St=e=>It.activeTexture(e),At=(e,t)=>{It.attachShader(kt.programs[e],kt.shaders[t])},Ft=(e,t,r)=>{It.bindAttribLocation(kt.programs[e],t,ae(r))},Dt=(e,t)=>{35051==e?It.currentPixelPackBufferBinding=t:35052==e&&(It.currentPixelUnpackBufferBinding=t),It.bindBuffer(e,kt.buffers[t])},Lt=(e,t,r)=>{It.bindBufferBase(e,t,kt.buffers[r])},$t=(e,t)=>{It.bindFramebuffer(e,kt.framebuffers[t])},Mt=(e,t)=>{It.bindRenderbuffer(e,kt.renderbuffers[t])},Rt=(e,t)=>{It.bindTexture(e,kt.textures[t])},Bt=e=>{It.bindVertexArray(kt.vaos[e])},Gt=Bt,Ot=Bt,Nt=Ot,jt=(e,t,r,n)=>It.blendColor(e,t,r,n),Vt=e=>It.blendEquation(e),Wt=(e,t)=>It.blendEquationSeparate(e,t),Ut=(e,t)=>It.blendFunc(e,t),zt=(e,t,r,n)=>It.blendFuncSeparate(e,t,r,n),Ht=(e,t,r,n,s,a,i,o,l,u)=>It.blitFramebuffer(e,t,r,n,s,a,i,o,l,u),Xt=(e,t,r,n)=>{kt.currentContext.version>=2?r&&t?It.bufferData(e,m,n,r,t):It.bufferData(e,t,n):It.bufferData(e,r?m.subarray(r,r+t):t,n)},qt=(e,t,r,n)=>{kt.currentContext.version>=2?r&&It.bufferSubData(e,t,m,n,r):It.bufferSubData(e,t,m.subarray(n,n+r))},Jt=e=>It.checkFramebufferStatus(e),Kt=e=>It.clear(e),Qt=(e,t,r,n)=>It.clearColor(e,t,r,n),Yt=e=>It.clearDepth(e),Zt=e=>It.clearStencil(e),er=(e,t,r,n)=>{It.colorMask(!!e,!!t,!!r,!!n)},tr=e=>{It.compileShader(kt.shaders[e])},rr=(e,t,r,n,s,a,i,o)=>{if(kt.currentContext.version>=2)return It.currentPixelUnpackBufferBinding||!i?void It.compressedTexImage2D(e,t,r,n,s,a,i,o):void It.compressedTexImage2D(e,t,r,n,s,a,m,o,i);It.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 It.currentPixelUnpackBufferBinding||!o?void It.compressedTexSubImage2D(e,t,r,n,s,a,i,o,l):void It.compressedTexSubImage2D(e,t,r,n,s,a,i,m,l,o);It.compressedTexSubImage2D(e,t,r,n,s,a,i,m.subarray(l,l+o))},sr=(e,t,r,n,s,a,i,o)=>It.copyTexSubImage2D(e,t,r,n,s,a,i,o),ar=()=>{var e=kt.getNewId(kt.programs),t=It.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]=It.createShader(e),t},or=e=>It.cullFace(e),lr=(e,t)=>{for(var r=0;r<e;r++){var n=g[t+4*r>>2],s=kt.buffers[n];s&&(It.deleteBuffer(s),s.name=0,kt.buffers[n]=null,n==It.currentPixelPackBufferBinding&&(It.currentPixelPackBufferBinding=0),n==It.currentPixelUnpackBufferBinding&&(It.currentPixelUnpackBufferBinding=0))}},ur=(e,t)=>{for(var r=0;r<e;++r){var n=g[t+4*r>>2],s=kt.framebuffers[n];s&&(It.deleteFramebuffer(s),s.name=0,kt.framebuffers[n]=null)}},cr=e=>{if(e){var t=kt.programs[e];t?(It.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&&(It.deleteRenderbuffer(s),s.name=0,kt.renderbuffers[n]=null)}},dr=e=>{if(e){var t=kt.shaders[e];t?(It.deleteShader(t),kt.shaders[e]=null):kt.recordError(1281)}},mr=e=>{if(e){var t=kt.syncs[e];t?(It.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&&(It.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];It.deleteVertexArray(kt.vaos[n]),kt.vaos[n]=null}},gr=pr,wr=pr,vr=wr,yr=e=>It.depthFunc(e),br=e=>{It.depthMask(!!e)},_r=e=>It.disable(e),Er=e=>{It.disableVertexAttribArray(e)},xr=(e,t,r)=>{It.drawArrays(e,t,r)},Ir=(e,t,r,n)=>{It.drawElements(e,t,r,n)},Pr=e=>It.enable(e),Tr=e=>{It.enableVertexAttribArray(e)},Cr=(e,t)=>{var r=It.fenceSync(e,t);if(r){var n=kt.getNewId(kt.syncs);return r.name=n,kt.syncs[n]=r,n}return 0},kr=()=>It.finish(),Sr=()=>It.flush(),Ar=(e,t,r,n)=>{It.framebufferRenderbuffer(e,t,r,kt.renderbuffers[n])},Fr=(e,t,r,n,s)=>{It.framebufferTexture2D(e,t,r,kt.textures[n],s)},Dr=e=>It.frontFace(e),Lr=(e,t)=>{kt.genObject(e,t,"createBuffer",kt.buffers)},$r=(e,t)=>{kt.genObject(e,t,"createFramebuffer",kt.framebuffers)},Mr=(e,t)=>{kt.genObject(e,t,"createRenderbuffer",kt.renderbuffers)},Rr=(e,t)=>{kt.genObject(e,t,"createTexture",kt.textures)},Br=(e,t)=>{kt.genObject(e,t,"createVertexArray",kt.vaos)},Gr=Br,Or=Br,Nr=e=>It.generateMipmap(e),jr=(e,t)=>It.getAttribLocation(kt.programs[e],ae(t)),Vr=()=>{var e=Ct(It);return e=e.concat(e.map(e=>"GL_"+e))},Wr=(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=It.getParameter(34467);n=s?s.length:0;break;case 33309:if(kt.currentContext.version<2)return void kt.recordError(1282);n=Vr().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=It.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 I(`GL_INVALID_ENUM in glGet${r}v: Unknown object returned from WebGL getParameter(${e})! (error: ${t})`)}}break;default:return kt.recordError(1280),void I(`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)},Ur=(e,t)=>Wr(e,t,4),zr=(e,t,r)=>{r?g[r>>2]=It.getBufferParameter(e,t):kt.recordError(1281)},Hr=()=>{var e=It.getError()||kt.lastError;return kt.lastError=0,e},Xr=(e,t,r,n)=>{var s=It.getFramebufferAttachmentParameter(e,t,r);(s instanceof WebGLRenderbuffer||s instanceof WebGLTexture)&&(s=0|s.name),g[n>>2]=s},qr=(e,t)=>Wr(e,t,0),Jr=(e,t,r,n,s)=>{if(n<0)kt.recordError(1281);else if(s){var a=It.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=It.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=It.getProgramInfoLog(e);null===n&&(n="(unknown error)"),g[r>>2]=n.length+1}else if(35719==t){if(!e.maxUniformLength)for(var s=It.getProgramParameter(e,35718),a=0;a<s;++a)e.maxUniformLength=Math.max(e.maxUniformLength,It.getActiveUniform(e,a).name.length+1);g[r>>2]=e.maxUniformLength}else if(35722==t){if(!e.maxAttributeLength){var i=It.getProgramParameter(e,35721);for(a=0;a<i;++a)e.maxAttributeLength=Math.max(e.maxAttributeLength,It.getActiveAttrib(e,a).name.length+1)}g[r>>2]=e.maxAttributeLength}else if(35381==t){if(!e.maxUniformBlockNameLength){var o=It.getProgramParameter(e,35382);for(a=0;a<o;++a)e.maxUniformBlockNameLength=Math.max(e.maxUniformBlockNameLength,It.getActiveUniformBlockName(e,a).length+1)}g[r>>2]=e.maxUniformBlockNameLength}else g[r>>2]=It.getProgramParameter(e,t);else kt.recordError(1281)},Yr=(e,t,r)=>{r?g[r>>2]=It.getRenderbufferParameter(e,t):kt.recordError(1281)},Zr=(e,t,r,n)=>{var s=It.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=It.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=It.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=It.getShaderSource(kt.shaders[e]),i=a?a.length+1:0;g[r>>2]=i}else g[r>>2]=It.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(Vr().join(" "));break;case 7936:case 7937:case 37445:case 37446:var r=It.getParameter(e);r||kt.recordError(1280),t=r?rn(r):0;break;case 7938:var n=It.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=It.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=Vr().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)=>It.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=It.getProgramParameter(e,35718);for(t=0;t<a;++t){var i=It.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]||It.getUniformLocation(e,t)))return n}else kt.recordError(1281);var o;return-1},un=(e,t,r)=>{r?g[r>>2]=It.getVertexAttribOffset(e,t):kt.recordError(1281)},cn=(e,t,r)=>{((e,t,r,n)=>{if(r){var s=It.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=>It.isEnabled(e),dn=e=>{var t=kt.textures[e];return t?It.isTexture(t):0},mn=e=>It.lineWidth(e),fn=e=>{e=kt.programs[e],It.linkProgram(e),e.uniformLocsById=0,e.uniformSizeAndIdsByName={}},pn=(e,t)=>{3317==e?kt.unpackAlignment=t:3314==e&&(kt.unpackRowLength=t),It.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(It.currentPixelPackBufferBinding)return void It.readPixels(e,t,r,n,s,a,i);var o=gn(a),l=wn(i,o);It.readPixels(e,t,r,n,s,a,o,l)}else{var u=vn(a,s,r,n,i);u?It.readPixels(e,t,r,n,s,a,u):kt.recordError(1280)}},bn=(e,t,r,n)=>It.renderbufferStorage(e,t,r,n),_n=(e,t,r,n,s)=>It.renderbufferStorageMultisample(e,t,r,n,s),En=(e,t,r,n)=>It.scissor(e,t,r,n),xn=(e,t,r,n)=>{var s=kt.getSource(e,t,r,n);It.shaderSource(kt.shaders[e],s)},In=(e,t,r)=>It.stencilFunc(e,t,r),Pn=(e,t,r,n)=>It.stencilFuncSeparate(e,t,r,n),Tn=e=>It.stencilMask(e),Cn=(e,t)=>It.stencilMaskSeparate(e,t),kn=(e,t,r)=>It.stencilOp(e,t,r),Sn=(e,t,r,n)=>It.stencilOpSeparate(e,t,r,n),An=(e,t,r,n,s,a,i,o,l)=>{if(kt.currentContext.version>=2){if(It.currentPixelUnpackBufferBinding)return void It.texImage2D(e,t,r,n,s,a,i,o,l);if(l){var u=gn(o),c=wn(l,u);return void It.texImage2D(e,t,r,n,s,a,i,o,u,c)}}var h=l?vn(o,i,n,s,l):null;It.texImage2D(e,t,r,n,s,a,i,o,h)},Fn=(e,t,r)=>It.texParameterf(e,t,r),Dn=(e,t,r)=>{var n=v[r>>2];It.texParameterf(e,t,n)},Ln=(e,t,r)=>It.texParameteri(e,t,r),$n=(e,t,r)=>{var n=g[r>>2];It.texParameteri(e,t,n)},Mn=(e,t,r,n,s,a,i,o,l)=>{if(kt.currentContext.version>=2){if(It.currentPixelUnpackBufferBinding)return void It.texSubImage2D(e,t,r,n,s,a,i,o,l);if(l){var u=gn(o);return void It.texSubImage2D(e,t,r,n,s,a,i,o,u,wn(l,u))}}var c=l?vn(o,i,s,a,l):null;It.texSubImage2D(e,t,r,n,s,a,i,o,c)},Rn=e=>{var t=It.currentProgram;if(t){var r=t.uniformLocsById[e];return"number"==typeof r&&(t.uniformLocsById[e]=r=It.getUniformLocation(t,t.uniformArrayNamesById[e]+(r>0?`[${r}]`:""))),r}kt.recordError(1282)},Bn=(e,t)=>{It.uniform1f(Rn(e),t)},Gn=[],On=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform1fv(Rn(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);It.uniform1fv(Rn(e),n)}},Nn=(e,t)=>{It.uniform1i(Rn(e),t)},jn=[],Vn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform1iv(Rn(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);It.uniform1iv(Rn(e),n)}},Wn=(e,t,r)=>{It.uniform2f(Rn(e),t,r)},Un=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform2fv(Rn(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);It.uniform2fv(Rn(e),n)}},zn=(e,t,r)=>{It.uniform2i(Rn(e),t,r)},Hn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform2iv(Rn(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);It.uniform2iv(Rn(e),n)}},Xn=(e,t,r,n)=>{It.uniform3f(Rn(e),t,r,n)},qn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform3fv(Rn(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);It.uniform3fv(Rn(e),n)}},Jn=(e,t,r,n)=>{It.uniform3i(Rn(e),t,r,n)},Kn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform3iv(Rn(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);It.uniform3iv(Rn(e),n)}},Qn=(e,t,r,n,s)=>{It.uniform4f(Rn(e),t,r,n,s)},Yn=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform4fv(Rn(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);It.uniform4fv(Rn(e),n)}},Zn=(e,t,r,n,s)=>{It.uniform4i(Rn(e),t,r,n,s)},es=(e,t,r)=>{if(kt.currentContext.version>=2)t&&It.uniform4iv(Rn(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);It.uniform4iv(Rn(e),n)}},ts=(e,t,r)=>{e=kt.programs[e],It.uniformBlockBinding(e,t,r)},rs=(e,t,r,n)=>{if(kt.currentContext.version>=2)t&&It.uniformMatrix2fv(Rn(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);It.uniformMatrix2fv(Rn(e),!!r,s)}},ns=(e,t,r,n)=>{if(kt.currentContext.version>=2)t&&It.uniformMatrix3fv(Rn(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);It.uniformMatrix3fv(Rn(e),!!r,s)}},ss=(e,t,r,n)=>{if(kt.currentContext.version>=2)t&&It.uniformMatrix4fv(Rn(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);It.uniformMatrix4fv(Rn(e),!!r,s)}},as=e=>{e=kt.programs[e],It.useProgram(e),It.currentProgram=e},is=(e,t)=>It.vertexAttrib1f(e,t),os=(e,t)=>{It.vertexAttrib2f(e,v[t>>2],v[t+4>>2])},ls=(e,t)=>{It.vertexAttrib3f(e,v[t>>2],v[t+4>>2],v[t+8>>2])},us=(e,t)=>{It.vertexAttrib4f(e,v[t>>2],v[t+4>>2],v[t+8>>2],v[t+12>>2])},cs=(e,t,r,n,s,a)=>{It.vertexAttribPointer(e,t,r,!!n,s,a)},hs=(e,t,r,n)=>It.viewport(e,t,r,n),ds=(e,t,r)=>{r=Number(r),It.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),C(),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=Tt(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=Te(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"),Ie(this),Pe(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"),Ce.push(this),Ce.length,this.$$.deleteScheduled=!0,this}});const t=Symbol.dispose;t&&(e[t]=e.delete)})(),Object.assign(Ue.prototype,{getPointee(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},destructor(e){this.rawDestructor?.(e)},readValueFromPointer:ce,fromWireType:We});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&&(I=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 Is,Ps={w:(e,t,r)=>{throw new B(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(""),u: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);De(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 Le(c,l,h,d,s,a,o,u);f.baseClass&&((r=f.baseClass).__derivedClasses??(r.__derivedClasses=[]),f.baseClass.__derivedClasses.push(f));var p=new Ue(c,f,!0,!1,!1),g=new Ue(c+"*",f,!1,!1,!1),w=new Ue(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):(Fe(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):(Fe(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,it),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:ot(t,r,n),destructorFunction:null}),De(t,s)},o:(e,t,r)=>{var n=lt(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),De(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 Ue(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)}})},t:(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]=lt(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:at.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:st,F:(e,t)=>(e=at.toValue(e))==(t=at.toValue(t)),x:e=>0===e?at.toHandle(xt()):(e=Et(e),at.toHandle(xt()[e])),k:e=>(e=Et(e),at.toHandle(t[e])),q:(e,t)=>(e=at.toValue(e),t=at.toValue(t),at.toHandle(e[t])),f:e=>{e>9&&(nt[e+1]+=1)},_a:(e,t)=>(e=at.toValue(e))instanceof(t=at.toValue(t)),b:(e,t,r,n,s)=>yt[e](t,r,n,s),ab:()=>at.toHandle([]),s:e=>at.toHandle(Et(e)),$a:()=>at.toHandle({}),e:e=>{var t=at.toValue(e);ue(t),st(e)},C:(e,t,r)=>{e=at.toValue(e),t=at.toValue(t),r=at.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=Tt(e);if(!n)return-4;g[t>>2]=n.width,g[r>>2]=n.height},Za:St,Ya:At,Wa:Ft,Va:Dt,uc:Lt,Ua:$t,Ta:Mt,Sa:Rt,zb:Gt,xb:Nt,Ra:jt,Qa:Vt,Ab:Wt,Pa:Ut,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:Ir,la:Pr,ka:Tr,ub:Cr,ja:kr,ia:Sr,ha:Ar,ga:Fr,fa:Dr,ea:Lr,da:$r,ba:Mr,aa:Rr,yb:Gr,vb:Or,ca:Nr,Bb:jr,W:Ur,$: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:In,kc:Pn,jc:Tn,ic:Cn,hc:kn,gc:Sn,fc:An,ec:Fn,dc:Dn,cc:Ln,bc:$n,ac:Mn,$b:Bn,_b:On,Zb:Nn,Yb:Vn,Xb:Wn,Wb:Un,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)},r: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 Is=await async function(){function e(e,r){var n;return Is=e.exports,h=Is.zc,C(),ze=Is.Cc,bs=(n=Is).Bc,t._malloc=_s=n.Dc,t._free=Es=n.Ec,Is}var r={a:Ps};return t.instantiateWasm?new Promise((n,s)=>{t.instantiateWasm(r,(t,r)=>{n(e(t))})}):(E??(E=S()),e((await F(l,E,r)).instance))}(),function e(){function r(){t.calledRun=!0,P||(T=!0,t.noFSInit||se.initialized||se.init(),Is.Ac(),se.ignorePermissions=!1,u?.(t),t.onRuntimeInitialized?.(),function(){if(t.postRun)for("function"==typeof t.postRun&&(t.postRun=[t.postRun]);t.postRun.length;)$(t.postRun.shift());D(L)}())}ee>0?te=e:(!function(){if(t.preRun)for("function"==typeof t.preRun&&(t.preRun=[t.preRun]);t.preRun.length;)R(t.preRun.shift());D(M)}(),ee>0?te=e:t.setStatus?(t.setStatus("Running..."),setTimeout(()=>{setTimeout(()=>t.setStatus(""),1),r()},1)):r())}(),T?t:new Promise((e,t)=>{u=e,c=t})}class ht{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={})=>ct(e).then(e=>(ot(e),e.webAssemblyQueue=new ht,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