UNPKG

@arcgis/core

Version:

ArcGIS Maps SDK for JavaScript: A complete 2D and 3D mapping and data visualization API

1 lines 121 kB
"use strict";(self.webpackChunkRemoteClient=self.webpackChunkRemoteClient||[]).push([[2025],{92025(A,e,t){t.d(e,{nZ:()=>qA,D7:()=>LA,zg:()=>we});const g=4294967295,n=65535,s=134695760,o=s,a=33639248,r=101075792,i=22,B=(new Date(2107,11,31),void new Date(1980,0,1)),c="undefined",l="function";let d=2;try{typeof navigator!=c&&navigator.hardwareConcurrency&&(d=navigator.hardwareConcurrency)}catch{}const E={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:d,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,CompressionStream:typeof CompressionStream!=c&&CompressionStream,DecompressionStream:typeof DecompressionStream!=c&&DecompressionStream},I=Object.assign({},E);function C(A){const{baseURI:e,chunkSize:t,maxWorkers:g,terminateWorkerTimeout:n,useCompressionStream:s,useWebWorkers:o,CompressionStream:a,DecompressionStream:r,CompressionStreamZlib:i,DecompressionStreamZlib:B,workerURI:c,wasmURI:l}=A;m("baseURI",e),m("wasmURI",l),m("workerURI",c),m("chunkSize",t),m("maxWorkers",g),m("terminateWorkerTimeout",n),m("useCompressionStream",s),m("useWebWorkers",o),m("CompressionStream",a),m("DecompressionStream",r),m("CompressionStreamZlib",i),m("DecompressionStreamZlib",B)}function m(A,e){e!==B&&(I[A]=e)}const h=[];for(let A=0;A<256;A++){let e=A;for(let A=0;A<8;A++)1&e?e=e>>>1^3988292384:e>>>=1;h[A]=e}class p{constructor(A){this.crc=A||-1}append(A){let e=0|this.crc;for(let t=0,g=0|A.length;t<g;t++)e=e>>>8^h[255&(e^A[t])];this.crc=e}get(){return~this.crc}}class u extends TransformStream{constructor(){let A;const e=new p;super({transform(A,t){e.append(A),t.enqueue(A)},flush(){const t=new Uint8Array(4);new DataView(t.buffer).setUint32(0,e.get()),A.value=t}}),A=this}}const Q={concat(A,e){if(0===A.length||0===e.length)return A.concat(e);const t=A[A.length-1],g=Q.getPartial(t);return 32===g?A.concat(e):Q._shiftRight(e,g,0|t,A.slice(0,A.length-1))},bitLength(A){const e=A.length;if(0===e)return 0;const t=A[e-1];return 32*(e-1)+Q.getPartial(t)},clamp(A,e){if(32*A.length<e)return A;const t=(A=A.slice(0,Math.ceil(e/32))).length;return e&=31,t>0&&e&&(A[t-1]=Q.partial(e,A[t-1]&2147483648>>e-1,1)),A},partial:(A,e,t)=>32===A?e:(t?0|e:e<<32-A)+1099511627776*A,getPartial:A=>Math.round(A/1099511627776)||32,_shiftRight(A,e,t,g){for(void 0===g&&(g=[]);e>=32;e-=32)g.push(t),t=0;if(0===e)return g.concat(A);for(let n=0;n<A.length;n++)g.push(t|A[n]>>>e),t=A[n]<<32-e;const n=A.length?A[A.length-1]:0,s=Q.getPartial(n);return g.push(Q.partial(e+s&31,e+s>32?t:g.pop(),1)),g}},w={bytes:{fromBits(A){const e=Q.bitLength(A)/8,t=new Uint8Array(e);let g;for(let n=0;n<e;n++)3&n||(g=A[n/4]),t[n]=g>>>24,g<<=8;return t},toBits(A){const e=[];let t,g=0;for(t=0;t<A.length;t++)g=g<<8|A[t],3&~t||(e.push(g),g=0);return 3&t&&e.push(Q.partial(8*(3&t),g)),e}}},f=class{constructor(A){const e=this;e.blockSize=512,e._init=[1732584193,4023233417,2562383102,271733878,3285377520],e._key=[1518500249,1859775393,2400959708,3395469782],A?(e._h=A._h.slice(0),e._buffer=A._buffer.slice(0),e._length=A._length):e.reset()}reset(){const A=this;return A._h=A._init.slice(0),A._buffer=[],A._length=0,A}update(A){const e=this;"string"==typeof A&&(A=w.utf8String.toBits(A));const t=e._buffer=Q.concat(e._buffer,A),g=e._length,n=e._length=g+Q.bitLength(A);if(n>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(t);let o=0;for(let A=e.blockSize+g-(e.blockSize+g&e.blockSize-1);A<=n;A+=e.blockSize)e._block(s.subarray(16*o,16*(o+1))),o+=1;return t.splice(0,16*o),e}finalize(){const A=this;let e=A._buffer;const t=A._h;e=Q.concat(e,[Q.partial(1,1)]);for(let A=e.length+2;15&A;A++)e.push(0);for(e.push(Math.floor(A._length/4294967296)),e.push(0|A._length);e.length;)A._block(e.splice(0,16));return A.reset(),t}_f(A,e,t,g){return A<=19?e&t|~e&g:A<=39?e^t^g:A<=59?e&t|e&g|t&g:A<=79?e^t^g:void 0}_S(A,e){return e<<A|e>>>32-A}_block(A){const e=this,t=e._h,g=Array(80);for(let e=0;e<16;e++)g[e]=A[e];let n=t[0],s=t[1],o=t[2],a=t[3],r=t[4];for(let A=0;A<=79;A++){A>=16&&(g[A]=e._S(1,g[A-3]^g[A-8]^g[A-14]^g[A-16]));const t=e._S(5,n)+e._f(A,s,o,a)+r+g[A]+e._key[Math.floor(A/20)]|0;r=a,a=o,o=e._S(30,s),s=n,n=t}t[0]=t[0]+n|0,t[1]=t[1]+s|0,t[2]=t[2]+o|0,t[3]=t[3]+a|0,t[4]=t[4]+r|0}},D=class{constructor(A){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const t=e._tables[0][4],g=e._tables[1],n=A.length;let s,o,a,r=1;if(4!==n&&6!==n&&8!==n)throw new Error("invalid aes key size");for(e._key=[o=A.slice(0),a=[]],s=n;s<4*n+28;s++){let A=o[s-1];(s%n===0||8===n&&s%n===4)&&(A=t[A>>>24]<<24^t[A>>16&255]<<16^t[A>>8&255]<<8^t[255&A],s%n===0&&(A=A<<8^A>>>24^r<<24,r=r<<1^283*(r>>7))),o[s]=o[s-n]^A}for(let A=0;s;A++,s--){const e=o[3&A?s:s-4];a[A]=s<=4||A<4?e:g[0][t[e>>>24]]^g[1][t[e>>16&255]]^g[2][t[e>>8&255]]^g[3][t[255&e]]}}encrypt(A){return this._crypt(A,0)}decrypt(A){return this._crypt(A,1)}_precompute(){const A=this._tables[0],e=this._tables[1],t=A[4],g=e[4],n=[],s=[];let o,a,r,i;for(let A=0;A<256;A++)s[(n[A]=A<<1^283*(A>>7))^A]=A;for(let B=o=0;!t[B];B^=a||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,t[B]=s,g[s]=B,i=n[r=n[a=n[B]]];let c=16843009*i^65537*r^257*a^16843008*B,l=257*n[s]^16843008*s;for(let t=0;t<4;t++)A[t][B]=l=l<<24^l>>>8,e[t][s]=c=c<<24^c>>>8}for(let t=0;t<5;t++)A[t]=A[t].slice(0),e[t]=e[t].slice(0)}_crypt(A,e){if(4!==A.length)throw new Error("invalid aes block size");const t=this._key[e],g=t.length/4-2,n=[0,0,0,0],s=this._tables[e],o=s[0],a=s[1],r=s[2],i=s[3],B=s[4];let c,l,d,E=A[0]^t[0],I=A[e?3:1]^t[1],C=A[2]^t[2],m=A[e?1:3]^t[3],h=4;for(let A=0;A<g;A++)c=o[E>>>24]^a[I>>16&255]^r[C>>8&255]^i[255&m]^t[h],l=o[I>>>24]^a[C>>16&255]^r[m>>8&255]^i[255&E]^t[h+1],d=o[C>>>24]^a[m>>16&255]^r[E>>8&255]^i[255&I]^t[h+2],m=o[m>>>24]^a[E>>16&255]^r[I>>8&255]^i[255&C]^t[h+3],h+=4,E=c,I=l,C=d;for(let A=0;A<4;A++)n[e?3&-A:A]=B[E>>>24]<<24^B[I>>16&255]<<16^B[C>>8&255]<<8^B[255&m]^t[h++],c=E,E=I,I=C,C=m,m=c;return n}},x={getRandomValues(A){const e=new Uint32Array(A.buffer),t=A=>{let e=987654321;const t=4294967295;return function(){return e=36969*(65535&e)+(e>>16)&t,(((e<<16)+(A=18e3*(65535&A)+(A>>16)&t)&t)/4294967296+.5)*(Math.random()>.5?1:-1)}};for(let g,n=0;n<A.length;n+=4){const A=t(4294967296*(g||Math.random()));g=987654071*A(),e[n/4]=4294967296*A()|0}return A}},v=class{constructor(A,e){this._prf=A,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(A){return this.calculate(this._prf,A,this._iv)}incWord(A){if(255&~(A>>24))A+=1<<24;else{let e=A>>16&255,t=A>>8&255,g=255&A;255===e?(e=0,255===t?(t=0,255===g?g=0:++g):++t):++e,A=0,A+=e<<16,A+=t<<8,A+=g}return A}incCounter(A){0===(A[0]=this.incWord(A[0]))&&(A[1]=this.incWord(A[1]))}calculate(A,e,t){let g;if(!(g=e.length))return[];const n=Q.bitLength(e);for(let n=0;n<g;n+=4){this.incCounter(t);const g=A.encrypt(t);e[n]^=g[0],e[n+1]^=g[1],e[n+2]^=g[2],e[n+3]^=g[3]}return Q.clamp(e,n)}},y={importKey:A=>new y.hmacSha1(w.bytes.toBits(A)),pbkdf2(A,e,t,g){if(t=t||1e4,g<0||t<0)throw new Error("invalid params to pbkdf2");const n=1+(g>>5)<<2;let s,o,a,r,i;const B=new ArrayBuffer(n),c=new DataView(B);let l=0;const d=Q;for(e=w.bytes.toBits(e),i=1;l<(n||1);i++){for(s=o=A.encrypt(d.concat(e,[i])),a=1;a<t;a++)for(o=A.encrypt(o),r=0;r<o.length;r++)s[r]^=o[r];for(a=0;l<(n||1)&&a<s.length;a++)c.setInt32(l,s[a]),l+=4}return B.slice(0,g/8)},hmacSha1:class{constructor(A){const e=this,t=e._hash=f,g=[[],[]];e._baseHash=[new t,new t];const n=e._baseHash[0].blockSize/32;A.length>n&&(A=(new t).update(A).finalize());for(let e=0;e<n;e++)g[0][e]=909522486^A[e],g[1][e]=1549556828^A[e];e._baseHash[0].update(g[0]),e._baseHash[1].update(g[1]),e._resultHash=new t(e._baseHash[0])}reset(){const A=this;A._resultHash=new A._hash(A._baseHash[0]),A._updated=!1}update(A){this._updated=!0,this._resultHash.update(A)}digest(){const A=this,e=A._resultHash.finalize(),t=new A._hash(A._baseHash[1]).update(e).finalize();return A.reset(),t}encrypt(A){if(this._updated)throw new Error("encrypt on already updated hmac called!");return this.update(A),this.digest(A)}}},Y=typeof crypto!=c&&typeof crypto.getRandomValues==l,b="Invalid password",F="Invalid signature",G="zipjs-abort-check-password";function k(A){return Y?crypto.getRandomValues(A):x.getRandomValues(A)}const S=16,M={name:"PBKDF2"},H=Object.assign({hash:{name:"HMAC"}},M),K=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},M),U=["deriveBits"],R=[8,12,16],J=[16,24,32],O=10,W=[0,0,0,0],z=typeof crypto!=c,q=z&&crypto.subtle,L=z&&typeof q!=c,j=w.bytes,T=D,N=v,V=y.hmacSha1;let X=z&&L&&typeof q.importKey==l,P=z&&L&&typeof q.deriveBits==l;class Z extends TransformStream{constructor({password:A,rawPassword:e,signed:t,encryptionStrength:g,checkPasswordOnly:n}){super({start(){Object.assign(this,{ready:new Promise(A=>this.resolveReady=A),password:eA(A,e),signed:t,strength:g-1,pending:new Uint8Array})},async transform(A,e){const t=this,{password:g,strength:s,resolveReady:o,ready:a}=t;g?(await async function(A,e,t,g){const n=await AA(A,e,t,gA(g,0,R[e])),s=gA(g,R[e]);if(n[0]!=s[0]||n[1]!=s[1])throw new Error(b)}(t,s,g,gA(A,0,R[s]+2)),A=gA(A,R[s]+2),n?e.error(new Error(G)):o()):await a;const r=new Uint8Array(A.length-O-(A.length-O)%S);e.enqueue($(t,A,r,0,O,!0))},async flush(A){const{signed:e,ctr:t,hmac:g,pending:n,ready:s}=this;if(g&&t){await s;const o=gA(n,0,n.length-O),a=gA(n,n.length-O);let r=new Uint8Array;if(o.length){const A=sA(j,o);g.update(A);const e=t.update(A);r=nA(j,e)}if(e){const A=gA(nA(j,g.digest()),0,O);for(let e=0;e<O;e++)if(A[e]!=a[e])throw new Error(F)}A.enqueue(r)}}})}}class _ extends TransformStream{constructor({password:A,rawPassword:e,encryptionStrength:t}){let g;super({start(){Object.assign(this,{ready:new Promise(A=>this.resolveReady=A),password:eA(A,e),strength:t-1,pending:new Uint8Array})},async transform(A,e){const t=this,{password:g,strength:n,resolveReady:s,ready:o}=t;let a=new Uint8Array;g?(a=await async function(A,e,t){const g=k(new Uint8Array(R[e]));return tA(g,await AA(A,e,t,g))}(t,n,g),s()):await o;const r=new Uint8Array(a.length+A.length-A.length%S);r.set(a,0),e.enqueue($(t,A,r,a.length,0))},async flush(A){const{ctr:e,hmac:t,pending:n,ready:s}=this;if(t&&e){await s;let o=new Uint8Array;if(n.length){const A=e.update(sA(j,n));t.update(A),o=nA(j,A)}g.signature=nA(j,t.digest()).slice(0,O),A.enqueue(tA(o,g.signature))}}}),g=this}}function $(A,e,t,g,n,s){const{ctr:o,hmac:a,pending:r}=A,i=e.length-n;let B;for(r.length&&(e=tA(r,e),t=function(A,e){if(e&&e>A.length){const t=A;(A=new Uint8Array(e)).set(t,0)}return A}(t,i-i%S)),B=0;B<=i-S;B+=S){const A=sA(j,gA(e,B,B+S));s&&a.update(A);const n=o.update(A);s||a.update(n),t.set(nA(j,n),B+g)}return A.pending=gA(e,B),t}async function AA(A,e,t,g){A.password=null;const n=await async function(A,e,t,g,n){if(!X)return y.importKey(e);try{return await q.importKey("raw",e,t,!1,n)}catch{return X=!1,y.importKey(e)}}(0,t,H,0,U),s=await async function(A,e,t){if(!P)return y.pbkdf2(e,A.salt,K.iterations,t);try{return await q.deriveBits(A,e,t)}catch{return P=!1,y.pbkdf2(e,A.salt,K.iterations,t)}}(Object.assign({salt:g},K),n,8*(2*J[e]+2)),o=new Uint8Array(s),a=sA(j,gA(o,0,J[e])),r=sA(j,gA(o,J[e],2*J[e])),i=gA(o,2*J[e]);return Object.assign(A,{keys:{key:a,authentication:r,passwordVerification:i},ctr:new N(new T(a),Array.from(W)),hmac:new V(r)}),i}function eA(A,e){return e===B?function(A){if(typeof TextEncoder==c){A=unescape(encodeURIComponent(A));const e=new Uint8Array(A.length);for(let t=0;t<e.length;t++)e[t]=A.charCodeAt(t);return e}return(new TextEncoder).encode(A)}(A):e}function tA(A,e){let t=A;return A.length+e.length&&(t=new Uint8Array(A.length+e.length),t.set(A,0),t.set(e,A.length)),t}function gA(A,e,t){return A.subarray(e,t)}function nA(A,e){return A.fromBits(e)}function sA(A,e){return A.toBits(e)}class oA extends TransformStream{constructor({password:A,passwordVerification:e,checkPasswordOnly:t}){super({start(){Object.assign(this,{password:A,passwordVerification:e}),BA(this,A)},transform(A,e){const g=this;if(g.password){const e=rA(g,A.subarray(0,12));if(g.password=null,e.at(-1)!=g.passwordVerification)throw new Error(b);A=A.subarray(12)}t?e.error(new Error(G)):e.enqueue(rA(g,A))}})}}class aA extends TransformStream{constructor({password:A,passwordVerification:e}){super({start(){Object.assign(this,{password:A,passwordVerification:e}),BA(this,A)},transform(A,e){const t=this;let g,n;if(t.password){t.password=null;const e=k(new Uint8Array(12));e[11]=t.passwordVerification,g=new Uint8Array(A.length+e.length),g.set(iA(t,e),0),n=12}else g=new Uint8Array(A.length),n=0;g.set(iA(t,A),n),e.enqueue(g)}})}}function rA(A,e){const t=new Uint8Array(e.length);for(let g=0;g<e.length;g++)t[g]=lA(A)^e[g],cA(A,t[g]);return t}function iA(A,e){const t=new Uint8Array(e.length);for(let g=0;g<e.length;g++)t[g]=lA(A)^e[g],cA(A,e[g]);return t}function BA(A,e){const t=[305419896,591751049,878082192];Object.assign(A,{keys:t,crcKey0:new p(t[0]),crcKey2:new p(t[2])});for(let t=0;t<e.length;t++)cA(A,e.charCodeAt(t))}function cA(A,e){let[t,g,n]=A.keys;A.crcKey0.append([e]),t=~A.crcKey0.get(),g=EA(Math.imul(EA(g+dA(t)),134775813)+1),A.crcKey2.append([g>>>24]),n=~A.crcKey2.get(),A.keys=[t,g,n]}function lA(A){const e=2|A.keys[2];return dA(Math.imul(e,1^e)>>>8)}function dA(A){return 255&A}function EA(A){return 4294967295&A}const IA="Invalid uncompressed size";class CA extends TransformStream{constructor(A,{chunkSize:e,CompressionStreamZlib:t,CompressionStream:g}){super({});const{compressed:n,encrypted:s,useCompressionStream:o,zipCrypto:a,signed:r,level:i}=A,B=this;let c,l,d=super.readable;s&&!a||!r||(c=new u,d=uA(d,c)),n&&(d=pA(d,o,{level:i,chunkSize:e},g,t,g)),s&&(a?d=uA(d,new aA(A)):(l=new _(A),d=uA(d,l))),hA(B,d,()=>{let A;s&&!a&&(A=l.signature),s&&!a||!r||(A=new DataView(c.value.buffer).getUint32(0)),B.signature=A})}}class mA extends TransformStream{constructor(A,{chunkSize:e,DecompressionStreamZlib:t,DecompressionStream:g}){super({});const{zipCrypto:n,encrypted:s,signed:o,signature:a,compressed:r,useCompressionStream:i,deflate64:B}=A;let c,l,d=super.readable;s&&(n?d=uA(d,new oA(A)):(l=new Z(A),d=uA(d,l))),r&&(d=pA(d,i,{chunkSize:e,deflate64:B},g,t,g)),s&&!n||!o||(c=new u,d=uA(d,c)),hA(this,d,()=>{if((!s||n)&&o){const A=new DataView(c.value.buffer);if(a!=A.getUint32(0,!1))throw new Error(F)}})}}function hA(A,e,t){e=uA(e,new TransformStream({flush:t})),Object.defineProperty(A,"readable",{get:()=>e})}function pA(A,e,t,g,n,s){const o=e&&g?g:n||s,a=t.deflate64?"deflate64-raw":"deflate-raw";try{A=uA(A,new o(a,t))}catch(g){if(!e)throw g;if(n)A=uA(A,new n(a,t));else{if(!s)throw g;A=uA(A,new s(a,t))}}return A}function uA(A,e){return A.pipeThrough(e)}const QA="data",wA="close",fA="inflate";class DA extends TransformStream{constructor(A,e){super({});const t=this,{codecType:g}=A;let n;g.startsWith("deflate")?n=CA:g.startsWith(fA)&&(n=mA),t.outputSize=0;let s=0;const o=new n(A,e),a=super.readable,r=new TransformStream({transform(A,e){A&&A.length&&(s+=A.length,e.enqueue(A))},flush(){Object.assign(t,{inputSize:s})}}),i=new TransformStream({transform(e,g){if(e&&e.length&&(g.enqueue(e),t.outputSize+=e.length,A.outputSize!==B&&t.outputSize>A.outputSize))throw new Error(IA)},flush(){const{signature:A}=o;Object.assign(t,{signature:A,inputSize:s})}});Object.defineProperty(t,"readable",{get:()=>a.pipeThrough(r).pipeThrough(o).pipeThrough(i)})}}class xA extends TransformStream{constructor(A){let e;super({transform:function t(g,n){if(e){const A=new Uint8Array(e.length+g.length);A.set(e),A.set(g,e.length),g=A,e=null}g.length>A?(n.enqueue(g.slice(0,A)),t(g.slice(A),n)):e=g},flush(A){e&&e.length&&A.enqueue(e)}})}}let vA,yA=()=>{};class YA{constructor(A,{readable:e,writable:t},{options:g,config:n,streamOptions:s,useWebWorkers:o,transferStreams:a,workerURI:r},i){const{signal:l}=s;return Object.assign(A,{busy:!0,readable:e.pipeThrough(new xA(n.chunkSize)).pipeThrough(new bA(s),{signal:l}),writable:t,options:Object.assign({},g),workerURI:r,transferStreams:a,terminate:()=>new Promise(e=>{const{worker:t,busy:g}=A;t?(g?A.resolveTerminated=e:(t.terminate(),e()),A.interface=null):e()}),onTaskFinished(){const{resolveTerminated:e}=A;e&&(A.resolveTerminated=null,A.terminated=!0,A.worker.terminate(),e()),A.busy=!1,i(A)}}),vA===B&&(vA=typeof Worker!=c),(o&&vA?kA:GA)(A,n)}}class bA extends TransformStream{constructor({onstart:A,onprogress:e,size:t,onend:g}){let n=0;super({async start(){A&&await FA(A,t)},async transform(A,g){n+=A.length,e&&await FA(e,n,t),g.enqueue(A)},async flush(){g&&await FA(g,n)}})}}async function FA(A,...e){try{await A(...e)}catch{}}function GA(A,e){return{run:()=>async function({options:A,readable:e,writable:t,onTaskFinished:g},n){let s;try{if(!A.useCompressionStream)try{await yA(n)}catch{A.useCompressionStream=!0}s=new DA(A,n),await e.pipeThrough(s).pipeTo(t,{preventClose:!0,preventAbort:!0});const{signature:g,inputSize:o,outputSize:a}=s;return{signature:g,inputSize:o,outputSize:a}}catch(A){throw s&&(A.outputSize=s.outputSize),A}finally{g()}}(A,e)}}function kA(A,e){const{baseURI:t,chunkSize:g}=e;let{wasmURI:n}=e;if(!A.interface){let s;typeof n==l&&(n=n());try{s=function(A,e,t){const g={type:"module"};let n,s;if(typeof A==l&&(A=A()),A.startsWith("data:")||A.startsWith("blob:"))try{s=new Worker(A)}catch{s=new Worker(A,g)}else{try{n=new URL(A,e)}catch{n=A}s=new Worker(n,g)}return s.addEventListener("message",A=>async function({data:A},e){const{type:t,value:g,messageId:n,result:s,error:o}=A,{reader:a,writer:r,resolveResult:i,rejectResult:B,onTaskFinished:c}=e;try{if(o){const{message:A,stack:e,code:t,name:g,outputSize:n}=o,s=new Error(A);Object.assign(s,{stack:e,code:t,name:g,outputSize:n}),l(s)}else{if("pull"==t){const{value:A,done:t}=await a.read();MA({type:QA,value:A,done:t,messageId:n},e)}t==QA&&(await r.ready,await r.write(new Uint8Array(g)),MA({type:"ack",messageId:n},e)),t==wA&&l(null,s)}}catch(o){MA({type:wA,messageId:n},e),l(o)}function l(A,e){A?B(A):i(e),r&&r.releaseLock(),c()}}(A,t)),s}(A.workerURI,t,A)}catch{return vA=!1,GA(A,e)}Object.assign(A,{worker:s,interface:{run:()=>async function(A,e){let t,g;const n=new Promise((A,e)=>{t=A,g=e});Object.assign(A,{reader:null,writer:null,resolveResult:t,rejectResult:g,result:n});const{readable:s,options:o}=A,{writable:a,closed:r}=function(A){let e;const t=new Promise(A=>e=A);return{writable:new WritableStream({async write(e){const t=A.getWriter();await t.ready,await t.write(e),t.releaseLock()},close(){e()},abort:e=>A.getWriter().abort(e)}),closed:t}}(A.writable),i=MA({type:"start",options:o,config:e,readable:s,writable:a},A);i||Object.assign(A,{reader:s.getReader(),writer:a.getWriter()});const B=await n;return i||await a.getWriter().close(),await r,B}(A,{chunkSize:g,wasmURI:n,baseURI:t})}})}return A.interface}let SA=!0;function MA(A,{worker:e,writer:t,onTaskFinished:g,transferStreams:n}){try{const{value:t,readable:g,writable:s}=A,o=[];if(t&&(A.value=t,o.push(A.value.buffer)),n&&SA?(g&&o.push(g),s&&o.push(s)):A.readable=A.writable=null,o.length)try{return e.postMessage(A,o),!0}catch{SA=!1,A.readable=A.writable=null,e.postMessage(A)}else e.postMessage(A)}catch(A){throw t&&t.releaseLock(),g(),A}}let HA=[];const KA=[];let UA=0;function RA(A){const{terminateTimeout:e}=A;e&&(clearTimeout(e),A.terminateTimeout=null)}const JA=65536,OA="writable";class WA{constructor(){this.size=0}init(){this.initialized=!0}}class zA extends WA{get readable(){const A=this,{chunkSize:e=JA}=A,t=new ReadableStream({start(){this.chunkOffset=0},async pull(g){const{offset:n=0,size:s,diskNumberStart:o}=t,{chunkOffset:a}=this,r=s===B?e:Math.min(e,s-a),i=await PA(A,n+a,r,o);g.enqueue(i),a+e>s||s===B&&!i.length&&r?g.close():this.chunkOffset+=e}});return t}}class qA extends zA{constructor(A){super(),Object.assign(this,{blob:A,size:A.size})}async readUint8Array(A,e){const t=this,g=A+e,n=A||g<t.size?t.blob.slice(A,g):t.blob;let s=await n.arrayBuffer();return s.byteLength>e&&(s=s.slice(A,g)),new Uint8Array(s)}}class LA extends WA{constructor(A){super();const e=new TransformStream,t=[];A&&t.push(["Content-Type",A]),Object.defineProperty(this,OA,{get:()=>e.writable}),this.blob=new Response(e.readable,{headers:t}).blob()}getData(){return this.blob}}class jA extends zA{constructor(A){super(),this.readers=A}async init(){const A=this,{readers:e}=A;A.lastDiskNumber=0,A.lastDiskOffset=0,await Promise.all(e.map(async(t,g)=>{await t.init(),g!=e.length-1&&(A.lastDiskOffset+=t.size),A.size+=t.size})),super.init()}async readUint8Array(A,e,t=0){const g=this,{readers:n}=this;let s,o=t;-1==o&&(o=n.length-1);let a=A;for(;n[o]&&a>=n[o].size;)a-=n[o].size,o++;const r=n[o];if(r){const n=r.size;if(a+e<=n)s=await PA(r,a,e);else{const o=n-a;s=new Uint8Array(e);const i=await PA(r,a,o);s.set(i,0);const B=await g.readUint8Array(A+o,e-o,t);s.set(B,o),i.length+B.length<e&&(s=s.subarray(0,i.length+B.length))}}else s=new Uint8Array;return g.lastDiskNumber=Math.max(o,g.lastDiskNumber),s}}class TA extends WA{constructor(A,e=4294967295){super();const t=this;let g,n,s;Object.assign(t,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new WritableStream({async write(e){const{availableSize:o}=t;if(s)e.length>=o?(await a(e.subarray(0,o)),await r(),t.diskOffset+=g.size,t.diskNumber++,s=null,await this.write(e.subarray(o))):await a(e);else{const{value:o,done:a}=await A.next();if(a&&!o)throw new Error("Writer iterator completed too soon");g=o,g.size=0,g.maxSize&&(t.maxSize=g.maxSize),t.availableSize=t.maxSize,await XA(g),n=o.writable,s=n.getWriter(),await this.write(e)}},async close(){await s.ready,await r()}});async function a(A){const e=A.length;e&&(await s.ready,await s.write(A),g.size+=e,t.size+=e,t.availableSize-=e)}async function r(){await s.close()}Object.defineProperty(t,OA,{get:()=>o})}}class NA{constructor(A){return Array.isArray(A)&&(A=new jA(A)),A instanceof ReadableStream&&(A={readable:A}),A}}class VA{constructor(A){return A.writable===B&&typeof A.next==l&&(A=new TA(A)),A instanceof WritableStream&&(A={writable:A}),A.size===B&&(A.size=0),A instanceof TA||Object.assign(A,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),A}}async function XA(A,e){if(!A.init||A.initialized)return Promise.resolve();await A.init(e)}function PA(A,e,t,g){return A.readUint8Array(e,t,g)}const ZA="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),_A=256==ZA.length;function $A(A,e){return e&&"cp437"==e.trim().toLowerCase()?function(A){if(_A){let e="";for(let t=0;t<A.length;t++)e+=ZA[A[t]];return e}return(new TextDecoder).decode(A)}(A):new TextDecoder(e).decode(A)}const Ae="filename",ee="rawFilename",te="comment",ge="rawComment",ne="uncompressedSize",se="compressedSize",oe="offset",ae="diskNumberStart",re="lastModDate",ie="rawLastModDate",Be="lastAccessDate",ce="creationDate",le="rawCreationDate",de=[Ae,ee,ne,se,re,ie,te,ge,Be,ce,le,oe,ae,"internalFileAttributes","externalFileAttributes","msdosAttributesRaw","msdosAttributes","msDosCompatible","zip64","encrypted","version","versionMadeBy","zipCrypto","directory","executable","compressionMethod","signature","extraField","extraFieldUnix","extraFieldInfoZip","uid","gid","unixMode","setuid","setgid","sticky","bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Ee{constructor(A){de.forEach(e=>this[e]=A[e])}}const Ie="File format is not recognized",Ce="Compression method not supported",me="Split zip file",he="utf-8",pe="cp437",ue=[[ne,g],[se,g],[oe,g],[ae,n]],Qe={[n]:{getValue:Me,bytes:4},[g]:{getValue:He,bytes:8}};class we{constructor(A,e={}){Object.assign(this,{reader:new NA(A),options:e,config:I,readRanges:[]})}async*getEntriesGenerator(A={}){const e=this;let{reader:t}=e;const{config:o}=e;if(await XA(t),t.size!==B&&t.readUint8Array||(t=new qA(await new Response(t.readable).blob()),await XA(t)),t.size<i)throw new Error(Ie);t.chunkSize=function(A){return Math.max(A.chunkSize,64)}(o);const c=await async function(A,e,t){const g=new Uint8Array(4);var n,s;n=Ke(g),s=e,n.setUint32(0,s,!0);return await o(22)||await o(Math.min(1048582,t));async function o(e){const n=t-e,s=await PA(A,n,e);for(let A=s.length-22;A>=0;A--)if(s[A]==g[0]&&s[A+1]==g[1]&&s[A+2]==g[2]&&s[A+3]==g[3])return{offset:n+A,buffer:s.slice(A,A+22).buffer}}}(t,101010256,t.size);if(!c)throw Me(Ke(await PA(t,0,4)))==s?new Error(me):new Error("End of central directory not found");const l=Ke(c);let d=Me(l,12),E=Me(l,16);const I=c.offset,C=Se(l,20),m=I+i+C;let h=Se(l,4);const p=t.lastDiskNumber||0;let u=Se(l,6),Q=Se(l,8),w=0,f=0;if(E==g||d==g||Q==n||u==n){const A=Ke(await PA(t,c.offset-20,20));if(117853008==Me(A,0)){E=He(A,8);let e=await PA(t,E,56,-1),s=Ke(e);const o=c.offset-20-56;if(Me(s,0)!=r&&E!=o){const A=E;E=o,E>A&&(w=E-A),e=await PA(t,E,56,-1),s=Ke(e)}if(Me(s,0)!=r)throw new Error("End of Zip64 central directory locator not found");h==n&&(h=Me(s,16)),u==n&&(u=Me(s,20)),Q==n&&(Q=He(s,32)),d==g&&(d=He(s,40)),E-=d}}if(E>=t.size&&(w=t.size-E-d-i,E=t.size-d-i),p!=h)throw new Error(me);if(E<0)throw new Error(Ie);let D=0,x=await PA(t,E,d,u),v=Ke(x);if(d){const A=c.offset-d;if(Me(v,D)!=a&&E!=A){const e=E;E=A,E>e&&(w+=E-e),x=await PA(t,E,d,u),v=Ke(x)}}const y=c.offset-E-(t.lastDiskOffset||0);if(d!=y&&y>=0&&(d=y,x=await PA(t,E,d,u),v=Ke(x)),E<0||E>=t.size)throw new Error(Ie);const Y=be(e,A,"filenameEncoding"),b=be(e,A,"commentEncoding");for(let g=0;g<Q;g++){const s=new fe(t,o,e.options);if(Me(v,D)!=a)throw new Error("Central directory header not found");De(s,v,D+6);const r=Boolean(s.bitFlag.languageEncodingFlag),i=D+46,c=i+s.filenameLength,l=c+s.extraFieldLength,d=Se(v,D+4),E=!(d>>8),I=d>>8==3,C=x.subarray(i,c),m=Se(v,D+32),h=l+m,p=x.subarray(l,h),u=r,y=r,F=Me(v,D+38),G=255&F,k={readOnly:Boolean(1&G),hidden:Boolean(2&G),system:Boolean(4&G),directory:Boolean(16&G),archive:Boolean(32&G)},S=Me(v,D+42)+w,M=be(e,A,"decodeText")||$A,H=u?he:Y||pe,K=y?he:b||pe;let U=M(C,H);U===B&&(U=$A(C,H));let R=M(p,K);R===B&&(R=$A(p,K)),Object.assign(s,{versionMadeBy:d,msDosCompatible:E,compressedSize:0,uncompressedSize:0,commentLength:m,offset:S,diskNumberStart:Se(v,D+34),internalFileAttributes:Se(v,D+36),externalFileAttributes:F,msdosAttributesRaw:G,msdosAttributes:k,rawFilename:C,filenameUTF8:u,commentUTF8:y,rawExtraField:x.subarray(c,l),rawComment:p,filename:U,comment:R}),f=Math.max(S,f),xe(s,s,v,D+6);const J=s.externalFileAttributes>>16&n;s.unixMode===B&&16877&J&&(s.unixMode=J);const O=Boolean(2048&s.unixMode),W=Boolean(1024&s.unixMode),z=Boolean(512&s.unixMode),q=s.unixMode!==B?!!(73&s.unixMode):I&&!!(73&J),L=s.unixMode!==B&&16384==(61440&s.unixMode),j=16384==(61440&J);Object.assign(s,{setuid:O,setgid:W,sticky:z,unixExternalUpper:J,internalFileAttribute:s.internalFileAttributes,externalFileAttribute:s.externalFileAttributes,executable:q,directory:L||j||E&&k.directory||U.endsWith("/")&&!s.uncompressedSize,zipCrypto:s.encrypted&&!s.extraFieldAES});const T=new Ee(s);T.getData=(A,t)=>s.getData(A,T,e.readRanges,t),T.arrayBuffer=async A=>{const t=new TransformStream,[g]=await Promise.all([new Response(t.readable).arrayBuffer(),s.getData(t,T,e.readRanges,A)]);return g},D=h;const{onprogress:N}=A;if(N)try{await N(g+1,Q,new Ee(s))}catch{}yield T}const F=be(e,A,"extractPrependedData"),G=be(e,A,"extractAppendedData");return F&&(e.prependedData=f>0?await PA(t,0,f):new Uint8Array),e.comment=C?await PA(t,I+i,C):new Uint8Array,G&&(e.appendedData=m<t.size?await PA(t,m,t.size-m):new Uint8Array),!0}async getEntries(A={}){const e=[];for await(const t of this.getEntriesGenerator(A))e.push(t);return e}async close(){}}class fe{constructor(A,e,t){Object.assign(this,{reader:A,config:e,options:t})}async getData(A,e,t,g={}){const n=this,{reader:s,offset:a,diskNumberStart:r,extraFieldAES:i,extraFieldZip64:c,compressionMethod:l,config:d,bitFlag:E,signature:I,rawLastModDate:C,uncompressedSize:m,compressedSize:h}=n,{dataDescriptor:p}=E,u=e.localDirectory={},Q=Ke(await PA(s,a,30,r));let w=be(n,g,"password"),f=be(n,g,"rawPassword");const D=be(n,g,"passThrough");if(w=w&&w.length&&w,f=f&&f.length&&f,i&&99!=i.originalCompressionMethod)throw new Error(Ce);if(0!=l&&8!=l&&9!=l&&!D)throw new Error(Ce);if(67324752!=Me(Q,0))throw new Error("Local file header not found");De(u,Q,4);const{extraFieldLength:x,filenameLength:v,lastAccessDate:y,creationDate:Y}=u;u.rawExtraField=x?await PA(s,a+30+v,x,r):new Uint8Array,xe(n,u,Q,4,!0),Object.assign(e,{lastAccessDate:y,creationDate:Y});const b=n.encrypted&&u.encrypted&&!D,F=b&&!i;if(D||(e.zipCrypto=F),b){if(!F&&i.strength===B)throw new Error("Encryption method not supported");if(!w&&!f)throw new Error("File contains encrypted entry")}const k=a+30+v+x,S=h,M=s.readable;Object.assign(M,{diskNumberStart:r,offset:k,size:S});const H=be(n,g,"signal"),K=be(n,g,"checkPasswordOnly");let U=be(n,g,"checkOverlappingEntry");const R=be(n,g,"checkOverlappingEntryOnly");R&&(U=!0);const{onstart:J,onprogress:O,onend:W}=g,z=9==l;let q=be(n,g,"useCompressionStream");z&&(q=!1);const L={options:{codecType:fA,password:w,rawPassword:f,zipCrypto:F,encryptionStrength:i&&i.strength,signed:be(n,g,"checkSignature")&&!D,passwordVerification:F&&(p?C>>>8&255:I>>>24&255),outputSize:D?h:m,signature:I,compressed:0!=l&&!D,encrypted:n.encrypted&&!D,useWebWorkers:be(n,g,"useWebWorkers"),useCompressionStream:q,transferStreams:be(n,g,"transferStreams"),deflate64:z,checkPasswordOnly:K},config:d,streamOptions:{signal:H,size:S,onstart:J,onprogress:O,onend:W}};let j;U&&await async function({reader:A,fileEntry:e,offset:t,diskNumberStart:g,signature:n,compressedSize:s,uncompressedSize:a,dataOffset:r,dataDescriptor:i,extraFieldZip64:B,readRanges:c}){let l=0;if(g)for(let e=0;e<g;e++)l+=A.readers[e].size;let d=0;if(i&&(d=B?20:12),d){const t=await PA(A,r+s,d+4,g);if(Me(Ke(t),0)==o){const A=Me(Ke(t),4);let g,o;B?(g=He(Ke(t),8),o=He(Ke(t),16)):(g=Me(Ke(t),8),o=Me(Ke(t),12)),(e.encrypted&&!e.zipCrypto||A==n)&&g==s&&o==a&&(d+=4)}}const E={start:l+t,end:l+r+s+d,fileEntry:e};for(const A of c)if(A.fileEntry!=e&&E.start>=A.start&&E.start<A.end){const e=new Error("Overlapping entry found");throw e.overlappingEntry=A.fileEntry,e}c.push(E)}({reader:s,fileEntry:e,offset:a,diskNumberStart:r,signature:I,compressedSize:h,uncompressedSize:m,dataOffset:k,dataDescriptor:p||u.bitFlag.dataDescriptor,extraFieldZip64:c||u.extraFieldZip64,readRanges:t});try{if(!R){K&&(A=new WritableStream),A=new VA(A),await XA(A,D?h:m),({writable:j}=A);const{outputSize:e}=await async function(A,e){const{options:t,config:g}=e,{transferStreams:n,useWebWorkers:s,useCompressionStream:o,compressed:a,signed:r,encrypted:i}=t,{workerURI:c,maxWorkers:l}=g;e.transferStreams=n||n===B;const d=!(a||r||i||e.transferStreams);return e.useWebWorkers=!d&&(s||s===B&&g.useWebWorkers),e.workerURI=e.useWebWorkers&&c?c:B,t.useCompressionStream=o||o===B&&g.useCompressionStream,(await async function(){const t=HA.find(A=>!A.busy);if(t)return RA(t),new YA(t,A,e,E);if(HA.length<l){const t={indexWorker:UA};return UA++,HA.push(t),new YA(t,A,e,E)}return new Promise(t=>KA.push({resolve:t,stream:A,workerOptions:e}))}()).run();function E(A){if(KA.length){const[{resolve:e,stream:t,workerOptions:g}]=KA.splice(0,1);e(new YA(A,t,g,E))}else A.worker?(RA(A),function(A,e){const{config:t}=e,{terminateWorkerTimeout:g}=t;Number.isFinite(g)&&g>=0&&(A.terminated?A.terminated=!1:A.terminateTimeout=setTimeout(async()=>{HA=HA.filter(e=>e!=A);try{await A.terminate()}catch{}},g))}(A,e)):HA=HA.filter(e=>e!=A)}}({readable:M,writable:j},L);if(A.size+=e,e!=(D?h:m))throw new Error(IA)}}catch(e){if(e.outputSize!==B&&(A.size+=e.outputSize),!K||e.message!=G)throw e}finally{be(n,g,"preventClose")||!j||j.locked||await j.getWriter().close()}return K||R?B:A.getData?A.getData():j}}function De(A,e,t){const g=A.rawBitFlag=Se(e,t+2),n=!(1&~g),s=Me(e,t+6);Object.assign(A,{encrypted:n,version:Se(e,t),bitFlag:{level:(6&g)>>1,dataDescriptor:!(8&~g),languageEncodingFlag:!(2048&~g)},rawLastModDate:s,lastModDate:Fe(s),filenameLength:Se(e,t+22),extraFieldLength:Se(e,t+24)})}function xe(A,e,t,g,n){const{rawExtraField:s}=e,o=e.extraField=new Map,a=Ke(new Uint8Array(s));let r=0;try{for(;r<s.length;){const A=Se(a,r),e=Se(a,r+2);o.set(A,{type:A,data:s.slice(r+4,r+4+e)}),r+=4+e}}catch{}const i=Se(t,g+4);Object.assign(e,{signature:Me(t,g+10),compressedSize:Me(t,g+14),uncompressedSize:Me(t,g+18)});const B=o.get(1);B&&(function(A,e){e.zip64=!0;const t=Ke(A.data),g=ue.filter(([A,t])=>e[A]==t);for(let n=0,s=0;n<g.length;n++){const[o,a]=g[n];if(e[o]==a){const g=Qe[a];e[o]=A[o]=g.getValue(t,s),s+=g.bytes}else if(A[o])throw new Error("Zip64 extra field not found")}}(B,e),e.extraFieldZip64=B);const c=o.get(28789);c&&(ve(c,Ae,ee,e,A),e.extraFieldUnicodePath=c);const l=o.get(25461);l&&(ve(l,te,ge,e,A),e.extraFieldUnicodeComment=l);const d=o.get(39169);d?(function(A,e,t){const g=Ke(A.data),n=ke(g,4);Object.assign(A,{vendorVersion:ke(g,0),vendorId:ke(g,2),strength:n,originalCompressionMethod:t,compressionMethod:Se(g,5)}),e.compressionMethod=A.compressionMethod}(d,e,i),e.extraFieldAES=d):e.compressionMethod=i;const E=o.get(10);E&&(function(A,e){const t=Ke(A.data);let g,n=4;try{for(;n<A.data.length&&!g;){const e=Se(t,n),s=Se(t,n+2);1==e&&(g=A.data.slice(n+4,n+4+s)),n+=4+s}}catch{}try{if(g&&24==g.length){const t=Ke(g),n=t.getBigUint64(0,!0),s=t.getBigUint64(8,!0),o=t.getBigUint64(16,!0);Object.assign(A,{rawLastModDate:n,rawLastAccessDate:s,rawCreationDate:o});const a=Ge(n),r={lastModDate:a,lastAccessDate:Ge(s),creationDate:Ge(o)};Object.assign(A,r),Object.assign(e,r)}}catch{}}(E,e),e.extraFieldNTFS=E);const I=o.get(30805);if(I)ye(I,e,!1),e.extraFieldUnix=I;else{const A=o.get(30837);A&&(ye(A,e,!0),e.extraFieldInfoZip=A)}const C=o.get(21589);C&&(function(A,e,t){const g=Ke(A.data),n=ke(g,0),s=[],o=[];t?(1&~n||(s.push(re),o.push(ie)),2&~n||(s.push(Be),o.push("rawLastAccessDate")),4&~n||(s.push(ce),o.push(le))):A.data.length>=5&&(s.push(re),o.push(ie));let a=1;s.forEach((t,n)=>{if(A.data.length>=a+4){const s=Me(g,a);e[t]=A[t]=new Date(1e3*s);const r=o[n];A[r]=s}a+=4})}(C,e,n),e.extraFieldExtendedTimestamp=C);const m=o.get(6534);m&&(e.extraFieldUSDZ=m)}function ve(A,e,t,g,n){const s=Ke(A.data),o=new p;o.append(n[t]);const a=Ke(new Uint8Array(4));a.setUint32(0,o.get(),!0);const r=Me(s,1);Object.assign(A,{version:ke(s,0),[e]:$A(A.data.subarray(5)),valid:!n.bitFlag.languageEncodingFlag&&r==Me(a,0)}),A.valid&&(g[e]=A[e],g[e+"UTF8"]=!0)}function ye(A,e,t){try{const g=Ke(new Uint8Array(A.data));let n=0;const s=ke(g,n++),o=ke(g,n++),a=A.data.subarray(n,n+o);n+=o;const r=Ye(a),i=ke(g,n++),c=A.data.subarray(n,n+i);n+=i;const l=Ye(c);let d=B;if(!t&&n+2<=A.data.length){const e=A.data;d=new DataView(e.buffer,e.byteOffset+n,2).getUint16(0,!0)}Object.assign(A,{version:s,uid:r,gid:l,unixMode:d}),r!==B&&(e.uid=r),l!==B&&(e.gid=l),d!==B&&(e.unixMode=d)}catch{}}function Ye(A){const e=new Uint8Array(4);return e.set(A,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function be(A,e,t){return e[t]===B?A.options[t]:e[t]}function Fe(A){const e=(4294901760&A)>>16,t=A&n;try{return new Date(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&t)>>11,(2016&t)>>5,2*(31&t),0)}catch{}}function Ge(A){return new Date(Number(A/BigInt(1e4)-BigInt(116444736e5)))}function ke(A,e){return A.getUint8(e)}function Se(A,e){return A.getUint16(e,!0)}function Me(A,e){return A.getUint32(e,!0)}function He(A,e){return Number(A.getBigUint64(e,!0))}function Ke(A){return new DataView(A.buffer)}new Uint8Array([7,0,2,0,65,69,3,0,0]);try{C({baseURI:"file:///__w/arcgis-js-api/arcgis-js-api/node_modules/.pnpm/@zip.js+zip.js@2.8.16/node_modules/@zip.js/zip.js/lib/zip-core-base.js"})}catch{}const Ue="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";let Re,Je,Oe,We;function ze(A,e,t={}){const g="number"==typeof t.level?t.level:-1,n="number"==typeof t.outBuffer?t.outBuffer:65536,s="number"==typeof t.inBufferSize?t.inBufferSize:65536;return new TransformStream({start(){let t;if(this.out=Je(n),this.in=Je(s),this.inBufferSize=s,this._scratch=new Uint8Array(n),A?(this._process=Re.deflate_process,this._last_consumed=Re.deflate_last_consumed,this._end=Re.deflate_end,this.streamHandle=Re.deflate_new(),t="gzip"===e?Re.deflate_init_gzip(this.streamHandle,g):"deflate-raw"===e?Re.deflate_init_raw(this.streamHandle,g):Re.deflate_init(this.streamHandle,g)):"deflate64-raw"===e?(this._process=Re.inflate9_process,this._last_consumed=Re.inflate9_last_consumed,this._end=Re.inflate9_end,this.streamHandle=Re.inflate9_new(),t=Re.inflate9_init_raw(this.streamHandle)):(this._process=Re.inflate_process,this._last_consumed=Re.inflate_last_consumed,this._end=Re.inflate_end,this.streamHandle=Re.inflate_new(),t="deflate-raw"===e?Re.inflate_init_raw(this.streamHandle):"gzip"===e?Re.inflate_init_gzip(this.streamHandle):Re.inflate_init(this.streamHandle)),0!==t)throw new Error("init failed:"+t)},transform(e,t){try{const g=e,s=new Uint8Array(We.buffer),o=this._process,a=this._last_consumed,r=this.out,i=this._scratch;let B=0;for(;B<g.length;){const e=Math.min(g.length-B,32768);(!this.in||this.inBufferSize<e)&&(this.in&&Oe&&Oe(this.in),this.in=Je(e),this.inBufferSize=e),s.set(g.subarray(B,B+e),this.in);const c=o(this.streamHandle,this.in,e,r,n,0),l=16777215&c;if(l&&(i.set(s.subarray(r,r+l),0),t.enqueue(i.slice(0,l))),!A){const A=c>>24&255,e=128&A?A-256:A;if(e<0)throw new Error("process error:"+e)}const d=a(this.streamHandle);if(0===d)break;B+=d}}catch(A){this._end&&this.streamHandle&&this._end(this.streamHandle),this.in&&Oe&&Oe(this.in),this.out&&Oe&&Oe(this.out),t.error(A)}},flush(e){try{const t=new Uint8Array(We.buffer),g=this._process,s=this.out,o=this._scratch;for(;;){const a=g(this.streamHandle,0,0,s,n,4),r=16777215&a,i=a>>24&255;if(!A){const A=128&i?i-256:i;if(A<0)throw new Error("process error:"+A)}if(r&&(o.set(t.subarray(s,s+r),0),e.enqueue(o.slice(0,r))),1===i||0===r)break}}catch(A){e.error(A)}finally{if(this._end&&this.streamHandle){const A=this._end(this.streamHandle);0!==A&&e.error(new Error("end error:"+A))}this.in&&Oe&&Oe(this.in),this.out&&Oe&&Oe(this.out)}}})}let qe,Le=!1;!function(A){let e;A({wasmURI:()=>(e||(e="data:application/wasm;base64,"+(A=>{A=(A=>{const e=(A=(A+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,t=[];for(let g=0;e>g;g+=4){const e=Ue.indexOf(A[g])<<18|Ue.indexOf(A[g+1])<<12|(63&Ue.indexOf(A[g+2]))<<6|63&Ue.indexOf(A[g+3]);t.push(e>>16&255),"="!==A[g+2]&&t.push(e>>8&255),"="!==A[g+3]&&t.push(255&e)}return new Uint8Array(t)})(A);let e=new Uint8Array(1024),t=0;for(let n=0;n<A.length;){const s=A[n++];if(128&s){const o=3+(127&s),a=A[n++]<<8|A[n++],r=t-a;g(t+o);for(let A=0;o>A;A++)e[t++]=e[r+A]}else{const o=s;g(t+o);for(let g=0;o>g&&n<A.length;g++)e[t++]=A[n++]}}return(A=>{let e="";const t=A.length;let g=0;for(;t>g+2;g+=3){const t=A[g]<<16|A[g+1]<<8|A[g+2];e+=Ue[t>>18&63]+Ue[t>>12&63]+Ue[t>>6&63]+Ue[63&t]}const n=t-g;if(1===n){const t=A[g]<<16;e+=Ue[t>>18&63]+Ue[t>>12&63]+"=="}else if(2===n){const t=A[g]<<16|A[g+1]<<8;e+=Ue[t>>18&63]+Ue[t>>12&63]+Ue[t>>6&63]+"="}return e})(new Uint8Array(e.buffer.slice(0,t)));function g(A){if(e.length<A){let g=2*e.length;for(;A>g;)g*=2;const n=new Uint8Array(g);n.set(e.subarray(0,t)),e=n}}})("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