@zip.js/zip.js 2.13.1 → 2.14.1
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/BENCHMARKS.md +349 -416
- package/deno.json +1 -1
- package/dist/zip-core-external.js +761 -945
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +626 -911
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +768 -948
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +633 -914
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +768 -948
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +635 -916
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +771 -951
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +628 -913
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-module.wasm +0 -0
- package/dist/zip-native.js +628 -913
- package/dist/zip-native.min.js +1 -1
- package/dist/zip-web-worker-native.js +1 -1
- package/dist/zip-web-worker.js +1 -1
- package/dist/zip.js +764 -948
- package/dist/zip.min.js +1 -1
- package/index-native.cjs +635 -916
- package/index-native.min.js +1 -1
- package/index.cjs +771 -951
- package/index.d.cts +52 -12
- package/index.d.ts +52 -12
- package/index.min.js +1 -1
- package/lib/core/codec-worker.js +37 -26
- package/lib/core/io.js +29 -21
- package/lib/core/streams/aes-crypto-stream.js +58 -99
- package/lib/core/streams/codecs/aes-hmac-sha1.js +486 -0
- package/lib/core/streams/zlib-wasm/aes-hmac-sha1-wasm.js +106 -0
- package/lib/core/streams/zlib-wasm/zlib-streams-loader.js +4 -0
- package/lib/core/streams/zlib-wasm/zlib-streams.js +2 -7
- package/lib/core/streams/zlib-wasm/zlib-streams.wasm +0 -0
- package/lib/core/version.js +1 -1
- package/lib/core/web-worker-base.js +15 -9
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/web-worker-wasm.js +2 -0
- package/lib/core/zip-fs.js +7 -3
- package/lib/core/zip-reader.js +53 -6
- package/lib/core/zip-writer.js +1 -2
- package/lib/core/zlib-streams-inline.js +1 -1
- package/lib/zip-module-wasm-base.js +3 -1
- package/package.json +1 -1
- package/lib/core/streams/codecs/sjcl.js +0 -795
|
@@ -1 +1 @@
|
|
|
1
|
-
const t=4294967295,e=65535,r=255,n=67324752,o=134695760,a=o,i=84233040,s=33639248,c=101010256,l=101075792,u=117853008,f=46,d=22,w=20,p=56,m=39169,h=21589,y=6534,E=30837,b=30805,S=2048,g=61440,A=16384,R=2048,D=1024,x="/",F=30,z=new Date(2107,11,31,23,59,58),T=new Date(1980,0,1),I=void 0,O=1/0,U="undefined",k="function",C="object",M="string",N="boolean",v=new Uint8Array,_=Symbol.asyncDispose||Symbol(),L="password",B="rawPassword",j="passThrough",P="signal",W="useWebWorkers",V="useCompressionStream",Z="transferStreams",H="preventClose",G="level",K="useUnicodeFileNames",Y="dataDescriptor",q="offset",X="usdz",J="maxAppendedDataSize",Q="entry",$="filename",tt="comment",et="strict",rt="balanced",nt="tolerant",ot="compressed",at="Invalid option (must be a function)",it="Invalid signal (must be an AbortSignal instance)",st="Invalid password (password must be a string, rawPassword must be a Uint8Array)",ct="Invalid passThrough option (must be a boolean or 'compressed')",lt="The operation was aborted";function ut(t){if(t&&typeof t!=k)throw new Error(at);return t}function ft(t){if(t&&(typeof t.addEventListener!=k||typeof t.aborted!=N))throw new Error(it);return t||I}function dt(t){if(t&&t.aborted)throw t.reason===I?new DOMException(lt,"AbortError"):t.reason}function wt(t,e){if(t&&typeof t!=M||e&&!(e instanceof Uint8Array))throw new Error(st)}function pt(t){if(t!==I&&typeof t!=N&&t!==ot)throw new Error(ct);return t}function mt(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw new Error(r)}function ht(t,e,r){t!==I&&mt(t,e,r)}function yt(t){return typeof t==M&&t.trim()?Number(t):t}const Et="Invalid maxWorkers (must be an integer greater than 0)",bt="Invalid baseURI (must be a string)",St="Invalid URI (must be a string or a function returning a string)";let gt=2;try{typeof navigator!=U&&navigator.hardwareConcurrency&&(gt=navigator.hardwareConcurrency)}catch{}const At={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:gt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=U&&CompressionStream,DecompressionStream:typeof DecompressionStream!=U&&DecompressionStream},Rt="maxWorkers",Dt="baseURI",xt=["wasmURI","workerURI"],Ft=["chunkSize",Rt,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],zt=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Tt=[Dt,...xt,"useCompressionStream","useWebWorkers","transferStreams",...Ft,...zt],It={...At};function Ot(){return It}function Ut(t){return kt(t.chunkSize)}function kt(t){return t=yt(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function Ct(t){Object.assign(It,Mt(vt(t)))}function Mt(t){const e={};for(const r of Tt){const n=t[r];n!==I&&(e[r]=Nt(r,n))}return e}function Nt(t,e){if(Ft.includes(t)){if(e=yt(e),t==Rt&&(!Number.isInteger(e)||e<1))throw new Error(Et)}else if(zt.includes(t))ut(e);else if(t==Dt){if(e&&typeof e!=M)throw new Error(bt)}else if(xt.includes(t)&&e&&typeof e!=M&&typeof e!=k)throw new Error(St);return e}function vt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===I&&r===I)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===I&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===I&&(n.DecompressionStreamFallback=r),n}function _t(t){const e=Mt(vt(t));Object.assign(At,e),Object.assign(It,e)}function Lt(){for(const t of Tt)delete It[t];Object.assign(It,At)}function Bt(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function jt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function Pt(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Wt(t){return Boolean(t)&&"object"==typeof t}const Vt=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;Vt[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const r=Vt[e-1][t];Vt[e][t]=r>>>8^Vt[0][255&r]}const[Zt,Ht,Gt,Kt,Yt,qt,Xt,Jt]=Vt;class Qt{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const o=new DataView(t.buffer,t.byteOffset,r),a=r-8;for(;n<=a;n+=8){const t=e^o.getInt32(n,!0),r=o.getInt32(n+4,!0);e=Jt[255&t]^Xt[t>>>8&255]^qt[t>>>16&255]^Yt[t>>>24&255]^Kt[255&r]^Gt[r>>>8&255]^Ht[r>>>16&255]^Zt[r>>>24&255]}}for(;n<r;n++)e=e>>>8^Zt[255&(e^t[n])];this.o=e}get(){return~this.o}}class $t extends TransformStream{constructor(){let t;const e=new Qt;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function te(t){if(typeof TextEncoder==U){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const ee={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=ee.l(r);return 32===n?t.concat(e):ee.m(e,n,0|r,t.slice(0,t.length-1))},bitLength(t){const e=t.length;if(0===e)return 0;const r=t[e-1];return 32*(e-1)+ee.l(r)},h(t,e){if(32*t.length<e)return t;const r=(t=t.slice(0,Math.ceil(e/32))).length;return e&=31,r>0&&e&&(t[r-1]=ee.S(e,t[r-1]&2147483648>>e-1,1)),t},S:(t,e,r)=>32===t?e:(r?0|e:e<<32-t)+1099511627776*t,l:t=>Math.round(t/1099511627776)||32,m(t,e,r,n){for(void 0===n&&(n=[]);e>=32;e-=32)n.push(r),r=0;if(0===e)return n.concat(t);for(let o=0;o<t.length;o++)n.push(r|t[o]>>>e),r=t[o]<<32-e;const o=t.length?t[t.length-1]:0,a=ee.l(o);return n.push(ee.S(e+a&31,e+a>32?r:n.pop(),1)),n}},re={bytes:{A(t){const e=ee.bitLength(t)/8,r=new Uint8Array(e);let n;for(let o=0;o<e;o++)3&o||(n=t[o/4]),r[o]=n>>>24,n<<=8;return r},R(t){const e=[];let r,n=0;for(r=0;r<t.length;r++)n=n<<8|t[r],3&~r||(e.push(n),n=0);return 3&r&&e.push(ee.S(8*(3&r),n)),e}}},ne=class{constructor(t){const e=this;e.blockSize=512,e.D=[1732584193,4023233417,2562383102,271733878,3285377520],e.F=[1518500249,1859775393,2400959708,3395469782],t?(e.T=t.T.slice(0),e.I=t.I.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.T=t.D.slice(0),t.I=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=re.U.R(t));const r=e.I=ee.concat(e.I,t),n=e.O,o=e.O=n+ee.bitLength(t);if(o>9007199254740991)throw new Error("Cannot hash more than 2^53 - 1 bits");const a=new Uint32Array(r);let i=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);t<=o;t+=e.blockSize)e.C(a.subarray(16*i,16*(i+1))),i+=1;return r.splice(0,16*i),e}M(){const t=this;let e=t.I;const r=t.T;e=ee.concat(e,[ee.S(1,1)]);for(let t=e.length+2;15&t;t++)e.push(0);for(e.push(Math.floor(t.O/4294967296)),e.push(0|t.O);e.length;)t.C(e.splice(0,16));return t.reset(),r}N(t,e,r,n){return t<=19?e&r|~e&n:t<=39?e^r^n:t<=59?e&r|e&n|r&n:t<=79?e^r^n:void 0}v(t,e){return e<<t|e>>>32-t}C(t){const e=this,r=e.T,n=Array(80);for(let e=0;e<16;e++)n[e]=t[e];let o=r[0],a=r[1],i=r[2],s=r[3],c=r[4];for(let t=0;t<=79;t++){t>=16&&(n[t]=e.v(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.v(5,o)+e.N(t,a,i,s)+c+n[t]+e.F[Math.floor(t/20)]|0;c=s,s=i,i=e.v(30,a),a=o,o=r}r[0]=r[0]+o|0,r[1]=r[1]+a|0,r[2]=r[2]+i|0,r[3]=r[3]+s|0,r[4]=r[4]+c|0}},oe={importKey:t=>new oe._(re.bytes.R(t)),L(t,e,r,n){if(r=r||1e4,n<0||r<0)throw new Error("invalid params to pbkdf2");const o=1+(n>>5)<<2;let a,i,s,c,l;const u=new ArrayBuffer(o),f=new DataView(u);let d=0;const w=ee;for(e=re.bytes.R(e),l=1;d<(o||1);l++){for(a=i=t.encrypt(w.concat(e,[l])),s=1;s<r;s++)for(i=t.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(s=0;d<(o||1)&&s<a.length;s++)f.setInt32(d,a[s]),d+=4}return u.slice(0,n/8)},_:class{constructor(t){const e=this,r=e.B=ne,n=[[],[]];e.j=[new r,new r];const o=e.j[0].blockSize/32;t.length>o&&(t=(new r).update(t).M());for(let e=0;e<o;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.j[0].update(n[0]),e.j[1].update(n[1]),e.P=new r(e.j[0])}reset(){const t=this;t.P=new t.B(t.j[0]),t.W=!1}update(t){this.W=!0,this.P.update(t)}digest(){const t=this,e=t.P.M(),r=new t.B(t.j[1]).update(e).M();return t.reset(),r}encrypt(t){if(this.W)throw new Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},ae=typeof crypto!=U&&typeof crypto.getRandomValues==k,ie="Invalid password",se="Invalid authentication code",ce="zipjs-abort-check-password",le="Crypto API not supported";function ue(t){if(ae)return crypto.getRandomValues(t);throw new Error(le)}const fe=16,de={name:"PBKDF2"},we=Object.assign({hash:{name:"HMAC"}},de),pe=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},de),me=["deriveBits"],he=[8,12,16],ye=[16,24,32],Ee=10,be=[0,0,0,0],Se=typeof crypto!=U,ge=Se&&crypto.subtle,Ae=Se&&typeof ge!=U,Re=re.bytes,De=class{constructor(t){const e=this;e.V=[[[],[],[],[],[]],[[],[],[],[],[]]],e.V[0][0][0]||e.Z();const r=e.V[0][4],n=e.V[1],o=t.length;let a,i,s,c=1;if(4!==o&&6!==o&&8!==o)throw new Error("invalid aes key size");for(e.F=[i=t.slice(0),s=[]],a=o;a<4*o+28;a++){let t=i[a-1];(a%o===0||8===o&&a%o===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],a%o===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-o]^t}for(let t=0;a;t++,a--){const e=i[3&t?a:a-4];s[t]=a<=4||t<4?e:n[0][r[e>>>24]]^n[1][r[e>>16&255]]^n[2][r[e>>8&255]]^n[3][r[255&e]]}}encrypt(t){return this.H(t,0)}decrypt(t){return this.H(t,1)}Z(){const t=this.V[0],e=this.V[1],r=t[4],n=e[4],o=[],a=[];let i,s,c,l;for(let t=0;t<256;t++)a[(o[t]=t<<1^283*(t>>7))^t]=t;for(let u=i=0;!r[u];u^=s||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,r[u]=a,n[a]=u,l=o[c=o[s=o[u]]];let f=16843009*l^65537*c^257*s^16843008*u,d=257*o[a]^16843008*a;for(let r=0;r<4;r++)t[r][u]=d=d<<24^d>>>8,e[r][a]=f=f<<24^f>>>8}for(let r=0;r<5;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw new Error("invalid aes block size");const r=this.F[e],n=r.length/4-2,o=[0,0,0,0],a=this.V[e],i=a[0],s=a[1],c=a[2],l=a[3],u=a[4];let f,d,w,p=t[0]^r[0],m=t[e?3:1]^r[1],h=t[2]^r[2],y=t[e?1:3]^r[3],E=4;for(let t=0;t<n;t++)f=i[p>>>24]^s[m>>16&255]^c[h>>8&255]^l[255&y]^r[E],d=i[m>>>24]^s[h>>16&255]^c[y>>8&255]^l[255&p]^r[E+1],w=i[h>>>24]^s[y>>16&255]^c[p>>8&255]^l[255&m]^r[E+2],y=i[y>>>24]^s[p>>16&255]^c[m>>8&255]^l[255&h]^r[E+3],E+=4,p=f,m=d,h=w;for(let t=0;t<4;t++)o[e?3&-t:t]=u[p>>>24]<<24^u[m>>16&255]<<16^u[h>>8&255]<<8^u[255&y]^r[E++],f=p,p=m,m=h,h=y,y=f;return o}},xe=class{constructor(t,e){this.G=t,this.K=e,this.Y=e}reset(){this.Y=this.K}update(t){return this.X(this.G,t,this.Y)}J(t){if(255&~(t>>24))t+=1<<24;else{let e=t>>16&255,r=t>>8&255,n=255&t;255===e?(e=0,255===r?(r=0,255===n?n=0:++n):++r):++e,t=0,t+=e<<16,t+=r<<8,t+=n}return t}$(t){0===(t[0]=this.J(t[0]))&&(t[1]=this.J(t[1]))}X(t,e,r){let n;if(!(n=e.length))return[];const o=ee.bitLength(e);for(let o=0;o<n;o+=4){this.$(r);const n=t.encrypt(r);e[o]^=n[0],e[o+1]^=n[1],e[o+2]^=n[2],e[o+3]^=n[3]}return ee.h(e,o)}},Fe=oe._;let ze=Se&&Ae&&typeof ge.importKey==k,Te=Se&&Ae&&typeof ge.deriveBits==k;class Ie extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:o=!0}){super({start(){Ue(this,t,e,r)},async transform(t,e){const r=this,{password:o,strength:a,et:i,ready:s}=r;o?(await async function(t,e,r,n){const o=await Ce(t,e,r,Ne(n,0,he[e])),a=Ne(n,he[e]);if(o[0]!=a[0]||o[1]!=a[1])throw new Error(ie)}(r,a,o,Ne(t,0,he[a]+2)),t=Ne(t,he[a]+2),n?e.error(new Error(ce)):i()):await s;const c=new Uint8Array(t.length-Ee-(t.length-Ee)%fe);e.enqueue(ke(r,t,c,0,Ee,!0))},async flush(t){const{nt:e,ot:r,it:n,ready:a}=this;if(r&&e){await a;const i=Ne(n,0,n.length-Ee),s=Ne(n,n.length-Ee);let c=v;if(i.length){const t=_e(Re,i);r.update(t);const n=e.update(t);c=ve(Re,n)}const l=Ne(ve(Re,r.digest()),0,Ee);let u=n.length<Ee?1:0;for(let t=0;t<Ee;t++)u|=l[t]^s[t];if(u&&o)throw new Error(se);t.enqueue(c)}}})}}class Oe extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){Ue(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:o,et:a,ready:i}=r;let s=v;n?(s=await async function(t,e,r){const n=ue(new Uint8Array(he[e]));return Bt(n,await Ce(t,e,r,n))}(r,o,n),a()):await i;const c=new Uint8Array(s.length+t.length-t.length%fe);c.set(s,0),e.enqueue(ke(r,t,c,s.length,0))},async flush(t){const{nt:e,ot:r,it:n,ready:o}=this;if(r&&e){await o;let a=v;if(n.length){const t=e.update(_e(Re,n));r.update(t),a=ve(Re,t)}const i=ve(Re,r.digest()).slice(0,Ee);t.enqueue(Bt(a,i))}}})}}function Ue(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:Me(e,r),strength:n-1,it:v})}function ke(t,e,r,n,o,a){const{nt:i,ot:s,it:c}=t;c.length&&(e=Bt(c,e));const l=e.length-o;let u;for(r=function(t,e){if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t}(r,n+(l-l%fe)),u=0;u<=l-fe;u+=fe){const t=_e(Re,Ne(e,u,u+fe));a&&s.update(t);const o=i.update(t);a||s.update(o),r.set(ve(Re,o),u+n)}return t.it=Ne(e,u),r}async function Ce(t,e,r,n){t.password=null;const o=await async function(t,e,r,n,o){if(!ze)return oe.importKey(e);try{return await ge.importKey("raw",e,r,!1,o)}catch{return ze=!1,oe.importKey(e)}}(0,r,we,0,me),a=await async function(t,e,r){if(!Te)return oe.L(e,t.salt,pe.iterations,r);try{return await ge.deriveBits(t,e,r)}catch{return Te=!1,oe.L(e,t.salt,pe.iterations,r)}}(Object.assign({salt:n},pe),o,8*(2*ye[e]+2)),i=new Uint8Array(a),s=_e(Re,Ne(i,0,ye[e])),c=_e(Re,Ne(i,ye[e],2*ye[e])),l=Ne(i,2*ye[e]);return Object.assign(t,{keys:{key:s,st:c,passwordVerification:l},nt:new xe(new De(s),Array.from(be)),ot:new Fe(c)}),l}function Me(t,e){return e===I?te(t):e}function Ne(t,e,r){return t.subarray(e,r)}function ve(t,e){return t.A(e)}function _e(t,e){return t.R(e)}class Le extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){je(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Pe(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw new Error(ie);t=t.subarray(12)}n?e.error(new Error(ce)):e.enqueue(Pe(r,t))}})}}class Be extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){je(this,t,e,r)},transform(t,e){const r=this;let n,o;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=ue(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(We(r,e),0),o=12}else n=new Uint8Array(t.length),o=0;n.set(We(r,t),o),e.enqueue(n)}})}}function je(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),function(t,e,r){const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,ct:new Qt(n[0]),lt:new Qt(n[2])}),r)for(let e=0;e<r.length;e++)Ve(t,r[e]);else for(let r=0;r<e.length;r++)Ve(t,e.charCodeAt(r))}(t,e,r)}function Pe(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ze(t)^e[n],Ve(t,r[n]);return r}function We(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=Ze(t)^e[n],Ve(t,e[n]);return r}function Ve(t,e){let[,r]=t.keys;t.ct.append([e]);const n=~t.ct.get();r=Ge(Math.imul(Ge(r+He(n)),134775813)+1),t.lt.append([r>>>24]);const o=~t.lt.get();t.keys=[n,r,o]}function Ze(t){const e=2|t.keys[2];return He(Math.imul(e,1^e)>>>8)}function He(t){return 255&t}function Ge(t){return 4294967295&t}function Ke(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function Ye(t,e){t=Ke(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=k||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function qe(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const Xe="Invalid codec definition",Je="Reserved compression method",Qe="Invalid codec module",$e="Compression method not supported",tr=[0,8,9,99],er=new Map,rr=new Map;function nr(t={}){const{compressionMethod:r,format:n,codecURI:o,CompressionStream:a,DecompressionStream:i,versionNeeded:s}=t;if(!Number.isInteger(r)||r<0||r>e||typeof n!=M||!n.length)throw new Error(Xe);if(tr.includes(r))throw new Error(Je);const c=typeof a==k||typeof i==k;if(!(c||typeof o==M&&o.length))throw new Error(Xe);er.set(r,{compressionMethod:r,format:n,codecURI:o,versionNeeded:s}),c&&cr(n,{CompressionStream:a,DecompressionStream:i})}function or(t){const e=er.get(t);if(e){let r;er.delete(t),er.forEach(t=>r=r||t.format==e.format),r||rr.delete(e.format)}}function ar(t){return er.get(t)}function ir(){return Array.from(er.values(),t=>Object.assign({},t,rr.get(t.format)))}function sr(t){return rr.get(t)}function cr(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=k&&typeof n!=k)throw new Error(Qe);rr.set(t,{CompressionStream:r,DecompressionStream:n})}const lr="Invalid uncompressed size",ur="Invalid compressed data",fr="Invalid CRC32",dr="deflate-raw",wr="deflate64-raw",pr="gzip",mr=[31,139,8];class hr extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:o,encrypted:a,useCompressionStream:i,zipCrypto:s,computeCrc32:c,level:l,deflate64:u,format:f,compressionMethod:d,inputSize:w}=t,p=this;let m,h,y,E=super.readable;const b=f&&sr(f),S=c&&o&&!u&&!b&&(!a||s)&&Boolean(i&&n);if(a&&!s||!c||S||(m=new $t,E=xr(E,m)),o)if(b)E=Fr(E,Rr(b.CompressionStream,f,{level:l,chunkSize:e,compressionMethod:d,uncompressedSize:w}));else if(S)y=new yr,E=Fr(E,new n(pr)),E=xr(E,y);else try{E=Dr(E,i,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(pr)}catch{throw t}E=Fr(E,e),E=xr(E,new yr)}a&&(s?E=xr(E,new Be(t)):(h=new Oe(t),E=xr(E,h))),Ar(p,E,()=>{a&&!s||!c||(p.crc32=S?y.crc32:new DataView(m.value.buffer).getUint32(0))})}}class yr extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const o=r.length+t.length;if(o<=8)return void(r=Bt(r,t));const a=o-8,i=Math.min(a,r.length);n.enqueue(Bt(r.subarray(0,i),t.subarray(0,a-i))),r=Bt(r.subarray(i),t.subarray(a-i))},flush(){const e=Pt(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Er extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:o,encrypted:a,checkCrc32:i,crc32:s,compressed:c,useCompressionStream:l,deflate64:u,format:f,compressionMethod:d,rawBitFlag:w,outputSize:p}=t;let m,h,y=super.readable;if(a&&(o?y=xr(y,new Le(t)):(h=new Ie(t),y=xr(y,h))),c){const t=f&&sr(f);if(t)y=Fr(y,Rr(t.DecompressionStream,f,{chunkSize:e,compressionMethod:d,rawBitFlag:w,uncompressedSize:p}));else try{y=Dr(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||p===I)throw t;let e;try{e=new n(pr)}catch{throw t}y=function(t,e,r){const n=new Qt;let o,a,i,s=0,c=!1;const l=new Promise((t,e)=>{a=t,i=e});l.catch(()=>{}),r||a();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(mr),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,d();try{await l}finally{w()}const e=new Uint8Array(8),o=Pt(e);o.setUint32(0,n.get(),!0),o.setUint32(4,r,!0),t.enqueue(e)},cancel(t){i(t)}}),f=new TransformStream({transform(t,e){n.append(t),s+=t.length,s>=r?a():c&&d(),e.enqueue(t)},cancel(t){i(t)}});return t=xr(t,u),xr(t=Fr(t,e),f);function d(){w(),o=setTimeout(()=>i(new Error(lr)),5e3)}function w(){clearTimeout(o)}}(y,e,p)}y=function(t){const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=new Error(ur);throw e.cause=t,e}const{value:n,done:o}=r;o?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}(y)}i&&(m=new $t,y=xr(y,m)),Ar(this,y,()=>{if(i){const t=new DataView(m.value.buffer);if(s!=t.getUint32(0,!1))throw new Error(fr)}})}}const br=new Map;function Sr(t,e){if(!t)return!1;let r=br.get(t);r||(r=new Map,br.set(t,r));let n=r.get(e);if(n===I){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function gr(t){return Sr(t,dr)}function Ar(t,e,r){e=xr(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Rr(t,e,r){if(!t)throw new Error($e);return new t(e,r)}function Dr(t,e,r,n,o){const a=e&&n?n:o||n,i=r.deflate64?wr:dr;let s;try{s=new a(i,r)}catch(t){if(!e||!o||a==o)throw t;s=new o(i,r)}return Fr(t,s)}function xr(t,e){return Ke(t).pipeThrough(e)}function Fr(t,e){const r=e.writable.getWriter(),n=t.getReader();return async function(){try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await async function(t,e){try{await t.abort(e)}catch{}}(r,t),await async function(t,e){try{await t.cancel(e)}catch{}}(n,t)}}(),e.readable}const zr="data",Tr="deflate",Ir="inflate";class Or extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let o;n.startsWith(Tr)?o=hr:n.startsWith(Ir)&&(o=Er),r.outputSize=0;let a=0;const i=new o(t,e),s=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:a})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==I&&r.outputSize>t.outputSize))throw new Error(lr)},flush(){const{crc32:t}=i;Object.assign(r,{crc32:t,inputSize:a})}});Object.defineProperty(r,"readable",{get:()=>s.pipeThrough(c).pipeThrough(i).pipeThrough(l)})}}class Ur extends TransformStream{constructor(t){const e=[];let r=0,n=0;function o(){const n=new Uint8Array(t);let o=0;for(;o<t;){const r=e[0],a=t-o;r.length<=a?(n.set(r,o),o+=r.length,e.shift()):(n.set(r.subarray(0,a),o),e[0]=r.subarray(a),o+=a)}return r-=t,n}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(a,i){for(e.push(a),r+=a.length;r>t;)n+=t,i.enqueue(o())},flush(t){r&&(n+=r,t.enqueue(function(t,e){const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r}(e,r)))}}),Object.defineProperty(this,"outputSize",{get:()=>n})}}const kr="Worker startup timeout";let Cr,Mr,Nr,vr=()=>{};function _r(t){t.createWorker?Mr=!0:Cr=!1}class Lr{constructor(t,{readable:e,writable:r},n,o){const{options:a,config:i,ut:s,useWebWorkers:c,transferStreams:l,workerURI:u}=n;let{createWorker:f}=n;const{signal:d}=s;return Mr&&(f=I),Object.assign(t,{ft:!0,wt:(t.wt||0)+1,readable:e.pipeThrough(new Ur(Ut(i))).pipeThrough(new Br(s),{signal:d}),writable:r,options:Object.assign({},a),ht:n,workerURI:u,createWorker:f,transferStreams:l,terminate:()=>new Promise(e=>{const{yt:r,ft:n}=t;r?(n?t.Et=e:(r.terminate(),e()),t.bt=null):e()}),St(){if(t.ft){const{Et:e}=t;e&&(t.Et=null,t.gt=!0,t.yt.terminate(),e()),t.ft=!1,o(t)}}}),Cr===I&&(Cr=typeof Worker!=U),(c&&Nr&&(Cr&&u||f)?Nr:Pr)(t,i)}}class Br extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let o=0;super({async start(){t&&await jr(t,r)},async transform(t,n){o+=t.length,e&&await jr(e,o,r),n.enqueue(t)},async flush(){n&&await jr(n,o)}})}}async function jr(t,...e){try{await t(...e)}catch{}}function Pr(t,e){return{run:()=>Wr(t,e)}}async function Wr({options:t,readable:e,writable:r,St:n,ht:o},a){let i,s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Tr),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.At&&!gr(n))try{await vr(a)}catch{}}else try{await vr(a)}catch{r&&!r.At||(t.useCompressionStream=!0)}}i=new Or(t,a),s=new Ur(Ut(a)),await e.pipeThrough(i).pipeThrough(s).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:c}=i;return{crc32:n,inputSize:o,outputSize:c}}catch(t){if(i){const e=s?s.outputSize:0;if(o.outputSize=e,Wt(t))try{t.outputSize=e}catch{}}throw t}finally{n()}}const Vr={type:"module"},Zr="error";let Hr,Gr,Kr,Yr=!0;try{Yr=typeof structuredClone==k&&structuredClone(new DOMException("","AbortError")).code!==I}catch{}var qr;function Xr(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function Jr(t){const{yt:e}=t;if(e)try{e.terminate()}catch{}t.bt=null}function Qr(t,e,r,n,o=!0){const{createWorker:a}=r;let i,s,c;if(a)i=a();else if(Gr===I||Hr!==t){const a=typeof t==k;s=a?t(o):t;const l=s.startsWith("data:"),u=s.startsWith("blob:");if(l||u){n===I&&(n=!1),n&&(c=Vr);try{i=new Worker(s,c)}catch(o){if(u)try{URL.revokeObjectURL(s)}catch{}if(a&&u)return Qr(t,e,r,n,!1);if(n)throw o;return Qr(t,e,r,!0,!1)}}else{n===I&&(n=!0),n&&(c=Vr);try{s=new URL(s,e)}catch{}try{i=new Worker(s,c)}catch(a){if(n)return Qr(t,e,r,!1,o);throw a}}Hr=t,Gr=s,Kr=c}else i=new Worker(Gr,Kr);return i.addEventListener("message",t=>{r.Rt=!0,$r(r),async function({data:t},e){const{type:r,value:n,messageId:o,result:a,error:i,errorValue:s}=t,{reader:c,writer:l,Dt:u,xt:f,St:d,wt:w}=e,p=()=>e.wt!=w;try{if(i)m(function(t,e){const{message:r,stack:n,code:o,name:a,outputSize:i,cause:s,codecImportFailed:c}=t;let l;if(e?l=e.value:(l=Object.assign(new Error(r),{stack:n,code:o,name:a}),s&&(l.cause=Object.assign(new Error(s.message),{name:s.name}))),Wt(l))try{i!==I&&(l.outputSize=i),c&&(l.codecImportFailed=!0),e&&(l.name!==a&&(l.name=a),l.code!==o&&(l.code=o))}catch{}return l}(i,s));else{if("pull"==r){const{value:t,done:r}=await c.read();p()||en({type:zr,value:t,done:r,messageId:o},e)}if(r==zr){const t=new Uint8Array(n);await l.ready,await l.write(t),p()||en({type:"ack",messageId:o},e)}"close"==r&&function(t){p()||(u(t),h(),d())}(a)}}catch(i){p()||(Jr(e),m(i))}function m(t){p()||(f(t),h(),Wt(t)&&t.codecImportFailed||d())}function h(){l&&l.releaseLock()}}(t,r)}),i.addEventListener(Zr,t=>tn(t,r)),i.addEventListener("messageerror",t=>tn(t,r)),i}function $r(t){const{Ft:e}=t;e&&(clearTimeout(e),t.Ft=null)}function tn(t,e){t.preventDefault&&t.preventDefault(),$r(e);const{Rt:r,xt:n,writer:o,St:a}=e;Jr(e),r||(e.yt=null);let i=t.error||new Error(t.message||Zr);r||(i=Object.assign(new Error(i.message||Zr),{zt:!0}),e.Tt=i),n&&(n(i),o&&o.releaseLock(),r&&a())}function en(t,{yt:e,writer:r,transferStreams:n,Rt:o}){try{const{value:r,readable:a,writable:i}=t,s=[];if(r&&(t.value=jt(r),s.push(t.value.buffer)),n&&Yr&&o?(a&&s.push(a),i&&s.push(i)):t.readable=t.writable=null,s.length)try{return e.postMessage(t,s),!0}catch{Yr=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}qr=function(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:o}=e;let{wasmURI:a}=e;if(!t.bt){let i;typeof a==k&&(a=a());try{i=Qr(t.workerURI,r,t)}catch{return _r(t),Pr(t,e)}Object.assign(t,{yt:i,Rt:!1,gt:!1,Tt:null,bt:{run:async()=>{try{return await async function(t,e){if(!t.yt){const{Tt:e}=t;t.Tt=null;const r=e||new Error(kr);throw r.zt=!0,r}let r,n;const o=new Promise((e,o)=>{r=e,n=e=>{const{outputSize:r,ht:n}=t;if(n.outputSize=r,Wt(e))try{e.outputSize=r}catch{}o(e)}});Object.assign(t,{reader:null,writer:null,outputSize:0,It:!1,Ot:null,Dt:r,xt:n,result:o});const{readable:a,options:i}=t,{writable:s,closed:c,Ut:l}=function(t,e){const r=new AbortController;let n;const{writable:o,readable:a}=new TransformStream({transform(t,r){e.outputSize+=t.length,r.enqueue(t)}}),i=a.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:r.signal});return i.catch(t=>{n||Object.assign(e,{It:!0,Ot:t})}),{writable:o,closed:i,Ut:()=>{n=!0,r.abort()}}}(t.writable,t);let u;try{u=en({type:"start",options:i,config:e,readable:a,writable:s},t)}catch(e){l();try{await c}catch{}throw t.St(),e}u||Object.assign(t,{reader:a.getReader(),writer:s.getWriter()});const{workerStartupTimeout:f}=e;!t.Rt&&Number.isFinite(f)&&f>=0&&(t.Ft=setTimeout(()=>function(t){if(t.Ft=null,t.Rt)return;const{xt:e,writer:r}=t;if(Jr(t),t.yt=null,e){const t=new Error(kr);t.zt=!0,e(t),r&&r.releaseLock()}}(t),f));try{const t=await o;return await d(),await c,t}catch(e){await d(),l();try{await c}catch{}const{outputSize:r,ht:n,It:o,Ot:a}=t;n.outputSize=r;const i=Wt(e)&&(e.codecImportFailed||e.zt),s=o&&!i?a:e;if(Wt(s))try{s.outputSize=r}catch{}throw s}async function d(){if(!u&&!s.locked)try{await s.getWriter().close()}catch{}}}(t,{chunkSize:n,wasmURI:a,baseURI:r,workerStartupTimeout:o})}catch(r){if(r&&r.zt)return _r(t),Xr(t),Wr(t,e);if(r&&r.codecImportFailed){if(t.reader)return Xr(t),Wr(t,e);t.St()}throw r}}}})}return t.bt},Nr=qr;let rn=[];const nn=[];let on,an,sn=0;async function cn(t,e){const{options:r,config:n}=e,{transferStreams:o,useWebWorkers:a,useCompressionStream:i,compressed:s,checkCrc32:c,computeCrc32:l,encrypted:u,format:f,codecURI:d}=r,{workerURI:w,createWorker:p,maxWorkers:m}=n;f&&(d&&(r.codecURI=function(t,e){try{return new URL(t,e).toString()}catch{return t}}(d,n.baseURI)),await async function(t,e){!rr.has(t)&&e&&cr(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))}(f,r.codecURI)),e.transferStreams=!f&&(o||o===I&&n.transferStreams);const h=!(s||c||l||u),y=f===I||Boolean(r.codecURI);return e.useWebWorkers=!h&&y&&(a||a===I&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:I,e.createWorker=e.useWebWorkers&&p?p:I,r.useCompressionStream=i||i===I&&n.useCompressionStream,(await async function(){const r=rn.find(t=>!t.ft);if(r)return wn(r),new Lr(r,t,e,E);if(rn.length<m){const r={kt:sn};return sn++,rn.push(r),new Lr(r,t,e,E)}return new Promise(r=>{nn.push({resolve:r,stream:t,ht:e}),an=n.workerStarvationTimeout,ln()})}()).run();function E(t){if(un(),nn.length){const[{resolve:e,stream:r,ht:n}]=nn.splice(0,1);e(new Lr(t,r,n,E)),ln()}else t.yt?(wn(t),function(t,e){const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.gt?t.gt=!1:t.Ct=setTimeout(async()=>{rn=rn.filter(e=>e!=t);try{await t.terminate()}catch{}},n))}(t,e)):rn=rn.filter(e=>e!=t)}}function ln(){!on&&nn.length&&Number.isFinite(an)&&an>=0&&(on=setTimeout(fn,an))}function un(){on&&(clearTimeout(on),on=null)}function fn(){if(on=null,nn.length){const[{resolve:t,stream:e,ht:r}]=nn.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:I,createWorker:I});t(new Lr({},e,n,dn)),ln()}}function dn(){un(),ln()}function wn(t){const{Ct:e}=t;e&&(clearTimeout(e),t.Ct=null)}const pn="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function mn(t,e){return hn(t,e,!0)}function hn(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?function(t){let e="";for(let r=0;r<t.length;r++)e+=pn[t[r]];return e}(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const yn="HTTP error ",En="HTTP Range not supported",bn="HTTP resource changed",Sn="Writer iterator completed too soon",gn="Writer not initialized",An="Invalid writer (size must be writable)",Rn="Content-Range",Dn="Range",xn="GET",Fn="bytes",zn=16777216,Tn="writable",In=Symbol();class On{constructor(){this.size=0}init(){this.initialized=!0}}class Un extends On{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=Ut(Ot())}={}){const n=this;let o=0;return r=kt(r),new ReadableStream({async pull(a){const i=e===I?r:Math.min(r,e-o),s=await ho(n,t+o,i);s.length&&(a.enqueue(s),o+=s.length),(e!==I&&o>=e||!s.length&&i)&&a.close()}})}}class kn extends On{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw new Error(gn);return t.writeUint8Array(jt(e))}});Object.defineProperty(t,Tn,{get:()=>e})}writeUint8Array(){}}class Cn extends Un{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{Mt:t,Nt:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{Nt:r,Mt:n}=this,o=new Uint8Array(e),a=4*Math.floor(t/3),i=atob(n.substring(a+r,4*Math.ceil((t+e)/3)+r)),s=t-3*Math.floor(a/4);let c=0;for(let t=s;t<s+e&&t<i.length;t++)o[t-s]=i.charCodeAt(t),c++;return c<o.length?o.subarray(0,c):o}}class Mn extends kn{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",vt:""})}writeUint8Array(t){const e=this;let r,n=e.vt;const o=e.vt.length;for(e.vt="",r=0;r<3*Math.floor((o+t.length)/3)-o;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.vt+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.vt=n+e.vt}getData(){return this.data+btoa(this.vt)}}let Nn,vn;class _n extends Un{constructor(t){super(),Object.assign(this,{_t:t,size:t.size}),vn||(vn=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();Nn=1==e}catch{Nn=!1}})())}createReadable(t){const{_t:e,size:r}=this,{offset:n=0,size:o=r-n}=t||{};if(typeof e.stream==k){if(!n&&o>=r)return Ke(e.stream());if(Nn)return Ke(e.slice(n,n+o).stream())}return super.createReadable(t)}async readUint8Array(t,e){const r=this,n=t+e,o=!t&&n>=r.size?r._t:r._t.slice(t,n);let a=await o.arrayBuffer();return a.byteLength>e&&(a=a.slice(t,n)),new Uint8Array(a)}}class Ln extends On{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,Tn,{get:()=>r.writable}),e.contentType=t,e.Lt=Ye(r.readable,t),e.Lt.catch(()=>{})}getData(){return this.Lt}}class Bn extends _n{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class jn extends Ln{constructor(t){super(),Object.assign(this,{encoding:t,Bt:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Bt:e}=this,r=await super.getData();return r.text&&e?r.text():function(t,e){return hn(t,e,!1)}(new Uint8Array(await r.arrayBuffer()),t)}}class Pn extends Un{constructor(t,e){super(),Vn(this,t,e)}async init(){await Zn(this,ro,Qn),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:o}=e;if((r||n)&&o!==I){const{offset:r=0,size:n=o-r}=t||{};if(n>0&&r<o)return function(t,e,r){let n,o=e,a=0,i=r;return new ReadableStream({start:()=>s(),async pull(t){n||await s();const{value:e,done:r}=await n.read();if(r)throw new Error(En);const o=e.length>a?e.subarray(0,a):e;a-=o.length,i-=o.length,o.length&&t.enqueue(o),a||(await async function(){const t=n;n=I,await t.cancel()}(),i||t.close())},cancel:t=>n&&n.cancel(t)});async function s(){const e=Math.min(t.maximumRangeSize,i),r=await ro(xn,t,Xn(t,o,e));if(206!=r.status)throw new Error(En);const s=r.headers.get(Rn);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=o)throw new Error(En)}qn(t,r),Yn(t,r),o+=e,a=e,n=r.body.getReader()}}(e,r,Math.min(n,o-r))}return super.createReadable(t)}readUint8Array(t,e){return Hn(this,t,e,ro,Qn)}}class Wn extends Un{constructor(t,e){super(),Vn(this,t,e)}async init(){await Zn(this,no,$n),super.init()}readUint8Array(t,e){return Hn(this,t,e,no,$n)}}function Vn(t,e,r){const{preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s=!0,maximumRangeSize:c=zn,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s,maximumRangeSize:c,fetch:l})}async function Zn(t,e,r){const{url:n,preventHeadRequest:o,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:s}=t;if(function(t){const{baseURI:e}=Ot(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r}(n)&&(a||i)&&(typeof o==U||o)){const n=await e(xn,t,Xn(t,s?-22:void 0)),o=n.headers.get("Accept-Ranges");if(!(i||o&&o.toLowerCase()==Fn))throw new Error(En);{if(s){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==d&&(t.jt=e)}Yn(t,n);const o=Gn(n);o===I?await eo(t,e,r):t.size=o}}else await eo(t,e,r)}async function Hn(t,e,r,n,o){const{useRangeHeader:a,forceRangeRequests:i,jt:s,size:c,options:l}=t;if(a||i){if(s&&e==c-d&&r==d)return s;if(e>=c||0===r)return v;{e+r>c&&(r=c-e);const o=await n(xn,t,Xn(t,e,r));if(206!=o.status)throw new Error(En);const a=o.headers.get(Rn);if(a){const t=Number(a.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw new Error(En)}qn(t,o),Yn(t,o);const i=new Uint8Array(await o.arrayBuffer());if(i.length!=r)throw new Error(En);return i}}{const{data:n}=t;return n||await o(t,l),t.data.subarray(e,e+r)}}function Gn(t){const e=t.headers.get(Rn);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Kn({headers:t}){return{Pt:t.get("Etag")||I,lastModified:t.get("Last-Modified")||I}}function Yn(t,e){const{checkResourceChanges:r,Wt:n}=t;r&&!n&&206==e.status&&(t.Wt=Kn(e))}function qn(t,e){const{checkResourceChanges:r,Wt:n,size:o}=t;if(r){const t=Gn(e);if(t!==I&&o!==I&&t!=o)throw new Error(bn);if(n){const t=Kn(e);if(Object.entries(n).some(([e,r])=>r!==I&&t[e]!==I&&r!=t[e]))throw new Error(bn)}}}function Xn(t,e=0,r=1){return Object.assign({},Jn(t),{[Dn]:Fn+"="+(e<0?e:e+"-"+(e+r-1))})}function Jn({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Qn(t){await to(t,ro)}async function $n(t){await to(t,no)}async function to(t,e){const r=await e(xn,t,Jn(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function eo(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Jn(t)),o=n.headers.get("Content-Length");o&&!n.headers.get("Content-Encoding")?t.size=Number(o):await r(t,t.options)}}async function ro(t,{fetch:e=fetch,options:r,url:n},o){const a=await e(n,Object.assign({},r,{method:t,headers:o}));if(a.status>=200&&a.status<=299)return a;throw 416==a.status?new Error(En):new Error(yn+(a.statusText||a.status))}function no(t,{url:e},r){return new Promise((n,o)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(a.status>=200&&a.status<=299){const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:a.status,arrayBuffer:()=>a.response,headers:new Map(t)})}else o(416==a.status?new Error(En):new Error(yn+(a.statusText||a.status)))},!1),a.addEventListener("error",t=>o(t.detail?t.detail.error:new Error("Network error")),!1),a.open(t,e),r)for(const t of Object.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class oo extends Un{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Wn(t,e):new Pn(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class ao extends oo{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class io extends Un{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{Vt:t,size:t.length})}readUint8Array(t,e){return this.Vt.slice(t,t+e)}}class so extends kn{constructor(t){super(),this.Zt=t||262144}init(t=0){Object.assign(this,{offset:0,Vt:new Uint8Array(t>0?t:this.Zt)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.Vt.length){let t=e.Vt.length?2*e.Vt.length:e.Zt;for(;t<r;)t*=2;const n=e.Vt;e.Vt=new Uint8Array(t),e.Vt.set(n)}e.Vt.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.Vt.length?this.Vt:this.Vt.slice(0,this.offset)}}class co extends Un{constructor(t){super(),this.Ht=t}async init(){const t=this;t.Gt=0;const e=t.Ht=await Promise.all(t.Ht.map(mo));t.Kt=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}Yt(t){const{Kt:e,size:r}=this,n=e[t];return n===I?r:n}async readUint8Array(t,e){const r=this,{Ht:n}=this;let o,a=0,i=t;for(;n[a]&&i>=n[a].size;)i-=n[a].size,a++;const s=n[a];if(s){const n=s.size;if(i+e<=n)o=await ho(s,i,e);else{const a=n-i;o=Bt(await ho(s,i,a),await r.readUint8Array(t+a,e-a))}}else o=v;return r.Gt=Math.max(a,r.Gt),o}}class lo extends On{constructor(t,e=4294967295){super();const r=this;let n,o,a;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const i=new WritableStream({async write(e){if(e===In)return void(a&&await c());const{availableSize:i}=r;if(a)e.length>=i?(await s(e.subarray(0,i)),await c(),e.length>i&&await this.write(e.subarray(i))):await s(e);else{const{value:i,done:s}=await t.next();if(s&&!i)throw new Error(Sn);n=i,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await po(n),o=i.writable,a=o.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await l())},async abort(t){a&&await a.abort(t)}});async function s(t){const e=t.length;e&&(await a.ready,await a.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function l(){await a.close()}Object.defineProperty(r,Tn,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(In)}finally{t.releaseLock()}}}class uo{constructor(t){return Array.isArray(t)&&(t=new co(t)),(t instanceof ReadableStream||typeof t.getReader==k)&&(t={readable:Ke(t)}),t}}class fo{constructor(t){t.writable===I&&typeof t.next==k&&(t=new lo(t)),(t instanceof WritableStream||typeof t.getWriter==k)&&(t={writable:qe(t)});try{t.size=t.size===I?0:t.size}catch{throw new Error(An)}return t}}function wo(t){return Boolean(t&&t.getData)}async function po(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function mo(t){return t=new uo(t),await po(t),t.size!==I&&t.readUint8Array||(t=new _n(await Ye(t.readable)),await po(t)),t}function ho(t,e,r){return t.readUint8Array(e,r)}function yo(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?Un.prototype.createReadable.call(t,e):t.readable}function Eo(t,e,r){if(!t.some(t=>t.reason==e)){const n={reason:e};r!==I&&(n.filename=r),t.push(n)}}const bo="filename",So="rawFilename",go="comment",Ao="rawComment",Ro="uncompressedSize",Do="compressedSize",xo="offset",Fo="diskNumberStart",zo="lastModDate",To="rawLastModDate",Io="lastAccessDate",Oo="rawLastAccessDate",Uo="creationDate",ko="rawCreationDate",Co="internalFileAttributes",Mo="externalFileAttributes",No="msdosAttributesRaw",vo="msdosAttributes",_o="msDosCompatible",Lo="zip64",Bo="encrypted",jo="version",Po="versionMadeBy",Wo="zipCrypto",Vo="directory",Zo="executable",Ho="compressionMethod",Go="signature",Ko="extraField",Yo="unixMode",qo="setuid",Xo="setgid",Jo="sticky",Qo=[bo,So,Ro,Do,zo,To,go,Ao,Io,Oo,Uo,ko,xo,Fo,Co,Mo,No,vo,_o,Lo,Bo,jo,Po,Wo,Vo,Zo,"symlink",Ho,Go,"crc32",Ko,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Yo,"unixExternalUpper",qo,Xo,Jo,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class $o{constructor(t){Qo.forEach(e=>this[e]=t[e])}}const ta=new Set([1,m,10,h,28789,25461,y,E,b,22613,13]);function ea(t,e,r){return t?e?12:16+4*r:0}const ra="File format is not recognized",na="End of central directory not found",oa="End of Zip64 central directory locator not found",aa="Central directory header not found",ia="Local file header not found",sa="Zip64 extra field not found",ca="File contains encrypted entry",la="Encryption method not supported",ua="Split zip file",fa="Overlapping entry found",da="Entry data out of bounds",wa="Ambiguous archive",pa="Encrypted central directory is not supported",ma="Unsafe filename",ha="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",ya="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Ea="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",ba="64-bit value exceeds Number.MAX_SAFE_INTEGER",Sa="unsorted central directory",ga="unknown version needed to extract",Aa="compressed patched data",Ra="malformed extra field",Da="unknown zip64 extensible data",xa="wrapped entries count",Fa="appended data",za="prepended data",Ta="prepended central directory",Ia="trailing central directory data",Oa="duplicate filename",Ua="mismatched zip64 end of central directory record",ka="multiple end of central directory records",Ca="mismatched local file header (filename)",Ma="mismatched local file header (general purpose bit flag)",Na="mismatched local file header (compression method)",va="mismatched local file header (crc32 or sizes)",_a=/^[a-zA-Z]:/,La="utf-8",Ba="cp437",ja=[[Ro,t],[Do,t],[xo,t],[Fo,e]],Pa={[e]:{qt:Ri,bytes:4},[t]:{qt:Di,bytes:8}},Wa=BigInt(Number.MAX_SAFE_INTEGER);class Va{constructor(t,e={}){Object.assign(this,{reader:new uo(t),options:e,Xt:new Map})}async*getEntriesGenerator(n={}){const a=this;let{reader:i}=a;if(await po(i),i.size!==I&&i.readUint8Array||(i=new _n(await Ye(i.readable)),await po(i)),i.size<d)throw new Error(ra);const c=a.warnings=[],m=ii(n,a.options),h=m==et,y=m!=nt,E=li(yi(a,n,J),m),b=function(t,e){if(t===I)return e;if(!ai(t))throw new Error(ya);return t}(yi(a,n,"filenameValidation"),m),S=yi(a,n,"normalizeFilename"),{Jt:F,Qt:z}=await ui(i,y,E);if(!F)throw await async function(t){return await oi(t)==o}(i)?new Error(ua):new Error(na);y&&z>1&&hi(ka);const T=Pt(F);let O=Ri(T,12),U=Ri(T,16);const k=F.offset,C=Ai(T,20),M=k+d+C,N=i.size-M;N>E&&hi(Fa),N>0&&Eo(c,Fa);let _=Ai(T,4);const L=i.Gt||0;let B,j,P,W,V,Z=Ai(T,6),H=Ai(T,10),G=0,K=p;const Y=U==t||O==t||H==e||Z==e;if(U!=t&&Z!=e&&(U+=ni(i,Z)),Y){const r=F.offset>=w?await ho(i,F.offset-w,w):v,n=Pt(r);if(r.length==w&&Ri(n,0)==u){U=ni(i,Ri(n,4))+Di(n,8);let r=await ho(i,U,p),o=Pt(r);const a=F.offset-w-p;if((r.length<p||Ri(o,0)!=l)&&U!=a&&a>=0){const t=U;U=a,U>t&&(G=U-t),r=await ho(i,U,p),o=Pt(r)}if(r.length<p||Ri(o,0)!=l)throw new Error(oa);if(P=!0,W=Di(o,4)>44,W){const t=Math.min(Di(o,4)-44,i.size-U-p);t>0&&(K+=t,V=function(t){const e={rawExtensibleData:t};if(t.length>=28){const r=Pt(t),n=Ai(r,26);Object.assign(e,{compressionMethod:Ai(r,0),compressedSize:Di(r,2),uncompressedSize:Di(r,10),encryptionAlgorithm:Ai(r,18),bitLength:Ai(r,20),flags:Ai(r,22),hashAlgorithm:Ai(r,24),hashData:t.subarray(28,28+n)})}return e}(await ho(i,U+p,t)))}_==e?_=Ri(o,16):_!=Ri(o,16)&&mi(h,c,Ua),Z==e?Z=Ri(o,20):Z!=Ri(o,20)&&mi(h,c,Ua),H==e?H=Di(o,32):H!=Di(o,32)&&mi(h,c,Ua),O==t?O=Di(o,40):O!=Di(o,40)&&mi(h,c,Ua),U=ni(i,Z)+Di(o,48)+G}}let q=O;const X=F.offset-(P?K+w:0);if(U>=i.size&&(G=i.size-U-O-d,U=i.size-O-d),L!=_)throw new Error(ua);if(U<0)throw new Error(ra);let Q=0,rt=await ho(i,U,O),ot=Pt(rt);if(O){if(rt.length<4)throw new Error(ra);const t=X-O;if(U!=t&&Z==_){const e=Ri(ot,Q)==s||Boolean(V&&V.compressedSize)||Ka(ot);let r=!e;if(!r&&t>=0&&t+4<=i.size&&(r=Ri(Pt(await ho(i,t,4)),0)==s),r){const r=U;U=t,U>r&&(G+=U-r,B=e),rt=await ho(i,U,O),ot=Pt(rt)}}}const at=X-U;if(O!=at&&at>=0&&Z==_&&(O=at,rt=await ho(i,U,O),ot=Pt(rt)),U<0||U>=i.size)throw new Error(ra);a.directoryOffset=U,a.directoryLength=q;const it=Ei(a,n,"decryptCentralDirectory");let st,ct;if(it&&H&&rt.length>=4&&Ri(ot,0)!=s&&(W||Ka(ot))){const t=function(t,e,r){const n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r}(V,q,rt.length);ct=rt.subarray(t),rt=await it(rt.subarray(0,t),V),ot=Pt(rt),q=rt.length,st=!0}V&&!st&&(rt.length<4||Ri(ot,0)==s)&&Eo(c,Da),j=U;const lt=yi(a,n,"filenameEncoding"),ut=yi(a,n,"commentEncoding"),ft=new Set;let dt,wt=-1;const pt=!h&&!P;!H&&pt&&(H=Ya(ot,rt,Q),H&&Eo(c,xa));for(let t=0;t<H;t++){const o=new Ga(i,a.options);if(Q+f>rt.length||Ri(ot,Q)!=s){if(0==t&&!st&&(W||Ka(ot)))throw new Error(pa);throw new Error(aa)}Xa(o,ot,Q+6);const l=Boolean(o.bitFlag.languageEncodingFlag),u=Q+f,d=u+o.filenameLength,w=d+o.extraFieldLength,p=Ai(ot,Q+4),m=!(p>>8),h=p>>8==3,y=rt.subarray(u,d),E=Ai(ot,Q+32),F=w+E,z=rt.subarray(w,F),T=l,O=l,U=Ri(ot,Q+38),k=U&r,C={readOnly:Boolean(1&k),hidden:Boolean(2&k),system:Boolean(4&k),directory:Boolean(16&k),archive:Boolean(32&k)},M=Ri(ot,Q+42),N=Ei(a,n,"decodeText")||mn,v=T?La:lt||Ba,_=O?La:ut||Ba;let L=N(y,v,$);if(L===I&&(L=mn(y,v)),S){const t=S(L);t!==I&&(L=t)}if(ci(L,b)){const t=new Error(ma);throw t.filename=L,t}let B=N(z,_,tt);B===I&&(B=mn(z,_)),Object.assign(o,{index:t,$t:st,versionMadeBy:p,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,te:E,offset:M,diskNumberStart:Ai(ot,Q+34),internalFileAttributes:Ai(ot,Q+36),externalFileAttributes:U,msdosAttributesRaw:k,msdosAttributes:C,rawFilename:y,filenameUTF8:T,commentUTF8:O,rawExtraField:rt.subarray(d,w),rawComment:z,filename:L,comment:B}),Ja(o,o,ot,Q+6)&&Eo(c,Ra,L),o.offset+=G;const P=ni(i,o.diskNumberStart)+o.offset;j=Math.min(P,j),P<wt&&Eo(c,Sa,L),wt=P,(o.version&r)>63&&Eo(c,ga,L),32&~o.rawBitFlag||Eo(c,Aa,L),ft.has(o.filename)&&(dt=!0),ft.add(o.filename);const V=o.externalFileAttributes>>16&e;o.unixMode===I&&16877&V&&(o.unixMode=V);const Z=Boolean(o.unixMode&R),K=Boolean(o.unixMode&D),Y=Boolean(512&o.unixMode),q=40960==((o.unixMode===I?V:o.unixMode)&g),X=!q&&(o.unixMode!==I?!!(73&o.unixMode):h&&!!(73&V)),J=o.unixMode!==I&&(o.unixMode&g)==A,et=(V&g)==A;Object.assign(o,{setuid:Z,setgid:K,sticky:Y,symlink:q,unixExternalUpper:V,executable:X,directory:J||et||m&&C.directory||o.filename.endsWith(x),zipCrypto:o.encrypted&&!o.extraFieldAES});const nt=new $o(o);if(nt.getData=(t,e)=>o.getData(t,nt,a.Xt,e),nt.arrayBuffer=async t=>{const e=new TransformStream,r=Ye(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await o.getData(e,nt,a.Xt,Object.assign({},t,{preventClose:!1})),r},Q=F,t==H-1&&pt){const t=Ya(ot,rt,Q);t&&(H+=t,Eo(c,xa))}const{onprogress:at}=n;if(at)try{await at(t+1,H,new $o(o))}catch{}yield nt}let mt=Q,ht=qa(rt.subarray(Q))||(st?qa(ct):I);if(!ht&&!st){const t=U+Q,e=Math.min(X-t,65541);e>=6&&(ht=qa(await ho(i,t,e)))}ht&&(a.digitalSignature=ht,mt=Q+6+ht.length),(Q!=q&&mt!=q||!st&&Q!=O&&mt!=O)&&mi(h,c,Ia),dt&&mi(h,c,Oa);const yt=yi(a,n,"extractPrependedData"),Et=yi(a,n,"extractAppendedData"),bt=(h||yt)&&H&&4==j&&await async function(t){const e=await oi(t);return e==o||808471376==e}(i)?4:0;return h&&(G||H&&j>bt)&&hi(za),(G||H&&j>4)&&Eo(c,za),B&&Eo(c,Ta),yt&&(a.prependedData=j>bt?await ho(i,bt,j-bt):v),a.comment=C?await ho(i,k+d,C):v,Et&&(a.appendedData=M<i.size?await ho(i,M,i.size-M):v),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}[_](){return this.close()}}class Za{constructor(t={}){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}}),o=new Va(r,t),a=o.getEntriesGenerator(),i=new Set;this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await a.next();if(e)return t.close();const n=function(t,e){const{readable:r,writable:n}=new TransformStream;let o;const a={cancel:async t=>{e.delete(a),await(o?o.cancel(t):r.cancel(t))}};return a.readable=new ReadableStream({async pull(i){o||(o=r.getReader(),e.add(a),async function(){try{await t.getData(n,{preventClose:!1})}catch(t){try{await n.abort(t)}catch{}}finally{e.delete(a)}}());const{done:s,value:c}=await o.read();s?i.close():i.enqueue(c)},cancel:t=>a.cancel(t)},{highWaterMark:0}),a}(r,i),o={...r,readable:n.readable};delete o.getData,Object.defineProperties(o,{localDirectory:{get:()=>r.localDirectory,enumerable:!0},warnings:{get:()=>r.warnings,enumerable:!0}}),t.enqueue(o)},async cancel(t){const r=Array.from(i);i.clear(),e.error(t),await Promise.allSettled(r.map(e=>e.cancel(t))),await Promise.allSettled([a.return(),o.close()])}}),this.writable=n}}async function Ha(t,e={}){if(t=new uo(t),await po(t),t.size!==I&&t.readUint8Array||(t=new _n(await Ye(t.readable)),await po(t)),t.size<d)return!1;const r=ii(e,{}),n=r!=nt,o=li(e[J],r),{Jt:a,Qt:i}=await ui(t,n,o);if(!a||r==et&&i>1)return!1;const s=Ai(Pt(a),20),c=a.offset+d+s;return t.size-c<=o}class Ga{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,o,i={}){const s=this,c=Ot(),{reader:l,index:u,offset:f,diskNumberStart:d,extraFieldAES:w,extraFieldZip64:p,compressionMethod:m,bitFlag:h,rawBitFlag:y,crc32:E,rawLastModDate:b,uncompressedSize:S,compressedSize:g}=s,{dataDescriptor:A}=h,R=e.localDirectory={},D=e.warnings=[],x=ni(l,d)+f,z=await ho(l,x,F),T=Pt(z);let O=yi(s,i,L),U=yi(s,i,B);const k=pt(yi(s,i,j)),C=Boolean(k),M=!0===k;if(wt(O,U),O=O&&O.length&&O,U=U&&U.length&&U,w&&99!=w.originalCompressionMethod)throw new Error($e);if(z.length<F||Ri(T,0)!=n)throw new Error(ia);Xa(R,T,4);const{extraFieldLength:N,filenameLength:_}=R,G=R.dataOffset=x+F+_+N,K=yi(s,i,"checkLocalDirectory"),Y=ii(i,s.options),q=function(t,e){return t===I?e!=nt:Boolean(t)}(K,Y),X=yi(s,i,"checkLocalFilename"),J=function(t,e){return t===I?e==et:Boolean(t)}(X===I?K:X,Y);let Q=v;if(J&&(_||N)){const t=await ho(l,x+F,_+N);Q=t.subarray(0,_),R.rawExtraField=t.subarray(_)}else R.rawExtraField=N?await ho(l,x+F+_,N):v;J&&(R.rawFilename=Q),Ja(s,R,T,4,!0)&&Eo(D,Ra),function(t,e,r,n,o){const{rawFilename:a}=t,i=!o,s=t.$t&&!(8192&~e.rawBitFlag);!n||s||r.length==a.length&&!r.some((t,e)=>t!=a[e])||mi(i,o,Ca),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&mi(i,o,Ma),e.compressionMethod!=t.compressionMethod&&mi(i,o,Na),e.bitFlag.dataDescriptor||s||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||mi(i,o,va)}(s,R,Q,J,q?I:D);const{lastAccessDate:$,creationDate:tt,uid:rt,gid:ot}=R;$&&(e.lastAccessDate=$),tt&&(e.creationDate=tt),rt!==I&&e.uid===I&&(e.uid=rt),ot!==I&&e.gid===I&&(e.gid=ot);const at=yi(s,i,"checkPasswordOnly"),it=s.encrypted&&R.encrypted&&(!M||at),st=it&&!w;if(M||(e.zipCrypto=st),it&&!(64&~R.rawBitFlag))throw new Error(la);const ct=C?I:ar(m);if(0!=m&&8!=m&&9!=m&&!ct&&!C)throw new Error($e);if(it){if(!st&&(w.strength<1||w.strength>3))throw new Error(la);if(!O&&!U)throw new Error(ca)}if(G+g>l.size)throw new Error(da);const lt=g,ut=Ke(l.createReadable({offset:G,size:lt})),mt=ft(yi(s,i,P));dt(mt);let ht=yi(s,i,"checkOverlappingEntry");const yt=yi(s,i,"checkOverlappingEntryOnly");yt&&(ht=!0);const{onstart:Et,onprogress:bt,onend:St}=i,gt=0!=m&&!C,At=C?g-ea(it,st,w&&w.strength):S,Rt=9==m;let Dt=yi(s,i,V);Rt&&(Dt=!1);const xt=yi(s,i,"checkCrc32"),Ft=(xt===I?yi(s,i,"checkSignature"):xt)&&!C&&(!it||st||w&&1==w.vendorVersion),zt={options:{codecType:Ir,password:O,rawPassword:U,zipCrypto:st,encryptionStrength:w&&w.strength,checkCrc32:Ft,checkAuthenticationCode:yi(s,i,"checkAuthenticationCode"),passwordVerification:st&&(A?b>>>8&r:E>>>24&r),outputSize:At,crc32:E,compressed:gt,encrypted:it,useWebWorkers:yi(s,i,W),useCompressionStream:Dt,transferStreams:yi(s,i,Z),deflate64:Rt,format:ct?ct.format:I,codecURI:ct?ct.codecURI:I,compressionMethod:m,rawBitFlag:y,checkPasswordOnly:at},config:c,ut:{signal:mt,size:lt,onstart:Et,onprogress:bt,onend:St}};let Tt,It,Ut;ht&&await async function({reader:t,ee:e,index:r,offset:n,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:c,dataDescriptor:l,extraFieldZip64:u,Xt:f}){let d=0;if(l&&(d=u?20:12),d){const r=await ho(t,c+i,d+4),n=Pt(r);let l=r.length==d+4&&Ri(n,0)==a;if(l){const t=ri(n,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==o)&&t.compressedSize==i&&t.uncompressedSize==s?d+=4:l=!1}if(r.length>=d){const t=ri(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+i+d,ee:e};for(const[t,e]of f)if(t!=r&&w.start<e.end&&e.start<w.end){const t=new Error(fa);throw t.overlappingEntry=e.ee,t}f.set(r,w)}({reader:l,ee:e,index:u,offset:x,crc32:E,compressedSize:g,uncompressedSize:S,dataOffset:G,dataDescriptor:A||R.bitFlag.dataDescriptor,extraFieldZip64:p||R.extraFieldZip64,Xt:o});try{if(!yt){at&&(t=new WritableStream),t=new fo(t),await po(t,function(t,e,r){return Math.min(t,r?1032*e:e)}(At,g,gt)),({writable:Tt}=t);const{outputSize:e}=await cn({readable:ut,writable:Tt},zt);if(e!=At)throw Object.assign(new Error(lr),{outputSize:e});t.size+=e}}catch(e){const{outputSize:r}=zt;if(r!==I?t.size+=r:Wt(e)&&e.outputSize!==I&&(t.size+=e.outputSize),!at||!Wt(e)||e.message!=ce)throw It=e,Ut=!0,e}finally{if((wo(t)||!yi(s,i,H))&&Tt&&!Tt.locked){const t=Tt.getWriter();if(Ut)try{await t.abort(It)}catch{}else await t.close()}}return at||yt?I:t.getData?t.getData():Tt}}function Ka(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(134630224==Ri(t,r))return!0;return!1}function Ya(t,e,r){let n=0;for(;r+f<=e.length&&Ri(t,r)==s;)r+=f+Ai(t,r+28)+Ai(t,r+30)+Ai(t,r+32),n++;return n%65536?0:n}function qa(t){if(t.length>=6){const e=Pt(t);if(Ri(e,0)==i){const r=Ai(e,4);if(6+r<=t.length)return t.subarray(6,6+r)}}}function Xa(t,e,r){const n=t.rawBitFlag=Ai(e,r+2),o=!(1&~n),a=Ri(e,r+6);Object.assign(t,{encrypted:o,version:Ai(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&S)==S},rawLastModDate:a,lastModDate:bi(a),filenameLength:Ai(e,r+22),extraFieldLength:Ai(e,r+24)})}function Ja(t,e,r,n,o){const{rawExtraField:a}=e,i=e.extraField=new Map,s=Pt(a);let c=0,l=!1;try{for(;c<a.length;){const t=Ai(s,c),e=Ai(s,c+2);i.set(t,{type:t,data:a.slice(c+4,c+4+e)}),c+=4+e}}catch{l=!0}c>a.length&&(l=!0);const u=Ai(r,n+4);Object.assign(e,{signature:Ri(r,n+10),crc32:Ri(r,n+10),compressedSize:Ri(r,n+14),uncompressedSize:Ri(r,n+18)});const f=i.get(1);f&&(function(t,e){e.zip64=!0;const r=Pt(t.data),n=ja.filter(([t,r])=>e[t]==r),o=n.reduce((t,[,e])=>t+Pa[e].bytes,0);if(t.data.length<o)throw new Error(sa);for(let o=0,a=0;o<n.length;o++){const[i,s]=n[o],c=Pa[s];e[i]=t[i]=c.qt(r,a),a+=c.bytes}}(f,e),e.extraFieldZip64=f);const d=i.get(28789);d&&(Qa(d,bo,So,e,t),e.extraFieldUnicodePath=d);const w=i.get(25461);w&&(Qa(w,go,Ao,e,t),e.extraFieldUnicodeComment=w);const p=i.get(m);p&&p.data.length>=7?(function(t,e,r){const n=Pt(t.data),o=gi(n,4);Object.assign(t,{vendorVersion:gi(n,0),vendorId:gi(n,2),strength:o,originalCompressionMethod:r,compressionMethod:Ai(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=I)}(p,e,u),e.extraFieldAES=p):e.compressionMethod=u;const S=i.get(13);S&&($a(S,e),e.extraFieldPkwareUnix=S);const g=i.get(22613);g&&($a(g,e),e.extraFieldUnixType1=g);const A=i.get(10);A&&(function(t,e){const r=Pt(t.data);let n,o=4;try{for(;o<t.data.length&&!n;){const e=Ai(r,o),a=Ai(r,o+2);1==e&&(n=t.data.slice(o+4,o+4+a)),o+=4+a}}catch{}if(n&&24==n.length){const r=Pt(n),o=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:i});const s={lastModDate:Si(o),lastAccessDate:Si(a),creationDate:Si(i)};Object.assign(t,s),Object.assign(e,s,{rawLastAccessDate:a,rawCreationDate:i})}}(A,e),e.extraFieldNTFS=A);const R=i.get(b);let D;if(R&&(D=ti(R,e,!1),e.extraFieldUnix=R),!D){const t=i.get(E);t&&(ti(t,e,!0),e.extraFieldInfoZip=t)}const x=i.get(h);x&&(function(t,e,r){if(!t.data.length)return;const n=Pt(t.data),o=gi(n,0),a=[],i=[];r?(1&~o||(a.push(zo),i.push(To)),2&~o||(a.push(Io),i.push(Oo)),4&~o||(a.push(Uo),i.push(ko))):t.data.length>=5&&(a.push(zo),i.push(To));let s=1;a.forEach((r,o)=>{if(t.data.length>=s+4){const a=Ri(n,s);e[r]=t[r]=new Date(1e3*(0|a));const c=i[o];t[c]=a}s+=4})}(x,e,o),e.extraFieldExtendedTimestamp=x);const F=i.get(y);return F&&(e.extraFieldUSDZ=F),l}function Qa(t,e,r,n,o){if(t.data.length<5)return void(t.valid=!1);const a=Pt(t.data),i=new Qt;i.append(o[r]);const s=Pt(new Uint8Array(4));s.setUint32(0,i.get(),!0);const c=Ri(a,1),l=gi(a,0);Object.assign(t,{version:l,[e]:mn(t.data.subarray(5)),valid:1==l&&!o.bitFlag.languageEncodingFlag&&c==Ri(s,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function $a(t,e){if(t.data.length<8)return;const r=Pt(t.data),n={lastAccessDate:new Date(1e3*(0|Ri(r,0))),lastModDate:new Date(1e3*(0|Ri(r,4)))};t.data.length>=12&&(n.uid=Ai(r,8),n.gid=Ai(r,10)),Object.assign(t,n),Object.assign(e,n)}function ti(t,e,r){try{const n=Pt(t.data);let o,a;if(r){let e=0;const r=gi(n,e++),i=gi(n,e++);o=ei(t.data.subarray(e,e+i)),e+=i;const s=gi(n,e++);a=ei(t.data.subarray(e,e+s)),Object.assign(t,{version:r,uid:o,gid:a})}else t.data.length>=4&&(o=Ai(n,0),a=Ai(n,2),Object.assign(t,{uid:o,gid:a}));return o!==I&&(e.uid=o),a!==I&&(e.gid=a),o!==I||a!==I}catch{}}function ei(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ri(t,e,r){const n=Ri(t,e);let o,a;return r?(o=Di(t,e+4),a=Di(t,e+12)):(o=Ri(t,e+4),a=Ri(t,e+8)),{crc32:n,compressedSize:o,uncompressedSize:a}}function ni(t,e){return t.Yt?t.Yt(e):0}async function oi(t){return Ri(Pt(await ho(t,0,4)))}function ai(t){return t===et||t===rt||t===nt}function ii(t,e){return si(t,si(e,rt))}function si(t,e){const r=t.strictness;if(r!==I){if(!ai(r))throw new Error(ha);return r}const n=t.checkAmbiguity;return n===I?e:n?et:e==nt?nt:rt}function ci(t,e){if(e==nt)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||_a.test(t))||e==et&&(r.includes(".")||r.includes(""))}function li(t,r){if(t!==I){const e=yt(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw new Error(Ea);return e}return r==et?0:r==nt?1/0:e}async function ui(t,e,r){const{size:n}=t,o=Math.min(n,65557),a={count:64};let i,s,c=0;for await(const[r,l,u,f,w]of fi(t,o)){const o=Ai(r,f+20);if(w+d+o==n){const o=await wi(t,r,l,f,w,n,a);if(2==o){if(i||(i=di(u,f,w)),c++,!e||c>1)break}else 1!=o||s||(s=di(u,f,w))}}return i||(i=s),i||(i=await async function(t,e,r){const{size:n}=t,o=Math.min(n,e==1/0?n:65557+e);let a,i;for await(const[e,s,c,l,u]of fi(t,o)){const o=di(c,l,u);a||(a=o);const f=await wi(t,e,s,l,u,n,r);if(2==f)return o;1!=f||i||(i=o)}return i||a}(t,r,a)),{Jt:i,Qt:c}}async function*fi(t,e){const r=t.size-e,n=await ho(t,r,e),o=Pt(n);for(let t=n.length-d;t>=0;t--)Ri(o,t)==c&&(yield[o,r,n,t,r+t])}function di(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function wi(r,n,o,a,i,c,l){const f=Ai(n,a+10),d=Ri(n,a+12),p=Ri(n,a+16);if(f==e||d==t||p==t)return await pi(r,n,o,i-w,c,l)==u?2:0;if(!f&&!d)return 1;const m=Ai(n,a+6);for(const t of[i-d,ni(r,m)+p])if(await pi(r,n,o,t,c,l)==s)return 2;return 0}async function pi(t,e,r,n,o,a){return n<0||n+4>o?I:n>=r?Ri(e,n-r):a.count>0?(a.count--,Ri(Pt(await ho(t,n,4)),0)):I}function mi(t,e,r){t?hi(r):Eo(e,r)}function hi(t){const e=new Error(wa);throw e.reason=t,e}function yi(t,e,r){return e[r]===I?t.options[r]:e[r]}function Ei(t,e,r){return ut(yi(t,e,r))}function bi(t){const r=(4294901760&t)>>16,n=t&e,o=new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return o<T?T:o}function Si(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function gi(t,e){return t.getUint8(e)}function Ai(t,e){return t.getUint16(e,!0)}function Ri(t,e){return t.getUint32(e,!0)}function Di(t,e){const r=t.getBigUint64(e,!0);if(r>Wa)throw new Error(ba);return Number(r)}var xi=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:wa,ERR_BAD_FORMAT:ra,ERR_CENTRAL_DIRECTORY_NOT_FOUND:aa,ERR_ENCRYPTED:ca,ERR_ENCRYPTED_CENTRAL_DIRECTORY:pa,ERR_ENTRY_DATA_OUT_OF_BOUNDS:da,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:oa,ERR_EOCDR_NOT_FOUND:na,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:sa,ERR_INVALID_AUTHENTICATION_CODE:se,ERR_INVALID_COMPRESSED_DATA:ur,ERR_INVALID_CRC32:fr,ERR_INVALID_FILENAME_VALIDATION:ya,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Ea,ERR_INVALID_PASSWORD:ie,ERR_INVALID_STRICTNESS:ha,ERR_INVALID_UNCOMPRESSED_SIZE:lr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ia,ERR_OVERLAPPING_ENTRY:fa,ERR_SPLIT_ZIP_FILE:ua,ERR_UNSAFE_FILENAME:ma,ERR_UNSUPPORTED_COMPRESSION:$e,ERR_UNSUPPORTED_ENCRYPTION:la,ERR_UNSUPPORTED_UINT64:ba,ERR_WORKER_STARTUP_TIMEOUT:kr,WARNING_APPENDED_DATA:Fa,WARNING_COMPRESSED_PATCHED_DATA:Aa,WARNING_DUPLICATE_FILENAME:Oa,WARNING_MALFORMED_EXTRA_FIELD:Ra,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:Ma,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Na,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:va,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:Ca,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:Ua,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:ka,WARNING_PREPENDED_CENTRAL_DIRECTORY:Ta,WARNING_PREPENDED_DATA:za,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:Ia,WARNING_UNKNOWN_VERSION:ga,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Da,WARNING_UNSORTED_CENTRAL_DIRECTORY:Sa,WARNING_WRAPPED_ENTRIES_COUNT:xa,ZipReader:Va,ZipReaderStream:Za,isZipFile:Ha});const Fi="File already exists",zi="Zip file comment exceeds 64KB",Ti="Invalid zip file comment (must be a Uint8Array)",Ii="File entry comment exceeds 64KB",Oi="Invalid file entry comment (must be a string)",Ui="Invalid date (must be a valid Date instance)",ki="File entry name exceeds 64KB",Ci="Version exceeds 65535",Mi="The strength must equal 1, 2, or 3",Ni="Encryption is not supported in USDZ files",vi="Split zip files are not supported in USDZ files",_i="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",Li="Invalid extra field (must be a Map)",Bi="Invalid extra field type (must be integer 0..65535)",ji="Invalid extra field data (must be a Uint8Array)",Pi="Extra field data exceeds 64KB",Wi=-2147483648,Vi=2147483647,Zi=BigInt(0),Hi=BigInt("0x7fffffffffffffff"),Gi="Zip64 is not supported (set the 'zip64' option to 'true')",Ki="Undefined uncompressed size",Yi="Undefined compression method",qi="Undefined CRC32",Xi="Undetermined size",Ji="Undefined reader",Qi="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",$i="Zip file not empty",ts="Invalid uid (must be integer 0..2^32-1)",es="Invalid gid (must be integer 0..2^32-1)",rs="Invalid UNIX mode (must be integer 0..65535)",ns="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",os="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",as="Invalid msdosAttributesRaw (must be integer 0..255)",is="Invalid msdosAttributes (must be an object with boolean flags)",ss="Invalid level (must be integer 0..9)",cs="Signature data exceeds 64KB",ls="Invalid entry option (must be an entry returned by ZipReader#getEntries())",us="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",fs="compression unavailable",ds="clamped last modification date",ws=new Uint8Array([7,0,2,0,65,69,3,0,0]),ps="infozip",ms="unix",hs=[8,9,5,3];let ys=0;const Es=[];class bs{constructor(t,e={}){t=new fo(t);const{availableSize:r=O,maxSize:n=O}=t,o=r>0&&r!==O&&n>0&&n!==O;if(o&&e[X])throw new Error(vi);Object.assign(this,{writer:t,re:o,options:e,ne:new Map,oe:new Set,offset:e[q]===I?t.size||t.writable.size||0:e[q],ae:e[q]===I?0:e[q]-(t.size||t.writable.size||0),ie:new Set,se:[],warnings:[],ce:0,le:0,ue:I,fe:!1})}prependZip(t){return Rs(this,async function(t,e){if(t.oe.size)throw new Error($i);await t.de(e)}(this,t))}appendZip(t){return Rs(this,this.de(t))}async de(t){const e=this,{ie:r,oe:n,ne:a}=e;for(;r.size;)await Promise.allSettled(Array.from(r));let i;const s=new Promise(t=>i=t);r.add(s);const c=[];let l;try{t=new uo(t),await po(t),t.size!==I&&t.readUint8Array||(t=new _n(await Ye(t.readable)),await po(t));const{ZipReader:r}=await Promise.resolve().then(function(){return xi}),i=new r(t),s=await i.getEntries();await i.close(),await po(e.writer);const{directoryOffset:u}=i;s.forEach(({filename:t})=>{if(n.has(t))throw new Error(Fi);n.add(t),c.push(t)}),e.we=!0;const{pe:f}=e;e.pe=new Promise(t=>l=()=>{e.we=!1,t()}),await f,e.re&&(delete e.re,await async function(t){return Pt(await ho(t,0,4)).getUint32(0,!0)==o}(t)||(await js(e.writer,Ls()),e.offset+=4));const d=await async function(t,e,r,n){const{writer:o}=t,a=new Map;if(o.closeDisk){const i=Array.from(r).sort((t,r)=>_s(e,t)-_s(e,r));let s=0;for(const r of i){const n=_s(e,r);await Ns(t,e,s,n-s),ks(o,await vs(e,n))&&await o.closeDisk(),a.set(r,{offset:Cs(t,o),diskNumberStart:Os(o)}),s=n}await Ns(t,e,s,n-s)}else{const o=t.offset;await Ns(t,e,0,n),r.forEach(t=>a.set(t,{offset:o+_s(e,t),diskNumberStart:0}))}return a}(e,t,s,u);s.forEach(t=>{const{version:e,rawLastModDate:r,rawFilename:n,bitFlag:o,encrypted:i,uncompressedSize:s,compressedSize:c,extraFieldZip64:l}=t;let{compressionMethod:u,rawExtraField:f}=t;const{level:w,languageEncodingFlag:p,dataDescriptor:m}=o;f=Ms(f||v),t.extraFieldAES&&(u=99);const h=rc(f),y=Boolean(l)&&l.uncompressedSize!==I,E=Boolean(l)&&l.compressedSize!==I,b=-7&ac(w,p,m,i,u)|w<<1,{me:S,he:g}=nc({version:e,bitFlag:b,compressionMethod:u,uncompressedSize:s,compressedSize:c,rawLastModDate:r,rawFilename:n,ye:E,Ee:y,extraFieldLength:h}),{crc32:A}=t;A!==I&&$s(g,10,A);const{offset:R,diskNumberStart:D}=d.get(t);Object.assign(t,{be:!0,Ee:y,ye:E,offset:R,diskNumberStart:D,Se:!1,ge:v,Ae:v,Re:v,De:v,xe:v,rawExtraField:f,Fe:v,extendedTimestamp:!1,me:S,he:g}),a.set(t.filename,t)})}catch(t){throw c.forEach(t=>n.delete(t)),t}finally{i(),r.delete(s),l&&l()}}add(o="",i,s={}){const c=this,{ie:l}=c,u=async function(o,i,s,c){const l=(c=Object.assign({},c))[Q];if(l!==I){const{ze:t,Te:e}=function(t,e,n){if(null===t||typeof t!=C||Array.isArray(t))throw new Error(ls);const{externalFileAttributes:o,versionMadeBy:a,comment:i,lastModDate:s,rawLastModDate:c,creationDate:l,lastAccessDate:u,uncompressedSize:f,encrypted:d,zipCrypto:w,crc32:p,compressionMethod:m,extraFieldAES:h,extraFieldUnix:y,internalFileAttributes:E,extraField:b,bitFlag:S,directory:g,uid:A,gid:R}=t,D={externalFileAttributes:o,versionMadeBy:a,comment:i,lastModDate:s,creationDate:l,lastAccessDate:u,internalFileAttributes:E,directory:g};S&&S.languageEncodingFlag&&(D[K]=!0);const x=function(t){if(t){const e=new Map;if(t.forEach((t,r)=>{ta.has(r)||e.set(r,t.data)}),e.size)return e}}(b);x&&(D[Ko]=x),A===I&&R===I||Object.assign(D,{uid:A,gid:R,unixExtraFieldType:y?ms:ps});const F={};if(e&&!g)if(Object.assign(F,{uncompressedSize:f,crc32:p,compressionMethod:m}),e!==ot&&Object.assign(F,{encrypted:d,zipCrypto:w,encryptionStrength:h?h.strength:I}),S&&(F.dataDescriptor=S.dataDescriptor,F[G]=hs[S.level]),n===I)F.rawLastModDate=c;else if(e!==ot&&w&&(!S||S.dataDescriptor)&&n instanceof Date&&function(t){let e=new Date(2e3*Math.ceil(Math.floor(t.getTime()/1e3)/2));return e<T?e=T:e>z&&(e=z),(e.getHours()<<3|e.getMinutes()>>3)&r}(n)!=(c>>>8&r))throw new Error(us);return{ze:D,Te:F}}(l,pt(Hs(o,c,j)),Hs(o,c,zo));delete c[Q],c=Object.assign(t,e,c)}if(Hs(o,c,Vo)&&!i.endsWith(x)&&(i+=x),o.oe.has(i))throw new Error(Fi);o.oe.add(i),ys<Ot().maxWorkers?ys++:await new Promise(t=>Es.push(t));try{return await async function(o,i,s,c){const l=function(n,o,a){let i=Hs(n,a,_o),s=Hs(n,a,Po,i?20:768);const c=Hs(n,a,Zo),l=Ys(n,a,"uid"),u=Ys(n,a,"gid");let f=Ys(n,a,Yo),d=Hs(n,a,"unixExtraFieldType"),w=Hs(n,a,qo),p=Hs(n,a,Xo),m=Hs(n,a,Jo);if(ht(l,t,ts),ht(u,t,es),ht(f,e,rs),d!==I&&d!==ps&&d!==ms)throw new Error(ns);if(d===ms&&(l!==I&&l>e||u!==I&&u>e))throw new Error(os);d!==I||l===I&&u===I||(d=ps);let h=Ys(n,a,No),y=Hs(n,a,vo);const E=h!==I||y!==I;if(l!==I||u!==I||f!==I||d||c?(i=!1,s=s&r|768):E&&(i=!0,s&=r),ht(h,r,as),y&&(typeof y!==C||Array.isArray(y)))throw new Error(is);if(s>e)throw new Error(Ci);let b=Hs(n,a,Mo);const S=b!==I;S||(b=0),!a[Vo]&&o.endsWith(x)&&(a[Vo]=!0);const F=Hs(n,a,Vo);if(F?(o.endsWith(x)||(o+=x),S||(b=16,i||(b|=16877<<16))):i||S||(b=c?493<<16:27525120),!i){const t=f!==I||Boolean(w||p||m);f=f===I?b>>16&e:f&e,w?f|=R:w=Boolean(f&R),p?f|=D:p=Boolean(f&D),m?f|=512:m=Boolean(512&f),S&&!t||(F?f=-61441&f|A:f&g||(f|=32768),b=(f&e)<<16|b&e)}({msdosAttributesRaw:h,msdosAttributes:y}=function(t,e){if(t!==I)t&=r;else if(e!==I){const{readOnly:n,hidden:o,system:a,directory:i,archive:s}=e;let c=0;n&&(c|=1),o&&(c|=2),a&&(c|=4),i&&(c|=16),s&&(c|=32),t=c&r}return e===I&&(e={readOnly:Boolean(1&t),hidden:Boolean(2&t),system:Boolean(4&t),directory:Boolean(16&t),archive:Boolean(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}}(h,y)),E&&(b=b&t|h&r);const z=b>>16&e,T=f!==I&&40960==(f&g);return{name:o,Ie:{versionMadeBy:s,msDosCompatible:Boolean(i),externalFileAttributes:b,unixExternalUpper:z,uid:l,gid:u,unixMode:f,unixExtraFieldType:d,symlink:T,setuid:w,setgid:p,sticky:m,msdosAttributesRaw:h,msdosAttributes:y}}}(o,i,c);({name:i}=l);const u=function(t,r,n){const o=Ks(t,n,"encodeText")||te;let a=o(r,$);if(a===I&&(a=te(r)),rc(a)>e)throw new Error(ki);const i=n[go]||"";if(typeof i!=M)throw new Error(Oi);let s=o(i,tt);if(s===I&&(s=te(i)),rc(s)>e)throw new Error(Ii);const c=Hs(t,n,jo);if(c!==I&&c>e)throw new Error(Ci);const l=Gs(t,n,zo,new Date),u=Hs(t,n,To),f=Gs(t,n,Io),d=Gs(t,n,Uo),w=Hs(t,n,Co,0),p=pt(Hs(t,n,j)),m=Boolean(p),h=!0===p,y=Hs(t,n,L),E=Hs(t,n,B);wt(y,E);const b=Ys(t,n,"encryptionStrength",3),S=Hs(t,n,Wo),g=Hs(t,n,"extendedTimestamp",!0),A=Hs(t,n,"ntfsTimestamp"),R=Hs(t,n,"keepOrder",!0),D=Hs(t,n,W),x=Hs(t,n,Z),F=Hs(t,n,"bufferedWrite"),z=Ks(t,n,"createTempStream"),T=Hs(t,n,"dataDescriptorSignature",!0),O=ft(Hs(t,n,P));dt(O);const U=Hs(t,n,K,!oc(a)||!oc(s)),k=Hs(t,n,Ho),C=m||k===I?I:ar(k);if(!m&&k!==I&&0!==k&&8!==k&&!C)throw new Error($e);let N=Ys(t,n,G);if(ht(N,9,ss),t.options[X]){if(y!==I||E!==I)throw new Error(Ni);N===I&&k===I&&(N=0)}m&&(N=yt(n[G]));let v=Hs(t,n,V),_=Hs(t,n,Y);F&&_===I&&(_=!1),(_===I||S&&!h)&&(_=!0),N!==I&&6!=N&&(v=!1);const H=Hs(t,n,Lo);if(!(S||y===I&&E===I||Number.isInteger(b)&&b>=1&&b<=3))throw new Error(Mi);const q=Fs(n[Ko]),J=Fs(n.localExtraField),Q=Fs(n.centralExtraField);return{comment:i,Ie:{rawFilename:a,rawComment:s,version:c,lastModDate:l,rawLastModDate:u,lastAccessDate:f,creationDate:d,internalFileAttributes:w,Oe:m,Ue:h,password:y,rawPassword:E,encryptionStrength:b,zipCrypto:S,extendedTimestamp:g,ntfsTimestamp:A,keepOrder:R,useWebWorkers:D,transferStreams:x,bufferedWrite:F,createTempStream:z,dataDescriptorSignature:T,signal:O,useUnicodeFileNames:U,compressionMethod:k,format:C?C.format:I,codecURI:C?C.codecURI:I,ke:C?C.versionNeeded:I,level:N,useCompressionStream:v,dataDescriptor:_,zip64:H,rawExtraField:q,Ce:J,Fe:Q}}}(o,i,c),{comment:f}=u,d=c[Ko];o.ne.set(i,I);const w=o.ue,p={};let y,S;u.Ie.keepOrder&&(p.Me=new Promise(t=>y=t)),o.ue=p;try{const{Ie:f}=u;0==f.level||f.compressionMethod!==I||f.Oe||await async function(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.At)return!0;if(gr(e)||Sr(e,pr))return!0;if(r)try{return await vr(t),!0}catch{return!1}return!1}(Ot())||(f.level=0,Eo(o.warnings,fs,i));const d=await async function(e,r,{Ie:n},o){if(n.Oe&&!r&&!Hs(e,o,Vo))throw new Error(Ji);let a;if(r){if(r=new uo(r),await po(r),!r.readable&&!r.readUint8Array)throw new Error(Qi);({size:a}=r)}return Object.assign({reader:r},function(e,r,n,o,a){const{Oe:i,Ue:s,zipCrypto:c,password:l,rawPassword:u,encryptionStrength:f}=o;let{dataDescriptor:d,zip64:w,level:p,compressionMethod:m}=o,h=0,y=0,E=!1;if(i&&r){if(y=a[Ro],y===I)throw new Error(Ki);if(m===I)throw new Error(Yi)}const b=!0===w,S=Hs(e,a,Bo);if(r&&s&&!S&&rc(l,u))throw new Error(_i);const g=r&&(Boolean(l&&rc(l)||u&&rc(u))||s&&S);r||(p=0,m=0);const A=ea(g,c,f);r&&(i?(a.uncompressedSize=y,h=n===I?qs(y)+A:n+(s?0:A)):n===I?(d=!0,(w||w===I)&&(w=E=!0,h=4294967296)):(a.uncompressedSize=y=n,h=(Xs(m,p)?qs(y):y)+A));const R=!(g||r&&(0!==n||i)||Xs(m,p));R&&!c&&Hs(e,a,Y)===I&&(d=!1);const D=b||E||y>=t,x=b||h>=t;if(D||x){if(!1===w)throw new Error(Gi);w=!0}return w=w||!1,{Ne:h,Ie:{dataDescriptor:d,ve:R,zip64:w,be:b,_e:E,Ee:D,ye:x,uncompressedSize:y,level:p,compressionMethod:m,encrypted:g}}}(e,Boolean(r),a,n,o))}(o,s,u,c);({reader:s}=d);const g=Us(o.writer),A=Os(o.writer);let R=c.crc32===I?c[Go]:c.crc32;const D=d.Ie.encrypted&&!f.zipCrypto;if(f.Oe&&!f.Ue&&D&&(R=I),f.Oe&&s&&!D&&R===I)throw new Error(qi);const x=function(t){const{rawFilename:r,lastModDate:o,rawLastModDate:a,lastAccessDate:i,creationDate:s,level:c,zip64:l,zipCrypto:u,useUnicodeFileNames:f,dataDescriptor:d,directory:w,rawExtraField:p,Ce:y,encryptionStrength:S,extendedTimestamp:g,ntfsTimestamp:A,Oe:R,encrypted:D,Ee:x,ye:O,uncompressedSize:U,_e:k,crc32:C}=t;let{version:M,compressionMethod:N}=t;const _=!w&&Xs(N,c);let L;const B=R||!_,j=l&&(t.bufferedWrite||!d||!x&&!O||B&&!k),P=j||l&&d&&(x||O);if(l&&(x||O)){const t=20,e=Is(t);if(e.Le(1),e.Le(t-4),L=e.Vt,j&&(e.Be(U),B)){const t=ea(D,u,S);e.Be(R?0:U+t)}}else L=v;let W,V,Z,H,G,K;if(D&&!u){const t=Is(rc(ws)+2);t.Le(m),t.je(ws),W=t.Vt,W[8]=S}else W=v;if(g){const t=Vs(o),e=(Y=t)>=Wi&&Y<=Vi;if(e){const e=9+(i?4:0)+(s?4:0),r=Is(e);H=1+(i?2:0)+(s?4:0),G=t,r.Le(h),r.Le(e-4),r.Pe(H),r.We(t),i&&r.We(Zs(Vs(i))),s&&r.We(Zs(Vs(s))),Z=r.Vt}else Z=v;if(A===I?!e||Boolean(i||s):A)try{const t=Ws(o),e=Is(36);e.Le(10),e.Le(32),e.Ve(4),e.Le(1),e.Le(24),e.Be(t),e.Be(i?Ws(i):t),e.Be(s?Ws(s):t),V=e.Vt}catch{V=v}else V=v}else V=Z=v;var Y;try{const{uid:r,gid:n,unixExtraFieldType:o}=t;if(o!=ps||r===I&&n===I)if(o!=ms||r===I&&n===I)K=v;else{const t=Is(8);t.Le(b),t.Le(4),t.Le((r===I?0:r)&e),t.Le((n===I?0:n)&e),K=t.Vt}else{const t=Ts(r===I?0:r),e=Ts(n===I?0:n),o=3+t.length+e.length,a=Is(4+o);a.Le(E),a.Le(o),a.Pe(1),a.Pe(t.length),a.je(t),a.Pe(e.length),a.je(e),K=a.Vt}}catch{K=v}N===I&&(N=_?8:0),M===I&&(M=0!=N||w||D?20:10);const{ke:q}=t;_&&q!==I&&(M=M>q?M:q),l&&(M=M>45?M:45),D&&!u&&(M=M>51?M:51,R&&C!==I&&(W[4]=1),Qs(Pt(W),9,N),N=99);const J=P?rc(L):0,Q=J+rc(W,Z,V,K,p,y);if(Q+(t[X]?67:0)>e)throw new Error(Pi);const $=new Date(2e3*Math.ceil(Math.floor(o.getTime()/1e3)/2)),tt=$<T?T:$>z?z:$,et=rc(Z)?new Date(1e3*Vs(o)):rc(V)?o:tt,{me:rt,he:nt,rawLastModDate:ot}=nc({version:M,bitFlag:ac(c,f,d,D,N),compressionMethod:N,uncompressedSize:U,lastModDate:tt,rawLastModDate:a,rawFilename:r,ye:O,Ee:x,extraFieldLength:Q}),at=Is(F+rc(r)+Q),it=at.Vt,st=Pt(it);return at.We(n),at.je(rt),at.je(r),P&&at.je(L),at.je(W),at.je(Z),at.je(V),at.je(K),at.je(p),at.je(y),d&&(O||$s(st,18,0),x||$s(st,22,0)),{Ze:it,He:st,me:rt,he:nt,lastModDate:et,Ge:et===tt&&$.getTime()!=tt.getTime(),rawLastModDate:ot,encrypted:D,compressed:_,version:M,compressionMethod:N,Ke:H,Ye:G,ge:v,qe:J,Re:Z,De:V,xe:K,Ae:W,extraFieldLength:Q}}(c=Object.assign({},c,l.Ie,u.Ie,d.Ie,{signature:c[Go],crc32:R,offset:o.offset-g,diskNumberStart:A,[X]:o.options[X]}));x.Ge&&Eo(o.warnings,ds,i);const U=function({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,o=v,i=0,s=t?20:12;return r&&(s+=4),e&&(o=new Uint8Array(s),n=Pt(o),r&&(i=4,$s(n,0,a))),{Xe:o,Je:n,Qe:i}}(c),k=rc(x.Ze,U.Xe);S=await async function(e,n,o,a,i){const{ne:s,writer:c}=e,{keepOrder:l,dataDescriptor:u,ve:f,signal:d}=i,{$e:w,ee:p,er:m,rr:h}=a,y=e.options[X];let E,b,S,g,A,R,D,x=p,z=0;const T=l&&m?m.Me:I;s.set(n,x);try{i.bufferedWrite||!l||e.we||e.ce||e.le||!u&&!f?(E=!0,e.ce++,D=i.createTempStream?await i.createTempStream():new TransformStream(I,I,{highWaterMark:O}),D.size=0,await po(c)):(b=!0,e.le++,D=c,await T,await U()),await po(D);const p=Us(c);e.re&&!E&&await Bs(e,c),y&&!E&&zs(a,e.offset-p);const{Ze:m}=w;E||await k();const h=Os(c),S=Cs(e,c);if(x.diskNumberStart=h,E||(A=!0,R=c.size,await js(D,m)),x=await async function(e,n,{diskNumberStart:o,Me:a},i,s,c){const{$e:l,nr:u,ar:f}=i,{me:d,he:w,lastModDate:p,rawLastModDate:m,encrypted:h,compressed:y,version:E,compressionMethod:b,ge:S,qe:g,Re:A,Ke:R,Ye:D,De:x,xe:F,Ae:z}=l,{Xe:T}=u,{rawFilename:O,lastAccessDate:U,creationDate:k,password:C,rawPassword:M,level:N,useUnicodeFileNames:v,zip64:_,be:L,Ee:B,ye:j,zipCrypto:P,dataDescriptor:W,directory:V,executable:Z,versionMadeBy:H,rawComment:G,rawExtraField:K,Fe:Y,useWebWorkers:q,transferStreams:X,onstart:J,onprogress:Q,onend:$,signal:tt,encryptionStrength:et,extendedTimestamp:rt,msDosCompatible:nt,internalFileAttributes:ot,externalFileAttributes:at,uid:it,gid:st,unixMode:ct,symlink:lt,setuid:ut,setgid:ft,sticky:dt,unixExternalUpper:wt,msdosAttributesRaw:pt,msdosAttributes:mt,useCompressionStream:ht,Oe:yt,Ue:Et,format:bt,codecURI:St}=c,gt={Me:a,versionMadeBy:H,zip64:_,be:L,directory:Boolean(V),executable:Boolean(Z),filenameUTF8:Boolean(v),rawFilename:O,commentUTF8:Boolean(v),rawComment:G,ge:S,qe:g,Re:A,De:x,xe:F,Ae:z,rawExtraField:K,Fe:Y,extendedTimestamp:rt,msDosCompatible:nt,internalFileAttributes:ot,externalFileAttributes:at,diskNumberStart:o,uid:it,gid:st,unixMode:ct,symlink:Boolean(lt),setuid:ut,setgid:ft,sticky:dt,unixExternalUpper:wt,msdosAttributesRaw:pt,msdosAttributes:mt};let{crc32:At,uncompressedSize:Rt}=c,Dt=0;yt||(Rt=0);const{writable:xt}=n;if(e){const o=e.size,a=Ke(yo(e,{size:o})),i={options:{codecType:Tr,inputSize:o,level:N,rawPassword:M,password:C,encryptionStrength:et,zipCrypto:h&&P,passwordVerification:h&&P&&m>>8&r,computeCrc32:!yt,compressed:y&&!yt,encrypted:h&&!Et,useWebWorkers:q,useCompressionStream:ht,transferStreams:X,format:bt,codecURI:St,compressionMethod:b},config:s,ut:{signal:tt,size:o,onstart:J,onprogress:Q,onend:$}};try{const e=await cn({readable:a,writable:xt},i);if(Dt=e.outputSize,n.size+=Dt,yt||(Rt=e.inputSize,h&&!P||(At=e.crc32)),!j&&Dt>=t||!B&&Rt>=t)throw new Error(Gi)}catch(t){const{outputSize:e}=i;throw e!==I?n.size+=e:Wt(t)&&t.outputSize!==I&&(n.size+=t.outputSize),t}}return function({crc32:t,compressedSize:e,uncompressedSize:r,$e:n,nr:o},{zip64:a,zipCrypto:i,Oe:s,dataDescriptor:c}){const{he:l,encrypted:u}=n,{Je:f,Qe:d}=o;u&&!i&&!s||t===I||($s(l,10,t),c&&$s(f,d,t)),a?c&&(tc(f,d+4,BigInt(e)),tc(f,d+12,BigInt(r))):($s(l,14,e),$s(l,18,r),c&&($s(f,d+4,e),$s(f,d+8,r)))}({crc32:At,compressedSize:Dt,uncompressedSize:Rt,$e:l,nr:u},c),W&&await js(n,T),Object.assign(gt,{uncompressedSize:Rt,compressedSize:Dt,lastModDate:p,rawLastModDate:m,creationDate:k,lastAccessDate:U,encrypted:Boolean(h),zipCrypto:Boolean(P),size:f+Dt,compressionMethod:b,version:E,me:d,he:w,signature:At,crc32:!h||P||yt?At:I,Ke:R,Ye:D,Ee:B,ye:j}),gt}(o,D,x,a,Ot(),i),E||(A=!1),s.set(n,x),x.filename=n,E){if(await Promise.all([D.writable.getWriter().close(),T]),await U(),e.re&&await Bs(e,c),g=!0,R=c.size,await k(),x.diskNumberStart=Os(c),x.offset=Cs(e,c),y){const t=a.ar;zs(a,e.offset-Us(c)),x.size+=a.ar-t}!function({rawFilename:t,encrypted:e,zip64:r,qe:n,crc32:o,compressedSize:a,uncompressedSize:i,Ee:s,ye:c},l,{dataDescriptor:u,Oe:f}){if(u||((!e||f&&o!==I)&&$s(l,14,o),c||$s(l,18,a),s||$s(l,22,i)),r&&n){const e=F+rc(t)+4;tc(l,e,BigInt(i)),tc(l,e+8,BigInt(a))}}(x,w.He,i),await js(c,w.Ze),await Ps(D.readable,c,d,t=>z+=t),c.size+=D.size,g=!1}else x.diskNumberStart=h,x.offset=S;return e.offset+=x.size,x}catch(t){if(g||A){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-R,E&&(e.offset+=z)}throw s.delete(n),t}finally{if(E&&e.ce--,b&&e.le--,h&&h(T),S&&S(),E&&D&&D.dispose)try{await D.dispose()}catch{}}async function U(){e.we=!0;const{pe:t}=e;e.pe=new Promise(t=>S=()=>{e.we=!1,t()}),await t}async function k(){ks(c,rc(w.Ze))&&await c.closeDisk()}}(o,i,s,{$e:x,nr:U,ar:k,ee:p,er:w,rr:y},c)}catch(t){throw o.ne.delete(i),t}finally{y&&y(w&&w.Me)}return Object.assign(S,{name:i,comment:f,extraField:d}),new $o(S)}(o,i,s,c)}catch(t){throw o.oe.delete(i),t}finally{const t=Es.shift();t?t():ys--}}(c,o,i,s);l.add(u);const f=()=>l.delete(u);return Promise.prototype.then.call(u,f,f),Rs(c,u)}remove(t){const{oe:e,ne:r}=this;if(typeof t==M&&(t=r.get(t)),t&&t.filename!==I){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=v,n={}){const o=this,{ie:a,writer:w}=this,{writable:p}=w;if(o.fe)return As(w);if(!(r instanceof Uint8Array))throw new Error(Ti);if(rc(r)>e)throw new Error(zi);for(;a.size;)await Promise.allSettled(Array.from(a));await Promise.allSettled(o.se.map(t=>t.ir));const m=o.se.filter(t=>t.sr&&!t.cr);if(m.length){const t=m.map(t=>t.error);m.forEach(t=>t.cr=!0);const[e]=t;try{e.entryErrors=t}catch{}throw e}return await async function(r,n,o){const{lr:a,ur:w}=function(r){let n=0,o=!1;for(const[,a]of r){const{rawFilename:r,Ae:i,rawComment:s,De:c,xe:l,rawExtraField:u,Fe:d,Ke:w,Ye:p,be:m,uncompressedSize:y,compressedSize:E}=a;let{Ee:b,ye:S}=a;m||(b&&y<t&&(b=a.Ee=!1),S&&E<t&&(S=a.ye=!1)),o=o||b||S;const g=a.offset>=t,A=a.diskNumberStart>=e;let R,D;if(g||A||b||S){const t=4+(b?8:0)+(S?8:0)+(g?8:0)+(A?4:0),e=Is(t);e.Le(1),e.Le(t-4),b&&e.Be(y),S&&e.Be(E),g&&e.Be(a.offset),A&&e.We(a.diskNumberStart),R=e.Vt}else R=v;if(a.ge=R,a.dr=g,a.Se=A,p===I)D=v;else{const t=Is(9);t.Le(h),t.Le(5),t.Pe(w),t.We(p),D=t.Vt}a.Re=D;const x=rc(R,i,c,l,D,u,d);if(x>e)throw new Error(Pi);n+=f+rc(r,s)+x}return{lr:n,ur:o}}(r.ne),{wr:p,pr:m,mr:y}=await async function(r,n,o){const{ne:a,writer:i}=r,c=new Uint8Array(n);await po(i);let l=0,u=0,d=Os(i),w=Us(i),p=0;for(const[r,n]of Array.from(a.values()).entries()){const{offset:m,rawFilename:h,ge:y,Ae:E,Re:b,De:S,xe:g,rawExtraField:A,Fe:R,rawComment:D,versionMadeBy:x,me:F,he:z,Ee:T,ye:I,Se:O,dr:U,internalFileAttributes:k,externalFileAttributes:C,diskNumberStart:M,uncompressedSize:N,compressedSize:v}=n,_=rc(y,E,b,S,g,A,R),L=f+rc(h,D)+_;ks(i,l+L-u)&&(await js(i,c.slice(u,l)),u=l,p=0,await i.closeDisk()),0==r&&(d=Os(i),w=Us(i)),T||$s(z,18,N),I||$s(z,14,v),(U||O)&&n.version<45&&Qs(z,0,45);const B=Is(L);if(B.We(s),B.Le(x),B.je(F.subarray(0,24)),B.Le(_),B.Le(rc(D)),B.Le(O?e:M),B.Le(k),B.We(C),B.We(U?t:m),B.je(h),B.je(y),B.je(E),B.je(b),B.je(S),B.je(g),B.je(A),B.je(R),B.je(D),ec(c,B.Vt,l),l+=L,p++,o.onprogress)try{await o.onprogress(r+1,a.size,new $o(n))}catch{}}return await js(i,u?c.slice(u):c),{wr:{diskNumber:d,diskOffset:w},pr:{diskNumber:Os(i),yr:p},mr:c}}(r,a,o),E=await async function(t,r,n){const o=Ks(t,n,"signCentralDirectory");if(o){const n=await o(r),a=rc(n);if(a>e)throw new Error(cs);const s=Is(6+a);s.We(i),s.Le(a),s.je(n);const{writer:c}=t;return ks(c,rc(s.Vt))&&await c.closeDisk(),await js(c,s.Vt),6+a}return 0}(r,y,o);await async function(r,n,o,a){const{writer:i}=r,{wr:s,pr:f,Er:w,ur:p}=a;let{lr:m}=a,h=r.ne.size,y=s.diskNumber,E=Cs(r,s);const b=rc(n);if(b>e)throw new Error(zi);let S=Hs(r,o,Lo),g=Os(i);if(ks(i,(S?98:d)+b)&&g++,E>=t||m>=t||h>=e||g>=e){if(!1===S)throw new Error(Gi);S=!0}else S===I&&p&&(S=!0);const A=Is(S?98:d);ks(i,rc(A.Vt)+b)&&await i.closeDisk(),g=Os(i);let R=g==f.diskNumber?f.yr:0;S&&(A.We(l),A.Be(44),A.Le(45),A.Le(45),A.We(g),A.We(y),A.Be(R),A.Be(h),A.Be(m),A.Be(E),A.We(u),A.We(g),A.Be(BigInt(Cs(r,i))+BigInt(m)+BigInt(w)),A.We(g+1),Hs(r,o,"supportZip64SplitFile",!0)&&(g=e,y=e),R=e,h=e,E=t,m=t),A.We(c),A.Le(g),A.Le(y),A.Le(R),A.Le(h),A.We(m),A.We(E),A.Le(b),await js(i,A.Vt),b&&await js(i,n)}(r,n,o,{wr:p,pr:m,lr:a,Er:E,ur:w})}(o,r,n),o.fe=!0,!wo(w)&&Hs(o,n,H)||await p.getWriter().close(),As(w)}[_](){return this.close()}}class Ss{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new bs(r,t),this.ie=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:o}=new TransformStream({start(t){r=t},flush:()=>{!async function(){try{await e.close()}catch(t){await Ds(e,t)}}()}});return xs(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:o}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return xs(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){const{zipWriter:r}=this,n=(await Promise.allSettled(Array.from(this.ie))).filter(t=>"rejected"==t.status).map(t=>t.reason);if(n.length){const[t]=n;try{t.entryErrors=n}catch{}throw await Ds(r,t),t}try{return await r.close(t,e)}catch(t){throw await Ds(r,t),t}}}class gs extends Promise{then(t,e){const{Sr:r}=this;return r&&(r.cr=!0),super.then(t,e)}}function As(t){return t.getData?t.getData():t.writable}function Rs(t,e){const r=new gs((t,r)=>Promise.prototype.then.call(e,t,r)),n={};return r.Sr=n,n.ir=Promise.prototype.then.call(r,I,t=>Object.assign(n,{sr:!0,error:t})),t.se.push(n),r}async function Ds(t,e){try{await t.writer.writable.abort(e)}catch{}}function xs(t,e,r){t.ie.add(e),e.catch(t=>{try{r(t)}catch{}})}function Fs(t){if(!t)return v;if(!(t instanceof Map))throw new Error(Li);let r=0,n=0;t.forEach((t,n)=>{if(mt(n,e,Bi),!(t instanceof Uint8Array))throw new Error(ji);if(rc(t)>e)throw new Error(Pi);r+=4+rc(t)});const o=new Uint8Array(r),a=Pt(o);return t.forEach((t,e)=>{Qs(a,n,e),Qs(a,n+2,rc(t)),ec(o,t,n+4),n+=4+rc(t)}),o}function zs(t,e){const{$e:r}=t;let{Ze:n,extraFieldLength:o}=r,a=64-(e+rc(n))%64;a<4&&(a+=64);const i=new Uint8Array(a),s=Pt(i);Qs(s,0,y),Qs(s,2,a-4);const c=n;r.Ze=n=new Uint8Array(rc(c)+a),ec(n,c),ec(n,i,rc(c));const l=Pt(n);Qs(l,28,o+a),r.He=l,t.ar+=a}function Ts(t){const e=new Uint8Array(4);Pt(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}function Is(t){const e=new Uint8Array(t),r=Pt(e);let n=0;return{Vt:e,Pe:t=>{!function(t,e,r){t.setUint8(e,r)}(r,n,t),n+=1},Le:t=>{Qs(r,n,t),n+=2},We:t=>{$s(r,n,t),n+=4},Be:t=>{tc(r,n,BigInt(t)),n+=8},je:t=>{ec(e,t,n),n+=rc(t)},Ve:t=>n+=t}}function Os(t){const{diskNumber:e=0}=t;return e}function Us(t){const{diskOffset:e=0}=t;return e}function ks(t,e){const{availableSize:r=O}=t;return e>r}function Cs(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.ae:0)}function Ms(t){const e=Pt(t);let r=0;for(;r+4<=rc(t);){const n=4+Js(e,r+2);if(1==Js(e,r))return Ms(Bt(t.subarray(0,r),t.subarray(Math.min(r+n,rc(t)))));r+=n}return t}async function Ns(t,e,r,n){if(n>0){const{writer:o}=t;let a=0;try{await Ps(yo(e,{offset:r,size:n}),o,I,t=>a+=t)}catch(e){t.hasCorruptedEntries=!0;try{e.corruptedEntry=!0}catch{}throw e}finally{o.size+=a,t.offset+=a}}}async function vs(t,e){const r=await ho(t,e,F);if(rc(r)<F)return F;const n=Pt(r);return F+Js(n,26)+Js(n,28)}function _s(t,{offset:e,diskNumberStart:r}){return e+(t.Yt?t.Yt(r):0)}function Ls(){const t=new Uint8Array(4);return $s(Pt(t),0,o),t}async function Bs(t,e){delete t.re,await js(e,Ls()),t.offset+=4}async function js(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=rc(e),await n.write(e)}finally{n.releaseLock()}}async function Ps(t,e,r,n){const o=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){await o.ready,await o.write(t),n(rc(t))}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{o.releaseLock()}}function Ws(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<Zi?Zi:e>Hi?Hi:e}}function Vs(t){return Math.floor(t.getTime()/1e3)}function Zs(t){return Math.min(Vi,Math.max(Wi,t))}function Hs(t,e,r,n){const o=e[r]===I?t.options[r]:e[r];return o===I?n:o}function Gs(t,e,r,n){const o=Hs(t,e,r,n);if(null===o)return n;if(o!==I&&(typeof o.getTime!=k||Number.isNaN(o.getTime())))throw new Error(Ui);return o}function Ks(t,e,r){return ut(Hs(t,e,r))}function Ys(t,e,r,n){return yt(Hs(t,e,r,n))}function qs(t){return t+5*(Math.floor(t/16383)+1)}function Xs(t,e){return t===I?e===I||e>0:0!==t}function Js(t,e){return t.getUint16(e,!0)}function Qs(t,e,r){t.setUint16(e,r,!0)}function $s(t,e,r){t.setUint32(e,r,!0)}function tc(t,e,r){t.setBigUint64(e,r,!0)}function ec(t,e,r){t.set(e,r)}function rc(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function nc({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:o,compressedSize:a,lastModDate:i,rawLastModDate:s,rawFilename:c,ye:l,Ee:u,extraFieldLength:f}){const d=Is(26),w=d.Vt,p=Pt(w);if(d.Le(e),d.Le(r),d.Le(n),s===I){const t=new Uint32Array(1),e=Pt(t);Qs(e,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Qs(e,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=t[0]}return d.We(s),d.Ve(4),l||a!==I?d.We(l?t:a):d.Ve(4),u||o!==I?d.We(u?t:o):d.Ve(4),d.Le(rc(c)),d.Le(f),{me:w,he:p,rawLastModDate:s}}function oc(t){return t.every(t=>t>=32&&t<=126)}function ac(t,e,r,n,o){let a=0;return e&&(a|=S),r&&(a|=8),8!=o&&9!=o||(t>=0&&t<=3&&(a|=6),t>3&&t<=5&&(a|=4),9==t&&(a|=2)),n&&(a|=1),a}function ic(){return"application/octet-stream"}function sc(){const{CompressionStream:t,DecompressionStream:e,CompressionStreamFallback:r,DecompressionStreamFallback:n}=Ot(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:cc(r,dr)||cc(t,dr)||cc(t,pr),decompression:cc(n,dr)||cc(e,dr)||cc(e,pr),registered:!1},{compressionMethod:9,compression:!1,decompression:cc(n,wr)||cc(e,wr),registered:!1}];for(const t of ir()){const e=sr(t.format);o.push({compressionMethod:t.compressionMethod,compression:e?typeof e.CompressionStream==k:I,decompression:e?typeof e.DecompressionStream==k:I,registered:!0})}return o}function cc(t,e){if(!t)return!1;const{gr:r}=t;return r?r.includes(e):Sr(t,e)}const lc="2.13.1",uc=1048576,fc=".zip.js-temp";function dc(t={}){const{thresholdBytes:e=uc,directoryName:r=fc,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let o;function a(){return o||(o=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),o}return function(){const t=[];let r,n,o,i,s=0,c=!1;const l=new WritableStream({async write(i){c?await o.write(i):(t.push(i),s+=i.length,s>e&&await async function(){const e=await a();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),o=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await o.write(e);t.length=0}())},async close(){o&&(await o.close(),o=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!i){const t=await n.getFile();i=t.stream().getReader()}const{value:t,done:r}=await i.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){i&&await i.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(o){try{await o.close()}catch{}o=null}if(r){try{const t=await a();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const wc=1048576;function pc(t={}){const{thresholdBytes:e=wc}=t;return function(){const t=[];let r,n,o,a=0,i=!1;const s=new WritableStream({async write(o){i?await r.write(o):(t.push(o),a+=o.length,a>e&&await async function(){const e=new TransformStream;n=Ye(e.readable),r=e.writable.getWriter(),i=!0;for(const e of t)await r.write(e);t.length=0}())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:s,readable:new ReadableStream({async pull(e){if(i){if(!o){const t=await n;o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const mc=1048576,hc=".zip.js-temp",yc="createSyncAccessHandle is only available in dedicated workers";function Ec(t={}){const{thresholdBytes:e=mc,directoryName:r=hc,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new Error(yc);const o=n||(()=>navigator.storage.getDirectory());let a;function i(){return a||(a=Promise.resolve(o()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return function(){const t=[];let r,n,o=0,a=!1,s=0,c=0;const l=new WritableStream({async write(c){a?(n.write(c,{at:s}),s+=c.length):(t.push(c),o+=c.length,o>e&&await async function(){const e=await i();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const o=await e.getFileHandle(r,{create:!0});n=await o.createSyncAccessHandle(),a=!0;for(const e of t)n.write(e,{at:s}),s+=e.length;t.length=0}())},close(){n&&n.flush()}});let u=0;return{writable:l,readable:new ReadableStream({pull(e){if(a){const t=s-c;if(t<=0)return void e.close();const r=new Uint8Array(Math.min(524288,t)),o=n.read(r,{at:c});o?(c+=o,e.enqueue(r.subarray(0,o))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0}),dispose:async function(){if(n){try{n.close()}catch{}n=null}if(r){try{const t=await i();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{_t({baseURI:import.meta.url})}catch{}const bc="deflate",Sc="deflate-raw",gc="deflate64-raw",Ac="gzip";let Rc,Dc,xc,Fc,zc;function Tc(t,e,r={}){if(!Rc){const t=new Error("WASM module not loaded");throw t.cause=zc,t}const n="number"==typeof r.level?r.level:-1,o="number"==typeof r.outBuffer?r.outBuffer:65536,a="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.Ar=Dc(o),this.in=Dc(a),this.inBufferSize=a,!this.Ar||!this.in)throw new Error("allocation failed");if(this.Rr=new Uint8Array(o),t?(this.Dr=Rc.deflate_process,this.Fr=Rc.deflate_last_consumed,this.zr=Rc.deflate_end,this.Tr=Rc.deflate_new(),r=e===Ac?Rc.deflate_init_gzip(this.Tr,n):e===Sc?Rc.deflate_init_raw(this.Tr,n):Rc.deflate_init(this.Tr,n)):e===gc?(this.Dr=Rc.inflate9_process,this.Fr=Rc.inflate9_last_consumed,this.zr=Rc.inflate9_end,this.Tr=Rc.inflate9_new(),r=Rc.inflate9_init_raw(this.Tr)):(this.Dr=Rc.inflate_process,this.Fr=Rc.inflate_last_consumed,this.zr=Rc.inflate_end,this.Tr=Rc.inflate_new(),r=e===Sc?Rc.inflate_init_raw(this.Tr):e===Ac?Rc.inflate_init_gzip(this.Tr):Rc.inflate_init(this.Tr)),0!==r)throw new Error("init failed:"+r)}catch(t){throw i(this),t}},transform(t,e){try{const r=t,n=new Uint8Array(Fc.buffer),a=this.Dr,i=this.Fr,s=this.Ar,c=this.Rr;let l=0;for(;l<r.length;){const t=Math.min(r.length-l,32768);if((!this.in||this.inBufferSize<t)&&(this.in&&xc&&(xc(this.in),this.in=0),this.in=Dc(t),this.inBufferSize=t,!this.in))throw new Error("allocation failed");n.set(r.subarray(l,l+t),this.in);const u=a(this.Tr,this.in,t,s,o,0),f=u>>24&255,d=128&f?f-256:f;if(d<0)throw new Error("process error:"+d);const w=16777215&u;w&&(c.set(n.subarray(s,s+w),0),e.enqueue(c.slice(0,w)));const p=i(this.Tr);if(0===p&&0===w)break;l+=p}}catch(t){i(this),e.error(t)}},flush(t){try{const e=new Uint8Array(Fc.buffer),r=this.Dr,n=this.Ar,a=this.Rr;for(;;){const i=r(this.Tr,0,0,n,o,4),s=i>>24&255,c=128&s?s-256:s;if(c<0)throw new Error("process error:"+c);const l=16777215&i;if(l&&(a.set(e.subarray(n,n+l),0),t.enqueue(a.slice(0,l))),1===s||0===l)break}}catch(e){t.error(e)}finally{const e=i(this);0!==e&&t.error(new Error("end error:"+e))}},cancel(){i(this)}});function i(t){let e=0;return t.Tr&&t.zr&&(e=t.zr(t.Tr)),t.Tr=0,t.in&&xc&&xc(t.in),t.in=0,t.Ar&&xc&&xc(t.Ar),t.Ar=0,e}}class Ic{constructor(t=bc,e){return Tc(!0,t,e)}}class Oc{constructor(t=bc,e){return Tc(!1,t,e)}}Ic.At=!0,Oc.At=!0,Ic.gr=[bc,Sc,Ac],Oc.gr=[bc,Sc,Ac,gc];let Uc,kc=!1;async function Cc(){await async function(){await Promise.allSettled(rn.map(t=>(wn(t),t.terminate()))),Cr=I,Mr=!1}(),Uc=null,kc=!1,Rc=Dc=xc=Fc=zc=null}!function({Ir:t}){vr=t}({Ir:t=>{if(!Uc){let{wasmURI:e}=t;typeof e==k&&(e=e()),Uc=async function(t,{baseURI:e}){if(!kc)try{await async function(t,e){let r,n;try{try{n=new URL(t,e)}catch{}const o=await fetch(n);r=await o.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=function(t){const e=t.split(",")[1],r=atob(e),n=r.length,o=new Uint8Array(n);for(let t=0;t<n;++t)o[t]=r.charCodeAt(t);return o.buffer}(t)}!function(t){if(Rc=t,({malloc:Dc,free:xc,memory:Fc}=Rc),"function"!=typeof Dc||"function"!=typeof xc||!Fc)throw Rc=Dc=xc=Fc=null,new Error("Invalid WASM module")}((await WebAssembly.instantiate(r)).instance.exports)}(t,e),kc=!0}catch(t){throw function(t){zc=t}(t),t}}(e,t).catch(t=>{throw Uc=null,t})}return Uc}}),_t({CompressionStreamFallback:Ic,DecompressionStreamFallback:Oc}),_t({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{_n as BlobReader,Ln as BlobWriter,Cn as Data64URIReader,Mn as Data64URIWriter,lt as ERR_ABORTED,wa as ERR_AMBIGUOUS_ARCHIVE,ra as ERR_BAD_FORMAT,aa as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Fi as ERR_DUPLICATED_NAME,ca as ERR_ENCRYPTED,pa as ERR_ENCRYPTED_CENTRAL_DIRECTORY,da as ERR_ENTRY_DATA_OUT_OF_BOUNDS,oa as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,na as ERR_EOCDR_NOT_FOUND,sa as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,En as ERR_HTTP_RANGE,bn as ERR_HTTP_RESOURCE_CHANGED,yn as ERR_HTTP_STATUS,se as ERR_INVALID_AUTHENTICATION_CODE,bt as ERR_INVALID_BASE_URI,Xe as ERR_INVALID_CODEC_DEFINITION,Qe as ERR_INVALID_CODEC_MODULE,zi as ERR_INVALID_COMMENT,Ti as ERR_INVALID_COMMENT_TYPE,ur as ERR_INVALID_COMPRESSED_DATA,fr as ERR_INVALID_CRC32,Ui as ERR_INVALID_DATE,Mi as ERR_INVALID_ENCRYPTION_STRENGTH,ls as ERR_INVALID_ENTRY,Ii as ERR_INVALID_ENTRY_COMMENT,Oi as ERR_INVALID_ENTRY_COMMENT_TYPE,ki as ERR_INVALID_ENTRY_NAME,Li as ERR_INVALID_EXTRAFIELD,Pi as ERR_INVALID_EXTRAFIELD_DATA,ji as ERR_INVALID_EXTRAFIELD_DATA_TYPE,Bi as ERR_INVALID_EXTRAFIELD_TYPE,ya as ERR_INVALID_FILENAME_VALIDATION,at as ERR_INVALID_FUNCTION_OPTION,es as ERR_INVALID_GID,ss as ERR_INVALID_LEVEL,Ea as ERR_INVALID_MAX_APPENDED_DATA_SIZE,Et as ERR_INVALID_MAX_WORKERS,as as ERR_INVALID_MSDOS_ATTRIBUTES,is as ERR_INVALID_MSDOS_DATA,ie as ERR_INVALID_PASSWORD,st as ERR_INVALID_PASSWORD_TYPE,ct as ERR_INVALID_PASS_THROUGH_VALUE,Qi as ERR_INVALID_READER,it as ERR_INVALID_SIGNAL,cs as ERR_INVALID_SIGNATURE_DATA,ha as ERR_INVALID_STRICTNESS,ts as ERR_INVALID_UID,lr as ERR_INVALID_UNCOMPRESSED_SIZE,ns as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,os as ERR_INVALID_UNIX_ID_SIZE,rs as ERR_INVALID_UNIX_MODE,St as ERR_INVALID_URI,Ci as ERR_INVALID_VERSION,Sn as ERR_ITERATOR_COMPLETED_TOO_SOON,ia as ERR_LOCAL_FILE_HEADER_NOT_FOUND,fa as ERR_OVERLAPPING_ENTRY,Je as ERR_RESERVED_COMPRESSION_METHOD,ua as ERR_SPLIT_ZIP_FILE,Yi as ERR_UNDEFINED_COMPRESSION_METHOD,qi as ERR_UNDEFINED_CRC32,Ji as ERR_UNDEFINED_READER,Ki as ERR_UNDEFINED_UNCOMPRESSED_SIZE,Xi as ERR_UNDETERMINED_SIZE,ma as ERR_UNSAFE_FILENAME,$e as ERR_UNSUPPORTED_COMPRESSION,yc as ERR_UNSUPPORTED_CONTEXT,le as ERR_UNSUPPORTED_CRYPTO_API,la as ERR_UNSUPPORTED_ENCRYPTION,_i as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,Ni as ERR_UNSUPPORTED_ENCRYPTION_USDZ,Gi as ERR_UNSUPPORTED_FORMAT,vi as ERR_UNSUPPORTED_SPLIT_USDZ,ba as ERR_UNSUPPORTED_UINT64,kr as ERR_WORKER_STARTUP_TIMEOUT,gn as ERR_WRITER_NOT_INITIALIZED,An as ERR_WRITER_SIZE_NOT_WRITABLE,us as ERR_ZIP_CRYPTO_LAST_MOD_DATE,$i as ERR_ZIP_NOT_EMPTY,ao as HttpRangeReader,oo as HttpReader,Un as Reader,co as SplitDataReader,lo as SplitDataWriter,Bn as TextReader,jn as TextWriter,io as Uint8ArrayReader,so as Uint8ArrayWriter,lc as VERSION,Fa as WARNING_APPENDED_DATA,ds as WARNING_CLAMPED_LAST_MODIFICATION_DATE,Aa as WARNING_COMPRESSED_PATCHED_DATA,fs as WARNING_COMPRESSION_UNAVAILABLE,Oa as WARNING_DUPLICATE_FILENAME,Ra as WARNING_MALFORMED_EXTRA_FIELD,Ma as WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG,Na as WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,va as WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,Ca as WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME,Ua as WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,ka as WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY,Ta as WARNING_PREPENDED_CENTRAL_DIRECTORY,za as WARNING_PREPENDED_DATA,Ia as WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,ga as WARNING_UNKNOWN_VERSION,Da as WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA,Sa as WARNING_UNSORTED_CENTRAL_DIRECTORY,xa as WARNING_WRAPPED_ENTRIES_COUNT,kn as Writer,Va as ZipReader,Za as ZipReaderStream,bs as ZipWriter,Ss as ZipWriterStream,Ct as configure,pc as createBlobTempStream,dc as createOPFSTempStream,Ec as createSyncAccessHandleTempStream,ic as getMimeType,ir as getRegisteredCodecs,sc as getSupportedCompressionMethods,Ha as isZipFile,nr as registerCodec,Lt as resetConfiguration,Cc as terminateWorkers,or as unregisterCodec};
|
|
1
|
+
const t=4294967295,e=65535,r=255,n=67324752,o=134695760,a=o,i=84233040,s=33639248,c=101010256,l=101075792,u=117853008,f=46,d=22,w=20,p=56,m=39169,h=21589,y=6534,E=30837,b=30805,S=2048,g=61440,A=16384,R=2048,D=1024,x="/",F=30,z=new Date(2107,11,31,23,59,58),I=new Date(1980,0,1),T=void 0,U=1/0,O="undefined",C="function",k="object",M="string",N="boolean",v=new Uint8Array,_=Symbol.asyncDispose||Symbol(),L="password",B="rawPassword",j="passThrough",P="signal",W="useWebWorkers",V="useCompressionStream",Z="transferStreams",H="preventClose",G="level",Y="useUnicodeFileNames",q="dataDescriptor",K="offset",X="usdz",J="maxAppendedDataSize",Q="entry",$="filename",tt="comment",et="strict",rt="balanced",nt="tolerant",ot="compressed",at="Invalid option (must be a function)",it="Invalid signal (must be an AbortSignal instance)",st="Invalid password (password must be a string, rawPassword must be a Uint8Array)",ct="Invalid passThrough option (must be a boolean or 'compressed')",lt="The operation was aborted";function ut(t){if(t&&typeof t!=C)throw new Error(at);return t}function ft(t){if(t&&(typeof t.addEventListener!=C||typeof t.aborted!=N))throw new Error(it);return t||T}function dt(t){if(t&&t.aborted)throw t.reason===T?new DOMException(lt,"AbortError"):t.reason}function wt(t,e){if(t&&typeof t!=M||e&&!(e instanceof Uint8Array))throw new Error(st)}function pt(t){if(t!==T&&typeof t!=N&&t!==ot)throw new Error(ct);return t}function mt(t,e,r){if(!Number.isInteger(t)||t<0||t>e)throw new Error(r)}function ht(t,e,r){t!==T&&mt(t,e,r)}function yt(t){return typeof t==M&&t.trim()?Number(t):t}const Et="Invalid maxWorkers (must be an integer greater than 0)",bt="Invalid baseURI (must be a string)",St="Invalid URI (must be a string or a function returning a string)";let gt=2;try{typeof navigator!=O&&navigator.hardwareConcurrency&&(gt=navigator.hardwareConcurrency)}catch{}const At={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:gt,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=O&&CompressionStream,DecompressionStream:typeof DecompressionStream!=O&&DecompressionStream},Rt="maxWorkers",Dt="baseURI",xt=["wasmURI","workerURI"],Ft=["chunkSize",Rt,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],zt=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],It=[Dt,...xt,"useCompressionStream","useWebWorkers","transferStreams",...Ft,...zt],Tt={...At};function Ut(){return Tt}function Ot(t){return Ct(t.chunkSize)}function Ct(t){return t=yt(t),Number.isInteger(t)&&t>=1?Math.max(t,64):65536}function kt(t){Object.assign(Tt,Mt(vt(t)))}function Mt(t){const e={};for(const r of It){const n=t[r];n!==T&&(e[r]=Nt(r,n))}return e}function Nt(t,e){if(Ft.includes(t)){if(e=yt(e),t==Rt&&(!Number.isInteger(e)||e<1))throw new Error(Et)}else if(zt.includes(t))ut(e);else if(t==Dt){if(e&&typeof e!=M)throw new Error(bt)}else if(xt.includes(t)&&e&&typeof e!=M&&typeof e!=C)throw new Error(St);return e}function vt(t){t=t||{};const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===T&&r===T)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===T&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===T&&(n.DecompressionStreamFallback=r),n}function _t(t){const e=Mt(vt(t));Object.assign(At,e),Object.assign(Tt,e)}function Lt(){for(const t of It)delete Tt[t];Object.assign(Tt,At)}function Bt(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function jt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function Pt(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}function Wt(t){return Boolean(t)&&"object"==typeof t}const Vt=[[],[],[],[],[],[],[],[]];for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)e=1&e?e>>>1^3988292384:e>>>1;Vt[0][t]=e}for(let t=0;t<256;t++)for(let e=1;e<8;e++){const r=Vt[e-1][t];Vt[e][t]=r>>>8^Vt[0][255&r]}const[Zt,Ht,Gt,Yt,qt,Kt,Xt,Jt]=Vt;class Qt{constructor(t){this.o=t||-1}append(t){let e=0|this.o;const r=0|t.length;let n=0;if(r>=8&&t.buffer){const o=new DataView(t.buffer,t.byteOffset,r),a=r-8;for(;n<=a;n+=8){const t=e^o.getInt32(n,!0),r=o.getInt32(n+4,!0);e=Jt[255&t]^Xt[t>>>8&255]^Kt[t>>>16&255]^qt[t>>>24&255]^Yt[255&r]^Gt[r>>>8&255]^Ht[r>>>16&255]^Zt[r>>>24&255]}}for(;n<r;n++)e=e>>>8^Zt[255&(e^t[n])];this.o=e}get(){return~this.o}}class $t extends TransformStream{constructor(){let t;const e=new Qt;super({transform(t,r){e.append(t),r.enqueue(t)},flush(){const r=new Uint8Array(4);new DataView(r.buffer).setUint32(0,e.get()),t.value=r}}),t=this}}function te(t){if(typeof TextEncoder==O){t=unescape(encodeURIComponent(t));const e=new Uint8Array(t.length);for(let r=0;r<e.length;r++)e[r]=t.charCodeAt(r);return e}return(new TextEncoder).encode(t)}const ee=64,re=20,ne=new Uint8Array([128]),oe=new Uint8Array(1),ae=new Int32Array([1732584193,4023233417,2562383102,271733878,3285377520]),ie=new Uint8Array(256),se=new Int32Array(256),ce=new Int32Array(256),le=new Int32Array(256),ue=new Int32Array(256);let fe=!1;function de(t,e){!function(){if(!fe){let t=1,e=1;do{t=255&(t^t<<1^(128&t?27:0)),e=255&(e^e<<1),e=255&(e^e<<2),e=255&(e^e<<4),128&e&&(e^=9),ie[t]=255&(e^(e<<1|e>>7)^(e<<2|e>>6)^(e<<3|e>>5)^(e<<4|e>>4)^99)}while(1!=t);ie[0]=99;for(let t=0;t<256;t++){const e=ie[t],r=he(e),n=r<<24|e<<16|e<<8|r^e;se[t]=n,ce[t]=n>>>8|n<<24,le[t]=n>>>16|n<<16,ue[t]=n>>>24|n<<8}fe=!0}}();const r=new Int32Array(60),n=function(t,e){const r=t.length>>2,n=r+6,o=4*(n+1);let a=1;for(let n=0;n<r;n++)e[n]=t[4*n]<<24|t[4*n+1]<<16|t[4*n+2]<<8|t[4*n+3];for(let t=r;t<o;t++){let n=e[t-1];t%r==0?(n=pe(n<<8|n>>>24)^a<<24,a=he(a)):r>6&&t%r==4&&(n=pe(n)),e[t]=e[t-r]^n}return n}(t,r),o=new Int32Array(4),a=we(e);let i=0,s=0,c=0,l=0;return{process(t,e){e&&a.update(t,0,t.length),function(t){const e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=t.length;let n=0;for(;n+16<=r;n+=16)u(),e.setInt32(n,e.getInt32(n)^o[0]),e.setInt32(n+4,e.getInt32(n+4)^o[1]),e.setInt32(n+8,e.getInt32(n+8)^o[2]),e.setInt32(n+12,e.getInt32(n+12)^o[3]);if(n<r){u();for(let e=0;n<r;n++,e++)t[n]^=o[e>>2]>>>24-8*(3&e)}}(t),e||a.update(t,0,t.length)},digest:()=>a.digest()};function u(){i=i+1|0,i||(s=s+1|0,s||(c=c+1|0,c||(l=l+1|0)));let t=me(i)^r[0],e=me(s)^r[1],a=me(c)^r[2],u=me(l)^r[3],f=se[t>>>24]^ce[e>>>16&255]^le[a>>>8&255]^ue[255&u]^r[4],d=se[e>>>24]^ce[a>>>16&255]^le[u>>>8&255]^ue[255&t]^r[5],w=se[a>>>24]^ce[u>>>16&255]^le[t>>>8&255]^ue[255&e]^r[6],p=se[u>>>24]^ce[t>>>16&255]^le[e>>>8&255]^ue[255&a]^r[7];t=se[f>>>24]^ce[d>>>16&255]^le[w>>>8&255]^ue[255&p]^r[8],e=se[d>>>24]^ce[w>>>16&255]^le[p>>>8&255]^ue[255&f]^r[9],a=se[w>>>24]^ce[p>>>16&255]^le[f>>>8&255]^ue[255&d]^r[10],u=se[p>>>24]^ce[f>>>16&255]^le[d>>>8&255]^ue[255&w]^r[11],f=se[t>>>24]^ce[e>>>16&255]^le[a>>>8&255]^ue[255&u]^r[12],d=se[e>>>24]^ce[a>>>16&255]^le[u>>>8&255]^ue[255&t]^r[13],w=se[a>>>24]^ce[u>>>16&255]^le[t>>>8&255]^ue[255&e]^r[14],p=se[u>>>24]^ce[t>>>16&255]^le[e>>>8&255]^ue[255&a]^r[15],t=se[f>>>24]^ce[d>>>16&255]^le[w>>>8&255]^ue[255&p]^r[16],e=se[d>>>24]^ce[w>>>16&255]^le[p>>>8&255]^ue[255&f]^r[17],a=se[w>>>24]^ce[p>>>16&255]^le[f>>>8&255]^ue[255&d]^r[18],u=se[p>>>24]^ce[f>>>16&255]^le[d>>>8&255]^ue[255&w]^r[19],f=se[t>>>24]^ce[e>>>16&255]^le[a>>>8&255]^ue[255&u]^r[20],d=se[e>>>24]^ce[a>>>16&255]^le[u>>>8&255]^ue[255&t]^r[21],w=se[a>>>24]^ce[u>>>16&255]^le[t>>>8&255]^ue[255&e]^r[22],p=se[u>>>24]^ce[t>>>16&255]^le[e>>>8&255]^ue[255&a]^r[23],t=se[f>>>24]^ce[d>>>16&255]^le[w>>>8&255]^ue[255&p]^r[24],e=se[d>>>24]^ce[w>>>16&255]^le[p>>>8&255]^ue[255&f]^r[25],a=se[w>>>24]^ce[p>>>16&255]^le[f>>>8&255]^ue[255&d]^r[26],u=se[p>>>24]^ce[f>>>16&255]^le[d>>>8&255]^ue[255&w]^r[27],f=se[t>>>24]^ce[e>>>16&255]^le[a>>>8&255]^ue[255&u]^r[28],d=se[e>>>24]^ce[a>>>16&255]^le[u>>>8&255]^ue[255&t]^r[29],w=se[a>>>24]^ce[u>>>16&255]^le[t>>>8&255]^ue[255&e]^r[30],p=se[u>>>24]^ce[t>>>16&255]^le[e>>>8&255]^ue[255&a]^r[31],t=se[f>>>24]^ce[d>>>16&255]^le[w>>>8&255]^ue[255&p]^r[32],e=se[d>>>24]^ce[w>>>16&255]^le[p>>>8&255]^ue[255&f]^r[33],a=se[w>>>24]^ce[p>>>16&255]^le[f>>>8&255]^ue[255&d]^r[34],u=se[p>>>24]^ce[f>>>16&255]^le[d>>>8&255]^ue[255&w]^r[35],f=se[t>>>24]^ce[e>>>16&255]^le[a>>>8&255]^ue[255&u]^r[36],d=se[e>>>24]^ce[a>>>16&255]^le[u>>>8&255]^ue[255&t]^r[37],w=se[a>>>24]^ce[u>>>16&255]^le[t>>>8&255]^ue[255&e]^r[38],p=se[u>>>24]^ce[t>>>16&255]^le[e>>>8&255]^ue[255&a]^r[39];let m=40;n>10&&(t=se[f>>>24]^ce[d>>>16&255]^le[w>>>8&255]^ue[255&p]^r[40],e=se[d>>>24]^ce[w>>>16&255]^le[p>>>8&255]^ue[255&f]^r[41],a=se[w>>>24]^ce[p>>>16&255]^le[f>>>8&255]^ue[255&d]^r[42],u=se[p>>>24]^ce[f>>>16&255]^le[d>>>8&255]^ue[255&w]^r[43],f=se[t>>>24]^ce[e>>>16&255]^le[a>>>8&255]^ue[255&u]^r[44],d=se[e>>>24]^ce[a>>>16&255]^le[u>>>8&255]^ue[255&t]^r[45],w=se[a>>>24]^ce[u>>>16&255]^le[t>>>8&255]^ue[255&e]^r[46],p=se[u>>>24]^ce[t>>>16&255]^le[e>>>8&255]^ue[255&a]^r[47],m=48),n>12&&(t=se[f>>>24]^ce[d>>>16&255]^le[w>>>8&255]^ue[255&p]^r[48],e=se[d>>>24]^ce[w>>>16&255]^le[p>>>8&255]^ue[255&f]^r[49],a=se[w>>>24]^ce[p>>>16&255]^le[f>>>8&255]^ue[255&d]^r[50],u=se[p>>>24]^ce[f>>>16&255]^le[d>>>8&255]^ue[255&w]^r[51],f=se[t>>>24]^ce[e>>>16&255]^le[a>>>8&255]^ue[255&u]^r[52],d=se[e>>>24]^ce[a>>>16&255]^le[u>>>8&255]^ue[255&t]^r[53],w=se[a>>>24]^ce[u>>>16&255]^le[t>>>8&255]^ue[255&e]^r[54],p=se[u>>>24]^ce[t>>>16&255]^le[e>>>8&255]^ue[255&a]^r[55],m=56),o[0]=(ie[f>>>24]<<24|ie[d>>>16&255]<<16|ie[w>>>8&255]<<8|ie[255&p])^r[m],o[1]=(ie[d>>>24]<<24|ie[w>>>16&255]<<16|ie[p>>>8&255]<<8|ie[255&f])^r[m+1],o[2]=(ie[w>>>24]<<24|ie[p>>>16&255]<<16|ie[f>>>8&255]<<8|ie[255&d])^r[m+2],o[3]=(ie[p>>>24]<<24|ie[f>>>16&255]<<16|ie[d>>>8&255]<<8|ie[255&w])^r[m+3]}}function we(t){const e=function(){const t=new Int32Array(ae),e=new Int32Array(16),r=new Uint8Array(ee),n=new DataView(r.buffer),o=new Uint8Array(8);let a=0,i=0;return{update:s,digest:function(){const e=8*i,r=Math.floor(e/4294967296),n=e>>>0;for(s(ne,0,1);56!=a;)s(oe,0,1);o[0]=r>>>24,o[1]=r>>>16,o[2]=r>>>8,o[3]=r,o[4]=n>>>24,o[5]=n>>>16,o[6]=n>>>8,o[7]=n,s(o,0,8);const c=new Uint8Array(re),l=new DataView(c.buffer);for(let e=0;e<t.length;e++)l.setInt32(4*e,t[e]);return t.set(ae),a=0,i=0,c}};function s(t,e,o){const s=e+o;if(i+=o,a){for(;e<s&&a<ee;)r[a++]=t[e++];a==ee&&(c(n,0),a=0)}if(e+ee<=s){const r=new DataView(t.buffer,t.byteOffset,t.byteLength);for(;e+ee<=s;e+=ee)c(r,e)}for(;e<s;)r[a++]=t[e++]}function c(r,n){for(let t=0;t<16;t++)e[t]=r.getInt32(n+4*t);let o,a=t[0],i=t[1],s=t[2],c=t[3],l=t[4];for(let t=0;t<15;t+=5)l=(a<<5|a>>>27)+((s^c)&i^c)+l+1518500249+e[t]|0,i=i<<30|i>>>2,c=(l<<5|l>>>27)+((i^s)&a^s)+c+1518500249+e[t+1]|0,a=a<<30|a>>>2,s=(c<<5|c>>>27)+((a^i)&l^i)+s+1518500249+e[t+2]|0,l=l<<30|l>>>2,i=(s<<5|s>>>27)+((l^a)&c^a)+i+1518500249+e[t+3]|0,c=c<<30|c>>>2,a=(i<<5|i>>>27)+((c^l)&s^l)+a+1518500249+e[t+4]|0,s=s<<30|s>>>2;l=(a<<5|a>>>27)+((s^c)&i^c)+l+1518500249+e[15]|0,i=i<<30|i>>>2,o=e[13]^e[8]^e[2]^e[0],o=o<<1|o>>>31,e[0]=o,c=(l<<5|l>>>27)+((i^s)&a^s)+c+1518500249+o|0,a=a<<30|a>>>2,o=e[14]^e[9]^e[3]^e[1],o=o<<1|o>>>31,e[1]=o,s=(c<<5|c>>>27)+((a^i)&l^i)+s+1518500249+o|0,l=l<<30|l>>>2,o=e[15]^e[10]^e[4]^e[2],o=o<<1|o>>>31,e[2]=o,i=(s<<5|s>>>27)+((l^a)&c^a)+i+1518500249+o|0,c=c<<30|c>>>2,o=e[0]^e[11]^e[5]^e[3],o=o<<1|o>>>31,e[3]=o,a=(i<<5|i>>>27)+((c^l)&s^l)+a+1518500249+o|0,s=s<<30|s>>>2;for(let t=20;t<40;t+=5)o=e[t-3&15]^e[t-8&15]^e[t-14&15]^e[15&t],o=o<<1|o>>>31,e[15&t]=o,l=(a<<5|a>>>27)+(i^s^c)+l+1859775393+o|0,i=i<<30|i>>>2,o=e[t-2&15]^e[t-7&15]^e[t-13&15]^e[t+1&15],o=o<<1|o>>>31,e[t+1&15]=o,c=(l<<5|l>>>27)+(a^i^s)+c+1859775393+o|0,a=a<<30|a>>>2,o=e[t-1&15]^e[t-6&15]^e[t-12&15]^e[t+2&15],o=o<<1|o>>>31,e[t+2&15]=o,s=(c<<5|c>>>27)+(l^a^i)+s+1859775393+o|0,l=l<<30|l>>>2,o=e[15&t]^e[t-5&15]^e[t-11&15]^e[t+3&15],o=o<<1|o>>>31,e[t+3&15]=o,i=(s<<5|s>>>27)+(c^l^a)+i+1859775393+o|0,c=c<<30|c>>>2,o=e[t+1&15]^e[t-4&15]^e[t-10&15]^e[t+4&15],o=o<<1|o>>>31,e[t+4&15]=o,a=(i<<5|i>>>27)+(s^c^l)+a+1859775393+o|0,s=s<<30|s>>>2;for(let t=40;t<60;t+=5)o=e[t-3&15]^e[t-8&15]^e[t-14&15]^e[15&t],o=o<<1|o>>>31,e[15&t]=o,l=(a<<5|a>>>27)+(i&s|(i|s)&c)+l+2400959708+o|0,i=i<<30|i>>>2,o=e[t-2&15]^e[t-7&15]^e[t-13&15]^e[t+1&15],o=o<<1|o>>>31,e[t+1&15]=o,c=(l<<5|l>>>27)+(a&i|(a|i)&s)+c+2400959708+o|0,a=a<<30|a>>>2,o=e[t-1&15]^e[t-6&15]^e[t-12&15]^e[t+2&15],o=o<<1|o>>>31,e[t+2&15]=o,s=(c<<5|c>>>27)+(l&a|(l|a)&i)+s+2400959708+o|0,l=l<<30|l>>>2,o=e[15&t]^e[t-5&15]^e[t-11&15]^e[t+3&15],o=o<<1|o>>>31,e[t+3&15]=o,i=(s<<5|s>>>27)+(c&l|(c|l)&a)+i+2400959708+o|0,c=c<<30|c>>>2,o=e[t+1&15]^e[t-4&15]^e[t-10&15]^e[t+4&15],o=o<<1|o>>>31,e[t+4&15]=o,a=(i<<5|i>>>27)+(s&c|(s|c)&l)+a+2400959708+o|0,s=s<<30|s>>>2;for(let t=60;t<80;t+=5)o=e[t-3&15]^e[t-8&15]^e[t-14&15]^e[15&t],o=o<<1|o>>>31,e[15&t]=o,l=(a<<5|a>>>27)+(i^s^c)+l+3395469782+o|0,i=i<<30|i>>>2,o=e[t-2&15]^e[t-7&15]^e[t-13&15]^e[t+1&15],o=o<<1|o>>>31,e[t+1&15]=o,c=(l<<5|l>>>27)+(a^i^s)+c+3395469782+o|0,a=a<<30|a>>>2,o=e[t-1&15]^e[t-6&15]^e[t-12&15]^e[t+2&15],o=o<<1|o>>>31,e[t+2&15]=o,s=(c<<5|c>>>27)+(l^a^i)+s+3395469782+o|0,l=l<<30|l>>>2,o=e[15&t]^e[t-5&15]^e[t-11&15]^e[t+3&15],o=o<<1|o>>>31,e[t+3&15]=o,i=(s<<5|s>>>27)+(c^l^a)+i+3395469782+o|0,c=c<<30|c>>>2,o=e[t+1&15]^e[t-4&15]^e[t-10&15]^e[t+4&15],o=o<<1|o>>>31,e[t+4&15]=o,a=(i<<5|i>>>27)+(s^c^l)+a+3395469782+o|0,s=s<<30|s>>>2;t[0]=t[0]+a|0,t[1]=t[1]+i|0,t[2]=t[2]+s|0,t[3]=t[3]+c|0,t[4]=t[4]+l|0}}(),r=new Uint8Array(ee),n=new Uint8Array(ee);t.length>ee&&(e.update(t,0,t.length),t=e.digest());for(let e=0;e<ee;e++){const o=e<t.length?t[e]:0;r[e]=54^o,n[e]=92^o}return e.update(r,0,ee),{update(t,r,n){e.update(t,r,n)},digest(){const t=e.digest();e.update(n,0,ee),e.update(t,0,re);const o=e.digest();return e.update(r,0,ee),o}}}function pe(t){return ie[t>>>24]<<24|ie[t>>>16&255]<<16|ie[t>>>8&255]<<8|ie[255&t]}function me(t){return t<<24|(65280&t)<<8|t>>>8&65280|t>>>24}function he(t){return 255&(t<<1^27*(t>>7))}const ye=typeof crypto!=O&&typeof crypto.getRandomValues==C,Ee="Invalid password",be="Invalid authentication code",Se="zipjs-abort-check-password",ge="Crypto API not supported";function Ae(t){if(ye)return crypto.getRandomValues(t);throw new Error(ge)}const Re={name:"PBKDF2"},De=Object.assign({hash:{name:"HMAC"}},Re),xe=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},Re),Fe=["deriveBits"],ze=[8,12,16],Ie=[16,24,32],Te=10,Ue=typeof crypto!=O,Oe=Ue&&crypto.subtle;let Ce=Ue&&typeof Oe!=O&&typeof Oe.importKey==C&&typeof Oe.deriveBits==C,ke=de;class Me extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:o=!0}){super({start(){ve(this,t,e,r)},async transform(t,e){const r=this,{password:o,strength:a,l:i,ready:s}=r;o?(await async function(t,e,r,n){const o=await Be(t,e,r,Pe(n,0,ze[e])),a=Pe(n,ze[e]);if(o[0]!=a[0]||o[1]!=a[1])throw Le(t),new Error(Ee)}(r,a,o,Pe(t,0,ze[a]+2)),t=Pe(t,ze[a]+2),n?(Le(r),e.error(new Error(Se))):i()):await s;const c=new Uint8Array(t.length-Te-(t.length-Te)%16);e.enqueue(_e(r,t,c,0,Te,!0))},async flush(t){const{m:e,h:r,ready:n}=this;if(e){await n;const a=Pe(r,r.length-Te),i=new Uint8Array(Pe(r,0,r.length-Te));e.process(i,!0);const s=e.digest();let c=r.length<Te?1:0;for(let t=0;t<Te;t++)c|=s[t]^a[t];if(c&&o)throw new Error(be);t.enqueue(i)}},cancel(){Le(this)}})}}class Ne extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){ve(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:o,l:a,ready:i}=r;let s=v;n?(s=await async function(t,e,r){const n=Ae(new Uint8Array(ze[e]));return Bt(n,await Be(t,e,r,n))}(r,o,n),a()):await i;const c=new Uint8Array(s.length+t.length-t.length%16);c.set(s,0),e.enqueue(_e(r,t,c,s.length,0,!1))},async flush(t){const{m:e,h:r,ready:n}=this;if(e){await n;const o=new Uint8Array(r);e.process(o,!1);const a=Pe(e.digest(),0,Te);t.enqueue(Bt(o,a))}},cancel(){Le(this)}})}}function ve(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.l=e),password:je(e,r),strength:n-1,h:v})}function _e(t,e,r,n,o,a){const{m:i,h:s}=t;s.length&&(e=Bt(s,e));const c=e.length-o,l=c-c%16;if(r=function(t,e){if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t}(r,n+l),l){const t=Pe(r,n,n+l);t.set(Pe(e,0,l)),i.process(t,a)}return t.h=Pe(e,l),r}function Le({m:t}){t&&t.dispose&&t.dispose()}async function Be(t,e,r,n){t.password=null;const o=Ie[e],a=await async function(t,e,r){if(Ce)try{const n=await Oe.importKey("raw",t,De,!1,Fe);return new Uint8Array(await Oe.deriveBits(Object.assign({salt:e},xe),n,8*r))}catch{Ce=!1}return function(t,e,r,n){const o=we(t),a=new Uint8Array(n),i=new Uint8Array(e.length+4),s=new DataView(i.buffer);i.set(e);for(let t=1,r=0;r<n;t++,r+=re){s.setUint32(e.length,t),o.update(i,0,i.length);let c=o.digest();const l=c.slice();for(let t=1;t<1e3;t++){o.update(c,0,re),c=o.digest();for(let t=0;t<re;t++)l[t]^=c[t]}a.set(l.subarray(0,Math.min(re,n-r)),r)}return a}(t,e,0,r)}(r,n,2*o+2);return t.m=ke(Pe(a,0,o),Pe(a,o,2*o)),Pe(a,2*o)}function je(t,e){return e===T?te(t):e}function Pe(t,e,r){return t.subarray(e,r)}class We extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Ze(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=He(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw new Error(Ee);t=t.subarray(12)}n?e.error(new Error(Se)):e.enqueue(He(r,t))}})}}class Ve extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Ze(this,t,e,r)},transform(t,e){const r=this;let n,o;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=Ae(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set(Ge(r,e),0),o=12}else n=new Uint8Array(t.length),o=0;n.set(Ge(r,t),o),e.enqueue(n)}})}}function Ze(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),function(t,e,r){const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,S:new Qt(n[0]),A:new Qt(n[2])}),r)for(let e=0;e<r.length;e++)Ye(t,r[e]);else for(let r=0;r<e.length;r++)Ye(t,e.charCodeAt(r))}(t,e,r)}function He(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=qe(t)^e[n],Ye(t,r[n]);return r}function Ge(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=qe(t)^e[n],Ye(t,e[n]);return r}function Ye(t,e){let[,r]=t.keys;t.S.append([e]);const n=~t.S.get();r=Xe(Math.imul(Xe(r+Ke(n)),134775813)+1),t.A.append([r>>>24]);const o=~t.A.get();t.keys=[n,r,o]}function qe(t){const e=2|t.keys[2];return Ke(Math.imul(e,1^e)>>>8)}function Ke(t){return 255&t}function Xe(t){return 4294967295&t}function Je(t){if(t instanceof ReadableStream)return t;const e=t.getReader();return new ReadableStream({async pull(t){const{value:r,done:n}=await e.read();n?t.close():t.enqueue(r)},cancel:t=>e.cancel(t)})}function Qe(t,e){t=Je(t);const r=e?{type:e}:{};if(typeof Blob.prototype.stream!=C||new Blob([]).stream()instanceof ReadableStream)return new Response(t).blob().then(t=>e?new Blob([t],r):t);const n=[];return t.pipeTo(new WritableStream({write(t){n.push(t)}})).then(()=>new Blob(n,r))}function $e(t){if(t instanceof WritableStream)return t;const e=t.getWriter();return new WritableStream({write:t=>e.write(t),close:()=>e.close(),abort:t=>e.abort(t)})}const tr="Invalid codec definition",er="Reserved compression method",rr="Invalid codec module",nr="Compression method not supported",or=[0,8,9,99],ar=new Map,ir=new Map;function sr(t={}){const{compressionMethod:r,format:n,codecURI:o,CompressionStream:a,DecompressionStream:i,versionNeeded:s}=t;if(!Number.isInteger(r)||r<0||r>e||typeof n!=M||!n.length)throw new Error(tr);if(or.includes(r))throw new Error(er);const c=typeof a==C||typeof i==C;if(!(c||typeof o==M&&o.length))throw new Error(tr);ar.set(r,{compressionMethod:r,format:n,codecURI:o,versionNeeded:s}),c&&dr(n,{CompressionStream:a,DecompressionStream:i})}function cr(t){const e=ar.get(t);if(e){let r;ar.delete(t),ar.forEach(t=>r=r||t.format==e.format),r||ir.delete(e.format)}}function lr(t){return ar.get(t)}function ur(){return Array.from(ar.values(),t=>Object.assign({},t,ir.get(t.format)))}function fr(t){return ir.get(t)}function dr(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=C&&typeof n!=C)throw new Error(rr);ir.set(t,{CompressionStream:r,DecompressionStream:n})}const wr="Invalid uncompressed size",pr="Invalid compressed data",mr="Invalid CRC32",hr="deflate-raw",yr="deflate64-raw",Er="gzip",br=[31,139,8];class Sr extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:o,encrypted:a,useCompressionStream:i,zipCrypto:s,computeCrc32:c,level:l,deflate64:u,format:f,compressionMethod:d,inputSize:w}=t,p=this;let m,h,y,E=super.readable;const b=f&&fr(f),S=c&&o&&!u&&!b&&(!a||s)&&Boolean(i&&n);if(a&&!s||!c||S||(m=new $t,E=Tr(E,m)),o)if(b)E=Ur(E,zr(b.CompressionStream,f,{level:l,chunkSize:e,compressionMethod:d,uncompressedSize:w}));else if(S)y=new gr,E=Ur(E,new n(Er)),E=Tr(E,y);else try{E=Ir(E,i,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(Er)}catch{throw t}E=Ur(E,e),E=Tr(E,new gr)}a&&(s?E=Tr(E,new Ve(t)):(h=new Ne(t),E=Tr(E,h))),Fr(p,E,()=>{a&&!s||!c||(p.crc32=S?y.crc32:new DataView(m.value.buffer).getUint32(0))})}}class gr extends TransformStream{constructor(){let t,e=10,r=new Uint8Array(0);super({transform(t,n){if(e){const r=Math.min(e,t.length);if(e-=r,!(t=t.subarray(r)).length)return}const o=r.length+t.length;if(o<=8)return void(r=Bt(r,t));const a=o-8,i=Math.min(a,r.length);n.enqueue(Bt(r.subarray(0,i),t.subarray(0,a-i))),r=Bt(r.subarray(i),t.subarray(a-i))},flush(){const e=Pt(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class Ar extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:o,encrypted:a,checkCrc32:i,crc32:s,compressed:c,useCompressionStream:l,deflate64:u,format:f,compressionMethod:d,rawBitFlag:w,outputSize:p}=t;let m,h,y=super.readable;if(a&&(o?y=Tr(y,new We(t)):(h=new Me(t),y=Tr(y,h))),c){const t=f&&fr(f);if(t)y=Ur(y,zr(t.DecompressionStream,f,{chunkSize:e,compressionMethod:d,rawBitFlag:w,uncompressedSize:p}));else try{y=Ir(y,l,{chunkSize:e,deflate64:u},n,r)}catch(t){if(u||p===T)throw t;let e;try{e=new n(Er)}catch{throw t}y=function(t,e,r){const n=new Qt;let o,a,i,s=0,c=!1;const l=new Promise((t,e)=>{a=t,i=e});l.catch(()=>{}),r||a();const u=new TransformStream({start(t){const e=new Uint8Array(10);e.set(br),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,d();try{await l}finally{w()}const e=new Uint8Array(8),o=Pt(e);o.setUint32(0,n.get(),!0),o.setUint32(4,r,!0),t.enqueue(e)},cancel(t){i(t)}}),f=new TransformStream({transform(t,e){n.append(t),s+=t.length,s>=r?a():c&&d(),e.enqueue(t)},cancel(t){i(t)}});return t=Tr(t,u),Tr(t=Ur(t,e),f);function d(){w(),o=setTimeout(()=>i(new Error(wr)),5e3)}function w(){clearTimeout(o)}}(y,e,p)}y=function(t){const e=t.getReader();return new ReadableStream({async pull(t){let r;try{r=await e.read()}catch(t){if(t&&t.message)throw t;const e=new Error(pr);throw e.cause=t,e}const{value:n,done:o}=r;o?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})}(y)}i&&(m=new $t,y=Tr(y,m)),Fr(this,y,()=>{if(i){const t=new DataView(m.value.buffer);if(s!=t.getUint32(0,!1))throw new Error(mr)}})}}const Rr=new Map;function Dr(t,e){if(!t)return!1;let r=Rr.get(t);r||(r=new Map,Rr.set(t,r));let n=r.get(e);if(n===T){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function xr(t){return Dr(t,hr)}function Fr(t,e,r){e=Tr(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function zr(t,e,r){if(!t)throw new Error(nr);return new t(e,r)}function Ir(t,e,r,n,o){const a=e&&n?n:o||n,i=r.deflate64?yr:hr;let s;try{s=new a(i,r)}catch(t){if(!e||!o||a==o)throw t;s=new o(i,r)}return Ur(t,s)}function Tr(t,e){return Je(t).pipeThrough(e)}function Ur(t,e){const r=e.writable.getWriter(),n=t.getReader();return async function(){try{for(;;){await r.ready;const t=await n.read();if(t.done){await r.close();break}await r.write(t.value)}}catch(t){await async function(t,e){try{await t.abort(e)}catch{}}(r,t),await async function(t,e){try{await t.cancel(e)}catch{}}(n,t)}}(),e.readable}const Or="data",Cr="deflate",kr="inflate";class Mr extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let o;n.startsWith(Cr)?o=Sr:n.startsWith(kr)&&(o=Ar),r.outputSize=0;let a=0;const i=new o(t,e),s=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(a+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:a})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==T&&r.outputSize>t.outputSize))throw new Error(wr)},flush(){const{crc32:t}=i;Object.assign(r,{crc32:t,inputSize:a})}});Object.defineProperty(r,"readable",{get:()=>s.pipeThrough(c).pipeThrough(i).pipeThrough(l)})}}class Nr extends TransformStream{constructor(t){const e=[];let r=0,n=0;function o(){const n=new Uint8Array(t);let o=0;for(;o<t;){const r=e[0],a=t-o;r.length<=a?(n.set(r,o),o+=r.length,e.shift()):(n.set(r.subarray(0,a),o),e[0]=r.subarray(a),o+=a)}return r-=t,n}(!Number.isFinite(t)||t<1)&&(t=65536),super({transform(a,i){for(e.push(a),r+=a.length;r>t;)n+=t,i.enqueue(o())},flush(t){r&&(n+=r,t.enqueue(function(t,e){const r=new Uint8Array(e);let n=0;for(const e of t)r.set(e,n),n+=e.length;return r}(e,r)))}}),Object.defineProperty(this,"outputSize",{get:()=>n})}}const vr="Worker startup timeout";let _r,Lr,Br,jr=()=>{};async function Pr(t){if(jr)try{return await jr(t),!0}catch{}return!1}function Wr(t){t.createWorker?Lr=!0:_r=!1}class Vr{constructor(t,{readable:e,writable:r},n,o){const{options:a,config:i,R:s,useWebWorkers:c,transferStreams:l,workerURI:u}=n;let{createWorker:f}=n;const{signal:d}=s;return Lr&&(f=T),Object.assign(t,{D:!0,F:(t.F||0)+1,readable:e.pipeThrough(new Nr(Ot(i))).pipeThrough(new Zr(s),{signal:d}),writable:r,options:Object.assign({},a),I:n,workerURI:u,createWorker:f,transferStreams:l,terminate:()=>new Promise(e=>{const{T:r,D:n}=t;n?(t.U=t.U||[],t.U.push(e)):(r&&(r.terminate(),t.T=null),e()),t.O=null}),C(){if(t.D){const{U:e,T:r}=t;e&&(t.U=null,r&&(t.M=!0,r.terminate()),e.forEach(t=>t())),t.D=!1,o(t)}}}),_r===T&&(_r=typeof Worker!=O),(c&&Br&&(_r&&u||f)?Br:Gr)(t,i)}}class Zr extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let o=0;super({async start(){t&&await Hr(t,r)},async transform(t,n){o+=t.length,e&&await Hr(e,o,r),n.enqueue(t)},async flush(){n&&await Hr(n,o)}})}}async function Hr(t,...e){try{await t(...e)}catch{}}function Gr(t,e){return{run:()=>Yr(t,e)}}async function Yr({options:t,readable:e,writable:r,C:n,I:o},a){let i,s,c;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Cr),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;t.useCompressionStream?r&&r.N&&!xr(n)&&await l():await l()||r&&!r.N||(t.useCompressionStream=!0)}t.encrypted&&!t.zipCrypto&&await l(),i=new Mr(t,a),s=new Nr(Ot(a)),await e.pipeThrough(i).pipeThrough(s).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:c}=i;return{crc32:n,inputSize:o,outputSize:c}}catch(t){if(i){const e=s?s.outputSize:0;if(o.outputSize=e,Wt(t))try{t.outputSize=e}catch{}}throw t}finally{n()}function l(){return c||(c=Pr(a)),c}}const qr={type:"module"},Kr="error";let Xr,Jr,Qr,$r=!0;try{$r=typeof structuredClone==C&&structuredClone(new DOMException("","AbortError")).code!==T}catch{}var tn;function en(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function rn(t){const{T:e}=t;if(e)try{e.terminate()}catch{}t.O=null}function nn(t,e,r,n,o=!0){const{createWorker:a}=r;let i,s,c;if(a)i=a();else if(Jr===T||Xr!==t){const a=typeof t==C;s=a?t(o):t;const l=s.startsWith("data:"),u=s.startsWith("blob:");if(l||u){n===T&&(n=!1),n&&(c=qr);try{i=new Worker(s,c)}catch(o){if(u)try{URL.revokeObjectURL(s)}catch{}if(a&&u)return nn(t,e,r,n,!1);if(n)throw o;return nn(t,e,r,!0,!1)}}else{n===T&&(n=!0),n&&(c=qr);try{s=new URL(s,e)}catch{}try{i=new Worker(s,c)}catch(a){if(n)return nn(t,e,r,!1,o);throw a}}Xr=t,Jr=s,Qr=c}else i=new Worker(Jr,Qr);return i.addEventListener("message",t=>{r.v=!0,on(r),async function({data:t},e){const{type:r,value:n,messageId:o,result:a,error:i,errorValue:s}=t,{reader:c,writer:l,_:u,L:f,C:d,F:w}=e,p=()=>e.F!=w;try{if(i)m(function(t,e){const{message:r,stack:n,code:o,name:a,outputSize:i,cause:s,codecImportFailed:c}=t;let l;if(e?l=e.value:(l=Object.assign(new Error(r),{stack:n,code:o,name:a}),s&&(l.cause=Object.assign(new Error(s.message),{name:s.name}))),Wt(l))try{i!==T&&(l.outputSize=i),c&&(l.codecImportFailed=!0),e&&(l.name!==a&&(l.name=a),l.code!==o&&(l.code=o))}catch{}return l}(i,s));else{if("pull"==r){const{value:t,done:r}=await c.read();p()||sn({type:Or,value:t,done:r,messageId:o},e)}if(r==Or){const t=new Uint8Array(n);await l.ready,await l.write(t),p()||sn({type:"ack",messageId:o},e)}"close"==r&&function(t){p()||(u(t),h(),d())}(a)}}catch(i){p()||(rn(e),m(i))}function m(t){p()||(f(t),h(),Wt(t)&&t.codecImportFailed||d())}function h(){l&&l.releaseLock()}}(t,r)}),i.addEventListener(Kr,t=>an(t,r)),i.addEventListener("messageerror",t=>an(t,r)),i}function on(t){const{B:e}=t;e&&(clearTimeout(e),t.B=null)}function an(t,e){t.preventDefault&&t.preventDefault(),on(e);const{v:r,L:n,writer:o,C:a}=e;rn(e),r||(e.T=null);let i=t.error||new Error(t.message||Kr);r||(i=Object.assign(new Error(i.message||Kr),{j:!0}),e.P=i),n&&(n(i),o&&o.releaseLock(),r&&a())}function sn(t,{T:e,writer:r,transferStreams:n,v:o}){try{const{value:r,readable:a,writable:i}=t,s=[];if(r&&(t.value=jt(r),s.push(t.value.buffer)),n&&$r&&o?(a&&s.push(a),i&&s.push(i)):t.readable=t.writable=null,s.length)try{return e.postMessage(t,s),!0}catch{$r=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}tn=function(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:o}=e;let{wasmURI:a}=e;if(!t.O){let i;typeof a==C&&(a=a());try{i=nn(t.workerURI,r,t)}catch{return Wr(t),Gr(t,e)}Object.assign(t,{T:i,v:!1,M:!1,P:null,O:{run:async()=>{try{return await async function(t,e){if(!t.T){const{P:e}=t;t.P=null;const r=e||new Error(vr);throw r.j=!0,r}let r,n;const o=new Promise((e,o)=>{r=e,n=e=>{const{outputSize:r,I:n}=t;if(n.outputSize=r,Wt(e))try{e.outputSize=r}catch{}o(e)}});Object.assign(t,{reader:null,writer:null,outputSize:0,W:!1,V:null,_:r,L:n,result:o});const{readable:a,options:i}=t,{writable:s,closed:c,Z:l}=function(t,e){const r=new AbortController;let n;const{writable:o,readable:a}=new TransformStream({transform(t,r){e.outputSize+=t.length,r.enqueue(t)}}),i=a.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:r.signal});return i.catch(t=>{n||Object.assign(e,{W:!0,V:t})}),{writable:o,closed:i,Z:()=>{n=!0,r.abort()}}}(t.writable,t);let u;try{u=sn({type:"start",options:i,config:e,readable:a,writable:s},t)}catch(e){l();try{await c}catch{}throw t.C(),e}u||Object.assign(t,{reader:a.getReader(),writer:s.getWriter()});const{workerStartupTimeout:f}=e;!t.v&&Number.isFinite(f)&&f>=0&&(t.B=setTimeout(()=>function(t){if(t.B=null,t.v)return;const{L:e,writer:r}=t;if(rn(t),t.T=null,e){const t=new Error(vr);t.j=!0,e(t),r&&r.releaseLock()}}(t),f));try{const t=await o;return await d(),await c,t}catch(e){await d(),l();try{await c}catch{}const{outputSize:r,I:n,W:o,V:a}=t;n.outputSize=r;const i=Wt(e)&&(e.codecImportFailed||e.j),s=o&&!i?a:e;if(Wt(s))try{s.outputSize=r}catch{}throw s}async function d(){if(!u&&!s.locked)try{await s.getWriter().close()}catch{}}}(t,{chunkSize:n,wasmURI:a,baseURI:r,workerStartupTimeout:o})}catch(r){if(r&&r.j)return Wr(t),en(t),Yr(t,e);if(r&&r.codecImportFailed){if(t.reader)return en(t),Yr(t,e);t.C()}throw r}}}})}return t.O},Br=tn;let cn=[];const ln=[];let un,fn,dn=0;async function wn(t,e){const{options:r,config:n}=e,{transferStreams:o,useWebWorkers:a,useCompressionStream:i,compressed:s,checkCrc32:c,computeCrc32:l,encrypted:u,format:f,codecURI:d}=r,{workerURI:w,createWorker:p,maxWorkers:m}=n;f&&(d&&(r.codecURI=function(t,e){try{return new URL(t,e).toString()}catch{return t}}(d,n.baseURI)),await async function(t,e){!ir.has(t)&&e&&dr(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))}(f,r.codecURI)),e.transferStreams=!f&&(o||o===T&&n.transferStreams);const h=!(s||c||l||u),y=f===T||Boolean(r.codecURI);return e.useWebWorkers=!h&&y&&(a||a===T&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:T,e.createWorker=e.useWebWorkers&&p?p:T,r.useCompressionStream=i||i===T&&n.useCompressionStream,(await async function(){const r=cn.find(t=>!t.D);if(r)return En(r),new Vr(r,t,e,E);if(cn.length<m){const r={H:dn};return dn++,cn.push(r),new Vr(r,t,e,E)}return new Promise(r=>{ln.push({resolve:r,stream:t,I:e}),fn=n.workerStarvationTimeout,pn()})}()).run();function E(t){if(mn(),ln.length){const[{resolve:e,stream:r,I:n}]=ln.splice(0,1);e(new Vr(t,r,n,E)),pn()}else t.T?(En(t),function(t,e){const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.M?t.M=!1:t.G=setTimeout(async()=>{cn=cn.filter(e=>e!=t);try{await t.terminate()}catch{}},n))}(t,e)):cn=cn.filter(e=>e!=t)}}function pn(){!un&&ln.length&&Number.isFinite(fn)&&fn>=0&&(un=setTimeout(hn,fn))}function mn(){un&&(clearTimeout(un),un=null)}function hn(){if(un=null,ln.length){const[{resolve:t,stream:e,I:r}]=ln.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:T,createWorker:T});t(new Vr({},e,n,yn)),pn()}}function yn(){mn(),pn()}function En(t){const{G:e}=t;e&&(clearTimeout(e),t.G=null)}const bn="\0\u263a\u263b\u2665\u2666\u2663\u2660\u2022\u25d8\u25cb\u25d9\u2642\u2640\u266a\u266b\u263c\u25ba\u25c4\u2195\u203c\xb6\xa7\u25ac\u21a8\u2191\u2193\u2192\u2190\u221f\u2194\u25b2\u25bc !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\u2302\xc7\xfc\xe9\xe2\xe4\xe0\xe5\xe7\xea\xeb\xe8\xef\xee\xec\xc4\xc5\xc9\xe6\xc6\xf4\xf6\xf2\xfb\xf9\xff\xd6\xdc\xa2\xa3\xa5\u20a7\u0192\xe1\xed\xf3\xfa\xf1\xd1\xaa\xba\xbf\u2310\xac\xbd\xbc\xa1\xab\xbb\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255d\u255c\u255b\u2510\u2514\u2534\u252c\u251c\u2500\u253c\u255e\u255f\u255a\u2554\u2569\u2566\u2560\u2550\u256c\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256b\u256a\u2518\u250c\u2588\u2584\u258c\u2590\u2580\u03b1\xdf\u0393\u03c0\u03a3\u03c3\xb5\u03c4\u03a6\u0398\u03a9\u03b4\u221e\u03c6\u03b5\u2229\u2261\xb1\u2265\u2264\u2320\u2321\xf7\u2248\xb0\u2219\xb7\u221a\u207f\xb2\u25a0\xa0".split("");function Sn(t,e){return gn(t,e,!0)}function gn(t,e,r){return e&&"cp437"==e.trim().toLowerCase()?function(t){let e="";for(let r=0;r<t.length;r++)e+=bn[t[r]];return e}(t):new TextDecoder(e,{ignoreBOM:r}).decode(t)}const An="HTTP error ",Rn="HTTP Range not supported",Dn="HTTP resource changed",xn="Writer iterator completed too soon",Fn="Writer not initialized",zn="Invalid writer (size must be writable)",In="Content-Range",Tn="Range",Un="GET",On="bytes",Cn=16777216,kn="writable",Mn=Symbol();class Nn{constructor(){this.size=0}init(){this.initialized=!0}}class vn extends Nn{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=Ot(Ut())}={}){const n=this;let o=0;return r=Ct(r),new ReadableStream({async pull(a){const i=e===T?r:Math.min(r,e-o),s=await Ao(n,t+o,i);s.length&&(a.enqueue(s),o+=s.length),(e!==T&&o>=e||!s.length&&i)&&a.close()}})}}class _n extends Nn{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw new Error(Fn);return t.writeUint8Array(jt(e))}});Object.defineProperty(t,kn,{get:()=>e})}writeUint8Array(){}}class Ln extends vn{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{Y:t,K:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{K:r,Y:n}=this,o=new Uint8Array(e),a=4*Math.floor(t/3),i=atob(n.substring(a+r,4*Math.ceil((t+e)/3)+r)),s=t-3*Math.floor(a/4);let c=0;for(let t=s;t<s+e&&t<i.length;t++)o[t-s]=i.charCodeAt(t),c++;return c<o.length?o.subarray(0,c):o}}class Bn extends _n{constructor(t){super(),Object.assign(this,{contentType:t,data:"data:"+(t||"")+";base64,",X:""})}writeUint8Array(t){const e=this;let r,n=e.X;const o=e.X.length;for(e.X="",r=0;r<3*Math.floor((o+t.length)/3)-o;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.X+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.X=n+e.X}getData(){return this.data+btoa(this.X)}}let jn,Pn;class Wn extends vn{constructor(t){super(),Object.assign(this,{J:t,size:t.size}),Pn||(Pn=(async()=>{try{const t=new Blob([new Uint8Array(3)]).slice(1,2).stream().getReader();let e=0,r=await t.read();for(;!r.done;)e+=r.value.length,r=await t.read();jn=1==e}catch{jn=!1}})())}createReadable(t){const{J:e,size:r}=this,{offset:n=0,size:o=r-n}=t||{};if(typeof e.stream==C){if(!n&&o>=r)return Je(e.stream());if(jn)return Je(e.slice(n,n+o).stream())}return super.createReadable(t)}async readUint8Array(t,e){const r=this,n=t+e,o=!t&&n>=r.size?r.J:r.J.slice(t,n);let a=await o.arrayBuffer();return a.byteLength>e&&(a=a.slice(t,n)),new Uint8Array(a)}}class Vn extends Nn{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,kn,{get:()=>r.writable}),e.contentType=t,e.$=Qe(r.readable,t),e.$.catch(()=>{})}getData(){return this.$}}class Zn extends Wn{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class Hn extends Vn{constructor(t){super(),Object.assign(this,{encoding:t,et:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,et:e}=this,r=await super.getData();return r.text&&e?r.text():function(t,e){return gn(t,e,!1)}(new Uint8Array(await r.arrayBuffer()),t)}}class Gn extends vn{constructor(t,e){super(),qn(this,t,e)}async init(){await Kn(this,co,oo),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:o}=e;if((r||n)&&o!==T){const{offset:r=0,size:n=o-r}=t||{};if(n>0&&r<o)return function(t,e,r){let n,o=e,a=0,i=r;return new ReadableStream({start:()=>s(),async pull(t){n||await s();const{value:e,done:r}=await n.read();if(r)throw new Error(Rn);const o=e.length>a?e.subarray(0,a):e;a-=o.length,i-=o.length,o.length&&t.enqueue(o),a||(await async function(){const t=n;n=T,await t.cancel()}(),i||t.close())},cancel:t=>n&&n.cancel(t)});async function s(){const e=Math.min(t.maximumRangeSize,i),r=await co(Un,t,ro(t,o,e));if(206!=r.status)throw new Error(Rn);const s=Jn(r);if(s!==T&&s!=o)throw new Error(Rn);eo(t,r),to(t,r),o+=e,a=e,n=r.body.getReader()}}(e,r,Math.min(n,o-r))}return super.createReadable(t)}readUint8Array(t,e){return Xn(this,t,e,co,oo)}}class Yn extends vn{constructor(t,e){super(),qn(this,t,e)}async init(){await Kn(this,lo,ao),super.init()}readUint8Array(t,e){return Xn(this,t,e,lo,ao)}}function qn(t,e,r){const{preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s=!0,maximumRangeSize:c=Cn,fetch:l}=r;delete(r=Object.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,Object.assign(t,{url:e,options:r,preventHeadRequest:n,useRangeHeader:o,forceRangeRequests:a,combineSizeEocd:i,checkResourceChanges:s,maximumRangeSize:c,fetch:l})}async function Kn(t,e,r){const{url:n,preventHeadRequest:o,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:s}=t;if(function(t){const{baseURI:e}=Ut(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r}(n)&&(a||i)&&(typeof o==O||o)){const n=await e(Un,t,ro(t,s?-65557:void 0)),o=n.headers.get("Accept-Ranges");if(!(i||o&&o.toLowerCase()==On))throw new Error(Rn);{let o;s&&206==n.status&&(o=new Uint8Array(await n.arrayBuffer())),to(t,n);const a=Qn(n);a===T?await so(t,e,r):t.size=a,o&&o.length&&Jn(n)===t.size-o.length&&(t.nt=o)}}else await so(t,e,r)}async function Xn(t,e,r,n,o){const{useRangeHeader:a,forceRangeRequests:i,nt:s,size:c,options:l}=t;if(a||i){if(e>=c||0===r)return v;{if(e+r>c&&(r=c-e),s&&e>=c-s.length){const t=e-(c-s.length);return s.slice(t,t+r)}const o=await n(Un,t,ro(t,e,r));if(206!=o.status)throw new Error(Rn);const a=Jn(o);if(a!==T&&a!=e)throw new Error(Rn);eo(t,o),to(t,o);const i=new Uint8Array(await o.arrayBuffer());if(i.length!=r)throw new Error(Rn);return i}}{const{data:n}=t;return n||await o(t,l),t.data.subarray(e,e+r)}}function Jn(t){const e=t.headers.get(In);if(e){const t=Number(e.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t))return t}}function Qn(t){const e=t.headers.get(In);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function $n({headers:t}){return{ot:t.get("Etag")||T,lastModified:t.get("Last-Modified")||T}}function to(t,e){const{checkResourceChanges:r,it:n}=t;r&&!n&&206==e.status&&(t.it=$n(e))}function eo(t,e){const{checkResourceChanges:r,it:n,size:o}=t;if(r){const t=Qn(e);if(t!==T&&o!==T&&t!=o)throw new Error(Dn);if(n){const t=$n(e);if(Object.entries(n).some(([e,r])=>r!==T&&t[e]!==T&&r!=t[e]))throw new Error(Dn)}}}function ro(t,e=0,r=1){return Object.assign({},no(t),{[Tn]:On+"="+(e<0?e:e+"-"+(e+r-1))})}function no({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function oo(t){await io(t,co)}async function ao(t){await io(t,lo)}async function io(t,e){const r=await e(Un,t,no(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function so(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,no(t)),o=n.headers.get("Content-Length");o&&!n.headers.get("Content-Encoding")?t.size=Number(o):await r(t,t.options)}}async function co(t,{fetch:e=fetch,options:r,url:n},o){const a=await e(n,Object.assign({},r,{method:t,headers:o}));if(a.status>=200&&a.status<=299)return a;throw 416==a.status?new Error(Rn):new Error(An+(a.statusText||a.status))}function lo(t,{url:e},r){return new Promise((n,o)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(a.status>=200&&a.status<=299){const t=[];a.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(e=>{const r=e.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,t=>t.toUpperCase()),t.push(r)}),n({status:a.status,arrayBuffer:()=>a.response,headers:new Map(t)})}else o(416==a.status?new Error(Rn):new Error(An+(a.statusText||a.status)))},!1),a.addEventListener("error",t=>o(t.detail?t.detail.error:new Error("Network error")),!1),a.open(t,e),r)for(const t of Object.entries(r))a.setRequestHeader(t[0],t[1]);a.responseType="arraybuffer",a.send()})}class uo extends vn{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Yn(t,e):new Gn(t,e)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(t){return this.reader.createReadable(t)}readUint8Array(t,e){return this.reader.readUint8Array(t,e)}}class fo extends uo{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class wo extends vn{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{st:t,size:t.length})}readUint8Array(t,e){return this.st.slice(t,t+e)}}class po extends _n{constructor(t){super(),this.ct=t||262144}init(t=0){Object.assign(this,{offset:0,st:new Uint8Array(t>0?t:this.ct)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.st.length){let t=e.st.length?2*e.st.length:e.ct;for(;t<r;)t*=2;const n=e.st;e.st=new Uint8Array(t),e.st.set(n)}e.st.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.st.length?this.st:this.st.slice(0,this.offset)}}class mo extends vn{constructor(t){super(),this.lt=t}async init(){const t=this;t.ut=0;const e=t.lt=await Promise.all(t.lt.map(go));t.ft=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}wt(t){const{ft:e,size:r}=this,n=e[t];return n===T?r:n}async readUint8Array(t,e){const r=this,{lt:n}=this;let o,a=0,i=t;for(;n[a]&&i>=n[a].size;)i-=n[a].size,a++;const s=n[a];if(s){const n=s.size;if(i+e<=n)o=await Ao(s,i,e);else{const a=n-i;o=Bt(await Ao(s,i,a),await r.readUint8Array(t+a,e-a))}}else o=v;return r.ut=Math.max(a,r.ut),o}}class ho extends Nn{constructor(t,e=4294967295){super();const r=this;let n,o,a;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const i=new WritableStream({async write(e){if(e===Mn)return void(a&&await c());const{availableSize:i}=r;if(a)e.length>=i?(await s(e.subarray(0,i)),await c(),e.length>i&&await this.write(e.subarray(i))):await s(e);else{const{value:i,done:s}=await t.next();if(s&&!i)throw new Error(xn);n=i,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await So(n),o=i.writable,a=o.getWriter(),await this.write(e)}},async close(){a&&(await a.ready,await l())},async abort(t){a&&await a.abort(t)}});async function s(t){const e=t.length;e&&(await a.ready,await a.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,a=null,r.availableSize=r.maxSize}async function l(){await a.close()}Object.defineProperty(r,kn,{get:()=>i})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(Mn)}finally{t.releaseLock()}}}class yo{constructor(t){return Array.isArray(t)&&(t=new mo(t)),(t instanceof ReadableStream||typeof t.getReader==C)&&(t={readable:Je(t)}),t}}class Eo{constructor(t){t.writable===T&&typeof t.next==C&&(t=new ho(t)),(t instanceof WritableStream||typeof t.getWriter==C)&&(t={writable:$e(t)});try{t.size=t.size===T?0:t.size}catch{throw new Error(zn)}return t}}function bo(t){return Boolean(t&&t.getData)}async function So(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}async function go(t){return t=new yo(t),await So(t),t.size!==T&&t.readUint8Array||(t=new Wn(await Qe(t.readable)),await So(t)),t}function Ao(t,e,r){return t.readUint8Array(e,r)}function Ro(t,e){return t.createReadable?t.createReadable(e):t.readUint8Array?vn.prototype.createReadable.call(t,e):t.readable}function Do(t,e,r){if(!t.some(t=>t.reason==e)){const n={reason:e};r!==T&&(n.filename=r),t.push(n)}}const xo="filename",Fo="rawFilename",zo="comment",Io="rawComment",To="uncompressedSize",Uo="compressedSize",Oo="offset",Co="diskNumberStart",ko="lastModDate",Mo="rawLastModDate",No="lastAccessDate",vo="rawLastAccessDate",_o="creationDate",Lo="rawCreationDate",Bo="internalFileAttributes",jo="externalFileAttributes",Po="msdosAttributesRaw",Wo="msdosAttributes",Vo="msDosCompatible",Zo="zip64",Ho="encrypted",Go="version",Yo="versionMadeBy",qo="zipCrypto",Ko="directory",Xo="executable",Jo="compressionMethod",Qo="signature",$o="extraField",ta="unixMode",ea="setuid",ra="setgid",na="sticky",oa=[xo,Fo,To,Uo,ko,Mo,zo,Io,No,vo,_o,Lo,Oo,Co,Bo,jo,Po,Wo,Vo,Zo,Ho,Go,Yo,qo,Ko,Xo,"symlink",Jo,Qo,"crc32",$o,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ta,"unixExternalUpper",ea,ra,na,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class aa{constructor(t){oa.forEach(e=>this[e]=t[e])}}const ia=new Set([1,m,10,h,28789,25461,y,E,b,22613,13]);function sa(t,e,r){return t?e?12:16+4*r:0}const ca="File format is not recognized",la="End of central directory not found",ua="End of Zip64 central directory locator not found",fa="Central directory header not found",da="Local file header not found",wa="Zip64 extra field not found",pa="File contains encrypted entry",ma="Encryption method not supported",ha="Split zip file",ya="Overlapping entry found",Ea="Entry data out of bounds",ba="Ambiguous archive",Sa="Encrypted central directory is not supported",ga="Unsafe filename",Aa="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",Ra="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Da="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",xa="64-bit value exceeds Number.MAX_SAFE_INTEGER",Fa="unsorted central directory",za="unknown version needed to extract",Ia="compressed patched data",Ta="malformed extra field",Ua="unknown zip64 extensible data",Oa="wrapped entries count",Ca="appended data",ka="prepended data",Ma="prepended central directory",Na="trailing central directory data",va="duplicate filename",_a="mismatched zip64 end of central directory record",La="multiple end of central directory records",Ba="mismatched local file header (filename)",ja="mismatched local file header (general purpose bit flag)",Pa="mismatched local file header (compression method)",Wa="mismatched local file header (crc32 or sizes)",Va=/^[a-zA-Z]:/,Za="utf-8",Ha="cp437",Ga=[[To,t],[Uo,t],[Oo,t],[Co,e]],Ya={[e]:{ht:Ui,bytes:4},[t]:{ht:Oi,bytes:8}},qa=BigInt(Number.MAX_SAFE_INTEGER);class Ka{constructor(t,e={}){Object.assign(this,{reader:new yo(t),options:e,yt:{Et:new Set,bt:[],St:[]}})}async*getEntriesGenerator(n={}){const a=this;let{reader:i}=a;if(await So(i),i.size!==T&&i.readUint8Array||(i=new Wn(await Qe(i.readable)),await So(i)),i.size<d)throw new Error(ca);const c=a.warnings=[],m=wi(n,a.options),h=m==et,y=m!=nt,E=hi(Di(a,n,J),m),b=function(t,e){if(t===T)return e;if(!di(t))throw new Error(Ra);return t}(Di(a,n,"filenameValidation"),m),S=Di(a,n,"normalizeFilename"),{gt:F,At:z}=await yi(i,y,E);if(!F)throw await async function(t){return await fi(t)==o}(i)?new Error(ha):new Error(la);y&&z>1&&Ri(La);const I=Pt(F);let U=Ui(I,12),O=Ui(I,16);const C=F.offset,k=Ti(I,20),M=C+d+k,N=i.size-M;N>E&&Ri(Ca),N>0&&Do(c,Ca);let _=Ti(I,4);const L=i.ut||0;let B,j,P,W,V,Z=Ti(I,6),H=Ti(I,10),G=0,Y=p;const q=O==t||U==t||H==e||Z==e;if(O!=t&&Z!=e&&(O+=ui(i,Z)),q){const r=F.offset>=w?await Ao(i,F.offset-w,w):v,n=Pt(r);if(r.length==w&&Ui(n,0)==u){O=ui(i,Ui(n,4))+Oi(n,8);let r=await Ao(i,O,p),o=Pt(r);const a=F.offset-w-p;if((r.length<p||Ui(o,0)!=l)&&O!=a&&a>=0){const t=O;O=a,O>t&&(G=O-t),r=await Ao(i,O,p),o=Pt(r)}if(r.length<p||Ui(o,0)!=l)throw new Error(ua);if(P=!0,W=Oi(o,4)>44,W){const t=Math.min(Oi(o,4)-44,i.size-O-p);t>0&&(Y+=t,V=function(t){const e={rawExtensibleData:t};if(t.length>=28){const r=Pt(t),n=Ti(r,26);Object.assign(e,{compressionMethod:Ti(r,0),compressedSize:Oi(r,2),uncompressedSize:Oi(r,10),encryptionAlgorithm:Ti(r,18),bitLength:Ti(r,20),flags:Ti(r,22),hashAlgorithm:Ti(r,24),hashData:t.subarray(28,28+n)})}return e}(await Ao(i,O+p,t)))}_==e?_=Ui(o,16):_!=Ui(o,16)&&Ai(h,c,_a),Z==e?Z=Ui(o,20):Z!=Ui(o,20)&&Ai(h,c,_a),H==e?H=Oi(o,32):H!=Oi(o,32)&&Ai(h,c,_a),U==t?U=Oi(o,40):U!=Oi(o,40)&&Ai(h,c,_a),O=ui(i,Z)+Oi(o,48)+G}}let K=U;const X=F.offset-(P?Y+w:0);if(O>=i.size&&(G=i.size-O-U-d,O=i.size-U-d),L!=_)throw new Error(ha);if(O<0)throw new Error(ca);let Q=0,rt=await Ao(i,O,U),ot=Pt(rt);if(U){if(rt.length<4)throw new Error(ca);const t=X-U;if(O!=t&&Z==_){const e=Ui(ot,Q)==s||Boolean(V&&V.compressedSize)||$a(ot);let r=!e;if(!r&&t>=0&&t+4<=i.size&&(r=Ui(Pt(await Ao(i,t,4)),0)==s),r){const r=O;O=t,O>r&&(G+=O-r,B=e),rt=await Ao(i,O,U),ot=Pt(rt)}}}const at=X-O;if(U!=at&&at>=0&&Z==_&&(U=at,rt=await Ao(i,O,U),ot=Pt(rt)),O<0||O>=i.size)throw new Error(ca);a.directoryOffset=O,a.directoryLength=K;const it=xi(a,n,"decryptCentralDirectory");let st,ct;if(it&&H&&rt.length>=4&&Ui(ot,0)!=s&&(W||$a(ot))){const t=function(t,e,r){const n=t&&t.compressedSize?t.compressedSize:e;return n>0&&n<=r?n:r}(V,K,rt.length);ct=rt.subarray(t),rt=await it(rt.subarray(0,t),V),ot=Pt(rt),K=rt.length,st=!0}V&&!st&&(rt.length<4||Ui(ot,0)==s)&&Do(c,Ua),j=O;const lt=Di(a,n,"filenameEncoding"),ut=Di(a,n,"commentEncoding"),ft=new Set;let dt,wt=-1;const pt=!h&&!P;!H&&pt&&(H=ti(ot,rt,Q),H&&Do(c,Oa));for(let t=0;t<H;t++){const o=new Qa(i,a.options);if(Q+f>rt.length||Ui(ot,Q)!=s){if(0==t&&!st&&(W||$a(ot)))throw new Error(Sa);throw new Error(fa)}ri(o,ot,Q+6);const l=Boolean(o.bitFlag.languageEncodingFlag),u=Q+f,d=u+o.filenameLength,w=d+o.extraFieldLength,p=Ti(ot,Q+4),m=!(p>>8),h=p>>8==3,y=rt.subarray(u,d),E=Ti(ot,Q+32),F=w+E,z=rt.subarray(w,F),I=l,U=l,O=Ui(ot,Q+38),C=O&r,k={readOnly:Boolean(1&C),hidden:Boolean(2&C),system:Boolean(4&C),directory:Boolean(16&C),archive:Boolean(32&C)},M=Ui(ot,Q+42),N=xi(a,n,"decodeText")||Sn,v=I?Za:lt||Ha,_=U?Za:ut||Ha;let L=N(y,v,$);if(L===T&&(L=Sn(y,v)),S){const t=S(L);t!==T&&(L=t)}if(mi(L,b)){const t=new Error(ga);throw t.filename=L,t}let B=N(z,_,tt);B===T&&(B=Sn(z,_)),Object.assign(o,{index:t,Rt:st,versionMadeBy:p,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,Dt:E,offset:M,diskNumberStart:Ti(ot,Q+34),internalFileAttributes:Ti(ot,Q+36),externalFileAttributes:O,msdosAttributesRaw:C,msdosAttributes:k,rawFilename:y,filenameUTF8:I,commentUTF8:U,rawExtraField:rt.subarray(d,w),rawComment:z,filename:L,comment:B}),ni(o,o,ot,Q+6)&&Do(c,Ta,L),o.offset+=G;const P=ui(i,o.diskNumberStart)+o.offset;j=Math.min(P,j),P<wt&&Do(c,Fa,L),wt=P,(o.version&r)>63&&Do(c,za,L),32&~o.rawBitFlag||Do(c,Ia,L),ft.has(o.filename)&&(dt=!0),ft.add(o.filename);const V=o.externalFileAttributes>>16&e;o.unixMode===T&&16877&V&&(o.unixMode=V);const Z=Boolean(o.unixMode&R),Y=Boolean(o.unixMode&D),q=Boolean(512&o.unixMode),K=40960==((o.unixMode===T?V:o.unixMode)&g),X=!K&&(o.unixMode!==T?!!(73&o.unixMode):h&&!!(73&V)),J=o.unixMode!==T&&(o.unixMode&g)==A,et=(V&g)==A;Object.assign(o,{setuid:Z,setgid:Y,sticky:q,symlink:K,unixExternalUpper:V,executable:X,directory:J||et||m&&k.directory||o.filename.endsWith(x),zipCrypto:o.encrypted&&!o.extraFieldAES});const nt=new aa(o);if(nt.getData=(t,e)=>o.getData(t,nt,a.yt,e),nt.arrayBuffer=async t=>{const e=new TransformStream,r=Qe(e.readable).then(t=>t.arrayBuffer());return r.catch(()=>{}),await o.getData(e,nt,a.yt,Object.assign({},t,{preventClose:!1})),r},Q=F,t==H-1&&pt){const t=ti(ot,rt,Q);t&&(H+=t,Do(c,Oa))}const{onprogress:at}=n;if(at)try{await at(t+1,H,new aa(o))}catch{}yield nt}let mt=Q,ht=ei(rt.subarray(Q))||(st?ei(ct):T);if(!ht&&!st){const t=O+Q,e=Math.min(X-t,65541);e>=6&&(ht=ei(await Ao(i,t,e)))}ht&&(a.digitalSignature=ht,mt=Q+6+ht.length),(Q!=K&&mt!=K||!st&&Q!=U&&mt!=U)&&Ai(h,c,Na),dt&&Ai(h,c,va);const yt=Di(a,n,"extractPrependedData"),Et=Di(a,n,"extractAppendedData"),bt=(h||yt)&&H&&4==j&&await async function(t){const e=await fi(t);return e==o||808471376==e}(i)?4:0;return h&&(G||H&&j>bt)&&Ri(ka),(G||H&&j>4)&&Do(c,ka),B&&Do(c,Ma),yt&&(a.prependedData=j>bt?await Ao(i,bt,j-bt):v),a.comment=k?await Ao(i,C+d,k):v,Et&&(a.appendedData=M<i.size?await Ao(i,M,i.size-M):v),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){const{reader:t}=this;t.readUint8Array||!t.readable||t.readable.locked||await t.readable.cancel()}[_](){return this.close()}}class Xa{constructor(t={}){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}}),o=new Ka(r,t),a=o.getEntriesGenerator(),i=new Set;this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await a.next();if(e)return t.close();const n=function(t,e){const{readable:r,writable:n}=new TransformStream;let o;const a={cancel:async t=>{e.delete(a),await(o?o.cancel(t):r.cancel(t))}};return a.readable=new ReadableStream({async pull(i){o||(o=r.getReader(),e.add(a),async function(){try{await t.getData(n,{preventClose:!1})}catch(t){try{await n.abort(t)}catch{}}finally{e.delete(a)}}());const{done:s,value:c}=await o.read();s?i.close():i.enqueue(c)},cancel:t=>a.cancel(t)},{highWaterMark:0}),a}(r,i),o={...r,readable:n.readable};delete o.getData,Object.defineProperties(o,{localDirectory:{get:()=>r.localDirectory,enumerable:!0},warnings:{get:()=>r.warnings,enumerable:!0}}),t.enqueue(o)},async cancel(t){const r=Array.from(i);i.clear(),e.error(t),await Promise.allSettled(r.map(e=>e.cancel(t))),await Promise.allSettled([a.return(),o.close()])}}),this.writable=n}}async function Ja(t,e={}){if(t=new yo(t),await So(t),t.size!==T&&t.readUint8Array||(t=new Wn(await Qe(t.readable)),await So(t)),t.size<d)return!1;const r=wi(e,{}),n=r!=nt,o=hi(e[J],r),{gt:a,At:i}=await yi(t,n,o);if(!a||r==et&&i>1)return!1;const s=Ti(Pt(a),20),c=a.offset+d+s;return t.size-c<=o}class Qa{constructor(t,e){Object.assign(this,{reader:t,options:e})}async getData(t,e,o,i={}){const s=this,c=Ut(),{reader:l,index:u,offset:f,diskNumberStart:d,extraFieldAES:w,extraFieldZip64:p,compressionMethod:m,bitFlag:h,rawBitFlag:y,crc32:E,rawLastModDate:b,uncompressedSize:S,compressedSize:g}=s,{dataDescriptor:A}=h,R=e.localDirectory={},D=e.warnings=[],x=ui(l,d)+f,z=await Ao(l,x,F),I=Pt(z);let U=Di(s,i,L),O=Di(s,i,B);const C=pt(Di(s,i,j)),k=Boolean(C),M=!0===C;if(wt(U,O),U=U&&U.length&&U,O=O&&O.length&&O,w&&99!=w.originalCompressionMethod)throw new Error(nr);if(z.length<F||Ui(I,0)!=n)throw new Error(da);ri(R,I,4);const{extraFieldLength:N,filenameLength:_}=R,G=R.dataOffset=x+F+_+N,Y=Di(s,i,"checkLocalDirectory"),q=wi(i,s.options),K=function(t,e){return t===T?e!=nt:Boolean(t)}(Y,q),X=Di(s,i,"checkLocalFilename"),J=function(t,e){return t===T?e==et:Boolean(t)}(X===T?Y:X,q);let Q=v;if(J&&(_||N)){const t=await Ao(l,x+F,_+N);Q=t.subarray(0,_),R.rawExtraField=t.subarray(_)}else R.rawExtraField=N?await Ao(l,x+F+_,N):v;J&&(R.rawFilename=Q),ni(s,R,I,4,!0)&&Do(D,Ta),function(t,e,r,n,o){const{rawFilename:a}=t,i=!o,s=t.Rt&&!(8192&~e.rawBitFlag);!n||s||r.length==a.length&&!r.some((t,e)=>t!=a[e])||Ai(i,o,Ba),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Ai(i,o,ja),e.compressionMethod!=t.compressionMethod&&Ai(i,o,Pa),e.bitFlag.dataDescriptor||s||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Ai(i,o,Wa)}(s,R,Q,J,K?T:D);const{lastAccessDate:$,creationDate:tt,uid:rt,gid:ot}=R;$&&(e.lastAccessDate=$),tt&&(e.creationDate=tt),rt!==T&&e.uid===T&&(e.uid=rt),ot!==T&&e.gid===T&&(e.gid=ot);const at=Di(s,i,"checkPasswordOnly"),it=s.encrypted&&R.encrypted&&(!M||at),st=it&&!w;if(M||(e.zipCrypto=st),it&&!(64&~R.rawBitFlag))throw new Error(ma);const ct=k?T:lr(m);if(0!=m&&8!=m&&9!=m&&!ct&&!k)throw new Error(nr);if(it){if(!st&&(w.strength<1||w.strength>3))throw new Error(ma);if(!U&&!O)throw new Error(pa)}if(G+g>l.size)throw new Error(Ea);const lt=g,ut=ft(Di(s,i,P));dt(ut);let mt=Di(s,i,"checkOverlappingEntry");const ht=Di(s,i,"checkOverlappingEntryOnly");ht&&(mt=!0);const{onstart:yt,onprogress:Et,onend:bt}=i,St=0!=m&&!k,gt=k?g-sa(it,st,w&&w.strength):S,At=9==m;let Rt=Di(s,i,V);At&&(Rt=!1);const Dt=Di(s,i,"checkCrc32"),xt=(Dt===T?Di(s,i,"checkSignature"):Dt)&&!k&&(!it||st||w&&1==w.vendorVersion),Ft={options:{codecType:kr,password:U,rawPassword:O,zipCrypto:st,encryptionStrength:w&&w.strength,checkCrc32:xt,checkAuthenticationCode:Di(s,i,"checkAuthenticationCode"),passwordVerification:st&&(A?b>>>8&r:E>>>24&r),outputSize:gt,crc32:E,compressed:St,encrypted:it,useWebWorkers:Di(s,i,W),useCompressionStream:Rt,transferStreams:Di(s,i,Z),deflate64:At,format:ct?ct.format:T,codecURI:ct?ct.codecURI:T,compressionMethod:m,rawBitFlag:y,checkPasswordOnly:at},config:c,R:{signal:ut,size:lt,onstart:yt,onprogress:Et,onend:bt}};let zt,It,Tt;mt&&await async function({reader:t,xt:e,index:r,offset:n,crc32:o,compressedSize:i,uncompressedSize:s,dataOffset:c,dataDescriptor:l,extraFieldZip64:u,yt:f}){let d=0;if(l&&(d=u?20:12),d){const r=await Ao(t,c+i,d+4),n=Pt(r);let l=r.length==d+4&&Ui(n,0)==a;if(l){const t=li(n,4,u);(e.encrypted&&!e.zipCrypto||t.crc32==o)&&t.compressedSize==i&&t.uncompressedSize==s?d+=4:l=!1}if(r.length>=d){const t=li(n,l?4:0,u);t.signature=l,e.localDirectory.dataDescriptor=t}}const w={start:n,end:c+i+d,xt:e},{Et:p,bt:m,St:h}=f;if(!p.has(r)){const t=function(t,e){let r=0,n=t.length;for(;r<n;){const o=r+n>>>1;t[o].start<e.start?r=o+1:n=o}const o=t[r-1],a=t[r];return o&&ci(e,o)?o:a&&ci(e,a)?a:void 0}(m,w)||h.find(t=>ci(w,t));if(t){const e=new Error(ya);throw e.overlappingEntry=t.xt,e}p.add(r),h.push(w),h.length*h.length>m.length&&(h.sort((t,e)=>t.start-e.start),f.bt=function(t,e){const r=[];let n=0,o=0;for(;n<t.length||o<e.length;)o==e.length||n<t.length&&t[n].start<e[o].start?r.push(t[n++]):r.push(e[o++]);return r}(m,h),h.length=0)}}({reader:l,xt:e,index:u,offset:x,crc32:E,compressedSize:g,uncompressedSize:S,dataOffset:G,dataDescriptor:A||R.bitFlag.dataDescriptor,extraFieldZip64:p||R.extraFieldZip64,yt:o});try{if(!ht){at&&(t=new WritableStream),t=new Eo(t),await So(t,function(t,e,r){return Math.min(t,r?1032*e:e)}(gt,g,St)),({writable:zt}=t);const e=Je(l.createReadable({offset:G,size:lt})),{outputSize:r}=await wn({readable:e,writable:zt},Ft);if(r!=gt)throw Object.assign(new Error(wr),{outputSize:r});t.size+=r}}catch(e){const{outputSize:r}=Ft;if(r!==T?t.size+=r:Wt(e)&&e.outputSize!==T&&(t.size+=e.outputSize),!at||!Wt(e)||e.message!=Se)throw It=e,Tt=!0,e}finally{if((bo(t)||!Di(s,i,H))&&zt&&!zt.locked){const t=zt.getWriter();if(Tt)try{await t.abort(It)}catch{}else await t.close()}}return at||ht?T:t.getData?t.getData():zt}}function $a(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;r<e;r++)if(134630224==Ui(t,r))return!0;return!1}function ti(t,e,r){let n=0;for(;r+f<=e.length&&Ui(t,r)==s;)r+=f+Ti(t,r+28)+Ti(t,r+30)+Ti(t,r+32),n++;return n%65536?0:n}function ei(t){if(t.length>=6){const e=Pt(t);if(Ui(e,0)==i){const r=Ti(e,4);if(6+r<=t.length)return t.subarray(6,6+r)}}}function ri(t,e,r){const n=t.rawBitFlag=Ti(e,r+2),o=!(1&~n),a=Ui(e,r+6);Object.assign(t,{encrypted:o,version:Ti(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&S)==S},rawLastModDate:a,lastModDate:Fi(a),filenameLength:Ti(e,r+22),extraFieldLength:Ti(e,r+24)})}function ni(t,e,r,n,o){const{rawExtraField:a}=e,i=e.extraField=new Map,s=Pt(a);let c=0,l=!1;try{for(;c<a.length;){const t=Ti(s,c),e=Ti(s,c+2);i.set(t,{type:t,data:a.slice(c+4,c+4+e)}),c+=4+e}}catch{l=!0}c>a.length&&(l=!0);const u=Ti(r,n+4);Object.assign(e,{signature:Ui(r,n+10),crc32:Ui(r,n+10),compressedSize:Ui(r,n+14),uncompressedSize:Ui(r,n+18)});const f=i.get(1);f&&(function(t,e){e.zip64=!0;const r=Pt(t.data),n=Ga.filter(([t,r])=>e[t]==r),o=n.reduce((t,[,e])=>t+Ya[e].bytes,0);if(t.data.length<o)throw new Error(wa);for(let o=0,a=0;o<n.length;o++){const[i,s]=n[o],c=Ya[s];e[i]=t[i]=c.ht(r,a),a+=c.bytes}}(f,e),e.extraFieldZip64=f);const d=i.get(28789);d&&(oi(d,xo,Fo,e,t),e.extraFieldUnicodePath=d);const w=i.get(25461);w&&(oi(w,zo,Io,e,t),e.extraFieldUnicodeComment=w);const p=i.get(m);p&&p.data.length>=7?(function(t,e,r){const n=Pt(t.data),o=Ii(n,4);Object.assign(t,{vendorVersion:Ii(n,0),vendorId:Ii(n,2),strength:o,originalCompressionMethod:r,compressionMethod:Ti(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=T)}(p,e,u),e.extraFieldAES=p):e.compressionMethod=u;const S=i.get(13);S&&(ai(S,e),e.extraFieldPkwareUnix=S);const g=i.get(22613);g&&(ai(g,e),e.extraFieldUnixType1=g);const A=i.get(10);A&&(function(t,e){const r=Pt(t.data);let n,o=4;try{for(;o<t.data.length&&!n;){const e=Ti(r,o),a=Ti(r,o+2);1==e&&(n=t.data.slice(o+4,o+4+a)),o+=4+a}}catch{}if(n&&24==n.length){const r=Pt(n),o=r.getBigUint64(0,!0),a=r.getBigUint64(8,!0),i=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:o,rawLastAccessDate:a,rawCreationDate:i});const s={lastModDate:zi(o),lastAccessDate:zi(a),creationDate:zi(i)};Object.assign(t,s),Object.assign(e,s,{rawLastAccessDate:a,rawCreationDate:i})}}(A,e),e.extraFieldNTFS=A);const R=i.get(b);let D;if(R&&(D=ii(R,e,!1),e.extraFieldUnix=R),!D){const t=i.get(E);t&&(ii(t,e,!0),e.extraFieldInfoZip=t)}const x=i.get(h);x&&(function(t,e,r){if(!t.data.length)return;const n=Pt(t.data),o=Ii(n,0),a=[],i=[];r?(1&~o||(a.push(ko),i.push(Mo)),2&~o||(a.push(No),i.push(vo)),4&~o||(a.push(_o),i.push(Lo))):t.data.length>=5&&(a.push(ko),i.push(Mo));let s=1;a.forEach((r,o)=>{if(t.data.length>=s+4){const a=Ui(n,s);e[r]=t[r]=new Date(1e3*(0|a));const c=i[o];t[c]=a}s+=4})}(x,e,o),e.extraFieldExtendedTimestamp=x);const F=i.get(y);return F&&(e.extraFieldUSDZ=F),l}function oi(t,e,r,n,o){if(t.data.length<5)return void(t.valid=!1);const a=Pt(t.data),i=new Qt;i.append(o[r]);const s=Pt(new Uint8Array(4));s.setUint32(0,i.get(),!0);const c=Ui(a,1),l=Ii(a,0);Object.assign(t,{version:l,[e]:Sn(t.data.subarray(5)),valid:1==l&&!o.bitFlag.languageEncodingFlag&&c==Ui(s,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function ai(t,e){if(t.data.length<8)return;const r=Pt(t.data),n={lastAccessDate:new Date(1e3*(0|Ui(r,0))),lastModDate:new Date(1e3*(0|Ui(r,4)))};t.data.length>=12&&(n.uid=Ti(r,8),n.gid=Ti(r,10)),Object.assign(t,n),Object.assign(e,n)}function ii(t,e,r){try{const n=Pt(t.data);let o,a;if(r){let e=0;const r=Ii(n,e++),i=Ii(n,e++);o=si(t.data.subarray(e,e+i)),e+=i;const s=Ii(n,e++);a=si(t.data.subarray(e,e+s)),Object.assign(t,{version:r,uid:o,gid:a})}else t.data.length>=4&&(o=Ti(n,0),a=Ti(n,2),Object.assign(t,{uid:o,gid:a}));return o!==T&&(e.uid=o),a!==T&&(e.gid=a),o!==T||a!==T}catch{}}function si(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ci(t,e){return t.start<e.end&&e.start<t.end}function li(t,e,r){const n=Ui(t,e);let o,a;return r?(o=Oi(t,e+4),a=Oi(t,e+12)):(o=Ui(t,e+4),a=Ui(t,e+8)),{crc32:n,compressedSize:o,uncompressedSize:a}}function ui(t,e){return t.wt?t.wt(e):0}async function fi(t){return Ui(Pt(await Ao(t,0,4)))}function di(t){return t===et||t===rt||t===nt}function wi(t,e){return pi(t,pi(e,rt))}function pi(t,e){const r=t.strictness;if(r!==T){if(!di(r))throw new Error(Aa);return r}const n=t.checkAmbiguity;return n===T?e:n?et:e==nt?nt:rt}function mi(t,e){if(e==nt)return!1;const r=t.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||t.startsWith("/")||t.startsWith("\\\\")||Va.test(t))||e==et&&(r.includes(".")||r.includes(""))}function hi(t,r){if(t!==T){const e=yt(t);if("number"!=typeof e||Number.isNaN(e)||e<0)throw new Error(Da);return e}return r==et?0:r==nt?1/0:e}async function yi(t,e,r){const{size:n}=t,o=Math.min(n,65557),a={count:64};let i,s,c=0;for await(const[r,l,u,f,w]of Ei(t,o)){const o=Ti(r,f+20);if(w+d+o==n){const o=await Si(t,r,l,f,w,n,a);if(2==o){if(i||(i=bi(u,f,w)),c++,!e||c>1)break}else 1!=o||s||(s=bi(u,f,w))}}return i||(i=s),i||(i=await async function(t,e,r){const{size:n}=t,o=Math.min(n,e==1/0?n:65557+e);let a,i;for await(const[e,s,c,l,u]of Ei(t,o)){const o=bi(c,l,u);a||(a=o);const f=await Si(t,e,s,l,u,n,r);if(2==f)return o;1!=f||i||(i=o)}return i||a}(t,r,a)),{gt:i,At:c}}async function*Ei(t,e){const r=t.size-e,n=await Ao(t,r,e),o=Pt(n);for(let t=n.length-d;t>=0;t--)Ui(o,t)==c&&(yield[o,r,n,t,r+t])}function bi(t,e,r){return{offset:r,buffer:t.slice(e,e+d).buffer}}async function Si(r,n,o,a,i,c,l){const f=Ti(n,a+10),d=Ui(n,a+12),p=Ui(n,a+16);if(f==e||d==t||p==t)return await gi(r,n,o,i-w,c,l)==u?2:0;if(!f&&!d)return 1;const m=Ti(n,a+6);for(const t of[i-d,ui(r,m)+p])if(await gi(r,n,o,t,c,l)==s)return 2;return 0}async function gi(t,e,r,n,o,a){return n<0||n+4>o?T:n>=r?Ui(e,n-r):a.count>0?(a.count--,Ui(Pt(await Ao(t,n,4)),0)):T}function Ai(t,e,r){t?Ri(r):Do(e,r)}function Ri(t){const e=new Error(ba);throw e.reason=t,e}function Di(t,e,r){return e[r]===T?t.options[r]:e[r]}function xi(t,e,r){return ut(Di(t,e,r))}function Fi(t){const r=(4294901760&t)>>16,n=t&e,o=new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0);return o<I?I:o}function zi(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Ii(t,e){return t.getUint8(e)}function Ti(t,e){return t.getUint16(e,!0)}function Ui(t,e){return t.getUint32(e,!0)}function Oi(t,e){const r=t.getBigUint64(e,!0);if(r>qa)throw new Error(xa);return Number(r)}var Ci=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:ba,ERR_BAD_FORMAT:ca,ERR_CENTRAL_DIRECTORY_NOT_FOUND:fa,ERR_ENCRYPTED:pa,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Sa,ERR_ENTRY_DATA_OUT_OF_BOUNDS:Ea,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:ua,ERR_EOCDR_NOT_FOUND:la,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:wa,ERR_INVALID_AUTHENTICATION_CODE:be,ERR_INVALID_COMPRESSED_DATA:pr,ERR_INVALID_CRC32:mr,ERR_INVALID_FILENAME_VALIDATION:Ra,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Da,ERR_INVALID_PASSWORD:Ee,ERR_INVALID_STRICTNESS:Aa,ERR_INVALID_UNCOMPRESSED_SIZE:wr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:da,ERR_OVERLAPPING_ENTRY:ya,ERR_SPLIT_ZIP_FILE:ha,ERR_UNSAFE_FILENAME:ga,ERR_UNSUPPORTED_COMPRESSION:nr,ERR_UNSUPPORTED_ENCRYPTION:ma,ERR_UNSUPPORTED_UINT64:xa,ERR_WORKER_STARTUP_TIMEOUT:vr,WARNING_APPENDED_DATA:Ca,WARNING_COMPRESSED_PATCHED_DATA:Ia,WARNING_DUPLICATE_FILENAME:va,WARNING_MALFORMED_EXTRA_FIELD:Ta,WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG:ja,WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD:Pa,WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES:Wa,WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME:Ba,WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY:_a,WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY:La,WARNING_PREPENDED_CENTRAL_DIRECTORY:Ma,WARNING_PREPENDED_DATA:ka,WARNING_TRAILING_CENTRAL_DIRECTORY_DATA:Na,WARNING_UNKNOWN_VERSION:za,WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA:Ua,WARNING_UNSORTED_CENTRAL_DIRECTORY:Fa,WARNING_WRAPPED_ENTRIES_COUNT:Oa,ZipReader:Ka,ZipReaderStream:Xa,isZipFile:Ja});const ki="File already exists",Mi="Zip file comment exceeds 64KB",Ni="Invalid zip file comment (must be a Uint8Array)",vi="File entry comment exceeds 64KB",_i="Invalid file entry comment (must be a string)",Li="Invalid date (must be a valid Date instance)",Bi="File entry name exceeds 64KB",ji="Version exceeds 65535",Pi="The strength must equal 1, 2, or 3",Wi="Encryption is not supported in USDZ files",Vi="Split zip files are not supported in USDZ files",Zi="Encryption is not supported when the 'passThrough' option is set to true (use 'compressed' instead)",Hi="Invalid extra field (must be a Map)",Gi="Invalid extra field type (must be integer 0..65535)",Yi="Invalid extra field data (must be a Uint8Array)",qi="Extra field data exceeds 64KB",Ki=-2147483648,Xi=2147483647,Ji=BigInt(0),Qi=BigInt("0x7fffffffffffffff"),$i="Zip64 is not supported (set the 'zip64' option to 'true')",ts="Undefined uncompressed size",es="Undefined compression method",rs="Undefined CRC32",ns="Undetermined size",os="Undefined reader",as="Invalid reader (must be a Reader instance, a ReadableStream instance, or an object with a 'readable' property)",is="Zip file not empty",ss="Invalid uid (must be integer 0..2^32-1)",cs="Invalid gid (must be integer 0..2^32-1)",ls="Invalid UNIX mode (must be integer 0..65535)",us="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",fs="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ds="Invalid msdosAttributesRaw (must be integer 0..255)",ws="Invalid msdosAttributes (must be an object with boolean flags)",ps="Invalid level (must be integer 0..9)",ms="Signature data exceeds 64KB",hs="Invalid entry option (must be an entry returned by ZipReader#getEntries())",ys="The last modification date of an entry encrypted with ZipCrypto cannot be changed when passThrough is set",Es="compression unavailable",bs="clamped last modification date",Ss=new Uint8Array([7,0,2,0,65,69,3,0,0]),gs="infozip",As="unix",Rs=[8,9,5,3];let Ds=0;const xs=[];class Fs{constructor(t,e={}){t=new Eo(t);const{availableSize:r=U,maxSize:n=U}=t,o=r>0&&r!==U&&n>0&&n!==U;if(o&&e[X])throw new Error(Vi);Object.assign(this,{writer:t,Ft:o,options:e,zt:new Map,It:new Set,offset:e[K]===T?t.size||t.writable.size||0:e[K],Tt:e[K]===T?0:e[K]-(t.size||t.writable.size||0),Ut:new Set,Ot:[],warnings:[],Ct:0,kt:0,Mt:T,Nt:!1})}prependZip(t){return Us(this,async function(t,e){if(t.It.size)throw new Error(is);await t.vt(e)}(this,t))}appendZip(t){return Us(this,this.vt(t))}async vt(t){const e=this,{Ut:r,It:n,zt:a}=e;for(;r.size;)await Promise.allSettled(Array.from(r));let i;const s=new Promise(t=>i=t);r.add(s);const c=[];let l;try{t=new yo(t),await So(t),t.size!==T&&t.readUint8Array||(t=new Wn(await Qe(t.readable)),await So(t));const{ZipReader:r}=await Promise.resolve().then(function(){return Ci}),i=new r(t),s=await i.getEntries();await i.close(),await So(e.writer);const{directoryOffset:u}=i;s.forEach(({filename:t})=>{if(n.has(t))throw new Error(ki);n.add(t),c.push(t)}),e._t=!0;const{Lt:f}=e;e.Lt=new Promise(t=>l=()=>{e._t=!1,t()}),await f,e.Ft&&(delete e.Ft,await async function(t){return Pt(await Ao(t,0,4)).getUint32(0,!0)==o}(t)||(await Ys(e.writer,Hs()),e.offset+=4));const d=await async function(t,e,r,n){const{writer:o}=t,a=new Map;if(o.closeDisk){const i=Array.from(r).sort((t,r)=>Zs(e,t)-Zs(e,r));let s=0;for(const r of i){const n=Zs(e,r);await Ws(t,e,s,n-s),Bs(o,await Vs(e,n))&&await o.closeDisk(),a.set(r,{offset:js(t,o),diskNumberStart:_s(o)}),s=n}await Ws(t,e,s,n-s)}else{const o=t.offset;await Ws(t,e,0,n),r.forEach(t=>a.set(t,{offset:o+Zs(e,t),diskNumberStart:0}))}return a}(e,t,s,u);s.forEach(t=>{const{version:e,rawLastModDate:r,rawFilename:n,bitFlag:o,encrypted:i,uncompressedSize:s,compressedSize:c,extraFieldZip64:l}=t;let{compressionMethod:u,rawExtraField:f}=t;const{level:w,languageEncodingFlag:p,dataDescriptor:m}=o;f=Ps(f||v),t.extraFieldAES&&(u=99);const h=lc(f),y=Boolean(l)&&l.uncompressedSize!==T,E=Boolean(l)&&l.compressedSize!==T,b=-7&dc(w,p,m,i,u)|w<<1,{Bt:S,jt:g}=uc({version:e,bitFlag:b,compressionMethod:u,uncompressedSize:s,compressedSize:c,rawLastModDate:r,rawFilename:n,Pt:E,Wt:y,extraFieldLength:h}),{crc32:A}=t;A!==T&&ic(g,10,A);const{offset:R,diskNumberStart:D}=d.get(t);Object.assign(t,{Vt:!0,Wt:y,Pt:E,offset:R,diskNumberStart:D,Zt:!1,Ht:v,Gt:v,Yt:v,qt:v,Kt:v,rawExtraField:f,Xt:v,Bt:S,jt:g}),a.set(t.filename,t)})}catch(t){throw c.forEach(t=>n.delete(t)),t}finally{i(),r.delete(s),l&&l()}}add(o="",i,s={}){const c=this,{Ut:l}=c,u=async function(o,i,s,c){const l=(c=Object.assign({},c))[Q];if(l!==T){const{Jt:t,Qt:e}=function(t,e,n){if(null===t||typeof t!=k||Array.isArray(t))throw new Error(hs);const{externalFileAttributes:o,versionMadeBy:a,comment:i,lastModDate:s,rawLastModDate:c,creationDate:l,lastAccessDate:u,uncompressedSize:f,encrypted:d,zipCrypto:w,crc32:p,compressionMethod:m,extraFieldAES:h,extraFieldUnix:y,internalFileAttributes:E,extraField:b,bitFlag:S,directory:g,uid:A,gid:R}=t,D={externalFileAttributes:o,versionMadeBy:a,comment:i,lastModDate:s,creationDate:l,lastAccessDate:u,internalFileAttributes:E,directory:g};S&&S.languageEncodingFlag&&(D[Y]=!0);const x=function(t){if(t){const e=new Map;if(t.forEach((t,r)=>{ia.has(r)||e.set(r,t.data)}),e.size)return e}}(b);x&&(D[$o]=x),A===T&&R===T||Object.assign(D,{uid:A,gid:R,unixExtraFieldType:y?As:gs});const F={};if(e&&!g)if(Object.assign(F,{uncompressedSize:f,crc32:p,compressionMethod:m}),e!==ot&&Object.assign(F,{encrypted:d,zipCrypto:w,encryptionStrength:h?h.strength:T}),S&&(F.dataDescriptor=S.dataDescriptor,F[G]=Rs[S.level]),n===T)F.rawLastModDate=c;else if(e!==ot&&w&&(!S||S.dataDescriptor)&&n instanceof Date&&function(t){let e=new Date(2e3*Math.ceil(Math.floor(t.getTime()/1e3)/2));return e<I?e=I:e>z&&(e=z),(e.getHours()<<3|e.getMinutes()>>3)&r}(n)!=(c>>>8&r))throw new Error(ys);return{Jt:D,Qt:F}}(l,pt(Qs(o,c,j)),Qs(o,c,ko));delete c[Q],c=Object.assign(t,e,c)}if(Qs(o,c,Ko)&&!i.endsWith(x)&&(i+=x),o.It.has(i))throw new Error(ki);o.It.add(i),Ds<Ut().maxWorkers?Ds++:await new Promise(t=>xs.push(t));try{return await async function(o,i,s,c){const l=function(n,o,a){let i=Qs(n,a,Vo),s=Qs(n,a,Yo,i?20:768);const c=Qs(n,a,Xo),l=ec(n,a,"uid"),u=ec(n,a,"gid");let f=ec(n,a,ta),d=Qs(n,a,"unixExtraFieldType"),w=Qs(n,a,ea),p=Qs(n,a,ra),m=Qs(n,a,na);if(ht(l,t,ss),ht(u,t,cs),ht(f,e,ls),d!==T&&d!==gs&&d!==As)throw new Error(us);if(d===As&&(l!==T&&l>e||u!==T&&u>e))throw new Error(fs);d!==T||l===T&&u===T||(d=gs);let h=ec(n,a,Po),y=Qs(n,a,Wo);const E=h!==T||y!==T;if(l!==T||u!==T||f!==T||d||c?(i=!1,s=s&r|768):E&&(i=!0,s&=r),ht(h,r,ds),y&&(typeof y!==k||Array.isArray(y)))throw new Error(ws);if(s>e)throw new Error(ji);let b=Qs(n,a,jo);const S=b!==T;S||(b=0),!a[Ko]&&o.endsWith(x)&&(a[Ko]=!0);const F=Qs(n,a,Ko);if(F?(o.endsWith(x)||(o+=x),S||(b=16,i||(b|=16877<<16))):i||S||(b=c?493<<16:27525120),!i){const t=f!==T||Boolean(w||p||m);f=f===T?b>>16&e:f&e,w?f|=R:w=Boolean(f&R),p?f|=D:p=Boolean(f&D),m?f|=512:m=Boolean(512&f),S&&!t||(F?f=-61441&f|A:f&g||(f|=32768),b=(f&e)<<16|b&e)}({msdosAttributesRaw:h,msdosAttributes:y}=function(t,e){if(t!==T)t&=r;else if(e!==T){const{readOnly:n,hidden:o,system:a,directory:i,archive:s}=e;let c=0;n&&(c|=1),o&&(c|=2),a&&(c|=4),i&&(c|=16),s&&(c|=32),t=c&r}return e===T&&(e={readOnly:Boolean(1&t),hidden:Boolean(2&t),system:Boolean(4&t),directory:Boolean(16&t),archive:Boolean(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}}(h,y)),E&&(b=b&t|h&r);const z=b>>16&e,I=f!==T&&40960==(f&g);return{name:o,$t:{versionMadeBy:s,msDosCompatible:Boolean(i),externalFileAttributes:b,unixExternalUpper:z,uid:l,gid:u,unixMode:f,unixExtraFieldType:d,symlink:I,setuid:w,setgid:p,sticky:m,msdosAttributesRaw:h,msdosAttributes:y}}}(o,i,c);({name:i}=l);const u=function(t,r,n){const o=tc(t,n,"encodeText")||te;let a=o(r,$);if(a===T&&(a=te(r)),lc(a)>e)throw new Error(Bi);const i=n[zo]||"";if(typeof i!=M)throw new Error(_i);let s=o(i,tt);if(s===T&&(s=te(i)),lc(s)>e)throw new Error(vi);const c=Qs(t,n,Go);if(c!==T&&c>e)throw new Error(ji);const l=$s(t,n,ko,new Date),u=Qs(t,n,Mo),f=$s(t,n,No),d=$s(t,n,_o),w=Qs(t,n,Bo,0),p=pt(Qs(t,n,j)),m=Boolean(p),h=!0===p,y=Qs(t,n,L),E=Qs(t,n,B);wt(y,E);const b=ec(t,n,"encryptionStrength",3),S=Qs(t,n,qo),g=Qs(t,n,"extendedTimestamp",!0),A=Qs(t,n,"ntfsTimestamp"),R=Qs(t,n,"keepOrder",!0),D=Qs(t,n,W),x=Qs(t,n,Z),F=Qs(t,n,"bufferedWrite"),z=tc(t,n,"createTempStream"),I=Qs(t,n,"dataDescriptorSignature",!0),U=ft(Qs(t,n,P));dt(U);const O=Qs(t,n,Y,!fc(a)||!fc(s)),C=Qs(t,n,Jo),k=m||C===T?T:lr(C);if(!m&&C!==T&&0!==C&&8!==C&&!k)throw new Error(nr);let N=ec(t,n,G);if(ht(N,9,ps),t.options[X]){if(y!==T||E!==T)throw new Error(Wi);N===T&&C===T&&(N=0)}m&&(N=yt(n[G]));let v=Qs(t,n,V),_=Qs(t,n,q);F&&_===T&&(_=!1),(_===T||S&&!h)&&(_=!0),N!==T&&6!=N&&(v=!1);const H=Qs(t,n,Zo);if(!(S||y===T&&E===T||Number.isInteger(b)&&b>=1&&b<=3))throw new Error(Pi);const K=ks(n[$o]),J=ks(n.localExtraField),Q=ks(n.centralExtraField);return{comment:i,$t:{rawFilename:a,rawComment:s,version:c,lastModDate:l,rawLastModDate:u,lastAccessDate:f,creationDate:d,internalFileAttributes:w,te:m,ee:h,password:y,rawPassword:E,encryptionStrength:b,zipCrypto:S,extendedTimestamp:g,ntfsTimestamp:A,keepOrder:R,useWebWorkers:D,transferStreams:x,bufferedWrite:F,createTempStream:z,dataDescriptorSignature:I,signal:U,useUnicodeFileNames:O,compressionMethod:C,format:k?k.format:T,codecURI:k?k.codecURI:T,re:k?k.versionNeeded:T,level:N,useCompressionStream:v,dataDescriptor:_,zip64:H,rawExtraField:K,ne:J,Xt:Q}}}(o,i,c),{comment:f}=u,d=c[$o];o.zt.set(i,T);const w=o.Mt,p={};let y,S;u.$t.keepOrder&&(p.oe=new Promise(t=>y=t)),o.Mt=p;try{const{$t:f}=u;0==f.level||f.compressionMethod!==T||f.te||await async function(t){const{CompressionStream:e,CompressionStreamFallback:r}=t;return!(!r||r.N)||!(!xr(e)&&(n=e,!Dr(n,Er)))||!!r&&await Pr(t);var n}(Ut())||(f.level=0,Do(o.warnings,Es,i));const d=await async function(e,r,{$t:n},o){if(n.te&&!r&&!Qs(e,o,Ko))throw new Error(os);let a;if(r){if(r=new yo(r),await So(r),!r.readable&&!r.readUint8Array)throw new Error(as);({size:a}=r)}return Object.assign({reader:r},function(e,r,n,o,a){const{te:i,ee:s,zipCrypto:c,password:l,rawPassword:u,encryptionStrength:f}=o;let{dataDescriptor:d,zip64:w,level:p,compressionMethod:m}=o,h=0,y=0,E=!1;if(i&&r){if(y=a[To],y===T)throw new Error(ts);if(m===T)throw new Error(es)}const b=!0===w,S=Qs(e,a,Ho);if(r&&s&&!S&&lc(l,u))throw new Error(Zi);const g=r&&(Boolean(l&&lc(l)||u&&lc(u))||s&&S);r||(p=0,m=0);const A=sa(g,c,f);r&&(i?(a.uncompressedSize=y,h=n===T?rc(y)+A:n+(s?0:A)):n===T?(d=!0,(w||w===T)&&(w=E=!0,h=4294967296)):(a.uncompressedSize=y=n,h=(nc(m,p)?rc(y):y)+A));const R=!(g||r&&(0!==n||i)||nc(m,p));R&&Qs(e,a,q)===T&&(d=!1);const D=b||E||y>=t,x=b||h>=t;if(D||x){if(!1===w)throw new Error($i);w=!0}return w=w||!1,{ae:h,$t:{dataDescriptor:d,ie:R,zip64:w,Vt:b,se:E,Wt:D,Pt:x,uncompressedSize:y,level:p,compressionMethod:m,encrypted:g}}}(e,Boolean(r),a,n,o))}(o,s,u,c);({reader:s}=d);const g=Ls(o.writer),A=_s(o.writer);let R=c.crc32===T?c[Qo]:c.crc32;const D=d.$t.encrypted&&!f.zipCrypto;if(f.te&&!f.ee&&D&&(R=T),f.te&&s&&!D&&R===T)throw new Error(rs);const x=function(t){const{rawFilename:r,lastModDate:o,rawLastModDate:a,lastAccessDate:i,creationDate:s,level:c,zip64:l,zipCrypto:u,useUnicodeFileNames:f,dataDescriptor:d,directory:w,rawExtraField:p,ne:y,encryptionStrength:S,extendedTimestamp:g,ntfsTimestamp:A,te:R,encrypted:D,Wt:x,Pt:U,uncompressedSize:O,se:C,crc32:k}=t;let{version:M,compressionMethod:N}=t;const _=!w&&nc(N,c);let L;const B=R||!_,j=l&&(t.bufferedWrite||!d||!x&&!U||B&&!C),P=j||l&&d&&(x||U);if(l&&(x||U)){const t=20,e=vs(t);if(e.ce(1),e.ce(t-4),L=e.st,j&&(e.le(O),B)){const t=sa(D,u,S);e.le(R?0:O+t)}}else L=v;let W,V,Z,H,G,Y;if(D&&!u){const t=vs(lc(Ss)+2);t.ce(m),t.ue(Ss),W=t.st,W[8]=S}else W=v;if(g){const t=Xs(o),e=(q=t)>=Ki&&q<=Xi;if(e){const e=9+(i?4:0)+(s?4:0),r=vs(e);H=1+(i?2:0)+(s?4:0),G=t,r.ce(h),r.ce(e-4),r.fe(H),r.de(t),i&&r.de(Js(Xs(i))),s&&r.de(Js(Xs(s))),Z=r.st}else Z=v;if(A===T?!e||Boolean(i||s):A)try{const t=Ks(o),e=vs(36);e.ce(10),e.ce(32),e.we(4),e.ce(1),e.ce(24),e.le(t),e.le(i?Ks(i):t),e.le(s?Ks(s):t),V=e.st}catch{V=v}else V=v}else V=Z=v;var q;try{const{uid:r,gid:n,unixExtraFieldType:o}=t;if(o!=gs||r===T&&n===T)if(o!=As||r===T&&n===T)Y=v;else{const t=vs(8);t.ce(b),t.ce(4),t.ce((r===T?0:r)&e),t.ce((n===T?0:n)&e),Y=t.st}else{const t=Ns(r===T?0:r),e=Ns(n===T?0:n),o=3+t.length+e.length,a=vs(4+o);a.ce(E),a.ce(o),a.fe(1),a.fe(t.length),a.ue(t),a.fe(e.length),a.ue(e),Y=a.st}}catch{Y=v}N===T&&(N=_?8:0),M===T&&(M=0!=N||w||D?20:10);const{re:K}=t;_&&K!==T&&(M=M>K?M:K),l&&(M=M>45?M:45),D&&!u&&(M=M>51?M:51,R&&k!==T&&(W[4]=1),ac(Pt(W),9,N),N=99);const J=P?lc(L):0,Q=J+lc(W,Z,V,Y,p,y);if(Q+(t[X]?67:0)>e)throw new Error(qi);const $=new Date(2e3*Math.ceil(Math.floor(o.getTime()/1e3)/2)),tt=$<I?I:$>z?z:$,et=lc(Z)?new Date(1e3*Xs(o)):lc(V)?o:tt,{Bt:rt,jt:nt,rawLastModDate:ot}=uc({version:M,bitFlag:dc(c,f,d,D,N),compressionMethod:N,uncompressedSize:O,lastModDate:tt,rawLastModDate:a,rawFilename:r,Pt:U,Wt:x,extraFieldLength:Q}),at=vs(F+lc(r)+Q),it=at.st,st=Pt(it);return at.de(n),at.ue(rt),at.ue(r),P&&at.ue(L),at.ue(W),at.ue(Z),at.ue(V),at.ue(Y),at.ue(p),at.ue(y),d&&(U||ic(st,18,0),x||ic(st,22,0)),{pe:it,me:st,Bt:rt,jt:nt,lastModDate:et,he:et===tt&&$.getTime()!=tt.getTime(),rawLastModDate:ot,encrypted:D,compressed:_,version:M,compressionMethod:N,ye:H,Ee:G,Ht:v,be:J,Yt:Z,qt:V,Kt:Y,Gt:W,extraFieldLength:Q}}(c=Object.assign({},c,l.$t,u.$t,d.$t,{signature:c[Qo],crc32:R,offset:o.offset-g,diskNumberStart:A,[X]:o.options[X]}));x.he&&Do(o.warnings,bs,i);const O=function({zip64:t,dataDescriptor:e,dataDescriptorSignature:r}){let n,o=v,i=0,s=t?20:12;return r&&(s+=4),e&&(o=new Uint8Array(s),n=Pt(o),r&&(i=4,ic(n,0,a))),{Se:o,ge:n,Ae:i}}(c),C=lc(x.pe,O.Se);S=await async function(e,n,o,a,i){const{zt:s,writer:c}=e,{keepOrder:l,dataDescriptor:u,ie:f,signal:d}=i,{Re:w,xt:p,De:m,xe:h}=a,y=e.options[X];let E,b,S,g,A,R,D,x=p,z=0;const I=l&&m?m.oe:T;s.set(n,x);try{i.bufferedWrite||!l||e._t||e.Ct||e.kt||!u&&!f?(E=!0,e.Ct++,D=i.createTempStream?await i.createTempStream():new TransformStream(T,T,{highWaterMark:U}),D.size=0,await So(c)):(b=!0,e.kt++,D=c,await I,await O()),await So(D);const p=Ls(c);e.Ft&&!E&&await Gs(e,c),y&&!E&&Ms(a,e.offset-p);const{pe:m}=w;E||await C();const h=_s(c),S=js(e,c);if(x.diskNumberStart=h,E||(A=!0,R=c.size,await Ys(D,m)),x=await async function(e,n,{diskNumberStart:o,oe:a},i,s,c){const{Re:l,Fe:u,ze:f}=i,{Bt:d,jt:w,lastModDate:p,rawLastModDate:m,encrypted:h,compressed:y,version:E,compressionMethod:b,Ht:S,be:g,Yt:A,ye:R,Ee:D,qt:x,Kt:F,Gt:z}=l,{Se:I}=u,{rawFilename:U,lastAccessDate:O,creationDate:C,password:k,rawPassword:M,level:N,useUnicodeFileNames:v,zip64:_,Vt:L,Wt:B,Pt:j,zipCrypto:P,dataDescriptor:W,directory:V,executable:Z,versionMadeBy:H,rawComment:G,rawExtraField:Y,Xt:q,useWebWorkers:K,transferStreams:X,onstart:J,onprogress:Q,onend:$,signal:tt,encryptionStrength:et,extendedTimestamp:rt,msDosCompatible:nt,internalFileAttributes:ot,externalFileAttributes:at,uid:it,gid:st,unixMode:ct,symlink:lt,setuid:ut,setgid:ft,sticky:dt,unixExternalUpper:wt,msdosAttributesRaw:pt,msdosAttributes:mt,useCompressionStream:ht,te:yt,ee:Et,format:bt,codecURI:St}=c,gt={oe:a,versionMadeBy:H,zip64:_,Vt:L,directory:Boolean(V),executable:Boolean(Z),filenameUTF8:Boolean(v),rawFilename:U,commentUTF8:Boolean(v),rawComment:G,Ht:S,be:g,Yt:A,qt:x,Kt:F,Gt:z,rawExtraField:Y,Xt:q,extendedTimestamp:rt,msDosCompatible:nt,internalFileAttributes:ot,externalFileAttributes:at,diskNumberStart:o,uid:it,gid:st,unixMode:ct,symlink:Boolean(lt),setuid:ut,setgid:ft,sticky:dt,unixExternalUpper:wt,msdosAttributesRaw:pt,msdosAttributes:mt};let{crc32:At,uncompressedSize:Rt}=c,Dt=0;yt||(Rt=0);const{writable:xt}=n;if(e){const o=e.size,a=Je(Ro(e,{size:o})),i={options:{codecType:Cr,inputSize:o,level:N,rawPassword:M,password:k,encryptionStrength:et,zipCrypto:h&&P,passwordVerification:h&&P&&m>>8&r,computeCrc32:!yt,compressed:y&&!yt,encrypted:h&&!Et,useWebWorkers:K,useCompressionStream:ht,transferStreams:X,format:bt,codecURI:St,compressionMethod:b},config:s,R:{signal:tt,size:o,onstart:J,onprogress:Q,onend:$}};try{const e=await wn({readable:a,writable:xt},i);if(Dt=e.outputSize,n.size+=Dt,yt||(Rt=e.inputSize,h&&!P||(At=e.crc32)),!j&&Dt>=t||!B&&Rt>=t)throw new Error($i)}catch(t){const{outputSize:e}=i;throw e!==T?n.size+=e:Wt(t)&&t.outputSize!==T&&(n.size+=t.outputSize),t}}return function({crc32:t,compressedSize:e,uncompressedSize:r,Re:n,Fe:o},{zip64:a,zipCrypto:i,te:s,dataDescriptor:c}){const{jt:l,encrypted:u}=n,{ge:f,Ae:d}=o;u&&!i&&!s||t===T||(ic(l,10,t),c&&ic(f,d,t)),a?c&&(sc(f,d+4,BigInt(e)),sc(f,d+12,BigInt(r))):(ic(l,14,e),ic(l,18,r),c&&(ic(f,d+4,e),ic(f,d+8,r)))}({crc32:At,compressedSize:Dt,uncompressedSize:Rt,Re:l,Fe:u},c),W&&await Ys(n,I),Object.assign(gt,{uncompressedSize:Rt,compressedSize:Dt,lastModDate:p,rawLastModDate:m,creationDate:C,lastAccessDate:O,encrypted:Boolean(h),zipCrypto:Boolean(P),size:f+Dt,compressionMethod:b,version:E,Bt:d,jt:w,signature:At,crc32:!h||P||yt?At:T,ye:R,Ee:D,Wt:B,Pt:j}),gt}(o,D,x,a,Ut(),i),E||(A=!1),s.set(n,x),x.filename=n,E){if(await Promise.all([D.writable.getWriter().close(),I]),await O(),e.Ft&&await Gs(e,c),g=!0,R=c.size,await C(),x.diskNumberStart=_s(c),x.offset=js(e,c),y){const t=a.ze;Ms(a,e.offset-Ls(c)),x.size+=a.ze-t}!function({rawFilename:t,encrypted:e,zip64:r,be:n,crc32:o,compressedSize:a,uncompressedSize:i,Wt:s,Pt:c},l,{dataDescriptor:u,te:f}){if(u||((!e||f&&o!==T)&&ic(l,14,o),c||ic(l,18,a),s||ic(l,22,i)),r&&n){const e=F+lc(t)+4;sc(l,e,BigInt(i)),sc(l,e+8,BigInt(a))}}(x,w.me,i),await Ys(c,w.pe),await qs(D.readable,c,d,t=>z+=t),c.size+=D.size,g=!1}else x.diskNumberStart=h,x.offset=S;return e.offset+=x.size,x}catch(t){if(g||A){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=c.size-R,E&&(e.offset+=z)}throw s.delete(n),t}finally{if(E&&e.Ct--,b&&e.kt--,h&&h(I),S&&S(),E&&D&&D.dispose)try{await D.dispose()}catch{}}async function O(){e._t=!0;const{Lt:t}=e;e.Lt=new Promise(t=>S=()=>{e._t=!1,t()}),await t}async function C(){Bs(c,lc(w.pe))&&await c.closeDisk()}}(o,i,s,{Re:x,Fe:O,ze:C,xt:p,De:w,xe:y},c)}catch(t){throw o.zt.delete(i),t}finally{y&&y(w&&w.oe)}return Object.assign(S,{name:i,comment:f,extraField:d}),new aa(S)}(o,i,s,c)}catch(t){throw o.It.delete(i),t}finally{const t=xs.shift();t?t():Ds--}}(c,o,i,s);l.add(u);const f=()=>l.delete(u);return Promise.prototype.then.call(u,f,f),Us(c,u)}remove(t){const{It:e,zt:r}=this;if(typeof t==M&&(t=r.get(t)),t&&t.filename!==T){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=v,n={}){const o=this,{Ut:a,writer:w}=this,{writable:p}=w;if(o.Nt)return Ts(w);if(!(r instanceof Uint8Array))throw new Error(Ni);if(lc(r)>e)throw new Error(Mi);for(;a.size;)await Promise.allSettled(Array.from(a));await Promise.allSettled(o.Ot.map(t=>t.Ie));const m=o.Ot.filter(t=>t.Te&&!t.Ue);if(m.length){const t=m.map(t=>t.error);m.forEach(t=>t.Ue=!0);const[e]=t;try{e.entryErrors=t}catch{}throw e}return await async function(r,n,o){const{Oe:a,Ce:w}=function(r){let n=0,o=!1;for(const[,a]of r){const{rawFilename:r,Gt:i,rawComment:s,qt:c,Kt:l,rawExtraField:u,Xt:d,ye:w,Ee:p,Vt:m,uncompressedSize:y,compressedSize:E}=a;let{Wt:b,Pt:S}=a;m||(b&&y<t&&(b=a.Wt=!1),S&&E<t&&(S=a.Pt=!1)),o=o||b||S;const g=a.offset>=t,A=a.diskNumberStart>=e;let R,D;if(g||A||b||S){const t=4+(b?8:0)+(S?8:0)+(g?8:0)+(A?4:0),e=vs(t);e.ce(1),e.ce(t-4),b&&e.le(y),S&&e.le(E),g&&e.le(a.offset),A&&e.de(a.diskNumberStart),R=e.st}else R=v;if(a.Ht=R,a.ke=g,a.Zt=A,p===T)D=v;else{const t=vs(9);t.ce(h),t.ce(5),t.fe(w),t.de(p),D=t.st}a.Yt=D;const x=lc(R,i,c,l,D,u,d);if(x>e)throw new Error(qi);n+=f+lc(r,s)+x}return{Oe:n,Ce:o}}(r.zt),{Me:p,Ne:m,ve:y}=await async function(r,n,o){const{zt:a,writer:i}=r,c=new Uint8Array(n);await So(i);let l=0,u=0,d=_s(i),w=Ls(i),p=0;for(const[r,n]of Array.from(a.values()).entries()){const{offset:m,rawFilename:h,Ht:y,Gt:E,Yt:b,qt:S,Kt:g,rawExtraField:A,Xt:R,rawComment:D,versionMadeBy:x,Bt:F,jt:z,Wt:I,Pt:T,Zt:U,ke:O,internalFileAttributes:C,externalFileAttributes:k,diskNumberStart:M,uncompressedSize:N,compressedSize:v}=n,_=lc(y,E,b,S,g,A,R),L=f+lc(h,D)+_;Bs(i,l+L-u)&&(await Ys(i,c.slice(u,l)),u=l,p=0,await i.closeDisk()),0==r&&(d=_s(i),w=Ls(i)),I||ic(z,18,N),T||ic(z,14,v),(O||U)&&n.version<45&&ac(z,0,45);const B=vs(L);if(B.de(s),B.ce(x),B.ue(F.subarray(0,24)),B.ce(_),B.ce(lc(D)),B.ce(U?e:M),B.ce(C),B.de(k),B.de(O?t:m),B.ue(h),B.ue(y),B.ue(E),B.ue(b),B.ue(S),B.ue(g),B.ue(A),B.ue(R),B.ue(D),cc(c,B.st,l),l+=L,p++,o.onprogress)try{await o.onprogress(r+1,a.size,new aa(n))}catch{}}return await Ys(i,u?c.slice(u):c),{Me:{diskNumber:d,diskOffset:w},Ne:{diskNumber:_s(i),_e:p},ve:c}}(r,a,o),E=await async function(t,r,n){const o=tc(t,n,"signCentralDirectory");if(o){const n=await o(r),a=lc(n);if(a>e)throw new Error(ms);const s=vs(6+a);s.de(i),s.ce(a),s.ue(n);const{writer:c}=t;return Bs(c,lc(s.st))&&await c.closeDisk(),await Ys(c,s.st),6+a}return 0}(r,y,o);await async function(r,n,o,a){const{writer:i}=r,{Me:s,Ne:f,Le:w,Ce:p}=a;let{Oe:m}=a,h=r.zt.size,y=s.diskNumber,E=js(r,s);const b=lc(n);if(b>e)throw new Error(Mi);let S=Qs(r,o,Zo),g=_s(i);if(Bs(i,(S?98:d)+b)&&g++,E>=t||m>=t||h>=e||g>=e){if(!1===S)throw new Error($i);S=!0}else S===T&&p&&(S=!0);const A=vs(S?98:d);Bs(i,lc(A.st)+b)&&await i.closeDisk(),g=_s(i);let R=g==f.diskNumber?f._e:0;S&&(A.de(l),A.le(44),A.ce(45),A.ce(45),A.de(g),A.de(y),A.le(R),A.le(h),A.le(m),A.le(E),A.de(u),A.de(g),A.le(BigInt(js(r,i))+BigInt(m)+BigInt(w)),A.de(g+1),Qs(r,o,"supportZip64SplitFile",!0)&&(g=e,y=e),R=e,h=e,E=t,m=t),A.de(c),A.ce(g),A.ce(y),A.ce(R),A.ce(h),A.de(m),A.de(E),A.ce(b),await Ys(i,A.st),b&&await Ys(i,n)}(r,n,o,{Me:p,Ne:m,Oe:a,Le:E,Ce:w})}(o,r,n),o.Nt=!0,!bo(w)&&Qs(o,n,H)||await p.getWriter().close(),Ts(w)}[_](){return this.close()}}class zs{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new Fs(r,t),this.Ut=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:o}=new TransformStream({start(t){r=t},flush:()=>{!async function(){try{await e.close()}catch(t){await Os(e,t)}}()}});return Cs(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:o}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return Cs(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){const{zipWriter:r}=this,n=(await Promise.allSettled(Array.from(this.Ut))).filter(t=>"rejected"==t.status).map(t=>t.reason);if(n.length){const[t]=n;try{t.entryErrors=n}catch{}throw await Os(r,t),t}try{return await r.close(t,e)}catch(t){throw await Os(r,t),t}}}class Is extends Promise{then(t,e){const{Be:r}=this;return r&&(r.Ue=!0),super.then(t,e)}}function Ts(t){return t.getData?t.getData():t.writable}function Us(t,e){const r=new Is((t,r)=>Promise.prototype.then.call(e,t,r)),n={};return r.Be=n,n.Ie=Promise.prototype.then.call(r,T,t=>Object.assign(n,{Te:!0,error:t})),t.Ot.push(n),r}async function Os(t,e){try{await t.writer.writable.abort(e)}catch{}}function Cs(t,e,r){t.Ut.add(e),e.catch(t=>{try{r(t)}catch{}})}function ks(t){if(!t)return v;if(!(t instanceof Map))throw new Error(Hi);let r=0,n=0;t.forEach((t,n)=>{if(mt(n,e,Gi),!(t instanceof Uint8Array))throw new Error(Yi);if(lc(t)>e)throw new Error(qi);r+=4+lc(t)});const o=new Uint8Array(r),a=Pt(o);return t.forEach((t,e)=>{ac(a,n,e),ac(a,n+2,lc(t)),cc(o,t,n+4),n+=4+lc(t)}),o}function Ms(t,e){const{Re:r}=t;let{pe:n,extraFieldLength:o}=r,a=64-(e+lc(n))%64;a<4&&(a+=64);const i=new Uint8Array(a),s=Pt(i);ac(s,0,y),ac(s,2,a-4);const c=n;r.pe=n=new Uint8Array(lc(c)+a),cc(n,c),cc(n,i,lc(c));const l=Pt(n);ac(l,28,o+a),r.me=l,t.ze+=a}function Ns(t){const e=new Uint8Array(4);Pt(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}function vs(t){const e=new Uint8Array(t),r=Pt(e);let n=0;return{st:e,fe:t=>{!function(t,e,r){t.setUint8(e,r)}(r,n,t),n+=1},ce:t=>{ac(r,n,t),n+=2},de:t=>{ic(r,n,t),n+=4},le:t=>{sc(r,n,BigInt(t)),n+=8},ue:t=>{cc(e,t,n),n+=lc(t)},we:t=>n+=t}}function _s(t){const{diskNumber:e=0}=t;return e}function Ls(t){const{diskOffset:e=0}=t;return e}function Bs(t,e){const{availableSize:r=U}=t;return e>r}function js(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.Tt:0)}function Ps(t){const e=Pt(t);let r=0;for(;r+4<=lc(t);){const n=4+oc(e,r+2);if(1==oc(e,r))return Ps(Bt(t.subarray(0,r),t.subarray(Math.min(r+n,lc(t)))));r+=n}return t}async function Ws(t,e,r,n){if(n>0){const{writer:o}=t;let a=0;try{await qs(Ro(e,{offset:r,size:n}),o,T,t=>a+=t)}catch(e){t.hasCorruptedEntries=!0;try{e.corruptedEntry=!0}catch{}throw e}finally{o.size+=a,t.offset+=a}}}async function Vs(t,e){const r=await Ao(t,e,F);if(lc(r)<F)return F;const n=Pt(r);return F+oc(n,26)+oc(n,28)}function Zs(t,{offset:e,diskNumberStart:r}){return e+(t.wt?t.wt(r):0)}function Hs(){const t=new Uint8Array(4);return ic(Pt(t),0,o),t}async function Gs(t,e){delete t.Ft,await Ys(e,Hs()),t.offset+=4}async function Ys(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=lc(e),await n.write(e)}finally{n.releaseLock()}}async function qs(t,e,r,n){const o=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){await o.ready,await o.write(t),n(lc(t))}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{o.releaseLock()}}function Ks(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return e<Ji?Ji:e>Qi?Qi:e}}function Xs(t){return Math.floor(t.getTime()/1e3)}function Js(t){return Math.min(Xi,Math.max(Ki,t))}function Qs(t,e,r,n){const o=e[r]===T?t.options[r]:e[r];return o===T?n:o}function $s(t,e,r,n){const o=Qs(t,e,r,n);if(null===o)return n;if(o!==T&&(typeof o.getTime!=C||Number.isNaN(o.getTime())))throw new Error(Li);return o}function tc(t,e,r){return ut(Qs(t,e,r))}function ec(t,e,r,n){return yt(Qs(t,e,r,n))}function rc(t){return t+5*(Math.floor(t/16383)+1)}function nc(t,e){return t===T?e===T||e>0:0!==t}function oc(t,e){return t.getUint16(e,!0)}function ac(t,e,r){t.setUint16(e,r,!0)}function ic(t,e,r){t.setUint32(e,r,!0)}function sc(t,e,r){t.setBigUint64(e,r,!0)}function cc(t,e,r){t.set(e,r)}function lc(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function uc({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:o,compressedSize:a,lastModDate:i,rawLastModDate:s,rawFilename:c,Pt:l,Wt:u,extraFieldLength:f}){const d=vs(26),w=d.st,p=Pt(w);if(d.ce(e),d.ce(r),d.ce(n),s===T){const t=new Uint32Array(1),e=Pt(t);ac(e,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),ac(e,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),s=t[0]}return d.de(s),d.we(4),l||a!==T?d.de(l?t:a):d.we(4),u||o!==T?d.de(u?t:o):d.we(4),d.ce(lc(c)),d.ce(f),{Bt:w,jt:p,rawLastModDate:s}}function fc(t){return t.every(t=>t>=32&&t<=126)}function dc(t,e,r,n,o){let a=0;return e&&(a|=S),r&&(a|=8),8!=o&&9!=o||(t>=0&&t<=3&&(a|=6),t>3&&t<=5&&(a|=4),9==t&&(a|=2)),n&&(a|=1),a}function wc(){return"application/octet-stream"}function pc(){const{CompressionStream:t,DecompressionStream:e,CompressionStreamFallback:r,DecompressionStreamFallback:n}=Ut(),o=[{compressionMethod:0,compression:!0,decompression:!0,registered:!1},{compressionMethod:8,compression:mc(r,hr)||mc(t,hr)||mc(t,Er),decompression:mc(n,hr)||mc(e,hr)||mc(e,Er),registered:!1},{compressionMethod:9,compression:!1,decompression:mc(n,yr)||mc(e,yr),registered:!1}];for(const t of ur()){const e=fr(t.format);o.push({compressionMethod:t.compressionMethod,compression:e?typeof e.CompressionStream==C:T,decompression:e?typeof e.DecompressionStream==C:T,registered:!0})}return o}function mc(t,e){if(!t)return!1;const{je:r}=t;return r?r.includes(e):Dr(t,e)}const hc="2.14.1",yc=1048576,Ec=".zip.js-temp";function bc(t={}){const{thresholdBytes:e=yc,directoryName:r=Ec,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let o;function a(){return o||(o=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),o}return function(){const t=[];let r,n,o,i,s=0,c=!1;const l=new WritableStream({async write(i){c?await o.write(i):(t.push(i),s+=i.length,s>e&&await async function(){const e=await a();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join(""),n=await e.getFileHandle(r,{create:!0}),o=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await o.write(e);t.length=0}())},async close(){o&&(await o.close(),o=null)}});let u=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!i){const t=await n.getFile();i=t.stream().getReader()}const{value:t,done:r}=await i.read();r?e.close():e.enqueue(t)}else u<t.length?e.enqueue(t[u++]):e.close()},async cancel(t){i&&await i.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(o){try{await o.close()}catch{}o=null}if(r){try{const t=await a();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const Sc=1048576;function gc(t={}){const{thresholdBytes:e=Sc}=t;return function(){const t=[];let r,n,o,a=0,i=!1;const s=new WritableStream({async write(o){i?await r.write(o):(t.push(o),a+=o.length,a>e&&await async function(){const e=new TransformStream;n=Qe(e.readable),r=e.writable.getWriter(),i=!0;for(const e of t)await r.write(e);t.length=0}())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:s,readable:new ReadableStream({async pull(e){if(i){if(!o){const t=await n;o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async function(){if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const Ac=1048576,Rc=".zip.js-temp",Dc="createSyncAccessHandle is only available in dedicated workers";function xc(t={}){const{thresholdBytes:e=Ac,directoryName:r=Rc,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new Error(Dc);const o=n||(()=>navigator.storage.getDirectory());let a;function i(){return a||(a=Promise.resolve(o()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return function(){const t=[];let r,n,o=0,a=!1,s=0,c=0;const l=new WritableStream({async write(c){a?(n.write(c,{at:s}),s+=c.length):(t.push(c),o+=c.length,o>e&&await async function(){const e=await i();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const o=await e.getFileHandle(r,{create:!0});n=await o.createSyncAccessHandle(),a=!0;for(const e of t)n.write(e,{at:s}),s+=e.length;t.length=0}())},close(){n&&n.flush()}});let u=0;const f=new ReadableStream({pull(e){if(a){const t=s-c;if(t<=0)return void e.close();const r=new Uint8Array(Math.min(524288,t)),o=n.read(r,{at:c});o?(c+=o,e.enqueue(r.subarray(0,o))):e.close()}else u<t.length?e.enqueue(t[u++]):e.close()}},{highWaterMark:0});return{writable:l,readable:f,dispose:async function(){if(n){try{n.close()}catch{}n=null}if(r){try{const t=await i();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{_t({baseURI:import.meta.url})}catch{}const Fc="deflate",zc="deflate-raw",Ic="deflate64-raw",Tc="gzip";let Uc,Oc,Cc,kc,Mc;function Nc(t,e,r={}){if(!Uc){const t=new Error("WASM module not loaded");throw t.cause=Mc,t}const n="number"==typeof r.level?r.level:-1,o="number"==typeof r.outBuffer?r.outBuffer:65536,a="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.Pe=Oc(o),this.in=Oc(a),this.inBufferSize=a,!this.Pe||!this.in)throw new Error("allocation failed");if(t?(this.We=Uc.deflate_process,this.Ve=Uc.deflate_last_consumed,this.Ze=Uc.deflate_end,this.He=Uc.deflate_new(),r=e===Tc?Uc.deflate_init_gzip(this.He,n):e===zc?Uc.deflate_init_raw(this.He,n):Uc.deflate_init(this.He,n)):e===Ic?(this.We=Uc.inflate9_process,this.Ve=Uc.inflate9_last_consumed,this.Ze=Uc.inflate9_end,this.He=Uc.inflate9_new(),r=Uc.inflate9_init_raw(this.He)):(this.We=Uc.inflate_process,this.Ve=Uc.inflate_last_consumed,this.Ze=Uc.inflate_end,this.He=Uc.inflate_new(),r=e===zc?Uc.inflate_init_raw(this.He):e===Tc?Uc.inflate_init_gzip(this.He):Uc.inflate_init(this.He)),0!==r)throw new Error("init failed:"+r)}catch(t){throw i(this),t}},transform(t,e){try{const r=t,n=new Uint8Array(kc.buffer),a=this.We,i=this.Ve,s=this.Pe;let c=0;for(;c<r.length;){const t=Math.min(r.length-c,32768);if((!this.in||this.inBufferSize<t)&&(this.in&&Cc&&(Cc(this.in),this.in=0),this.in=Oc(t),this.inBufferSize=t,!this.in))throw new Error("allocation failed");n.set(r.subarray(c,c+t),this.in);const l=a(this.He,this.in,t,s,o,0),u=l>>24&255,f=128&u?u-256:u;if(f<0)throw new Error("process error:"+f);const d=16777215&l;d&&e.enqueue(n.slice(s,s+d));const w=i(this.He);if(0===w&&0===d)break;c+=w}}catch(t){i(this),e.error(t)}},flush(t){try{const e=new Uint8Array(kc.buffer),r=this.We,n=this.Pe;for(;;){const a=r(this.He,0,0,n,o,4),i=a>>24&255,s=128&i?i-256:i;if(s<0)throw new Error("process error:"+s);const c=16777215&a;if(c&&t.enqueue(e.slice(n,n+c)),1===i||0===c)break}}catch(e){t.error(e)}finally{const e=i(this);0!==e&&t.error(new Error("end error:"+e))}},cancel(){i(this)}});function i(t){let e=0;return t.He&&t.Ze&&(e=t.Ze(t.He)),t.He=0,t.in&&Cc&&Cc(t.in),t.in=0,t.Pe&&Cc&&Cc(t.Pe),t.Pe=0,e}}class vc{constructor(t=Fc,e){return Nc(!0,t,e)}}class _c{constructor(t=Fc,e){return Nc(!1,t,e)}}vc.N=!0,_c.N=!0,vc.je=[Fc,zc,Tc],_c.je=[Fc,zc,Tc,Ic];const Lc=65536;let Bc,jc;function Pc(t){return new Uint8Array(t.memory.buffer)}let Wc,Vc=!1;var Zc;async function Hc(){await async function(){await Promise.allSettled(cn.map(t=>(En(t),t.terminate()))),_r=T,Lr=!1}(),Wc=null,Vc=!1,Uc=Oc=Cc=kc=Mc=null,Bc=null,jc=0}Zc=function(t,e){const r=Bc;let n=r?function(t,e,r){jc||(jc=t.malloc(Lc));const n=jc?t.aes_hmac_new():0;if(n){const o=Pc(t);if(o.set(e,jc),o.set(r,jc+e.length),t.aes_hmac_init(n,jc,e.length,jc+e.length,r.length))return t.aes_hmac_end(n,0),0}return n}(r,t,e):0;if(!n)return de(t,e);const o=jc;return{process(t,e){for(let a=0;a<t.length;a+=Lc){const i=t.subarray(a,a+Lc),s=Pc(r);s.set(i,o),r.aes_hmac_process(n,o,i.length,e?1:0),i.set(s.subarray(o,o+i.length))}},digest:()=>(r.aes_hmac_end(n,o),n=0,Pc(r).slice(o,o+20)),dispose(){n&&(r.aes_hmac_end(n,0),n=0)}}},ke=Zc||de,function({Ge:t}){jr=t}({Ge:t=>{if(!Wc){let{wasmURI:e}=t;typeof e==C&&(e=e()),Wc=async function(t,{baseURI:e}){if(!Vc)try{await async function(t,e){let r,n;try{try{n=new URL(t,e)}catch{}const o=await fetch(n);r=await o.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=function(t){const e=t.split(",")[1],r=atob(e),n=r.length,o=new Uint8Array(n);for(let t=0;t<n;++t)o[t]=r.charCodeAt(t);return o.buffer}(t)}const o=await WebAssembly.instantiate(r);var a;(function(t){if(Uc=t,({malloc:Oc,free:Cc,memory:kc}=Uc),"function"!=typeof Oc||"function"!=typeof Cc||!kc)throw Uc=Oc=Cc=kc=null,new Error("Invalid WASM module")})(o.instance.exports),typeof(a=o.instance.exports).aes_hmac_new==C&&(Bc=a,jc=0)}(t,e),Vc=!0}catch(t){throw function(t){Mc=t}(t),t}}(e,t).catch(t=>{throw Wc=null,t})}return Wc}}),_t({CompressionStreamFallback:vc,DecompressionStreamFallback:_c}),_t({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{Wn as BlobReader,Vn as BlobWriter,Ln as Data64URIReader,Bn as Data64URIWriter,lt as ERR_ABORTED,ba as ERR_AMBIGUOUS_ARCHIVE,ca as ERR_BAD_FORMAT,fa as ERR_CENTRAL_DIRECTORY_NOT_FOUND,ki as ERR_DUPLICATED_NAME,pa as ERR_ENCRYPTED,Sa as ERR_ENCRYPTED_CENTRAL_DIRECTORY,Ea as ERR_ENTRY_DATA_OUT_OF_BOUNDS,ua as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,la as ERR_EOCDR_NOT_FOUND,wa as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,Rn as ERR_HTTP_RANGE,Dn as ERR_HTTP_RESOURCE_CHANGED,An as ERR_HTTP_STATUS,be as ERR_INVALID_AUTHENTICATION_CODE,bt as ERR_INVALID_BASE_URI,tr as ERR_INVALID_CODEC_DEFINITION,rr as ERR_INVALID_CODEC_MODULE,Mi as ERR_INVALID_COMMENT,Ni as ERR_INVALID_COMMENT_TYPE,pr as ERR_INVALID_COMPRESSED_DATA,mr as ERR_INVALID_CRC32,Li as ERR_INVALID_DATE,Pi as ERR_INVALID_ENCRYPTION_STRENGTH,hs as ERR_INVALID_ENTRY,vi as ERR_INVALID_ENTRY_COMMENT,_i as ERR_INVALID_ENTRY_COMMENT_TYPE,Bi as ERR_INVALID_ENTRY_NAME,Hi as ERR_INVALID_EXTRAFIELD,qi as ERR_INVALID_EXTRAFIELD_DATA,Yi as ERR_INVALID_EXTRAFIELD_DATA_TYPE,Gi as ERR_INVALID_EXTRAFIELD_TYPE,Ra as ERR_INVALID_FILENAME_VALIDATION,at as ERR_INVALID_FUNCTION_OPTION,cs as ERR_INVALID_GID,ps as ERR_INVALID_LEVEL,Da as ERR_INVALID_MAX_APPENDED_DATA_SIZE,Et as ERR_INVALID_MAX_WORKERS,ds as ERR_INVALID_MSDOS_ATTRIBUTES,ws as ERR_INVALID_MSDOS_DATA,Ee as ERR_INVALID_PASSWORD,st as ERR_INVALID_PASSWORD_TYPE,ct as ERR_INVALID_PASS_THROUGH_VALUE,as as ERR_INVALID_READER,it as ERR_INVALID_SIGNAL,ms as ERR_INVALID_SIGNATURE_DATA,Aa as ERR_INVALID_STRICTNESS,ss as ERR_INVALID_UID,wr as ERR_INVALID_UNCOMPRESSED_SIZE,us as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,fs as ERR_INVALID_UNIX_ID_SIZE,ls as ERR_INVALID_UNIX_MODE,St as ERR_INVALID_URI,ji as ERR_INVALID_VERSION,xn as ERR_ITERATOR_COMPLETED_TOO_SOON,da as ERR_LOCAL_FILE_HEADER_NOT_FOUND,ya as ERR_OVERLAPPING_ENTRY,er as ERR_RESERVED_COMPRESSION_METHOD,ha as ERR_SPLIT_ZIP_FILE,es as ERR_UNDEFINED_COMPRESSION_METHOD,rs as ERR_UNDEFINED_CRC32,os as ERR_UNDEFINED_READER,ts as ERR_UNDEFINED_UNCOMPRESSED_SIZE,ns as ERR_UNDETERMINED_SIZE,ga as ERR_UNSAFE_FILENAME,nr as ERR_UNSUPPORTED_COMPRESSION,Dc as ERR_UNSUPPORTED_CONTEXT,ge as ERR_UNSUPPORTED_CRYPTO_API,ma as ERR_UNSUPPORTED_ENCRYPTION,Zi as ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH,Wi as ERR_UNSUPPORTED_ENCRYPTION_USDZ,$i as ERR_UNSUPPORTED_FORMAT,Vi as ERR_UNSUPPORTED_SPLIT_USDZ,xa as ERR_UNSUPPORTED_UINT64,vr as ERR_WORKER_STARTUP_TIMEOUT,Fn as ERR_WRITER_NOT_INITIALIZED,zn as ERR_WRITER_SIZE_NOT_WRITABLE,ys as ERR_ZIP_CRYPTO_LAST_MOD_DATE,is as ERR_ZIP_NOT_EMPTY,fo as HttpRangeReader,uo as HttpReader,vn as Reader,mo as SplitDataReader,ho as SplitDataWriter,Zn as TextReader,Hn as TextWriter,wo as Uint8ArrayReader,po as Uint8ArrayWriter,hc as VERSION,Ca as WARNING_APPENDED_DATA,bs as WARNING_CLAMPED_LAST_MODIFICATION_DATE,Ia as WARNING_COMPRESSED_PATCHED_DATA,Es as WARNING_COMPRESSION_UNAVAILABLE,va as WARNING_DUPLICATE_FILENAME,Ta as WARNING_MALFORMED_EXTRA_FIELD,ja as WARNING_MISMATCHED_LOCAL_FILE_HEADER_BIT_FLAG,Pa as WARNING_MISMATCHED_LOCAL_FILE_HEADER_COMPRESSION_METHOD,Wa as WARNING_MISMATCHED_LOCAL_FILE_HEADER_CRC32_OR_SIZES,Ba as WARNING_MISMATCHED_LOCAL_FILE_HEADER_FILENAME,_a as WARNING_MISMATCHED_ZIP64_END_OF_CENTRAL_DIRECTORY,La as WARNING_MULTIPLE_END_OF_CENTRAL_DIRECTORY,Ma as WARNING_PREPENDED_CENTRAL_DIRECTORY,ka as WARNING_PREPENDED_DATA,Na as WARNING_TRAILING_CENTRAL_DIRECTORY_DATA,za as WARNING_UNKNOWN_VERSION,Ua as WARNING_UNKNOWN_ZIP64_EXTENSIBLE_DATA,Fa as WARNING_UNSORTED_CENTRAL_DIRECTORY,Oa as WARNING_WRAPPED_ENTRIES_COUNT,_n as Writer,Ka as ZipReader,Xa as ZipReaderStream,Fs as ZipWriter,zs as ZipWriterStream,kt as configure,gc as createBlobTempStream,bc as createOPFSTempStream,xc as createSyncAccessHandleTempStream,wc as getMimeType,ur as getRegisteredCodecs,pc as getSupportedCompressionMethods,Ja as isZipFile,sr as registerCodec,Lt as resetConfiguration,Hc as terminateWorkers,cr as unregisterCodec};
|