@zip.js/zip.js 2.8.43 → 2.8.45
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 +0 -37
- package/deno.json +21 -1
- package/dist/zip-core-external.js +194 -159
- package/dist/zip-core-external.min.js +1 -1
- package/dist/zip-core.js +194 -131
- package/dist/zip-core.min.js +1 -1
- package/dist/zip-fs-core-external.js +246 -167
- package/dist/zip-fs-core-external.min.js +1 -1
- package/dist/zip-fs-core.js +244 -139
- package/dist/zip-fs-core.min.js +1 -1
- package/dist/zip-fs-external.js +267 -1761
- package/dist/zip-fs-external.min.js +1 -1
- package/dist/zip-fs-native.js +269 -1735
- package/dist/zip-fs-native.min.js +1 -1
- package/dist/zip-fs.js +268 -1734
- package/dist/zip-fs.min.js +1 -1
- package/dist/zip-legacy.js +196 -133
- package/dist/zip-legacy.min.js +1 -1
- package/dist/zip-native.js +196 -133
- 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 +195 -132
- package/dist/zip.min.js +1 -1
- package/eslint.config.mjs +31 -2
- package/index-native.cjs +269 -1735
- package/index-native.min.js +1 -1
- package/index.cjs +268 -1734
- package/index.d.cts +129 -8
- package/index.d.ts +129 -8
- package/index.min.js +1 -1
- package/lib/core/codec-pool.js +6 -2
- package/lib/core/codec-worker.js +2 -2
- package/lib/core/constants.js +4 -0
- package/lib/core/options.js +6 -0
- package/lib/core/streams/aes-crypto-stream.js +18 -21
- package/lib/core/streams/codec-stream.js +6 -2
- package/lib/core/streams/common-crypto.js +2 -0
- package/lib/core/streams/zip-entry-stream.js +16 -17
- package/lib/core/util/mime-type-data.js +3 -0
- package/lib/core/util/mime-type.js +23 -1596
- package/lib/core/web-worker-base.js +2 -2
- package/lib/core/web-worker-inline-native.js +1 -1
- package/lib/core/web-worker-inline-wasm.js +1 -1
- package/lib/core/web-worker-wasm.js +4 -8
- package/lib/core/zip-entry.js +11 -1
- package/lib/core/zip-fs.js +62 -5
- package/lib/core/zip-reader.js +80 -43
- package/lib/core/zip-writer.js +68 -45
- package/lib/zip-core-external.js +2 -0
- package/lib/zip-core-reader.js +2 -0
- package/lib/zip-fs-core-external.js +2 -0
- package/lib/zip-fs-external.js +2 -0
- package/lib/zip-mime-types.js +2 -0
- package/package.json +9 -3
- package/worker-message-property-names.js +1 -1
package/dist/zip-fs-core.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:i,Math:a,Date:o,Map:c,Set:d,Response:l,URL:u,Error:w,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:S,TextDecoder:x,document:b,crypto:z,btoa:F,TransformStream:R,ReadableStream:E,WritableStream:D,CompressionStream:A,DecompressionStream:T,navigator:v,Worker:k}="undefined"!=typeof globalThis?globalThis:this||self,C=4294967295,U=65535,I=255,M=67324752,O=134695760,N=O,_=33639248,P=101010256,L=101075792,W=117853008,B=22,Z=20,V=21589,H=2048,j=16384,q=2048,K=1024,Y="/",G=30,X=new o(2107,11,31,23,59,58),J=new o(1980,0,1),Q=void 0,$=1/0,ee="undefined",te="function",re=new f;let ne=2;try{typeof v!=ee&&v.hardwareConcurrency&&(ne=v.hardwareConcurrency)}catch{}const se={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 A!=ee&&A,DecompressionStream:typeof T!=ee&&T};function ie(){return se}function ae(e){return a.max(e.chunkSize,64)}function oe(e,t){const r=new f(e.length+t.length);return r.set(e),r.set(t,e.length),r}function ce(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function de(e){return new m(e.buffer,e.byteOffset,e.byteLength)}function le(e){if(e instanceof E)return e;const t=e.getReader();return new E({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function ue(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const we="HTTP error ",fe="HTTP Range not supported",pe="HTTP resource changed",he="Content-Range",me="Range",ye="GET",ge="bytes",Se=16777216,xe="writable",be=Symbol();class ze{constructor(){this.size=0}init(){this.initialized=!0}}class Fe extends ze{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=ae(ie())}={}){const n=this;let s=0;return new E({async pull(i){const o=t===Q?r:a.min(r,t-s),c=await st(n,e+s,o);i.enqueue(c),s+r>t||t===Q&&!c.length&&o?i.close():s+=r}})}}class Re extends ze{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new w("Writer not initialized");return e.writeUint8Array(ce(t))}});r.defineProperty(e,xe,{get:()=>t})}writeUint8Array(){}}class Ee extends Fe{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,o:n,size:a.floor(.75*(t-n))})}readUint8Array(e,t){const{o:r,dataURI:n}=this,s=new f(t),i=4*a.floor(e/3),o=atob(n.substring(i+r,4*a.ceil((e+t)/3)+r)),c=e-3*a.floor(i/4);let d=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),d++;return d<s.length?s.subarray(0,d):s}}class De extends Re{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,s=t.pending;const i=t.pending.length;for(t.pending="",r=0;r<3*a.floor((i+e.length)/3)-i;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}}let Ae,Te;class ve extends Fe{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),Te||(Te=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();Ae=1==t}catch{Ae=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?Ae?le(t.slice(n,n+s).stream()):super.createReadable(e):le(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 i=await s.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,n)),new f(i)}}class ke extends ze{constructor(e){super();const t=this,n=new R;if(r.defineProperty(t,xe,{get:()=>n.writable}),typeof y.prototype.stream!=te||new y([]).stream()instanceof E){const r=[];e&&r.push(["Content-Type",e]),t.blob=new l(n.readable,{headers:r}).blob()}else{const r=[];t.blob=n.readable.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,{type:e}))}t.blob.catch(()=>{})}getData(){return this.blob}}class Ce extends ve{constructor(e){super(new y([e],{type:"text/plain"}))}}class Ue extends ke{constructor(e){super(e),r.assign(this,{encoding:e,l:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,l:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new g((s,i)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>i(t.error)}),t.readAsText(n,e)})}}}class Ie extends Fe{constructor(e,t){super(),Oe(this,e,t)}async init(){await Ne(this,Ye,He),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:i}=t;if((r||n)&&i!==Q){const{offset:r=0,size:n=i-r}=e||{};if(n>0&&i>r)return((e,t,r)=>{let n,i=t,o=0,c=r;return new E({start:()=>d(),async pull(e){n||await d();const{value:t,done:r}=await n.read();if(r)throw new w(fe);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=n;n=Q,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function d(){const t=a.min(e.maximumRangeSize,c),r=await Ye(ye,e,Ze(e,i,t));if(206!=r.status)throw new w(fe);const d=r.headers.get(he);if(d){const e=s(d.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=i)throw new w(fe)}Be(e,r),We(e,r),i+=t,o=t,n=r.body.getReader()}})(t,r,a.min(n,i-r))}return super.createReadable(e)}readUint8Array(e,t){return _e(this,e,t,Ye,He)}}class Me extends Fe{constructor(e,t){super(),Oe(this,e,t)}async init(){await Ne(this,Ge,je),super.init()}readUint8Array(e,t){return _e(this,e,t,Ge,je)}}function Oe(e,t,n){const{preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:d=Se,fetch:l}=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:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:d,fetch:l})}async function Ne(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=ie(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(i||a)&&(void 0===s||s)){const n=await t(ye,e,Ze(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==ge))throw new w(fe);{if(o){const t=new f(await n.arrayBuffer());206==n.status&&t.length==B&&(e.h=t)}We(e,n);const s=Pe(n);s===Q?await Ke(e,t,r):e.size=s}}else await Ke(e,t,r)}async function _e(e,t,r,n,i){const{useRangeHeader:a,forceRangeRequests:o,h:c,size:d,options:l}=e;if(a||o){if(c&&t==d-B&&r==B)return c;if(d>t&&0!==r){t+r>d&&(r=d-t);const i=await n(ye,e,Ze(e,t,r));if(206!=i.status)throw new w(fe);const a=i.headers.get(he);if(a){const e=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(fe)}Be(e,i),We(e,i);const o=new f(await i.arrayBuffer());if(o.length!=r)throw new w(fe);return o}return re}{const{data:n}=e;return n||await i(e,l),e.data.subarray(t,t+r)}}function Pe(e){const t=e.headers.get(he);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function Le({headers:e}){return{m:e.get("Etag")||Q,lastModified:e.get("Last-Modified")||Q}}function We(e,t){const{checkResourceChanges:r,S:n}=e;r&&!n&&206==t.status&&(e.S=Le(t))}function Be(e,t){const{checkResourceChanges:n,S:s,size:i}=e;if(n){const e=Pe(t);if(e!==Q&&i!==Q&&e!=i)throw new w(pe);if(s){const e=Le(t);if(r.entries(s).some(([t,r])=>r!==Q&&e[t]!==Q&&r!=e[t]))throw new w(pe)}}}function Ze(e,t=0,n=1){return r.assign({},Ve(e),{[me]:ge+"="+(0>t?t:t+"-"+(t+n-1))})}function Ve({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function He(e){await qe(e,Ye)}async function je(e){await qe(e,Ge)}async function qe(e,t){const r=await t(ye,e,Ve(e));e.data=new f(await r.arrayBuffer()),e.size=e.data.length}async function Ke(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Ve(e)),i=n.headers.get("Content-Length");i&&!n.headers.get("Content-Encoding")?e.size=s(i):await r(e,e.options)}}async function Ye(e,{fetch:t=fetch,options:n,url:s},i){const a=await t(s,r.assign({},n,{method:e,headers:i}));if(400>a.status)return a;throw 416==a.status?new w(fe):new w(we+(a.statusText||a.status))}function Ge(e,{url:t},n){return new g((s,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.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:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}else i(416==a.status?new w(fe):new w(we+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>i(e.detail?e.detail.error:new w("Network error")),!1),a.open(e,t),n)for(const e of r.entries(n))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class Xe extends Fe{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Me(e,t):new Ie(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 Je extends Fe{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}}class Qe extends Re{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new f(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 f(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)}}class $e extends Fe{constructor(e){super(),this.F=e}async init(){const e=this,{F:t}=e;e.R=0,await g.all(t.map(e=>nt(e))),e.D=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}A(e){const{D:t,size:r}=this,n=t[e];return n===Q?r:n}async readUint8Array(e,t){const r=this,{F:n}=this;let s,i=0,o=e;for(;n[i]&&o>=n[i].size;)o-=n[i].size,i++;const c=n[i];if(c){const n=c.size;if(o+t>n){const i=n-o;s=oe(await st(c,o,i),await r.readUint8Array(e+i,t-i))}else s=await st(c,o,t)}else s=re;return r.R=a.max(i,r.R),s}}class et extends ze{constructor(e,t=4294967295){super();const n=this;let s,i,a;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===be)return void(a&&await d());const{availableSize:r}=n;if(a)t.length<r?await c(t):(await c(t.subarray(0,r)),await d(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new w("Writer iterator completed too soon");s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await nt(s),i=r.writable,a=i.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await l())},async abort(e){a&&await a.abort(e)}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),s.size+=t,n.availableSize-=t)}async function d(){await l(),n.diskOffset+=s.size,n.diskNumber++,a=null,n.availableSize=n.maxSize}async function l(){await a.close()}r.defineProperty(n,xe,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(be)}finally{e.releaseLock()}}}class tt{constructor(e){return t.isArray(e)&&(e=new $e(e)),(e instanceof E||typeof e.getReader==te)&&(e={readable:le(e)}),e}}class rt{constructor(e){return e.writable===Q&&typeof e.next==te&&(e=new et(e)),(e instanceof D||typeof e.getWriter==te)&&(e={writable:ue(e)}),e.size===Q&&(e.size=0),e}}async function nt(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function st(e,t,r){return e.readUint8Array(t,r)}const it=new c,at=new c;function ot(e){return it.get(e)}function ct(e){return at.get(e)}const dt=[[],[],[],[],[],[],[],[]];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;dt[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=dt[t-1][e];dt[t][e]=r>>>8^dt[0][255&r]}const[lt,ut,wt,ft,pt,ht,mt,yt]=dt;class gt{constructor(e){this.T=e||-1}append(e){let t=0|this.T;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,r),i=r-8;for(;i>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=yt[255&e]^mt[e>>>8&255]^ht[e>>>16&255]^pt[e>>>24&255]^ft[255&r]^wt[r>>>8&255]^ut[r>>>16&255]^lt[r>>>24&255]}}for(;r>n;n++)t=t>>>8^lt[255&(t^e[n])];this.T=t}get(){return~this.T}}class St extends R{constructor(){let e;const t=new gt;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new f(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function xt(e){if(typeof S==ee){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new S).encode(e)}const bt={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=bt.v(r);return 32===n?e.concat(t):bt.C(t,n,0|r,e.slice(0,e.length-1))},U(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+bt.v(r)},I(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,a.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=bt.M(t,e[r-1]&2147483648>>t-1,1)),e},M:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,v:e=>a.round(e/1099511627776)||32,C(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,i=bt.v(s);return n.push(bt.M(t+i&31,t+i>32?r:n.pop(),1)),n}},zt={bytes:{O(e){const t=bt.U(e)/8,r=new f(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},N(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(bt.M(8*(3&r),n)),t}}},Ft=class{constructor(e){const t=this;t.blockSize=512,t._=[1732584193,4023233417,2562383102,271733878,3285377520],t.P=[1518500249,1859775393,2400959708,3395469782],e?(t.L=e.L.slice(0),t.W=e.W.slice(0),t.B=e.B):t.reset()}reset(){const e=this;return e.L=e._.slice(0),e.W=[],e.B=0,e}update(e){const t=this;"string"==typeof e&&(e=zt.Z.N(e));const r=t.W=bt.concat(t.W,e),n=t.B,s=t.B=n+bt.U(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const i=new h(r);let a=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.V(i.subarray(16*a,16*(a+1))),a+=1;return r.splice(0,16*a),t}H(){const e=this;let t=e.W;const r=e.L;t=bt.concat(t,[bt.M(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e.B/4294967296)),t.push(0|e.B);t.length;)e.V(t.splice(0,16));return e.reset(),r}j(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}K(e,t){return t<<e|t>>>32-e}V(e){const r=this,n=r.L,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let i=n[0],o=n[1],c=n[2],d=n[3],l=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r.K(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r.K(5,i)+r.j(e,o,c,d)+l+s[e]+r.P[a.floor(e/20)]|0;l=d,d=c,c=r.K(30,o),o=i,i=t}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+c|0,n[3]=n[3]+d|0,n[4]=n[4]+l|0}},Rt={importKey:e=>new Rt.Y(zt.bytes.N(e)),G(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new w("invalid params to pbkdf2");const s=1+(n>>5)<<2;let i,a,o,c,d;const l=new ArrayBuffer(s),u=new m(l);let f=0;const p=bt;for(t=zt.bytes.N(t),d=1;(s||1)>f;d++){for(i=a=e.encrypt(p.concat(t,[d])),o=1;r>o;o++)for(a=e.encrypt(a),c=0;c<a.length;c++)i[c]^=a[c];for(o=0;(s||1)>f&&o<i.length;o++)u.setInt32(f,i[o]),f+=4}return l.slice(0,n/8)},Y:class{constructor(e){const t=this,r=t.X=Ft,n=[[],[]];t.J=[new r,new r];const s=t.J[0].blockSize/32;e.length>s&&(e=(new r).update(e).H());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.J[0].update(n[0]),t.J[1].update(n[1]),t.$=new r(t.J[0])}reset(){const e=this;e.$=new e.X(e.J[0]),e.ee=!1}update(e){this.ee=!0,this.$.update(e)}digest(){const e=this,t=e.$.H(),r=new e.X(e.J[1]).update(t).H();return e.reset(),r}encrypt(e){if(this.ee)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},Et=typeof z!=ee&&typeof z.getRandomValues==te,Dt="Invalid password",At="Invalid signature",Tt="zipjs-abort-check-password";function vt(e){if(Et)return z.getRandomValues(e);throw new w("Crypto API not supported")}const kt=16,Ct={name:"PBKDF2"},Ut=r.assign({hash:{name:"HMAC"}},Ct),It=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Ct),Mt=["deriveBits"],Ot=[8,12,16],Nt=[16,24,32],_t=10,Pt=[0,0,0,0],Lt=typeof z!=ee,Wt=Lt&&z.subtle,Bt=Lt&&typeof Wt!=ee,Zt=zt.bytes,Vt=class{constructor(e){const t=this;t.te=[[[],[],[],[],[]],[[],[],[],[],[]]],t.te[0][0][0]||t.re();const r=t.te[0][4],n=t.te[1],s=e.length;let i,a,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(t.P=[a=e.slice(0),o=[]],i=s;4*s+28>i;i++){let e=a[i-1];(i%s===0||8===s&&i%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],i%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[i]=a[i-s]^e}for(let e=0;i;e++,i--){const t=a[3&e?i:i-4];o[e]=4>=i||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.ne(e,0)}decrypt(e){return this.ne(e,1)}re(){const e=this.te[0],t=this.te[1],r=e[4],n=t[4],s=[],i=[];let a,o,c,d;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=a=0;!r[l];l^=o||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,r[l]=i,n[i]=l,d=s[c=s[o=s[l]]];let u=16843009*d^65537*c^257*o^16843008*l,w=257*s[i]^16843008*i;for(let r=0;4>r;r++)e[r][l]=w=w<<24^w>>>8,t[r][i]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}ne(e,t){if(4!==e.length)throw new w("invalid aes block size");const r=this.P[t],n=r.length/4-2,s=[0,0,0,0],i=this.te[t],a=i[0],o=i[1],c=i[2],d=i[3],l=i[4];let u,f,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],g=e[t?1:3]^r[3],S=4;for(let e=0;n>e;e++)u=a[h>>>24]^o[m>>16&255]^c[y>>8&255]^d[255&g]^r[S],f=a[m>>>24]^o[y>>16&255]^c[g>>8&255]^d[255&h]^r[S+1],p=a[y>>>24]^o[g>>16&255]^c[h>>8&255]^d[255&m]^r[S+2],g=a[g>>>24]^o[h>>16&255]^c[m>>8&255]^d[255&y]^r[S+3],S+=4,h=u,m=f,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=l[h>>>24]<<24^l[m>>16&255]<<16^l[y>>8&255]<<8^l[255&g]^r[S++],u=h,h=m,m=y,y=g,g=u;return s}},Ht=class{constructor(e,t){this.se=e,this.ie=t,this.ae=t}reset(){this.ae=this.ie}update(e){return this.oe(this.se,e,this.ae)}ce(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}de(e){0===(e[0]=this.ce(e[0]))&&(e[1]=this.ce(e[1]))}oe(e,t,r){let n;if(!(n=t.length))return[];const s=bt.U(t);for(let s=0;n>s;s+=4){this.de(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 bt.I(t,s)}},jt=Rt.Y;let qt=Lt&&Bt&&typeof Wt.importKey==te,Kt=Lt&&Bt&&typeof Wt.deriveBits==te;class Yt extends R{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n}){super({start(){Xt(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:i,le:a,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await Qt(e,t,r,er(n,0,Ot[t])),i=er(n,Ot[t]);if(s[0]!=i[0]||s[1]!=i[1])throw new w(Dt)})(r,i,s,er(e,0,Ot[i]+2)),e=er(e,Ot[i]+2),n?t.error(new w(Tt)):a()):await o;const c=new f(e.length-_t-(e.length-_t)%kt);t.enqueue(Jt(r,e,c,0,_t,!0))},async flush(e){const{ue:t,we:r,pending:n,ready:s}=this;if(r&&t){await s;const i=er(n,0,n.length-_t),a=er(n,n.length-_t);let o=re;if(i.length){const e=rr(Zt,i);r.update(e);const n=t.update(e);o=tr(Zt,n)}const c=er(tr(Zt,r.digest()),0,_t);let d=n.length<_t?1:0;for(let e=0;_t>e;e++)d|=c[e]^a[e];if(d)throw new w(At);e.enqueue(o)}}})}}class Gt extends R{constructor({password:e,rawPassword:t,encryptionStrength:r}){let n;super({start(){Xt(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,le:i,ready:a}=r;let o=re;n?(o=await(async(e,t,r)=>{const n=vt(new f(Ot[t]));return oe(n,await Qt(e,t,r,n))})(r,s,n),i()):await a;const c=new f(o.length+e.length-e.length%kt);c.set(o,0),t.enqueue(Jt(r,e,c,o.length,0))},async flush(e){const{ue:t,we:r,pending:s,ready:i}=this;if(r&&t){await i;let a=re;if(s.length){const e=t.update(rr(Zt,s));r.update(e),a=tr(Zt,e)}n.signature=tr(Zt,r.digest()).slice(0,_t),e.enqueue(oe(a,n.signature))}}}),n=this}}function Xt(e,t,n,s){r.assign(e,{ready:new g(t=>e.le=t),password:$t(t,n),strength:s-1,pending:re})}function Jt(e,t,r,n,s,i){const{ue:a,we:o,pending:c}=e;c.length&&(t=oe(c,t));const d=t.length-s;let l;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,n+(d-d%kt)),l=0;d-kt>=l;l+=kt){const e=rr(Zt,er(t,l,l+kt));i&&o.update(e);const s=a.update(e);i||o.update(s),r.set(tr(Zt,s),l+n)}return e.pending=er(t,l),r}async function Qt(e,n,s,i){e.password=null;const a=await(async(e,t,r,n,s)=>{if(!qt)return Rt.importKey(t);try{return await Wt.importKey("raw",t,r,!1,s)}catch{return qt=!1,Rt.importKey(t)}})(0,s,Ut,0,Mt),o=await(async(e,t,r)=>{if(!Kt)return Rt.G(t,e.salt,It.iterations,r);try{return await Wt.deriveBits(e,t,r)}catch{return Kt=!1,Rt.G(t,e.salt,It.iterations,r)}})(r.assign({salt:i},It),a,8*(2*Nt[n]+2)),c=new f(o),d=rr(Zt,er(c,0,Nt[n])),l=rr(Zt,er(c,Nt[n],2*Nt[n])),u=er(c,2*Nt[n]);return r.assign(e,{keys:{key:d,fe:l,passwordVerification:u},ue:new Ht(new Vt(d),t.from(Pt)),we:new jt(l)}),u}function $t(e,t){return t===Q?xt(e):t}function er(e,t,r){return e.subarray(t,r)}function tr(e,t){return e.O(t)}function rr(e,t){return e.N(t)}class nr extends R{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){ir(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=ar(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new w(Dt);e=e.subarray(12)}n?t.error(new w(Tt)):t.enqueue(ar(r,e))}})}}class sr extends R{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){ir(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=vt(new f(12));t[11]=r.passwordVerification,n=new f(e.length+t.length),n.set(or(r,t),0),s=12}else n=new f(e.length),s=0;n.set(or(r,e),s),t.enqueue(n)}})}}function ir(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,pe:new gt(s[0]),he:new gt(s[2])}),n)for(let t=0;t<n.length;t++)cr(e,n[t]);else for(let r=0;r<t.length;r++)cr(e,t.charCodeAt(r))})(e,t,n)}function ar(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=dr(e)^t[n],cr(e,r[n]);return r}function or(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=dr(e)^t[n],cr(e,t[n]);return r}function cr(e,t){let[,r]=e.keys;e.pe.append([t]);const n=~e.pe.get();r=ur(a.imul(ur(r+lr(n)),134775813)+1),e.he.append([r>>>24]);const s=~e.he.get();e.keys=[n,r,s]}function dr(e){const t=2|e.keys[2];return lr(a.imul(t,1^t)>>>8)}function lr(e){return 255&e}function ur(e){return 4294967295&e}const wr="Invalid uncompressed size",fr="Invalid compressed data",pr="deflate-raw",hr="gzip",mr=[31,139,8];class yr extends R{constructor(e,{chunkSize:t,CompressionStreamZlib:r,CompressionStream:n}){super({});const{compressed:s,encrypted:i,useCompressionStream:a,zipCrypto:o,signed:c,level:d,deflate64:l,format:u,compressionMethod:w}=e,f=this;let p,h,y,g=super.readable;const S=u&&ct(u),x=c&&s&&!l&&!S&&(!i||o)&&!(!a||!n);if(i&&!o||!c||x||(p=new St,g=Dr(g,p)),s)if(S)g=Ar(g,Rr(S.CompressionStream,u,{level:d,chunkSize:t,compressionMethod:w}));else if(x)y=new gr,g=Ar(g,new n(hr)),g=Dr(g,y);else try{g=Er(g,a,{level:d,chunkSize:t},n,r)}catch(e){let t;try{t=new n(hr)}catch{throw e}g=Ar(g,t),g=Dr(g,new gr)}i&&(o?g=Dr(g,new sr(e)):(h=new Gt(e),g=Dr(g,h))),Fr(f,g,()=>{let e;i&&!o&&(e=h.signature),i&&!o||!c||(e=x?y.signature:new m(p.value.buffer).getUint32(0)),f.signature=e})}}class gr extends R{constructor(){let e,t=10,r=new f(0);super({transform(e,n){if(t){const r=a.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=oe(r,e));const i=s-8,o=a.min(i,r.length);n.enqueue(oe(r.subarray(0,o),e.subarray(0,i-o))),r=oe(r.subarray(o),e.subarray(i-o))},flush(){const t=de(r);e.signature=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Sr extends R{constructor(e,{chunkSize:t,DecompressionStreamZlib:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:i,signed:a,signature:o,compressed:c,useCompressionStream:d,deflate64:l,format:u,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let S,x,b=super.readable;if(i&&(s?b=Dr(b,new nr(e)):(x=new Yt(e),b=Dr(b,x))),c){const e=u&&ct(u);if(e)b=Ar(b,Rr(e.DecompressionStream,u,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{b=Er(b,d,{chunkSize:t,deflate64:l},n,r)}catch(e){if(l||y===Q)throw e;let t;try{t=new n(hr)}catch{throw e}b=((e,t,r)=>{const n=new gt;let s,i,a,o=0,c=!1;const d=new g((e,t)=>{i=e,a=t});d.catch(()=>{}),r||i();const l=new R({start(e){const t=new f(10);t.set(mr),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await d}finally{h()}const t=new f(8),s=de(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){a(e)}}),u=new R({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():i(),t.enqueue(e)},cancel(e){a(e)}});return e=Dr(e,l),Dr(e=Ar(e,t),u);function p(){h(),s=setTimeout(()=>a(new w(wr)),5e3)}function h(){clearTimeout(s)}})(b,t,y)}b=(e=>{const t=e.getReader();return new E({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(fr);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(b)}i&&!s||!a||(S=new St,b=Dr(b,S)),Fr(this,b,()=>{if((!i||s)&&a){const e=new m(S.value.buffer);if(o!=e.getUint32(0,!1))throw new w(At)}})}}const xr=new c;function br(e,t){if(!e)return!1;let r=xr.get(e);r||(r=new c,xr.set(e,r));let n=r.get(t);if(n===Q){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function zr(e){return br(e,pr)}function Fr(e,t,n){t=Dr(t,new R({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function Rr(e,t,r){if(!e)throw new w("Compression method not supported");return new e(t,r)}function Er(e,t,r,n,s){const i=t&&n?n:s||n,a=r.deflate64?"deflate64-raw":pr;let o;try{o=new i(a,r)}catch(e){if(!t||!s||i==s)throw e;o=new s(a,r)}return Ar(e,o)}function Dr(e,t){return le(e).pipeThrough(t)}function Ar(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 Tr="data",vr="deflate",kr="inflate";class Cr extends R{constructor(e,t){super({});const n=this,{codecType:s}=e;let i;s.startsWith(vr)?i=yr:s.startsWith(kr)&&(i=Sr),n.outputSize=0;let a=0;const o=new i(e,t),c=super.readable,d=new R({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:a})}}),l=new R({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==Q&&n.outputSize>e.outputSize))throw new w(wr)},flush(){const{signature:e}=o;r.assign(n,{signature:e,inputSize:a})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(d).pipeThrough(o).pipeThrough(l)})}}class Ur extends R{constructor(e){const t=[];let r=0;function n(){const n=new f(e);let s=0;for(;e>s;){const r=t[0],i=e-s;r.length>i?(n.set(r.subarray(0,i),s),t[0]=r.subarray(i),s+=i):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,i){for(t.push(s),r+=s.length;r>e;)i.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new f(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const Ir={type:"module"},Mr="error";let Or,Nr,_r,Pr,Lr=!0;try{Lr=typeof structuredClone==te&&structuredClone(new DOMException("","AbortError")).code!==Q}catch{}class Wr{constructor(e,{readable:t,writable:n},{options:s,config:i,me:a,useWebWorkers:o,transferStreams:c,workerURI:d},l){const{signal:u}=a;return r.assign(e,{ye:!0,ge:(e.ge||0)+1,readable:t.pipeThrough(new Ur(ae(i))).pipeThrough(new Br(a),{signal:u}),writable:n,options:r.assign({},s),workerURI:d,transferStreams:c,terminate:()=>new g(t=>{const{Se:r,ye:n}=e;r?(n?e.xe=t:(r.terminate(),t()),e.be=null):t()}),ze(){if(e.ye){const{xe:t}=e;t&&(e.xe=null,e.Fe=!0,e.Se.terminate(),t()),e.ye=!1,l(e)}}}),Or===Q&&(Or=typeof k!=ee),(o&&Or?Hr:Vr)(e,i)}}class Br extends R{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await Zr(e,r)},async transform(e,n){s+=e.length,t&&await Zr(t,s,r),n.enqueue(e)},async flush(){n&&await Zr(n,s)}})}}async function Zr(e,...t){try{await e(...t)}catch{}}function Vr(e,t){return{run:()=>jr(e,t)}}function Hr(e,t){const{baseURI:n,chunkSize:i,workerStartupTimeout:a}=t;let{wasmURI:o}=t;if(!e.be){let c;typeof o==te&&(o=o());try{c=Kr(e.workerURI,n,e)}catch{return Or=!1,Vr(e,t)}r.assign(e,{Se:c,Re:!1,Fe:!1,be:{run:async()=>{try{return await(async(e,t)=>{let n,i;const a=new g((e,t)=>{n=e,i=t});r.assign(e,{reader:null,writer:null,Ee:n,De:i,result:a});const{readable:o,options:c}=e,{writable:d,closed:l,Ae:u}=(e=>{const t=new AbortController,{writable:r,readable:n}=new R,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,Ae:()=>t.abort()}})(e.writable);let f;try{f=Xr({type:"start",options:c,config:t,readable:o,writable:d},e)}catch(t){u();try{await l}catch{}throw e.ze(),t}f||r.assign(e,{reader:o.getReader(),writer:d.getWriter()});const{workerStartupTimeout:p}=t;e.Re||!s.isFinite(p)||0>p||(e.Te=setTimeout(()=>(e=>{if(e.Te=null,e.Re)return;const{De:t,writer:r}=e;if(qr(e),e.Se=null,t){const e=new w("Worker startup timeout");e.ve=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await a;return await h(),await l,e}catch(e){await h(),u();try{await l}catch{}throw e}async function h(){if(!f&&!d.locked)try{await d.getWriter().close()}catch{}}})(e,{chunkSize:i,wasmURI:o,baseURI:n,workerStartupTimeout:a})}catch(r){if(r&&r.ve){Or=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,jr(e,t)}throw r}}}})}return e.be}async function jr({options:e,readable:t,writable:r,ze:n},s){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(vr),r=t?s.CompressionStreamZlib:s.DecompressionStreamZlib,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.ke&&!zr(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.ke||(e.useCompressionStream=!0)}}i=new Cr(e,s),await t.pipeThrough(i).pipeThrough(new Ur(ae(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{signature:n,inputSize:a,outputSize:o}=i;return{signature:n,inputSize:a,outputSize:o}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{n()}}function qr(e){const{Se:t}=e;if(t)try{t.terminate()}catch{}e.be=null}function Kr(e,t,n,s,i=!0){let a,o,c;if(_r===Q||Nr!==e){const r=typeof e==te;o=r?e(i):e;const d=o.startsWith("data:"),l=o.startsWith("blob:");if(d||l){s===Q&&(s=!1),s&&(c=Ir);try{a=new k(o,c)}catch(i){if(l)try{u.revokeObjectURL(o)}catch{}if(r&&l)return Kr(e,t,n,s,!1);if(s)throw i;return Kr(e,t,n,!0,!1)}}else{s===Q&&(s=!0),s&&(c=Ir);try{o=new u(o,t)}catch{}try{a=new k(o,c)}catch(r){if(s)throw r;return Kr(e,t,n,!1,i)}}Nr=e,_r=o,Pr=c}else a=new k(_r,Pr);return a.addEventListener("message",e=>{n.Re=!0,Yr(n),(async({data:e},t)=>{const{type:n,value:s,messageId:i,result:a,error:o}=e,{reader:c,writer:d,Ee:l,De:u,ze:p,ge:h}=t,m=()=>t.ge!=h;try{if(o){const{message:e,stack:t,code:n,name:s,outputSize:i,cause:a}=o,c=new w(e);r.assign(c,{stack:t,code:n,name:s,outputSize:i}),a&&(c.cause=r.assign(new w(a.message),{name:a.name})),y(c)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||Xr({type:Tr,value:e,done:r,messageId:i},t)}n==Tr&&(await d.ready,await d.write(new f(s)),m()||Xr({type:"ack",messageId:i},t)),"close"==n&&y(null,a)}}catch(o){m()||(qr(t),y(o))}function y(e,t){m()||(e?u(e):l(t),d&&d.releaseLock(),p())}})(e,n)}),a.addEventListener(Mr,e=>Gr(e,n)),a.addEventListener("messageerror",e=>Gr(e,n)),a}function Yr(e){const{Te:t}=e;t&&(clearTimeout(t),e.Te=null)}function Gr(e,t){e.preventDefault&&e.preventDefault(),Yr(t);const{Re:n,De:s,writer:i,ze:a}=t;if(qr(t),n||(t.Se=null),s){let t=e.error||new w(e.message||Mr);n||(t=r.assign(new w(t.message||Mr),{ve:!0})),s(t),i&&i.releaseLock(),n&&a()}}function Xr(e,{Se:t,writer:r,transferStreams:n,Re:s}){try{const{value:r,readable:i,writable:a}=e,o=[];if(r&&(e.value=ce(r),o.push(e.value.buffer)),n&&Lr&&s?(i&&o.push(i),a&&o.push(a)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{Lr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let Jr=[];const Qr=[];let $r,en,tn=0;async function rn(e,t){const{options:r,config:n}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:o,compressed:c,signed:d,encrypted:l,format:f,codecURI:p}=r,{workerURI:h,maxWorkers:m}=n;f&&(p&&(r.codecURI=((e,t)=>{try{return new u(e,t).toString()}catch{return e}})(p,n.baseURI)),await(async(e,t)=>{!at.has(e)&&t&&((e,t)=>{const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=te&&typeof n!=te)throw new w("Invalid codec module");at.set(e,{CompressionStream:r,DecompressionStream:n})})(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(f,r.codecURI)),t.transferStreams=i||i===Q&&n.transferStreams;const y=!c&&!d&&!l,S=f===Q||!!r.codecURI;return t.useWebWorkers=!y&&S&&(a||a===Q&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&h?h:Q,r.useCompressionStream=o||o===Q&&n.useCompressionStream,(await(async()=>{const r=Jr.find(e=>!e.ye);if(r)return cn(r),new Wr(r,e,t,x);if(Jr.length<m){const r={Ce:tn};return tn++,Jr.push(r),new Wr(r,e,t,x)}return new g(r=>{Qr.push({resolve:r,stream:e,Ue:t}),en=n.workerStarvationTimeout,nn()})})()).run();function x(e){if(sn(),Qr.length){const[{resolve:t,stream:r,Ue:n}]=Qr.splice(0,1);t(new Wr(e,r,n,x)),nn()}else e.Se?(cn(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.Fe?e.Fe=!1:e.Ie=setTimeout(async()=>{Jr=Jr.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):Jr=Jr.filter(t=>t!=e)}}function nn(){!$r&&Qr.length&&s.isFinite(en)&&en>=0&&($r=setTimeout(an,en))}function sn(){$r&&(clearTimeout($r),$r=null)}function an(){if($r=null,Qr.length){const[{resolve:e,stream:t,Ue:n}]=Qr.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:Q});e(new Wr({},t,s,on)),nn()}}function on(){sn(),nn()}function cn(e){const{Ie:t}=e;t&&(clearTimeout(t),e.Ie=null)}const dn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function ln(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=dn[e[r]];return t}})(e):new x(t,{ignoreBOM:!0}).decode(e)}const un="filename",wn="rawFilename",fn="comment",pn="rawComment",hn="uncompressedSize",mn="compressedSize",yn="offset",gn="diskNumberStart",Sn="lastModDate",xn="rawLastModDate",bn="lastAccessDate",zn="creationDate",Fn="rawCreationDate",Rn="internalFileAttributes",En="externalFileAttributes",Dn="msdosAttributesRaw",An="msdosAttributes",Tn="msDosCompatible",vn="zip64",kn="encrypted",Cn="version",Un="versionMadeBy",In="zipCrypto",Mn="directory",On="executable",Nn="compressionMethod",_n="signature",Pn="extraField",Ln="unixMode",Wn="setuid",Bn="setgid",Zn="sticky",Vn=[un,wn,hn,mn,Sn,xn,fn,pn,bn,zn,Fn,yn,gn,Rn,En,Dn,An,Tn,vn,kn,Cn,Un,In,Mn,On,Nn,_n,Pn,"extraFieldUnix","extraFieldInfoZip","uid","gid",Ln,Wn,Bn,Zn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class Hn{constructor(e){Vn.forEach(t=>this[t]=e[t])}}const jn="password",qn="rawPassword",Kn="passThrough",Yn="signal",Gn="checkAmbiguity",Xn="useWebWorkers",Jn="useCompressionStream",Qn="transferStreams",$n="preventClose",es="offset",ts="usdz",rs="strictness",ns="strict",ss="tolerant",is="File format is not recognized",as="End of central directory not found",os="End of Zip64 central directory locator not found",cs="Central directory header not found",ds="Local file header not found",ls="Zip64 extra field not found",us="File contains encrypted entry",ws="Encryption method not supported",fs="Compression method not supported",ps="Split zip file",hs="Overlapping entry found",ms="Ambiguous archive",ys="Encrypted central directory is not supported",gs="utf-8",Ss="cp437",xs=[[hn,C],[mn,C],[yn,C],[gn,U]],bs={[U]:{Me:qs,bytes:4},[C]:{Me:Ks,bytes:8}};class zs{constructor(e,t={}){r.assign(this,{reader:new tt(e),options:t,config:ie(),Oe:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:s}=t;if(await nt(n),n.size!==Q&&n.readUint8Array||(n=new ve(await new l(n.readable).blob()),await nt(n)),n.size<B)throw new w(is);const i=Cs(Bs(t,e,rs),Bs(t,e,Gn)),o=i==ns,c=i!=ss,u=((e,t)=>e!==Q?e:t==ns?0:t==ss?1/0:U)(Bs(t,e,"maxAppendedDataSize"),i),{Ne:f,_e:p}=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,65557),i={count:Us};let o,c,d=0;for await(const[r,a,l,u,w]of Ns(e,s)){const s=js(r,u+20);if(w+B+s==n){const s=await Ps(e,r,a,u,w,n,i);if(s==Os){if(o||(o=_s(l,u,w)),d++,!t||d>1)break}else s!=Ms||c||(c=_s(l,u,w))}}return o||(o=c),o||(o=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,t==1/0?n:65557+t);let i,o;for await(const[t,a,c,d,l]of Ns(e,s)){const s=_s(c,d,l);i||(i=s);const u=await Ps(e,t,a,d,l,n,r);if(u==Os)return s;u!=Ms||o||(o=s)}return o||i})(e,r,i)),{Ne:o,_e:d}})(n,c,u);if(!f)throw qs(de(await st(n,0,4)))==O?new w(ps):new w(as);c&&p>1&&Ws("multiple end of central directory records");const h=de(f);let m=qs(h,12),y=qs(h,16);const S=f.offset,x=js(h,20),b=S+B+x;n.size-b>u&&Ws("appended data");let z=js(h,4);const F=n.R||0;let E,D,A,T=js(h,6),v=js(h,10),k=0;const M=y==C||m==C||v==U||T==U;if(y!=C&&T!=U&&(y+=ks(n,T)),M){const e=f.offset<Z?re:await st(n,f.offset-Z,Z),t=de(e);if(e.length==Z&&qs(t,0)==W){y=ks(n,qs(t,4))+Ks(t,8);let e=await st(n,y,56),r=de(e);const s=f.offset-Z-56;if((56>e.length||qs(r,0)!=L)&&y!=s&&s>=0){const t=y;y=s,y>t&&(k=y-t),e=await st(n,y,56),r=de(e)}if(56>e.length||qs(r,0)!=L)throw new w(os);D=!0,A=Ks(r,4)>44,z==U?z=qs(r,16):o&&z!=qs(r,16)&&Ws("mismatched zip64 end of central directory record"),T==U?T=qs(r,20):o&&T!=qs(r,20)&&Ws("mismatched zip64 end of central directory record"),v==U?v=Ks(r,32):o&&v!=Ks(r,32)&&Ws("mismatched zip64 end of central directory record"),m==C?m=Ks(r,40):o&&m!=Ks(r,40)&&Ws("mismatched zip64 end of central directory record"),y=ks(n,T)+Ks(r,48)+k}}const N=m,P=f.offset-(D?76:0);if(y<n.size||(k=n.size-y-m-B,y=n.size-m-B),F!=z)throw new w(ps);if(0>y)throw new w(is);let V=0,H=await st(n,y,m),G=de(H);if(m){if(4>H.length)throw new w(is);const e=P-m;if(y!=e&&T==z){let t=!(qs(G,V)==_);if(t||0>e||e+4>n.size||(t=qs(de(await st(n,e,4)),0)==_),t){const t=y;y=e,y>t&&(k+=y-t),H=await st(n,y,m),G=de(H)}}}const X=P-y;if(m==X||0>X||T!=z||(m=X,H=await st(n,y,m),G=de(H)),0>y||y>=n.size)throw new w(is);E=y;const J=Bs(t,e,"filenameEncoding"),$=Bs(t,e,"commentEncoding"),ee=o?new d:Q;let te;for(let i=0;v>i;i++){const c=new Fs(n,s,t.options);if(V+46>H.length||qs(G,V)!=_){if(0==i&&(A||Rs(G)))throw new w(ys);throw new w(cs)}Es(c,G,V+6);const d=!!c.bitFlag.languageEncodingFlag,u=V+46,f=u+c.filenameLength,p=f+c.extraFieldLength,h=js(G,V+4),m=!(h>>8),y=h>>8==3,S=H.subarray(u,f),x=js(G,V+32),b=p+x,z=H.subarray(p,b),F=d,D=d,T=qs(G,V+38),C=T&I,M={readOnly:!!(1&C),hidden:!!(2&C),system:!!(4&C),directory:!!(16&C),archive:!!(32&C)},O=qs(G,V+42),N=Bs(t,e,"decodeText")||ln,P=F?gs:J||Ss,L=D?gs:$||Ss;let W=N(S,P);W===Q&&(W=ln(S,P));let B=N(z,L);B===Q&&(B=ln(z,L)),r.assign(c,{index:i,versionMadeBy:h,msDosCompatible:m,compressedSize:0,uncompressedSize:0,Pe:x,offset:O,diskNumberStart:js(G,V+34),internalFileAttributes:js(G,V+36),externalFileAttributes:T,msdosAttributesRaw:C,msdosAttributes:M,rawFilename:S,filenameUTF8:F,commentUTF8:D,rawExtraField:H.subarray(f,p),rawComment:z,filename:W,comment:B}),Ds(c,c,G,V+6),c.offset+=k,E=a.min(ks(n,c.diskNumberStart)+c.offset,E),o&&(ee.has(c.filename)&&(te=!0),ee.add(c.filename));const Z=c.externalFileAttributes>>16&U;c.unixMode===Q&&16877&Z&&(c.unixMode=Z);const X=!!(c.unixMode&q),re=!!(c.unixMode&K),ne=!!(512&c.unixMode),se=c.unixMode!==Q?!!(73&c.unixMode):y&&!!(73&Z),ie=c.unixMode!==Q&&(61440&c.unixMode)==j,ae=(61440&Z)==j;r.assign(c,{setuid:X,setgid:re,sticky:ne,unixExternalUpper:Z,internalFileAttribute:c.internalFileAttributes,externalFileAttribute:c.externalFileAttributes,executable:se,directory:ie||ae||m&&M.directory||c.filename.endsWith(Y)&&!c.uncompressedSize,zipCrypto:c.encrypted&&!c.extraFieldAES});const oe=new Hn(c);oe.getData=(e,r)=>c.getData(e,oe,t.Oe,r),oe.arrayBuffer=async e=>{const r=new R,[n]=await g.all([new l(r.readable).arrayBuffer(),c.getData(r,oe,t.Oe,e)]);return n},V=b;const{onprogress:ce}=e;if(ce)try{await ce(i+1,v,new Hn(c))}catch{}yield oe}o&&V!=N&&Ws("trailing central directory data"),te&&Ws("duplicate filename"),o&&(k||v&&E>0)&&Ws("prepended data");const ne=Bs(t,e,"extractPrependedData"),se=Bs(t,e,"extractAppendedData");return ne&&(t.prependedData=E>0?await st(n,0,E):re),t.comment=x?await st(n,S+B,x):re,se&&(t.appendedData=b<n.size?await st(n,b,n.size-b):re),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}let Fs=class{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const s=this,{reader:i,index:a,offset:o,diskNumberStart:c,extraFieldAES:d,extraFieldZip64:l,compressionMethod:u,config:f,bitFlag:p,rawBitFlag:h,signature:m,rawLastModDate:y,uncompressedSize:g,compressedSize:S}=s,{dataDescriptor:x}=p,b=t.localDirectory={},z=ks(i,c)+o,F=await st(i,z,G),R=de(F);let E=Bs(s,n,jn),A=Bs(s,n,qn);const T=Bs(s,n,Kn);if(E=E&&E.length&&E,A=A&&A.length&&A,d&&99!=d.originalCompressionMethod)throw new w(fs);if(F.length<G||qs(R,0)!=M)throw new w(ds);Es(b,R,4);const{extraFieldLength:v,filenameLength:k}=b,C=Cs(Bs(s,n,rs),Bs(s,n,Gn))==ns;let U=re;if(C&&(k||v)){const e=await st(i,z+G,k+v);U=e.subarray(0,k),b.rawExtraField=e.subarray(k)}else b.rawExtraField=v?await st(i,z+G+k,v):re;Ds(s,b,R,4,!0),C&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&Ws("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Ws("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Ws("mismatched local file header (compression method)"),t.bitFlag.dataDescriptor||!(t.signature||t.compressedSize||t.uncompressedSize)||t.signature==e.signature&&t.compressedSize==e.compressedSize&&t.uncompressedSize==e.uncompressedSize||Ws("mismatched local file header (signature or sizes)")})(s,b,U);const{lastAccessDate:O,creationDate:_}=b;O&&(t.lastAccessDate=O),_&&(t.creationDate=_);const P=s.encrypted&&b.encrypted&&!T,L=P&&!d;if(T||(t.zipCrypto=L),P&&!(64&~b.rawBitFlag))throw new w(ws);const W=T?Q:ot(u);if(0!=u&&8!=u&&9!=u&&!W&&!T)throw new w(fs);if(P){if(!L&&(1>d.strength||d.strength>3))throw new w(ws);if(!E&&!A)throw new w(us)}const B=z+G+k+v,Z=S,V=le(i.createReadable({offset:B,size:Z})),H=Bs(s,n,Yn),j=Bs(s,n,"checkPasswordOnly");let q=Bs(s,n,"checkOverlappingEntry");const K=Bs(s,n,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:X,onend:J}=n,$=9==u;let ee=Bs(s,n,Jn);$&&(ee=!1);const te={options:{codecType:kr,password:E,rawPassword:A,zipCrypto:L,encryptionStrength:d&&d.strength,signed:Bs(s,n,"checkSignature")&&!T,passwordVerification:L&&(x?y>>>8&I:m>>>24&I),outputSize:T?S:g,signature:m,compressed:0!=u&&!T,encrypted:P,useWebWorkers:Bs(s,n,Xn),useCompressionStream:ee,transferStreams:Bs(s,n,Qn),deflate64:$,format:W?W.format:Q,codecURI:W?W.codecURI:Q,compressionMethod:u,rawBitFlag:h,checkPasswordOnly:j},config:f,me:{signal:H,size:Z,onstart:Y,onprogress:X,onend:J}};let ne;q&&await(async({reader:e,Le:t,index:r,offset:n,signature:s,compressedSize:i,uncompressedSize:a,We:o,dataDescriptor:c,extraFieldZip64:d,Oe:l})=>{let u=0;if(c&&(u=d?20:12),u){const r=await st(e,o+i,u+4);if(r.length==u+4&&qs(de(r),0)==N){const e=qs(de(r),4);let n,o;d?(n=Ks(de(r),8),o=Ks(de(r),16)):(n=qs(de(r),8),o=qs(de(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==i&&o==a&&(u+=4)}}const f={start:n,end:o+i+u,Le:t};for(const[e,t]of l)if(e!=r&&f.start<t.end&&t.start<f.end){const e=new w(hs);throw e.Be=t.Le,e}l.set(r,f)})({reader:i,Le:t,index:a,offset:z,signature:m,compressedSize:S,uncompressedSize:g,We:B,dataDescriptor:x||b.bitFlag.dataDescriptor,extraFieldZip64:l||b.extraFieldZip64,Oe:r});try{if(!K){j&&(e=new D),e=new rt(e),await nt(e,T?S:g),({writable:ne}=e);const{outputSize:t}=await rn({readable:V,writable:ne},te);if(e.size+=t,t!=(T?S:g))throw new w(wr)}}catch(t){if(t.outputSize!==Q&&(e.size+=t.outputSize),!j||t.message!=Tt)throw t}finally{Bs(s,n,$n)||!ne||ne.locked||await ne.getWriter().close()}return j||K?Q:e.getData?e.getData():ne}};function Rs(e){const t=a.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==qs(e,r))return!0;return!1}function Es(e,t,n){const s=e.rawBitFlag=js(t,n+2),i=!(1&~s),a=qs(t,n+6);r.assign(e,{encrypted:i,version:js(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&H)==H},rawLastModDate:a,lastModDate:Zs(a),filenameLength:js(t,n+22),extraFieldLength:js(t,n+24)})}function Ds(e,t,n,s,i){const{rawExtraField:a}=t,d=t.extraField=new c,l=de(a);let u=0;try{for(;u<a.length;){const e=js(l,u),t=js(l,u+2);d.set(e,{type:e,data:a.slice(u+4,u+4+t)}),u+=4+t}}catch{}const f=js(n,s+4);r.assign(t,{signature:qs(n,s+10),compressedSize:qs(n,s+14),uncompressedSize:qs(n,s+18)});const p=d.get(1);p&&(((e,t)=>{t.zip64=!0;const r=de(e.data),n=xs.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+bs[t].bytes,0);if(e.data.length<s)throw new w(ls);for(let s=0,i=0;s<n.length;s++){const[a,o]=n[s],c=bs[o];t[a]=e[a]=c.Me(r,i),i+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=d.get(28789);h&&(As(h,un,wn,t,e),t.extraFieldUnicodePath=h);const m=d.get(25461);m&&(As(m,fn,pn,t,e),t.extraFieldUnicodeComment=m);const y=d.get(39169);y&&y.data.length>=7?(((e,t,n)=>{const s=de(e.data),i=Hs(s,4);r.assign(e,{Ze:Hs(s,0),vendorId:Hs(s,2),strength:i,originalCompressionMethod:n,compressionMethod:js(s,5)}),t.compressionMethod=e.compressionMethod})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const g=d.get(10);g&&(((e,t)=>{const n=de(e.data);let s,i=4;try{for(;i<e.data.length&&!s;){const t=js(n,i),r=js(n,i+2);1==t&&(s=e.data.slice(i+4,i+4+r)),i+=4+r}}catch{}try{if(s&&24==s.length){const n=de(s),i=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),o=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:i,rawLastAccessDate:a,rawCreationDate:o});const c={lastModDate:Vs(i),lastAccessDate:Vs(a),creationDate:Vs(o)};r.assign(e,c),r.assign(t,c)}}catch{}})(g,t),t.extraFieldNTFS=g);const S=d.get(30805);if(S)Ts(S,t,!1),t.extraFieldUnix=S;else{const e=d.get(30837);e&&(Ts(e,t,!0),t.extraFieldInfoZip=e)}const x=d.get(V);x&&(((e,t,r)=>{if(!e.data.length)return;const n=de(e.data),s=Hs(n,0),i=[],a=[];r?(1&~s||(i.push(Sn),a.push(xn)),2&~s||(i.push(bn),a.push("rawLastAccessDate")),4&~s||(i.push(zn),a.push(Fn))):5>e.data.length||(i.push(Sn),a.push(xn));let c=1;i.forEach((r,s)=>{if(e.data.length>=c+4){const i=qs(n,c);t[r]=e[r]=new o(1e3*(0|i));const d=a[s];e[d]=i}c+=4})})(x,t,i),t.extraFieldExtendedTimestamp=x);const b=d.get(6534);b&&(t.extraFieldUSDZ=b)}function As(e,t,n,s,i){if(5>e.data.length)return void(e.valid=!1);const a=de(e.data),o=new gt;o.append(i[n]);const c=de(new f(4));c.setUint32(0,o.get(),!0);const d=qs(a,1);r.assign(e,{version:Hs(a,0),[t]:ln(e.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&d==qs(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Ts(e,t,n){try{const s=de(e.data);let i,a;if(n){let t=0;const n=Hs(s,t++),o=Hs(s,t++);i=vs(e.data.subarray(t,t+o)),t+=o;const c=Hs(s,t++);a=vs(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:i,gid:a})}else 4>e.data.length||(i=js(s,0),a=js(s,2),r.assign(e,{uid:i,gid:a}));i!==Q&&(t.uid=i),a!==Q&&(t.gid=a)}catch{}}function vs(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function ks(e,t){return e.A?e.A(t):0}function Cs(e,t){return e===Q?t?ns:"balanced":e}const Us=64,Is=0,Ms=1,Os=2;async function*Ns(e,t){const r=e.size-t,n=await st(e,r,t),s=de(n);for(let e=n.length-B;e>=0;e--)qs(s,e)==P&&(yield[s,r,n,e,r+e])}function _s(e,t,r){return{offset:r,buffer:e.slice(t,t+B).buffer}}async function Ps(e,t,r,n,s,i,a){const o=js(t,n+10),c=qs(t,n+12),d=qs(t,n+16);if(o==U||c==C||d==C)return await Ls(e,t,r,s-Z,i,a)==W?Os:Is;if(!o&&!c)return Ms;const l=js(t,n+6);for(const n of[s-c,ks(e,l)+d])if(await Ls(e,t,r,n,i,a)==_)return Os;return Is}async function Ls(e,t,r,n,s,i){return 0>n||n+4>s?Q:r>n?i.count>0?(i.count--,qs(de(await st(e,n,4)),0)):Q:qs(t,n-r)}function Ws(e){const t=new w(ms);throw t.reason=e,t}function Bs(e,t,r){return t[r]===Q?e.options[r]:t[r]}function Zs(e){const t=(4294901760&e)>>16,r=e&U;try{return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}catch{}}function Vs(e){return new o(s(e/i(1e4)-i(116444736e5)))}function Hs(e,t){return e.getUint8(t)}function js(e,t){return e.getUint16(t,!0)}function qs(e,t){return e.getUint32(t,!0)}function Ks(e,t){return s(e.getBigUint64(t,!0))}var Ys=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:ms,ERR_BAD_FORMAT:is,ERR_CENTRAL_DIRECTORY_NOT_FOUND:cs,ERR_ENCRYPTED:us,ERR_ENCRYPTED_CENTRAL_DIRECTORY:ys,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:os,ERR_EOCDR_NOT_FOUND:as,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:ls,ERR_INVALID_COMPRESSED_DATA:fr,ERR_INVALID_PASSWORD:Dt,ERR_INVALID_SIGNATURE:At,ERR_INVALID_UNCOMPRESSED_SIZE:wr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ds,ERR_OVERLAPPING_ENTRY:hs,ERR_SPLIT_ZIP_FILE:ps,ERR_UNSUPPORTED_COMPRESSION:fs,ERR_UNSUPPORTED_ENCRYPTION:ws,ZipReader:zs});const Gs="Zip file comment exceeds 64KB",Xs="Version exceeds 65535",Js="Extra field data exceeds 64KB",Qs=-2147483648,$s=2147483647,ei="Zip64 is not supported (set the 'zip64' option to 'true')",ti=new f([7,0,2,0,65,69,3,0,0]),ri="infozip",ni="unix";let si=0;const ii=[];class ai{constructor(e,t={}){e=new rt(e);const{availableSize:n=$,maxSize:s=$}=e,i=n>0&&n!==$&&s>0&&s!==$;r.assign(this,{writer:e,Ve:i,options:t,config:ie(),files:new c,He:new d,offset:t[es]===Q?e.size||e.writable.size||0:t[es],je:t[es]===Q?0:t[es]-(e.size||e.writable.size||0),qe:new d,Ke:0,Ye:Q})}async prependZip(e){if(this.He.size)throw new w("Zip file not empty");e=new tt(e),await nt(e);const{ZipReader:t}=await g.resolve().then(()=>Ys),n=new t(e.readable),s=await n.getEntries();await n.close(),await nt(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.He=new d(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:i,rawFilename:a,bitFlag:o,encrypted:c,uncompressedSize:d,compressedSize:l,zip64:u}=e;let{compressionMethod:w,Ge:f,Xe:p,Je:h,Qe:m,$e:y,rawExtraField:g}=e;const{level:S,languageEncodingFlag:x,dataDescriptor:b}=o;f=f||re,p=p||re,h=h||re,m=m||re,y=y||re,g=g||re,e.extraFieldAES&&(w=99);const z=Ei(f,p,h,m,y,g),F=u&&d>=C,R=u&&l>=C,E=-7&Ai(S,x,b,c,w)|S<<1,{et:D,nt:A}=Di({version:t,bitFlag:E,compressionMethod:w,uncompressedSize:d,compressedSize:l,rawLastModDate:n,rawFilename:a,st:R,it:F,extraFieldLength:z}),{signature:T}=e;return T!==Q&&zi(A,10,T),r.assign(e,{it:F,st:R,ot:u&&e.offset>=C,diskNumberStart:0,ct:!1,Ge:f,Xe:p,Je:h,Qe:m,$e:y,rawExtraField:g,extendedTimestamp:h.length>0||m.length>0,lt:1+(s?2:0)+(i?4:0),et:D,nt:A}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{qe:c,config:d}=s;let l,u;si<d.maxWorkers?si++:await new g(e=>ii.push(e));try{if(e=e.trim(),Si(s,n,Mn)&&!e.endsWith(Y)&&(e+=Y),s.He.has(e))throw new w("File already exists");return s.He.add(e),u=!0,l=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=Si(e,r,Tn),s=Si(e,r,Un,n?20:768);const i=Si(e,r,On),a=Si(e,r,"uid"),o=Si(e,r,"gid");let c=Si(e,r,Ln),d=Si(e,r,"unixExtraFieldType"),l=Si(e,r,Wn),u=Si(e,r,Bn),f=Si(e,r,Zn);if(a!==Q&&(0>a||a>C))throw new w("Invalid uid (must be integer 0..2^32-1)");if(o!==Q&&(0>o||o>C))throw new w("Invalid gid (must be integer 0..2^32-1)");if(c!==Q&&(0>c||c>U))throw new w("Invalid UNIX mode (must be integer 0..65535)");if(d!==Q&&d!==ri&&d!==ni)throw new w("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(d===ni&&(a!==Q&&a>U||o!==Q&&o>U))throw new w("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");d!==Q||a===Q&&o===Q||(d=ri);let p=Si(e,r,Dn),h=Si(e,r,An);const m=p!==Q||h!==Q;if(a!==Q||o!==Q||c!==Q||d?(n=!1,s=s&U|768):m&&(n=!0,s&=I),p!==Q&&(0>p||p>I))throw new w("Invalid msdosAttributesRaw (must be integer 0..255)");if(h&&"object"!=typeof h)throw new w("Invalid msdosAttributes (must be an object with boolean flags)");if(s>U)throw new w(Xs);let y=Si(e,r,En);const g=y!==Q;g||(y=0),!r[Mn]&&t.endsWith(Y)&&(r[Mn]=!0);const S=Si(e,r,Mn);let x;if(S?(t.endsWith(Y)||(t+=Y),g||(y=16,n||(y|=16877<<16))):n||g||(y=i?493<<16:27525120),!n){const e=c!==Q||!!(l||u||f);x=y>>16&U,c=c===Q?x:c&U,l?c|=q:l=!!(c&q),u?c|=K:u=!!(c&K),f?c|=512:f=!!(512&c),g&&!e||(S&&(c|=j),y=(c&U)<<16|y&U)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==Q)e&=I;else if(t!==Q){const{readOnly:r,hidden:n,system:s,directory:i,archive:a}=t;let o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),i&&(o|=16),a&&(o|=32),e=o&I}return t===Q&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(p,h)),m&&(y=y&C|p&I),{name:t,ut:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:x,uid:a,gid:o,unixMode:c,unixExtraFieldType:d,setuid:l,setgid:u,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const d=((e,t,r)=>{const n=Si(e,r,"encodeText",xt);let s=n(t);if(s===Q&&(s=xt(t)),Ei(s)>U)throw new w("File entry name exceeds 64KB");const i=r[fn]||"";let a=n(i);if(a===Q&&(a=xt(i)),Ei(a)>U)throw new w("File entry comment exceeds 64KB");const c=Si(e,r,Cn,20);if(c>U)throw new w(Xs);const d=Si(e,r,Sn,new o),l=Si(e,r,bn),u=Si(e,r,zn),p=Si(e,r,Rn,0),h=Si(e,r,Kn);let m,y;h||(m=Si(e,r,jn),y=Si(e,r,qn));const g=Si(e,r,"encryptionStrength",3),S=Si(e,r,In),x=Si(e,r,"extendedTimestamp",!0),b=Si(e,r,"ntfsTimestamp"),z=Si(e,r,"keepOrder",!0),F=Si(e,r,Xn),R=Si(e,r,Qn),E=Si(e,r,"bufferedWrite"),D=Si(e,r,"createTempStream"),A=Si(e,r,"dataDescriptorSignature",!0),T=Si(e,r,Yn),v=Si(e,r,"useUnicodeFileNames",!0),k=Si(e,r,Nn),C=h||k===Q?Q:ot(k);if(!h&&k!==Q&&0!==k&&8!==k&&!C)throw new w("Compression method not supported");let I=Si(e,r,"level");if(e.options[ts]){if(m!==Q||y!==Q)throw new w("Encryption is not supported in USDZ files");I===Q&&k===Q&&(I=0)}let M=Si(e,r,Jn),O=Si(e,r,"dataDescriptor");E&&O===Q&&(O=!1),(O===Q||S)&&(O=!0),I!==Q&&6!=I&&(M=!1);const N=Si(e,r,vn);if(!S&&(m!==Q||y!==Q)&&(1>g||g>3))throw new w("The strength must equal 1, 2, or 3");let _=re;const P=r[Pn];if(P){let e=0,t=0;P.forEach(t=>e+=4+Ei(t)),_=new f(e);const r=de(_);P.forEach((e,n)=>{if(n>U)throw new w("Extra field type exceeds 65535");if(Ei(e)>U)throw new w(Js);bi(r,t,n),bi(r,t+2,Ei(e)),Ri(_,e,t+4),t+=4+Ei(e)})}return{comment:i,ut:{rawFilename:s,rawComment:a,version:c,lastModDate:d,lastAccessDate:l,creationDate:u,internalFileAttributes:p,passThrough:h,password:m,rawPassword:y,encryptionStrength:g,zipCrypto:S,extendedTimestamp:x,ntfsTimestamp:b,keepOrder:z,useWebWorkers:F,transferStreams:R,bufferedWrite:E,createTempStream:D,dataDescriptorSignature:A,signal:T,useUnicodeFileNames:v,compressionMethod:k,format:C?C.format:Q,codecURI:C?C.codecURI:Q,wt:C?C.versionNeeded:Q,level:I,useCompressionStream:M,dataDescriptor:O,zip64:N,rawExtraField:_}}})(e,t,s),{comment:l}=d,u=s[Pn];let p;e.files.set(t,Q);try{const{ut:l}=d;0==l.level||l.compressionMethod!==Q||l.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamZlib:r}=e;if(r&&!r.ke)return!0;if(zr(t)||br(t,hr))return!0;if(r)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(l.level=0);const u=await(async(e,t,{ut:r},n)=>{const{passThrough:s,zipCrypto:i,password:a,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:d,zip64:l,level:u,compressionMethod:f}=r,p=0,h=0;if(s){if(!t)throw new w("Undefined reader");if(h=n[hn],h===Q)throw new w("Undefined uncompressed size")}const m=!0===l,y=Si(e,n,kn),g=!!t&&(!!(a&&Ei(a)||o&&Ei(o))||s&&y);t||(u=0,f=0);const S=g?i?12:16+4*c:0;t&&(t=new tt(t),await nt(t),s?(n.uncompressedSize=h,p=xi(h)+S):t.size===Q?(d=!0,(l||l===Q)&&(l=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=xi(h)+S));const x=m||h>=C,b=m||p>=C;if(x||b){if(!1===l)throw new w(ei);l=!0}return l=l||!1,{reader:t,ut:{dataDescriptor:d,zip64:l,it:x,st:b,uncompressedSize:h,level:u,compressionMethod:f,encrypted:g}}})(e,n,d,s);({reader:n}=u);const h=ui(e.writer),m=li(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:i,zip64:c,zipCrypto:d,useUnicodeFileNames:l,dataDescriptor:u,directory:f,rawExtraField:p,encryptionStrength:h,extendedTimestamp:m,ntfsTimestamp:y,passThrough:g,encrypted:S,it:x,st:b,uncompressedSize:z}=e;let{version:F,compressionMethod:R}=e;const E=!f&&(R===Q?i===Q||i>0:0!==R);let D;const A=g||!E,T=c&&(e.bufferedWrite||!u||!x&&!b||A),v=T||c&&u&&(x||b);if(c&&(x||b)){const e=20,t=di(e);if(t.uint16(1),t.uint16(e-4),D=t.array,T&&(t.ft(z),A)){const e=S?d?12:16+4*h:0;t.ft(g?0:z+e)}}else D=re;let k,C,I,O,N;if(S&&!d){const e=di(Ei(ti)+2);e.uint16(39169),e.bytes(ti),k=e.array,k[8]=h}else k=re;if(m){const e=mi(r),t=yi(e);if(t){const t=9+(n?4:0)+(s?4:0),r=di(t);O=1+(n?2:0)+(s?4:0),r.uint16(V),r.uint16(t-4),r.uint8(O),r.uint32(e),n&&r.uint32(gi(mi(n))),s&&r.uint32(gi(mi(s))),I=r.array}else I=re;if(y===Q?!t||n||s:y)try{const e=hi(r),t=di(36);t.uint16(10),t.uint16(32),t.ht(4),t.uint16(1),t.uint16(24),t.ft(e),t.ft(hi(n)||e),t.ft(hi(s)||e),C=t.array}catch{C=re}else C=re}else C=I=re;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=ri||t===Q&&r===Q)if(n!=ni||t===Q&&r===Q)N=re;else{const e=di(8);e.uint16(30805),e.uint16(4),e.uint16((t===Q?0:t)&U),e.uint16((r===Q?0:r)&U),N=e.array}else{const e=ci(t),n=ci(r),s=3+e.length+n.length,i=di(4+s);i.uint16(30837),i.uint16(s),i.uint8(1),i.uint8(e.length),i.bytes(e),i.uint8(n.length),i.bytes(n),N=i.array}}catch{N=re}R===Q&&(R=E?8:0);const{wt:_}=e;E&&_!==Q&&(F=F>_?F:_),c&&(F=F>45?F:45),S&&!d&&(F=F>51?F:51,k[9]=R,R=99);const P=v?Ei(D):0,L=P+Ei(k,I,C,N,p);if(L>U)throw new w(Js);const W=new o(2e3*a.ceil(r.getTime()/2e3)),{et:B,nt:Z,rawLastModDate:H}=Di({version:F,bitFlag:Ai(i,l,u,S,R),compressionMethod:R,uncompressedSize:z,lastModDate:J>W?J:W>X?X:W,rawFilename:t,st:b,it:x,extraFieldLength:L}),j=di(G+Ei(t)+L),q=j.array,K=de(q);return j.uint32(M),j.bytes(B),j.bytes(t),v&&j.bytes(D),j.bytes(k),j.bytes(I),j.bytes(C),j.bytes(N),j.bytes(p),u&&(b||zi(K,18,0),x||zi(K,22,0)),{yt:q,gt:K,et:B,nt:Z,lastModDate:r,rawLastModDate:H,encrypted:S,compressed:E,version:F,compressionMethod:R,lt:O,Ge:re,St:P,Je:I,Qe:C,$e:N,Xe:k,extraFieldLength:L}})(s=r.assign({},s,c.ut,d.ut,u.ut,{internalFileAttribute:d.ut.internalFileAttributes,externalFileAttribute:c.ut.externalFileAttributes,signature:s[_n],offset:e.offset-h,diskNumberStart:m})),S=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=re,i=0,a=e?20:12;return r&&(a+=4),t&&(s=new f(a),n=de(s),r&&(i=4,zi(n,0,N))),{xt:s,bt:n,zt:i}})(s),x=Ei(y.yt,S.xt);p=await(async(e,t,n,s,a)=>{const{files:o,writer:c}=e,{keepOrder:d,dataDescriptor:l,signal:u}=a,{Ft:p}=s,h=e.options[ts],m=e.Ye;let y,S,x,b,z,F,E,A={},T=0;o.set(t,A),e.Ye=A;try{let S;d&&(S=m&&m.lock,A.lock=new g(e=>x=e)),a.bufferedWrite||!d||e.Rt||e.Ke||!l?(y=!0,e.Ke++,E=a.createTempStream?await a.createTempStream():new R(Q,Q,{highWaterMark:$}),E.size=0,await nt(c)):(E=c,await v()),await nt(E);const U=ui(c);if(e.Ve){delete e.Ve;const t=new f(4);zi(de(t),0,O),await pi(c,t),e.offset+=4}h&&!y&&oi(s,e.offset-U);const{yt:M}=p;y||(await S,await k());const N=li(c),_=fi(e,c);if(A.diskNumberStart=N,y||(z=!0,F=c.size,await pi(E,M)),A=await(async(e,t,{diskNumberStart:n,lock:s},a,o,c)=>{const{Ft:d,Et:l,Dt:u}=a,{et:f,nt:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:S,compressionMethod:x,Ge:b,St:z,Je:F,lt:R,Qe:E,$e:D,Xe:A}=d,{xt:T}=l,{rawFilename:v,lastAccessDate:k,creationDate:U,password:M,rawPassword:O,level:N,zip64:_,it:P,st:L,zipCrypto:W,dataDescriptor:B,directory:Z,executable:V,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:$,encryptionStrength:ee,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:ue,unixExternalUpper:we,msdosAttributesRaw:fe,msdosAttributes:pe,useCompressionStream:he,passThrough:me,format:ye,codecURI:ge}=c,Se={lock:s,versionMadeBy:H,zip64:_,directory:!!Z,executable:!!V,filenameUTF8:!0,rawFilename:v,commentUTF8:!0,rawComment:j,Ge:b,St:z,Je:F,Qe:E,$e:D,Xe:A,rawExtraField:q,extendedTimestamp:te,msDosCompatible:re,internalFileAttributes:ne,externalFileAttributes:se,diskNumberStart:n,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:ue,unixExternalUpper:we,msdosAttributesRaw:fe,msdosAttributes:pe};let{signature:xe,uncompressedSize:be}=c,ze=0;me||(be=0);const{writable:Fe}=t;if(e){const r=le(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:vr,level:N,rawPassword:O,password:M,encryptionStrength:ee,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&I,signed:!me,compressed:g&&!me,encrypted:y&&!me,useWebWorkers:K,useCompressionStream:he,transferStreams:Y,format:ye,codecURI:ge,compressionMethod:x},config:o,me:{signal:$,size:n,onstart:G,onprogress:X,onend:J}};try{const e=await rn({readable:r,writable:Fe},s);if(ze=e.outputSize,t.size+=ze,me||(be=e.inputSize,xe=e.signature),!L&&ze>=C||!P&&be>=C)throw new w(ei)}catch(e){throw e.outputSize!==Q&&(t.size+=e.outputSize),e}}return(({signature:e,compressedSize:t,uncompressedSize:r,Ft:n,Et:s},{zip64:a,zipCrypto:o,dataDescriptor:c})=>{const{nt:d,encrypted:l}=n,{bt:u,zt:w}=s;l&&!o||e===Q||(zi(d,10,e),c&&zi(u,w,e)),a?c&&(Fi(u,w+4,i(t)),Fi(u,w+12,i(r))):(zi(d,14,t),zi(d,18,r),c&&(zi(u,w+4,t),zi(u,w+8,r)))})({signature:xe,compressedSize:ze,uncompressedSize:be,Ft:d,Et:l},c),B&&await pi(t,T),r.assign(Se,{uncompressedSize:be,compressedSize:ze,lastModDate:h,rawLastModDate:m,creationDate:U,lastAccessDate:k,encrypted:y,zipCrypto:W,size:u+ze,compressionMethod:x,version:S,et:f,nt:p,signature:xe,lt:R,it:P,st:L}),Se})(n,E,A,s,e.config,a),y||(z=!1),o.set(t,A),A.filename=t,y){if(await g.all([E.writable.getWriter().close(),S]),await v(),b=!0,F=c.size,await k(),A.diskNumberStart=li(c),A.offset=fi(e,c),h){const t=s.Dt;oi(s,e.offset-ui(c)),A.size+=s.Dt-t}(({rawFilename:e,encrypted:t,zip64:r,St:n,signature:s,compressedSize:a,uncompressedSize:o,it:c,st:d},l,{dataDescriptor:u})=>{if(u||(t||zi(l,14,s),d||zi(l,18,a),c||zi(l,22,o)),r&&n){const t=G+Ei(e)+4;Fi(l,t,i(o)),Fi(l,t+8,i(a))}})(A,p.gt,a),await pi(c,p.yt),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await n.ready,await n.write(e),t=Ei(e),T+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(E.readable,c,u),c.size+=E.size,b=!1}else A.diskNumberStart=N,A.offset=_;return e.offset+=A.size,A}catch(r){if(b||z){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=T)}throw o.delete(t),r}finally{if(y&&e.Ke--,x&&x(),S&&S(),y&&E&&E.dispose)try{await E.dispose()}catch{}}async function v(){e.Rt=!0;const{At:t}=e;e.At=new g(t=>S=()=>{e.Rt=!1,t()}),await t}async function k(){wi(c,Ei(p.yt))&&await c.closeDisk()}})(e,t,n,{Ft:y,Et:S,Dt:x},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:l,extraField:u}),new Hn(p)})(s,e,t,n),c.add(l),await l}catch(t){throw u&&s.He.delete(e),t}finally{c.delete(l);const e=ii.shift();e?e():si--}}remove(e){const{He:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==Q){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=re,r={}){const{qe:n,writer:s}=this,{writable:a}=s;if(Ei(e)>U)throw new w(Gs);for(;n.size;)await g.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,Qe:i,$e:a,rawExtraField:o,extendedTimestamp:c,lt:d,lastModDate:l,it:u,st:f,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=C,y=r.diskNumberStart>=U;let g,S;if(m||y||u||f){const e=4+(u?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=di(e);t.uint16(1),t.uint16(e-4),u&&t.ft(p),f&&t.ft(h),m&&t.ft(r.offset),y&&t.uint32(r.diskNumberStart),g=t.array}else g=re;r.Ge=g,r.ot=m,r.ct=y;const x=mi(l);if(c&&yi(x)){const e=di(9);e.uint16(V),e.uint16(5),e.uint8(d),e.uint32(x),S=e.array}else S=re;r.Je=S;const b=Ei(g,n,i,a,S,o);if(b>U)throw new w(Js);t+=46+Ei(e,s)+b}return t})(e.files),a=await(async(e,r,n)=>{const{files:s,writer:i}=e,a=new f(r);await nt(i);let o=0,c=0,d=li(i),l=ui(i);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:u,Ge:w,Xe:f,Je:p,Qe:h,$e:m,rawExtraField:y,rawComment:g,versionMadeBy:S,et:x,nt:b,it:z,st:F,ct:R,ot:E,internalFileAttributes:D,externalFileAttributes:A,diskNumberStart:T,uncompressedSize:v,compressedSize:k}=r,I=Ei(w,f,p,h,m,y),M=46+Ei(u,g)+I;wi(i,o+M-c)&&(await pi(i,a.slice(c,o)),c=o,await i.closeDisk()),0==e&&(d=li(i),l=ui(i)),z||zi(b,18,v),F||zi(b,14,k),(E||R)&&45>r.version&&bi(b,0,45);const O=di(M);if(O.uint32(_),O.uint16(S),O.bytes(x.subarray(0,24)),O.uint16(I),O.uint16(Ei(g)),O.uint16(R?U:T),O.uint16(D),O.uint32(A),O.uint32(E?C:t),O.bytes(u),O.bytes(w),O.bytes(f),O.bytes(p),O.bytes(h),O.bytes(m),O.bytes(y),O.bytes(g),Ri(a,O.array,o),o+=M,n.onprogress)try{await n.onprogress(e+1,s.size,new Hn(r))}catch{}}return await pi(i,c?a.slice(c):a),{diskNumber:d,diskOffset:l}})(e,s,n);await(async(e,t,r,n)=>{const{writer:s}=e,{Tt:a}=n;let{vt:o}=n,c=e.files.size,d=a.diskNumber,l=fi(e,a),u=li(s);wi(s,B)&&u++;let f=Si(e,r,vn);if(!(C>l&&C>o&&U>c&&U>u)){if(!1===f)throw new w(ei);f=!0}const p=Ei(t);if(p>U)throw new w(Gs);const h=di(f?98:B);wi(s,Ei(h.array)+p)&&await s.closeDisk(),u=li(s),f&&(h.uint32(L),h.ft(44),h.uint16(45),h.uint16(45),h.uint32(u),h.uint32(d),h.ft(c),h.ft(c),h.ft(o),h.ft(l),h.uint32(W),h.uint32(u),h.ft(i(fi(e,s))+i(o)),h.uint32(u+1),Si(e,r,"supportZip64SplitFile",!0)&&(u=U,d=U),c=U,l=C,o=C),h.uint32(P),h.uint16(u),h.uint16(d),h.uint16(c),h.uint16(c),h.uint32(o),h.uint32(l),h.uint16(p),await pi(s,h.array),p&&await pi(s,t)})(e,r,n,{Tt:a,vt:s})})(this,e,r),Si(this,r,$n)||await a.getWriter().close(),s.getData?s.getData():a}}function oi(e,t){const{Ft:r}=e;let{yt:n,extraFieldLength:s}=r,i=64-(t+Ei(n))%64;4>i&&(i+=64);const a=new f(i),o=de(a);bi(o,0,6534),bi(o,2,i-4);const c=n;r.yt=n=new f(Ei(c)+i),Ri(n,c),Ri(n,a,Ei(c));const d=de(n);bi(d,28,s+i),r.gt=d,e.Dt+=i}function ci(e){if(e===Q)return re;{const t=new f(4);de(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function di(e){const t=new f(e),r=de(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{bi(r,n,e),n+=2},uint32:e=>{zi(r,n,e),n+=4},ft:e=>{Fi(r,n,i(e)),n+=8},bytes:e=>{Ri(t,e,n),n+=Ei(e)},ht:e=>n+=e}}function li(e){const{diskNumber:t=0}=e;return t}function ui(e){const{diskOffset:t=0}=e;return t}function wi(e,t){const{availableSize:r=$}=e;return t>r}function fi(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.je:0)}async function pi(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=Ei(t),await n.write(t)}finally{n.releaseLock()}}function hi(e){if(e)return(i(e.getTime())+i(116444736e5))*i(1e4)}function mi(e){return a.floor(e.getTime()/1e3)}function yi(e){return e>=Qs&&$s>=e}function gi(e){return a.min($s,a.max(Qs,e))}function Si(e,t,r,n){const s=t[r]===Q?e.options[r]:t[r];return s===Q?n:s}function xi(e){return e+5*(a.floor(e/16383)+1)}function bi(e,t,r){e.setUint16(t,r,!0)}function zi(e,t,r){e.setUint32(t,r,!0)}function Fi(e,t,r){e.setBigUint64(t,r,!0)}function Ri(e,t,r){e.set(t,r)}function Ei(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function Di({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,st:c,it:d,extraFieldLength:l}){const u=di(26),w=u.array,f=de(w);if(u.uint16(e),u.uint16(t),u.uint16(r),a===Q){const e=new h(1),t=de(e);bi(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),bi(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=e[0]}return u.uint32(a),u.ht(4),c||s!==Q?u.uint32(c?C:s):u.ht(4),d||n!==Q?u.uint32(d?C:n):u.ht(4),u.uint16(Ei(o)),u.uint16(l),{et:w,nt:f,rawLastModDate:a}}function Ai(e,t,r,n,s){let i=0;return t&&(i|=H),r&&(i|=8),8!=s&&9!=s||(0>e||e>3||(i|=6),e>3&&5>=e&&(i|=4),9==e&&(i|=2)),n&&(i|=1),i}const Ti="Entry filename already exists";class vi{constructor(e,t,n,s){const i=this;if(e.root&&s&&s.getChildByName(t))throw new w(Ti);n||(n={}),r.assign(i,{fs:e,name:t,data:n.data,options:n.options,id:e.kt++,parent:s,children:[],uncompressedSize:n.uncompressedSize||0,passThrough:n.passThrough}),!s&&e.root||(e.entries[i.id]=i),s&&i.parent.children.push(i)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,r=this.parent;for(;r&&r!=e;)t=(r.name?r.name+"/":"")+t,r=r.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return!!t}rename(e){const t=this.parent;if(t&&t.getChildByName(e))throw new w(Ti);this.name=e}}class ki extends vi{constructor(e,t,r,n){super(e,t,r,n);const s=this;s.Reader=r.Reader,s.Writer=r.Writer,r.getData&&(s.getData=r.getData)}clone(){return new ki(this.fs,this.name,this)}async getData(e,t={}){const r=this;if(!e||e.constructor==r.Writer&&r.data)return r.data;{const n=r.reader=Ni(r.Reader,r.data,t),s=r.data?r.data.uncompressedSize:n.size;await g.all([nt(n),nt(e,s)]);const{readable:i}=n;return r.uncompressedSize=n.size,await i.pipeTo(e.writable),e.getData?e.getData():e.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(e,t={}){const n=this;if(!n.isPasswordProtected())return!0;try{return await n.data.getData(null,r.assign({},t,{password:e,checkPasswordOnly:!0})),!0}catch(e){if(e.message==Dt)return!1;throw e}}getText(e,t){return this.getData(new Ue(e),t)}getBlob(e,t){return this.getData(new ke(e),t)}getData64URI(e,t){return this.getData(new De(e),t)}getUint8Array(e){return this.getData(new Qe,e)}getWritable(e=new D,t){return this.getData({writable:e},t)}async getArrayBuffer(e){return ce(await this.getUint8Array(e)).buffer}replaceBlob(e){r.assign(this,{data:e,Reader:ve,Writer:ke,reader:null})}replaceText(e){r.assign(this,{data:e,Reader:Ce,Writer:Ue,reader:null})}replaceData64URI(e){r.assign(this,{data:e,Reader:Ee,Writer:De,reader:null})}replaceUint8Array(e){r.assign(this,{data:e,Reader:Je,Writer:Qe,reader:null})}replaceReadable(e){r.assign(this,{data:null,Reader:Mi(e),Writer:null,reader:null})}}class Ci extends vi{constructor(e,t,r,n){super(e,t,r,n),this.directory=!0}clone(e){const t=this,r=new Ci(t.fs,t.name,t);return e&&(r.children=t.children.map(t=>{const n=t.clone(e);return n.parent=r,n})),r}addDirectory(e,t){return Zi(this,e,{options:t},!0)}addText(e,t,r={}){return Zi(this,e,{data:t,Reader:Ce,Writer:Ue,options:r,uncompressedSize:t.length})}addBlob(e,t,r={}){return Zi(this,e,{data:t,Reader:ve,Writer:ke,options:r,uncompressedSize:t.size})}addData64URI(e,t,r={}){let n=t.length;for(;"="==t.charAt(n-1);)n--;const s=t.indexOf(",")+1;return Zi(this,e,{data:t,Reader:Ee,Writer:De,options:r,uncompressedSize:a.floor(.75*(n-s))})}addUint8Array(e,t,r={}){return Zi(this,e,{data:t,Reader:Je,Writer:Qe,options:r,uncompressedSize:t.length})}addHttpContent(e,t,r={}){return Zi(this,e,{data:t,Reader:class extends Xe{constructor(e){super(e,r)}},options:r})}addReadable(e,t,r={}){return Zi(this,e,{Reader:Mi(t),options:r})}addFileSystemEntry(e,t={}){return Li(this,e,t)}addFileSystemHandle(e,t={}){return Li(this,e,t)}addFile(e,t={}){return(t=r.assign({},t)).lastModDate||(t.lastModDate=new o(e.lastModified)),Zi(this,e.name,{data:e,Reader:()=>({readable:e.stream(),size:e.size}),options:t,uncompressedSize:e.size})}Ct(e,t){return Zi(this,e,t)}importBlob(e,t){return this.importZip(new ve(e),t)}importData64URI(e,t){return this.importZip(new Ee(e),t)}importUint8Array(e,t){return this.importZip(new Je(e),t)}importHttpContent(e,t){return this.importZip(new Xe(e,t),t)}importReadable(e,t){return this.importZip({readable:e},t)}exportBlob(e={}){return this.exportZip(new ke(e.mimeType||"application/zip"),e)}exportData64URI(e={}){return this.exportZip(new De(e.mimeType||"application/zip"),e)}exportUint8Array(e={}){return this.exportZip(new Qe,e)}async exportWritable(e=new D,t={}){return await this.exportZip({writable:e},t),e}exportFileSystemHandle(e,n={}){return(async(e,n,s)=>{const i=Ii([e],"uncompressedSize"),a=new c;return await o(e,n),n;async function o(e,t){if(s.concurrent){const r=(await g.allSettled(e.children.map(e=>d(e,t)))).find(e=>"rejected"==e.status);if(r)throw r.reason}else for(const r of e.children)await d(r,t)}async function d(e,n){try{if(e.directory){const t=await n.getDirectoryHandle(e.name,{create:!0});await o(e,t)}else{const o=await n.getFileHandle(e.name,{create:!0}),c=await o.createWritable();await e.getData({writable:c},r.assign({},s,{onprogress:async r=>{if(s.onprogress){a.set(e.id,r);try{await s.onprogress(t.from(a.values()).reduce((e,t)=>e+t,0),i)}catch{}}}}))}}catch(t){throw new w(t.message+(e?" ("+e.name+")":""),{cause:t})}}})(this,e,n)}async importZip(e,t={}){await nt(e);const n=new zs(e,t),s=[],i=await n.getEntries();for(const e of i){let n=this;try{const i=e.filename.split("/"),a=i.pop();if(i.forEach(e=>{const t=n;if(n=n.getChildByName(e),n){if(!n.directory)throw new w(Ti)}else n=new Ci(this.fs,e,{data:null},t),s.push(n)}),e.directory){let t=n;if(a)if(t=n.getChildByName(a),t){if(!t.directory)throw new w(Ti)}else t=new Ci(this.fs,a,{data:null},n),s.push(t);t==this||t.data||(t.data=e)}else s.push(Zi(n,a,{data:e,Reader:Oi(r.assign({},t)),uncompressedSize:e.uncompressedSize,passThrough:t.passThrough}))}catch(t){try{t.cause={entry:e}}catch{}throw t}}return s}async exportZip(e,n={}){const s=this;(n=r.assign({},n)).bufferedWrite===Q&&(n.bufferedWrite=!0);const[i]=await g.all([_i(s,n.readerOptions),nt(e)]),a=new ai(e,n);return await(async(e,n,s,i,a)=>{const o=n,d=new c;await async function e(n,c){async function l(c){const l=i.relativePath?c.getRelativeName(o):c.getFullname(),u=c.options||{};let w={};if(c.data instanceof Hn){const{externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:i,lastAccessDate:a,uncompressedSize:o,encrypted:d,zipCrypto:l,signature:u,compressionMethod:f,extraFieldAES:p}=c.data;if(w={externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:i,lastAccessDate:a},c.passThrough){let e,t;0===f&&(e=0),p&&(t=p.strength),w=r.assign(w,{passThrough:!0,encrypted:d,zipCrypto:l,signature:u,uncompressedSize:o,level:e,encryptionStrength:t,compressionMethod:f})}}await n.add(l,a.get(c),r.assign({},i,w,u,{directory:c.directory,onprogress:async e=>{if(i.onprogress){d.set(l,e);try{await i.onprogress(t.from(d.values()).reduce((e,t)=>e+t),s)}catch{}}}})),await e(n,c)}await(async()=>{if(i.bufferedWrite){const e=(await g.allSettled(c.children.map(l))).find(e=>"rejected"==e.status);if(e)throw e.reason}else for(const e of c.children)await l(e)})()}(e,n)})(a,s,Ii([s],"uncompressedSize"),n,i),await a.close(),e.getData?e.getData():e.writable}getChildByName(e){const t=this.children;for(let r=0;r<t.length;r++){const n=t[r];if(n.name==e)return n}}isPasswordProtected(){const e=this.children;for(let t=0;t<e.length;t++)if(e[t].isPasswordProtected())return!0;return!1}async checkPassword(e,t={}){const r=this.children;return!(await g.all(r.map(r=>r.checkPassword(e,t)))).includes(!1)}}const Ui={FS:class{constructor(){Bi(this)}get children(){return this.root.children}remove(e){Pi(e);const t=[e];for(;t.length;){const e=t.pop();this.entries[e.id]=null;for(const r of e.children)t.push(r)}e.parent=Q}move(e,t){if(e==this.root)throw new w("Root directory cannot be moved");if(!t.directory)throw new w("Target entry is not a directory");if(t.isDescendantOf(e))throw new w("Entry is a ancestor of target entry");if(e!=t){const r=t.getChildByName(e.name);if(r){if(r!=e)throw new w(Ti)}else Pi(e),e.parent=t,t.children.push(e),((e,t)=>{const r=[t];for(;r.length;){const t=r.pop();e.entries[t.id]=t;for(const e of t.children)r.push(e)}})(this,e)}}find(e){const t=e.split("/");let r=this.root;for(let e=0;r&&e<t.length;e++)r=r.getChildByName(t[e]);return r||(r=this.entries.find(t=>t&&(t==this.root||t.isDescendantOf(this.root))&&t.getRelativeName()==e)),r}getById(e){return this.entries[e]}getChildByName(e){return this.root.getChildByName(e)}addDirectory(e,t){return this.root.addDirectory(e,t)}addText(e,t,r){return this.root.addText(e,t,r)}addBlob(e,t,r){return this.root.addBlob(e,t,r)}addData64URI(e,t,r){return this.root.addData64URI(e,t,r)}addUint8Array(e,t,r){return this.root.addUint8Array(e,t,r)}addHttpContent(e,t,r){return this.root.addHttpContent(e,t,r)}addReadable(e,t,r){return this.root.addReadable(e,t,r)}addFileSystemEntry(e,t){return this.root.addFileSystemEntry(e,t)}addFileSystemHandle(e,t){return this.root.addFileSystemHandle(e,t)}addFile(e,t){return this.root.addFile(e,t)}Ct(e,t){return this.root.Ct(e,t)}importBlob(e,t){return Bi(this),this.root.importBlob(e,t)}importData64URI(e,t){return Bi(this),this.root.importData64URI(e,t)}importUint8Array(e,t){return Bi(this),this.root.importUint8Array(e,t)}importHttpContent(e,t){return Bi(this),this.root.importHttpContent(e,t)}importReadable(e,t){return Bi(this),this.root.importReadable(e,t)}importZip(e,t){return Bi(this),this.root.importZip(e,t)}exportBlob(e){return this.root.exportBlob(e)}exportData64URI(e){return this.root.exportData64URI(e)}exportUint8Array(e){return this.root.exportUint8Array(e)}exportWritable(e,t){return this.root.exportWritable(e,t)}exportFileSystemHandle(e,t){return this.root.exportFileSystemHandle(e,t)}exportZip(e,t){return this.root.exportZip(e,t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(e,t){return this.root.checkPassword(e,t)}},ZipDirectoryEntry:Ci,ZipFileEntry:ki};function Ii(e,r){let n=0;const s=t.from(e);for(;s.length;){const e=s.pop();n+=e[r]||0;for(const t of e.children)s.push(t)}return n}function Mi(e){let t;return()=>{if(t)throw new w("Readable stream already consumed");return t=!0,{readable:e}}}function Oi(e){return class extends Fe{constructor(e,t={}){super(),this.entry=e,this.options=t}async init(){const t=this;t.size=t.entry.uncompressedSize;const n=await t.entry.getData(new ke,r.assign({},e,t.options));t.data=n,t.Ut=new ve(n),super.init()}readUint8Array(e,t){return this.Ut.readUint8Array(e,t)}}}function Ni(e,t,r){return e.prototype?new e(t,r):e(t,r)}async function _i(e,t){const r=[],n=[e],s=new c;for(;n.length;){const e=n.pop();for(const t of e.children)t.directory?n.push(t):r.push(t)}return await g.all(r.map(async e=>{const r=e.reader=Ni(e.Reader,e.data,t);s.set(e,r);try{await nt(r)}catch(t){try{t.entryId=e.id,t.cause={entry:e}}catch{}throw t}r.size!==Q&&(e.uncompressedSize=r.size)})),s}function Pi(e){if(e.parent){const t=e.parent.children;t.forEach((r,n)=>{r.id==e.id&&t.splice(n,1)})}}function Li(e,t,n){return async function e(t,s,i){if(s)try{if((s.isFile||s.isDirectory)&&(s=await Wi(s)),"file"==s.kind){const e=await s.getFile();i.push(t.Ct(e.name,{Reader:()=>({readable:e.stream(),size:e.size}),options:r.assign({},{lastModDate:new o(e.lastModified)},n),uncompressedSize:e.size}))}else if("directory"==s.kind){const r=t.addDirectory(s.name);i.push(r);for await(const t of s.values())await e(r,t,i)}}catch(e){const t=e.message+(s?" ("+s.name+")":"");throw new w(t,{cause:e})}return i}(e,t,[])}async function Wi(e){const t={name:e.name};if(e.isFile&&(t.kind="file",t.getFile=()=>new g((t,r)=>e.file(t,r))),e.isDirectory){t.kind="directory";const r=await(async e=>{const t=[];function r(e,n,s){e.readEntries(async i=>{if(i.length){for(const e of i)t.push(await Wi(e));r(e,n,s)}else n(t)},s)}return await new g((t,n)=>r(e.createReader(),t,n)),{[Symbol.iterator](){let e=0;return{next(){const r={value:t[e],done:e==t.length};return e++,r}}}}})(e);t.values=()=>r}return t}function Bi(e){e.entries=[],e.kt=0,e.root=new Ci(e)}function Zi(e,t,r,n){if(e.directory)return n?new Ci(e.fs,t,r,e):new ki(e.fs,t,r,e);throw new w("Parent entry is not a directory")}e.fs=Ui});
|
|
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:i,Math:a,Date:o,Map:c,Set:d,Response:l,URL:u,Error:w,Uint8Array:f,Uint16Array:p,Uint32Array:h,DataView:m,Blob:y,Promise:g,TextEncoder:x,TextDecoder:S,document:b,crypto:z,btoa:F,TransformStream:R,ReadableStream:E,WritableStream:D,CompressionStream:A,DecompressionStream:T,navigator:k,Worker:C}="undefined"!=typeof globalThis?globalThis:this||self,v=4294967295,U=65535,I=255,O=67324752,M=134695760,N=M,_=33639248,P=101010256,L=101075792,W=117853008,Z=22,B=20,V=39169,H=21589,j=6534,q=30837,K=30805,Y=2048,G=16384,X=2048,J=1024,Q="/",$=30,ee=new o(2107,11,31,23,59,58),te=new o(1980,0,1),re=void 0,ne=1/0,se="undefined",ie="function",ae=new f;let oe=2;try{typeof k!=se&&k.hardwareConcurrency&&(oe=k.hardwareConcurrency)}catch{}const ce={workerURI:"./core/web-worker-wasm.js",wasmURI:"./core/streams/zlib-wasm/zlib-streams.wasm",chunkSize:65536,maxWorkers:oe,terminateWorkerTimeout:5e3,workerStarvationTimeout:5e3,workerStartupTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,transferStreams:!0,CompressionStream:typeof A!=se&&A,DecompressionStream:typeof T!=se&&T};function de(){return ce}function le(e){return a.max(e.chunkSize,64)}function ue(e,t){const r=new f(e.length+t.length);return r.set(e),r.set(t,e.length),r}function we(e){return e.byteOffset||e.byteLength!=e.buffer.byteLength?new f(e):e}function fe(e){return new m(e.buffer,e.byteOffset,e.byteLength)}function pe(e){if(e instanceof E)return e;const t=e.getReader();return new E({async pull(e){const{value:r,done:n}=await t.read();n?e.close():e.enqueue(r)},cancel:e=>t.cancel(e)})}function he(e){if(e instanceof D)return e;const t=e.getWriter();return new D({write:e=>t.write(e),close:()=>t.close(),abort:e=>t.abort(e)})}const me="HTTP error ",ye="HTTP Range not supported",ge="HTTP resource changed",xe="Content-Range",Se="Range",be="GET",ze="bytes",Fe=16777216,Re="writable",Ee=Symbol();class De{constructor(){this.size=0}init(){this.initialized=!0}}class Ae extends De{get readable(){return this.createReadable()}createReadable({offset:e=0,size:t,chunkSize:r=le(de())}={}){const n=this;let s=0;return new E({async pull(i){const o=t===re?r:a.min(r,t-s),c=await ct(n,e+s,o);i.enqueue(c),s+r>t||t===re&&!c.length&&o?i.close():s+=r}})}}class Te extends De{constructor(){super();const e=this,t=new D({write(t){if(!e.initialized)throw new w("Writer not initialized");return e.writeUint8Array(we(t))}});r.defineProperty(e,Re,{get:()=>t})}writeUint8Array(){}}class ke extends Ae{constructor(e){super();let t=e.length;for(;"="==e.charAt(t-1);)t--;const n=e.indexOf(",")+1;r.assign(this,{dataURI:e,o:n,size:a.floor(.75*(t-n))})}readUint8Array(e,t){const{o:r,dataURI:n}=this,s=new f(t),i=4*a.floor(e/3),o=atob(n.substring(i+r,4*a.ceil((e+t)/3)+r)),c=e-3*a.floor(i/4);let d=0;for(let e=c;c+t>e&&e<o.length;e++)s[e-c]=o.charCodeAt(e),d++;return d<s.length?s.subarray(0,d):s}}class Ce extends Te{constructor(e){super(),r.assign(this,{data:"data:"+(e||"")+";base64,",pending:[]})}writeUint8Array(e){const t=this;let r,s=t.pending;const i=t.pending.length;for(t.pending="",r=0;r<3*a.floor((i+e.length)/3)-i;r++)s+=n.fromCharCode(e[r]);for(;r<e.length;r++)t.pending+=n.fromCharCode(e[r]);s.length>2?t.data+=F(s):t.pending=s+t.pending}getData(){return this.data+F(this.pending)}}let ve,Ue;class Ie extends Ae{constructor(e){super(),r.assign(this,{blob:e,size:e.size}),Ue||(Ue=(async()=>{try{const e=new y([new f(3)]).slice(1,2).stream().getReader();let t=0,r=await e.read();for(;!r.done;)t+=r.value.length,r=await e.read();ve=1==t}catch{ve=!1}})())}createReadable(e){const{blob:t,size:r}=this,{offset:n=0,size:s=r-n}=e||{};return n||r>s?ve?pe(t.slice(n,n+s).stream()):super.createReadable(e):pe(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 i=await s.arrayBuffer();return i.byteLength>t&&(i=i.slice(e,n)),new f(i)}}class Oe extends De{constructor(e){super();const t=this,n=new R;if(r.defineProperty(t,Re,{get:()=>n.writable}),typeof y.prototype.stream!=ie||new y([]).stream()instanceof E){const r=[];e&&r.push(["Content-Type",e]),t.blob=new l(n.readable,{headers:r}).blob()}else{const r=[];t.blob=n.readable.pipeTo(new D({write(e){r.push(e)}})).then(()=>new y(r,{type:e}))}t.blob.catch(()=>{})}getData(){return this.blob}}class Me extends Ie{constructor(e){super(new y([e],{type:"text/plain"}))}}class Ne extends Oe{constructor(e){super(e),r.assign(this,{encoding:e,l:!e||"utf-8"==e.toLowerCase()})}async getData(){const{encoding:e,l:t}=this,n=await super.getData();if(n.text&&t)return n.text();{const t=new FileReader;return new g((s,i)=>{r.assign(t,{onload:({target:e})=>s(e.result),onerror:()=>i(t.error)}),t.readAsText(n,e)})}}}class _e extends Ae{constructor(e,t){super(),Le(this,e,t)}async init(){await We(this,Qe,Ye),super.init()}createReadable(e){const t=this,{useRangeHeader:r,forceRangeRequests:n,size:i}=t;if((r||n)&&i!==re){const{offset:r=0,size:n=i-r}=e||{};if(n>0&&i>r)return((e,t,r)=>{let n,i=t,o=0,c=r;return new E({start:()=>d(),async pull(e){n||await d();const{value:t,done:r}=await n.read();if(r)throw new w(ye);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=n;n=re,await e.cancel()})(),c||e.close())},cancel:e=>n&&n.cancel(e)});async function d(){const t=a.min(e.maximumRangeSize,c),r=await Qe(be,e,qe(e,i,t));if(206!=r.status)throw new w(ye);const d=r.headers.get(xe);if(d){const e=s(d.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=i)throw new w(ye)}je(e,r),He(e,r),i+=t,o=t,n=r.body.getReader()}})(t,r,a.min(n,i-r))}return super.createReadable(e)}readUint8Array(e,t){return Ze(this,e,t,Qe,Ye)}}class Pe extends Ae{constructor(e,t){super(),Le(this,e,t)}async init(){await We(this,$e,Ge),super.init()}readUint8Array(e,t){return Ze(this,e,t,$e,Ge)}}function Le(e,t,n){const{preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c=!0,maximumRangeSize:d=Fe,fetch:l}=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:i,forceRangeRequests:a,combineSizeEocd:o,checkResourceChanges:c,maximumRangeSize:d,fetch:l})}async function We(e,t,r){const{url:n,preventHeadRequest:s,useRangeHeader:i,forceRangeRequests:a,combineSizeEocd:o}=e;if((e=>{const{baseURI:t}=de(),{protocol:r}=new u(e,t);return"http:"==r||"https:"==r})(n)&&(i||a)&&(void 0===s||s)){const n=await t(be,e,qe(e,o?-22:void 0)),s=n.headers.get("Accept-Ranges");if(!(a||s&&s.toLowerCase()==ze))throw new w(ye);{if(o){const t=new f(await n.arrayBuffer());206==n.status&&t.length==Z&&(e.h=t)}He(e,n);const s=Be(n);s===re?await Je(e,t,r):e.size=s}}else await Je(e,t,r)}async function Ze(e,t,r,n,i){const{useRangeHeader:a,forceRangeRequests:o,h:c,size:d,options:l}=e;if(a||o){if(c&&t==d-Z&&r==Z)return c;if(d>t&&0!==r){t+r>d&&(r=d-t);const i=await n(be,e,qe(e,t,r));if(206!=i.status)throw new w(ye);const a=i.headers.get(xe);if(a){const e=s(a.trim().split(/[\s-]+/)[1]);if(!s.isNaN(e)&&e!=t)throw new w(ye)}je(e,i),He(e,i);const o=new f(await i.arrayBuffer());if(o.length!=r)throw new w(ye);return o}return ae}{const{data:n}=e;return n||await i(e,l),e.data.subarray(t,t+r)}}function Be(e){const t=e.headers.get(xe);if(t){const e=t.trim().split(/\s*\/\s*/)[1];if(e&&"*"!=e){const t=s(e);if(!s.isNaN(t))return t}}}function Ve({headers:e}){return{m:e.get("Etag")||re,lastModified:e.get("Last-Modified")||re}}function He(e,t){const{checkResourceChanges:r,S:n}=e;r&&!n&&206==t.status&&(e.S=Ve(t))}function je(e,t){const{checkResourceChanges:n,S:s,size:i}=e;if(n){const e=Be(t);if(e!==re&&i!==re&&e!=i)throw new w(ge);if(s){const e=Ve(t);if(r.entries(s).some(([t,r])=>r!==re&&e[t]!==re&&r!=e[t]))throw new w(ge)}}}function qe(e,t=0,n=1){return r.assign({},Ke(e),{[Se]:ze+"="+(0>t?t:t+"-"+(t+n-1))})}function Ke({options:e}){const{headers:t}=e;if(t)return Symbol.iterator in t?r.fromEntries(t):t}async function Ye(e){await Xe(e,Qe)}async function Ge(e){await Xe(e,$e)}async function Xe(e,t){const r=await t(be,e,Ke(e));e.data=new f(await r.arrayBuffer()),e.size=e.data.length}async function Je(e,t,r){if(e.preventHeadRequest)await r(e,e.options);else{const n=await t("HEAD",e,Ke(e)),i=n.headers.get("Content-Length");i&&!n.headers.get("Content-Encoding")?e.size=s(i):await r(e,e.options)}}async function Qe(e,{fetch:t=fetch,options:n,url:s},i){const a=await t(s,r.assign({},n,{method:e,headers:i}));if(400>a.status)return a;throw 416==a.status?new w(ye):new w(me+(a.statusText||a.status))}function $e(e,{url:t},n){return new g((s,i)=>{const a=new XMLHttpRequest;if(a.addEventListener("load",()=>{if(400>a.status){const e=[];a.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:a.status,arrayBuffer:()=>a.response,headers:new c(e)})}else i(416==a.status?new w(ye):new w(me+(a.statusText||a.status)))},!1),a.addEventListener("error",e=>i(e.detail?e.detail.error:new w("Network error")),!1),a.open(e,t),n)for(const e of r.entries(n))a.setRequestHeader(e[0],e[1]);a.responseType="arraybuffer",a.send()})}class et extends Ae{constructor(e,t={}){super(),r.assign(this,{url:e,reader:t.useXHR&&!t.fetch?new Pe(e,t):new _e(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 tt extends Ae{constructor(e){super(),e=new f(e.buffer,e.byteOffset,e.byteLength),r.assign(this,{array:e,size:e.length})}readUint8Array(e,t){return this.array.slice(e,e+t)}}class rt extends Te{constructor(e){super(),this.defaultBufferSize=e||262144}init(e=0){r.assign(this,{offset:0,array:new f(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 f(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)}}class nt extends Ae{constructor(e){super(),this.F=e}async init(){const e=this,{F:t}=e;e.R=0,await g.all(t.map(e=>ot(e))),e.D=t.map(t=>{const r=e.size;return e.size+=t.size,r}),super.init()}A(e){const{D:t,size:r}=this,n=t[e];return n===re?r:n}async readUint8Array(e,t){const r=this,{F:n}=this;let s,i=0,o=e;for(;n[i]&&o>=n[i].size;)o-=n[i].size,i++;const c=n[i];if(c){const n=c.size;if(o+t>n){const i=n-o;s=ue(await ct(c,o,i),await r.readUint8Array(e+i,t-i))}else s=await ct(c,o,t)}else s=ae;return r.R=a.max(i,r.R),s}}class st extends De{constructor(e,t=4294967295){super();const n=this;let s,i,a;r.assign(n,{diskNumber:0,diskOffset:0,size:0,maxSize:t,availableSize:t});const o=new D({async write(t){if(t===Ee)return void(a&&await d());const{availableSize:r}=n;if(a)t.length<r?await c(t):(await c(t.subarray(0,r)),await d(),t.length>r&&await this.write(t.subarray(r)));else{const{value:r,done:o}=await e.next();if(o&&!r)throw new w("Writer iterator completed too soon");s=r,s.size=0,s.maxSize&&(n.maxSize=s.maxSize),n.availableSize=n.maxSize,await ot(s),i=r.writable,a=i.getWriter(),await this.write(t)}},async close(){a&&(await a.ready,await l())},async abort(e){a&&await a.abort(e)}});async function c(e){const t=e.length;t&&(await a.ready,await a.write(e),s.size+=t,n.availableSize-=t)}async function d(){await l(),n.diskOffset+=s.size,n.diskNumber++,a=null,n.availableSize=n.maxSize}async function l(){await a.close()}r.defineProperty(n,Re,{get:()=>o})}async closeDisk(){const e=this.writable.getWriter();try{await e.ready,await e.write(Ee)}finally{e.releaseLock()}}}class it{constructor(e){return t.isArray(e)&&(e=new nt(e)),(e instanceof E||typeof e.getReader==ie)&&(e={readable:pe(e)}),e}}class at{constructor(e){return e.writable===re&&typeof e.next==ie&&(e=new st(e)),(e instanceof D||typeof e.getWriter==ie)&&(e={writable:he(e)}),e.size===re&&(e.size=0),e}}async function ot(e,t){if(!e.init||e.initialized)return g.resolve();await e.init(t)}function ct(e,t,r){return e.readUint8Array(t,r)}const dt=new c,lt=new c;function ut(e){return dt.get(e)}function wt(e){return lt.get(e)}const ft=[[],[],[],[],[],[],[],[]];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;ft[0][e]=t}for(let e=0;256>e;e++)for(let t=1;8>t;t++){const r=ft[t-1][e];ft[t][e]=r>>>8^ft[0][255&r]}const[pt,ht,mt,yt,gt,xt,St,bt]=ft;class zt{constructor(e){this.T=e||-1}append(e){let t=0|this.T;const r=0|e.length;let n=0;if(r>=8&&e.buffer){const s=new m(e.buffer,e.byteOffset,r),i=r-8;for(;i>=n;n+=8){const e=t^s.getInt32(n,!0),r=s.getInt32(n+4,!0);t=bt[255&e]^St[e>>>8&255]^xt[e>>>16&255]^gt[e>>>24&255]^yt[255&r]^mt[r>>>8&255]^ht[r>>>16&255]^pt[r>>>24&255]}}for(;r>n;n++)t=t>>>8^pt[255&(t^e[n])];this.T=t}get(){return~this.T}}class Ft extends R{constructor(){let e;const t=new zt;super({transform(e,r){t.append(e),r.enqueue(e)},flush(){const r=new f(4);new m(r.buffer).setUint32(0,t.get()),e.value=r}}),e=this}}function Rt(e){if(typeof x==se){const t=new f((e=unescape(encodeURIComponent(e))).length);for(let r=0;r<t.length;r++)t[r]=e.charCodeAt(r);return t}return(new x).encode(e)}const Et={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const r=e[e.length-1],n=Et.C(r);return 32===n?e.concat(t):Et.v(t,n,0|r,e.slice(0,e.length-1))},U(e){const t=e.length;if(0===t)return 0;const r=e[t-1];return 32*(t-1)+Et.C(r)},I(e,t){if(32*e.length<t)return e;const r=(e=e.slice(0,a.ceil(t/32))).length;return t&=31,r>0&&t&&(e[r-1]=Et.O(t,e[r-1]&2147483648>>t-1,1)),e},O:(e,t,r)=>32===e?t:(r?0|t:t<<32-e)+1099511627776*e,C:e=>a.round(e/1099511627776)||32,v(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,i=Et.C(s);return n.push(Et.O(t+i&31,t+i>32?r:n.pop(),1)),n}},Dt={bytes:{M(e){const t=Et.U(e)/8,r=new f(t);let n;for(let s=0;t>s;s++)3&s||(n=e[s/4]),r[s]=n>>>24,n<<=8;return r},N(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(Et.O(8*(3&r),n)),t}}},At=class{constructor(e){const t=this;t.blockSize=512,t._=[1732584193,4023233417,2562383102,271733878,3285377520],t.P=[1518500249,1859775393,2400959708,3395469782],e?(t.L=e.L.slice(0),t.W=e.W.slice(0),t.Z=e.Z):t.reset()}reset(){const e=this;return e.L=e._.slice(0),e.W=[],e.Z=0,e}update(e){const t=this;"string"==typeof e&&(e=Dt.B.N(e));const r=t.W=Et.concat(t.W,e),n=t.Z,s=t.Z=n+Et.U(e);if(s>9007199254740991)throw new w("Cannot hash more than 2^53 - 1 bits");const i=new h(r);let a=0;for(let e=t.blockSize+n-(t.blockSize+n&t.blockSize-1);s>=e;e+=t.blockSize)t.V(i.subarray(16*a,16*(a+1))),a+=1;return r.splice(0,16*a),t}H(){const e=this;let t=e.W;const r=e.L;t=Et.concat(t,[Et.O(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(a.floor(e.Z/4294967296)),t.push(0|e.Z);t.length;)e.V(t.splice(0,16));return e.reset(),r}j(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}K(e,t){return t<<e|t>>>32-e}V(e){const r=this,n=r.L,s=t(80);for(let t=0;16>t;t++)s[t]=e[t];let i=n[0],o=n[1],c=n[2],d=n[3],l=n[4];for(let e=0;79>=e;e++){16>e||(s[e]=r.K(1,s[e-3]^s[e-8]^s[e-14]^s[e-16]));const t=r.K(5,i)+r.j(e,o,c,d)+l+s[e]+r.P[a.floor(e/20)]|0;l=d,d=c,c=r.K(30,o),o=i,i=t}n[0]=n[0]+i|0,n[1]=n[1]+o|0,n[2]=n[2]+c|0,n[3]=n[3]+d|0,n[4]=n[4]+l|0}},Tt={importKey:e=>new Tt.Y(Dt.bytes.N(e)),G(e,t,r,n){if(r=r||1e4,0>n||0>r)throw new w("invalid params to pbkdf2");const s=1+(n>>5)<<2;let i,a,o,c,d;const l=new ArrayBuffer(s),u=new m(l);let f=0;const p=Et;for(t=Dt.bytes.N(t),d=1;(s||1)>f;d++){for(i=a=e.encrypt(p.concat(t,[d])),o=1;r>o;o++)for(a=e.encrypt(a),c=0;c<a.length;c++)i[c]^=a[c];for(o=0;(s||1)>f&&o<i.length;o++)u.setInt32(f,i[o]),f+=4}return l.slice(0,n/8)},Y:class{constructor(e){const t=this,r=t.X=At,n=[[],[]];t.J=[new r,new r];const s=t.J[0].blockSize/32;e.length>s&&(e=(new r).update(e).H());for(let t=0;s>t;t++)n[0][t]=909522486^e[t],n[1][t]=1549556828^e[t];t.J[0].update(n[0]),t.J[1].update(n[1]),t.$=new r(t.J[0])}reset(){const e=this;e.$=new e.X(e.J[0]),e.ee=!1}update(e){this.ee=!0,this.$.update(e)}digest(){const e=this,t=e.$.H(),r=new e.X(e.J[1]).update(t).H();return e.reset(),r}encrypt(e){if(this.ee)throw new w("encrypt on already updated hmac called!");return this.update(e),this.digest(e)}}},kt=typeof z!=se&&typeof z.getRandomValues==ie,Ct="Invalid password",vt="Invalid signature",Ut=vt,It="zipjs-abort-check-password";function Ot(e){if(kt)return z.getRandomValues(e);throw new w("Crypto API not supported")}const Mt=16,Nt={name:"PBKDF2"},_t=r.assign({hash:{name:"HMAC"}},Nt),Pt=r.assign({iterations:1e3,hash:{name:"SHA-1"}},Nt),Lt=["deriveBits"],Wt=[8,12,16],Zt=[16,24,32],Bt=10,Vt=[0,0,0,0],Ht=typeof z!=se,jt=Ht&&z.subtle,qt=Ht&&typeof jt!=se,Kt=Dt.bytes,Yt=class{constructor(e){const t=this;t.te=[[[],[],[],[],[]],[[],[],[],[],[]]],t.te[0][0][0]||t.re();const r=t.te[0][4],n=t.te[1],s=e.length;let i,a,o,c=1;if(4!==s&&6!==s&&8!==s)throw new w("invalid aes key size");for(t.P=[a=e.slice(0),o=[]],i=s;4*s+28>i;i++){let e=a[i-1];(i%s===0||8===s&&i%s===4)&&(e=r[e>>>24]<<24^r[e>>16&255]<<16^r[e>>8&255]<<8^r[255&e],i%s===0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),a[i]=a[i-s]^e}for(let e=0;i;e++,i--){const t=a[3&e?i:i-4];o[e]=4>=i||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.ne(e,0)}decrypt(e){return this.ne(e,1)}re(){const e=this.te[0],t=this.te[1],r=e[4],n=t[4],s=[],i=[];let a,o,c,d;for(let e=0;256>e;e++)i[(s[e]=e<<1^283*(e>>7))^e]=e;for(let l=a=0;!r[l];l^=o||1,a=i[a]||1){let i=a^a<<1^a<<2^a<<3^a<<4;i=i>>8^255&i^99,r[l]=i,n[i]=l,d=s[c=s[o=s[l]]];let u=16843009*d^65537*c^257*o^16843008*l,w=257*s[i]^16843008*i;for(let r=0;4>r;r++)e[r][l]=w=w<<24^w>>>8,t[r][i]=u=u<<24^u>>>8}for(let r=0;5>r;r++)e[r]=e[r].slice(0),t[r]=t[r].slice(0)}ne(e,t){if(4!==e.length)throw new w("invalid aes block size");const r=this.P[t],n=r.length/4-2,s=[0,0,0,0],i=this.te[t],a=i[0],o=i[1],c=i[2],d=i[3],l=i[4];let u,f,p,h=e[0]^r[0],m=e[t?3:1]^r[1],y=e[2]^r[2],g=e[t?1:3]^r[3],x=4;for(let e=0;n>e;e++)u=a[h>>>24]^o[m>>16&255]^c[y>>8&255]^d[255&g]^r[x],f=a[m>>>24]^o[y>>16&255]^c[g>>8&255]^d[255&h]^r[x+1],p=a[y>>>24]^o[g>>16&255]^c[h>>8&255]^d[255&m]^r[x+2],g=a[g>>>24]^o[h>>16&255]^c[m>>8&255]^d[255&y]^r[x+3],x+=4,h=u,m=f,y=p;for(let e=0;4>e;e++)s[t?3&-e:e]=l[h>>>24]<<24^l[m>>16&255]<<16^l[y>>8&255]<<8^l[255&g]^r[x++],u=h,h=m,m=y,y=g,g=u;return s}},Gt=class{constructor(e,t){this.se=e,this.ie=t,this.ae=t}reset(){this.ae=this.ie}update(e){return this.oe(this.se,e,this.ae)}ce(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}de(e){0===(e[0]=this.ce(e[0]))&&(e[1]=this.ce(e[1]))}oe(e,t,r){let n;if(!(n=t.length))return[];const s=Et.U(t);for(let s=0;n>s;s+=4){this.de(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 Et.I(t,s)}},Xt=Tt.Y;let Jt=Ht&&qt&&typeof jt.importKey==ie,Qt=Ht&&qt&&typeof jt.deriveBits==ie;class $t extends R{constructor({password:e,rawPassword:t,encryptionStrength:r,checkPasswordOnly:n,checkAuthenticationCode:s=!0}){super({start(){tr(this,e,t,r)},async transform(e,t){const r=this,{password:s,strength:i,le:a,ready:o}=r;s?(await(async(e,t,r,n)=>{const s=await nr(e,t,r,ir(n,0,Wt[t])),i=ir(n,Wt[t]);if(s[0]!=i[0]||s[1]!=i[1])throw new w(Ct)})(r,i,s,ir(e,0,Wt[i]+2)),e=ir(e,Wt[i]+2),n?t.error(new w(It)):a()):await o;const c=new f(e.length-Bt-(e.length-Bt)%Mt);t.enqueue(rr(r,e,c,0,Bt,!0))},async flush(e){const{ue:t,we:r,pending:n,ready:i}=this;if(r&&t){await i;const a=ir(n,0,n.length-Bt),o=ir(n,n.length-Bt);let c=ae;if(a.length){const e=or(Kt,a);r.update(e);const n=t.update(e);c=ar(Kt,n)}const d=ir(ar(Kt,r.digest()),0,Bt);let l=n.length<Bt?1:0;for(let e=0;Bt>e;e++)l|=d[e]^o[e];if(l&&s)throw new w(Ut);e.enqueue(c)}}})}}class er extends R{constructor({password:e,rawPassword:t,encryptionStrength:r}){super({start(){tr(this,e,t,r)},async transform(e,t){const r=this,{password:n,strength:s,le:i,ready:a}=r;let o=ae;n?(o=await(async(e,t,r)=>{const n=Ot(new f(Wt[t]));return ue(n,await nr(e,t,r,n))})(r,s,n),i()):await a;const c=new f(o.length+e.length-e.length%Mt);c.set(o,0),t.enqueue(rr(r,e,c,o.length,0))},async flush(e){const{ue:t,we:r,pending:n,ready:s}=this;if(r&&t){await s;let i=ae;if(n.length){const e=t.update(or(Kt,n));r.update(e),i=ar(Kt,e)}const a=ar(Kt,r.digest()).slice(0,Bt);e.enqueue(ue(i,a))}}})}}function tr(e,t,n,s){r.assign(e,{ready:new g(t=>e.le=t),password:sr(t,n),strength:s-1,pending:ae})}function rr(e,t,r,n,s,i){const{ue:a,we:o,pending:c}=e;c.length&&(t=ue(c,t));const d=t.length-s;let l;for(r=((e,t)=>{if(t&&t>e.length){const r=e;(e=new f(t)).set(r,0)}return e})(r,n+(d-d%Mt)),l=0;d-Mt>=l;l+=Mt){const e=or(Kt,ir(t,l,l+Mt));i&&o.update(e);const s=a.update(e);i||o.update(s),r.set(ar(Kt,s),l+n)}return e.pending=ir(t,l),r}async function nr(e,n,s,i){e.password=null;const a=await(async(e,t,r,n,s)=>{if(!Jt)return Tt.importKey(t);try{return await jt.importKey("raw",t,r,!1,s)}catch{return Jt=!1,Tt.importKey(t)}})(0,s,_t,0,Lt),o=await(async(e,t,r)=>{if(!Qt)return Tt.G(t,e.salt,Pt.iterations,r);try{return await jt.deriveBits(e,t,r)}catch{return Qt=!1,Tt.G(t,e.salt,Pt.iterations,r)}})(r.assign({salt:i},Pt),a,8*(2*Zt[n]+2)),c=new f(o),d=or(Kt,ir(c,0,Zt[n])),l=or(Kt,ir(c,Zt[n],2*Zt[n])),u=ir(c,2*Zt[n]);return r.assign(e,{keys:{key:d,fe:l,passwordVerification:u},ue:new Gt(new Yt(d),t.from(Vt)),we:new Xt(l)}),u}function sr(e,t){return t===re?Rt(e):t}function ir(e,t,r){return e.subarray(t,r)}function ar(e,t){return e.M(t)}function or(e,t){return e.N(t)}class cr extends R{constructor({password:e,rawPassword:t,passwordVerification:r,checkPasswordOnly:n}){super({start(){lr(this,e,t,r)},transform(e,t){const r=this;if(r.password||r.rawPassword){const t=ur(r,e.subarray(0,12));if(r.password=r.rawPassword=null,0!=(t[11]^r.passwordVerification))throw new w(Ct);e=e.subarray(12)}n?t.error(new w(It)):t.enqueue(ur(r,e))}})}}class dr extends R{constructor({password:e,rawPassword:t,passwordVerification:r}){super({start(){lr(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=Ot(new f(12));t[11]=r.passwordVerification,n=new f(e.length+t.length),n.set(wr(r,t),0),s=12}else n=new f(e.length),s=0;n.set(wr(r,e),s),t.enqueue(n)}})}}function lr(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,pe:new zt(s[0]),he:new zt(s[2])}),n)for(let t=0;t<n.length;t++)fr(e,n[t]);else for(let r=0;r<t.length;r++)fr(e,t.charCodeAt(r))})(e,t,n)}function ur(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=pr(e)^t[n],fr(e,r[n]);return r}function wr(e,t){const r=new f(t.length);for(let n=0;n<t.length;n++)r[n]=pr(e)^t[n],fr(e,t[n]);return r}function fr(e,t){let[,r]=e.keys;e.pe.append([t]);const n=~e.pe.get();r=mr(a.imul(mr(r+hr(n)),134775813)+1),e.he.append([r>>>24]);const s=~e.he.get();e.keys=[n,r,s]}function pr(e){const t=2|e.keys[2];return hr(a.imul(t,1^t)>>>8)}function hr(e){return 255&e}function mr(e){return 4294967295&e}const yr="Invalid uncompressed size",gr="Invalid compressed data",xr=vt,Sr="deflate-raw",br="gzip",zr=[31,139,8];class Fr extends R{constructor(e,{chunkSize:t,CompressionStreamZlib:r,CompressionStream:n}){super({});const{compressed:s,encrypted:i,useCompressionStream:a,zipCrypto:o,computeCrc32:c,level:d,deflate64:l,format:u,compressionMethod:w}=e,f=this;let p,h,y,g=super.readable;const x=u&&wt(u),S=c&&s&&!l&&!x&&(!i||o)&&!(!a||!n);if(i&&!o||!c||S||(p=new Ft,g=Ur(g,p)),s)if(x)g=Ir(g,Cr(x.CompressionStream,u,{level:d,chunkSize:t,compressionMethod:w}));else if(S)y=new Rr,g=Ir(g,new n(br)),g=Ur(g,y);else try{g=vr(g,a,{level:d,chunkSize:t},n,r)}catch(e){let t;try{t=new n(br)}catch{throw e}g=Ir(g,t),g=Ur(g,new Rr)}i&&(o?g=Ur(g,new dr(e)):(h=new er(e),g=Ur(g,h))),kr(f,g,()=>{i&&!o||!c||(f.crc32=S?y.crc32:new m(p.value.buffer).getUint32(0))})}}class Rr extends R{constructor(){let e,t=10,r=new f(0);super({transform(e,n){if(t){const r=a.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=ue(r,e));const i=s-8,o=a.min(i,r.length);n.enqueue(ue(r.subarray(0,o),e.subarray(0,i-o))),r=ue(r.subarray(o),e.subarray(i-o))},flush(){const t=fe(r);e.crc32=t.getUint32(0,!0),e.uncompressedSize=t.getUint32(4,!0)}}),e=this}}class Er extends R{constructor(e,{chunkSize:t,DecompressionStreamZlib:r,DecompressionStream:n}){super({});const{zipCrypto:s,encrypted:i,checkCrc32:a,crc32:o,compressed:c,useCompressionStream:d,deflate64:l,format:u,compressionMethod:p,rawBitFlag:h,outputSize:y}=e;let x,S,b=super.readable;if(i&&(s?b=Ur(b,new cr(e)):(S=new $t(e),b=Ur(b,S))),c){const e=u&&wt(u);if(e)b=Ir(b,Cr(e.DecompressionStream,u,{chunkSize:t,compressionMethod:p,rawBitFlag:h,uncompressedSize:y}));else try{b=vr(b,d,{chunkSize:t,deflate64:l},n,r)}catch(e){if(l||y===re)throw e;let t;try{t=new n(br)}catch{throw e}b=((e,t,r)=>{const n=new zt;let s,i,a,o=0,c=!1;const d=new g((e,t)=>{i=e,a=t});d.catch(()=>{}),r||i();const l=new R({start(e){const t=new f(10);t.set(zr),e.enqueue(t)},transform(e,t){t.enqueue(e)},async flush(e){c=!0,p();try{await d}finally{h()}const t=new f(8),s=fe(t);s.setUint32(0,n.get(),!0),s.setUint32(4,r,!0),e.enqueue(t)},cancel(e){a(e)}}),u=new R({transform(e,t){n.append(e),o+=e.length,r>o?c&&p():i(),t.enqueue(e)},cancel(e){a(e)}});return e=Ur(e,l),Ur(e=Ir(e,t),u);function p(){h(),s=setTimeout(()=>a(new w(yr)),5e3)}function h(){clearTimeout(s)}})(b,t,y)}b=(e=>{const t=e.getReader();return new E({async pull(e){let r;try{r=await t.read()}catch(e){if(e&&e.message)throw e;const t=new w(gr);throw t.cause=e,t}const{value:n,done:s}=r;s?e.close():e.enqueue(n)},cancel:e=>t.cancel(e)})})(b)}a&&(x=new Ft,b=Ur(b,x)),kr(this,b,()=>{if(a){const e=new m(x.value.buffer);if(o!=e.getUint32(0,!1))throw new w(xr)}})}}const Dr=new c;function Ar(e,t){if(!e)return!1;let r=Dr.get(e);r||(r=new c,Dr.set(e,r));let n=r.get(t);if(n===re){try{new e(t),n=!0}catch{n=!1}r.set(t,n)}return n}function Tr(e){return Ar(e,Sr)}function kr(e,t,n){t=Ur(t,new R({flush:n})),r.defineProperty(e,"readable",{get:()=>t})}function Cr(e,t,r){if(!e)throw new w("Compression method not supported");return new e(t,r)}function vr(e,t,r,n,s){const i=t&&n?n:s||n,a=r.deflate64?"deflate64-raw":Sr;let o;try{o=new i(a,r)}catch(e){if(!t||!s||i==s)throw e;o=new s(a,r)}return Ir(e,o)}function Ur(e,t){return pe(e).pipeThrough(t)}function Ir(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 Or="data",Mr="deflate",Nr="inflate";class _r extends R{constructor(e,t){super({});const n=this,{codecType:s}=e;let i;s.startsWith(Mr)?i=Fr:s.startsWith(Nr)&&(i=Er),n.outputSize=0;let a=0;const o=new i(e,t),c=super.readable,d=new R({transform(e,t){e&&e.length&&(a+=e.length,t.enqueue(e))},flush(){r.assign(n,{inputSize:a})}}),l=new R({transform(t,r){if(t&&t.length&&(r.enqueue(t),n.outputSize+=t.length,e.outputSize!==re&&n.outputSize>e.outputSize))throw new w(yr)},flush(){const{crc32:e}=o;r.assign(n,{crc32:e,inputSize:a})}});r.defineProperty(n,"readable",{get:()=>c.pipeThrough(d).pipeThrough(o).pipeThrough(l)})}}class Pr extends R{constructor(e){const t=[];let r=0;function n(){const n=new f(e);let s=0;for(;e>s;){const r=t[0],i=e-s;r.length>i?(n.set(r.subarray(0,i),s),t[0]=r.subarray(i),s+=i):(n.set(r,s),s+=r.length,t.shift())}return r-=e,n}s.isFinite(e)&&e>=1||(e=65536),super({transform(s,i){for(t.push(s),r+=s.length;r>e;)i.enqueue(n())},flush(e){r&&e.enqueue(((e,t)=>{const r=new f(t);let n=0;for(const t of e)r.set(t,n),n+=t.length;return r})(t,r))}})}}const Lr={type:"module"},Wr="error";let Zr,Br,Vr,Hr,jr=!0;try{jr=typeof structuredClone==ie&&structuredClone(new DOMException("","AbortError")).code!==re}catch{}class qr{constructor(e,{readable:t,writable:n},{options:s,config:i,me:a,useWebWorkers:o,transferStreams:c,workerURI:d},l){const{signal:u}=a;return r.assign(e,{ye:!0,ge:(e.ge||0)+1,readable:t.pipeThrough(new Pr(le(i))).pipeThrough(new Kr(a),{signal:u}),writable:n,options:r.assign({},s),workerURI:d,transferStreams:c,terminate:()=>new g(t=>{const{xe:r,ye:n}=e;r?(n?e.Se=t:(r.terminate(),t()),e.be=null):t()}),ze(){if(e.ye){const{Se:t}=e;t&&(e.Se=null,e.Fe=!0,e.xe.terminate(),t()),e.ye=!1,l(e)}}}),Zr===re&&(Zr=typeof C!=se),(o&&Zr?Xr:Gr)(e,i)}}class Kr extends R{constructor({onstart:e,onprogress:t,size:r,onend:n}){let s=0;super({async start(){e&&await Yr(e,r)},async transform(e,n){s+=e.length,t&&await Yr(t,s,r),n.enqueue(e)},async flush(){n&&await Yr(n,s)}})}}async function Yr(e,...t){try{await e(...t)}catch{}}function Gr(e,t){return{run:()=>Jr(e,t)}}function Xr(e,t){const{baseURI:n,chunkSize:i,workerStartupTimeout:a}=t;let{wasmURI:o}=t;if(!e.be){let c;typeof o==ie&&(o=o());try{c=$r(e.workerURI,n,e)}catch{return Zr=!1,Gr(e,t)}r.assign(e,{xe:c,Re:!1,Fe:!1,be:{run:async()=>{try{return await(async(e,t)=>{let n,i;const a=new g((e,t)=>{n=e,i=t});r.assign(e,{reader:null,writer:null,Ee:n,De:i,result:a});const{readable:o,options:c}=e,{writable:d,closed:l,Ae:u}=(e=>{const t=new AbortController,{writable:r,readable:n}=new R,s=n.pipeTo(e,{preventClose:!0,preventAbort:!0,signal:t.signal});return s.catch(()=>{}),{writable:r,closed:s,Ae:()=>t.abort()}})(e.writable);let f;try{f=rn({type:"start",options:c,config:t,readable:o,writable:d},e)}catch(t){u();try{await l}catch{}throw e.ze(),t}f||r.assign(e,{reader:o.getReader(),writer:d.getWriter()});const{workerStartupTimeout:p}=t;e.Re||!s.isFinite(p)||0>p||(e.Te=setTimeout(()=>(e=>{if(e.Te=null,e.Re)return;const{De:t,writer:r}=e;if(Qr(e),e.xe=null,t){const e=new w("Worker startup timeout");e.ke=!0,t(e),r&&r.releaseLock()}})(e),p));try{const e=await a;return await h(),await l,e}catch(e){await h(),u();try{await l}catch{}throw e}async function h(){if(!f&&!d.locked)try{await d.getWriter().close()}catch{}}})(e,{chunkSize:i,wasmURI:o,baseURI:n,workerStartupTimeout:a})}catch(r){if(r&&r.ke){Zr=!1;const{reader:r}=e;return r&&r.releaseLock(),e.reader=null,e.writer=null,Jr(e,t)}throw r}}}})}return e.be}async function Jr({options:e,readable:t,writable:r,ze:n},s){let i;try{if(e.compressed&&!e.format){const t=e.codecType.startsWith(Mr),r=t?s.CompressionStreamZlib:s.DecompressionStreamZlib,n=t?s.CompressionStream:s.DecompressionStream;if(e.useCompressionStream){if(r&&r.Ce&&!Tr(n))try{await void 0}catch{}}else try{await void 0}catch{r&&!r.Ce||(e.useCompressionStream=!0)}}i=new _r(e,s),await t.pipeThrough(i).pipeThrough(new Pr(le(s))).pipeTo(r,{preventClose:!0,preventAbort:!0});const{crc32:n,inputSize:a,outputSize:o}=i;return{crc32:n,inputSize:a,outputSize:o}}catch(e){throw i&&(e.outputSize=i.outputSize),e}finally{n()}}function Qr(e){const{xe:t}=e;if(t)try{t.terminate()}catch{}e.be=null}function $r(e,t,n,s,i=!0){let a,o,c;if(Vr===re||Br!==e){const r=typeof e==ie;o=r?e(i):e;const d=o.startsWith("data:"),l=o.startsWith("blob:");if(d||l){s===re&&(s=!1),s&&(c=Lr);try{a=new C(o,c)}catch(i){if(l)try{u.revokeObjectURL(o)}catch{}if(r&&l)return $r(e,t,n,s,!1);if(s)throw i;return $r(e,t,n,!0,!1)}}else{s===re&&(s=!0),s&&(c=Lr);try{o=new u(o,t)}catch{}try{a=new C(o,c)}catch(r){if(s)throw r;return $r(e,t,n,!1,i)}}Br=e,Vr=o,Hr=c}else a=new C(Vr,Hr);return a.addEventListener("message",e=>{n.Re=!0,en(n),(async({data:e},t)=>{const{type:n,value:s,messageId:i,result:a,error:o}=e,{reader:c,writer:d,Ee:l,De:u,ze:p,ge:h}=t,m=()=>t.ge!=h;try{if(o){const{message:e,stack:t,code:n,name:s,outputSize:i,cause:a}=o,c=new w(e);r.assign(c,{stack:t,code:n,name:s,outputSize:i}),a&&(c.cause=r.assign(new w(a.message),{name:a.name})),y(c)}else{if("pull"==n){const{value:e,done:r}=await c.read();m()||rn({type:Or,value:e,done:r,messageId:i},t)}n==Or&&(await d.ready,await d.write(new f(s)),m()||rn({type:"ack",messageId:i},t)),"close"==n&&y(null,a)}}catch(o){m()||(Qr(t),y(o))}function y(e,t){m()||(e?u(e):l(t),d&&d.releaseLock(),p())}})(e,n)}),a.addEventListener(Wr,e=>tn(e,n)),a.addEventListener("messageerror",e=>tn(e,n)),a}function en(e){const{Te:t}=e;t&&(clearTimeout(t),e.Te=null)}function tn(e,t){e.preventDefault&&e.preventDefault(),en(t);const{Re:n,De:s,writer:i,ze:a}=t;if(Qr(t),n||(t.xe=null),s){let t=e.error||new w(e.message||Wr);n||(t=r.assign(new w(t.message||Wr),{ke:!0})),s(t),i&&i.releaseLock(),n&&a()}}function rn(e,{xe:t,writer:r,transferStreams:n,Re:s}){try{const{value:r,readable:i,writable:a}=e,o=[];if(r&&(e.value=we(r),o.push(e.value.buffer)),n&&jr&&s?(i&&o.push(i),a&&o.push(a)):e.readable=e.writable=null,o.length)try{return t.postMessage(e,o),!0}catch{jr=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(e){throw r&&r.releaseLock(),e}}let nn=[];const sn=[];let an,on,cn=0;async function dn(e,t){const{options:r,config:n}=t,{transferStreams:i,useWebWorkers:a,useCompressionStream:o,compressed:c,checkCrc32:d,computeCrc32:l,encrypted:f,format:p,codecURI:h}=r,{workerURI:m,maxWorkers:y}=n;p&&(h&&(r.codecURI=((e,t)=>{try{return new u(e,t).toString()}catch{return e}})(h,n.baseURI)),await(async(e,t)=>{!lt.has(e)&&t&&((e,t)=>{const{CompressionStream:r,DecompressionStream:n}=t;if(typeof r!=ie&&typeof n!=ie)throw new w("Invalid codec module");lt.set(e,{CompressionStream:r,DecompressionStream:n})})(e,await(import(/* webpackIgnore: true */ /* @vite-ignore */t)))})(p,r.codecURI)),t.transferStreams=i||i===re&&n.transferStreams;const x=!(c||d||l||f),S=p===re||!!r.codecURI;return t.useWebWorkers=!x&&S&&(a||a===re&&n.useWebWorkers),t.workerURI=t.useWebWorkers&&m?m:re,r.useCompressionStream=o||o===re&&n.useCompressionStream,(await(async()=>{const r=nn.find(e=>!e.ye);if(r)return pn(r),new qr(r,e,t,b);if(nn.length<y){const r={ve:cn};return cn++,nn.push(r),new qr(r,e,t,b)}return new g(r=>{sn.push({resolve:r,stream:e,Ue:t}),on=n.workerStarvationTimeout,ln()})})()).run();function b(e){if(un(),sn.length){const[{resolve:t,stream:r,Ue:n}]=sn.splice(0,1);t(new qr(e,r,n,b)),ln()}else e.xe?(pn(e),((e,t)=>{const{config:r}=t,{terminateWorkerTimeout:n}=r;s.isFinite(n)&&n>=0&&(e.Fe?e.Fe=!1:e.Ie=setTimeout(async()=>{nn=nn.filter(t=>t!=e);try{await e.terminate()}catch{}},n))})(e,t)):nn=nn.filter(t=>t!=e)}}function ln(){!an&&sn.length&&s.isFinite(on)&&on>=0&&(an=setTimeout(wn,on))}function un(){an&&(clearTimeout(an),an=null)}function wn(){if(an=null,sn.length){const[{resolve:e,stream:t,Ue:n}]=sn.splice(0,1),s=r.assign({},n,{useWebWorkers:!1,workerURI:re});e(new qr({},t,s,fn)),ln()}}function fn(){un(),ln()}function pn(e){const{Ie:t}=e;t&&(clearTimeout(t),e.Ie=null)}const hn="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split("");function mn(e,t){return t&&"cp437"==t.trim().toLowerCase()?(e=>{{let t="";for(let r=0;r<e.length;r++)t+=hn[e[r]];return t}})(e):new S(t,{ignoreBOM:!0}).decode(e)}const yn="filename",gn="rawFilename",xn="comment",Sn="rawComment",bn="uncompressedSize",zn="compressedSize",Fn="offset",Rn="diskNumberStart",En="lastModDate",Dn="rawLastModDate",An="lastAccessDate",Tn="rawLastAccessDate",kn="creationDate",Cn="rawCreationDate",vn="internalFileAttributes",Un="externalFileAttributes",In="msdosAttributesRaw",On="msdosAttributes",Mn="msDosCompatible",Nn="zip64",_n="encrypted",Pn="version",Ln="versionMadeBy",Wn="zipCrypto",Zn="directory",Bn="executable",Vn="compressionMethod",Hn="signature",jn="extraField",qn="unixMode",Kn="setuid",Yn="setgid",Gn="sticky",Xn=[yn,gn,bn,zn,En,Dn,xn,Sn,An,Tn,kn,Cn,Fn,Rn,vn,Un,In,On,Mn,Nn,_n,Pn,Ln,Wn,Zn,Bn,Vn,Hn,"crc32",jn,"extraFieldUnix","extraFieldInfoZip","extraFieldUnixType1","extraFieldPkwareUnix","uid","gid",qn,Kn,Yn,Gn,"bitFlag","filenameUTF8","commentUTF8","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp","extraFieldUSDZ"];class Jn{constructor(e){Xn.forEach(t=>this[t]=e[t])}}const Qn="password",$n="rawPassword",es="passThrough",ts="signal",rs="checkAmbiguity",ns="useWebWorkers",ss="useCompressionStream",is="transferStreams",as="preventClose",os="offset",cs="usdz",ds="strictness",ls="strict",us="tolerant",ws="File format is not recognized",fs="End of central directory not found",ps="End of Zip64 central directory locator not found",hs="Central directory header not found",ms="Local file header not found",ys="Zip64 extra field not found",gs="File contains encrypted entry",xs="Encryption method not supported",Ss="Compression method not supported",bs="Split zip file",zs="Overlapping entry found",Fs="Ambiguous archive",Rs="Encrypted central directory is not supported",Es="utf-8",Ds="cp437",As=[[bn,v],[zn,v],[Fn,v],[Rn,U]],Ts={[U]:{Oe:ei,bytes:4},[v]:{Oe:ti,bytes:8}};class ks{constructor(e,t={}){r.assign(this,{reader:new it(e),options:t,config:de(),Me:new c})}async*getEntriesGenerator(e={}){const t=this;let{reader:n}=t;const{config:s}=t;if(await ot(n),n.size!==re&&n.readUint8Array||(n=new Ie(await new l(n.readable).blob()),await ot(n)),n.size<Z)throw new w(ws);const i=Ls(Gs(t,e,ds),Gs(t,e,rs)),o=i==ls,c=i!=us,u=((e,t)=>e!==re?e:t==ls?0:t==us?1/0:U)(Gs(t,e,"maxAppendedDataSize"),i),{Ne:f,_e:p}=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,65557),i={count:Ws};let o,c,d=0;for await(const[r,a,l,u,w]of Hs(e,s)){const s=$s(r,u+20);if(w+Z+s==n){const s=await qs(e,r,a,u,w,n,i);if(s==Vs){if(o||(o=js(l,u,w)),d++,!t||d>1)break}else s!=Bs||c||(c=js(l,u,w))}}return o||(o=c),o||(o=await(async(e,t,r)=>{const{size:n}=e,s=a.min(n,t==1/0?n:65557+t);let i,o;for await(const[t,a,c,d,l]of Hs(e,s)){const s=js(c,d,l);i||(i=s);const u=await qs(e,t,a,d,l,n,r);if(u==Vs)return s;u!=Bs||o||(o=s)}return o||i})(e,r,i)),{Ne:o,_e:d}})(n,c,u);if(!f)throw ei(fe(await ct(n,0,4)))==M?new w(bs):new w(fs);c&&p>1&&Ys("multiple end of central directory records");const h=fe(f);let m=ei(h,12),y=ei(h,16);const x=f.offset,S=$s(h,20),b=x+Z+S;n.size-b>u&&Ys("appended data");let z=$s(h,4);const F=n.R||0;let E,D,A,T=$s(h,6),k=$s(h,10),C=0;const O=y==v||m==v||k==U||T==U;if(y!=v&&T!=U&&(y+=Ps(n,T)),O){const e=f.offset<B?ae:await ct(n,f.offset-B,B),t=fe(e);if(e.length==B&&ei(t,0)==W){y=Ps(n,ei(t,4))+ti(t,8);let e=await ct(n,y,56),r=fe(e);const s=f.offset-B-56;if((56>e.length||ei(r,0)!=L)&&y!=s&&s>=0){const t=y;y=s,y>t&&(C=y-t),e=await ct(n,y,56),r=fe(e)}if(56>e.length||ei(r,0)!=L)throw new w(ps);D=!0,A=ti(r,4)>44,z==U?z=ei(r,16):o&&z!=ei(r,16)&&Ys("mismatched zip64 end of central directory record"),T==U?T=ei(r,20):o&&T!=ei(r,20)&&Ys("mismatched zip64 end of central directory record"),k==U?k=ti(r,32):o&&k!=ti(r,32)&&Ys("mismatched zip64 end of central directory record"),m==v?m=ti(r,40):o&&m!=ti(r,40)&&Ys("mismatched zip64 end of central directory record"),y=Ps(n,T)+ti(r,48)+C}}const N=m,P=f.offset-(D?76:0);if(y<n.size||(C=n.size-y-m-Z,y=n.size-m-Z),F!=z)throw new w(bs);if(0>y)throw new w(ws);let V=0,H=await ct(n,y,m),j=fe(H);if(m){if(4>H.length)throw new w(ws);const e=P-m;if(y!=e&&T==z){let t=!(ei(j,V)==_);if(t||0>e||e+4>n.size||(t=ei(fe(await ct(n,e,4)),0)==_),t){const t=y;y=e,y>t&&(C+=y-t),H=await ct(n,y,m),j=fe(H)}}}const q=P-y;if(m==q||0>q||T!=z||(m=q,H=await ct(n,y,m),j=fe(H)),0>y||y>=n.size)throw new w(ws);E=y;const K=Gs(t,e,"filenameEncoding"),Y=Gs(t,e,"commentEncoding"),$=o?new d:re;let ee;for(let i=0;k>i;i++){const c=new Cs(n,s,t.options);if(V+46>H.length||ei(j,V)!=_){if(0==i&&(A||vs(j)))throw new w(Rs);throw new w(hs)}Us(c,j,V+6);const d=!!c.bitFlag.languageEncodingFlag,u=V+46,f=u+c.filenameLength,p=f+c.extraFieldLength,h=$s(j,V+4),m=!(h>>8),y=h>>8==3,x=H.subarray(u,f),S=$s(j,V+32),b=p+S,z=H.subarray(p,b),F=d,D=d,T=ei(j,V+38),v=T&I,O={readOnly:!!(1&v),hidden:!!(2&v),system:!!(4&v),directory:!!(16&v),archive:!!(32&v)},M=ei(j,V+42),N=Gs(t,e,"decodeText")||mn,P=F?Es:K||Ds,L=D?Es:Y||Ds;let W=N(x,P);W===re&&(W=mn(x,P));let Z=N(z,L);Z===re&&(Z=mn(z,L)),r.assign(c,{index:i,versionMadeBy:h,msDosCompatible:m,compressedSize:0,uncompressedSize:0,Pe:S,offset:M,diskNumberStart:$s(j,V+34),internalFileAttributes:$s(j,V+36),externalFileAttributes:T,msdosAttributesRaw:v,msdosAttributes:O,rawFilename:x,filenameUTF8:F,commentUTF8:D,rawExtraField:H.subarray(f,p),rawComment:z,filename:W,comment:Z}),Is(c,c,j,V+6),c.offset+=C,E=a.min(Ps(n,c.diskNumberStart)+c.offset,E),o&&($.has(c.filename)&&(ee=!0),$.add(c.filename));const B=c.externalFileAttributes>>16&U;c.unixMode===re&&16877&B&&(c.unixMode=B);const q=!!(c.unixMode&X),te=!!(c.unixMode&J),ne=!!(512&c.unixMode),se=c.unixMode!==re?!!(73&c.unixMode):y&&!!(73&B),ie=c.unixMode!==re&&(61440&c.unixMode)==G,ae=(61440&B)==G;r.assign(c,{setuid:q,setgid:te,sticky:ne,unixExternalUpper:B,internalFileAttribute:c.internalFileAttributes,externalFileAttribute:c.externalFileAttributes,executable:se,directory:ie||ae||m&&O.directory||c.filename.endsWith(Q)&&!c.uncompressedSize,zipCrypto:c.encrypted&&!c.extraFieldAES});const oe=new Jn(c);oe.getData=(e,r)=>c.getData(e,oe,t.Me,r),oe.arrayBuffer=async e=>{const r=new R,[n]=await g.all([new l(r.readable).arrayBuffer(),c.getData(r,oe,t.Me,e)]);return n},V=b;const{onprogress:ce}=e;if(ce)try{await ce(i+1,k,new Jn(c))}catch{}yield oe}o&&V!=N&&Ys("trailing central directory data"),ee&&Ys("duplicate filename"),o&&(C||k&&E>0)&&Ys("prepended data");const te=Gs(t,e,"extractPrependedData"),ne=Gs(t,e,"extractAppendedData");return te&&(t.prependedData=E>0?await ct(n,0,E):ae),t.comment=S?await ct(n,x+Z,S):ae,ne&&(t.appendedData=b<n.size?await ct(n,b,n.size-b):ae),!0}async getEntries(e={}){const t=[];for await(const r of this.getEntriesGenerator(e))t.push(r);return t}async close(){}}let Cs=class{constructor(e,t,n){r.assign(this,{reader:e,config:t,options:n})}async getData(e,t,r,n={}){const s=this,{reader:i,index:a,offset:o,diskNumberStart:c,extraFieldAES:d,extraFieldZip64:l,compressionMethod:u,config:f,bitFlag:p,rawBitFlag:h,crc32:m,rawLastModDate:y,uncompressedSize:g,compressedSize:x}=s,{dataDescriptor:S}=p,b=t.localDirectory={},z=Ps(i,c)+o,F=await ct(i,z,$),R=fe(F);let E=Gs(s,n,Qn),A=Gs(s,n,$n);const T=Gs(s,n,es);if(E=E&&E.length&&E,A=A&&A.length&&A,d&&99!=d.originalCompressionMethod)throw new w(Ss);if(F.length<$||ei(R,0)!=O)throw new w(ms);Us(b,R,4);const{extraFieldLength:k,filenameLength:C}=b,v=Ls(Gs(s,n,ds),Gs(s,n,rs))==ls;let U=ae;if(v&&(C||k)){const e=await ct(i,z+$,C+k);U=e.subarray(0,C),b.rawExtraField=e.subarray(C)}else b.rawExtraField=k?await ct(i,z+$+C,k):ae;Is(s,b,R,4,!0),v&&((e,t,r)=>{const{rawFilename:n}=e;(r.length!=n.length||r.some((e,t)=>e!=n[t]))&&Ys("mismatched local file header (filename)"),(2057&t.rawBitFlag)!=(2057&e.rawBitFlag)&&Ys("mismatched local file header (general purpose bit flag)"),t.compressionMethod!=e.compressionMethod&&Ys("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||Ys("mismatched local file header (crc32 or sizes)")})(s,b,U);const{lastAccessDate:M,creationDate:_}=b;M&&(t.lastAccessDate=M),_&&(t.creationDate=_);const P=s.encrypted&&b.encrypted&&!T,L=P&&!d;if(T||(t.zipCrypto=L),P&&!(64&~b.rawBitFlag))throw new w(xs);const W=T?re:ut(u);if(0!=u&&8!=u&&9!=u&&!W&&!T)throw new w(Ss);if(P){if(!L&&(1>d.strength||d.strength>3))throw new w(xs);if(!E&&!A)throw new w(gs)}const Z=z+$+C+k,B=x,V=pe(i.createReadable({offset:Z,size:B})),H=Gs(s,n,ts),j=Gs(s,n,"checkPasswordOnly");let q=Gs(s,n,"checkOverlappingEntry");const K=Gs(s,n,"checkOverlappingEntryOnly");K&&(q=!0);const{onstart:Y,onprogress:G,onend:X}=n,J=9==u;let Q=Gs(s,n,ss);J&&(Q=!1);const ee=Gs(s,n,"checkCrc32"),te=(ee===re?Gs(s,n,"checkSignature"):ee)&&!T&&(!P||L||d&&1==d.vendorVersion),ne={options:{codecType:Nr,password:E,rawPassword:A,zipCrypto:L,encryptionStrength:d&&d.strength,checkCrc32:te,checkAuthenticationCode:Gs(s,n,"checkAuthenticationCode"),passwordVerification:L&&(S?y>>>8&I:m>>>24&I),outputSize:T?x:g,crc32:m,compressed:0!=u&&!T,encrypted:P,useWebWorkers:Gs(s,n,ns),useCompressionStream:Q,transferStreams:Gs(s,n,is),deflate64:J,format:W?W.format:re,codecURI:W?W.codecURI:re,compressionMethod:u,rawBitFlag:h,checkPasswordOnly:j},config:f,me:{signal:H,size:B,onstart:Y,onprogress:G,onend:X}};let se;q&&await(async({reader:e,Le:t,index:r,offset:n,crc32:s,compressedSize:i,uncompressedSize:a,We:o,dataDescriptor:c,extraFieldZip64:d,Me:l})=>{let u=0;if(c&&(u=d?20:12),u){const r=await ct(e,o+i,u+4);if(r.length==u+4&&ei(fe(r),0)==N){const e=ei(fe(r),4);let n,o;d?(n=ti(fe(r),8),o=ti(fe(r),16)):(n=ei(fe(r),8),o=ei(fe(r),12)),(t.encrypted&&!t.zipCrypto||e==s)&&n==i&&o==a&&(u+=4)}}const f={start:n,end:o+i+u,Le:t};for(const[e,t]of l)if(e!=r&&f.start<t.end&&t.start<f.end){const e=new w(zs);throw e.Ze=t.Le,e}l.set(r,f)})({reader:i,Le:t,index:a,offset:z,crc32:m,compressedSize:x,uncompressedSize:g,We:Z,dataDescriptor:S||b.bitFlag.dataDescriptor,extraFieldZip64:l||b.extraFieldZip64,Me:r});try{if(!K){j&&(e=new D),e=new at(e),await ot(e,T?x:g),({writable:se}=e);const{outputSize:t}=await dn({readable:V,writable:se},ne);if(e.size+=t,t!=(T?x:g))throw new w(yr)}}catch(t){if(t.outputSize!==re&&(e.size+=t.outputSize),!j||t.message!=It)throw t}finally{Gs(s,n,as)||!se||se.locked||await se.getWriter().close()}return j||K?re:e.getData?e.getData():se}};function vs(e){const t=a.min(e.byteLength,1024)-3;for(let r=0;t>r;r++)if(134630224==ei(e,r))return!0;return!1}function Us(e,t,n){const s=e.rawBitFlag=$s(t,n+2),i=!(1&~s),a=ei(t,n+6);r.assign(e,{encrypted:i,version:$s(t,n),bitFlag:{level:(6&s)>>1,dataDescriptor:!(8&~s),languageEncodingFlag:(s&Y)==Y},rawLastModDate:a,lastModDate:Xs(a),filenameLength:$s(t,n+22),extraFieldLength:$s(t,n+24)})}function Is(e,t,n,s,i){const{rawExtraField:a}=t,d=t.extraField=new c,l=fe(a);let u=0;try{for(;u<a.length;){const e=$s(l,u),t=$s(l,u+2);d.set(e,{type:e,data:a.slice(u+4,u+4+t)}),u+=4+t}}catch{}const f=$s(n,s+4);r.assign(t,{signature:ei(n,s+10),crc32:ei(n,s+10),compressedSize:ei(n,s+14),uncompressedSize:ei(n,s+18)});const p=d.get(1);p&&(((e,t)=>{t.zip64=!0;const r=fe(e.data),n=As.filter(([e,r])=>t[e]==r),s=n.reduce((e,[,t])=>e+Ts[t].bytes,0);if(e.data.length<s)throw new w(ys);for(let s=0,i=0;s<n.length;s++){const[a,o]=n[s],c=Ts[o];t[a]=e[a]=c.Oe(r,i),i+=c.bytes}})(p,t),t.extraFieldZip64=p);const h=d.get(28789);h&&(Os(h,yn,gn,t,e),t.extraFieldUnicodePath=h);const m=d.get(25461);m&&(Os(m,xn,Sn,t,e),t.extraFieldUnicodeComment=m);const y=d.get(V);y&&y.data.length>=7?(((e,t,n)=>{const s=fe(e.data),i=Qs(s,4);r.assign(e,{vendorVersion:Qs(s,0),vendorId:Qs(s,2),strength:i,originalCompressionMethod:n,compressionMethod:$s(s,5)}),t.compressionMethod=e.compressionMethod,1!=e.vendorVersion&&(t.crc32=re)})(y,t,f),t.extraFieldAES=y):t.compressionMethod=f;const g=d.get(13);g&&(Ms(g,t),t.extraFieldPkwareUnix=g);const x=d.get(22613);x&&(Ms(x,t),t.extraFieldUnixType1=x);const S=d.get(10);S&&(((e,t)=>{const n=fe(e.data);let s,i=4;try{for(;i<e.data.length&&!s;){const t=$s(n,i),r=$s(n,i+2);1==t&&(s=e.data.slice(i+4,i+4+r)),i+=4+r}}catch{}if(s&&24==s.length){const n=fe(s),i=n.getBigUint64(0,!0),a=n.getBigUint64(8,!0),o=n.getBigUint64(16,!0);r.assign(e,{rawLastModDate:i,rawLastAccessDate:a,rawCreationDate:o});const c={lastModDate:Js(i),lastAccessDate:Js(a),creationDate:Js(o)};r.assign(e,c),r.assign(t,c)}})(S,t),t.extraFieldNTFS=S);const b=d.get(K);if(b)Ns(b,t,!1),t.extraFieldUnix=b;else{const e=d.get(q);e&&(Ns(e,t,!0),t.extraFieldInfoZip=e)}const z=d.get(H);z&&(((e,t,r)=>{if(!e.data.length)return;const n=fe(e.data),s=Qs(n,0),i=[],a=[];r?(1&~s||(i.push(En),a.push(Dn)),2&~s||(i.push(An),a.push(Tn)),4&~s||(i.push(kn),a.push(Cn))):5>e.data.length||(i.push(En),a.push(Dn));let c=1;i.forEach((r,s)=>{if(e.data.length>=c+4){const i=ei(n,c);t[r]=e[r]=new o(1e3*(0|i));const d=a[s];e[d]=i}c+=4})})(z,t,i),t.extraFieldExtendedTimestamp=z);const F=d.get(j);F&&(t.extraFieldUSDZ=F)}function Os(e,t,n,s,i){if(5>e.data.length)return void(e.valid=!1);const a=fe(e.data),o=new zt;o.append(i[n]);const c=fe(new f(4));c.setUint32(0,o.get(),!0);const d=ei(a,1);r.assign(e,{version:Qs(a,0),[t]:mn(e.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&d==ei(c,0)}),e.valid&&(s[t]=e[t],s[t+"UTF8"]=!0)}function Ms(e,t){if(8>e.data.length)return;const n=fe(e.data),s={lastAccessDate:new o(1e3*ei(n,0)),lastModDate:new o(1e3*ei(n,4))};12>e.data.length||(s.uid=$s(n,8),s.gid=$s(n,10)),r.assign(e,s),r.assign(t,s)}function Ns(e,t,n){try{const s=fe(e.data);let i,a;if(n){let t=0;const n=Qs(s,t++),o=Qs(s,t++);i=_s(e.data.subarray(t,t+o)),t+=o;const c=Qs(s,t++);a=_s(e.data.subarray(t,t+c)),r.assign(e,{version:n,uid:i,gid:a})}else 4>e.data.length||(i=$s(s,0),a=$s(s,2),r.assign(e,{uid:i,gid:a}));i!==re&&(t.uid=i),a!==re&&(t.gid=a)}catch{}}function _s(e){const t=new f(4);return t.set(e,0),new m(t.buffer,t.byteOffset,4).getUint32(0,!0)}function Ps(e,t){return e.A?e.A(t):0}function Ls(e,t){return e===re?t?ls:"balanced":e}const Ws=64,Zs=0,Bs=1,Vs=2;async function*Hs(e,t){const r=e.size-t,n=await ct(e,r,t),s=fe(n);for(let e=n.length-Z;e>=0;e--)ei(s,e)==P&&(yield[s,r,n,e,r+e])}function js(e,t,r){return{offset:r,buffer:e.slice(t,t+Z).buffer}}async function qs(e,t,r,n,s,i,a){const o=$s(t,n+10),c=ei(t,n+12),d=ei(t,n+16);if(o==U||c==v||d==v)return await Ks(e,t,r,s-B,i,a)==W?Vs:Zs;if(!o&&!c)return Bs;const l=$s(t,n+6);for(const n of[s-c,Ps(e,l)+d])if(await Ks(e,t,r,n,i,a)==_)return Vs;return Zs}async function Ks(e,t,r,n,s,i){return 0>n||n+4>s?re:r>n?i.count>0?(i.count--,ei(fe(await ct(e,n,4)),0)):re:ei(t,n-r)}function Ys(e){const t=new w(Fs);throw t.reason=e,t}function Gs(e,t,r){return t[r]===re?e.options[r]:t[r]}function Xs(e){const t=(4294901760&e)>>16,r=e&U;return new o(1980+((65024&t)>>9),((480&t)>>5)-1,31&t,(63488&r)>>11,(2016&r)>>5,2*(31&r),0)}function Js(e){return new o(s(e/i(1e4)-i(116444736e5)))}function Qs(e,t){return e.getUint8(t)}function $s(e,t){return e.getUint16(t,!0)}function ei(e,t){return e.getUint32(t,!0)}function ti(e,t){return s(e.getBigUint64(t,!0))}var ri=r.freeze({__proto__:null,ERR_AMBIGUOUS_ARCHIVE:Fs,ERR_BAD_FORMAT:ws,ERR_CENTRAL_DIRECTORY_NOT_FOUND:hs,ERR_ENCRYPTED:gs,ERR_ENCRYPTED_CENTRAL_DIRECTORY:Rs,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:ps,ERR_EOCDR_NOT_FOUND:fs,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:ys,ERR_INVALID_AUTHENTICATION_CODE:Ut,ERR_INVALID_COMPRESSED_DATA:gr,ERR_INVALID_CRC32:xr,ERR_INVALID_PASSWORD:Ct,ERR_INVALID_SIGNATURE:vt,ERR_INVALID_UNCOMPRESSED_SIZE:yr,ERR_LOCAL_FILE_HEADER_NOT_FOUND:ms,ERR_OVERLAPPING_ENTRY:zs,ERR_SPLIT_ZIP_FILE:bs,ERR_UNSUPPORTED_COMPRESSION:Ss,ERR_UNSUPPORTED_ENCRYPTION:xs,ZipReader:ks});const ni="Zip file comment exceeds 64KB",si="Version exceeds 65535",ii="Extra field data exceeds 64KB",ai=-2147483648,oi=2147483647,ci=i(0),di=i("0x7fffffffffffffff"),li="Zip64 is not supported (set the 'zip64' option to 'true')",ui=new f([7,0,2,0,65,69,3,0,0]),wi="infozip",fi="unix";let pi=0;const hi=[];class mi{constructor(e,t={}){e=new at(e);const{availableSize:n=ne,maxSize:s=ne}=e,i=n>0&&n!==ne&&s>0&&s!==ne;r.assign(this,{writer:e,Be:i,options:t,config:de(),files:new c,Ve:new d,offset:t[os]===re?e.size||e.writable.size||0:t[os],He:t[os]===re?0:t[os]-(e.size||e.writable.size||0),je:new d,qe:0,Ke:re})}async prependZip(e){if(this.Ve.size)throw new w("Zip file not empty");e=new it(e),await ot(e);const{ZipReader:t}=await g.resolve().then(()=>ri),n=new t(e.readable),s=await n.getEntries();await n.close(),await ot(this.writer),await e.readable.pipeTo(this.writer.writable,{preventClose:!0,preventAbort:!0}),this.writer.size=this.offset=e.size,this.Ve=new d(s.map(e=>e.filename)),this.files=new c(s.map(e=>{const{version:t,rawLastModDate:n,lastAccessDate:s,creationDate:i,rawFilename:a,bitFlag:o,encrypted:c,uncompressedSize:d,compressedSize:l,zip64:u}=e;let{compressionMethod:w,Ye:f,Ge:p,Xe:h,Je:m,Qe:y,rawExtraField:g}=e;const{level:x,languageEncodingFlag:S,dataDescriptor:b}=o;f=f||ae,p=p||ae,h=h||ae,m=m||ae,y=y||ae,g=g||ae,e.extraFieldAES&&(w=99);const z=Ni(f,p,h,m,y,g),F=u&&d>=v,R=u&&l>=v,E=-7&Pi(x,S,b,c,w)|x<<1,{$e:D,et:A}=_i({version:t,bitFlag:E,compressionMethod:w,uncompressedSize:d,compressedSize:l,rawLastModDate:n,rawFilename:a,nt:R,st:F,extraFieldLength:z}),{crc32:T}=e;return T!==re&&Ii(A,10,T),r.assign(e,{st:F,nt:R,it:u&&e.offset>=v,diskNumberStart:0,ot:!1,Ye:f,Ge:p,Xe:h,Je:m,Qe:y,rawExtraField:g,extendedTimestamp:h.length>0||m.length>0,ct:1+(s?2:0)+(i?4:0),$e:D,et:A}),[e.filename,e]}))}async add(e="",t,n={}){const s=this;n=r.assign({},n);const{je:c,config:d}=s;let l,u;pi<d.maxWorkers?pi++:await new g(e=>hi.push(e));try{if(e=e.trim(),Ci(s,n,Zn)&&!e.endsWith(Q)&&(e+=Q),s.Ve.has(e))throw new w("File already exists");return s.Ve.add(e),u=!0,l=(async(e,t,n,s)=>{const c=((e,t,r)=>{t=t.trim();let n=Ci(e,r,Mn),s=Ci(e,r,Ln,n?20:768);const i=Ci(e,r,Bn),a=Ci(e,r,"uid"),o=Ci(e,r,"gid");let c=Ci(e,r,qn),d=Ci(e,r,"unixExtraFieldType"),l=Ci(e,r,Kn),u=Ci(e,r,Yn),f=Ci(e,r,Gn);if(a!==re&&(0>a||a>v))throw new w("Invalid uid (must be integer 0..2^32-1)");if(o!==re&&(0>o||o>v))throw new w("Invalid gid (must be integer 0..2^32-1)");if(c!==re&&(0>c||c>U))throw new w("Invalid UNIX mode (must be integer 0..65535)");if(d!==re&&d!==wi&&d!==fi)throw new w("Invalid unixExtraFieldType (must be 'infozip' or 'unix')");if(d===fi&&(a!==re&&a>U||o!==re&&o>U))throw new w("uid/gid must be 0..65535 for unixExtraFieldType 'unix' (use 'infozip' for larger ids)");d!==re||a===re&&o===re||(d=wi);let p=Ci(e,r,In),h=Ci(e,r,On);const m=p!==re||h!==re;if(a!==re||o!==re||c!==re||d?(n=!1,s=s&U|768):m&&(n=!0,s&=I),p!==re&&(0>p||p>I))throw new w("Invalid msdosAttributesRaw (must be integer 0..255)");if(h&&"object"!=typeof h)throw new w("Invalid msdosAttributes (must be an object with boolean flags)");if(s>U)throw new w(si);let y=Ci(e,r,Un);const g=y!==re;g||(y=0),!r[Zn]&&t.endsWith(Q)&&(r[Zn]=!0);const x=Ci(e,r,Zn);let S;if(x?(t.endsWith(Q)||(t+=Q),g||(y=16,n||(y|=16877<<16))):n||g||(y=i?493<<16:27525120),!n){const e=c!==re||!!(l||u||f);S=y>>16&U,c=c===re?S:c&U,l?c|=X:l=!!(c&X),u?c|=J:u=!!(c&J),f?c|=512:f=!!(512&c),g&&!e||(x&&(c|=G),y=(c&U)<<16|y&U)}return({msdosAttributesRaw:p,msdosAttributes:h}=((e,t)=>{if(e!==re)e&=I;else if(t!==re){const{readOnly:r,hidden:n,system:s,directory:i,archive:a}=t;let o=0;r&&(o|=1),n&&(o|=2),s&&(o|=4),i&&(o|=16),a&&(o|=32),e=o&I}return t===re&&(t={readOnly:!!(1&e),hidden:!!(2&e),system:!!(4&e),directory:!!(16&e),archive:!!(32&e)}),{msdosAttributesRaw:e,msdosAttributes:t}})(p,h)),m&&(y=y&v|p&I),{name:t,lt:{versionMadeBy:s,msDosCompatible:n,externalFileAttributes:y,unixExternalUpper:S,uid:a,gid:o,unixMode:c,unixExtraFieldType:d,setuid:l,setgid:u,sticky:f,msdosAttributesRaw:p,msdosAttributes:h}}})(e,t,s);({name:t}=c);const d=((e,t,r)=>{const n=Ci(e,r,"encodeText",Rt);let s=n(t);if(s===re&&(s=Rt(t)),Ni(s)>U)throw new w("File entry name exceeds 64KB");const i=r[xn]||"";let a=n(i);if(a===re&&(a=Rt(i)),Ni(a)>U)throw new w("File entry comment exceeds 64KB");const c=Ci(e,r,Pn,20);if(c>U)throw new w(si);const d=Ci(e,r,En,new o),l=Ci(e,r,An),u=Ci(e,r,kn),f=Ci(e,r,vn,0),p=Ci(e,r,es);let h,m;p||(h=Ci(e,r,Qn),m=Ci(e,r,$n));const y=Ci(e,r,"encryptionStrength",3),g=Ci(e,r,Wn),x=Ci(e,r,"extendedTimestamp",!0),S=Ci(e,r,"ntfsTimestamp"),b=Ci(e,r,"keepOrder",!0),z=Ci(e,r,ns),F=Ci(e,r,is),R=Ci(e,r,"bufferedWrite"),E=Ci(e,r,"createTempStream"),D=Ci(e,r,"dataDescriptorSignature",!0),A=Ci(e,r,ts),T=Ci(e,r,"useUnicodeFileNames",!0),k=Ci(e,r,Vn),C=p||k===re?re:ut(k);if(!p&&k!==re&&0!==k&&8!==k&&!C)throw new w("Compression method not supported");let v=Ci(e,r,"level");if(e.options[cs]){if(h!==re||m!==re)throw new w("Encryption is not supported in USDZ files");v===re&&k===re&&(v=0)}let I=Ci(e,r,ss),O=Ci(e,r,"dataDescriptor");R&&O===re&&(O=!1),(O===re||g)&&(O=!0),v!==re&&6!=v&&(I=!1);const M=Ci(e,r,Nn);if(!g&&(h!==re||m!==re)&&(1>y||y>3))throw new w("The strength must equal 1, 2, or 3");const N=yi(r[jn]),_=yi(r.localExtraField);return{comment:i,lt:{rawFilename:s,rawComment:a,version:c,lastModDate:d,lastAccessDate:l,creationDate:u,internalFileAttributes:f,passThrough:p,password:h,rawPassword:m,encryptionStrength:y,zipCrypto:g,extendedTimestamp:x,ntfsTimestamp:S,keepOrder:b,useWebWorkers:z,transferStreams:F,bufferedWrite:R,createTempStream:E,dataDescriptorSignature:D,signal:A,useUnicodeFileNames:T,compressionMethod:k,format:C?C.format:re,codecURI:C?C.codecURI:re,ut:C?C.versionNeeded:re,level:v,useCompressionStream:I,dataDescriptor:O,zip64:M,rawExtraField:N,wt:_}}})(e,t,s),{comment:l}=d,u=s[jn];let p;e.files.set(t,re);try{const{lt:l}=d;0==l.level||l.compressionMethod!==re||l.passThrough||await(async e=>{const{CompressionStream:t,CompressionStreamZlib:r}=e;if(r&&!r.Ce)return!0;if(Tr(t)||Ar(t,br))return!0;if(r)try{return await void 0,!0}catch{return!1}return!1})(e.config)||(l.level=0);const u=await(async(e,t,{lt:r},n)=>{const{passThrough:s,zipCrypto:i,password:a,rawPassword:o,encryptionStrength:c}=r;let{dataDescriptor:d,zip64:l,level:u,compressionMethod:f}=r,p=0,h=0;if(s){if(!t)throw new w("Undefined reader");if(h=n[bn],h===re)throw new w("Undefined uncompressed size")}const m=!0===l,y=Ci(e,n,_n),g=!!t&&(!!(a&&Ni(a)||o&&Ni(o))||s&&y);t||(u=0,f=0);const x=g?i?12:16+4*c:0;t&&(t=new it(t),await ot(t),s?(n.uncompressedSize=h,p=vi(h)+x):t.size===re?(d=!0,(l||l===re)&&(l=!0,h=p=4294967296)):(n.uncompressedSize=h=t.size,p=vi(h)+x));const S=m||h>=v,b=m||p>=v;if(S||b){if(!1===l)throw new w(li);l=!0}return l=l||!1,{reader:t,lt:{dataDescriptor:d,zip64:l,st:S,nt:b,uncompressedSize:h,level:u,compressionMethod:f,encrypted:g}}})(e,n,d,s);({reader:n}=u);const h=zi(e.writer),m=bi(e.writer),y=(e=>{const{rawFilename:t,lastModDate:r,lastAccessDate:n,creationDate:s,level:i,zip64:c,zipCrypto:d,useUnicodeFileNames:l,dataDescriptor:u,directory:f,rawExtraField:p,wt:h,encryptionStrength:m,extendedTimestamp:y,ntfsTimestamp:g,passThrough:x,encrypted:S,st:b,nt:z,uncompressedSize:F,crc32:R}=e;let{version:E,compressionMethod:D}=e;const A=!f&&(D===re?i===re||i>0:0!==D);let T;const k=x||!A,C=c&&(e.bufferedWrite||!u||!b&&!z||k),v=C||c&&u&&(b||z);if(c&&(b||z)){const e=20,t=Si(e);if(t.uint16(1),t.uint16(e-4),T=t.array,C&&(t.ft(F),k)){const e=S?d?12:16+4*m:0;t.ft(x?0:F+e)}}else T=ae;let I,M,N,_,P;if(S&&!d){const e=Si(Ni(ui)+2);e.uint16(V),e.bytes(ui),I=e.array,I[8]=m}else I=ae;if(y){const e=Ai(r),t=Ti(e);if(t){const t=9+(n?4:0)+(s?4:0),r=Si(t);_=1+(n?2:0)+(s?4:0),r.uint16(H),r.uint16(t-4),r.uint8(_),r.uint32(e),n&&r.uint32(ki(Ai(n))),s&&r.uint32(ki(Ai(s))),N=r.array}else N=ae;if(g===re?!t||n||s:g)try{const e=Di(r),t=Si(36);t.uint16(10),t.uint16(32),t.ht(4),t.uint16(1),t.uint16(24),t.ft(e),t.ft(n?Di(n):e),t.ft(s?Di(s):e),M=t.array}catch{M=ae}else M=ae}else M=N=ae;try{const{uid:t,gid:r,unixExtraFieldType:n}=e;if(n!=wi||t===re&&r===re)if(n!=fi||t===re&&r===re)P=ae;else{const e=Si(8);e.uint16(K),e.uint16(4),e.uint16((t===re?0:t)&U),e.uint16((r===re?0:r)&U),P=e.array}else{const e=xi(t),n=xi(r),s=3+e.length+n.length,i=Si(4+s);i.uint16(q),i.uint16(s),i.uint8(1),i.uint8(e.length),i.bytes(e),i.uint8(n.length),i.bytes(n),P=i.array}}catch{P=ae}D===re&&(D=A?8:0);const{ut:L}=e;A&&L!==re&&(E=E>L?E:L),c&&(E=E>45?E:45),S&&!d&&(E=E>51?E:51,x&&R!==re&&(I[4]=1),I[9]=D,D=99);const W=v?Ni(T):0,Z=W+Ni(I,N,M,P,p,h);if(Z>U)throw new w(ii);const B=new o(2e3*a.ceil(a.floor(r.getTime()/1e3)/2)),{$e:j,et:Y,rawLastModDate:G}=_i({version:E,bitFlag:Pi(i,l,u,S,D),compressionMethod:D,uncompressedSize:F,lastModDate:te>B?te:B>ee?ee:B,rawFilename:t,nt:z,st:b,extraFieldLength:Z}),X=Si($+Ni(t)+Z),J=X.array,Q=fe(J);return X.uint32(O),X.bytes(j),X.bytes(t),v&&X.bytes(T),X.bytes(I),X.bytes(N),X.bytes(M),X.bytes(P),X.bytes(p),X.bytes(h),u&&(z||Ii(Q,18,0),b||Ii(Q,22,0)),{yt:J,gt:Q,$e:j,et:Y,lastModDate:r,rawLastModDate:G,encrypted:S,compressed:A,version:E,compressionMethod:D,ct:_,Ye:ae,xt:W,Xe:N,Je:M,Qe:P,Ge:I,extraFieldLength:Z}})(s=r.assign({},s,c.lt,d.lt,u.lt,{internalFileAttribute:d.lt.internalFileAttributes,externalFileAttribute:c.lt.externalFileAttributes,signature:s[Hn],crc32:s.crc32===re?s[Hn]:s.crc32,offset:e.offset-h,diskNumberStart:m})),x=(({zip64:e,dataDescriptor:t,dataDescriptorSignature:r})=>{let n,s=ae,i=0,a=e?20:12;return r&&(a+=4),t&&(s=new f(a),n=fe(s),r&&(i=4,Ii(n,0,N))),{St:s,bt:n,zt:i}})(s),S=Ni(y.yt,x.St);p=await(async(e,t,n,s,a)=>{const{files:o,writer:c}=e,{keepOrder:d,dataDescriptor:l,signal:u}=a,{Ft:p}=s,h=e.options[cs],m=e.Ke;let y,x,S,b,z,F,E,A={},T=0;o.set(t,A),e.Ke=A;try{let x;d&&(x=m&&m.lock,A.lock=new g(e=>S=e)),a.bufferedWrite||!d||e.Rt||e.qe||!l?(y=!0,e.qe++,E=a.createTempStream?await a.createTempStream():new R(re,re,{highWaterMark:ne}),E.size=0,await ot(c)):(E=c,await k()),await ot(E);const U=zi(c);if(e.Be){delete e.Be;const t=new f(4);Ii(fe(t),0,M),await Ei(c,t),e.offset+=4}h&&!y&&gi(s,e.offset-U);const{yt:O}=p;y||(await x,await C());const N=bi(c),_=Ri(e,c);if(A.diskNumberStart=N,y||(z=!0,F=c.size,await Ei(E,O)),A=await(async(e,t,{diskNumberStart:n,lock:s},a,o,c)=>{const{Ft:d,Et:l,Dt:u}=a,{$e:f,et:p,lastModDate:h,rawLastModDate:m,encrypted:y,compressed:g,version:x,compressionMethod:S,Ye:b,xt:z,Xe:F,ct:R,Je:E,Qe:D,Ge:A}=d,{St:T}=l,{rawFilename:k,lastAccessDate:C,creationDate:U,password:O,rawPassword:M,level:N,zip64:_,st:P,nt:L,zipCrypto:W,dataDescriptor:Z,directory:B,executable:V,versionMadeBy:H,rawComment:j,rawExtraField:q,useWebWorkers:K,transferStreams:Y,onstart:G,onprogress:X,onend:J,signal:Q,encryptionStrength:$,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:se,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe,useCompressionStream:he,passThrough:me,format:ye,codecURI:ge}=c,xe={lock:s,versionMadeBy:H,zip64:_,directory:!!B,executable:!!V,filenameUTF8:!0,rawFilename:k,commentUTF8:!0,rawComment:j,Ye:b,xt:z,Xe:F,Je:E,Qe:D,Ge:A,rawExtraField:q,extendedTimestamp:ee,msDosCompatible:te,internalFileAttributes:ne,externalFileAttributes:se,diskNumberStart:n,uid:ie,gid:ae,unixMode:oe,setuid:ce,setgid:de,sticky:le,unixExternalUpper:ue,msdosAttributesRaw:we,msdosAttributes:fe};let{crc32:Se,uncompressedSize:be}=c,ze=0;me||(be=0);const{writable:Fe}=t;if(e){const r=pe(e.createReadable?e.createReadable():e.readable),n=e.size,s={options:{codecType:Mr,level:N,rawPassword:M,password:O,encryptionStrength:$,zipCrypto:y&&W,passwordVerification:y&&W&&m>>8&I,computeCrc32:!me,compressed:g&&!me,encrypted:y&&!me,useWebWorkers:K,useCompressionStream:he,transferStreams:Y,format:ye,codecURI:ge,compressionMethod:S},config:o,me:{signal:Q,size:n,onstart:G,onprogress:X,onend:J}};try{const e=await dn({readable:r,writable:Fe},s);if(ze=e.outputSize,t.size+=ze,me||(be=e.inputSize,y&&!W||(Se=e.crc32)),!L&&ze>=v||!P&&be>=v)throw new w(li)}catch(e){throw e.outputSize!==re&&(t.size+=e.outputSize),e}}return(({crc32:e,compressedSize:t,uncompressedSize:r,Ft:n,Et:s},{zip64:a,zipCrypto:o,passThrough:c,dataDescriptor:d})=>{const{et:l,encrypted:u}=n,{bt:w,zt:f}=s;u&&!o&&!c||e===re||(Ii(l,10,e),d&&Ii(w,f,e)),a?d&&(Oi(w,f+4,i(t)),Oi(w,f+12,i(r))):(Ii(l,14,t),Ii(l,18,r),d&&(Ii(w,f+4,t),Ii(w,f+8,r)))})({crc32:Se,compressedSize:ze,uncompressedSize:be,Ft:d,Et:l},c),Z&&await Ei(t,T),r.assign(xe,{uncompressedSize:be,compressedSize:ze,lastModDate:h,rawLastModDate:m,creationDate:U,lastAccessDate:C,encrypted:y,zipCrypto:W,size:u+ze,compressionMethod:S,version:x,$e:f,et:p,signature:Se,crc32:!y||W||me?Se:re,ct:R,st:P,nt:L}),xe})(n,E,A,s,e.config,a),y||(z=!1),o.set(t,A),A.filename=t,y){if(await g.all([E.writable.getWriter().close(),x]),await k(),b=!0,F=c.size,await C(),A.diskNumberStart=bi(c),A.offset=Ri(e,c),h){const t=s.Dt;gi(s,e.offset-zi(c)),A.size+=s.Dt-t}(({rawFilename:e,encrypted:t,zip64:r,xt:n,crc32:s,compressedSize:a,uncompressedSize:o,st:c,nt:d},l,{dataDescriptor:u,passThrough:w})=>{if(u||((!t||w&&s!==re)&&Ii(l,14,s),d||Ii(l,18,a),c||Ii(l,22,o)),r&&n){const t=$+Ni(e)+4;Oi(l,t,i(o)),Oi(l,t+8,i(a))}})(A,p.gt,a),await Ei(c,p.yt),await(async(e,t,r)=>{const n=t.writable.getWriter();try{await e.pipeTo(new D({async write(e){var t;await n.ready,await n.write(e),t=Ni(e),T+=t}}),{preventClose:!0,preventAbort:!0,signal:r})}finally{n.releaseLock()}})(E.readable,c,u),c.size+=E.size,b=!1}else A.diskNumberStart=N,A.offset=_;return e.offset+=A.size,A}catch(r){if(b||z){if(e.hasCorruptedEntries=!0,r)try{r.corruptedEntry=!0}catch{}e.offset+=c.size-F,y&&(e.offset+=T)}throw o.delete(t),r}finally{if(y&&e.qe--,S&&S(),x&&x(),y&&E&&E.dispose)try{await E.dispose()}catch{}}async function k(){e.Rt=!0;const{At:t}=e;e.At=new g(t=>x=()=>{e.Rt=!1,t()}),await t}async function C(){Fi(c,Ni(p.yt))&&await c.closeDisk()}})(e,t,n,{Ft:y,Et:x,Dt:S},s)}catch(r){throw e.files.delete(t),r}return r.assign(p,{name:t,comment:l,extraField:u}),new Jn(p)})(s,e,t,n),c.add(l),await l}catch(t){throw u&&s.Ve.delete(e),t}finally{c.delete(l);const e=hi.shift();e?e():pi--}}remove(e){const{Ve:t,files:r}=this;if("string"==typeof e&&(e=r.get(e)),e&&e.filename!==re){const{filename:n}=e;if(t.has(n)&&r.has(n))return t.delete(n),r.delete(n),!0}return!1}async close(e=ae,r={}){const{je:n,writer:s}=this,{writable:a}=s;if(Ni(e)>U)throw new w(ni);for(;n.size;)await g.allSettled(t.from(n));return await(async(e,r,n)=>{const s=(e=>{let t=0;for(const[,r]of e){const{rawFilename:e,Ge:n,rawComment:s,Je:i,Qe:a,rawExtraField:o,extendedTimestamp:c,ct:d,lastModDate:l,st:u,nt:f,uncompressedSize:p,compressedSize:h}=r,m=r.offset>=v,y=r.diskNumberStart>=U;let g,x;if(m||y||u||f){const e=4+(u?8:0)+(f?8:0)+(m?8:0)+(y?4:0),t=Si(e);t.uint16(1),t.uint16(e-4),u&&t.ft(p),f&&t.ft(h),m&&t.ft(r.offset),y&&t.uint32(r.diskNumberStart),g=t.array}else g=ae;r.Ye=g,r.it=m,r.ot=y;const S=Ai(l);if(c&&Ti(S)){const e=Si(9);e.uint16(H),e.uint16(5),e.uint8(d),e.uint32(S),x=e.array}else x=ae;r.Xe=x;const b=Ni(g,n,i,a,x,o);if(b>U)throw new w(ii);t+=46+Ni(e,s)+b}return t})(e.files),a=await(async(e,r,n)=>{const{files:s,writer:i}=e,a=new f(r);await ot(i);let o=0,c=0,d=bi(i),l=zi(i);for(const[e,r]of t.from(s.values()).entries()){const{offset:t,rawFilename:u,Ye:w,Ge:f,Xe:p,Je:h,Qe:m,rawExtraField:y,rawComment:g,versionMadeBy:x,$e:S,et:b,st:z,nt:F,ot:R,it:E,internalFileAttributes:D,externalFileAttributes:A,diskNumberStart:T,uncompressedSize:k,compressedSize:C}=r,I=Ni(w,f,p,h,m,y),O=46+Ni(u,g)+I;Fi(i,o+O-c)&&(await Ei(i,a.slice(c,o)),c=o,await i.closeDisk()),0==e&&(d=bi(i),l=zi(i)),z||Ii(b,18,k),F||Ii(b,14,C),(E||R)&&45>r.version&&Ui(b,0,45);const M=Si(O);if(M.uint32(_),M.uint16(x),M.bytes(S.subarray(0,24)),M.uint16(I),M.uint16(Ni(g)),M.uint16(R?U:T),M.uint16(D),M.uint32(A),M.uint32(E?v:t),M.bytes(u),M.bytes(w),M.bytes(f),M.bytes(p),M.bytes(h),M.bytes(m),M.bytes(y),M.bytes(g),Mi(a,M.array,o),o+=O,n.onprogress)try{await n.onprogress(e+1,s.size,new Jn(r))}catch{}}return await Ei(i,c?a.slice(c):a),{diskNumber:d,diskOffset:l}})(e,s,n);await(async(e,t,r,n)=>{const{writer:s}=e,{Tt:a}=n;let{kt:o}=n,c=e.files.size,d=a.diskNumber,l=Ri(e,a),u=bi(s);Fi(s,Z)&&u++;let f=Ci(e,r,Nn);if(!(v>l&&v>o&&U>c&&U>u)){if(!1===f)throw new w(li);f=!0}const p=Ni(t);if(p>U)throw new w(ni);const h=Si(f?98:Z);Fi(s,Ni(h.array)+p)&&await s.closeDisk(),u=bi(s),f&&(h.uint32(L),h.ft(44),h.uint16(45),h.uint16(45),h.uint32(u),h.uint32(d),h.ft(c),h.ft(c),h.ft(o),h.ft(l),h.uint32(W),h.uint32(u),h.ft(i(Ri(e,s))+i(o)),h.uint32(u+1),Ci(e,r,"supportZip64SplitFile",!0)&&(u=U,d=U),c=U,l=v,o=v),h.uint32(P),h.uint16(u),h.uint16(d),h.uint16(c),h.uint16(c),h.uint32(o),h.uint32(l),h.uint16(p),await Ei(s,h.array),p&&await Ei(s,t)})(e,r,n,{Tt:a,kt:s})})(this,e,r),Ci(this,r,as)||await a.getWriter().close(),s.getData?s.getData():a}}function yi(e){if(!e)return ae;let t=0,r=0;e.forEach(e=>t+=4+Ni(e));const n=new f(t),s=fe(n);return e.forEach((e,t)=>{if(t>U)throw new w("Extra field type exceeds 65535");if(Ni(e)>U)throw new w(ii);Ui(s,r,t),Ui(s,r+2,Ni(e)),Mi(n,e,r+4),r+=4+Ni(e)}),n}function gi(e,t){const{Ft:r}=e;let{yt:n,extraFieldLength:s}=r,i=64-(t+Ni(n))%64;4>i&&(i+=64);const a=new f(i),o=fe(a);Ui(o,0,j),Ui(o,2,i-4);const c=n;r.yt=n=new f(Ni(c)+i),Mi(n,c),Mi(n,a,Ni(c));const d=fe(n);Ui(d,28,s+i),r.gt=d,e.Dt+=i}function xi(e){if(e===re)return ae;{const t=new f(4);fe(t).setUint32(0,e,!0);let r=4;for(;r>1&&0===t[r-1];)r--;return t.subarray(0,r)}}function Si(e){const t=new f(e),r=fe(t);let n=0;return{array:t,uint8:e=>{((e,t,r)=>{e.setUint8(t,r)})(r,n,e),n+=1},uint16:e=>{Ui(r,n,e),n+=2},uint32:e=>{Ii(r,n,e),n+=4},ft:e=>{Oi(r,n,i(e)),n+=8},bytes:e=>{Mi(t,e,n),n+=Ni(e)},ht:e=>n+=e}}function bi(e){const{diskNumber:t=0}=e;return t}function zi(e){const{diskOffset:t=0}=e;return t}function Fi(e,t){const{availableSize:r=ne}=e;return t>r}function Ri(e,{diskNumber:t=0,diskOffset:r=0}){return e.offset-r-(t?e.He:0)}async function Ei(e,t){const{writable:r}=e,n=r.getWriter();try{await n.ready,e.size+=Ni(t),await n.write(t)}finally{n.releaseLock()}}function Di(e){if(e){const t=(i(e.getTime())+i(116444736e5))*i(1e4);return ci>t?ci:t>di?di:t}}function Ai(e){return a.floor(e.getTime()/1e3)}function Ti(e){return e>=ai&&oi>=e}function ki(e){return a.min(oi,a.max(ai,e))}function Ci(e,t,r,n){const s=t[r]===re?e.options[r]:t[r];return s===re?n:s}function vi(e){return e+5*(a.floor(e/16383)+1)}function Ui(e,t,r){e.setUint16(t,r,!0)}function Ii(e,t,r){e.setUint32(t,r,!0)}function Oi(e,t,r){e.setBigUint64(t,r,!0)}function Mi(e,t,r){e.set(t,r)}function Ni(...e){let t=0;return e.forEach(e=>e&&(t+=e.length)),t}function _i({version:e,bitFlag:t,compressionMethod:r,uncompressedSize:n,compressedSize:s,lastModDate:i,rawLastModDate:a,rawFilename:o,nt:c,st:d,extraFieldLength:l}){const u=Si(26),w=u.array,f=fe(w);if(u.uint16(e),u.uint16(t),u.uint16(r),a===re){const e=new h(1),t=fe(e);Ui(t,0,(i.getHours()<<6|i.getMinutes())<<5|i.getSeconds()/2),Ui(t,2,(i.getFullYear()-1980<<4|i.getMonth()+1)<<5|i.getDate()),a=e[0]}return u.uint32(a),u.ht(4),c||s!==re?u.uint32(c?v:s):u.ht(4),d||n!==re?u.uint32(d?v:n):u.ht(4),u.uint16(Ni(o)),u.uint16(l),{$e:w,et:f,rawLastModDate:a}}function Pi(e,t,r,n,s){let i=0;return t&&(i|=Y),r&&(i|=8),8!=s&&9!=s||(0>e||e>3||(i|=6),e>3&&5>=e&&(i|=4),9==e&&(i|=2)),n&&(i|=1),i}const Li="Entry filename already exists",Wi=new d([1,V,10,H,28789,25461,j,q,K,22613,13]);class Zi{constructor(e,t,n,s){const i=this;if(e.root&&s&&s.getChildByName(t))throw new w(Li);n||(n={}),r.assign(i,{fs:e,name:t,data:n.data,options:n.options,id:e.Ct++,parent:s,children:[],uncompressedSize:n.uncompressedSize||0,passThrough:n.passThrough}),!s&&e.root||(e.entries[i.id]=i),s&&i.parent.children.push(i)}moveTo(e){this.fs.move(this,e)}getFullname(){return this.getRelativeName()}getRelativeName(e=this.fs.root){let t=this.name,r=this.parent;for(;r&&r!=e;)t=(r.name?r.name+"/":"")+t,r=r.parent;return t}isDescendantOf(e){let t=this.parent;for(;t&&t.id!=e.id;)t=t.parent;return!!t}rename(e){const t=this.parent;if(t&&t.getChildByName(e))throw new w(Li);this.name=e}}class Bi extends Zi{constructor(e,t,r,n){super(e,t,r,n);const s=this;s.Reader=r.Reader,s.Writer=r.Writer,r.getData&&(s.getData=r.getData)}clone(){return new Bi(this.fs,this.name,this)}async getData(e,t={}){const r=this;if(!e||e.constructor==r.Writer&&r.data)return r.data;{const n=r.reader=Yi(r.Reader,r.data,t),s=r.data?r.data.uncompressedSize:n.size;await g.all([ot(n),ot(e,s)]);const{readable:i}=n;return r.uncompressedSize=n.size,await i.pipeTo(e.writable),e.getData?e.getData():e.writable}}isPasswordProtected(){return!(!this.data||!this.data.encrypted)}async checkPassword(e,t={}){const n=this;if(!n.isPasswordProtected())return!0;try{return await n.data.getData(null,r.assign({},t,{password:e,checkPasswordOnly:!0})),!0}catch(e){if(e.message==Ct)return!1;throw e}}getText(e,t){return this.getData(new Ne(e),t)}getBlob(e,t){return this.getData(new Oe(e),t)}getData64URI(e,t){return this.getData(new Ce(e),t)}getUint8Array(e){return this.getData(new rt,e)}getWritable(e=new D,t){return this.getData({writable:e},t)}async getArrayBuffer(e){return we(await this.getUint8Array(e)).buffer}replaceBlob(e){r.assign(this,{data:e,Reader:Ie,Writer:Oe,reader:null})}replaceText(e){r.assign(this,{data:e,Reader:Me,Writer:Ne,reader:null})}replaceData64URI(e){r.assign(this,{data:e,Reader:ke,Writer:Ce,reader:null})}replaceUint8Array(e){r.assign(this,{data:e,Reader:tt,Writer:rt,reader:null})}replaceReadable(e){r.assign(this,{data:null,Reader:qi(e),Writer:null,reader:null})}}class Vi extends Zi{constructor(e,t,r,n){super(e,t,r,n),this.directory=!0}clone(e){const t=this,r=new Vi(t.fs,t.name,t);return e&&(r.children=t.children.map(t=>{const n=t.clone(e);return n.parent=r,n})),r}addDirectory(e,t){return ea(this,e,{options:t},!0)}addText(e,t,r={}){return ea(this,e,{data:t,Reader:Me,Writer:Ne,options:r,uncompressedSize:t.length})}addBlob(e,t,r={}){return ea(this,e,{data:t,Reader:Ie,Writer:Oe,options:r,uncompressedSize:t.size})}addData64URI(e,t,r={}){let n=t.length;for(;"="==t.charAt(n-1);)n--;const s=t.indexOf(",")+1;return ea(this,e,{data:t,Reader:ke,Writer:Ce,options:r,uncompressedSize:a.floor(.75*(n-s))})}addUint8Array(e,t,r={}){return ea(this,e,{data:t,Reader:tt,Writer:rt,options:r,uncompressedSize:t.length})}addHttpContent(e,t,r={}){return ea(this,e,{data:t,Reader:class extends et{constructor(e){super(e,r)}},options:r})}addReadable(e,t,r={}){return ea(this,e,{Reader:qi(t),options:r})}addFileSystemEntry(e,t={}){return Ji(this,e,t)}addFileSystemHandle(e,t={}){return Ji(this,e,t)}addFile(e,t={}){return(t=r.assign({},t)).lastModDate||(t.lastModDate=new o(e.lastModified)),ea(this,e.name,{data:e,Reader:()=>({readable:e.stream(),size:e.size}),options:t,uncompressedSize:e.size})}vt(e,t){return ea(this,e,t)}importBlob(e,t){return this.importZip(new Ie(e),t)}importData64URI(e,t){return this.importZip(new ke(e),t)}importUint8Array(e,t){return this.importZip(new tt(e),t)}importHttpContent(e,t){return this.importZip(new et(e,t),t)}importReadable(e,t){return this.importZip({readable:e},t)}exportBlob(e={}){return this.exportZip(new Oe(e.mimeType||"application/zip"),e)}exportData64URI(e={}){return this.exportZip(new Ce(e.mimeType||"application/zip"),e)}exportUint8Array(e={}){return this.exportZip(new rt,e)}async exportWritable(e=new D,t={}){return await this.exportZip({writable:e},t),e}exportFileSystemHandle(e,n={}){return(async(e,n,s)=>{const i=ji([e],"uncompressedSize"),a=new c;return await o(e,n),n;async function o(e,t){if(s.concurrent){const r=(await g.allSettled(e.children.map(e=>d(e,t)))).find(e=>"rejected"==e.status);if(r)throw r.reason}else for(const r of e.children)await d(r,t)}async function d(e,n){try{if(e.directory){const t=await n.getDirectoryHandle(e.name,{create:!0});await o(e,t)}else{const o=await n.getFileHandle(e.name,{create:!0}),c=await o.createWritable();await e.getData({writable:c},r.assign({},s,{onprogress:async r=>{if(s.onprogress){a.set(e.id,r);try{await s.onprogress(t.from(a.values()).reduce((e,t)=>e+t,0),i)}catch{}}}}))}}catch(t){throw new w(t.message+(e?" ("+e.name+")":""),{cause:t})}}})(this,e,n)}async importZip(e,t={}){await ot(e);const n=new ks(e,t),s=[],i=await n.getEntries();for(const e of i){let n=this;try{const i=e.filename.split("/"),a=i.pop();if(i.forEach(e=>{const t=n;if(n=n.getChildByName(e),n){if(!n.directory)throw new w(Li)}else n=new Vi(this.fs,e,{data:null},t),s.push(n)}),e.directory){let t=n;if(a)if(t=n.getChildByName(a),t){if(!t.directory)throw new w(Li)}else t=new Vi(this.fs,a,{data:null},n),s.push(t);t==this||t.data||(t.data=e)}else s.push(ea(n,a,{data:e,Reader:Ki(r.assign({},t)),uncompressedSize:e.uncompressedSize,passThrough:t.passThrough}))}catch(t){try{t.cause={entry:e}}catch{}throw t}}return s}async exportZip(e,n={}){const s=this;(n=r.assign({},n)).bufferedWrite===re&&(n.bufferedWrite=!0);const[i]=await g.all([Gi(s,n.readerOptions),ot(e)]),a=new mi(e,n);return await(async(e,n,s,i,a)=>{const o=n,d=new c;await async function e(n,l){async function u(l){const u=i.relativePath?l.getRelativeName(o):l.getFullname(),w=l.options||{};let f={};if(l.data instanceof Jn){const{externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,uncompressedSize:d,encrypted:u,zipCrypto:w,crc32:p,compressionMethod:h,extraFieldAES:m,internalFileAttributes:y,extraField:g,uid:x,gid:S}=l.data;f={externalFileAttributes:e,versionMadeBy:t,comment:n,lastModDate:s,creationDate:a,lastAccessDate:o,internalFileAttributes:y};const b=(e=>{if(e){const t=new c;if(e.forEach((e,r)=>{Wi.has(r)||t.set(r,e.data)}),t.size)return t}})(g);if(b&&(f.extraField=b),x===re&&S===re||r.assign(f,{uid:x,gid:S,unixExtraFieldType:i.unixExtraFieldType||"infozip"}),l.passThrough){let e,t;0===h&&(e=0),m&&(t=m.strength),f=r.assign(f,{passThrough:!0,encrypted:u,zipCrypto:w,crc32:p,uncompressedSize:d,level:e,encryptionStrength:t,compressionMethod:h})}}await n.add(u,a.get(l),r.assign({},i,f,w,{directory:l.directory,onprogress:async e=>{if(i.onprogress){d.set(u,e);try{await i.onprogress(t.from(d.values()).reduce((e,t)=>e+t),s)}catch{}}}})),await e(n,l)}await(async()=>{if(i.bufferedWrite){const e=(await g.allSettled(l.children.map(u))).find(e=>"rejected"==e.status);if(e)throw e.reason}else for(const e of l.children)await u(e)})()}(e,n)})(a,s,ji([s],"uncompressedSize"),n,i),await a.close(),e.getData?e.getData():e.writable}getChildByName(e){const t=this.children;for(let r=0;r<t.length;r++){const n=t[r];if(n.name==e)return n}}isPasswordProtected(){const e=this.children;for(let t=0;t<e.length;t++)if(e[t].isPasswordProtected())return!0;return!1}async checkPassword(e,t={}){const r=this.children;return!(await g.all(r.map(r=>r.checkPassword(e,t)))).includes(!1)}}const Hi={FS:class{constructor(){$i(this)}get children(){return this.root.children}remove(e){Xi(e);const t=[e];for(;t.length;){const e=t.pop();this.entries[e.id]=null;for(const r of e.children)t.push(r)}e.parent=re}move(e,t){if(e==this.root)throw new w("Root directory cannot be moved");if(!t.directory)throw new w("Target entry is not a directory");if(t.isDescendantOf(e))throw new w("Entry is a ancestor of target entry");if(e!=t){const r=t.getChildByName(e.name);if(r){if(r!=e)throw new w(Li)}else Xi(e),e.parent=t,t.children.push(e),((e,t)=>{const r=[t];for(;r.length;){const t=r.pop();e.entries[t.id]=t;for(const e of t.children)r.push(e)}})(this,e)}}find(e){const t=e.split("/");let r=this.root;for(let e=0;r&&e<t.length;e++)r=r.getChildByName(t[e]);return r||(r=this.entries.find(t=>t&&(t==this.root||t.isDescendantOf(this.root))&&t.getRelativeName()==e)),r}getById(e){return this.entries[e]}getChildByName(e){return this.root.getChildByName(e)}addDirectory(e,t){return this.root.addDirectory(e,t)}addText(e,t,r){return this.root.addText(e,t,r)}addBlob(e,t,r){return this.root.addBlob(e,t,r)}addData64URI(e,t,r){return this.root.addData64URI(e,t,r)}addUint8Array(e,t,r){return this.root.addUint8Array(e,t,r)}addHttpContent(e,t,r){return this.root.addHttpContent(e,t,r)}addReadable(e,t,r){return this.root.addReadable(e,t,r)}addFileSystemEntry(e,t){return this.root.addFileSystemEntry(e,t)}addFileSystemHandle(e,t){return this.root.addFileSystemHandle(e,t)}addFile(e,t){return this.root.addFile(e,t)}vt(e,t){return this.root.vt(e,t)}importBlob(e,t){return $i(this),this.root.importBlob(e,t)}importData64URI(e,t){return $i(this),this.root.importData64URI(e,t)}importUint8Array(e,t){return $i(this),this.root.importUint8Array(e,t)}importHttpContent(e,t){return $i(this),this.root.importHttpContent(e,t)}importReadable(e,t){return $i(this),this.root.importReadable(e,t)}importZip(e,t){return $i(this),this.root.importZip(e,t)}exportBlob(e){return this.root.exportBlob(e)}exportData64URI(e){return this.root.exportData64URI(e)}exportUint8Array(e){return this.root.exportUint8Array(e)}exportWritable(e,t){return this.root.exportWritable(e,t)}exportFileSystemHandle(e,t){return this.root.exportFileSystemHandle(e,t)}exportZip(e,t){return this.root.exportZip(e,t)}isPasswordProtected(){return this.root.isPasswordProtected()}checkPassword(e,t){return this.root.checkPassword(e,t)}},ZipDirectoryEntry:Vi,ZipFileEntry:Bi};function ji(e,r){let n=0;const s=t.from(e);for(;s.length;){const e=s.pop();n+=e[r]||0;for(const t of e.children)s.push(t)}return n}function qi(e){let t;return()=>{if(t)throw new w("Readable stream already consumed");return t=!0,{readable:e}}}function Ki(e){return class extends Ae{constructor(e,t={}){super(),this.entry=e,this.options=t}async init(){const t=this;t.size=t.entry.uncompressedSize;const n=await t.entry.getData(new Oe,r.assign({},e,t.options));t.data=n,t.Ut=new Ie(n),super.init()}readUint8Array(e,t){return this.Ut.readUint8Array(e,t)}}}function Yi(e,t,r){return e.prototype?new e(t,r):e(t,r)}async function Gi(e,t){const r=[],n=[e],s=new c;for(;n.length;){const e=n.pop();for(const t of e.children)t.directory?n.push(t):r.push(t)}return await g.all(r.map(async e=>{const r=e.reader=Yi(e.Reader,e.data,t);s.set(e,r);try{await ot(r)}catch(t){try{t.entryId=e.id,t.cause={entry:e}}catch{}throw t}r.size!==re&&(e.uncompressedSize=r.size)})),s}function Xi(e){if(e.parent){const t=e.parent.children;t.forEach((r,n)=>{r.id==e.id&&t.splice(n,1)})}}function Ji(e,t,n){return async function e(t,s,i){if(s)try{if((s.isFile||s.isDirectory)&&(s=await Qi(s)),"file"==s.kind){const e=await s.getFile();i.push(t.vt(e.name,{Reader:()=>({readable:e.stream(),size:e.size}),options:r.assign({},{lastModDate:new o(e.lastModified)},n),uncompressedSize:e.size}))}else if("directory"==s.kind){const r=t.addDirectory(s.name);i.push(r);for await(const t of s.values())await e(r,t,i)}}catch(e){const t=e.message+(s?" ("+s.name+")":"");throw new w(t,{cause:e})}return i}(e,t,[])}async function Qi(e){const t={name:e.name};if(e.isFile&&(t.kind="file",t.getFile=()=>new g((t,r)=>e.file(t,r))),e.isDirectory){t.kind="directory";const r=await(async e=>{const t=[];function r(e,n,s){e.readEntries(async i=>{if(i.length){for(const e of i)t.push(await Qi(e));r(e,n,s)}else n(t)},s)}return await new g((t,n)=>r(e.createReader(),t,n)),{[Symbol.iterator](){let e=0;return{next(){const r={value:t[e],done:e==t.length};return e++,r}}}}})(e);t.values=()=>r}return t}function $i(e){e.entries=[],e.Ct=0,e.root=new Vi(e)}function ea(e,t,r,n){if(e.directory)return n?new Vi(e.fs,t,r,e):new Bi(e.fs,t,r,e);throw new w("Parent entry is not a directory")}e.fs=Hi});
|