@zip.js/zip.js 2.8.53 → 2.8.55
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/README.md +1 -1
- package/deno.json +2 -1
- package/dist/zip-core-external.js +737 -491
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +745 -490
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +776 -525
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +738 -510
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +776 -525
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +790 -525
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +791 -526
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +746 -491
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +746 -491
- package/dist/zip-native.min.js +1 -1
- package/dist/zip-web-worker-native.js +1 -1
- package/dist/zip-web-worker.js +1 -1
- package/dist/zip.js +747 -492
- package/dist/zip.min.js +1 -1
- package/eslint.config.mjs +1 -0
- package/index-native.cjs +790 -525
- package/index-native.min.js +1 -1
- package/index.cjs +791 -526
- package/index.d.cts +422 -49
- package/index.d.ts +422 -49
- package/index.min.js +1 -1
- package/lib/core/configuration.js +62 -21
- package/lib/core/constants.js +13 -1
- package/lib/core/io.js +33 -27
- package/lib/core/options.js +44 -2
- package/lib/core/streams/aes-crypto-stream.js +12 -12
- package/lib/core/util/decode-text.js +11 -2
- package/lib/core/web-worker-base.js +3 -2
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/zip-fs.js +39 -32
- package/lib/core/zip-reader.js +100 -38
- package/lib/core/zip-writer.js +301 -177
- package/lib/core/zlib-streams-inline.js +1 -1
- package/lib/zip-core-base.js +6 -1
- package/lib/zip-core-reader.js +1 -0
- package/lib/zip-core-writer.js +5 -0
- package/package.json +8 -2
package/dist/zip-legacy.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:r,String:n,Number:s,BigInt:a,Math:o,Date:i,Map:c,Set:l,Response:d,URL:w,Error:f,Uint8Array:u,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:S,TextEncoder:z,TextDecoder:b,document:g,crypto:x,btoa:E,TransformStream:D,ReadableStream:F,WritableStream:R,CompressionStream:k,DecompressionStream:T,navigator:v,Worker:U,Symbol:C,setTimeout:W,clearTimeout:I,structuredClone:A}="undefined"!=typeof globalThis?globalThis:this||self;var j=void 0!==g?g.currentScript:null;const O=4294967295,M=65535,B=255,N=67324752,Z=134695760,P=Z,L=84233040,Y=33639248,K=101010256,V=101075792,q=117853008,H=22,X=20,J=56,G=21589,Q=2048,_=61440,$=16384,ee=2048,te=1024,re="/",ne=30,se=new i(2107,11,31,23,59,58),ae=new i(1980,0,1),oe=void 0,ie=1/0,ce="undefined",le="function",de="string",we=new u;let fe=2;try{typeof v!=ce&&v.hardwareConcurrency&&(fe=v.hardwareConcurrency)}catch{}const ue={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:fe,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof k!=ce&&k,DecompressionStream:typeof T!=ce&&T},pe=["baseURI","wasmURI","workerURI","createWorker","chunkSize","maxWorkers","terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout","useCompressionStream","useWebWorkers","transferStreams","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],he={...ue};function me(){return he}function ye(e){return o.max(e.chunkSize,64)}function Se(e){e=ze(e);for(const t of pe){const r=e[t];r!==oe&&(he[t]=r)}}function ze(e){const{CompressionStreamZlib:t,DecompressionStreamZlib:n}=e;if(t===oe&&n===oe)return e;const s=r.assign({},e);return s.CompressionStreamFallback===oe&&(s.CompressionStreamFallback=t),s.DecompressionStreamFallback===oe&&(s.DecompressionStreamFallback=n),s}function be(e){e=ze(e);for(const t of pe){const r=e[t];r!==oe&&(ue[t]=r)}Se(e)}const ge=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],xe=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Ee=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],De=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],Fe=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],Re=new u(288);Re.fill(8,0,144),Re.fill(9,144,256),Re.fill(7,256,280),Re.fill(8,280,288);const ke=new u(30).fill(5);function Te(e){const t=new p(16);for(const r of e)t[r]++;t[0]=0;const r=new p(17);for(let e=1;15>=e;e++)r[e+1]=r[e]+t[e];const n=new p(e.length);for(let t=0;t<e.length;t++)e[t]&&(n[r[e[t]]++]=t);return{o:t,symbols:n}}const ve="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ue=(Ce=()=>(e=>{let t=0,r=0,n=0,s=new u(1024),a=0,o=0;for(;!o;){o=c(1);const e=c(2);if(0==e)l();else if(1==e)d(Te(Re),Te(ke));else{if(2!=e)throw f("invalid deflate block type");d(...w())}}return s.subarray(0,a);function i(){if(t>=e.length)throw f("unexpected end of deflate data");return e[t++]}function c(e){for(;e>n;)r|=i()<<n,n+=8;const t=r&(1<<e)-1;return r>>>=e,n-=e,t}function l(){r=0,n=0;const e=i()|i()<<8;t+=2,h(a+e);for(let t=0;e>t;t++)s[a++]=i()}function d(e,t){let r=p(e);for(;256!=r;){if(256>r)h(a+1),s[a++]=r;else{const e=r-257,n=ge[e]+c(xe[e]),o=p(t),i=Ee[o]+c(De[o]);h(a+n);const l=a-i;for(let e=0;n>e;e++)s[a++]=s[l+e]}r=p(e)}}function w(){const e=c(5)+257,t=c(5)+1,r=c(4)+4,n=new u(19);for(let e=0;r>e;e++)n[Fe[e]]=c(3);const s=Te(n),a=new u(e+t);let o=0;for(;o<a.length;){const e=p(s);if(16>e)a[o++]=e;else if(16==e){const e=a[o-1];let t=c(2)+3;for(;t--;)a[o++]=e}else o+=17==e?c(3)+3:c(7)+11}return[Te(a.subarray(0,e)),Te(a.subarray(e))]}function p(e){const{o:t,symbols:r}=e;let n=0,s=0,a=0;for(let e=1;15>=e;e++){n|=c(1);const o=t[e];if(o>n-s)return r[a+(n-s)];a+=o,s=s+o<<1,n<<=1}throw f("invalid huffman code")}function h(e){if(s.length<e){let t=2*s.length;for(;e>t;)t*=2;const r=new u(t);r.set(s.subarray(0,a)),s=r}}})((e=>{const t=(e=(e+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,r=[];for(let n=0;t>n;n+=4){const t=ve.indexOf(e[n])<<18|ve.indexOf(e[n+1])<<12|(63&ve.indexOf(e[n+2]))<<6|63&ve.indexOf(e[n+3]);r.push(t>>16&255),"="!==e[n+2]&&r.push(t>>8&255),"="!==e[n+3]&&r.push(255&t)}return new u(r)})("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")),e=>e({workerURI:e=>{const t="text/javascript";let r=Ce();if("string"==typeof r&&(r=(new z).encode(r)),e){const e=new y([r],{type:t});return w.createObjectURL(e)}return"data:"+t+";base64,"+(e=>{let t="";const r=e.length;let n=0;for(;r>n+2;n+=3){const r=e[n]<<16|e[n+1]<<8|e[n+2];t+=ve[r>>18&63]+ve[r>>12&63]+ve[r>>6&63]+ve[63&r]}const s=r-n;if(1===s){const r=e[n]<<16;t+=ve[r>>18&63]+ve[r>>12&63]+"=="}else if(2===s){const r=e[n]<<16|e[n+1]<<8;t+=ve[r>>18&63]+ve[r>>12&63]+ve[r>>6&63]+"="}return t})(r)}}));var Ce;function We(e,t){const r=new u(e.length+t.length);return r.set(e),r.set(t,e.length),r}function Ie(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new u(e):e}function Ae(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const je=[[],[],[],[],[],[],[],[]];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)t=1&t?t>>>1^3988292384:t>>>1;je[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=je[t-1][e];je[t][e]=r>>>8^je[0][255&r]}const[Oe,Me,Be,Ne,Ze,Pe,Le,Ye]=je;class Ke{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,r),a=r-8;for(;a>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=Ye[255&e]^Le[e>>>8&255]^Pe[e>>>16&255]^Ze[e>>>24&255]^Ne[255&r]^Be[r>>>8&255]^Me[r>>>16&255]^Oe[r>>>24&255]}}for(;r>n;n++)t=t>>>8^Oe[255&(t^e[n])];this.l=t}get(){return~this.l}}class Ve extends D{constructor(){let e;const t=new Ke;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new u(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function qe(e){if(typeof z==ce){const t=new u((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new z).encode(e)}const He={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=He.h(r);return 32===n?e.concat(t):He.m(t,n,0|r,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+He.h(r)},S(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,o.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=He.D(t,e[r-1]&2147483648>>t-1,1)),e},D:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,h:e=>o.round(e/1099511627776)||32,m(e,t,r,n){for(void 0===n&&(n=[]);t>=32;t-=32)n.push(r),r=0;if(0===t)return n.concat(e);for(let s=0;s<e.length;s++)n.push(r|e[s]>>>t),r=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=He.h(s);return n.push(He.D(t+a&31,t+a>32?r:n.pop(),1)),n}},Xe={bytes:{F(e){const t=He.bitLength(e)/8,r=new u(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},R(e){const t=[];let r,n=0;for(r=0;r<e.length;r++)n=n<<8|e[r],3&~r||(t.push(n),n=0);return 3&r&&t.push(He.D(8*(3&r),n)),t}}},Je=class{constructor(e){const t=this;t.blockSize=512,t.T=[1732584193,4023233417,2562383102,271733878,3285377520],t.v=[1518500249,1859775393,2400959708,3395469782],e?(t.U=e.U.slice(0),t.C=e.C.slice(0),t.W=e.W):t.reset()}reset(){const e=this;return e.U=e.T.slice(0),e.C=[],e.W=0,e}update(e){const t=this;"string"==typeof e&&(e=Xe.I.R(e));const r=t.C=He.concat(t.C,e),n=t.W,s=t.W=n+He.bitLength(e);if(s>9007199254740991)throw new f("Cannot hash more than 2^53 - 1 bits");const a=new h(r);let o=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.A(a.subarray(16*o,16*(o+1))),o+=1;return r.splice(0,16*o),t}j(){const e=this;let t=e.C;const r=e.U;t=He.concat(t,[He.D(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(o.floor(e.W/4294967296)),t.push(0|e.W);t.length;)e.A(t.splice(0,16));return e.reset(),r}O(e,t,r,n){return e>19?e>39?e>59?e>79?void 0:t^r^n:t&r|t&n|r&n:t^r^n:t&r|~t&n}M(e,t){return t<<e|t>>>32-e}A(e){const r=this,n=r.U,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let a=n[0],i=n[1],c=n[2],l=n[3],d=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r.M(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r.M(5,a)+r.O(e,i,c,l)+d+s[e]+r.v[o.floor(e/20)]|0;d=l,l=c,c=r.M(30,i),i=a,a=t}n[0]=n[0]+a|0,n[1]=n[1]+i|0,n[2]=n[2]+c|0,n[3]=n[3]+l|0,n[4]=n[4]+d|0}},Ge={importKey:e=>new Ge.B(Xe.bytes.R(e)),N(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new f("invalid params to pbkdf2");const s=1+(n>>5)<<2;let a,o,i,c,l;const d=new ArrayBuffer(s),w=new m(d);let u=0;const p=He;for(t=Xe.bytes.R(t),l=1;(s||1)>u;l++){for(a=o=e.encrypt(p.concat(t,[l])),i=1;r>i;i++)for(o=e.encrypt(o),c=0;c<o.length;c++)a[c]^=o[c];for(i=0;(s||1)>u&&i<a.length;i++)w.setInt32(u,a[i]),u+=4}return d.slice(0,n/8)},B:class{constructor(e){const t=this,r=t.Z=Je,n=[[],[]];t.P=[new r,new r];const s=t.P[0].blockSize/32;e.length>s&&(e=(new r).update(e).j());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.P[0].update(n[0]),t.P[1].update(n[1]),t.L=new r(t.P[0])}reset(){const e=this;e.L=new e.Z(e.P[0]),e.Y=!1}update(e){this.Y=!0,this.L.update(e)}digest(){const e=this,t=e.L.j(),r=new e.Z(e.P[1]).update(t).j();return e.reset(),r}encrypt(e){if(this.Y)throw new f("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Qe=typeof x!=ce&&typeof x.getRandomValues==le,_e="Invalid password",$e="Invalid signature",et=$e,tt="zipjs-abort-check-password",rt="Crypto API not supported";function nt(e){if(Qe)return x.getRandomValues(e);throw new f(rt)}const st=16,at={name:"PBKDF2"},ot=r.assign({hash:{name:"HMAC"}},at),it=r.assign({iterations:1e3,hash:{name:"SHA-1"}},at),ct=["deriveBits"],lt=[8,12,16],dt=[16,24,32],wt=10,ft=[0,0,0,0],ut=typeof x!=ce,pt=ut&&x.subtle,ht=ut&&typeof pt!=ce,mt=Xe.bytes,yt=class{constructor(e){const t=this;t.K=[[[],[],[],[],[]],[[],[],[],[],[]]],t.K[0][0][0]||t.V();const r=t.K[0][4],n=t.K[1],s=e.length;let a,o,i,c=1;if(4!==s&&6!==s&&8!==s)throw new f("invalid aes key size");for(t.v=[o=e.slice(0),i=[]],a=s;4*s+28>a;a++){let e=o[a-1];(a%s===0||8===s&&a%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),o[a]=o[a-s]^e}for(let e=0;a;e++,a--){const t=o[3&e?a:a-4];i[e]=4>=a||4>e?t:n[0][r[t>>>24]]^n[1][r[t>>16&255]]^n[2][r[t>>8&255]]^n[3][r[255&t]]}}encrypt(e){return this.H(e,0)}decrypt(e){return this.H(e,1)}V(){const e=this.K[0],t=this.K[1],r=e[4],n=t[4],s=[],a=[];let o,i,c,l;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let d=o=0;!r[d];d^=i||1,o=a[o]||1){let a=o^o<<1^o<<2^o<<3^o<<4;a=a>>8^255&a^99,r[d]=a,n[a]=d,l=s[c=s[i=s[d]]];let w=16843009*l^65537*c^257*i^16843008*d,f=257*s[a]^16843008*a;for(let r=0;4>r;r++)e[r][d]=f=f<<24^f>>>8,t[r][a]=w=w<<24^w>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}H(e,t){if(4!==e.length)throw new f("invalid aes block size");const r=this.v[t],n=r.length/4-2,s=[0,0,0,0],a=this.K[t],o=a[0],i=a[1],c=a[2],l=a[3],d=a[4];let w,u,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],S=e[t?1:3]^r[3],z=4;for(let e=0;n>e;e++)w=o[h>>>24]^i[m>>16&255]^c[y>>8&255]^l[255&S]^r[z],u=o[m>>>24]^i[y>>16&255]^c[S>>8&255]^l[255&h]^r[z+1],p=o[y>>>24]^i[S>>16&255]^c[h>>8&255]^l[255&m]^r[z+2],S=o[S>>>24]^i[h>>16&255]^c[m>>8&255]^l[255&y]^r[z+3],z+=4,h=w,m=u,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=d[h>>>24]<<24^d[m>>16&255]<<16^d[y>>8&255]<<8^d[255&S]^r[z++],w=h,h=m,m=y,y=S,S=w;return s}},St=class{constructor(e,t){this.X=e,this.J=t,this.G=t}reset(){this.G=this.J}update(e){return this._(this.X,e,this.G)}$(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,r=e>>8&255,n=255&e;255===t?(t=0,255===r?(r=0,255===n?n=0:++n):++r):++t,e=0,e+=t<<16,e+=r<<8,e+=n}return e}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}_(e,t,r){let n;if(!(n=t.length))return[];const s=He.bitLength(t);for(let s=0;n>s;s+=4){this.ee(r);const n=e.encrypt(r);t[s]^=n[0],t[s+1]^=n[1],t[s+2]^=n[2],t[s+3]^=n[3]}return He.S(t,s)}},zt=Ge.B;let bt=ut&&ht&&typeof pt.importKey==le,gt=ut&&ht&&typeof pt.deriveBits==le;class xt extends D{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){Dt(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:a,te:o,ready:i}=r;s?(await(async(e,t,r,n)=>{const s=await Rt(e,t,r,Tt(n,0,lt[t])),a=Tt(n,lt[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new f(_e)})(r,a,s,Tt(e,0,lt[a]+2)),e=Tt(e,lt[a]+2),n?t.error(new f(tt)):o()):await i;const c=new u(e.length-wt-(e.length-wt)%st);t.enqueue(Ft(r,e,c,0,wt,!0))},async flush(e){const{re:t,ne:r,pending:n,ready:a}=this;if(r&&t){await a;const o=Tt(n,0,n.length-wt),i=Tt(n,n.length-wt);let c=we;if(o.length){const e=Ut(mt,o);r.update(e);const n=t.update(e);c=vt(mt,n)}const l=Tt(vt(mt,r.digest()),0,wt);let d=n.length<wt?1:0;for(let e=0;wt>e;e++)d|=l[e]^i[e];if(d&&s)throw new f(et);e.enqueue(c)}}})}}class Et extends D{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){Dt(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,te:a,ready:o}=r;let i=we;n?(i=await(async(e,t,r)=>{const n=nt(new u(lt[t]));return We(n,await Rt(e,t,r,n))})(r,s,n),a()):await o;const c=new u(i.length+e.length-e.length%st);c.set(i,0),t.enqueue(Ft(r,e,c,i.length,0))},async flush(e){const{re:t,ne:r,pending:n,ready:s}=this;if(r&&t){await s;let a=we;if(n.length){const e=t.update(Ut(mt,n));r.update(e),a=vt(mt,e)}const o=vt(mt,r.digest()).slice(0,wt);e.enqueue(We(a,o))}}})}}function Dt(e,t,n,s){r.assign(e,{ready:new S(t=>e.te=t),password:kt(t,n),strength:s-1,pending:we})}function Ft(e,t,r,n,s,a){const{re:o,ne:i,pending:c}=e;c.length&&(t=We(c,t));const l=t.length-s;let d;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new u(t)).set(r,0)}return e})(r,n+(l-l%st)),d=0;l-st>=d;d+=st){const e=Ut(mt,Tt(t,d,d+st));a&&i.update(e);const s=o.update(e);a||i.update(s),r.set(vt(mt,s),d+n)}return e.pending=Tt(t,d),r}async function Rt(e,n,s,a){e.password=null;const o=await(async(e,t,r,n,s)=>{if(!bt)return Ge.importKey(t);try{return await pt.importKey("raw",t,r,!1,s)}catch{return bt=!1,Ge.importKey(t)}})(0,s,ot,0,ct),i=await(async(e,t,r)=>{if(!gt)return Ge.N(t,e.salt,it.iterations,r);try{return await pt.deriveBits(e,t,r)}catch{return gt=!1,Ge.N(t,e.salt,it.iterations,r)}})(r.assign({salt:a},it),o,8*(2*dt[n]+2)),c=new u(i),l=Ut(mt,Tt(c,0,dt[n])),d=Ut(mt,Tt(c,dt[n],2*dt[n])),w=Tt(c,2*dt[n]);return r.assign(e,{keys:{key:l,se:d,passwordVerification:w},re:new St(new yt(l),t.from(ft)),ne:new zt(d)}),w}function kt(e,t){return t===oe?qe(e):t}function Tt(e,t,r){return e.subarray(t,r)}function vt(e,t){return e.F(t)}function Ut(e,t){return e.R(t)}class Ct extends D{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){It(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=At(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new f(_e);e=e.subarray(12)}n?t.error(new f(tt)):t.enqueue(At(r,e))}})}}class Wt extends D{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){It(this,e,t,r)},transform(e,t){const r=this;let n,s;if(r.password||r.rawPassword){r.password=r.rawPassword=null;const t=nt(new u(12));t[11]=r.passwordVerification,n=new u(e.length+t.length),n.set(jt(r,t),0),s=12}else n=new u(e.length),s=0;n.set(jt(r,e),s),t.enqueue(n)}})}}function It(e,t,n,s){r.assign(e,{password:t,rawPassword:n,passwordVerification:s}),((e,t,n)=>{const s=[305419896,591751049,878082192];if(r.assign(e,{keys:s,ae:new Ke(s[0]),oe:new Ke(s[2])}),n)for(let t=0;t<n.length;t++)Ot(e,n[t]);else for(let r=0;r<t.length;r++)Ot(e,t.charCodeAt(r))})(e,t,n)}function At(e,t){const r=new u(t.length);for(let n=0;n<t.length;n++)r[n]=Mt(e)^t[n],Ot(e,r[n]);return r}function jt(e,t){const r=new u(t.length);for(let n=0;n<t.length;n++)r[n]=Mt(e)^t[n],Ot(e,t[n]);return r}function Ot(e,t){let[,r]=e.keys;e.ae.append([t]);const n=~e.ae.get();r=Nt(o.imul(Nt(r+Bt(n)),134775813)+1),e.oe.append([r>>>24]);const s=~e.oe.get();e.keys=[n,r,s]}function Mt(e){const t=2|e.keys[2];return Bt(o.imul(t,1^t)>>>8)}function Bt(e){return 255&e}function Nt(e){return 4294967295&e}function Zt(e){if(e instanceof F)return e;const t=e.getReader();return new F({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function Pt(e,t){e=Zt(e);const r=t?{type:t}:{};if(typeof y.prototype.stream!=le||new y([]).stream()instanceof F)return new d(e).blob().then(e=>t?new y([e],r):e);const n=[];return e.pipeTo(new R({write(e){n.push(e)}})).then(()=>new y(n,r))}function Lt(e){if(e instanceof R)return e;const t=e.getWriter();return new R({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const Yt="Invalid codec definition",Kt="Reserved compression method",Vt="Invalid codec module",qt=[0,8,9,99],Ht=new c,Xt=new c;function Jt(e){return Ht.get(e)}function Gt(e){return Xt.get(e)}function Qt(e,t){const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=le&&typeof n!=le)throw new f(Vt);Xt.set(e,{CompressionStream:r,DecompressionStream:n})}const _t="Invalid uncompressed size",$t="Invalid compressed data",er=$e,tr="deflate-raw",rr="gzip",nr=[31,139,8];class sr extends D{constructor(e,{chunkSize:t,CompressionStreamFallback:r,CompressionStream:n}){super({});const{compressed:s,encrypted:a,useCompressionStream:o,zipCrypto:i,computeCrc32:c,level:l,deflate64:d,format:w,compressionMethod:f}=e,u=this;let p,h,y,S=super.readable;const z=w&&Gt(w),b=c&&s&&!d&&!z&&(!a||i)&&!(!o||!n);if(a&&!i||!c||b||(p=new Ve,S=ur(S,p)),s)if(z)S=pr(S,wr(z.CompressionStream,w,{level:l,chunkSize:t,compressionMethod:f}));else if(b)y=new ar,S=pr(S,new n(rr)),S=ur(S,y);else try{S=fr(S,o,{level:l,chunkSize:t},n,r)}catch(e){let t;try{t=new n(rr)}catch{throw e}S=pr(S,t),S=ur(S,new ar)}a&&(i?S=ur(S,new Wt(e)):(h=new Et(e),S=ur(S,h))),dr(u,S,()=>{a&&!i||!c||(u.crc32=b?y.crc32:new m(p.value.buffer).getUint32(0))})}}class ar extends D{constructor(){let e,t=10,r=new u(0);super({transform(e,n){if(t){const r=o.min(t,e.length);if(t-=r,!(e=e.subarray(r)).length)return}const s=r.length+e.length;if(8>=s)return void(r=We(r,e));const a=s-8,i=o.min(a,r.length);n.enqueue(We(r.subarray(0,i),e.subarray(0,a-i))),r=We(r.subarray(i),e.subarray(a-i))},flush(){const t=Ae(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class or extends D{constructor(e,{chunkSize:t,DecompressionStreamFallback:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:o,crc32:i,compressed:c,useCompressionStream:l,deflate64:d,format:w,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let z,b,g=super.readable;if(a&&(s?g=ur(g,new Ct(e)):(b=new xt(e),g=ur(g,b))),c){const e=w&&Gt(w);if(e)g=pr(g,wr(e.DecompressionStream,w,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{g=fr(g,l,{chunkSize:t,deflate64:d},n,r)}catch(e){if(d||y===oe)throw e;let t;try{t=new n(rr)}catch{throw e}g=((e,t,r)=>{const n=new Ke;let s,a,o,i=0,c=!1;const l=new S((e,t)=>{a=e,o=t});l.catch(()=>{}),r||a();const d=new D({start(e){const t=new u(10);t.set(nr),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new u(8),s=Ae(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){o(e)}}),w=new D({transform(e,t){n.append(e),i+=e.length,r>i?c&&p():a(),t.enqueue(e)},cancel(e){o(e)}});return e=ur(e,d),ur(e=pr(e,t),w);function p(){h(),s=W(()=>o(new f(_t)),5e3)}function h(){I(s)}})(g,t,y)}g=(e=>{const t=e.getReader();return new F({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new f($t);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(g)}o&&(z=new Ve,g=ur(g,z)),dr(this,g,()=>{if(o){const e=new m(z.value.buffer);if(i!=e.getUint32(0,!1))throw new f(er)}})}}const ir=new c;function cr(e,t){if(!e)return!1;let r=ir.get(e);r||(r=new c,ir.set(e,r));let n=r.get(t);if(n===oe){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function lr(e){return cr(e,tr)}function dr(e,t,n){t=ur(t,new D({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function wr(e,t,r){if(!e)throw new f("Compression method not supported");return new e(t,r)}function fr(e,t,r,n,s){const a=t&&n?n:s||n,o=r.deflate64?"deflate64-raw":tr;let i;try{i=new a(o,r)}catch(e){if(!t||!s||a==s)throw e;i=new s(o,r)}return pr(e,i)}function ur(e,t){return Zt(e).pipeThrough(t)}function pr(e,t){const r=t.writable.getWriter(),n=e.getReader();return(async()=>{try{for(;;){await r.ready;const e=await n.read();if(e.done){await r.close();break}await r.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(r,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(n,e)}})(),t.readable}const hr="data",mr="deflate",yr="inflate";class Sr extends D{constructor(e,t){super({});const n=this,{codecType:s}=e;let a;s.startsWith(mr)?a=sr:s.startsWith(yr)&&(a=or),n.outputSize=0;let o=0;const i=new a(e,t),c=super.readable,l=new D({transform(e,t){e&&e.length&&(o+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:o})}}),d=new D({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==oe&&n.outputSize>e.outputSize))throw new f(_t)},flush(){const{crc32:e}=i;r.assign(n,{crc32:e,inputSize:o})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(l).pipeThrough(i).pipeThrough(d)})}}class zr extends D{constructor(e){const t=[];let r=0;function n(){const n=new u(e);let s=0;for(;e>s;){const r=t[0],a=e-s;r.length>a?(n.set(r.subarray(0,a),s),t[0]=r.subarray(a),s+=a):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,a){for(t.push(s),r+=s.length;r>e;)a.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new u(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const br="Worker startup timeout";let gr,xr,Er;function Dr(e){e.createWorker?xr=!0:gr=!1}class Fr{constructor(e,{readable:t,writable:n},{options:s,config:a,ie:o,useWebWorkers:i,transferStreams:c,workerURI:l,createWorker:d},w){const{signal:f}=o;return xr&&(d=oe),r.assign(e,{ce:!0,le:(e.le||0)+1,readable:t.pipeThrough(new zr(ye(a))).pipeThrough(new Rr(o),{signal:f}),writable:n,options:r.assign({},s),workerURI:l,createWorker:d,transferStreams:c,terminate:()=>new S(t=>{const{de:r,ce:n}=e;r?(n?e.we=t:(r.terminate(),t()),e.fe=null):t()}),ue(){if(e.ce){const{we:t}=e;t&&(e.we=null,e.pe=!0,e.de.terminate(),t()),e.ce=!1,w(e)}}}),gr===oe&&(gr=typeof U!=ce),(i&&Er&&(gr&&l||d)?Er:Tr)(e,a)}}class Rr extends D{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await kr(e,r)},async transform(e,n){s+=e.length,t&&await kr(t,s,r),n.enqueue(e)},async flush(){n&&await kr(n,s)}})}}async function kr(e,...t){try{await e(...t)}catch{}}function Tr(e,t){return{run:()=>vr(e,t)}}async function vr({options:e,readable:t,writable:r,ue:n},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(mr),r=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.he&&!lr(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.he||(e.useCompressionStream=!0)}}a=new Sr(e,s),await t.pipeThrough(a).pipeThrough(new zr(ye(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:o,outputSize:i}=a;return{crc32:n,inputSize:o,outputSize:i}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{n()}}const Ur={type:"module"},Cr="error";let Wr,Ir,Ar,jr=!0;try{jr=typeof A==le&&A(new DOMException("","AbortError")).code!==oe}catch{}var Or;function Mr(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function Br(e){const{de:t}=e;if(t)try{t.terminate()}catch{}e.fe=null}function Nr(e,t,n,s,a=!0){const{createWorker:o}=n;let i,c,l;if(o)i=o();else if(Ir===oe||Wr!==e){const r=typeof e==le;c=r?e(a):e;const o=c.startsWith("data:"),d=c.startsWith("blob:");if(o||d){s===oe&&(s=!1),s&&(l=Ur);try{i=new U(c,l)}catch(a){if(d)try{w.revokeObjectURL(c)}catch{}if(r&&d)return Nr(e,t,n,s,!1);if(s)throw a;return Nr(e,t,n,!0,!1)}}else{s===oe&&(s=!0),s&&(l=Ur);try{c=new w(c,t)}catch{}try{i=new U(c,l)}catch(r){if(s)return Nr(e,t,n,!1,a);throw r}}Wr=e,Ir=c,Ar=l}else i=new U(Ir,Ar);return i.addEventListener("message",e=>{n.me=!0,Zr(n),(async({data:e},t)=>{const{type:n,value:s,messageId:a,result:o,error:i}=e,{reader:c,writer:l,ye:d,Se:w,ue:p,le:h}=t,m=()=>t.le!=h;try{if(i){const{message:e,stack:t,code:n,name:s,outputSize:a,cause:o,codecImportFailed:c}=i,l=new f(e);r.assign(l,{stack:t,code:n,name:s,outputSize:a}),o&&(l.cause=r.assign(new f(o.message),{name:o.name})),c&&(l.codecImportFailed=!0),y(l)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||Lr({type:hr,value:e,done:r,messageId:a},t)}n==hr&&(await l.ready,await l.write(new u(s)),m()||Lr({type:"ack",messageId:a},t)),"close"==n&&y(null,o)}}catch(i){m()||(Br(t),y(i))}function y(e,t){m()||(e?w(e):d(t),l&&l.releaseLock(),e&&e.codecImportFailed||p())}})(e,n)}),i.addEventListener(Cr,e=>Pr(e,n)),i.addEventListener("messageerror",e=>Pr(e,n)),i}function Zr(e){const{ze:t}=e;t&&(I(t),e.ze=null)}function Pr(e,t){e.preventDefault&&e.preventDefault(),Zr(t);const{me:n,Se:s,writer:a,ue:o}=t;Br(t),n||(t.de=null);let i=e.error||new f(e.message||Cr);n||(i=r.assign(new f(i.message||Cr),{be:!0}),t.ge=i),s&&(s(i),a&&a.releaseLock(),n&&o())}function Lr(e,{de:t,writer:r,transferStreams:n,me:s}){try{const{value:r,readable:a,writable:o}=e,i=[];if(r&&(e.value=Ie(r),i.push(e.value.buffer)),n&&jr&&s?(a&&i.push(a),o&&i.push(o)):e.readable=e.writable=null,i.length)try{return t.postMessage(e,i),!0}catch{jr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}Or=(e,t)=>{const{baseURI:n,chunkSize:a,workerStartupTimeout:o}=t;let{wasmURI:i}=t;if(!e.fe){let c;typeof i==le&&(i=i());try{c=Nr(e.workerURI,n,e)}catch{return Dr(e),Tr(e,t)}r.assign(e,{de:c,me:!1,pe:!1,ge:null,fe:{run:async()=>{try{return await(async(e,t)=>{if(!e.de){const{ge:t}=e;e.ge=null;const r=t||new f(br);throw r.be=!0,r}let n,a;const o=new S((e,t)=>{n=e,a=t});r.assign(e,{reader:null,writer:null,ye:n,Se:a,result:o});const{readable:i,options:c}=e,{writable:l,closed:d,xe:w}=(e=>{const t=new AbortController,{writable:r,readable:n}=new D,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,xe:()=>t.abort()}})(e.writable);let u;try{u=Lr({type:"start",options:c,config:t,readable:i,writable:l},e)}catch(t){w();try{await d}catch{}throw e.ue(),t}u||r.assign(e,{reader:i.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;e.me||!s.isFinite(p)||0>p||(e.ze=W(()=>(e=>{if(e.ze=null,e.me)return;const{Se:t,writer:r}=e;if(Br(e),e.de=null,t){const e=new f(br);e.be=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await o;return await h(),await d,e}catch(e){await h(),w();try{await d}catch{}throw e}async function h(){if(!u&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:i,baseURI:n,workerStartupTimeout:o})}catch(r){if(r&&r.be)return Dr(e),Mr(e),vr(e,t);if(r&&r.codecImportFailed){if(e.reader)return Mr(e),vr(e,t);e.ue()}throw r}}}})}return e.fe},Er=Or;let Yr=[];const Kr=[];let Vr,qr,Hr=0;async function Xr(e,t){const{options:r,config:n}=t,{transferStreams:a,useWebWorkers:o,useCompressionStream:i,compressed:c,checkCrc32:l,computeCrc32:d,encrypted:f,format:u,codecURI:p}=r,{workerURI:h,createWorker:m,maxWorkers:y}=n;u&&(p&&(r.codecURI=((e,t)=>{try{return new w(e,t).toString()}catch{return e}})(p,n.baseURI)),await(async(e,t)=>{!Xt.has(e)&&t&&Qt(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(u,r.codecURI)),t.transferStreams=!u&&(a||a===oe&&n.transferStreams);const z=!(c||l||d||f),b=u===oe||!!r.codecURI;return t.useWebWorkers=!z&&b&&(o||o===oe&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:oe,t.createWorker=t.useWebWorkers&&m?m:oe,r.useCompressionStream=i||i===oe&&n.useCompressionStream,(await(async()=>{const r=Yr.find(e=>!e.ce);if(r)return $r(r),new Fr(r,e,t,g);if(Yr.length<y){const r={Ee:Hr};return Hr++,Yr.push(r),new Fr(r,e,t,g)}return new S(r=>{Kr.push({resolve:r,stream:e,De:t}),qr=n.workerStarvationTimeout,Jr()})})()).run();function g(e){if(Gr(),Kr.length){const[{resolve:t,stream:r,De:n}]=Kr.splice(0,1);t(new Fr(e,r,n,g)),Jr()}else e.de?($r(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.pe?e.pe=!1:e.Fe=W(async()=>{Yr=Yr.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):Yr=Yr.filter(t=>t!=e)}}function Jr(){!Vr&&Kr.length&&s.isFinite(qr)&&qr>=0&&(Vr=W(Qr,qr))}function Gr(){Vr&&(I(Vr),Vr=null)}function Qr(){if(Vr=null,Kr.length){const[{resolve:e,stream:t,De:n}]=Kr.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:oe,createWorker:oe});e(new Fr({},t,s,_r)),Jr()}}function _r(){Gr(),Jr()}function $r(e){const{Fe:t}=e;t&&(I(t),e.Fe=null)}const en="HTTP error ",tn="HTTP Range not supported",rn="HTTP resource changed",nn="Writer iterator completed too soon",sn="Writer not initialized",an="Content-Range",on="Range",cn="GET",ln="bytes",dn=16777216,wn="writable",fn=C();class un{constructor(){this.size=0}init(){this.initialized=!0}}class pn extends un{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=ye(me())}={}){const n=this;let s=0;return new F({async pull(a){const i=t===oe?r:o.min(r,t-s),c=await Vn(n,e+s,i);c.length&&a.enqueue(c),s+r>=t||t===oe&&!c.length&&i?a.close():s+=r}})}}class hn extends un{constructor(){super();const e=this,t=new R({write(t){if(!e.initialized)throw new f(sn);return e.writeUint8Array(Ie(t))}});r.defineProperty(e,wn,{get:()=>t})}writeUint8Array(){}}let mn,yn;class Sn extends pn{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),yn||(yn=(async()=>{try{const e=new y([new u(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();mn=1==t}catch{mn=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?mn?Zt(t.slice(n,n+s).stream()):super.createReadable(e):Zt(t.stream())}async readUint8Array(e,t){const r=this,n=e+t,s=e||n<r.size?r.blob.slice(e,n):r.blob;let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,n)),new u(a)}}class zn extends un{constructor(e){super();const t=this,n=new D;r.defineProperty(t,wn,{get:()=>n.writable}),t.contentType=e,t.blob=Pt(n.readable,e),t.blob.catch(()=>{})}getData(){return this.blob}}class bn extends pn{constructor(e,t){super(),xn(this,e,t)}async init(){await En(this,jn,Cn),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:a}=t;if((r||n)&&a!==oe){const{offset:r=0,size:n=a-r}=e||{};if(n>0&&a>r)return((e,t,r)=>{let n,a=t,i=0,c=r;return new F({start:()=>l(),async pull(e){n||await l();const{value:t,done:r}=await n.read();if(r)throw new f(tn);const s=t.length>i?t.subarray(0,i):t;i-=s.length,c-=s.length,s.length&&e.enqueue(s),i||(await(async()=>{const e=n;n=oe,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function l(){const t=o.min(e.maximumRangeSize,c),r=await jn(cn,e,vn(e,a,t));if(206!=r.status)throw new f(tn);const l=r.headers.get(an);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new f(tn)}Tn(e,r),kn(e,r),a+=t,i=t,n=r.body.getReader()}})(t,r,o.min(n,a-r))}return super.createReadable(e)}readUint8Array(e,t){return Dn(this,e,t,jn,Cn)}}class gn extends pn{constructor(e,t){super(),xn(this,e,t)}async init(){await En(this,On,Wn),super.init()}readUint8Array(e,t){return Dn(this,e,t,On,Wn)}}function xn(e,t,n){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:o,combineSizeEocd:i,checkResourceChanges:c=!0,maximumRangeSize:l=dn,fetch:d}=n;delete(n=r.assign({},n)).preventHeadRequest,delete n.useRangeHeader,delete n.forceRangeRequests,delete n.combineSizeEocd,delete n.checkResourceChanges,delete n.maximumRangeSize,delete n.useXHR,delete n.fetch,r.assign(e,{url:t,options:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:o,combineSizeEocd:i,checkResourceChanges:c,maximumRangeSize:l,fetch:d})}async function En(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:o,combineSizeEocd:i}=e;if((e=>{const{baseURI:t}=me(),{protocol:r}=new w(e,t);return"http:"==r||"https:"==r})(n)&&(a||o)&&(typeof s==ce||s)){const n=await t(cn,e,vn(e,i?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(o||s&&s.toLowerCase()==ln))throw new f(tn);{if(i){const t=new u(await n.arrayBuffer());206==n.status&&t.length==H&&(e.Re=t)}kn(e,n);const s=Fn(n);s===oe?await An(e,t,r):e.size=s}}else await An(e,t,r)}async function Dn(e,t,r,n,a){const{useRangeHeader:o,forceRangeRequests:i,Re:c,size:l,options:d}=e;if(o||i){if(c&&t==l-H&&r==H)return c;if(l>t&&0!==r){t+r>l&&(r=l-t);const a=await n(cn,e,vn(e,t,r));if(206!=a.status)throw new f(tn);const o=a.headers.get(an);if(o){const e=s(o.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new f(tn)}Tn(e,a),kn(e,a);const i=new u(await a.arrayBuffer());if(i.length!=r)throw new f(tn);return i}return we}{const{data:n}=e;return n||await a(e,d),e.data.subarray(t,t+r)}}function Fn(e){const t=e.headers.get(an);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function Rn({headers:e}){return{ke:e.get("Etag")||oe,lastModified:e.get("Last-Modified")||oe}}function kn(e,t){const{checkResourceChanges:r,Te:n}=e;r&&!n&&206==t.status&&(e.Te=Rn(t))}function Tn(e,t){const{checkResourceChanges:n,Te:s,size:a}=e;if(n){const e=Fn(t);if(e!==oe&&a!==oe&&e!=a)throw new f(rn);if(s){const e=Rn(t);if(r.entries(s).some(([t,r])=>r!==oe&&e[t]!==oe&&r!=e[t]))throw new f(rn)}}}function vn(e,t=0,n=1){return r.assign({},Un(e),{[on]:ln+"="+(0>t?t:t+"-"+(t+n-1))})}function Un({options:e}){const{headers:t}=e;if(t)return C.iterator in t?r.fromEntries(t):t}async function Cn(e){await In(e,jn)}async function Wn(e){await In(e,On)}async function In(e,t){const r=await t(cn,e,Un(e));e.data=new u(await r.arrayBuffer()),e.size=e.data.length}async function An(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Un(e)),a=n.headers.get("Content-Length");a&&!n.headers.get("Content-Encoding")?e.size=s(a):await r(e,e.options)}}async function jn(e,{fetch:t=fetch,options:n,url:s},a){const o=await t(s,r.assign({},n,{method:e,headers:a}));if(400>o.status)return o;throw 416==o.status?new f(tn):new f(en+(o.statusText||o.status))}function On(e,{url:t},n){return new S((s,a)=>{const o=new XMLHttpRequest;if(o.addEventListener("load",()=>{if(400>o.status){const e=[];o.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const r=t.trim().split(/\s*:\s*/);r[0]=r[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(r)}),s({status:o.status,arrayBuffer:()=>o.response,headers:new c(e)})}else a(416==o.status?new f(tn):new f(en+(o.statusText||o.status)))},!1),o.addEventListener("error",e=>a(e.detail?e.detail.error:new f("Network error")),!1),o.open(e,t),n)for(const e of r.entries(n))o.setRequestHeader(e[0],e[1]);o.responseType="arraybuffer",o.send()})}class Mn extends pn{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new gn(e,t):new bn(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class Bn extends pn{constructor(e){super(),this.ve=e}async init(){const e=this;e.Ue=0;const t=e.ve=await S.all(e.ve.map(Kn));e.Ce=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}We(e){const{Ce:t,size:r}=this,n=t[e];return n===oe?r:n}async readUint8Array(e,t){const r=this,{ve:n}=this;let s,a=0,i=e;for(;n[a]&&i>=n[a].size;)i-=n[a].size,a++;const c=n[a];if(c){const n=c.size;if(i+t>n){const a=n-i;s=We(await Vn(c,i,a),await r.readUint8Array(e+a,t-a))}else s=await Vn(c,i,t)}else s=we;return r.Ue=o.max(a,r.Ue),s}}class Nn extends un{constructor(e,t=4294967295){super();const n=this;let s,a,o;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const i=new R({async write(t){if(t===fn)return void(o&&await l());const{availableSize:r}=n;if(o)t.length<r?await c(t):(await c(t.subarray(0,r)),await l(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:i}=await e.next();if(i&&!r)throw new f(nn);s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await Yn(s),a=r.writable,o=a.getWriter(),await this.write(t)}},async close(){o&&(await o.ready,await d())},async abort(e){o&&await o.abort(e)}});async function c(e){const t=e.length;t&&(await o.ready,await o.write(e),s.size+=t,n.availableSize-=t)}async function l(){await d(),n.diskOffset+=s.size,n.diskNumber++,o=null,n.availableSize=n.maxSize}async function d(){await o.close()}r.defineProperty(n,wn,{get:()=>i})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(fn)}finally{e.releaseLock()}}}class Zn{constructor(e){return t.isArray(e)&&(e=new Bn(e)),(e instanceof F||typeof e.getReader==le)&&(e={readable:Zt(e)}),e}}class Pn{constructor(e){return e.writable===oe&&typeof e.next==le&&(e=new Nn(e)),(e instanceof R||typeof e.getWriter==le)&&(e={writable:Lt(e)}),e.size===oe&&(e.size=0),e}}function Ln(e){return!(!e||!e.getData)}async function Yn(e,t){if(!e.init||e.initialized)return S.resolve();await e.init(t)}async function Kn(e){return e=new Zn(e),await Yn(e),e.size!==oe&&e.readUint8Array||(e=new Sn(await Pt(e.readable)),await Yn(e)),e}function Vn(e,t,r){return e.readUint8Array(t,r)}const qn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Hn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=qn[e[r]];return t}})(e):new b(t,{ignoreBOM:!0}).decode(e)}const Xn="filename",Jn="rawFilename",Gn="comment",Qn="rawComment",_n="uncompressedSize",$n="compressedSize",es="offset",ts="diskNumberStart",rs="lastModDate",ns="rawLastModDate",ss="lastAccessDate",as="rawLastAccessDate",os="creationDate",is="rawCreationDate",cs="internalFileAttributes",ls="externalFileAttributes",ds="internalFileAttribute",ws="externalFileAttribute",fs="msdosAttributesRaw",us="msdosAttributes",ps="msDosCompatible",hs="zip64",ms="encrypted",ys="version",Ss="versionMadeBy",zs="zipCrypto",bs="directory",gs="executable",xs="compressionMethod",Es="signature",Ds="extraField",Fs="unixMode",Rs="setuid",ks="setgid",Ts="sticky",vs=[Xn,Jn,_n,$n,rs,ns,Gn,Qn,ss,as,os,is,es,ts,cs,ls,ds,ws,fs,us,ps,hs,ms,ys,Ss,zs,bs,gs,"symlink",xs,Es,"crc32",Ds,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",Fs,"unixExternalUpper",Rs,ks,Ts,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Us{constructor(e){vs.forEach(t=>this[t]=e[t])}}const Cs="password",Ws="rawPassword",Is="passThrough",As="signal",js="useWebWorkers",Os="useCompressionStream",Ms="transferStreams",Bs="preventClose",Ns="offset",Zs="usdz",Ps="filename",Ls="comment",Ys="strict",Ks="balanced",Vs="tolerant",qs="File format is not recognized",Hs="End of central directory not found",Xs="End of Zip64 central directory locator not found",Js="Central directory header not found",Gs="Local file header not found",Qs="Zip64 extra field not found",_s="File contains encrypted entry",$s="Encryption method not supported",ea="Compression method not supported",ta="Split zip file",ra="Overlapping entry found",na="Ambiguous archive",sa="Encrypted central directory is not supported",aa="Unsafe filename",oa="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",ia="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",ca="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",la=/^[a-zA-Z]:/,da="utf-8",wa="cp437",fa=[[_n,O],[$n,O],[es,O],[ts,M]],ua={[M]:{Ie:Za,bytes:4},[O]:{Ie:Pa,bytes:8}};class pa{constructor(e,t={}){r.assign(this,{reader:new Zn(e),options:t,config:me(),Ae:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:a}=t;if(await Yn(n),n.size!==oe&&n.readUint8Array||(n=new Sn(await Pt(n.readable)),await Yn(n)),n.size<H)throw new f(qs);const i=ka(e,t.options),c=i==Ys,d=i!=Vs,w=((e,t)=>{if(e!==oe){const t=typeof(r=e)==de&&r.trim()?s(r):r;if("number"!=typeof t||s.isNaN(t)||0>t)throw new f(ca);return t}var r;return t==Ys?0:t==Vs?1/0:M})(ja(t,e,"maxAppendedDataSize"),i),u=((e,t)=>{if(e===oe)return t;if(!Ra(e))throw new f(ia);return e})(ja(t,e,"filenameValidation"),i),p=ja(t,e,"normalizeFilename"),{je:h,Oe:m}=await(async(e,t,r)=>{const{size:n}=e,s=o.min(n,65557),a={count:64};let i,c,l=0;for await(const[r,o,d,w,f]of Ua(e,s)){const s=Na(r,w+20);if(f+H+s==n){const s=await Wa(e,r,o,w,f,n,a);if(2==s){if(i||(i=Ca(d,w,f)),l++,!t||l>1)break}else 1!=s||c||(c=Ca(d,w,f))}}return i||(i=c),i||(i=await(async(e,t,r)=>{const{size:n}=e,s=o.min(n,t==1/0?n:65557+t);let a,i;for await(const[t,o,c,l,d]of Ua(e,s)){const s=Ca(c,l,d);a||(a=s);const w=await Wa(e,t,o,l,d,n,r);if(2==w)return s;1!=w||i||(i=s)}return i||a})(e,r,a)),{je:i,Oe:l}})(n,d,w);if(!h)throw Za(Ae(await Vn(n,0,4)))==Z?new f(ta):new f(Hs);d&&m>1&&Aa("multiple end of central directory records");const y=Ae(h);let S=Za(y,12),z=Za(y,16);const b=h.offset,g=Na(y,20),x=b+H+g;n.size-x>w&&Aa("appended data");let E=Na(y,4);const F=n.Ue||0;let R,k,T,v,U=Na(y,6),C=Na(y,10),W=0;const I=z==O||S==O||C==M||U==M;if(z!=O&&U!=M&&(z+=Fa(n,U)),I){const e=h.offset<X?we:await Vn(n,h.offset-X,X),t=Ae(e);if(e.length==X&&Za(t,0)==q){z=Fa(n,Za(t,4))+Pa(t,8);let e=await Vn(n,z,J),a=Ae(e);const i=h.offset-X-J;if((e.length<J||Za(a,0)!=V)&&z!=i&&i>=0){const t=z;z=i,z>t&&(W=z-t),e=await Vn(n,z,J),a=Ae(e)}if(e.length<J||Za(a,0)!=V)throw new f(Xs);if(k=!0,T=Pa(a,4)>44,T){const e=o.min(s(Pa(a,4))-44,n.size-z-J);e>0&&(v=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const n=Ae(e),a=Na(n,26);r.assign(t,{compressionMethod:Na(n,0),compressedSize:s(Pa(n,2)),uncompressedSize:s(Pa(n,10)),encryptionAlgorithm:Na(n,18),bitLength:Na(n,20),flags:Na(n,22),hashAlgorithm:Na(n,24),hashData:e.subarray(28,28+a)})}return t})(await Vn(n,z+J,e)))}E==M?E=Za(a,16):c&&E!=Za(a,16)&&Aa("mismatched zip64 end of central directory record"),U==M?U=Za(a,20):c&&U!=Za(a,20)&&Aa("mismatched zip64 end of central directory record"),C==M?C=Pa(a,32):c&&C!=Pa(a,32)&&Aa("mismatched zip64 end of central directory record"),S==O?S=Pa(a,40):c&&S!=Pa(a,40)&&Aa("mismatched zip64 end of central directory record"),z=Fa(n,U)+Pa(a,48)+W}}let A=S;const j=h.offset-(k?76:0);if(z<n.size||(W=n.size-z-S-H,z=n.size-S-H),F!=E)throw new f(ta);if(0>z)throw new f(qs);let N=0,P=await Vn(n,z,S),K=Ae(P);if(S){if(4>P.length)throw new f(qs);const e=j-S;if(z!=e&&U==E){let t=!(Za(K,N)==Y);if(t||0>e||e+4>n.size||(t=Za(Ae(await Vn(n,e,4)),0)==Y),t){const t=z;z=e,z>t&&(W+=z-t),P=await Vn(n,z,S),K=Ae(P)}}}const G=j-z;if(S==G||0>G||U!=E||(S=G,P=await Vn(n,z,S),K=Ae(P)),0>z||z>=n.size)throw new f(qs);t.directoryOffset=z,t.directoryLength=A;const Q=ja(t,e,"decryptCentralDirectory");let ne;Q&&C&&P.length>=4&&Za(K,0)!=Y&&(T||ya(K))&&(P=await Q(P,v),K=Ae(P),A=P.length,ne=!0),R=z;const se=ja(t,e,"filenameEncoding"),ae=ja(t,e,"commentEncoding"),ie=c?new l:oe;let ce;for(let s=0;C>s;s++){const i=new ma(n,a,t.options);if(N+46>P.length||Za(K,N)!=Y){if(0==s&&!ne&&(T||ya(K)))throw new f(sa);throw new f(Js)}Sa(i,K,N+6);const l=!!i.bitFlag.languageEncodingFlag,d=N+46,w=d+i.filenameLength,h=w+i.extraFieldLength,m=Na(K,N+4),y=!(m>>8),S=m>>8==3,z=P.subarray(d,w),b=Na(K,N+32),g=h+b,x=P.subarray(h,g),E=l,F=l,k=Za(K,N+38),v=k&B,U={readOnly:!!(1&v),hidden:!!(2&v),system:!!(4&v),directory:!!(16&v),archive:!!(32&v)},I=Za(K,N+42),A=ja(t,e,"decodeText")||Hn,j=E?da:se||wa,O=F?da:ae||wa;let Z=A(z,j,Ps);if(Z===oe&&(Z=Hn(z,j)),p){const e=p(Z);e!==oe&&(Z=e)}if(va(Z,u)){const e=new f(aa);throw e.filename=Z,e}let L=A(x,O,Ls);L===oe&&(L=Hn(x,O)),r.assign(i,{index:s,versionMadeBy:m,msDosCompatible:y,zip64:!1,compressedSize:0,uncompressedSize:0,Me:b,offset:I,diskNumberStart:Na(K,N+34),internalFileAttributes:Na(K,N+36),externalFileAttributes:k,msdosAttributesRaw:v,msdosAttributes:U,rawFilename:z,filenameUTF8:E,commentUTF8:F,rawExtraField:P.subarray(w,h),rawComment:x,filename:Z,comment:L}),za(i,i,K,N+6),i.offset+=W,R=o.min(Fa(n,i.diskNumberStart)+i.offset,R),c&&(ie.has(i.filename)&&(ce=!0),ie.add(i.filename));const V=i.externalFileAttributes>>16&M;i.unixMode===oe&&16877&V&&(i.unixMode=V);const q=!!(i.unixMode&ee),H=!!(i.unixMode&te),X=!!(512&i.unixMode),J=40960==((i.unixMode===oe?V:i.unixMode)&_),G=!J&&(i.unixMode!==oe?!!(73&i.unixMode):S&&!!(73&V)),Q=i.unixMode!==oe&&(i.unixMode&_)==$,le=(V&_)==$;r.assign(i,{setuid:q,setgid:H,sticky:X,symlink:J,unixExternalUpper:V,internalFileAttribute:i.internalFileAttributes,externalFileAttribute:i.externalFileAttributes,executable:G,directory:Q||le||y&&U.directory||i.filename.endsWith(re)&&!i.uncompressedSize,zipCrypto:i.encrypted&&!i.extraFieldAES});const de=new Us(i);de.getData=(e,r)=>i.getData(e,de,t.Ae,r),de.arrayBuffer=async e=>{const r=new D,n=Pt(r.readable).then(e=>e.arrayBuffer());return n.catch(()=>{}),await i.getData(r,de,t.Ae,e),n},N=g;const{onprogress:we}=e;if(we)try{await we(s+1,C,new Us(i))}catch{}yield de}let le=N;if(N+6<=P.length&&Za(K,N)==L){const e=Na(K,N+4);N+6+e>P.length||(t.digitalSignature=P.subarray(N+6,N+6+e),le=N+6+e)}c&&N!=A&&le!=A&&Aa("trailing central directory data"),ce&&Aa("duplicate filename"),c&&(W||C&&R>0)&&Aa("prepended data");const fe=ja(t,e,"extractPrependedData"),ue=ja(t,e,"extractAppendedData");return fe&&(t.prependedData=R>0?await Vn(n,0,R):we),t.comment=g?await Vn(n,b+H,g):we,ue&&(t.appendedData=x<n.size?await Vn(n,x,n.size-x):we),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}}class ha{constructor(e={}){const{readable:t,writable:r}=new D,n=new pa(t,e).getEntriesGenerator();this.readable=new F({async pull(e){const{done:t,value:r}=await n.next();if(t)return e.close();const s={...r,readable:(()=>{const{readable:e,writable:t}=new D;if(r.getData)return(async()=>{try{await r.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=r}}class ma{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const s=this,{reader:a,index:o,offset:i,diskNumberStart:c,extraFieldAES:l,extraFieldZip64:d,compressionMethod:w,config:u,bitFlag:p,rawBitFlag:h,crc32:m,rawLastModDate:y,uncompressedSize:S,compressedSize:z}=s,{dataDescriptor:b}=p,g=t.localDirectory={},x=Fa(a,c)+i,E=await Vn(a,x,ne),D=Ae(E);let F=ja(s,n,Cs),k=ja(s,n,Ws);const T=ja(s,n,Is);if(F=F&&F.length&&F,k=k&&k.length&&k,l&&99!=l.originalCompressionMethod)throw new f(ea);if(E.length<ne||Za(D,0)!=N)throw new f(Gs);Sa(g,D,4);const{extraFieldLength:v,filenameLength:U}=g,C=ja(s,n,"checkLocalDirectory"),W=ka(n,s.options),I=((e,t)=>e===oe?t!=Vs:!!e)(C,W),A=((e,t)=>e===oe?t==Ys:!!e)(C,W);let j=we;if(A&&(U||v)){const e=await Vn(a,x+ne,U+v);j=e.subarray(0,U),g.rawExtraField=e.subarray(U)}else g.rawExtraField=v?await Vn(a,x+ne+U,v):we;A&&(g.rawFilename=j),za(s,g,D,4,!0),I&&((e,t,r,n)=>{const{rawFilename:s}=e;n&&(r.length!=s.length||r.some((e,t)=>e!=s[t]))&&Aa("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Aa("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Aa("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Aa("mismatched local file header (crc32 or sizes)")})(s,g,j,A);const{lastAccessDate:O,creationDate:M,uid:Z,gid:L}=g;O&&(t.lastAccessDate=O),M&&(t.creationDate=M),Z!==oe&&t.uid===oe&&(t.uid=Z),L!==oe&&t.gid===oe&&(t.gid=L);const Y=s.encrypted&&g.encrypted&&!T,K=Y&&!l;if(T||(t.zipCrypto=K),Y&&!(64&~g.rawBitFlag))throw new f($s);const V=T?oe:Jt(w);if(0!=w&&8!=w&&9!=w&&!V&&!T)throw new f(ea);if(Y){if(!K&&(1>l.strength||l.strength>3))throw new f($s);if(!F&&!k)throw new f(_s)}const q=x+ne+U+v,H=z,X=Zt(a.createReadable({offset:q,size:H})),J=ja(s,n,As),G=ja(s,n,"checkPasswordOnly");let Q=ja(s,n,"checkOverlappingEntry");const _=ja(s,n,"checkOverlappingEntryOnly");_&&(Q=!0);const{onstart:$,onprogress:ee,onend:te}=n,re=9==w;let se=ja(s,n,Os);re&&(se=!1);const ae=ja(s,n,"checkCrc32"),ie=(ae===oe?ja(s,n,"checkSignature"):ae)&&!T&&(!Y||K||l&&1==l.vendorVersion),ce={options:{codecType:yr,password:F,rawPassword:k,zipCrypto:K,encryptionStrength:l&&l.strength,checkCrc32:ie,checkAuthenticationCode:ja(s,n,"checkAuthenticationCode"),passwordVerification:K&&(b?y>>>8&B:m>>>24&B),outputSize:T?z:S,crc32:m,compressed:0!=w&&!T,encrypted:Y,useWebWorkers:ja(s,n,js),useCompressionStream:se,transferStreams:ja(s,n,Ms),deflate64:re,format:V?V.format:oe,codecURI:V?V.codecURI:oe,compressionMethod:w,rawBitFlag:h,checkPasswordOnly:G},config:u,ie:{signal:J,size:H,onstart:$,onprogress:ee,onend:te}};let le,de;Q&&await(async({reader:e,Be:t,index:r,offset:n,crc32:s,compressedSize:a,uncompressedSize:o,Ne:i,dataDescriptor:c,extraFieldZip64:l,Ae:d})=>{let w=0;if(c&&(w=l?20:12),w){const r=await Vn(e,i+a,w+4),n=Ae(r);let c=r.length==w+4&&Za(n,0)==P;if(c){const e=Da(n,4,l);(t.encrypted&&!t.zipCrypto||e.crc32==s)&&e.compressedSize==a&&e.uncompressedSize==o?w+=4:c=!1}if(r.length>=w){const e=Da(n,c?4:0,l);e.signature=c,t.localDirectory.dataDescriptor=e}}const u={start:n,end:i+a+w,Be:t};for(const[e,t]of d)if(e!=r&&u.start<t.end&&t.start<u.end){const e=new f(ra);throw e.Ze=t.Be,e}d.set(r,u)})({reader:a,Be:t,index:o,offset:x,crc32:m,compressedSize:z,uncompressedSize:S,Ne:q,dataDescriptor:b||g.bitFlag.dataDescriptor,extraFieldZip64:d||g.extraFieldZip64,Ae:r});try{if(!_){G&&(e=new R),e=new Pn(e),await Yn(e,T?z:S),({writable:le}=e);const{outputSize:t}=await Xr({readable:X,writable:le},ce);if(e.size+=t,t!=(T?z:S))throw new f(_t)}}catch(t){if(t.outputSize!==oe&&(e.size+=t.outputSize),!G||t.message!=tt)throw de=t,t}finally{if((Ln(e)||!ja(s,n,Bs))&&le&&!le.locked){const e=le.getWriter();if(de)try{await e.abort(de)}catch{}else await e.close()}}return G||_?oe:e.getData?e.getData():le}}function ya(e){const t=o.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==Za(e,r))return!0;return!1}function Sa(e,t,n){const s=e.rawBitFlag=Na(t,n+2),a=!(1&~s),o=Za(t,n+6);r.assign(e,{encrypted:a,version:Na(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&Q)==Q},rawLastModDate:o,lastModDate:Oa(o),filenameLength:Na(t,n+22),extraFieldLength:Na(t,n+24)})}function za(e,t,n,s,a){const{rawExtraField:o}=t,l=t.extraField=new c,d=Ae(o);let w=0;try{for(;w<o.length;){const e=Na(d,w),t=Na(d,w+2);l.set(e,{type:e,data:o.slice(w+4,w+4+t)}),w+=4+t}}catch{}const u=Na(n,s+4);r.assign(t,{signature:Za(n,s+10),crc32:Za(n,s+10),compressedSize:Za(n,s+14),uncompressedSize:Za(n,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const r=Ae(e.data),n=fa.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+ua[t].bytes,0);if(e.data.length<s)throw new f(Qs);for(let s=0,a=0;s<n.length;s++){const[o,i]=n[s],c=ua[i];t[o]=e[o]=c.Ie(r,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(ba(h,Xn,Jn,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(ba(m,Gn,Qn,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,n)=>{const s=Ae(e.data),a=Ba(s,4);r.assign(e,{vendorVersion:Ba(s,0),vendorId:Ba(s,2),strength:a,originalCompressionMethod:n,compressionMethod:Na(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=oe)})(y,t,u),t.extraFieldAES=y):t.compressionMethod=u;const S=l.get(13);S&&(ga(S,t),t.extraFieldPkwareUnix=S);const z=l.get(22613);z&&(ga(z,t),t.extraFieldUnixType1=z);const b=l.get(10);b&&(((e,t)=>{const n=Ae(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=Na(n,a),r=Na(n,a+2);1==t&&(s=e.data.slice(a+4,a+4+r)),a+=4+r}}catch{}if(s&&24==s.length){const n=Ae(s),a=n.getBigUint64(0,!0),o=n.getBigUint64(8,!0),i=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:a,rawLastAccessDate:o,rawCreationDate:i});const c={lastModDate:Ma(a),lastAccessDate:Ma(o),creationDate:Ma(i)};r.assign(e,c),r.assign(t,c,{rawLastAccessDate:o,rawCreationDate:i})}})(b,t),t.extraFieldNTFS=b);const g=l.get(30805);let x;if(g&&(x=xa(g,t,!1),t.extraFieldUnix=g),!x){const e=l.get(30837);e&&(xa(e,t,!0),t.extraFieldInfoZip=e)}const E=l.get(G);E&&(((e,t,r)=>{if(!e.data.length)return;const n=Ae(e.data),s=Ba(n,0),a=[],o=[];r?(1&~s||(a.push(rs),o.push(ns)),2&~s||(a.push(ss),o.push(as)),4&~s||(a.push(os),o.push(is))):5>e.data.length||(a.push(rs),o.push(ns));let c=1;a.forEach((r,s)=>{if(e.data.length>=c+4){const a=Za(n,c);t[r]=e[r]=new i(1e3*(0|a));const l=o[s];e[l]=a}c+=4})})(E,t,a),t.extraFieldExtendedTimestamp=E);const D=l.get(6534);D&&(t.extraFieldUSDZ=D)}function ba(e,t,n,s,a){if(5>e.data.length)return void(e.valid=!1);const o=Ae(e.data),i=new Ke;i.append(a[n]);const c=Ae(new u(4));c.setUint32(0,i.get(),!0);const l=Za(o,1);r.assign(e,{version:Ba(o,0),[t]:Hn(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==Za(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function ga(e,t){if(8>e.data.length)return;const n=Ae(e.data),s={lastAccessDate:new i(1e3*(0|Za(n,0))),lastModDate:new i(1e3*(0|Za(n,4)))};12>e.data.length||(s.uid=Na(n,8),s.gid=Na(n,10)),r.assign(e,s),r.assign(t,s)}function xa(e,t,n){try{const s=Ae(e.data);let a,o;if(n){let t=0;const n=Ba(s,t++),i=Ba(s,t++);a=Ea(e.data.subarray(t,t+i)),t+=i;const c=Ba(s,t++);o=Ea(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:a,gid:o})}else 4>e.data.length||(a=Na(s,0),o=Na(s,2),r.assign(e,{uid:a,gid:o}));return a!==oe&&(t.uid=a),o!==oe&&(t.gid=o),a!==oe||o!==oe}catch{}}function Ea(e){const t=new u(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Da(e,t,r){const n=Za(e,t);let s,a;return r?(s=Pa(e,t+4),a=Pa(e,t+12)):(s=Za(e,t+4),a=Za(e,t+8)),{crc32:n,compressedSize:s,uncompressedSize:a}}function Fa(e,t){return e.We?e.We(t):0}function Ra(e){return e===Ys||e===Ks||e===Vs}function ka(e,t){return Ta(e,Ta(t,Ks))}function Ta(e,t){const r=e.strictness;if(r!==oe){if(!Ra(r))throw new f(oa);return r}const n=e.checkAmbiguity;return n===oe?t:n?Ys:t==Vs?Vs:Ks}function va(e,t){if(t==Vs)return!1;const r=e.split("/");return r.length>1&&""===r[r.length-1]&&r.pop(),!!(r.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||la.test(e))||t==Ys&&(r.includes(".")||r.includes(""))}async function*Ua(e,t){const r=e.size-t,n=await Vn(e,r,t),s=Ae(n);for(let e=n.length-H;e>=0;e--)Za(s,e)==K&&(yield[s,r,n,e,r+e])}function Ca(e,t,r){return{offset:r,buffer:e.slice(t,t+H).buffer}}async function Wa(e,t,r,n,s,a,o){const i=Na(t,n+10),c=Za(t,n+12),l=Za(t,n+16);if(i==M||c==O||l==O)return await Ia(e,t,r,s-X,a,o)==q?2:0;if(!i&&!c)return 1;const d=Na(t,n+6);for(const n of[s-c,Fa(e,d)+l])if(await Ia(e,t,r,n,a,o)==Y)return 2;return 0}async function Ia(e,t,r,n,s,a){return 0>n||n+4>s?oe:r>n?a.count>0?(a.count--,Za(Ae(await Vn(e,n,4)),0)):oe:Za(t,n-r)}function Aa(e){const t=new f(na);throw t.reason=e,t}function ja(e,t,r){return t[r]===oe?e.options[r]:t[r]}function Oa(e){const t=(4294901760&e)>>16,r=e&M;return new i(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}function Ma(e){return new i(s(e/a(1e4)-a(116444736e5)))}function Ba(e,t){return e.getUint8(t)}function Na(e,t){return e.getUint16(t,!0)}function Za(e,t){return e.getUint32(t,!0)}function Pa(e,t){return s(e.getBigUint64(t,!0))}var La=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:na,ERR_BAD_FORMAT:qs,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Js,ERR_ENCRYPTED:_s,ERR_ENCRYPTED_CENTRAL_DIRECTORY:sa,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:Xs,ERR_EOCDR_NOT_FOUND:Hs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:Qs,ERR_INVALID_AUTHENTICATION_CODE:et,ERR_INVALID_COMPRESSED_DATA:$t,ERR_INVALID_CRC32:er,ERR_INVALID_FILENAME_VALIDATION:ia,ERR_INVALID_MAX_APPENDED_DATA_SIZE:ca,ERR_INVALID_PASSWORD:_e,ERR_INVALID_SIGNATURE:$e,ERR_INVALID_STRICTNESS:oa,ERR_INVALID_UNCOMPRESSED_SIZE:_t,ERR_LOCAL_FILE_HEADER_NOT_FOUND:Gs,ERR_OVERLAPPING_ENTRY:ra,ERR_SPLIT_ZIP_FILE:ta,ERR_UNSAFE_FILENAME:aa,ERR_UNSUPPORTED_COMPRESSION:ea,ERR_UNSUPPORTED_ENCRYPTION:$s,ERR_WORKER_STARTUP_TIMEOUT:br,ZipReader:pa,ZipReaderStream:ha});const Ya="File already exists",Ka="Zip file comment exceeds 64KB",Va="Invalid zip file comment (must be a Uint8Array)",qa="File entry comment exceeds 64KB",Ha="File entry name exceeds 64KB",Xa="Version exceeds 65535",Ja="The strength must equal 1, 2, or 3",Ga="Encryption is not supported in USDZ files",Qa="Encryption is not supported when the 'passThrough' option is set",_a="Extra field type exceeds 65535",$a="Extra field data exceeds 64KB",eo=-2147483648,to=2147483647,ro=a(0),no=a("0x7fffffffffffffff"),so="Zip64 is not supported (set the 'zip64' option to 'true')",ao="Undefined uncompressed size",oo="Undefined reader",io="Zip file not empty",co="Invalid uid (must be integer 0..2^32-1)",lo="Invalid gid (must be integer 0..2^32-1)",wo="Invalid UNIX mode (must be integer 0..65535)",fo="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",uo="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",po="Invalid msdosAttributesRaw (must be integer 0..255)",ho="Invalid msdosAttributes (must be an object with boolean flags)",mo="Invalid level (must be integer 0..9)",yo="Invalid password (password must be a string, rawPassword must be a Uint8Array)",So="Signature data exceeds 64KB",zo=new u([7,0,2,0,65,69,3,0,0]),bo="infozip",go="unix";let xo=0;const Eo=[];class Do{constructor(e,t={}){e=new Pn(e);const{availableSize:n=ie,maxSize:s=ie}=e,a=n>0&&n!==ie&&s>0&&s!==ie;r.assign(this,{writer:e,Pe:a,options:t,config:me(),files:new c,Le:new l,offset:t[Ns]===oe?e.size||e.writable.size||0:t[Ns],Ye:t[Ns]===oe?0:t[Ns]-(e.size||e.writable.size||0),Ke:new l,Ve:0,qe:oe})}async prependZip(e){if(this.Le.size)throw new f(io);e=new Zn(e),await Yn(e),e.size!==oe&&e.readUint8Array||(e=new Sn(await Pt(e.readable)),await Yn(e));const{ZipReader:t}=await S.resolve().then(()=>La),n=new t(e.readable),s=await n.getEntries();await n.close(),await Yn(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Le=new l(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:a,rawFilename:o,bitFlag:i,encrypted:c,uncompressedSize:l,compressedSize:d,zip64:w}=e;let{compressionMethod:f,He:u,Xe:p,Je:h,Ge:m,Qe:y,rawExtraField:S}=e;const{level:z,languageEncodingFlag:b,dataDescriptor:g}=i;u=u||we,p=p||we,h=h||we,m=m||we,y=y||we,S=S||we,e.extraFieldAES&&(f=99);const x=Jo(u,p,h,m,y,S),E=w&&l>=O,D=w&&d>=O,F=-7&Qo(z,b,g,c,f)|z<<1,{_e:R,$e:k}=Go({version:t,bitFlag:F,compressionMethod:f,uncompressedSize:l,compressedSize:d,rawLastModDate:n,rawFilename:o,et:D,nt:E,extraFieldLength:x}),{crc32:T}=e;return T!==oe&&qo(k,10,T),r.assign(e,{nt:E,et:D,st:w&&e.offset>=O,diskNumberStart:0,ot:!1,He:u,Xe:p,Je:h,Ge:m,Qe:y,rawExtraField:S,extendedTimestamp:h.length>0||m.length>0,it:1+(s?2:0)+(a?4:0),_e:R,$e:k}),[e.filename,e]}))}async add(e="",t,n={}){const c=this;n=r.assign({},n);const{Ke:l,config:d}=c;let w,p;xo<d.maxWorkers?xo++:await new S(e=>Eo.push(e));try{if(e=e.trim(),No(c,n,bs)&&!e.endsWith(re)&&(e+=re),c.Le.has(e))throw new f(Ya);return c.Le.add(e),p=!0,w=(async(e,t,n,c)=>{const l=((e,t,r)=>{t=t.trim();let n=No(e,r,ps),a=No(e,r,Ss,n?20:768);const o=No(e,r,gs),i=Lo(e,r,"uid"),c=Lo(e,r,"gid");let l=Lo(e,r,Fs),d=No(e,r,"unixExtraFieldType"),w=No(e,r,Rs),u=No(e,r,ks),p=No(e,r,Ts);if(i!==oe&&(!s.isInteger(i)||0>i||i>O))throw new f(co);if(c!==oe&&(!s.isInteger(c)||0>c||c>O))throw new f(lo);if(l!==oe&&(!s.isInteger(l)||0>l||l>M))throw new f(wo);if(d!==oe&&d!==bo&&d!==go)throw new f(fo);if(d===go&&(i!==oe&&i>M||c!==oe&&c>M))throw new f(uo);d!==oe||i===oe&&c===oe||(d=bo);let h=No(e,r,fs),m=No(e,r,us);const y=h!==oe||m!==oe;if(i!==oe||c!==oe||l!==oe||d?(n=!1,a=a&B|768):y&&(n=!0,a&=B),h!==oe&&(0>h||h>B))throw new f(po);if(m&&"object"!=typeof m)throw new f(ho);if(a>M)throw new f(Xa);let S=Zo(e,r,ls,ws);const z=S!==oe;z||(S=0),!r[bs]&&t.endsWith(re)&&(r[bs]=!0);const b=No(e,r,bs);if(b?(t.endsWith(re)||(t+=re),z||(S=16,n||(S|=16877<<16))):n||z||(S=o?493<<16:27525120),!n){const e=l!==oe||!!(w||u||p);l=l===oe?S>>16&M:l&M,w?l|=ee:w=!!(l&ee),u?l|=te:u=!!(l&te),p?l|=512:p=!!(512&l),z&&!e||(b?l=-61441&l|$:l&_||(l|=32768),S=(l&M)<<16|S&M)}return({msdosAttributesRaw:h,msdosAttributes:m}=((e,t)=>{if(e!==oe)e&=B;else if(t!==oe){const{readOnly:r,hidden:n,system:s,directory:a,archive:o}=t;let i=0;r&&(i|=1),n&&(i|=2),s&&(i|=4),a&&(i|=16),o&&(i|=32),e=i&B}return t===oe&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(h,m)),y&&(S=S&O|h&B),{name:t,ct:{versionMadeBy:a,msDosCompatible:!!n,externalFileAttributes:S,unixExternalUpper:S>>16&M,uid:i,gid:c,unixMode:l,unixExtraFieldType:d,symlink:l!==oe&&40960==(l&_),setuid:w,setgid:u,sticky:p,msdosAttributesRaw:h,msdosAttributes:m}}})(e,t,c);({name:t}=l);const d=((e,t,r)=>{const n=No(e,r,"encodeText",qe);let a=n(t,Ps);if(a===oe&&(a=qe(t)),Jo(a)>M)throw new f(Ha);const o=r[Gn]||"";let c=n(o,Ls);if(c===oe&&(c=qe(o)),Jo(c)>M)throw new f(qa);const l=No(e,r,ys,20);if(l>M)throw new f(Xa);const d=No(e,r,rs,new i),w=No(e,r,ss),p=No(e,r,os),h=Zo(e,r,cs,ds,0),m=No(e,r,Is),y=No(e,r,Cs),S=No(e,r,Ws);if(y&&typeof y!=de||S&&!(S instanceof u))throw new f(yo);const z=Lo(e,r,"encryptionStrength",3),b=No(e,r,zs),g=No(e,r,"extendedTimestamp",!0),x=No(e,r,"ntfsTimestamp"),E=No(e,r,"keepOrder",!0),D=No(e,r,js),F=No(e,r,Ms),R=No(e,r,"bufferedWrite"),k=No(e,r,"createTempStream"),T=No(e,r,"dataDescriptorSignature",!0),v=No(e,r,As),U=No(e,r,"useUnicodeFileNames",!0),C=No(e,r,xs),W=m||C===oe?oe:Jt(C);if(!m&&C!==oe&&0!==C&&8!==C&&!W)throw new f("Compression method not supported");let I=Lo(e,r,"level");if(I!==oe&&(!s.isInteger(I)||0>I||I>9))throw new f(mo);if(e.options[Zs]){if(y!==oe||S!==oe)throw new f(Ga);I===oe&&C===oe&&(I=0)}let A=No(e,r,Os),j=No(e,r,"dataDescriptor");R&&j===oe&&(j=!1),(j===oe||b)&&(j=!0),I!==oe&&6!=I&&(A=!1);const O=No(e,r,hs);if(!(b||y===oe&&S===oe||s.isInteger(z)&&z>=1&&3>=z))throw new f(Ja);const B=Ro(r[Ds]),N=Ro(r.localExtraField);return{comment:o,ct:{rawFilename:a,rawComment:c,version:l,lastModDate:d,lastAccessDate:w,creationDate:p,internalFileAttributes:h,passThrough:m,password:y,rawPassword:S,encryptionStrength:z,zipCrypto:b,extendedTimestamp:g,ntfsTimestamp:x,keepOrder:E,useWebWorkers:D,transferStreams:F,bufferedWrite:R,createTempStream:k,dataDescriptorSignature:T,signal:v,useUnicodeFileNames:U,compressionMethod:C,format:W?W.format:oe,codecURI:W?W.codecURI:oe,lt:W?W.versionNeeded:oe,level:I,useCompressionStream:A,dataDescriptor:j,zip64:O,rawExtraField:B,wt:N}}})(e,t,c),{comment:w}=d,p=c[Ds];let h;e.files.set(t,oe);try{const{ct:s}=d;0==s.level||s.compressionMethod!==oe||s.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:r}=e;if(r&&!r.he)return!0;if(lr(t)||cr(t,rr))return!0;if(r)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(s.level=0);const w=await(async(e,t,{ct:n},s)=>{if(n.passThrough&&!t&&!No(e,s,bs))throw new f(oo);let a;return t&&(t=new Zn(t),await Yn(t),({size:a}=t)),r.assign({reader:t},((e,t,r,n,s)=>{const{passThrough:a,zipCrypto:o,password:i,rawPassword:c,encryptionStrength:l}=n;let{dataDescriptor:d,zip64:w,level:u,compressionMethod:p}=n,h=0,m=0;if(a&&t&&(m=s[_n],m===oe))throw new f(ao);const y=!0===w,S=No(e,s,ms);if(t&&a&&!S&&Jo(i,c))throw new f(Qa);const z=t&&(!!(i&&Jo(i)||c&&Jo(c))||a&&S);t||(u=0,p=0);const b=z?o?12:16+4*l:0;t&&(a?(s.uncompressedSize=m,h=r===oe?Yo(m)+b:r):r===oe?(d=!0,(w||w===oe)&&(w=!0,m=h=4294967296)):(s.uncompressedSize=m=r,h=(Ko(p,u)?Yo(m):m)+b));const g=y||m>=O,x=y||h>=O;if(g||x){if(!1===w)throw new f(so);w=!0}return w=w||!1,{ft:h,ct:{dataDescriptor:d,zip64:w,nt:g,et:x,uncompressedSize:m,level:u,compressionMethod:p,encrypted:z}}})(e,!!t,a,n,s))})(e,n,d,c);({reader:n}=w);const p=Co(e.writer),m=Uo(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:d,dataDescriptor:w,directory:u,rawExtraField:p,wt:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:S,passThrough:z,encrypted:b,nt:g,et:x,uncompressedSize:E,crc32:D}=e;let{version:F,compressionMethod:R}=e;const k=!u&&Ko(R,a);let T;const v=z||!k,U=c&&(e.bufferedWrite||!w||!g&&!x||v),C=U||c&&w&&(g||x);if(c&&(g||x)){const e=20,t=vo(e);if(t.uint16(1),t.uint16(e-4),T=t.array,U&&(t.ut(E),v)){const e=b?l?12:16+4*m:0;t.ut(z?0:E+e)}}else T=we;let W,I,A,j,O;if(b&&!l){const e=vo(Jo(zo)+2);e.uint16(39169),e.bytes(zo),W=e.array,W[8]=m}else W=we;if(y){const e=Oo(r),t=Mo(e);if(t){const t=9+(n?4:0)+(s?4:0),r=vo(t);j=1+(n?2:0)+(s?4:0),r.uint16(G),r.uint16(t-4),r.uint8(j),r.uint32(e),n&&r.uint32(Bo(Oo(n))),s&&r.uint32(Bo(Oo(s))),A=r.array}else A=we;if(S===oe?!t||n||s:S)try{const e=jo(r),t=vo(36);t.uint16(10),t.uint16(32),t.ht(4),t.uint16(1),t.uint16(24),t.ut(e),t.ut(n?jo(n):e),t.ut(s?jo(s):e),I=t.array}catch{I=we}else I=we}else I=A=we;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=bo||t===oe&&r===oe)if(n!=go||t===oe&&r===oe)O=we;else{const e=vo(8);e.uint16(30805),e.uint16(4),e.uint16((t===oe?0:t)&M),e.uint16((r===oe?0:r)&M),O=e.array}else{const e=To(t),n=To(r),s=3+e.length+n.length,a=vo(4+s);a.uint16(30837),a.uint16(s),a.uint8(1),a.uint8(e.length),a.bytes(e),a.uint8(n.length),a.bytes(n),O=a.array}}catch{O=we}R===oe&&(R=k?8:0);const{lt:B}=e;k&&B!==oe&&(F=F>B?F:B),c&&(F=F>45?F:45),b&&!l&&(F=F>51?F:51,z&&D!==oe&&(W[4]=1),W[9]=R,R=99);const Z=C?Jo(T):0,P=Z+Jo(W,A,I,O,p,h);if(P>M)throw new f($a);const L=new i(2e3*o.ceil(o.floor(r.getTime()/1e3)/2)),{_e:Y,$e:K,rawLastModDate:V}=Go({version:F,bitFlag:Qo(a,d,w,b,R),compressionMethod:R,uncompressedSize:E,lastModDate:ae>L?ae:L>se?se:L,rawFilename:t,et:x,nt:g,extraFieldLength:P}),q=vo(ne+Jo(t)+P),H=q.array,X=Ae(H);return q.uint32(N),q.bytes(Y),q.bytes(t),C&&q.bytes(T),q.bytes(W),q.bytes(A),q.bytes(I),q.bytes(O),q.bytes(p),q.bytes(h),w&&(x||qo(X,18,0),g||qo(X,22,0)),{yt:H,St:X,_e:Y,$e:K,lastModDate:r,rawLastModDate:V,encrypted:b,compressed:k,version:F,compressionMethod:R,it:j,He:we,zt:Z,Je:A,Ge:I,Qe:O,Xe:W,extraFieldLength:P}})(c=r.assign({},c,l.ct,d.ct,w.ct,{signature:c[Es],crc32:c.crc32===oe?c[Es]:c.crc32,offset:e.offset-p,diskNumberStart:m})),z=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=we,a=0,o=e?20:12;return r&&(o+=4),t&&(s=new u(o),n=Ae(s),r&&(a=4,qo(n,0,P))),{bt:s,gt:n,xt:a}})(c),b=Jo(y.yt,z.bt);h=await(async(e,t,n,s,o)=>{const{files:i,writer:c}=e,{keepOrder:l,dataDescriptor:d,signal:w}=o,{Et:p}=s,h=e.options[Zs],m=e.qe;let y,z,b,g,x,E,F,k={},T=0;i.set(t,k),e.qe=k;try{let z;l&&(z=m&&m.lock,k.lock=new S(e=>b=e)),o.bufferedWrite||!l||e.Dt||e.Ve||!d?(y=!0,e.Ve++,F=o.createTempStream?await o.createTempStream():new D(oe,oe,{highWaterMark:ie}),F.size=0,await Yn(c)):(F=c,await v()),await Yn(F);const C=Co(c);if(e.Pe){delete e.Pe;const t=new u(4);qo(Ae(t),0,Z),await Ao(c,t),e.offset+=4}h&&!y&&ko(s,e.offset-C);const{yt:W}=p;y||(await z,await U());const I=Uo(c),A=Io(e,c);if(k.diskNumberStart=I,y||(x=!0,E=c.size,await Ao(F,W)),k=await(async(e,t,{diskNumberStart:n,lock:s},o,i,c)=>{const{Et:l,Ft:d,Rt:w}=o,{_e:u,$e:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:S,version:z,compressionMethod:b,He:g,zt:x,Je:E,it:D,Ge:F,Qe:R,Xe:k}=l,{bt:T}=d,{rawFilename:v,lastAccessDate:U,creationDate:C,password:W,rawPassword:I,level:A,zip64:j,nt:M,et:N,zipCrypto:Z,dataDescriptor:P,directory:L,executable:Y,versionMadeBy:K,rawComment:V,rawExtraField:q,useWebWorkers:H,transferStreams:X,onstart:J,onprogress:G,onend:Q,signal:_,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,uid:se,gid:ae,unixMode:ie,symlink:ce,setuid:le,setgid:de,sticky:we,unixExternalUpper:fe,msdosAttributesRaw:ue,msdosAttributes:pe,useCompressionStream:he,passThrough:me,format:ye,codecURI:Se}=c,ze={lock:s,versionMadeBy:K,zip64:j,directory:!!L,executable:!!Y,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:V,He:g,zt:x,Je:E,Ge:F,Qe:R,Xe:k,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:re,externalFileAttributes:ne,diskNumberStart:n,uid:se,gid:ae,unixMode:ie,symlink:!!ce,setuid:le,setgid:de,sticky:we,unixExternalUpper:fe,msdosAttributesRaw:ue,msdosAttributes:pe};let{crc32:be,uncompressedSize:ge}=c,xe=0;me||(ge=0);const{writable:Ee}=t;if(e){const r=Zt(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:mr,level:A,rawPassword:I,password:W,encryptionStrength:$,zipCrypto:y&&Z,passwordVerification:y&&Z&&m>>8&B,computeCrc32:!me,compressed:S&&!me,encrypted:y&&!me,useWebWorkers:H,useCompressionStream:he,transferStreams:X,format:ye,codecURI:Se,compressionMethod:b},config:i,ie:{signal:_,size:n,onstart:J,onprogress:G,onend:Q}};try{const e=await Xr({readable:r,writable:Ee},s);if(xe=e.outputSize,t.size+=xe,me||(ge=e.inputSize,y&&!Z||(be=e.crc32)),!N&&xe>=O||!M&&ge>=O)throw new f(so)}catch(e){throw e.outputSize!==oe&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,Et:n,Ft:s},{zip64:o,zipCrypto:i,passThrough:c,dataDescriptor:l})=>{const{$e:d,encrypted:w}=n,{gt:f,xt:u}=s;w&&!i&&!c||e===oe||(qo(d,10,e),l&&qo(f,u,e)),o?l&&(Ho(f,u+4,a(t)),Ho(f,u+12,a(r))):(qo(d,14,t),qo(d,18,r),l&&(qo(f,u+4,t),qo(f,u+8,r)))})({crc32:be,compressedSize:xe,uncompressedSize:ge,Et:l,Ft:d},c),P&&await Ao(t,T),r.assign(ze,{uncompressedSize:ge,compressedSize:xe,lastModDate:h,rawLastModDate:m,creationDate:C,lastAccessDate:U,encrypted:!!y,zipCrypto:!!Z,size:w+xe,compressionMethod:b,version:z,_e:u,$e:p,signature:be,crc32:!y||Z||me?be:oe,it:D,nt:M,et:N}),ze})(n,F,k,s,e.config,o),y||(x=!1),i.set(t,k),k.filename=t,y){if(await S.all([F.writable.getWriter().close(),z]),await v(),g=!0,E=c.size,await U(),k.diskNumberStart=Uo(c),k.offset=Io(e,c),h){const t=s.Rt;ko(s,e.offset-Co(c)),k.size+=s.Rt-t}(({rawFilename:e,encrypted:t,zip64:r,zt:n,crc32:s,compressedSize:o,uncompressedSize:i,nt:c,et:l},d,{dataDescriptor:w,passThrough:f})=>{if(w||((!t||f&&s!==oe)&&qo(d,14,s),l||qo(d,18,o),c||qo(d,22,i)),r&&n){const t=ne+Jo(e)+4;Ho(d,t,a(i)),Ho(d,t+8,a(o))}})(k,p.St,o),await Ao(c,p.yt),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new R({async write(e){var t;await n.ready,await n.write(e),t=Jo(e),T+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(F.readable,c,w),c.size+=F.size,g=!1}else k.diskNumberStart=I,k.offset=A;return e.offset+=k.size,k}catch(r){if(g||x){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-E,y&&(e.offset+=T)}throw i.delete(t),r}finally{if(y&&e.Ve--,b&&b(),z&&z(),y&&F&&F.dispose)try{await F.dispose()}catch{}}async function v(){e.Dt=!0;const{kt:t}=e;e.kt=new S(t=>z=()=>{e.Dt=!1,t()}),await t}async function U(){Wo(c,Jo(p.yt))&&await c.closeDisk()}})(e,t,n,{Et:y,Ft:z,Rt:b},c)}catch(r){throw e.files.delete(t),r}return r.assign(h,{name:t,comment:w,extraField:p,[ds]:h.internalFileAttributes,[ws]:h.externalFileAttributes}),new Us(h)})(c,e,t,n),l.add(w),await w}catch(t){throw p&&c.Le.delete(e),t}finally{l.delete(w);const e=Eo.shift();e?e():xo--}}remove(e){const{Le:t,files:r}=this;if(typeof e==de&&(e=r.get(e)),e&&e.filename!==oe){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=we,r={}){const{Ke:n,writer:s}=this,{writable:o}=s;if(!(e instanceof u))throw new f(Va);if(Jo(e)>M)throw new f(Ka);for(;n.size;)await S.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,Xe:n,rawComment:s,Ge:a,Qe:o,rawExtraField:i,extendedTimestamp:c,it:l,lastModDate:d,nt:w,et:u,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=O,y=r.diskNumberStart>=M;let S,z;if(m||y||w||u){const e=4+(w?8:0)+(u?8:0)+(m?8:0)+(y?4:0),t=vo(e);t.uint16(1),t.uint16(e-4),w&&t.ut(p),u&&t.ut(h),m&&t.ut(r.offset),y&&t.uint32(r.diskNumberStart),S=t.array}else S=we;r.He=S,r.st=m,r.ot=y;const b=Oo(d);if(c&&Mo(b)){const e=vo(9);e.uint16(G),e.uint16(5),e.uint8(l),e.uint32(b),z=e.array}else z=we;r.Je=z;const g=Jo(S,n,a,o,z,i);if(g>M)throw new f($a);t+=46+Jo(e,s)+g}return t})(e.files),{Tt:o,vt:i}=await(async(e,r,n)=>{const{files:s,writer:a}=e,o=new u(r);await Yn(a);let i=0,c=0,l=Uo(a),d=Co(a);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:w,He:f,Xe:u,Je:p,Ge:h,Qe:m,rawExtraField:y,rawComment:S,versionMadeBy:z,_e:b,$e:g,nt:x,et:E,ot:D,st:F,internalFileAttributes:R,externalFileAttributes:k,diskNumberStart:T,uncompressedSize:v,compressedSize:U}=r,C=Jo(f,u,p,h,m,y),W=46+Jo(w,S)+C;Wo(a,i+W-c)&&(await Ao(a,o.slice(c,i)),c=i,await a.closeDisk()),0==e&&(l=Uo(a),d=Co(a)),x||qo(g,18,v),E||qo(g,14,U),(F||D)&&45>r.version&&Vo(g,0,45);const I=vo(W);if(I.uint32(Y),I.uint16(z),I.bytes(b.subarray(0,24)),I.uint16(C),I.uint16(Jo(S)),I.uint16(D?M:T),I.uint16(R),I.uint32(k),I.uint32(F?O:t),I.bytes(w),I.bytes(f),I.bytes(u),I.bytes(p),I.bytes(h),I.bytes(m),I.bytes(y),I.bytes(S),Xo(o,I.array,i),i+=W,n.onprogress)try{await n.onprogress(e+1,s.size,new Us(r))}catch{}}return await Ao(a,c?o.slice(c):o),{Tt:{diskNumber:l,diskOffset:d},vt:o}})(e,s,n),c=await(async(e,t,r)=>{const n=No(e,r,"signCentralDirectory");if(n){const r=await n(t),s=Jo(r);if(s>M)throw new f(So);const a=vo(6+s);return a.uint32(L),a.uint16(s),a.bytes(r),await Ao(e.writer,a.array),6+s}return 0})(e,i,n);await(async(e,t,r,n)=>{const{writer:s}=e,{Tt:o,Ut:i}=n;let{Ct:c}=n,l=e.files.size,d=o.diskNumber,w=Io(e,o),u=Uo(s);Wo(s,H)&&u++;let p=No(e,r,hs);if(!(O>w&&O>c&&M>l&&M>u)){if(!1===p)throw new f(so);p=!0}const h=Jo(t);if(h>M)throw new f(Ka);const m=vo(p?98:H);Wo(s,Jo(m.array)+h)&&await s.closeDisk(),u=Uo(s),p&&(m.uint32(V),m.ut(44),m.uint16(45),m.uint16(45),m.uint32(u),m.uint32(d),m.ut(l),m.ut(l),m.ut(c),m.ut(w),m.uint32(q),m.uint32(u),m.ut(a(Io(e,s))+a(c)+a(i)),m.uint32(u+1),No(e,r,"supportZip64SplitFile",!0)&&(u=M,d=M),l=M,w=O,c=O),m.uint32(K),m.uint16(u),m.uint16(d),m.uint16(l),m.uint16(l),m.uint32(c),m.uint32(w),m.uint16(h),await Ao(s,m.array),h&&await Ao(s,t)})(e,r,n,{Tt:o,Ct:s,Ut:c})})(this,e,r),!Ln(s)&&No(this,r,Bs)||await o.getWriter().close(),s.getData?s.getData():o}}function Fo(e,t,r){e.Ke.add(t),t.catch(e=>{try{r(e)}catch{}})}function Ro(e){if(!e)return we;let t=0,r=0;e.forEach(e=>t+=4+Jo(e));const n=new u(t),s=Ae(n);return e.forEach((e,t)=>{if(t>M)throw new f(_a);if(Jo(e)>M)throw new f($a);Vo(s,r,t),Vo(s,r+2,Jo(e)),Xo(n,e,r+4),r+=4+Jo(e)}),n}function ko(e,t){const{Et:r}=e;let{yt:n,extraFieldLength:s}=r,a=64-(t+Jo(n))%64;4>a&&(a+=64);const o=new u(a),i=Ae(o);Vo(i,0,6534),Vo(i,2,a-4);const c=n;r.yt=n=new u(Jo(c)+a),Xo(n,c),Xo(n,o,Jo(c));const l=Ae(n);Vo(l,28,s+a),r.St=l,e.Rt+=a}function To(e){if(e===oe)return we;{const t=new u(4);Ae(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function vo(e){const t=new u(e),r=Ae(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{Vo(r,n,e),n+=2},uint32:e=>{qo(r,n,e),n+=4},ut:e=>{Ho(r,n,a(e)),n+=8},bytes:e=>{Xo(t,e,n),n+=Jo(e)},ht:e=>n+=e}}function Uo(e){const{diskNumber:t=0}=e;return t}function Co(e){const{diskOffset:t=0}=e;return t}function Wo(e,t){const{availableSize:r=ie}=e;return t>r}function Io(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.Ye:0)}async function Ao(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=Jo(t),await n.write(t)}finally{n.releaseLock()}}function jo(e){if(e){const t=(a(e.getTime())+a(116444736e5))*a(1e4);return ro>t?ro:t>no?no:t}}function Oo(e){return o.floor(e.getTime()/1e3)}function Mo(e){return e>=eo&&to>=e}function Bo(e){return o.min(to,o.max(eo,e))}function No(e,t,r,n){const s=t[r]===oe?e.options[r]:t[r];return s===oe?n:s}function Zo(e,t,r,n,s){const a=Po(t,r,n),o=a===oe?Po(e.options,r,n):a;return o===oe?s:o}function Po(e,t,r){return e[t]===oe?e[r]:e[t]}function Lo(e,t,r,n){return typeof(a=No(e,t,r,n))==de&&a.trim()?s(a):a;var a}function Yo(e){return e+5*(o.floor(e/16383)+1)}function Ko(e,t){return e===oe?t===oe||t>0:0!==e}function Vo(e,t,r){e.setUint16(t,r,!0)}function qo(e,t,r){e.setUint32(t,r,!0)}function Ho(e,t,r){e.setBigUint64(t,r,!0)}function Xo(e,t,r){e.set(t,r)}function Jo(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Go({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:a,rawLastModDate:o,rawFilename:i,et:c,nt:l,extraFieldLength:d}){const w=vo(26),f=w.array,u=Ae(f);if(w.uint16(e),w.uint16(t),w.uint16(r),o===oe){const e=new h(1),t=Ae(e);Vo(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),Vo(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),o=e[0]}return w.uint32(o),w.ht(4),c||s!==oe?w.uint32(c?O:s):w.ht(4),l||n!==oe?w.uint32(l?O:n):w.ht(4),w.uint16(Jo(i)),w.uint16(d),{_e:f,$e:u,rawLastModDate:o}}function Qo(e,t,r,n,s){let a=0;return t&&(a|=Q),r&&(a|=8),8!=s&&9!=s||(0>e||e>3||(a|=6),e>3&&5>=e&&(a|=4),9==e&&(a|=2)),n&&(a|=1),a}const _o=1048576,$o=".zip.js-temp",ei=1048576,ti=1048576,ri=".zip.js-temp",ni="createSyncAccessHandle is only available in dedicated workers";try{be({baseURI:void 0===g&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===g?location.href:j&&"SCRIPT"===j.tagName.toUpperCase()&&j.src||new w("zip-legacy.min.js",g.baseURI).href})}catch{}Ue(be),e.BlobReader=Sn,e.BlobWriter=zn,e.Data64URIReader=class extends pn{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,Wt:n,size:o.floor(.75*(t-n))})}readUint8Array(e,t){const{Wt:r,dataURI:n}=this,s=new u(t),a=4*o.floor(e/3),i=atob(n.substring(a+r,4*o.ceil((e+t)/3)+r)),c=e-3*o.floor(a/4);let l=0;for(let e=c;c+t>e&&e<i.length;e++)s[e-c]=i.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends hn{constructor(e){super(),r.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,s=t.pending;const a=t.pending.length;for(t.pending="",r=0;r<3*o.floor((a+e.length)/3)-a;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=E(s):t.pending=s+t.pending}getData(){return this.data+E(this.pending)}},e.ERR_AMBIGUOUS_ARCHIVE=na,e.ERR_BAD_FORMAT=qs,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=Js,e.ERR_DUPLICATED_NAME=Ya,e.ERR_ENCRYPTED=_s,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=sa,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=Xs,e.ERR_EOCDR_NOT_FOUND=Hs,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=Qs,e.ERR_HTTP_RANGE=tn,e.ERR_HTTP_RESOURCE_CHANGED=rn,e.ERR_INVALID_AUTHENTICATION_CODE=et,e.ERR_INVALID_CODEC_DEFINITION=Yt,e.ERR_INVALID_CODEC_MODULE=Vt,e.ERR_INVALID_COMMENT=Ka,e.ERR_INVALID_COMMENT_TYPE=Va,e.ERR_INVALID_COMPRESSED_DATA=$t,e.ERR_INVALID_CRC32=er,e.ERR_INVALID_ENCRYPTION_STRENGTH=Ja,e.ERR_INVALID_ENTRY_COMMENT=qa,e.ERR_INVALID_ENTRY_NAME=Ha,e.ERR_INVALID_EXTRAFIELD_DATA=$a,e.ERR_INVALID_EXTRAFIELD_TYPE=_a,e.ERR_INVALID_FILENAME_VALIDATION=ia,e.ERR_INVALID_GID=lo,e.ERR_INVALID_LEVEL=mo,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=ca,e.ERR_INVALID_MSDOS_ATTRIBUTES=po,e.ERR_INVALID_MSDOS_DATA=ho,e.ERR_INVALID_PASSWORD=_e,e.ERR_INVALID_PASSWORD_TYPE=yo,e.ERR_INVALID_SIGNATURE=$e,e.ERR_INVALID_SIGNATURE_DATA=So,e.ERR_INVALID_STRICTNESS=oa,e.ERR_INVALID_UID=co,e.ERR_INVALID_UNCOMPRESSED_SIZE=_t,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=fo,e.ERR_INVALID_UNIX_ID_SIZE=uo,e.ERR_INVALID_UNIX_MODE=wo,e.ERR_INVALID_VERSION=Xa,e.ERR_ITERATOR_COMPLETED_TOO_SOON=nn,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=Gs,e.ERR_OVERLAPPING_ENTRY=ra,e.ERR_RESERVED_COMPRESSION_METHOD=Kt,e.ERR_SPLIT_ZIP_FILE=ta,e.ERR_UNDEFINED_READER=oo,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=ao,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=aa,e.ERR_UNSUPPORTED_COMPRESSION=ea,e.ERR_UNSUPPORTED_CONTEXT=ni,e.ERR_UNSUPPORTED_CRYPTO_API=rt,e.ERR_UNSUPPORTED_ENCRYPTION=$s,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=Qa,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=Ga,e.ERR_UNSUPPORTED_FORMAT=so,e.ERR_WORKER_STARTUP_TIMEOUT=br,e.ERR_WRITER_NOT_INITIALIZED=sn,e.ERR_ZIP_NOT_EMPTY=io,e.HttpRangeReader=class extends Mn{constructor(e,t={}){super(e,r.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=Mn,e.Reader=pn,e.SplitDataReader=Bn,e.SplitDataWriter=Nn,e.TextReader=class extends Sn{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends zn{constructor(e){super(e),r.assign(this,{encoding:e,It:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,It:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new S((s,a)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>a(t.error)}),t.readAsText(n,e)})}}},e.Uint8ArrayReader=class extends pn{constructor(e){super(),e=new u(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}},e.Uint8ArrayWriter=class extends hn{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new u(e>0?e:this.defaultBufferSize)}),super.init()}writeUint8Array(e){const t=this,r=t.offset+e.length;if(r>t.array.length){let e=t.array.length?2*t.array.length:t.defaultBufferSize;for(;r>e;)e*=2;const n=t.array;t.array=new u(e),t.array.set(n)}t.array.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.array.length?this.array:this.array.slice(0,this.offset)}},e.Writer=hn,e.ZipReader=pa,e.ZipReaderStream=ha,e.ZipWriter=Do,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:r}=new D;this.readable=t,this.zipWriter=new Do(r,e),this.Ke=new l}transform(e){const t=this.zipWriter;let r;const{readable:n,writable:s}=new D({start(e){r=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Fo(this,this.zipWriter.add(e,n),e=>r.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:r,writable:n}=new D({start(e){t=e}});return Fo(this,this.zipWriter.add(e,r),e=>t.error(e)),n}async close(e,r={}){return await S.all(t.from(this.Ke)),this.zipWriter.close(e,r)}},e.configure=Se,e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=ei}=e;return()=>{const e=[];let r,n,s,a=0,o=!1;const i=new R({async write(s){o?await r.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new D;n=Pt(t.readable),r=t.writable.getWriter(),o=!0;for(const t of e)await r.write(t);e.length=0})())},async close(){r&&(await r.close(),r=null)}});let c=0;return{writable:i,readable:new F({async pull(t){if(o){if(!s){const e=await n;s=e.stream().getReader()}const{value:e,done:r}=await s.read();r?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(r){try{await r.abort()}catch{}r=null}n&&(n.catch(()=>{}),n=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:r=_o,directoryName:n=$o,getDirectory:s=()=>v.storage.getDirectory()}=e;let a;function o(){return a||(a=S.resolve(s()).then(e=>e.getDirectoryHandle(n,{create:!0}))),a}return()=>{const e=[];let n,s,a,i,c=0,l=!1;const d=new R({async write(i){l?await a.write(i):(e.push(i),c+=i.length,c>r&&await(async()=>{const r=await o();n=x.randomUUID?x.randomUUID():t.from(x.getRandomValues(new u(16)),e=>e.toString(16).padStart(2,"0")).join(""),s=await r.getFileHandle(n,{create:!0}),a=(await s.createWritable()).getWriter(),l=!0;for(const t of e)await a.write(t);e.length=0})())},async close(){a&&(await a.close(),a=null)}});let w=0;return{writable:d,readable:new F({async pull(t){if(l){if(!i){const e=await s.getFile();i=e.stream().getReader()}const{value:e,done:r}=await i.read();r?t.close():t.enqueue(e)}else w<e.length?t.enqueue(e[w++]):t.close()},async cancel(e){i&&await i.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(n){try{const e=await o();await e.removeEntry(n)}catch{}s=n=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:r=ti,directoryName:n=ri,getDirectory:s}=e;if(!(s||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new f(ni);const a=s||(()=>v.storage.getDirectory());let i;function c(){return i||(i=S.resolve(a()).then(e=>e.getDirectoryHandle(n,{create:!0}))),i}return()=>{const e=[];let n,s,a=0,i=!1,l=0,d=0;const w=new R({async write(o){i?(s.write(o,{at:l}),l+=o.length):(e.push(o),a+=o.length,a>r&&await(async()=>{const r=await c();n=x.randomUUID?x.randomUUID():t.from(x.getRandomValues(new u(16)),e=>e.toString(16).padStart(2,"0")).join("");const a=await r.getFileHandle(n,{create:!0});s=await a.createSyncAccessHandle(),i=!0;for(const t of e)s.write(t,{at:l}),l+=t.length;e.length=0})())},close(){s&&s.flush()}});let f=0;return{writable:w,readable:new F({pull(t){if(i){const e=l-d;if(0>=e)return void t.close();const r=new u(o.min(524288,e)),n=s.read(r,{at:d});n?(d+=n,t.enqueue(r.subarray(0,n))):t.close()}else f<e.length?t.enqueue(e[f++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(s){try{s.close()}catch{}s=null}if(n){try{const e=await c();await e.removeEntry(n)}catch{}n=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:r,codecURI:n,CompressionStream:a,DecompressionStream:o,versionNeeded:i}=e;if(!s.isInteger(t)||0>t||t>M||typeof r!=de||!r.length)throw new f(Yt);if(qt.includes(t))throw new f(Kt);const c=typeof a==le||typeof o==le;if(!(c||typeof n==de&&n.length))throw new f(Yt);Ht.set(t,{compressionMethod:t,format:r,codecURI:n,versionNeeded:i}),c&&Qt(r,{CompressionStream:a,DecompressionStream:o})},e.resetConfiguration=()=>{for(const e of pe)delete he[e];r.assign(he,ue)},e.terminateWorkers=async()=>{await S.allSettled(Yr.map(e=>($r(e),e.terminate()))),gr=oe,xr=!1},e.unregisterCodec=e=>{const t=Ht.get(e);if(t){let r;Ht.delete(e),Ht.forEach(e=>r=r||e.format==t.format),r||Xt.delete(t.format)}}});
|
|
1
|
+
((e,t)=>{"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).zip={})})(this,function(e){"use strict";const{Array:t,Object:n,String:r,Number:s,BigInt:a,Math:i,Date:o,Map:c,Set:l,Response:u,URL:f,Error:w,Uint8Array:d,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:b,TextEncoder:S,TextDecoder:x,document:z,crypto:E,btoa:g,TransformStream:D,ReadableStream:F,WritableStream:v,CompressionStream:C,DecompressionStream:R,navigator:k,Worker:U,Symbol:T,setTimeout:O,clearTimeout:I,structuredClone:A}="undefined"!=typeof globalThis?globalThis:this||self;var N=void 0!==z?z.currentScript:null;const V=4294967295,L=65535,M=255,P=67324752,K=134695760,W=K,Z=84233040,j=33639248,q=101010256,Y=101075792,X=117853008,B=22,H=20,Q=56,G=21589,J=2048,_=61440,$=16384,ee=2048,te=1024,ne="/",re=30,se=new o(2107,11,31,23,59,58),ae=new o(1980,0,1),ie=void 0,oe=1/0,ce="undefined",le="function",ue="string",fe=new d,we="password",de="rawPassword",pe="passThrough",he="signal",me="useWebWorkers",ye="useCompressionStream",be="transferStreams",Se="preventClose",xe="offset",ze="usdz",Ee="filename",ge="comment",De="strict",Fe="balanced",ve="tolerant",Ce="Invalid option (must be a function)",Re="Invalid signal (must be an AbortSignal instance)",ke="Invalid password (password must be a string, rawPassword must be a Uint8Array)";function Ue(e){if(e&&typeof e!=le)throw new w(Ce);return e}function Te(e){if(e&&(typeof e.addEventListener!=le||"boolean"!=typeof e.aborted))throw new w(Re);return e||ie}function Oe(e,t){if(e&&typeof e!=ue||t&&!(t instanceof d))throw new w(ke)}function Ie(e){return typeof e==ue&&e.trim()?s(e):e}const Ae="Invalid maxWorkers (must be an integer greater than 0)";let Ne=2;try{typeof k!=ce&&k.hardwareConcurrency&&(Ne=k.hardwareConcurrency)}catch{}const Ve={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:Ne,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof C!=ce&&C,DecompressionStream:typeof R!=ce&&R},Le="maxWorkers",Me=["chunkSize",Le,"terminateWorkerTimeout","workerStarvationTimeout","workerStartupTimeout"],Pe=["createWorker","CompressionStream","DecompressionStream","CompressionStreamFallback","DecompressionStreamFallback"],Ke=["baseURI","wasmURI","workerURI","useCompressionStream","useWebWorkers","transferStreams",...Me,...Pe],We={...Ve};function Ze(){return We}function je(e){return qe(e.chunkSize)}function qe(e){return e=Ie(e),s.isInteger(e)&&e>=1?i.max(e,64):65536}function Ye(e){const t={};for(const n of Ke){const r=e[n];r!==ie&&(t[n]=Xe(n,r))}return t}function Xe(e,t){if(Me.includes(e)){if(t=Ie(t),e==Le&&(!s.isInteger(t)||t<1))throw new w(Ae)}else Pe.includes(e)&&Ue(t);return t}function Be(e){e=e||{};const{CompressionStreamZlib:t,DecompressionStreamZlib:r}=e;if(t===ie&&r===ie)return e;const s=n.assign({},e);return s.CompressionStreamFallback===ie&&(s.CompressionStreamFallback=t),s.DecompressionStreamFallback===ie&&(s.DecompressionStreamFallback=r),s}function He(e){const t=Ye(Be(e));n.assign(Ve,t),n.assign(We,t)}const Qe=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258],Ge=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],Je=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577],_e=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],$e=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],et=new d(288);et.fill(8,0,144),et.fill(9,144,256),et.fill(7,256,280),et.fill(8,280,288);const tt=new d(30).fill(5);function nt(e){const t=new p(16);for(const n of e)t[n]++;t[0]=0;const n=new p(17);for(let e=1;e<=15;e++)n[e+1]=n[e]+t[e];const r=new p(e.length);for(let t=0;t<e.length;t++)e[t]&&(r[n[e[t]]++]=t);return{o:t,symbols:r}}const rt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",st=(at=()=>(e=>{let t=0,n=0,r=0,s=new d(1024),a=0,i=0;for(;!i;){i=c(1);const e=c(2);if(0==e)l();else if(1==e)u(nt(et),nt(tt));else{if(2!=e)throw w("invalid deflate block type");u(...f())}}return s.subarray(0,a);function o(){if(t>=e.length)throw w("unexpected end of deflate data");return e[t++]}function c(e){for(;r<e;)n|=o()<<r,r+=8;const t=n&(1<<e)-1;return n>>>=e,r-=e,t}function l(){n=0,r=0;const e=o()|o()<<8;t+=2,h(a+e);for(let t=0;t<e;t++)s[a++]=o()}function u(e,t){let n=p(e);for(;256!=n;){if(n<256)h(a+1),s[a++]=n;else{const e=n-257,r=Qe[e]+c(Ge[e]),i=p(t),o=Je[i]+c(_e[i]);h(a+r);const l=a-o;for(let e=0;e<r;e++)s[a++]=s[l+e]}n=p(e)}}function f(){const e=c(5)+257,t=c(5)+1,n=c(4)+4,r=new d(19);for(let e=0;e<n;e++)r[$e[e]]=c(3);const s=nt(r),a=new d(e+t);let i=0;for(;i<a.length;){const e=p(s);if(e<16)a[i++]=e;else if(16==e){const e=a[i-1];let t=c(2)+3;for(;t--;)a[i++]=e}else i+=17==e?c(3)+3:c(7)+11}return[nt(a.subarray(0,e)),nt(a.subarray(e))]}function p(e){const{o:t,symbols:n}=e;let r=0,s=0,a=0;for(let e=1;e<=15;e++){r|=c(1);const i=t[e];if(r-s<i)return n[a+(r-s)];a+=i,s=s+i<<1,r<<=1}throw w("invalid huffman code")}function h(e){if(s.length<e){let t=2*s.length;for(;t<e;)t*=2;const n=new d(t);n.set(s.subarray(0,a)),s=n}}})((e=>{const t=(e=(e+"").replace(/[^A-Za-z0-9+/=]/g,"")).length,n=[];for(let r=0;r<t;r+=4){const t=rt.indexOf(e[r])<<18|rt.indexOf(e[r+1])<<12|(63&rt.indexOf(e[r+2]))<<6|63&rt.indexOf(e[r+3]);n.push(t>>16&255),"="!==e[r+2]&&n.push(t>>8&255),"="!==e[r+3]&&n.push(255&t)}return new d(n)})("zX1pc9u4suj39yss1xwVETY5JLVYpgSpsk6SiZNMlplJVEpKlkCLtgQqJGTFsXR++6tugItkJTNz7z3vvkpKJkGsjUajNzQswfu3x9FKTlScyGPO1c1SJNHRVESxFPW6/uuOF9OBfrQEC4XFtszKC1ns9niViaNMpfFEHXcniczU7f00Hd+EAl6dX4qJChW8XC3ORRpKOBurWZjC4zRN0jCB97FUHZ07phe/rd8iemsE+i2DZ+XLBM7Gy3AOj8Zq/Hss1uEYXqfJIs5EuIJ34qt6LCfJVKThGibpzVIl4QyWSabORJaNL0Q4hXfpWGZRki7eqlSMF+ES3ojxdHw+FybhBv5IY1VJWMDDZLFMRZbFiTRpV/BITO6knm95JuYRXPPrJJ4eeXDBj1dSg296DG95CW/4xqVYH8VwyYfDERz6P+pGSWrNhToS3OuKXtBqd4Vts1tMUlzsfe7QR8X9uhqofr/vf2qcdjrBadDoNENK6F4OvdFQjLjaHq45T1Xc76pep6uwNZrVI8kvh8rxsXj3cqioGtnv9zufqNKg1arL0ZbyDh/Ca3gGX+E+vIfP8GbEL7uT+TjLjh7rytLVRCWpJditmsWZm3Cx2Tj+drxcCjnFZN0Hb6M/d/MeeBvhzoW8ULMu5ki5140jS/Z5p14X7vkqikSa9zch8I6tPB2Ee36jxKsoyoQCySDm0ukQCLtpj8fd1OadvLDg6lPiXghFmGelUPMYSF5NspuY2FX8DY1djD59HgqERz1otUaf3tOL39Zv9+ktaOq3rwZan54NZVniNb3kJR7Smymx3Zpuym5KU6wI8A+pHkt9EsN0xEZdA0y1vRDKYrepUKtU/lunbrd6Bj4cia9KyGl2tNyZCw1zYUCtCHiPu9lqKVLrVuVLxhIg2a1yi5kC6Qr5ZSVWSB22EM1X2cwqUYYw3Gqyrp4Lmc+Rmwmll7jlgXKpvwyEez2erwSX2y0DwbHj222+YI4eWQLUftU5PtjKPLCuHvaRxDZ0D/FBQZ6VgSwrPUNsy0v8AF/0ywtdgcbyo3ccOzMZK92xOLI8znnezGaDb0W3TBvCNUUUK7BaDPMyjj+ClL9z55YsxtEIOOfpoFIwfOfOLAUpeBsJws3m8URYHpSVMLaF81jp3uIA80ktVo/pq8q75VU6g4u8bPyepRyf2bpPW1gUY20E9/LqekU9oqjHErzsWupORDy31M+NgDGWd8KUUXXe8EH2vXpd1euWGErHH/F37jXOGb3UA7950uw02s1Ov68cH3xEli1ch9gbkIz3CUpioEJLDryNClWv1wgcwWzfOz1t+X47ODk5ad8TMA8F76dumqwQf3/e+cw2m0YAM10ppOwWV50m5DgH9bqV8uGIdVWfN4KucngjYKm7RJSXSB68O3BN81kTrCDWCfe6Sa+YisS2i0o2YpiM+v2+wtrwmUahujlFywsNdlAm9CAmpEkKpDEVEhDtuN7wQdlxvxEMZJi6y2RpMYJhut3CE36LqJ2Ft2+rqPLOrWLQzx3IV5ximvbujUfRQBr1ZLOxUuz7z80RAzlMRjwlQgZpr8c7xercwmW1ueGIapWANB1rRmjKEkoSocTTXq+zEUM5gkb933KzsZQeZ8qwXLlk6rJeVyUIOvesRl0ySBkDtd1u4SUnYri/GeWdQcLTVe75PJlcvY2/Cd7yA1DuQz70TxpBq9P0TxvQ9IJG0Gg0/RMIWu2g0Wn4XgDBiX/SaHROOtAIOq3GyUkr8Eag3Nd86Lf8TsvzguYp+J3W6clJq3HagKDpeaet0xOvA43GaavZPj3pBCMQA0u5z7hwn+WLiIFy73Ph3q8mvOfCfc9C5aYCiRzbmr/lNoZDKWgPVviwLC/c+3w4AuG+5x6I7Wo5HStxBxDHyN3Ji5JBFLhK+RP3s4tTWNIx7N+7gky590HgtCj3PcT4y1N7F6lwtcT9U8878U9Pg1bzpOmdnvpMzdJkTcQ4sY4fjqVM1NFsnM2OFkkqjtRsLI+CT63GkXPkH53HKjvOexARhmZIOxGXJgaTNJdTmU47dayd13rlzfFZVyA7IOxqGabcN1bkZqvzMbKhlt++NwG/fc+a2D5jDCY29ys7z9IQPsyGOPdhf0oMB+feLwmv+6yrKvCDIaIu0roR2xmH2fCCrt+qC83yaVT3dL58TbjRPEG8dt//3AxOm6ftk+C0jSvA5N4g6nTz+rpMuG8sVe06YyXmGLwCuX1Uksf8a4/7pwNVl5t/q3oaih5vnA7UJ/mJnlv6k6qnG6m/nuRfNWndnuk9Jd8Oej2xQf4G6ff2jVXZ8hFykHDpPoOYC6vjsT0O2NdcbEwsLjKq+CniydAbQcaToT+CCU+GwQjmPBk2RjDmybC5z2bzk1PNZos+99v1ukX1SffM8iEeCqcx+oR/OvqP3zR/26NiLSjK3YKI2dJFgGUwgTmzxzZWZUv39bCYnp8Dj402XnfM5zDnE5hQ2YYHGYOMRxBxtcUB0CjsaOMBjoMGY2f0FoxoTPaE3hojGpo9p7fmiEZojzfedgsP+G28WCap+lXc4D6I6+WB+856QtxNptczPClnGLlrLjcbXyD99jYb2fN2F2gsr8fzeHq0HKfjRXakkqPl+dU0CopVGXPfttJ+v8V6vUBPiAYHrEyONa1bEu8eEOtlxQxmhn1f68U85TmLsuTvNJrzsteKwYr73WnPijcbn3VXOHuYKeIZF66QJApay8riWo1w1XK/O+nJ7sSIPtXMGYM597rzXlaIHJhrOB994tlwrpEGaUzear0+6UV5XqxxhoynlhamEA0nIwZTmze3BtHXJXv0c4dt4V34l5sSIJF9yV9CamTGUVe5D/gQQSWBfkcFs6DcB0NvVJKwnxtBN99P+wnRcIuKMLeg/O4Hi5WLSnGvq3oJSYEpCnlqxE+901YQNDvtT2KoRpAOfUr2W83TVqvdCTqU3jWNm4qxMBKeB0O/kuZT2lOaaGnpEt/ZwYTJJtyXltAZQbi/85pf2bVI0Pmd1zygp6flsLbT+EJk+7UCEuCnOGTD3OS1+6MCJIpAcogO5ngiaJXotneXhslxlMij8TwV4+nNka51ejRbjCdHk/F8Lqa146J6qqTotB6F6blgyLc8zbfgWY1f1Ov5C8pPb8Zymix+R/kp4/wt/MaPnxVLM8vWSTo9ht/LxCy+kGO1SsUx/MF/h1/58bd4eZk54/MkVc5kJiZXTlGwW8hLL8x4n+Yc7p3GcWPf3cJJDXN0//WzI9zKs9USKZCYHudy1Bfut+EVv5XjhQiPXz/49dGT4HgLH7lyxxn207rF/T80GZ6e3X94vN3CKwbPK1liJdIx9jELfdGAaom3T+87vinyJx8eT0UaX4sHyDuM4Cc+7IAfgN8ewS986LchaEIDWTDBfQ+U4EMP6N8IpKhOAKSCo6JshmyBmgtI9LvJkgrME4ucTkEk/hbb+Qcf7imERrCfgCzlH7gi6f9mo9xfrSojRt+aI2K//sBtL+Y7mhNDgrmPPFizxnlcr7f1nw7+OUzjxyI7uhI3R1n8TRznzMZrPsxKUQ9pKnY44nE36jXvxXbQ6Ua5zkrwbBiheGlF/4o5595m0+HUqn5vMiJL0mhLRr1e0PxEb0Yt0uv5bZ3QMe+dT9LoX8DUSVUI/KJr+TTHamDO572e/ynoNO5Z837/BLm2bBiNqEvx6JPYUYlFyAFA5Djl9GTDRl0MojBymqPuBFmCqMebm43oNQcqJPooh0p3fPSJCCO9m65jUmCSOkVKA1Ow/2o02lZpSpUkvLAEeGw7Fd/96rPtr3vUjXAAVP7sj0ik1DiBfxJk/eNc8DII8R2FYzy0EhywKCAoCIKfMK0oM+YR97o1ORyPuuNPPNtsfMSDYTTC7ZEQIObRpwgriXq9AH8a+NPsxjxGhRYCIv50egpYB48hHcYjPiZmDfk2ZOHGo5Hu8Yr77U6z4Xmn9+af2q1W4+Te5FPQOrmXfTIfOvfGsOaYlAzjUZkaFz3WQmaTpEsUK7HVNV8T2q1RxQYKU+MRX/EVpa4wdbtbvlWU5/hTkc8wSVWTti8K/QmuukIl9d3lRrt3vuCqfLD7mrZfLk0VPzedAKezoFVRPvMKed8IkWHCI8SDOY+QBR7zCFngFY+QBcbhrGEGU1hyMfRGnySWuEF90KAR+vjuj2DBxTDA52AEV/TNDxv43hjBOW/uoU9KyLPm2XCpl8WnyfCmVHHOh4tC+TmmRXCFVZ2PYMYzzGiKLKpFrvaKLKmI7Y9gyjPMagpdVQst9wrd6EI0iAyzmkLLaqGbvUILXQhHavMmLPkabvgMFny6N+ymWTNq0Kg7IhQjvsoBoHGoAgQiaKsSEEi2VhVY2PYI1nwJS34DN3wBC34FV3ydcwzxdgvZwW0FsYwQ4BUXmpP4yJV+eM5VwWXlCZShwktVCcyfmrt5Baai52z7k2EDsKP/RmIQNBkTNvdxgF0xz0Ruo8hHitTHDBJSThS7G7RaqCwbWIp7oF/kADU/5iUdpNwLbTtloW1L/FEgUFVhc4WAwwfZ63Xwb5qz1WL7C3YO1XAWIrIe20/0zGh/QfGpSPRHjG3/NHrEW63ZiiOrZqWl7tbwOsOSt64qMtS+ai/tJjZvGtj+guoIXSytSBeSddUwGX3iKVHpYWL79OLrl4BeAv3SoJfGKB/hO3dhKUjYdgsTwR+472jxzjXzkVQZELeQ9pAlHB/KUfJCnL81VpqV+I6R4DbnCEMB6Xj9On9TYMZlLGEIl1ACcZF5pldyfhOmOu3+Ss2EVPGEGLaHyVSEEa95W3ZrDA6ZGqeInjNBuAd6erYwzm7k5KhqjthXD5RdjCDLu5KBEOEEiAcP51suu9HAGq/HsbKoxkLg5f3bXGqlz0dLYb4thJWCBz8NFQqOEad3eiM11tAb1YjIbjbx0Kdnf7RD1n9Dw6mEDCKsS1Bd2cgOUJXNKcW8QzpQrkATqaVL/spYOLEYC3WX5gadxnsmEEcIp/rC/vUF1Tu5eWYqLAkCxuCBEGi6KsCpjTY5I3qrRKhAilBCKsLUAC3eavYUFQL1umK3ui+x6UvGDXzSSvsw0anVNI2q/BtWlAvWJd9yLqxYQMa6shSDisWjKmlzfkVZ01yGGGNTOk3mMhNjNFZm2IW8Gz0hBn7o7RFtoVVpqw0fDwXuBWKEfVzV69HONP7BuqKA6RylMpab1tb/M8vmf3YVpOUqSHAVRGZCM1wFWk36rZsOrAm/sx7K1ZDyF5ZGNo3/+fbzyEphb52kTON5AimDqMTazMzj3GDtJNdjlhhrHhBt52SzmwApufcweA55WfiHSJwcRuKkq1lTQsr0DlIWeHduUG4HPSE2qChyVIz4HTwsbXSiij6PrBgiZnCoELFnCEoJKSRkadXirYBbPQaE3spSvC9cIbhiUMz0DYInZZX5dnwc/bctKyufFvMECUQVaGUILSSRSB9Fd27AUK9bij+y5qAK5ea42BgdDbmVMdhYhIi8T/qQel31xR4sJRddFO+MHYmswJZE0abYuxF1UtsaO+N/fWGo1fO6qx4fO1+6K5t/2acUC2EpWMHK/oJaq3p9codsJLyiUelGm02RJcktw3q2EgYrOy174qZElRWsUNljcCyH4pJArSEo3XwGuFzN5wVBPLC9QGKgU5uLXH/yoNyjkZNQ6U3Oe2nkrG7i1nE6Xh9TXTUfGYDJWE1mef654DUfduvbbpnlQQIfwYM/kSAfXOTYo3GlR0/IWp6N5wqeu6VeBeTh/pUshKlyt19j06/v14q9LBU5mCOMtvCcQQade1Zw75dhqjfKgngwGJcoMAcPMAvhSyUV00CXZgzWnBLNe6Fyy5uVcHslbrIQf8MxJOhOlE/s7yKNI8OshOstKEHLMBNEFCNhjVEbGaXJwlKoQJf6+0RYK7ZlsC6X343YtXVwzq8HljBrRjNla84vSq2DHrAl+EqKbDJGOksOTu/fPEOnpEQKiRqBwqrO9oRbVbWgkkAq3MlsnCLTdV9V/AyUQX0a05q5uhlUPDJ0/FLlIBYiZ5eLxVLYxWj6i5xXu8MV7lvEyeLz+f5n1OSbzfT6n2+mB6frIBd6d4t9u7fF/mBzpe2jWPSbjXQr3Sgn7hvtViVkPPADxnYL852yRD/Aq3FLDX2UuN1DI2J7XGWXHC0Ku2TAtof4x3IX1f3CXadgXC7+p2D934MrCV+Q/AV8fwi9wv6W8ysEcwInPwxOVKF8x5MIUtofLhFgiiEvknA/2KJ0e7RfCr953UoBwXBLKcGest1d/u13dvkC4nIH4ulhiCdbBpauqOTWEj5seK2mf9o5bUPr1D9p+V7zFDonHa8T+KcBMbbVNonwJRBrsvXYSsi+EpWvwQjpWMp2DUM5q0T2oYc4npTkIQLQblZ5J6usUiFFTKMeRgmib+KQx5e6Q+jQZSQtCR16yMlhOuKvkXp9UrgL6CarhL/iA3b5P9yO+k47D007c6GGQIQYAd8VbixyhzqCXz6L/6Yv5BvXlfyrsFI3Xqzm1ldhSfsZcjAM/Ebz5KTV8RvM9mkTKqvS/oOj0g77b/qs69Nt82ECEuJR2cfXO/4fwUbnGwaFR9izohsK/E+KoT60MmfPqtoj0vKU375WvxUuCTtZ7gujWBJHsczUWE5wR7zZdy9Dwx2ancR4KtLSPIcTd2PdamZtuZrPS3mAHAtDCdNEijDdGuke/WbGU6wA/evmSSYsFpb8ORKsCfaBnMaUq59pSzS8/nvNzc5LA9nn6iDfa3AXosEbURrgVjJ3HxZTreCFx4L/Dh8EP56KaD5WwiF275Hgxxff4uUxnAk+bPjgN06hMzK6mnffo90CbiezlSTTb6juejA/Gc/n5+PJVSgPeDdXdsitQaDbsrsoSWrBVUzDGFaZuFtDBN/ipTb9hRlg2ZUSD9NJIwgnMBfXYh7OwYyz3QxXgJvCWKHbdlnXmVCzZBrOtlzAtNwklnADC1TdYg9pCtFZ2+DGOV/X65+FtWZwzSf1elKv11b1eu28Xrdq8WaTsXq9ZtWizaaWat1NvV7LNpvaZLO53mysJc3oB7jifwjrCpYMCXkcWefsiv+KKb8J69y9M2BYw20+rCrcD42GGRoZR9Y1W1B7TwSY6vEttR4hH2m6sDDZkfe+4r9jUnSwsS2kBfddeFETy675SKrWMOeaiRBb06oqWtO9Ydu4XreyQSXxAjGbhdYN1bUm4dd8vkFj2lNhTeEKLJIoSphaU3eC086vBwv9FGrPjqX29i1cgi9Kl2DcDnLm5In4sccyKDTT5lTbY4d8lhNtoy9JfOouYln1CaYt0eESatYOPyVLxlqv6W1OTeW+AoNwqcc7ObFC7yZL8kea3Sp81GKnA5npQASy6EBSUQvIKtuYsV02MnIyBDfVXKbv5qI8++7Yip8hvy/MfKgqxMnBXbhVokSej9VM5PBedc3WE/Tyb1KgA+clKjTo0GmKQ1SopCpRhQhlmsvP6YtGszlUSNb6MJmaVWjQNKdBiwOr9grZsQexejIfX4TnkKzUcqVoZBekLxHq6C18g8t9ooR6znrdigaXuFQuaSVdm5WkT4CQ6zyYz99watelnmNBtGxB+CnYJS7WS6RAwj0AMFjsQvwvR7E/3eFFQZuQalwisbmE2W6tFYDtE5w4sqabzQVKtUZK0ZD5KyJ0qXVHuypHfQKh6q3gwZjX/B2vsVWhdMq4gAlXW9Zdu7pDRIm2DORmkxXeEdqvbJlLKGJf0vbxTAex8WcCV0S+KNVd4UXtHH3YU0OO0Q/pxtIaE81trLdRLMfz+c3twso5grzZDgoQZ6gBSnbORqSaX6PlWf3SRB2Qt9/BgkG5nZDHEINpPty9vqeVIxxzuzBEw7zP5SCzWDiu12+sqgAjDtVfOEYh9gqYMcC/iKXYCkxZyRjdWAzHDRHPhHoXL0SyUjRFEyOmvsEtryUaFW5ygbRrLsZpnj8iXdElKLhgiDWiwJd/whKSdoQmRu4xgjuoLPBQ0UKfGyvQuTptiVVwcxVebjpW4+PcBwqZxlUm0Aa7rXKiqeZEY9TCxweZz/QHzCezLtl2Uq9bbw2zYqjHW70Nk8R9aXbiyJqU5ETvvG93d16kLfOahl+5H/i7iobHwmgMqKYHd/jep0aeZbcS+6K9EZfWLS0IpOSIS/og3Os0WYpU3VgCjnM6eQy3F0KF2GVZ1Vf/VuiaUEkp9pzDS/p2tCACt+9hVkUDsaec+r2iCmeF2U/V6+kgDZPNJoWIS7egdoPj4pH48vCDpm0ZIVJm1nG0Tw9rarOpJZtNzHlSIFFm0Idymy7Smskq/ftjVztGopG7jJfi3SxNVhezHVXar3syrHLX5gwjziqeZ8RVAenBVWL0wYguOBY6a9bNrSOSlsZNN0cho/bNJSdcJy7icpnf4HL3PBXjq22eiv3BfYtQDxEpB9KeSjrvhS4nXHJIJL0gbRlbMhEIBn9RzCyXnXIpEBITWcsRzyD0C5S6cOHCF8GPaQTH8KoUxY6NuPXx+8yOvMOsoNGSrHGoSZ28u1nSgtdoE3Vjl7ag7I9YzaxXgg0i/k6EO6nHsdSto99CxF/igQq3ZD3QPRkxsPCNnhBeRdQZmO+xIjD+zl5AdK4w92SV3aBK/SvsZKE7SuE2ljkflG1px1ndbSVfv2gUKhuSla1rZ1h2YWACUUmucX5dr1cz9qufd8nVmzunEW81Uyi2fNKtDsAkw/5AunfIVXqQXM131uR4d4lOdl9XFbnm+Xcx6c6pKDoTla/05M7xSmPhTsx5Fzxc1mUFG6XQwSTmwkm6hQWcxwNLG7+Q9kFiF8ZxUG42iyM0WoZ5lqrwEWu1JvrVVNJjqiMuaFnqcAFya9WkG2dPYkkrn6GrpK89PNFfr83gjqgmIdaO+6o4VpfahajVTfuiy+ICbxKrxEpUuiAe598KvnBPq8dKiKL/vgb0EZ5qYvlB0ZQaVXvHFCUaqci8jXOIlfwpeKAZW224kePr+GKskpScs4s3dzZOp+txKh4mcrJKUyEnN/W69afgP8xSEC7dx5/Mjgu/5FsvSb8KFGpY9+yTZBLS4j/E1EW9BJKldpCOYJLIKL5ALwASUSJXiz6sIKG7lLX2XrizMfp260OaO8C9vStWfU+e46pbGrpkjb8tXZFq/O3u7l6yVlMxOVok09UcnSDfC32wF/5Bs1q7rMelzaOocqZIBmbgELnUzvs3zyr7t9mv9adnVPDJOJ6LKTL3Yks+LHd6QREADiiIskMim858SJbDDuU8Zb1eK2aIZuuQLKvZjaoRvpbbdGu+Pl3JH+QKyS6enpQGpR7kIJUsXx6S8ina31OS52h3NXwUMhI1Lzfz4imMcu0UNICgW+x8+5vdAcCFByEEH5C0Fzs7wQspyhkhhEXnoqP4otznC/H17xU4DEwcXu1AH3ONRb1+4OPHeYxaxh8U498pxaB2cPDV5g58Lhr8QVH+3ZKs4BpuZ/HF7I+xEunZOL0K/S2MuSgYhwGynsUbC7+vZjdy0Qrlsp80UilF2q9UWUQmw2MscAxGrHo2DZXaMiRillK2z/4l3bP7f35+e//J48/PXr57/MvjN90DclNSaPC7VYkJEtwCDP+J7pGsiwcfcla4sLTvWBcW37Eu5ExzVYZYWLfEx2qRzLC0DKhF4gZU3joQ36rzaRbWSG5ldzQkFzkk89qM2raqBiGAKi5Y95cCqrgIc6C+EKDBI/4JYI3rVkqAAj11H4UVkcZRv97Hnj9MpEqT+VykZiro7NA8XG+5UF1dyXhPMtl5xZqeC4ugb4CZ8P1jxZbiCfkmGE0T7jSuSuOFxQYSox4oQG7imVTiQqRWwur1pM/9Qeouxl+tBNpNFhJb0b0ep0cKki2zUFGqe5JYMRT9hmUqroVUD2naal7+TqMN0Q/VgCau4kEh11TZyVmFb5xWtYJL3OuKCfoiIBXZaq7Cvy633dNCVBl+NVCVVzz4X6/XYhcPCYhphUoe7HhOIRN9nKzgFipqMLPKlGELaLcpDKFYfR6iw5Ic56OMkIF2+jJERo3noT4qiQPNgkkWSpYH2ZhaAoam0lHeQ9RKaTKOT93yCWe2YlDFgeSKmPfySiZreUSOD8csH49ZDqGCTGlFM+5IYQp0MiyuQj4CUtWQtWpvuw8naIGa839U3baLit+5UQDpo2iZi3/yRRpmuXppy2CiMx/gNBhMrVsaVzjfsu14On2M2PoizpSQIrWOTSXHYN2iDBuKbcmbEfqpClmQsE9JBXGIcWQd0x6NK7JeJxYSFOcvRKk++kmzD5J1f0K3r7lQaCQFYeXUebPRMY1M1QxZpOPx5ArrLKv5pajml91q2FZx/gXl0ZxoVtaCQVuCht5KSDFxvCW8uK0Gk1K70aRUNYBUpu5EgJooHZlqrkxoqrECnXmltvxinpyP5+9QkF8rOiDon4DfAQ86cAKn0Abfgxb4PjTxHGED/AYE4DfBB781gplR8So8ETTVLxG9LEnA23VD1uetlkb8EeBhVJNO2GTdPM0DXy+EmwPFfX325Ga3fDMMdJFF0fzQAx+ws01ogzn/qA8+QrMD7SactsEPOuCfBhjeAhqdJmAUjJN2B3wvaILfarQh8JodaHgnATS90za0/WYTOljED4JOB/w2FguarZP2iMHVocZb0IYT7IBHfWhSNzzsSdChznjYn1Ybu9TxqFeYD3vW9nTvgiZ4o4qi+VxV9Xo6Ikti9njj6buz/8dqoD1dYvV3gv+gVnCveMUMl0JqJyyvLieCO5TSxn6h9kcoK4KqEu9a5cpOr8YlCsr/jX4yN4rncwyvBMqu6j0vythQt5kIZwomuJPM8WeMPytKXOPjDH+m+IPr7RgUbjmhBzeYtBB5BIeKW5MqfFyOJB4HUoZ9ur1C7mRVQIbBOfpjXCNxugo9uKBGQg/eirBa4bdSlK2i+53wMDwwp3foDB4k+Mf299dHUo2XUcoqBi8V2+IquVQ/PFD1TeQnqi5FfqTqoeAYX+Hhd0oWjl50cK8o/yUv/kxwqZ++Cp7qp/uCJ9ttidavqwc/f1FD0XPam43oB4PTMHDEaLM5Pq744Zh50Hv2UvDXpQ7VkkynHX+bx+d6xzw6tpV9fGQd29I+Zsfbwim09N7ZmVk8WusVwXpKACsCMEXq8Td+XQJ6IZWhUdKKq4+pT7jvMZrRZ2HbFJcu//7efKd8dEKWgS6Th0yr4PRntXOCi86XSUhIz9SqKzr+/EbYwn0syrP87wWe7MSsCeg3GwNr5NXnacGI4zp7LGzegIQnjl+nagFtsMMJuoDZvyrbH7kf8MywcM/E8IOyElYkPBZ41PNdxc/pzQ4waXSkmz/Ux3SER97oCftXPAcjLot+UV/kD1p8XEUf4Z4L5/cKsD/sfMVzv4O5HIpROMfTyW1bn/et+Ik9qizLB8o+Ab3YIeUW/mWODwmfKxPkxFL2Uwwj9vNThQcm/F6vYz8oKIPrukQ2/BYDohJPRNgM4CVShAc5jYGnImwEJ+0T+A1Jxu9IPP5ALuZXESbwQlPGSFmYp8PgS5EgGbxC1ux9QTxNlo9Y/3Ndawc+49uf+PMT/vyCPwLJncSfRIV4vBYfI/zJ8GeCP3P8WeHPGn9m+HODP1f4c44/1/hzgT9v8eeb0t7jygruvUDRDC5V3rU85aHKu/+c3h9jd97hz2uFxPkNPj7D2r7iz30VduC9yoeCSW/w5zH+PNIDXynro8o3BeYuxkuyvlq3H7CuD5QTf85U6KG17qwoFtz7gp34+0XfqbLoq39W9IkKn6C9+6X5+0D/rWwIZ/+9DQFDpaEDZOx+UDyF2D1TPMljIpUa7MraeFfZLw/1usz5pMxJW8qlsoYjMoQ+VBY5d8+UPp7NKrTrZT4gMhOFCub5QTBt39ZDnSuSc13XFXm4kpWyqsAtw7ZodbbCiHpyqEa2nSv1dKHC6SkvCcmh+iDeoe4+RkbS5D3msS0x5BEeXwaKDBDvBY0RVYfffM/AwDCGs0FPYZ4M5ci2c5jfGlHKDF9s6eCB8c+OEJd2na3zBrGbcdlgXAabkMN4tNl4eBReP3XTYYLbjBh8Rd5LsNCDPGmPF0g1L/BA8Q48VbwBvyketDrwu+K/ITWzffgDH+FXTG/DC8VxE7CDU/iieMODV4r7p/BRcb2m4bnifgv+1Ll/Utzx4RfFh8dSoM9ATLgwTm+OARUjYrw4EnJ6DMfHcBzFc2Hk2vKjeUV5r3iJZbaKongSC6mOFmKRUHWaUywyHY9ASP5NWUvFQNHTDcYblDmc/VPWlXLot0c8AHw4GfEGPXRG/ITkiFTyl8rSDjYG1Ga9dzoH8JEwgvvNBmEDogHvVL76zSZ+D1qt8vtp5TtGocDvJ6fl95Pq9w7VH3ROqvVXjpShCyf12PSy4ZlOtvAor+Rnykolg4yeEslgUjnMlhOXXS9wUfUCv9XmN/T7HuDuN0xHoY88B7IGieN34z7ivEQLmewFrQ69BK0OqyxMZIptf/8sOZcUV/G7VM7O42rg0R7duMTGI6J6qMNJ+jyq15Mej+zY8dltiiEZpTHOb6uGw7sNOH7ZRLrfRExN2CmND+NJJVULILZSVgNoDbjC864M5rJK18zQW35AMS/LhnfhjThAoW+RHUp7XA4QuCENssxJuRBmaUl10n7/pKs0FyP7Qas1CFqtULIRTU8l6EvQOumKXssPiMZ5nCLI4flHE03O8SvHxrbM+k9hyP82SlTsNwsFCm1CxV41lhV3nCIyqtpsimeZa9N9g9uaBRe4Aevwxpp5zjeXrux73YJg9wPRGASiEcqudLjoTpPblKe2Gsa2PcKAdjyx0423Xc/iubAcR7Bu+i9sIvAhMQ/5ObYEQ0RsUjyh4BEtX8n/RKTtMsb2J4qxbSJtr+R/JdS2ntCVLCJt42Ml1Lau1cTavh6nw7WEmYSphKWEGwkLCVcSzuWIr2Q5a9fSwrAZhRtVJexvOW+EfuWhF4PIm38L2mzjyLIkMSExnpUsQ2P0MWh2uQeMMbKmVk2o78fbTjDAZmLnRRVPP4kytHZiom1Xk0y07ZSf5+GSPl3paEsmRstCv+XhW27yUEz6dSnzkNtTWY25PZM7QbfX8kDU7aSnF1xKgWw7mInCbqefMIIHy0/GWOWJlk8G6UqVi0QWz2+jUPZWDCySbYW7RP/NJUl0bwX30PvvraBg5tb9ao5+n3coj8OrZ23eUq1UpjMoqtSVePV6tYpnCqMwUhV+/WS32YqupVjdVIffduTAwqx6DePjBsNzum8Fg90xUJwrB78UwvFbjM7i+G0WfrcOk6kypksa0z4v+WiHnSRZV6GsWyG6edazvaxn38/6Tu1mfaeKrNTEn/rNB+H+hIcCfqHYMyhbC1eoKuAeyr0TsYi83xRGczF/9btw3yjHGcEznd/fCUX+Wt6NrKo71DOi/WaTD4ablHodGekeT4eyIpw/k7vaEGqbZCDZ6/nFEsTe4Lbd0w+v9YGIbzoYjXnCv5cKbW22DTXKku5+Yhg59ps5WazTJU8g6fVQZDBfKnqfr7Ki+qBD9Bgd+JtALt29FO5rAZl++ooO3YYTwC5q6Cv+UYHe9DLa7bwajzU0EFm/qaFtY+4Rn5B+5JI64LGQMp2pfN/BPL2gyxK+W6gXDGx7gnrOYVLM/yWOi9r/STgORKibdX8RDo8w05nKg+E9FHwCslR8YJ0/B6wrUQcmHYfR1MR4kj7hGW5vkj/MkyDdxRrHweFqLU/lNS16ZoZtx8MU/xb9tMyo+5we0tHAJITmndkYyVaO3EeKU+FHKATnqIpTbfrpM7PV4kD6PGDdna7k3d1lhfSkAnnt66mdcwQNjIsZXumnL7DWD88EzPTTfTzppadIC3b8uSKZTrgPUYrLHbeGZkE9ViM9q7RhPFa235W9j8oEDM8xP+aT4UQPFHPj8PvogxjzGUxtmwF9PFM8hpqV9ufkpaYbxDCA3IO0j+fKrIivhqmzHmFs3kkB9p+EzbN7VmxHDMYGNyhlrKu1I6aPfns1PmW30+RWjw/5XLTQ6Ja6LHacrnlxHNBPtj+yeaBfZpg8dXhgZmXaN2JWzGcoWcfd2HGIs0iLSr0aTwssdxw5gpqV6BFONPLWMACjpUdhxY5JZfcmGs3AJPCYQeo45EFL3v2VMxvm6DbFE0RwdXUffOTGnytigSMe2XKYGqUBYh2PKJvhanUA+Zzh0k1i5/WdANgTxb8qKyaFBoYjwX7EQIiFY61sIvd36R/1y/FJDeBhtZBxDyb8BOYmZJ3HkSG2JtxvdGDOGxS6DzW6Z0rvW6B5eiNZJDosM+ljsbqaZdtZD88ach4hYLPefED7CQHQ5lno1XgysBICdeUL6mrfKZS16Y2FWY/7ni7rn+jEUL91TAHse8wTtOxFg0qXw8QktPWrZQZYVTW93wcMgiUuwIJ4nvETmPAmoiWdAKT6J7xRSiE6KjJGD0JVELqHxVTHvAKNqJfV6ykGEiWOM+pN2DS5Jf6CRoMLRxWPZyonM16NO05kTP6IuQMrrXEULn9QlsJ0QpmBoKnKZ8xCXyOnAQFjYURArlRJoFbl806JBh3VKvN2Knk7O3l9H05QWuIoqKQ4Q/GgAsEwNQlt/WoZWFe1m59laS/iHtMg8+wUGgyI39N8lzR//433TpBLJlo93ffYx89YQYJZyKrCKyzGm7sLA8m0ubgCj4A8FoxkLjq67b5Ww2yEzrBW+W77I4Yx95Ci0HswggxNEB4G7NMspF6u+u+ZYqEV8wleBQHmc5wbTFTlhWaSC1TaYRAMXJCJw6+QiOlyGG6HSBDE/ANq6HQyFsCa6K+uRFUrSR2+KCtJsZIc3bIejbhrukUMnzIPZ8Ya+Fjy4e1TFf4k4TfU+f6OP3/gz6+o/QX89gt9a+K3Jn7r4LfmnW8t/Oa38WPnzsc2fmwE+LER6K8i3a1WF/Xb1a+okcQP3ylc+YxG81/pz50MjaCSIWjtNNAIqIqgg1lQA4p1eEHzbh78WOZBj4DtqBRCP8hqZIB7GKuu3xychl6FPj3a46Mti0SFX8UnyerC/UPsyVVnMrchzhR/pJfoDNfmaqhsi0xOI2ZcX4X7QgxVXbhPMWit+wWNjjM1Kk1teQo6NlW0/0bIoq+/oxKIo0XHwhTwwNKJ7B6+uw8+vHv89vPrx28+P37x+Ozxy3eVsT2RpU+2JFbvXJhA9lhHV6EeRDkO8TFfKLi6+ctln6cD6aQmaJ3i6W7uFyb3i73cFRtDRbbQmiQUk/KxJ/2U1Hcpw0WcDLyQbAQOT+AcnXopjg3CdkJxsnzkWBbCfSkGwo056oTcGIzC6qD4b0s6ZsDCoChKHEfMr/9+YUYdsIlRHdPfpALeB4fAO030DQbCfa8cdEF2hBspHKSs14nxipR5yNRA8jR0fPomif2KVJ+nNllO63WLKOwKQwq6K0ghdTSFVQ6ZhyPzNzZ/JYY/i4h5caWilhgQDoC0DaQxuIY7F4wUb+Rvx3Gi3CtBbWAZG3umaXmmbK70X6qeP1UFu4TNY6KRlWaYtNJIcWBloCITc1PnDnzHhUMB9g+uGNhZKop4GImoWLOKzvWekmDY3RbiQ6Z6vyOsa8Wo9dGxqx5OTjFzvBg0hijpyQEtj/fKkaD6fygKR/eHYnoFroAC8wj3iktboebjqidtkwsfHOFeAU4ETf8VpecvRR2Uh2qxuaruxU+lccFE0x3nhTO9V9zessiXEJ7yU+6VqOFNds2gxpX7RNTrrZP8qX2aP5008qdTP3/yvSLR94vHdrutHyvHIWXFKQIDiRufCO0fUTnbWF0NuqOkcydFFJ6gI39fYhX6wp0JA5mZYGBYbo3tiBZrDNbzHn/+FBpQazyiRe8aI6fm70w4lP6Z/uIqcz8LOumFh13cj6LKi/4hd/xJsIvSfSDqdfx1X6iDBAI7UvpUfRS2aQ4NWPpv9UzkrqZBt4F3F0g6jKT6rc1G9bxcGUouM05AeFnDsW82hK1zUa/XkABuNu12m/OUJqdZK2/5qpakZT0Tu59aOu4XT91E4VE3heCp8dT9rBGMpgv2ilK+nxR42zxYiMdNdz6gQ3SPf5CWZIe6otur9NYM5FCuZlBkwgeizPjOfb/BIP9aIlPHtlL3WjidXq+JjKCmW6l7hfqBzSZ1b1QvGHghPbQHfkiduFGDIGyA3GDk5rYePFFHucFb1JAmNnxH/qvhw294LE+ySh5KEW6MOkamvxurghvTthBzH/I+gwGmAe8dYMaR1ToxgyIKRDjm0UJKoeGbB79xap46eDrxgWD0YuGj+wXjnnvM1m8vcGz4pukEpb1SAy9s7qZ9xLTObtpzTMOrlnRbuI4p/U9lUsxb4fO0n6pV13eStQrbJJ8WM7A/Tc3Q22/5J1xLq/m8lg9Ea6MrOX7Z6dsvZd80oO6s3RSpB00GZviKuhqarPZpEQaHqsu78ld//+Zw2N9FCVorpzmeUwxYokNVIBSGCqSZklsa/3JwODgsc5Uoylyyn7rPRTfntfDFwQ/Y0jmeqDQAAVM7gQW5HEyk7GDII31BXucvhkAKMIcn2+9XL3X1Npc7lXNvS3A6aeDSOGncgYPB3eKhCOqaUwQamWa1qP80AKqA2pHsrzovubdV+RoZ0ojtkZ7HqmZAsW5eYbXjpz52/NQ/3PHnqnj4j3b8+d/quO6x7xGsfe87wH6hWN4nOyBUqtet3a7c7UuxRpEo6j4QyczpRkHotlT13yaWZuugzTB1M0UPynAn5dYguWeW5U+Shh/SznGlBnt28poxQHRz32xk9up160G5B2aK5R8rpkptniaSPdH63jfaBLUaItM40jyyYdxtO9dyKP4RYV/z9R5Mi7qoVW11hRIrbNIhhWqZ8kpJU26gwoYu8Vj8repzYzhFH1AsbBwEitaYV+FCDDP/TSOCBk2eRBt1BS4lFNk+iDAR5QTUOUbkD2YlWljwiR9aoU4m5dy2E1LXVf7iDGhm/DeFa8Rg8+HMf/9v0ospAhW6TjlW7CQk1SETmuldY6L0UPJRYPfRrhMpMD8TXLrk8OvTm/NUmann9JE6nT8iGPAk+49xhf3/iSyP5RBX1Mh9qikKWeEDjhfyNdDTIufU2u02rRy52QQVDwzDT1IuWtBM73VaxMU/Sp+IJPVXgCpGrciUuSbMPKFSLZccUha2tITwmfg0ClmLW3ODjg1Z76SlhdtUzyiycLThx/oPAg9jXO2yvHcpTx4mEuGIzORL0ePewA+tQHOpA+uvCF4lZYdJ0kk7DJKuZSyKHGNxp56xuFvRuLzVG5XEJZ9a+LkcYFf1yHEMtCDxgTv4W9BhZAkrcsyLXA4lwcWAygkqUijdC/hElEGtV3ymQLkvBJ/i3y/m73uh018r/feb9r/KlL5N9tIkP1Q6e2F2R+eR0rJOb4XxnN4eiPzCe+V+JF8TFPnwzxv84/uIrwOnUdVJfdk3BKPDh3bVj9AWIdw5WmqEe61gQol9UsUMiIDRI/pfk/6Lzis/RbsiSvRrIiEw47+p3nrwGwaVnPIVqoCX+Aet2zf0gHeRwUI/jroR2kvPySTeR1snZP01mUDWrNAkKVgNpR2Nanyx2dCjg7d93NDLqManOhXTlmySSBXLlTDhOYLc8j6r17HJZMQ5Zk5GXZbYtj5qn0Daj8wW8BnlxIinaHzMjJboQMdzJYul+Hyo6uMR609I5HOc8kboqMfXgyisxCJ/ZeBv7VgczJaU2wWEe6P63sAKjLZKE2l8qDjxgeRN77TRDprN5olRUZJLZsPv0k6MR0BQ2PLxYmZiKHIPjt1tzHw51c4O+avv7b03qiV90yDeyN37VZEvR6UutZs3b458ixl81ZqvJ6p4fKnQtFuOjWq/r7890nndh0godNKZLkNJpoYH6FfLXynHp4vCjX7xnRqu0b+EzJrKcSp3SqLd1W/ajXvkfg1K+z3jOvhJ2A37pN9v0HL4pXizoh6PN5smTQp6Z1gxjxgLYx5xabdA2s0emu/UoGpPYmFEBihN7rVN6Y0m+JDJwsrV1F+s6qU4hMAECm0qcYLWCbRyA4zjF8+p04Sm9s/WFyHZrDSdrdEgRDbCBuu+L2CKanp4X8BTOr6O12Fgbfs5iG0fMoTQm8p0nOE0XmqSWq+/NbtUqUB1UCULijSzxARrbSlRYfdKVMjsR7kTb0svD5LzC13tTAxI1g9x2yPr0HOpDcSlnePP3WpED4/tVY4T/HTA/wXLoIyIblPnghlDrFGUFrTnuSQa+VbYzQCxwHSph1euJ3kHnYQ4u3zgsp/aph5y8CveGEhy2pUcL8Looa1Xq8Vxx91sPPLqlLVKAWYoUMSb+oQwLz8imIBwzTAEEYPiYJfT1D4s+WuDvBk7lZRgxP9dzeHjO2bJZwnn1krJRzbleHZQaSpECsor0lHqCY8pfI9Js0kTr8GSP05Naqzwr3RQFY/Vlor33WplpTZZ1ibL2mQh6aH1nwJ+OvncQUakPKOdhexIQvFy575Ci4ZDpoqKdeGKrC3K4ALOJZWGwpCgFYJGkR2pHs+IKkfEAZ8L2LFUmKIRYb9QvYCiJOVq+7tGCpYXN+z2lbH96L5mOhwtctgZVWAj8mbUClkgkLs3a6y8SwWV/KaZK2MKiZCpf4anKxos1BJlk35Lu4iWWvA1xnVIOG6GDCZLnwJ+xErDV6udcij8c4AkdgnoQ4BJ+uVSSgo7BgYdsfbtNpDkYEpKMCUVMBFa3QXLzgJPCsKQwHPyoC0qYTur3Er7uB9YKe0JuCF4d2CZ9jjGzLAkVkJhv/KFXM2Fi7pczNrEElWIJy6CfFEy4weHs4gTGuzYcn/Z077vyv3GILQv3v7+t6RbuSPaWpKf6c7SJOkDRgQb2eO58Y4kwS9aCWNETrSfUU8InT4b0TLVoqWBrUm9K2JOFPpPviXJOjO2OMrpILnONRCVjlUdXDAjrhPMlK/lPZkVCiMeyauH7HhUxs/vW0h/LOESc/nPZFwiLWgKJIY7xKf/rNRboI5I/3dQByWOfBJW+GSmn9PYc8Sao+/wW/VjHDMo0tJyNnJpmw19L7QxhF199JIoypLDgu5GrrXReDbfsfSSedR5qroGdVcUx3wXdX2nSN9B3jmOhP7wADEV3V5xB7kDjF18nStjrl1r3MxhYhD9b2JWru3HarSGcxdpyeqc1uvEenksr90gcsmEFVOcL5614v5u7q1phhiGu43ogTD430F0ClCU8k4rAJnyhaJjsYL3BTK3acqvVDXkouOzMkODQZLyG13kJmUQF2+LlHWTVB9kbTchwG/6zW8GYCKARClfquI6OidgRUXZwS9YaZRX0wYfThoYu8PDKCSQFfVjsJOTAH86eXiSSXFwc+i6bopKlg7dTMxgvv+pYT6MUzyOGKUMVvSUpQzWO5llarLO9pPx7PMpNE/9VmPEYErlk5TBkp7itBqKOt29hetfwUCEwvbblcjT38kSdCq3W6V37cu0gU8ESW9rQWJbJoiXX6E3e+quYM5TPNLRx2jmKZ6zwEe8nlJIWPPUVai5wFP0qaskHqSfmreUjtUveeqe60I3qEumpwXHQOH0eMVTV0o457FjIZFBm/41j/H0x0yg3Mbggie29vBpMXjLPfjGPbjkHjxEiT807sndcc9vdU1UwaQXFUd+iJhiZHcb3d9te9TrjWFsc30vtuSr4bw+GxlqfcnLAzYwx2AQlzB2+CXoDxi8hfNLdpvRES9zSkSWyn6/Xb+kit7m3+CyjidpL1ney8tDnbxN3VRyvx14xnJwJLZ3O/zW5vM6QvcSQVvp3vaHEPh7lWtorIfz+vTvQ6MY77f/xHi/fXe8mn69hRWPnXMkX9/6q9yy881ZEUHr39TrV3nskPyW8mmsI9QcqSQ5isbpEQYdPIaiO6dFd/R+rONUPuRLBy/bkD209ezHELFtwQxCTIYPbZsuXiZV2pHYO04nD2Smizwe8tj5Vmw5i55ktw/50l44OgiQ4NJZ6JuexX+9D+YoUde21V5mfZ+IwCUFi57ar39xuNsL023qt4bT4v8JnAi1VD/o5lkyygI/elMOb3Rxh91L7vv7aUyHc6P+U3v/0aYK2tFu4lr6DrpitIGDaIpL1tj3JbOtcr2w0X7VcWQ1Anww1finflHNbrNzuvBy/rNerj9qfPXdxg1LlvQu6vW4d60dW1/zcb/f6CYOf40L+XWv14B5nXaMMSMObSJIBl0LHtN9NzzpXQwunMRuhS3HSpwLRq5bPO5dD66d2A5aJ2HQOkHr3DXaKZZ8roP94GnBcXGa9jwtbQeVo6bVPZGfp5ByNfCbzXboN5vN/Ygvngn4ksrQb/sdDyIZ1nwd+SWjx4lEHT/+jPFnRT8UngqfpuiG/Qp/BN70qBT+4IeUYrFQFvxZ4s8N/lxhvnNZRovxGFwXrxi+AC5kHp8lRZ97DAEjMUjkN3y8xJ+HMlQVP8GLdP8+zF4vaG7oivpNxZX4baqP4ZLt2ityF8UrBzExp1/N0W4CgqtyUDIt3am1dz6jVjFSjzZcUfP4aoxWvV5nI3JzFU3hw5TfPiQwv5bhJIVnMhyn8FWG6xTuy3CawnsZBqgLQISANzj2xzJsnQbwgYo9QsBs4bWpx8N65lTPiuqZUT1Lqsc/1fW0sR7H1xU1qSKPKvIrwa6eVcJm6TMKGqUmMIcxrGANM5iCuQcMzuEaLoCu34GH8BqeFaEs2gy+Vl/u82zwOg0fpvoQGQbO73G/1Z3YNns2nOSny/QRF33C5dlQDecjDKKCX9Y8cc8krLDQqs99kjmfDVej7gp1+nFkrfuret1a8xWpjVc5+3/ffSQH1lv+LbWQyXfP8CQ3f6uffHzCirkPHgvNmccx97vj3so0MR51x7atj+Gse2NqY8xgyX2YcL8yjjiylnj4EpYOxzHBsvBxxEADkbUkuyOKU5uNX+MrVn7Fyr8OycddV2rq/DqcYOypr8PJyMY670AJ9U3DOYZLiIdfc4iN+Jx1s3VsAjhOxnioJ7zkD3kMr/l9973h87r0xQ8v+X33Ne5I991nknJ8znNMRTTG8KmY5avOcl9neSORHi+4RxcETfgYvvEI52jG0eznwTUecrrBoFNruOA3jk8O7OjV5n6Qg5s+V2l401cpI+t59cN997EMb/r4h+2am5Cde8u/plaM15HDFIRBvfvuQ4nXovm93sSZwjk+zPCyYhS2zx1+ZZgPa9HvT5l93qX5/2aLEX9bitzneppNNX53Ub/qsisKpKZNW1cDa1HnV44PC5tfsZCGb9uIcY6DE0R70wTxz0AYQ+DgrCCwJmTXXNQvWA0De5sTcNN63ZryNYNvtu71jOMQlvTSndlTREWLkGpmT/EY4bKHtvwum9k2EMph725M6f8ekK/5on6hFwdOpn094hepNYM1fHMwgW2Nb9KCjjvSupo4U4YnBhddM6YajcmMk0aHCLKuIoguyMyK/GbrecHleAj4hyGfC/bUUX6jF/IaKqbur3fIGUw0QZsjyCYDtFP2shD/2H4vY3P+NrXQoy8FUd6pWmTt66xoFca0et3HEJf5yY6hGqGc16VKIjqQ7ehDw4YN0/l0VVSRk30389EcQ+GQYfgitU7btA0xSzppoQ/RlrD7FX4A3qf89h1R9ifFbtpqNhm8lOH9FB7g7xY+/51c5abwJi2jYxu3eyv3XF8IqFk7XvjKfYh2HeWmskecGSalsk/8FttsansZOl6ZwfcZq3qSPy5bxnO1cvA5Dd+nIPntmQy9rb5P9131WJ05AIuHRjG8ERPuuRymSBJNCAwd0qaSflqkd7xq+kmZ3tmtR7lPZCVYF76Ccl9KHkPCT/UtM9TDeAsZPSRbmOR9xlqfpRZyiOcSMFwroqVwryVM8EAt2RtonSQ8wz/CfSv5BJ/0uBpBtTutbsJbXX0+lDKN86ZXpumuxHUxh2epFehGGwFt5tSmNG0q94HksdFDzfH9HfoMbjHMO8fRgXCV5Kf4R3HMDcJNFW/p/mEbhI4fUh2Ks7hkZaz2bo/Ul48cv8T4W4skxViry5U6ZtWgm4/SO8ZaMLfRHeJD8qg9TeIECF83G3OWgI4Q7HviO0E3K3YuVAhhTM2ZQvs5xPgQmYPtCwGExHimIqVYLbnEETC4tPDanQzWfAJXKJGWlziZ3Rdzmw2YUD3UsrhEr6PbsqpS7fKV2KWgLulAQKPV9lucz9ktFbrWhzquBceQjdIdS+NCT49vLfwDcwavLUzSlXf8snJ9zoP+uE8lR/N/DX1DsDebjWXdtzrIraL8g0dc2L8afinGTZI0FRN1NKM7rI7o3sfjvJlClMJmOjV+32qyvOjKRAif3Lk17HDx91aTwYKqsDuwN/AFg0Xfb202iz6+70uZ61hOk7W51vdO5dKdU7jMBd6CrS0SeJ/oWOJZOs/ArOUH9fkAIXca0tQjOHf4JQRqWMwVVTWHTk0f1sXX//LQWyeNZlNXsVeDgXo0H19kR5lQB0dXzu4XhcJjp+4zjB5NNdbrTYNV1i667OFLUI4yCL9adEikUvOfis+/X+m371TaKCtthDncykp/07FY55To/qQ7/8+73ixbadJZWSo9KCZqjRNVbfeXHw5mtxkWVku+Qpe9StOtsulWSD7mpvV63ZpxbBpm/YxeMgYzU405dIVnPejhd8y+4KZvDhZjveLLucrbhgXRxNn3+34tdecrl0UlkNgzBjPGIHP4DK3uMwKKw2caOgUfeI03nyO4vHKE7XKEbRwhxiA3qKqJWlYtPeMect4LjmEeZ6gzqoz3Dzzp6a5lr3jTA/uohpiM29oiN4Qt6vVZLyO6/t8d66LSQc1jVWf0I83onWGflMM+wWGj4fC/OOxfd4b9azHs5/+bw36eD9uMt1OOtxNWWqfh6oWUd2Ney8/jYD8KopdvEOnkaBFnC4x8fYBavbbYDsV6geciJ7LfP637kO9QPitJ9HVJoisKv7K3p4ZYFQUuU2tvLzz1iuyntBXXpJsVbtsPLQZB99CWoNsrihLxb5GjVrti+Mb5L/IEIe23kWS3n8seBF7bDN/wB1+tBn6MJK/V7qOC4j3+3LcCVojtRQ8au0J7HFmPUzxQWmQ4hWp33lsBg+vdrSsoa2tX0xvh7jZ6jhebHOFlD9WZ22KVe2A/bWBHcIga+gYh5qzGkYno++1P2h97f6fOVJKKvCWtnc0Ob4q0Ik21u9PZhO/Cv1mOtCTNp0Sac3JMGF0lyui9a834hBRIs2q158pC/tPQ3HJpTfApqtDRYiv+Dpaetg3j0MRhTCW/b7UYan7hvUUs3dIk+XnCTGpOqAnEF2GhftBpbzY1SXIUFuk3PANeTBsco0VoMZY3Bq7H4X7KUZKWCvnsZnGezLODHMVNlRaelrTw9CTUQSTdGyRnM9llBpXPJbqbYrptj0b8Pqa+t0wYG53fP+2yOxm9rnSvUI64kIA3VHKJcgamgUTB44RkHC3TYOoWzs2zklt4U5EIr/gzkuFR0vFPYQXnIFHSeQOSJB1qZ4WiElV8jk93rGtoKMjR8rv81i50Ssp52tmBzlTaOEtGO9Jdchzf8L6FzTPU51jL8ohDj49Zlz3TN7ya1bRkPb/N3lezaUgb6JnVsezm1iuMeFiUNZQ7sKvlcVKq1RGbfSP3wXAeqxxlUrEU40NwQH7F9AW942e8YSMBA6QWer/xTyrdQXas8cO+oFJN12Jwh4XWV+vkb5Txffu+dYLfTnTcLwLQrF/MwX9lfDRpM8cxSJvDfLHVZvLAO9XCYRlOgoBJATPbo4OI5Ti4NWaxvMBo004SOUQHDyJZuShQ/KZV8LiyCj5UVsGjfBXQEvD1EsCxw2P4oBfBo+oieFwsgg/umTbPnvFH+Eigo0V4JQvflDN2d53s2te+v1RSxdvUwDsCTcmyUPfK+YEnlbG9NM+p2sIDej4rV3gA74hewhN4qcf2oDq2J3psqeIvzShVdTSHxpJTxO+NgoBycK/d2XpOQ1m6BJjUwMv5DaTZWZ+36/VJn0JR3yLfQS4ta61R2Nc3fCNJvYKMlOT9Ezqy1Mel6rX8KWh6xqx9w5d5TWaJ3jDbum9ZN2VdNr0ETcb6/Wq6bnQn48EevK/mAey+zcsULfMv7+QoU6DCAiwhHwQrNCiB1yqnyIywEeBngt0dprGSrd38MUYbi/EBjH6luKnDol234YdaK2Ny+uXc+6HU5/m/WvighS2b3zdv74tUHHb+fCk1n1JUGJQVBmGxkyhFGJCqH2PAD2Zeqf+PZ/6707TnT3BggqaqQJnqbPmtMnOjBGnj7hxN1V/NkammWVbTNBq+SZU0ENO5diZUZ98wnnjHvXJmgLvTFfJxUv5NF587Y8UqLsTAmjl0fyxMkcYKZ8bCKSWYVtalMqLK7e7F2J6Rw0o8jPQVPdJdDacjsO0IbHuq7RhTHjnYeyg0G39dV1ytpcJqEwttuGfNhawratbA8/YkjsBrHQTxMMJNmbozwfBce15ZZfG2lsxeCsMXodSydvjExNNZg3RXEv/mYu46t0DE5a4VOWuIWCksXmhRXMGaDlCjQrgirE/kYB6SOIpeHKxGZe5qVulOie/pVbW8bBJPyuGc5MOpV8V0HFRVTC9jZOOESna38Zzc/Z3mO2XzndBMwhX3obINBt5p+cVp7HzyPfPJaRb25Vwtv929g7N6D9uHtDrh5oroyiVulnZwIwHxXGw265o5hi21pSnwTuuGVhcpnbB4bLPNhiL6mNlekw8nceF78VaLgEY1K3VXZFpI3ZXxCMTTIO4qN0iQ/+g1HTtesYqZVWNwqs/O4B9ucgL6k9KB7Sv0k8aYcnjqhKKL4EEaVYSAd/ADpPpMSlkIE7qFtVHQu4Pfu4KOcQlzjAurw+RqjRIEAwsvAGAD61CTUscAucBr0/LGWGhhis1N38tRYZ8w+1WvSLqyOQajqp4GRQdxUa4sdJhyFPlNMYw2m/t+G9zzPXCaefkVedYLXL44VyY+3er7K9nEx6ku2QOtr03razoTgGzjW2GTMmfQblLAoQqLNvCDTpFmJIHNhlQQJkPQauNZRpxw7VOypt8rfWZIP+NRhCuObsFXFf8mwrsyKjkRkmtpUsNx/lTxdNpxnj5HTxd9x9k5+pYUAYOAKjmHYC+s47e/Wfx8GOhXs0mfDxv6Xfs45dU396q/tHRsi5X2z14LOl4+E+TCnRUu3Jme1DmX7hLGBP1KxHcLSddK+9StBY+0D92EIiXSAUPjdjcXPEP5gDT+6EBXCfhusdu5tvpVYrdbpUJX0xZcwh/SbuY4MDeRWPHCDoZOvRiqm7x4PeNyXHgc5GH0u+OeIB6oEh65EohTOxgK5lSO37wnYzfWKtClsDLqz5b5cFIf46eT+rh6M1fFJU0b6wdOEGpvwXf6IpA2PEkPXZHI/TYo/i41VyS+kBhHWt+RKCu3b+iw7+YWCgFNRmG+TRF9FiGPJMnYFo+RUJ2lt26etbhlRvXRXuo4uceiyYA3VdF+pjP2i+B/R3kN2ZLkNxPEv3J3VEzX1KZiLsYZXee922bPjKpe3+m22DE7v6z4G2CdT1KrEcC7lG7+Ws3nZU40ZOd+CR+lpa/NeI7h4YynkD5wLyu4NFbWcSxjdRTpu42Pjm3JKrd0Vl0bExpAenOr3HJE+T3S1VFPlHVLtwdb7HYLKr9gF9WV7FZuNnj02GLaZTVDAVho+P4pqzezTvLg/JNenN/NkF9iYGY9T3cmYO7xm1cZoglM7FSzfxmuxDlkuBI9yHAlzvNK8a24dyblyn2FsIvxpBmONsOVnUKGKxuLznD/MkXz8Kk/4bFXj9GhDtOlzGzUk76X34lS89FL5BcZptUjPRMGBpx0afyt2GwswWsYLyMHc4oBzrsxJkbFDfeSuDrt7IOw47VKWCQMMb43zcs0mQj0gaBbjY+ObYyYGsvxfH5zG282Cd5yts3nwfCnNscL4aO5vg+PTp4j61JO1N5sRno2c684s4w0QNMcoBECVEKkARohQOUBgEYYOyArPjmRAWi2A9CEACqrAM3+GqCSAJpiYlwANCkBWmrN7sKRYBZ/G5vTiXeBmSIw0SlN47dwRWpF+RLMaAlme3UKOa2swAzD2Vei2aa7Nwl+b3kVd7yqYkjC/aVQlbGyh6IABCuml91io+jedVu5MRxpA90AT7TkYekyoG/LfjKez1H+w/OMdz5+nMfntI0+EpMfFTzwGYt2MzGPXOzAWTJdzQUfZzdycoTBOFS9rq+2p3vJpb6f4XtNIG+ZUpYf9IOndIXA7XdrCQ9tVMdTEc3HShyXXu75rB3+enzxLV4e4zXcDT/MvzvpeE1pjt8KfbxeQNXrx3K1OBcp3pV+s0RJA/ndazEfmL/oF2xw4mVq3X6UhOvVW/jwaucyrshCcLqmFegOPHguQ4HZSYjgHUjxVFHCH2DInSLuS6SdOGsVByU64ohC2jFgdGQdXbfNIO15Org/cvw9x2+VRVLupFrlnvb9Fl2bEUDqcL9NayLp+ZtN0j/dbDo1DFqV9jqbTUruNKqHbnj4KcanuN/cbDqcp/W6X+NR2YJOs1J+mu8pNNR88BlGF1gg65W5V3jfcoZxspoBZBhtKYKsErEoQ38eJPZa+sFXyNyngmOK40Pm/iZ4Yp9A5v5ucvyGOf7AHL/rHL8KbmFycc0tZKXwFdzLSDrKMB6TcUbPU75UUn6nlCvacV5RS4ndhgyjNuV+ZffwC+Z6Lrh+wYbqdawaf7/Q73sxsDIM8oSPJZnMy77Bjn8Utin+TvDGPfqIjliZe4NRhzL3Ci9Dydz7ikuo3NdXiYxjYE1RqZDTs1Du4Sj0kEuTRhkUXAIwLpoKoyya4FAYKArdFUXPIy9MjIKlKAoWhrLiAUdvPzFoneBdwCgt5SlkgA+1WVxhvDAn0B0kRH1EYSOKyFV9/lGx3dNaH1X1Fil9GywJqphSvVL2TnbNqmEBE57ujBo7KxszV+Xu1qATq/dR7TR6dqDRvSJ3Gn6n9DUilYZfHWr4VVkL3W610/A7dajhnSLVhjEcDzfX2lLwHXOxbSRBSMA7HOCFguf6IP3LStazImuGx3PAgy9FvgeVfO/Uzl25EnO+Unilxs59Zfo6M08H/dkyC8PaUcyfYvV7mkohTmDEEI43x54LeGeCBbxV/LEcCoqs9zuFWakk/IYJ15WEPzDhopLwqw4xqN328iiL9EcWh+MpkoA5Ib8uwjmQnsFdiDzGE14BYuL3QX5Ju9NkQAHfwGkyFjpN0k2k0AEJHeQ3f5LhrxJEGr6QuHkjB9AlUWKdxmp8PkfOKn/UIlQqxlPzIX90l/FSvJulyepiZiGzgUzBD/bKH2+FuQhi7SQWJOOvd8A8sd2sJLdDv/VP9zs6flbzd7e8cn+uuPLu73KGXhlu1EHLdUHhUl0vhXRZ4F6R6k2Fzu8lA+2Low+w7V8cqxsiYXhnRzWnxZXZQ1UPL8orMkhSoj2Uph+guGOC/kjesi3V7zeZzlDzQfWaeGOgwlPCrJtHHH4oBzsQpG0b91nVTzS1LnWFeB4IlX46rmNK0QN1hELSr10LruAu3S8kfKug7ueaul/RL6kC/0axctdQ7kpWtg5VXhPh1/OtIUXhggZXAl2R45IPys3M3wnZ2xT62VJu0j2Y69GnYi6UOMKghXjvN/X1re44uZhfoBc9+ZbT01WRJqWWKLQxz9Ccyi9GVJZ6ReIqfZTiKj1Lt4Y47S5S9b1Fqn64SLGy7v/5vw==")),e=>e({workerURI:e=>{const t="text/javascript";let n=at();if("string"==typeof n&&(n=(new S).encode(n)),e){const e=new y([n],{type:t});return f.createObjectURL(e)}return"data:"+t+";base64,"+(e=>{let t="";const n=e.length;let r=0;for(;r+2<n;r+=3){const n=e[r]<<16|e[r+1]<<8|e[r+2];t+=rt[n>>18&63]+rt[n>>12&63]+rt[n>>6&63]+rt[63&n]}const s=n-r;if(1===s){const n=e[r]<<16;t+=rt[n>>18&63]+rt[n>>12&63]+"=="}else if(2===s){const n=e[r]<<16|e[r+1]<<8;t+=rt[n>>18&63]+rt[n>>12&63]+rt[n>>6&63]+"="}return t})(n)}}));var at;function it(e,t){const n=new d(e.length+t.length);return n.set(e),n.set(t,e.length),n}function ot(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new d(e):e}function ct(e){return new m(e.buffer,e.byteOffset,e.byteLength)}const lt=[[],[],[],[],[],[],[],[]];for(let e=0;e<256;e++){let t=e;for(let e=0;e<8;e++)t=1&t?t>>>1^3988292384:t>>>1;lt[0][e]=t}for(let e=0;e<256;e++)for(let t=1;t<8;t++){const n=lt[t-1][e];lt[t][e]=n>>>8^lt[0][255&n]}const[ut,ft,wt,dt,pt,ht,mt,yt]=lt;class bt{constructor(e){this.l=e||-1}append(e){let t=0|this.l;const n=0|e.length;let r=0;if(n>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,n),a=n-8;for(;r<=a;r+=8){const e=t^s.getInt32(r,!0),n=s.getInt32(r+4,!0);t=yt[255&e]^mt[e>>>8&255]^ht[e>>>16&255]^pt[e>>>24&255]^dt[255&n]^wt[n>>>8&255]^ft[n>>>16&255]^ut[n>>>24&255]}}for(;r<n;r++)t=t>>>8^ut[255&(t^e[r])];this.l=t}get(){return~this.l}}class St extends D{constructor(){let e;const t=new bt;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new d(4);new m(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}function xt(e){if(typeof S==ce){const t=new d((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new S).encode(e)}const zt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=zt.h(n);return 32===r?e.concat(t):zt.m(t,r,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+zt.h(n)},S(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,i.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=zt.D(t,e[n-1]&2147483648>>t-1,1)),e},D:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,h:e=>i.round(e/1099511627776)||32,m(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=zt.h(s);return r.push(zt.D(t+a&31,t+a>32?n:r.pop(),1)),r}},Et={bytes:{F(e){const t=zt.bitLength(e)/8,n=new d(t);let r;for(let s=0;s<t;s++)3&s||(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},v(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3&~n||(t.push(r),r=0);return 3&n&&t.push(zt.D(8*(3&n),r)),t}}},gt=class{constructor(e){const t=this;t.blockSize=512,t.C=[1732584193,4023233417,2562383102,271733878,3285377520],t.R=[1518500249,1859775393,2400959708,3395469782],e?(t.U=e.U.slice(0),t.T=e.T.slice(0),t.O=e.O):t.reset()}reset(){const e=this;return e.U=e.C.slice(0),e.T=[],e.O=0,e}update(e){const t=this;"string"==typeof e&&(e=Et.I.v(e));const n=t.T=zt.concat(t.T,e),r=t.O,s=t.O=r+zt.bitLength(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const a=new h(n);let i=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);e<=s;e+=t.blockSize)t.A(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),t}N(){const e=this;let t=e.T;const n=e.U;t=zt.concat(t,[zt.D(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(i.floor(e.O/4294967296)),t.push(0|e.O);t.length;)e.A(t.splice(0,16));return e.reset(),n}V(e,t,n,r){return e<=19?t&n|~t&r:e<=39?t^n^r:e<=59?t&n|t&r|n&r:e<=79?t^n^r:void 0}L(e,t){return t<<e|t>>>32-e}A(e){const n=this,r=n.U,s=t(80);for(let t=0;t<16;t++)s[t]=e[t];let a=r[0],o=r[1],c=r[2],l=r[3],u=r[4];for(let e=0;e<=79;e++){e>=16&&(s[e]=n.L(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=n.L(5,a)+n.V(e,o,c,l)+u+s[e]+n.R[i.floor(e/20)]|0;u=l,l=c,c=n.L(30,o),o=a,a=t}r[0]=r[0]+a|0,r[1]=r[1]+o|0,r[2]=r[2]+c|0,r[3]=r[3]+l|0,r[4]=r[4]+u|0}},Dt={importKey:e=>new Dt.M(Et.bytes.v(e)),P(e,t,n,r){if(n=n||1e4,r<0||n<0)throw new w("invalid params to pbkdf2");const s=1+(r>>5)<<2;let a,i,o,c,l;const u=new ArrayBuffer(s),f=new m(u);let d=0;const p=zt;for(t=Et.bytes.v(t),l=1;d<(s||1);l++){for(a=i=e.encrypt(p.concat(t,[l])),o=1;o<n;o++)for(i=e.encrypt(i),c=0;c<i.length;c++)a[c]^=i[c];for(o=0;d<(s||1)&&o<a.length;o++)f.setInt32(d,a[o]),d+=4}return u.slice(0,r/8)},M:class{constructor(e){const t=this,n=t.K=gt,r=[[],[]];t.W=[new n,new n];const s=t.W[0].blockSize/32;e.length>s&&(e=(new n).update(e).N());for(let t=0;t<s;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t.W[0].update(r[0]),t.W[1].update(r[1]),t.Z=new n(t.W[0])}reset(){const e=this;e.Z=new e.K(e.W[0]),e.j=!1}update(e){this.j=!0,this.Z.update(e)}digest(){const e=this,t=e.Z.N(),n=new e.K(e.W[1]).update(t).N();return e.reset(),n}encrypt(e){if(this.j)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Ft=typeof E!=ce&&typeof E.getRandomValues==le,vt="Invalid password",Ct="Invalid signature",Rt=Ct,kt="zipjs-abort-check-password",Ut="Crypto API not supported";function Tt(e){if(Ft)return E.getRandomValues(e);throw new w(Ut)}const Ot=16,It={name:"PBKDF2"},At=n.assign({hash:{name:"HMAC"}},It),Nt=n.assign({iterations:1e3,hash:{name:"SHA-1"}},It),Vt=["deriveBits"],Lt=[8,12,16],Mt=[16,24,32],Pt=10,Kt=[0,0,0,0],Wt=typeof E!=ce,Zt=Wt&&E.subtle,jt=Wt&&typeof Zt!=ce,qt=Et.bytes,Yt=class{constructor(e){const t=this;t.Y=[[[],[],[],[],[]],[[],[],[],[],[]]],t.Y[0][0][0]||t.X();const n=t.Y[0][4],r=t.Y[1],s=e.length;let a,i,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(t.R=[i=e.slice(0),o=[]],a=s;a<4*s+28;a++){let e=i[a-1];(a%s===0||8===s&&a%s===4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],a%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),i[a]=i[a-s]^e}for(let e=0;a;e++,a--){const t=i[3&e?a:a-4];o[e]=a<=4||e<4?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this.B(e,0)}decrypt(e){return this.B(e,1)}X(){const e=this.Y[0],t=this.Y[1],n=e[4],r=t[4],s=[],a=[];let i,o,c,l;for(let e=0;e<256;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let u=i=0;!n[u];u^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[u]=a,r[a]=u,l=s[c=s[o=s[u]]];let f=16843009*l^65537*c^257*o^16843008*u,w=257*s[a]^16843008*a;for(let n=0;n<4;n++)e[n][u]=w=w<<24^w>>>8,t[n][a]=f=f<<24^f>>>8}for(let n=0;n<5;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}B(e,t){if(4!==e.length)throw new w("invalid aes block size");const n=this.R[t],r=n.length/4-2,s=[0,0,0,0],a=this.Y[t],i=a[0],o=a[1],c=a[2],l=a[3],u=a[4];let f,d,p,h=e[0]^n[0],m=e[t?3:1]^n[1],y=e[2]^n[2],b=e[t?1:3]^n[3],S=4;for(let e=0;e<r;e++)f=i[h>>>24]^o[m>>16&255]^c[y>>8&255]^l[255&b]^n[S],d=i[m>>>24]^o[y>>16&255]^c[b>>8&255]^l[255&h]^n[S+1],p=i[y>>>24]^o[b>>16&255]^c[h>>8&255]^l[255&m]^n[S+2],b=i[b>>>24]^o[h>>16&255]^c[m>>8&255]^l[255&y]^n[S+3],S+=4,h=f,m=d,y=p;for(let e=0;e<4;e++)s[t?3&-e:e]=u[h>>>24]<<24^u[m>>16&255]<<16^u[y>>8&255]<<8^u[255&b]^n[S++],f=h,h=m,m=y,y=b,b=f;return s}},Xt=class{constructor(e,t){this.H=e,this.G=t,this.J=t}reset(){this.J=this.G}update(e){return this._(this.H,e,this.J)}$(e){if(255&~(e>>24))e+=1<<24;else{let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}return e}ee(e){0===(e[0]=this.$(e[0]))&&(e[1]=this.$(e[1]))}_(e,t,n){let r;if(!(r=t.length))return[];const s=zt.bitLength(t);for(let s=0;s<r;s+=4){this.ee(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return zt.S(t,s)}},Bt=Dt.M;let Ht=Wt&&jt&&typeof Zt.importKey==le,Qt=Wt&&jt&&typeof Zt.deriveBits==le;class Gt extends D{constructor({password:e,rawPassword:t,encryptionStrength:n,checkPasswordOnly:r,checkAuthenticationCode:s=!0}){super({start(){_t(this,e,t,n)},async transform(e,t){const n=this,{password:s,strength:a,te:i,ready:o}=n;s?(await(async(e,t,n,r)=>{const s=await en(e,t,n,nn(r,0,Lt[t])),a=nn(r,Lt[t]);if(s[0]!=a[0]||s[1]!=a[1])throw new w(vt)})(n,a,s,nn(e,0,Lt[a]+2)),e=nn(e,Lt[a]+2),r?t.error(new w(kt)):i()):await o;const c=new d(e.length-Pt-(e.length-Pt)%Ot);t.enqueue($t(n,e,c,0,Pt,!0))},async flush(e){const{ne:t,re:n,se:r,ready:a}=this;if(n&&t){await a;const i=nn(r,0,r.length-Pt),o=nn(r,r.length-Pt);let c=fe;if(i.length){const e=sn(qt,i);n.update(e);const r=t.update(e);c=rn(qt,r)}const l=nn(rn(qt,n.digest()),0,Pt);let u=r.length<Pt?1:0;for(let e=0;e<Pt;e++)u|=l[e]^o[e];if(u&&s)throw new w(Rt);e.enqueue(c)}}})}}class Jt extends D{constructor({password:e,rawPassword:t,encryptionStrength:n}){super({start(){_t(this,e,t,n)},async transform(e,t){const n=this,{password:r,strength:s,te:a,ready:i}=n;let o=fe;r?(o=await(async(e,t,n)=>{const r=Tt(new d(Lt[t]));return it(r,await en(e,t,n,r))})(n,s,r),a()):await i;const c=new d(o.length+e.length-e.length%Ot);c.set(o,0),t.enqueue($t(n,e,c,o.length,0))},async flush(e){const{ne:t,re:n,se:r,ready:s}=this;if(n&&t){await s;let a=fe;if(r.length){const e=t.update(sn(qt,r));n.update(e),a=rn(qt,e)}const i=rn(qt,n.digest()).slice(0,Pt);e.enqueue(it(a,i))}}})}}function _t(e,t,r,s){n.assign(e,{ready:new b(t=>e.te=t),password:tn(t,r),strength:s-1,se:fe})}function $t(e,t,n,r,s,a){const{ne:i,re:o,se:c}=e;c.length&&(t=it(c,t));const l=t.length-s;let u;for(n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new d(t)).set(n,0)}return e})(n,r+(l-l%Ot)),u=0;u<=l-Ot;u+=Ot){const e=sn(qt,nn(t,u,u+Ot));a&&o.update(e);const s=i.update(e);a||o.update(s),n.set(rn(qt,s),u+r)}return e.se=nn(t,u),n}async function en(e,r,s,a){e.password=null;const i=await(async(e,t,n,r,s)=>{if(!Ht)return Dt.importKey(t);try{return await Zt.importKey("raw",t,n,!1,s)}catch{return Ht=!1,Dt.importKey(t)}})(0,s,At,0,Vt),o=await(async(e,t,n)=>{if(!Qt)return Dt.P(t,e.salt,Nt.iterations,n);try{return await Zt.deriveBits(e,t,n)}catch{return Qt=!1,Dt.P(t,e.salt,Nt.iterations,n)}})(n.assign({salt:a},Nt),i,8*(2*Mt[r]+2)),c=new d(o),l=sn(qt,nn(c,0,Mt[r])),u=sn(qt,nn(c,Mt[r],2*Mt[r])),f=nn(c,2*Mt[r]);return n.assign(e,{keys:{key:l,ae:u,passwordVerification:f},ne:new Xt(new Yt(l),t.from(Kt)),re:new Bt(u)}),f}function tn(e,t){return t===ie?xt(e):t}function nn(e,t,n){return e.subarray(t,n)}function rn(e,t){return e.F(t)}function sn(e,t){return e.v(t)}class an extends D{constructor({password:e,rawPassword:t,passwordVerification:n,checkPasswordOnly:r}){super({start(){cn(this,e,t,n)},transform(e,t){const n=this;if(n.password||n.rawPassword){const t=ln(n,e.subarray(0,12));if(n.password=n.rawPassword=null,0!=(t[11]^n.passwordVerification))throw new w(vt);e=e.subarray(12)}r?t.error(new w(kt)):t.enqueue(ln(n,e))}})}}class on extends D{constructor({password:e,rawPassword:t,passwordVerification:n}){super({start(){cn(this,e,t,n)},transform(e,t){const n=this;let r,s;if(n.password||n.rawPassword){n.password=n.rawPassword=null;const t=Tt(new d(12));t[11]=n.passwordVerification,r=new d(e.length+t.length),r.set(un(n,t),0),s=12}else r=new d(e.length),s=0;r.set(un(n,e),s),t.enqueue(r)}})}}function cn(e,t,r,s){n.assign(e,{password:t,rawPassword:r,passwordVerification:s}),((e,t,r)=>{const s=[305419896,591751049,878082192];if(n.assign(e,{keys:s,ie:new bt(s[0]),oe:new bt(s[2])}),r)for(let t=0;t<r.length;t++)fn(e,r[t]);else for(let n=0;n<t.length;n++)fn(e,t.charCodeAt(n))})(e,t,r)}function ln(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=wn(e)^t[r],fn(e,n[r]);return n}function un(e,t){const n=new d(t.length);for(let r=0;r<t.length;r++)n[r]=wn(e)^t[r],fn(e,t[r]);return n}function fn(e,t){let[,n]=e.keys;e.ie.append([t]);const r=~e.ie.get();n=pn(i.imul(pn(n+dn(r)),134775813)+1),e.oe.append([n>>>24]);const s=~e.oe.get();e.keys=[r,n,s]}function wn(e){const t=2|e.keys[2];return dn(i.imul(t,1^t)>>>8)}function dn(e){return 255&e}function pn(e){return 4294967295&e}function hn(e){if(e instanceof F)return e;const t=e.getReader();return new F({async pull(e){const{value:n,done:r}=await t.read();r?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})}function mn(e,t){e=hn(e);const n=t?{type:t}:{};if(typeof y.prototype.stream!=le||new y([]).stream()instanceof F)return new u(e).blob().then(e=>t?new y([e],n):e);const r=[];return e.pipeTo(new v({write(e){r.push(e)}})).then(()=>new y(r,n))}function yn(e){if(e instanceof v)return e;const t=e.getWriter();return new v({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const bn="Invalid codec definition",Sn="Reserved compression method",xn="Invalid codec module",zn=[0,8,9,99],En=new c,gn=new c;function Dn(e){return En.get(e)}function Fn(e){return gn.get(e)}function vn(e,t){const{CompressionStream:n,DecompressionStream:r}=t;if(typeof n!=le&&typeof r!=le)throw new w(xn);gn.set(e,{CompressionStream:n,DecompressionStream:r})}const Cn="Invalid uncompressed size",Rn="Invalid compressed data",kn=Ct,Un="deflate-raw",Tn="gzip",On=[31,139,8];class In extends D{constructor(e,{chunkSize:t,CompressionStreamFallback:n,CompressionStream:r}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,computeCrc32:c,level:l,deflate64:u,format:f,compressionMethod:w}=e,d=this;let p,h,y,b=super.readable;const S=f&&Fn(f),x=c&&s&&!u&&!S&&(!a||o)&&!(!i||!r);if(a&&!o||!c||x||(p=new St,b=Zn(b,p)),s)if(S)b=jn(b,Kn(S.CompressionStream,f,{level:l,chunkSize:t,compressionMethod:w}));else if(x)y=new An,b=jn(b,new r(Tn)),b=Zn(b,y);else try{b=Wn(b,i,{level:l,chunkSize:t},r,n)}catch(e){let t;try{t=new r(Tn)}catch{throw e}b=jn(b,t),b=Zn(b,new An)}a&&(o?b=Zn(b,new on(e)):(h=new Jt(e),b=Zn(b,h))),Pn(d,b,()=>{a&&!o||!c||(d.crc32=x?y.crc32:new m(p.value.buffer).getUint32(0))})}}class An extends D{constructor(){let e,t=10,n=new d(0);super({transform(e,r){if(t){const n=i.min(t,e.length);if(t-=n,!(e=e.subarray(n)).length)return}const s=n.length+e.length;if(s<=8)return void(n=it(n,e));const a=s-8,o=i.min(a,n.length);r.enqueue(it(n.subarray(0,o),e.subarray(0,a-o))),n=it(n.subarray(o),e.subarray(a-o))},flush(){const t=ct(n);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Nn extends D{constructor(e,{chunkSize:t,DecompressionStreamFallback:n,DecompressionStream:r}){super({});const{zipCrypto:s,encrypted:a,checkCrc32:i,crc32:o,compressed:c,useCompressionStream:l,deflate64:u,format:f,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let S,x,z=super.readable;if(a&&(s?z=Zn(z,new an(e)):(x=new Gt(e),z=Zn(z,x))),c){const e=f&&Fn(f);if(e)z=jn(z,Kn(e.DecompressionStream,f,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{z=Wn(z,l,{chunkSize:t,deflate64:u},r,n)}catch(e){if(u||y===ie)throw e;let t;try{t=new r(Tn)}catch{throw e}z=((e,t,n)=>{const r=new bt;let s,a,i,o=0,c=!1;const l=new b((e,t)=>{a=e,i=t});l.catch(()=>{}),n||a();const u=new D({start(e){const t=new d(10);t.set(On),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await l}finally{h()}const t=new d(8),s=ct(t);s.setUint32(0,r.get(),!0),s.setUint32(4,n,!0),e.enqueue(t)},cancel(e){i(e)}}),f=new D({transform(e,t){r.append(e),o+=e.length,o>=n?a():c&&p(),t.enqueue(e)},cancel(e){i(e)}});return e=Zn(e,u),Zn(e=jn(e,t),f);function p(){h(),s=O(()=>i(new w(Cn)),5e3)}function h(){I(s)}})(z,t,y)}z=(e=>{const t=e.getReader();return new F({async pull(e){let n;try{n=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(Rn);throw t.cause=e,t}const{value:r,done:s}=n;s?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})})(z)}i&&(S=new St,z=Zn(z,S)),Pn(this,z,()=>{if(i){const e=new m(S.value.buffer);if(o!=e.getUint32(0,!1))throw new w(kn)}})}}const Vn=new c;function Ln(e,t){if(!e)return!1;let n=Vn.get(e);n||(n=new c,Vn.set(e,n));let r=n.get(t);if(r===ie){try{new e(t),r=!0}catch{r=!1}n.set(t,r)}return r}function Mn(e){return Ln(e,Un)}function Pn(e,t,r){t=Zn(t,new D({flush:r})),n.defineProperty(e,"readable",{get:()=>t})}function Kn(e,t,n){if(!e)throw new w("Compression method not supported");return new e(t,n)}function Wn(e,t,n,r,s){const a=t&&r?r:s||r,i=n.deflate64?"deflate64-raw":Un;let o;try{o=new a(i,n)}catch(e){if(!t||!s||a==s)throw e;o=new s(i,n)}return jn(e,o)}function Zn(e,t){return hn(e).pipeThrough(t)}function jn(e,t){const n=t.writable.getWriter(),r=e.getReader();return(async()=>{try{for(;;){await n.ready;const e=await r.read();if(e.done){await n.close();break}await n.write(e.value)}}catch(e){await(async(e,t)=>{try{await e.abort(t)}catch{}})(n,e),await(async(e,t)=>{try{await e.cancel(t)}catch{}})(r,e)}})(),t.readable}const qn="data",Yn="deflate",Xn="inflate";class Bn extends D{constructor(e,t){super({});const r=this,{codecType:s}=e;let a;s.startsWith(Yn)?a=In:s.startsWith(Xn)&&(a=Nn),r.outputSize=0;let i=0;const o=new a(e,t),c=super.readable,l=new D({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){n.assign(r,{inputSize:i})}}),u=new D({transform(t,n){if(t&&t.length&&(n.enqueue(t),r.outputSize+=t.length,e.outputSize!==ie&&r.outputSize>e.outputSize))throw new w(Cn)},flush(){const{crc32:e}=o;n.assign(r,{crc32:e,inputSize:i})}});n.defineProperty(r,"readable",{get:()=>c.pipeThrough(l).pipeThrough(o).pipeThrough(u)})}}class Hn extends D{constructor(e){const t=[];let n=0;function r(){const r=new d(e);let s=0;for(;s<e;){const n=t[0],a=e-s;n.length<=a?(r.set(n,s),s+=n.length,t.shift()):(r.set(n.subarray(0,a),s),t[0]=n.subarray(a),s+=a)}return n-=e,r}(!s.isFinite(e)||e<1)&&(e=65536),super({transform(s,a){for(t.push(s),n+=s.length;n>e;)a.enqueue(r())},flush(e){n&&e.enqueue(((e,t)=>{const n=new d(t);let r=0;for(const t of e)n.set(t,r),r+=t.length;return n})(t,n))}})}}const Qn="Worker startup timeout";let Gn,Jn,_n;function $n(e){e.createWorker?Jn=!0:Gn=!1}class er{constructor(e,{readable:t,writable:r},{options:s,config:a,ce:i,useWebWorkers:o,transferStreams:c,workerURI:l,createWorker:u},f){const{signal:w}=i;return Jn&&(u=ie),n.assign(e,{le:!0,ue:(e.ue||0)+1,readable:t.pipeThrough(new Hn(je(a))).pipeThrough(new tr(i),{signal:w}),writable:r,options:n.assign({},s),workerURI:l,createWorker:u,transferStreams:c,terminate:()=>new b(t=>{const{fe:n,le:r}=e;n?(r?e.we=t:(n.terminate(),t()),e.de=null):t()}),pe(){if(e.le){const{we:t}=e;t&&(e.we=null,e.he=!0,e.fe.terminate(),t()),e.le=!1,f(e)}}}),Gn===ie&&(Gn=typeof U!=ce),(o&&_n&&(Gn&&l||u)?_n:rr)(e,a)}}class tr extends D{constructor({onstart:e,onprogress:t,size:n,onend:r}){let s=0;super({async start(){e&&await nr(e,n)},async transform(e,r){s+=e.length,t&&await nr(t,s,n),r.enqueue(e)},async flush(){r&&await nr(r,s)}})}}async function nr(e,...t){try{await e(...t)}catch{}}function rr(e,t){return{run:()=>sr(e,t)}}async function sr({options:e,readable:t,writable:n,pe:r},s){let a;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Yn),n=t?s.CompressionStreamFallback:s.DecompressionStreamFallback,r=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(n&&n.me&&!Mn(r))try{await void 0}catch{}}else try{await void 0}catch{n&&!n.me||(e.useCompressionStream=!0)}}a=new Bn(e,s),await t.pipeThrough(a).pipeThrough(new Hn(je(s))).pipeTo(n,{preventClose:!0,preventAbort:!0});const{crc32:r,inputSize:i,outputSize:o}=a;return{crc32:r,inputSize:i,outputSize:o}}catch(e){throw a&&(e.outputSize=a.outputSize),e}finally{r()}}const ar={type:"module"},ir="error";let or,cr,lr,ur=!0;try{ur=typeof A==le&&A(new DOMException("","AbortError")).code!==ie}catch{}var fr;function wr(e){const{reader:t}=e;t&&t.releaseLock(),e.reader=null,e.writer=null}function dr(e){const{fe:t}=e;if(t)try{t.terminate()}catch{}e.de=null}function pr(e,t,r,s,a=!0){const{createWorker:i}=r;let o,c,l;if(i)o=i();else if(cr===ie||or!==e){const n=typeof e==le;c=n?e(a):e;const i=c.startsWith("data:"),u=c.startsWith("blob:");if(i||u){s===ie&&(s=!1),s&&(l=ar);try{o=new U(c,l)}catch(a){if(u)try{f.revokeObjectURL(c)}catch{}if(n&&u)return pr(e,t,r,s,!1);if(s)throw a;return pr(e,t,r,!0,!1)}}else{s===ie&&(s=!0),s&&(l=ar);try{c=new f(c,t)}catch{}try{o=new U(c,l)}catch(n){if(s)return pr(e,t,r,!1,a);throw n}}or=e,cr=c,lr=l}else o=new U(cr,lr);return o.addEventListener("message",e=>{r.ye=!0,hr(r),(async({data:e},t)=>{const{type:r,value:s,messageId:a,result:i,error:o}=e,{reader:c,writer:l,be:u,Se:f,pe:p,ue:h}=t,m=()=>t.ue!=h;try{if(o){const{message:e,stack:t,code:r,name:s,outputSize:a,cause:i,codecImportFailed:c}=o,l=new w(e);n.assign(l,{stack:t,code:r,name:s,outputSize:a}),i&&(l.cause=n.assign(new w(i.message),{name:i.name})),c&&(l.codecImportFailed=!0),y(l)}else{if("pull"==r){const{value:e,done:n}=await c.read();m()||yr({type:qn,value:e,done:n,messageId:a},t)}r==qn&&(await l.ready,await l.write(new d(s)),m()||yr({type:"ack",messageId:a},t)),"close"==r&&y(null,i)}}catch(o){m()||(dr(t),y(o))}function y(e,t){m()||(e?f(e):u(t),l&&l.releaseLock(),e&&e.codecImportFailed||p())}})(e,r)}),o.addEventListener(ir,e=>mr(e,r)),o.addEventListener("messageerror",e=>mr(e,r)),o}function hr(e){const{xe:t}=e;t&&(I(t),e.xe=null)}function mr(e,t){e.preventDefault&&e.preventDefault(),hr(t);const{ye:r,Se:s,writer:a,pe:i}=t;dr(t),r||(t.fe=null);let o=e.error||new w(e.message||ir);r||(o=n.assign(new w(o.message||ir),{ze:!0}),t.Ee=o),s&&(s(o),a&&a.releaseLock(),r&&i())}function yr(e,{fe:t,writer:n,transferStreams:r,ye:s}){try{const{value:n,readable:a,writable:i}=e,o=[];if(n&&(e.value=ot(n),o.push(e.value.buffer)),r&&ur&&s?(a&&o.push(a),i&&o.push(i)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{ur=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw n&&n.releaseLock(),e}}fr=(e,t)=>{const{baseURI:r,chunkSize:a,workerStartupTimeout:i}=t;let{wasmURI:o}=t;if(!e.de){let c;typeof o==le&&(o=o());try{c=pr(e.workerURI,r,e)}catch{return $n(e),rr(e,t)}n.assign(e,{fe:c,ye:!1,he:!1,Ee:null,de:{run:async()=>{try{return await(async(e,t)=>{if(!e.fe){const{Ee:t}=e;e.Ee=null;const n=t||new w(Qn);throw n.ze=!0,n}let r,a;const i=new b((e,t)=>{r=e,a=t});n.assign(e,{reader:null,writer:null,be:r,Se:a,result:i});const{readable:o,options:c}=e,{writable:l,closed:u,ge:f}=(e=>{const t=new AbortController,{writable:n,readable:r}=new D,s=r.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:n,closed:s,ge:()=>t.abort()}})(e.writable);let d;try{d=yr({type:"start",options:c,config:t,readable:o,writable:l},e)}catch(t){f();try{await u}catch{}throw e.pe(),t}d||n.assign(e,{reader:o.getReader(),writer:l.getWriter()});const{workerStartupTimeout:p}=t;!e.ye&&s.isFinite(p)&&p>=0&&(e.xe=O(()=>(e=>{if(e.xe=null,e.ye)return;const{Se:t,writer:n}=e;if(dr(e),e.fe=null,t){const e=new w(Qn);e.ze=!0,t(e),n&&n.releaseLock()}})(e),p));try{const e=await i;return await h(),await u,e}catch(e){await h(),f();try{await u}catch{}throw e}async function h(){if(!d&&!l.locked)try{await l.getWriter().close()}catch{}}})(e,{chunkSize:a,wasmURI:o,baseURI:r,workerStartupTimeout:i})}catch(n){if(n&&n.ze)return $n(e),wr(e),sr(e,t);if(n&&n.codecImportFailed){if(e.reader)return wr(e),sr(e,t);e.pe()}throw n}}}})}return e.de},_n=fr;let br=[];const Sr=[];let xr,zr,Er=0;async function gr(e,t){const{options:n,config:r}=t,{transferStreams:a,useWebWorkers:i,useCompressionStream:o,compressed:c,checkCrc32:l,computeCrc32:u,encrypted:w,format:d,codecURI:p}=n,{workerURI:h,createWorker:m,maxWorkers:y}=r;d&&(p&&(n.codecURI=((e,t)=>{try{return new f(e,t).toString()}catch{return e}})(p,r.baseURI)),await(async(e,t)=>{!gn.has(e)&&t&&vn(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(d,n.codecURI)),t.transferStreams=!d&&(a||a===ie&&r.transferStreams);const S=!(c||l||u||w),x=d===ie||!!n.codecURI;return t.useWebWorkers=!S&&x&&(i||i===ie&&r.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:ie,t.createWorker=t.useWebWorkers&&m?m:ie,n.useCompressionStream=o||o===ie&&r.useCompressionStream,(await(async()=>{const n=br.find(e=>!e.le);if(n)return Rr(n),new er(n,e,t,z);if(br.length<y){const n={De:Er};return Er++,br.push(n),new er(n,e,t,z)}return new b(n=>{Sr.push({resolve:n,stream:e,Fe:t}),zr=r.workerStarvationTimeout,Dr()})})()).run();function z(e){if(Fr(),Sr.length){const[{resolve:t,stream:n,Fe:r}]=Sr.splice(0,1);t(new er(e,n,r,z)),Dr()}else e.fe?(Rr(e),((e,t)=>{const{config:n}=t,{terminateWorkerTimeout:r}=n;s.isFinite(r)&&r>=0&&(e.he?e.he=!1:e.ve=O(async()=>{br=br.filter(t=>t!=e);try{await e.terminate()}catch{}},r))})(e,t)):br=br.filter(t=>t!=e)}}function Dr(){!xr&&Sr.length&&s.isFinite(zr)&&zr>=0&&(xr=O(vr,zr))}function Fr(){xr&&(I(xr),xr=null)}function vr(){if(xr=null,Sr.length){const[{resolve:e,stream:t,Fe:r}]=Sr.splice(0,1),s=n.assign({},r,{useWebWorkers:!1,workerURI:ie,createWorker:ie});e(new er({},t,s,Cr)),Dr()}}function Cr(){Fr(),Dr()}function Rr(e){const{ve:t}=e;t&&(I(t),e.ve=null)}const kr="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function Ur(e,t){return Tr(e,t,!0)}function Tr(e,t,n){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let n=0;n<e.length;n++)t+=kr[e[n]];return t}})(e):new x(t,{ignoreBOM:n}).decode(e)}const Or="HTTP error ",Ir="HTTP Range not supported",Ar="HTTP resource changed",Nr="Writer iterator completed too soon",Vr="Writer not initialized",Lr="Content-Range",Mr="Range",Pr="GET",Kr="bytes",Wr=16777216,Zr="writable",jr=T();class qr{constructor(){this.size=0}init(){this.initialized=!0}}class Yr extends qr{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:n=je(Ze())}={}){const r=this;let s=0;return n=qe(n),new F({async pull(a){const o=t===ie?n:i.min(n,t-s),c=await Es(r,e+s,o);c.length&&a.enqueue(c),s+n>=t||!c.length&&o?a.close():s+=n}})}}class Xr extends qr{constructor(){super();const e=this,t=new v({write(t){if(!e.initialized)throw new w(Vr);return e.writeUint8Array(ot(t))}});n.defineProperty(e,Zr,{get:()=>t})}writeUint8Array(){}}let Br,Hr;class Qr extends Yr{constructor(e){super(),n.assign(this,{Ce:e,size:e.size}),Hr||(Hr=(async()=>{try{const e=new y([new d(3)]).slice(1,2).stream().getReader();let t=0,n=await e.read();for(;!n.done;)t+=n.value.length,n=await e.read();Br=1==t}catch{Br=!1}})())}createReadable(e){const{Ce:t,size:n}=this,{offset:r=0,size:s=n-r}=e||{};return!r&&s>=n?hn(t.stream()):Br?hn(t.slice(r,r+s).stream()):super.createReadable(e)}async readUint8Array(e,t){const n=this,r=e+t,s=!e&&r>=n.size?n.Ce:n.Ce.slice(e,r);let a=await s.arrayBuffer();return a.byteLength>t&&(a=a.slice(e,r)),new d(a)}}class Gr extends qr{constructor(e){super();const t=this,r=new D;n.defineProperty(t,Zr,{get:()=>r.writable}),t.contentType=e,t.Re=mn(r.readable,e),t.Re.catch(()=>{})}getData(){return this.Re}}class Jr extends Yr{constructor(e,t){super(),$r(this,e,t)}async init(){await es(this,ws,cs),super.init()}createReadable(e){const t=this,{useRangeHeader:n,forceRangeRequests:r,size:a}=t;if((n||r)&&a!==ie){const{offset:n=0,size:r=a-n}=e||{};if(r>0&&n<a)return((e,t,n)=>{let r,a=t,o=0,c=n;return new F({start:()=>l(),async pull(e){r||await l();const{value:t,done:n}=await r.read();if(n)throw new w(Ir);const s=t.length>o?t.subarray(0,o):t;o-=s.length,c-=s.length,s.length&&e.enqueue(s),o||(await(async()=>{const e=r;r=ie,await e.cancel()})(),c||e.close())},cancel:e=>r&&r.cancel(e)});async function l(){const t=i.min(e.maximumRangeSize,c),n=await ws(Pr,e,is(e,a,t));if(206!=n.status)throw new w(Ir);const l=n.headers.get(Lr);if(l){const e=s(l.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=a)throw new w(Ir)}as(e,n),ss(e,n),a+=t,o=t,r=n.body.getReader()}})(t,n,i.min(r,a-n))}return super.createReadable(e)}readUint8Array(e,t){return ts(this,e,t,ws,cs)}}class _r extends Yr{constructor(e,t){super(),$r(this,e,t)}async init(){await es(this,ds,ls),super.init()}readUint8Array(e,t){return ts(this,e,t,ds,ls)}}function $r(e,t,r){const{preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:l=Wr,fetch:u}=r;delete(r=n.assign({},r)).preventHeadRequest,delete r.useRangeHeader,delete r.forceRangeRequests,delete r.combineSizeEocd,delete r.checkResourceChanges,delete r.maximumRangeSize,delete r.useXHR,delete r.fetch,n.assign(e,{url:t,options:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:l,fetch:u})}async function es(e,t,n){const{url:r,preventHeadRequest:s,useRangeHeader:a,forceRangeRequests:i,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=Ze(),{protocol:n}=new f(e,t);return"http:"==n||"https:"==n})(r)&&(a||i)&&(typeof s==ce||s)){const r=await t(Pr,e,is(e,o?-22:void 0)),s=r.headers.get("Accept-Ranges");if(!(i||s&&s.toLowerCase()==Kr))throw new w(Ir);{if(o){const t=new d(await r.arrayBuffer());206==r.status&&t.length==B&&(e.ke=t)}ss(e,r);const s=ns(r);s===ie?await fs(e,t,n):e.size=s}}else await fs(e,t,n)}async function ts(e,t,n,r,a){const{useRangeHeader:i,forceRangeRequests:o,ke:c,size:l,options:u}=e;if(i||o){if(c&&t==l-B&&n==B)return c;if(t>=l||0===n)return fe;{t+n>l&&(n=l-t);const a=await r(Pr,e,is(e,t,n));if(206!=a.status)throw new w(Ir);const i=a.headers.get(Lr);if(i){const e=s(i.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(Ir)}as(e,a),ss(e,a);const o=new d(await a.arrayBuffer());if(o.length!=n)throw new w(Ir);return o}}{const{data:r}=e;return r||await a(e,u),e.data.subarray(t,t+n)}}function ns(e){const t=e.headers.get(Lr);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function rs({headers:e}){return{Ue:e.get("Etag")||ie,lastModified:e.get("Last-Modified")||ie}}function ss(e,t){const{checkResourceChanges:n,Te:r}=e;n&&!r&&206==t.status&&(e.Te=rs(t))}function as(e,t){const{checkResourceChanges:r,Te:s,size:a}=e;if(r){const e=ns(t);if(e!==ie&&a!==ie&&e!=a)throw new w(Ar);if(s){const e=rs(t);if(n.entries(s).some(([t,n])=>n!==ie&&e[t]!==ie&&n!=e[t]))throw new w(Ar)}}}function is(e,t=0,r=1){return n.assign({},os(e),{[Mr]:Kr+"="+(t<0?t:t+"-"+(t+r-1))})}function os({options:e}){const{headers:t}=e;if(t)return T.iterator in t?n.fromEntries(t):t}async function cs(e){await us(e,ws)}async function ls(e){await us(e,ds)}async function us(e,t){const n=await t(Pr,e,os(e));e.data=new d(await n.arrayBuffer()),e.size=e.data.length}async function fs(e,t,n){if(e.preventHeadRequest)await n(e,e.options);else{const r=await t("HEAD",e,os(e)),a=r.headers.get("Content-Length");a&&!r.headers.get("Content-Encoding")?e.size=s(a):await n(e,e.options)}}async function ws(e,{fetch:t=fetch,options:r,url:s},a){const i=await t(s,n.assign({},r,{method:e,headers:a}));if(i.status<400)return i;throw 416==i.status?new w(Ir):new w(Or+(i.statusText||i.status))}function ds(e,{url:t},r){return new b((s,a)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",()=>{if(i.status<400){const e=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach(t=>{const n=t.trim().split(/\s*:\s*/);n[0]=n[0].trim().replace(/^[a-z]|-[a-z]/g,e=>e.toUpperCase()),e.push(n)}),s({status:i.status,arrayBuffer:()=>i.response,headers:new c(e)})}else a(416==i.status?new w(Ir):new w(Or+(i.statusText||i.status)))},!1),i.addEventListener("error",e=>a(e.detail?e.detail.error:new w("Network error")),!1),i.open(e,t),r)for(const e of n.entries(r))i.setRequestHeader(e[0],e[1]);i.responseType="arraybuffer",i.send()})}class ps extends Yr{constructor(e,t={}){super(),n.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new _r(e,t):new Jr(e,t)})}set size(e){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}createReadable(e){return this.reader.createReadable(e)}readUint8Array(e,t){return this.reader.readUint8Array(e,t)}}class hs extends Yr{constructor(e){super(),this.Oe=e}async init(){const e=this;e.Ie=0;const t=e.Oe=await b.all(e.Oe.map(zs));e.Ae=t.map(t=>{const n=e.size;return e.size+=t.size,n}),super.init()}Ne(e){const{Ae:t,size:n}=this,r=t[e];return r===ie?n:r}async readUint8Array(e,t){const n=this,{Oe:r}=this;let s,a=0,o=e;for(;r[a]&&o>=r[a].size;)o-=r[a].size,a++;const c=r[a];if(c){const r=c.size;if(o+t<=r)s=await Es(c,o,t);else{const a=r-o;s=it(await Es(c,o,a),await n.readUint8Array(e+a,t-a))}}else s=fe;return n.Ie=i.max(a,n.Ie),s}}class ms extends qr{constructor(e,t=4294967295){super();const r=this;let s,a,i;n.assign(r,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new v({async write(t){if(t===jr)return void(i&&await l());const{availableSize:n}=r;if(i)t.length>=n?(await c(t.subarray(0,n)),await l(),t.length>n&&await this.write(t.subarray(n))):await c(t);else{const{value:n,done:o}=await e.next();if(o&&!n)throw new w(Nr);s=n,s.size=0,s.maxSize&&(r.maxSize=s.maxSize),r.availableSize=r.maxSize,await xs(s),a=n.writable,i=a.getWriter(),await this.write(t)}},async close(){i&&(await i.ready,await u())},async abort(e){i&&await i.abort(e)}});async function c(e){const t=e.length;t&&(await i.ready,await i.write(e),s.size+=t,r.availableSize-=t)}async function l(){await u(),r.diskOffset+=s.size,r.diskNumber++,i=null,r.availableSize=r.maxSize}async function u(){await i.close()}n.defineProperty(r,Zr,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(jr)}finally{e.releaseLock()}}}class ys{constructor(e){return t.isArray(e)&&(e=new hs(e)),(e instanceof F||typeof e.getReader==le)&&(e={readable:hn(e)}),e}}class bs{constructor(e){return e.writable===ie&&typeof e.next==le&&(e=new ms(e)),(e instanceof v||typeof e.getWriter==le)&&(e={writable:yn(e)}),e.size===ie&&(e.size=0),e}}function Ss(e){return!(!e||!e.getData)}async function xs(e,t){if(!e.init||e.initialized)return b.resolve();await e.init(t)}async function zs(e){return e=new ys(e),await xs(e),e.size!==ie&&e.readUint8Array||(e=new Qr(await mn(e.readable)),await xs(e)),e}function Es(e,t,n){return e.readUint8Array(t,n)}function gs(e,t){return e.createReadable?e.createReadable(t):e.readUint8Array?Yr.prototype.createReadable.call(e,t):e.readable}const Ds="filename",Fs="rawFilename",vs="comment",Cs="rawComment",Rs="uncompressedSize",ks="compressedSize",Us="offset",Ts="diskNumberStart",Os="lastModDate",Is="rawLastModDate",As="lastAccessDate",Ns="rawLastAccessDate",Vs="creationDate",Ls="rawCreationDate",Ms="internalFileAttributes",Ps="externalFileAttributes",Ks="internalFileAttribute",Ws="externalFileAttribute",Zs="msdosAttributesRaw",js="msdosAttributes",qs="msDosCompatible",Ys="zip64",Xs="encrypted",Bs="version",Hs="versionMadeBy",Qs="zipCrypto",Gs="directory",Js="executable",_s="compressionMethod",$s="signature",ea="extraField",ta="unixMode",na="setuid",ra="setgid",sa="sticky",aa=[Ds,Fs,Rs,ks,Os,Is,vs,Cs,As,Ns,Vs,Ls,Us,Ts,Ms,Ps,Ks,Ws,Zs,js,qs,Ys,Xs,Bs,Hs,Qs,Gs,Js,"symlink",_s,$s,"crc32",ea,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",ta,"unixExternalUpper",na,ra,sa,"bitFlag","rawBitFlag","filenameLength","extraFieldLength","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class ia{constructor(e){aa.forEach(t=>this[t]=e[t])}}const oa="File format is not recognized",ca="End of central directory not found",la="End of Zip64 central directory locator not found",ua="Central directory header not found",fa="Local file header not found",wa="Zip64 extra field not found",da="File contains encrypted entry",pa="Encryption method not supported",ha="Compression method not supported",ma="Split zip file",ya="Overlapping entry found",ba="Entry data out of bounds",Sa="Ambiguous archive",xa="Encrypted central directory is not supported",za="Unsafe filename",Ea="Invalid strictness (must be 'strict', 'balanced' or 'tolerant')",ga="Invalid filenameValidation (must be 'strict', 'balanced' or 'tolerant')",Da="Invalid maxAppendedDataSize (must be a number greater than or equal to 0)",Fa=/^[a-zA-Z]:/,va="utf-8",Ca="cp437",Ra=[[Rs,V],[ks,V],[Us,V],[Ts,L]],ka={[L]:{Ve:ai,bytes:4},[V]:{Ve:ii,bytes:8}};class Ua{constructor(e,t={}){n.assign(this,{reader:new ys(e),options:t,Le:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:r}=t;if(await xs(r),r.size!==ie&&r.readUint8Array||(r=new Qr(await mn(r.readable)),await xs(r)),r.size<B)throw new w(oa);const a=Ya(e,t.options),o=a==De,c=a!=ve,u=((e,t)=>{if(e!==ie){const t=Ie(e);if("number"!=typeof t||s.isNaN(t)||t<0)throw new w(Da);return t}return t==De?0:t==ve?1/0:L})($a(t,e,"maxAppendedDataSize"),a),f=((e,t)=>{if(e===ie)return t;if(!qa(e))throw new w(ga);return e})($a(t,e,"filenameValidation"),a),d=$a(t,e,"normalizeFilename"),{Me:p,Pe:h}=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,65557),a={count:64};let o,c,l=0;for await(const[n,i,u,f,w]of Ha(e,s)){const s=si(n,f+20);if(w+B+s==r){const s=await Ga(e,n,i,f,w,r,a);if(2==s){if(o||(o=Qa(u,f,w)),l++,!t||l>1)break}else 1!=s||c||(c=Qa(u,f,w))}}return o||(o=c),o||(o=await(async(e,t,n)=>{const{size:r}=e,s=i.min(r,t==1/0?r:65557+t);let a,o;for await(const[t,i,c,l,u]of Ha(e,s)){const s=Qa(c,l,u);a||(a=s);const f=await Ga(e,t,i,l,u,r,n);if(2==f)return s;1!=f||o||(o=s)}return o||a})(e,n,a)),{Me:o,Pe:l}})(r,c,u);if(!p)throw await(async e=>await ja(e)==K)(r)?new w(ma):new w(ca);c&&h>1&&_a("multiple end of central directory records");const m=ct(p);let y=ai(m,12),b=ai(m,16);const S=p.offset,x=si(m,20),z=S+B+x;r.size-z>u&&_a("appended data");let E=si(m,4);const g=r.Ie||0;let F,v,C,R,k=si(m,6),U=si(m,10),T=0,O=Q;const I=b==V||y==V||U==L||k==L;if(b!=V&&k!=L&&(b+=Za(r,k)),I){const e=p.offset>=H?await Es(r,p.offset-H,H):fe,t=ct(e);if(e.length==H&&ai(t,0)==X){b=Za(r,ai(t,4))+ii(t,8);let e=await Es(r,b,Q),a=ct(e);const c=p.offset-H-Q;if((e.length<Q||ai(a,0)!=Y)&&b!=c&&c>=0){const t=b;b=c,b>t&&(T=b-t),e=await Es(r,b,Q),a=ct(e)}if(e.length<Q||ai(a,0)!=Y)throw new w(la);if(v=!0,C=ii(a,4)>44,C){const e=i.min(s(ii(a,4))-44,r.size-b-Q);e>0&&(O+=e,R=(e=>{const t={rawExtensibleData:e};if(e.length>=28){const r=ct(e),a=si(r,26);n.assign(t,{compressionMethod:si(r,0),compressedSize:s(ii(r,2)),uncompressedSize:s(ii(r,10)),encryptionAlgorithm:si(r,18),bitLength:si(r,20),flags:si(r,22),hashAlgorithm:si(r,24),hashData:e.subarray(28,28+a)})}return t})(await Es(r,b+Q,e)))}E==L?E=ai(a,16):o&&E!=ai(a,16)&&_a("mismatched zip64 end of central directory record"),k==L?k=ai(a,20):o&&k!=ai(a,20)&&_a("mismatched zip64 end of central directory record"),U==L?U=ii(a,32):o&&U!=ii(a,32)&&_a("mismatched zip64 end of central directory record"),y==V?y=ii(a,40):o&&y!=ii(a,40)&&_a("mismatched zip64 end of central directory record"),b=Za(r,k)+ii(a,48)+T}}let A=y;const N=p.offset-(v?O+H:0);if(b>=r.size&&(T=r.size-b-y-B,b=r.size-y-B),g!=E)throw new w(ma);if(b<0)throw new w(oa);let P=0,W=await Es(r,b,y),Z=ct(W);if(y){if(W.length<4)throw new w(oa);const e=N-y;if(b!=e&&k==E){let t=!(ai(Z,P)==j||R&&R.compressedSize||Ia(Z));if(!t&&e>=0&&e+4<=r.size&&(t=ai(ct(await Es(r,e,4)),0)==j),t){const t=b;b=e,b>t&&(T+=b-t),W=await Es(r,b,y),Z=ct(W)}}}const q=N-b;if(y!=q&&q>=0&&k==E&&(y=q,W=await Es(r,b,y),Z=ct(W)),b<0||b>=r.size)throw new w(oa);t.directoryOffset=b,t.directoryLength=A;const G=ei(t,e,"decryptCentralDirectory");let J,re;if(G&&U&&W.length>=4&&ai(Z,0)!=j&&(C||Ia(Z))){const e=((e,t,n)=>{const r=e&&e.compressedSize?e.compressedSize:t;return r>0&&r<=n?r:n})(R,A,W.length);re=W.subarray(e),W=await G(W.subarray(0,e),R),Z=ct(W),A=W.length,J=!0}F=b;const se=$a(t,e,"filenameEncoding"),ae=$a(t,e,"commentEncoding"),oe=o?new l:ie;let ce;for(let s=0;s<U;s++){const a=new Oa(r,t.options);if(P+46>W.length||ai(Z,P)!=j){if(0==s&&!J&&(C||Ia(Z)))throw new w(xa);throw new w(ua)}Na(a,Z,P+6);const c=!!a.bitFlag.languageEncodingFlag,l=P+46,u=l+a.filenameLength,p=u+a.extraFieldLength,h=si(Z,P+4),m=!(h>>8),y=h>>8==3,b=W.subarray(l,u),S=si(Z,P+32),x=p+S,z=W.subarray(p,x),E=c,g=c,v=ai(Z,P+38),R=v&M,k={readOnly:!!(1&R),hidden:!!(2&R),system:!!(4&R),directory:!!(16&R),archive:!!(32&R)},O=ai(Z,P+42),I=ei(t,e,"decodeText")||Ur,A=E?va:se||Ca,N=g?va:ae||Ca;let V=I(b,A,Ee);if(V===ie&&(V=Ur(b,A)),d){const e=d(V);e!==ie&&(V=e)}if(Ba(V,f)){const e=new w(za);throw e.filename=V,e}let K=I(z,N,ge);K===ie&&(K=Ur(z,N)),n.assign(a,{index:s,Ke:J,versionMadeBy:h,msDosCompatible:m,zip64:!1,compressedSize:0,uncompressedSize:0,We:S,offset:O,diskNumberStart:si(Z,P+34),internalFileAttributes:si(Z,P+36),externalFileAttributes:v,msdosAttributesRaw:R,msdosAttributes:k,rawFilename:b,filenameUTF8:E,commentUTF8:g,rawExtraField:W.subarray(u,p),rawComment:z,filename:V,comment:K}),Va(a,a,Z,P+6),a.offset+=T,F=i.min(Za(r,a.diskNumberStart)+a.offset,F),o&&(oe.has(a.filename)&&(ce=!0),oe.add(a.filename));const q=a.externalFileAttributes>>16&L;a.unixMode===ie&&16877&q&&(a.unixMode=q);const Y=!!(a.unixMode&ee),X=!!(a.unixMode&te),B=!!(512&a.unixMode),H=40960==((a.unixMode===ie?q:a.unixMode)&_),Q=!H&&(a.unixMode!==ie?!!(73&a.unixMode):y&&!!(73&q)),G=a.unixMode!==ie&&(a.unixMode&_)==$,re=(q&_)==$;n.assign(a,{setuid:Y,setgid:X,sticky:B,symlink:H,unixExternalUpper:q,internalFileAttribute:a.internalFileAttributes,externalFileAttribute:a.externalFileAttributes,executable:Q,directory:G||re||m&&k.directory||a.filename.endsWith(ne)&&!a.uncompressedSize,zipCrypto:a.encrypted&&!a.extraFieldAES});const le=new ia(a);le.getData=(e,n)=>a.getData(e,le,t.Le,n),le.arrayBuffer=async e=>{const n=new D,r=mn(n.readable).then(e=>e.arrayBuffer());return r.catch(()=>{}),await a.getData(n,le,t.Le,e),r},P=x;const{onprogress:ue}=e;if(ue)try{await ue(s+1,U,new ia(a))}catch{}yield le}let le=P;const ue=Aa(W.subarray(P))||(J?Aa(re):ie);ue&&(t.digitalSignature=ue,le=P+6+ue.length),o&&P!=A&&le!=A&&_a("trailing central directory data"),ce&&_a("duplicate filename");const we=$a(t,e,"extractPrependedData"),de=$a(t,e,"extractAppendedData"),pe=(o||we)&&U&&4==F&&await(async e=>{const t=await ja(e);return t==K||808471376==t})(r)?4:0;return o&&(T||U&&F>pe)&&_a("prepended data"),we&&(t.prependedData=F>pe?await Es(r,pe,F-pe):fe),t.comment=x?await Es(r,S+B,x):fe,de&&(t.appendedData=z<r.size?await Es(r,z,r.size-z):fe),!0}async getEntries(e={}){const t=[];for await(const n of this.getEntriesGenerator(e))t.push(n);return t}async close(){const{reader:e}=this;e.readUint8Array||!e.readable||e.readable.locked||await e.readable.cancel()}}class Ta{constructor(e={}){const{readable:t,writable:n}=new D,r=new Ua(t,e).getEntriesGenerator();this.readable=new F({async pull(e){const{done:t,value:n}=await r.next();if(t)return e.close();const s={...n,readable:(()=>{const{readable:e,writable:t}=new D;if(n.getData)return(async()=>{try{await n.getData(t)}catch(e){try{await t.abort(e)}catch{}}})(),e})()};delete s.getData,e.enqueue(s)}}),this.writable=n}}class Oa{constructor(e,t){n.assign(this,{reader:e,options:t})}async getData(e,t,n,r={}){const s=this,a=Ze(),{reader:o,index:c,offset:l,diskNumberStart:u,extraFieldAES:f,extraFieldZip64:d,compressionMethod:p,bitFlag:h,rawBitFlag:m,crc32:y,rawLastModDate:b,uncompressedSize:S,compressedSize:x}=s,{dataDescriptor:z}=h,E=t.localDirectory={},g=Za(o,u)+l,D=await Es(o,g,re),F=ct(D);let C=$a(s,r,we),R=$a(s,r,de);const k=$a(s,r,pe);if(Oe(C,R),C=C&&C.length&&C,R=R&&R.length&&R,f&&99!=f.originalCompressionMethod)throw new w(ha);if(D.length<re||ai(F,0)!=P)throw new w(fa);Na(E,F,4);const{extraFieldLength:U,filenameLength:T}=E,O=$a(s,r,"checkLocalDirectory"),I=Ya(r,s.options),A=((e,t)=>e===ie?t!=ve:!!e)(O,I),N=((e,t)=>e===ie?t==De:!!e)(O,I);let V=fe;if(N&&(T||U)){const e=await Es(o,g+re,T+U);V=e.subarray(0,T),E.rawExtraField=e.subarray(T)}else E.rawExtraField=U?await Es(o,g+re+T,U):fe;N&&(E.rawFilename=V),Va(s,E,F,4,!0),A&&((e,t,n,r)=>{const{rawFilename:s}=e,a=e.Ke&&!(8192&~t.rawBitFlag);!r||a||n.length==s.length&&!n.some((e,t)=>e!=s[t])||_a("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&_a("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&_a("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||a||!(t.crc32||t.compressedSize||t.uncompressedSize)||t.crc32==e.crc32&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||_a("mismatched local file header (crc32 or sizes)")})(s,E,V,N);const{lastAccessDate:L,creationDate:K,uid:Z,gid:j}=E;L&&(t.lastAccessDate=L),K&&(t.creationDate=K),Z!==ie&&t.uid===ie&&(t.uid=Z),j!==ie&&t.gid===ie&&(t.gid=j);const q=s.encrypted&&E.encrypted&&!k,Y=q&&!f;if(k||(t.zipCrypto=Y),q&&!(64&~E.rawBitFlag))throw new w(pa);const X=k?ie:Dn(p);if(0!=p&&8!=p&&9!=p&&!X&&!k)throw new w(ha);if(q){if(!Y&&(f.strength<1||f.strength>3))throw new w(pa);if(!C&&!R)throw new w(da)}const B=g+re+T+U;if(B+x>o.size)throw new w(ba);const H=x,Q=hn(o.createReadable({offset:B,size:H})),G=Te($a(s,r,he)),J=$a(s,r,"checkPasswordOnly");let _=$a(s,r,"checkOverlappingEntry");const $=$a(s,r,"checkOverlappingEntryOnly");$&&(_=!0);const{onstart:ee,onprogress:te,onend:ne}=r,se=0!=p&&!k,ae=k?x:S,oe=9==p;let ce=$a(s,r,ye);oe&&(ce=!1);const le=$a(s,r,"checkCrc32"),ue=(le===ie?$a(s,r,"checkSignature"):le)&&!k&&(!q||Y||f&&1==f.vendorVersion),xe={options:{codecType:Xn,password:C,rawPassword:R,zipCrypto:Y,encryptionStrength:f&&f.strength,checkCrc32:ue,checkAuthenticationCode:$a(s,r,"checkAuthenticationCode"),passwordVerification:Y&&(z?b>>>8&M:y>>>24&M),outputSize:ae,crc32:y,compressed:se,encrypted:q,useWebWorkers:$a(s,r,me),useCompressionStream:ce,transferStreams:$a(s,r,be),deflate64:oe,format:X?X.format:ie,codecURI:X?X.codecURI:ie,compressionMethod:p,rawBitFlag:m,checkPasswordOnly:J},config:a,ce:{signal:G,size:H,onstart:ee,onprogress:te,onend:ne}};let ze,Ee;_&&await(async({reader:e,Ze:t,index:n,offset:r,crc32:s,compressedSize:a,uncompressedSize:i,je:o,dataDescriptor:c,extraFieldZip64:l,Le:u})=>{let f=0;if(c&&(f=l?20:12),f){const n=await Es(e,o+a,f+4),r=ct(n);let c=n.length==f+4&&ai(r,0)==W;if(c){const e=Wa(r,4,l);(t.encrypted&&!t.zipCrypto||e.crc32==s)&&e.compressedSize==a&&e.uncompressedSize==i?f+=4:c=!1}if(n.length>=f){const e=Wa(r,c?4:0,l);e.signature=c,t.localDirectory.dataDescriptor=e}}const d={start:r,end:o+a+f,Ze:t};for(const[e,t]of u)if(e!=n&&d.start<t.end&&t.start<d.end){const e=new w(ya);throw e.overlappingEntry=t.Ze,e}u.set(n,d)})({reader:o,Ze:t,index:c,offset:g,crc32:y,compressedSize:x,uncompressedSize:S,je:B,dataDescriptor:z||E.bitFlag.dataDescriptor,extraFieldZip64:d||E.extraFieldZip64,Le:n});try{if(!$){J&&(e=new v),e=new bs(e),await xs(e,((e,t,n)=>i.min(e,n?1032*t:t))(ae,x,se)),({writable:ze}=e);const{outputSize:t}=await gr({readable:Q,writable:ze},xe);if(e.size+=t,t!=ae)throw new w(Cn)}}catch(t){if(t.outputSize!==ie&&(e.size+=t.outputSize),!J||t.message!=kt)throw Ee=t,t}finally{if((Ss(e)||!$a(s,r,Se))&&ze&&!ze.locked){const e=ze.getWriter();if(Ee)try{await e.abort(Ee)}catch{}else await e.close()}}return J||$?ie:e.getData?e.getData():ze}}function Ia(e){const t=i.min(e.byteLength,1024)-3;for(let n=0;n<t;n++)if(134630224==ai(e,n))return!0;return!1}function Aa(e){if(e.length>=6){const t=ct(e);if(ai(t,0)==Z){const n=si(t,4);if(6+n<=e.length)return e.subarray(6,6+n)}}}function Na(e,t,r){const s=e.rawBitFlag=si(t,r+2),a=!(1&~s),i=ai(t,r+6);n.assign(e,{encrypted:a,version:si(t,r),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&J)==J},rawLastModDate:i,lastModDate:ti(i),filenameLength:si(t,r+22),extraFieldLength:si(t,r+24)})}function Va(e,t,r,s,a){const{rawExtraField:i}=t,l=t.extraField=new c,u=ct(i);let f=0;try{for(;f<i.length;){const e=si(u,f),t=si(u,f+2);l.set(e,{type:e,data:i.slice(f+4,f+4+t)}),f+=4+t}}catch{}const d=si(r,s+4);n.assign(t,{signature:ai(r,s+10),crc32:ai(r,s+10),compressedSize:ai(r,s+14),uncompressedSize:ai(r,s+18)});const p=l.get(1);p&&(((e,t)=>{t.zip64=!0;const n=ct(e.data),r=Ra.filter(([e,n])=>t[e]==n),s=r.reduce((e,[,t])=>e+ka[t].bytes,0);if(e.data.length<s)throw new w(wa);for(let s=0,a=0;s<r.length;s++){const[i,o]=r[s],c=ka[o];t[i]=e[i]=c.Ve(n,a),a+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=l.get(28789);h&&(La(h,Ds,Fs,t,e),t.extraFieldUnicodePath=h);const m=l.get(25461);m&&(La(m,vs,Cs,t,e),t.extraFieldUnicodeComment=m);const y=l.get(39169);y&&y.data.length>=7?(((e,t,r)=>{const s=ct(e.data),a=ri(s,4);n.assign(e,{vendorVersion:ri(s,0),vendorId:ri(s,2),strength:a,originalCompressionMethod:r,compressionMethod:si(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=ie)})(y,t,d),t.extraFieldAES=y):t.compressionMethod=d;const b=l.get(13);b&&(Ma(b,t),t.extraFieldPkwareUnix=b);const S=l.get(22613);S&&(Ma(S,t),t.extraFieldUnixType1=S);const x=l.get(10);x&&(((e,t)=>{const r=ct(e.data);let s,a=4;try{for(;a<e.data.length&&!s;){const t=si(r,a),n=si(r,a+2);1==t&&(s=e.data.slice(a+4,a+4+n)),a+=4+n}}catch{}if(s&&24==s.length){const r=ct(s),a=r.getBigUint64(0,!0),i=r.getBigUint64(8,!0),o=r.getBigUint64(16,!0);n.assign(e,{rawLastModDate:a,rawLastAccessDate:i,rawCreationDate:o});const c={lastModDate:ni(a),lastAccessDate:ni(i),creationDate:ni(o)};n.assign(e,c),n.assign(t,c,{rawLastAccessDate:i,rawCreationDate:o})}})(x,t),t.extraFieldNTFS=x);const z=l.get(30805);let E;if(z&&(E=Pa(z,t,!1),t.extraFieldUnix=z),!E){const e=l.get(30837);e&&(Pa(e,t,!0),t.extraFieldInfoZip=e)}const g=l.get(G);g&&(((e,t,n)=>{if(!e.data.length)return;const r=ct(e.data),s=ri(r,0),a=[],i=[];n?(1&~s||(a.push(Os),i.push(Is)),2&~s||(a.push(As),i.push(Ns)),4&~s||(a.push(Vs),i.push(Ls))):e.data.length>=5&&(a.push(Os),i.push(Is));let c=1;a.forEach((n,s)=>{if(e.data.length>=c+4){const a=ai(r,c);t[n]=e[n]=new o(1e3*(0|a));const l=i[s];e[l]=a}c+=4})})(g,t,a),t.extraFieldExtendedTimestamp=g);const D=l.get(6534);D&&(t.extraFieldUSDZ=D)}function La(e,t,r,s,a){if(e.data.length<5)return void(e.valid=!1);const i=ct(e.data),o=new bt;o.append(a[r]);const c=ct(new d(4));c.setUint32(0,o.get(),!0);const l=ai(i,1);n.assign(e,{version:ri(i,0),[t]:Ur(e.data.subarray(5)),valid:!a.bitFlag.languageEncodingFlag&&l==ai(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Ma(e,t){if(e.data.length<8)return;const r=ct(e.data),s={lastAccessDate:new o(1e3*(0|ai(r,0))),lastModDate:new o(1e3*(0|ai(r,4)))};e.data.length>=12&&(s.uid=si(r,8),s.gid=si(r,10)),n.assign(e,s),n.assign(t,s)}function Pa(e,t,r){try{const s=ct(e.data);let a,i;if(r){let t=0;const r=ri(s,t++),o=ri(s,t++);a=Ka(e.data.subarray(t,t+o)),t+=o;const c=ri(s,t++);i=Ka(e.data.subarray(t,t+c)),n.assign(e,{version:r,uid:a,gid:i})}else e.data.length>=4&&(a=si(s,0),i=si(s,2),n.assign(e,{uid:a,gid:i}));return a!==ie&&(t.uid=a),i!==ie&&(t.gid=i),a!==ie||i!==ie}catch{}}function Ka(e){const t=new d(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Wa(e,t,n){const r=ai(e,t);let s,a;return n?(s=ii(e,t+4),a=ii(e,t+12)):(s=ai(e,t+4),a=ai(e,t+8)),{crc32:r,compressedSize:s,uncompressedSize:a}}function Za(e,t){return e.Ne?e.Ne(t):0}async function ja(e){return ai(ct(await Es(e,0,4)))}function qa(e){return e===De||e===Fe||e===ve}function Ya(e,t){return Xa(e,Xa(t,Fe))}function Xa(e,t){const n=e.strictness;if(n!==ie){if(!qa(n))throw new w(Ea);return n}const r=e.checkAmbiguity;return r===ie?t:r?De:t==ve?ve:Fe}function Ba(e,t){if(t==ve)return!1;const n=e.split("/");return n.length>1&&""===n[n.length-1]&&n.pop(),!!(n.includes("..")||e.startsWith("/")||e.startsWith("\\\\")||Fa.test(e))||t==De&&(n.includes(".")||n.includes(""))}async function*Ha(e,t){const n=e.size-t,r=await Es(e,n,t),s=ct(r);for(let e=r.length-B;e>=0;e--)ai(s,e)==q&&(yield[s,n,r,e,n+e])}function Qa(e,t,n){return{offset:n,buffer:e.slice(t,t+B).buffer}}async function Ga(e,t,n,r,s,a,i){const o=si(t,r+10),c=ai(t,r+12),l=ai(t,r+16);if(o==L||c==V||l==V)return await Ja(e,t,n,s-H,a,i)==X?2:0;if(!o&&!c)return 1;const u=si(t,r+6);for(const r of[s-c,Za(e,u)+l])if(await Ja(e,t,n,r,a,i)==j)return 2;return 0}async function Ja(e,t,n,r,s,a){return r<0||r+4>s?ie:r>=n?ai(t,r-n):a.count>0?(a.count--,ai(ct(await Es(e,r,4)),0)):ie}function _a(e){const t=new w(Sa);throw t.reason=e,t}function $a(e,t,n){return t[n]===ie?e.options[n]:t[n]}function ei(e,t,n){return Ue($a(e,t,n))}function ti(e){const t=(4294901760&e)>>16,n=e&L;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}function ni(e){return new o(s(e/a(1e4)-a(116444736e5)))}function ri(e,t){return e.getUint8(t)}function si(e,t){return e.getUint16(t,!0)}function ai(e,t){return e.getUint32(t,!0)}function ii(e,t){return s(e.getBigUint64(t,!0))}var oi=n.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Sa,ERR_BAD_FORMAT:oa,ERR_CENTRAL_DIRECTORY_NOT_FOUND:ua,ERR_ENCRYPTED:da,ERR_ENCRYPTED_CENTRAL_DIRECTORY:xa,ERR_ENTRY_DATA_OUT_OF_BOUNDS:ba,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:la,ERR_EOCDR_NOT_FOUND:ca,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:wa,ERR_INVALID_AUTHENTICATION_CODE:Rt,ERR_INVALID_COMPRESSED_DATA:Rn,ERR_INVALID_CRC32:kn,ERR_INVALID_FILENAME_VALIDATION:ga,ERR_INVALID_MAX_APPENDED_DATA_SIZE:Da,ERR_INVALID_PASSWORD:vt,ERR_INVALID_SIGNATURE:Ct,ERR_INVALID_STRICTNESS:Ea,ERR_INVALID_UNCOMPRESSED_SIZE:Cn,ERR_LOCAL_FILE_HEADER_NOT_FOUND:fa,ERR_OVERLAPPING_ENTRY:ya,ERR_SPLIT_ZIP_FILE:ma,ERR_UNSAFE_FILENAME:za,ERR_UNSUPPORTED_COMPRESSION:ha,ERR_UNSUPPORTED_ENCRYPTION:pa,ERR_WORKER_STARTUP_TIMEOUT:Qn,ZipReader:Ua,ZipReaderStream:Ta});const ci="File already exists",li="Zip file comment exceeds 64KB",ui="Invalid zip file comment (must be a Uint8Array)",fi="File entry comment exceeds 64KB",wi="Invalid file entry comment (must be a string)",di="Invalid date (must be a valid Date instance)",pi="File entry name exceeds 64KB",hi="Version exceeds 65535",mi="The strength must equal 1, 2, or 3",yi="Encryption is not supported in USDZ files",bi="Encryption is not supported when the 'passThrough' option is set",Si="Invalid extra field (must be a Map)",xi="Invalid extra field type (must be integer 0..65535)",zi="Invalid extra field data (must be a Uint8Array)",Ei="Extra field data exceeds 64KB",gi=-2147483648,Di=2147483647,Fi=a(0),vi=a("0x7fffffffffffffff"),Ci="Zip64 is not supported (set the 'zip64' option to 'true')",Ri="Undefined uncompressed size",ki="Undefined compression method",Ui="Undefined reader",Ti="Zip file not empty",Oi="Invalid uid (must be integer 0..2^32-1)",Ii="Invalid gid (must be integer 0..2^32-1)",Ai="Invalid UNIX mode (must be integer 0..65535)",Ni="Invalid unixExtraFieldType (must be 'infozip' or 'unix')",Vi="uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)",Li="Invalid msdosAttributesRaw (must be integer 0..255)",Mi="Invalid msdosAttributes (must be an object with boolean flags)",Pi="Invalid level (must be integer 0..9)",Ki="Signature data exceeds 64KB",Wi=new d([7,0,2,0,65,69,3,0,0]),Zi="infozip",ji="unix";let qi=0;const Yi=[];class Xi{constructor(e,t={}){e=new bs(e);const{availableSize:r=oe,maxSize:s=oe}=e,a=r>0&&r!==oe&&s>0&&s!==oe;n.assign(this,{writer:e,qe:a,options:t,Ye:new c,Xe:new l,offset:t[xe]===ie?e.size||e.writable.size||0:t[xe],Be:t[xe]===ie?0:t[xe]-(e.size||e.writable.size||0),He:new l,Qe:0,Ge:ie})}async prependZip(e){if(this.Xe.size)throw new w(Ti);e=new ys(e),await xs(e),e.size!==ie&&e.readUint8Array||(e=new Qr(await mn(e.readable)),await xs(e));const{ZipReader:r}=await b.resolve().then(()=>oi),s=new r(e),a=await s.getEntries();await s.close(),await xs(this.writer);const{directoryOffset:i}=s;let o=0;this.qe&&(delete this.qe,await(async e=>ct(await Es(e,0,4)).getUint32(0,!0)==K)(e)||(await io(this.writer,ao()),o=4,this.offset+=o));const u=await(async(e,n,r,s,a)=>{const{writer:i}=e,o=new c;if(i.closeDisk){const a=t.from(r).sort((e,t)=>so(n,e)-so(n,t));let c=0;for(const t of a){const r=so(n,t);await no(e,n,c,r-c),eo(i,await ro(n,r))&&await i.closeDisk(),o.set(t,{offset:to(e,i),diskNumberStart:_i(i)}),c=r}await no(e,n,c,s-c)}else await no(e,n,0,s),r.forEach(e=>o.set(e,{offset:a+so(n,e),diskNumberStart:0}));return o})(this,e,a,i,o);this.Xe=new l(a.map(e=>e.filename)),this.Ye=new c(a.map(e=>{const{version:t,rawLastModDate:r,lastAccessDate:s,creationDate:a,rawFilename:i,bitFlag:o,encrypted:c,uncompressedSize:l,compressedSize:f,zip64:w}=e;let{compressionMethod:d,Je:p,_e:h,$e:m,et:y,nt:b,rawExtraField:S}=e;const{level:x,languageEncodingFlag:z,dataDescriptor:E}=o;p=p||fe,h=h||fe,m=m||fe,y=y||fe,b=b||fe,S=S||fe,e.extraFieldAES&&(d=99);const g=Fo(p,h,m,y,b,S),D=w&&l>=V,F=w&&f>=V,v=-7&Co(x,z,E,c,d)|x<<1,{st:C,it:R}=vo({version:t,bitFlag:v,compressionMethod:d,uncompressedSize:l,compressedSize:f,rawLastModDate:r,rawFilename:i,ot:F,ct:D,extraFieldLength:g}),{crc32:k}=e;k!==ie&&Eo(R,10,k);const{offset:U,diskNumberStart:T}=u.get(e);return n.assign(e,{ct:D,ot:F,offset:U,diskNumberStart:T,lt:!1,Je:p,_e:h,$e:m,et:y,nt:b,rawExtraField:S,extendedTimestamp:m.length>0||y.length>0,ut:1+(s?2:0)+(a?4:0),st:C,it:R}),[e.filename,e]}))}async add(e="",r,c={}){const l=this;c=n.assign({},c);const{He:u}=l;let f,p;qi<Ze().maxWorkers?qi++:await new b(e=>Yi.push(e));try{if(e=e.trim(),fo(l,c,Gs)&&!e.endsWith(ne)&&(e+=ne),l.Xe.has(e))throw new w(ci);return l.Xe.add(e),p=!0,f=(async(e,r,c,l)=>{const u=((e,n,r)=>{n=n.trim();let a=fo(e,r,qs),i=fo(e,r,Hs,a?20:768);const o=fo(e,r,Js),c=yo(e,r,"uid"),l=yo(e,r,"gid");let u=yo(e,r,ta),f=fo(e,r,"unixExtraFieldType"),d=fo(e,r,na),p=fo(e,r,ra),h=fo(e,r,sa);if(c!==ie&&(!s.isInteger(c)||c<0||c>V))throw new w(Oi);if(l!==ie&&(!s.isInteger(l)||l<0||l>V))throw new w(Ii);if(u!==ie&&(!s.isInteger(u)||u<0||u>L))throw new w(Ai);if(f!==ie&&f!==Zi&&f!==ji)throw new w(Ni);if(f===ji&&(c!==ie&&c>L||l!==ie&&l>L))throw new w(Vi);f!==ie||c===ie&&l===ie||(f=Zi);let m=yo(e,r,Zs),y=fo(e,r,js);const b=m!==ie||y!==ie;if(c!==ie||l!==ie||u!==ie||f||o?(a=!1,i=i&M|768):b&&(a=!0,i&=M),m!==ie&&(!s.isInteger(m)||m<0||m>M))throw new w(Li);if(y&&("object"!=typeof y||t.isArray(y)))throw new w(Mi);if(i>L)throw new w(hi);let S=ho(e,r,Ps,Ws);const x=S!==ie;x||(S=0),!r[Gs]&&n.endsWith(ne)&&(r[Gs]=!0);const z=fo(e,r,Gs);if(z?(n.endsWith(ne)||(n+=ne),x||(S=16,a||(S|=16877<<16))):a||x||(S=o?493<<16:27525120),!a){const e=u!==ie||!!(d||p||h);u=u===ie?S>>16&L:u&L,d?u|=ee:d=!!(u&ee),p?u|=te:p=!!(u&te),h?u|=512:h=!!(512&u),x&&!e||(z?u=-61441&u|$:u&_||(u|=32768),S=(u&L)<<16|S&L)}return({msdosAttributesRaw:m,msdosAttributes:y}=((e,t)=>{if(e!==ie)e&=M;else if(t!==ie){const{readOnly:n,hidden:r,system:s,directory:a,archive:i}=t;let o=0;n&&(o|=1),r&&(o|=2),s&&(o|=4),a&&(o|=16),i&&(o|=32),e=o&M}return t===ie&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(m,y)),b&&(S=S&V|m&M),{name:n,ft:{versionMadeBy:i,msDosCompatible:!!a,externalFileAttributes:S,unixExternalUpper:S>>16&L,uid:c,gid:l,unixMode:u,unixExtraFieldType:f,symlink:u!==ie&&40960==(u&_),setuid:d,setgid:p,sticky:h,msdosAttributesRaw:m,msdosAttributes:y}}})(e,r,l);({name:r}=u);const f=((e,t,n)=>{const r=po(e,n,"encodeText")||xt;let a=r(t,Ee);if(a===ie&&(a=xt(t)),Fo(a)>L)throw new w(pi);const i=n[vs]||"";if(typeof i!=ue)throw new w(wi);let c=r(i,ge);if(c===ie&&(c=xt(i)),Fo(c)>L)throw new w(fi);const l=fo(e,n,Bs,20);if(l>L)throw new w(hi);const u=wo(e,n,Os,new o),f=wo(e,n,As),d=wo(e,n,Vs),p=ho(e,n,Ms,Ks,0),h=fo(e,n,pe),m=fo(e,n,we),y=fo(e,n,de);Oe(m,y);const b=yo(e,n,"encryptionStrength",3),S=fo(e,n,Qs),x=fo(e,n,"extendedTimestamp",!0),z=fo(e,n,"ntfsTimestamp"),E=fo(e,n,"keepOrder",!0),g=fo(e,n,me),D=fo(e,n,be),F=fo(e,n,"bufferedWrite"),v=po(e,n,"createTempStream"),C=fo(e,n,"dataDescriptorSignature",!0),R=Te(fo(e,n,he)),k=fo(e,n,"useUnicodeFileNames",!0),U=fo(e,n,_s),T=h||U===ie?ie:Dn(U);if(!h&&U!==ie&&0!==U&&8!==U&&!T)throw new w("Compression method not supported");let O=yo(e,n,"level");if(O!==ie&&(!s.isInteger(O)||O<0||O>9))throw new w(Pi);if(e.options[ze]){if(m!==ie||y!==ie)throw new w(yi);O===ie&&U===ie&&(O=0)}h&&(O=ie);let I=fo(e,n,ye),A=fo(e,n,"dataDescriptor");F&&A===ie&&(A=!1),(A===ie||S)&&(A=!0),O!==ie&&6!=O&&(I=!1);const N=fo(e,n,Ys);if(!(S||m===ie&&y===ie||s.isInteger(b)&&b>=1&&b<=3))throw new w(mi);const V=Hi(n[ea]),M=Hi(n.localExtraField);return{comment:i,ft:{rawFilename:a,rawComment:c,version:l,lastModDate:u,lastAccessDate:f,creationDate:d,internalFileAttributes:p,passThrough:h,password:m,rawPassword:y,encryptionStrength:b,zipCrypto:S,extendedTimestamp:x,ntfsTimestamp:z,keepOrder:E,useWebWorkers:g,transferStreams:D,bufferedWrite:F,createTempStream:v,dataDescriptorSignature:C,signal:R,useUnicodeFileNames:k,compressionMethod:U,format:T?T.format:ie,codecURI:T?T.codecURI:ie,wt:T?T.versionNeeded:ie,level:O,useCompressionStream:I,dataDescriptor:A,zip64:N,rawExtraField:V,ht:M}}})(e,r,l),{comment:p}=f,h=l[ea];let m;e.Ye.set(r,ie);try{const{ft:t}=f;0==t.level||t.compressionMethod!==ie||t.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamFallback:n}=e;if(n&&!n.me)return!0;if(Mn(t)||Ln(t,Tn))return!0;if(n)try{return await void 0,!0}catch{return!1}return!1})(Ze())||(t.level=0);const s=await(async(e,t,{ft:r},s)=>{if(r.passThrough&&!t&&!fo(e,s,Gs))throw new w(Ui);let a;return t&&(t=new ys(t),await xs(t),({size:a}=t)),n.assign({reader:t},((e,t,n,r,s)=>{const{passThrough:a,zipCrypto:i,password:o,rawPassword:c,encryptionStrength:l}=r;let{dataDescriptor:u,zip64:f,level:d,compressionMethod:p}=r,h=0,m=0;if(a&&t){if(m=s[Rs],m===ie)throw new w(Ri);if(p===ie)throw new w(ki)}const y=!0===f,b=fo(e,s,Xs);if(t&&a&&!b&&Fo(o,c))throw new w(bi);const S=t&&(!!(o&&Fo(o)||c&&Fo(c))||a&&b);t||(d=0,p=0);const x=S?i?12:16+4*l:0;t&&(a?(s.uncompressedSize=m,h=n===ie?bo(m)+x:n):n===ie?(u=!0,(f||f===ie)&&(f=!0,m=h=4294967296)):(s.uncompressedSize=m=n,h=(So(p,d)?bo(m):m)+x));const z=y||m>=V,E=y||h>=V;if(z||E){if(!1===f)throw new w(Ci);f=!0}return f=f||!1,{yt:h,ft:{dataDescriptor:u,zip64:f,ct:z,ot:E,uncompressedSize:m,level:d,compressionMethod:p,encrypted:S}}})(e,!!t,a,r,s))})(e,c,f,l);({reader:c}=s);const p=$i(e.writer),h=_i(e.writer),y=(e=>{const{rawFilename:t,lastModDate:n,lastAccessDate:r,creationDate:s,level:a,zip64:c,zipCrypto:l,useUnicodeFileNames:u,dataDescriptor:f,directory:d,rawExtraField:p,ht:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:b,passThrough:S,encrypted:x,ct:z,ot:E,uncompressedSize:g,crc32:D}=e;let{version:F,compressionMethod:v}=e;const C=!d&&So(v,a);let R;const k=S||!C,U=c&&(e.bufferedWrite||!f||!z&&!E||k),T=U||c&&f&&(z||E);if(c&&(z||E)){const e=20,t=Ji(e);if(t.bt(1),t.bt(e-4),R=t.St,U&&(t.xt(g),k)){const e=x?l?12:16+4*m:0;t.xt(S?0:g+e)}}else R=fe;let O,I,A,N,V;if(x&&!l){const e=Ji(Fo(Wi)+2);e.bt(39169),e.zt(Wi),O=e.St,O[8]=m}else O=fe;if(y){const e=co(n),t=lo(e);if(t){const t=9+(r?4:0)+(s?4:0),n=Ji(t);N=1+(r?2:0)+(s?4:0),n.bt(G),n.bt(t-4),n.Et(N),n.gt(e),r&&n.gt(uo(co(r))),s&&n.gt(uo(co(s))),A=n.St}else A=fe;if(b===ie?!t||r||s:b)try{const e=oo(n),t=Ji(36);t.bt(10),t.bt(32),t.Dt(4),t.bt(1),t.bt(24),t.xt(e),t.xt(r?oo(r):e),t.xt(s?oo(s):e),I=t.St}catch{I=fe}else I=fe}else I=A=fe;try{const{uid:t,gid:n,unixExtraFieldType:r}=e;if(r!=Zi||t===ie&&n===ie)if(r!=ji||t===ie&&n===ie)V=fe;else{const e=Ji(8);e.bt(30805),e.bt(4),e.bt((t===ie?0:t)&L),e.bt((n===ie?0:n)&L),V=e.St}else{const e=Gi(t),r=Gi(n),s=3+e.length+r.length,a=Ji(4+s);a.bt(30837),a.bt(s),a.Et(1),a.Et(e.length),a.zt(e),a.Et(r.length),a.zt(r),V=a.St}}catch{V=fe}v===ie&&(v=C?8:0);const{wt:M}=e;C&&M!==ie&&(F=F>M?F:M),c&&(F=F>45?F:45),x&&!l&&(F=F>51?F:51,S&&D!==ie&&(O[4]=1),O[9]=v,v=99);const K=T?Fo(R):0,W=K+Fo(O,A,I,V,p,h);if(W>L)throw new w(Ei);const Z=new o(2e3*i.ceil(i.floor(n.getTime()/1e3)/2)),{st:j,it:q,rawLastModDate:Y}=vo({version:F,bitFlag:Co(a,u,f,x,v),compressionMethod:v,uncompressedSize:g,lastModDate:Z<ae?ae:Z>se?se:Z,rawFilename:t,ot:E,ct:z,extraFieldLength:W}),X=Ji(re+Fo(t)+W),B=X.St,H=ct(B);return X.gt(P),X.zt(j),X.zt(t),T&&X.zt(R),X.zt(O),X.zt(A),X.zt(I),X.zt(V),X.zt(p),X.zt(h),f&&(E||Eo(H,18,0),z||Eo(H,22,0)),{Ft:B,vt:H,st:j,it:q,lastModDate:n,rawLastModDate:Y,encrypted:x,compressed:C,version:F,compressionMethod:v,ut:N,Je:fe,Ct:K,$e:A,et:I,nt:V,_e:O,extraFieldLength:W}})(l=n.assign({},l,u.ft,f.ft,s.ft,{signature:l[$s],crc32:l.crc32===ie?l[$s]:l.crc32,offset:e.offset-p,diskNumberStart:h})),S=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:n})=>{let r,s=fe,a=0,i=e?20:12;return n&&(i+=4),t&&(s=new d(i),r=ct(s),n&&(a=4,Eo(r,0,W))),{Rt:s,kt:r,Ut:a}})(l),x=Fo(y.Ft,S.Rt);m=await(async(e,t,r,s,i)=>{const{Ye:o,writer:c}=e,{keepOrder:l,dataDescriptor:u,signal:f}=i,{Tt:d}=s,p=e.options[ze],h=e.Ge;let m,y,S,x,z,E,g,F={},C=0;o.set(t,F),e.Ge=F;try{let y;l&&(y=h&&h.Ot,F.Ot=new b(e=>S=e)),i.bufferedWrite||!l||e.It||e.Qe||!u?(m=!0,e.Qe++,g=i.createTempStream?await i.createTempStream():new D(ie,ie,{highWaterMark:oe}),g.size=0,await xs(c)):(g=c,await R()),await xs(g);const U=$i(c);e.qe&&(delete e.qe,await io(c,ao()),e.offset+=4),p&&!m&&Qi(s,e.offset-U);const{Ft:T}=d;m||(await y,await k());const O=_i(c),I=to(e,c);if(F.diskNumberStart=O,m||(z=!0,E=c.size,await io(g,T)),F=await(async(e,t,{diskNumberStart:r,Ot:s},i,o,c)=>{const{Tt:l,At:u,Nt:f}=i,{st:d,it:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:b,version:S,compressionMethod:x,Je:z,Ct:E,$e:g,ut:D,et:F,nt:v,_e:C}=l,{Rt:R}=u,{rawFilename:k,lastAccessDate:U,creationDate:T,password:O,rawPassword:I,level:A,zip64:N,ct:L,ot:P,zipCrypto:K,dataDescriptor:W,directory:Z,executable:j,versionMadeBy:q,rawComment:Y,rawExtraField:X,useWebWorkers:B,transferStreams:H,onstart:Q,onprogress:G,onend:J,signal:_,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,uid:se,gid:ae,unixMode:oe,symlink:ce,setuid:le,setgid:ue,sticky:fe,unixExternalUpper:we,msdosAttributesRaw:de,msdosAttributes:pe,useCompressionStream:he,passThrough:me,format:ye,codecURI:be}=c,Se={Ot:s,versionMadeBy:q,zip64:N,directory:!!Z,executable:!!j,filenameUTF8:!0,rawFilename:k,commentUTF8:!0,rawComment:Y,Je:z,Ct:E,$e:g,et:F,nt:v,_e:C,rawExtraField:X,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:re,diskNumberStart:r,uid:se,gid:ae,unixMode:oe,symlink:!!ce,setuid:le,setgid:ue,sticky:fe,unixExternalUpper:we,msdosAttributesRaw:de,msdosAttributes:pe};let{crc32:xe,uncompressedSize:ze}=c,Ee=0;me||(ze=0);const{writable:ge}=t;if(e){const n=hn(gs(e)),r=e.size,s={options:{codecType:Yn,level:A,rawPassword:I,password:O,encryptionStrength:$,zipCrypto:y&&K,passwordVerification:y&&K&&m>>8&M,computeCrc32:!me,compressed:b&&!me,encrypted:y&&!me,useWebWorkers:B,useCompressionStream:he,transferStreams:H,format:ye,codecURI:be,compressionMethod:x},config:o,ce:{signal:_,size:r,onstart:Q,onprogress:G,onend:J}};try{const e=await gr({readable:n,writable:ge},s);if(Ee=e.outputSize,t.size+=Ee,me||(ze=e.inputSize,y&&!K||(xe=e.crc32)),!P&&Ee>=V||!L&&ze>=V)throw new w(Ci)}catch(e){throw e.outputSize!==ie&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:n,Tt:r,At:s},{zip64:i,zipCrypto:o,passThrough:c,dataDescriptor:l})=>{const{it:u,encrypted:f}=r,{kt:w,Ut:d}=s;f&&!o&&!c||e===ie||(Eo(u,10,e),l&&Eo(w,d,e)),i?l&&(go(w,d+4,a(t)),go(w,d+12,a(n))):(Eo(u,14,t),Eo(u,18,n),l&&(Eo(w,d+4,t),Eo(w,d+8,n)))})({crc32:xe,compressedSize:Ee,uncompressedSize:ze,Tt:l,At:u},c),W&&await io(t,R),n.assign(Se,{uncompressedSize:ze,compressedSize:Ee,lastModDate:h,rawLastModDate:m,creationDate:T,lastAccessDate:U,encrypted:!!y,zipCrypto:!!K,size:f+Ee,compressionMethod:x,version:S,st:d,it:p,signature:xe,crc32:!y||K||me?xe:ie,ut:D,ct:L,ot:P}),Se})(r,g,F,s,Ze(),i),m||(z=!1),o.set(t,F),F.filename=t,m){if(await b.all([g.writable.getWriter().close(),y]),await R(),x=!0,E=c.size,await k(),F.diskNumberStart=_i(c),F.offset=to(e,c),p){const t=s.Nt;Qi(s,e.offset-$i(c)),F.size+=s.Nt-t}(({rawFilename:e,encrypted:t,zip64:n,Ct:r,crc32:s,compressedSize:i,uncompressedSize:o,ct:c,ot:l},u,{dataDescriptor:f,passThrough:w})=>{if(f||((!t||w&&s!==ie)&&Eo(u,14,s),l||Eo(u,18,i),c||Eo(u,22,o)),n&&r){const t=re+Fo(e)+4;go(u,t,a(o)),go(u,t+8,a(i))}})(F,d.vt,i),await io(c,d.Ft),await(async(e,t,n)=>{const r=t.writable.getWriter();try{await e.pipeTo(new v({async write(e){var t;await r.ready,await r.write(e),t=Fo(e),C+=t}}),{preventClose:!0,preventAbort:!0,signal:n})}finally{r.releaseLock()}})(g.readable,c,f),c.size+=g.size,x=!1}else F.diskNumberStart=O,F.offset=I;return e.offset+=F.size,F}catch(n){if(x||z){if(e.hasCorruptedEntries=!0,n)try{n.corruptedEntry=!0}catch{}e.offset+=c.size-E,m&&(e.offset+=C)}throw o.delete(t),n}finally{if(m&&e.Qe--,S&&S(),y&&y(),m&&g&&g.dispose)try{await g.dispose()}catch{}}async function R(){e.It=!0;const{Vt:t}=e;e.Vt=new b(t=>y=()=>{e.It=!1,t()}),await t}async function k(){eo(c,Fo(d.Ft))&&await c.closeDisk()}})(e,r,c,{Tt:y,At:S,Nt:x},l)}catch(t){throw e.Ye.delete(r),t}return n.assign(m,{name:r,comment:p,extraField:h,[Ks]:m.internalFileAttributes,[Ws]:m.externalFileAttributes}),new ia(m)})(l,e,r,c),u.add(f),await f}catch(t){throw p&&l.Xe.delete(e),t}finally{u.delete(f);const e=Yi.shift();e?e():qi--}}remove(e){const{Xe:t,Ye:n}=this;if(typeof e==ue&&(e=n.get(e)),e&&e.filename!==ie){const{filename:r}=e;if(t.has(r)&&n.has(r))return t.delete(r),n.delete(r),!0}return!1}async close(e=fe,n={}){const{He:r,writer:s}=this,{writable:i}=s;if(!(e instanceof d))throw new w(ui);if(Fo(e)>L)throw new w(li);for(;r.size;)await b.allSettled(t.from(r));return await(async(e,n,r)=>{const s=(e=>{let t=0;for(const[,n]of e){const{rawFilename:e,_e:r,rawComment:s,et:a,nt:i,rawExtraField:o,extendedTimestamp:c,ut:l,lastModDate:u,ct:f,ot:d,uncompressedSize:p,compressedSize:h}=n,m=n.offset>=V,y=n.diskNumberStart>=L;let b,S;if(m||y||f||d){const e=4+(f?8:0)+(d?8:0)+(m?8:0)+(y?4:0),t=Ji(e);t.bt(1),t.bt(e-4),f&&t.xt(p),d&&t.xt(h),m&&t.xt(n.offset),y&&t.gt(n.diskNumberStart),b=t.St}else b=fe;n.Je=b,n.Lt=m,n.lt=y;const x=co(u);if(c&&lo(x)){const e=Ji(9);e.bt(G),e.bt(5),e.Et(l),e.gt(x),S=e.St}else S=fe;n.$e=S;const z=Fo(b,r,a,i,S,o);if(z>L)throw new w(Ei);t+=46+Fo(e,s)+z}return t})(e.Ye),{Mt:i,Pt:o}=await(async(e,n,r)=>{const{Ye:s,writer:a}=e,i=new d(n);await xs(a);let o=0,c=0,l=_i(a),u=$i(a);for(const[e,n]of t.from(s.values()).entries()){const{offset:t,rawFilename:f,Je:w,_e:d,$e:p,et:h,nt:m,rawExtraField:y,rawComment:b,versionMadeBy:S,st:x,it:z,ct:E,ot:g,lt:D,Lt:F,internalFileAttributes:v,externalFileAttributes:C,diskNumberStart:R,uncompressedSize:k,compressedSize:U}=n,T=Fo(w,d,p,h,m,y),O=46+Fo(f,b)+T;eo(a,o+O-c)&&(await io(a,i.slice(c,o)),c=o,await a.closeDisk()),0==e&&(l=_i(a),u=$i(a)),E||Eo(z,18,k),g||Eo(z,14,U),(F||D)&&n.version<45&&zo(z,0,45);const I=Ji(O);if(I.gt(j),I.bt(S),I.zt(x.subarray(0,24)),I.bt(T),I.bt(Fo(b)),I.bt(D?L:R),I.bt(v),I.gt(C),I.gt(F?V:t),I.zt(f),I.zt(w),I.zt(d),I.zt(p),I.zt(h),I.zt(m),I.zt(y),I.zt(b),Do(i,I.St,o),o+=O,r.onprogress)try{await r.onprogress(e+1,s.size,new ia(n))}catch{}}return await io(a,c?i.slice(c):i),{Mt:{diskNumber:l,diskOffset:u},Pt:i}})(e,s,r),c=await(async(e,t,n)=>{const r=po(e,n,"signCentralDirectory");if(r){const n=await r(t),s=Fo(n);if(s>L)throw new w(Ki);const a=Ji(6+s);return a.gt(Z),a.bt(s),a.zt(n),await io(e.writer,a.St),6+s}return 0})(e,o,r);await(async(e,t,n,r)=>{const{writer:s}=e,{Mt:i,Kt:o}=r;let{Wt:c}=r,l=e.Ye.size,u=i.diskNumber,f=to(e,i),d=_i(s);eo(s,B)&&d++;let p=fo(e,n,Ys);if(f>=V||c>=V||l>=L||d>=L){if(!1===p)throw new w(Ci);p=!0}const h=Fo(t);if(h>L)throw new w(li);const m=Ji(p?98:B);eo(s,Fo(m.St)+h)&&await s.closeDisk(),d=_i(s),p&&(m.gt(Y),m.xt(44),m.bt(45),m.bt(45),m.gt(d),m.gt(u),m.xt(l),m.xt(l),m.xt(c),m.xt(f),m.gt(X),m.gt(d),m.xt(a(to(e,s))+a(c)+a(o)),m.gt(d+1),fo(e,n,"supportZip64SplitFile",!0)&&(d=L,u=L),l=L,f=V,c=V),m.gt(q),m.bt(d),m.bt(u),m.bt(l),m.bt(l),m.gt(c),m.gt(f),m.bt(h),await io(s,m.St),h&&await io(s,t)})(e,n,r,{Mt:i,Wt:s,Kt:c})})(this,e,n),!Ss(s)&&fo(this,n,Se)||await i.getWriter().close(),s.getData?s.getData():i}}function Bi(e,t,n){e.He.add(t),t.catch(e=>{try{n(e)}catch{}})}function Hi(e){if(!e)return fe;if(!(e instanceof c))throw new w(Si);let t=0,n=0;e.forEach((e,n)=>{if(!s.isInteger(n)||n<0||n>L)throw new w(xi);if(!(e instanceof d))throw new w(zi);if(Fo(e)>L)throw new w(Ei);t+=4+Fo(e)});const r=new d(t),a=ct(r);return e.forEach((e,t)=>{zo(a,n,t),zo(a,n+2,Fo(e)),Do(r,e,n+4),n+=4+Fo(e)}),r}function Qi(e,t){const{Tt:n}=e;let{Ft:r,extraFieldLength:s}=n,a=64-(t+Fo(r))%64;a<4&&(a+=64);const i=new d(a),o=ct(i);zo(o,0,6534),zo(o,2,a-4);const c=r;n.Ft=r=new d(Fo(c)+a),Do(r,c),Do(r,i,Fo(c));const l=ct(r);zo(l,28,s+a),n.vt=l,e.Nt+=a}function Gi(e){if(e===ie)return fe;{const t=new d(4);ct(t).setUint32(0,e,!0);let n=4;for(;n>1&&0===t[n-1];)n--;return t.subarray(0,n)}}function Ji(e){const t=new d(e),n=ct(t);let r=0;return{St:t,Et:e=>{((e,t,n)=>{e.setUint8(t,n)})(n,r,e),r+=1},bt:e=>{zo(n,r,e),r+=2},gt:e=>{Eo(n,r,e),r+=4},xt:e=>{go(n,r,a(e)),r+=8},zt:e=>{Do(t,e,r),r+=Fo(e)},Dt:e=>r+=e}}function _i(e){const{diskNumber:t=0}=e;return t}function $i(e){const{diskOffset:t=0}=e;return t}function eo(e,t){const{availableSize:n=oe}=e;return t>n}function to(e,{diskNumber:t=0,diskOffset:n=0}){return e.offset-n-(t?e.Be:0)}async function no(e,t,n,r){if(r>0){const{writer:s}=e;await gs(t,{offset:n,size:r}).pipeTo(s.writable,{preventClose:!0,preventAbort:!0}),s.size+=r,e.offset+=r}}async function ro(e,t){const n=await Es(e,t,re);if(Fo(n)<re)return re;const r=ct(n);return re+xo(r,26)+xo(r,28)}function so(e,{offset:t,diskNumberStart:n}){return t+(e.Ne?e.Ne(n):0)}function ao(){const e=new d(4);return Eo(ct(e),0,K),e}async function io(e,t){const{writable:n}=e,r=n.getWriter();try{await r.ready,e.size+=Fo(t),await r.write(t)}finally{r.releaseLock()}}function oo(e){if(e){const t=(a(e.getTime())+a(116444736e5))*a(1e4);return t<Fi?Fi:t>vi?vi:t}}function co(e){return i.floor(e.getTime()/1e3)}function lo(e){return e>=gi&&e<=Di}function uo(e){return i.min(Di,i.max(gi,e))}function fo(e,t,n,r){const s=t[n]===ie?e.options[n]:t[n];return s===ie?r:s}function wo(e,t,n,r){const a=fo(e,t,n,r);if(null===a)return r;if(a!==ie&&(typeof a.getTime!=le||s.isNaN(a.getTime())))throw new w(di);return a}function po(e,t,n){return Ue(fo(e,t,n))}function ho(e,t,n,r,s){const a=mo(t,n,r),i=a===ie?mo(e.options,n,r):a;return i===ie?s:i}function mo(e,t,n){return e[t]===ie?e[n]:e[t]}function yo(e,t,n,r){return Ie(fo(e,t,n,r))}function bo(e){return e+5*(i.floor(e/16383)+1)}function So(e,t){return e===ie?t===ie||t>0:0!==e}function xo(e,t){return e.getUint16(t,!0)}function zo(e,t,n){e.setUint16(t,n,!0)}function Eo(e,t,n){e.setUint32(t,n,!0)}function go(e,t,n){e.setBigUint64(t,n,!0)}function Do(e,t,n){e.set(t,n)}function Fo(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function vo({version:e,bitFlag:t,compressionMethod:n,uncompressedSize:r,compressedSize:s,lastModDate:a,rawLastModDate:i,rawFilename:o,ot:c,ct:l,extraFieldLength:u}){const f=Ji(26),w=f.St,d=ct(w);if(f.bt(e),f.bt(t),f.bt(n),i===ie){const e=new h(1),t=ct(e);zo(t,0,(a.getHours()<<6|a.getMinutes())<<5|a.getSeconds()/2),zo(t,2,(a.getFullYear()-1980<<4|a.getMonth()+1)<<5|a.getDate()),i=e[0]}return f.gt(i),f.Dt(4),c||s!==ie?f.gt(c?V:s):f.Dt(4),l||r!==ie?f.gt(l?V:r):f.Dt(4),f.bt(Fo(o)),f.bt(u),{st:w,it:d,rawLastModDate:i}}function Co(e,t,n,r,s){let a=0;return t&&(a|=J),n&&(a|=8),8!=s&&9!=s||(e>=0&&e<=3&&(a|=6),e>3&&e<=5&&(a|=4),9==e&&(a|=2)),r&&(a|=1),a}const Ro=1048576,ko=".zip.js-temp",Uo=1048576,To=1048576,Oo=".zip.js-temp",Io="createSyncAccessHandle is only available in dedicated workers";try{He({baseURI:void 0===z&&"undefined"==typeof location?require("url").pathToFileURL(__filename).href:void 0===z?location.href:N&&"SCRIPT"===N.tagName.toUpperCase()&&N.src||new f("zip-legacy.min.js",z.baseURI).href})}catch{}st(He),e.BlobReader=Qr,e.BlobWriter=Gr,e.Data64URIReader=class extends Yr{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const r=e.indexOf(",")+1;n.assign(this,{Zt:e,jt:r,size:i.floor(.75*(t-r))})}readUint8Array(e,t){const{jt:n,Zt:r}=this,s=new d(t),a=4*i.floor(e/3),o=atob(r.substring(a+n,4*i.ceil((e+t)/3)+n)),c=e-3*i.floor(a/4);let l=0;for(let e=c;e<c+t&&e<o.length;e++)s[e-c]=o.charCodeAt(e),l++;return l<s.length?s.subarray(0,l):s}},e.Data64URIWriter=class extends Xr{constructor(e){super(),n.assign(this,{contentType:e,data:"data:"+(e||"")+";base64,",qt:""})}writeUint8Array(e){const t=this;let n,s=t.qt;const a=t.qt.length;for(t.qt="",n=0;n<3*i.floor((a+e.length)/3)-a;n++)s+=r.fromCharCode(e[n]);for(;n<e.length;n++)t.qt+=r.fromCharCode(e[n]);s.length>2?t.data+=g(s):t.qt=s+t.qt}getData(){return this.data+g(this.qt)}},e.ERR_AMBIGUOUS_ARCHIVE=Sa,e.ERR_BAD_FORMAT=oa,e.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ua,e.ERR_DUPLICATED_NAME=ci,e.ERR_ENCRYPTED=da,e.ERR_ENCRYPTED_CENTRAL_DIRECTORY=xa,e.ERR_ENTRY_DATA_OUT_OF_BOUNDS=ba,e.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=la,e.ERR_EOCDR_NOT_FOUND=ca,e.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=wa,e.ERR_HTTP_RANGE=Ir,e.ERR_HTTP_RESOURCE_CHANGED=Ar,e.ERR_INVALID_AUTHENTICATION_CODE=Rt,e.ERR_INVALID_CODEC_DEFINITION=bn,e.ERR_INVALID_CODEC_MODULE=xn,e.ERR_INVALID_COMMENT=li,e.ERR_INVALID_COMMENT_TYPE=ui,e.ERR_INVALID_COMPRESSED_DATA=Rn,e.ERR_INVALID_CRC32=kn,e.ERR_INVALID_DATE=di,e.ERR_INVALID_ENCRYPTION_STRENGTH=mi,e.ERR_INVALID_ENTRY_COMMENT=fi,e.ERR_INVALID_ENTRY_COMMENT_TYPE=wi,e.ERR_INVALID_ENTRY_NAME=pi,e.ERR_INVALID_EXTRAFIELD=Si,e.ERR_INVALID_EXTRAFIELD_DATA=Ei,e.ERR_INVALID_EXTRAFIELD_DATA_TYPE=zi,e.ERR_INVALID_EXTRAFIELD_TYPE=xi,e.ERR_INVALID_FILENAME_VALIDATION=ga,e.ERR_INVALID_FUNCTION_OPTION=Ce,e.ERR_INVALID_GID=Ii,e.ERR_INVALID_LEVEL=Pi,e.ERR_INVALID_MAX_APPENDED_DATA_SIZE=Da,e.ERR_INVALID_MAX_WORKERS=Ae,e.ERR_INVALID_MSDOS_ATTRIBUTES=Li,e.ERR_INVALID_MSDOS_DATA=Mi,e.ERR_INVALID_PASSWORD=vt,e.ERR_INVALID_PASSWORD_TYPE=ke,e.ERR_INVALID_SIGNAL=Re,e.ERR_INVALID_SIGNATURE=Ct,e.ERR_INVALID_SIGNATURE_DATA=Ki,e.ERR_INVALID_STRICTNESS=Ea,e.ERR_INVALID_UID=Oi,e.ERR_INVALID_UNCOMPRESSED_SIZE=Cn,e.ERR_INVALID_UNIX_EXTRA_FIELD_TYPE=Ni,e.ERR_INVALID_UNIX_ID_SIZE=Vi,e.ERR_INVALID_UNIX_MODE=Ai,e.ERR_INVALID_VERSION=hi,e.ERR_ITERATOR_COMPLETED_TOO_SOON=Nr,e.ERR_LOCAL_FILE_HEADER_NOT_FOUND=fa,e.ERR_OVERLAPPING_ENTRY=ya,e.ERR_RESERVED_COMPRESSION_METHOD=Sn,e.ERR_SPLIT_ZIP_FILE=ma,e.ERR_UNDEFINED_COMPRESSION_METHOD=ki,e.ERR_UNDEFINED_READER=Ui,e.ERR_UNDEFINED_UNCOMPRESSED_SIZE=Ri,e.ERR_UNDETERMINED_SIZE="Undetermined size",e.ERR_UNSAFE_FILENAME=za,e.ERR_UNSUPPORTED_COMPRESSION=ha,e.ERR_UNSUPPORTED_CONTEXT=Io,e.ERR_UNSUPPORTED_CRYPTO_API=Ut,e.ERR_UNSUPPORTED_ENCRYPTION=pa,e.ERR_UNSUPPORTED_ENCRYPTION_PASS_THROUGH=bi,e.ERR_UNSUPPORTED_ENCRYPTION_USDZ=yi,e.ERR_UNSUPPORTED_FORMAT=Ci,e.ERR_WORKER_STARTUP_TIMEOUT=Qn,e.ERR_WRITER_NOT_INITIALIZED=Vr,e.ERR_ZIP_NOT_EMPTY=Ti,e.HttpRangeReader=class extends ps{constructor(e,t={}){super(e,n.assign({},t,{useRangeHeader:!0}))}},e.HttpReader=ps,e.Reader=Yr,e.SplitDataReader=hs,e.SplitDataWriter=ms,e.TextReader=class extends Qr{constructor(e){super(new y([e],{type:"text/plain"}))}},e.TextWriter=class extends Gr{constructor(e){super(),n.assign(this,{encoding:e,Yt:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,Yt:t}=this,n=await super.getData();return n.text&&t?n.text():((e,t)=>Tr(e,t,!1))(new d(await n.arrayBuffer()),e)}},e.Uint8ArrayReader=class extends Yr{constructor(e){super(),e=new d(e.buffer,e.byteOffset,e.byteLength),n.assign(this,{St:e,size:e.length})}readUint8Array(e,t){return this.St.slice(e,e+t)}},e.Uint8ArrayWriter=class extends Xr{constructor(e){super(),this.Xt=e||262144}init(e=0){n.assign(this,{offset:0,St:new d(e>0?e:this.Xt)}),super.init()}writeUint8Array(e){const t=this,n=t.offset+e.length;if(n>t.St.length){let e=t.St.length?2*t.St.length:t.Xt;for(;e<n;)e*=2;const r=t.St;t.St=new d(e),t.St.set(r)}t.St.set(e,t.offset),t.offset+=e.length}getData(){return this.offset===this.St.length?this.St:this.St.slice(0,this.offset)}},e.Writer=Xr,e.ZipReader=Ua,e.ZipReaderStream=Ta,e.ZipWriter=Xi,e.ZipWriterStream=class{constructor(e={}){const{readable:t,writable:n}=new D;this.readable=t,this.zipWriter=new Xi(n,e),this.He=new l}transform(e){const t=this.zipWriter;let n;const{readable:r,writable:s}=new D({start(e){n=e},flush:()=>{(async()=>{try{await t.close()}catch(e){try{await t.writer.writable.abort(e)}catch{}}})()}});return Bi(this,this.zipWriter.add(e,r),e=>n.error(e)),{readable:this.readable,writable:s}}writable(e){let t;const{readable:n,writable:r}=new D({start(e){t=e}});return Bi(this,this.zipWriter.add(e,n),e=>t.error(e)),r}async close(e,n={}){return await b.all(t.from(this.He)),this.zipWriter.close(e,n)}},e.configure=e=>{n.assign(We,Ye(Be(e)))},e.createBlobTempStream=(e={})=>{const{thresholdBytes:t=Uo}=e;return()=>{const e=[];let n,r,s,a=0,i=!1;const o=new v({async write(s){i?await n.write(s):(e.push(s),a+=s.length,a>t&&await(async()=>{const t=new D;r=mn(t.readable),n=t.writable.getWriter(),i=!0;for(const t of e)await n.write(t);e.length=0})())},async close(){n&&(await n.close(),n=null)}});let c=0;return{writable:o,readable:new F({async pull(t){if(i){if(!s){const e=await r;s=e.stream().getReader()}const{value:e,done:n}=await s.read();n?t.close():t.enqueue(e)}else c<e.length?t.enqueue(e[c++]):t.close()},async cancel(e){s&&await s.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(n){try{await n.abort()}catch{}n=null}r&&(r.catch(()=>{}),r=null),e.length=0}}}},e.createOPFSTempStream=(e={})=>{const{thresholdBytes:n=Ro,directoryName:r=ko,getDirectory:s=()=>k.storage.getDirectory()}=e;let a;function i(){return a||(a=b.resolve(s()).then(e=>e.getDirectoryHandle(r,{create:!0}))),a}return()=>{const e=[];let r,s,a,o,c=0,l=!1;const u=new v({async write(o){l?await a.write(o):(e.push(o),c+=o.length,c>n&&await(async()=>{const n=await i();r=E.randomUUID?E.randomUUID():t.from(E.getRandomValues(new d(16)),e=>e.toString(16).padStart(2,"0")).join(""),s=await n.getFileHandle(r,{create:!0}),a=(await s.createWritable()).getWriter(),l=!0;for(const t of e)await a.write(t);e.length=0})())},async close(){a&&(await a.close(),a=null)}});let f=0;return{writable:u,readable:new F({async pull(t){if(l){if(!o){const e=await s.getFile();o=e.stream().getReader()}const{value:e,done:n}=await o.read();n?t.close():t.enqueue(e)}else f<e.length?t.enqueue(e[f++]):t.close()},async cancel(e){o&&await o.cancel(e)}},{highWaterMark:0}),dispose:async()=>{if(a){try{await a.close()}catch{}a=null}if(r){try{const e=await i();await e.removeEntry(r)}catch{}s=r=null}e.length=0}}}},e.createSyncAccessHandleTempStream=(e={})=>{const{thresholdBytes:n=To,directoryName:r=Oo,getDirectory:s}=e;if(!(s||"undefined"!=typeof FileSystemFileHandle&&FileSystemFileHandle.prototype.createSyncAccessHandle))throw new w(Io);const a=s||(()=>k.storage.getDirectory());let o;function c(){return o||(o=b.resolve(a()).then(e=>e.getDirectoryHandle(r,{create:!0}))),o}return()=>{const e=[];let r,s,a=0,o=!1,l=0,u=0;const f=new v({async write(i){o?(s.write(i,{at:l}),l+=i.length):(e.push(i),a+=i.length,a>n&&await(async()=>{const n=await c();r=E.randomUUID?E.randomUUID():t.from(E.getRandomValues(new d(16)),e=>e.toString(16).padStart(2,"0")).join("");const a=await n.getFileHandle(r,{create:!0});s=await a.createSyncAccessHandle(),o=!0;for(const t of e)s.write(t,{at:l}),l+=t.length;e.length=0})())},close(){s&&s.flush()}});let w=0;return{writable:f,readable:new F({pull(t){if(o){const e=l-u;if(e<=0)return void t.close();const n=new d(i.min(524288,e)),r=s.read(n,{at:u});r?(u+=r,t.enqueue(n.subarray(0,r))):t.close()}else w<e.length?t.enqueue(e[w++]):t.close()}},{highWaterMark:0}),dispose:async()=>{if(s){try{s.close()}catch{}s=null}if(r){try{const e=await c();await e.removeEntry(r)}catch{}r=null}e.length=0}}}},e.getMimeType=()=>"application/octet-stream",e.registerCodec=(e={})=>{const{compressionMethod:t,format:n,codecURI:r,CompressionStream:a,DecompressionStream:i,versionNeeded:o}=e;if(!s.isInteger(t)||t<0||t>L||typeof n!=ue||!n.length)throw new w(bn);if(zn.includes(t))throw new w(Sn);const c=typeof a==le||typeof i==le;if(!(c||typeof r==ue&&r.length))throw new w(bn);En.set(t,{compressionMethod:t,format:n,codecURI:r,versionNeeded:o}),c&&vn(n,{CompressionStream:a,DecompressionStream:i})},e.resetConfiguration=()=>{for(const e of Ke)delete We[e];n.assign(We,Ve)},e.terminateWorkers=async()=>{await b.allSettled(br.map(e=>(Rr(e),e.terminate()))),Gn=ie,Jn=!1},e.unregisterCodec=e=>{const t=En.get(e);if(t){let n;En.delete(e),En.forEach(e=>n=n||e.format==t.format),n||gn.delete(t.format)}}});
|