@zip.js/zip.js 2.8.48 → 2.8.49

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/deno.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zip-js/zip-js",
3
- "version": "2.8.48",
3
+ "version": "2.8.49",
4
4
  "exports": {
5
5
  ".": "./index.js",
6
6
  "./external": "./lib/zip-fs-external.js",
@@ -2710,14 +2710,16 @@ function createWebWorkerInterface(workerData, config) {
2710
2710
  } else {
2711
2711
  webWorkerSupported = false;
2712
2712
  }
2713
- const { reader } = workerData;
2714
- if (reader) {
2715
- reader.releaseLock();
2716
- }
2717
- workerData.reader = null;
2718
- workerData.writer = null;
2713
+ releaseWorkerStreams(workerData);
2719
2714
  return runWorker$1(workerData, config);
2720
2715
  }
2716
+ if (error && error.codecImportFailed) {
2717
+ if (workerData.reader) {
2718
+ releaseWorkerStreams(workerData);
2719
+ return runWorker$1(workerData, config);
2720
+ }
2721
+ workerData.onTaskFinished();
2722
+ }
2721
2723
  throw error;
2722
2724
  }
2723
2725
  }
@@ -2854,6 +2856,15 @@ function watchClosedStream(writableSource) {
2854
2856
  return { writable, closed, abortPipe: () => abortController.abort() };
2855
2857
  }
2856
2858
 
2859
+ function releaseWorkerStreams(workerData) {
2860
+ const { reader } = workerData;
2861
+ if (reader) {
2862
+ reader.releaseLock();
2863
+ }
2864
+ workerData.reader = null;
2865
+ workerData.writer = null;
2866
+ }
2867
+
2857
2868
  function terminateWorker$1(workerData) {
2858
2869
  const { worker } = workerData;
2859
2870
  if (worker) {
@@ -2921,7 +2932,7 @@ function getWebWorker(url, baseURI, workerData, isModuleType, useBlobURI = true)
2921
2932
  try {
2922
2933
  worker = new Worker(resolvedURI, resolvedOptions);
2923
2934
  } catch (error) {
2924
- if (!isModuleType) {
2935
+ if (isModuleType) {
2925
2936
  return getWebWorker(url, baseURI, workerData, false, useBlobURI);
2926
2937
  } else {
2927
2938
  throw error;
@@ -3039,12 +3050,15 @@ async function onMessage({ data }, workerData) {
3039
3050
  const stale = () => workerData.generation != generation;
3040
3051
  try {
3041
3052
  if (error) {
3042
- const { message, stack, code, name, outputSize, cause } = error;
3053
+ const { message, stack, code, name, outputSize, cause, codecImportFailed } = error;
3043
3054
  const responseError = new Error(message);
3044
3055
  Object.assign(responseError, { stack, code, name, outputSize });
3045
3056
  if (cause) {
3046
3057
  responseError.cause = Object.assign(new Error(cause.message), { name: cause.name });
3047
3058
  }
3059
+ if (codecImportFailed) {
3060
+ responseError.codecImportFailed = true;
3061
+ }
3048
3062
  close(responseError);
3049
3063
  } else {
3050
3064
  if (type == MESSAGE_PULL) {
@@ -3083,7 +3097,9 @@ async function onMessage({ data }, workerData) {
3083
3097
  if (writer) {
3084
3098
  writer.releaseLock();
3085
3099
  }
3086
- onTaskFinished();
3100
+ if (!(error && error.codecImportFailed)) {
3101
+ onTaskFinished();
3102
+ }
3087
3103
  }
3088
3104
  }
3089
3105
 
@@ -3133,7 +3149,7 @@ async function runWorker(stream, workerOptions) {
3133
3149
  }
3134
3150
  await ensureCodecStreams(format, options.codecURI);
3135
3151
  }
3136
- workerOptions.transferStreams = transferStreams || (transferStreams === UNDEFINED_VALUE && config.transferStreams);
3152
+ workerOptions.transferStreams = !format && (transferStreams || (transferStreams === UNDEFINED_VALUE && config.transferStreams));
3137
3153
  const streamCopy = !compressed && !checkCrc32 && !computeCrc32 && !encrypted;
3138
3154
  const workerSupported = format === UNDEFINED_VALUE || Boolean(options.codecURI);
3139
3155
  workerOptions.useWebWorkers = !streamCopy && workerSupported && (useWebWorkers || (useWebWorkers === UNDEFINED_VALUE && config.useWebWorkers));
@@ -1 +1 @@
1
- const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,o=84233040,i=33639248,c=101010256,l=101075792,d=117853008,u=22,f=20,w=56,p=21589,m=2048,h=16384,y=2048,b=1024,S="/",E=30,g=new Date(2107,11,31,23,59,58),x=new Date(1980,0,1),z=void 0,A=1/0,F="undefined",R="function",D=new Uint8Array;let U=2;try{typeof navigator!=F&&navigator.hardwareConcurrency&&(U=navigator.hardwareConcurrency)}catch{}const k={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:U,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=F&&CompressionStream,DecompressionStream:typeof DecompressionStream!=F&&DecompressionStream},T=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],O={...k};function C(){return O}function v(t){return Math.max(t.chunkSize,64)}function M(t){t=I(t);for(const e of T){const r=t[e];r!==z&&(O[e]=r)}}function I(t){const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===z&&r===z)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===z&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===z&&(n.DecompressionStreamFallback=r),n}function N(t){t=I(t);for(const e of T){const r=t[e];r!==z&&(k[e]=r)}M(t)}function j(){for(const t of T)delete O[t];Object.assign(O,k)}const _="Invalid codec definition",P="Reserved compression method",W="Invalid codec module",L="string",B=[0,8,9,99],V=new Map,Z=new Map;function H(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:s,DecompressionStream:o,versionNeeded:i}=t;if(!Number.isInteger(r)||0>r||r>e||typeof n!=L||!n.length)throw Error(_);if(B.includes(r))throw Error(P);const c=typeof s==R||typeof o==R;if(!(c||typeof a==L&&a.length))throw Error(_);V.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&G(n,{CompressionStream:s,DecompressionStream:o})}function q(t){const e=V.get(t);if(e){let r;V.delete(t),V.forEach(t=>r=r||t.format==e.format),r||Z.delete(e.format)}}function K(t){return V.get(t)}function Y(t){return Z.get(t)}function G(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=R&&typeof n!=R)throw Error(W);Z.set(t,{CompressionStream:r,DecompressionStream:n})}const X=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)e=1&e?e>>>1^3988292384:e>>>1;X[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const r=X[e-1][t];X[e][t]=r>>>8^X[0][255&r]}const[J,Q,$,tt,et,rt,nt,at]=X;class st{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 a=new DataView(t.buffer,t.byteOffset,r),s=r-8;for(;s>=n;n+=8){const t=e^a.getInt32(n,!0),r=a.getInt32(n+4,!0);e=at[255&t]^nt[t>>>8&255]^rt[t>>>16&255]^et[t>>>24&255]^tt[255&r]^$[r>>>8&255]^Q[r>>>16&255]^J[r>>>24&255]}}for(;r>n;n++)e=e>>>8^J[255&(e^t[n])];this.o=e}get(){return~this.o}}class ot extends TransformStream{constructor(){let t;const e=new st;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 it(t){if(typeof TextEncoder==F){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)}function ct(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function lt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function dt(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const ut={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=ut.l(r);return 32===n?t.concat(e):ut.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)+ut.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]=ut.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 a=0;a<t.length;a++)n.push(r|t[a]>>>e),r=t[a]<<32-e;const a=t.length?t[t.length-1]:0,s=ut.l(a);return n.push(ut.S(e+s&31,e+s>32?r:n.pop(),1)),n}},ft={bytes:{A(t){const e=ut.bitLength(t)/8,r=new Uint8Array(e);let n;for(let a=0;e>a;a++)3&a||(n=t[a/4]),r[a]=n>>>24,n<<=8;return r},F(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(ut.S(8*(3&r),n)),e}}},wt=class{constructor(t){const e=this;e.blockSize=512,e.R=[1732584193,4023233417,2562383102,271733878,3285377520],e.D=[1518500249,1859775393,2400959708,3395469782],t?(e.U=t.U.slice(0),e.T=t.T.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.U=t.R.slice(0),t.T=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=ft.C.F(t));const r=e.T=ut.concat(e.T,t),n=e.O,a=e.O=n+ut.bitLength(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let o=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);a>=t;t+=e.blockSize)e.v(s.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),e}M(){const t=this;let e=t.T;const r=t.U;e=ut.concat(e,[ut.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.v(e.splice(0,16));return t.reset(),r}I(t,e,r,n){return t>19?t>39?t>59?t>79?void 0:e^r^n:e&r|e&n|r&n:e^r^n:e&r|~e&n}N(t,e){return e<<t|e>>>32-t}v(t){const e=this,r=e.U,n=Array(80);for(let e=0;16>e;e++)n[e]=t[e];let a=r[0],s=r[1],o=r[2],i=r[3],c=r[4];for(let t=0;79>=t;t++){16>t||(n[t]=e.N(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.N(5,a)+e.I(t,s,o,i)+c+n[t]+e.D[Math.floor(t/20)]|0;c=i,i=o,o=e.N(30,s),s=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+i|0,r[4]=r[4]+c|0}},pt={importKey:t=>new pt.j(ft.bytes.F(t)),_(t,e,r,n){if(r=r||1e4,0>n||0>r)throw Error("invalid params to pbkdf2");const a=1+(n>>5)<<2;let s,o,i,c,l;const d=new ArrayBuffer(a),u=new DataView(d);let f=0;const w=ut;for(e=ft.bytes.F(e),l=1;(a||1)>f;l++){for(s=o=t.encrypt(w.concat(e,[l])),i=1;r>i;i++)for(o=t.encrypt(o),c=0;c<o.length;c++)s[c]^=o[c];for(i=0;(a||1)>f&&i<s.length;i++)u.setInt32(f,s[i]),f+=4}return d.slice(0,n/8)},j:class{constructor(t){const e=this,r=e.P=wt,n=[[],[]];e.W=[new r,new r];const a=e.W[0].blockSize/32;t.length>a&&(t=(new r).update(t).M());for(let e=0;a>e;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.W[0].update(n[0]),e.W[1].update(n[1]),e.L=new r(e.W[0])}reset(){const t=this;t.L=new t.P(t.W[0]),t.B=!1}update(t){this.B=!0,this.L.update(t)}digest(){const t=this,e=t.L.M(),r=new t.P(t.W[1]).update(e).M();return t.reset(),r}encrypt(t){if(this.B)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},mt=typeof crypto!=F&&typeof crypto.getRandomValues==R,ht="Invalid password",yt="Invalid signature",bt=yt,St="zipjs-abort-check-password",Et="Crypto API not supported";function gt(t){if(mt)return crypto.getRandomValues(t);throw Error(Et)}const xt=16,zt={name:"PBKDF2"},At=Object.assign({hash:{name:"HMAC"}},zt),Ft=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},zt),Rt=["deriveBits"],Dt=[8,12,16],Ut=[16,24,32],kt=10,Tt=[0,0,0,0],Ot=typeof crypto!=F,Ct=Ot&&crypto.subtle,vt=Ot&&typeof Ct!=F,Mt=ft.bytes,It=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],a=t.length;let s,o,i,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.D=[o=t.slice(0),i=[]],s=a;4*a+28>s;s++){let t=o[s-1];(s%a===0||8===a&&s%a===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],s%a===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),o[s]=o[s-a]^t}for(let t=0;s;t++,s--){const e=o[3&t?s:s-4];i[t]=4>=s||4>t?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],a=[],s=[];let o,i,c,l;for(let t=0;256>t;t++)s[(a[t]=t<<1^283*(t>>7))^t]=t;for(let d=o=0;!r[d];d^=i||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[d]=s,n[s]=d,l=a[c=a[i=a[d]]];let u=16843009*l^65537*c^257*i^16843008*d,f=257*a[s]^16843008*s;for(let r=0;4>r;r++)t[r][d]=f=f<<24^f>>>8,e[r][s]=u=u<<24^u>>>8}for(let r=0;5>r;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.D[e],n=r.length/4-2,a=[0,0,0,0],s=this.V[e],o=s[0],i=s[1],c=s[2],l=s[3],d=s[4];let u,f,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],b=4;for(let t=0;n>t;t++)u=o[p>>>24]^i[m>>16&255]^c[h>>8&255]^l[255&y]^r[b],f=o[m>>>24]^i[h>>16&255]^c[y>>8&255]^l[255&p]^r[b+1],w=o[h>>>24]^i[y>>16&255]^c[p>>8&255]^l[255&m]^r[b+2],y=o[y>>>24]^i[p>>16&255]^c[m>>8&255]^l[255&h]^r[b+3],b+=4,p=u,m=f,h=w;for(let t=0;4>t;t++)a[e?3&-t:t]=d[p>>>24]<<24^d[m>>16&255]<<16^d[h>>8&255]<<8^d[255&y]^r[b++],u=p,p=m,m=h,h=y,y=u;return a}},Nt=class{constructor(t,e){this.K=t,this.Y=e,this.G=e}reset(){this.G=this.Y}update(t){return this.X(this.K,t,this.G)}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 a=ut.bitLength(e);for(let a=0;n>a;a+=4){this.$(r);const n=t.encrypt(r);e[a]^=n[0],e[a+1]^=n[1],e[a+2]^=n[2],e[a+3]^=n[3]}return ut.h(e,a)}},jt=pt.j;let _t=Ot&&vt&&typeof Ct.importKey==R,Pt=Ot&&vt&&typeof Ct.deriveBits==R;class Wt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){Bt(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,et:o,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await Zt(t,e,r,qt(n,0,Dt[e])),s=qt(n,Dt[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(ht)})(r,s,a,qt(t,0,Dt[s]+2)),t=qt(t,Dt[s]+2),n?e.error(Error(St)):o()):await i;const c=new Uint8Array(t.length-kt-(t.length-kt)%xt);e.enqueue(Vt(r,t,c,0,kt,!0))},async flush(t){const{nt:e,st:r,pending:n,ready:s}=this;if(r&&e){await s;const o=qt(n,0,n.length-kt),i=qt(n,n.length-kt);let c=D;if(o.length){const t=Yt(Mt,o);r.update(t);const n=e.update(t);c=Kt(Mt,n)}const l=qt(Kt(Mt,r.digest()),0,kt);let d=n.length<kt?1:0;for(let t=0;kt>t;t++)d|=l[t]^i[t];if(d&&a)throw Error(bt);t.enqueue(c)}}})}}class Lt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){Bt(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,et:s,ready:o}=r;let i=D;n?(i=await(async(t,e,r)=>{const n=gt(new Uint8Array(Dt[e]));return ct(n,await Zt(t,e,r,n))})(r,a,n),s()):await o;const c=new Uint8Array(i.length+t.length-t.length%xt);c.set(i,0),e.enqueue(Vt(r,t,c,i.length,0))},async flush(t){const{nt:e,st:r,pending:n,ready:a}=this;if(r&&e){await a;let s=D;if(n.length){const t=e.update(Yt(Mt,n));r.update(t),s=Kt(Mt,t)}const o=Kt(Mt,r.digest()).slice(0,kt);t.enqueue(ct(s,o))}}})}}function Bt(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:Ht(e,r),strength:n-1,pending:D})}function Vt(t,e,r,n,a,s){const{nt:o,st:i,pending:c}=t;c.length&&(e=ct(c,e));const l=e.length-a;let d;for(r=((t,e)=>{if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t})(r,n+(l-l%xt)),d=0;l-xt>=d;d+=xt){const t=Yt(Mt,qt(e,d,d+xt));s&&i.update(t);const a=o.update(t);s||i.update(a),r.set(Kt(Mt,a),d+n)}return t.pending=qt(e,d),r}async function Zt(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!_t)return pt.importKey(e);try{return await Ct.importKey("raw",e,r,!1,a)}catch{return _t=!1,pt.importKey(e)}})(0,r,At,0,Rt),s=await(async(t,e,r)=>{if(!Pt)return pt._(e,t.salt,Ft.iterations,r);try{return await Ct.deriveBits(t,e,r)}catch{return Pt=!1,pt._(e,t.salt,Ft.iterations,r)}})(Object.assign({salt:n},Ft),a,8*(2*Ut[e]+2)),o=new Uint8Array(s),i=Yt(Mt,qt(o,0,Ut[e])),c=Yt(Mt,qt(o,Ut[e],2*Ut[e])),l=qt(o,2*Ut[e]);return Object.assign(t,{keys:{key:i,ot:c,passwordVerification:l},nt:new Nt(new It(i),Array.from(Tt)),st:new jt(c)}),l}function Ht(t,e){return e===z?it(t):e}function qt(t,e,r){return t.subarray(e,r)}function Kt(t,e){return t.A(e)}function Yt(t,e){return t.F(e)}class Gt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Jt(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Qt(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(ht);t=t.subarray(12)}n?e.error(Error(St)):e.enqueue(Qt(r,t))}})}}class Xt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Jt(this,t,e,r)},transform(t,e){const r=this;let n,a;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=gt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set($t(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set($t(r,t),a),e.enqueue(n)}})}}function Jt(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),((t,e,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,it:new st(n[0]),ct:new st(n[2])}),r)for(let e=0;e<r.length;e++)te(t,r[e]);else for(let r=0;r<e.length;r++)te(t,e.charCodeAt(r))})(t,e,r)}function Qt(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=ee(t)^e[n],te(t,r[n]);return r}function $t(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=ee(t)^e[n],te(t,e[n]);return r}function te(t,e){let[,r]=t.keys;t.it.append([e]);const n=~t.it.get();r=ne(Math.imul(ne(r+re(n)),134775813)+1),t.ct.append([r>>>24]);const a=~t.ct.get();t.keys=[n,r,a]}function ee(t){const e=2|t.keys[2];return re(Math.imul(e,1^e)>>>8)}function re(t){return 255&t}function ne(t){return 4294967295&t}function ae(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 se(t,e){if(t=ae(t),typeof Blob.prototype.stream!=R||new Blob([]).stream()instanceof ReadableStream){const r={};return e&&(r.headers=[["Content-Type",e]]),new Response(t,r).blob()}const r=[];return t.pipeTo(new WritableStream({write(t){r.push(t)}})).then(()=>new Blob(r,e?{type:e}:{}))}function oe(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 ie="Invalid uncompressed size",ce="Invalid compressed data",le=yt,de="deflate-raw",ue="gzip",fe=[31,139,8];class we extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:d,format:u,compressionMethod:f}=t,w=this;let p,m,h,y=super.readable;const b=u&&Y(u),S=c&&a&&!d&&!b&&(!s||i)&&!(!o||!n);if(s&&!i||!c||S||(p=new ot,y=xe(y,p)),a)if(b)y=ze(y,Ee(b.CompressionStream,u,{level:l,chunkSize:e,compressionMethod:f}));else if(S)h=new pe,y=ze(y,new n(ue)),y=xe(y,h);else try{y=ge(y,o,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(ue)}catch{throw t}y=ze(y,e),y=xe(y,new pe)}s&&(i?y=xe(y,new Xt(t)):(m=new Lt(t),y=xe(y,m))),Se(w,y,()=>{s&&!i||!c||(w.crc32=S?h.crc32:new DataView(p.value.buffer).getUint32(0))})}}class pe 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 a=r.length+t.length;if(8>=a)return void(r=ct(r,t));const s=a-8,o=Math.min(s,r.length);n.enqueue(ct(r.subarray(0,o),t.subarray(0,s-o))),r=ct(r.subarray(o),t.subarray(s-o))},flush(){const e=dt(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class me extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:o,crc32:i,compressed:c,useCompressionStream:l,deflate64:d,format:u,compressionMethod:f,rawBitFlag:w,outputSize:p}=t;let m,h,y=super.readable;if(s&&(a?y=xe(y,new Gt(t)):(h=new Wt(t),y=xe(y,h))),c){const t=u&&Y(u);if(t)y=ze(y,Ee(t.DecompressionStream,u,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:p}));else try{y=ge(y,l,{chunkSize:e,deflate64:d},n,r)}catch(t){if(d||p===z)throw t;let e;try{e=new n(ue)}catch{throw t}y=((t,e,r)=>{const n=new st;let a,s,o,i=0,c=!1;const l=new Promise((t,e)=>{s=t,o=e});l.catch(()=>{}),r||s();const d=new TransformStream({start(t){const e=new Uint8Array(10);e.set(fe),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,f();try{await l}finally{w()}const e=new Uint8Array(8),a=dt(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){o(t)}}),u=new TransformStream({transform(t,e){n.append(t),i+=t.length,r>i?c&&f():s(),e.enqueue(t)},cancel(t){o(t)}});return t=xe(t,d),xe(t=ze(t,e),u);function f(){w(),a=setTimeout(()=>o(Error(ie)),5e3)}function w(){clearTimeout(a)}})(y,e,p)}y=(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=Error(ce);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}o&&(m=new ot,y=xe(y,m)),Se(this,y,()=>{if(o){const t=new DataView(m.value.buffer);if(i!=t.getUint32(0,!1))throw Error(le)}})}}const he=new Map;function ye(t,e){if(!t)return!1;let r=he.get(t);r||(r=new Map,he.set(t,r));let n=r.get(e);if(n===z){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function be(t){return ye(t,de)}function Se(t,e,r){e=xe(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Ee(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function ge(t,e,r,n,a){const s=e&&n?n:a||n,o=r.deflate64?"deflate64-raw":de;let i;try{i=new s(o,r)}catch(t){if(!e||!a||s==a)throw t;i=new a(o,r)}return ze(t,i)}function xe(t,e){return ae(t).pipeThrough(e)}function ze(t,e){const r=e.writable.getWriter(),n=t.getReader();return(async()=>{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(t,e)=>{try{await t.abort(e)}catch{}})(r,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(n,t)}})(),e.readable}const Ae="data",Fe="deflate",Re="inflate";class De extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(Fe)?a=we:n.startsWith(Re)&&(a=me),r.outputSize=0;let s=0;const o=new a(t,e),i=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(s+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:s})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==z&&r.outputSize>t.outputSize))throw Error(ie)},flush(){const{crc32:t}=o;Object.assign(r,{crc32:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(o).pipeThrough(l)})}}class Ue extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let a=0;for(;t>a;){const r=e[0],s=t-a;r.length>s?(n.set(r.subarray(0,s),a),e[0]=r.subarray(s),a+=s):(n.set(r,a),a+=r.length,e.shift())}return r-=t,n}Number.isFinite(t)&&t>=1||(t=65536),super({transform(a,s){for(e.push(a),r+=a.length;r>t;)s.enqueue(n())},flush(t){r&&t.enqueue(((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))}})}}const ke={type:"module"},Te="error",Oe="Worker startup timeout";let Ce,ve,Me,Ie,Ne,je=!0;try{je=typeof structuredClone==R&&structuredClone(new DOMException("","AbortError")).code!==z}catch{}let _e=()=>{};class Pe{constructor(t,{readable:e,writable:r},{options:n,config:a,lt:s,useWebWorkers:o,transferStreams:i,workerURI:c,createWorker:l},d){const{signal:u}=s;return Ne&&(l=z),Object.assign(t,{ut:!0,ft:(t.ft||0)+1,readable:e.pipeThrough(new Ue(v(a))).pipeThrough(new We(s),{signal:u}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:i,terminate:()=>new Promise(e=>{const{wt:r,ut:n}=t;r?(n?t.ht=e:(r.terminate(),e()),t.yt=null):e()}),bt(){if(t.ut){const{ht:e}=t;e&&(t.ht=null,t.St=!0,t.wt.terminate(),e()),t.ut=!1,d(t)}}}),Ce===z&&(Ce=typeof Worker!=F),(o&&(Ce&&c||l)?Ve:Be)(t,a)}}class We extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await Le(t,r)},async transform(t,n){a+=t.length,e&&await Le(e,a,r),n.enqueue(t)},async flush(){n&&await Le(n,a)}})}}async function Le(t,...e){try{await t(...e)}catch{}}function Be(t,e){return{run:()=>Ze(t,e)}}function Ve(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.yt){let o;typeof s==R&&(s=s());try{o=qe(t.workerURI,r,t)}catch{return t.createWorker?Ne=!0:Ce=!1,Be(t,e)}Object.assign(t,{wt:o,Et:!1,St:!1,yt:{run:async()=>{try{return await(async(t,e)=>{let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,gt:r,xt:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,zt:l}=(t=>{const e=new AbortController,{writable:r,readable:n}=new TransformStream,a=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return a.catch(()=>{}),{writable:r,closed:a,zt:()=>e.abort()}})(t.writable);let d;try{d=Ge({type:"start",options:o,config:e,readable:s,writable:i},t)}catch(e){l();try{await c}catch{}throw t.bt(),e}d||Object.assign(t,{reader:s.getReader(),writer:i.getWriter()});const{workerStartupTimeout:u}=e;t.Et||!Number.isFinite(u)||0>u||(t.At=setTimeout(()=>(t=>{if(t.At=null,t.Et)return;const{xt:e,writer:r}=t;if(He(t),t.wt=null,e){const t=Error(Oe);t.Ft=!0,e(t),r&&r.releaseLock()}})(t),u));try{const t=await a;return await f(),await c,t}catch(t){await f(),l();try{await c}catch{}throw t}async function f(){if(!d&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Ft){t.createWorker?Ne=!0:Ce=!1;const{reader:r}=t;return r&&r.releaseLock(),t.reader=null,t.writer=null,Ze(t,e)}throw r}}}})}return t.yt}async function Ze({options:t,readable:e,writable:r,bt:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Fe),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.Rt&&!be(n))try{await _e(a)}catch{}}else try{await _e(a)}catch{r&&!r.Rt||(t.useCompressionStream=!0)}}s=new De(t,a),await e.pipeThrough(s).pipeThrough(new Ue(v(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:i}=s;return{crc32:n,inputSize:o,outputSize:i}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}function He(t){const{wt:e}=t;if(e)try{e.terminate()}catch{}t.yt=null}function qe(t,e,r,n,a=!0){const{createWorker:s}=r;let o,i,c;if(s)o=s();else if(Me===z||ve!==t){const s=typeof t==R;i=s?t(a):t;const l=i.startsWith("data:"),d=i.startsWith("blob:");if(l||d){n===z&&(n=!1),n&&(c=ke);try{o=new Worker(i,c)}catch(a){if(d)try{URL.revokeObjectURL(i)}catch{}if(s&&d)return qe(t,e,r,n,!1);if(n)throw a;return qe(t,e,r,!0,!1)}}else{n===z&&(n=!0),n&&(c=ke);try{i=new URL(i,e)}catch{}try{o=new Worker(i,c)}catch(s){if(n)throw s;return qe(t,e,r,!1,a)}}ve=t,Me=i,Ie=c}else o=new Worker(Me,Ie);return o.addEventListener("message",t=>{r.Et=!0,Ke(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:o}=t,{reader:i,writer:c,gt:l,xt:d,bt:u,ft:f}=e,w=()=>e.ft!=f;try{if(o){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s}=o,i=Error(t);Object.assign(i,{stack:e,code:r,name:n,outputSize:a}),s&&(i.cause=Object.assign(Error(s.message),{name:s.name})),p(i)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||Ge({type:Ae,value:t,done:r,messageId:a},e)}r==Ae&&(await c.ready,await c.write(new Uint8Array(n)),w()||Ge({type:"ack",messageId:a},e)),"close"==r&&p(null,s)}}catch(o){w()||(He(e),p(o))}function p(t,e){w()||(t?d(t):l(e),c&&c.releaseLock(),u())}})(t,r)}),o.addEventListener(Te,t=>Ye(t,r)),o.addEventListener("messageerror",t=>Ye(t,r)),o}function Ke(t){const{At:e}=t;e&&(clearTimeout(e),t.At=null)}function Ye(t,e){t.preventDefault&&t.preventDefault(),Ke(e);const{Et:r,xt:n,writer:a,bt:s}=e;if(He(e),r||(e.wt=null),n){let e=t.error||Error(t.message||Te);r||(e=Object.assign(Error(e.message||Te),{Ft:!0})),n(e),a&&a.releaseLock(),r&&s()}}function Ge(t,{wt:e,writer:r,transferStreams:n,Et:a}){try{const{value:r,readable:s,writable:o}=t,i=[];if(r&&(t.value=lt(r),i.push(t.value.buffer)),n&&je&&a?(s&&i.push(s),o&&i.push(o)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{je=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}let Xe=[];const Je=[];let Qe,$e,tr=0;async function er(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,compressed:i,checkCrc32:c,computeCrc32:l,encrypted:d,format:u,codecURI:f}=r,{workerURI:w,createWorker:p,maxWorkers:m}=n;u&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!Z.has(t)&&e&&G(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(u,r.codecURI)),e.transferStreams=a||a===z&&n.transferStreams;const h=!(i||c||l||d),y=u===z||!!r.codecURI;return e.useWebWorkers=!h&&y&&(s||s===z&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:z,e.createWorker=e.useWebWorkers&&p?p:z,r.useCompressionStream=o||o===z&&n.useCompressionStream,(await(async()=>{const r=Xe.find(t=>!t.ut);if(r)return or(r),new Pe(r,t,e,b);if(Xe.length<m){const r={Dt:tr};return tr++,Xe.push(r),new Pe(r,t,e,b)}return new Promise(r=>{Je.push({resolve:r,stream:t,Ut:e}),$e=n.workerStarvationTimeout,rr()})})()).run();function b(t){if(nr(),Je.length){const[{resolve:e,stream:r,Ut:n}]=Je.splice(0,1);e(new Pe(t,r,n,b)),rr()}else t.wt?(or(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.St?t.St=!1:t.kt=setTimeout(async()=>{Xe=Xe.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):Xe=Xe.filter(e=>e!=t)}}function rr(){!Qe&&Je.length&&Number.isFinite($e)&&$e>=0&&(Qe=setTimeout(ar,$e))}function nr(){Qe&&(clearTimeout(Qe),Qe=null)}function ar(){if(Qe=null,Je.length){const[{resolve:t,stream:e,Ut:r}]=Je.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:z,createWorker:z});t(new Pe({},e,n,sr)),rr()}}function sr(){nr(),rr()}function or(t){const{kt:e}=t;e&&(clearTimeout(e),t.kt=null)}const ir="HTTP error ",cr="HTTP Range not supported",lr="HTTP resource changed",dr="Writer iterator completed too soon",ur="Writer not initialized",fr="Content-Range",wr="Range",pr="GET",mr="bytes",hr=16777216,yr="writable",br=Symbol();class Sr{constructor(){this.size=0}init(){this.initialized=!0}}class Er extends Sr{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=v(C())}={}){const n=this;let a=0;return new ReadableStream({async pull(s){const o=e===z?r:Math.min(r,e-a),i=await rn(n,t+a,o);s.enqueue(i),a+r>e||e===z&&!i.length&&o?s.close():a+=r}})}}class gr extends Sr{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(ur);return t.writeUint8Array(lt(e))}});Object.defineProperty(t,yr,{get:()=>e})}writeUint8Array(){}}class xr extends Er{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{dataURI:t,Tt:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{Tt:r,dataURI:n}=this,a=new Uint8Array(e),s=4*Math.floor(t/3),o=atob(n.substring(s+r,4*Math.ceil((t+e)/3)+r)),i=t-3*Math.floor(s/4);let c=0;for(let t=i;i+e>t&&t<o.length;t++)a[t-i]=o.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class zr extends gr{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){const e=this;let r,n=e.pending;const a=e.pending.length;for(e.pending="",r=0;r<3*Math.floor((a+t.length)/3)-a;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.pending+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.pending=n+e.pending}getData(){return this.data+btoa(this.pending)}}let Ar,Fr;class Rr extends Er{constructor(t){super(),Object.assign(this,{blob:t,size:t.size}),Fr||(Fr=(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();Ar=1==e}catch{Ar=!1}})())}createReadable(t){const{blob:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return n||r>a?Ar?ae(e.slice(n,n+a).stream()):super.createReadable(t):ae(e.stream())}async readUint8Array(t,e){const r=this,n=t+e,a=t||n<r.size?r.blob.slice(t,n):r.blob;let s=await a.arrayBuffer();return s.byteLength>e&&(s=s.slice(t,n)),new Uint8Array(s)}}class Dr extends Sr{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,yr,{get:()=>r.writable}),e.blob=se(r.readable,t),e.blob.catch(()=>{})}getData(){return this.blob}}class Ur extends Rr{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class kr extends Dr{constructor(t){super(t),Object.assign(this,{encoding:t,Ot:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Ot:e}=this,r=await super.getData();if(r.text&&e)return r.text();{const e=new FileReader;return new Promise((n,a)=>{Object.assign(e,{onload:({target:t})=>n(t.result),onerror:()=>a(e.error)}),e.readAsText(r,t)})}}}class Tr extends Er{constructor(t,e){super(),Cr(this,t,e)}async init(){await vr(this,Hr,Lr),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==z){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&a>r)return((t,e,r)=>{let n,a=e,s=0,o=r;return new ReadableStream({start:()=>i(),async pull(t){n||await i();const{value:e,done:r}=await n.read();if(r)throw Error(cr);const a=e.length>s?e.subarray(0,s):e;s-=a.length,o-=a.length,a.length&&t.enqueue(a),s||(await(async()=>{const t=n;n=z,await t.cancel()})(),o||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,o),r=await Hr(pr,t,Pr(t,a,e));if(206!=r.status)throw Error(cr);const i=r.headers.get(fr);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(cr)}_r(t,r),jr(t,r),a+=e,s=e,n=r.body.getReader()}})(e,r,Math.min(n,a-r))}return super.createReadable(t)}readUint8Array(t,e){return Mr(this,t,e,Hr,Lr)}}class Or extends Er{constructor(t,e){super(),Cr(this,t,e)}async init(){await vr(this,qr,Br),super.init()}readUint8Array(t,e){return Mr(this,t,e,qr,Br)}}function Cr(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i=!0,maximumRangeSize:c=hr,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:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i,maximumRangeSize:c,fetch:l})}async function vr(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=C(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||o)&&(void 0===a||a)){const n=await e(pr,t,Pr(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==mr))throw Error(cr);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==u&&(t.Ct=e)}jr(t,n);const a=Ir(n);a===z?await Zr(t,e,r):t.size=a}}else await Zr(t,e,r)}async function Mr(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:o,Ct:i,size:c,options:l}=t;if(s||o){if(i&&e==c-u&&r==u)return i;if(c>e&&0!==r){e+r>c&&(r=c-e);const a=await n(pr,t,Pr(t,e,r));if(206!=a.status)throw Error(cr);const s=a.headers.get(fr);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(cr)}_r(t,a),jr(t,a);const o=new Uint8Array(await a.arrayBuffer());if(o.length!=r)throw Error(cr);return o}return D}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function Ir(t){const e=t.headers.get(fr);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function Nr({headers:t}){return{vt:t.get("Etag")||z,lastModified:t.get("Last-Modified")||z}}function jr(t,e){const{checkResourceChanges:r,Mt:n}=t;r&&!n&&206==e.status&&(t.Mt=Nr(e))}function _r(t,e){const{checkResourceChanges:r,Mt:n,size:a}=t;if(r){const t=Ir(e);if(t!==z&&a!==z&&t!=a)throw Error(lr);if(n){const t=Nr(e);if(Object.entries(n).some(([e,r])=>r!==z&&t[e]!==z&&r!=t[e]))throw Error(lr)}}}function Pr(t,e=0,r=1){return Object.assign({},Wr(t),{[wr]:mr+"="+(0>e?e:e+"-"+(e+r-1))})}function Wr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Lr(t){await Vr(t,Hr)}async function Br(t){await Vr(t,qr)}async function Vr(t,e){const r=await e(pr,t,Wr(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Zr(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Wr(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function Hr(t,{fetch:e=fetch,options:r,url:n},a){const s=await e(n,Object.assign({},r,{method:t,headers:a}));if(400>s.status)return s;throw 416==s.status?Error(cr):Error(ir+(s.statusText||s.status))}function qr(t,{url:e},r){return new Promise((n,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(400>s.status){const t=[];s.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:s.status,arrayBuffer:()=>s.response,headers:new Map(t)})}else a(416==s.status?Error(cr):Error(ir+(s.statusText||s.status)))},!1),s.addEventListener("error",t=>a(t.detail?t.detail.error:Error("Network error")),!1),s.open(t,e),r)for(const t of Object.entries(r))s.setRequestHeader(t[0],t[1]);s.responseType="arraybuffer",s.send()})}class Kr extends Er{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Or(t,e):new Tr(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 Yr extends Kr{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Gr extends Er{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{array:t,size:t.length})}readUint8Array(t,e){return this.array.slice(t,t+e)}}class Xr extends gr{constructor(t){super(),this.defaultBufferSize=t||262144}init(t=0){Object.assign(this,{offset:0,array:new Uint8Array(t>0?t:this.defaultBufferSize)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.array.length){let t=e.array.length?2*e.array.length:e.defaultBufferSize;for(;r>t;)t*=2;const n=e.array;e.array=new Uint8Array(t),e.array.set(n)}e.array.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class Jr extends Er{constructor(t){super(),this.It=t}async init(){const t=this,{It:e}=t;t.Nt=0,await Promise.all(e.map(t=>en(t))),t.jt=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}_t(t){const{jt:e,size:r}=this,n=e[t];return n===z?r:n}async readUint8Array(t,e){const r=this,{It:n}=this;let a,s=0,o=t;for(;n[s]&&o>=n[s].size;)o-=n[s].size,s++;const i=n[s];if(i){const n=i.size;if(o+e>n){const s=n-o;a=ct(await rn(i,o,s),await r.readUint8Array(t+s,e-s))}else a=await rn(i,o,e)}else a=D;return r.Nt=Math.max(s,r.Nt),a}}class Qr extends Sr{constructor(t,e=4294967295){super();const r=this;let n,a,s;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new WritableStream({async write(e){if(e===br)return void(s&&await c());const{availableSize:o}=r;if(s)e.length<o?await i(e):(await i(e.subarray(0,o)),await c(),e.length>o&&await this.write(e.subarray(o)));else{const{value:o,done:i}=await t.next();if(i&&!o)throw Error(dr);n=o,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await en(n),a=o.writable,s=a.getWriter(),await this.write(e)}},async close(){s&&(await s.ready,await l())},async abort(t){s&&await s.abort(t)}});async function i(t){const e=t.length;e&&(await s.ready,await s.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}Object.defineProperty(r,yr,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(br)}finally{t.releaseLock()}}}class $r{constructor(t){return Array.isArray(t)&&(t=new Jr(t)),(t instanceof ReadableStream||typeof t.getReader==R)&&(t={readable:ae(t)}),t}}class tn{constructor(t){return t.writable===z&&typeof t.next==R&&(t=new Qr(t)),(t instanceof WritableStream||typeof t.getWriter==R)&&(t={writable:oe(t)}),t.size===z&&(t.size=0),t}}async function en(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}function rn(t,e,r){return t.readUint8Array(e,r)}const nn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function an(t,e){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=nn[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:!0}).decode(t)}const sn="filename",on="rawFilename",cn="comment",ln="rawComment",dn="uncompressedSize",un="compressedSize",fn="offset",wn="diskNumberStart",pn="lastModDate",mn="rawLastModDate",hn="lastAccessDate",yn="rawLastAccessDate",bn="creationDate",Sn="rawCreationDate",En="internalFileAttributes",gn="externalFileAttributes",xn="msdosAttributesRaw",zn="msdosAttributes",An="msDosCompatible",Fn="zip64",Rn="encrypted",Dn="version",Un="versionMadeBy",kn="zipCrypto",Tn="directory",On="executable",Cn="compressionMethod",vn="signature",Mn="extraField",In="unixMode",Nn="setuid",jn="setgid",_n="sticky",Pn=[sn,on,dn,un,pn,mn,cn,ln,hn,yn,bn,Sn,fn,wn,En,gn,xn,zn,An,Fn,Rn,Dn,Un,kn,Tn,On,Cn,vn,"crc32",Mn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",In,Nn,jn,_n,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Wn{constructor(t){Pn.forEach(e=>this[e]=t[e])}}const Ln="password",Bn="rawPassword",Vn="passThrough",Zn="signal",Hn="checkAmbiguity",qn="useWebWorkers",Kn="useCompressionStream",Yn="transferStreams",Gn="preventClose",Xn="offset",Jn="usdz",Qn="strictness",$n="strict",ta="tolerant",ea="File format is not recognized",ra="End of central directory not found",na="End of Zip64 central directory locator not found",aa="Central directory header not found",sa="Local file header not found",oa="Zip64 extra field not found",ia="File contains encrypted entry",ca="Encryption method not supported",la="Compression method not supported",da="Split zip file",ua="Overlapping entry found",fa="Ambiguous archive",wa="Encrypted central directory is not supported",pa="utf-8",ma="cp437",ha=[[dn,t],[un,t],[fn,t],[wn,e]],ya={[e]:{Pt:Za,bytes:4},[t]:{Pt:Ha,bytes:8}};class ba{constructor(t,e={}){Object.assign(this,{reader:new $r(t),options:e,config:C(),Wt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:c}=s;const{config:p}=s;if(await en(c),c.size!==z&&c.readUint8Array||(c=new Rr(await se(c.readable)),await en(c)),c.size<u)throw Error(ea);const m=ka(Pa(s,n,Qn),Pa(s,n,Hn)),E=m==$n,g=m!=ta,x=((t,r)=>t!==z?t:r==$n?0:r==ta?1/0:e)(Pa(s,n,"maxAppendedDataSize"),m),{Lt:A,Bt:F}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:Ta};let o,i,c=0;for await(const[r,l,d,f,w]of Ma(t,a)){const a=Va(r,f+20);if(w+u+a==n){const a=await Na(t,r,l,f,w,n,s);if(a==va){if(o||(o=Ia(d,f,w)),c++,!e||c>1)break}else a!=Ca||i||(i=Ia(d,f,w))}}return o||(o=i),o||(o=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let s,o;for await(const[e,i,c,l,d]of Ma(t,a)){const a=Ia(c,l,d);s||(s=a);const u=await Na(t,e,i,l,d,n,r);if(u==va)return a;u!=Ca||o||(o=a)}return o||s})(t,r,s)),{Lt:o,Bt:c}})(c,g,x);if(!A)throw Za(dt(await rn(c,0,4)))==a?Error(da):Error(ra);g&&F>1&&_a("multiple end of central directory records");const R=dt(A);let U=Za(R,12),k=Za(R,16);const T=A.offset,O=Va(R,20),C=T+u+O;c.size-C>x&&_a("appended data");let v=Va(R,4);const M=c.Nt||0;let I,N,j,_,P=Va(R,6),W=Va(R,10),L=0;const B=k==t||U==t||W==e||P==e;if(k!=t&&P!=e&&(k+=Ua(c,P)),B){const r=A.offset<f?D:await rn(c,A.offset-f,f),n=dt(r);if(r.length==f&&Za(n,0)==d){k=Ua(c,Za(n,4))+Ha(n,8);let r=await rn(c,k,w),a=dt(r);const s=A.offset-f-w;if((r.length<w||Za(a,0)!=l)&&k!=s&&s>=0){const t=k;k=s,k>t&&(L=k-t),r=await rn(c,k,w),a=dt(r)}if(r.length<w||Za(a,0)!=l)throw Error(na);if(N=!0,j=Ha(a,4)>44,j){const t=Math.min(Number(Ha(a,4))-44,c.size-k-w);t>0&&(_=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=dt(t),n=Va(r,26);Object.assign(e,{compressionMethod:Va(r,0),compressedSize:Number(Ha(r,2)),uncompressedSize:Number(Ha(r,10)),encryptionAlgorithm:Va(r,18),bitLength:Va(r,20),flags:Va(r,22),hashAlgorithm:Va(r,24),hashData:t.subarray(28,28+n)})}return e})(await rn(c,k+w,t)))}v==e?v=Za(a,16):E&&v!=Za(a,16)&&_a("mismatched zip64 end of central directory record"),P==e?P=Za(a,20):E&&P!=Za(a,20)&&_a("mismatched zip64 end of central directory record"),W==e?W=Ha(a,32):E&&W!=Ha(a,32)&&_a("mismatched zip64 end of central directory record"),U==t?U=Ha(a,40):E&&U!=Ha(a,40)&&_a("mismatched zip64 end of central directory record"),k=Ua(c,P)+Ha(a,48)+L}}let V=U;const Z=A.offset-(N?76:0);if(k<c.size||(L=c.size-k-U-u,k=c.size-U-u),M!=v)throw Error(da);if(0>k)throw Error(ea);let H=0,q=await rn(c,k,U),K=dt(q);if(U){if(4>q.length)throw Error(ea);const t=Z-U;if(k!=t&&P==v){let e=!(Za(K,H)==i);if(e||0>t||t+4>c.size||(e=Za(dt(await rn(c,t,4)),0)==i),e){const e=k;k=t,k>e&&(L+=k-e),q=await rn(c,k,U),K=dt(q)}}}const Y=Z-k;if(U==Y||0>Y||P!=v||(U=Y,q=await rn(c,k,U),K=dt(q)),0>k||k>=c.size)throw Error(ea);s.directoryOffset=k,s.directoryLength=V;const G=Pa(s,n,"decryptCentralDirectory");let X;G&&W&&q.length>=4&&Za(K,0)!=i&&(j||ga(K))&&(q=await G(q,_),K=dt(q),V=q.length,X=!0),I=k;const J=Pa(s,n,"filenameEncoding"),Q=Pa(s,n,"commentEncoding"),$=E?new Set:z;let tt;for(let t=0;W>t;t++){const a=new Ea(c,p,s.options);if(H+46>q.length||Za(K,H)!=i){if(0==t&&!X&&(j||ga(K)))throw Error(wa);throw Error(aa)}xa(a,K,H+6);const o=!!a.bitFlag.languageEncodingFlag,l=H+46,d=l+a.filenameLength,u=d+a.extraFieldLength,f=Va(K,H+4),w=!(f>>8),m=f>>8==3,g=q.subarray(l,d),x=Va(K,H+32),A=u+x,F=q.subarray(u,A),R=o,D=o,U=Za(K,H+38),k=U&r,T={readOnly:!!(1&k),hidden:!!(2&k),system:!!(4&k),directory:!!(16&k),archive:!!(32&k)},O=Za(K,H+42),C=Pa(s,n,"decodeText")||an,v=R?pa:J||ma,M=D?pa:Q||ma;let N=C(g,v);N===z&&(N=an(g,v));let _=C(F,M);_===z&&(_=an(F,M)),Object.assign(a,{index:t,versionMadeBy:f,msDosCompatible:w,compressedSize:0,uncompressedSize:0,Vt:x,offset:O,diskNumberStart:Va(K,H+34),internalFileAttributes:Va(K,H+36),externalFileAttributes:U,msdosAttributesRaw:k,msdosAttributes:T,rawFilename:g,filenameUTF8:R,commentUTF8:D,rawExtraField:q.subarray(d,u),rawComment:F,filename:N,comment:_}),za(a,a,K,H+6),a.offset+=L,I=Math.min(Ua(c,a.diskNumberStart)+a.offset,I),E&&($.has(a.filename)&&(tt=!0),$.add(a.filename));const P=a.externalFileAttributes>>16&e;a.unixMode===z&&16877&P&&(a.unixMode=P);const B=!!(a.unixMode&y),V=!!(a.unixMode&b),Z=!!(512&a.unixMode),Y=a.unixMode!==z?!!(73&a.unixMode):m&&!!(73&P),G=a.unixMode!==z&&(61440&a.unixMode)==h,et=(61440&P)==h;Object.assign(a,{setuid:B,setgid:V,sticky:Z,unixExternalUpper:P,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:Y,directory:G||et||w&&T.directory||a.filename.endsWith(S)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const rt=new Wn(a);rt.getData=(t,e)=>a.getData(t,rt,s.Wt,e),rt.arrayBuffer=async t=>{const e=new TransformStream,[r]=await Promise.all([se(e.readable).then(t=>t.arrayBuffer()),a.getData(e,rt,s.Wt,t)]);return r},H=A;const{onprogress:nt}=n;if(nt)try{await nt(t+1,W,new Wn(a))}catch{}yield rt}let et=H;if(H+6<=q.length&&Za(K,H)==o){const t=Va(K,H+4);H+6+t>q.length||(s.digitalSignature=q.subarray(H+6,H+6+t),et=H+6+t)}E&&H!=V&&et!=V&&_a("trailing central directory data"),tt&&_a("duplicate filename"),E&&(L||W&&I>0)&&_a("prepended data");const rt=Pa(s,n,"extractPrependedData"),nt=Pa(s,n,"extractAppendedData");return rt&&(s.prependedData=I>0?await rn(c,0,I):D),s.comment=O?await rn(c,T+u,O):D,nt&&(s.appendedData=C<c.size?await rn(c,C,c.size-C):D),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){}}class Sa{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new ba(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const a={...r,readable:(()=>{const{readable:t,writable:e}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}})(),t})()};delete a.getData,t.enqueue(a)}}),this.writable=r}}class Ea{constructor(t,e,r){Object.assign(this,{reader:t,config:e,options:r})}async getData(t,e,a,o={}){const i=this,{reader:c,index:l,offset:d,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:w,compressionMethod:p,config:m,bitFlag:h,rawBitFlag:y,crc32:b,rawLastModDate:S,uncompressedSize:g,compressedSize:x}=i,{dataDescriptor:A}=h,F=e.localDirectory={},R=Ua(c,u)+d,U=await rn(c,R,E),k=dt(U);let T=Pa(i,o,Ln),O=Pa(i,o,Bn);const C=Pa(i,o,Vn);if(T=T&&T.length&&T,O=O&&O.length&&O,f&&99!=f.originalCompressionMethod)throw Error(la);if(U.length<E||Za(k,0)!=n)throw Error(sa);xa(F,k,4);const{extraFieldLength:v,filenameLength:M}=F,I=ka(Pa(i,o,Qn),Pa(i,o,Hn))==$n;let N=D;if(I&&(M||v)){const t=await rn(c,R+E,M+v);N=t.subarray(0,M),F.rawExtraField=t.subarray(M)}else F.rawExtraField=v?await rn(c,R+E+M,v):D;za(i,F,k,4,!0),I&&((t,e,r)=>{const{rawFilename:n}=t;(r.length!=n.length||r.some((t,e)=>t!=n[e]))&&_a("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&_a("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&_a("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||_a("mismatched local file header (crc32 or sizes)")})(i,F,N);const{lastAccessDate:j,creationDate:_}=F;j&&(e.lastAccessDate=j),_&&(e.creationDate=_);const P=i.encrypted&&F.encrypted&&!C,W=P&&!f;if(C||(e.zipCrypto=W),P&&!(64&~F.rawBitFlag))throw Error(ca);const L=C?z:K(p);if(0!=p&&8!=p&&9!=p&&!L&&!C)throw Error(la);if(P){if(!W&&(1>f.strength||f.strength>3))throw Error(ca);if(!T&&!O)throw Error(ia)}const B=R+E+M+v,V=x,Z=ae(c.createReadable({offset:B,size:V})),H=Pa(i,o,Zn),q=Pa(i,o,"checkPasswordOnly");let Y=Pa(i,o,"checkOverlappingEntry");const G=Pa(i,o,"checkOverlappingEntryOnly");G&&(Y=!0);const{onstart:X,onprogress:J,onend:Q}=o,$=9==p;let tt=Pa(i,o,Kn);$&&(tt=!1);const et=Pa(i,o,"checkCrc32"),rt=(et===z?Pa(i,o,"checkSignature"):et)&&!C&&(!P||W||f&&1==f.vendorVersion),nt={options:{codecType:Re,password:T,rawPassword:O,zipCrypto:W,encryptionStrength:f&&f.strength,checkCrc32:rt,checkAuthenticationCode:Pa(i,o,"checkAuthenticationCode"),passwordVerification:W&&(A?S>>>8&r:b>>>24&r),outputSize:C?x:g,crc32:b,compressed:0!=p&&!C,encrypted:P,useWebWorkers:Pa(i,o,qn),useCompressionStream:tt,transferStreams:Pa(i,o,Yn),deflate64:$,format:L?L.format:z,codecURI:L?L.codecURI:z,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:q},config:m,lt:{signal:H,size:V,onstart:X,onprogress:J,onend:Q}};let at;Y&&await(async({reader:t,Zt:e,index:r,offset:n,crc32:a,compressedSize:o,uncompressedSize:i,Ht:c,dataDescriptor:l,extraFieldZip64:d,Wt:u})=>{let f=0;if(l&&(f=d?20:12),f){const r=await rn(t,c+o,f+4);if(r.length==f+4&&Za(dt(r),0)==s){const t=Za(dt(r),4);let n,s;d?(n=Ha(dt(r),8),s=Ha(dt(r),16)):(n=Za(dt(r),8),s=Za(dt(r),12)),(e.encrypted&&!e.zipCrypto||t==a)&&n==o&&s==i&&(f+=4)}}const w={start:n,end:c+o+f,Zt:e};for(const[t,e]of u)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(ua);throw t.qt=e.Zt,t}u.set(r,w)})({reader:c,Zt:e,index:l,offset:R,crc32:b,compressedSize:x,uncompressedSize:g,Ht:B,dataDescriptor:A||F.bitFlag.dataDescriptor,extraFieldZip64:w||F.extraFieldZip64,Wt:a});try{if(!G){q&&(t=new WritableStream),t=new tn(t),await en(t,C?x:g),({writable:at}=t);const{outputSize:e}=await er({readable:Z,writable:at},nt);if(t.size+=e,e!=(C?x:g))throw Error(ie)}}catch(e){if(e.outputSize!==z&&(t.size+=e.outputSize),!q||e.message!=St)throw e}finally{Pa(i,o,Gn)||!at||at.locked||await at.getWriter().close()}return q||G?z:t.getData?t.getData():at}}function ga(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;e>r;r++)if(134630224==Za(t,r))return!0;return!1}function xa(t,e,r){const n=t.rawBitFlag=Va(e,r+2),a=!(1&~n),s=Za(e,r+6);Object.assign(t,{encrypted:a,version:Va(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&m)==m},rawLastModDate:s,lastModDate:Wa(s),filenameLength:Va(e,r+22),extraFieldLength:Va(e,r+24)})}function za(t,e,r,n,a){const{rawExtraField:s}=e,o=e.extraField=new Map,i=dt(s);let c=0;try{for(;c<s.length;){const t=Va(i,c),e=Va(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=Va(r,n+4);Object.assign(e,{signature:Za(r,n+10),crc32:Za(r,n+10),compressedSize:Za(r,n+14),uncompressedSize:Za(r,n+18)});const d=o.get(1);d&&(((t,e)=>{e.zip64=!0;const r=dt(t.data),n=ha.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+ya[e].bytes,0);if(t.data.length<a)throw Error(oa);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=ya[i];e[o]=t[o]=c.Pt(r,s),s+=c.bytes}})(d,e),e.extraFieldZip64=d);const u=o.get(28789);u&&(Aa(u,sn,on,e,t),e.extraFieldUnicodePath=u);const f=o.get(25461);f&&(Aa(f,cn,ln,e,t),e.extraFieldUnicodeComment=f);const w=o.get(39169);w&&w.data.length>=7?(((t,e,r)=>{const n=dt(t.data),a=Ba(n,4);Object.assign(t,{vendorVersion:Ba(n,0),vendorId:Ba(n,2),strength:a,originalCompressionMethod:r,compressionMethod:Va(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=z)})(w,e,l),e.extraFieldAES=w):e.compressionMethod=l;const m=o.get(13);m&&(Fa(m,e),e.extraFieldPkwareUnix=m);const h=o.get(22613);h&&(Fa(h,e),e.extraFieldUnixType1=h);const y=o.get(10);y&&(((t,e)=>{const r=dt(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=Va(r,a),s=Va(r,a+2);1==e&&(n=t.data.slice(a+4,a+4+s)),a+=4+s}}catch{}if(n&&24==n.length){const r=dt(n),a=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const i={lastModDate:La(a),lastAccessDate:La(s),creationDate:La(o)};Object.assign(t,i),Object.assign(e,i)}})(y,e),e.extraFieldNTFS=y);const b=o.get(30805);if(b)Ra(b,e,!1),e.extraFieldUnix=b;else{const t=o.get(30837);t&&(Ra(t,e,!0),e.extraFieldInfoZip=t)}const S=o.get(p);S&&(((t,e,r)=>{if(!t.data.length)return;const n=dt(t.data),a=Ba(n,0),s=[],o=[];r?(1&~a||(s.push(pn),o.push(mn)),2&~a||(s.push(hn),o.push(yn)),4&~a||(s.push(bn),o.push(Sn))):5>t.data.length||(s.push(pn),o.push(mn));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=Za(n,i);e[r]=t[r]=new Date(1e3*(0|s));const c=o[a];t[c]=s}i+=4})})(S,e,a),e.extraFieldExtendedTimestamp=S);const E=o.get(6534);E&&(e.extraFieldUSDZ=E)}function Aa(t,e,r,n,a){if(5>t.data.length)return void(t.valid=!1);const s=dt(t.data),o=new st;o.append(a[r]);const i=dt(new Uint8Array(4));i.setUint32(0,o.get(),!0);const c=Za(s,1);Object.assign(t,{version:Ba(s,0),[e]:an(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==Za(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function Fa(t,e){if(8>t.data.length)return;const r=dt(t.data),n={lastAccessDate:new Date(1e3*Za(r,0)),lastModDate:new Date(1e3*Za(r,4))};12>t.data.length||(n.uid=Va(r,8),n.gid=Va(r,10)),Object.assign(t,n),Object.assign(e,n)}function Ra(t,e,r){try{const n=dt(t.data);let a,s;if(r){let e=0;const r=Ba(n,e++),o=Ba(n,e++);a=Da(t.data.subarray(e,e+o)),e+=o;const i=Ba(n,e++);s=Da(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else 4>t.data.length||(a=Va(n,0),s=Va(n,2),Object.assign(t,{uid:a,gid:s}));a!==z&&(e.uid=a),s!==z&&(e.gid=s)}catch{}}function Da(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function Ua(t,e){return t._t?t._t(e):0}function ka(t,e){return t===z?e?$n:"balanced":t}const Ta=64,Oa=0,Ca=1,va=2;async function*Ma(t,e){const r=t.size-e,n=await rn(t,r,e),a=dt(n);for(let t=n.length-u;t>=0;t--)Za(a,t)==c&&(yield[a,r,n,t,r+t])}function Ia(t,e,r){return{offset:r,buffer:t.slice(e,e+u).buffer}}async function Na(r,n,a,s,o,c,l){const u=Va(n,s+10),w=Za(n,s+12),p=Za(n,s+16);if(u==e||w==t||p==t)return await ja(r,n,a,o-f,c,l)==d?va:Oa;if(!u&&!w)return Ca;const m=Va(n,s+6);for(const t of[o-w,Ua(r,m)+p])if(await ja(r,n,a,t,c,l)==i)return va;return Oa}async function ja(t,e,r,n,a,s){return 0>n||n+4>a?z:r>n?s.count>0?(s.count--,Za(dt(await rn(t,n,4)),0)):z:Za(e,n-r)}function _a(t){const e=Error(fa);throw e.reason=t,e}function Pa(t,e,r){return e[r]===z?t.options[r]:e[r]}function Wa(t){const r=(4294901760&t)>>16,n=t&e;return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function La(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Ba(t,e){return t.getUint8(e)}function Va(t,e){return t.getUint16(e,!0)}function Za(t,e){return t.getUint32(e,!0)}function Ha(t,e){return Number(t.getBigUint64(e,!0))}var qa=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:fa,ERR_BAD_FORMAT:ea,ERR_CENTRAL_DIRECTORY_NOT_FOUND:aa,ERR_ENCRYPTED:ia,ERR_ENCRYPTED_CENTRAL_DIRECTORY:wa,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:na,ERR_EOCDR_NOT_FOUND:ra,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:oa,ERR_INVALID_AUTHENTICATION_CODE:bt,ERR_INVALID_COMPRESSED_DATA:ce,ERR_INVALID_CRC32:le,ERR_INVALID_PASSWORD:ht,ERR_INVALID_SIGNATURE:yt,ERR_INVALID_UNCOMPRESSED_SIZE:ie,ERR_LOCAL_FILE_HEADER_NOT_FOUND:sa,ERR_OVERLAPPING_ENTRY:ua,ERR_SPLIT_ZIP_FILE:da,ERR_UNSUPPORTED_COMPRESSION:la,ERR_UNSUPPORTED_ENCRYPTION:ca,ERR_WORKER_STARTUP_TIMEOUT:Oe,ZipReader:ba,ZipReaderStream:Sa});const Ka="File already exists",Ya="Zip file comment exceeds 64KB",Ga="File entry comment exceeds 64KB",Xa="File entry name exceeds 64KB",Ja="Version exceeds 65535",Qa="The strength must equal 1, 2, or 3",$a="Encryption is not supported in USDZ files",ts="Extra field type exceeds 65535",es="Extra field data exceeds 64KB",rs=-2147483648,ns=2147483647,as=BigInt(0),ss=BigInt("0x7fffffffffffffff"),os="Zip64 is not supported (set the 'zip64' option to 'true')",is="Undefined uncompressed size",cs="Undefined reader",ls="Zip file not empty",ds="Invalid uid (must be integer 0..2^32-1)",us="Invalid gid (must be integer 0..2^32-1)",fs="Invalid UNIX mode (must be integer 0..65535)",ws="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",ps="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",ms="Invalid msdosAttributesRaw (must be integer 0..255)",hs="Invalid msdosAttributes (must be an object with boolean flags)",ys="Signature data exceeds 64KB",bs=new Uint8Array([7,0,2,0,65,69,3,0,0]),Ss="infozip",Es="unix";let gs=0;const xs=[];class zs{constructor(t,e={}){t=new tn(t);const{availableSize:r=A,maxSize:n=A}=t;Object.assign(this,{writer:t,Kt:r>0&&r!==A&&n>0&&n!==A,options:e,config:C(),files:new Map,Yt:new Set,offset:e[Xn]===z?t.size||t.writable.size||0:e[Xn],Gt:e[Xn]===z?0:e[Xn]-(t.size||t.writable.size||0),Xt:new Set,Jt:0,Qt:z})}async prependZip(e){if(this.Yt.size)throw Error(ls);e=new $r(e),await en(e);const{ZipReader:r}=await Promise.resolve().then(()=>qa),n=new r(e.readable),a=await n.getEntries();await n.close(),await en(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Yt=new Set(a.map(t=>t.filename)),this.files=new Map(a.map(e=>{const{version:r,rawLastModDate:n,lastAccessDate:a,creationDate:s,rawFilename:o,bitFlag:i,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:u}=e;let{compressionMethod:f,$t:w,te:p,ee:m,re:h,ne:y,rawExtraField:b}=e;const{level:S,languageEncodingFlag:E,dataDescriptor:g}=i;w=w||D,p=p||D,m=m||D,h=h||D,y=y||D,b=b||D,e.extraFieldAES&&(f=99);const x=Hs(w,p,m,h,y,b),A=u&&l>=t,F=u&&d>=t,R=-7&Ks(S,E,g,c,f)|S<<1,{ae:U,se:k}=qs({version:r,bitFlag:R,compressionMethod:f,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:o,oe:F,ie:A,extraFieldLength:x}),{crc32:T}=e;return T!==z&&Bs(k,10,T),Object.assign(e,{ie:A,oe:F,ce:u&&e.offset>=t,diskNumberStart:0,le:!1,$t:w,te:p,ee:m,re:h,ne:y,rawExtraField:b,extendedTimestamp:m.length>0||h.length>0,de:1+(a?2:0)+(s?4:0),ae:U,se:k}),[e.filename,e]}))}async add(o="",i,c={}){const l=this;c=Object.assign({},c);const{Xt:d,config:u}=l;let f,w;gs<u.maxWorkers?gs++:await new Promise(t=>xs.push(t));try{if(o=o.trim(),Ps(l,c,Tn)&&!o.endsWith(S)&&(o+=S),l.Yt.has(o))throw Error(Ka);return l.Yt.add(o),w=!0,f=(async(o,i,c,l)=>{const d=((n,a,s)=>{a=a.trim();let o=Ps(n,s,An),i=Ps(n,s,Un,o?20:768);const c=Ps(n,s,On),l=Ps(n,s,"uid"),d=Ps(n,s,"gid");let u=Ps(n,s,In),f=Ps(n,s,"unixExtraFieldType"),w=Ps(n,s,Nn),p=Ps(n,s,jn),m=Ps(n,s,_n);if(l!==z&&(0>l||l>t))throw Error(ds);if(d!==z&&(0>d||d>t))throw Error(us);if(u!==z&&(0>u||u>e))throw Error(fs);if(f!==z&&f!==Ss&&f!==Es)throw Error(ws);if(f===Es&&(l!==z&&l>e||d!==z&&d>e))throw Error(ps);f!==z||l===z&&d===z||(f=Ss);let E=Ps(n,s,xn),g=Ps(n,s,zn);const x=E!==z||g!==z;if(l!==z||d!==z||u!==z||f?(o=!1,i=i&e|768):x&&(o=!0,i&=r),E!==z&&(0>E||E>r))throw Error(ms);if(g&&"object"!=typeof g)throw Error(hs);if(i>e)throw Error(Ja);let A=Ps(n,s,gn);const F=A!==z;F||(A=0),!s[Tn]&&a.endsWith(S)&&(s[Tn]=!0);const R=Ps(n,s,Tn);let D;if(R?(a.endsWith(S)||(a+=S),F||(A=16,o||(A|=16877<<16))):o||F||(A=c?493<<16:27525120),!o){const t=u!==z||!!(w||p||m);D=A>>16&e,u=u===z?D:u&e,w?u|=y:w=!!(u&y),p?u|=b:p=!!(u&b),m?u|=512:m=!!(512&u),F&&!t||(R&&(u|=h),A=(u&e)<<16|A&e)}return({msdosAttributesRaw:E,msdosAttributes:g}=((t,e)=>{if(t!==z)t&=r;else if(e!==z){const{readOnly:n,hidden:a,system:s,directory:o,archive:i}=e;let c=0;n&&(c|=1),a&&(c|=2),s&&(c|=4),o&&(c|=16),i&&(c|=32),t=c&r}return e===z&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(E,g)),x&&(A=A&t|E&r),{name:a,ue:{versionMadeBy:i,msDosCompatible:o,externalFileAttributes:A,unixExternalUpper:D,uid:l,gid:d,unixMode:u,unixExtraFieldType:f,setuid:w,setgid:p,sticky:m,msdosAttributesRaw:E,msdosAttributes:g}}})(o,i,l);({name:i}=d);const u=((t,r,n)=>{const a=Ps(t,n,"encodeText",it);let s=a(r);if(s===z&&(s=it(r)),Hs(s)>e)throw Error(Xa);const o=n[cn]||"";let i=a(o);if(i===z&&(i=it(o)),Hs(i)>e)throw Error(Ga);const c=Ps(t,n,Dn,20);if(c>e)throw Error(Ja);const l=Ps(t,n,pn,new Date),d=Ps(t,n,hn),u=Ps(t,n,bn),f=Ps(t,n,En,0),w=Ps(t,n,Vn);let p,m;w||(p=Ps(t,n,Ln),m=Ps(t,n,Bn));const h=Ps(t,n,"encryptionStrength",3),y=Ps(t,n,kn),b=Ps(t,n,"extendedTimestamp",!0),S=Ps(t,n,"ntfsTimestamp"),E=Ps(t,n,"keepOrder",!0),g=Ps(t,n,qn),x=Ps(t,n,Yn),A=Ps(t,n,"bufferedWrite"),F=Ps(t,n,"createTempStream"),R=Ps(t,n,"dataDescriptorSignature",!0),D=Ps(t,n,Zn),U=Ps(t,n,"useUnicodeFileNames",!0),k=Ps(t,n,Cn),T=w||k===z?z:K(k);if(!w&&k!==z&&0!==k&&8!==k&&!T)throw Error("Compression method not supported");let O=Ps(t,n,"level");if(t.options[Jn]){if(p!==z||m!==z)throw Error($a);O===z&&k===z&&(O=0)}let C=Ps(t,n,Kn),v=Ps(t,n,"dataDescriptor");A&&v===z&&(v=!1),(v===z||y)&&(v=!0),O!==z&&6!=O&&(C=!1);const M=Ps(t,n,Fn);if(!y&&(p!==z||m!==z)&&(1>h||h>3))throw Error(Qa);const I=Rs(n[Mn]),N=Rs(n.localExtraField);return{comment:o,ue:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:d,creationDate:u,internalFileAttributes:f,passThrough:w,password:p,rawPassword:m,encryptionStrength:h,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:S,keepOrder:E,useWebWorkers:g,transferStreams:x,bufferedWrite:A,createTempStream:F,dataDescriptorSignature:R,signal:D,useUnicodeFileNames:U,compressionMethod:k,format:T?T.format:z,codecURI:T?T.codecURI:z,fe:T?T.versionNeeded:z,level:O,useCompressionStream:C,dataDescriptor:v,zip64:M,rawExtraField:I,we:N}}})(o,i,l),{comment:f}=u,w=l[Mn];let m;o.files.set(i,z);try{const{ue:f}=u;0==f.level||f.compressionMethod!==z||f.passThrough||await(async t=>{const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.Rt)return!0;if(be(e)||ye(e,ue))return!0;if(r)try{return await _e(t),!0}catch{return!1}return!1})(o.config)||(f.level=0);const w=await(async(e,r,{ue:n},a)=>{const{passThrough:s,zipCrypto:o,password:i,rawPassword:c,encryptionStrength:l}=n;let{dataDescriptor:d,zip64:u,level:f,compressionMethod:w}=n,p=0,m=0;if(s){if(!r)throw Error(cs);if(m=a[dn],m===z)throw Error(is)}const h=!0===u,y=Ps(e,a,Rn),b=!!r&&(!!(i&&Hs(i)||c&&Hs(c))||s&&y);r||(f=0,w=0);const S=b?o?12:16+4*l:0;r&&(r=new $r(r),await en(r),s?(a.uncompressedSize=m,p=Ws(m)+S):r.size===z?(d=!0,(u||u===z)&&(u=!0,m=p=4294967296)):(a.uncompressedSize=m=r.size,p=Ws(m)+S));const E=h||m>=t,g=h||p>=t;if(E||g){if(!1===u)throw Error(os);u=!0}return u=u||!1,{reader:r,ue:{dataDescriptor:d,zip64:u,ie:E,oe:g,uncompressedSize:m,level:f,compressionMethod:w,encrypted:b}}})(o,c,u,l);({reader:c}=w);const h=Os(o.writer),y=Ts(o.writer),b=(t=>{const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:w,we:m,encryptionStrength:h,extendedTimestamp:y,ntfsTimestamp:b,passThrough:S,encrypted:A,ie:F,oe:R,uncompressedSize:U,crc32:k}=t;let{version:T,compressionMethod:O}=t;const C=!f&&(O===z?i===z||i>0:0!==O);let v;const M=S||!C,I=c&&(t.bufferedWrite||!u||!F&&!R||M),N=I||c&&u&&(F||R);if(c&&(F||R)){const t=20,e=ks(t);if(e.uint16(1),e.uint16(t-4),v=e.array,I&&(e.pe(U),M)){const t=A?l?12:16+4*h:0;e.pe(S?0:U+t)}}else v=D;let j,_,P,W,L;if(A&&!l){const t=ks(Hs(bs)+2);t.uint16(39169),t.bytes(bs),j=t.array,j[8]=h}else j=D;if(y){const t=Ns(a),e=js(t);if(e){const e=9+(s?4:0)+(o?4:0),r=ks(e);W=1+(s?2:0)+(o?4:0),r.uint16(p),r.uint16(e-4),r.uint8(W),r.uint32(t),s&&r.uint32(_s(Ns(s))),o&&r.uint32(_s(Ns(o))),P=r.array}else P=D;if(b===z?!e||s||o:b)try{const t=Is(a),e=ks(36);e.uint16(10),e.uint16(32),e.me(4),e.uint16(1),e.uint16(24),e.pe(t),e.pe(s?Is(s):t),e.pe(o?Is(o):t),_=e.array}catch{_=D}else _=D}else _=P=D;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=Ss||r===z&&n===z)if(a!=Es||r===z&&n===z)L=D;else{const t=ks(8);t.uint16(30805),t.uint16(4),t.uint16((r===z?0:r)&e),t.uint16((n===z?0:n)&e),L=t.array}else{const t=Us(r),e=Us(n),a=3+t.length+e.length,s=ks(4+a);s.uint16(30837),s.uint16(a),s.uint8(1),s.uint8(t.length),s.bytes(t),s.uint8(e.length),s.bytes(e),L=s.array}}catch{L=D}O===z&&(O=C?8:0);const{fe:B}=t;C&&B!==z&&(T=T>B?T:B),c&&(T=T>45?T:45),A&&!l&&(T=T>51?T:51,S&&k!==z&&(j[4]=1),j[9]=O,O=99);const V=N?Hs(v):0,Z=V+Hs(j,P,_,L,w,m);if(Z>e)throw Error(es);const H=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{ae:q,se:K,rawLastModDate:Y}=qs({version:T,bitFlag:Ks(i,d,u,A,O),compressionMethod:O,uncompressedSize:U,lastModDate:x>H?x:H>g?g:H,rawFilename:r,oe:R,ie:F,extraFieldLength:Z}),G=ks(E+Hs(r)+Z),X=G.array,J=dt(X);return G.uint32(n),G.bytes(q),G.bytes(r),N&&G.bytes(v),G.bytes(j),G.bytes(P),G.bytes(_),G.bytes(L),G.bytes(w),G.bytes(m),u&&(R||Bs(J,18,0),F||Bs(J,22,0)),{he:X,ye:J,ae:q,se:K,lastModDate:a,rawLastModDate:Y,encrypted:A,compressed:C,version:T,compressionMethod:O,de:W,$t:D,be:V,ee:P,re:_,ne:L,te:j,extraFieldLength:Z}})(l=Object.assign({},l,d.ue,u.ue,w.ue,{internalFileAttribute:u.ue.internalFileAttributes,externalFileAttribute:d.ue.externalFileAttributes,signature:l[vn],crc32:l.crc32===z?l[vn]:l.crc32,offset:o.offset-h,diskNumberStart:y})),S=(({zip64:t,dataDescriptor:e,dataDescriptorSignature:r})=>{let n,a=D,o=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=dt(a),r&&(o=4,Bs(n,0,s))),{Se:a,Ee:n,ge:o}})(l),F=Hs(b.he,S.Se);m=await(async(e,n,s,o,i)=>{const{files:c,writer:l}=e,{keepOrder:d,dataDescriptor:u,signal:f}=i,{xe:w}=o,p=e.options[Jn],m=e.Qt;let h,y,b,S,g,x,F,R={},D=0;c.set(n,R),e.Qt=R;try{let y;d&&(y=m&&m.lock,R.lock=new Promise(t=>b=t)),i.bufferedWrite||!d||e.ze||e.Jt||!u?(h=!0,e.Jt++,F=i.createTempStream?await i.createTempStream():new TransformStream(z,z,{highWaterMark:A}),F.size=0,await en(l)):(F=l,await U()),await en(F);const T=Os(l);if(e.Kt){delete e.Kt;const t=new Uint8Array(4);Bs(dt(t),0,a),await Ms(l,t),e.offset+=4}p&&!h&&Ds(o,e.offset-T);const{he:O}=w;h||(await y,await k());const C=Ts(l),v=vs(e,l);if(R.diskNumberStart=C,h||(g=!0,x=l.size,await Ms(F,O)),R=await(async(e,n,{diskNumberStart:a,lock:s},o,i,c)=>{const{xe:l,Ae:d,Fe:u}=o,{ae:f,se:w,lastModDate:p,rawLastModDate:m,encrypted:h,compressed:y,version:b,compressionMethod:S,$t:E,be:g,ee:x,de:A,re:F,ne:R,te:D}=l,{Se:U}=d,{rawFilename:k,lastAccessDate:T,creationDate:O,password:C,rawPassword:v,level:M,zip64:I,ie:N,oe:j,zipCrypto:_,dataDescriptor:P,directory:W,executable:L,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:H,transferStreams:q,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt,useCompressionStream:ut,passThrough:ft,format:wt,codecURI:pt}=c,mt={lock:s,versionMadeBy:B,zip64:I,directory:!!W,executable:!!L,filenameUTF8:!0,rawFilename:k,commentUTF8:!0,rawComment:V,$t:E,be:g,ee:x,re:F,ne:R,te:D,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt};let{crc32:ht,uncompressedSize:yt}=c,bt=0;ft||(yt=0);const{writable:St}=n;if(e){const a=ae(e.createReadable?e.createReadable():e.readable),s=e.size,o={options:{codecType:Fe,level:M,rawPassword:v,password:C,encryptionStrength:J,zipCrypto:h&&_,passwordVerification:h&&_&&m>>8&r,computeCrc32:!ft,compressed:y&&!ft,encrypted:h&&!ft,useWebWorkers:H,useCompressionStream:ut,transferStreams:q,format:wt,codecURI:pt,compressionMethod:S},config:i,lt:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await er({readable:a,writable:St},o);if(bt=e.outputSize,n.size+=bt,ft||(yt=e.inputSize,h&&!_||(ht=e.crc32)),!j&&bt>=t||!N&&yt>=t)throw Error(os)}catch(t){throw t.outputSize!==z&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,xe:n,Ae:a},{zip64:s,zipCrypto:o,passThrough:i,dataDescriptor:c})=>{const{se:l,encrypted:d}=n,{Ee:u,ge:f}=a;d&&!o&&!i||t===z||(Bs(l,10,t),c&&Bs(u,f,t)),s?c&&(Vs(u,f+4,BigInt(e)),Vs(u,f+12,BigInt(r))):(Bs(l,14,e),Bs(l,18,r),c&&(Bs(u,f+4,e),Bs(u,f+8,r)))})({crc32:ht,compressedSize:bt,uncompressedSize:yt,xe:l,Ae:d},c),P&&await Ms(n,U),Object.assign(mt,{uncompressedSize:yt,compressedSize:bt,lastModDate:p,rawLastModDate:m,creationDate:O,lastAccessDate:T,encrypted:h,zipCrypto:_,size:u+bt,compressionMethod:S,version:b,ae:f,se:w,signature:ht,crc32:!h||_||ft?ht:z,de:A,ie:N,oe:j}),mt})(s,F,R,o,e.config,i),h||(g=!1),c.set(n,R),R.filename=n,h){if(await Promise.all([F.writable.getWriter().close(),y]),await U(),S=!0,x=l.size,await k(),R.diskNumberStart=Ts(l),R.offset=vs(e,l),p){const t=o.Fe;Ds(o,e.offset-Os(l)),R.size+=o.Fe-t}(({rawFilename:t,encrypted:e,zip64:r,be:n,crc32:a,compressedSize:s,uncompressedSize:o,ie:i,oe:c},l,{dataDescriptor:d,passThrough:u})=>{if(d||((!e||u&&a!==z)&&Bs(l,14,a),c||Bs(l,18,s),i||Bs(l,22,o)),r&&n){const e=E+Hs(t)+4;Vs(l,e,BigInt(o)),Vs(l,e+8,BigInt(s))}})(R,w.ye,i),await Ms(l,w.he),await(async(t,e,r)=>{const n=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){var e;await n.ready,await n.write(t),e=Hs(t),D+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(F.readable,l,f),l.size+=F.size,S=!1}else R.diskNumberStart=C,R.offset=v;return e.offset+=R.size,R}catch(t){if(S||g){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=l.size-x,h&&(e.offset+=D)}throw c.delete(n),t}finally{if(h&&e.Jt--,b&&b(),y&&y(),h&&F&&F.dispose)try{await F.dispose()}catch{}}async function U(){e.ze=!0;const{Re:t}=e;e.Re=new Promise(t=>y=()=>{e.ze=!1,t()}),await t}async function k(){Cs(l,Hs(w.he))&&await l.closeDisk()}})(o,i,c,{xe:b,Ae:S,Fe:F},l)}catch(t){throw o.files.delete(i),t}return Object.assign(m,{name:i,comment:f,extraField:w}),new Wn(m)})(l,o,i,c),d.add(f),await f}catch(t){throw w&&l.Yt.delete(o),t}finally{d.delete(f);const t=xs.shift();t?t():gs--}}remove(t){const{Yt:e,files:r}=this;if("string"==typeof t&&(t=r.get(t)),t&&t.filename!==z){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=D,n={}){const{Xt:a,writer:s}=this,{writable:f}=s;if(Hs(r)>e)throw Error(Ya);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=(r=>{let n=0;for(const[,a]of r){const{rawFilename:r,te:s,rawComment:o,re:i,ne:c,rawExtraField:l,extendedTimestamp:d,de:u,lastModDate:f,ie:w,oe:m,uncompressedSize:h,compressedSize:y}=a,b=a.offset>=t,S=a.diskNumberStart>=e;let E,g;if(b||S||w||m){const t=4+(w?8:0)+(m?8:0)+(b?8:0)+(S?4:0),e=ks(t);e.uint16(1),e.uint16(t-4),w&&e.pe(h),m&&e.pe(y),b&&e.pe(a.offset),S&&e.uint32(a.diskNumberStart),E=e.array}else E=D;a.$t=E,a.ce=b,a.le=S;const x=Ns(f);if(d&&js(x)){const t=ks(9);t.uint16(p),t.uint16(5),t.uint8(u),t.uint32(x),g=t.array}else g=D;a.ee=g;const z=Hs(E,s,i,c,g,l);if(z>e)throw Error(es);n+=46+Hs(r,o)+z}return n})(r.files),{De:f,Ue:w}=await(async(r,n,a)=>{const{files:s,writer:o}=r,c=new Uint8Array(n);await en(o);let l=0,d=0,u=Ts(o),f=Os(o);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:p,$t:m,te:h,ee:y,re:b,ne:S,rawExtraField:E,rawComment:g,versionMadeBy:x,ae:z,se:A,ie:F,oe:R,le:D,ce:U,internalFileAttributes:k,externalFileAttributes:T,diskNumberStart:O,uncompressedSize:C,compressedSize:v}=n,M=Hs(m,h,y,b,S,E),I=46+Hs(p,g)+M;Cs(o,l+I-d)&&(await Ms(o,c.slice(d,l)),d=l,await o.closeDisk()),0==r&&(u=Ts(o),f=Os(o)),F||Bs(A,18,C),R||Bs(A,14,v),(U||D)&&45>n.version&&Ls(A,0,45);const N=ks(I);if(N.uint32(i),N.uint16(x),N.bytes(z.subarray(0,24)),N.uint16(M),N.uint16(Hs(g)),N.uint16(D?e:O),N.uint16(k),N.uint32(T),N.uint32(U?t:w),N.bytes(p),N.bytes(m),N.bytes(h),N.bytes(y),N.bytes(b),N.bytes(S),N.bytes(E),N.bytes(g),Zs(c,N.array,l),l+=I,a.onprogress)try{await a.onprogress(r+1,s.size,new Wn(n))}catch{}}return await Ms(o,d?c.slice(d):c),{De:{diskNumber:u,diskOffset:f},Ue:c}})(r,s,a),m=await(async(t,r,n)=>{const a=Ps(t,n,"signCentralDirectory");if(a){const n=await a(r),s=Hs(n);if(s>e)throw Error(ys);const i=ks(6+s);return i.uint32(o),i.uint16(s),i.bytes(n),await Ms(t.writer,i.array),6+s}return 0})(r,w,a);await(async(r,n,a,s)=>{const{writer:o}=r,{De:i,ke:f}=s;let{Te:w}=s,p=r.files.size,m=i.diskNumber,h=vs(r,i),y=Ts(o);Cs(o,u)&&y++;let b=Ps(r,a,Fn);if(!(t>h&&t>w&&e>p&&e>y)){if(!1===b)throw Error(os);b=!0}const S=Hs(n);if(S>e)throw Error(Ya);const E=ks(b?98:u);Cs(o,Hs(E.array)+S)&&await o.closeDisk(),y=Ts(o),b&&(E.uint32(l),E.pe(44),E.uint16(45),E.uint16(45),E.uint32(y),E.uint32(m),E.pe(p),E.pe(p),E.pe(w),E.pe(h),E.uint32(d),E.uint32(y),E.pe(BigInt(vs(r,o))+BigInt(w)+BigInt(f)),E.uint32(y+1),Ps(r,a,"supportZip64SplitFile",!0)&&(y=e,m=e),p=e,h=t,w=t),E.uint32(c),E.uint16(y),E.uint16(m),E.uint16(p),E.uint16(p),E.uint32(w),E.uint32(h),E.uint16(S),await Ms(o,E.array),S&&await Ms(o,n)})(r,n,a,{De:f,Te:s,ke:m})})(this,r,n),Ps(this,n,Gn)||await f.getWriter().close(),s.getData?s.getData():f}}class As{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new zs(r,t),this.Xt=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:a}=new TransformStream({start(t){r=t},flush:()=>{(async()=>{try{await e.close()}catch(t){try{await e.writer.writable.abort(t)}catch{}}})()}});return Fs(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:a}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return Fs(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.Xt)),this.zipWriter.close(t,e)}}function Fs(t,e,r){t.Xt.add(e),e.catch(t=>{try{r(t)}catch{}})}function Rs(t){if(!t)return D;let r=0,n=0;t.forEach(t=>r+=4+Hs(t));const a=new Uint8Array(r),s=dt(a);return t.forEach((t,r)=>{if(r>e)throw Error(ts);if(Hs(t)>e)throw Error(es);Ls(s,n,r),Ls(s,n+2,Hs(t)),Zs(a,t,n+4),n+=4+Hs(t)}),a}function Ds(t,e){const{xe:r}=t;let{he:n,extraFieldLength:a}=r,s=64-(e+Hs(n))%64;4>s&&(s+=64);const o=new Uint8Array(s),i=dt(o);Ls(i,0,6534),Ls(i,2,s-4);const c=n;r.he=n=new Uint8Array(Hs(c)+s),Zs(n,c),Zs(n,o,Hs(c));const l=dt(n);Ls(l,28,a+s),r.ye=l,t.Fe+=s}function Us(t){if(t===z)return D;{const e=new Uint8Array(4);dt(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function ks(t){const e=new Uint8Array(t),r=dt(e);let n=0;return{array:e,uint8:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},uint16:t=>{Ls(r,n,t),n+=2},uint32:t=>{Bs(r,n,t),n+=4},pe:t=>{Vs(r,n,BigInt(t)),n+=8},bytes:t=>{Zs(e,t,n),n+=Hs(t)},me:t=>n+=t}}function Ts(t){const{diskNumber:e=0}=t;return e}function Os(t){const{diskOffset:e=0}=t;return e}function Cs(t,e){const{availableSize:r=A}=t;return e>r}function vs(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.Gt:0)}async function Ms(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=Hs(e),await n.write(e)}finally{n.releaseLock()}}function Is(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return as>e?as:e>ss?ss:e}}function Ns(t){return Math.floor(t.getTime()/1e3)}function js(t){return t>=rs&&ns>=t}function _s(t){return Math.min(ns,Math.max(rs,t))}function Ps(t,e,r,n){const a=e[r]===z?t.options[r]:e[r];return a===z?n:a}function Ws(t){return t+5*(Math.floor(t/16383)+1)}function Ls(t,e,r){t.setUint16(e,r,!0)}function Bs(t,e,r){t.setUint32(e,r,!0)}function Vs(t,e,r){t.setBigUint64(e,r,!0)}function Zs(t,e,r){t.set(e,r)}function Hs(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function qs({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,oe:l,ie:d,extraFieldLength:u}){const f=ks(26),w=f.array,p=dt(w);if(f.uint16(e),f.uint16(r),f.uint16(n),i===z){const t=new Uint32Array(1),e=dt(t);Ls(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),Ls(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.uint32(i),f.me(4),l||s!==z?f.uint32(l?t:s):f.me(4),d||a!==z?f.uint32(d?t:a):f.me(4),f.uint16(Hs(c)),f.uint16(u),{ae:w,se:p,rawLastModDate:i}}function Ks(t,e,r,n,a){let s=0;return e&&(s|=m),r&&(s|=8),8!=a&&9!=a||(0>t||t>3||(s|=6),t>3&&5>=t&&(s|=4),9==t&&(s|=2)),n&&(s|=1),s}function Ys(){return"application/octet-stream"}const Gs=1048576,Xs=".zip.js-temp";function Js(t={}){const{thresholdBytes:e=Gs,directoryName:r=Xs,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let a;function s(){return a||(a=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return()=>{const t=[];let r,n,a,o,i=0,c=!1;const l=new WritableStream({async write(o){c?await a.write(o):(t.push(o),i+=o.length,i>e&&await(async()=>{const e=await s();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}),a=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await a.write(e);t.length=0})())},async close(){a&&(await a.close(),a=null)}});let d=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!o){const t=await n.getFile();o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else d<t.length?e.enqueue(t[d++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const Qs=1048576;function $s(t={}){const{thresholdBytes:e=Qs}=t;return()=>{const t=[];let r,n,a,s=0,o=!1;const i=new WritableStream({async write(a){o?await r.write(a):(t.push(a),s+=a.length,s>e&&await(async()=>{const e=new TransformStream;n=se(e.readable),r=e.writable.getWriter(),o=!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:i,readable:new ReadableStream({async pull(e){if(o){if(!a){const t=await n;a=t.stream().getReader()}const{value:t,done:r}=await a.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const to=1048576,eo=".zip.js-temp",ro="createSyncAccessHandle is only available in dedicated workers";function no(t={}){const{thresholdBytes:e=to,directoryName:r=eo,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error(ro);const a=n||(()=>navigator.storage.getDirectory());let s;function o(){return s||(s=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),s}return()=>{const t=[];let r,n,a=0,s=!1,i=0,c=0;const l=new WritableStream({async write(c){s?(n.write(c,{at:i}),i+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await o();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),s=!0;for(const e of t)n.write(e,{at:i}),i+=e.length;t.length=0})())},close(){n&&n.flush()}});let d=0;return{writable:l,readable:new ReadableStream({pull(e){if(s){const t=i-c;if(0>=t)return void e.close();const r=new Uint8Array(Math.min(524288,t)),a=n.read(r,{at:c});a?(c+=a,e.enqueue(r.subarray(0,a))):e.close()}else d<t.length?e.enqueue(t[d++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await o();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{N({baseURI:import.meta.url})}catch{}let ao,so,oo,io,co;function lo(t,e,r={}){if(!ao){const t=Error("WASM module not loaded");throw t.cause=co,t}const n="number"==typeof r.level?r.level:-1,a="number"==typeof r.outBuffer?r.outBuffer:65536,s="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.Oe=so(a),this.in=so(s),this.inBufferSize=s,!this.Oe||!this.in)throw Error("allocation failed");if(this.Ce=new Uint8Array(a),t?(this.ve=ao.deflate_process,this.Me=ao.deflate_last_consumed,this.Ie=ao.deflate_end,this.Ne=ao.deflate_new(),r="gzip"===e?ao.deflate_init_gzip(this.Ne,n):"deflate-raw"===e?ao.deflate_init_raw(this.Ne,n):ao.deflate_init(this.Ne,n)):"deflate64-raw"===e?(this.ve=ao.inflate9_process,this.Me=ao.inflate9_last_consumed,this.Ie=ao.inflate9_end,this.Ne=ao.inflate9_new(),r=ao.inflate9_init_raw(this.Ne)):(this.ve=ao.inflate_process,this.Me=ao.inflate_last_consumed,this.Ie=ao.inflate_end,this.Ne=ao.inflate_new(),r="deflate-raw"===e?ao.inflate_init_raw(this.Ne):"gzip"===e?ao.inflate_init_gzip(this.Ne):ao.inflate_init(this.Ne)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(io.buffer),o=this.ve,i=this.Me,c=this.Oe,l=this.Ce;let d=0;for(;d<n.length;){const e=Math.min(n.length-d,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&oo&&(oo(this.in),this.in=0),this.in=so(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(d,d+e),this.in);const u=o(this.Ne,this.in,e,c,a,0),f=16777215&u;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=u>>24&255,e=128&t?t-256:t;if(0>e)throw Error("process error:"+e)}const w=i(this.Ne);if(0===w)break;d+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(io.buffer),n=this.ve,s=this.Oe,o=this.Ce;for(;;){const i=n(this.Ne,0,0,s,a,4),c=16777215&i,l=i>>24&255;if(!t){const t=128&l?l-256:l;if(0>t)throw Error("process error:"+t)}if(c&&(o.set(r.subarray(s,s+c),0),e.enqueue(o.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=o(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){o(this)}});function o(t){let e=0;return t.Ne&&t.Ie&&(e=t.Ie(t.Ne)),t.Ne=0,t.in&&oo&&oo(t.in),t.in=0,t.Oe&&oo&&oo(t.Oe),t.Oe=0,e}}class uo{constructor(t="deflate",e){return lo(!0,t,e)}}class fo{constructor(t="deflate",e){return lo(!1,t,e)}}uo.Rt=!0,fo.Rt=!0;let wo,po=!1;function mo(){wo=null,(async()=>{await Promise.allSettled(Xe.map(t=>(or(t),t.terminate()))),Ce=z,Ne=!1})(),po=!1,ao=so=oo=io=co=null}(({je:t})=>{_e=t})({je:t=>{if(!wo){let{wasmURI:e}=t;typeof e==R&&(e=e()),wo=(async(t,{baseURI:e})=>{if(!po)try{await(async(t,e)=>{let r,n;try{try{n=new URL(t,e)}catch{}const a=await fetch(n);r=await a.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=(t=>{const e=t.split(",")[1],r=atob(e),n=r.length,a=new Uint8Array(n);for(let t=0;n>t;++t)a[t]=r.charCodeAt(t);return a.buffer})(t)}(t=>{if(ao=t,({malloc:so,free:oo,memory:io}=ao),"function"!=typeof so||"function"!=typeof oo||!io)throw ao=so=oo=io=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),po=!0}catch(t){throw(t=>{co=t})(t),t}})(e,t).catch(t=>{throw wo=null,t})}return wo}}),N({CompressionStreamFallback:uo,DecompressionStreamFallback:fo}),N({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{Rr as BlobReader,Dr as BlobWriter,xr as Data64URIReader,zr as Data64URIWriter,fa as ERR_AMBIGUOUS_ARCHIVE,ea as ERR_BAD_FORMAT,aa as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Ka as ERR_DUPLICATED_NAME,ia as ERR_ENCRYPTED,wa as ERR_ENCRYPTED_CENTRAL_DIRECTORY,na as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,ra as ERR_EOCDR_NOT_FOUND,oa as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,cr as ERR_HTTP_RANGE,lr as ERR_HTTP_RESOURCE_CHANGED,bt as ERR_INVALID_AUTHENTICATION_CODE,_ as ERR_INVALID_CODEC_DEFINITION,W as ERR_INVALID_CODEC_MODULE,Ya as ERR_INVALID_COMMENT,ce as ERR_INVALID_COMPRESSED_DATA,le as ERR_INVALID_CRC32,Qa as ERR_INVALID_ENCRYPTION_STRENGTH,Ga as ERR_INVALID_ENTRY_COMMENT,Xa as ERR_INVALID_ENTRY_NAME,es as ERR_INVALID_EXTRAFIELD_DATA,ts as ERR_INVALID_EXTRAFIELD_TYPE,us as ERR_INVALID_GID,ms as ERR_INVALID_MSDOS_ATTRIBUTES,hs as ERR_INVALID_MSDOS_DATA,ht as ERR_INVALID_PASSWORD,yt as ERR_INVALID_SIGNATURE,ys as ERR_INVALID_SIGNATURE_DATA,ds as ERR_INVALID_UID,ie as ERR_INVALID_UNCOMPRESSED_SIZE,ws as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,ps as ERR_INVALID_UNIX_ID_SIZE,fs as ERR_INVALID_UNIX_MODE,Ja as ERR_INVALID_VERSION,dr as ERR_ITERATOR_COMPLETED_TOO_SOON,sa as ERR_LOCAL_FILE_HEADER_NOT_FOUND,ua as ERR_OVERLAPPING_ENTRY,P as ERR_RESERVED_COMPRESSION_METHOD,da as ERR_SPLIT_ZIP_FILE,cs as ERR_UNDEFINED_READER,is as ERR_UNDEFINED_UNCOMPRESSED_SIZE,la as ERR_UNSUPPORTED_COMPRESSION,ro as ERR_UNSUPPORTED_CONTEXT,Et as ERR_UNSUPPORTED_CRYPTO_API,ca as ERR_UNSUPPORTED_ENCRYPTION,$a as ERR_UNSUPPORTED_ENCRYPTION_USDZ,os as ERR_UNSUPPORTED_FORMAT,Oe as ERR_WORKER_STARTUP_TIMEOUT,ur as ERR_WRITER_NOT_INITIALIZED,ls as ERR_ZIP_NOT_EMPTY,Yr as HttpRangeReader,Kr as HttpReader,Er as Reader,Jr as SplitDataReader,Qr as SplitDataWriter,Ur as TextReader,kr as TextWriter,Gr as Uint8ArrayReader,Xr as Uint8ArrayWriter,gr as Writer,ba as ZipReader,Sa as ZipReaderStream,zs as ZipWriter,As as ZipWriterStream,M as configure,$s as createBlobTempStream,Js as createOPFSTempStream,no as createSyncAccessHandleTempStream,Ys as getMimeType,H as registerCodec,j as resetConfiguration,mo as terminateWorkers,q as unregisterCodec};
1
+ const t=4294967295,e=65535,r=255,n=67324752,a=134695760,s=a,o=84233040,i=33639248,c=101010256,l=101075792,d=117853008,u=22,f=20,w=56,p=21589,m=2048,h=16384,y=2048,b=1024,S="/",E=30,g=new Date(2107,11,31,23,59,58),x=new Date(1980,0,1),z=void 0,A=1/0,F="undefined",R="function",D=new Uint8Array;let U=2;try{typeof navigator!=F&&navigator.hardwareConcurrency&&(U=navigator.hardwareConcurrency)}catch{}const k={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:U,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof CompressionStream!=F&&CompressionStream,DecompressionStream:typeof DecompressionStream!=F&&DecompressionStream},T=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],O={...k};function C(){return O}function v(t){return Math.max(t.chunkSize,64)}function M(t){t=I(t);for(const e of T){const r=t[e];r!==z&&(O[e]=r)}}function I(t){const{CompressionStreamZlib:e,DecompressionStreamZlib:r}=t;if(e===z&&r===z)return t;const n=Object.assign({},t);return n.CompressionStreamFallback===z&&(n.CompressionStreamFallback=e),n.DecompressionStreamFallback===z&&(n.DecompressionStreamFallback=r),n}function N(t){t=I(t);for(const e of T){const r=t[e];r!==z&&(k[e]=r)}M(t)}function j(){for(const t of T)delete O[t];Object.assign(O,k)}const _="Invalid codec definition",P="Reserved compression method",W="Invalid codec module",L="string",B=[0,8,9,99],V=new Map,Z=new Map;function H(t={}){const{compressionMethod:r,format:n,codecURI:a,CompressionStream:s,DecompressionStream:o,versionNeeded:i}=t;if(!Number.isInteger(r)||0>r||r>e||typeof n!=L||!n.length)throw Error(_);if(B.includes(r))throw Error(P);const c=typeof s==R||typeof o==R;if(!(c||typeof a==L&&a.length))throw Error(_);V.set(r,{compressionMethod:r,format:n,codecURI:a,versionNeeded:i}),c&&G(n,{CompressionStream:s,DecompressionStream:o})}function q(t){const e=V.get(t);if(e){let r;V.delete(t),V.forEach(t=>r=r||t.format==e.format),r||Z.delete(e.format)}}function K(t){return V.get(t)}function Y(t){return Z.get(t)}function G(t,e){const{CompressionStream:r,DecompressionStream:n}=e;if(typeof r!=R&&typeof n!=R)throw Error(W);Z.set(t,{CompressionStream:r,DecompressionStream:n})}const X=[[],[],[],[],[],[],[],[]];for(let t=0;256>t;t++){let e=t;for(let t=0;8>t;t++)e=1&e?e>>>1^3988292384:e>>>1;X[0][t]=e}for(let t=0;256>t;t++)for(let e=1;8>e;e++){const r=X[e-1][t];X[e][t]=r>>>8^X[0][255&r]}const[J,Q,$,tt,et,rt,nt,at]=X;class st{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 a=new DataView(t.buffer,t.byteOffset,r),s=r-8;for(;s>=n;n+=8){const t=e^a.getInt32(n,!0),r=a.getInt32(n+4,!0);e=at[255&t]^nt[t>>>8&255]^rt[t>>>16&255]^et[t>>>24&255]^tt[255&r]^$[r>>>8&255]^Q[r>>>16&255]^J[r>>>24&255]}}for(;r>n;n++)e=e>>>8^J[255&(e^t[n])];this.o=e}get(){return~this.o}}class ot extends TransformStream{constructor(){let t;const e=new st;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 it(t){if(typeof TextEncoder==F){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)}function ct(t,e){const r=new Uint8Array(t.length+e.length);return r.set(t),r.set(e,t.length),r}function lt(t){return t.byteOffset||t.byteLength!=t.buffer.byteLength?new Uint8Array(t):t}function dt(t){return new DataView(t.buffer,t.byteOffset,t.byteLength)}const ut={concat(t,e){if(0===t.length||0===e.length)return t.concat(e);const r=t[t.length-1],n=ut.l(r);return 32===n?t.concat(e):ut.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)+ut.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]=ut.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 a=0;a<t.length;a++)n.push(r|t[a]>>>e),r=t[a]<<32-e;const a=t.length?t[t.length-1]:0,s=ut.l(a);return n.push(ut.S(e+s&31,e+s>32?r:n.pop(),1)),n}},ft={bytes:{A(t){const e=ut.bitLength(t)/8,r=new Uint8Array(e);let n;for(let a=0;e>a;a++)3&a||(n=t[a/4]),r[a]=n>>>24,n<<=8;return r},F(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(ut.S(8*(3&r),n)),e}}},wt=class{constructor(t){const e=this;e.blockSize=512,e.R=[1732584193,4023233417,2562383102,271733878,3285377520],e.D=[1518500249,1859775393,2400959708,3395469782],t?(e.U=t.U.slice(0),e.T=t.T.slice(0),e.O=t.O):e.reset()}reset(){const t=this;return t.U=t.R.slice(0),t.T=[],t.O=0,t}update(t){const e=this;"string"==typeof t&&(t=ft.C.F(t));const r=e.T=ut.concat(e.T,t),n=e.O,a=e.O=n+ut.bitLength(t);if(a>9007199254740991)throw Error("Cannot hash more than 2^53 - 1 bits");const s=new Uint32Array(r);let o=0;for(let t=e.blockSize+n-(e.blockSize+n&e.blockSize-1);a>=t;t+=e.blockSize)e.v(s.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),e}M(){const t=this;let e=t.T;const r=t.U;e=ut.concat(e,[ut.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.v(e.splice(0,16));return t.reset(),r}I(t,e,r,n){return t>19?t>39?t>59?t>79?void 0:e^r^n:e&r|e&n|r&n:e^r^n:e&r|~e&n}N(t,e){return e<<t|e>>>32-t}v(t){const e=this,r=e.U,n=Array(80);for(let e=0;16>e;e++)n[e]=t[e];let a=r[0],s=r[1],o=r[2],i=r[3],c=r[4];for(let t=0;79>=t;t++){16>t||(n[t]=e.N(1,n[t-3]^n[t-8]^n[t-14]^n[t-16]));const r=e.N(5,a)+e.I(t,s,o,i)+c+n[t]+e.D[Math.floor(t/20)]|0;c=i,i=o,o=e.N(30,s),s=a,a=r}r[0]=r[0]+a|0,r[1]=r[1]+s|0,r[2]=r[2]+o|0,r[3]=r[3]+i|0,r[4]=r[4]+c|0}},pt={importKey:t=>new pt.j(ft.bytes.F(t)),_(t,e,r,n){if(r=r||1e4,0>n||0>r)throw Error("invalid params to pbkdf2");const a=1+(n>>5)<<2;let s,o,i,c,l;const d=new ArrayBuffer(a),u=new DataView(d);let f=0;const w=ut;for(e=ft.bytes.F(e),l=1;(a||1)>f;l++){for(s=o=t.encrypt(w.concat(e,[l])),i=1;r>i;i++)for(o=t.encrypt(o),c=0;c<o.length;c++)s[c]^=o[c];for(i=0;(a||1)>f&&i<s.length;i++)u.setInt32(f,s[i]),f+=4}return d.slice(0,n/8)},j:class{constructor(t){const e=this,r=e.P=wt,n=[[],[]];e.W=[new r,new r];const a=e.W[0].blockSize/32;t.length>a&&(t=(new r).update(t).M());for(let e=0;a>e;e++)n[0][e]=909522486^t[e],n[1][e]=1549556828^t[e];e.W[0].update(n[0]),e.W[1].update(n[1]),e.L=new r(e.W[0])}reset(){const t=this;t.L=new t.P(t.W[0]),t.B=!1}update(t){this.B=!0,this.L.update(t)}digest(){const t=this,e=t.L.M(),r=new t.P(t.W[1]).update(e).M();return t.reset(),r}encrypt(t){if(this.B)throw Error("encrypt on already updated hmac called!");return this.update(t),this.digest(t)}}},mt=typeof crypto!=F&&typeof crypto.getRandomValues==R,ht="Invalid password",yt="Invalid signature",bt=yt,St="zipjs-abort-check-password",Et="Crypto API not supported";function gt(t){if(mt)return crypto.getRandomValues(t);throw Error(Et)}const xt=16,zt={name:"PBKDF2"},At=Object.assign({hash:{name:"HMAC"}},zt),Ft=Object.assign({iterations:1e3,hash:{name:"SHA-1"}},zt),Rt=["deriveBits"],Dt=[8,12,16],Ut=[16,24,32],kt=10,Tt=[0,0,0,0],Ot=typeof crypto!=F,Ct=Ot&&crypto.subtle,vt=Ot&&typeof Ct!=F,Mt=ft.bytes,It=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],a=t.length;let s,o,i,c=1;if(4!==a&&6!==a&&8!==a)throw Error("invalid aes key size");for(e.D=[o=t.slice(0),i=[]],s=a;4*a+28>s;s++){let t=o[s-1];(s%a===0||8===a&&s%a===4)&&(t=r[t>>>24]<<24^r[t>>16&255]<<16^r[t>>8&255]<<8^r[255&t],s%a===0&&(t=t<<8^t>>>24^c<<24,c=c<<1^283*(c>>7))),o[s]=o[s-a]^t}for(let t=0;s;t++,s--){const e=o[3&t?s:s-4];i[t]=4>=s||4>t?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],a=[],s=[];let o,i,c,l;for(let t=0;256>t;t++)s[(a[t]=t<<1^283*(t>>7))^t]=t;for(let d=o=0;!r[d];d^=i||1,o=s[o]||1){let s=o^o<<1^o<<2^o<<3^o<<4;s=s>>8^255&s^99,r[d]=s,n[s]=d,l=a[c=a[i=a[d]]];let u=16843009*l^65537*c^257*i^16843008*d,f=257*a[s]^16843008*s;for(let r=0;4>r;r++)t[r][d]=f=f<<24^f>>>8,e[r][s]=u=u<<24^u>>>8}for(let r=0;5>r;r++)t[r]=t[r].slice(0),e[r]=e[r].slice(0)}H(t,e){if(4!==t.length)throw Error("invalid aes block size");const r=this.D[e],n=r.length/4-2,a=[0,0,0,0],s=this.V[e],o=s[0],i=s[1],c=s[2],l=s[3],d=s[4];let u,f,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],b=4;for(let t=0;n>t;t++)u=o[p>>>24]^i[m>>16&255]^c[h>>8&255]^l[255&y]^r[b],f=o[m>>>24]^i[h>>16&255]^c[y>>8&255]^l[255&p]^r[b+1],w=o[h>>>24]^i[y>>16&255]^c[p>>8&255]^l[255&m]^r[b+2],y=o[y>>>24]^i[p>>16&255]^c[m>>8&255]^l[255&h]^r[b+3],b+=4,p=u,m=f,h=w;for(let t=0;4>t;t++)a[e?3&-t:t]=d[p>>>24]<<24^d[m>>16&255]<<16^d[h>>8&255]<<8^d[255&y]^r[b++],u=p,p=m,m=h,h=y,y=u;return a}},Nt=class{constructor(t,e){this.K=t,this.Y=e,this.G=e}reset(){this.G=this.Y}update(t){return this.X(this.K,t,this.G)}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 a=ut.bitLength(e);for(let a=0;n>a;a+=4){this.$(r);const n=t.encrypt(r);e[a]^=n[0],e[a+1]^=n[1],e[a+2]^=n[2],e[a+3]^=n[3]}return ut.h(e,a)}},jt=pt.j;let _t=Ot&&vt&&typeof Ct.importKey==R,Pt=Ot&&vt&&typeof Ct.deriveBits==R;class Wt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:a=!0}){super({start(){Bt(this,t,e,r)},async transform(t,e){const r=this,{password:a,strength:s,et:o,ready:i}=r;a?(await(async(t,e,r,n)=>{const a=await Zt(t,e,r,qt(n,0,Dt[e])),s=qt(n,Dt[e]);if(a[0]!=s[0]||a[1]!=s[1])throw Error(ht)})(r,s,a,qt(t,0,Dt[s]+2)),t=qt(t,Dt[s]+2),n?e.error(Error(St)):o()):await i;const c=new Uint8Array(t.length-kt-(t.length-kt)%xt);e.enqueue(Vt(r,t,c,0,kt,!0))},async flush(t){const{nt:e,st:r,pending:n,ready:s}=this;if(r&&e){await s;const o=qt(n,0,n.length-kt),i=qt(n,n.length-kt);let c=D;if(o.length){const t=Yt(Mt,o);r.update(t);const n=e.update(t);c=Kt(Mt,n)}const l=qt(Kt(Mt,r.digest()),0,kt);let d=n.length<kt?1:0;for(let t=0;kt>t;t++)d|=l[t]^i[t];if(d&&a)throw Error(bt);t.enqueue(c)}}})}}class Lt extends TransformStream{constructor({password:t,rawPassword:e,encryptionStrength:r}){super({start(){Bt(this,t,e,r)},async transform(t,e){const r=this,{password:n,strength:a,et:s,ready:o}=r;let i=D;n?(i=await(async(t,e,r)=>{const n=gt(new Uint8Array(Dt[e]));return ct(n,await Zt(t,e,r,n))})(r,a,n),s()):await o;const c=new Uint8Array(i.length+t.length-t.length%xt);c.set(i,0),e.enqueue(Vt(r,t,c,i.length,0))},async flush(t){const{nt:e,st:r,pending:n,ready:a}=this;if(r&&e){await a;let s=D;if(n.length){const t=e.update(Yt(Mt,n));r.update(t),s=Kt(Mt,t)}const o=Kt(Mt,r.digest()).slice(0,kt);t.enqueue(ct(s,o))}}})}}function Bt(t,e,r,n){Object.assign(t,{ready:new Promise(e=>t.et=e),password:Ht(e,r),strength:n-1,pending:D})}function Vt(t,e,r,n,a,s){const{nt:o,st:i,pending:c}=t;c.length&&(e=ct(c,e));const l=e.length-a;let d;for(r=((t,e)=>{if(e&&e>t.length){const r=t;(t=new Uint8Array(e)).set(r,0)}return t})(r,n+(l-l%xt)),d=0;l-xt>=d;d+=xt){const t=Yt(Mt,qt(e,d,d+xt));s&&i.update(t);const a=o.update(t);s||i.update(a),r.set(Kt(Mt,a),d+n)}return t.pending=qt(e,d),r}async function Zt(t,e,r,n){t.password=null;const a=await(async(t,e,r,n,a)=>{if(!_t)return pt.importKey(e);try{return await Ct.importKey("raw",e,r,!1,a)}catch{return _t=!1,pt.importKey(e)}})(0,r,At,0,Rt),s=await(async(t,e,r)=>{if(!Pt)return pt._(e,t.salt,Ft.iterations,r);try{return await Ct.deriveBits(t,e,r)}catch{return Pt=!1,pt._(e,t.salt,Ft.iterations,r)}})(Object.assign({salt:n},Ft),a,8*(2*Ut[e]+2)),o=new Uint8Array(s),i=Yt(Mt,qt(o,0,Ut[e])),c=Yt(Mt,qt(o,Ut[e],2*Ut[e])),l=qt(o,2*Ut[e]);return Object.assign(t,{keys:{key:i,ot:c,passwordVerification:l},nt:new Nt(new It(i),Array.from(Tt)),st:new jt(c)}),l}function Ht(t,e){return e===z?it(t):e}function qt(t,e,r){return t.subarray(e,r)}function Kt(t,e){return t.A(e)}function Yt(t,e){return t.F(e)}class Gt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r,checkPasswordOnly:n}){super({start(){Jt(this,t,e,r)},transform(t,e){const r=this;if(r.password||r.rawPassword){const e=Qt(r,t.subarray(0,12));if(r.password=r.rawPassword=null,0!=(e[11]^r.passwordVerification))throw Error(ht);t=t.subarray(12)}n?e.error(Error(St)):e.enqueue(Qt(r,t))}})}}class Xt extends TransformStream{constructor({password:t,rawPassword:e,passwordVerification:r}){super({start(){Jt(this,t,e,r)},transform(t,e){const r=this;let n,a;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const e=gt(new Uint8Array(12));e[11]=r.passwordVerification,n=new Uint8Array(t.length+e.length),n.set($t(r,e),0),a=12}else n=new Uint8Array(t.length),a=0;n.set($t(r,t),a),e.enqueue(n)}})}}function Jt(t,e,r,n){Object.assign(t,{password:e,rawPassword:r,passwordVerification:n}),((t,e,r)=>{const n=[305419896,591751049,878082192];if(Object.assign(t,{keys:n,it:new st(n[0]),ct:new st(n[2])}),r)for(let e=0;e<r.length;e++)te(t,r[e]);else for(let r=0;r<e.length;r++)te(t,e.charCodeAt(r))})(t,e,r)}function Qt(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=ee(t)^e[n],te(t,r[n]);return r}function $t(t,e){const r=new Uint8Array(e.length);for(let n=0;n<e.length;n++)r[n]=ee(t)^e[n],te(t,e[n]);return r}function te(t,e){let[,r]=t.keys;t.it.append([e]);const n=~t.it.get();r=ne(Math.imul(ne(r+re(n)),134775813)+1),t.ct.append([r>>>24]);const a=~t.ct.get();t.keys=[n,r,a]}function ee(t){const e=2|t.keys[2];return re(Math.imul(e,1^e)>>>8)}function re(t){return 255&t}function ne(t){return 4294967295&t}function ae(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 se(t,e){if(t=ae(t),typeof Blob.prototype.stream!=R||new Blob([]).stream()instanceof ReadableStream){const r={};return e&&(r.headers=[["Content-Type",e]]),new Response(t,r).blob()}const r=[];return t.pipeTo(new WritableStream({write(t){r.push(t)}})).then(()=>new Blob(r,e?{type:e}:{}))}function oe(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 ie="Invalid uncompressed size",ce="Invalid compressed data",le=yt,de="deflate-raw",ue="gzip",fe=[31,139,8];class we extends TransformStream{constructor(t,{chunkSize:e,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:a,encrypted:s,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:d,format:u,compressionMethod:f}=t,w=this;let p,m,h,y=super.readable;const b=u&&Y(u),S=c&&a&&!d&&!b&&(!s||i)&&!(!o||!n);if(s&&!i||!c||S||(p=new ot,y=xe(y,p)),a)if(b)y=ze(y,Ee(b.CompressionStream,u,{level:l,chunkSize:e,compressionMethod:f}));else if(S)h=new pe,y=ze(y,new n(ue)),y=xe(y,h);else try{y=ge(y,o,{level:l,chunkSize:e},n,r)}catch(t){let e;try{e=new n(ue)}catch{throw t}y=ze(y,e),y=xe(y,new pe)}s&&(i?y=xe(y,new Xt(t)):(m=new Lt(t),y=xe(y,m))),Se(w,y,()=>{s&&!i||!c||(w.crc32=S?h.crc32:new DataView(p.value.buffer).getUint32(0))})}}class pe 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 a=r.length+t.length;if(8>=a)return void(r=ct(r,t));const s=a-8,o=Math.min(s,r.length);n.enqueue(ct(r.subarray(0,o),t.subarray(0,s-o))),r=ct(r.subarray(o),t.subarray(s-o))},flush(){const e=dt(r);t.crc32=e.getUint32(0,!0),t.uncompressedSize=e.getUint32(4,!0)}}),t=this}}class me extends TransformStream{constructor(t,{chunkSize:e,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:a,encrypted:s,checkCrc32:o,crc32:i,compressed:c,useCompressionStream:l,deflate64:d,format:u,compressionMethod:f,rawBitFlag:w,outputSize:p}=t;let m,h,y=super.readable;if(s&&(a?y=xe(y,new Gt(t)):(h=new Wt(t),y=xe(y,h))),c){const t=u&&Y(u);if(t)y=ze(y,Ee(t.DecompressionStream,u,{chunkSize:e,compressionMethod:f,rawBitFlag:w,uncompressedSize:p}));else try{y=ge(y,l,{chunkSize:e,deflate64:d},n,r)}catch(t){if(d||p===z)throw t;let e;try{e=new n(ue)}catch{throw t}y=((t,e,r)=>{const n=new st;let a,s,o,i=0,c=!1;const l=new Promise((t,e)=>{s=t,o=e});l.catch(()=>{}),r||s();const d=new TransformStream({start(t){const e=new Uint8Array(10);e.set(fe),t.enqueue(e)},transform(t,e){e.enqueue(t)},async flush(t){c=!0,f();try{await l}finally{w()}const e=new Uint8Array(8),a=dt(e);a.setUint32(0,n.get(),!0),a.setUint32(4,r,!0),t.enqueue(e)},cancel(t){o(t)}}),u=new TransformStream({transform(t,e){n.append(t),i+=t.length,r>i?c&&f():s(),e.enqueue(t)},cancel(t){o(t)}});return t=xe(t,d),xe(t=ze(t,e),u);function f(){w(),a=setTimeout(()=>o(Error(ie)),5e3)}function w(){clearTimeout(a)}})(y,e,p)}y=(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=Error(ce);throw e.cause=t,e}const{value:n,done:a}=r;a?t.close():t.enqueue(n)},cancel:t=>e.cancel(t)})})(y)}o&&(m=new ot,y=xe(y,m)),Se(this,y,()=>{if(o){const t=new DataView(m.value.buffer);if(i!=t.getUint32(0,!1))throw Error(le)}})}}const he=new Map;function ye(t,e){if(!t)return!1;let r=he.get(t);r||(r=new Map,he.set(t,r));let n=r.get(e);if(n===z){try{new t(e),n=!0}catch{n=!1}r.set(e,n)}return n}function be(t){return ye(t,de)}function Se(t,e,r){e=xe(e,new TransformStream({flush:r})),Object.defineProperty(t,"readable",{get:()=>e})}function Ee(t,e,r){if(!t)throw Error("Compression method not supported");return new t(e,r)}function ge(t,e,r,n,a){const s=e&&n?n:a||n,o=r.deflate64?"deflate64-raw":de;let i;try{i=new s(o,r)}catch(t){if(!e||!a||s==a)throw t;i=new a(o,r)}return ze(t,i)}function xe(t,e){return ae(t).pipeThrough(e)}function ze(t,e){const r=e.writable.getWriter(),n=t.getReader();return(async()=>{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(t,e)=>{try{await t.abort(e)}catch{}})(r,t),await(async(t,e)=>{try{await t.cancel(e)}catch{}})(n,t)}})(),e.readable}const Ae="data",Fe="deflate",Re="inflate";class De extends TransformStream{constructor(t,e){super({});const r=this,{codecType:n}=t;let a;n.startsWith(Fe)?a=we:n.startsWith(Re)&&(a=me),r.outputSize=0;let s=0;const o=new a(t,e),i=super.readable,c=new TransformStream({transform(t,e){t&&t.length&&(s+=t.length,e.enqueue(t))},flush(){Object.assign(r,{inputSize:s})}}),l=new TransformStream({transform(e,n){if(e&&e.length&&(n.enqueue(e),r.outputSize+=e.length,t.outputSize!==z&&r.outputSize>t.outputSize))throw Error(ie)},flush(){const{crc32:t}=o;Object.assign(r,{crc32:t,inputSize:s})}});Object.defineProperty(r,"readable",{get:()=>i.pipeThrough(c).pipeThrough(o).pipeThrough(l)})}}class Ue extends TransformStream{constructor(t){const e=[];let r=0;function n(){const n=new Uint8Array(t);let a=0;for(;t>a;){const r=e[0],s=t-a;r.length>s?(n.set(r.subarray(0,s),a),e[0]=r.subarray(s),a+=s):(n.set(r,a),a+=r.length,e.shift())}return r-=t,n}Number.isFinite(t)&&t>=1||(t=65536),super({transform(a,s){for(e.push(a),r+=a.length;r>t;)s.enqueue(n())},flush(t){r&&t.enqueue(((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))}})}}const ke={type:"module"},Te="error",Oe="Worker startup timeout";let Ce,ve,Me,Ie,Ne,je=!0;try{je=typeof structuredClone==R&&structuredClone(new DOMException("","AbortError")).code!==z}catch{}let _e=()=>{};class Pe{constructor(t,{readable:e,writable:r},{options:n,config:a,lt:s,useWebWorkers:o,transferStreams:i,workerURI:c,createWorker:l},d){const{signal:u}=s;return Ne&&(l=z),Object.assign(t,{ut:!0,ft:(t.ft||0)+1,readable:e.pipeThrough(new Ue(v(a))).pipeThrough(new We(s),{signal:u}),writable:r,options:Object.assign({},n),workerURI:c,createWorker:l,transferStreams:i,terminate:()=>new Promise(e=>{const{wt:r,ut:n}=t;r?(n?t.ht=e:(r.terminate(),e()),t.yt=null):e()}),bt(){if(t.ut){const{ht:e}=t;e&&(t.ht=null,t.St=!0,t.wt.terminate(),e()),t.ut=!1,d(t)}}}),Ce===z&&(Ce=typeof Worker!=F),(o&&(Ce&&c||l)?Ve:Be)(t,a)}}class We extends TransformStream{constructor({onstart:t,onprogress:e,size:r,onend:n}){let a=0;super({async start(){t&&await Le(t,r)},async transform(t,n){a+=t.length,e&&await Le(e,a,r),n.enqueue(t)},async flush(){n&&await Le(n,a)}})}}async function Le(t,...e){try{await t(...e)}catch{}}function Be(t,e){return{run:()=>Ze(t,e)}}function Ve(t,e){const{baseURI:r,chunkSize:n,workerStartupTimeout:a}=e;let{wasmURI:s}=e;if(!t.yt){let o;typeof s==R&&(s=s());try{o=Ke(t.workerURI,r,t)}catch{return t.createWorker?Ne=!0:Ce=!1,Be(t,e)}Object.assign(t,{wt:o,Et:!1,St:!1,yt:{run:async()=>{try{return await(async(t,e)=>{let r,n;const a=new Promise((t,e)=>{r=t,n=e});Object.assign(t,{reader:null,writer:null,gt:r,xt:n,result:a});const{readable:s,options:o}=t,{writable:i,closed:c,zt:l}=(t=>{const e=new AbortController,{writable:r,readable:n}=new TransformStream,a=n.pipeTo(t,{preventClose:!0,preventAbort:!0,signal:e.signal});return a.catch(()=>{}),{writable:r,closed:a,zt:()=>e.abort()}})(t.writable);let d;try{d=Xe({type:"start",options:o,config:e,readable:s,writable:i},t)}catch(e){l();try{await c}catch{}throw t.bt(),e}d||Object.assign(t,{reader:s.getReader(),writer:i.getWriter()});const{workerStartupTimeout:u}=e;t.Et||!Number.isFinite(u)||0>u||(t.At=setTimeout(()=>(t=>{if(t.At=null,t.Et)return;const{xt:e,writer:r}=t;if(qe(t),t.wt=null,e){const t=Error(Oe);t.Ft=!0,e(t),r&&r.releaseLock()}})(t),u));try{const t=await a;return await f(),await c,t}catch(t){await f(),l();try{await c}catch{}throw t}async function f(){if(!d&&!i.locked)try{await i.getWriter().close()}catch{}}})(t,{chunkSize:n,wasmURI:s,baseURI:r,workerStartupTimeout:a})}catch(r){if(r&&r.Ft)return t.createWorker?Ne=!0:Ce=!1,He(t),Ze(t,e);if(r&&r.codecImportFailed){if(t.reader)return He(t),Ze(t,e);t.bt()}throw r}}}})}return t.yt}async function Ze({options:t,readable:e,writable:r,bt:n},a){let s;try{if(t.compressed&&!t.format){const e=t.codecType.startsWith(Fe),r=e?a.CompressionStreamFallback:a.DecompressionStreamFallback,n=e?a.CompressionStream:a.DecompressionStream;if(t.useCompressionStream){if(r&&r.Rt&&!be(n))try{await _e(a)}catch{}}else try{await _e(a)}catch{r&&!r.Rt||(t.useCompressionStream=!0)}}s=new De(t,a),await e.pipeThrough(s).pipeThrough(new Ue(v(a))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:i}=s;return{crc32:n,inputSize:o,outputSize:i}}catch(t){throw s&&(t.outputSize=s.outputSize),t}finally{n()}}function He(t){const{reader:e}=t;e&&e.releaseLock(),t.reader=null,t.writer=null}function qe(t){const{wt:e}=t;if(e)try{e.terminate()}catch{}t.yt=null}function Ke(t,e,r,n,a=!0){const{createWorker:s}=r;let o,i,c;if(s)o=s();else if(Me===z||ve!==t){const s=typeof t==R;i=s?t(a):t;const l=i.startsWith("data:"),d=i.startsWith("blob:");if(l||d){n===z&&(n=!1),n&&(c=ke);try{o=new Worker(i,c)}catch(a){if(d)try{URL.revokeObjectURL(i)}catch{}if(s&&d)return Ke(t,e,r,n,!1);if(n)throw a;return Ke(t,e,r,!0,!1)}}else{n===z&&(n=!0),n&&(c=ke);try{i=new URL(i,e)}catch{}try{o=new Worker(i,c)}catch(s){if(n)return Ke(t,e,r,!1,a);throw s}}ve=t,Me=i,Ie=c}else o=new Worker(Me,Ie);return o.addEventListener("message",t=>{r.Et=!0,Ye(r),(async({data:t},e)=>{const{type:r,value:n,messageId:a,result:s,error:o}=t,{reader:i,writer:c,gt:l,xt:d,bt:u,ft:f}=e,w=()=>e.ft!=f;try{if(o){const{message:t,stack:e,code:r,name:n,outputSize:a,cause:s,codecImportFailed:i}=o,c=Error(t);Object.assign(c,{stack:e,code:r,name:n,outputSize:a}),s&&(c.cause=Object.assign(Error(s.message),{name:s.name})),i&&(c.codecImportFailed=!0),p(c)}else{if("pull"==r){const{value:t,done:r}=await i.read();w()||Xe({type:Ae,value:t,done:r,messageId:a},e)}r==Ae&&(await c.ready,await c.write(new Uint8Array(n)),w()||Xe({type:"ack",messageId:a},e)),"close"==r&&p(null,s)}}catch(o){w()||(qe(e),p(o))}function p(t,e){w()||(t?d(t):l(e),c&&c.releaseLock(),t&&t.codecImportFailed||u())}})(t,r)}),o.addEventListener(Te,t=>Ge(t,r)),o.addEventListener("messageerror",t=>Ge(t,r)),o}function Ye(t){const{At:e}=t;e&&(clearTimeout(e),t.At=null)}function Ge(t,e){t.preventDefault&&t.preventDefault(),Ye(e);const{Et:r,xt:n,writer:a,bt:s}=e;if(qe(e),r||(e.wt=null),n){let e=t.error||Error(t.message||Te);r||(e=Object.assign(Error(e.message||Te),{Ft:!0})),n(e),a&&a.releaseLock(),r&&s()}}function Xe(t,{wt:e,writer:r,transferStreams:n,Et:a}){try{const{value:r,readable:s,writable:o}=t,i=[];if(r&&(t.value=lt(r),i.push(t.value.buffer)),n&&je&&a?(s&&i.push(s),o&&i.push(o)):t.readable=t.writable=null,i.length)try{return e.postMessage(t,i),!0}catch{je=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(t){throw r&&r.releaseLock(),t}}let Je=[];const Qe=[];let $e,tr,er=0;async function rr(t,e){const{options:r,config:n}=e,{transferStreams:a,useWebWorkers:s,useCompressionStream:o,compressed:i,checkCrc32:c,computeCrc32:l,encrypted:d,format:u,codecURI:f}=r,{workerURI:w,createWorker:p,maxWorkers:m}=n;u&&(f&&(r.codecURI=((t,e)=>{try{return new URL(t,e).toString()}catch{return t}})(f,n.baseURI)),await(async(t,e)=>{!Z.has(t)&&e&&G(t,await(import(/* webpackIgnore: true */ /* @vite-ignore */e)))})(u,r.codecURI)),e.transferStreams=!u&&(a||a===z&&n.transferStreams);const h=!(i||c||l||d),y=u===z||!!r.codecURI;return e.useWebWorkers=!h&&y&&(s||s===z&&n.useWebWorkers),e.workerURI=e.useWebWorkers&&w?w:z,e.createWorker=e.useWebWorkers&&p?p:z,r.useCompressionStream=o||o===z&&n.useCompressionStream,(await(async()=>{const r=Je.find(t=>!t.ut);if(r)return ir(r),new Pe(r,t,e,b);if(Je.length<m){const r={Dt:er};return er++,Je.push(r),new Pe(r,t,e,b)}return new Promise(r=>{Qe.push({resolve:r,stream:t,Ut:e}),tr=n.workerStarvationTimeout,nr()})})()).run();function b(t){if(ar(),Qe.length){const[{resolve:e,stream:r,Ut:n}]=Qe.splice(0,1);e(new Pe(t,r,n,b)),nr()}else t.wt?(ir(t),((t,e)=>{const{config:r}=e,{terminateWorkerTimeout:n}=r;Number.isFinite(n)&&n>=0&&(t.St?t.St=!1:t.kt=setTimeout(async()=>{Je=Je.filter(e=>e!=t);try{await t.terminate()}catch{}},n))})(t,e)):Je=Je.filter(e=>e!=t)}}function nr(){!$e&&Qe.length&&Number.isFinite(tr)&&tr>=0&&($e=setTimeout(sr,tr))}function ar(){$e&&(clearTimeout($e),$e=null)}function sr(){if($e=null,Qe.length){const[{resolve:t,stream:e,Ut:r}]=Qe.splice(0,1),n=Object.assign({},r,{useWebWorkers:!1,workerURI:z,createWorker:z});t(new Pe({},e,n,or)),nr()}}function or(){ar(),nr()}function ir(t){const{kt:e}=t;e&&(clearTimeout(e),t.kt=null)}const cr="HTTP error ",lr="HTTP Range not supported",dr="HTTP resource changed",ur="Writer iterator completed too soon",fr="Writer not initialized",wr="Content-Range",pr="Range",mr="GET",hr="bytes",yr=16777216,br="writable",Sr=Symbol();class Er{constructor(){this.size=0}init(){this.initialized=!0}}class gr extends Er{get readable(){return this.createReadable()}createReadable({offset:t=0,size:e,chunkSize:r=v(C())}={}){const n=this;let a=0;return new ReadableStream({async pull(s){const o=e===z?r:Math.min(r,e-a),i=await nn(n,t+a,o);s.enqueue(i),a+r>e||e===z&&!i.length&&o?s.close():a+=r}})}}class xr extends Er{constructor(){super();const t=this,e=new WritableStream({write(e){if(!t.initialized)throw Error(fr);return t.writeUint8Array(lt(e))}});Object.defineProperty(t,br,{get:()=>e})}writeUint8Array(){}}class zr extends gr{constructor(t){super();let e=t.length;for(;"="==t.charAt(e-1);)e--;const r=t.indexOf(",")+1;Object.assign(this,{dataURI:t,Tt:r,size:Math.floor(.75*(e-r))})}readUint8Array(t,e){const{Tt:r,dataURI:n}=this,a=new Uint8Array(e),s=4*Math.floor(t/3),o=atob(n.substring(s+r,4*Math.ceil((t+e)/3)+r)),i=t-3*Math.floor(s/4);let c=0;for(let t=i;i+e>t&&t<o.length;t++)a[t-i]=o.charCodeAt(t),c++;return c<a.length?a.subarray(0,c):a}}class Ar extends xr{constructor(t){super(),Object.assign(this,{data:"data:"+(t||"")+";base64,",pending:[]})}writeUint8Array(t){const e=this;let r,n=e.pending;const a=e.pending.length;for(e.pending="",r=0;r<3*Math.floor((a+t.length)/3)-a;r++)n+=String.fromCharCode(t[r]);for(;r<t.length;r++)e.pending+=String.fromCharCode(t[r]);n.length>2?e.data+=btoa(n):e.pending=n+e.pending}getData(){return this.data+btoa(this.pending)}}let Fr,Rr;class Dr extends gr{constructor(t){super(),Object.assign(this,{blob:t,size:t.size}),Rr||(Rr=(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();Fr=1==e}catch{Fr=!1}})())}createReadable(t){const{blob:e,size:r}=this,{offset:n=0,size:a=r-n}=t||{};return n||r>a?Fr?ae(e.slice(n,n+a).stream()):super.createReadable(t):ae(e.stream())}async readUint8Array(t,e){const r=this,n=t+e,a=t||n<r.size?r.blob.slice(t,n):r.blob;let s=await a.arrayBuffer();return s.byteLength>e&&(s=s.slice(t,n)),new Uint8Array(s)}}class Ur extends Er{constructor(t){super();const e=this,r=new TransformStream;Object.defineProperty(e,br,{get:()=>r.writable}),e.blob=se(r.readable,t),e.blob.catch(()=>{})}getData(){return this.blob}}class kr extends Dr{constructor(t){super(new Blob([t],{type:"text/plain"}))}}class Tr extends Ur{constructor(t){super(t),Object.assign(this,{encoding:t,Ot:!t||"utf-8"==t.toLowerCase()})}async getData(){const{encoding:t,Ot:e}=this,r=await super.getData();if(r.text&&e)return r.text();{const e=new FileReader;return new Promise((n,a)=>{Object.assign(e,{onload:({target:t})=>n(t.result),onerror:()=>a(e.error)}),e.readAsText(r,t)})}}}class Or extends gr{constructor(t,e){super(),vr(this,t,e)}async init(){await Mr(this,qr,Br),super.init()}createReadable(t){const e=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=e;if((r||n)&&a!==z){const{offset:r=0,size:n=a-r}=t||{};if(n>0&&a>r)return((t,e,r)=>{let n,a=e,s=0,o=r;return new ReadableStream({start:()=>i(),async pull(t){n||await i();const{value:e,done:r}=await n.read();if(r)throw Error(lr);const a=e.length>s?e.subarray(0,s):e;s-=a.length,o-=a.length,a.length&&t.enqueue(a),s||(await(async()=>{const t=n;n=z,await t.cancel()})(),o||t.close())},cancel:t=>n&&n.cancel(t)});async function i(){const e=Math.min(t.maximumRangeSize,o),r=await qr(mr,t,Wr(t,a,e));if(206!=r.status)throw Error(lr);const i=r.headers.get(wr);if(i){const t=Number(i.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=a)throw Error(lr)}Pr(t,r),_r(t,r),a+=e,s=e,n=r.body.getReader()}})(e,r,Math.min(n,a-r))}return super.createReadable(t)}readUint8Array(t,e){return Ir(this,t,e,qr,Br)}}class Cr extends gr{constructor(t,e){super(),vr(this,t,e)}async init(){await Mr(this,Kr,Vr),super.init()}readUint8Array(t,e){return Ir(this,t,e,Kr,Vr)}}function vr(t,e,r){const{preventHeadRequest:n,useRangeHeader:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i=!0,maximumRangeSize:c=yr,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:a,forceRangeRequests:s,combineSizeEocd:o,checkResourceChanges:i,maximumRangeSize:c,fetch:l})}async function Mr(t,e,r){const{url:n,preventHeadRequest:a,useRangeHeader:s,forceRangeRequests:o,combineSizeEocd:i}=t;if((t=>{const{baseURI:e}=C(),{protocol:r}=new URL(t,e);return"http:"==r||"https:"==r})(n)&&(s||o)&&(void 0===a||a)){const n=await e(mr,t,Wr(t,i?-22:void 0)),a=n.headers.get("Accept-Ranges");if(!(o||a&&a.toLowerCase()==hr))throw Error(lr);{if(i){const e=new Uint8Array(await n.arrayBuffer());206==n.status&&e.length==u&&(t.Ct=e)}_r(t,n);const a=Nr(n);a===z?await Hr(t,e,r):t.size=a}}else await Hr(t,e,r)}async function Ir(t,e,r,n,a){const{useRangeHeader:s,forceRangeRequests:o,Ct:i,size:c,options:l}=t;if(s||o){if(i&&e==c-u&&r==u)return i;if(c>e&&0!==r){e+r>c&&(r=c-e);const a=await n(mr,t,Wr(t,e,r));if(206!=a.status)throw Error(lr);const s=a.headers.get(wr);if(s){const t=Number(s.trim().split(/[\s-]+/)[1]);if(!Number.isNaN(t)&&t!=e)throw Error(lr)}Pr(t,a),_r(t,a);const o=new Uint8Array(await a.arrayBuffer());if(o.length!=r)throw Error(lr);return o}return D}{const{data:n}=t;return n||await a(t,l),t.data.subarray(e,e+r)}}function Nr(t){const e=t.headers.get(wr);if(e){const t=e.trim().split(/\s*\/\s*/)[1];if(t&&"*"!=t){const e=Number(t);if(!Number.isNaN(e))return e}}}function jr({headers:t}){return{vt:t.get("Etag")||z,lastModified:t.get("Last-Modified")||z}}function _r(t,e){const{checkResourceChanges:r,Mt:n}=t;r&&!n&&206==e.status&&(t.Mt=jr(e))}function Pr(t,e){const{checkResourceChanges:r,Mt:n,size:a}=t;if(r){const t=Nr(e);if(t!==z&&a!==z&&t!=a)throw Error(dr);if(n){const t=jr(e);if(Object.entries(n).some(([e,r])=>r!==z&&t[e]!==z&&r!=t[e]))throw Error(dr)}}}function Wr(t,e=0,r=1){return Object.assign({},Lr(t),{[pr]:hr+"="+(0>e?e:e+"-"+(e+r-1))})}function Lr({options:t}){const{headers:e}=t;if(e)return Symbol.iterator in e?Object.fromEntries(e):e}async function Br(t){await Zr(t,qr)}async function Vr(t){await Zr(t,Kr)}async function Zr(t,e){const r=await e(mr,t,Lr(t));t.data=new Uint8Array(await r.arrayBuffer()),t.size=t.data.length}async function Hr(t,e,r){if(t.preventHeadRequest)await r(t,t.options);else{const n=await e("HEAD",t,Lr(t)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?t.size=Number(a):await r(t,t.options)}}async function qr(t,{fetch:e=fetch,options:r,url:n},a){const s=await e(n,Object.assign({},r,{method:t,headers:a}));if(400>s.status)return s;throw 416==s.status?Error(lr):Error(cr+(s.statusText||s.status))}function Kr(t,{url:e},r){return new Promise((n,a)=>{const s=new XMLHttpRequest;if(s.addEventListener("load",()=>{if(400>s.status){const t=[];s.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:s.status,arrayBuffer:()=>s.response,headers:new Map(t)})}else a(416==s.status?Error(lr):Error(cr+(s.statusText||s.status)))},!1),s.addEventListener("error",t=>a(t.detail?t.detail.error:Error("Network error")),!1),s.open(t,e),r)for(const t of Object.entries(r))s.setRequestHeader(t[0],t[1]);s.responseType="arraybuffer",s.send()})}class Yr extends gr{constructor(t,e={}){super(),Object.assign(this,{url:t,reader:e.useXHR&&!e.fetch?new Cr(t,e):new Or(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 Gr extends Yr{constructor(t,e={}){super(t,Object.assign({},e,{useRangeHeader:!0}))}}class Xr extends gr{constructor(t){super(),t=new Uint8Array(t.buffer,t.byteOffset,t.byteLength),Object.assign(this,{array:t,size:t.length})}readUint8Array(t,e){return this.array.slice(t,t+e)}}class Jr extends xr{constructor(t){super(),this.defaultBufferSize=t||262144}init(t=0){Object.assign(this,{offset:0,array:new Uint8Array(t>0?t:this.defaultBufferSize)}),super.init()}writeUint8Array(t){const e=this,r=e.offset+t.length;if(r>e.array.length){let t=e.array.length?2*e.array.length:e.defaultBufferSize;for(;r>t;)t*=2;const n=e.array;e.array=new Uint8Array(t),e.array.set(n)}e.array.set(t,e.offset),e.offset+=t.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}}class Qr extends gr{constructor(t){super(),this.It=t}async init(){const t=this,{It:e}=t;t.Nt=0,await Promise.all(e.map(t=>rn(t))),t.jt=e.map(e=>{const r=t.size;return t.size+=e.size,r}),super.init()}_t(t){const{jt:e,size:r}=this,n=e[t];return n===z?r:n}async readUint8Array(t,e){const r=this,{It:n}=this;let a,s=0,o=t;for(;n[s]&&o>=n[s].size;)o-=n[s].size,s++;const i=n[s];if(i){const n=i.size;if(o+e>n){const s=n-o;a=ct(await nn(i,o,s),await r.readUint8Array(t+s,e-s))}else a=await nn(i,o,e)}else a=D;return r.Nt=Math.max(s,r.Nt),a}}class $r extends Er{constructor(t,e=4294967295){super();const r=this;let n,a,s;Object.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const o=new WritableStream({async write(e){if(e===Sr)return void(s&&await c());const{availableSize:o}=r;if(s)e.length<o?await i(e):(await i(e.subarray(0,o)),await c(),e.length>o&&await this.write(e.subarray(o)));else{const{value:o,done:i}=await t.next();if(i&&!o)throw Error(ur);n=o,n.size=0,n.maxSize&&(r.maxSize=n.maxSize),r.availableSize=r.maxSize,await rn(n),a=o.writable,s=a.getWriter(),await this.write(e)}},async close(){s&&(await s.ready,await l())},async abort(t){s&&await s.abort(t)}});async function i(t){const e=t.length;e&&(await s.ready,await s.write(t),n.size+=e,r.availableSize-=e)}async function c(){await l(),r.diskOffset+=n.size,r.diskNumber++,s=null,r.availableSize=r.maxSize}async function l(){await s.close()}Object.defineProperty(r,br,{get:()=>o})}async closeDisk(){const t=this.writable.getWriter();try{await t.ready,await t.write(Sr)}finally{t.releaseLock()}}}class tn{constructor(t){return Array.isArray(t)&&(t=new Qr(t)),(t instanceof ReadableStream||typeof t.getReader==R)&&(t={readable:ae(t)}),t}}class en{constructor(t){return t.writable===z&&typeof t.next==R&&(t=new $r(t)),(t instanceof WritableStream||typeof t.getWriter==R)&&(t={writable:oe(t)}),t.size===z&&(t.size=0),t}}async function rn(t,e){if(!t.init||t.initialized)return Promise.resolve();await t.init(e)}function nn(t,e,r){return t.readUint8Array(e,r)}const an="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function sn(t,e){return e&&"cp437"==e.trim().toLowerCase()?(t=>{{let e="";for(let r=0;r<t.length;r++)e+=an[t[r]];return e}})(t):new TextDecoder(e,{ignoreBOM:!0}).decode(t)}const on="filename",cn="rawFilename",ln="comment",dn="rawComment",un="uncompressedSize",fn="compressedSize",wn="offset",pn="diskNumberStart",mn="lastModDate",hn="rawLastModDate",yn="lastAccessDate",bn="rawLastAccessDate",Sn="creationDate",En="rawCreationDate",gn="internalFileAttributes",xn="externalFileAttributes",zn="msdosAttributesRaw",An="msdosAttributes",Fn="msDosCompatible",Rn="zip64",Dn="encrypted",Un="version",kn="versionMadeBy",Tn="zipCrypto",On="directory",Cn="executable",vn="compressionMethod",Mn="signature",In="extraField",Nn="unixMode",jn="setuid",_n="setgid",Pn="sticky",Wn=[on,cn,un,fn,mn,hn,ln,dn,yn,bn,Sn,En,wn,pn,gn,xn,zn,An,Fn,Rn,Dn,Un,kn,Tn,On,Cn,vn,Mn,"crc32",In,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Nn,jn,_n,Pn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Ln{constructor(t){Wn.forEach(e=>this[e]=t[e])}}const Bn="password",Vn="rawPassword",Zn="passThrough",Hn="signal",qn="checkAmbiguity",Kn="useWebWorkers",Yn="useCompressionStream",Gn="transferStreams",Xn="preventClose",Jn="offset",Qn="usdz",$n="strictness",ta="strict",ea="tolerant",ra="File format is not recognized",na="End of central directory not found",aa="End of Zip64 central directory locator not found",sa="Central directory header not found",oa="Local file header not found",ia="Zip64 extra field not found",ca="File contains encrypted entry",la="Encryption method not supported",da="Compression method not supported",ua="Split zip file",fa="Overlapping entry found",wa="Ambiguous archive",pa="Encrypted central directory is not supported",ma="utf-8",ha="cp437",ya=[[un,t],[fn,t],[wn,t],[pn,e]],ba={[e]:{Pt:Ha,bytes:4},[t]:{Pt:qa,bytes:8}};class Sa{constructor(t,e={}){Object.assign(this,{reader:new tn(t),options:e,config:C(),Wt:new Map})}async*getEntriesGenerator(n={}){const s=this;let{reader:c}=s;const{config:p}=s;if(await rn(c),c.size!==z&&c.readUint8Array||(c=new Dr(await se(c.readable)),await rn(c)),c.size<u)throw Error(ra);const m=Ta(Wa(s,n,$n),Wa(s,n,qn)),E=m==ta,g=m!=ea,x=((t,r)=>t!==z?t:r==ta?0:r==ea?1/0:e)(Wa(s,n,"maxAppendedDataSize"),m),{Lt:A,Bt:F}=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,65557),s={count:Oa};let o,i,c=0;for await(const[r,l,d,f,w]of Ia(t,a)){const a=Za(r,f+20);if(w+u+a==n){const a=await ja(t,r,l,f,w,n,s);if(a==Ma){if(o||(o=Na(d,f,w)),c++,!e||c>1)break}else a!=va||i||(i=Na(d,f,w))}}return o||(o=i),o||(o=await(async(t,e,r)=>{const{size:n}=t,a=Math.min(n,e==1/0?n:65557+e);let s,o;for await(const[e,i,c,l,d]of Ia(t,a)){const a=Na(c,l,d);s||(s=a);const u=await ja(t,e,i,l,d,n,r);if(u==Ma)return a;u!=va||o||(o=a)}return o||s})(t,r,s)),{Lt:o,Bt:c}})(c,g,x);if(!A)throw Ha(dt(await nn(c,0,4)))==a?Error(ua):Error(na);g&&F>1&&Pa("multiple end of central directory records");const R=dt(A);let U=Ha(R,12),k=Ha(R,16);const T=A.offset,O=Za(R,20),C=T+u+O;c.size-C>x&&Pa("appended data");let v=Za(R,4);const M=c.Nt||0;let I,N,j,_,P=Za(R,6),W=Za(R,10),L=0;const B=k==t||U==t||W==e||P==e;if(k!=t&&P!=e&&(k+=ka(c,P)),B){const r=A.offset<f?D:await nn(c,A.offset-f,f),n=dt(r);if(r.length==f&&Ha(n,0)==d){k=ka(c,Ha(n,4))+qa(n,8);let r=await nn(c,k,w),a=dt(r);const s=A.offset-f-w;if((r.length<w||Ha(a,0)!=l)&&k!=s&&s>=0){const t=k;k=s,k>t&&(L=k-t),r=await nn(c,k,w),a=dt(r)}if(r.length<w||Ha(a,0)!=l)throw Error(aa);if(N=!0,j=qa(a,4)>44,j){const t=Math.min(Number(qa(a,4))-44,c.size-k-w);t>0&&(_=(t=>{const e={rawExtensibleData:t};if(t.length>=28){const r=dt(t),n=Za(r,26);Object.assign(e,{compressionMethod:Za(r,0),compressedSize:Number(qa(r,2)),uncompressedSize:Number(qa(r,10)),encryptionAlgorithm:Za(r,18),bitLength:Za(r,20),flags:Za(r,22),hashAlgorithm:Za(r,24),hashData:t.subarray(28,28+n)})}return e})(await nn(c,k+w,t)))}v==e?v=Ha(a,16):E&&v!=Ha(a,16)&&Pa("mismatched zip64 end of central directory record"),P==e?P=Ha(a,20):E&&P!=Ha(a,20)&&Pa("mismatched zip64 end of central directory record"),W==e?W=qa(a,32):E&&W!=qa(a,32)&&Pa("mismatched zip64 end of central directory record"),U==t?U=qa(a,40):E&&U!=qa(a,40)&&Pa("mismatched zip64 end of central directory record"),k=ka(c,P)+qa(a,48)+L}}let V=U;const Z=A.offset-(N?76:0);if(k<c.size||(L=c.size-k-U-u,k=c.size-U-u),M!=v)throw Error(ua);if(0>k)throw Error(ra);let H=0,q=await nn(c,k,U),K=dt(q);if(U){if(4>q.length)throw Error(ra);const t=Z-U;if(k!=t&&P==v){let e=!(Ha(K,H)==i);if(e||0>t||t+4>c.size||(e=Ha(dt(await nn(c,t,4)),0)==i),e){const e=k;k=t,k>e&&(L+=k-e),q=await nn(c,k,U),K=dt(q)}}}const Y=Z-k;if(U==Y||0>Y||P!=v||(U=Y,q=await nn(c,k,U),K=dt(q)),0>k||k>=c.size)throw Error(ra);s.directoryOffset=k,s.directoryLength=V;const G=Wa(s,n,"decryptCentralDirectory");let X;G&&W&&q.length>=4&&Ha(K,0)!=i&&(j||xa(K))&&(q=await G(q,_),K=dt(q),V=q.length,X=!0),I=k;const J=Wa(s,n,"filenameEncoding"),Q=Wa(s,n,"commentEncoding"),$=E?new Set:z;let tt;for(let t=0;W>t;t++){const a=new ga(c,p,s.options);if(H+46>q.length||Ha(K,H)!=i){if(0==t&&!X&&(j||xa(K)))throw Error(pa);throw Error(sa)}za(a,K,H+6);const o=!!a.bitFlag.languageEncodingFlag,l=H+46,d=l+a.filenameLength,u=d+a.extraFieldLength,f=Za(K,H+4),w=!(f>>8),m=f>>8==3,g=q.subarray(l,d),x=Za(K,H+32),A=u+x,F=q.subarray(u,A),R=o,D=o,U=Ha(K,H+38),k=U&r,T={readOnly:!!(1&k),hidden:!!(2&k),system:!!(4&k),directory:!!(16&k),archive:!!(32&k)},O=Ha(K,H+42),C=Wa(s,n,"decodeText")||sn,v=R?ma:J||ha,M=D?ma:Q||ha;let N=C(g,v);N===z&&(N=sn(g,v));let _=C(F,M);_===z&&(_=sn(F,M)),Object.assign(a,{index:t,versionMadeBy:f,msDosCompatible:w,compressedSize:0,uncompressedSize:0,Vt:x,offset:O,diskNumberStart:Za(K,H+34),internalFileAttributes:Za(K,H+36),externalFileAttributes:U,msdosAttributesRaw:k,msdosAttributes:T,rawFilename:g,filenameUTF8:R,commentUTF8:D,rawExtraField:q.subarray(d,u),rawComment:F,filename:N,comment:_}),Aa(a,a,K,H+6),a.offset+=L,I=Math.min(ka(c,a.diskNumberStart)+a.offset,I),E&&($.has(a.filename)&&(tt=!0),$.add(a.filename));const P=a.externalFileAttributes>>16&e;a.unixMode===z&&16877&P&&(a.unixMode=P);const B=!!(a.unixMode&y),V=!!(a.unixMode&b),Z=!!(512&a.unixMode),Y=a.unixMode!==z?!!(73&a.unixMode):m&&!!(73&P),G=a.unixMode!==z&&(61440&a.unixMode)==h,et=(61440&P)==h;Object.assign(a,{setuid:B,setgid:V,sticky:Z,unixExternalUpper:P,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:Y,directory:G||et||w&&T.directory||a.filename.endsWith(S)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const rt=new Ln(a);rt.getData=(t,e)=>a.getData(t,rt,s.Wt,e),rt.arrayBuffer=async t=>{const e=new TransformStream,[r]=await Promise.all([se(e.readable).then(t=>t.arrayBuffer()),a.getData(e,rt,s.Wt,t)]);return r},H=A;const{onprogress:nt}=n;if(nt)try{await nt(t+1,W,new Ln(a))}catch{}yield rt}let et=H;if(H+6<=q.length&&Ha(K,H)==o){const t=Za(K,H+4);H+6+t>q.length||(s.digitalSignature=q.subarray(H+6,H+6+t),et=H+6+t)}E&&H!=V&&et!=V&&Pa("trailing central directory data"),tt&&Pa("duplicate filename"),E&&(L||W&&I>0)&&Pa("prepended data");const rt=Wa(s,n,"extractPrependedData"),nt=Wa(s,n,"extractAppendedData");return rt&&(s.prependedData=I>0?await nn(c,0,I):D),s.comment=O?await nn(c,T+u,O):D,nt&&(s.appendedData=C<c.size?await nn(c,C,c.size-C):D),!0}async getEntries(t={}){const e=[];for await(const r of this.getEntriesGenerator(t))e.push(r);return e}async close(){}}class Ea{constructor(t={}){const{readable:e,writable:r}=new TransformStream,n=new Sa(e,t).getEntriesGenerator();this.readable=new ReadableStream({async pull(t){const{done:e,value:r}=await n.next();if(e)return t.close();const a={...r,readable:(()=>{const{readable:t,writable:e}=new TransformStream;if(r.getData)return(async()=>{try{await r.getData(e)}catch(t){try{await e.abort(t)}catch{}}})(),t})()};delete a.getData,t.enqueue(a)}}),this.writable=r}}class ga{constructor(t,e,r){Object.assign(this,{reader:t,config:e,options:r})}async getData(t,e,a,o={}){const i=this,{reader:c,index:l,offset:d,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:w,compressionMethod:p,config:m,bitFlag:h,rawBitFlag:y,crc32:b,rawLastModDate:S,uncompressedSize:g,compressedSize:x}=i,{dataDescriptor:A}=h,F=e.localDirectory={},R=ka(c,u)+d,U=await nn(c,R,E),k=dt(U);let T=Wa(i,o,Bn),O=Wa(i,o,Vn);const C=Wa(i,o,Zn);if(T=T&&T.length&&T,O=O&&O.length&&O,f&&99!=f.originalCompressionMethod)throw Error(da);if(U.length<E||Ha(k,0)!=n)throw Error(oa);za(F,k,4);const{extraFieldLength:v,filenameLength:M}=F,I=Ta(Wa(i,o,$n),Wa(i,o,qn))==ta;let N=D;if(I&&(M||v)){const t=await nn(c,R+E,M+v);N=t.subarray(0,M),F.rawExtraField=t.subarray(M)}else F.rawExtraField=v?await nn(c,R+E+M,v):D;Aa(i,F,k,4,!0),I&&((t,e,r)=>{const{rawFilename:n}=t;(r.length!=n.length||r.some((t,e)=>t!=n[e]))&&Pa("mismatched local file header (filename)"),(2057&e.rawBitFlag)!=(2057&t.rawBitFlag)&&Pa("mismatched local file header (general purpose bit flag)"),e.compressionMethod!=t.compressionMethod&&Pa("mismatched local file header (compression method)"),e.bitFlag.dataDescriptor||!(e.crc32||e.compressedSize||e.uncompressedSize)||e.crc32==t.crc32&&e.compressedSize==t.compressedSize&&e.uncompressedSize==t.uncompressedSize||Pa("mismatched local file header (crc32 or sizes)")})(i,F,N);const{lastAccessDate:j,creationDate:_}=F;j&&(e.lastAccessDate=j),_&&(e.creationDate=_);const P=i.encrypted&&F.encrypted&&!C,W=P&&!f;if(C||(e.zipCrypto=W),P&&!(64&~F.rawBitFlag))throw Error(la);const L=C?z:K(p);if(0!=p&&8!=p&&9!=p&&!L&&!C)throw Error(da);if(P){if(!W&&(1>f.strength||f.strength>3))throw Error(la);if(!T&&!O)throw Error(ca)}const B=R+E+M+v,V=x,Z=ae(c.createReadable({offset:B,size:V})),H=Wa(i,o,Hn),q=Wa(i,o,"checkPasswordOnly");let Y=Wa(i,o,"checkOverlappingEntry");const G=Wa(i,o,"checkOverlappingEntryOnly");G&&(Y=!0);const{onstart:X,onprogress:J,onend:Q}=o,$=9==p;let tt=Wa(i,o,Yn);$&&(tt=!1);const et=Wa(i,o,"checkCrc32"),rt=(et===z?Wa(i,o,"checkSignature"):et)&&!C&&(!P||W||f&&1==f.vendorVersion),nt={options:{codecType:Re,password:T,rawPassword:O,zipCrypto:W,encryptionStrength:f&&f.strength,checkCrc32:rt,checkAuthenticationCode:Wa(i,o,"checkAuthenticationCode"),passwordVerification:W&&(A?S>>>8&r:b>>>24&r),outputSize:C?x:g,crc32:b,compressed:0!=p&&!C,encrypted:P,useWebWorkers:Wa(i,o,Kn),useCompressionStream:tt,transferStreams:Wa(i,o,Gn),deflate64:$,format:L?L.format:z,codecURI:L?L.codecURI:z,compressionMethod:p,rawBitFlag:y,checkPasswordOnly:q},config:m,lt:{signal:H,size:V,onstart:X,onprogress:J,onend:Q}};let at;Y&&await(async({reader:t,Zt:e,index:r,offset:n,crc32:a,compressedSize:o,uncompressedSize:i,Ht:c,dataDescriptor:l,extraFieldZip64:d,Wt:u})=>{let f=0;if(l&&(f=d?20:12),f){const r=await nn(t,c+o,f+4);if(r.length==f+4&&Ha(dt(r),0)==s){const t=Ha(dt(r),4);let n,s;d?(n=qa(dt(r),8),s=qa(dt(r),16)):(n=Ha(dt(r),8),s=Ha(dt(r),12)),(e.encrypted&&!e.zipCrypto||t==a)&&n==o&&s==i&&(f+=4)}}const w={start:n,end:c+o+f,Zt:e};for(const[t,e]of u)if(t!=r&&w.start<e.end&&e.start<w.end){const t=Error(fa);throw t.qt=e.Zt,t}u.set(r,w)})({reader:c,Zt:e,index:l,offset:R,crc32:b,compressedSize:x,uncompressedSize:g,Ht:B,dataDescriptor:A||F.bitFlag.dataDescriptor,extraFieldZip64:w||F.extraFieldZip64,Wt:a});try{if(!G){q&&(t=new WritableStream),t=new en(t),await rn(t,C?x:g),({writable:at}=t);const{outputSize:e}=await rr({readable:Z,writable:at},nt);if(t.size+=e,e!=(C?x:g))throw Error(ie)}}catch(e){if(e.outputSize!==z&&(t.size+=e.outputSize),!q||e.message!=St)throw e}finally{Wa(i,o,Xn)||!at||at.locked||await at.getWriter().close()}return q||G?z:t.getData?t.getData():at}}function xa(t){const e=Math.min(t.byteLength,1024)-3;for(let r=0;e>r;r++)if(134630224==Ha(t,r))return!0;return!1}function za(t,e,r){const n=t.rawBitFlag=Za(e,r+2),a=!(1&~n),s=Ha(e,r+6);Object.assign(t,{encrypted:a,version:Za(e,r),bitFlag:{level:(6&n)>>1,dataDescriptor:!(8&~n),languageEncodingFlag:(n&m)==m},rawLastModDate:s,lastModDate:La(s),filenameLength:Za(e,r+22),extraFieldLength:Za(e,r+24)})}function Aa(t,e,r,n,a){const{rawExtraField:s}=e,o=e.extraField=new Map,i=dt(s);let c=0;try{for(;c<s.length;){const t=Za(i,c),e=Za(i,c+2);o.set(t,{type:t,data:s.slice(c+4,c+4+e)}),c+=4+e}}catch{}const l=Za(r,n+4);Object.assign(e,{signature:Ha(r,n+10),crc32:Ha(r,n+10),compressedSize:Ha(r,n+14),uncompressedSize:Ha(r,n+18)});const d=o.get(1);d&&(((t,e)=>{e.zip64=!0;const r=dt(t.data),n=ya.filter(([t,r])=>e[t]==r),a=n.reduce((t,[,e])=>t+ba[e].bytes,0);if(t.data.length<a)throw Error(ia);for(let a=0,s=0;a<n.length;a++){const[o,i]=n[a],c=ba[i];e[o]=t[o]=c.Pt(r,s),s+=c.bytes}})(d,e),e.extraFieldZip64=d);const u=o.get(28789);u&&(Fa(u,on,cn,e,t),e.extraFieldUnicodePath=u);const f=o.get(25461);f&&(Fa(f,ln,dn,e,t),e.extraFieldUnicodeComment=f);const w=o.get(39169);w&&w.data.length>=7?(((t,e,r)=>{const n=dt(t.data),a=Va(n,4);Object.assign(t,{vendorVersion:Va(n,0),vendorId:Va(n,2),strength:a,originalCompressionMethod:r,compressionMethod:Za(n,5)}),e.compressionMethod=t.compressionMethod,1!=t.vendorVersion&&(e.crc32=z)})(w,e,l),e.extraFieldAES=w):e.compressionMethod=l;const m=o.get(13);m&&(Ra(m,e),e.extraFieldPkwareUnix=m);const h=o.get(22613);h&&(Ra(h,e),e.extraFieldUnixType1=h);const y=o.get(10);y&&(((t,e)=>{const r=dt(t.data);let n,a=4;try{for(;a<t.data.length&&!n;){const e=Za(r,a),s=Za(r,a+2);1==e&&(n=t.data.slice(a+4,a+4+s)),a+=4+s}}catch{}if(n&&24==n.length){const r=dt(n),a=r.getBigUint64(0,!0),s=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);Object.assign(t,{rawLastModDate:a,rawLastAccessDate:s,rawCreationDate:o});const i={lastModDate:Ba(a),lastAccessDate:Ba(s),creationDate:Ba(o)};Object.assign(t,i),Object.assign(e,i)}})(y,e),e.extraFieldNTFS=y);const b=o.get(30805);if(b)Da(b,e,!1),e.extraFieldUnix=b;else{const t=o.get(30837);t&&(Da(t,e,!0),e.extraFieldInfoZip=t)}const S=o.get(p);S&&(((t,e,r)=>{if(!t.data.length)return;const n=dt(t.data),a=Va(n,0),s=[],o=[];r?(1&~a||(s.push(mn),o.push(hn)),2&~a||(s.push(yn),o.push(bn)),4&~a||(s.push(Sn),o.push(En))):5>t.data.length||(s.push(mn),o.push(hn));let i=1;s.forEach((r,a)=>{if(t.data.length>=i+4){const s=Ha(n,i);e[r]=t[r]=new Date(1e3*(0|s));const c=o[a];t[c]=s}i+=4})})(S,e,a),e.extraFieldExtendedTimestamp=S);const E=o.get(6534);E&&(e.extraFieldUSDZ=E)}function Fa(t,e,r,n,a){if(5>t.data.length)return void(t.valid=!1);const s=dt(t.data),o=new st;o.append(a[r]);const i=dt(new Uint8Array(4));i.setUint32(0,o.get(),!0);const c=Ha(s,1);Object.assign(t,{version:Va(s,0),[e]:sn(t.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&c==Ha(i,0)}),t.valid&&(n[e]=t[e],n[e+"UTF8"]=!0)}function Ra(t,e){if(8>t.data.length)return;const r=dt(t.data),n={lastAccessDate:new Date(1e3*Ha(r,0)),lastModDate:new Date(1e3*Ha(r,4))};12>t.data.length||(n.uid=Za(r,8),n.gid=Za(r,10)),Object.assign(t,n),Object.assign(e,n)}function Da(t,e,r){try{const n=dt(t.data);let a,s;if(r){let e=0;const r=Va(n,e++),o=Va(n,e++);a=Ua(t.data.subarray(e,e+o)),e+=o;const i=Va(n,e++);s=Ua(t.data.subarray(e,e+i)),Object.assign(t,{version:r,uid:a,gid:s})}else 4>t.data.length||(a=Za(n,0),s=Za(n,2),Object.assign(t,{uid:a,gid:s}));a!==z&&(e.uid=a),s!==z&&(e.gid=s)}catch{}}function Ua(t){const e=new Uint8Array(4);return e.set(t,0),new DataView(e.buffer,e.byteOffset,4).getUint32(0,!0)}function ka(t,e){return t._t?t._t(e):0}function Ta(t,e){return t===z?e?ta:"balanced":t}const Oa=64,Ca=0,va=1,Ma=2;async function*Ia(t,e){const r=t.size-e,n=await nn(t,r,e),a=dt(n);for(let t=n.length-u;t>=0;t--)Ha(a,t)==c&&(yield[a,r,n,t,r+t])}function Na(t,e,r){return{offset:r,buffer:t.slice(e,e+u).buffer}}async function ja(r,n,a,s,o,c,l){const u=Za(n,s+10),w=Ha(n,s+12),p=Ha(n,s+16);if(u==e||w==t||p==t)return await _a(r,n,a,o-f,c,l)==d?Ma:Ca;if(!u&&!w)return va;const m=Za(n,s+6);for(const t of[o-w,ka(r,m)+p])if(await _a(r,n,a,t,c,l)==i)return Ma;return Ca}async function _a(t,e,r,n,a,s){return 0>n||n+4>a?z:r>n?s.count>0?(s.count--,Ha(dt(await nn(t,n,4)),0)):z:Ha(e,n-r)}function Pa(t){const e=Error(wa);throw e.reason=t,e}function Wa(t,e,r){return e[r]===z?t.options[r]:e[r]}function La(t){const r=(4294901760&t)>>16,n=t&e;return new Date(1980+((65024&r)>>9),((480&r)>>5)-1,31&r,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function Ba(t){return new Date(Number(t/BigInt(1e4)-BigInt(116444736e5)))}function Va(t,e){return t.getUint8(e)}function Za(t,e){return t.getUint16(e,!0)}function Ha(t,e){return t.getUint32(e,!0)}function qa(t,e){return Number(t.getBigUint64(e,!0))}var Ka=Object.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:wa,ERR_BAD_FORMAT:ra,ERR_CENTRAL_DIRECTORY_NOT_FOUND:sa,ERR_ENCRYPTED:ca,ERR_ENCRYPTED_CENTRAL_DIRECTORY:pa,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:aa,ERR_EOCDR_NOT_FOUND:na,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:ia,ERR_INVALID_AUTHENTICATION_CODE:bt,ERR_INVALID_COMPRESSED_DATA:ce,ERR_INVALID_CRC32:le,ERR_INVALID_PASSWORD:ht,ERR_INVALID_SIGNATURE:yt,ERR_INVALID_UNCOMPRESSED_SIZE:ie,ERR_LOCAL_FILE_HEADER_NOT_FOUND:oa,ERR_OVERLAPPING_ENTRY:fa,ERR_SPLIT_ZIP_FILE:ua,ERR_UNSUPPORTED_COMPRESSION:da,ERR_UNSUPPORTED_ENCRYPTION:la,ERR_WORKER_STARTUP_TIMEOUT:Oe,ZipReader:Sa,ZipReaderStream:Ea});const Ya="File already exists",Ga="Zip file comment exceeds 64KB",Xa="File entry comment exceeds 64KB",Ja="File entry name exceeds 64KB",Qa="Version exceeds 65535",$a="The strength must equal 1, 2, or 3",ts="Encryption is not supported in USDZ files",es="Extra field type exceeds 65535",rs="Extra field data exceeds 64KB",ns=-2147483648,as=2147483647,ss=BigInt(0),os=BigInt("0x7fffffffffffffff"),is="Zip64 is not supported (set the 'zip64' option to 'true')",cs="Undefined uncompressed size",ls="Undefined reader",ds="Zip file not empty",us="Invalid uid (must be integer 0..2^32-1)",fs="Invalid gid (must be integer 0..2^32-1)",ws="Invalid UNIX mode (must be integer 0..65535)",ps="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",ms="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",hs="Invalid msdosAttributesRaw (must be integer 0..255)",ys="Invalid msdosAttributes (must be an object with boolean flags)",bs="Signature data exceeds 64KB",Ss=new Uint8Array([7,0,2,0,65,69,3,0,0]),Es="infozip",gs="unix";let xs=0;const zs=[];class As{constructor(t,e={}){t=new en(t);const{availableSize:r=A,maxSize:n=A}=t;Object.assign(this,{writer:t,Kt:r>0&&r!==A&&n>0&&n!==A,options:e,config:C(),files:new Map,Yt:new Set,offset:e[Jn]===z?t.size||t.writable.size||0:e[Jn],Gt:e[Jn]===z?0:e[Jn]-(t.size||t.writable.size||0),Xt:new Set,Jt:0,Qt:z})}async prependZip(e){if(this.Yt.size)throw Error(ds);e=new tn(e),await rn(e);const{ZipReader:r}=await Promise.resolve().then(()=>Ka),n=new r(e.readable),a=await n.getEntries();await n.close(),await rn(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Yt=new Set(a.map(t=>t.filename)),this.files=new Map(a.map(e=>{const{version:r,rawLastModDate:n,lastAccessDate:a,creationDate:s,rawFilename:o,bitFlag:i,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:u}=e;let{compressionMethod:f,$t:w,te:p,ee:m,re:h,ne:y,rawExtraField:b}=e;const{level:S,languageEncodingFlag:E,dataDescriptor:g}=i;w=w||D,p=p||D,m=m||D,h=h||D,y=y||D,b=b||D,e.extraFieldAES&&(f=99);const x=qs(w,p,m,h,y,b),A=u&&l>=t,F=u&&d>=t,R=-7&Ys(S,E,g,c,f)|S<<1,{ae:U,se:k}=Ks({version:r,bitFlag:R,compressionMethod:f,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:o,oe:F,ie:A,extraFieldLength:x}),{crc32:T}=e;return T!==z&&Vs(k,10,T),Object.assign(e,{ie:A,oe:F,ce:u&&e.offset>=t,diskNumberStart:0,le:!1,$t:w,te:p,ee:m,re:h,ne:y,rawExtraField:b,extendedTimestamp:m.length>0||h.length>0,de:1+(a?2:0)+(s?4:0),ae:U,se:k}),[e.filename,e]}))}async add(o="",i,c={}){const l=this;c=Object.assign({},c);const{Xt:d,config:u}=l;let f,w;xs<u.maxWorkers?xs++:await new Promise(t=>zs.push(t));try{if(o=o.trim(),Ws(l,c,On)&&!o.endsWith(S)&&(o+=S),l.Yt.has(o))throw Error(Ya);return l.Yt.add(o),w=!0,f=(async(o,i,c,l)=>{const d=((n,a,s)=>{a=a.trim();let o=Ws(n,s,Fn),i=Ws(n,s,kn,o?20:768);const c=Ws(n,s,Cn),l=Ws(n,s,"uid"),d=Ws(n,s,"gid");let u=Ws(n,s,Nn),f=Ws(n,s,"unixExtraFieldType"),w=Ws(n,s,jn),p=Ws(n,s,_n),m=Ws(n,s,Pn);if(l!==z&&(0>l||l>t))throw Error(us);if(d!==z&&(0>d||d>t))throw Error(fs);if(u!==z&&(0>u||u>e))throw Error(ws);if(f!==z&&f!==Es&&f!==gs)throw Error(ps);if(f===gs&&(l!==z&&l>e||d!==z&&d>e))throw Error(ms);f!==z||l===z&&d===z||(f=Es);let E=Ws(n,s,zn),g=Ws(n,s,An);const x=E!==z||g!==z;if(l!==z||d!==z||u!==z||f?(o=!1,i=i&e|768):x&&(o=!0,i&=r),E!==z&&(0>E||E>r))throw Error(hs);if(g&&"object"!=typeof g)throw Error(ys);if(i>e)throw Error(Qa);let A=Ws(n,s,xn);const F=A!==z;F||(A=0),!s[On]&&a.endsWith(S)&&(s[On]=!0);const R=Ws(n,s,On);let D;if(R?(a.endsWith(S)||(a+=S),F||(A=16,o||(A|=16877<<16))):o||F||(A=c?493<<16:27525120),!o){const t=u!==z||!!(w||p||m);D=A>>16&e,u=u===z?D:u&e,w?u|=y:w=!!(u&y),p?u|=b:p=!!(u&b),m?u|=512:m=!!(512&u),F&&!t||(R&&(u|=h),A=(u&e)<<16|A&e)}return({msdosAttributesRaw:E,msdosAttributes:g}=((t,e)=>{if(t!==z)t&=r;else if(e!==z){const{readOnly:n,hidden:a,system:s,directory:o,archive:i}=e;let c=0;n&&(c|=1),a&&(c|=2),s&&(c|=4),o&&(c|=16),i&&(c|=32),t=c&r}return e===z&&(e={readOnly:!!(1&t),hidden:!!(2&t),system:!!(4&t),directory:!!(16&t),archive:!!(32&t)}),{msdosAttributesRaw:t,msdosAttributes:e}})(E,g)),x&&(A=A&t|E&r),{name:a,ue:{versionMadeBy:i,msDosCompatible:o,externalFileAttributes:A,unixExternalUpper:D,uid:l,gid:d,unixMode:u,unixExtraFieldType:f,setuid:w,setgid:p,sticky:m,msdosAttributesRaw:E,msdosAttributes:g}}})(o,i,l);({name:i}=d);const u=((t,r,n)=>{const a=Ws(t,n,"encodeText",it);let s=a(r);if(s===z&&(s=it(r)),qs(s)>e)throw Error(Ja);const o=n[ln]||"";let i=a(o);if(i===z&&(i=it(o)),qs(i)>e)throw Error(Xa);const c=Ws(t,n,Un,20);if(c>e)throw Error(Qa);const l=Ws(t,n,mn,new Date),d=Ws(t,n,yn),u=Ws(t,n,Sn),f=Ws(t,n,gn,0),w=Ws(t,n,Zn);let p,m;w||(p=Ws(t,n,Bn),m=Ws(t,n,Vn));const h=Ws(t,n,"encryptionStrength",3),y=Ws(t,n,Tn),b=Ws(t,n,"extendedTimestamp",!0),S=Ws(t,n,"ntfsTimestamp"),E=Ws(t,n,"keepOrder",!0),g=Ws(t,n,Kn),x=Ws(t,n,Gn),A=Ws(t,n,"bufferedWrite"),F=Ws(t,n,"createTempStream"),R=Ws(t,n,"dataDescriptorSignature",!0),D=Ws(t,n,Hn),U=Ws(t,n,"useUnicodeFileNames",!0),k=Ws(t,n,vn),T=w||k===z?z:K(k);if(!w&&k!==z&&0!==k&&8!==k&&!T)throw Error("Compression method not supported");let O=Ws(t,n,"level");if(t.options[Qn]){if(p!==z||m!==z)throw Error(ts);O===z&&k===z&&(O=0)}let C=Ws(t,n,Yn),v=Ws(t,n,"dataDescriptor");A&&v===z&&(v=!1),(v===z||y)&&(v=!0),O!==z&&6!=O&&(C=!1);const M=Ws(t,n,Rn);if(!y&&(p!==z||m!==z)&&(1>h||h>3))throw Error($a);const I=Ds(n[In]),N=Ds(n.localExtraField);return{comment:o,ue:{rawFilename:s,rawComment:i,version:c,lastModDate:l,lastAccessDate:d,creationDate:u,internalFileAttributes:f,passThrough:w,password:p,rawPassword:m,encryptionStrength:h,zipCrypto:y,extendedTimestamp:b,ntfsTimestamp:S,keepOrder:E,useWebWorkers:g,transferStreams:x,bufferedWrite:A,createTempStream:F,dataDescriptorSignature:R,signal:D,useUnicodeFileNames:U,compressionMethod:k,format:T?T.format:z,codecURI:T?T.codecURI:z,fe:T?T.versionNeeded:z,level:O,useCompressionStream:C,dataDescriptor:v,zip64:M,rawExtraField:I,we:N}}})(o,i,l),{comment:f}=u,w=l[In];let m;o.files.set(i,z);try{const{ue:f}=u;0==f.level||f.compressionMethod!==z||f.passThrough||await(async t=>{const{CompressionStream:e,CompressionStreamFallback:r}=t;if(r&&!r.Rt)return!0;if(be(e)||ye(e,ue))return!0;if(r)try{return await _e(t),!0}catch{return!1}return!1})(o.config)||(f.level=0);const w=await(async(e,r,{ue:n},a)=>{const{passThrough:s,zipCrypto:o,password:i,rawPassword:c,encryptionStrength:l}=n;let{dataDescriptor:d,zip64:u,level:f,compressionMethod:w}=n,p=0,m=0;if(s){if(!r)throw Error(ls);if(m=a[un],m===z)throw Error(cs)}const h=!0===u,y=Ws(e,a,Dn),b=!!r&&(!!(i&&qs(i)||c&&qs(c))||s&&y);r||(f=0,w=0);const S=b?o?12:16+4*l:0;r&&(r=new tn(r),await rn(r),s?(a.uncompressedSize=m,p=Ls(m)+S):r.size===z?(d=!0,(u||u===z)&&(u=!0,m=p=4294967296)):(a.uncompressedSize=m=r.size,p=Ls(m)+S));const E=h||m>=t,g=h||p>=t;if(E||g){if(!1===u)throw Error(is);u=!0}return u=u||!1,{reader:r,ue:{dataDescriptor:d,zip64:u,ie:E,oe:g,uncompressedSize:m,level:f,compressionMethod:w,encrypted:b}}})(o,c,u,l);({reader:c}=w);const h=Cs(o.writer),y=Os(o.writer),b=(t=>{const{rawFilename:r,lastModDate:a,lastAccessDate:s,creationDate:o,level:i,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:u,directory:f,rawExtraField:w,we:m,encryptionStrength:h,extendedTimestamp:y,ntfsTimestamp:b,passThrough:S,encrypted:A,ie:F,oe:R,uncompressedSize:U,crc32:k}=t;let{version:T,compressionMethod:O}=t;const C=!f&&(O===z?i===z||i>0:0!==O);let v;const M=S||!C,I=c&&(t.bufferedWrite||!u||!F&&!R||M),N=I||c&&u&&(F||R);if(c&&(F||R)){const t=20,e=Ts(t);if(e.uint16(1),e.uint16(t-4),v=e.array,I&&(e.pe(U),M)){const t=A?l?12:16+4*h:0;e.pe(S?0:U+t)}}else v=D;let j,_,P,W,L;if(A&&!l){const t=Ts(qs(Ss)+2);t.uint16(39169),t.bytes(Ss),j=t.array,j[8]=h}else j=D;if(y){const t=js(a),e=_s(t);if(e){const e=9+(s?4:0)+(o?4:0),r=Ts(e);W=1+(s?2:0)+(o?4:0),r.uint16(p),r.uint16(e-4),r.uint8(W),r.uint32(t),s&&r.uint32(Ps(js(s))),o&&r.uint32(Ps(js(o))),P=r.array}else P=D;if(b===z?!e||s||o:b)try{const t=Ns(a),e=Ts(36);e.uint16(10),e.uint16(32),e.me(4),e.uint16(1),e.uint16(24),e.pe(t),e.pe(s?Ns(s):t),e.pe(o?Ns(o):t),_=e.array}catch{_=D}else _=D}else _=P=D;try{const{uid:r,gid:n,unixExtraFieldType:a}=t;if(a!=Es||r===z&&n===z)if(a!=gs||r===z&&n===z)L=D;else{const t=Ts(8);t.uint16(30805),t.uint16(4),t.uint16((r===z?0:r)&e),t.uint16((n===z?0:n)&e),L=t.array}else{const t=ks(r),e=ks(n),a=3+t.length+e.length,s=Ts(4+a);s.uint16(30837),s.uint16(a),s.uint8(1),s.uint8(t.length),s.bytes(t),s.uint8(e.length),s.bytes(e),L=s.array}}catch{L=D}O===z&&(O=C?8:0);const{fe:B}=t;C&&B!==z&&(T=T>B?T:B),c&&(T=T>45?T:45),A&&!l&&(T=T>51?T:51,S&&k!==z&&(j[4]=1),j[9]=O,O=99);const V=N?qs(v):0,Z=V+qs(j,P,_,L,w,m);if(Z>e)throw Error(rs);const H=new Date(2e3*Math.ceil(Math.floor(a.getTime()/1e3)/2)),{ae:q,se:K,rawLastModDate:Y}=Ks({version:T,bitFlag:Ys(i,d,u,A,O),compressionMethod:O,uncompressedSize:U,lastModDate:x>H?x:H>g?g:H,rawFilename:r,oe:R,ie:F,extraFieldLength:Z}),G=Ts(E+qs(r)+Z),X=G.array,J=dt(X);return G.uint32(n),G.bytes(q),G.bytes(r),N&&G.bytes(v),G.bytes(j),G.bytes(P),G.bytes(_),G.bytes(L),G.bytes(w),G.bytes(m),u&&(R||Vs(J,18,0),F||Vs(J,22,0)),{he:X,ye:J,ae:q,se:K,lastModDate:a,rawLastModDate:Y,encrypted:A,compressed:C,version:T,compressionMethod:O,de:W,$t:D,be:V,ee:P,re:_,ne:L,te:j,extraFieldLength:Z}})(l=Object.assign({},l,d.ue,u.ue,w.ue,{internalFileAttribute:u.ue.internalFileAttributes,externalFileAttribute:d.ue.externalFileAttributes,signature:l[Mn],crc32:l.crc32===z?l[Mn]:l.crc32,offset:o.offset-h,diskNumberStart:y})),S=(({zip64:t,dataDescriptor:e,dataDescriptorSignature:r})=>{let n,a=D,o=0,i=t?20:12;return r&&(i+=4),e&&(a=new Uint8Array(i),n=dt(a),r&&(o=4,Vs(n,0,s))),{Se:a,Ee:n,ge:o}})(l),F=qs(b.he,S.Se);m=await(async(e,n,s,o,i)=>{const{files:c,writer:l}=e,{keepOrder:d,dataDescriptor:u,signal:f}=i,{xe:w}=o,p=e.options[Qn],m=e.Qt;let h,y,b,S,g,x,F,R={},D=0;c.set(n,R),e.Qt=R;try{let y;d&&(y=m&&m.lock,R.lock=new Promise(t=>b=t)),i.bufferedWrite||!d||e.ze||e.Jt||!u?(h=!0,e.Jt++,F=i.createTempStream?await i.createTempStream():new TransformStream(z,z,{highWaterMark:A}),F.size=0,await rn(l)):(F=l,await U()),await rn(F);const T=Cs(l);if(e.Kt){delete e.Kt;const t=new Uint8Array(4);Vs(dt(t),0,a),await Is(l,t),e.offset+=4}p&&!h&&Us(o,e.offset-T);const{he:O}=w;h||(await y,await k());const C=Os(l),v=Ms(e,l);if(R.diskNumberStart=C,h||(g=!0,x=l.size,await Is(F,O)),R=await(async(e,n,{diskNumberStart:a,lock:s},o,i,c)=>{const{xe:l,Ae:d,Fe:u}=o,{ae:f,se:w,lastModDate:p,rawLastModDate:m,encrypted:h,compressed:y,version:b,compressionMethod:S,$t:E,be:g,ee:x,de:A,re:F,ne:R,te:D}=l,{Se:U}=d,{rawFilename:k,lastAccessDate:T,creationDate:O,password:C,rawPassword:v,level:M,zip64:I,ie:N,oe:j,zipCrypto:_,dataDescriptor:P,directory:W,executable:L,versionMadeBy:B,rawComment:V,rawExtraField:Z,useWebWorkers:H,transferStreams:q,onstart:K,onprogress:Y,onend:G,signal:X,encryptionStrength:J,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt,useCompressionStream:ut,passThrough:ft,format:wt,codecURI:pt}=c,mt={lock:s,versionMadeBy:B,zip64:I,directory:!!W,executable:!!L,filenameUTF8:!0,rawFilename:k,commentUTF8:!0,rawComment:V,$t:E,be:g,ee:x,re:F,ne:R,te:D,rawExtraField:Z,extendedTimestamp:Q,msDosCompatible:$,internalFileAttributes:tt,externalFileAttributes:et,diskNumberStart:a,uid:rt,gid:nt,unixMode:at,setuid:st,setgid:ot,sticky:it,unixExternalUpper:ct,msdosAttributesRaw:lt,msdosAttributes:dt};let{crc32:ht,uncompressedSize:yt}=c,bt=0;ft||(yt=0);const{writable:St}=n;if(e){const a=ae(e.createReadable?e.createReadable():e.readable),s=e.size,o={options:{codecType:Fe,level:M,rawPassword:v,password:C,encryptionStrength:J,zipCrypto:h&&_,passwordVerification:h&&_&&m>>8&r,computeCrc32:!ft,compressed:y&&!ft,encrypted:h&&!ft,useWebWorkers:H,useCompressionStream:ut,transferStreams:q,format:wt,codecURI:pt,compressionMethod:S},config:i,lt:{signal:X,size:s,onstart:K,onprogress:Y,onend:G}};try{const e=await rr({readable:a,writable:St},o);if(bt=e.outputSize,n.size+=bt,ft||(yt=e.inputSize,h&&!_||(ht=e.crc32)),!j&&bt>=t||!N&&yt>=t)throw Error(is)}catch(t){throw t.outputSize!==z&&(n.size+=t.outputSize),t}}return(({crc32:t,compressedSize:e,uncompressedSize:r,xe:n,Ae:a},{zip64:s,zipCrypto:o,passThrough:i,dataDescriptor:c})=>{const{se:l,encrypted:d}=n,{Ee:u,ge:f}=a;d&&!o&&!i||t===z||(Vs(l,10,t),c&&Vs(u,f,t)),s?c&&(Zs(u,f+4,BigInt(e)),Zs(u,f+12,BigInt(r))):(Vs(l,14,e),Vs(l,18,r),c&&(Vs(u,f+4,e),Vs(u,f+8,r)))})({crc32:ht,compressedSize:bt,uncompressedSize:yt,xe:l,Ae:d},c),P&&await Is(n,U),Object.assign(mt,{uncompressedSize:yt,compressedSize:bt,lastModDate:p,rawLastModDate:m,creationDate:O,lastAccessDate:T,encrypted:h,zipCrypto:_,size:u+bt,compressionMethod:S,version:b,ae:f,se:w,signature:ht,crc32:!h||_||ft?ht:z,de:A,ie:N,oe:j}),mt})(s,F,R,o,e.config,i),h||(g=!1),c.set(n,R),R.filename=n,h){if(await Promise.all([F.writable.getWriter().close(),y]),await U(),S=!0,x=l.size,await k(),R.diskNumberStart=Os(l),R.offset=Ms(e,l),p){const t=o.Fe;Us(o,e.offset-Cs(l)),R.size+=o.Fe-t}(({rawFilename:t,encrypted:e,zip64:r,be:n,crc32:a,compressedSize:s,uncompressedSize:o,ie:i,oe:c},l,{dataDescriptor:d,passThrough:u})=>{if(d||((!e||u&&a!==z)&&Vs(l,14,a),c||Vs(l,18,s),i||Vs(l,22,o)),r&&n){const e=E+qs(t)+4;Zs(l,e,BigInt(o)),Zs(l,e+8,BigInt(s))}})(R,w.ye,i),await Is(l,w.he),await(async(t,e,r)=>{const n=e.writable.getWriter();try{await t.pipeTo(new WritableStream({async write(t){var e;await n.ready,await n.write(t),e=qs(t),D+=e}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(F.readable,l,f),l.size+=F.size,S=!1}else R.diskNumberStart=C,R.offset=v;return e.offset+=R.size,R}catch(t){if(S||g){if(e.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch{}e.offset+=l.size-x,h&&(e.offset+=D)}throw c.delete(n),t}finally{if(h&&e.Jt--,b&&b(),y&&y(),h&&F&&F.dispose)try{await F.dispose()}catch{}}async function U(){e.ze=!0;const{Re:t}=e;e.Re=new Promise(t=>y=()=>{e.ze=!1,t()}),await t}async function k(){vs(l,qs(w.he))&&await l.closeDisk()}})(o,i,c,{xe:b,Ae:S,Fe:F},l)}catch(t){throw o.files.delete(i),t}return Object.assign(m,{name:i,comment:f,extraField:w}),new Ln(m)})(l,o,i,c),d.add(f),await f}catch(t){throw w&&l.Yt.delete(o),t}finally{d.delete(f);const t=zs.shift();t?t():xs--}}remove(t){const{Yt:e,files:r}=this;if("string"==typeof t&&(t=r.get(t)),t&&t.filename!==z){const{filename:n}=t;if(e.has(n)&&r.has(n))return e.delete(n),r.delete(n),!0}return!1}async close(r=D,n={}){const{Xt:a,writer:s}=this,{writable:f}=s;if(qs(r)>e)throw Error(Ga);for(;a.size;)await Promise.allSettled(Array.from(a));return await(async(r,n,a)=>{const s=(r=>{let n=0;for(const[,a]of r){const{rawFilename:r,te:s,rawComment:o,re:i,ne:c,rawExtraField:l,extendedTimestamp:d,de:u,lastModDate:f,ie:w,oe:m,uncompressedSize:h,compressedSize:y}=a,b=a.offset>=t,S=a.diskNumberStart>=e;let E,g;if(b||S||w||m){const t=4+(w?8:0)+(m?8:0)+(b?8:0)+(S?4:0),e=Ts(t);e.uint16(1),e.uint16(t-4),w&&e.pe(h),m&&e.pe(y),b&&e.pe(a.offset),S&&e.uint32(a.diskNumberStart),E=e.array}else E=D;a.$t=E,a.ce=b,a.le=S;const x=js(f);if(d&&_s(x)){const t=Ts(9);t.uint16(p),t.uint16(5),t.uint8(u),t.uint32(x),g=t.array}else g=D;a.ee=g;const z=qs(E,s,i,c,g,l);if(z>e)throw Error(rs);n+=46+qs(r,o)+z}return n})(r.files),{De:f,Ue:w}=await(async(r,n,a)=>{const{files:s,writer:o}=r,c=new Uint8Array(n);await rn(o);let l=0,d=0,u=Os(o),f=Cs(o);for(const[r,n]of Array.from(s.values()).entries()){const{offset:w,rawFilename:p,$t:m,te:h,ee:y,re:b,ne:S,rawExtraField:E,rawComment:g,versionMadeBy:x,ae:z,se:A,ie:F,oe:R,le:D,ce:U,internalFileAttributes:k,externalFileAttributes:T,diskNumberStart:O,uncompressedSize:C,compressedSize:v}=n,M=qs(m,h,y,b,S,E),I=46+qs(p,g)+M;vs(o,l+I-d)&&(await Is(o,c.slice(d,l)),d=l,await o.closeDisk()),0==r&&(u=Os(o),f=Cs(o)),F||Vs(A,18,C),R||Vs(A,14,v),(U||D)&&45>n.version&&Bs(A,0,45);const N=Ts(I);if(N.uint32(i),N.uint16(x),N.bytes(z.subarray(0,24)),N.uint16(M),N.uint16(qs(g)),N.uint16(D?e:O),N.uint16(k),N.uint32(T),N.uint32(U?t:w),N.bytes(p),N.bytes(m),N.bytes(h),N.bytes(y),N.bytes(b),N.bytes(S),N.bytes(E),N.bytes(g),Hs(c,N.array,l),l+=I,a.onprogress)try{await a.onprogress(r+1,s.size,new Ln(n))}catch{}}return await Is(o,d?c.slice(d):c),{De:{diskNumber:u,diskOffset:f},Ue:c}})(r,s,a),m=await(async(t,r,n)=>{const a=Ws(t,n,"signCentralDirectory");if(a){const n=await a(r),s=qs(n);if(s>e)throw Error(bs);const i=Ts(6+s);return i.uint32(o),i.uint16(s),i.bytes(n),await Is(t.writer,i.array),6+s}return 0})(r,w,a);await(async(r,n,a,s)=>{const{writer:o}=r,{De:i,ke:f}=s;let{Te:w}=s,p=r.files.size,m=i.diskNumber,h=Ms(r,i),y=Os(o);vs(o,u)&&y++;let b=Ws(r,a,Rn);if(!(t>h&&t>w&&e>p&&e>y)){if(!1===b)throw Error(is);b=!0}const S=qs(n);if(S>e)throw Error(Ga);const E=Ts(b?98:u);vs(o,qs(E.array)+S)&&await o.closeDisk(),y=Os(o),b&&(E.uint32(l),E.pe(44),E.uint16(45),E.uint16(45),E.uint32(y),E.uint32(m),E.pe(p),E.pe(p),E.pe(w),E.pe(h),E.uint32(d),E.uint32(y),E.pe(BigInt(Ms(r,o))+BigInt(w)+BigInt(f)),E.uint32(y+1),Ws(r,a,"supportZip64SplitFile",!0)&&(y=e,m=e),p=e,h=t,w=t),E.uint32(c),E.uint16(y),E.uint16(m),E.uint16(p),E.uint16(p),E.uint32(w),E.uint32(h),E.uint16(S),await Is(o,E.array),S&&await Is(o,n)})(r,n,a,{De:f,Te:s,ke:m})})(this,r,n),Ws(this,n,Xn)||await f.getWriter().close(),s.getData?s.getData():f}}class Fs{constructor(t={}){const{readable:e,writable:r}=new TransformStream;this.readable=e,this.zipWriter=new As(r,t),this.Xt=new Set}transform(t){const e=this.zipWriter;let r;const{readable:n,writable:a}=new TransformStream({start(t){r=t},flush:()=>{(async()=>{try{await e.close()}catch(t){try{await e.writer.writable.abort(t)}catch{}}})()}});return Rs(this,this.zipWriter.add(t,n),t=>r.error(t)),{readable:this.readable,writable:a}}writable(t){let e;const{readable:r,writable:n}=new TransformStream({start(t){e=t}});return Rs(this,this.zipWriter.add(t,r),t=>e.error(t)),n}async close(t,e={}){return await Promise.all(Array.from(this.Xt)),this.zipWriter.close(t,e)}}function Rs(t,e,r){t.Xt.add(e),e.catch(t=>{try{r(t)}catch{}})}function Ds(t){if(!t)return D;let r=0,n=0;t.forEach(t=>r+=4+qs(t));const a=new Uint8Array(r),s=dt(a);return t.forEach((t,r)=>{if(r>e)throw Error(es);if(qs(t)>e)throw Error(rs);Bs(s,n,r),Bs(s,n+2,qs(t)),Hs(a,t,n+4),n+=4+qs(t)}),a}function Us(t,e){const{xe:r}=t;let{he:n,extraFieldLength:a}=r,s=64-(e+qs(n))%64;4>s&&(s+=64);const o=new Uint8Array(s),i=dt(o);Bs(i,0,6534),Bs(i,2,s-4);const c=n;r.he=n=new Uint8Array(qs(c)+s),Hs(n,c),Hs(n,o,qs(c));const l=dt(n);Bs(l,28,a+s),r.ye=l,t.Fe+=s}function ks(t){if(t===z)return D;{const e=new Uint8Array(4);dt(e).setUint32(0,t,!0);let r=4;for(;r>1&&0===e[r-1];)r--;return e.subarray(0,r)}}function Ts(t){const e=new Uint8Array(t),r=dt(e);let n=0;return{array:e,uint8:t=>{((t,e,r)=>{t.setUint8(e,r)})(r,n,t),n+=1},uint16:t=>{Bs(r,n,t),n+=2},uint32:t=>{Vs(r,n,t),n+=4},pe:t=>{Zs(r,n,BigInt(t)),n+=8},bytes:t=>{Hs(e,t,n),n+=qs(t)},me:t=>n+=t}}function Os(t){const{diskNumber:e=0}=t;return e}function Cs(t){const{diskOffset:e=0}=t;return e}function vs(t,e){const{availableSize:r=A}=t;return e>r}function Ms(t,{diskNumber:e=0,diskOffset:r=0}){return t.offset-r-(e?t.Gt:0)}async function Is(t,e){const{writable:r}=t,n=r.getWriter();try{await n.ready,t.size+=qs(e),await n.write(e)}finally{n.releaseLock()}}function Ns(t){if(t){const e=(BigInt(t.getTime())+BigInt(116444736e5))*BigInt(1e4);return ss>e?ss:e>os?os:e}}function js(t){return Math.floor(t.getTime()/1e3)}function _s(t){return t>=ns&&as>=t}function Ps(t){return Math.min(as,Math.max(ns,t))}function Ws(t,e,r,n){const a=e[r]===z?t.options[r]:e[r];return a===z?n:a}function Ls(t){return t+5*(Math.floor(t/16383)+1)}function Bs(t,e,r){t.setUint16(e,r,!0)}function Vs(t,e,r){t.setUint32(e,r,!0)}function Zs(t,e,r){t.setBigUint64(e,r,!0)}function Hs(t,e,r){t.set(e,r)}function qs(...t){let e=0;return t.forEach(t=>t&&(e+=t.length)),e}function Ks({version:e,bitFlag:r,compressionMethod:n,uncompressedSize:a,compressedSize:s,lastModDate:o,rawLastModDate:i,rawFilename:c,oe:l,ie:d,extraFieldLength:u}){const f=Ts(26),w=f.array,p=dt(w);if(f.uint16(e),f.uint16(r),f.uint16(n),i===z){const t=new Uint32Array(1),e=dt(t);Bs(e,0,(o.getHours()<<6|o.getMinutes())<<5|o.getSeconds()/2),Bs(e,2,(o.getFullYear()-1980<<4|o.getMonth()+1)<<5|o.getDate()),i=t[0]}return f.uint32(i),f.me(4),l||s!==z?f.uint32(l?t:s):f.me(4),d||a!==z?f.uint32(d?t:a):f.me(4),f.uint16(qs(c)),f.uint16(u),{ae:w,se:p,rawLastModDate:i}}function Ys(t,e,r,n,a){let s=0;return e&&(s|=m),r&&(s|=8),8!=a&&9!=a||(0>t||t>3||(s|=6),t>3&&5>=t&&(s|=4),9==t&&(s|=2)),n&&(s|=1),s}function Gs(){return"application/octet-stream"}const Xs=1048576,Js=".zip.js-temp";function Qs(t={}){const{thresholdBytes:e=Xs,directoryName:r=Js,getDirectory:n=()=>navigator.storage.getDirectory()}=t;let a;function s(){return a||(a=Promise.resolve(n()).then(t=>t.getDirectoryHandle(r,{create:!0}))),a}return()=>{const t=[];let r,n,a,o,i=0,c=!1;const l=new WritableStream({async write(o){c?await a.write(o):(t.push(o),i+=o.length,i>e&&await(async()=>{const e=await s();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}),a=(await n.createWritable()).getWriter(),c=!0;for(const e of t)await a.write(e);t.length=0})())},async close(){a&&(await a.close(),a=null)}});let d=0;return{writable:l,readable:new ReadableStream({async pull(e){if(c){if(!o){const t=await n.getFile();o=t.stream().getReader()}const{value:t,done:r}=await o.read();r?e.close():e.enqueue(t)}else d<t.length?e.enqueue(t[d++]):e.close()},async cancel(t){o&&await o.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const t=await s();await t.removeEntry(r)}catch{}n=r=null}t.length=0}}}}const $s=1048576;function to(t={}){const{thresholdBytes:e=$s}=t;return()=>{const t=[];let r,n,a,s=0,o=!1;const i=new WritableStream({async write(a){o?await r.write(a):(t.push(a),s+=a.length,s>e&&await(async()=>{const e=new TransformStream;n=se(e.readable),r=e.writable.getWriter(),o=!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:i,readable:new ReadableStream({async pull(e){if(o){if(!a){const t=await n;a=t.stream().getReader()}const{value:t,done:r}=await a.read();r?e.close():e.enqueue(t)}else c<t.length?e.enqueue(t[c++]):e.close()},async cancel(t){a&&await a.cancel(t)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),t.length=0}}}}const eo=1048576,ro=".zip.js-temp",no="createSyncAccessHandle is only available in dedicated workers";function ao(t={}){const{thresholdBytes:e=eo,directoryName:r=ro,getDirectory:n}=t;if(!(n||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw Error(no);const a=n||(()=>navigator.storage.getDirectory());let s;function o(){return s||(s=Promise.resolve(a()).then(t=>t.getDirectoryHandle(r,{create:!0}))),s}return()=>{const t=[];let r,n,a=0,s=!1,i=0,c=0;const l=new WritableStream({async write(c){s?(n.write(c,{at:i}),i+=c.length):(t.push(c),a+=c.length,a>e&&await(async()=>{const e=await o();r=crypto.randomUUID?crypto.randomUUID():Array.from(crypto.getRandomValues(new Uint8Array(16)),t=>t.toString(16).padStart(2,"0")).join("");const a=await e.getFileHandle(r,{create:!0});n=await a.createSyncAccessHandle(),s=!0;for(const e of t)n.write(e,{at:i}),i+=e.length;t.length=0})())},close(){n&&n.flush()}});let d=0;return{writable:l,readable:new ReadableStream({pull(e){if(s){const t=i-c;if(0>=t)return void e.close();const r=new Uint8Array(Math.min(524288,t)),a=n.read(r,{at:c});a?(c+=a,e.enqueue(r.subarray(0,a))):e.close()}else d<t.length?e.enqueue(t[d++]):e.close()}},{highWaterMark:0}),dispose:async()=>{if(n){try{n.close()}catch{}n=null}if(r){try{const t=await o();await t.removeEntry(r)}catch{}r=null}t.length=0}}}}try{N({baseURI:import.meta.url})}catch{}let so,oo,io,co,lo;function uo(t,e,r={}){if(!so){const t=Error("WASM module not loaded");throw t.cause=lo,t}const n="number"==typeof r.level?r.level:-1,a="number"==typeof r.outBuffer?r.outBuffer:65536,s="number"==typeof r.inBufferSize?r.inBufferSize:65536;return new TransformStream({start(){try{let r;if(this.Oe=oo(a),this.in=oo(s),this.inBufferSize=s,!this.Oe||!this.in)throw Error("allocation failed");if(this.Ce=new Uint8Array(a),t?(this.ve=so.deflate_process,this.Me=so.deflate_last_consumed,this.Ie=so.deflate_end,this.Ne=so.deflate_new(),r="gzip"===e?so.deflate_init_gzip(this.Ne,n):"deflate-raw"===e?so.deflate_init_raw(this.Ne,n):so.deflate_init(this.Ne,n)):"deflate64-raw"===e?(this.ve=so.inflate9_process,this.Me=so.inflate9_last_consumed,this.Ie=so.inflate9_end,this.Ne=so.inflate9_new(),r=so.inflate9_init_raw(this.Ne)):(this.ve=so.inflate_process,this.Me=so.inflate_last_consumed,this.Ie=so.inflate_end,this.Ne=so.inflate_new(),r="deflate-raw"===e?so.inflate_init_raw(this.Ne):"gzip"===e?so.inflate_init_gzip(this.Ne):so.inflate_init(this.Ne)),0!==r)throw Error("init failed:"+r)}catch(t){throw o(this),t}},transform(e,r){try{const n=e,s=new Uint8Array(co.buffer),o=this.ve,i=this.Me,c=this.Oe,l=this.Ce;let d=0;for(;d<n.length;){const e=Math.min(n.length-d,32768);if((!this.in||this.inBufferSize<e)&&(this.in&&io&&(io(this.in),this.in=0),this.in=oo(e),this.inBufferSize=e,!this.in))throw Error("allocation failed");s.set(n.subarray(d,d+e),this.in);const u=o(this.Ne,this.in,e,c,a,0),f=16777215&u;if(f&&(l.set(s.subarray(c,c+f),0),r.enqueue(l.slice(0,f))),!t){const t=u>>24&255,e=128&t?t-256:t;if(0>e)throw Error("process error:"+e)}const w=i(this.Ne);if(0===w)break;d+=w}}catch(t){o(this),r.error(t)}},flush(e){try{const r=new Uint8Array(co.buffer),n=this.ve,s=this.Oe,o=this.Ce;for(;;){const i=n(this.Ne,0,0,s,a,4),c=16777215&i,l=i>>24&255;if(!t){const t=128&l?l-256:l;if(0>t)throw Error("process error:"+t)}if(c&&(o.set(r.subarray(s,s+c),0),e.enqueue(o.slice(0,c))),1===l||0===c)break}}catch(t){e.error(t)}finally{const t=o(this);0!==t&&e.error(Error("end error:"+t))}},cancel(){o(this)}});function o(t){let e=0;return t.Ne&&t.Ie&&(e=t.Ie(t.Ne)),t.Ne=0,t.in&&io&&io(t.in),t.in=0,t.Oe&&io&&io(t.Oe),t.Oe=0,e}}class fo{constructor(t="deflate",e){return uo(!0,t,e)}}class wo{constructor(t="deflate",e){return uo(!1,t,e)}}fo.Rt=!0,wo.Rt=!0;let po,mo=!1;function ho(){po=null,(async()=>{await Promise.allSettled(Je.map(t=>(ir(t),t.terminate()))),Ce=z,Ne=!1})(),mo=!1,so=oo=io=co=lo=null}(({je:t})=>{_e=t})({je:t=>{if(!po){let{wasmURI:e}=t;typeof e==R&&(e=e()),po=(async(t,{baseURI:e})=>{if(!mo)try{await(async(t,e)=>{let r,n;try{try{n=new URL(t,e)}catch{}const a=await fetch(n);r=await a.arrayBuffer()}catch(e){if(!t.startsWith("data:application/wasm;base64,"))throw e;r=(t=>{const e=t.split(",")[1],r=atob(e),n=r.length,a=new Uint8Array(n);for(let t=0;n>t;++t)a[t]=r.charCodeAt(t);return a.buffer})(t)}(t=>{if(so=t,({malloc:oo,free:io,memory:co}=so),"function"!=typeof oo||"function"!=typeof io||!co)throw so=oo=io=co=null,Error("Invalid WASM module")})((await WebAssembly.instantiate(r)).instance.exports)})(t,e),mo=!0}catch(t){throw(t=>{lo=t})(t),t}})(e,t).catch(t=>{throw po=null,t})}return po}}),N({CompressionStreamFallback:fo,DecompressionStreamFallback:wo}),N({workerURI:new URL("./zip-web-worker.js",import.meta.url).href,wasmURI:new URL("./zip-module.wasm",import.meta.url).href});export{Dr as BlobReader,Ur as BlobWriter,zr as Data64URIReader,Ar as Data64URIWriter,wa as ERR_AMBIGUOUS_ARCHIVE,ra as ERR_BAD_FORMAT,sa as ERR_CENTRAL_DIRECTORY_NOT_FOUND,Ya as ERR_DUPLICATED_NAME,ca as ERR_ENCRYPTED,pa as ERR_ENCRYPTED_CENTRAL_DIRECTORY,aa as ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND,na as ERR_EOCDR_NOT_FOUND,ia as ERR_EXTRAFIELD_ZIP64_NOT_FOUND,lr as ERR_HTTP_RANGE,dr as ERR_HTTP_RESOURCE_CHANGED,bt as ERR_INVALID_AUTHENTICATION_CODE,_ as ERR_INVALID_CODEC_DEFINITION,W as ERR_INVALID_CODEC_MODULE,Ga as ERR_INVALID_COMMENT,ce as ERR_INVALID_COMPRESSED_DATA,le as ERR_INVALID_CRC32,$a as ERR_INVALID_ENCRYPTION_STRENGTH,Xa as ERR_INVALID_ENTRY_COMMENT,Ja as ERR_INVALID_ENTRY_NAME,rs as ERR_INVALID_EXTRAFIELD_DATA,es as ERR_INVALID_EXTRAFIELD_TYPE,fs as ERR_INVALID_GID,hs as ERR_INVALID_MSDOS_ATTRIBUTES,ys as ERR_INVALID_MSDOS_DATA,ht as ERR_INVALID_PASSWORD,yt as ERR_INVALID_SIGNATURE,bs as ERR_INVALID_SIGNATURE_DATA,us as ERR_INVALID_UID,ie as ERR_INVALID_UNCOMPRESSED_SIZE,ps as ERR_INVALID_UNIX_EXTRA_FIELD_TYPE,ms as ERR_INVALID_UNIX_ID_SIZE,ws as ERR_INVALID_UNIX_MODE,Qa as ERR_INVALID_VERSION,ur as ERR_ITERATOR_COMPLETED_TOO_SOON,oa as ERR_LOCAL_FILE_HEADER_NOT_FOUND,fa as ERR_OVERLAPPING_ENTRY,P as ERR_RESERVED_COMPRESSION_METHOD,ua as ERR_SPLIT_ZIP_FILE,ls as ERR_UNDEFINED_READER,cs as ERR_UNDEFINED_UNCOMPRESSED_SIZE,da as ERR_UNSUPPORTED_COMPRESSION,no as ERR_UNSUPPORTED_CONTEXT,Et as ERR_UNSUPPORTED_CRYPTO_API,la as ERR_UNSUPPORTED_ENCRYPTION,ts as ERR_UNSUPPORTED_ENCRYPTION_USDZ,is as ERR_UNSUPPORTED_FORMAT,Oe as ERR_WORKER_STARTUP_TIMEOUT,fr as ERR_WRITER_NOT_INITIALIZED,ds as ERR_ZIP_NOT_EMPTY,Gr as HttpRangeReader,Yr as HttpReader,gr as Reader,Qr as SplitDataReader,$r as SplitDataWriter,kr as TextReader,Tr as TextWriter,Xr as Uint8ArrayReader,Jr as Uint8ArrayWriter,xr as Writer,Sa as ZipReader,Ea as ZipReaderStream,As as ZipWriter,Fs as ZipWriterStream,M as configure,to as createBlobTempStream,Qs as createOPFSTempStream,ao as createSyncAccessHandleTempStream,Gs as getMimeType,H as registerCodec,j as resetConfiguration,ho as terminateWorkers,q as unregisterCodec};
package/dist/zip-core.js CHANGED
@@ -2679,14 +2679,16 @@
2679
2679
  } else {
2680
2680
  webWorkerSupported = false;
2681
2681
  }
2682
- const { reader } = workerData;
2683
- if (reader) {
2684
- reader.releaseLock();
2685
- }
2686
- workerData.reader = null;
2687
- workerData.writer = null;
2682
+ releaseWorkerStreams(workerData);
2688
2683
  return runWorker$1(workerData, config);
2689
2684
  }
2685
+ if (error && error.codecImportFailed) {
2686
+ if (workerData.reader) {
2687
+ releaseWorkerStreams(workerData);
2688
+ return runWorker$1(workerData, config);
2689
+ }
2690
+ workerData.onTaskFinished();
2691
+ }
2690
2692
  throw error;
2691
2693
  }
2692
2694
  }
@@ -2823,6 +2825,15 @@
2823
2825
  return { writable, closed, abortPipe: () => abortController.abort() };
2824
2826
  }
2825
2827
 
2828
+ function releaseWorkerStreams(workerData) {
2829
+ const { reader } = workerData;
2830
+ if (reader) {
2831
+ reader.releaseLock();
2832
+ }
2833
+ workerData.reader = null;
2834
+ workerData.writer = null;
2835
+ }
2836
+
2826
2837
  function terminateWorker$1(workerData) {
2827
2838
  const { worker } = workerData;
2828
2839
  if (worker) {
@@ -2890,7 +2901,7 @@
2890
2901
  try {
2891
2902
  worker = new Worker(resolvedURI, resolvedOptions);
2892
2903
  } catch (error) {
2893
- if (!isModuleType) {
2904
+ if (isModuleType) {
2894
2905
  return getWebWorker(url, baseURI, workerData, false, useBlobURI);
2895
2906
  } else {
2896
2907
  throw error;
@@ -3008,12 +3019,15 @@
3008
3019
  const stale = () => workerData.generation != generation;
3009
3020
  try {
3010
3021
  if (error) {
3011
- const { message, stack, code, name, outputSize, cause } = error;
3022
+ const { message, stack, code, name, outputSize, cause, codecImportFailed } = error;
3012
3023
  const responseError = new Error(message);
3013
3024
  Object.assign(responseError, { stack, code, name, outputSize });
3014
3025
  if (cause) {
3015
3026
  responseError.cause = Object.assign(new Error(cause.message), { name: cause.name });
3016
3027
  }
3028
+ if (codecImportFailed) {
3029
+ responseError.codecImportFailed = true;
3030
+ }
3017
3031
  close(responseError);
3018
3032
  } else {
3019
3033
  if (type == MESSAGE_PULL) {
@@ -3052,7 +3066,9 @@
3052
3066
  if (writer) {
3053
3067
  writer.releaseLock();
3054
3068
  }
3055
- onTaskFinished();
3069
+ if (!(error && error.codecImportFailed)) {
3070
+ onTaskFinished();
3071
+ }
3056
3072
  }
3057
3073
  }
3058
3074
 
@@ -3102,7 +3118,7 @@
3102
3118
  }
3103
3119
  await ensureCodecStreams(format, options.codecURI);
3104
3120
  }
3105
- workerOptions.transferStreams = transferStreams || (transferStreams === UNDEFINED_VALUE && config.transferStreams);
3121
+ workerOptions.transferStreams = !format && (transferStreams || (transferStreams === UNDEFINED_VALUE && config.transferStreams));
3106
3122
  const streamCopy = !compressed && !checkCrc32 && !computeCrc32 && !encrypted;
3107
3123
  const workerSupported = format === UNDEFINED_VALUE || Boolean(options.codecURI);
3108
3124
  workerOptions.useWebWorkers = !streamCopy && workerSupported && (useWebWorkers || (useWebWorkers === UNDEFINED_VALUE && config.useWebWorkers));